:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--c-cream:#fcf5ea;--c-sand-light:#f4e3c6;--c-sand:#e8cc9f;--c-sand-deep:#d2ae7c;--c-stone:#f1dcb8;--c-peach-light:#fbd9c4;--c-peach:#f5b394;--c-coral:#ec6a4c;--c-coral-deep:#d4553b;--c-coral-dark:#b14432;--c-teal-light:#a6dbd0;--c-teal:#5db4ad;--c-teal-deep:#3b8b8a;--c-lily:#84c7a2;--c-pink:#f4a3b2;--c-glow:#fff4dc;--c-butter:#ffd98a;--c-horizon:#f8d2bf;--c-sky:#f3bcc4;--c-plum:#3d2c3e;--c-plum-soft:#7b6474;--bg:var(--c-cream);--surface:#fffaf2;--text:var(--c-plum);--text-muted:var(--c-plum-soft);--accent:var(--c-coral);--accent-strong:var(--c-coral-deep);--line:color-mix(in srgb, var(--c-plum) 12%, transparent);--glow-strong:color-mix(in srgb, var(--c-glow) 70%, var(--c-peach));--font-display:"Fraunces", "Iowan Old Style", Georgia, serif;--font-body:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.22, 1, .36, 1);--gutter:clamp(16px, 4vw, 48px)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:17px;line-height:1.6;overflow-x:hidden}h1,h2,h3,p,ol,dl,dd{margin:0}button{font:inherit;color:inherit}a{color:inherit}::selection{background:var(--c-peach);color:var(--c-plum)}:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:6px}.label{font-family:var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted);font-size:.72rem;font-weight:600}.wrap>.label:first-child{align-items:center;gap:.8em;margin-bottom:1.6rem;display:inline-flex}.wrap>.label:first-child:before{content:"";background:var(--accent);border-radius:7px 7px 0 0;width:14px;height:18px}.display{font-family:var(--font-display);font-variation-settings:"opsz" 144;letter-spacing:-.025em;font-weight:340;line-height:1.02}.display em,.body-lg em{color:var(--accent);font-style:italic;font-weight:360}.body-lg{color:var(--text);font-size:clamp(1.1rem,1.6vw,1.35rem);line-height:1.55}.wrap{max-width:1200px;padding:0 var(--gutter);margin:0 auto}.section{padding:clamp(5rem,14vh,10rem) 0;position:relative}[data-reveal]{opacity:0;transition:opacity 1s var(--ease), transform 1s var(--ease);transition-delay:var(--d,0s);transform:translateY(28px)}[data-reveal].is-in{opacity:1;transform:none}.hero{--p:0;height:360vh;position:relative}.hero__sticky{height:100svh;position:sticky;top:0;overflow:hidden}.hero__sky{background:linear-gradient(180deg, var(--c-sky) 0%, var(--c-horizon) 48%, var(--c-peach-light) 100%);position:absolute;inset:0}.hero__sun{aspect-ratio:1;width:46vmin;transform:translate(-50%, -50%) translateY(calc(var(--p) * 30vh));background:radial-gradient(circle, var(--c-glow) 0%, color-mix(in srgb, var(--c-glow) 0%, transparent) 70%);opacity:.9;border-radius:50%;position:absolute;top:18%;left:50%}.hero__canvas{touch-action:pan-y;width:100%;height:100%;display:block;position:absolute;inset:0}.hero__type{text-align:center;pointer-events:none;padding:0 var(--gutter);position:absolute;top:clamp(64px,10vh,120px);left:0;right:0}.hero__title{font-family:var(--font-display);font-variation-settings:"opsz" 144;letter-spacing:-.045em;color:var(--c-plum);white-space:nowrap;justify-content:center;font-size:clamp(4.2rem,16.5vw,16rem);font-weight:330;line-height:.9;display:flex}.hero__half{will-change:transform;display:inline-block}.hero__half--l{transform:translateX(calc(var(--p) * -75vw));opacity:calc(1 - (var(--p) - .3) * 3)}.hero__half--r{transform:translateX(calc(var(--p) * 75vw));opacity:calc(1 - (var(--p) - .3) * 3)}.hero__half>span{opacity:0;filter:blur(8px);display:inline-block;transform:translateY(.35em)rotateX(60deg)}.hero__half--r>span:first-child{color:var(--accent);padding-left:.04em;font-style:italic}[data-stage=orbit] .hero__half>span,[data-stage=ready] .hero__half>span{animation:letterIn 1.4s var(--ease) forwards;animation-delay:calc(1.5s + var(--i) * .14s)}@keyframes letterIn{to{opacity:1;filter:blur();transform:none}}.hero__tag{font-family:var(--font-display);color:var(--c-plum);opacity:0;transition:opacity 1.2s var(--ease), transform 1.2s var(--ease);margin-top:clamp(.6rem,2vh,1.4rem);font-size:clamp(1.15rem,2.4vw,1.9rem);font-weight:350;transform:translateY(12px)}.hero__tag em{color:var(--accent);font-style:italic}[data-stage=ready] .hero__tag{opacity:calc(1 - var(--p) * 4);transform:translateY(calc(var(--p) * -60px));transition:opacity 1.2s var(--ease), transform 0s}.hero__hud{padding:20px var(--gutter);opacity:0;transition:opacity 1.4s var(--ease) .6s;justify-content:space-between;align-items:center;display:flex;position:absolute;top:0;left:0;right:0}.hero__hud .label{color:var(--c-plum);opacity:.7}[data-stage=orbit] .hero__hud,[data-stage=ready] .hero__hud{opacity:calc(1 - (var(--p) - .8) * 8)}.hero__hud-right{align-items:center;gap:10px;display:inline-flex}.hero__meter{background:color-mix(in srgb, var(--c-plum) 15%, transparent);border-radius:3px;width:72px;height:3px;overflow:hidden}.hero__meter>span{height:100%;width:calc(var(--p) * 100%);background:var(--accent);display:block}.hero__cue{opacity:0;pointer-events:none;transition:opacity 1s var(--ease) .5s, transform 1s var(--ease) .5s;flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:clamp(24px,6vh,56px);left:0;right:0;transform:translateY(16px)}[data-stage=ready] .hero__cue{opacity:calc(1 - var(--p) * 8);pointer-events:auto;transform:none}.hero__cross{cursor:pointer;background:var(--surface);color:var(--c-plum);box-shadow:0 10px 30px -12px color-mix(in srgb, var(--c-coral-dark) 45%, transparent);transition:transform .5s var(--ease), background .4s;border:0;border-radius:999px;align-items:center;gap:12px;padding:14px 22px 14px 26px;font-size:.98rem;font-weight:500;display:inline-flex}.hero__cross svg{color:var(--accent);animation:2.2s ease-in-out infinite bob}.hero__cross:hover{background:var(--c-glow);transform:translateY(-3px)}.hero__hint{color:var(--c-plum);opacity:.6;letter-spacing:.04em;font-size:.78rem}@keyframes bob{50%{transform:translateY(4px)}}.hero__flash{pointer-events:none;background:radial-gradient(ellipse at 50% 55%, var(--c-glow) 0%, var(--bg) 70%);opacity:calc((var(--p) - .82) * 7);position:absolute;inset:0}.hero__loader{background:var(--bg);transition:opacity 1.2s var(--ease), visibility 0s 1.2s;place-items:center;display:grid;position:absolute;inset:0}.hero__loader-arch{stroke:var(--accent);stroke-dasharray:100;stroke-dashoffset:100px;animation:draw 1.4s var(--ease) infinite alternate}@keyframes draw{to{stroke-dashoffset:0}}[data-stage=orbit] .hero__loader,[data-stage=ready] .hero__loader{opacity:0;visibility:hidden}[data-nogl=true] .hero__canvas{display:none}[data-nogl=true] .hero__sky:after{content:"";aspect-ratio:3/4;background:var(--c-glow);width:min(40vw,260px);box-shadow:0 0 0 28px var(--c-stone);border-radius:999px 999px 0 0;position:absolute;bottom:12%;left:50%;transform:translate(-50%)}.idea__lead{max-width:12ch;font-size:clamp(2.8rem,8vw,7.4rem)}.idea__cols{grid-template-columns:1fr 1fr;gap:clamp(1.5rem,5vw,5rem);max-width:1000px;margin-top:clamp(2rem,5vw,4rem);display:grid}.idea__q{font-family:var(--font-display);font-size:clamp(1.5rem,2.6vw,2.2rem);line-height:1.2}.idea__aside{max-width:52ch;color:var(--text-muted);border-left:2px solid var(--c-peach);margin-top:clamp(3rem,8vw,6rem);padding-left:1.2rem}.formula{background:var(--surface);box-shadow:0 30px 80px -50px color-mix(in srgb, var(--c-coral-dark) 50%, transparent);border-radius:clamp(28px,4vw,48px);margin-top:clamp(2.5rem,6vw,4.5rem);padding:clamp(1.8rem,4vw,3.5rem)}.formula__row{grid-template-columns:1fr auto 1fr;align-items:end;gap:clamp(.5rem,3vw,3rem);display:grid}.formula__term{flex-direction:column;gap:.4rem;min-width:0;display:flex}.formula__term:last-child{text-align:right;align-items:flex-end}.formula__word{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(3rem,12vw,10rem);font-style:italic;font-weight:330;line-height:.9}.formula__term:first-child .formula__word{color:var(--c-teal-deep)}.formula__term:last-child .formula__word{color:var(--accent)}.formula__sign{font-family:var(--font-display);color:var(--c-plum);padding-bottom:.15em;font-size:clamp(4rem,14vw,12rem);font-weight:300;line-height:.8;display:inline-block}.formula__sign>span{transition:transform .9s var(--ease);display:inline-block}.is-open .formula__sign>span{transform:rotate(180deg)}.formula__bar{background:color-mix(in srgb, var(--c-plum) 8%, transparent);border-radius:10px;width:100%;height:10px;margin-top:.6rem;display:block;overflow:hidden}.formula__bar>span{border-radius:inherit;height:100%;transition:width 1s var(--ease);display:block}.formula__bar--do>span{background:var(--c-teal);width:30%}.formula__bar--avoid>span{background:var(--accent);width:92%;margin-left:auto}.is-open .formula__bar--do>span{width:70%}.is-open .formula__bar--avoid>span{width:10%}.formula__controls{flex-wrap:wrap;align-items:center;gap:1.4rem;margin-top:2rem;display:flex}.formula__note{color:var(--text-muted);max-width:46ch}.toggle{cursor:pointer;border:1px solid var(--line);background:var(--bg);border-radius:999px;align-items:center;gap:.75rem;padding:8px 16px 8px 8px;font-size:.92rem;font-weight:500;transition:background .3s;display:inline-flex}.toggle:hover{background:var(--c-glow)}.toggle__track{background:color-mix(in srgb, var(--c-plum) 18%, transparent);width:42px;height:24px;transition:background .4s var(--ease);border-radius:999px;flex:none;position:relative}.toggle__knob{background:var(--surface);width:18px;height:18px;transition:transform .4s var(--ease);box-shadow:0 1px 3px color-mix(in srgb, var(--c-plum) 30%, transparent);border-radius:50%;position:absolute;top:3px;left:3px}.toggle[aria-pressed=true] .toggle__track{background:var(--accent)}.toggle[aria-pressed=true] .toggle__knob{transform:translate(18px)}.toggle--small[aria-pressed=true] .toggle__track{background:var(--c-teal)}.river{--p:0;margin-top:clamp(4rem,10vw,8rem);position:relative}.river svg{width:100%;height:clamp(320px,38vw,520px);display:block}.river__bank{fill:var(--c-sand-light)}.river__water{fill:var(--c-teal)}.river__line{fill:none;stroke:var(--c-teal-light);stroke-width:3px;stroke-linecap:round;stroke-dasharray:60 30;stroke-dashoffset:calc(var(--p) * -600);opacity:.8;vector-effect:non-scaling-stroke}.river__line--2{stroke-dasharray:20 40;stroke-dashoffset:calc(var(--p) * 900);opacity:.5}.river__text{padding:0 var(--gutter);text-align:center;color:var(--bg);transform:translateX(calc((.5 - var(--p)) * 6vw));font-size:clamp(1.6rem,4.2vw,3.6rem);line-height:1.12;position:absolute;bottom:18%;left:0;right:0}.river__text em{color:var(--c-glow)}.house{background:linear-gradient(180deg, var(--bg) 0%, var(--c-sand-light) 50%, var(--bg) 100%)}.house__title{max-width:14ch;font-size:clamp(2.6rem,6.6vw,6rem)}.house__intro{color:var(--text-muted);max-width:44ch;margin-top:1.4rem}.house__grid{grid-template-columns:1.25fr 1fr;align-items:center;gap:clamp(1.5rem,4vw,4rem);margin-top:clamp(2rem,4vw,3rem);display:grid}.house__art{position:relative}.house__svg{width:100%;height:auto;display:block;overflow:visible}.house__glow{fill:var(--glow-strong);mix-blend-mode:normal;animation:2.4s ease-in-out infinite glowPulse}@keyframes glowPulse{0%,to{opacity:.55}50%{opacity:.95}}.house__door{transform-box:fill-box;transform-origin:0;transition:transform .8s var(--ease)}.marker{cursor:pointer;outline:none}.marker__arch{fill:var(--accent);stroke:var(--surface);stroke-width:2.5px;transition:fill .3s}.marker__num{fill:var(--surface);font:600 12px var(--font-body);pointer-events:none}.marker__pulse{fill:var(--accent);opacity:0;transform-box:fill-box;transform-origin:50%}.marker>*{transition:transform .4s var(--ease)}.marker:hover .marker__arch,.marker:focus-visible .marker__arch{transform:translateY(-3px)}.marker:focus-visible .marker__arch{stroke:var(--c-plum)}.marker.is-on .marker__arch{fill:var(--c-plum)}.marker.is-on .marker__pulse{animation:1.8s ease-out infinite pulse}@keyframes pulse{0%{opacity:.45;transform:scale(.6)}to{opacity:0;transform:scale(2)}}.card{background:var(--surface);box-shadow:0 30px 70px -40px color-mix(in srgb, var(--c-coral-dark) 55%, transparent);animation:cardIn .7s var(--ease);border-radius:999px 999px 28px 28px;padding:clamp(4.5rem,8vw,6.5rem) clamp(1.5rem,3vw,2.5rem) clamp(1.5rem,3vw,2.2rem);position:relative}@keyframes cardIn{0%{opacity:0;transform:translateY(14px)scale(.98)}}.card__head{align-items:center;gap:1rem;margin-bottom:1.6rem;display:flex}.card__num{font-family:var(--font-display);color:var(--accent);font-size:3.2rem;font-style:italic;line-height:1}.card__room{font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.4rem);font-weight:400;line-height:1.05}.card__time{margin-top:.3rem}.card__rows{gap:1rem;margin-bottom:1.6rem;display:grid}.card__rows>div{border-top:1px solid var(--line);padding-top:.9rem}.card__rows dd{margin-top:.2rem;font-size:1.08rem}.card__opens dd{font-family:var(--font-display);color:var(--c-teal-deep);font-size:1.4rem;line-height:1.25}.pager{flex-wrap:wrap;gap:8px;margin-top:1.2rem;display:flex}.pager button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:8px;padding:6px 12px 6px 6px;font-size:.82rem;transition:background .3s,border-color .3s;display:inline-flex}.pager button span{background:color-mix(in srgb, var(--c-plum) 8%, transparent);border-radius:50%;place-items:center;width:22px;height:22px;font-size:.72rem;font-weight:600;display:inline-grid}.pager button:hover{background:var(--surface)}.pager button.is-on{background:var(--c-plum);color:var(--bg);border-color:#0000}.pager button.is-on span{background:var(--accent);color:var(--surface)}.method__title{max-width:13ch;font-size:clamp(2.6rem,6.6vw,6rem)}.method__list{grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem);margin-top:clamp(2.5rem,5vw,4rem);padding:0;list-style:none;display:grid}.panel{background:var(--surface);transition:transform .6s var(--ease), box-shadow .6s var(--ease), opacity 1s var(--ease);border-radius:28px;outline:none;flex-direction:column;gap:.8rem;padding:clamp(1.6rem,2.6vw,2.2rem);display:flex}.panel:hover,.panel:focus-visible{box-shadow:0 30px 60px -40px color-mix(in srgb, var(--c-coral-dark) 60%, transparent);transform:translateY(-6px)}.panel__title{font-family:var(--font-display);margin-top:.6rem;font-size:clamp(1.7rem,2.6vw,2.2rem);font-weight:400;line-height:1.05}.panel__body{color:var(--text-muted)}.panel__eg{color:var(--c-teal-deep);font-size:.85rem;font-style:italic;font-family:var(--font-display);border-top:1px dashed var(--line);margin-top:auto;padding-top:1rem}.doorway{perspective:260px;width:80px;height:100px;position:relative}.doorway svg{width:100%;height:100%;display:block}.doorway__frame{fill:var(--c-sand)}.doorway__light{fill:var(--c-glow)}.doorway__leaf{background:var(--accent);transform-origin:0;width:44px;height:78px;transition:transform 1.1s var(--ease);font:italic 400 1.5rem var(--font-display);color:var(--surface);border-radius:22px 22px 0 0;place-items:center;display:grid;position:absolute;top:20px;left:18px}.panel.is-in .doorway__leaf{transition-delay:calc(var(--d,0s) + .5s);transform:rotateY(-28deg)}.panel:hover .doorway__leaf,.panel:focus-visible .doorway__leaf{transition-delay:0s;transform:rotateY(-72deg)}.method__note{max-width:60ch;color:var(--text-muted);margin-top:clamp(2rem,4vw,3rem)}.rules__grid{grid-template-columns:1fr 1fr;gap:clamp(1rem,2vw,1.6rem);display:grid}.rule{background:var(--c-peach-light);border-radius:999px 999px 32px 32px;padding:clamp(7rem,14vw,11rem) clamp(1.6rem,3.6vw,3rem) clamp(2rem,4vw,3rem);position:relative;overflow:hidden}.rule+.rule{background:var(--c-teal-light)}.rule__n{font-family:var(--font-display);color:#0000;-webkit-text-stroke:1.5px color-mix(in srgb, var(--c-plum) 22%, transparent);pointer-events:none;font-size:clamp(5rem,9vw,8rem);font-style:italic;font-weight:300;line-height:1;position:absolute;top:clamp(.6rem,1.4vw,1.2rem);left:50%;transform:translate(-50%)}.rule__title{margin:.8rem 0 1.2rem;font-size:clamp(2.2rem,4.8vw,4.4rem)}.rule .body-lg{color:color-mix(in srgb, var(--c-plum) 80%, transparent);max-width:30ch}.exit{--p:0;text-align:center;background:linear-gradient(180deg, var(--bg) 0%, var(--c-peach-light) 55%, var(--c-sky) 100%);min-height:130vh;padding:8rem var(--gutter) 6rem;place-items:center;display:grid;position:relative;overflow:hidden}.exit__arch{width:min(78vw,520px);height:min(118vh,1000px);transform:translateX(-50%) scale(calc(.8 + var(--p) * .3));transform-origin:50% 100%;background:var(--c-stone);box-shadow:inset 0 0 0 clamp(18px, 3vw, 32px) var(--c-sand);border-radius:999px 999px 0 0;position:absolute;bottom:0;left:50%}.exit__glow{background:radial-gradient(ellipse at 50% 60%, var(--surface) 0%, var(--c-glow) 45%, var(--c-peach-light) 100%);box-shadow:0 0 120px 40px color-mix(in srgb, var(--c-glow) 80%, transparent);transition:filter .8s var(--ease);border-radius:999px 999px 0 0;animation:6s ease-in-out infinite breathe;position:absolute;inset:clamp(18px,3vw,32px) clamp(18px,3vw,32px) 0}@keyframes breathe{50%{filter:brightness(1.06);box-shadow:0 0 180px 70px color-mix(in srgb, var(--c-glow) 90%, transparent)}}.exit__steps{flex-direction:column-reverse;align-items:center;display:flex;position:absolute;bottom:0;left:-12%;right:-12%}.exit__steps i{background:var(--c-sand);height:22px;display:block}.exit__steps i:first-child{background:var(--c-sand-deep);width:124%}.exit__steps i:nth-child(2){width:112%}.exit__steps i:nth-child(3){background:var(--c-sand-light);width:100%}.exit__copy{flex-direction:column;align-items:center;gap:1.2rem;display:flex;position:relative}.exit__line{max-width:12ch;font-size:clamp(2rem,5vw,3.8rem)}.exit__cross{font-family:var(--font-display);letter-spacing:-.04em;color:var(--accent);transition:background-size .6s var(--ease), color .3s;background:linear-gradient(currentColor,currentColor) 0 100%/0% 3px no-repeat;align-items:baseline;gap:.2em;font-size:clamp(4.4rem,13vw,10rem);font-style:italic;font-weight:330;line-height:1;text-decoration:none;display:inline-flex}.exit__cross span{transition:transform .6s var(--ease);font-size:.7em;display:inline-block}.exit__cross:hover,.exit__cross:focus-visible{color:var(--accent-strong);background-size:100% 3px}.exit__cross:hover span,.exit__cross:focus-visible span{transform:translate(.25em)}.exit:has(.exit__cross:hover) .exit__glow{filter:brightness(1.12)}.exit__foot{color:var(--c-plum);justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;bottom:18px;left:0;right:0}.exit__foot .label{color:var(--c-plum);opacity:.7}.logo{color:var(--c-plum);align-items:center;gap:.4em;display:inline-flex}.logo-mark{flex:none;display:block}.logo__word{font-family:var(--font-display);font-variation-settings:"opsz" 144;letter-spacing:-.02em;font-size:1.35rem;font-weight:400;line-height:1}.hero__logo .logo__word{font-size:1.3rem}.exit__foot .logo__word{font-size:1.15rem}.rail{z-index:10;transition:opacity .6s var(--ease);flex-direction:column;gap:14px;display:flex;position:fixed;top:50%;right:18px;transform:translateY(-50%)}.rail.is-hidden{opacity:0;pointer-events:none}.rail a{justify-content:flex-end;align-items:center;gap:10px;text-decoration:none;display:flex}.rail__label{letter-spacing:.08em;opacity:0;transition:.4s var(--ease);white-space:nowrap;background:var(--surface);border-radius:999px;padding:2px 8px;font-size:.72rem;transform:translate(6px)}.rail__dot{background:color-mix(in srgb, var(--c-plum) 22%, transparent);width:8px;height:11px;transition:.4s var(--ease);border-radius:4px 4px 0 0}.rail a:hover .rail__label,.rail a:focus-visible .rail__label{opacity:1;transform:none}.rail a.is-on .rail__dot{background:var(--accent);height:18px}@media (width<=860px){.idea__cols,.house__grid,.rules__grid,.method__list{grid-template-columns:1fr}.rail{display:none}.formula__row{grid-template-columns:1fr;gap:0}.formula__term:last-child{text-align:left;align-items:flex-start}.formula__sign{padding:.1em 0}.formula__bar--avoid>span{margin-left:0}.hero__title{font-size:21vw}.rule{border-radius:260px 260px 28px 28px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{height:100svh}.hero__half,.hero__sun,.river__text{opacity:1!important;transform:none!important}.hero__half>span{opacity:1;filter:none;transform:none;animation:none!important}.hero__tag,.hero__cue,.hero__hud{pointer-events:auto;transition:none;opacity:1!important;transform:none!important}.hero__flash{display:none}.exit__arch{transform:translate(-50%)}*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=520px){.hero__hud-right{gap:0;font-size:0}.card{border-radius:200px 200px 24px 24px}}
