/* Tipografia Alpine — hierarquia aplicada a todas as páginas.
   O CSS de cada página está na camada "page"; este arquivo fica fora de camada e por isso prevalece.
   Regras: Newsreader 350 no H1 (institucional ou editorial), em uma citação por página e, na Home, na frase-conceito;
   todo o resto em Libre Franklin; nenhum texto abaixo de 11 px. Tokens em tokens.css. */

/* Títulos */
h1{font-family:var(--font-display);font-weight:350;font-style:normal;font-size:var(--t-h1);line-height:1.08;letter-spacing:-.015em}
h1.h1-editorial{font-size:var(--t-h1-ed);line-height:1.02;letter-spacing:-.022em}
h2{font-family:var(--font-sans);font-weight:300;font-size:var(--t-h2);line-height:1.15;letter-spacing:-.01em}
h3{font-family:var(--font-sans);font-weight:500;font-size:var(--t-h3);line-height:1.35;letter-spacing:0}
h2 i,h2 em{font-style:normal;font-weight:300}
/* Hifenização só no mobile e só em palavras longas (12+ letras, 5 antes e 5 depois do hífen):
   evita overflow em 320 px sem partir palavras curtas como "deci-são". Títulos com linhas balanceadas. */
h1,h2{-webkit-hyphens:manual;hyphens:manual}
@media (max-width:600px){h1,h2{-webkit-hyphens:auto;hyphens:auto;hyphenate-limit-chars:12 5 5;text-wrap:balance}}
/* H2 usados como rótulo de interface (painel, índices, documentos, artigo): tamanho de H3 */
.blockhead h2,.index-head h2,.ct-topic h2,.doc-sec h2,.reading h2{font-size:var(--t-h3);line-height:1.4}
/* Signal, 12 Oct 2026 (pedido de Aidan): títulos de seção em peso 300, como os títulos do filme da Home e o texto ao redor; os títulos pequenos abaixo continuam em 500 */
.blockhead h2,.index-head h2,.ct-topic h2,.doc-sec h2,.reading h2,.side h2{font-weight:500}
.side h2{font-size:var(--t-kicker);font-weight:500;letter-spacing:.16em}

/* Corpo */
main p{font-size:var(--t-body);line-height:var(--lh-body)}
.reading,.reading p{font-family:var(--font-sans);font-size:var(--t-leitura);line-height:1.7}

/* Citação: uma por página, em Newsreader */
.quote-block,.tech-quote,.reading blockquote{font-family:var(--font-display);font-weight:350;font-size:var(--t-citacao);line-height:1.25;letter-spacing:-.015em}

/* Frase de destaque: Libre Franklin 300, acima do H2 */
.accent,.tech-band .lead,.narrative p:not(.kicker),.casebody .copy,.ct-big,.statement h2{font-family:var(--font-sans);font-weight:300;font-size:var(--t-destaque);line-height:1.18;letter-spacing:-.015em}
/* Texto introdutório */
.hero-lede,.section .lead,.essence-intro,.devp-feature-lead,.hero p.lead,.hero div.lead,.intro,.in-lead,.article-sub,.tech-statement,.closing-lede{font-family:var(--font-sans);font-weight:300;font-size:var(--t-lede);line-height:1.5;letter-spacing:0}
/* Título de projeto */
.devp-feature h2{font-family:var(--font-sans);font-weight:300;font-size:var(--t-projeto);line-height:1.04;letter-spacing:-.02em}
/* Título de artigo */
.publication h3{font-family:var(--font-sans);font-weight:400;font-size:var(--t-artigo);line-height:1.25;letter-spacing:-.005em;color:var(--alpine-ink)}
/* Nomes em listas, rótulos de classe, números e links grandes */
.study strong,.asset span{font-family:var(--font-sans);font-weight:500;font-size:var(--t-h3);line-height:1.35;letter-spacing:0}
.numbers .number,.metric .big{font-family:var(--font-sans);font-weight:300;font-size:var(--t-h2);line-height:1.1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.endlinks a{font-family:var(--font-sans);font-weight:400;font-size:var(--t-lede);letter-spacing:0}
.endlinks a span{font-family:var(--font-sans);font-size:inherit}

/* Kicker: um estilo único — 11 px, 400, +0,16em, caixa alta, Graphite */
.eyebrow,.in-eyebrow,.kicker,.section-number,#ending .label{font-family:var(--font-sans);font-size:var(--t-kicker);font-weight:400;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:var(--graphite)}
.section-number span{color:var(--graphite);padding-left:12px}
/* Microtipografia: 11 px Graphite */
.principle .num,.chapter-nav a,.chapter-nav span,.devp-dot,.devp-facts span,.devp-photo-credit,.tag{font-size:var(--t-kicker);color:var(--graphite)}
.chapter-nav span{color:var(--stone)}
.devp-photo-credit{color:var(--gallery-white)}
/* Notas e metadados */
.fine,.number-desc{font-size:var(--t-kicker);line-height:1.7;color:var(--graphite)}
.hint,.note,.margin-note,.tiny,.devp-note,.note-privacy,.doc-draft,.stub,.help,.status,.hero .aside p{font-size:var(--t-meta)}

/* Home: filme (capítulos) e fecho */
#cinema .beat .eyebrow{color:rgba(247,247,245,.8);font-size:var(--t-kicker);font-weight:400;letter-spacing:.16em;line-height:1.6}
#cinema .beat h1{font-size:clamp(40px,5.5vw,72px);line-height:1.08;letter-spacing:-.015em}
#cinema .beat h2{font-family:var(--font-sans);font-weight:300;font-size:clamp(32px,calc(14px + 3.2vw),60px);line-height:1.12;letter-spacing:-.015em}
#cinema .beat p{font-size:var(--t-h3);line-height:1.55;font-weight:300}
#cinema .beat .method{font-size:var(--t-body);line-height:var(--lh-body)}
#ending h2{font-family:var(--font-display);font-weight:350;font-size:var(--t-h1);line-height:1.04;letter-spacing:-.018em}

/* Signal, 12 Oct 2026 (pedido de Aidan): mesmo espaço abaixo dos títulos de seção em todas as páginas (antes 64, 54, 48, 40, 33, 32 e 8 px). Só desktop; telas menores ficam como estavam. */
@media (min-width:851px){
 main .section-title,main .section h2,main .founder h2,main .devp-feature h2,main .portal-entry .formbox h2{margin-bottom:40px}
 main .section h2+.lead{margin-top:0}
 main .cs-results-head h2{margin-bottom:0}
 main .ct-form-panel h2{margin-bottom:16px}
}
