/* ==========================================================================
   THE CHALLENGE STUDIO — sales page styles.

   This is the Locked In sales system, copied rather than shared, so the two
   sibling pages look like the same family while changes to one can never
   break the other. Locked In is the personal version of this engine; the
   Challenge Studio is the creator version, so they read the same on purpose.

   Studio-only additions are at the foot of this file.
   ========================================================================== */
/* ============================================================
   Locked In™ — sales and checkout pages (Hero-Led Editorial: "Follow through.")
   Signature texture: black fine grain. Supporting: matte plum and warm ivory paper.
   Gold only for rules, borders, numbers and selected details. Buttons: champagne with black text.
   Shared by /locked-in/sales/ and /locked-in/checkout/. All asset paths are absolute so the page
   also works when it is served at the root of lockedin.thelindseyeffect.com.
   ============================================================ */
:root{
  --black:#111111; --plum-deep:#321322; --plum:#702D46; --ivory:#F7F1E7; --gold:#C6A15B; --gold-2:#D9B673;
  --ink:#111111; --ink-2:#3E3038; --mute:#7A6E74; --hair:rgba(50,19,34,.14); --hair-gold:rgba(198,161,91,.42);
  --paper-2:#EFE7DA; --card:#FFFDF9;
  --display:'Bricolage Grotesque','Archivo',system-ui,sans-serif;
  --sans:'IBM Plex Sans','Poppins',system-ui,sans-serif;
  --mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  --max:1120px; --col:760px;
  --grain:url(/locked-in/assets/textures/black-grain.svg);
  --paper:url(/locked-in/assets/textures/paper.svg);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
body{background:var(--ivory);color:var(--ink-2);font-family:var(--sans);font-size:16.5px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
[hidden]{display:none!important}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--display);color:var(--ink);line-height:1.02;letter-spacing:-.03em;text-wrap:balance;font-weight:700}
h2{font-size:clamp(32px,4.6vw,54px)}
h3{font-size:clamp(20px,2.4vw,26px);letter-spacing:-.02em}
p{max-width:62ch}
strong{color:inherit;font-weight:700}
:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.narrow{max-width:var(--col)}
.center{text-align:center}
.center .narrow,.center p{margin-left:auto;margin-right:auto}
section{padding:clamp(72px,9vw,120px) 0}
section.tight{padding:clamp(52px,6.5vw,88px) 0}
.eyebrow{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--plum);font-weight:600;margin-bottom:16px}
.lede{font-size:clamp(18px,1.55vw,21px);line-height:1.5;max-width:56ch}
.stack>*+*{margin-top:18px}
.gold-line{color:var(--gold);font-family:var(--display);font-weight:700;font-size:clamp(20px,2.2vw,26px);letter-spacing:-.02em}
.head{max-width:var(--col);margin-bottom:44px}
.head .lede{margin-top:18px}
.beats{border-left:1px solid var(--gold);padding-left:20px}
.beats p{font-family:var(--display);font-size:clamp(20px,2.2vw,26px);font-weight:600;letter-spacing:-.02em;line-height:1.2;color:var(--ink)}
.beats p+p{margin-top:8px}
.plain-list{list-style:none}
.plain-list li{position:relative;padding-left:22px;margin-top:8px}
.plain-list li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--gold)}
.plain-list.two{columns:2;column-gap:28px}
.plain-list.two li{break-inside:avoid}

/* Buttons: solid champagne, black text */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:15px 30px;border-radius:6px;background:var(--gold);color:var(--black);font-family:var(--sans);font-weight:700;font-size:14px;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background .15s,transform .08s;white-space:nowrap}
.btn:hover{background:var(--gold-2)}
.btn:active{transform:translateY(1px)}
.btn-lg{min-height:60px;padding:19px 40px;font-size:15px}
.btn-sm{min-height:42px;padding:10px 18px;font-size:12px}
.btn[disabled],.btn[aria-disabled="true"]{background:#8F8A83;color:#F7F1E7;cursor:not-allowed;opacity:.9}
.btn-line{background:transparent;border-color:var(--hair-gold);color:var(--ink)}
.btn-line:hover{background:rgba(198,161,91,.12)}
.dark .btn-line{color:var(--ivory)}
.reassure{font-size:13.5px;color:var(--mute);margin-top:14px;max-width:48ch}
.reassure b{color:var(--ink-2)}
.signin-link{font-size:13.5px;color:var(--mute);margin-top:14px}
.signin-link a{color:inherit;text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:3px}
.signin-link a:hover{color:var(--ink)}

/* Surfaces */
.paper{background:var(--paper);background-color:var(--ivory);background-size:400px 400px;color:var(--ink-2)}
.ivory{background:var(--ivory);color:var(--ink-2)}
.dark{color:var(--ivory)}
.dark h1,.dark h2,.dark h3,.dark strong{color:var(--ivory)}
.dark .eyebrow{color:var(--gold)}
.dark p,.dark li{color:rgba(247,241,231,.86)}
.dark .reassure,.dark .signin-link{color:rgba(247,241,231,.68)}
.dark .reassure b,.dark .signin-link a:hover{color:var(--ivory)}
.dark .beats p{color:var(--ivory)}
.dark .plain-list li::before{background:var(--gold)}
.grain{background-image:var(--grain);background-color:var(--black);background-size:400px 400px}
.plum-grain{background:linear-gradient(180deg,rgba(50,19,34,.9),rgba(50,19,34,.9)),var(--grain);background-color:var(--plum-deep);background-size:auto,400px 400px}
.clip{overflow:hidden}
.edge-top{border-top:1px solid rgba(198,161,91,.35)}
.edge-bottom{border-bottom:1px solid rgba(198,161,91,.35)}
.paper.shade{box-shadow:inset 0 40px 60px -40px rgba(17,17,17,.45)}

/* Frames: sharp gold rectangles */
.frame{padding:6px;border:1px solid rgba(198,161,91,.65);background:rgba(17,17,17,.5);box-shadow:0 40px 90px rgba(0,0,0,.5)}
.frame img{width:100%;height:auto}
.frame.light{background:var(--card);box-shadow:0 30px 60px rgba(17,17,17,.18)}
.shot{margin:0;min-width:0}
.shot figcaption{margin-top:14px;padding-top:10px;border-top:1px solid var(--gold);font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.dark .shot figcaption{color:rgba(247,241,231,.78)}
.shot figcaption b{display:block;font-family:var(--display);font-size:17px;letter-spacing:-.01em;color:var(--ink);margin-bottom:3px}
.dark .shot figcaption b{color:var(--ivory)}
.phones{display:grid;grid-template-columns:repeat(3,1fr);gap:36px 32px}
.phone{margin:0;min-width:0}
.phone .ph{background:var(--black);border:1px solid rgba(198,161,91,.55);border-radius:22px;padding:8px;box-shadow:0 30px 60px rgba(17,17,17,.22);aspect-ratio:9/17;overflow:hidden}
.phone .ph img{width:100%;height:auto;border-radius:15px}
.dark .phone .ph{box-shadow:0 30px 60px rgba(0,0,0,.5)}
.phone figcaption{margin-top:16px;padding-top:10px;border-top:1px solid var(--gold);font-size:13.5px;line-height:1.55;color:var(--ink-2)}
.dark .phone figcaption{color:rgba(247,241,231,.78)}
.phone figcaption b{display:block;font-family:var(--display);font-size:17px;letter-spacing:-.01em;color:var(--ink);margin-bottom:3px}
.dark .phone figcaption b{color:var(--ivory)}

/* Top bar */
.topbar{position:sticky;top:0;z-index:50;background:rgba(247,241,231,.94);backdrop-filter:blur(12px);border-bottom:1px solid var(--hair)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:66px}
.topbar .logo img{height:52px;width:auto;max-width:210px;object-fit:contain;object-position:left center}
@media (max-width:620px){.topbar .logo img{height:40px;max-width:150px}}
.topbar .right{display:flex;align-items:center;gap:18px}
.topbar .right a.plain{font-size:13.5px;font-weight:600;color:var(--ink-2);text-decoration:none}
.topbar .right a.plain:hover{color:var(--plum)}
.topbar .btn-sm{display:none}
@media (min-width:640px){.topbar .btn-sm{display:inline-flex}}
.offerbar{background:var(--black);color:rgba(247,241,231,.8);font-size:13px;text-align:center;padding:9px 16px;display:flex;gap:14px;justify-content:center;align-items:center;flex-wrap:wrap;border-bottom:1px solid rgba(198,161,91,.3)}
.offerbar b{color:var(--gold)}
.offerbar .dot{opacity:.35}
.offerbar a{color:var(--gold);font-weight:600;text-decoration:none;border-bottom:1px solid currentColor}

/* Hero */
.hero{padding:36px 0 96px;background:radial-gradient(110% 70% at 50% 0%,rgba(112,45,70,.62),rgba(50,19,34,0) 62%),var(--grain);background-color:var(--black);background-size:auto,400px 400px}
.hero .frame{margin:0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:40px 64px;align-items:start;margin-top:56px}
.hero h1{font-size:clamp(40px,5.8vw,72px);max-width:14ch}
.hero h1 .sub{display:block;margin-top:20px;font-size:clamp(18px,1.9vw,24px);font-weight:500;letter-spacing:-.01em;line-height:1.35;color:var(--gold);max-width:32ch;text-wrap:pretty}
.hero .lede{margin-top:24px;color:rgba(247,241,231,.86)}
.bring-leave{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:28px;border-top:1px solid var(--gold);padding-top:22px}
.bring-leave b{display:block;font-family:var(--display);font-size:17px;color:var(--ivory);margin-bottom:8px}
.bring-leave ul{list-style:none}
.bring-leave li{position:relative;padding-left:18px;font-size:14.5px;line-height:1.5;margin-top:6px}
.bring-leave li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:1px;background:var(--gold)}
.contrast{margin-top:24px;padding:16px 18px;border:1px solid var(--hair-gold);font-size:14.5px}
.contrast b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.founder-line{display:flex;align-items:center;gap:14px;margin-top:28px;font-size:14px;color:rgba(247,241,231,.78)}
.founder-line .ph{width:44px;height:44px;flex:0 0 44px;border:1px solid var(--gold);display:grid;place-items:center;font-family:var(--display);font-weight:700;color:var(--gold);font-size:14px}
.details{border:1px solid var(--hair-gold);padding:28px;background:rgba(17,17,17,.55);position:sticky;top:90px}
.details .price{font-family:var(--display);font-size:56px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ivory)}
.details .price small{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-top:10px;font-weight:600}
.details dl{margin-top:22px;display:grid;grid-template-columns:auto 1fr;gap:9px 16px;font-size:14px;border-top:1px solid var(--hair-gold);padding-top:18px}
.details dt{font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);padding-top:3px}
.details dd{color:rgba(247,241,231,.9)}
.details .btn{width:100%;margin-top:24px}

/* Pain */
.pain .rows{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:start}
.pain h2{font-size:clamp(36px,5.4vw,66px);max-width:14ch}
.pull{font-family:var(--display);font-size:clamp(28px,3.4vw,40px);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--gold);margin-top:28px}

/* Goals grid */
.goals{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:52px;border-top:1px solid var(--gold);border-left:1px solid var(--hair)}
.goals>div{padding:26px 24px 28px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:14.5px}
.goals b{display:block;font-family:var(--display);font-size:19px;letter-spacing:-.02em;line-height:1.2;color:var(--ink);margin-bottom:6px}
.goals span{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--plum);margin-bottom:10px}
.goals ul{list-style:none}
.goals li{position:relative;padding-left:16px;margin-top:5px;color:var(--ink-2)}
.goals li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--gold)}
.goals .note{background:var(--plum-deep);color:var(--ivory)}
.goals .note b{color:var(--ivory);font-size:22px}
.goals .note span{color:rgba(247,241,231,.8);font-family:var(--sans);text-transform:none;letter-spacing:0;font-size:15px;line-height:1.55}

/* Categories */
.tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}
.tags span{padding:10px 16px;border:1px solid var(--hair);background:var(--card);font-size:14px;font-weight:600;color:var(--ink)}
.tags span.custom{border-color:var(--gold);background:transparent;color:var(--plum)}
.tags.soft span{font-weight:500;color:var(--ink-2)}

/* How it works: oversized gold numbers */
.steps{border-top:1px solid var(--gold);margin-top:8px}
.step{display:grid;grid-template-columns:120px 1fr;gap:24px;padding:30px 0;border-bottom:1px solid var(--hair);align-items:start}
.step .n{font-family:var(--display);font-weight:800;font-size:clamp(56px,7vw,92px);line-height:.85;letter-spacing:-.05em;color:var(--gold)}
.step h3{margin-bottom:8px}
.step p{font-size:15.5px}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:14px;font-size:14px;color:var(--ink-2)}
.cols b{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--plum);margin-bottom:5px}

/* Durations: matte plum, oversized numbers on one rising track, the page's one thin diagonal gold line */
.durations{position:relative;display:grid;grid-template-columns:repeat(8,1fr);gap:20px 14px;margin:56px 0 0;padding:36px 0 8px;isolation:isolate}
.durations::before{content:"";position:absolute;left:-3%;right:-3%;top:31%;height:1px;background:linear-gradient(90deg,transparent,var(--gold) 6%,var(--gold) 94%,transparent);transform:rotate(-3.5deg);z-index:-1;pointer-events:none}
.durations>div{align-self:start;min-width:0}
.durations>div:nth-child(2){transform:translateY(-9px)}
.durations>div:nth-child(3){transform:translateY(-18px)}
.durations>div:nth-child(4){transform:translateY(-27px)}
.durations>div:nth-child(5){transform:translateY(-36px)}
.durations>div:nth-child(6){transform:translateY(-45px)}
.durations>div:nth-child(7){transform:translateY(-54px)}
.durations>div:nth-child(8){transform:translateY(-63px)}
.durations b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(48px,6.4vw,84px);line-height:.86;letter-spacing:-.05em;color:var(--gold)}
.durations span{display:block;margin-top:12px;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,241,231,.82);line-height:1.5}
.dur-notes{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:56px;border-top:1px solid var(--gold);padding-top:24px}
.dur-notes b{display:block;font-family:var(--display);font-size:18px;color:var(--ivory);margin-bottom:8px}
.dur-notes p{font-size:15px}

/* Daily dashboard */
.wide-shot{margin:0 0 52px}
.around{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--gold);border-left:1px solid var(--hair)}
.around>div{padding:22px 22px 24px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:14.5px;color:var(--ink-2)}
.around b{display:block;font-family:var(--display);font-size:18px;letter-spacing:-.02em;color:var(--ink);margin-bottom:6px}
.not-template{margin-top:36px;font-size:17px;max-width:none}
.not-template b{display:block;font-family:var(--display);font-size:clamp(20px,2.2vw,26px);letter-spacing:-.02em;color:var(--ink);margin-bottom:4px}
.phones.mt{margin-top:56px}

/* Bridge (check-ins), two columns with a phone */
.bridge{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr) minmax(240px,300px);gap:48px;align-items:start}
.side{border:1px solid var(--hair-gold);padding:24px;background:var(--card);font-size:15px}
.side b{display:block;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);margin-bottom:10px}
.side .q{font-family:var(--display);font-size:18px;font-weight:500;letter-spacing:-.01em;line-height:1.35;color:var(--ink)}
.bridge .phone{max-width:300px;justify-self:end;width:100%}

/* Recovery */
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(240px,300px);gap:40px;align-items:start;margin-top:44px}
.split .card{border:1px solid var(--hair-gold);padding:24px;background:rgba(17,17,17,.35)}
.split .card b{display:block;font-family:var(--display);font-size:18px;color:var(--ivory);margin-bottom:6px}
.split .phone{max-width:300px;justify-self:end;width:100%}
.beat{font-family:var(--display);font-size:clamp(24px,3vw,34px);font-weight:700;letter-spacing:-.03em;line-height:1.05;color:var(--ivory);margin-top:44px}
.cta-row{margin-top:32px;display:flex;flex-wrap:wrap;gap:14px;align-items:center}

/* Companion */
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips span{padding:11px 16px;border:1px solid var(--hair);background:var(--card);font-family:var(--display);font-size:15px;font-weight:500;color:var(--ink)}
.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,300px);gap:48px;align-items:start}
.two-col .phone{max-width:300px;justify-self:end;width:100%}

/* Progress */
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:14px;border-top:1px solid var(--gold);border-left:1px solid var(--hair)}
.modes>div{padding:20px 22px 22px;border-right:1px solid var(--hair);border-bottom:1px solid var(--hair);font-size:14.5px}
.modes b{display:block;font-family:var(--display);font-size:18px;letter-spacing:-.02em;color:var(--ink);margin-bottom:4px}

/* Examples */
.examples{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.ex{border:1px solid var(--hair);background:var(--card);padding:24px}
.ex .who{font-family:var(--display);font-weight:800;font-size:44px;letter-spacing:-.04em;line-height:1;color:var(--gold)}
.ex .who small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--plum);margin-top:4px;letter-spacing:.16em}
.ex b{display:block;font-family:var(--display);font-size:20px;letter-spacing:-.02em;color:var(--ink);margin:14px 0 6px;line-height:1.15}
.ex .plain-list{font-size:14px}
.swipe-hint{display:none;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:14px}

/* Origin */
.origin .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:start}
.proof{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid var(--gold);padding-top:24px;margin-top:8px}
.proof b{display:block;font-family:var(--display);font-weight:800;font-size:clamp(56px,7vw,96px);line-height:.85;letter-spacing:-.05em;color:var(--gold);margin-bottom:10px}
.proof div{font-size:13.5px;color:rgba(247,241,231,.78)}

/* Deliverables */
.deliv{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(240px,300px);gap:40px;align-items:start}
.dcol h3{margin-top:26px;padding-top:12px;border-top:1px solid var(--gold);font-size:19px}
.dcol h3:first-child{margin-top:0}
.dcol ul{list-style:none;margin-top:10px}
.dcol li{position:relative;padding-left:18px;font-size:15px;margin-top:6px}
.dcol li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--gold)}
.dcol .hint{font-size:14px;color:var(--mute);margin-top:8px}
.deliv .phone{max-width:300px;justify-self:end;width:100%}
.cert{margin-top:56px}
.cert .frame{max-width:860px}

/* Fit check */
.who{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:8px}
.who>div{border-top:1px solid var(--gold);padding-top:20px}
.who h3{margin-bottom:10px}
.who ul{list-style:none}
.who li{position:relative;padding-left:20px;font-size:15px;margin-top:8px}
.who li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--gold)}
.who .not li::before{background:var(--mute)}
.who a{color:var(--plum)}

/* Pricing */
.plans{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:24px;align-items:start;margin-top:8px}
.plan{background:var(--card);color:var(--ink-2);border:1px solid var(--gold);padding:34px 32px 30px}
.plan .name{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--plum);font-weight:600}
.plan .price{font-family:var(--display);font-size:64px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink);margin-top:12px}
.plan .price small{display:block;font-family:var(--mono);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:10px;font-weight:600}
.plan .best{margin-top:22px;font-family:var(--display);font-size:16px;color:var(--ink);padding-top:14px;border-top:1px solid var(--gold)}
.plan ul{list-style:none;margin-top:10px;columns:2;column-gap:24px}
.plan li{position:relative;padding-left:18px;font-size:14.5px;margin-top:6px;break-inside:avoid}
.plan li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1px;background:var(--gold)}
.plan .btn{width:100%;margin-top:26px}
.plan .reassure{max-width:none}
.dark .plan p,.dark .plan li{color:var(--ink-2)}
.dark .plan .reassure,.dark .plan .signin-link{color:var(--mute)}
.dark .plan .reassure b,.dark .plan .signin-link a:hover{color:var(--ink)}
.dark .plan.alt p,.dark .plan.alt li{color:rgba(247,241,231,.86)}
.dark .plan.alt .reassure{color:rgba(247,241,231,.68)}
.plan.alt{background:transparent;color:rgba(247,241,231,.86);border-color:var(--hair-gold)}
.plan.alt .price,.plan.alt .best{color:var(--ivory)}
.plan.alt .name{color:var(--gold)}
.plan.alt ul{columns:1}
.plan.alt .best{border-top-color:var(--hair-gold)}
.plan.alt .reassure{color:rgba(247,241,231,.68)}

/* FAQ */
.faq{margin-top:8px;border-top:1px solid var(--gold)}
.faq details{border-bottom:1px solid var(--hair)}
.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font-family:var(--display);font-size:18px;font-weight:600;letter-spacing:-.01em;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font-family:var(--display);font-size:24px;color:var(--gold);font-weight:500}
.faq details[open] summary::after{content:"–"}
.faq details>div{padding:0 0 22px;font-size:15.5px}
.faq a{color:var(--plum)}

/* Close */
.close{padding:132px 0 120px;text-align:center;background:radial-gradient(90% 60% at 50% 100%,rgba(112,45,70,.6),rgba(50,19,34,0) 65%),var(--grain);background-color:var(--black);background-size:auto,400px 400px}
.close h2{font-size:clamp(42px,7vw,88px);max-width:12ch;margin:0 auto}
.close .stack{margin-top:26px}
.close .beat{margin-top:0;font-size:clamp(20px,2.4vw,26px);font-weight:600;color:rgba(247,241,231,.9)}
.close p{margin-left:auto;margin-right:auto}
.facts{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 28px;margin:34px auto 36px;font-family:var(--mono);font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}

/* Footer */
footer{background:var(--black);color:rgba(247,241,231,.62);border-top:1px solid rgba(198,161,91,.28);padding:40px 0 56px;font-size:13.5px}
footer .wrap{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap;align-items:flex-start}
footer b{color:var(--ivory)}
footer .disc{margin-top:10px;font-size:12.5px;max-width:64ch;color:rgba(247,241,231,.5)}
footer nav{display:flex;gap:18px;flex-wrap:wrap}
footer nav a{color:rgba(247,241,231,.78);text-decoration:none;border-bottom:1px solid rgba(198,161,91,.4)}
footer nav a:hover{color:var(--gold)}

/* Mobile sticky CTA */
.sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--black);border-top:1px solid rgba(198,161,91,.4);padding:10px 16px calc(10px + env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:12px;transform:translateY(110%);transition:transform .25s}
.sticky-cta.show{transform:none}
.sticky-cta .p{font-size:13px;color:rgba(247,241,231,.8);line-height:1.3}
.sticky-cta .p b{display:block;color:var(--ivory);font-family:var(--display);font-size:15px}
.sticky-cta .btn{min-height:46px;padding:11px 18px;font-size:12.5px}
@media (min-width:860px){.sticky-cta{display:none}}

/* Checkout page */
.checkout{padding:56px 0 96px}
.checkout .head{margin-bottom:32px}
.co-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}
.order{background:var(--card);border:1px solid var(--gold);padding:32px}
.order .name{font-family:var(--mono);font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--plum);font-weight:600}
.order h2{font-size:clamp(28px,3.4vw,38px);margin-top:8px}
.order .line{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-top:22px;padding-top:18px;border-top:1px solid var(--gold);font-size:15px}
.order .line .amt{font-family:var(--display);font-size:44px;font-weight:800;letter-spacing:-.04em;line-height:1;color:var(--ink)}
.order .line .amt small{display:block;font-family:var(--mono);font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--mute);margin-top:6px;font-weight:600}
.order .incl{list-style:none;margin-top:20px;border-top:1px solid var(--hair);padding-top:16px}
.order .incl li{position:relative;padding-left:20px;font-size:15px;margin-top:8px}
.order .incl li::before{content:"";position:absolute;left:0;top:.72em;width:9px;height:1px;background:var(--gold)}
.order .std{margin-top:18px;font-size:13.5px;color:var(--mute)}
.order .btn{width:100%;margin-top:26px}
.order .note{margin-top:12px;font-size:13.5px;color:var(--mute);text-align:center}
.order .bought{margin-top:26px;padding-top:18px;border-top:1px solid var(--hair);font-size:14.5px}
.order .bought a{color:var(--plum);font-weight:600}
.after{border-top:1px solid var(--gold);padding-top:8px}
.after .row{display:grid;grid-template-columns:72px 1fr;gap:18px;padding:20px 0;border-bottom:1px solid var(--hair);align-items:start}
.after .n{font-family:var(--display);font-weight:800;font-size:52px;line-height:.85;letter-spacing:-.05em;color:var(--gold)}
.after b{display:block;font-family:var(--display);font-size:18px;letter-spacing:-.01em;color:var(--ink);margin-bottom:4px}
.after p{font-size:14.5px}
.co-strip{padding:24px 0 8px}
.co-strip .frame{max-width:100%}

/* Responsive */
@media (max-width:1000px){
  .phones{gap:24px 20px}
  .bridge,.split,.two-col,.deliv{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .bridge .phone,.split .phone,.two-col .phone,.deliv .phone{grid-column:1/-1;justify-self:start;max-width:300px}
  .step{grid-template-columns:96px 1fr}
}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr;gap:36px;margin-top:36px}
  .details{position:static}
  .pain .rows,.origin .grid,.plans,.who,.co-grid,.dur-notes{grid-template-columns:1fr}
  .goals,.around,.modes{grid-template-columns:1fr 1fr}
  .durations{grid-template-columns:repeat(4,1fr);gap:32px 14px;margin-top:40px}
  .durations::before{transform:rotate(-6deg);top:46%}
  .durations>div:nth-child(n){transform:none}
  .durations>div:nth-child(2),.durations>div:nth-child(6){transform:translateY(-12px)}
  .durations>div:nth-child(3),.durations>div:nth-child(7){transform:translateY(-24px)}
  .durations>div:nth-child(4),.durations>div:nth-child(8){transform:translateY(-36px)}
  .durations b{font-size:clamp(56px,9vw,84px)}
  .examples{grid-template-columns:1fr 1fr}
  .cols{grid-template-columns:1fr}
}
@media (max-width:720px){
  .wrap{padding:0 18px}
  section{padding:64px 0 72px}
  section.tight{padding:48px 0 56px}
  .hero{padding:18px 0 64px}
  .frame{padding:4px}
  .hero h1{font-size:clamp(36px,10.5vw,48px)}
  .bring-leave{grid-template-columns:1fr;gap:18px}
  .details{padding:22px}
  .details dl{grid-template-columns:1fr;gap:4px 0}
  .details dd{margin-bottom:8px}
  .goals,.around,.modes{grid-template-columns:1fr}
  .durations{grid-template-columns:repeat(2,1fr);gap:26px 16px;padding:28px 0 8px}
  .durations>div:nth-child(n){transform:none}
  .durations::before{transform:rotate(-9deg);top:50%}
  .durations b{font-size:clamp(64px,20vw,88px)}
  .phones{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 18px 12px;margin:0 -18px;scrollbar-width:thin}
  .phones .phone{flex:0 0 76%;scroll-snap-align:start}
  .phones.mt{margin-top:40px}
  .bridge,.split,.two-col,.deliv{grid-template-columns:1fr;gap:32px}
  .examples{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 18px 12px;margin:0 -18px;scrollbar-width:thin}
  .examples .ex{flex:0 0 80%;scroll-snap-align:start}
  .swipe-hint{display:block}
  .proof{grid-template-columns:1fr;gap:18px}
  .plain-list.two{columns:1}
  .plan{padding:26px 22px}
  .plan ul{columns:1}
  .step{grid-template-columns:1fr;gap:8px;padding:24px 0}
  .step .n{font-size:56px}
  .head{margin-bottom:28px}
  .cta-row .btn,.hero .btn,.plan .btn,.close .btn{width:100%}
  .btn{white-space:normal;text-align:center;line-height:1.25}
  .btn-lg{padding:16px 22px}
  .close{padding:88px 0 80px}
  .after .row{grid-template-columns:56px 1fr;gap:14px}
  .after .n{font-size:40px}
  .order{padding:24px 20px}
  footer .wrap{flex-direction:column}
}

/* ==========================================================================
   STUDIO-ONLY ADDITIONS
   ========================================================================== */

/* A value still waiting on approval. Impossible to ship by accident. */
.tbd{background:#FDF3D6;border-bottom:2px solid var(--gold,#B99334);padding:1px 6px;color:#6A5312;font-weight:500}

/* The creator's screen: a wide shot on an offset plum block. */
.csshot{position:relative;margin:0}
.csshot::before{content:"";position:absolute;left:-18px;top:-18px;width:56%;height:54%;background:#6E2545;z-index:0}
.csshot.gold::before{background:#B99334}
.csshot img{position:relative;z-index:1;display:block;width:100%;border:1px solid #14120F;box-shadow:0 28px 56px -34px rgba(20,18,15,.6)}
.csshot figcaption{position:relative;z-index:1;margin-top:14px;font-size:14px}
.csshot figcaption b{display:block;font-size:16px;margin-bottom:3px}
@media (max-width:760px){.csshot::before{left:-9px;top:-9px;width:52%}}

/* Two things side by side, with the gold spine the page uses elsewhere. */
.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.pair>div{border-left:3px solid #B99334;padding:4px 0 4px 18px}
.pair b{display:block;margin-bottom:6px}
@media (max-width:760px){.pair{grid-template-columns:1fr}}

/* The sales path, four beats in a row. */
.flow4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:26px}
.flow4>div{background:#fff;border:1px solid rgba(20,18,15,.12);border-top:3px solid #6E2545;padding:20px}
.flow4>div:nth-child(4){border-top-color:#B99334}
.flow4 b{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#7A736C;margin-bottom:8px}
@media (max-width:900px){.flow4{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.flow4{grid-template-columns:1fr}}

/* Locked In's headlines are short, so 14ch suits them. The Challenge Studio's
   are longer sentences; at 14ch they tower to six lines. */
.pain h2{max-width:19ch}

/* ==========================================================================
   THE DARK HERO, FINISHED

   The .hero block above paints a near-black ground with a plum glow, but the
   Locked In page never uses it, so nothing there ever set the heading colour.
   Global h1–h4 are ink, which put black type on a black ground. Everything in
   the hero is light now, and the two lists sit on white so they read.
   ========================================================================== */
.hero h1,.hero h2,.hero h3{color:var(--ivory)}
.hero .eyebrow{color:var(--gold)}
.hero .stack p,.hero p{color:rgba(247,241,231,.88)}
.hero .stack b,.hero p b{color:#fff}
.hero .pull{color:var(--gold)}
.hero .reassure{color:rgba(247,241,231,.72)}
.hero a:not(.btn){color:var(--gold)}

/* The white panel behind the two lists, so they sit on paper rather than on
   the plum glow. */
.hero .bring-leave{background:#fff;border:1px solid var(--hair-gold);border-top:3px solid var(--gold);
  padding:26px 26px 28px;margin-top:0;gap:26px}
.hero .bring-leave b{color:var(--black)}
.hero .bring-leave li{color:var(--ink-2)}
@media (max-width:760px){.hero .bring-leave{grid-template-columns:1fr;padding:22px 20px 24px}}

/* The headline runs the full width above the two columns, and the phrase
   Danielle marked carries a plum highlight behind it. box-decoration-break
   keeps the plum wrapping cleanly across every line, not just the first. */
.hero .hero-head{margin-top:40px}
.hero .hero-head h1{max-width:none;font-size:clamp(40px,6.4vw,80px);text-wrap:wrap}
.hero h1 .hl{background:var(--plum);color:#fff;
  padding:.06em .18em;margin:0 -.04em;
  box-decoration-break:clone;-webkit-box-decoration-break:clone;
  line-height:1.24}
.hero .hero-grid{margin-top:38px;align-items:start}

/* The white panel sits lower than the copy beside it. */
.hero .bring-leave{margin-top:54px}
@media (max-width:900px){.hero .bring-leave{margin-top:8px}}

/* Gold bullets, not dashes. */
.bring-leave li::before{width:7px;height:7px;border-radius:50%;background:var(--gold);top:.62em}
