/* Tokens de design da Alpine — carregado antes de qualquer outro CSS */
:root{
 /* Cores da casca */
 --gallery-white:#F7F7F5;--paper:#ECEDEB;--veil:#D6D8DA;--mist:#B3B6BA;--stone:#6E7176;--graphite:#424549;--alpine-ink:#17181A;
 /* Famílias */
 --font-display:"Newsreader",Georgia,serif;
 --font-sans:"Libre Franklin","Helvetica Neue",Arial,sans-serif;

 /* Container e grid: 1370 px, margens 56 / 32 / 24, 12 colunas */
 --container-max:1370px;--gutter:56px;--grid-gap:32px;
 --container:min(var(--container-max),calc(100% - 2 * var(--gutter)));
 --container-edge:max(var(--gutter),calc((100% - var(--container-max)) / 2)); /* borda esquerda do container, para elementos posicionados */

 /* Espaço: escala de 8 px */
 --s-1:4px;--s-2:8px;--s-3:16px;--s-4:24px;--s-5:32px;--s-6:48px;--s-7:64px;--s-8:96px;--s-9:128px;--s-10:160px;
 /* Ritmo vertical */
 --section-y:128px;--section-y-lg:160px;--hero-top:128px;--hero-bottom:128px;--kicker-gap:24px;--lede-gap:32px;

 /* Filetes */
 --rule:1px solid var(--veil);--rule-strong:1px solid var(--mist);--rule-open:1px solid var(--alpine-ink);

 /* Hierarquia tipográfica (desktop → mobile) */
 --t-h1-ed:clamp(44px,calc(24px + 4.45vw),88px);    /* H1 editorial       88 → 44  Newsreader 350 */
 --t-h1:clamp(38px,calc(26px + 2.8vw),64px);        /* H1 institucional   64 → 38  Newsreader 350 */
 --t-projeto:clamp(32px,calc(16px + 2.6vw),52px);   /* Título de projeto  52 → 32  Libre Franklin 300 */
 --t-destaque:clamp(28px,calc(14px + 2.4vw),48px);  /* Frase de destaque  48 → 28  Libre Franklin 300 */
 --t-citacao:clamp(26px,calc(16px + 1.67vw),40px);  /* Citação            40 → 26  Newsreader 350 */
 --t-h2:clamp(26px,calc(18px + 1.25vw),36px);       /* H2                 36 → 26  Libre Franklin 500 */
 --t-artigo:clamp(22px,calc(16px + .9vw),28px);     /* Título de artigo   28 → 22  Libre Franklin 400 */
 --t-lede:clamp(18px,calc(15px + .5vw),22px);       /* Texto introdutório 22 → 18  Libre Franklin 300 */
 --t-h3:19px;--t-leitura:17px;--t-body:15px;--t-meta:12px;--t-kicker:11px;

 /* Nomes anteriores, mantidos por compatibilidade */
 --h1:var(--t-h1);--h2:var(--t-h2);--h3:var(--t-h3);--body:var(--t-body);--meta:var(--t-meta);--micro:var(--t-kicker);
 --lh-display:1.08;--lh-body:1.65;--ls-display:-0.015em;
}
/* Breakpoints de referência: 1040 (tablet) e 600 (mobile); 800 só para composição */
@media (max-width:1040px){:root{--gutter:32px;--section-y:96px;--section-y-lg:128px;--hero-top:96px;--hero-bottom:96px}}
@media (max-width:600px){:root{--gutter:24px;--grid-gap:20px;--section-y:80px;--section-y-lg:96px;--hero-top:64px;--hero-bottom:64px;--kicker-gap:16px;--lede-gap:24px;--t-h3:18px;--t-leitura:16px}}
