@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');
:root{--ink:#0e263b;--muted:#526575;--paper:#fff;--soft:#f1f5f7;--line:#dbe3e8;--accent:#ac4b2a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',Arial,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}.skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:9}.skip:focus{top:10px}header{max-width:1320px;margin:auto;min-height:106px;padding:25px 54px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font-size:27px;font-weight:700;letter-spacing:-1px}.brand span{display:block;font-size:10px;letter-spacing:2px;font-weight:500;color:var(--muted)}nav{display:flex;gap:30px;font-size:14px}nav a[aria-current]{color:var(--accent);text-decoration:underline;text-underline-offset:9px}.contact-nav{border:1px solid var(--ink);padding:9px 18px;font-size:14px}main{max-width:1320px;margin:auto}.hero{padding:92px 54px 84px;display:grid;grid-template-columns:1.7fr 1fr;gap:80px;align-items:center}.eyebrow{font-size:12px;font-weight:600;letter-spacing:2px;color:var(--accent);margin:0 0 22px}h1,h2{font-family:'Libre Caslon Display',Georgia,serif;font-weight:400;line-height:1.08;letter-spacing:-1.6px}h1{font-size:clamp(48px,5.5vw,78px);margin:0 0 30px}h1 em{font-weight:400;color:var(--accent)}h2{font-size:clamp(34px,3.5vw,48px);margin:0 0 24px}h3{font-size:20px;line-height:1.35;margin:15px 0 12px;font-weight:500}p{margin:0 0 18px}.lead{font-size:21px;line-height:1.6;max-width:670px}.intro{color:var(--muted);max-width:590px}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin-top:32px}.button{display:inline-block;background:var(--ink);color:white;padding:13px 24px;font-size:14px;font-weight:500}.button:hover{background:#203f58;text-decoration:none}.text-link{font-size:14px;border-bottom:1px solid var(--ink);padding-bottom:4px}.profile-panel{background:var(--soft);padding:36px;border-top:3px solid var(--ink)}.profile-panel>div{padding:20px 0;border-bottom:1px solid var(--line)}.profile-panel strong{font-weight:500;font-size:19px;display:block}.profile-panel span{display:block;font-size:14px;color:var(--muted);margin-top:7px}.panel-note{font-size:13px;margin:25px 0 0;color:var(--muted)}.section{padding:65px 54px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:35px;align-items:center;margin-bottom:25px}.section-heading h2{max-width:700px}.grid-three{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.focus{padding-top:8px}.focus p,.grid-three p{color:var(--muted)}.number{font-family:Georgia,serif;color:var(--accent);font-size:22px}.project-feature{margin:25px 54px 45px;background:var(--ink);color:white;padding:56px;display:grid;grid-template-columns:1.1fr 1fr;gap:70px;align-items:center}.project-feature .eyebrow{color:#e9ad86}.project-feature h2{font-size:62px}.project-feature p:not(.eyebrow){color:#d0dce5}.button.light{background:white;color:var(--ink);margin-top:18px}.project-map{border:1px solid #527087;padding:26px}.symbols{display:flex;justify-content:space-between;gap:15px;margin-bottom:25px}.symbols span{font-family:Georgia,serif;font-size:31px}.symbols small{display:block;font-family:Arial,sans-serif;font-size:12px;color:#c4d2df;margin-top:7px}.map-row{border-top:1px solid #527087;padding:11px 0;font-size:14px}.project-map>p{font-size:12px;margin:14px 0 0}.experience-preview{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.experience-preview>div{border-left:2px solid var(--line);padding-left:22px}.tag{font-size:12px;letter-spacing:1.3px;text-transform:uppercase;color:var(--accent)}.experience-preview p{margin-bottom:8px}.experience-preview>div>span:last-child{font-size:14px;color:var(--muted)}.closing{background:var(--soft);padding:65px 54px}.closing h2{max-width:720px}.page-hero{padding:75px 54px 55px}.page-hero .text-link{display:inline-block;margin-bottom:32px}.two-column{display:grid;grid-template-columns:1.7fr 1fr;gap:85px}.prose p{color:var(--muted)}.prose h2:not(:first-child){margin-top:42px}.education{background:var(--soft);padding:30px;align-self:start}.education hr{border:0;border-top:1px solid var(--line);margin:28px 0}.education span{font-size:14px;color:var(--muted)}.timeline{padding-top:15px}.job{display:grid;grid-template-columns:220px 1fr;gap:45px;border-bottom:1px solid var(--line);padding:38px 0}.job:last-child{border-bottom:0}.job-date{font-size:14px;color:var(--muted);padding-top:8px}.job h2{font-size:33px;margin:10px 0}.job h3{font-size:17px;margin:0 0 15px}.job p{max-width:730px;color:var(--muted);margin:0}.skills{background:var(--soft)}.method{background:var(--soft)}.narrow{max-width:780px}.muted{color:var(--muted);font-size:14px}ul{padding-left:23px;color:var(--muted)}li{padding-bottom:12px}footer{max-width:1320px;margin:auto;padding:46px 54px;display:flex;justify-content:space-between;gap:30px}footer p{font-size:13px;color:var(--muted);margin:10px 0 0}footer a:not(.brand){font-size:14px}@media(max-width:900px){header{padding:23px 28px;flex-wrap:wrap}.contact-nav{display:none}nav{gap:20px}.hero{grid-template-columns:1fr;gap:38px;padding:55px 28px}.profile-panel{display:grid;grid-template-columns:1fr 1fr;gap:10px 25px}.profile-panel .eyebrow{grid-column:1/-1}.section,.closing{padding:45px 28px}.project-feature{margin:20px 28px 40px;padding:32px;gap:30px}.two-column{gap:35px}.page-hero{padding:55px 28px 35px}.job{grid-template-columns:150px 1fr;gap:25px}footer{padding:36px 28px}}@media(max-width:620px){header{gap:16px}.brand span{font-size:10px}nav{width:100%;gap:20px;overflow-x:auto;padding:5px 0}h1{font-size:49px;letter-spacing:-1px}.lead{font-size:19px}.profile-panel{display:block}.grid-three,.experience-preview,.two-column,.project-feature{grid-template-columns:1fr}.grid-three{gap:20px}.section-heading{display:block}.section-heading>a{display:inline-block;margin-bottom:15px}.project-feature{padding:28px;gap:35px}.experience-preview{gap:28px}.job{grid-template-columns:1fr;gap:12px}.job h2{font-size:30px}footer{flex-direction:column}.symbols small{font-size:12px}.actions{gap:20px}.page-hero{padding-top:45px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
