@font-face{font-family:GeistMono;src:url(/_next/static/media/723e11e5093b8e80.p.woff2) format("woff2");font-display:swap;font-weight:100 900}.__className_46451f{font-family:GeistMono,ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}.__variable_46451f{--font-geist-mono:"GeistMono",ui-monospace,SFMono-Regular,Roboto Mono,Menlo,Monaco,Liberation Mono,DejaVu Sans Mono,Courier New,monospace}@font-face{font-family:GeistSans;src:url(/_next/static/media/0b78ff376f6b9734-s.p.woff2) format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:GeistSans Fallback;src:local("Arial");ascent-override:94.56%;descent-override:27.76%;line-gap-override:0.00%;size-adjust:106.28%}.__className_8adcd2{font-family:GeistSans,GeistSans Fallback}.__variable_8adcd2{--font-geist-sans:"GeistSans","GeistSans Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.block{display:block}.flex{display:flex}.inline{display:inline}}:root{--carbon:#0a0c0f;--surface:#11151a;--surface-2:#171c22;--ivory:#f2eee6;--text-2:#a0a7af;--muted:#858e98;--border:#272d34;--signal:#ff5a36;--success:#6fcf97;--warning:#e6b85c;--failure:#e56a6a;--content:min(100% - 32px,1440px);--header-height:64px;--motion-fast:.18s;--motion-normal:.34s;--motion-reveal:.56s;--ease-out:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body,html{background:var(--carbon)}body{color:var(--ivory);font-family:var(--font-geist-sans),Arial,sans-serif;margin:0;line-height:1.5;overflow-x:clip}body.menu-open,body:has(dialog[open]){overflow:hidden}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}dd,dl,figure,h1,h2,h3,h4,ol,p,ul{margin:0}ol,ul{padding:0}::selection{background:var(--signal);color:var(--carbon)}:focus-visible{outline:2px solid var(--signal);outline-offset:4px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:300;background:var(--ivory);color:var(--carbon);padding:10px 14px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.page-grid{width:var(--content);margin-inline:auto}.canvas-foot,.canvas-head,.mono-label,.project-label,.section-kicker{font-family:var(--font-geist-mono),monospace;letter-spacing:.09em;text-transform:uppercase;font-size:.68rem}.site-header{z-index:100;border-bottom:1px solid var(--border);position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab,red,red)){.site-header{border-bottom:1px solid color-mix(in srgb,var(--border),transparent 12%)}}.site-header{background:var(--carbon)}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in srgb,var(--carbon),transparent 3%)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}body.menu-open .site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000}.header-inner{width:var(--content);min-height:var(--header-height);justify-content:space-between;gap:18px;margin-inline:auto}.header-inner,.wordmark{align-items:center;display:flex}.wordmark{font-family:var(--font-geist-mono);letter-spacing:.08em;gap:10px;font-size:.7rem}.wordmark>span:first-child{border:1px solid var(--signal);width:30px;height:30px;color:var(--signal);place-items:center;display:grid}.desktop-nav{height:var(--header-height);align-items:center;margin-left:auto;display:none}.desktop-nav a{height:100%;color:var(--text-2);place-items:center;padding-inline:15px;font-size:.78rem;display:grid;position:relative}.desktop-nav a:after{content:"";background:var(--signal);height:2px;transition:transform .2s;position:absolute;bottom:-1px;left:12px;right:12px;transform:scaleX(0)}.desktop-nav a:hover,.desktop-nav a[aria-current]{color:var(--ivory)}.desktop-nav a[aria-current]:after{transform:scaleX(1)}.header-socials{align-items:center;gap:4px;display:none}.header-socials a{width:38px;height:38px;color:var(--text-2);place-items:center;display:grid}.header-socials a:hover{color:var(--signal)}.menu-trigger{min-height:44px;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;font-size:.78rem}.menu-trigger,.mobile-menu{color:var(--ivory);display:flex}.mobile-menu{z-index:110;visibility:hidden;width:100vw;height:100dvh;background:#0a0c0f;flex-direction:column;padding:18px 16px 28px;transition:transform .3s cubic-bezier(.22,1,.36,1),visibility 0s linear .3s;position:fixed;inset:0;transform:translate(100%)}.mobile-menu[data-open=true]{visibility:visible;transition-delay:0s;transform:translate(0)}.mobile-menu-top{border-bottom:1px solid #303740;justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.mobile-menu-top button{width:44px;height:44px;color:var(--ivory);cursor:pointer;background:#11151a;border:1px solid #59636e;place-items:center;display:grid}.mobile-menu nav{flex-direction:column;flex:1;justify-content:center;display:flex}.mobile-menu nav a{color:var(--ivory);letter-spacing:-.045em;border-bottom:1px solid #303740;padding:10px 0;font-size:clamp(2rem,11vw,3.5rem);line-height:1}.mobile-menu nav a[aria-current]{color:var(--signal)}.mobile-menu nav a[aria-current]:before{content:"•";color:var(--signal);vertical-align:middle;margin-right:10px;font-size:.55em}.mobile-menu-socials{gap:18px;padding:18px 0;font-size:.82rem;font-weight:650;display:flex}.mobile-menu-socials a{color:var(--ivory)}.mobile-menu>p{color:var(--muted);font-size:.78rem}.button{border:1px solid var(--border);min-height:44px;color:var(--ivory);cursor:pointer;transition:transform var(--motion-fast) var(--ease-out),border-color var(--motion-fast) ease,background var(--motion-fast) ease,color var(--motion-fast) ease;background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:0 16px;font-size:.8rem;font-weight:650;display:inline-flex}.button:hover{border-color:var(--muted);transform:translateY(-2px)}.button:active{transform:translateY(0)}.button--primary{border-color:var(--signal);background:var(--signal);color:var(--carbon)}.button--primary:hover{background:#ff6a49;border-color:#ff8a71}.button--quiet{color:var(--text-2);border-color:#0000}.button:disabled{cursor:not-allowed;opacity:.65;transform:none}.hero{padding:calc(var(--header-height) + 38px) 0 32px;border-bottom:1px solid var(--border);scroll-margin-top:var(--header-height)}.hero .page-grid{gap:34px;display:grid}.hero-copy{min-width:0}.hero-identity{font-family:var(--font-geist-mono);letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:3px;font-size:.68rem;display:flex}.hero-identity span:first-child{color:var(--signal)}.hero-identity span:last-child{color:var(--muted)}.hero h1{letter-spacing:-.075em;text-wrap:balance;max-width:900px;margin-top:25px;font-size:clamp(3.65rem,16vw,8.3rem);font-weight:560;line-height:.82}.hero h1 em{color:var(--signal);font-family:Georgia,serif;font-weight:400}.hero-role{max-width:700px;color:var(--ivory);letter-spacing:-.02em;margin-top:24px;font-size:clamp(1.1rem,3vw,1.5rem)}.hero-intro{max-width:680px;color:var(--text-2);margin-top:12px;font-size:1rem;line-height:1.7}.hero-actions{gap:9px;margin-top:26px}.hero-actions,.hero-meta{flex-wrap:wrap;display:flex}.hero-meta{color:var(--muted);font-family:var(--font-geist-mono);gap:12px 22px;margin-top:30px;font-size:.68rem}.hero-meta a,.hero-meta span{align-items:center;gap:7px;display:inline-flex}.hero-meta a{color:var(--ivory)}.availability i{background:var(--success);width:7px;height:7px;box-shadow:0 0 8px var(--success);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.availability i{box-shadow:0 0 8px color-mix(in srgb,var(--success),transparent 35%)}}.identity-canvas{--pointer-x:0px;--pointer-y:0px;--pointer-back-x:0px;--pointer-back-y:0px;border:1px solid var(--border);background:linear-gradient(145deg,#151a20,var(--surface));overflow:hidden;box-shadow:0 30px 80px #0004}.canvas-foot,.canvas-head{color:var(--muted);justify-content:space-between;gap:15px;padding:11px 13px;display:flex}.canvas-head{border-bottom:1px solid var(--border)}.canvas-foot{border-top:1px solid var(--border);flex-wrap:wrap}.canvas-stage{background-image:radial-gradient(circle,#ff5a3612,#0000 34%),linear-gradient(#272d3480 1px,#0000 0),linear-gradient(90deg,#272d3480 1px,#0000 0);background-size:44px 44px;min-height:330px;position:relative;overflow:hidden}.canvas-paths{width:100%;height:100%;transform:translate(var(--pointer-back-x),var(--pointer-back-y));transition:transform var(--motion-normal) var(--ease-out);position:absolute;inset:0;overflow:visible}.canvas-paths path{fill:none;stroke:#59616a;stroke-width:1px;stroke-dasharray:5 8}.identity-canvas[data-animate=true] .canvas-paths path{animation:path-flow 8s linear infinite}.canvas-core{width:76px;height:76px;transform:translate(calc(-50% + var(--pointer-x)),calc(-50% + var(--pointer-y)));border:1px solid var(--signal);background:var(--carbon);color:var(--signal);font-family:var(--font-geist-mono);box-shadow:0 0 45px var(--signal);border-radius:50%;place-items:center;font-size:1rem;display:grid;position:absolute;top:50%;left:50%}@supports (color:color-mix(in lab,red,red)){.canvas-core{box-shadow:0 0 45px color-mix(in srgb,var(--signal),transparent 84%)}}.canvas-core{transition:transform var(--motion-normal) var(--ease-out),box-shadow var(--motion-normal) ease}.canvas-core:after,.canvas-core:before{content:"";background:var(--signal);border-radius:50%;width:5px;height:5px;position:absolute}.canvas-core:before{top:-3px}.canvas-core:after{bottom:-3px}.canvas-core i{border-radius:inherit;border:1px solid #ff5a3652;position:absolute;inset:9px}.identity-canvas:hover .canvas-core{box-shadow:0 0 70px #ff5a3642}.canvas-orbit{border:1px solid #3a424b;border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.canvas-orbit--one{width:190px;height:190px}.canvas-orbit--two{border-style:dashed;width:300px;height:300px;animation:orbit 32s linear infinite paused}.canvas-signal{background:linear-gradient(90deg,transparent,var(--signal),transparent);height:1px;position:absolute;top:50%;left:8%;right:8%}.canvas-signal:after{content:"";background:var(--signal);width:9px;height:9px;box-shadow:0 0 12px var(--signal);border-radius:50%;animation:signal 5s ease-in-out infinite paused;position:absolute;top:-4px;left:12%}.identity-canvas[data-animate=true] .canvas-orbit--two,.identity-canvas[data-animate=true] .canvas-signal:after{animation-play-state:running}.canvas-tag{border:1px solid var(--border);background:var(--carbon);color:var(--text-2);font-family:var(--font-geist-mono);transform:translate(var(--pointer-back-x),var(--pointer-back-y));transition:transform var(--motion-normal) var(--ease-out),border-color var(--motion-fast) ease,color var(--motion-fast) ease;padding:6px 8px;font-size:.62rem;position:absolute}.canvas-tag i{background:var(--muted);border-radius:50%;width:5px;height:5px;margin-right:5px;display:inline-block}.identity-canvas:hover .canvas-tag{color:var(--ivory);border-color:#49535f}.identity-canvas:hover .canvas-tag i{background:var(--signal)}.canvas-tag--ui{top:17%;left:8%}.canvas-tag--api{top:17%;right:8%}.canvas-tag--data{bottom:16%;right:10%}.canvas-tag--ship{bottom:16%;left:10%}.canvas-caption{color:var(--muted);font-family:var(--font-geist-mono);letter-spacing:.08em;font-size:.52rem;position:absolute;bottom:10px;right:12px}@keyframes orbit{to{transform:translate(-50%,-50%)rotate(1turn)}}@keyframes signal{0%,to{opacity:.4;left:12%}50%{opacity:1;left:82%}}@keyframes path-flow{to{stroke-dashoffset:-52px}}.fast-path,.fast-path-trigger{display:inline-flex}.fast-path-trigger{border:1px solid var(--border);min-height:44px;color:var(--text-2);cursor:pointer;transition:color var(--motion-fast) ease,border-color var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out);background:0 0;border-radius:7px;justify-content:center;align-items:center;gap:9px;padding:0 14px;font-weight:620}.fast-path-trigger:hover{color:var(--ivory);border-color:var(--signal);transform:translateY(-2px)}.fast-dialog{background:var(--surface);width:100vw;max-width:none;height:100svh;max-height:none;color:var(--ivory);opacity:0;transition:opacity var(--motion-normal) var(--ease-out),transform var(--motion-normal) var(--ease-out),overlay var(--motion-normal) allow-discrete,display var(--motion-normal) allow-discrete;border:1px solid #41474e;border-radius:0;margin:0;padding:0;position:fixed;inset:0;overflow:auto;transform:translateY(12px)scale(.975)}.fast-dialog[open]{opacity:1;transform:translateY(0)scale(1)}@starting-style{.fast-dialog[open]{opacity:0;transform:translateY(12px)scale(.975)}}.fast-dialog::backdrop{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity var(--motion-normal) ease,overlay var(--motion-normal) allow-discrete,display var(--motion-normal) allow-discrete;background:#050607d9}.fast-dialog[open]::backdrop{opacity:1}@starting-style{.fast-dialog[open]::backdrop{opacity:0}}.dialog-panel{padding:max(18px,env(safe-area-inset-top)) max(18px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}.dialog-panel>header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:18px;display:flex}.dialog-panel>header>div{flex-direction:column;gap:5px;display:flex}.dialog-panel>header strong{font-size:.95rem}.dialog-panel>header button{border:1px solid var(--border);width:44px;height:44px;color:var(--ivory);cursor:pointer;background:0 0;place-items:center;display:grid}.dialog-title{padding:34px 0 22px}.dialog-title>p{color:var(--signal);font-family:var(--font-geist-mono);font-size:.7rem}.dialog-title h2{letter-spacing:-.05em;max-width:680px;margin-top:18px;font-size:clamp(2rem,8vw,4rem);font-weight:520;line-height:.95}.dialog-summary{max-width:650px;color:var(--text-2)}.dialog-panel dl{border-top:1px solid var(--border);margin-top:30px}.dialog-panel dl div{border-bottom:1px solid var(--border);gap:7px;padding:15px 0;display:grid}.dialog-panel dt{color:var(--muted);font-family:var(--font-geist-mono);text-transform:uppercase;font-size:.62rem}.dialog-panel dd{color:var(--text-2);font-size:.85rem}.dialog-panel nav{flex-wrap:wrap;gap:8px;padding-top:22px;display:flex}.dialog-panel nav a{border:1px solid var(--border);align-items:center;gap:7px;min-height:42px;padding:0 12px;font-size:.75rem;display:inline-flex}.dialog-panel nav a:hover{border-color:var(--signal)}.section{border-bottom:1px solid var(--border);scroll-margin-top:var(--header-height);padding:94px 0}.section-header{gap:20px;margin-bottom:48px;display:grid}.section-kicker{color:var(--signal);display:block}.section-header h2{letter-spacing:-.06em;text-wrap:balance;max-width:980px;font-size:clamp(2.5rem,9vw,6.2rem);font-weight:540;line-height:.92}.section-header>p{max-width:650px;color:var(--text-2);line-height:1.7}.work-section{background:#0d0f12}.work-section .section-header{margin-bottom:42px}[data-motion=reveal]{transition:opacity var(--motion-reveal) var(--ease-out),transform var(--motion-reveal) var(--ease-out)}[data-motion=reveal][data-visible=false]{opacity:0;transform:translateY(18px)}[data-motion=reveal][data-visible=true]{opacity:1;transform:translateY(0)}.project-collection{gap:112px;display:grid}.project-collection:focus-visible{outline:2px solid var(--signal);outline-offset:6px}.project-carousel-nav{display:none}.project-showcase{border-top:1px solid #3a424b;padding-top:22px;position:relative}.project-heading{gap:20px;display:grid}.project-contribution>span,.project-heading-copy>p,.project-meta dt,.project-number,.project-technology>span{color:var(--signal);font-family:var(--font-geist-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.61rem}.project-heading-copy>p{max-width:620px;color:var(--muted)}.project-heading h3{letter-spacing:-.065em;margin-top:10px;font-size:clamp(3.2rem,13vw,7.8rem);font-weight:530;line-height:.86}.project-meta{flex-wrap:wrap;gap:18px 30px;display:flex}.project-meta dt{color:var(--muted)}.project-meta dd{color:var(--text-2);margin-top:4px;font-size:.8rem}.project-layout{gap:30px;margin-top:30px;display:grid;position:relative}.project-product{isolation:isolate;transition:border-color var(--motion-normal) ease,box-shadow var(--motion-reveal) var(--ease-out),transform var(--motion-reveal) var(--ease-out);background:#080a0d;border:1px solid #3b434c;display:block;position:relative;overflow:hidden;box-shadow:0 28px 80px #0006}.project-product:after{content:"";opacity:0;pointer-events:none;transition:opacity var(--motion-normal) ease;background:linear-gradient(125deg,#ffffff10,#0000 20% 78%,#ff5a3610);position:absolute;inset:34px 0 0}.project-product:focus-visible,.project-product:hover{border-color:#ff5a3680;transform:translateY(-5px);box-shadow:0 34px 90px #0009}.project-product:focus-visible:after,.project-product:hover:after{opacity:1}.project-frame-bar{border-bottom:1px solid var(--border);background:#11151a;align-items:center;gap:6px;height:34px;padding:0 11px;display:flex}.project-frame-bar i{background:#46505b;border-radius:50%;width:6px;height:6px}.project-frame-bar i:first-child{background:var(--signal)}.project-frame-bar span{color:var(--muted);font-family:var(--font-geist-mono);margin-left:auto;font-size:.55rem}.project-picture{aspect-ratio:804/1450;display:block;overflow:hidden}.project-picture img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .7s var(--ease-out);display:block}.project-product:focus-visible .project-picture img,.project-product:hover .project-picture img{transform:scale(1.018)}.project-open-cue{min-height:38px;color:var(--ivory);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0a0c0fe8;border:1px solid #ff5a3690;align-items:center;gap:8px;padding:0 12px;font-size:.72rem;font-weight:650;display:inline-flex;position:absolute;bottom:12px;right:12px}.project-device{display:none}.project-story{align-self:center}.project-summary{max-width:680px;color:var(--ivory);letter-spacing:-.025em;font-size:clamp(1.25rem,4vw,2rem);line-height:1.35}.project-contribution{border-left:2px solid var(--signal);max-width:650px;margin-top:28px;padding-left:16px}.project-contribution p{color:var(--text-2);margin-top:8px;font-size:.9rem;line-height:1.65}.project-highlights{border-top:1px solid var(--border);margin-top:30px;list-style:none}.project-highlights li{border-bottom:1px solid var(--border);color:var(--text-2);grid-template-columns:30px 1fr;gap:8px;padding:14px 0;font-size:.86rem;line-height:1.55;display:grid}.project-highlights li>span{color:var(--signal);font-family:var(--font-geist-mono);padding-top:2px;font-size:.58rem}.project-technology{color:var(--text-2);margin-top:24px;font-size:.76rem;line-height:1.7}.project-technology>span{margin-bottom:5px;display:block}.project-technology ul{flex-wrap:wrap;gap:5px 0;list-style:none;display:flex}.project-technology li:not(:last-child):after{content:"·";color:var(--signal);margin-inline:7px}.project-quality{color:var(--muted);border-top:1px dashed #3b434c;margin-top:20px;padding-top:18px;font-size:.76rem;line-height:1.6}.project-actions{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.project-actions a{border:1px solid var(--border);min-height:44px;color:var(--ivory);transition:border-color var(--motion-fast) ease,background var(--motion-fast) ease,transform var(--motion-fast) var(--ease-out);align-items:center;gap:8px;padding:0 14px;font-size:.76rem;font-weight:620;display:inline-flex}.project-actions a:first-child{border-color:var(--signal);background:var(--signal);color:#090a0c}.project-actions a:focus-visible,.project-actions a:hover{border-color:var(--signal);transform:translateY(-2px)}.project-showcase[data-variant=compact] .project-heading h3{font-size:clamp(3rem,11vw,6.2rem)}.project-showcase[data-variant=compact] .project-summary{font-size:clamp(1.1rem,3vw,1.55rem)}.experience-section .section-header{margin-bottom:35px}.timeline{list-style:none;position:relative}.timeline-entry{transition:opacity var(--motion-reveal) var(--ease-out),transform var(--motion-reveal) var(--ease-out);gap:14px;padding:0 0 54px 42px;display:grid;position:relative}.timeline-entry[data-motion=timeline][data-visible=false]{opacity:.68;transform:translateY(24px)}.timeline-entry[data-motion=timeline][data-visible=true]{opacity:1;transform:translateY(0)}.timeline-rail{border-left:1px solid #46505b;width:20px;position:absolute;inset:0 auto 0 0}.timeline-rail:before{content:"";border:2px solid var(--carbon);background:var(--signal);border-radius:50%;width:11px;height:11px;position:absolute;top:5px;left:-6px;box-shadow:0 0 0 5px #ff5a3620}.timeline-rail span{color:var(--signal);font-family:var(--font-geist-mono);font-size:.58rem;position:absolute;top:0;left:15px}.timeline-meta{font-family:var(--font-geist-mono);text-transform:uppercase;flex-direction:column;gap:5px;font-size:.65rem;display:flex}.timeline-meta span{color:var(--signal)}.timeline-meta strong{color:var(--muted);font-weight:450}.timeline-meta small{color:var(--ivory);letter-spacing:.04em;font-size:.62rem;font-weight:560}.timeline-company{color:var(--signal);font-family:var(--font-geist-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:10px;font-size:.72rem;font-weight:650}.timeline-copy h3{letter-spacing:-.04em;max-width:720px;font-size:clamp(1.75rem,5vw,3.5rem);font-weight:530;line-height:1}.timeline-type{color:var(--muted);font-family:var(--font-geist-mono);text-transform:uppercase;margin-top:10px;font-size:.64rem}.timeline-copy ul{color:var(--text-2);margin-top:14px;padding-left:18px}.timeline-quality{border-left:2px solid var(--signal);color:var(--text-2);margin-top:16px;padding-left:14px}.timeline-tech{flex-wrap:wrap;gap:7px;list-style:none;display:flex;padding:0!important}.timeline-tech li{color:var(--muted);font-family:var(--font-geist-mono);font-size:.62rem}.timeline-tech li:not(:last-child):after{content:"/";color:var(--border);margin-left:7px}.experience-story{align-items:start;gap:36px;min-height:350px;padding-left:42px;display:grid;position:relative}.experience-rail{background:linear-gradient(var(--signal),var(--border) 45%,transparent);width:1px;position:absolute;inset:5px auto 0 7px;overflow:visible}.experience-rail i,.experience-rail span{border:2px solid var(--carbon);background:var(--signal);border-radius:50%;width:13px;height:13px;position:absolute;left:-6px;box-shadow:0 0 0 5px #ff5a3620}.experience-rail span{top:0}.experience-rail i{background:var(--border);box-shadow:none;top:60%}.experience-snapshot{max-width:840px}.experience-snapshot .mono-label{color:var(--signal)}.experience-snapshot strong{letter-spacing:-.055em;margin-top:14px;font-size:clamp(2rem,7vw,5rem);font-weight:520;line-height:.98;display:block}.experience-snapshot p{max-width:620px;color:var(--text-2);margin-top:20px;line-height:1.7}.experience-pending{border-top:1px solid var(--border);max-width:650px;padding-top:24px}.experience-pending span{color:var(--muted);font-family:var(--font-geist-mono);font-size:.66rem}.experience-pending p{color:var(--text-2);margin-top:12px;font-size:.92rem;line-height:1.7}.focus-section{background:linear-gradient(90deg,transparent 50%,#0a0c0f30 50%),var(--surface)}.focus-layout{gap:44px;display:grid}.focus-statement{letter-spacing:-.04em;max-width:680px;font-size:clamp(1.55rem,5vw,3rem);line-height:1.18}.focus-map{gap:18px;display:grid}.focus-signal{background:var(--carbon);border:1px solid #3a424b;min-height:150px;padding:20px}.focus-signal>span{color:var(--signal);font-family:var(--font-geist-mono);letter-spacing:.08em;font-size:.6rem}.focus-signal strong{margin-top:25px;font-size:clamp(1.35rem,3vw,2rem);font-weight:540;display:block}.focus-signal p{color:var(--muted);font-family:var(--font-geist-mono);margin-top:8px;font-size:.67rem}.focus-list{gap:8px;list-style:none;display:grid}.focus-list li{transition:opacity var(--motion-normal) ease}.focus-list button{width:100%;color:var(--ivory);cursor:pointer;text-align:left;transition:background var(--motion-normal) ease,border-color var(--motion-normal) ease,transform var(--motion-normal) var(--ease-out);background:0 0;border:1px solid #0000;grid-template-columns:38px 1fr;gap:10px;padding:18px;display:grid}.focus-list li:nth-child(2n) button{padding-left:34px}.focus-list li[data-active=true] button{background:#0a0c0f80;border-color:#3a424b;transform:translate(8px)}.focus-list button>span:first-child{color:var(--signal);font-family:var(--font-geist-mono);font-size:.65rem}.focus-list strong{font-size:1.2rem;font-weight:560;display:block}.focus-list small{max-width:620px;color:var(--text-2);margin-top:7px;font-size:.88rem;line-height:1.55;display:block}.stack-section{background:#0d1013}.stack-workspace{background-color:#090b0e;background-image:linear-gradient(#242a3124 1px,#0000 0),linear-gradient(90deg,#242a3124 1px,#0000 0),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:42px 42px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;border:1px solid #3a424b;overflow:hidden;box-shadow:0 35px 90px #0005}.stack-workspace-bar{min-height:42px;color:var(--muted);font-family:var(--font-geist-mono);letter-spacing:.06em;background:#11151a;border-bottom:1px solid #3a424b;justify-content:space-between;align-items:center;gap:10px;padding:0 14px;font-size:.57rem;display:flex}.stack-workspace-bar>div{gap:5px;display:flex}.stack-workspace-bar i{background:#47515c;border-radius:50%;width:5px;height:5px}.stack-workspace-bar i:first-child{background:var(--signal)}.stack-desktop,.stack-workspace-bar>span:last-child{display:none}.stack-mobile article{border-bottom:1px solid #303740}.stack-workspace[data-ready=false] .stack-mobile article{opacity:0;transform:translateY(10px)}.stack-workspace[data-ready=true] .stack-mobile article{opacity:1;transition:opacity var(--motion-reveal) var(--ease-out),transform var(--motion-reveal) var(--ease-out);transform:translateY(0)}.stack-workspace[data-ready=true] .stack-mobile article:nth-child(2){transition-delay:35ms}.stack-workspace[data-ready=true] .stack-mobile article:nth-child(3){transition-delay:70ms}.stack-workspace[data-ready=true] .stack-mobile article:nth-child(4){transition-delay:.105s}.stack-workspace[data-ready=true] .stack-mobile article:nth-child(5){transition-delay:.14s}.stack-workspace[data-ready=true] .stack-mobile article:nth-child(6){transition-delay:.175s}.stack-mobile article>button{width:100%;min-height:72px;color:var(--ivory);cursor:pointer;text-align:left;background:#101419d9;border:0;grid-template-columns:28px 32px 1fr 24px;align-items:center;gap:8px;padding:14px;display:grid}.stack-mobile article>button>span{color:var(--signal);font-family:var(--font-geist-mono);font-size:.58rem}.stack-mobile article>button>svg:first-of-type{color:var(--signal)}.stack-mobile article>button>svg:last-child{transition:transform var(--motion-normal) var(--ease-out)}.stack-mobile article[data-active=true]>button{background:#171c22}.stack-mobile article[data-active=true]>button>svg:last-child{transform:rotate(180deg)}.stack-mobile-panel{opacity:0;max-height:0;transition:max-height .5s var(--ease-out),opacity var(--motion-normal) ease,padding var(--motion-normal) var(--ease-out);padding:0 16px;overflow:hidden}.stack-mobile article[data-active=true] .stack-mobile-panel{opacity:1;max-height:1200px;padding:20px 16px 24px}.stack-mobile-panel>p{color:var(--text-2);font-size:.88rem;line-height:1.65}.stack-mobile-panel ul{border-top:1px solid var(--border);margin-top:22px;list-style:none}.stack-mobile-panel li{border-bottom:1px solid var(--border);gap:3px;padding:13px 0;display:grid}.stack-mobile-panel li strong{font-size:.9rem}.stack-mobile-panel li span{color:var(--muted);font-size:.72rem}.stack-mobile-panel footer{border-left:2px solid var(--signal);margin-top:22px;padding-left:12px}.stack-evidence>span,.stack-mobile-panel footer span{color:var(--signal);font-family:var(--font-geist-mono);letter-spacing:.06em;font-size:.56rem}.stack-mobile-panel footer p{color:var(--text-2);margin-top:5px;font-size:.72rem;line-height:1.55}@keyframes toolkit-in{0%{opacity:0;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.about-section{position:relative;overflow:hidden}.about-section>.page-grid>.section-kicker{margin-bottom:32px}.about-layout{gap:40px;display:grid}.about-copy{max-width:820px}.about-copy h2{letter-spacing:-.06em;font-size:clamp(2.7rem,9vw,6.5rem);font-weight:530;line-height:.94}.about-copy h2 em{color:var(--signal);font-family:Georgia,serif;font-weight:400}.about-copy p{max-width:700px;color:var(--text-2);margin-top:28px;font-size:1rem;line-height:1.75}.about-copy p+p{margin-top:14px}.about-trace{border-left:1px solid #46505b;padding:4px 0 0 22px;position:relative}.about-trace:before{content:"";background:linear-gradient(var(--signal),transparent);width:3px;height:32%;position:absolute;top:0;left:-2px}.about-trace>header{color:var(--muted);font-family:var(--font-geist-mono);letter-spacing:.07em;border-bottom:1px solid #46505b;justify-content:space-between;gap:16px;padding-bottom:16px;font-size:.58rem;display:flex}.about-trace>header span:first-child{color:var(--signal)}.about-trace ol{list-style:none}.about-trace li{border-bottom:1px solid var(--border);grid-template-columns:30px 1fr 18px;align-items:start;gap:10px;padding:19px 0;display:grid;position:relative}.about-trace li>span{color:var(--signal);font-family:var(--font-geist-mono);padding-top:5px;font-size:.58rem}.about-trace li strong{letter-spacing:-.035em;font-size:clamp(1.3rem,4vw,1.9rem);font-weight:550;display:block}.about-trace li p{max-width:430px;color:var(--muted);margin-top:5px;font-size:.75rem;line-height:1.5}.about-trace li>svg{color:#58626d;margin-top:6px}.about-trace footer{color:var(--muted);font-family:var(--font-geist-mono);letter-spacing:.05em;justify-content:space-between;align-items:center;gap:8px;padding-top:22px;font-size:.55rem;display:flex}.about-trace footer i{background:#46505b;flex:1;height:1px}.about-trace footer strong{color:var(--signal)}[data-motion=reveal][data-visible=false] .about-trace footer,[data-motion=reveal][data-visible=false] .about-trace li{opacity:0;transform:translate(12px)}[data-motion=reveal][data-visible=true] .about-trace li{animation:trace-resolve var(--motion-reveal) var(--ease-out) both;animation-delay:calc(var(--trace-index) * 90ms)}[data-motion=reveal][data-visible=true] .about-trace footer{animation:trace-resolve var(--motion-reveal) var(--ease-out) .42s both}@keyframes trace-resolve{0%{opacity:0;transform:translate(12px)}to{opacity:1;transform:translate(0)}}.about-facts dl{border-top:1px solid var(--border)}.about-facts dl div{border-bottom:1px solid var(--border);grid-template-columns:90px 1fr;gap:16px;padding:13px 0;display:grid}.about-facts dt,.current-focus>span{color:var(--muted);font-family:var(--font-geist-mono);text-transform:uppercase;font-size:.62rem}.about-facts dd{font-size:.83rem}.current-focus{margin-top:30px}.current-focus ul{margin-top:12px;list-style:none}.current-focus li{border-bottom:1px solid var(--border);color:var(--text-2);padding:9px 0;font-size:.82rem}.contact-section{background:linear-gradient(180deg,var(--carbon),#0d1013);padding-bottom:80px}.contact-section .page-grid{gap:56px;display:grid}.contact-intro>.section-kicker{margin-bottom:24px}.contact-intro h2{letter-spacing:-.065em;max-width:800px;font-size:clamp(3rem,11vw,7rem);font-weight:540;line-height:.88}.contact-intro>p{max-width:620px;color:var(--text-2);margin-top:24px;line-height:1.7}.contact-actions{flex-wrap:wrap;gap:9px;margin-top:28px;display:flex}.contact-intro dl{border-top:1px solid var(--border);margin-top:45px}.contact-intro dl div{border-bottom:1px solid var(--border);grid-template-columns:100px 1fr;gap:16px;padding:12px 0;display:grid}.contact-intro dt{color:var(--muted);font-family:var(--font-geist-mono);text-transform:uppercase;font-size:.62rem}.contact-intro dd{font-size:.82rem}.contact-workspace{border:1px solid var(--border);background:var(--surface);overflow:hidden;box-shadow:0 28px 80px #0003}.contact-visual{border-bottom:1px solid var(--border);background:radial-gradient(circle at 50% 50%,#ff5a3612,transparent 45%),var(--carbon);min-height:158px;transition:background var(--motion-normal) ease;place-items:center;display:grid}.contact-visual[data-status=success]{min-height:220px}.contact-idle{place-items:end start;width:100%;min-height:158px;padding:18px;display:grid;position:relative;overflow:hidden}.contact-idle svg{width:100%;height:100%;position:absolute;inset:0}.contact-idle path{fill:none;stroke:#59616a;stroke-width:1px;stroke-dasharray:5 8}.contact-visual[data-status=pending] .contact-idle path{stroke:var(--signal);animation:contact-delivery 1.4s linear infinite}.contact-visual[data-status=pending] .contact-idle-node{animation:contact-pulse 1.1s ease-in-out infinite alternate}.contact-idle-node{z-index:1;border:2px solid var(--carbon);background:var(--signal);border-radius:50%;width:9px;height:9px;position:absolute;box-shadow:0 0 0 4px #ff5a3620}.contact-idle-node--one{top:47%;left:18%}.contact-idle-node--two{top:16%;left:38%}.contact-idle-node--three{bottom:14%;right:18%}.contact-idle .mono-label{z-index:1;color:var(--muted)}@keyframes contact-delivery{to{stroke-dashoffset:-52px}}@keyframes contact-pulse{to{transform:scale(1.35);box-shadow:0 0 0 7px #ff5a3619}}.contact-success{justify-content:center;align-items:center;gap:18px;width:100%;padding:22px;display:flex}.contact-success strong{color:var(--ivory);font-size:1.15rem;display:block}.contact-success p{color:var(--text-2);margin-top:3px;font-size:.8rem}.contact-form{background:0 0;padding:22px}.form-row{gap:18px;display:grid}.field{position:relative}.field+.field,.form-row+.field{margin-top:18px}.form-row .field+.field{margin-top:0}.field label{color:var(--text-2);font-family:var(--font-geist-mono);text-transform:uppercase;margin-bottom:8px;font-size:.67rem;display:block}.field input,.field textarea{border:1px solid var(--border);background:var(--carbon);width:100%;color:var(--ivory);border-radius:6px;padding:12px 13px}.field input{min-height:48px}.field textarea{resize:vertical;min-height:150px}.field input:hover,.field textarea:hover{border-color:#46505b}.field input:focus,.field textarea:focus{border-color:var(--signal);outline:1px solid var(--signal)}.field [aria-invalid=true]{border-color:var(--failure)}.field-error{color:var(--failure);margin-top:6px;font-size:.74rem}.honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.form-footer{text-align:center;flex-direction:column;align-items:center;gap:14px;margin-top:22px;display:flex}.form-footer .button{align-self:center}.form-status{min-height:34px;color:var(--muted);justify-content:center;align-items:center;gap:9px;font-size:.78rem;display:flex}.form-status--error{color:var(--failure)}.form-status--success{color:var(--success)}.success-signal{width:138px;height:138px;color:var(--signal);flex:0 0 138px;place-items:center;display:grid}.success-signal>svg{width:48px;height:48px}.success-signal canvas,.success-signal dotlottie-player{width:100%!important;height:100%!important}.site-footer{border-top:1px solid var(--border);color:var(--muted);padding:22px 0}.site-footer .page-grid{font-family:var(--font-geist-mono);gap:8px;font-size:.62rem;display:grid}.site-footer a{color:var(--ivory)}.footer-links{align-items:center;gap:18px;display:inline-flex}@media (min-width:700px){:root{--content:min(100% - 64px,1440px)}.hero-identity{flex-direction:row;gap:18px}.project-picture{aspect-ratio:2880/1720}.timeline-entry{grid-template-columns:190px 1fr;gap:34px;padding-left:56px}.about-layout{grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr)}.about-copy{grid-column:1}.about-trace{grid-column:2}.about-facts{grid-column:1/-1}.form-row{grid-template-columns:1fr 1fr}.dialog-panel{padding:28px}.fast-dialog{border-radius:12px;width:min(92vw,820px);height:auto;max-height:92svh;margin:0;inset:50% auto auto 50%}.fast-dialog,.fast-dialog[open]{transform:translate(-50%,-50%)scale(1)}@starting-style{.fast-dialog[open]{transform:translate(-50%,calc(12px - 50%))scale(.975)}}.dialog-panel dl div{grid-template-columns:175px 1fr}.site-footer .page-grid{grid-template-columns:1fr 1fr auto;align-items:center}}@media (min-width:1024px){:root{--header-height:70px;--content:min(100% - 96px,1440px)}.desktop-nav,.header-socials{display:flex}.menu-trigger{display:none}.hero{min-height:min(820px,100svh - 24px);padding-top:calc(var(--header-height) + 52px);align-items:center;padding-bottom:54px;display:flex}.hero .page-grid{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);align-items:center;column-gap:58px}.hero h1{font-size:clamp(5.6rem,8.2vw,8.4rem)}.identity-canvas{flex-direction:column;align-self:stretch;min-height:545px;display:flex}.canvas-stage{flex:1}.section{padding:130px 0}.work-section{padding-top:108px}.section-header{grid-template-columns:minmax(0,1.45fr) minmax(300px,.55fr);align-items:end;margin-bottom:70px}.section-header .section-kicker{grid-column:1/-1}.section-header h2{grid-column:1}.section-header>p{grid-column:2}.project-collection{gap:170px}.project-heading{grid-template-columns:120px minmax(0,1fr) 280px;align-items:start;gap:26px}.project-heading h3{font-size:clamp(5rem,8vw,8rem)}.project-meta{grid-template-columns:1fr 1fr;gap:18px;display:grid}.project-layout{grid-template-columns:minmax(0,1.48fr) minmax(320px,.72fr);align-items:center;gap:58px}.project-product{grid-area:1/1}.project-story{grid-area:1/2}.project-device{z-index:2;width:168px;transition:transform var(--motion-reveal) var(--ease-out);background:#090b0e;border:1px solid #555e68;border-radius:18px;padding:6px;display:block;position:absolute;bottom:-34px;left:calc(68% - 105px);overflow:hidden;transform:rotate(2.5deg);box-shadow:0 28px 70px #000b}.project-device img{border-radius:13px;width:100%;height:auto;display:block}.project-showcase:hover .project-device{transform:rotate(1deg)translateY(-7px)}.project-showcase[data-variant=lead-reverse] .project-layout,.project-showcase[data-variant=support-reverse] .project-layout{grid-template-columns:minmax(320px,.72fr) minmax(0,1.48fr)}.project-showcase[data-variant=lead-reverse] .project-product,.project-showcase[data-variant=support-reverse] .project-product{grid-column:2}.project-showcase[data-variant=lead-reverse] .project-story,.project-showcase[data-variant=support-reverse] .project-story{grid-column:1}.project-showcase[data-variant=support-reverse] .project-layout,.project-showcase[data-variant=support] .project-layout{grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr)}.project-showcase[data-variant=support] .project-device{width:152px;left:calc(61% - 105px)}.project-showcase[data-variant=compact] .project-layout{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr)}.project-showcase[data-variant=compact] .project-product{transform:rotate(-.6deg)}.project-showcase[data-variant=compact] .project-product:focus-visible,.project-showcase[data-variant=compact] .project-product:hover{transform:rotate(0)translateY(-5px)}.focus-layout{grid-template-columns:.9fr 1.1fr;align-items:start;gap:80px}.focus-statement{top:calc(var(--header-height) + 30px);position:sticky}.focus-map{grid-template-columns:minmax(160px,.72fr) minmax(0,1.28fr);align-items:center}.focus-signal{flex-direction:column;justify-content:center;min-height:230px;display:flex}.stack-workspace-bar{padding:0 20px}.stack-workspace-bar>span:last-child{display:inline}.stack-mobile{display:none}.stack-desktop{grid-template-columns:280px minmax(0,1fr);min-height:690px;display:grid}.stack-index{background:#0d1115e8;border-right:1px solid #3a424b;padding:22px 0}.stack-index button{width:100%;min-height:86px;color:var(--ivory);cursor:pointer;text-align:left;transition:opacity var(--motion-normal) ease,transform var(--motion-normal) var(--ease-out),background var(--motion-normal) ease,border-color var(--motion-normal) ease;background:0 0;border:0;border-left:3px solid #0000;grid-template-columns:25px 28px 1fr;align-items:center;gap:8px;padding:14px 18px;display:grid}.stack-workspace[data-ready=false] .stack-index button{opacity:0;transform:translate(-10px)}.stack-workspace[data-ready=true] .stack-index button{opacity:.58;transition-delay:calc(var(--category-index) * 42ms);transform:translate(0)}.stack-workspace[data-ready=true] .stack-index button:focus-visible,.stack-workspace[data-ready=true] .stack-index button:hover,.stack-workspace[data-ready=true] .stack-index button[data-active=true]{opacity:1;border-color:var(--signal);background:linear-gradient(90deg,#ff5a3614,#0000 72%);transform:translate(5px)}.stack-index button>span{color:var(--signal);font-family:var(--font-geist-mono);font-size:.57rem}.stack-index button>svg{color:var(--signal)}.stack-index button strong{font-size:.9rem;font-weight:580}.stack-index button small{color:var(--muted);font-family:var(--font-geist-mono);grid-column:3;font-size:.55rem}.stack-stage{background:linear-gradient(135deg,#10151bd6,#080a0daa);grid-template-rows:auto 1fr auto;min-width:0;padding:42px;display:grid}.stack-stage-title{grid-template-columns:58px 1fr;gap:18px;display:grid}.stack-stage-icon{width:58px;height:58px;color:var(--signal);border:1px solid #46505b;place-items:center;display:grid;box-shadow:inset 0 -3px #ff5a3638}.stack-stage-title>div>span{color:var(--signal);font-family:var(--font-geist-mono);letter-spacing:.06em;font-size:.57rem}.stack-stage h3{letter-spacing:-.06em;margin-top:10px;font-size:clamp(3.2rem,5.5vw,6.2rem);font-weight:520;line-height:.88}.stack-stage-title p{max-width:680px;color:var(--text-2);margin-top:16px;line-height:1.6}.stack-tool-field{grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:0 34px;margin-top:42px;list-style:none;display:grid}.stack-tool-field li{border-bottom:1px solid var(--border);min-width:0;animation:toolkit-in var(--motion-normal) var(--ease-out) both;animation-delay:calc(var(--tool-index) * 38ms);grid-template-columns:30px 1fr;gap:6px 10px;padding:15px 0;display:grid}.stack-tool-field li:nth-child(2n){margin-left:14px}.stack-tool-field li>span{color:var(--signal);font-family:var(--font-geist-mono);grid-row:1/3;padding-top:3px;font-size:.58rem}.stack-tool-field li strong{font-size:.92rem}.stack-tool-field li p{color:var(--muted);font-size:.72rem;line-height:1.45}.stack-evidence{border-top:1px solid #46505b;justify-content:space-between;align-items:center;gap:24px;margin-top:30px;padding-top:18px;display:flex}.stack-evidence p{color:var(--text-2);font-family:var(--font-geist-mono);text-align:right;font-size:.64rem}.about-layout{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start;gap:28px}.about-copy{grid-column:1/7}.about-trace{grid-column:8/-1;margin-top:10px}.about-facts{border-top:1px solid var(--border);grid-area:2/1/auto/-1;grid-template-columns:1fr 1fr;gap:70px;margin-top:24px;padding-top:30px;display:grid}.about-facts dl{border-top:0}.current-focus{margin-top:0}.contact-section .page-grid{grid-template-columns:minmax(0,1.05fr) minmax(410px,.95fr);align-items:start;gap:70px}.contact-workspace{margin-top:18px}.contact-form{padding:28px}}@media (min-width:1600px){:root{--content:min(100% - 160px,1600px)}.hero .page-grid{column-gap:90px}.identity-canvas{min-height:590px}}@media (max-width:699px){.mobile-menu nav{padding-block:14px}.mobile-menu nav a{padding:9px 0;font-size:clamp(1.75rem,10vw,3rem)}.work-section .page-grid{width:calc(100% - 20px)}.work-section .section-header{width:calc(100% - 20px);margin-inline:auto}.project-collection{overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;grid-auto-columns:calc(100% - 28px);grid-auto-flow:column;align-items:start;gap:14px;padding:0 28px 14px 10px;scroll-padding-inline:10px;display:grid;overflow-x:auto}.project-collection::-webkit-scrollbar{display:none}.project-showcase{scroll-snap-align:start;scroll-snap-stop:always;background:linear-gradient(150deg,#11151a,#090b0e 72%);border:1px solid #353d46;min-width:0;padding:16px;overflow:hidden;box-shadow:0 20px 55px #0005}.project-heading{text-align:center;gap:13px}.project-heading h3,.project-showcase[data-variant=compact] .project-heading h3{margin-top:8px;font-size:clamp(2.7rem,15vw,4.4rem)}.project-heading-copy>p{margin-inline:auto}.project-meta{justify-content:center;gap:12px 20px}.project-meta div{text-align:center}.project-layout{gap:23px;margin-top:22px}.project-product:focus-visible,.project-product:hover{transform:none}.project-open-cue{bottom:8px;right:8px}.project-showcase[data-variant=compact] .project-summary,.project-summary{font-size:1.12rem;line-height:1.42}.project-contribution,.project-quality{display:none}.project-highlights{margin-top:22px}.project-highlights li{padding:11px 0;font-size:.8rem}.project-highlights li:nth-child(n+3){display:none}.project-technology{margin-top:20px}.project-technology li:nth-child(5):after,.project-technology li:nth-child(n+6){display:none}.project-actions{justify-content:center}.project-actions a:first-child{justify-content:center;min-width:min(100%,210px)}.project-carousel-nav{justify-content:center;align-items:center;gap:18px;min-height:54px;margin:22px 10px 0;display:flex}.project-carousel-nav button{width:44px;height:44px;color:var(--ivory);cursor:pointer;background:#101419;border:1px solid #46505b;place-items:center;display:grid}.project-carousel-nav button:disabled{cursor:default;opacity:.35}.project-carousel-nav p{min-width:100px;color:var(--muted);font-family:var(--font-geist-mono);justify-content:center;align-items:center;gap:10px;font-size:.65rem;display:flex}.project-carousel-nav p span{color:var(--signal)}.project-carousel-nav p i{background:#46505b;width:32px;height:1px}.timeline-entry{padding:0 0 48px 36px}.timeline-copy h3{font-size:clamp(1.75rem,9vw,2.6rem)}.timeline-copy>ul:not(.timeline-tech){padding-left:16px;font-size:.86rem;line-height:1.6}.timeline-copy>ul:not(.timeline-tech) li+li{margin-top:8px}}@media (max-width:359px){:root{--content:calc(100% - 24px)}.wordmark-copy{display:none}.hero h1{font-size:3.2rem}.hero-actions .button{padding-inline:12px}.canvas-stage{min-height:300px}.contact-form{padding:18px}.section{padding:78px 0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}