:root{--void: #04060a;--ink: #0a0e15;--slate: #131a25;--bone: #ede9e1;--ceramic: #3fc8d6;--ceramic-deep: #14707f;--clay: #c9814a;--sun: #e9b85c;--text: rgba(240, 237, 231, .95);--text-dim: rgba(238, 234, 227, .8);--text-faint: rgba(236, 232, 224, .72);--ceramic-lite: #86e2ee;--line: rgba(237, 233, 225, .2);--line-soft: rgba(237, 233, 225, .12);--sky: .5;--settle: 1;--panel-alpha: calc(.6 + var(--sky) * .2);--panel-edge: rgba(237, 233, 225, .1);--panel-blur: 18px;--panel-pad: clamp(1.15rem, 2.4vw, 2.1rem);--panel-radius: 3px;--font-display: "Space Grotesk", "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--fs-display: clamp(2.3rem, 5.1vw, 4.5rem);--fs-display-sm: clamp(2.1rem, 4.7vw, 3.8rem);--fs-h2: clamp(1.9rem, 3.4vw, 2.7rem);--fs-lead: clamp(1.08rem, 1.22vw, 1.24rem);--fs-body: clamp(1rem, 1.02vw, 1.06rem);--fs-small: clamp(.94rem, .96vw, .98rem);--fs-meta: clamp(.72rem, .76vw, .78rem);--fs-role: clamp(.86rem, 1.02vw, .98rem);--gutter: clamp(1.15rem, 4vw, 4.5rem);--rail-w: clamp(3.5rem, 5vw, 6rem);--ease: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.65, 0, .35, 1);--z-canvas: 0;--z-veil: 1;--z-content: 2;--z-hud: 40;--z-overlay: 60;--z-preload: 90;--z-intro: 95;--z-cursor: 100}*,*:before,*:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;overflow-x:hidden;scrollbar-width:none}html::-webkit-scrollbar{display:none}html.is-locked{overflow:hidden}body{margin:0;min-height:100%;overflow-x:hidden;background:var(--void);color:var(--text);font-family:var(--font-display);font-size:var(--fs-body);line-height:1.55;font-weight:400;letter-spacing:-.005em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}img,svg{display:block;max-width:100%}button{font:inherit;color:inherit;background:none;border:0;padding:0}a{color:inherit;text-decoration:none}:focus-visible{outline:1px solid var(--ceramic);outline-offset:4px;border-radius:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip-link{position:fixed;top:.6rem;left:.6rem;z-index:200;padding:.6rem 1rem;background:var(--bone);color:var(--void);font-family:var(--font-mono);font-size:.7rem;letter-spacing:.12em;transform:translateY(-160%);transition:transform .3s var(--ease)}.skip-link:focus{transform:none}#stage{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:var(--z-canvas);touch-action:pan-y}#veil{position:fixed;inset:0;z-index:var(--z-veil);pointer-events:none;background:radial-gradient(132% 100% at 50% 42%,transparent 54%,rgba(9,15,26,.34) 100%),linear-gradient(to bottom,rgba(9,15,26,.26) 0%,transparent 15%,transparent 84%,rgba(9,15,26,.3) 100%)}#veil:after{content:"";position:absolute;inset:-50%;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 6s steps(6) infinite}@keyframes grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-2%)}80%{transform:translate(3%,1%)}to{transform:translate(0)}}#scroll{position:relative;z-index:var(--z-content)}.meta,.chapter-head,.kicker,.form-label,.detail-label{font-family:var(--font-mono);font-size:var(--fs-meta);font-weight:400;letter-spacing:.16em;text-transform:uppercase;color:var(--text-faint)}.heading{font-size:var(--fs-h2);font-weight:400;line-height:1.06;letter-spacing:-.03em;color:var(--text)}.lead{font-size:var(--fs-lead);line-height:1.55;color:var(--text);max-width:46ch;font-weight:400}.display{font-weight:400;font-size:var(--fs-display);line-height:.9;letter-spacing:-.04em;color:var(--text);text-transform:uppercase}.display--sm{font-size:var(--fs-display-sm)}.display-line{display:block;overflow:hidden}.display-fill{display:block;transform:translateY(105%);transition:transform 1.15s var(--ease)}.display-line.is-in .display-fill{transform:none}.display-line--out .display-fill{transition-delay:.09s}.display-line--out .display-fill{color:var(--text-dim);font-weight:300}.rule{display:inline-block;width:clamp(1.4rem,4vw,3.4rem);height:1px;background:var(--line);vertical-align:middle}.panel{position:relative;padding:var(--panel-pad);border:1px solid var(--panel-edge);border-radius:var(--panel-radius);background:rgba(9,13,21,var(--panel-alpha));box-shadow:0 20px 50px -32px #0009}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.panel{-webkit-backdrop-filter:blur(var(--panel-blur)) saturate(.86);backdrop-filter:blur(var(--panel-blur)) saturate(.86);--panel-alpha: calc(.5 + var(--sky) * .2)}}.chapter-inner{opacity:calc(.74 + var(--settle) * .26);transition:opacity .5s var(--ease)}@media(prefers-reduced-motion:reduce){.chapter-inner{opacity:1;transition:none}}.panel--soft{--panel-alpha: calc(.54 + var(--sky) * .2);box-shadow:none}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.panel--soft{--panel-alpha: calc(.48 + var(--sky) * .2)}}.panel:before{content:"";position:absolute;left:0;top:0;bottom:0;width:1px;background:linear-gradient(to bottom,var(--ceramic),transparent 72%);opacity:.34}.panel--soft:before{opacity:.16}.chips{display:flex;flex-wrap:wrap;gap:.45rem}.chips li{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.08em;padding:.42rem .72rem;color:var(--text);border:1px solid var(--line);background:#0a0e1580;border-radius:2px;transition:color .4s var(--ease),border-color .4s var(--ease),transform .5s var(--ease),opacity .5s var(--ease)}.cluster-panel:not([hidden]) .chips li{animation:chip-in .55s var(--ease) both;animation-delay:calc(var(--wi) * 26ms)}@keyframes chip-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.is-in{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.display-fill{transform:none;transition:none}#veil:after{animation:none}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.06s!important}}.preloader{position:fixed;inset:0;z-index:var(--z-preload);display:grid;grid-template-rows:auto 1fr auto;justify-items:center;gap:clamp(.8rem,2.5vh,2rem);padding:clamp(1rem,3vw,2.2rem) var(--gutter) clamp(1.2rem,3.5vw,2.6rem);background:var(--void);color:var(--bone);text-align:center;overflow:hidden}.pre-top{width:100%;display:flex;align-items:baseline;justify-content:space-between;gap:1rem;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.2em;text-transform:uppercase;color:var(--text-faint)}.pre-mark{font-family:var(--font-display);font-size:clamp(.9rem,1.25vw,1.02rem);font-weight:500;letter-spacing:.04em;color:var(--text)}.pre-mid{display:grid;justify-items:center;align-content:center;gap:clamp(1rem,3vh,2rem);width:100%;min-height:0}.pre-stage{position:relative;display:grid;place-items:center;width:min(1120px,94vw)}.pre-skyline{position:relative;width:100%;height:auto;max-height:min(46vh,400px);color:var(--bone);overflow:visible}.pre-skyline path{stroke-dasharray:1.002;stroke-dashoffset:calc(1.002 - var(--p, 0));opacity:calc(.35 + var(--p, 0) * .65)}.lm--tower path{stroke:var(--ceramic)}.pre-status{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.24em;text-transform:uppercase;color:var(--text-dim);min-height:1.2em}.pre-bar{position:relative;width:min(420px,76vw);height:1px;background:var(--line-soft);overflow:hidden}.pre-bar span{position:absolute;inset:0;background:var(--ceramic);transform:scaleX(0);transform-origin:left}.pre-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.5rem clamp(1rem,4vw,3rem);width:100%;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.18em;text-transform:uppercase;color:var(--text-faint);opacity:calc(var(--p, 0) * .85)}.pre-foot li{position:relative;white-space:nowrap}@media(max-height:620px){.pre-skyline{max-height:30vh}.pre-foot li:nth-child(n+3){display:none}}@media(max-width:700px){.pre-foot{gap:.35rem 1.2rem}.pre-foot li:nth-child(n+3){display:none}.pre-status{letter-spacing:.2em}.pre-top{font-size:.54rem;letter-spacing:.14em}.pre-stage{overflow:hidden}.pre-skyline{transform:scale(1.45);transform-origin:59.67% 50%;max-height:min(30vh,240px)}.lm--kukeldash,.lm--hotel{display:none}}@media(max-width:480px){.pre-foot{letter-spacing:.12em}.pre-foot li:nth-child(n+2){display:none}}#intro-clouds{position:fixed;inset:0;z-index:var(--z-intro);pointer-events:none;overflow:hidden;opacity:0}.cloud-wash{position:absolute;inset:0;background:radial-gradient(122% 96% at 50% 42%,#bacde2e6,#a8bcd3f2 44%,#8ea2bbfa)}.cloud-layer{position:absolute;background-repeat:no-repeat;background-size:100% 100%;transform-origin:50% 50%;will-change:transform,opacity}.hud{position:fixed;z-index:var(--z-hud);pointer-events:none;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.15em;text-transform:uppercase;color:var(--text-faint)}.hud a,.hud button{pointer-events:auto}#hud-top:before,#hud-bottom:before{content:"";position:absolute;left:0;right:0;height:155%;z-index:-1;pointer-events:none}#hud-top:before{top:0;background:linear-gradient(to bottom,rgba(4,6,10,.58),transparent)}#hud-bottom:before{bottom:0;background:linear-gradient(to top,rgba(4,6,10,.62),transparent)}#hud-top{top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:clamp(1rem,2.4vw,2rem) var(--gutter)}.mark{display:flex;align-items:baseline;gap:.6rem;color:var(--text)}.mark-glyph{font-family:var(--font-display);font-size:clamp(.9rem,1.25vw,1.02rem);font-weight:500;letter-spacing:.04em;color:var(--text)}.mark-sub{color:var(--text-faint)}.hud-right{display:flex;align-items:center;gap:clamp(.75rem,1.6vw,1.5rem)}#tk-clock{font-variant-numeric:tabular-nums;color:var(--text-dim);letter-spacing:.14em}.hours{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:999px;padding:2px;background:#090f1a47;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.hour{padding:.34em .85em;border-radius:999px;color:var(--text-faint);letter-spacing:.16em;text-transform:uppercase;white-space:nowrap;cursor:pointer;transition:color .35s var(--ease),background .35s var(--ease)}.hour:hover{color:var(--text)}.hour[aria-checked=true]{color:var(--void);background:#ede9e1d1}@media(max-width:860px){.hours{display:none}}.explore{display:flex;align-items:center;gap:.5rem;color:var(--text-faint);letter-spacing:.16em;text-transform:uppercase;cursor:pointer;transition:color .4s var(--ease)}.explore:hover,.explore:focus-visible,.explore[aria-pressed=true]{color:var(--bone)}.explore-glyph{position:relative;width:13px;height:13px;border:1px solid currentColor;border-radius:50%;transition:transform .5s var(--ease)}.explore-glyph:after{content:"";position:absolute;inset:3px;border-radius:50%;background:currentColor;transform:scale(.6);transition:transform .4s var(--ease)}.explore[aria-pressed=true] .explore-glyph{transform:rotate(135deg)}.explore[aria-pressed=true] .explore-glyph:after{transform:scale(1)}.explore-label{display:none}@media(min-width:820px){.explore-label{display:inline}}@media(pointer:coarse){.explore{display:none}}.explore-hint{position:fixed;left:50%;bottom:clamp(1.2rem,4vh,2.4rem);transform:translate(-50%);z-index:var(--z-hud);display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem clamp(.9rem,2.4vw,2rem);padding:.6rem clamp(1rem,2.4vw,1.6rem);border:1px solid var(--line);border-radius:999px;background:#090f1a6b;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);pointer-events:none}.explore-hint b{color:var(--bone);font-weight:500}.is-exploring #scroll,.is-exploring #veil,.is-exploring #rail,.is-exploring #world-labels,.is-exploring #hud-bottom{opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}.is-exploring #stage{cursor:grab}.is-exploring #stage:active{cursor:grabbing}.sound{display:flex;align-items:center;gap:.5rem;color:var(--text-faint);transition:color .4s var(--ease)}.sound:hover,.sound:focus-visible{color:var(--bone)}.sound-bars{display:flex;align-items:flex-end;gap:2px;height:12px}.sound-bars i{width:2px;height:3px;background:currentColor;transform-origin:bottom}.sound[aria-pressed=true] .sound-bars i{animation:eq 1.1s ease-in-out infinite}.sound-bars i:nth-child(2){animation-delay:.16s}.sound-bars i:nth-child(3){animation-delay:.32s}.sound-bars i:nth-child(4){animation-delay:.08s}@keyframes eq{0%,to{height:3px}50%{height:12px}}.sound-label{display:none}@media(min-width:700px){.sound-label{display:inline}}#hud-bottom{bottom:0;left:0;right:0;display:flex;align-items:flex-end;justify-content:flex-end;gap:1rem;padding:clamp(1rem,2.4vw,2rem) var(--gutter)}.scroll-cue{display:flex;align-items:center;gap:.6rem;transition:opacity .6s var(--ease)}html:not([data-chapter=home]) .scroll-cue{opacity:0}.scroll-cue span{letter-spacing:.22em}.scroll-cue i{display:block;width:1px;height:34px;background:linear-gradient(to bottom,var(--ceramic),transparent);animation:cue 2.2s var(--ease-io) infinite;transform-origin:top}@keyframes cue{0%{transform:scaleY(0);opacity:0}35%{transform:scaleY(1);opacity:1}to{transform:scaleY(1) translateY(34px);opacity:0}}#rail{position:fixed;z-index:var(--z-hud);right:clamp(.9rem,2.2vw,2rem);top:50%;transform:translateY(-50%);pointer-events:none}#rail .rail-list{display:flex;flex-direction:column;gap:clamp(.5rem,1.1vw,.9rem)}.rail-item{pointer-events:auto;display:flex;align-items:center;justify-content:flex-end;gap:.7rem;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.16em;color:var(--text-faint);cursor:pointer;transition:color .45s var(--ease)}.rail-idx{opacity:0;transform:translate(6px);transition:opacity .45s var(--ease),transform .45s var(--ease)}.rail-label{min-width:4.6em;text-align:right;opacity:.34;transition:opacity .45s var(--ease),color .45s var(--ease)}.rail-tick{width:clamp(14px,2vw,26px);height:1px;background:currentColor;opacity:.35;transition:width .55s var(--ease),opacity .45s var(--ease),background .45s var(--ease)}.rail-item:hover,.rail-item:focus-visible{color:var(--bone)}.rail-item:hover .rail-idx,.rail-item.is-active .rail-idx{opacity:.55;transform:none}.rail-item:hover .rail-label{opacity:.9}.rail-item.is-active{color:var(--bone)}.rail-item.is-active .rail-label{opacity:1}.rail-item.is-active .rail-tick{width:clamp(30px,4.4vw,54px);opacity:1;background:var(--ceramic)}.rail-progress{position:absolute;right:-.85rem;top:0;width:1px;height:100%;background:var(--ceramic);transform-origin:top;transform:scaleY(0);opacity:.5}@media(max-width:767px){#rail{right:auto;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 3.4rem);left:var(--gutter);transform:none}#rail .rail-list{flex-direction:row;gap:.55rem}.rail-item{flex-direction:column;gap:.35rem}.rail-label{display:none}.rail-idx{opacity:.4;transform:none}.rail-tick,.rail-item.is-active .rail-tick{width:18px}.rail-progress{display:none}#hud-bottom{padding-bottom:calc(env(safe-area-inset-bottom,0px) + .9rem)}.scroll-cue i{display:none}}#world-labels{position:fixed;inset:0;z-index:30;pointer-events:none;overflow:hidden}.wlabel{position:absolute;top:0;left:0;display:flex;align-items:center;gap:.7rem;padding:.35rem .6rem .35rem 0;pointer-events:auto;cursor:pointer;opacity:0;visibility:hidden;will-change:transform,opacity;transition:color .4s var(--ease);color:var(--bone)}.wlabel-tick{position:relative;flex:none;width:34px;height:1px;background:linear-gradient(to right,var(--ceramic),rgba(63,200,214,.15))}.wlabel-tick:before{content:"";position:absolute;left:-3px;top:-3px;width:7px;height:7px;border:1px solid var(--ceramic);border-radius:50%;background:#04060ab3}.wlabel-body{display:grid;gap:.12rem;text-align:left}.wlabel-name{font-family:var(--font-mono);font-size:clamp(.66rem,.84vw,.76rem);letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim);text-shadow:0 1px 10px rgba(4,6,10,.8)}.wlabel-place{font-family:var(--font-mono);font-size:clamp(.52rem,.6vw,.6rem);letter-spacing:.12em;text-transform:uppercase;color:var(--ceramic);opacity:.85;text-shadow:0 1px 9px rgba(4,6,10,.8)}.wlabel:hover .wlabel-tick{background:var(--ceramic)}.wlabel:hover .wlabel-name{color:var(--ceramic)}@media(max-width:767px){.wlabel-place{display:none}.wlabel-tick{width:20px}}.cursor{position:fixed;inset:0;z-index:var(--z-cursor);pointer-events:none;mix-blend-mode:screen}.cursor-dot,.cursor-ring,.cursor-label{position:absolute;top:0;left:0;will-change:transform}.cursor-dot{width:4px;height:4px;margin:-2px 0 0 -2px;background:var(--bone);border-radius:50%}.cursor-ring{width:26px;height:26px;margin:-13px 0 0 -13px;border:1px solid rgba(237,233,225,.4);border-radius:50%;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease),border-color .4s var(--ease)}.cursor.is-hot .cursor-ring{width:46px;height:46px;margin:-23px 0 0 -23px;border-color:var(--ceramic)}.cursor.is-down .cursor-ring{width:18px;height:18px;margin:-9px 0 0 -9px}.cursor.is-out{opacity:0}.cursor-label{font-family:var(--font-mono);font-size:.58rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ceramic);padding-left:34px;padding-top:-2px;white-space:nowrap;opacity:0;transition:opacity .35s var(--ease)}.cursor.has-label .cursor-label{opacity:1}html.has-cursor,html.has-cursor *{cursor:none!important}@media(pointer:coarse){.cursor{display:none}html.has-cursor,html.has-cursor *{cursor:auto!important}}.chapter{position:relative;min-height:100svh;display:grid;align-content:center;padding:clamp(5.5rem,12vh,9rem) calc(var(--gutter) + var(--rail-w)) clamp(6rem,12vh,8rem) var(--gutter)}.chapter:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none}.chapter>*{position:relative;z-index:1}.chapter--home:before{background:linear-gradient(to top,rgba(10,16,27,.3),transparent 32%)}.chapter--about:before{background:linear-gradient(to right,rgba(10,16,27,.24),transparent 36%)}.chapter--stack:before{background:linear-gradient(to top,rgba(10,16,27,.24),transparent 38%)}.chapter--work:before{background:linear-gradient(to left,rgba(10,16,27,.24),transparent 36%)}.chapter--path:before{background:linear-gradient(to right,rgba(10,16,27,.26),transparent 38%)}.chapter--contact:before{background:radial-gradient(66% 54% at 30% 55%,rgba(10,16,27,.27),transparent 60%)}.display,.heading,.kicker,.chapter-head,.home-place,.roles{text-shadow:0 1px 8px rgba(6,11,20,.34)}.chapter-head{--panel-alpha: calc(.5 + var(--sky) * .2);display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.5rem .8rem;width:fit-content;max-width:100%;margin-bottom:clamp(1.2rem,3vh,2.2rem);padding:.5rem .9rem;border:1px solid var(--panel-edge);border-radius:2px;background:rgba(9,13,21,var(--panel-alpha))}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.chapter-head{-webkit-backdrop-filter:blur(14px) saturate(.9);backdrop-filter:blur(14px) saturate(.9)}}.chapter-head .idx{color:var(--ceramic-lite)}.chapter-head .nav-name{color:var(--text-dim);letter-spacing:.18em}.chapter-head .code{color:var(--text-faint);letter-spacing:.14em}.chapter-head .code:before{content:"· ";opacity:.6}.btn{display:inline-flex;align-items:center;gap:.7rem;padding:.78rem 1.35rem;border:1px solid var(--line);border-radius:2px;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.18em;color:var(--text);background:#0a0e1573;cursor:pointer;transition:color .4s var(--ease),border-color .4s var(--ease),background-color .4s var(--ease),transform .4s var(--ease)}.btn:hover,.btn:focus-visible{color:var(--bone);border-color:var(--ceramic);background:#14707f4d}.btn-arrow{transition:transform .4s var(--ease)}.btn:hover .btn-arrow{transform:translate(4px)}.btn--primary{color:var(--void);background:var(--ceramic);border-color:var(--ceramic);font-weight:500}.btn--primary:hover,.btn--primary:focus-visible{color:var(--void);background:#5fd8e4;border-color:#5fd8e4}.chapter--home{align-content:end}.home{max-width:min(100%,62rem)}.hero{display:inline-block;max-width:min(100%,34rem);padding:clamp(1.4rem,2.6vw,2.1rem) clamp(1.4rem,2.6vw,2.3rem)}.home .display{margin-left:-.05em}.roles{display:flex;flex-wrap:wrap;gap:.4rem 1.3rem;margin-top:clamp(1rem,2.6vh,1.6rem);font-family:var(--font-mono);font-size:var(--fs-role);font-weight:400;letter-spacing:.1em;color:var(--ceramic-lite);opacity:.88}.roles li{position:relative;padding-left:1.1rem;opacity:0;transform:translateY(10px);transition:opacity .8s var(--ease),transform .8s var(--ease);transition-delay:calc(.45s + var(--wi) * .09s)}.roles li.is-in{opacity:1;transform:none}.roles li:before{content:"/";position:absolute;left:0;color:var(--text-faint)}.hero-tagline{margin-top:clamp(.9rem,2.2vh,1.3rem);max-width:42ch;font-size:var(--fs-lead);line-height:1.5;color:var(--text)}.hero-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:clamp(1.3rem,3vh,1.9rem)}.home-place{display:flex;align-items:center;gap:.7rem;margin-top:clamp(1.2rem,3vh,1.8rem);padding-top:clamp(1rem,2.4vh,1.4rem);border-top:1px solid var(--line-soft);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.2em;color:var(--text-faint)}.home-place .slash{color:var(--ceramic)}.about{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:clamp(2rem,6vw,5.5rem);align-items:start;max-width:78rem}.about .heading{margin-bottom:clamp(1.2rem,3vh,2rem)}.about .lead{margin-bottom:clamp(1.2rem,3vh,1.8rem)}.prose{display:grid;gap:1.05rem;max-width:62ch;font-size:var(--fs-body);line-height:1.65;color:var(--text-dim);font-weight:400}.prose p{transition-delay:calc(var(--d, 0) * 1ms)}.facts{display:grid;gap:0;border-top:1px solid var(--line-soft)}.fact{display:grid;grid-template-columns:7.5rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line-soft)}.fact dt{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.18em;color:var(--ceramic-lite);padding-top:.15em}.fact dd{font-size:var(--fs-small);line-height:1.5;color:var(--text);font-weight:400}.stack{max-width:82rem;width:100%}.stack-head{margin-bottom:clamp(1.6rem,4vh,2.8rem)}.stack-head .heading{margin-bottom:.7rem}.stack-body{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(1.5rem,5vw,4.5rem);align-items:start}.clusters{border-top:1px solid var(--line-soft)}.cluster{width:100%;display:grid;grid-template-columns:2.4rem minmax(0,1fr) 2rem;align-items:center;gap:.9rem;padding:clamp(.6rem,1.4vh,.95rem) 0;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;transition:color .4s var(--ease),padding-left .5s var(--ease)}.cluster-idx,.cluster-count{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.14em;color:var(--text-dim);transition:color .4s var(--ease)}.cluster-count{text-align:right}.cluster-label{font-size:clamp(1.02rem,1.42vw,1.16rem);font-weight:400;letter-spacing:-.005em;color:var(--text-dim);transition:color .4s var(--ease)}.cluster:hover,.cluster.is-preview{padding-left:.6rem}.cluster:hover .cluster-label,.cluster.is-preview .cluster-label{color:var(--bone)}.cluster.is-active{padding-left:.6rem}.cluster.is-active .cluster-label{color:var(--bone)}.cluster.is-active .cluster-idx{color:var(--ceramic)}.cluster-panel{min-height:11rem}.cluster-note{font-size:var(--fs-small);color:var(--text-dim);font-weight:400;margin-bottom:1.1rem;max-width:40ch}.work{max-width:68rem;width:100%;justify-self:end}.work-head{margin-bottom:clamp(1rem,2.4vh,1.6rem)}.work-head .heading{margin-bottom:.7rem}.projects{display:grid;gap:clamp(.7rem,1.6vh,1rem)}.project{width:100%;display:grid;gap:.55rem;text-align:left;cursor:pointer;transition:transform .5s var(--ease),border-color .45s var(--ease),background-color .45s var(--ease)}.project-top{display:flex;align-items:baseline;flex-wrap:wrap;gap:.5rem .9rem;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.16em}.project-num{color:var(--ceramic);transition:color .4s var(--ease)}.project-cat{color:var(--text-dim)}.project-year{margin-left:auto;color:var(--text-faint)}.project-title{font-size:clamp(1.24rem,2vw,1.56rem);font-weight:400;letter-spacing:-.02em;line-height:1.15;color:var(--text);transition:color .4s var(--ease)}.project-summary{font-size:var(--fs-small);line-height:1.55;color:var(--text);max-width:60ch}.project-stack{display:flex;flex-wrap:wrap;gap:.4rem .5rem;margin-top:.15rem}.project-stack em{font-family:var(--font-mono);font-style:normal;font-size:var(--fs-meta);letter-spacing:.08em;padding:.28rem .55rem;border:1px solid var(--line-soft);border-radius:2px;color:var(--ceramic-lite);background:#060a108c}.project-open{display:inline-flex;align-items:center;gap:.6rem;margin-top:.35rem;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.18em;color:var(--ceramic-lite);transition:gap .4s var(--ease)}.project:hover,.project.is-active,.project:focus-visible{border-color:#3fc8d673;transform:translateY(-2px)}.project:hover .project-open,.project.is-active .project-open{gap:.95rem}.path{max-width:62rem;width:100%}.path-head{margin-bottom:clamp(1.8rem,4vh,3rem)}.path-head .heading{margin-bottom:.7rem}.stations{position:relative;padding-left:clamp(1.6rem,3vw,2.4rem)}.stations:before{content:"";position:absolute;left:0;top:.6rem;bottom:1.4rem;width:1px;background:linear-gradient(to bottom,transparent,var(--ceramic-deep) 8%,var(--ceramic-deep) 88%,transparent);opacity:.7}.station{position:relative;display:grid;grid-template-columns:7rem minmax(0,1fr);gap:clamp(.8rem,2vw,1.6rem);padding:clamp(.85rem,2.2vh,1.35rem) 0;transition-delay:calc(var(--wi) * 55ms)}.station-dot{position:absolute;left:calc(clamp(1.6rem,3vw,2.4rem)*-1);top:calc(clamp(.85rem,2.2vh,1.35rem) + .42em);width:9px;height:9px;margin-left:-4px;border-radius:50%;border:1px solid currentColor;background:var(--void);color:var(--ceramic)}.station-dot[data-kind=work]{color:var(--sun)}.station-dot[data-kind=award]{color:var(--clay)}.station-dot:after{content:"";position:absolute;inset:2px;border-radius:50%;background:currentColor;opacity:0;transition:opacity .5s var(--ease)}.station.is-in .station-dot:after{opacity:1}.station-year{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.16em;color:var(--text-dim);padding-top:.3em}.station-body{display:grid;gap:.28rem}.station-title{font-size:clamp(1.04rem,1.42vw,1.14rem);font-weight:400;letter-spacing:-.01em;color:var(--text)}.station-org{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.08em;color:var(--ceramic-lite)}.station-note{font-size:var(--fs-small);line-height:1.55;font-weight:400;color:var(--text-dim);max-width:62ch;margin-top:.35rem}.contact{max-width:80rem;width:100%}.contact-head{display:inline-block;max-width:min(100%,44rem);margin-bottom:clamp(1.4rem,3.5vh,2.4rem)}.contact .kicker{color:var(--ceramic-lite);margin-bottom:clamp(.6rem,1.6vh,1rem)}.contact .display{margin-bottom:0}.contact-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(2rem,6vw,5rem);align-items:start}.contact-side .lead{margin-bottom:clamp(1.4rem,3.5vh,2.2rem)}.links{border-top:1px solid var(--line-soft)}.links a{display:grid;grid-template-columns:5.5rem minmax(0,1fr) 1.4rem;align-items:baseline;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line-soft);transition:padding-left .5s var(--ease)}.link-label{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.18em;color:var(--text-dim);transition:color .4s var(--ease)}.link-value{font-size:var(--fs-body);color:var(--text);word-break:break-word;transition:color .4s var(--ease)}.link-static{display:grid;grid-template-columns:5.5rem minmax(0,1fr) 1.4rem;align-items:baseline;gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line-soft)}.link-arrow{color:var(--ceramic);opacity:0;transform:translate(-6px);transition:opacity .4s var(--ease),transform .4s var(--ease)}.links a:hover,.links a:focus-visible{padding-left:.6rem}.links a:hover .link-value,.links a:focus-visible .link-value{color:var(--bone)}.links a:hover .link-label,.links a:focus-visible .link-label{color:var(--ceramic)}.links a:hover .link-arrow,.links a:focus-visible .link-arrow{opacity:1;transform:none}#contact-form{display:grid;gap:.2rem}.form-label{margin-bottom:.9rem;color:var(--ceramic-lite)}.field{display:grid;gap:.35rem;padding:.7rem 0;border-bottom:1px solid var(--line-soft);transition:border-color .4s var(--ease)}.field:focus-within{border-color:var(--ceramic)}.field label{font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.18em;color:var(--text-dim)}.field input,.field textarea{width:100%;background:none;border:0;padding:0;color:var(--bone);font-family:var(--font-display);font-size:1rem;font-weight:300;line-height:1.5;resize:vertical}.field input:focus,.field textarea:focus{outline:none}.field input::placeholder,.field textarea::placeholder{color:var(--text-faint)}.submit{justify-self:start;display:inline-flex;align-items:center;gap:.8rem;margin-top:1.6rem;padding:.85rem 1.5rem;border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.16em;color:var(--text);cursor:pointer;position:relative;overflow:hidden;transition:color .45s var(--ease),border-color .45s var(--ease)}.submit:before{content:"";position:absolute;inset:0;background:var(--ceramic);transform:translateY(101%);transition:transform .6s var(--ease);z-index:-1}.submit>*{position:relative}.submit:hover:not(:disabled),.submit:focus-visible:not(:disabled){color:var(--void);border-color:var(--ceramic)}.submit:hover:not(:disabled):before,.submit:focus-visible:not(:disabled):before{transform:none}.submit:disabled{opacity:.5;cursor:default}.submit-arrow{transition:transform .45s var(--ease)}.submit:hover:not(:disabled) .submit-arrow{transform:translate(4px)}.form-status{min-height:1.4em;margin-top:.9rem;font-family:var(--font-mono);font-size:var(--fs-meta);line-height:1.6;letter-spacing:.04em;color:var(--text-dim)}.form-status[data-kind=ok]{color:var(--ceramic-lite)}.form-status[data-kind=error]{color:#e8a97e}.status-link{color:var(--ceramic-lite);text-decoration:underline;text-underline-offset:3px;transition:color .3s var(--ease)}.status-link:hover,.status-link:focus-visible{color:var(--bone)}.site-foot{display:inline-flex;flex-wrap:wrap;width:fit-content;max-width:100%;gap:.6rem clamp(1rem,3vw,2.5rem);margin-top:clamp(2rem,5vh,3.5rem);padding:.7rem 1rem;border:1px solid var(--panel-edge);border-radius:2px;background:rgba(9,13,21,var(--panel-alpha));font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.site-foot{-webkit-backdrop-filter:blur(14px) saturate(.9);backdrop-filter:blur(14px) saturate(.9)}}#detail{position:fixed;inset:0;z-index:var(--z-overlay);display:grid;place-items:center;padding:var(--gutter);background:#030509d1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .42s var(--ease)}#detail.is-open{opacity:1}.detail-panel{position:relative;width:min(46rem,100%);max-height:min(84svh,46rem);overflow-y:auto;padding:clamp(1.6rem,4vw,3rem);background:linear-gradient(160deg,#131a25f5,#06090ef7);border:1px solid var(--line);transform:translateY(20px);transition:transform .55s var(--ease);overscroll-behavior:contain}#detail.is-open .detail-panel{transform:none}.detail-close{position:absolute;top:clamp(1rem,2.5vw,1.6rem);right:clamp(1rem,2.5vw,1.6rem);width:2.4rem;height:2.4rem;display:grid;place-items:center;border:1px solid var(--line);font-family:var(--font-mono);font-size:.8rem;color:var(--text-dim);cursor:pointer;transition:color .4s var(--ease),border-color .4s var(--ease),transform .4s var(--ease)}.detail-close:hover{color:var(--bone);border-color:var(--ceramic);transform:rotate(90deg)}.detail-meta{display:flex;align-items:center;gap:.7rem;flex-wrap:wrap;font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.18em;color:var(--text-faint);margin-bottom:1.2rem;padding-right:3rem}.detail-title{font-size:clamp(1.55rem,3.4vw,2.1rem);font-weight:400;letter-spacing:-.025em;line-height:1.08;color:var(--bone);margin-bottom:1rem}.detail-summary{font-size:var(--fs-lead);line-height:1.55;font-weight:400;color:var(--text);max-width:52ch;margin-bottom:1.6rem}.detail-points{display:grid;gap:.7rem;margin-bottom:1.8rem;border-top:1px solid var(--line-soft);padding-top:1.2rem}.detail-points li{position:relative;padding-left:1.4rem;font-size:var(--fs-small);line-height:1.55;font-weight:400;color:var(--text-dim);animation:chip-in .6s var(--ease) both;animation-delay:calc(.15s + var(--wi) * 70ms)}.detail-points li:before{content:"";position:absolute;left:0;top:.62em;width:.7rem;height:1px;background:var(--ceramic)}.detail-label{margin-bottom:.7rem;color:var(--ceramic-lite)}.detail-links{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.detail-links a{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.2rem;border:1px solid var(--line);font-family:var(--font-mono);font-size:var(--fs-meta);letter-spacing:.16em;transition:color .4s var(--ease),border-color .4s var(--ease)}.detail-links a:hover{color:var(--ceramic);border-color:var(--ceramic)}@media(max-width:1023px){.about,.stack-body,.contact-body{grid-template-columns:minmax(0,1fr)}.about{gap:clamp(1.8rem,5vh,3rem)}.work{justify-self:stretch}.cluster-panel{min-height:0}}@media(max-width:767px){.chapter{padding:clamp(5rem,11vh,7rem) var(--gutter) clamp(7.5rem,14vh,9rem);align-content:center}.chapter:before{background:linear-gradient(to bottom,transparent 0%,rgba(10,16,27,.18) 34%,rgba(10,16,27,.32) 100%)!important}.chapter--home{align-content:end}.panel{--panel-alpha: calc(.72 + var(--sky) * .16);--panel-blur: 22px}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.panel{--panel-alpha: calc(.6 + var(--sky) * .18)}}.hero{display:block;max-width:100%}.fact{grid-template-columns:minmax(0,1fr);gap:.25rem}.station{grid-template-columns:minmax(0,1fr);gap:.3rem}.station-year{padding-top:0}.links a,.link-static{grid-template-columns:4.8rem minmax(0,1fr) 1rem;gap:.7rem}.roles{gap:.3rem .9rem}.site-foot{flex-direction:column;gap:.4rem}.hero-actions .btn{flex:1 1 auto;justify-content:center}}@media(max-width:400px){.home-place{letter-spacing:.2em}.links a,.link-static{grid-template-columns:minmax(0,1fr);gap:.15rem}.link-arrow{display:none}.project-year{margin-left:0}}@media(max-height:520px)and (orientation:landscape){:root{--fs-display: clamp(2.2rem, 8vh, 4rem)}.chapter{padding-top:4.5rem;padding-bottom:4.5rem}.prose p:nth-child(n+3){display:none}.hero{padding:1.1rem 1.3rem}}
