/* ═══════════════════════════════════════════════════════════════════════
   CLIX DENTAL — AI PASS FUNNEL
   Shared stylesheet (page 1 landing · page 2 booking · page 3 thank-you)
   Adapted from the clixdental.com design system. Three.js / HUD / intro
   overlay intentionally dropped for ad-funnel load speed.
   ═══════════════════════════════════════════════════════════════════════ */

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

:root {
  --bg:         #0A1838;
  --navy:       #112250;
  --navy-2:     #1A2B5C;
  --sapphire:   #3C507D;
  --gold:       #E0C58F;
  --gold-soft:  #D4B778;
  --gold-deep:  #B8995A;
  --cream:      #F5F0E9;
  --shell:      #D9CBC2;
  --text:       #BBC5DD;
  --text-2:     #E2E9F4;
  --border:     rgba(224,197,143,0.18);
  --border-2:   rgba(224,197,143,0.38);
  --card-bg:    rgba(17,34,80,0.38);
}

html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body {
  background:var(--bg);
  color:var(--cream);
  font-family:'Inter',sans-serif;
  font-weight:500;
  line-height:1.65;
  overflow-x:hidden;
  cursor:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
@media (hover:none), (pointer:coarse) {
  body, a, button { cursor:auto !important; }
  #cDot, #cRing { display:none !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration:0.01ms !important; animation-iteration-count:1 !important; transition-duration:0.01ms !important; scroll-behavior:auto !important; }
  .rv { opacity:1 !important; transform:none !important; }
}
h1,h2,h3,h4 { font-family:'Montserrat',sans-serif; font-weight:700; letter-spacing:-0.02em; line-height:1.1; }
em { font-style:italic; color:var(--gold); font-family:'Montserrat',sans-serif; }
a { cursor:none; }

/* Cursor */
#cDot  { position:fixed; width:5px; height:5px; background:var(--gold); border-radius:50%; pointer-events:none; z-index:9999; transform:translate(-50%,-50%); mix-blend-mode:screen; }
#cRing { position:fixed; width:34px; height:34px; border:1px solid rgba(224,197,143,0.4); border-radius:50%; pointer-events:none; z-index:9998; transform:translate(-50%,-50%); transition:width .3s,height .3s,border-color .3s; }
#cRing.hover { width:60px; height:60px; border-color:var(--gold); }

/* Progress */
#pbar { position:fixed; top:0; left:0; height:2px; background:linear-gradient(90deg,var(--gold-soft),var(--gold),var(--gold-soft)); z-index:10000; width:0; transition:width .05s; }

/* BG gradient (CSS-only — replaces the heavy Three.js canvas for speed) */
body::before {
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background:
    radial-gradient(ellipse at 18% 8%, rgba(60,80,125,0.45), transparent 52%),
    radial-gradient(ellipse at 82% 92%, rgba(17,34,80,0.7), transparent 55%),
    radial-gradient(ellipse at 50% 50%, rgba(224,197,143,0.055), transparent 62%);
}

/* NAV */
#nav { position:fixed; top:0; left:0; right:0; z-index:100; display:flex; align-items:center; justify-content:space-between; padding:22px 48px; transition:padding .3s, background .3s, backdrop-filter .3s, border-color .3s; }
#nav.sticky { padding:14px 48px; background:rgba(10,24,56,0.78); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); border-bottom:1px solid var(--border); }
.nav-logo { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--cream); }
.nav-logo .logo-mark { flex-shrink:0; height:48px; width:auto; max-width:180px; object-fit:contain; transition:transform .5s cubic-bezier(.16,1,.3,1), filter .4s ease; filter:drop-shadow(0 2px 14px rgba(0,0,0,0.4)); }
.nav-logo:hover .logo-mark { transform:scale(1.04); filter:drop-shadow(0 4px 18px rgba(224,197,143,0.35)); }
@media (max-width:700px) { .nav-logo .logo-mark { height:38px; max-width:140px; } }
.nav-ig { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid var(--border); border-radius:50%; color:var(--text-2); margin-right:8px; transition:color .35s, border-color .35s, background .35s, transform .45s cubic-bezier(.16,1,.3,1); }
.nav-ig:hover { color:var(--gold); border-color:var(--gold); background:rgba(224,197,143,0.08); transform:translateY(-2px); }
.nav-ig svg { width:16px; height:16px; display:block; }
@media (max-width:700px) { .nav-ig { width:34px; height:34px; margin-right:6px; } }
.nav-btn { position:relative; padding:12px 22px; border:1px solid var(--gold); background:transparent; color:var(--gold); text-decoration:none; font-size:11.5px; font-weight:600; letter-spacing:0.12em; text-transform:uppercase; transition:background .4s ease, color .4s ease, box-shadow .4s ease, transform .4s cubic-bezier(.16,1,.3,1); overflow:hidden; }
.nav-btn:hover { background:var(--gold); color:var(--navy); box-shadow:0 8px 28px rgba(224,197,143,0.32); }
@media (max-width:900px) { #nav { padding:18px 20px; } #nav.sticky { padding:12px 20px; } .nav-btn { padding:10px 16px; font-size:10.5px; } }
@media (max-width:420px) { .nav-btn { font-size:9.5px; letter-spacing:0.08em; padding:9px 12px; } }

/* Sections */
section { position:relative; z-index:2; padding:60px 32px; max-width:1200px; margin:0 auto; text-align:center; }
section > .rv, section > div { margin-left:auto; margin-right:auto; }
@media (max-width:900px) { section { padding:48px 20px; } }
@media (max-width:600px) { section { padding:40px 18px; } }

.eyebrow { font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; letter-spacing:0.26em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; display:inline-block; }
.eyebrow::before { content:'— '; }
.eyebrow::after { content:' —'; }

.sec-h2 { margin-left:auto; margin-right:auto; }
.sec-sub { margin-left:auto; margin-right:auto; }

/* Step indicator (funnel progress) */
.steps { display:flex; align-items:center; justify-content:center; gap:10px; margin:0 auto 40px; padding-top:8px; flex-wrap:wrap; }
.step { display:flex; align-items:center; gap:9px; font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--text); }
.step .dot { width:24px; height:24px; border-radius:50%; border:1px solid var(--border); display:flex; align-items:center; justify-content:center; font-size:11px; color:var(--text); transition:all .4s; }
.step.active { color:var(--gold); }
.step.active .dot { border-color:var(--gold); background:rgba(224,197,143,0.12); color:var(--gold); box-shadow:0 0 0 4px rgba(224,197,143,0.08); }
.step.done .dot { border-color:var(--gold-deep); background:var(--gold); color:var(--navy); }
.step-sep { width:26px; height:1px; background:var(--border); }
@media (max-width:560px) { .step span.lbl { display:none; } .step-sep { width:16px; } }

/* HERO */
#hero { min-height:100vh; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; padding:150px 32px 80px; position:relative; overflow:hidden; max-width:none; width:100%; }
.hero-bg { position:absolute; inset:0; z-index:-1; overflow:hidden; }
.hero-bg video, .hero-bg img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.hero-bg::after {
  content:''; position:absolute; inset:0;
  background:
    linear-gradient(180deg, rgba(10,24,56,0.55) 0%, rgba(10,24,56,0.7) 60%, rgba(10,24,56,0.95) 100%),
    radial-gradient(ellipse at 50% 50%, transparent 0%, rgba(17,34,80,0.55) 70%);
}
#hero > *:not(.hero-bg) { position:relative; z-index:1; }
.hero-tag { display:inline-block; padding:8px 18px; border:1px solid var(--border); border-radius:100px; font-size:11.5px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:30px; background:rgba(224,197,143,0.05); opacity:0; animation:rUp .9s .2s ease forwards; }
.hero-h1 { font-size:clamp(34px, 5.6vw, 68px); font-weight:800; line-height:1.06; letter-spacing:-0.035em; color:var(--cream); margin-bottom:24px; opacity:0; animation:rUp .9s .4s ease forwards; max-width:1040px; }
.hero-h1 em { color:var(--gold); font-style:italic; font-weight:700; }
.hero-sub { font-size:clamp(16px, 1.5vw, 21px); font-weight:500; color:var(--text-2); max-width:760px; line-height:1.6; margin-bottom:40px; opacity:0; animation:rUp .9s .6s ease forwards; }
.hero-sub em { color:var(--gold); font-style:italic; }
.hero-ctas { display:flex; gap:18px; flex-wrap:wrap; justify-content:center; opacity:0; animation:rUp .9s .8s ease forwards; }
.btn-primary { padding:18px 34px; background:linear-gradient(135deg, var(--gold-soft), var(--gold) 50%, var(--gold-soft)); color:var(--navy); text-decoration:none; font-size:13px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; border:1px solid var(--gold); transition:box-shadow .45s ease, transform .45s cubic-bezier(.16,1,.3,1), filter .45s ease; display:inline-block; box-shadow:0 4px 18px rgba(224,197,143,0.18), inset 0 1px 0 rgba(255,255,255,0.25); cursor:none; }
.btn-primary:hover { filter:brightness(1.06); box-shadow:0 18px 56px rgba(224,197,143,0.4), inset 0 1px 0 rgba(255,255,255,0.4); }
.btn-ghost { padding:16px 24px; background:transparent; color:var(--cream); text-decoration:none; font-size:12.5px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; border-bottom:1px solid var(--border); transition:color .35s, border-color .35s, letter-spacing .35s; display:inline-block; }
.btn-ghost:hover { color:var(--gold); border-color:var(--gold); letter-spacing:0.16em; }
.hero-stats { display:flex; gap:56px; margin-top:74px; flex-wrap:wrap; justify-content:center; opacity:0; animation:rUp .9s 1s ease forwards; }
.hero-stat { text-align:center; }
.hero-stat b { display:block; font-family:'Montserrat',sans-serif; font-size:clamp(28px, 5vw, 40px); color:var(--gold); font-weight:600; letter-spacing:-0.01em; line-height:1; margin-bottom:8px; transition:text-shadow .5s; }
.hero-stat:hover b { text-shadow:0 0 28px rgba(224,197,143,0.4); }
.hero-stat span { font-size:11px; font-weight:600; color:var(--text-2); letter-spacing:0.18em; text-transform:uppercase; font-family:'JetBrains Mono',monospace; }
@media (max-width:700px) {
  #hero { padding-top:128px; padding-bottom:60px; }
  .hero-stats { gap:28px; margin-top:52px; }
  .hero-stat span { font-size:9.5px; letter-spacing:0.16em; }
  .hero-tag { font-size:10px; padding:7px 14px; }
  .hero-ctas { gap:12px; flex-direction:column; width:100%; max-width:360px; }
  .hero-ctas .btn-primary, .hero-ctas .btn-ghost { width:100%; text-align:center; }
}
@keyframes rUp { from{opacity:0; transform:translateY(28px);} to{opacity:1; transform:translateY(0);} }

/* Reveal */
.rv { opacity:0; transform:translateY(40px); transition:opacity 1.1s cubic-bezier(.16,1,.3,1), transform 1.1s cubic-bezier(.16,1,.3,1); transition-delay:var(--rv-delay,0ms); will-change:opacity, transform; }
.rv.in { opacity:1; transform:translateY(0); }

/* Gold shine sweep */
.shine { position:relative; overflow:hidden; isolation:isolate; }
.shine::after {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(115deg, transparent 25%, rgba(255,250,235,0.16) 46%, rgba(224,197,143,0.26) 50%, rgba(255,250,235,0.16) 54%, transparent 75%);
  transform:translateX(-140%);
  transition:transform 2.2s cubic-bezier(.4,.05,.2,1);
  mix-blend-mode:screen;
  z-index:1;
}
.shine:hover::after,
.shine.in::after { transform:translateX(140%); }
.shine > * { position:relative; z-index:2; }
.btn-primary.shine::after, .btn-submit.shine::after {
  background:linear-gradient(115deg, transparent 28%, rgba(255,255,255,0.55) 50%, transparent 72%);
  mix-blend-mode:overlay;
}

/* Logo bar — infinite marquee */
.logo-bar { position:relative; z-index:2; padding:44px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); text-align:center; overflow:hidden; }
.logo-bar-label { font-family:'JetBrains Mono',monospace; font-size:10px; letter-spacing:0.3em; color:var(--text); text-transform:uppercase; margin-bottom:30px; padding:0 32px; }
.logo-marquee { position:relative; overflow:hidden; mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%); -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 8%, black 92%, transparent 100%); }
.logo-track { display:flex; align-items:center; width:max-content; }
.logo-track img { height:48px; width:auto; max-width:200px; object-fit:contain; filter:brightness(0) invert(1); opacity:0.55; transition:opacity .4s ease, filter .4s ease, transform .4s ease; flex-shrink:0; margin-right:72px; }
.logo-track img:hover { opacity:1; filter:brightness(0) invert(1) drop-shadow(0 0 16px rgba(224,197,143,0.5)); transform:scale(1.06); }
@media (max-width:700px) { .logo-track img { height:36px; max-width:140px; margin-right:48px; } }

/* H2 */
.sec-h2 { font-size:clamp(30px, 4.2vw, 54px); line-height:1.08; color:var(--cream); margin-bottom:22px; font-weight:700; letter-spacing:-0.025em; }
.sec-h2 em { color:var(--gold); font-style:italic; }
.sec-sub { font-size:17px; font-weight:500; color:var(--text-2); max-width:720px; line-height:1.65; margin-bottom:64px; }
.sec-sub em { color:var(--gold); font-style:italic; }

/* Chaos → Order stack */
.stack { margin:30px auto 0; max-width:960px; }
.stack-head { display:flex; justify-content:center; align-items:center; gap:16px; margin-bottom:22px; flex-wrap:wrap; }
.stack-tag { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; padding:6px 12px; border:1px solid var(--border); }
.stack-tag-bad { color:#F2BFB5; border-color:rgba(232,168,158,0.5); background:rgba(232,168,158,0.08); }
.stack-tag-good { color:var(--gold); border-color:var(--border-2); background:rgba(224,197,143,0.1); }
.stack-count { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.18em; color:var(--text-2); text-transform:uppercase; }
.stack-chaos { display:grid; grid-template-columns:repeat(3, 1fr); gap:12px; padding:26px; border:1.5px dashed rgba(232,168,158,0.3); border-radius:14px; background:rgba(232,168,158,0.02); }
.chaos-node { padding:18px 16px; border:1px dashed rgba(232,168,158,0.55); border-radius:8px; color:var(--cream); font-size:14.5px; font-weight:600; letter-spacing:0.005em; background:rgba(60,80,125,0.22); text-align:center; transition:transform .4s, border-color .3s; }
.chaos-node:hover { border-color:rgba(232,168,158,0.9); transform:translateY(-2px); }
.chain-caption { text-align:center; font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; letter-spacing:0.2em; color:#F2BFB5; text-transform:uppercase; margin:22px 0 0; }
.stack-divider { display:flex; align-items:center; gap:18px; margin:38px 0; }
.stack-divider-line { flex:1; height:1px; background:linear-gradient(90deg, transparent, var(--gold), transparent); }
.stack-divider-text { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.2em; color:var(--gold); text-transform:uppercase; white-space:nowrap; }
.stack-unified { padding:36px 36px 28px; border:1px solid var(--border-2); border-radius:14px; background:linear-gradient(145deg, rgba(17,34,80,0.6), rgba(60,80,125,0.18)); position:relative; overflow:hidden; text-align:center; }
.stack-unified::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at top, rgba(224,197,143,0.14), transparent 65%); pointer-events:none; }
.stack-unified > * { position:relative; z-index:2; }
.unified-title { font-family:'Montserrat',sans-serif; font-size:clamp(28px, 3.4vw, 42px); font-weight:700; color:var(--cream); margin:14px 0 22px; line-height:1.08; letter-spacing:-0.025em; }
.unified-title em { color:var(--gold); font-style:italic; }
.unified-pills { display:flex; gap:10px 12px; flex-wrap:wrap; justify-content:center; margin:0 auto 22px; }
.unified-pills span { padding:9px 15px; font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; letter-spacing:0.12em; color:var(--cream); border:1px solid var(--border-2); background:rgba(224,197,143,0.08); border-radius:100px; text-transform:uppercase; transition:border-color .3s, background .3s; }
.unified-pills span:hover { border-color:var(--gold); background:rgba(224,197,143,0.14); }
.unified-tagline { font-family:'Montserrat',sans-serif; font-size:18px; font-weight:500; font-style:italic; color:var(--text-2); margin:0 auto 28px; line-height:1.5; max-width:620px; letter-spacing:-0.01em; }
.unified-pact { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; max-width:780px; margin:6px auto 26px; }
.pact { padding:18px 14px; border:1px solid var(--border); border-radius:10px; background:rgba(224,197,143,0.04); display:flex; flex-direction:column; align-items:center; gap:6px; transition:border-color .4s, background .4s, transform .5s cubic-bezier(.16,1,.3,1); }
.pact:hover { border-color:var(--border-2); background:rgba(224,197,143,0.08); transform:translateY(-3px); }
.pact-icon { font-size:18px; color:var(--gold); }
.pact b { font-family:'Montserrat',sans-serif; font-style:italic; font-weight:500; color:var(--gold); font-size:20px; line-height:1; }
.pact em { font-family:'Inter',sans-serif; font-style:normal; color:var(--text-2); font-size:12.5px; font-weight:500; line-height:1.4; text-align:center; }
@media (max-width:700px) { .unified-pact { grid-template-columns:1fr 1fr; gap:10px; } .pact { padding:14px 10px; } .pact b { font-size:17px; } .pact em { font-size:11.5px; } }
@media (max-width:700px) {
  .stack-chaos { grid-template-columns:1fr 1fr; padding:18px; gap:10px; }
  .chaos-node { padding:14px 10px; font-size:12.5px; }
  .stack-chaos .chaos-node:last-child { display:none; }
  .stack-unified { padding:28px 24px 32px; }
  .stack-head { flex-direction:column; align-items:flex-start; gap:8px; }
}

/* Problem */
.prob-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; max-width:1040px; margin:0 auto 56px; }
@media (max-width:900px) { .prob-grid { grid-template-columns:1fr; } }
.prob { padding:30px 26px; border:1px solid var(--border); background:var(--card-bg); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); border-radius:12px; transition:border-color .5s ease, transform .55s cubic-bezier(.16,1,.3,1), box-shadow .5s ease, background .5s ease; text-align:center; display:flex; flex-direction:column; }
.prob:hover { border-color:var(--border-2); transform:translateY(-6px); background:rgba(60,80,125,0.22); box-shadow:0 24px 60px rgba(10,24,56,0.5), 0 0 0 1px rgba(224,197,143,0.18); }
.prob-num { font-family:'Montserrat',sans-serif; font-size:30px; color:var(--gold); font-weight:500; line-height:1; font-style:italic; margin-bottom:12px; }
.prob-title { font-size:21px; color:var(--cream); margin-bottom:10px; font-weight:700; line-height:1.25; letter-spacing:-0.02em; }
.prob-body { color:var(--text-2); font-size:15px; font-weight:500; line-height:1.55; margin:0 auto; max-width:300px; }
.prob-footer { text-align:center; color:var(--text-2); font-size:19px; font-weight:500; margin-top:56px; font-family:'Montserrat',sans-serif; font-style:italic; letter-spacing:-0.01em; }
.prob-footer em { color:var(--gold); }
@media (max-width:700px) { .prob { padding:32px 26px; } .prob-title { font-size:22px; } .prob-body { font-size:14.5px; } }

/* Results / social-proof numbers */
.res-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.rcard { padding:36px 28px; border:1px solid var(--border); background:var(--card-bg); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:border-color .5s, transform .55s cubic-bezier(.16,1,.3,1), box-shadow .5s, background .5s; text-align:center; }
.rcard:hover { border-color:var(--border-2); transform:translateY(-6px); background:rgba(60,80,125,0.24); box-shadow:0 24px 60px rgba(10,24,56,0.5); }
.rcard-amt { transition:color .5s, text-shadow .5s; }
.rcard:hover .rcard-amt { color:var(--gold); text-shadow:0 0 24px rgba(224,197,143,0.3); }
.rcard-label { font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:600; letter-spacing:0.18em; color:var(--gold); text-transform:uppercase; margin-bottom:16px; }
.rcard-amt { font-family:'Montserrat',sans-serif; font-size:44px; color:var(--cream); font-weight:700; line-height:1; margin-bottom:12px; letter-spacing:-0.025em; }
.rcard-time { font-size:13px; font-weight:500; color:var(--text-2); }
@media (max-width:900px) { .res-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .res-grid { grid-template-columns:1fr; } .rcard-amt { font-size:34px; } }

/* Testimonials — marquee */
.tm-section { padding-top:60px; padding-bottom:24px; }
.tm-section .sec-h2 { margin-bottom:0; }
.tm-marquee { position:relative; margin:24px -32px 0; padding:6px 0 12px; overflow:hidden; mask-image:linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%); -webkit-mask-image:linear-gradient(90deg, transparent 0%, black 5%, black 95%, transparent 100%); }
.tm-track { display:flex; align-items:stretch; padding:0 32px; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; -ms-overflow-style:none; -webkit-overflow-scrolling:touch; cursor:grab; }
.tm-track:active { cursor:grabbing; }
.tm-track::-webkit-scrollbar { display:none; }
.tm-track > .tm { flex:0 0 320px; margin-right:18px; }
@media (max-width:700px) {
  .tm-marquee { margin:18px -18px 0; padding:4px 0 8px; }
  .tm-track { padding:0 18px; }
  .tm-track > .tm { flex:0 0 260px; margin-right:12px; }
}
@media (prefers-reduced-motion: reduce) {
  .tm-track { overflow-x:visible; flex-wrap:wrap; justify-content:center; padding:0 18px; }
  .tm-track > .tm { margin:8px; }
}
.tm { padding:0; border:1px solid var(--border); background:var(--card-bg); backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:border-color .5s, transform .55s cubic-bezier(.16,1,.3,1), box-shadow .5s, background .5s; text-align:center; overflow:hidden; }
.tm:hover { border-color:var(--border-2); transform:translateY(-6px); background:rgba(60,80,125,0.24); box-shadow:0 24px 60px rgba(10,24,56,0.5); }
.tm-video-wrap { position:relative; aspect-ratio:16/9; background:#0A1838; cursor:pointer; overflow:hidden; }
.tm-video-wrap img.tm-thumb, .tm-video-wrap video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.tm-video-wrap img.tm-thumb { transition:transform .6s cubic-bezier(.16,1,.3,1); }
.tm-video-wrap:hover img.tm-thumb { transform:scale(1.04); }
.tm-video-wrap.playing img.tm-thumb { display:none; }
.tm-play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg, rgba(10,24,56,0.15) 0%, rgba(10,24,56,0.55) 100%); transition:opacity .4s ease, background .4s ease; pointer-events:none; }
.tm-play::after { content:''; width:64px; height:64px; border-radius:50%; background:rgba(224,197,143,0.92); box-shadow:0 8px 32px rgba(224,197,143,0.4), 0 0 0 4px rgba(255,255,255,0.12); display:flex; align-items:center; justify-content:center; transition:transform .45s cubic-bezier(.16,1,.3,1), background .3s; }
.tm-video-wrap:hover .tm-play::after { transform:scale(1.08); background:#fff; }
.tm-play::before { content:''; position:absolute; left:50%; top:50%; transform:translate(-32%,-50%); width:0; height:0; border-style:solid; border-width:11px 0 11px 18px; border-color:transparent transparent transparent #112250; z-index:2; }
.tm-video-wrap.playing .tm-play { opacity:0; }
.tm-stars { color:var(--gold); font-size:13px; letter-spacing:4px; margin:18px 0 8px; }
.tm-quote { font-family:'Montserrat',sans-serif; font-size:18px; line-height:1.4; color:var(--cream); margin:0 22px 14px; font-style:italic; font-weight:600; letter-spacing:-0.01em; }
.tm-person { font-size:12.5px; font-weight:500; color:var(--text-2); letter-spacing:0.04em; padding:0 22px 22px; }
.tm-person b { color:var(--gold); font-weight:600; }
@media (max-width:700px) { .tm-quote { font-size:16px; } .tm-play::after { width:54px; height:54px; } }

/* Founders */
.founders-wrap { max-width:820px; margin:0 auto; text-align:center; }
.founders-copy { margin-bottom:48px; }
.founders-video { position:relative; aspect-ratio:16/9; max-width:820px; width:100%; margin:0 auto 44px; border-radius:14px; overflow:hidden; border:1px solid var(--gold-deep); background:#0A1838; cursor:pointer; box-shadow:0 30px 80px rgba(10,24,56,0.55), inset 0 0 0 1px rgba(224,197,143,0.18); transition:transform .7s cubic-bezier(.16,1,.3,1), box-shadow .7s ease, border-color .7s ease; }
.founders-video:hover { transform:translateY(-4px); box-shadow:0 40px 110px rgba(10,24,56,0.65), 0 0 60px rgba(224,197,143,0.18), inset 0 0 0 1px rgba(224,197,143,0.45); border-color:var(--gold); }
.founders-video img.tm-thumb, .founders-video video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.founders-video img.tm-thumb { transition:transform 1.2s cubic-bezier(.16,1,.3,1); }
.founders-video:hover img.tm-thumb { transform:scale(1.04); }
.founders-video.playing img.tm-thumb { display:none; }
.founders-video .tm-play::after { width:80px; height:80px; }
.founders-video .tm-play::before { border-width:14px 0 14px 22px; }
@media (max-width:700px) { .founders-video { margin:0 auto 28px; border-radius:10px; } .founders-video .tm-play::after { width:60px; height:60px; } .founders-video .tm-play::before { border-width:11px 0 11px 18px; } }
.founders-body { color:var(--text-2); font-size:16px; font-weight:500; margin:0 auto 20px; line-height:1.7; max-width:700px; text-align:center; }
.founders-body b { color:var(--cream); font-weight:600; }
.founders-body em { color:var(--gold); font-style:italic; }
.founders-side { display:flex; flex-direction:column; gap:22px; align-items:center; }
.founders-markets { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; padding:22px; border:1px solid var(--border); background:var(--card-bg); backdrop-filter:blur(6px); width:100%; max-width:640px; margin:0 auto; }
.market { display:flex; flex-direction:column; align-items:center; gap:6px; padding:16px 10px; border:1px solid var(--border); background:rgba(60,80,125,0.15); transition:border-color .3s, transform .3s; text-align:center; }
.market:hover { border-color:var(--gold); transform:translateY(-3px); }
.market b { font-size:22px; font-weight:600; line-height:1; }
.market span { font-family:'JetBrains Mono',monospace; font-size:10px; font-weight:600; letter-spacing:0.14em; color:var(--text-2); text-transform:uppercase; }
.founders-quote { padding:30px 32px; border:1px solid var(--border); background:var(--card-bg); backdrop-filter:blur(6px); max-width:640px; margin:0 auto; text-align:center; }
.founders-quote .tm-stars { margin-bottom:14px; }
.founders-quote p { font-family:'Montserrat',sans-serif; font-size:19px; line-height:1.5; color:var(--cream); font-style:italic; font-weight:600; letter-spacing:-0.015em; margin-bottom:14px; }
.founders-quote span { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.12em; color:var(--gold); text-transform:uppercase; }
@media (max-width:600px) { .founders-markets { grid-template-columns:1fr 1fr; } }

/* VSL player (home hero + thank-you) — large click-to-play, lazy-loaded */
.vsl-wrap { max-width:860px; margin:0 auto; }
.vsl-eyebrow-cta { margin-top:34px; }
.hero-vsl { width:100%; margin:8px auto 40px; opacity:0; animation:rUp .9s .7s ease forwards; }
.vsl-player { position:relative; aspect-ratio:16/9; width:100%; margin:0 auto; border-radius:16px; overflow:hidden; border:1px solid var(--gold-deep); background:#0A1838; cursor:pointer; box-shadow:0 30px 90px rgba(10,24,56,0.6), inset 0 0 0 1px rgba(224,197,143,0.2); transition:transform .7s cubic-bezier(.16,1,.3,1), box-shadow .7s ease, border-color .7s ease; }
.vsl-player:hover { transform:translateY(-4px); box-shadow:0 44px 120px rgba(10,24,56,0.7), 0 0 70px rgba(224,197,143,0.2), inset 0 0 0 1px rgba(224,197,143,0.5); border-color:var(--gold); }
.vsl-player img.tm-thumb, .vsl-player video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.vsl-player img.tm-thumb { transition:transform 1.2s cubic-bezier(.16,1,.3,1); }
.vsl-player:hover img.tm-thumb { transform:scale(1.04); }
.vsl-player.playing img.tm-thumb { display:none; }
.vsl-player .tm-play::after { width:88px; height:88px; }
.vsl-player .tm-play::before { border-width:15px 0 15px 24px; }
.vsl-player.playing .tm-play { opacity:0; }
@media (max-width:700px) { .vsl-player { border-radius:11px; } .vsl-player .tm-play::after { width:62px; height:62px; } .vsl-player .tm-play::before { border-width:11px 0 11px 18px; } }

/* Call agenda */
.call-agenda { margin:30px auto 30px; max-width:620px; text-align:left; padding:26px 28px; border:1px solid var(--border); background:rgba(17,34,80,0.4); }
.call-agenda-label { font-family:'JetBrains Mono',monospace; font-size:10.5px; letter-spacing:0.22em; color:var(--gold); text-transform:uppercase; margin-bottom:14px; }
.call-agenda ul { list-style:none; padding:0; margin:0; }
.call-agenda li { display:flex; gap:14px; align-items:flex-start; padding:10px 0; border-top:1px solid var(--border); color:var(--cream); font-size:15px; line-height:1.55; }
.call-agenda li:first-child { border-top:none; }
.call-agenda li span { color:var(--gold); font-size:14px; flex-shrink:0; padding-top:3px; }
.offer-foot { margin-top:6px !important; }

/* Offer */
.offer { padding:80px 56px; border:1px solid var(--border-2); background:linear-gradient(145deg, rgba(17,34,80,0.6), rgba(60,80,125,0.22)); text-align:center; backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); position:relative; overflow:hidden; }
.offer::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at top, rgba(224,197,143,0.18), transparent 62%); pointer-events:none; }
.offer > * { position:relative; z-index:2; }
.offer h2 { font-family:'Montserrat',sans-serif; font-size:clamp(28px, 4.2vw, 48px); color:var(--cream); margin-bottom:24px; font-weight:700; line-height:1.08; letter-spacing:-0.025em; }
.offer h2 em { color:var(--gold); font-style:italic; }
.offer p { color:var(--text-2); max-width:680px; margin:0 auto 34px; font-size:16.5px; font-weight:500; line-height:1.7; }
.offer p em { color:var(--gold); font-style:italic; }
@media (max-width:700px) { .offer { padding:56px 26px; } }

/* CTA banner */
.cta-banner { text-align:center; padding:110px 32px; max-width:none; }
.cta-banner .wrap { max-width:1000px; margin:0 auto; }
.cta-banner h2 { font-size:clamp(32px, 4.8vw, 58px); margin-bottom:24px; color:var(--cream); font-weight:800; line-height:1.04; letter-spacing:-0.03em; }
.cta-banner h2 em { color:var(--gold); display:block; }
.cta-banner p { color:var(--text-2); max-width:620px; margin:0 auto 36px; font-size:16px; font-weight:500; }
.cta-micro { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; color:var(--text-2); letter-spacing:0.16em; text-transform:uppercase; margin-top:20px; }

/* Form */
.form-wrap { max-width:620px; margin:0 auto; text-align:left; }
.form-divider { font-family:'JetBrains Mono',monospace; font-size:10.5px; font-weight:600; letter-spacing:0.2em; color:var(--gold); text-transform:uppercase; text-align:center; margin:34px 0 22px; display:flex; align-items:center; gap:16px; }
.form-divider::before, .form-divider::after { content:''; flex:1; height:1px; background:var(--border); }
.form-row { margin-bottom:18px; }
.form-row label { display:block; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.18em; color:var(--gold); text-transform:uppercase; margin-bottom:9px; }
.form-row input, .form-row select, .form-row textarea { width:100%; padding:15px 16px; background:rgba(17,34,80,0.42); border:1px solid var(--border); color:var(--cream); font-family:'Inter',sans-serif; font-size:15px; outline:none; transition:border-color .3s, background .3s; }
.form-row input:focus, .form-row select:focus, .form-row textarea:focus { border-color:var(--gold); background:rgba(17,34,80,0.65); }
.form-row select { appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%); background-position:calc(100% - 22px) 20px, calc(100% - 16px) 20px; background-size:6px 6px, 6px 6px; background-repeat:no-repeat; }
.form-row select option { background:#112250; color:var(--cream); }
.btn-submit { width:100%; padding:18px; background:var(--gold); color:var(--navy); border:none; font-family:'Inter',sans-serif; font-size:12.5px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; transition:background .3s, box-shadow .3s; margin-top:12px; cursor:none; }
.btn-submit:hover { background:var(--cream); box-shadow:0 12px 48px rgba(224,197,143,0.3); }
.form-note { text-align:center; font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; color:var(--text-2); letter-spacing:0.16em; text-transform:uppercase; margin-top:22px; }

/* Calendar embed */
.calendar-wrap { max-width:900px; margin:0 auto; }
.calendar-frame { width:100%; min-height:720px; border:1px solid var(--border-2); border-radius:14px; background:rgba(17,34,80,0.4); overflow:hidden; box-shadow:0 30px 80px rgba(10,24,56,0.5); }
.calendar-frame iframe { width:100%; min-height:720px; border:0; display:block; }
.calendar-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; min-height:560px; padding:48px 28px; text-align:center; border:1px dashed var(--border-2); border-radius:14px; background:rgba(17,34,80,0.35); color:var(--text-2); }
.calendar-placeholder .cp-icon { font-size:40px; color:var(--gold); }
.calendar-placeholder h3 { font-size:22px; color:var(--cream); }
.calendar-placeholder code { font-family:'JetBrains Mono',monospace; font-size:12px; color:var(--gold); background:rgba(224,197,143,0.08); padding:4px 8px; border-radius:6px; }
.calendar-placeholder p { max-width:520px; font-size:14.5px; line-height:1.6; }

/* Thank-you */
.ty-card { max-width:760px; margin:0 auto; text-align:left; padding:44px 46px; border:1px solid var(--border-2); border-radius:16px; background:linear-gradient(145deg, rgba(17,34,80,0.6), rgba(60,80,125,0.18)); position:relative; overflow:hidden; }
.ty-card::before { content:''; position:absolute; inset:0; background:radial-gradient(ellipse at top, rgba(224,197,143,0.14), transparent 62%); pointer-events:none; }
.ty-card > * { position:relative; z-index:2; }
.ty-check { width:78px; height:78px; margin:0 auto 24px; border-radius:50%; background:var(--gold); display:flex; align-items:center; justify-content:center; box-shadow:0 0 0 8px rgba(224,197,143,0.1), 0 12px 40px rgba(224,197,143,0.3); }
.ty-check svg { width:38px; height:38px; stroke:var(--navy); stroke-width:3; fill:none; }
.ty-block { margin:26px 0; }
.ty-block h3 { font-size:16px; color:var(--gold); font-family:'JetBrains Mono',monospace; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:14px; font-weight:600; }
.ty-block p { color:var(--text-2); font-size:16px; line-height:1.7; margin-bottom:10px; }
.ty-block ul { list-style:none; padding:0; margin:8px 0 0; }
.ty-block li { display:flex; gap:13px; align-items:flex-start; padding:9px 0; border-top:1px solid var(--border); color:var(--cream); font-size:15.5px; line-height:1.55; }
.ty-block li:first-child { border-top:none; }
.ty-block li span { color:var(--gold); flex-shrink:0; padding-top:2px; }
.ty-sign { font-family:'Montserrat',sans-serif; font-style:italic; color:var(--gold); font-size:18px; margin-top:28px; }
.ty-tip { padding:18px 22px; border:1px solid var(--border-2); border-radius:10px; background:rgba(224,197,143,0.06); margin-top:24px; font-size:15px; color:var(--cream); line-height:1.6; }
.ty-tip b { color:var(--gold); }
/* "Watch this first" tag above the thank-you video */
.ty-watch-tag { display:inline-block; font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:600; letter-spacing:0.18em; text-transform:uppercase; color:var(--navy); background:var(--gold); padding:9px 18px; border-radius:100px; box-shadow:0 10px 30px rgba(224,197,143,0.28); }

/* Prominent prep-sheet download callout */
.ty-grab { max-width:760px; margin:26px auto 0; display:flex; align-items:center; gap:22px; text-align:left; padding:26px 30px; border:1px solid var(--gold-deep); border-radius:16px; background:linear-gradient(145deg, rgba(224,197,143,0.14), rgba(224,197,143,0.04)); position:relative; overflow:hidden; }
.ty-grab-icon { flex-shrink:0; width:56px; height:56px; border-radius:14px; display:flex; align-items:center; justify-content:center; color:var(--gold); border:1px solid var(--gold-deep); background:rgba(224,197,143,0.08); }
.ty-grab-icon svg { width:26px; height:26px; }
.ty-grab-text { flex:1; }
.ty-grab-text .eyebrow { margin-bottom:8px; }
.ty-grab-text h3 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:20px; color:var(--cream); letter-spacing:-0.01em; margin-bottom:7px; }
.ty-grab-text p { font-size:14px; color:var(--text); line-height:1.55; }
.ty-grab-btn { flex-shrink:0; white-space:nowrap; }
@media (max-width:680px) { .ty-grab { flex-direction:column; align-items:flex-start; gap:16px; padding:24px; } .ty-grab-btn { width:100%; text-align:center; } }
@media (max-width:700px) { .ty-card { padding:32px 24px; } }

footer { text-align:center; padding:46px 32px; border-top:1px solid var(--border); color:var(--text-2); font-size:13px; font-weight:500; letter-spacing:0.04em; position:relative; z-index:2; margin-top:40px; font-family:'JetBrains Mono',monospace; }
footer em { color:var(--gold); font-family:'Montserrat',sans-serif; font-size:15px; }
footer a { color:var(--gold); text-decoration:none; }

/* Split-heading reveal */
.split-char { display:inline-block; }
.split-word { display:inline-block; }
.split-ready .split-char { opacity:0; transform:translateY(0.45em); }
.split-ready.split-reveal .split-char {
  animation: split-letter 0.85s cubic-bezier(.16,1,.3,1) forwards;
  animation-delay: calc(var(--i, 0) * 26ms);
  will-change: opacity, transform;
}
@keyframes split-letter {
  0%   { opacity:0; transform:translateY(0.5em); color:var(--gold); text-shadow:0 0 22px rgba(224,197,143,0.85), 0 0 6px rgba(224,197,143,0.55); }
  55%  { opacity:1; transform:translateY(0); color:var(--gold); text-shadow:0 0 14px rgba(224,197,143,0.5), 0 0 4px rgba(224,197,143,0.3); }
  100% { opacity:1; transform:translateY(0); color:inherit; text-shadow:none; }
}
@media (prefers-reduced-motion: reduce) {
  .split-ready .split-char, .split-ready.split-reveal .split-char { opacity:1; transform:none; animation:none; color:inherit; text-shadow:none; }
}

/* Mobile polish */
@media (max-width:700px) {
  body { line-height:1.6; }
  section { text-align:center; }
  .sec-h2 { font-size:clamp(26px, 7.5vw, 34px); margin:0 auto 18px; max-width:92%; line-height:1.15; }
  .sec-sub { font-size:14.5px; margin:0 auto 42px; max-width:92%; line-height:1.65; }
  .eyebrow { font-size:10px; letter-spacing:0.22em; margin-bottom:14px; }
  .rcard { padding:28px 20px; }
  .tm-quote { font-size:16px; line-height:1.45; margin:0 18px 12px; }
  .tm-stars { margin:14px 0 6px; }
  .tm-person { padding:0 18px 18px; font-size:11.5px; }
  .offer { padding:48px 22px; }
  .offer p { font-size:14.5px; max-width:94%; }
  .call-agenda { padding:20px 18px; max-width:100%; }
  .call-agenda li { font-size:13.5px; line-height:1.5; }
  .cta-banner { padding:72px 20px; }
  .cta-banner h2 { font-size:clamp(26px, 7.5vw, 36px); max-width:94%; margin-left:auto; margin-right:auto; }
  .cta-banner p { font-size:14.5px; max-width:94%; }
  .form-wrap { max-width:100%; padding:0 4px; }
  .form-row input, .form-row select, .form-row textarea { font-size:16px; padding:14px; }
  .btn-submit { padding:16px; font-size:12px; }
  footer { padding:34px 20px; font-size:11.5px; line-height:1.6; }
  .calendar-frame, .calendar-frame iframe { min-height:640px; }
  .prob-footer { font-size:16px; padding:0 12px; }
}
@media (max-width:380px) {
  .sec-h2 { font-size:24px; }
  .unified-title { font-size:21px; }
}

/* ═══════════════ STRATEGY-CALL PAGE — PROCESS GRID + FAQ ═══════════════ */
.proc-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; max-width:1180px; margin:0 auto; }
.unified-proc { margin:10px auto 32px; }
.proc { position:relative; padding:0 0 28px; border:1px solid var(--border-2); border-radius:16px; background:linear-gradient(160deg, rgba(17,34,80,0.55), rgba(60,80,125,0.16)); overflow:hidden; transition:transform .6s cubic-bezier(.16,1,.3,1), border-color .6s ease, box-shadow .6s ease; }
.proc:hover { transform:translateY(-5px); border-color:var(--gold); box-shadow:0 30px 70px rgba(10,24,56,0.5), 0 0 50px rgba(224,197,143,0.12); }
.proc-img { position:relative; aspect-ratio:16/9; overflow:hidden; border-bottom:1px solid var(--border-2); background:#0A1838; }
.proc-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 1.1s cubic-bezier(.16,1,.3,1); }
.proc:hover .proc-img img { transform:scale(1.05); }
.proc-img::after { content:''; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,24,56,0.5), transparent 60%); pointer-events:none; }
.proc-top { display:flex; align-items:center; justify-content:space-between; margin:20px 24px 14px; }
.proc-icon { font-size:22px; color:var(--gold); line-height:1; }
.proc-num { font-family:'JetBrains Mono',monospace; font-size:12px; font-weight:600; letter-spacing:0.14em; color:var(--gold-deep); }
.proc h3 { font-family:'Montserrat',sans-serif; font-weight:700; font-size:20px; color:var(--cream); letter-spacing:-0.01em; margin:0 24px 10px; }
.proc p { font-size:14px; line-height:1.6; color:var(--text-2); margin:0 24px; }
.proc p b { color:var(--cream); font-weight:600; }
@media (max-width:980px) { .proc-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:560px) { .proc-grid { grid-template-columns:1fr; } }

.faq { max-width:820px; margin:0 auto; }
.faq-item { border:1px solid var(--border-2); border-radius:14px; background:rgba(17,34,80,0.4); margin-bottom:12px; overflow:hidden; transition:border-color .4s ease; }
.faq-item[open] { border-color:var(--gold-deep); }
.faq-item summary { list-style:none; cursor:pointer; padding:20px 24px; font-family:'Montserrat',sans-serif; font-weight:600; font-size:16px; color:var(--cream); display:flex; align-items:center; justify-content:space-between; gap:16px; transition:color .3s ease; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { color:var(--gold); }
.faq-item summary::after { content:'+'; flex-shrink:0; font-family:'Inter',sans-serif; font-weight:400; font-size:24px; line-height:1; color:var(--gold); transition:transform .35s cubic-bezier(.16,1,.3,1); }
.faq-item[open] summary::after { transform:rotate(45deg); }
.faq-a { padding:0 24px 22px; font-size:14.5px; line-height:1.7; color:var(--text-2); }
@media (max-width:560px) { .faq-item summary { font-size:15px; padding:17px 20px; } .faq-a { padding:0 20px 18px; } }

/* ===== EMBEDDED PRESENTATION SLIDES (proposal page) ===== */
.slide-figure { max-width:980px; margin:0 auto 22px; border:1px solid var(--border-2); border-radius:16px; overflow:hidden; background:#0A1838; box-shadow:0 24px 60px rgba(10,24,56,0.45); transition:transform .6s cubic-bezier(.16,1,.3,1), border-color .6s ease, box-shadow .6s ease; }
.slide-figure:hover { transform:translateY(-4px); border-color:var(--gold-deep); box-shadow:0 34px 80px rgba(10,24,56,0.55), 0 0 50px rgba(224,197,143,0.1); }
.slide-figure img { width:100%; height:auto; display:block; }
.slide-cap { font-family:'JetBrains Mono',monospace; font-size:11px; font-weight:600; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep); margin:0 auto 30px; }
.slide-stack { display:flex; flex-direction:column; gap:8px; }
.slide-duo { display:grid; grid-template-columns:1fr 1fr; gap:22px; max-width:1180px; margin:0 auto; align-items:start; }
.slide-duo .slide-figure { max-width:100%; margin:0; }
@media (max-width:860px) { .slide-duo { grid-template-columns:1fr; gap:18px; } }
.invest-note { max-width:760px; margin:26px auto 0; font-size:13.5px; line-height:1.7; color:var(--text-2); }
.invest-note b { color:var(--cream); font-weight:600; }
.slide-figure img { cursor:zoom-in; }

/* ===== SLIDE LIGHTBOX ===== */
.lightbox { position:fixed; inset:0; z-index:9999; background:rgba(6,15,38,0.95); -webkit-backdrop-filter:blur(4px); backdrop-filter:blur(4px); display:none; cursor:zoom-out; }
.lightbox.open { display:flex; align-items:center; justify-content:center; }
.lightbox-scroll { max-width:100%; max-height:100%; margin:auto; padding:14px; }
.lightbox img { display:block; max-width:100%; max-height:92vh; width:auto; height:auto; border-radius:10px; }
.lightbox-close { position:fixed; top:14px; right:18px; z-index:2; width:44px; height:44px; border-radius:50%; border:1px solid var(--border-2); background:rgba(17,34,80,0.7); color:var(--cream); font-size:26px; line-height:1; cursor:pointer; display:flex; align-items:center; justify-content:center; transition:border-color .3s, background .3s; }
.lightbox-close:hover { border-color:var(--gold); background:rgba(224,197,143,0.16); }
.lightbox-hint { position:fixed; left:0; right:0; bottom:16px; text-align:center; font-family:'JetBrains Mono',monospace; font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-2); pointer-events:none; }
