:root{
  --cream:#faf8ff;
  --parchment:#f1edfb;
  --parchment-2:#e7e0f7;
  --ink:#150f24;
  --ink-soft:#4a4460;
  --ink-faint:#847c9a;
  --band:#241a4d;           /* the cover's violet band, dropped for a dark page */
  --band-2:#33236b;
  --band-deep:#120a2b;
  --band-text:#ece7fb;
  --band-faint:#b3a6da;
  --accent:#652bf5;         /* straight off the cover */
  --accent-bright:#8355ff;
  --accent-soft:#5320cf;
  --accent-lite:#b49bff;
  --rust:#e0533a;
  --line:#e4dcf6;
  --line-dark:rgba(180,155,255,.20);
  --card-tint:#f2edfd;
  --shadow:rgba(21,15,36,.10);
  --glow:rgba(101,43,245,.44);
  --glow-soft:rgba(101,43,245,.14);
  --maxw:1120px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:'Source Sans 3',ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--ink);background:var(--cream);line-height:1.65;font-size:18px;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
.serif,h1,h2,h3{font-family:'Playfair Display',Georgia,'Times New Roman',serif;line-height:1.14;font-weight:800}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.hl{color:var(--accent);font-style:italic}
.center{text-align:center}

/* Eyebrow pill */
.eyebrow{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:.9rem;letter-spacing:.01em;
  padding:9px 18px;border-radius:100px;background:var(--card-tint);border:1px solid var(--line);color:var(--accent-soft)}
.eyebrow svg{flex:none;color:var(--accent)}
.eyebrow.on-dark{background:rgba(121,176,227,.12);border-color:var(--line-dark);color:#a8cdef}
.eyebrow.on-dark svg{color:var(--accent-lite)}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--accent);color:#fff;
  font-weight:700;font-size:1.06rem;font-family:inherit;padding:16px 30px;border-radius:10px;border:none;cursor:pointer;
  text-decoration:none;white-space:nowrap;box-shadow:0 12px 28px -10px rgba(21,90,156,.55);
  transition:transform .15s,box-shadow .15s,background .15s}
.btn:hover{background:var(--accent-bright);transform:translateY(-2px);box-shadow:0 18px 36px -10px rgba(21,90,156,.65)}
.btn:active{transform:translateY(0)}
.btn svg{flex:none;transition:transform .15s}
.btn:hover svg{transform:translateX(3px)}
.btn.bright{background:linear-gradient(180deg,var(--accent-bright),var(--accent))}
.btn.bright:hover{background:linear-gradient(180deg,#5a9ad6,var(--accent-bright))}

/* Sticky bar */
.sticky{position:fixed;left:0;right:0;bottom:0;z-index:60;transform:translateY(120%);
  /* iOS puts its own toolbar over the bottom of the viewport; without this the
     bar sits underneath it and the buyer never sees it while scrolling. */
  padding-bottom:env(safe-area-inset-bottom,0px);
  transition:transform .35s cubic-bezier(.2,.8,.2,1);background:var(--band-deep);border-top:1px solid var(--line-dark);
  box-shadow:0 -8px 30px rgba(0,0,0,.35)}
.sticky.show{transform:translateY(0)}
.sticky .in{max-width:var(--maxw);margin:0 auto;padding:11px 24px;display:flex;align-items:center;gap:16px;justify-content:space-between}
.sticky .txt{color:#fff;display:flex;align-items:baseline;gap:11px;min-width:0}
.sticky .txt strong{font-family:'Playfair Display',serif;font-size:1.12rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sticky .txt .price{color:var(--accent-lite);font-weight:800;white-space:nowrap}
.sticky .btn{padding:11px 24px;font-size:.98rem;box-shadow:none}
@media(max-width:640px){.sticky .txt strong{display:none}.sticky .in{padding:9px 16px}}

/* Dark band + AUTOMOTIVE ENGINE TEXTURE + glow */
.dark{
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44' viewBox='0 0 44 44'%3E%3Cg stroke='%23ffffff' stroke-opacity='0.05' stroke-width='1.4' stroke-linecap='square'%3E%3Cpath d='M22 15.5v13M15.5 22h13'/%3E%3C/g%3E%3C/svg%3E") repeat,
    radial-gradient(120% 90% at 82% 0%,var(--glow),transparent 58%),
    linear-gradient(165deg,var(--band) 0%,var(--band-deep) 100%);
  color:#fff;position:relative;overflow:hidden;
}
.dark>*{position:relative;z-index:1}

/* Hero — grid areas so mobile shows TITLE + COVER + BUTTON above the fold */
.hero{padding-top:60px;padding-bottom:72px}
.hero .grid{display:grid;column-gap:56px;align-content:center;grid-template-columns:1.02fr .98fr;
  grid-template-areas:"eb cover" "title cover" "sub cover" "offer cover"}
.hero .eyebrow{grid-area:eb;align-self:start;margin-bottom:20px}
.hero h1{grid-area:title;font-size:3.5rem;letter-spacing:-.01em;margin:0 0 22px}
.hero h1 .hl{color:var(--accent-lite)}
.hero .sub{grid-area:sub;font-size:1.14rem;color:var(--band-text);max-width:46ch;margin-bottom:26px;line-height:1.6}
.hero .offer{grid-area:offer}
.hero .price{font-family:'Source Sans 3',sans-serif;font-size:4rem;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1;margin-bottom:22px}
.hero .cover-wrap{grid-area:cover;align-self:center;position:relative;display:flex;justify-content:center}
.hero .cover-wrap:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-52%);
  width:88%;height:82%;background:radial-gradient(circle,var(--glow) 0%,transparent 68%);
  filter:blur(38px);z-index:0}
.hero .cover-wrap:after{content:"";position:absolute;bottom:-24px;left:50%;transform:translateX(-50%);
  width:70%;height:40px;background:rgba(0,0,0,.55);filter:blur(26px);border-radius:50%;z-index:0}
.hero .cover{position:relative;z-index:1;width:100%;max-width:508px;border-radius:12px;
  box-shadow:0 34px 74px -20px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.05)}
.secure{display:flex;align-items:center;gap:8px;color:var(--band-faint);font-size:.9rem;margin-top:16px}
.secure svg{flex:none;color:var(--accent-lite)}

/* Email capture */
.capture{display:flex;gap:10px;max-width:420px;margin-top:4px}
/* one button, no field — let it own the row so it reads as the single next step */
.capture .btn{width:100%;justify-content:center}
.capture input{flex:1;min-width:0;padding:15px 17px;border-radius:12px;border:1.5px solid rgba(121,176,227,.30);
  font-size:1.02rem;font-family:inherit;background:rgba(255,255,255,.06);color:#fff}
.capture.on-light input{background:#fff;color:var(--ink);border-color:var(--line)}
.capture input::placeholder{color:#a49cbf}
.capture.on-light input::placeholder{color:#9a93ab}
.capture input:focus{outline:none;border-color:var(--accent-lite);box-shadow:0 0 0 4px rgba(29,111,191,.18)}
.fineprint{font-size:.86rem;color:var(--band-faint);margin-top:12px;line-height:1.5;max-width:52ch}
.fineprint.on-light{color:var(--ink-faint)}
.fineprint a{color:var(--accent-lite);text-decoration:underline}
.fineprint.on-light a{color:var(--accent-soft)}
.err{color:#ff9d86;font-size:.86rem;font-weight:600;margin-top:8px;min-height:1em;display:none}
.err.show{display:block}

/* Sections */
.section{padding:88px 0}
.section.light{background:var(--parchment)}
.section.cream{background:var(--cream)}
.section .head{text-align:center;max-width:760px;margin:0 auto 8px}
.section .head .eyebrow{margin-bottom:22px}
.section h2{font-size:2.6rem;margin-bottom:16px}
.lead{font-size:1.15rem;color:var(--ink-soft);line-height:1.7}
.lead.center{text-align:center;max-width:64ch;margin:0 auto}
.dark h2{color:#fff}
.dark .lead{color:var(--band-text)}

/* Pain grid */
.pain-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:960px;margin:48px auto 0}
.pain{background:var(--card-tint);border:1px solid var(--line);border-radius:16px;padding:22px 24px;display:flex;gap:16px;align-items:flex-start}
.pain .ic{flex:none;width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:rgba(224,85,58,.12);color:var(--rust)}
.pain p{color:var(--ink-soft);font-size:1.03rem;line-height:1.55}

/* Mechanism */
.mech .lead{max-width:66ch;margin:0 auto}
.mech .intro{max-width:66ch;margin:34px auto 0;color:var(--ink-soft);font-size:1.08rem;line-height:1.75}
.mech .intro b{color:var(--ink)}

/* What's inside */
.inside-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:980px;margin:48px auto 0}
.inside{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;gap:18px;align-items:flex-start;transition:transform .16s,box-shadow .16s;box-shadow:0 10px 30px -24px var(--shadow)}
.inside:hover{transform:translateY(-3px);box-shadow:0 20px 40px -28px var(--shadow)}
.inside .ic{flex:none;width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:var(--card-tint);color:var(--accent)}
.inside h3{font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:1.12rem;margin-bottom:7px;color:var(--ink)}
.inside p{color:var(--ink-soft);font-size:1rem;line-height:1.55}

/* Look inside */
.peek{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:980px;margin:46px auto 0}
.peek figure{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 14px 36px -26px var(--shadow)}
.peek img{border-radius:9px;width:100%}
.peek figcaption{font-size:.92rem;color:var(--ink-faint);margin-top:12px;text-align:center;font-weight:500}

/* Parts */
.parts{max-width:820px;margin:48px auto 0}
.part{display:grid;grid-template-columns:74px 1fr;gap:26px;align-items:flex-start;padding:22px 0}
.part+.part{border-top:1px solid var(--line)}
.part .badge{width:74px;height:74px;border-radius:50%;background:linear-gradient(160deg,var(--accent-bright),var(--accent));color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:.9rem;text-align:center;line-height:1.15;box-shadow:0 12px 28px -12px rgba(21,90,156,.55)}
.part h3{font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:1.18rem;margin-bottom:7px;color:var(--ink)}
.part p{color:var(--ink-soft);font-size:1.04rem;line-height:1.6}

/* FAQ */
.faq{max-width:800px;margin:44px auto 0;display:grid;gap:14px}
.q{background:var(--cream);border:1px solid var(--line);border-radius:14px;overflow:hidden}
/* The answer used to live INSIDE this button. Safari on iOS will not collapse a
   button's own children with max-height, so every closed question rendered as a
   huge empty card. The answer is now a sibling; the button is just the header. */
.q button{display:block;width:100%;background:none;border:none;cursor:pointer;text-align:left;
  padding:22px 52px 22px 24px;margin:0;-webkit-appearance:none;appearance:none;
  font-family:'Source Sans 3',sans-serif;font-weight:700;font-size:1.08rem;color:var(--ink);position:relative;line-height:1.45}
.q button:after{content:"";position:absolute;right:22px;top:26px;width:11px;height:11px;border-right:2px solid var(--accent);border-bottom:2px solid var(--accent);transform:rotate(45deg);transition:transform .22s}
.q.open button:after{transform:rotate(-135deg);top:30px}
.q .a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.q .a p{padding:0 24px 22px;color:var(--ink-soft);font-size:1.04rem;line-height:1.65}

/* Final CTA */
.final{padding:92px 0}
.final .in{max-width:720px;margin:0 auto;text-align:center}
.final h2{font-size:2.9rem;color:#fff;margin-bottom:16px}
.final .choices{text-align:left;max-width:620px;margin:26px auto 0;display:grid;gap:16px}
.final .choices p{color:var(--band-text);font-size:1.06rem;line-height:1.65}
.final .choices b{color:#fff}
.final .price{font-family:'Source Sans 3',sans-serif;font-size:3.6rem;font-weight:800;letter-spacing:-.02em;color:#fff;line-height:1;margin:36px 0 4px}
.final .capture{margin:20px auto 0;justify-content:center}
.final .fineprint{margin-left:auto;margin-right:auto;text-align:center}
.trust{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin-top:24px;color:var(--band-faint);font-size:.92rem}
.trust span{display:inline-flex;align-items:center;gap:8px}
.trust svg{flex:none;color:var(--accent-lite)}

/* Footer */
footer{background:var(--band-deep);color:var(--band-faint);padding:52px 0 44px;font-size:.94rem;text-align:center;position:relative}
/* the sticky buy-bar is fixed over the bottom of the page — keep the last footer
   lines clear of it, and hide the bar entirely once the footer is on screen */
/* room for the sticky bar. Not :has() — older mobile browsers do not support it
   and the bar then covers the disclaimer. Every store page has the bar. */
footer{padding-bottom:110px}
@media(max-width:640px){footer{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}
.sticky.at-end{transform:translateY(120%)}
footer .brand{display:inline-flex;align-items:center;gap:10px;font-family:'Playfair Display',serif;font-weight:800;font-size:1.35rem;color:#fff;margin-bottom:12px}
footer .brand svg{color:var(--accent-lite)}
footer .tag{max-width:52ch;margin:0 auto 22px;color:#93a6b8;line-height:1.6}
footer nav{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:26px}
footer nav a{color:#c3d4e2;text-decoration:underline;text-underline-offset:3px}
footer nav a:hover{color:#fff}
footer nav .sep{color:#3f5162}
footer .disc{border-top:1px solid rgba(255,255,255,.08);padding-top:24px;max-width:760px;margin:0 auto;color:#6d8093;line-height:1.65;font-size:.85rem}
footer .disc p{margin-bottom:10px}
footer .full{margin-top:14px}
footer .full summary{cursor:pointer;color:#93a6b8;font-weight:600;list-style:none}
footer .full summary::-webkit-details-marker{display:none}
footer .full summary:before{content:"▸ ";color:var(--accent-lite)}
footer .full[open] summary:before{content:"▾ "}
footer .full .body{margin-top:14px;text-align:left;color:#6d8093;font-size:.82rem;line-height:1.7}
footer .full .body p{margin-bottom:10px}

/* Legal pages */
.legal-hero{padding:64px 0 42px}
.legal-hero h1{font-size:2.7rem;color:#fff}
.legal-hero p{color:var(--band-text);margin-top:12px}
.legal-body{padding:56px 0 80px;background:var(--cream)}
.legal-body .doc{max-width:820px;margin:0 auto}
.legal-body h2{font-size:1.55rem;margin:36px 0 12px;color:var(--ink)}
.legal-body h3{font-size:1.14rem;margin:24px 0 9px;font-family:'Source Sans 3',sans-serif;font-weight:700}
.legal-body p,.legal-body li{color:var(--ink-soft);margin-bottom:13px;font-size:1.03rem;line-height:1.7}
.legal-body ul{padding-left:22px;margin-bottom:13px}
.legal-body a{color:var(--accent-soft);text-decoration:underline}
.legal-body .box{background:var(--card-tint);border-left:4px solid var(--accent);border-radius:0 12px 12px 0;padding:18px 22px;margin:20px 0}
.legal-body .updated{color:var(--ink-faint);font-size:.9rem;margin-bottom:6px}
.backlink{display:inline-flex;align-items:center;gap:8px;color:var(--accent-soft);font-weight:600;text-decoration:none;margin-bottom:24px}
.backlink:hover{text-decoration:underline}

/* Thank-you */
.ty{padding:66px 0 44px}
.ty .in{max-width:640px;margin:0 auto;text-align:center}
.ty .check{width:82px;height:82px;border-radius:50%;background:linear-gradient(160deg,var(--accent-bright),var(--accent));display:flex;align-items:center;justify-content:center;margin:0 auto 24px;box-shadow:0 14px 34px -10px rgba(21,90,156,.65)}
.ty h1{font-size:2.7rem;color:#fff;margin-bottom:14px}
.ty p{color:var(--band-text);font-size:1.14rem;margin-bottom:12px;line-height:1.6}
.ty .email{color:var(--accent-lite);font-weight:700}
.ty .btn{margin-top:24px}
.ty .note{font-size:.9rem;color:var(--band-faint);margin-top:22px}

/* Responsive */
@media(max-width:960px){
  .hero .grid{grid-template-columns:1fr;column-gap:0;grid-template-areas:"eb" "title" "sub" "offer" "cover"}
  .hero .cover-wrap{margin:28px 0 0}
  .hero h1{font-size:2.9rem}
  .section h2{font-size:2.2rem}
  .pain-grid,.inside-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  body{font-size:17px}
  .section{padding:60px 0}
  .hero{padding-top:34px;padding-bottom:56px}
  .hero .eyebrow{margin-bottom:18px}
  .hero h1{font-size:2.5rem;margin:0 0 18px}
  .hero .sub{display:block;font-size:1.07rem;line-height:1.62;margin-bottom:26px}
  .hero .price{font-size:3.7rem;margin-bottom:18px}
  .hero .cover{max-width:340px}
  .hero .cover-wrap{margin:30px 0 2px}
  .peek{grid-template-columns:1fr}
  .capture{flex-direction:column}
  .capture .btn{width:100%}
  .final h2{font-size:2.1rem}
  .final .price{font-size:3rem}
  .part{grid-template-columns:58px 1fr;gap:18px}
  .part .badge{width:58px;height:58px;font-size:.8rem}
}
@media(max-width:480px){
  .wrap{padding:0 18px}
  .hero .cover{max-width:320px}
}

/* ================= THANK-YOU + UPSELL ================= */
.ty-hero{padding:64px 0 56px}
.ty-hero .in{max-width:660px;margin:0 auto;text-align:center}
.ty-hero .check{width:76px;height:76px;border-radius:50%;background:linear-gradient(160deg,var(--accent-bright),var(--accent));display:flex;align-items:center;justify-content:center;margin:0 auto 22px;box-shadow:0 14px 34px -10px rgba(21,90,156,.65)}
.ty-hero h1{font-size:2.5rem;color:#fff;margin-bottom:12px}
.ty-hero p{color:var(--band-text);font-size:1.1rem;margin-bottom:10px;line-height:1.6}
.ty-hero .email{color:var(--accent-lite);font-weight:700}
.ty-hero .btn{margin-top:20px}
.ty-hero .note{font-size:.9rem;color:var(--band-faint);margin-top:18px}
.ty-hero .note a{color:var(--accent-lite)}

.upsell{background:var(--parchment);padding:72px 0}
.upsell .head{text-align:center;max-width:720px;margin:0 auto 40px}
.upsell .pill{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent-soft);background:var(--card-tint);border:1px solid var(--line);padding:8px 16px;border-radius:100px;margin-bottom:18px}
.upsell h2{font-size:2.2rem;margin-bottom:12px}
.upsell .head .lead{font-size:1.12rem;color:var(--ink-soft);max-width:60ch;margin:0 auto}
.upsell-card{max-width:920px;margin:0 auto;background:var(--cream);border:1px solid var(--line);border-radius:22px;box-shadow:0 30px 70px -42px var(--shadow);overflow:hidden;display:grid;grid-template-columns:300px 1fr}
.upsell-card .media{background:linear-gradient(160deg,var(--band-2),var(--band-deep));display:flex;align-items:center;justify-content:center;padding:32px;position:relative}
.upsell-card .media .glyph{width:130px;height:130px;color:var(--accent-lite)}
.upsell-card .media .float{position:absolute;background:rgba(121,176,227,.16);border:1px solid var(--line-dark);border-radius:12px}
.upsell-card .body{padding:34px 36px}
.upsell-card .body h3{font-size:1.5rem;margin-bottom:6px;color:var(--ink)}
.upsell-card .body .kicker{font-size:.82rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:10px}
.upsell-card .body>p{color:var(--ink-soft);font-size:1.04rem;line-height:1.6;margin-bottom:18px}
.upsell-card ul{list-style:none;display:grid;gap:11px;margin-bottom:22px}
.upsell-card li{display:flex;gap:11px;align-items:flex-start;color:var(--ink-soft);font-size:1.02rem}
.upsell-card li svg{flex:none;margin-top:3px;color:var(--accent)}
.upsell-card .price-row{display:flex;align-items:baseline;gap:12px;margin-bottom:20px}
.upsell-card .price-row .now{font-family:'Source Sans 3',sans-serif;font-size:2.6rem;font-weight:800;letter-spacing:-.02em;color:var(--ink);line-height:1}
.upsell-card .price-row .was{font-size:1.15rem;color:var(--ink-faint);text-decoration:line-through}
.upsell-card .price-row .tag{font-size:.78rem;font-weight:800;letter-spacing:.03em;background:var(--accent);color:#fff;padding:5px 12px;border-radius:100px}
.upsell-card .cta{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.upsell-card .cta .btn{width:100%;max-width:420px}
.upsell-card .decline{color:var(--ink-faint);font-weight:600;text-decoration:underline;text-underline-offset:3px;font-size:.98rem}
.upsell-card .decline:hover{color:var(--ink-soft)}
.upsell .safe{text-align:center;color:var(--ink-faint);font-size:.9rem;margin-top:24px}
@media(max-width:760px){
  .upsell-card{grid-template-columns:1fr}
  .upsell-card .media{padding:28px;min-height:180px}
  .upsell-card .media .glyph{width:96px;height:96px}
  .upsell h2{font-size:1.9rem}
  .upsell-card .body{padding:28px 24px}
}


/* ================= THANK-YOU UPSELL ================= */
.upsell{padding:56px 0 84px;background:var(--parchment)}
.upsell .in{max-width:680px;margin:0 auto}
.upsell .card{background:var(--cream);border:1px solid var(--line);border-radius:20px;padding:38px 36px;box-shadow:0 24px 56px -34px var(--shadow);position:relative;overflow:hidden}
.upsell .card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--accent),var(--accent-bright))}
.upsell .ucover{width:150px;border-radius:8px;margin:0 auto 18px;display:block;
  box-shadow:0 16px 34px -14px var(--shadow)}
.upsell .oto{display:inline-flex;align-items:center;gap:8px;font-size:.76rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--accent);padding:6px 13px;border-radius:100px;margin-bottom:18px}
.upsell h2{font-size:1.95rem;margin-bottom:10px;line-height:1.2}
.upsell .usub{color:var(--ink-soft);font-size:1.06rem;line-height:1.6;margin-bottom:22px}
.upsell ul{list-style:none;display:grid;gap:11px;margin:0 0 6px}
.upsell li{display:flex;gap:11px;align-items:flex-start;color:var(--ink-soft);font-size:1.02rem;line-height:1.5}
.upsell li svg{flex:none;margin-top:3px;color:var(--accent)}
.upsell .price-row{display:flex;align-items:baseline;gap:12px;margin:22px 0 4px}
.upsell .price-row .now{font-family:'Source Sans 3',sans-serif;font-weight:800;font-size:2.4rem;color:var(--ink);letter-spacing:-.02em;line-height:1}
.upsell .price-row .was{font-size:1.1rem;color:var(--ink-faint);text-decoration:line-through}
.upsell .price-row .save{font-size:.74rem;font-weight:800;letter-spacing:.03em;background:var(--accent);color:#fff;padding:5px 11px;border-radius:100px;align-self:center}
.upsell .btn{width:100%;margin-top:14px}
.upsell .decline{display:block;text-align:center;margin-top:16px;color:var(--ink-faint);text-decoration:underline;text-underline-offset:3px;font-size:.96rem}
.upsell .decline:hover{color:var(--ink-soft)}
.upsell .oto-note{text-align:center;color:var(--ink-faint);font-size:.85rem;margin-top:16px;line-height:1.5}
@media(max-width:640px){.upsell .card{padding:30px 22px}.upsell h2{font-size:1.6rem}.upsell .price-row .now{font-size:2rem}}


/* ===== Thank-you download block (below upsell) ===== */
.grab{padding:14px 0 84px;background:var(--parchment);text-align:center}
.grab .in{max-width:560px;margin:0 auto}
.grab .divider{display:flex;align-items:center;gap:16px;color:var(--ink-faint);font-size:.85rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;max-width:420px;margin:0 auto 30px}
.grab .divider:before,.grab .divider:after{content:"";height:1px;background:var(--line);flex:1}
.grab h3{font-family:'Playfair Display',serif;font-weight:800;font-size:1.55rem;color:var(--ink);margin-bottom:8px}
.grab p{color:var(--ink-soft);font-size:1.02rem;margin-bottom:20px;line-height:1.6}
.grab .btn{margin:0 auto}
.grab .note{font-size:.9rem;color:var(--ink-faint);margin-top:18px;line-height:1.55}
.grab .note a{color:var(--accent-soft);text-decoration:underline}

/* the value stack under the final CTA — one dense line, not a bulleted list */
.stack{max-width:760px;margin:18px auto 0;font-size:1rem;line-height:1.7;color:var(--band-faint)}
.stack b{color:var(--band-text)}
