:root{
  --plum:#3B1E45; --plum-2:#5A2E66; --coral:#E8735A; --gold:#E2A93B;
  --cream:#FBF5EC; --sand:#F3E7D6; --ink:#2A1F2D; --muted:#7A6A72;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{ margin:0; font-family:"DM Sans",sans-serif; color:var(--ink); background:var(--cream); font-size:17px; line-height:1.6; }
img{ max-width:100%; display:block; }
h1,h2,h3{ font-family:"Fraunces",serif; color:var(--plum); line-height:1.1; margin:0 0 .5em; }
h2{ font-size:clamp(28px,4vw,40px); }
.wrap{ max-width:1100px; margin:0 auto; padding:0 20px; }

.btn{ display:inline-block; background:var(--coral); color:#fff; font-weight:700; text-decoration:none; padding:15px 26px; border-radius:999px; transition:transform .15s ease, background .15s ease; }
.btn:hover{ transform:translateY(-2px); background:#d9634b; }
.btn.small{ padding:9px 18px; font-size:14px; }
.btn.gold{ background:var(--gold); color:var(--plum); }
.btn.gold:hover{ background:#d39a2c; }
.link{ color:var(--sand); font-weight:500; }

.nav{ display:flex; justify-content:space-between; align-items:center; padding-top:18px; padding-bottom:18px; position:absolute; left:0; right:0; z-index:5; }
.logo{ letter-spacing:.3em; font-weight:700; font-size:13px; color:var(--gold); }

.hero{ background:#2A1531; color:var(--cream); padding:120px 0 90px; overflow:hidden; position:relative; }
.hero::after{ content:""; position:absolute; width:520px; height:520px; border-radius:50%; background:var(--plum-2); right:-160px; top:-180px; }
.hero-grid{ display:grid; grid-template-columns:1.15fr 1fr; gap:40px; align-items:center; position:relative; z-index:2; }
.hero h1{ color:var(--cream); font-size:clamp(40px,6vw,66px); font-weight:800; letter-spacing:-.01em; }
.kicker{ text-transform:uppercase; letter-spacing:.16em; font-size:13px; color:var(--gold); font-weight:700; }
.sub{ color:var(--sand); font-size:19px; max-width:560px; }
.cta-row{ display:flex; gap:22px; align-items:center; flex-wrap:wrap; margin-top:28px; }
.covers{ position:relative; height:430px; }
.cv{ position:absolute; width:290px; border-radius:6px; border:4px solid var(--cream); box-shadow:0 30px 60px rgba(0,0,0,.35); }
.cv.back{ right:10px; top:0; transform:rotate(5deg); }
.cv.front{ left:10px; top:50px; transform:rotate(-4deg); }

.familiar{ padding:80px 20px 40px; text-align:center; }
.cards3{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:24px; text-align:left; }
.pain{ background:#fff; border-radius:16px; padding:24px; border:1px solid var(--sand); }
.pain p{ margin:0; }
.bridge{ max-width:720px; margin:36px auto 0; font-size:20px; font-family:"Fraunces",serif; color:var(--plum); }

.products{ padding:40px 0; }
.product{ display:grid; grid-template-columns:1fr 1.1fr; gap:48px; align-items:center; background:#fff; border-radius:24px; padding:40px; margin-bottom:28px; border:1px solid var(--sand); }
.product.alt .shots{ order:2; }
.shots{ display:grid; grid-template-columns:2fr 1fr; grid-template-rows:1fr 1fr; gap:12px; }
.shots img{ border-radius:8px; box-shadow:0 10px 24px rgba(59,30,69,.15); border:1px solid var(--sand); }
.shots img:first-child{ grid-row:1 / 3; }
.tag{ display:inline-block; background:var(--sand); color:var(--plum); font-weight:700; font-size:12px; letter-spacing:.14em; text-transform:uppercase; padding:5px 12px; border-radius:999px; margin:0 0 12px; }
.tag.light{ background:rgba(255,255,255,.15); color:var(--gold); }
.lead{ font-size:19px; color:var(--muted); margin-top:-6px; }
.ticks{ list-style:none; padding:0; }
.ticks li{ padding-left:30px; position:relative; margin:9px 0; }
.ticks li::before{ content:""; position:absolute; left:0; top:6px; width:16px; height:16px; border-radius:50%; background:var(--coral); box-shadow:inset 0 0 0 4px #fff, 0 0 0 1.5px var(--coral); }
.meta{ font-size:14px; color:var(--muted); }
.buy{ display:flex; align-items:center; gap:20px; margin-top:20px; }
.buy.center{ justify-content:center; }
.price{ font-family:"Fraunces",serif; font-weight:800; font-size:44px; color:var(--plum); }
.was{ font-family:"Fraunces",serif; font-size:26px; text-decoration:line-through; opacity:.6; }

.bundle{ background:var(--plum); color:var(--cream); border-radius:24px; padding:56px 30px; text-align:center; max-width:1060px; }
.bundle h2{ color:var(--cream); }
.bundle p{ color:var(--sand); max-width:560px; margin:0 auto; }
.bundle .price{ color:var(--gold); }

.how{ padding:80px 20px 30px; text-align:center; }
.steps3{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:20px; }
.n{ display:inline-flex; width:48px; height:48px; border-radius:50%; background:var(--coral); color:#fff; font-family:"Fraunces",serif; font-weight:800; font-size:22px; align-items:center; justify-content:center; margin-bottom:10px; }
.steps3 h3{ font-size:22px; margin-bottom:4px; }
.steps3 p{ margin:0; color:var(--muted); }

.honest{ padding:50px 20px; }
.honest > *{ max-width:760px; }
.honest{ text-align:left; }
.honest p{ background:var(--sand); border-left:4px solid var(--gold); padding:20px 24px; border-radius:10px; }

.faq{ padding:20px 20px 80px; max-width:820px; }
details{ background:#fff; border:1px solid var(--sand); border-radius:14px; padding:16px 20px; margin:10px 0; }
summary{ font-weight:700; color:var(--plum); cursor:pointer; }
details p{ margin:10px 0 0; }

.foot{ background:var(--plum); color:var(--sand); padding:44px 0; text-align:center; }
.foot p{ margin:8px 0; }
.tiny{ font-size:12px; opacity:.75; max-width:720px; margin:14px auto 0 !important; }

@media (max-width:820px){
  .hero{ padding:90px 0 60px; }
  .hero-grid, .product, .cards3, .steps3{ grid-template-columns:1fr; }
  .covers{ height:300px; }
  .cv{ width:190px; }
  .cv.back{ right:12%; } .cv.front{ left:12%; top:30px; }
  .product{ padding:24px; gap:24px; }
  .product.alt .shots{ order:0; }
  .buy{ flex-wrap:wrap; }
}

/* Thank-you pages */
body.thanks{ background:var(--plum); color:var(--cream); min-height:100vh; }
.ty{ max-width:680px; padding-top:60px; padding-bottom:60px; text-align:center; }
.ty h1{ color:var(--cream); font-size:clamp(34px,6vw,52px); margin-top:24px; }
.ty .sub{ margin:0 auto; }
.dls{ display:flex; flex-direction:column; gap:14px; align-items:center; margin:32px 0; }
.first{ background:rgba(255,255,255,.08); border-radius:16px; padding:22px 26px; text-align:left; }
.first h3{ color:var(--gold); margin-bottom:6px; } .first p{ margin:0; }
.note{ font-size:14px; color:var(--sand); opacity:.8; margin-top:24px; }
.up{ background:var(--cream); color:var(--ink); border-radius:16px; padding:22px 26px; margin-top:28px; text-align:left; }
.up h3{ margin-bottom:6px; } .link.dark{ color:var(--coral); font-weight:700; }
