
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;450;500;550;600&display=swap');
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:40px}body{margin:0;background:#fff;color:#161616;font:16px/1.65 Inter,-apple-system,BlinkMacSystemFont,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:underline;text-underline-offset:4px;text-decoration-color:#aaa}a:hover{text-decoration-color:#111}a:focus-visible{outline:2px solid #111;outline-offset:5px}.doc-nav{max-width:1250px;margin:auto;padding:30px 42px;display:flex;justify-content:space-between;align-items:center;font-size:14px}.doc-nav>a{font-weight:550;text-decoration:none}.doc-nav nav{display:flex;gap:30px}.doc-nav nav a{text-decoration:none}main,footer{max-width:1120px;padding:0 42px;margin:auto}.hero{padding:92px 0 70px;text-align:center}.intro-label{font-size:14px;margin:0 0 23px;color:#555}h1,h2,h3{font-weight:450;line-height:1.13;letter-spacing:-.04em;margin:0}h1{font-size:clamp(44px,5.6vw,72px);margin-bottom:37px}h2{font-size:30px}h3{font-size:19px}p{margin:0 0 21px}.socials{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 23px;font-size:13px}.socials span{display:none}.section{padding:68px 0;border-top:1px solid #e5e5e5;display:grid;grid-template-columns:235px minmax(0,1fr);gap:0 60px}.section-title{grid-column:1;grid-row:1/5}.section-title h2{font-size:25px;letter-spacing:-.03em}.section-title>p{font-size:14px;color:#666;margin-top:24px;line-height:1.65}.about-grid,.belief-wrap,.project-list,.places-grid{grid-column:2;min-width:0}.prose{font-size:17px;line-height:1.8}.prose p:first-child a{font-weight:500}blockquote{margin:32px 0 38px;padding:24px 27px;background:#f7f7f7;border-radius:6px;font-size:15px;line-height:1.8;color:#444}blockquote img{display:none}blockquote p{margin:0}.belief-title{margin:5px 0 28px;font-size:20px;letter-spacing:-.025em}.beliefs article{display:flex;gap:18px;margin-bottom:25px}.beliefs article>span{font-size:17px}.beliefs p{margin:0;line-height:1.8}em{font-style:normal;font-weight:500}.project-entry{padding:28px 0;border-bottom:1px solid #ededed}.project-entry:first-child{padding-top:0}.project-entry:last-child{border:0;padding-bottom:0}.project-heading{display:flex;justify-content:space-between;align-items:baseline;gap:25px}.project-heading h3{font-size:20px;line-height:1.45;letter-spacing:-.025em}.project-heading h3 a{text-decoration:none}.project-heading h3 a:hover{text-decoration:underline}.year{font-size:12px;color:#777;white-space:nowrap}.project-meta{font-size:12px;color:#666;margin:10px 0 15px}.project-entry>p:not(.project-meta){font-size:15px;color:#444;margin-bottom:12px}.notes{list-style:none;display:flex;flex-wrap:wrap;gap:3px 8px;padding:0;margin:0;color:#777;font-size:12px}.notes li:not(:last-child):after{content:' ·';margin-left:8px}.places-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.places h3{font-size:17px;margin:0 0 22px;letter-spacing:-.02em}.places ul{padding:0;list-style:none;margin:0;font-size:14px;color:#444}.places li{margin-bottom:13px}footer{padding-top:12px;padding-bottom:45px;font-size:12px;color:#666}footer a{text-decoration:none}
@media(max-width:900px){.section{grid-template-columns:170px minmax(0,1fr);gap:0 35px}.places-grid{grid-template-columns:1fr}.hero{padding:75px 0 55px}.doc-nav,main,footer{padding-left:30px;padding-right:30px}}
@media(max-width:640px){.doc-nav{padding:23px 22px;gap:15px;font-size:12px}.doc-nav nav{gap:15px}main,footer{padding-left:24px;padding-right:24px}.hero{padding:65px 0 48px}h1{font-size:clamp(38px,9.5vw,56px);letter-spacing:-.045em}.socials{gap:10px 18px;font-size:12px}.section{display:block;padding:38px 0}.section-title h2{font-size:25px;margin-bottom:26px}.section-title>p{font-size:15px;margin:0 0 30px}.prose{font-size:16px}.beliefs p{font-size:15px}.project-heading{gap:12px}.project-heading h3{font-size:18px}.places-grid{display:grid;grid-template-columns:1fr;gap:30px}.intro-label{font-size:13px}.notes{font-size:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* A restrained city cover and readable, text-labelled statuses. */
.profile-cover{margin:20px 0 0}.cover-image{position:relative;overflow:hidden;height:235px;border-radius:7px;background:#f3f4f4}.cover-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 52%;opacity:.69;filter:saturate(.68)}.cover-image:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#ffffff0d 25%,#ffffff14 55%,#ffffff9c 100%);pointer-events:none}.profile-cover figcaption{text-align:right;color:#888;font-size:12px;margin-top:7px;line-height:1.5}.profile-cover figcaption a{color:inherit;text-decoration-color:#ccc}.hero{padding-top:47px}.project-meta{display:flex;align-items:center;flex-wrap:wrap;gap:9px 12px}.status-badge{display:inline-flex;align-items:center;padding:3px 9px;border-radius:6px;font-size:12px;line-height:1.5;font-weight:500;letter-spacing:0}.status-live{color:#286748;background:#eaf4ee}.status-archived{color:#8a6025;background:#faf1e2}
@media(max-width:640px){.profile-cover{margin-top:8px}.cover-image{height:150px;border-radius:5px}.cover-image img{object-position:48% center}.profile-cover figcaption{text-align:left;font-size:12px;max-width:100%}.hero{padding-top:36px;padding-bottom:40px}.project-meta{gap:8px 10px}}

/* Supplied artwork sits underneath the navigation and introduction. */
body{position:relative;isolation:isolate}.header-background{position:absolute;z-index:-1;pointer-events:none;top:0;left:0;width:100%;height:560px;background-image:linear-gradient(180deg,rgba(255,255,255,.76) 0%,rgba(255,255,255,.79) 48%,rgba(255,255,255,.93) 83%,#fff 100%),url('assets/profile-background.jpg');background-size:cover;background-position:center,center calc(50% - 48px);background-repeat:no-repeat}.hero{padding-top:82px;padding-bottom:70px}.doc-nav,main,footer{position:relative}
@media(max-width:640px){.header-background{height:480px;background-position:center,center calc(50% - 32px)}.hero{padding-top:60px;padding-bottom:48px}}

.current-position{max-width:1120px;margin:4px auto 0;padding:12px 42px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13px;position:relative}.current-label{color:#777}.current-position a{text-decoration:none;font-weight:500}.current-dot{width:7px;height:7px;flex:0 0 7px;background:#3c9465;border-radius:50%;box-shadow:0 0 0 0 #3c946526;animation:current-pulse 3s ease-out infinite}@keyframes current-pulse{0%,100%{box-shadow:0 0 0 0 #3c946500}35%{box-shadow:0 0 0 5px #3c946520}70%{box-shadow:0 0 0 8px #3c946500}}.work-content{grid-column:2;min-width:0}.work-group+.work-group{margin-top:62px}.group-title{font-size:20px;font-weight:500;margin-bottom:24px;letter-spacing:-.025em}.group-intro{font-size:14px;color:#666;margin-top:-10px;margin-bottom:24px}.career-timeline{border-left:1px solid #dedede;margin-left:5px;padding-left:25px}.career-entry{position:relative;padding:0 0 28px}.career-entry:before{content:'';position:absolute;width:7px;height:7px;left:-29px;top:8px;border:2px solid white;background:#b8b8b8;box-sizing:content-box;border-radius:50%}.career-entry:first-child:before{background:#3c9465}.career-entry:last-child{padding-bottom:0}summary{cursor:pointer;list-style:none;display:flex;align-items:flex-start;gap:14px;min-height:44px}summary::-webkit-details-marker{display:none}summary:focus-visible{outline:2px solid #333;outline-offset:6px;border-radius:4px}.entry-heading{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.entry-company{font-size:17px;line-height:1.45;letter-spacing:-.02em;font-weight:500}.entry-company .status-badge{vertical-align:middle;margin-left:7px}.entry-role{font-size:15px;color:#444;line-height:1.5}.entry-meta{font-size:12px;color:#777;line-height:1.65;letter-spacing:0}.entry-meta>span{padding:0 5px;color:#aaa}.expand-icon{width:16px;height:16px;position:relative;flex:0 0 16px;margin-top:5px}.expand-icon:before,.expand-icon:after{content:'';position:absolute;background:#777;left:3px;top:7px;width:10px;height:1px}.expand-icon:after{transform:rotate(90deg)}details[open]>summary .expand-icon:after{transform:rotate(0deg)}.entry-body{font-size:15px;line-height:1.8;color:#444;padding:18px 28px 0 0}.entry-body>p{margin:0 0 15px}.entry-body ul{padding-left:19px;margin:0 0 18px}.entry-body li{margin:0 0 13px;padding-left:3px}.entry-links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:13px}.entry-links a{color:#555;text-decoration-color:#ccc}.work-entry{padding:23px 0;border-top:1px solid #e9e9e9}.work-entry summary>.status-badge{margin-top:2px;flex-shrink:0}.status-prototype{background:#edf0f9;color:#4e6089}.education article{padding:18px 0;border-top:1px solid #e9e9e9}.education h4{font-size:15px;line-height:1.5;font-weight:500;margin:0 0 7px}.education p{font-size:13px;color:#666;margin:0;line-height:1.7}.education .certificate-id{font-size:12px;color:#888;margin-top:3px}
@media(max-width:640px){.current-position{padding:10px 22px;font-size:12px;gap:7px;flex-wrap:wrap}.career-timeline{padding-left:20px}.career-entry:before{left:-24px}.entry-company{font-size:16px}.entry-body{padding-right:0;font-size:14px}.entry-role{font-size:14px}.work-entry summary{gap:9px}.work-entry summary>.status-badge{padding:2px 6px;font-size:11px}.group-title{font-size:19px}.work-group+.work-group{margin-top:45px}.current-label{font-size:12px}}
@media(prefers-reduced-motion:reduce){.current-dot{animation:none}}

.profile-signature{display:flex;flex-direction:column;align-items:center;gap:7px}.profile-signature img{display:block;width:42px;height:42px;border-radius:50%;object-fit:cover;filter:grayscale(1);opacity:.23}.doc-nav nav{align-self:center}@media(max-width:640px){.profile-signature{gap:5px}.profile-signature img{width:34px;height:34px}}

.work-section .current-position{margin:18px 0 24px;padding:0;justify-content:flex-start;align-items:baseline;font-size:13px;line-height:1.7;gap:9px;flex-wrap:nowrap}.work-section .current-dot{align-self:center}.work-section .current-position>span:last-child{min-width:0}@media(max-width:640px){.work-section .section-title h2{margin-bottom:16px}.work-section .current-position{margin:0 0 24px}}

/* Minimal section markers, with the original document styling. */
.visual-group-title{display:flex;align-items:center;gap:10px;line-height:1.35}.section-icon{display:inline-block;font-size:18px;line-height:1;letter-spacing:0;flex:0 0 auto}.degree-label{color:inherit}@media(max-width:640px){.section-icon{font-size:17px}.visual-group-title{gap:9px}}

.citation-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:5px;font-size:12px;line-height:1.6;color:#777;font-weight:400;letter-spacing:0}.citation-meta a{color:inherit;text-decoration-color:#bbb;text-underline-offset:3px}.citation-meta a:hover{color:#333}.citation-date{font-size:12px;color:#888;margin:17px 0 0!important}.paper-entry .entry-company{line-height:1.45}

.eacc-note{display:flex;align-items:center;gap:18px;margin:32px 0 0;padding:24px 0 0;border-top:1px solid #e9e9e9;background:none;border-radius:0}.eacc-note img{display:block;width:44px;height:auto;flex:0 0 44px}.eacc-note p{margin:0;min-width:0}@media(max-width:640px){.eacc-note{gap:14px;align-items:flex-start}.eacc-note img{width:38px;flex-basis:38px}}

.entry-date{display:block;font-size:13px;line-height:1.55;font-weight:400;color:#707070;letter-spacing:0;font-variant-numeric:tabular-nums}.education .education-date{font-size:13px;color:#707070;margin:3px 0 7px;font-variant-numeric:tabular-nums}.entry-date+.entry-meta{margin-top:-3px}

/* Consistent reading size across biography, work, education, and places. */
:root{--reading-size:1rem;--secondary-size:.8125rem}.prose,.beliefs p,.eacc-note,.entry-body,.section-title>p,.group-intro,.education p,.places ul{font-size:var(--reading-size);line-height:1.8}.education h4,.entry-company{font-size:1.0625rem;line-height:1.5}.entry-role{font-size:var(--reading-size);line-height:1.65}.places h3{font-size:1.125rem;line-height:1.5}.entry-meta,.entry-date,.education .education-date,.education .certificate-id,.citation-meta,.citation-date,.entry-links{font-size:var(--secondary-size);line-height:1.65}.places li{margin-bottom:12px}.education p:not(.education-date):not(.certificate-id){color:#444}.education .certificate-id{margin-top:5px}@media(max-width:640px){.prose,.beliefs p,.eacc-note,.entry-body,.section-title>p,.group-intro,.education p,.places ul,.entry-role{font-size:var(--reading-size)}.entry-company{font-size:1.0625rem}.education .education-date,.education .certificate-id{font-size:var(--secondary-size)}}

/* Appearance follows the device until a visitor chooses a mode. */
:root{color-scheme:light}.doc-nav nav{align-items:center}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;padding:0;flex:0 0 34px;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}.theme-toggle:hover{background:#00000008}.theme-toggle:focus-visible{outline:2px solid currentColor;outline-offset:3px}
html[data-theme=dark]{color-scheme:dark;background:#141416}[data-theme=dark] body{background:#141416;color:#ededf0}[data-theme=dark] .header-background{background-image:linear-gradient(180deg,rgba(20,20,22,.84) 0%,rgba(20,20,22,.86) 48%,rgba(20,20,22,.95) 83%,#141416 100%),url('assets/profile-background.jpg')}[data-theme=dark] a{text-decoration-color:#626268}[data-theme=dark] a:hover{text-decoration-color:#bdbdc3}[data-theme=dark] a:focus-visible,[data-theme=dark] summary:focus-visible{outline-color:#dedee3}[data-theme=dark] .intro-label,[data-theme=dark] .section-title>p,[data-theme=dark] .group-intro,[data-theme=dark] .education p,[data-theme=dark] .entry-links a,[data-theme=dark] footer{color:#b6b6bf}[data-theme=dark] .entry-body,[data-theme=dark] .entry-role,[data-theme=dark] .places ul,[data-theme=dark] .education p:not(.education-date):not(.certificate-id),[data-theme=dark] .eacc-note{color:#d1d1d8}[data-theme=dark] .entry-meta,[data-theme=dark] .entry-date,[data-theme=dark] .education .education-date,[data-theme=dark] .education .certificate-id,[data-theme=dark] .citation-meta,[data-theme=dark] .citation-date{color:#a6a6b0}[data-theme=dark] .citation-meta a:hover{color:#ededf0}[data-theme=dark] .section,[data-theme=dark] .work-entry,[data-theme=dark] .education article,[data-theme=dark] .eacc-note{border-color:#343439}[data-theme=dark] .career-timeline{border-left-color:#3b3b42}[data-theme=dark] .career-entry:before{border-color:#141416;background:#888894}[data-theme=dark] .career-entry:first-child:before{background:#62b88b}[data-theme=dark] .expand-icon:before,[data-theme=dark] .expand-icon:after{background:#aaaab5}[data-theme=dark] .entry-meta>span{color:#777781}[data-theme=dark] .status-live{background:#1c3025;color:#9ed3b4}[data-theme=dark] .status-archived{background:#332b1e;color:#e0bd84}[data-theme=dark] .status-prototype{background:#252c40;color:#b7c4ea}[data-theme=dark] .profile-signature img{opacity:.32}[data-theme=dark] .theme-toggle:hover{background:#ffffff0b}
@media(max-width:640px){.doc-nav nav{gap:12px}.theme-toggle{width:30px;height:30px;flex-basis:30px}}@media(max-width:360px){.doc-nav{gap:10px;padding-left:18px;padding-right:18px}.doc-nav nav{gap:9px}}

/* A single quiet icon cycles System, Light, Dark, then System again. */
.theme-toggle svg{display:none}[data-appearance=system] .theme-toggle .theme-computer,[data-appearance=light] .theme-toggle .theme-sun,[data-appearance=dark] .theme-toggle .theme-moon{display:block}
