/* Base — typography, layout primitives, buttons, section rhythm. Mobile-first. */
body{background:var(--bg);color:var(--ink);font:400 16px/1.6 var(--f-body)}
img{width:100%;height:100%;object-fit:cover}
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}

/* type helpers */
.mono{font-family:var(--f-mono);font-size:12px;letter-spacing:0.14em;text-transform:uppercase}
.display{font-family:var(--f-display);letter-spacing:-0.03em}
.kicker{display:block;color:var(--accent-deep);margin-bottom:14px}

/* section band utilities */
.band-gray{background:var(--gray)}
.band-blue{background:var(--blue)}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;font-weight:600;font-size:15px;padding:13px 24px;transition:transform .15s,box-shadow .15s,background .15s;cursor:pointer}
.btn:hover{transform:translateY(-1px)}
.btn-accent{background:var(--accent);color:#F4F8FD}
.btn-accent:hover{background:var(--accent-deep)}
.btn-ghost{border:1.5px solid rgba(255,255,255,0.55);color:#FFF}
.btn-ghost:hover{background:rgba(255,255,255,0.14)}
.btn-outline{border:1.5px solid var(--ink);color:var(--ink)}
.btn-outline:hover{background:var(--ink);color:#F3F5F8}
.btn-wa{background:var(--wa);color:#F2FBF5}
.btn-wa:hover{background:#178C43}
.btn .wa-ic{width:18px;height:18px;flex:none}
.arrow{font-family:var(--f-body);font-weight:500}

/* shared section header + card primitives (used by many section blocks) */
.sec-head{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:32px}
.sec-head h2{font-family:var(--f-display);font-weight:700;font-size:clamp(30px,5vw,44px);letter-spacing:-0.03em;line-height:1.04;color:var(--ink)}
.sec-head .aside{max-width:400px;color:var(--muted);font-size:15.5px;line-height:1.6}
.sec-head .aside a{color:var(--accent-deep);font-weight:500;border-bottom:1px solid currentColor}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md)}

/* section rhythm */
.sec{padding:56px 0}

/* Section blocks placed inside a core Column fill it cleanly (no double container). */
.wp-block-column .container{max-width:none;padding-left:0;padding-right:0}
.wp-block-column>section{padding-top:0;padding-bottom:0}
.wp-block-column>section+section{padding-top:40px}

/* Single-post author box + post navigation */
.author-box{border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.author-box .wp-block-post-author-biography{color:var(--muted);margin-top:4px}
.post-nav a{color:var(--accent-deep);font-weight:500}
.post-nav .wp-block-post-navigation-link{max-width:46%}
