:root{--bg: #0f0f11;--fg: #ece8e1;--muted: #8f8b83;--line: rgba(236, 232, 225, .12);--line-strong: rgba(236, 232, 225, .28);--accent: #f0492a;--accent-ink: #d93a1b;--card: rgba(236, 232, 225, .03);--font-sans: "Inter Tight", "Inter", system-ui, -apple-system, "Segoe UI", sans-serif;--font-serif: "Instrument Serif", "Times New Roman", Georgia, serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", Menlo, monospace;--ease: cubic-bezier(.16, 1, .3, 1);--pad-x: clamp(1.25rem, 5vw, 5.5rem);--pad-y: clamp(6rem, 14vh, 11rem)}html[data-theme=cream]{--bg: #ebe6dd;--fg: #161514;--muted: #6b665f;--line: rgba(22, 21, 20, .14);--line-strong: rgba(22, 21, 20, .35);--accent: #d93a1b;--card: rgba(22, 21, 20, .03)}html[data-theme=signal]{--bg: #e6432a;--fg: #fbf3ea;--muted: rgba(251, 243, 234, .72);--line: rgba(251, 243, 234, .22);--line-strong: rgba(251, 243, 234, .5);--accent: #fbf3ea;--card: rgba(251, 243, 234, .06)}*,*:before,*:after{box-sizing:border-box}html{background:var(--bg);color:var(--fg);scroll-behavior:auto;transition:background-color .9s var(--ease),color .9s var(--ease)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-stopped{overflow:hidden}body{margin:0;font-family:var(--font-sans);font-size:1rem;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;cursor:none}@media(pointer:coarse){body{cursor:auto}}::selection{background:var(--accent);color:var(--bg)}a{color:inherit;text-decoration:none}h1,h2,h3,p,ul,ol,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg{display:block}button{font:inherit}#gl{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.defs{position:absolute;width:0;height:0;overflow:hidden}.aura{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(60rem 40rem at 78% 38%,rgba(240,73,42,.3),transparent 60%),radial-gradient(40rem 30rem at 15% 90%,rgba(240,73,42,.12),transparent 60%);opacity:1}main{position:relative;z-index:1}.mono{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}.serif,em{font-family:var(--font-serif);font-style:italic;font-weight:400}.label{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:inline-flex;align-items:center;gap:.6em}.label__dash{display:inline-block;width:2rem;height:1px;background:var(--line-strong)}.h2{font-size:clamp(2.6rem,6.4vw,6.4rem);font-weight:500;line-height:.98;letter-spacing:-.035em;text-wrap:balance}.h2 em{letter-spacing:-.01em}.arrow{display:inline-block;transition:transform .5s var(--ease)}a:hover .arrow{transform:translate(.3em)}a:hover .arrow:is(:only-child){transform:none}.word{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em;margin-bottom:-.08em}.word__in{display:inline-block;transform:translateY(115%);will-change:transform}[data-fade]{opacity:0;transform:translateY(28px)}.loader{position:fixed;inset:0;z-index:100;background:#0f0f11;color:#ece8e1;display:grid;place-items:center;grid-template-rows:1fr auto 1fr;padding:2rem var(--pad-x)}.loader__mark{align-self:start;justify-self:start;display:flex;align-items:center;gap:.6rem;font-weight:500;letter-spacing:-.01em}.loader__num{font-family:var(--font-mono);font-size:clamp(3rem,10vw,7rem);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1}.loader__bar{position:absolute;left:var(--pad-x);right:var(--pad-x);bottom:2.6rem;height:1px;background:#ece8e11f}.loader__bar span{position:absolute;inset:0;background:#f0492a;transform-origin:left;transform:scaleX(0)}.loader__hint{align-self:end;justify-self:end;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:#8f8b83}.cursor,.cursor-ring{position:fixed;top:0;left:0;z-index:90;pointer-events:none;border-radius:50%;will-change:transform}.cursor{width:6px;height:6px;background:var(--accent);margin:-3px 0 0 -3px;transition:background-color .9s var(--ease)}.cursor-ring{width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid var(--fg);opacity:.7;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),opacity .3s}.cursor-ring.is-hover{width:56px;height:56px;margin:-28px 0 0 -28px;opacity:.45}@media(pointer:coarse){.cursor,.cursor-ring{display:none}}.header{position:fixed;top:0;left:0;right:0;z-index:50;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1.4rem var(--pad-x);color:var(--fg);transition:color .9s var(--ease);opacity:0;transform:translateY(-10px)}.brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:500;letter-spacing:-.01em;justify-self:start}.brand__sub{color:var(--muted);font-weight:400;transition:color .9s var(--ease)}.chapter{display:inline-flex;align-items:center;gap:.7rem;font-family:var(--font-mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;justify-self:center}.chapter__num,.chapter__name{display:inline-block;overflow:hidden}.chapter__sep{width:1.6rem;height:1px;background:var(--line-strong);transition:background-color .9s var(--ease)}.nav{display:flex;align-items:center;gap:1.8rem;justify-self:end;font-size:.9rem;line-height:1}.nav a{position:relative;padding:.2rem 0}.nav a:after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}.nav a:hover:after{transform:scaleX(1);transform-origin:left}.nav__cta{padding:.5rem 1rem!important;border:1px solid var(--line-strong);border-radius:999px;transition:background-color .5s var(--ease),color .5s var(--ease),border-color .9s var(--ease)}.nav__cta:hover{background:var(--fg);color:var(--bg)}.nav__cta:after{display:none}.lang{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em}.lang__btn{background:none;border:0;padding:.2rem 0;color:var(--muted);cursor:none;font:inherit;letter-spacing:inherit;transition:color .4s var(--ease)}@media(pointer:coarse){.lang__btn{cursor:pointer}}.lang__btn:hover,.lang__btn.is-active{color:var(--fg)}.lang__sep{width:1px;height:.8em;background:var(--line-strong)}section{position:relative}.hero{min-height:100svh;display:flex;align-items:flex-end;padding:var(--pad-y) var(--pad-x) clamp(2.5rem,6vh,4rem)}.hero__inner{width:100%}.hero__label{margin-bottom:clamp(1.5rem,4vh,3rem)}.hero__title{font-size:clamp(3rem,9.4vw,9.6rem);font-weight:500;line-height:.94;letter-spacing:-.04em;margin-bottom:clamp(2rem,6vh,4.5rem)}.hero__title .line{display:block}.hero__title .line--serif{font-family:var(--font-serif);font-style:italic;font-weight:400;letter-spacing:-.015em;color:var(--accent)}.hero__foot{display:grid;grid-template-columns:minmax(0,34rem) 1fr;align-items:end;gap:2rem}.hero__sub{font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.5;color:var(--muted);text-wrap:pretty}.hero__sub .serif{color:var(--fg);font-size:1.08em}.scrollcue{justify-self:end;display:flex;align-items:center;gap:1rem;color:var(--muted)}.scrollcue__line{position:relative;width:4rem;height:1px;background:var(--line);overflow:hidden}.scrollcue__line span{position:absolute;inset:0;background:var(--fg);transform-origin:left;animation:cue 2.2s var(--ease) infinite}@keyframes cue{0%{transform:scaleX(0);transform-origin:left}50%{transform:scaleX(1);transform-origin:left}51%{transform-origin:right}to{transform:scaleX(0);transform-origin:right}}.manifesto{padding:var(--pad-y) var(--pad-x);min-height:100svh;display:flex;align-items:center}.manifesto__inner{max-width:62rem;margin-left:auto}.manifesto__text{margin-top:2.5rem;font-size:clamp(1.7rem,3.6vw,3.6rem);line-height:1.16;letter-spacing:-.025em;font-weight:400;text-wrap:pretty}.manifesto__text .w{opacity:.16;display:inline}.manifesto__text em{color:var(--accent)}.facts{display:flex;flex-wrap:wrap;gap:.6rem 2.4rem;margin-top:clamp(2.5rem,6vh,4rem);color:var(--muted)}.facts li{position:relative;padding-left:1rem}.facts li:before{content:"";position:absolute;left:0;top:.55em;width:4px;height:4px;border-radius:50%;background:var(--accent)}.work{height:100svh;overflow:hidden}.work__track{display:flex;height:100%;will-change:transform}.panel{flex:0 0 auto;width:clamp(24rem,36vw,34rem);height:100%;padding:clamp(5rem,14vh,8rem) clamp(1.5rem,2.6vw,2.8rem) clamp(2.5rem,7vh,4rem);border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:flex-end;position:relative;transition:background-color .6s var(--ease)}.panel:hover{background:var(--card)}.panel--intro{width:clamp(28rem,52vw,56rem);padding-left:var(--pad-x);border-left:0;justify-content:center;gap:1.6rem}.panel--intro .h2{max-width:12ch}.panel__lead{max-width:30rem;color:var(--muted);font-size:1.05rem}.panel__arrow{color:var(--muted);margin-top:1rem}.panel__fig{position:absolute;top:clamp(5rem,14vh,8rem);right:clamp(1.5rem,2.6vw,2.8rem);width:clamp(7rem,9vw,9.5rem);color:var(--muted);opacity:.9}.panel__fig .draw>*{stroke-dasharray:1;stroke-dashoffset:1}.panel__fig .accent{stroke:var(--accent)}.panel__num{font-family:var(--font-mono);font-size:clamp(3.4rem,6vw,6rem);line-height:1;letter-spacing:-.04em;color:var(--line-strong);margin-bottom:1.2rem;will-change:transform}.panel__title{font-size:clamp(1.6rem,2.2vw,2.3rem);font-weight:500;letter-spacing:-.03em;line-height:1.05;margin-bottom:.9rem}.panel__text{color:var(--muted);font-size:1rem;max-width:26rem;text-wrap:pretty}.panel--outro{width:clamp(28rem,48vw,50rem);justify-content:center;gap:2rem;padding-right:var(--pad-x)}.panel__quote{font-family:var(--font-serif);font-style:italic;font-size:clamp(1.8rem,3vw,3rem);line-height:1.15;max-width:20ch}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;font-size:1rem;padding:.9rem 1.4rem;border:1px solid var(--line-strong);border-radius:999px;width:fit-content;transition:background-color .5s var(--ease),color .5s var(--ease)}.link-arrow:hover{background:var(--fg);color:var(--bg)}.method{min-height:520svh}.method__sticky{position:sticky;top:0;height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(5.5rem,13vh,8rem) var(--pad-x) clamp(2rem,5vh,3.5rem)}.method__head .h2{margin-top:1.2rem}.method__grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;flex:1;min-height:0}.method__big{position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center}.method__bignum{font-family:var(--font-mono);font-size:clamp(6rem,18vw,20rem);line-height:.85;letter-spacing:-.06em;color:var(--fg);display:block}.method__bigname{font-family:var(--font-serif);font-style:italic;font-size:clamp(2rem,4vw,4rem);margin-top:1rem;display:block;color:var(--accent)}.method__progress{position:absolute;left:0;bottom:0;width:min(100%,24rem);height:1px;background:var(--line)}.method__progress span{position:absolute;inset:0;background:var(--fg);transform-origin:left;transform:scaleX(0)}.steps{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.step{display:grid;grid-template-columns:3rem 1fr;gap:1rem;padding:1.15rem 0;border-bottom:1px solid var(--line);opacity:.35;transition:opacity .6s var(--ease),padding .6s var(--ease)}.step.is-active{opacity:1}.step__num{color:var(--muted);padding-top:.35rem}.step__title{font-size:1.35rem;font-weight:500;letter-spacing:-.02em}.step__text{color:var(--muted);font-size:.98rem;max-width:34rem;margin-top:.3rem;display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}.step__text:before{content:""}.step__text{overflow:hidden}.step.is-active .step__text{grid-template-rows:1fr}.method__note{font-size:clamp(1.4rem,2.4vw,2.2rem);color:var(--muted);align-self:flex-end}.system{padding:var(--pad-y) var(--pad-x);min-height:100svh}.system__inner{max-width:84rem;margin:0 auto}.system__title{margin-top:1.2rem}.system__lead{color:var(--muted);font-size:1.1rem;max-width:34rem;margin:1.6rem 0 clamp(3rem,7vh,5rem)}.cards{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.card{position:relative;padding:2rem 1.6rem 2.4rem;min-height:22rem;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:.8rem;overflow:hidden;--mx: 50%;--my: 50%}.card__title{margin-top:auto;padding-top:clamp(5rem,10vh,8rem)}.card__text{min-height:4.5em}.card:before{content:"";position:absolute;inset:0;background:radial-gradient(28rem circle at var(--mx) var(--my),rgba(240,73,42,.18),transparent 45%);opacity:0;transition:opacity .5s var(--ease);pointer-events:none}.card:hover:before{opacity:1}.card__num{position:absolute;top:1.6rem;left:1.6rem;color:var(--muted)}.card__title{font-size:1.6rem;font-weight:500;letter-spacing:-.03em}.card__text{color:var(--muted);font-size:.98rem;text-wrap:pretty}.studio{padding:var(--pad-y) var(--pad-x) 0}.studio__inner{max-width:84rem;margin:0 auto}.studio__title{margin-top:1.2rem;max-width:14ch}.studio__cols{display:grid;grid-template-columns:1.3fr 1fr;gap:clamp(2rem,6vw,6rem);margin-top:clamp(3rem,7vh,5rem)}.studio__about{display:flex;flex-direction:column;gap:1.4rem;font-size:clamp(1.1rem,1.5vw,1.35rem);line-height:1.45;text-wrap:pretty;max-width:38rem}.studio__meta{display:flex;flex-direction:column;gap:0;border-top:1px solid var(--line)}.studio__meta>div{display:grid;grid-template-columns:9rem 1fr;gap:1rem;padding:1.4rem 0;border-bottom:1px solid var(--line)}.studio__meta dt{color:var(--muted);padding-top:.3rem}.studio__meta dd{line-height:1.6}.ticker{margin-top:clamp(4rem,10vh,7rem);border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden;padding:1.1rem 0}.ticker__track{display:flex;gap:3rem;width:max-content;animation:ticker 40s linear infinite;font-family:var(--font-serif);font-style:italic;font-size:1.6rem;color:var(--muted);white-space:nowrap}.ticker__track span:after{content:"·";margin-left:3rem;color:var(--accent);font-style:normal}@keyframes ticker{to{transform:translate(-50%)}}.contact{min-height:100svh;display:flex;flex-direction:column;justify-content:space-between;padding:var(--pad-y) var(--pad-x) 1.8rem}.contact__inner{max-width:84rem;margin:0 auto;width:100%;flex:1;display:flex;flex-direction:column;justify-content:center;gap:1.4rem}.contact__title{font-size:clamp(3.4rem,10vw,10.5rem);font-weight:500;line-height:.94;letter-spacing:-.045em}.contact__lead{color:var(--muted);font-size:1.1rem;max-width:30rem}.contact__mail{display:inline-block;width:fit-content;margin-top:clamp(1.5rem,4vh,3rem);font-family:var(--font-serif);font-style:italic;font-size:clamp(1.6rem,5.2vw,5.4rem);line-height:1;letter-spacing:-.02em;border-bottom:1px solid var(--line-strong);padding-bottom:.15em;transition:color .5s var(--ease),border-color .5s var(--ease)}.contact__mail:hover{color:var(--fg);border-color:var(--fg);opacity:.85}.contact__mail.is-rippling{filter:url(#ripple)}.contact__links{display:flex;gap:2.4rem;margin-top:1rem;color:var(--muted)}.contact__links a:hover{color:var(--fg)}.footer{display:flex;justify-content:space-between;gap:1rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap}@media(max-width:1100px){.cards{grid-template-columns:repeat(2,1fr)}.card{min-height:17rem}}@media(max-width:900px){.header{grid-template-columns:1fr auto}.chapter{display:none}.nav a:not(.nav__cta){display:none}.nav{gap:1rem}.hero__foot{grid-template-columns:1fr}.scrollcue{justify-self:start}.manifesto__inner{margin-left:0}.work{height:auto;overflow:visible}.work__track{flex-direction:column;height:auto;transform:none!important}.panel,.panel--intro,.panel--outro{width:100%;height:auto;min-height:0;border-left:0;border-top:1px solid var(--line);padding:3rem var(--pad-x);justify-content:flex-start}.panel--intro{border-top:0;padding-top:var(--pad-y)}.panel__fig{position:static;width:5rem;margin-bottom:2rem}.panel__fig .draw>*{stroke-dashoffset:0}.panel__arrow{display:none}.method{min-height:0}.method__sticky{position:static;height:auto;gap:2.5rem}.method__grid{grid-template-columns:1fr}.method__big{display:none}.step{opacity:1}.step__text{grid-template-rows:1fr}.cards{grid-template-columns:1fr}.card{min-height:0;padding:1.6rem 1.4rem 1.8rem}.card__title{padding-top:3rem}.card__text{min-height:0}.studio__cols{grid-template-columns:1fr}.studio__meta>div{grid-template-columns:1fr;gap:.4rem}.footer{flex-direction:column;gap:.6rem}}@media(prefers-reduced-motion:reduce){.scrollcue__line span,.ticker__track{animation:none}.word__in{transform:none}[data-fade]{opacity:1;transform:none}.manifesto__text .w{opacity:1}}
