@import"https://fonts.googleapis.com/css2?family=Be+Vietnam+Pro:wght@400;500;600;700&family=IBM+Plex+Mono:wght@400;500&display=swap";@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500&family=Sora:wght@400;500;600;700&display=swap";.not-found-page{min-height:100dvh;display:grid;grid-template-rows:auto minmax(0,1fr) auto;padding-inline:clamp(var(--space-md),4vw,var(--space-2xl));background:var(--color-paper);color:var(--color-ink)}.not-found-nav,.not-found-footer{width:min(100%,90rem);margin-inline:auto}.not-found-nav{min-height:5rem;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.not-found-wordmark{color:var(--color-ink);font-family:var(--font-display);font-weight:700;letter-spacing:-.03em;white-space:nowrap}.not-found-wordmark span,.not-found-protocol,.not-found-wordmark:hover{color:var(--color-accent)}.not-found-wordmark:active{transform:translateY(1px)}.not-found-main{width:min(100%,90rem);margin-inline:auto;display:grid;align-content:center;gap:var(--space-2xl);padding-block:var(--space-3xl);animation:not-found-enter var(--dur-base) var(--ease-out) both}.not-found-code{margin:0;color:var(--color-rule);font-family:var(--font-mono);font-size:clamp(5rem,27vw,17rem);font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:-.09em;line-height:.72;-webkit-user-select:none;user-select:none}.not-found-copy{max-width:42rem}.not-found-protocol{margin:0 0 var(--space-md);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.05em}.not-found-copy h1{margin:0;font-size:clamp(2.25rem,7vw,5rem);font-style:normal;overflow-wrap:anywhere}.not-found-copy>p:last-child{max-width:52ch;margin:var(--space-lg) 0 0;color:var(--color-ink-2)}.not-found-index{margin:0;border-block-start:var(--rule-thin) solid var(--color-rule)}.not-found-index>div{display:grid;gap:var(--space-sm);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.not-found-index dt{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm)}.not-found-index dd{min-width:0;margin:0;color:var(--color-ink-2);overflow-wrap:anywhere}.not-found-home{width:fit-content;min-height:2.75rem;display:inline-flex;align-items:center;gap:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-accent);color:var(--color-ink);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out)}.not-found-home svg{width:1rem}.not-found-home:hover{color:var(--color-accent);transform:translate(-2px)}.not-found-home:active{transform:translate(0)}.not-found-wordmark[aria-disabled=true],.not-found-home[aria-disabled=true]{opacity:.55;pointer-events:none;cursor:not-allowed}.not-found-footer{display:flex;flex-direction:column;gap:var(--space-sm);padding-block:var(--space-lg);border-block-start:var(--rule-thin) solid var(--color-rule-2);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm)}@keyframes not-found-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media(min-width:40rem){.not-found-main{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);column-gap:var(--space-3xl)}.not-found-code{grid-row:span 3;align-self:center}.not-found-index>div{grid-template-columns:minmax(9rem,.45fr) minmax(0,1fr)}.not-found-footer{flex-direction:row;justify-content:space-between}}@media(prefers-reduced-motion:reduce){.not-found-main{animation:not-found-enter-reduced .15s linear both}.not-found-home:hover,.not-found-home:active{transform:none}}@keyframes not-found-enter-reduced{0%{opacity:0}to{opacity:1}}@layer components;@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){:root,:host{--pointer-light-core:transparent;--pointer-light-mid:transparent}}}@layer theme{:root,:host{--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;--text-sm:.875rem;--radius-sm:.25rem;--radius-md:.375rem;--ease-out:cubic-bezier(0, 0, .2, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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;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 utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.hidden{display:none}.resize{resize:both}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--color-paper:oklch(12% .014 165);--color-paper-2:oklch(16% .016 165);--color-paper-3:oklch(21% .02 165);--color-ink:oklch(94% .012 105);--color-ink-2:oklch(76% .012 135);--color-muted:oklch(62% .012 145);--color-rule:oklch(31% .016 155);--color-rule-2:oklch(25% .014 155);--color-accent:oklch(78% .13 155);--color-accent-soft:oklch(34% .045 155);--color-accent-ink:oklch(14% .02 155);--color-focus:oklch(82% .18 155);--color-graphite:oklch(9% .012 165);--color-graphite-ink:oklch(94% .012 105);--color-canvas:oklch(10% .012 165);--color-canvas-raised:oklch(14% .014 165);--color-cream:oklch(92% .025 105);--color-cream-ink:oklch(16% .018 165);--color-cream-muted:oklch(46% .018 155);--color-spotlight-light-core:oklch(54% .14 225/.2);--color-spotlight-light-mid:oklch(62% .1 205/.09);--color-spotlight-coral-core:oklch(72% .08 42/.16);--color-spotlight-coral-mid:oklch(82% .045 68/.08);--color-spotlight-cream-core:oklch(66% .075 145/.18);--color-spotlight-cream-mid:oklch(76% .045 132/.08);--color-terminal-cyan:oklch(78% .1 215);--color-terminal-violet:oklch(78% .09 300);--color-terminal-amber:oklch(82% .12 78);--color-terminal-blue:oklch(76% .12 250);--color-terminal-danger:oklch(66% .16 28);--font-display:"Be Vietnam Pro", "Segoe UI", sans-serif;--font-body:"Be Vietnam Pro", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", "Cascadia Mono", monospace;--space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:5rem;--space-4xl:7.5rem;--text-sm:.8125rem;--text-body:1rem;--text-lead:clamp(1.05rem, 1.4vw, 1.25rem);--text-display:clamp(3.25rem, 7vw, 6.5rem);--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in:cubic-bezier(.7, 0, .84, 0);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-fast:.14s;--dur-base:.26s;--dur-card:.42s;--rule-thin:1px;--radius-sm:.25rem;--radius-md:.75rem}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-paper);overflow-x:clip}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-size:var(--text-body);text-rendering:optimizelegibility;margin:0;line-height:1.65;overflow-x:clip}button,a{font:inherit}a{color:inherit;text-decoration:none}button{color:inherit}::selection{background:var(--color-accent);color:var(--color-accent-ink)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}button:active,a:active{transform:translateY(1px)}button:disabled,a[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}.shell{width:min(100% - 2rem,82rem);margin-inline:auto}.skip-link{z-index:100;padding:var(--space-sm) var(--space-md);background:var(--color-accent);color:var(--color-accent-ink);position:fixed;inset-block-start:var(--space-md);inset-inline-start:var(--space-md);transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:20;align-items:center;gap:var(--space-md);min-height:4.5rem;padding-inline:max(1rem,env(safe-area-inset-left));border-block-end:var(--rule-thin) solid var(--color-rule-2);background:var(--color-paper);grid-template-columns:1fr auto;display:grid;position:sticky;inset-block-start:0}@supports (color:color-mix(in lab,red,red)){.site-header{background:color-mix(in oklch,var(--color-paper) 88%,transparent)}}.site-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.wordmark{letter-spacing:-.04em;white-space:nowrap;font-weight:700}.wordmark span{color:var(--color-accent)}.nav{padding:var(--space-lg);background:var(--color-paper-2);border-block-end:var(--rule-thin) solid var(--color-rule);display:none;position:absolute;inset-block-start:4.5rem;inset-inline:0}.nav.is-open{gap:var(--space-md);display:grid}.nav a,.socials a{width:fit-content;color:var(--color-ink-2);white-space:nowrap;background-image:linear-gradient(var(--color-accent),var(--color-accent));transition:color var(--dur-fast) var(--ease-out),background-size var(--dur-base) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.nav a:hover,.socials a:hover{color:var(--color-ink);background-size:100% 1px}.header-actions{align-items:center;gap:var(--space-sm);display:flex}.language-switch{padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);border-radius:999px;display:flex}.language-switch button{min-width:2.15rem;min-height:2rem;padding:0 var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);cursor:pointer;background:0 0;border:0;border-radius:999px;font-size:.7rem}.language-switch button[aria-pressed=true]{background:var(--color-accent);color:var(--color-accent-ink)}.menu-toggle{min-height:2.4rem;padding:0 var(--space-sm);border:var(--rule-thin) solid var(--color-rule);cursor:pointer;background:0 0;font-size:0}.menu-toggle:after{content:"☰";font-size:1rem}.hero{align-items:center;gap:var(--space-3xl);min-height:calc(100svh - 4.5rem);padding-block-start:var(--space-3xl);padding-block-end:var(--space-4xl);display:grid}.hero-copy{min-width:0;animation:intro var(--dur-base) var(--ease-out) both}.availability,.role,.section-note,.meta-label,.project-index{font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.05em}.availability{align-items:center;gap:var(--space-sm);width:fit-content;margin:0 0 var(--space-xl);color:var(--color-ink-2);display:flex}.availability span,.status-dot{background:var(--color-accent);width:.5rem;height:.5rem;box-shadow:0 0 0 4px var(--color-accent-soft);border-radius:50%}.role{margin:0 0 var(--space-sm);color:var(--color-accent)}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.045em;overflow-wrap:anywhere;min-width:0;margin:0;font-style:normal;line-height:1.04}h1{font-size:var(--text-display);font-weight:600}h2{max-width:13ch;font-size:clamp(2.15rem,5vw,4.25rem);font-weight:500}.hero-position{max-width:28ch;margin:var(--space-lg) 0 var(--space-md);color:var(--color-ink);font-size:var(--text-lead);font-weight:500;line-height:1.4}.hero-summary{max-width:40rem;color:var(--color-ink-2);margin:0}.hero-actions{gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-xl);display:flex}.button{min-height:3rem;padding-inline:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.button--solid{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.button:hover{border-color:var(--color-accent);transform:translateY(-2px)}.profile-panel{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);box-shadow:0 2rem 6rem var(--color-paper);align-self:center}@supports (color:color-mix(in lab,red,red)){.profile-panel{box-shadow:0 2rem 6rem color-mix(in oklch,var(--color-paper) 70%,transparent)}}.profile-panel{animation:intro var(--dur-base) var(--ease-out) 80ms both}.profile-head{padding:var(--space-md) var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule);color:var(--color-ink-2);font-family:var(--font-mono);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;display:flex}.profile-body{padding:var(--space-sm) var(--space-lg)}.profile-row{gap:var(--space-sm);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2);display:grid}.profile-row:last-child{border:0}.profile-row>span{color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;font-size:.75rem}.profile-row strong{font-size:.925rem;font-weight:500;line-height:1.5}.profile-row strong.is-active{color:var(--color-accent)}.architecture{align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.08em;grid-template-columns:auto minmax(1rem,1fr) auto minmax(1rem,1fr) auto;font-size:.65rem;display:grid}.architecture i{background:var(--color-rule);height:1px;position:relative}.architecture i:after{content:"";border-block-start:1px solid var(--color-accent);border-inline-end:1px solid var(--color-accent);width:5px;height:5px;position:absolute;inset-block-start:-2px;inset-inline-end:0;transform:rotate(45deg)}.section{padding-block:var(--space-4xl);border-block-start:var(--rule-thin) solid var(--color-rule-2)}.split-section,.contact-section{gap:var(--space-2xl);display:grid}.section-note{margin:0 0 var(--space-md);color:var(--color-muted)}.section-body,.contact-body{max-width:42rem}.lead{color:var(--color-ink-2);font-size:var(--text-lead);margin:0;line-height:1.65}.meta-label{margin:var(--space-2xl) 0 var(--space-sm);color:var(--color-muted);text-transform:uppercase}.principles{margin:0;padding:0;list-style:none}.principles li{padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.principles li:before{content:"—";color:var(--color-accent);margin-inline-end:var(--space-md)}.section-heading{gap:var(--space-xl);margin-block-end:var(--space-3xl);display:grid}.section-heading>p{max-width:36rem;color:var(--color-ink-2);align-self:end;margin:0}.capability-grid{border-block-start:var(--rule-thin) solid var(--color-rule);display:grid}.capability-group{padding-block:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule)}.capability-group h3{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:.04em;margin-block-end:var(--space-md);font-weight:400}.capability-group div{gap:var(--space-sm) var(--space-lg);flex-wrap:wrap;display:flex}.capability-group span{color:var(--color-ink-2)}.projects-section{padding-block-end:0}.project-case{gap:var(--space-2xl);padding-block:var(--space-3xl);border-block-start:var(--rule-thin) solid var(--color-rule);display:grid}.project-index{color:var(--color-accent);margin-block-end:var(--space-xl);display:block}.project-intro h3{font-size:clamp(2rem,4vw,3.75rem);font-weight:500}.project-intro p{max-width:34rem;margin:var(--space-lg) 0 0;color:var(--color-ink-2)}.project-proof{padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2)}.project-proof dl{margin:0}.project-proof dl>div{padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.project-proof dt{color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-block-end:var(--space-sm);font-size:.72rem}.project-proof dd{color:var(--color-ink-2);margin:0}.project-proof ul{margin:0;padding-inline-start:1.2rem}.stack-list{gap:var(--space-sm);flex-wrap:wrap;display:flex}.stack-list span{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:.28rem .5rem;font-size:.7rem}.text-link{justify-content:space-between;gap:var(--space-md);padding-block:var(--space-sm);color:var(--color-ink);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);margin-block-start:var(--space-lg);display:flex}.text-link:hover{color:var(--color-accent)}.missing-link{margin:var(--space-lg) 0 0;color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm)}.email-link{justify-content:space-between;gap:var(--space-md);margin-block:var(--space-2xl);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);overflow-wrap:anywhere;transition:border-color var(--dur-fast) var(--ease-out);font-size:clamp(1.1rem,3vw,2rem);display:flex}.email-link:hover{border-color:var(--color-accent)}.socials{gap:var(--space-lg);flex-wrap:wrap;display:flex}.location{color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);margin-block-start:var(--space-xl)}.site-footer{gap:var(--space-sm);padding-block:var(--space-xl);border-block-start:var(--rule-thin) solid var(--color-rule-2);color:var(--color-muted);font-family:var(--font-mono);flex-direction:column;font-size:.72rem;display:flex}@keyframes intro{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media(min-width:40rem){.shell{width:min(100% - 4rem,82rem)}.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-group{padding-inline:var(--space-lg)}.site-footer{flex-direction:row;justify-content:space-between}}.admin-page,.admin-auth{background:var(--color-paper);min-height:100vh;color:var(--color-ink);font-family:var(--font-body)}.admin-auth{padding:var(--space-xl);place-items:center;display:grid}.admin-auth>a{inset:var(--space-xl) auto auto var(--space-xl);align-items:center;gap:var(--space-sm);color:var(--color-ink-2);text-decoration:none;display:inline-flex;position:fixed}.admin-auth>a svg,.admin-topbar svg,.admin-primary svg,.admin-features svg{width:1rem;height:1rem}.admin-auth form{width:min(100%,28rem);padding:var(--space-2xl);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2)}.admin-auth form>p:first-child,.admin-topbar p,.admin-editor-head p{margin:0 0 var(--space-sm);color:var(--color-accent);font:500 var(--text-sm)/1.4 var(--font-mono);letter-spacing:.08em}.admin-auth h1,.admin-topbar h1,.admin-editor h1{font-family:var(--font-display);margin:0;font-style:normal}.admin-auth h1{margin-bottom:var(--space-xl);font-size:clamp(2rem,5vw,3.25rem);line-height:1.02}.admin-auth label,.admin-fields label{gap:var(--space-sm);margin-bottom:var(--space-lg);color:var(--color-ink-2);font-size:var(--text-sm);display:grid}.admin-auth input,.admin-fields input,.admin-fields textarea,.admin-feature-row input{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-graphite);width:100%;color:var(--color-ink);font:inherit;transition:border-color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out);padding:.8rem .9rem}.admin-fields textarea{resize:vertical;min-height:9rem;line-height:1.6}.admin-auth input:hover,.admin-fields input:hover,.admin-fields textarea:hover,.admin-feature-row input:hover{border-color:var(--color-muted)}.admin-auth input:focus-visible,.admin-fields input:focus-visible,.admin-fields textarea:focus-visible,.admin-feature-row input:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.admin-primary,.admin-empty button,.admin-features button{justify-content:center;align-items:center;gap:var(--space-sm);border:var(--rule-thin) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent);min-height:2.75rem;color:var(--color-accent-ink);white-space:nowrap;cursor:pointer;transition:transform var(--dur-fast) var(--ease-out),opacity var(--dur-fast) var(--ease-out);padding:.7rem 1rem;font-weight:700;display:inline-flex}.admin-primary:hover,.admin-empty button:hover,.admin-features button:hover{opacity:.88}.admin-primary:active,.admin-empty button:active,.admin-features button:active{transform:translateY(1px)}.admin-primary:focus-visible,.admin-empty button:focus-visible,.admin-features button:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.admin-primary:disabled{cursor:wait;opacity:.55}.admin-message{padding:var(--space-md);border-radius:var(--radius-sm)}.admin-message.is-error{border:var(--rule-thin) solid var(--color-terminal-amber);color:var(--color-terminal-amber)}.admin-topbar{justify-content:space-between;align-items:flex-end;gap:var(--space-xl);max-width:90rem;padding:var(--space-xl) clamp(var(--space-md),4vw,var(--space-2xl));border-bottom:var(--rule-thin) solid var(--color-rule-2);margin:auto;display:flex}.admin-topbar h1{font-size:clamp(2rem,4vw,3.75rem)}.admin-topbar span{margin-top:var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);font-size:var(--text-sm);display:block}.admin-topbar>div:last-child{gap:var(--space-sm);display:flex}.admin-topbar a,.admin-topbar button,.admin-workspace-head button,.admin-project-list button,.admin-quiet{align-items:center;gap:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);min-height:2.5rem;color:var(--color-ink-2);white-space:nowrap;cursor:pointer;background:0 0;padding:.6rem .8rem;text-decoration:none;display:inline-flex}.admin-topbar a:hover,.admin-topbar button:hover,.admin-project-list button:hover,.admin-quiet:hover{border-color:var(--color-accent);color:var(--color-ink)}.admin-topbar a:focus-visible,.admin-topbar button:focus-visible,.admin-project-list button:focus-visible,.admin-quiet:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.admin-workspace,.admin-editor{max-width:90rem;padding:var(--space-2xl) clamp(var(--space-md),4vw,var(--space-2xl)) var(--space-4xl);margin:auto}.admin-workspace-head,.admin-editor-head{justify-content:space-between;align-items:center;gap:var(--space-xl);margin-bottom:var(--space-xl);display:flex}.admin-workspace-head p{color:var(--color-muted)}.admin-empty{max-width:42rem;padding:var(--space-2xl);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md)}.admin-empty h2{margin-top:0}.admin-empty p{color:var(--color-ink-2);line-height:1.7}.admin-project-list{border-top:var(--rule-thin) solid var(--color-rule)}.admin-project-list article{justify-content:space-between;align-items:center;gap:var(--space-xl);padding:var(--space-xl) 0;border-bottom:var(--rule-thin) solid var(--color-rule-2);display:flex}.admin-project-list article>div:first-child{column-gap:var(--space-md);grid-template-columns:2.5rem minmax(0,1fr);align-items:baseline;min-width:0;display:grid}.admin-project-list article>div:first-child>span{color:var(--color-accent);font-family:var(--font-mono)}.admin-project-list h2{overflow-wrap:anywhere;margin:0}.admin-project-list p{margin:var(--space-sm) 0 0;color:var(--color-muted);grid-column:2}.admin-project-list article>div:last-child{gap:var(--space-sm);display:flex}.admin-project-list .is-danger{color:var(--color-terminal-amber)}.admin-project-list button svg{width:1rem}.admin-fields.two{gap:var(--space-lg);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-fields.compact{align-items:center;gap:var(--space-xl);display:flex}.admin-fields.compact>label:first-child{max-width:8rem}.admin-check{grid-template-columns:auto 1fr;align-items:center;display:flex!important}.admin-check input{width:1rem;accent-color:var(--color-accent)}.admin-features{margin-bottom:var(--space-xl)}.admin-features header{margin-bottom:var(--space-md);color:var(--color-ink-2);justify-content:space-between;align-items:center;display:flex}.admin-features header button{min-height:2.25rem;padding:.4rem .7rem}.admin-feature-row{gap:var(--space-sm);margin-bottom:var(--space-sm);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;display:grid}.admin-feature-row>button{border-color:var(--color-rule);width:2.75rem;color:var(--color-terminal-amber);background:0 0;padding:0}.admin-editor-actions{padding-top:var(--space-xl);border-top:var(--rule-thin) solid var(--color-rule-2);justify-content:flex-end;display:flex}@media(max-width:768px){.admin-topbar,.admin-workspace-head,.admin-editor-head,.admin-project-list article{flex-direction:column;align-items:stretch}.admin-topbar>div:last-child,.admin-project-list article>div:last-child{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.admin-fields.two,.admin-feature-row{grid-template-columns:minmax(0,1fr)}.admin-feature-row>button{width:100%}.admin-fields.compact{align-items:flex-start;gap:var(--space-sm);flex-direction:column}.admin-auth form{padding:var(--space-xl)}}@media(prefers-reduced-motion:reduce){.admin-page *,.admin-auth *{scroll-behavior:auto;transition-duration:.01ms!important}}@media(min-width:60rem){.site-header{grid-template-columns:1fr auto 1fr;padding-inline:clamp(2rem,5vw,5rem)}.nav{justify-content:center;gap:var(--space-xl);background:0 0;border:0;padding:0;display:flex;position:static}.header-actions{justify-self:end}.menu-toggle{display:none}.hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(3rem,7vw,8rem)}.split-section,.contact-section,.section-heading,.project-case{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:clamp(3rem,8vw,8rem)}.project-case--reverse .project-intro{grid-column:2}.project-case--reverse .project-proof{grid-area:1/1}.capability-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.capability-group{border-inline-end:var(--rule-thin) solid var(--color-rule)}.capability-group:last-child{border-inline-end:0}}@media(hover:hover)and (pointer:fine){.profile-panel:hover{border-color:var(--color-muted)}}@media(pointer:coarse){.button,.nav a,.socials a{min-height:3rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.cobalt-page{background:var(--color-paper);color:var(--color-ink)}.page-grid{width:min(100% - 2rem,86rem);margin-inline:auto}.edge-nav{z-index:20;min-height:5rem;color:var(--color-ink);grid-template-columns:1fr auto;align-items:center;padding-inline:clamp(1rem,4vw,4rem);display:grid;position:absolute;inset-block-start:0;inset-inline:0}.edge-wordmark{font-family:var(--font-display);letter-spacing:-.03em;white-space:nowrap;font-size:.875rem;font-weight:700}.edge-wordmark span{color:var(--color-accent)}.edge-links{display:none}.edge-links.is-open{gap:var(--space-sm);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);display:grid;position:absolute;inset-block-start:4rem;inset-inline:1rem}.edge-links a,.contact-links a{width:fit-content;color:var(--color-ink-2);white-space:nowrap;background-image:linear-gradient(var(--color-accent),var(--color-accent));transition:color var(--dur-fast) var(--ease-out),background-size var(--dur-base) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.edge-links a:hover,.edge-links a:focus-visible,.contact-links a:hover,.contact-links a:focus-visible{color:var(--color-accent);background-size:100% 1px}.edge-actions{align-items:center;gap:var(--space-sm);display:flex}.edge-menu{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper);cursor:pointer;align-items:center;display:inline-flex}.edge-menu span{font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;font-size:.6875rem}.marquee-hero{align-content:end;gap:var(--space-xl);min-height:100svh;padding-block-start:var(--space-3xl);padding-block-end:var(--space-4xl);display:grid}.marquee-meta{gap:var(--space-xs);border-block-end:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.04em;flex-direction:column;padding-block-end:var(--space-md);font-size:.75rem;display:flex}.marquee-meta span:first-child{color:var(--color-ink)}.marquee-hero h1{max-width:14ch;font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.055em;font-weight:700;line-height:.98}.project-index{border-block-start:var(--rule-thin) solid var(--color-ink)}.project-index-head{gap:var(--space-lg);padding-block:var(--space-3xl);display:grid}.project-index-head h2,.sheet-heading h2,.about-layout h2,.contact-block h2{max-width:14ch;font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(2.5rem,5vw,4.75rem);font-weight:700;line-height:1}.project-index-head>div{gap:var(--space-md);align-self:end;display:grid}.project-index-head p,.sheet-heading p{max-width:58ch;color:var(--color-ink-2);margin:0}.project-index-head>div p:first-child{color:var(--color-ink);font-size:var(--text-lead)}.project-index-list{border-block-start:var(--rule-thin) solid var(--color-rule)}.index-project{gap:var(--space-xl);padding-block:var(--space-2xl);border-block-end:var(--rule-thin) solid var(--color-rule);display:grid}.index-project-title{gap:var(--space-sm) var(--space-md);grid-template-columns:auto minmax(0,1fr);align-content:start;display:grid}.index-project-title>span{color:var(--color-accent);font-family:var(--font-mono);font-variant-numeric:tabular-nums;padding-block-start:var(--space-xs);font-size:.75rem}.index-project-title h3{font-family:var(--font-display);letter-spacing:-.04em;font-size:clamp(1.75rem,4vw,3.5rem);font-weight:700;line-height:1.05}.index-project-title p{max-width:58ch;margin:var(--space-xs) 0 0;color:var(--color-ink-2);grid-column:2}.index-project-detail{align-content:start;gap:var(--space-lg);display:grid}.index-project-detail dl{margin:0}.index-project-detail dl>div{gap:var(--space-xs);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2);display:grid}.index-project-detail dt{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.6875rem}.index-project-detail dd{color:var(--color-ink-2);margin:0}.index-project-detail ul{margin:0;padding-inline-start:var(--space-lg)}.project-repo{border-block-end:var(--rule-thin) solid var(--color-ink);white-space:nowrap;min-height:3rem;transition:color var(--dur-fast) var(--ease-out);justify-content:space-between;align-items:center;font-weight:700;display:flex}.project-repo:hover{color:var(--color-accent)}.project-missing{color:var(--color-muted);font-family:var(--font-mono);margin:0;font-size:.75rem}.capability-sheet{padding-block:var(--space-4xl)}.sheet-heading{gap:var(--space-lg);margin-block-end:var(--space-3xl);display:grid}.capability-table{border-block-start:var(--rule-thin) solid var(--color-rule)}.capability-line{gap:var(--space-xs);padding-block:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule);display:grid}.capability-line h3{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:.75rem;font-weight:400}.capability-line p{max-width:70ch;color:var(--color-ink-2);margin:0}.about-band{background:var(--color-graphite);color:var(--color-graphite-ink)}.about-layout{gap:var(--space-2xl);padding-block:var(--space-4xl);display:grid}.about-layout h2{color:var(--color-graphite-ink)}.about-lead{max-width:62ch;color:var(--color-graphite-ink);font-size:var(--text-lead);margin:0}.about-layout ul{margin:var(--space-2xl) 0 0;border-block-start:var(--rule-thin) solid var(--color-muted);padding:0;list-style:none}.about-layout li{padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-muted)}.about-layout li:before{content:"—";color:var(--color-accent);margin-inline-end:var(--space-md)}.contact-block{gap:var(--space-2xl);padding-block:var(--space-4xl);display:grid}.contact-copy>p{max-width:60ch;color:var(--color-ink-2);font-size:var(--text-lead);margin:0}.contact-email{justify-content:space-between;align-items:center;gap:var(--space-md);margin-block:var(--space-2xl);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-ink);font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(1.125rem,3vw,2rem);font-weight:700;display:flex}.contact-links{gap:var(--space-lg);flex-wrap:wrap;display:flex}.statement-footer{gap:var(--space-3xl);padding-block:var(--space-4xl) var(--space-xl);border-block-start:var(--rule-thin) solid var(--color-rule);display:grid}.statement-footer>p{max-width:28ch;font-family:var(--font-display);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,5vw,4rem);font-weight:700;line-height:1.04}.statement-footer>div{gap:var(--space-sm);border-block-start:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-mono);flex-direction:column;padding-block-start:var(--space-md);font-size:.75rem;display:flex}.statement-footer>div span:first-child{color:var(--color-ink);font-family:var(--font-display);font-weight:700}@media(min-width:40rem){.page-grid{width:min(100% - 4rem,86rem)}.marquee-meta,.statement-footer>div{flex-direction:row;justify-content:space-between;align-items:center}.project-index-head,.sheet-heading{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}.capability-line{grid-template-columns:minmax(8rem,.35fr) minmax(0,1fr)}}@media(min-width:60rem){.edge-nav{grid-template-columns:1fr auto 1fr}.edge-links{justify-content:center;gap:var(--space-xl);display:flex}.edge-actions{justify-self:end}.edge-menu{display:none}.index-project{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(3rem,8vw,8rem)}.about-layout,.contact-block{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem)}}@media(hover:hover)and (pointer:fine){.index-project{transition:background-color var(--dur-base) var(--ease-out)}.index-project:hover{background:var(--color-paper-2)}}@media(pointer:coarse){.edge-links a,.contact-links a,.project-repo,.arrow-link{min-height:3rem}}.studied-page{background:var(--color-paper);min-height:100svh;color:var(--color-ink)}.studied-shell{width:min(100% - 2rem,84rem);margin-inline:auto}.studied-nav{z-index:20;border-block-end:var(--rule-thin) solid var(--color-rule-2);background:var(--color-paper);grid-template-columns:1fr auto;align-items:center;min-height:4.75rem;padding-inline:clamp(1rem,4vw,4rem);display:grid;position:sticky;inset-block-start:0}@supports (color:color-mix(in lab,red,red)){.studied-nav{background:color-mix(in oklch,var(--color-paper) 92%,transparent)}}.studied-nav{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.studied-wordmark{font-family:var(--font-display);letter-spacing:-.04em;white-space:nowrap;font-weight:700}.studied-wordmark span{color:var(--color-accent)}.studied-links{display:none}.studied-links.is-open{gap:var(--space-sm);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);display:grid;position:absolute;inset-block-start:4.75rem;inset-inline:1rem}.studied-links a,.studied-contact-copy>div a{width:fit-content;color:var(--color-ink-2);white-space:nowrap;background-image:linear-gradient(var(--color-accent),var(--color-accent));transition:background-size var(--dur-base) var(--ease-out);background-position:0 100%;background-repeat:no-repeat;background-size:0 1px}.studied-links a:hover,.studied-links a:focus-visible,.studied-contact-copy>div a:hover,.studied-contact-copy>div a:focus-visible{background-size:100% 1px}.studied-nav-actions{align-items:center;gap:var(--space-sm);display:flex}.studied-menu{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);background:var(--color-paper-2);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap;cursor:pointer;font-size:.7rem}.studied-hero{align-items:center;gap:var(--space-3xl);min-height:calc(100svh - 4.75rem);padding-block-start:var(--space-xl);padding-block-end:var(--space-2xl);display:grid}.studied-hero-copy{min-width:0;animation:intro var(--dur-base) var(--ease-out) both}.studied-status{align-items:center;gap:var(--space-sm);width:fit-content;margin:0 0 var(--space-xl);padding:var(--space-sm) var(--space-md);border:var(--rule-thin) solid var(--color-rule);color:var(--color-ink-2);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;border-radius:999px;font-size:.7rem;display:flex}.studied-status span{background:var(--color-accent);width:.5rem;height:.5rem;box-shadow:0 0 0 4px var(--color-accent-soft);border-radius:50%}.studied-role{margin:0 0 var(--space-md);color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.75rem}.studied-hero h1{font-family:var(--font-display);font-size:var(--text-display);letter-spacing:-.055em;font-weight:700;line-height:.98}.studied-position{max-width:34ch;margin:var(--space-lg) 0 var(--space-md);color:var(--color-ink);font-size:var(--text-lead);font-weight:700;line-height:1.4}.studied-summary{max-width:62ch;color:var(--color-ink-2);margin:0}.studied-actions{align-items:center;gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-xl);display:flex}.studied-button{min-height:3rem;padding-inline:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);white-space:nowrap;transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.studied-button.is-primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.studied-button:hover{border-color:var(--color-accent)}.studied-page .profile-panel{border-color:var(--color-rule);background:var(--color-paper-2);box-shadow:none;animation:intro var(--dur-base) var(--ease-out) 80ms both}.studied-page .profile-head{border-color:var(--color-rule)}.profile-live{align-items:center;gap:var(--space-sm);color:var(--color-accent);display:inline-flex}.profile-live i{background:var(--color-accent);border-radius:50%;width:.45rem;height:.45rem}.studied-page .profile-row{grid-template-columns:minmax(7rem,.4fr) minmax(0,1fr);align-items:start}.studied-page .architecture{background:var(--color-graphite)}.studied-section{padding-block:var(--space-4xl);border-block-start:var(--rule-thin) solid var(--color-rule-2)}.studied-heading{gap:var(--space-md);margin-block-end:var(--space-3xl);display:grid}.studied-heading>div{gap:var(--space-md);display:grid}.studied-heading>div>p{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.72rem}.studied-heading h2,.studied-contact h2{max-width:14ch;font-family:var(--font-display);letter-spacing:-.045em;font-size:clamp(2.5rem,5vw,4.75rem);font-weight:700;line-height:1.02}.studied-heading>span{max-width:62ch;color:var(--color-ink-2)}.about-proof-grid{gap:var(--space-lg);display:grid}.system-map{gap:var(--space-md);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);display:grid}.system-node{gap:var(--space-xs) var(--space-md);padding:var(--space-md);border:var(--rule-thin) solid var(--color-rule-2);border-radius:var(--radius-sm);grid-template-columns:auto minmax(0,1fr);display:grid}.system-node>span{color:var(--color-accent);font-family:var(--font-mono);grid-row:1/3;align-self:center;font-size:.7rem}.system-node strong{font-family:var(--font-display);font-size:1.05rem}.system-node small{color:var(--color-muted);font-family:var(--font-mono);font-size:.68rem}.system-map>i{width:1px;height:var(--space-lg);background:var(--color-rule);margin-inline-start:var(--space-xl);position:relative}.system-map>i:after{content:"";border-inline-end:1px solid var(--color-accent);border-block-end:1px solid var(--color-accent);width:5px;height:5px;position:absolute;inset-block-end:0;inset-inline-start:-2px;transform:rotate(45deg)}.principle-panel{padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2)}.principle-panel>p{margin:0 0 var(--space-lg);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.principle-panel ul{margin:0;padding:0;list-style:none}.principle-panel li{gap:var(--space-md);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2);color:var(--color-ink-2);grid-template-columns:auto minmax(0,1fr);display:grid}.principle-panel li span{color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem}.capability-section{background:var(--color-graphite);color:var(--color-graphite-ink)}.capability-section .studied-heading>span{color:var(--color-ink-2)}.studied-capabilities{border-block-start:var(--rule-thin) solid var(--color-rule)}.studied-capability{gap:var(--space-md);padding-block:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule);grid-template-columns:auto minmax(7rem,.35fr) minmax(0,1fr);align-items:start;display:grid}.studied-capability>span{color:var(--color-accent);font-family:var(--font-mono);font-size:.7rem}.studied-capability h3{font-family:var(--font-display);font-size:1rem;font-weight:700}.studied-capability p{max-width:70ch;color:var(--color-ink-2);margin:0}.studied-projects{gap:var(--space-xl);display:grid}.studied-project-card{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-paper-2);display:grid;overflow:clip}.studied-project-card>header{padding:var(--space-xl);border-block-end:var(--rule-thin) solid var(--color-rule)}.studied-project-card>header>span{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.06em;font-size:.7rem}.studied-project-card h3{margin-block:var(--space-md);font-family:var(--font-display);font-size:clamp(1.75rem,4vw,3.25rem);font-weight:700}.studied-project-card header p{max-width:62ch;color:var(--color-ink-2);margin:0}.project-card-body{padding:var(--space-xl)}.project-card-body dl{margin:0}.project-card-body dl>div{padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.project-card-body dt{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-block-end:var(--space-xs);font-size:.68rem}.project-card-body dd{color:var(--color-ink-2);margin:0}.project-card-body ul{margin:0;padding-inline-start:var(--space-lg)}.project-stack{gap:var(--space-xs);flex-wrap:wrap;display:flex}.project-stack span{padding:var(--space-xs) var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.68rem}.project-card-link{border-block-end:var(--rule-thin) solid var(--color-ink);white-space:nowrap;min-height:3rem;transition:color var(--dur-fast) var(--ease-out);justify-content:space-between;align-items:center;margin-block-start:var(--space-lg);font-weight:700;display:flex}.project-card-link:hover{color:var(--color-accent)}.project-card-missing{margin:var(--space-lg) 0 0;color:var(--color-muted);font-family:var(--font-mono);font-size:.72rem}.studied-contact{gap:var(--space-2xl);padding-block:var(--space-4xl);border-block-start:var(--rule-thin) solid var(--color-rule-2);display:grid}.studied-contact-copy>p{max-width:62ch;color:var(--color-ink-2);font-size:var(--text-lead);margin:0}.studied-email{justify-content:space-between;align-items:center;gap:var(--space-md);margin-block:var(--space-2xl);padding-block:var(--space-md);border-block-end:var(--rule-thin) solid var(--color-rule);font-family:var(--font-display);overflow-wrap:anywhere;font-size:clamp(1.1rem,3vw,2rem);font-weight:700;display:flex}.studied-contact-copy>div{gap:var(--space-lg);flex-wrap:wrap;display:flex}.studied-footer{gap:var(--space-sm);padding-block:var(--space-xl);border-block-start:var(--rule-thin) solid var(--color-rule-2);color:var(--color-muted);font-family:var(--font-mono);flex-direction:column;font-size:.7rem;display:flex}@media(min-width:40rem){.studied-shell{width:min(100% - 4rem,84rem)}.studied-heading{grid-template-columns:minmax(0,1fr) minmax(0,.8fr)}.studied-heading>span{grid-area:1/2/3;align-self:end}.about-proof-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.studied-project-card{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.studied-project-card>header{border-block-end:0;border-inline-end:var(--rule-thin) solid var(--color-rule)}.studied-footer{flex-direction:row;justify-content:space-between}}@media(min-width:60rem){.studied-nav{grid-template-columns:1fr auto 1fr}.studied-links{justify-content:center;gap:var(--space-xl);display:flex}.studied-nav-actions{justify-self:end}.studied-menu{display:none}.studied-hero{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:clamp(3rem,8vw,8rem)}.studied-contact{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(3rem,8vw,8rem)}}@media(hover:hover)and (pointer:fine){.studied-project-card{transition:border-color var(--dur-base) var(--ease-out)}.studied-project-card:hover{border-color:var(--color-muted)}}@media(pointer:coarse){.studied-links a,.studied-contact-copy a,.project-card-link{min-height:3rem}}.cinematic-page{background:var(--color-paper);min-height:100svh;color:var(--color-ink)}.cinematic-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle at 78% 12%,var(--color-accent),transparent 28%);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.cinematic-page:before{background:radial-gradient(circle at 78% 12%,color-mix(in oklch,var(--color-accent) 8%,transparent),transparent 28%)}}.cinematic-page>*{z-index:1;position:relative}.cinematic-page .studied-nav{background:var(--color-paper)}@supports (color:color-mix(in lab,red,red)){.cinematic-page .studied-nav{background:color-mix(in oklch,var(--color-paper) 86%,transparent)}}.cinematic-hero{isolation:isolate;position:relative}.cinematic-hero:after{content:"";height:var(--rule-thin);background:linear-gradient(90deg,var(--color-rule),var(--color-accent),var(--color-rule));opacity:.55;position:absolute;inset-block-end:0;inset-inline:0}.cinematic-page .studied-hero-copy{z-index:2}.cinematic-page .studied-status{border:0;border-radius:0;padding:0}.cinematic-page .studied-hero h1{text-wrap:balance;max-width:9ch}.cinematic-page .studied-position{max-width:29ch}.cinematic-map{border:var(--rule-thin) solid var(--color-rule-2);background:radial-gradient(circle at center,var(--color-paper-3),var(--color-paper-2) 44%,var(--color-paper) 70%);border-radius:50%;min-height:25rem;position:relative}@supports (color:color-mix(in lab,red,red)){.cinematic-map{background:radial-gradient(circle at center,var(--color-paper-3),var(--color-paper-2) 44%,color-mix(in oklch,var(--color-paper) 80%,transparent) 70%)}}.cinematic-map{box-shadow:inset 0 0 0 1px var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.cinematic-map{box-shadow:inset 0 0 0 1px color-mix(in oklch,var(--color-accent) 10%,transparent)}}.cinematic-map{animation:intro var(--dur-base) var(--ease-out) 80ms both;overflow:clip}.cinematic-map:before,.cinematic-map:after{content:"";background:var(--color-rule-2);position:absolute}.cinematic-map:before{width:1px;height:100%;inset-inline-start:50%}.cinematic-map:after{width:100%;height:1px;inset-block-start:50%}.map-orbit{border:var(--rule-thin) solid var(--color-rule);opacity:.55;border-radius:50%;position:absolute;inset:12%}.map-orbit-b{border-style:dashed;inset:27%;transform:rotate(18deg)}.map-core{z-index:3;aspect-ratio:1;place-content:center;gap:var(--space-xs);width:8rem;padding:var(--space-md);border:var(--rule-thin) solid var(--color-accent);background:var(--color-paper-2);text-align:center;border-radius:50%;display:grid;position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}.map-core span,.map-core small,.map-node span{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.62rem}.map-core strong{font-family:var(--font-display);font-size:1rem;line-height:1.15}.map-core small{color:var(--color-accent)}.map-node{z-index:4;min-width:6.5rem;padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2);position:absolute}.map-node strong{margin-block-start:var(--space-xs);font-size:.68rem;display:block}.map-node-a{inset-block-start:19%;inset-inline-start:4%}.map-node-b{inset-block-start:23%;inset-inline-end:2%}.map-node-c{inset-block-end:16%;inset-inline-start:7%}.map-node-d{inset-block-end:13%;inset-inline-end:3%}.map-line{z-index:2;background:var(--color-accent);opacity:.65;transform-origin:50%;width:20%;height:1px;position:absolute}.map-line:after{content:"";background:var(--color-accent);border-radius:50%;width:5px;height:5px;position:absolute;inset-block-start:-2px;inset-inline-end:0}.map-line-a{inset-block-start:36%;inset-inline-start:26%;transform:rotate(24deg)}.map-line-b{inset-block-start:38%;inset-inline-end:25%;transform:rotate(-26deg)}.map-line-c{inset-block-end:34%;inset-inline-start:27%;transform:rotate(-22deg)}.map-line-d{inset-block-end:34%;inset-inline-end:24%;transform:rotate(25deg)}.cinematic-page .studied-section{padding-block:clamp(6rem,11vw,10rem)}.cinematic-page .studied-heading{margin-block-end:var(--space-4xl)}.cinematic-page .studied-heading h2,.cinematic-page .studied-contact h2{max-width:11ch}.cinematic-page .about-proof-grid{align-items:stretch}.cinematic-page .system-map{background:0 0;border:0;padding:0}.cinematic-page .system-node{padding:var(--space-lg) 0;border:0;border-block-end:var(--rule-thin) solid var(--color-rule);border-radius:0}.cinematic-page .system-map>i{height:var(--space-xl)}.cinematic-page .principle-panel{padding:var(--space-xl);border-color:var(--color-rule-2);background:linear-gradient(145deg,var(--color-paper-2),var(--color-paper-3))}.cinematic-page .capability-section{background:var(--color-graphite)}.cinematic-page .studied-capability{padding-block:var(--space-xl);grid-template-columns:auto minmax(9rem,.3fr) minmax(0,1fr)}.cinematic-page .studied-capability h3{font-size:1.2rem}.cinematic-page .studied-projects{gap:var(--space-4xl)}.cinematic-page .studied-project-card{background:0 0;border:0;border-radius:0;display:grid;overflow:visible}.cinematic-page .studied-project-card>header{padding:0 0 var(--space-xl);border:0}.cinematic-page .studied-project-card h3{max-width:12ch;font-size:clamp(2.5rem,6vw,5rem)}.project-visual{border-block:var(--rule-thin) solid var(--color-rule);background:linear-gradient(135deg,var(--color-paper-2),var(--color-graphite));min-height:19rem;position:relative;overflow:clip}.project-visual:before{content:"";background:radial-gradient(circle at 64% 44%,var(--color-accent),transparent 32%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.project-visual:before{background:radial-gradient(circle at 64% 44%,color-mix(in oklch,var(--color-accent) 10%,transparent),transparent 32%)}}.project-visual-index{color:var(--color-rule);font-family:var(--font-display);font-size:clamp(4rem,10vw,9rem);font-weight:700;line-height:1;position:absolute;inset-block-start:var(--space-md);inset-inline-end:var(--space-lg)}.project-visual-track{background:var(--color-rule);height:1px;position:absolute;inset-block-start:50%;inset-inline:10%}.project-visual-track:before,.project-visual-track:after{content:"";background:var(--color-accent);border-radius:50%;width:7px;height:7px;position:absolute;inset-block-start:-3px}.project-visual-track:before{inset-inline-start:0}.project-visual-track:after{inset-inline-end:0}.project-visual-node{z-index:2;align-items:center;gap:var(--space-xs);padding:var(--space-xs);border:var(--rule-thin) solid var(--color-rule);background:var(--color-paper-2);font-family:var(--font-mono);font-size:.62rem;display:flex;position:absolute}.project-visual-node i{background:var(--color-accent);border-radius:50%;width:.45rem;height:.45rem}.project-visual-node.node-1{inset-block-start:25%;inset-inline-start:8%}.project-visual-node.node-2{inset-block-end:20%;inset-inline-start:35%}.project-visual-node.node-3{inset-block-start:21%;inset-inline-end:26%}.project-visual-node.node-4{inset-block-end:24%;inset-inline-end:7%}.cinematic-page .project-card-body{padding:var(--space-xl) 0 0}.cinematic-page .project-card-body dl{gap:0 var(--space-xl);display:grid}.cinematic-page .project-card-body dl>div{padding-block:var(--space-lg)}.cinematic-page .project-stack span{background:var(--color-paper-2)}.cinematic-page .studied-contact{padding-block:clamp(7rem,13vw,12rem)}.cinematic-page .studied-email{color:var(--color-accent)}@media(min-width:24rem){.cinematic-map{min-height:30rem}.map-node{min-width:8rem;padding:var(--space-sm)}.map-node strong{font-size:.78rem}.map-core{width:10rem}.project-visual{min-height:22rem}.project-visual-node{padding:var(--space-sm) var(--space-md);font-size:.7rem}}@media(min-width:40rem){.cinematic-page .studied-project-card{grid-template-columns:repeat(12,minmax(0,1fr));align-items:start}.cinematic-page .studied-project-card>header{grid-column:1/6;padding-inline-end:var(--space-xl)}.cinematic-page .project-visual{grid-column:6/13}.cinematic-page .project-card-body{grid-column:4/13}.cinematic-page .studied-project-card:nth-child(2n)>header{padding-inline:var(--space-xl) 0;grid-area:1/8/auto/13}.cinematic-page .studied-project-card:nth-child(2n) .project-visual{grid-area:1/1/auto/8}.cinematic-page .studied-project-card:nth-child(2n) .project-card-body{grid-column:1/10}.cinematic-page .project-card-body dl{grid-template-columns:repeat(2,minmax(0,1fr))}.cinematic-page .project-card-body dl>div:last-child{grid-column:1/-1}}@media(min-width:60rem){.cinematic-page .cinematic-hero{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr)}.cinematic-map{min-height:38rem}}@media(prefers-reduced-motion:reduce){.cinematic-map,.cinematic-page .studied-hero-copy{animation:none}}.editorial-page{background:var(--color-canvas);min-height:100svh;color:var(--color-ink)}.editorial-shell{width:min(100% - 2rem,90rem);margin-inline:auto}.editorial-nav{z-index:30;border-block-end:var(--rule-thin) solid var(--color-rule-2);background:var(--color-canvas);grid-template-columns:1fr auto;align-items:center;min-height:4.5rem;padding-inline:clamp(1rem,4vw,4rem);display:grid;position:sticky;inset-block-start:0}@supports (color:color-mix(in lab,red,red)){.editorial-nav{background:color-mix(in oklch,var(--color-canvas) 88%,transparent)}}.editorial-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.editorial-mark{font-family:var(--font-display);letter-spacing:-.06em;white-space:nowrap;font-size:1.05rem;font-weight:700}.editorial-mark span{color:var(--color-accent);font-weight:400}.editorial-links{display:none}.editorial-links.is-open{gap:var(--space-sm);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);background:var(--color-canvas-raised);display:grid;position:absolute;inset:4.5rem 1rem auto}.editorial-links a{width:fit-content;min-height:2.75rem;color:var(--color-ink-2);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}.editorial-links a:hover{color:var(--color-accent)}.editorial-nav-actions{align-items:center;gap:var(--space-sm);display:flex}.editorial-menu{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap;background:0 0;font-size:.68rem}.editorial-hero{min-height:calc(100svh - 4.5rem);padding-block:clamp(3rem,8vh,7rem) var(--space-xl);align-content:space-between;display:grid}.hero-intro{min-width:0}.hero-meta{gap:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;flex-direction:column;padding-block-end:var(--space-xl);font-size:.67rem;display:flex}.hero-meta span:last-child{align-items:center;gap:var(--space-sm);display:flex}.hero-meta i{background:var(--color-accent);width:.45rem;height:.45rem;box-shadow:0 0 1.25rem var(--color-accent);border-radius:50%}.editorial-hero h1{letter-spacing:-.075em;margin-block:clamp(2.5rem,8vh,6rem);font-size:clamp(3.2rem,10.8vw,10.2rem);font-weight:500;line-height:.82}.editorial-hero h1 span{display:block}.editorial-hero h1 span:last-child{color:var(--color-accent);text-align:end}.hero-thesis{gap:var(--space-xl);align-items:end;margin-inline-start:auto;display:grid}.hero-thesis>p{max-width:22ch;font-family:var(--font-display);letter-spacing:-.03em;margin:0;font-size:clamp(1.25rem,2.3vw,2rem);line-height:1.25}.hero-thesis>div{max-width:35rem}.hero-thesis>div p{margin:0 0 var(--space-lg);color:var(--color-ink-2)}.hero-thesis a{align-items:center;gap:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-accent);width:fit-content;min-height:3rem;color:var(--color-accent);white-space:nowrap;font-weight:700;display:inline-flex}.hero-thesis svg{width:1rem}.hero-rail{border-block:var(--rule-thin) solid var(--color-rule-2);grid-template-columns:repeat(2,minmax(0,1fr));margin-block-start:clamp(3rem,8vh,6rem);display:grid}.hero-rail span{gap:var(--space-sm);padding:var(--space-md) 0;color:var(--color-ink-2);align-items:baseline;font-size:.78rem;display:flex}.hero-rail b{color:var(--color-accent);font-family:var(--font-mono);font-size:.62rem;font-weight:400}.editorial-about{gap:var(--space-3xl);padding-block:clamp(7rem,14vw,13rem);display:grid}.section-lead>span,.work-intro>span,.contact-heading>span{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-block-end:var(--space-lg);font-size:.68rem;display:block}.section-lead h2,.work-intro h2,.contact-heading h2{max-width:12ch;font-size:clamp(2.8rem,7vw,6.5rem);font-weight:500;line-height:.98}.about-copy>p{margin:0 0 var(--space-3xl);color:var(--color-ink-2);font-size:var(--text-lead)}.about-copy>div{border-block-start:var(--rule-thin) solid var(--color-rule)}.about-copy>div>span{padding-block:var(--space-md);color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem;display:block}.about-copy>div p{padding-block:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule-2);color:var(--color-ink);margin:0}.editorial-capabilities{background:var(--color-cream);color:var(--color-cream-ink);padding-block:clamp(6rem,12vw,11rem)}.section-lead.is-light>span{color:var(--color-cream-muted)}.section-lead.is-light>p{max-width:54ch;margin:var(--space-xl) 0 var(--space-3xl);color:var(--color-cream-muted)}.capability-list{border-block-start:var(--rule-thin) solid var(--color-cream-ink)}@supports (color:color-mix(in lab,red,red)){.capability-list{border-block-start:var(--rule-thin) solid color-mix(in oklch,var(--color-cream-ink) 22%,transparent)}}.capability-list>div{gap:var(--space-md);padding-block:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-cream-ink);grid-template-columns:auto minmax(7rem,.45fr) minmax(0,1fr);display:grid}@supports (color:color-mix(in lab,red,red)){.capability-list>div{border-block-end:var(--rule-thin) solid color-mix(in oklch,var(--color-cream-ink) 22%,transparent)}}.capability-list span{color:var(--color-cream-muted);font-family:var(--font-mono);font-size:.65rem}.capability-list h3{letter-spacing:-.02em;font-size:.95rem;font-weight:700}.capability-list p{color:var(--color-cream-muted);margin:0}.editorial-work{padding-block:clamp(7rem,14vw,13rem)}.work-intro{margin-block-end:var(--space-4xl);display:grid}.work-intro>p{max-width:52ch;margin:var(--space-xl) 0 0;color:var(--color-ink-2)}.project-chapters{border-block-start:var(--rule-thin) solid var(--color-rule)}.project-chapter{border-block-end:var(--rule-thin) solid var(--color-rule);padding-block:clamp(4rem,9vw,8rem)}.project-chapter>header{gap:var(--space-lg);grid-template-columns:auto minmax(0,1fr);display:grid}.project-chapter>header>span{color:var(--color-accent);font-family:var(--font-mono);padding-block-start:.65rem;font-size:.68rem}.project-chapter h3{letter-spacing:-.065em;font-size:clamp(2.7rem,8vw,7.5rem);font-weight:500;line-height:.88}.project-chapter header p{max-width:48ch;margin:var(--space-xl) 0 0;color:var(--color-ink-2);font-size:var(--text-lead)}.project-details{border-block-start:var(--rule-thin) solid var(--color-rule-2);margin-block-start:var(--space-3xl);display:grid}.project-details>div{padding-block:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.project-details>div>span{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;margin-block-end:var(--space-sm);font-size:.65rem;display:block}.project-details p,.project-details ul{color:var(--color-ink-2);margin:0}.project-details ul{padding-inline-start:var(--space-lg)}.chapter-stack{font-family:var(--font-mono);font-size:.76rem}.chapter-repo a{align-items:center;gap:var(--space-sm);width:fit-content;min-height:2.75rem;color:var(--color-accent);white-space:nowrap;font-weight:700;display:inline-flex}.chapter-repo svg{width:1rem;transition:transform var(--dur-base) var(--ease-out)}.chapter-repo a:hover svg{transform:translate(.2rem,-.2rem)}.editorial-contact{gap:var(--space-3xl);border-block-start:var(--rule-thin) solid var(--color-rule);padding-block:clamp(7rem,14vw,13rem);display:grid}.contact-action>p{max-width:50ch;margin:0 0 var(--space-3xl);color:var(--color-ink-2);font-size:var(--text-lead)}.contact-action>a{align-items:center;gap:var(--space-md);min-height:4rem;padding-block:var(--space-md);border-block:var(--rule-thin) solid var(--color-rule);color:var(--color-accent);font-family:var(--font-display);overflow-wrap:anywhere;grid-template-columns:auto minmax(0,1fr) auto;font-size:clamp(1rem,3vw,1.8rem);font-weight:600;display:grid}.contact-action svg{width:1.2rem}.editorial-footer{gap:var(--space-md);padding-block:var(--space-xl);border-block-start:var(--rule-thin) solid var(--color-rule-2);color:var(--color-muted);font-family:var(--font-mono);flex-direction:column;font-size:.65rem;display:flex}.editorial-footer>div{gap:var(--space-lg);flex-wrap:wrap;display:flex}.editorial-footer a{align-items:center;gap:var(--space-xs);white-space:nowrap;min-height:2.75rem;display:inline-flex}.editorial-footer svg{width:.85rem}@media(min-width:40rem){.editorial-shell{width:min(100% - 4rem,90rem)}.hero-meta{flex-direction:row;justify-content:space-between}.hero-thesis{grid-template-columns:minmax(0,.75fr) minmax(0,1fr);width:min(100%,58rem)}.hero-rail{grid-template-columns:repeat(4,minmax(0,1fr))}.hero-rail span+span{border-inline-start:var(--rule-thin) solid var(--color-rule-2);padding-inline-start:var(--space-md)}.editorial-about,.editorial-contact{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(3rem,9vw,10rem)}.project-details{grid-template-columns:repeat(2,minmax(0,1fr))}.project-details>div:nth-child(odd){padding-inline-end:var(--space-xl)}.project-details>div:nth-child(2n){border-inline-start:var(--rule-thin) solid var(--color-rule-2);padding-inline-start:var(--space-xl)}.editorial-footer{flex-direction:row;justify-content:space-between;align-items:center}}@media(min-width:60rem){.editorial-nav{grid-template-columns:1fr auto 1fr}.editorial-links{justify-content:center;gap:var(--space-xl);display:flex}.editorial-nav-actions{justify-self:end}.editorial-menu{display:none}.editorial-hero h1 span:first-child{padding-inline-start:5vw}.editorial-hero h1 span:last-child{padding-inline-end:3vw}.work-intro{grid-template-columns:1fr 1fr;align-items:end}.work-intro>span{grid-column:1/-1}.work-intro>p{justify-self:end;margin:0}.project-chapter>header{grid-template-columns:4rem minmax(0,1fr)}.project-chapter:nth-child(2n)>header>div{padding-inline-start:14vw}.project-details{width:72%;margin-inline-start:auto}.project-chapter:nth-child(2n) .project-details{margin-inline:0 auto}}@media(prefers-reduced-motion:reduce){.editorial-page *,.editorial-page :before,.editorial-page :after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}.portfolio-page{background:var(--color-canvas);min-height:100svh;color:var(--color-ink)}.portfolio-shell{width:min(100% - 2rem,80rem);margin-inline:auto}.portfolio-nav{z-index:30;border-block-end:var(--rule-thin) solid var(--color-rule-2);background:var(--color-canvas);grid-template-columns:1fr auto;align-items:center;min-height:4.5rem;padding-inline:clamp(1rem,4vw,4rem);display:grid;position:sticky;inset-block-start:0}@supports (color:color-mix(in lab,red,red)){.portfolio-nav{background:color-mix(in oklch,var(--color-canvas) 90%,transparent)}}.portfolio-nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.portfolio-logo{font-family:var(--font-display);letter-spacing:-.05em;white-space:nowrap;font-weight:700}.portfolio-logo span{color:var(--color-accent)}.portfolio-links{display:none}.portfolio-links.is-open{gap:var(--space-sm);padding:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);background:var(--color-canvas-raised);display:grid;position:absolute;inset:4.5rem 1rem auto}.portfolio-links a{min-height:2.75rem;color:var(--color-ink-2);white-space:nowrap;transition:color var(--dur-fast) var(--ease-out);align-items:center;display:inline-flex}.portfolio-links a:hover{color:var(--color-accent)}.portfolio-nav-actions{align-items:center;gap:var(--space-sm);display:flex}.portfolio-menu{min-height:2.75rem;padding-inline:var(--space-md);border:var(--rule-thin) solid var(--color-rule);font-family:var(--font-mono);text-transform:uppercase;white-space:nowrap;background:0 0;font-size:.68rem}.portfolio-hero{align-items:center;gap:var(--space-3xl);min-height:calc(100svh - 4.5rem);padding-block:var(--space-3xl);display:grid}.portfolio-status{align-items:center;gap:var(--space-sm);width:fit-content;margin:0 0 var(--space-xl);color:var(--color-ink-2);font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem;display:flex}.portfolio-status i{background:var(--color-accent);width:.45rem;height:.45rem;box-shadow:0 0 .9rem var(--color-accent);border-radius:50%}.portfolio-role{margin:0 0 var(--space-sm);color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem}.portfolio-hero h1{letter-spacing:-.065em;font-size:clamp(3rem,8vw,6.7rem);font-weight:600;line-height:.92}.portfolio-hero-copy>h2{max-width:30ch;margin-block:var(--space-lg) var(--space-md);font-family:var(--font-body);letter-spacing:-.025em;font-size:clamp(1.15rem,2.2vw,1.65rem);font-weight:700;line-height:1.35}.portfolio-summary{max-width:58ch;color:var(--color-ink-2);margin:0}.portfolio-cta{gap:var(--space-sm);flex-wrap:wrap;margin-block-start:var(--space-xl);display:flex}.portfolio-cta a{align-items:center;gap:var(--space-sm);min-height:3rem;padding-inline:var(--space-lg);border:var(--rule-thin) solid var(--color-rule);white-space:nowrap;display:inline-flex}.portfolio-cta a.primary{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-ink)}.portfolio-cta svg{width:1rem}.portfolio-profile{border:var(--rule-thin) solid var(--color-rule);background:var(--color-canvas-raised)}.portfolio-profile>div{gap:var(--space-xs);padding:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule-2);display:grid}.portfolio-profile>div:last-child{border:0}.portfolio-profile span{color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.65rem}.portfolio-profile strong{font-size:.92rem;font-weight:500}.profile-title{background:var(--color-accent);grid-template-columns:1fr auto;align-items:center}@supports (color:color-mix(in lab,red,red)){.profile-title{background:color-mix(in oklch,var(--color-accent) 6%,var(--color-canvas-raised))}}.profile-title i{background:var(--color-accent);border-radius:50%;width:.45rem;height:.45rem}.portfolio-section{padding-block:clamp(6rem,11vw,10rem)}.portfolio-section-head{gap:var(--space-md);margin-block-end:var(--space-3xl);display:grid}.portfolio-section-head>span{color:var(--color-accent);font-family:var(--font-mono);font-size:.68rem}.portfolio-section-head>div>p{margin:0 0 var(--space-sm);color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem}.portfolio-section-head h2,.portfolio-contact h2{max-width:15ch;font-size:clamp(2.4rem,5vw,4.4rem);font-weight:600}.portfolio-section-head>p{max-width:55ch;color:var(--color-ink-2);margin:0}.portfolio-about{border-block-start:var(--rule-thin) solid var(--color-rule-2)}.portfolio-about-grid{gap:var(--space-3xl);display:grid}.portfolio-about-grid>p{color:var(--color-ink-2);font-size:var(--text-lead);margin:0}.portfolio-about-grid>div{border-block-start:var(--rule-thin) solid var(--color-rule)}.portfolio-about-grid>div>span{padding-block:var(--space-md);color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;font-size:.68rem;display:block}.portfolio-about-grid>div p{padding-block:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule-2);margin:0}.portfolio-skills{background:var(--color-cream);color:var(--color-cream-ink)}.portfolio-skills .portfolio-section-head>div>p,.portfolio-skills .portfolio-section-head>p{color:var(--color-cream-muted)}.skills-grid{gap:var(--space-md);display:grid}.skills-grid article{min-width:0;padding:var(--space-xl);border:var(--rule-thin) solid var(--color-cream-ink)}@supports (color:color-mix(in lab,red,red)){.skills-grid article{border:var(--rule-thin) solid color-mix(in oklch,var(--color-cream-ink) 18%,transparent)}}.skills-grid article{background:var(--color-cream)}@supports (color:color-mix(in lab,red,red)){.skills-grid article{background:color-mix(in oklch,var(--color-cream) 86%,white)}}.skills-grid svg{width:1.5rem;color:var(--color-cream-muted)}.skills-grid h3{margin-block:var(--space-xl) var(--space-md);font-size:1.2rem;font-weight:700}.skills-grid article>div{gap:var(--space-xs);flex-wrap:wrap;display:flex}.skills-grid article span{padding:var(--space-xs) var(--space-sm);border:var(--rule-thin) solid var(--color-cream-ink)}@supports (color:color-mix(in lab,red,red)){.skills-grid article span{border:var(--rule-thin) solid color-mix(in oklch,var(--color-cream-ink) 18%,transparent)}}.skills-grid article span{color:var(--color-cream-muted);font-family:var(--font-mono);font-size:.68rem}.projects-grid{gap:var(--space-lg);display:grid}.portfolio-project-card{border:var(--rule-thin) solid var(--color-rule);background:var(--color-canvas-raised);flex-direction:column;min-width:0;display:flex}.portfolio-project-card>header{padding:var(--space-xl);border-block-end:var(--rule-thin) solid var(--color-rule-2)}.portfolio-project-card>header>span{color:var(--color-accent);font-family:var(--font-mono);font-size:.68rem}.portfolio-project-card h3{margin-block:var(--space-lg) var(--space-md);font-size:clamp(1.8rem,4vw,2.7rem);font-weight:600}.portfolio-project-card header p{color:var(--color-ink-2);margin:0}.project-content{padding:var(--space-xl);flex:1}.project-content>div+div{margin-block-start:var(--space-xl)}.project-content span{color:var(--color-muted);font-family:var(--font-mono);text-transform:uppercase;margin-block-end:var(--space-sm);font-size:.65rem;display:block}.project-content p,.project-content ul{color:var(--color-ink-2);margin:0}.project-content ul{padding-inline-start:var(--space-lg)}.project-card-footer{justify-content:space-between;align-items:flex-end;gap:var(--space-lg);padding:var(--space-lg) var(--space-xl);border-block-start:var(--rule-thin) solid var(--color-rule-2);display:flex}.project-card-footer>div{gap:var(--space-xs);flex-wrap:wrap;display:flex}.project-card-footer>div span{color:var(--color-muted);font-family:var(--font-mono);font-size:.62rem}.project-card-footer>div span+span:before{content:"·";margin-inline-end:var(--space-xs)}.project-card-footer>a{border:var(--rule-thin) solid var(--color-rule);width:2.75rem;height:2.75rem;color:var(--color-accent);flex:none;place-items:center;display:grid}.project-card-footer svg{width:1rem}.portfolio-contact{gap:var(--space-3xl);border-block-start:var(--rule-thin) solid var(--color-rule);padding-block:clamp(6rem,11vw,10rem);display:grid}.portfolio-contact>div:first-child>p{margin:0 0 var(--space-lg);color:var(--color-accent);font-family:var(--font-mono);font-size:.68rem}.portfolio-contact>div:last-child>p{max-width:50ch;margin:0 0 var(--space-2xl);color:var(--color-ink-2);font-size:var(--text-lead)}.portfolio-contact a{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:3.5rem;padding-block:var(--space-md);border-block:var(--rule-thin) solid var(--color-rule);color:var(--color-accent);font-family:var(--font-display);overflow-wrap:anywhere;font-weight:600;display:flex}.portfolio-contact svg{width:1rem}.portfolio-footer{gap:var(--space-md);padding-block:var(--space-xl);border-block-start:var(--rule-thin) solid var(--color-rule-2);color:var(--color-muted);font-family:var(--font-mono);flex-direction:column;font-size:.65rem;display:flex}.portfolio-footer>div{gap:var(--space-lg);flex-wrap:wrap;display:flex}.portfolio-footer a{align-items:center;gap:var(--space-xs);white-space:nowrap;min-height:2.75rem;display:inline-flex}.portfolio-footer svg{width:.85rem}@media(min-width:40rem){.portfolio-shell{width:min(100% - 4rem,80rem)}.portfolio-section-head{gap:var(--space-lg);grid-template-columns:auto minmax(0,1fr) minmax(0,.8fr)}.portfolio-section-head>p{align-self:end}.portfolio-about-grid,.portfolio-contact{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.skills-grid article:last-child{grid-column:1/-1}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-footer{flex-direction:row;justify-content:space-between;align-items:center}}@media(min-width:60rem){.portfolio-nav{grid-template-columns:1fr auto 1fr}.portfolio-links{justify-content:center;gap:var(--space-xl);display:flex}.portfolio-nav-actions{justify-self:end}.portfolio-menu{display:none}.portfolio-hero{grid-template-columns:minmax(0,1.15fr) minmax(19rem,.65fr);gap:clamp(3rem,8vw,8rem)}.skills-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.skills-grid article:last-child{grid-column:auto}}@media(prefers-reduced-motion:reduce){.portfolio-page *,.portfolio-page :before,.portfolio-page :after{scroll-behavior:auto;transition-duration:.01ms;animation-duration:.01ms}}.portfolio-page{isolation:isolate;position:relative}@supports (color:color-mix(in lab,red,red)){.portfolio-page:before{background:radial-gradient(circle at 82% 9%,color-mix(in oklch,var(--color-accent) 7%,transparent),transparent 25%)}}.portfolio-links.is-open,.portfolio-profile,.skills-grid article,.portfolio-project-card{border-radius:var(--radius-md);overflow:clip}.portfolio-cta a,.project-card-footer>a{border-radius:var(--radius-sm)}.portfolio-status{padding:var(--space-xs) var(--space-sm);border:var(--rule-thin) solid var(--color-rule-2);border-radius:999px}.portfolio-profile,.skills-grid article,.portfolio-project-card{transition:transform var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}.portfolio-cta a,.project-card-footer>a,.portfolio-contact a svg{transition:transform var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.project-card-footer>a:hover{border-color:var(--color-accent)}.project-card-footer>a:hover svg,.portfolio-contact a:hover svg{transform:translate(.15rem,-.15rem)}@media(hover:hover)and (pointer:fine){.portfolio-profile:hover,.portfolio-project-card:hover{border-color:var(--color-accent);transform:translateY(-4px)}@supports (color:color-mix(in lab,red,red)){.portfolio-profile:hover,.portfolio-project-card:hover{border-color:color-mix(in oklch,var(--color-accent) 48%,var(--color-rule))}}.portfolio-profile:hover,.portfolio-project-card:hover{box-shadow:0 1.25rem 3.5rem var(--color-canvas)}@supports (color:color-mix(in lab,red,red)){.portfolio-profile:hover,.portfolio-project-card:hover{box-shadow:0 1.25rem 3.5rem color-mix(in oklch,var(--color-canvas) 82%,transparent)}}.skills-grid article:hover{border-color:var(--color-cream-ink);transform:translateY(-3px)}@supports (color:color-mix(in lab,red,red)){.skills-grid article:hover{border-color:color-mix(in oklch,var(--color-cream-ink) 32%,transparent)}}.skills-grid article:hover{box-shadow:0 1rem 2.5rem var(--color-cream-ink)}@supports (color:color-mix(in lab,red,red)){.skills-grid article:hover{box-shadow:0 1rem 2.5rem color-mix(in oklch,var(--color-cream-ink) 10%,transparent)}}}@media(prefers-reduced-motion:reduce){.portfolio-profile:hover,.portfolio-project-card:hover,.skills-grid article:hover,.portfolio-cta a:hover{transform:none}}.portfolio-profile,.skills-grid article,.portfolio-project-card{box-shadow:none;transition:border-color .18s var(--ease-out);transform:none}.portfolio-cta a{transition:background-color .18s var(--ease-out),border-color .18s var(--ease-out),transform .1s var(--ease-out)}.portfolio-cta a:hover{transform:translateY(-1.5px)}.portfolio-cta a:active{transition-duration:80ms;transform:translateY(1px)}.project-card-footer>a{transition:border-color .18s var(--ease-out)}.project-card-footer>a svg,.portfolio-contact a svg{transition:transform .18s var(--ease-out)}@media(hover:hover)and (pointer:fine){.portfolio-profile:hover,.portfolio-project-card:hover{border-color:var(--color-accent);transform:none}@supports (color:color-mix(in lab,red,red)){.portfolio-profile:hover,.portfolio-project-card:hover{border-color:color-mix(in oklch,var(--color-accent) 48%,var(--color-rule))}}.portfolio-profile:hover,.portfolio-project-card:hover{box-shadow:none}.skills-grid article:hover{border-color:var(--color-cream-ink);transform:none}@supports (color:color-mix(in lab,red,red)){.skills-grid article:hover{border-color:color-mix(in oklch,var(--color-cream-ink) 36%,transparent)}}.skills-grid article:hover{box-shadow:none}}.portfolio-profile:focus-within,.portfolio-project-card:focus-within{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.portfolio-profile:focus-within,.portfolio-project-card:focus-within{border-color:color-mix(in oklch,var(--color-accent) 48%,var(--color-rule))}}@media(prefers-reduced-motion:reduce){.portfolio-hero-copy,.portfolio-profile{transform:none}.portfolio-cta a,.project-card-footer>a svg,.portfolio-contact a svg{transition-duration:.01ms}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.portfolio-links.is-open{animation:menu-in .18s var(--ease-out) both}.portfolio-cta a svg{transition:transform .18s var(--ease-out)}.portfolio-cta a.primary:hover svg{transform:translateY(3px)}.portfolio-cta a:not(.primary):hover svg{transform:translate(2px,-2px)}.skills-grid svg{transition:color .18s var(--ease-out)}.skills-grid article:hover svg,.skills-grid article:focus-within svg{color:var(--color-accent-soft)}.portfolio-project-card h3{transition:color .18s var(--ease-out)}.portfolio-project-card:hover h3,.portfolio-project-card:focus-within h3{color:var(--color-accent)}@media(prefers-reduced-motion:reduce){.portfolio-links.is-open{animation:none}.portfolio-cta a svg{transition-duration:.01ms}.portfolio-cta a:hover svg{transform:none}}.portfolio-hero{isolation:isolate;position:relative}.portfolio-hero:before,.portfolio-hero:after{content:"";z-index:-1;pointer-events:none;filter:blur(4rem);opacity:.42;border-radius:50%;position:absolute}.portfolio-hero:before{aspect-ratio:1;background:var(--color-accent);width:min(44rem,72vw);inset-block-start:-24%;inset-inline-end:-18%}@supports (color:color-mix(in lab,red,red)){.portfolio-hero:before{background:color-mix(in oklch,var(--color-accent) 13%,transparent)}}.portfolio-hero:before{animation:ambient-drift 9s var(--ease-in-out) infinite alternate}.portfolio-hero:after{aspect-ratio:1;background:var(--color-accent-soft);width:min(25rem,58vw);inset-block-end:-8%;inset-inline-start:-16%}@supports (color:color-mix(in lab,red,red)){.portfolio-hero:after{background:color-mix(in oklch,var(--color-accent-soft) 18%,transparent)}}.portfolio-hero:after{animation:ambient-drift 11s var(--ease-in-out) -3s infinite alternate-reverse}@keyframes ambient-drift{0%{opacity:.3;transform:translate(0)scale(.96)}to{opacity:.48;transform:translate(1.5rem,-1rem)scale(1.04)}}.kinetic-name{gap:.04em;display:grid}.kinetic-line{padding-block-end:.08em;display:block;overflow:clip}.kinetic-line>span{animation:type-rise .5s var(--ease-out) .11s both;display:block}.kinetic-line.is-accent>span{animation-delay:.175s}@keyframes type-rise{0%{opacity:0;transform:translateY(72%)}to{opacity:1;transform:translateY(0)}}.kinetic-line.is-accent{color:var(--color-accent)}.portfolio-profile{position:relative}.portfolio-profile:after{content:"";pointer-events:none;border-radius:inherit;box-shadow:inset 0 1px 0 var(--color-ink),0 0 3.5rem var(--color-accent);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.portfolio-profile:after{box-shadow:inset 0 1px color-mix(in oklch,var(--color-ink) 8%,transparent),0 0 3.5rem color-mix(in oklch,var(--color-accent) 5%,transparent)}}.portfolio-section-head h2{width:fit-content;position:relative}.portfolio-section-head h2:after{content:"";background:var(--color-accent);transform-origin:0;width:2.2rem;height:2px;transition:transform .25s var(--ease-out);position:absolute;inset-block-end:-.18em;inset-inline-start:0;transform:scaleX(.35)}@media(prefers-reduced-motion:reduce){.portfolio-hero:before,.portfolio-hero:after,.kinetic-line>span{animation:none}.portfolio-hero:before,.portfolio-hero:after{opacity:.34;transform:none}.portfolio-section-head h2:after{transition-duration:.01ms}}.typing-text{width:min(20ch,100%);min-height:1.35em;display:inline-block}.typing-text>i{background:var(--color-accent);vertical-align:-.08em;width:.08em;height:.9em;margin-inline-start:.12em;animation:.72s step-end infinite typing-caret;display:inline-block}@keyframes typing-caret{0%,48%{opacity:1}49%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.typing-text>i{animation:none;display:none}}.portfolio-hero>*{z-index:2;position:relative}.portfolio-hero:before{width:34rem;max-width:80vw;inset:auto;left:calc(var(--pointer-x) - 17rem);top:calc(var(--pointer-y) - 17rem);background:radial-gradient(circle,var(--color-accent) 0%,var(--color-accent) 28%,transparent 68%)}@supports (color:color-mix(in lab,red,red)){.portfolio-hero:before{background:radial-gradient(circle,color-mix(in oklch,var(--color-accent) 18%,transparent) 0%,color-mix(in oklch,var(--color-accent) 7%,transparent) 28%,transparent 68%)}}.portfolio-hero:before{filter:blur(2rem);opacity:.68;transition:opacity .18s var(--ease-out);animation:none}.portfolio-hero:after{opacity:.34;width:min(30rem,62vw);inset-block-end:-12%;inset-inline-start:-12%}.engineering-console{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-canvas-raised);position:relative;overflow:clip}@supports (color:color-mix(in lab,red,red)){.engineering-console{background:color-mix(in oklch,var(--color-canvas-raised) 94%,transparent)}}.engineering-console{box-shadow:0 1.5rem 4rem var(--color-canvas),inset 0 1px 0 var(--color-ink)}@supports (color:color-mix(in lab,red,red)){.engineering-console{box-shadow:0 1.5rem 4rem color-mix(in oklch,var(--color-canvas) 72%,transparent),inset 0 1px color-mix(in oklch,var(--color-ink) 7%,transparent)}}.engineering-console{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.engineering-console:before{content:"";pointer-events:none;background:radial-gradient(circle at 72% 0%,var(--color-accent),transparent 36%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.engineering-console:before{background:radial-gradient(circle at 72% 0%,color-mix(in oklch,var(--color-accent) 8%,transparent),transparent 36%)}}.engineering-console>header{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:3.25rem;padding-inline:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule-2);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.08em;font-size:.62rem;display:flex;position:relative}.console-body{padding:var(--space-xl);position:relative}.console-body>p:first-child{align-items:center;gap:var(--space-sm);margin:0 0 var(--space-xl);color:var(--color-accent);font-family:var(--font-mono);font-size:.72rem;display:flex}.console-body>p:first-child:before{content:"›";color:var(--color-accent)}.console-body>p:first-child i{background:var(--color-accent);width:.5rem;height:1em;animation:.72s step-end infinite typing-caret}.console-body dl{margin:0}.console-body dl>div{gap:var(--space-xs);padding-block:var(--space-md);border-block-start:var(--rule-thin) solid var(--color-rule-2);display:grid}.console-body dt{color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:.62rem}.console-body dd{color:var(--color-ink-2);margin:0;font-size:.86rem}.console-ready{align-items:center;gap:var(--space-sm);margin:var(--space-xl) 0 0;color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.08em;font-size:.62rem;display:flex}.console-ready i{background:var(--color-accent);width:.42rem;height:.42rem;box-shadow:0 0 .8rem var(--color-accent);border-radius:50%}@media(hover:hover)and (pointer:fine){.portfolio-hero:hover:before{opacity:.9}.engineering-console{transition:border-color .18s var(--ease-out)}.engineering-console:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.engineering-console:hover{border-color:color-mix(in oklch,var(--color-accent) 42%,var(--color-rule))}}}@media(prefers-reduced-motion:reduce){.portfolio-hero:before{transition:none;top:8%;left:auto;right:-12%;transform:none}.console-body>p:first-child i{animation:none}}.portfolio-page{--pointer-x:72vw;--pointer-y:24vh}.portfolio-page:before{content:"";z-index:0;pointer-events:none;background:radial-gradient(circle 24rem at var(--pointer-x) var(--pointer-y),var(--color-accent),var(--color-accent) 36%,transparent 72%);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.portfolio-page:before{background:radial-gradient(circle 24rem at var(--pointer-x) var(--pointer-y),color-mix(in oklch,var(--color-accent) 11%,transparent),color-mix(in oklch,var(--color-accent) 4%,transparent) 36%,transparent 72%)}}.portfolio-hero{--pointer-x:initial;--pointer-y:initial}.portfolio-hero:before{opacity:.36;top:-18%;left:auto;right:-16%}.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}.portfolio-terminal{border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-canvas-raised);flex-direction:column;min-height:24rem;display:flex;overflow:clip}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal{background:color-mix(in oklch,var(--color-canvas-raised) 96%,transparent)}}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal{box-shadow:0 1.5rem 4rem color-mix(in oklch,var(--color-canvas) 70%,transparent),inset 0 1px color-mix(in oklch,var(--color-ink) 7%,transparent)}}.portfolio-terminal{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);cursor:text}.portfolio-terminal>header{justify-content:space-between;align-items:center;gap:var(--space-md);min-height:3.25rem;padding-inline:var(--space-lg);border-block-end:var(--rule-thin) solid var(--color-rule-2);color:var(--color-muted);font-family:var(--font-mono);letter-spacing:.08em;flex:none;font-size:.62rem;display:flex}.terminal-screen{max-height:27rem;padding:var(--space-lg);scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent;font-family:var(--font-mono);flex:1;font-size:.72rem;overflow-y:auto}.terminal-welcome{margin:0 0 var(--space-lg);color:var(--color-muted)}.terminal-entry{margin-block-end:var(--space-md)}.terminal-entry p{margin:0 0 var(--space-xs);color:var(--color-ink-2)}.terminal-entry p span,.terminal-input>span:first-child{color:var(--color-accent)}.terminal-entry output{color:var(--color-muted);line-height:1.6;display:block}.terminal-input{align-items:center;gap:var(--space-sm);grid-template-columns:auto minmax(0,1fr);min-height:2.75rem;display:grid}.terminal-input input{width:100%;min-width:0;padding:var(--space-sm) 0;color:var(--color-ink);font:inherit;caret-color:var(--color-accent);background:0 0;border:0;outline:0}@media(hover:hover)and (pointer:fine){.portfolio-terminal{transition:border-color .18s var(--ease-out)}.portfolio-terminal:hover{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal:hover{border-color:color-mix(in oklch,var(--color-accent) 42%,var(--color-rule))}}}@media(prefers-reduced-motion:reduce){.portfolio-page:before{background:radial-gradient(circle 24rem at 76% 18%,var(--color-accent),transparent 72%)}@supports (color:color-mix(in lab,red,red)){.portfolio-page:before{background:radial-gradient(circle 24rem at 76% 18%,color-mix(in oklch,var(--color-accent) 9%,transparent),transparent 72%)}}}.skip-link:not(:focus-visible){transform:translateY(-220%)}.skip-link:focus-visible{transform:translateY(0)}.portfolio-page:before{z-index:8;background:radial-gradient(circle 22rem at var(--pointer-x) var(--pointer-y),var(--color-accent),var(--color-accent) 34%,transparent 70%)}@supports (color:color-mix(in lab,red,red)){.portfolio-page:before{background:radial-gradient(circle 22rem at var(--pointer-x) var(--pointer-y),color-mix(in oklch,var(--color-accent) 13%,transparent),color-mix(in oklch,var(--color-accent) 5%,transparent) 34%,transparent 70%)}}.portfolio-page:before{mix-blend-mode:soft-light}.portfolio-page>*{z-index:1}.portfolio-hero h1{font-size:clamp(3rem,7.2vw,6.2rem)}.portfolio-hero{gap:clamp(2.5rem,6vw,6rem)}.portfolio-terminal{min-height:0}.terminal-screen{min-height:21rem;max-height:25rem}.terminal-intro{border-block:var(--rule-thin) solid var(--color-rule-2);margin-block-end:var(--space-lg)}.terminal-intro p{gap:var(--space-md);padding-block:var(--space-sm);border-block-end:var(--rule-thin) solid var(--color-rule-2);grid-template-columns:5rem minmax(0,1fr);margin:0;display:grid}.terminal-intro p:last-child{border:0}.terminal-intro span{color:var(--color-muted);text-transform:uppercase;font-size:.62rem}.terminal-intro strong{color:var(--color-ink-2);font-size:.68rem;font-weight:400}.terminal-welcome{align-items:center;gap:var(--space-sm);display:flex}.terminal-welcome i{background:var(--color-accent);width:.42rem;height:.42rem;box-shadow:0 0 .8rem var(--color-accent);border-radius:50%;flex:none}.terminal-actions{gap:var(--space-xs);padding:var(--space-sm) var(--space-lg);border-block-start:var(--rule-thin) solid var(--color-rule-2);flex-wrap:wrap;display:flex}.terminal-actions button{min-height:2.25rem;padding-inline:var(--space-sm);border:var(--rule-thin) solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-muted);font-family:var(--font-mono);cursor:pointer;transition:color .18s var(--ease-out),border-color .18s var(--ease-out);background:0 0;font-size:.62rem}.terminal-actions button:hover,.terminal-actions button:focus-visible{color:var(--color-accent);border-color:var(--color-accent)}.portfolio-skills{isolation:isolate;position:relative;overflow:clip}.portfolio-skills:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle 32rem at 82% 18%,var(--color-accent),transparent 68%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.portfolio-skills:after{background:radial-gradient(circle 32rem at 82% 18%,color-mix(in oklch,var(--color-accent) 13%,transparent),transparent 68%)}}@media(min-width:60rem){.portfolio-hero{grid-template-columns:minmax(0,1.08fr) minmax(22rem,.72fr)}}@media(prefers-reduced-motion:reduce){.portfolio-page:before{background:radial-gradient(circle 22rem at 76% 18%,var(--color-accent),transparent 70%)}@supports (color:color-mix(in lab,red,red)){.portfolio-page:before{background:radial-gradient(circle 22rem at 76% 18%,color-mix(in oklch,var(--color-accent) 11%,transparent),transparent 70%)}}}.portfolio-page:before{background:radial-gradient(circle 24rem at var(--pointer-x) var(--pointer-y),var(--color-accent) 0%,var(--color-accent) 34%,transparent 72%)}@supports (color:color-mix(in lab,red,red)){.portfolio-page:before{background:radial-gradient(circle 24rem at var(--pointer-x) var(--pointer-y),color-mix(in oklch,var(--color-accent) 16%,transparent) 0%,color-mix(in oklch,var(--color-accent) 7%,transparent) 34%,transparent 72%)}}.portfolio-page:before{mix-blend-mode:normal;opacity:.72}.skip-link:not(:focus-visible){clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;transform:none}.skip-link:focus-visible{width:auto;height:auto;padding:var(--space-sm) var(--space-md);clip-path:none;margin:0;transform:none}.portfolio-role{margin-block-end:var(--space-xl)}.terminal-input:focus-within{box-shadow:none;padding-inline-start:0}.terminal-input input{border-block-end:var(--rule-thin) solid transparent;transition:border-color .18s var(--ease-out)}.terminal-input input:focus{border-block-end-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.terminal-input input:focus{border-block-end-color:color-mix(in oklch,var(--color-accent) 48%,transparent)}}@media(hover:hover)and (pointer:fine){.portfolio-page:hover:before{opacity:.9}}@media(prefers-reduced-motion:reduce){.portfolio-page:before{opacity:.6}}.portfolio-page{--spotlight-core:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.portfolio-page{--spotlight-core:color-mix(in oklch, var(--color-accent) 16%, transparent)}}.portfolio-page{--spotlight-mid:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.portfolio-page{--spotlight-mid:color-mix(in oklch, var(--color-accent) 7%, transparent)}}.portfolio-page:before{background:radial-gradient(circle 24rem at var(--pointer-x) var(--pointer-y),var(--spotlight-core) 0%,var(--spotlight-mid) 34%,transparent 72%);transition:opacity .18s var(--ease-out)}.portfolio-page.is-light-surface{--spotlight-core:var(--color-spotlight-light-core);--spotlight-mid:var(--color-spotlight-light-mid)}.portfolio-page:before{z-index:0}.portfolio-page>*{z-index:1;position:relative}.portfolio-nav{z-index:30}.portfolio-skills{--light-pointer-x:72%;--light-pointer-y:50%}.portfolio-skills:after{z-index:0;background:radial-gradient(circle 24rem at var(--light-pointer-x) var(--light-pointer-y),var(--color-spotlight-coral-core) 0%,var(--color-spotlight-coral-mid) 34%,transparent 72%);mix-blend-mode:multiply;inset:0}.portfolio-skills>.portfolio-shell{z-index:1;position:relative}@media(prefers-reduced-motion:reduce){.portfolio-skills:after{background:radial-gradient(circle 24rem at 72% 35%,var(--color-spotlight-coral-core),transparent 72%)}}.portfolio-skills:after{z-index:3;opacity:.82}.portfolio-skills>.portfolio-shell{z-index:1}html,body,#root{border:0;border-radius:0;width:100%;min-height:100%;margin:0;padding:0}#root{display:block}.portfolio-page{border:0;border-radius:0;width:100%;margin:0}.portfolio-nav{border-radius:0;margin:0;inset-block-start:0;inset-inline:0}.portfolio-skills:after{pointer-events:none}.portfolio-nav{min-height:4rem;padding-block:0}.portfolio-links.is-open{inset-block-start:4rem}.portfolio-project-card{--card-pointer-x:50%;--card-pointer-y:35%;isolation:isolate;position:relative}.portfolio-project-card:after{content:"";z-index:3;pointer-events:none;background:radial-gradient(circle 18rem at var(--card-pointer-x) var(--card-pointer-y),var(--color-accent),var(--color-accent) 38%,transparent 72%);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.portfolio-project-card:after{background:radial-gradient(circle 18rem at var(--card-pointer-x) var(--card-pointer-y),color-mix(in oklch,var(--color-accent) 13%,transparent),color-mix(in oklch,var(--color-accent) 5%,transparent) 38%,transparent 72%)}}.portfolio-project-card>*{z-index:1;position:relative}@media(prefers-reduced-motion:reduce){.portfolio-project-card:after{background:radial-gradient(circle 18rem at 72% 28%,var(--color-accent),transparent 72%)}@supports (color:color-mix(in lab,red,red)){.portfolio-project-card:after{background:radial-gradient(circle 18rem at 72% 28%,color-mix(in oklch,var(--color-accent) 9%,transparent),transparent 72%)}}}.terminal-screen{min-height:16rem}.terminal-hint{margin:calc(var(--space-sm) * -1) 0 var(--space-xl) 1.15rem;color:var(--color-muted)}.terminal-entry output{white-space:pre-wrap;tab-size:2}.terminal-output{gap:var(--space-xs);white-space:normal;display:grid}.terminal-output-row{gap:var(--space-sm);grid-template-columns:minmax(5.5rem,auto) auto minmax(0,1fr);align-items:baseline;display:grid}.terminal-output-row b{color:var(--color-accent);font-weight:500}.terminal-output-row i{color:var(--color-rule);font-style:normal}.terminal-output-row>span{color:var(--color-ink-2);overflow-wrap:anywhere}.terminal-output-heading{color:var(--color-ink);margin-block-end:var(--space-xs);font-weight:500;display:block}.terminal-output-message{color:var(--color-muted)}.terminal-output.is-about .terminal-output-row b{color:var(--color-terminal-cyan)}.terminal-output.is-skills .terminal-output-row b{color:var(--color-terminal-violet)}.terminal-output.is-contact .terminal-output-row b,.terminal-output.is-contact .terminal-output-heading{color:var(--color-terminal-amber)}.terminal-output.is-projects .terminal-output-message{color:var(--color-terminal-cyan)}.terminal-output.is-help .terminal-output-message{color:var(--color-terminal-blue)}.kinetic-name{gap:.08em;line-height:.96}.kinetic-line{margin-block:-.22em 0;padding-block:.22em .18em}.skip-link{display:none}.portfolio-section-head h2:after{transform:scaleX(.35)}.portfolio-section-head h2:hover:after{transform:scaleX(1)}.portfolio-skills:after{mix-blend-mode:normal;opacity:.72}.portfolio-page{background-color:var(--color-paper);background-image:radial-gradient(circle 19rem at 8% 34%,var(--color-accent) 0%,var(--color-accent) 42%,transparent 74%),radial-gradient(circle 22rem at 92% 72%,var(--color-accent) 0%,var(--color-accent-soft) 40%,transparent 76%)}@supports (color:color-mix(in lab,red,red)){.portfolio-page{background-image:radial-gradient(circle 19rem at 8% 34%,color-mix(in oklch,var(--color-accent) 16%,transparent) 0%,color-mix(in oklch,var(--color-accent) 5%,transparent) 42%,transparent 74%),radial-gradient(circle 22rem at 92% 72%,color-mix(in oklch,var(--color-accent) 13%,transparent) 0%,color-mix(in oklch,var(--color-accent-soft) 12%,transparent) 40%,transparent 76%)}}.portfolio-page{background-repeat:no-repeat;background-attachment:fixed}.portfolio-page:before{background:radial-gradient(circle 24rem at var(--pointer-x) var(--pointer-y),var(--spotlight-core) 0%,var(--spotlight-mid) 34%,transparent 72%);opacity:.72}.portfolio-page:hover:before{opacity:.72}.portfolio-project-card,.skills-grid article,.portfolio-terminal{transform-origin:50%;transition:transform var(--dur-card) var(--ease-out)}@media(hover:hover)and (pointer:fine){.portfolio-project-card:hover{z-index:2;border-color:var(--color-rule);transform:scale(1.018)}.portfolio-project-card:hover h3{color:var(--color-ink)}.skills-grid article:hover{z-index:2;border-color:var(--color-cream-ink);transform:scale(1.015)}@supports (color:color-mix(in lab,red,red)){.skills-grid article:hover{border-color:color-mix(in oklch,var(--color-cream-ink) 18%,transparent)}}.skills-grid article:hover svg{color:var(--color-cream-muted)}.portfolio-terminal:hover{z-index:2;border-color:var(--color-rule);transform:scale(1.03)}}@property --pointer-light-core{syntax:"<color>";inherits:true;initial-value:#0000}@property --pointer-light-mid{syntax:"<color>";inherits:true;initial-value:#0000}.portfolio-page{--pointer-x:68vw;--pointer-y:32vh;--pointer-light-radius:clamp(6.5rem, 30vw, 24rem);--light-surface-top:100vh;--light-surface-bottom:100vh;isolation:isolate;background-color:var(--color-canvas);background-image:none;background-attachment:scroll;position:relative}.portfolio-page:before,.portfolio-page:after{content:none}.portfolio-page>main{position:relative}.portfolio-page>main:before,.portfolio-page>main:hover:before{content:"";z-index:20;pointer-events:none;background:radial-gradient(circle var(--pointer-light-radius) at var(--pointer-x) var(--pointer-y),var(--color-accent),var(--color-accent) 38%,transparent 72%);position:fixed;inset:0}@supports (color:color-mix(in lab,red,red)){.portfolio-page>main:before,.portfolio-page>main:hover:before{background:radial-gradient(circle var(--pointer-light-radius) at var(--pointer-x) var(--pointer-y),color-mix(in oklch,var(--color-accent) 15%,transparent),color-mix(in oklch,var(--color-accent) 6%,transparent) 38%,transparent 72%)}}.portfolio-page>main:before,.portfolio-page>main:hover:before{opacity:1}.portfolio-page>main:after{content:"";z-index:21;pointer-events:none;background:radial-gradient(circle var(--pointer-light-radius) at var(--pointer-x) var(--pointer-y),var(--color-spotlight-cream-core),var(--color-spotlight-cream-mid) 38%,transparent 72%);clip-path:polygon(0 var(--light-surface-top),100% var(--light-surface-top),100% var(--light-surface-bottom),0 var(--light-surface-bottom));position:fixed;inset:0}.portfolio-hero{--static-light-x:78vw;--static-light-y:36%}.portfolio-hero:after{opacity:0;background:0 0;animation:none}.portfolio-about{--static-light-x:20vw;--static-light-y:48%}.portfolio-skills{--static-light-x:78vw;--static-light-y:44%}.portfolio-skills:after{background:radial-gradient(circle clamp(5rem,12vw,14rem) at 16vw 34%,var(--color-spotlight-cream-core),var(--color-spotlight-cream-mid) 38%,transparent 74%),radial-gradient(circle clamp(5rem,10vw,12rem) at 84vw 66%,var(--color-spotlight-cream-core),var(--color-spotlight-cream-mid) 42%,transparent 76%);inset:0}@supports (color:color-mix(in lab,red,red)){.portfolio-skills:after{background:radial-gradient(circle clamp(5rem,12vw,14rem) at 16vw 34%,var(--color-spotlight-cream-core),var(--color-spotlight-cream-mid) 38%,transparent 74%),radial-gradient(circle clamp(5rem,10vw,12rem) at 84vw 66%,color-mix(in oklch,var(--color-spotlight-cream-core) 78%,transparent),color-mix(in oklch,var(--color-spotlight-cream-mid) 68%,transparent) 42%,transparent 76%)}}.portfolio-skills:after{opacity:.88}.portfolio-projects{--static-light-x:80vw;--static-light-y:38%}.portfolio-project-card:after{background:0 0}.portfolio-contact{--static-light-x:14vw;--static-light-y:52%}.portfolio-hero,.portfolio-about,.portfolio-projects,.portfolio-contact{isolation:isolate;position:relative}.portfolio-hero:before,.portfolio-about:before,.portfolio-projects:before,.portfolio-contact:before{content:"";z-index:0;pointer-events:none;opacity:1;width:100vw;position:absolute;inset-block:0;inset-inline-start:50%;transform:translate(-50%)}.portfolio-hero>*,.portfolio-about>*,.portfolio-projects>*,.portfolio-contact>*{z-index:1;position:relative}.portfolio-hero:before,.portfolio-hero:hover:before{aspect-ratio:auto;filter:none;background:radial-gradient(circle clamp(5rem,11vw,13rem) at 16vw 72%,var(--color-accent),var(--color-accent) 42%,transparent 74%),radial-gradient(circle clamp(6rem,13vw,15rem) at 84vw 28%,var(--color-accent),var(--color-accent) 42%,transparent 74%);border-radius:0;max-width:none;right:auto}@supports (color:color-mix(in lab,red,red)){.portfolio-hero:before,.portfolio-hero:hover:before{background:radial-gradient(circle clamp(5rem,11vw,13rem) at 16vw 72%,color-mix(in oklch,var(--color-accent) 19%,transparent),color-mix(in oklch,var(--color-accent) 8%,transparent) 42%,transparent 74%),radial-gradient(circle clamp(6rem,13vw,15rem) at 84vw 28%,color-mix(in oklch,var(--color-accent) 17%,transparent),color-mix(in oklch,var(--color-accent) 7%,transparent) 42%,transparent 74%)}}.portfolio-hero:before,.portfolio-hero:hover:before{opacity:1}.portfolio-about:before{background:radial-gradient(circle clamp(5rem,11vw,13rem) at 84vw 62%,var(--color-accent),var(--color-accent) 42%,transparent 74%)}@supports (color:color-mix(in lab,red,red)){.portfolio-about:before{background:radial-gradient(circle clamp(5rem,11vw,13rem) at 84vw 62%,color-mix(in oklch,var(--color-accent) 11%,transparent),color-mix(in oklch,var(--color-accent) 4%,transparent) 42%,transparent 74%)}}.portfolio-projects:before{background:radial-gradient(circle clamp(5rem,12vw,14rem) at 16vw 68%,var(--color-accent),var(--color-accent) 42%,transparent 75%),radial-gradient(circle clamp(6rem,13vw,15rem) at 84vw 34%,var(--color-accent),var(--color-accent) 44%,transparent 76%)}@supports (color:color-mix(in lab,red,red)){.portfolio-projects:before{background:radial-gradient(circle clamp(5rem,12vw,14rem) at 16vw 68%,color-mix(in oklch,var(--color-accent) 11%,transparent),color-mix(in oklch,var(--color-accent) 4%,transparent) 42%,transparent 75%),radial-gradient(circle clamp(6rem,13vw,15rem) at 84vw 34%,color-mix(in oklch,var(--color-accent) 13%,transparent),color-mix(in oklch,var(--color-accent) 5%,transparent) 44%,transparent 76%)}}.portfolio-contact:before{background:radial-gradient(circle clamp(5rem,9vw,11rem) at 16vw 62%,var(--color-accent),var(--color-accent) 42%,transparent 75%),radial-gradient(circle clamp(5rem,8vw,10rem) at 84vw 38%,var(--color-accent),var(--color-accent) 40%,transparent 74%)}@supports (color:color-mix(in lab,red,red)){.portfolio-contact:before{background:radial-gradient(circle clamp(5rem,9vw,11rem) at 16vw 62%,color-mix(in oklch,var(--color-accent) 14%,transparent),color-mix(in oklch,var(--color-accent) 6%,transparent) 42%,transparent 75%),radial-gradient(circle clamp(5rem,8vw,10rem) at 84vw 38%,color-mix(in oklch,var(--color-accent) 11%,transparent),color-mix(in oklch,var(--color-accent) 4%,transparent) 40%,transparent 74%)}}@media(max-width:44rem){.portfolio-hero:before,.portfolio-hero:hover:before,.portfolio-projects:before,.portfolio-contact:before{background:radial-gradient(circle 5rem at 32vw 34%,var(--color-accent),var(--color-accent) 42%,transparent 74%),radial-gradient(circle 4rem at 68vw 70%,var(--color-accent),var(--color-accent) 42%,transparent 74%)}@supports (color:color-mix(in lab,red,red)){.portfolio-hero:before,.portfolio-hero:hover:before,.portfolio-projects:before,.portfolio-contact:before{background:radial-gradient(circle 5rem at 32vw 34%,color-mix(in oklch,var(--color-accent) 12%,transparent),color-mix(in oklch,var(--color-accent) 4.5%,transparent) 42%,transparent 74%),radial-gradient(circle 4rem at 68vw 70%,color-mix(in oklch,var(--color-accent) 10%,transparent),color-mix(in oklch,var(--color-accent) 3.5%,transparent) 42%,transparent 74%)}}.portfolio-about:before{background:radial-gradient(circle 5rem at 68vw 58%,var(--color-accent),var(--color-accent) 42%,transparent 74%)}@supports (color:color-mix(in lab,red,red)){.portfolio-about:before{background:radial-gradient(circle 5rem at 68vw 58%,color-mix(in oklch,var(--color-accent) 11%,transparent),color-mix(in oklch,var(--color-accent) 4%,transparent) 42%,transparent 74%)}}.portfolio-skills:after{background:radial-gradient(circle 5rem at 32vw 34%,var(--color-spotlight-cream-core),var(--color-spotlight-cream-mid) 40%,transparent 74%),radial-gradient(circle 4rem at 68vw 70%,var(--color-spotlight-cream-core),var(--color-spotlight-cream-mid) 42%,transparent 74%)}@supports (color:color-mix(in lab,red,red)){.portfolio-skills:after{background:radial-gradient(circle 5rem at 32vw 34%,var(--color-spotlight-cream-core),var(--color-spotlight-cream-mid) 40%,transparent 74%),radial-gradient(circle 4rem at 68vw 70%,color-mix(in oklch,var(--color-spotlight-cream-core) 76%,transparent),color-mix(in oklch,var(--color-spotlight-cream-mid) 66%,transparent) 42%,transparent 74%)}}}.eld-page{min-height:100svh;color:var(--color-ink);background:var(--color-canvas)}.eld-header{border-bottom:1px solid var(--color-rule-2);font-family:var(--font-mono);letter-spacing:.04em;justify-content:space-between;align-items:center;padding:1.25rem max(1rem,50% - 41rem);font-size:.72rem;display:flex}.eld-brand{color:var(--color-ink);font-weight:500}.eld-brand span{color:var(--color-accent)}.eld-back{color:var(--color-muted);transition:color var(--dur-fast) var(--ease-out)}.eld-back:hover{color:var(--color-accent)}.eld-shell{width:min(100% - 2rem,82rem);margin:auto;padding-block:clamp(3rem,8vw,7rem)}.eld-hero{grid-template-columns:minmax(0,1fr) minmax(18rem,.56fr);align-items:end;gap:clamp(2rem,7vw,8rem);margin-bottom:3rem;display:grid}.eld-eyebrow,.eld-route-tag{color:var(--color-accent);font:.68rem var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.eld-hero h1{max-width:12ch;margin-top:.75rem;font-size:clamp(3.4rem,8vw,7.5rem);font-weight:500}.eld-hero h1 em{color:var(--color-accent);font-style:normal}.eld-hero p{max-width:34rem;color:var(--color-ink-2);margin:1.4rem 0 0;font-size:1.05rem}.eld-price{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-canvas-raised);padding:1.5rem;display:block}@supports (color:color-mix(in lab,red,red)){.eld-price{background:color-mix(in oklch,var(--color-canvas-raised) 76%,transparent)}}.eld-price{box-shadow:0 1.5rem 4rem var(--color-graphite)}@supports (color:color-mix(in lab,red,red)){.eld-price{box-shadow:0 1.5rem 4rem color-mix(in oklch,var(--color-graphite) 35%,transparent)}}.eld-price span{color:var(--color-muted);font:.7rem var(--font-mono);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.7rem;display:block}.eld-price div{align-items:center;gap:.55rem;display:flex}.eld-price b{color:var(--color-accent);font-size:1.4rem}.eld-price input{width:100%;min-width:0;color:var(--color-ink);font:500 clamp(2rem,5vw,3.2rem) var(--font-display);background:0 0;border:0;outline:0}.eld-price small{color:var(--color-muted);font:.7rem var(--font-mono)}.eld-card{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-canvas-raised)}@supports (color:color-mix(in lab,red,red)){.eld-card{background:color-mix(in oklch,var(--color-canvas-raised) 82%,transparent)}}.eld-card{box-shadow:0 1.5rem 4rem var(--color-graphite)}@supports (color:color-mix(in lab,red,red)){.eld-card{box-shadow:0 1.5rem 4rem color-mix(in oklch,var(--color-graphite) 22%,transparent)}}.eld-settings{margin-bottom:1rem;padding:1.25rem}.eld-card-heading{justify-content:space-between;align-items:start;gap:1rem;margin-bottom:1.25rem;display:flex}.eld-card-heading h2{max-width:none;margin-top:.25rem;font-size:1.35rem;font-weight:500}.eld-quiet-button,.eld-button{border:1px solid var(--color-rule);border-radius:var(--radius-sm);color:var(--color-ink-2);cursor:pointer;transition:color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),transform var(--dur-fast) var(--ease-out);background:0 0;padding:.65rem .85rem}.eld-quiet-button:hover,.eld-button:hover{border-color:var(--color-accent);color:var(--color-accent);transform:translateY(-2px)}.eld-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;display:grid}.eld-settings label span{color:var(--color-muted);margin-bottom:.4rem;font-size:.78rem;display:block}.eld-settings label div{border-bottom:1px solid var(--color-rule);align-items:center;gap:.45rem;display:flex}.eld-settings input{width:100%;min-width:0;color:var(--color-ink);font-family:var(--font-mono);background:0 0;border:0;outline:0;padding:.4rem 0}.eld-settings small{color:var(--color-muted);font:.68rem var(--font-mono)}.eld-summary{color:var(--color-muted);font:.72rem var(--font-mono);justify-content:space-between;align-items:center;gap:1rem;padding:1rem 0 2rem;display:flex}.eld-summary>span{align-items:center;gap:.55rem;display:flex}.eld-live-dot{background:var(--color-accent);width:.45rem;height:.45rem;box-shadow:0 0 .7rem var(--color-accent);border-radius:50%}.eld-summary div{flex-wrap:wrap;gap:.5rem;display:flex}.eld-button.is-ghost{color:var(--color-muted)}.eld-layout{grid-template-columns:minmax(0,1fr) 18rem;align-items:start;gap:1rem;display:grid}.eld-flow{border:1px solid var(--color-rule);border-radius:var(--radius-md);background:var(--color-canvas-raised);padding:1.5rem}@supports (color:color-mix(in lab,red,red)){.eld-flow{background:color-mix(in oklch,var(--color-canvas-raised) 45%,transparent)}}.eld-flow>.eld-flow-card{max-width:34rem;margin:auto}.eld-flow-card{border:1px solid var(--color-rule-2);border-radius:var(--radius-sm);background:var(--color-canvas-raised);gap:.28rem;padding:1.05rem 1.15rem;display:grid}@supports (color:color-mix(in lab,red,red)){.eld-flow-card{background:color-mix(in oklch,var(--color-canvas-raised) 72%,transparent)}}.eld-flow-card>span{color:var(--color-muted);font-size:.78rem}.eld-flow-card strong{font:500 1.4rem var(--font-display)}.eld-flow-card code,.eld-formulas code{color:var(--color-muted);font:.67rem var(--font-mono)}.eld-flow-card.is-bank{border-color:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.eld-flow-card.is-bank{border-color:color-mix(in oklch,var(--color-accent) 34%,var(--color-rule))}}.eld-flow-card.is-crypto{border-color:var(--color-terminal-cyan)}@supports (color:color-mix(in lab,red,red)){.eld-flow-card.is-crypto{border-color:color-mix(in oklch,var(--color-terminal-cyan) 34%,var(--color-rule))}}.eld-arrow{width:max-content;color:var(--color-muted);margin:.45rem auto;display:block}.eld-branches{border-top:1px dashed var(--color-rule);grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.eld-branches>div{min-width:0}.eld-route-tag{color:var(--color-terminal-cyan);margin-bottom:.7rem;display:block}.eld-branches>div:first-child .eld-route-tag{color:var(--color-accent)}.eld-formulas{padding:1.25rem;position:sticky;top:1rem}.eld-formulas section{border-top:1px solid var(--color-rule-2);padding-top:1rem}.eld-formulas h3{font:500 .9rem var(--font-mono);margin-bottom:.6rem}.eld-formulas h3 i{color:var(--color-muted);font-style:normal}.eld-formulas code{overflow-wrap:anywhere;padding:.35rem 0;display:block}.eld-compare{margin-top:1rem;padding:1.25rem}.eld-compare-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.eld-compare-grid>div{border:1px solid var(--color-rule-2);border-radius:var(--radius-sm);padding:1rem}.eld-compare-grid>div.is-winner{border-color:var(--color-accent);background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.eld-compare-grid>div.is-winner{background:color-mix(in oklch,var(--color-accent) 8%,transparent)}}.eld-compare h3{font:500 .8rem var(--font-mono);margin-bottom:.85rem}.eld-compare h3 i{color:var(--color-muted);font-style:normal}.eld-compare strong,.eld-compare span,.eld-compare small{display:block}.eld-compare strong{font:500 1.65rem var(--font-display)}.eld-compare span{color:var(--color-accent);font-family:var(--font-mono);margin-top:.2rem}.eld-compare small{color:var(--color-muted);margin-top:.8rem;font-size:.7rem}.eld-delta{color:var(--color-muted);margin:1rem 0 0;font-size:.85rem}.eld-delta b,.eld-delta strong{color:var(--color-accent)}.eld-footer{border-top:1px solid var(--color-rule-2);width:min(100% - 2rem,82rem);color:var(--color-muted);font:.68rem var(--font-mono);margin:auto;padding:1.5rem 0 2.5rem}@media(max-width:52rem){.eld-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.eld-layout{grid-template-columns:1fr}.eld-formulas{position:static}.eld-hero{grid-template-columns:1fr}.eld-price{max-width:30rem}}@media(max-width:40rem){.eld-header{padding-inline:1rem}.eld-back{display:none}.eld-shell{width:min(100% - 1.25rem,82rem);padding-block:3rem}.eld-hero h1{font-size:clamp(3rem,16vw,5rem)}.eld-settings-grid,.eld-branches,.eld-compare-grid{grid-template-columns:1fr}.eld-summary{flex-direction:column;align-items:flex-start}.eld-flow{padding:.75rem}.eld-footer{width:min(100% - 1.25rem,82rem)}}@media(prefers-reduced-motion:reduce){.eld-quiet-button,.eld-button,.eld-back{transition:none}.eld-quiet-button:hover,.eld-button:hover{transform:none}}.eld-result-card{border:1px solid var(--color-accent);border-radius:var(--radius-md);background:var(--color-accent);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:2rem;margin-bottom:1rem;padding:1.25rem 1.5rem;display:grid}@supports (color:color-mix(in lab,red,red)){.eld-result-card{background:color-mix(in oklch,var(--color-accent) 8%,var(--color-canvas-raised))}}.eld-result-card{box-shadow:0 1.5rem 4rem var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.eld-result-card{box-shadow:0 1.5rem 4rem color-mix(in oklch,var(--color-accent) 8%,transparent)}}.eld-result-card{animation:eld-pulse .5s var(--ease-out)}.eld-result-card.is-bank{border-color:var(--color-accent)}.eld-result-card>div{gap:.25rem;display:grid}.eld-result-card strong{font:500 clamp(1.8rem,4vw,2.8rem) var(--font-display)}.eld-result-vnd{color:var(--color-ink-2);font-family:var(--font-mono);font-size:.78rem}.eld-result-route,.eld-result-saved{border-left:1px solid var(--color-rule);padding-left:1.25rem}.eld-result-route span,.eld-result-saved span{color:var(--color-muted);font:.68rem var(--font-mono);text-transform:uppercase}.eld-result-route b{color:var(--color-accent);font:500 1rem var(--font-display)}.eld-result-saved strong{font:500 1.2rem var(--font-display)}.eld-result-saved b{color:var(--color-muted);font:.68rem var(--font-mono)}.eld-flow-card header{align-items:center;gap:.5rem;display:flex}.eld-flow-icon{text-align:center;filter:saturate(.8);width:1.15rem;font-size:.85rem}.eld-flow-card small{color:var(--color-muted);font:.68rem var(--font-mono)}.eld-flow-card small b{color:var(--color-terminal-danger);font-weight:400}.eld-flow-line{background:var(--color-rule);width:1px;height:1.25rem;margin:.2rem auto;display:block;position:relative}.eld-flow-line:after{content:"";border:3px solid #0000;border-top-color:var(--color-accent);position:absolute;bottom:0;left:-2px;transform:translateY(4px)}.eld-branch{margin-top:1rem;padding-top:2rem;position:relative}.eld-branch-top{background:var(--color-rule);width:1px;height:1.1rem;position:absolute;top:0;left:50%}.eld-branch-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid;position:relative}.eld-branch-columns:before{content:"";border-top:1px solid var(--color-rule);position:absolute;top:0;left:25%;right:25%}.eld-branch-columns>div{padding-top:1rem;position:relative}.eld-branch-columns>div:before{content:"";background:var(--color-rule);width:1px;height:1rem;position:absolute;top:0;left:50%}.eld-branch-columns>div:after{content:"▼";color:var(--color-accent);font-size:.55rem;position:absolute;top:.65rem;left:calc(50% - .24rem)}.eld-branch-columns .eld-flow-card{z-index:1;position:relative}.eld-branch-columns .eld-route-tag{text-align:center}.eld-table-wrap{overflow-x:auto}.eld-compare table{border-collapse:collapse;width:100%;font-size:.78rem}.eld-compare th,.eld-compare td{border-bottom:1px solid var(--color-rule-2);text-align:left;white-space:nowrap;padding:.8rem .65rem}.eld-compare thead th{color:var(--color-muted);font:.66rem var(--font-mono);text-transform:uppercase}.eld-compare tbody th{font-weight:500}.eld-compare tbody tr.is-winner{background:var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.eld-compare tbody tr.is-winner{background:color-mix(in oklch,var(--color-accent) 9%,transparent)}}.eld-compare tbody tr.is-winner td,.eld-compare tbody tr.is-winner th{color:var(--color-accent)}.eld-compare tbody tr:last-child td,.eld-compare tbody tr:last-child th{border-bottom:0}.eld-fees{margin-top:1rem;padding:1.25rem}.eld-fee-total{color:var(--color-accent);font:500 1.1rem var(--font-display)}.eld-fee-list>div{border-bottom:1px solid var(--color-rule-2);grid-template-columns:1fr auto;align-items:center;gap:.45rem .75rem;padding:.5rem 0;display:grid}.eld-fee-list span,.eld-fee-list b{font-size:.78rem}.eld-fee-list b{font-family:var(--font-mono);font-weight:400}.eld-fee-list i{background:var(--color-rule-2);grid-column:1/-1;height:3px;overflow:hidden}.eld-fee-list i span{background:var(--color-accent);height:100%;transition:width .28s var(--ease-out);display:block}.eld-loss{margin-top:1rem;padding:1.25rem}.eld-loss-row{font:.7rem var(--font-mono);grid-template-columns:7rem minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.4rem 0;display:grid}.eld-loss-row>span{color:var(--color-muted)}.eld-loss-row i{background:var(--color-rule-2);height:5px;overflow:hidden}.eld-loss-row i b{background:var(--color-accent);height:100%;transition:width .28s var(--ease-out);display:block}.eld-loss-row strong{text-align:right;min-width:4rem;font-weight:400}.eld-formulas code{white-space:pre-wrap;line-height:1.7}.eld-formulas section+section{margin-top:1.25rem}.eld-formulas code:first-line{color:var(--color-ink)}.eld-formulas .eld-quiet-button{padding:.4rem .6rem;font-size:.7rem}@keyframes eld-pulse{0%{box-shadow:0 0 color-mix(in oklch,var(--color-accent) 20%,transparent)}to{box-shadow:0 1.5rem 4rem color-mix(in oklch,var(--color-accent) 8%,transparent)}}@media(max-width:52rem){.eld-result-card{grid-template-columns:1fr 1fr}.eld-result-card>div:first-child{grid-column:1/-1}.eld-result-saved{border-left:0;padding-left:0}}@media(max-width:40rem){.eld-result-card{grid-template-columns:1fr;gap:1rem}.eld-result-card>div:first-child{grid-column:auto}.eld-result-route,.eld-result-saved{border-left:0;padding-left:0}.eld-branch-columns{grid-template-columns:1fr;gap:2rem}.eld-branch-columns:before,.eld-branch-columns>div:before,.eld-branch-columns>div:after{display:none}.eld-loss-row{grid-template-columns:6rem minmax(0,1fr) auto}}@media(prefers-reduced-motion:reduce){.eld-result-card{animation:none}.eld-flow-line,.eld-flow-line:after,.eld-branch-columns:before,.eld-branch-columns>div:before,.eld-fee-list i span,.eld-loss-row i b{transition:none}}.eld-badge{border:1px solid var(--color-accent);width:max-content;padding:.18rem .38rem;display:block}@supports (color:color-mix(in lab,red,red)){.eld-badge{border:1px solid color-mix(in oklch,var(--color-accent) 42%,var(--color-rule))}}.eld-badge{color:var(--color-accent);font:.58rem var(--font-mono);letter-spacing:.06em;border-radius:999px}.eld-result-route{gap:.35rem}.eld-fee-list em{color:var(--color-muted);font:.68rem var(--font-mono);text-align:right;font-style:normal}.eld-fee-list>div{grid-template-columns:1fr auto auto}.eld-fee-list i{grid-column:1/-1}.eld-difference{border-top:1px solid var(--color-rule-2);color:var(--color-accent);font:.72rem var(--font-mono);grid-template-columns:1fr repeat(3,auto);align-items:center;gap:1rem;margin-top:1rem;padding-top:1rem;display:grid}.eld-difference b{color:var(--color-muted)}.eld-difference span{white-space:nowrap}.eld-compare tbody tr.is-winner{box-shadow:inset 3px 0 var(--color-accent),0 0 1.5rem var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.eld-compare tbody tr.is-winner{box-shadow:inset 3px 0 var(--color-accent),0 0 1.5rem color-mix(in oklch,var(--color-accent) 10%,transparent)}}.eld-formulas section{border-bottom:1px solid var(--color-rule-2);margin-bottom:1.25rem;padding-bottom:1.1rem}.eld-formulas section:last-child{border-bottom:0}.eld-formulas code{white-space:pre-line;border-bottom:1px dashed var(--color-rule-2);padding:.7rem 0;display:block}.eld-formulas code:last-child{border-bottom:0}@media print{.eld-header,.eld-summary,.eld-settings,.eld-formulas,.eld-footer{display:none}.eld-shell{width:100%;padding:1rem}.eld-page{color:#111;background:#fff}.eld-card,.eld-flow{box-shadow:none}}@media(max-width:40rem){.eld-difference{grid-template-columns:1fr 1fr}.eld-difference b{grid-column:1/-1}}@media(prefers-reduced-motion:reduce){.portfolio-project-card,.skills-grid article,.portfolio-terminal{transition-duration:.01ms}.portfolio-project-card:hover,.skills-grid article:hover,.portfolio-terminal:hover{transform:none}.portfolio-page>main:before{opacity:0;background:0 0}.portfolio-page>main:after{display:none}}.portfolio-hero{z-index:22}.portfolio-hero>div:last-child,.portfolio-terminal{z-index:22;position:relative}.portfolio-terminal{isolation:isolate;border-color:var(--color-accent);overflow:clip}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal{border-color:color-mix(in oklch,var(--color-accent) 24%,var(--color-rule))}}.portfolio-terminal{background:linear-gradient(145deg,var(--color-ink),transparent 38%),var(--color-canvas-raised)}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal{background:linear-gradient(145deg,color-mix(in oklch,var(--color-ink) 5%,transparent),transparent 38%),var(--color-canvas-raised)}}.portfolio-terminal{box-shadow:0 2rem 5rem var(--color-graphite),0 0 3rem var(--color-accent),inset 0 1px 0 var(--color-ink),inset 0 0 0 1px var(--color-accent)}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal{box-shadow:0 2rem 5rem color-mix(in oklch,var(--color-graphite) 70%,transparent),0 0 3rem color-mix(in oklch,var(--color-accent) 7%,transparent),inset 0 1px color-mix(in oklch,var(--color-ink) 11%,transparent),inset 0 0 0 1px color-mix(in oklch,var(--color-accent) 4%,transparent)}}@media(hover:none),(pointer:coarse){.portfolio-page>main:before,.portfolio-page>main:after{display:none}}.portfolio-terminal:before{content:none}.portfolio-terminal:after{content:"";z-index:4;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 2.5rem var(--color-accent);position:absolute;inset:0}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal:after{box-shadow:inset 0 0 2.5rem color-mix(in oklch,var(--color-accent) 3%,transparent)}}.portfolio-terminal>header,.portfolio-terminal>.terminal-screen,.portfolio-terminal>.terminal-actions{z-index:2;position:relative}.portfolio-terminal>header{background:var(--color-canvas-raised);min-height:3.5rem}@supports (color:color-mix(in lab,red,red)){.portfolio-terminal>header{background:color-mix(in oklch,var(--color-canvas-raised) 58%,transparent)}}.portfolio-terminal>header{-webkit-backdrop-filter:blur(18px)}.terminal-titlebar,.terminal-status,.terminal-window-controls{align-items:center;display:flex}.terminal-titlebar{gap:var(--space-md);min-width:0}.terminal-titlebar>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.terminal-window-controls{gap:var(--space-sm);flex:none}.terminal-window-controls i{border:var(--rule-thin) solid var(--color-ink);place-items:center;width:1rem;height:1rem;display:grid}@supports (color:color-mix(in lab,red,red)){.terminal-window-controls i{border:var(--rule-thin) solid color-mix(in oklch,var(--color-ink) 18%,transparent)}}.terminal-window-controls i{color:var(--color-accent-ink);box-shadow:inset 0 1px 0 var(--color-ink);border-radius:50%}@supports (color:color-mix(in lab,red,red)){.terminal-window-controls i{box-shadow:inset 0 1px color-mix(in oklch,var(--color-ink) 22%,transparent)}}.terminal-window-controls svg{stroke-width:2px;opacity:.46;width:.58rem;height:.58rem}.terminal-window-controls .is-close{background:var(--color-terminal-danger)}.terminal-window-controls .is-minimize{background:var(--color-terminal-amber)}.terminal-window-controls .is-maximize{background:var(--color-accent)}.portfolio-terminal:hover .terminal-window-controls svg,.portfolio-terminal:focus-within .terminal-window-controls svg{opacity:.88}.terminal-status{gap:var(--space-sm);color:var(--color-ink-2);flex:none}.terminal-status i{background:var(--color-accent);width:.38rem;height:.38rem;box-shadow:0 0 .75rem var(--color-accent);border-radius:50%}.terminal-screen{background:var(--color-graphite)}@supports (color:color-mix(in lab,red,red)){.terminal-screen{background:color-mix(in oklch,var(--color-graphite) 24%,transparent)}}.terminal-actions{background:var(--color-canvas-raised)}@supports (color:color-mix(in lab,red,red)){.terminal-actions{background:color-mix(in oklch,var(--color-canvas-raised) 54%,transparent)}}.terminal-actions{-webkit-backdrop-filter:blur(18px)}.terminal-actions button{background:var(--color-canvas-raised)}@supports (color:color-mix(in lab,red,red)){.terminal-actions button{background:color-mix(in oklch,var(--color-canvas-raised) 46%,transparent)}}.terminal-actions button:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.terminal-actions button:active{color:var(--color-accent-ink);background:var(--color-accent)}@media(max-width:44rem){.portfolio-terminal>header{padding-inline:var(--space-md)}.terminal-titlebar{gap:var(--space-sm)}.terminal-window-controls{gap:var(--space-xs)}.terminal-window-controls i{width:.85rem;height:.85rem}.terminal-window-controls svg{display:none}}
