@font-face {
  font-family: 'DM Serif Display';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url('/fontes/dm-serif-display-latin-regular.woff2') format('woff2');
}
@font-face {
  font-family: 'DM Serif Display';
  font-style: italic;
  font-weight: 400;
  font-display: block;
  src: url('/fontes/dm-serif-display-latin-italic.woff2') format('woff2');
}

/* ==================================================================
   Tia Juh — folha única: site, /admin e periódico impresso.
   Direção: azul-tinta e amarelo-manteiga como base, rosa-marcador
   como acento. O contrário do sistema engessado e sem cor.
   ================================================================== */

:root{
  --tinta:#14224B;
  --tinta-2:#1E3068;
  --manteiga:#FFF3DF;
  --branco:#FFFFFF;
  --rosa:#FF4D8D;
  --rosa-fundo:#D93A75;
  --uva:#6B3FD4;
  --verde:#00A67E;
  --ambar:#F5A524;
  --vermelho:#E5484D;

  --texto:#14224B;
  --texto-fraco:#5C6890;
  --linha:#E7DFCE;
  --linha-forte:#D3C7AE;

  --display:'Bricolage Grotesque',ui-sans-serif,system-ui,sans-serif;
  --corpo:'Figtree',ui-sans-serif,system-ui,-apple-system,sans-serif;
  --mono:'DM Mono',ui-monospace,'SFMono-Regular',Menlo,monospace;

  --r:14px;
  --sombra:0 1px 0 rgba(20,34,75,.04), 0 6px 20px -8px rgba(20,34,75,.18);
  --larga:1120px;
}

*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--manteiga);color:var(--texto);
  font-family:var(--corpo);font-size:16px;line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto}
a{color:inherit}
button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}
:focus-visible{outline:3px solid var(--rosa);outline-offset:2px;border-radius:6px}
h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;line-height:1.08;margin:0}

.faixa-larga{max-width:var(--larga);margin:0 auto;padding:0 20px}
.centro{text-align:center}
.miudo{font-size:13.5px;color:var(--texto-fraco)}
.estreito{max-width:760px;margin-left:auto;margin-right:auto}
.estreito-txt{max-width:62ch}
.cresce{flex:1}
.inline{display:inline}

/* ---------- marca ---------- */
.marca{display:flex;align-items:center;gap:11px;text-decoration:none}
.brasao{
  width:38px;height:38px;border-radius:11px;background:var(--rosa);
  display:grid;place-items:center;flex:none;color:#fff;
  font-family:var(--display);font-weight:800;font-size:15px;letter-spacing:-.02em;
}
.brasao-g{width:56px;height:56px;border-radius:16px;font-size:22px;margin:0 auto 14px}
.marca-txt{display:flex;flex-direction:column;line-height:1.15}
.marca-nome{font-family:var(--display);font-weight:700;font-size:17px}
.marca-sub{font-size:11.5px;color:var(--texto-fraco)}

/* ---------- botões ---------- */
.botao{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-weight:700;font-size:15px;padding:12px 20px;border-radius:11px;
  text-decoration:none;white-space:nowrap;transition:transform .12s,box-shadow .12s,border-color .15s;
}
.botao-g{padding:15px 26px;font-size:16px}
.botao-p{background:var(--rosa);color:#fff;box-shadow:0 2px 0 var(--rosa-fundo)}
.botao-p:hover{transform:translateY(-1px);box-shadow:0 3px 0 var(--rosa-fundo)}
.botao-p:active{transform:translateY(1px);box-shadow:0 1px 0 var(--rosa-fundo)}
.botao-p[disabled]{opacity:.45;pointer-events:none}
.botao-s{background:var(--branco);color:var(--tinta);border:1px solid var(--linha-forte);font-weight:600}
.botao-s:hover{border-color:var(--tinta)}
.link-perigo{font-size:13px;font-weight:600;color:var(--vermelho);text-decoration:underline}

/* ---------- selos ---------- */
.selo{
  display:inline-flex;align-items:center;gap:5px;white-space:nowrap;
  font-size:12px;font-weight:600;padding:4px 9px;border-radius:7px;border:1px solid transparent;
}
.selo-ico{font-size:12px;line-height:1}
.s-verde{background:#E1F7F0;color:#00654E;border-color:#B6EADC}
.s-ambar{background:#FFF3D9;color:#7A4E00;border-color:#F7DFA8}
.s-vermelho{background:#FEEBEC;color:#A31E22;border-color:#F7C9CB}
.s-bolo{background:#FFF7D6;color:#7A5A00;border-color:#F0DFA0}

/* ---------- formulários ---------- */
.formulario{display:flex;flex-direction:column;gap:15px;margin-top:8px}
.formulario label{display:flex;flex-direction:column;gap:6px}
.formulario label > span{font-size:14px;font-weight:600}
.formulario label > span i{font-weight:400;color:var(--texto-fraco);font-style:normal}
.dica-campo{font-size:12.5px;color:var(--texto-fraco);font-style:normal}
input,select,textarea{
  font:inherit;font-size:15px;color:var(--texto);width:100%;
  padding:11px 13px;border-radius:10px;background:var(--branco);
  border:1.5px solid var(--linha-forte);
}
textarea{resize:vertical;min-height:76px}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--rosa)}
.dupla{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.formulario-linha{flex-direction:row;align-items:flex-end;gap:10px;flex-wrap:wrap}
.formulario-linha input{min-width:180px}
.acoes{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.acoes-fim{margin-top:20px}
.acoes-centro{justify-content:center;margin-top:16px}
.borda-cima{margin-top:20px;padding-top:20px;border-top:1px solid var(--linha)}
.linha-data{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin-bottom:18px}
.linha-data label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.linha-data input,.linha-data select{width:auto;min-width:190px}

.aviso{padding:12px 16px;border-radius:11px;font-size:14.5px;font-weight:600;margin:0 0 18px}
.aviso-ok{background:#E1F7F0;color:#00654E}
.aviso-erro{background:#FEEBEC;color:#A31E22}
.vazio{padding:26px 4px;text-align:center;color:var(--texto-fraco)}
.vazio p{margin:0 0 14px}

/* ==================================================================
   SITE
   ================================================================== */

.site-topo{background:var(--tinta);position:sticky;top:0;z-index:40}
.site-topo-in{display:flex;align-items:center;gap:20px;padding-top:14px;padding-bottom:14px;flex-wrap:wrap}
.site-topo .marca{margin-right:auto}
.site-topo .marca-nome{color:#fff}
.site-topo .marca-sub{color:#9AA8D4}
.site-nav{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.nav-link{
  padding:8px 14px;border-radius:999px;font-size:14.5px;font-weight:600;
  color:#A9B5DC;text-decoration:none;
}
.nav-link:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav-link.ativo{color:#fff;background:rgba(255,255,255,.13)}

.olho{
  font-family:var(--mono);font-size:12.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--texto-fraco);margin:0 0 10px;
}
.olho-claro{color:#9AA8D4}

.heroi{background:var(--manteiga);padding:72px 0 60px}
.heroi-titulo{font-size:clamp(34px,6.2vw,64px);font-weight:700;max-width:17ch}
.marca-seis{
  background:linear-gradient(transparent 62%, #FFD9E6 62%);
  padding:0 2px;
}
.heroi-virada{display:block;color:var(--rosa);margin-top:.15em}
.heroi-legenda{font-size:clamp(16px,2vw,18.5px);color:var(--texto-fraco);max-width:60ch;margin:26px 0 0}
.heroi-acoes{display:flex;gap:12px;flex-wrap:wrap;margin-top:32px}
.heroi-acoes.centro{justify-content:center}

.tira-numeros{background:var(--tinta);color:#fff;padding:34px 0}
.numeros{
  display:grid;gap:26px;text-align:center;
  grid-template-columns:repeat(auto-fit,minmax(170px,1fr));
}
.numero-valor{
  display:block;font-family:var(--display);font-weight:800;
  font-size:clamp(30px,5vw,46px);letter-spacing:-.04em;color:var(--rosa);
}
.numero-rotulo{display:block;font-size:14px;color:#A9B5DC;margin-top:4px}

.secao{padding:72px 0}
.secao-topo{padding-top:56px}
.secao-titulo{font-size:clamp(26px,4vw,40px);font-weight:700}
.pagina-titulo{font-size:clamp(30px,5.4vw,50px);font-weight:700;max-width:18ch}
.chamada{font-size:17.5px;color:var(--texto-fraco);max-width:62ch;margin:20px 0 34px}
.secao-mais{margin-top:28px}
.secao-mais a{font-weight:700;color:var(--rosa);text-decoration:none}
.secao-escura{background:var(--tinta);color:#fff}
.secao-escura .secao-titulo{color:#fff}
.tese{max-width:820px}
.tese-txt{font-size:17.5px;color:#B9C4E4;max-width:58ch;margin:22px 0 30px}

.casos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:34px}
.casos-todos{grid-template-columns:repeat(auto-fill,minmax(290px,1fr))}
.caso{
  margin:0;background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--r);padding:24px;box-shadow:var(--sombra);
  display:flex;flex-direction:column;gap:16px;
}
.caso blockquote{
  margin:0;font-size:17px;line-height:1.5;font-weight:500;
}
.caso blockquote::before{content:'“'}
.caso blockquote::after{content:'”'}
.caso figcaption{display:flex;flex-direction:column;gap:2px;margin-top:auto}
.caso-nome{font-family:var(--display);font-weight:700;font-size:16px}
.caso-det{font-size:13px;color:var(--texto-fraco)}
.caso-autor{font-size:13px;color:var(--texto-fraco);font-style:italic}

.colunas{display:grid;grid-template-columns:1fr 1.3fr;gap:44px;align-items:start}
.passos{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:22px}
.passos li{display:flex;gap:18px}
.passo-n{
  width:36px;height:36px;border-radius:11px;flex:none;
  display:grid;place-items:center;background:var(--rosa);color:#fff;
  font-family:var(--display);font-weight:800;font-size:16px;
}
.passos h3{font-size:19px;margin-bottom:5px}
.passos p{margin:0;color:var(--texto-fraco)}

.pilares{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:34px 0}
.pilares article{
  background:var(--branco);border:1px solid var(--linha);
  border-radius:var(--r);padding:24px;box-shadow:var(--sombra);
}
.pilares h2{font-size:20px;margin-bottom:9px}
.pilares p{margin:0;color:var(--texto-fraco)}

.destaque{
  background:var(--branco);border-left:4px solid var(--uva);
  border-radius:0 var(--r) var(--r) 0;padding:22px 26px;margin:30px 0;
}
.destaque p{margin:0;font-size:17px}
.fechamento{margin-top:56px;padding-top:40px;border-top:2px solid var(--linha-forte);text-align:center}
.fechamento .botao{margin-top:22px}
.confirma{
  width:64px;height:64px;border-radius:50%;background:var(--verde);color:#fff;
  display:grid;place-items:center;font-size:30px;margin:0 auto 22px;
}
.centro .pagina-titulo,.centro .chamada{margin-left:auto;margin-right:auto}

.site-rodape{background:var(--tinta);color:#9AA8D4;padding:44px 0;margin-top:0}
.rodape-in{display:flex;gap:30px;justify-content:space-between;flex-wrap:wrap}
.site-rodape .marca-nome{color:#fff}
.rodape-txt{margin:12px 0 0;font-size:14px}
.rodape-nav{display:flex;flex-direction:column;gap:8px}
.rodape-nav a{font-size:14.5px;text-decoration:none}
.rodape-nav a:hover{color:#fff}

/* ---------- matrícula ---------- */
.matricula{max-width:720px;margin:0 auto;padding:0 20px 80px}
.mat-topo{padding:24px 0}
.mat-corpo{padding-top:12px}
.mat-etapas{list-style:none;margin:32px 0;padding:0;display:flex;flex-direction:column;gap:2px}
.mat-etapa{display:flex;gap:15px;padding:14px 16px;border-radius:11px}
.mat-etapa h2{font-size:16px;font-family:var(--corpo);font-weight:700;letter-spacing:0}
.mat-etapa p{margin:2px 0 0;font-size:14px;color:var(--texto-fraco)}
.mat-n{
  width:30px;height:30px;border-radius:9px;flex:none;display:grid;place-items:center;
  background:var(--linha);color:var(--texto-fraco);font-weight:700;font-size:14px;
}
.mat-etapa.agora{background:var(--branco);box-shadow:var(--sombra)}
.mat-etapa.agora .mat-n{background:var(--rosa);color:#fff}
.mat-etapa.feita .mat-n{background:var(--verde);color:#fff}
.mat-bloco{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);
  padding:26px;margin-bottom:18px;box-shadow:var(--sombra);
}
.bloco-titulo{font-size:19px;margin-bottom:12px}
.mat-bloco p{margin:0 0 14px;color:var(--texto-fraco)}
.mat-bloco.destaque-forte{border:2px solid var(--uva)}
.mat-bloco.alerta{border:2px solid var(--ambar);background:#FFFBF0}
.mat-bloco.alerta p{color:var(--texto)}
.copiavel{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.copiavel code{
  font-family:var(--mono);font-size:16px;background:var(--manteiga);
  padding:12px 16px;border-radius:10px;border:1px dashed var(--linha-forte);
  min-width:0;max-width:100%;overflow-wrap:anywhere;word-break:break-word;
}
.parcelas{white-space:pre-wrap;font-size:16px;background:var(--manteiga);padding:16px;border-radius:11px}
.mat-rodape{text-align:center;color:var(--texto-fraco);font-size:14px;padding-top:10px}

/* ==================================================================
   ADMIN
   ================================================================== */

.admin .barra{background:var(--tinta);color:#fff;position:sticky;top:0;z-index:40}
.barra-in{max-width:var(--larga);margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.barra .marca{margin-right:auto}
.barra .marca-nome{color:#fff}
.barra .marca-sub{color:#9AA8D4}
.abas{display:flex;gap:4px;flex-wrap:wrap}
.aba{padding:8px 14px;border-radius:999px;font-size:14.5px;font-weight:600;color:#A9B5DC;text-decoration:none}
.aba:hover{color:#fff;background:rgba(255,255,255,.08)}
.aba.ativo{background:var(--rosa);color:#fff}
.sair button{font-size:13.5px;color:#8794C4;font-weight:600}
.sair button:hover{color:#fff}

.wrap{max-width:var(--larga);margin:0 auto;padding:34px 20px 90px}
.cabeca{display:flex;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.cabeca-txt{margin-right:auto}
.cabeca h1{font-size:clamp(28px,4.6vw,42px);font-weight:700}
.cabeca h1 em{font-style:normal;color:var(--rosa)}
.legenda{color:var(--texto-fraco);margin:9px 0 0;max-width:60ch;font-size:15px}
.voltar{display:inline-block;font-size:14px;color:var(--texto-fraco);font-weight:600;text-decoration:none;margin-bottom:16px}
.voltar:hover{color:var(--rosa)}

.grade{display:grid;gap:18px}
.grade-2{grid-template-columns:1fr 1fr}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:22px;box-shadow:var(--sombra)}
.estreito-cartao{max-width:640px}
.rotulo{
  font-family:var(--mono);font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;
  color:var(--texto-fraco);display:flex;align-items:center;gap:8px;margin-bottom:16px;
}
.rotulo b{color:var(--texto);font-weight:500}
.rotulo-acao{margin-left:auto;text-transform:none;letter-spacing:0;font-family:var(--corpo);font-size:13px;color:var(--rosa);text-decoration:none;font-weight:600}

.aniv{display:flex;flex-direction:column;gap:10px}
.aniv-item{
  display:flex;align-items:center;gap:14px;padding:13px 15px;border-radius:11px;
  background:var(--manteiga);border:1px solid var(--linha);text-decoration:none;
}
.aniv-item:hover{border-color:var(--rosa)}
.aniv-item.hoje{background:#FFF7D6;border-color:var(--ambar)}
.bolo{font-size:21px;line-height:1;flex:none}
.aniv-nome{font-weight:600;font-size:15.5px}
.aniv-meta{display:block;font-size:13px;color:var(--texto-fraco)}
.quando{
  margin-left:auto;font-family:var(--mono);font-size:12px;padding:4px 10px;
  border-radius:999px;background:var(--tinta);color:#fff;white-space:nowrap;
}
.aniv-item.hoje .quando{background:var(--ambar);color:#3D2A00;font-weight:500}

.pend{list-style:none;margin:0;padding:0}
.pend li{display:flex;align-items:center;gap:13px;padding:13px 2px;border-bottom:1px solid var(--linha);font-size:15px}
.pend li:last-child{border-bottom:0;padding-bottom:0}
.pend a{text-decoration:none}
.pend a:hover{color:var(--rosa)}
.ponto{width:9px;height:9px;border-radius:50%;flex:none}
.pend .conta{margin-left:auto;font-family:var(--mono);font-size:13px;color:var(--texto-fraco)}

.turma-linha,.aluno-linha,.chamada-linha{
  display:flex;align-items:center;gap:15px;padding:15px 18px;
  background:var(--branco);border:1px solid var(--linha);border-radius:12px;text-decoration:none;
}
.turma-linha{transition:border-color .15s,transform .15s}
.turma-linha + .turma-linha{margin-top:10px}
.turma-linha:hover,.aluno-linha:hover{border-color:var(--rosa)}
.turma-linha:hover{transform:translateX(3px)}
.aluno-linha + .aluno-linha,.chamada-linha + .chamada-linha{margin-top:8px}
.horario{font-family:var(--mono);font-size:13px;color:#fff;background:var(--tinta);padding:7px 11px;border-radius:9px;white-space:nowrap;flex:none}
.turma-nome,.aluno-nome{font-weight:600;font-size:15.5px}
.turma-meta,.aluno-meta{font-size:13px;color:var(--texto-fraco)}
.pilha{display:flex;gap:5px;margin-left:auto;align-items:center;flex-wrap:wrap}
.pilha-topo{margin:0 0 22px;justify-content:flex-start}
.seta{color:var(--texto-fraco);font-size:19px;flex:none}
.inicial{
  width:38px;height:38px;border-radius:11px;flex:none;display:grid;place-items:center;
  font-family:var(--display);font-weight:700;font-size:15px;color:#fff;background:var(--uva);
}
.chave{display:flex;gap:18px;flex-wrap:wrap;font-size:13px;color:var(--texto-fraco);margin-top:20px;padding-top:16px;border-top:1px solid var(--linha)}
.chave div{display:flex;align-items:center;gap:7px}
.chave-nota{color:var(--texto-fraco)}

.dados{margin:0;display:flex;flex-direction:column;gap:12px}
.dados > div{display:flex;gap:14px;align-items:baseline}
.dados dt{font-size:14px;color:var(--texto-fraco);flex:none;width:120px}
.dados dd{margin:0;font-size:15px;font-weight:600}

.lista-simples{display:flex;flex-direction:column;gap:8px}
.linha-simples{
  display:flex;align-items:center;gap:12px;padding:13px 16px;border-radius:11px;
  background:var(--manteiga);border:1px solid var(--linha);text-decoration:none;font-size:15px;
}
.linha-simples:hover{border-color:var(--rosa)}
.linha-simples .seta{margin-left:auto}
.linha-config{display:flex;gap:14px;align-items:center;padding:11px 0;border-bottom:1px solid var(--linha);font-size:14.5px}
.linha-config span{flex:1}

.notas{margin-top:18px;display:flex;flex-direction:column;gap:2px}
.nota-item{display:flex;gap:14px;padding:11px 0;border-bottom:1px solid var(--linha)}
.nota-data{font-family:var(--mono);font-size:12px;color:var(--texto-fraco);flex:none;width:82px;padding-top:2px}
.nota-item p{margin:0;font-size:15px}

.lead{border:1px solid var(--linha);border-radius:12px;background:var(--branco);margin-bottom:8px}
.lead summary{display:flex;align-items:center;gap:14px;padding:15px 18px;cursor:pointer;list-style:none}
.lead summary::-webkit-details-marker{display:none}
.lead[open] summary{border-bottom:1px solid var(--linha)}
.lead-corpo{padding:18px}

/* ---------- opções clicáveis (chamada e periódico) ---------- */
.opcoes{display:flex;gap:7px;flex-wrap:wrap}
.opcao{
  padding:8px 14px;border-radius:9px;font-size:14px;font-weight:600;
  border:1.5px solid var(--linha-forte);color:var(--texto-fraco);
  background:var(--branco);transition:all .13s;
}
.opcao:hover{border-color:var(--tinta);color:var(--tinta)}
.opcao[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:#fff}
.opcao[aria-pressed="true"][data-peso="alerta"]{background:var(--vermelho);border-color:var(--vermelho);color:#fff}
.opcao[aria-pressed="true"][data-peso="meio"]{background:var(--ambar);border-color:var(--ambar);color:#3D2A00}
.opcao-mostra{cursor:default}
.criterio{padding:16px 0;border-bottom:1px solid var(--linha)}
.criterio-config{padding:16px 0;border-bottom:1px solid var(--linha)}
.criterio-nome{font-weight:600;font-size:15px;margin-bottom:3px}
.criterio-dica{font-size:12.5px;color:var(--texto-fraco);margin-bottom:11px}
.chamada-linha .opcoes{margin-left:auto}

.frases{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.frase{
  font-size:13px;font-weight:600;padding:7px 12px;border-radius:8px;
  background:#F3EFFB;color:var(--uva);border:1px solid #E0D6F7;text-align:left;
}
.frase:hover{background:var(--uva);color:#fff;border-color:var(--uva)}
.frases-rotulo{font-size:12.5px;color:var(--texto-fraco);margin-top:14px}
.bloco-coment{padding-top:18px}

/* ---------- gerador ---------- */
.gerador{max-width:720px;margin:0 auto}
.destaque-nome{font-family:var(--display);font-weight:700;font-size:24px;letter-spacing:-.02em}
.campo-periodo{max-width:280px;margin:18px auto 0;text-align:left}
.trilho{
  position:sticky;top:66px;z-index:30;background:var(--tinta);color:#fff;
  border-radius:14px;padding:15px 20px;margin-bottom:20px;
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
}
.trilho-txt{font-size:13.5px;color:#A9B5DC}
.trilho-txt b{color:#fff;font-weight:600}
.cronometro{margin-left:auto;font-family:var(--mono);font-size:26px;font-weight:500;font-variant-numeric:tabular-nums}
.barra-prog{width:100%;height:5px;border-radius:99px;background:rgba(255,255,255,.16);overflow:hidden}
.barra-prog i{display:block;height:100%;width:0;background:var(--rosa);border-radius:99px;transition:width .35s cubic-bezier(.2,.7,.3,1)}
.ficha-topo{display:flex;align-items:center;gap:14px;padding-bottom:18px;margin-bottom:6px;border-bottom:1px solid var(--linha)}
.ficha-nome{font-family:var(--display);font-weight:700;font-size:23px;letter-spacing:-.02em}
.dica{font-size:13px;color:var(--texto-fraco);margin-left:auto}

.resultado{text-align:center;padding:18px 0 6px}
.numeraco{
  font-family:var(--display);font-weight:800;font-size:clamp(58px,14vw,110px);
  line-height:.9;letter-spacing:-.045em;color:var(--rosa);font-variant-numeric:tabular-nums;
}
.numeraco small{font-size:.4em;color:var(--tinta);letter-spacing:-.02em}
.resultado-sub{font-size:17px;font-weight:600;margin-top:12px}

/* ---------- entrar ---------- */
.entrar{min-height:100vh;display:grid;place-items:center;padding:30px 20px}
.entrar-cartao{
  width:100%;max-width:380px;background:var(--branco);border:1px solid var(--linha);
  border-radius:18px;padding:34px;box-shadow:var(--sombra);
  display:flex;flex-direction:column;gap:15px;text-align:center;
}
.entrar-cartao h1{font-size:24px}
.entrar-cartao .legenda{margin:0 0 6px;text-align:center}
.entrar-cartao label{text-align:left}
.entrar-cartao .botao{margin-top:6px}

/* ==================================================================
   PERIÓDICO IMPRESSO
   ================================================================== */

.impressao{max-width:820px;margin:0 auto;padding:24px 20px 80px}
.impressao-barra{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--linha-forte);
}
.impressao-barra .miudo{margin-right:auto}
.impressao-envio{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex:1 1 100%;flex-wrap:wrap}
.impressao-envio>span{font-size:12.5px;color:var(--texto-fraco)}
.impressao-envio form{margin:0}
.impressao-status{font-size:12.5px;color:var(--verde);background:rgba(0,166,126,.1);border:1px solid rgba(0,166,126,.25);border-radius:999px;padding:6px 10px}
.folha{
  background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);
  box-shadow:var(--sombra);padding:38px;margin-bottom:24px;
}
.folha-topo{display:flex;align-items:center;gap:14px;padding-bottom:20px;border-bottom:3px solid var(--tia-purple)}
.folha-logo{
  width:46px;height:46px;border-radius:13px;background:var(--rosa);flex:none;
  display:grid;place-items:center;font-family:var(--display);font-weight:800;font-size:19px;color:#fff;
}
.folha-escola{font-family:var(--display);font-weight:700;font-size:18px}
.folha-sub{font-size:12.5px;color:var(--texto-fraco)}
.folha-periodo{margin-left:auto;text-align:right;font-family:var(--mono);font-size:12px;color:var(--texto-fraco);line-height:1.6}
.folha-titulo{font-size:clamp(24px,4vw,32px);font-weight:700;margin:24px 0 4px}
.folha-turma{font-size:14px;color:var(--texto-fraco);margin:0 0 22px}
.folha-lista{margin:0}
.folha-linha{display:flex;align-items:baseline;gap:14px;padding:11px 0;border-bottom:1px solid var(--linha)}
.folha-linha dt{font-size:14.5px;color:var(--texto-fraco);flex:none;width:200px}
.folha-linha dd{margin:0;font-size:14.5px;font-weight:600}
.folha-coment{margin-top:24px;padding:18px 20px;border-radius:12px;background:var(--tia-cream);border-left:4px solid var(--tia-violet)}
.folha-coment p{margin:0;font-size:15px}
.folha-assina{
  margin-top:28px;padding-top:18px;border-top:1px solid var(--linha);
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--texto-fraco);
}
.folha-assina b{display:block;color:var(--texto);font-weight:600;font-size:14px}
.folha-assina .direita{text-align:right}

@media print{
  @page{margin:14mm}
  body{background:#fff}
  .impressao-barra{display:none}
  .impressao{padding:0;max-width:none}
  .folha{
    border:0;border-radius:0;box-shadow:none;padding:0;margin:0;
    break-after:page;page-break-after:always;
  }
  .folha:last-child{break-after:auto;page-break-after:auto}
  .folha-coment{background:#F7F4EC}
}

/* ==================================================================
   RESPONSIVO
   ================================================================== */

@media(max-width:900px){
  .grade-2,.pilares,.colunas{grid-template-columns:1fr}
  .casos{grid-template-columns:1fr 1fr}
  .colunas{gap:26px}
}
@media(max-width:700px){
  .casos,.numeros{grid-template-columns:1fr}
  .numeros{gap:20px}
  .dupla{grid-template-columns:1fr}
  .heroi{padding:52px 0 44px}
  .secao{padding:52px 0}
  .folha{padding:24px}
  .folha-linha{flex-direction:column;gap:2px}
  .folha-linha dt{width:auto}
  .dados > div{flex-direction:column;gap:2px}
  .dados dt{width:auto}
}
@media(max-width:640px){
  .turma-linha,.aluno-linha,.chamada-linha{flex-wrap:wrap;row-gap:12px}
  .turma-linha .horario,.aluno-linha .inicial,.chamada-linha .inicial{order:1}
  .turma-linha .pilha,.aluno-linha .pilha{order:2;margin-left:auto}
  .turma-linha .corpo,.aluno-linha .corpo,.chamada-linha .corpo{order:3;flex:1 1 100%}
  .chamada-linha .opcoes{order:4;flex:1 1 100%;margin-left:0}
  .turma-linha .seta{display:none}
  .cabeca{align-items:flex-start}
  .trilho{top:0}
}

@media (prefers-reduced-motion:reduce){
  *{animation-duration:.01ms!important;transition-duration:.01ms!important}
}

/* ==================================================================
   SITE EDITORIAL — TIA JUH ENGLISH
   Portfolite inspira o ritmo e a composição; a marca define a linguagem.
   ================================================================== */

.site-editorial{
  --tia-deep:#581D72;
  --tia-purple:#79258E;
  --tia-violet:#913EB5;
  --tia-lilac:#BC78E5;
  --tia-orange:#FF7A00;
  --tia-magenta:#E45BA7;
  --tia-gold:#C99545;
  --tia-brown:#6A463A;
  --tia-cream:#F5E8DE;
  --tia-ivory:#FFF9F3;
  --tia-sand:#D8C1AF;
  --tia-taupe:#A48776;
  --tia-ink:#241728;
  --tia-muted:#776978;
  --tia-line:rgba(63,7,84,.15);
  --tia-line-dark:rgba(255,249,243,.16);
  --tia-display:'DM Serif Display',Georgia,serif;
  --tia-body:'Manrope',Arial,sans-serif;
  --tia-ease:cubic-bezier(.22,1,.36,1);
  --tia-container:1280px;
  background:var(--tia-ivory);color:var(--tia-ink);
  font-family:var(--tia-body);font-size:16px;line-height:1.65;
  overflow-x:hidden;
}
.site-editorial .faixa-larga{max-width:var(--tia-container);padding-left:28px;padding-right:28px}
.site-editorial h1,.site-editorial h2,.site-editorial h3{
  font-family:var(--tia-display);font-weight:400;letter-spacing:-.035em;
}
.site-editorial h1 em,.site-editorial h2 em{font-weight:400;color:var(--tia-lilac)}
.site-editorial a{transition:color 180ms var(--tia-ease),background 180ms var(--tia-ease),border-color 180ms var(--tia-ease),transform 180ms var(--tia-ease)}
.site-editorial :focus-visible{outline:3px solid var(--tia-orange);outline-offset:4px}

/* header */
.site-editorial .site-topo{
  position:absolute;top:0;left:0;right:0;z-index:60;background:transparent;color:var(--tia-ivory);
}
.site-editorial .site-topo-in{height:92px;padding-top:0;padding-bottom:0;flex-wrap:nowrap}
.marca-site{gap:12px;color:inherit}
.site-editorial .marca-site .marca-nome{font:600 18px/1 var(--tia-body);letter-spacing:-.04em;color:inherit}
.marca-site .marca-nome b{color:var(--tia-orange)}
.marca-orbita{width:32px;height:32px;border:1px solid currentColor;border-radius:50%;display:block;position:relative;opacity:.92}
.marca-orbita:before,.marca-orbita:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%;inset:5px}
.marca-orbita:after{inset:11px}
.marca-orbita i{width:6px;height:6px;border-radius:50%;background:var(--tia-orange);position:absolute;right:-2px;top:4px;box-shadow:0 0 14px rgba(238,168,0,.8)}
.site-editorial .site-nav{gap:30px;flex-wrap:nowrap}
.site-editorial .nav-link{color:rgba(255,249,244,.72);font-size:14px;padding:10px 0;border:0}
.site-editorial .nav-link:hover,.site-editorial .nav-link.ativo{color:var(--tia-ivory);background:transparent}
.site-editorial .site-nav .botao{margin-left:8px}
.menu-botao{display:none;color:inherit;align-items:center;justify-content:center;width:48px;height:48px;position:relative}
.menu-botao span{position:absolute;clip:rect(0 0 0 0);clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
.menu-botao i{position:absolute;width:23px;height:1.5px;background:currentColor;transition:transform 180ms var(--tia-ease),top 180ms var(--tia-ease)}
.menu-botao i:nth-of-type(1){top:19px}.menu-botao i:nth-of-type(2){top:28px}
.menu-botao[aria-expanded="true"] i:nth-of-type(1){top:24px;transform:rotate(45deg)}
.menu-botao[aria-expanded="true"] i:nth-of-type(2){top:24px;transform:rotate(-45deg)}

/* shared */
.editorial-label{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--tia-purple)}
.editorial-label i{width:7px;height:7px;border:1.5px solid currentColor;border-radius:50%;position:relative}
.editorial-label i:after{content:"";width:2px;height:2px;background:currentColor;border-radius:50%;position:absolute;inset:1px;margin:auto}
.editorial-label-claro{color:rgba(255,249,244,.78)}
.site-editorial .botao{border-radius:12px;font-size:14px;padding:13px 20px;min-height:48px}
.site-editorial .botao-g{padding:15px 24px;font-size:14px}
.site-editorial .botao-p{background:var(--tia-purple);color:#fff;box-shadow:none}
.site-editorial .botao-p:hover{background:var(--tia-deep);transform:translateY(-2px);box-shadow:none}
.botao-luz{background:var(--tia-ivory);color:var(--tia-deep);box-shadow:0 0 35px rgba(170,115,243,.16)}
.botao-luz:hover{background:#fff;transform:translateY(-2px)}
.botao-contorno-claro{border:1px solid rgba(255,249,244,.38);color:var(--tia-ivory);background:rgba(255,255,255,.025)}
.botao-contorno-claro:hover{border-color:var(--tia-ivory);background:rgba(255,255,255,.07);transform:translateY(-2px)}
.link-seta{display:inline-flex;gap:10px;align-items:center;margin-top:28px;color:var(--tia-purple);font-weight:700;text-decoration:none;border-bottom:1px solid var(--tia-line);padding-bottom:7px}
.link-seta span{font-size:17px}.link-seta:hover{gap:15px;border-color:var(--tia-purple)}
.link-claro{color:var(--tia-ivory);border-color:var(--tia-line-dark)}

/* hero */
.editorial-hero{min-height:890px;background:var(--tia-deep);color:var(--tia-ivory);position:relative;display:grid;align-items:center;overflow:hidden;padding:112px 0 48px}
.editorial-hero:after{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(circle at 50% 44%,transparent 0 25%,rgba(26,22,32,.22) 72%,rgba(26,22,32,.6) 100%);pointer-events:none}
.editorial-hero-in{position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center;transform:translate3d(0,var(--parallax-y,0px),0)}
.editorial-hero h1{font-size:clamp(70px,8vw,116px);line-height:.88;max-width:10.5ch;margin:42px auto 28px;text-wrap:balance}
.editorial-hero h1 em{display:inline-block;color:var(--tia-lilac)}
.editorial-hero-in>p{font-size:clamp(16px,1.35vw,19px);line-height:1.65;color:rgba(255,249,244,.67);max-width:650px;margin:0 auto}
.hero-acoes{display:flex;gap:12px;justify-content:center;margin-top:34px}
.hero-rodape{display:grid;grid-template-columns:auto minmax(80px,260px) auto;align-items:center;gap:18px;width:min(720px,100%);margin-top:92px;color:rgba(255,249,244,.48);font-size:11px;letter-spacing:.06em;text-transform:uppercase}
.hero-rodape i{height:1px;background:var(--tia-line-dark);position:relative}
.hero-rodape i:after{content:"";position:absolute;width:5px;height:5px;background:var(--tia-orange);border-radius:50%;left:50%;top:-2px;box-shadow:0 0 14px var(--tia-orange)}
/* Camadas da hero: vídeo, órbitas, acentos e conteúdo */
.hero-parallax{position:absolute;inset:0;pointer-events:none}
/* vídeo de fundo do hero — em loop, atrás de tudo */
.hero-video{position:absolute;inset:0;overflow:hidden;z-index:0;pointer-events:none;
  background:var(--tia-deep) url("/imagens/hero-terra.jpg") center/cover no-repeat}
/* O arquivo tem tarja preta embutida: o conteúdo real vive nas linhas 86..633
   de 720 (corte 2.35:1 dentro de um quadro 16:9). Escalar 720/548 = 1.31 joga
   as tarjas pra fora do enquadramento sem recodificar o vídeo. */
.hero-video video{width:100%;height:100%;object-fit:cover;object-position:50% 50%;
  display:block;transform:translate3d(0,var(--parallax-y,0px),0) scale(1.33);transform-origin:center}
/* na tela estreita o corte joga o planeta pra fora: puxa o enquadramento */
@media(max-width:760px){ .hero-video video{object-position:68% 50%} }
/* véu: sem ele o texto branco some quando a parte clara da Terra passa */
.hero-video:after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(26,22,32,.66),rgba(26,22,32,.42) 42%,rgba(26,22,32,.8)),
             radial-gradient(circle at 50% 44%,rgba(26,22,32,.12) 0 30%,rgba(26,22,32,.55) 100%)}
/* quem pediu menos movimento fica com o quadro parado */
@media (prefers-reduced-motion:reduce){ .hero-video video{display:none} }

.hero-atmosfera{position:absolute;inset:0;z-index:2;pointer-events:none;filter:saturate(1.05);transform:translate3d(0,var(--parallax-y,0px),0)}
.hero-atmosfera-orbitas:before,.hero-atmosfera-orbitas i,.hero-atmosfera-anel:before,.hero-atmosfera-luzes b,.hero-atmosfera-luzes span{content:"";position:absolute;border-radius:50%}
.hero-atmosfera-orbitas:before{width:min(66vw,970px);aspect-ratio:1;left:50%;top:46%;transform:translate(-50%,-50%);border:1px solid rgba(170,115,243,.32);box-shadow:0 0 100px rgba(142,63,204,.16),inset 0 0 90px rgba(231,0,199,.06)}
.hero-atmosfera-orbitas i{width:min(82vw,1260px);aspect-ratio:1;left:50%;top:46%;transform:translate(-50%,-50%) rotate(-16deg);border:1px solid rgba(238,168,0,.2);clip-path:inset(0 0 50% 0)}
.hero-atmosfera-anel:before{width:min(49vw,710px);aspect-ratio:1;left:50%;top:46%;transform:translate(-50%,-50%);border:1px solid rgba(255,249,244,.12)}
.hero-atmosfera-luzes b{width:15px;height:15px;left:17%;top:30%;background:var(--tia-orange);box-shadow:0 0 45px 13px rgba(238,168,0,.25);animation:orbitar 9s ease-in-out infinite alternate}
.hero-atmosfera-luzes span{width:19px;height:19px;right:16%;bottom:24%;background:var(--tia-magenta);box-shadow:0 0 50px 14px rgba(231,0,199,.24);animation:orbitar 11s ease-in-out infinite alternate-reverse}
@keyframes orbitar{to{transform:translate(28px,-32px) scale(.75)}}

/* banners: ela sobe a imagem em Ajustes, aparece aqui sozinho */
.banners-site{padding:clamp(28px,4.5vw,48px) 0;background:var(--tia-ivory)}
.banners-grade{display:grid;gap:16px}
.banner-item{border-radius:18px;overflow:hidden;border:1px solid var(--tia-line)}
.banner-item a{display:block}
.banner-item img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover}
@media(max-width:640px){.banner-item img{max-height:220px}}

/* authority marquee */
.faixa-autoridade{background:var(--tia-cream);border-bottom:1px solid var(--tia-line);overflow:hidden;padding:25px 0}
.faixa-autoridade-trilho{display:flex;width:max-content;animation:marquee 36s linear infinite}
.faixa-autoridade span{display:flex;align-items:center;gap:20px;padding:0 28px;font:400 19px/1.2 var(--tia-display);white-space:nowrap;color:var(--tia-deep)}
.faixa-autoridade span i{width:7px;height:7px;border-radius:50%;background:linear-gradient(135deg,var(--tia-orange),var(--tia-magenta),var(--tia-violet))}
@keyframes marquee{to{transform:translateX(-50%)}}

/* content sections */
.editorial-secao{padding:clamp(92px,10vw,150px) 0;position:relative}
.editorial-grid{display:grid;grid-template-columns:1.05fr .75fr;gap:clamp(60px,10vw,150px);align-items:start}
.editorial-secao h2{font-size:clamp(52px,6.2vw,82px);line-height:.96;margin:28px 0 0;max-width:10ch}
.manifesto{background:var(--tia-ivory)}
.manifesto-copy{padding-top:58px;max-width:540px}
.manifesto-copy p{color:var(--tia-muted);margin:0 0 20px}
.manifesto-copy .texto-grande,.texto-grande{font:400 clamp(23px,2.1vw,30px)/1.35 var(--tia-display);color:var(--tia-ink);letter-spacing:-.015em}
.secao-abertura{display:grid;grid-template-columns:1fr 440px;gap:70px;align-items:end;margin-bottom:75px}
.secao-abertura h2{margin-top:28px;max-width:12ch}
.secao-abertura>p{color:rgba(255,249,244,.62);font-size:17px;margin:0 0 8px}
.secao-abertura-clara>p{color:var(--tia-muted)}

/* method */
.metodo-preview{background:var(--tia-ink);color:var(--tia-ivory);overflow:hidden}
.metodo-composicao{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(38px,5vw,72px);align-items:center}
.metodo-orbita{width:100%;max-width:720px;aspect-ratio:1.55;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(170,115,243,.14),transparent 68%)}
.metodo-londres{position:absolute;inset:0;z-index:1;width:100%;height:100%;overflow:visible;filter:drop-shadow(0 0 14px rgba(180,106,224,.13))}
.metodo-londres-halo{fill:url(#londres-ambiente)}
.metodo-londres-rota{fill:none;stroke:var(--tia-ivory);stroke-width:1.4;stroke-dasharray:1 9;stroke-linecap:round;opacity:.38}
.metodo-londres-aviao{fill:none;stroke:var(--tia-ivory);stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round;opacity:.94}
.metodo-londres-ponto{fill:var(--tia-orange);filter:drop-shadow(0 0 7px rgba(255,122,0,.7))}
.metodo-londres-linhas{fill:none;stroke:var(--tia-ivory);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.8}
.metodo-londres-label{font:600 10px var(--tia-body);letter-spacing:3.5px;fill:var(--tia-ivory);opacity:.58}
.metodo-lista{list-style:none;padding:0;margin:0}
.metodo-lista li{display:grid;grid-template-columns:52px 1fr;gap:18px;padding:25px 0;border-bottom:1px solid var(--tia-line-dark)}
.metodo-lista li>span{font:500 11px/1 var(--tia-body);letter-spacing:.15em;color:var(--tia-orange);padding-top:8px}
.metodo-lista h3{font:400 30px/1.1 var(--tia-display);margin:0 0 8px}
.metodo-lista p{margin:0;color:rgba(255,249,244,.57);font-size:14px}

/* audiences */
.publicos{background:var(--tia-cream)}
.publicos-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.circulo-grafico.c4{background:linear-gradient(135deg,var(--tia-taupe),var(--tia-purple));transform:scale(.9);right:-12px}

/* prova — os números que ela mantém em Ajustes. O redesenho tinha deixado
   essa seção de fora e a tela de Ajustes escrevia num lugar que ninguém via. */
.prova{background:var(--tia-cream);border-top:1px solid var(--tia-line);border-bottom:1px solid var(--tia-line);padding:64px 0}
.prova-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:34px}
.prova-item{display:flex;flex-direction:column;gap:7px;padding-left:20px;border-left:1px solid var(--tia-line)}
.prova-valor{font:400 clamp(38px,4.6vw,60px)/1 var(--tia-display);letter-spacing:-.02em;color:var(--tia-deep)}
.prova-rotulo{font-size:14px;line-height:1.45;color:var(--tia-muted);max-width:22ch}

/* para quem é — bloco de qualificação, o mais direto do site */
.para-quem{background:var(--tia-deep);color:var(--tia-ivory)}
.lista-quem{list-style:none;padding:0;margin:34px 0 26px;display:grid;gap:2px}
.lista-quem li{
  display:flex;gap:16px;align-items:flex-start;padding:19px 0;
  border-top:1px solid var(--tia-line-dark);
  font-size:clamp(17px,1.7vw,21px);line-height:1.45;
}
.lista-quem li:last-child{border-bottom:1px solid var(--tia-line-dark)}
.lista-quem li:before{
  content:"";flex:none;width:9px;height:9px;border-radius:50%;margin-top:.55em;
  background:linear-gradient(135deg,var(--tia-orange),var(--tia-magenta));
}
.quem-nota{color:rgba(255,249,244,.6);max-width:52ch;margin:0 0 30px;font-size:15.5px}
.publicos-grid article{min-height:450px;background:var(--tia-ivory);border:1px solid var(--tia-line);border-radius:28px;padding:28px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.publicos-grid article:nth-child(1){background:linear-gradient(145deg,#FFF9F3 0%,#FFF0D8 100%);border-color:rgba(255,122,0,.28)}
.publicos-grid article:nth-child(2){background:linear-gradient(145deg,#FFF9F3 0%,#F1E4FA 100%);border-color:rgba(140,45,180,.28)}
.publicos-grid article:nth-child(3){background:linear-gradient(145deg,#FFF9F3 0%,#F1E3D0 100%);border-color:rgba(201,149,69,.34)}
.publicos-grid article:nth-child(4){background:linear-gradient(145deg,#FFF9F3 0%,#EADCD5 100%);border-color:rgba(106,70,58,.28)}
.publicos-grid article>span{font-size:11px;letter-spacing:.15em;color:var(--tia-taupe)}
.publicos-grid article h3{font-size:38px;margin:auto 0 8px;position:relative;z-index:2}
.publicos-grid article p{margin:0;color:var(--tia-muted);position:relative;z-index:2}
.circulo-grafico{width:230px;height:230px;border-radius:50%;position:absolute;top:45px;right:-35px;border:1px solid var(--tia-line);background:radial-gradient(circle at 34% 32%,rgba(255,255,255,.8),transparent 22%),linear-gradient(135deg,var(--tia-lilac),var(--tia-purple))}
.circulo-grafico:before,.circulo-grafico:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.35);border-radius:50%;inset:13%}
.circulo-grafico:after{inset:29%}
.circulo-grafico.c2{background:linear-gradient(135deg,var(--tia-orange),var(--tia-magenta));transform:scale(.82);right:-5px}
.circulo-grafico.c3{background:linear-gradient(135deg,var(--tia-deep),var(--tia-violet));transform:scale(1.08);right:-55px}

/* foto real dentro do motivo circular da marca — inteira dentro do cartão,
   porque o círculo sangrando pra fora cortava o rosto das pessoas */
.circulo-foto{width:min(238px,72%);aspect-ratio:1;border-radius:50%;
  position:absolute;top:62px;left:50%;transform:translateX(-50%);overflow:hidden;z-index:1}
.circulo-foto img{width:100%;height:100%;object-fit:cover;display:block}
/* sombra curta: com blur grande ela virava um halo pálido do tamanho do cartão */
.circulo-foto:after{content:"";position:absolute;inset:0;border-radius:50%;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55),0 0 0 1px var(--tia-line),0 10px 22px -16px rgba(43,16,58,.4)}
/* enquadramento por foto, pra o rosto ficar no meio do círculo */
.circulo-foto.c1 img{object-position:52% 34%}
.circulo-foto.c2 img{object-position:57% 34%}
.circulo-foto.c3 img{object-position:44% 44%}
.circulo-foto.c4 img{object-position:52% 30%}
/* a foto não pode comer o texto: o degradê do cartão sobe por baixo do título */
.publicos-grid article:before{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;z-index:2;
  background:linear-gradient(180deg,rgba(255,249,244,0),var(--tia-ivory) 58%)}

/* teacher */
.tia-juh{background:var(--tia-purple);color:var(--tia-ivory)}
.tia-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,9vw,120px);align-items:center}
.tia-grid h2{max-width:9ch}.tia-grid>div:last-child>p{color:rgba(255,249,244,.66);max-width:560px}
.tia-grid .texto-grande{color:var(--tia-ivory)}
.tia-grid blockquote{font:400 25px/1.25 var(--tia-display);color:var(--tia-orange);margin:34px 0 0}
.tia-arte{min-height:650px;border-radius:220px 220px 28px 28px;background:linear-gradient(180deg,rgba(170,115,243,.16),rgba(43,16,58,.5));border:1px solid rgba(255,249,244,.15);position:relative;display:grid;place-items:center;overflow:hidden}
.tia-arte:before{content:"";position:absolute;inset:0;background:repeating-radial-gradient(circle at 50% 44%,transparent 0 54px,rgba(255,255,255,.055) 55px 56px)}
.tia-orbita{width:54%;aspect-ratio:1;border:2px solid var(--tia-lilac);border-radius:50%;display:grid;place-items:center;position:relative;box-shadow:0 0 70px rgba(170,115,243,.22)}
.tia-orbita:before{content:"";position:absolute;inset:-17px;border-radius:50%;padding:2px;background:linear-gradient(135deg,var(--tia-orange),var(--tia-magenta),var(--tia-violet));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.tia-orbita span{font:400 150px/1 var(--tia-display);color:var(--tia-ivory)}
.tia-orbita i,.tia-orbita b{position:absolute;width:14px;height:14px;border-radius:50%}
.tia-orbita i{background:var(--tia-orange);top:4%;right:16%;box-shadow:0 0 25px var(--tia-orange)}
.tia-orbita b{background:var(--tia-magenta);bottom:7%;left:13%;box-shadow:0 0 25px var(--tia-magenta)}
.tia-arte small{position:absolute;bottom:28px;left:32px;color:rgba(255,249,244,.48);text-transform:uppercase;letter-spacing:.13em;font-size:9px}
/* fotografia real da Tia Juh preenchendo o arco */
figure.tia-arte{margin:0}
.tia-arte img{position:relative;z-index:1;width:100%;height:100%;min-height:650px;object-fit:cover;object-position:50% 22%;display:block}
.tia-arte:after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  border-radius:inherit;background:linear-gradient(180deg,rgba(43,16,58,0) 55%,rgba(43,16,58,.42))}

/* entry */
.entrada{background:var(--tia-ivory)}
.entrada-passos{list-style:none;padding:0;margin:0;border-top:1px solid var(--tia-line)}
.entrada-passos li{display:block;padding:36px 0;border-bottom:1px solid var(--tia-line)}
.entrada-passos h3{font-size:35px;margin:0 0 7px}.entrada-passos p{margin:0;color:var(--tia-muted)}

/* footer */
.site-editorial .site-rodape{background:var(--tia-ink);color:var(--tia-ivory);padding:150px 0 28px;position:relative;overflow:hidden}
.rodape-orbita{position:absolute;width:min(980px,75vw);aspect-ratio:1;border:1px solid rgba(170,115,243,.2);border-radius:50%;left:50%;top:-60%;transform:translateX(-50%);pointer-events:none}
.rodape-orbita:before,.rodape-orbita:after{content:"";position:absolute;border:1px solid var(--tia-line-dark);border-radius:50%;inset:15%}
.rodape-orbita:after{inset:30%}
.rodape-orbita i,.rodape-orbita b{position:absolute;width:14px;height:14px;border-radius:50%;box-shadow:0 0 32px currentColor}
.rodape-orbita i{background:var(--tia-orange);color:var(--tia-orange);left:8%;top:38%}
.rodape-orbita b{background:var(--tia-magenta);color:var(--tia-magenta);right:10%;bottom:28%}
.rodape-chamada{position:relative;z-index:2;padding-bottom:130px;
  display:grid;grid-template-columns:1fr minmax(300px,460px);
  gap:clamp(28px,5vw,72px);align-items:center;text-align:left}
.rodape-chamada h2{font-size:clamp(42px,5vw,68px);line-height:.99;margin:26px 0 20px;max-width:13ch}
.chamada-texto p{color:rgba(255,249,244,.6);max-width:44ch;margin:0 0 32px;
  font-size:clamp(15px,1.15vw,17px);line-height:1.68}

/* globo: decorativo, nunca por trás do texto */
.chamada-globo{position:relative;width:100%;aspect-ratio:1}
.chamada-globo iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.globo-dica{position:absolute;left:0;right:0;bottom:-4px;text-align:center;
  font-size:10px;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,249,244,.3);pointer-events:none}
/* os anéis do rodapé brigavam com o globo: recuam pra ele respirar */
.rodape-orbita{opacity:.35}
.rodape-in{border-top:1px solid var(--tia-line-dark);padding-top:55px;display:grid;grid-template-columns:1fr 1fr;align-items:start}
.rodape-nav{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin:0}
.rodape-nav div{display:flex;flex-direction:column;gap:9px}.rodape-nav span{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,249,244,.38);margin-bottom:9px}
.rodape-nav a{color:rgba(255,249,244,.74);text-decoration:none}.rodape-nav a:hover{color:#fff}
.rodape-nav small{color:rgba(255,249,244,.42)}
.rodape-base{display:flex;justify-content:space-between;border-top:1px solid var(--tia-line-dark);padding-top:24px;margin-top:55px;color:rgba(255,249,244,.35);font-size:11px}

/* internal public pages */
.pagina-hero{min-height:650px;background:var(--tia-deep);color:var(--tia-ivory);display:grid;align-items:center;position:relative;overflow:hidden;padding:150px 0 80px}
.pagina-hero-in{position:relative;z-index:2}
.pagina-hero h1{font-size:clamp(70px,8vw,112px);line-height:.88;margin:36px 0 26px;max-width:9ch}
.pagina-hero-in>p{max-width:620px;color:rgba(255,249,244,.65);font-size:18px;margin:0}
.pagina-hero-metodo{background-image:linear-gradient(90deg,rgba(83,26,105,.84) 0%,rgba(83,26,105,.66) 42%,rgba(83,26,105,.36) 100%),linear-gradient(0deg,rgba(43,16,59,.4),rgba(43,16,59,.16)),url('/imagens/fundo-metodo-londres-20260930.jpg');background-size:cover;background-position:center}
.pagina-hero-resultados{background-image:linear-gradient(90deg,rgba(83,26,105,.88) 0%,rgba(83,26,105,.72) 42%,rgba(83,26,105,.42) 100%),linear-gradient(0deg,rgba(43,16,59,.46),rgba(43,16,59,.18)),url('/imagens/fundo-resultados-estudo-20260930.jpg');background-size:cover;background-position:center}
.pagina-hero-metodo .pagina-atmosfera,.pagina-hero-resultados .pagina-atmosfera{opacity:.32}
.pagina-atmosfera{position:absolute;inset:0;pointer-events:none}
.pagina-atmosfera:before,.pagina-atmosfera:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(170,115,243,.23);width:70vw;aspect-ratio:1;right:-24vw;top:-35vw}
.pagina-atmosfera:after{width:48vw;right:-10vw;top:-24vw;border-color:rgba(238,168,0,.18)}
.pagina-atmosfera i,.pagina-atmosfera b{position:absolute;border-radius:50%;width:16px;height:16px}
.pagina-atmosfera i{background:var(--tia-orange);right:19%;top:23%;box-shadow:0 0 35px var(--tia-orange)}
.pagina-atmosfera b{background:var(--tia-magenta);right:8%;bottom:22%;box-shadow:0 0 35px var(--tia-magenta)}
.metodo-detalhe{background:var(--tia-cream)}
.metodo-capitulos{list-style:none;margin:0;padding:0}
.metodo-capitulos li{display:grid;grid-template-columns:.7fr 1fr;gap:34px;align-items:start;padding:52px 0;border-bottom:1px solid var(--tia-line)}
.metodo-capitulos h2{font-size:45px;margin:0;max-width:none}.metodo-capitulos p{margin:8px 0 0;color:var(--tia-muted);max-width:590px}
.criterios-secao{background:var(--tia-deep);color:var(--tia-ivory);text-align:center}
.criterios-nota{max-width:940px;margin:0 auto;background:transparent;color:inherit;padding:0}
.criterios-nota .editorial-label{justify-content:center;color:rgba(255,249,244,.76)}
.criterios-nota blockquote{font:400 clamp(42px,5vw,68px)/1.02 var(--tia-display);max-width:22ch;margin:30px auto;letter-spacing:-.025em}
.criterios-nota p{color:rgba(255,249,244,.65);max-width:600px;margin:0 auto}
.criterios-nota .botao{margin:28px auto 0}
.resultados-corpo{background:var(--tia-cream)}
.casos-editoriais{grid-template-columns:repeat(2,1fr);gap:18px}
.casos-editoriais .caso{border-radius:28px;padding:42px;background:var(--tia-ivory);border-color:var(--tia-line);min-height:320px}
.casos-editoriais .caso blockquote{font:400 28px/1.35 var(--tia-display)}
.resultados-espera{max-width:780px;margin:0 auto;text-align:center;padding:70px 0 100px}
.resultados-espera h2{margin:28px auto;max-width:11ch}.resultados-espera p{max-width:620px;margin:0 auto;color:var(--tia-muted)}
.feedback-preview-aviso{max-width:980px;margin:0 auto 24px;padding:18px 22px;border:1px solid var(--tia-line);border-left:4px solid var(--tia-purple);border-radius:14px;background:var(--tia-ivory);color:var(--tia-ink)}
.feedback-preview-aviso strong{font:600 12px/1.4 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--tia-purple)}
.feedback-preview-aviso p{margin:6px 0 0;color:var(--tia-muted);font-size:14px;line-height:1.6}
.feedback-carousel{max-width:1080px;margin:24px auto 76px;padding:clamp(12px,2vw,22px);border:1px solid var(--tia-line);border-radius:28px;background:var(--tia-ink);box-shadow:var(--tia-shadow,0 18px 54px rgba(43,16,58,.12))}
.feedback-carousel-slides{min-height:min(72vh,720px);display:grid;place-items:center;overflow:hidden;border-radius:18px;background:#17131a}
.feedback-carousel-slide{width:100%;height:100%;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.feedback-carousel-slide[hidden]{display:none}
.feedback-carousel-slide:not([hidden]){animation:feedback-print-in .42s cubic-bezier(.22,1,.36,1) both}
@keyframes feedback-print-in{from{opacity:.45;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.feedback-carousel-slide img{display:block;width:auto;height:auto;max-width:100%;max-height:min(68vh,680px);object-fit:contain}
.feedback-carousel-slide figcaption{padding:0 12px 4px;color:var(--tia-ivory);font:500 11px/1.4 var(--mono);letter-spacing:.05em;text-align:center;text-transform:uppercase;opacity:.78}
.feedback-carousel-controls{display:flex;align-items:center;justify-content:center;gap:12px;padding-top:14px;color:var(--tia-ivory)}
.feedback-carousel-controls button{min-width:42px;min-height:42px;border:1px solid rgba(255,249,244,.24);border-radius:50%;background:transparent;color:inherit;font:600 18px/1 var(--body);cursor:pointer}
.feedback-carousel-controls button:hover{background:rgba(255,249,244,.1)}
.feedback-carousel-controls button:focus-visible{outline:2px solid var(--tia-lilac);outline-offset:3px}
.feedback-carousel-controls [data-feedback-status]{min-width:210px;color:rgba(255,249,244,.7);font-size:12px;text-align:center}
.feedback-carousel-controls .feedback-carousel-toggle{width:auto;padding:0 14px;border-radius:999px;font:600 11px/1 var(--body)}
.fechamento-editorial{border-top:1px solid var(--tia-line);padding-top:80px;display:grid;grid-template-columns:1fr 2fr auto;gap:30px;align-items:start}
.fechamento-editorial h2{font-size:clamp(38px,4vw,58px);max-width:15ch;margin:0}
.caminhos-corpo{background:var(--tia-ivory)}

/* lead form */
.lista-pagina{min-height:100vh;background:var(--tia-deep);color:var(--tia-ivory);padding:150px 0 100px;position:relative;overflow:hidden}
.lista-atmosfera{position:absolute;inset:0;pointer-events:none}
.lista-atmosfera:before,.lista-atmosfera:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(170,115,243,.18);width:780px;height:780px;left:-420px;bottom:-280px}
.lista-atmosfera:after{width:500px;height:500px;left:-260px;bottom:-135px;border-color:rgba(238,168,0,.2)}
.lista-atmosfera i,.lista-atmosfera b{position:absolute;width:13px;height:13px;border-radius:50%}
.lista-atmosfera i{background:var(--tia-orange);left:5%;bottom:22%;box-shadow:0 0 30px var(--tia-orange)}
.lista-atmosfera b{background:var(--tia-magenta);right:5%;top:20%;box-shadow:0 0 30px var(--tia-magenta)}
.lista-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,9vw,130px);align-items:start;position:relative;z-index:2}
.lista-intro{position:sticky;top:130px}
.lista-intro h1{font-size:clamp(62px,6.4vw,92px);line-height:.9;margin:34px 0 30px}.lista-intro>p{color:rgba(255,249,244,.64);font-size:17px;max-width:520px}
.lista-nota{display:grid;grid-template-columns:40px 1fr;gap:15px;border-top:1px solid var(--tia-line-dark);padding-top:25px;margin-top:55px;max-width:470px}
.lista-nota span{font-size:10px;color:var(--tia-orange);letter-spacing:.15em}.lista-nota p{margin:0;color:rgba(255,249,244,.46);font-size:13px}
.lista-form-card{background:var(--tia-ivory);color:var(--tia-ink);border-radius:28px;padding:clamp(26px,4vw,52px)}
.formulario-editorial{gap:20px}.formulario-editorial input,.formulario-editorial select,.formulario-editorial textarea{border:0;border-bottom:1px solid var(--tia-line);border-radius:0;background:transparent;padding:13px 0;color:var(--tia-ink)}
.formulario-editorial input:focus,.formulario-editorial select:focus,.formulario-editorial textarea:focus{outline:0;border-color:var(--tia-purple);box-shadow:none}
.formulario-editorial label>span{font-size:12px;letter-spacing:.02em}.formulario-editorial .botao{margin-top:12px}
.obrigado-pagina .pagina-hero-in{display:flex;flex-direction:column;align-items:center}.obrigado-pagina h1{max-width:none}.obrigado-pagina .confirma{border-color:rgba(255,249,244,.25);color:var(--tia-orange);margin-bottom:24px}.obrigado-pagina .botao{margin-top:32px}

/* Lenis usa a rolagem real do documento; não somar scroll suave por CSS. */
html.lenis.lenis-smooth{scroll-behavior:auto!important}

/* blurfade recorrente: a opacidade muda por entrada/saída, nunca pelo progresso do scroll. */
.site-editorial [data-reveal]{
  --reveal-x:0px;--reveal-y:24px;--reveal-blur:4px;--reveal-duration:800ms;--reveal-delay:0ms;
  opacity:1;transform:none;filter:blur(0);
  transition:opacity var(--reveal-duration) var(--tia-ease),
             transform var(--reveal-duration) var(--tia-ease),
             filter var(--reveal-duration) var(--tia-ease);
  transition-delay:var(--reveal-delay)
}
.site-editorial [data-reveal="title"]{--reveal-blur:7px;--reveal-duration:1050ms}
.site-editorial [data-reveal="left"]{--reveal-x:-30px;--reveal-y:0px}
.site-editorial [data-reveal="right"]{--reveal-x:30px;--reveal-y:0px}
.site-editorial [data-reveal="soft"]{--reveal-x:0px;--reveal-y:0px}
.site-editorial.reveal-ativo [data-reveal]:not(.revelado){
  opacity:0;transform:translate3d(var(--reveal-x),var(--reveal-y),0);filter:blur(var(--reveal-blur));
  transition-duration:300ms;transition-delay:0ms
}
.site-editorial [data-reveal].revelado{opacity:1;transform:none;filter:blur(0);transition-delay:var(--reveal-delay)}

@media(max-width:960px){
  .site-editorial .site-nav{gap:18px}
  .editorial-grid,.metodo-composicao,.tia-grid,.lista-grid{grid-template-columns:1fr}
  .secao-abertura{grid-template-columns:1fr;gap:25px}
  .manifesto-copy{padding-top:0}.editorial-grid{gap:45px}
  .metodo-orbita{width:min(92vw,760px);max-width:760px;aspect-ratio:1.55;margin:0 auto}
  .tia-arte{min-height:560px;max-width:620px;width:100%;margin:0 auto}
  .lista-intro{position:relative;top:auto}
  .fechamento-editorial{grid-template-columns:1fr}.fechamento-editorial .botao{justify-self:start}
}

@media(max-width:720px){
  .site-editorial .faixa-larga{padding-left:18px;padding-right:18px}
  .site-editorial .site-topo-in{height:72px}
  .menu-botao{display:flex}
  .site-editorial .site-nav{position:fixed;inset:72px 0 auto;background:var(--tia-deep);border-top:1px solid var(--tia-line-dark);display:flex;flex-direction:column;align-items:stretch;padding:22px 18px 28px;transform:translateY(-130%);opacity:0;visibility:hidden;transition:transform 320ms var(--tia-ease),opacity 180ms var(--tia-ease),visibility 320ms}
  .menu-aberto .site-nav{transform:none;opacity:1;visibility:visible}
  .site-editorial .nav-link{font:400 30px/1.1 var(--tia-display);padding:12px 0}
  .site-editorial .site-nav .botao{margin:8px 0 0}
  .editorial-hero{min-height:790px;padding:115px 0 30px}
  .editorial-hero h1{font-size:clamp(55px,16vw,72px);line-height:.92;margin-top:32px}
  .editorial-hero-in>p{font-size:15px}.hero-acoes{flex-direction:column;width:100%;max-width:320px}.hero-acoes .botao{width:100%}
  .hero-rodape{grid-template-columns:1fr;margin-top:70px}.hero-rodape span:last-child{display:none}
  .hero-atmosfera-orbitas:before{width:155vw}.hero-atmosfera-anel:before{width:110vw}.hero-atmosfera-orbitas i{width:190vw}
  .editorial-secao{padding:78px 0}.editorial-secao h2{font-size:clamp(44px,13vw,58px)}
  .secao-abertura{margin-bottom:45px}.publicos-grid{grid-template-columns:1fr}.faixas-nivel-grid{grid-template-columns:repeat(2,1fr)}
  /* no cartão estreito a foto entra no fluxo: absoluta, ela batia no título */
  .publicos-grid article{min-height:0}
  .publicos-grid article:before{display:none}
  /* relative, não static: o :after usa inset:0 e com static ele se ancorava
     no cartão, virando uma elipse gigante do tamanho do card */
  .circulo-foto{position:relative;top:auto;left:auto;transform:none;width:min(250px,62%);margin:16px auto 24px}
  .publicos-grid article h3{margin:0 0 8px}
  .metodo-lista li{grid-template-columns:38px 1fr}.metodo-orbita{width:100%;max-width:560px;aspect-ratio:1.35}
  .tia-arte{min-height:480px}.tia-orbita span{font-size:100px}
  .entrada-passos li{padding:28px 0}.entrada-passos h3{font-size:29px}
  /* empilha: globo primeiro, texto depois, e o texto volta a ser centrado */
  .rodape-chamada{padding-bottom:90px;grid-template-columns:1fr;text-align:center;gap:34px}
  .rodape-chamada h2{margin:24px auto 18px;max-width:14ch}
  .chamada-texto{order:2}
  .chamada-texto p{margin:0 auto 28px}
  .chamada-globo{order:1;width:min(320px,74vw);margin:0 auto}
  .site-editorial .site-rodape{padding-top:100px}
  .rodape-in{grid-template-columns:1fr;gap:45px}.rodape-base{flex-direction:column;gap:5px}
  .pagina-hero{min-height:560px;padding:120px 0 70px}.pagina-hero h1{font-size:clamp(58px,17vw,76px)}
  .pagina-hero-metodo{background-position:center,center,72% center}
  .pagina-hero-resultados{background-position:center,center,62% center}
  .metodo-capitulos li{grid-template-columns:1fr;gap:18px}.metodo-capitulos h2{font-size:38px}.metodo-capitulos p{grid-column:1}
  .criterios-nota{margin:0 auto}.criterios-nota blockquote{font-size:clamp(38px,11vw,52px)}.casos-editoriais{grid-template-columns:1fr}
  .lista-pagina{padding:115px 0 70px}.lista-intro h1{font-size:clamp(56px,16vw,74px)}
  .lista-form-card{border-radius:22px}.dupla{grid-template-columns:1fr}
  .feedback-carousel-slides{min-height:52vh}.feedback-carousel-slide img{max-height:46vh}.feedback-carousel-controls{gap:8px}.feedback-carousel-controls [data-feedback-status]{min-width:130px;font-size:10px}
}

@media(prefers-reduced-motion:reduce){
  .faixa-autoridade-trilho{animation:none}.hero-atmosfera b,.hero-atmosfera span{animation:none}
  .site-editorial [data-reveal]{opacity:1!important;transform:none!important;filter:none!important;transition:none!important}
  .feedback-carousel-slide:not([hidden]){animation:none}
}

/* ==================================================================
   Ecossistema demonstrável completo
   Assinatura: passaporte de aprendizagem — carimbos, etapas e rotas.
   ================================================================== */

.demo-selo{display:inline-flex;margin-top:14px;padding:5px 8px;border:1px solid currentColor;border-radius:99px;font:500 9px/1 var(--mono);letter-spacing:.07em;text-transform:uppercase;opacity:.62}
.caso-midia{display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;color:var(--tia-purple);font:600 11px/1 var(--mono);letter-spacing:.05em;text-transform:uppercase;text-decoration:none}
.caso-midia span{width:28px;height:28px;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}

/* playlist */
.trilha-sonora{background:var(--tia-deep);color:var(--tia-ivory)}
.trilha-sonora .editorial-grid{align-items:center}
.trilha-sonora h2{font-size:clamp(52px,6vw,82px);max-width:9ch;margin:28px 0}
.trilha-sonora p{max-width:48ch;color:rgba(255,249,244,.62)}
.spotify-card{width:100%;max-width:520px;margin-left:auto;justify-self:end;background:rgba(255,255,255,.07);border:1px solid var(--tia-line-dark);border-radius:30px;padding:18px;box-shadow:0 35px 90px rgba(0,0,0,.22)}
.spotify-card iframe{display:block;width:100%;min-width:0;height:352px;border:0;border-radius:18px}.spotify-card small{display:block;margin:12px 4px 2px;color:rgba(255,249,244,.42);font:500 9px var(--mono);letter-spacing:.08em;text-transform:uppercase}

/* experiência e intercâmbio */
.pagina-hero-intercambio{background-image:linear-gradient(90deg,rgba(83,26,105,.87) 0%,rgba(83,26,105,.7) 42%,rgba(83,26,105,.4) 100%),linear-gradient(0deg,rgba(43,16,59,.46),rgba(43,16,59,.18)),url('/imagens/fundo-intercambio-londres-20260930.jpg');background-size:cover;background-position:center}
.pagina-hero-intercambio .pagina-atmosfera{opacity:.32}
.intercambio-mote{margin:0 0 12px;color:var(--tia-orange);font:600 12px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase}
.intercambio-corpo{background:var(--tia-cream)}
.passaporte-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:90px}
.intercambio-form-card{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;background:var(--tia-ink);color:var(--tia-ivory);border-radius:32px;padding:clamp(32px,6vw,74px)}
.intercambio-form-card h2{font-size:clamp(42px,5vw,66px);margin:26px 0}.intercambio-form-card>div>p{color:rgba(255,249,244,.6)}
.intercambio-form-card .formulario{background:var(--tia-ivory);color:var(--tia-ink);padding:30px;border-radius:22px}
.experiencia-hero{min-height:86vh;background:var(--tia-deep);color:var(--tia-ivory);display:grid;align-items:center;padding:150px 0 100px;overflow:hidden}
.experiencia-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:80px;align-items:center}
.experiencia-hero h1{font-size:clamp(65px,8vw,108px);line-height:.88;margin:32px 0;max-width:10ch}.experiencia-hero p{max-width:600px;color:rgba(255,249,244,.62)}
.experiencia-selo{aspect-ratio:1;border:2px dashed var(--tia-orange);border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;transform:rotate(7deg);box-shadow:0 0 0 18px rgba(238,168,0,.05)}
.experiencia-selo span{font:700 20px var(--mono);color:var(--tia-orange)}.experiencia-selo b{font:400 34px/1.05 var(--tia-display);margin:18px 0}.experiencia-selo small{max-width:14ch;text-transform:uppercase;font:500 9px var(--mono);letter-spacing:.1em;opacity:.5}
.experiencia-capitulos{background:var(--tia-ivory)}
.experiencia-capitulos article{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--tia-line);padding:44px 0;gap:30px}.experiencia-capitulos article span{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--tia-purple)}.experiencia-capitulos article h2{font-size:clamp(34px,5vw,62px);max-width:18ch}

/* dashboard e CRM */
.metricas{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 18px}
.metricas a{background:var(--branco);border:1px solid var(--linha);border-radius:var(--r);padding:20px;text-decoration:none;display:flex;flex-direction:column;box-shadow:var(--sombra)}
.metricas span,.metricas small{font-size:12px;color:var(--texto-fraco)}.metricas b{font:800 35px/1 var(--display);margin:10px 0;color:var(--uva)}
.filtros-pilula{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.filtros-pilula a{padding:8px 13px;border:1px solid var(--linha-forte);border-radius:99px;background:#fff;text-decoration:none;font-size:13px}.filtros-pilula a.ativo{background:var(--tinta);border-color:var(--tinta);color:#fff}
.pipeline{display:grid;grid-template-columns:repeat(6,minmax(230px,1fr));gap:12px;overflow-x:auto;padding-bottom:14px;scrollbar-color:var(--uva) transparent}
.pipeline-col{background:rgba(255,255,255,.5);border:1px solid var(--linha);border-radius:16px;padding:10px;min-height:300px}
.pipeline-col>header{display:flex;justify-content:space-between;align-items:center;padding:8px 7px 14px;font-size:12px;text-transform:uppercase;letter-spacing:.06em}.pipeline-col>header b{display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--tinta);color:#fff}
.lead-pipeline{background:#fff;border:1px solid var(--linha);border-radius:12px;margin-bottom:8px}.lead-pipeline summary{padding:13px;display:flex;justify-content:space-between;gap:8px;cursor:pointer}.lead-pipeline summary span:first-child{display:flex;flex-direction:column}.lead-pipeline summary small{color:var(--texto-fraco);font-size:11px;margin-top:3px}.lead-pipeline .lead-corpo{padding:0 13px 15px}.crm-evento{font-size:12px;border-left:2px solid var(--uva);padding-left:9px}.crm-evento small{display:block;color:var(--texto-fraco)}
.pipeline-intercambio{grid-template-columns:repeat(5,minmax(235px,1fr))}

/* Cards fotográficos para intercâmbio e faixas de nivelamento. */
.passaporte-grid article:nth-child(1){--card-acento:var(--tia-orange)}
.passaporte-grid article:nth-child(2){--card-acento:var(--tia-lilac)}
.passaporte-grid article:nth-child(3){--card-acento:#d2a34e}
.passaporte-grid article:nth-child(4){--card-acento:var(--tia-magenta)}
.card-foto-card{
  min-height:0!important;padding:0!important;align-items:stretch!important;text-align:left!important;
  display:flex;flex-direction:column;background:var(--tia-ink);color:var(--tia-ivory);
  border:1px solid rgba(255,249,244,.13);border-radius:24px;overflow:hidden;
  transition:transform .35s var(--tia-ease),box-shadow .35s var(--tia-ease),border-color .35s var(--tia-ease)
}
.card-foto-capa{position:relative;aspect-ratio:1.22;overflow:hidden;background:var(--tia-deep)}
.card-foto-capa img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--tia-ease)}
.card-foto-veil{position:absolute;inset:24% 0 0;pointer-events:none;background:linear-gradient(180deg,rgba(33,18,45,0),rgba(33,18,45,.24) 48%,var(--tia-ink) 100%)}
.card-foto-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:0 24px 28px;margin-top:-1px}
.card-foto-copy:before{content:"";display:block;width:36px;height:2px;flex:none;background:var(--card-acento,var(--tia-lilac));margin:0 0 17px}
.card-foto-copy h2,.card-foto-copy h3{font:400 clamp(25px,2.25vw,32px)/1.06 var(--tia-display);color:var(--tia-ivory);margin:0 0 12px;max-width:none}
.card-foto-copy p{font-size:14px;line-height:1.55;color:rgba(255,249,244,.68);margin:0;max-width:32ch}
.card-foto-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(31,12,43,.18);border-color:rgba(170,115,243,.38)}
.card-foto-card:hover .card-foto-capa img{transform:scale(1.045)}
.faixas-nivel-grid .card-foto-card{height:100%}

/* matrículas e aluno 360 */
.matricula-linha{display:flex;align-items:center;gap:14px;padding:14px 6px;text-decoration:none;border-bottom:1px solid var(--linha)}.matricula-linha .corpo{display:flex;flex:1;flex-direction:column}.matricula-linha small{color:var(--texto-fraco)}
.progresso-mini{width:120px;height:6px;border-radius:99px;background:var(--linha);overflow:hidden}.progresso-mini i{display:block;height:100%;background:var(--verde);border-radius:inherit}
.checklist-matricula{display:grid;gap:9px}.checklist-matricula div{display:flex;gap:9px;color:var(--texto-fraco)}.checklist-matricula div.feito{color:var(--verde);font-weight:700}
.aluno-contexto{display:grid;grid-template-columns:1fr 2fr;gap:12px;margin:16px 0}.aluno-contexto>div{background:#fff;border:1px solid var(--linha);padding:15px;border-radius:12px;display:flex;flex-direction:column}.aluno-contexto span{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--texto-fraco)}
.timeline{position:relative;margin:16px 0}.timeline:before{content:"";position:absolute;left:83px;top:5px;bottom:5px;width:1px;background:var(--linha-forte)}.timeline-item{display:grid;grid-template-columns:68px 1fr;gap:32px;padding:10px 0;position:relative}.timeline-item>span{font:500 10px var(--mono);color:var(--texto-fraco)}.timeline-item>div:before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--uva);left:79px;top:15px;border:2px solid #fff}.timeline-item p{margin:3px 0 0;color:var(--texto-fraco);font-size:13px}
.chamada-completa{display:grid;grid-template-columns:auto 1fr auto;align-items:center}.chamada-detalhes{grid-column:2/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}.chamada-detalhes input{width:100%;padding:9px 11px;border:1px solid var(--linha);border-radius:9px;background:#fff}

/* matrícula pública completa */
.matricula-completa{max-width:none;padding:0 0 90px;background:linear-gradient(180deg,#FFF9EF,#FFF3DF)}
.matricula-completa .mat-topo,.matricula-completa .mat-corpo{max-width:980px;margin-left:auto;margin-right:auto}.matricula-completa .mat-topo{padding:28px 24px}.matricula-completa .mat-corpo{padding:0 24px}
.mat-abertura{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:end;margin:38px 0}.mat-abertura aside{min-width:230px;border:1px solid var(--linha-forte);border-radius:140px 140px 18px 18px;padding:38px 25px 24px;text-align:center;display:flex;flex-direction:column}.mat-abertura aside span{font:500 9px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--uva)}.mat-abertura aside b{font:700 23px var(--display);margin:12px 0 4px}.mat-abertura aside small{color:var(--texto-fraco)}
.matricula-completa .mat-etapas{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;margin:30px 0}.matricula-completa .mat-etapa{display:flex;flex-direction:column;align-items:flex-start;border-radius:12px;min-height:130px}.matricula-completa .mat-etapa .mat-n{margin:0 0 10px}.matricula-completa .mat-etapa p{font-size:11px}
.mat-bloco-topo{display:grid;grid-template-columns:90px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--linha);padding-bottom:16px;margin-bottom:22px}.mat-bloco-topo>span{font:500 9px var(--mono);letter-spacing:.09em;text-transform:uppercase;color:var(--uva)}.mat-bloco-topo h2{font-size:27px}.mat-bloco-topo>b{font-size:11px;color:var(--texto-fraco);text-transform:uppercase;letter-spacing:.05em}
.etapa-ok{border-color:rgba(0,166,126,.45);box-shadow:inset 4px 0 0 var(--verde)}.quadro-demonstrativo{background:var(--tinta);color:#fff}.quadro-demonstrativo .mat-bloco-topo{border-color:rgba(255,255,255,.17)}.quadro-demonstrativo .mat-bloco-topo>span,.quadro-demonstrativo .mat-bloco-topo>b{color:#B9C4E4}.quadro-demonstrativo .parcelas{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.15);font-size:17px}.quadro-demonstrativo small{color:#B9C4E4}
.mat-sucesso{display:flex;gap:18px;align-items:center;background:#E6FAF4;border:1px solid #95DCC8;padding:22px;border-radius:16px}.mat-sucesso>span{width:48px;height:48px;border-radius:50%;background:var(--verde);color:#fff;display:grid;place-items:center;font-size:23px}.mat-sucesso h2,.mat-sucesso p{margin:0}.mat-sucesso p{color:#32675B}

@media(max-width:900px){
  .passaporte-grid{grid-template-columns:repeat(2,1fr)}.intercambio-form-card,.experiencia-grid{grid-template-columns:1fr}.experiencia-selo{width:min(420px,80vw);justify-self:center}.metricas{grid-template-columns:repeat(2,1fr)}
  .matricula-completa .mat-etapas{grid-template-columns:1fr}.matricula-completa .mat-etapa{min-height:0;flex-direction:row}.matricula-completa .mat-etapa .mat-n{margin:0 12px 0 0}
}
@media(max-width:640px){
  .passaporte-grid{grid-template-columns:1fr}.passaporte-grid article{min-height:280px}.intercambio-form-card{padding:28px 20px;gap:35px}.experiencia-capitulos article{grid-template-columns:1fr;gap:10px}.metricas{grid-template-columns:1fr 1fr}.metricas a{padding:14px}.metricas b{font-size:28px}
  .mat-abertura{grid-template-columns:1fr}.mat-abertura aside{width:100%}.mat-bloco-topo{grid-template-columns:1fr auto}.mat-bloco-topo>span{grid-column:1/-1}.aluno-contexto,.chamada-detalhes{grid-template-columns:1fr}.chamada-completa{display:flex}.chamada-detalhes{order:5}.matricula-linha{flex-wrap:wrap}.progresso-mini{order:5;width:100%}
  .admin .barra-in{align-items:flex-start}.admin .abas{order:3;width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}.admin .aba{white-space:nowrap}
}

/* nome formal da escola, no rodapé */
.razao-social{margin:12px 0 0;font-size:13px;color:rgba(255,249,244,.5);letter-spacing:.02em}

/* ---------- logo real da marca ---------- */
/* o arquivo é branco sobre transparente: só serve em fundo escuro,
   que é onde o cabeçalho e o rodapé do site vivem */
.logo-site{display:block;height:56px;width:auto}
.site-rodape .logo-site{height:72px}
@media(max-width:900px){ .logo-site{height:44px} .site-rodape .logo-site{height:58px} }

/* periódico impresso: papel branco, então entra a versão escura */
img.folha-logo{width:52px;height:52px;background:none;border-radius:0;flex:none}

.rodape-marca{display:flex;flex-direction:column;align-items:flex-start}

/* descrições de 1 e 2 linhas desalinhavam os títulos entre os cartões */
.publicos-grid article p{min-height:2.9em}

/* ==================================================================
   Spotlight nos cartões de público
   Técnica do GlowCard (21st.dev), portada para CSS puro: o ponteiro
   grava --px/--py no <html> e os cartões herdam. Com
   background-attachment:fixed o gradiente é posicionado no espaço da
   JANELA, não do elemento — por isso a luz atravessa os quatro cartões
   como uma fonte só, em vez de repetir em cada um.
   Calibrado para fundo claro: o original é feito para fundo escuro e
   aqui viraria um borrão neon.
   ================================================================== */

.publicos-grid article{
  --foco:520;                      /* diâmetro do facho, em px */
  --foco-hue:278;                  /* roxo da marca */
  background-color:var(--tia-ivory);
  background-image:radial-gradient(
    calc(var(--foco)*1px) calc(var(--foco)*1px) at
    calc(var(--px,-9999)*1px) calc(var(--py,-9999)*1px),
    hsl(var(--foco-hue) 74% 56% / .22), transparent 66%);
  background-attachment:fixed;
  background-repeat:no-repeat;
  transition:border-color .3s ease, transform .3s ease;
}

/* a borda acende só onde o facho passa */
.publicos-grid article::after{
  content:"";position:absolute;inset:0;z-index:3;
  border-radius:inherit;padding:2px;pointer-events:none;
  background:radial-gradient(
    calc(var(--foco)*1px) calc(var(--foco)*1px) at
    calc(var(--px,-9999)*1px) calc(var(--py,-9999)*1px),
    hsl(var(--foco-hue) 85% 52% / 1), transparent 58%);
  background-attachment:fixed;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
          mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
          mask-composite:exclude;
}

.publicos-grid article:hover{transform:translateY(-3px)}

.faixas-nivel{background:var(--tia-cream)}
.faixas-nivel-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.faixa-criancas{--card-acento:#f0a044}
.faixa-adolescentes{--card-acento:#b66ddd}
.faixa-adultos{--card-acento:#d2a34e}
.faixa-seniors{--card-acento:#d977a4}

@media(max-width:720px){.pagina-hero.pagina-hero-intercambio{background-position:center,center,72% center}}

/* sem ponteiro fino (celular, tablet) o efeito não faz sentido e ainda
   custa bateria; background-attachment:fixed também engasga no iOS */
@media (hover:none),(pointer:coarse),(prefers-reduced-motion:reduce){
  .publicos-grid article{background-image:none;background-attachment:scroll}
  .publicos-grid article::after{display:none}
  .publicos-grid article:hover{transform:none}
}

/* Cards fotográficos para intercâmbio e faixas de nivelamento. */
.passaporte-grid article:nth-child(1){--card-acento:var(--tia-orange)}
.passaporte-grid article:nth-child(2){--card-acento:var(--tia-lilac)}
.passaporte-grid article:nth-child(3){--card-acento:#d2a34e}
.passaporte-grid article:nth-child(4){--card-acento:var(--tia-magenta)}
.card-foto-card{
  min-height:0!important;padding:0!important;align-items:stretch!important;text-align:left!important;
  display:flex;flex-direction:column;background:var(--tia-ink);color:var(--tia-ivory);
  border:1px solid rgba(255,249,244,.13);border-radius:24px;overflow:hidden;
  transition:transform .35s var(--tia-ease),box-shadow .35s var(--tia-ease),border-color .35s var(--tia-ease)
}
.card-foto-capa{position:relative;aspect-ratio:1.22;overflow:hidden;background:var(--tia-deep)}
.card-foto-capa img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s var(--tia-ease)}
.card-foto-veil{position:absolute;inset:24% 0 0;pointer-events:none;background:linear-gradient(180deg,rgba(33,18,45,0),rgba(33,18,45,.24) 48%,var(--tia-ink) 100%)}
.card-foto-copy{position:relative;z-index:1;display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:0 24px 28px;margin-top:-1px}
.card-foto-copy:before{content:"";display:block;width:36px;height:2px;flex:none;background:var(--card-acento,var(--tia-lilac));margin:0 0 17px}
.card-foto-copy h2,.card-foto-copy h3{font:400 clamp(25px,2.25vw,32px)/1.06 var(--tia-display);color:var(--tia-ivory);margin:0 0 12px;max-width:none}
.card-foto-copy p{font-size:14px;line-height:1.55;color:rgba(255,249,244,.68);margin:0;max-width:32ch}
.card-foto-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px rgba(31,12,43,.18);border-color:rgba(170,115,243,.38)}
.card-foto-card:hover .card-foto-capa img{transform:scale(1.045)}
.faixas-nivel-grid .card-foto-card{height:100%}

@media(max-width:720px){
  .faixas-nivel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:520px){
  .passaporte-grid,.faixas-nivel-grid{grid-template-columns:1fr}
  .card-foto-capa{aspect-ratio:1.48}
  .card-foto-copy{padding:0 22px 25px}
}
@media(prefers-reduced-motion:reduce){
  .card-foto-card,.card-foto-capa img{transition:none!important}
  .card-foto-card:hover{transform:none;box-shadow:none}
  .card-foto-card:hover .card-foto-capa img{transform:none}
}

/* Autoavaliação externa: um ponto de partida sem confundir o teste com matrícula. */
.nivelamento-convite{
  display:grid;grid-template-columns:minmax(0,1fr) auto;gap:34px;align-items:center;
  margin-top:38px;padding:clamp(28px,4.4vw,52px);
  border:1px solid var(--tia-line);border-left:4px solid var(--tia-violet);border-radius:24px;
  background:linear-gradient(118deg,rgba(188,120,229,.13),rgba(255,249,243,.9) 58%);
}
.nivelamento-convite h2{font-size:clamp(32px,4vw,48px);line-height:1;margin:16px 0 12px;max-width:15ch}
.nivelamento-convite p{max-width:62ch;color:var(--tia-muted);margin:0 0 12px}
.nivelamento-convite small{display:block;color:var(--tia-muted);font-size:12px;line-height:1.5;max-width:70ch}
.whatsapp-atalho{
  position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:55;
  display:inline-flex;align-items:center;gap:10px;padding:13px 17px;border-radius:999px;
  background:var(--tia-purple);color:var(--tia-ivory);font:700 13px/1 var(--tia-body);
  text-decoration:none;box-shadow:0 12px 32px rgba(36,23,40,.24);
  transition:background 180ms var(--tia-ease),transform 180ms var(--tia-ease),box-shadow 180ms var(--tia-ease)
}
.whatsapp-atalho:hover{background:var(--tia-deep);transform:translateY(-2px);box-shadow:0 16px 36px rgba(36,23,40,.28)}
.whatsapp-atalho svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
@media(max-width:720px){
  .nivelamento-convite{grid-template-columns:1fr;gap:22px}
  .nivelamento-convite .botao{justify-self:start}
  .whatsapp-atalho{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));padding:12px 15px;font-size:12px}
}
