/* ===========================================================
   Butterfly Uprising — Coach Ann Anderson
   Shared design system. Brand: magenta + purple butterfly,
   styled with bold, transformation-driven energy.
   =========================================================== */

:root{
  --magenta:#C2189A;        --magenta-deep:#9A157C;   --magenta-soft:#F3D4EA;
  --purple:#4A1A5C;         --purple-mid:#7B2E8E;
  --plum-dark:#1B0A23;      --plum-darker:#120618;
  --ink:#241726;           --muted:#6E5E75;
  --cream:#FBF6F2;          --soft:#F7ECF4;            --white:#ffffff;
  --line:#EADBE6;
  --grad:linear-gradient(135deg,#4A1A5C 0%,#9A157C 58%,#C2189A 100%);
  --grad-dark:linear-gradient(160deg,#1B0A23 0%,#3A1248 52%,#5E1C66 100%);
  --shadow:0 18px 50px rgba(74,26,92,.16);
  --shadow-sm:0 8px 24px rgba(74,26,92,.10);
  --radius:18px;
  --maxw:1180px;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--white);line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
h1,h2,h3,h4{font-family:'Sora',sans-serif;font-weight:800;line-height:1.05;letter-spacing:-.02em;color:var(--purple);}
.serif{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;}

/* ---------- layout ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.section{padding:96px 0;}
.section.tight{padding:64px 0;}
.center{text-align:center;}
.eyebrow{display:inline-block;font-family:'Sora',sans-serif;font-weight:700;font-size:13px;letter-spacing:.28em;text-transform:uppercase;color:var(--magenta);margin-bottom:16px;}
.eyebrow.on-dark{color:var(--magenta-soft);}
.h-lead{font-size:clamp(30px,4.4vw,52px);margin-bottom:18px;}
.lede{font-size:19px;color:var(--muted);max-width:640px;}
.center .lede{margin-left:auto;margin-right:auto;}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:9px;font-family:'Sora',sans-serif;font-weight:700;font-size:16px;
  padding:15px 28px;border-radius:50px;border:2px solid transparent;cursor:pointer;transition:.2s ease;white-space:nowrap;}
.btn .arr{transition:transform .2s ease;}
.btn:hover .arr{transform:translateX(4px);}
.btn-primary{background:var(--magenta);color:#fff;box-shadow:0 10px 26px rgba(194,24,154,.32);}
.btn-primary:hover{background:var(--magenta-deep);}
.btn-outline{background:transparent;color:var(--purple);border-color:var(--purple);}
.btn-outline:hover{background:var(--purple);color:#fff;}
.btn-ghost-light{background:rgba(255,255,255,.10);color:#fff;border-color:rgba(255,255,255,.5);}
.btn-ghost-light:hover{background:#fff;color:var(--purple);}
.btn-lg{font-size:17px;padding:17px 34px;}

/* ---------- top utility bar (partner CTA) ---------- */
.topbar{background:var(--grad);display:flex;align-items:center;justify-content:center;gap:16px;padding:9px 16px;flex-wrap:wrap;}
.topbar .tb-text{color:#fff;font-family:'Sora',sans-serif;font-weight:600;font-size:14px;letter-spacing:.01em;}
.tb-btn{display:inline-flex;align-items:center;gap:7px;background:#fff;color:var(--purple);font-family:'Sora',sans-serif;font-weight:700;font-size:13px;padding:8px 18px;border-radius:50px;white-space:nowrap;transition:.2s ease;}
.tb-btn:hover{background:var(--plum-dark);color:#fff;}
.tb-btn .arr{transition:transform .2s;}
.tb-btn:hover .arr{transform:translateX(3px);}
@media (max-width:560px){ .topbar{gap:10px;padding:8px 14px;} .topbar .tb-text{font-size:12.5px;} .tb-long{display:none;} }

/* ---------- header / nav ---------- */
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand img{height:38px;width:auto;}
.brand .wm{font-family:'Sora',sans-serif;font-weight:800;font-size:19px;color:var(--purple);letter-spacing:-.02em;line-height:1;}
.brand .wm small{display:block;font-family:'Inter';font-weight:600;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--magenta);margin-top:3px;}
.nav-links{display:flex;align-items:center;gap:30px;}
.nav-links a{font-family:'Sora',sans-serif;font-weight:600;font-size:15px;color:var(--ink);transition:color .15s;}
.nav-links a:hover{color:var(--magenta);}
.nav-links a{position:relative;}
.nav-links a.active{color:var(--magenta);}
.nav-links a.active::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:2.5px;background:var(--magenta);border-radius:3px;}
.nav-cta{display:flex;align-items:center;gap:14px;}
.hamburger{display:none;background:none;border:none;cursor:pointer;font-size:26px;color:var(--purple);}

/* ---------- hero ---------- */
.hero{position:relative;background:var(--grad-dark);color:#fff;overflow:hidden;}
.hero::after{content:"";position:absolute;right:-160px;top:-80px;width:680px;height:680px;background:radial-gradient(circle,rgba(194,24,154,.45),transparent 60%);pointer-events:none;}
.hero-wm{position:absolute;right:-90px;bottom:-120px;width:560px;opacity:.06;filter:grayscale(100%) brightness(3);pointer-events:none;}
.hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.25fr .75fr;gap:72px;align-items:center;padding:92px 24px 96px;}
.hero h1{color:#fff;font-size:clamp(38px,5.6vw,66px);}
.hero h1 em{font-family:'Playfair Display',serif;font-style:italic;font-weight:500;color:var(--magenta-soft);}
.hero p{font-size:20px;color:rgba(255,255,255,.82);margin:22px 0 30px;max-width:520px;}
.hero-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.hero-trust{margin-top:34px;display:flex;align-items:center;gap:18px;color:rgba(255,255,255,.7);font-size:14px;}
.hero-trust .stars{color:#FFC93C;letter-spacing:2px;}

/* hero visual: floating book + photo */
.hero-visual{position:relative;display:flex;justify-content:center;align-items:center;min-height:440px;}
.hero-photo{width:300px;height:380px;border-radius:24px;object-fit:cover;object-position:50% 22%;box-shadow:0 30px 70px rgba(0,0,0,.45);border:4px solid rgba(255,255,255,.12);}
.hero-book{position:absolute;left:-58px;bottom:-42px;width:172px;height:auto;filter:drop-shadow(0 26px 42px rgba(0,0,0,.55));z-index:3;}
@media(max-width:520px){ .hero-book{width:128px;left:4px;bottom:-8px;} }
.hero-name{position:absolute;bottom:-14px;right:14px;z-index:4;background:#fff;border-radius:14px;padding:10px 16px;box-shadow:0 16px 36px rgba(27,10,35,.42);text-align:left;}
.hero-name b{display:block;font-family:'Sora',sans-serif;font-weight:800;font-size:15px;color:var(--purple);line-height:1.15;white-space:nowrap;}
.hero-name span{display:block;font-family:'Sora',sans-serif;font-weight:700;font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--magenta);margin-top:4px;white-space:nowrap;}
@media(max-width:520px){ .hero-name{right:6px;bottom:-10px;padding:8px 13px;} .hero-name b{font-size:13px;} .hero-name span{font-size:8.5px;} }
.book-card{position:absolute;left:-26px;bottom:6px;width:188px;background:#fff;border-radius:12px;padding:14px;box-shadow:0 24px 50px rgba(0,0,0,.4);}
.book-cover{aspect-ratio:2/3;border-radius:7px;background:var(--grad);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:16px;color:#fff;position:relative;overflow:hidden;}
.book-cover::before{content:"";position:absolute;left:9px;top:0;bottom:0;width:3px;background:rgba(0,0,0,.18);}
.book-cover .bc-k{font-family:'Sora';font-size:8px;letter-spacing:.18em;text-transform:uppercase;opacity:.85;}
.book-cover .bc-t{font-family:'Playfair Display',serif;font-weight:700;font-size:21px;line-height:1.1;margin:8px 0;}
.book-cover .bc-a{font-size:9px;letter-spacing:.12em;text-transform:uppercase;opacity:.9;}
.book-card .badge{position:absolute;top:-12px;right:-10px;background:#FFC93C;color:#3a2a00;font-family:'Sora';font-weight:800;font-size:10px;letter-spacing:.05em;padding:7px 11px;border-radius:50px;text-transform:uppercase;box-shadow:0 6px 16px rgba(0,0,0,.3);}
.book-card .bk-label{font-family:'Sora';font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--magenta);text-align:center;margin-top:10px;}

/* ---------- credential stat bar ---------- */
.statbar{background:var(--purple);color:#fff;}
.statbar .row{display:flex;justify-content:space-around;flex-wrap:wrap;gap:24px;padding:34px 0;text-align:center;}
.stat .n{font-family:'Sora';font-weight:800;font-size:34px;color:#fff;line-height:1;}
.stat .l{font-size:13px;letter-spacing:.04em;color:rgba(255,255,255,.72);margin-top:7px;}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;margin-top:50px;}
.pcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 24px;transition:.2s ease;}
.pcard:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent;}
.pcard .ic{width:52px;height:52px;border-radius:14px;background:var(--soft);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:18px;}
.pcard h3{font-size:20px;margin-bottom:9px;}
.pcard p{font-size:15px;color:var(--muted);margin-bottom:14px;}
.pcard a{font-family:'Sora';font-weight:700;font-size:14px;color:var(--magenta);}

/* ---------- feature split ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.split.soft-bg{background:var(--soft);}
.feature-visual{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.feature-visual.book{aspect-ratio:4/3;background:var(--grad-dark);display:flex;align-items:center;justify-content:center;padding:40px;}
/* Community collage (Book Club — How We Gather) */
.bu-collage{position:relative;display:flex;gap:12px;padding-top:8px;align-items:flex-start;}
.bu-col{flex:1;display:flex;flex-direction:column;gap:12px;}
.bu-tile{border-radius:14px;overflow:hidden;box-shadow:0 12px 28px rgba(27,10,35,.18);transition:transform .45s ease, box-shadow .45s ease;}
.bu-tile img{width:100%;display:block;}
.bu-tile:hover{transform:translateY(-5px) scale(1.02) rotate(0deg);box-shadow:0 20px 40px rgba(27,10,35,.30);z-index:2;position:relative;}
.bu-col .bu-tile:nth-child(1){transform:rotate(-1deg);}
.bu-col .bu-tile:nth-child(2){transform:rotate(.9deg);}
.bu-col .bu-tile:nth-child(3){transform:rotate(-.5deg);}
.bu-badge{position:absolute;top:-14px;left:-10px;z-index:3;display:inline-flex;align-items:center;gap:6px;
  background:var(--grad);color:#fff;font-family:Sora,sans-serif;font-weight:700;font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;padding:8px 14px;border-radius:999px;box-shadow:0 10px 22px rgba(194,24,154,.40);}
/* Membership commitment */
.commit-card{background:var(--soft);border:1px solid var(--line);border-radius:18px;padding:26px 28px;}
.commit-card h4{font-family:'Sora';font-weight:700;color:var(--purple);font-size:18px;margin:0 0 8px;}
.commit-card>p{color:var(--muted);font-size:15px;line-height:1.6;margin:0;}
.commit-list{list-style:none;margin:16px 0 14px;padding:0;display:flex;flex-direction:column;gap:11px;}
.commit-list li{position:relative;padding-left:30px;color:var(--ink);font-size:15px;line-height:1.5;}
.commit-list li::before{content:"🦋";position:absolute;left:0;top:1px;font-size:13px;}
.commit-note{font-style:italic;color:var(--purple);font-weight:600;margin:0;}
.commit-check{display:flex;align-items:flex-start;gap:11px;margin:6px 0 18px;font-size:14px;color:var(--ink);cursor:pointer;line-height:1.45;}
.commit-check input{margin:1px 0 0;width:19px;height:19px;accent-color:var(--magenta);flex-shrink:0;cursor:pointer;}
/* large floating book mockup */
.feature-book{display:flex;align-items:center;justify-content:center;position:relative;min-height:500px;}
.feature-book::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;background:radial-gradient(circle,rgba(194,24,154,.18),transparent 70%);}
.feature-book img{position:relative;width:320px;max-width:82%;height:auto;filter:drop-shadow(0 34px 52px rgba(74,26,92,.42));}
.book-blurb{font-family:'Playfair Display',serif;font-style:italic;font-size:16px;line-height:1.6;color:var(--purple-mid);margin-bottom:12px;max-width:520px;}
.book-blurb strong{font-style:normal;font-weight:700;color:var(--purple);}
@media(max-width:920px){ .feature-book{min-height:360px;} .feature-book img{width:240px;} }

/* ── BOOK CLUB FEATURE — full-bleed blade (Robbins style) ── */
.bc-blade{position:relative;overflow:hidden;display:flex;align-items:center;min-height:600px;background:var(--plum-dark);}
.bc-blade-bg{position:absolute;inset:0;z-index:0;}
.bc-blade-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 56%;filter:grayscale(15%);transform:translateX(13%);-webkit-mask-image:linear-gradient(to right, transparent 0%, #000 22%);mask-image:linear-gradient(to right, transparent 0%, #000 22%);}
.bc-blade-scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(95deg,rgba(27,10,35,.97) 0%,rgba(27,10,35,.82) 34%,rgba(58,18,72,.45) 62%,rgba(94,28,102,.28) 100%);}
.bc-blade-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding:88px 24px;width:100%;}
.bc-blade-text{color:#fff;max-width:560px;}
.bc-tags{display:inline-block;font-family:'Sora',sans-serif;font-weight:700;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--magenta-soft);margin-bottom:16px;}
.bc-blade-text h2{color:#fff;font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(34px,4.6vw,56px);line-height:1.04;letter-spacing:-.02em;margin-bottom:20px;}
.bc-blade-text p{color:rgba(255,255,255,.86);font-size:17px;line-height:1.65;margin-bottom:28px;}
.bc-blade-text p .serif{color:var(--magenta-soft);}
.bc-blade-ctas{display:flex;gap:14px;flex-wrap:wrap;}
.btn-blade{display:inline-flex;align-items:center;gap:9px;background:#fff;color:var(--purple);font-family:'Sora',sans-serif;font-weight:700;font-size:16px;padding:15px 30px;border-radius:50px;transition:.2s ease;}
.btn-blade:hover{background:var(--magenta);color:#fff;}
.btn-blade.ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.5);}
.btn-blade.ghost:hover{background:#fff;color:var(--purple);border-color:#fff;}
.btn-blade .arr{transition:transform .2s;}
.btn-blade:hover .arr{transform:translateX(4px);}
.bc-blade-visual{display:flex;justify-content:center;align-items:center;}
.bc-blade-visual img{width:300px;max-width:78%;height:auto;filter:drop-shadow(0 34px 54px rgba(0,0,0,.6));}
@media(max-width:920px){ .bc-blade-inner{grid-template-columns:1fr;gap:32px;padding:60px 24px;text-align:center;} .bc-blade-text{max-width:none;} .bc-blade-ctas{justify-content:center;} .bc-blade-visual img{width:220px;} .bc-blade-scrim{background:linear-gradient(180deg,rgba(27,10,35,.5),rgba(27,10,35,.88));} .bc-blade-bg img{transform:none;object-position:60% 48%;-webkit-mask-image:none;mask-image:none;} }
.media-ph{background:var(--soft);border:2px dashed var(--magenta);border-radius:var(--radius);min-height:360px;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--purple-mid);font-family:'Sora';font-weight:700;padding:24px;}
.book-img{width:100%;height:auto;display:block;border-radius:5px;}
.about-photo{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.about-photo img{width:100%;height:100%;min-height:460px;object-fit:cover;object-position:50% 16%;display:block;}

/* ── ABOUT — full-bleed feature (Robbins-style) ── */
.about-feature{display:grid;grid-template-columns:1fr 1fr;overflow:hidden;}
.about-feature-img{position:relative;min-height:680px;background:#eef0ee;overflow:hidden;}
.about-feature-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 0%;display:block;transform:translateY(52px);-webkit-mask-image:linear-gradient(to bottom, transparent 0%, #000 2.5%);mask-image:linear-gradient(to bottom, transparent 0%, #000 2.5%);}
.about-feature-text{background:var(--grad-dark);color:#fff;padding:84px clamp(32px,5vw,76px);display:flex;flex-direction:column;justify-content:center;}
.about-feature-text .eyebrow{margin-bottom:14px;}
.about-feature-text h2{color:#fff;font-family:'Sora',sans-serif;font-weight:800;font-size:clamp(30px,3.6vw,48px);line-height:1.05;letter-spacing:-.02em;margin-bottom:22px;}
.about-feature-text p{color:rgba(255,255,255,.84);font-size:18px;line-height:1.6;margin-bottom:16px;max-width:560px;}
@media(max-width:920px){ .about-feature{grid-template-columns:1fr;} .about-feature-img{min-height:440px;} .about-feature-img img{transform:translateY(22px);} .about-feature-text{padding:56px 24px;} }
.cta-band.with-bg{background:linear-gradient(135deg,rgba(74,26,92,.90),rgba(154,21,124,.80)),url('../assets/rise.jpg') center 28%/cover;}

/* ── PROGRAMS: offer cards ── */
.offer-card{display:flex;gap:30px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:30px 34px;margin-bottom:20px;transition:.2s ease;}
.offer-card:hover{box-shadow:var(--shadow);border-color:transparent;}
.offer-card.featured{border:2px solid var(--magenta);}
.offer-body{flex:1;}
.offer-body .tag{display:inline-block;font-family:'Sora';font-weight:700;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--magenta);margin-bottom:8px;}
.offer-body h3{font-size:24px;margin-bottom:8px;}
.offer-body p{color:var(--muted);font-size:15px;margin-bottom:14px;}
.offer-feats{list-style:none;display:flex;flex-wrap:wrap;gap:9px 20px;}
.offer-feats li{font-size:14px;color:var(--ink);position:relative;padding-left:22px;}
.offer-feats li::before{content:"✦";position:absolute;left:0;color:var(--magenta);}
.offer-side{flex:none;text-align:center;min-width:160px;}
.offer-side .price{font-family:'Sora';font-weight:800;font-size:34px;color:var(--purple);line-height:1;}
.offer-side .price small{display:block;font-family:'Inter';font-weight:500;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 14px;}

/* ── BOOKS: product grid ── */
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:46px;}
.product{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;text-align:center;transition:.2s ease;display:flex;flex-direction:column;}
.product:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent;}
.product .cover-wrap{margin:0 auto 22px;width:170px;}
.product .cover-wrap img{width:100%;height:auto;border-radius:4px;box-shadow:0 14px 32px rgba(74,26,92,.22);}
.product .cover-wrap .book-cover{aspect-ratio:2/3;border-radius:4px;box-shadow:0 14px 32px rgba(74,26,92,.22);}
/* 3D book mockups in the shop grid (transparent renders, matched by height) */
.product .cover-wrap.mock{width:auto;height:250px;display:flex;align-items:flex-end;justify-content:center;}
.product .cover-wrap.mock img{width:auto;height:100%;max-width:100%;border-radius:0;box-shadow:none;filter:drop-shadow(0 16px 24px rgba(74,26,92,.30));}
.product h3{font-size:19px;margin-bottom:5px;line-height:1.15;}
.product .by{font-size:13px;color:var(--muted);margin-bottom:11px;}
.product p{font-size:14px;color:var(--muted);margin-bottom:16px;flex:1;}
.product .price{font-family:'Sora';font-weight:800;font-size:22px;color:var(--magenta);margin-bottom:14px;}

@media (max-width:920px){ .shop-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto;} .offer-card{flex-direction:column;align-items:flex-start;gap:18px;} .offer-side{text-align:left;min-width:0;} }

/* ---------- how it works steps ---------- */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:46px;}
.step{position:relative;padding:28px 24px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);}
.step .num{width:42px;height:42px;border-radius:50%;background:var(--grad);color:#fff;font-family:'Sora';font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:16px;}
.step h4{font-size:18px;margin-bottom:8px;}
.step p{font-size:15px;color:var(--muted);}

/* ---------- testimonials ---------- */
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:46px;}
.tcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;}
.tcard .stars{color:#FFC93C;letter-spacing:2px;margin-bottom:12px;}
.tcard p{font-size:16px;font-style:italic;color:var(--ink);margin-bottom:18px;}
.tcard .who{display:flex;align-items:center;gap:12px;}
.tcard .who .av{width:44px;height:44px;border-radius:50%;background:var(--soft);display:flex;align-items:center;justify-content:center;font-family:'Sora';font-weight:800;color:var(--magenta);}
.tcard .who b{font-family:'Sora';font-size:14px;color:var(--purple);}
.tcard .who span{display:block;font-size:13px;color:var(--muted);}

/* ── VIDEO WALL — live KeepUsPostd review videos ── */
.video-wall{overflow:hidden;position:relative;padding:6px 0;}
.video-wall::before,.video-wall::after{content:"";position:absolute;top:0;bottom:0;width:100px;z-index:2;pointer-events:none;}
.video-wall::before{left:0;background:linear-gradient(90deg,var(--soft),transparent);}
.video-wall::after{right:0;background:linear-gradient(270deg,var(--soft),transparent);}
.vw-track{display:flex;gap:18px;width:max-content;animation:vw-scroll 50s linear infinite;}
.video-wall:hover .vw-track{animation-play-state:paused;}
@keyframes vw-scroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.vw-card{flex:none;width:238px;aspect-ratio:9/16;border-radius:16px;overflow:hidden;position:relative;background:#1b0a23;box-shadow:var(--shadow);}
.vw-card video{width:100%;height:100%;object-fit:cover;display:block;}
.vw-card .vw-meta{position:absolute;left:0;right:0;bottom:0;padding:32px 14px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));color:#fff;display:flex;align-items:center;gap:8px;}
.vw-card .vw-meta .av{width:28px;height:28px;border-radius:50%;background:var(--magenta);display:flex;align-items:center;justify-content:center;font-family:'Sora';font-weight:800;font-size:12px;flex:none;position:relative;overflow:hidden;}
.vw-card .vw-meta .av img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.vw-card{cursor:pointer;}
.vw-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;z-index:1;pointer-events:none;transition:transform .2s ease,opacity .2s ease;box-shadow:0 6px 18px rgba(0,0,0,.3);}
.vw-play::before{content:"";border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent var(--magenta);margin-left:4px;}
.vw-card:hover .vw-play{transform:translate(-50%,-50%) scale(1.08);}
/* lightbox — watch + hear a review */
.vw-lightbox{position:fixed;inset:0;z-index:9999;background:rgba(20,8,28,.9);display:none;align-items:center;justify-content:center;padding:24px;}
.vw-lightbox.open{display:flex;}
.vw-lb-inner{position:relative;width:min(420px,92vw);}
.vw-lb-inner video{width:100%;max-height:86vh;border-radius:16px;background:#000;display:block;box-shadow:0 30px 80px rgba(0,0,0,.6);}
.vw-lb-close{position:absolute;top:-16px;right:-16px;width:42px;height:42px;border-radius:50%;background:#fff;border:none;font-size:26px;line-height:1;cursor:pointer;color:var(--purple);box-shadow:0 6px 20px rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;}
.vw-card .vw-meta b{font-family:'Sora';font-size:13px;font-weight:700;}
.vw-card .vw-tag{position:absolute;top:12px;left:12px;background:rgba(255,255,255,.94);color:var(--purple);font-family:'Sora';font-weight:700;font-size:10px;letter-spacing:.03em;padding:4px 9px;border-radius:50px;z-index:1;}
.vw-loading{color:var(--muted);padding:40px;font-family:'Sora';font-weight:600;width:100%;text-align:center;}
@media(max-width:520px){ .vw-card{width:186px;} }
.powered-kup{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:18px;color:var(--muted);font-family:'Sora',sans-serif;font-weight:600;font-size:11px;text-transform:uppercase;letter-spacing:.14em;}
.powered-kup img{height:16px;width:auto;display:block;}

/* ---------- CTA band ---------- */
.cta-band{background:var(--grad);color:#fff;border-radius:28px;padding:62px 48px;text-align:center;}
.cta-band h2{color:#fff;font-size:clamp(28px,3.6vw,42px);margin-bottom:14px;}
.cta-band p{font-size:18px;color:rgba(255,255,255,.9);max-width:560px;margin:0 auto 28px;}

/* ---------- email capture ---------- */
.signup{display:flex;gap:12px;max-width:520px;margin:24px auto 0;flex-wrap:wrap;}
.signup input{flex:1;min-width:220px;padding:15px 18px;border-radius:50px;border:none;font-size:16px;font-family:'Inter';}

/* ---------- forms ---------- */
.form-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:40px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px;}
.field.full{grid-column:1/-1;}
.field label{font-family:'Sora';font-weight:600;font-size:14px;color:var(--purple);}
.field input,.field select,.field textarea{padding:13px 15px;border:1.5px solid var(--line);border-radius:12px;font-size:15px;font-family:'Inter';color:var(--ink);transition:border-color .15s;background:#fff;}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--magenta);}
.field textarea{resize:vertical;min-height:120px;}
.form-note{font-size:13px;color:var(--muted);margin-top:6px;}

/* ---------- footer ---------- */
.site-footer{background:var(--plum-dark);color:rgba(255,255,255,.7);padding:64px 0 30px;}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.12);}
.foot-grid .brand .wm{color:#fff;}
.foot-grid p{font-size:15px;margin-top:16px;max-width:320px;}
.foot-col h5{font-family:'Sora';font-weight:700;font-size:13px;letter-spacing:.18em;text-transform:uppercase;color:#fff;margin-bottom:16px;}
.foot-col a{display:block;font-size:15px;margin-bottom:10px;transition:color .15s;}
.foot-col a:hover{color:var(--magenta-soft);}
.foot-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;padding-top:24px;font-size:13px;color:rgba(255,255,255,.5);}
.foot-bottom .powered{display:inline-flex;align-items:center;gap:6px;}

/* ---------- page hero (interior pages) ---------- */
.page-hero{background:var(--grad-dark);color:#fff;padding:84px 0 76px;position:relative;overflow:hidden;text-align:center;}
.page-hero::after{content:"";position:absolute;right:-120px;top:-100px;width:520px;height:520px;background:radial-gradient(circle,rgba(194,24,154,.4),transparent 60%);}
.page-hero h1{color:#fff;font-size:clamp(34px,5vw,58px);position:relative;z-index:2;}
.page-hero p{position:relative;z-index:2;font-size:19px;color:rgba(255,255,255,.84);max-width:620px;margin:18px auto 0;}

/* ---------- responsive ---------- */
@media (max-width:920px){
  .hero-grid{grid-template-columns:1fr;gap:40px;text-align:center;}
  .hero p{margin-left:auto;margin-right:auto;}
  .hero-ctas,.hero-trust{justify-content:center;}
  .split{grid-template-columns:1fr;gap:36px;}
  .pillars{grid-template-columns:repeat(2,1fr);}
  .steps,.tgrid{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .hamburger{display:block;}
  .nav-cta .btn{display:none;}
  .foot-grid{grid-template-columns:1fr;gap:30px;}
  .form-grid{grid-template-columns:1fr;}
}
@media (max-width:520px){
  .section{padding:64px 0;}
  .pillars{grid-template-columns:1fr;}
  .cta-band{padding:44px 24px;}
  .book-card{position:static;margin:24px auto 0;}
}
