/* ===== NEXUS PRESENTATION — STYLES ===== */

@import url('fontes.css');

:root {
  --bg: #00193f;
  --bg-dark: #000e25;
  --gold: #e8a724;
  --gold-2: #C9A84C;
  --gold-dim: rgba(232,167,36,0.18);
  --white: #f8f6f2;
  --white-dim: rgba(248,246,242,0.55);
  --glass-bg: rgba(255,255,255,0.05);
  --glass-border: rgba(255,255,255,0.10);
  --glass-border-gold: rgba(232,167,36,0.35);
  --radius: 18px;
  --font: "DM Sans","Helvetica Neue",Helvetica,sans-serif;
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html { scroll-behavior:smooth; overflow-x:hidden; scroll-snap-type:y proximity; }

body {
  background:var(--bg-dark); color:var(--white);
  font-family:var(--font); cursor:none; overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}

/* ── CURSOR ── */
#cursor {
  width:20px; height:20px;
  border:1.5px solid rgba(248,246,242,0.6); border-radius:50%;
  position:fixed; top:0; left:0;
  pointer-events:none; z-index:9999;
  transform:translate(-50%,-50%);
  transition:width .2s,height .2s,background .2s,border-color .2s;
  mix-blend-mode:exclusion;
}
#cursor.hovering { width:44px; height:44px; background:rgba(232,167,36,0.15); border-color:var(--gold); }

/* ── PROGRESS BAR ── */
#progress-bar {
  position:fixed; top:0; left:0; height:2px;
  background:linear-gradient(90deg,var(--gold),var(--gold-2));
  width:0%; z-index:9990; transition:width .1s linear;
}

/* ── AUDIO CONTROL ── */
#audio-ctrl {
  position:fixed; top:20px; right:20px; z-index:9980;
  width:40px; height:40px;
  background:var(--glass-bg); border:1px solid var(--glass-border); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:none; backdrop-filter:blur(20px);
  transition:border-color .2s,background .2s;
}
#audio-ctrl:hover { border-color:var(--gold); background:var(--gold-dim); }
#audio-ctrl svg { width:16px; height:16px; fill:var(--white-dim); transition:fill .2s; }
#audio-ctrl:hover svg { fill:var(--gold); }

/* ── VIGNETTE ── */
#vignette {
  position:fixed; inset:0; z-index:100; pointer-events:none;
  background:
    linear-gradient(to bottom, rgba(0,8,20,0.85) 0%, transparent 16%, transparent 84%, rgba(0,8,20,0.85) 100%),
    linear-gradient(to right,  rgba(0,8,20,0.65) 0%, transparent 14%, transparent 86%, rgba(0,8,20,0.65) 100%);
}

/* ── SECTION BASE ── */
.section {
  height:100vh; min-height:600px; width:100%;
  position:relative;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  overflow:hidden; scroll-snap-align:start;
}

/* ── SECTION SHARED ── */
.section-tag {
  display:inline-block;
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); border:1px solid var(--gold-dim);
  padding:6px 16px; border-radius:99px; margin-bottom:20px;
}
.section-title {
  font-size:clamp(26px,3.5vw,44px); font-weight:700;
  line-height:1.25; letter-spacing:-.02em;
}
.section-title em { color:var(--gold); font-style:normal; }
.section-header { text-align:center; margin-bottom:0; }

/* ══════════════ S0 · HERO ══════════════ */
#s0 { background:radial-gradient(ellipse 80% 60% at 50% 50%,#002966 0%,var(--bg-dark) 70%); }
#s0 .particles { position:absolute; inset:0; pointer-events:none; }
#s0 .hero-logo { display:flex; flex-direction:column; align-items:center; gap:28px; }
#s0 .hero-logo-img { width:460px; max-width:82vw; filter:brightness(0) invert(1); }
#s0 .hero-logo-placeholder {
  font-size:72px; font-weight:900; letter-spacing:.08em; color:var(--white);
}
#s0 .tagline {
  font-size:15px; font-weight:300; letter-spacing:.22em; text-transform:uppercase;
  color:var(--white-dim); margin-top:4px;
}
#s0 .scroll-hint {
  position:absolute; bottom:40px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
}
#s0 .scroll-hint span { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--white-dim); }
#s0 .scroll-arrow {
  width:24px; height:24px;
  border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
  transform:rotate(45deg); animation:scrollBounce 1.6s infinite;
}
#s0 .hero-glow {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(232,167,36,0.07) 0%,transparent 70%);
}

/* ══════════════ S1 · FORM ══════════════ */
#s1 { background:#0a0f1f; padding:80px 24px; }
.form-clean {
  width:100%; max-width:1000px;
  padding:0 24px;
}
.form-title { font-size:clamp(28px, 4vw, 42px); font-weight:700; margin-bottom:48px; letter-spacing:-.01em; text-align:center; }
.form-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px 60px;
}
.form-column {
  display:grid;
  grid-template-rows:repeat(4, 1fr);
  gap:20px;
}
.form-column .field { display:flex; flex-direction:column; justify-content:flex-start; }
.form-column .field input,
.form-column .field textarea,
.form-column .field .toggle-group { flex:1; min-height:0; }
.form-column .field textarea { height:auto; }
.field { margin-bottom:0; }
.field label {
  display:block; font-size:11px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold); font-weight:500; margin-bottom:10px;
}
.field input,.field textarea {
  width:100%; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.15);
  border-radius:12px; color:var(--white); font-family:var(--font);
  font-size:15px; font-weight:300; padding:10px 12px; outline:none;
  transition:border-color .25s,background .25s,box-shadow .25s; resize:none;
}
.field input:focus,.field textarea:focus {
  border-color:rgba(232,167,36,0.6); background:rgba(255,255,255,0.08);
  box-shadow:0 0 0 3px rgba(232,167,36,0.1);
}
.field textarea { min-height:44px; height:44px; overflow:hidden; }
.toggle-group { display:flex; gap:6px; width:100%; }
.toggle-btn {
  flex:1; padding:11px 12px;
  background:rgba(255,255,255,0.04); border:1px solid var(--glass-border); border-radius:10px;
  color:var(--white-dim); font-family:var(--font); font-size:12px; font-weight:300; cursor:none;
  transition:all .2s; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.toggle-btn.active { background:var(--gold-dim); border-color:var(--gold); color:var(--gold); font-weight:500; }
.btn-submit {
  width:100%; padding:18px;
  background:linear-gradient(135deg,var(--gold),var(--gold-2));
  border:none; border-radius:14px; color:#1a1000;
  font-family:var(--font); font-size:16px; font-weight:700; cursor:none;
  margin-top:24px; transition:opacity .2s,transform .15s; letter-spacing:.03em;
}
.btn-submit:hover:not(:disabled) { opacity:.9; transform:translateY(-1px); }

/* Responsive */
@media (max-width: 768px) {
  .form-grid {
    grid-template-columns:1fr;
    gap:24px;
  }
}

/* ══════════════ S2 · QUOTE + DONUT ══════════════ */
#s2 { background:var(--bg); flex-direction:row; gap:0; padding:80px 24px; height:auto; min-height:100vh; align-items:center; justify-content:center; }
.s2-headline { display:none; }
.s2-title {
  font-size:clamp(28px,4.5vw,56px); font-weight:800; line-height:1.2;
  letter-spacing:-.03em; margin-bottom:16px;
}
.s2-subtitle {
  font-size:clamp(18px,2.4vw,26px); font-weight:300; color:var(--white-dim);
  line-height:1.6;
}
.s2-inner {
  display:flex; align-items:center; gap:40px;
  width:100%; max-width:1200px; padding:0 40px;
  justify-content:space-between;
}
.donut-wrap { position:relative; flex-shrink:0; width:30%; min-width:240px; max-width:300px; aspect-ratio:1; }
.donut-svg { width:100%; height:100%; }
.donut-track { stroke-dasharray:553.27; stroke-dashoffset:553.27; }
.donut-center-text {
  position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center;
}
.donut-pct { font-size:64px; font-weight:900; color:var(--gold); letter-spacing:-.04em; line-height:1; }
.donut-sub { font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--white-dim); margin-top:4px; }
.s2-quote-block { flex:1; }
.donut-legend { display:flex; flex-direction:column; gap:12px; }
.legend-item { display:flex; align-items:center; gap:10px; font-size:15px; font-weight:300; color:var(--white-dim); }
.legend-dot { width:12px; height:12px; border-radius:50%; flex-shrink:0; }
.legend-dot.gold { background:var(--gold); }
.legend-dot.white { background:rgba(255,255,255,0.3); }

/* ══════════════ S3 · NELSON ══════════════ */
/* ══════════════ S3 · NELSON ══════════════ */
#s3 {
  background:var(--bg); padding:0;
  position:relative; overflow:hidden;
  display:flex; align-items:stretch;
}

/* Foto full-height: ocupa 55% à esquerda, cabeça a 20% do topo */
.nelson-photo-full {
  position:absolute; left:-4%; top:0; bottom:0;
  width:56%; pointer-events:none;
}
.nelson-photo-img {
  position:absolute; bottom:0; left:0;
  height:92%; width:auto;          /* 92% = cabeça cai ~8% do topo */
  object-fit:contain; object-position:left bottom;
  filter:drop-shadow(0 0 60px rgba(232,167,36,0.10));
}
.nelson-fade-bottom-full {
  position:absolute; bottom:0; left:0; right:0; height:200px; pointer-events:none;
  background:linear-gradient(to top, var(--bg) 0%, transparent 100%);
}

/* Conteúdo — ocupa a metade direita, completamente fora da foto */
.nelson-content-right {
  position:relative; z-index:2;
  margin-left:52%;           /* empurra para além da foto */
  width:44%; padding:80px 56px 0 0;
  display:flex; flex-direction:column; justify-content:flex-start; align-self:flex-start;
}
.s2-nelson-name { font-size:clamp(38px,4.5vw,68px); font-weight:800; color:var(--gold); margin-bottom:12px; letter-spacing:-.02em; }
.s2-nelson-role { font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--white-dim); margin-bottom:32px; }
.s2-nelson-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:18px; }
.s2-nelson-list li { font-size:18px; font-weight:300; color:rgba(248,246,242,0.88); line-height:1.5; display:flex; align-items:center; gap:12px; }
.s2-nelson-list li strong { color:var(--white); font-weight:600; }
.s2-nl-icon { font-size:20px; flex-shrink:0; }

/* ══════════════ S4 · EM POUCO TEMPO ══════════════ */
#s4 { background:var(--bg-dark); }
.s4-result-block { max-width:800px; text-align:center; display:flex; flex-direction:column; gap:32px; }
.s4-result-text {
  font-size:clamp(26px,3.8vw,48px); font-weight:700; line-height:1.25; letter-spacing:-.02em;
  opacity:0; transform:translateY(40px);
  transition:opacity .8s ease,transform .8s ease;
}
.s4-single {
  font-size:clamp(36px,6vw,80px) !important; font-weight:900 !important;
  opacity:1 !important; transform:none !important;
}
.s4-result-text.visible { opacity:1; transform:translateY(0); }
.gold-text { color:var(--gold); }

/* ══════════════ S5–S8 · CLICK HINT ══════════════ */
.czs-click-hint {
  position:absolute; bottom:36px; left:50%; transform:translateX(-50%);
  font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:rgba(232,167,36,0.4);
  animation:hintPulse 2s ease-in-out infinite;
}
@keyframes hintPulse { 0%,100%{opacity:.4} 50%{opacity:1} }

/* ══════════════ S5–S8 · APPLE ZOOM COUNTERS ══════════════ */
.counter-zoom-section {}
.czs-wrap {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:24px; text-align:center; width:100%; padding:0 24px;
}
.czs-value {
  font-size:clamp(80px,18vw,240px); font-weight:900;
  color:var(--gold); letter-spacing:-.04em; line-height:1;
  will-change:transform,opacity; transform-origin:center;
}
.czs-label {
  font-size:clamp(18px,2.5vw,28px); font-weight:300; letter-spacing:.04em;
  color:var(--white-dim); text-transform:uppercase;
  opacity:0; transform:translateY(20px);
  transition:opacity .6s ease .2s,transform .6s ease .2s;
}
.czs-label.visible { opacity:1; transform:translateY(0); }

/* ══════════════ S9 · CAROUSEL (single card) ══════════════ */
#s9 { background:var(--bg); }
.s4-header { max-width:800px; text-align:center; padding:0 24px; margin-bottom:64px; }
.carousel-stage {
  width:100%; display:flex; align-items:center; justify-content:center;
  min-height:340px; position:relative; overflow:hidden;
}
.carousel-track {
  display:flex; align-items:center; justify-content:center;
  width:100%; position:relative;
}
.mentor-card {
  flex-shrink:0; width:360px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius); padding:44px 34px; text-align:center;
  cursor:none; backdrop-filter:blur(28px) saturate(1.3);
  box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,0.10);
  transition:opacity .4s cubic-bezier(.16,1,.3,1),transform .4s cubic-bezier(.16,1,.3,1);
  position:absolute;
}
.mentor-card.center-card {
  position:relative;
  opacity:1; transform:scale(1);
  border-color:var(--glass-border-gold);
  box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 40px rgba(232,167,36,0.15);
}
.mentor-card.card-hidden {
  opacity:0; pointer-events:none; transform:scale(0.85);
}

/* "Você" card */
.voce-card { border-color:rgba(232,167,36,0.5) !important; }
.voce-card.center-card { box-shadow:0 20px 60px rgba(0,0,0,.4),0 0 60px rgba(232,167,36,0.25); }
.voce-badge {
  font-size:10px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold);
  background:var(--gold-dim); border:1px solid var(--gold-dim);
  padding:4px 10px; border-radius:99px; display:inline-block; margin-bottom:8px;
}
.voce-initials { color:#1a1000 !important; font-size:26px !important; }

.mentor-photo-wrap { position:relative; width:96px; height:96px; margin:0 auto 16px; }
.mentor-photo {
  width:96px; height:96px; border-radius:50%;
  object-fit:cover; border:2px solid var(--glass-border-gold);
  background:var(--glass-bg); display:block;
}
.mentor-photo-placeholder {
  width:96px; height:96px; border-radius:50%;
  border:2px solid var(--glass-border-gold);
  display:flex; align-items:center; justify-content:center;
  font-size:26px; font-weight:700; color:var(--white);
}
.mentor-name { font-size:20px; font-weight:600; margin-bottom:8px; }
.mentor-niche { font-size:13px; color:var(--white-dim); margin-bottom:20px; letter-spacing:.06em; }
.mentor-growth { font-size:44px; font-weight:900; color:var(--gold); letter-spacing:-.02em; display:block; margin-bottom:6px; }
.mentor-alunos { font-size:clamp(18px,2.8vw,32px); color:var(--white-dim); letter-spacing:.04em; }
.mentor-alunos span { color:var(--white); font-weight:500; }

.carousel-arrows {
  display:flex; gap:20px; margin-top:32px; justify-content:center; align-items:center;
}
.car-arrow {
  width:52px; height:52px; border-radius:50%;
  background:var(--glass-bg); border:1px solid var(--glass-border);
  color:var(--white); font-size:22px; cursor:none;
  display:flex; align-items:center; justify-content:center;
  transition:background .2s,border-color .2s,opacity .2s;
}
.car-arrow:hover { background:var(--gold-dim); border-color:var(--gold); color:var(--gold); }
.carousel-counter {
  font-size:13px; letter-spacing:.12em; color:var(--white-dim); min-width:60px; text-align:center;
}

/* ══════════════ S10 · AI PHRASE ══════════════ */
/* ══════════════ S-PROOF · HISTÓRIAS REAIS ══════════════ */
#s-proof { background:#000; justify-content:center; gap:0; }

.sproof-inner {
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:40px 24px 24px; z-index:1;
}
.sproof-tag {
  font-size:11px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold-dim); padding:6px 18px; border-radius:99px; margin-bottom:16px;
}
.sproof-title {
  font-size:clamp(24px,3.5vw,46px); font-weight:800; letter-spacing:-.02em; line-height:1.15;
  margin-bottom:32px; max-width:680px;
}
.sproof-stats {
  display:flex; gap:20px; flex-wrap:wrap; justify-content:center;
}
.sproof-stat {
  background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.10);
  border-radius:16px; padding:18px 28px; text-align:center; min-width:150px;
  backdrop-filter:blur(12px);
  transition:border-color .3s, background .3s;
}
.sproof-stat:hover { border-color:var(--gold-dim); background:rgba(232,167,36,0.06); }
.sproof-stat-val {
  font-size:clamp(28px,3.5vw,42px); font-weight:900; color:var(--gold); letter-spacing:-.02em; line-height:1;
}
.sproof-stat-lbl {
  font-size:12px; color:var(--white-dim); letter-spacing:.06em; text-transform:uppercase; margin-top:8px;
}

/* Belt */
.sproof-belt-wrap {
  width:100%; overflow:hidden; padding:28px 0 40px; position:relative;
}
/* fade edges */
.sproof-belt-wrap::before,
.sproof-belt-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:160px; z-index:2; pointer-events:none;
}
.sproof-belt-wrap::before { left:0; background:linear-gradient(to right, #000 0%, transparent 100%); }
.sproof-belt-wrap::after  { right:0; background:linear-gradient(to left,  #000 0%, transparent 100%); }

.sproof-belt-wrap { perspective:1200px; }
.sproof-belt {
  display:flex; gap:24px; width:max-content;
  animation:beltScroll linear infinite;
  animation-duration:50s;
  transform-style:preserve-3d;
}
.sproof-belt-wrap:hover .sproof-belt {
  animation-play-state:paused;
}
@keyframes beltScroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(calc(-1 * var(--belt-single, 2440px))); }
}

/* Cards */
.sproof-card {
  flex-shrink:0; width:220px;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,0.10);
  border-radius:20px; padding:28px 20px 22px;
  text-align:center;
  backdrop-filter:blur(40px) saturate(1.6);
  -webkit-backdrop-filter:blur(40px) saturate(1.6);
  transition:transform .4s cubic-bezier(.16,1,.3,1), border-color .4s, box-shadow .4s;
  position:relative; overflow:hidden;
}
/* Glow strip on hover */
.sproof-card::before {
  content:''; position:absolute; inset:0; border-radius:20px; opacity:0;
  background:radial-gradient(ellipse 80% 60% at 50% 0%, rgba(232,167,36,0.18), transparent 70%);
  transition:opacity .4s;
}
.sproof-card:hover::before { opacity:1; }
.sproof-card:hover {
  transform:translateY(-6px) scale(1.04);
  border-color:rgba(232,167,36,0.4);
  box-shadow:0 16px 48px rgba(0,0,0,.5), 0 0 32px rgba(232,167,36,0.12);
}
.sproof-card-photo-wrap {
  width:80px; height:80px; border-radius:50%; margin:0 auto 14px; overflow:hidden;
  border:2px solid var(--gold-dim);
  box-shadow:0 0 16px rgba(232,167,36,0.2);
}
.sproof-card-photo { width:100%; height:100%; object-fit:cover; display:block; }
.sproof-card-placeholder {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-size:22px; font-weight:700; color:#fff;
}
.sproof-card-name { font-size:14px; font-weight:700; margin-bottom:4px; line-height:1.3; }
.sproof-card-niche { font-size:11px; color:var(--white-dim); letter-spacing:.06em; text-transform:uppercase; margin-bottom:14px; }
.sproof-card-growth {
  font-size:32px; font-weight:900; color:var(--gold); letter-spacing:-.02em; line-height:1; margin-bottom:6px;
}
.sproof-card-alunos { font-size:13px; color:var(--white-dim); }
.sproof-card-alunos span { color:var(--white); font-weight:600; }
.sproof-card.sproof-center {
  transform:translateY(-10px) scale(1.10);
  border-color:rgba(232,167,36,0.55);
  box-shadow:0 24px 64px rgba(0,0,0,.6), 0 0 48px rgba(232,167,36,0.20);
  background:rgba(232,167,36,0.07);
  z-index:2;
}
.sproof-card.sproof-center::before { opacity:1; }

#s10 { background:#000; padding:120px 24px; text-align:center; min-height:100vh; }
#ai-reveal-hint { margin-top:8px; }
#ai-reveal-hint div { animation:hintPulse 2s ease-in-out infinite; }
@keyframes hintPulse {
  0%,100% { opacity:.5; transform:translateY(0); }
  50%      { opacity:1;  transform:translateY(4px); }
}
.ai-loading { display:flex; flex-direction:column; align-items:center; gap:20px; }
.ai-dots { display:flex; gap:8px; }
.ai-dot { width:8px; height:8px; background:var(--gold); border-radius:50%; animation:dotPulse 1.4s infinite; }
.ai-dot:nth-child(2) { animation-delay:.2s; }
.ai-dot:nth-child(3) { animation-delay:.4s; }
.ai-paragraph {
  max-width:820px; font-size:clamp(22px,3vw,34px); font-weight:300;
  line-height:1.6; letter-spacing:-.01em; color:var(--white); text-wrap:pretty;
  animation:phraseEntrance 1s cubic-bezier(.16,1,.3,1) both;
}
@keyframes phraseEntrance {
  from { opacity:0; transform:scale(1.18); filter:blur(12px); }
  to   { opacity:1; transform:scale(1);    filter:blur(0); }
}
.ai-paragraph .word { display:inline-block; opacity:0; transform:translateY(12px); transition:opacity .4s ease,transform .4s ease; }
.ai-paragraph .word.visible { opacity:1; transform:translateY(0); }
.ai-paragraph strong { font-weight:900; color:var(--gold); letter-spacing:.02em; }
.ai-closing {
  margin-top:60px; font-size:20px; font-weight:500; color:var(--gold); letter-spacing:.04em;
  opacity:0; transform:translateY(20px); transition:opacity .8s ease,transform .8s ease;
}
.ai-closing.visible { opacity:1; transform:translateY(0); }

/* ══════════════ S11 · REVENUE ══════════════ */
#s11 {
  background:radial-gradient(ellipse 60% 50% at 50% 50%, rgba(232,167,36,0.08) 0%, var(--bg-dark) 70%);
  padding:100px 24px;
  position:relative;
  overflow:hidden;
}
#s11::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
}
#s11 > * { position:relative; z-index:1; }
.rev-desc {
  max-width:620px; font-size:18px; font-weight:300; color:var(--white-dim);
  line-height:1.7; text-wrap:pretty;
}
.rev-desc strong { color:var(--white); }
.revenue-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; max-width:860px; width:100%; margin-top:52px; }
.revenue-card {
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.12);
  border-radius:var(--radius); padding:48px 32px; text-align:center;
  backdrop-filter:blur(32px) saturate(1.3);
  box-shadow:0 12px 40px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,0.10);
}
.revenue-card:nth-child(3) { border-color:var(--glass-border-gold); box-shadow:0 0 30px rgba(232,167,36,0.1); }
.revenue-period { font-size:13px; letter-spacing:.2em; text-transform:uppercase; color:var(--white-dim); margin-bottom:24px; }
.revenue-value-row {
  display:flex; align-items:baseline; justify-content:center; gap:4px;
}
.revenue-currency {
  font-size:clamp(18px,2.5vw,26px); font-weight:700; color:var(--gold);
}
.revenue-value { font-size:clamp(34px,4.5vw,54px); font-weight:900; color:var(--gold); letter-spacing:-.03em; }
.revenue-footnote {
  max-width:660px; text-align:center; font-size:20px; font-weight:300;
  color:var(--white-dim); margin-top:40px; line-height:1.7;
}

/* ══════════════ S12 · IDENTITY ══════════════ */
#s12 { background:var(--bg-dark); padding:120px 24px; text-align:center; }
.identity-phrase { max-width:900px; width:100%; margin-bottom:100px; }
.identity-final p { animation:identityPulse 2.5s ease-in-out infinite; }
@keyframes identityPulse {
  0%,100% { text-shadow:0 0 0 transparent; }
  50% { text-shadow:0 0 40px rgba(232,167,36,0.3); }
}

/* ══════════════ S13 · AMBIENTE ══════════════ */
#s13 { background:var(--bg-dark); padding:80px 24px; }
.authorities-grid { display:grid; grid-template-columns:repeat(6,1fr); gap:36px; max-width:900px; margin:64px auto 0; }
.authorities-grid .authority-item:nth-child(1) { grid-column:1/3; }
.authorities-grid .authority-item:nth-child(2) { grid-column:3/5; }
.authorities-grid .authority-item:nth-child(3) { grid-column:5/7; }
.authorities-grid .authority-item:nth-child(4) { grid-column:2/4; }
.authorities-grid .authority-item:nth-child(5) { grid-column:4/6; }
.authority-item { display:flex; flex-direction:column; align-items:center; gap:14px; cursor:none; text-align:center; }

/* Glass rectangle photos */
.authority-rect {
  width:140px !important; height:180px !important; border-radius:16px !important;
  overflow:hidden;
  border:1px solid rgba(255,255,255,0.18) !important;
  background:rgba(255,255,255,0.06);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 32px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,0.15);
  position:relative;
}
.authority-photo-rect {
  width:140px !important; height:180px !important; border-radius:0 !important;
  object-fit:cover; object-position:top center;
  border:none !important; display:block; transition:transform .5s ease;
}
.authority-rect-ph {
  width:140px !important; height:180px !important; border-radius:0 !important;
  border:none !important;
  font-size:36px !important;
}
.authority-glass-overlay {
  position:absolute; inset:0; border-radius:16px;
  background:linear-gradient(160deg,rgba(255,255,255,0.10) 0%,transparent 50%,rgba(0,0,0,0.2) 100%);
  pointer-events:none;
}
.authority-glass:hover .authority-photo-rect { transform:scale(1.06); }
.authority-glass { animation:authorityFloat var(--float-dur,6s) ease-in-out infinite; }
.authority-glass:nth-child(1){ --float-dur:6.2s; }
.authority-glass:nth-child(2){ --float-dur:7.1s; animation-delay:-.8s; }
.authority-glass:nth-child(3){ --float-dur:6.8s; animation-delay:-1.4s; }
.authority-glass:nth-child(4){ --float-dur:7.4s; animation-delay:-2s; }
.authority-glass:nth-child(5){ --float-dur:6.5s; animation-delay:-3s; }
@keyframes authorityFloat {
  0%,100% { transform:translateY(0); }
  50%      { transform:translateY(-8px); }
}

.authority-photo-wrap { width:110px; height:110px; position:relative; }
.authority-photo {
  width:110px; height:110px; border-radius:50%; object-fit:cover;
  border:2px solid var(--gold-2); background:var(--glass-bg);
  transition:transform .3s,box-shadow .3s,border-color .3s; display:block;
}
.authority-photo:hover { transform:scale(1.06); box-shadow:0 0 24px rgba(232,167,36,0.3); border-color:var(--gold); }
.authority-photo-placeholder {
  width:110px; height:110px; border-radius:50%;
  border:2px solid var(--gold-2);
  display:flex; align-items:center; justify-content:center;
  font-size:32px; font-weight:700; color:var(--gold);
}
.authority-name { font-size:15px; font-weight:600; }
.authority-role { font-size:12px; color:var(--white-dim); letter-spacing:.04em; }
.authorities-subtitle {
  margin-top:56px; font-size:clamp(18px,2.5vw,26px); font-weight:300;
  color:var(--white-dim); text-align:center; font-style:italic;
  letter-spacing:.02em;
}

/* ══════════════ S-TYPING ══════════════ */
#s-typing { background:#000; text-align:center; padding:80px 40px; }
.typing-text {
  max-width:820px; font-size:clamp(24px,3.8vw,52px); font-weight:700;
  line-height:1.35; letter-spacing:-.02em; color:var(--white);
  display:inline; text-wrap:pretty;
}
.typing-cursor {
  display:inline-block; color:var(--gold); font-weight:300;
  font-size:clamp(24px,3.8vw,52px); margin-left:2px;
  animation:blinkCursor .7s step-end infinite;
}
@keyframes blinkCursor { 0%,100%{opacity:1} 50%{opacity:0} }

/* ══════════════ S14 · EMPIRE LOGO ══════════════ */
/* ══════════════ S14 · EMPIRE LOGO ══════════════ */
#s14 {
  background:radial-gradient(ellipse 120% 80% at 50% 60%, #0a0500 0%, #000000 60%);
  position:relative; overflow:hidden;
}
.empire-bg-orb {
  position:absolute; border-radius:50%; pointer-events:none; filter:blur(80px);
}
.empire-bg-orb.orb1 {
  width:600px; height:600px; top:-150px; left:-100px;
  background:radial-gradient(circle, rgba(232,167,36,0.18) 0%, transparent 70%);
  animation:orbDrift1 8s ease-in-out infinite;
}
.empire-bg-orb.orb2 {
  width:500px; height:500px; bottom:-100px; right:-80px;
  background:radial-gradient(circle, rgba(180,120,20,0.14) 0%, transparent 70%);
  animation:orbDrift2 10s ease-in-out infinite;
}
.empire-bg-orb.orb3 {
  width:400px; height:400px; top:50%; left:50%; transform:translate(-50%,-50%);
  background:radial-gradient(circle, rgba(255,200,60,0.08) 0%, transparent 60%);
  animation:orbDrift3 6s ease-in-out infinite;
}
@keyframes orbDrift1 {
  0%,100% { transform:translate(0,0) scale(1); }
  50% { transform:translate(60px,40px) scale(1.1); }
}
@keyframes orbDrift2 {
  0%,100% { transform:translate(0,0) scale(1); }
  50% { transform:translate(-50px,-30px) scale(1.15); }
}
@keyframes orbDrift3 {
  0%,100% { transform:translate(-50%,-50%) scale(1); opacity:.6; }
  50% { transform:translate(-50%,-50%) scale(1.3); opacity:1; }
}
.empire-hero-tag {
  font-size:12px; letter-spacing:.3em; text-transform:uppercase; color:var(--gold);
  border:1px solid var(--gold-dim); padding:8px 20px; border-radius:99px; margin-bottom:32px;
  position:relative; z-index:1;
}
.empire-hero-logo {
  font-size:clamp(80px,18vw,220px); font-weight:900; letter-spacing:.05em;
  background:linear-gradient(135deg,var(--gold),var(--gold-2),#fff8e0,var(--gold));
  background-size:200% 200%;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; position:relative; z-index:1;
  animation:logoShine 4s ease-in-out infinite;
}
@keyframes logoShine {
  0%,100% { background-position:0% 50%; }
  50% { background-position:100% 50%; }
}
.empire-hero-sub {
  font-size:18px; font-weight:300; letter-spacing:.12em; text-transform:uppercase;
  color:var(--white-dim); margin-top:24px; position:relative; z-index:1;
}
.empire-hero-glow {
  position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 70% 50% at 50% 50%,rgba(232,167,36,0.10) 0%,transparent 70%);
  animation:empireGlow 3s ease-in-out infinite;
}
@keyframes empireGlow {
  0%,100% { opacity:1; }
  50% { opacity:0.4; }
}

/* ══════════════ S15 · EMPIRE MENTORES ══════════════ */
#s15 {
  background:radial-gradient(ellipse 80% 60% at 50% 50%, #0d0d0d 0%, #000000 70%);
  position:relative; overflow:hidden;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:80px 24px;
}
#s15 > * { position:relative; z-index:1; }
.empire-circle-grid {
  display:flex; flex-wrap:wrap; gap:40px 48px;
  justify-content:center; align-items:flex-start;
  max-width:900px; margin-top:56px;
}
.empire-circle-mentor {
  display:flex; flex-direction:column; align-items:center; gap:14px;
  animation:floatMentor 4s ease-in-out infinite;
  animation-delay:var(--delay,0s);
}
@keyframes floatMentor {
  0%,100% { transform:translateY(0px); }
  50% { transform:translateY(-8px); }
}
.empire-circle-wrap {
  width:110px; height:110px; border-radius:50%; overflow:hidden;
  border:2px solid var(--gold-dim);
  box-shadow:0 0 20px rgba(232,167,36,0.15), 0 4px 20px rgba(0,0,0,.5);
  transition:border-color .3s, box-shadow .3s;
  position:relative;
}
.empire-circle-mentor:hover .empire-circle-wrap {
  border-color:var(--gold);
  box-shadow:0 0 32px rgba(232,167,36,0.35), 0 4px 24px rgba(0,0,0,.6);
}
.empire-circle-wrap img {
  width:100%; height:100%; object-fit:cover; display:block;
}
.empire-circle-placeholder {
  display:none; width:100%; height:100%;
  align-items:center; justify-content:center;
  background:var(--glass-bg); font-size:22px; font-weight:700; color:var(--gold);
}
.empire-circle-wrap img[style*="display:none"] + .empire-circle-placeholder { display:flex; }
.empire-circle-name {
  font-size:13px; font-weight:500; color:var(--white-dim);
  text-align:center; max-width:110px; line-height:1.3;
}

/* ══════════════ S17 · EMPIRE PREÇO (inverted) ══════════════ */
#s17 { background:var(--bg); }
.empire-price-box {
  max-width:600px; width:100%;
  background:linear-gradient(135deg,rgba(232,167,36,0.10),rgba(201,168,76,0.06));
  border:1px solid rgba(232,167,36,0.3); border-radius:20px; padding:60px; text-align:center;
  backdrop-filter:blur(30px); box-shadow:0 16px 50px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,0.10);
}
.empire-price-label { font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--gold); margin-bottom:24px; }
.empire-price-from {
  font-size:22px; color:var(--white-dim); text-decoration:line-through;
  text-decoration-color:rgba(248,246,242,0.5); margin-bottom:12px;
}
.empire-price-cash {
  font-size:clamp(52px,9vw,110px); font-weight:900; letter-spacing:-.04em;
  color:var(--white); line-height:1; margin-bottom:6px;
}
.empire-price-avista { font-size:15px; color:var(--white-dim); margin-bottom:20px; }
.empire-price-or { font-size:14px; color:var(--white-dim); margin-bottom:10px; }
.empire-price-main { font-size:clamp(20px,2.8vw,32px); font-weight:500; color:var(--gold-2); }

/* ══════════════ S27 · CHECKLIST ══════════════ */
#s27 { background:var(--bg-dark); }
.checklist-grid {
  display:grid; grid-template-columns:repeat(2,1fr); gap:0;
  max-width:820px; width:100%;
}
.checklist-item {
  display:flex; align-items:center; gap:16px;
  padding:22px 24px; border-bottom:1px solid rgba(255,255,255,0.07);
  font-size:18px; font-weight:300; line-height:1.4;
  transition:background .2s;
}
.checklist-item:nth-child(odd) { border-right:1px solid rgba(255,255,255,0.07); }
.checklist-item:hover { background:rgba(255,255,255,0.03); }
.checklist-icon { color:var(--gold); font-size:14px; flex-shrink:0; }

/* ══════════════ S28 · PORTRAIT VIDEO ══════════════ */
#s28 {
  background:radial-gradient(ellipse 80% 60% at 50% 50%, #1a1a1a 0%, #000000 70%);
  position:relative;
  overflow:hidden;
}
#s28::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
}
#s28 > * { position:relative; z-index:1; }
.video-portrait-wrap {
  width:320px; aspect-ratio:9/16;
  border-radius:20px; overflow:hidden;
  border:1px solid var(--glass-border-gold); background:#111;
  display:flex; align-items:center; justify-content:center;
  position:relative; box-shadow:0 0 60px rgba(232,167,36,0.1);
}
.video-portrait-wrap .video-placeholder {
  display:flex; flex-direction:column; align-items:center; gap:16px;
  color:var(--white-dim); width:100%; height:100%;
  justify-content:center;
}
.video-fullscreen-btn {
  position:absolute; bottom:16px; right:16px;
  width:40px; height:40px; border-radius:10px;
  background:rgba(0,0,0,0.6); border:1px solid rgba(255,255,255,0.2);
  cursor:none; align-items:center; justify-content:center;
  transition:background .2s; z-index:10;
}
.video-fullscreen-btn svg { fill:white; width:20px; height:20px; }
.video-fullscreen-btn:hover { background:rgba(232,167,36,0.3); border-color:var(--gold); }

/* ══════════════ S29 · FRASE ══════════════ */
#s29 { background:var(--bg-dark); text-align:center; }
.closing-phrase-big {
  max-width:820px; font-size:clamp(24px,3.5vw,46px); font-weight:500;
  line-height:1.45; color:var(--white-dim); font-style:italic;
}
.closing-phrase-big em { color:var(--white); font-style:normal; font-weight:700; }

/* ══════════════ S31 · CLOSING ══════════════ */
#s31 { text-align:center; }
.closing-hero-title {
  font-size:clamp(36px,6vw,80px); font-weight:900; letter-spacing:-.04em; line-height:1.1; margin-bottom:24px;
  opacity:0; transform:translateY(24px);
  transition:opacity .4s ease, transform .4s ease;
}
.closing-hero-title.visible { opacity:1; transform:translateY(0); }
.closing-sub {
  font-size:clamp(16px,2vw,22px); font-weight:300; color:var(--white-dim); margin-bottom:80px;
  opacity:0; transform:translateY(16px); transition:opacity .35s ease .15s, transform .35s ease .15s;
}
.closing-sub.visible { opacity:1; transform:translateY(0); }
.closing-footer-logo {
  margin-top:auto; padding-top:40px;
  opacity:0; transform:scale(0.9); transition:opacity .35s ease .25s, transform .35s ease .25s;
}
.closing-footer-logo.visible { opacity:1; transform:scale(1); }
.closing-nexus-logo { width:160px; filter:brightness(0) invert(1) opacity(.5); display:block; margin:0 auto; }
.closing-nexus-placeholder {
  font-size:40px; font-weight:900; letter-spacing:.08em; color:rgba(255,255,255,0.3);
}
.closing-tagline {
  font-size:14px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-top:20px;
  opacity:0; transform:translateY(20px); transition:opacity .8s ease .8s,transform .8s ease .8s;
}
.closing-tagline.visible { opacity:1; transform:translateY(0); }

/* ══════════════ S18 · SELECTUS LOGO ══════════════ */
#s18 {
  background:radial-gradient(ellipse 80% 60% at 50% 50%, #1a1a1a 0%, #000000 70%);
  position:relative;
  overflow:hidden;
}
#s18::before {
  content:'';
  position:absolute;
  inset:0;
  pointer-events:none;
}
#s18 > * { position:relative; z-index:1; }
.selectus-hero-logo {
  width:clamp(240px,50vw,580px); filter:brightness(0) invert(1);
  display:block; margin-bottom:32px;
}
.selectus-logo-placeholder {
  font-size:clamp(40px,8vw,100px); font-weight:900; letter-spacing:.1em;
  color:var(--gold); margin-bottom:32px;
}
.selectus-hero-sub {
  font-size:clamp(16px,2.2vw,24px); font-weight:300; letter-spacing:.08em;
  color:var(--white-dim); margin-bottom:24px;
}
.selectus-hero-tag {
  font-size:11px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); border:1px solid var(--gold-dim);
  padding:6px 16px; border-radius:99px; margin-top:16px;
}

/* ══════════════ S16 · EMPIRE ENTREGÁVEIS ══════════════ */
#s16 { background:var(--bg-dark); }
.empire-benefits { max-width:560px; width:100%; }
.empire-benefit-item {
  display:flex; align-items:center; gap:14px;
  padding:16px 0; border-bottom:1px solid rgba(255,255,255,0.06);
  font-size:17px; font-weight:300;
}
.empire-benefit-item:last-child { border-bottom:none; }
.empire-check { color:var(--gold); font-size:16px; flex-shrink:0; }

/* ══════════════ S19–S26 · SELECTUS BENEFÍCIOS (enhanced) ══════════════ */
.selectus-benefit-section {
  flex-direction:row; padding:0; background:var(--bg-dark);
}
.sb-left {
  flex:1; height:100vh; overflow:hidden; position:relative;
}
.sb-img {
  width:100%; height:100%; object-fit:cover; object-position:center;
  display:block;
  border-radius:0;
  opacity:0; transform:translateX(-80px) scale(1.04);
  transition:opacity 1.4s cubic-bezier(.16,1,.3,1),transform 1.4s cubic-bezier(.16,1,.3,1),filter 1.4s ease;
  filter:blur(6px);
  box-shadow:12px 0 48px rgba(0,0,0,.5);
}
.sb-reversed .sb-img {
  transform:translateX(80px) scale(1.04);
}
.sb-img.revealed { opacity:1; transform:translateX(0) scale(1); filter:blur(0); }
.sb-img-placeholder {
  width:100%; height:100%;
  display:flex; align-items:center; justify-content:center;
  font-size:80px; background:var(--glass-bg);
}
/* Glass frame overlay on images */
.sb-left::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  border-radius:0;
  background:linear-gradient(to right, rgba(0,14,37,0.15) 0%, transparent 30%);
  box-shadow:inset 0 0 0 1px rgba(232,167,36,0.12);
}
.sb-reversed .sb-left::after {
  background:linear-gradient(to left, rgba(0,14,37,0.15) 0%, transparent 30%);
}
.sb-reversed { flex-direction:row-reverse; }
.sb-right {
  flex:0 0 42%; padding:80px 60px;
  display:flex; flex-direction:column; justify-content:center;
  background:linear-gradient(90deg,rgba(0,14,37,0.2) 0%,var(--bg-dark) 30%);
}
.sb-reversed .sb-right {
  background:linear-gradient(270deg,rgba(0,14,37,0.2) 0%,var(--bg-dark) 30%);
}
.video-section-title {
  font-size:clamp(22px,3vw,36px); font-weight:700; letter-spacing:-.02em;
  color:var(--white); text-align:center; max-width:700px;
}
.sb-num {
  font-size:clamp(80px,12vw,160px); font-weight:900; color:rgba(232,167,36,0.12);
  letter-spacing:-.05em; line-height:1; margin-bottom:-20px;
}
.sb-title {
  font-size:clamp(22px,3vw,38px); font-weight:700; line-height:1.3; letter-spacing:-.02em;
  color:var(--white);
}

/* ══════════════ S27 · TODOS ENTREGÁVEIS ══════════════ */
#s27 { background:var(--bg-dark); }
.benefits-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; max-width:1100px; width:100%; margin-bottom:0; }
.benefit-card {
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.11);
  border-radius:16px; padding:24px 18px; text-align:center;
  backdrop-filter:blur(30px);
  box-shadow:0 8px 28px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,0.10);
  transition:transform .3s,border-color .3s;
}
.benefit-card:hover { transform:translateY(-6px) scale(1.03); border-color:var(--glass-border-gold); }
.benefit-img { width:56px; height:56px; object-fit:contain; margin:0 auto 14px; display:block; }
.benefit-img-placeholder {
  width:56px; height:56px; border-radius:12px; margin:0 auto 14px;
  background:var(--gold-dim); display:flex; align-items:center; justify-content:center; font-size:24px;
}
.benefit-name { font-size:13px; font-weight:500; line-height:1.4; }

/* ══════════════ S28 · VÍDEO ══════════════ */
#s28 { background:#000; }
.selectus-video-wrap {
  max-width:780px; width:92%;
  border-radius:20px; overflow:hidden;
  border:1px solid var(--glass-border-gold); background:#000;
  aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
}
.selectus-video-wrap video { width:100%; display:block; }
.video-placeholder { display:flex; flex-direction:column; align-items:center; gap:16px; color:var(--white-dim); }
.video-play-btn {
  width:80px; height:80px; border-radius:50%;
  background:var(--gold-dim); border:2px solid var(--gold);
  display:flex; align-items:center; justify-content:center; cursor:none;
  transition:background .2s,transform .2s;
}
.video-play-btn:hover { background:rgba(232,167,36,0.3); transform:scale(1.08); }
.video-play-btn svg { fill:var(--gold); width:32px; }

/* ══════════════ S29 · FRASE ══════════════ */
#s29 { background:var(--bg-dark); text-align:center; }
.closing-phrase-big {
  max-width:820px; font-size:clamp(24px,3.5vw,46px); font-weight:500;
  line-height:1.45; color:var(--white-dim); font-style:italic;
}
.closing-phrase-big em { color:var(--white); font-style:normal; font-weight:700; }

/* ══════════════ S30 · PREÇO SELECTUS ══════════════ */
#s30 { background:var(--bg); }
.price-hero { text-align:center; }
.price-hero-from { font-size:18px; color:var(--white-dim); text-decoration:line-through; margin-bottom:32px; }
.price-hero-installments { margin:40px 0; }
.price-installment-label { font-size:clamp(32px,4.5vw,52px); font-weight:500; color:var(--white-dim); margin-bottom:12px; letter-spacing:.08em; }
.price-installment-amount { font-size:clamp(96px,16vw,220px); font-weight:900; letter-spacing:-.04em; line-height:1; }
.price-main-value { font-size:1em; font-weight:900; color:var(--gold); }
.price-cents { font-size:.50em; font-weight:400; color:var(--gold-2); vertical-align:super; }
.price-hero-cash { font-size:clamp(40px,6vw,80px); font-weight:700; color:var(--gold); margin-top:32px; }

/* ══════════════ S31 · CLOSING ══════════════ */
#s31 { text-align:center; }
.closing-content { text-align:center; max-width:720px; }
.closing-nexus-logo {
  width:140px; filter:brightness(0) invert(1);
  display:block; margin:0 auto;
}
.closing-nexus-placeholder {
  font-size:52px; font-weight:900; letter-spacing:.08em; color:var(--white);
  opacity:0; transition:opacity 1s ease .5s;
}
.closing-nexus-placeholder.visible { opacity:1; }
.closing-tagline {
  font-size:14px; letter-spacing:.22em; text-transform:uppercase; color:var(--gold); margin-top:20px;
  opacity:0; transform:translateY(20px); transition:opacity .8s ease .8s,transform .8s ease .8s;
}
.closing-tagline.visible { opacity:1; transform:translateY(0); }

/* ══════════════ MODAL ══════════════ */
.modal-overlay {
  position:fixed; inset:0; z-index:9000; background:rgba(0,0,0,0.9);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .3s ease;
  backdrop-filter:blur(10px);
}
.modal-overlay.open { opacity:1; pointer-events:all; }
.modal-inner {
  max-width:900px; width:90%; border-radius:20px; overflow:hidden;
  background:#000; border:1px solid var(--glass-border-gold);
  transform:scale(.93); transition:transform .3s ease;
}
.modal-overlay.open .modal-inner { transform:scale(1); }
.modal-inner video { width:100%; display:block; aspect-ratio:16/9; }
.modal-inner .no-video {
  aspect-ratio:16/9; display:flex; align-items:center; justify-content:center;
  color:var(--white-dim); font-size:15px; flex-direction:column; gap:12px;
}
.modal-close {
  position:absolute; top:20px; right:20px;
  width:40px; height:40px; border-radius:50%;
  background:rgba(255,255,255,0.1); border:none; cursor:none;
  display:flex; align-items:center; justify-content:center;
  color:white; font-size:20px; transition:background .2s; z-index:1;
}
.modal-close:hover { background:rgba(255,255,255,0.2); }

/* ══════════════ PARTICLES ══════════════ */
.particle {
  position:absolute; border-radius:50%; background:var(--gold); opacity:0;
  animation:float var(--dur,8s) var(--delay,0s) infinite linear;
}

/* ══════════════ ANIMATIONS ══════════════ */
@keyframes scrollBounce {
  0%,100% { transform:translateY(0) rotate(45deg); }
  50% { transform:translateY(8px) rotate(45deg); }
}
@keyframes dotPulse {
  0%,100% { transform:scale(1); opacity:1; }
  50% { transform:scale(.5); opacity:.4; }
}
@keyframes float {
  0% { transform:translateY(100vh) scale(1); opacity:0; }
  10% { opacity:var(--max-opacity,0.4); }
  90% { opacity:var(--max-opacity,0.4); }
  100% { transform:translateY(-20px) scale(.5); opacity:0; }
}
@keyframes pulse-glow {
  0%,100% { opacity:1; transform:translateX(-50%) scale(1); }
  50% { opacity:.6; transform:translateX(-50%) scale(1.15); }
}
@keyframes slideUp {
  from { transform:translateX(-50%) translateY(20px); opacity:0; }
  to { transform:translateX(-50%) translateY(0); opacity:1; }
}
@keyframes slideDown {
  from { transform:translateX(-50%) translateY(0); opacity:1; }
  to { transform:translateX(-50%) translateY(20px); opacity:0; }
}
