:root{color-scheme:light;--paper:#f4f1ea;--ink:#18282e;--muted:#4f6065;--line:#bec4bf;--accent:#7d3c25;--dark:#12252d;--white:#f6f4ed;--measure:74ch;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:var(--paper);color:var(--ink)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}a:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:500}p,li{line-height:1.75}img{max-width:100%}.wrap{max-width:1440px;margin:auto;padding:0 64px}.skip{position:absolute;top:8px;left:16px;transform:translateY(-180%);z-index:10;background:var(--paper);color:var(--ink);padding:14px}.skip:focus{transform:none}.site-header{border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:96px}.brand{text-decoration:none;font-size:19px;font-weight:700;letter-spacing:-.6px}.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border:1px solid currentColor;margin-right:10px;font-size:13px;letter-spacing:0}.site-header nav{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px}.site-header nav a{display:inline-block;padding:14px 0;text-decoration:none}.site-header nav a:hover{text-decoration:underline}.label{font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.8px;text-transform:uppercase;color:var(--muted)}.hero{padding:66px 0 56px;display:grid;grid-template-columns:1.55fr 1fr;gap:70px}.hero h1{font-size:clamp(42px,5.3vw,76px);line-height:1.02;letter-spacing:-3.5px;margin:23px 0 28px}.hero h1 em{font-style:normal;color:var(--accent)}.hero-copy{font-size:18px;color:var(--muted);max-width:51ch}.hero-aside{align-self:end;padding:26px 0 0;border-top:2px solid var(--ink)}.hero-aside p{font-size:16px;margin-top:14px;color:var(--muted)}.hero-aside strong{display:block;font-size:22px;line-height:1.4;font-weight:500;margin-top:10px}.text-link{display:inline-block;padding:14px 0;font-size:15px}.skills{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;display:flex;gap:16px 30px;justify-content:space-between;flex-wrap:wrap;font-size:14px;line-height:1.7}.skills span:first-child{color:var(--muted)}.work-layout{display:grid;grid-template-columns:230px 1fr;gap:65px;padding:64px 0}.section-intro h2{font-size:33px;letter-spacing:-1px;margin:14px 0 18px}.section-intro p:not(.label){font-size:15px;color:var(--muted)}.work-entry{padding:0 0 36px;margin-bottom:30px;border-bottom:1px solid var(--line)}.work-entry:last-child{margin-bottom:0}.entry-top{display:flex;gap:20px;justify-content:space-between;align-items:start}.entry-top h3{font-size:32px;line-height:1.2;letter-spacing:-1px;max-width:24ch;margin:12px 0 18px}.entry-top h3 a{text-decoration:none}.entry-top h3 a:hover{text-decoration:underline}.entry-number{font:14px/1.6 ui-monospace,monospace;color:var(--accent);padding-top:4px}.work-entry>p{font-size:17px;max-width:var(--measure);color:var(--muted)}.entry-points{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:22px}.entry-points dt{font-size:12px;font-family:ui-monospace,monospace;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);margin-bottom:8px}.entry-points dd{margin:0;font-size:15px;line-height:1.7}.entry-links{display:flex;flex-wrap:wrap;gap:0 24px;margin-top:15px}.entry-links a{font-size:15px;padding:12px 0}.dark-panel{background:var(--dark);color:var(--white);padding:48px;margin:0 0 64px;display:grid;grid-template-columns:1fr 1.4fr;gap:60px}.dark-panel .label{color:#c2d0cf}.dark-panel h2{font-size:34px;line-height:1.15;letter-spacing:-1px;margin-top:15px}.dark-panel p:not(.label){font-size:17px;line-height:1.8;color:#d1dbd7}.dark-panel a:focus-visible,.site-footer a:focus-visible{outline-color:#e8c6a1}.career{display:grid;grid-template-columns:230px 1fr;gap:65px;border-top:1px solid var(--line);padding:48px 0 64px}.career-list{list-style:none;margin:0;padding:0}.career-list li{display:grid;grid-template-columns:130px 1fr;gap:28px;padding:20px 0;border-bottom:1px solid var(--line)}.career-list li:first-child{padding-top:0}.career-list strong{display:block;font-size:22px;font-weight:500}.career-list p{font-size:15px;color:var(--muted);margin-top:6px}.about{border-top:1px solid var(--line);display:grid;grid-template-columns:230px 1fr;gap:65px;padding:42px 0 58px}.about p:not(.label){font-size:18px;max-width:65ch;color:var(--muted)}.site-footer{background:var(--dark);color:var(--white);padding:40px 0}.footer-inner{display:flex;gap:28px;align-items:center;justify-content:space-between}.footer-inner>a{font-size:30px;letter-spacing:-1px}.footer-inner p{font-size:14px;color:#c2d0cf}.footer-inner p a{display:block;padding-top:10px}.detail{max-width:1060px;margin:auto;padding:50px 64px 64px}.back-link{font-size:14px;display:inline-block;padding:10px 0;margin-bottom:24px}.detail h1{font-size:clamp(38px,4.7vw,64px);line-height:1.07;letter-spacing:-2px;margin:18px 0 26px;overflow-wrap:anywhere}.lead{font-size:20px;line-height:1.7;max-width:66ch}.scope{font-size:14px;color:var(--muted);margin:22px 0}.case-facts{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:24px 0;margin:26px 0}.case-facts dt{font:12px/1.6 ui-monospace,monospace;text-transform:uppercase;color:var(--accent);margin-bottom:8px}.case-facts dd{margin:0;font-size:16px;line-height:1.7}.contribution-summary{background:#e9e7df;padding:26px;margin:30px 0}.detail h2{font-size:27px;line-height:1.3;letter-spacing:-.5px;margin:40px 0 18px;scroll-margin-top:24px}.detail h2:focus{outline:2px solid var(--accent);outline-offset:6px}.contribution-summary h2{font-size:21px;margin:0 0 16px}.contribution-summary ul{margin:0;padding-left:20px}.contribution-summary li{font-size:16px;margin:10px 0}.story-nav{border-bottom:1px solid var(--line);padding-bottom:24px;display:flex;flex-direction:column;align-items:start;gap:4px}.story-nav a{font-size:15px;line-height:1.6;padding:8px 0}.detail section>p{font-size:17px;margin:16px 0;max-width:var(--measure);color:var(--muted)}.related-work{border-top:1px solid var(--line);margin-top:40px}.related-work ul{list-style:none;padding:0}.related-work a{display:inline-block;padding:12px 0;font-size:16px}.profile-role{font-size:20px;margin:20px 0}.profile-list{padding-left:20px}.profile-list li{margin-bottom:12px;font-size:17px}.note{border-left:3px solid var(--accent);padding-left:20px}.hero,.work-entry,.entry-links a{animation:none}@media(prefers-reduced-motion:no-preference){a{transition:text-decoration-thickness .15s}.entry-top h3 a:hover{color:var(--accent)}}@media(max-width:960px){.wrap{padding:0 32px}.hero{gap:36px;grid-template-columns:1.3fr 1fr}.hero h1{letter-spacing:-2px}.work-layout,.career,.about{grid-template-columns:170px 1fr;gap:35px}.dark-panel{gap:30px;padding:32px}.detail{padding:40px 32px}}@media(max-width:640px){.wrap{padding:0 20px}.site-header{align-items:start;flex-direction:column;gap:8px;padding:20px 0;min-height:120px}.site-header nav{gap:8px 24px}.site-header nav a{padding:10px 0}.hero{grid-template-columns:1fr;padding:34px 0;gap:28px}.hero h1{font-size:43px;letter-spacing:-2px;margin:18px 0 22px}.hero-copy{font-size:17px}.hero-aside{padding-top:18px}.hero-aside strong{font-size:20px}.skills{font-size:13px;gap:8px}.work-layout,.career,.about{grid-template-columns:1fr;gap:25px;padding:36px 0}.section-intro h2{font-size:29px;margin:8px 0 12px}.entry-top h3{font-size:28px;letter-spacing:-.7px}.entry-points{grid-template-columns:1fr;gap:18px}.dark-panel{grid-template-columns:1fr;padding:25px;gap:23px;margin-bottom:35px}.dark-panel h2{font-size:29px}.career-list li{grid-template-columns:1fr;gap:6px}.footer-inner{align-items:start;flex-direction:column;gap:24px}.detail{padding:28px 20px 45px}.detail h1{font-size:38px;letter-spacing:-1.6px}.lead{font-size:18px}.case-facts{grid-template-columns:1fr;gap:18px}.contribution-summary{padding:20px}.detail h2{font-size:25px}}@media print{.site-header nav,.site-footer,.back-link,.story-nav{display:none}*{background:white!important;color:black!important;box-shadow:none!important}.wrap,.detail{max-width:none;padding:0}.hero{padding-top:10px}.work-entry,.case-facts,.contribution-summary{break-inside:avoid}a{text-decoration:none}body{font-size:11pt}.detail h1{font-size:30pt}.detail h2{font-size:18pt}.detail p,.detail section>p{font-size:11pt}.career-list li{break-inside:avoid}}

/* Local typefaces: no font downloads or font-swap dependencies. */
.hero h1,.detail h1,.section-intro h2,.dark-panel h2{font-family:Georgia,Cambria,"Times New Roman",serif;font-weight:400;letter-spacing:-1.7px}.hero h1{font-size:clamp(40px,4.65vw,67px);line-height:1.08}.detail h1{font-size:clamp(37px,4.4vw,60px);line-height:1.1}.hero-aside .label{font:12px/1.7 ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:.8px;margin-top:0}.detail section>p{max-width:68ch}.entry-top h3{font-weight:550}.entry-points dd,.case-facts dd{line-height:1.8}@media(max-width:640px){.hero h1{font-size:40px;letter-spacing:-1.4px}.detail h1{font-size:36px;letter-spacing:-1.1px}.section-intro h2,.dark-panel h2{letter-spacing:-.6px}}@media print{.hero h1,.detail h1{font-size:28pt}}

/* Shared role and contact patterns across every page. */
.role-line{font-size:16px;line-height:1.6;font-weight:600;margin:14px 0 0}.area-line{font-size:14px;line-height:1.6;color:var(--muted);margin:4px 0 16px}.career-list .role-line,.detail section>.role-line{font-size:16px;font-weight:600;color:var(--ink);margin:8px 0 0}.career-list .area-line,.detail section>.area-line{font-size:14px;margin:3px 0 10px}.career-list .career-summary{margin-top:10px}.footer-label{font:12px/1.7 ui-monospace,monospace;letter-spacing:.8px;text-transform:uppercase;color:#c2d0cf;margin:0 0 12px}.contact-links{display:flex;flex-direction:column;align-items:start;gap:6px}.contact-links a{font-size:clamp(18px,2.4vw,30px);line-height:1.5;letter-spacing:-.4px;padding:7px 0;overflow-wrap:anywhere}.contact-links a:last-child{font-size:16px;letter-spacing:0}.profile-contact{display:flex;flex-wrap:wrap;gap:4px 28px;margin:18px 0}.profile-contact a{display:inline-block;padding:12px 0;overflow-wrap:anywhere}@media print{.role-line,.area-line{color:black!important}.profile-contact{font-size:10pt}}

.contact-links a,.profile-contact a{min-height:44px}

/* Compact footer: a clear identity, a light note, and two contact choices. */
.site-footer{padding:24px 0}.footer-inner{gap:20px;align-items:center}.footer-identity>a{font-size:17px;font-weight:600;letter-spacing:-.3px;text-decoration:none;display:inline-block;padding:5px 0}.footer-inner .footer-note{font-size:13px;line-height:1.6;color:#c2d0cf;margin-top:3px;max-width:58ch}.site-footer .contact-links{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 24px;font-size:14px}.site-footer .contact-links a,.site-footer .contact-links a:last-child{font-size:14px;line-height:1.6;letter-spacing:0;min-height:44px;display:inline-flex;align-items:center;padding:8px 0;white-space:nowrap}@media(max-width:640px){.site-footer{padding:20px 0}.footer-inner{align-items:flex-start;gap:10px}.site-footer .contact-links{gap:4px 20px}.footer-inner .footer-note{max-width:38ch}}

/* A sign-off rather than a second contact section. */
.site-footer{padding:26px 0}.footer-signoff{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:30px 55px}.footer-signature>a{display:inline-block;font:400 26px/1.2 Georgia,Cambria,serif;letter-spacing:-.7px;text-decoration:none;padding:5px 0}.signature-stop{color:#dfb48b}.footer-signature>span{display:block;font-size:12px;line-height:1.7;color:#c2d0cf;margin-top:4px}.footer-actions{display:flex;gap:24px}.footer-actions a{display:inline-flex;align-items:center;gap:15px;min-height:44px;font-size:15px;line-height:1.6}.footer-actions a span{color:#dfb48b}.footer-receipt{margin:0;padding:0 0 0 26px;border-left:1px solid #52636a;display:grid;grid-template-columns:auto auto;gap:8px 20px}.footer-receipt>div{display:flex;flex-direction:column-reverse;align-items:start;gap:2px}.footer-receipt dt{font:10px/1.6 ui-monospace,monospace;letter-spacing:.4px;text-transform:uppercase;color:#c2d0cf}.footer-receipt dd{margin:0;font:400 22px/1.2 ui-monospace,monospace;color:#f6f4ed}.footer-actions a:focus-visible,.footer-signature a:focus-visible{outline-color:#dfb48b}@media(max-width:960px){.footer-signoff{gap:24px}.footer-actions{gap:18px}.footer-receipt{padding-left:20px;gap:16px}}@media(max-width:640px){.site-footer{padding:23px 0}.footer-signoff{grid-template-columns:1fr auto;gap:15px 20px}.footer-signature{grid-column:1/-1}.footer-signature>a{font-size:24px}.footer-actions{flex-direction:column;gap:0;align-items:start}.footer-actions a{font-size:14px;gap:16px;min-height:44px}.footer-receipt{padding-left:20px;align-self:center;gap:16px}.footer-receipt dd{font-size:20px}}
/* Keep the narrow layout to two short rows. */
@media(max-width:640px){.footer-signature{grid-column:1}.footer-signature>span{display:none}.footer-actions{grid-column:1/-1;grid-row:2;flex-direction:row;gap:28px}.footer-receipt{grid-column:2;grid-row:1;padding-left:14px;gap:12px}.footer-signoff{gap:10px 12px}.footer-signature>a{font-size:23px}.footer-receipt dt{font-size:9px}.footer-receipt dd{font-size:19px}}
@media(max-width:640px){.footer-receipt dt{font-size:11px}}

.disclosure-note{border-left:3px solid var(--accent);padding:4px 0 4px 22px;margin-top:42px;max-width:68ch}.detail .disclosure-note h2{font-family:inherit;font-size:20px;line-height:1.4;margin:0 0 10px;letter-spacing:-.3px}.disclosure-note p{font-size:15px;line-height:1.8;color:var(--muted);margin:0 0 6px}.disclosure-note>a{display:inline-flex;align-items:center;min-height:44px;font-size:15px;padding:8px 0}
