:root{color-scheme:light;--background:#fbfaf6;--surface:#ffffff;--text:#292b2d;--muted:#676b70;--line:#deddd7;--accent:#ffdf00;--accent-dark:#806b00;--header-text:#292b2d;--header-hover:#685800;--max-width:72rem}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,segoe ui,Roboto,helvetica neue,Arial,sans-serif;color:var(--text);background:var(--background);line-height:1.6}a:focus-visible{outline:3px solid currentColor;outline-offset:3px}.site-header{background:var(--accent);position:sticky;top:0;z-index:10}.site-nav{align-items:center;display:flex;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:1rem}.site-nav--home{justify-content:flex-end}.site-nav a{color:var(--header-text);text-decoration:none}.site-nav a:hover{color:var(--header-hover)}.site-nav__brand{font-weight:750;letter-spacing:-.02em}.site-nav__links{align-items:center;display:flex;gap:1.5rem}.site-home{margin:0 auto;max-width:var(--max-width)}.experience-page{margin:0 auto;max-width:var(--max-width);padding-bottom:clamp(4rem,8vw,7rem)}.page-header{padding:clamp(4rem,8vw,7rem)0}.page-header h1{font-size:clamp(2.5rem,5vw,4.4rem);font-weight:550;letter-spacing:-.045em;line-height:1.02;margin:0}.page-header__introduction{color:var(--muted);font-size:clamp(1.1rem,2vw,1.3rem);margin:1.75rem 0 0;max-width:48rem}.site-hero{align-items:center;display:grid;gap:clamp(3rem,8vw,7rem);grid-template-columns:minmax(0,1fr)minmax(10rem,14rem);min-height:min(32rem,calc(100vh - 4rem));padding:clamp(4rem,7vw,5.5rem)0}.site-hero h1{font-size:clamp(2.4rem,4.2vw,3.8rem);font-weight:550;letter-spacing:-.045em;line-height:1.02;margin:0;max-width:15ch}.site-hero__greeting{font-size:clamp(1.5rem,3vw,2rem);font-weight:650;letter-spacing:-.025em;margin:0 0 1.25rem}.site-hero__introduction{color:var(--muted);font-size:clamp(1.15rem,2vw,1.4rem);line-height:1.55;margin:2rem 0 0;max-width:41rem}.site-hero__portrait{justify-self:end;position:relative;width:100%}.site-hero__portrait img{aspect-ratio:1;border:.5rem solid var(--surface);border-radius:50%;box-shadow:0 0 0 1px var(--line);display:block;object-fit:cover;position:relative;width:100%}.site-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2rem}.button{border:2px solid var(--text);border-radius:999px;display:inline-block;font-weight:700;padding:.7rem 1.25rem;text-decoration:none}.button--primary{background:var(--text);color:var(--surface)}.button--primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.button--secondary{color:var(--text)}.button--secondary:hover{background:var(--accent)}.site-section{border-top:1px solid var(--line);padding:clamp(3.5rem,7vw,5.5rem)0}.site-section h2{font-size:clamp(2rem,4vw,3.4rem);font-weight:650;letter-spacing:-.04em;line-height:1.05;margin:0}.section-split{display:grid;gap:3rem;grid-template-columns:minmax(12rem,.65fr)minmax(0,1.35fr)}.prose{color:var(--muted);font-size:clamp(1.1rem,2vw,1.3rem);max-width:42rem}.prose p:first-child{margin-top:0}.section-heading{margin-bottom:3rem}.resume-list{border-top:1px solid var(--line)}.resume-entry{border-bottom:1px solid var(--line);display:grid;gap:3rem;grid-template-columns:minmax(12rem,.65fr)minmax(0,1.35fr);padding:2.25rem 0}.resume-entry__heading h2,.resume-entry__heading h3{font-size:1.2rem;margin:0}.resume-entry__heading p{margin:.2rem 0 0}.resume-entry__period{color:var(--muted);font-size:.9rem}.resume-entry__summary{color:var(--muted);font-size:1.1rem;margin:0;max-width:43rem}.resume-entry__details{color:var(--muted);margin:1.25rem 0 0;max-width:43rem;padding-left:1.2rem}.resume-entry__details li{padding-left:.25rem}.resume-entry__details li+li{margin-top:.55rem}.resume-entry__details li::marker{color:var(--accent-dark)}.project-grid{display:grid;gap:1.25rem;grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{background:var(--surface);border:1px solid var(--line);border-radius:.75rem;color:var(--text);display:block;padding:clamp(1.5rem,4vw,2.5rem);text-decoration:none;transition:transform 150ms ease,border-color 150ms ease}.project-card:hover{border-color:var(--accent-dark);transform:translateY(-.2rem)}.project-card h3{font-size:1.6rem;margin:.5rem 0}.project-card p{color:var(--muted)}.project-card__period{color:var(--muted);font-size:.85rem}.project-card__link{color:var(--accent-dark);font-weight:700}.skills-list{margin:0}.skills-list>div{border-bottom:1px solid var(--line);padding:0 0 1.5rem}.skills-list>div+div{padding-top:1.5rem}.skills-list dt{font-weight:750}.skills-list dd{color:var(--muted);margin:.25rem 0 0}.education{align-items:start}.education__details{display:grid;gap:.15rem;margin:0}.education__details strong{font-size:1.2rem}.education__details span{color:var(--muted)}.section-heading--with-link{align-items:end;display:flex;justify-content:space-between}.section-heading--with-link a,.writing-list a{color:var(--text)}.section-heading--with-link a:hover,.writing-list a:hover{color:var(--accent-dark)}.writing-list{border-top:1px solid var(--line);list-style:none;margin:0;padding:0}.writing-list li{border-bottom:1px solid var(--line)}.writing-list a{align-items:baseline;display:flex;font-size:1.15rem;font-weight:700;justify-content:space-between;padding:1.4rem 0;text-decoration:none}.writing-list time{color:var(--muted);font-size:.85rem;font-weight:400;margin-left:2rem;white-space:nowrap}@media(max-width:48rem){.site-nav__secondary{display:none}.site-hero{gap:3rem;grid-template-columns:1fr;min-height:auto;padding:4rem 0}.site-hero__copy{order:2}.site-hero__portrait{justify-self:start;max-width:15rem;order:1}.section-split,.resume-entry{gap:1.5rem;grid-template-columns:1fr}.project-grid{grid-template-columns:1fr}.section-heading--with-link{align-items:start;flex-direction:column;gap:1rem}.writing-list a{align-items:start;flex-direction:column;gap:.25rem}.writing-list time{margin-left:0}}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--background:#181917;--surface:#242521;--text:#f5f3ea;--muted:#b9b7af;--line:#3c3e38;--accent-dark:#ffdf00}.dark-gray{color:var(--text)}.mid-gray,.gray{color:var(--muted)}.b--light-gray{border-color:var(--line)}.button--secondary:hover{color:var(--header-text)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.project-card{transition:none}}