:root{--brand:#9435df;--hover:#7d23c5;--mint:#e3c6f7;--tint:#f4eefc;--canvas:#fcfaf7;--ink:#211a2c;--muted:#6e6879;--line:#e8e2ed;--focus:#9435df;--shadow:0 3px 8px #43235408,0 18px 32px -20px #43235438}
.header{backdrop-filter:none}.header:before{content:'';position:fixed;top:0;left:0;right:0;height:72px;background:color-mix(in srgb,var(--canvas) 95%,transparent);backdrop-filter:blur(12px);border-bottom:1px solid #e9e2ed44;z-index:-1;pointer-events:none}
.header{max-width:1120px;width:100%;height:72px;margin:auto;padding:0 24px;gap:24px;background:color-mix(in srgb,var(--canvas) 95%,transparent);border-bottom:1px solid transparent}.header .brand{width:116px}.desktop-nav{margin-left:25px;margin-right:auto;gap:25px;font-size:12px}.header-actions{gap:15px}.header .button{padding:11px 18px;font-size:12px;border-radius:13px;box-shadow:0 4px 12px color-mix(in srgb,var(--brand) 16%,transparent)}.wrap{max-width:1080px;width:calc(100% - 64px)}
.hero{height:720px;min-height:720px;max-height:none;padding:0 24px;display:flex;align-items:center;justify-content:center;overflow:clip}.hero-content{width:min(760px,100%);max-width:760px;padding:0;margin:0 auto;z-index:3;pointer-events:none;translate:0 13px}.hero-content>*{pointer-events:auto}.hero h1{font-size:64px;line-height:1.06;letter-spacing:-.065em;max-width:740px;margin:auto;animation:words-in .9s cubic-bezier(.22,1,.36,1) both}.hero h1 em{margin-top:5px}.hero-copy{font-size:13px;max-width:510px;margin:20px auto 26px;line-height:1.8;animation:words-in .9s .08s cubic-bezier(.22,1,.36,1) both}.hero #goal-form{max-width:620px;margin:0 auto;animation:words-in .9s .13s cubic-bezier(.22,1,.36,1) both}.hero .prompt{position:relative;z-index:2;max-width:none;padding:7px 7px 7px 18px;border-radius:18px;gap:12px;border:1px solid #e6dff0;box-shadow:0 2px 5px #43235408,0 14px 24px -16px #43235440}.hero .prompt input{font-size:12px;padding:14px 0}.hero .prompt .button{font-size:12px;padding:16px 20px;gap:10px;border-radius:13px;box-shadow:0 4px 10px color-mix(in srgb,var(--brand) 20%,transparent)}.hero .prompt .button:hover{transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--brand) 28%,transparent)}.hero .prompt .button:hover svg{translate:3px 0}.hero .prompt .button svg{transition:translate .2s}.hero .prompt:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--brand) 10%,transparent),var(--shadow)}.prompt-shell{position:relative}.prompt-ripple{position:absolute;inset:0;border:1px solid var(--brand);border-radius:22px;pointer-events:none;opacity:0;animation:prompt-ripple 4.5s cubic-bezier(.2,.7,.3,1) infinite}.prompt-ripple:nth-child(2){animation-delay:1.5s}.prompt-ripple:nth-child(3){animation-delay:3s}.prompt-shell:focus-within .prompt-ripple{animation-play-state:paused;opacity:.08}.suggestions{margin:20px auto 0;gap:8px;animation:words-in .9s .2s cubic-bezier(.22,1,.36,1) both}.suggestions button{background:#ffffffb8;border-color:#e9e1f0;box-shadow:0 2px 4px #43235404;padding:8px 12px;font-size:10px;transition:transform .2s,border-color .2s,background .2s}.suggestions button:hover{transform:translateY(-3px);background:#fff;border-color:var(--brand)}.suggestions svg{width:15px;height:15px}.demo-note{margin-top:20px;font-size:10px;color:#91889a;animation:words-in .9s .25s cubic-bezier(.22,1,.36,1) both}
.hero-scene{position:absolute;top:0;bottom:0;left:50%;translate:-50% 0;width:min(1160px,100%);pointer-events:none;z-index:1;isolation:isolate}.scene-dots{position:absolute;inset:0;background-image:radial-gradient(circle,#aa7bd045 1.15px,transparent 1.6px);background-size:22px 22px;mask-image:radial-gradient(ellipse at center,transparent 18%,#000 55%,transparent 75%);opacity:.68}.scene-dots:after{content:'';position:absolute;inset:6%;background-image:radial-gradient(circle,#b5a3c94d .8px,transparent 1.4px);background-size:31px 31px;rotate:12deg;mask-image:radial-gradient(ellipse at center,transparent 23%,#000 58%,transparent 76%)}.scene-orbits{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.orbit-track{stroke:#be9fda;stroke-width:1;stroke-dasharray:1 9;opacity:.18}.orbit-track.inner{opacity:.12}.orbit-trail{stroke:var(--brand);stroke-width:2;stroke-linecap:round;stroke-dasharray:22 978;opacity:.4;animation:orbit-lap 14s linear infinite}.orbit-trail.inner{stroke:#c99562;opacity:.5;stroke-dasharray:15 985;animation:orbit-lap 18s linear infinite reverse}
.orb{position:absolute;width:54px;height:54px;z-index:2;animation:orb-enter .7s var(--enter) cubic-bezier(.34,1.56,.64,1) both}.orb-bob{width:100%;height:100%;animation:orb-bob var(--duration) var(--delay) ease-in-out infinite}.orb-control{width:100%;height:100%;background:none;padding:0;border:0;position:relative;pointer-events:auto;outline-offset:9px}.orb-inner{width:100%;height:100%;display:grid;place-items:center;background:var(--orb-bg,#f2e8fb);color:var(--orb-ink,var(--brand));border:3px solid #fff;border-radius:29%;box-shadow:0 2px 5px #43235410,0 15px 27px -18px #43235488;rotate:var(--angle);transition:scale .2s,box-shadow .2s}.orb-inner>span>svg{width:24px;height:24px;stroke-width:1.5}.orb-control.peach{--orb-bg:#f6e7d8;--orb-ink:#a05d35}.orb-control.blue{--orb-bg:#e3ebf6;--orb-ink:#547ca4}.orb-control.mint{--orb-bg:#e1f0e8;--orb-ink:#4f8c74}.orb-stamp{position:absolute;bottom:-5px;right:-5px;background:#fff;width:22px;height:22px;display:grid!important;place-items:center;border-radius:7px;box-shadow:0 2px 5px #43235414}.orb-stamp svg{width:13px;height:13px;color:var(--orb-ink)}.orb-tooltip{position:absolute;left:50%;bottom:calc(100% + 12px);translate:-50% 5px;background:#241a30;color:white;white-space:nowrap;max-width:260px;font-size:10px;line-height:1.5;font-weight:400;padding:6px 10px;border-radius:7px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s,translate .16s,visibility .16s;box-shadow:0 4px 12px #25153620}.orb-tooltip:after{content:'';position:absolute;top:100%;left:calc(50% - 3px);border:4px solid transparent;border-top-color:#241a30}.orb-control:hover .orb-inner,.orb-control:focus .orb-inner{animation:orb-wiggle .6s ease-in-out;scale:1.12;box-shadow:0 4px 7px #43235412,0 20px 32px -16px #43235477}.orb-control:hover .orb-tooltip,.orb-control:focus .orb-tooltip{opacity:1;visibility:visible;translate:-50% 0}.orb-cheer{position:absolute;right:-18px;top:-10px;color:var(--brand);opacity:0;scale:.5;pointer-events:none}.orb-control:hover .orb-cheer,.orb-control:focus .orb-cheer{animation:cheer-pop .65s ease-out both}.orb-cheer svg{width:15px;height:15px}.p1{left:16%;top:13%;width:60px;height:60px}.p2{right:16%;top:13%;width:60px;height:60px}.p3{left:31%;top:3%;width:43px;height:43px}.p4{right:32%;top:5%;width:43px;height:43px}.p5{left:6%;top:47%;width:45px;height:45px}.p6{right:6%;top:43%;width:45px;height:45px}.p7{left:18%;bottom:13%}.p8{right:18%;bottom:12%}.p9{left:35%;bottom:3%;width:43px;height:43px}.p10{right:35%;bottom:4%;width:43px;height:43px}.p3 .orb-tooltip,.p4 .orb-tooltip{bottom:auto;top:calc(100% + 12px)}.p3 .orb-tooltip:after,.p4 .orb-tooltip:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#241a30}.scene-symbol{position:absolute;left:var(--x);top:var(--y);color:#b494d2;opacity:.35;animation:symbol-float var(--duration) var(--delay) ease-in-out infinite}.scene-symbol svg{width:13px;height:13px;stroke-width:1.7;animation:symbol-twinkle calc(var(--duration) * .55) var(--delay) ease-in-out infinite}.scene-symbol:nth-child(3n){color:#bf9873}.scene-symbol:nth-child(4n){color:#8fb5a4}.scene-symbol:nth-child(5n) svg{width:10px;height:10px}.scene-symbol:nth-child(2n) svg{width:16px;height:16px}.hero.is-sleeping .orb,.hero.is-sleeping .orb-bob,.hero.is-sleeping .scene-symbol,.hero.is-sleeping .scene-symbol svg,.hero.is-sleeping .orbit-trail,.hero.is-sleeping .prompt-ripple{animation-play-state:paused}
.how{border-radius:0;background:var(--tint)}.how .section-heading h2{font-size:36px;line-height:1.15}.section{padding:76px 0}.section h2{font-size:36px}.footer-main .language{color:var(--muted);margin-left:auto;padding:8px}.footer-main p{margin-right:0}.dialog-settings{position:relative;font-size:11px;color:var(--muted)}.dialog-settings summary{cursor:pointer;list-style:none;padding:8px}.dialog-settings summary::-webkit-details-marker{display:none}.dialog-settings .language{position:absolute;right:0;top:100%;background:#fff;padding:12px 18px;border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:105px;z-index:5}
@keyframes orb-bob{0%,100%{translate:0 0;rotate:-1deg}50%{translate:2px -10px;rotate:1deg}}@keyframes orb-enter{from{opacity:0;scale:.55}to{opacity:1;scale:1}}@keyframes symbol-float{0%,100%{translate:0 0}50%{translate:1px -8px}}@keyframes symbol-twinkle{0%,100%{opacity:.25;scale:.82}50%{opacity:1;scale:1.12}}@keyframes orbit-lap{to{stroke-dashoffset:-1000}}@keyframes prompt-ripple{0%{opacity:.32;scale:1 1}100%{opacity:0;scale:1.3 1.95}}@keyframes orb-wiggle{0%,100%{rotate:var(--angle)}20%{rotate:calc(var(--angle) - 13deg)}40%{rotate:calc(var(--angle) + 10deg)}60%{rotate:calc(var(--angle) - 6deg)}80%{rotate:calc(var(--angle) + 3deg)}}@keyframes cheer-pop{0%{opacity:0;scale:.4;translate:0 8px}40%{opacity:.8;scale:1.2}100%{opacity:0;scale:.9;translate:4px -18px}}@keyframes words-in{from{opacity:0;translate:0 20px}to{opacity:1;translate:0 0}}
@media(min-width:1800px){.hero-scene{width:1160px}.hero{height:700px;min-height:700px}}
@media(max-width:1050px){.hero h1{font-size:56px}.hero-scene{width:min(1020px,100%)}.p1{left:13%}.p2{right:13%}.p5{left:3%}.p6{right:3%}.p7{left:12%}.p8{right:12%}.hero-content{width:min(700px,100%)}.header{padding:0 25px}.header-actions{margin-left:auto}.wrap{width:calc(100% - 48px)}}
@media(max-width:720px){.hero{height:730px;min-height:730px;padding:0 22px}.hero-content{width:100%;translate:0 10px}.hero h1{font-size:clamp(36px,7.8vw,52px);line-height:1.1}.hero-copy{font-size:12px;max-width:380px;margin:20px auto 24px}.hero .prompt input{font-size:12px}.hero .prompt .button{padding:15px}.p1{left:15%;top:10%;width:48px;height:48px}.p2{right:16%;top:12%;width:48px;height:48px}.p3{left:43%;top:5%;width:39px;height:39px}.p4,.p5,.p6,.p9,.p10{display:none}.p7{left:19%;bottom:10%;width:45px;height:45px}.p8{right:18%;bottom:8%;width:45px;height:45px}.orb-inner>span>svg{width:21px;height:21px}.orb-tooltip{font-size:9px;max-width:220px;white-space:normal;width:max-content;text-align:center}.scene-symbol:nth-child(n+11){display:none}.scene-orbits{inset:0 -20%;width:140%;opacity:.7}.scene-dots{background-size:19px 19px;mask-image:radial-gradient(ellipse at center,transparent 23%,#000 65%,transparent 85%)}.suggestions{gap:7px;max-width:360px;margin-top:21px}.suggestions button{font-size:9px;padding:9px 12px}.demo-note{font-size:9px;margin-top:20px}.prompt-ripple{animation-duration:5.5s}.header{height:68px;max-width:none;padding:0 22px}.header .brand{width:103px}.header .nav-cta{display:none}.header #mobile-nav{top:67px;max-width:none}.wrap{width:calc(100% - 40px)}.section{padding:58px 0}.section h2,.how .section-heading h2{font-size:31px}.footer-main .language{margin-left:0}.footer-main .brand{margin-right:12px}.footer-main p{order:2}.footer-main{column-gap:16px;row-gap:14px}.dialog-top>div{gap:9px}}
@media(pointer:coarse){.orb-control:hover .orb-inner{animation:none;scale:1}.orb-control:hover .orb-tooltip{visibility:hidden;opacity:0}.orb-control:focus .orb-tooltip{visibility:visible;opacity:1}.orb-control:hover .orb-cheer{animation:none}}
@media(prefers-reduced-motion:reduce){.hero-content,.orb-inner,.scene-symbol{translate:none}.hero h1,.hero-copy,.hero #goal-form,.suggestions,.demo-note{opacity:1;animation:none}.orb,.orb-bob,.scene-symbol,.scene-symbol svg,.orbit-trail,.prompt-ripple,.orb-control:hover .orb-inner,.orb-control:focus .orb-inner{animation:none!important}.prompt-ripple{display:none}.orb-control:hover .orb-inner{scale:1}.orb-tooltip{transition:none}.scene-symbol{opacity:.3}.hero .prompt .button:hover,.suggestions button:hover{transform:none}}

.orb-control:focus{outline:2px solid var(--brand);outline-offset:7px}.orb-control{min-width:44px;min-height:44px}
.orb-control{border-radius:29%}@media(max-width:720px){.header:before{height:68px}}
/* R09 independent review: full-opacity body copy keeps the approved layout. */
#why p{opacity:1}

/* User-authorised standard blue-violet wordmark. No recolouring or geometry edits. */
.header .brand,.footer-main .brand,.dialog-top .brand{box-sizing:content-box;width:120px;padding:6.75px;background:#fff;border-radius:4px;flex-shrink:0}
.brand img.wordmark{width:120px;height:27px;object-fit:contain;display:block}
