.hero{padding-block:clamp(2.5rem,6vw,5.5rem) clamp(3rem,7vw,6rem);position:relative;overflow:hidden}.hero-inner{align-items:center;gap:clamp(2.5rem,5vw,4rem);display:grid}@media (min-width:1000px){.hero-inner{grid-template-columns:minmax(0,1fr) minmax(24rem,.86fr)}}.hero-copy{max-inline-size:34rem}.hero h1{margin-block-end:1.1rem}.hero-lede{margin-block-end:1.9rem}.hero-actions{margin-block-end:1rem}.hero-trust{color:var(--text-muted);margin:0;font-size:.9rem}.hero-try{color:var(--chip-accent);letter-spacing:.12em;text-transform:uppercase;text-align:center;margin:0 0 .9rem;font-size:.8rem;font-weight:600}.hero-stage{aspect-ratio:4/5;place-items:center;inline-size:100%;max-inline-size:100%;display:grid;position:relative}@media (min-width:1000px){.hero-stage{min-block-size:32rem}}.hero-backdrop{block-size:100%;inline-size:100%;position:absolute;inset:0}.hero-backdrop-rings{transform-origin:400px 430px;opacity:.55;animation:9s ease-in-out infinite alternate hero-drift}@keyframes hero-drift{0%{transform:translate(400px,430px)rotate(-4deg)}to{transform:translate(400px,430px)rotate(4deg)}}.hero-canvas{opacity:0;pointer-events:none;transition:opacity .6s var(--ease);position:absolute;inset:-6% -16%}.hero-canvas.scene-ready{opacity:1}.hero-canvas canvas{block-size:100%;inline-size:100%;display:block}.hero-stage:has(.scene-ready) .hero-backdrop-rings{opacity:0;transition:opacity .6s var(--ease)}.scene-pause{z-index:3;border:1px solid var(--border);border-radius:var(--r-pill);background:color-mix(in srgb, var(--surface) 88%, transparent);color:var(--text-muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);align-items:center;gap:.4rem;padding:.4rem .8rem;font-size:.78rem;display:inline-flex;position:absolute;inset-block-end:.6rem;inset-inline-start:.6rem}@media (prefers-reduced-motion:reduce){.scene-pause{display:none}}.hero-phone-slot{z-index:2;perspective:1400px;position:relative}.phone{inline-size:min(21rem,78vw);transform:rotateX(1.2deg)rotateY(-2deg)}.phone-frame{aspect-ratio:9/18.5;border:1px solid var(--border);background:var(--surface);border-radius:2.1rem;flex-direction:column;padding:.55rem;display:flex;overflow:hidden;box-shadow:inset 0 2px #fff9,0 34px 70px -38px #67422c8c;container-type:inline-size}.phone-status{color:var(--text-faint);justify-content:space-between;align-items:center;padding:.35rem .85rem .5rem;font-size:.68rem;font-weight:600;display:flex}.phone-status svg{block-size:20px;inline-size:20px}.phone-notch{border-radius:var(--r-pill);background:var(--surface-2);block-size:.35rem;inline-size:3.2rem}.phone-progress{gap:.28rem;margin-block-end:.9rem;padding-inline:.85rem;display:flex}.phone-progress span{border-radius:var(--r-pill);background:var(--surface-2);block-size:3px;transition:background-color var(--dur-300) var(--ease);flex:1}.phone-progress .is-current{background:var(--primary-glow)}.phone-progress .is-done{background:var(--primary)}.phone-screen{min-block-size:0;animation:screen-in var(--dur-300) var(--ease);flex-direction:column;flex:1;justify-content:center;padding:0 .85rem .5rem;display:flex;overflow-y:auto}@keyframes screen-in{0%{opacity:0;transform:translateY(10px)}}.phone-prompt{letter-spacing:-.015em;margin:0 0 .45rem;font-size:clamp(.95rem,4.6cqw,1.15rem);font-weight:600;line-height:1.28}.phone-prompt:focus-visible{outline-offset:2px}.phone-hint,.phone-privacy,.phone-note{color:var(--text-muted);margin:0 0 .7rem;font-size:clamp(.72rem,3.2cqw,.84rem);line-height:1.45}.phone-moods{flex-wrap:wrap;gap:.4rem;display:flex}.phone-moods button{border:1px solid var(--border);border-radius:var(--r-pill);background:var(--surface);min-block-size:38px;transition:border-color var(--dur-180) var(--ease), background-color var(--dur-180) var(--ease), transform var(--dur-180) var(--ease);padding:.4rem .85rem;font-size:clamp(.75rem,3.4cqw,.9rem)}.phone-moods button:hover{border-color:var(--primary-glow);transform:translateY(-1px)}.phone-moods button.is-picked{border-color:var(--primary);background:var(--primary);color:var(--ink-on-brand);font-weight:600}.phone-breath{justify-items:center;gap:.9rem;padding-block:1.4rem .6rem;display:grid}.breath-ring{border:2px solid var(--primary-glow);background:radial-gradient(circle, var(--primary-soft) 0%, transparent 70%);block-size:8.5rem;inline-size:8.5rem;animation:breathe 12s var(--ease) infinite;border-radius:50%}@keyframes breathe{0%{transform:scale(.62)}33%{transform:scale(1)}66%{transform:scale(1)}to{transform:scale(.62)}}.breath-ring.is-static{animation:none;transform:scale(.9)}.phone-breath-label{margin:0;font-size:clamp(.85rem,3.8cqw,1rem);font-weight:600}.phone-link{color:var(--text-muted);text-underline-offset:.2em;background:0 0;border:0;font-size:.82rem;text-decoration:underline}.phone-reflect textarea{border:1px solid var(--border);border-radius:var(--r-12);background:var(--background);resize:none;inline-size:100%;padding:.6rem .7rem;font-size:clamp(.78rem,3.4cqw,.92rem);line-height:1.5}.phone-cta{border-radius:var(--r-pill);background:var(--primary);min-block-size:42px;inline-size:100%;color:var(--ink-on-brand);border:0;padding:.5rem 1rem;font-size:clamp(.8rem,3.6cqw,.94rem);font-weight:600}.phone-cta:hover{background:var(--primary-strong)}.phone-grid{grid-template-columns:repeat(3,1fr);gap:.35rem;margin-block:.6rem .8rem;display:grid}.phone-grid button{aspect-ratio:1;border:1px solid var(--border-soft);border-radius:var(--r-12);background:var(--background);transition:border-color var(--dur-180) var(--ease);place-items:center;display:grid}.phone-grid button:hover{border-color:var(--primary-glow)}.dot-centred,.dot-off{aspect-ratio:1;border:1.5px solid var(--primary);border-radius:50%;inline-size:62%;position:relative}.dot-centred:after,.dot-off:after{content:"";aspect-ratio:1;background:var(--primary);border-radius:50%;inline-size:22%;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.dot-off:after{transform:translate(-50%, -50%) rotate(var(--dot-angle,40deg)) translateX(.55rem)}.phone-grid button:nth-child(2n) .dot-off:after{--dot-angle:140deg}.phone-grid button:nth-child(3n) .dot-off:after{--dot-angle:250deg}.phone-done{gap:.6rem;display:grid}.phone-reflection{border-inline-start:3px solid var(--primary-glow);border-radius:0 var(--r-12) var(--r-12) 0;background:var(--primary-soft);color:var(--brand-text);font-family:var(--font-serif);margin:0;padding:.75rem .85rem;font-size:clamp(.8rem,3.5cqw,.94rem);font-style:italic;line-height:1.5}.phone-tabs{border-block-start:1px solid var(--border-soft);color:var(--text-faint);justify-content:space-around;align-items:center;padding-block:.55rem .35rem;display:flex}.phone-tabs svg{block-size:19px;inline-size:19px}.phone-tabs svg:first-child{color:var(--primary)}.hero-reveal{animation:hero-rise .76s var(--ease) both}.hero h1.hero-reveal,.hero .hero-lede.hero-reveal{animation-name:hero-lift}.hero-copy .hero-reveal:first-child{animation-delay:60ms}.hero-copy .hero-reveal:nth-child(2){animation-delay:90ms}.hero-copy .hero-reveal:nth-child(3){animation-delay:.14s}.hero-copy .hero-reveal:nth-child(4){animation-delay:.3s}.hero-copy .hero-reveal:nth-child(5){animation-delay:.36s}.hero-stage-column{animation-delay:.22s}@keyframes hero-rise{0%{opacity:0;transform:translateY(16px)}}@keyframes hero-lift{0%{transform:translateY(14px)}}.marquee-section{border-block:1px solid var(--border-soft);background:var(--surface-2);padding-block:clamp(1rem,2vw,2rem)}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee-track{inline-size:max-content;animation:34s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}[dir=rtl] .marquee-track{animation-direction:reverse}@keyframes marquee{to{transform:translate(-50%)}}.marquee-list{align-items:center;gap:2.5rem;margin:0;padding:0 1.25rem;list-style:none;display:flex}.marquee-list li{color:var(--text-muted);letter-spacing:-.02em;white-space:nowrap;align-items:center;gap:2.5rem;font-size:clamp(1.1rem,2.2vw,1.55rem);font-weight:500;display:inline-flex}.marquee-dot{background:var(--primary-glow);border-radius:50%;block-size:6px;inline-size:6px}.loop-section{padding-block:var(--section-y);overflow:hidden}@media (min-width:900px){.loop-inner{align-items:start}.loop-preview{position:sticky;inset-block-start:max(6rem,50vh - 17rem)}.loop-copy{padding-block:clamp(2rem,6vw,6rem)}}.loop-inner{align-items:center;gap:clamp(2rem,5vw,4rem);display:grid}@media (min-width:900px){.loop-inner{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}}.loop-copy{max-inline-size:34rem}.loop-steps{counter-reset:loop;gap:.6rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.loop-steps li{border-radius:var(--r-16);transition:background-color var(--dur-300) var(--ease), border-color var(--dur-300) var(--ease), opacity var(--dur-300) var(--ease);border:1px solid #0000;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1rem 1.1rem;display:grid}.loop-steps li.is-active{border-color:var(--border-soft);background:var(--surface);box-shadow:var(--shadow-sm)}.loop-steps h3{margin:0 0 .2rem;font-size:1.08rem}.loop-steps p{color:var(--text-muted);margin:0;font-size:.95rem}.loop-step-mark{background:var(--primary-soft);block-size:40px;inline-size:40px;color:var(--brand-text);border-radius:50%;place-items:center;display:grid}.loop-steps li.is-active .loop-step-mark{background:var(--primary);color:var(--ink-on-brand)}.loop-preview{place-items:center;display:grid}.loop-device{aspect-ratio:9/17;border:1px solid var(--border);background:var(--surface);inline-size:min(19rem,74vw);box-shadow:var(--shadow-lg);text-align:center;border-radius:2rem;place-items:center;padding:2rem;display:grid;position:relative}.loop-screen{opacity:0;transition:opacity var(--dur-300) var(--ease), transform var(--dur-300) var(--ease);place-content:center;justify-items:center;gap:1rem;display:grid;position:absolute;inset:2rem;transform:translateY(14px)}.loop-screen.is-shown{opacity:1;transform:none}.loop-screen p{letter-spacing:-.02em;margin:0;font-size:1.15rem;font-weight:600}.loop-screen-mark{border:1px solid var(--primary-glow);background:var(--primary-soft);block-size:64px;inline-size:64px;color:var(--brand-text);border-radius:50%;place-items:center;display:grid}.why-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,17rem),1fr));gap:1rem;display:grid}.why-card{border:1px solid var(--border-soft);border-radius:var(--r-20);background:var(--surface);transition:transform var(--dur-180) var(--ease), border-color var(--dur-180) var(--ease), box-shadow var(--dur-180) var(--ease);padding:clamp(1.35rem,2.5vw,1.85rem)}.why-card:hover{border-color:var(--primary-glow);box-shadow:var(--shadow);transform:translateY(-3px)}.why-card h3{margin-block-end:.5rem;font-size:1.1rem}.why-card p{color:var(--text-muted);margin:0;font-size:.96rem}@media (min-width:1080px){.why-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.why-card.is-wide{background:var(--surface-2);grid-column:span 2}}.reflect-card{align-items:center;gap:clamp(1.5rem,3vw,2.5rem);display:grid}@media (min-width:940px){.reflect-card{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}}.reflect-copy .btn{margin-block-start:.5rem}.reflect-panel{border:1px solid var(--border-soft);border-radius:var(--r-20);background:var(--surface-2);padding:clamp(1.25rem,2.5vw,1.75rem)}.reflect-typer{position:relative}.reflect-ghost,.reflect-live{font-family:var(--font-serif);margin:0;font-size:clamp(1rem,1.5vw,1.2rem);font-style:italic;line-height:1.6}.reflect-ghost{visibility:hidden}.reflect-live{color:var(--text);position:absolute;inset:0}.reflect-caret{vertical-align:-.16em;background:var(--primary);block-size:1.05em;inline-size:2px;margin-inline-start:2px;animation:1.1s steps(2,end) infinite caret;display:inline-block}@keyframes caret{50%{opacity:0}}.reflect-disclaimer{color:var(--text-muted);margin:1.25rem 0 0;font-size:.82rem}.manifesto{padding-block:clamp(4rem,9vw,7rem);position:relative;overflow:hidden}.manifesto-art{opacity:.5;pointer-events:none;inline-size:min(34rem,70vw);position:absolute;inset-block-start:50%;inset-inline-end:-8%;transform:translateY(-50%)}.manifesto-art svg{block-size:auto;inline-size:100%}.manifesto-inner{z-index:1;max-inline-size:40rem;position:relative}.manifesto-title{font-size:clamp(2.2rem,4.6vw,3.6rem)}.manifesto-lines{gap:.9rem;margin:2rem 0 0;padding:0;list-style:none;display:grid}.manifesto-lines li{border-inline-start:2px solid var(--primary-glow);color:var(--on-stage);padding-inline-start:1.15rem;font-size:clamp(1.02rem,1.5vw,1.2rem)}
