:root{color-scheme:light dark;--bg:#FFFAF2;--text:#3B302B;--muted:#74645a;--line:#d8c9bc;--button:#864332;--button-text:#fffaf2;font-family:ui-rounded,"SF Pro Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--bg);color:var(--text)}
*{box-sizing:border-box}body{margin:0}a{color:inherit}button,input{font:inherit}button,a,input,label{-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}.page{width:min(100%,650px);min-height:100svh;margin:auto;padding:24px 24px 16px;display:flex;flex-direction:column;justify-content:center;gap:25px}.brand{display:flex;align-items:center;justify-content:center;gap:11px;font-size:29px;font-weight:800;letter-spacing:-1.3px;text-decoration:none}.brand span{font-size:10px;letter-spacing:2.2px;font-weight:650;border-left:1px solid var(--line);padding-left:12px}form{display:flex;flex-direction:column}.companions{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column}.companions legend{float:left;width:100%;text-align:center;font-size:13px;font-weight:600;margin:0 0 12px}.portrait-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.companion{position:relative;cursor:pointer;min-width:0;--accent:#B95443}.leo{--accent:#9B6019}.elo{--accent:#5F6B70}.woo{--accent:#2F6F73}.companion input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.portrait{display:block;background:#FFFAF2;border-radius:22px;overflow:hidden;outline:2px solid transparent;outline-offset:3px;transition:outline-color .15s,transform .15s}.portrait img{display:block;width:100%;height:auto}.name{display:block;text-align:center;font-size:13px;font-weight:650;padding-top:9px;color:var(--muted)}.companion input:checked+.portrait{outline:3px solid var(--accent)}.companion input:checked~.name{color:var(--accent)}.companion input:focus-visible+.portrait{outline:3px solid var(--accent);box-shadow:0 0 0 7px var(--bg),0 0 0 9px var(--text)}.companion:hover .portrait{transform:translateY(-2px)}.intro{text-align:center;margin:24px auto 22px;max-width:540px}h1{font-size:clamp(25px,4.8vw,34px);line-height:1.16;letter-spacing:-1px;margin:0;font-weight:750;text-wrap:balance}h1 span{font-weight:500}.sub{font-size:15px;line-height:1.6;color:var(--muted);margin:15px 0 0;text-wrap:pretty}.signup-fields{width:100%;max-width:510px;margin:auto}.signup-fields>label{display:block;font-size:12px;font-weight:650;margin-bottom:7px}.email-row{display:flex;gap:8px}input[type=email]{min-width:0;width:100%;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--text);padding:14px 13px;font-size:16px}input::placeholder{color:var(--muted)}button{flex-shrink:0;padding:14px 17px;border:0;border-radius:12px;font-size:14px;font-weight:650;cursor:pointer;background:var(--button);color:var(--button-text);min-height:48px}button:hover{filter:brightness(1.12)}button:disabled{opacity:.65;cursor:wait}:is(button,a,input[type=email]):focus-visible{outline:3px solid var(--text);outline-offset:3px}.promise{font-size:11px;line-height:1.5;text-align:center;color:var(--muted);margin:11px 0 0}.error{font-size:14px;text-align:center;color:var(--text);line-height:1.5;margin:12px 0 0}footer{text-align:center;font-size:11px;color:var(--muted);line-height:1.6}footer a{text-underline-offset:3px}footer span{margin:0 4px}#success{text-align:center;outline:none}#success .portrait-grid{max-width:520px;margin:15px auto 30px}#success .portrait-grid.single{grid-template-columns:1fr;max-width:180px}.privacy{max-width:650px;justify-content:flex-start;padding-top:35px;gap:30px}.privacy article h1{font-size:30px}.privacy article h2{font-size:18px;margin:25px 0 8px}.privacy article p{font-size:15px;line-height:1.7;margin:8px 0}.privacy footer{margin-top:auto}
@media(max-width:480px){.page{padding:20px 20px 14px;gap:22px}.portrait-grid{gap:9px}.portrait{border-radius:16px}.email-row{flex-direction:column;gap:9px}.intro{margin:23px auto 21px}.sub{font-size:14px;line-height:1.55}.promise{font-size:10px}button{width:100%}}
@media(max-height:680px){.page{gap:15px;padding-top:14px}.brand{font-size:24px}.intro{margin-top:18px;margin-bottom:17px}.sub{margin-top:12px}.companions legend{margin-bottom:9px}}
@media(prefers-color-scheme:dark){:root{--bg:#3B302B;--text:#FFFAF2;--muted:#d2c3b6;--line:#8e7c70;--button:#edbe9f;--button-text:#3B302B}.companion input:checked~.name{color:var(--text)}}
@media(prefers-reduced-motion:reduce){.portrait{transition:none}.companion:hover .portrait{transform:none}}

/* Static three-beat story is the default, including without GSAP. */
.waitlist-page{width:min(100%,1128px);justify-content:flex-start;padding-inline:16px}
.waitlist-page>.brand,.waitlist-page>#signup,.waitlist-page>#success{width:100%;max-width:602px;margin-inline:auto}
.story{margin-top:48px;padding-block:32px 48px;border-top:1px solid var(--line);text-align:center}
.story h2{max-width:760px;margin:0 auto 32px;font-size:clamp(30px,4.2vw,46px);line-height:1.12;letter-spacing:-1.3px;font-weight:750;text-wrap:balance}
.story-beats{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.story-beat{min-width:0;position:relative;padding:204px 22px 12px}
.story-copy h3{margin:0 0 10px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.story-copy p{max-width:270px;margin:0 auto;font-size:clamp(17px,1.9vw,21px);line-height:1.5;text-wrap:pretty}
.story-copy blockquote{margin:20px 0 0;color:var(--muted);font-size:13px;line-height:1.6}
.story-copy cite{display:block;font-style:normal}
.story-beat::before{content:"";position:absolute;top:165px;left:calc(50% - 5px);width:10px;height:10px;border-radius:50%;border:2px solid var(--button);background:var(--bg);box-shadow:0 0 0 5px var(--bg)}
.story-beat.is-current::before{background:var(--button)}
.story-beat.is-current h3{color:var(--button)}
.story-still{position:absolute;top:20px;left:50%;transform:translateX(-50%);width:150px;height:150px;object-fit:contain}
.story-track,.story-effects{display:none;position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.story-track{overflow:visible}
.story-path{stroke:var(--line);stroke-width:2;stroke-linecap:round;stroke-dasharray:3 9}
.story-traveler{display:none;position:absolute;left:0;top:0;width:0;height:0;pointer-events:none;will-change:transform}
.story-body{position:absolute;left:-75px;top:-135px;width:150px;height:150px;transform-origin:50% 90%;will-change:transform}
.story-facing{width:100%;height:100%;transform-origin:50% 90%}
.story-traveler video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .22s linear;background:transparent}
.story-traveler video[data-state=sulk]{filter:saturate(.7)}
.story-traveler video.is-active{opacity:1}
.story-cloud{position:absolute;left:43px;top:-31px;color:var(--muted)}
.cloud-shape{fill:var(--line)}
.cloud-drops{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.story-glow{position:absolute;left:-105px;top:-170px;width:210px;height:210px;border-radius:50%;background:radial-gradient(circle,rgba(245,194,100,.42),rgba(245,194,100,.12) 45%,transparent 70%);opacity:0}
.story-verse{position:absolute;left:0;top:0;overflow:visible;filter:drop-shadow(0 0 9px rgba(245,194,100,.5))}
.story-verse rect{fill:var(--bg);stroke:var(--button);stroke-width:1.3}
.story-verse path{fill:none;stroke:var(--button);stroke-width:2;stroke-linecap:round;opacity:.7}
.story-dust,.story-burst{position:absolute;left:0;top:0;width:0;height:0}
.story-dust i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--line);opacity:0}
.story-burst i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;background:var(--button);opacity:0;clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%)}
.story-burst i:nth-child(even){clip-path:polygon(50% 95%,5% 48%,5% 22%,25% 7%,50% 24%,75% 7%,95% 22%,95% 48%)}
.story.is-animated .story-still{visibility:hidden}
.story.is-animated :is(.story-traveler,.story-track,.story-effects){display:block}
.story.is-animated{height:100svh;flex-shrink:0;display:flex;flex-direction:column;justify-content:center}
#email{scroll-margin-block:30vh}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
@media(max-width:759px){
  .story{margin-top:32px;padding-block:32px 40px}
  .story h2{margin-bottom:24px;font-size:clamp(30px,6vw,42px)}
  .story-beats{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(220px,auto));text-align:left}
  .story-beat{display:flex;align-items:center;min-height:220px;padding:20px 0 20px 144px}
  .story-copy p{margin:0;max-width:320px;font-size:18px}
  .story-copy blockquote{margin-top:14px;font-size:12px}
  .story-beat::before{top:calc(50% + 35px);left:61px}
  .story-beat:nth-of-type(2)::before{left:81px}
  .story-still{left:66px;top:50%;width:120px;height:120px;transform:translate(-50%,-50%)}
  .story-beat:nth-of-type(2) .story-still{left:86px}
  .story-body{left:-60px;top:-108px;width:120px;height:120px}
  .story-cloud{left:28px}
  .story-glow{left:-65px;top:-125px;width:140px;height:160px}
  /* The whole pinned scene, including the hook and beats, fits the stable viewport. */
  .story.is-animated{--neo-size:clamp(80px,14svh,120px);padding-block:clamp(16px,3svh,28px)}
  .story.is-animated h2{flex-shrink:0;font-size:clamp(26px,4svh,34px);margin-bottom:clamp(12px,2svh,20px)}
  .story.is-animated .story-beats{flex:1;min-height:0;grid-template-rows:repeat(3,minmax(0,1fr))}
  .story.is-animated .story-beat{min-height:0;padding:8px 0 8px calc(var(--neo-size)*1.2)}
  .story.is-animated .story-copy h3{font-size:12px;margin-bottom:7px}
  .story.is-animated .story-copy p{font-size:clamp(14px,2.15svh,18px);line-height:1.4}
  .story.is-animated .story-copy blockquote{margin-top:8px;font-size:clamp(10px,1.45svh,12px);line-height:1.4}
  .story.is-animated .story-body{width:var(--neo-size);height:var(--neo-size);left:calc(var(--neo-size)*-.5);top:calc(var(--neo-size)*-.9)}
  .story.is-animated .story-cloud{left:calc(50% - 32px)}
  .story.is-animated .story-beat::before{left:calc(var(--neo-size)*.55 - 5px);top:calc(50% + var(--neo-size)/3 - 5px)}
  .story.is-animated .story-beat:nth-of-type(2)::before{left:calc(var(--neo-size)*.72 - 5px)}
}
@media(prefers-reduced-motion:reduce){
  .story .story-still{visibility:visible!important}
  .story :is(.story-traveler,.story-track,.story-effects){display:none!important}
  .story-copy>*{opacity:1!important;transform:none!important}
  .story-traveler video{transition:none}
}

/* Living landscape: isolated behind the content, including when WebGL/CDN fails. */
#neo-environment{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:linear-gradient(#95a9b5,#d4dddc)}
#neo-scene{display:block;width:100%;height:100%;pointer-events:none}
#neo-environment[data-state=fallback] canvas{visibility:hidden}
.waitlist-page{position:relative;z-index:1;--scene-surface:rgba(255,250,242,.96);--muted:#65564c}
.waitlist-page>:is(#signup,#success,#signup-bottom){padding:24px;border-radius:28px;background:var(--scene-surface);box-shadow:0 8px 40px #3b2b220b;border:1px solid #fffaf280;max-width:650px}
.waitlist-page>.brand{width:fit-content;padding:9px 20px;border-radius:40px;background:var(--scene-surface)}
.waitlist-page>footer{align-self:center;background:var(--scene-surface);border-radius:20px;padding:7px 14px}
.story{position:relative;border-top:0;width:100%}
.story h2{position:relative;isolation:isolate}
.story h2::before{content:"";position:absolute;z-index:-1;inset:-13px -15px;background:var(--scene-surface);border-radius:24px}
.story-copy{position:relative;isolation:isolate;padding:12px;border-radius:18px}
.story-copy::before{content:"";position:absolute;z-index:-1;inset:0;border-radius:inherit;background:var(--scene-surface)}
.story.is-animated .story-beat:nth-of-type(2) .story-copy::before{opacity:clamp(0,calc((var(--neo-progress,0) - .405)*25),1)}
.story.is-animated .story-beat:nth-of-type(3) .story-copy::before{opacity:clamp(0,calc((var(--neo-progress,0) - .94)*25),1)}
@media(max-width:759px){.waitlist-page>:is(#signup,#success,#signup-bottom){padding:18px 14px;border-radius:24px}.story-copy{padding:10px}.story h2{max-width:calc(100% - 22px)}.story.is-animated .story-copy p{font-size:clamp(14px,2svh,17px)}}
@media(prefers-color-scheme:dark){#neo-environment{background:linear-gradient(#15253d,#556577)}.waitlist-page{--scene-surface:rgba(28,36,49,.96);--muted:#ded1c4}.waitlist-page>:is(#signup,#success,#signup-bottom){border-color:#ffffff12}.waitlist-page .companion input:checked~.name{color:var(--text)}}
.waitlist-page .companion input:checked~.name{color:var(--text)}

.waitlist-page>#signup-bottom{width:100%;margin-inline:auto}
#signup-bottom .signup-fields{text-align:left}
#success-title:focus{outline:none}
