:root{--ink:#182f2d;--green:#365e50;--paper:#f5f4ed;--muted:#5e6c64;--line:#d7ddd2;--gold:#e4c27b}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.65 Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #a37728;outline-offset:6px}p,h1,h2,h3,h4{margin:0}p+p{margin-top:14px}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.skip{position:absolute;top:-70px;background:var(--ink);color:white;padding:12px;z-index:20}.skip:focus{top:0}header{max-width:1344px;margin:auto;padding:27px 48px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:16px;font:italic 30px Georgia,serif;letter-spacing:-2px}.wordmark span{font:600 14px Arial,sans-serif;letter-spacing:0}nav{display:flex;gap:32px;font-size:13px}nav a:hover,.text-link:hover{color:#8b6528}.eyebrow{font:600 10px/1.5 Arial,sans-serif;letter-spacing:1.9px}.hero{display:grid;grid-template-columns:1.12fr 1fr;gap:56px;padding-top:88px;padding-bottom:70px;align-items:center}.dot{display:inline-block;width:7px;height:7px;background:var(--green);border-radius:50%;margin-right:8px}h1{font:normal clamp(48px,5.7vw,78px)/1.05 Georgia,serif;letter-spacing:-3px;margin:24px 0}h1 em{font-weight:normal;color:var(--green)}.intro{font-size:17px;max-width:480px;color:var(--muted)}.actions{display:flex;align-items:center;gap:27px;margin:30px 0 36px}.button{display:inline-flex;align-items:center;gap:29px;background:var(--ink);color:white;padding:13px 20px;font-size:13px}.button:hover{background:var(--green)}.text-link{font-size:13px;font-weight:600;border-bottom:1px solid var(--green);padding-bottom:5px}.hero-foot{font-size:11px;color:var(--muted)}.visual{background:var(--ink);color:#d4e0d5;padding:27px 24px;box-shadow:15px 15px 0 #e7e9df}.visual-top,.visual-bottom{display:flex;justify-content:space-between;gap:20px;font:9px/1.6 monospace;letter-spacing:1px}.visual-top{padding-bottom:20px;border-bottom:1px solid #47605a}.visual svg{display:block;width:100%;height:auto}.visual-bottom{border-top:1px solid #47605a;padding-top:20px;font-size:10px;letter-spacing:0}.concept{opacity:.7;font-size:8px}.statement{display:grid;grid-template-columns:1fr 3fr;align-items:start;border-top:1px solid var(--line);padding-top:34px;padding-bottom:65px}.statement>p:last-child{font:24px/1.5 Georgia,serif}.statement span{color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading>p{font-size:13px;color:var(--muted)}h2{font:normal 38px/1.15 Georgia,serif;letter-spacing:-1px;margin-top:14px}h3{font:normal 38px/1.15 Georgia,serif;letter-spacing:-.7px}h4{font:normal 24px/1.3 Georgia,serif;margin-bottom:13px}.project{display:grid;grid-template-columns:1fr 1fr;background:#e9ede4;border:1px solid #d7dfd3}.project-summary{padding:40px}.project-summary h3{margin:20px 0}.project-summary>p:not(.eyebrow){font-size:14px;max-width:390px;color:var(--muted)}.tags{display:flex;flex-wrap:wrap;gap:6px;margin:21px 0 25px}.tags span{border:1px solid #bac8b9;padding:3px 8px;font-size:10px}.project-results{background:var(--ink);color:#f0f2e8;padding:46px 40px;display:flex;flex-direction:column;justify-content:center}.result-title{font-size:9px;letter-spacing:1.3px}.big-number{font:82px/1.2 Georgia,serif;letter-spacing:-4px;margin:17px 0 2px}.big-number span{font-size:40px;margin-left:7px}.project-results>p{font-size:12px;color:#cad7cd}.rate-track{height:12px;background:#466058;margin-top:27px}.rate-track span{display:block;width:47.63%;height:100%;background:var(--gold)}.result-key{display:flex;gap:12px;justify-content:space-between;font-size:8px;margin-top:10px;color:#d0d9d2}.result-key i{display:inline-block;width:6px;height:6px;background:var(--gold);margin-right:5px}.project-results .result-note{font-size:10px;margin-top:24px;color:#b8c9bf}.case-details{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;padding:40px 0}.case-details .eyebrow{margin-bottom:17px}.case-details p:not(.eyebrow){font-size:14px;color:var(--muted)}.small{font-size:12px!important;color:var(--muted)}.steps{list-style:none;margin:0;padding:0;counter-reset:step}.steps li{counter-increment:step;display:grid;grid-template-columns:24px 80px 1fr;gap:10px;margin-bottom:16px;font-size:12px}.steps li:before{content:counter(step,decimal-leading-zero);color:#768577;font:12px monospace}.steps span{color:var(--muted)}.model-review{display:grid;grid-template-columns:1fr 1fr;gap:65px;background:#ebe9df;padding:35px 40px}.model-review h4{margin-top:14px}.model-review p{font-size:13px;max-width:420px;color:var(--muted)}.model-metrics>div{position:relative;margin-bottom:20px;font-size:12px}.model-metrics b{float:right;font-size:15px}.metric-line{height:6px;background:#d6d8cc;margin-top:10px}.metric-line i{display:block;height:100%;background:var(--green)}.baseline i{background:#8a988b}.auc{display:flex;justify-content:space-between;border-top:1px solid #cdd3c6;padding-top:13px;gap:10px}.auc b{float:none;margin-left:7px}.integration{display:grid;grid-template-columns:1fr 1.2fr;gap:70px;border-top:1px solid var(--line);margin-top:58px;padding-top:36px;padding-bottom:65px}.integration h3{margin-top:16px;font-size:32px}.integration p{font-size:14px;color:var(--muted)}.integration-flow{display:flex;gap:10px;align-items:center;margin:25px 0;font-size:10px}.integration-flow span{border:1px solid #c3cdbf;padding:9px}.integration-flow b{font-weight:normal}.background{background:#e8ece3;padding:60px 0}.background-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:95px}.background h2{margin-bottom:25px}.background p{font-size:14px;color:var(--muted);max-width:460px}.experience>div{border-bottom:1px solid #c9d2c3;padding:0 0 23px;margin-bottom:23px}.experience>div:last-child{margin-bottom:0}.experience-label{font-size:9px;letter-spacing:1.4px}.experience h4{font-size:23px;margin:8px 0}.experience .small{margin-top:6px}.capabilities{padding-top:65px;padding-bottom:70px}.cap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:38px}.cap-num{font:12px monospace;color:var(--green);border-top:1px solid var(--line);display:block;padding-top:20px;margin-bottom:15px}.cap-grid h4{font-size:24px}.cap-grid p{font-size:14px;color:var(--muted)}.contact{border-top:1px solid var(--ink);padding-top:45px;padding-bottom:55px;display:grid;grid-template-columns:1.2fr 1fr;gap:80px}.contact p:not(.eyebrow){font-size:14px;color:var(--muted);max-width:470px;margin-top:20px}.contact-paths a{display:block;border-bottom:1px solid var(--line);padding:14px 0 21px}.contact-paths a:hover b{color:#8b6528}.contact-paths span{display:block;font-size:11px;color:var(--muted);margin-bottom:6px}.contact-paths b{font-size:14px}.contact-paths .draft-note{font-size:10px!important}footer{border-top:1px solid var(--line);padding-top:25px;padding-bottom:30px;display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}@media(max-width:900px){.wrap{padding-left:28px;padding-right:28px}header{padding:22px 28px}.hero{gap:25px;padding-top:55px}h1{font-size:57px}.visual{padding:18px}.visual-top{font-size:7px}.actions{gap:18px}.project-summary,.project-results{padding:30px}.case-details,.integration{gap:35px}.background-grid{gap:45px}.contact{gap:40px}.statement{grid-template-columns:1fr 2.8fr}.statement>p:last-child{font-size:21px}}@media(max-width:680px){header{padding:20px}.wordmark span{font-size:11px}.wordmark{gap:10px}nav{gap:15px;font-size:11px}nav a:last-child span{display:none}.wrap{padding-left:22px;padding-right:22px}.hero{grid-template-columns:1fr;padding-top:46px;padding-bottom:45px;gap:38px}h1{font-size:61px}.intro{font-size:16px}.hero-foot{font-size:10px}.visual{max-width:460px;box-shadow:8px 8px 0 #e7e9df}.visual svg{max-height:290px}.statement{display:block;padding-top:25px;padding-bottom:45px}.statement>p:last-child{margin-top:15px;font-size:22px}.section-heading{display:block}.section-heading>p{margin-top:15px}h2{font-size:32px}.project,.case-details,.model-review,.integration,.background-grid,.contact{grid-template-columns:1fr}.project-summary,.project-results{padding:28px}.big-number{font-size:78px}.case-details{padding:30px 0;gap:25px}.steps li{grid-template-columns:20px 65px 1fr;gap:6px}.model-review{gap:25px;padding:28px 22px}.model-review .small{font-size:10px!important}.integration{gap:23px;margin-top:40px;padding-bottom:45px}.integration-flow{gap:7px;font-size:9px}.integration-flow span{padding:7px}.background{padding:45px 0}.background-grid{gap:30px}.capabilities{padding-top:45px;padding-bottom:45px}.cap-grid{grid-template-columns:1fr;gap:22px;margin-top:28px}.cap-num{margin-bottom:10px}.cap-grid h4{margin-bottom:8px}.contact{gap:20px;padding-top:35px;padding-bottom:35px}footer{flex-wrap:wrap;padding-top:22px;padding-bottom:25px}footer span:nth-child(2){order:3;width:100%}.result-key{font-size:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Second-pass readability, evidence, and small-screen navigation. */
.project-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-bottom:1px solid var(--line);padding:23px 0}.project-facts span{display:block;color:var(--muted);font-size:11px;margin-bottom:5px}.project-facts b{font-size:13px;font-weight:500}.technical-notes{margin-top:28px}.technical-notes details{border-top:1px solid var(--line)}.technical-notes details:last-child{border-bottom:1px solid var(--line)}.technical-notes summary{cursor:pointer;padding:20px 0;font-size:15px;font-weight:600}.technical-notes summary span{float:right;margin-left:20px;font-size:11px;font-weight:400;color:var(--muted)}.technical-notes summary:focus-visible{outline:3px solid #a37728;outline-offset:4px}.detail-content{padding:3px 0 26px;max-width:900px;font-size:14px;color:var(--muted)}.detail-content h4{color:var(--ink)}.detail-content dl{margin:20px 0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.detail-content dt{font-size:11px;font-weight:bold;color:var(--ink);margin-bottom:7px}.detail-content dd{margin:0;font-size:13px}.evaluation-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;max-width:none}.matrix-wrap{min-width:0}.matrix-wrap table{border-collapse:collapse;width:100%;text-align:center}.matrix-wrap caption{text-align:left;font-size:11px;margin-bottom:14px;color:var(--ink)}.matrix-wrap th{font-size:11px;font-weight:500;padding:12px 8px}.matrix-wrap td{border:4px solid var(--paper);background:#e8e9df;padding:15px 10px;font:26px Georgia,serif;color:var(--ink)}.matrix-wrap td.correct{background:#dce6d8}.matrix-wrap .small{margin-top:12px}.eyebrow{font-size:11px}.tags span{font-size:11px}.result-title{font-size:10px}.result-key{font-size:10px}.project-results .result-note{font-size:12px}.experience-label{font-size:10px}.hero-foot{font-size:12px}.visual-top{font-size:9px}.contact-paths .draft-note{font-size:12px!important}nav a{padding:8px 0}.contact-paths a:focus-visible{outline-offset:0}.rate-track,.metric-line{overflow:hidden}.metric-line{position:relative}.model-metrics>div{font-size:13px}
@media(max-width:680px){header{flex-wrap:wrap;gap:13px;padding:17px 22px}header .wordmark{width:100%;font-size:26px}.wordmark span{font-size:13px}nav{width:100%;justify-content:space-between;font-size:13px;gap:10px}nav a{min-height:36px;display:flex;align-items:center}.hero{padding-top:35px}h1{font-size:clamp(46px,12vw,61px);letter-spacing:-2px}.actions{flex-wrap:wrap;gap:22px}.project-facts{grid-template-columns:1fr;gap:15px}.project-facts span{margin-bottom:2px}.technical-notes summary{font-size:14px;line-height:1.5;padding:18px 0}.technical-notes summary span{display:block;float:none;margin:4px 0 0 18px}.detail-content dl,.evaluation-grid{grid-template-columns:1fr;gap:19px}.detail-content dl{gap:14px}.detail-content{font-size:14px}.result-key{flex-wrap:wrap;font-size:10px}.visual-top{font-size:8px}.hero-foot{font-size:11px}.model-review .small{font-size:12px!important}.auc{flex-wrap:wrap}.integration-flow{flex-wrap:wrap;font-size:11px}.small{line-height:1.7}.steps li{grid-template-columns:22px 1fr}.steps li span{grid-column:2}.steps li b{font-size:13px}.steps li span{font-size:13px}}
@media print{header nav,.actions,.contact-paths,footer a,.skip{display:none}.wrap{padding:20px;max-width:none}.hero,.background-grid,.contact{gap:25px}.hero{padding-top:20px}.visual{box-shadow:none}.technical-notes details{break-inside:avoid}.project,.model-review{break-inside:avoid}body{font-size:12px}a{text-decoration:none}}
/* Interactive network: direct manipulation only; reduced-motion users get the same still-by-default view. */
.wordmark{font:600 16px/1.4 Arial,Helvetica,sans-serif;letter-spacing:0}.wordmark span{font:inherit}.graph-stage{cursor:grab;touch-action:none;user-select:none;border-radius:2px}.graph-stage.dragging{cursor:grabbing}.graph-stage:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.graph-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 17px}.graph-controls[hidden]{display:none}.rotate-buttons{display:flex;gap:6px}.graph-controls button{background:transparent;color:#d4e0d5;border:1px solid #668075;min-height:36px;min-width:36px;padding:7px 10px;font:12px Arial,sans-serif;cursor:pointer}.graph-controls button:hover{background:#36564b}.graph-controls button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}.visual-bottom{flex-wrap:wrap;gap:8px}#graph-help{color:#c3d8cb;font-size:10px}.graph-stage svg{overflow:hidden}@media(max-width:680px){header .wordmark{font-size:15px;width:auto}.wordmark span{font-size:inherit}.graph-controls button{min-height:44px;min-width:40px}.graph-controls{gap:8px}.rotate-buttons{gap:4px}.graph-stage svg{max-height:none}.visual-bottom{font-size:10px}header{gap:9px}}@media(prefers-reduced-motion:reduce){.graph-stage,.graph-stage *{animation:none!important;transition:none!important}}

/* Specific experience and usable contact paths for the private portfolio review. */
.experience-points{padding-left:20px;margin:18px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.experience-points li+li{margin-top:11px}.contact-paths b{overflow-wrap:anywhere}.background .experience .small{max-width:none}

.experience-link{display:inline-block;margin-top:14px;font-size:12px}

.integration .role-dates,.experience .role-dates{margin-top:14px;font-size:14px;font-weight:600;color:var(--ink);line-height:1.6}

/* Keep the established hero spacing after removing the assistant banner. */
.hero{padding-top:56px}@media(max-width:680px){.hero{padding-top:38px}}

.profile-portrait{display:block;width:176px;height:176px;object-fit:cover;border-radius:8px;border:1px solid #b9c6b5;margin-bottom:26px}
