*{box-sizing:border-box}
html,body{margin:0;padding:0}
/* O design declara sticky no header (top:0) e na barra de filtros (top:76px), mas o
   overflow-x:hidden dele anula os dois: html vira container de rolagem. `clip` protege
   contra estouro horizontal do mesmo jeito, sem criar container. */
html,body{overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--ink-2)}
button{font-family:var(--font)}
input,select,textarea{font-family:var(--font)}
img,svg{display:block}

@media (prefers-reduced-motion: reduce){*{animation:none !important;transition:none !important}}

.container{max-width:1320px;margin:0 auto;padding:16px 16px 80px}

.eyebrow{font-size:14px;color:var(--ink-2)}
.eyebrow-dark{font-size:14px;color:var(--on-dark-2)}

.h1{margin:0;font-weight:500;line-height:1.05;letter-spacing:-0.03em}
.h2{margin:8px 0 0;font-size:clamp(28px,6vw,52px);font-weight:500;letter-spacing:-0.02em}
.h2--48{font-size:clamp(28px,6vw,48px)}
.h2--44{font-size:clamp(26px,5.5vw,44px)}
.h2--34{font-size:clamp(24px,5vw,34px)}
.h2--30{font-size:clamp(22px,5vw,30px)}
.h2--flush{margin:0}
.h3{margin:0;font-size:clamp(26px,5.5vw,40px);font-weight:500;letter-spacing:-0.02em}
.h3--32{font-size:clamp(24px,5vw,32px)}

.lead{margin:0;font-size:clamp(15px,3.6vw,18px);line-height:1.55;color:var(--ink-2)}
.lead-dark{margin:0;font-size:clamp(15px,3.6vw,18px);line-height:1.55;color:var(--on-dark)}
.body-txt{margin:0;font-size:16px;line-height:1.55;color:var(--ink-2)}

.secao{margin-top:clamp(56px,8vw,120px)}
.secao--110{margin-top:clamp(56px,8vw,110px)}
.secao--100{margin-top:clamp(56px,8vw,100px)}

.linha-topo{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
