@charset "UTF-8";

:root{color-scheme:light;--paper:#f8f8f5;--ink:#252824;--muted:#60645d;--rule:#d8dbd3;--accent:#a94b30;--font:Arial,Helvetica,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:35px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
::selection{background:#e8d6c9;color:var(--ink)}
a{color:inherit;text-decoration:none;text-underline-offset:5px}
a:hover{text-decoration:underline}
a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
p,h1,h2,h3,dl,dd{margin:0}
.wrap{width:min(1120px,calc(100% - 112px));margin-inline:auto}
.skip-link{position:fixed;left:20px;top:-100px;padding:12px 18px;background:var(--ink);color:white;z-index:10}
.skip-link:focus{top:16px}
.header{height:108px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--rule)}
.wordmark{font-weight:700;font-size:21px;letter-spacing:-.8px}
.wordmark span{color:var(--accent)}
nav{display:flex;gap:32px;font-size:13px}
nav a{padding-block:12px}
.hero{padding:80px 0 67px}
.eyebrow{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:1.7px;text-transform:uppercase}
.accent-mark{display:inline-block;width:7px;height:7px;background:var(--accent)}
h1{font-size:clamp(90px,11.8vw,160px);line-height:.94;letter-spacing:-.075em;font-weight:500;margin:37px 0 42px}
.period{color:var(--accent)}
.hero-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}
.hero-description{font-size:clamp(21px,2.2vw,28px);line-height:1.4;letter-spacing:-.6px}
.text-link{display:inline-flex;align-items:center;gap:26px;font-size:13px;padding-bottom:6px;border-bottom:1px solid var(--ink);white-space:nowrap}
.text-link span{font-size:22px;line-height:1}
.section{border-top:1px solid var(--rule);padding-block:64px 72px;display:grid;grid-template-columns:1fr 2.2fr;gap:36px}
.section-label{display:flex;align-items:baseline;gap:16px}
.index{font-size:11px;letter-spacing:1px;color:var(--accent)}
h2{font-size:14px;font-weight:400}
.statement,.section-intro{font-size:34px;line-height:1.22;letter-spacing:-1.1px;font-weight:400}
.prose{max-width:605px;margin-top:28px;font-size:16px;line-height:1.75;color:var(--muted)}
.prose p+p{margin-top:16px}
.profile-facts{display:grid;grid-template-columns:1fr 1.35fr;gap:24px;margin-top:38px;border-top:1px solid var(--rule);padding-top:25px}
.fact-value,.fact-label{display:block}
.fact-value{font-size:18px;letter-spacing:-.35px}
.fact-label{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}
.skills{margin-top:35px}
.skill-row{display:grid;grid-template-columns:160px 1fr;gap:24px;border-top:1px solid var(--rule);padding:25px 0}
.skill-row:last-child{padding-bottom:0}
dt{font-size:15px;line-height:1.55}
dd p{font-size:14px;line-height:1.7;color:var(--muted)}
.technologies{display:block;margin-top:13px;font-size:11px;line-height:1.7;color:var(--muted);letter-spacing:.1px}
.experience-row{display:grid;grid-template-columns:120px 1fr;gap:24px;padding-block:28px;border-bottom:1px solid var(--rule)}
.experience-row:first-child{padding-top:0}
.experience-row:last-child{border-bottom:0;padding-bottom:0}
.date{font-size:12px;line-height:1.8;color:var(--muted)}
h3{font-size:22px;line-height:1.3;font-weight:400;letter-spacing:-.5px}
.role{font-size:13px;line-height:1.65;margin-top:8px}
.experience-description{font-size:14px;color:var(--muted);line-height:1.7;margin-top:13px;max-width:440px}
.education h3{font-size:18px}
.closing{padding:45px 0 48px;border-top:1px solid var(--rule);display:flex;gap:14px;font-size:clamp(20px,3.3vw,42px);letter-spacing:-1.4px;line-height:1.2}
.closing span:last-child{color:var(--muted)}
.footer{border-top:1px solid var(--rule);padding-block:26px 32px;display:flex;justify-content:space-between;gap:24px;font-size:11px;line-height:1.7}
.footer p span{color:var(--muted);margin-left:16px}
.footer a span{margin-left:16px}
@media(min-width:1500px){.hero{padding-top:95px}}
@media(max-width:900px){.wrap{width:calc(100% - 64px)}.section{grid-template-columns:1fr 2.8fr;gap:24px}.skill-row{grid-template-columns:130px 1fr;gap:16px}.experience-row{grid-template-columns:95px 1fr;gap:16px}.statement,.section-intro{font-size:29px}.section-label{gap:10px}.profile-facts{grid-template-columns:1fr}.hero{padding-top:65px}}
@media(max-width:600px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.header{height:84px}.wordmark{font-size:18px}nav{gap:15px;font-size:11px}.hero{padding:54px 0 42px}.eyebrow{font-size:10px;letter-spacing:1.2px;gap:9px}h1{font-size:clamp(84px,21vw,124px);margin:35px 0 32px}.hero-description{font-size:22px}.hero-bottom{align-items:flex-start;flex-direction:column;gap:28px}.text-link{font-size:12px;gap:30px}.section{display:block;padding-block:31px 40px}.section-label{margin-bottom:30px;gap:14px}.statement,.section-intro{font-size:29px;letter-spacing:-.8px}.prose{font-size:15px;margin-top:22px;line-height:1.75}.profile-facts{grid-template-columns:1fr 1.2fr;gap:20px;margin-top:28px}.fact-value{font-size:16px;line-height:1.4}.fact-label{font-size:11px}.skills{margin-top:26px}.skill-row{grid-template-columns:1fr;gap:10px;padding-block:22px}dt{font-size:16px}.experience-row{grid-template-columns:76px 1fr;gap:16px}.date{font-size:11px}h3{font-size:21px}.role{font-size:12px}.experience-description{font-size:13px}.closing{flex-wrap:wrap;gap:6px 10px;padding-block:29px;font-size:24px;letter-spacing:-.8px}.footer{font-size:10px;padding-block:22px;gap:14px}.footer p span{display:block;margin-left:0}.footer a{white-space:nowrap}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
