:root{
  --ink:#060509; --paper:#F4F1FA; --mute:rgba(244,241,250,.62); --dim:rgba(244,241,250,.38);
  --pink:#FF8FB1; --lilac:#C59BFF; --peri:#8E9BFF; --blue:#4B55EB; --ice:#CFF4FF;
  --serif:"Fraunces",ui-serif,Georgia,serif; --sans:"Satoshi",ui-sans-serif,system-ui,-apple-system,sans-serif;
  --ease-out:cubic-bezier(.16,1,.3,1); --ease-soft:cubic-bezier(.22,1,.36,1); --ease-in-out:cubic-bezier(.65,0,.35,1);
  --dur-1:.4s; --dur-2:.6s; --dur-3:.9s;
  --pad:clamp(20px,4.4vw,72px);
  --sx:0%;
}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink);color:var(--paper);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{font-family:var(--sans);font-size:17px;line-height:1.5;overflow-x:hidden}
a{color:inherit}
.skip{position:absolute;left:-999px;top:8px;z-index:50;background:var(--paper);color:var(--ink);padding:10px 14px}
.skip:focus{left:8px}

/* nav */
.nav{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:22px var(--pad);pointer-events:none}
.nav>*{pointer-events:auto}
.mark{display:block;width:34px;color:var(--paper);transition:transform var(--dur-2) var(--ease-soft)}
.mark:hover{transform:rotate(-6deg) scale(1.06)}
.mark svg{display:block;width:100%;height:auto}
.chapters{display:flex;gap:28px;font-size:14px;letter-spacing:.01em}
.chapters a{text-decoration:none;color:var(--dim);transition:color var(--dur-1) var(--ease-soft);position:relative;padding:6px 0}
.chapters a:hover{color:var(--mute)}
.chapters a.on{color:var(--paper)}
.chapters a::after{content:"";position:absolute;left:50%;bottom:-2px;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,var(--pink),var(--peri));transform:translateX(-50%) scale(0);transition:transform var(--dur-2) var(--ease-out)}
.chapters a.on::after{transform:translateX(-50%) scale(1)}

/* CTA: liquid fill on hover */
.cta{--h:0;position:relative;display:inline-flex;align-items:center;justify-content:center;gap:10px;height:48px;padding:0 24px;border-radius:14px;
  font:500 15px/1 var(--sans);letter-spacing:.01em;text-decoration:none;color:var(--ink);background:var(--paper);overflow:hidden;isolation:isolate;
  transition:transform var(--dur-2) var(--ease-out)}
.cta::before{content:"";position:absolute;inset:-2px;z-index:-1;background:linear-gradient(100deg,var(--pink),var(--lilac) 35%,var(--peri) 65%,var(--ice));
  transform:translateY(102%);border-radius:40% 40% 0 0/12px 12px 0 0;transition:transform var(--dur-3) var(--ease-out),border-radius var(--dur-3) var(--ease-out)}
.cta:hover::before,.cta:focus-visible::before{transform:translateY(0);border-radius:0}
.cta:active{transform:scale(.97)}
.cta:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.cta-nav{height:42px;padding:0 18px;font-size:14px}
.cta.big{height:58px;padding:0 34px;font-size:17px}

/* stage */
.stage{position:fixed;inset:0;z-index:0}
#gl{display:block;width:100%;height:100%}
/* copy protection over the wall: a soft dark scrim plus a masked blur, so wall tiles never compete with the headline */
.veil.vl,.veil.vr{-webkit-backdrop-filter:blur(14px) saturate(.7);backdrop-filter:blur(14px) saturate(.7)}
.veil.vl{background:linear-gradient(90deg,rgba(6,5,9,.9),rgba(6,5,9,.78) 36%,rgba(6,5,9,.35) 52%,rgba(6,5,9,0) 64%);-webkit-mask-image:linear-gradient(90deg,#000 0,#000 44%,transparent 64%);mask-image:linear-gradient(90deg,#000 0,#000 44%,transparent 64%);opacity:var(--vl,0)}
.veil.vr{background:linear-gradient(270deg,rgba(6,5,9,.9),rgba(6,5,9,.78) 36%,rgba(6,5,9,.35) 52%,rgba(6,5,9,0) 64%);-webkit-mask-image:linear-gradient(270deg,#000 0,#000 44%,transparent 64%);mask-image:linear-gradient(270deg,#000 0,#000 44%,transparent 64%);opacity:var(--vr,0)}
html:not(.in-wallcopy) .veil.vl,html:not(.in-wallcopy) .veil.vr{display:none}
@media (max-width:760px){.veil.vl,.veil.vr{background:linear-gradient(0deg,rgba(6,5,9,.94),rgba(6,5,9,.82) 34%,rgba(6,5,9,.4) 50%,rgba(6,5,9,0) 62%);-webkit-mask-image:linear-gradient(0deg,#000 0,#000 42%,transparent 62%);mask-image:linear-gradient(0deg,#000 0,#000 42%,transparent 62%)}}
.veil{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 70% at 0% 100%,rgba(6,5,9,.55),rgba(6,5,9,0) 60%)}

/* type */
.hl{font-family:var(--serif);font-weight:300;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:clamp(46px,7.4vw,132px);line-height:.96;letter-spacing:-.035em}
.ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.08em}
.ln>span{display:block;will-change:transform}
.iri{background:linear-gradient(100deg,var(--pink),var(--lilac) 22%,var(--peri) 44%,var(--ice) 60%,var(--pink) 78%,var(--lilac));background-size:300% 100%;background-position:var(--sx) 0;
  -webkit-background-clip:text;background-clip:text;color:transparent}
.body{max-width:30ch;font-size:clamp(16px,1.25vw,19px);color:var(--mute);margin-top:26px}
.note{font-size:13px;color:var(--dim);margin-top:14px;max-width:34ch}
.side p{max-width:34ch;color:var(--mute);font-size:clamp(16px,1.2vw,18px)}
.side .cta{margin-top:24px}
.quiet{margin-top:18px;font-size:14px!important;color:var(--dim)!important}
.quiet a{color:var(--mute);text-underline-offset:3px}
.hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);font-size:13px;color:var(--dim);letter-spacing:.02em}
.hint span::after{content:"";display:block;width:6px;height:6px;margin:10px auto 0;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:linear-gradient(135deg,var(--pink),var(--peri));animation:drip 2.4s var(--ease-in-out) infinite}
@keyframes drip{0%{transform:translateY(-6px) rotate(-45deg);opacity:0}30%{opacity:1}100%{transform:translateY(14px) rotate(-45deg);opacity:0}}
.hold{position:absolute;right:var(--pad);top:96px;font-size:13px;color:var(--dim)}
.foot{position:relative;z-index:2;display:flex;justify-content:space-between;gap:20px;padding:22px var(--pad);font-size:12px;color:var(--dim)}

/* film mode: chapters are fixed overlays scrubbed by scroll */
.film .ch{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:flex-end;padding:0 var(--pad) clamp(40px,11vh,120px);pointer-events:none;visibility:hidden}
.film .ch.vis{visibility:visible}
.film .ch.live a,.film .ch.live button{pointer-events:auto}
.film .ch.right{align-items:flex-end;text-align:right}
.film .ch.right .body,.film .ch.right .note{margin-left:auto}
.film .hero{flex-direction:row;align-items:flex-end;justify-content:space-between;gap:40px}
.film .close{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:22px}
.film .close .side{max-width:44ch}
.film .hero .side,.film .close .side{padding-bottom:.6vw}
.film .spacer{height:1000vh}
.film .foot{position:fixed;left:0;right:0;bottom:0;z-index:11;opacity:0;transition:opacity var(--dur-2)}
.film.at-end .foot{opacity:1}
.film .body,.film .note,.film .side,.film .hint,.film .hold{will-change:opacity,transform}

/* static mode (reduced motion / no WebGL2): stacked chapters over rendered stills */
.static .stage{display:none}
.static .ch{position:relative;min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding:120px var(--pad) 12vh;background:var(--ink) center/cover no-repeat}
.static .ch::before{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,5,9,.85),rgba(6,5,9,0) 60%)}
.static .ch>*{position:relative}
.static .hero .side,.static .close .side{margin-top:28px}
.static .hint,.static .hold{display:none}
.static .spacer{display:none}

@media (max-width:760px){
  .chapters{display:none}
  .nav{padding:16px 18px}
  .mark{width:28px}
  .hl{font-size:clamp(34px,10vw,50px);line-height:1}
  .film .ch{padding:0 20px 34px}
  .film .hero,.film .close{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:18px}
  .film .ch.right{align-items:flex-start;text-align:left}
  .film .ch.right .body,.film .ch.right .note{margin-left:0}
  .body{margin-top:16px;font-size:15px}
  .side p{font-size:15px}
  .side .cta{margin-top:18px}
  .hint{display:none}
  .hold{top:74px;right:20px;font-size:12px}
  .foot{font-size:11px;padding:14px 20px}
  .close .hl{font-size:clamp(30px,8.6vw,46px)}
}
.static .ch.right{align-items:flex-end;text-align:right}.static .ch.right .body,.static .ch.right .note{margin-left:auto}@media (max-width:760px){.static .ch.right{align-items:flex-start;text-align:left}.static .ch.right .body,.static .ch.right .note{margin-left:0}}

/* Functional ports: calculator, CTA state and waitlist; v1 art direction unchanged. */
@media (prefers-reduced-motion:reduce){.drift i,.foot__bg i,.lg svg,.foot__bg .lg1,.wm__wave{animation:none!important}.drift i,.foot__bg i{opacity:.7}.wm__liq{transition:none}}

/* calculator modal */
.calc{position:fixed;inset:0;margin:auto;width:min(560px,92vw);max-height:92vh;overflow:auto;padding:38px 38px 32px;color:var(--paper);border:1px solid rgba(207,214,255,.18);border-radius:24px;
  background:linear-gradient(160deg,rgba(32,28,86,.96),rgba(10,12,32,.97) 58%,rgba(18,26,70,.96));box-shadow:0 40px 120px rgba(0,0,0,.6),inset 0 1px 0 rgba(255,255,255,.08)}
.calc::backdrop{background:rgba(4,6,13,.62);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.calc[open]{animation:cin .5s var(--ease-out)}
@keyframes cin{from{opacity:0;transform:translateY(18px) scale(.98)}}
.calc h2{font-family:var(--serif);font-weight:300;font-variation-settings:"SOFT" 100,"opsz" 72;font-size:clamp(30px,3.4vw,42px);letter-spacing:-.025em;line-height:1.05;padding-right:40px}
.calc__intro{margin-top:12px;color:var(--mute);font-size:15.5px;max-width:42ch}
.calc__x{position:absolute;top:18px;right:18px}
.calc__close{appearance:none;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:1px solid rgba(207,214,255,.22);background:rgba(255,255,255,.04);color:var(--paper);cursor:pointer;transition:background var(--dur-1)}
.calc__close:hover{background:rgba(142,155,255,.2)}
.calc__close:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.calc__row{display:flex;justify-content:space-between;align-items:baseline;margin-top:30px;font-size:14px;color:var(--mute)}
.calc__val{font-family:var(--serif);font-weight:300;font-size:30px;color:var(--paper);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.calc input[type=range]{--pct:20%;appearance:none;-webkit-appearance:none;width:100%;height:28px;margin-top:10px;background:transparent;cursor:pointer}
.calc input[type=range]::-webkit-slider-runnable-track{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--lilac),var(--peri),var(--ice)) 0/var(--pct) 100% no-repeat,rgba(244,241,250,.14)}
.calc input[type=range]::-moz-range-track{height:6px;border-radius:6px;background:rgba(244,241,250,.14)}
.calc input[type=range]::-moz-range-progress{height:6px;border-radius:6px;background:linear-gradient(90deg,var(--lilac),var(--peri),var(--ice))}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;border-radius:50%;background:var(--paper);border:0;box-shadow:0 0 0 6px rgba(142,155,255,.22),0 4px 14px rgba(0,0,0,.5)}
.calc input[type=range]::-moz-range-thumb{width:26px;height:26px;border-radius:50%;background:var(--paper);border:0;box-shadow:0 0 0 6px rgba(142,155,255,.22),0 4px 14px rgba(0,0,0,.5)}
.calc input[type=range]:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:8px}
.calc__out{position:relative;margin-top:26px;padding:22px 24px 20px;border-radius:18px;background:rgba(255,255,255,.045);border:1px solid rgba(207,214,255,.14);display:flex;flex-direction:column;gap:4px}
.calc__lbl{font-size:13.5px;color:var(--mute)}
.calc output{font-family:var(--serif);font-weight:300;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:clamp(64px,9vw,92px);line-height:1;letter-spacing:-.04em;
  background:linear-gradient(100deg,var(--lilac),var(--peri) 45%,var(--ice));-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.calc__note{margin-top:16px;font-size:12.5px;line-height:1.5;color:var(--dim)}
.calc__foot{margin-top:26px;padding-top:22px;border-top:1px solid rgba(207,214,255,.12);display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}
.calc__foot p{font-size:15px;color:var(--mute);max-width:24ch}
html.calc-open{overflow:hidden}
@media (max-width:760px){.calc{padding:28px 22px 24px;border-radius:20px}.calc__foot{flex-direction:column;align-items:flex-start}.calc__val{font-size:26px}.calc__tag{position:static;align-self:flex-start;margin-top:6px}}

/* v4 tuning */
.lg .lg1{color:rgba(132,112,255,.075)}
.lg .lg2{color:rgba(150,225,255,.05)}
.foot{padding-top:46px}
.foot__bg{background:linear-gradient(0deg,rgba(22,20,70,.98),rgba(18,18,58,.96) 50%,rgba(4,6,13,0))}
@media (max-width:760px){
  .foot{padding-top:60px}
  .foot__bg{inset:-36px 0 0 0;background:linear-gradient(0deg,rgba(30,24,92,.98),rgba(20,20,66,.95) 62%,rgba(18,18,58,.25) 86%,rgba(4,6,13,0))}
  .film .close .quiet{display:none}
  .veil.vc{background:linear-gradient(180deg,rgba(4,6,13,.86) 0,rgba(4,6,13,.82) 46%,rgba(4,6,13,.45) 62%,rgba(4,6,13,.2) 100%)}
}

/* ===== v4: CTA mode, shared bits ===== */
button.cta{border:0;cursor:pointer;-webkit-appearance:none;appearance:none}
.sr{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.acts{display:flex;flex-direction:column;align-items:flex-start;gap:0}
.acts .cta{margin-top:0}
.promise{margin-top:12px;font-size:14.5px!important;line-height:1.4;color:var(--mute)!important;max-width:34ch}
.talk{display:inline-block;margin-top:12px;font-size:14px;line-height:1.3;color:var(--mute);text-decoration:underline;text-decoration-color:rgba(244,241,250,.35);text-underline-offset:4px;text-decoration-thickness:1px;transition:color var(--dur-1) var(--ease-soft),text-decoration-color var(--dur-1)}
.talk:hover,.talk:focus-visible{color:var(--paper);text-decoration-color:var(--ice)}
.talk:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:3px}
.talk span{display:inline-block;transition:transform var(--dur-2) var(--ease-out)}
.talk:hover span{transform:translateX(3px)}
.talk--lg{font-size:clamp(18px,1.6vw,22px);color:var(--paper);margin-top:10px}
.confirm{border-bottom:1px dashed rgba(244,241,250,.45);color:var(--mute)}
.film .ch.live .acts>*{pointer-events:auto}
.side .acts{margin-top:24px}.side .acts .cta{margin-top:0}
.close .acts{margin-top:30px}
.close .quiet{margin-top:20px}
@media (max-width:760px){.side .acts{margin-top:16px}.promise{font-size:14px!important;max-width:30ch}.close .acts{margin-top:22px}}
.more{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center}
.more .cta{height:48px}
@media (max-width:760px){.more .cta{height:42px;font-size:14px}}
/* in call mode the old placement of the single #book anchor stays a filled .cta.big */

/* ===== v4: calculator pieces ===== */
.calc__ticks{position:relative;height:30px;margin:2px 13px 0}
.calc__ticks button{position:absolute;top:2px;transform:translateX(-50%);appearance:none;background:none;border:0;color:var(--dim);font:500 12px/1 var(--sans);padding:8px 2px;cursor:pointer;transition:color var(--dur-1);white-space:nowrap}
.calc__ticks button:first-child{transform:translateX(-13px)}
.calc__ticks button:last-child{transform:translateX(calc(-100% + 13px))}
.calc__ticks button:hover,.calc__ticks button.on{color:var(--paper)}
.calc__big{display:flex;flex-direction:column;gap:6px;margin-top:2px}
.calc__unit{font-size:16px;color:var(--mute)}
.calc__hint{font-size:13.5px;color:var(--ice);margin-bottom:6px}
.calc__note--2{margin-top:8px}
.calc__foot{display:block}
.calc__foot p{max-width:none;margin-bottom:14px}
.calc__foot .acts .promise,.calc__foot .talk{margin-top:10px}
@media (max-width:760px){.calc__ticks button{font-size:10.5px;padding:8px 0}.calc__ticks{margin:2px 13px 0}}

/* ===== v4: waitlist dialog (split editorial: form | liquid panel) ===== */
.wl{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;padding:0;border:0;color:var(--paper);background:var(--ink);overflow:auto;overscroll-behavior:contain}
.wl::backdrop{background:var(--ink)}
.wl[open]{animation:wlin .55s var(--ease-out)}
@keyframes wlin{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
html.wl-open{overflow:hidden}
.wl__bg{position:fixed;inset:0;pointer-events:none;overflow:hidden;background:radial-gradient(120% 90% at 85% 110%,rgba(46,40,140,.55),rgba(4,6,13,0) 60%),radial-gradient(90% 70% at 0% 0%,rgba(30,34,110,.45),rgba(4,6,13,0) 62%)}
.wl__bg i{position:absolute;display:block;width:70vmax;height:70vmax;border-radius:50%;opacity:0;mix-blend-mode:screen;will-change:opacity,transform}
.wl__bg .d1{background:radial-gradient(closest-side,rgba(112,84,255,.30),rgba(112,84,255,0));left:-20vmax;top:-22vmax;animation:dr1 34s ease-in-out infinite alternate,fa 34s ease-in-out infinite}
.wl__bg .d2{background:radial-gradient(closest-side,rgba(64,120,255,.26),rgba(64,120,255,0));right:-24vmax;bottom:-30vmax;animation:dr2 41s ease-in-out infinite alternate,fb 41s ease-in-out infinite}
.wl__bg .lg1{position:absolute;display:block;height:120vh;width:auto;aspect-ratio:380/525;right:-6vw;top:-8vh;color:rgba(140,120,255,.055);filter:blur(8px);mix-blend-mode:screen}
.wl__mark{width:30px;height:auto;color:var(--paper);display:block}
.wl__name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.wl__x{appearance:none;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;border:0;background:rgba(244,241,250,.08);color:var(--paper);cursor:pointer;transition:background var(--dur-1)}
.wl__x:hover{background:rgba(142,155,255,.26)}
.wl__x:focus-visible,.wl__back:focus-visible,.wl__opt input:focus-visible+span,.wl__in:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.wl__top{position:sticky;top:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(20px,3.4vw,48px);background:linear-gradient(180deg,rgba(4,6,13,.96) 55%,rgba(4,6,13,0))}
.wl__x:focus-visible,.wl__back:focus-visible,.wl__opt input:focus-visible+span,.wl__in:focus-visible{outline:2px solid var(--ice);outline-offset:3px}
.wl__grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);min-height:100dvh;margin-top:-78px;align-items:stretch}
.wl__main{position:relative;display:flex;flex-direction:column;padding:calc(78px + clamp(8px,2vh,28px)) clamp(24px,5vw,84px) 48px clamp(20px,3.4vw,48px);max-width:860px;margin-left:auto;width:100%}
.wl__meta{display:flex;align-items:center;gap:18px;margin-bottom:clamp(18px,3.4vh,34px)}
.wl__time{font:500 12.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--ice);white-space:nowrap}
.wl__prog{display:flex;gap:6px;flex:1;max-width:300px}
.wl__prog i{flex:1;height:3px;background:rgba(244,241,250,.14);overflow:hidden;position:relative}
.wl__prog i::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--lilac),var(--peri),var(--ice));transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease-out)}
.wl__prog i.done::after{transform:scaleX(1)}.wl__prog i.now::after{transform:scaleX(.5)}
.wl__meta[hidden]{display:none}
.wl__form,.wl__done{position:relative;flex:1;display:flex;flex-direction:column}
.wl__form[hidden],.wl__done[hidden],.wl__screen[hidden]{display:none}
.wl__screens{flex:1}
.wl__screen{border:0;min-width:0;padding:0;margin:0}
.wl__screen.in-fwd{animation:wlf .5s var(--ease-out)}
.wl__screen.in-back{animation:wlb .5s var(--ease-out)}
@keyframes wlf{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes wlb{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
.wl__q{display:block;width:100%;padding:0;font-family:var(--serif);font-weight:300;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:clamp(34px,3.7vw,56px);line-height:1.04;letter-spacing:-.03em;text-wrap:balance;color:var(--paper)}
.wl__help{margin-top:8px;font-size:14px;line-height:1.45;color:var(--mute);max-width:52ch}
.wl__help--lead{margin-top:14px;font-size:16.5px;max-width:48ch}
.wl__fields{margin-top:clamp(22px,4vh,40px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 18px}
.wl__field{grid-column:1/-1;min-width:0}
.wl__field.half{grid-column:auto}
/* field recipe: mono caps labels, crisp corners, ring on focus */
.wl__label{display:block;margin:0 0 9px;font:500 12px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:rgba(244,241,250,.72)}
.wl__label i{font-style:normal;color:var(--dim);margin-left:8px;letter-spacing:.1em}
.wl__in{display:block;width:100%;height:54px;padding:0 16px;border-radius:2px;border:1px solid rgba(244,241,250,.2);background:rgba(244,241,250,.05);color:var(--paper);font:400 17px/1 var(--sans);transition:border-color .15s,box-shadow .15s,background .15s;-webkit-appearance:none;appearance:none}
.wl__in::placeholder{color:rgba(244,241,250,.3)}
.wl__in:hover{border-color:rgba(244,241,250,.36)}
.wl__in:focus{outline:none;border-color:var(--ice);background:rgba(244,241,250,.09);box-shadow:0 0 0 3px rgba(142,155,255,.28)}
.wl__field.bad .wl__in{border-color:var(--lilac);background:rgba(197,155,255,.1)}
.wl__fe{margin-top:8px;font-size:14px;line-height:1.35;color:var(--lilac)}
.wl__fe:empty{display:none}
.wl__fe::before{content:"";}
.wl__soft{margin-top:8px;font-size:13.5px;color:var(--ice)}
.wl__opts{display:flex;flex-wrap:wrap;gap:8px}
.wl__opt{position:relative;display:block;cursor:pointer}
.wl__opt input{position:absolute;z-index:1;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.wl__opt span{display:flex;align-items:center;min-height:44px;padding:9px 16px;border-radius:2px;border:1px solid rgba(244,241,250,.2);background:rgba(244,241,250,.05);font-size:15.5px;line-height:1.2;transition:background .15s,color .15s,border-color .15s,transform .12s}
.wl__opt:hover span{border-color:rgba(244,241,250,.42);background:rgba(244,241,250,.1)}
.wl__opt input:checked+span{background:var(--paper);color:var(--ink);border-color:var(--paper)}
.wl__opt input:active+span{transform:scale(.98)}
.wl__field.bad .wl__opt span{border-color:var(--lilac)}
.wl__other{margin-top:10px}
.wl__pre{color:var(--ice);margin-top:10px}
.wl__field>.wl__help{margin-top:10px}
.wl__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.wl__err{position:relative;font-size:15px;color:var(--lilac);margin-top:18px}
.wl__err:empty{display:none}
.wl__nav{position:sticky;bottom:0;z-index:3;display:flex;align-items:center;gap:16px;margin-top:30px;padding:14px 0}
.wl__back{appearance:none;background:none;border:0;color:var(--mute);font:500 15px/1 var(--sans);padding:14px 4px;cursor:pointer;text-decoration:underline;text-decoration-color:rgba(244,241,250,.3);text-underline-offset:5px}
.wl__back:hover{color:var(--paper)}
.wl__enter{margin-left:auto;font-size:13px;color:var(--dim)}
.wl__enter kbd{font:inherit;font-family:var(--mono);padding:2px 7px;border-radius:2px;border:1px solid rgba(244,241,250,.22);color:var(--mute)}
.wl__nav .cta{height:54px;padding:0 32px;font-size:16px;border-radius:2px}
.wl__nav .cta[hidden]{display:none}
.wl__privacy{margin-top:6px;font-size:13px;line-height:1.5;color:var(--dim);max-width:56ch}
.wl__privacy a{color:var(--mute);text-underline-offset:3px}
.wl__done{justify-content:center}
.wl__lead{margin-top:22px;font-size:clamp(17px,1.4vw,19px);line-height:1.5;color:var(--mute);max-width:46ch;text-wrap:pretty}
.wl__lead b{color:var(--paper);font-weight:500;word-break:break-word}
.wl__talk{margin-top:30px;max-width:46ch}
.wl__talk-sub{margin-top:10px;font-size:14.5px;color:var(--mute)}
.wl__done .linkbtn{align-self:flex-start;margin-top:30px}
/* right panel: liquid + logo, promise line, no proof or claims */
.wl__side{position:relative;overflow:hidden;display:flex;align-items:flex-end;padding:clamp(28px,4vw,64px);background:linear-gradient(160deg,#2a1d86 0%,#2b3fd0 46%,#4aa4ff 100%);background-size:160% 160%;animation:wlhue 26s ease-in-out infinite alternate;isolation:isolate}
.wl__side::after{content:"";position:absolute;inset:0;z-index:-1;background:radial-gradient(60% 50% at 30% 18%,rgba(207,244,255,.35),rgba(207,244,255,0) 70%),radial-gradient(50% 40% at 85% 55%,rgba(197,155,255,.4),rgba(197,155,255,0) 70%)}
.wl__art{position:absolute;inset:0;z-index:-1}
.wl__promise{position:relative;max-width:14ch;font-family:var(--serif);font-weight:300;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:clamp(30px,3.2vw,50px);line-height:1.06;letter-spacing:-.03em;color:var(--paper);text-wrap:balance;text-shadow:0 2px 30px rgba(10,10,60,.35)}
.wl__promise span+span{display:block;margin-top:.5em;font-family:var(--sans);font-weight:400;font-variation-settings:normal;font-size:clamp(15px,1.15vw,18px);letter-spacing:0;line-height:1.4;max-width:30ch;color:rgba(244,241,250,.88)}
.wl__promise .promise__lim+span{margin-top:.6em}
@media (max-width:900px){
  .wl__grid{grid-template-columns:1fr;min-height:0;margin-top:0}
  .wl__side{order:-1;min-height:0;padding:16px 20px;align-items:center}
      .wl__promise{max-width:none;font-family:var(--sans);font-weight:500;font-variation-settings:normal;font-size:15px;letter-spacing:0;line-height:1.35}
  .wl__promise span+span{display:inline;margin:0;font-size:15px;color:var(--paper);max-width:none}
  .wl__main{max-width:none;padding:22px 20px 24px}
  .wl__top{padding:14px 20px 10px}
}
@media (max-width:620px){
  .wl__fields{grid-template-columns:1fr;gap:20px}
  .wl__field.half{grid-column:1/-1}
  .wl__q{font-size:clamp(30px,9vw,38px)}
  .wl__in{height:52px;font-size:16px}
  .wl__opt span{min-height:44px;font-size:15px;padding:9px 13px}
  .wl__enter{display:none}
  .wl__nav{margin:14px -20px 0;padding:12px 20px calc(12px + env(safe-area-inset-bottom));background:linear-gradient(0deg,var(--ink) 72%,rgba(4,6,13,0))}
  .wl__nav .cta{flex:1}
  .wl__meta{margin-bottom:16px}
}
@media (prefers-reduced-motion:reduce){.wl[open],.wl__screen.in-fwd,.wl__screen.in-back,.wl__side{animation:none}.wl__bg i{animation:none!important;opacity:.7}.wl__prog i::after{transition:none}}

/* ===== v5: calculator stepped slider ===== */
.calc__ticks button.t-lg{display:block}
@media (max-width:760px){.calc__ticks button.t-lg{display:none}}
.calc__note--x{margin-top:8px;color:var(--ice);opacity:.85}
.calc__note--x[hidden]{display:none}/* v6: v1 film retained; brand-specific additions, not v5 visual experiments. */
:root{--mono:var(--sans);--mute:rgba(244,241,250,.82);--dim:rgba(244,241,250,.60)}
button{font-family:inherit}.cta{border-radius:100px}.linkbtn{appearance:none;border:0;background:none;color:var(--paper);font:500 16px/1.4 var(--sans);cursor:pointer;padding:8px 0;text-decoration:underline;text-underline-offset:6px}.linkbtn:hover{color:var(--ice)}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.film .hero{gap:4vw;padding-bottom:9vh}.hero .hl{font-size:clamp(48px,6.4vw,112px)}.hero .side{max-width:40ch}.hero .sub{display:flex;flex-direction:column;gap:10px}.hero .sub span{display:block}.hero .quiet{max-width:44ch;font-size:13px!important}.hero .hint{bottom:24px}
.film .ch{transition:visibility 0s}.film .spacer{height:1320vh}.film .ch .hl{max-width:90vw}.film #pour .hl{font-size:clamp(44px,6.3vw,100px)}
.research{display:flex;flex-direction:column;gap:16px}.research__cycle{display:block;min-height:2.4em;max-width:22ch;color:var(--ice);font:300 clamp(22px,1.9vw,28px)/1.2 var(--serif);letter-spacing:-.015em}.research>span:last-child{max-width:31ch}
.foot{display:block;padding:22px var(--pad);background:var(--ink)}.foot__row{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:14px;color:var(--mute)}.foot__row a{text-decoration:none}.film .foot{pointer-events:none;visibility:hidden}.film.at-end .foot{visibility:visible;pointer-events:auto}.film .close{padding-bottom:calc(var(--foot-h,200px) + 30px);gap:16px}.film .close .hl{font-size:clamp(40px,5.8vw,90px)}.film .close .side{max-width:50ch}.close .quiet{display:none}.close .acts{margin-top:18px}.close .body{margin-top:0}
.static .diagnosis{min-height:70svh}
@media(max-width:760px){
 .film .hero{padding:0 20px 26px;gap:16px}.hero .hl{font-size:10.2vw}.hero .side{max-width:36ch}.hero .sub{gap:8px}.side .sub{font-size:15px;line-height:1.4}.hero .promise{font-size:13px!important}.hero .quiet{font-size:11.5px!important;margin-top:12px}.hero .talk{margin-top:10px}.hero .acts{margin-top:16px}.hero .hl .ln{overflow:visible}
 .film .ch .hl{max-width:100%}.film #pour .hl{font-size:8.7vw}.film #squeeze .hl{font-size:8.7vw}.body{font-size:16px;max-width:33ch}.note{font-size:12px}
 .foot{padding:18px 20px;gap:20px}.foot__row{display:flex;flex-direction:column;align-items:flex-start;gap:6px;font-size:12px}.film .close{padding-bottom:calc(var(--foot-h,180px) + 24px);gap:18px}.film .close .hl{font-size:9.3vw}.film .close .body{font-size:15px}.film .close .cta.big{height:50px;padding:0 26px;font-size:16px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.film .close{background:linear-gradient(0deg,rgba(6,5,9,.7),rgba(6,5,9,0) 80%)}
@media(max-width:760px){.film .close{background:linear-gradient(0deg,rgba(6,5,9,.94),rgba(6,5,9,.76) 54%,rgba(6,5,9,0) 83%)}.hero .hl{position:relative}.hero .hl::before{content:'';position:absolute;left:0;bottom:calc(100% + 18px);width:28px;height:32px;background:url('assets/logo-mark.svg') center/contain no-repeat;opacity:.18}}
@media(max-width:760px){.hero .quiet,.foot__row,.note,.hooks__foot .note{font-size:13px!important}.hero .hl::before{display:none}.film .hero{padding-bottom:22px;gap:14px}.hero .quiet{line-height:1.35}}
/* pt47: one continuous film, no formats shelf. */
.film .diagnosis{justify-content:center;background:linear-gradient(90deg,rgba(6,5,9,.97),rgba(6,5,9,.85) 49%,rgba(6,5,9,.18));padding-top:96px}
.diagnosis__copy{width:min(910px,72vw);display:flex;flex-direction:column;gap:34px}
.diagnosis__beat{font-family:var(--serif);font-weight:300;font-variation-settings:"SOFT" 100,"opsz" 144;font-size:clamp(38px,4.35vw,66px);letter-spacing:-.035em;line-height:1.08;text-wrap:balance;max-width:26ch;color:var(--paper)}
.diagnosis__beat--second{font-size:clamp(34px,3.6vw,54px);color:#BCC3FF;max-width:27ch;padding-left:5vw}

.film .hooks{justify-content:center;gap:0;padding-top:94px;padding-bottom:34px;background:linear-gradient(180deg,rgba(6,5,9,.74),rgba(6,5,9,.48) 36%,rgba(6,5,9,.56) 76%,rgba(6,5,9,.72));isolation:isolate}
.hooks::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(125deg,transparent 10%,rgba(207,244,255,.04),transparent 70%)}
.hooks .hl{font-size:clamp(34px,4.3vw,72px);line-height:1.02;position:relative;z-index:1;flex-shrink:0}
.hooks__foot{width:100%;display:flex;justify-content:space-between;align-items:flex-end;gap:36px;max-width:none;flex-shrink:0}.hooks__foot .body{margin:0;max-width:46ch;font-size:16px}.hooks__foot .note{margin:0;max-width:32ch;font-size:13px}
.static .hooks{background:radial-gradient(ellipse at 80% 50%,rgba(75,85,235,.2),transparent),#080710;isolation:isolate}.static .hooks::before{display:none}.static .diagnosis__copy{position:relative}
/* Accessible native modal contains the official inline Cal embed. */




html
@media(max-width:760px){
 .film .diagnosis{padding:94px 24px 36px;justify-content:center;background:linear-gradient(0deg,rgba(6,5,9,.94),rgba(6,5,9,.84) 65%,rgba(6,5,9,.45))}
 .diagnosis__copy{width:100%;gap:28px}.diagnosis__beat{font-size:clamp(28px,8.2vw,36px);line-height:1.1;max-width:24ch}.diagnosis__beat--second{font-size:clamp(26px,7.5vw,32px);max-width:25ch;padding-left:16px;line-height:1.14}
 .film .hooks{justify-content:flex-start;padding:96px 20px 24px}.hooks .hl{font-size:6.55vw;line-height:1.06;white-space:nowrap}.hooks__foot{display:block;margin-top:auto;max-width:100%;padding:0}.hooks__foot .body{font-size:15px;line-height:1.45;max-width:none}.hooks__foot .note{font-size:13px;line-height:1.4;max-width:none;margin-top:10px}
 .foot{gap:0}
}
@media(max-height:740px) and (max-width:760px){.film .hooks{padding-top:82px;padding-bottom:18px}.hooks__foot .body{font-size:14px}.hooks__foot .note{font-size:12px;margin-top:6px}}
/* Locked Copy Bot authority chapter, with the spend claim visibly flagged in source. */
#taste .hl{font-size:clamp(38px,5.6vw,86px);line-height:1.03}
@media(max-width:760px){#taste .hl{font-size:6.25vw;line-height:1.08}#taste .ln{white-space:nowrap}.diagnosis__beat--second{font-size:clamp(26px,7.2vw,30px);max-width:26ch}}

/* pt49: glass hooks are an overlay on the original uninterrupted camera film. */
.film .foot{gap:0}

/* ---------- concept tree (Nov 10): 1 concept -> 2 variations -> 3 hooks each ---------- */
.tree{--g:1;position:relative;width:min(1180px,100%);align-self:center;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,2.5fr);column-gap:clamp(40px,5vw,84px);align-items:center;margin:clamp(22px,3.4vh,40px) 0 clamp(18px,3vh,34px)}
.tree ul{list-style:none;margin:0;padding:0}
.tree__wires{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.tree__wires path{fill:none;stroke:url(#treeWire);stroke-width:1.1;stroke-linecap:round;vector-effect:non-scaling-stroke}
.tree__wires circle{fill:#CFF4FF;filter:drop-shadow(0 0 5px rgba(142,155,255,.9))}
.tree__card{position:relative;z-index:1;border-radius:18px;background:linear-gradient(140deg,rgba(60,58,100,.80),rgba(24,22,44,.80) 52%,rgba(58,66,134,.72));box-shadow:inset 0 1px 0 rgba(220,233,255,.26),inset 0 -1px 0 rgba(142,155,255,.12),0 24px 60px rgba(0,0,0,.28);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);isolation:isolate}
.tree__card::before{content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(207,244,255,.09) 50%,transparent 70%);z-index:-1}
.tree__concept{padding:26px 26px 28px}
.tree__eyebrow{margin:0 0 12px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--ice)}
.tree__title{margin:0;font:300 clamp(24px,2.1vw,34px)/1.08 var(--serif);font-variation-settings:"SOFT" 100,"opsz" 144;letter-spacing:-.025em;color:var(--paper);text-wrap:balance}
.tree__vars{display:grid;gap:clamp(18px,3vh,30px)}
.tree__branch{display:grid;grid-template-columns:minmax(0,.86fr) minmax(0,1.55fr);column-gap:clamp(40px,5vw,84px);align-items:center}
.tree__var{padding:16px 18px}
.tree__label{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:6px 9px;font-size:15px;line-height:1.25;color:var(--paper)}
.tree__sep{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.tree__key{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;font:400 15px/1 var(--serif);color:#0b0a14;background:linear-gradient(135deg,#CFF4FF,#8E9BFF 60%,#C59BFF)}
.tree__persona{font-weight:500}
.tree__aware{flex-basis:100%;margin-left:35px;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--mute)}
.tree__hooks{display:grid;gap:8px}
.tree__hook{position:relative;z-index:1;display:flex;align-items:baseline;gap:14px;padding:12px 16px;border-radius:14px;font-size:clamp(14px,1.08vw,16px);line-height:1.35;color:var(--paper);background:linear-gradient(140deg,rgba(50,48,86,.74),rgba(22,20,40,.74));box-shadow:inset 0 1px 0 rgba(220,233,255,.18);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.tree__n{flex-shrink:0;min-width:20px;font-size:11px;letter-spacing:.08em;color:var(--ice);opacity:.8}
.static .tree__card,.static .tree__hook{backdrop-filter:none;-webkit-backdrop-filter:none}
@media(max-width:760px){
 .tree{grid-template-columns:minmax(0,1fr);row-gap:12px;margin:22px 0 18px;width:100%;align-self:stretch}
 .tree__wires{display:none}
 .tree__concept{padding:14px 16px}.tree__eyebrow{font-size:10.5px;margin-bottom:6px}.tree__title{font-size:21px}
 .tree__vars{gap:12px}
 .tree__branch{grid-template-columns:minmax(0,1fr);row-gap:6px;padding-left:14px;border-left:1px solid rgba(142,155,255,.45)}
 .tree__var{padding:0;background:none;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.tree__var::before{display:none}
 .tree__label{font-size:14px;gap:4px 8px}.tree__key{width:22px;height:22px;font-size:13px}.tree__aware{flex-basis:auto;margin-left:0;font-size:10.5px}
 .tree__hooks{gap:5px}.tree__hook{padding:8px 12px;font-size:13.5px;border-radius:11px;gap:10px}.tree__n{font-size:10px}
}
@media(max-height:740px) and (max-width:760px){.tree{margin:14px 0 12px;row-gap:9px}.tree__title{font-size:19px}.tree__hook{padding:6px 11px;font-size:13px}.tree__vars{gap:9px}}

/* ---------- waitlist side panel (Nov 10): crisp vector mark in a refracting glass drop ---------- */
.wl__side{background:radial-gradient(120% 90% at 50% 38%,#191637 0%,#0d0b1c 55%,#08070f 100%);animation:none}
.wl__side::after{background:radial-gradient(48% 36% at 50% 40%,rgba(75,85,235,.30),rgba(75,85,235,0) 72%),radial-gradient(30% 22% at 62% 30%,rgba(197,155,255,.16),rgba(197,155,255,0) 70%)}
.wl__art{display:grid;place-items:center;padding-bottom:12%}
.wl__drop{position:relative;width:min(62%,340px);aspect-ratio:380/470;display:grid;place-items:center}
.wl__lens{position:absolute;inset:0;border-radius:50% 50% 50% 50%/58% 58% 42% 42%;background:radial-gradient(70% 60% at 34% 26%,rgba(255,255,255,.16),rgba(255,255,255,0) 46%),radial-gradient(90% 80% at 50% 62%,rgba(75,85,235,.20),rgba(20,18,40,.10) 70%);box-shadow:inset 0 1px 1px rgba(255,255,255,.35),inset 0 -18px 40px rgba(142,155,255,.18),inset 10px 0 30px rgba(207,244,255,.06),0 40px 90px rgba(0,0,0,.45);animation:wlbreath 5.2s ease-in-out infinite}
.wl__lens::after{content:'';position:absolute;left:22%;top:12%;width:20%;height:9%;border-radius:50%;background:rgba(255,255,255,.22);filter:blur(4px);transform:rotate(-22deg)}
.wl__crest{position:relative;width:56%;height:auto;aspect-ratio:380/525;overflow:visible}
.wl__crest .wl__sheen{fill:url(#wlSheen)}
.wl__crest #wlSheenMove{transform-box:fill-box;animation:wlsheen 7.5s cubic-bezier(.45,0,.2,1) infinite}
@keyframes wlsheen{0%{transform:translateX(-140%)}55%,100%{transform:translateX(140%)}}
@keyframes wlbreath{0%,100%{box-shadow:inset 0 1px 1px rgba(255,255,255,.35),inset 0 -18px 40px rgba(142,155,255,.14),inset 10px 0 30px rgba(207,244,255,.05),0 40px 90px rgba(0,0,0,.45)}50%{box-shadow:inset 0 1px 1px rgba(255,255,255,.42),inset 0 -22px 54px rgba(142,155,255,.30),inset 10px 0 34px rgba(207,244,255,.10),0 40px 90px rgba(0,0,0,.45),0 0 70px rgba(75,85,235,.22)}}
@media(max-width:900px){.wl__art{padding-bottom:0;justify-items:end;padding-right:6%}.wl__drop{width:64px}.wl__lens::after{display:none}}
@media(prefers-reduced-motion:reduce){.wl__lens,.wl__crest #wlSheenMove{transform-box:fill-box;animation:none}}
/* Nov 12: footer privacy link */
.foot__end{display:flex;align-items:center;gap:22px}.foot__end a{color:var(--mute);text-decoration:none}.foot__end a:hover{color:var(--paper);text-decoration:underline;text-underline-offset:3px}
.wl__privacy[hidden]{display:block}
