:root{--accent:#144ec7;--ink:#17273c;--line:#dde4ee;--secondary:#4b5a6c;--gutter:clamp(16px,4vw,88px)}body{margin:0;background:white;color:var(--ink)}header,main,footer{width:100%;max-width:none;margin:0}header{display:flex;align-items:center;gap:18px;justify-content:space-between;min-height:76px;padding:12px var(--gutter);border-bottom:1px solid var(--line);background:white}header .identity{display:inline-flex;align-items:center;gap:10px;font-size:19px;color:var(--ink)}.mark{background:#174ddb;color:white;border-radius:9px;padding:4px 8px;font-size:17px;letter-spacing:-.08em}.actions,.topnav{display:flex;align-items:center;gap:clamp(12px,2vw,34px)}.topnav a,.topnav a:first-child{font-size:14px;font-weight:500;color:var(--ink)}.actions{gap:12px}.linked,.primary{background:#124ed1;color:white;border-radius:30px;padding:10px 18px;text-decoration:none;font-size:14px}.actions button,#close{border:1px solid #ccd6e4;border-radius:22px;color:var(--ink);padding:8px 14px;background:white;font-size:14px}main>.intro{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:4vw;margin:14px var(--gutter) 0;padding:clamp(28px,4vw,76px);border-radius:22px;background:linear-gradient(110deg,#fff 18%,#f5f9ff 62%,#eaf2ff);border:1px solid #e4ebf5}.intro figure{margin:0;text-align:center}.intro figure img{width:100%;max-height:420px}.intro figcaption{font-size:10px;letter-spacing:.14em;color:#485e80}.intro h1{font-size:clamp(54px,6vw,104px)}.intro .bio{max-width:57ch}.primary{display:inline-block;margin-top:20px}.hero,main>section,.spread,footer{padding-left:var(--gutter);padding-right:var(--gutter)}.hero{background:white}.spread{grid-template-columns:minmax(180px,22%) minmax(0,1fr)}.grid div{background:#f3f7ff}.cta{background:var(--accent)}article strong,small{color:#224f95}.skip:focus{z-index:10}.menu-open{overflow:hidden}#drawer{position:fixed;inset:0 auto 0 0;margin:0;height:100dvh;max-height:100dvh;width:min(390px,90vw);max-width:100vw;padding:26px;border:0;background:white;color:var(--ink);overflow:auto}#drawer[open]{animation:enter .2s ease-out}#drawer::backdrop{background:rgb(17 33 55 / .45)}.drawer-top{display:flex;align-items:center;justify-content:space-between}.drawer-top h2{font-size:23px;margin:0}.menu-group{display:grid;border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.menu-group small{text-transform:uppercase;margin-bottom:6px}.menu-group a{padding:6px 0;color:var(--ink);text-decoration:none}.menu-group a:hover{text-decoration:underline}@keyframes enter{from{transform:translateX(-100%)}}@media(max-width:760px){.topnav{display:none}.spread{display:block}.intro figure img{max-height:220px}main>.intro{grid-template-columns:1fr}.actions{gap:6px}.linked{font-size:12px;padding:8px 12px}header .identity{font-size:16px}.intro figure{margin-top:12px}.intro h1{margin-top:12px}.hero{padding-top:36px}}@media(prefers-reduced-motion:reduce){#drawer[open]{animation:none}}@media print{header,#drawer,.primary,.intro figure{display:none}main>.intro,.hero{display:block;background:white;border:0}}
.mast-left{display:flex;align-items:center;gap:10px}.mast-left #open{display:grid;place-items:center;width:44px;height:44px;padding:0;background:white;color:#17273c;border:0}.mast-left #open:hover{background:#f1f5fb}.profile-link{font-size:14px;font-weight:500;color:#385271;text-decoration:none}.profile-link:hover{text-decoration:underline}main>.intro{padding:0;overflow:hidden;background:#f8fafc;gap:0}.intro-copy{padding:clamp(26px,4.5vw,78px)}.intro h1{font-size:clamp(44px,5.1vw,86px)}.intro .portrait{position:relative;align-self:stretch;margin:0;min-height:360px;overflow:hidden}.portrait svg{display:block;position:absolute;inset:0;width:100%;height:100%}.portrait figcaption{position:absolute;bottom:12px;right:12px;background:#fffffff0;color:#374454;padding:3px 8px;border-radius:4px;font-size:11px;letter-spacing:0}@media(max-width:760px){.intro .portrait{min-height:0;aspect-ratio:1.3}.mast-left{gap:4px}.profile-link{font-size:13px}}@media print{.portrait{display:none}}
@media screen{
main>.intro{background:white;border:0;border-radius:0;margin:0;padding:clamp(36px,5vw,84px) clamp(22px,7vw,132px);grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,7vw,132px);align-items:center}
.intro-copy{padding:0}.intro .bio{max-width:44ch}.intro .portrait{width:100%;max-width:560px;justify-self:end;align-self:center;aspect-ratio:727/975;max-height:72vh;min-height:0;border-radius:18px}.intro .primary{padding:13px 20px;border-radius:8px}.intro h1{font-weight:550;letter-spacing:-.055em}
}
@media screen and (max-width:760px){main>.intro{grid-template-columns:1fr;gap:26px}.intro .portrait{width:min(100%,420px);max-height:none;justify-self:center;margin:0}}
@media screen{.home>header{position:sticky;top:0;z-index:4}.home .role{color:var(--accent);font:600 clamp(15px,1.4vw,20px)/1.4 system-ui;letter-spacing:0}.home #experience{scroll-margin-top:80px}.home.name-ready:not(.name-docked) header .identity{visibility:hidden}.home.name-moving #hero-name,.home.name-docked #hero-name{opacity:0}.moving-name{position:fixed;z-index:5;pointer-events:none;white-space:nowrap;transform-origin:top left;line-height:1;color:var(--ink)}}
@media print{.moving-name{display:none!important}}
