/*! tailwindcss v4.3.2 | 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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,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]){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;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}}@layer components;@layer utilities{.\@container{container-type:inline-size}.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}.static{position:static}.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>=96rem){.container{max-width:96rem}}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-wrap{flex-wrap:wrap}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}}:root{color-scheme:light dark;--color-background:light-dark(#f6f5f0,#151c1b);--color-background-elevated:light-dark(#eeeee7,#1b2422);--color-surface:light-dark(#fbfaf6,#202b28);--color-text:light-dark(#222e29,#edeee6);--color-text-muted:light-dark(#536159,#b2bcb4);--color-text-faint:light-dark(#626d65,#a0ada4);--color-border:light-dark(#d4d8ce,#35423b);--color-border-strong:light-dark(#a4b0a3,#667b6d);--color-accent:light-dark(#23634f,#afd1b3);--color-accent-strong:light-dark(#174b3b,#d1e6ce);--color-accent-ink:light-dark(#fff,#172a1c);--color-focus:light-dark(#23634f,#d1e6ce);--font-editorial:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;--container:72rem;--header-height:5rem;--transition:.16s ease}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*{box-sizing:border-box}html{background:var(--color-background);scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + 1.5rem)}body{background:var(--color-background);color:var(--color-text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.7}::selection{background:var(--color-accent);color:var(--color-accent-ink)}a{color:inherit;text-underline-offset:.22em;text-decoration-thickness:1px}a:hover{-webkit-text-decoration-color:var(--color-accent);-webkit-text-decoration-color:var(--color-accent);text-decoration-color:var(--color-accent)}img,svg{max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:5px}main:focus{outline:none}h1,h2,h3{color:var(--color-text);letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:550;line-height:1.15}h1{font-family:var(--font-editorial);letter-spacing:-.045em;font-size:clamp(2.65rem,5.4vw,4.6rem);font-weight:400}h2{font-family:var(--font-editorial);letter-spacing:-.035em;font-size:clamp(2rem,3.3vw,2.85rem);font-weight:400}h3{font-size:clamp(1.15rem,1.8vw,1.4rem);line-height:1.3}p,figure,dl,dd{margin:0}main{min-height:65vh}[id]{scroll-margin-top:calc(var(--header-height) + 1.5rem)}.container{width:min(100% - 4rem, var(--container));margin-inline:auto}.section-shell{padding-block:clamp(3.5rem,6.5vw,6rem)}.section-shell--compact{padding-block:clamp(3rem,5vw,4rem)}.section-muted{border-block:1px solid var(--color-border);background:var(--color-background-elevated)}.eyebrow{color:var(--color-accent);font-family:var(--font-mono);letter-spacing:.09em;text-transform:uppercase;font-size:.7rem;font-weight:500;line-height:1.65}.lead{color:var(--color-text);font-size:1.125rem;line-height:1.7}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{z-index:100;background:var(--color-accent);color:var(--color-accent-ink);padding:.7rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;border-bottom:1px solid var(--color-border);background:var(--color-background);position:sticky;top:0}.header-inner{min-height:var(--header-height);align-items:center;gap:2.5rem;display:flex}.brand{white-space:nowrap;margin-right:auto;text-decoration:none}.brand-name{letter-spacing:-.04em;font-size:1.2rem;font-weight:650}.desktop-navigation{align-items:center;gap:1.5rem;display:flex}.desktop-navigation a{min-height:2.75rem;color:var(--color-text-muted);border-bottom:1px solid #0000;align-items:center;padding-block:.4rem;font-size:.86rem;text-decoration:none;display:flex}.desktop-navigation a:hover,.desktop-navigation a[aria-current=page]{color:var(--color-text);border-color:var(--color-accent)}.header-actions{align-items:center;gap:.75rem;display:flex}.theme-toggle{border:1px solid var(--color-border);width:2.75rem;height:2.75rem;color:var(--color-text);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.theme-toggle:hover{background:var(--color-background-elevated);border-color:var(--color-border-strong)}.theme-toggle[hidden],.theme-toggle svg[hidden]{display:none}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5px;width:1.15rem}.mobile-navigation{display:none;position:relative}.mobile-navigation summary{cursor:pointer;align-items:center;gap:.6rem;min-height:2.75rem;padding:.5rem;font-size:.85rem;list-style:none;display:flex}.mobile-navigation summary::-webkit-details-marker{display:none}.mobile-navigation summary svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.5px;width:1.2rem}.mobile-navigation[open] summary{color:var(--color-accent)}.mobile-navigation nav{width:min(22rem,100vw - 2.5rem);max-height:calc(100dvh - var(--header-height) - 2rem);border:1px solid var(--color-border-strong);background:var(--color-background);padding:.75rem;display:grid;position:absolute;top:calc(100% + 1rem);right:0;overflow-y:auto;box-shadow:0 12px 24px #00000014}.mobile-navigation nav a{min-height:3rem;color:var(--color-text-muted);align-items:center;padding:.7rem 1rem;text-decoration:none;display:flex}.mobile-navigation nav a:hover,.mobile-navigation nav a[aria-current=page]{background:var(--color-background-elevated);color:var(--color-text)}.mobile-navigation nav a[aria-current=page]{box-shadow:inset 2px 0 var(--color-accent)}.button,.text-link{justify-content:center;align-items:center;gap:.8rem;min-height:2.75rem;font-size:.875rem;font-weight:600;display:inline-flex}.button{transition:background var(--transition);border:1px solid #0000;border-radius:3px;padding:.75rem 1.15rem;text-decoration:none}.button--primary{background:var(--color-accent);color:var(--color-accent-ink)}.button--primary:hover{background:var(--color-accent-strong)}.button--secondary{border-color:var(--color-border-strong)}.button--secondary:hover{background:var(--color-background-elevated)}.text-link{color:var(--color-accent);text-decoration:underline;-webkit-text-decoration-color:var(--color-border-strong);-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong)}.text-link:hover{text-decoration-color:currentColor}.text-link--muted{color:var(--color-text-muted)}.hero-actions,.inline-actions{flex-wrap:wrap;align-items:center;gap:1rem 1.75rem;margin-top:1.8rem;display:flex}.hero{padding-block:clamp(4rem,7vw,6.5rem)}.hero-grid{grid-template-columns:minmax(0,2.5fr) minmax(0,1fr);align-items:end;gap:4rem;display:grid}.hero-copy h1{margin-top:1.5rem}.hero-introduction{max-width:37rem;color:var(--color-text-muted);margin-top:1.65rem;font-size:1.125rem;line-height:1.75}.hero-profile{border-top:1px solid var(--color-border-strong);padding:1.4rem 0 0;font-size:.9rem}.hero-profile>p:not(.eyebrow){color:var(--color-text-muted);margin-top:1rem}.hero-profile .hero-location{font-size:.8rem}.hero-profile .text-link{margin-top:.8rem}.technology-band{border-block:1px solid var(--color-border);padding-block:1.1rem}.technology-band__inner{align-items:baseline;gap:1.5rem 3rem;display:flex}.technology-band__inner>p{color:var(--color-text-faint);flex:none;font-size:.75rem}.technology-tags{flex-wrap:wrap;gap:.45rem 1.15rem;margin:0;padding:0;list-style:none;display:flex}.technology-tags li{color:var(--color-text-muted);font-family:var(--font-mono);font-size:.73rem;line-height:1.65}.technology-tags--compact li{font-size:.7rem}.featured-project{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(2.5rem,6vw,5.5rem);display:grid}.featured-project__content h2{max-width:14ch;margin-top:.9rem;font-size:clamp(2.4rem,4vw,3.4rem)}.featured-project__content>p:not(.eyebrow){margin-top:1.2rem}.featured-project__content>p:not(.eyebrow,.lead){color:var(--color-text-muted)}.section-heading{max-width:44rem;margin-bottom:2.5rem}.section-heading h2,.about-preview h2,.projects-section-heading h2{margin-top:.65rem}.section-heading>p:last-child:not(.eyebrow){color:var(--color-text-muted);margin-top:1rem}.section-heading--split,.projects-section-heading{grid-template-columns:1fr 1fr;align-items:end;gap:3rem;max-width:none;margin-bottom:2.5rem;display:grid}.section-heading--split>p,.projects-section-heading>p{max-width:34rem;color:var(--color-text-muted)}.work-list{border-top:1px solid var(--color-border-strong)}.work-entry{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:3rem;padding-block:2rem;display:grid}.work-employer{color:var(--color-text-faint);margin-bottom:.5rem;font-size:.8rem}.work-entry h3 a{text-decoration:none;display:inline-block}.work-entry h3 a:hover{text-decoration:underline}.work-entry h3 a span{color:var(--color-accent)}.work-entry>p{max-width:35rem;color:var(--color-text-muted)}.section-end-link{margin-top:1.5rem}.about-preview{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.about-preview__copy{color:var(--color-text-muted);justify-items:start;gap:1rem;display:grid}.page-hero{padding-block:clamp(3.5rem,6vw,5rem) clamp(2.5rem,5vw,4rem)}.page-hero h1{max-width:20ch;margin-top:1.1rem}.page-hero__description{max-width:43rem;color:var(--color-text-muted);margin-top:1.5rem;font-size:1.1rem}.page-hero__meta{color:var(--color-text-faint);font-family:var(--font-mono);flex-wrap:wrap;gap:.6rem 1.5rem;margin-top:1.5rem;font-size:.75rem;display:flex}.breadcrumb{min-height:2.75rem;color:var(--color-text-muted);align-items:center;margin-bottom:1.5rem;font-size:.8rem;display:inline-flex}.professional-work-list{border-top:1px solid var(--color-border-strong)}.professional-work-entry{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:4rem;padding-block:3rem;display:grid}.professional-work-entry__heading{align-items:baseline;gap:1rem;display:flex}.professional-work-entry__index{color:var(--color-text-faint);font-family:var(--font-mono);font-size:.7rem}.professional-work-entry__heading h3{font-size:1.5rem}.professional-work-entry__heading p{color:var(--color-accent);margin-top:.7rem;font-size:.8rem}.professional-work-entry__body{color:var(--color-text-muted)}.professional-work-entry__body>p+p,.professional-work-entry__body>ul+p{margin-top:1.25rem}.professional-work-entry__body h4{color:var(--color-text);margin-top:1.5rem;font-size:.9rem;font-weight:600}.professional-work-entry__body ul{margin-block:.8rem;padding-left:1.2rem;list-style:outside}.professional-work-entry__body li+li{margin-top:.5rem}.professional-work-entry__technologies{border-top:1px solid var(--color-border);padding-top:1rem;font-size:.8rem}.professional-work-entry__technologies span{color:var(--color-text);margin-bottom:.4rem;font-weight:600;display:block}.experience-timeline{border-top:1px solid var(--color-border-strong);margin:0;padding:0;list-style:none}.experience-timeline>li{border-bottom:1px solid var(--color-border);padding-block:2rem}.timeline-heading{justify-content:space-between;align-items:baseline;gap:1rem 2rem;display:flex}.timeline-heading h3+p{color:var(--color-accent);margin-top:.4rem;font-size:.9rem}.period{color:var(--color-text-faint);font-family:var(--font-mono);font-size:.73rem}.experience-timeline article>p{max-width:43rem;color:var(--color-text-muted);margin-top:1rem}.experience-timeline .technology-tags{max-width:48rem;margin-top:1rem}.principles-grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:4rem;display:grid}.principle{border-top:1px solid var(--color-border);padding:1.6rem 0 1.8rem 2rem;position:relative}.principle>span{color:var(--color-text-faint);font-family:var(--font-mono);font-size:.65rem;position:absolute;top:1.8rem;left:0}.principle h3{font-size:1.15rem}.principle p{color:var(--color-text-muted);margin-top:.75rem;font-size:.95rem}.education-list{border-top:1px solid var(--color-border-strong)}.education-list article{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:start;gap:1.5rem 3rem;padding-block:1.75rem;display:flex}.education-institution{color:var(--color-accent);margin-bottom:.5rem;font-size:.85rem}.education-list h3{max-width:35rem;font-size:1.2rem}.education-meta{text-align:right;gap:.4rem;display:grid}.education-meta>span:last-child{color:var(--color-text-muted);font-size:.75rem}.about-prose{color:var(--color-text-muted);gap:1.4rem;padding-right:min(28vw,24rem);font-size:1.075rem;display:grid}.about-focus-list,.about-focus-technologies{margin-top:2rem}.about-focus-list{border-top:1px solid var(--color-border-strong)}.about-focus-list>div{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1.5fr;gap:1rem 3rem;padding-block:1.5rem;display:grid}.about-focus-list dt{font-weight:600}.about-focus-list dd{color:var(--color-text-muted)}.project-detail-grid{grid-template-columns:minmax(0,1fr) 16rem;align-items:start;gap:5rem;display:grid}.project-detail-aside{max-height:calc(100dvh - var(--header-height) - 3rem);scrollbar-width:thin;top:calc(var(--header-height) + 1.5rem);border-top:1px solid var(--color-border-strong);padding-top:1rem;position:sticky;overflow-y:auto}.project-detail-aside h2{font-family:var(--font-mono);letter-spacing:.07em;text-transform:uppercase;font-size:.7rem}.project-detail-aside .technology-tags,.project-detail-aside .text-link{margin-top:1rem}.project-toc{margin-bottom:2rem}.project-toc summary{min-height:2.75rem;font-family:var(--font-mono);cursor:pointer;padding-block:.6rem;font-size:.75rem}.project-toc ol{margin:.7rem 0 0;padding:0;list-style:none}.project-toc a{color:var(--color-text-muted);padding-block:.35rem;font-size:.8rem;text-decoration:none;display:block}.project-toc a:hover{color:var(--color-accent);text-decoration:underline}.case-study{min-width:0;max-width:46rem}.case-study h2{margin-top:3rem;font-size:2rem}.case-study>:first-child{margin-top:0}.case-study h3{margin-top:2rem}.case-study p,.case-study ul,.case-study ol{color:var(--color-text-muted);margin-top:1.1rem}.case-study ul{padding-left:1.3rem;list-style:outside}.case-study ol{padding-left:1.3rem;list-style:decimal}.case-study li+li{margin-top:.5rem}.case-study a{color:var(--color-accent);overflow-wrap:anywhere}.case-study pre{border:1px solid var(--color-border);max-width:100%;margin-block:1.5rem;padding:1rem;font-size:.85rem;overflow-x:auto}.case-study :not(pre)>code{overflow-wrap:anywhere;font-size:.9em}.case-study blockquote{border-left:2px solid var(--color-accent);margin-block:1.5rem;padding-left:1.25rem}.case-study img{height:auto}.case-study table{border-collapse:collapse;max-width:100%;margin-block:1.5rem;display:block;overflow:auto}.case-study th,.case-study td{border:1px solid var(--color-border);text-align:left;padding:.6rem .9rem}.project-architecture{max-width:46rem}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem;display:grid}.note-card{border-top:1px solid var(--color-border-strong);padding-block:1.5rem}.note-card__meta{color:var(--color-text-faint);margin-bottom:.75rem;font-size:.75rem}.note-card h2{font-size:1.8rem}.note-card>p{color:var(--color-text-muted);margin-top:1rem}.note-card__actions{margin-top:1rem}.empty-state p,.not-found p{max-width:38rem;color:var(--color-text-muted);margin-top:1rem}.not-found-code{color:var(--color-accent);font-family:var(--font-mono);font-size:.75rem}.not-found h1{margin-top:1.5rem}.contact-section{border-top:1px solid var(--color-border);padding-block:3.5rem}.contact-panel{justify-content:space-between;align-items:center;gap:2rem;display:flex}.contact-panel h2{margin-top:.5rem;font-size:2.25rem}.contact-panel p:not(.eyebrow){color:var(--color-text-muted);margin-top:.8rem;font-size:.9rem}.contact-email{min-height:2.75rem;color:var(--color-accent);-webkit-text-decoration-color:var(--color-border-strong);-webkit-text-decoration-color:var(--color-border-strong);text-decoration-color:var(--color-border-strong);align-items:center;gap:1rem;font-size:1.3rem;display:inline-flex}.contact-directory{padding-bottom:5rem}.contact-directory__email{border-block:1px solid var(--color-border-strong);justify-items:start;gap:.7rem;padding-block:2rem;text-decoration:none;display:grid}.contact-directory__email>span:last-child{font-family:var(--font-editorial);color:var(--color-accent);letter-spacing:-.03em;font-size:clamp(1.75rem,5vw,3.4rem)}.contact-directory__email:hover>span:last-child{text-decoration:underline 1px}.contact-directory__profiles{grid-template-columns:1fr 1fr;gap:3rem;max-width:45rem;margin-top:2rem;display:grid}.contact-directory__profiles a{gap:.4rem;padding-block:.5rem;text-decoration:none;display:grid}.contact-directory__profiles a:hover strong{text-decoration:underline}.contact-directory__profiles strong{font-size:1.1rem;font-weight:550}.contact-directory__profiles span{color:var(--color-text-muted);font-size:.9rem}.site-footer{border-top:1px solid var(--color-border)}.footer-inner{grid-template-columns:1fr auto;align-items:center;gap:1rem 2rem;padding-block:2rem;display:grid}.footer-inner p{color:var(--color-text-faint);font-size:.75rem}.footer-inner .footer-name{color:var(--color-text);font-size:.9rem;font-weight:600}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{min-height:2.75rem;color:var(--color-text-muted);align-items:center;font-size:.8rem;display:inline-flex}.footer-meta{grid-column:1/-1}@media (width<=64rem){.hero-grid{grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:2.5rem}.hero h1{font-size:clamp(2.65rem,5.5vw,4rem)}.header-inner{gap:1.5rem}.desktop-navigation{gap:1rem}.technology-band__inner{gap:1rem 2rem}.project-detail-grid{grid-template-columns:minmax(0,1fr) 13rem;gap:3rem}.about-prose{padding-right:15%}}@media (width<=50rem){:root{--header-height:4.5rem}.desktop-navigation{display:none}.mobile-navigation{display:block}.hero-grid{grid-template-columns:1fr;gap:2.5rem}.hero-profile{max-width:38rem}.hero-profile .eyebrow{margin-bottom:.5rem}.hero-profile>p:not(.eyebrow),.hero-profile .text-link{margin-top:.5rem}.hero h1{font-size:clamp(2.65rem,7vw,4rem)}.featured-project,.project-detail-grid,.professional-work-entry{grid-template-columns:1fr;gap:2.5rem}.featured-project__content h2{max-width:20ch}.featured-project__content{max-width:38rem}.technology-band__inner{gap:.7rem;display:grid}.project-detail-aside{grid-row:1;max-height:none;position:static;overflow:visible}.project-toc ol{columns:2;column-gap:1.5rem}.project-toc li{break-inside:avoid}.project-toc{margin-bottom:1.5rem}.contact-panel{flex-direction:column;align-items:start}.about-prose{max-width:43rem;padding-right:0}.timeline-heading{flex-wrap:wrap}.principles-grid{column-gap:2rem}}@media (width<=38rem){.container{width:min(100% - 2.5rem, var(--container))}.hero{padding-block:3.25rem}.hero-copy h1{margin-top:1.1rem}.hero-copy h1 br{display:none}.hero-introduction,.page-hero__description{font-size:1rem}.hero-introduction{margin-top:1.2rem}.hero-profile{padding-top:1.1rem}.hero-profile>.eyebrow{font-size:.62rem}.section-heading--split,.projects-section-heading,.work-entry,.about-preview,.about-focus-list>div,.principles-grid,.notes-grid{grid-template-columns:1fr;gap:1rem}.section-heading--split>p{margin-top:0}.section-heading,.projects-section-heading{margin-bottom:2rem}.work-entry{padding-block:1.6rem}.work-entry h3{font-size:1.25rem}.about-preview__copy{gap:1rem}.about-preview h2 br{display:none}.education-list article{flex-direction:column;gap:1rem}.education-meta{text-align:left}.timeline-heading{flex-direction:column;align-items:start;gap:.7rem}.principles-grid{gap:0}.contact-directory__profiles{grid-template-columns:1fr;gap:1rem}.contact-email{font-size:1.1rem}.contact-panel h2{font-size:2rem}.footer-inner{grid-template-columns:1fr}.footer-links{gap:1.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{.site-header,.site-footer,.skip-link,.contact-section{display:none}:root{color-scheme:light}body{background:#fff}.section-muted{background:0 0}.container{width:100%}.page-hero,.section-shell{padding-block:1.5rem}.project-detail-grid{display:block}.project-detail-aside{display:none}.case-study{max-width:none}h2,h3{break-after:avoid}.experience-timeline li,.education-list article{break-inside:avoid}}@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}
