:root{
  --text-xs:clamp(.75rem,.7rem + .25vw,.875rem);
  --text-sm:clamp(.875rem,.8rem + .35vw,1rem);
  --text-base:clamp(1rem,.95rem + .25vw,1.125rem);
  --text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);
  --text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);
  --text-2xl:clamp(2rem,1.2rem + 2.5vw,3.5rem);
  --text-3xl:clamp(2.5rem,1rem + 4vw,4.5rem);
  --space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
  --font-display:'Inter',system-ui,sans-serif;
  --font-body:'Inter',system-ui,-apple-system,sans-serif;
  --radius:14px;
  --maxw:1180px;
}
:root,[data-theme="light"]{
  --bg:#FBFAF9;--surface:#FFFFFF;--surface-2:#F3F0EE;--border:#E3DDDA;
  --text:#1A1517;--muted:#6B6367;--inverse:#FFFFFF;
  --primary:#C4003C;--primary-hover:#9E0031;--primary-soft:#FBE9EE;
  --ink:#140E10;
}
[data-theme="dark"]{
  --bg:#14100F;--surface:#1D1819;--surface-2:#241E20;--border:#332B2D;
  --text:#F5F1F0;--muted:#A69EA1;--inverse:#14100F;
  --primary:#FF4D77;--primary-hover:#FF7093;--primary-soft:#2A1319;
  --ink:#0E0A0B;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--space-6)}
.narrow{max-width:820px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:var(--space-4);top:var(--space-4);background:var(--primary);color:#fff;padding:var(--space-2) var(--space-4);border-radius:8px;z-index:50}
:focus-visible{outline:2px solid var(--primary);outline-offset:3px}

/* NAV */
.nav{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;gap:var(--space-6);height:100px}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--primary)}
.brand-mark{width:30px;height:30px;flex:0 0 auto}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-text strong{font-family:var(--font-display);font-size:1.15rem;letter-spacing:-.02em;color:var(--primary)}
.brand-text em{font-style:normal;font-size:.55rem;letter-spacing:.24em;text-transform:uppercase;color:var(--muted);margin-top:3px}
.nav-links{display:flex;gap:var(--space-5);margin-left:auto;font-size:var(--text-sm)}
.nav-links a{text-decoration:none;color:var(--muted);padding-bottom:2px;border-bottom:1.5px solid transparent}
.nav-links a:hover{color:var(--text);border-color:var(--primary)}
.nav-actions{display:flex;align-items:center;gap:var(--space-3)}
.burger{display:none;width:40px;height:40px;border:1px solid var(--border);border-radius:50%;background:transparent;cursor:pointer;padding:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.burger span{display:block;width:16px;height:1.8px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .2s}
.burger:hover{border-color:var(--primary)}
.nav.open .burger span:nth-child(1){transform:translateY(5.8px) rotate(45deg)}
.nav.open .burger span:nth-child(2){opacity:0}
.nav.open .burger span:nth-child(3){transform:translateY(-5.8px) rotate(-45deg)}
.theme{background:transparent;border:1px solid var(--border);color:var(--muted);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;cursor:pointer}
.theme:hover{color:var(--text);border-color:var(--primary)}

/* BUTTONS */
.btn{display:inline-block;background:var(--primary);color:#fff;text-decoration:none;font-weight:600;font-size:var(--text-sm);padding:var(--space-3) var(--space-6);border:1px solid var(--primary);border-radius:999px;cursor:pointer;transition:background .2s,transform .2s}
.btn:hover{background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-1px)}
.btn-sm{padding:var(--space-2) var(--space-5)}
.btn-ghost{background:transparent;color:var(--text);border-color:var(--border)}
.btn-ghost:hover{background:var(--surface-2);border-color:var(--primary);color:var(--text)}
.btn-inv{background:#fff;color:#A8002F;border-color:#fff}
.btn-inv:hover{background:#FBE9EE;border-color:#FBE9EE;color:#A8002F}
.btn-outline-inv{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.btn-outline-inv:hover{background:rgba(255,255,255,.14);border-color:#fff;color:#fff}

/* HERO */
.hero{padding:clamp(var(--space-12),6vw,var(--space-20)) 0 0}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(var(--space-8),5vw,var(--space-16));align-items:center}
.eyebrow{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--primary);font-weight:600;margin:0 0 var(--space-4)}
h1{font-family:var(--font-display);font-size:var(--text-3xl);line-height:.95;letter-spacing:-.03em;margin:0 0 var(--space-5);font-weight:800}
h1 .hl{color:var(--primary)}
.hl{color:var(--primary)}
.lede{font-size:var(--text-lg);line-height:1.5;color:var(--muted);margin:0 0 var(--space-8);max-width:34em}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--space-3)}
.facts{list-style:none;display:flex;flex-wrap:wrap;gap:var(--space-6);padding:var(--space-6) 0 0;margin:var(--space-8) 0 0;border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--muted)}
.facts b{display:block;font-family:var(--font-display);font-size:var(--text-lg);color:var(--text);letter-spacing:-.02em}
.hero-img figcaption{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-3)}
.hero-img img{border-radius:var(--radius);filter:grayscale(1) contrast(1.05)}
.pillars{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:clamp(var(--space-10),6vw,var(--space-16));padding-bottom:var(--space-4)}
.pillars span{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:#fff;background:var(--primary);border:1px solid var(--primary);border-radius:999px;padding:var(--space-2) var(--space-4)}

/* SECTIONS */
.section{padding:clamp(var(--space-16),9vw,var(--space-24)) 0}
.band{background:var(--surface-2)}
.kicker{font-size:var(--text-xs);letter-spacing:.2em;text-transform:uppercase;color:var(--primary);font-weight:600;margin:0 0 var(--space-3)}
.h2{font-family:var(--font-display);font-size:var(--text-xl);letter-spacing:-.02em;line-height:1.12;margin:0 0 var(--space-5);max-width:26em;font-weight:700}
.intro{color:var(--muted);max-width:52ch;margin:0 0 var(--space-10)}
.two-col{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(var(--space-8),5vw,var(--space-16))}
.two-col.align{align-items:center}
.two-col p{color:var(--muted);max-width:44ch}

/* CARDS */
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-8)}
.card .num{font-family:var(--font-display);font-size:var(--text-sm);color:var(--primary);letter-spacing:.1em}
.card h3{font-size:var(--text-lg);margin:var(--space-3) 0 var(--space-3);font-weight:600;line-height:1.25}
.card p{margin:0;color:var(--muted);font-size:var(--text-sm)}
.card ul{margin:0;padding-left:1.1em;color:var(--muted);font-size:var(--text-sm)}
.card li{margin-bottom:var(--space-2)}
.checks{list-style:none;padding:0;margin:0;display:grid;gap:var(--space-4)}
.checks li{position:relative;padding-left:var(--space-8);color:var(--muted);font-size:var(--text-sm)}
.checks li b{color:var(--text)}
.checks li::before{content:"";position:absolute;left:0;top:.45em;width:14px;height:8px;border-left:2.4px solid var(--primary);border-bottom:2.4px solid var(--primary);transform:rotate(-45deg)}
.notfor{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-8)}
.notfor h3{margin:0 0 var(--space-4);font-size:var(--text-lg);font-weight:600}
.notfor ul{margin:0 0 var(--space-4);padding-left:1.1em;color:var(--muted);font-size:var(--text-sm)}
.notfor li{margin-bottom:var(--space-2)}
.bonus{margin:var(--space-8) 0 0;padding:var(--space-5) var(--space-6);background:var(--primary-soft);border-left:3px solid var(--primary);border-radius:8px;font-size:var(--text-sm)}

/* MODULES / FAQ */
.modules{display:grid;gap:var(--space-3)}
.modules details{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;scroll-margin-top:130px}
.modules details[open]{border-color:var(--primary)}
.modules summary{cursor:pointer;list-style:none;display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-4);padding:var(--space-5) var(--space-6);position:relative}
.modules summary::-webkit-details-marker{display:none}
.modules summary::after{content:"+";margin-left:auto;color:var(--primary);font-size:1.4rem;line-height:1;font-family:var(--font-display)}
.modules details[open] summary::after{content:"–"}
.mnum{font-size:var(--text-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--primary);font-weight:600;min-width:5.5em}
.mtitle{font-family:var(--font-display);font-size:var(--text-lg);letter-spacing:-.01em;font-weight:700}
.mbody{padding:0 var(--space-6) var(--space-6);border-top:1px solid var(--border);margin-top:var(--space-2);padding-top:var(--space-5)}
.mbody p{color:var(--muted);font-size:var(--text-sm);margin:0 0 var(--space-4)}
.mbody ul{margin:0;padding-left:1.15em;color:var(--muted);font-size:var(--text-sm)}
.mbody li{margin-bottom:var(--space-2)}
.mbody li b,.mbody p b{color:var(--text)}
.mnote{margin-top:var(--space-4)!important;font-size:var(--text-sm);color:var(--muted)}

/* FEATURE */
.wrap.feature{width:calc(100% - 2*var(--space-6));max-width:calc(var(--maxw) - 2*var(--space-6))}
.feature{background:var(--primary);color:#fff;border-radius:calc(var(--radius) + 6px);padding:clamp(var(--space-8),5vw,var(--space-16))}
.feature .h2{color:#fff;max-width:20em}
.feature .lede{color:rgba(255,255,255,.88)}
.feature-tag{display:inline-block;font-size:var(--text-xs);letter-spacing:.18em;text-transform:uppercase;border:1px solid rgba(255,255,255,.5);border-radius:999px;padding:var(--space-1) var(--space-4);margin-bottom:var(--space-5)}
.facts.inv{border-top-color:rgba(255,255,255,.3);color:rgba(255,255,255,.85);margin-bottom:var(--space-8)}
.facts.inv b{color:#fff}

/* PRICING */
.price-wrap{display:grid;gap:var(--space-10)}
.pb-title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;margin:0 0 var(--space-5);display:flex;flex-wrap:wrap;gap:var(--space-3);align-items:baseline}
.pb-title span{font-family:var(--font-body);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-weight:600}
.price{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:var(--space-6)}
.price.hot{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}
.pl{margin:0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}
.pv{font-family:var(--font-display);font-size:var(--text-xl);margin:var(--space-2) 0;letter-spacing:-.02em}
.pn{margin:0;font-size:var(--text-sm);color:var(--muted)}
.terms{margin-top:var(--space-10);font-size:var(--text-sm);color:var(--muted);border-top:1px solid var(--border);padding-top:var(--space-5)}

/* PERSON PHOTO */
.person-col{display:grid;gap:var(--space-5)}
.person-photo{margin:0;border-radius:var(--radius);overflow:hidden;background:var(--surface-2)}
.person-photo img{display:block;width:100%;height:auto}

/* QUOTE */
.quote{background:var(--surface);border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);padding:clamp(var(--space-6),4vw,var(--space-10))}
.quote blockquote{font-family:var(--font-display);font-size:var(--text-lg);line-height:1.35;margin:0 0 var(--space-4);letter-spacing:-.01em}
.qattr{margin:0;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.14em;color:var(--muted)}

/* FORM */
.form{display:grid;gap:var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:clamp(var(--space-6),4vw,var(--space-10))}
.f2{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}
.form label{display:grid;gap:var(--space-2);font-size:var(--text-sm);font-weight:500}
.form input,.form select,.form textarea{font:inherit;font-size:var(--text-sm);color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:var(--space-3) var(--space-4);width:100%}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--primary);outline:none}
.form .btn{justify-self:start;margin-top:var(--space-2)}
.formnote{margin:0;font-size:var(--text-xs);color:var(--muted)}
.formnote.ok{color:var(--primary);font-weight:600}
.formnote.err{color:var(--primary-hover);font-weight:600}

/* FOOTER */
.footer{background:var(--ink);color:#EDE8E9;padding:var(--space-16) 0 var(--space-10)}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:var(--space-8);align-items:start}
.foot-about{display:flex;align-items:center;gap:var(--space-4)}
.foot-brand{margin-bottom:0;flex:0 0 auto}
.footer .foot-brand img{width:32px;height:auto;display:block}
.footer .brand-text strong,.footer .brand-mark{color:#fff}
.footer .brand-text em{color:rgba(255,255,255,.55)}
.footer nav{display:grid;gap:var(--space-2);font-size:var(--text-sm)}
.footer nav a{color:rgba(255,255,255,.72);text-decoration:none}
.footer nav a:hover{color:#fff}
.fnote{font-size:var(--text-sm);color:rgba(255,255,255,.6);margin:0;max-width:34ch}

/* MOTION */
.rise{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}
.rise.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rise{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

@media (max-width:900px){
  .hero-grid,.two-col,.cards,.grid3,.foot-grid{grid-template-columns:1fr}
  .nav-inner{height:80px;gap:var(--space-3)}
  .nav-inner > a img{width:136px;height:auto}
  .nav-actions{margin-left:auto}
  .burger{display:flex}
  .nav-actions .btn-sm{white-space:nowrap;padding:var(--space-2) var(--space-4)}
  .nav-links{display:none;position:absolute;top:100%;left:0;right:0;margin:0;flex-direction:column;align-items:flex-end;gap:0;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--space-2) var(--space-6) var(--space-4);box-shadow:0 12px 24px rgba(0,0,0,.08)}
  .nav.open .nav-links{display:flex}
  .nav-links a{padding:var(--space-3) 0;font-size:var(--text-base);border-bottom:0;color:var(--text)}
  .hero-img{order:-1}
  .facts{gap:var(--space-5)}
}
@media (max-width:560px){
  .f2{grid-template-columns:1fr}
  .facts li{min-width:44%}
}
