:root{--paper:#f3f0e8;--paper-light:#faf8f2;--ink:#171714;--muted:#66645d;--line:#c9c5ba;--accent:#e3502b;--max-width:1240px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);text-rendering:optimizelegibility;margin:0;font-family:Arial,Helvetica,system-ui,-apple-system,sans-serif}a{color:inherit;text-underline-offset:.2em}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.skip-link{background:var(--ink);color:var(--paper-light);z-index:100;padding:.8rem 1rem;position:fixed;top:1rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.site-header,.site-footer,main>section{max-width:var(--max-width);width:calc(100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--ink);justify-content:space-between;align-items:center;min-height:82px;display:flex}.wordmark{letter-spacing:-.045em;font-size:1.4rem;font-weight:800;text-decoration:none}.header-actions{align-items:center;gap:clamp(1rem,2.5vw,2rem);display:flex}.site-header nav{align-items:center;gap:clamp(1rem,3vw,2.5rem);display:flex}.site-header nav a,.site-footer a{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700;text-decoration:none}.language-switch{border:1px solid var(--ink);display:flex}.language-switch a{letter-spacing:.05em;padding:.55rem .65rem;font-size:.68rem;font-weight:800;text-decoration:none}.language-switch a.active{background:var(--ink);color:var(--paper-light)}.site-header nav a:hover,.site-footer a:hover,.language-switch a:hover{text-decoration:underline}.hero{border-bottom:1px solid var(--ink);min-height:min(760px,100svh - 82px);padding:clamp(2rem,5vw,4.5rem) 0 3rem}.eyebrow-row,.hero-footer{justify-content:space-between;align-items:flex-start;display:flex}.eyebrow,.availability,.section-index,.project-label,.resume-kicker{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800}.availability{align-items:center;gap:.55rem;display:flex}.availability span{background:var(--accent);border-radius:999px;width:.55rem;height:.55rem}.hero h1{letter-spacing:-.075em;max-width:11ch;margin:clamp(4.5rem,9vw,8rem) 0 clamp(4rem,8vw,7rem);font-size:clamp(3.5rem,8.6vw,8.1rem);font-weight:700;line-height:.88}.hero-footer{gap:3rem}.hero-identity{align-items:center;gap:1.4rem;display:flex}.profile-photo{border:1px solid var(--ink);object-fit:cover;border-radius:50%;flex:none;width:104px;height:104px}.hero-intro{max-width:610px;margin:0;font-size:clamp(1.08rem,1.8vw,1.4rem);line-height:1.5}.hero-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;display:flex}.button,.print-button{border:1px solid var(--ink);letter-spacing:.06em;text-transform:uppercase;justify-content:center;align-items:center;min-height:48px;padding:.9rem 1.2rem;font-size:.76rem;font-weight:800;text-decoration:none;transition:background-color .16s,color .16s;display:inline-flex}.button-primary,.print-button{background:var(--ink);color:var(--paper-light)}.button-secondary{background:0 0}.button:hover,.print-button:hover{background:var(--accent);border-color:var(--accent);color:#fff}.profile-section,.work-section,.stack-section,.contact-section{border-bottom:1px solid var(--ink);padding:clamp(5rem,10vw,9rem) 0}.profile-copy{grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,5rem);margin-left:calc(25% + 1rem);display:grid}.profile-copy p{color:var(--muted);margin:0;font-size:clamp(1rem,1.4vw,1.18rem);line-height:1.65}.section-heading{grid-template-columns:minmax(180px,.75fr) 2fr;gap:2rem;margin-bottom:clamp(3.5rem,7vw,6rem);display:grid}.section-heading h2,.contact-section h2{letter-spacing:-.06em;max-width:13ch;margin:0;font-size:clamp(2.4rem,5.5vw,5rem);line-height:.98}.project{border-top:1px solid var(--line);grid-template-columns:minmax(60px,.35fr) 1.65fr minmax(150px,.6fr);gap:2rem;padding:2.5rem 0 3rem;display:grid}.project:last-child{border-bottom:1px solid var(--line)}.project-number{color:var(--accent);font-family:Georgia,Times New Roman,serif;font-size:1.5rem;font-style:italic}.project-copy h3{letter-spacing:-.055em;margin:.6rem 0 1.4rem;font-size:clamp(2rem,4vw,3.8rem);line-height:1}.project-summary{max-width:650px;margin:0 0 .9rem;font-size:clamp(1.05rem,1.5vw,1.25rem);line-height:1.5}.project-detail{color:var(--muted);max-width:650px;margin:0;font-size:.95rem;line-height:1.6}.project-stack{flex-wrap:wrap;gap:.55rem;margin:1.7rem 0 0;padding:0;list-style:none;display:flex}.project-stack li{border:1px solid var(--line);letter-spacing:.05em;text-transform:uppercase;padding:.45rem .62rem;font-size:.7rem;font-weight:700}.project-links{flex-direction:column;align-items:flex-start;gap:.8rem;padding-top:1.4rem;display:flex}.project-links a{border-bottom:1px solid;padding-bottom:.25rem;font-size:.82rem;font-weight:800;text-decoration:none}.project-links a:hover,.contact-links a:hover{color:var(--accent)}.stack-layout{grid-template-columns:.8fr 1.2fr;gap:clamp(3rem,8vw,8rem);margin-left:calc(25% + 1rem);display:grid}.stack-layout>p{color:var(--muted);margin:0;font-size:1.1rem;line-height:1.6}.stack-list{margin:0;padding:0;list-style:none}.stack-list li{border-top:1px solid var(--line);letter-spacing:-.025em;align-items:baseline;gap:1.5rem;padding:.75rem 0;font-size:clamp(1.25rem,2.2vw,1.9rem);font-weight:700;display:flex}.stack-list li:last-child{border-bottom:1px solid var(--line)}.stack-list span{color:var(--muted);font-family:Georgia,Times New Roman,serif;font-size:.72rem;font-style:italic;font-weight:400}.contact-section .section-index{margin-bottom:clamp(3rem,7vw,6rem)}.contact-section h2{max-width:15ch}.contact-section>p:not(.section-index){max-width:620px;margin:2rem 0 3rem;font-size:clamp(1.05rem,1.8vw,1.3rem);line-height:1.5}.contact-links{flex-direction:column;align-items:flex-start;gap:1rem;display:flex}.contact-links a{font-size:clamp(1rem,2vw,1.35rem);font-weight:700;text-decoration-thickness:1px}.site-footer{justify-content:space-between;align-items:center;min-height:110px;display:flex}.site-footer p{color:var(--muted);font-size:.8rem}.site-footer div{gap:1.5rem;display:flex}.resume-shell{max-width:960px;margin:0 auto;padding:3rem 24px 6rem}.resume-toolbar{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.resume-toolbar>a{font-size:.82rem;font-weight:700}.print-button{cursor:pointer;font-family:inherit}.resume{background:#fff;padding:clamp(2rem,6vw,4.5rem);box-shadow:0 18px 60px #1717141a}.resume-header{border-bottom:3px solid var(--ink);justify-content:space-between;align-items:flex-end;padding-bottom:1.7rem;display:flex}.resume-identity{align-items:center;gap:1rem;display:flex}.resume-photo{border:1px solid var(--ink);object-fit:cover;border-radius:50%;width:72px;height:72px}.resume-header h1{letter-spacing:-.07em;margin:.8rem 0 0;font-size:clamp(2.8rem,7vw,5rem);line-height:.9}.resume-header address{text-align:right;font-size:.82rem;font-style:normal;line-height:1.65}.resume-section{grid-template-columns:150px 1fr;gap:2rem;padding:1.7rem 0;display:grid}.resume-section+.resume-section{border-top:1px solid var(--line)}.resume-section>h2{letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.72rem}.resume-section>p{margin:0;font-size:.95rem;line-height:1.55}.resume-projects{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}.resume-projects article{break-inside:avoid}.resume-project-heading{flex-wrap:wrap;align-items:baseline;gap:.45rem;display:flex}.resume-project-heading h3{margin:0 auto 0 0;font-size:1.05rem}.resume-project-heading a{font-size:.7rem;font-weight:700}.resume-projects article>p{margin:.45rem 0;font-size:.78rem;line-height:1.45}.resume-projects .resume-tech{color:var(--muted);font-size:.66rem;font-weight:700}.resume-skills p{font-size:.82rem;font-weight:700;line-height:1.7}@media (max-width:800px){.site-header,.site-footer,main>section{width:calc(100% - 32px)}.site-header nav,.header-actions{gap:1rem}.site-header nav a:nth-child(2){display:none}.eyebrow-row,.hero-footer{flex-direction:column;gap:1.5rem}.hero-identity{align-items:flex-start}.hero{min-height:auto}.hero h1{margin-block:5rem}.hero-actions{justify-content:flex-start}.section-heading{grid-template-columns:1fr}.project{grid-template-columns:40px 1fr}.project-links{grid-column:2;padding-top:0}.stack-layout,.profile-copy{grid-template-columns:1fr;margin-left:0}.resume-section{grid-template-columns:1fr;gap:1rem}}@media (max-width:560px){.site-header{min-height:68px}.site-header nav a{font-size:.68rem}.wordmark{white-space:nowrap;font-size:.85rem}.header-actions{gap:.7rem}.language-switch a{padding:.48rem .5rem;font-size:.6rem}.site-header nav a:first-child{display:none}.hero h1{font-size:clamp(3.2rem,17vw,5rem)}.hero-actions,.button{width:100%}.project{grid-template-columns:1fr;gap:1rem}.project-number,.project-links{grid-column:1}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start}.resume-header{flex-direction:column;align-items:flex-start;gap:1.5rem}.resume-identity{align-items:flex-start}.resume-header address{text-align:left}.resume-projects{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}@page{margin:11mm;size:A4}@media print{:root{--ink:#000;--muted:#333;--line:#aaa}body{background:#fff}.site-header,.site-footer,.resume-toolbar,.skip-link{display:none!important}.resume-shell{max-width:none;margin:0;padding:0}.resume{box-shadow:none;padding:0}.resume-header{padding-bottom:4mm}.resume-header h1{font-size:34pt}.resume-section{grid-template-columns:30mm 1fr;gap:5mm;padding:4mm 0}.resume-projects{gap:3mm 6mm}a{color:#000;text-decoration:none}}
