/* ==========================================================================
   GrowAI · site institucional v4 · sistema Radar de Foco
   Fonte da verdade: ~/Dev/branding-growai (SKILL.md, brand-book.html, cap. 26 a 29).
   Lei da casa: noite para o radar, dia para a leitura. Um ponto de foco por dobra.
   Tipografia: Newsreader (títulos) · Hanken Grotesk (texto) · IBM Plex Mono (números, rótulos).
   Documentação de uso para quem constrói páginas: /_partials.md
   Índice
     0  fontes locais            8  foto, faixa de foto, legenda
     1  tokens                   9  componentes de conteúdo
     2  campos noite/dia         10 componentes da marca
     3  cores de linha           11 formulário
     4  base                     12 FAQ (acordeão)
     5  seção, grade             13 cabeçalho e menu
     6  cabeçalho de seção       14 rodapé
     7  hero e blocos da home    15 movimento · 16 responsivo · 17 reduzido e impressão
   ========================================================================== */

/* --------------------------------------------------------------------------
   0. FONTES LOCAIS (woff2 variáveis; sem Google Fonts em tempo de execução)
   -------------------------------------------------------------------------- */
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(/assets/fonts/newsreader-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:normal;font-weight:400 600;font-display:swap;
  src:url(/assets/fonts/newsreader-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400 500;font-display:swap;
  src:url(/assets/fonts/newsreader-italic-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400 500;font-display:swap;
  src:url(/assets/fonts/newsreader-italic-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/hanken-grotesk-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Hanken Grotesk";font-style:normal;font-weight:400 700;font-display:swap;
  src:url(/assets/fonts/hanken-grotesk-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/ibm-plex-mono-400-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;
  src:url(/assets/fonts/ibm-plex-mono-400-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/ibm-plex-mono-500-latin.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:500;font-display:swap;
  src:url(/assets/fonts/ibm-plex-mono-500-latin-ext.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* --------------------------------------------------------------------------
   1. TOKENS (os mesmos nomes do brand book; nenhum hex solto nos componentes)
   -------------------------------------------------------------------------- */
:root{
  --foco:#FF6A1A;--foco-hover:#FF7D36;--foco-press:#F25E10;--foco-titulo-dia:#D9530C;--foco-txt:#B33E0A;--foco-noite:#FF8A4C;--foco-btn-txt:#170A02;
  --foco-suave:#FFF1E8;--foco-suave-noite:#22160F;

  --noite:#0B0D12;--noite-2:#141821;--noite-3:#1B2130;--noite-linha:#232936;--noite-linha-2:#2E3545;
  --noite-txt:#EEF1F5;--noite-corpo:#CBD2DC;--noite-apoio:#9AA3B2;
  --dia:#FFFFFF;--dia-2:#F6F7F8;--dia-3:#EEF0F3;--dia-linha:#E4E7EB;--dia-linha-2:#D3D8DE;
  --dia-txt:#0C0F14;--dia-corpo:#272D36;--dia-apoio:#4A525E;

  --edu:#D63A7A;--edu-txt:#A82259;--edu-bg:#FCEAF2;--edu-noite:#FF8DB8;
  --str:#2F5BEA;--str-txt:#1E3FB8;--str-bg:#EAF0FF;--str-noite:#8FA8FF;
  --age:#12A877;--age-txt:#0B7A56;--age-bg:#E5F7EF;--age-noite:#3DDC9F;

  --bom:#0B7A56;--atencao:#B54708;--critico:#B42318;
  --bom-noite:#3DDC9F;--atencao-noite:#FDB022;--critico-noite:#FF8A80;

  --ff-display:"Newsreader",Georgia,"Times New Roman",serif;
  --ff-texto:"Hanken Grotesk",Arial,Helvetica,sans-serif;
  --ff-mono:"IBM Plex Mono","Courier New",ui-monospace,monospace;

  --t-mega:clamp(96px,17vw,260px);
  --t-hero:clamp(44px,6.4vw,104px);
  --t-d1:clamp(40px,5.6vw,92px);
  --t-d2:clamp(34px,4.4vw,64px);
  --t-d3:clamp(26px,3vw,42px);
  --t-h4:clamp(21px,1.9vw,26px);
  --t-h5:19px;
  --t-lead:clamp(19px,1.55vw,23px);
  --t-corpo:18px;--t-peq:15.5px;--t-micro:13.5px;--t-rot:11.5px;
  --lh-corpo:1.6;--ls-display:-.02em;--ls-rot:.13em;

  --e-1:4px;--e-2:8px;--e-3:12px;--e-4:16px;--e-5:24px;--e-6:32px;--e-7:48px;--e-8:64px;--e-9:96px;--e-10:128px;--e-11:192px;
  --pad-sec:clamp(80px,10vw,160px);
  --largura:1240px;--largura-larga:1480px;--largura-texto:720px;
  --margem:clamp(16px,4.4vw,72px);--calha:clamp(16px,2vw,32px);
  --topo-h:64px;

  --r-1:4px;--r-2:8px;--r-3:12px;--r-4:16px;--r-5:24px;--r-pilula:999px;
  --sombra-1:0 1px 2px rgba(11,13,18,.06);
  --sombra-2:0 1px 0 rgba(11,13,18,.04),0 12px 32px -16px rgba(11,13,18,.28);
  --sombra-3:0 2px 4px rgba(11,13,18,.05),0 36px 72px -36px rgba(11,13,18,.5);

  --curva-foco:cubic-bezier(.22,1,.36,1);--curva-entrada:cubic-bezier(.16,1,.3,1);--curva-padrao:cubic-bezier(.4,0,.2,1);
  --d-rapida:160ms;--d-media:320ms;--d-lenta:640ms;

  /* cor de linha: neutra na marca-mãe; [data-linha] troca (seção 3) */
  --linha:var(--dia-txt);--linha-txt:var(--dia-txt);--linha-bg:var(--dia-2);--linha-noite:var(--noite-txt);--linha-cor:var(--linha-txt);
  color-scheme:light;
}

/* --------------------------------------------------------------------------
   2. CAMPOS · todo componente lê --f-* e funciona na noite e no dia
   -------------------------------------------------------------------------- */
body,.campo-dia,.campo-dia-2{
  --f-fundo:var(--dia);--f-sup:var(--dia-2);--f-sup2:var(--dia-3);--f-linha:var(--dia-linha);--f-linha-2:var(--dia-linha-2);
  --f-titulo:var(--dia-txt);--f-texto:var(--dia-corpo);--f-apoio:var(--dia-apoio);
  --f-foco:var(--foco-txt);--f-foco-titulo:var(--foco-titulo-dia);--f-foco-suave:var(--foco-suave);
  --f-bom:var(--bom);--f-atencao:var(--atencao);--f-critico:var(--critico);
  --f-sombra:var(--sombra-2);--linha-cor:var(--linha-txt);
  color-scheme:light;
}
.campo-dia-2{--f-fundo:var(--dia-2);--f-sup:var(--dia);--f-sup2:var(--dia-3)}
.campo-noite{
  --f-fundo:var(--noite);--f-sup:var(--noite-2);--f-sup2:var(--noite-3);--f-linha:var(--noite-linha);--f-linha-2:var(--noite-linha-2);
  --f-titulo:var(--noite-txt);--f-texto:var(--noite-corpo);--f-apoio:var(--noite-apoio);
  --f-foco:var(--foco-noite);--f-foco-titulo:var(--foco);--f-foco-suave:var(--foco-suave-noite);
  --f-bom:var(--bom-noite);--f-atencao:var(--atencao-noite);--f-critico:var(--critico-noite);
  --f-sombra:0 0 0 1px var(--noite-linha);--linha-cor:var(--linha-noite);
  color-scheme:dark;
}
.campo-dia,.campo-dia-2,.campo-noite{background:var(--f-fundo);color:var(--f-texto)}

/* --------------------------------------------------------------------------
   3. CORES DE LINHA · <body data-linha="strategy"> ou em qualquer bloco
   --linha (área: faixa, selo, ícone, gráfico) · --linha-cor (palavra, já certa
   para o campo: -txt no dia, -noite na noite) · --linha-bg (fundo claro)
   -------------------------------------------------------------------------- */
[data-linha="educacao"]{--linha:var(--edu);--linha-txt:var(--edu-txt);--linha-bg:var(--edu-bg);--linha-noite:var(--edu-noite)}
[data-linha="strategy"]{--linha:var(--str);--linha-txt:var(--str-txt);--linha-bg:var(--str-bg);--linha-noite:var(--str-noite)}
[data-linha="agentes"]{--linha:var(--age);--linha-txt:var(--age-txt);--linha-bg:var(--age-bg);--linha-noite:var(--age-noite)}
[data-linha]{--linha-cor:var(--linha-txt)}
.campo-noite[data-linha],.campo-noite [data-linha]{--linha-cor:var(--linha-noite)}
[data-linha] .campo-dia,[data-linha] .campo-dia-2{--linha-cor:var(--linha-txt)}
[data-linha] .campo-noite{--linha-cor:var(--linha-noite)}
.cor-linha{color:var(--linha-cor)}
.fundo-linha{background:var(--linha)}
.fundo-linha-claro{background:var(--linha-bg)}

/* --------------------------------------------------------------------------
   4. BASE
   -------------------------------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--topo-h) + 16px)}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
body{margin:0;background:var(--dia);color:var(--dia-corpo);font-family:var(--ff-texto);font-size:var(--t-corpo);line-height:var(--lh-corpo);
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body.menu-aberto{overflow:hidden}
img,svg,canvas,video{max-width:100%;display:block}
img{height:auto}
a{color:var(--f-foco);text-underline-offset:.2em;text-decoration-thickness:1px;transition:color var(--d-rapida) var(--curva-padrao)}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--f-foco);outline-offset:3px;border-radius:3px}
::selection{background:#FFD9C2;color:#0C0F14}
h1,h2,h3,h4,h5,h6{font-family:var(--ff-display);font-optical-sizing:auto;color:var(--f-titulo);margin:0;font-weight:500;
  letter-spacing:-.012em;line-height:1.08;text-wrap:balance;font-variant-numeric:lining-nums}
/* o itálico do foco: Newsreader Italic. Laranja só com .em-foco no título (um por dobra).
   Sem a classe, o itálico fica na cor do título: é o padrão seguro quando a dobra já tem botão, radar ou número laranja. */
h1 em,h2 em,h3 em,h4 em,.display em,.frase em{font-style:italic;color:inherit;font-weight:inherit}
.em-foco em{color:var(--f-foco-titulo)}
h4.em-foco em,h5.em-foco em,.peq.em-foco em{color:var(--f-foco)} /* abaixo de 24 px no dia: #B33E0A */
p{margin:0;text-wrap:pretty}
p,li{max-width:68ch}
ul,ol{margin:0;padding:0}
strong,b{font-weight:600;color:var(--f-titulo)}
small{font-size:.86em}
hr,.fio{border:0;height:1px;background:var(--f-linha);margin:0}
code,kbd{font-family:var(--ff-mono);font-size:.84em;background:var(--f-sup2);padding:.1em .4em;border-radius:var(--r-1);color:var(--f-titulo);overflow-wrap:anywhere}
.mono{font-family:var(--ff-mono)}
.vg{margin-inline:-.2em} /* vírgula decimal em número grande de Plex Mono */
.num{font-family:var(--ff-mono);font-variant-numeric:tabular-nums lining-nums}
.display{font-family:var(--ff-display);font-optical-sizing:auto;font-weight:400;letter-spacing:var(--ls-display);line-height:1;color:var(--f-titulo)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.pular{position:fixed;left:16px;top:-80px;z-index:300;padding:12px 16px;background:var(--dia-txt);color:#fff;border-radius:var(--r-2);font-size:16px;text-decoration:none;transition:top var(--d-rapida)}
.pular:focus{top:16px}
.apoio{color:var(--f-apoio)}.peq{font-size:var(--t-peq)}.micro{font-size:var(--t-micro)}
.titulo-cor{color:var(--f-titulo)}
.foco-cor{color:var(--f-foco)}
[hidden]{display:none!important}

/* rótulo mono em caixa alta */
.rot{font-family:var(--ff-mono);font-size:var(--t-rot);letter-spacing:var(--ls-rot);text-transform:uppercase;color:var(--f-apoio);font-weight:500;line-height:1.4;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;max-width:none}
.rot.ponto::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.rot.ponto.foco::before{background:var(--foco)}
.rot .n{color:var(--f-titulo)}
.rot.linha{color:var(--linha-cor)}
.rot.linha::before{background:var(--linha)}
.lead{font-size:var(--t-lead);line-height:1.5;color:var(--f-apoio);max-width:52ch}
.campo-noite .lead{color:var(--noite-corpo)}
.frase{font-family:var(--ff-display);font-weight:400;font-size:var(--t-d3);line-height:1.12;letter-spacing:-.015em;color:var(--f-titulo);max-width:26ch;text-wrap:balance}

/* --------------------------------------------------------------------------
   5. SEÇÃO, CONTÊINERES E GRADE
   -------------------------------------------------------------------------- */
main{display:block}
.sec{position:relative;background:var(--f-fundo);color:var(--f-texto);padding-inline:var(--margem);padding-block:var(--pad-sec)}
.sec.compacta{padding-block:clamp(56px,7vw,96px)}
.sec.sem-topo{padding-top:0}
.sec.sem-base{padding-bottom:0}
.sec.campo-dia+.sec.campo-dia{border-top:1px solid var(--dia-linha)}
.in{max-width:var(--largura);margin-inline:auto;width:100%}
.in-largo{max-width:var(--largura-larga);margin-inline:auto;width:100%}
.in-texto{max-width:var(--largura-texto);margin-inline:auto;width:100%}
.g12{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-6)}
.g12>*{min-width:0;grid-column:1/-1}
.g12>.c-3{grid-column:auto/span 3}.g12>.c-4{grid-column:auto/span 4}.g12>.c-5{grid-column:auto/span 5}.g12>.c-6{grid-column:auto/span 6}
.g12>.c-7{grid-column:auto/span 7}.g12>.c-8{grid-column:auto/span 8}.g12>.c-9{grid-column:auto/span 9}
.g12>.de-2{grid-column-start:2}.g12>.de-5{grid-column-start:5}.g12>.de-6{grid-column-start:6}.g12>.de-7{grid-column-start:7}.g12>.de-8{grid-column-start:8}.g12>.de-9{grid-column-start:9}
.g12>.meio{align-self:center}.g12>.fim{align-self:end}
.g2,.g3,.g4{display:grid;gap:var(--calha)}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.g2>*,.g3>*,.g4>*{min-width:0}
.pilha{display:grid;gap:var(--e-4);align-content:start}
.pilha-g{display:grid;gap:var(--e-6);align-content:start}
.linha-flex{display:flex;flex-wrap:wrap;gap:var(--e-3);align-items:center}
.espaco{height:clamp(56px,7vw,104px)}
.sangria{margin-inline:calc(-1 * var(--margem));position:relative}
/* textura de pontos (grafismo do cap. 16): use em seção noite ou dia */
.grade-pontos{position:absolute;inset:0;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle,var(--f-linha-2) 1px,transparent 1.5px);background-size:24px 24px;
  -webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 20%,transparent 75%)}
.sec>.in,.sec>.in-largo,.sec>.in-texto{position:relative;z-index:1}

/* --------------------------------------------------------------------------
   6. CABEÇALHO DE SEÇÃO
   -------------------------------------------------------------------------- */
.cab{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-5);margin-bottom:clamp(48px,6vw,88px)}
.cab.outros-fecha{margin-bottom:0;align-items:end}
.cab>*{min-width:0}
.cab .rot{grid-column:1/-1}
.cab h2{grid-column:1/span 8;font-size:var(--t-d2);font-weight:400;line-height:1.02;letter-spacing:var(--ls-display)}
.cab .lead{grid-column:9/span 4;align-self:end}
.cab.empilhada h2{grid-column:1/span 10}
.cab.empilhada .lead{grid-column:1/span 7;align-self:start}
.cab.centro{text-align:center;justify-items:center}
.cab.centro h2,.cab.centro .lead,.cab.centro .rot{grid-column:2/span 10;justify-content:center;margin-inline:auto}
.t-d1{font-size:var(--t-d1);font-weight:400;line-height:.98;letter-spacing:var(--ls-display)}
.t-d2{font-size:var(--t-d2);font-weight:400;line-height:1.02;letter-spacing:var(--ls-display)}
.t-d3{font-size:var(--t-d3);font-weight:400;line-height:1.1;letter-spacing:-.015em}
.t-h4{font-size:var(--t-h4);font-weight:500;line-height:1.18}

/* --------------------------------------------------------------------------
   7. HERO E BLOCOS DA HOME (reutilizáveis nas outras páginas)
   -------------------------------------------------------------------------- */
/* hero noite com radar · .hero > .in-largo > .hero-texto + .hero-radar */
.hero{position:relative;overflow:hidden;isolation:isolate;padding-inline:var(--margem);
  padding-top:calc(var(--topo-h) + clamp(40px,6vw,88px));padding-bottom:clamp(48px,6vw,80px);
  min-height:min(100svh,1000px);display:grid;align-content:center}
.hero>.in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-6);align-items:center;position:relative;z-index:1}
.hero-texto{grid-column:1/span 7;display:grid;gap:var(--e-5);align-content:center;min-width:0}
.hero-texto h1{font-size:var(--t-hero);font-weight:400;line-height:.98;letter-spacing:-.025em;max-width:13ch}
.hero-texto .lead{max-width:44ch;color:var(--noite-corpo)}
.hero-acoes{display:flex;flex-wrap:wrap;gap:var(--e-3) var(--e-4);align-items:center;margin-top:var(--e-2)}
.hero-nota{font-size:var(--t-micro);color:var(--f-apoio);display:flex;gap:6px 14px;flex-wrap:wrap}
.hero-nota span{display:inline-flex;align-items:center;gap:6px}
.hero-nota span+span::before{content:"";width:3px;height:3px;border-radius:50%;background:var(--f-apoio);margin-right:8px}
.hero-radar{grid-column:8/-1;position:relative;width:100%;max-width:600px;justify-self:end;min-width:0}
.hero-radar .radar-box{max-width:none}
.hero-recusa{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--e-3) var(--e-6);
  padding-top:var(--e-5);margin-top:clamp(24px,4vw,56px);border-top:1px solid var(--f-linha)}
.hero-recusa .frase{font-size:clamp(19px,1.6vw,22px);max-width:none}
.hero-fontes{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.hero-fontes b{font-weight:500;color:var(--f-titulo);letter-spacing:.12em}
.hero-fontes span{display:inline-flex;align-items:center;gap:8px}
.hero-fontes span::before{content:"";width:5px;height:5px;border-radius:50%;background:var(--noite-linha-2)}
.hero-fontes span.aceso::before{background:var(--f-apoio)}

/* abertura de página interna (noite ou dia) · .abre > .in > .rot + h1 + .lead */
.abre{position:relative;overflow:hidden;isolation:isolate;padding-inline:var(--margem);
  padding-top:calc(var(--topo-h) + clamp(56px,8vw,128px));padding-bottom:clamp(56px,7vw,112px)}
.abre .in,.abre .in-largo{display:grid;gap:var(--e-5);position:relative;z-index:1}
.abre h1{font-size:var(--t-d1);font-weight:400;line-height:.98;letter-spacing:var(--ls-display);max-width:16ch}
.abre .lead{max-width:56ch}
.abre.com-faixa::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--linha);z-index:2}
.abre-grade{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-6);align-items:end}
.abre-grade>*{min-width:0}
.abre-grade>.abre-texto{grid-column:1/span 7;display:grid;gap:var(--e-5)}
.abre-grade>.abre-visual{grid-column:8/-1}

/* números grandes (o caos em número) · .numeros > .numero */
.numeros{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--f-titulo)}
.numero{display:grid;gap:var(--e-3);align-content:start;padding:var(--e-5) var(--e-5) var(--e-5) 0;min-width:0}
.numero+.numero{border-left:1px solid var(--f-linha);padding-left:var(--e-5)}
.numero .v{font-family:var(--ff-mono);font-weight:400;font-size:clamp(56px,7vw,112px);line-height:.9;letter-spacing:-.04em;color:var(--f-titulo);font-variant-numeric:tabular-nums lining-nums}
.numero p{font-size:16.5px;color:var(--f-apoio);max-width:24ch}
.numero.foco .v{color:var(--f-foco-titulo)}

/* duas portas (foto + frase) */
.portas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--calha)}
.porta{display:grid;gap:var(--e-5);align-content:start;min-width:0}
.porta .foto{--prop:4/5}
.porta h3{font-size:var(--t-d3);font-weight:400;line-height:1.08;letter-spacing:-.015em}
.porta .entrega{display:grid;gap:6px;padding-top:var(--e-4);border-top:1px solid var(--f-linha)}
.porta .entrega b{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);font-weight:500}
.porta:nth-child(2){margin-top:clamp(0px,9vw,140px)}

/* o caminho das três linhas (escada aprender → organizar → escalar) */
.caminho{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--calha);--degrau:clamp(48px,7vw,112px)}
.caminho-trilho{position:absolute;inset:0;pointer-events:none;z-index:0;overflow:visible}
.estacao{position:relative;z-index:1;display:grid;gap:var(--e-4);align-content:start;min-width:0}
.estacao:nth-of-type(1){margin-top:calc(var(--degrau) * 2)}
.estacao:nth-of-type(2){margin-top:var(--degrau)}
.estacao:nth-of-type(3){margin-top:0}
.estacao-topo{display:flex;align-items:center;gap:12px;padding-bottom:var(--e-4);border-bottom:2px solid var(--linha)}
.estacao-ponto{width:14px;height:14px;border-radius:50%;background:var(--linha);box-shadow:0 0 0 5px var(--f-fundo),0 0 0 6px var(--linha);flex:none}
.estacao-topo .rot{color:var(--linha-cor)}
.estacao .foto{--prop:4/3;border-radius:var(--r-3)}
.estacao h3{font-size:clamp(26px,2.4vw,34px);font-weight:400;line-height:1.05;letter-spacing:-.015em}
.estacao h3 small{display:block;font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);font-weight:500;margin-bottom:8px}
.estacao>p{font-size:16.5px;color:var(--f-texto)}
.esteira{list-style:none;display:grid;gap:0;border-top:1px solid var(--f-linha)}
.esteira li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px;padding:10px 0;border-bottom:1px solid var(--f-linha);font-size:15px;line-height:1.4;color:var(--f-texto);max-width:none}
.esteira li::before{content:"";width:7px;height:7px;border-radius:50%;border:1.5px solid var(--linha);margin-top:.5em}
.esteira li.cume::before{background:var(--linha)}
.esteira li b{font-weight:600}
.link-linha{width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:16px;color:var(--linha-cor);text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:2px;justify-self:start;min-height:44px;align-items:center;border-bottom:0;
  background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/100% 1px no-repeat}
.link-linha:hover .seta{transform:translateX(3px)}
.link-linha .seta{transition:transform var(--d-media) var(--curva-foco)}
.nucleo{display:inline-flex;align-items:center;gap:6px;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--linha-cor);
  padding:3px 9px;border-radius:var(--r-pilula);box-shadow:inset 0 0 0 1px currentColor;margin-left:auto}

/* passos numerados em linha (ciclo, como funciona) · ol.passos */
.passos{list-style:none;display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));border-top:1px solid var(--f-linha)}
.passos li{display:grid;gap:8px;align-content:start;padding:var(--e-5) var(--e-4) var(--e-4) 0;max-width:none;min-width:0;counter-increment:passo}
.passos li+li{padding-left:var(--e-4);border-left:1px solid var(--f-linha)}
.passos{counter-reset:passo}
.passos li::before{content:counter(passo,decimal-leading-zero);font-family:var(--ff-mono);font-size:12px;color:var(--f-apoio);letter-spacing:.06em}
.passos li b{font-family:var(--ff-display);font-weight:500;font-size:21px;line-height:1.2;color:var(--f-titulo)}
.passos li span{font-size:15px;color:var(--f-apoio);line-height:1.45}
.passos li.foco{box-shadow:inset 0 2px 0 var(--foco)}
.passos li.foco::before{color:var(--f-foco)}

/* prova (número liberado) */
.prova{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-6);align-items:end}
.prova>*{min-width:0}
.prova-num{grid-column:1/-1;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .22em;font-family:var(--ff-mono);font-weight:400;font-size:clamp(62px,13vw,176px);margin:0;line-height:.86;letter-spacing:-.05em;color:var(--f-titulo);font-variant-numeric:tabular-nums lining-nums}
.prova-num .de{color:var(--f-apoio)}
.prova-num .seta-prova{font-family:var(--ff-texto);font-weight:300;font-size:.42em;color:var(--f-apoio);letter-spacing:0;align-self:center}
.prova-num .para{color:var(--f-foco-titulo)}
.prova-num .pct{font-size:.5em;letter-spacing:-.02em}
.prova-texto{grid-column:1/span 6;display:grid;gap:var(--e-4);align-self:start}
.prova-nota{grid-column:1/span 6}
.prova-texto>p:not(.fonte){font-size:var(--t-lead);line-height:1.45;color:var(--f-titulo);font-family:var(--ff-display)}
.prova-barras{grid-column:8/-1;grid-row:span 2;align-self:start;display:grid;gap:14px;padding-top:var(--e-5);border-top:1px solid var(--f-linha)}
.prova-barra{display:grid;grid-template-columns:120px minmax(0,1fr) 72px;gap:16px;align-items:center;font-family:var(--ff-mono);font-size:13px;color:var(--f-apoio)}
.prova-barra i{display:block;height:12px;border-radius:2px;background:var(--f-linha-2);width:var(--v);transform-origin:0 50%}
.prova-barra.foco i{background:var(--foco)}
.prova-barra b{font-weight:500;color:var(--f-titulo);text-align:right}

/* recusas em voz alta */
.recusas{list-style:none;display:grid;border-top:1px solid var(--f-titulo);counter-reset:rec}
.recusas li{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,.9fr);gap:var(--calha);align-items:baseline;padding:clamp(20px,2.4vw,32px) 0;border-bottom:1px solid var(--f-linha);max-width:none;counter-increment:rec}
.recusas li::before{content:counter(rec,decimal-leading-zero);font-family:var(--ff-mono);font-size:12px;color:var(--f-apoio)}
.recusas li b{font-family:var(--ff-display);font-weight:400;font-size:clamp(28px,3.2vw,48px);line-height:1.04;letter-spacing:-.02em;color:var(--f-titulo)}
.recusas li span{font-size:16.5px;color:var(--f-apoio);max-width:44ch}
.fora{display:flex;flex-wrap:wrap;gap:10px}
.fora span{display:inline-flex;align-items:center;gap:10px;padding:10px 16px;border:1px solid var(--f-linha-2);border-radius:var(--r-2);font-size:15.5px;color:var(--f-titulo);background:var(--f-fundo)}
.fora span::before{content:"Fora";font:500 10.5px/1 var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);padding:4px 6px;border:1px solid var(--f-linha-2);border-radius:var(--r-1,4px)}

/* chamada do Raio-X (identificação Educação, botão laranja) */
.chamada-raiox{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-7);align-items:center}
.chamada-raiox>*{min-width:0}
.chamada-raiox .cr-texto{grid-column:1/span 6;display:grid;gap:var(--e-5)}
.chamada-raiox .cr-mock{grid-column:8/-1}
.mock-pergunta{text-decoration:none;color:var(--dia-corpo);position:relative;background:var(--dia);border:1px solid var(--dia-linha);border-radius:var(--r-4);padding:clamp(20px,3vw,36px);box-shadow:var(--sombra-3);display:grid;gap:var(--e-4)}
.mock-pergunta::before{content:"";position:absolute;left:0;top:0;right:0;height:4px;border-radius:var(--r-4) var(--r-4) 0 0;background:var(--edu)}
.mock-pergunta .mp-topo{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.mock-pergunta .mp-barra{height:4px;border-radius:2px;background:var(--dia-3);overflow:hidden}
.mock-pergunta .mp-barra i{display:block;height:100%;width:var(--v,10%);background:var(--edu)}
.mock-pergunta .opcao{pointer-events:none}
.mock-pergunta:hover .opcao:not(.sel){border-color:var(--f-apoio)}
.mock-pergunta h3{font-size:clamp(22px,2.2vw,28px);font-weight:500;line-height:1.2}

/* fechamento noite */
.fecha{position:relative;overflow:hidden;isolation:isolate}
.fecha .in{display:grid;gap:var(--e-6);justify-items:start;position:relative;z-index:1}
.fecha h2{font-size:var(--t-d1);font-weight:400;line-height:.98;letter-spacing:var(--ls-display);max-width:14ch}
.fecha-radar{position:absolute;right:-12vw;bottom:-28vw;width:min(78vw,980px);aspect-ratio:1;z-index:0;opacity:.9;pointer-events:none}

/* --------------------------------------------------------------------------
   8. FOTO, FAIXA DE FOTO, LEGENDA
   As fotos de /assets/img/fotos já vêm com a grade Noite aplicada: não filtre de novo.
   -------------------------------------------------------------------------- */
.foto{position:relative;margin:0;overflow:hidden;background:var(--f-sup2);aspect-ratio:var(--prop,3/2);border-radius:var(--r-foto,0)}
.foto>img{width:100%;height:100%;object-fit:cover;object-position:var(--xy,50% 50%)}
.foto.arred{--r-foto:var(--r-3)}
.foto .sobre{position:absolute;inset:auto 0 0 0;z-index:2;padding:clamp(20px,3vw,40px);color:var(--noite-txt);background:linear-gradient(180deg,transparent,rgba(11,13,18,.82))}
.faixa-foto{position:relative;min-height:clamp(420px,52vw,720px);overflow:hidden;display:grid;align-items:end;padding:clamp(32px,6vw,96px) var(--margem);isolation:isolate;background:var(--noite)}
.faixa-foto>.foto{position:absolute;inset:0;aspect-ratio:auto;height:100%;z-index:-1}
.faixa-foto.veu::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(11,13,18,.55) 0%,rgba(11,13,18,0) 65%),linear-gradient(180deg,rgba(11,13,18,.15) 0%,rgba(11,13,18,.35) 45%,rgba(11,13,18,.92) 100%)}
.faixa-foto .faixa-texto{max-width:var(--largura);margin-inline:auto;width:100%;display:grid;gap:var(--e-4)}
.faixa-foto h2{font-size:var(--t-d1);font-weight:400;line-height:.98;letter-spacing:var(--ls-display);max-width:15ch;color:var(--noite-txt)}
figure{margin:0}
.legenda{display:flex;gap:12px;align-items:baseline;margin-top:var(--e-3);font-size:14px;line-height:1.45;color:var(--f-apoio);max-width:none}
.legenda .n{font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--f-titulo);flex:none}
.retrato{--prop:4/5;max-width:400px} /* fundador: nunca acima de 400 px */

/* --------------------------------------------------------------------------
   9. COMPONENTES DE CONTEÚDO
   -------------------------------------------------------------------------- */
.prosa{color:var(--f-texto);max-width:var(--largura-texto)}
.prosa>*+*{margin-top:1em}
.prosa h2{font-size:var(--t-d3);font-weight:400;margin-top:1.6em;letter-spacing:-.015em}
.prosa h3{font-size:var(--t-h4);margin-top:1.3em}
.prosa ul,.prosa ol{padding-left:1.2em;display:grid;gap:.4em}
.prosa a{color:var(--f-foco)}
.prosa blockquote{margin:1.4em 0;padding:var(--e-5) 0;border-top:1px solid var(--f-titulo);border-bottom:1px solid var(--f-linha);font-family:var(--ff-display);font-style:italic;font-size:clamp(24px,2.4vw,30px);line-height:1.22;color:var(--f-titulo)}
.cartao{background:var(--f-sup);border:1px solid var(--f-linha);border-radius:var(--r-3);padding:clamp(20px,2.2vw,28px);display:grid;gap:var(--e-3);align-content:start;min-width:0}
.cartao h3,.cartao h4{font-size:var(--t-h5);font-weight:500;line-height:1.25}
.cartao p,.cartao li{font-size:16px;color:var(--f-apoio)}
.cartao .k{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.cartao.limpo{background:transparent;border-width:1px 0 0;border-radius:0;padding-inline:0}
.cartao.foco{border-color:var(--foco);box-shadow:inset 3px 0 0 var(--foco)}
.cartao.linha{border-top:3px solid var(--linha)}
.icone{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round;flex:none;color:var(--f-apoio)}
.icone.g{width:32px;height:32px;stroke-width:1.5}
.icone.linha{color:var(--linha)}
.lista{list-style:none;display:grid;border-top:1px solid var(--f-linha)}
.lista li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--e-3);padding:var(--e-4) 0;border-bottom:1px solid var(--f-linha);color:var(--f-texto);max-width:none}
.lista li b{display:block;font-family:var(--ff-display);font-weight:500;font-size:20px;line-height:1.25;margin-bottom:2px}
.lista li b:only-child{margin-bottom:0}
ol.lista{counter-reset:li}
ol.lista li{counter-increment:li}
ol.lista li::before{content:counter(li,decimal-leading-zero);font-family:var(--ff-mono);font-size:12px;color:var(--f-apoio);padding-top:5px}
ul.lista li>.icone{margin-top:2px}
ul.pontos{list-style:none;display:grid;gap:10px}
ul.pontos li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:8px;font-size:16.5px;color:var(--f-texto)}
ul.pontos li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--f-apoio);margin-top:.62em}
ul.pontos.linha li::before{background:var(--linha)}
/* tabela: sempre dentro de .tabela-wrap (rolagem local no celular) */
.tabela-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;position:relative;border-top:2px solid var(--f-titulo);max-width:100%}
.tab{border-collapse:collapse;width:100%;font-size:16px;min-width:var(--min-tab,560px);font-variant-numeric:tabular-nums lining-nums}
.tab caption{caption-side:bottom;text-align:left;padding-top:var(--e-3);font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:var(--f-apoio)}
.tab th,.tab td{text-align:left;vertical-align:top;padding:14px 16px 14px 0;border-bottom:1px solid var(--f-linha)}
.tab th{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);font-weight:500;white-space:nowrap}
.tab td{color:var(--f-texto)}
.tab td:first-child{color:var(--f-titulo);font-weight:600}
.tab .n{text-align:right;font-family:var(--ff-mono);font-size:14.5px}
.tab tr.foco td{background:var(--f-foco-suave)}
.tab tr.foco td:first-child{box-shadow:inset 3px 0 0 var(--foco);padding-left:12px}
.dica-rola{display:none;font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:var(--f-apoio);margin-top:8px}
.pill{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;
  padding:4px 10px 4px 8px;border-radius:var(--r-pilula);border:1px solid currentColor;white-space:nowrap;font-weight:500;line-height:1.3}
.pill::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.pill.sim{color:var(--f-bom)}.pill.at{color:var(--f-atencao)}.pill.nao{color:var(--f-critico)}.pill.neutra{color:var(--f-apoio)}
.cita{border-left:2px solid var(--f-titulo);padding:2px 0 2px var(--e-5);display:grid;gap:10px}
.cita p{font-family:var(--ff-display);font-size:clamp(21px,2.2vw,27px);line-height:1.28;color:var(--f-titulo);max-width:36ch}
.cita small{font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--f-apoio)}
.nota{border-top:1px solid var(--f-linha);padding-top:var(--e-3);font-size:14.5px;color:var(--f-apoio);max-width:68ch}
.fonte{font-family:var(--ff-mono);font-size:11px;color:var(--f-apoio);letter-spacing:.06em;max-width:none}
.exemplo::after{content:"exemplo";margin-left:6px;font-family:var(--ff-mono);font-size:max(10px,.2em);letter-spacing:.1em;text-transform:uppercase;color:var(--f-apoio);vertical-align:super;font-weight:500}
.selo-exemplo{display:inline-flex;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);padding:2px 8px;border:1px dashed var(--f-linha-2);border-radius:var(--r-1)}
.grafico{background:var(--f-fundo);border:1px solid var(--f-linha);border-radius:var(--r-3);padding:clamp(14px,2vw,24px);min-width:0}
.forma{min-width:0}
.radar-box{position:relative;width:100%;aspect-ratio:1;max-width:var(--max,560px);margin-inline:auto}
.gforms-aviso{font-family:var(--ff-texto)!important;font-size:14px!important;line-height:1.42!important}
.gforms-aviso b{font-family:var(--ff-mono)!important}

/* --------------------------------------------------------------------------
   10. COMPONENTES DA MARCA
   -------------------------------------------------------------------------- */
/* botão de ação: UM por dobra · laranja com texto #170A02, nunca branco */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 22px;background:var(--foco);color:var(--foco-btn-txt);
  font:600 16px/1.25 var(--ff-texto);border-radius:var(--r-2);border:1px solid var(--foco);text-decoration:none;cursor:pointer;max-width:100%;text-align:center;
  transition:background var(--d-rapida) var(--curva-foco),transform var(--d-rapida) var(--curva-foco),border-color var(--d-rapida)}
.btn:hover{background:var(--foco-hover);border-color:var(--foco-hover);text-decoration:none}
.btn:active{background:var(--foco-press);transform:translateY(1px)}
.btn .seta{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--d-media) var(--curva-foco);flex:none}
.btn:hover .seta{transform:translateX(3px)}
.btn[aria-disabled="true"],.btn:disabled{background:var(--dia-3);color:var(--dia-apoio);border-color:var(--dia-3);cursor:not-allowed}
.btn.carregando{pointer-events:none;opacity:.9}
.btn-sec{background:transparent;color:var(--f-titulo);border-color:var(--f-linha-2)}
.btn-sec:hover{background:var(--f-sup);border-color:var(--f-titulo)}
.btn-sec:active{background:var(--f-sup2)}
.btn-link{justify-self:start;width:max-content;max-width:100%;display:inline-flex;align-items:center;gap:8px;min-height:44px;font-weight:600;color:var(--f-titulo);text-decoration:none;
  background:linear-gradient(currentColor,currentColor) 0 calc(100% - 10px)/100% 1px no-repeat}
.btn-link .seta{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;transition:transform var(--d-media) var(--curva-foco)}
.btn-link:hover .seta{transform:translateX(3px)}
.btn.peq,.btn-sec.peq{min-height:40px;padding:0 16px;font-size:14.5px}
.btn.cheio{width:100%}
.selo-linha{display:inline-flex;align-items:center;gap:8px;width:max-content;max-width:100%;font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  padding:5px 11px 5px 9px;border-radius:var(--r-pilula);font-weight:500;line-height:1.3;white-space:nowrap;background:var(--linha-bg);color:var(--linha-txt)}
.selo-linha::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--linha);flex:none}
.selo-linha.edu{--linha:var(--edu);--linha-bg:var(--edu-bg);--linha-txt:var(--edu-txt);--linha-noite:var(--edu-noite)}
.selo-linha.str{--linha:var(--str);--linha-bg:var(--str-bg);--linha-txt:var(--str-txt);--linha-noite:var(--str-noite)}
.selo-linha.age{--linha:var(--age);--linha-bg:var(--age-bg);--linha-txt:var(--age-txt);--linha-noite:var(--age-noite)}
.campo-noite .selo-linha{background:transparent;box-shadow:inset 0 0 0 1px currentColor;color:var(--linha-noite)}
/* restrição: neutra (cap. 26); o laranja fica com o KPI que o ciclo quer mover. .restricao.foco quando ela é o único laranja da dobra */
.restricao{display:grid;gap:6px;padding:var(--e-4) var(--e-5);border:1px solid var(--f-linha);border-left:3px solid var(--f-titulo);border-radius:var(--r-2);background:var(--f-sup)}
.restricao b{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);font-weight:500}
.restricao.foco{border-left-color:var(--foco)}.restricao.foco b{color:var(--f-foco)}
.restricao p{font-family:var(--ff-display);font-size:21px;line-height:1.3;color:var(--f-titulo);font-weight:500}
.aviso{display:grid;gap:4px;max-width:320px;padding:12px 14px;border-radius:10px;border:1px solid var(--f-linha);border-left:3px solid var(--foco);
  background:var(--f-sup);font-size:14.5px;line-height:1.42;color:var(--f-titulo);box-shadow:var(--f-sombra)}
.aviso b{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-foco);font-weight:500}
/* aviso de sistema (situação): .alerta.bom|.atencao|.critico, sempre com título em palavra */
.alerta{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 12px;padding:14px 16px;border:1px solid var(--f-linha);border-left:3px solid var(--c,var(--f-apoio));border-radius:var(--r-2);background:var(--f-sup);font-size:15px;color:var(--f-texto)}
.alerta .icone{color:var(--c,var(--f-apoio));width:20px;height:20px;margin-top:2px}
.alerta b{color:var(--f-titulo)}
.alerta.bom{--c:var(--f-bom)}.alerta.atencao{--c:var(--f-atencao)}.alerta.critico{--c:var(--f-critico)}
.kpi{display:grid;gap:6px;padding:var(--e-5);border:1px solid var(--f-linha);border-radius:var(--r-3);background:var(--f-sup);min-width:0;align-content:start}
.kpi .k{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.kpi .v{font-family:var(--ff-mono);font-size:clamp(28px,2.6vw,36px);color:var(--f-titulo);line-height:1.05;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.kpi .d{font-size:13.5px;color:var(--f-apoio);line-height:1.4}
.kpi.foco{border-color:var(--foco);box-shadow:inset 0 3px 0 var(--foco)}
.kpi.foco .v{color:var(--f-foco)}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:var(--e-3)}

/* --------------------------------------------------------------------------
   11. FORMULÁRIO · rótulo fora do campo, erro com ícone e frase que ensina
   -------------------------------------------------------------------------- */
.form{display:grid;gap:var(--e-5)}
.form .g2{row-gap:var(--e-5)}
.campo{display:grid;gap:6px;min-width:0}
.campo>label,.campo>.rotulo,.campo legend{font-size:14.5px;font-weight:600;color:var(--f-titulo);line-height:1.3;padding:0}
.campo input,.campo select,.campo textarea{width:100%;min-height:48px;padding:0 14px;border:1px solid var(--f-linha-2);border-radius:var(--r-2);
  background:var(--f-fundo);color:var(--f-titulo);font:400 16px/1.4 var(--ff-texto);transition:border-color var(--d-rapida)}
.campo-noite .campo input,.campo-noite .campo select,.campo-noite .campo textarea{background:var(--noite-2)}
.campo textarea{padding:12px 14px;min-height:120px;resize:vertical}
.campo select{appearance:none;-webkit-appearance:none;padding-right:40px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%234A525E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' viewBox='0 0 24 24'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 12px center;background-size:18px}
.campo input::placeholder,.campo textarea::placeholder{color:var(--f-apoio);opacity:.8}
.campo input:hover,.campo select:hover,.campo textarea:hover{border-color:var(--f-apoio)}
.campo input:focus-visible,.campo select:focus-visible,.campo textarea:focus-visible{border-color:var(--f-titulo);outline:2px solid var(--f-foco);outline-offset:2px}
.campo [aria-invalid="true"]{border-color:var(--f-critico);box-shadow:inset 0 0 0 1px var(--f-critico)}
.campo .ajuda,.campo .erro{font-size:13.5px;line-height:1.4;color:var(--f-apoio);display:flex;gap:6px;align-items:flex-start;max-width:none}
.campo .erro{color:var(--f-critico);font-weight:500}
.campo .erro .icone{width:16px;height:16px;color:currentColor;margin-top:1px}
fieldset.campo{border:0;margin:0;padding:0;min-width:0}
/* opção (pergunta de múltipla escolha): label.opcao > input[type=radio|checkbox] + span */
.opcoes{display:grid;gap:10px}
.opcao{position:relative;display:flex;gap:12px;align-items:center;min-height:60px;padding:12px 16px;border:1px solid var(--f-linha-2);border-radius:var(--r-2);
  font-size:16px;line-height:1.35;color:var(--f-titulo);background:var(--f-fundo);cursor:pointer;transition:border-color var(--d-rapida),background var(--d-rapida)}
.opcao:hover{border-color:var(--f-apoio);background:var(--f-sup)}
.opcao input{position:absolute;opacity:0;width:1px;height:1px}
.opcao::before{content:"";width:18px;height:18px;border-radius:50%;border:1.5px solid var(--f-apoio);flex:none;box-sizing:border-box;transition:border var(--d-rapida)}
.opcao.caixa::before{border-radius:var(--r-1)}
.opcao:has(input:checked){border:2px solid var(--f-titulo);padding:11px 15px}
.opcao:has(input:checked)::before{border:5px solid var(--f-titulo)}
.opcao:has(input:focus-visible){outline:2px solid var(--f-foco);outline-offset:2px}
.opcao.sel{border:2px solid var(--f-titulo);padding:11px 15px}
.opcao.sel::before{border:5px solid var(--f-titulo)}
.consentimento{display:flex;gap:12px;align-items:flex-start;font-size:14.5px;line-height:1.45;color:var(--f-texto);cursor:pointer}
.consentimento input{width:20px;height:20px;margin:2px 0 0;accent-color:var(--dia-txt);flex:none}
.form-status{font-size:15px;color:var(--f-apoio)}
.form-status.erro{color:var(--f-critico)}

/* --------------------------------------------------------------------------
   12. FAQ · acordeão nativo <details class="faq">
   -------------------------------------------------------------------------- */
.faqs{border-top:1px solid var(--f-titulo)}
.faq{border-bottom:1px solid var(--f-linha)}
.faq summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--e-5);padding:var(--e-5) 0;cursor:pointer;
  font-family:var(--ff-display);font-weight:500;font-size:clamp(19px,1.7vw,23px);line-height:1.3;color:var(--f-titulo);min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:12px;height:12px;flex:none;margin-right:6px;border-right:1.75px solid var(--f-apoio);border-bottom:1.75px solid var(--f-apoio);transform:rotate(45deg) translateY(-3px);transition:transform var(--d-media) var(--curva-foco)}
.faq[open] summary::after{transform:rotate(225deg) translateY(-3px)}
.faq summary:hover{color:var(--f-titulo)}
.faq .faq-corpo{padding:0 0 var(--e-5);color:var(--f-texto);display:grid;gap:.8em;max-width:64ch}

/* --------------------------------------------------------------------------
   13. CABEÇALHO (fixo) E MENU
   O cabeçalho fica transparente sobre a primeira dobra e assume a cor da seção que passa por baixo
   (.topo.noite / .topo.dia). O JS decide; sem JS ele fica dia sólido.
   -------------------------------------------------------------------------- */
.topo{position:fixed;top:0;left:0;right:0;z-index:100;padding-inline:var(--margem);padding-top:env(safe-area-inset-top,0px);
  background:rgba(255,255,255,.97);border-bottom:1px solid var(--dia-linha);color:var(--dia-txt);
  --t-txt:var(--dia-txt);--t-apoio:var(--dia-apoio);--t-linha:var(--dia-linha);--t-sup:var(--dia-2);
  transition:background var(--d-media) var(--curva-padrao),border-color var(--d-media),color var(--d-media)}
.topo.noite{background:rgba(11,13,18,.96);border-bottom-color:var(--noite-linha);--t-txt:var(--noite-txt);--t-apoio:var(--noite-apoio);--t-linha:var(--noite-linha);--t-sup:var(--noite-2)}
.topo.transparente{background:transparent;border-bottom-color:transparent}
/* sobre a primeira dobra o botão do cabeçalho vira contorno: o laranja fica com o botão da dobra */
/* o botão do cabeçalho é SEMPRE contorno (dia, noite, transparente, depois de rolar): o laranja fica só com o botão da página */
.topo .acoes .btn{background:transparent;color:var(--t-txt);border-color:var(--dia-linha-2)}
.topo .acoes .btn:hover{background:var(--t-sup);border-color:var(--t-txt)}
.topo .acoes .btn:active{background:var(--t-sup)}
.topo.noite .acoes .btn{border-color:var(--noite-linha-2)}
.topo .in{display:flex;align-items:center;gap:var(--e-5);height:var(--topo-h)}
.topo .marca{display:flex;align-items:center;flex:none;text-decoration:none;min-height:44px}
.topo .marca img{height:32px;width:auto}
.topo .marca .l-noite{display:none}
.topo.noite .marca .l-dia{display:none}
.topo.noite .marca .l-noite{display:block}
.topo .nav{display:flex;align-items:center;gap:2px;margin-left:auto;list-style:none}
.topo .nav>li{position:relative;max-width:none}
.topo .nav a,.topo .nav button{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 12px;font:500 15px/1 var(--ff-texto);color:var(--t-txt);text-decoration:none;
  background:none;border:0;cursor:pointer;border-radius:var(--r-2);position:relative}
.topo .nav a:hover,.topo .nav button:hover{background:var(--t-sup)}
.topo .nav a[aria-current="page"]{font-weight:600}
.topo .nav a[aria-current="page"]::after{content:"";position:absolute;left:12px;right:12px;bottom:6px;height:2px;background:currentColor}
.topo .nav button .icone{width:16px;height:16px;color:var(--t-apoio);transition:transform var(--d-media) var(--curva-foco)}
.topo .nav button[aria-expanded="true"] .icone{transform:rotate(180deg)}
.topo .entrar{font:500 15px/1 var(--ff-texto);color:var(--t-apoio);text-decoration:none;padding:0 10px;min-height:44px;display:inline-flex;align-items:center}
.topo .entrar:hover{color:var(--t-txt)}
.topo .acoes{display:flex;align-items:center;gap:8px;flex:none}
/* painel das linhas (desktop) */
.painel-linhas{position:absolute;top:calc(100% + 8px);left:50%;transform:translateX(-50%);width:min(560px,90vw);padding:8px;border-radius:var(--r-4);
  background:var(--dia);border:1px solid var(--dia-linha);box-shadow:var(--sombra-3);display:grid;gap:2px;z-index:5;
  --f-titulo:var(--dia-txt);--f-apoio:var(--dia-apoio);--f-sup:var(--dia-2);--f-linha:var(--dia-linha)}
.topo.noite .painel-linhas{background:var(--noite-2);border-color:var(--noite-linha-2);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);
  --f-titulo:var(--noite-txt);--f-apoio:var(--noite-apoio);--f-sup:var(--noite-3)}
.painel-linhas a.pl-item{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 14px;align-items:center;padding:14px 16px;border-radius:var(--r-3);text-decoration:none;min-height:auto}
.topo.noite .painel-linhas a.pl-item{--linha-cor:var(--linha-noite)}
.painel-linhas a.pl-item:hover{background:var(--f-sup)}
.painel-linhas .pl-ponto{grid-row:1/3;width:10px;height:10px;border-radius:50%;background:var(--linha);box-shadow:0 0 0 4px color-mix(in srgb,var(--linha) 18%,transparent)}
.painel-linhas .pl-nome{font:500 18px/1.2 var(--ff-display);color:var(--f-titulo)}
.painel-linhas .pl-papel{grid-column:3;grid-row:1;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--linha-cor)}
.painel-linhas .pl-txt{grid-column:2/4;font:400 14px/1.4 var(--ff-texto);color:var(--f-apoio)}
.painel-linhas .pl-rodape{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px 8px;margin-top:4px;border-top:1px solid var(--f-linha);font-size:13.5px;color:var(--f-apoio)}
.painel-linhas .pl-rodape a{font-size:13.5px;min-height:32px;padding:0;color:var(--f-titulo);font-weight:600}
.painel-linhas .pl-rodape a:hover{background:none;text-decoration:underline}
/* botão do menu (celular) */
.menu-abre{display:none;align-items:center;justify-content:center;width:44px;height:44px;margin-right:-10px;border:0;background:none;color:var(--t-txt);cursor:pointer;border-radius:var(--r-2)}
.menu-abre .icone{color:currentColor}
/* menu em tela cheia (celular), sempre na noite */
.menu-movel{position:fixed;inset:0;z-index:200;background:var(--noite);overflow-y:auto;padding:calc(env(safe-area-inset-top,0px) + 8px) var(--margem) calc(32px + env(safe-area-inset-bottom,0px));
  display:flex;flex-direction:column;gap:var(--e-6)}
.menu-movel .mm-topo{display:flex;align-items:center;justify-content:space-between;height:56px;flex:none}
.menu-movel .mm-topo img{height:32px;width:auto}
.menu-movel .mm-fecha{width:44px;height:44px;margin-right:-10px;display:grid;place-items:center;border:0;background:none;color:var(--noite-txt);cursor:pointer;border-radius:var(--r-2)}
.menu-movel .mm-fecha .icone{color:currentColor}
.menu-movel ol{list-style:none;border-top:1px solid var(--noite-linha)}
.menu-movel li{max-width:none;border-bottom:1px solid var(--noite-linha)}
.menu-movel ol>li>a,.menu-movel .mm-grupo{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:16px 0;font:400 30px/1.1 var(--ff-display);letter-spacing:-.01em;color:var(--noite-txt);text-decoration:none}
.menu-movel .mm-grupo{margin:0;max-width:none}
.menu-movel ol>li>a span,.menu-movel .mm-grupo span{font-family:var(--ff-mono);font-size:12px;color:var(--noite-apoio);letter-spacing:.06em}
.menu-movel .mm-linhas{display:grid;gap:2px;padding:0 0 14px}
.menu-movel .mm-linhas a{display:flex;align-items:center;gap:12px;min-height:44px;font:500 17px/1.3 var(--ff-texto);color:var(--noite-corpo);text-decoration:none}
.menu-movel .mm-linhas a::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--linha);flex:none}
.menu-movel .mm-linhas a em{font-style:normal;margin-left:auto;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--linha-noite)}
.menu-movel .mm-base{margin-top:auto;display:grid;gap:var(--e-4)}
.menu-movel .mm-base .entrar{color:var(--noite-apoio);text-decoration:none;font-size:15px;text-align:center;min-height:44px;display:grid;place-items:center}

/* --------------------------------------------------------------------------
   14. RODAPÉ (noite)
   -------------------------------------------------------------------------- */
.rodape{background:var(--noite);color:var(--noite-apoio);padding:clamp(64px,8vw,112px) var(--margem) calc(32px + env(safe-area-inset-bottom,0px));font-size:15px;border-top:1px solid var(--noite-linha)}
.rodape .in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-7)}
.rodape .in>*{min-width:0}
.rodape .rd-marca{grid-column:1/span 4;display:grid;gap:var(--e-4);align-content:start}
.rodape .rd-marca img{height:40px;width:auto}
.rodape .rd-marca p{color:var(--noite-corpo);font-size:15.5px;max-width:30ch}
.rodape .rd-marca .rd-cat{font-family:var(--ff-display);font-size:22px;line-height:1.2;color:var(--noite-txt);max-width:18ch}
.rodape nav{grid-column:span 2;display:grid;gap:4px;align-content:start}
.rodape nav:first-of-type{grid-column:5/span 2}
.rodape h2{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--noite-apoio);font-weight:500;margin-bottom:8px}
.rodape nav a{color:var(--noite-corpo);text-decoration:none;font-size:15px;line-height:1.35;display:flex;align-items:center;gap:8px;min-height:36px}
.rodape nav a:hover{color:var(--noite-txt);text-decoration:underline}
.rodape nav a[data-linha]::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--linha);flex:none}
.rodape .rd-base{grid-column:1/-1;display:flex;justify-content:space-between;gap:var(--e-4) var(--e-6);flex-wrap:wrap;padding-top:var(--e-5);border-top:1px solid var(--noite-linha);
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase}
.rodape .rd-base a{color:var(--noite-txt);text-decoration:none}
.rodape .rd-base a:hover{color:var(--foco-noite)}
.rodape .rd-base span{max-width:none}

/* --------------------------------------------------------------------------
   15. MOVIMENTO (cap. 21) · só com JS e movimento permitido
   .revela entra ao rolar; .atraso-1..4 escalonam; [data-conta] conta até o valor
   -------------------------------------------------------------------------- */
.js .revela{opacity:0;transform:translateY(20px);transition:opacity var(--d-lenta) var(--curva-foco),transform var(--d-lenta) var(--curva-foco)}
.js .revela.visto{opacity:1;transform:none}
.js .revela.atraso-1{transition-delay:80ms}.js .revela.atraso-2{transition-delay:160ms}.js .revela.atraso-3{transition-delay:240ms}.js .revela.atraso-4{transition-delay:320ms}
.js .revela-foto>img{clip-path:inset(100% 0 0 0);transform:scale(1.08);transition:clip-path 1100ms var(--curva-foco),transform 1600ms var(--curva-foco)}
.js .revela-foto.visto>img{clip-path:inset(0 0 0 0);transform:none}
.js .cresce{transform:scaleX(0);transition:transform 1200ms var(--curva-foco)}
.js .cresce.visto{transform:scaleX(1)}
.caminho-trilho path{transition:stroke-dashoffset 900ms var(--curva-foco)}
@keyframes pulso-foco{0%{box-shadow:0 0 0 0 rgba(255,106,26,.5)}70%{box-shadow:0 0 0 12px rgba(255,106,26,0)}100%{box-shadow:0 0 0 0 rgba(255,106,26,0)}}
.ponto-foco{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--foco);animation:pulso-foco 1.8s var(--curva-padrao) infinite}

/* --------------------------------------------------------------------------
   16. RESPONSIVO (320 a 1600 px) · quebras 1600 · 1100 · 760 · 420
   -------------------------------------------------------------------------- */
@media (min-width:1600px){:root{--largura:1280px}}
@media (max-width:1100px){
  .cab h2,.cab.empilhada h2{grid-column:1/-1}
  .cab .lead,.cab.empilhada .lead{grid-column:1/span 9}
  .g12>.c-3{grid-column:span 6}.g12>.c-4,.g12>.c-5{grid-column:span 6}
  .g12>.c-6,.g12>.c-7,.g12>.c-8,.g12>.c-9{grid-column:1/-1}
  .g12>[class*="de-"]{grid-column-start:auto}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-texto{grid-column:1/span 7}
  .hero-radar{grid-column:8/-1}
  .numeros{grid-template-columns:repeat(2,minmax(0,1fr))}
  .numero:nth-child(3){border-left:0;padding-left:0}
  .numero:nth-child(n+3){border-top:1px solid var(--f-linha)}
  .passos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .passos li:nth-child(odd){border-left:0;padding-left:0}
  .passos li:nth-child(n+3){border-top:1px solid var(--f-linha)}
  .prova-texto,.prova-nota{grid-column:1/span 7}
  .prova-barras{grid-column:8/-1}
  .recusas li{grid-template-columns:56px minmax(0,1fr)}
  .recusas li span{grid-column:2}
  .chamada-raiox .cr-texto{grid-column:1/-1}
  .chamada-raiox .cr-mock{grid-column:1/span 9}
  .abre-grade>.abre-texto,.abre-grade>.abre-visual{grid-column:1/-1}
  .rodape .rd-marca{grid-column:1/-1}
  .rodape nav,.rodape nav:first-of-type{grid-column:span 3}
  .topo .nav>li.opcional{display:none}
}
@media (max-width:900px){
  .topo .nav,.topo .entrar{display:none}
  .menu-abre{display:inline-flex}
  .topo .acoes .btn{display:none}
}
@media (max-width:760px){
  :root{--t-corpo:17px;--topo-h:56px}
  body{font-size:17px}
  .g2,.g3,.g4,.portas{grid-template-columns:minmax(0,1fr)}
  .g12>[class*="c-"]{grid-column:1/-1}
  .cab .lead,.cab.empilhada .lead{grid-column:1/-1}
  .hero{min-height:auto}
  .hero>.in{row-gap:var(--e-5)}
  .hero-radar{grid-column:1/-1;grid-row:1;justify-self:center;max-width:min(270px,72vw)}
  .hero-texto{grid-column:1/-1;grid-row:2}
  .hero-recusa{grid-row:3}
  .numeros{grid-template-columns:minmax(0,1fr)}
  .numero,.numero+.numero{border-left:0;padding-left:0;padding-right:0}
  .numero+.numero{border-top:1px solid var(--f-linha)}
  .numero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:var(--e-5)}
  .numero .v{font-size:clamp(56px,18vw,80px);min-width:2ch}
  .porta:nth-child(2){margin-top:0}
  .caminho{grid-template-columns:minmax(0,1fr);gap:var(--e-8);padding-left:28px}
  .caminho::before{content:"";position:absolute;left:6px;top:6px;bottom:0;width:2px;background:linear-gradient(var(--edu) 0 33.33%,var(--str) 33.33% 66.66%,var(--age) 66.66% 100%)}
  .estacao:nth-of-type(n){margin-top:0}
  .estacao-ponto{position:absolute;left:-28px;top:4px}
  .estacao-topo{border-bottom-width:1px;padding-left:0}
  .caminho-trilho{display:none}
  .passos{grid-template-columns:minmax(0,1fr)}
  .passos li,.passos li+li{border-left:0;padding-left:0;border-top:1px solid var(--f-linha)}
  .passos li:first-child{border-top:0}
  .prova-texto,.prova-nota,.prova-barras{grid-column:1/-1;grid-row:auto}
  .prova-barra{grid-template-columns:84px minmax(0,1fr) 56px;gap:10px}
  .recusas li{grid-template-columns:minmax(0,1fr);gap:8px}
  .recusas li span{grid-column:1}
  .chamada-raiox .cr-mock{grid-column:1/-1}
  .btn{white-space:normal}
  .hero-acoes .btn,.fecha .btn,.cr-texto .btn{width:100%}
  .fecha-radar{right:-50vw;bottom:-62vw;width:120vw;opacity:.75}
  .fecha{padding-bottom:calc(var(--pad-sec) + 34vw)}
  .faixa-foto{min-height:clamp(420px,120vw,560px)}
  .rodape nav,.rodape nav:first-of-type{grid-column:span 6}
  .dica-rola{display:block}
  .tab{font-size:15px}
}
@media (max-width:420px){
  .ct-nos .ct-no .ct-nome{font-size:10.5px;letter-spacing:-.01em}
  .topo .marca img{height:31px}
  .hero-fontes{gap:6px 14px}
  .rodape nav:last-of-type{grid-column:1/-1}
}
@media (max-width:340px){
  .rodape nav,.rodape nav:first-of-type{grid-column:1/-1}
}

/* --------------------------------------------------------------------------
   17. MOVIMENTO REDUZIDO E IMPRESSÃO
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .js .revela,.js .revela-foto>img,.js .cresce{opacity:1;transform:none;clip-path:none}
}
@media print{
  .topo,.menu-movel,.menu-abre,.pular{display:none!important}
  .js .revela,.js .revela-foto>img,.js .cresce{opacity:1;transform:none;clip-path:none}
  .sec,.hero{padding-block:32px}
}

/* --------------------------------------------------------------------------
   18. PÁGINAS CURTAS (404, obrigado) · lista de links e passos
   -------------------------------------------------------------------------- */
.pagina-curta{min-height:min(100svh,920px);display:grid;align-content:center}
.lista-links{list-style:none;display:flex;flex-wrap:wrap;gap:4px 24px;margin-top:var(--e-3)}
.lista-links a{display:inline-flex;align-items:center;min-height:44px;color:var(--f-titulo);text-decoration:none;
  background:linear-gradient(var(--f-linha-2),var(--f-linha-2)) 0 calc(100% - 10px)/100% 1px no-repeat}
.lista-links a:hover{background-image:linear-gradient(currentColor,currentColor)}
.passos-obrigado{list-style:none;display:grid;border-top:1px solid var(--f-linha);max-width:760px}
.passos-obrigado li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:var(--e-3);padding:var(--e-5) 0;border-bottom:1px solid var(--f-linha);max-width:none}
.passos-obrigado li span{font-family:var(--ff-mono);font-size:12px;color:var(--f-apoio);padding-top:6px}
.passos-obrigado li p{font-size:var(--t-lead);line-height:1.45;color:var(--f-texto)}
@media (max-width:760px){.passos-obrigado li{grid-template-columns:36px minmax(0,1fr)}.pagina-curta{min-height:auto}}
/* página de linha: marque o botão "Linhas" como atual */
.topo .nav button.atual{font-weight:600}
.topo .nav button.atual::after{content:"";position:absolute;left:12px;right:30px;bottom:6px;height:2px;background:currentColor}

/* ==========================================================================
   página institucional · /metodo, /sobre, /casos
   Componentes próprios dessas três páginas. Só tokens; nenhuma regra de outra seção alterada.
   ========================================================================== */
/* índice da página (abertura): âncoras para as dobras */
.abre-indice{list-style:none;display:flex;flex-wrap:wrap;gap:0 26px;margin-top:var(--e-4);padding-top:var(--e-3);border-top:1px solid var(--f-linha)}
.abre-indice li{max-width:none}
.abre-indice a{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);text-decoration:none}
.abre-indice a span{color:var(--f-titulo)}
.abre-indice a:hover{color:var(--f-titulo)}
.abre .abre-visual .forma{max-width:520px;margin-inline:auto}

/* ---- método · o nome em três partes ---- */
.nome-partes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--f-titulo)}
.np{display:grid;gap:var(--e-4);align-content:start;padding:var(--e-6) var(--e-6) var(--e-4) 0;min-width:0}
.np+.np{border-left:1px solid var(--f-linha);padding-left:var(--e-6)}
.np .palavra{font-family:var(--ff-display);font-optical-sizing:auto;font-weight:400;font-size:clamp(52px,6.4vw,104px);line-height:.92;letter-spacing:-.035em;color:var(--f-titulo);margin:0}
.np .palavra em{font-style:italic}
.np>p:not(.rot):not(.palavra){font-size:16.5px;color:var(--f-texto);max-width:34ch}

/* ---- método · três áreas convergindo num dado só ---- */
.converge{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) minmax(0,1.2fr);align-items:stretch;margin-top:clamp(48px,6vw,88px);
  border:1px solid var(--f-linha);border-radius:var(--r-4);background:var(--f-sup);padding:clamp(20px,3vw,40px)}
.cv-faixas{list-style:none;display:grid;grid-template-rows:repeat(3,1fr);gap:var(--e-3)}
.cv-faixas li{display:grid;gap:2px;align-content:center;max-width:none;padding:12px 16px;border:1px solid var(--f-linha);border-radius:var(--r-2);background:var(--f-fundo)}
.cv-faixas b{font-family:var(--ff-display);font-weight:500;font-size:21px;line-height:1.15;color:var(--f-titulo)}
.cv-faixas span{font-size:14px;color:var(--f-apoio);line-height:1.35}
.cv-fios{width:100%;height:100%;min-height:200px;overflow:visible}
.cv-fios path{fill:none;stroke:var(--f-linha-2);stroke-width:1.5;vector-effect:non-scaling-stroke}
.cv-fios path.fluxo{stroke:var(--f-apoio);stroke-dasharray:2 14;stroke-linecap:round;stroke-width:3;animation:cv-flui 2.4s linear infinite}
@keyframes cv-flui{to{stroke-dashoffset:-32}}
.cv-um{display:grid;gap:var(--e-3);align-content:center;padding:clamp(20px,2.4vw,32px);border-radius:var(--r-3);background:var(--noite);color:var(--noite-corpo)}
.cv-um .rot{color:var(--noite-apoio)}
.cv-um b{font-family:var(--ff-display);font-weight:400;font-size:clamp(23px,2.2vw,30px);line-height:1.15;color:var(--noite-txt)}
.cv-um p{font-size:15px;color:var(--noite-apoio)}

/* ---- método · os quatro princípios ---- */
.principios{list-style:none;display:grid;border-top:1px solid var(--f-titulo)}
.pr{display:grid;grid-template-columns:72px minmax(0,1fr) minmax(0,.95fr);column-gap:var(--calha);row-gap:var(--e-3);padding:clamp(24px,3vw,40px) 0;border-bottom:1px solid var(--f-linha);max-width:none}
.pr-n{font-family:var(--ff-mono);font-size:12px;color:var(--f-apoio);padding-top:12px}
.pr h3{font-size:clamp(30px,3.4vw,52px);font-weight:400;line-height:1.02;letter-spacing:-.02em}
.pr-corpo{display:grid;gap:var(--e-4);align-content:start;padding-top:8px}
.pr-corpo>p{font-size:17px;color:var(--f-texto)}
.pr-quebra{font-size:15px;color:var(--f-apoio);padding-left:14px;border-left:2px solid var(--f-linha-2)}
.pr-quebra b{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-titulo);font-weight:500;display:block;margin-bottom:2px}
.pr details{border-top:1px solid var(--f-linha)}
.pr summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:600;color:var(--f-titulo)}
.pr summary::-webkit-details-marker{display:none}
.pr summary::before{content:"";width:8px;height:8px;border-right:1.75px solid var(--f-apoio);border-bottom:1.75px solid var(--f-apoio);transform:rotate(-45deg);transition:transform var(--d-media) var(--curva-foco);flex:none}
.pr details[open] summary::before{transform:rotate(45deg)}
.pr dl{display:grid;gap:10px;margin:4px 0 8px}
.pr dl div{display:grid;grid-template-columns:118px minmax(0,1fr);gap:12px;font-size:15px;line-height:1.45}
.pr dt{font-family:var(--ff-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--f-apoio);padding-top:3px}
.pr dd{margin:0;color:var(--f-texto)}

/* ---- método · o ciclo do gargalo em etapas (abas no desktop, lista no celular) ---- */
.ciclo-trilha{display:grid;gap:clamp(32px,4vw,56px)}
.ct-nos{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.ct-nos::before{content:"";position:absolute;left:10%;right:10%;top:27px;height:1px;background:var(--f-linha-2)}
.ct-no{position:relative;display:grid;justify-items:center;gap:10px;padding:14px 4px 12px;min-height:44px;background:none;border:0;border-radius:var(--r-3);cursor:pointer;color:var(--f-apoio);font:500 15px/1.2 var(--ff-texto);transition:color var(--d-rapida),background var(--d-rapida)}
.ct-no:hover{color:var(--f-titulo);background:var(--f-sup)}
.ct-no .ct-ponto{width:26px;height:26px;border-radius:50%;border:1.5px solid var(--f-linha-2);background:var(--f-fundo);display:grid;place-items:center;font-family:var(--ff-mono);font-size:10.5px;color:var(--f-apoio);transition:border-color var(--d-media),background var(--d-media),color var(--d-media)}
.ct-no .ct-nome{font-family:var(--ff-display);font-size:clamp(17px,1.6vw,22px);font-weight:500;color:inherit}
.ct-no[aria-selected="true"]{color:var(--f-titulo)}
.ct-no[aria-selected="true"] .ct-ponto{background:var(--f-titulo);border-color:var(--f-titulo);color:var(--f-fundo)}
.ct-no.foco .ct-ponto{border-color:var(--foco);color:var(--f-foco)}
.ct-no.foco[aria-selected="true"] .ct-ponto{background:var(--foco);border-color:var(--foco);color:var(--foco-btn-txt)}
.ct-no[aria-selected="true"]::after{content:"";position:absolute;left:30%;right:30%;bottom:0;height:2px;background:currentColor}
.ct-painel{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-5);padding-top:clamp(28px,3vw,40px);border-top:1px solid var(--f-linha)}
.ct-painel>*{min-width:0}
.ct-painel .ct-titulo{grid-column:1/span 5;display:grid;gap:var(--e-3);align-content:start}
.ct-painel h3{font-size:var(--t-d2);font-weight:400;line-height:1;letter-spacing:var(--ls-display)}
.ct-painel .ct-frase{font-size:var(--t-lead);line-height:1.45;color:var(--noite-corpo);max-width:30ch}
.ct-painel dl{grid-column:7/-1;display:grid;gap:0;border-top:1px solid var(--f-linha);margin:0}
.ct-painel dl div{display:grid;grid-template-columns:150px minmax(0,1fr);gap:var(--calha);padding:var(--e-4) 0;border-bottom:1px solid var(--f-linha)}
.ct-painel dt{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);padding-top:4px}
.ct-painel dd{margin:0;font-size:16.5px;color:var(--f-texto)}
.js .ciclo-trilha[data-pronto] .ct-painel:not(.ativo){display:none}
.js .ct-painel.ativo{animation:ct-entra var(--d-lenta) var(--curva-foco)}
@keyframes ct-entra{from{transform:translateY(10px)}to{transform:none}}
.ct-dica{font-family:var(--ff-mono);font-size:11px;letter-spacing:.06em;color:var(--f-apoio)}

/* ---- método · os três ponteiros ---- */
.ponteiros{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-7);align-items:center}
.ponteiros>*{min-width:0}
.pt-medidor{grid-column:1/span 5;display:grid;gap:var(--e-4);padding:clamp(20px,2.6vw,36px);border:1px solid var(--f-linha);border-radius:var(--r-4);background:var(--f-fundo);box-shadow:var(--sombra-2)}
.pt-medidor .forma{max-width:420px;width:100%;margin-inline:auto}
.pt-medidor .pt-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.pt-lista{grid-column:7/-1;list-style:none;display:grid;border-top:1px solid var(--f-titulo)}
.pt-lista li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--e-3);padding:var(--e-5) 0;border-bottom:1px solid var(--f-linha);max-width:none;position:relative}
.pt-lista .pt-n{font-family:var(--ff-mono);font-size:12px;color:var(--f-apoio);padding-top:10px}
.pt-lista h3{font-size:clamp(26px,2.6vw,36px);font-weight:400;letter-spacing:-.015em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.pt-lista p{font-size:16px;color:var(--f-apoio);margin-top:6px;max-width:46ch}
.pt-lista li.escolhido{box-shadow:inset 3px 0 0 var(--f-titulo);padding-left:16px;grid-template-columns:28px minmax(0,1fr)}
.pt-lista li.escolhido p{color:var(--f-texto)}
.pt-lista .pill{font-size:10.5px}

/* ---- sobre · manifesto ---- */
.manifesto{display:grid;gap:clamp(40px,5vw,72px)}
.mf-parte{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:var(--calha)}
.mf-parte>span{font-family:var(--ff-mono);font-size:12px;letter-spacing:.1em;color:var(--f-apoio);padding-top:.7em}
.mf-parte div{display:grid;gap:.5em}
.mf-parte p{font-family:var(--ff-display);font-optical-sizing:auto;font-weight:400;font-size:clamp(24px,2.5vw,36px);line-height:1.22;letter-spacing:-.012em;color:var(--f-titulo);max-width:30ch;text-wrap:pretty}
.mf-parte p.apoio-mf{color:var(--f-apoio)}
.mf-lado{display:grid;gap:var(--e-3);align-content:start;align-self:start}
.mf-lado .frase{font-size:clamp(22px,2vw,28px);max-width:16ch}
@media (min-width:1101px){.mf-lado{position:sticky;top:calc(var(--topo-h) + 48px)}}
.foto-abre{max-width:500px;margin-left:auto}
.mf-assina{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;padding-top:var(--e-5);border-top:1px solid var(--f-linha)}

/* ---- sobre · o caos (campo de pontos sem foco) ---- */
.caos{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-7);align-items:center}
.caos>*{min-width:0}
.caos-texto{grid-column:1/span 6;display:grid;gap:var(--e-5)}
.caos-texto h2{font-size:var(--t-d1);font-weight:400;line-height:.98;letter-spacing:var(--ls-display)}
.sintomas{list-style:none;display:grid;border-top:1px solid var(--f-linha);counter-reset:sint}
.sintomas li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:var(--e-3);padding:14px 0;border-bottom:1px solid var(--f-linha);font-family:var(--ff-display);font-size:clamp(21px,2vw,26px);line-height:1.2;color:var(--f-titulo);max-width:none;counter-increment:sint}
.sintomas li::before{content:counter(sint,decimal-leading-zero);font-family:var(--ff-mono);font-size:12px;color:var(--f-apoio);padding-top:7px}
.caos-campo{grid-column:8/-1;position:relative;aspect-ratio:1;max-width:520px;width:100%;justify-self:end}
.caos-campo svg{width:100%;height:100%}
.caos-campo circle{fill:var(--noite-linha-2)}
.caos-campo circle.c2{fill:var(--noite-apoio);opacity:.55}
.caos-campo .cc-fio{stroke:var(--noite-linha);stroke-width:1;fill:none}
.caos-legenda{position:absolute;left:0;bottom:0;font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}

/* ---- sobre · a crença ---- */
.crenca{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-7);align-items:center}
.crenca>*{min-width:0}
.crenca .cr-radar{grid-column:1/span 5}
.crenca .cr-txt{grid-column:7/-1;display:grid;gap:var(--e-5)}
.crenca h2{font-size:var(--t-d2);font-weight:400;line-height:1.02;letter-spacing:var(--ls-display)}
.defs{display:grid;border-top:1px solid var(--f-titulo);margin:var(--e-3) 0 0}
.defs div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:var(--calha);padding:var(--e-4) 0;border-bottom:1px solid var(--f-linha)}
.defs dt{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);padding-top:6px}
.defs dd{margin:0;font-family:var(--ff-display);font-size:clamp(20px,1.8vw,24px);line-height:1.3;color:var(--f-titulo)}

/* ---- sobre · o fundador ---- */
.fundador{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-7);align-items:end}
.fundador>*{min-width:0}
.fd-foto{grid-column:1/span 4;width:100%;max-width:320px} /* retrato do fundador: arquivo de 384 px, exibido no máximo a 320 × 400 (P-08) */
.fd-foto .foto{--prop:4/5;border-radius:var(--r-3)}
.fd-txt{grid-column:6/-1;display:grid;gap:var(--e-5);align-content:end}
.fd-txt h2{font-size:var(--t-d1);font-weight:400;line-height:.96;letter-spacing:var(--ls-display)}
.fd-txt .cita p{max-width:28ch}
.fd-papel{display:flex;flex-wrap:wrap;gap:8px 20px;padding-top:var(--e-4);border-top:1px solid var(--f-linha)}

/* ---- sobre · como trabalhamos (método, sistema, gente + a pauta) ---- */
.trabalho{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-7);align-items:start}
.trabalho>*{min-width:0}
.trabalho .tb-txt{grid-column:1/span 5;display:grid;gap:var(--e-6)}
.trabalho .tb-pauta{grid-column:7/-1}
.tres{list-style:none;display:grid;border-top:1px solid var(--f-titulo)}
.tres li{display:grid;gap:4px;padding:var(--e-4) 0;border-bottom:1px solid var(--f-linha);max-width:none}
.tres b{font-family:var(--ff-display);font-weight:500;font-size:22px;color:var(--f-titulo)}
.tres span{font-size:16px;color:var(--f-apoio)}
.tres a{font-size:15px;font-weight:600;color:var(--f-titulo)}
.pauta{position:relative;background:var(--dia);color:var(--dia-corpo);border:1px solid var(--dia-linha);border-radius:var(--r-2);box-shadow:var(--sombra-3);padding:clamp(22px,3vw,40px);display:grid;gap:var(--e-5);transform:rotate(-.6deg)}
.pauta-topo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding-bottom:var(--e-3);border-bottom:2px solid var(--dia-txt)}
.pauta h3{font-size:clamp(24px,2.3vw,30px);font-weight:400;line-height:1.1;letter-spacing:-.015em}
.pauta-item{display:grid;grid-template-columns:32px minmax(0,1fr);gap:10px}
.pauta-item>span{font-family:var(--ff-mono);font-size:11.5px;color:var(--f-apoio);padding-top:3px}
.pauta-item b{display:block;font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio);font-weight:500;margin-bottom:6px}
.pauta-num{font-family:var(--ff-mono);font-size:clamp(30px,3vw,40px);line-height:1;color:var(--f-titulo);letter-spacing:-.03em}
.pauta-num small{font-size:14px;letter-spacing:0;color:var(--f-apoio);margin-left:8px}
.pauta .restricao p{font-size:18px}
.pauta ul{list-style:none;display:grid;gap:6px;font-size:15px}
.pauta ul li{display:flex;gap:10px;align-items:baseline;max-width:none}
.pauta ul li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--f-apoio);flex:none;transform:translateY(-3px)}
.pauta .tab{--min-tab:0px;font-size:14.5px}
.pauta .tab th,.pauta .tab td{padding:9px 10px 9px 0}
.pauta-rodape{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--f-apoio)}

/* ---- sobre · o que não somos ---- */
.nao-somos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--f-titulo)}
.ns{display:grid;gap:var(--e-4);align-content:start;padding:var(--e-6) var(--e-6) var(--e-4) 0;min-width:0}
.ns+.ns{border-left:1px solid var(--f-linha);padding-left:var(--e-6)}
.ns s{font-family:var(--ff-display);font-weight:400;font-size:clamp(34px,3.6vw,54px);line-height:1;letter-spacing:-.025em;color:var(--f-apoio);text-decoration-thickness:2px;text-decoration-color:var(--f-titulo)}
.ns p{font-size:16.5px;color:var(--f-texto);max-width:34ch}
.somos{margin-top:clamp(40px,5vw,72px);font-family:var(--ff-display);font-size:var(--t-d3);line-height:1.15;letter-spacing:-.015em;color:var(--f-titulo);max-width:30ch}

/* ---- casos · contagem na abertura ---- */
.contagem{display:flex;flex-wrap:wrap;gap:var(--e-5) clamp(32px,5vw,72px);margin-top:var(--e-4);padding-top:var(--e-5);border-top:1px solid var(--f-linha)}
.contagem div{display:grid;gap:6px;align-content:start}
.contagem b{font-family:var(--ff-mono);font-weight:400;font-size:clamp(44px,5vw,72px);line-height:.9;letter-spacing:-.04em;color:var(--f-titulo);font-variant-numeric:tabular-nums}
.contagem span{font-size:14.5px;line-height:1.4;color:var(--f-apoio);max-width:20ch}

.prova .prova-texto.largo{grid-column:1/span 7}
/* ---- casos · ficha do caso ---- */
.ficha{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--f-titulo);margin:0}
.ficha div{display:grid;gap:6px;align-content:start;padding:var(--e-4) var(--e-4) var(--e-4) 0;min-width:0}
.ficha div+div{border-left:1px solid var(--f-linha);padding-left:var(--e-4)}
.ficha dt{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.ficha dd{margin:0;font-size:16.5px;line-height:1.4;color:var(--f-titulo);font-weight:500}

/* ---- casos · mil oportunidades em pontos ---- */
.mil{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--calha)}
.mil-bloco{display:grid;gap:var(--e-4);padding:clamp(18px,2.4vw,32px);border:1px solid var(--f-linha);border-radius:var(--r-4);background:var(--f-fundo);min-width:0}
.mil-topo{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}
.mil-topo .v{font-family:var(--ff-mono);font-size:clamp(40px,4.4vw,64px);line-height:.95;letter-spacing:-.04em;color:var(--f-titulo);font-variant-numeric:tabular-nums}
.mil-topo .v small{font-size:.32em;letter-spacing:0;color:var(--f-apoio);margin-left:8px}
.mil-grade{width:100%;height:auto;display:block}
.mil-grade circle{fill:var(--f-linha-2)}
.mil-grade circle.aceso{fill:var(--f-titulo)}
.mil-bloco.depois .mil-topo .v{color:var(--f-foco-titulo)} /* o único laranja da dobra: o número 103; os pontos acesos ficam na cor do texto */
.js .mil-grade circle.aceso{transition:fill 500ms var(--curva-foco)}
.js .mil-grade:not(.visto) circle.aceso{fill:var(--f-linha-2)}
.mil-bloco p.peq{color:var(--f-apoio)}
.nao-dizemos{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--calha);margin-top:clamp(40px,5vw,64px)}
.nao-dizemos li{display:grid;gap:8px;align-content:start;padding-top:var(--e-4);border-top:1px solid var(--f-titulo);max-width:none}
.nao-dizemos b{font-family:var(--ff-display);font-weight:500;font-size:21px;line-height:1.2}
.nao-dizemos span{font-size:15.5px;color:var(--f-apoio)}

/* ---- casos · anatomia de uma prova ---- */
.anatomia{display:grid;gap:clamp(32px,4vw,56px)}
.anatomia .frase-prova{font-family:var(--ff-display);font-optical-sizing:auto;font-weight:400;font-size:clamp(28px,3.6vw,54px);line-height:1.35;letter-spacing:-.018em;color:var(--f-titulo);max-width:30ch;text-wrap:pretty}
.peca{position:relative;border-bottom:2px solid var(--f-titulo);padding-bottom:1px}
.peca sup{position:relative;top:-.9em;margin-left:2px;font-family:var(--ff-mono);font-size:max(11px,.3em);letter-spacing:0;color:var(--f-apoio);font-weight:500}
.pecas{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--calha)}
.pecas li{display:grid;gap:8px;align-content:start;padding-top:var(--e-4);border-top:1px solid var(--f-linha);max-width:none}
.pecas li>span{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.pecas b{font-family:var(--ff-display);font-weight:500;font-size:21px;line-height:1.2}
.pecas p{font-size:15.5px;color:var(--f-apoio)}

/* ---- casos · a conta ao lado de todo número ---- */
.conta{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:0 clamp(16px,2.4vw,40px);padding:clamp(24px,3vw,40px);border:1px solid var(--f-linha);border-radius:var(--r-4);background:var(--f-fundo)}
.conta-termo{display:grid;gap:6px}
.conta-termo b{font-family:var(--ff-display);font-weight:400;font-size:clamp(34px,4.4vw,64px);line-height:1;letter-spacing:-.025em;color:var(--f-titulo)}
.conta-termo span{font-size:14.5px;color:var(--f-apoio);max-width:22ch}
.conta-x{font-family:var(--ff-mono);font-size:clamp(26px,3vw,40px);color:var(--f-apoio);line-height:1;padding-top:clamp(4px,.7vw,12px)}
.conta-origem{grid-column:1/-1;margin-top:var(--e-5);padding-top:var(--e-4);border-top:1px solid var(--f-linha);font-size:15.5px;color:var(--f-texto)}

/* ---- casos · resultados em confirmação ---- */
.vagas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--calha)}
.vaga{display:grid;gap:var(--e-4);align-content:start;min-height:220px;padding:clamp(20px,2.4vw,28px);border:1.5px dashed var(--f-linha-2);border-radius:var(--r-3);background:transparent;min-width:0}
.vaga .vaga-num{font-family:var(--ff-mono);font-size:clamp(44px,4.4vw,64px);line-height:.9;letter-spacing:-.04em;color:var(--f-linha-2)}
.vaga p{font-size:15.5px;color:var(--f-apoio)}

@media (max-width:1100px){
  .nome-partes{grid-template-columns:minmax(0,1fr)}
  .g12>.manifesto,.g12>.mf-lado,.g12.perguntas>*{grid-column:1/-1}
  .np,.np+.np{border-left:0;padding-left:0;padding-right:0}
  .np+.np{border-top:1px solid var(--f-linha)}
  .np{grid-template-columns:minmax(0,1fr) minmax(0,1.3fr);column-gap:var(--calha);align-items:end}
  .np .rot{grid-column:1/-1}
  .converge{grid-template-columns:minmax(0,1fr) minmax(0,.8fr) minmax(0,1.1fr)}
  .pr{grid-template-columns:56px minmax(0,1fr)}
  .pr .pr-corpo{grid-column:2}
  .ct-painel .ct-titulo{grid-column:1/-1}
  .ct-painel dl{grid-column:1/-1}
  .pt-medidor{grid-column:1/span 6}.pt-lista{grid-column:7/-1}
  .caos-texto{grid-column:1/span 7}.caos-campo{grid-column:8/-1}
  .crenca .cr-radar{grid-column:1/span 5}.crenca .cr-txt{grid-column:6/-1}
  .fd-foto{grid-column:1/span 5}.fd-txt{grid-column:6/-1}
  .trabalho .tb-txt,.trabalho .tb-pauta{grid-column:1/-1}
  .trabalho .tb-pauta{max-width:680px}
  .ficha{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ficha div:nth-child(3){border-left:0;padding-left:0}
  .ficha div:nth-child(n+3){border-top:1px solid var(--f-linha)}
  .pecas{grid-template-columns:repeat(2,minmax(0,1fr))}
  .vagas{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .abre-indice{gap:0 18px}
  .np{grid-template-columns:minmax(0,1fr)}
  .converge{grid-template-columns:minmax(0,1fr);gap:0}
  .cv-fios{display:none}
  .cv-faixas{grid-template-rows:none}
  .converge::after{content:none}
  .cv-um{margin-top:var(--e-4);position:relative}
  .cv-um::before{content:"";position:absolute;left:50%;top:-16px;width:1.5px;height:16px;background:var(--f-apoio)}
  .pr{grid-template-columns:minmax(0,1fr)}
  .pr .pr-corpo{grid-column:1}
  .pr-n{padding-top:0}
  .pr dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .ct-nos::before{top:35px}
  .ct-no{padding:14px 0 16px}
  .ct-no .ct-ponto{width:32px;height:32px;font-size:11.5px}
  .ct-no{gap:8px;min-width:0}
  .ct-no .ct-nome{font:500 11px/1.2 var(--ff-texto);letter-spacing:-.005em;white-space:nowrap} /* o nome de cada etapa fica visível embaixo do número */
  .ct-no[aria-selected="true"]::after{left:25%;right:25%}
  .ct-painel dl div{grid-template-columns:minmax(0,1fr);gap:4px}
  .ct-dica{display:none}
  .pt-medidor,.pt-lista{grid-column:1/-1}
  .caos-texto,.caos-campo{grid-column:1/-1}
  .caos-campo{justify-self:center;max-width:min(360px,86vw)}
  .crenca .cr-radar,.crenca .cr-txt{grid-column:1/-1}
  .crenca .cr-radar{max-width:min(380px,90vw);justify-self:center;width:100%}
  .defs div{grid-template-columns:minmax(0,1fr);gap:4px}
  .fd-foto,.fd-txt{grid-column:1/-1}
  .fd-foto{max-width:min(320px,80vw)}
  .pauta{transform:none}
  .nao-somos{grid-template-columns:minmax(0,1fr)}
  .ns,.ns+.ns{border-left:0;padding-left:0;padding-right:0}
  .ns+.ns{border-top:1px solid var(--f-linha)}
  .ficha{grid-template-columns:minmax(0,1fr)}
  .prova .prova-texto.largo{grid-column:1/-1}
  .contagem{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--e-4)}
  .contagem b{font-size:44px}
  .contagem span{font-size:13.5px}
  .ficha div,.ficha div+div{border-left:0;padding-left:0}
  .ficha div+div{border-top:1px solid var(--f-linha)}
  .mil{grid-template-columns:minmax(0,1fr)}
  .nao-dizemos{grid-template-columns:minmax(0,1fr)}
  .pecas{grid-template-columns:minmax(0,1fr)}
  .conta{grid-template-columns:minmax(0,1fr);gap:var(--e-3)}
  .conta-x{padding-top:0;font-size:24px}
  .vagas{grid-template-columns:minmax(0,1fr)}
  .vaga{min-height:0}
  .mf-parte{grid-template-columns:minmax(0,1fr);row-gap:var(--e-3)}
  .foto-abre{--prop:5/4!important;margin-inline:0;max-width:none}
  .mf-parte>span{padding-top:0}
}
@media (prefers-reduced-motion:reduce){
  .cv-fios path.fluxo{animation:none}
  .js .mil-grade:not(.visto) circle.aceso{fill:var(--f-titulo)}
}

/* página linhas */
/* --------------------------------------------------------------------------
   página linhas · /educacao e /agentes (e qualquer página de linha)
   Abertura dia com foto sangrando à direita e faixa da linha na base · degraus
   da esteira · resultado do Raio-X · malha de agentes · painel dos agentes.
   Cor de linha só identifica (faixa, ponto, fio, gráfico); logo e botão laranja.
   -------------------------------------------------------------------------- */
/* abertura de página de linha · .abre-linha > .in > .abre-texto + figure.al-foto */
.abre-linha{position:relative;isolation:isolate;overflow:hidden;padding-inline:var(--margem);
  padding-top:calc(var(--topo-h) + clamp(56px,7vw,112px));padding-bottom:clamp(72px,8vw,128px);min-height:min(94svh,880px);display:grid;align-content:center}
.abre-linha::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:var(--linha);z-index:3}
.abre-linha>.in{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);position:relative;z-index:2}
.abre-linha .abre-texto{grid-column:1/span 6;display:grid;gap:var(--e-5);align-content:center;min-width:0}
.abre-linha h1{font-size:var(--t-d1);font-weight:400;line-height:.98;letter-spacing:var(--ls-display);max-width:11ch}
.abre-linha .lead{max-width:44ch}
.abre-linha .hero-nota{margin-top:calc(-1 * var(--e-2))}
.al-visual{position:absolute;top:var(--topo-h);right:0;bottom:10px;width:min(45vw,780px);z-index:1}
.al-foto{position:absolute;inset:0;aspect-ratio:auto;border-radius:0}
.al-foto>img{height:100%}
.al-foto::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,13,18,.18),transparent 30%);pointer-events:none}
/* cartão de aviso de agente / legenda viva sobre a foto (cor da linha, nunca laranja) */
.al-cartao{position:absolute;z-index:3;left:calc(-1 * clamp(24px,4vw,64px));bottom:clamp(40px,6vw,88px);width:min(340px,80%);
  display:grid;gap:6px;padding:14px 16px 15px;border-radius:12px;background:var(--dia);border:1px solid var(--dia-linha);border-left:3px solid var(--linha);box-shadow:var(--sombra-3)}
.al-cartao .k{display:flex;justify-content:space-between;gap:10px;font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--linha-txt);font-weight:500}
.al-cartao .k span{color:var(--dia-apoio);letter-spacing:.06em}
.al-cartao p{font-size:15px;line-height:1.42;color:var(--dia-txt);max-width:none}
.al-cartao small{font-family:var(--ff-mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dia-apoio)}

/* esteira em degraus (Educação) · ol.degraus > li.degrau[style=--alt:1..3] > .dg-texto + .dg-bloco */
.degraus{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:var(--calha);align-items:end;counter-reset:dg;
  --passo-dg:clamp(40px,4.4vw,72px);--dg-base:262px}
.degrau{display:grid;gap:var(--e-5);align-content:end;min-width:0;max-width:none}
.dg-texto{display:grid;gap:var(--e-3);align-content:start;padding-right:var(--e-3)}
.dg-texto h3{font-size:clamp(26px,2.5vw,36px);font-weight:400;line-height:1.05;letter-spacing:-.015em}
.dg-texto>p:not(.rot){font-size:16.5px;color:var(--f-texto)}
/* a ficha de cada degrau: altura cresce com o degrau (--alt), fundo neutro; a Framboesa fica só na faixa de cima */
.dg-bloco{position:relative;min-height:calc(var(--dg-base) + (var(--alt) - 1) * var(--passo-dg));background:var(--f-fundo);
  border:1px solid var(--f-linha);border-top:3px solid var(--linha);border-radius:0 0 var(--r-3) var(--r-3);
  display:flex;flex-direction:column;justify-content:space-between;gap:var(--e-5);padding:var(--e-5)}
.campo-dia-2 .dg-bloco{background:var(--dia)}
.dg-bloco dl{margin:0}
.dg-bloco dl>div{display:grid;gap:2px;padding:12px 0;border-top:1px solid var(--f-linha)}
.dg-bloco dl>div:first-child{border-top:0;padding-top:0}
.dg-bloco dl>div:last-child{padding-bottom:0}
.dg-bloco dt{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.dg-bloco dd{margin:0;font-size:15.5px;line-height:1.4;color:var(--f-titulo)}
/* mini escada: o degrau atual pintado na cor da linha */
.dg-mini{display:flex;align-items:flex-end;gap:4px}
.dg-mini i{display:block;width:16px;border:1.5px solid var(--f-linha-2);border-radius:2px 2px 0 0}
.dg-mini i:nth-child(1){height:10px}.dg-mini i:nth-child(2){height:18px}.dg-mini i:nth-child(3){height:26px}
.degrau:nth-child(1) .dg-mini i:nth-child(1),.degrau:nth-child(2) .dg-mini i:nth-child(2),.degrau:nth-child(3) .dg-mini i:nth-child(3){background:var(--linha);border-color:var(--linha)}
.dg-mini b{margin-left:10px;font:400 11px/1 var(--ff-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.degrau.cume .dg-bloco{border-top-width:6px}
.js .degraus.revela .dg-bloco{opacity:0;transform:translateY(18px);transition:opacity 700ms var(--curva-foco),transform 1000ms var(--curva-foco)}
.js .degraus.revela .degrau:nth-child(2) .dg-bloco{transition-delay:120ms}
.js .degraus.revela .degrau:nth-child(3) .dg-bloco{transition-delay:240ms}
.js .degraus.revela.visto .dg-bloco{opacity:1;transform:none}
.js .degraus.revela{opacity:1;transform:none}

/* resultado do Raio-X (cartão de exemplo com o gráfico) */
.rx-resultado{gap:var(--e-3)}
.rx-resultado .gviz-host,.rx-resultado [data-gviz]{min-height:200px}
.rx-resultado .rx-zap{display:flex;align-items:center;gap:10px;padding-top:var(--e-3);border-top:1px solid var(--dia-linha);font-size:14.5px;color:var(--dia-apoio)}
.rx-resultado .rx-zap .icone{width:18px;height:18px;color:var(--linha)}

/* passos curtos ao lado de texto (3 colunas que viram lista) */
.passos.curtos li b{font-size:19px}
.passos.curtos li span{font-size:14.5px}

/* frase grande de capítulo sobre foto (variação da .faixa-foto com texto à esquerda) */
.faixa-foto.baixa{min-height:clamp(380px,44vw,620px)}
.faixa-foto .faixa-texto .lead{color:var(--noite-corpo);max-width:40ch}

/* ===== Agentes ===== */
/* três afirmações (o que é Agent as a Service) */
.afirma{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--f-titulo)}
.afirma li{display:grid;gap:var(--e-3);align-content:start;padding:var(--e-5) var(--e-5) var(--e-5) 0;max-width:none;min-width:0}
.afirma li+li{border-left:1px solid var(--f-linha);padding-left:var(--e-5)}
.afirma li .icone{color:var(--linha);width:28px;height:28px;margin-bottom:var(--e-3)}
.afirma li b{font-family:var(--ff-display);font-weight:400;font-size:clamp(26px,2.6vw,38px);line-height:1.06;letter-spacing:-.018em;color:var(--f-titulo)}
.afirma li span{font-size:16.5px;color:var(--f-apoio);max-width:34ch}

/* malha de agentes: abas + palco SVG + painel de texto */
.malha{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--calha);row-gap:var(--e-6);align-items:start}
.malha>*{min-width:0}
.malha-abas{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--f-titulo);border-bottom:1px solid var(--f-linha)}
.malha-aba{position:relative;display:grid;gap:4px;justify-items:start;text-align:left;padding:var(--e-4) var(--e-4) var(--e-4) 0;background:none;border:0;cursor:pointer;color:var(--f-apoio);
  font:inherit;min-height:44px;transition:color var(--d-rapida)}
.malha-aba+.malha-aba{padding-left:var(--e-4);border-left:1px solid var(--f-linha)}
.malha-aba .n{font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase}
.malha-aba .t{font-family:var(--ff-display);font-size:clamp(20px,1.9vw,26px);line-height:1.15;color:inherit}
.malha-aba::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--linha);transform:scaleX(0);transform-origin:0 50%;transition:transform var(--d-lenta) var(--curva-foco)}
.malha-aba+.malha-aba::after{left:var(--e-4)}
.malha-aba:hover{color:var(--f-titulo)}
.malha-aba[aria-selected="true"]{color:var(--f-titulo)}
.malha-aba[aria-selected="true"] .n{color:var(--linha-cor)}
.malha-aba[aria-selected="true"]::after{transform:none}
.malha-aba:focus-visible{outline-offset:-2px}
.malha-palco{grid-column:1/span 8;position:relative;border:1px solid var(--f-linha);border-radius:var(--r-4);background:var(--f-fundo);padding:clamp(8px,1.6vw,20px);overflow:hidden}
.malha-palco svg{width:100%;height:auto;display:block;overflow:visible}
.malha-painel{grid-column:9/-1;display:grid;gap:var(--e-4);align-content:start;padding-top:var(--e-3)}
.malha-painel[hidden]{display:none!important}
.malha-painel h3{font-size:var(--t-d3);font-weight:400;line-height:1.08;letter-spacing:-.015em}
.malha-painel>p{color:var(--f-texto)}
.malha-nota{grid-column:1/span 8;margin-top:calc(-1 * var(--e-4))}
/* desenho (classes geradas pelo script da página Agentes) */
.mlh-fio{fill:none;stroke:var(--f-linha-2);stroke-width:1.25;transition:stroke var(--d-lenta) var(--curva-padrao),opacity var(--d-lenta) var(--curva-padrao)}
.mlh-fio.on{stroke:var(--linha);stroke-width:1.6}
.mlh-fio.anel.on{stroke-width:1.25;opacity:.7}
.mlh-fio.raio{stroke-dasharray:2 5}
.mlh-fio.raio.on{opacity:.75}
.mlh-fio.futuro{opacity:0}
.mlh-pulso{fill:var(--linha)}
.mlh-no text{paint-order:stroke;stroke:var(--f-fundo);stroke-width:5px;stroke-linejoin:round}
.mlh-no .nome{font-family:var(--ff-texto);font-size:16.5px;font-weight:500;fill:var(--f-apoio);transition:fill var(--d-lenta)}
.mlh-no .sub{font-family:var(--ff-mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;fill:var(--f-apoio)}
.modo-a .mlh-no .nome{font-size:13.5px}
.modo-a .mlh-no .sub{font-size:9.5px}
.mlh-no.agente .miolo{fill:var(--f-fundo);stroke:var(--f-linha-2);stroke-width:1.5;transition:fill var(--d-lenta),stroke var(--d-lenta)}
.mlh-no.agente .halo{fill:var(--linha);opacity:0;transition:opacity var(--d-lenta)}
.mlh-no.agente .ping{fill:none;stroke:var(--linha);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
.mlh-no.agente.on .miolo{fill:var(--linha);stroke:var(--linha)}
.mlh-no.agente.on .halo{opacity:.15}
.mlh-no.agente.on .nome{fill:var(--f-titulo)}
.mlh-no.agente.novo .ping{animation:mlh-ping 1100ms var(--curva-entrada) 1}
@keyframes mlh-ping{from{opacity:.7;transform:scale(.5)}to{opacity:0;transform:scale(1.9)}}
.mlh-no.hub .miolo{fill:var(--f-sup);stroke:var(--f-titulo);stroke-width:1.5}
.mlh-no.hub .anel-hub{fill:none;stroke:var(--f-linha-2);stroke-width:1;stroke-dasharray:2 4}
.mlh-no.hub .ic-hub *{fill:none;stroke:var(--f-titulo);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.mlh-no.hub .nome,.mlh-no.ponta .nome{fill:var(--f-titulo)}
.mlh-no.ponta .miolo{fill:var(--f-fundo);stroke:var(--f-titulo);stroke-width:1.5}
.mlh-rotulo{font-family:var(--ff-mono);font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;fill:var(--linha-cor)}
.modo-a .mlh-rotulo{font-size:10px}

/* painel dos agentes (noite): um dia de trabalho, item a item */
.painel-agentes{position:relative;border:1px solid var(--f-linha);border-radius:var(--r-4);background:var(--f-sup);overflow:hidden;min-width:0}
.pa-topo{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px clamp(16px,2vw,22px);border-bottom:1px solid var(--f-linha);
  font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.pa-vivo{display:inline-flex;align-items:center;gap:8px;color:var(--linha-cor)}
.pa-vivo::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--linha)}
.pa-relogio{color:var(--f-titulo);font-variant-numeric:tabular-nums}
.pa-lista{list-style:none;display:grid;gap:10px;padding:clamp(14px,2vw,22px)}
.pa-item{display:grid;grid-template-columns:52px minmax(0,1fr);gap:4px 14px;padding:14px 16px 15px;border:1px solid var(--f-linha);border-left:3px solid var(--linha);
  border-radius:10px;background:var(--noite);max-width:none}
.pa-item time{grid-row:1/4;font-family:var(--ff-mono);font-size:13px;color:var(--f-apoio);padding-top:1px;font-variant-numeric:tabular-nums}
.pa-item .quem{font-family:var(--ff-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--linha-cor)}
.pa-item p{font-size:15.5px;line-height:1.45;color:var(--f-titulo);max-width:none}
.pa-item .acao{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--f-apoio)}
.pa-item .acao::before{content:"";width:14px;height:14px;flex:none;background:currentColor;opacity:.85;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 10 5 5-5 5'/%3E%3Cpath d='M4 4v7a4 4 0 0 0 4 4h12'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15 10 5 5-5 5'/%3E%3Cpath d='M4 4v7a4 4 0 0 0 4 4h12'/%3E%3C/svg%3E") center/contain no-repeat} /* seta corner-down-right (Lucide) */
.pa-item .acao b{color:var(--f-titulo);font-weight:600}
.pa-item.foco{border-left-color:var(--foco)}
.pa-item.foco .acao b{color:var(--f-foco)}
/* rodapé do painel: só existe quando o painel "toca" (JS e movimento permitido) */
.pa-base{display:none;align-items:center;justify-content:space-between;gap:12px;min-height:60px;padding:8px clamp(14px,2vw,22px);border-top:1px solid var(--f-linha)}
.js .painel-agentes.toca .pa-base{display:flex}
.pa-digitando{display:inline-flex;align-items:center;gap:10px;font-size:13.5px;color:var(--f-apoio);visibility:hidden}
.pa-digitando i{display:inline-flex;gap:4px}
.pa-digitando i b{width:5px;height:5px;border-radius:50%;background:var(--linha);opacity:.4;animation:pa-ponto 1.2s infinite var(--curva-padrao)}
.pa-digitando i b:nth-child(2){animation-delay:.15s}.pa-digitando i b:nth-child(3){animation-delay:.3s}
@keyframes pa-ponto{0%,60%,100%{opacity:.35;transform:none}30%{opacity:1;transform:translateY(-2px)}}
.painel-agentes.ativo .pa-digitando{visibility:visible}
.js .painel-agentes.toca .pa-item{opacity:0}
.js .painel-agentes.toca .pa-item.mostra{opacity:1;animation:pa-entra 640ms var(--curva-entrada) both}
@keyframes pa-entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.pa-rever{visibility:hidden;display:inline-flex;align-items:center;gap:8px;font:600 14.5px/1 var(--ff-texto);color:var(--f-titulo);background:none;border:1px solid var(--f-linha-2);border-radius:var(--r-2);
  min-height:44px;padding:0 16px;cursor:pointer;margin-left:auto}
.pa-rever .icone{width:16px;height:16px;color:currentColor}
.pa-rever:hover{border-color:var(--f-titulo)}
.painel-agentes.fim .pa-rever{visibility:visible}

/* diferença: lista de "ligado a" com ícone */
.ligado{list-style:none;display:grid;border-top:1px solid var(--f-linha)}
.ligado li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:var(--e-3);padding:var(--e-5) 0;border-bottom:1px solid var(--f-linha);max-width:none}
.ligado li .icone{color:var(--linha);margin-top:3px}
.ligado li b{display:block;font-family:var(--ff-display);font-weight:500;font-size:21px;line-height:1.25;color:var(--f-titulo);margin-bottom:4px}
.ligado li span{font-size:16px;color:var(--f-apoio)}

/* responsivo das páginas de linha */
@media (max-width:1100px){
  /* nas páginas de linha, coluna larga com início (.c-6 a .c-9 + .de-*) ocupa a largura toda abaixo de 1100 px */
  body:is([data-linha="educacao"],[data-linha="agentes"]) .g12>:is(.c-6,.c-7,.c-8,.c-9)[class*="de-"]{grid-column:1/-1}
  .abre-linha .abre-texto{grid-column:1/span 7}
  .al-visual{width:40vw}
  .malha-palco,.malha-nota{grid-column:1/-1}
  .malha-painel{grid-column:1/span 9}
  .afirma li b{font-size:clamp(24px,3.2vw,32px)}
}
@media (max-width:900px){
  .abre-linha>.in{min-width:0}
  .abre-linha .selo-linha{white-space:normal;width:auto;justify-self:start}
  .abre-linha{min-height:auto;padding-bottom:calc(10px + clamp(40px,8vw,56px));align-content:start}
  .abre-linha .abre-texto{grid-column:1/-1}
  .abre-linha>.in{display:block}
  .al-visual{position:relative;top:auto;right:auto;bottom:auto;width:auto;margin:clamp(40px,8vw,64px) calc(-1 * var(--margem)) 0}
  .al-foto{position:relative;inset:auto;aspect-ratio:4/3}
  .al-cartao{position:relative;left:auto;bottom:auto;width:auto;max-width:420px;margin:-56px var(--margem) 0}
}
@media (max-width:760px){
  .degraus{grid-template-columns:minmax(0,1fr);row-gap:var(--e-8)}
  .degrau{grid-template-rows:auto auto}
  .dg-bloco{min-height:0;padding:var(--e-4)}
  .dg-bloco{gap:var(--e-4)}
  .afirma{grid-template-columns:minmax(0,1fr)}
  .afirma li,.afirma li+li{border-left:0;padding-left:0;padding-right:0}
  .afirma li+li{border-top:1px solid var(--f-linha)}
  .malha-abas{grid-template-columns:minmax(0,1fr)}
  .malha-aba,.malha-aba+.malha-aba{padding:12px 0;border-left:0;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:12px}
  .malha-aba+.malha-aba{border-top:1px solid var(--f-linha)}
  .malha-aba+.malha-aba::after{left:0}
  .malha-aba .t{font-size:20px}
  .malha-painel{grid-column:1/-1}
  .malha-palco{padding:6px}
  .pa-item{grid-template-columns:minmax(0,1fr)}
  .pa-item time{grid-row:auto}
}
@media (prefers-reduced-motion:reduce){
  .js .degraus.revela .dg-bloco{transform:none;opacity:1}
  .js .painel-agentes.toca .pa-item{opacity:1}
}
@media print{.js .painel-agentes.toca .pa-item{opacity:1}.pa-base{display:none!important}}

/* ---- respostas diretas (SEO para IA, 04/10/2026): "Em resumo" nas páginas de linha e fichas de fatos/termos ---- */
.cab .resumo{grid-column:1/-1;max-width:72ch;font-size:16.5px;line-height:1.6;color:var(--f-texto);padding-top:var(--e-4);border-top:1px solid var(--f-linha)}
.resumo b{display:block;margin-bottom:6px;font-family:var(--ff-mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--f-apoio)}
.defs.fatos dd,.defs.termos dd{font-family:var(--ff-texto);font-size:17px;line-height:1.5}
.defs.termos dd{font-size:17.5px}
.defs.fatos dd a,.defs.termos dd a{color:var(--f-titulo);text-underline-offset:3px;overflow-wrap:anywhere}
.defs.termos dt{color:var(--f-titulo)}
@media (max-width:420px){
  .defs div{grid-template-columns:minmax(0,1fr);gap:6px}
  .defs dt{padding-top:0}
}
