/* Survival After Separation: base + home + order styles (owner: builder A).
   Plain pages add sas-site.css (builder B); the after-purchase funnel and admin add sas-funnel.css (builder C).
   Structure from the approved SMM / RWRL kit, re-skinned: plum #2e1f3a (#3b2749 -> #24182e), orange #ef803b,
   cream #fbf6f1, lavender #f1ebf5, white cards, text #404040, borders #eadfe8, Montserrat headings, Roboto body. */
:root {
  --plum: #2e1f3a;
  --plum-2: #3b2749;
  --plum-d: #24182e;
  --orange: #ef803b;
  --orange-h: #e66c20;
  --orange-d: #c9561a;
  --orange-soft: #fde8da;
  --cream: #fbf6f1;
  --lav: #f1ebf5;
  --ink: #2a1f30;
  --text: #404040;
  --muted: #6b5f70;
  --line: #eadfe8;
  --foot: #1f1f1f;
  --head: 'Montserrat', 'Segoe UI', Arial, sans-serif;
  --body: 'Roboto', 'Segoe UI', Arial, sans-serif;
  --r: 18px;
  --shadow: 0 10px 30px rgba(46, 31, 58, .08);
  --shadow-lg: 0 24px 60px rgba(36, 24, 46, .18);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 80px; }
body { margin: 0; background: var(--cream); color: var(--text); font: 18px/1.7 var(--body); overflow-x: hidden; }
@media (max-width: 640px) { body { font-size: 17px; } }
img { max-width: 100%; height: auto; }
a { color: var(--orange-d); text-underline-offset: 3px; }
a:hover { color: var(--orange-h); }
h1, h2, h3, h4 { font-family: var(--head); color: var(--ink); line-height: 1.2; letter-spacing: -.01em; }
[hidden] { display: none !important; }
.sas-ic { width: 22px; height: 22px; flex: none; }
.sas-skip { position: absolute; left: -999px; top: 8px; z-index: 100; background: #fff; color: var(--plum); padding: 8px 14px; border-radius: 8px; }
.sas-skip:focus { left: 8px; }
.sr-only { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
:focus-visible { outline: 3px solid var(--orange); outline-offset: 2px; }
.wrap { max-width: 1140px; margin: 0 auto; padding: 0 22px; }

/* ---------- Header: sticky, slim, plum ---------- */
.sas-head { position: sticky; top: 0; z-index: 50; background: rgba(36, 24, 46, .94); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid rgba(255, 255, 255, .08); }
.sas-head-in { max-width: 1140px; margin: 0 auto; padding: 0 20px; height: 66px; display: flex; align-items: center; gap: 18px; }
.sas-logo { display: block; flex: none; }
.sas-logo img { display: block; width: 250px; }
.sas-nav { margin-left: auto; display: flex; align-items: center; gap: 4px; font: 600 16px/1 var(--head); }
.sas-nav a { color: #ecdff2; text-decoration: none; padding: 10px 14px; border-radius: 30px; }
.sas-nav a:hover { color: #fff; background: rgba(255, 255, 255, .1); }
.sas-nav a[aria-current] { color: #fff; box-shadow: inset 0 -2px 0 var(--orange); border-radius: 0; }
.sas-nav .nav-order { order: 3; margin-left: 8px; background: var(--orange); color: #fff; padding: 11px 20px; box-shadow: 0 6px 16px rgba(239, 128, 59, .35); }
.sas-nav .nav-order:hover { background: var(--orange-h); }
.sas-nav .nav-order[aria-current] { box-shadow: 0 0 0 2px #fff inset; border-radius: 30px; }
.sas-menu { display: none; position: relative; }
.sas-menu summary { list-style: none; cursor: pointer; color: #fff; padding: 8px; border-radius: 10px; display: grid; place-items: center; }
.sas-menu summary::-webkit-details-marker { display: none; }
.sas-menu summary .sas-ic { width: 26px; height: 26px; }
.sas-menu[open] summary { background: rgba(255, 255, 255, .12); }
.sas-menu-list { position: absolute; right: 0; top: calc(100% + 10px); width: 220px; background: #fff; border-radius: 14px; box-shadow: var(--shadow-lg); padding: 8px; display: grid; }
.sas-menu-list a { color: var(--ink); text-decoration: none; font: 600 16px/1.2 var(--head); padding: 14px; border-radius: 10px; }
.sas-menu-list a:hover, .sas-menu-list a[aria-current] { background: var(--lav); color: var(--orange-d); }
@media (max-width: 760px) {
  .sas-head-in { height: 58px; padding: 0 14px; gap: 10px; }
  .sas-logo img { width: 168px; }
  .sas-nav .nav-login, .sas-nav .nav-contact { display: none; }
  .sas-nav .nav-order { margin-left: 0; padding: 10px 14px; font-size: 16px; white-space: nowrap; }
  .sas-menu { display: block; }
}
@media (max-width: 380px) { .sas-logo img { width: 140px; } .sas-nav .nav-order { padding: 9px 11px; } }

/* ---------- Buttons ---------- */
.sas-btn { display: inline-flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px; max-width: 100%; text-align: center;
  background: linear-gradient(180deg, #f6964f 0%, var(--orange) 55%, var(--orange-h) 100%); color: #fff; text-decoration: none;
  font: 800 20px/1.2 var(--head); letter-spacing: .02em; padding: 18px 42px; border-radius: 60px; border: 0; cursor: pointer;
  box-shadow: 0 5px 0 var(--orange-d), 0 16px 34px rgba(239, 128, 59, .38); transition: transform .12s ease, box-shadow .12s ease; }
.sas-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 7px 0 var(--orange-d), 0 20px 40px rgba(239, 128, 59, .45); }
.sas-btn:active { transform: translateY(3px); box-shadow: 0 2px 0 var(--orange-d), 0 8px 18px rgba(239, 128, 59, .3); }
.sas-btn small { font: 500 16px/1.3 var(--body); color: #fff3ea; letter-spacing: 0; }
.sas-btn .sas-ic { width: 22px; height: 22px; }
.sas-btn > span { display: inline-flex; align-items: center; gap: 10px; }
.sas-btn.wide { display: flex; width: 100%; }
.sas-btn.small { font-size: 16px; padding: 12px 24px; box-shadow: 0 3px 0 var(--orange-d), 0 10px 22px rgba(239, 128, 59, .3); }
.sas-btn.ghost { background: #fff; color: var(--plum); box-shadow: inset 0 0 0 2px var(--line), 0 8px 20px rgba(46, 31, 58, .08); }
.sas-btn.ghost:hover { color: var(--orange-d); box-shadow: inset 0 0 0 2px var(--orange), 0 10px 24px rgba(46, 31, 58, .12); }
@media (max-width: 480px) { .sas-btn { padding: 16px 26px; font-size: 18px; } }

/* Small shared bits */
.sas-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 28px; }
.sas-eyebrow { display: inline-block; font: 700 16px/1.2 var(--head); letter-spacing: .14em; text-transform: uppercase; color: var(--orange-d); margin: 0 0 12px; }
.sas-note { background: var(--lav); border-radius: 14px; padding: 16px 20px; color: var(--ink); }
.sas-alert { border-radius: 14px; padding: 14px 18px; margin: 0 0 20px; background: var(--lav); color: var(--ink); border: 1px solid var(--line); }
.sas-alert.ok { background: #e9f6ee; border-color: #bfe3cc; color: #1e5434; }
.sas-alert.err { background: #fdecea; border-color: #f5c6c0; color: #8a2419; }

/* ---------- Guarantee seal (CSS) ---------- */
.sas-seal { position: relative; width: 190px; height: 190px; margin: 0 auto; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #fff;
  background: radial-gradient(circle at 35% 30%, #f8a066, var(--orange) 45%, var(--orange-d) 100%);
  box-shadow: 0 0 0 6px #fff, 0 0 0 9px var(--orange), 0 18px 40px rgba(201, 86, 26, .38); font-family: var(--head); flex: none; }
.sas-seal::before { content: ""; position: absolute; inset: 12px; border-radius: 50%; border: 2px dashed rgba(255, 255, 255, .7); }
.sas-seal span { position: relative; display: block; line-height: 1.05; }
.sas-seal .s1 { font: 800 18px/1 var(--head); letter-spacing: .04em; text-transform: uppercase; }
.sas-seal .s2 { font: 800 48px/1 var(--head); margin: 2px 0; }
.sas-seal .s3, .sas-seal .s4 { font: 700 13px/1.25 var(--head); letter-spacing: .08em; text-transform: uppercase; }
.sas-seal.small { width: 130px; height: 130px; }
.sas-seal.small::before { inset: 8px; }
.sas-seal.small .s1 { font-size: 13px; } .sas-seal.small .s2 { font-size: 32px; } .sas-seal.small .s3, .sas-seal.small .s4 { font-size: 10.5px; }

/* ---------- Footer ---------- */
.sas-foot { background: var(--foot); color: #bdb4c2; font: 16px/1.6 var(--body); }
.sas-foot-in { max-width: 1000px; margin: 0 auto; padding: 56px 22px 44px; text-align: center; }
.sas-foot-logo img { width: 250px; display: block; margin: 0 auto 26px; }
.sas-foot-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0 0 24px; }
.sas-foot-links a { color: #fff; text-decoration: none; font: 600 16px/1 var(--head); padding: 11px 15px; border-radius: 30px; background: rgba(255, 255, 255, .07); }
.sas-foot-links a:hover { background: var(--orange); color: #fff; }
.sas-rights { margin: 0 0 22px; color: #fff; }
.sas-rights strong { color: #e88232; }
.sas-disc { border-top: 1px solid rgba(255, 255, 255, .1); padding-top: 22px; margin: 0 auto; max-width: 900px; font-size: 16px; color: #9b93a0; }
@media (max-width: 640px) { .sas-foot-logo img { width: 210px; } .sas-foot-links a { font-size: 16px; padding: 10px 13px; } }

/* ---------- Plain-page frame (sas_site_start): slim plum band + white sheet. Page content: sas-site.css ---------- */
.sas-band { position: relative; overflow: hidden; color: #ecdff2; padding: 56px 0 112px; text-align: center;
  background: radial-gradient(700px 380px at 85% 0%, rgba(239, 128, 59, .32), transparent 60%), radial-gradient(500px 300px at 0% 100%, rgba(150, 100, 190, .25), transparent 60%), linear-gradient(160deg, var(--plum-2), var(--plum-d)); }
.sas-band-in { position: relative; max-width: 860px; margin: 0 auto; padding: 0 22px; }
.sas-band h1 { margin: 0; color: #fff; font-size: clamp(30px, 4.4vw, 46px); font-weight: 800; }
.sas-band-intro { margin: 14px auto 0; max-width: 680px; font: 400 19px/1.6 var(--body); color: #dccbe4; }
.sas-sheet { position: relative; margin: -78px auto 0; padding: 0 22px 80px; max-width: 900px; }
.sas-sheet.wide { max-width: 1140px; }
.sas-sheet-in { background: #fff; border-radius: 28px; padding: 48px 54px; box-shadow: var(--shadow-lg); }
@media (max-width: 640px) { .sas-band { padding: 38px 0 96px; } .sas-sheet { padding: 0 14px 56px; } .sas-sheet-in { padding: 30px 20px; border-radius: 22px; } }

/* ---------- 404 ---------- */
.nf { text-align: center; }
.nf img { display: block; width: 100%; max-width: 560px; margin: 0 auto 26px; border-radius: 22px; box-shadow: var(--shadow); }
.nf p, .sas-plain .nf p { max-width: 560px; margin: 0 auto 1em; text-align: center; }
.nf-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; margin-top: 26px; }

/* =====================================================================
   HOME: VSL with the delayed offer
   ===================================================================== */
.vsl-hero { position: relative; overflow: hidden; color: #ecdff2; padding: 54px 0 0; isolation: isolate;
  background: linear-gradient(160deg, var(--plum-2) 0%, var(--plum) 50%, var(--plum-d) 100%); }
.vsl-hero::before { content: ""; position: absolute; inset: 0; z-index: -2; background: url(../img/hero.webp) center 35% / cover no-repeat; opacity: .26; filter: saturate(1.1); }
.vsl-hero::after { content: ""; position: absolute; inset: 0; z-index: -1;
  background: radial-gradient(900px 480px at 50% 0%, rgba(239, 128, 59, .30), transparent 65%), linear-gradient(180deg, rgba(36, 24, 46, .55) 0%, rgba(36, 24, 46, .35) 45%, rgba(36, 24, 46, .92) 100%); }
.vsl-head { max-width: 980px; margin: 0 auto; text-align: center; padding: 0 22px; }
.vsl-head h1 { margin: 0; }
.vsl-head .k1 { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 16px; padding: 9px 18px; border-radius: 40px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .18);
  font: 700 16px/1.2 var(--head); letter-spacing: .12em; text-transform: uppercase; color: #ffd9c0; }
.vsl-head .k1 .sas-ic { width: 18px; height: 18px; color: var(--orange); }
.vsl-head .k2 { display: block; color: #fff; font: 800 clamp(32px, 5vw, 60px)/1.06 var(--head); letter-spacing: -.02em; text-transform: uppercase; text-wrap: balance; }
.vsl-head .k2 em { font-style: normal; color: var(--orange); }
.vsl-head .k3 { display: block; margin-top: 14px; font: 600 clamp(22px, 2.8vw, 30px)/1.3 var(--head); color: #f3e6f7; }
.vsl-head .k3 i { font-style: normal; background: linear-gradient(transparent 62%, rgba(239, 128, 59, .55) 62%); padding: 0 4px; color: #fff; }

.vsl-stage { position: relative; max-width: 1000px; margin: 38px auto 0; padding: 0 22px; }
.vsl-stage::before { content: ""; position: absolute; left: 6%; right: 6%; top: 8%; bottom: -4%; background: radial-gradient(closest-side, rgba(239, 128, 59, .55), transparent); filter: blur(30px); z-index: 0; }
.vsl-frame { position: relative; z-index: 1; border-radius: 22px; padding: 8px; background: linear-gradient(145deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .55)); box-shadow: 0 40px 90px rgba(10, 4, 16, .55); }
.vsl-player { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 15px; overflow: hidden; background: #120b18; border: 0; padding: 0; cursor: pointer; }
.vsl-player img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease, filter .3s; }
.vsl-player:hover img { transform: scale(1.015); filter: brightness(1.05); }
.vsl-player iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.vsl-play { position: absolute; right: 5%; bottom: 9%; display: grid; place-items: center; width: 108px; height: 108px; border-radius: 50%; background: var(--orange); color: #fff;
  box-shadow: 0 0 0 10px rgba(239, 128, 59, .28), 0 18px 40px rgba(0, 0, 0, .45); transition: transform .15s ease, background .15s; }
.vsl-play::after { content: ""; position: absolute; inset: -10px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .55); animation: vslPulse 2.2s ease-out infinite; }
.vsl-play .sas-ic { width: 50px; height: 50px; margin-left: 6px; }
.vsl-player:hover .vsl-play { transform: scale(1.06); background: var(--orange-h); }
@keyframes vslPulse { 0% { transform: scale(.9); opacity: .9; } 100% { transform: scale(1.35); opacity: 0; } }
.vsl-sound { position: relative; z-index: 1; display: flex; align-items: center; justify-content: center; gap: 10px; margin: 0; padding: 18px 0 30px; font: 500 16px/1.4 var(--body); color: #d9c8e1; }
.vsl-sound .sas-ic { width: 20px; height: 20px; color: var(--orange); }

.vsl-note-band { background: var(--cream); padding: 0 0 64px; }
.vsl-note { position: relative; max-width: 900px; margin: -2px auto 0; background: #fff; border-radius: 22px; padding: 26px 34px 26px 96px; box-shadow: var(--shadow-lg); border: 1px solid var(--line); transform: translateY(-1px); }
.vsl-note::before { content: "!"; position: absolute; left: 28px; top: 50%; transform: translateY(-50%); width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center;
  background: var(--orange-soft); color: var(--orange-d); font: 800 24px/1 var(--head); }
.vsl-note p { margin: 0; font: 700 19px/1.6 var(--body); color: var(--ink); }
.vsl-note b { color: var(--orange-d); }
.vsl-note-wrap { padding: 0 22px; position: relative; }
.vsl-note-wrap::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 50%; background: var(--plum-d); }

/* Penny's line */
.penny-bar { max-width: 900px; margin: 34px auto 0; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 22px; align-items: center; padding: 0 22px; }
.penny-mark { width: 74px; height: 74px; border-radius: 50%; display: grid; place-items: center; background: linear-gradient(150deg, var(--plum-2), var(--plum-d)); color: var(--orange); box-shadow: 0 10px 24px rgba(46, 31, 58, .25); }
.penny-mark .sas-ic { width: 34px; height: 34px; }
.penny-bar blockquote { margin: 0; font: italic 400 20px/1.55 var(--body); color: var(--ink); }
.penny-bar cite { display: block; margin-top: 6px; font: normal 600 16px/1.4 var(--head); color: var(--muted); }
.penny-bar cite b { color: var(--plum); }

/* The offer card (hidden for 5 minutes on a first visit) */
.offer-band { padding: 10px 0 90px; }
.offer { position: relative; max-width: 940px; margin: 0 auto; background: #fff; border-radius: 30px; box-shadow: var(--shadow-lg); overflow: hidden; border: 1px solid var(--line); }
.offer.is-in { animation: offerIn .7s ease both; }
@keyframes offerIn { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: none; } }
.offer-top { position: relative; background: radial-gradient(600px 260px at 50% 0%, rgba(239, 128, 59, .35), transparent 70%), linear-gradient(160deg, var(--plum-2), var(--plum-d)); color: #fff; text-align: center; padding: 40px 30px 36px; }
.offer-top h2 { margin: 0 auto; max-width: 720px; color: #fff; font-size: clamp(27px, 3.6vw, 40px); font-weight: 800; line-height: 1.18; }
.offer-top h2 .now { display: block; margin-top: 8px; color: var(--orange); }
.offer-body { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 44px; align-items: center; padding: 44px 54px 46px; }
.offer-pack { position: relative; text-align: center; }
.offer-pack::before { content: ""; position: absolute; left: 4%; right: 4%; top: 12%; bottom: 0; border-radius: 50%; background: radial-gradient(closest-side, rgba(239, 128, 59, .35), transparent); filter: blur(8px); }
.offer-pack img { position: relative; width: 240px; filter: drop-shadow(0 26px 28px rgba(36, 24, 46, .35)); }
.offer-buy { text-align: center; }
.offer-price { margin: 0 0 6px; font: 600 22px/1.4 var(--head); color: var(--ink); }
.offer-price b { display: block; font: 800 64px/1 var(--head); color: var(--orange-d); margin: 10px 0 8px; letter-spacing: -.02em; }
.offer-price b sup { font-size: 30px; vertical-align: 26px; margin-right: 2px; }
.offer-buy .sas-btn { margin: 18px 0 0; min-width: 320px; font-size: 24px; padding: 21px 46px; }
.offer-badges { display: block; width: 100%; max-width: 380px; margin: 26px auto 0; }
.offer-trust { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 20px; margin: 16px 0 0; padding: 0; list-style: none; font: 500 16px/1.4 var(--body); color: var(--muted); }
.offer-trust li { display: flex; align-items: center; gap: 7px; }
.offer-trust .sas-ic { width: 18px; height: 18px; color: var(--orange); }
@media (max-width: 860px) {
  .offer-body { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 34px 24px 36px; }
  .offer-pack img { width: 190px; }
  .offer-buy .sas-btn { min-width: 0; width: 100%; font-size: 21px; padding: 19px 20px; }
  .offer-price b { font-size: 56px; }
}
@media (max-width: 760px) {
  .vsl-hero { padding-top: 34px; }
  .vsl-head .k1 { font-size: 16px; letter-spacing: .1em; padding: 8px 14px; }
  .vsl-stage { margin-top: 26px; padding: 0 12px; }
  .vsl-frame { padding: 5px; border-radius: 16px; }
  .vsl-player { border-radius: 12px; }
  .vsl-play { width: 66px; height: 66px; right: 4%; bottom: 8%; box-shadow: 0 0 0 6px rgba(239, 128, 59, .28), 0 10px 24px rgba(0, 0, 0, .45); }
  .vsl-play .sas-ic { width: 32px; height: 32px; margin-left: 4px; }
  .vsl-sound { padding: 14px 16px 24px; font-size: 16px; text-align: center; }
  .vsl-note { padding: 22px 20px 22px 20px; }
  .vsl-note::before { position: static; transform: none; margin: 0 0 10px; }
  .vsl-note p { font-size: 17.5px; }
  .vsl-note-wrap { padding: 0 14px; }
  .penny-bar { grid-template-columns: minmax(0, 1fr); text-align: center; justify-items: center; gap: 14px; }
  .penny-bar blockquote { font-size: 18.5px; }
  .offer-top { padding: 30px 20px 28px; }
  .offer-band { padding: 0 0 60px; }
  .offer-band .wrap { padding: 0 14px; }
}
@media (prefers-reduced-motion: reduce) { .vsl-play::after, .offer.is-in { animation: none; } .vsl-player img { transition: none; } }

/* =====================================================================
   ORDER PAGE
   ===================================================================== */
.order-hero { position: relative; overflow: hidden; color: #ecdff2; padding: 34px 0 124px;
  background: radial-gradient(700px 400px at 80% 0%, rgba(239, 128, 59, .33), transparent 60%), radial-gradient(500px 300px at 0% 100%, rgba(150, 100, 190, .22), transparent 60%), linear-gradient(160deg, var(--plum-2), var(--plum-d)); }
.steps { list-style: none; margin: 0 auto 34px; padding: 0; max-width: 820px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-radius: 60px; overflow: hidden; background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .14); }
.steps li { position: relative; display: flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 10px; font: 700 16px/1.2 var(--head); letter-spacing: .1em; text-transform: uppercase; color: #cdb9d6; }
.steps li b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 2px solid rgba(255, 255, 255, .4); color: #fff; font: 800 16px/1 var(--head); flex: none; }
.steps li.on { background: linear-gradient(180deg, #f6964f, var(--orange)); color: #fff; }
.steps li.on b { background: #fff; border-color: #fff; color: var(--orange-d); }
.steps li.on::after { content: ""; position: absolute; right: -14px; top: 50%; width: 28px; height: 28px; background: var(--orange); transform: translateY(-50%) rotate(45deg); border-radius: 0 6px 0 0; z-index: 1; }
.order-hero h1 { margin: 0 auto; max-width: 900px; text-align: center; color: #fff; font-size: clamp(27px, 3.8vw, 42px); font-weight: 800; line-height: 1.25; }
.order-hero h1 i { color: #ffd2b5; }
.order-hero h1 u { text-decoration-color: var(--orange); text-decoration-thickness: 4px; text-underline-offset: 6px; }
.order-wrap { margin-top: -88px; padding-bottom: 80px; position: relative; }
.order-grid { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 34px; align-items: start; }
.order-main { background: #fff; border-radius: 28px; padding: 44px 46px; box-shadow: var(--shadow-lg); }
.order-main h2 { margin: 0 0 18px; font-size: 22px; }
.order-main p { margin: 0 0 1em; }
.receive { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 28px; align-items: center; background: linear-gradient(135deg, var(--lav), #fff); border: 1px solid var(--line); border-radius: 22px; padding: 26px 28px; margin: 0 0 30px; }
.receive img { width: 150px; filter: drop-shadow(0 14px 16px rgba(36, 24, 46, .25)); }
.receive h3 { margin: 0 0 8px; font-size: 22px; color: var(--plum); }
.receive p { margin: 0; font-size: 17.5px; }
.free-line { font: 700 19px/1.45 var(--head); color: var(--ink); margin: 0 0 18px !important; }
.olist { list-style: none; margin: 0 0 30px; padding: 0; display: grid; gap: 14px; }
.olist li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 22px; align-items: start; border: 1px solid var(--line); border-radius: 18px; padding: 18px 22px 18px 16px; }
.olist img { width: 96px; filter: drop-shadow(0 8px 10px rgba(36, 24, 46, .2)); }
.olist .tag { display: inline-block; margin: 0 0 8px; background: var(--orange-soft); color: var(--orange-d); font: 700 16px/1 var(--head); letter-spacing: .08em; text-transform: uppercase; padding: 7px 11px; border-radius: 20px; }
.olist h3 { margin: 0 0 6px; font-size: 19px; }
.olist p { margin: 0; font-size: 17px; line-height: 1.6; }
.ams-box { border: 2px dashed var(--orange); border-radius: 22px; padding: 26px 28px; margin: 0 0 30px; background: linear-gradient(135deg, #fff, #fff6ef); }
.ams-box h2 { font-size: 21px; margin: 0 0 16px; line-height: 1.4; }
.ams-box h2 span { display: inline-block; background: var(--orange); color: #fff; font: 700 16px/1 var(--head); letter-spacing: .06em; text-transform: uppercase; padding: 8px 12px; border-radius: 20px; margin: 0 8px 6px 0; vertical-align: 3px; }
.ams-row { display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 24px; align-items: start; }
.ams-row img { width: 170px; display: block; filter: drop-shadow(0 10px 14px rgba(0, 0, 0, .18)); }
.ams-box p { font-size: 17px; }
.ams-box p:last-child { margin: 0; }
.final-g { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 28px; align-items: center; margin: 0 0 22px; }
.final-g p { margin: 0; }
.final-g u { text-decoration-color: var(--orange); text-decoration-thickness: 2px; }
.charged { font-weight: 700; color: var(--ink); }
.signoff { border-top: 1px solid var(--line); padding-top: 24px; margin-top: 28px; }
.sig { display: block; width: 150px; margin: 4px 0 2px; mix-blend-mode: multiply; }
.signoff .who { margin: 0; line-height: 1.45; }
.signoff .who b { display: block; font: 700 18px/1.3 var(--head); color: var(--ink); }
.cb-note { margin: 22px 0 0 !important; font-size: 16px; color: var(--muted); }
@media (max-width: 640px) { .final-g { grid-template-columns: minmax(0, 1fr); justify-items: center; } .ams-row { grid-template-columns: minmax(0, 1fr); justify-items: center; } .ams-row img { width: 150px; } }

/* Order card with the form */
.order-card { position: sticky; top: 86px; background: #fff; border-radius: 28px; box-shadow: var(--shadow-lg); overflow: hidden; }
.order-card-h { background: var(--plum-d); color: #fff; padding: 18px 26px; display: flex; align-items: center; gap: 10px; font: 700 17px/1.2 var(--head); }
.order-card-h .sas-ic { color: var(--orange); }
.order-card form { padding: 22px 24px 26px; margin: 0; }
.checklist { width: 100%; border-collapse: collapse; margin: 0 0 18px; font-size: 16.5px; }
.checklist th { text-align: left; font: 700 16px/1 var(--head); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); padding: 0 6px 12px; border-bottom: 1px solid var(--line); }
.checklist th:last-child, .checklist td:last-child { text-align: right; white-space: nowrap; }
.checklist td { padding: 16px 6px; border-bottom: 1px solid var(--line); vertical-align: middle; line-height: 1.45; }
.checklist td:first-child { width: 42px; }
.checklist tr.total td { border-bottom: 0; padding-top: 18px; font: 800 20px/1 var(--head); color: var(--ink); }
.checklist tr.total td:last-child { color: var(--orange-d); font-size: 26px; }
.checklist .now { font: 700 18px/1.2 var(--head); color: var(--ink); }
.checklist tr.ams td { background: #fff6ef; }
.checklist tr.ams td:first-child { border-radius: 12px 0 0 12px; } .checklist tr.ams td:last-child { border-radius: 0 12px 12px 0; }
.check-container { position: relative; display: block; width: 28px; height: 28px; margin: 0 auto; cursor: pointer; }
div.check-container { cursor: default; }
.check-container input { position: absolute; inset: 0; opacity: 0; width: 28px; height: 28px; margin: 0; cursor: pointer; }
.checkmark { position: absolute; inset: 0; border-radius: 8px; background: #fff; border: 2px solid #dccfe0; transition: background .12s; pointer-events: none; }
.check-container:hover input ~ .checkmark { border-color: var(--orange); }
div.check-container .checkmark, .check-container input:checked ~ .checkmark { background: var(--orange); border-color: var(--orange); }
.checkmark::after { content: ""; position: absolute; left: 8px; top: 3px; width: 8px; height: 14px; border: solid #fff; border-width: 0 3px 3px 0; transform: rotate(45deg); display: none; }
div.check-container .checkmark::after, .check-container input:checked ~ .checkmark::after { display: block; }
.check-container input:focus-visible ~ .checkmark { outline: 3px solid var(--plum); outline-offset: 2px; }
.order-card .small { font-size: 16px; line-height: 1.6; color: var(--muted); margin: 0 0 12px; }
.order-card .sas-btn { width: 100%; display: flex; margin-top: 10px; font-size: 19px; }
.order-card .safe { display: block; width: 100%; max-width: 340px; margin: 18px auto 0; }
.order-main .jump { display: none; }
@media (max-width: 980px) {
  .order-grid { grid-template-columns: minmax(0, 1fr); }
  .order-card { position: static; max-width: 620px; margin: 0 auto; width: 100%; }
  .order-main .jump { display: flex; align-items: center; justify-content: center; gap: 8px; margin: -6px 0 26px; padding: 13px 18px; border-radius: 40px; background: var(--lav); border: 1px solid var(--line); color: var(--orange-d); font: 700 16px/1.2 var(--head); text-decoration: none; }
  .order-main .jump .sas-ic { width: 20px; height: 20px; color: var(--orange); }
}
@media (max-width: 640px) {
  .order-hero { padding: 24px 0 100px; }
  .steps { border-radius: 16px; }
  .steps li { flex-direction: column; gap: 6px; padding: 12px 4px; font-size: 16px; letter-spacing: .04em; text-align: center; }
  .steps li b { width: 28px; height: 28px; font-size: 16px; }
  .steps li.on::after { display: none; }
  .order-wrap { padding-left: 14px; padding-right: 14px; }
  .order-main { padding: 28px 20px; border-radius: 22px; }
  .receive { grid-template-columns: minmax(0, 1fr); justify-items: center; padding: 22px 18px; }
  .receive h3 { text-align: center; }
  .olist li { grid-template-columns: 64px minmax(0, 1fr); gap: 14px; padding: 14px; }
  .olist img { width: 64px; }
  .olist h3 { font-size: 17.5px; }
  .ams-box { padding: 22px 18px; }
  .order-card form { padding: 18px 16px 22px; }
  .checklist { font-size: 16px; }
  .checklist td { padding: 14px 4px; }
}

/* =====================================================================
   ORDER-NEW: two editions
   ===================================================================== */
.on-sum { max-width: 620px; margin: 0 auto 40px; background: #fff; border-radius: 22px; box-shadow: var(--shadow); border: 1px solid var(--line); padding: 18px 26px 6px; }
.on-sum .checklist { margin: 0 0 8px; }
.on-sum .checklist td:first-child { width: auto; }
.on-choose { text-align: center; margin: 0 0 28px; font-size: clamp(24px, 3vw, 32px); font-weight: 800; }
.editions { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; max-width: 1080px; margin: 0 auto; }
.edition { position: relative; background: #fff; border-radius: 28px; border: 1px solid var(--line); box-shadow: var(--shadow); padding: 34px 32px 32px; }
.edition.vip { border: 3px solid var(--orange); box-shadow: var(--shadow-lg); }
.edition .ribbon { position: absolute; top: -17px; left: 50%; transform: translateX(-50%); background: var(--orange); color: #fff; font: 800 16px/1 var(--head); letter-spacing: .1em; text-transform: uppercase; padding: 10px 18px; border-radius: 30px; white-space: nowrap; box-shadow: 0 8px 18px rgba(239, 128, 59, .35); }
.edition h2 { margin: 6px 0 10px; font-size: clamp(22px, 2.4vw, 26px); text-align: center; }
.edition h2 small { display: block; font: 700 16px/1.3 var(--head); letter-spacing: .1em; text-transform: uppercase; color: var(--orange-d); margin-bottom: 6px; }
.edition .sub { text-align: center; color: var(--muted); font-size: 17px; margin: 0 0 18px; }
.edition .prod { display: block; width: 100%; max-width: 360px; margin: 0 auto 18px; }
.edition .get { margin: 0 0 8px; font: 700 17px/1.3 var(--head); color: var(--ink); }
.ticks { list-style: none; margin: 0 0 22px; padding: 0; display: grid; gap: 8px; }
.ticks li { display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; align-items: start; font-size: 17px; line-height: 1.5; }
.ticks .sas-ic { color: var(--orange); width: 22px; height: 22px; margin-top: 2px; }
.as-trial { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: 18px; align-items: start; background: #fff6ef; border: 1px dashed var(--orange); border-radius: 18px; padding: 18px; margin: 0 0 22px; }
.as-trial img { width: 110px; }
.as-trial h3 { margin: 0 0 8px; font-size: 18px; color: var(--orange-d); }
.as-trial p { margin: 0 0 .7em; font-size: 16px; line-height: 1.6; }
.as-trial p:last-child { margin: 0; }
.edition .one { text-align: center; margin: 0 0 14px; font: 800 30px/1.2 var(--head); color: var(--ink); }
.edition .one span { display: block; font: 500 16px/1.3 var(--body); color: var(--muted); }
.edition .sas-btn { width: 100%; display: flex; font-size: 19px; }
.edition .safe { display: block; width: 100%; max-width: 300px; margin: 16px auto 0; }
.on-g { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 30px; align-items: center; max-width: 820px; margin: 54px auto 0; background: #fff; border-radius: 26px; box-shadow: var(--shadow); border: 1px solid var(--line); padding: 32px 36px; }
.on-g h2 { margin: 0 0 8px; font-size: 22px; }
.on-g p { margin: 0; }
.on-sign { max-width: 820px; margin: 34px auto 0; }
.on-sign p { margin: 0 0 .9em; }
.on-sign .cb-note { font-size: 16px; color: var(--muted); }
@media (max-width: 900px) { .editions { grid-template-columns: minmax(0, 1fr); gap: 40px; max-width: 620px; } }
@media (max-width: 640px) {
  .edition { padding: 30px 18px 24px; border-radius: 22px; }
  .as-trial { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .on-g { grid-template-columns: minmax(0, 1fr); justify-items: center; padding: 26px 20px; }
  .on-sum { padding: 14px 14px 4px; }
}
