/* =========================================================================
   IMPRINT
   Premium design system  ·  shared stylesheet for all pages
   Direction: elevate the existing dark, trader-credible aesthetic.
   ========================================================================= */

:root {
  --bg:          #070a10;
  --bg-elev:     #0f141d;
  --bg-elev-2:   #141a25;
  --bg-elev-3:   #1a2230;

  --text:        #eef2f8;
  --text-dim:    #9aa4b6;
  --text-faint:  #7c87a0;

  --mint:        #5ee0a8;
  --mint-bright: #7af0bd;
  --mint-deep:   #2fae7d;
  --mint-glow:   rgba(94, 224, 168, 0.16);
  --mint-soft:   rgba(94, 224, 168, 0.08);

  --gold:        #d8b23e;
  --gold-soft:   rgba(216, 178, 62, 0.12);

  --red:         #e5564b;
  --red-soft:    rgba(229, 86, 75, 0.10);

  --border:      #1c2533;
  --border-2:    #28333f;
  --border-mint: rgba(94, 224, 168, 0.35);

  --serif: 'Fraunces', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
  --sans:  'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --mono:  'JetBrains Mono', ui-monospace, 'SF Mono', 'Cascadia Mono', Menlo, monospace;

  --max-width:   1140px;
  --radius:      14px;
  --radius-sm:   8px;
  --shadow:      0 1px 0 rgba(255,255,255,0.02), 0 18px 40px -24px rgba(0,0,0,0.8);
  --shadow-lg:   0 30px 80px -32px rgba(0,0,0,0.9);
  --ease:        cubic-bezier(0.22, 1, 0.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(--bg);
  color: var(--text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  background-image:
    radial-gradient(900px 520px at 50% -8%, rgba(94,224,168,0.07), transparent 60%),
    radial-gradient(700px 500px at 100% 0%, rgba(80,120,255,0.05), transparent 55%);
  background-attachment: fixed;
}

h1, h2, h3, h4 {
  font-family: var(--serif); font-weight: 500; letter-spacing: -0.015em;
  line-height: 1.12; color: var(--text);
}
h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); letter-spacing: -0.03em; }
h2 { font-size: clamp(1.9rem, 3.4vw, 2.8rem); margin-bottom: 1rem; }
h3 { font-size: 1.35rem; margin-bottom: 0.6rem; }
p  { color: var(--text-dim); margin-bottom: 1rem; }
strong { color: var(--text); font-weight: 600; }

a { color: var(--mint); text-decoration: none; transition: color .15s ease; }
a:hover { color: var(--mint-bright); }

.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; letter-spacing: -0.02em; }
.container { max-width: var(--max-width); margin: 0 auto; padding: 0 1.5rem; }
.narrow { max-width: 760px; }

.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
:focus-visible { outline: 2px solid var(--mint); outline-offset: 3px; border-radius: 4px; }
.skip-link { position:absolute; left:-999px; top:0; background:var(--mint); color:#04130c; padding:.6rem 1rem; border-radius:0 0 8px 0; font-weight:700; z-index:2000; }
.skip-link:focus { left:0; }

.eyebrow { display:inline-flex; align-items:center; gap:.5rem; font-family:var(--mono); font-size:0.72rem; font-weight:600; letter-spacing:0.22em; text-transform:uppercase; color:var(--mint); }
.eyebrow::before { content:""; width:22px; height:1px; background:var(--mint); opacity:.6; }
.section-eyebrow { justify-content:center; display:flex; margin-bottom:.9rem; }
.section-title { text-align:center; margin-bottom:1rem; }
.section-intro { text-align:center; max-width:620px; margin:0 auto 3rem; color:var(--text-dim); font-size:1.05rem; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:0.95rem 1.7rem; border-radius:10px; font-family:var(--sans); font-weight:600; font-size:0.96rem; line-height:1; cursor:pointer; border:1px solid transparent; transition:transform .18s var(--ease), box-shadow .25s var(--ease), background .2s ease, border-color .2s ease; white-space:nowrap; }
.btn-primary { background:linear-gradient(180deg, var(--mint-bright), var(--mint)); color:#04130c; box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 10px 30px -12px var(--mint-glow); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 16px 40px -14px var(--mint-glow); color:#04130c; }
.btn-outline { background:rgba(255,255,255,0.015); color:var(--text); border-color:var(--border-2); }
.btn-outline:hover { border-color:var(--border-mint); background:var(--mint-soft); color:var(--text); transform:translateY(-2px); }
.btn-gold { background:linear-gradient(180deg, #e7c45a, var(--gold)); color:#1c1503; box-shadow:0 1px 0 rgba(255,255,255,.25) inset, 0 10px 30px -12px var(--gold-soft); }
.btn-gold:hover { transform:translateY(-2px); color:#1c1503; }
.btn-lg { padding:1.1rem 2.1rem; font-size:1.02rem; }
.btn-block { width:100%; }
.btn-ghost { background:transparent; color:var(--text-dim); padding:.6rem .4rem; }
.btn-ghost:hover { color:var(--text); }

header { position:sticky; top:0; z-index:100; border-bottom:1px solid var(--border); background:rgba(7,10,16,0.72); backdrop-filter:saturate(160%) blur(14px); -webkit-backdrop-filter:saturate(160%) blur(14px); }
.header-inner { display:flex; justify-content:space-between; align-items:center; padding:1.05rem 0; }
.logo { display:inline-flex; align-items:baseline; gap:.55rem; font-family:var(--serif); font-size:1.4rem; font-weight:600; color:var(--text); letter-spacing:.01em; }
.logo:hover { color:var(--text); }
.logo .mark { display:inline-grid; place-items:center; width:26px; height:26px; border-radius:7px; background:linear-gradient(150deg, var(--mint), var(--mint-deep)); color:#04130c; font-family:var(--mono); font-weight:700; font-size:.9rem; transform:translateY(2px); }
.logo-by { font-family:var(--sans); font-size:.62rem; color:var(--text-faint); font-weight:600; text-transform:uppercase; letter-spacing:.12em; }
nav.primary ul { display:flex; gap:1.9rem; list-style:none; align-items:center; }
nav.primary a { color:var(--text-dim); font-size:.92rem; font-weight:500; }
nav.primary a:hover { color:var(--text); }
.nav-cta { margin-left:.4rem; }
.nav-toggle { display:none; background:none; border:1px solid var(--border-2); border-radius:8px; padding:.5rem .6rem; cursor:pointer; }
.nav-toggle span { display:block; width:20px; height:2px; background:var(--text); margin:4px 0; border-radius:2px; transition:.2s; }
@media (max-width:860px){
  .nav-toggle { display:block; }
  nav.primary { position:fixed; inset:64px 0 auto 0; background:var(--bg-elev); border-bottom:1px solid var(--border); transform:translateY(-120%); transition:transform .28s var(--ease); padding:1rem 0 1.4rem; }
  nav.primary.open { transform:translateY(0); }
  nav.primary ul { flex-direction:column; gap:0; align-items:stretch; }
  nav.primary li { border-top:1px solid var(--border); }
  nav.primary a { display:block; padding:.95rem 1.5rem; }
  nav.primary .nav-cta { margin:1rem 1.5rem 0; }
  nav.primary .nav-cta .btn { width:100%; }
}

section { padding:5.5rem 0; border-top:1px solid var(--border); position:relative; }
.section-tight { padding:4rem 0; }

.hero { border-top:none; padding:5rem 0 4.5rem; position:relative; overflow:hidden; }
.hero-grid { display:grid; grid-template-columns:1.05fr 0.95fr; gap:3.5rem; align-items:center; }
.hero h1 { margin:1rem 0 1.3rem; }
.hero .lead { font-size:1.2rem; color:var(--text-dim); max-width:33ch; margin-bottom:2rem; }
.hero-ctas { display:flex; gap:.9rem; flex-wrap:wrap; }
.hero-trust { margin-top:2rem; display:flex; align-items:center; gap:.7rem; color:var(--text-faint); font-size:.9rem; }
.hero-centered { text-align:center; }
.hero-centered .lead, .hero-centered h1 { margin-left:auto; margin-right:auto; max-width:760px; }
.hero-centered .lead { max-width:60ch; }
.hero-centered .hero-ctas { justify-content:center; }
.hero-centered .hero-trust { justify-content:center; }
@media (max-width:900px){ .hero-grid { grid-template-columns:1fr; gap:2.5rem; } .hero .lead { max-width:48ch; } }

.visual-frame { position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--border-2); background:var(--bg-elev); box-shadow:var(--shadow-lg); }
.visual-frame::after { content:""; position:absolute; inset:0; border-radius:16px; pointer-events:none; box-shadow:inset 0 1px 0 rgba(255,255,255,.05); }
.visual-frame img { display:block; width:100%; height:auto; }
.frame-bar { display:flex; align-items:center; gap:.5rem; padding:.7rem .9rem; border-bottom:1px solid var(--border); background:var(--bg-elev-2); }
.frame-bar .dot { width:10px; height:10px; border-radius:50%; background:var(--border-2); }
.frame-bar .label { margin-left:auto; font-family:var(--mono); font-size:.72rem; color:var(--text-faint); letter-spacing:.04em; }
.glow-mint { position:absolute; width:420px; height:420px; border-radius:50%; background:radial-gradient(circle, var(--mint-glow), transparent 70%); filter:blur(20px); z-index:-1; }

.live-pill { display:inline-flex; align-items:center; gap:.45rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--mint); background:var(--mint-soft); border:1px solid var(--border-mint); padding:.35rem .7rem; border-radius:100px; }
.live-pill .pulse { width:8px; height:8px; border-radius:50%; background:var(--mint); animation:pulse 2.2s infinite; }
@keyframes pulse { 0%{box-shadow:0 0 0 0 rgba(94,224,168,.5);} 70%{box-shadow:0 0 0 9px rgba(94,224,168,0);} 100%{box-shadow:0 0 0 0 rgba(94,224,168,0);} }

.trust-band { padding:2.2rem 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:rgba(255,255,255,0.012); }
.trust-band .label { text-align:center; font-family:var(--mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase; color:var(--text-faint); margin-bottom:1.3rem; }
.firm-row { display:flex; flex-wrap:wrap; justify-content:center; gap:.7rem 1rem; }
.firm-chip { font-family:var(--mono); font-size:.82rem; color:var(--text-dim); border:1px solid var(--border-2); border-radius:100px; padding:.45rem 1rem; background:var(--bg-elev); transition:.2s; }
.firm-chip:hover { color:var(--text); border-color:var(--border-mint); }

.stat-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
@media (max-width:760px){ .stat-grid { grid-template-columns:repeat(2,1fr); } }
.stat { background:linear-gradient(180deg, var(--bg-elev), var(--bg-elev) 60%, var(--bg-elev-2)); border:1px solid var(--border); border-radius:var(--radius); padding:1.6rem 1.4rem; text-align:center; }
.stat .num { font-family:var(--mono); font-size:clamp(1.6rem,3vw,2.2rem); font-weight:600; color:var(--mint); letter-spacing:-0.02em; }
.stat .num.gold { color:var(--gold); }
.stat .lab { font-size:.82rem; color:var(--text-faint); margin-top:.35rem; letter-spacing:.02em; }

.grid-2 { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; }
.grid-3 { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.4rem; }
@media (max-width:860px){ .grid-2, .grid-3 { grid-template-columns:1fr; } }

.card { background:var(--bg-elev); border:1px solid var(--border); border-radius:var(--radius); padding:1.9rem; transition:border-color .2s ease, transform .2s var(--ease), box-shadow .25s ease; display:flex; flex-direction:column; }
.card:hover { border-color:var(--border-mint); transform:translateY(-3px); box-shadow:var(--shadow); }
.card .icon { width:42px; height:42px; border-radius:11px; display:grid; place-items:center; margin-bottom:1.1rem; background:var(--mint-soft); border:1px solid var(--border-mint); color:var(--mint); }
.card .icon svg { width:22px; height:22px; }
.card h3 { font-size:1.2rem; }
.card p { font-size:.95rem; margin-bottom:0; }

.product-card { position:relative; overflow:hidden; }
.product-card .badge { align-self:flex-start; margin-bottom:1.1rem; }
.product-card h3 { font-size:1.55rem; margin-bottom:.35rem; }
.product-card .tagline { font-family:var(--mono); font-size:.82rem; color:var(--mint); margin-bottom:1rem; letter-spacing:.01em; }
.product-card .description { color:var(--text-dim); font-size:.95rem; margin-bottom:1.4rem; flex-grow:1; }
.product-card .pricing { font-weight:600; font-size:1rem; margin-bottom:1.3rem; color:var(--text); }
.product-card .pricing .price-prefix { color:var(--text-faint); font-weight:400; font-size:.85rem; }
.product-card .pricing .mono { color:var(--text); }
.product-card .cta { margin-top:auto; }
.product-card .feat-chips { display:flex; flex-wrap:wrap; gap:.4rem; margin-bottom:1.3rem; }
.chip { font-size:.74rem; font-family:var(--mono); color:var(--text-dim); background:var(--bg-elev-2); border:1px solid var(--border); border-radius:6px; padding:.25rem .55rem; }

.badge { display:inline-flex; align-items:center; gap:.4rem; padding:.3rem .65rem; border-radius:6px; font-family:var(--mono); font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; }
.badge-live { background:var(--mint); color:#04130c; }
.badge-soon { background:var(--bg-elev-2); color:var(--mint); border:1px solid var(--border-mint); }
.badge-beta { background:var(--gold-soft); color:var(--gold); border:1px solid rgba(216,178,62,.4); }
.badge-best { background:var(--gold); color:#1c1503; }
.badge-new  { background:var(--mint-soft); color:var(--mint); border:1px solid var(--border-mint); }

.split { display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.split.reverse .split-media { order:2; }
@media (max-width:860px){ .split { grid-template-columns:1fr; gap:2rem; } .split.reverse .split-media { order:0; } }

.table-wrap { overflow-x:auto; border:1px solid var(--border); border-radius:var(--radius); background:var(--bg-elev); }
table.cmp { width:100%; border-collapse:collapse; min-width:640px; }
table.cmp th, table.cmp td { padding:.9rem 1.1rem; text-align:left; border-bottom:1px solid var(--border); font-size:.92rem; }
table.cmp thead th { font-family:var(--mono); font-size:.74rem; text-transform:uppercase; letter-spacing:.08em; color:var(--text-faint); background:var(--bg-elev-2); }
table.cmp thead th.us { color:var(--mint); }
table.cmp tbody td:first-child { color:var(--text-dim); }
table.cmp td.us { color:var(--text); background:var(--mint-soft); font-weight:600; }
table.cmp .yes { color:var(--mint); font-weight:700; }
table.cmp .no  { color:var(--text-faint); }
table.cmp .partial { color:var(--gold); }
table.cmp tr:last-child td { border-bottom:none; }
table.cmp .row-total td { font-weight:700; color:var(--text); background:var(--bg-elev-2); }

.price-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; align-items:stretch; }
@media (max-width:860px){ .price-grid { grid-template-columns:1fr; } }
.price-card { background:var(--bg-elev); border:1px solid var(--border); border-radius:var(--radius); padding:2rem; display:flex; flex-direction:column; position:relative; }
.price-card.featured { border-color:var(--border-mint); box-shadow:0 0 0 1px var(--mint-soft), 0 24px 60px -30px var(--mint-glow); }
.price-card.gold { border-color:rgba(216,178,62,.45); }
.price-card .plan { font-family:var(--mono); font-size:.76rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-faint); margin-bottom:.8rem; }
.price-card .amt { font-family:var(--serif); font-size:2.6rem; color:var(--text); line-height:1; margin-bottom:.25rem; }
.price-card .amt .per { font-family:var(--sans); font-size:1rem; color:var(--text-faint); }
.price-card .note { font-size:.85rem; color:var(--text-faint); margin-bottom:1.4rem; }
.price-card ul { list-style:none; margin-bottom:1.6rem; flex-grow:1; }
.price-card li { position:relative; padding-left:1.6rem; margin-bottom:.7rem; font-size:.92rem; color:var(--text-dim); }
.price-card li::before { content:"✓"; position:absolute; left:0; color:var(--mint); font-weight:700; }
.price-card .btn { margin-top:auto; }
.ribbon { position:absolute; top:-1px; right:1.4rem; background:var(--mint); color:#04130c; font-family:var(--mono); font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; padding:.35rem .7rem; border-radius:0 0 7px 7px; }
.ribbon.gold { background:var(--gold); color:#1c1503; }

.steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:760px){ .steps { grid-template-columns:1fr; } }
.step { background:var(--bg-elev); border:1px solid var(--border); border-radius:var(--radius); padding:1.8rem; }
.step .n { font-family:var(--mono); font-size:.8rem; color:var(--mint); border:1px solid var(--border-mint); border-radius:8px; width:34px; height:34px; display:grid; place-items:center; margin-bottom:1rem; }
.step h3 { font-size:1.15rem; }
.step p { font-size:.92rem; margin-bottom:0; }

.assurance { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }
@media (max-width:760px){ .assurance { grid-template-columns:repeat(2,1fr); } }
.assure { text-align:center; padding:1.4rem 1rem; }
.assure .ic { width:40px; height:40px; margin:0 auto .7rem; color:var(--mint); display:grid; place-items:center; border-radius:10px; background:var(--mint-soft); border:1px solid var(--border-mint); }
.assure h4 { font-family:var(--sans); font-size:.95rem; font-weight:600; margin-bottom:.25rem; }
.assure p { font-size:.82rem; color:var(--text-faint); margin:0; }

.testimonials-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:860px){ .testimonials-grid { grid-template-columns:1fr; } }
.tcard { background:var(--bg-elev); border:1px solid var(--border); border-radius:var(--radius); padding:1.8rem; display:flex; flex-direction:column; }
.tcard .stars { color:var(--gold); letter-spacing:2px; font-size:.95rem; margin-bottom:.9rem; }
.tcard blockquote { color:var(--text); font-size:1rem; line-height:1.6; margin-bottom:1.3rem; flex-grow:1; }
.tcard .who { display:flex; align-items:center; gap:.75rem; }
.tcard .avatar { width:38px; height:38px; border-radius:50%; background:linear-gradient(150deg,var(--bg-elev-3),var(--bg-elev-2)); border:1px solid var(--border-2); display:grid; place-items:center; font-family:var(--mono); font-size:.8rem; color:var(--mint); font-weight:600; }
.tcard .who .name { font-size:.88rem; color:var(--text); font-weight:600; }
.tcard .who .role { font-size:.78rem; color:var(--text-faint); }
.placeholder-note { text-align:center; font-family:var(--mono); font-size:.72rem; color:var(--text-faint); letter-spacing:.06em; margin-top:1.6rem; }

.faq { max-width:800px; margin:0 auto; }
.faq details { border:1px solid var(--border); border-radius:var(--radius-sm); background:var(--bg-elev); margin-bottom:.8rem; overflow:hidden; }
.faq details[open] { border-color:var(--border-mint); }
.faq summary { cursor:pointer; list-style:none; padding:1.15rem 1.4rem; font-weight:600; color:var(--text); display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; font-family:var(--mono); color:var(--mint); font-size:1.3rem; transition:transform .2s; }
.faq details[open] summary::after { transform:rotate(45deg); }
.faq .answer { padding:0 1.4rem 1.25rem; color:var(--text-dim); font-size:.95rem; }

.offer-band { background:linear-gradient(180deg, rgba(216,178,62,0.06), transparent), var(--bg-elev); border:1px solid rgba(216,178,62,.3); border-radius:var(--radius); padding:2.6rem; text-align:center; box-shadow:0 30px 80px -40px rgba(216,178,62,.25); }
.offer-band h2 { margin-bottom:.6rem; }
.offer-band .seats { font-family:var(--mono); font-size:.85rem; color:var(--gold); letter-spacing:.04em; margin:1rem 0 1.4rem; }

.final-cta { text-align:center; }
.final-cta .ctas { display:flex; gap:.9rem; justify-content:center; flex-wrap:wrap; margin-top:1.8rem; }

.sticky-cta { position:fixed; left:0; right:0; bottom:0; z-index:90; display:none; background:rgba(10,14,22,0.94); backdrop-filter:blur(12px); border-top:1px solid var(--border); padding:.7rem 1rem calc(.7rem + env(safe-area-inset-bottom)); }
.sticky-cta .inner { display:flex; align-items:center; gap:.9rem; max-width:var(--max-width); margin:0 auto; }
.sticky-cta .px { font-family:var(--mono); font-size:.95rem; color:var(--text); }
.sticky-cta .px small { display:block; color:var(--text-faint); font-size:.7rem; font-family:var(--sans); }
.sticky-cta .btn { margin-left:auto; flex-shrink:0; }
@media (max-width:760px){ .sticky-cta { display:block; } body.has-sticky { padding-bottom:76px; } }

footer { padding:4rem 0 2.4rem; border-top:1px solid var(--border); color:var(--text-faint); font-size:.85rem; background:rgba(0,0,0,.2); }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:2.6rem; margin-bottom:2.6rem; }
@media (max-width:760px){ .footer-grid { grid-template-columns:1fr 1fr; gap:2rem; } }
.footer-brand p { font-size:.85rem; color:var(--text-faint); max-width:30ch; }
.footer-pay { display:flex; gap:.5rem; margin-top:1.1rem; flex-wrap:wrap; }
.footer-pay span { font-family:var(--mono); font-size:.68rem; color:var(--text-dim); border:1px solid var(--border-2); border-radius:6px; padding:.3rem .55rem; }
.footer-grid h4 { color:var(--text); font-size:.78rem; font-weight:600; text-transform:uppercase; letter-spacing:.12em; margin-bottom:1rem; font-family:var(--sans); }
.footer-grid ul { list-style:none; }
.footer-grid li { margin-bottom:.6rem; }
.footer-grid a { color:var(--text-faint); }
.footer-grid a:hover { color:var(--text); }
.footer-bottom { text-align:center; padding-top:2rem; border-top:1px solid var(--border); }
.footer-bottom .disclaimer { max-width:760px; margin:1rem auto 0; font-size:.74rem; line-height:1.55; color:var(--text-faint); }

.js .reveal { opacity:0; transform:translateY(18px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
.reveal { opacity:1; transform:none; }
.reveal.in { opacity:1; transform:none; }

@media (prefers-reduced-motion: reduce) {
  * { animation:none !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; transition:none; }
  .btn:hover, .card:hover, .product-card:hover { transform:none; }
}

/* ---- Legal / prose pages ------------------------------------------------- */
.legal { max-width: 780px; margin: 0 auto; }
.legal h1 { margin-bottom: .6rem; }
.legal .updated { font-family: var(--mono); font-size: .8rem; color: var(--text-faint); margin-bottom: 2.4rem; letter-spacing: .03em; }
.legal h2 { font-size: 1.4rem; margin: 2.4rem 0 .9rem; }
.legal h3 { font-size: 1.08rem; color: var(--text); margin: 1.8rem 0 .6rem; }
.legal p { margin-bottom: 1rem; }
.legal ul { margin: 0 0 1.3rem 1.3rem; }
.legal li { margin-bottom: .55rem; color: var(--text-dim); }
.legal a { color: var(--mint); }
.legal .lead-note { font-size: 1.05rem; color: var(--text); border-left: 2px solid var(--mint); padding-left: 1rem; }

/* =========================================================================
   2026 TRENDS — Phase 1 (kinetic type, micro-interactions, a11y)
                 + Phase 2 (organic glow, 3D tilt)
   All motion gated by prefers-reduced-motion and (where relevant) fine pointers.
   ========================================================================= */

/* --- Micro-interactions: button press feedback --- */
.btn:active { transform: translateY(0) scale(0.985); }

/* --- Kinetic hero headline (word-by-word reveal, hero only) --- */
.kinetic .kw { display:inline-block; will-change:transform,opacity; }
.kinetic.kinetic-ready .kw { opacity:0; transform:translateY(0.7em); animation:kwIn .72s var(--ease) both; animation-delay:calc(var(--i) * 0.055s); }
@keyframes kwIn { from{opacity:0; transform:translateY(0.7em);} to{opacity:1; transform:none;} }

/* --- Lead-form success: animated checkmark (micro-interaction) --- */
.lead-success { display:flex; flex-direction:column; align-items:center; gap:.7rem; margin-top:1.2rem; text-align:center; }
.lead-check { width:54px; height:54px; border-radius:50%; display:grid; place-items:center; background:var(--mint-soft); border:1px solid var(--border-mint); animation:checkPop .4s var(--ease) both; }
.lead-check svg { width:30px; height:30px; }
.lead-check path { fill:none; stroke:var(--mint); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:32; stroke-dashoffset:32; animation:checkDraw .5s var(--ease) .14s forwards; }
@keyframes checkPop { from{ transform:scale(.6); opacity:0; } to{ transform:scale(1); opacity:1; } }
@keyframes checkDraw { to { stroke-dashoffset:0; } }

/* --- Organic atmosphere: soft ambient glow accents (Phase 2) --- */
.glow-mint.glow-lg { width:560px; height:560px; filter:blur(34px); }
.section--curve { position:relative; }
.section--curve::before {
  content:""; position:absolute; left:50%; top:-1px; width:160%; height:90px;
  transform:translateX(-50%); pointer-events:none; z-index:0;
  background:radial-gradient(60% 100% at 50% 0%, var(--mint-soft), transparent 70%);
}
.section--curve > .container { position:relative; z-index:1; }

/* curved SVG divider sitting at the bottom of a band */
.wave-divider { display:block; width:100%; height:48px; color:var(--bg); margin-top:-1px; }
.wave-divider svg { display:block; width:100%; height:100%; }

/* --- 3D tilt on the hero chart card (Phase 2, fine-pointer only) --- */
.tilt { transform-style:preserve-3d; transition:transform .3s var(--ease); }
@media (hover:hover) and (pointer:fine) {
  .tilt.tilt-ready { will-change:transform; }
}

@media (prefers-reduced-motion: reduce) {
  .kinetic.kinetic-ready .kw { animation:none !important; opacity:1; transform:none; }
  .lead-check, .lead-check path { animation:none !important; stroke-dashoffset:0; }
  .tilt { transform:none !important; }
}

/* =========================================================================
   Phase 2 (extended) — site-wide organic hero atmosphere + reveal depth
   Applied globally so every page (Flow, Centurion, Jupiter, Indicators,
   resources, free) shares the same treatment. All motion reduced-safe.
   ========================================================================= */

/* Organic gradient-mesh glow behind every hero (#2 + #3 mesh) */
.hero::before {
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(38% 55% at 12% 18%, rgba(94,224,168,0.12), transparent 70%),
    radial-gradient(34% 50% at 88% 12%, rgba(80,120,255,0.08), transparent 72%),
    radial-gradient(30% 48% at 72% 88%, rgba(216,178,62,0.06), transparent 72%);
  animation: meshDrift 22s ease-in-out infinite alternate;
}
@keyframes meshDrift {
  0%   { transform: translate3d(0,0,0) scale(1); }
  100% { transform: translate3d(0,-1.4%,0) scale(1.045); }
}

/* Depth + staggered scroll reveal on cards/sections (#3 immersion) */
.js .reveal:not(.in) { transform: translateY(22px) scale(.985); transition: opacity .6s var(--ease), transform .72s var(--ease); transition-delay: calc(var(--rd, 0) * 70ms); }

@media (prefers-reduced-motion: reduce) {
  .hero::before { animation: none !important; transform: none !important; }
  .reveal { transition-delay: 0ms !important; transform: none; }
}

/* =========================================================================
   Conversion surface (Shopify-parity): rating chip, under-button trust,
   price anchoring. No new assets required.
   ========================================================================= */
.rating-chip { display:inline-flex; align-items:center; gap:.5rem; font-size:.86rem; color:var(--text-dim); }
.rating-chip .rstars { color:var(--gold); letter-spacing:1px; font-size:.9rem; }
.rating-chip strong { color:var(--text); font-weight:600; }
.hero-trust .rating-chip { margin:0; }

.buy-trust { display:flex; align-items:center; justify-content:center; gap:.4rem; margin:.6rem 0 0; font-size:.76rem; color:var(--text-faint); line-height:1.3; text-align:center; }
.buy-trust .ck { color:var(--mint); font-weight:700; }

.price-anchor { display:inline-block; color:var(--mint); font-size:.82rem; font-weight:600; margin-top:.3rem; }
.price-was { color:var(--text-faint); text-decoration:line-through; font-weight:400; }

/* ============ VISUAL LAYER v3 ============ */
.visual-frame video{display:block;width:100%;height:auto}

/* X-ray reveal (candle -> footprint) */
.xray{position:relative;max-width:1120px;margin:1.6rem auto 0;border-radius:16px;overflow:hidden;
  border:1px solid var(--border-2);box-shadow:var(--shadow-lg);cursor:ew-resize;user-select:none;touch-action:none}
.xray img{display:block;width:100%;height:auto;pointer-events:none}
.xray-top{position:absolute;inset:0;clip-path:inset(0 calc(100% - var(--pos,50%)) 0 0);transition:clip-path .05s linear}
.xray.hint .xray-top{transition:clip-path .9s var(--ease)}
.xray-handle{position:absolute;top:0;bottom:0;left:var(--pos,50%);width:2px;background:var(--mint);
  box-shadow:0 0 18px var(--mint);transform:translateX(-1px);pointer-events:none}
.xray.hint .xray-handle{transition:left .9s var(--ease)}
.xray-knob{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;
  background:var(--mint);color:#04130c;display:grid;place-items:center;font-weight:800;font-size:13px;
  box-shadow:0 8px 26px rgba(0,0,0,.5)}
.xray-tag{position:absolute;bottom:14px;font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;
  padding:.35rem .65rem;border-radius:100px;background:rgba(7,10,16,.82);border:1px solid var(--border-2)}
.xray-tag.l{left:14px;color:var(--text-dim)}
.xray-tag.r{right:14px;color:var(--mint);border-color:var(--border-mint)}

/* concept cards */
.shot-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:2rem}
.shot{background:var(--bg-elev);border:1px solid var(--border);border-radius:14px;overflow:hidden;
  transition:transform .25s var(--ease),border-color .2s,box-shadow .25s}
.shot:hover{transform:translateY(-4px);border-color:var(--border-mint);box-shadow:var(--shadow)}
.shot img{display:block;width:100%;height:auto}
.shot .body{padding:1.15rem 1.25rem 1.4rem}
.shot h3{font-size:1.05rem;margin:0 0 .35rem}
.shot p{font-size:.9rem;color:var(--text-dim);margin:0}
@media(max-width:880px){.shot-grid{grid-template-columns:1fr}}

/* video wall */
.yt{position:relative;border-radius:16px;overflow:hidden;border:1px solid var(--border-2);cursor:pointer;background:#000;
  box-shadow:var(--shadow-lg);aspect-ratio:16/9}
.yt img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease),opacity .3s}
.yt:hover img{transform:scale(1.03);opacity:.85}
.yt iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:72px;height:72px;border-radius:50%;
  background:var(--mint);color:#04130c;display:grid;place-items:center;box-shadow:0 12px 40px rgba(0,0,0,.55);
  transition:transform .25s var(--ease)}
.yt:hover .yt-play{transform:translate(-50%,-50%) scale(1.09)}
.yt-play svg{width:26px;height:26px;margin-left:3px}
.yt-cap{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.1rem .9rem;font-weight:600;font-size:.95rem;
  background:linear-gradient(to top,rgba(7,10,16,.95),transparent)}
.shorts-row{display:grid;grid-template-columns:repeat(6,1fr);gap:.9rem;margin-top:1.4rem}
.short{position:relative;aspect-ratio:9/16;border-radius:12px;overflow:hidden;border:1px solid var(--border);display:block;background:#000}
.short img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--ease)}
.short:hover img{transform:scale(1.06)}
.short .tag{position:absolute;top:8px;left:8px;font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;
  background:rgba(7,10,16,.8);border:1px solid var(--border-2);color:var(--mint);padding:.2rem .4rem;border-radius:5px}
@media(max-width:900px){.shorts-row{grid-template-columns:repeat(3,1fr)}}

/* cta background video */
.final-cta{position:relative;overflow:hidden}
.cta-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.16;z-index:0;filter:saturate(1.1)}
.final-cta .container{position:relative;z-index:1}
.final-cta::after{content:"";position:absolute;inset:0;z-index:0;
  background:radial-gradient(ellipse at center,rgba(7,10,16,.55),var(--bg) 72%)}

/* ---- readable concept rows (was a cramped 3-col grid) ---- */
.read-row{display:grid;grid-template-columns:1.4fr 1fr;gap:2.4rem;align-items:center;margin-top:2.6rem}
.read-row:nth-of-type(even) .read-media{order:2}
.read-media img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border-2);box-shadow:var(--shadow)}
.read-copy h3{font-size:1.55rem;margin:0 0 .5rem}
.read-copy p{color:var(--text-dim);font-size:1.02rem;margin:0}
.read-copy .kicker{font-family:var(--mono);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--mint);display:block;margin-bottom:.5rem}
@media(max-width:900px){.read-row{grid-template-columns:1fr;gap:1.2rem}.read-row:nth-of-type(even) .read-media{order:0}}

/* ---- SHORT tag moved off the thumbnail's own headline ---- */
.short .tag{top:auto;bottom:8px}

/* ---- Jupiter: order flow, automated ---- */
.jup{display:grid;grid-template-columns:1fr 1fr;gap:2.6rem;align-items:center}
.jup video{display:block;width:100%;height:auto;border-radius:16px;border:1px solid var(--border-2);box-shadow:var(--shadow-lg)}
.jup h2{font-size:clamp(1.8rem,3.2vw,2.5rem);margin:.6rem 0 .9rem}
@media(max-width:900px){.jup{grid-template-columns:1fr}}

/* grid items must be allowed to shrink below intrinsic image width */
.read-row > *{min-width:0}
.read-media img{max-width:100%}
.jup > *{min-width:0}
html,body{overflow-x:hidden}

/* diagrams need to be BIG to be readable: full width, caption beneath */
.read-row{display:block;margin-top:3.2rem}
.read-copy{max-width:820px;margin:1.25rem auto 0;text-align:center}
.read-copy p{font-size:1.05rem}

/* two diagrams side by side (readable at half width) */
.read-row{display:grid;grid-template-columns:1fr 1fr;gap:1.6rem 1.8rem;margin-top:2.4rem;align-items:start}
.read-row .read-media{grid-column:auto}
.read-copy{max-width:none;margin:.9rem 0 0;text-align:left}
.read-copy p{font-size:.98rem}
.reads-wrap{display:grid;grid-template-columns:1fr 1fr;gap:2.2rem}
.read-item{display:block}
.read-item img{display:block;width:100%;height:auto;border-radius:14px;border:1px solid var(--border-2)}
.read-item .read-copy{margin-top:1rem}
@media(max-width:900px){.reads-wrap{grid-template-columns:1fr}}

/* autonomous engines: Jupiter (NQ) + Poseidon (ES) */
.engines{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.3rem 0 1.5rem}
.engine{background:var(--bg-elev);border:1px solid var(--border);border-radius:12px;padding:1.1rem 1.2rem}
.engine:hover{border-color:var(--border-mint)}
.engine .sym{font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;color:var(--mint);display:block;margin-bottom:.3rem}
.engine h3{font-size:1.15rem;margin:0 0 .3rem}
.engine p{font-size:.88rem;color:var(--text-dim);margin:0}
.engine .soon{display:inline-block;margin-top:.5rem;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;
  color:var(--gold);background:var(--gold-soft);border:1px solid rgba(216,178,62,.3);padding:.18rem .45rem;border-radius:5px}
@media(max-width:600px){.engines{grid-template-columns:1fr}}
.engine .price{margin:.55rem 0 .1rem;font-size:.9rem;color:var(--text-dim)}
.engine .price strong{font-family:var(--mono);font-size:1.25rem;color:var(--mint)}
.engine .price span{font-family:var(--mono);font-size:.8rem;color:var(--text-faint)}

/* =========================================================================
   COMPETITIVE PASS (2026-07) — compat band, feature checklist, 2-up pricing
   ========================================================================= */

/* --- two-column pricing (monthly + lifetime) --- */
.price-grid-2 { grid-template-columns:repeat(2,1fr); max-width:820px; margin-left:auto; margin-right:auto; }
@media (max-width:860px){ .price-grid-2 { grid-template-columns:1fr; } }

.lic-note {
  max-width:820px; margin:1.6rem auto 0; text-align:center;
  font-size:.92rem; line-height:1.65; color:var(--text-dim);
  background:var(--mint-soft); border:1px solid rgba(94,224,168,.18);
  border-radius:12px; padding:1rem 1.2rem;
}
.lic-note strong { color:var(--text); }

/* --- compatibility / trust band --- */
.compat {
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background:var(--bg-elev); padding:2.2rem 0;
}
.compat-grid {
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem; align-items:start;
}
@media (max-width:900px){ .compat-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .compat-grid { grid-template-columns:1fr; } }
.compat-item { display:flex; gap:.7rem; align-items:flex-start; }
.compat-item .tick {
  flex:0 0 auto; width:20px; height:20px; margin-top:2px; border-radius:50%;
  background:var(--mint-soft); border:1px solid rgba(94,224,168,.35);
  display:flex; align-items:center; justify-content:center;
}
.compat-item .tick svg { width:11px; height:11px; fill:none; stroke:var(--mint); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.compat-item h4 { margin:0 0 .2rem; font-size:.95rem; color:var(--text); font-weight:600; letter-spacing:-.01em; }
.compat-item p  { margin:0; font-size:.84rem; line-height:1.55; color:var(--text-dim); }
.compat-logos {
  display:flex; align-items:center; justify-content:center; gap:2.4rem;
  margin-top:2rem; padding-top:1.6rem; border-top:1px solid var(--border);
  flex-wrap:wrap;
}
.compat-logos img { height:26px; width:auto; opacity:.55; filter:grayscale(1); transition:opacity .2s, filter .2s; }
.compat-logos a:hover img { opacity:.9; filter:grayscale(0); }
.compat-logos .cl-label { font-family:var(--mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-faint); }

/* --- feature checklist --- */
.featlist { display:grid; grid-template-columns:repeat(3,1fr); gap:.55rem 2rem; margin-top:2rem; }
@media (max-width:900px){ .featlist { grid-template-columns:repeat(2,1fr); } }
@media (max-width:560px){ .featlist { grid-template-columns:1fr; } }
.featlist li {
  list-style:none; display:flex; gap:.6rem; align-items:flex-start;
  padding:.55rem 0; border-bottom:1px solid var(--border);
  font-size:.92rem; color:var(--text); line-height:1.5;
}
.featlist li svg { flex:0 0 auto; width:14px; height:14px; margin-top:5px; fill:none; stroke:var(--mint); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.featlist li span.sub { display:block; font-size:.79rem; color:var(--text-faint); margin-top:.12rem; }

/* --- article figures + learn cards --- */
.fig { margin:2rem 0 2.2rem; }
.fig img { width:100%; height:auto; display:block; border:1px solid var(--border); border-radius:14px; background:var(--bg-elev); }
.fig figcaption { margin-top:.7rem; font-size:.84rem; line-height:1.6; color:var(--text-faint); text-align:center; }
.learn-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.3rem; margin-top:2rem; }
@media (max-width:900px){ .learn-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .learn-grid { grid-template-columns:1fr; } }
.learn-card { display:block; text-decoration:none; background:var(--bg-elev); border:1px solid var(--border); border-radius:14px; overflow:hidden; transition:transform .2s, border-color .2s; }
.learn-card:hover { transform:translateY(-3px); border-color:var(--mint-deep); }
.learn-card img { width:100%; height:auto; display:block; border-bottom:1px solid var(--border); }
.learn-card .lc-body { padding:1rem 1.1rem 1.2rem; }
.learn-card h3 { margin:0 0 .35rem; font-size:1.02rem; color:var(--text); letter-spacing:-.01em; }
.learn-card p { margin:0; font-size:.86rem; line-height:1.55; color:var(--text-dim); }
.learn-card .lc-read { display:inline-block; margin-top:.6rem; font-family:var(--mono); font-size:.72rem; letter-spacing:.1em; text-transform:uppercase; color:var(--mint); }

/* =========================================================================
   PLACING THE TRADE — callouts + discretionary-vs-automated animation
   ========================================================================= */
.callout-warn {
  border:1px solid #6b5a12; background:rgba(216,178,62,.07); border-radius:12px;
  padding:1rem 1.2rem; margin:1.6rem 0; font-size:.94rem; line-height:1.65; color:var(--text-dim);
}
.callout-warn strong { color:var(--text); }

.exec-demo { margin:2.4rem 0; padding:1.6rem; background:var(--bg-elev); border:1px solid var(--border); border-radius:16px; }
.exec-eyebrow { font-family:var(--mono); font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; color:var(--text-faint); }
.exec-head h3 { font-size:1.15rem; color:var(--text); }
.exec-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:1.4rem; }
@media (max-width:760px){ .exec-grid { grid-template-columns:1fr; } }
.exec-panel { background:var(--bg); border:1px solid var(--border); border-radius:12px; padding:1rem; }
.exec-title { font-size:.9rem; font-weight:700; margin-bottom:.6rem; }
.exec-title.human { color:var(--red); }
.exec-title.bot   { color:var(--mint); }
.exec-svg { width:100%; height:auto; display:block; background:#05070c; border-radius:8px; }
.exec-svg .lvl   { stroke-width:1.5; stroke-dasharray:5 4; }
.exec-svg .entry { stroke:#5ee0a8; }
.exec-svg .stop  { stroke:#e5564b; }
.exec-svg .moved { stroke:#e5564b; opacity:0; stroke-dasharray:2 3; }
.exec-svg .lbl   { font:600 7px ui-monospace,monospace; }
.exec-svg .lbl.entry { fill:#5ee0a8; } .exec-svg .lbl.stop { fill:#e5564b; }
.exec-svg .tag   { font:700 7px ui-monospace,monospace; opacity:0; }
.exec-svg .tag.late  { fill:#e5564b; } .exec-svg .tag.moved { fill:#e5564b; }
.exec-svg .tag.exact { fill:#5ee0a8; } .exec-svg .tag.exit { fill:#e5564b; }
.exec-svg .px    { fill:none; stroke:#8a97a8; stroke-width:2; stroke-linejoin:round;
                   stroke-dasharray:600; stroke-dashoffset:600; animation:execDraw 7s ease-in-out infinite; }
.exec-svg .mk    { opacity:0; }
.exec-svg .mk.late  { fill:#e5564b; animation:execPop 7s ease-in-out infinite; animation-delay:2.6s; }
.exec-svg .mk.exact { fill:#5ee0a8; animation:execPop 7s ease-in-out infinite; animation-delay:1.7s; }
.exec-svg .mk.exit  { fill:#e5564b; animation:execPop 7s ease-in-out infinite; animation-delay:3.6s; }
.exec-svg .tag.late  { animation:execPop 7s ease-in-out infinite; animation-delay:2.6s; }
.exec-svg .tag.exact { animation:execPop 7s ease-in-out infinite; animation-delay:1.7s; }
.exec-svg .tag.exit  { animation:execPop 7s ease-in-out infinite; animation-delay:3.6s; }
.exec-svg .moved, .exec-svg .tag.moved { animation:execPop 7s ease-in-out infinite; animation-delay:4.2s; }
@keyframes execDraw { 0% {stroke-dashoffset:600;} 55% {stroke-dashoffset:0;} 92% {stroke-dashoffset:0;} 100% {stroke-dashoffset:600;} }
@keyframes execPop  { 0%,18% {opacity:0;} 30%,88% {opacity:1;} 100% {opacity:0;} }
.exec-notes { margin:.9rem 0 0; padding-left:1.1rem; }
.exec-notes li { font-size:.84rem; line-height:1.55; color:var(--text-dim); margin-bottom:.35rem; }
.exec-notes.human li::marker { color:var(--red); }
.exec-notes.bot   li::marker { color:var(--mint); }
.exec-foot { margin:1.4rem 0 0; font-size:.9rem; line-height:1.65; color:var(--text-dim);
             border-top:1px solid var(--border); padding-top:1rem; }
.exec-foot strong { color:var(--text); }
@media (prefers-reduced-motion: reduce) {
  .exec-svg .px { animation:none; stroke-dashoffset:0; }
  .exec-svg .mk, .exec-svg .tag, .exec-svg .moved { animation:none; opacity:1; }
}

/* =========================================================================
   FA-STYLE REBUILD (2026-07) — product grid, bundle card, trial card
   ========================================================================= */
.prod-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; margin-top:2rem; }
@media (max-width:900px){ .prod-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px){ .prod-grid { grid-template-columns:1fr; } }
.prod-card { display:flex; flex-direction:column; background:var(--bg-elev); border:1px solid var(--border);
  border-radius:16px; padding:1.4rem; transition:transform .2s, border-color .2s; position:relative; }
.prod-card:hover { transform:translateY(-3px); border-color:var(--mint-deep); }
.prod-card.soon { opacity:.82; }
.prod-card .pc-tag { position:absolute; top:1rem; right:1rem; font-family:var(--mono); font-size:.62rem;
  letter-spacing:.1em; text-transform:uppercase; padding:.28rem .55rem; border-radius:999px; }
.pc-tag.now  { background:var(--mint-soft); color:var(--mint); border:1px solid rgba(94,224,168,.3); }
.pc-tag.soon { background:var(--gold-soft); color:var(--gold); border:1px solid rgba(216,178,62,.3); }
.prod-card h3 { margin:.2rem 0 .1rem; font-size:1.2rem; letter-spacing:-.01em; }
.prod-card .pc-sub { font-family:var(--mono); font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--text-faint); margin-bottom:.7rem; }
.prod-card .pc-desc { font-size:.9rem; line-height:1.55; color:var(--text-dim); flex:1; margin:0 0 1rem; }
.prod-card .pc-price { font-family:var(--mono); font-size:1.35rem; font-weight:700; color:var(--text); }
.prod-card .pc-price small { font-size:.8rem; color:var(--text-faint); font-weight:400; }
.prod-card .pc-foot { display:flex; align-items:center; justify-content:space-between; gap:.8rem; margin-top:.9rem; }

/* --- bundle "what's included" card --- */
.bundle-wrap { display:grid; grid-template-columns:1.1fr .9fr; gap:1.4rem; align-items:stretch; margin-top:2rem; }
@media (max-width:820px){ .bundle-wrap { grid-template-columns:1fr; } }
.bundle-list { background:var(--bg-elev); border:1px solid var(--border); border-radius:18px; padding:1.8rem; }
.bundle-list .bl-eyebrow { font-family:var(--mono); font-size:.7rem; letter-spacing:.14em; text-transform:uppercase; color:var(--text-faint); }
.bundle-row { display:flex; align-items:center; justify-content:space-between; padding:1rem 0; border-bottom:1px solid var(--border); }
.bundle-row:last-of-type { border-bottom:0; }
.bundle-row .br-name { font-size:1.02rem; color:var(--text); }
.bundle-row .br-name small { display:block; font-size:.78rem; color:var(--text-faint); margin-top:.15rem; }
.bundle-row .br-price { font-family:var(--mono); font-size:1.02rem; color:var(--text-dim); white-space:nowrap; }
.bundle-sep { display:flex; align-items:center; justify-content:space-between; padding-top:1.1rem; margin-top:.4rem; border-top:2px solid var(--border-2); }
.bundle-sep .bs-label { color:var(--text-faint); font-size:1rem; }
.bundle-sep .bs-strike { font-family:var(--mono); font-size:1.35rem; color:var(--text-faint); text-decoration:line-through; }
.bundle-buy { background:linear-gradient(160deg,#111a16,#0c1712); border:1px solid var(--mint-deep); border-radius:18px;
  padding:1.8rem; display:flex; flex-direction:column; justify-content:center; text-align:center; }
.bundle-buy .bb-name { font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--mint); }
.bundle-buy .bb-price { font-size:3.4rem; font-weight:800; letter-spacing:-.03em; line-height:1; margin:.5rem 0 .2rem; color:var(--text); }
.bundle-buy .bb-price small { font-size:1rem; font-weight:400; color:var(--text-faint); }
.bundle-buy .bb-save { display:inline-block; background:var(--mint-soft); color:var(--mint-bright); border-radius:999px;
  padding:.35rem .9rem; font-size:.82rem; font-weight:600; margin-bottom:1.1rem; }
.bundle-buy .btn { width:100%; }
.bundle-buy .bb-note { font-size:.78rem; color:var(--text-faint); margin-top:.8rem; }

/* --- trial card (beats competitor's paid trial) --- */
.trial-card { background:var(--bg-elev); border:1px dashed var(--border-2); border-radius:18px; padding:2.2rem 1.8rem; text-align:center; margin-top:1.4rem; }
.trial-card h3 { font-size:1.6rem; margin:0 0 .3rem; letter-spacing:-.01em; }
.trial-card .tc-price { font-size:2.6rem; font-weight:800; color:var(--mint); letter-spacing:-.02em; margin:.3rem 0; }
.trial-card .tc-price small { font-size:1rem; color:var(--text-faint); font-weight:400; }
.trial-card p { color:var(--text-dim); font-size:.92rem; margin:.2rem auto 1.2rem; max-width:46ch; }
.trial-card .tc-vs { font-family:var(--mono); font-size:.74rem; color:var(--text-faint); margin-top:.9rem; }
.trial-card .tc-vs s { color:var(--red); }

/* ---------- Reveal-first hero: the wound, the gap, then the x-ray ---------- */
.hero-reveal{ padding-top:clamp(2.2rem,6vw,4rem); padding-bottom:clamp(2.4rem,6vw,4.2rem); }
.hero-reveal h1{ margin-bottom:1rem; }
.hero-reveal .lead{ margin-left:auto; margin-right:auto; }
.hero-reveal .live-pill{ margin-bottom:1.1rem; }

.xray-cue{
  text-align:center; margin:2rem auto .9rem; max-width:620px;
  color:var(--gold, #d6b056); font-size:.95rem; font-weight:600; letter-spacing:.01em;
}
.hero-reveal .xray{ margin-left:auto; margin-right:auto; max-width:1100px; }
.xray-note{
  text-align:center; color:var(--text-faint); font-size:.8rem; margin:.9rem auto 1.8rem; max-width:640px;
}
.hero-reveal .hero-ctas{ margin-top:.4rem; flex-wrap:wrap; }

@media (max-width:640px){
  .hero-reveal h1{ font-size:clamp(1.65rem,7.2vw,2.3rem); line-height:1.18; }
  .xray-cue{ font-size:.88rem; }
  .hero-reveal .hero-ctas .btn{ width:100%; }
}

/* The hook must render instantly and correctly — no JS, no stagger, no dependency.
   It is the single most important sentence on the site. */
.hero-hook{
  font-size:clamp(2rem,4.6vw,3.4rem);
  line-height:1.14;
  letter-spacing:-0.015em;
  margin-bottom:1rem;
  text-wrap:balance;
}
@media (max-width:640px){
  .hero-hook{ font-size:clamp(1.7rem,7.6vw,2.3rem); line-height:1.18; }
}
