/* ===========================================================================
   landing.css — componentes leves compartilhados (Camp + Academy)
   Carregado só nas landings, junto de /assets/css/app.css (Tailwind).
   Home/Bio NÃO usam este arquivo.

   Princípio: conteúdo visível por padrão. Animações de reveal são
   progressive-enhancement: só rodam quando o JS marca <html class="reveal-on">.
   Sem JS = nada fica escondido (sem reveal-gating).
   =========================================================================== */

:root{
  --brand-orange:#DE2A01; --brand-orange-hover:#F25C26; --brand-orange-deep:#B83A0F;
  --brand-ember:#FFEDE3; --brand-ink:#0E0E0E; --brand-charcoal:#1F1F1F;
  --brand-stone:#6B6B6B; --brand-ash:#B8B8B8; --brand-fog:#E5E5E3; --brand-mist:#F2F1EE; --brand-paper:#FAFAF8;
  --brand-pine:#2F4A2A; --brand-sun:#F2B544;
  --ease-out:cubic-bezier(0.2,0.7,0.1,1);
  --ease-spring:cubic-bezier(0.34,1.56,0.64,1);
  --dur-1:120ms; --dur-2:200ms; --dur-3:320ms; --dur-4:600ms;
}
html{scroll-behavior:smooth;scroll-padding-top:96px;}
body{font-feature-settings:"ss01","cv11";}
::selection{background:var(--brand-orange);color:#fff;}

/* ----- Scroll progress bar (topo) ----- */
#scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;
  background:linear-gradient(90deg,#F25C26 0%,#DE2A01 50%,#B83A0F 100%);
  z-index:60;transition:width 80ms linear;box-shadow:0 0 12px rgba(222,42,1,.7);}

/* ----- Reveal (progressive enhancement) -----
   Visível por padrão. Só esconde+anima quando o JS confirma suporte
   adicionando .reveal-on no <html>. O hero NUNCA é gated. */
html.reveal-on [data-reveal]{opacity:0;transform:translateY(20px);
  transition:opacity var(--dur-4) var(--ease-out), transform var(--dur-4) var(--ease-out);}
html.reveal-on [data-reveal].in{opacity:1;transform:none;}
html.reveal-on [data-reveal][data-reveal-delay="1"]{transition-delay:60ms;}
html.reveal-on [data-reveal][data-reveal-delay="2"]{transition-delay:120ms;}
html.reveal-on [data-reveal][data-reveal-delay="3"]{transition-delay:180ms;}
html.reveal-on [data-reveal][data-reveal-delay="4"]{transition-delay:240ms;}
html.reveal-on [data-reveal][data-reveal-delay="5"]{transition-delay:300ms;}
html.reveal-on [data-reveal][data-reveal-delay="6"]{transition-delay:360ms;}
/* Above-the-fold: hero sempre visível, mesmo com reveal-on. Entrada só por
   transform (seguro p/ LCP), nunca opacity. */
#hero [data-reveal]{opacity:1 !important;}
@media (prefers-reduced-motion:no-preference){
  html.reveal-on #hero [data-reveal]{animation:hero-rise .55s var(--ease-out) both;}
  html.reveal-on #hero [data-reveal][data-reveal-delay="1"]{animation-delay:.05s;}
  html.reveal-on #hero [data-reveal][data-reveal-delay="2"]{animation-delay:.10s;}
  html.reveal-on #hero [data-reveal][data-reveal-delay="3"]{animation-delay:.15s;}
  html.reveal-on #hero [data-reveal][data-reveal-delay="4"]{animation-delay:.20s;}
  html.reveal-on #hero [data-reveal][data-reveal-delay="5"]{animation-delay:.25s;}
}

@keyframes hero-rise{from{transform:translateY(14px);}to{transform:translateY(0);}}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(40px,-30px) scale(1.08);}}
@keyframes tick-pulse{0%,100%{transform:scale(1);opacity:.7;}50%{transform:scale(1.4);opacity:1;}}
@keyframes pulse-ring{0%{transform:scale(.9);opacity:.7;}80%,100%{transform:scale(1.7);opacity:0;}}
@keyframes float-y{0%,100%{transform:translateY(0);}50%{transform:translateY(-10px);}}
@keyframes marquee-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@keyframes flip-down{from{transform:rotateX(0);}50%{transform:rotateX(-90deg);}to{transform:rotateX(0);}}
@keyframes shimmer{0%{background-position:-200% 0;}100%{background-position:200% 0;}}

@media (prefers-reduced-motion:reduce){
  html.reveal-on [data-reveal]{opacity:1;transform:none;transition:none;animation:none;}
  .glow-orb,.topo-rings,.topo-rings--dark,.marquee-track,.xp-track,.cta-pulse::after{animation:none !important;}
}

/* ----- Decorativo de fundo ----- */
.topo-rings{position:absolute;inset:0;
  background-image:repeating-radial-gradient(circle at 30% 40%, rgba(255,255,255,.07) 0, rgba(255,255,255,.07) 1px, transparent 1px, transparent 22px);
  pointer-events:none;animation:drift 18s ease-in-out infinite;}
.topo-rings--dark{position:absolute;inset:0;
  background-image:repeating-radial-gradient(circle at 30% 40%, rgba(14,14,14,.05) 0, rgba(14,14,14,.05) 1px, transparent 1px, transparent 22px);
  pointer-events:none;animation:drift 18s ease-in-out infinite;}
.glow-orb{position:absolute;border-radius:9999px;filter:blur(120px);opacity:.55;pointer-events:none;animation:drift 16s ease-in-out infinite;}

/* ----- Navbar ----- */
#navbar{transition:background var(--dur-3) var(--ease-out), border-color var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);
  background:transparent;border-bottom:1px solid transparent;}
#navbar.is-scrolled{background:rgba(14,14,14,.78);backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid rgba(255,255,255,.06);box-shadow:0 6px 24px -18px rgba(0,0,0,.4);}

/* ----- Tipografia de seção ----- */
.ds-eyebrow{display:inline-flex;align-items:center;gap:.5rem;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--brand-orange);}
.ds-eyebrow::before{content:"—";color:var(--brand-orange);}
.ds-section-title{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  line-height:.95;letter-spacing:-.02em;font-size:clamp(36px,5vw,64px);}

/* ----- Botões ----- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;
  letter-spacing:.04em;text-transform:uppercase;padding:14px 26px;border-radius:999px;
  transition:all var(--dur-2) var(--ease-out);cursor:pointer;border:1.5px solid transparent;
  text-decoration:none;white-space:nowrap;max-width:100%;}
.btn-primary{background:var(--brand-orange);color:#fff;box-shadow:0 10px 30px -10px rgba(222,42,1,.55);}
.btn-primary:hover{background:var(--brand-orange-hover);transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(222,42,1,.7);}
.btn-cta{position:relative;background:linear-gradient(180deg, var(--brand-orange) 0%, var(--brand-orange-deep) 100%);color:#fff;
  box-shadow:0 .6px .6px -1.2px rgba(0,0,0,.51),0 2.3px 2.3px -2.5px rgba(0,0,0,.45),0 10px 10px -3.7px rgba(0,0,0,.18);
  padding:18px 32px;font-size:15px;}
.btn-cta:hover{background:linear-gradient(180deg, var(--brand-orange-hover) 0%, var(--brand-orange) 100%);transform:translateY(-2px);}
.cta-pulse::after{content:"";position:absolute;inset:-4px;border-radius:999px;
  border:2px solid rgba(255,255,255,.55);pointer-events:none;
  animation:pulse-ring 2.4s var(--ease-out) infinite;}
.cta-shimmer{background-image:linear-gradient(180deg, var(--brand-orange) 0%, var(--brand-orange-deep) 100%),
  linear-gradient(110deg, transparent 30%, rgba(255,255,255,.35) 50%, transparent 70%);
  background-blend-mode:overlay;background-size:100% 100%, 200% 100%;animation:shimmer 3.2s linear infinite;}

/* ----- Badges ----- */
.badge{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:999px;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:11px;
  letter-spacing:.12em;text-transform:uppercase;}
.badge-orange{background:var(--brand-orange);color:#fff;}
.badge-ember{background:var(--brand-ember);color:var(--brand-orange-deep);}
.badge-ink{background:var(--brand-ink);color:#fff;}
.badge-sold{background:#DC2626;color:#fff;}
.badge-sold::before{content:"";width:6px;height:6px;border-radius:999px;background:#fff;animation:tick-pulse 1.6s ease-in-out infinite;}

/* ----- Cards recortados ----- */
.card-cut{background:#fff;border-radius:16px;border:1.5px solid var(--brand-ink);
  box-shadow:6px 6px 0 var(--brand-ink);padding:28px;
  transition:transform var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);}
.card-cut:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--brand-ink);}
.card-cut--orange{box-shadow:6px 6px 0 var(--brand-orange);}
.card-cut--orange:hover{box-shadow:9px 9px 0 var(--brand-orange);}
.card-cut--dark{background:var(--brand-ink);color:#fff;border-color:var(--brand-ink);box-shadow:6px 6px 0 var(--brand-orange);}
.card-cut--dark:hover{box-shadow:9px 9px 0 var(--brand-orange);}

/* ----- Hero image bg ----- */
.hero-bg{position:absolute;inset:0;width:100%;height:115%;top:-7%;object-fit:cover;object-position:center 40%;}
.hero-bg-mask{position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(14,14,14,.55) 0%, rgba(14,14,14,.55) 40%, rgba(14,14,14,.80) 100%);}

/* ----- Countdown ----- */
.cd-grid{display:grid;grid-template-columns:repeat(4,minmax(64px,1fr));gap:12px;}
.cd-cell{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  border-radius:14px;padding:14px 10px 10px;text-align:center;overflow:hidden;}
.cd-cell::before{content:"";position:absolute;inset:0;background:radial-gradient(120% 60% at 50% 0%, rgba(222,42,1,.18), transparent 70%);pointer-events:none;}
.cd-num{font-family:'Anton',sans-serif;font-size:clamp(28px,4.6vw,46px);line-height:1;color:#fff;
  display:block;letter-spacing:.02em;font-variant-numeric:tabular-nums;}
.cd-num.flip{animation:flip-down .5s var(--ease-out);}
.cd-lbl{display:block;margin-top:6px;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.6);}

/* ----- Persona cards ----- */
.persona-card{position:relative;border-radius:20px;background:#fff;
  border:1px solid rgba(14,14,14,.08);padding:36px 28px 32px;text-align:center;
  box-shadow:0 1px 0 rgba(14,14,14,.04), 0 12px 32px -22px rgba(14,14,14,.18);
  transition:transform var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out), border-color var(--dur-3) var(--ease-out);}
.persona-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(14,14,14,.04), 0 26px 40px -22px rgba(222,42,1,.25);border-color:rgba(222,42,1,.18);}
.persona-card .persona-icon{width:88px;height:88px;margin:0 auto 22px;display:grid;place-items:center;position:relative;}
.persona-card .persona-icon::before{content:"";position:absolute;inset:-8px;border-radius:999px;
  background:radial-gradient(circle, rgba(222,42,1,.10) 0%, transparent 70%);z-index:0;opacity:0;
  transition:opacity var(--dur-3) var(--ease-out);}
.persona-card:hover .persona-icon::before{opacity:1;}
.persona-card .persona-icon img{position:relative;z-index:1;width:72px;height:72px;object-fit:contain;display:block;
  transition:transform var(--dur-4) var(--ease-spring);}
.persona-card:hover .persona-icon img{transform:scale(1.1) rotate(-3deg);}
.persona-card .persona-num{position:absolute;top:16px;right:16px;
  font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--brand-orange);opacity:.55;}
.persona-card h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:22px;line-height:1.05;letter-spacing:-.005em;color:var(--brand-ink);}
.persona-card p{margin-top:14px;font-size:14.5px;line-height:1.65;color:rgba(14,14,14,.62);max-width:34ch;margin-left:auto;margin-right:auto;}

/* ----- Programa (tabs + timeline) ----- */
.tab-rail{display:flex;flex-wrap:wrap;gap:10px;background:#fff;
  border:1.5px solid var(--brand-ink);border-radius:999px;padding:6px;box-shadow:6px 6px 0 var(--brand-ink);}
.tab-btn{flex:1 1 auto;min-width:120px;padding:12px 18px;border-radius:999px;
  font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:12px;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brand-ink);
  transition:all var(--dur-2) var(--ease-out);position:relative;cursor:pointer;background:transparent;}
.tab-btn:hover{background:rgba(14,14,14,.06);}
.tab-btn[aria-selected="true"]{background:var(--brand-orange);color:#fff;box-shadow:0 8px 20px -8px rgba(222,42,1,.55);}
.tab-btn .tab-date{display:block;font-family:'JetBrains Mono',monospace;font-size:10px;letter-spacing:.18em;opacity:.7;margin-top:2px;font-weight:500;}
.tab-btn[aria-selected="true"] .tab-date{color:rgba(255,255,255,.85);opacity:1;}
.tab-panel{display:none;}
.tab-panel.is-active{display:block;}
.timeline{position:relative;padding-left:32px;}
.timeline::before{content:"";position:absolute;left:11px;top:6px;bottom:6px;width:2px;
  background:linear-gradient(180deg, var(--brand-orange) 0%, var(--brand-orange) 50%, rgba(222,42,1,.15) 100%);border-radius:2px;}
.tl-item{position:relative;padding:10px 0 18px;}
.tl-item::before{content:"";position:absolute;left:-26px;top:14px;width:14px;height:14px;border-radius:999px;
  background:var(--brand-orange);box-shadow:0 0 0 4px #fff, 0 0 0 5.5px var(--brand-orange);}
.tl-time{font-family:'JetBrains Mono',monospace;font-weight:700;color:var(--brand-orange);font-size:13px;letter-spacing:.06em;}
.tl-text{display:block;margin-top:4px;font-weight:600;color:var(--brand-ink);line-height:1.45;}
@media (max-width:640px){
  #programa{padding-top:76px;padding-bottom:76px;}
  #programa .max-w-3xl{margin-bottom:28px;}
  #programa .tab-rail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
    gap:6px;width:calc(100% - 4px);margin-right:4px;margin-bottom:24px;padding:6px;border-radius:20px;box-shadow:4px 4px 0 var(--brand-ink);}
  #programa .tab-btn{width:100%;min-width:0;padding:10px 8px;border-radius:14px;font-size:10.5px;line-height:1.05;letter-spacing:.08em;}
  #programa .tab-btn:first-child{grid-column:1 / -1;}
  #programa .tab-btn .tab-date{font-size:9px;line-height:1.15;letter-spacing:.08em;margin-top:4px;}
  #programa .card-cut{width:calc(100% - 4px);margin-right:4px;padding:22px 18px 24px;border-radius:14px;box-shadow:4px 4px 0 var(--brand-ink);}
  #programa .card-cut:hover{transform:none;box-shadow:4px 4px 0 var(--brand-ink);}
  #programa .card-cut>.flex{flex-wrap:nowrap;align-items:flex-start;gap:12px;margin-bottom:20px;}
  #programa .card-cut>.flex>.inline-grid{flex:0 0 44px;width:44px;height:44px;border-radius:14px;}
  #programa .card-cut>.flex>.inline-grid svg{width:20px;height:20px;}
  #programa .card-cut>.flex>div{min-width:0;flex:1;}
  #programa .card-cut p.text-xs{font-size:10px;line-height:1.35;letter-spacing:.12em;overflow-wrap:break-word;}
  #programa .card-cut h3{font-size:30px;line-height:.98;}
  #programa .timeline{padding-left:25px;}
  #programa .timeline::before{left:8px;top:5px;bottom:8px;}
  #programa .tl-item{padding:8px 0 16px;}
  #programa .tl-item::before{left:-23px;top:13px;width:11px;height:11px;box-shadow:0 0 0 3px #fff, 0 0 0 4.5px var(--brand-orange);}
  #programa .tl-time{display:block;font-size:11.5px;line-height:1.35;letter-spacing:.03em;overflow-wrap:anywhere;}
  #programa .tl-text{font-size:14px;line-height:1.45;}
}

/* ----- FAQ (details/summary) ----- */
.faq-item.card-cut{padding:0;overflow:hidden;}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:22px 24px;cursor:pointer;font-family:'Plus Jakarta Sans',sans-serif;font-size:16px;font-weight:800;line-height:1.25;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-icon{flex:0 0 auto;width:34px;height:34px;display:grid;place-items:center;border-radius:999px;background:var(--brand-ink);color:#fff;
  transition:transform var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out);}
.faq-item[open] .faq-icon{transform:rotate(45deg);background:var(--brand-orange);}
.faq-answer{padding:2px 28px 30px;color:rgba(14,14,14,.72);font-size:15.5px;line-height:1.85;max-width:78ch;}
.faq-answer>*{margin:0;}
.faq-answer>*+*{margin-top:12px;}
.faq-answer ul{display:grid;gap:8px;padding-left:0;list-style:none;}
.faq-answer li{position:relative;padding-left:18px;line-height:1.65;}
.faq-answer li::before{content:"";position:absolute;left:0;top:.75em;width:5px;height:5px;border-radius:999px;background:var(--brand-orange);}
.faq-answer strong{color:var(--brand-ink);font-weight:800;}
.faq-answer a{color:var(--brand-orange);font-weight:700;text-decoration:underline;text-underline-offset:3px;}
@media (max-width:640px){
  .faq-item summary{padding:20px 18px;font-size:15px;}
  .faq-answer{padding:0 18px 24px;font-size:14.5px;line-height:1.75;}
  .faq-answer>*+*{margin-top:10px;}
}

/* ----- Media tiles (vídeos verticais — facade YouTube) ----- */
.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media (max-width:1024px){.media-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:520px){.media-grid{grid-template-columns:1fr;}}
.media-card{position:relative;aspect-ratio:9/16;border-radius:18px;overflow:hidden;
  border:1.5px solid var(--brand-ink);box-shadow:6px 6px 0 var(--brand-ink);background:#000;cursor:pointer;
  transition:transform var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);}
.media-card:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--brand-orange);}
.media-card>img,.media-card>video,.media-card>iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border:0;}
.media-card>img{transition:transform var(--dur-4) var(--ease-out);}
.media-card:hover>img{transform:scale(1.06);}
.media-card::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg, transparent 55%, rgba(14,14,14,.55) 100%);pointer-events:none;}
.media-card.is-playing::after{display:none;}
.media-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:72px;height:72px;border-radius:999px;display:grid;place-items:center;
  background:var(--brand-orange);color:#fff;box-shadow:0 16px 40px -12px rgba(222,42,1,.65);
  transition:transform var(--dur-3) var(--ease-spring);pointer-events:none;z-index:1;}
.media-play::before{content:"";position:absolute;inset:-6px;border-radius:999px;border:2px solid rgba(255,255,255,.6);animation:pulse-ring 2s ease-out infinite;}
.media-card:hover .media-play{transform:translate(-50%,-50%) scale(1.12);}
.media-card.is-playing .media-play{display:none;}

/* ----- Carrossel de fotos ----- */
.gal-carousel{position:relative;}
.gal-track{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  padding:10px 4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;
  -webkit-mask-image:linear-gradient(to right, #000 0%, #000 92%, transparent 100%);
  mask-image:linear-gradient(to right, #000 0%, #000 92%, transparent 100%);}
.gal-track::-webkit-scrollbar{display:none;}
.gal-slide{flex:0 0 calc(33.333% - 9.33px);scroll-snap-align:start;border-radius:14px;overflow:hidden;
  border:1.5px solid var(--brand-ink);aspect-ratio:4/5;background:var(--brand-ink);}
@media (max-width:900px){.gal-slide{flex:0 0 calc(50% - 7px);}}
@media (max-width:560px){.gal-slide{flex:0 0 82%;}}
.gal-slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease-out);}
.gal-slide:hover img{transform:scale(1.06);}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;
  background:rgba(255,255,255,.92);color:var(--brand-ink);display:grid;place-items:center;border:1.5px solid var(--brand-ink);
  cursor:pointer;z-index:2;box-shadow:3px 3px 0 var(--brand-ink);
  transition:transform var(--dur-2) var(--ease-out), background var(--dur-2) var(--ease-out), color var(--dur-2) var(--ease-out);}
.gal-nav:hover{background:var(--brand-orange);color:#fff;transform:translateY(-50%) scale(1.06);}
.gal-nav.prev{left:-8px;}
.gal-nav.next{right:-8px;}
.gal-nav[disabled]{opacity:.35;cursor:not-allowed;}
@media (max-width:560px){.gal-nav.prev{left:4px;}.gal-nav.next{right:4px;}}

/* ----- Sales (oferta + preço) — Camp ----- */
.sales-offer{background:#000;overflow:visible;}
.sales-offer-panel{position:relative;width:100%;max-width:1290px;box-sizing:border-box;margin:0 auto;background:#fff;border-radius:0 0 28px 28px;padding:72px 24px 0;overflow:visible;display:flow-root;}
.sales-offer-content{max-width:1120px;margin:0 auto;text-align:center;}
.sales-offer-kicker{font-family:'Anton',sans-serif;font-size:clamp(28px,3vw,36px);line-height:1;text-transform:uppercase;color:#050505;}
.sales-offer-title{margin-top:36px;font-family:'Anton',sans-serif;font-size:clamp(40px,5.4vw,62px);line-height:1.05;text-transform:uppercase;color:var(--brand-orange);}
.sales-offer-copy{margin-top:24px;font-size:clamp(16px,1.6vw,20px);font-weight:500;line-height:1.4;color:#4c4c4c;}
.sales-collage{position:relative;z-index:2;width:min(100%,1088px);margin:50px auto -300px;}
.sales-collage img{display:block;width:100%;height:auto;}
.sales-price{background:#000;color:#fff;padding:360px 0 92px;overflow:hidden;}
.sales-price-inner{width:100%;max-width:1068px;box-sizing:border-box;margin:0 auto;padding:0 24px;}
.sales-price-grid{position:relative;display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:58px;align-items:center;}
.sales-price-grid::before{content:"";position:absolute;top:0;bottom:0;left:calc(460px + 29px);width:1px;background:var(--brand-orange);}
.sales-benefits{display:flex;flex-direction:column;gap:10px;}
.bullet-pill{display:flex;align-items:center;gap:18px;min-height:104px;padding:18px 22px 18px 20px;background:#f4f4f4;border:1px solid #d8d8d8;border-radius:8px;box-shadow:none;transition:transform var(--dur-2) var(--ease-out), border-color var(--dur-2) var(--ease-out);}
.bullet-pill:hover{transform:translateY(-1px);border-color:#fff;}
.bullet-pill .bullet-text{flex:1;}
.bullet-pill h4{font-family:'Plus Jakarta Sans',sans-serif;font-weight:500;font-size:15px;color:#1c1c1c;line-height:1.28;}
.bullet-pill h4 b{font-weight:900;}
.bullet-pill p{margin-top:9px;font-size:12px;color:#5a5a5a;line-height:1.35;}
.bullet-pill .check{flex:0 0 auto;width:46px;height:46px;background:transparent;color:#00E08A;display:grid;place-items:center;}
.bullet-pill .check svg{width:36px;height:36px;stroke-width:2.2;}
.price-card{position:relative;max-width:480px;margin:0 auto;text-align:center;color:#fff;background:transparent;border:0;border-radius:0;padding:0;overflow:visible;}
.price-card .price-logo-img{display:block;width:min(286px,78%);height:auto;margin:0 auto 28px;}
.price-card .camp-logo,.price-card .camp-sub{display:none;}
.price-card .price-from{color:var(--brand-orange);font-size:30px;font-weight:500;line-height:1.15;margin-top:0;}
.price-card .price-from s{opacity:.95;text-decoration-thickness:2px;text-decoration-color:var(--brand-orange);}
.price-card .price-eyebrow{font-size:20px;color:#fff;margin-top:20px;}
.price-card .price-huge{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(112px,12vw,150px);line-height:.9;color:#10A149;margin-top:18px;}
.price-card .price-huge .price-cents{font-size:1em;}
.price-card .price-vista{display:inline-block;font-size:24px;font-weight:800;color:#fff;text-decoration:underline;margin-top:26px;line-height:1.2;}
.price-card .price-installments{font-size:23px;color:#fff;margin-top:6px;line-height:1.25;text-decoration:underline;}
.price-card .price-installments b{font-weight:800;color:#fff;}
.price-card .btn-cta{width:100%;justify-content:center;border-radius:8px;margin-top:38px;padding:20px 24px;font-size:16px;line-height:1.2;background:var(--brand-orange);background-image:none;box-shadow:none;border:1px solid var(--brand-orange);}
.price-card .btn-cta:hover{background:var(--brand-orange-hover);transform:translateY(-1px);}
.price-card .cta-pulse::after{display:none;}
@media (max-width:1024px){
  .sales-price-grid{grid-template-columns:1fr;gap:42px;}
  .sales-price-grid::before{display:none;}
  .sales-benefits{max-width:640px;margin:0 auto;width:100%;}
  .sales-collage{margin-bottom:-27vw;}
  .sales-price{padding-top:calc(27vw + 60px);}
}
@media (max-width:640px){
  .sales-offer-panel{border-radius:0 0 22px 22px;padding-top:56px;}
  .sales-offer-title{margin-top:26px;}
  .sales-collage{margin-top:34px;margin-bottom:-22vw;width:100%;}
  .sales-price{padding-top:calc(22vw + 60px);padding-bottom:76px;}
  .bullet-pill{min-height:96px;padding:16px;}
  .bullet-pill h4{font-size:14px;}
  .bullet-pill p{font-size:11.5px;}
  .price-card .price-from{font-size:24px;}
  .price-card .price-installments{font-size:19px;}
}

/* ----- Edition strip ----- */
.edition-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;margin-top:48px;color:#fff;}
.edition-strip .thumbs{display:flex;}
.edition-strip .thumbs img{width:38px;height:38px;border-radius:999px;border:2px solid var(--brand-ink);object-fit:cover;margin-left:-10px;}
.edition-strip .thumbs img:first-child{margin-left:0;}
.edition-strip .stars{color:var(--brand-sun);display:flex;gap:2px;}
.edition-strip .stars svg{width:18px;height:18px;fill:currentColor;}
.edition-strip .edition-label{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:#fff;}

/* ----- Marquee ----- */
.marquee{overflow:hidden;border-top:1.5px solid var(--brand-ink);border-bottom:1.5px solid var(--brand-ink);background:var(--brand-orange);color:#fff;}
.marquee-track{display:flex;width:max-content;animation:marquee-scroll 28s linear infinite;}
.marquee-track:hover{animation-play-state:paused;}
.marquee-item{display:inline-flex;align-items:center;gap:14px;padding:14px 28px;
  font-family:'Anton',sans-serif;font-size:22px;letter-spacing:.04em;text-transform:uppercase;}
.marquee-item svg{flex-shrink:0;opacity:.85;}

/* ----- Experience cards ----- */
.xp-card{position:relative;border-radius:20px;overflow:hidden;background:var(--brand-ink);color:#fff;
  border:1px solid rgba(255,255,255,.06);box-shadow:0 30px 60px -30px rgba(14,14,14,.55);
  transition:transform var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);}
.xp-card:hover{transform:translateY(-4px);box-shadow:0 36px 72px -30px rgba(222,42,1,.45);}
.xp-card::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;
  background:radial-gradient(80% 60% at 50% 100%, rgba(222,42,1,.18), transparent 70%);pointer-events:none;z-index:0;}
.xp-strip{position:relative;padding:22px 0 18px;overflow:hidden;mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);}
.xp-track{display:flex;gap:14px;width:max-content;animation:marquee-scroll 32s linear infinite;}
.xp-card:hover .xp-track{animation-play-state:paused;}
.xp-track--rev{animation-direction:reverse;animation-duration:38s;}
.xp-photo{flex:0 0 auto;width:230px;height:175px;border-radius:14px;overflow:hidden;box-shadow:0 14px 30px -16px rgba(0,0,0,.55);}
.xp-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.4s var(--ease-out);}
.xp-card:hover .xp-photo img{transform:scale(1.06);}
.xp-body{position:relative;z-index:1;padding:8px 30px 28px;}
.xp-body .xp-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;
  background:rgba(222,42,1,.16);color:var(--brand-orange-hover);
  font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:12px;}
.xp-body h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  line-height:1;letter-spacing:-.005em;color:var(--brand-orange);font-size:clamp(26px,2.4vw,32px);}
.xp-body p{margin-top:14px;color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.6;max-width:62ch;}
.xp-solo{position:relative;margin:22px 22px 8px;border-radius:14px;overflow:hidden;box-shadow:0 16px 36px -18px rgba(0,0,0,.6);aspect-ratio:16/9;}
.xp-solo img{width:100%;height:100%;object-fit:cover;object-position:center 25%;display:block;transition:transform 1.4s var(--ease-out);}
.xp-card--solo:hover .xp-solo img{transform:scale(1.04);}
.xp-card--solo .xp-body{padding-top:18px;}

/* ----- Stats ----- */
.stat-num{font-family:'Anton',sans-serif;font-size:clamp(40px,6vw,72px);line-height:1;color:var(--brand-orange);font-variant-numeric:tabular-nums;letter-spacing:-.01em;}
.stat-lbl{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--brand-ink);opacity:.7;margin-top:8px;}

/* ----- Mobile drawer ----- */
#mobile-drawer{transform:translateX(100%);transition:transform var(--dur-3) var(--ease-out);}
#mobile-drawer.is-open{transform:translateX(0);}
#mobile-backdrop{opacity:0;pointer-events:none;visibility:hidden;
  transition:opacity var(--dur-3) var(--ease-out), visibility 0s linear var(--dur-3);}
#mobile-backdrop.is-open{opacity:1;pointer-events:auto;visibility:visible;transition-delay:0s;}
body.no-scroll{overflow:hidden;}
@media (max-width:380px){.nav-cta-text{display:none;}}

/* ===========================================================================
   Academy — componentes específicos (usados só na /academy/)
   =========================================================================== */
/* Cards de "dor" */
.pain-card{background:#fff;border:1px solid rgba(14,14,14,.07);border-radius:18px;padding:28px 26px;
  box-shadow:0 1px 0 rgba(14,14,14,.04), 0 14px 34px -26px rgba(14,14,14,.22);
  transition:transform var(--dur-3) var(--ease-out), box-shadow var(--dur-3) var(--ease-out);}
.pain-card:hover{transform:translateY(-4px);box-shadow:0 1px 0 rgba(14,14,14,.04), 0 24px 40px -24px rgba(222,42,1,.22);}
.pain-card .pain-icon{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;
  background:rgba(222,42,1,.10);color:var(--brand-orange);margin-bottom:18px;}
.pain-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:17px;color:var(--brand-ink);line-height:1.25;}
.pain-card p{margin-top:10px;font-size:14px;line-height:1.6;color:rgba(14,14,14,.62);}

/* Linhas de módulo (imagem + texto, alternadas) */
.mod-row{display:grid;gap:24px;align-items:center;}
@media (min-width:768px){.mod-row{grid-template-columns:1fr 1fr;gap:48px;}.mod-row.rev .mod-media{order:2;}}
.mod-media{position:relative;border-radius:18px;overflow:hidden;border:1.5px solid var(--brand-ink);
  box-shadow:6px 6px 0 var(--brand-orange);aspect-ratio:3/2;}
.mod-media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease-out);}
.mod-row:hover .mod-media img{transform:scale(1.05);}
.mod-num{font-family:'JetBrains Mono',monospace;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--brand-orange);}
.mod-body h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;
  font-size:clamp(24px,3vw,34px);line-height:1.02;color:var(--brand-orange);margin-top:8px;}
.mod-body p{margin-top:14px;font-size:15px;line-height:1.65;color:rgba(14,14,14,.66);}

/* Depoimentos (vídeo vertical + autor) */
.tcard{display:flex;flex-direction:column;gap:14px;}
.tcard-meta{display:flex;align-items:center;gap:12px;}
.tcard-avatar{width:48px;height:48px;border-radius:999px;object-fit:cover;border:2px solid var(--brand-orange);flex:0 0 auto;}
.tcard-name{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:15px;color:#fff;line-height:1.1;}
.tcard-role{font-size:12px;color:rgba(255,255,255,.6);line-height:1.3;margin-top:3px;}

/* Card de preço */
.price-box{background:var(--brand-ink);color:#fff;border-radius:22px;padding:40px 32px;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.08);max-width:520px;margin:0 auto;}
.price-box .price-amount{font-family:'Anton',sans-serif;font-weight:400;font-size:clamp(56px,9vw,84px);line-height:.95;color:var(--brand-orange);}
.price-box .price-amount small{font-size:.4em;color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;}
.price-list{display:grid;gap:12px;margin-top:24px;text-align:left;}
.price-list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.4;color:rgba(255,255,255,.85);}
.price-list .check{flex:0 0 auto;color:#10A149;margin-top:1px;}

/* Instrutores */
.coach-card{display:flex;gap:18px;align-items:flex-start;}
.coach-card img{width:96px;height:96px;border-radius:18px;object-fit:cover;flex:0 0 auto;border:1.5px solid var(--brand-ink);}
.coach-card h3{font-family:'Anton',sans-serif;font-weight:400;text-transform:uppercase;font-size:24px;color:var(--brand-ink);line-height:1;}
.coach-card p{margin-top:8px;font-size:14px;line-height:1.55;color:rgba(14,14,14,.66);}
