@font-face{font-family:satoshi;src:url(../media/satoshi_400-s.p.2oultpqxb_gh9.woff2)format("woff2");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:satoshi;src:url(../media/satoshi_500-s.p.2gbh8zsgu5xby.woff2)format("woff2");font-display:swap;font-weight:500;font-style:normal}@font-face{font-family:satoshi;src:url(../media/satoshi_700-s.p.19z5sx2nusz2v.woff2)format("woff2");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:satoshi Fallback;src:local(Arial);ascent-override:102.23%;descent-override:24.29%;line-gap-override:10.12%;size-adjust:98.8%}.M6GMMW_className{font-family:satoshi,satoshi Fallback,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}.M6GMMW_variable{--font-satoshi:"satoshi", "satoshi Fallback", ui-sans-serif, system-ui, -apple-system, Segoe UI, sans-serif}
:root{--bg:#111;--fg:#fbf8e6;--fg-strong:#fff;--muted:#a8a59a;--line:#2b2a27;--red:#d92b1c;--on-red:#fbf8e6;--ray:#fbf8e613;--cover-bg:#181816;--font:var(--font-satoshi), ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--t-small:.875rem;--t-body:1.0625rem;--t-lead:clamp(1.125rem, 1.6vw, 1.3125rem);--t-title:clamp(2.75rem, 6vw, 5rem);--t-display:clamp(3rem, 8vw, 6rem);--gutter:clamp(16px, 3vw, 48px);--rail:264px;--hero-top:clamp(96px, 22vh, 230px);--ease:cubic-bezier(.16, 1, .3, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--bg:#fbf8e6;--fg:#111;--fg-strong:#000;--muted:#6e6b62;--line:#dcd8c3;--ray:#fffffff2;--cover-bg:#f2eeda;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scrollbar-color:var(--line) var(--bg)}@media (pointer:coarse){html{scroll-snap-type:y proximity}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--t-body);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;caret-color:var(--red);margin:0;line-height:1.55}::selection{background:var(--red);color:var(--on-red)}a{color:inherit}a:focus-visible,.button:focus-visible{outline:2px solid var(--fg);outline-offset:4px;border-radius:2px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance;font-weight:500}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.icon{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;width:1em;height:1em;transition:transform .4s var(--ease)}.lockup{letter-spacing:-.025em;align-items:baseline;gap:.16em;font-size:1.375rem;font-weight:500;line-height:1;display:inline-flex}.lockup img{width:auto;height:.73em;display:block}.lockup .mark-light,:root[data-theme=light] .lockup .mark-dark{display:none}:root[data-theme=light] .lockup .mark-light{display:block}.lockup-small{font-size:1.125rem}.home{padding-block:6px;text-decoration:none;display:inline-flex}.rays{z-index:-3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.rays-fixed{position:fixed}.rays span{top:-15%;left:var(--left);width:var(--width);transform-origin:50% 0;height:120%;transform:translateX(-50%) rotate(var(--angle));background:linear-gradient(to bottom, var(--ray) 0%, transparent 70%);filter:blur(32px);opacity:.7;animation:ray-sway var(--duration) ease-in-out var(--delay) infinite alternate;position:absolute}@keyframes ray-sway{0%{transform:translateX(-50%) rotate(calc(var(--angle) - 4deg));opacity:.45}to{transform:translateX(-50%) rotate(calc(var(--angle) + 4deg));opacity:.9}}.grain{z-index:-3;pointer-events:none;background-color:var(--fg);opacity:.14;position:fixed;inset:0;-webkit-mask-image:url(/grain.svg);mask-image:url(/grain.svg);-webkit-mask-size:216px 216px;mask-size:216px 216px}.hero-bg{z-index:-1;height:100svh;min-height:560px;position:absolute;inset:0 0 auto;overflow:hidden}.field{width:100%;height:100%;position:absolute;inset:0}.readout{right:max(var(--gutter), env(safe-area-inset-right,0px));letter-spacing:.04em;color:var(--muted);white-space:pre;pointer-events:none;font-size:.75rem;position:absolute;bottom:28px}.theme-corner{top:calc(env(safe-area-inset-top,0px) + 26px);right:max(var(--gutter), env(safe-area-inset-right,0px));z-index:20;position:fixed}.theme{width:36px;height:36px;color:var(--muted);cursor:pointer;transition:color .3s var(--ease);background:0 0;border:0;border-radius:50%;place-items:center;margin-right:-10px;padding:0;display:grid}.theme:hover{color:var(--fg)}.theme:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.theme svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;width:15px;height:15px}.theme .moon,:root[data-theme=light] .theme .sun{display:none}:root[data-theme=light] .theme .moon{display:block}.shell{grid-template-columns:minmax(0, 1fr) var(--rail);padding-left:max(var(--gutter), env(safe-area-inset-left,0px));padding-right:max(var(--gutter), env(safe-area-inset-right,0px));gap:clamp(32px,4vw,72px);display:grid}.rail{flex-direction:column;height:100svh;padding-block:22px 28px;display:flex;position:sticky;top:0}.rail-tree{margin-top:calc(var(--hero-top) - 22px)}.main{min-width:0}.top-home{position:absolute;top:22px}.tree ul{margin:0;padding:0;list-style:none}.tree-fold{opacity:0;transition:grid-template-rows .45s var(--ease), opacity .3s var(--ease);grid-template-rows:0fr;display:grid}.tree-fold>ul{min-height:0;overflow:hidden}.is-open>.tree-fold{opacity:1;grid-template-rows:1fr}.tree-fold>ul{border-left:1px solid color-mix(in srgb, var(--fg) 9%, transparent);margin-left:6px;padding-left:14px}.tree-row{width:100%;min-height:28px;font:inherit;text-align:left;color:color-mix(in srgb, var(--muted) 85%, transparent);cursor:pointer;transition:color .3s var(--ease);background:0 0;border:0;align-items:center;gap:6px;padding:0;font-size:.875rem;text-decoration:none;display:flex}.tree-row:hover,.tree-row.is-current{color:var(--fg)}.tree-row:focus-visible{outline:2px solid var(--fg);outline-offset:2px;border-radius:2px}.tree-folder{margin-left:-2px}.tree-chevron{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.7;width:12px;height:12px;transition:transform .35s var(--ease);flex:none}.is-open>.tree-folder .tree-chevron{transform:rotate(90deg)}.tree-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.is-planned:not(.is-current):not(:hover){color:color-mix(in srgb, var(--muted) 55%, transparent)}@media (prefers-reduced-motion:reduce){.tree-fold,.tree-chevron{transition:none}}.hero-section{scroll-snap-align:start;height:100svh;min-height:560px}.intro{padding-top:var(--hero-top);justify-items:start;gap:22px;display:grid}.intro h1{font-size:var(--t-display);letter-spacing:-.035em;line-height:.98}.intro>p{max-width:30ch;font-size:var(--t-lead);color:var(--muted);line-height:1.45}.actions{flex-wrap:wrap;align-items:center;gap:12px 28px;margin-top:8px;display:flex}.button{background:var(--fg);min-height:46px;color:var(--bg);font:inherit;cursor:pointer;transition:background-color .3s var(--ease);border:0;border-radius:3px;align-items:center;gap:10px;padding-inline:20px;font-size:1rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--fg-strong)}.actions .button:hover .icon{transform:translateY(2px)}.projects-section{position:relative}.snap{scroll-snap-align:start;width:1px;height:1px;position:absolute;left:0}.projects-panel{grid-template-rows:minmax(0,1fr) auto;height:100svh;padding-block:24px 28px;display:grid;position:sticky;top:0}.wheel-layout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(40px,5vw,96px);min-height:0;display:grid}.wheel{outline:none;height:min(76svh,720px);position:relative;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.wheel:focus-visible .wheel-item.is-active .wheel-name{text-underline-offset:10px;text-decoration:underline;text-decoration-thickness:1px}.wheel-item{height:80px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;transform-origin:100%;will-change:transform, opacity, filter;transition:color .4s var(--ease);background:0 0;border:0;align-items:center;gap:16px;margin-top:-40px;padding:0;display:flex;position:absolute;top:50%;right:0}.wheel-name{letter-spacing:-.03em;order:1;font-size:clamp(2rem,3.2vw,3.125rem);font-weight:500;line-height:1.05}.wheel-id{width:2.25rem;font-size:var(--t-small);text-align:left;order:2}.wheel-item.is-active{color:var(--fg)}.preview{gap:22px;min-width:0;display:grid}.preview-cover{aspect-ratio:16/10;background:var(--cover-bg);width:100%;max-height:52svh;animation:preview-in .7s var(--ease) both;border-radius:4px;overflow:hidden}.cover-canvas{width:100%;height:100%;display:block}.preview-text{animation:preview-in .7s var(--ease) 60ms both;justify-items:start;gap:10px;display:grid}.preview-text h3{letter-spacing:-.025em;font-size:clamp(1.5rem,2.4vw,2rem);line-height:1.1}.preview-line{color:var(--muted);max-width:46ch}.preview .button{margin-top:10px}.preview .button:hover .icon{transform:translate(3px)}@keyframes preview-in{0%{opacity:.2;filter:blur(6px);transform:translateY(14px)}to{opacity:1;filter:none;transform:none}}.wheel-count{letter-spacing:.04em;color:var(--muted);justify-self:end;font-size:.75rem}.text-section{justify-items:start;gap:20px;padding-top:clamp(112px,18vh,200px);scroll-margin-top:32px;display:grid}.section-title{font-size:var(--t-title);letter-spacing:-.035em;line-height:1}.section-text{max-width:44ch;font-size:var(--t-lead);color:var(--muted);line-height:1.5}.contact-body{width:100%;max-width:40rem;margin-top:16px}.contact-form{gap:22px;display:grid}.form-field{gap:8px;display:grid}.form-field label{font-size:var(--t-small);color:var(--muted);font-weight:500}.form-field input,.form-field textarea{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--fg);font:inherit;resize:vertical;transition:border-color .3s var(--ease);background:0 0;border-radius:0;padding:10px 0 12px;font-size:1.125rem}.form-field textarea{min-height:128px;line-height:1.5}.form-field input::placeholder,.form-field textarea::placeholder{color:var(--muted);opacity:.7}.form-field input:focus,.form-field textarea:focus{border-bottom-color:var(--fg);outline:none}.form-error{color:var(--red);font-size:var(--t-small);font-weight:500}.form-actions{justify-items:start;gap:14px;margin-top:4px;display:grid}.form-actions .button:hover .icon{transform:translate(3px)}.form-note{font-size:var(--t-small);color:var(--muted)}.contact-address{color:var(--fg);-webkit-user-select:all;user-select:all}.copy{border:1px solid var(--line);min-height:28px;color:var(--muted);font:inherit;cursor:pointer;transition:color .3s var(--ease), border-color .3s var(--ease);background:0 0;border-radius:3px;margin-left:4px;padding:0 10px;font-size:.8125rem}.copy:hover{color:var(--fg);border-color:var(--fg)}.copy:focus-visible{outline:2px solid var(--fg);outline-offset:2px}.foot{border-top:1px solid var(--line);font-size:var(--t-small);color:var(--muted);justify-content:space-between;align-items:baseline;gap:16px;margin-top:clamp(112px,16vh,180px);padding-block:28px 36px;display:flex}.foot .lockup{color:var(--fg)}.nf{min-height:100svh;padding:22px max(var(--gutter), env(safe-area-inset-left,0px));align-content:start;justify-items:start;gap:20px;display:grid}.nf .section-title{margin-top:var(--hero-top)}@media (prefers-reduced-motion:reduce){.rays span,.preview-cover,.preview-text{animation:none}}@media (max-width:900px){:root{--hero-top:clamp(64px, 14vh, 140px)}.shell{grid-template-columns:minmax(0,1fr)}.rail{display:none}.projects-panel{padding-block:16px 20px}.wheel-layout{grid-template-columns:minmax(0,1fr);align-content:center;gap:16px}.wheel{height:240px}.wheel-item{height:64px;margin-top:-32px}.wheel-name{font-size:1.75rem}.preview-cover{max-height:30svh}}@media (max-width:520px){.lockup{font-size:1.25rem}}
