/* 2027 Wealth Plan, Early Black Friday.
   Deep money green with cream type and one solid gold for price and action.
   Cream sections break up the dark. Fireworks run in the hero and the close. */
:root{
  --bg:#0A2219; --bg-2:#0D281E; --paper:#113126; --paper-2:#163A2D;
  --ink:#FFF7E8; --ink-2:#D3DCD3; --ink-3:#A3B5A9;
  --line:#2A4D3F; --line-2:#1D3E31;
  --gold:#FFC83A; --gold-2:#E6A514; --gold-3:#FFE08A; --gold-edge:#B47E05;
  --green:#1E5B43; --green-2:#174A36; --mint:#8BE0B4; --green-tint:rgba(139,224,180,.12);
  --cream:#FBF4E4; --cream-2:#F3EAD4;
  --mark:#FFE58A; --mark-ink:#4D3B00;
  --sans:'Figtree',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --display:'Cabinet Grotesk','Figtree',sans-serif;
  --wrap:1180px;
  --ease-out:cubic-bezier(.23,1,.32,1); --ease-in-out:cubic-bezier(.77,0,.175,1);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--sans);-webkit-font-smoothing:antialiased;font-feature-settings:"tnum" 0}
img,video{display:block;max-width:100%;height:auto}
a{color:inherit}
p{margin:0 0 1em}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.025em}
h1,h2{font-family:var(--display);font-weight:800;letter-spacing:-.03em}
.gold{color:var(--gold)}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
.num,.buy-price,.bar-clock,.buy-clock{font-variant-numeric:tabular-nums}

/* review marks for unconfirmed facts */
mark.confirm{background:var(--mark);color:var(--mark-ink);font:600 11px/1 var(--sans);letter-spacing:.02em;padding:3px 5px;border-radius:4px;margin-left:6px;vertical-align:2px;white-space:nowrap;cursor:help}
.no-review mark.confirm{display:none}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;background:var(--green);color:#fff;text-decoration:none;font-weight:600;font-size:17px;padding:16px 26px;border-radius:999px;transition:background .15s ease, transform .15s ease, box-shadow .2s ease}
.btn:hover{background:var(--green-2)}
.btn:active{transform:scale(.98)}
.btn:focus-visible,summary:focus-visible,.review-toggle:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.btn-big{font-size:18px;padding:19px 32px}
.btn-gold{background:var(--gold);color:#1C1400;box-shadow:0 4px 0 var(--gold-edge),0 14px 30px -14px rgba(0,0,0,.6)}
.btn-gold:hover{background:#FFD25C}
.btn-gold:active{transform:translateY(3px);box-shadow:0 1px 0 var(--gold-edge)}

/* hero */
.hero,.close{position:relative;overflow:hidden;isolation:isolate}
.hero{padding:48px 0 96px;text-align:center;background:var(--bg)}
.hero::before,.close::before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;opacity:.55;background-image:
  radial-gradient(1px 1px at 8% 18%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 22% 62%,#fff 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 35% 12%,var(--gold-3) 50%,transparent 51%),radial-gradient(1px 1px at 63% 28%,#fff 50%,transparent 51%),
  radial-gradient(1px 1px at 78% 8%,#fff 50%,transparent 51%),radial-gradient(1.5px 1.5px at 91% 40%,var(--gold-3) 50%,transparent 51%),
  radial-gradient(1px 1px at 52% 82%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 4% 88%,#fff 50%,transparent 51%),
  radial-gradient(1px 1px at 96% 90%,#fff 50%,transparent 51%),radial-gradient(1px 1px at 70% 58%,#fff 50%,transparent 51%)}
.fx{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero-in{max-width:980px}
.eyebrow{display:inline-flex;align-items:center;gap:14px;font-size:13.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 24px}
.eyebrow::before,.eyebrow::after{content:"";width:48px;height:1.5px;background:var(--gold);opacity:.7}
.eyebrow::after{transform:scaleX(-1)}
.eb-dot{width:4px;height:4px;border-radius:50%;background:var(--gold)}
.hero h1{font-size:clamp(44px,6vw,80px);line-height:.98;letter-spacing:-.035em;margin:0 auto;max-width:17ch;text-wrap:balance}
.hero h1 .gold{display:inline}
.hero-sub{font-size:clamp(18px,1.9vw,22px);line-height:1.45;color:var(--ink-2);margin:22px auto 32px;max-width:52ch;text-wrap:pretty}
.deal{display:flex;justify-content:center;align-items:flex-start;gap:40px;max-width:820px;margin:0 auto 34px;text-align:left;padding:6px 0}
.deal>div{padding:0 40px}
.deal-price{order:-1}
.deal-label{font-size:12.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin:0 0 8px}
.tiles{display:flex;align-items:flex-start;gap:22px}
.tile{display:grid;justify-items:center;gap:6px;min-width:62px}
.tile{position:relative}
.tile b{font:800 52px/1 var(--display);letter-spacing:-.02em;font-variant-numeric:tabular-nums;color:var(--gold)}
.tile i{font-style:normal;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}
.deal-num{font:800 64px/1 var(--display);letter-spacing:-.03em;margin:0 0 6px;font-variant-numeric:tabular-nums}
.deal-what{font-size:14.5px;color:var(--ink-2);margin:0;line-height:1.4}
.btn-hero{flex-direction:column;gap:3px;min-width:min(100%,420px);padding:18px 34px 16px;border-radius:18px;font-size:20px}
.btn-hero small{font-size:13.5px;font-weight:500;opacity:.75}
.hero-fine{font-size:14.5px;color:var(--ink-2);margin:18px auto 0;line-height:1.55;max-width:56ch}

/* timeline: open list, dates on the left, the two real deadlines in large gold */
.sec-tl{background:var(--bg-2);border-top:1px solid var(--line-2)}
.tl-wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:72px;align-items:start}
.tl-wrap .sec-head{position:sticky;top:96px;margin:0}
.tl{margin:0}
.tl-list{list-style:none;margin:0;padding:0;position:relative}
.tl-list::before{content:"";position:absolute;left:150px;top:14px;bottom:14px;width:2px;background:var(--line)}
.tl-list li{position:relative;display:grid;grid-template-columns:120px minmax(0,1fr);column-gap:62px;row-gap:4px;padding:18px 0}
.tl-list li::before{content:"";position:absolute;left:144px;top:24px;width:14px;height:14px;border-radius:50%;background:var(--bg-2);box-shadow:inset 0 0 0 2px var(--line)}
.tl-list time{grid-row:1/3;text-align:right;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);padding-top:3px}
.tl-list b{grid-column:2;font-size:18px;letter-spacing:-.01em;line-height:1.3}
.tl-list span{grid-column:2;font-size:15.5px;color:var(--ink-2);line-height:1.5;max-width:44ch}
.tl-sale::before{background:var(--gold)!important;box-shadow:0 0 0 5px rgba(255,200,58,.2)!important}
.tl-sale time{color:var(--gold)}
.tl-plan::before{box-shadow:inset 0 0 0 2px var(--gold)!important}
.tl-list .tl-hard{padding:34px 0}
.tl-hard::before{width:20px!important;height:20px!important;left:141px!important;top:44px!important;background:var(--gold)!important;box-shadow:0 0 0 6px var(--bg-2)!important}
.tl-hard time{font:800 46px/1 var(--display);letter-spacing:-.03em;text-transform:none;color:var(--gold);padding-top:0}
.tl-hard b{font-family:var(--display);font-size:28px;font-weight:800;letter-spacing:-.02em;line-height:1.15}
.tl-away{display:block;font:600 14px/1.4 var(--sans);font-style:normal;letter-spacing:0;color:var(--gold);margin-top:4px}
.tl-list li.past{opacity:.4}
.tl-list li.past b{text-decoration:line-through;text-decoration-color:var(--ink-3)}
.js .tl-list li{opacity:0;transform:translateY(8px)}
.js .tl-list li.on{opacity:1;transform:none;transition:opacity .5s var(--ease-out) calc(var(--i,0)*70ms), transform .5s var(--ease-out) calc(var(--i,0)*70ms)}
.js .tl-list li.on.past{opacity:.4}

/* sections */
.sec{padding:104px 0}
.sec-white{background:var(--bg-2);border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2)}
.sec-head{max-width:760px;margin-bottom:52px}
.sec h2{font-size:clamp(30px,3.7vw,48px);line-height:1.06;letter-spacing:-.035em}
.lede{font-size:18.5px;color:var(--ink-2);margin:20px 0 0;max-width:62ch}
.small{font-size:14.5px;color:var(--ink-3);line-height:1.55}
.src{font-size:13.5px;color:var(--ink-3);margin:22px 0 0;max-width:80ch}
.caption{font-size:13.5px;color:var(--ink-3);margin:12px 0 0}

/* deadline board */
.board{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:8px 28px}
.board-row{display:grid;grid-template-columns:1.2fr 1.35fr 1fr .75fr .8fr;gap:22px;align-items:baseline;padding:18px 0;border-top:1px solid var(--line-2)}
.board-row:nth-child(2){border-top:0}
.board-th{font-size:13px;font-weight:600;color:var(--ink-3);padding:16px 0 12px;border-bottom:1px solid var(--line)}
.board-th+.board-row{border-top:0}
.mv{display:flex;flex-direction:column;gap:2px}
.hid{font-weight:600;font-size:16.5px;filter:blur(6px);user-select:none;-webkit-user-select:none;pointer-events:none;color:var(--ink)}
.mv em{font-style:normal;font-size:12.5px;color:var(--gold);font-weight:600}
.shown{font-weight:600;font-size:16.5px}
.open .mv::after{content:"Shown as a sample";font-size:12.5px;color:var(--ink-3)}
.who{color:var(--ink-2);font-size:15.5px;line-height:1.45}
.val{font-size:15px;color:var(--ink-2);line-height:1.4}
.val b{display:block;font-size:22px;color:var(--gold);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.freq{font-size:14px;color:var(--ink-3);line-height:1.4}
.freq b{display:block;font-size:19px;color:var(--ink);font-weight:600;font-variant-numeric:tabular-nums}
.due{font-size:15.5px;font-weight:500}
.due-hard{font-weight:600;color:var(--ink)}
.board-foot{font-size:18px;font-weight:500;letter-spacing:-.01em;margin:26px 0 0;max-width:62ch}

/* what you get */
.get{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:64px;align-items:center}
.get+.get{margin-top:96px}
.get-ai .get-copy{order:0}
.get-media video{width:100%;border-radius:14px;box-shadow:0 40px 80px -40px rgba(0,0,0,.9),0 0 0 1px var(--line);background:#fff}
.get-media:not(.app){max-width:460px}
.get-copy h3{font-size:clamp(24px,2.4vw,30px);letter-spacing:-.025em;margin-bottom:14px}
.get-copy>p{color:var(--ink-2);max-width:54ch}
.ticks{list-style:none;padding:0;margin:20px 0 22px}
.ticks li{position:relative;padding:9px 0 9px 30px;border-top:1px solid var(--line-2);font-size:16px;line-height:1.5}
.ticks li:last-child{border-bottom:1px solid var(--line-2)}
.ticks li::before{content:"";position:absolute;left:2px;top:15px;width:14px;height:8px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.app{position:relative;background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:28px;display:grid;gap:16px}
.app img{border-radius:14px;width:100%}
.steps{background:var(--paper-2);border-radius:16px;padding:16px}
.steps-top{display:flex;justify-content:space-between;font-size:15px;margin-bottom:10px}
.steps-top span{color:var(--ink-3)}
.step{display:grid;gap:3px;padding:12px 14px;border:1px solid var(--line-2);border-radius:12px;margin-top:8px;font-size:15px}
.step b{font-weight:600}
.step-tag{font-size:12px;font-weight:600;color:var(--ink-3)}
.step.next:first-of-type{border-color:rgba(255,200,58,.5)}
.step-meta{font-size:13.5px;color:var(--ink-2)}
.step-meta:first-of-type{color:var(--gold);font-weight:600}
.step.done{color:var(--ink-3)}
.step.done b{text-decoration:line-through}
.steps-foot{font-size:12px;color:var(--ink-3);margin:10px 0 0;text-align:right}

/* proof */
.table-wrap{overflow-x:auto;background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:8px 28px}
.proof{width:100%;border-collapse:collapse;font-size:15.5px}
.proof th{font-size:13.5px;font-weight:600;color:var(--ink-3);text-align:left;padding:18px 16px 12px 0;border-bottom:1px solid var(--line)}
.proof td{padding:16px 16px 16px 0;border-bottom:1px solid var(--line-2);vertical-align:top;line-height:1.45}
.proof tr:last-child td{border-bottom:0}
.proof td:first-child{font-weight:600;max-width:24ch}
.proof td:last-child{color:var(--ink-2);max-width:42ch}
.proof .num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.proof td.num{font-size:18px}
.proof td.num{font-weight:600}.proof td.num+td.num{color:var(--ink-3);font-weight:500;font-size:15.5px}
.quote{margin:72px 0 0;max-width:900px}
.quote p{font-size:clamp(22px,2.4vw,30px);line-height:1.35;letter-spacing:-.02em;margin:0 0 18px}
.quote footer{font-size:15px;color:var(--ink-3)}

/* fit */
.fit-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:start}
.fit-grid .lede{margin-top:22px}
.compare{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:30px}
.compare h3{font-size:20px;letter-spacing:-.015em;margin-bottom:10px}
.compare>p{color:var(--ink-2);font-size:15.5px}
.compare ul{margin:6px 0 18px;padding-left:20px}
.compare li{padding:5px 0;font-size:15.5px}

/* note */
.note-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center}
.note-photo{border-radius:20px;width:100%}
.note p{font-size:20px;line-height:1.55;letter-spacing:-.01em;max-width:46ch}
.sign{display:flex;align-items:center;gap:12px;font-size:15px!important;color:var(--ink-3);margin-top:26px}
.sign img{border-radius:50%;width:48px;height:48px}

/* order */
.sec-ink{background:#071A13;color:var(--ink);border-top:1px solid var(--line-2)}
.sec-ink h2{max-width:16ch}
.order-grid{display:grid;grid-template-columns:1fr minmax(0,460px);gap:72px;align-items:start}
.order-copy>p{color:#C9C9C9;font-size:18px;margin:22px 0 0;max-width:52ch}
.how{margin:34px 0 26px;padding:0;list-style:none;counter-reset:s}
.how li{counter-increment:s;position:relative;padding:14px 0 14px 46px;border-top:1px solid var(--line);color:#C9C9C9;font-size:16px;line-height:1.5}
.how li:last-child{border-bottom:1px solid var(--line)}
.how li::before{content:counter(s);position:absolute;left:0;top:13px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(255,200,58,.5);display:grid;place-items:center;font-size:13px;color:var(--gold)}
.how b{color:#fff;font-weight:600}
.sec-ink .small{color:#A6A6A6}
.buy{position:relative;background:var(--paper);color:var(--ink);border-radius:24px;padding:44px 32px 30px;border:2px solid var(--gold)}
.buy-ribbon{position:absolute;top:-16px;left:50%;transform:translateX(-50%);margin:0;white-space:nowrap;background:var(--gold);color:#1C1400;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;border-radius:999px}
.buy-name{font-weight:600;margin:0}
.buy-price{font:800 84px/1 var(--display);letter-spacing:-.035em;margin:14px 0 10px;color:var(--gold)}
.buy-terms{color:var(--ink-3);font-size:15px;margin:0 0 22px}
.buy .btn{width:100%}
.buy-clock{text-align:center;font-size:14px;color:var(--ink-3);margin:12px 0 0;min-height:1.4em}
.guarantee{margin-top:26px;padding-top:24px;border-top:1px dashed rgba(255,200,58,.3);display:grid;grid-template-columns:auto 1fr;gap:4px 18px;align-items:center}
.guarantee h3,.guarantee p{grid-column:2}
.seal{grid-row:1/3;width:92px;height:92px;border-radius:50%;display:grid;place-content:center;text-align:center;color:var(--gold);border:1.5px solid var(--gold);box-shadow:inset 0 0 0 4px var(--paper),inset 0 0 0 5px rgba(255,200,58,.45);transform:rotate(-8deg)}
.seal b{font:800 18px/1 var(--display);letter-spacing:-.02em}
.seal i{font-style:normal;font-size:8.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;line-height:1.2;margin-top:3px}
.guarantee h3{font-size:18px;letter-spacing:-.015em;margin-bottom:8px}
.guarantee p{font-size:15px;color:var(--ink-2);margin:0}

/* faq */
.faq-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:64px;align-items:start}
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-weight:600;font-size:17.5px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex:none;width:11px;height:11px;margin-top:6px;border-right:2px solid var(--ink-3);border-bottom:2px solid var(--ink-3);transform:rotate(45deg);transition:transform .2s var(--ease-out)}
.faq details[open] summary::after{transform:rotate(225deg);margin-top:10px}
.faq details p{color:var(--ink-2);margin:0 0 20px;max-width:62ch}

/* close */
.close{padding:120px 0;text-align:center;background:var(--bg);border-top:1px solid var(--line-2)}
.close-in{max-width:900px;margin:0 auto}
.close h2{font-size:clamp(34px,5vw,66px);line-height:1.02;letter-spacing:-.035em;margin:0 auto 36px;max-width:17ch;text-wrap:balance}
.close-fine{color:var(--ink-2);font-size:14.5px;margin:14px 0 0}
.foot{padding:44px 0 130px;border-top:1px solid var(--line-2);font-size:13px;color:var(--ink-3);line-height:1.6}
.foot p{max-width:90ch}
.review-toggle{font:500 13px var(--sans);background:transparent;color:var(--ink-2);border:1px solid var(--line);color:var(--ink-2);padding:7px 12px;border-radius:999px;cursor:pointer}

/* mobile dock */
.dock{position:fixed;left:50%;bottom:16px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:20px;width:min(760px,calc(100% - 24px));background:rgba(7,26,19,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border:1px solid rgba(255,200,58,.3);color:var(--ink-2);border-radius:20px;padding:10px 10px 10px 22px;font-size:14px;transform:translate(-50%,160%);transition:transform .4s var(--ease-out);box-shadow:0 20px 50px -20px rgba(0,0,0,.9)}
.dock-t{display:grid;line-height:1.35}
.dock-t [data-clock]{color:var(--gold);font-variant-numeric:tabular-nums}
.dock b{color:var(--ink);font-size:16px}
.dock .btn{padding:12px 18px;font-size:15px}
.dock.show{transform:translate(-50%,0)}

@media (prefers-reduced-motion:reduce){
  .js .tl-list li{opacity:1;transform:none}
  .dock{transition:none}
  html{scroll-behavior:auto}
}
@media (max-width:1000px){
  .hero-grid,.get,.fit-grid,.note-grid,.order-grid,.faq-grid{grid-template-columns:1fr;gap:40px}
  .get-ai .get-copy{order:1}
  .get-media:not(.app){max-width:420px}
  .tl-wrap{grid-template-columns:1fr;gap:44px}
  .tl-wrap .sec-head{position:static}
}
@media (max-width:640px){
  body{font-size:16px}
  .wrap{padding:0 20px}
  .hero{padding:40px 0 64px}
  .hero h1{font-size:44px}
  .eyebrow{flex-direction:column;gap:4px;font-size:12px;letter-spacing:.12em;margin-bottom:22px}
  .eyebrow::before,.eyebrow::after,.eb-dot{display:none}
  .hero-sub{font-size:17px;margin:20px auto 28px}
  .deal{flex-direction:column;align-items:stretch;gap:0;padding:4px 0 0;margin-bottom:26px}
  .deal>div{padding:0}
  .deal-price{margin-bottom:22px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px;justify-content:center;text-align:center}
  .deal-price .deal-label,.deal-clock .deal-label{width:100%;text-align:center}
  .deal-num{font-size:44px;margin:0}
  .tiles{justify-content:center;gap:14px}
  .tile{min-width:56px}
  .tile b{font-size:38px}
  .btn-hero{width:100%;font-size:18px}
  .sec-tl{display:none}
  .sec{padding:72px 0}
  .sec-head{margin-bottom:36px}
  .board{padding:4px 18px}
  .board-th{display:none}
  .board-row{grid-template-columns:1fr auto;gap:4px 16px;padding:16px 0}
  .board-row:nth-child(2){border-top:0}
  .mv,.who{grid-column:1/-1}
  .freq{grid-column:1/-1;order:5}
  .freq b{display:inline;font-size:14px}
  .val b{font-size:20px}
  .val::before{content:"Their plan projects";display:block;font-size:12px;font-weight:600;color:var(--ink-3);margin-bottom:2px}
  .due{text-align:right;align-self:end}
  .due:has(small){grid-column:1/-1;text-align:left;order:6}
  .board-foot{font-size:17px}
  .table-wrap{padding:4px 16px}
  .proof thead{display:none}
  .proof tr{display:grid;grid-template-columns:1fr 1fr;gap:2px 14px;padding:14px 0;border-bottom:1px solid var(--line-2)}
  .proof tr:last-child{border-bottom:0}
  .proof td{border:0;padding:0}
  .proof td:first-child,.proof td:last-child{grid-column:1/-1}
  .proof td:last-child{font-size:14.5px;margin-top:4px}
  .proof .num{text-align:left}
  .proof td.num::before{display:block;font-size:12px;font-weight:600;color:var(--ink-3)}
  .proof td.num:nth-child(2)::before{content:"Core plan, projected"}
  .proof td.num:nth-child(3)::before{content:"If real estate fits, projected"}
  .app{padding:16px;border-radius:20px}
  .note p{font-size:18px}
  .buy{padding:26px 20px 24px}
  .buy-price{font-size:64px}
  .buy{padding:40px 20px 24px}
  .seal{width:70px;height:70px}
  .seal b{font-size:15px}
  .close{padding:84px 0}
  .dock{padding-left:16px;gap:12px;bottom:12px}
  .dock b{font-size:14.5px}
  .dock .btn{padding:12px 16px}
}

/* upsell page */
.up-hero{padding:56px 0 88px;background:var(--bg)}
.up-done{display:flex;align-items:baseline;gap:10px;font-size:15.5px;color:var(--ink-2);margin:0 0 28px;padding-bottom:18px;border-bottom:1px solid var(--line);max-width:52ch}
.up-done b{color:var(--mint);font-weight:600;white-space:nowrap}
.up-done::before{content:"";flex:none;width:12px;height:6px;border-left:2px solid var(--mint);border-bottom:2px solid var(--mint);transform:translateY(-3px) rotate(-45deg)}
.up-hero h1{font-size:clamp(40px,5.2vw,68px);line-height:1.02;letter-spacing:-.04em;max-width:13ch;text-wrap:balance}
.up-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,440px);gap:72px;align-items:start}
.up-copy .hero-body{margin-top:24px;max-width:50ch}
.order{background:var(--paper);border:1px solid var(--line);border-radius:24px;padding:8px;box-shadow:0 30px 70px -40px rgba(0,0,0,.9)}
.order-lines{list-style:none;margin:0;padding:10px 18px 12px}
.order-lines li{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:15.5px;border-top:1px solid var(--line-2)}
.order-lines li:first-child{border-top:0}
.ol-name{font-weight:500}
.ol-tag{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--mint);font-weight:600}
.ol-tag::before{content:"";width:9px;height:5px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(-45deg)}
.order-add{background:var(--paper-2);color:var(--ink);border:2px solid var(--gold);border-radius:18px;padding:24px 22px 22px}
.oa-label{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0 0 6px}
.oa-name{font-size:21px;font-weight:600;letter-spacing:-.02em;margin:0 0 6px;line-height:1.2}
.oa-meta{font-size:15px;color:#C9C9C9;margin:0 0 18px;line-height:1.5}
.oa-price{font:800 72px/1 var(--display);letter-spacing:-.035em;margin:0 0 8px;color:var(--gold)}
.order-add .buy-terms{color:#BDBDBD;font-size:14.5px;margin:0 0 18px}
.order-add .btn{width:100%}
.order .skip{margin:14px 0 10px;padding:0 16px;text-wrap:balance}
.pillar-map{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.pillar-map>li{display:grid;grid-template-columns:120px minmax(0,1fr) minmax(0,.9fr);gap:32px;align-items:start;padding:30px 0;border-bottom:1px solid var(--line)}
.pm-n{font:800 56px/.9 var(--display);letter-spacing:-.04em;color:var(--gold);font-variant-numeric:tabular-nums}
.pm-body h3{font-size:24px;padding-top:4px;letter-spacing:-.025em;margin:0 0 6px}
.pm-body p{margin:0;color:var(--ink-2);font-size:16px;line-height:1.55;max-width:46ch}
.pm-moves{list-style:none;margin:0;padding:6px 0 0 20px;border-left:1px solid var(--line)}
.pm-moves::before{content:"In your plan";display:block;font-size:12.5px;font-weight:600;color:var(--ink-3);margin-bottom:6px}
.pm-moves li{font-size:15.5px;line-height:1.75;color:var(--ink)}
.pm-tools{margin:30px 0 0;font-size:17px;color:var(--ink-2);max-width:66ch}
.pm-tools b{color:var(--ink)}
.skip{display:block;text-align:center;margin-top:14px;font-size:15px;color:var(--ink-2)}
.skip:hover{color:var(--ink)}
@media (max-width:1000px){.up-grid{display:flex;flex-direction:column;gap:0}.up-copy{display:contents}.up-done{order:1;align-self:flex-start}.up-hero h1{order:2}.order{order:3;margin-top:28px;width:100%}.up-copy .hero-body{order:4}.up-copy .hero-body:first-of-type{margin-top:32px}.order{max-width:520px}.pillar-map>li{grid-template-columns:80px 1fr;gap:12px 24px}.pm-moves{grid-column:2}.pm-n{font-size:44px}}
@media (max-width:640px){.up-hero{padding:32px 0 56px}.up-done{font-size:14.5px;margin-bottom:22px;padding-bottom:14px}.pillar-map>li{grid-template-columns:1fr;gap:10px;padding:24px 0}.pm-moves{grid-column:1;border-left:0;padding:4px 0 0}.pm-moves li{display:inline}.pm-moves li+li::before{content:" · ";color:var(--ink-3)}.pm-n{font-size:36px}.pm-body h3{font-size:21px}.oa-price{font-size:54px}}
.buy-terms,.hero-fine{text-wrap:pretty}

/* cream sections */
#deadlines,#faq{--ink:#0A2219;--ink-2:#3A4C43;--ink-3:#5C6C63;--paper:#FFFFFF;--line:#E2D8C2;--line-2:#ECE4D2;--gold:#8A5A00;background:var(--cream);color:var(--ink);border:0}
#deadlines .val b{color:var(--green)}
#deadlines .mv em{color:var(--green)}
#deadlines .board{box-shadow:0 1px 0 #E2D8C2,0 24px 50px -36px rgba(10,34,25,.35)}

/* Motion (sales page only). Ease-out on everything, transform and opacity only. */
.sales .btn{transition:background-color .16s var(--ease-out),transform .16s var(--ease-out),box-shadow .16s var(--ease-out)}
.sales .btn:active{transform:scale(.97)}
.sales .btn-gold:active{transform:translateY(3px) scale(.99)}
@media not ((hover:hover) and (pointer:fine)){
  .sales .btn:hover{background:var(--green)}
  .sales .btn-gold:hover{background:var(--gold)}
}
@keyframes rise{from{opacity:0;transform:translateY(14px)}}
@keyframes fade{from{opacity:0}}
@keyframes seal-in{from{opacity:0;transform:rotate(-28deg) scale(.85)}}
.js .sales .hero-in>*{animation:rise .7s var(--ease-out) both;animation-delay:calc(var(--i,0)*80ms + 60ms)}
.js .sales .hero-in>:nth-child(2){--i:1}
.js .sales .hero-in>:nth-child(3){--i:2}
.js .sales .hero-in>:nth-child(4){--i:3}
.js .sales .hero-in>:nth-child(5){--i:4}
.js .sales .hero-in>:nth-child(6){--i:5}
.js .sales [data-reveal]{opacity:0;transform:translateY(14px)}
.js .sales [data-reveal].in{opacity:1;transform:none;transition:opacity .6s var(--ease-out) calc(var(--i,0)*45ms),transform .6s var(--ease-out) calc(var(--i,0)*45ms)}
.js .sales .guarantee.in .seal{animation:seal-in .7s var(--ease-out) .25s both}
.sales .countup{position:relative;display:inline-block;font-variant-numeric:tabular-nums}
.sales .cu-size{visibility:hidden}
.sales .cu-num{position:absolute;left:0;top:0;white-space:nowrap}
.sales .faq details[open] p{animation:fade .3s var(--ease-out)}
@media (prefers-reduced-motion:reduce){
  .js .sales .hero-in>*{animation-name:fade;animation-duration:.4s}
  .js .sales [data-reveal]{transform:none}
  .js .sales .guarantee.in .seal{animation:none}
}

/* Board: first four rows show, the rest open on demand */
.js .board-row[data-more]{display:none}
.js .board.all .board-row[data-more]{display:grid}
.board-more{display:none}
.js .board-more{display:flex;align-items:center;gap:10px;margin:22px auto 0;font:600 16px var(--sans);color:var(--ink);background:none;border:0;padding:10px 4px;cursor:pointer;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:6px;text-decoration-thickness:2px;transition:text-decoration-color .16s var(--ease-out),transform .16s var(--ease-out)}
.board-more::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.board-more:active{transform:scale(.97)}
.board-more:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media (hover:hover) and (pointer:fine){.board-more:hover{text-decoration-color:currentColor}}
.js .board.all~.board-more{display:none}
/* After the sale ends */
.btn.is-ended{background:var(--paper-2)!important;color:var(--ink-3)!important;box-shadow:none!important;pointer-events:none}

/* Nov 6 pass: hero byline, mid-page CTA, buy-box list, mobile timeline */
.hero-by{display:inline-flex;align-items:center;flex-wrap:wrap;justify-content:center;gap:8px 12px;margin:26px auto 0;font-size:14.5px;color:var(--ink-2)}
.hero-by img{width:36px;height:36px;border-radius:50%;box-shadow:0 0 0 2px rgba(255,200,58,.45)}
.hero-by b{color:var(--ink);font-weight:600}
.hb-dot{width:4px;height:4px;border-radius:50%;background:var(--ink-3)}
.mid-cta{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;margin:40px 0 0;padding:26px 30px;background:#fff;border:1px solid var(--line);border-radius:20px}
.mid-cta p{margin:0;font-size:18px;line-height:1.45;max-width:46ch;color:var(--ink-2)}
.mid-cta b{color:var(--ink)}
.mid-cta .btn-gold{flex:none;background:#FFC83A;color:#1C1400}
.mid-cta .btn-gold:hover{background:#FFD25C}
.buy-list{list-style:none;margin:0 0 24px;padding:0}
.buy-list li{position:relative;padding:7px 0 7px 28px;font-size:15px;line-height:1.45;color:var(--ink-2)}
.buy-list li::before{content:"";position:absolute;left:2px;top:13px;width:12px;height:7px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.close .btn-hero{margin:0 auto}
@media (max-width:640px){
  .hero .fx{opacity:.45}
  .hero-by{font-size:13.5px}
  .hb-dot{display:none}
  .mid-cta{flex-direction:column;align-items:stretch;text-align:center;padding:22px 20px}
  .mid-cta p{font-size:16.5px}
  /* Timeline stays on phones as a single column: the "plan arrives before Dec 31" point is the core of the offer */
  .sec-tl{display:block}
  .tl-list::before{left:6px}
  .tl-list li{grid-template-columns:1fr;padding:14px 0 14px 34px;row-gap:2px}
  .tl-list li::before{left:0;top:18px}
  .tl-list time{grid-row:auto;text-align:left;padding-top:0}
  .tl-list b,.tl-list span{grid-column:1}
  .tl-list .tl-hard{padding:22px 0 22px 34px}
  .tl-hard::before{left:-3px!important;top:26px!important}
  .tl-hard time{font-size:34px}
  .tl-hard b{font-size:23px}
}
.order-add .buy-list{margin:4px 0 20px}
.order-add .buy-list li{color:#D9D9D9}

/* Gift plan form (upsell) */
.gift-form{display:grid;gap:12px;margin:0}
.gift-form label{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--ink-2)}
.gift-form input{font:inherit;font-size:16px;font-weight:400;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;box-sizing:border-box}
.gift-form input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}
.gift-form .btn{margin-top:6px}
.gift-note{font-size:14px;color:var(--ink-3);margin:12px 0 0;text-align:center}

/* Phone tap targets (Nov 8): at least 44px tall */
.skip{display:flex;align-items:center;justify-content:center;min-height:44px}
.js .board-more{min-height:44px;padding:12px 8px}
.review-toggle{min-height:40px;padding:10px 14px}

/* Review fix (Nov 8): small note under a board deadline */
.board .due small{display:block;font-size:13.5px;font-weight:500;color:var(--ink-3);margin-top:2px}

/* Checkout (Nov 9): Whop payment elements inside the price box */
.co-pay{border:0;padding:0;margin:0 0 12px;display:grid;gap:8px;min-width:0}
.co-label{padding:0;margin:0 0 8px;font-size:14px;font-weight:600;color:var(--ink-2)}
.co-opt,.co-bump{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:14px;cursor:pointer;line-height:1.4}
.co-opt{border:1px solid var(--line);background:var(--bg);transition:border-color .15s ease,background .15s ease}
.co-opt:has(input:checked){border-color:var(--gold);background:rgba(255,200,58,.06)}
.co-opt span{display:grid;gap:2px}
.co-opt b{font-weight:600}
.co-opt small{font-size:14px;color:var(--ink-3)}
.co-bump{margin:0 0 20px;border:1.5px dashed rgba(255,200,58,.65);background:rgba(255,200,58,.08);font-weight:600}
.co-opt input,.co-bump input{flex:none;width:20px;height:20px;margin:1px 0 0;accent-color:var(--gold);cursor:pointer}
.co-opt:focus-within,.co-bump:focus-within{outline:2px solid var(--gold);outline-offset:2px}
.co-el{margin:0 0 14px}
.co-el:empty{min-height:56px}
#co-payment:empty{min-height:220px}
.co-due{font-size:14px;color:var(--ink-2);text-align:center;margin:0 0 12px;text-wrap:balance}
.co-btn{cursor:pointer;border:0;font-family:inherit}
.co-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.co-err{font-size:14.5px;color:#FFB8AA;text-align:center;margin:12px 0 0}
.co-err:empty{display:none}
.co-brand{margin-top:14px}
.co-ended{display:none;margin:0;padding:18px;text-align:center;font:600 19px/1.3 var(--sans);color:var(--ink-2);border:1px solid var(--line);border-radius:14px}
.sale-ended .co,.sale-ended .buy-clock{display:none}
.sale-ended .co-ended{display:block}
/* The price box is taller with the checkout in it: keep the order steps beside it on desktop */
@media (min-width:1001px){.order-copy{position:sticky;top:48px}}

/* Nov 9 conversion pass: hero proof row, member results, extra CTAs, upsell plan pages, thank-you */
.hero-proof{list-style:none;display:grid;grid-template-columns:.7fr 1.15fr 1.15fr;gap:36px;max-width:820px;margin:40px auto 0;padding:30px 0 0;border-top:1px solid var(--line)}
.hero-proof li{display:grid;gap:6px;align-content:start}
.hero-proof b{font:800 40px/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}
.hero-proof span{font-size:14.5px;line-height:1.45;color:var(--ink-2);text-wrap:balance}
.js .sales .hero-in>:nth-child(7){--i:6}
.members{margin:64px 0 0}
.members h3{font-size:clamp(24px,2.4vw,30px)}
.member-list{list-style:none;margin:24px 0 0;padding:0;border-top:1px solid var(--line)}
.member-list li{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:8px 40px;align-items:baseline;padding:22px 0;border-bottom:1px solid var(--line)}
.m-num{font:800 34px/1.05 var(--display);letter-spacing:-.03em;color:var(--gold);font-variant-numeric:tabular-nums}
.m-num small{display:block;font:600 13.5px/1.4 var(--sans);letter-spacing:0;color:var(--ink-3);margin-top:6px}
.member-list p{margin:0;font-size:17px;line-height:1.55;color:var(--ink-2);max-width:56ch}
.member-list p b{color:var(--ink)}
.cta-row{display:flex;align-items:center;justify-content:space-between;gap:20px 32px;margin:56px 0 0;padding:28px 0 0;border-top:1px solid var(--line)}
.cta-row p{margin:0;font-size:18px;line-height:1.45;max-width:52ch;color:var(--ink-2)}
.cta-row b{color:var(--ink);font-weight:600}
.cta-row .btn{flex:none}
.co-safe{font-size:14px;color:var(--ink-2);text-align:center;margin:12px 0 0}
.up-who{margin:26px 0 0;max-width:50ch}
.up-who b{color:var(--ink)}
.oa-save{font-size:15px;font-weight:600;color:var(--gold);margin:0 0 8px}
.up-pages{display:grid;justify-items:center;margin:52px 0 0;max-width:520px}
.up-pages .hp{grid-area:1/1;width:46%;height:auto;border-radius:6px;background:#fff;box-shadow:0 30px 60px -30px rgba(0,0,0,.9),0 0 0 1px rgba(0,0,0,.25)}
.up-pages .hp-l{transform:translateX(-60%) rotate(-7deg) scale(.92)}
.up-pages .hp-r{transform:translateX(60%) rotate(7deg) scale(.92)}
.up-pages .hp-c{position:relative;z-index:1}
.gift-form .btn{font-family:inherit;border:0;cursor:pointer}
.up-pages figcaption{font-size:13.5px;color:var(--ink-3);margin-top:22px;text-align:center}
.ty .how{max-width:560px}
.order-note{margin:0;padding:14px 18px 16px;border-top:1px solid var(--line-2);font-size:14.5px;line-height:1.5;color:var(--ink-2)}
@media (max-width:1000px){
  .up-copy>.how,.up-copy>.ticks,.up-copy>.up-pages{order:4}
  .up-pages{margin-left:auto;margin-right:auto;width:100%}
  .ty .order{order:5;margin-top:12px}
}
@media (max-width:640px){
  .hero-proof{grid-template-columns:1fr;gap:16px;margin-top:30px;padding-top:24px;text-align:left}
  .hero-proof li{grid-template-columns:112px 1fr;gap:14px;align-items:baseline}
  .hero-proof b{font-size:28px}
  .hero-proof span{font-size:14px;text-wrap:pretty}
  .members{margin-top:48px}
  .member-list li{grid-template-columns:1fr;padding:18px 0}
  .m-num{font-size:28px}
  .member-list p{font-size:16px}
  .cta-row{flex-direction:column;align-items:stretch;text-align:center;margin-top:40px}
  .cta-row p{font-size:16.5px}
  .up-pages{margin-top:36px}
}
.dock .btn,.dock-mo{white-space:nowrap}

/* Nov 9 feedback pass: the "why now" section and the split guarantee */
.sec-why{border-top:1px solid var(--line-2)}
.sec-why .fit-grid{align-items:center}
.when{display:grid;gap:14px}
.when-row{border:1px solid var(--line-2);border-radius:20px;padding:24px 26px;color:var(--ink-2)}
.when-row h3{font-size:19px;letter-spacing:-.015em;margin-bottom:6px;color:var(--ink-2)}
.when-row p{margin:0;font-size:16px;line-height:1.5}
.when-now{background:var(--paper);border-color:rgba(255,200,58,.45);color:var(--ink)}
.when-now h3{color:var(--gold)}
.guarantee .g-what{margin-top:12px}
.guarantee .g-list{grid-column:2;margin:6px 0 10px;padding-left:20px;font-size:15px;color:var(--ink-2)}
.guarantee .g-list li{padding:2px 0}
@media (max-width:640px){
  .guarantee{align-items:center;row-gap:12px}
  .seal{grid-row:1}
  .seal i{font-size:6.5px}
  .guarantee h3{margin-bottom:0}
  .guarantee p,.guarantee .g-list{grid-column:1/-1}
}
