@font-face{font-family:cabinetGrotesk;src:url(../media/CabinetGrotesk_Variable-s.p.0tggw78.jkz_0.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:cabinetGrotesk Fallback;src:local(Arial);ascent-override:84.24%;descent-override:27.11%;line-gap-override:8.71%;size-adjust:103.28%}.cabinetgrotesk_d26a2048-module__bLZbXa__className{font-family:cabinetGrotesk,cabinetGrotesk Fallback}.cabinetgrotesk_d26a2048-module__bLZbXa__variable{--font-cabinet:"cabinetGrotesk", "cabinetGrotesk Fallback"}
@font-face{font-family:generalSans;src:url(../media/GeneralSans_Variable-s.p.0vawpp.iins4c.woff2)format("woff2");font-display:swap;font-weight:200 700}@font-face{font-family:generalSans Fallback;src:local(Arial);ascent-override:91.05%;descent-override:21.64%;line-gap-override:9.01%;size-adjust:110.93%}.generalsans_bfc70b93-module__fLr2ZG__className{font-family:generalSans,generalSans Fallback}.generalsans_bfc70b93-module__fLr2ZG__variable{--font-general:"generalSans", "generalSans Fallback"}
@font-face{font-family:serverMono;src:url(../media/ServerMono_Regular-s.p.0ood4aykrw47n.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:serverMono Fallback;src:local(Arial);ascent-override:65.19%;descent-override:14.49%;line-gap-override:0.0%;size-adjust:138.07%}.servermono_9fc80979-module__s5K9OG__className{font-family:serverMono,serverMono Fallback;font-weight:400}.servermono_9fc80979-module__s5K9OG__variable{--font-server-mono:"serverMono", "serverMono Fallback"}
:root{--morph:0;--text-morph:clamp(0, calc((var(--morph) - .42) / .02), 1);--bg-morph:clamp(0, calc((var(--morph) - .38) / .1), 1);--retro-bg:#0d0d0f;--phosphor:#f5f2ea;--paper:#f5f5f3;--ink:#161616;--background:var(--retro-bg);--foreground:color-mix(in oklab, var(--phosphor), var(--ink) calc(var(--text-morph) * 100%));--accent:#ff3c14;--accent-hover:#ff5a36;--accent-strong:#d13110;--surface-0:#0d0d0f;--surface-1:#1a1a1a;--surface-2:#1e1e1e;--surface-3:#111113;--line-faint:color-mix(in oklab, #f5f2ea0d, #1616160f calc(var(--text-morph) * 100%));--line-soft:color-mix(in oklab, #f5f2ea1a, #1616161f calc(var(--text-morph) * 100%));--line-mid:color-mix(in oklab, #f5f2ea38, #16161642 calc(var(--text-morph) * 100%));--text-1:color-mix(in oklab, var(--phosphor), var(--ink) calc(var(--text-morph) * 100%));--text-2:color-mix(in oklab, #f5f2eaa8, #161616b3 calc(var(--text-morph) * 100%));--text-3:color-mix(in oklab, #f5f2ea85, #1616169e calc(var(--text-morph) * 100%));--text-4:color-mix(in oklab, #f5f2ea70, #16161680 calc(var(--text-morph) * 100%));--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:40px;--space-7:60px;--space-8:80px;--space-9:120px;--fs-micro:10px;--fs-mono-sm:11px;--fs-mono:12px;--fs-label:14px;--fs-body:16px;--fs-body-lg:clamp(1.05rem, 1.6vw, 1.4rem);--fs-h3:clamp(1.25rem, 2.2vw, 1.6rem);--fs-h2:clamp(1.75rem, 4vw, 2.5rem);--fs-hero:clamp(2.5rem, 8vw, 6.5rem);--fs-stat:clamp(1.75rem, 3vw, 2.75rem);--tracking-tight:-.04em;--tracking-mono:.05em;--tracking-wide:.2em;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-out-quart:cubic-bezier(.25, 1, .5, 1);--dur-fast:.3s;--dur-move:.4s;--dur-mid:.6s;--dur-slow:1.2s;--radius-card:12px;--radius-inset:8px;--radius-control:4px;--radius-pill:999px;--card-bg:#fbfbfa;--card-border:#16161624;--card-shadow:0 1px 2px #1616160d;--well-bg:#eeeeea;--well-shadow:inset 0 0 0 1px #16161612;--z-bg:-2;--z-wash:-1;--z-content:10;--z-preview:40;--z-bezel:800;--z-drawer:850;--z-nav:900;--z-skiplink:1000;--z-cursor:2147480000;--font-display:var(--font-cabinet), "Cabinet Grotesk", sans-serif;--font-body:var(--font-general), "General Sans", sans-serif;--font-mono:var(--font-server-mono), "Server Mono", "Courier New", monospace}html{background:color-mix(in oklab, var(--retro-bg,#0d0d0f), var(--paper,#f5f5f3) calc(var(--bg-morph,0) * 100%));color:var(--foreground,#f5f2ea);scroll-behavior:auto}body{color:var(--foreground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:0 0;margin:0;padding:0;overflow-x:hidden}@property --morph{syntax:"<number>";inherits:true;initial-value:0}.bg-video-global{object-fit:cover;width:100%;height:100%;z-index:var(--z-bg);pointer-events:none;opacity:calc(1 - var(--bg-morph));will-change:opacity;position:fixed;inset:0}.modern-bg{z-index:var(--z-wash);pointer-events:none;opacity:calc(var(--bg-morph) * .86);will-change:opacity;background:radial-gradient(140% 120% at 50% 0,#fdfdfc 0%,#f5f5f3 58%,#ebebe8 100%);position:fixed;inset:0}body .cursor-dot{background-color:color-mix(in oklab, var(--phosphor), var(--ink) calc(var(--text-morph) * 100%))}body .cursor-ring{border-color:color-mix(in oklab, var(--phosphor), var(--ink) calc(var(--text-morph) * 100%))}.skip-link{top:var(--space-3);left:var(--space-3);z-index:var(--z-skiplink);font-family:var(--font-mono), monospace;font-size:var(--fs-label);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--ink);background:var(--accent);padding:var(--space-3) var(--space-5);border-radius:var(--radius-pill);transition:transform var(--dur-fast) var(--ease-out-quart);text-decoration:none;position:fixed;transform:translateY(-200%)}.skip-link:focus-visible{transform:translateY(0)}.skip-link:active{background:var(--accent-strong)}#about,#services,#work,#contact,#main{scroll-margin-top:var(--space-6)}@media (max-width:768px){#about,#services,#work,#contact,#main{scroll-margin-top:var(--space-7)}}::selection{background:color-mix(in oklab, var(--accent), var(--ink) calc(var(--bg-morph) * 100%));color:color-mix(in oklab, var(--ink), var(--paper) calc(var(--bg-morph) * 100%))}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:color-mix(in oklab, #0d0d0f, #f5f5f3 calc(var(--bg-morph) * 100%))}::-webkit-scrollbar-thumb{background:color-mix(in oklab, #222, #c9c9c4 calc(var(--bg-morph) * 100%));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#444}@keyframes caret-blink{50%{opacity:0}}.caret-blink{animation:1.1s step-end infinite caret-blink}html.lenis,html.lenis body{height:auto}.lenis-smooth{scroll-behavior:auto!important}.lenis-smooth [data-lenis-prevent]{overflow:clip}.lenis-target{scroll-behavior:auto!important}.lenis-stopped{overflow:hidden}body.has-custom-cursor,body.has-custom-cursor *{cursor:none}body.work-panel-open .site-nav{opacity:0;pointer-events:none}.crt-overlay{z-index:var(--z-bezel);pointer-events:none;transform-origin:50%;transform:translateZ(0) scale(calc(1 + var(--morph) * .08));opacity:calc(1 - var(--bg-morph));will-change:transform, opacity;position:fixed;inset:0}.crt-frame{width:100%;height:100%;position:absolute;inset:0}.crt-overlay:after{content:"";background:radial-gradient(#0000 58%,#00000052 100%);position:absolute;inset:0}.site-nav{opacity:0;transition:opacity .7s var(--ease-out-quart)}.site-nav--revealed{opacity:1}.site-nav:not(.site-nav--revealed) a{pointer-events:none}::view-transition-group(.morph){animation-duration:.4s}::view-transition-image-pair(.morph){animation-name:vt-morph-blur}@keyframes vt-morph-blur{30%{filter:blur(3px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}::view-transition-old(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-new(*){animation-duration:0s!important;animation-delay:0s!important}::view-transition-group(*){animation-duration:0s!important;animation-delay:0s!important}}@media print{:root{--morph:1!important;--text-morph:1!important;--bg-morph:1!important;--background:#fff!important;--foreground:#161616!important;--text-1:#161616!important;--text-2:#2a2a2a!important;--text-3:#444!important;--text-4:#5a5a5a!important;--line-faint:#1616161a!important;--line-soft:#16161629!important;--line-mid:#1616164d!important;--card-bg:#fff!important;--card-border:#16161638!important;--card-shadow:none!important;--well-bg:#f0f0ee!important;--well-shadow:inset 0 0 0 1px #1616161f!important;--paper:#fff!important}html,body{color:#161616!important;background:#fff!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.bg-video-global,.modern-bg,.crt-overlay,.site-nav,.cursor-dot,.cursor-ring,.cursor-label,.mobile-cta-bar,.command-palette,.loader-container,.skip-intro,.project-marquee,.hero-marquee-band,.live-demo-iframe,.skip-link{display:none!important}.transition-wrapper{height:auto!important;min-height:0!important;position:static!important;overflow:visible!important;transform:none!important}.pin-spacer{height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;inset:auto!important}[aria-label=Specialized\ areas]{height:auto!important;min-height:0!important}[data-deck-item]{position:static!important}[data-hero]{opacity:1!important;pointer-events:auto!important;height:auto!important;position:static!important;transform:none!important}[data-reveal],[data-decode],[data-rule],[data-scramble],[data-parallax],[data-unit],[data-hero],[data-split],[data-split] *,[data-split-words],[data-split-words] *,[data-words],[data-words] *{opacity:1!important;visibility:visible!important;filter:none!important;clip-path:none!important;transform:none!important}.cs-metrics-clip{grid-template-rows:1fr!important}.cs-metrics{opacity:1!important;transform:none!important}.cs-metrics-clip img,[data-cs-row] img,[data-cs-row] canvas{filter:none!important}a[href^=http]:after{content:" (" attr(href) ")";font-family:var(--font-mono), monospace;letter-spacing:0;word-break:break-all;color:#444;font-size:.8em}[data-cs-row],[data-deck-item],[data-unit],#contact{break-inside:avoid}[data-split],[data-split-words],h1,h2,h3{break-after:avoid}}
.Nav-module__e1xquq__navRoot{z-index:var(--z-nav);pointer-events:none;position:fixed;inset:0;transform:translateZ(0)}.Nav-module__e1xquq__timelineNav{top:var(--space-6);right:var(--space-6);pointer-events:auto;gap:var(--space-3);max-width:240px;font-family:var(--font-mono), monospace;filter:drop-shadow(0 0 8px color-mix(in oklab, #0d0d0fd9, #f5f5f3e6 calc(var(--text-morph) * 100%)));flex-direction:row-reverse;align-items:stretch;display:flex;position:absolute}.Nav-module__e1xquq__timelineLine{background-color:var(--line-mid);flex-shrink:0;width:1px;min-height:72px;position:relative}.Nav-module__e1xquq__timelineNode{background-color:var(--foreground);border-radius:50%;width:7px;height:7px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.Nav-module__e1xquq__timelineBody{gap:var(--space-2);flex-direction:column;align-items:flex-end;display:flex}.Nav-module__e1xquq__indexLabel{font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);color:var(--foreground)}.Nav-module__e1xquq__indexDesc{font-size:var(--fs-micro);color:var(--text-3);letter-spacing:var(--tracking-mono);margin-bottom:var(--space-2);text-align:right}.Nav-module__e1xquq__navList{gap:var(--space-2);flex-direction:column;align-items:flex-end;display:flex}.Nav-module__e1xquq__navLink{font-family:var(--font-mono), monospace;font-size:var(--fs-mono-sm);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:var(--text-2);border:1px solid var(--line-mid);padding:var(--space-1) var(--space-3);transition:color var(--dur-fast) var(--ease-out-quart), background-color var(--dur-fast) var(--ease-out-quart), border-color var(--dur-fast) var(--ease-out-quart);background-color:#0000;text-decoration:none;display:inline-block}.Nav-module__e1xquq__navLink:hover,.Nav-module__e1xquq__navLink:focus-visible{color:var(--foreground);border-color:var(--foreground)}.Nav-module__e1xquq__navLink:active{color:var(--accent-strong);border-color:var(--accent-strong)}.Nav-module__e1xquq__navLink.Nav-module__e1xquq__active,.Nav-module__e1xquq__navLink.Nav-module__e1xquq__active:hover{color:color-mix(in oklab, var(--ink), var(--phosphor) calc(var(--text-morph) * 100%));background-color:var(--foreground);border-color:var(--foreground)}.Nav-module__e1xquq__cta{right:var(--space-4);bottom:var(--space-9);pointer-events:auto;writing-mode:vertical-rl;font-family:var(--font-mono), "Courier New", monospace;font-size:var(--fs-label);letter-spacing:.12em;text-transform:uppercase;color:var(--surface-0);background-color:var(--accent);white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out-quart);padding:32px 12px;font-weight:400;text-decoration:none;position:absolute;transform:rotate(180deg)}.Nav-module__e1xquq__cta:hover,.Nav-module__e1xquq__cta:focus-visible{background-color:var(--accent-hover)}.Nav-module__e1xquq__cta:active{background-color:var(--accent-strong);transform:rotate(180deg)translateY(1px)}@media (max-width:768px){.Nav-module__e1xquq__timelineNav{top:var(--space-4);right:var(--space-4)}.Nav-module__e1xquq__indexDesc{display:none}.Nav-module__e1xquq__navLink{box-sizing:border-box;justify-content:center;align-items:center;min-width:44px;min-height:44px;display:inline-flex}.Nav-module__e1xquq__cta{display:none}}
.MobileCtaBar-module__BxtaAG__bar{display:none}@media (max-width:768px){.MobileCtaBar-module__BxtaAG__bar{z-index:var(--z-nav);padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));pointer-events:none;transition:transform var(--dur-move) var(--ease-out-quart);justify-content:center;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(120%)}.MobileCtaBar-module__BxtaAG__bar.MobileCtaBar-module__BxtaAG__visible{transform:translateY(0)}}.MobileCtaBar-module__BxtaAG__pill{pointer-events:auto;border-radius:var(--radius-pill);background:var(--accent);min-height:48px;color:var(--ink);font-family:var(--font-mono), monospace;font-size:var(--fs-label);letter-spacing:var(--tracking-mono);text-transform:uppercase;transition:background var(--dur-fast) var(--ease-out-quart);justify-content:center;align-items:center;padding:0 28px;text-decoration:none;display:inline-flex;position:relative;box-shadow:0 6px 24px #00000047}.MobileCtaBar-module__BxtaAG__pill:active{background:var(--accent-strong);transform:translateY(1px)}.MobileCtaBar-module__BxtaAG__pill:focus-visible{outline:none}.MobileCtaBar-module__BxtaAG__pill:focus-visible:after{content:"";pointer-events:none;--bw:2px;--bl:11px;background:linear-gradient(var(--accent), var(--accent)) top left / var(--bl) var(--bw) no-repeat, linear-gradient(var(--accent), var(--accent)) top left / var(--bw) var(--bl) no-repeat, linear-gradient(var(--accent), var(--accent)) top right / var(--bl) var(--bw) no-repeat, linear-gradient(var(--accent), var(--accent)) top right / var(--bw) var(--bl) no-repeat, linear-gradient(var(--accent), var(--accent)) bottom left / var(--bl) var(--bw) no-repeat, linear-gradient(var(--accent), var(--accent)) bottom left / var(--bw) var(--bl) no-repeat, linear-gradient(var(--accent), var(--accent)) bottom right / var(--bl) var(--bw) no-repeat, linear-gradient(var(--accent), var(--accent)) bottom right / var(--bw) var(--bl) no-repeat;filter:drop-shadow(0 0 1px #0d0d0f8c);position:absolute;inset:-5px}@media (prefers-reduced-motion:reduce){@media (max-width:768px){.MobileCtaBar-module__BxtaAG__bar,.MobileCtaBar-module__BxtaAG__bar.MobileCtaBar-module__BxtaAG__visible{transition:none;transform:none}}}
.CommandPalette-module__AswpGa__scrim{z-index:var(--z-skiplink);padding:12vh var(--space-5) var(--space-5);-webkit-backdrop-filter:blur(2px);animation:CommandPalette-module__AswpGa__cmdk-scrim-in var(--dur-fast) var(--ease-out-quart);background:#0606089e;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.CommandPalette-module__AswpGa__panel{background:var(--retro-bg);width:min(560px,100%);max-height:62vh;color:var(--phosphor);font-family:var(--font-mono), "Courier New", monospace;animation:CommandPalette-module__AswpGa__cmdk-panel-in var(--dur-fast) var(--ease-out-quart);border:1px solid #f5f2ea24;border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 24px 60px #0000008c}.CommandPalette-module__AswpGa__promptRow{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-4);border-bottom:1px solid #f5f2ea1a;flex-shrink:0;display:flex}.CommandPalette-module__AswpGa__promptRow:focus-within{border-bottom-color:var(--accent)}.CommandPalette-module__AswpGa__prompt{color:var(--accent);font-size:var(--fs-label);letter-spacing:var(--tracking-mono);-webkit-user-select:none;user-select:none}.CommandPalette-module__AswpGa__input{min-width:0;color:var(--phosphor);font-family:inherit;font-size:var(--fs-label);letter-spacing:var(--tracking-mono);caret-color:var(--accent);background:0 0;border:none;outline:none;flex:1}.CommandPalette-module__AswpGa__input::placeholder{color:#f5f2ea66}.CommandPalette-module__AswpGa__esc{font-family:inherit;font-size:var(--fs-micro);letter-spacing:var(--tracking-mono);color:#f5f2ea80;-webkit-user-select:none;user-select:none;border:1px solid #f5f2ea33;border-radius:4px;flex-shrink:0;padding:2px 6px}.CommandPalette-module__AswpGa__list{padding:var(--space-2);overscroll-behavior:contain;margin:0;list-style:none;overflow-y:auto}.CommandPalette-module__AswpGa__option{align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);color:#f5f2eab8;font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);cursor:pointer;border-radius:6px;display:flex}.CommandPalette-module__AswpGa__optionActive{color:var(--phosphor);background:#ff3c1424}.CommandPalette-module__AswpGa__optMarker{width:1ch;color:var(--accent);text-align:center;flex-shrink:0}.CommandPalette-module__AswpGa__optLabel{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.CommandPalette-module__AswpGa__optMeta{font-size:var(--fs-micro);letter-spacing:var(--tracking-mono);text-transform:uppercase;color:#f5f2ea66;flex-shrink:0;margin-left:auto}.CommandPalette-module__AswpGa__empty{padding:var(--space-4) var(--space-3);color:#f5f2ea66;font-size:var(--fs-mono);letter-spacing:var(--tracking-mono);text-align:center}@media (prefers-reduced-motion:reduce){.CommandPalette-module__AswpGa__scrim,.CommandPalette-module__AswpGa__panel{animation:none}}@media (hover:none),(pointer:coarse){.CommandPalette-module__AswpGa__scrim{display:none}}@keyframes CommandPalette-module__AswpGa__cmdk-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes CommandPalette-module__AswpGa__cmdk-panel-in{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}
