@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/Inter-normal-400.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/Inter-normal-600.woff') format('woff')}
@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/Inter-normal-700.woff') format('woff')}
@font-face{font-family:Inter;font-style:italic;font-weight:400;font-display:swap;src:url('/assets/fonts/Inter-italic-400.woff') format('woff')}
/* Primitive values → semantic roles → component decisions. See docs/DESIGN-DECISIONS.md. */
:root{
 --neutral-0:#ffffff;--neutral-50:#f5f6f3;--neutral-100:#eceee8;--neutral-200:#d8dcd3;--neutral-400:#8a9283;--neutral-600:#5c6356;--neutral-900:#242820;
 --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;
 --font-sans:Inter,sans-serif;--text-small:.8125rem;--text-base:1rem;--text-lead:1.25rem;--radius-small:.25rem;--motion-fast:160ms;--motion-normal:240ms;
 --surface-page:var(--neutral-0);--surface-subtle:var(--neutral-50);--surface-muted:var(--neutral-100);--text-primary:var(--neutral-900);--text-secondary:var(--neutral-600);--border-subtle:var(--neutral-200);--border-control:var(--neutral-400);--focus-color:var(--neutral-900);
 --sidebar-width:15rem;--page-gutter:clamp(1.5rem,4vw,4rem);--content-width:83rem;--button-height:2.875rem;--card-image-surface:var(--surface-muted);--nav-target-height:3rem;
}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:var(--space-8)}body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.65;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{color:inherit;text-decoration:none}p,h1,h2,h3,figure,dl,dd{margin:0}button{border:0;background:none}img{display:block;width:100%;height:auto}h1,h2,h3,strong{font-weight:600}h1{font-size:clamp(3rem,6.2vw,6.75rem);line-height:1.04;letter-spacing:-.065em}h2{font-size:clamp(2rem,3.15vw,3.25rem);line-height:1.14;letter-spacing:-.045em}h3{font-size:1.375rem;line-height:1.25;letter-spacing:-.03em}p{overflow-wrap:break-word}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid var(--focus-color);outline-offset:4px}a:focus-visible{border-radius:var(--radius-small)}[tabindex='-1']:focus{outline:0}[hidden]{display:none!important}.text-secondary{color:var(--text-secondary)}.text-small{font-size:var(--text-small);line-height:1.6}.lead{font-size:var(--text-lead);line-height:1.55}.eyebrow{font-size:.8125rem;font-weight:600;line-height:1.5;letter-spacing:.06em}.skip-link{position:fixed;left:var(--space-4);top:-8rem;z-index:50;padding:var(--space-3) var(--space-5);background:var(--text-primary);color:var(--surface-page)}.skip-link:focus{top:var(--space-4)}
/* Navigation */
.sidebar{position:fixed;inset:0 auto 0 0;width:var(--sidebar-width);padding:var(--space-10) var(--space-6) var(--space-6);display:flex;flex-direction:column;border-right:1px solid var(--border-subtle);background:var(--surface-page);z-index:10;overflow-y:auto}.wordmark{display:inline-block;font-size:2.5rem;font-weight:600;letter-spacing:-.08em;line-height:1.1;align-self:start;min-height:44px}.wordmark>span{color:var(--text-secondary)}.identity{margin-top:var(--space-12)}.identity>p:first-child{font-size:.875rem;font-weight:600}.identity>p+p{margin-top:var(--space-1)}.navigation{display:grid;gap:var(--space-1);margin-top:var(--space-10)}.navigation>a{min-height:var(--nav-target-height);display:flex;justify-content:space-between;align-items:center;gap:var(--space-3);font-size:.9375rem;padding:var(--space-2) var(--space-3);margin-inline:calc(-1 * var(--space-3));border-radius:var(--radius-small);transition:background var(--motion-fast);border-left:2px solid transparent}.navigation>a:hover{background:var(--surface-subtle)}.navigation>a[aria-current]{background:var(--surface-subtle);border-left-color:var(--text-primary);font-weight:600}.nav-index{font-size:var(--text-small);color:var(--text-secondary);font-weight:400}.navigation .nav-resume{border-top:1px solid var(--border-subtle);margin-top:var(--space-4);padding-top:var(--space-4);border-radius:0;min-height:4rem}.draft-label{font-size:.75rem;font-weight:400;color:var(--text-secondary);margin-left:var(--space-1)}.sidebar-bottom{margin-top:auto;padding-top:var(--space-10)}.guide-trigger{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) 0;min-height:44px;font-size:.875rem;width:100%;text-align:left}.sidebar-bottom .guide-trigger{margin-top:var(--space-4)}.guide-trigger:hover{text-decoration:underline;text-underline-offset:.25em}.menu-toggle,.mobile-guide{display:none}main,.site-footer{margin-left:var(--sidebar-width);max-width:calc(var(--content-width) + 2 * var(--page-gutter))}main{min-height:70vh}.hero{padding:var(--space-12) var(--page-gutter) var(--space-16)}.hero .eyebrow{color:var(--text-secondary)}.hero h1{margin-top:var(--space-16);max-width:14ch}.hero-bottom{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(12rem,1fr);gap:var(--space-10);align-items:end;margin-top:var(--space-10)}.hero-intro{font-size:1.125rem;line-height:1.6;max-width:56ch}.hero-description{font-size:.9375rem;line-height:1.65;color:var(--text-secondary);margin-top:var(--space-4);max-width:54ch}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;justify-self:end;gap:var(--space-2)}.button{display:inline-flex;gap:var(--space-6);align-items:center;justify-content:center;min-height:var(--button-height);padding:.75rem 1.125rem;font-size:.875rem;line-height:1.5;font-weight:600;border-radius:var(--radius-small);border:1px solid transparent;transition:background var(--motion-fast),border-color var(--motion-fast)}.button-primary{background:var(--text-primary);color:var(--surface-page)}.button-primary:hover{background:#41483a}.button-secondary{border-color:var(--border-control);background:var(--surface-page)}.button-secondary:hover{background:var(--surface-subtle);border-color:var(--text-primary)}.button:active{transform:translateY(1px)}.text-link{display:inline-flex;align-items:center;gap:var(--space-3);min-height:44px;font-size:.875rem;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.3em;line-height:1.5}.text-link:hover{color:var(--text-secondary)}
/* Section rhythm and selected work */
.section{padding:var(--space-8) var(--page-gutter) var(--space-16);border-top:1px solid var(--border-subtle);scroll-margin-top:var(--space-4)}.section-kicker{display:flex;justify-content:space-between;gap:var(--space-6);font-size:var(--text-small);line-height:1.5;color:var(--text-secondary)}.section-kicker>span:last-child{text-align:right}.section-heading{display:grid;grid-template-columns:1fr 1fr;align-items:end;gap:var(--space-8);margin:var(--space-10) 0 var(--space-6)}.section-heading>p{font-size:.9375rem;color:var(--text-secondary);max-width:38ch}.portfolio-note{font-size:var(--text-small);line-height:1.65;border-left:2px solid var(--border-control);padding-left:var(--space-4);color:var(--text-secondary);max-width:76ch;margin-bottom:var(--space-8)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-10) var(--space-6)}.project{min-width:0;scroll-margin-top:var(--space-8)}.project-featured,.project-wide{grid-column:1/-1}.project-link{display:block;border-radius:var(--radius-small)}.project-visual{position:relative;overflow:hidden;background:var(--card-image-surface)}.media-frame{position:relative;background:var(--card-image-surface);overflow:hidden;aspect-ratio:7/5}.media-image{height:100%;object-fit:cover;transition:transform var(--motion-normal) ease}.project-featured .media-frame{aspect-ratio:1.68}.project-wide .media-frame{aspect-ratio:2.2}.project-wide img{object-position:center 55%}.project-link:hover .media-image{transform:scale(1.018)}.image-index{position:absolute;top:var(--space-4);left:var(--space-4);padding:.3rem .6rem;background:var(--surface-page);font-size:.75rem;line-height:1.5;letter-spacing:.03em;border-radius:2px}.image-arrow{position:absolute;right:var(--space-4);bottom:var(--space-4);width:44px;height:44px;background:var(--surface-page);border-radius:50%;display:grid;place-items:center;font-size:1.5rem}.project-caption{padding-top:var(--space-5)}.project-title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap}.project-title-row h3{font-size:1.625rem}.status-tag{font-size:.75rem;line-height:1.5;font-weight:600;border:1px solid var(--border-subtle);border-radius:2rem;padding:.3rem .65rem;display:inline-block;width:fit-content;color:var(--text-secondary);background:var(--surface-page)}.project-summary{font-size:1rem;line-height:1.6;margin-top:var(--space-3)}.project-meta{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--text-small);color:var(--text-secondary);margin-top:var(--space-4)}.project-action{display:flex;gap:var(--space-2);align-items:center;color:var(--text-primary);text-decoration:underline;text-underline-offset:.3em;line-height:1.8}.image-fallback{height:100%;min-height:12rem;padding:var(--space-8);display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-3);text-align:center;color:var(--text-secondary)}.image-fallback>span{font-size:2.5rem}
/* Profile, experience and honest contact state */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-top:var(--space-12)}.about-profile h2{max-width:16ch}.portrait{margin-top:var(--space-8);max-width:19rem}.portrait .media-frame{aspect-ratio:7/8;border:1px solid var(--border-subtle)}.portrait img{object-position:center 35%}.portrait figcaption{font-size:var(--text-small);color:var(--text-secondary);margin-top:var(--space-3)}.about-copy>p+p{margin-top:var(--space-5)}.about-copy>p:not(.lead){font-size:1rem;color:var(--text-secondary)}.about-copy .text-link{margin-top:var(--space-5)}.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-12)}.principles>div{border-top:1px solid var(--border-subtle);padding-top:var(--space-5)}.principles .eyebrow{color:var(--text-secondary)}.principles h3{margin:var(--space-5) 0 var(--space-3);font-size:1.125rem}.principles p{font-size:.9375rem;color:var(--text-secondary);line-height:1.65}.section-title-row{display:flex;justify-content:space-between;gap:var(--space-8);align-items:end;margin:var(--space-12) 0 var(--space-10)}.experience-row{display:grid;grid-template-columns:5.5rem 1.1fr 1.1fr;gap:var(--space-6);border-top:1px solid var(--border-subtle);padding:var(--space-6) 0;align-items:start}.experience-period{font-size:var(--text-small);color:var(--text-secondary);padding-top:var(--space-1)}.experience-row h3{font-size:1.125rem;line-height:1.4}.experience-company{font-size:.9375rem;color:var(--text-secondary);margin-top:var(--space-2)}.experience-summary{font-size:.9375rem;color:var(--text-secondary)}.section-note{margin-top:var(--space-5);font-size:var(--text-small);color:var(--text-secondary);max-width:68ch}.contact-section{background:var(--surface-subtle)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);margin-top:var(--space-12)}.contact-grid>div>p{font-size:1rem;color:var(--text-secondary);max-width:40ch;margin-top:var(--space-5)}.contact-details>div{padding:var(--space-5) 0;border-top:1px solid var(--border-subtle)}.contact-details dt{font-size:var(--text-small);font-weight:600;margin-bottom:var(--space-2)}.contact-details dd{font-size:.9375rem;color:var(--text-secondary)}.site-footer{padding:var(--space-5) var(--page-gutter);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);font-size:var(--text-small);color:var(--text-secondary)}.site-footer a{display:inline-flex;gap:var(--space-3);align-items:center;min-height:44px;text-decoration:underline;text-underline-offset:.25em}
/* Dedicated, addressable long-form project and résumé pages */
.page-topbar{display:flex;justify-content:space-between;align-items:center;gap:var(--space-5);padding:var(--space-6) var(--page-gutter);border-bottom:1px solid var(--border-subtle)}.page-topbar>.text-small{color:var(--text-secondary)}.case-header{padding:var(--space-12) var(--page-gutter) var(--space-10)}.case-header h1{font-size:clamp(3.5rem,6vw,6rem);margin-top:var(--space-6);letter-spacing:-.06em}.case-headline{font-size:clamp(1.5rem,2.5vw,2.25rem);line-height:1.3;letter-spacing:-.03em;max-width:30ch;margin-top:var(--space-4)}.case-disclosure{font-size:var(--text-small);color:var(--text-secondary);max-width:64ch;margin-top:var(--space-5)}.case-meta{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);border-top:1px solid var(--border-subtle);padding-top:var(--space-6);margin-top:var(--space-8)}.case-meta dt{font-size:var(--text-small);color:var(--text-secondary);margin-bottom:var(--space-2)}.case-meta dd{font-size:.9375rem}.case-cover{margin:0 var(--page-gutter)}.case-cover .media-frame{aspect-ratio:1.68}.case-cover figcaption{margin-top:var(--space-3);font-size:var(--text-small);color:var(--text-secondary)}.case-body{padding:var(--space-10) var(--page-gutter)}.case-section{display:grid;grid-template-columns:minmax(9rem,.8fr) minmax(0,1.7fr);gap:var(--space-10);padding:var(--space-8) 0;border-top:1px solid var(--border-subtle)}.case-section h2,.case-decisions>h2{font-size:1.5rem;line-height:1.3;letter-spacing:-.025em}.case-section p{max-width:65ch;line-height:1.8}.case-decisions{padding:var(--space-8) 0;border-top:1px solid var(--border-subtle)}.decision-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6);margin-top:var(--space-6)}.decision-grid>div{background:var(--surface-subtle);padding:var(--space-6);border-radius:var(--radius-small)}.decision-grid .eyebrow{color:var(--text-secondary)}.decision-grid h3{font-size:1.125rem;margin:var(--space-5) 0 var(--space-3)}.decision-grid p{font-size:.9375rem;color:var(--text-secondary)}.case-navigation{padding:var(--space-8) var(--page-gutter);border-top:1px solid var(--border-subtle);display:flex;justify-content:space-between;align-items:center;gap:var(--space-8)}.next-project{display:flex;flex-direction:column;gap:var(--space-2);min-width:12rem}.next-project>span{color:var(--text-secondary)}.next-project strong{font-size:1.75rem;display:flex;gap:var(--space-8);line-height:1.3;justify-content:space-between}.next-project:hover strong{text-decoration:underline;text-underline-offset:.2em}.resume{padding:var(--space-10) var(--page-gutter) var(--space-12);max-width:70rem}.resume-header h1{margin-top:var(--space-6);font-size:clamp(3.5rem,7vw,5.5rem)}.resume-header .lead{margin-top:var(--space-4)}.resume-notice{font-size:.9375rem;color:var(--text-secondary);background:var(--surface-subtle);padding:var(--space-5);border-left:2px solid var(--border-control);margin-top:var(--space-6)}.resume-section{margin-top:var(--space-10);border-top:1px solid var(--border-subtle);padding-top:var(--space-6)}.resume-section h2{font-size:1.5rem;margin-bottom:var(--space-5);letter-spacing:-.025em}.resume-section>p{max-width:65ch}.resume-section .experience-row{border:0;padding:var(--space-3) 0 var(--space-6)}.resume-section .contact-details{max-width:34rem}.error-page{padding-top:var(--space-20)}.error-page h1{font-size:clamp(3rem,5vw,5rem);margin:var(--space-6) 0}.error-page p:not(.eyebrow){max-width:54ch;color:var(--text-secondary)}.error-page .button{margin-top:var(--space-8)}
/* Author content guide: explicitly separate from visitor tasks. */
.guide-dialog{width:min(44rem,calc(100% - 2rem));max-height:90dvh;padding:0;border:1px solid var(--border-subtle);border-radius:var(--radius-small);color:var(--text-primary);background:var(--surface-page);overscroll-behavior:contain}.guide-dialog::backdrop{background:rgb(25 29 23 / .42);backdrop-filter:blur(3px)}body:has(dialog[open]){overflow:hidden}.guide-header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;background:var(--surface-page);z-index:2}.icon-button{min-width:44px;min-height:44px;font-size:1.75rem;line-height:1;border-radius:var(--radius-small)}.icon-button:hover{background:var(--surface-subtle)}.guide-body{padding:var(--space-8)}.guide-body h2{font-size:1.875rem;letter-spacing:-.035em}.guide-body>p{font-size:.9375rem;color:var(--text-secondary);margin-top:var(--space-5)}.code-switch{display:flex;align-items:center;gap:var(--space-3);min-height:52px;padding:var(--space-4);margin:var(--space-6) 0;background:var(--surface-subtle);font-size:.9375rem}.code-switch input{width:20px;height:20px;accent-color:var(--text-primary);flex-shrink:0}.search-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--space-2)}.search-field input{width:100%;min-height:48px;border:1px solid var(--border-control);border-radius:var(--radius-small);padding:.75rem;background:var(--surface-page);color:var(--text-primary)}.search-field input::placeholder{color:var(--text-secondary)}#guide-results-count{margin:var(--space-4) 0}.content-entry{display:block;padding:var(--space-4) 0;border-top:1px solid var(--border-subtle);min-height:68px}.content-entry strong{font-size:.875rem;overflow-wrap:anywhere}.content-entry p{font-size:var(--text-small);line-height:1.6;color:var(--text-secondary);margin-top:var(--space-1)}.content-entry:hover strong{text-decoration:underline;text-underline-offset:.25em}.guide-empty{padding:var(--space-6);background:var(--surface-subtle)}.guide-empty p{font-size:.9375rem;margin-bottom:var(--space-4)}.toast{position:fixed;bottom:var(--space-6);left:50%;transform:translateX(-50%);max-width:min(90vw,36rem);padding:.875rem 1.25rem;background:var(--text-primary);color:var(--surface-page);font-size:.875rem;line-height:1.6;border-radius:var(--radius-small);z-index:50;pointer-events:none;opacity:0;transition:opacity var(--motion-fast)}.toast.visible{opacity:1}.show-codes [data-content-id]{outline:1px dashed var(--neutral-600);outline-offset:4px;cursor:help}.content-highlight{outline:3px solid var(--text-primary)!important;outline-offset:6px;scroll-margin-top:6rem}[data-content-id]{scroll-margin-top:6rem}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1700px){:root{--sidebar-width:17rem;--page-gutter:5rem}.sidebar{padding:var(--space-12) var(--space-8)}}
@media(max-width:1150px){:root{--sidebar-width:12.75rem;--page-gutter:2rem}.sidebar{padding-inline:var(--space-5)}.hero-bottom{grid-template-columns:1.5fr 1fr;gap:var(--space-6)}.about-grid{gap:var(--space-8)}.project-meta{align-items:start;flex-direction:column;gap:var(--space-2)}.experience-row{grid-template-columns:4.5rem 1fr 1fr;gap:var(--space-4)}.decision-grid{gap:var(--space-4)}.decision-grid>div{padding:var(--space-5)}}
@media(max-width:900px){:root{--sidebar-width:0rem;--page-gutter:1.5rem}html{scroll-padding-top:6.5rem}.sidebar{position:sticky;top:0;width:100%;height:4.75rem;min-height:4.75rem;overflow:visible;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-4) var(--page-gutter);border-right:0;border-bottom:1px solid var(--border-subtle)}.wordmark{font-size:2rem;min-height:44px;display:flex;align-items:center}.identity,.sidebar-bottom{display:none}.menu-toggle{display:flex;min-height:44px;align-items:center;gap:var(--space-8);padding:var(--space-2) 0;font-size:.9375rem}.menu-toggle>span{font-size:1.5rem}.navigation{display:none;position:absolute;top:calc(4.75rem - 1px);left:0;right:0;margin:0;padding:var(--space-4) var(--page-gutter) var(--space-5);background:var(--surface-page);border-bottom:1px solid var(--border-subtle);max-height:calc(100dvh - 4.75rem);overflow-y:auto;box-shadow:0 12px 20px rgb(25 29 23 / .04)}.navigation[data-open='true']{display:grid}.navigation .nav-resume{margin-top:var(--space-2);padding-top:var(--space-3)}.mobile-guide{display:block}.mobile-guide .guide-trigger{min-height:48px}.hero{padding-top:var(--space-8)}.hero h1{font-size:clamp(3rem,8.7vw,5.5rem);margin-top:var(--space-12)}.section{scroll-margin-top:6rem}.case-header h1{font-size:4.5rem}.case-section{gap:var(--space-8)}.site-footer,main{margin-left:0}}
@media(max-width:600px){:root{--page-gutter:1.25rem}.hero{padding:var(--space-8) var(--page-gutter) var(--space-10)}.hero h1{font-size:clamp(2.75rem,10.1vw,3.75rem);letter-spacing:-.06em;line-height:1.08;margin-top:var(--space-10)}.hero-bottom{grid-template-columns:1fr;margin-top:var(--space-6);gap:var(--space-6)}.hero-intro{font-size:1.0625rem}.hero-actions{justify-self:start;flex-direction:row;flex-wrap:wrap;gap:var(--space-3)}.hero-actions .text-link{padding-inline:var(--space-2)}.hero-description{font-size:.9375rem}.section{padding-top:var(--space-6);padding-bottom:var(--space-10)}.section-kicker{gap:var(--space-4);font-size:.75rem}.section-kicker>span:last-child{max-width:44%;text-align:right}.section-heading{grid-template-columns:1fr;gap:var(--space-4);margin-top:var(--space-8)}.section-heading h2{font-size:2rem}.section-heading>p{max-width:42ch}.portfolio-note{margin-bottom:var(--space-6)}.work-grid{grid-template-columns:1fr;gap:var(--space-8)}.project-featured .media-frame,.project-wide .media-frame,.media-frame{aspect-ratio:1.2}.project-featured img{object-position:center}.image-index{top:var(--space-3);left:var(--space-3)}.image-arrow{right:var(--space-3);bottom:var(--space-3)}.project-caption{padding-top:var(--space-4)}.project-title-row h3{font-size:1.5rem}.project-summary{margin-top:var(--space-2)}.project-meta{margin-top:var(--space-3);gap:var(--space-2)}.project-action{min-height:36px}.about-grid{grid-template-columns:1fr;margin-top:var(--space-8);gap:var(--space-8)}.about-profile h2{max-width:20ch}.portrait{max-width:18rem;margin-top:var(--space-6)}.principles{grid-template-columns:1fr;gap:var(--space-6);margin-top:var(--space-8)}.principles h3{margin-top:var(--space-3)}.section-title-row{align-items:start;flex-direction:column;margin:var(--space-8) 0;gap:var(--space-6)}.experience-row{grid-template-columns:4.5rem minmax(0,1fr);gap:var(--space-3);padding:var(--space-5) 0}.experience-summary{grid-column:2}.contact-grid{grid-template-columns:1fr;margin-top:var(--space-8);gap:var(--space-8)}.site-footer{flex-wrap:wrap}.case-header{padding-top:var(--space-8);padding-bottom:var(--space-8)}.case-header h1{font-size:3.5rem}.case-headline{font-size:1.75rem}.case-meta{grid-template-columns:1fr;gap:var(--space-5)}.case-meta>div{display:grid;grid-template-columns:1fr 1.4fr;gap:var(--space-4)}.case-meta dt{margin:0}.case-cover .media-frame{aspect-ratio:1.2}.case-body{padding-top:var(--space-6);padding-bottom:var(--space-6)}.case-section{grid-template-columns:1fr;gap:var(--space-4);padding:var(--space-6) 0}.case-decisions{padding-top:var(--space-6)}.decision-grid{grid-template-columns:1fr;gap:var(--space-4)}.decision-grid>div{padding:var(--space-5)}.decision-grid h3{margin-top:var(--space-3)}.case-navigation{align-items:start;flex-direction:column;gap:var(--space-6)}.next-project{width:100%;border-top:1px solid var(--border-subtle);padding-top:var(--space-6)}.page-topbar{padding-block:var(--space-4);gap:var(--space-3);flex-wrap:wrap}.page-topbar .button{font-size:.8125rem;padding-inline:var(--space-3);gap:var(--space-3)}.resume{padding-top:var(--space-8)}.resume-header h1{font-size:3.5rem}.resume-section{margin-top:var(--space-8)}.guide-dialog{width:calc(100% - 1rem);max-height:calc(100dvh - 1rem)}.guide-body{padding:var(--space-6)}.guide-body h2{font-size:1.625rem}.guide-header{padding-inline:var(--space-6)}.content-highlight,[data-content-id]{scroll-margin-top:7rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.project-link:hover .media-image{transform:none}}
@media print{body{color:#000;background:#fff;font-size:11pt;line-height:1.5}.sidebar,.site-footer,.skip-link,.page-topbar,.guide-dialog,.toast{display:none!important}main{margin:0;max-width:none;min-height:0}.resume{padding:0;max-width:none}.resume-header h1{font-size:32pt}.resume-header .status-tag{font-size:10pt}.resume-notice{background:#fff;border-color:#555;padding:8pt 0 8pt 10pt}.resume-section{margin-top:18pt;padding-top:12pt;break-inside:avoid}.resume-section h2{font-size:15pt}.resume-section .experience-row{grid-template-columns:55pt 1fr 1.4fr;gap:10pt;padding:8pt 0}.experience-summary{grid-column:auto}.resume-section p,.experience-company,.experience-summary,.contact-details dd,.section-note{font-size:10pt}.show-codes [data-content-id]{outline:0}a{text-decoration:none}}

h1,h2,h3{overflow-wrap:break-word}.contact-details dd{overflow-wrap:anywhere}@media(max-width:400px){.experience-row{grid-template-columns:minmax(0,1fr)}.experience-summary{grid-column:auto}.case-meta>div{grid-template-columns:minmax(0,1fr);gap:var(--space-1)}}
@media(max-width:600px){.wordmark{font-size:1.75rem}.menu-toggle{gap:var(--space-2)}.menu-toggle>span{display:none}}@media(max-width:400px){.wordmark{font-size:1.5rem}}
.hero-bottom>*,.section-heading>*,.about-grid>*,.contact-grid>*,.section-title-row>*{min-width:0;max-width:100%}.section-kicker>span{min-width:0;overflow-wrap:anywhere}@media(max-width:600px){.hero-bottom,.section-heading,.about-grid,.contact-grid{grid-template-columns:minmax(0,1fr)}.button{gap:var(--space-2);padding-inline:var(--space-3);max-width:100%}}
.next-project{min-width:0}.case-navigation>*{min-width:0;max-width:100%}.decision-grid>div{min-width:0}@media(max-width:600px){.decision-grid{grid-template-columns:minmax(0,1fr)}.next-project strong{gap:var(--space-3)}}
