@font-face{font-family:Portfolio Sans;src:url('assets/fonts/sans-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Portfolio Sans;src:url('assets/fonts/sans-bold.woff') format('woff');font-weight:600 800;font-style:normal;font-display:swap}
@font-face{font-family:Portfolio Serif;src:url('assets/fonts/serif-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:Portfolio Serif;src:url('assets/fonts/serif-italic.woff') format('woff');font-weight:400;font-style:italic;font-display:swap}
:root{color-scheme:dark;--bg:#10151c;--surface:#161c25;--surface-two:#1c232c;--text:#f0eee9;--muted:#b3b7be;--faint:#8e969f;--accent:#d3b78e;--accent-dark:#1b1b1a;--line:#343b44;--line-soft:#262d36;--header:rgba(16,21,28,.94);--hero-bg:#10151c;--hero-text:#f0eee9;--hero-muted:#b9bfc7;--hero-accent:#d3b78e;--photo-opacity:1;--sans:'Portfolio Sans',Arial,sans-serif;--serif:'Portfolio Serif',Georgia,serif;--gutter:clamp(1.3rem,5.2vw,6rem);--max-width:1440px;scroll-behavior:smooth;scroll-padding-top:100px}
:root[data-theme=light]{color-scheme:light;--bg:#f7f8fa;--surface:#fff;--surface-two:#edf0f4;--text:#192433;--muted:#526071;--faint:#606c7b;--accent:#775727;--accent-dark:#fff;--line:#c8ced6;--line-soft:#dce0e6;--header:rgba(247,248,250,.95)}
:root[data-theme=contrast]{color-scheme:dark;--bg:#000;--surface:#000;--surface-two:#101010;--text:#fff;--muted:#fff;--faint:#fff;--accent:#ffdc70;--accent-dark:#000;--line:#fff;--line-soft:#a7a7a7;--header:#000;--hero-bg:#000;--hero-text:#fff;--hero-muted:#fff;--hero-accent:#ffdc70;--photo-opacity:1}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}button{color:inherit}button{cursor:pointer}a,button,summary,input,select{touch-action:manipulation}button:disabled{cursor:default}svg{display:block}img{display:block;max-width:100%}button{background:none;border:0}p,h1,h2,h3{margin:0}p+p{margin-top:1.25rem}em{font-weight:400;color:var(--accent)}::selection{background:var(--accent);color:var(--accent-dark)}:focus-visible{outline:3px solid var(--accent);outline-offset:6px}main:focus{outline:none}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:1rem;left:1rem;z-index:200;background:var(--accent);color:var(--accent-dark);padding:.75rem 1.2rem;transform:translateY(-180%)}.skip-link:focus{transform:none}.reading-progress{position:fixed;top:0;left:0;height:2px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;z-index:110;pointer-events:none}
#cursor-halo{position:fixed;top:0;left:0;width:38px;height:38px;border:1px solid var(--accent);border-radius:50%;z-index:150;pointer-events:none;opacity:0;margin:-19px 0 0 -19px;transition:width .25s,height .25s,margin .25s,opacity .25s;background:color-mix(in srgb,var(--accent) 4%,transparent);will-change:transform}#cursor-halo.active{opacity:.65}#cursor-halo.hovering{width:58px;height:58px;margin:-29px 0 0 -29px;opacity:.9}html[data-cursor=off] #cursor-halo{display:none}
.site-header{height:100px;display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:0 var(--gutter);max-width:100%;position:sticky;top:0;z-index:100;background:var(--header);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:1rem;flex-shrink:0}.monogram{font-family:var(--serif);font-size:2.25rem;line-height:1;letter-spacing:-.15rem}.monogram>span{color:var(--accent)}.brand-name{font-size:.75rem;line-height:1.35;letter-spacing:.15em}.desktop-nav{display:flex;gap:2rem;align-items:center}.desktop-nav a{font-size:.875rem;color:var(--muted);position:relative;transition:color .2s}.desktop-nav a:after{content:'';position:absolute;left:0;bottom:-9px;right:0;height:1px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover,.desktop-nav a.current{color:var(--text)}.desktop-nav a:hover:after,.desktop-nav a.current:after{transform:scaleX(1)}.header-tools{display:flex;gap:1rem;align-items:center}.language-switch{display:flex;align-items:center;font-size:.875rem;gap:.25rem;color:var(--faint)}.language-button{padding:.65rem .5rem;min-height:44px;min-width:38px;font-size:.875rem;color:var(--faint)}.language-button.active{color:var(--accent)}.language-button:hover{color:var(--text)}.icon-button{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--line);border-radius:50%;transition:border-color .2s,background .2s;flex-shrink:0}.icon-button svg{width:22px;height:22px}.icon-button:hover{border-color:var(--accent);background:var(--surface-two)}.menu-toggle{display:none}.mobile-nav{display:none}
.hero{position:relative;isolation:isolate;min-height:780px;height:min(900px,calc(100svh - 100px));max-height:none;overflow:hidden;background:var(--hero-bg);color:var(--hero-text);display:flex;align-items:center}.hero-grid{position:absolute;inset:0;z-index:-1;background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:110px 110px;mask-image:linear-gradient(90deg,#000,transparent 75%)}.hero-photo{position:absolute;top:0;right:0;bottom:0;width:58%;z-index:-1;opacity:var(--photo-opacity)}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;filter:grayscale(1);animation:portrait-enter 1.5s ease-out both}.hero-photo:after{content:'';position:absolute;inset:-1px;background:linear-gradient(90deg,var(--hero-bg) 0%,rgba(16,21,28,.86) 4%,rgba(16,21,28,.35) 21%,transparent 43%),linear-gradient(0deg,var(--hero-bg) 0%,rgba(16,21,28,.6) 13%,transparent 45%),linear-gradient(180deg,rgba(16,21,28,.2),transparent 25%)}.hero-content{padding:3rem 0 8.5rem var(--gutter);position:relative;width:65%;max-width:950px}.eyebrow{font-size:.75rem;letter-spacing:.16em;line-height:1.6;text-transform:uppercase}.hero-eyebrow{display:flex;align-items:center;gap:1rem;color:var(--hero-accent);margin-bottom:2rem;animation:hero-enter .9s .08s ease both}.short-rule{width:32px;height:1px;background:currentColor;flex-shrink:0}.hero h1{font-family:var(--serif);font-size:clamp(5rem,7.9vw,8rem);font-weight:400;line-height:.98;letter-spacing:-.055em;position:relative;max-width:9em;animation:hero-enter 1s .15s ease both}.hero h1 em{color:var(--hero-accent);font-weight:400;letter-spacing:-.05em}.hero-intro{font-size:1.25rem;line-height:1.55;color:var(--hero-text);margin:2rem 0 0;animation:hero-enter 1s .25s ease both;max-width:29em}.hero-specialties{font-size:.875rem;color:var(--hero-muted);margin-top:1rem;animation:hero-enter 1s .3s ease both}.hero-actions{display:flex;gap:.85rem;flex-wrap:wrap;margin-top:2rem;animation:hero-enter 1s .4s ease both}.button{display:inline-flex;justify-content:center;align-items:center;gap:.7rem;font-size:.875rem;line-height:1.3;min-height:52px;padding:.95rem 1.45rem;border:1px solid transparent;border-radius:2px;transition:background .25s,border-color .25s,color .25s,transform .25s}.button:hover{transform:translateY(-2px)}.button svg{width:19px;height:19px;flex-shrink:0}.button-primary{background:var(--accent);color:var(--accent-dark)}.button-primary:hover{background:color-mix(in srgb,var(--accent) 88%,white)}.button-outline{border-color:var(--line);color:var(--text)}.button-outline:hover{border-color:var(--accent);background:var(--surface-two)}.hero .button-primary{background:var(--hero-accent);color:#10151c}.hero .button-outline{border-color:#697079;color:var(--hero-text);background:rgba(16,21,28,.28)}.hero .button-outline:hover{border-color:var(--hero-accent);background:#1c232c}.hero-signature{position:absolute;bottom:8rem;right:var(--gutter);display:grid;grid-template-columns:28px auto;column-gap:12px;text-align:left;font-family:var(--serif);font-size:1.75rem;line-height:1.1}.signature-line{grid-row:1/3;align-self:center;height:1px;width:28px;background:var(--hero-accent)}.hero-signature small{grid-column:2;font-family:var(--sans);font-size:.75rem;letter-spacing:.06em;color:var(--hero-muted);margin-top:.6rem}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:2rem;border-top:1px solid rgba(255,255,255,.2);padding-top:1.35rem;display:flex;justify-content:space-between;gap:1rem;align-items:center;font-size:.75rem;letter-spacing:.12em;color:var(--hero-muted)}.location{display:flex;gap:.6rem;align-items:center}.location svg{width:17px;height:17px}.scroll-cue{display:flex;gap:1rem;align-items:center}.scroll-line{height:28px;width:1px;background:#676a6e;position:relative;overflow:hidden}.scroll-line:before{content:'';height:12px;width:1px;background:var(--hero-accent);position:absolute;animation:scroll-line 2s ease infinite}.hero-index{letter-spacing:.1em}.discipline-strip{border-bottom:1px solid var(--line-soft);padding:1.4rem var(--gutter);display:flex;justify-content:space-between;align-items:center;gap:1rem;color:var(--muted);font-size:.875rem}.strip-star{color:var(--accent);font-size:1.2rem}
.section{padding:7rem var(--gutter);max-width:var(--max-width);margin:0 auto;scroll-margin-top:1rem}.section-marker{display:flex;align-items:center;gap:1rem;margin-bottom:2.6rem}.section-number{color:var(--accent);font-size:.75rem;letter-spacing:.04em}.section-marker .eyebrow{color:var(--muted)}h2{font-family:var(--serif);font-size:clamp(2.7rem,4.4vw,4.5rem);font-weight:400;line-height:1.09;letter-spacing:-.038em}h3{font-family:var(--serif);font-weight:400}.profile-layout{display:grid;grid-template-columns:1fr 1fr;gap:6rem}.profile-heading h2{max-width:11em}.profile-caption{margin-top:3rem;display:flex;gap:1.2rem;align-items:center}.profile-caption>span{font-family:var(--serif);font-size:2rem;color:var(--accent)}.profile-caption p{font-size:.875rem;line-height:1.55;color:var(--muted)}.profile-copy{max-width:580px}.profile-copy .lead{font-size:1.5rem;color:var(--text);line-height:1.45;letter-spacing:-.02em}.profile-copy p{font-size:1rem;color:var(--muted)}.principles{display:flex;flex-wrap:wrap;gap:1.5rem;margin-top:2rem;color:var(--accent);font-family:var(--serif);font-style:italic;font-size:1.4rem}.evidence-stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:4rem}.evidence-stats>div{padding:2.3rem 2rem;border-right:1px solid var(--line)}.evidence-stats>div:first-child{padding-left:0}.evidence-stats>div:last-child{border-right:0}.stat-value{font-family:var(--serif);font-size:3.5rem;line-height:1;color:var(--text);white-space:nowrap;letter-spacing:-.04em}.stat-divider{font-size:2rem;color:var(--accent);padding:0 .1rem}.stat-unit{font-family:var(--sans);font-size:.875rem;letter-spacing:0;color:var(--muted)}.evidence-stats p{font-size:.875rem;color:var(--muted);line-height:1.5;margin-top:.9rem}.section-topline{display:flex;justify-content:space-between;gap:2rem;align-items:baseline}.micro-label{font-size:.75rem;letter-spacing:.1em;color:var(--faint)}.impact-section{border-top:1px solid var(--line-soft);padding-top:6rem}.impact-section h2{margin-bottom:3rem}.case-explorer{display:grid;grid-template-columns:36% 64%;border:1px solid var(--line);background:var(--surface)}.case-selectors{padding:1rem 0;border-right:1px solid var(--line);background:var(--bg)}.case-tab{width:100%;min-height:140px;display:grid;grid-template-columns:24px 1fr 18px;gap:1rem;align-items:center;text-align:left;padding:1.5rem 1.75rem;position:relative;border-bottom:1px solid var(--line-soft)}.case-tab:last-child{border-bottom:0}.case-tab:before{content:'';position:absolute;width:2px;left:-1px;top:15%;height:70%;background:var(--accent);transform:scaleY(0);transition:transform .25s}.case-tab.selected{background:var(--surface);color:var(--accent)}.case-tab.selected:before{transform:scaleY(1)}.case-tab:hover{background:var(--surface-two)}.case-tab:focus-visible{outline-offset:-5px}.case-num{font-family:var(--serif);font-size:1rem;color:var(--faint);align-self:start;padding-top:.3rem}.case-tab strong{font-weight:400;font-size:1.1rem;line-height:1.4;display:block}.case-tab small{display:block;font-size:.875rem;color:var(--faint);margin-top:.5rem;line-height:1.5}.tab-symbol{font-size:1.4rem;transition:transform .3s}.case-tab.selected .tab-symbol{transform:rotate(45deg)}.case-panel{padding:2.5rem 3rem;min-height:510px}.case-panel:focus-visible{outline-offset:-5px}.case-meta{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:var(--faint);letter-spacing:.09em;margin-bottom:1.5rem}.case-panel h3{font-size:2.4rem;line-height:1.13;letter-spacing:-.03em;max-width:20em}.case-panel>p{margin-top:1.1rem;color:var(--muted);max-width:40rem}.system-map{display:flex;align-items:center;justify-content:center;padding:1.7rem 0;gap:1rem;margin:.8rem 0}.system-map>div{display:flex;flex-direction:column;align-items:center;gap:.2rem}.map-node-label{color:var(--muted);font-size:.875rem}.system-map strong{font-family:var(--serif);font-size:1.55rem;font-weight:400;letter-spacing:.04em}.map-connector{height:1px;flex:1;background:var(--line);max-width:70px;position:relative}.map-connector:after{content:'';position:absolute;top:-2px;left:50%;width:5px;height:5px;background:var(--accent);border-radius:50%}.map-center{border:1px solid var(--line);padding:.6rem .75rem;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}.map-center svg{width:27px;height:27px}.case-outcome{margin:0 0 1.5rem;padding-top:1.3rem;border-top:1px solid var(--line)}.case-outcome dt{color:var(--accent);font-size:.75rem;letter-spacing:.1em;margin-bottom:.6rem}.case-outcome dd{margin:0;color:var(--muted);font-size:.875rem;line-height:1.6}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tags span{display:inline-block;border:1px solid var(--line);border-radius:2px;font-size:.75rem;padding:.25rem .6rem;color:var(--muted);line-height:1.5}.source-note{font-size:.75rem;color:var(--faint);margin-top:1rem;text-align:right}.workflow-map{display:flex;align-items:center;justify-content:center;margin:2rem 0;font-size:.875rem;text-align:center;color:var(--muted);gap:.75rem}.workflow-map i{flex:1;max-width:55px;height:1px;background:var(--line)}.workflow-core{border:1px solid var(--line);color:var(--accent);padding:.8rem 1rem;line-height:1.4}.quality-map{display:flex;align-items:center;justify-content:center;gap:2rem;margin:1.5rem 0}.quality-map>div{display:flex;flex-direction:column;align-items:center}.quality-map strong{font-family:var(--serif);font-size:3rem;line-height:1.2;color:var(--accent);font-weight:400}.quality-map span{font-size:.875rem;color:var(--muted)}.quality-divider{width:1px;height:65px;background:var(--line)}
.capabilities-section{display:grid;grid-template-columns:45% 55%;border-top:1px solid var(--line-soft)}.capabilities-intro{padding-right:3rem}.capabilities-intro h2{font-size:clamp(2.5rem,3.5vw,3.8rem)}.capabilities-intro>p{margin-top:1.5rem;color:var(--muted);max-width:24em}.capability{border-bottom:1px solid var(--line);}.capability:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;list-style:none}summary::-webkit-details-marker{display:none}.capability summary{display:grid;grid-template-columns:26px 1fr 22px;gap:1rem;align-items:center;padding:1.6rem 0;font-size:1.2rem;line-height:1.4;min-height:80px}.capability-number{font-size:.75rem;color:var(--accent)}.expand-symbol{font-size:1.5rem;font-weight:400;line-height:1;color:var(--accent);transition:transform .25s;justify-self:end}details[open]>summary .expand-symbol{transform:rotate(45deg)}.capability-content{padding:0 0 1.6rem 42px}.capability-content p{color:var(--muted);font-size:1rem;margin-bottom:1.3rem}.career-section{border-top:1px solid var(--line-soft)}.career-header{display:flex;align-items:end;justify-content:space-between;gap:3rem;margin-bottom:3rem}.career-header>p{color:var(--muted);font-size:1rem;max-width:25em;margin-bottom:.4rem}.timeline{border-top:1px solid var(--line)}.career-entry{border-bottom:1px solid var(--line)}.career-entry>summary{display:grid;grid-template-columns:150px minmax(0,1fr) 145px 20px;gap:2rem;align-items:center;padding:2rem 0}.career-date{color:var(--accent);font-size:.875rem;letter-spacing:.05em}.career-name{display:flex;flex-direction:column;gap:.25rem}.career-name strong{font-family:var(--serif);font-weight:400;font-size:1.75rem;line-height:1.3}.career-name>span{color:var(--muted);font-size:.875rem;line-height:1.5}.career-type{font-size:.75rem;letter-spacing:.1em;color:var(--faint)}.career-detail{padding:0 5rem 2rem calc(150px + 2rem);max-width:950px;color:var(--muted)}.exact-dates{font-size:.75rem;letter-spacing:.06em;color:var(--accent);margin-bottom:.75rem;line-height:1.6}.career-detail .exact-dates+p{margin-top:0}.career-subrole+.career-subrole{margin-top:1.6rem}.education-row{display:flex;align-items:center;gap:2rem;justify-content:space-between;margin-top:3rem;border-bottom:1px solid var(--line);padding-bottom:2rem}.education-row>.eyebrow{color:var(--accent)}.education-row>div{flex:1}.education-row h3{font-size:1.5rem;line-height:1.3}.education-row p{color:var(--muted);font-size:.875rem;margin-top:.5rem}.education-row p span{color:var(--faint)}.text-link{font-size:.875rem;display:inline-block;border-bottom:1px solid var(--accent);padding:.6rem 0;min-height:44px}.text-link:hover{color:var(--accent)}.learning-note{display:flex;align-items:center;gap:1.5rem;margin-top:2rem;max-width:750px;color:var(--muted);font-size:.875rem}.learning-glyph{color:var(--accent);font-size:2.5rem;line-height:1}
.contact-section{background:var(--surface);border-top:1px solid var(--line-soft);position:relative;overflow:hidden;isolation:isolate;max-width:none}.contact-section>.section-marker,.contact-layout{max-width:calc(var(--max-width) - var(--gutter)*2);margin-left:auto;margin-right:auto}.contact-decor{position:absolute;bottom:-.35em;right:.05em;font-family:var(--serif);font-size:30rem;line-height:1;color:var(--text);opacity:.024;z-index:-1;letter-spacing:-.07em;pointer-events:none}.contact-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:5rem}.contact-layout h2{font-size:clamp(2.7rem,4vw,4.2rem)}.contact-layout p{margin-top:1.5rem;color:var(--muted);max-width:31em}.contact-email{display:inline-block;color:var(--accent);font-size:1.25rem;letter-spacing:-.025em;border-bottom:1px solid var(--line);margin-top:2rem;padding:.5rem 0;min-height:44px;overflow-wrap:anywhere}.contact-email:hover{border-color:var(--accent)}.contact-options{align-self:center}.contact-options a{display:grid;grid-template-columns:1fr 28px;border-bottom:1px solid var(--line);padding:1.5rem 0;column-gap:1rem;transition:padding .25s}.contact-options a:first-child{border-top:1px solid var(--line)}.contact-options a .eyebrow{font-size:.75rem;color:var(--faint);grid-row:1}.contact-options a>span:nth-child(2){font-size:1.15rem;grid-row:2;line-height:1.5;margin-top:.3rem}.contact-options a>svg{width:23px;height:23px;color:var(--accent);grid-row:1/3;align-self:center}.contact-options a:hover{padding-left:.5rem;color:var(--accent)}.site-footer{padding:2rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem;font-size:.75rem;color:var(--muted);border-top:1px solid var(--line-soft)}.site-footer p{font-size:.75rem}.footer-brand{font-family:var(--serif);font-size:1.35rem;color:var(--text)}.footer-brand>span{color:var(--accent)}.site-footer>a:not(.footer-brand){padding:.65rem 0;min-height:44px}.site-footer>a:hover{color:var(--accent)}
.preferences-dialog{width:min(560px,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:2rem;border:1px solid var(--line);background:var(--bg);color:var(--text);border-radius:6px;box-shadow:0 30px 120px rgba(0,0,0,.4)}.preferences-dialog::backdrop{background:rgba(0,0,0,.68);backdrop-filter:blur(6px)}.dialog-header{display:flex;gap:1rem;align-items:start;justify-content:space-between;margin-bottom:2rem}.dialog-header .eyebrow{color:var(--accent)}.dialog-header h2{font-family:var(--sans);font-size:1.5rem;line-height:1.3;letter-spacing:-.025em;margin-top:.4rem}.theme-fieldset{border:0;padding:0;margin:0 0 1.6rem;min-width:0}.theme-fieldset legend{font-size:1rem;margin-bottom:.9rem}.theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.theme-option{position:relative;cursor:pointer;display:flex;flex-direction:column;gap:.4rem;align-items:center;font-size:.875rem;line-height:1.4;text-align:center;min-width:0}.theme-option input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.theme-preview{width:100%;display:flex;align-items:center;justify-content:center;height:66px;border:2px solid transparent;border-radius:3px;font-family:var(--serif);font-size:2rem;outline:1px solid var(--line)}.theme-option input:checked+.theme-preview{border-color:var(--accent);outline-color:var(--accent)}.theme-option input:focus-visible+.theme-preview{outline:3px solid var(--accent);outline-offset:4px}.graphite-preview{background:#10151c;color:#d3b78e}.light-preview{background:#f7f8fa;color:#192433}.contrast-preview{background:#000;color:#ffdc70}.preference-row{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.2rem 0;border-top:1px solid var(--line-soft)}.preference-row>span{flex:1}.preference-row strong{font-size:1rem;font-weight:400}.preference-row small{display:block;color:var(--muted);font-size:.875rem;line-height:1.5;margin-top:.3rem}.switch{appearance:none;width:44px;height:26px;border:1px solid var(--line);border-radius:20px;background:var(--surface-two);position:relative;cursor:pointer;flex-shrink:0}.switch:before{content:'';position:absolute;left:4px;top:4px;width:16px;height:16px;background:var(--muted);border-radius:50%;transition:transform .2s,background .2s}.switch:checked{background:var(--accent);border-color:var(--accent)}.switch:checked:before{transform:translateX(17px);background:var(--accent-dark)}.text-size-row select{color:var(--text);background:var(--surface);border:1px solid var(--line);padding:.55rem .4rem;min-height:44px;max-width:140px;font-size:.875rem;border-radius:2px}.preference-note{font-size:.75rem;color:var(--faint);margin:.5rem 0 1.3rem}.preferences-dialog>.button{width:100%}.noscript-note{padding:1rem var(--gutter);font-size:.875rem;background:var(--surface)}.noscript-note a{text-decoration:underline}
.js-motion .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.6,.2,1)}.js-motion .reveal.visible{opacity:1;transform:none}.case-panel.panel-enter{animation:panel-enter .4s ease both}
@keyframes hero-enter{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-enter{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}@keyframes scroll-line{0%{transform:translateY(-15px)}100%{transform:translateY(35px)}}@keyframes panel-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1600px){.hero-content{padding-left:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)));max-width:none}.hero h1{font-size:8.4rem}.hero-photo{width:54%}.hero-signature{right:max(var(--gutter),calc((100vw - 1440px)/2 + var(--gutter)))}}
@media(max-width:1100px){.desktop-nav{gap:1.3rem}.brand-name{display:none}.hero{min-height:710px}.hero h1{font-size:clamp(4.8rem,8.5vw,6.4rem)}.hero-content{width:70%}.hero-photo{width:59%}.hero-intro{font-size:1.15rem}.profile-layout{gap:3rem}.section{padding-top:5rem;padding-bottom:5rem}.case-explorer{grid-template-columns:37% 63%}.case-tab{padding:1.5rem 1.2rem;gap:.7rem}.case-panel{padding:2rem}.case-panel h3{font-size:2.1rem}.capabilities-section{grid-template-columns:44% 56%}.career-entry>summary{grid-template-columns:110px minmax(0,1fr) 125px 20px;gap:1.5rem}.career-detail{padding-left:calc(110px + 1.5rem)}.contact-layout{gap:3rem}}
@media(max-width:800px){:root{--gutter:1.5rem;scroll-padding-top:82px}.site-header{height:82px;gap:1rem}.desktop-nav{display:none}.brand-name{display:block}.header-tools{gap:.6rem}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:none;width:36px;border-radius:0}.menu-toggle span{display:block;width:20px;height:1px;background:currentColor;transition:transform .25s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}.mobile-nav:not([hidden]){display:flex;position:absolute;left:0;right:0;top:82px;flex-direction:column;background:var(--bg);padding:1rem var(--gutter) 1.5rem;border-bottom:1px solid var(--line)}.mobile-nav a{padding:.8rem 0;min-height:44px;border-bottom:1px solid var(--line-soft);font-size:1.1rem}.mobile-nav a:last-child{font-size:.875rem;color:var(--accent);border-bottom:0}.hero{min-height:740px;height:calc(100svh - 82px);max-height:950px;align-items:end}.hero-photo{width:100%;top:0;height:100%;bottom:auto}.hero-photo img{object-position:66% 16%}.hero-photo:after{background:linear-gradient(0deg,var(--hero-bg) 0%,rgba(16,21,28,.95) 17%,rgba(16,21,28,.75) 39%,rgba(16,21,28,.18) 69%,rgba(16,21,28,.1)),linear-gradient(90deg,rgba(16,21,28,.25),transparent)}.hero-content{width:100%;max-width:none;padding:5rem var(--gutter) 7.5rem}.hero-eyebrow{margin-bottom:1.25rem;max-width:28em;font-size:.75rem}.hero h1{font-size:clamp(4.4rem,11.3vw,6.3rem);line-height:.96;max-width:9em}.hero-intro{font-size:1.15rem;margin-top:1.5rem}.hero-specialties{margin-top:.75rem;max-width:34em}.hero-actions{margin-top:1.5rem}.hero-signature{top:2rem;right:var(--gutter);bottom:auto;font-size:1.25rem;text-align:right;grid-template-columns:auto}.signature-line{display:none}.hero-signature small{grid-column:1;font-size:.75rem}.hero-bottom{bottom:1.5rem}.hero-index{display:none}.hero-bottom .scroll-cue{font-size:.75rem}.discipline-strip{justify-content:center;flex-wrap:wrap;gap:.65rem 1.2rem;padding:1.2rem var(--gutter);font-size:.875rem}.discipline-strip .strip-star{display:none}.discipline-strip>span:not(.strip-star):after{content:''}.section{padding:4.5rem var(--gutter)}.profile-layout{grid-template-columns:1fr;gap:2.5rem}.profile-heading h2{max-width:none;font-size:3.5rem}.profile-caption{margin-top:1.5rem}.profile-copy{max-width:none}.profile-copy .lead{font-size:1.4rem}.section-marker{margin-bottom:2rem}.evidence-stats{margin-top:2.5rem}.evidence-stats>div{padding:1.7rem 1.2rem}.stat-value{font-size:3rem}.stat-unit{display:block;margin-top:.4rem;font-size:.875rem}.evidence-stats p{font-size:.875rem}.micro-label{display:none}.case-explorer{grid-template-columns:1fr}.case-selectors{display:flex;padding:0;border-right:0;border-bottom:1px solid var(--line);overflow-x:auto}.case-tab{min-height:122px;min-width:0;width:33.333%;padding:1.2rem;grid-template-columns:1fr;gap:.45rem;align-content:start;align-items:start;border-bottom:0;border-right:1px solid var(--line)}.case-tab:last-child{border-right:0}.case-tab:before{top:auto;bottom:-1px;height:2px;left:15%;width:70%;transform:scaleX(0)}.case-tab.selected:before{transform:scaleX(1)}.case-num{font-size:.875rem}.case-tab strong{font-size:1rem;line-height:1.35}.case-tab small{font-size:.75rem}.tab-symbol{display:none}.case-panel{padding:2rem;min-height:510px}.case-panel h3{font-size:2.4rem}.capabilities-section{grid-template-columns:1fr;gap:2.5rem}.capabilities-intro{padding-right:0}.capabilities-intro h2{font-size:3.4rem}.capabilities-intro>p{max-width:30em}.career-header{display:block;margin-bottom:2.5rem}.career-header>p{margin-top:1.5rem}.career-entry>summary{grid-template-columns:95px minmax(0,1fr) 20px;gap:1rem;padding:1.5rem 0}.career-name strong{font-size:1.5rem}.career-type{display:none}.career-date{font-size:.75rem}.career-detail{padding:0 0 1.8rem calc(95px + 1rem)}.education-row{align-items:start;flex-wrap:wrap;gap:1rem 2rem}.education-row>div{flex-basis:70%}.education-row>.text-link{margin-left:0}.learning-note{align-items:start;gap:1rem}.contact-layout{grid-template-columns:1fr;gap:3rem}.contact-layout h2{font-size:3.5rem}.contact-options a{padding:1.3rem 0}.contact-decor{font-size:24rem}.site-footer{flex-wrap:wrap;gap:1rem 2rem}.site-footer>.footer-brand{flex-basis:45%}.site-footer p{margin-left:auto}.site-footer>span{margin-left:auto}}
@media(max-width:480px){:root{--gutter:1.25rem}.brand-name{font-size:.625rem;letter-spacing:.1em}.brand{gap:.65rem}.monogram{font-size:2rem}.header-tools{gap:.2rem}.language-switch{gap:0}.language-button{padding:.5rem .25rem;min-width:34px}.preferences-button{width:40px;height:40px}.hero{min-height:770px;max-height:none}.hero-photo img{object-position:61% 0%}.hero-content{padding-bottom:8rem;padding-top:14rem}.hero h1{font-size:clamp(3.45rem,13.2vw,4.6rem);line-height:1.01}.hero-eyebrow{font-size:.75rem;letter-spacing:.09em;gap:.6rem;max-width:23em}.hero-eyebrow .short-rule{width:20px}.hero-intro{font-size:1.0625rem;max-width:23em}.hero-specialties{font-size:.875rem;max-width:22em;line-height:1.6}.hero-actions{gap:.65rem}.button{padding:.85rem 1rem;font-size:.875rem;min-height:50px}.hero-signature{font-size:1.1rem;top:1.5rem}.hero-signature small{font-size:.75rem;margin-top:.4rem}.hero-bottom{gap:.6rem;align-items:start;padding-top:1rem}.hero-bottom .scroll-cue{gap:.6rem;letter-spacing:.08em;max-width:120px;line-height:1.45}.hero-bottom .location{font-size:.75rem;letter-spacing:.06em;white-space:nowrap}.scroll-line{flex-shrink:0}.section{padding:3.5rem var(--gutter)}h2,.profile-heading h2,.capabilities-intro h2,.contact-layout h2{font-size:clamp(2.5rem,9vw,3.4rem)}.section-marker{gap:.8rem}.section-marker .eyebrow{font-size:.75rem;letter-spacing:.09em}.evidence-stats{grid-template-columns:1fr}.evidence-stats>div,.evidence-stats>div:first-child{padding:1.4rem 0;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;border-right:0;border-bottom:1px solid var(--line)}.evidence-stats>div:last-child{border-bottom:0}.stat-value{font-size:2.8rem}.stat-unit{display:inline;font-size:.75rem}.evidence-stats p{margin-top:0;font-size:.875rem;text-align:right;max-width:15em}.case-tab{padding:1rem .6rem;min-height:150px}.case-tab strong{font-size:.875rem;line-height:1.5}.case-tab small{font-size:.75rem}.case-panel{padding:1.5rem 1.2rem;min-height:0}.case-meta{flex-wrap:wrap;font-size:.75rem;letter-spacing:.05em;margin-bottom:1.25rem}.case-panel h3{font-size:1.95rem}.system-map{gap:.6rem}.map-center{padding:.65rem .5rem;font-size:.75rem}.map-node-label{font-size:.875rem}.system-map strong{font-size:1.4rem}.workflow-map{font-size:.875rem;gap:.5rem}.workflow-core{padding:.65rem .5rem}.quality-map{gap:1.25rem}.quality-map span{font-size:.75rem}.source-note{text-align:left;font-size:.75rem}.capability summary{font-size:1.05rem;gap:.75rem}.capability-content{padding-left:0}.career-entry>summary{grid-template-columns:1fr 20px;gap:.6rem 1rem}.career-date{grid-column:1;grid-row:1}.career-name{grid-row:2;grid-column:1}.career-entry>summary>.expand-symbol{grid-column:2;grid-row:1/3;align-self:center}.career-detail{padding-left:0}.education-row{display:block}.education-row>div{margin-top:1rem}.education-row>.text-link{margin-top:.8rem}.contact-email{font-size:1.2rem}.contact-decor{font-size:18rem}.site-footer{gap:.8rem}.site-footer>.footer-brand{flex-basis:100%}.site-footer p{flex-basis:100%;margin:0}.preferences-dialog{padding:1.35rem}.dialog-header h2{font-size:1.3rem}.theme-options{gap:.5rem}.theme-option{font-size:.875rem}.preference-row{gap:1rem}.preference-row small{font-size:.875rem}.text-size-row select{max-width:115px}.text-size-row{align-items:start}}
@media(any-hover:none){#cursor-halo{display:none}}
@media(prefers-reduced-motion:reduce){html:not([data-motion=full]){scroll-behavior:auto}html:not([data-motion=full]) *,html:not([data-motion=full]) *:before,html:not([data-motion=full]) *:after{animation:none!important;transition:none!important}html:not([data-motion=full]) .reveal{opacity:1;transform:none}}
html[data-motion=reduced]{scroll-behavior:auto}html[data-motion=reduced] *,html[data-motion=reduced] *:before,html[data-motion=reduced] *:after{animation:none!important;transition:none!important}html[data-motion=reduced] .reveal{opacity:1;transform:none}
html[data-theme=contrast] .hero-photo:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.35) 8%,transparent 28%),linear-gradient(0deg,#000 0%,rgba(0,0,0,.5) 8%,transparent 25%)}html[data-theme=contrast] .hero-intro,html[data-theme=contrast] .hero-specialties{background:#000;display:table;padding:.2rem .4rem}html[data-theme=contrast] .hero-eyebrow{background:#000;width:fit-content;padding:.3rem .4rem}html[data-theme=contrast] .hero h1{background:rgba(0,0,0,.85);width:fit-content;padding:.1em .1em .05em;margin-left:-.1em}html[data-theme=contrast] .hero-signature{background:#000;padding:.5rem}html[data-theme=contrast] .hero-bottom{background:#000;padding:.8rem .5rem}html[data-theme=contrast] .contact-decor{display:none}html[data-theme=contrast] #cursor-halo{border-color:#ffdc70;box-shadow:0 0 0 1px #000,0 0 14px rgba(255,220,112,.2)}
@media(min-resolution:1dppx){html[data-large-text=true] .desktop-nav{gap:1rem}html[data-large-text=true] .hero{height:auto;min-height:900px}html[data-large-text=true] .hero-content{width:75%}html[data-large-text=true] .hero h1{font-size:clamp(3.5rem,7vw,6.7rem)}html[data-large-text=true] .case-explorer{grid-template-columns:1fr}html[data-large-text=true] .case-selectors{display:flex;padding:0;border-right:0}html[data-large-text=true] .case-tab{flex:1;min-width:0;padding:1.2rem;grid-template-columns:1fr}html[data-large-text=true] .tab-symbol{display:none}html[data-large-text=true] .capabilities-section{grid-template-columns:1fr;gap:3rem}html[data-large-text=true] .career-entry>summary{grid-template-columns:100px minmax(0,1fr) 20px}html[data-large-text=true] .career-type{display:none}html[data-large-text=true] .contact-layout{grid-template-columns:1fr;gap:3rem}}
@media(max-width:800px){html[data-large-text=true] .hero-content{width:100%}html[data-large-text=true] .hero{min-height:1000px}html[data-large-text=true] .hero h1{font-size:clamp(3rem,10vw,5rem)}html[data-large-text=true] .case-tab{padding:1rem .6rem}html[data-large-text=true] .case-tab small{overflow-wrap:anywhere}}
@media(max-width:480px){html[data-large-text=true] .career-entry>summary{grid-template-columns:1fr 20px}html[data-large-text=true] .case-tab strong{font-size:.8rem}html[data-large-text=true] .hero-actions{flex-direction:column;align-items:start}html[data-large-text=true] .hero-content{padding-bottom:9rem}html[data-large-text=true] .hero-bottom{flex-wrap:wrap}html[data-large-text=true] .evidence-stats>div{flex-wrap:wrap}html[data-large-text=true] .evidence-stats p{text-align:left}html[data-large-text=true] .brand-name{display:none}}
/* On small screens the portrait has its own upper frame, preserving the face above the headline. */
@media(max-width:800px){.hero{height:auto;min-height:900px;max-height:none}.hero-photo{height:690px}.hero-photo img{object-position:50% 0%}.hero-content{padding-top:24rem;padding-bottom:8rem}.hero-photo:after{background:linear-gradient(0deg,var(--hero-bg) 0%,rgba(16,21,28,.75) 18%,rgba(16,21,28,.1) 48%,transparent 78%),linear-gradient(90deg,rgba(16,21,28,.15),transparent)}.hero-signature{background:rgba(16,21,28,.25);padding:.5rem .6rem}.hero-intro{max-width:29em}}
@media(max-width:480px){.hero{min-height:890px}.hero-photo{height:600px}.hero-photo img{object-position:50% 0%}.hero-content{padding-top:23rem;padding-bottom:7rem}.hero-bottom{bottom:1.3rem}.hero-signature{top:1rem}}
.tags span{font-size:.875rem}
html[data-large-text=true] .desktop-nav{display:none}
html[data-large-text=true] .brand-name{display:none}
html[data-large-text=true] .site-header{height:auto;min-height:100px;padding-top:.75rem;padding-bottom:.75rem;gap:1rem}
html[data-large-text=true] .menu-toggle{display:flex;flex-direction:column;gap:5px;border:none;border-radius:0}
html[data-large-text=true] .menu-toggle span{display:block;width:20px;height:1px;background:currentColor;transition:transform .25s}
html[data-large-text=true] .menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3px) rotate(45deg)}
html[data-large-text=true] .menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3px) rotate(-45deg)}
html[data-large-text=true] .mobile-nav:not([hidden]){display:flex;position:absolute;left:0;right:0;top:100%;flex-direction:column;background:var(--bg);padding:1rem var(--gutter);border-bottom:1px solid var(--line)}
html[data-large-text=true] .mobile-nav a{padding:.65rem 0;border-bottom:1px solid var(--line-soft);min-height:44px;font-size:1rem}
html[data-large-text=true] .case-selectors{flex-direction:column;border-bottom:1px solid var(--line)}
html[data-large-text=true] .case-tab{width:100%;grid-template-columns:26px minmax(0,1fr);padding:1.2rem;min-height:0;border-right:0;border-bottom:1px solid var(--line-soft);gap:1rem}
html[data-large-text=true] .case-tab strong{font-size:1rem}
html[data-large-text=true] .case-tab small{font-size:.875rem}
html[data-large-text=true] .case-tab:before{left:0;top:15%;height:70%;width:2px;bottom:auto;transform:scaleY(0)}
html[data-large-text=true] .case-tab.selected:before{transform:scaleY(1)}
@media(max-width:480px){html[data-large-text=true] .site-header{padding-left:.75rem;padding-right:.75rem;gap:.5rem}html[data-large-text=true] .header-tools{gap:.15rem}html[data-large-text=true] .hero-content{padding-top:23rem}html[data-large-text=true] .hero-signature{font-size:1rem}}

/* High contrast is applied to text surfaces; the portrait retains its full visibility. */
@media(max-width:800px){html[data-theme=contrast] .hero-photo:after{background:linear-gradient(0deg,#000 0%,rgba(0,0,0,.65) 20%,transparent 48%)}}

/* A smaller editorial portrait carries the profile; its gaze leads toward the copy. */
.profile-portrait{width:100%;max-width:22rem;margin:2rem 0 0}
.profile-portrait-frame{aspect-ratio:5/4;overflow:hidden;border:1px solid var(--line);background:#10151c}
.profile-portrait-frame img{width:100%;height:100%;object-fit:cover;object-position:50% 15%;opacity:1}
.profile-portrait .profile-caption{margin-top:1rem;gap:1rem}
.profile-portrait .profile-caption>span{font-size:1.6rem}
html[data-theme=contrast] .profile-portrait-frame{border-color:#fff}
@media(max-width:800px){.profile-portrait{margin-top:1.5rem}.profile-layout{gap:2rem}}

/* The mouse halo remains visible in every theme. Reduced motion removes its easing and orbit. */
#cursor-halo{width:46px;height:46px;margin:-23px 0 0 -23px;border-width:1.5px;background:transparent;z-index:999;box-shadow:0 0 16px color-mix(in srgb,var(--accent) 16%,transparent)}
#cursor-halo.active{opacity:.95}
#cursor-halo.hovering{width:66px;height:66px;margin:-33px 0 0 -33px;opacity:1;background:color-mix(in srgb,var(--accent) 7%,transparent)}
#cursor-halo:before{content:'';position:absolute;inset:5px;border:1px solid transparent;border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;opacity:.55;animation:cursor-orbit 5s linear infinite;animation-play-state:paused}
#cursor-halo.hovering:before{animation-play-state:running}
@keyframes cursor-orbit{to{transform:rotate(360deg)}}

/* A cinematic opening, with immediately available language choices. */
body.intro-open{overflow:hidden}
.intro-dialog{position:fixed;inset:0;width:100%;height:100dvh;min-height:100svh;max-width:none;max-height:none;margin:0;padding:2rem var(--gutter);border:0;background:var(--hero-bg);color:var(--hero-text);overflow-x:hidden;overflow-y:auto;isolation:isolate}
.intro-dialog[open]{display:flex;flex-direction:column}
.intro-dialog::backdrop{background:transparent}
.intro-photo{position:absolute;inset:0 0 0 auto;width:58%;height:100%;z-index:-1;overflow:hidden;pointer-events:none}
.intro-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 25%;animation:intro-portrait 3s cubic-bezier(.2,.65,.2,1) both}
.intro-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,var(--hero-bg) 0%,rgba(16,21,28,.7) 14%,transparent 55%),linear-gradient(0deg,var(--hero-bg) 0%,transparent 35%),linear-gradient(180deg,rgba(16,21,28,.5),transparent 25%)}
.intro-light{position:absolute;left:-35%;top:-15%;width:28%;height:140%;background:linear-gradient(110deg,transparent 20%,rgba(211,183,142,.06) 46%,rgba(211,183,142,.14) 50%,transparent 60%);transform:skewX(-12deg);animation:intro-light 5s ease-out both;pointer-events:none;z-index:0}
.intro-topbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;position:relative;z-index:2;flex-shrink:0}
.intro-monogram{font-family:var(--serif);font-size:2.3rem;letter-spacing:-.09em;color:var(--hero-accent);line-height:1}
.intro-skip{font-size:.875rem;color:var(--hero-muted);min-height:44px;padding:.6rem 0 .6rem 1rem;line-height:1.5}
.intro-skip:hover{color:var(--hero-accent)}
.intro-skip>span[aria-hidden]{padding:0 .4rem;color:#777f89}
.intro-content{position:relative;z-index:1;flex:1;display:flex;flex-direction:column;justify-content:center;width:62%;padding:2rem 0 2.5rem;max-width:850px}
.intro-eyebrow{font-size:.75rem;letter-spacing:.2em;color:var(--hero-accent);margin-bottom:1.7rem;line-height:1.5}
.intro-eyebrow>span[aria-hidden]{padding:0 .65rem;color:var(--hero-muted)}
.intro-name{font-family:var(--serif);font-weight:400;line-height:.97;letter-spacing:-.05em;font-size:clamp(4.4rem,8.6vw,8.5rem);color:var(--hero-text)}
.intro-name-line{display:block;overflow:hidden;padding:.02em .08em .07em 0}
.intro-name-line>span{display:block;animation:intro-name 1.15s cubic-bezier(.16,.6,.2,1) both}
.intro-name-line:nth-child(2)>span{animation-delay:.15s}
.intro-name em{color:var(--hero-accent);font-style:normal}
.intro-statement{font-size:1.3rem;line-height:1.5;margin-top:1.4rem;color:var(--hero-text)}
.intro-statement>span{color:var(--hero-muted);font-family:var(--serif);font-style:italic;font-size:1.25rem}
.intro-language-picker{margin-top:2rem;max-width:410px}
.intro-language-picker>p{font-size:.875rem;color:var(--hero-muted);line-height:1.5;margin-bottom:1rem}
.intro-language-picker>p>span[aria-hidden]{padding:0 .25rem}
.intro-language-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.intro-enter{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;min-height:58px;border:1px solid #747c86;border-radius:2px;padding:1rem 1.2rem;background:rgba(16,21,28,.7);color:var(--hero-text);font-size:1.0625rem;transition:background .2s,border-color .2s,color .2s}
.intro-enter small{font-size:.75rem;color:var(--hero-accent);letter-spacing:.08em}
.intro-enter:hover,.intro-enter.chosen{background:var(--hero-accent);border-color:var(--hero-accent);color:#10151c}
.intro-enter:hover small,.intro-enter.chosen small{color:#10151c}
.intro-dialog :focus-visible{outline:3px solid var(--hero-accent);outline-offset:5px}
.intro-footer{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:2rem;padding-top:1.2rem;border-top:1px solid #515862;flex-shrink:0}
.intro-footer-location{font-size:.75rem;letter-spacing:.1em;color:var(--hero-muted);line-height:1.5}
.intro-footer-location>span[aria-hidden]{padding:0 .4rem}
.intro-motion-control{font-size:.875rem;color:var(--hero-muted);display:flex;align-items:center;gap:.7rem;min-height:44px;cursor:pointer;line-height:1.5}
.intro-motion-control input{width:18px;height:18px;flex-shrink:0;accent-color:var(--hero-accent)}
.intro-motion-control>span>span[aria-hidden]{padding:0 .2rem}
.intro-leaving{animation:intro-exit .85s cubic-bezier(.4,0,.2,1) both}
.intro-leaving .intro-content{animation:intro-content-exit .65s ease both}
.intro-leaving .intro-photo img{animation:intro-photo-exit .85s ease both}
.hero.cinematic-arrival .hero-photo img{animation:arrival-portrait 1.5s ease-out both}
.hero.cinematic-arrival .hero-eyebrow{animation:arrival-content .8s .05s ease both}
.hero.cinematic-arrival h1{animation:arrival-content 1s .12s ease both}
.hero.cinematic-arrival .hero-intro{animation:arrival-content 1s .2s ease both}
.hero.cinematic-arrival .hero-specialties{animation:arrival-content 1s .25s ease both}
.hero.cinematic-arrival .hero-actions{animation:arrival-content 1s .3s ease both}
@keyframes intro-name{from{transform:translateY(105%);opacity:.2}to{transform:translateY(0);opacity:1}}
@keyframes intro-portrait{from{transform:scale(1.08);filter:brightness(.6)}to{transform:scale(1);filter:brightness(1)}}
@keyframes intro-light{0%{transform:translateX(0) skewX(-12deg);opacity:0}15%{opacity:1}100%{transform:translateX(500%) skewX(-12deg);opacity:0}}
@keyframes intro-exit{0%{opacity:1}100%{opacity:0}}
@keyframes intro-content-exit{to{opacity:0;transform:translateY(-24px)}}
@keyframes intro-photo-exit{to{transform:scale(1.045)}}
@keyframes arrival-content{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes arrival-portrait{from{opacity:.7;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
html[data-theme=contrast] .intro-photo:after{background:linear-gradient(90deg,#000 0%,rgba(0,0,0,.55) 20%,transparent 55%),linear-gradient(0deg,#000 0%,transparent 30%)}
html[data-theme=contrast] .intro-name,html[data-theme=contrast] .intro-statement,html[data-theme=contrast] .intro-eyebrow,html[data-theme=contrast] .intro-language-picker>p{background:#000;width:fit-content;padding:.1rem .4rem}
html[data-theme=contrast] .intro-enter{border-color:#fff;background:#000}
html[data-theme=contrast] .intro-enter:hover,html[data-theme=contrast] .intro-enter.chosen{background:#ffdc70;color:#000}
@media(max-width:800px){.intro-dialog{padding:1.5rem var(--gutter)}.intro-photo{width:100%}.intro-photo img{object-position:60% 15%}.intro-photo:after{background:linear-gradient(0deg,var(--hero-bg) 5%,rgba(16,21,28,.95) 35%,rgba(16,21,28,.72) 60%,rgba(16,21,28,.18) 100%)}.intro-content{width:100%;padding-top:2.5rem;max-width:650px}.intro-name{font-size:clamp(4.3rem,12vw,6.8rem)}.intro-language-picker{max-width:430px}.intro-footer{gap:1rem;flex-wrap:wrap}.intro-footer-location{font-size:.75rem}.intro-motion-control{font-size:.875rem}.intro-statement{font-size:1.2rem}.intro-statement>span{font-size:1.15rem}html[data-theme=contrast] .intro-photo:after{background:linear-gradient(0deg,#000 10%,rgba(0,0,0,.9) 40%,rgba(0,0,0,.35) 100%)}}
@media(max-width:480px){.intro-dialog{padding:1rem var(--gutter)}.intro-monogram{font-size:2rem}.intro-skip{font-size:.875rem}.intro-content{padding-top:2rem;padding-bottom:2rem}.intro-name{font-size:clamp(3.5rem,15vw,5rem)}.intro-eyebrow{margin-bottom:1rem;letter-spacing:.12em}.intro-statement{margin-top:1rem}.intro-language-picker{margin-top:1.5rem;width:100%}.intro-language-options{gap:.7rem}.intro-enter{padding:.9rem 1rem;gap:1rem;font-size:1rem}.intro-footer{padding-top:.8rem;gap:.4rem}.intro-footer-location{width:100%;font-size:.75rem}.intro-motion-control{font-size:.75rem;min-height:44px}.intro-photo img{object-position:55% 0%}}
html[data-large-text=true] .intro-content{width:100%;max-width:850px}
html[data-large-text=true] .intro-name{font-size:clamp(3.4rem,7vw,6rem)}
html[data-large-text=true] .intro-language-picker{max-width:550px}
@media(max-width:480px){html[data-large-text=true] .intro-name{font-size:clamp(1.8rem,10vw,3rem)}html[data-large-text=true] .intro-enter{gap:.5rem;padding:.8rem .6rem}html[data-large-text=true] .intro-skip{font-size:.75rem}}

/* Project cases lead the portfolio. Workflows describe real implementation steps. */
.projects-heading{display:grid;grid-template-columns:1.15fr 1fr;gap:3rem;align-items:end;margin:1.25rem 0 3rem}
.impact-section .projects-heading h2{margin:0;max-width:13em}
.projects-heading>p{font-size:1.0625rem;color:var(--muted);max-width:36em;padding-bottom:.3rem}
.project-explorer-heading{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1rem;padding-top:1.2rem;border-top:1px solid var(--line)}
.project-explorer-heading>.eyebrow{color:var(--accent);font-size:.875rem}
.project-explorer-heading>span:last-child{color:var(--muted);font-size:.875rem}
.impact-section .case-explorer{grid-template-columns:minmax(260px,.7fr) minmax(0,1.5fr)}
.impact-section .case-selectors{padding:0;min-width:0}
.impact-section .case-tab{min-height:118px;grid-template-columns:24px minmax(0,1fr) 18px;padding:1.5rem;gap:1rem}
.impact-section .case-tab strong{font-size:1.0625rem;line-height:1.4}
.impact-section .case-tab small{font-size:.875rem;margin-top:.35rem;line-height:1.4}
.case-panels{min-width:0}
.project-case{min-height:720px;padding:2.4rem 2.6rem}
.project-case h3{font-size:clamp(2.1rem,3.1vw,3rem);line-height:1.1;max-width:18em}
.project-case h3 em{display:inline;color:var(--accent)}
.project-case .case-meta{font-size:.875rem;letter-spacing:.035em;flex-wrap:wrap;margin-bottom:1.5rem;gap:.5rem 1rem}
.project-case .case-meta>span:first-child{color:var(--accent)}
.project-brief{margin-top:1.8rem}
.project-label{font-size:.875rem;letter-spacing:.07em;color:var(--accent);line-height:1.5}
.project-brief>p:last-child{color:var(--muted);font-size:1rem;margin-top:.55rem;line-height:1.65}
.project-scope{margin-top:1.5rem}
.project-scope ul{padding:0 0 0 1.2rem;margin:.65rem 0 0;color:var(--muted);font-size:1rem;line-height:1.65}
.project-scope li{padding-left:.25rem}
.project-scope li+li{margin-top:.55rem}
.project-scope li::marker{color:var(--accent)}
.project-flow-wrap{margin:1.7rem 0}
.project-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));list-style:none;padding:0;margin:.75rem 0 0;border:1px solid var(--line);background:var(--bg)}
.project-flow>li{padding:.9rem .7rem;border-right:1px solid var(--line);min-width:0;display:flex;flex-direction:column;gap:.5rem}
.project-flow>li:last-child{border-right:0}
.flow-index{color:var(--faint);font-size:.875rem;line-height:1}
.project-flow strong{font-size:.875rem;line-height:1.45;font-weight:400;overflow-wrap:anywhere}
.project-case .case-outcome{border-top:1px solid var(--line);padding-top:1.2rem;margin-bottom:1.5rem}
.project-case .case-outcome dt{font-size:.875rem;color:var(--accent);letter-spacing:.07em;margin-bottom:.55rem}
.project-case .case-outcome dd{font-size:1rem;line-height:1.65;color:var(--text)}
.web-projects{margin-top:5.5rem}
.web-projects-heading{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:end;margin-bottom:2.5rem;border-top:1px solid var(--line);padding-top:2rem}
.web-projects-heading .eyebrow{font-size:.875rem;color:var(--accent);margin-bottom:1rem}
.web-projects-heading h3{font-family:var(--serif);font-size:clamp(2.3rem,4vw,3.8rem);line-height:1.1;letter-spacing:-.035em;font-weight:400}
.web-projects-heading>p{font-size:1.0625rem;color:var(--muted);max-width:33em;padding-bottom:.3rem}
.web-project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--line);background:var(--surface)}
.web-card{padding:2rem 2.4rem;min-width:0;display:flex;flex-direction:column;align-items:start;border-bottom:1px solid var(--line);transition:background .25s}
.web-card:nth-child(odd){border-right:1px solid var(--line)}
.web-card:nth-last-child(-n+2){border-bottom:0}
.web-card:hover,.web-card:focus-within{background:var(--surface-two)}
.web-card-top{display:flex;gap:1.25rem;justify-content:space-between;align-items:center;width:100%;margin-bottom:1.6rem}
.web-number{font-family:var(--serif);font-size:2rem;line-height:1;color:var(--accent)}
.web-card-top .eyebrow{font-size:.875rem;letter-spacing:.07em;color:var(--muted);text-align:right}
.web-card h4{font-family:var(--serif);font-size:clamp(2.5rem,4vw,4rem);letter-spacing:-.04em;line-height:1.08;font-weight:400;margin:0 0 1.2rem;overflow-wrap:anywhere}
.web-description{font-size:1rem;color:var(--muted);max-width:36em;line-height:1.65;margin-bottom:1.4rem}
.web-card .tags{margin-top:auto;gap:.5rem}
.web-card-links{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;margin-top:1.3rem;width:100%}
.web-card .text-link{font-size:1rem}
.web-projects-footer{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:1.3rem}
.web-projects-footer p{font-size:.875rem;color:var(--muted)}
.impact-section .source-note{font-size:.875rem;max-width:56em;margin-top:2rem;line-height:1.6}
html:not(.js-enabled) .case-selectors{display:none}
html:not(.js-enabled) .impact-section .case-explorer{grid-template-columns:1fr}
html:not(.js-enabled) .project-case+.project-case{border-top:1px solid var(--line)}
html[data-large-text=true] .impact-section .case-explorer{grid-template-columns:1fr}
html[data-large-text=true] .project-case{min-height:0}
html[data-large-text=true] .project-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
html[data-large-text=true] .project-flow>li{border:0;border-bottom:1px solid var(--line)}
html[data-large-text=true] .project-flow>li:nth-child(odd){border-right:1px solid var(--line)}
html[data-large-text=true] .project-flow>li:nth-last-child(-n+2){border-bottom:0}
html[data-large-text=true] .projects-heading,html[data-large-text=true] .web-projects-heading{grid-template-columns:1fr;gap:1.5rem}
html[data-theme=contrast] .web-card:hover,html[data-theme=contrast] .web-card:focus-within{background:#101010}
@media(max-width:1050px){.projects-heading{gap:2rem}.project-case{padding:2rem}.web-card{padding:2rem}.impact-section .case-tab{padding:1.3rem;gap:.7rem}}
@media(max-width:800px){
 .projects-heading,.web-projects-heading{grid-template-columns:1fr;gap:1.5rem}
 .impact-section .case-explorer{grid-template-columns:1fr}
 .impact-section .case-selectors{display:flex;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scroll-padding:1rem;border-right:0;border-bottom:1px solid var(--line)}
 .impact-section .case-tab{flex:0 0 210px;width:210px;min-width:210px;min-height:140px;grid-template-columns:1fr;padding:1.2rem;align-content:start;gap:.5rem;scroll-snap-align:start;border-right:1px solid var(--line);border-bottom:0}
 .impact-section .case-tab .tab-symbol{display:none}
 .impact-section .case-tab:last-child{border-right:0}
 .impact-section .case-tab strong{font-size:1rem}
 .impact-section .case-tab small{font-size:.875rem}
 .project-case{min-height:0;padding:2rem}
 .project-case h3{font-size:2.4rem}
 .web-projects{margin-top:4rem}
 .web-card{padding:1.6rem}
 .web-card h4{font-size:2.7rem}
 html[data-large-text=true] .impact-section .case-selectors{display:flex;flex-direction:column;scroll-snap-type:none}
 html[data-large-text=true] .impact-section .case-tab{width:100%;min-width:0;min-height:0;flex:auto;grid-template-columns:26px minmax(0,1fr);border-right:0;border-bottom:1px solid var(--line-soft);padding:1.2rem}
 html[data-large-text=true] .impact-section .case-tab:before{left:0;top:15%;height:70%;width:2px;bottom:auto;transform:scaleY(0)}
 html[data-large-text=true] .impact-section .case-tab.selected:before{transform:scaleY(1)}
 html[data-large-text=true] .web-project-grid{grid-template-columns:1fr}
 html[data-large-text=true] .web-card:nth-child(odd){border-right:0}
 html[data-large-text=true] .web-card:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
 html[data-large-text=true] .web-card:last-child{border-bottom:0}
}
@media(max-width:600px){
 .section-topline{align-items:start;flex-direction:column;gap:.75rem}
 .project-explorer-heading{align-items:start;flex-direction:column;gap:.4rem}
 .project-case{padding:1.6rem 1.2rem}
 .project-case h3{font-size:2.1rem}
 .project-flow{grid-template-columns:repeat(2,minmax(0,1fr))}
 .project-flow>li{border:0;border-bottom:1px solid var(--line);padding:1rem .8rem}
 .project-flow>li:nth-child(odd){border-right:1px solid var(--line)}
 .project-flow>li:nth-last-child(-n+2){border-bottom:0}
 .web-project-grid{grid-template-columns:1fr}
 .web-card{padding:1.7rem 1.3rem}
 .web-card:nth-child(odd){border-right:0}
 .web-card:nth-last-child(-n+2){border-bottom:1px solid var(--line)}
 .web-card:last-child{border-bottom:0}
 .web-card h4{font-size:3rem}
 .web-projects-footer{align-items:start;flex-direction:column;gap:.5rem}
 .project-case .case-meta{font-size:.875rem;letter-spacing:0}
}

/* The desktop case layout stays intact; mobile uses progressive disclosure. */
.mobile-project,.project-technical-details{display:contents}
.mobile-project-summary,.project-technical-summary,.project-mobile-hint{display:none}
.project-desktop-hint{color:var(--muted);font-size:.875rem}
@media(max-width:800px){
 .project-desktop-hint{display:none}
 .project-mobile-hint{display:block;color:var(--muted);font-size:.875rem;line-height:1.5}
 .impact-section .case-explorer{display:block;border:0;background:transparent}
 .impact-section .case-selectors,html[data-large-text=true] .impact-section .case-selectors{display:none}
 .impact-section .case-panels{display:grid;gap:.85rem}
 .mobile-project{display:block;min-width:0;border:1px solid var(--line);border-radius:4px;background:var(--surface)}
 .mobile-project-summary{display:grid;grid-template-columns:1.35rem minmax(0,1fr) 1.5rem;gap:.8rem;align-items:start;padding:1.3rem 1.1rem;list-style:none;cursor:pointer;min-height:100px}
 .mobile-project-summary::-webkit-details-marker,.project-technical-summary::-webkit-details-marker{display:none}
 .mobile-project-number{color:var(--accent);font-size:.8125rem;line-height:1.6;padding-top:.1rem}
 .mobile-project-copy{display:grid;gap:.5rem;min-width:0}
 .mobile-project-copy strong{font-size:1.0625rem;line-height:1.4;font-weight:600;overflow-wrap:anywhere}
 .mobile-project-copy>span{color:var(--muted);font-size:.9375rem;line-height:1.5;overflow-wrap:anywhere}
 .project-disclosure-symbol{font-size:1.375rem;color:var(--accent);line-height:1;width:1.5rem;text-align:center;transition:transform .2s}
 .mobile-project[open]>.mobile-project-summary{border-bottom:1px solid var(--line)}
 .mobile-project[open]>.mobile-project-summary>.project-disclosure-symbol,.project-technical-details[open]>.project-technical-summary>.project-disclosure-symbol{transform:rotate(45deg)}
 .impact-section .project-case{display:flex;flex-direction:column;gap:0;min-height:0;padding:1.25rem 1.1rem 1rem;background:transparent}
 .project-case>.case-meta,.project-case>h3,.project-case>.tags{display:none}
 .project-case>.case-outcome{order:1;border:0;padding:0;margin:0 0 1rem}
 .project-case>.case-outcome dt{font-size:.8125rem;margin-bottom:.5rem;letter-spacing:.05em}
 .project-case>.case-outcome dd{font-size:1rem;line-height:1.65}
 .project-technical-details{display:block;order:2;border-top:1px solid var(--line);min-width:0}
 .project-technical-summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:48px;padding:.85rem 0 .15rem;list-style:none;cursor:pointer;color:var(--accent);font-size:.9375rem;line-height:1.5}
 .project-technical-summary .project-disclosure-symbol{flex:0 0 1.5rem}
 .project-technical-details .project-brief{margin-top:1.1rem}
 .project-technical-details .project-scope{margin-top:1.35rem}
 .project-technical-details .project-label{font-size:.8125rem;letter-spacing:.05em}
 .project-technical-details .project-scope ul{margin-top:.65rem;padding-left:1.1rem}
 .project-technical-details .project-flow-wrap{margin:1.35rem 0 .3rem}
 .project-technical-details .project-flow,html[data-large-text=true] .project-technical-details .project-flow{display:flex;flex-direction:column;gap:0;border:0;background:transparent;margin-top:.65rem}
 .project-technical-details .project-flow>li,html[data-large-text=true] .project-technical-details .project-flow>li{display:grid;grid-template-columns:1.5rem minmax(0,1fr);gap:.65rem;align-items:baseline;border:0;border-bottom:1px solid var(--line-soft);padding:.75rem 0}
 .project-technical-details .project-flow>li:last-child,html[data-large-text=true] .project-technical-details .project-flow>li:last-child{border-bottom:0}
 .project-technical-details .project-flow strong{font-size:.9375rem;line-height:1.5}
 html[data-theme=contrast] .mobile-project{border-color:var(--text)}
 html[data-motion=reduced] .project-disclosure-symbol{transition:none}
}
@media(max-width:360px){
 .mobile-project-summary{gap:.65rem;padding:1.15rem .9rem;grid-template-columns:1.1rem minmax(0,1fr) 1.25rem}
 .impact-section .project-case{padding:1.15rem .9rem .9rem}
}

/* Mobile chapters provide a clear boundary and a compact way to change section. */
.mobile-chapter-heading,.mobile-reading-nav,.mobile-projects-intro{display:none}
@media(max-width:800px){
 :root{--mobile-header-height:72px;--mobile-reading-nav-height:58px;scroll-padding-top:calc(var(--mobile-header-height) + var(--mobile-reading-nav-height) + 12px)}
 .site-header{height:72px;gap:.65rem}
 html[data-large-text=true] .site-header{min-height:76px;padding-top:.65rem;padding-bottom:.65rem}
 .mobile-nav:not([hidden]){top:100%;max-height:calc(100dvh - var(--mobile-header-height));overflow-y:auto;overscroll-behavior:contain}
 .menu-toggle{width:44px;min-width:44px;min-height:44px}
 html.js-enabled .mobile-reading-nav{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1rem;position:sticky;top:var(--mobile-header-height);z-index:90;padding:.45rem 1.25rem;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 5px 12px rgba(0,0,0,.1)}
 .mobile-reading-nav label{font-size:.8125rem;line-height:1.4;color:var(--muted)}
 .mobile-reading-nav select{width:100%;min-width:0;min-height:44px;padding:.5rem .65rem;border:1px solid var(--line);border-radius:4px;background:var(--surface);color:var(--text);font-size:1rem;line-height:1.4;cursor:pointer}
 .mobile-reading-nav select:focus-visible{outline-offset:2px}
 .discipline-strip{padding:1.4rem 1.25rem;gap:.55rem 1.1rem;font-size:.8125rem;line-height:1.5}
 main>.section{display:block;width:auto;max-width:none;margin:1.75rem .75rem;padding:1.75rem 1.1rem 2rem;border:1px solid var(--line);border-radius:8px;background:var(--surface);scroll-margin-top:12px;min-width:0}
 .section:focus{outline-offset:3px}
 .mobile-chapter-heading{display:flex;align-items:center;gap:.85rem;margin:0 0 1.75rem;padding:0 0 1.25rem;border-bottom:1px solid var(--line)}
 .mobile-chapter-index{display:flex;align-items:center;justify-content:center;flex:0 0 32px;min-height:32px;border:1px solid var(--line);border-radius:50%;color:var(--accent);font-size:.75rem;line-height:1}
 .section .mobile-chapter-heading h2{margin:0;font-family:var(--serif);font-weight:400;font-size:clamp(2rem,7vw,2.5rem);line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}
 .section .section-marker,.section .section-topline,.projects-heading,.profile-heading>h2,.capabilities-intro>h2,.career-header h2,.contact-layout h2{display:none}
 .mobile-projects-intro{display:block;color:var(--muted);font-size:1rem;line-height:1.7;margin:0 0 1.75rem}
 .project-explorer-heading{padding:0;border-top:0;display:flex;flex-direction:column;align-items:start;gap:.4rem;margin-bottom:1.1rem}
 .project-explorer-heading>.eyebrow{font-size:.9375rem;letter-spacing:.07em}
 .mobile-project{background:var(--bg)}
 .impact-section .case-panels{gap:1rem}
 .web-projects{margin-top:2.75rem;border-top:1px solid var(--line);padding-top:1.75rem}
 .web-projects-heading{display:block;border:0;padding:0;margin:0 0 1.5rem}
 .web-projects-heading .eyebrow{margin-bottom:.65rem}
 .web-projects-heading h3{font-size:1.9rem;line-height:1.2;letter-spacing:-.025em}
 .web-projects-heading>p{font-size:1rem;line-height:1.7;margin-top:.9rem;padding:0}
 .web-project-grid,html[data-large-text=true] .web-project-grid{grid-template-columns:1fr;gap:1rem;border:0;background:transparent}
 .web-card,.web-card:nth-child(odd),.web-card:nth-last-child(-n+2),.web-card:last-child,html[data-large-text=true] .web-card:nth-child(odd),html[data-large-text=true] .web-card:nth-last-child(-n+2),html[data-large-text=true] .web-card:last-child{padding:1.4rem 1.15rem;border:1px solid var(--line);border-radius:4px;background:var(--bg)}
 .web-card-top{margin-bottom:1rem;gap:1rem}
 .web-number{font-size:1.5rem}
 .web-card h4{font-size:2.3rem;line-height:1.15;margin-bottom:1rem}
 .web-card-links{gap:.5rem 1.2rem;margin-top:1rem}
 .web-card .text-link{min-height:44px;align-items:center}
 .web-projects-footer{flex-direction:column;align-items:start;gap:.5rem;margin-top:1.25rem}
 .impact-section .source-note{margin-top:1.75rem;text-align:left;padding-top:1.25rem;border-top:1px solid var(--line-soft);font-size:.8125rem;line-height:1.65}
 .profile-layout{display:block}
 .profile-portrait{max-width:22rem;margin:0 auto 1.75rem}
 .profile-portrait-frame{border-radius:4px}
 .profile-copy .lead{font-size:1.2rem;line-height:1.6;margin-bottom:1.5rem}
 .profile-copy p{font-size:1rem;line-height:1.75}
 .principles{gap:.5rem 1rem;font-size:1.2rem;margin-top:1.75rem}
 .evidence-stats{display:grid;grid-template-columns:1fr;margin-top:2rem;border-bottom:0}
 .evidence-stats>div,.evidence-stats>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-right:0;border-bottom:1px solid var(--line)}
 .stat-value{font-size:2.4rem}
 .stat-unit{display:inline;font-size:.8125rem}
 .evidence-stats p{margin:0;font-size:.875rem;text-align:right;max-width:14em}
 .capabilities-intro>p{margin:0 0 1.75rem;max-width:none;font-size:1rem;line-height:1.7}
 .capability-list,.timeline{display:grid;gap:.85rem;border:0}
 .capability,.capability:first-child,.career-entry{border:1px solid var(--line);border-radius:4px;background:var(--bg)}
 .capability summary{grid-template-columns:20px minmax(0,1fr) 20px;padding:1.15rem .95rem;gap:.65rem;font-size:1rem;line-height:1.5;min-height:68px}
 .capability-content{padding:0 1rem 1.2rem}
 .capability-content p{line-height:1.7}
 .career-header{margin:0 0 1.75rem}
 .career-header>p{margin:0;max-width:none;font-size:1rem;line-height:1.7}
 .career-entry>summary,html[data-large-text=true] .career-entry>summary{grid-template-columns:minmax(0,1fr) 20px;gap:.5rem 1rem;padding:1.1rem 1rem}
 .career-date{grid-column:1;grid-row:1;font-size:.8125rem}
 .career-name{grid-column:1;grid-row:2;gap:.35rem;min-width:0}
 .career-name strong{font-size:1.4rem;line-height:1.3;overflow-wrap:anywhere}
 .career-entry>summary>.expand-symbol{grid-column:2;grid-row:1/3;align-self:center}
 .career-detail{padding:0 1rem 1.2rem;line-height:1.7}
 .education-row{display:block;margin-top:2rem;padding:1.5rem 0;border-bottom:0}
 .education-row>div{margin-top:.75rem}
 .education-row>.text-link{margin-top:1rem;min-height:44px}
 .learning-note{margin-top:1rem}
 .contact-decor{display:none}
 .contact-layout{display:block}
 .contact-layout p{margin-top:0;line-height:1.7}
 .contact-email{font-size:clamp(1rem,4.7vw,1.4rem);overflow-wrap:anywhere;margin-top:1.5rem}
 .contact-options{margin-top:2rem}
 .contact-options a{grid-template-columns:minmax(0,1fr) 24px;gap:.4rem 1rem;padding:1.2rem 0}
 .contact-options a>.eyebrow{grid-column:1;grid-row:1;font-size:.8125rem}
 .contact-options a>span:nth-of-type(2){grid-column:1;grid-row:2;overflow-wrap:anywhere}
 .contact-options a>svg{grid-column:2;grid-row:1/3;align-self:center}
 .site-footer{padding:2rem 1.25rem 2.5rem;margin-top:.5rem}
 html[data-theme=contrast] main>.section{border-width:2px}
 html[data-theme=contrast] .mobile-chapter-heading{border-bottom-width:2px}
 html[data-large-text=true] .evidence-stats>div{flex-wrap:wrap}
 html[data-large-text=true] .evidence-stats p{text-align:left;max-width:none}
}
@media(max-width:360px){
 .brand-name{display:none}
 main>.section{margin:1.5rem .6rem;padding:1.5rem .85rem 1.75rem}
 html.js-enabled .mobile-reading-nav{padding:.45rem 1rem;gap:.65rem}
 .section .mobile-chapter-heading h2{font-size:1.9rem}
 .web-card{padding:1.2rem 1rem}
}
