:root{--bg:#08090b;--white:#f4f3f6;--purple:#aa64f5;--button:#8040d4;--p:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px;background:var(--bg)}body{margin:0;color:var(--white);background:var(--bg);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}button,input{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button,a,input{-webkit-tap-highlight-color:transparent}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.symbols{position:absolute;width:0;height:0;overflow:hidden}:focus-visible{outline:2px solid var(--purple);outline-offset:6px}.sr-only{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}
header{position:fixed;inset:0 0 auto;z-index:50;background:var(--bg);padding-top:env(safe-area-inset-top,0px);isolation:isolate;border-bottom:1px solid #ffffff08;transform:translateZ(0)}header:before{content:"";position:absolute;inset:-100px 0 100%;background:var(--bg)}nav{max-width:1380px;padding:0 54px;height:82px;margin:auto;display:flex;justify-content:space-between;align-items:center}.brand{display:flex;align-items:center;gap:14px;font-size:15px;font-weight:700;letter-spacing:4px}.mark{display:block;width:42px;height:42px;position:relative;overflow:hidden;flex-shrink:0}.mark img{position:absolute;width:200%;height:200%;max-width:none;left:-50%;top:-50%;object-fit:contain;mix-blend-mode:screen}.nav-join{display:flex;align-items:center;gap:22px;padding:12px 20px;border-radius:30px;background:#f1edf7;color:#17121c;border:0;font-size:12px;font-weight:600}.nav-join svg{width:16px;height:16px}.button{border:0;border-radius:50px;color:#fff;background:var(--button);padding:19px 30px;display:inline-flex;align-items:center;justify-content:center;gap:36px;font-size:15px;font-weight:500;transition:background .25s,transform .25s,box-shadow .25s}.button:hover{background:#9250e5;transform:translateY(-2px);box-shadow:0 10px 30px #8040d41c}.nav-join:hover{background:#d6c2ed}.hero-scroll{height:145svh;min-height:1100px}.hero{position:sticky;top:0;height:100svh;min-height:720px;overflow:hidden;isolation:isolate}.portraits{position:absolute;inset:82px 0 0;margin:auto;width:min(100%,1500px);pointer-events:none}.orbit{position:absolute;width:var(--size);height:var(--size);transform:translate3d(calc(var(--p) * var(--dx)),calc(var(--p) * var(--dy)),0) scale(calc(1 - var(--p) * .15));opacity:calc(1 - var(--p) * .3);will-change:transform}.portrait{width:100%;height:100%;border-radius:50%;overflow:hidden;animation:float 8s ease-in-out infinite;box-shadow:0 16px 45px #0003}.portrait img{width:100%;height:100%;object-fit:cover;transform:scale(1.055);display:block}.o1{--size:110px;left:14%;top:13%;--dx:-35px;--dy:-45px}.o2{--size:75px;left:3%;top:44%;--dx:-30px;--dy:-20px}.o3{--size:128px;left:16%;top:70%;--dx:-45px;--dy:35px}.o4{--size:72px;left:35%;top:82%;--dx:-15px;--dy:65px}.o5{--size:100px;right:15%;top:12%;--dx:35px;--dy:-45px}.o6{--size:130px;right:3%;top:42%;--dx:40px;--dy:-20px}.o7{--size:100px;right:17%;top:72%;--dx:45px;--dy:35px}.o8{--size:76px;right:35%;top:83%;--dx:15px;--dy:65px}.o2 .portrait,.o7 .portrait{animation-delay:-3s;animation-duration:9s}.o3 .portrait,.o5 .portrait{animation-delay:-5s;animation-duration:10s}.o4 .portrait,.o6 .portrait{animation-delay:-2s}.hero-copy{position:absolute;z-index:2;top:calc(50% + 12px);left:0;right:0;text-align:center;transform:translate3d(0,calc(-50% - var(--p) * 32px),0);opacity:calc(1 - var(--p) * .45);will-change:transform}h1{font-size:clamp(48px,6.3vw,92px);font-weight:750;letter-spacing:-5px;line-height:1.03;margin:0 0 38px}h1 span{color:var(--purple)}.launch{font-size:17px;font-weight:400;letter-spacing:5px;color:#96909f;margin:28px 0 0}.scroll-cue{position:absolute;bottom:22px;left:calc(50% - 20px);padding:10px;color:#81778f;opacity:calc(1 - var(--p));z-index:3}.scroll-cue svg{transform:rotate(90deg);width:20px;height:20px}.remember{min-height:90svh;display:grid;place-items:center;padding:100px 30px 140px;overflow:hidden}.remember-content{text-align:center}.signature-mark{width:62px;height:62px;margin:0 auto 36px}.remember h2{font-size:clamp(60px,9.2vw,132px);font-weight:750;line-height:1;letter-spacing:-6px;margin:0 0 45px}.remember h2 span{color:var(--purple)}.js .remember-content{opacity:0;translate:0 40px;transition:opacity 1.1s,translate 1.1s}.js .remember-content.visible{opacity:1;translate:0 0}
dialog{width:min(560px,calc(100% - 32px));max-height:calc(100svh - 40px);overflow:auto;background:#131216;color:var(--white);border:1px solid #38323e;padding:42px;border-radius:26px;box-shadow:0 35px 130px #000b}dialog[open]{animation:open .3s cubic-bezier(.16,1,.3,1)}dialog::backdrop{background:#000b;backdrop-filter:blur(10px)}.close{position:absolute;right:17px;top:17px;background:#25212b;border:0;color:#bbb3c6;border-radius:50%;height:36px;width:36px;display:grid;place-items:center}.close:hover{color:#fff;background:#393040}.dialog-mark{width:45px;height:45px;margin:0 0 29px}dialog h2{font-size:39px;letter-spacing:-1.8px;line-height:1.1;margin:0 0 23px}dialog h2 span{color:var(--purple)}dialog h3{font-size:19px;font-weight:500;letter-spacing:-.4px;margin:0 0 18px}.offer{font-size:18px;line-height:1.6;color:#a9a1b4;margin:0 0 27px}form{display:flex;flex-direction:column;gap:12px}input{width:100%;border:1px solid #5a4a6c;background:#1e1925;color:white;padding:19px 20px;border-radius:13px;font-size:17px}input::placeholder{color:#9f95ac}form .button{width:100%;border-radius:13px;padding:19px;justify-content:space-between;font-size:17px}.preview-note{font-size:12px;line-height:1.5;color:#8a8195;margin:19px 0 0}.locked{overflow:hidden}@keyframes float{50%{translate:0 -12px}}@keyframes open{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:800px){nav{height:72px;padding:0 23px}.brand{font-size:12px;letter-spacing:2.5px;gap:8px}.brand .mark{width:34px;height:34px}.nav-join{font-size:11px;padding:11px 15px;gap:13px}.hero-scroll{height:135svh;min-height:970px}.hero{min-height:690px}.portraits{top:72px}.hero-copy{top:48%}h1{font-size:clamp(37px,8vw,63px);letter-spacing:-2.2px;line-height:1.08;margin-bottom:28px}.button{font-size:14px;padding:17px 25px;gap:30px}.launch{font-size:15px;letter-spacing:3.5px;margin-top:25px}.o1{--size:70px;left:16%;top:11%}.o5{--size:63px;right:15%;top:9%}.o2{--size:51px;left:-3%;top:33%}.o6{--size:66px;right:-4%;top:32%}.o3{--size:83px;left:9%;top:70%}.o7{--size:74px;right:9%;top:69%}.o4{--size:52px;left:34%;top:84%}.o8{--size:49px;right:34%;top:84%}.remember{min-height:75svh;padding:100px 20px}.remember h2{font-size:clamp(45px,10.8vw,80px);letter-spacing:-2.9px}.signature-mark{width:50px;height:50px;margin-bottom:29px}dialog{padding:35px 25px;border-radius:22px}dialog h2{font-size:32px;letter-spacing:-1.5px}dialog h3{font-size:17px}.offer{font-size:17px}.dialog-mark{margin-bottom:24px}input{font-size:16px}.close{right:13px;top:13px}}
@media(max-height:720px) and (min-width:801px){.hero{min-height:650px}.o1,.o5{top:6%}.hero-copy{top:51%}h1{font-size:65px}.o3,.o7{top:73%}.orbit{scale:.8}.launch{margin-top:18px}.hero-scroll{min-height:960px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.orbit{transform:none;opacity:1}.portrait,dialog[open]{animation:none}.hero-copy{transform:translateY(-50%);opacity:1}.js .remember-content{opacity:1;translate:none;transition:none}.button{transition:none}.scroll-cue{opacity:1}}
@media(max-width:800px){.o2{left:2%;top:25%}.o6{right:2%;top:24%;--size:59px}}
/* One continuous opening, followed by the copyright footer. */
.hero-scroll{height:auto;min-height:0}.hero{position:relative;height:calc(100svh - 65px);min-height:1000px}.hero-copy{top:215px;transform:none;opacity:1;will-change:auto}h1{font-size:clamp(48px,5.8vw,83px);margin:0;line-height:1.02}.launch{margin:27px 0 0;font-size:18px;letter-spacing:5px}.memory-title{font-size:clamp(48px,5.4vw,77px);line-height:1.02;letter-spacing:-3.5px;margin:54px 0 35px;font-weight:750}.reveal-line{display:block;overflow:hidden;padding-bottom:3px}.reveal-line>span{display:block;animation:slide-in 1.25s cubic-bezier(.16,1,.3,1) .35s both}.reveal-line:first-child>span{color:var(--purple)}.reveal-line:last-child>span{color:var(--white);animation-delay:.53s}.invitation{animation:invitation-in 1.1s .95s both}.waitlist-cta{min-width:255px;justify-content:center;text-align:center;padding:20px 35px;font-size:16px;font-weight:600;letter-spacing:.1px;border:1px solid #aa73e3;background:#8144cf;box-shadow:inset 0 1px 0 #c49aec33,0 8px 30px #0003;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .4s,box-shadow .4s}.waitlist-cta:hover{background:#9255dc;transform:translateY(-3px);box-shadow:inset 0 1px 0 #d0b0f033,0 12px 35px #7035bb26}.waitlist-cta:active{transform:translateY(0) scale(.98)}.invitation p{font-size:15px;line-height:1.7;color:#9c94a6;margin:22px 0 0}.o1{top:11%;left:16%}.o5{top:10%;right:16%}.o2{top:40%;left:4%}.o6{top:40%;right:4%}.o3{top:69%;left:14%}.o7{top:70%;right:14%}.o4{top:86%;left:34%}.o8{top:86%;right:34%}footer{text-align:center;padding:26px 20px 29px;font-size:12px;letter-spacing:1.5px;color:#827b8c;border-top:1px solid #ffffff08;background:var(--bg)}.community-copy{font-size:16px;line-height:1.65;color:#ada4b9;margin:0 0 24px}.community-benefits{list-style:none;margin:0 0 27px;padding:0}.community-benefits li{padding:13px 0;border-top:1px solid #302a37}.community-benefits strong{display:block;font-weight:500;font-size:16px}.community-benefits span{display:block;font-size:14px;line-height:1.5;color:#9d93aa;margin-top:5px}form .button{justify-content:center;text-align:center}dialog{max-height:calc(100dvh - 32px)}@keyframes slide-in{from{transform:translate3d(0,110%,0);opacity:0}to{transform:translate3d(0,0,0);opacity:1}}@keyframes invitation-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media(max-width:800px){.hero{height:auto;min-height:1030px}.hero-copy{top:255px}h1{font-size:clamp(35px,7.8vw,60px);letter-spacing:-2px;line-height:1.07}.launch{margin-top:24px;font-size:17px;letter-spacing:4px}.memory-title{font-size:clamp(45px,10.5vw,68px);letter-spacing:-2.5px;margin:43px 0 30px}.waitlist-cta{font-size:15px;min-width:230px;padding:19px 30px}.invitation p{font-size:14px;margin-top:19px}.o1{--size:70px;left:18%;top:6%}.o5{--size:63px;right:17%;top:7%}.o2{--size:46px;left:2%;top:35%}.o6{--size:52px;right:2%;top:35%}.o3{--size:80px;left:10%;top:74%}.o7{--size:73px;right:10%;top:75%}.o4{--size:52px;left:33%;top:88%}.o8{--size:49px;right:32%;top:88%}footer{font-size:11px}.community-copy{font-size:15px}.community-benefits strong{font-size:15px}.community-benefits span{font-size:13px}dialog{padding-top:30px}.dialog-mark{margin-bottom:18px}dialog h2{font-size:29px;margin-bottom:18px}dialog h3{font-size:16px;margin-bottom:15px}}@media(prefers-reduced-motion:reduce){.reveal-line>span,.invitation{animation:none}.hero-copy{transform:none}.waitlist-cta{transition:none}}

/* Alternating headline uses a fixed stage so the invitation never moves. */
.hero-copy{top:310px}.headline-cycle{display:grid;place-items:center;isolation:isolate;min-height:2.14em;font-size:clamp(48px,5.8vw,83px);font-weight:750;line-height:1.07;letter-spacing:-4px}.headline-message{grid-area:1/1;will-change:transform,opacity}.headline-message span{color:var(--purple)}.training-message{animation:training-cycle 10s cubic-bezier(.45,0,.2,1) infinite}.memory-message{animation:memory-cycle 10s cubic-bezier(.45,0,.2,1) infinite}.invitation{animation:none;margin-top:43px}.waitlist-cta,form .button{background:#f4f3f6;color:#08090b;border:1px solid #ffffff90;box-shadow:0 6px 25px #0002;font-weight:600}.waitlist-cta:hover,form .button:hover{background:#fff;box-shadow:0 8px 32px #ffffff12;transform:translateY(-2px)}.invitation .launch{margin-top:29px}.invitation p{margin-top:22px}
@keyframes training-cycle{0%,38%,100%{opacity:1;transform:translate3d(0,0,0)}46%{opacity:0;transform:translate3d(0,-14px,0)}47%,90%{opacity:0;transform:translate3d(0,14px,0)}}
@keyframes memory-cycle{0%,38%{opacity:0;transform:translate3d(0,14px,0)}48%,86%{opacity:1;transform:translate3d(0,0,0)}94%,100%{opacity:0;transform:translate3d(0,-14px,0)}}
@media(max-width:800px){.hero-copy{top:290px}.headline-cycle{font-size:clamp(35px,7.8vw,60px);letter-spacing:-2px}.invitation{margin-top:36px}.invitation .launch{margin-top:27px}.invitation p{margin-top:20px}.o2,.o6{top:27%}}
@media(prefers-reduced-motion:reduce){.headline-message{animation:none;transform:none}.training-message{opacity:1}.memory-message{display:none}}

/* Wordmark, closer coach constellation and an in-page invitation. */
.brand{gap:7px}.brand-dot{height:7px;width:7px;border-radius:50%;background:var(--purple);margin-left:-2px;align-self:center}.hero{height:850px;min-height:850px}.hero-copy{top:285px}.portraits{inset:82px 0 0}.o1{top:10%;left:20%}.o5{top:9%;right:20%}.o4{top:5%;left:39%}.o8{top:6%;right:37%}.o2{top:31%;left:7%}.o6{top:30%;right:7%}.o3{top:55%;left:16%}.o7{top:55%;right:16%}.orbit{opacity:1}.community-section{max-width:1120px;margin:0 auto;padding:80px 50px 140px;scroll-margin-top:105px}.community-intro{max-width:720px;margin-bottom:58px}.community-intro h2{font-size:clamp(40px,5.5vw,70px);line-height:1.02;letter-spacing:-3px;margin:0 0 26px}.community-intro h2 span{color:var(--purple)}.community-intro h3{font-size:19px;font-weight:500;margin:0 0 16px}.community-copy{max-width:510px;line-height:1.75}.community-layout{display:grid;grid-template-columns:1fr 1fr;gap:85px;align-items:start}.community-benefits{margin:0}.community-benefits li{padding:25px 0}.community-benefits strong{font-size:21px;letter-spacing:-.4px}.community-benefits span{font-size:15px;line-height:1.6;margin-top:8px}.signup-panel{padding:32px;border-radius:24px;background:#111014;border:1px solid #ffffff12;box-shadow:0 20px 70px #0002}.signup-panel h3{font-size:26px;letter-spacing:-.7px;margin:0 0 25px;font-weight:500}.signup-panel input{background:#19171d;border-color:#4a4353}.signup-panel form .button{border-radius:13px}.js .scroll-reveal{opacity:0;transform:translate3d(0,28px,0);transition:opacity 1.1s cubic-bezier(.2,.65,.2,1),transform 1.1s cubic-bezier(.2,.65,.2,1)}.js .scroll-reveal.is-visible{opacity:1;transform:translate3d(0,0,0)}.community-benefits li:nth-child(2){transition-delay:.08s}.community-benefits li:nth-child(3){transition-delay:.16s}
@media(max-width:800px){.hero{height:730px;min-height:730px}.hero-copy{top:255px}.o1{--size:64px;top:8%;left:14%}.o5{--size:59px;top:8%;right:14%}.o4{--size:45px;top:2%;left:36%}.o8{--size:45px;top:19%;right:35%}.o2{--size:42px;top:39%;left:1%}.o6{--size:46px;top:39%;right:1%}.o3{--size:61px;top:65%;left:4%}.o7{--size:58px;top:65%;right:4%}.community-section{padding:55px 25px 85px;scroll-margin-top:90px}.community-intro{margin-bottom:35px}.community-intro h2{font-size:40px;letter-spacing:-1.8px}.community-intro h3{font-size:17px}.community-layout{grid-template-columns:1fr;gap:32px}.community-benefits li{padding:23px 0}.community-benefits strong{font-size:20px}.community-benefits span{font-size:14px}.signup-panel{padding:27px 22px}.signup-panel h3{font-size:24px}.brand{gap:6px}.brand-dot{height:6px;width:6px}}
@media(prefers-reduced-motion:reduce){.js .scroll-reveal{opacity:1;transform:none;transition:none}}

/* A typographic full stop, and a portrait completing the ring. */
.brand{align-items:baseline;gap:0}.brand-dot{display:inline;background:none;width:auto;height:auto;border-radius:0;margin:0 0 0 1px;align-self:auto;color:var(--purple);font:inherit;font-size:1.45em;line-height:1;letter-spacing:0}.closing-coach{width:72px;height:72px;margin:30px auto 0}.closing-coach .portrait{animation-duration:10s}.hero{height:870px;min-height:870px}
/* Each benefit gets its own beat in the scroll narrative. */
.community-section{max-width:1060px;padding-top:75px;padding-bottom:110px}.community-intro{text-align:center;max-width:760px;margin:0 auto 55px}.community-copy{margin-left:auto;margin-right:auto}.community-layout{display:block}.community-benefits{counter-reset:benefit;max-width:800px;margin:0 auto 65px;position:relative}.community-benefits:before{content:"";position:absolute;left:50%;top:30px;bottom:30px;width:1px;background:linear-gradient(transparent,#aa64f540 15%,#aa64f540 85%,transparent)}.community-benefits .benefit-scene{counter-increment:benefit;border:0;min-height:350px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:75px 20px;background:var(--bg);margin:36px 0}.benefit-scene:before{content:"0" counter(benefit);color:var(--purple);font-size:12px;letter-spacing:3px;margin-bottom:28px}.community-benefits strong{font-size:clamp(30px,4vw,47px);letter-spacing:-1.5px;font-weight:600;line-height:1.15}.community-benefits span{font-size:18px;line-height:1.6;margin-top:19px;max-width:460px;color:#a49aaf}.js .benefit-scene{transform:translate3d(0,45px,0);transition-duration:1.4s;transition-delay:0s}.js .benefit-scene span{opacity:0;transform:translateY(10px);transition:opacity 1.2s .3s,transform 1.2s .3s}.js .benefit-scene.is-visible span{opacity:1;transform:none}.benefit-scene:after{content:"";position:absolute;bottom:-25px;width:3px;height:3px;background:var(--purple);border-radius:50%;box-shadow:0 0 12px #aa64f540}.benefit-scene:last-child:after{display:none}.signup-panel{max-width:510px;margin:0 auto;scroll-margin-top:125px;padding:35px;border-radius:25px}.signup-panel:before{content:"Budwit Founding Community";display:block;text-align:center;font-size:10px;letter-spacing:2px;color:#aca1b9;margin-bottom:25px}.signup-panel input{transition:border-color .35s,box-shadow .35s}.signup-panel input:focus{outline:0;border-color:#aa64f5;box-shadow:0 0 0 3px #aa64f514}.signup-panel .preview-note{text-align:center}
@media(max-width:800px){.brand{gap:0}.brand-dot{width:auto;height:auto}.closing-coach{width:58px;height:58px;margin-top:27px}.hero{height:745px;min-height:745px}.o4{top:13%;left:43%}.community-section{padding:50px 24px 85px}.community-intro{margin-bottom:30px}.community-intro h2{font-size:37px}.community-benefits .benefit-scene{min-height:300px;padding:65px 6px;margin:25px 0}.community-benefits strong{font-size:32px;letter-spacing:-1.1px}.community-benefits span{font-size:16px;max-width:300px}.community-benefits{margin-bottom:55px}.signup-panel{padding:28px 20px;scroll-margin-top:100px}}
@media(prefers-reduced-motion:reduce){.js .benefit-scene,.js .benefit-scene span{transform:none;opacity:1;transition:none}}

/* Round full stop on the baseline; tighter benefit rhythm. */
.brand-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--purple);margin-left:3px;flex:none;align-self:baseline}.community-intro h2{scroll-margin-top:105px}.community-benefits .benefit-scene{min-height:0;padding:36px 16px;margin:22px 0}.benefit-scene:before{margin-bottom:18px}.community-benefits span{margin-top:13px}.benefit-scene:after{bottom:-13px}.community-intro{margin-bottom:28px}.community-benefits{margin-bottom:42px}
@media(max-width:800px){.brand-dot{width:5px;height:5px}.community-intro h2{scroll-margin-top:92px}.community-benefits .benefit-scene{min-height:0;padding:30px 6px;margin:18px 0}.community-benefits span{margin-top:12px}.benefit-scene:before{margin-bottom:16px}.benefit-scene:after{bottom:-11px}}

/* Quiet dividers and a staged thank-you reveal. */
.benefit-scene:before{display:none!important;content:none!important}.community-benefits:before{background:linear-gradient(transparent,#ffffff38 15%,#ffffff38 85%,transparent)}.benefit-scene:after{width:1px;height:20px;background:#ffffff50;box-shadow:none;border-radius:0;bottom:-20px}.signup-stage{display:grid;transition:min-height .65s cubic-bezier(.22,1,.36,1)}.signup-stage>form,.signup-stage>.signup-thanks{grid-area:1/1}.signup-stage [hidden]{display:none!important}#signup{opacity:1;transform:translateY(0);transition:opacity .35s,transform .45s}#signup.is-leaving{opacity:0;transform:translateY(-7px)}.signup-thanks{text-align:center;outline:none;padding:12px 0}.signup-thanks h3{font-size:39px;line-height:1.1;letter-spacing:-1.7px;font-weight:650;margin:0 0 23px}.signup-thanks p{font-size:15px;line-height:1.75;color:#aaa3b3;margin:0 0 23px}.signup-thanks .thanks-beginning{color:var(--purple);font-size:17px}.signup-thanks .thanks-signature{color:var(--white);font-size:15px;margin:0}.thanks-signature span{display:block;color:#92899f;font-size:12px;margin-top:3px}.signup-thanks:not([hidden])>*{animation:thanks-reveal 1s cubic-bezier(.22,1,.36,1) both}.signup-thanks:not([hidden])>p:nth-child(2){animation-delay:.18s}.signup-thanks:not([hidden])>.thanks-beginning{animation-delay:.38s}.signup-thanks:not([hidden])>.thanks-signature{animation-delay:.6s}.is-loading:before{content:"";height:13px;width:13px;border:1.5px solid #0003;border-top-color:#111;border-radius:50%;animation:loading-turn .9s linear infinite}form .button.is-loading{gap:10px;cursor:wait}.signup-thanks:focus-visible{outline:none}@keyframes thanks-reveal{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes loading-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.signup-stage,#signup{transition:none}.signup-thanks:not([hidden])>*{animation:none}.is-loading:before{animation:none}}

.bot-field{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.55;color:#aaa3b3;text-align:left;margin:4px 0 7px}.consent input{width:16px;height:16px;flex:0 0 16px;accent-color:#aa64f5;margin:2px 0 0;padding:0}.consent a,footer a{text-decoration:underline;text-underline-offset:3px}.preview-note:empty{display:none}footer a{margin-left:18px}.privacy-page{max-width:740px;margin:auto;padding:140px 25px 90px;line-height:1.8}.privacy-page h1{font-size:40px;letter-spacing:-1.5px;margin-bottom:25px}.privacy-page h2{font-size:22px;margin-top:32px}.privacy-page p{color:#b8b1c3}.privacy-page a{text-decoration:underline}
/* Gunnar's three messages, one quiet conversation. */
.gunnar-chat{max-width:600px;margin:44px auto 54px}.chat-author{display:flex;align-items:center;gap:13px;margin:0 0 20px 4px;font-size:14px;color:#b4aebd}.chat-author img{width:52px;height:52px;border-radius:50%;object-fit:cover}.chat-messages{list-style:none;padding:0;margin:0;display:grid;gap:14px}.chat-message{position:relative;background:#19181e;border:1px solid #ffffff0b;border-radius:22px 22px 22px 5px;padding:23px 26px;min-height:112px}.message-copy strong{display:block;font-size:23px;letter-spacing:-.6px;font-weight:600;line-height:1.25}.message-copy span{display:block;font-size:15px;line-height:1.6;color:#b4aebd;margin-top:9px}.typing-dots{display:none;align-items:center;gap:5px;height:22px}.typing-dots i{width:5px;height:5px;border-radius:50%;background:#b4aebd;animation:typing 1s ease-in-out infinite}.typing-dots i:nth-child(2){animation-delay:.16s}.typing-dots i:nth-child(3){animation-delay:.32s}.js .chat-message{opacity:0;transform:translateY(16px);transition:opacity .65s,transform .85s cubic-bezier(.22,1,.36,1)}.js .chat-message.is-typing{opacity:1;transform:none}.js .chat-message .message-copy{visibility:hidden}.js .chat-message.is-typing:not(.is-written) .typing-dots{display:flex}.js .chat-message.is-written .message-copy{visibility:visible}.typing-dots{position:absolute;top:26px;left:26px}@keyframes typing{50%{opacity:.3;transform:translateY(-3px)}}
dialog.signup-thanks{position:fixed;inset:0;margin:auto;width:min(520px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:65px 35px 48px;border-radius:28px;background:#131216;box-shadow:0 30px 120px #0009;text-align:center}dialog.signup-thanks:not([open]){display:none}dialog.signup-thanks[open]{animation:thanks-reveal .7s cubic-bezier(.22,1,.36,1)}.signup-thanks .thanks-close{font-size:24px;line-height:1;animation:none}.signup-thanks::backdrop{background:#000b;backdrop-filter:blur(12px)}
@media(max-width:800px){.gunnar-chat{margin:32px auto 40px}.chat-message{padding:21px;min-height:118px}.message-copy strong{font-size:21px}.message-copy span{font-size:14px}.chat-author img{width:46px;height:46px}dialog.signup-thanks{padding:62px 25px 42px}}
@media(prefers-reduced-motion:reduce){.js .chat-message{opacity:1;transform:none;transition:none}.js .chat-message .message-copy{visibility:visible}.typing-dots{display:none!important}dialog.signup-thanks[open]{animation:none}}
/* Match the app conversation: avatar, lilac name, charcoal bubble. */
.gunnar-chat{max-width:650px}.chat-messages{gap:17px}.chat-message{display:flex;align-items:flex-end;gap:14px;padding:0;min-height:0;background:none;border:0;border-radius:0}.chat-avatar{width:46px;height:46px;flex:0 0 46px;object-fit:cover;border:2px solid #ad91ce;border-radius:50%;margin-bottom:2px}.chat-bubble{position:relative;flex:1;background:#1e2326;border-radius:28px 28px 28px 7px;padding:20px 25px 22px;min-width:0}.chat-name{font-size:15px;font-weight:600;color:#bca4df;margin-bottom:8px}.message-copy strong{font-size:23px;font-weight:500;line-height:1.3;letter-spacing:-.4px}.message-copy>span{font-size:16px;line-height:1.5;margin-top:6px;color:#c2c3c8}.message-copy>*{position:relative}.message-copy .text-space{visibility:hidden;display:block}.message-copy .text-ink{position:absolute;inset:0;display:block}.typing-dots{top:54px;left:25px}.js .chat-message{transition:opacity .45s,transform .65s cubic-bezier(.22,1,.36,1);transform:translateY(12px)}.js .chat-message.is-typing{transform:none}
@media(max-width:800px){.chat-messages{gap:14px}.chat-message{gap:10px;padding:0;min-height:0}.chat-avatar{width:38px;height:38px;flex-basis:38px}.chat-bubble{border-radius:24px 24px 24px 6px;padding:17px 18px 19px}.chat-name{font-size:13px;margin-bottom:7px}.message-copy strong{font-size:19px}.message-copy>span{font-size:14px}.typing-dots{top:46px;left:18px}}
.message-copy .text-space,.message-copy .text-ink{font:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0}
/* A calm opening and an interactive, self-contained coach conversation. */
.headline-cycle{animation:arrival 1.2s cubic-bezier(.22,1,.36,1) both}.invitation{animation:arrival 1.2s .2s cubic-bezier(.22,1,.36,1) both}#coach-scene{animation:arrival 1.4s .4s cubic-bezier(.22,1,.36,1) both}.signup-focus{position:fixed;inset:0;margin:auto;padding:54px 20px 20px;width:min(590px,calc(100% - 24px));max-height:calc(100dvh - 24px);border-radius:28px}.signup-focus .signup-panel{margin:0 auto;box-shadow:none;background:transparent;border:0;padding:15px 12px 20px;opacity:1!important;transform:none!important}.focus-close{font-size:24px}.signup-placeholder{max-width:510px;margin:0 auto;border:1px solid #ffffff0b;border-radius:25px;background:radial-gradient(ellipse at center,#aa64f508,transparent)}.signup-arrived{animation:card-arrival 1.2s ease both}.signup-focus::backdrop{animation:veil-in .4s both}.signup-focus[open]{animation:focus-in .5s cubic-bezier(.22,1,.36,1)}@keyframes arrival{from{opacity:0;transform:translateY(18px);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes focus-in{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes veil-in{from{opacity:0}to{opacity:1}}@keyframes card-arrival{0%{border-color:#aa64f580;box-shadow:0 0 40px #aa64f512}100%{border-color:#ffffff12;box-shadow:0 20px 70px #0002}}@media(max-width:800px){.signup-focus{padding:50px 10px 10px}}@media(prefers-reduced-motion:reduce){.headline-cycle,.invitation,#coach-scene{animation:veil-in .2s both}.signup-focus[open]{animation:veil-in .2s both}.signup-arrived{animation:none}.signup-focus::backdrop{animation:none}}

/* Quiet social links, with generous touch targets. */
.social-links{display:flex;align-items:center;gap:8px}.social-links a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#c6c1cc;transition:color .25s,background .25s,transform .3s}.social-links a:hover{color:#fff;background:#ffffff08;transform:translateY(-1px)}.social-links svg{width:20px;height:20px;stroke-width:1.65}.social-links .instagram-dot{fill:currentColor;stroke:none}.social-links .tiktok-icon{fill:currentColor;stroke:none}.portraits{animation:arrival 1.2s .2s cubic-bezier(.22,1,.36,1) both}@media(max-width:800px){.social-links{gap:2px}.social-links svg{width:18px;height:18px}}@media(prefers-reduced-motion:reduce){.portraits{animation:veil-in .2s both}.social-links a{transition:none}.social-links a:hover{transform:none}}
