@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit}}@layer tokens{:root{--bg:#f3f2ec;--bg-elevated:#faf9f5;--surface:#ffffff9e;--surface-strong:#fffefa;--text:#142027;--muted:#5f6d70;--faint:#899396;--border:#ccd1cc;--border-strong:#9aa7a4;--accent:#176b67;--accent-hover:#0f5552;--accent-soft:#d7e9e3;--accent-contrast:#fff;--signal:#c75937;--header-bg:#f3f2ece0;--grid-line:#1420270b;--shadow-sm:0 10px 35px #222c2e12;--shadow-lg:0 30px 80px #222c2e1f;--max-width:75rem;--measure:45rem;--radius-sm:.5rem;--radius-md:1rem;--radius-lg:1.5rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--step--1:clamp(.78rem, .75rem + .12vw, .86rem);--step-0:clamp(1rem, .96rem + .18vw, 1.1rem);--step-1:clamp(1.2rem, 1.08rem + .48vw, 1.5rem);--step-2:clamp(1.5rem, 1.28rem + .9vw, 2.05rem);--step-3:clamp(2rem, 1.58rem + 1.75vw, 3.05rem);--step-4:clamp(2.7rem, 1.9rem + 3.2vw, 4.9rem);--step-5:clamp(3.3rem, 2rem + 5vw, 6.7rem)}:root[data-theme=dark]{--bg:#0a1014;--bg-elevated:#0e171c;--surface:#131e23c7;--surface-strong:#111c21;--text:#edf3ef;--muted:#a4b2b0;--faint:#778987;--border:#293a3d;--border-strong:#49605f;--accent:#75c9bc;--accent-hover:#9ce0d5;--accent-soft:#183b39;--accent-contrast:#071412;--signal:#f09169;--header-bg:#0a1014e0;--grid-line:#dbeae50b;--shadow-sm:0 12px 40px #0003;--shadow-lg:0 35px 90px #00000057}}@layer base{html{background:var(--bg);color-scheme:light}html[data-theme=dark]{color-scheme:dark}body{min-width:20rem;min-height:100vh;color:var(--text);background-color:var(--bg);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--step-0);text-rendering:optimizelegibility;background-size:48px 48px;line-height:1.65}main{overflow:clip}h1,h2,h3,h4{color:var(--text);letter-spacing:-.035em;text-wrap:balance;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.05}h1{font-size:var(--step-5)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}p,li{color:var(--muted)}a{color:inherit;text-underline-offset:.18em;text-decoration-thickness:.08em}a:hover{color:var(--accent-hover)}:focus-visible{outline:3px solid var(--signal);outline-offset:4px;border-radius:.15rem}::selection{color:var(--text);background:var(--accent-soft)}}@layer components{.container-wide,.container,.container-narrow{width:min(100% - 2rem, var(--max-width));margin-inline:auto}.container{width:min(100% - 2rem,68rem)}.container-narrow{width:min(100% - 2rem, var(--measure))}.section{padding-block:var(--space-9)}.section-tight{padding-block:var(--space-8)}.surface-section{border-block:1px solid var(--border);background:color-mix(in srgb, var(--bg-elevated) 82%, transparent);position:relative}.skip-link{z-index:100;color:var(--accent-contrast);background:var(--accent);border-radius:var(--radius-sm);padding:.7rem 1rem;transition:transform .15s;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.site-header{z-index:50;background:var(--header-bg);backdrop-filter:blur(18px);border-bottom:1px solid #0000;position:sticky;top:0}.site-header:after{background:linear-gradient(90deg, transparent, var(--border), transparent);content:"";height:1px;position:absolute;bottom:-1px;left:0;right:0}.header-inner{align-items:center;gap:1rem;min-height:4.75rem;display:flex}.brand{color:var(--text);white-space:nowrap;align-items:center;gap:.65rem;text-decoration:none;display:inline-flex}.brand span{letter-spacing:-.025em;font-size:.98rem}.brand strong{color:var(--accent);font-weight:700}.brand-mark{width:2rem;height:2rem;color:var(--accent);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px}.brand-mark circle{fill:var(--signal);stroke:none}.desktop-nav{align-items:center;gap:clamp(.8rem,1.4vw,1.55rem);margin-left:auto;display:flex}.desktop-nav a{color:var(--muted);font-size:var(--step--1);font-weight:600;text-decoration:none;position:relative}.desktop-nav a:hover,.desktop-nav a[aria-current=page]{color:var(--text)}.desktop-nav a[aria-current=page]:after{background:var(--signal);content:"";height:2px;position:absolute;bottom:-.65rem;left:0;right:0}.header-actions{align-items:center;gap:.65rem;margin-left:.25rem;display:flex}.icon-button{width:2.7rem;height:2.7rem;color:var(--text);border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--border-strong);background:var(--surface-strong)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.12rem}:root[data-theme=dark] .sun-icon,:root[data-theme=light] .moon-icon{display:none}.menu-button{align-content:center;gap:4px;display:none}.menu-button span{background:currentColor;width:1rem;height:1px;transition:transform .18s,opacity .18s;display:block}.menu-button[aria-expanded=true] span:first-child{transform:translateY(5px)rotate(45deg)}.menu-button[aria-expanded=true] span:nth-child(2){opacity:0}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-5px)rotate(-45deg)}.mobile-nav{border-bottom:1px solid var(--border);background:var(--bg-elevated)}.mobile-nav .container-wide{padding-block:.75rem 1.5rem;display:grid}.mobile-nav a{color:var(--text);border-bottom:1px solid var(--border);padding:.9rem 0;font-size:1.08rem;font-weight:650;text-decoration:none}.mobile-nav a[aria-current=page]{color:var(--accent)}.mobile-nav .mobile-recruiter{color:var(--accent);border-bottom:0}.button{min-height:3rem;color:var(--accent-contrast);border:1px solid var(--accent);background:var(--accent);border-radius:999px;justify-content:center;align-items:center;gap:.55rem;padding:.76rem 1.2rem;font-size:.9rem;font-weight:700;line-height:1.1;text-decoration:none;transition:transform .18s,background .18s,box-shadow .18s;display:inline-flex}.button:hover{color:var(--accent-contrast);background:var(--accent-hover);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.button-small{min-height:2.65rem;padding:.62rem 1rem;font-size:.8rem}.button-secondary{color:var(--text);border-color:var(--border-strong);background:var(--surface)}.button-secondary:hover{color:var(--text);background:var(--surface-strong)}.button-quiet{color:var(--text);background:0 0;border-color:#0000}.button-quiet:hover{color:var(--accent-hover);background:var(--accent-soft);box-shadow:none}.text-link{color:var(--accent);align-items:center;gap:.4rem;font-size:.91rem;font-weight:750;text-decoration:none;display:inline-flex}.text-link span{transition:transform .16s}.text-link:hover span{transform:translate(2px,-2px)}.eyebrow{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--step--1);letter-spacing:.08em;text-transform:uppercase;font-weight:700;line-height:1.4}.section-heading{max-width:48rem;margin-bottom:var(--space-7)}.section-heading h2{margin-top:.75rem}.section-heading .section-description{max-width:42rem;font-size:var(--step-1);margin-top:1.2rem}.section-heading.align-center{text-align:center;margin-inline:auto}.badge-list{flex-wrap:wrap;gap:.5rem;display:flex}.skill-badge{color:var(--muted);border:1px solid var(--border);background:var(--surface);border-radius:999px;padding:.35rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.7rem;line-height:1.3;display:inline-flex}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.project-card,.article-card,.highlight-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);flex-direction:column;min-width:0;padding:clamp(1.4rem,2.4vw,2rem);transition:border-color .18s,box-shadow .18s,transform .18s;display:flex;position:relative;box-shadow:0 0 #0000}.project-card:hover,.article-card:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-4px)}.project-card-top{justify-content:space-between;align-items:flex-start;gap:1rem;min-height:2.25rem;display:flex}.project-index{color:var(--faint);font-family:ui-monospace,monospace;font-size:.72rem}.project-card h3,.article-card h3{font-size:var(--step-2);margin-top:2.4rem}.project-card h3 a,.article-card h3 a{text-decoration:none}.project-card>p,.article-card>p{margin-top:1rem}.project-card .badge-list{margin-top:1.5rem}.project-card .text-link,.article-card .text-link{margin-top:auto;padding-top:2rem}.project-card:after{background:linear-gradient(90deg, var(--accent), var(--signal), transparent);content:"";opacity:0;height:2px;transition:opacity .18s;position:absolute;top:0;left:2rem;right:2rem}.project-card:hover:after{opacity:1}.highlight-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.highlight-card h3{font-size:var(--step-1);margin-top:1.5rem;line-height:1.2}.highlight-card>p:last-child{margin-top:.8rem;font-size:.92rem}.article-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;display:grid}.article-meta{color:var(--faint);text-transform:uppercase;justify-content:space-between;gap:1rem;font-family:ui-monospace,monospace;font-size:.7rem;display:flex}.architecture{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);padding:clamp(1rem,3vw,2.2rem);overflow:hidden}.architecture-track{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:.7rem;display:grid}.architecture-node{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);min-height:7.4rem;padding:1rem}.architecture-node span{color:var(--signal);font-family:ui-monospace,monospace;font-size:.7rem;display:block}.architecture-node strong{margin-top:1.3rem;font-size:.82rem;line-height:1.35;display:block}.architecture-arrow{color:var(--faint);font-family:ui-monospace,monospace}.architecture figcaption{color:var(--muted);margin-top:1.25rem;font-size:.86rem}.cta-band{justify-content:space-between;align-items:center;gap:var(--space-7);margin-block:var(--space-9);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:var(--shadow-lg);padding:clamp(1.6rem,4vw,3.4rem);display:flex}.cta-band>div:first-child{max-width:43rem}.cta-band h2{margin-top:.7rem}.cta-band p:not(.eyebrow){margin-top:1rem}.cta-actions{flex-wrap:wrap;flex:none;gap:.5rem;display:flex}.site-footer{padding-top:var(--space-8);border-top:1px solid var(--border);background:var(--bg-elevated)}.footer-grid{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.footer-grid>div:first-child p{margin-top:1rem;font-size:.92rem}.footer-links{flex-wrap:wrap;gap:1.5rem;display:flex}.footer-links a{color:var(--muted);font-size:.86rem;font-weight:650;text-decoration:none}.footer-bottom{margin-top:var(--space-7);color:var(--faint);border-top:1px solid var(--border);text-transform:uppercase;justify-content:space-between;gap:1rem;padding-block:1.2rem;font-family:ui-monospace,monospace;font-size:.68rem;display:flex}}@layer pages{.hero{padding-block:clamp(5.5rem,10vw,9.5rem);position:relative}.hero-grid{grid-template-columns:minmax(0,1.06fr) minmax(22rem,.94fr);align-items:center;gap:clamp(2rem,6vw,6rem);display:grid}.hero-copy h1{max-width:13ch;margin-top:1.2rem}.hero-copy .lede{max-width:42rem;font-size:var(--step-1);margin-top:1.7rem}.hero-actions{flex-wrap:wrap;gap:.65rem;margin-top:2.25rem;display:flex}.positioning-line{border-top:1px solid var(--border);flex-wrap:wrap;gap:.6rem 1.3rem;margin-top:2.8rem;padding-top:1.4rem;display:flex}.positioning-line span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.72rem;position:relative}.positioning-line span:not(:last-child):after{background:var(--signal);content:"";border-radius:50%;width:3px;height:3px;position:absolute;top:50%;right:-.75rem}.hero-signal{color:var(--accent);border:1px solid var(--border);border-radius:var(--radius-lg);background:radial-gradient(circle at 70% 20%, var(--accent-soft), transparent 36%), var(--surface);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.hero-signal:after{border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.hero-signal svg{width:100%;height:auto}.signal-path{stroke-dasharray:8 10;animation:12s linear infinite signal-flow}.signal-nodes{color:var(--signal);fill:currentColor}.signal-nodes circle{transform-box:fill-box;transform-origin:50%;animation:3s ease-in-out infinite alternate node-pulse}.signal-nodes circle:nth-child(2n){animation-delay:-1.5s}.vector-labels{fill:var(--muted);letter-spacing:.02em;font-family:ui-monospace,monospace;font-size:10px}.signal-status{color:var(--muted);border:1px solid var(--border);background:var(--bg-elevated);letter-spacing:.03em;text-transform:uppercase;border-radius:999px;align-items:center;gap:.5rem;padding:.45rem .7rem;font-family:ui-monospace,monospace;font-size:.63rem;display:flex;position:absolute;bottom:1rem;right:1rem}.signal-status span{background:var(--signal);width:.45rem;height:.45rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--signal) 18%, transparent);border-radius:50%}@keyframes signal-flow{to{stroke-dashoffset:-180px}}@keyframes node-pulse{to{transform:scale(1.25)}}.intro-grid{grid-template-columns:.7fr 1.3fr;gap:clamp(2rem,7vw,7rem);display:grid}.intro-grid .intro-copy{max-width:46rem}.intro-grid .intro-copy>p:first-child{color:var(--text);font-family:Georgia,serif;font-size:var(--step-2);line-height:1.35}.intro-grid .intro-copy>p+p{margin-top:1.3rem}.intro-grid .text-link{margin-top:1.7rem}.expertise-grid{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.expertise-item{border-right:1px solid var(--border);border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg) 75%, transparent);min-height:16rem;padding:1.5rem}.expertise-item .number{color:var(--signal);font-family:ui-monospace,monospace;font-size:.7rem}.expertise-item h3{font-size:var(--step-1);margin-top:3.5rem}.expertise-item p{margin-top:.8rem;font-size:.88rem}.page-hero{border-bottom:1px solid var(--border);padding-block:clamp(4.8rem,9vw,8rem) clamp(3rem,6vw,5rem)}.page-hero .page-kicker{margin-bottom:1.1rem}.page-hero h1{max-width:15ch;font-size:var(--step-4)}.page-hero .page-lede{max-width:47rem;font-size:var(--step-1);margin-top:1.5rem}.page-hero .hero-actions{margin-top:1.8rem}.about-story{grid-template-columns:minmax(14rem,.55fr) minmax(0,1.45fr);gap:clamp(2rem,8vw,7rem);display:grid}.sticky-label{align-self:start;position:sticky;top:7rem}.prose{max-width:var(--measure)}.prose>*+*{margin-top:1.25rem}.prose h2{font-size:var(--step-2);margin-top:3.5rem}.prose h3{font-size:var(--step-1);margin-top:2.5rem}.prose p,.prose li{color:var(--muted)}.prose ul,.prose ol{padding-left:1.35rem}.prose li+li{margin-top:.6rem}.prose strong{color:var(--text)}.prose blockquote{border-left:3px solid var(--signal);background:var(--surface);padding:1.2rem 1.4rem}.prose blockquote p{color:var(--text)}.philosophy-grid{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.philosophy-card{border-top:2px solid var(--accent);background:var(--surface);padding:1.6rem}.philosophy-card h3{font-size:var(--step-1)}.philosophy-card p{margin-top:.8rem;font-size:.9rem}.skills-columns{grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.skills-group{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:1.6rem}.skills-group h3{letter-spacing:0;font-family:ui-sans-serif,sans-serif;font-size:.92rem;font-weight:750}.skills-group .badge-list{margin-top:1rem}.projects-list{gap:1rem;display:grid}.projects-list .project-card{grid-template-columns:.28fr 1fr 1.1fr;align-items:start;gap:2rem;display:grid}.projects-list .project-card-top{display:block}.projects-list .project-card h3,.projects-list .project-card>p{margin-top:0}.projects-list .project-card .badge-list{grid-column:2/4;margin-top:0}.projects-list .project-card .text-link{grid-column:2/4;padding-top:.5rem}.case-hero{padding-block:clamp(4rem, 8vw, 7.5rem) var(--space-7)}.back-link{margin-bottom:var(--space-7);color:var(--muted);gap:.45rem;font-size:.86rem;font-weight:650;text-decoration:none;display:inline-flex}.case-hero h1{max-width:16ch;font-size:var(--step-4)}.case-summary{grid-template-columns:1.35fr .65fr;align-items:end;gap:clamp(2rem,8vw,7rem);margin-top:2rem;display:grid}.case-summary>p{max-width:50rem;font-size:var(--step-1)}.case-meta{border-left:1px solid var(--border);padding-left:1.3rem}.case-meta span{color:var(--faint);text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.68rem;display:block}.case-meta strong{margin-top:.45rem;font-size:.92rem;display:block}.case-layout{grid-template-columns:minmax(14rem,.5fr) minmax(0,1.5fr);gap:clamp(2rem,8vw,7rem);display:grid}.case-sidebar{align-self:start;position:sticky;top:7rem}.case-sidebar h2{letter-spacing:.08em;text-transform:uppercase;font-family:ui-sans-serif,sans-serif;font-size:.78rem;font-weight:800}.case-sidebar .badge-list{margin-top:1.2rem}.case-content{min-width:0}.case-content .prose{max-width:49rem}.case-content .prose h2:first-child{margin-top:0}.case-results{margin-top:var(--space-8);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:clamp(1.4rem,4vw,2.4rem)}.case-results h2{font-size:var(--step-2)}.case-results ul{margin-top:1rem;padding-left:1.3rem}.draft-notice{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:clamp(1.4rem,4vw,2.2rem)}.draft-notice h2{font-size:var(--step-2)}.draft-list{border-top:1px solid var(--border);gap:0;margin-top:2rem;display:grid}.draft-item{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:1rem;padding-block:1.2rem;display:grid}.draft-item strong{font-family:Georgia,serif;font-size:1.12rem;font-weight:500}.draft-item span{color:var(--faint);text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.7rem}.recruiter-hero{padding-block:clamp(3.5rem,7vw,6rem)}.recruiter-topline{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:2rem;padding-bottom:1.2rem;display:flex}.recruiter-topline span{color:var(--faint);text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.72rem}.recruiter-intro{padding-top:var(--space-7);grid-template-columns:1.2fr .8fr;gap:clamp(2rem,7vw,6rem);display:grid}.recruiter-intro h1{font-size:var(--step-4)}.recruiter-intro .summary{font-size:var(--step-1);align-self:end}.overview-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.overview-panel{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface);padding:clamp(1.4rem,3vw,2.2rem)}.overview-panel h2{font-size:var(--step-1)}.overview-panel ul{margin-top:1rem;padding-left:1.2rem}.overview-panel li+li{margin-top:.45rem}.overview-panel.wide{grid-column:1/-1}.role-list{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.role-list span{color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-elevated);padding:.55rem .75rem;font-size:.83rem}.quick-contact{margin-top:var(--space-7);flex-wrap:wrap;gap:.6rem;display:flex}.resume-grid{grid-template-columns:minmax(16rem,.55fr) minmax(0,1.45fr);align-items:start;gap:clamp(2rem,7vw,6rem);display:grid}.resume-summary{position:sticky;top:7rem}.resume-summary h2{font-size:var(--step-2)}.resume-summary p{margin-top:1rem}.resume-summary .hero-actions{margin-top:1.5rem}.resume-frame{border:1px solid var(--border);border-radius:var(--radius-md);min-height:55rem;box-shadow:var(--shadow-lg);background:#fff;overflow:hidden}.resume-frame img{border:0;width:100%;height:auto;display:block}.contact-grid{grid-template-columns:minmax(0,.85fr) minmax(24rem,1.15fr);align-items:start;gap:clamp(2.5rem,7vw,6rem);display:grid}.contact-grid h1{max-width:11ch;font-size:var(--step-4)}.contact-grid .page-lede{max-width:39rem;font-size:var(--step-1);margin-top:1.5rem}.contact-intro .contact-list{margin-top:2.5rem}.contact-list{border-top:1px solid var(--border);display:grid}.contact-link{border-bottom:1px solid var(--border);grid-template-columns:7rem 1fr auto;align-items:center;gap:1rem;padding-block:1.3rem;text-decoration:none;display:grid}.contact-link span:first-child{color:var(--faint);text-transform:uppercase;font-family:ui-monospace,monospace;font-size:.7rem}.contact-link strong{overflow-wrap:anywhere}.contact-form{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-strong);box-shadow:var(--shadow-lg);gap:1.25rem;padding:clamp(1.25rem,4vw,2rem);display:grid;position:relative}.contact-form-heading{padding-bottom:.4rem}.contact-form-heading h2{font-size:var(--step-2);margin-top:.35rem}.contact-form-heading p:last-child{color:var(--muted);margin-top:.75rem;font-size:.9rem}.contact-field-row{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.contact-field{gap:.45rem;display:grid}.contact-field label{color:var(--text-strong);font-size:.82rem;font-weight:700}.contact-field input,.contact-field select,.contact-field textarea{border:1px solid var(--border-strong);border-radius:var(--radius-sm);width:100%;color:var(--text);background:var(--bg-elevated);padding:.8rem .9rem}.contact-field textarea{resize:vertical;min-height:10rem;line-height:1.55}.contact-field input:focus-visible,.contact-field select:focus-visible,.contact-field textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.contact-field small,.contact-privacy,.contact-status,.contact-verification{color:var(--muted);font-size:.75rem;line-height:1.5}.contact-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.contact-verification{min-height:4.1rem}.contact-submit-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.contact-privacy{max-width:29rem}.contact-status{min-height:1.2rem;margin:0;font-weight:700}.contact-status[data-kind=success]{color:var(--accent)}.contact-status[data-kind=error]{color:#a33a2b}.contact-form .button:disabled{cursor:not-allowed;opacity:.55;transform:none}.not-found{min-height:68vh;padding-block:var(--space-8);text-align:center;place-items:center;display:grid}.not-found-code{color:var(--accent);letter-spacing:-.1em;opacity:.18;font-family:ui-monospace,monospace;font-size:clamp(5rem,20vw,14rem);font-weight:700;line-height:.8}.not-found h1{font-size:var(--step-3);margin-top:-2rem}.not-found p{max-width:32rem;margin:1.2rem auto 0}.not-found .hero-actions{justify-content:center}}@layer utilities{.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}.accent{color:var(--accent)}.signal{color:var(--signal)}@media (width<=68rem){.project-grid,.article-grid{grid-template-columns:repeat(2,1fr)}.project-card:last-child,.article-card:last-child{grid-column:1/-1}.expertise-grid{grid-template-columns:repeat(2,1fr)}.architecture-track{grid-template-columns:1fr auto 1fr auto 1fr}.architecture-node:nth-of-type(n+4),.architecture-node:nth-of-type(n+4)+.architecture-arrow{margin-top:.5rem}}@media (width<=55rem){.desktop-nav,.recruiter-button{display:none}.header-actions{margin-left:auto}.menu-button{display:grid}body.menu-open{overflow:hidden}.hero-grid{grid-template-columns:1fr}.hero-copy h1{max-width:15ch}.hero-signal{width:min(100%,38rem)}.intro-grid,.about-story,.case-layout,.resume-grid,.contact-grid{grid-template-columns:1fr}.sticky-label,.case-sidebar,.resume-summary{position:static}.highlight-grid,.philosophy-grid,.skills-columns,.case-summary,.recruiter-intro{grid-template-columns:1fr}.case-meta{border-top:1px solid var(--border);border-left:0;padding-top:1rem;padding-left:0}.projects-list .project-card{grid-template-columns:1fr}.projects-list .project-card .badge-list,.projects-list .project-card .text-link{grid-column:auto}.overview-grid{grid-template-columns:1fr}.overview-panel.wide{grid-column:auto}.resume-frame{height:auto;min-height:0}}@media (width<=42rem){:root{--space-9:5rem}.container-wide,.container,.container-narrow{width:min(100% - 1.25rem, var(--max-width))}.header-inner{min-height:4.2rem}.brand span{display:none}.project-grid,.article-grid,.expertise-grid{grid-template-columns:1fr}.project-card:last-child,.article-card:last-child{grid-column:auto}.expertise-item{min-height:auto}.expertise-item h3{margin-top:2.5rem}.cta-band,.footer-grid{flex-direction:column;align-items:stretch}.cta-actions{width:100%}.cta-actions .button{flex:100%}.footer-links{grid-template-columns:repeat(2,1fr);display:grid}.footer-bottom{flex-direction:column}.architecture-track{flex-direction:column;align-items:stretch;display:flex}.architecture-node{min-height:auto}.architecture-node strong{margin-top:.8rem}.architecture-arrow{align-self:center;transform:rotate(90deg)}.recruiter-topline{flex-direction:column;align-items:flex-start}.contact-link{grid-template-columns:1fr auto}.contact-link span:first-child{grid-column:1/-1}.contact-field-row{grid-template-columns:1fr}.contact-submit-row{flex-direction:column;align-items:stretch}.contact-submit-row .button{width:100%}.resume-frame{height:auto;min-height:0}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media print{.site-header,.site-footer,.cta-band{display:none}body{color:#000;background:#fff}.section{padding-block:2rem}}}.history-shell{max-width:920px}.history-login{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface-raised);max-width:620px;margin-top:2rem;padding:1.5rem}.history-login label{margin-bottom:.5rem;font-weight:700;display:block}.history-login-row,.history-toolbar{align-items:center;gap:.75rem;display:flex}.history-login-row input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:0;color:var(--text);background:var(--surface);font:inherit;flex:1;padding:.8rem .9rem}.history-results{margin-top:3rem}.history-results[hidden]{display:none}.history-toolbar{justify-content:space-between;margin-bottom:1.25rem}.history-list{gap:1rem;display:grid}.history-entry{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-raised);padding:1.25rem}.history-entry h2{font-size:var(--step-1);margin:.5rem 0 .75rem}.history-entry p{margin:0}.history-meta{color:var(--muted);font:700 .75rem/1.4 var(--font-mono);letter-spacing:.04em;text-transform:uppercase}@media (width<=640px){.history-login-row,.history-toolbar{flex-direction:column;align-items:stretch}}.chat-assistant{z-index:50;position:fixed;bottom:clamp(1rem,3vw,2rem);right:clamp(1rem,3vw,2rem)}.chat-launcher{border:1px solid var(--border-strong);min-height:3rem;color:var(--text-strong);background:color-mix(in srgb, var(--surface) 92%, transparent);font:inherit;cursor:pointer;backdrop-filter:blur(16px);border-radius:999px;align-items:center;gap:.6rem;padding:.75rem 1rem;font-size:.9rem;font-weight:700;display:inline-flex;box-shadow:0 16px 44px #0000002e}.chat-launcher:hover{border-color:var(--accent);transform:translateY(-1px)}.chat-launcher-dot{background:var(--accent);width:.55rem;height:.55rem;box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 18%, transparent);border-radius:50%}.chat-panel{border:1px solid var(--border-strong);background:var(--surface);border-radius:1.1rem;width:min(27rem,100vw - 2rem);max-height:min(46rem,100vh - 7rem);display:grid;position:absolute;bottom:calc(100% + .8rem);right:0;overflow:hidden;box-shadow:0 24px 70px #0000003d}.chat-panel[hidden]{display:none}.chat-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1rem .8rem;display:flex}.chat-header .eyebrow{margin-bottom:.25rem}.chat-header h2{margin:0;font-size:1.12rem}.chat-close{width:2rem;height:2rem;color:var(--text-muted);background:var(--surface-raised);font:inherit;cursor:pointer;border:0;border-radius:50%;place-items:center;padding:0;font-size:1.35rem;display:grid}.chat-notice{color:var(--text-muted);background:color-mix(in srgb, var(--accent) 8%, var(--surface));padding:.65rem 1rem;font-size:.76rem;line-height:1.45}.chat-messages{align-content:start;gap:.75rem;min-height:9rem;max-height:18rem;padding:1rem;display:grid;overflow-y:auto}.chat-message{width:fit-content;max-width:90%;color:var(--text);background:var(--surface-raised);border-radius:.9rem;padding:.75rem .85rem;font-size:.88rem;line-height:1.55}.chat-message p{margin:0}.chat-message-visitor{color:var(--button-text);background:var(--accent);border-bottom-right-radius:.25rem;justify-self:end}.chat-message-assistant{border-bottom-left-radius:.25rem}.chat-sources{border-top:1px solid var(--border);flex-wrap:wrap;gap:.3rem .55rem;margin-top:.6rem;padding-top:.55rem;font-size:.74rem;display:flex}.chat-sources span{color:var(--text-muted)}.chat-prompts{gap:.4rem;padding:0 1rem .75rem;display:flex;overflow-x:auto}.chat-prompts button{border:1px solid var(--border);color:var(--text-muted);font:inherit;cursor:pointer;background:0 0;border-radius:999px;flex:none;padding:.4rem .6rem;font-size:.72rem}.chat-prompts button:hover{color:var(--text-strong);border-color:var(--accent)}.chat-form{border-top:1px solid var(--border);gap:.55rem;padding:.9rem 1rem 1rem;display:grid}.chat-form label{font-size:.76rem;font-weight:700}.chat-form textarea{resize:vertical;border:1px solid var(--border-strong);width:100%;min-height:4.2rem;color:var(--text);background:var(--background);font:inherit;border-radius:.65rem;padding:.7rem;font-size:.86rem;line-height:1.45}.chat-form textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.chat-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.chat-verification{min-height:2.2rem;color:var(--text-muted);font-size:.75rem}.chat-form-row{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.chat-form-row small,.chat-status{color:var(--text-muted);font-size:.7rem;line-height:1.4}.chat-status{min-height:1em;margin:0}@media (width<=520px){.chat-assistant{bottom:.75rem;right:.75rem}.chat-panel{width:auto;max-height:none;position:fixed;inset:.75rem}.chat-messages{max-height:none}}
