/* ============================================================
   Vedic Blueprint — Shared Design System
   Palette: Nakshatra Color System (Light)
   ============================================================ */
:root{
  --void:#060514; --deep-space:#0E0C22; --night:#1A1838; --twilight:#2E2A54;
  --dusk:#5E5888; --fog:#A09ACC; --cloud:#D0CCEC; --pale:#F0EDFB;
  --purple-500:#4A28B0; --purple-400:#7856CC;
  --saffron-500:#A85200; --saffron-400:#F09830;
  --rose-500:#A8286E; --rose-400:#DC70A8;
  --jade-500:#008C80; --jade-400:#40C4B4;

  --bg:var(--pale); --bg-raised:#FFFFFF; --bg-card:#EAE6F8; --border:#B8A8E4;
  --text-1:var(--deep-space); --text-2:#241F48; --text-3:#5C5590;
  --purple:var(--purple-500); --saffron:var(--saffron-500); --rose:var(--rose-500); --jade:var(--jade-500);
  --on-accent:#FFFFFF;
  --glass: 250,248,255;
  --glass-alpha: .62;

  --ff-disp:'Palatino Linotype',Palatino,'Book Antiqua',Georgia,serif;
  --ff-body:system-ui,-apple-system,'Segoe UI',sans-serif;
  --ff-mono:ui-monospace,'SF Mono','Cascadia Code',monospace;

  --shadow-1: 0 1px 2px rgba(14,12,34,.08);
  --shadow-2: 0 16px 40px rgba(20,10,60,.14);

  color-scheme: light only;
}
/* Dark-mode auto-switching intentionally removed — this site always
   renders the light Nakshatra palette above, regardless of the visitor's
   OS/browser color-scheme preference. There is no manual theme toggle
   anywhere in the site's JS, so the light variables in :root are the
   only palette that should ever apply. */

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;font-size:18px}
body{
  margin:0; background:var(--bg); color:var(--text-1);
  font-family:var(--ff-body); line-height:1.68; font-size:1.05rem;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:1120px;margin:0 auto;padding:0 1.75rem}
.wrap-narrow{max-width:760px;margin:0 auto;padding:0 1.75rem}
img{max-width:100%;display:block}
a{color:inherit}
::selection{background:var(--purple);color:#fff}

h1,h2,h3{font-family:var(--ff-disp);font-weight:400;letter-spacing:-.01em;text-wrap:balance;color:var(--text-1);margin:0}
p{margin:0}

/* ── EYEBROW / LABELS ── */
.eyebrow{
  font-family:var(--ff-mono);font-size:.76rem;letter-spacing:.15em;text-transform:uppercase;
  color:var(--text-3);display:inline-flex;align-items:center;gap:.5rem;font-weight:600;
}
.eyebrow .dot{width:6px;height:6px;border-radius:50%;background:currentColor}

/* ── AMBIENT BACKGROUND: ORBS + SHATKONA ── */
.ambient{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.orb{position:absolute;border-radius:50%;filter:blur(70px);opacity:.32;animation:drift 24s ease-in-out infinite}
@keyframes drift{
  0%,100%{transform:translate(0,0) scale(1)}
  33%{transform:translate(3%,-4%) scale(1.07)}
  66%{transform:translate(-2%,3%) scale(.95)}
}
@media(prefers-reduced-motion:reduce){.orb{animation:none}}
.shatkona{position:absolute;opacity:.14;pointer-events:none}
.hero, section.sec{position:relative}
.hero > .wrap, .hero > .wrap-narrow, section.sec > .wrap, section.sec > .wrap-narrow{position:relative;z-index:1}

/* ── GLASS SURFACE ── */
.glass{
  background:rgba(var(--glass), var(--glass-alpha));
  backdrop-filter:blur(18px) saturate(160%);
  -webkit-backdrop-filter:blur(18px) saturate(160%);
  border:1px solid rgba(var(--glass), .9);
  outline:1px solid color-mix(in srgb, var(--border) 55%, transparent);
  outline-offset:-1px;
}

/* ── HEADER / NAV ── */
header.site{
  position:sticky;top:0;z-index:100;
  background:rgba(var(--glass), .78);
  backdrop-filter:blur(16px) saturate(160%);
  -webkit-backdrop-filter:blur(16px) saturate(160%);
  border-bottom:1px solid var(--border);
}
.navrow{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.05rem 0}
.logo{display:flex;align-items:center;gap:.6rem;text-decoration:none;flex:none}
.logo .mark{
  width:28px;height:28px;border-radius:50%;
  background:conic-gradient(from 210deg,var(--purple),var(--rose),var(--saffron),var(--jade),var(--purple));
  transition:transform .4s ease;
}
.logo:hover .mark{transform:rotate(50deg)}
.logo .word{font-family:var(--ff-disp);font-size:1.15rem;color:var(--text-1);white-space:nowrap}
nav.primary{display:flex;align-items:center;gap:1.9rem;flex:1;justify-content:center}
nav.primary a{
  position:relative;font-size:.92rem;color:var(--text-2);text-decoration:none;font-weight:600;
  padding:.4rem 0;transition:color .15s;
}
nav.primary a::after{
  content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--purple);
  transition:right .2s ease;border-radius:2px;
}
nav.primary a:hover{color:var(--text-1)}
nav.primary a:hover::after{right:0}
.navcta{
  flex:none;display:inline-flex;align-items:center;gap:.4rem;background:linear-gradient(120deg,var(--purple),var(--saffron));color:#fff;
  font-size:.87rem;font-weight:700;padding:.65rem 1.2rem;border-radius:8px;text-decoration:none;
  white-space:nowrap;transition:filter .15s, transform .15s; box-shadow:var(--shadow-1);
}
.navcta:hover{filter:brightness(1.1);transform:translateY(-1px)}
.navsecondary{font-size:.85rem;color:var(--text-3);text-decoration:none;white-space:nowrap;margin-right:.25rem;font-weight:600}
.navsecondary:hover{color:var(--text-2)}
.navwrap-inner{display:flex;align-items:center;gap:1rem}

/* ── Mobile nav (hamburger) ──────────────────────────────────────────────
   Checkbox-driven, no JS required. .navtoggle-input and .mobile-menu are
   both direct children of <header class="site">, in that order, so the
   general-sibling selector below can toggle the panel purely in CSS. */
.navtoggle-input{display:none}
.navtoggle{
  display:none;flex-direction:column;justify-content:center;gap:5px;
  width:34px;height:34px;cursor:pointer;flex:none;
}
.navtoggle span{display:block;width:100%;height:2px;background:var(--text-1);border-radius:2px;transition:transform .2s,opacity .2s}
.mobile-menu{display:none;flex-direction:column;padding:0 1.75rem 1.5rem;border-top:1px solid var(--border);background:var(--bg-raised)}
.mobile-menu nav{display:flex;flex-direction:column}
.mobile-menu nav a{padding:.9rem 0;font-weight:600;color:var(--text-1);text-decoration:none;border-bottom:1px solid var(--border);font-size:.98rem}
.mobile-menu .mm-row{display:flex;align-items:center;padding:1rem 0}
.mobile-menu .navcta{width:100%;justify-content:center;padding:.9rem}
@media(max-width:900px){
  nav.primary{display:none}
  .navwrap-inner{display:none}
  .navtoggle{display:flex}
  .navtoggle-input:checked ~ .wrap.navrow .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .navtoggle-input:checked ~ .wrap.navrow .navtoggle span:nth-child(2){opacity:0}
  .navtoggle-input:checked ~ .wrap.navrow .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .navtoggle-input:checked ~ .mobile-menu{display:flex}
}

/* ── BUTTONS ── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5rem;
  font-weight:700;font-size:1rem;padding:.9rem 1.7rem;border-radius:9px;
  text-decoration:none;border:1px solid transparent;cursor:pointer;transition:filter .15s,transform .12s,box-shadow .15s;
  font-family:var(--ff-body);
}
.btn:active{transform:translateY(1px)}
.btn-primary{background:linear-gradient(120deg,var(--purple),var(--saffron));color:#fff;box-shadow:var(--shadow-2)}
.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px)}
.btn-saffron{background:linear-gradient(120deg,var(--saffron),var(--rose));color:#fff;box-shadow:var(--shadow-2)}
.btn-saffron:hover{filter:brightness(1.1);transform:translateY(-2px)}
.btn-rose{background:linear-gradient(120deg,var(--rose),var(--jade));color:#fff;box-shadow:var(--shadow-2)}
.btn-rose:hover{filter:brightness(1.1);transform:translateY(-2px)}
.btn-ghost{background:rgba(var(--glass),.5);backdrop-filter:blur(10px);border-color:var(--border);color:var(--text-1)}
.btn-ghost:hover{background:var(--bg-card);transform:translateY(-2px)}
.btn-lg{padding:1.1rem 2.2rem;font-size:1.08rem}
.btn-sm{padding:.6rem 1.1rem;font-size:.87rem}
.btn[disabled]{opacity:.5;pointer-events:none}
.btn-price{flex-wrap:wrap;row-gap:.15rem;white-space:nowrap}

/* ── HERO ── */
.hero{padding:5rem 0 3.75rem;border-bottom:1px solid var(--border);overflow:hidden}
.hero h1{font-size:clamp(2.5rem,5.6vw,4rem);line-height:1.08;margin:1.1rem 0 1.2rem}
.hero .dek{font-size:1.2rem;color:var(--text-2);max-width:58ch;margin-bottom:1.85rem}
.hero .ctas{display:flex;gap:.9rem;flex-wrap:wrap;margin-bottom:1.5rem}
.trustline{display:flex;align-items:center;gap:.6rem;font-size:.9rem;color:var(--text-2);font-weight:500}
.trustline .stars{color:var(--saffron);letter-spacing:1px}

/* ── SECTIONS ── */
section.sec{padding:4.75rem 0;border-bottom:1px solid var(--border)}
section.sec:last-of-type{border-bottom:none}
section.sec.tinted{background:var(--bg-card)}
.sec-head{max-width:640px;margin-bottom:2.5rem}
.sec-head h2{font-size:clamp(1.85rem,3.8vw,2.5rem);margin:.75rem 0 .85rem}
.sec-head p{color:var(--text-2);font-size:1.08rem}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}

/* ── CARDS (glass) ── */
.card{
  background:rgba(var(--glass), var(--glass-alpha)); backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border:1px solid var(--border); border-radius:14px; padding:1.75rem 1.85rem;
  box-shadow:var(--shadow-1); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.card:hover{transform:translateY(-3px); box-shadow:var(--shadow-2); border-color:var(--purple)}
.grid{display:grid;gap:1.5rem}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
@media(max-width:820px){.grid-3{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.grid-3,.grid-2{grid-template-columns:1fr}}

/* ── BULLET LIST (inside cards) ── */
.bullets{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}
.bullets li{position:relative;padding-left:1.15rem;color:var(--text-2);font-size:.94rem;line-height:1.6}
.bullets li::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--purple)}
.bullets.saffron li::before{background:var(--saffron)}
.bullets.rose li::before{background:var(--rose)}
.bullets.jade li::before{background:var(--jade)}

/* ── PRODUCT CARDS (home) ── */
.products{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
@media(max-width:900px){.products{grid-template-columns:1fr}}
.pcard{
  border-radius:16px;overflow:hidden;border:1px solid var(--border);
  background:rgba(var(--glass), var(--glass-alpha)); backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  display:flex;flex-direction:column;box-shadow:var(--shadow-1);transition:transform .22s ease,box-shadow .22s ease;
}
.pcard:hover{transform:translateY(-5px) scale(1.01);box-shadow:var(--shadow-2)}
.pcard-top{padding:2rem 1.85rem 1.6rem;color:#fff;position:relative;overflow:hidden}
.pcard-top .pk{font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;opacity:.9;font-weight:600}
.pcard-top h3{color:#fff;font-size:1.55rem;margin:.65rem 0 .5rem}
.pcard-top .tag{
  display:inline-block;font-family:var(--ff-mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;
  background:rgba(255,255,255,.2);padding:3px 9px;border-radius:4px;margin-top:.4rem;font-weight:600;
}
.pcard-top.p1{background:linear-gradient(150deg,var(--purple-500),#2C1670)}
.pcard-top.p2{background:linear-gradient(150deg,var(--saffron-500),#5A2E00 65%,var(--purple-500))}
.pcard-top.p3{background:linear-gradient(150deg,var(--rose-500),#4A0E30 60%,var(--jade-500))}
.pcard-body{padding:1.6rem 1.85rem 1.95rem;flex:1;display:flex;flex-direction:column;gap:1rem}
.pcard-body p{color:var(--text-2);font-size:.98rem}
.pcard-price{display:flex;align-items:baseline;gap:.5rem;margin-top:auto}
.pcard-price .amt{font-family:var(--ff-mono);font-size:1.4rem;color:var(--text-1);font-variant-numeric:tabular-nums;font-weight:600}
.pcard-price .was{font-family:var(--ff-mono);font-size:.88rem;color:var(--text-3);text-decoration:line-through}

/* ── TESTIMONIAL ── */
.quote{border-left:3px solid var(--purple);padding-left:1.25rem}
.quote p{font-family:var(--ff-disp);font-size:1.2rem;color:var(--text-1);font-style:italic;line-height:1.5}
.quote .attr{margin-top:.75rem;font-size:.85rem;color:var(--text-3);font-family:var(--ff-mono)}

/* ── STAT ROW ── */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.stat{background:rgba(var(--glass), var(--glass-alpha));backdrop-filter:blur(16px);padding:1.35rem 1.5rem;transition:background .2s}
.stat:hover{background:var(--bg-card)}
.stat .n{font-family:var(--ff-mono);font-size:2.1rem;color:var(--text-1);font-variant-numeric:tabular-nums;display:block;line-height:1;font-weight:600}
.stat .l{font-size:.82rem;color:var(--text-2);margin-top:.45rem;display:block;line-height:1.35}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}}

/* ── FAQ ── */
details.faq{border-bottom:1px solid var(--border);padding:1.2rem 0;transition:background .15s}
details.faq summary{cursor:pointer;font-weight:700;font-size:1.03rem;color:var(--text-1);list-style:none;display:flex;justify-content:space-between;gap:1rem;transition:color .15s}
details.faq summary:hover{color:var(--purple)}
details.faq summary::-webkit-details-marker{display:none}
details.faq summary::after{content:"+";font-family:var(--ff-mono);color:var(--purple);flex:none;font-size:1.2rem}
details.faq[open] summary::after{content:"–"}
details.faq .a{margin-top:.85rem;color:var(--text-2);font-size:.97rem;max-width:64ch}

/* ── PROCESS STEPS ── */
.steps{display:flex;flex-direction:column;gap:0}
.step{display:flex;gap:1.4rem;padding:1.7rem 0;border-bottom:1px solid var(--border);transition:padding-left .2s ease}
.step:last-child{border-bottom:none}
.step:hover{padding-left:.4rem}
.step .num{font-family:var(--ff-disp);font-size:1.75rem;color:var(--purple);flex:none;width:2.5rem}
.step h3{font-size:1.12rem;margin-bottom:.4rem}
.step p{color:var(--text-2);font-size:.98rem;max-width:56ch}

/* ── SAMPLE REPORT PREVIEW ── */
.preview-card{
  background:rgba(var(--glass), var(--glass-alpha));backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-1);
}
.preview-hd{padding:1.15rem 1.6rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;background:var(--bg-card)}
.preview-hd .pt{font-family:var(--ff-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);font-weight:600}
.preview-body{padding:1.85rem}
.preview-body h4{font-family:var(--ff-disp);font-size:1.32rem;margin-bottom:.65rem}
.preview-body p{color:var(--text-2);font-size:1rem}
.preview-fade{position:relative;max-height:210px;overflow:hidden}
.preview-fade::after{content:"";position:absolute;inset:auto 0 0 0;height:90px;background:linear-gradient(to bottom, transparent, var(--bg-raised))}
.scorebar{height:9px;border-radius:100px;background:var(--bg-card);overflow:hidden;margin:.35rem 0 .1rem}
.scorebar > span{display:block;height:100%;border-radius:100px;transition:width 1s ease}
.scorerow{display:flex;justify-content:space-between;font-family:var(--ff-mono);font-size:.78rem;color:var(--text-2);margin-top:.95rem;font-weight:600}

/* ── TABLE ── */
.tblwrap{overflow-x:auto;border:1px solid var(--border);border-radius:10px}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:.92rem}
thead th{text-align:left;font-family:var(--ff-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-2);background:var(--bg-card);padding:.8rem 1.05rem;border-bottom:1px solid var(--border);font-weight:700}
tbody td{padding:.8rem 1.05rem;border-bottom:1px solid var(--border);color:var(--text-2);vertical-align:top}
tbody tr{transition:background .15s}
tbody tr:hover{background:var(--bg-card)}
tbody tr:last-child td{border-bottom:none}
tbody td.hl{color:var(--text-1);font-weight:700}
.chk{color:var(--jade);font-weight:700}
.crs{color:var(--text-3)}

/* ── FOOTER ── */
footer.site{padding:3.5rem 0 2.5rem;border-top:1px solid var(--border);background:var(--bg-card);position:relative;overflow:hidden}
.footgrid{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:2rem;margin-bottom:2.5rem;position:relative;z-index:1}
@media(max-width:900px){.footgrid{grid-template-columns:1fr 1fr}}
.footcol h4{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin:0 0 .9rem;font-family:var(--ff-mono);font-weight:700}
.footcol ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.footcol a{font-size:.92rem;color:var(--text-2);text-decoration:none;transition:color .15s}
.footcol a:hover{color:var(--purple)}
.footbottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-top:1.75rem;border-top:1px solid var(--border);position:relative;z-index:1}
.footbottom p{font-family:var(--ff-mono);font-size:.75rem;color:var(--text-3)}

/* ── STICKY MOBILE CTA ──
   Hidden until VB_initStickyCta() (vb-common.js) detects the hero's own
   CTA has scrolled out of view — avoids showing a redundant duplicate
   button right under the one already on screen. */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:200;
  background:rgba(var(--glass),.9);backdrop-filter:blur(16px);
  border-top:1px solid var(--border);padding:.85rem 1.25rem;display:none;
  box-shadow:0 -8px 24px rgba(20,10,60,.12);
  transform:translateY(100%);transition:transform .25s ease;
}
@media(max-width:760px){.sticky-cta{display:flex;justify-content:center}
  body{padding-bottom:70px}
}
.sticky-cta.show{transform:translateY(0)}
.sticky-cta .btn{width:100%;max-width:420px}

/* ── UTIL ── */
.center{text-align:center}
.mt-0{margin-top:0}
.badge{font-family:var(--ff-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--border);border-radius:4px;padding:3px 9px;color:var(--text-2);font-weight:600}
.badge.beta{color:var(--saffron);border-color:var(--saffron)}
.noindex-banner{background:var(--bg-card);border-bottom:1px dashed var(--border);text-align:center;padding:.5rem;font-family:var(--ff-mono);font-size:.72rem;color:var(--text-3);letter-spacing:.05em}

/* ── FUNNEL: STEPPER ── */
.stepper{display:flex;align-items:center;gap:.6rem;margin-bottom:2rem;flex-wrap:wrap}
.stepper .sp{display:flex;align-items:center;gap:.55rem;font-family:var(--ff-mono);font-size:.78rem;color:var(--text-3);font-weight:600}
.stepper .sp .b{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:.72rem}
.stepper .sp.done .b{background:var(--jade);border-color:var(--jade);color:#fff}
.stepper .sp.active .b{background:var(--purple);border-color:var(--purple);color:#fff}
.stepper .sp.active{color:var(--text-1);font-weight:700}
.stepper .rule{width:28px;height:1px;background:var(--border)}

/* ── FUNNEL: FORM ── */
.formcard{
  background:rgba(var(--glass), var(--glass-alpha));backdrop-filter:blur(18px) saturate(150%);
  -webkit-backdrop-filter:blur(18px) saturate(150%);
  border:1px solid var(--border);border-radius:16px;padding:2.1rem;box-shadow:var(--shadow-2);max-width:560px;
}
.formrow{margin-bottom:1.25rem}
.formrow label{display:block;font-size:.88rem;font-weight:700;color:var(--text-1);margin-bottom:.4rem}
.formrow .hint{font-size:.8rem;color:var(--text-3);margin-top:.35rem}
.formrow input, .formrow select{
  width:100%;padding:.8rem .95rem;border:1px solid var(--border);border-radius:8px;
  background:var(--bg-raised);color:var(--text-1);font-size:.98rem;font-family:var(--ff-body);
  transition:border-color .15s, box-shadow .15s;
}
.formrow input:focus, .formrow select:focus{outline:none;border-color:var(--purple);box-shadow:0 0 0 3px color-mix(in srgb, var(--purple) 22%, transparent)}
.formgrid2{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:480px){.formgrid2{grid-template-columns:1fr}}
.start-split{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start}
@media(max-width:900px){.start-split{grid-template-columns:1fr;gap:2rem}}
@media(max-width:640px){.formcard{padding:1.5rem 1.15rem;max-width:none}}

/* ── FUNNEL: LOCKED SECTION ── */
.locked{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--bg-raised)}
.locked-content{filter:blur(5px);opacity:.55;padding:1.75rem;user-select:none;pointer-events:none}
.locked-overlay{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:2rem;background:linear-gradient(to bottom, transparent, var(--bg-raised) 40%);
  gap:.75rem;
}
.locked-overlay .lock-icon{font-size:1.7rem}
.locked-overlay h4{font-family:var(--ff-disp);font-size:1.25rem}
.locked-overlay p{font-size:.9rem;color:var(--text-2);max-width:38ch}

/* ── PRICING TIERS ── */
.tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;align-items:stretch}
@media(max-width:860px){.tiers{grid-template-columns:1fr;max-width:420px;margin:0 auto}}
.tier{
  background:rgba(var(--glass), var(--glass-alpha));backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border:1px solid var(--border);border-radius:16px;padding:1.85rem 1.75rem;
  display:flex;flex-direction:column;gap:1.1rem;transition:transform .2s ease, box-shadow .2s ease;
  position:relative;
}
.tier:hover{transform:translateY(-4px);box-shadow:var(--shadow-2)}
.tier.anchor{border-color:var(--tier-accent, var(--purple));border-width:2px;box-shadow:var(--shadow-2)}
@media(min-width:861px){.tier.anchor{transform:scale(1.045);z-index:1}}
.tier .anchor-flag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--tier-accent, var(--purple));color:#fff;font-family:var(--ff-mono);
  font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;padding:4px 12px;border-radius:100px;font-weight:700;
}
.tier .tier-name{font-family:var(--ff-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-weight:700}
.tier .tier-role{font-size:.86rem;color:var(--text-3);margin-top:-.7rem}
.tier .tier-price{font-family:var(--ff-disp);font-size:2.1rem;color:var(--text-1);line-height:1}
.tier .tier-price small{font-family:var(--ff-mono);font-size:.9rem;color:var(--text-3);font-weight:400}
.tier ul.bullets li{font-size:.88rem}
.tier .tier-why{font-size:.84rem;color:var(--text-2);font-style:italic;border-top:1px solid var(--border);padding-top:.9rem;margin-top:auto}

/* ── SUITE BUNDLE ── */
.bundle{
  background:linear-gradient(135deg, rgba(var(--glass),.85), rgba(var(--glass),.6));
  backdrop-filter:blur(20px) saturate(160%); -webkit-backdrop-filter:blur(20px) saturate(160%);
  border:1.5px solid var(--purple); border-radius:20px; padding:2.5rem;
  position:relative; overflow:hidden; box-shadow:var(--shadow-2);
}
.bundle-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.5rem 0}
.bundle-item{
  display:flex;align-items:center;gap:.6rem;background:var(--bg-card);border:1px solid var(--border);
  border-radius:100px;padding:.55rem 1.1rem;font-size:.86rem;font-weight:600;
}
.bundle-item .dot{width:8px;height:8px;border-radius:50%;flex:none}
.bundle-price{display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap;margin-top:.5rem}
.bundle-price .now{font-family:var(--ff-disp);font-size:2.6rem;color:var(--purple)}
.bundle-price .was{font-family:var(--ff-mono);font-size:1.1rem;color:var(--text-3);text-decoration:line-through}
.bundle-price .save{font-family:var(--ff-mono);font-size:.8rem;color:var(--jade);font-weight:700;border:1px solid var(--jade);border-radius:100px;padding:2px 10px}

/* ── FUNNEL: PROCESSING ── */
.spinner{width:54px;height:54px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--purple);animation:spin 1s linear infinite;margin:0 auto}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.spinner{animation:none;border-top-color:var(--border)}}
.proglist{max-width:420px;margin:2rem auto 0;text-align:left}
.progitem{display:flex;align-items:center;gap:.75rem;padding:.65rem 0;font-size:.94rem;color:var(--text-3);transition:color .3s}
.progitem.done{color:var(--text-1)}
.progitem .ck{width:19px;height:19px;border-radius:50%;border:1.5px solid var(--border);flex:none;display:flex;align-items:center;justify-content:center;font-size:.62rem;transition:background .3s,border-color .3s}
.progitem.done .ck{background:var(--jade);border-color:var(--jade);color:#fff}

/* ── CURRENCY SWITCH ── */
.currency-switch{
  font-family:var(--ff-mono);font-size:.78rem;font-weight:600;color:var(--text-2);
  background:transparent;border:1px solid var(--border);border-radius:7px;
  padding:.45rem .6rem;cursor:pointer;appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,var(--text-3) 50%),linear-gradient(135deg,var(--text-3) 50%,transparent 50%);
  background-position:calc(100% - 14px) center,calc(100% - 9px) center;background-size:5px 5px;background-repeat:no-repeat;
  padding-right:1.6rem;
}
.currency-switch:hover{border-color:var(--purple)}
.currency-switch:focus-visible{outline:2px solid var(--purple);outline-offset:1px}

/* ── LEGAL PAGES ── */
.legal h1{font-size:clamp(1.9rem,4vw,2.5rem);margin-bottom:.5rem}
.legal .last-updated{color:var(--text-3);font-size:.85rem;margin-bottom:2.5rem;font-family:var(--ff-mono);letter-spacing:.03em}
.legal h2{font-size:1.3rem;margin:2.75rem 0 1rem;padding-top:1.75rem;border-top:1px solid var(--border)}
.legal h2:first-of-type{border-top:none;padding-top:0;margin-top:0}
.legal p,.legal li{color:var(--text-2);margin-bottom:1rem;line-height:1.7;font-size:.98rem}
.legal ul,.legal ol{margin:0 0 1.25rem 1.4rem}
.legal a{color:var(--purple);font-weight:600}
.legal strong{color:var(--text-1)}
.legal-foot{margin-top:2.5rem;padding-top:2rem;border-top:1px solid var(--border);color:var(--text-3);font-size:.85rem}
.guarantee-box{background:linear-gradient(120deg,var(--purple),var(--saffron));color:#fff;padding:2.25rem;border-radius:16px;text-align:center;margin:2.5rem 0;box-shadow:var(--shadow-2)}
.guarantee-box h2{color:#fff;margin:0 0 .6rem;border:none;padding:0;font-size:1.7rem}
.guarantee-box p{color:rgba(255,255,255,.92);margin:0;font-size:1.05rem}
