/* self-hosted fonts (latin subsets from Google Fonts, OFL: assets/fonts/v1/OFL.txt). The folder is versioned: new files → v2. */
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fonts/v1/source-serif-4-opsz-roman-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:italic;font-weight:700;font-display:swap;src:url(/assets/fonts/v1/source-serif-4-opsz-700-italic-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url(/assets/fonts/v1/inter-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/v1/jetbrains-mono-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{
  --paper:#ffffff;      /* canvas */
  --card:#f2f2f3;       /* card mist */
  --ink:#17191c;
  --text:#2e3136;
  --muted:#646873;      /* 5.57:1 on #fff, 5.34 on #fafafb, 4.98 on #f2f2f3 */
  --line:#ececec;       /* hairline */
  --peach:#fbe1d1;
  --sienna:#5d2a1a;
  --violet-a:#4f34c0;   /* reveal band gradient: 135deg a → b (45%) → c */
  --violet-b:#5639c8;
  --violet-c:#6538b8;   /* the end with the least contrast against white: everything below is measured on it */
  --sky:#d3e3fc;        /* proof band */
  --sky-muted:#4f535c;  /* 5.93 on #d3e3fc */
  --blue:var(--ink);    /* lead-form.css reads --blue for focus + done state: no blue in this system */
  --red:#df3d22;        /* lead-form.css invalid input only */
  --shadow-artifact:rgba(4,23,43,.05) 0 0 0 1px,rgba(0,0,0,.1) 0 20px 25px -5px,rgba(0,0,0,.1) 0 8px 10px -6px;
  --serif:'Source Serif 4',Georgia,serif;
  --sans:'Inter',ui-sans-serif,system-ui,sans-serif;
  --mono:'JetBrains Mono',ui-monospace,monospace;
}

/* base */
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--text);font:430 17px/1.5 var(--sans);overflow-wrap:break-word;-webkit-font-smoothing:antialiased}
.page{max-width:1200px;margin:0 auto;padding:0 40px}
a{color:inherit;text-underline-offset:3px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.skip{position:absolute;top:-80px;left:20px;background:var(--paper);color:var(--ink);padding:12px 20px;border-radius:9999px;box-shadow:var(--shadow-artifact);z-index:10}
.skip:focus{top:10px}
.micro{font-size:14px;line-height:1.5;margin:0;color:var(--muted)}
.nowrap{white-space:nowrap}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}

/* bar */
.bar{background:var(--ink);color:#fff}
.bar p{margin:0;padding:8px 16px;font:450 13px/1.4 var(--sans);text-align:center}

/* type */
h1,h2{font-family:var(--serif);font-weight:400;color:var(--ink)}
h1{margin:0;font-size:clamp(40px,4.6vw,64px);font-weight:700;line-height:1.08;letter-spacing:-.01em;text-wrap:balance}
h1 em{font-style:italic;font-weight:700;color:#7a2fa0} /* solid fallback where text clipping is unsupported */
@supports ((-webkit-background-clip:text) or (background-clip:text)){
  h1 em{background:linear-gradient(100deg,#5b3fd0 0%,#9a2a70 52%,#a33509 100%);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;padding-right:.12em;-webkit-box-decoration-break:clone;box-decoration-break:clone}
}
h2{margin:0;font-size:clamp(32px,3.6vw,46px);line-height:1.15;letter-spacing:-.015em}
h3{margin:0;font:480 20px/1.3 var(--sans);letter-spacing:-.009em;color:var(--ink)}
.deck{margin:24px 0 0;font:430 clamp(17px,1.5vw,20px)/1.45 var(--sans);letter-spacing:-.005em;color:var(--muted)}
.eyebrow{margin:0 0 16px;font:480 13px/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.eyebrow.callout{display:inline-flex;margin-bottom:24px;padding:6px 14px;border:1px solid rgba(23,25,28,.08);border-radius:9999px;background:rgba(255,255,255,.6);font-size:14px;letter-spacing:0;text-transform:none;color:var(--text)}
.mono{font:500 12px/1.5 var(--mono);letter-spacing:.02em;color:var(--muted)}

/* stop */
.stop{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,504px);gap:56px;padding:32px 0 80px;align-items:start}
.stop>*{min-width:0}

/* hero glow: a full-bleed layer behind .stop that fades to white */
body{overflow-x:clip}
.stop{position:relative;isolation:isolate}
.stop::before,.stop::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;pointer-events:none}
.stop::before{background:
  linear-gradient(to bottom,rgba(255,255,255,0) 58%,#fff 100%),
  radial-gradient(ellipse 40% 52% at 26% 26%,rgba(217,207,245,1) 0%,rgba(217,207,245,.6) 40%,rgba(217,207,245,0) 76%),
  radial-gradient(ellipse 36% 48% at 50% 46%,rgba(246,207,224,.95) 0%,rgba(246,207,224,.55) 42%,rgba(246,207,224,0) 78%),
  radial-gradient(ellipse 40% 54% at 72% 64%,rgba(251,195,168,1) 0%,rgba(251,195,168,.6) 42%,rgba(251,195,168,0) 78%),
  linear-gradient(to bottom,#f7f7f8,#fff)}
.stop::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:240px 240px;opacity:.5;mix-blend-mode:soft-light}
.stop .deck{max-width:600px;font-size:16px;line-height:1.55;color:#555963} /* darker over the glow: ≥4.5 on its brightest pixel */
.deck strong{font-weight:600;color:var(--ink)}
.form-card{max-width:580px;margin-top:32px;padding:24px;background:var(--card);border-radius:24px}

/* form: overrides of lead-form.css */
.waitlist-form{display:block;grid-template-columns:none;gap:0;padding:0;border-top:0}
.lead-form label{font-size:14px;font-weight:480;color:var(--ink);margin-bottom:8px}
.lead-row{gap:8px}
.lead-row input{min-height:52px;padding:0 18px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:430 16px var(--sans)}
.lead-row input:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.lead-row .button{min-height:52px;border-radius:9999px;font-size:16px;font-weight:480}
.lead-row .button:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.lead-consent{font-size:13px;line-height:1.5;color:var(--muted);margin:16px 0 0}
.lead-status{color:var(--ink)}
/* done: the form collapses to one success block (no bar, no border); the reserved slot is released */
.lead-form[data-state=done] .lead-consent{display:none}
.waitlist-slot.is-done{min-height:0}
.lead-form[data-state=done] .lead-status{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:16px;align-items:center;margin:0;padding:0;border:0;font-weight:430}
.lead-form[data-state=done] .lead-status::before{content:"";grid-row:1 / span 2;width:40px;height:40px;border-radius:50%;background:#5b3fd0 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 20px 20px no-repeat}
.lead-done-title{display:block;font:400 24px/1.25 var(--serif);letter-spacing:-.01em;color:var(--ink)}
.lead-done-sub{display:block;margin-top:4px;font-size:15px;line-height:1.5;color:var(--muted)}
/* errors: a small icon and ink text instead of a bar */
.lead-form[data-state=error] .lead-status{position:relative;border-left:0;padding:0 0 0 28px;color:var(--ink)}
.lead-form[data-state=error] .lead-status::before{content:"!";position:absolute;left:0;top:2px;width:18px;height:18px;border-radius:50%;background:var(--red);color:#fff;font:700 12px/18px var(--sans);text-align:center}

.waitlist-slot{min-height:240px}
/* first name: the email field's look, full width above the email row */
.lead-form :is(#lead-name,#lead2-name){display:block;width:100%;min-height:52px;margin:0 0 16px;padding:0 18px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);font:430 16px var(--sans);-webkit-appearance:none;appearance:none}
.lead-form :is(#lead-name,#lead2-name)[aria-invalid=true]{border-color:var(--red)}
.lead-form[data-state=done] :is(#lead-name,#lead2-name){display:none}

/* the sign-up card in lavender, the one violet action (the h1 gradient's first stop) */
.form-card{background:#f3eefd;border:1px solid #e4dbfa}
.card-title{margin:0;font:600 18px/1.3 var(--serif);letter-spacing:-.014em;color:var(--ink);text-wrap:balance}
.card-sub{margin:4px 0 16px;font-size:14px;line-height:1.5;color:var(--muted)}
.form-card.is-done .card-title,.form-card.is-done .card-sub{display:none}
.form-card :is(#lead-name,#lead2-name):focus-visible,.form-card .lead-row input:focus-visible,.form-card .link-button:focus-visible{outline:2px solid #5b3fd0;outline-offset:2px}
.lead-row .button:disabled:hover{background:#5b3fd0}
.button:focus-visible,.lead-row .button:focus-visible{outline:2px solid #5b3fd0;outline-offset:3px}

/* the dm-demo in the hero: dm-demo.css sizes it (max 504px, its own overhang); this only places it */
.stop-media{margin:0;display:flex;justify-content:flex-end;align-self:center} /* centred against the copy column on desktop */

/* sections: full-bleed bands drawn by a clipped shadow, so no markup change */
.problem,.reveal,.yes{padding:80px 0}
.problem{border-top:1px solid var(--line)}
/* reveal: a full-bleed violet band with the hero's grain; background-color is the solid fallback (and the contrast baseline) */
.reveal{position:relative;isolation:isolate;background-color:var(--violet-c)}
.reveal::before,.reveal::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:50%;width:100vw;margin-left:-50vw;pointer-events:none}
.reveal::before{background:linear-gradient(135deg,var(--violet-a) 0%,var(--violet-b) 45%,var(--violet-c) 100%)}
.reveal::after{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");background-size:240px 240px;opacity:.35;mix-blend-mode:soft-light}
.yes{padding:0}
.problem>h2,.reveal>h2,.reveal>.deck,.yes>h2{max-width:720px}
.halves{list-style:none;margin:48px 0 0;padding:0}

/* problem on white: the solved half in mist, the unsolved half is the one peach card */
.halves{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:960px}
.halves li{padding:28px 28px 32px;background:var(--card);border-radius:24px;font-size:17px;line-height:1.5;color:var(--text)}
.halves .unsolved{background:var(--peach);color:var(--sienna)}
.halves strong{display:block;margin-bottom:6px;font:480 22px/1.3 var(--sans);letter-spacing:-.009em;color:var(--ink)}
.halves .unsolved strong{color:var(--sienna)}
.halves .mark{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;margin-bottom:16px;border-radius:9999px;background:#fff;font:500 15px/1 var(--sans);color:var(--ink)}
.halves .unsolved .mark{background:var(--sienna);color:var(--peach)}
/* the bill chart: a soft white card, coloured straight lines, pills at the ends */
.bill{max-width:800px;margin:64px 0 0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px}
.bill-head{margin:0 0 12px}
.bill-title{margin:0;font:600 16px/1.4 var(--sans);color:var(--ink)}
.bill-sub{margin:2px 0 0;font-size:13px;line-height:1.5;color:var(--muted)}
.bill-legend{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 16px;padding:0;list-style:none;font-size:13px;line-height:1.5;color:var(--text)}
.bill-legend li{display:inline-flex;align-items:center;gap:7px}
.bill-legend li::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--k)}
.bill-legend .p17,.bill-chart .p17{--k:#c2410c;--pill:#b23a0a}
.bill-legend .p39,.bill-chart .p39{--k:#e8956f;--pill:#b5532a}
.bill-legend .p99,.bill-chart .p99{--k:#a99be6;--pill:#6a58cc}
.bill-legend .flat{--k:#5b3fd0}
.bill-chart{display:block;width:100%;height:auto;overflow:visible}
.bill-narrow{display:none}
.bill-chart text{fill:currentColor;font:430 12px var(--sans);color:var(--muted)}
.bill-chart .grid{stroke:#e9e9ee;stroke-width:1;stroke-dasharray:2 4}
.bill-chart .plan{fill:none;stroke:var(--k);stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.bill-chart .flat{stroke:#5b3fd0;stroke-width:2.5;stroke-linecap:round}
.bill-chart .mk{fill:#fff;stroke:var(--k);stroke-width:1.5}
.bill-chart .flat-mk{stroke:#5b3fd0}
.bill-chart .end-pill rect{fill:var(--pill)}
.bill-chart .end-label{font:600 12.5px var(--sans);color:#fff}
.bill-chart .flat-label{font:500 13px var(--sans);color:#5b3fd0}
.bill figcaption{margin-top:12px}
/* draw-in, once, when the chart scrolls into view (the inline script arms it; no JS or reduced motion = the final state) */
.bill.bill-armed .plan,.bill.bill-armed .flat{stroke-dasharray:1;stroke-dashoffset:1}
.bill.bill-armed .area,.bill.bill-armed .mk,.bill.bill-armed .end-pill,.bill.bill-armed .flat-label{opacity:0}
.bill.bill-armed .mk,.bill.bill-armed .end-pill{transform:scale(.6);transform-box:fill-box;transform-origin:center}
.bill.bill-go .plan,.bill.bill-go .flat{stroke-dashoffset:0;transition:stroke-dashoffset var(--d,.8s) cubic-bezier(.45,0,.2,1) var(--w,0s)}
.bill.bill-go .flat{--d:.5s}
.bill.bill-go .plan.p99{--d:.7s;--w:.1s}
.bill.bill-go .plan.p39{--d:.9s;--w:.2s}
.bill.bill-go .plan.p17{--d:1.2s;--w:.3s}
.bill.bill-go .area{opacity:1;transition:opacity .45s ease-out 1.45s}
.bill.bill-go .mk,.bill.bill-go .end-pill,.bill.bill-go .flat-label{opacity:1;transform:none;transition:opacity .25s ease-out 1.6s,transform .35s cubic-bezier(.3,1.5,.5,1) 1.6s}

/* reveal */
.reveal h2,.reveal h3{color:#fff}
.reveal .mono{color:rgba(255,255,255,.85)}
.reveal>.deck{color:rgba(255,255,255,.9)}
/* reveal chain: one vertical flow. A faint rail runs down the left in segments (dot centre to next dot centre);
   over each segment a glowing fill in the Reel-line gradient (pink → orange → cyan) is uncovered as --chain-progress
   (0..1) grows. Default = fully lit (no JS, reduced motion); the inline script adds .chain-live and drives the number. */
.chain{--chain-progress:1;--rail-x:15px;--dot:14px;--head:13px;--fs:clamp(40px,5vw,60px);--n:4;position:relative;max-width:640px;margin:64px auto 0;padding:0;list-style:none}
.chain .node{position:relative;padding:0 0 44px 52px}
.chain .node:last-child{padding-bottom:0}
.node:nth-child(1){--c:#ff6fb5;--c2:#ff9180}
.node:nth-child(2){--c:#ff9180;--c2:#ffb347}
.node:nth-child(3){--c:#ffb347;--c2:#84d5c8}
.node:nth-child(4){--c:#84d5c8;--c2:#4fe3ff;--next:calc(var(--fs) / 2)}
.node:nth-child(5){--c:#4fe3ff}
.node:not(:last-child)::before,.node:not(:last-child)::after{content:"";position:absolute;top:var(--head);bottom:calc(-1 * var(--next,var(--head)));pointer-events:none}
.node:not(:last-child)::before{left:calc(var(--rail-x) - 1px);width:2px;background:rgba(255,255,255,.18)}
.node:not(:last-child)::after{--seg:clamp(0,calc(var(--chain-progress) * var(--n) - var(--i)),1);left:calc(var(--rail-x) - 1.5px);width:3px;border-radius:3px;background:linear-gradient(var(--c),var(--c2));filter:drop-shadow(0 0 3px var(--c2)) drop-shadow(0 0 9px color-mix(in srgb,var(--c2) 70%,transparent));clip-path:inset(0 -24px calc((1 - var(--seg)) * 100%) -24px)}
.chain .dot{position:absolute;z-index:1;left:calc(var(--rail-x) - var(--dot) / 2);top:calc(var(--head) - var(--dot) / 2);box-sizing:border-box;width:var(--dot);height:var(--dot);border:2px solid rgba(255,255,255,.4);border-radius:50%;background:#5737c4;box-shadow:none;transition:background-color .3s,border-color .3s,box-shadow .3s}
.chain:not(.chain-live) .dot,.chain-live .node.is-lit .dot{border-color:var(--c);background:var(--c);box-shadow:0 0 0 4px color-mix(in srgb,var(--c) 26%,transparent),0 0 18px 2px color-mix(in srgb,var(--c) 65%,transparent)}
.node-final{--dot:24px}
.chain .node-final .dot{top:calc(var(--fs) / 2 - var(--dot) / 2)}
.node-title{display:flex;align-items:baseline;gap:12px}
.node-title .mono{flex:none}
.chain .node>p{margin:8px 0 0;font-size:16px;line-height:1.5;color:rgba(255,255,255,.88)}
.chain .node>.zero{margin:0;font:700 var(--fs)/1 var(--serif);letter-spacing:-.015em;color:#fff;transition:text-shadow .4s}
.chain:not(.chain-live) .zero,.chain-live .node-final.is-lit .zero{text-shadow:0 0 28px rgba(79,227,255,.45),0 0 2px rgba(255,255,255,.35)}
.chain .node>.zero-sub{margin:14px 0 0;font:500 20px/1.35 var(--sans);letter-spacing:-.01em;color:#fff}
.chain .node>.zero-note{margin:6px 0 0;max-width:440px;font-size:15px;color:rgba(255,255,255,.85)}

/* the second form card, after the Reveal: same card as the top one, centred on a white band */
.join-again{padding:80px 0}
.join-again .form-card{max-width:560px;margin:0 auto}

/* yes */
/* proof band title: centred above the video + numbers, on the same sky band */
.proof-band>.proof-title{max-width:760px;margin:0 auto;padding:72px 0 0;font-size:clamp(28px,3vw,40px);line-height:1.2;text-align:center;text-wrap:balance;background:var(--sky);box-shadow:0 0 0 100vmax var(--sky);clip-path:inset(0 -100vmax -1px)}
.proof-title+.numbers{padding-top:48px}
/* numbers band: one centred group, the Reel proof video on the left and its four numbers stacked beside it */
.numbers{display:grid;grid-template-columns:auto minmax(0,auto);justify-content:center;gap:48px;align-items:center;max-width:880px;margin:0 auto;padding:64px 0;background:var(--sky);box-shadow:0 0 0 100vmax var(--sky);clip-path:inset(0 -100vmax)}
.numbers-grid{display:grid;grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none}
.numbers-grid li{padding:22px 0}
.numbers-grid li+li{border-top:1px solid rgba(23,25,28,.14)}
.numbers-grid li:first-child{padding-top:0}
.numbers-grid li:last-child{padding-bottom:0}
.proof{margin:0;display:flex;flex-direction:column;align-items:center}
.proof-video{display:block;height:560px;width:auto;max-width:100%;aspect-ratio:480/1042;object-fit:cover;border-radius:20px;border:1px solid rgba(23,25,28,.14);background:var(--ink)}
.numbers strong{display:block;font:450 clamp(32px,4.4vw,56px)/1.05 var(--sans);letter-spacing:-.035em;color:var(--ink)}
.numbers .mono{display:block;margin-top:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--sky-muted);text-wrap:balance}
/* objections: the h2 and the white card sit on one Mist band */
.yes>h2{margin:0;background:var(--card);box-shadow:0 0 0 100vmax var(--card);clip-path:inset(0 -100vmax)}
.yes>h2{padding-top:80px}
.objections{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);column-gap:48px;margin:48px 0 80px;padding:8px 32px;background:#fff;border-radius:24px;box-shadow:0 0 0 100vmax var(--card);clip-path:inset(-48px -100vmax -80px)}
.objections dt,.objections dd{margin:0;padding:24px 0;border-top:1px solid var(--line)}
.objections dt:first-of-type,.objections dt:first-of-type+dd{border-top:0}
.objections dt{font:480 18px/1.4 var(--sans);letter-spacing:-.009em;color:var(--ink)}
.objections dd{font-size:16px;line-height:1.55;color:var(--text)}
.end{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding:64px 0 80px}
.end-line{margin:0;font:430 22px/1.4 var(--sans);letter-spacing:-.009em;color:var(--ink)}

/* the one action: violet pill (the h1 gradient's first stop) */
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:0 24px;border:0;border-radius:9999px;background:#5b3fd0;color:#fff;font:480 16px/1 var(--sans);text-decoration:none;cursor:pointer;transition:background-color .15s}
.button:hover{background:#4a30b8}
.button span{display:inline-block;transition:transform .15s}
.button:hover span{transform:translateX(3px)}
.button:disabled:hover span{transform:none}


/* privacy: a button in the consent line opens a native dialog */
.link-button{display:inline;margin:0;padding:0;border:0;background:none;font:inherit;line-height:inherit;color:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer;-webkit-appearance:none;appearance:none}
#privacy-dialog{width:min(560px,calc(100% - 32px));max-width:560px;max-height:85vh;margin:auto;padding:0;overflow-y:auto;overscroll-behavior:contain}
#privacy-dialog[open]{animation:dialog-in .15s ease-out}
@keyframes dialog-in{from{opacity:0}}
.dialog-close{position:sticky;top:12px;float:right;margin:12px 12px 0 0;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;padding:0;cursor:pointer;font-size:22px;line-height:1}
.dialog-body{padding:28px 28px 16px}
.dialog-title{margin:0 40px 16px 0}
#privacy-dialog .dialog-body>p:not(.dialog-title){margin:0 0 12px;font-size:15px;line-height:1.6}
#privacy-dialog{border:0;border-radius:24px;background:#fff;color:var(--text);box-shadow:var(--shadow-artifact)}
#privacy-dialog::backdrop{background:rgba(23,25,28,.4)}
.dialog-close{border:0;border-radius:9999px;background:var(--card);color:var(--ink);font-family:var(--sans)}
.dialog-close:hover{background:var(--line)}
.dialog-close:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.dialog-title{font:400 24px/1.25 var(--serif);letter-spacing:-.01em;color:var(--ink)}
#privacy-dialog .dialog-body>p:not(.dialog-title){color:var(--text)}

/* centred heads: problem, reveal and yes h2s, the reveal deck, the halves row and the chart */
.problem>h2,.reveal>h2,.yes>h2{margin-left:auto;margin-right:auto;text-align:center;text-wrap:balance}
.reveal>.deck{margin-left:auto;margin-right:auto;text-align:center;text-wrap:pretty}
.halves{max-width:880px;margin-left:auto;margin-right:auto}
.free-plan{max-width:640px;margin:40px auto 0;text-align:center;font-size:18px;line-height:1.55;color:var(--ink);text-wrap:pretty}
.free-plan strong{font-weight:600;color:var(--sienna)}
.bill{max-width:760px;margin-left:auto;margin-right:auto}
.bill figcaption{text-align:center}

@media(max-width:960px){
/* stacked hero: the copy column dissolves so the demo can sit between the deck and the form card */
.stop{grid-template-columns:minmax(0,1fr);gap:0}
.stop-copy{display:contents}
.stop .callout{order:1;justify-self:start}
.stop h1{order:2}
.stop .deck{order:3}
.stop-media{order:4;justify-content:center;margin-top:32px}
.stop .form-card{order:5;width:100%;margin-top:32px}
}

@media(max-width:760px){
.page{padding:0 16px}
.stop{padding:16px 0 56px}
.stop::before{background:
  linear-gradient(to bottom,rgba(255,255,255,0) 70%,#fff 100%),
  radial-gradient(ellipse 70% 22% at 18% 10%,rgba(217,207,245,.95) 0%,rgba(217,207,245,.55) 38%,rgba(217,207,245,0) 72%),
  radial-gradient(ellipse 65% 20% at 60% 28%,rgba(246,207,224,.9) 0%,rgba(246,207,224,.5) 40%,rgba(246,207,224,0) 74%),
  radial-gradient(ellipse 70% 24% at 85% 52%,rgba(251,195,168,.9) 0%,rgba(251,195,168,.5) 40%,rgba(251,195,168,0) 74%),
  linear-gradient(to bottom,#f7f7f8,#fff)}
.form-card{padding:20px}
.card-title{font-size:17px}
.stop .deck{font-size:16px}
.lead-row input{border:1px solid var(--line);border-radius:16px}
.lead-row .button{border-radius:9999px}
.waitlist-slot{min-height:320px}
.lead-form[data-state=done] .lead-status{grid-template-columns:minmax(0,1fr);justify-items:center;text-align:center}
.lead-form[data-state=done] .lead-status::before{grid-row:auto;margin-bottom:14px}
.problem,.reveal,.join-again{padding:56px 0}
.yes{padding:0}
.halves{grid-template-columns:minmax(0,1fr);margin-top:36px}
.halves{gap:12px}
.chain{margin-top:44px}
.chain .node{padding:0 0 36px 44px}
.chain .node>.zero-sub{font-size:18px}
.halves li{padding:24px 22px 26px}
.bill{margin-top:40px;padding:18px 14px}
.numbers{grid-template-columns:minmax(0,1fr);justify-content:stretch;gap:32px;padding:40px 0}
.proof-video{height:min(480px,calc(100vw * 1042 / 480))}
.numbers-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.numbers-grid li,.numbers-grid li:first-child,.numbers-grid li:last-child{padding:20px 0 20px 16px}
.numbers-grid li+li{border-top:0}
.numbers-grid li:nth-child(even){border-left:1px solid rgba(23,25,28,.14)}
.numbers-grid li:nth-child(odd){padding-left:0}
.numbers-grid li:nth-child(n+3){border-top:1px solid rgba(23,25,28,.14)}
.yes>h2{padding-top:56px}
.proof-band>.proof-title{padding-top:48px;font-size:27px}
.proof-title+.numbers{padding-top:32px}
.objections{grid-template-columns:minmax(0,1fr);margin:36px 0 56px;padding:4px 20px;clip-path:inset(-36px -100vmax -56px)}
.objections dt{padding-bottom:8px}
.objections dd{padding-top:0;border-top:0}
.end{flex-direction:column;align-items:stretch;padding:48px 0 56px}
/* phones: free-standing text is centred; boxes, cards and the reveal chain stay left */
.stop .callout{justify-self:center}
.stop h1,.stop .deck{text-align:center}
.end-line{text-align:center}
.numbers-grid li,.numbers-grid li:nth-child(odd){padding-left:8px;padding-right:8px;text-align:center}
.end-cta{width:100%}
}

@media(max-width:600px){
.bill-wide{display:none}
.bill-narrow{display:block}
}

@media(prefers-reduced-motion:reduce){
*,*::before,*::after{transition:none;scroll-behavior:auto}
.button:hover span{transform:none}
#privacy-dialog[open]{animation:none}
}
