@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/fef07dbb0973bf53-s.3p2_lha1f2xer.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.1qq4vpdcun5oj.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/53b9e256198e5412-s.390ncx5urfkfu.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.21jp631_3pja2.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.0wgildi0cnwt9.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_6a0e6105-module__QVq-Ba__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_6a0e6105-module__QVq-Ba__variable{--font-geist:"Geist", "Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5ce348bf30bf5439-s.31988l_ccedte.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.2tuy5pz7dlieh.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/6306c77e7c8268e4-s.2dbetqa9o8jxf.woff2)format("woff2");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7d817b4c03b0c5f1-s.1uyisp29ctx0d.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.1rgnod-3esatf.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.0r6juujl39pe6.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_5848ff34-module__DD8p_q__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_5848ff34-module__DD8p_q__variable{--font-geist-mono:"Geist Mono", "Geist Mono Fallback"}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-sans:var(--font-geist), Arial, sans-serif;--font-mono:var(--font-geist-mono), monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-void:#08090a;--color-surface:#0f1113;--color-line:#232729;--color-text:#f4f1e8;--color-text-dim:#8d9089;--color-accent:#c2e85a;--color-warn:#e5a24b;--color-info:#7fb6e8}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border{border-style:var(--tw-border-style);border-width:1px}.italic{font-style:italic}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-padding-top:110px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--color-void);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0}.grain{content:"";pointer-events:none;z-index:70;opacity:.045;background:url(/grain.png);position:fixed;inset:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}::selection{background:var(--color-accent);color:var(--color-void)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:7px;border-radius:2px}p{line-height:1.7}h1,h2,h3,p{margin:0}ul,ol{margin:0;padding:0;list-style:none}.container{width:100%;margin-inline:auto;padding-inline:clamp(22px,5vw,88px)}.container--wide{max-width:1600px}.container--prose{max-width:1050px}.container--full{max-width:none;padding:0}.section{padding-block:clamp(64px,8vw,130px)}.section-heading{justify-content:space-between;align-items:center;gap:24px;margin-bottom:40px;display:flex}.eyebrow,.status,.availability,.local-time,.work-index,.work-row p,.nav-index,.footer-bottom,.tag,.spec-panel dt,.spec-panel dd,.number-label,.meta{font-family:var(--font-mono);letter-spacing:.02em;font-size:12px;line-height:1.6}.eyebrow{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-dim)}.eyebrow span{color:var(--color-accent);margin-right:18px}.site-header{z-index:50;border-bottom:1px solid var(--color-line);background:#08090ae6;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--color-void) 90%, transparent)}}.site-header{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.site-header .container{justify-content:space-between;align-items:center;gap:22px;min-height:98px;display:flex}.brand-link{letter-spacing:.1em;align-items:center;gap:12px;font-size:16px;font-weight:600;display:flex}.monogram{flex-shrink:0;width:47px;height:47px}.brand-caption{font-family:var(--font-mono);color:var(--color-text-dim);letter-spacing:.06em;margin-top:3px;font-size:9px;font-weight:400;display:block}.site-header nav{gap:clamp(20px,3vw,48px);display:flex}.site-header nav a{padding-block:14px;font-size:14px;position:relative}.site-header nav a:hover{color:var(--color-accent)}.nav-index{color:var(--color-text-dim);margin-right:8px;font-size:10px}[data-js=on] .site-header .mark-draw{stroke-dasharray:230;animation:1.8s both draw-mark}@keyframes draw-mark{0%{stroke-dashoffset:230px}to{stroke-dashoffset:0}}.skip-link{z-index:100;background:var(--color-accent);color:var(--color-void);padding:15px;position:fixed;top:-100px;left:20px}.skip-link:focus{top:15px}.hero{isolation:isolate;border-bottom:1px solid var(--color-line);min-height:770px;position:relative;overflow:hidden}.hero .container{z-index:2;pointer-events:none;padding-top:42px;padding-bottom:38px;position:relative}.hero a{pointer-events:auto}.hero-top{justify-content:space-between;align-items:center;gap:20px;margin-bottom:66px;display:flex}.availability{color:var(--color-accent);align-items:center;gap:10px;font-size:12px;display:inline-flex}.availability i,.status i{background:currentColor;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.availability i{animation:2.8s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.local-time{color:var(--color-text-dim);white-space:nowrap}.local-time span{color:var(--color-text);font-variant-numeric:tabular-nums;margin-inline:14px}.hero-title{letter-spacing:-.075em;max-width:1000px;font-size:clamp(72px,12.1vw,180px);font-weight:500;line-height:.87;position:relative}.hero-title em{color:var(--color-accent);font-style:normal;font-weight:350}.hero-title-small{letter-spacing:-.035em;margin-top:28px;font-size:.23em;line-height:1.2;display:block}@keyframes hero-mask{0%{clip-path:inset(0 0 12%);transform:translateY(8px)}to{clip-path:inset(0);transform:translateY(0)}}.hero-bottom{grid-template-columns:1fr 1fr;align-items:end;gap:50px;margin-top:44px;display:grid}.hero-intro{max-width:520px;color:var(--color-text-dim);font-size:17px}.hero-intro strong{color:var(--color-text);font-weight:400}.hero-bottom-right{justify-content:flex-end;align-items:center;gap:48px;display:flex}.hero-note{font-family:var(--font-mono);color:var(--color-text-dim);max-width:155px;font-size:11px;line-height:1.7}.hero-fallback{z-index:-2;background:radial-gradient(at 78% 38%,#27361965 0,#0000 49%),linear-gradient(110deg,#08090a 30%,#0e150b);position:absolute;inset:0}.hero-fallback:after{content:"";border:1px solid #c2e85a25;border-radius:50%;width:590px;height:590px;position:absolute;top:65px;right:-80px;transform:rotate(-30deg)scaleY(.72);box-shadow:0 0 0 32px #c2e85a09,0 0 0 75px #c2e85a08,0 0 0 128px #c2e85a06}.hero-canvas{z-index:-1;opacity:0;pointer-events:none;transition:opacity 1.8s;position:absolute;inset:0}.hero-canvas[data-ready=true]{opacity:1}.hero-canvas canvas{display:block}.text-link{border-bottom:1px solid var(--color-line);align-items:center;gap:18px;padding-bottom:7px;font-size:14px;line-height:1.4;transition:color .2s,border-color .2s;display:inline-flex}.text-link:hover{color:var(--color-accent);border-color:var(--color-accent)}.round-link{border:1px solid var(--color-text-dim);border-radius:50%;justify-content:center;align-items:center;width:84px;height:84px;font-size:36px;transition:background .2s,color .2s;display:flex}.round-link:hover{background:var(--color-accent);color:var(--color-void);border-color:var(--color-accent)}.magnetic{will-change:transform;display:inline-flex}.button{background:var(--color-accent);color:var(--color-void);border:1px solid var(--color-accent);justify-content:center;align-items:center;gap:28px;padding:17px 26px;font-size:14px;font-weight:550;transition:background .2s;display:inline-flex}.button:hover{background:var(--color-text)}.button-outline{color:var(--color-text);border-color:var(--color-line);background:0 0}.button-outline:hover{color:var(--color-void)}.marquee{border-bottom:1px solid var(--color-line);padding-block:26px;overflow:hidden}.marquee-track{width:max-content;animation:40s linear infinite marquee;display:flex}.marquee-group{flex-shrink:0;align-items:center;display:flex}.marquee-group span{font-family:var(--font-mono);letter-spacing:.1em;color:var(--color-text-dim);white-space:nowrap;font-size:13px}.marquee-group i{color:var(--color-accent);margin-inline:42px;font-size:20px;font-style:normal}@keyframes marquee{to{transform:translate(-50%)}}.work-rows{border-top:1px solid var(--color-line)}.work-preview-wrap{border-bottom:1px solid var(--color-line);position:relative}.work-row{z-index:2;grid-template-columns:60px 1fr 190px;align-items:center;gap:25px;padding:38px 0;display:grid;position:relative}.work-index{color:var(--color-text-dim);align-self:start;padding-top:14px}.work-row h2{letter-spacing:-.065em;font-size:clamp(44px,6.5vw,94px);font-weight:450;line-height:1.12;transition:transform .35s,color .35s}.work-row:hover h2{color:var(--color-accent);transform:translate(14px)}.work-row p{color:var(--color-text-dim);margin-top:14px}.work-row-side{flex-direction:column;align-items:flex-end;gap:24px;display:flex}.work-arrow{font-size:32px;transition:transform .3s}.work-row:hover .work-arrow{transform:translate(5px,-5px)}.status{align-items:center;gap:8px;font-size:11px;display:inline-flex}.status--current{color:var(--color-accent)}.status--past{color:var(--color-text-dim)}.status--paused{color:var(--color-warn)}.status--in-development{color:var(--color-info)}.work-preview-tile{z-index:4;pointer-events:none;opacity:0;border:1px solid var(--color-line);border-radius:3px;width:280px;height:180px;transition:opacity .25s;display:none;position:absolute;top:0;left:0;overflow:hidden}.work-preview-tile .work-visual{aspect-ratio:auto;height:100%}.work-preview-tile[data-active=true]{opacity:1}.work-preview-tile .panel-code{display:none}@media (min-width:768px) and (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){.work-preview-tile{display:block}}.dual-section{grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);display:grid}.large-copy{letter-spacing:-.04em;font-size:clamp(25px,3vw,42px);line-height:1.35}.large-copy em{color:var(--color-text-dim);font-style:normal}.teaser{border-top:1px solid var(--color-line);padding:28px 0}.teaser a{letter-spacing:-.025em;justify-content:space-between;gap:22px;font-size:22px;display:flex}.teaser a:hover{color:var(--color-accent)}.teaser p{color:var(--color-text-dim);margin-top:10px;font-size:15px}.meta{color:var(--color-text-dim)}.current-list{margin-top:34px}.current-list li{border-top:1px solid var(--color-line);justify-content:space-between;gap:25px;padding:20px 0;font-size:16px;display:flex}.current-list li span{color:var(--color-text-dim);font-size:14px}.contact-cta{border-top:1px solid var(--color-line);grid-template-columns:1.3fr 1fr;gap:80px;padding-top:65px;display:grid}.contact-cta h2{letter-spacing:-.065em;margin-top:26px;font-size:clamp(60px,8vw,125px);font-weight:450;line-height:1.02}.contact-cta em{color:var(--color-accent);font-style:normal;font-weight:350}.cta-side{flex-direction:column;align-self:end;align-items:flex-start;gap:24px;display:flex}.cta-side p{max-width:360px;color:var(--color-text-dim)}.site-footer{border-top:1px solid var(--color-line);padding-top:35px}.footer-top{justify-content:space-between;align-items:center;gap:25px;padding-bottom:36px;display:flex}.footer-top p{color:var(--color-text-dim);font-size:14px}.footer-bottom{border-top:1px solid var(--color-line);color:var(--color-text-dim);flex-wrap:wrap;justify-content:space-between;gap:22px;padding-block:25px;font-size:11px;display:flex}.footer-bottom nav{gap:22px;display:flex}.footer-bottom a:hover{color:var(--color-accent)}.page-intro{padding-top:80px;padding-bottom:70px}.page-title{letter-spacing:-.07em;margin-top:32px;font-size:clamp(68px,11vw,158px);font-weight:450;line-height:1}.page-title em{color:var(--color-accent);font-style:normal}.page-lead{max-width:680px;color:var(--color-text-dim);margin-top:30px;font-size:clamp(17px,1.7vw,22px);line-height:1.6}.page-intro .availability{margin-top:32px}.work-visual{aspect-ratio:16/8;background:var(--color-surface);width:100%;position:relative;overflow:hidden}.work-visual img{object-fit:cover}.generative-panel{width:100%;height:100%;color:var(--color-accent);background:radial-gradient(at 66% 65%,#364623 0%,#151d12 35%,#0b0e0d 80%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.generative-panel--studyradar{background:radial-gradient(at 70% 10%,#193342,#0c141d 55%,#090b0f)}.generative-panel--trayfoods{color:var(--color-warn);background:radial-gradient(at 30% 70%,#46331e,#201712 55%,#0b0b09)}.generative-panel--evolov{color:var(--color-info);background:radial-gradient(at 60% 60%,#28263d,#15151d 55%,#0b0b10)}.generative-panel .monogram{opacity:.9;width:22%;max-width:170px;height:auto;position:relative;transform:rotate(-12deg)}.panel-grid{background-image:linear-gradient(#f4f1e807 1px,#0000 1px),linear-gradient(90deg,#f4f1e807 1px,#0000 1px);background-size:60px 60px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000,#000);mask-image:linear-gradient(#0000,#000)}.generative-art{width:100%;height:100%;color:inherit;position:absolute;inset:0}.generative-art__contours path{fill:none;stroke:currentColor;stroke-width:1px;vector-effect:non-scaling-stroke}.generative-art__points path{stroke:currentColor;stroke-width:1px;opacity:.55;vector-effect:non-scaling-stroke}.panel-code{font:11px/1.7 var(--font-mono);letter-spacing:.12em;color:var(--color-text-dim);position:absolute;bottom:28px;left:32px}.panel-cross{font:25px var(--font-mono);color:var(--color-text-dim);position:absolute}.cross-one{top:24px;left:30px}.cross-two{bottom:24px;right:30px}.portrait-slot{aspect-ratio:4/5;position:relative;overflow:hidden}.portrait-slot img{object-fit:cover}.portrait-band{grid-template-columns:1fr 1fr;gap:0;display:grid}.portrait-band .portrait-slot{aspect-ratio:5/4}.portrait-band-copy{background:var(--color-surface);flex-direction:column;justify-content:space-between;gap:28px;padding:clamp(30px,5vw,90px);display:flex}.portrait-band-copy h2{letter-spacing:-.05em;font-size:clamp(30px,4vw,60px);font-weight:450;line-height:1.12}.portrait-band-copy p{color:var(--color-text-dim);max-width:500px}.photo-strip{grid-template-columns:1.4fr 1fr 1fr;gap:22px;margin-top:32px;display:grid}.photo-strip .portrait-slot{aspect-ratio:1}.photo-strip .portrait-slot:first-child{aspect-ratio:auto}.photo-strip figcaption{font:12px var(--font-mono);color:var(--color-text-dim);padding-top:12px}.skills-grid{grid-template-columns:repeat(3,1fr);gap:40px;display:grid}.skills-grid h3{margin-bottom:24px;font-size:16px;font-weight:450}.skills-grid ul{flex-wrap:wrap;gap:8px;display:flex}.tag{border:1px solid var(--color-line);color:var(--color-text-dim);padding:7px 12px;font-size:12px;display:inline-flex}.timeline-item{border-top:1px solid var(--color-line);grid-template-columns:1fr 2fr;gap:30px;padding:25px 0;display:grid}.timeline-item h3{font-size:20px;font-weight:450}.timeline-item p{color:var(--color-text-dim);margin-top:8px;font-size:14px}.case-header{padding-top:60px;padding-bottom:54px}.case-header .page-title{margin-block:25px}.case-title-row{justify-content:space-between;align-items:center;gap:20px;display:flex}.case-layout{grid-template-columns:280px minmax(0,1fr);align-items:start;gap:clamp(50px,9vw,150px);padding-block:80px;display:grid}.case-narrative{min-width:0}.spec-panel{border-top:1px solid var(--color-line);position:sticky;top:140px}.spec-panel dl>div{border-bottom:1px solid var(--color-line);padding-block:20px}.spec-panel dt{text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-dim);margin-bottom:10px}.spec-panel dd{margin:0;font-size:13px;line-height:1.8}.spec-panel ul{flex-wrap:wrap;gap:6px;display:flex}.spec-panel .tag{padding:3px 7px}.spec-links{flex-direction:column;gap:12px;margin-top:24px;display:flex}.case-narrative section{margin-bottom:54px}.case-narrative h2{letter-spacing:-.035em;margin-bottom:20px;font-size:27px;font-weight:450}.number-label{color:var(--color-accent);margin-right:20px;font-size:11px}.case-narrative p{color:var(--color-text-dim);font-size:17px;line-height:1.85}.pull-quote{letter-spacing:-.045em;border-left:2px solid var(--color-accent);margin:15px 0 65px;padding-left:30px;font-size:clamp(28px,3.2vw,45px);line-height:1.3}.build-log li{border-top:1px solid var(--color-line);color:var(--color-text-dim);grid-template-columns:40px 1fr;gap:12px;padding:22px 0;font-size:16px;line-height:1.8;display:grid}.build-log li span:first-child{font:11px var(--font-mono);color:var(--color-accent);padding-top:7px}.decision-list{gap:2px;display:grid}.decision-list li{border-top:1px solid var(--color-line);padding:24px 0}.decision-list h3{letter-spacing:-.03em;margin-bottom:10px;font-size:clamp(19px,1.9vw,24px);line-height:1.35}.decision-constraint{color:var(--color-text-dim);border-left:1px solid var(--color-accent);padding-left:18px;font-size:16px;line-height:1.8}.decision-note{font:13px/1.75 var(--font-mono);color:var(--color-text-dim);opacity:.82;margin-top:12px}.flow-diagram{border-top:1px solid var(--color-line);min-width:0;margin:60px 0;padding-top:28px}.flow-diagram__head p{max-width:52ch;color:var(--color-text-dim);margin-top:10px;font-size:16px;line-height:1.8}.flow-diagram__stages{scroll-snap-type:x proximity;grid-auto-columns:minmax(178px,1fr);grid-auto-flow:column;gap:14px;margin:28px 0 18px;padding-bottom:14px;display:grid;overflow-x:auto}.flow-diagram__stages:focus-visible{outline:2px solid var(--color-accent);outline-offset:6px}.flow-stage{scroll-snap-align:start;border:1px solid var(--color-line);border-top:1px solid var(--color-accent);background:var(--color-surface);padding:16px 15px 18px;position:relative}.flow-stage+.flow-stage:before{content:"";border-top:1px solid var(--color-accent);opacity:.5;width:14px;position:absolute;top:-1px;left:-15px}.flow-stage__index{font:11px var(--font-mono);letter-spacing:.14em;color:var(--color-accent)}.flow-stage__label{letter-spacing:-.02em;margin:10px 0 8px;font-size:17px}.flow-stage__detail{color:var(--color-text-dim);font-size:14px;line-height:1.7}.flow-diagram__source{font:12px/1.7 var(--font-mono);color:var(--color-text-dim);opacity:.75;max-width:60ch}.case-pagination{border-top:1px solid var(--color-line);grid-template-columns:1fr 1fr;gap:40px;padding-block:38px;display:grid}.case-pagination a:last-child{text-align:right}.case-pagination strong{letter-spacing:-.05em;margin-top:10px;font-size:clamp(28px,4vw,55px);font-weight:450;display:block}.case-pagination a:hover strong{color:var(--color-accent)}.resume-sheet{padding-block:65px 90px}.resume-heading{justify-content:space-between;align-items:start;gap:24px;display:flex}.resume-heading h1{letter-spacing:-.05em;font-size:62px;font-weight:450}.resume-links{color:var(--color-text-dim);flex-wrap:wrap;gap:18px;margin-top:24px;font-size:14px;display:flex}.resume-section{margin-top:48px}.resume-section>h2{font:12px var(--font-mono);color:var(--color-accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:22px}.resume-section p{color:var(--color-text-dim)}.resume-entry{border-top:1px solid var(--color-line);padding-block:24px}.resume-entry h3{font-size:19px;font-weight:500}.resume-entry .meta{margin-top:6px}.resume-entry ul{margin-top:17px;padding-left:18px;list-style:outside}.resume-entry li{color:var(--color-text-dim);padding-bottom:9px;font-size:15px;line-height:1.7}.resume-skill{border-top:1px solid var(--color-line);grid-template-columns:190px 1fr;gap:25px;padding:16px 0;font-size:15px;display:grid}.resume-skill dd{color:var(--color-text-dim);margin:0;line-height:1.7}.contact-email{letter-spacing:-.06em;border-bottom:1px solid var(--color-line);overflow-wrap:anywhere;width:fit-content;margin-top:50px;padding-bottom:15px;font-size:clamp(23px,5vw,76px);display:block}.contact-email:hover{color:var(--color-accent)}.copy-button{color:var(--color-text-dim);border-top:0;background:0 0;border-inline:0;margin-top:20px}.copy-status{font:12px var(--font-mono);color:var(--color-accent);margin-left:20px}.contact-details{grid-template-columns:1fr 1fr;gap:70px;display:grid}.contact-details h2{letter-spacing:-.05em;font-size:clamp(32px,4vw,56px);font-weight:450}.contact-details p{color:var(--color-text-dim);margin-top:20px}.calendar-shell{background:var(--color-surface);border:1px solid var(--color-line);min-height:660px;margin-top:30px}.calendar-fallback{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:20px;min-height:660px;padding:25px;display:flex}.code-grid{grid-template-columns:1fr 1fr;gap:35px;display:grid}.code-card{border-top:1px solid var(--color-line);padding-block:26px}.code-card h2{letter-spacing:-.05em;margin-top:25px;font-size:clamp(32px,4vw,58px);font-weight:450}.code-card p{color:var(--color-text-dim);margin-top:16px}.code-card .tags{flex-wrap:wrap;gap:6px;margin-block:24px;display:flex}.code-card .code-number{font:12px var(--font-mono);color:var(--color-accent)}.code-card .code-tradeoff{border-left:1px solid var(--color-line);padding-left:15px;font-size:14px}.writing-row{border-top:1px solid var(--color-line);grid-template-columns:180px 1fr 40px;gap:40px;padding-block:40px;display:grid}.writing-row h2{letter-spacing:-.05em;font-size:clamp(26px,3.8vw,54px);font-weight:450;line-height:1.2}.writing-row p{color:var(--color-text-dim);max-width:680px;margin-top:20px}.writing-row:hover h2{color:var(--color-accent)}.writing-row .meta{padding-top:6px}.writing-arrow{font-size:30px}.not-found{padding-block:110px}.not-found .page-title{color:var(--color-accent);font-size:clamp(130px,24vw,350px)}.not-found h2{letter-spacing:-.04em;margin:30px 0 16px;font-size:36px;font-weight:450}.not-found p{color:var(--color-text-dim);margin-bottom:30px}.cursor-reticle{pointer-events:none;z-index:100;opacity:0;border:1px solid #c2e85a70;border-radius:50%;width:30px;height:30px;transition:opacity .2s,width .2s,height .2s;position:fixed;top:-15px;left:-15px}.cursor-reticle[data-active=true]{opacity:1}.cursor-reticle[data-link=true]{border-color:var(--color-accent)}[data-reveal]{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){[data-js=on] [data-reveal]{opacity:0;transition:opacity .7s,transform .7s;animation:0s 3s forwards reveal-failsafe;transform:translateY(22px)}[data-js=on] [data-reveal][data-visible=true],[data-js=on] [data-reveal]:focus-within{opacity:1;transform:none}}@keyframes reveal-failsafe{to{opacity:1;transform:none}}@media (min-width:1600px){.hero{min-height:880px}.hero-title{font-size:180px}}@media (max-width:1000px){.brand-caption,.nav-index{display:none}.case-layout{grid-template-columns:220px 1fr;gap:45px}.work-row{grid-template-columns:35px 1fr 150px;gap:15px}.hero-bottom-right{gap:20px}.footer-top p{max-width:220px}}@media (max-width:767px){.site-header .container{gap:15px;min-height:85px}.brand-link{gap:7px;font-size:12px}.brand-link .monogram{width:32px;height:32px}.site-header nav{gap:15px}.site-header nav a{font-size:12px}.brand-link>span{display:none}.hero{min-height:auto}.hero .container{padding-top:26px;padding-bottom:38px}.hero-top{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:58px}.hero-title{letter-spacing:-.07em;font-size:clamp(72px,17vw,125px);line-height:.95}.hero-title-small{margin-top:22px;font-size:.28em}.hero-bottom{grid-template-columns:1fr;gap:32px;margin-top:34px}.hero-intro{max-width:500px;font-size:16px}.hero-bottom-right{justify-content:space-between}.hero-note{max-width:190px}.round-link{width:65px;height:65px;font-size:28px}.hero-fallback:after{width:380px;height:380px;top:80px;right:-190px}.hero .local-time{font-size:10px}.marquee{padding-block:17px}.marquee-group span{font-size:11px}.marquee-group i{margin-inline:25px}.section-heading{margin-bottom:27px}.section-heading .text-link{font-size:12px}.eyebrow{font-size:11px}.eyebrow span{margin-right:10px}.work-row{grid-template-columns:22px 1fr;gap:12px;padding-block:30px}.work-index{padding-top:9px;font-size:10px}.work-row h2{font-size:clamp(38px,11vw,70px)}.work-row p{margin-top:10px;font-size:10px;line-height:1.8}.work-row p span{display:block}.work-row-side{flex-direction:row;grid-column:2;justify-content:space-between;align-items:center;gap:14px}.work-row-side .status{font-size:10px}.work-arrow{font-size:24px}.work-row:hover h2{transform:none}.dual-section,.contact-cta,.contact-details,.portrait-band,.skills-grid,.code-grid{grid-template-columns:1fr;gap:45px}.contact-cta{padding-top:40px}.contact-cta h2{font-size:clamp(58px,15vw,90px)}.cta-side{gap:22px}.footer-top{flex-wrap:wrap}.footer-top p{display:none}.footer-bottom{flex-direction:column;gap:20px}.footer-bottom nav{flex-wrap:wrap;gap:16px}.page-intro{padding-top:50px;padding-bottom:45px}.page-title{margin-top:25px;font-size:clamp(64px,16vw,110px)}.page-lead{margin-top:25px;font-size:17px}.portrait-band .portrait-slot{aspect-ratio:5/4}.portrait-band-copy{min-height:320px}.photo-strip{grid-template-columns:1fr 1fr;gap:12px}.photo-strip figure:first-child{grid-column:1/-1}.photo-strip .portrait-slot:first-child{aspect-ratio:4/3}.photo-strip figcaption{font-size:10px}.skills-grid{gap:30px}.timeline-item{grid-template-columns:1fr;gap:12px}.case-header{padding-top:40px}.case-title-row{flex-direction:column;align-items:flex-start}.case-layout{grid-template-columns:1fr;gap:50px;padding-block:45px}.spec-panel{position:static}.spec-panel dl{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.spec-panel dt{font-size:10px}.spec-panel dd{font-size:12px}.spec-links{flex-flow:wrap}.case-narrative p{font-size:16px}.pull-quote{margin-bottom:45px;padding-left:20px;font-size:29px}.case-pagination{gap:20px}.case-pagination strong{font-size:29px}.case-pagination .eyebrow{font-size:10px}.work-visual{aspect-ratio:5/4}.panel-code{font-size:9px;bottom:20px;left:20px}.panel-cross{font-size:18px}.cross-one{top:18px;left:20px}.cross-two{bottom:18px;right:20px}.resume-heading{flex-direction:column;gap:20px}.resume-heading h1{font-size:52px}.resume-links{font-size:12px}.resume-skill{grid-template-columns:1fr;gap:10px}.resume-entry h3{font-size:18px}.resume-entry .meta{font-size:11px}.resume-entry li{font-size:15px}.contact-email{margin-top:30px;font-size:clamp(23px,7.2vw,52px)}.copy-status{margin:12px 0 0;display:block}.writing-row{grid-template-columns:1fr 25px;gap:18px}.writing-row>.meta{grid-column:1/-1}.writing-row p{font-size:16px}.writing-arrow{font-size:24px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}.hero-title{clip-path:none;transform:none}[data-js=on] [data-reveal]{opacity:1;transform:none}.marquee-track{width:100%;transform:none}.marquee-group{flex-wrap:wrap;gap:18px}.marquee-group[aria-hidden=true]{display:none}.marquee-group i{margin-inline:16px}.cursor-reticle,.work-preview-tile{display:none!important}}@media print{:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{color:#000;background:#fff;font:11pt Arial,sans-serif}.grain,.site-header,.site-footer,.cursor-reticle,.skip-link,.resume-heading .button{display:none!important}.container{max-width:none;padding:0}.resume-sheet{padding:0}.resume-heading h1{font-size:24pt}.resume-section{margin-top:20pt}.resume-section h2,.resume-sheet p,.resume-sheet li,.resume-sheet dd,.resume-sheet .meta,.resume-links{color:#000!important}.resume-entry{break-inside:avoid;border-color:#ccc;padding-block:12pt}.resume-entry li{font-size:10pt}.resume-section h2{break-after:avoid}.resume-links{font-size:10pt}.resume-heading p{font-size:11pt}.resume-heading{display:block}a{text-decoration:none}[data-reveal]{opacity:1!important;transform:none!important}}.hero-note{justify-content:space-between;gap:24px;max-width:none;margin-top:32px;display:flex}.hero-note span{color:var(--color-text-dim)}.hero-bottom .text-link{margin-top:22px}.teaser{display:block}.teaser h2{letter-spacing:-.045em;margin-top:24px;font-size:clamp(26px,3.2vw,44px);font-weight:450;line-height:1.15}.teaser h2 span{margin-top:20px;display:block}.teaser:hover h2{color:var(--color-accent)}.current-list li{display:block}.current-list h3{font-size:21px;font-weight:500}.current-list p{color:var(--color-text-dim);margin-top:8px;font-size:14px}.contact-cta{padding-inline:clamp(22px,5vw,88px);max-width:1424px;margin:50px auto 80px;padding-bottom:10px}.skills-grid h2{margin:20px 0;font-size:22px;font-weight:450;line-height:1.35}.timeline-item{grid-template-columns:1.2fr 1.6fr 1fr}.timeline-item h2{font-size:24px;font-weight:450}.spec-panel{padding-top:24px}.spec-panel>.status{margin-top:20px}.spec-panel dl{margin-top:30px}.spec-panel dt{margin-top:24px}.spec-panel dd{border-bottom:1px solid var(--color-line);padding-bottom:20px}.spec-links a{font-size:13px;line-height:1.7}.spec-links a:hover{color:var(--color-accent)}.case-narrative .eyebrow{margin-bottom:15px;font-size:11px;display:block}.case-narrative .pull-quote{color:var(--color-text);font-size:clamp(28px,3.2vw,45px);line-height:1.3}.case-narrative .evidence-note{border-top:1px solid var(--color-line);padding-top:25px}.case-narrative .evidence-note p{font-size:14px}.resume-heading{display:block}.resume-heading .page-lead,.resume-heading>p{margin-top:12px}.resume-download{margin-top:28px}.resume-entry h3 span{color:var(--color-text-dim);font-size:16px}.resume-entry>.eyebrow{margin-top:10px}.resume-progression{margin-top:12px;font-size:13px}.resume-skill h3{font-size:14px;font-weight:500}.code-decision{border-top:1px solid var(--color-line);margin-top:30px;padding:20px 0 0}.code-decision p{font-size:15px}.code-card .text-link{margin-top:24px}.not-found .text-link{margin-left:30px}@media (max-width:767px){.hero-note{max-width:none;font-size:9px}.timeline-item{grid-template-columns:1fr;gap:12px}.spec-panel dl{display:block}.photo-strip>.portrait-slot:first-child{grid-column:1/-1}.contact-cta{margin-top:20px;margin-bottom:55px}.case-pagination strong{font-size:28px}.not-found .text-link{width:fit-content;margin-top:25px;margin-left:0;display:flex}.page-title{overflow-wrap:anywhere}}@media print{.resume-download{display:none!important}.resume-heading h1{font-size:24pt}.resume-entry h3 span,.eyebrow{color:#000!important}}[data-js=on] .hero-title{animation:1.15s cubic-bezier(.2,.7,.2,1) both hero-mask}.experiment-grid{grid-template-columns:repeat(auto-fit,minmax(290px,1fr));gap:16px;display:grid}.experiment-card>a{border:1px solid var(--color-line);background:var(--color-surface);height:100%;transition:border-color .35s,transform .35s;display:grid;overflow:hidden}.experiment-card>a:hover{border-color:var(--color-accent);transform:translateY(-3px)}.experiment-card__art{aspect-ratio:16/8;color:var(--color-accent);background:radial-gradient(at 62% 60%,#26331a,#0d1110 70%);display:block;position:relative;overflow:hidden}.experiment-card__body{align-content:start;gap:9px;padding:20px 20px 24px;display:grid}.experiment-card__body strong{letter-spacing:-.03em;font-size:23px;font-weight:450}.experiment-card__summary{color:var(--color-text-dim);font-size:15px;line-height:1.75}.lab-shell{border:1px solid var(--color-line);background:var(--color-surface)}.lab-stage{aspect-ratio:16/9;opacity:0;background:radial-gradient(at 60% 55%,#1d2716,#0a0c0b 72%);min-height:260px;transition:opacity 1s;position:relative;overflow:hidden}.lab-stage[data-ready=true]{opacity:1}.lab-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important}.lab-controls{border-top:1px solid var(--color-line);grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 30px;padding:22px 24px 26px;display:grid}.lab-controls label{font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);grid-template-columns:1fr auto;align-items:center;gap:6px 12px;display:grid}.lab-controls input{width:100%;accent-color:var(--color-accent);grid-column:1/-1}.lab-controls output{font-variant-numeric:tabular-nums;color:var(--color-accent)}.lab-note,.lab-copy p{color:var(--color-text-dim);max-width:68ch;line-height:1.85}.lab-note{font:12px/1.75 var(--font-mono);opacity:.8;margin-top:16px}.lab-copy{gap:18px;margin-top:22px;display:grid}.stack-list{flex-wrap:wrap;gap:8px;display:flex}.stack-list li{border:1px solid var(--color-line);font:11px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-dim);padding:5px 11px}.machine{gap:20px;padding:26px 24px 28px;display:grid}.machine-track{flex-wrap:wrap;gap:8px;display:flex}.machine-node{border:1px solid var(--color-line);font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--color-text-dim);padding:7px 13px;transition:color .3s,border-color .3s}.machine-node[data-active]{color:var(--color-void);background:var(--color-accent);border-color:var(--color-accent)}.machine-readout{border-block:1px solid var(--color-line);grid-template-columns:repeat(auto-fit,minmax(126px,1fr));gap:12px;padding-block:16px;display:grid}.machine-readout p{gap:5px;display:grid}.machine-readout strong{font:19px var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text)}.machine-controls{flex-wrap:wrap;gap:8px;display:flex}.machine-controls button{border:1px solid var(--color-line);color:var(--color-text);font:11px var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;padding:9px 15px;transition:border-color .25s,color .25s}.machine-controls button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.machine-controls button:disabled{opacity:.35;cursor:not-allowed}.machine-controls--fault button{border-style:dashed}.machine-log{border-top:1px solid var(--color-line);gap:1px;max-height:290px;display:grid;overflow-y:auto}.machine-log li{border-bottom:1px solid var(--color-line);font:11px/1.6 var(--font-mono);color:var(--color-text-dim);grid-template-columns:46px 78px 130px 1fr;gap:10px;padding:9px 0;display:grid}.machine-log__seq{color:var(--color-text)}.machine-log li[data-verdict=applied] .machine-log__verdict,.machine-log li[data-verdict=replayed] .machine-log__verdict{color:var(--color-accent)}.machine-log li[data-verdict=duplicate] .machine-log__verdict,.machine-log li[data-verdict=parked] .machine-log__verdict{color:var(--color-warn)}.machine-log li[data-verdict=rejected] .machine-log__verdict{color:var(--color-info)}.machine-log__empty{opacity:.7;padding:14px 0;display:block}@media (max-width:720px){.machine-log li{grid-template-columns:40px 1fr}.machine-log__verdict,.machine-log__detail{grid-column:2}}.palette-trigger{border:1px solid var(--color-line);color:var(--color-text-dim);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;align-items:center;gap:9px;padding:7px 11px;font-size:11px;transition:color .25s,border-color .25s;display:inline-flex}.palette-trigger:hover{color:var(--color-accent);border-color:var(--color-accent)}.palette-trigger kbd{font:inherit;color:var(--color-text);opacity:.7}@media (max-width:860px){.palette-trigger span{display:none}}.palette-backdrop{z-index:90;background:#08090ab8;justify-content:center;align-items:flex-start;padding:clamp(60px,12vh,150px) 20px 20px;display:flex;position:fixed;inset:0}@supports (color:color-mix(in lab, red, red)){.palette-backdrop{background:color-mix(in srgb, var(--color-void) 72%, transparent)}}.palette-backdrop{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.palette{border:1px solid var(--color-line);background:var(--color-surface);flex-direction:column;width:min(640px,100%);max-height:70vh;display:flex;box-shadow:0 40px 90px #0006}.palette-field{border-bottom:1px solid var(--color-line);align-items:center;gap:12px;padding:15px 18px;display:flex}.palette-field input{min-width:0;color:var(--color-text);font:16px var(--font-sans);background:0 0;border:0;outline:none;flex:1}.palette-field kbd{font:10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-dim);border:1px solid var(--color-line);padding:3px 6px}.palette-results{padding:6px;overflow-y:auto}.palette-group{padding:12px 12px 6px}.palette-results button{text-align:left;width:100%;color:var(--color-text);background:0 0;border:0;align-items:center;gap:14px;padding:10px 12px;font-size:15px;display:flex}.palette-results button[data-active=true]{background:var(--color-void);color:var(--color-accent);outline:1px solid var(--color-line)}.palette-hint{font:11px var(--font-mono);letter-spacing:.06em;color:var(--color-text-dim);white-space:nowrap;text-overflow:ellipsis;max-width:45%;margin-left:auto;overflow:hidden}.palette-empty,.palette-foot{font:11px var(--font-mono);letter-spacing:.1em;color:var(--color-text-dim);padding:14px 18px}.palette-foot{border-top:1px solid var(--color-line)}.scroll-rail{z-index:80;pointer-events:none;background:linear-gradient(to right, var(--color-accent) calc(var(--progress,0) * 100%), transparent 0);height:2px;position:fixed;top:0;left:0;right:0}@media (prefers-reduced-motion:reduce){.scroll-rail{display:none}}.portrait-frame{isolation:isolate;justify-items:start;gap:14px;display:grid;position:relative}.portrait-frame__field{z-index:-1;color:var(--color-accent);opacity:.36;position:absolute;inset:-26px -34px -20px -30px;overflow:hidden}.portrait-frame__plate{aspect-ratio:1;border:1px solid var(--color-line);background:radial-gradient(at 58% 42%,#202a17,#0a0c0b 76%);width:min(300px,62vw);position:relative;overflow:hidden}.portrait-frame__plate img{object-fit:cover;filter:grayscale()contrast(1.1)brightness(.9);width:100%;height:100%;transition:filter .7s,transform 1s cubic-bezier(.2,.7,.2,1)}.portrait-frame:hover .portrait-frame__plate img{filter:grayscale(.55)contrast(1.05)brightness();transform:scale(1.035)}.portrait-frame__tint{pointer-events:none;mix-blend-mode:screen;background:linear-gradient(202deg,#c2e85a3d,#0000 58%),radial-gradient(at 50% 118%,#08090af0,#0000 62%);position:absolute;inset:0}.portrait-frame__empty{text-align:center;font:11px var(--font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--color-text-dim);position:absolute;inset:auto 0 14px}.portrait-frame figcaption{max-width:300px;font:12px/1.7 var(--font-mono);color:var(--color-text-dim)}.hero-aside{align-items:flex-end;gap:clamp(22px,3vw,44px);display:flex}.portrait-frame--hero .portrait-frame__plate{width:min(184px,34vw)}.portrait-frame--hero .portrait-frame__field{opacity:.22}@media (max-width:860px){.hero-aside{flex-direction:column;align-items:flex-start}}.contact-reach{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:34px;margin-top:30px;display:flex}.portrait-slot{background:radial-gradient(at 58% 42%,#1d2716,#0a0c0b 78%)}.portrait-slot img{filter:grayscale()contrast(1.08)brightness(.9);transition:filter .7s,transform 1s cubic-bezier(.2,.7,.2,1)}.portrait-slot:hover img{filter:grayscale(.5)contrast(1.04)brightness();transform:scale(1.03)}.portrait-slot:after{content:"";pointer-events:none;mix-blend-mode:screen;background:linear-gradient(202deg,#c2e85a30,#0000 60%),radial-gradient(at 50% 122%,#08090ae8,#0000 64%);position:absolute;inset:0}.portrait-slot--contain{place-items:center;padding:clamp(24px,4vw,60px);display:grid}.portrait-slot--contain img{aspect-ratio:1;object-fit:cover;border:1px solid var(--color-line);width:min(420px,74%);height:auto;position:relative}.also-list{gap:2px;margin-top:34px;display:grid}.also-list li{border-top:1px solid var(--color-line);grid-template-columns:minmax(180px,260px) 1fr;gap:20px 40px;padding:22px 0;display:grid}.also-list h3{letter-spacing:-.03em;margin-bottom:7px;font-size:21px;font-weight:450}.also-list p:last-child{color:var(--color-text-dim);font-size:15px;line-height:1.8}@media (max-width:720px){.also-list li{grid-template-columns:1fr}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}
