@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/lora-latin-400-normal-DnxXpLNu.woff2) format("woff2"),url(/assets/lora-latin-400-normal-DBJS-Hc6.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/lora-latin-500-normal-Dh16O2IA.woff2) format("woff2"),url(/assets/lora-latin-500-normal-Dbc_1yrl.woff) format("woff")}@font-face{font-family:Lora;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/lora-latin-700-normal-BHK4Pzk4.woff2) format("woff2"),url(/assets/lora-latin-700-normal-Yfa97ytg.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/public-sans-latin-400-normal-8Rpg0ruU.woff2) format("woff2"),url(/assets/public-sans-latin-400-normal-SBbinRkI.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/public-sans-latin-500-normal-NlrCPXnF.woff2) format("woff2"),url(/assets/public-sans-latin-500-normal-vCxiVFAq.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/public-sans-latin-600-normal-Fru-LXNs.woff2) format("woff2"),url(/assets/public-sans-latin-600-normal-BR59oU-I.woff) format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/public-sans-latin-700-normal-BqJmxWdE.woff2) format("woff2"),url(/assets/public-sans-latin-700-normal-Dm-oTPSL.woff) format("woff")}:root{color-scheme:light;--color-canvas: #fdf9f4;--color-elevated: #ffffff;--color-dust: #f9efe4;--color-border: #d9dde6;--color-border-strong: #bec3cc;--color-text: #2d2f34;--color-text-secondary: #3f434a;--color-text-muted: #5e646e;--color-accent: #f67748;--color-accent-strong: #d95627;--color-accent-text: #2d2f34;--color-focus: #9b3b19;--color-header: rgb(253 249 244 / 92%);--shadow-subtle: 0 1px 3px rgb(0 0 0 / 10%), 0 2px 6px rgb(0 0 0 / 5%), 0 4px 12px rgb(0 0 0 / 1%);--font-display: "Lora", Georgia, serif;--font-body: "Public Sans", system-ui, sans-serif;--radius-card: 2rem;--radius-product: .75rem;--radius-pill: 999px;--page-width: 75rem;--section-space: clamp(4.5rem, 9vw, 7.5rem);--page-gutter: clamp(1rem, 4vw, 2rem);--transition-fast: .13s ease}:root[data-theme=dark]{color-scheme:dark;--color-canvas: #1b1917;--color-elevated: #24211f;--color-dust: #302a26;--color-border: #47413d;--color-border-strong: #625a54;--color-text: #f5eee7;--color-text-secondary: #e3d8ce;--color-text-muted: #c9beb4;--color-accent: #ff895e;--color-accent-strong: #ffad8f;--color-accent-text: #201b18;--color-focus: #ffad8f;--color-header: rgb(27 25 23 / 92%);--shadow-subtle: 0 1px 3px rgb(0 0 0 / 35%), 0 3px 12px rgb(0 0 0 / 20%)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{margin:0;min-width:20rem;min-height:100vh;overflow-x:hidden;background:var(--color-canvas);color:var(--color-text);font-family:var(--font-body);font-size:1rem;line-height:1.65;text-rendering:optimizeLegibility}button,select{color:inherit;font:inherit}button,select,a{-webkit-tap-highlight-color:transparent}a{color:inherit}img{display:block;max-width:100%}h1,h2,h3,p,ul{margin-top:0}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.18;text-wrap:balance}h1{margin-bottom:1.5rem;font-size:clamp(2.65rem,7vw,4rem);letter-spacing:-.045em}h2{margin-bottom:1rem;font-size:clamp(2rem,5vw,2.75rem);letter-spacing:-.035em}h3{margin-bottom:.75rem;font-size:clamp(1.35rem,3vw,1.65rem);letter-spacing:-.02em}p{color:var(--color-text-secondary)}::selection{background:var(--color-accent);color:var(--color-accent-text)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}.page-shell{width:min(calc(100% - 2 * var(--page-gutter)),var(--page-width));margin-inline:auto}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100;padding:.75rem 1rem;transform:translateY(-160%);border-radius:var(--radius-pill);background:var(--color-text);color:var(--color-canvas);font-weight:700;transition:transform var(--transition-fast)}.skip-link:focus{transform:translateY(0)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto;transition-duration:.01ms}}.app-header{position:sticky;top:0;z-index:20;border-bottom:1px solid var(--color-border);background:var(--color-header);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.header-inner{display:flex;min-height:4.75rem;align-items:center;justify-content:space-between;gap:1rem}.brand{display:inline-flex;min-height:2.75rem;align-items:center;gap:.75rem;font-weight:700;text-decoration:none}.brand-mark{display:inline-grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;font-family:var(--font-display);font-size:.8rem}.desktop-nav{display:flex;align-items:center;gap:clamp(.7rem,1.6vw,1.4rem)}.desktop-nav a,.mobile-nav nav a{color:var(--color-text-secondary);font-size:.875rem;font-weight:600;text-decoration:none;transition:color var(--transition-fast)}.desktop-nav a:hover,.mobile-nav nav a:hover,.text-link:hover{color:var(--color-accent-strong)}.header-controls{display:flex;align-items:center;gap:.5rem}.preference-select{position:relative;display:inline-block}.preference-select-trigger{display:grid;width:100%;min-height:2.75rem;grid-template-columns:1rem minmax(0,1fr) .75rem;align-items:center;gap:.5rem;padding:.5rem .8rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-pill);background:var(--color-canvas);color:var(--color-text-secondary);font-size:.8rem;font-weight:600;transition:border-color var(--transition-fast),background-color var(--transition-fast),color var(--transition-fast)}.preference-select-trigger:hover,.preference-select-trigger[aria-expanded=true]{border-color:var(--color-accent);background:var(--color-dust);color:var(--color-text)}.preference-select-trigger:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.preference-select-icon,.preference-select-chevron{width:1rem;height:1rem;pointer-events:none}.preference-select-icon svg,.preference-select-chevron{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.5}.preference-select-chevron{transition:transform var(--transition-fast)}.preference-select-trigger[aria-expanded=true] .preference-select-chevron{transform:rotate(180deg)}.preference-select-value,.preference-select-compact-value{overflow:hidden;pointer-events:none;text-align:left;text-overflow:ellipsis;white-space:nowrap}.preference-select-compact-value{display:none}.preference-select-options{position:absolute;top:calc(100% + .5rem);right:0;z-index:30;display:grid;min-width:max(100%,9rem);gap:.2rem;padding:.35rem;border:1px solid var(--color-border);border-radius:.9rem;background:var(--color-elevated);box-shadow:var(--shadow-subtle)}.preference-select-options[hidden]{display:none}.preference-select-option{display:grid;width:100%;min-height:2.75rem;grid-template-columns:1rem minmax(0,1fr);align-items:center;gap:.5rem;padding:.55rem .7rem;border:0;border-radius:.65rem;background:transparent;color:var(--color-text-secondary);cursor:pointer;font:inherit;text-align:left}.preference-select-option:hover,.preference-select-option:focus-visible,.preference-select-option[aria-selected=true]{outline:none;background:var(--color-dust);color:var(--color-text)}.preference-select-option-check{color:var(--color-accent-strong);opacity:0}.preference-select-option[aria-selected=true] .preference-select-option-check{opacity:1}.language-control{min-width:8.5rem}.theme-control{min-width:8rem}.mobile-nav{position:relative;display:none}.mobile-nav summary{display:grid;width:2.75rem;height:2.75rem;cursor:pointer;list-style:none;place-items:center;border:1px solid var(--color-border-strong);border-radius:50%;font-size:1.5rem}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;top:calc(100% + .75rem);right:0;display:grid;min-width:13rem;gap:.25rem;padding:.75rem;border:1px solid var(--color-border);border-radius:1rem;background:var(--color-elevated);box-shadow:var(--shadow-subtle)}.mobile-nav nav a{min-height:2.75rem;padding:.65rem .8rem;border-radius:.5rem}.mobile-nav nav a:hover{background:var(--color-dust)}.hero-section{display:flex;min-height:min(51rem,calc(100vh - 4.75rem));flex-direction:column;align-items:center;justify-content:center;padding-block:clamp(4rem,9vw,7.5rem);text-align:center}.avatar{width:clamp(8rem,18vw,11rem);height:clamp(8rem,18vw,11rem);margin-bottom:1.75rem;border:5px solid var(--color-elevated);border-radius:50%;background:var(--color-dust);box-shadow:var(--shadow-subtle);object-fit:cover}.avatar-fallback{display:grid;place-items:center;color:var(--color-text);font-family:var(--font-display);font-size:2.5rem;font-weight:700}.eyebrow,.card-kicker{margin-bottom:.8rem;color:var(--color-text-muted);font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.hero-section h1{max-width:60rem}.scribble{position:relative;display:inline-block;z-index:0}.scribble:after{position:absolute;right:-.18em;bottom:-.12em;left:-.18em;z-index:-1;height:.45em;border:2px solid var(--color-accent);border-top:0;border-radius:50%;content:"";transform:rotate(-1.5deg)}.hero-summary{max-width:46rem;margin-bottom:1.75rem;color:var(--color-text-muted);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.6}.chip-list,.technology-list{display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none}.chip-list{justify-content:center;margin-bottom:2rem}.chip-list li,.technology-list li{border-radius:var(--radius-pill);background:var(--color-dust);color:var(--color-text-secondary);font-size:.8rem;font-weight:600}.chip-list li{padding:.55rem 1rem}.technology-list li{padding:.35rem .7rem}.hero-actions,.card-links,.contact-links{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem}.hero-actions{justify-content:center}.button,.text-link{display:inline-flex;min-height:2.75rem;align-items:center;justify-content:center;gap:.45rem;font-weight:700;text-decoration:none}.button{padding:.7rem 1.25rem;border:2px solid transparent;border-radius:var(--radius-pill)}.button-primary{background:var(--color-accent);color:var(--color-accent-text)}.button-primary:hover{background:var(--color-accent-strong)}.button-secondary{background:var(--color-text);color:var(--color-canvas)}.button-outline{border-color:var(--color-text);color:var(--color-text)}.text-link{color:var(--color-text-secondary);text-underline-offset:.25rem}.text-link:hover{text-decoration:underline}.content-section{padding-block:var(--section-space)}.section-heading{max-width:48rem;margin-bottom:clamp(2.25rem,5vw,4rem)}.section-intro{max-width:42rem;margin-bottom:0;color:var(--color-text-muted);font-size:1.08rem}.about-copy{max-width:55rem;margin-bottom:0;font-family:var(--font-display);font-size:clamp(1.45rem,3.5vw,2.2rem);line-height:1.45}.timeline{position:relative;display:grid;gap:2rem}.timeline:before{position:absolute;top:1rem;bottom:1rem;left:.5rem;width:1px;background:var(--color-border-strong);content:""}.timeline-item{position:relative;display:grid;grid-template-columns:1rem minmax(0,1fr);gap:1.5rem}.timeline-marker{z-index:1;width:1rem;height:1rem;margin-top:1rem;border:3px solid var(--color-canvas);border-radius:50%;background:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.timeline-card,.education-card,.project-card,.capability-card{border-radius:var(--radius-card);background:var(--color-dust)}.timeline-card{padding:clamp(1.5rem,4vw,2.5rem)}.timeline-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem}.company-line,.date-label,.location-label,.status-line{color:var(--color-text-muted);font-size:.875rem}.company-line{margin-bottom:.4rem;font-weight:700}.date-label{flex:none;margin-bottom:.75rem;font-weight:700}.location-label{margin-bottom:1.25rem}.impact-list{display:grid;gap:.75rem;padding-left:1.25rem;color:var(--color-text-secondary)}.impact-list li::marker{color:var(--color-accent)}.technology-list{margin-block:1.5rem 0}.selected-work-section{background:var(--color-dust)}.work-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}.work-card{display:flex;min-width:0;flex-direction:column;padding:clamp(1.5rem,4vw,2.75rem);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-elevated)}.work-card-featured{border-left:3px solid var(--color-accent)}.work-card>p:not(.card-kicker){flex:1}.metric-block{display:grid;margin-block:1rem 1.5rem;gap:.15rem}.metric-block strong{font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);font-weight:500}.metric-block span{color:var(--color-text-muted);font-size:.85rem}.education-grid,.project-grid,.capability-grid{display:grid;gap:1rem}.education-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.education-card,.project-card,.capability-card{padding:clamp(1.35rem,3vw,2rem)}.education-card p:last-child,.project-card p:last-child,.capability-card p:last-child{margin-bottom:0}.status-line{margin-bottom:0;font-weight:700}.jig-card{display:grid;grid-template-columns:minmax(16rem,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(1.5rem,5vw,4rem);margin-bottom:1.25rem;padding:clamp(1.5rem,4vw,3rem);border-radius:var(--radius-card);background:var(--color-dust)}.jig-copy .button{margin-top:.5rem}.product-frame{overflow:hidden;border-radius:var(--radius-product);background:var(--color-elevated);box-shadow:var(--shadow-subtle)}.product-frame img{width:100%;height:auto}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.capability-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.project-card,.capability-card{display:flex;min-width:0;flex-direction:column}.project-summary{color:var(--color-text-secondary);font-size:1.02rem}.project-details{display:grid;flex:1;gap:1rem;margin-block:1.5rem}.project-details div{padding-top:.85rem;border-top:1px solid var(--color-border)}.project-details dt{margin-bottom:.25rem;color:var(--color-text);font-size:.8rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.project-details dd{margin:0;color:var(--color-text-muted);font-size:.9rem;line-height:1.55}.project-card .text-link{align-self:flex-start}.capability-card{border-top:2px solid var(--color-accent)}.contact-section{padding-block:var(--section-space)}.contact-inner{padding:clamp(2rem,7vw,5rem);border-radius:var(--radius-card);background:var(--color-text);color:var(--color-canvas)}.contact-inner h2,.contact-inner .eyebrow,.contact-inner p{color:inherit}.contact-inner p:not(.eyebrow){max-width:45rem;font-size:1.08rem}.contact-inner .button-outline{border-color:var(--color-canvas);color:var(--color-canvas)}.page-footer{padding-block:2rem;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.8rem}.page-footer .page-shell{display:flex;justify-content:space-between;gap:1rem}@media(max-width:68rem){.desktop-nav{display:none}.mobile-nav{display:block}.project-grid,.capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:48rem){.header-inner{gap:.5rem}.brand>span:last-child{display:none}.header-controls{gap:.35rem}.preference-select-trigger{grid-template-columns:minmax(0,1fr) .7rem;gap:.35rem;padding-inline:.6rem;font-size:.75rem}.preference-select-icon,.preference-select-value{display:none}.preference-select-compact-value{display:block}.language-control{min-width:4.5rem}.theme-control{min-width:5.5rem}.work-grid,.education-grid,.jig-card{grid-template-columns:1fr}.jig-copy{order:1}.timeline-card-header{display:block}.page-footer .page-shell{flex-direction:column}}@media(max-width:36rem){.project-grid,.capability-grid{grid-template-columns:1fr}.timeline-item{gap:.9rem}.hero-actions,.contact-links{align-items:stretch;flex-direction:column}.hero-actions .text-link{min-height:2.75rem}}
