/*! tailwindcss v4.3.3 | 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-border-style:solid;--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}}}@layer theme{:root,:host{--color-canvas:#0b0d0c;--color-surface:#111512;--color-surface-raised:#171c18;--color-text-primary:#f2f0e8;--color-text-secondary:#b6b8af;--color-text-muted:#92988f;--color-accent:#a8d895;--color-accent-strong:#c3eeb2;--color-on-accent:#10140f;--color-border:#2a302b;--color-border-strong:#3a443b;--color-diagram-grid:#3a443b66;--color-diagram-group:#1115129e;--color-diagram-edge:#5d685e;--color-accent-tint:#a8d8951f;--color-accent-tint-strong:#a8d89533;--font-sans:"Geist Sans", Inter, ui-sans-serif, system-ui, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Consolas, monospace;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--text-xs:.75rem;--text-sm:clamp(.8125rem, .79rem + .12vw, .875rem);--text-body:clamp(1rem, .96rem + .2vw, 1.125rem);--text-lead:clamp(1.125rem, 1.04rem + .38vw, 1.375rem);--text-title-sm:clamp(1.5rem, 1.3rem + .8vw, 2rem);--text-title:clamp(2rem, 1.55rem + 1.8vw, 3.5rem);--text-section:clamp(2.5rem, 1.75rem + 3vw, 5rem);--text-display:clamp(3rem, 1.7rem + 5.4vw, 5.5rem);--text-metric:clamp(3.5rem, 1.8rem + 7vw, 9rem);--text-contact-email:clamp(1.25rem, .9rem + 1.1vw, 1.75rem);--spacing:.25rem;--radius-none:0;--radius-sm:.125rem;--radius-md:.375rem;--radius-pill:999px;--breakpoint-sm:40rem;--breakpoint-md:48rem;--breakpoint-lg:64rem;--breakpoint-xl:80rem;--breakpoint-2xl:100rem}}@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;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent;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;line-height:1.5}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-feature-settings:normal;font-variation-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.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}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=100rem){.container{max-width:100rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.shrink{flex-shrink: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{border-style:var(--tw-border-style);border-width:1px}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{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,)}.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,ease);transition-duration:var(--tw-duration,0s)}}@font-face{font-family:Geist Sans;src:url(/fonts/geist-sans-variable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono-variable.woff2)format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f6f5ef;--color-surface:#eeede6;--color-surface-raised:#e5e4dc;--color-text-primary:#151916;--color-text-secondary:#434a44;--color-text-muted:#5a615b;--color-accent:#3b6b2e;--color-accent-strong:#2c5321;--color-on-accent:#f6f5ef;--color-border:#d9d8ce;--color-border-strong:#b9bab0;--color-diagram-grid:#b9bab073;--color-diagram-group:#eeede6b3;--color-diagram-edge:#7f867f;--color-accent-tint:#3b6b2e1a;--color-accent-tint-strong:#3b6b2e2b}@media (prefers-color-scheme:light){:root:not([data-theme]){--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:#f6f5ef;--color-surface:#eeede6;--color-surface-raised:#e5e4dc;--color-text-primary:#151916;--color-text-secondary:#434a44;--color-text-muted:#5a615b;--color-accent:#3b6b2e;--color-accent-strong:#2c5321;--color-on-accent:#f6f5ef;--color-border:#d9d8ce;--color-border-strong:#b9bab0;--color-diagram-grid:#b9bab073;--color-diagram-group:#eeede6b3;--color-diagram-edge:#7f867f;--color-accent-tint:#3b6b2e1a;--color-accent-tint-strong:#3b6b2e2b}}:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--space-0:0;--space-0-5:.125rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;--space-40:10rem;--page-gutter:var(--space-5);--section-space:clamp(3.5rem, 6vw, 6rem);--section-space-compact:clamp(2.5rem, 4vw, 4rem);--content-gap:clamp(1.5rem, 3vw, 3rem);--header-height:4.5rem;--header-fade-stop:55%;--header-compact-threshold:64px;--hero-min-height:42.5rem;--tap-target-min:3rem;--leading-display:.92;--leading-heading:1.02;--leading-title:1.12;--leading-lead:1.45;--leading-body:1.65;--leading-label:1.3;--tracking-display:-.045em;--tracking-heading:-.03em;--tracking-body:-.01em;--tracking-mono:.04em;--tracking-label:.12em;--container-max:87.5rem;--container-reading:45rem;--measure-body:68ch;--measure-lead:48ch;--measure-display:14ch;--measure-project-detail:72ch;--project-index-width:13.75rem;--project-metric-min-width:16rem;--aspect-project-media:4 / 3;--aspect-diagram:2 / 1;--aspect-diagram-narrow:4 / 3;--diagram-grid-size:var(--space-6);--diagram-mobile-row-height:9.5rem;--diagram-mobile-row-height-spacious:11.5rem;--diagram-node-min-height:var(--space-16);--diagram-node-min-width:9.5rem;--diagram-desktop-row-min-height:9rem;--diagram-teaser-stage-height:34rem;--diagram-desktop-column-gap:var(--space-6);--diagram-status-size:var(--space-2);--principle-number-width:var(--space-8);--request-path-gap:var(--space-6);--request-path-arrow:var(--space-2);--timeline-rail-width:var(--space-6);--timeline-meta-width:13rem;--timeline-stage-space:var(--space-8);--timeline-node-size:var(--space-3);--timeline-node-center:calc(var(--timeline-stage-space) + var(--space-2));--timeline-arrow-size:var(--space-2);--timeline-arrow-offset:var(--space-3);--border-width-thin:.0625rem;--border-thin:var(--border-width-thin) solid var(--color-border);--border-strong:var(--border-width-thin) solid var(--color-border-strong);--focus-outline-width:.125rem;--focus-outline-offset:.1875rem;--duration-none:0s;--duration-instant:.12s;--duration-fast:.18s;--duration-base:.24s;--duration-reveal:.42s;--duration-flow:2.4s;--duration-flow-pause:1.6s;--duration-stagger:60ms;--duration-motion-fallback:2s;--duration-spring:.48s;--duration-feedback:2s;--ease-standard:cubic-bezier(.22, 1, .36, 1);--ease-enter:cubic-bezier(.16, 1, .3, 1);--ease-linear:linear;--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--motion-reveal-distance:var(--space-4);--motion-menu-distance:var(--space-3);--motion-arrow-distance:var(--space-1);--motion-header-scale:.96;--motion-press-scale:.94;--nav-indicator-base-width:5rem;--motion-rule-scale:.85;--opacity-reveal-hidden:0;--opacity-rule-start:.35;--opacity-flow-peak:.65;--opacity-disabled:.7;--diagram-flow-marker-size:var(--space-2);--z-base:0;--z-diagram-connectors:2;--z-diagram-labels:5;--z-raised:10;--z-sticky:30;--z-overlay:40;--z-modal:50;--z-skip-link:60;--page-grid-columns:4;--grid-gap:var(--space-3);--desktop-navigation-display:none;--desktop-resume-display:none;--mobile-navigation-display:flex;--mobile-toggle-display:inline-flex;--token-list-columns:1}@media (width<=22.4375rem){:root{--page-gutter:var(--space-4)}}@media (width>=40rem){:root{--page-gutter:var(--space-6);--page-grid-columns:6;--grid-gap:var(--space-4);--token-list-columns:2}}@media (width>=48rem){:root{--page-gutter:var(--space-8);--page-grid-columns:8;--grid-gap:var(--space-5)}}@media (width<=47.99rem){:root{--text-lead:1.0625rem;--text-title-sm:1.375rem;--text-section:2rem}}@media (width>=64rem){:root{--page-gutter:var(--space-10);--page-grid-columns:12;--grid-gap:var(--space-6);--desktop-navigation-display:block;--desktop-resume-display:inline-flex;--mobile-navigation-display:none;--mobile-toggle-display:none;--aspect-project-media:16 / 7}}@media (width>=80rem){:root{--page-gutter:3.5rem}}@media (width>=100rem){:root{--page-gutter:4.5rem;--grid-gap:1.75rem}}.hero{border-block-end:var(--border-thin)}.hero__grid{min-height:max(var(--hero-min-height), calc(100svh - var(--header-height)));padding-block:var(--section-space-compact);align-content:start;row-gap:var(--space-8)}.hero__eyebrow{order:1;grid-column:1/-1}.hero__title{max-width:var(--measure-display);margin:var(--space-0);font-size:var(--text-title);font-weight:var(--font-weight-semibold);letter-spacing:var(--tracking-display);line-height:var(--leading-display);overflow-wrap:anywhere;order:2;grid-column:1/-1}.hero__title>span{display:block}.hero__title-accent{color:var(--color-accent)}.hero__now{gap:var(--space-1);border-inline-start:var(--border-width-thin) solid var(--color-accent);order:3;grid-column:1/-1;padding-inline-start:var(--space-4);display:grid}.hero__now p{margin:var(--space-0);color:var(--color-text-primary)}.hero__now .hero__now-availability{color:var(--color-text-secondary)}.hero__now-label{align-items:center;gap:var(--space-2);color:var(--color-accent-strong);display:inline-flex}.hero__now-dot{width:var(--space-2);height:var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent)}.hero__proof{gap:var(--space-1);padding:var(--space-0);margin:var(--space-0);order:4;grid-column:1/-1;list-style:none;display:grid}.hero__proof .text-link{min-height:var(--space-8);color:var(--color-text-secondary)}.hero__proof .text-link__label{align-items:baseline;gap:var(--space-0) var(--space-3);flex-wrap:wrap;display:inline-flex}.hero__proof-project{color:var(--color-text-primary);font-weight:var(--font-weight-medium)}.hero__proof-result{white-space:nowrap;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono)}.hero__proof .text-link__arrow{margin-inline-start:var(--space-2)}.hero__support{gap:var(--space-6);order:5;grid-column:1/-1;display:grid}.hero__support>p{max-width:var(--measure-lead);margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-lead);line-height:var(--leading-lead)}.hero__actions{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.text-link.hero__primary-action{justify-content:center}.project-title .text-link__label:before,.project-title .text-link__label:after,.contact__links .text-link__label:before{display:none}.hero__secondary-action{width:fit-content}.hero__socials{gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.hero__socials .text-link{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}.hero__disciplines{gap:var(--space-1) var(--space-3);padding:var(--space-6) var(--space-0) var(--space-0);margin:var(--space-0);border-block-start:var(--border-thin);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-mono);line-height:var(--leading-label);text-transform:uppercase;flex-wrap:wrap;order:6;grid-column:1/-1;list-style:none;display:flex}.hero__disciplines li+li:before{content:"·";margin-inline-end:var(--space-3)}.section h2{margin:var(--space-0);font-size:var(--text-section);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading);overflow-wrap:anywhere}.selected-work h2,.profile h2,.principles h2,.capabilities h2,.experience h2,.education h2,.contact h2{grid-column:1/-1}.selected-work__introduction{max-width:var(--measure-lead);margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-lead);line-height:var(--leading-lead);grid-column:2/-1}.selected-work__projects{gap:var(--section-space);grid-column:1/-1;margin-block-start:var(--space-8);display:grid}.project-case{grid-template-columns:repeat(var(--page-grid-columns), minmax(0, 1fr));gap:var(--space-8) var(--grid-gap);border-block-start:var(--border-strong);padding-block-start:var(--section-space-compact);display:grid}.project-case>*{min-width:var(--space-0)}.project-case__meta,.project-case__intro,.project-case__steps,.project-case__heading,.project-case__hero-metric,.project-case__media,.project-case__details,.project-case__technical,.project-case__narrative,.project-case__metric-band,.project-case__secondary-evidence{grid-column:1/-1}.project-case__intro,.project-case__heading,.project-case__narrative,.project-case__details,.project-case__technical,.project-case__secondary-evidence{align-content:start;gap:var(--space-6);display:grid}.project-meta{gap:var(--space-2);color:var(--color-text-muted);flex-wrap:nowrap;align-items:baseline;display:flex}.project-title{margin:var(--space-0);font-size:var(--text-title);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading);overflow-wrap:anywhere}.project-title .text-link{min-height:auto;text-decoration:none;display:inline}.project-title__subtitle{color:var(--color-text-secondary);font-size:var(--text-title-sm);letter-spacing:var(--tracking-body);line-height:var(--leading-title);margin-block-start:var(--space-2);display:block}.project-case__summary{max-width:var(--measure-lead);margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-lead);line-height:var(--leading-lead)}.metric-display{align-content:start;gap:var(--space-3);font-variant-numeric:tabular-nums;display:grid}.metric-display__value,.metric-display__comparison,.metric-display__context{margin:var(--space-0)}.metric-display__value{gap:var(--space-2);color:var(--color-accent);font-size:var(--text-title);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-heading);line-height:var(--leading-heading);flex-wrap:wrap;align-items:baseline;display:flex}.metric-display--hero .metric-display__value{font-size:var(--text-metric);line-height:var(--leading-display)}.metric-display__transition{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-title-sm);font-weight:var(--font-weight-normal)}.metric-display__comparison{gap:var(--space-2);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-title-sm);line-height:var(--leading-title);flex-wrap:wrap;display:flex}.metric-display__context{max-width:var(--measure-body);color:var(--color-text-secondary)}.project-media{margin:var(--space-0);border:var(--border-thin);border-radius:var(--radius-sm);background:var(--color-surface);overflow:hidden}.project-media--placeholder{min-height:var(--space-40);aspect-ratio:var(--aspect-project-media);align-content:space-between;gap:var(--space-8);padding:var(--content-gap);display:grid}.project-media__placeholder-heading{gap:var(--space-3);display:grid}.project-media__placeholder-heading p,.project-media figcaption{margin:var(--space-0)}.project-media__placeholder-heading p{max-width:var(--measure-lead);font-size:var(--text-title-sm);line-height:var(--leading-title)}.project-media figcaption{max-width:var(--measure-body);color:var(--color-text-secondary)}.project-media--image img{width:100%;height:auto;display:block}.project-highlights,.stack-list{gap:var(--space-4);display:grid}.project-highlights ul,.stack-list ul,.project-links{padding:var(--space-0);margin:var(--space-0);list-style:none}.project-highlights ul{gap:var(--space-3);color:var(--color-text-secondary);display:grid}.project-highlights li{border-block-start:var(--border-thin);padding-block-start:var(--space-3)}.stack-list ul{gap:var(--space-2);flex-wrap:wrap;display:flex}.stack-list li{padding:var(--space-0-5) var(--space-2);border:var(--border-thin);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-label)}.project-links{align-items:center;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.project-meta>*{min-width:var(--space-0)}.project-meta>:first-child,.project-meta>[aria-hidden=true]{flex-shrink:0}.project-meta .numeral{color:var(--color-accent);font-size:var(--text-lead);line-height:var(--leading-title)}.project-case__narrative-line{max-width:var(--measure-body);margin:var(--space-0);border-inline-start:var(--border-width-thin) solid var(--color-accent);color:var(--color-text-primary);padding-inline-start:var(--space-4)}.project-case__metric-band>.metric-display__context{grid-column:1/-1}@media (width<=79.99rem){.project-case--primary .project-case__media{display:none}}@media (width>=80rem){.project-case__steps{display:none}.project-case .architecture-diagram__stage{height:var(--diagram-teaser-stage-height);aspect-ratio:auto}}.project-links .text-link{font-family:var(--font-mono);font-size:var(--text-sm)}.project-case__metric-band{gap:var(--space-8);border-block-start:var(--border-thin);padding-block-start:var(--space-8);display:grid}.project-case--supporting{gap:var(--space-6) var(--grid-gap);padding-block-end:var(--space-8)}.project-case--supporting>*{grid-column:1/-1}.project-case__supporting-title{gap:var(--space-6);display:grid}.project-case--supporting .project-case__summary{font-size:var(--text-body)}.profile h2{max-width:var(--measure-lead);font-size:var(--text-title);line-height:var(--leading-title)}.profile__accent{color:var(--color-accent)}.profile__path{gap:var(--space-4);grid-column:1/-1;display:grid}.profile__path .mono-label{color:var(--color-text-muted)}.request-path{padding:var(--space-0);margin:var(--space-0);flex-direction:column;align-items:flex-start;list-style:none;display:flex}.request-path li{padding:var(--space-2) var(--space-3);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-label);position:relative}.request-path__terminal{color:var(--color-accent-strong);letter-spacing:var(--tracking-label);text-transform:uppercase}.request-path li.request-path__terminal{border-color:var(--color-accent)}.request-path li+li{margin-block-start:var(--request-path-gap)}.request-path li+li:before,.request-path li+li:after{content:"";position:absolute;inset-inline-start:var(--space-6)}.request-path li+li:before{height:var(--request-path-gap);border-inline-start:var(--border-width-thin) solid var(--color-diagram-edge);inset-block-start:calc(-1 * var(--request-path-gap))}.request-path li+li:after{width:var(--request-path-arrow);height:var(--request-path-arrow);border-block-end:var(--border-width-thin) solid var(--color-diagram-edge);border-inline-end:var(--border-width-thin) solid var(--color-diagram-edge);inset-block-start:calc(-1 * var(--request-path-arrow));transform:translate(-50%,-25%)rotate(45deg)}.profile__closing{max-width:var(--measure-body);margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-lead);line-height:var(--leading-lead);grid-column:1/-1}.principles__list{padding:var(--space-0);margin:var(--space-0);grid-column:1/-1;list-style:none;display:grid}.principle{grid-template-columns:var(--principle-number-width) minmax(0, 1fr);gap:var(--space-3);padding-block:var(--space-6);border-block-start:var(--border-thin);align-items:baseline;display:grid}.principle:first-child{border-block-start:var(--border-strong)}.principle__number{color:var(--color-accent);font-family:var(--font-mono);font-size:var(--text-lead);line-height:var(--leading-title)}.principle__body{gap:var(--space-3);display:grid}.principle__statement{margin:var(--space-0);font-size:var(--text-title-sm);letter-spacing:var(--tracking-heading);line-height:var(--leading-title)}.principle__evidence{margin:var(--space-0);color:var(--color-text-secondary)}.principle__evidence .mono-label{color:var(--color-text-muted);margin-inline-end:var(--space-2)}.text-link.principle__project{width:fit-content;min-height:var(--space-6);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-label)}.capabilities h2{font-size:var(--text-title);line-height:var(--leading-title)}.capabilities__list{margin:var(--space-0);grid-column:1/-1;display:grid}.capabilities__row{gap:var(--space-2);padding-block:var(--space-6);border-block-start:var(--border-thin);display:grid}.capabilities__row:first-child{border-block-start:var(--border-strong)}.capabilities__row dt,.capabilities__row dd{margin:var(--space-0)}.capabilities__row dt{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-label);line-height:var(--leading-label);text-transform:uppercase;white-space:nowrap}.capabilities__row dd{gap:var(--space-3);display:grid}.capabilities__introduction{max-width:var(--measure-body);margin:var(--space-0);color:var(--color-text-secondary);grid-column:1/-1}.capabilities__skills{gap:var(--space-2);padding:var(--space-0);margin:var(--space-0);flex-wrap:wrap;list-style:none;display:flex}.capabilities__skills li{padding:var(--space-1) var(--space-3);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-label)}.capabilities__evidence{align-items:baseline;gap:var(--space-1) var(--space-2);margin:var(--space-0);color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.capabilities__evidence-label{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.capabilities__evidence .text-link{min-height:var(--space-6);color:var(--color-text-secondary)}.capabilities__separator{color:var(--color-text-muted);margin-inline-end:var(--space-2)}.contact h2{font-size:var(--text-section)}.contact__intro,.contact__details,.contact__email,.contact__links{grid-column:1/-1;align-self:start}.contact__intro{gap:var(--space-4);display:grid}.contact__intro>p{max-width:var(--measure-body);margin:var(--space-0);color:var(--color-text-secondary)}.contact__disciplines{align-items:center;gap:var(--space-2);padding:var(--space-0);margin:var(--space-0);flex-wrap:wrap;list-style:none;display:flex}.contact__disciplines li{border-inline-end:var(--border-thin);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-label);align-self:start;padding-inline-end:var(--space-3)}.contact__disciplines li:last-child{border-inline-end:none;padding-inline-end:var(--space-0)}.contact__details{margin:var(--space-0);display:grid}.contact__details>div{gap:var(--space-1);padding-block:var(--space-3);border-block-start:var(--border-thin);display:grid}.contact__details dt{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);line-height:var(--leading-label);text-transform:uppercase}.contact__details dd{margin:var(--space-0);color:var(--color-text-primary)}.contact__email{gap:var(--space-2);display:grid}.contact__email-row{align-items:center;gap:var(--space-2) var(--space-4);flex-wrap:wrap;display:flex}.contact__email .text-link{color:var(--color-accent);font-size:var(--text-contact-email);letter-spacing:var(--tracking-heading);line-height:var(--leading-title);overflow-wrap:anywhere}.contact__email .text-link__arrow{color:var(--color-text-muted);font-size:var(--text-body);margin-inline-start:var(--space-2)}.copy-button{min-height:var(--tap-target-min);padding-inline:var(--space-3);border:var(--border-thin);border-radius:var(--radius-sm);color:var(--color-text-secondary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase;background:0 0;align-items:center;display:inline-flex}.copy-button[data-state=copied],.copy-button[data-state=copied]:hover{border-color:var(--color-accent);color:var(--color-accent-strong)}.copy-button:focus-visible{border-color:var(--color-accent)}@media (hover:hover){.copy-button:hover{border-color:var(--color-border-strong);color:var(--color-text-primary)}}.contact__links{padding:var(--space-0);margin:var(--space-0);list-style:none;display:grid}.contact__links li{border-block-start:var(--border-thin)}.contact__links li:last-child{border-block-end:var(--border-thin)}.contact__links .text-link{width:100%;text-decoration:none}.contact__links .text-link__label{justify-content:space-between;align-items:baseline;gap:var(--space-1) var(--space-4);flex-wrap:wrap;width:100%;display:flex}.contact__links .text-link__label:after{display:none}.contact__link-handle{align-items:baseline;gap:var(--space-2);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);overflow-wrap:anywhere;display:inline-flex}.contact__alternative{margin:var(--space-0);color:var(--color-text-muted);font-size:var(--text-sm)}.contact__email .contact__alternative .text-link{min-height:var(--space-6);color:var(--color-text-secondary);font-size:var(--text-sm);letter-spacing:var(--tracking-body)}.contact__form{gap:var(--space-5);grid-column:1/-1;padding-block-start:var(--space-4);display:grid}.contact__form>.mono-label{color:var(--color-text-muted)}.contact__form-trap{display:none}.contact__form-row{gap:var(--space-5);display:grid}.contact__field{gap:var(--space-2);display:grid}.contact__field>span{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:var(--tracking-label);line-height:var(--leading-label);text-transform:uppercase}.contact__field input,.contact__field textarea{width:100%;min-height:var(--tap-target-min);padding:var(--space-3);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);color:var(--color-text-primary);font:inherit}.contact__field textarea{resize:vertical}.contact__field input:focus-visible,.contact__field textarea:focus-visible{border-color:var(--color-accent);outline:var(--border-width-thin) solid var(--color-accent);outline-offset:var(--space-0)}.contact__form-actions{align-items:center;gap:var(--space-3) var(--space-5);flex-wrap:wrap;display:flex}.contact__submit{min-height:var(--tap-target-min);padding-inline:var(--space-5);border:var(--border-width-thin) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent-tint);color:var(--color-accent-strong);cursor:pointer;font:inherit;font-weight:var(--font-weight-semibold)}.contact__submit:disabled{cursor:progress;opacity:var(--opacity-disabled)}.contact__form-status{margin:var(--space-0);color:var(--color-text-secondary)}.contact__form-status[data-status=sent]{color:var(--color-accent-strong)}@media (hover:hover){.contact__submit:hover:not(:disabled){background:var(--color-accent-tint-strong)}}@media (width>=48rem){.contact__form{border-block-start:var(--border-strong);grid-area:5/1/auto/9;padding-block-start:var(--space-6)}.contact__form-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=64rem){.contact__form{grid-column:3/13}}@media (hover:hover){.contact__links .text-link:hover .contact__link-handle{color:var(--color-accent-strong)}}.contact__links .text-link:focus-visible .contact__link-handle{color:var(--color-accent-strong)}@media (width>=48rem){.selected-work h2{grid-column:1/6}.selected-work__introduction{grid-column:6/9}.project-case__metric-band{grid-template-columns:repeat(2,minmax(0,1fr))}.profile h2{grid-column:1/7}.profile__closing{grid-column:1/8}.principles h2{grid-column:1/7}.principles__list{grid-column:1/9}.capabilities h2,.capabilities__introduction{grid-column:1/7}.contact .section__marker{grid-row:1}.contact h2{grid-area:2/1/auto/8}.contact__intro,.contact__details{grid-column:1/5}.contact__email,.contact__links{grid-column:5/9}.contact__intro,.contact__email{grid-row:3}.contact__details,.contact__links{grid-row:4}}@media (width>=64rem){.section__marker{grid-area:1/1/auto/3}.hero__grid{align-content:space-between;row-gap:var(--space-8)}.hero__eyebrow{white-space:nowrap;grid-area:1/1/auto/7}.hero__title{font-size:var(--text-display);display:contents}.hero__title>span:first-child{grid-area:2/1/auto/12}.hero__title>span:last-child{grid-area:3/1/auto/8}.hero__support{grid-area:3/8/auto/13;align-self:end}.hero__now{grid-area:1/8/3/13;align-self:end}.hero__proof{grid-area:4/1/auto/8}.hero__disciplines{grid-area:5/1/auto/13;align-self:end}.selected-work h2{grid-area:1/3/auto/9}.selected-work__introduction{grid-area:1/9/auto/13}.selected-work__projects{grid-row:2}.project-case--primary{grid-template-rows:auto auto auto auto 1fr}.project-case--primary .project-case__intro{grid-area:1/1/auto/8}.project-case--primary .project-case__metric-band{border-block-start:none;grid-area:1/9/3/13;grid-template-columns:minmax(0,1fr);align-self:start;padding-block-start:var(--space-0)}.project-case--primary .project-case__media,.project-case--primary .project-case__steps{grid-area:2/1/6/9;align-self:start}.project-case--primary .project-case__details{grid-area:3/9/auto/13}.project-case--primary .project-case__technical{grid-area:4/9/auto/13}.project-case--reverse .project-case__intro{grid-column:6/13}.project-case--reverse .project-case__metric-band{grid-column:1/5}.project-case--reverse .project-case__media,.project-case--reverse .project-case__steps{grid-column:5/13}.project-case--reverse .project-case__details,.project-case--reverse .project-case__technical{grid-column:1/5}.project-case--secondary .project-case__heading{grid-column:2/8}.project-case--secondary .project-case__secondary-evidence{grid-column:8/13}.project-case--supporting .project-meta{grid-column:1/3}.project-case--supporting .project-case__supporting-title{grid-column:3/7}.project-case--supporting .project-case__summary{grid-column:7/11}.project-case--supporting .project-links{grid-column:11/13}.profile h2{grid-area:1/3/auto/10}.profile__path{grid-area:1/10/4/13;align-self:start}.profile__closing{grid-area:2/3/auto/10}.principles h2{grid-area:1/3/auto/8}.principles__list{column-gap:var(--space-12);grid-area:2/3/auto/13;grid-template-columns:repeat(2,minmax(0,1fr))}.principle:nth-child(2){border-block-start:var(--border-strong)}.capabilities h2{grid-area:1/3/auto/7}.capabilities__introduction{grid-area:2/3/auto/7;align-self:start}.capabilities__list{grid-area:1/7/4/13}.contact .section__marker{grid-row:1}.contact h2{grid-area:2/1/auto/11}.contact__intro,.contact__details{grid-column:3/8}.contact__email,.contact__links{grid-column:8/13}}@media (width>=64rem) and (width<=79.99rem){.contact__intro,.contact__details{grid-column:3/7}.contact__email,.contact__links{grid-column:7/13}}.experience h2,.education h2{max-width:var(--measure-lead);font-size:var(--text-title);line-height:var(--leading-title)}.timeline{padding:var(--space-0);margin:var(--space-0);grid-column:1/-1;list-style:none;display:grid}.timeline__stage{grid-template-columns:var(--timeline-rail-width) minmax(0, 1fr);column-gap:var(--space-3);display:grid}.timeline__meta{align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;grid-area:1/2;padding-block-start:var(--timeline-stage-space);display:flex}.timeline__rail{grid-area:1/1/span 2;position:relative}.timeline__body{align-content:start;gap:var(--space-3);padding-block:var(--space-3) var(--timeline-stage-space);border-block-end:var(--border-thin);grid-area:2/2;display:grid}.timeline__stage:last-child .timeline__body{border-block-end:none}.timeline__rail:before{inset-block:var(--space-0);width:var(--border-width-thin);background:var(--color-diagram-edge);content:"";position:absolute;inset-inline-start:50%;transform:translate(-50%)}.timeline__stage:first-child .timeline__rail:before{inset-block-start:var(--timeline-node-center)}.timeline__stage:last-child .timeline__rail:before{height:var(--timeline-node-center);inset-block-end:auto}.timeline__stage+.timeline__stage .timeline__rail:after{width:var(--timeline-arrow-size);height:var(--timeline-arrow-size);border-block-start:var(--border-width-thin) solid var(--color-diagram-edge);border-inline-start:var(--border-width-thin) solid var(--color-diagram-edge);content:"";position:absolute;inset-block-start:var(--timeline-arrow-offset);inset-inline-start:50%;transform:translate(-50%)rotate(45deg)}.timeline__node{z-index:var(--z-raised);width:var(--timeline-node-size);height:var(--timeline-node-size);border:var(--border-width-thin) solid var(--color-diagram-edge);border-radius:var(--radius-pill);background:var(--color-canvas);position:absolute;inset-block-start:calc(var(--timeline-node-center) - var(--timeline-node-size) / 2);inset-inline-start:50%;transform:translate(-50%)}.timeline__stage[data-current=true] .timeline__node{border-color:var(--color-accent);background:var(--color-accent);outline:var(--border-width-thin) solid var(--color-accent);outline-offset:var(--space-1)}.timeline__dates,.timeline__tags{align-items:baseline;gap:var(--space-2);margin:var(--space-0);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono);line-height:var(--leading-label);flex-wrap:wrap;display:flex}.timeline__tag{padding:var(--space-0-5) var(--space-2);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:uppercase}.timeline__tag--current{border-color:var(--color-accent);color:var(--color-accent-strong)}.timeline__duration{font-size:var(--text-xs)}.timeline__body h3,.timeline__body p{margin:var(--space-0)}.timeline__body h3{font-size:var(--text-title-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-heading);line-height:var(--leading-title)}.timeline__role{color:var(--color-text-secondary)}.timeline__location{color:var(--color-text-muted)}.timeline__highlights{max-width:var(--measure-body);gap:var(--space-2);margin:var(--space-0);color:var(--color-text-secondary);padding-inline-start:var(--space-4);display:grid}.timeline__highlights li::marker{color:var(--color-diagram-edge)}.timeline__stack{gap:var(--space-2);padding:var(--space-0);margin:var(--space-0);flex-wrap:wrap;list-style:none;display:flex}.timeline__stack li{padding:var(--space-0-5) var(--space-2);border:var(--border-thin);border-radius:var(--radius-sm);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-label)}.timeline--quiet{--timeline-node-size:var(--space-2)}.timeline--quiet .timeline__body h3{font-size:var(--text-lead)}.certifications{align-content:start;gap:var(--space-3);grid-column:1/-1;display:grid}.certifications__heading{margin:var(--space-0);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-medium);letter-spacing:var(--tracking-label);line-height:var(--leading-label);text-transform:uppercase}.certifications ul{padding:var(--space-0);margin:var(--space-0);list-style:none}.certifications li{padding-block:var(--space-3);border-block-start:var(--border-thin);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-label)}@media (width>=48rem){.experience h2,.education h2{grid-column:1/7}}@media (width>=64rem){.experience h2,.education h2{grid-area:1/3/auto/11}.timeline{grid-area:2/3/auto/13}.timeline__stage{grid-template-columns:var(--timeline-meta-width) var(--timeline-rail-width) minmax(0, 1fr)}.timeline__meta{text-align:end;grid-area:1/1;align-content:start;justify-items:end;display:grid}.timeline__tags{justify-content:flex-end}.timeline__rail{grid-area:1/2}.timeline__body{grid-area:1/3;padding-block-start:var(--timeline-stage-space)}.education .timeline{grid-column:3/9}.certifications{grid-area:2/9/auto/13;padding-block-start:var(--timeline-stage-space)}}@media (width<=47.99rem){.hero__grid{row-gap:var(--space-6)}.hero__support{order:3}.hero__now{order:4}.hero__proof{order:5}.hero__support>p{font-size:var(--text-body)}.selected-work__projects{gap:var(--space-6)}.project-case{gap:var(--space-5);padding:var(--space-6) var(--space-5);border:var(--border-thin);border-radius:var(--radius-sm);background:var(--color-surface)}.project-case__intro{gap:var(--space-4)}.project-case__steps,.project-case__details,.project-case__narrative-line,.project-case__metric-band>:not(:first-child),.project-case .metric-display__comparison,.project-case .metric-display__context,.project-case .stack-list>.mono-label{display:none}.project-case__summary{font-size:var(--text-body);-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.project-case .metric-display__value,.project-case .metric-display--hero .metric-display__value{font-size:var(--text-title-sm);line-height:var(--leading-title)}.project-case__metric-band{gap:var(--space-2)}.project-case__technical,.project-case__secondary-evidence{gap:var(--space-5)}.project-case .stack-list ul,.timeline__stack,.capabilities__skills{gap:var(--space-1) var(--space-2)}.project-case .stack-list li,.timeline__stack li,.capabilities__skills li{padding:var(--space-0);color:var(--color-text-muted);border:none}.capabilities__skills li{color:var(--color-text-primary)}.project-case .stack-list li:not(:last-child):after,.timeline__stack li:not(:last-child):after,.capabilities__skills li:not(:last-child):after{color:var(--color-diagram-edge);content:"/";margin-inline-start:var(--space-2)}.request-path{align-items:baseline;gap:var(--space-2);flex-flow:wrap}.request-path li{padding:var(--space-0);background:0 0;border:none}.request-path li+li{margin-block-start:var(--space-0)}.request-path li+li:before{height:auto;color:var(--color-diagram-edge);content:"→";border:none;margin-inline-end:var(--space-2);position:static}.request-path li+li:after,.text-link.principle__project{display:none}.timeline__highlights{padding-inline-start:var(--space-0);list-style:none}.timeline__highlights[data-collapsed=true] li:nth-child(n+2){display:none}}.timeline__more{min-height:var(--tap-target-min);padding:var(--space-0);color:var(--color-accent-strong);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono);background:0 0;border:none;justify-self:start}@media (width>=48rem){.timeline__more{display:none}}.architecture-diagram{gap:var(--space-4);padding:var(--space-4);margin:var(--space-0);background:var(--color-surface);color:var(--color-text-primary);display:grid}.architecture-diagram__visual,.architecture-diagram__header{gap:var(--space-4);display:grid}.architecture-diagram__title,.diagram-node p,.architecture-diagram figcaption{margin:var(--space-0)}.architecture-diagram__title,.diagram-node{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-label)}.architecture-diagram__title{color:var(--color-text-secondary);letter-spacing:var(--tracking-mono);text-transform:uppercase}.architecture-diagram__stage{min-width:var(--space-0);border:var(--border-strong);background-color:var(--color-canvas);background-image:linear-gradient(to right, var(--color-diagram-grid) var(--border-width-thin), transparent var(--border-width-thin)), linear-gradient(to bottom, var(--color-diagram-grid) var(--border-width-thin), transparent var(--border-width-thin));background-size:var(--diagram-grid-size) var(--diagram-grid-size);position:relative;overflow:hidden}.architecture-diagram--has-group-note .architecture-diagram__stage{--diagram-mobile-row-height:var(--diagram-mobile-row-height-spacious)}.diagram-groups,.diagram-connectors{inset:var(--space-3);width:calc(100% - var(--space-6));height:calc(100% - var(--space-6));pointer-events:none;position:absolute}.diagram-groups{z-index:var(--z-diagram-labels);grid-template-rows:repeat(var(--diagram-mobile-rows), var(--diagram-mobile-row-height));display:grid}.diagram-groups--desktop,.diagram-connectors--desktop{display:none}.diagram-group{min-width:var(--space-0);margin-block:var(--space-1);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-sm);background:0 0;position:relative}.diagram-groups--mobile .diagram-group{grid-row:var(--diagram-group-mobile-start) / var(--diagram-group-mobile-end)}.diagram-group__label,.diagram-group__note{padding-inline:var(--space-2);background:var(--color-surface);color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--leading-label);letter-spacing:var(--tracking-mono);white-space:nowrap;position:absolute;inset-inline-start:var(--space-2)}.diagram-group__label{inset-block-start:var(--space-0);transform:translateY(-50%)}.diagram-group__note{width:max-content;max-width:calc(100% - var(--space-4));padding-block:var(--space-0-5);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text-primary);white-space:normal;inset-block-end:var(--space-2)}.architecture-diagram__nodes{z-index:var(--z-raised);grid-template-rows:repeat(var(--diagram-mobile-rows), var(--diagram-mobile-row-height));padding:var(--space-3);display:grid;position:relative}.diagram-node{height:auto;width:calc(100% - var(--space-12));min-height:var(--diagram-node-min-height);align-content:start;place-self:center;gap:var(--space-1);padding:var(--space-3);border:var(--border-strong);border-color:var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-raised);color:var(--color-text-primary);grid-row:var(--diagram-mobile-order);display:grid}.diagram-node__meta{gap:var(--space-2);color:var(--color-text-muted);letter-spacing:var(--tracking-label);text-transform:uppercase;align-items:center;display:flex}.diagram-node__status{width:var(--diagram-status-size);height:var(--diagram-status-size);border:var(--border-width-thin) solid var(--color-accent);border-radius:var(--radius-pill);background:var(--color-accent);flex:none}.diagram-node strong{color:var(--color-text-primary);font-size:var(--text-xs);font-weight:var(--font-weight-semibold);overflow-wrap:anywhere}.diagram-node p{color:var(--color-text-secondary);overflow-wrap:anywhere}.diagram-connectors{z-index:var(--z-diagram-connectors);overflow:visible}.diagram-edge{fill:none;stroke:var(--color-diagram-edge);stroke-linecap:round;stroke-linejoin:round;stroke-width:var(--border-width-thin)}.diagram-edge--accent{stroke:var(--color-accent)}.diagram-arrow{stroke:none}.diagram-arrow--default{fill:var(--color-diagram-edge)}.diagram-arrow--accent{fill:var(--color-accent)}.diagram-flow-marker{fill:none;opacity:0;pointer-events:none;stroke:var(--color-accent);stroke-linecap:round;stroke-width:var(--diagram-flow-marker-size);transform-box:view-box;transform-origin:var(--space-0) var(--space-0)}.architecture-diagram figcaption{max-width:var(--measure-body);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-body)}@media (width>=48rem){.architecture-diagram{gap:var(--space-6);padding:var(--space-6)}.architecture-diagram__header{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}}@media (width>=80rem){.architecture-diagram__stage{aspect-ratio:var(--aspect-diagram)}.diagram-groups,.diagram-connectors{inset:var(--space-6);width:calc(100% - var(--space-12));height:calc(100% - var(--space-12))}.diagram-groups--mobile,.diagram-connectors--mobile{display:none}.diagram-groups--desktop{grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3, minmax(var(--diagram-desktop-row-min-height), auto));row-gap:var(--space-3);align-content:space-between;display:grid}.diagram-groups--desktop .diagram-group{grid-column:var(--diagram-group-column-start) / var(--diagram-group-column-end);grid-row:var(--diagram-group-row)}.diagram-groups--desktop .diagram-group__note{max-width:calc(100% - var(--space-4));inset-block-end:calc(-1 * var(--space-5));inset-inline-start:var(--space-2)}.diagram-connectors--desktop{display:block}.architecture-diagram__nodes{inset:var(--space-6);grid-template-columns:repeat(12,minmax(0,1fr));grid-template-rows:repeat(3, minmax(var(--diagram-desktop-row-min-height), auto));column-gap:var(--diagram-desktop-column-gap);row-gap:var(--space-3);padding:var(--space-0);align-content:space-between;position:absolute}.diagram-node{width:100%;min-width:var(--space-0);min-inline-size:var(--diagram-node-min-width);margin-block:var(--space-6) var(--space-3);grid-column:var(--diagram-column) / span var(--diagram-column-span);grid-row:var(--diagram-row);align-content:start;place-self:stretch center}}@media (prefers-reduced-motion:reduce){.diagram-flow-marker{display:none}}*,:before,:after{box-sizing:border-box}html{background:var(--color-canvas);min-height:100%;color:var(--color-text-primary);font-family:var(--font-sans);font-synthesis:none;text-rendering:optimizelegibility;scroll-behavior:auto}body{min-height:100%;margin:var(--space-0);background:var(--color-canvas);color:var(--color-text-primary);font-size:var(--text-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body)}button,input,select,textarea{color:inherit;font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}::selection{background:var(--color-accent);color:var(--color-on-accent)}:focus-visible{outline:var(--focus-outline-width) solid var(--color-accent);outline-offset:var(--focus-outline-offset)}.sr-only{width:var(--border-width-thin);height:var(--border-width-thin);padding:var(--space-0);margin:calc(var(--border-width-thin) * -1);clip:rect(0, 0, 0, 0);white-space:nowrap;border:var(--space-0);position:absolute;overflow:hidden}.skip-link{z-index:var(--z-skip-link);padding:var(--space-3) var(--space-4);transform:translateY(calc(-100% - var(--space-8)));background:var(--color-accent);color:var(--color-on-accent);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-label);text-decoration:none;position:fixed;inset-block-start:var(--space-4);inset-inline-start:var(--page-gutter)}.skip-link:focus-visible{transform:translateY(var(--space-0))}.site-shell{min-height:100svh}.container{width:100%;max-width:calc(var(--container-max) + (var(--page-gutter) * 2));padding-inline:var(--page-gutter);margin-inline:auto}.grid{grid-template-columns:repeat(var(--page-grid-columns), minmax(0, 1fr));gap:var(--grid-gap);display:grid}.section{padding-block:var(--section-space);scroll-margin-block-start:calc(var(--header-height) + var(--space-4))}.section__content{padding-block-start:var(--content-gap)}.section__marker{gap:var(--space-3);grid-column:1/-1;align-items:baseline;display:flex}.section__label{color:var(--color-text-secondary)}.rule{width:100%;height:var(--border-width-thin);margin:var(--space-0);border:var(--space-0);background:var(--color-border);transform-origin:0;transition-duration:var(--duration-reveal);transition-property:opacity,transform;transition-timing-function:var(--ease-standard)}.mono-label{color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:var(--font-weight-medium);line-height:var(--leading-label);letter-spacing:var(--tracking-label);text-transform:uppercase}.numeral{text-transform:none}.text-link{min-height:var(--tap-target-min);color:var(--color-text-primary);align-items:center;text-decoration:none;display:inline-flex;position:relative}.text-link__label{position:relative}.text-link__label:before,.text-link__label:after{inset-inline:var(--space-0);height:var(--border-width-thin);content:"";pointer-events:none;position:absolute;inset-block-end:calc(var(--space-0-5) * -1)}.text-link__label:before{background:var(--color-border-strong)}.text-link__label:after{transform-origin:0;transition-duration:var(--duration-fast);transition-property:transform;transition-timing-function:var(--ease-standard);background:currentColor;transform:scaleX(0)}.text-link__arrow{transition-duration:var(--duration-fast);transition-property:transform;transition-timing-function:var(--ease-standard);display:inline-block}.text-link__arrow--spaced{margin-inline-start:var(--space-1)}.text-link:focus-visible{color:var(--color-accent-strong)}.text-link:focus-visible .text-link__label:after{transform:scaleX(1)}.text-link:focus-visible .text-link__arrow{transform:translateX(var(--motion-arrow-distance))}.text-link:focus-visible .text-link__arrow[data-direction=up]{transform:translateY(calc(-1 * var(--motion-arrow-distance)))}@media (hover:hover){.text-link:hover{color:var(--color-accent-strong)}.text-link:hover .text-link__label:after{transform:scaleX(1)}.text-link:hover .text-link__arrow{transform:translateX(var(--motion-arrow-distance))}.text-link:hover .text-link__arrow[data-direction=up]{transform:translateY(calc(-1 * var(--motion-arrow-distance)))}}.text-link.action-primary{padding-inline:var(--space-5);border:var(--border-width-thin) solid var(--color-accent);border-radius:var(--radius-sm);background:var(--color-accent-tint);color:var(--color-accent-strong);font-weight:var(--font-weight-semibold);text-decoration:none}.text-link.action-primary:focus-visible{background:var(--color-accent-tint-strong);color:var(--color-accent-strong)}@media (hover:hover){.text-link.action-primary:hover{background:var(--color-accent-tint-strong);color:var(--color-accent-strong)}}.action-primary .text-link__label:before,.action-primary .text-link__label:after,.site-brand .text-link__label:before,.site-brand .text-link__label:after,.mobile-menu__list .text-link__label:before,.mobile-menu__list .text-link__label:after{display:none}.site-header{z-index:var(--z-sticky);min-height:var(--header-height);pointer-events:none;align-items:center;display:flex;position:sticky;inset-block-start:var(--space-0)}.site-header__inner{justify-content:center;display:flex}.site-header__pill{justify-content:space-between;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-1) var(--space-1) var(--space-1) var(--space-5);border:var(--border-thin);border-color:var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-surface);pointer-events:auto;transform-origin:top;transition-duration:var(--duration-spring);transition-property:transform;transition-timing-function:var(--ease-spring);display:flex}.site-header[data-compact=true] .site-header__pill{transform:scale(var(--motion-header-scale))}.site-brand{font-weight:var(--font-weight-semibold);white-space:nowrap;text-decoration:none}.desktop-navigation{display:var(--desktop-navigation-display)}.navigation-list,.mobile-menu__list{padding:var(--space-0);margin:var(--space-0);list-style:none}.navigation-list{align-items:center;display:flex;position:relative}.navigation-list .text-link{z-index:var(--z-raised);padding-inline:var(--space-4);color:var(--color-text-secondary);position:relative}.navigation-list .text-link[aria-current=location]{color:var(--color-text-primary)}.navigation-list .text-link__label:before,.navigation-list .text-link__label:after{display:none}.navigation-indicator{inset-block:var(--space-1);width:var(--nav-indicator-base-width);border-radius:var(--radius-pill);background:var(--color-accent-tint);opacity:0;pointer-events:none;transform:translateX(var(--nav-indicator-x,0)) scaleX(var(--nav-indicator-scale,1));transform-origin:0;transition-duration:var(--duration-spring), var(--duration-fast);transition-property:transform,opacity;transition-timing-function:var(--ease-spring), var(--ease-standard);position:absolute;inset-inline-start:var(--space-0)}.navigation-indicator[data-visible=true]{opacity:1}.site-header__pill .text-link,.site-header__pill button{transition-duration:var(--duration-spring);transition-property:transform;transition-timing-function:var(--ease-spring)}.site-header__pill .text-link:active,.site-header__pill button:active{transform:scale(var(--motion-press-scale))}.site-header__actions{align-items:center;gap:var(--space-2);display:flex}.resume-link{display:var(--desktop-resume-display);padding-inline:var(--space-3)}.theme-toggle{min-width:var(--tap-target-min);min-height:var(--tap-target-min);padding:var(--space-0);border:var(--border-thin);border-radius:var(--radius-pill);color:var(--color-text-primary);cursor:pointer;background:0 0;justify-content:center;align-items:center;display:inline-flex}.theme-toggle:focus-visible{border-color:var(--color-accent)}.theme-toggle__icon{width:var(--space-5);height:var(--space-5);stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.75px}:root:not([data-theme]) .theme-toggle,:root:not([data-theme]) .requires-js{display:none}.site-header__pill{width:auto}@media (width>=64rem){.site-header__pill{gap:var(--space-4)}}@media (width<=63.99rem){.site-header__theme{display:none}.site-header__pill{gap:var(--space-3)}.site-header:before{inset:var(--space-0);background:linear-gradient(to bottom, var(--color-canvas) var(--header-fade-stop), transparent);content:"";pointer-events:none;position:absolute}.site-header__inner{position:relative}}.menu-toggle__icon,.menu-toggle__icon:before{width:var(--space-4);height:var(--border-width-thin);background:currentColor;display:block}.menu-toggle__icon{transform:translateY(calc(-1 * var(--space-1)));position:relative}.menu-toggle__icon:before{content:"";position:absolute;inset-block-start:var(--space-2)}.theme-toggle__icon--moon,:root[data-theme=light] .theme-toggle__icon--sun{display:none}:root[data-theme=light] .theme-toggle__icon--moon{display:block}@media (hover:hover){.theme-toggle:hover{border-color:var(--color-border-strong);color:var(--color-accent-strong)}}.menu-toggle,.mobile-menu__close{min-width:var(--tap-target-min);min-height:var(--tap-target-min);padding:var(--space-2) var(--space-3);border:var(--border-thin);border-radius:var(--radius-sm);background:var(--color-canvas);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-mono);font-size:var(--text-sm);letter-spacing:var(--tracking-mono)}.menu-toggle{border-radius:var(--radius-pill);display:var(--mobile-toggle-display);justify-content:center;align-items:center}.mobile-menu{inset:var(--space-0);z-index:var(--z-overlay);display:var(--mobile-navigation-display);background:var(--color-surface);opacity:0;pointer-events:none;transition-duration:var(--duration-fast);transition-property:opacity;transition-timing-function:var(--ease-standard);justify-content:flex-end;position:fixed}.mobile-menu[hidden]{display:none}.mobile-menu__panel{gap:var(--space-12);width:100%;padding:var(--page-gutter);background:var(--color-surface-raised);transform:translateX(var(--motion-menu-distance));transition-duration:var(--duration-fast);transition-property:transform;transition-timing-function:var(--ease-enter);flex-direction:column;display:flex}.mobile-menu[data-state=open]{opacity:1;pointer-events:auto;transition-duration:var(--duration-base)}.mobile-menu[data-state=open] .mobile-menu__panel{transform:translateX(var(--space-0));transition-duration:var(--duration-base)}.mobile-menu__top{justify-content:space-between;align-items:center;display:flex}.mobile-menu__list{gap:var(--space-2);display:grid}.mobile-menu__list .text-link{border-block-end:var(--border-thin);width:100%;font-size:var(--text-title-sm);text-decoration:none}[data-motion-reveal]{transition-duration:var(--duration-reveal);transition-property:opacity,transform;transition-timing-function:var(--ease-enter)}html[data-motion=ready] [data-motion-reveal]:not([data-revealed=true]){opacity:var(--opacity-reveal-hidden);transform:translateY(var(--motion-reveal-distance))}html[data-motion=ready] [data-motion-rule]:not([data-revealed=true]){opacity:var(--opacity-rule-start);transform:scaleX(var(--motion-rule-scale))}@media print{html[data-motion=ready] [data-motion-reveal],html[data-motion=ready] [data-motion-rule]{opacity:1;transform:none}}.page-shell{min-height:calc(100svh - var(--header-height));padding-block:var(--section-space-compact);align-items:center;display:flex}.page-shell h1,.tokens-page h1{max-width:var(--measure-display);margin:var(--space-0);font-size:var(--text-section);font-weight:var(--font-weight-semibold);line-height:var(--leading-heading);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere}.site-footer{padding-block:var(--space-6);border-block-start:var(--border-thin)}.site-footer__inner{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-6);flex-wrap:wrap;display:flex}.site-footer__inner .mono-label{color:var(--color-text-muted)}.site-footer__inner .text-link{color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm)}.site-footer__top{margin-inline-start:auto}.tokens-page{padding-block:var(--section-space-compact)}.tokens-page__header{max-width:var(--container-reading);gap:var(--space-4);display:grid}.tokens-page__header p{max-width:var(--measure-body);margin:var(--space-0);color:var(--color-text-secondary)}.token-section{padding-block-start:var(--section-space-compact)}.token-section h2{margin-block:var(--space-0) var(--space-8);font-size:var(--text-title-sm);line-height:var(--leading-title)}.token-list{grid-template-columns:repeat(var(--token-list-columns), minmax(0, 1fr));gap:var(--space-6);display:grid}.token-item,.type-token,.spacing-token{gap:var(--space-3);display:grid}.token-swatch{min-height:var(--space-16);border:var(--border-thin);border-radius:var(--radius-sm)}.type-token-list,.spacing-token-list{gap:var(--space-6);display:grid}.type-token,.spacing-token{border-block-end:var(--border-thin);padding-block-end:var(--space-6)}.type-token p{margin:var(--space-0);line-height:var(--leading-title);overflow-wrap:anywhere}.spacing-token{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:center}.spacing-token__sample{min-width:var(--space-0-5);height:var(--space-6);background:var(--color-accent)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{animation-duration:var(--duration-none)!important;transition-duration:var(--duration-none)!important;scroll-behavior:auto!important;animation-iteration-count:1!important}html[data-motion=ready] [data-motion-reveal],html[data-motion=ready] [data-motion-rule]{opacity:1!important;transform:none!important}.site-header[data-compact=true] .site-header__pill,.site-header__pill .text-link:active,.site-header__pill button:active,.text-link:hover .text-link__arrow,.text-link:focus-visible .text-link__arrow{transform: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-border-style{syntax:"*";inherits:false;initial-value:solid}@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}
