/* Anglo Pinda — Anos Finais
   Sistema visual derivado da LP de Educação Bilíngue e da campanha Leões 2027. */

@font-face{font-family:"Helvetica Neue LP";src:url("../fonts/HelveticaNeue-Roman.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LP";src:url("../fonts/HelveticaNeue-Medium.woff2") format("woff2");font-weight:500 600;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LP";src:url("../fonts/HelveticaNeue-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LP";src:url("../fonts/HelveticaNeue-Black.woff2") format("woff2");font-weight:800 900;font-style:normal;font-display:swap}
@font-face{font-family:"Helvetica Neue LP";src:url("../fonts/HelveticaNeue-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:Boldonse;src:url("../fonts/Boldonse-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}

:root{
  --er-blue:#00aeed;
  --er-blue-deep:#003d68;
  --er-navy:#10161f;
  --er-navy-2:#0d2d49;
  --er-yellow:#fddd02;
  --er-paper:#f8f7f1;
  --er-white:#fff;
  --er-ink:#102331;
  --er-muted:#5a6a75;
  --er-line:#dbe4e9;
  --er-radius:28px;
  --er-radius-sm:18px;
  --er-shadow:0 24px 70px rgba(7,23,37,.14);
  --er-shadow-sm:0 14px 34px rgba(7,23,37,.1);
  --header-height:78px;
  --container:1180px;
  --container-wide:1440px;
  --ease:cubic-bezier(.22,1,.36,1);
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 20px)}
body{margin:0;color:var(--er-ink);background:var(--er-paper);font-family:"Helvetica Neue LP",Helvetica,Arial,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}
body::selection{color:var(--er-navy);background:var(--er-yellow)}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;font-style:inherit}
h1,h2,h3,p,figure,blockquote,ul,ol,dl,dd{margin:0}
ul,ol{padding:0}
.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}
.container-wide{width:min(calc(100% - 32px),var(--container-wide));margin-inline:auto}
.section{position:relative;padding-block:clamp(78px,8vw,132px)}
.skip-link{position:fixed;z-index:9999;top:10px;left:10px;padding:10px 16px;border-radius:999px;color:#fff;background:var(--er-navy);transform:translateY(-150%)}
.skip-link:focus{transform:none}

.eyebrow,.campaign-label{color:var(--er-blue-deep);font-size:var(--texto--2);font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.eyebrow--blue{color:var(--er-blue-deep)}
.section-heading{max-width:790px;margin-bottom:clamp(36px,5vw,64px)}
.section-heading h2,.stage-copy h2,.project-copy h2,.process-intro h2,.life-copy h2,.family-copy h2,.visit-grid h2,.final-cta h2{margin-top:12px;font-size:var(--texto-6);font-weight:700;letter-spacing:-.065em;line-height:.98;text-wrap:balance}
.section-heading>p:last-child{max-width:680px;margin-top:22px;color:var(--er-muted);font-size:var(--texto-0)}
.lead{font-size:var(--texto-1);font-weight:700;letter-spacing:-.02em;line-height:1.55}

.site-header{position:sticky;z-index:100;top:0;height:var(--header-height);border-bottom:1px solid rgba(16,35,49,.08);background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}
.header-inner{display:flex;height:100%;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;flex:0 0 auto}
.brand img{width:auto;height:50px;object-fit:contain}
.site-nav{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px);font-size:var(--texto--2);font-weight:700}
/* `min-width` porque o alvo de toque do contrato é 44x44 e o item mais curto
   do menu media 35,9px de largura. A altura já vinha do padding. */
.site-nav>a:not(.nav-cta){position:relative;min-width:44px;padding-block:12px;text-align:center}
.site-nav>a:not(.nav-cta)::after{position:absolute;right:0;bottom:7px;left:0;height:2px;background:var(--er-blue);content:"";transform:scaleX(0);transform-origin:right;transition:transform .3s var(--ease)}
.site-nav>a:hover::after,.site-nav>a:focus-visible::after{transform:scaleX(1);transform-origin:left}
.nav-cta{padding:12px 20px;border-radius:999px;color:#fff;background:var(--er-navy);box-shadow:inset 0 -3px 0 var(--er-blue);transition:transform .25s var(--ease),background .25s}
.nav-cta:hover{background:#12334d;transform:translateY(-2px)}
.nav-toggle{display:none;width:44px;height:44px;border:0;border-radius:50%;background:var(--er-navy);place-content:center;gap:4px}
.nav-toggle span{display:block;width:18px;height:2px;margin:3px auto;background:#fff;transition:.25s}

.button{display:inline-flex;min-height:56px;align-items:center;justify-content:center;gap:12px;padding:15px 25px;border:0;border-radius:999px;color:#fff;background:var(--er-navy);box-shadow:inset 0 -4px 0 var(--er-blue);font-size:var(--texto--1);font-weight:700;transition:transform .25s var(--ease),box-shadow .25s,background .25s}
.button:hover,.button:focus-visible{background:#12334d;box-shadow:inset 0 -4px 0 var(--er-yellow),0 12px 30px rgba(7,23,37,.17);transform:translateY(-3px)}
.button--yellow{color:var(--er-navy);background:var(--er-yellow);box-shadow:none}
.button--yellow:hover{color:#fff;background:var(--er-blue-deep)}
.text-link,.inline-link{display:inline-flex;align-items:center;gap:10px;border-bottom:2px solid var(--er-yellow);font-size:var(--texto--1);font-weight:700}

/* Hero: a mesma arquitetura editorial da página Bilíngue. */
.hero{position:relative;overflow:hidden;background:radial-gradient(circle at 10% 15%,rgba(0,174,232,.11) 0 2px,transparent 2.5px) 0 0/18px 18px,var(--er-paper)}
.hero::before{position:absolute;inset:0 auto 0 0;width:8px;background:var(--er-blue);content:""}
.hero-grid{display:grid;min-height:min(730px,calc(100vh - var(--header-height)));grid-template-columns:minmax(0,.94fr) minmax(520px,1.06fr);align-items:stretch}
.hero-copy{position:relative;z-index:3;display:flex;max-width:680px;flex-direction:column;align-items:flex-start;justify-content:center;padding:72px clamp(32px,5vw,80px) 72px 0}
.campaign-label span{color:var(--er-blue)}
.hero h1{max-width:690px;margin-top:8px;font-size:var(--texto-6);font-weight:700;letter-spacing:-.075em;line-height:.86}
.hero h1 span{display:inline;color:var(--er-blue-deep);background:linear-gradient(transparent 64%,var(--er-yellow) 64% 91%,transparent 91%)}
.hero-text{max-width:590px;margin-top:30px;color:#344552;font-size:var(--texto-1);line-height:1.65}
.hero-actions{display:flex;align-items:center;gap:28px;margin-top:34px}
.hero-visual{position:relative;min-height:630px;isolation:isolate}
.hero-visual::before{position:absolute;z-index:1;inset:24px 16px 24px -18px;border:4px solid var(--er-blue-deep);content:"";clip-path:polygon(4% 0,100% 3%,97% 97%,0 100%)}
.hero-stamp{position:absolute;z-index:4;right:38px;bottom:38px;display:flex;align-items:center;gap:12px;padding:11px 18px 11px 11px;border-radius:60px;color:#fff;background:rgba(3,24,38,.9);box-shadow:var(--er-shadow-sm);backdrop-filter:blur(8px);transform:rotate(-2deg)}
.hero-stamp img{width:52px;height:52px;object-fit:contain}
.hero-stamp span{font-size:var(--texto--2);font-weight:700;line-height:1.35}
@keyframes marquee{to{transform:translateX(-50%)}}
.stage-copy p:not(.eyebrow):not(.lead){margin-top:20px;color:var(--er-muted)}
.section-heading--light .eyebrow{color:var(--er-yellow)}
.project-copy>p:not(.eyebrow){margin-top:24px}
.international-heading .eyebrow{color:var(--er-yellow)}
.life-copy .eyebrow{color:var(--er-yellow)}
.life-copy>p:not(.eyebrow){margin-top:25px;color:#d5ebf6}
.family-copy>p:not(.eyebrow){margin-top:24px}
.family-copy .button{margin-top:30px}
.visit-grid .eyebrow{color:var(--er-yellow)}

.faq-section{background:var(--er-paper)}
.faq-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(50px,8vw,110px)}
.faq-grid .section-heading{position:sticky;top:calc(var(--header-height) + 40px);align-self:start;margin:0}
.faq-list{border-top:1px solid var(--er-line)}
.faq-list details{border-bottom:1px solid var(--er-line)}
.faq-list summary{display:flex;min-height:82px;align-items:center;justify-content:space-between;gap:30px;cursor:pointer;font-size:var(--texto-0);font-weight:700;list-style:none}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary::after{display:grid;width:34px;height:34px;flex:0 0 auto;border-radius:50%;color:#fff;background:var(--er-blue-deep);content:"+";font-size:var(--texto-1);place-items:center;transition:.25s}
.faq-list details[open] summary::after{color:var(--er-navy);background:var(--er-yellow);transform:rotate(45deg)}
.faq-list details p{max-width:680px;padding:0 64px 28px 0;color:var(--er-muted);font-size:var(--texto--1)}

.final-cta{position:relative;overflow:hidden;padding-block:clamp(72px,8vw,118px);color:#fff;background:var(--er-blue-deep)}
.final-cta::before{position:absolute;top:-180px;right:-120px;width:520px;height:520px;border:90px solid rgba(255,213,30,.11);border-radius:50%;content:""}
.final-cta-grid{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:60px}
.final-cta .eyebrow{color:var(--er-yellow)}
.final-cta h2{max-width:800px}
.final-cta p:not(.eyebrow){max-width:680px;margin-top:20px;color:#d4ebf5}
.whatsapp-float{position:fixed;z-index:90;right:22px;bottom:22px;display:grid;width:58px;height:58px;border-radius:50%;background:var(--er-blue);box-shadow:0 12px 32px rgba(0,0,0,.2);place-items:center;transition:.25s}
.whatsapp-float:hover{transform:translateY(-4px) scale(1.03)}
.whatsapp-float svg{width:31px;fill:#fff}
.programas-grade .cartao{min-height:14rem}

.js [data-reveal]{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease),transform .7s var(--ease)}
.js [data-reveal].is-visible{opacity:1;transform:none}

@media(max-width:1100px){
  .nav-toggle{display:block}
  .site-nav{position:fixed;top:var(--header-height);right:12px;left:12px;display:none;align-items:stretch;padding:16px;border-radius:20px;background:#fff;box-shadow:var(--er-shadow)}
  .site-nav[data-open="true"]{display:grid}
  .site-nav>a:not(.nav-cta){display:block;padding:12px}
  .site-nav .nav-cta{display:block;text-align:center}
  .hero-grid{min-height:0;grid-template-columns:1fr}.hero-copy{max-width:790px;padding:70px 20px 55px}.hero-visual{min-height:0;margin-inline:18px;aspect-ratio:4/3}.hero-visual::before{inset:10px -8px -10px 8px}
}

/* O menu em duas linhas precisa participar da altura do cabeçalho. */
@media(min-width:1101px){
  .site-header{height:auto;min-height:var(--header-height)}
}

@media(max-width:820px){
  :root{--header-height:68px}.section{padding-block:70px}
  .brand img{height:42px}.nav-cta{display:none}.nav-toggle{display:block}.site-nav{position:fixed;top:var(--header-height);right:12px;left:12px;display:none;align-items:stretch;padding:16px;border-radius:20px;background:#fff;box-shadow:var(--er-shadow)}.site-nav[data-open="true"]{display:grid}.site-nav>a:not(.nav-cta){display:block;padding:12px}.site-nav .nav-cta{display:block;text-align:center}
  .hero-copy{padding:52px 10px 42px}.hero h1{font-size:var(--texto-6)}.hero-actions{align-items:flex-start;flex-direction:column;gap:18px}.hero-visual{margin:0 14px 18px;aspect-ratio:4/5}.hero-stamp{right:14px;bottom:14px}.hero-visual::before{display:none}
  .split-heading,.stage-grid,.process-grid,.project-grid,.life-grid,.family-grid,.faq-grid{grid-template-columns:1fr}.process-intro,.faq-grid .section-heading{position:static}.final-cta-grid{grid-template-columns:1fr}
}

@media(max-width:520px){
  .section-heading h2,.stage-copy h2,.project-copy h2,.process-intro h2,.life-copy h2,.family-copy h2,.visit-grid h2,.final-cta h2{font-size:var(--texto-4)}.hero-text{margin-top:22px}.hero-visual{aspect-ratio:3/4}.hero-stamp{padding:8px 12px 8px 8px}.hero-stamp img{width:42px;height:42px}.faq-list summary{font-size:var(--texto--1)}.final-cta-grid{gap:35px}.whatsapp-float{right:14px;bottom:14px}
}

@media(max-width:520px){
  .programas-grade .cartao{min-height:0}
}

@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}[data-reveal]{opacity:1;transform:none}}

main section[id],main [id]{scroll-margin-top:96px}

:where(.brand, .inline-link, .visit-card > a, .footer-grid a) { min-height: 44px; }
:where(.inline-link, .visit-card > a, .footer-grid a) { display: inline-flex; align-items: center; }

/* ================================================================
   ANOS FINAIS 2027: mostrar a ação antes de descrevê-la
   ================================================================ */

.hero-film {
  padding: clamp(20px,3vw,42px) 0;
  color: #fff;
  background: #070c12;
}
.hero-film .container { width: min(100% - (var(--gutter) * 2), 860px); }
.hero-film video {
  display: block;
  width: 100%;
  height: auto;
  max-height: none;
  aspect-ratio: 16/9;
  border-radius: clamp(14px,2vw,26px);
  background: #000;
  box-shadow: 0 26px 70px rgba(0,0,0,.34);
  object-fit: cover;
}

.finals-heading { max-width: 860px; margin-bottom: clamp(30px,5vw,58px); }
.finals-heading h2 { max-width: 760px; margin: 12px 0 0; font-size: var(--texto-4); line-height: 1.12; letter-spacing: -.035em; text-wrap: balance; }
.finals-heading > p:last-child { max-width: 680px; margin-top: 18px; color: var(--er-muted); }
.finals-inquiry { overflow: hidden; background: #eef8fb; }
.finals-tabs button:focus-visible,
.dose-tabs button:focus-visible,
.finals-panels:focus-visible {
  outline: 4px solid var(--er-yellow);
  outline-offset: 3px;
}
.finals-panels {
  min-width: 0;
  overflow: hidden;
  border-radius: 28px;
  background: var(--er-blue-deep);
  box-shadow: var(--er-shadow);
  touch-action: pan-y;
  user-select: none;
}
.finals-panels img { -webkit-user-drag: none; }
.js [data-switch-panel][data-active="false"] { display: none; }
.finals-panel-copy .eyebrow { color: var(--er-yellow); }
.finals-panel-copy > p:not(.eyebrow) { margin-top: 22px; color: #d4e7f1; }

.finals-material { background: #fff; }
.finals-material-grid {
  display: grid;
  grid-template-columns: minmax(0,.92fr) minmax(360px,1.08fr);
  align-items: start;
  gap: 32px;
}
.finals-material figure { overflow: hidden; border-radius: 16px; background: var(--er-navy); box-shadow: 0 16px 32px rgb(8 22 34 / 10%); }
.finals-material figure img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.finals-material figcaption { padding: 14px 18px; color: #cbe3ed; font-size: var(--texto--2); }
/* Medido em 768px: 88 caracteres por linha, contra o teto de 85. */
.finals-material-grid > div > p:not(.eyebrow) { max-width: 62ch; margin-top: 18px; color: var(--er-muted); }
.dose-switcher { margin-top: 28px; }
.dose-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
  padding: 4px;
  border-radius: 999px;
  background: #e4eef2;
}
.dose-tabs button {
  min-height: 52px;
  border: 0;
  border-radius: 999px;
  color: var(--er-blue-deep);
  background: transparent;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  font-style: inherit;
  font-weight: 700;
  cursor: pointer;
}
.dose-tabs button[aria-selected="true"] { color: #fff; background: var(--er-blue-deep); }
.dose-panel { min-height: 130px; margin-top: 10px; padding: 24px; border-radius: 22px; color: var(--er-navy); background: var(--er-yellow); }
.dose-panel strong { font-size: var(--texto-0); line-height: 1.3; }
.dose-panel p { margin-top: 7px; font-size: var(--texto--1); }
.material-facts { display: grid; gap: 12px; margin-top: 24px; padding: 0; list-style: none; }
.material-facts li { display: grid; grid-template-columns: 88px 1fr; align-items: start; gap: 12px; padding-top: 12px; border-top: 1px solid var(--er-line); color: var(--er-muted); font-size: var(--texto--1); }
.material-facts span { color: var(--er-blue-deep); font-weight: 700; }

.finals-support {
  color: #fff;
  /* Era --er-blue (#00aeed): branco sobre ele mede 2,54:1 e amarelo 1,88:1,
     os dois reprovam em AA. O ciano profundo leva branco a 6,4:1. */
  background: var(--er-blue-deep);
}
.finals-support .finals-heading > p:last-child { color: #d9f2ff; }
.finals-support .eyebrow { color: var(--er-yellow); }
/* O `margin-top: 54px` que separava o rótulo do título era número mágico para
   preencher um cartão de 280px de altura mínima que não tinha o que mostrar.
   Com a foto ocupando o topo, o espaçamento volta a ser o do conteúdo. */
/* Sem `stretch` os três cartões da mesma linha mediam 599, 472 e 472: o do
   meio tem o texto mais longo e puxava a linha inteira para fora do prumo. */
.support-proof-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 32px; align-items: stretch; }
.support-proof-grid article {
  display: grid;
  min-height: 0;
  padding: 0 0 26px;
  overflow: hidden;
  grid-template-rows: auto auto auto 1fr;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.support-proof-grid figure { margin: 0; overflow: hidden; border-radius: 16px; background: #071521; }
.support-proof-grid img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; }
.support-proof-grid span { margin: 24px 0 0; color: var(--er-yellow); font-size: var(--texto--2); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.support-proof-grid h3 { margin: 8px 0 0; font-size: var(--texto-2); line-height: 1.12; }
.support-proof-grid p { margin: 12px 0 0; color: #d9f1fb; font-size: var(--texto--1); }

/* Havia aqui um tratamento `contain` para o mockup do Plurall, preso a
   `article:first-child`. O Plurall saiu deste bloco e foi para a seção
   Material, e a regra passou a recortar a foto da tutoria com margem branca
   dos dois lados. Sem seletor por posição: quem entrar aqui é fotografia. */

/* Entre 700 e 1100px, três colunas deixavam o parágrafo com 26 caracteres por
   linha, abaixo do piso de 45 do contrato. Nessa faixa o cartão vira uma
   linha: foto à esquerda, texto à direita. */
@media (max-width: 1100px) {
  .support-proof-grid { grid-template-columns: 1fr; }
  .support-proof-grid article {
    padding: 0;
    column-gap: 24px;
    grid-template-columns: minmax(0, 15rem) minmax(0, 1fr);
    grid-template-rows: auto auto 1fr;
    align-items: start;
  }
  .support-proof-grid figure { grid-row: 1 / -1; align-self: start; height: auto; }
  .support-proof-grid img { height: auto; aspect-ratio: 3 / 2; }
  .support-proof-grid span { margin-top: 26px; }
  .support-proof-grid p { margin-bottom: 26px; }
}

@media (max-width: 700px) {
  .support-proof-grid article {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto auto 1fr;
  }
  .support-proof-grid figure { grid-row: auto; }
  .support-proof-grid img { aspect-ratio: 3 / 2; }
}

.finals-international { color: #fff; background: var(--er-navy); }
.finals-international .eyebrow { color: var(--er-yellow); }
.finals-international .finals-heading > p:last-child { color: #bfd2dc; }
.international-fineprint { max-width: 760px; margin-top: 22px; border: 1px solid rgba(255,255,255,.2); border-radius: 18px; }
.international-fineprint summary { min-height: 58px; padding: 17px 20px; cursor: pointer; font-weight: 700; }
.international-fineprint p { padding: 0 20px 20px; color: #c9dce6; font-size: var(--texto--1); }
.finals-life .eyebrow { color: var(--er-yellow); }
.finals-life .finals-heading > p:last-child { color: #c5dce8; }

/* Campo claro. O convite para visitar ficava entre o Programa Internacional
   (--er-navy) e a trilha (quase preta): três seções escuras seguidas, e no
   scroll completo as três se fundiam numa faixa só. É a única das três que
   pode ser clara sem perder sentido, e o convite ganha em ser claro. */
.finals-visit { color: var(--er-ink); background: var(--er-paper); }
.finals-visit-grid { display: grid; grid-template-columns: minmax(300px,.72fr) minmax(0,1.28fr); align-items: center; gap: clamp(34px,7vw,88px); }
.finals-visit-grid .eyebrow { color: var(--er-blue-deep); }
.finals-visit-grid h2 { color: var(--er-navy); }
.finals-visit-grid > div > p:not(.eyebrow) { margin-top: 20px; color: var(--er-muted); }
.finals-visit-grid .button { margin-top: 28px; }
.finals-visit-grid figure { position: relative; overflow: hidden; border-radius: 28px; box-shadow: var(--er-shadow); }
.finals-visit-grid img { display: block; width: 100%; aspect-ratio: 4/3; object-fit: cover; }
/* A cor vai escrita: a pílula é escura e a seção passou a ser clara, então o
   texto herdado virou tinta escura sobre fundo escuro e sumiu. */
.finals-visit-grid figcaption { position: absolute; right: 16px; bottom: 16px; padding: 10px 15px; border-radius: 999px; color: #fff; background: rgba(6,17,27,.84); font-size: var(--texto--2); font-weight: 700; }

.finals-life-copy .eyebrow { color: var(--er-yellow); }

html[data-media-focus="true"] .whatsapp-float {
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px) scale(.82);
}

@media (max-width: 900px) {
  .finals-material-grid,.finals-visit-grid { grid-template-columns: 1fr; }
  .support-proof-grid { grid-template-columns: 1fr; }
  .support-proof-grid article { min-height: 210px; }
  .support-proof-grid h3 { margin-top: 8px; }
}

@media (max-width: 560px) {
  #material h2 { font-size: var(--texto-3); line-height: .98; }
}

@media (max-width: 560px) {
  .hero-film { padding: 12px 0 24px; }
  .hero-film video { border-radius: 14px; }
  .material-facts li { grid-template-columns: 70px 1fr; }
}


/* Número da etapa nas abas de investigação, sobre fundo quase branco.
   O ciano cheio media 2,48:1; o ciano de texto mede 4,92:1. */
.finals-inquiry [role="tab"] span {
  color: var(--cor-ciano-texto);
}

@media (min-width: 900px) and (max-width: 1120px) {
  #diferenciais .dif-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Dentro das faixas escuras a pílula inverte, senão vira um borrão claro. */
.finals-switcher--life .finals-switch-status,
.finals-support .finals-switch-status {
  background: rgb(6 17 27 / 72%);
  color: #cfe0ea;
}

/* --------------------------------------------------------------------------
   Plurall, no mesmo formato dos Anos Iniciais.

   O material impresso e o ambiente digital são a mesma trilha da semana. A
   página falava do primeiro e não mostrava o segundo em lugar nenhum.
   -------------------------------------------------------------------------- */
.plataforma-card {
  display: grid;
  margin-top: clamp(2rem, 3.5vw, 3rem);
  padding: clamp(1.5rem, 3vw, 2.25rem);
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 1.5rem;
  border: 1px solid var(--er-line, #d7dde4);
  border-radius: var(--raio-md);
  background: var(--cor-branco, #fff);
  box-shadow: 0 10px 30px rgb(16 22 31 / 5%);
  transition: transform .35s cubic-bezier(.16, 1, .3, 1), box-shadow .35s cubic-bezier(.16, 1, .3, 1), border-color .3s ease;
}
.plataforma-card:hover {
  transform: translateY(-3px);
  border-color: rgb(0 174 237 / 40%);
  box-shadow: 0 16px 40px rgb(16 22 31 / 8%);
}
.plataforma-tag {
  display: inline-flex;
  margin-bottom: .5rem;
  align-items: center;
  gap: 6px;
  color: var(--er-blue-deep, #052f5f);
  font-size: var(--texto--1);
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.plataforma-titulo {
  margin: 0 0 .75rem;
  color: var(--er-navy, #10161f);
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  font-weight: 700;
  line-height: 1.25;
}
.plataforma-texto {
  max-width: 62ch;
  margin: 0;
  color: var(--er-muted, #5b6875);
  font-size: var(--texto-0);
  line-height: 1.6;
}
.plataforma-visual { display: flex; align-items: center; justify-content: center; }
.plataforma-visual img {
  width: 100%;
  max-width: 200px;
  max-height: 190px;
  height: auto;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgb(0 0 0 / 8%));
  transition: transform .35s cubic-bezier(.16, 1, .3, 1);
}
.plataforma-card:hover .plataforma-visual img { transform: scale(1.05) translateY(-2px); }

@media (min-width: 820px) {
  .plataforma-card { grid-template-columns: minmax(0, 1fr) 220px; gap: 2.5rem; }
}

/* O acompanhamento voltou a três cartões com a entrada do GED. */
@media (min-width: 1101px) {
  .support-proof-grid--duas { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .support-proof-grid--tres { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Investigação: painel escuro com amarelo e gradiente discreto, o mesmo
   tratamento usado nas outras páginas. Substitui o carrossel de abas, que
   pedia 1315px para mostrar um passo por vez. */
.investigacao {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 3.4vw, 40px);
  border-radius: 32px;
  color: #fff;
  background: linear-gradient(158deg, #0f2033 0%, #0a141f 62%, #10161f 100%);
}
.investigacao::before {
  position: absolute;
  z-index: 0;
  top: -140px;
  right: -120px;
  width: 380px;
  height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(253, 221, 2, .16), transparent 68%);
  content: "";
  pointer-events: none;
}
.investigacao > * { position: relative; z-index: 1; }

.investigacao-cabeca { max-width: 60ch; margin-bottom: clamp(20px, 3vw, 30px); }
.investigacao-cabeca .eyebrow { color: var(--er-yellow); }
.investigacao-cabeca h2 {
  margin: 8px 0 12px;
  color: #fff;
  font-size: var(--texto-4);
  letter-spacing: -.035em;
  line-height: 1.04;
}
.investigacao-cabeca > p:last-child { margin: 0; color: #b7c2ce; font-size: var(--texto-0); }

.investigacao-grade {
  display: grid;
  gap: clamp(14px, 2vw, 20px);
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}
.passo { min-width: 0; }

.passo figure {
  display: grid;
  height: 100%;
  margin: 0;
  overflow: hidden;
  grid-template-rows: auto 1fr;
  border-radius: 20px;
  background: #17222f;
}
.passo img,
.passo video {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}
.passo img,
.passo video { aspect-ratio: 4 / 3; }
.passo--video video { background: #000; }

.passo figcaption {
  padding: clamp(14px, 2vw, 18px) clamp(14px, 2vw, 20px) clamp(16px, 2.2vw, 22px);
  border-top: 3px solid var(--er-yellow);
}
.passo figcaption span {
  display: block;
  color: var(--er-yellow);
  font-size: var(--texto--2);
  font-weight: 700;
  letter-spacing: .16em;
}
.passo figcaption strong {
  display: block;
  margin: 3px 0 6px;
  color: #fff;
  font-size: var(--texto-1);
  letter-spacing: -.02em;
}
.passo figcaption p { margin: 0; color: #a9b6c4; font-size: var(--texto--1); line-height: 1.5; }

@media (max-width: 900px) {
  .investigacao-grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
  .investigacao-grade { grid-template-columns: minmax(0, 1fr); }
}
