:root{--bg:#f7f7f4;--surface:#fff;--text:#171917;--muted:#616661;--line:#d8dcd7;--accent:#176b55;--soft:#edf2ef;color-scheme:light}[data-theme=dark]{--bg:#151816;--surface:#1d211e;--text:#f1f3f0;--muted:#abb1ac;--line:#3a403b;--accent:#73c6aa;--soft:#252b27;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.65 Arial,Helvetica,sans-serif}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}.container{width:min(1080px,90%);margin-inline:auto}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{min-height:70px;display:flex;align-items:center;gap:2rem}.brand{display:flex;flex-direction:column;line-height:1.2}.brand-name{font-weight:700}.brand-role{font-size:.72rem;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.nav{margin-left:auto}.menu{display:flex;align-items:center;gap:1.1rem;list-style:none;padding:0;margin:0}.menu a{font-size:.86rem;color:var(--muted)}.menu a:hover{color:var(--text)}.menu-item.cta a{display:block;padding:.45rem .8rem;border:1px solid var(--line);border-radius:4px;color:var(--text)}.theme-toggle{width:36px;height:36px;border:1px solid var(--line);background:transparent;color:var(--text);border-radius:50%;cursor:pointer}.nav-toggle{display:none;margin-left:auto;border:0;background:transparent;padding:.5rem}.nav-toggle .bar{display:block;width:22px;height:2px;background:var(--text);margin:4px}
.hero{min-height:calc(100vh - 70px);display:grid;grid-template-columns:1.35fr .65fr;gap:7vw;align-items:center;padding-block:6rem}.kicker{color:var(--accent);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.13em}.hero h1{max-width:760px;margin:.4rem 0 1.4rem;font:500 clamp(3.5rem,8vw,7rem)/.92 Georgia,'Times New Roman',serif;letter-spacing:-.055em}.hero-intro{max-width:680px;color:var(--muted);font-size:1.1rem}.hero-portrait{width:100%;aspect-ratio:4/5;object-fit:cover}.hero-ctas{display:flex;gap:.7rem;flex-wrap:wrap;margin:1.8rem 0}.btn{display:inline-block;padding:.65rem 1rem;border:1px solid var(--line);border-radius:4px;background:transparent;font-weight:700;font-size:.85rem;cursor:pointer;color:var(--text)}.btn.primary{background:var(--text);border-color:var(--text);color:var(--bg)}.quick-facts{display:flex;gap:1.5rem;flex-wrap:wrap;list-style:none;padding:1.2rem 0 0;margin:0;border-top:1px solid var(--line);font-size:.8rem;color:var(--muted)}.quick-facts strong{display:block;color:var(--text);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
.section{padding-block:6rem;border-top:1px solid var(--line)}.section-title{display:grid;grid-template-columns:80px 1fr;align-items:baseline;margin-bottom:3rem}.section-title p{color:var(--accent);font-size:.78rem}.section-title h2{font:500 clamp(2.5rem,5vw,4.5rem)/1 Georgia,serif;letter-spacing:-.035em;margin:0}.section-intro{max-width:700px;color:var(--muted);margin:-1.5rem 0 3rem 80px}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding-left:80px}.two-column h3{font:500 1.65rem/1.25 Georgia,serif}.two-column p,.two-column li{color:var(--muted)}.skill-groups{padding-left:80px;display:grid;grid-template-columns:repeat(2,1fr);column-gap:6vw}.skill-groups div{padding:1.5rem 0;border-top:1px solid var(--line)}.skill-groups h3{margin:0 0 .35rem}.skill-groups p{margin:0;color:var(--muted)}
.recognition-list{padding-left:80px;display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.recognition-list article{border-top:3px solid var(--accent);padding-top:1.25rem}.recognition-list h3{font:500 1.45rem/1.2 Georgia,serif;margin:.35rem 0 .8rem}.recognition-list p{color:var(--muted)}.recognition-date{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent)!important}.recognition-work{font-style:italic;font-size:.9rem}.recognition-list .text-link{font-size:.82rem}
.education-list{list-style:none;padding:0 0 0 80px;margin:0}.education-list li{display:grid;grid-template-columns:150px 1fr;gap:2rem;padding:1.6rem 0;border-top:1px solid var(--line)}.education-list time{color:var(--accent);font-size:.82rem}.education-list h3{margin:0;font:500 1.3rem Georgia,serif}.education-list p{color:var(--muted);margin:.35rem 0 0}
.project-list{padding-left:80px}.project-card{display:grid;grid-template-columns:130px 1fr;gap:2rem;padding:2.2rem 0;border-top:1px solid var(--line);background:transparent}.project-card header{display:contents}.project-card .period{grid-column:1;grid-row:1/6;color:var(--accent);font-size:.8rem}.project-card h3{grid-column:2;margin:0;font:500 1.55rem/1.25 Georgia,serif}.project-card>p,.project-card>.tags,.project-card>details,.project-card>.card-link{grid-column:2}.project-card>p{color:var(--muted);margin:.6rem 0}.tags{display:flex;gap:.4rem;flex-wrap:wrap;list-style:none;padding:0;margin:.4rem 0}.tags li{font-size:.72rem;border:1px solid var(--line);padding:.2rem .45rem;border-radius:3px;color:var(--muted)}.project-card details{margin-top:.5rem}.project-card summary{cursor:pointer;font-weight:700;font-size:.85rem}.project-card details li{color:var(--muted);margin:.3rem 0}.card-link{color:var(--accent);font-weight:700;margin-top:.6rem}.card-link:after{content:" ↗"}
.cosmap-feature{display:grid;grid-template-columns:1fr 1fr;gap:4rem;margin:0 0 4rem 80px;padding:2rem 0 3rem;border-top:3px solid var(--text);border-bottom:1px solid var(--line)}.cosmap-feature h3{font:500 clamp(2rem,4vw,3.5rem)/1 Georgia,serif;letter-spacing:-.035em;margin:.5rem 0 1.2rem}.cosmap-copy>p:not(.kicker){color:var(--muted)}.cosmap-feature figure{margin:0;background:#fff;align-self:start}.cosmap-feature img{width:100%;height:auto}.cosmap-feature figcaption{padding:.65rem .8rem;border-top:1px solid #ddd;color:#555;font-size:.72rem}.cosmap-links{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.5rem}
.resume-row{padding-left:80px;display:flex;justify-content:space-between;gap:2rem;align-items:center;margin-bottom:2rem}.resume-row p{color:var(--muted)}.pdf-embed{margin-left:80px}.pdf-embed iframe{width:100%;height:75vh;border:1px solid var(--line);background:white}.contact-form{display:grid;gap:.4rem;background:transparent;border:0;padding:0}.contact-form label{font-size:.8rem;font-weight:700}.contact-form input,.contact-form textarea{width:100%;padding:.75rem;border:1px solid var(--line);border-radius:3px;background:var(--surface);color:var(--text);font:inherit;margin-bottom:.7rem}.contact-form .btn{justify-self:start}.form-honeypot{position:absolute;overflow:hidden;clip:rect(0 0 0 0);width:1px;height:1px;margin:-1px;padding:0;border:0}.form-status{min-height:1.65em;margin:.4rem 0 0;color:var(--accent)}.text-link{color:var(--accent);text-decoration:underline}.site-footer{border-top:1px solid var(--line);padding:2rem 0}.footer-inner{display:flex;justify-content:space-between;color:var(--muted);font-size:.82rem}
@media(max-width:850px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line)}.nav.open{display:block}.menu{display:block;width:90%;margin:auto;padding:1rem 0}.menu a{display:block;padding:.55rem 0}.theme-toggle{order:3}.hero{grid-template-columns:1fr;padding-block:4rem}.hero-portrait{max-width:420px}.two-column{grid-template-columns:1fr}.section-title{grid-template-columns:50px 1fr}.section-intro,.two-column,.skill-groups,.education-list,.project-list,.resume-row,.pdf-embed,.recognition-list{padding-left:50px;margin-left:0}.recognition-list{grid-template-columns:1fr}.cosmap-feature{grid-template-columns:1fr;margin-left:50px;gap:2rem}.skill-groups{grid-template-columns:1fr}.project-card{grid-template-columns:1fr;gap:.5rem}.project-card .period{grid-column:1;grid-row:auto}.project-card h3,.project-card>p,.project-card>.tags,.project-card>details,.project-card>.card-link{grid-column:1}.education-list li{grid-template-columns:1fr;gap:.4rem}}@media(max-width:520px){.brand-role{display:none}.hero h1{font-size:3.5rem}.section{padding-block:4rem}.section-title{grid-template-columns:1fr;gap:.2rem}.section-title p{margin:0}.section-intro,.two-column,.skill-groups,.education-list,.project-list,.resume-row,.pdf-embed,.recognition-list{padding-left:0}.cosmap-feature{margin-left:0}.resume-row{display:block}.quick-facts{display:block}.quick-facts li{margin:.6rem 0}}
