:root{color-scheme:light dark;--paper:#eef2f6;--white:#fff;--band:#e6ecf2;--soft:#e7effb;--frame:#e0eafa;--frame-mid:#c8daf5;--frame-line:#86a8de;--chart-track:#e0e7ed;--chart-original:#8fa2b4;--action:#1759cf;--action-hover:#10449f;--ink:#182735;--muted:#526171;--line:#ced7df;--blue:#1759cf;--blue-light:#e2ebfb;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--body:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:16px;line-height:1.6}
a{color:inherit;text-decoration:none}
button{font:inherit}
a,button{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:6px}
::selection{background:var(--blue);color:white}
.wrap{width:min(1240px,calc(100% - 96px));margin-inline:auto}
.blue{color:var(--blue)}
.skip{position:fixed;top:-80px;left:20px;z-index:10;background:var(--white);padding:12px 20px}.skip:focus{top:12px}
.site-header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.wordmark{font-family:var(--mono);font-size:24px;font-weight:700;letter-spacing:-1.5px}.wordmark>span{color:var(--blue)}.wordmark-cursor{margin-left:3px}
nav{display:flex;align-items:center;gap:32px;font-size:14px;font-weight:500}nav a:hover{color:var(--blue)}
.hero{padding-top:42px;padding-bottom:72px}
.hero-intro{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;letter-spacing:.035em;color:var(--muted)}
.location{display:flex;align-items:center;gap:10px}.location-dot{width:7px;height:7px;background:var(--blue);border-radius:50%}
h1{font-weight:650;font-size:clamp(76px,9vw,126px);letter-spacing:-.045em;line-height:.96;margin:32px 0 38px}
.surname{margin-left:12.4%}.name-period{color:var(--blue)}
.hero-bottom{display:grid;grid-template-columns:1fr 420px;gap:80px;align-items:end}
.hero-copy h2{font-size:32px;line-height:1.2;letter-spacing:-1.15px;font-weight:500;margin:0 0 20px}
.hero-copy p{max-width:530px;font-size:17px;line-height:1.7;color:var(--muted);margin:0 0 26px}
.hero-actions{display:flex;gap:26px;align-items:center;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;background:var(--action);color:white;padding:15px 22px;font-size:14px;font-weight:550;border-radius:4px;transition:background .2s,transform .2s}.button:hover{background:var(--action-hover);transform:translateY(-2px)}
.text-link{font-size:14px;font-weight:600;display:inline-block;border-bottom:1px solid var(--line);padding-bottom:3px}.text-link:hover{color:var(--blue);border-color:var(--blue)}.text-link span{margin-left:12px}
.system-map{background:var(--white);border:1px solid var(--line);padding:22px 26px 14px;border-radius:6px;box-shadow:0 10px 28px #18273504}
.map-caption{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--muted)}.map-symbol{color:var(--blue);font-size:16px;line-height:1}
.track-strip{background:var(--band);border-block:1px solid var(--line)}.track-strip-inner{display:flex;align-items:center;justify-content:space-between;gap:50px;padding-block:26px}.track-strip p{font-size:11px;color:var(--muted);line-height:1.5;margin:0;min-width:130px}.company-list{display:flex;align-items:center;justify-content:space-between;gap:50px;flex:1;font-size:23px;font-weight:650;letter-spacing:-.9px}.company-list span:last-child{font-size:21px}
.work-section{padding-block:104px 100px}.section-heading{display:grid;grid-template-columns:180px 1fr 300px;gap:30px;align-items:start;margin-bottom:52px}.eyebrow{font-family:var(--mono);text-transform:uppercase;font-size:10px;font-weight:500;letter-spacing:.12em;margin:8px 0 20px;color:var(--blue)}
.section-heading h2,.experience-intro h2{font-size:44px;line-height:1.13;letter-spacing:-1.9px;font-weight:550;margin:0}.section-summary{font-size:15px;line-height:1.75;color:var(--muted);margin:5px 0 0}
.current-work{background:var(--white);border:1px solid var(--line);border-radius:6px;padding:30px 38px 0}.work-meta{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-family:var(--mono);font-size:11px}.work-meta .eyebrow{margin:0}
.current-grid{display:grid;grid-template-columns:1fr 1.13fr;gap:64px;padding:34px 0}.current-grid h3{font-size:48px;font-weight:550;letter-spacing:-2px;line-height:1.1;margin:0 0 12px}.current-grid h3>span{font-weight:400;font-size:28px;vertical-align:top;margin-left:18px}.work-role{font-size:14px;color:var(--muted);margin:0}.current-description{font-size:23px;line-height:1.5;letter-spacing:-.5px;margin-top:34px}.work-copy>p{font-size:15px;color:var(--muted);margin:0 0 25px;line-height:1.8}.scope-list{list-style:none;margin:0;padding:0;font-size:13px}.scope-list li{display:grid;grid-template-columns:70px 1fr;gap:16px;padding:13px 0;border-top:1px solid var(--line);line-height:1.7}.scope-list li span{color:var(--blue);font-family:var(--mono);font-size:11px;padding-top:2px}.work-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:11px;color:var(--muted)}.work-footer a{color:var(--blue);white-space:nowrap}
.plotva-work{background:var(--white);border:1px solid var(--line);border-radius:6px;margin-bottom:24px;display:grid;grid-template-columns:1fr 1.13fr;gap:64px;padding:56px 38px 52px;border-bottom:1px solid var(--line)}.plotva-title .eyebrow{margin:0 0 18px}.plotva-title h3{font-size:68px;line-height:1;margin:0 0 23px;font-weight:550;letter-spacing:-3px}.plotva-title h3 span{color:var(--blue);font-size:38px;margin-left:30px;vertical-align:top}.plotva-title>p:not(.eyebrow){font-size:22px;line-height:1.45;letter-spacing:-.5px;margin:0 0 25px}.plotva-copy>p{color:var(--muted);font-size:15px;line-height:1.8;margin:0 0 17px}.plotva-stats{display:flex;gap:48px;margin:24px 0 8px}.plotva-stats strong{display:block;font-size:42px;line-height:1.2;letter-spacing:-1.5px;font-weight:550}.plotva-stats span{font-family:var(--mono);font-size:10px;color:var(--muted)}.plotva-copy .snapshot-note{font-size:10px;margin:12px 0 0}
.practice-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:54px 38px 0}.practice-icon{font-family:var(--mono);color:var(--blue);font-size:24px}.practice-grid h3{font-size:23px;font-weight:550;letter-spacing:-.55px;line-height:1.4;margin:20px 0 14px}.practice-grid p{font-size:14px;color:var(--muted);line-height:1.8;margin:0 0 20px}
.experience-section{background:var(--white);border-block:1px solid var(--line);padding-block:90px}.experience-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:90px}.experience-intro .eyebrow{margin-top:0}.experience-intro>p:not(.eyebrow){color:var(--muted);font-size:15px;max-width:300px;line-height:1.8;margin:25px 0}.timeline article{display:grid;grid-template-columns:100px 1fr;gap:26px;padding:25px 0;border-top:1px solid var(--line)}.timeline article:first-child{padding-top:0;border-top:0}.timeline article:last-child{padding-bottom:0}.timeline-date{font-family:var(--mono);font-size:10px;color:var(--muted);padding-top:7px}.timeline h3{font-size:22px;letter-spacing:-.5px;font-weight:550;margin:0 0 4px}.timeline p{font-size:13px;line-height:1.75;color:var(--muted);margin:10px 0 0}.timeline .timeline-role{font-size:11px;color:var(--blue);margin:0}
.contact-section{padding-block:95px 82px}.contact-section>.eyebrow{margin-top:0}.contact-section h2{font-size:clamp(56px,7vw,96px);line-height:1.04;letter-spacing:-.06em;font-weight:550;margin:25px 0 40px}.contact-bottom{display:flex;justify-content:space-between;gap:40px}.contact-bottom p{color:var(--muted);font-size:16px;line-height:1.7;margin:0 0 20px}.email-link{font-size:clamp(18px,2.3vw,29px);letter-spacing:-.7px;border-bottom:1px solid var(--line);padding-bottom:7px;display:inline-block}.email-link span{color:var(--blue);margin-left:20px}.email-link:hover{color:var(--blue)}.contact-location{display:flex;flex-direction:column;gap:7px;font-family:var(--mono);font-size:11px;color:var(--muted);align-items:flex-start;padding-top:8px}.contact-location .text-link{font-family:var(--body);color:var(--ink);margin-top:18px}
.site-footer{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-block:27px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.site-footer nav{gap:24px;font-size:11px}.back-top{font-family:var(--mono);font-size:10px}
@media(min-width:1450px){.hero{padding-top:48px}h1{margin-block:38px 44px}}
@media(max-width:1100px){.wrap{width:calc(100% - 64px)}.hero-bottom{grid-template-columns:1fr 360px;gap:40px}.hero-copy h2{font-size:29px}.hero-copy p{font-size:15px}.system-map{padding-inline:20px}.company-list{gap:24px;font-size:20px}.section-heading{grid-template-columns:140px 1fr;gap:24px}.section-summary{grid-column:2;max-width:450px}.current-grid,.plotva-work{gap:40px}.practice-grid{gap:50px}.experience-grid{gap:50px}.timeline article{grid-template-columns:78px 1fr;gap:18px}}
@media(max-width:800px){.site-header{height:86px}nav{gap:20px;font-size:12px}.hero-intro{font-size:9px;gap:20px}.hero-bottom{grid-template-columns:1fr;gap:35px}.hero-copy p{max-width:580px;font-size:16px}.system-map{max-width:520px;width:100%;padding:22px 26px 16px}.map-detail{min-height:80px}.map-detail p{max-width:420px}.hero{padding-bottom:48px}h1{font-size:15vw;margin:40px 0}.surname{margin-left:8%}.track-strip-inner{gap:25px}.company-list{flex-wrap:wrap;justify-content:flex-start;gap:10px 30px;font-size:18px}.company-list span:last-child{font-size:18px}.track-strip p{min-width:120px}.work-section{padding-block:65px}.section-heading{grid-template-columns:1fr;margin-bottom:32px;gap:10px}.section-heading .eyebrow{margin:0 0 10px}.section-heading h2{font-size:38px}.section-summary{grid-column:auto}.current-grid,.plotva-work{grid-template-columns:1fr;gap:20px}.current-work{padding:26px 26px 0}.current-description{margin:20px 0;font-size:22px}.current-description br{display:none}.current-grid{padding:26px 0}.work-footer{flex-direction:column;gap:10px}.plotva-work{padding:38px 26px}.plotva-title h3{font-size:54px}.plotva-copy{margin-top:10px}.practice-grid{gap:32px;padding:38px 0 0}.practice-grid h3{font-size:20px}.practice-grid h3 br{display:none}.experience-section{padding-block:60px}.experience-grid{grid-template-columns:1fr;gap:42px}.experience-intro h2{font-size:38px}.experience-intro h2 br{display:none}.experience-intro>p:not(.eyebrow){max-width:520px}.contact-section{padding-block:60px}.site-footer{flex-wrap:wrap}.back-top{margin-left:auto}}
@media(max-width:480px){.wrap{width:calc(100% - 40px)}.site-header{height:76px}.wordmark{font-size:21px}.site-header nav{gap:16px}.site-header nav a:first-child{display:none}.hero{padding-top:26px}.hero-intro{align-items:flex-start}.hero-intro>span:last-child{text-align:right;max-width:150px}.hero-copy h2{font-size:28px}.hero-actions{gap:20px}.button{padding:14px 18px;gap:24px}.text-link{font-size:12px}.hero-copy p{font-size:15px}.system-map{padding:20px 18px 14px}.map-nodes button{font-size:9px}.map-footer{font-size:8px}.track-strip-inner{align-items:flex-start;gap:18px;padding-block:20px}.track-strip p{font-size:9px;min-width:94px}.company-list{gap:10px 20px;font-size:16px}.company-list span:last-child{font-size:15px}.section-heading h2{font-size:34px}.current-work{padding:22px 20px 0}.work-meta{font-size:9px}.work-meta .eyebrow{font-size:9px}.current-grid h3{font-size:39px}.work-copy>p{font-size:14px}.scope-list li{grid-template-columns:50px 1fr;gap:12px;font-size:12px}.work-footer{font-size:10px}.plotva-work{padding-inline:20px}.plotva-title h3{font-size:52px}.plotva-title>p:not(.eyebrow){font-size:21px}.plotva-copy>p{font-size:14px}.plotva-stats{gap:30px}.plotva-stats strong{font-size:38px}.plotva-stats span{font-size:9px}.practice-grid{grid-template-columns:1fr;gap:35px}.practice-grid article+article{border-top:1px solid var(--line);padding-top:30px}.practice-grid h3{font-size:22px}.timeline article{grid-template-columns:70px 1fr;gap:16px}.timeline h3{font-size:21px}.timeline-date{font-size:9px}.contact-section h2{font-size:13vw}.contact-bottom{flex-direction:column;gap:32px}.email-link{font-size:19px;letter-spacing:-.5px}.email-link span{margin-left:8px}.site-footer{gap:18px}.site-footer>span{width:100%}.site-footer nav{gap:20px}.back-top{font-size:9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
.contact-direct{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.project-links{display:flex;flex-wrap:wrap;gap:20px;margin-top:25px}
.research-feature{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:38px;margin-bottom:12px;align-items:center}
.research-copy .eyebrow{margin-top:0}.research-copy h3,.quant-copy h3{font-size:46px;font-weight:550;line-height:1.1;letter-spacing:-1.8px;margin:16px 0 20px}.research-copy p:not(.eyebrow),.quant-copy>p:not(.eyebrow),.model-work>div>p:not(.eyebrow){font-size:15px;color:var(--muted);line-height:1.8;margin:18px 0}.research-copy .research-lead{font-size:24px!important;color:var(--ink)!important;line-height:1.4!important;letter-spacing:-.6px}.research-copy .research-note{font-size:11px!important}
.render-visual{background:var(--soft);color:var(--blue);padding:24px 28px 20px;border-radius:3px;min-width:0}.render-top{font-family:var(--mono);display:flex;justify-content:space-between;font-size:10px}.frame-stack{position:relative;height:190px;width:220px;margin:25px auto 5px}.frame-stack>div{position:absolute;width:168px;height:118px;border:1px solid var(--frame-line);border-radius:3px;transform:skewY(-7deg);background:var(--frame);top:8px;left:2px}.frame-stack>div:nth-child(2){top:26px;left:23px;background:var(--frame-mid)}.frame-stack>div:nth-child(3){top:44px;left:44px;background:var(--blue);border-color:var(--blue);color:var(--white);padding:18px 21px;display:flex;justify-content:space-between;align-items:end;font-family:var(--mono);font-size:22px}.frame-stack>div:nth-child(3):after{content:"";position:absolute;inset:12px;border:1px solid #ffffff30}.render-process{display:flex;align-items:center;justify-content:center;gap:10px;font-family:var(--mono);font-size:12px;padding:17px;border-block:1px solid var(--line)}.render-dot{width:6px;height:6px;border-radius:50%;background:var(--blue)}.render-platforms{display:flex;justify-content:space-around;padding:17px 0;font-size:11px}.render-visual>p{font-family:var(--mono);font-size:8px;text-align:center;color:var(--muted);margin:5px 0 0}
.quant-feature{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:44px 38px;border-bottom:1px solid var(--line);align-items:center}.quant-copy .eyebrow{margin-top:0}.quant-measurement{padding:26px 28px;border:1px solid var(--line);border-radius:4px}.quant-measurement>.eyebrow{font-size:9px;margin:0 0 32px}.bar-label{display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:10px;gap:12px;margin:20px 0 8px}.bar-label strong{font-weight:500;white-space:nowrap}.bar-track{height:22px;width:100%;background:var(--chart-track);overflow:hidden;border-radius:2px}.bar-track span{display:block;height:100%}.bar-original{background:var(--chart-original);width:100%}.bar-quantized{background:var(--blue);width:38.45%}.quant-measurement>p:last-child{font-size:11px;line-height:1.8;color:var(--muted);margin:25px 0 0}
.model-work{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding:45px 38px;border-bottom:1px solid var(--line);align-items:center}.model-work h3{font-size:32px;font-weight:550;letter-spacing:-1px;line-height:1.2;margin:14px 0}.model-shelf{border-top:2px solid var(--blue)}.shelf-heading{display:flex;justify-content:space-between;gap:15px;padding:18px 0;font-family:var(--mono);font-size:10px;line-height:1.7}.shelf-heading>span:last-child{text-align:right;color:var(--blue)}.model-shelf small{display:block;font-size:10px;color:var(--muted);font-weight:400;margin-top:5px}.shelf-heading small{font-size:8px}.model-shelf>a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:19px 0;border-top:1px solid var(--line);font-size:15px}.model-shelf>a:hover{color:var(--blue)}.model-shelf>a>span:last-child{color:var(--blue)}
.writing-section{padding:65px 0 75px;border-top:1px solid var(--line);background:var(--band)}.writing-heading{display:flex;align-items:end;justify-content:space-between;gap:25px;margin-bottom:35px}.writing-heading h2{font-size:37px;font-weight:550;letter-spacing:-1.3px;line-height:1.2;margin:0}.writing-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.writing-list>a{border-top:1px solid var(--line);position:relative;padding:24px 0 30px}.writing-list>a:hover h3{color:var(--blue)}.writing-kind{font-family:var(--mono);color:var(--muted);font-size:10px}.writing-list h3{font-size:23px;line-height:1.35;font-weight:550;letter-spacing:-.7px;margin:16px 0 13px}.writing-list p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}.writing-arrow{position:absolute;bottom:0;right:0;color:var(--blue);font-size:23px}.current-section{padding-top:64px}.current-position{margin-bottom:0}.current-position .current-work{background:var(--white)}
@media(max-width:1100px){.research-feature,.quant-feature,.model-work{gap:36px}.hero-bottom{gap:35px}.hero-copy h2{font-size:28px}.writing-list{gap:25px}.writing-list h3{font-size:21px}.quant-measurement{padding:22px}.bar-label{font-size:9px}}
@media(max-width:800px){.research-feature,.quant-feature,.model-work{grid-template-columns:1fr;padding:28px;gap:30px}.render-visual{width:100%;max-width:500px}.frame-stack{height:172px}.quant-measurement{max-width:500px;width:100%}.model-work{gap:25px}.model-work .eyebrow{margin-top:0}.writing-heading{display:block}.writing-heading h2{font-size:32px}.writing-heading>.text-link{margin-top:20px}.writing-list{grid-template-columns:1fr;gap:20px}.writing-list h3{font-size:24px}.writing-list>a{padding-block:20px 27px}.writing-section{padding-block:45px}.current-section{padding-top:40px}.current-position{margin-bottom:0}.hero-copy h2{font-size:30px}}
@media(max-width:480px){.site-header nav{gap:13px;font-size:11px}.site-header nav a:nth-child(3){display:none}.research-feature,.quant-feature,.model-work{padding:24px 20px}.research-copy h3,.quant-copy h3{font-size:37px}.research-copy .research-lead{font-size:21px!important}.research-copy p:not(.eyebrow),.quant-copy>p:not(.eyebrow),.model-work>div>p:not(.eyebrow){font-size:14px}.render-visual{padding:20px 16px}.render-visual>p{font-size:7px}.project-links{gap:16px}.quant-measurement{padding:18px}.quant-measurement>.eyebrow{line-height:1.8}.bar-label{font-size:8px}.shelf-heading{font-size:8px}.model-shelf small{font-size:9px}.model-work h3{font-size:29px}.hero-copy h2{font-size:27px}.site-footer nav{gap:15px;flex-wrap:wrap}.site-footer .back-top{margin-left:0}}

[hidden]{display:none!important}
.reveal-email{background:none;border:0;border-bottom:1px solid var(--line);color:var(--ink);cursor:pointer;text-align:left;padding:0 0 7px}
#email-contact:empty{display:none}
.print-profile{background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 3px;cursor:pointer;color:var(--ink)}
.contact-location .print-profile{font-family:var(--body);margin-top:12px}
.cv-note{font-size:10px}
@media(prefers-color-scheme:dark){
  :root{--paper:#111c26;--white:#192733;--ink:#e7edf4;--muted:#adbdcc;--line:#364858;--blue:#8db9ff;--blue-light:#253e5e;--band:#15222e;--soft:#20334b;--frame:#263e5c;--frame-mid:#345279;--frame-line:#6589b9;--chart-track:#2c4052;--chart-original:#7691aa;--action:#285fbc;--action-hover:#3471d5}
}
@page{size:A4;margin:16mm}
/* Each project diagram explains a real part of that project. */
.exploration-list{margin:16px 0 0}.exploration-list>div{display:grid;grid-template-columns:95px 1fr;gap:16px;padding:15px 0;border-top:1px solid var(--line)}.exploration-list dt{font-size:12px;font-weight:600;color:var(--blue)}.exploration-list dd{margin:0;font-size:12px;line-height:1.65;color:var(--muted)}
.plotva-diagram{max-width:340px;margin-top:30px;font-family:var(--mono);font-size:11px;text-align:center}.flow-source{padding:9px;border:1px solid var(--line);border-radius:4px}.flow-arrow{display:block;color:var(--blue);line-height:1.6;font-size:18px}.flow-core{display:flex;flex-direction:column;gap:7px;padding:12px;background:var(--soft);border:1px solid var(--line);border-radius:4px;color:var(--muted);font-size:10px}.flow-core strong{color:var(--blue);font-family:var(--body);font-size:22px;font-weight:550}.flow-outputs{display:flex;justify-content:space-between;gap:8px}.flow-outputs span{flex:1;border:1px solid var(--line);border-radius:4px;padding:8px 5px}
.plotva-copy{align-self:center}.expert-diagram{display:grid;grid-template-columns:1fr auto 1fr;gap:15px;align-items:center;background:var(--soft);padding:24px;margin-bottom:24px;border-radius:4px}.expert-stage{font-family:var(--mono);font-size:9px;text-align:center;color:var(--muted)}.expert-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;max-width:120px;margin:0 auto 12px;height:45px}.expert-grid i{border:1px solid var(--frame-line);background:var(--frame-mid);border-radius:2px}.expert-grid.compact{grid-template-columns:repeat(2,1fr);max-width:60px}.expert-grid.compact i{background:var(--blue)}.expert-operation{text-align:center;color:var(--blue);font-family:var(--mono);font-size:9px}.expert-operation b{display:block;font-size:26px;font-weight:400}.expert-diagram>p{grid-column:1/-1;margin:6px 0 0;font-family:var(--mono);font-size:9px;text-align:center;color:var(--muted);line-height:1.7}
@media(max-width:480px){.exploration-list>div{grid-template-columns:82px 1fr;gap:10px}.expert-diagram{padding:18px 12px;gap:8px}.expert-stage,.expert-operation{font-size:8px}}
@media print{
  :root{color-scheme:light;--paper:#fff;--white:#fff;--ink:#111;--muted:#333;--line:#bbb;--blue:#174780;--band:#fff}
  html{scroll-behavior:auto}body{font-size:10pt;line-height:1.45;background:white;color:black}
  .wrap{width:100%;max-width:none}
  .site-header nav,.system-map,.hero-actions,.track-strip,.render-visual,.quant-measurement,.plotva-diagram,.expert-diagram,.site-footer nav,.back-top,.reveal-email,.print-profile,.skip{display:none!important}
  h1{font-size:36pt;margin:12pt 0;line-height:1.1}h1 br{display:none}.surname{margin-left:.25em}
  .hero{padding:0 0 15pt}.hero-intro{font-size:8pt}.hero-bottom{display:block}.hero-copy h2{font-size:18pt}.hero-copy p{font-size:10pt;max-width:none;margin:10pt 0}
  .current-section,.work-section,.experience-section,.writing-section,.contact-section{padding:16pt 0;background:white;border:0}
  .current-position{margin:0}.current-work,.plotva-work,.research-feature,.quant-feature,.model-work{padding:14pt 0;margin:0;border:0;border-top:1px solid #bbb;border-radius:0;box-shadow:none;display:block;break-inside:avoid}
  .current-grid{padding:10pt 0;gap:24pt}.current-grid h3,.plotva-title h3,.research-copy h3,.quant-copy h3{font-size:23pt;margin:5pt 0}.current-description{font-size:12pt;margin:10pt 0}.work-meta{font-size:8pt}
  .work-copy>p,.plotva-copy>p,.research-copy p:not(.eyebrow),.quant-copy>p:not(.eyebrow),.model-work>div>p:not(.eyebrow){font-size:10pt;line-height:1.5;margin:8pt 0}
  .scope-list li{font-size:9pt;padding:5pt 0}.work-footer{font-size:8pt;padding:8pt 0}.plotva-title>p:not(.eyebrow),.research-copy .research-lead{font-size:12pt!important;margin:8pt 0}.research-copy .research-note{font-size:9pt!important}
  .section-heading{display:block;margin:0 0 12pt}.section-heading h2,.experience-intro h2,.writing-heading h2{font-size:23pt}.section-heading h2 br,.experience-intro h2 br,.contact-section h2 br{display:none}.section-summary{font-size:10pt;max-width:none;margin:8pt 0}
  .eyebrow{font-size:8pt;margin:5pt 0 8pt}.project-links{margin:10pt 0;gap:18pt}.text-link{font-size:9pt}.plotva-title h3 span{display:none}
  .model-work h3{font-size:18pt}.model-shelf{margin-top:14pt}.model-shelf>a{padding:7pt 0;font-size:10pt}.shelf-heading{padding:8pt 0}
  .practice-grid{padding:12pt 0;gap:24pt}.practice-grid article{break-inside:avoid}.practice-grid h3{font-size:13pt;margin:8pt 0}.practice-grid p{font-size:10pt}.practice-icon{display:none}
  .writing-heading{margin:0 0 12pt}.writing-heading>.text-link{display:none}.writing-list{display:block}.writing-list>a{display:block;padding:8pt 0;break-inside:avoid}.writing-list h3{font-size:12pt;margin:5pt 0}.writing-list p{font-size:10pt}.writing-arrow{display:none}
  .experience-grid{display:block}.experience-intro{margin:0 0 15pt}.experience-intro>p:not(.eyebrow){max-width:none;margin:10pt 0;font-size:10pt}.timeline article{padding:10pt 0;break-inside:avoid}.timeline h3{font-size:13pt}.timeline p{font-size:10pt}.timeline-date,.timeline .timeline-role{font-size:8pt}
  .contact-section{break-inside:avoid}.contact-section h2{font-size:23pt;margin:10pt 0}.contact-bottom{gap:20pt}.contact-bottom p{font-size:10pt;margin:8pt 0}.email-link{font-size:11pt;letter-spacing:0}.contact-location{font-size:8pt}.contact-location .text-link{margin-top:5pt}.site-footer{font-size:8pt;padding:8pt 0}
  h2,h3{break-after:avoid}p{orphans:3;widows:3}
}

.identity h1{font-size:26px;line-height:1.2;letter-spacing:-.9px;margin:0;font-weight:600}.identity span{color:var(--blue)}
.hero-intro{margin-bottom:40px}.hero-bottom{align-items:start}.hero-copy h2{font-size:clamp(30px,3.4vw,46px);line-height:1.16;letter-spacing:-1.5px}.hero{padding-top:32px;padding-bottom:56px}
@media(max-width:800px){.identity h1{font-size:22px}.hero-intro{margin-bottom:28px}.hero-copy h2{font-size:36px}.hero-bottom{gap:30px}}
@media(max-width:480px){.site-header{height:auto;min-height:92px;align-items:flex-start;justify-content:center;flex-direction:column;gap:12px;padding-block:18px}.identity h1{font-size:24px}.site-header nav{gap:22px}.site-header nav a:first-child,.site-header nav a:nth-child(3){display:inline}.hero-copy h2{font-size:30px;letter-spacing:-1px}.hero-intro>span:last-child{max-width:125px}.hero{padding-top:24px}}
@media print{.site-header{display:block;height:auto;min-height:0;padding:0 0 10pt;border:0}.identity h1{font-size:25pt;margin:0}.hero-intro{margin:0 0 10pt}.hero{padding:0 0 10pt}.hero-copy h2{font-size:18pt;letter-spacing:-.5pt}}

@media print{.current-grid{grid-template-columns:1fr 1.3fr;gap:22pt}.work-footer{flex-direction:row}.section-heading{break-after:avoid}.section-heading h2,.experience-intro h2,.contact-section h2{letter-spacing:-.5pt}.contact-bottom{flex-direction:row}}

@media print{.section-heading,.writing-heading,.experience-intro{break-inside:avoid;break-after:avoid}.eyebrow{break-after:avoid}}

/* Compact reading layout: professional experience precedes project detail. */
@media screen{
.site-header{height:82px}.hero{padding-block:24px 36px}.hero-intro{margin-bottom:24px}.hero-copy h2{font-size:28px;letter-spacing:-.65px;line-height:1.25;margin-bottom:16px}.hero-copy p{font-size:15px;line-height:1.7;margin-bottom:20px}.hero-copy h2 br{display:none}.hero-bottom{gap:48px}.hero-actions{gap:22px}.button{padding:12px 18px}.system-map{padding:18px 22px 8px}.exploration-list>div{padding:10px 0}.track-strip-inner{padding-block:16px}.company-list,.company-list span:last-child{font-size:19px}
.experience-section,.work-section,.writing-section,.contact-section{padding-block:44px}.experience-grid{grid-template-columns:260px 1fr;gap:50px}.experience-intro h2,.section-heading h2,.writing-heading h2,.contact-section h2{font-size:28px;line-height:1.2;letter-spacing:-.7px}.experience-intro>p:not(.eyebrow){font-size:14px;margin:18px 0}.timeline article{padding:13px 0;grid-template-columns:105px 1fr;gap:20px}.timeline h3{font-size:18px;letter-spacing:-.3px}.timeline p{margin-top:5px;line-height:1.55}.section-heading{grid-template-columns:140px 1fr 340px;gap:24px;margin-bottom:24px}.section-summary{font-size:13px;line-height:1.65}.eyebrow{margin:4px 0 12px}
.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.project-grid>article{display:flex;flex-direction:column;gap:0;padding:24px;margin:0;border:1px solid var(--line);background:var(--white);border-radius:6px;min-width:0}.project-grid h3{font-size:27px;line-height:1.2;letter-spacing:-.7px;margin:8px 0 12px}.plotva-title h3 span{font-size:22px;margin-left:14px}.plotva-title>p:not(.eyebrow){font-size:15px;line-height:1.6;letter-spacing:0;margin:8px 0 12px}.project-grid p:not(.eyebrow){font-size:13px;line-height:1.65}.plotva-copy>p,.research-copy p:not(.eyebrow),.quant-copy>p:not(.eyebrow),.model-work>div>p:not(.eyebrow){margin:10px 0}.project-grid .project-links{gap:18px;margin:14px 0 0}.project-grid .text-link{font-size:12px}.plotva-copy{align-self:stretch;margin-top:0}
.plotva-diagram{max-width:none;width:100%;display:grid;grid-template-columns:1fr 20px 1.3fr 20px 1fr;align-items:center;gap:6px;margin-top:20px;font-size:10px}.flow-arrow{transform:rotate(-90deg)}.flow-outputs{flex-direction:column;gap:5px}.flow-outputs span{padding:4px}.flow-core{padding:10px 5px;font-size:9px}.flow-core strong{font-size:18px}.flow-source{padding:14px 5px}.render-visual{width:100%;max-width:none;display:grid;grid-template-columns:160px 1fr;gap:8px 18px;margin-top:18px;padding:16px;align-items:center}.render-top{grid-column:1/-1}.frame-stack{grid-row:2/5;width:155px;height:140px;margin:0;transform:scale(.7);transform-origin:top left}.render-process{font-size:10px;padding:10px 0}.render-platforms{font-size:10px;padding:0}.render-visual>p{font-size:9px;line-height:1.5;margin:0}.quant-measurement{max-width:none;width:100%;padding:18px;margin-top:20px}.quant-measurement>.eyebrow{margin-bottom:16px}.bar-label{margin-top:12px;font-size:10px}.bar-track{height:17px}.quant-measurement>p:last-child{font-size:11px;margin-top:15px}.model-results{width:100%}.expert-diagram{padding:16px;margin:18px 0}.expert-diagram>p{font-size:9px}.shelf-heading{padding:10px 0;font-size:10px}.model-shelf>a{padding:9px 0;font-size:13px}.model-shelf small{font-size:10px}.practice-grid{padding:28px 0 0;gap:40px}.practice-grid h3,.writing-list h3{font-size:19px;line-height:1.4;margin:10px 0}.practice-grid p,.writing-list p{font-size:13px;line-height:1.65}.practice-icon{font-size:19px}.writing-heading{margin-bottom:24px}.writing-list>a{padding-top:16px}.contact-section h2{margin:12px 0 22px}.contact-bottom p{font-size:14px}.email-link{font-size:19px;letter-spacing:-.3px}
}
@media screen and (max-width:900px){.experience-grid{grid-template-columns:210px 1fr;gap:30px}.section-heading{grid-template-columns:1fr 2fr}.section-summary{grid-column:2}.hero-bottom{gap:28px}.project-grid{gap:16px}.project-grid>article{padding:20px}.render-visual{grid-template-columns:120px 1fr;gap:8px}.frame-stack{width:120px;transform:scale(.6)}.plotva-diagram{grid-template-columns:1fr;max-width:300px;margin-inline:auto}.flow-arrow{transform:none}.flow-outputs{flex-direction:row}.flow-core{padding:8px}.flow-source{padding:7px}}
@media screen and (max-width:680px){.project-grid,.experience-grid{grid-template-columns:1fr}.experience-grid{gap:24px}.experience-intro>p:not(.eyebrow){max-width:none}.section-heading{display:block}.section-heading h2{margin-bottom:12px}.hero-copy h2{font-size:25px}.hero-bottom{gap:24px}.experience-section,.work-section,.writing-section,.contact-section{padding-block:32px}.timeline article{grid-template-columns:86px 1fr;gap:14px}.project-grid h3{font-size:25px}.plotva-diagram{grid-template-columns:1fr 16px 1.3fr 16px 1fr;max-width:none;gap:4px}.flow-arrow{transform:rotate(-90deg)}.flow-outputs{flex-direction:column}.render-visual{grid-template-columns:130px 1fr}.frame-stack{width:130px}.practice-grid{gap:24px}.contact-section h2,.experience-intro h2,.section-heading h2,.writing-heading h2{font-size:25px}.site-header{height:auto;min-height:82px}.bar-label{font-size:9px}}
@media print{.project-grid{display:block}.project-grid>article{break-inside:avoid}.timeline article{padding:7pt 0}.experience-section{padding-top:8pt}}

.contact-bottom>div:first-child{flex:1;min-width:0}.contact-form{max-width:680px;margin-top:24px}.contact-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--muted);margin-bottom:14px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:4px;background:var(--white);color:var(--ink);padding:10px 12px;font:inherit;font-size:14px;line-height:1.5}.contact-form textarea{resize:vertical;min-height:105px}.contact-form :is(input,textarea):focus-visible{outline:2px solid var(--blue);outline-offset:2px}.contact-form ::placeholder{color:var(--muted);opacity:1}.form-trap{display:none}.form-send{display:flex;align-items:center;gap:20px}.form-send .button{border:0;cursor:pointer;white-space:nowrap}.form-send .button:disabled{opacity:.6;cursor:default;transform:none}.form-send p{font-size:11px;line-height:1.5;max-width:290px;margin:0}.contact-form .form-status{font-size:13px;color:var(--ink);margin:12px 0 0}.form-status:empty{display:none}
@media(max-width:680px){.form-row{grid-template-columns:1fr;gap:0}.form-send{align-items:flex-start;flex-direction:column;gap:10px}.contact-bottom{flex-direction:column;gap:25px}.contact-form{margin-top:20px}}
@media print{.contact-form{display:none!important}}

.form-toggle,.form-check button{background:none;color:var(--ink);border:0;border-bottom:1px solid var(--line);padding:0 0 3px;cursor:pointer}.form-toggle[aria-expanded=true] span{display:inline-block;transform:rotate(90deg)}.form-check{display:flex;align-items:center;gap:20px}.form-check label{margin-bottom:0}.form-check input{max-width:120px}.form-check button{font-size:12px}.contact-form .challenge-help{font-size:11px;color:var(--muted);margin:8px 0 18px}.form-check button:disabled{opacity:.6;cursor:default}
@media print{.form-toggle{display:none!important}}
