:root{--ink:#191b1b;--paper:#fafaf7;--accent:#ff925e;--muted:#bfc0b8;--line:#42443f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--paper);font:17px/1.7 Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}a:hover{color:var(--accent)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #b84420;outline-offset:5px}button{font:inherit}img{max-width:100%}.shell{width:min(1200px,88%);margin:auto}p{margin:0 0 22px}h1,h2,h3{margin-top:0}h2{font:400 clamp(34px,4vw,52px)/1.16 Georgia,serif;letter-spacing:-.035em;margin-bottom:25px}h3{font-size:22px;font-weight:500;line-height:1.4}.label{font-size:13px;font-weight:600;letter-spacing:1.1px;text-transform:uppercase}.text-link{font-size:15px;text-decoration:none;font-weight:600}.external-arrow{display:inline-block;width:1em;height:1em;vertical-align:-.12em;margin-left:.2em}.skip{position:absolute;left:-9999px}.skip:focus{left:15px;top:15px;background:white;color:black;padding:10px;z-index:100}header{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;font-size:28px;font-weight:800;letter-spacing:-1px}.brand span,.period{color:var(--accent)}nav{display:flex;gap:30px}nav a,.social{font-size:14px;text-decoration:none}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center;padding:55px 0 65px}.hero-top{color:#c9c5bc}.place{display:none}.hero h1{font:400 clamp(60px,7.5vw,104px)/1.05 Georgia,serif;letter-spacing:-.055em;margin:28px 0}.hero h1 br{display:none}.hero h1>span{display:block;color:#dedbd2}.hero-base p{font-size:21px;line-height:1.6;max-width:550px;color:#d0d0c8}.hero-portrait{margin:0;aspect-ratio:4/5;overflow:hidden;border-radius:3px}.hero-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 28%}.section{padding:80px 0}.work{border-top:1px solid var(--line)}.work-intro{display:grid;grid-template-columns:1fr 1.25fr;gap:70px}.work-intro h2{margin-top:18px}.work-intro .label{color:var(--accent)}.project-description{max-width:350px;color:#c1c1bc;font-size:19px}.lead{font-size:26px;line-height:1.45}.work-intro p{color:#d0d0c8}.byline{font-size:14px;color:#bfc0b8!important}.evidence-case{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:30px;border-top:1px solid var(--line);padding-top:28px;margin-top:25px}.evidence-case .label{color:var(--accent)}.evidence-case h3{margin:12px 0}.evidence-case p{color:#c1c1bc;font-size:16px}.evidence-status{border-top:1px solid var(--line);padding-top:20px;font-size:14px;color:#bfc0b8}.work-details{border-top:1px solid var(--line);margin-top:18px;padding-top:4px}.work-details p{font-size:16px;color:#c1c1bc}.work-details h3{margin:18px 0 12px}.work-results{display:grid;grid-template-columns:1fr 1fr;gap:20px 40px;padding-top:20px}summary{cursor:pointer;font-size:16px;padding:13px 0;font-weight:600}code{overflow-wrap:anywhere}.research,.about{background:var(--paper);color:var(--ink)}.section-title{display:flex;justify-content:space-between;gap:30px;align-items:baseline;margin-bottom:35px}.section-title .label{color:#62625d}.section-title h2{margin-bottom:0}.research-pair{display:grid;grid-template-columns:1fr 1fr;gap:28px}.paper{padding:30px;border:1px solid #cecac0;display:flex;flex-direction:column;align-items:flex-start;background:#fff}.paper.patent{background:#efeee8}.paper-meta{display:flex;justify-content:space-between;gap:16px;width:100%;font-size:14px;color:#62625d}.paper-meta .label{color:#973a1f;font-size:13px}.paper h3{font:400 29px/1.3 Georgia,serif;margin:25px 0 18px}.paper p{font-size:16px}.paper-subtitle{color:#5d5d55}.paper .text-link{margin-bottom:20px}.paper .button{margin-top:auto}.paper details{border-top:1px solid #b6b3a8;margin-top:20px;width:100%;padding-top:10px}.paper details p{margin-top:15px}.record-note{color:#62625d;font-size:14px!important}.button{display:inline-block;border-radius:3px;background:var(--ink);color:white;padding:13px 19px;font-size:15px;font-weight:600;text-decoration:none}.button:hover{color:#fff;background:#393b37}.copy-link{display:block;border:0;background:none;color:inherit;text-decoration:underline;text-underline-offset:4px;font-size:14px;margin-top:12px;padding:8px 0;cursor:pointer}.split{display:grid;grid-template-columns:1fr 1.65fr;gap:70px}.split aside h2{margin-top:22px}.split aside .label{color:#62625d}.about .lead{font-family:Georgia,serif;font-size:29px}.about .split>div>p:not(.lead){color:#555551}.story-photo{margin:0 0 55px;aspect-ratio:2.7/1;overflow:hidden}.story-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:27% center}#journey{border-top:1px solid #d6d5cb}#education{border-top:1px solid #d6d5cb;padding-top:60px;padding-bottom:60px}.background-item p{color:#555551}.background-item h3{margin:10px 0}.background-item .label,.education .label{color:#62625d}.education>div{border-top:1px solid #c8c8c0;padding:22px 0 8px}.education h3{font-size:20px;margin:9px 0 5px}.education p{font-size:15px;color:#62625d}.contact .label{color:var(--muted)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.contact h2{margin:20px 0;font-size:clamp(42px,6vw,70px)}.contact h2 span{color:var(--accent)}.contact p{color:#bfc0b8}.contact .button{background:var(--accent);color:var(--ink)}footer{border-top:1px solid var(--line);padding:27px 0 35px;display:flex;justify-content:space-between;gap:20px;font-size:14px;color:#bfc0b8}footer>div{display:flex;gap:25px}footer a{text-decoration:none}.copy-status{display:none;position:fixed;bottom:18px;left:50%;transform:translateX(-50%);max-width:90%;padding:12px 18px;background:#fff;color:#191b1b;border:1px solid #cc643c;z-index:10;font-size:14px;overflow-wrap:anywhere}.copy-status.visible{display:block}
/* Research article */
.research-heading{padding-top:45px;padding-bottom:60px;max-width:1050px}.research-heading>.label{color:var(--accent);margin-top:35px;font-size:14px}.research-heading h1{font:400 clamp(34px,4.7vw,64px)/1.15 Georgia,serif;letter-spacing:-.035em;margin:24px 0;overflow-wrap:break-word}.research-subtitle{font-size:20px;color:#dedbd2;max-width:760px}.research-intro{font-size:25px;line-height:1.5;max-width:790px;margin:30px 0}.research-heading .button{background:var(--accent);color:var(--ink)}.publication-note{font-size:14px;color:#c3c3b9;max-width:720px;margin:18px 0 0}.research-reading{max-width:790px}.research-reading h2{font-size:clamp(30px,3.5vw,42px);margin-top:45px}.research-reading h2:first-of-type{margin-top:20px}.research-reading h3{margin:12px 0}.research-reading .label{font-size:14px;letter-spacing:1px}.research-questions{padding-left:25px}.research-questions li{padding-left:8px;margin:25px 0}.research-example{border-left:3px solid #b84420;background:#efeee8;padding:25px;margin:35px 0}.research-example p{margin-bottom:0}.research-source{border-top:1px solid #bbb8aa;margin-top:40px;padding-top:30px}.source-note{font-size:14px;margin-top:17px}
@media(max-width:900px){.hero{gap:30px}.work-intro,.split{gap:35px}.paper-meta{display:block}.paper-meta>span{display:block}.paper{padding:24px}}
@media(max-width:750px){header{flex-wrap:wrap;gap:15px;padding:18px 0;min-height:0}header nav{order:3;width:100%;justify-content:space-between;gap:14px}nav a,.social{font-size:14px}.social{margin-left:auto}.hero{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:28px 0 40px}.hero-copy{display:contents}.hero-top{order:0}.hero-top .label{font-size:12px;letter-spacing:.7px}.hero h1{order:1;font-size:clamp(48px,11vw,74px);margin:0}.hero h1>span{display:inline}.hero h1 br{display:none}.hero-portrait{order:2;aspect-ratio:5/4;max-height:420px}.hero-portrait img{object-position:center 25%}.hero-base{order:3}.hero-base p{font-size:18px;margin-bottom:18px}.section{padding:50px 0}.work-intro,.split,.research-pair,.contact-grid,.work-results,.evidence-case{grid-template-columns:1fr;gap:24px}.work-intro h2{margin-bottom:18px}.project-description{max-width:none}.lead{font-size:24px}.evidence-case{margin-top:10px}.evidence-case>div+div{border-top:1px solid var(--line);padding-top:23px}.section-title{display:block;margin-bottom:25px}.section-title h2{margin-top:18px}.paper h3{font-size:27px}.story-photo{aspect-ratio:2/1;margin-bottom:35px}.about .lead{font-size:26px}.split aside h2{margin-bottom:0}.contact h2{margin-bottom:0}.contact-grid{gap:15px}footer{flex-direction:column;gap:12px}.research-heading{padding-top:30px;padding-bottom:40px}.research-intro{font-size:22px}.research-example{padding:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Accessible hover colors on light sections and warm buttons. */
.about a:hover,.research a:hover{color:#973a1f}.about .button:hover,.research .button:hover{color:#fff;background:#393b37}.contact .button:hover,.research-heading .button:hover{color:#191b1b;background:#ffab82}

/* Secondary technical background follows education. */
.technical-small{margin-top:20px;padding-top:18px;border-top:1px solid #c8c8c0}.technical-small .label{font-size:12px}.technical-small h3{font-size:16px;margin:8px 0}.technical-small p{font-size:14px;line-height:1.6;margin-bottom:0}

/* Research-led homepage introduction. */
.hero-name{font-size:24px;font-weight:600;line-height:1.3;margin:0 0 10px;color:var(--paper)}.hero h1{font-size:clamp(38px,4.4vw,60px);line-height:1.12;letter-spacing:-.035em;margin:24px 0}.hero-actions{display:flex;flex-wrap:wrap;gap:14px 28px}.hero-copy{min-width:0}@media(max-width:750px){.hero-copy{display:block}.hero h1{font-size:clamp(36px,8.5vw,52px);margin:22px 0}.hero-top .label{font-size:13px}.hero-name{font-size:22px}}

.work-followup{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}.work-followup .byline{margin:12px 0 0}.research-reading .work-results{margin-bottom:36px}.research-reading .work-results h3{margin-top:0}.research-reading>h2{margin-top:42px}.research-reading>h2:first-child{margin-top:0}
.live-prototype-entry{padding-top:28px}.live-prototype-entry .button{display:inline-flex;align-items:center;gap:8px;background:var(--accent);color:var(--ink)}.live-prototype-entry .button:hover{background:#ffab82;color:var(--ink)}.live-prototype-entry .byline{margin-top:12px;max-width:680px}
