/* Vision Pro Academy · LP
   Cores e tipos do Manual de Identidade Visual (Desktop/VISION PRO ACADEMY).
   Proporção do manual: 60% carvão · 25% off-white · 10% laranja · 5% pêssego ou dourado. */

@font-face {
  font-family: "Coolvetica";
  src: url("../assets/fonts/coolvetica.otf") format("opentype");
  font-display: swap;
}

:root {
  --carvao: #0F0F0F;
  --carvao-2: #161514;
  --carvao-3: #1E1C1B;
  --off: #F4F4F2;
  --off-2: rgba(244, 244, 242, .72);
  --off-3: rgba(244, 244, 242, .5);
  --linha: rgba(244, 244, 242, .1);
  --laranja: #FF3B0D;
  --pessego: #FFB15C;
  --dourado: #FFC857;

  --titulo: "Coolvetica", "Inter", "Helvetica Neue", Arial, sans-serif;
  --texto: "Inter", "Helvetica Neue", Arial, sans-serif;

  --raio: 16px;
  --raio-btn: 3px;
  --gutter: clamp(16px, 4vw, 48px);
  --max: 1200px;
  --topo-h: 68px;
  --mola: cubic-bezier(.2, .8, .2, 1);
  --suave: cubic-bezier(.2, 0, 0, 1);

  /* rastro de luz */
  --fluxo-principal: #FF3B0D;
  --fluxo-segundo: #FFB15C;
  --fluxo-nucleo: #FFC857;
  --fluxo-fundo: #4a1204;
  --fluxo-faisca: #F4F4F2;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--topo-h) + 12px); -webkit-text-size-adjust: 100%; }
html { background: var(--carvao); }
body {
  margin: 0;
  background: transparent;
  color: var(--off);
  font: 400 17px/1.6 var(--texto);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* grão sutil (manual: "textura · grão sutil, profundidade e matéria") */
body::after {
  content: ""; position: fixed; inset: 0; pointer-events: none; z-index: 100; opacity: .06; mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}
img { max-width: 100%; height: auto; display: block; }
a { color: inherit; }
h1, h2, h3 { margin: 0; font-weight: 400; }
p { margin: 0 0 1em; }
strong { font-weight: 600; color: var(--off); }
:focus-visible { outline: 2px solid var(--pessego); outline-offset: 3px; }

.pular { position: absolute; left: -9999px; }
.pular:focus { left: 16px; top: 16px; z-index: 200; background: var(--off); color: var(--carvao); padding: 8px 12px; }
.escondido { position: absolute; left: -9999px; }

.largura { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.dois { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px, 6vw, 96px); align-items: start; }
.dois--meio { align-items: center; }

/* ---------- tipografia ---------- */
.kicker {
  font: 700 12px/1 var(--texto); letter-spacing: .24em; text-transform: uppercase;
  color: var(--laranja); margin-bottom: 20px;
}
.kicker--pessego { color: var(--pessego); }
h2 {
  font-family: var(--titulo); text-transform: uppercase;
  font-size: clamp(36px, 5.4vw, 72px); line-height: .95; letter-spacing: -.005em;
  margin-bottom: 24px;
}
h2 em, h1 em { font-style: normal; color: var(--laranja); }
.lead { font-size: clamp(18px, 1.6vw, 21px); line-height: 1.5; color: var(--off); }
.lead--estreita { max-width: 640px; }
.secao p:not(.kicker):not(.lead) { color: var(--off-2); }
.link { color: var(--pessego); text-underline-offset: 3px; }

/* ---------- botões (quadrados, pedido do Alek) ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; padding: 0 26px; border-radius: var(--raio-btn);
  font: 600 15px/1 var(--texto); letter-spacing: .04em; text-transform: uppercase; text-decoration: none;
  border: 1px solid transparent; cursor: pointer; transition: background .2s, color .2s, border-color .2s, transform .2s;
}
.btn i { font-style: normal; transition: transform .2s; }
.btn:hover i { transform: translateX(4px); }
.btn--laranja { background: var(--laranja); color: var(--off); }
.btn--laranja:hover { background: #ff5428; }
.btn--linha { background: transparent; color: var(--off); border-color: rgba(244,244,242,.35); }
.btn--linha:hover { border-color: var(--off); }
.btn--p { min-height: 40px; padding: 0 16px; font-size: 13px; }

/* ---------- topo ---------- */
.topo {
  position: fixed; inset: 0 0 auto; z-index: 50; height: var(--topo-h);
  display: flex; align-items: center; gap: 24px; padding: 0 var(--gutter);
  transition: background .3s, border-color .3s, backdrop-filter .3s;
  border-bottom: 1px solid transparent;
}
.topo > *:not(.topo__placa) { position: relative; }
.topo__placa { position: absolute; inset: 0; background: rgba(15,15,15,.7); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid var(--linha); opacity: 0; transition: opacity .45s var(--suave); }
.topo.rolou .topo__placa { opacity: 1; }
.marca { display: flex; align-items: center; gap: 10px; text-decoration: none; margin-right: auto; }
.marca img { width: 26px; height: auto; }
.marca span { font: 400 14px/1 var(--titulo); text-transform: uppercase; letter-spacing: .02em; }
.menu { display: flex; gap: 28px; }
.menu a { font-size: 14px; color: var(--off-2); text-decoration: none; }
.menu a:hover { color: var(--off); }

/* ---------- hero ---------- */
.hero {
  position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end;
  padding: calc(var(--topo-h) + 40px) 0 0; overflow: hidden; isolation: isolate;
}
.hero__foto { position: absolute; inset: 0; z-index: -2; }
.hero__foto img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
/* "revelando": a foto surge do escuro como numa revelação */
.hero__foto img { filter: brightness(0); }
.revela img { filter: none; animation: revelar 2.8s cubic-bezier(.2,.7,.2,1) both; }
html:not(.js) .hero__foto img { filter: none; }
@keyframes revelar {
  0% { filter: brightness(0) contrast(1.6) saturate(0); transform: scale(1.06); }
  45% { filter: brightness(.6) contrast(1.3) saturate(.3); }
  100% { filter: none; transform: scale(1); }
}
.hero__foto { -webkit-mask-image: linear-gradient(180deg, #000 35%, transparent 96%); mask-image: linear-gradient(180deg, #000 35%, transparent 96%); }
.hero__foto::after {
  content: ""; position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(15,15,15,.72) 0%, rgba(15,15,15,.3) 32%, rgba(15,15,15,.55) 70%),
    linear-gradient(90deg, rgba(15,15,15,.88) 0%, rgba(15,15,15,.25) 72%);
}
.hero__luz { display: none; }
.hero__luz-antiga {
  position: absolute; z-index: -1; left: -10%; right: -10%; bottom: -30%; height: 70%;
  background:
    radial-gradient(40% 50% at 20% 60%, rgba(255,59,13,.45), transparent 70%),
    radial-gradient(35% 45% at 75% 70%, rgba(255,177,92,.28), transparent 70%);
  filter: blur(30px); mix-blend-mode: screen;
  animation: luz 14s ease-in-out infinite alternate;
}
@keyframes luz { to { transform: translateX(6%) translateY(-4%); } }

.hero__conteudo { width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter) clamp(32px, 6vh, 64px); }
.selo {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 28px;
  font: 600 12px/1.3 var(--texto); letter-spacing: .14em; text-transform: uppercase;
  padding: 10px 14px; border: 1px solid rgba(244,244,242,.2); border-radius: var(--raio-btn); background: rgba(15,15,15,.4);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
}
.ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--laranja); box-shadow: 0 0 0 0 rgba(255,59,13,.6); animation: pulsa 2s infinite; flex: none; }
@keyframes pulsa { 70% { box-shadow: 0 0 0 10px rgba(255,59,13,0); } 100% { box-shadow: 0 0 0 0 rgba(255,59,13,0); } }
.hero__emblema { width: 54px; margin-bottom: 18px; }
.hero__nome { font: 700 13px/1 var(--texto); letter-spacing: .3em; text-transform: uppercase; color: var(--pessego); margin-bottom: 14px; }
h1 {
  font-family: var(--titulo); text-transform: uppercase;
  font-size: clamp(54px, 10vw, 148px); line-height: .88; letter-spacing: -.01em; margin-bottom: 26px;
}
.hero__sub { max-width: 560px; font-size: clamp(17px, 1.5vw, 20px); color: var(--off-2); margin-bottom: 32px; }
.hero__acoes { display: flex; flex-wrap: wrap; gap: 12px; }

.numeros {
  width: 100%; max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter);
  display: grid; grid-template-columns: repeat(4, 1fr);
}
.numeros > div { border-top: 1px solid var(--linha); padding: 22px 0 32px; display: flex; flex-direction: column-reverse; gap: 6px; }
.numeros > div + div { padding-left: 24px; border-left: 1px solid var(--linha); }
.numeros dd { margin: 0; font: 400 clamp(36px, 4vw, 52px)/1 var(--titulo); }
.numeros > div:first-child dd { color: var(--laranja); }
.numeros dt { font-size: 13px; color: var(--off-3); text-transform: uppercase; letter-spacing: .1em; }

/* ---------- seções ---------- */
.secao { padding: clamp(80px, 12vw, 160px) 0; position: relative; }

/* história */
.historia__texto p:last-child { margin-bottom: 0; }
.linha-tempo { list-style: none; margin: 8px 0 0; padding: 0; border-left: 1px solid var(--linha); }
.linha-tempo li { position: relative; padding: 0 0 30px 28px; display: grid; gap: 4px; }
.linha-tempo li::before {
  content: ""; position: absolute; left: -5px; top: 10px; width: 9px; height: 9px; border-radius: 50%;
  background: var(--carvao); border: 1px solid var(--off-3);
}
.lt__ed { font: 400 30px/1 var(--titulo); text-transform: uppercase; }
.lt__data { font-size: 15px; color: var(--off-3); }
.lt__link { font-size: 14px; color: var(--pessego); text-underline-offset: 3px; width: fit-content; }
.lt__agora { padding-bottom: 0 !important; }
.lt__agora::before { background: var(--laranja) !important; border-color: var(--laranja) !important; box-shadow: 0 0 18px var(--laranja); }
.lt__agora .lt__ed { color: var(--laranja); }

.galeria {
  margin-top: clamp(56px, 8vw, 96px);
  display: grid; grid-template-columns: 1.4fr .8fr 1fr .8fr; gap: 12px; align-items: end;
}
.galeria figure { margin: 0; overflow: hidden; border-radius: var(--raio); background: var(--carvao-2); }
.galeria img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.galeria figure:hover img { transform: scale(1.04); }
.g1 { aspect-ratio: 3/2; } .g2 { aspect-ratio: 3/4; } .g3 { aspect-ratio: 4/3; } .g4 { aspect-ratio: 3/4; }
.g4 img { filter: grayscale(1); }

/* faixa */
.faixa { border-block: 1px solid var(--linha); padding: clamp(40px, 6vw, 72px) var(--gutter); text-align: center; overflow: hidden; }
.faixa p { margin: 0; font: 400 clamp(26px, 4vw, 54px)/1.05 var(--titulo); text-transform: uppercase; }
.faixa span { color: var(--off-3); }
.faixa em { font-style: normal; color: var(--laranja); }

/* 10 alunos */
.dez__numero {
  font: 400 clamp(220px, 34vw, 460px)/.8 var(--titulo); letter-spacing: -.04em; text-align: center;
  background: linear-gradient(170deg, var(--dourado) 0%, var(--laranja) 55%, #8a1d05 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent;
}
.checks { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 0; }
.checks li { padding: 14px 0 14px 32px; border-top: 1px solid var(--linha); position: relative; color: var(--off); }
.checks li::before { content: ""; position: absolute; left: 2px; top: 22px; width: 14px; height: 8px; border: solid var(--laranja); border-width: 0 0 2px 2px; transform: rotate(-45deg); }

/* programação */

.abas { display: grid; grid-template-columns: repeat(4, 1fr); margin: 48px 0 0; border-bottom: 1px solid var(--linha); }
.abas button {
  appearance: none; background: none; border: 0; color: var(--off-3); cursor: pointer; text-align: left;
  padding: 18px 0 20px; display: grid; gap: 8px; position: relative; font-family: var(--texto);
}
.abas button::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--laranja); transform: scaleX(0); transform-origin: left; transition: transform .35s ease; }
.abas button[aria-selected="true"] { color: var(--off); }
.abas button[aria-selected="true"]::after { transform: scaleX(1); }
.aba__dia { font-size: 12px; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; }
.abas button[aria-selected="true"] .aba__dia { color: var(--laranja); }
.aba__nome { font: 400 clamp(28px, 3.6vw, 48px)/1 var(--titulo); text-transform: uppercase; }

.dia { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 56px); padding-top: 44px; animation: entra .5s ease both; }
@keyframes entra { from { opacity: 0; transform: translateY(10px); } }
.dia__pergunta { font: 400 clamp(24px, 2.6vw, 34px)/1.15 var(--titulo); color: var(--off) !important; margin-bottom: 20px; }
.dia__pergunta em { font-style: normal; color: var(--laranja); }
.temas { list-style: none; padding: 0; margin: 28px 0 0; display: flex; flex-wrap: wrap; gap: 8px; }
.temas li { font-size: 14px; padding: 8px 12px; border: 1px solid var(--linha); border-radius: var(--raio-btn); color: var(--off-2); background: rgba(244,244,242,.02); }

.momentos { display: grid; gap: 16px; }
.momento { display: grid; grid-template-columns: 42% 1fr; background: var(--carvao-3); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; }
.momento img { width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.momento__texto { padding: clamp(20px, 2.4vw, 32px); }
.momento__hora { font: 700 11px/1 var(--texto); letter-spacing: .22em; text-transform: uppercase; color: var(--pessego) !important; margin-bottom: 12px !important; }
.momento h3 { font: 400 clamp(26px, 2.6vw, 34px)/1 var(--titulo); text-transform: uppercase; margin-bottom: 14px; }
.momento p:last-child { margin-bottom: 0; }
.funcoes { font-size: 14px; color: var(--off) !important; line-height: 1.7; }

/* residencial / local */
.local { background: radial-gradient(120% 90% at 0% 100%, rgba(255,59,13,.22), transparent 60%), var(--carvao-2); border: 1px solid var(--linha); border-radius: var(--raio); padding: clamp(28px, 3.4vw, 44px); }
.local__nome { font: 400 clamp(44px, 5vw, 68px)/.95 var(--titulo); text-transform: uppercase; color: var(--off) !important; margin-bottom: 6px !important; }
.local__cidade { font-size: 14px; letter-spacing: .2em; text-transform: uppercase; color: var(--pessego) !important; margin-bottom: 28px !important; }
.local__dados { list-style: none; padding: 0; margin: 0 0 22px; }
.local__dados li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0; border-top: 1px solid var(--linha); font-size: 15px; }
.local__dados span { color: var(--off-3); }
.local__dados b { font-weight: 600; text-align: right; }
.local__nota { font-size: 14px; margin: 0 !important; }

/* mentores */
.cartoes-mentores { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 48px; }
.mentor { background: var(--carvao-2); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; }
.mentor > img, .mentor__sem-foto { aspect-ratio: 4/5; width: 100%; object-fit: cover; }
.mentor__sem-foto { display: grid; place-items: center; background: radial-gradient(70% 60% at 50% 80%, rgba(255,59,13,.35), transparent 70%), var(--carvao-3); }
.mentor__sem-foto img { width: 30%; opacity: .9; }
.mentor__texto { padding: 24px; }
.mentor h3 { font: 400 26px/1 var(--titulo); text-transform: uppercase; margin-bottom: 8px; }
.mentor__papel { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--pessego) !important; margin-bottom: 14px !important; }
.mentor__texto p:last-child { margin: 0; font-size: 15px; }

/* para quem */
.perfis { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: 1fr 1fr; }
.perfis li { padding: 16px 0; border-top: 1px solid var(--linha); font-size: 17px; }
.perfis li:nth-child(odd) { padding-right: 16px; }

/* incluso */
.blocos { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 44px; }
.bloco { background: var(--carvao-2); border: 1px solid var(--linha); border-radius: var(--raio); padding: 30px; }
.bloco__barra { display: block; width: 52px; height: 6px; background: var(--c); margin-bottom: 28px; }
.bloco h3 { font: 400 30px/1 var(--titulo); text-transform: uppercase; margin-bottom: 18px; }
.bloco ul { list-style: none; padding: 0; margin: 0; }
.bloco li { padding: 11px 0; border-top: 1px solid var(--linha); color: var(--off-2); font-size: 16px; }

/* depoimentos (entram quando houver) */
.depos { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-top: 40px; }
.depo { background: var(--carvao-2); border: 1px solid var(--linha); border-radius: var(--raio); padding: 28px; margin: 0; }
.depo blockquote { margin: 0 0 18px; font-size: 18px; line-height: 1.5; }
.depo figcaption { font-size: 14px; color: var(--off-3); }
.depo figcaption b { color: var(--off); font-weight: 600; display: block; }

/* investimento */
.investimento { text-align: center; overflow: hidden; }
.investimento::before {
  content: ""; position: absolute; inset: 20% -20% -10%; z-index: -1;
  background: radial-gradient(40% 40% at 50% 50%, rgba(255,59,13,.25), transparent 70%);
}
.investimento h2 { margin-bottom: 40px; }
.preco { max-width: 760px; margin: 0 auto; background: var(--off); color: var(--carvao); border-radius: var(--raio); padding: clamp(32px, 5vw, 56px); }
.preco__valor { display: flex; justify-content: center; align-items: flex-start; gap: 8px; font-family: var(--titulo); margin-bottom: 32px; }
.preco__moeda { font-size: clamp(24px, 3vw, 36px); color: var(--laranja); margin-top: .5em; }
.preco__num { font-size: clamp(88px, 14vw, 168px); line-height: .85; letter-spacing: -.01em; }
.preco__formas { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 28px; text-align: left; }
.forma { border: 1px solid rgba(15,15,15,.14); border-radius: 10px; padding: 18px 20px; }
.forma h3 { font: 700 13px/1 var(--texto); letter-spacing: .16em; text-transform: uppercase; color: var(--laranja); margin-bottom: 8px; }
.forma p { margin: 0; font-size: 16px; color: #333 !important; }
.preco__inclui { font-size: 16px; color: #333 !important; max-width: 520px; margin: 0 auto 8px; }
.preco__nota { font-size: 14px; color: #6b6b6b !important; margin-bottom: 28px; }

/* candidatura */
.passos { list-style: none; padding: 0; margin: 48px 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; counter-reset: p; }
.passos li { border-top: 2px solid var(--linha); padding-top: 20px; }
.passos li:first-child { border-color: var(--laranja); }
.passo__n { font: 400 44px/1 var(--titulo); color: var(--laranja); display: block; margin-bottom: 14px; }
.passos h3 { font: 600 18px/1.2 var(--texto); margin-bottom: 8px; }
.passos p { font-size: 15px; margin: 0; }

.form-caixa { background: var(--carvao-2); border: 1px solid var(--linha); border-radius: var(--raio); padding: clamp(22px, 4vw, 48px); max-width: 860px; }
.form__topo { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 14px; }
.form__titulo { font: 400 28px/1 var(--titulo); text-transform: uppercase; color: var(--off) !important; margin: 0 !important; }
.form__etapa { white-space: nowrap; font-size: 13px; letter-spacing: .12em; text-transform: uppercase; margin: 0 !important; }
.form__progresso { height: 3px; background: var(--linha); margin-bottom: 32px; }
.form__progresso span { display: block; height: 100%; width: 25%; background: var(--laranja); transition: width .4s ease; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
legend { font: 600 20px/1.2 var(--texto); margin-bottom: 20px; padding: 0; }
.etapa__ajuda { margin-top: -8px; font-size: 15px; }
.campos { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.campo { display: grid; gap: 8px; font-size: 14px; font-weight: 500; color: var(--off); }
.campo--largo { grid-column: 1 / -1; }
.campo__rotulo { font-size: 14px; font-weight: 500; }
.opcional { color: var(--off-3); font-weight: 400; font-size: 13px; }
input, textarea, select {
  width: 100%; font: 400 16px/1.4 var(--texto); color: var(--off);
  background: var(--carvao); border: 1px solid rgba(244,244,242,.16); border-radius: 6px; padding: 13px 14px;
  transition: border-color .2s;
}
input:focus, textarea:focus, select:focus { outline: none; border-color: var(--pessego); }
input::placeholder, textarea::placeholder { color: rgba(244,244,242,.32); }
input[type="date"] { color-scheme: dark; }
select { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--off-3) 50%), linear-gradient(135deg, var(--off-3) 50%, transparent 50%); background-position: calc(100% - 20px) 55%, calc(100% - 15px) 55%; background-size: 5px 5px; background-repeat: no-repeat; }
textarea { resize: vertical; }
.invalido input, .invalido textarea, input.invalido, textarea.invalido { border-color: var(--laranja); }

.opcoes { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.opcoes label, .aceite {
  display: flex; gap: 12px; align-items: flex-start; cursor: pointer; font-weight: 400; font-size: 15px;
  padding: 13px 14px; border: 1px solid rgba(244,244,242,.16); border-radius: 6px; background: var(--carvao);
  transition: border-color .2s, background .2s;
}
.opcoes label:has(input:checked) { border-color: var(--laranja); background: rgba(255,59,13,.08); }
.opcoes--chips { display: flex; flex-wrap: wrap; }
.opcoes--chips label { padding: 10px 14px; }
.opcoes input, .aceite input { width: 18px; height: 18px; margin: 2px 0 0; flex: none; accent-color: var(--laranja); padding: 0; }
.aceite { color: var(--off-2); border: 0; padding: 4px 0; background: none; }
.grupo-invalido label { border-color: rgba(255,59,13,.6); }

.form__erro { color: var(--pessego) !important; font-size: 15px; margin: 22px 0 0 !important; }
.form__botoes { display: flex; justify-content: flex-end; gap: 12px; margin-top: 32px; flex-wrap: wrap; }
.form__botoes .btn--linha:first-child { margin-right: auto; }
.form__ok, .form__falha { text-align: center; padding: 24px 0; }
.form__ok img { width: 56px; margin: 0 auto 22px; }
.form__ok h3, .form__falha h3 { font: 400 clamp(28px, 3vw, 38px)/1.05 var(--titulo); text-transform: uppercase; margin-bottom: 14px; }
.form__ok p, .form__falha p { max-width: 520px; margin: 0 auto; }
.form__falha .form__botoes { justify-content: center; }
.form__falha .form__botoes .btn--linha:first-child { margin-right: 0; }

/* perguntas */
.faq { border-top: 1px solid var(--linha); }
.faq details { border-bottom: 1px solid var(--linha); }
.faq summary {
  list-style: none; cursor: pointer; padding: 22px 44px 22px 0; position: relative;
  font: 600 17px/1.35 var(--texto);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font: 400 26px/1 var(--texto); color: var(--laranja); transition: transform .25s; }
.faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq details p { padding: 0 44px 22px 0; margin: 0; }
.regras { margin: 0 44px 16px 0; padding: 0 0 0 18px; color: var(--off-2); display: grid; gap: 10px; }
.regras b { color: var(--off); font-weight: 600; }

/* chamada final */
.final { position: relative; overflow: hidden; text-align: center; padding: clamp(96px, 14vw, 180px) var(--gutter); display: grid; justify-items: center; gap: 28px; }
.final__luz {
  position: absolute; inset: 30% -20% -40%; z-index: -1;
  background: radial-gradient(38% 50% at 35% 50%, rgba(255,59,13,.55), transparent 70%), radial-gradient(30% 40% at 68% 55%, rgba(255,200,87,.3), transparent 70%);
  filter: blur(40px); animation: luz 12s ease-in-out infinite alternate;
}
.final { isolation: isolate; }
.final__logo { width: min(420px, 78vw); }
.final__texto { color: var(--off-2); font-size: 17px; margin: 0; }

/* rodapé */
.rodape { border-top: 1px solid var(--linha); padding: 28px 0 calc(28px + env(safe-area-inset-bottom)); font-size: 13px; color: var(--off-3); }
.rodape__linha { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.rodape p { margin: 0; }
.rodape a { color: var(--off-2); }

/* entrada ao rolar */


/* ---------- responsivo ---------- */
@media (max-width: 980px) {
  .menu { display: none; }
  .dia { grid-template-columns: 1fr; }
  .cartoes-mentores { grid-template-columns: 1fr 1fr; }
  .cartoes-mentores .mentor:last-child { grid-column: auto; }
  .passos { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 759px) {
  :root { --topo-h: 60px; }
  body { font-size: 16px; }
  .dois { grid-template-columns: 1fr; }
  .marca span { font-size: 12px; }
  .hero { min-height: 100svh; }
  .hero__foto img { object-position: 50% 30%; }
  .hero::before { background: linear-gradient(180deg, rgba(15,15,15,.55) 0%, rgba(15,15,15,.3) 25%, rgba(15,15,15,.8) 55%, var(--carvao) 100%); }
  .selo { font-size: 10.5px; letter-spacing: .1em; }
  .hero__acoes .btn { flex: 1 1 100%; }
  .numeros { grid-template-columns: 1fr 1fr; }
  .numeros > div { padding: 18px 0 20px; }
  .numeros > div + div { padding-left: 0; border-left: 0; }
  .numeros > div:nth-child(even) { padding-left: 18px; border-left: 1px solid var(--linha); }
  .galeria { grid-template-columns: 1fr 1fr; }
  .g1 { grid-column: 1 / -1; }
  .g3 { display: none; }
  .dez__numero { font-size: 200px; text-align: left; }
  .abas { gap: 14px; }
  .abas button { padding: 14px 0 16px; }
  .aba__dia { font-size: 10px; letter-spacing: .1em; }
  .aba__nome { font-size: 19px; }
  .momento { grid-template-columns: 1fr; }
  .momento img { aspect-ratio: 16/10; min-height: 0; }
  .cartoes-mentores { grid-template-columns: 1fr; }
  .mentor { display: grid; grid-template-columns: 38% 1fr; }
  .mentor > img, .mentor__sem-foto { aspect-ratio: auto; height: 100%; min-height: 200px; }
  .mentor__texto { padding: 18px; }
  .mentor h3 { font-size: 24px; }
  .perfis li { font-size: 15px; }
  .blocos { grid-template-columns: 1fr; }
  .preco__formas { grid-template-columns: 1fr; }
  .passos { grid-template-columns: 1fr; gap: 0; margin: 36px 0; }
  .passos li { display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; padding: 18px 0; }
  .passo__n { grid-row: span 2; font-size: 34px; margin: 0; }
  .campos, .opcoes { grid-template-columns: 1fr; }
  .form__botoes .btn { flex: 1; }
  .form__botoes .btn--linha:first-child { margin-right: 0; flex: 0 0 auto; }
  .rodape__linha { flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }

}

/* =====================================================================
   v2 · movimento e peças novas (inspirado no prompt "Relay", na
   identidade da Vision Pro e na estrutura da Brave Worship School)
   ===================================================================== */

@property --revela { syntax: "<percentage>"; inherits: false; initial-value: 140%; }

/* ---------- abertura ---------- */
html[data-preload] { overflow: hidden; }
html[data-preload] main { transform: translateY(200vh); }
.abertura { display: none; position: fixed; inset: 0; z-index: 60; pointer-events: none; }
html[data-preload] .abertura, html[data-preload-closing] .abertura { display: block; }
.abertura__palco { position: absolute; inset: 0; background: var(--carvao); }
.abertura__anel { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.abertura__anel rect { fill: none; stroke: var(--laranja); stroke-linecap: round; }
.abertura__cheia { position: absolute; inset: 0; opacity: 0; }
.abertura__placa { position: absolute; inset: 0; background: var(--laranja); display: none; }
.abertura__selo { position: absolute; top: calc(50% - 38px); left: calc(50% - 38px); width: 76px; height: 76px; }
.selo-tile { position: absolute; inset: 0; border-radius: 31.58%; display: grid; place-items: center; overflow: clip; }
.selo-tile img { width: 46%; height: auto; }
.selo-tile--laranja { background: var(--laranja); }
.selo-tile--escuro { border: 1px solid rgba(15,15,15,.25); background: linear-gradient(135deg, #2b2927, #0F0F0F 71.429%); }
.abertura .selo-tile--escuro { opacity: 0; }

/* ---------- rastro de luz ---------- */
.fluxo { position: fixed; top: 0; left: 0; width: 100%; height: 100lvh; z-index: -1; pointer-events: none; display: block; }

/* ---------- anel do cursor ---------- */
.cursor { display: none; position: fixed; top: 0; left: 0; z-index: 55; width: 28px; height: 28px; border: 1px solid var(--laranja); border-radius: 50%; pointer-events: none; transform: translate3d(-200px, -200px, 0); }
.cursor span { position: absolute; inset: 0; border-radius: 50%; background: var(--laranja); opacity: 0; }

/* ---------- selo "inscrições abertas" no topo ---------- */
.status {
  display: flex; align-items: center; gap: 10px; height: 40px; padding: 0 14px; margin: 0;
  border-radius: 999px; border: 1px solid rgba(244,244,242,.22); background: rgba(15,15,15,.55);
  box-shadow: 0 8px 22px -4px rgba(0,0,0,.5); font: 500 13px/1 var(--texto); white-space: nowrap;
}
.respira { position: relative; width: 6px; height: 6px; flex: none; }
.respira i { position: absolute; inset: 0; border-radius: 50%; background: var(--laranja); }
.respira i:first-child { animation: respira-ponto 1.8s linear infinite; }
.respira i:last-child { animation: respira-halo 1.8s ease-out infinite; }
@keyframes respira-ponto { 0%, 100% { transform: scale(1); } 33% { transform: scale(1.35); } 66% { transform: scale(1); } }
@keyframes respira-halo { from { transform: scale(1); opacity: .8; } to { transform: scale(3); opacity: 0; } }
@media (max-width: 1180px) { .status { display: none; } }

/* ---------- títulos com gradiente (manual: off-white) ---------- */
.secao h2 { background: linear-gradient(180deg, #ffffff, #c9c6c1); -webkit-background-clip: text; background-clip: text; color: transparent; }
.secao h2 em { color: var(--laranja); -webkit-text-fill-color: var(--laranja); }

/* ---------- entradas ---------- */
.js .sobe { opacity: 0; transform: translateY(24px); transition: opacity .75s var(--mola), transform .75s var(--mola); transition-delay: var(--d, 0ms); }
.js .sobe.visivel { opacity: 1; transform: none; }
.js .foco {
  opacity: 0; filter: blur(10px); --revela: 0%;
  -webkit-mask-image: linear-gradient(90deg, #000 calc(var(--revela) - 40%), transparent var(--revela));
  mask-image: linear-gradient(90deg, #000 calc(var(--revela) - 40%), transparent var(--revela));
  transition: opacity 1s var(--suave), filter 1s var(--suave), --revela 1.4s var(--suave);
  transition-delay: var(--d, 0ms);
}
.js .foco--txt { filter: blur(8px); }
.js .foco.visivel { opacity: 1; filter: blur(0); --revela: 140%; }
.dg-r { color: transparent; -webkit-text-fill-color: transparent; }
[data-conta].contando { font-variant-numeric: tabular-nums; }

/* ---------- botão laranja: a tinta entra pela esquerda ---------- */
.btn--laranja { position: relative; overflow: hidden; isolation: isolate; }
.btn--laranja::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--carvao); clip-path: inset(0 100% 0 0); transition: clip-path .5s var(--suave); }
.btn--laranja::after { content: ""; position: absolute; inset: 0; border-radius: inherit; box-shadow: inset 0 0 0 1px var(--laranja); opacity: 0; transition: opacity .3s; }
@media (hover: hover) and (pointer: fine) {
  .btn--laranja:hover { background: var(--laranja); color: var(--laranja); transform: scale(1.02); }
  .btn--laranja:hover::before { clip-path: inset(0 0 0 0); }
  .btn--laranja:hover::after { opacity: 1; }
}
.btn:active { transform: scale(.97); }

/* ---------- faixa dos pilares (como a faixa da BWS) ---------- */
.pilares { background: var(--laranja); color: var(--carvao); overflow: hidden; padding: 16px 0; position: relative; }
.pilares__trilho { display: flex; align-items: center; gap: 28px; width: max-content; animation: corre 36s linear infinite; padding-left: 28px; }
.pilares span { font: 400 clamp(22px, 2.6vw, 34px)/1 var(--titulo); text-transform: uppercase; }
.pilares b { font-size: 16px; opacity: .55; }
@keyframes corre { to { transform: translateX(-50%); } }

/* ---------- documentário ---------- */
.doc__cabeca { display: grid; grid-template-columns: 1fr minmax(0, 440px); gap: 32px 64px; align-items: end; margin-bottom: 40px; }
.doc__cabeca h2 { margin-bottom: 0; }
.doc__cabeca .lead { margin: 0; color: var(--off-2); font-size: 17px; }
.video { position: relative; aspect-ratio: 16 / 9; border-radius: 24px; overflow: hidden; border: 1px solid var(--linha); background: var(--carvao-2); }
.video img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--suave); }
.video::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(15,15,15,.1), rgba(15,15,15,.65)); pointer-events: none; }
.video__play { position: absolute; inset: 0; z-index: 1; display: grid; place-items: center; background: none; border: 0; color: var(--off); cursor: pointer; }
.video__botao { width: clamp(68px, 8vw, 96px); aspect-ratio: 1; border-radius: 50%; background: var(--laranja); display: grid; place-items: center; box-shadow: 0 0 0 0 rgba(255,59,13,.5); animation: chama 2.4s infinite; transition: transform .3s var(--mola); }
.video__botao svg { width: 36%; fill: var(--off); margin-left: 6%; }
.video__rotulo { position: absolute; left: 24px; bottom: 20px; font: 600 12px/1 var(--texto); letter-spacing: .2em; text-transform: uppercase; }
.video:hover img { transform: scale(1.03); }
.video:hover .video__botao { transform: scale(1.08); }
@keyframes chama { 70% { box-shadow: 0 0 0 22px rgba(255,59,13,0); } 100% { box-shadow: 0 0 0 0 rgba(255,59,13,0); } }
.video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; z-index: 2; }
.video.tocando .video__play, .video.tocando::after { display: none; }
.doc__mais { margin-top: 18px; font-size: 15px; }

/* ---------- laje de vidro: o rastro passa fosco por trás ---------- */
.laje { position: relative; }
.laje::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: calc(50% - 50vw); right: calc(50% - 50vw);
  background: rgba(15,15,15,.24); border-block: 1px solid rgba(244,244,242,.06);
  backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); pointer-events: none;
}

/* ---------- lema: a placa laranja que abre do emblema ---------- */
.abre { --placa-h: clamp(520px, 72vh, 600px); position: relative; height: calc(var(--placa-h) + 240px); max-width: var(--max); margin: 0 auto; padding: 0 var(--gutter); }
.abre__placa { position: sticky; top: calc(50lvh - var(--placa-h) / 2); height: var(--placa-h); clip-path: inset(50%); }
.lema {
  position: relative; height: 100%; overflow: clip; border-radius: 32px; background: var(--laranja); color: var(--carvao);
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 48px var(--gutter) 40px;
}
.lema__pontos { position: absolute; inset: 0; width: 100%; height: 100%; color: rgba(15,15,15,.17); }
.lema > *:not(.lema__pontos) { position: relative; }
.lema__kicker { font: 600 12px/1 var(--texto); letter-spacing: .24em; text-transform: uppercase; color: rgba(15,15,15,.6); margin: 0 0 22px; }
.lema__titulo { font: 400 clamp(34px, 5.6vw, 76px)/.95 var(--titulo); text-transform: uppercase; margin: 0; color: var(--carvao); }
.lema__titulo .l { display: block; }
.lema__titulo .w { display: inline-block; }
.lema__titulo em { font-style: normal; color: var(--off); }
.lema__marca { width: 76px; height: 76px; margin-top: 30px; flex: none; }
.lema__marca .selo-tile { position: absolute; }
.lema__haste { width: 1px; height: 44px; background: linear-gradient(180deg, rgba(15,15,15,.85), rgba(15,15,15,.2)); transform-origin: top; }
.lema__regua { width: 100%; max-width: 920px; }
.lema__ticks { display: block; width: 100%; height: 18px; overflow: visible; color: var(--carvao); }
.lema__ticks path { stroke: currentColor; transform-box: fill-box; transform-origin: bottom; vector-effect: non-scaling-stroke; }
.lema__dias { list-style: none; padding: 0; margin: 12px 0 0; display: flex; justify-content: space-between; }
.lema__dias li { font: 500 12px/1.2 var(--texto); letter-spacing: .14em; text-transform: uppercase; color: rgba(15,15,15,.6); display: grid; gap: 4px; }
.lema__dias li:first-child { text-align: left; } .lema__dias li:last-child { text-align: right; }
.lema__dias b { font: 400 22px/1 var(--titulo); letter-spacing: 0; color: var(--carvao); }
.lema__legenda { font: 600 12px/1 var(--texto); letter-spacing: .24em; text-transform: uppercase; color: rgba(15,15,15,.55); margin: 18px 0 0; }
/* a linha do tempo da placa: palavras sobem, o emblema cai, a haste desce */
.js .abre .w { opacity: 0; transform: translateY(22px); transition: opacity .7s var(--mola), transform .7s var(--mola); }
.js .abre .lema__titulo em.w { transform: translateY(28px) skewX(-16deg); transform-origin: bottom left; transition-duration: 1.1s; }
.js .abre .lema__marca .selo-tile { transition: transform .9s cubic-bezier(.3, 1.6, .5, 1); }
.js .abre .lema__haste { transform: scaleY(0); transition: transform .6s var(--suave); }
.js .abre[data-open="true"] .lema__haste { transition-delay: 1150ms; transition-duration: 1s; }
.js .abre .lema__dias li { opacity: 0; transition: opacity .6s var(--suave); }
.js .abre[data-open="true"] .w { opacity: 1; transform: none; }
.js .abre[data-open="true"] .lema__titulo em.w { opacity: 1; transform: none; }
.js .abre[data-open="true"] .lema__haste { transform: none; }
.js .abre[data-open="true"] .lema__dias li { opacity: 1; }
.js .abre[data-open="true"] .lema__dias li:nth-child(1) { transition-delay: 1800ms; }
.js .abre[data-open="true"] .lema__dias li:nth-child(2) { transition-delay: 2300ms; }
.js .abre[data-open="true"] .lema__dias li:nth-child(3) { transition-delay: 2800ms; }
.abre[data-open="true"] .l:nth-child(1) .w:nth-child(1) { transition-delay: 380ms; } .abre[data-open="true"] .l:nth-child(1) .w:nth-child(2) { transition-delay: 440ms; } .abre[data-open="true"] .l:nth-child(1) .w:nth-child(3) { transition-delay: 500ms; }
.abre[data-open="true"] .l:nth-child(2) .w:nth-child(1) { transition-delay: 560ms; } .abre[data-open="true"] .l:nth-child(2) .w:nth-child(2) { transition-delay: 620ms; } .abre[data-open="true"] .l:nth-child(2) .w:nth-child(3) { transition-delay: 680ms; }
.abre[data-open="true"] .l:nth-child(3) .w:nth-child(2) { transition-delay: 740ms; } .abre[data-open="true"] .l:nth-child(3) .w:nth-child(3) { transition-delay: 800ms; } .abre[data-open="true"] .l:nth-child(3) em.w { transition-delay: 860ms; }
.abre[data-reduced="true"] .abre__placa { clip-path: none; }

/* ---------- barra de inscrição no celular (como a da BWS) ---------- */
.barra-celular { display: none; }
@media (max-width: 759px) {
  .barra-celular {
    display: flex; position: fixed; left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 45;
    align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 16px; border-radius: 14px;
    background: rgba(22,21,20,.86); border: 1px solid var(--linha); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px);
    box-shadow: 0 12px 30px -8px rgba(0,0,0,.6);
    transform: translateY(140%); transition: transform .5s var(--mola);
  }
  .barra-celular.mostra { transform: none; }
  .barra-celular p { margin: 0; display: grid; gap: 2px; font-size: 13px; line-height: 1.2; }
  .barra-celular b { font-weight: 600; }
  .barra-celular span { color: var(--off-3); font-size: 12px; }
  .rodape { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
  .doc__cabeca { grid-template-columns: 1fr; gap: 16px; margin-bottom: 28px; }
  .video { border-radius: 16px; }
  .video__rotulo { left: 16px; bottom: 14px; font-size: 10px; letter-spacing: .14em; }
  .abre { --placa-h: 540px; }
  .lema { border-radius: 24px; padding: 40px 18px 32px; }
  .lema__titulo { font-size: 36px; }
  .lema__dias b { font-size: 17px; }
  .lema__dias li { font-size: 10px; letter-spacing: .1em; }
}

/* =====================================================================
   v3 · referências da BWS na identidade Vision Pro
   ===================================================================== */

/* ---------- acentos: o gradiente e o desfoque não podem cortar Ê, Ó, Ç ---------- */
h1, .secao h2, .lema__titulo { padding-top: .14em; margin-top: -.14em; padding-bottom: .06em; line-height: 1; }
h1 { line-height: .96; }
.js .foco.pronto { -webkit-mask-image: none; mask-image: none; filter: none; }

/* ---------- fundos: o rastro aparece em algumas seções, em outras o fundo é sólido ---------- */
.fundo-solido { background: var(--carvao); }
.fundo-solido--2 { background: #141312; }
.tom-claro { background: var(--off); color: var(--carvao); }
.tom-laranja { background: radial-gradient(120% 90% at 85% 0%, #ff6a3d 0%, transparent 55%), linear-gradient(160deg, #FF3B0D 0%, #e2340b 55%, #b82806 100%); color: var(--off); }
.sub-titulo { font: 600 clamp(15px, 1.4vw, 19px)/1.3 var(--texto); letter-spacing: .02em; text-transform: uppercase; margin: -8px 0 28px !important; color: var(--off-2) !important; }

/* ---------- história + edições ---------- */
.historia .dois { align-items: end; }
.edicoes__kicker { margin-top: clamp(64px, 9vw, 112px); }
.edicoes__titulo { font: 400 clamp(30px, 4vw, 56px)/1 var(--titulo); text-transform: uppercase; margin: 0 0 36px; padding-top: .12em; }
.edicoes__titulo em { font-style: normal; color: var(--laranja); }
.edicoes { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.edicao { position: relative; aspect-ratio: 3 / 4; border-radius: 22px; overflow: hidden; border: 1px solid var(--linha);
  background: radial-gradient(90% 70% at 20% 100%, rgba(255,59,13,.28), transparent 70%), linear-gradient(180deg, #1c1a19, #121110); }
.edicao__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s var(--suave); }
.edicao--foto::after, .edicao:has(.edicao__foto)::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(15,15,15,.85)); }
.edicao__link { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; justify-content: flex-end; padding: 22px; text-decoration: none; color: var(--off); }
.edicao__num { font: 400 clamp(48px, 5vw, 72px)/.9 var(--titulo); padding-top: .1em; }
.edicao__data { font: 600 11px/1.4 var(--texto); letter-spacing: .14em; text-transform: uppercase; margin-top: 10px; color: var(--off-2); }
.edicao__extra { font-size: 13px; color: var(--pessego); margin-top: 8px; }
a.edicao__link:hover .edicao__num { color: var(--pessego); }
.edicao:hover .edicao__foto { transform: scale(1.05); }
.edicao--proxima { background: radial-gradient(100% 80% at 80% 0%, #ff7a4d, transparent 60%), linear-gradient(170deg, #FF3B0D, #b82806); border-color: transparent; }
.edicao--proxima .edicao__link { justify-content: center; align-items: center; text-align: center; gap: 4px; }
.edicao__pilula { position: absolute; top: 18px; left: 18px; display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; background: rgba(255,255,255,.16); font: 600 10px/1 var(--texto); letter-spacing: .14em; text-transform: uppercase; }
.edicao__pilula .ponto { background: var(--off); width: 7px; height: 7px; }
.edicao__chamada { font: 400 clamp(30px, 3vw, 42px)/.95 var(--titulo); text-transform: uppercase; padding-top: .14em; }
.edicao--proxima .edicao__data { color: rgba(244,244,242,.85); }
.edicao__seta { margin-top: 18px; width: 52px; height: 52px; border-radius: 50%; background: var(--off); color: var(--laranja); display: grid; place-items: center; font-size: 20px; transition: transform .3s var(--mola); }
.edicao--proxima:hover .edicao__seta { transform: scale(1.1) rotate(8deg); }

/* ---------- par de fotos desencontradas ---------- */
.fotos-par { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: start; }
.fotos-par figure { margin: 0; border-radius: 22px; overflow: hidden; aspect-ratio: 2 / 3; box-shadow: 0 24px 48px -16px rgba(0,0,0,.45); }
.fotos-par figure:nth-child(2) { margin-top: 64px; }
.fotos-par img { width: 100%; height: 100%; object-fit: cover; }

/* ---------- para quem é (claro) ---------- */
.tom-claro h2 { background: none; color: var(--laranja); -webkit-text-fill-color: var(--laranja); font-size: clamp(48px, 6.4vw, 88px); }
.tom-claro .sub-titulo { color: var(--carvao) !important; }
.tom-claro .lead { color: #4a4744 !important; font-size: 17px; }
.tom-claro .kicker { color: var(--laranja); }
.tom-claro .perfis { grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 28px; }
.tom-claro .perfis li { border: 1px solid rgba(15,15,15,.1); border-radius: 12px; background: #fff; padding: 14px 16px 14px 34px; font-size: 15px; color: #57534f; position: relative; transition: border-color .25s, box-shadow .25s; }
.tom-claro .perfis li::before { content: ""; position: absolute; left: 16px; top: 22px; width: 6px; height: 6px; border-radius: 50%; background: var(--laranja); }
.tom-claro .perfis li b { color: var(--carvao); font-weight: 600; }
.tom-claro .perfis li:hover { border-color: var(--laranja); box-shadow: 0 10px 24px -12px rgba(255,59,13,.45); }
.tom-claro .fotos-par figure { box-shadow: 0 24px 48px -20px rgba(15,15,15,.35); }

/* ---------- incluso (laranja) ---------- */
.tom-laranja h2 { background: none; color: var(--off); -webkit-text-fill-color: var(--off); font-size: clamp(44px, 5.6vw, 76px); }
.tom-laranja .kicker { color: rgba(244,244,242,.75); }
.itens { list-style: none; padding: 0; margin: 32px 0 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.itens li { position: relative; display: grid; gap: 4px; padding: 16px 16px 16px 50px; border-radius: 14px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); }
.itens li::before { content: ""; position: absolute; left: 16px; top: 17px; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--off);
  background: no-repeat center/11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.3 2.3L9.5 3.6' fill='none' stroke='%23F4F4F2' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"); }
.itens b { font-weight: 600; font-size: 16px; }
.itens span { font-size: 14px; color: rgba(244,244,242,.8); }
.so-chegar { display: flex; align-items: center; gap: 16px; margin: 28px 0 0 !important; font: 600 16px/1 var(--texto); letter-spacing: .08em; text-transform: uppercase; color: var(--off) !important; }
.so-chegar::before { content: ""; width: 40px; height: 1px; background: currentColor; }

/* ---------- investimento ---------- */
.investimento h2 { font-size: clamp(48px, 6.4vw, 88px); margin-bottom: 14px; }
.investimento .sub-titulo { margin: 0 0 40px !important; }
.planos { display: grid; grid-template-columns: 1.15fr auto 1fr; align-items: center; gap: 0; max-width: 980px; margin: 0 auto 28px; }
.plano { border-radius: 26px; padding: clamp(28px, 4vw, 48px) 28px; display: grid; justify-items: center; text-align: center; }
.plano--destaque { background: var(--off); color: var(--carvao); box-shadow: 0 30px 60px -24px rgba(0,0,0,.6); position: relative; z-index: 1; }
.plano--vidro { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); align-self: stretch; align-content: center; margin-left: -6px; }
.pilula { display: inline-block; padding: 7px 14px; border-radius: 999px; font: 700 11px/1 var(--texto); letter-spacing: .16em; text-transform: uppercase; }
.plano--destaque .pilula { background: rgba(255,59,13,.12); color: var(--laranja); }
.plano--vidro .pilula { background: rgba(255,255,255,.1); color: var(--off); }
.plano__pre { font: 600 14px/1 var(--texto); letter-spacing: .14em; text-transform: uppercase; margin: 20px 0 0 !important; color: #57534f !important; }
.plano__valor { margin: 6px 0 4px !important; font-family: var(--titulo); display: flex; align-items: flex-start; gap: 6px; line-height: .9; padding-top: .1em; }
.plano__valor b { font-weight: 400; font-size: clamp(96px, 12vw, 150px); letter-spacing: -.02em; }
.plano--destaque .plano__valor b { color: var(--carvao); }
.plano--vidro .plano__valor { margin-top: 22px !important; color: var(--off) !important; }
.plano--vidro .plano__valor b { font-size: clamp(64px, 7vw, 92px); }
.plano__valor small { font-size: clamp(22px, 2.4vw, 30px); margin-top: .35em; color: var(--pessego); }
.plano__sub { font-size: 15px; margin: 0 !important; color: #57534f !important; }
.plano--vidro .plano__sub { color: var(--off-2) !important; max-width: 260px; }
.plano__traco { width: 52px; height: 3px; border-radius: 2px; background: var(--laranja); margin: 22px 0; }
.plano__inclui { font-size: 15px; color: #57534f !important; max-width: 340px; margin: 0 !important; }
.ou { width: 56px; height: 56px; border-radius: 50%; background: var(--carvao); color: var(--off); display: grid; place-items: center; font: 700 14px/1 var(--texto); letter-spacing: .1em; text-transform: uppercase; z-index: 2; margin: 0 -22px; box-shadow: 0 10px 24px -8px rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.12); }

/* ---------- jornada (curva com os passos) ---------- */
.jornada { position: relative; margin: 56px 0 72px; }
.jornada__curva { position: absolute; left: 0; right: 0; top: 260px; width: 100%; height: 260px; overflow: visible; pointer-events: none; }
.jornada__curva path { fill: none; vector-effect: non-scaling-stroke; }
.jornada__trilha { stroke: rgba(244,244,242,.28); stroke-width: 1.5; stroke-dasharray: 3 7; }
.jornada__feito { stroke: var(--laranja); stroke-width: 3; filter: drop-shadow(0 0 8px rgba(255,59,13,.8)); }
.jornada__passos { list-style: none; padding: 0; margin: 0; position: relative; display: grid; grid-template-columns: repeat(5, 1fr); grid-template-rows: 260px 260px 280px; }
.passo { position: relative; }
.passo__no { position: absolute; width: 56px; height: 56px; margin: -28px 0 0 -28px; border-radius: 50%; display: grid; place-items: center; background: var(--laranja); color: var(--off); font: 700 18px/1 var(--texto); box-shadow: 0 0 0 8px rgba(255,59,13,.18), 0 0 28px rgba(255,59,13,.6); z-index: 2; }
.passo__card { position: absolute; width: min(310px, 30vw); padding: 24px; border-radius: 18px; background: #1b1918; border: 1px solid rgba(244,244,242,.1); box-shadow: 0 20px 40px -20px rgba(0,0,0,.7); }
.passo__card .pilula { background: rgba(255,59,13,.14); color: var(--pessego); font-size: 10px; padding: 6px 10px; border: 1px solid rgba(255,59,13,.3); }
.passo__card h3 { font: 400 22px/1.02 var(--titulo); text-transform: uppercase; margin: 14px 0 10px; padding-top: .1em; }
.passo__card p { font-size: 15px; margin: 0; color: var(--off-2); }
/* posições: nós sobre a curva (10/30/50/70% da largura; alto, baixo, alto, baixo) */
.passo--1, .passo--2, .passo--3, .passo--4, .passo--fim { grid-row: 1 / -1; grid-column: 1 / -1; }
.passo--1 .passo__no { left: 10%; top: calc(260px + 40px); }
.passo--2 .passo__no { left: 30%; top: calc(260px + 220px); }
.passo--3 .passo__no { left: 50%; top: calc(260px + 40px); }
.passo--4 .passo__no { left: 70%; top: calc(260px + 220px); }
.passo--1 .passo__card { left: 0; bottom: calc(100% - 260px + 4px); top: auto; }
.passo--3 .passo__card { left: 40%; bottom: calc(100% - 260px + 4px); }
.passo--2 .passo__card { left: 20%; top: calc(260px + 260px); }
.passo--4 .passo__card { left: 60%; top: calc(260px + 260px); }
.passo--1 .passo__card, .passo--3 .passo__card { bottom: auto; top: 0; }
.passo--fim { pointer-events: none; }
.passo--fim > * { position: absolute; left: 90%; transform: translateX(-50%); text-align: center; white-space: nowrap; }
.passo__selo { top: calc(260px + 130px - 48px); width: 96px; height: 96px; border-radius: 50%; background: var(--laranja); display: grid; place-items: center; box-shadow: 0 0 0 10px rgba(255,59,13,.15), 0 0 40px rgba(255,59,13,.55); }
.passo__selo img { width: 42%; }
.passo--fim b { top: calc(260px + 130px + 66px); font: 400 30px/1 var(--titulo); text-transform: uppercase; padding-top: .1em; }
.passo--fim span:last-child { top: calc(260px + 130px + 104px); font-size: 14px; color: var(--off-2); }
/* a jornada acende conforme a linha chega em cada passo (js/motion.js marca .ativo) */
.js .jornada .passo__no { background: #1b1918; color: var(--off-3); box-shadow: 0 0 0 1px rgba(244,244,242,.25); transform: scale(.82); transition: background .4s, color .4s, box-shadow .5s, transform .5s cubic-bezier(.3,1.6,.5,1); }
.js .jornada .passo__card { opacity: .32; transform: translateY(14px); transition: opacity .6s var(--suave), transform .6s var(--suave), border-color .6s; }
.js .jornada .passo--fim > * { opacity: .3; transition: opacity .6s var(--suave), box-shadow .6s; }
.js .jornada .passo.ativo .passo__no { background: var(--laranja); color: var(--off); box-shadow: 0 0 0 8px rgba(255,59,13,.18), 0 0 28px rgba(255,59,13,.6); transform: none; }
.js .jornada .passo.ativo .passo__card { opacity: 1; transform: none; border-color: rgba(255,59,13,.35); }
.js .jornada .passo--fim.ativo > * { opacity: 1; }
.js .jornada .passo--fim:not(.ativo) .passo__selo { box-shadow: none; background: #1b1918; }

/* ---------- responsivo das peças novas ---------- */
@media (max-width: 1100px) {
  .edicoes { grid-template-columns: repeat(3, 1fr); }
  .edicao--proxima { grid-column: span 2; aspect-ratio: auto; min-height: 260px; }
}
@media (max-width: 980px) {
  .jornada__curva { display: none; }
  .jornada__passos { display: grid; grid-template-columns: 1fr; grid-template-rows: none; gap: 18px; padding-left: 40px; }
  .jornada__passos::before { content: ""; position: absolute; left: 13px; top: 20px; bottom: 60px; width: 2px; background: linear-gradient(var(--laranja) 70%, rgba(244,244,242,.25) 70%); }
  .passo, .passo--1, .passo--2, .passo--3, .passo--4, .passo--fim { grid-row: auto; grid-column: auto; }
  .passo .passo__no { left: -40px !important; top: 18px !important; margin: 0; width: 28px; height: 28px; font-size: 13px; box-shadow: 0 0 0 5px rgba(255,59,13,.18); }
  .passo .passo__card { position: static; width: auto; opacity: 1; }
  .passo--4 .passo__card { opacity: .7; }
  .passo--fim { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; padding-top: 8px; }
  .passo--fim > * { position: static !important; transform: none !important; text-align: left; }
  .js .jornada .passo--fim > * { transform: none; }
  .jornada__passos::before { background: linear-gradient(var(--laranja) var(--progresso, 0%), rgba(244,244,242,.2) var(--progresso, 0%)) !important; }
  .passo__selo { width: 56px; height: 56px; margin-left: -54px; }
  .passo--fim b { font-size: 24px; }
  .passo--fim span:last-child { width: 100%; padding-left: 16px; }
  .planos { grid-template-columns: 1fr; gap: 0; }
  .ou { margin: -18px auto; }
  .plano--vidro { margin: 0; }
}
@media (max-width: 759px) {
  .edicoes { grid-template-columns: 1fr 1fr; gap: 10px; }
  .edicao { border-radius: 16px; }
  .edicao__link { padding: 16px; }
  .edicao--proxima { grid-column: 1 / -1; }
  .fotos-par figure:nth-child(2) { margin-top: 40px; }
  .tom-claro .perfis, .itens { grid-template-columns: 1fr; }
  .plano { border-radius: 20px; }
}
.ponto-mil { font-family: var(--texto); font-weight: 800; margin: 0 .03em; }
.dia__horario { display: inline-flex; align-items: center; gap: 10px; font: 600 12px/1.3 var(--texto); letter-spacing: .14em; text-transform: uppercase; color: var(--pessego) !important; margin-bottom: 18px !important; }
.dia__horario::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--laranja); box-shadow: 0 0 0 4px rgba(255,59,13,.2); flex: none; }
.itens li.itens__largo { grid-column: 1 / -1; }
@media (max-width: 759px) {
  .abas { grid-template-columns: 1fr 1fr; row-gap: 0; }
  .aba__nome { font-size: 22px; }
}
.plano--destaque .plano__valor small { color: var(--laranja); }

/* ---------- 5.0: duas abas e pacote de equipe ---------- */
.abas.abas--2 { grid-template-columns: 1fr 1fr; }
.pacote { display: flex; align-items: center; gap: 16px; max-width: 980px; margin: 0 auto 18px; padding: 16px 20px; border-radius: 16px; border: 1px dashed rgba(255,177,92,.55); background: rgba(255,177,92,.07); text-align: left; }
.pacote p { margin: 0 !important; font-size: 15px; color: var(--off-2) !important; }
.pacote b { color: var(--off); font-weight: 600; }
.pacote__selo { flex: none; padding: 7px 12px; border-radius: 999px; background: var(--pessego); color: var(--carvao); font: 700 10px/1 var(--texto); letter-spacing: .14em; text-transform: uppercase; }
@media (max-width: 759px) {
  .abas.abas--2 { grid-template-columns: 1fr 1fr; }
  .abas--2 .aba__nome { font-size: 18px; }
  .pacote { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* ---------- jornada presa na tela enquanto a rolagem desenha a linha (só computador) ---------- */
@media (min-width: 981px) {
  .jornada-palco { position: relative; height: calc(var(--jh, 820px) + 160vh); }
  .jornada-palco .jornada { position: sticky; top: var(--jt, 90px); margin: 0; transform: scale(var(--js, 1)); transform-origin: top center; }
}
.agenda { margin-top: 24px; display: grid; gap: 10px; justify-items: center; }
.agenda iframe { width: 100%; height: 640px; border: 1px solid var(--linha); border-radius: 14px; background: var(--carvao); }
.preco__outra { margin-top: -18px !important; }

/* foto na candidatura */
.foto { position: relative; display: flex; align-items: center; gap: 18px; cursor: pointer; padding: 14px; border: 1px dashed rgba(244,244,242,.22); border-radius: 10px; background: var(--carvao); transition: border-color .2s, background .2s; }
.foto:hover, .foto:focus-within { border-color: var(--pessego); }
.foto input[type="file"] { position: absolute; width: 1px; height: 1px; opacity: 0; }
.foto__circulo { position: relative; flex: none; width: 76px; height: 76px; border-radius: 50%; overflow: hidden; display: grid; place-items: center; background: rgba(255,59,13,.1); border: 2px solid var(--laranja); }
.foto__circulo img { width: 100%; height: 100%; object-fit: cover; }
.foto__circulo i { font: 300 32px/1 var(--texto); color: var(--laranja); font-style: normal; }
.foto__circulo img:not([hidden]) + i { display: none; }
.foto__texto { display: grid; gap: 4px; }
.foto__texto b { font-weight: 600; font-size: 15px; color: var(--off); }
.foto__texto small { font-size: 13px; font-weight: 400; color: var(--off-3); line-height: 1.45; }
.foto.grupo-invalido { border-color: var(--laranja); border-style: solid; }

/* ---------- hero centralizado (07/10) ---------- */
.hero__conteudo { display: flex; flex-direction: column; align-items: center; text-align: center; }
.hero__emblema { margin-left: auto; margin-right: auto; }
.hero__sub { margin-left: auto; margin-right: auto; }
.hero__acoes { justify-content: center; }
.hero__foto::after {
  background:
    linear-gradient(180deg, rgba(15,15,15,.72) 0%, rgba(15,15,15,.35) 32%, rgba(15,15,15,.6) 70%),
    radial-gradient(70% 60% at 50% 62%, rgba(15,15,15,.6) 0%, rgba(15,15,15,.15) 100%);
}
.numeros > div { align-items: center; text-align: center; }
.numeros > div + div { padding-left: 0; }
@media (max-width: 759px) {
  .numeros > div:nth-child(3) { border-left: 0; }
}

/* ---------- projetos feitos pelas turmas ---------- */
.projetos__grade { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 8px; }
@media (max-width: 760px) { .projetos__grade { grid-template-columns: 1fr; } }
.projeto { background: var(--carvao-3); border: 1px solid var(--linha); border-radius: var(--raio); overflow: hidden; display: flex; flex-direction: column; }
.projeto .video { border-radius: 0; border: 0; border-bottom: 1px solid var(--linha); }
.projeto .video__botao { width: clamp(56px, 6vw, 72px); }
.projeto__texto { padding: 20px 22px 24px; }
.projeto__turma { font: 700 11px/1 var(--texto); letter-spacing: .2em; text-transform: uppercase; color: var(--laranja); margin-bottom: 10px; }
.projeto h3 { font: 400 clamp(26px, 2.6vw, 34px)/1 var(--titulo); text-transform: uppercase; margin-bottom: 6px; padding-top: .1em; margin-top: -.1em; }
.projeto__artista { font-weight: 600; color: var(--off); margin-bottom: 8px; }
.projeto__info { font-size: 14px; color: var(--off-3); margin-bottom: 0; }
.projeto__nota { margin: 12px 0 0; padding: 10px 12px; border-left: 2px solid var(--laranja); background: rgba(255,59,13,.07); font-size: 14px; color: var(--off-2); }
.projeto__breve { position: absolute; z-index: 1; left: 50%; top: 50%; transform: translate(-50%, -50%); padding: 10px 16px; border-radius: 999px; background: rgba(15,15,15,.75); border: 1px solid rgba(255,177,92,.5); color: var(--pessego); font: 700 12px/1 var(--texto); letter-spacing: .2em; text-transform: uppercase; backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.mentores__nota { margin: 22px 0 0; max-width: 680px; font-size: 14px; color: var(--off-3); }
.cartoes-mentores--dois { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 760px; }
@media (max-width: 560px) { .cartoes-mentores--dois { grid-template-columns: 1fr; } }
.mentor--convidados .mentor__sem-foto img { width: 34%; }
