/* Faceless Fortune 2.0 sales page. Copy and layout follow the original GHL page; type is Poppins, colours are its purples. */
:root {
  --ink:#0a0a0a; --paper:#fff; --soft:#f3f3f3; --line:#e4e4e7; --mute:#5d5d5d;
  --plum:#361739; --violet:#757bbd; --indigo:#5b4fe0; --purple:#8472ed; --lav:#d6bcfa; --lav-soft:#ece4fd;
  --card:#1c1b20; --card-line:#2e2c36;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; font-family:'Poppins', Arial, sans-serif; color:var(--ink); background:var(--paper); line-height:1.55; -webkit-font-smoothing:antialiased; }
img { max-width:100%; height:auto; display:block; }
a { color:inherit; }
.in { max-width:1180px; margin:0 auto; padding:0 24px; }
.narrow { max-width:960px; }
.center { text-align:center; }
.sec { padding:80px 0; }
.dark { background:#000; color:#fff; }
.m-only { display:none !important; }
@media (max-width:820px) { .d-only { display:none !important; } .m-only { display:block !important; } }

/* type */
h1, h2, h3 { margin:0; line-height:1.12; letter-spacing:-.015em; }
/* Headlines set like The Viral Formula page: Poppins Black in capitals. The "This is exactly how" heading stays as written (Dom's call). */
h1, h2, .proof-h { font-weight:900; text-transform:uppercase; letter-spacing:-.012em; line-height:1.08; }
h3 { font-weight:800; }
.how-copy h2 { font-weight:800; text-transform:none; letter-spacing:-.015em; line-height:1.12; }
h1 { font-weight:800; font-size:clamp(32px, 5.4vw, 66px); }
h2 { font-weight:800; font-size:clamp(28px, 4.2vw, 50px); }
h3 { font-weight:700; font-size:clamp(19px, 2vw, 23px); }
p { margin:0 0 18px; font-size:17px; }
.lav { color:var(--lav); }
.u { text-decoration:underline; text-decoration-thickness:.07em; text-underline-offset:.12em; }

/* top bar */
.topbar { background:linear-gradient(90deg, #fff 0%, #e4e3fa 50%, #fff 100%); text-align:center; font-weight:700; font-size:15px; padding:10px 16px; line-height:1.35; }

/* buttons */
.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-width:min(100%, 320px); padding:16px 30px; border-radius:10px; border:0; cursor:pointer;
       background:linear-gradient(180deg, #6f62f0 0%, var(--indigo) 100%); color:#fff !important; font:800 18px/1.2 'Poppins', Arial, sans-serif; text-transform:uppercase; text-decoration:none;
       letter-spacing:.01em; box-shadow:0 8px 24px rgba(91,79,224,.35), inset 0 1px 0 rgba(255,255,255,.25); transition:transform .15s ease, box-shadow .15s ease; }
.btn:hover { transform:translateY(-2px); box-shadow:0 12px 28px rgba(91,79,224,.45), inset 0 1px 0 rgba(255,255,255,.25); }
.btn svg { width:20px; height:20px; flex:none; }
.btn-wide { display:flex; width:100%; }
.cta { text-align:center; margin-top:36px; }
.rating { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:12px; font-size:13.5px; font-weight:500; white-space:nowrap; }
.rating img { width:78px; flex:none; }
.dark .rating, .hero .rating { color:#e8e8e8; }

/* placeholder for anything not supplied yet */
.ph { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; width:100%; aspect-ratio:16/9;
      background:repeating-linear-gradient(135deg, #1d1b22 0 14px, #26232c 14px 28px); border:2px dashed #5a5466; border-radius:12px; color:#ddd; font-weight:600; font-size:15px; padding:16px; }
.ph small { font-weight:500; font-size:12.5px; color:#a9a3b5; }

/* secure-checkout strip: one line, same as The Viral Formula page (no PayPal: checkout doesn't take it) */
.secure { margin-top:16px; }
.secure-row { display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:nowrap; white-space:nowrap; font-size:13.5px; color:var(--mute); }
.secure-row svg { width:20px; height:20px; color:var(--ink); flex:none; }
.secure-row b { color:var(--ink); }
.stripe-pill { font-size:11.5px; background:#635bff; color:#fff; border-radius:6px; padding:4px 9px; white-space:nowrap; }
.stripe-pill b { color:#fff; font-size:14px; letter-spacing:-.02em; }
.pays { display:flex; justify-content:center; gap:8px; margin-top:14px; flex-wrap:wrap; }
.pay { display:inline-flex; align-items:center; justify-content:center; gap:3px; height:32px; min-width:54px; padding:0 9px; border:1.5px solid #e1e1e1; border-radius:7px; background:#fff; font-weight:800; font-size:13px; color:#111; }
.pay svg { height:20px; width:auto; }
.pay-visa { color:#1a1f71; font-style:italic; letter-spacing:.02em; font-size:15px; }
.pay-amex { background:#2e77bb; border-color:#2e77bb; color:#fff; font-size:12px; letter-spacing:.04em; }
.pay-apple { background:#000; border-color:#000; color:#fff; font-weight:600; }
.pay-apple svg { height:16px; margin-top:-2px; }
.on-dark .secure-row { color:#d4d4d8; }
.on-dark .secure-row svg, .on-dark .secure-row b { color:#fff; }
.on-dark .pay-apple { border-color:#fff; }

/* hero */
.hero { color:#fff; background:#000 linear-gradient(155deg, #000 0%, #07040a 34%, #2a1230 66%, var(--plum) 84%, #45224a 100%); background-attachment:fixed; padding:34px 0 72px; }
.logo { width:min(260px, 62vw); margin:0 auto 34px; }
.hero h1 { text-align:center; max-width:1100px; margin:0 auto; }
.hero .sub { text-align:center; max-width:960px; margin:18px auto 0; font-size:clamp(16px, 1.7vw, 20px); color:#f1f1f1; }
.hero-grid { display:grid; grid-template-columns:1.62fr 1fr; gap:36px; margin-top:44px; align-items:start; }
.vsl { border:6px solid #fff; border-radius:18px; overflow:hidden; background:#000; }
.vsl .ph { border:0; border-radius:0; }
.vsl-box { position:relative; width:100%; aspect-ratio:16/9; background:#000; }
.vsl-box video { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; background:#000; }
.vsl-btn { position:absolute; inset:0; width:100%; height:100%; border:0; padding:0; cursor:pointer; background:rgba(10,6,16,.3); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:12px; color:#fff; font-family:inherit; transition:background .15s ease; }
.vsl-btn:hover { background:rgba(10,6,16,.12); }
.vsl-play { width:88px; height:88px; border-radius:50%; background:linear-gradient(180deg,#7a6df2,var(--indigo)); position:relative; box-shadow:0 8px 28px rgba(91,79,224,.55); animation:ffPulse 1.6s ease-in-out infinite; }
.vsl-play:after { content:""; position:absolute; left:35px; top:27px; border-left:26px solid #fff; border-top:17px solid transparent; border-bottom:17px solid transparent; }
.vsl-btn b { font-weight:800; text-transform:uppercase; letter-spacing:.05em; font-size:15px; background:rgba(0,0,0,.65); padding:8px 16px; border-radius:999px; }
@keyframes ffPulse { 0%,100% { transform:scale(1); } 50% { transform:scale(1.07); } }
@media (max-width:820px) { .vsl-play { width:68px; height:68px; } .vsl-play:after { left:27px; top:21px; border-left-width:20px; border-top-width:13px; border-bottom-width:13px; } .vsl-btn b { font-size:12.5px; } }
.seen { text-align:center; margin-top:26px; }
.seen p { font-size:13px; font-weight:600; letter-spacing:.06em; margin:0 0 10px; color:#fff; }
.seen img { margin:0 auto; width:min(100%, 560px); }
.helen { margin:22px auto 0; width:min(100%, 520px); }
.verified { display:flex; align-items:center; justify-content:center; gap:8px; margin-top:14px; font-weight:600; font-size:15px; }
.verified svg { width:18px; height:18px; fill:var(--lav); }

.price { background:#232323; border:3px solid #fff; border-radius:20px; padding:24px 22px 22px; text-align:center; color:#fff; }
.price .bundle { margin:0 auto 14px; }
.price-h { font-weight:700; font-size:clamp(23px, 2.3vw, 29px); line-height:1.2; }
.price-h s { text-decoration-thickness:2px; }
.save { color:var(--lav); font-weight:700; font-size:clamp(19px, 1.9vw, 23px); margin:4px 0 10px; }
.price p { font-size:14.5px; line-height:1.5; margin:0 0 10px; }
.deal { display:flex; align-items:center; justify-content:center; gap:6px; font-weight:600; font-size:15.5px; margin:0 0 16px !important; }
.price .btn { width:100%; min-width:0; }
.price.light { background:var(--soft); border:0; color:var(--ink); }
.price.light .save { color:var(--purple); }

/* "this is exactly how" + proof column */
.how-grid { display:grid; grid-template-columns:1.85fr 1fr; gap:48px; align-items:stretch; }
.how-copy h2 { text-align:center; margin-bottom:28px; }
.copy p { font-size:17.5px; margin:0 0 20px; }
.copy .line { margin:0 0 14px; }
.copy b { font-weight:700; }
.sticky-cta { position:sticky; top:24px; margin-top:12px; padding:26px 22px; border-radius:16px; background:var(--lav-soft); text-align:center; }
.sticky-cta .btn { width:100%; min-width:0; }
.proof { border:2px solid #111; border-radius:22px; overflow:hidden; background:#fff; align-self:start; }
.proof-h { background:var(--violet); color:#111; text-align:center; font-weight:800; font-size:clamp(26px, 2.6vw, 34px); line-height:1.12; padding:20px 16px; text-transform:uppercase; }
.proof-body { padding:10px 14px 14px; display:flex; flex-direction:column; gap:6px; }
.m-price { margin-top:30px; }

/* video testimonials */
.vids { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:34px; }
.vid { position:relative; aspect-ratio:16/9; border-radius:14px; overflow:hidden; background:#000; cursor:pointer; box-shadow:0 10px 30px rgba(0,0,0,.12); }
.vid video, .vid img { width:100%; height:100%; object-fit:cover; display:block; }
.vid .play { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(0deg, rgba(0,0,0,.25), rgba(0,0,0,.05)); }
.vid .play i { width:72px; height:72px; border-radius:50%; background:rgba(91,79,224,.92); position:relative; box-shadow:0 8px 24px rgba(0,0,0,.35); transition:transform .15s ease; }
.vid:hover .play i { transform:scale(1.06); }
.vid .play i:after { content:""; position:absolute; left:29px; top:22px; border-left:20px solid #fff; border-top:14px solid transparent; border-bottom:14px solid transparent; }
.vid.playing .play { display:none; }
.kicker { font-size:16px; margin:0 0 6px; }

/* what's inside — same card system as The Viral Formula page, in purple */
.inside .lead { color:#e6e6e6; max-width:820px; margin:18px auto 0; font-size:18px; }
.inside .lead b { color:#fff; }
.grid3 { display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-top:44px; }
.mod { background:var(--card); border:1px solid var(--card-line); border-radius:16px; padding:18px; display:flex; flex-direction:column; gap:12px; transition:border-color .2s ease, transform .2s ease; }
.mod:hover { border-color:var(--lav); transform:translateY(-3px); }
.mod-img { position:relative; border-radius:12px; background:radial-gradient(120% 90% at 50% 20%, #3b2a52 0%, #19161f 70%); padding:14px 12px 4px; }
.mod-img img { margin:0 auto; }
.tag { display:inline-flex; align-items:center; gap:5px; align-self:flex-start; margin-top:auto; background:var(--lav); color:#1a1033; font-weight:800; font-size:10.5px; letter-spacing:.06em; padding:4px 9px 4px 5px; border-radius:999px; }
.tag svg { width:13px; height:13px; }
.mod h3 { color:#fff; }
.mod p { font-size:15px; color:#cfcfd6; margin:0; }
.mod p + p { margin-top:8px; }
/* Module cards: the laptop pokes out above the card, as on the original page, so each card is shorter. */
.pop { margin-top:96px; row-gap:96px; }
.pop .mod { padding-top:0; }
.pop .mod-img { background:none; padding:0; margin:-74px 4% -4px; }
.pop .mod-img img { filter:drop-shadow(0 14px 18px rgba(0,0,0,.45)); }
.bonus-n { display:inline-flex; align-items:center; gap:6px; font-weight:800; font-size:11px; letter-spacing:.07em; text-transform:uppercase; color:#fff;
           background:linear-gradient(180deg, #7a6df2 0%, var(--indigo) 100%); border:1px solid rgba(255,255,255,.28); padding:5px 11px; border-radius:999px; box-shadow:0 4px 14px rgba(0,0,0,.45); }
.bonus-n:before { content:"🎁"; font-size:12px; }
.mod-img .bonus-n { position:absolute; left:10px; bottom:10px; }
.mod-wide .bonus-n { align-self:center; }
.mod h3 { margin-top:4px; }
.mod h3 { line-height:1.2; }
.mod-img + h3 { margin-top:12px; }  /* breathing room so the title reads as a heading, not a caption to the image */
.chev { width:74px; margin:44px auto 0; }
.bonus-h { margin-top:14px; }
.inside .after { color:#e6e6e6; margin:14px 0 0; }
.inside .after s { color:#bdbdbd; }
.mod-wide { margin-top:22px; padding:28px; display:grid; grid-template-columns:1.1fr 1fr; gap:28px; align-items:center;
            background:linear-gradient(135deg, #2a1f3d 0%, var(--card) 55%); border-color:#4a3a66; }
.mod-wide .bonus-n { align-self:flex-start; margin-bottom:12px; }
.call-l h3 { font-size:clamp(22px, 2.3vw, 28px); margin:0 0 8px; }
.call-l .lede { color:var(--lav); font-size:16px; font-weight:500; margin:0 0 14px; }
.call-quote { border-left:3px solid var(--lav); background:rgba(214,188,250,.08); border-radius:0 8px 8px 0; padding:10px 14px; color:#e6e6e6 !important; font-weight:400; }
.call-l p { font-size:15px; margin:0 0 10px; }
.call-l p b { color:#fff; }
.call-r { background:rgba(0,0,0,.28); border:1px solid #3a3150; border-radius:14px; padding:20px 20px 18px; display:flex; flex-direction:column; gap:14px; }
.call-r ul { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.call-r li { position:relative; padding-left:28px; color:#e6e6e6; font-size:15.5px; line-height:1.45; }
.call-r li b { color:#fff; }
.call-r li:before { content:""; position:absolute; left:0; top:2px; width:19px; height:19px; border-radius:50%; background:var(--lav) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.2 13.6 4.6 10l1.4-1.4 2.2 2.2 5.8-5.8 1.4 1.4z' fill='%231a1033'/%3E%3C/svg%3E") center/14px no-repeat; }
.call-note { font-size:13.5px !important; color:#a9a3b5 !important; margin:0 !important; }
.call-r .tag { margin-top:0; }
@media (max-width:820px) { .mod-wide { grid-template-columns:1fr; gap:18px; padding:22px 18px; } }

/* community */
.community-h .tick { display:inline-flex; align-items:center; gap:6px; font-size:15px; margin-bottom:8px; }
.community-h .tick svg { width:16px; height:16px; fill:var(--violet); }
.shots { display:grid; grid-template-columns:1fr 1fr; gap:22px; margin-top:38px; align-items:center; }
.shots .wide { grid-column:1 / -1; max-width:720px; margin:0 auto; }
.shot { border-radius:14px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.12); background:#111; }
.shot img { width:100%; }

/* second offer block */
.start-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:center; margin-top:28px; }
.start-grid .seen img { width:min(100%, 520px); }
.start-grid .verified { color:#111; }

/* "real starting point" heading: smaller and in normal case so it doesn't shout */
.start-h { max-width:820px; margin:0 auto; font-size:clamp(21px, 2.6vw, 30px) !important; text-transform:none !important; font-weight:800 !important; letter-spacing:-.01em !important; line-height:1.25 !important; }
.chev-sm { width:46px; margin:18px auto 0; }

/* sneak peek */
.peek h2 .lav { text-decoration:underline; text-underline-offset:.1em; }
.peek .vid { max-width:940px; margin:30px auto 0; border:6px solid var(--lav); border-radius:12px; }
.peek .sub { color:#e8e8e8; margin-top:16px; }

/* order */
.order { color:#fff; background:#000 linear-gradient(155deg, #000 0%, #07040a 30%, #2a1230 60%, var(--plum) 82%, #45224a 100%); background-attachment:fixed; padding:44px 0 80px; }
.order .pill { display:inline-block; background:var(--lav); color:#1a1033; font-weight:700; font-size:13px; letter-spacing:.06em; padding:8px 18px; border-radius:999px; transform:rotate(-3deg); }
.order h2 { margin-top:18px; }
.order .secure-line { margin:14px 0 0; font-size:13.5px; font-weight:600; color:#e4e0ee; }
.order .secure-line svg { width:14px; height:14px; fill:currentColor; vertical-align:-2px; margin-right:6px; }
.order-grid { display:grid; grid-template-columns:1fr 1fr; gap:44px; margin-top:40px; align-items:start; }
.form-wrap { position:sticky; top:20px; }
.form { background:#fff; color:var(--ink); border-radius:16px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,.35); }
.tabs { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--line); }
.tabs span { text-align:center; padding:13px 8px 11px; font-weight:700; font-size:14.5px; color:#8b86a8; border-bottom:4px solid transparent; }
.tabs span.on { color:var(--indigo); border-bottom-color:var(--indigo); }
.tabs span small { display:block; font-weight:500; font-size:11.5px; color:#9a9a9a; }
.step { padding:22px 20px 20px; }
.step[hidden] { display:none; }
.in-f { display:block; width:100%; font:500 16px 'Poppins', Arial, sans-serif; padding:14px 15px; border:2px solid #dcdce2; border-radius:8px; margin-bottom:12px; background:#fff; color:var(--ink); }
.in-f:focus { outline:none; border-color:var(--indigo); box-shadow:0 0 0 4px rgba(91,79,224,.22); caret-color:var(--indigo); }
.in-f::placeholder { color:#8a8a94; }
.phone { display:flex; gap:8px; }
.phone select { width:96px; flex:none; padding-right:6px; }
.f-btn { display:block; width:100%; border:0; border-radius:10px; cursor:pointer; padding:14px 16px; color:#fff; text-align:center;
         background:linear-gradient(180deg, #b6aaf7 0%, #9785f1 100%); font:800 17px/1.25 'Poppins', Arial, sans-serif; text-transform:uppercase; box-shadow:0 6px 18px rgba(132,114,237,.35); }
.f-btn small { display:block; font-weight:500; font-size:13px; text-transform:none; }
.f-btn:disabled { opacity:.6; cursor:wait; }
.f-note { text-align:center; font-size:12.5px; color:#777; margin:12px 0 0; }
.f-err { display:none; color:#b42318; font-size:14px; font-weight:600; margin:10px 0 0; }
/* Order bumps: purple like the original GHL bumps; checkbox bar on top, full-width product shot with a price badge, then the copy. */
.bump { display:block; border:2px solid var(--lav); border-radius:14px; overflow:hidden; background:#faf7ff; margin-bottom:14px; cursor:pointer; transition:border-color .15s ease, box-shadow .15s ease; }
.bump:has(input:checked) { border-color:var(--indigo); box-shadow:0 0 0 3px rgba(91,79,224,.18); }
.bump-top { display:flex; align-items:center; gap:10px; background:#ece4fd; padding:12px 14px; font-weight:700; font-size:15.5px; line-height:1.3; color:#111; }
.bump-top input { width:22px; height:22px; accent-color:var(--indigo); flex:none; margin:0; }
.bump-img { position:relative; display:block; background:radial-gradient(120% 90% at 50% 30%, #3b2a52 0%, #19161f 70%); padding:16px 14px 8px; }
.bump-img img { width:100%; }
.bump-badge { position:absolute; top:10px; right:10px; z-index:1; background:#e0245e; color:#fff; font-weight:800; font-size:13px; padding:5px 11px; border-radius:999px; box-shadow:0 4px 12px rgba(0,0,0,.35); }
.bump-badge s { opacity:.75; font-weight:600; margin-right:5px; }
.bump-d { display:block; padding:12px 14px 14px; font-size:14px; line-height:1.5; color:#333; }
.bump-d b { color:#b42318; }
.sum { width:100%; border-collapse:collapse; margin:4px 0 14px; font-size:14.5px; }
.sum th { text-align:left; font-weight:700; border-bottom:1px solid var(--line); padding:6px 0; }
.sum th:last-child, .sum td:last-child { text-align:right; }
.sum td { padding:6px 0; border-bottom:1px solid #f0f0f0; }
.sum tr.total td { font-weight:800; border-bottom:0; }
.pay-box { min-height:120px; margin-bottom:14px; }
.pay-wait { display:flex; align-items:center; justify-content:center; min-height:120px; border:1px dashed #d4d4d8; border-radius:10px; color:#777; font-size:14px; }
.ff-express { display:none; margin:4px 0 12px; }
.ff-or { display:none; align-items:center; gap:10px; color:#888; font-size:13px; margin:0 0 12px; }
.ff-or:before, .ff-or:after { content:""; flex:1; border-top:1px solid var(--line); }
.f-back { display:block; margin:12px auto 0; background:none; border:0; color:#666; text-decoration:underline; cursor:pointer; font:500 14px 'Poppins', Arial, sans-serif; }
.order .secure { margin-top:18px; }
.help { text-align:center; margin-top:14px; font-size:14px; }
.help a { color:var(--lav); }

.offer { color:#fff; }
.offer .bundle { margin:0 auto 10px; }
.offer .stars47 { width:128px; }
.offer .price-h { margin-top:10px; }
.offer .save { margin:2px 0 8px; }
.offer .instant { display:flex; align-items:center; gap:6px; font-size:16px; margin:0 0 14px; }
.offer .instant svg { width:16px; height:16px; fill:#fff; }
.offer hr { border:0; border-top:1px solid rgba(255,255,255,.35); margin:6px 0 18px; }
.offer .lh { font-weight:700; font-size:17px; margin:0 0 10px; }
.checks { list-style:none; padding:0; margin:0 0 20px; display:flex; flex-direction:column; gap:9px; }
.checks li { position:relative; padding-left:28px; font-size:15px; line-height:1.45; color:#f0f0f0; }
.checks li:before { content:""; position:absolute; left:0; top:2px; width:18px; height:18px; border-radius:50%; background:var(--lav) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M8.2 13.6 4.6 10l1.4-1.4 2.2 2.2 5.8-5.8 1.4 1.4z' fill='%231a1033'/%3E%3C/svg%3E") center/14px no-repeat; }
.checks b { color:#fff; }
.guarantee { display:grid; grid-template-columns:80px 1fr; gap:16px; align-items:center; margin:8px 0 22px; }
.guarantee h4 { margin:0 0 4px; font-size:20px; line-height:1.2; }
.guarantee h4 u { text-underline-offset:.12em; }
.guarantee p { margin:0; font-size:14px; color:#e2e2e2; }

/* FAQ */
.faq-h .kicker { margin-bottom:2px; }
.faq { max-width:900px; margin:28px auto 0; display:flex; flex-direction:column; gap:12px; }
.faq details { border:1px solid #d9d9de; border-radius:10px; background:#fff; }
.faq summary { list-style:none; cursor:pointer; padding:15px 48px 15px 18px; font-weight:600; font-size:16.5px; position:relative; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary:after { content:""; position:absolute; right:20px; top:50%; width:9px; height:9px; border-right:2px solid #111; border-bottom:2px solid #111; transform:translateY(-70%) rotate(45deg); transition:transform .2s ease; }
.faq details[open] summary:after { transform:translateY(-30%) rotate(-135deg); }
.faq details p { margin:0 18px 14px; font-size:15.5px; color:#333; }

/* legal pages */
.legal { padding:48px 0 72px; }
.legal .in { max-width:820px; }
.legal h1 { font-size:clamp(30px, 4vw, 44px); margin:14px 0 6px; }
.legal h2 { font-size:20px; text-transform:none; letter-spacing:0; margin:30px 0 8px; font-weight:800; }
.legal p, .legal li { font-size:16px; color:#2a2a2a; }
.legal a { color:var(--indigo); }
.legal [class*="legal-back"] { text-decoration:none; font-weight:600; font-size:14.5px; }
.legal [class*="legal-date"] { color:var(--mute); font-size:14px; }

/* footer */
.foot { background:#000; color:#bdbdbd; text-align:center; padding:34px 0 40px; font-size:13.5px; }
.foot a { color:#e5e5e5; text-decoration:none; margin:0 6px; }
.foot p { font-size:12.5px; line-height:1.55; margin:10px auto 0; max-width:900px; color:#9a9aa3; }
.foot p:first-of-type { color:#bdbdbd; font-size:13.5px; }

@media (max-width:1020px) {
  .grid3 { grid-template-columns:1fr 1fr; }
}
@media (max-width:820px) {
  .sec { padding:56px 0; }
  .in { padding:0 18px; }
  .hero { padding:22px 0 48px; background-attachment:scroll; }
  .order { background-attachment:scroll; padding:24px 0 60px; }
  .peek { padding-bottom:24px !important; }
  .order .secure-line { font-size:11.5px; white-space:nowrap; letter-spacing:-.01em; }
  .order .secure-line svg { width:12px; height:12px; margin-right:4px; }
  .logo { margin-bottom:22px; }
  .hero-grid, .how-grid, .start-grid, .order-grid { grid-template-columns:1fr; gap:26px; }
  .hero-grid { margin-top:26px; }
  .vsl { border-width:4px; border-radius:12px; }
  .hero .btn.m-only { display:flex !important; width:100%; margin-top:20px; }
  .how-copy h2 { text-align:center; }
  .copy p { font-size:16.5px; }
  .vids, .shots { grid-template-columns:1fr; gap:16px; }
  .grid3 { grid-template-columns:1fr; gap:16px; }
  .pop { margin-top:80px; row-gap:84px; }
  .pop .mod-img { margin:-62px 6% -4px; }
  .form-wrap { position:static; }
  .btn { width:100%; }
  .topbar { font-size:13.5px; }
  .pays { gap:5px; flex-wrap:nowrap; }
  .secure-row { gap:4px; font-size:10.5px; letter-spacing:-.015em; }
  .secure-row svg { width:14px; height:14px; }
  .stripe-pill { font-size:8.5px; padding:3px 5px; margin-left:2px; }
  .stripe-pill b { font-size:10px; }
  .pay { min-width:0; height:30px; padding:0 7px; font-size:12px; }
  .pay-visa { font-size:13px; }
  .pay svg { height:17px; }
}
