/* =========================================================================
   QUANTUM OASIS — Frequency Medicine Center
   Premium design system  ·  "The Million Dollar Look"
   ========================================================================= */

:root{
  /* ---- Palette · Obsidian Aurora ---- */
  --obsidian:      #06070c;
  --obsidian-2:    #0a0c14;
  --ink:           #0e1119;
  --ink-2:         #141824;
  --line:          rgba(255,255,255,.08);
  --line-strong:   rgba(255,255,255,.14);

  --mist:          #f4f6fb;
  --mist-2:        #b4bccd;
  --muted:         #8b93a9;   /* lifted to meet WCAG AA on dark */

  --aurora:        #63f5d4;   /* luminous teal */
  --aurora-deep:   #2bd4b4;
  --violet:        #9a8cff;   /* frequency violet */
  --gold:          #e8cd94;   /* premium gold */
  --gold-deep:     #caa85f;

  --grad-aurora:  linear-gradient(115deg,#63f5d4 0%,#9a8cff 55%,#e8cd94 100%);
  --grad-halo:    radial-gradient(60% 60% at 50% 0%,rgba(99,245,212,.16),transparent 70%);
  --glass:        rgba(255,255,255,.04);
  --glass-2:      rgba(255,255,255,.06);

  --shadow-lg:    0 50px 120px -40px rgba(0,0,0,.8);
  --shadow-glow:  0 0 0 1px rgba(99,245,212,.25), 0 18px 50px -16px rgba(99,245,212,.4);

  --serif: "Cormorant Garamond", Georgia, serif;
  --sans:  "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;

  --wrap: 1200px;
  --radius: 20px;
  --radius-sm: 12px;
  --ease: cubic-bezier(.22,.61,.36,1);
}

*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body{
  font-family:var(--sans);
  background:var(--obsidian);
  color:var(--mist);
  line-height:1.65;
  letter-spacing:.01em;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; text-decoration:none; }
::selection{ background:rgba(95,240,208,.28); color:#fff; }
:focus-visible{ outline:2px solid var(--aurora); outline-offset:3px; border-radius:4px; }
:focus:not(:focus-visible){ outline:none; }
.skip-link{
  position:fixed; z-index:1000; top:12px; left:12px; transform:translateY(-160%);
  background:#fff; color:#06070c; border-radius:8px; padding:.7rem 1rem; font-weight:700;
}
.skip-link:focus{ transform:translateY(0); }

/* ---- Ambient background field ---- */
body::before{
  content:"";
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(48% 40% at 82% 4%,rgba(154,140,255,.13),transparent 60%),
    radial-gradient(46% 42% at 8% 22%,rgba(99,245,212,.10),transparent 60%),
    radial-gradient(60% 50% at 50% 108%,rgba(232,205,148,.08),transparent 60%),
    var(--obsidian);
}
/* film grain */
body::after{
  content:"";
  position:fixed; inset:0; z-index:-1; opacity:.038; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---- Typography ---- */
h1,h2,h3,h4{ font-family:var(--serif); font-weight:500; line-height:1.06; letter-spacing:-.01em; color:#fff; }
h1{ font-size:clamp(2.9rem,6.4vw,5.4rem); }
h2{ font-size:clamp(2.1rem,4.4vw,3.6rem); }
h3{ font-size:clamp(1.4rem,2.4vw,1.9rem); }
p{ color:var(--mist-2); font-size:1.05rem; }
.serif{ font-family:var(--serif); }

.eyebrow{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--sans); font-size:.74rem; font-weight:600;
  letter-spacing:.32em; text-transform:uppercase; color:var(--aurora);
}
.eyebrow::before{ content:""; width:26px; height:1px; background:var(--grad-aurora); }
.eyebrow.center::after{ content:""; width:26px; height:1px; background:var(--grad-aurora); }
.eyebrow.center{ justify-content:center; }

.grad-text{
  background:var(--grad-aurora); -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}
.lead{ font-size:clamp(1.1rem,1.6vw,1.28rem); color:var(--mist-2); max-width:60ch; }

/* ---- Layout ---- */
.wrap{ width:min(var(--wrap),92vw); margin-inline:auto; }
.section{ padding:clamp(72px,10vw,150px) 0; position:relative; }
.center{ text-align:center; }
.mx-auto{ margin-inline:auto; }
.grid{ display:grid; gap:26px; }
.reveal{ opacity:0; transform:translateY(30px); transition:opacity .9s var(--ease),transform .9s var(--ease); }
.reveal.in{ opacity:1; transform:none; }

/* ---- Buttons ---- */
.btn{
  display:inline-flex; align-items:center; gap:.6em;
  font-family:var(--sans); font-weight:600; font-size:.95rem; letter-spacing:.01em;
  padding:1rem 1.9rem; border-radius:100px; cursor:pointer; border:1px solid transparent;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),background .3s;
  position:relative; white-space:nowrap;
}
.btn:hover{ transform:translateY(-2px); }
.btn-primary{ background:var(--grad-aurora); color:#06110d; box-shadow:var(--shadow-glow); }
.btn-primary:hover{ box-shadow:0 0 0 1px rgba(95,240,208,.5),0 28px 70px -18px rgba(95,240,208,.5); }
.btn-ghost{ background:var(--glass); border-color:var(--line-strong); color:#fff; backdrop-filter:blur(8px); }
.btn-ghost:hover{ background:var(--glass-2); border-color:var(--aurora); }
.btn-lg{ padding:1.15rem 2.4rem; font-size:1.02rem; }
.btn .arrow{ transition:transform .3s var(--ease); }
.btn:hover .arrow{ transform:translateX(4px); }

/* ---- Header / Nav ---- */
.nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  transition:background .4s,backdrop-filter .4s,border-color .4s,padding .4s;
  border-bottom:1px solid transparent; padding:.5rem 0;
}
.nav.scrolled{
  background:rgba(6,7,12,.78); backdrop-filter:blur(18px) saturate(140%);
  border-bottom-color:var(--line);
}
.nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.4rem; }
.brand{ display:flex; align-items:center; gap:.7rem; font-family:var(--serif); font-size:1.22rem; color:#fff; letter-spacing:.02em; white-space:nowrap; flex:0 0 auto; }
.brand > span{ white-space:nowrap; }
.brand .mark{
  width:34px; height:34px; border-radius:50%; position:relative; flex:0 0 auto;
  background:var(--grad-aurora); box-shadow:0 0 24px rgba(95,240,208,.5);
}
.brand .mark::after{
  content:""; position:absolute; inset:6px; border-radius:50%;
  background:var(--obsidian); border:1px solid rgba(255,255,255,.25);
}
.brand small{ display:block; font-family:var(--sans); font-size:.56rem; letter-spacing:.28em; text-transform:uppercase; color:var(--muted); white-space:nowrap; }
.nav-links{ display:flex; align-items:center; gap:1.7rem; list-style:none; }
.nav-links a{ font-size:.9rem; font-weight:500; color:var(--mist-2); transition:color .25s; position:relative; white-space:nowrap; }
.nav-cta-m{ display:none; }
.nav-links a::after{ content:""; position:absolute; left:0; bottom:-6px; width:0; height:1px; background:var(--grad-aurora); transition:width .3s var(--ease); }
.nav-links a:hover,.nav-links a.active{ color:#fff; }
.nav-links a:hover::after,.nav-links a.active::after{ width:100%; }
.nav-cta{ display:flex; align-items:center; gap:1rem; flex:0 0 auto; }
.nav-phone{ font-size:.86rem; color:var(--mist-2); font-weight:500; white-space:nowrap; }
.burger{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:6px; }
.burger span{ width:24px; height:2px; background:#fff; transition:.3s; }

/* ---- Hero ---- */
.hero{ position:relative; min-height:100vh; display:flex; align-items:center; padding-top:120px; overflow:hidden; }
.hero-orbs{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.orb{ position:absolute; border-radius:50%; filter:blur(60px); opacity:.55; animation:float 16s var(--ease) infinite; }
.orb.a{ width:520px; height:520px; background:radial-gradient(circle,rgba(95,240,208,.5),transparent 65%); top:-120px; right:-80px; }
.orb.b{ width:460px; height:460px; background:radial-gradient(circle,rgba(139,123,255,.45),transparent 65%); bottom:-140px; left:-100px; animation-delay:-6s; }
.orb.c{ width:340px; height:340px; background:radial-gradient(circle,rgba(231,201,138,.32),transparent 65%); top:40%; left:44%; animation-delay:-11s; }
@keyframes float{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(30px,-30px) scale(1.08);} }

.hero-inner{ position:relative; z-index:2; max-width:900px; }
.hero h1{ margin:.4rem 0 1.4rem; }
.hero .lead{ margin-bottom:2.4rem; font-size:clamp(1.15rem,1.8vw,1.4rem); }
.hero-cta{ display:flex; flex-wrap:wrap; gap:1rem; align-items:center; }
.hero-proof{ display:flex; flex-wrap:wrap; gap:2rem; margin-top:3.4rem; padding-top:2.2rem; border-top:1px solid var(--line); }
.hero-proof .stat b{ font-family:var(--serif); font-size:2rem; color:#fff; display:block; line-height:1; }
.hero-proof .stat span{ font-size:.8rem; color:var(--muted); letter-spacing:.04em; }

/* frequency waveform ribbon */
.wave{ position:absolute; left:0; right:0; bottom:0; height:120px; z-index:1; opacity:.4; }
.wave svg{ width:100%; height:100%; }

/* ---- Structured two-column hero (Obsidian Aurora) ---- */
.hero-grid{ position:relative; z-index:2; display:grid; grid-template-columns:1.05fr .95fr; gap:clamp(2rem,5vw,4.5rem); align-items:center; }
.hero-copy .lead{ max-width:46ch; }
.hero-media{
  position:relative; aspect-ratio:4/4.5; border-radius:26px; overflow:hidden;
  border:1px solid var(--line-strong); background:linear-gradient(160deg,#12131c,#0a0b12);
  box-shadow:var(--shadow-lg);
}
.hero-media img{ width:100%; height:100%; object-fit:cover; }
.hero-media .halo{ position:absolute; inset:0; background:radial-gradient(60% 50% at 50% 40%,rgba(99,245,212,.22),transparent 65%); }
.hero-media .rings{ position:absolute; inset:0; display:grid; place-items:center; }
.hero-media .rings span{ position:absolute; border:1px solid rgba(99,245,212,.26); border-radius:50%; }
.hero-media .rings span:nth-child(1){ width:22%; height:22%; }
.hero-media .rings span:nth-child(2){ width:42%; height:42%; opacity:.7; }
.hero-media .rings span:nth-child(3){ width:64%; height:64%; opacity:.5; }
.hero-media .rings span:nth-child(4){ width:88%; height:88%; opacity:.3; }
.hero-media .hm-badge{
  position:absolute; left:22px; right:22px; bottom:22px; display:flex; justify-content:space-between; align-items:center; gap:1rem;
  background:rgba(10,12,20,.72); backdrop-filter:blur(10px); border:1px solid var(--line-strong); border-radius:16px; padding:1rem 1.2rem;
}
.hero-media .hm-badge b{ font-family:var(--serif); font-size:1.5rem; display:block; line-height:1; color:#fff; }
.hero-media .hm-badge span{ font-size:.7rem; color:var(--muted); letter-spacing:.04em; }
@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; gap:2.5rem; }
  .hero-media{ order:2; aspect-ratio:16/12; margin-top:.5rem; }
}

/* ---- Marquee trust bar ---- */
.trustbar{ border-block:1px solid var(--line); background:rgba(255,255,255,.015); padding:1.4rem 0; overflow:hidden; }
.marquee{ display:flex; gap:4rem; white-space:nowrap; animation:scroll 34s linear infinite; width:max-content; }
.marquee span{ font-family:var(--serif); font-size:1.15rem; color:var(--mist-2); display:inline-flex; align-items:center; gap:1rem; opacity:.8; }
.marquee span::after{ content:"◆"; color:var(--aurora); font-size:.6rem; }
@keyframes scroll{ to{ transform:translateX(-50%); } }

/* ---- Cards ---- */
.card{
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.014));
  border:1px solid var(--line); border-radius:var(--radius);
  padding:2.2rem; backdrop-filter:blur(10px); transition:transform .4s var(--ease),border-color .4s,background .4s;
  position:relative; overflow:hidden;
}
.card::before{ content:""; position:absolute; inset:0; background:var(--grad-halo); opacity:0; transition:opacity .4s; }
.card:hover{ transform:translateY(-6px); border-color:var(--line-strong); background:var(--glass-2); }
.card:hover::before{ opacity:1; }
.card .ic{
  width:54px; height:54px; border-radius:14px; display:grid; place-items:center; margin-bottom:1.3rem;
  background:linear-gradient(140deg,rgba(95,240,208,.16),rgba(139,123,255,.12)); border:1px solid var(--line-strong);
  font-size:1.5rem;
}
.card h3{ margin-bottom:.6rem; }
.card p{ font-size:.98rem; }
.cards-3{ grid-template-columns:repeat(3,1fr); }
.cards-4{ grid-template-columns:repeat(4,1fr); }
.cards-2{ grid-template-columns:repeat(2,1fr); }

/* ---- Real image treatments ---- */
.hero-media img{ position:absolute; inset:0; z-index:0; }
.hero-media.has-img .halo{ background:linear-gradient(180deg,rgba(6,7,12,.05),rgba(6,7,12,.55)); mix-blend-mode:normal; z-index:1; }
.split-media img{ position:relative; z-index:1; }
.media-cap{ position:absolute; left:18px; bottom:18px; z-index:3; background:rgba(6,7,12,.72); backdrop-filter:blur(8px); border:1px solid var(--line-strong); border-radius:100px; padding:.55rem 1.1rem; font-size:.8rem; color:var(--mist-2); }
.media-cap b{ color:#fff; }

/* full-bleed atmospheric banner */
.banner{ position:relative; min-height:60vh; display:grid; place-items:center; text-align:center; overflow:hidden; border-block:1px solid var(--line); }
.banner img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; }
.banner .ov{ position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,rgba(6,7,12,.88),rgba(6,7,12,.5) 45%,rgba(6,7,12,.92)); }
.banner .inner{ position:relative; z-index:2; max-width:820px; padding:clamp(3rem,8vw,6rem) 1.2rem; }
.banner h2{ margin:1rem 0 1.2rem; }
.banner .lead{ margin-inline:auto; }

/* image inside a card */
.card-media{ border-radius:14px; overflow:hidden; margin:-.4rem -.4rem 1.5rem; height:190px; border:1px solid var(--line); position:relative; }
.card-media img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease); }
.card:hover .card-media img{ transform:scale(1.05); }

/* video feature */
.video-feature{ position:relative; border-radius:var(--radius); overflow:hidden; border:1px solid var(--line-strong); box-shadow:var(--shadow-lg); background:#000; aspect-ratio:16/9; }
.video-feature video{ width:100%; height:100%; object-fit:cover; display:block; }

/* testimonial video poster slots */
.vslot{ position:relative; overflow:hidden; }
.vslot img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; filter:brightness(.55) saturate(1.05); }
.vslot .freq-visual{ z-index:2; }
.vslot::after{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(180deg,transparent,rgba(6,7,12,.6)); }
.vslot .vlabel{ position:absolute; left:16px; bottom:16px; z-index:3; font-size:.82rem; color:#fff; font-weight:500; }
.vslot .vlabel span{ display:block; font-size:.72rem; color:var(--mist-2); }

/* ---- Section heading block ---- */
.sec-head{ max-width:720px; margin-bottom:3.4rem; }
.sec-head.center{ margin-inline:auto; }
.sec-head h2{ margin:.9rem 0 1.1rem; }

/* ---- Split feature ---- */
.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:center; }
.split.rev .split-media{ order:2; }
.split-media{
  border-radius:var(--radius); overflow:hidden; border:1px solid var(--line); position:relative;
  aspect-ratio:4/3.4; background:linear-gradient(160deg,var(--ink),var(--obsidian-2)); box-shadow:var(--shadow-lg);
}
.split-media img{ width:100%; height:100%; object-fit:cover; }
.split ul{ list-style:none; margin-top:1.6rem; display:grid; gap:1rem; }
.split ul li{ display:flex; gap:.9rem; align-items:flex-start; color:var(--mist-2); }
.split ul li .tick{ flex:0 0 auto; width:22px; height:22px; border-radius:50%; background:linear-gradient(140deg,var(--aurora),var(--aurora-deep)); display:grid; place-items:center; color:#06110d; font-size:.7rem; font-weight:800; margin-top:3px; }

/* media placeholder visual (frequency field) */
.freq-visual{ position:absolute; inset:0; display:grid; place-items:center; }
.freq-visual .rings{ position:absolute; inset:0; }
.freq-visual .ring{ position:absolute; top:50%; left:50%; border:1px solid rgba(95,240,208,.25); border-radius:50%; transform:translate(-50%,-50%); animation:pulse 4s ease-out infinite; }
@keyframes pulse{ 0%{ width:40px; height:40px; opacity:.9; } 100%{ width:100%; height:100%; opacity:0; } }

/* ---- Stats band ---- */
.stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.stats .s{ background:var(--obsidian-2); padding:2.4rem 1.6rem; text-align:center; }
.stats .s b{ font-family:var(--serif); font-size:clamp(2.4rem,4vw,3.4rem); background:var(--grad-aurora); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; display:block; line-height:1; }
.stats .s span{ font-size:.82rem; color:var(--muted); letter-spacing:.06em; margin-top:.5rem; display:block; }

/* ---- Testimonials ---- */
.quote-card{ background:var(--glass); border:1px solid var(--line); border-radius:var(--radius); padding:2.4rem; position:relative; }
.quote-card .stars{ color:var(--gold); letter-spacing:.2em; font-size:.9rem; margin-bottom:1.1rem; }
.quote-card blockquote{ font-family:var(--serif); font-size:1.28rem; line-height:1.5; color:#fff; margin-bottom:1.6rem; }
.quote-card .who{ display:flex; align-items:center; gap:.9rem; }
.quote-card .who .av{ width:46px; height:46px; border-radius:50%; background:var(--grad-aurora); display:grid; place-items:center; color:#06110d; font-weight:700; font-family:var(--sans); }
.quote-card .who b{ color:#fff; font-family:var(--sans); font-size:.95rem; display:block; }
.quote-card .who span{ color:var(--muted); font-size:.82rem; }
.quote-card .verified{ position:absolute; top:1.6rem; right:1.6rem; font-size:.68rem; color:var(--aurora); letter-spacing:.14em; text-transform:uppercase; display:flex; align-items:center; gap:.4em; }

/* ---- Pricing ---- */
.price-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; align-items:stretch; }
.price-card{ background:var(--glass); border:1px solid var(--line); border-radius:var(--radius); padding:2.4rem; display:flex; flex-direction:column; position:relative; transition:transform .4s var(--ease),border-color .4s; }
.price-card:hover{ transform:translateY(-6px); border-color:var(--line-strong); }
.price-card.feat{ border-color:rgba(95,240,208,.4); background:linear-gradient(180deg,rgba(95,240,208,.06),var(--glass)); box-shadow:var(--shadow-glow); }
.price-card .tier{ font-size:.78rem; letter-spacing:.24em; text-transform:uppercase; color:var(--aurora); font-weight:600; }
.price-card .amt{ font-family:var(--serif); font-size:3.2rem; color:#fff; line-height:1; margin:.8rem 0 .2rem; }
.price-card .amt small{ font-size:1rem; color:var(--muted); font-family:var(--sans); }
.price-card .per{ color:var(--muted); font-size:.86rem; margin-bottom:1.6rem; }
.price-card ul{ list-style:none; display:grid; gap:.85rem; margin:1.4rem 0 2rem; }
.price-card ul li{ display:flex; gap:.7rem; align-items:flex-start; font-size:.95rem; color:var(--mist-2); }
.price-card ul li .tick{ color:var(--aurora); flex:0 0 auto; }
.price-card .badge{ position:absolute; top:-13px; left:50%; transform:translateX(-50%); background:var(--grad-aurora); color:#06110d; font-size:.68rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:.42rem 1.1rem; border-radius:100px; white-space:nowrap; }
.price-card .btn{ margin-top:auto; justify-content:center; }

/* comparison table */
.compare{ width:100%; border-collapse:collapse; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; }
.compare th,.compare td{ padding:1.1rem 1.3rem; text-align:left; border-bottom:1px solid var(--line); font-size:.95rem; }
.compare thead th{ background:var(--ink-2); color:#fff; font-family:var(--sans); font-weight:600; font-size:.82rem; letter-spacing:.06em; text-transform:uppercase; }
.compare tbody tr:hover{ background:rgba(255,255,255,.02); }
.compare .us{ color:var(--aurora); font-weight:600; }
.compare .yes{ color:var(--aurora); } .compare .no{ color:var(--muted); }
.compare .col-us{ background:rgba(95,240,208,.05); }

/* ---- FAQ ---- */
.faq-item{ border:1px solid var(--line); border-radius:var(--radius-sm); margin-bottom:1rem; overflow:hidden; background:var(--glass); transition:border-color .3s; }
.faq-item.open{ border-color:var(--line-strong); }
.faq-q{ width:100%; text-align:left; background:none; border:0; color:#fff; font-family:var(--serif); font-size:1.2rem; padding:1.5rem 1.8rem; cursor:pointer; display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.faq-q .pm{ flex:0 0 auto; width:30px; height:30px; border-radius:50%; border:1px solid var(--line-strong); display:grid; place-items:center; transition:transform .3s,background .3s; font-size:1.1rem; color:var(--aurora); }
.faq-item.open .pm{ transform:rotate(45deg); background:var(--grad-aurora); color:#06110d; border-color:transparent; }
.faq-a{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease); }
.faq-a p{ padding:0 1.8rem 1.6rem; font-size:1rem; }

/* ---- Guarantee band ---- */
.guarantee{ display:grid; grid-template-columns:auto 1fr; gap:2rem; align-items:center; background:linear-gradient(140deg,rgba(231,201,138,.08),rgba(95,240,208,.05)); border:1px solid rgba(231,201,138,.28); border-radius:var(--radius); padding:2.6rem; }
.guarantee .seal{ width:120px; height:120px; border-radius:50%; border:2px solid var(--gold); display:grid; place-items:center; text-align:center; flex:0 0 auto; background:radial-gradient(circle,rgba(231,201,138,.12),transparent); }
.guarantee .seal b{ font-family:var(--serif); font-size:2.4rem; color:var(--gold); line-height:.9; }
.guarantee .seal span{ font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--gold-deep); }

/* ---- CTA band ---- */
.cta-band{ text-align:center; background:linear-gradient(160deg,var(--ink),var(--obsidian)); border:1px solid var(--line); border-radius:calc(var(--radius) + 8px); padding:clamp(3rem,7vw,6rem); position:relative; overflow:hidden; }
.cta-band::before{ content:""; position:absolute; inset:0; background:var(--grad-halo); }
.cta-band > *{ position:relative; z-index:2; }
.cta-band h2{ margin:1rem auto 1.2rem; max-width:16ch; }
.cta-band p{ max-width:52ch; margin:0 auto 2.2rem; }

/* ---- Forms ---- */
.form{ display:grid; gap:1.2rem; }
.form .row{ display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; }
.field label{ display:block; font-size:.82rem; color:var(--mist-2); margin-bottom:.5rem; font-weight:500; letter-spacing:.02em; }
.field input,.field select,.field textarea{
  width:100%; background:var(--ink); border:1px solid var(--line-strong); border-radius:12px; color:#fff;
  padding:.95rem 1.1rem; font-family:var(--sans); font-size:.98rem; transition:border-color .25s,box-shadow .25s;
}
.field input::placeholder,.field textarea::placeholder{ color:var(--muted); }
.field input:focus,.field select:focus,.field textarea:focus{ outline:none; border-color:var(--aurora); box-shadow:0 0 0 3px rgba(95,240,208,.14); }
.field textarea{ min-height:130px; resize:vertical; }

/* ---- Steps ---- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; counter-reset:step; }
.step{ position:relative; padding-top:1rem; }
.step .n{ font-family:var(--serif); font-size:3rem; background:var(--grad-aurora); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; line-height:1; margin-bottom:.6rem; }
.step h3{ font-size:1.2rem; margin-bottom:.5rem; }
.step p{ font-size:.94rem; }

/* ---- Footer ---- */
footer{ border-top:1px solid var(--line); padding:5rem 0 2.5rem; margin-top:2rem; background:rgba(0,0,0,.3); }
.foot-grid{ display:grid; grid-template-columns:2fr 1fr 1fr 1.4fr; gap:3rem; margin-bottom:3.5rem; }
.foot-grid h4{ font-family:var(--sans); font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:1.3rem; }
.foot-grid ul{ list-style:none; display:grid; gap:.8rem; }
.foot-grid a{ color:var(--mist-2); font-size:.92rem; transition:color .25s; }
.foot-grid a:hover{ color:var(--aurora); }
.foot-brand p{ font-size:.92rem; margin-top:1rem; max-width:34ch; }
.foot-socials{ display:flex; gap:.8rem; margin-top:1.4rem; }
.foot-socials a{ width:40px; height:40px; border-radius:50%; border:1px solid var(--line-strong); display:grid; place-items:center; transition:.3s; }
.foot-socials a:hover{ border-color:var(--aurora); background:var(--glass); transform:translateY(-2px); }
.foot-bottom{ border-top:1px solid var(--line); padding-top:2rem; display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; font-size:.82rem; color:var(--muted); }
.foot-bottom a{ color:var(--muted); } .foot-bottom a:hover{ color:var(--mist-2); }

/* ---- Prose (legal / 404) ---- */
.prose{ max-width:760px; margin-inline:auto; }
.prose h2{ font-size:clamp(1.5rem,3vw,2rem); margin:2.6rem 0 1rem; }
.prose h2:first-of-type{ margin-top:0; }
.prose p, .prose li{ color:var(--mist-2); font-size:1.02rem; margin-bottom:1rem; }
.prose ul{ padding-left:1.2rem; margin-bottom:1rem; }
.prose li{ margin-bottom:.5rem; }
.prose a{ color:var(--aurora); }
.prose a:hover{ text-decoration:underline; }
.prose .updated{ color:var(--muted); font-size:.86rem; margin-bottom:2.4rem; }
.prose .note{ background:var(--glass); border:1px solid var(--line); border-radius:var(--radius-sm); padding:1.2rem 1.4rem; font-size:.92rem; color:var(--muted); }

/* 404 */
.err{ min-height:70vh; display:grid; place-items:center; text-align:center; }
.err .code{ font-family:var(--serif); font-size:clamp(6rem,20vw,12rem); line-height:.9; background:var(--grad-aurora); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }

/* ---- Disclaimer ---- */
.disclaimer{ font-size:.78rem; color:var(--muted); max-width:70ch; margin:2rem auto 0; text-align:center; line-height:1.6; }

/* ---- Pills / badges ---- */
.pill{ display:inline-flex; align-items:center; gap:.5em; background:var(--glass); border:1px solid var(--line-strong); border-radius:100px; padding:.5rem 1rem; font-size:.82rem; color:var(--mist-2); }
.pill .dot{ width:7px; height:7px; border-radius:50%; background:var(--aurora); box-shadow:0 0 10px var(--aurora); }

/* ---- Page hero (inner pages) ---- */
.page-hero{ padding:170px 0 60px; position:relative; text-align:center; overflow:hidden; }
.page-hero .lead{ margin:1.4rem auto 0; }

/* ---- Utility ---- */
.mt-1{ margin-top:1rem; } .mt-2{ margin-top:2rem; } .mt-3{ margin-top:3rem; }
.mb-0{ margin-bottom:0; }
.gold{ color:var(--gold); } .aurora{ color:var(--aurora); }
.max-60{ max-width:60ch; } .max-50{ max-width:50ch; }

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width:960px){
  .cards-4{ grid-template-columns:repeat(2,1fr); }
  .cards-3{ grid-template-columns:1fr; }
  .price-grid{ grid-template-columns:1fr; }
  .split{ grid-template-columns:1fr; }
  .split.rev .split-media{ order:0; }
  .steps{ grid-template-columns:repeat(2,1fr); }
  .stats{ grid-template-columns:repeat(2,1fr); }
  .foot-grid{ grid-template-columns:1fr 1fr; gap:2rem; }
  .guarantee{ grid-template-columns:1fr; text-align:center; justify-items:center; }
}

/* ---- Navigation collapse (dedicated, higher breakpoint) ---- */
@media (max-width:1200px){ .nav-phone{ display:none; } }
@media (max-width:1080px){
  .nav{ background:rgba(6,7,12,.82); backdrop-filter:blur(16px) saturate(140%); border-bottom:1px solid var(--line); }
  .nav-links{ display:none; }
  .nav-cta > .btn-primary{ display:none; }   /* the wide inline CTA that overflowed on phones */
  .burger{ display:flex; }
  .nav-links.open{
    display:flex; position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch;
    background:#080a11; padding:1.4rem 6vw 1.8rem; gap:1.2rem; border-top:1px solid var(--line);
    box-shadow:0 30px 60px -20px rgba(0,0,0,.8);
  }
  .nav-links.open a{ font-size:1.05rem; }
  .nav-cta-m{ display:block; margin-top:.4rem; }
  .nav-cta-m .btn{ width:100%; justify-content:center; }
}
@media (max-width:560px){
  .cards-4,.cards-2,.stats{ grid-template-columns:1fr; }
  .price-card .badge{ white-space:normal; max-width:calc(100% - 1.6rem); text-align:center; line-height:1.35; }
  .form .row{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr; }
  .hero-proof{ gap:1.4rem; }
  .compare{ font-size:.82rem; }
  .btn{ width:100%; justify-content:center; }
  .hero-cta{ flex-direction:column; align-items:stretch; }
}

/* reduced motion */
@media (prefers-reduced-motion:reduce){
  *{ animation:none !important; transition:none !important; }
  .reveal{ opacity:1; transform:none; }
}
