/* Jônatas Silva — Sessão Estratégica
   Seções com prefixo próprio: topo, abertura, porque, perfis, provas, mentores, videos, mentor, rodape.
   Movimento alternado: só as seções .is-animada têm entradas e efeitos de rolagem, e só com html.mov. */

/* ---------- fontes ---------- */
@font-face { font-family: "Instrument Serif"; src: url("../assets/fontes/instrument-serif-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Instrument Serif"; src: url("../assets/fontes/instrument-serif-italic.woff2") format("woff2"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../assets/fontes/hanken-grotesk-normal.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Hanken Grotesk"; src: url("../assets/fontes/hanken-grotesk-italic.woff2") format("woff2"); font-weight: 300 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Cinzel"; src: url("../assets/fontes/cinzel-normal.woff2") format("woff2"); font-weight: 400 700; font-style: normal; font-display: swap; }

/* ---------- tema ---------- */
:root {
  --tinta: #05081a;
  --marinho-900: #080c29;
  --marinho-800: #0a0f33;
  --marinho-700: #0e1647;
  --azul-marca: #141d77;
  --ouro-200: #f3e3ba;
  --ouro-300: #e7cd92;
  --ouro-500: #c9a35a;
  --ouro-700: #8a6a2c;
  --marfim: #f5f0e6;
  --osso: #fbf8f2;
  --areia: #eae0cc;
  --claro: #ece7db;
  --claro-2: #b3b8d2;
  --escuro: #0b1030;
  --escuro-2: #454a66;
  --ouro-texto: linear-gradient(100deg, #f6e6bd 0%, #dcb96f 52%, #b98f41 100%);
  --serifa: "Instrument Serif", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
  --sans: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --rotulo: "Cinzel", "Trajan Pro", Georgia, serif;
  --largura: 1240px;
  --margem: clamp(20px, 5vw, 72px);
  --topo: 64px;
  --curva: cubic-bezier(.2, .75, .2, 1);
  --grao: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}

/* ---------- base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; scroll-padding-top: var(--topo); overflow-x: clip; }
body { margin: 0; background: var(--tinta); color: var(--claro); font: 400 1.0625rem/1.65 var(--sans); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; overflow-x: clip; }
img, svg { display: block; }
img { max-width: 100%; height: auto; }
h1, h2, h3, p, figure, ul { margin: 0; }
ul { padding: 0; list-style: none; }
a { color: inherit; }
button { font: inherit; color: inherit; }
strong { font-weight: 650; }
:focus-visible { outline: 2px solid var(--ouro-300); outline-offset: 3px; }
.porque :focus-visible, .provas :focus-visible, .videos :focus-visible { outline-color: var(--escuro); }
.videos__acao :focus-visible { outline-color: var(--ouro-200); }
.contem { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; }

.pular { position: fixed; left: 12px; top: -80px; z-index: 100; padding: .7em 1em; background: var(--ouro-300); color: #141006; font-weight: 600; text-decoration: none; border-radius: 2px; }
.pular:focus { top: 12px; }

/* linha com máscara (as entradas só existem com html.mov, nas seções animadas) */
.linha { display: block; overflow: hidden; padding: .04em .06em .16em; margin: -.04em -.06em -.16em; }
.linha > span, .linha > strong { display: block; }

/* botão */
.botao { position: relative; isolation: isolate; overflow: hidden; display: inline-flex; align-items: center; gap: .9em; padding: 1.1em 1.55em 1.05em; border-radius: 2px; font: 650 .8125rem/1 var(--sans); letter-spacing: .14em; text-transform: uppercase; text-decoration: none; white-space: nowrap; color: #171103; background: linear-gradient(118deg, #f5e4b6 0%, #d9b66d 40%, #b88c3d 100%); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32), 0 14px 34px -16px rgba(201, 163, 90, .7); }
.botao svg { width: 1.45em; height: 1.45em; flex: none; }
.botao:hover { background: linear-gradient(118deg, #fff1cb 0%, #e7c780 40%, #c99b47 100%); }
.botao--pequeno { padding: .85em 1.15em .8em; font-size: .6875rem; letter-spacing: .12em; box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .32); }

/* microinteração só nas seções animadas */
.mov .is-animada .botao::after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, transparent 30%, rgba(255, 255, 255, .55) 50%, transparent 70%); transform: translateX(-120%); transition: transform .7s var(--curva); }
.mov .is-animada .botao:hover::after { transform: translateX(120%); }
.mov .is-animada .botao svg { transition: transform .35s var(--curva); }
.mov .is-animada .botao:hover svg { transform: translateX(4px); }

/* ---------- topo (estático) ---------- */
.topo { position: fixed; inset: 0 0 auto; z-index: 50; height: var(--topo); display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-inline: var(--margem); background: rgba(5, 8, 26, .95); -webkit-backdrop-filter: blur(14px) saturate(1.3); backdrop-filter: blur(14px) saturate(1.3); border-bottom: 1px solid rgba(201, 163, 90, .2); }
.topo__marca { display: inline-flex; align-items: center; gap: .85em; font: 600 .78rem/1 var(--rotulo); letter-spacing: .3em; text-transform: uppercase; text-decoration: none; color: var(--ouro-200); white-space: nowrap; }
.topo__marca svg { width: 14px; height: 14px; color: var(--ouro-500); flex: none; }

/* ---------- abertura (animada) ---------- */
.dupla { position: relative; }
.abertura { position: relative; isolation: isolate; overflow: clip; display: flex; align-items: center; min-height: 640px; height: min(100svh, 920px); background: radial-gradient(110% 90% at 72% 42%, #0b1247 0%, #070b2e 46%, #03051a 100%); }
.abertura__quadro { position: absolute; top: calc(var(--topo) - 20px); left: 76%; translate: -71% 0; z-index: -2; height: calc(100% - var(--topo) + 20px); aspect-ratio: 2000 / 1116; --cx: 53.25%; --cy: 59.14%; }
.abertura__foto--celular { display: none; }
.abertura__foto { width: 100%; height: 100%; object-fit: cover; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 94%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 14%, #000 94%, transparent 100%); }
.abertura__brilho { position: absolute; left: var(--cx); top: var(--cy); width: 52%; aspect-ratio: 1; translate: -50% -50%; background: radial-gradient(circle, rgba(243, 227, 186, .2) 0%, rgba(231, 205, 146, .08) 34%, transparent 62%); mix-blend-mode: screen; pointer-events: none; }
.abertura__rosa { position: absolute; left: var(--cx); top: var(--cy); height: 200%; aspect-ratio: 1; translate: -50% -50%; color: var(--ouro-300); pointer-events: none; overflow: visible; }
.rosa__meridiano { stroke-width: .5; opacity: .16; }
.rosa__rumos { stroke-width: .5; opacity: .3; }
.rosa__anel { stroke-width: .7; stroke-dasharray: 1; }
.rosa__anel--1 { opacity: .75; }
.rosa__anel--2 { opacity: .5; }
.rosa__anel--3 { opacity: .22; }
.rosa__marcas { opacity: .6; }
.rosa__marcas--maiores { opacity: .85; }
.rosa__pontos { opacity: .5; }
.rosa__losangos { opacity: .8; }
.abertura::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: linear-gradient(90deg, rgba(3, 5, 24, .94) 0%, rgba(3, 5, 24, .84) 22%, rgba(3, 5, 24, .34) 38%, transparent 48%), linear-gradient(0deg, var(--tinta) 0%, rgba(5, 8, 26, .6) 10%, transparent 26%); }
.abertura::after { content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; background: #02030f; opacity: calc(var(--rol, 0) * .7); }
.abertura__conteudo { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; padding-top: var(--topo); }
.abertura__titulo { max-width: 11.5em; font: 400 clamp(3rem, 5.9vw, 5.9rem)/.97 var(--serifa); letter-spacing: -.012em; color: #f7f2e6; }
.abertura__titulo em, .perfis__titulo em, .mentores__titulo em, .mentor__titulo em { font-style: italic; color: var(--ouro-300); background: var(--ouro-texto); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; padding: 0 .18em 0 .04em; margin: 0 -.18em 0 -.04em; -webkit-box-decoration-break: clone; box-decoration-break: clone; }
.abertura__texto { max-width: 26rem; margin-top: clamp(20px, 2.4vw, 34px); font-size: clamp(1.05rem, 1.3vw, 1.25rem); line-height: 1.6; color: #d3d7e8; text-wrap: pretty; }
.abertura__acao { margin-top: clamp(26px, 3vw, 42px); }

@media (min-width: 981px) and (min-height: 600px) {
  .mov .abertura { position: sticky; top: 0; z-index: 0; }
}
.mov .abertura__quadro { transform: translate3d(0, calc(var(--rol, 0) * 9%), 0); }
.mov .abertura__conteudo { transform: translate3d(0, calc(var(--rol, 0) * -90px), 0); }
.mov .rosa__giro--a { transform: rotate(calc(var(--rol, 0) * 46deg)); }
.mov .rosa__giro--b { transform: rotate(calc(var(--rol, 0) * -30deg)); }

/* entrada da abertura: começa quando as fontes chegam (html.carregou) */
.mov .abertura__titulo .linha > span { transform: translateY(112%) rotate(3.5deg); transform-origin: 0 100%; }
.mov .abertura__texto, .mov .abertura__acao { opacity: 0; transform: translateY(18px); }
.mov .abertura__foto { opacity: 0; transform: scale(1.06); }
.mov .abertura__brilho { opacity: 0; scale: .5; }
.mov .rosa__anel { stroke-dashoffset: 1; }
.mov .rosa__giro, .mov .rosa__linhas { opacity: 0; }
.mov.carregou .abertura__titulo .linha > span { transform: none; transition: transform 1.15s var(--curva) calc(.15s + var(--n, 0) * .11s); }
.mov.carregou .abertura__texto { opacity: 1; transform: none; transition: opacity .9s ease .75s, transform .9s var(--curva) .75s; }
.mov.carregou .abertura__acao { opacity: 1; transform: none; transition: opacity .9s ease .92s, transform .9s var(--curva) .92s; }
.mov.carregou .abertura__foto { opacity: 1; transform: none; transition: opacity 1.4s ease, transform 2s var(--curva); }
.mov.carregou .abertura__brilho { opacity: 1; scale: 1; transition: opacity 1.8s ease .3s, scale 2.2s var(--curva) .3s; }
.mov.carregou .rosa__anel { stroke-dashoffset: 0; transition: stroke-dashoffset 2s var(--curva) .35s; }
.mov.carregou .rosa__anel--2 { transition-delay: .55s; }
.mov.carregou .rosa__anel--3 { transition-delay: .75s; }
.mov.carregou .rosa__giro, .mov.carregou .rosa__linhas { opacity: 1; transition: opacity 1.6s ease .9s; }

@media (min-width: 981px) and (max-width: 1180px) {
  .abertura__quadro { left: 92%; }
  .abertura__texto { max-width: 22rem; }
}
@media (max-width: 980px) {
  .abertura { --foto: min(58svh, 720px); height: auto; min-height: 100svh; align-items: flex-end; padding-bottom: 44px; background: radial-gradient(120% 60% at 50% 30%, #0b1247 0%, #070b2e 50%, #03051a 100%); }
  .abertura__quadro { top: calc(var(--topo) - 14px); left: 50%; translate: -62.5% 0; height: var(--foto); }
  .abertura__foto { -webkit-mask-image: linear-gradient(180deg, #000 0, #000 68%, transparent 99%); mask-image: linear-gradient(180deg, #000 0, #000 68%, transparent 99%); }
  .abertura::before { background: linear-gradient(0deg, var(--tinta) 0%, var(--tinta) 34%, rgba(5, 8, 26, .82) 46%, rgba(5, 8, 26, .2) 62%, transparent 74%); }
  .abertura__conteudo { padding-top: calc(var(--foto) - 70px); }
  .abertura__titulo { font-size: clamp(2.5rem, 12vw, 4.4rem); }
  .abertura__texto { max-width: 36rem; }
  .mov .abertura__conteudo { transform: none; }
}
@media (max-width: 600px) {
  .abertura { --foto: min(62svh, 540px); }
  .abertura__quadro { translate: -50% 0; aspect-ratio: 980 / 1116; --cx: 33.67%; }
  .abertura__foto--larga { display: none; }
  .abertura__foto--celular { display: block; }
}

/* ---------- por quê (estática) ---------- */
.porque { position: relative; z-index: 1; background: var(--marfim); color: var(--escuro); padding-block: clamp(84px, 10vw, 150px) clamp(60px, 7vw, 104px); }
.porque__cabeca { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 24px 48px; padding-bottom: clamp(28px, 3.6vw, 52px); border-bottom: 1px solid rgba(11, 16, 48, .18); }
.porque h2 { max-width: 14em; font: 400 clamp(2.5rem, 5.1vw, 4.7rem)/1 var(--serifa); letter-spacing: -.012em; text-wrap: balance; }
.porque h2 em { font-style: italic; color: var(--ouro-700); }
.porque__simples { font: italic 400 clamp(1.7rem, 2.6vw, 2.6rem)/1 var(--serifa); color: var(--ouro-700); white-space: nowrap; }
.porque__corpo { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; gap: clamp(32px, 6vw, 96px); padding-top: clamp(32px, 4.6vw, 68px); }
.porque__texto { font-size: clamp(1.05rem, 1.2vw, 1.1875rem); color: #2a2f4d; text-wrap: pretty; }
.porque__texto p + p { margin-top: 1.25em; }
.porque__texto strong { color: var(--escuro); }
.porque__texto .ouro { color: var(--ouro-700); }
.formula { position: relative; overflow: hidden; padding: clamp(28px, 4vw, 56px); border-radius: 3px; background: linear-gradient(158deg, #101a55 0%, #0a0f36 55%, #060926 100%); color: var(--claro); box-shadow: 0 40px 70px -46px rgba(11, 16, 48, .8); }
.formula::before { content: ""; position: absolute; inset: 0; background: var(--grao); opacity: .07; mix-blend-mode: overlay; pointer-events: none; }
.formula__anel { position: absolute; right: -22%; top: -34%; width: 78%; color: var(--ouro-300); opacity: .28; pointer-events: none; }
.formula__rotulo { position: relative; font: 600 .68rem/1.3 var(--rotulo); letter-spacing: .3em; text-transform: uppercase; color: var(--ouro-300); }
.formula__soma { position: relative; margin-top: .32em; font: 400 clamp(2.7rem, 5.3vw, 5.1rem)/.98 var(--serifa); letter-spacing: -.012em; color: #f7f2e6; }
.formula__soma i { font-style: italic; background: var(--ouro-texto); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; color: var(--ouro-300); padding: 0 .16em 0 .03em; margin: 0 -.16em 0 -.03em; }
.formula__mais { color: var(--ouro-500); }
.formula__rotulo--degraus { margin-top: clamp(30px, 4vw, 54px); }
.degraus { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; align-items: end; height: clamp(120px, 13vw, 168px); margin-top: 14px; }
.degrau { display: block; padding: .5em .6em 0; border-top: 1px solid var(--ouro-500); border-left: 1px solid rgba(201, 163, 90, .45); background: linear-gradient(180deg, rgba(201, 163, 90, .16), transparent 70%); font: 400 clamp(1.6rem, 2.7vw, 2.5rem)/1 var(--serifa); color: #f7f2e6; }
.degrau:nth-child(1) { height: 40%; }
.degrau:nth-child(2) { height: 68%; }
.degrau:nth-child(3) { height: 100%; }
.degraus__etc { align-self: start; padding: .5em 0 0 .7em; border-left: 1px dashed rgba(201, 163, 90, .45); height: 100%; font: italic 400 clamp(1.1rem, 1.5vw, 1.4rem)/1 var(--serifa); color: var(--ouro-300); }
/* uma linha só em qualquer largura: o tamanho acompanha a largura da coluna */
.porque .contem { container-type: inline-size; }
.trio { display: flex; flex-wrap: nowrap; white-space: nowrap; align-items: center; justify-content: space-between; gap: .22em; margin-top: clamp(52px, 7vw, 104px); padding-top: clamp(20px, 2.6vw, 36px); border-top: 1px solid rgba(11, 16, 48, .18); font: 400 min(11.4vw, 9.6rem)/.92 var(--serifa); letter-spacing: -.022em; color: var(--escuro); }
@supports (font-size: 1cqw) { .trio { font-size: 13cqw; } }
.trio em { font-style: italic; color: var(--ouro-700); padding-right: .04em; }
.trio i { width: .12em; height: .12em; rotate: 45deg; background: var(--ouro-500); flex: none; }

/* ---------- pra quem é (animada) ---------- */
.perfis { position: relative; z-index: 1; padding-block: clamp(88px, 11vw, 168px) clamp(76px, 9vw, 132px); background: radial-gradient(70% 40% at 86% 4%, rgba(20, 29, 119, .5) 0%, transparent 70%), radial-gradient(60% 34% at 6% 96%, rgba(20, 29, 119, .34) 0%, transparent 70%), var(--tinta); }
.perfis::before { content: ""; position: absolute; inset: 0; background: var(--grao); opacity: .05; mix-blend-mode: overlay; pointer-events: none; }
.perfis .contem { position: relative; }
.perfis__titulo { font: 400 clamp(2.6rem, 5.6vw, 5.2rem)/.98 var(--serifa); letter-spacing: -.012em; color: #f7f2e6; }
.perfis__pilha { display: grid; gap: clamp(20px, 2.6vw, 36px); margin-top: clamp(40px, 5.6vw, 84px); }
.perfil { position: relative; overflow: hidden; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); align-items: start; gap: clamp(24px, 5vw, 80px); padding: clamp(28px, 4.4vw, 64px); border: 1px solid rgba(201, 163, 90, .26); border-radius: 4px; background: linear-gradient(150deg, #111b58 0%, #0b113b 58%, #080c2c 100%); box-shadow: 0 -26px 60px -30px rgba(2, 3, 15, .9); transform-origin: 50% 0; }
.perfil:nth-child(2) { background: linear-gradient(150deg, #14206a 0%, #0c1342 58%, #090d30 100%); }
.perfil:nth-child(3) { background: linear-gradient(150deg, #1a2780 0%, #0e164b 58%, #0a0f36 100%); }
.perfil::after { content: ""; position: absolute; inset: 0; background: #02030f; opacity: calc(var(--k, 0) * .5); pointer-events: none; }
.perfil__desenho { width: clamp(72px, 8.4vw, 116px); color: var(--ouro-300); stroke-width: 1.1; overflow: visible; }
.traco { stroke-dasharray: 1; stroke-linecap: round; stroke-linejoin: round; }
.perfil__nome { margin-top: .32em; font: 400 clamp(2.7rem, 5.8vw, 5.4rem)/.96 var(--serifa); letter-spacing: -.015em; color: #f7f2e6; }
.perfil__sub { max-width: 17em; margin-top: .55em; font: italic 400 clamp(1.25rem, 1.8vw, 1.7rem)/1.18 var(--serifa); color: var(--ouro-300); text-wrap: balance; }
.perfil__texto { color: #cdd1e4; text-wrap: pretty; }
.perfil__texto p + p { margin-top: 1.1em; }
.perfil__texto strong { color: #fff; font-weight: 600; }
.perfis__acao { display: flex; justify-content: center; margin-top: clamp(48px, 6vw, 88px); }

@media (min-width: 1000px) and (min-height: 700px) {
  .mov .perfis__pilha { display: block; }
  .mov .perfis__pilha::after { content: ""; display: block; height: clamp(90px, 20vh, 200px); }
  .mov .perfil:not(:last-child) { margin-bottom: clamp(120px, 26vh, 260px); }
  .mov .perfil { position: sticky; top: calc(var(--topo) + 28px + var(--i) * 22px); transform: scale(calc(1 - var(--k, 0) * .045)); will-change: transform; }
}

/* entradas genéricas das seções animadas */
.mov .is-animada [data-entra="linhas"] .linha > span { transform: translateY(112%) rotate(3.5deg); transform-origin: 0 100%; }
.mov .is-animada [data-entra="linhas"].entrou .linha > span { transform: none; transition: transform 1.1s var(--curva) calc(var(--n, 0) * .11s); }
.mov .is-animada [data-entra="sobe"] { opacity: 0; transform: translateY(20px); }
.mov .is-animada [data-entra="sobe"].entrou { opacity: 1; transform: none; transition: opacity .9s ease .25s, transform .9s var(--curva) .25s; }
.mov .is-animada [data-entra="traco"] .traco { stroke-dashoffset: 1; }
.mov .is-animada [data-entra="traco"].entrou .traco { stroke-dashoffset: 0; transition: stroke-dashoffset 1.3s var(--curva) calc(var(--t, 0) * .13s); }
.mov .is-animada [data-entra="fio"] { transform: scaleX(0); }
.mov .is-animada [data-entra="fio"].entrou { transform: none; transition: transform 1.4s var(--curva) .2s; }

/* ---------- resultados (estática) ---------- */
.provas { position: relative; z-index: 1; padding-block: clamp(84px, 10vw, 150px); background-color: var(--osso); background-image: linear-gradient(rgba(11, 16, 48, .05) 1px, transparent 1px); background-size: 100% 36px; color: var(--escuro); }
.provas__cabeca { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 19rem); align-items: end; gap: 24px 48px; }
.provas h2 { max-width: 11em; font: 400 clamp(2.5rem, 5.1vw, 4.7rem)/1 var(--serifa); letter-spacing: -.012em; text-wrap: balance; }
.provas h2 em { font-style: italic; color: var(--ouro-700); }
.provas__nota { padding-left: 1rem; border-left: 1px solid var(--ouro-500); font-size: 1rem; line-height: 1.45; color: var(--escuro-2); text-wrap: balance; }
.provas__mural { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; gap: clamp(16px, 2.2vw, 32px); margin-top: clamp(40px, 5vw, 76px); }
.prova { display: flex; flex-direction: column; background: #fff; border: 1px solid rgba(11, 16, 48, .16); box-shadow: 0 34px 60px -44px rgba(11, 16, 48, .55); }
.prova__tela { display: block; width: 100%; padding: clamp(10px, 1.3vw, 18px); border: 0; background: none; cursor: zoom-in; }
.prova__tela img { width: 100%; border: 1px solid rgba(11, 16, 48, .08); }
.prova figcaption { display: grid; gap: .3rem; padding: 1rem clamp(14px, 1.5vw, 22px) 1.2rem; border-top: 1px solid rgba(11, 16, 48, .16); background: linear-gradient(180deg, rgba(234, 224, 204, .34), transparent); }
.prova__rotulo { font: 600 .64rem/1.2 var(--rotulo); letter-spacing: .26em; text-transform: uppercase; color: var(--ouro-700); }
.prova__valor { font: 400 clamp(2rem, 2.8vw, 2.7rem)/1 var(--serifa); letter-spacing: -.01em; color: var(--escuro); }
.prova__valor--frase { font-style: italic; font-size: clamp(1.7rem, 2.4vw, 2.3rem); line-height: 1.05; color: var(--ouro-700); text-wrap: balance; }
.prova__lido { font-size: .875rem; line-height: 1.4; color: var(--escuro-2); }
.prova--1 { grid-column: 1 / 5; grid-row: 1 / 3; }
.prova--2 { grid-column: 5 / 9; grid-row: 1; }
.prova--3 { grid-column: 9 / 13; grid-row: 1 / 3; }
.prova--4 { grid-column: 5 / 9; grid-row: 2; }
.prova--5 { grid-column: 1 / 7; grid-row: 3; }
.prova--6 { grid-column: 7 / 13; grid-row: 3; }

/* ---------- mentores (animada) ---------- */
.mentores { position: relative; z-index: 1; overflow: clip; padding-block: clamp(88px, 11vw, 168px); background: radial-gradient(60% 50% at 12% 0%, rgba(20, 29, 119, .42) 0%, transparent 70%), #04061a; }
.mentores::before { content: ""; position: absolute; inset: 0; background: var(--grao); opacity: .05; mix-blend-mode: overlay; pointer-events: none; }
.mentores .contem { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: end; gap: clamp(20px, 4vw, 64px); }
.mentores__titulo { font: 400 clamp(2.6rem, 5.6vw, 5.2rem)/.98 var(--serifa); letter-spacing: -.012em; color: #f7f2e6; }
.mentores__fio { display: block; height: 1px; margin-bottom: clamp(14px, 1.6vw, 24px); background: linear-gradient(90deg, var(--ouro-500), rgba(201, 163, 90, 0)); transform-origin: 0 50%; }
.mentores__tira { position: relative; display: flex; align-items: flex-start; gap: clamp(10px, 1.6vw, 24px); width: min(100% - 2 * var(--margem), 1480px); margin: clamp(40px, 5.4vw, 80px) auto 0; }
.mentor-foto { flex: var(--ar) 1 0; min-width: 0; }
.mentor-foto:nth-child(even) { margin-top: clamp(20px, 3.4vw, 52px); }
.mentor-foto__janela { position: relative; display: block; width: 100%; aspect-ratio: var(--ar); overflow: hidden; padding: 0; border: 0; background: var(--marinho-800); cursor: zoom-in; }
.mentor-foto__janela::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(231, 205, 146, .3); pointer-events: none; }
.mentor-foto img { width: 100%; height: 100%; object-fit: cover; }
.mentor-foto figcaption { margin-top: .75rem; padding-top: .7rem; border-top: 1px solid rgba(201, 163, 90, .4); font: 400 clamp(1.15rem, 1.7vw, 1.7rem)/1.12 var(--serifa); color: #f7f2e6; text-wrap: balance; }

.mov .is-animada [data-entra="cortina"] .mentor-foto__janela { clip-path: inset(100% 0 0 0); }
.mov .is-animada [data-entra="cortina"] img { transform: scale(1.18); }
.mov .is-animada [data-entra="cortina"] figcaption { border-top-color: transparent; }
.mov .is-animada [data-entra="cortina"] .linha > span { transform: translateY(112%); }
.mov .is-animada [data-entra="cortina"].entrou .mentor-foto__janela { clip-path: inset(0); transition: clip-path 1.15s var(--curva) calc(var(--n, 0) * .14s); }
.mov .is-animada [data-entra="cortina"].entrou img { transform: none; transition: transform 1.6s var(--curva) calc(var(--n, 0) * .14s); }
.mov .is-animada [data-entra="cortina"].entrou figcaption { border-top-color: rgba(201, 163, 90, .4); transition: border-color .8s ease calc(.5s + var(--n, 0) * .14s); }
.mov .is-animada [data-entra="cortina"].entrou .linha > span { transform: none; transition: transform .95s var(--curva) calc(.55s + var(--n, 0) * .14s); }

/* ---------- vídeos (estática) ---------- */
.videos { position: relative; z-index: 1; padding-block: clamp(84px, 10vw, 150px); background: var(--areia); color: var(--escuro); }
.videos h2 { max-width: 13.5em; font: 400 clamp(2.4rem, 4.9vw, 4.5rem)/1.02 var(--serifa); letter-spacing: -.012em; text-wrap: balance; }
.videos h2 em { font-style: italic; color: var(--ouro-700); }
.videos__mosaico { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 32px); margin-top: clamp(40px, 5vw, 76px); }
.video { display: flex; flex-direction: column; background: var(--marinho-800); color: #f7f2e6; box-shadow: 0 34px 60px -44px rgba(11, 16, 48, .7); }
.video--1 { grid-column: 1; grid-row: 1; }
.video--2 { grid-column: 2; grid-row: 1; }
.video--3 { grid-column: 2; grid-row: 2; }
.videos__acao { grid-column: 1; grid-row: 2; }
.video__capa { position: relative; display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #000; }
.video__capa img { width: 100%; height: 100%; object-fit: cover; }
.video__capa::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5, 8, 26, .5), rgba(5, 8, 26, .08) 46%); }
.video__tocar { position: absolute; inset: 0; z-index: 1; margin: auto; display: grid; place-items: center; width: clamp(54px, 5.6vw, 82px); aspect-ratio: 1; border-radius: 50%; color: #171103; background: linear-gradient(118deg, #f5e4b6 0%, #d9b66d 45%, #b88c3d 100%); box-shadow: 0 0 0 8px rgba(245, 228, 182, .2), 0 18px 40px -10px rgba(0, 0, 0, .7); }
.video__tocar svg { width: 42%; height: 42%; translate: 6% 0; }
.video iframe { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.video figcaption { display: flex; align-items: center; gap: .7em; padding: .85rem clamp(14px, 1.5vw, 22px) .95rem; font: 400 clamp(1.25rem, 1.8vw, 1.7rem)/1.1 var(--serifa); }
.video figcaption::before { content: ""; width: .34em; height: .34em; rotate: 45deg; background: var(--ouro-500); flex: none; }
.videos__acao { position: relative; overflow: hidden; display: grid; place-items: center; min-height: 150px; padding: 20px; background: linear-gradient(158deg, #101a55 0%, #0a0f36 55%, #060926 100%); }
.videos__anel { position: absolute; left: 50%; top: 50%; width: min(120%, 620px); translate: -50% -50%; color: var(--ouro-300); opacity: .22; pointer-events: none; }
.videos__acao .botao { position: relative; }
/* o player precisa receber o clique mesmo com a rolagem suave ligada */
.lenis.lenis-smooth .video iframe { pointer-events: auto; }

/* ---------- quem será seu mentor (animada) ---------- */
.mentor { position: relative; z-index: 1; overflow: clip; padding-block: clamp(88px, 11vw, 168px) clamp(72px, 9vw, 130px); background: radial-gradient(70% 34% at 90% 0%, rgba(20, 29, 119, .46) 0%, transparent 70%), linear-gradient(180deg, #070b2a 0%, var(--tinta) 60%); }
.mentor::before { content: ""; position: absolute; inset: 0; background: var(--grao); opacity: .05; mix-blend-mode: overlay; pointer-events: none; }
.mentor .contem { position: relative; }
.mentor__titulo { font: 400 clamp(3rem, 8.2vw, 8rem)/.94 var(--serifa); letter-spacing: -.018em; color: #f7f2e6; }
.mentor__grade { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); grid-template-areas: "titulo foto" "bio foto"; grid-template-rows: auto 1fr; align-items: start; gap: clamp(28px, 4vw, 60px) clamp(32px, 6vw, 96px); }
.mentor__titulo { grid-area: titulo; }
.mentor__foto { position: relative; grid-area: foto; }
.mentor__bio { grid-area: bio; color: #cdd1e4; text-wrap: pretty; }
.mentor__janela { overflow: hidden; aspect-ratio: 4 / 5; background: #05060f; }
.mentor__janela img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 26%; }
.mentor__foto::before { content: ""; position: absolute; inset: 0; z-index: 1; box-shadow: inset 0 0 0 1px rgba(231, 205, 146, .28); pointer-events: none; }
.mentor__foto::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(0deg, rgba(5, 8, 26, .88) 0%, rgba(5, 8, 26, 0) 38%); }
.mentor__legenda { position: absolute; left: clamp(16px, 2.4vw, 32px); bottom: clamp(16px, 2.2vw, 30px); z-index: 1; display: grid; gap: .45rem; }
.mentor__legenda strong { font: 400 clamp(1.9rem, 3.2vw, 3.1rem)/1 var(--serifa); letter-spacing: -.012em; color: #f7f2e6; }
.mentor__legenda span { font: 600 .7rem/1.2 var(--rotulo); letter-spacing: .3em; text-transform: uppercase; color: var(--ouro-300); }
.mov .mentor__janela { clip-path: inset(calc((1 - var(--abre, 1)) * 12%) calc((1 - var(--abre, 1)) * 13%)); }
.mov .mentor__janela img { transform: scale(calc(1.18 - var(--abre, 1) * .18)); }
.mov .mentor__foto::before, .mov .mentor__foto::after, .mov .mentor__legenda { opacity: calc(var(--abre, 1) * 1.6 - .6); }
.mentor__abre { font: 400 clamp(1.7rem, 2.9vw, 2.7rem)/1.12 var(--serifa); letter-spacing: -.008em; color: #f7f2e6; text-wrap: balance; }
.mentor__bio p + p { margin-top: 1.15em; }
.mentor__bio .mentor__abre + p { margin-top: clamp(22px, 2.6vw, 36px); }
.mentor__bio strong { color: #fff; font-weight: 600; }

.mentor__numeros { display: grid; grid-template-columns: repeat(4, minmax(0, auto)); justify-content: space-between; gap: 24px clamp(20px, 3vw, 48px); padding-block: clamp(22px, 2.8vw, 36px); border-bottom: 1px solid rgba(201, 163, 90, .34); }
.mentor__fio { display: block; height: 1px; margin-top: clamp(34px, 4.6vw, 64px); background: linear-gradient(90deg, var(--ouro-500), rgba(201, 163, 90, .34) 60%); transform-origin: 0 50%; }
.mentor__numeros li { display: grid; gap: .35rem; }
.mentor__numeros strong { font: 400 clamp(2.2rem, 4.6vw, 4.4rem)/1 var(--serifa); letter-spacing: -.012em; color: var(--ouro-300); background: var(--ouro-texto); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; white-space: nowrap; }
.mentor__numeros li > span:last-child { font-size: .9375rem; line-height: 1.3; color: var(--claro-2); }
.mov .is-animada [data-entra="numeros"] .linha > strong { transform: translateY(112%); }
.mov .is-animada [data-entra="numeros"] li > span:last-child { opacity: 0; }
.mov .is-animada [data-entra="numeros"].entrou .linha > strong { transform: none; transition: transform 1s var(--curva) calc(var(--n, 0) * .12s); }
.mov .is-animada [data-entra="numeros"].entrou li > span:last-child { opacity: 1; transition: opacity .8s ease calc(.45s + var(--n, 0) * .12s); }

/* ---------- rodapé (estático) ---------- */
.rodape { position: relative; z-index: 1; padding-block: clamp(60px, 8vw, 116px) clamp(36px, 4vw, 56px); background: #03051a; border-top: 1px solid rgba(201, 163, 90, .22); }
.rodape__grade { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 28px 48px; }
.rodape__nome { font: 400 clamp(3.2rem, 10vw, 9.4rem)/.9 var(--serifa); letter-spacing: -.02em; color: #f7f2e6; }
.rodape__frase { margin-top: 1rem; font: 600 .7rem/1.5 var(--rotulo); letter-spacing: .28em; text-transform: uppercase; color: var(--ouro-300); }

/* ---------- ampliar ---------- */
.ampliar { width: 100vw; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: clamp(56px, 7vh, 80px) clamp(12px, 3vw, 40px) clamp(20px, 4vh, 48px); border: 0; background: rgba(3, 5, 22, .94); overflow: auto; overscroll-behavior: contain; }
.ampliar::backdrop { background: rgba(3, 5, 22, .6); }
.ampliar img { width: min(100%, 1000px); margin-inline: auto; background: #fff; box-shadow: 0 30px 80px -20px #000; }
.ampliar__fechar { position: fixed; right: clamp(12px, 2.4vw, 28px); top: clamp(10px, 2vh, 20px); display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid rgba(231, 205, 146, .5); border-radius: 50%; background: rgba(5, 8, 26, .8); color: var(--ouro-200); cursor: pointer; }
.ampliar__fechar svg { width: 20px; height: 20px; }

/* ---------- telas menores ---------- */
@media (max-width: 1040px) {
  .provas__mural { display: block; columns: 2; column-gap: clamp(16px, 2.2vw, 32px); }
  .prova { break-inside: avoid; margin-bottom: clamp(16px, 2.2vw, 32px); }
}
@media (max-width: 860px) {
  .porque__corpo, .perfil { grid-template-columns: 1fr; }
  .mentor__grade { grid-template-columns: 1fr; grid-template-areas: "titulo" "foto" "bio"; grid-template-rows: auto; }
  .mentor__janela { aspect-ratio: 5 / 4; }
  .videos__mosaico { grid-template-columns: 1fr; }
  .video--1, .video--2, .video--3, .videos__acao { grid-column: auto; grid-row: auto; }
  .mentor__numeros { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
  .mentores__tira { flex-wrap: wrap; row-gap: 28px; }
  .mentor-foto { flex: var(--ar) 1 calc(var(--ar) * 40% - 12px); }
  .mentor-foto:nth-child(even) { margin-top: 0; }
}
@media (max-width: 640px) {
  :root { --topo: 56px; }
  body { font-size: 1rem; }
  .topo__marca { letter-spacing: .2em; font-size: .7rem; gap: .6em; }
  .botao--pequeno { padding: .8em .9em .75em; font-size: .625rem; letter-spacing: .08em; }
  .porque__cabeca, .provas__cabeca, .rodape__grade { grid-template-columns: 1fr; }
  .mentores .contem { grid-template-columns: 1fr; }
  .mentores__fio { margin-bottom: 0; }
  .provas__mural { columns: 1; }
  .mentor__janela { aspect-ratio: 4 / 5; }
  .mentor__numeros { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 14px; }
  .mentor__numeros li:last-child { grid-column: 1 / -1; }
  .mentor__numeros strong { font-size: clamp(1.8rem, 8.2vw, 2.2rem); }
  .botao:not(.botao--pequeno) { font-size: .75rem; letter-spacing: .1em; gap: .7em; padding-inline: 1.25em; }
  .botao:not(.botao--pequeno) { white-space: normal; }
  .abertura__acao .botao, .perfis__acao .botao, .rodape .botao, .videos__acao .botao { width: 100%; justify-content: space-between; }
}

@media (max-width: 370px) {
  .topo { gap: 10px; }
  .topo__marca { letter-spacing: .12em; font-size: .64rem; }
  .topo__marca svg { display: none; }
  .botao--pequeno { padding-inline: .7em; letter-spacing: .03em; }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
}
