@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600;650;700&family=JetBrains+Mono:wght@400;500&display=swap";/*! tailwindcss v4.2.0 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial}}}@layer theme{:root,:host{--font-sans:"Inter", ui-sans-serif, system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--color-slate-100:oklch(96.8% .007 247.896);--color-slate-300:oklch(86.9% .022 252.894);--color-slate-700:oklch(37.2% .044 257.287);--color-slate-900:oklch(20.8% .042 265.755);--color-slate-950:oklch(12.9% .042 264.695);--color-white:#fff;--spacing:.25rem;--container-5xl:64rem;--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);--color-accent:var(--accent)}}@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,ui-sans-serif, system-ui, 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{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}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{background:var(--bg-body);min-height:100vh;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;flex-direction:column;margin:0;font-size:1rem;line-height:1.65;display:flex}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{letter-spacing:-.035em;text-wrap:balance;font-weight:550;line-height:1.2}a{text-decoration:none}button,summary,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a,button,summary{touch-action:manipulation}:focus-visible{outline:2px solid var(--accent);outline-offset:5px;border-radius:3px}::selection{background:var(--accent-bg);color:var(--text-primary)}[hidden]{display:none!important}[id]{scroll-margin-top:2rem}strong{font-weight:600}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.max-w-5xl{max-width:var(--container-5xl)}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.border-slate-300{border-color:var(--color-slate-300)}.border-slate-700\/30{border-color:#3141584d}@supports (color:color-mix(in lab,red,red)){.border-slate-700\/30{border-color:color-mix(in oklab,var(--color-slate-700) 30%,transparent)}}.bg-slate-100{background-color:var(--color-slate-100)}.bg-slate-900\/20{background-color:#0f172b33}@supports (color:color-mix(in lab,red,red)){.bg-slate-900\/20{background-color:color-mix(in oklab,var(--color-slate-900) 20%,transparent)}}.bg-slate-950{background-color:var(--color-slate-950)}.bg-white\/40{background-color:#fff6}@supports (color:color-mix(in lab,red,red)){.bg-white\/40{background-color:color-mix(in oklab,var(--color-white) 40%,transparent)}}.text-accent{color:var(--color-accent)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-blur-\[4px\]{--tw-backdrop-blur:blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-\[5px\]{--tw-backdrop-blur:blur(5px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.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{--text-scale:1;color-scheme:light;--bg-body:#f7f9fa;--bg-panel:#fff;--bg-card:#edf3f5;--bg-card-hover:#e5eff2;--text-primary:#152631;--text-secondary:#435665;--text-muted:#576d7b;--border-subtle:#d7e2e6;--border-strong:#9cb3be;--accent:#086b80;--accent-hover:#075567;--accent-bg:#e2f2f4;--button-bg:#163b48;--button-text:#fff;--terminal-bg:#101f2a;--terminal-text:#dce9ed;font-size:100%}:root[data-text-size=large]{--text-scale:1.25;font-size:125%}:root.dark{color-scheme:dark;--bg-body:#0c151e;--bg-panel:#101e29;--bg-card:#142632;--bg-card-hover:#1b303d;--text-primary:#edf4f6;--text-secondary:#b6c7d0;--text-muted:#95acba;--border-subtle:#263c49;--border-strong:#4d6d7d;--accent:#7bdbe4;--accent-hover:#a1eaf0;--accent-bg:#17333f;--button-bg:#9ae4e9;--button-text:#102932}.page-container,.header-inner,.footer-inner{width:min(1120px,100% - 96px);margin-inline:auto}.page-container{overflow-wrap:anywhere;flex:1;min-height:65vh}.site-header{border-bottom:1px solid var(--border-subtle)}.header-inner{grid-template-columns:auto minmax(0,1fr) auto;justify-content:space-between;align-items:center;gap:1rem;min-height:90px;display:grid}.wordmark{color:var(--text-primary);align-items:center;gap:13px;display:inline-flex}.wordmark-initials{font-family:var(--font-mono);letter-spacing:-.09em;font-size:1.5625rem;font-weight:500}.wordmark-initials>span{color:var(--accent)}.wordmark-name{letter-spacing:-.02em;font-size:.875rem;font-weight:600}.site-header nav{flex-wrap:wrap;justify-self:end;align-items:center;gap:7px;display:flex}.site-header nav>a{color:var(--text-secondary);white-space:nowrap;border-radius:6px;padding:9px 14px;font-size:.875rem;transition:color .18s,background .18s}.site-header nav>a:hover,.site-header nav>a[aria-current]{color:var(--accent);background:var(--accent-bg)}.display-controls{align-items:center;gap:8px;display:flex}.theme-toggle,.text-size-toggle{width:42px;height:42px;color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0;border-radius:50%;place-items:center;display:grid}.theme-toggle:hover,.text-size-toggle:hover{color:var(--accent);border-color:var(--accent)}.text-size-toggle[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:var(--accent-bg)}.text-size-icon{letter-spacing:-.08em;font-size:.9375rem;font-weight:600}.text-size-icon>span{font-size:.8em}.theme-sun,.dark .theme-moon{display:none}.dark .theme-sun{display:block}.skip-link{z-index:50;background:var(--button-bg);color:var(--button-text);padding:10px 18px;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.eyebrow{font-family:var(--font-mono);letter-spacing:.075em;text-transform:uppercase;color:var(--accent);font-size:.6875rem;font-weight:400;line-height:1.7}.eyebrow-divider{color:var(--border-strong);padding-inline:9px}.home-hero{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);align-items:center;gap:65px;padding-block:86px 80px;display:grid}.hero-copy h1{font-size:clamp(2.875rem,calc(5.5vw * var(--text-scale)),4.75rem);letter-spacing:-.055em;margin-top:26px;font-weight:550;line-height:1.06}.hero-role{margin-top:29px;font-size:1rem;font-weight:600}.hero-intro{max-width:540px;color:var(--text-secondary);margin-top:12px;font-size:1.0625rem;line-height:1.75}.action-row{flex-wrap:wrap;align-items:center;gap:25px;margin-top:29px;display:flex}.button{border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;gap:25px;min-height:47px;padding:11px 20px;font-size:.875rem;font-weight:550;line-height:1.4;transition:background .18s,transform .18s;display:inline-flex}.button-primary{background:var(--button-bg);color:var(--button-text)}.button:hover{transform:translateY(-2px)}.button-primary:hover{background:var(--accent-hover);color:#fff}.dark .button-primary:hover{color:var(--button-text)}.text-link{color:var(--accent);text-underline-offset:5px;align-items:center;gap:12px;font-size:.875rem;font-weight:500;display:inline-flex}.text-link:hover{text-decoration:underline}.hero-note{max-width:400px;color:var(--text-muted);margin-top:23px;font-size:.75rem;line-height:1.7}.system-sketch{color:var(--accent);border:1px solid var(--border-subtle);background:linear-gradient(145deg,var(--bg-panel),var(--bg-card));border-radius:12px;position:relative;overflow:hidden;transform:rotate(-2deg)}.sketch-caption{font-size:.625rem;font-family:var(--font-mono);letter-spacing:.01em;color:var(--text-secondary);align-items:center;gap:9px;padding:23px 23px 0;display:flex}.tiny-marker{background:var(--accent);border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block}.sketch-drawing{width:100%;height:auto;margin-top:5px}.sketch-node>rect{fill:var(--bg-panel);stroke:var(--border-strong)}.sketch-label{font-family:var(--font-mono);font-size:.75rem}.sketch-connections{opacity:.7}.sketch-center{fill:var(--accent-bg);stroke:var(--accent)}.sketch-footnote{color:var(--text-muted);font-family:var(--font-mono);justify-content:space-between;gap:12px;padding:0 21px 20px;font-size:.5625rem;display:flex}.section-block{border-top:1px solid var(--border-subtle);padding-block:60px 65px}.section-heading{justify-content:space-between;align-items:flex-end;gap:32px;margin-bottom:32px;display:flex}.section-heading h2{font-size:clamp(1.6875rem,calc(3vw * var(--text-scale)),2.1875rem);margin-top:10px}.section-heading>.text-link{flex-shrink:0;padding-bottom:3px}.section-description{color:var(--text-muted);max-width:295px;font-size:.875rem;line-height:1.7}.work-preview{border-top:1px solid var(--border-subtle);border-radius:4px;grid-template-columns:40px minmax(0,1fr) 30px;gap:22px;padding:30px 22px 30px 0;transition:background .18s;display:grid}.work-preview:last-child{border-bottom:1px solid var(--border-subtle)}.work-preview:hover{background:var(--bg-card)}.work-number{font-family:var(--font-mono);color:var(--text-muted);padding-top:4px;font-size:.6875rem}.metadata{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:6px 16px;font-size:.75rem;line-height:1.6;display:flex}.stage-label{color:var(--accent);align-items:center;gap:6px;display:inline-flex}.stage-label:before{content:"";background:currentColor;border-radius:50%;width:5px;height:5px}.work-preview h3{color:var(--text-primary);margin-top:8px;font-size:1.4375rem}.work-preview p{color:var(--text-secondary);margin-top:9px;font-size:.9375rem}.preview-outcome{color:var(--accent);margin-top:12px;font-size:.8125rem;display:block}.preview-arrow{color:var(--accent);align-self:center;font-size:1.5625rem}.workbench{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:90px;padding-block:75px;display:grid}.workbench h2{margin-top:16px;font-size:2.25rem}.workbench-copy>p:not(.eyebrow){color:var(--text-secondary);margin-top:19px;font-size:.9375rem}.workbench .text-link{margin-top:24px}.quiet-metadata{color:var(--text-muted);font-size:.75rem;line-height:1.7}.terminal-panel{background:var(--terminal-bg);min-width:0;color:var(--terminal-text);font-family:var(--font-mono);border:1px solid #304551;border-radius:10px;font-size:.6875rem;box-shadow:0 12px 32px #06182410}.terminal-header{color:#adc1cd;border-bottom:1px solid #304551;align-items:center;gap:10px;padding:13px 20px;display:flex}.terminal-header>:last-child{margin-left:auto;font-size:.625rem}.terminal-dot{background:#7bdbe4;border-radius:50%;width:6px;height:6px}.terminal-content{padding:15px 23px 27px}.terminal-comment{color:#9ab1be;margin-block:15px 7px;font-size:.625rem}.terminal-content code{overflow-wrap:anywhere;font-family:inherit}.terminal-content code>span{color:#7bdbe4}.terminal-footer{color:#adc1cd;border-top:1px solid #304551;padding:12px 20px;font-size:.5625rem}.approach-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px;margin-top:40px;display:grid}.approach-index{font-family:var(--font-mono);color:var(--accent);text-transform:uppercase;letter-spacing:.05em;font-size:.625rem}.approach-grid h3{margin-top:14px;font-size:1.1875rem}.approach-grid p{color:var(--text-secondary);margin-top:12px;font-size:.875rem;line-height:1.8}.contact-section{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:60px;margin-block:12px 75px;padding:42px 45px;display:grid}.contact-section h2{margin-top:12px;font-size:2rem}.contact-section p:not(.eyebrow){color:var(--text-secondary);max-width:520px;margin-top:18px;font-size:.875rem}.contact-actions{flex-direction:column;align-items:flex-start;gap:17px;display:flex}.contact-actions .button{justify-content:space-between;min-width:190px}.site-footer{border-top:1px solid var(--border-subtle)}.footer-inner{min-height:100px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:25px;font-size:.75rem;display:flex}.footer-links{flex-wrap:wrap;gap:25px;display:flex}.footer-links a:hover{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.work-intro{padding-top:66px}.work-intro h1{font-size:clamp(2.375rem,calc(4.6vw * var(--text-scale)),3.75rem);letter-spacing:-.045em;margin-top:20px;line-height:1.12}.text-muted{color:var(--text-muted)}.work-intro-bottom{justify-content:space-between;align-items:center;gap:60px;margin-top:27px;display:flex}.work-intro-bottom>p{max-width:630px;color:var(--text-secondary);font-size:1rem;line-height:1.8}.resume-actions{flex-direction:column;flex-shrink:0;align-items:center;gap:14px;display:flex}.secondary-download{font-size:.75rem}.section-nav{border-top:1px solid var(--border-subtle);flex-wrap:wrap;gap:12px 27px;margin-top:40px;padding-block:25px;font-size:.75rem;display:flex}.section-nav>span{color:var(--text-muted);font-family:var(--font-mono);text-transform:uppercase;align-self:center;margin-right:8px;font-size:.625rem}.section-nav>a{color:var(--text-secondary);text-underline-offset:5px}.section-nav>a:hover{color:var(--accent);text-decoration:underline}.story-list{border-top:1px solid var(--border-subtle)}.work-story{border-bottom:1px solid var(--border-subtle);padding-block:39px}.work-story:last-child{border-bottom:0;padding-bottom:0}.story-heading{grid-template-columns:42px minmax(0,1fr);gap:18px;display:grid}.story-index{font-family:var(--font-mono);color:var(--text-muted);padding-top:2px;font-size:.75rem}.story-heading h3{margin-top:10px;font-size:1.75rem}.story-heading .metadata{margin-top:13px}.story-body{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:start;gap:50px;margin:25px 0 25px 60px;display:grid}.small-label{font-family:var(--font-mono);color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.625rem;font-weight:400;line-height:1.6;display:block}.story-body>div>p{color:var(--text-secondary);margin-top:9px;font-size:.9375rem;line-height:1.85}.story-outcome{border-left:2px solid var(--accent);padding:3px 0 3px 21px}.story-outcome p{color:var(--accent);letter-spacing:-.02em;margin-top:9px;font-size:1.25rem;line-height:1.5}.process-strip{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:7px;grid-template-columns:repeat(3,minmax(0,1fr));margin:0 0 24px 60px;padding:0;list-style:none;display:grid}.process-strip li{align-items:flex-start;gap:12px;padding:20px;display:flex}.process-strip li+li{border-left:1px solid var(--border-subtle)}.process-number{font-family:var(--font-mono);color:var(--accent);padding-top:2px;font-size:.5625rem}.process-strip h4{letter-spacing:-.01em;font-size:.8125rem;font-weight:600;line-height:1.5}.process-strip p{color:var(--text-muted);margin-top:4px;font-size:.75rem;line-height:1.65}.technical-details{margin-left:60px}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.technical-details>summary,.skill-details>summary{width:fit-content;color:var(--accent);align-items:center;gap:17px;padding-block:8px;font-size:.8125rem;display:flex}.disclosure-icon{font-family:var(--font-mono);color:var(--accent);flex-shrink:0;font-size:1.125rem;transition:transform .18s}details[open]>summary .disclosure-icon{transform:rotate(45deg)}.details-content{max-width:76ch;color:var(--text-secondary);padding-block:12px 8px;font-size:.875rem;line-height:1.85}.details-content p+p{margin-top:15px}.details-content ul{margin:12px 0;padding-left:20px;list-style:outside}.technology-line{color:var(--text-muted);font-size:.75rem}.career-entry{border-top:1px solid var(--border-subtle);grid-template-columns:230px minmax(0,1fr);gap:50px;padding-block:36px;display:grid}.career-entry:last-child{padding-bottom:0}.career-company{letter-spacing:-.02em;margin-bottom:9px;font-size:1.125rem;font-weight:600}.career-content h3{font-size:1.4375rem}.career-description{color:var(--text-secondary);margin:15px 0 25px;font-size:.875rem;line-height:1.85}.career-projects{border-top:1px solid var(--border-subtle);margin-top:12px}.career-project-link,.career-project>summary{color:var(--text-primary);justify-content:space-between;align-items:center;gap:25px;padding-block:18px;display:flex}.career-project-link,.career-project{border-bottom:1px solid var(--border-subtle)}.career-project-link:hover strong,.career-project>summary:hover strong{color:var(--accent)}.career-project-link strong,.career-project>summary strong{font-size:.875rem;font-weight:500;line-height:1.6;display:block}.career-projects .metadata{margin-top:5px;font-size:.6875rem}.career-project-action{color:var(--accent);white-space:nowrap;font-size:.6875rem}.career-project .details-content{padding-top:0}.expertise-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 60px;display:grid}.expertise-group{border-top:1px solid var(--border-subtle);padding-block:27px}.expertise-group h3{font-size:1.25rem}.expertise-group>p:not(.skill-list){color:var(--text-secondary);margin-top:13px;font-size:.875rem}.skill-list{color:var(--text-muted);margin-top:17px;font-size:.75rem;line-height:1.9}.skill-details{margin-top:5px}.skill-details>summary{font-size:.6875rem}.skill-details .skill-list{margin-top:6px}.expertise-group>.text-link{margin-top:16px;font-size:.75rem}.credentials-grid{grid-template-columns:1fr 1fr;gap:80px;display:grid}.credentials-heading{margin-top:12px;margin-bottom:30px;font-size:1.75rem}.education-list article+article{margin-top:28px}.education-list h3,.publication-list h3{font-size:.9375rem;font-weight:550;line-height:1.55}.education-list article>p:not(.quiet-metadata){color:var(--text-secondary);margin-top:6px;font-size:.875rem}.education-list .quiet-metadata{margin-top:4px}.education-list article>.education-note{margin-block:10px;line-height:1.8;font-size:.75rem!important}.publication-list{margin:0;padding:0;list-style:none}.publication-list li{border-top:1px solid var(--border-subtle);padding-block:16px}.publication-list li:first-child{border-top:0;padding-top:0}.publication-list .quiet-metadata{margin-top:6px;font-size:.6875rem}.writing-page,.article-page{padding-block:66px 85px}.writing-heading h1,.article-page h1{font-size:clamp(2.1875rem,calc(4vw * var(--text-scale)),3.25rem);margin-top:15px;line-height:1.15}.writing-heading>p:last-child{color:var(--text-secondary);max-width:600px;margin-top:20px}.writing-list{margin-top:42px}.writing-card{border-top:1px solid var(--border-subtle);padding:30px 0;display:block}.writing-card h2{margin-top:12px;font-size:1.5625rem}.writing-card p{max-width:650px;color:var(--text-secondary);margin-top:15px;font-size:.9375rem}.writing-card:hover h2{color:var(--accent)}.writing-card .text-link{margin-top:18px}.article-page{max-width:740px;margin-inline:auto}.article-page>header{border-bottom:1px solid var(--border-subtle);margin-bottom:22px;padding-block:28px}.article-page>header .metadata{margin-top:20px}.prose{color:var(--text-secondary);font-size:1rem;line-height:1.85}.prose p{margin-block:20px}.prose h2{color:var(--text-primary);margin-block:38px 17px;font-size:1.625rem}.prose h3{color:var(--text-primary);margin-block:30px 15px;font-size:1.3125rem}.prose h4{margin-block:25px 12px;font-size:1.125rem}.prose a{color:var(--accent);text-underline-offset:4px;text-decoration:underline}.prose ul,.prose ol{margin-block:20px;padding-left:25px}.prose ul{list-style:outside}.prose ol{list-style:decimal}.prose li{margin-block:9px;padding-left:3px}.prose strong{color:var(--text-primary)}.prose pre{border:1px solid var(--border-subtle);border-radius:6px;max-width:100%;margin-block:25px;padding:22px;font-size:.8125rem;line-height:1.8;overflow-x:auto}.prose :not(pre)>code{font-family:var(--font-mono);color:var(--accent);background:var(--accent-bg);overflow-wrap:anywhere;border-radius:3px;padding:2px 5px;font-size:.85em}.prose blockquote{border-left:2px solid var(--accent);color:var(--text-muted);margin-block:25px;padding-left:22px}.prose img{border-radius:6px;max-width:100%;display:block}.prose table{border-collapse:collapse;max-width:100%;margin-block:25px;font-size:.875rem;display:block;overflow-x:auto}.prose th,.prose td{border-bottom:1px solid var(--border-subtle);text-align:left;padding:10px 14px}.prose hr{border:0;border-top:1px solid var(--border-subtle);margin-block:32px}@media(max-width:1000px){.home-hero{gap:35px}.hero-copy h1{font-size:3.75rem}.workbench{gap:45px}.story-body{gap:30px}.process-strip li{gap:9px;padding:16px 13px}.career-entry{grid-template-columns:190px minmax(0,1fr);gap:35px}.credentials-grid{gap:45px}}@media(max-width:760px){.page-container,.header-inner,.footer-inner{width:calc(100% - 44px)}.header-inner{gap:12px;min-height:76px}.site-header nav{gap:3px}.site-header nav>a{padding-inline:10px;font-size:.8125rem}.theme-toggle{flex-shrink:0}.wordmark-name{display:none}.home-hero{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:49px 44px}.hero-copy h1{font-size:clamp(2.875rem,calc(9vw * var(--text-scale)),4.125rem);margin-top:20px}.hero-role{margin-top:24px;font-size:.9375rem}.hero-intro{font-size:1rem}.hero-note{max-width:none}.system-sketch{justify-self:center;width:100%;max-width:480px;transform:none}.sketch-drawing{max-height:205px}.sketch-caption{padding:16px 20px 0}.sketch-footnote{padding:0 20px 16px}.section-block{padding-block:42px}.section-heading{flex-direction:column;align-items:flex-start;gap:15px;margin-bottom:27px}.section-description{max-width:450px}.work-preview{grid-template-columns:25px minmax(0,1fr) 18px;gap:12px;padding:25px 2px 25px 0}.work-preview h3{font-size:1.25rem}.work-preview p{font-size:.875rem}.preview-outcome{font-size:.75rem}.preview-arrow{font-size:1.25rem}.metadata{gap:5px 12px;font-size:.6875rem}.workbench{grid-template-columns:1fr;gap:30px}.workbench h2{font-size:1.9375rem}.approach-grid{grid-template-columns:1fr;gap:27px;margin-top:25px}.approach-grid>div{border-top:1px solid var(--border-subtle);padding-top:22px}.approach-grid h3{margin-top:10px}.contact-section{grid-template-columns:1fr;gap:25px;margin-block:15px 45px;padding:28px 24px}.contact-section h2{font-size:1.6875rem}.contact-actions{gap:17px}.footer-inner{flex-wrap:wrap;gap:13px;min-height:100px;padding-block:25px}.footer-links{gap:23px}.work-intro{padding-top:44px}.work-intro h1{font-size:clamp(2.1875rem,calc(7vw * var(--text-scale)),3rem)}.work-intro-bottom{flex-direction:column;align-items:flex-start;gap:24px;margin-top:23px}.work-intro-bottom>p{font-size:.9375rem}.resume-actions{flex-flow:wrap;gap:15px 20px}.section-nav{gap:13px 21px;margin-top:28px}.section-nav>span{width:100%}.story-heading{grid-template-columns:26px minmax(0,1fr);gap:12px}.story-heading h3{font-size:1.5625rem}.work-story{padding-block:30px}.story-body{grid-template-columns:1fr;gap:22px;margin:23px 0}.story-body>div>p{font-size:.875rem;line-height:1.85}.story-outcome{padding-left:17px}.story-outcome p{font-size:1.1875rem}.process-strip{grid-template-columns:1fr;margin-left:0}.process-strip li{padding:14px 18px}.process-strip li+li{border-left:0;border-top:1px solid var(--border-subtle)}.technical-details{margin-left:0}.career-entry{grid-template-columns:1fr;gap:21px;padding-block:29px}.career-meta .quiet-metadata{display:inline}.career-meta .quiet-metadata+.quiet-metadata:before{content:" · "}.career-company{margin-bottom:4px}.career-content h3{font-size:1.3125rem}.career-project-link{gap:17px}.career-project-action{font-size:0}.career-project-action>span{font-size:1.1875rem}.expertise-grid,.credentials-grid{grid-template-columns:1fr;gap:0}.credentials-grid{gap:38px}.credentials-heading{margin-bottom:23px}.writing-page,.article-page{padding-block:44px 55px}.writing-card h2{font-size:1.4375rem}.prose{font-size:.9375rem}}@media(max-width:600px){.header-inner{grid-template-columns:1fr auto;gap:8px 12px;min-height:120px;padding-block:12px}.display-controls{grid-area:1/2}.site-header nav{grid-area:2/1/auto/-1;justify-self:stretch}.site-header nav>a{text-align:center;flex:1;padding-block:7px}.home-hero .system-sketch{display:none}}@media(max-width:380px){.site-header nav{gap:0}.site-header nav>a{padding-inline:9px;font-size:.75rem}.home-hero .eyebrow{font-size:.625rem}.hero-copy h1{font-size:2.75rem}.hero-role{font-size:.875rem}.action-row{gap:20px}.button{gap:16px;padding-inline:16px;font-size:.8125rem}.text-link{gap:8px;font-size:.8125rem}.footer-location{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}:root{--field-rgb: 35, 114, 142;--glass-panel: rgb(255 255 255 / 60%);--reading-glass: rgb(255 255 255 / 40%);--glass-header: rgb(247 251 253 / 68%);--glass-tint: rgb(233 246 249 / 45%);--glass-edge: rgb(150 185 200 / 34%);--glass-shine: rgb(255 255 255 / 88%);--wash-a: rgb(107 194 210 / 24%);--wash-b: rgb(142 167 211 / 20%);--header-height: 90px}:root.dark{--field-rgb: 111, 201, 222;--glass-panel: rgb(15 23 42 / 40%);--reading-glass: rgb(15 23 42 / 24%);--glass-header: rgb(12 25 36 / 58%);--glass-tint: rgb(19 42 55 / 40%);--glass-edge: rgb(112 173 196 / 20%);--glass-shine: rgb(154 218 236 / 16%);--wash-a: rgb(40 144 171 / 22%);--wash-b: rgb(73 101 173 / 20%)}body{position:relative;isolation:isolate}.ambient-scene{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background-image:radial-gradient(circle at 17.5px 17.5px,rgba(var(--field-rgb),.3) 1.1px,transparent 1.6px);background-size:50px 50px}.ambient-scene.canvas-ready{background-image:none}.ambient-wash{position:absolute;inset:0;background:radial-gradient(ellipse at 0% 25%,var(--wash-a),transparent 55%),radial-gradient(ellipse at 100% 75%,var(--wash-b),transparent 55%)}.ambient-grid{position:absolute;inset:0;width:100%;height:100%}.glass-backplane{position:fixed;z-index:1;top:0;bottom:0;left:50%;transform:translate(-50%);width:min(1248px,calc(100% - 32px));pointer-events:none;background:var(--bg-body);border-inline:1px solid var(--glass-edge);box-shadow:inset 1px 0 0 var(--glass-shine),inset -1px 0 0 var(--glass-shine),0 0 70px #07233014}.lattice-anchors{position:fixed;inset:0;z-index:1;pointer-events:none;background-image:radial-gradient(circle at var(--anchor-origin, 17.5px) var(--anchor-origin, 17.5px),rgba(var(--field-rgb),.1) .6px,transparent .85px);background-size:var(--anchor-pitch, 50px) var(--anchor-pitch, 50px)}body[data-visual-style=field] .lattice-anchors{display:none}.page-container,.site-footer{position:relative;z-index:2}.site-header{position:sticky;z-index:20;top:0;background:var(--bg-body);border-color:var(--glass-edge)}.site-footer{border-color:var(--glass-edge)}.reading-progress{position:fixed;inset:0 0 auto;height:2px;z-index:40;pointer-events:none}.reading-progress>span{display:block;height:100%;background:var(--accent);opacity:.65;transform:scaleX(0);transform-origin:left}html{scroll-padding-top:calc(var(--header-height) + 28px)}.section-nav{z-index:6;background:var(--bg-body);border-bottom:1px solid var(--border-subtle)}.section-nav>a{position:relative}.section-nav>a[aria-current=location]{color:var(--accent)}.section-nav>a[aria-current=location]:after{content:"";position:absolute;left:0;right:0;bottom:-9px;height:2px;background:var(--accent);opacity:.7}.story-index{position:relative;transition:color .25s}.story-index:before{content:"";position:absolute;left:-12px;top:2px;width:2px;height:19px;background:var(--accent);opacity:0;transition:opacity .25s}.work-story[data-reading-active] .story-index{color:var(--accent)}.work-story[data-reading-active] .story-index:before{opacity:.75}.system-sketch{border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-shine),0 16px 48px #0723300d}#sketch-grid circle{opacity:.08}.contact-section{border-color:var(--glass-edge);box-shadow:inset 0 1px 0 var(--glass-shine),0 12px 40px #07233008}.motion-toggle{position:fixed;z-index:30;right:18px;bottom:18px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:8px 13px;background:var(--bg-panel);color:var(--text-secondary);border:1px solid var(--glass-edge);border-radius:20px;font-size:.6875rem;line-height:1.4;box-shadow:0 3px 15px #0723300d}.motion-toggle:hover{color:var(--accent);border-color:var(--accent)}.motion-play,.motion-toggle[aria-pressed=false] .motion-pause{display:none}.motion-toggle[aria-pressed=false] .motion-play{display:block}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-backplane{background:var(--reading-glass);backdrop-filter:blur(5px) saturate(1.15);-webkit-backdrop-filter:blur(5px) saturate(1.15)}.site-header,.section-nav{background:var(--glass-header);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.system-sketch,.contact-section{background:linear-gradient(145deg,var(--glass-panel),var(--glass-tint));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.motion-toggle{background:var(--glass-header);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}body[data-visual-style=field]{--field-rgb: 61, 139, 154;--glass-panel: rgb(252 252 248 / 72%);--reading-glass: var(--glass-panel);--glass-tint: rgb(234 245 241 / 66%);--wash-a: rgb(122 190 179 / 20%);--wash-b: rgb(174 176 211 / 13%)}.dark body[data-visual-style=field]{--field-rgb: 118, 203, 207;--glass-panel: rgb(15 28 37 / 72%);--reading-glass: var(--glass-panel);--glass-tint: rgb(24 46 51 / 66%);--wash-a: rgb(50 151 153 / 19%);--wash-b: rgb(104 102 163 / 15%)}@media(min-width:761px){body[data-visual-style=field] .glass-backplane{backdrop-filter:blur(17px) saturate(1.06);-webkit-backdrop-filter:blur(17px) saturate(1.06)}}@media(min-width:1000px){.section-nav{position:sticky;top:var(--header-height)}html:has(.section-nav){scroll-padding-top:calc(var(--header-height) + 100px)}}@media(max-width:760px){:root{--header-height: 76px}.glass-backplane{width:calc(100% - 12px)}.lattice-anchors{opacity:.55}.story-index:before{left:-8px}.motion-toggle{bottom:12px;right:12px;min-height:42px}@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.glass-backplane{background:color-mix(in srgb,var(--glass-panel) 50%,var(--bg-body));backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px)}}}@media(max-width:1399px){html[data-background-motion=active] .site-footer,html[data-background-motion=paused] .site-footer{padding-bottom:54px}}@media(max-width:600px){:root{--header-height: 120px}}@media(max-width:1100px){.motion-toggle{width:42px;height:42px;padding:0}.motion-toggle>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}@media(prefers-reduced-motion:reduce){.story-index,.story-index:before{transition:none}}@media print{.ambient-scene,.glass-backplane,.lattice-anchors,.motion-toggle,.reading-progress{display:none}.site-header,.section-nav{position:static}}
