@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/source-sans-regular.ttf") format("truetype")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/source-sans-medium.ttf") format("truetype")}
@font-face{font-family:"Source Sans 3";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/source-sans-semibold.ttf") format("truetype")}
:root{--paper:#f7f6f2;--surface:#fff;--ink:#283633;--heading:#21352e;--muted:#73796f;--accent:#41654c;--spark:#bd5a3c;--line:#d9ddd2;--soft:#e8ece1;--highlight:#e4ecc7;color-scheme:light}
html[data-theme="night"]{--paper:#19221f;--surface:#222e28;--ink:#dce0d7;--heading:#f1efdf;--muted:#abb6a7;--accent:#bbd3ad;--spark:#e49a79;--line:#3b493f;--soft:#2d3b30;--highlight:#3d5037;color-scheme:dark}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Sans 3",Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--spark)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--spark);outline-offset:5px}button{font:inherit;cursor:pointer}p{margin:0 0 22px}h1,h2,h3{margin:0;font-weight:400;color:var(--heading);line-height:1.15}h1,h2,.brand,.lead,.contact>a{font-family:Georgia,'Times New Roman',serif}img,video{display:block;max-width:100%}.skip{position:fixed;top:-100px;left:20px;background:var(--surface);z-index:20;padding:12px}.skip:focus{top:15px}
.header{position:fixed;left:max(32px,calc((100vw - 1336px)/2));top:48px;bottom:35px;width:185px;display:flex;flex-direction:column;border-right:1px solid var(--line);padding-right:26px}.brand{position:relative;display:block;font-size:30px;line-height:1.06;letter-spacing:-1px}.brand>span{font-family:Arial,sans-serif;position:absolute;left:116px;top:4px;font-size:29px;color:var(--spark)}.rail-role{font-size:13px;line-height:1.5;margin:19px 0 41px;color:var(--muted)}nav{display:flex;flex-direction:column;gap:5px}nav a{display:flex;align-items:center;gap:14px;padding:11px 0;font-size:15px;line-height:1.2;color:var(--muted)}.nav-number{font-size:10px;color:var(--muted);letter-spacing:.5px}.nav-arrow{margin-left:auto;opacity:0;font-size:17px}nav a[aria-current]{color:var(--heading);font-weight:600}nav a[aria-current] .nav-number{color:var(--spark)}nav a[aria-current] .nav-arrow,nav a:hover .nav-arrow{opacity:1}.rail-bottom{margin-top:auto;display:flex;flex-direction:column;align-items:start;gap:19px;font-size:14px}.theme-toggle{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--muted);padding:0;font-size:12px}.theme-toggle[hidden]{display:none}.theme-icon{font-size:19px}
main,footer{width:calc(100% - 318px);max-width:1010px;margin-left:max(270px,calc((100vw - 1336px)/2 + 248px));margin-right:48px}main{padding-top:49px}footer{margin-top:40px;padding:22px 0 28px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer span span{color:var(--spark);margin-left:7px}.page-topline{display:flex;justify-content:space-between;gap:16px;font-family:"Source Sans 3",Arial,sans-serif;font-size:10px;letter-spacing:1.7px;color:var(--muted);line-height:1.4;padding-bottom:22px;border-bottom:1px solid var(--line)}.home-title{font-size:clamp(60px,6.5vw,93px);letter-spacing:-5px;margin:29px 0 34px}.title-dot{color:var(--spark)}
.home-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(220px,.85fr);gap:47px;padding-bottom:55px;align-items:start}.lead{font-size:clamp(26px,2.5vw,34px);line-height:1.3;letter-spacing:-.8px;margin:0 0 24px}.lead strong{font-weight:400;background:linear-gradient(transparent 64%,var(--highlight) 64%);padding:0 2px}.intro-content>p:not(.lead){font-size:16px;line-height:1.7;color:var(--ink)}.arrow-link{display:inline-flex;align-items:center;gap:50px;padding:9px 0;border-bottom:1px solid var(--spark);font-size:14px;margin-top:4px}.arrow-link span{color:var(--spark);font-size:22px}.portrait{margin:0;position:relative}.portrait:before{content:'';position:absolute;right:-11px;top:11px;width:100%;height:calc(100% - 32px);border:1px solid var(--line);z-index:-1}.portrait img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}.portrait figcaption{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);padding-top:12px}.portrait figcaption span:last-child{color:var(--spark);font-size:20px;line-height:1}
.bio-section,.personal-section{display:grid;grid-template-columns:155px minmax(0,1fr);gap:34px;padding:38px 0;border-top:1px solid var(--line)}.section-label>span{font-size:10px;letter-spacing:1px;color:var(--spark);display:block;margin-bottom:12px}.section-label h2{font-size:25px;line-height:1.2;letter-spacing:-.7px}.prose p,.personal-body>p{font-size:16px;line-height:1.8}.prose a,.personal-body>p a{border-bottom:1px solid var(--line);color:var(--accent)}.profile-links{display:flex;gap:10px 20px;flex-wrap:wrap;margin:27px 0 2px;font-size:13px}.profile-links a{border:0}.personal-links{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:29px}.personal-links>a{display:block}.preview-image{display:block;background:var(--soft);height:180px;overflow:hidden}.preview-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.personal-links>a:hover img{transform:scale(1.035)}.preview-title{display:flex;justify-content:space-between;font-family:Georgia,serif;font-size:25px;margin-top:14px;line-height:1.3}.preview-title>span{font-size:20px;color:var(--spark)}.preview-subtitle{display:block;font-size:12px;color:var(--muted);margin-top:4px}.contact{border-top:1px solid var(--line);padding:32px 0 0;display:flex;justify-content:space-between;align-items:center;gap:20px}.contact p{font-size:15px;margin:0;color:var(--muted)}.contact>a{font-size:31px;white-space:nowrap}.contact>a>span{font-size:27px;color:var(--spark);margin-left:18px}
.page-intro{padding-bottom:32px}.page-intro h1{font-size:clamp(48px,6vw,76px);letter-spacing:-3px;margin:29px 0 20px}.page-intro>p{font-size:19px;max-width:590px;color:var(--muted);line-height:1.55;margin-bottom:19px}.text-link{font-size:13px;border-bottom:1px solid var(--spark);padding-bottom:6px}.featured-papers{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin:5px 0 30px}.paper{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;padding:30px 0;border-top:1px solid var(--line)}.paper-media{position:relative;padding-top:22px}.paper-index{position:absolute;top:0;left:0;font-size:10px;color:var(--spark)}.paper-media img,.paper-media video{width:100%;aspect-ratio:16/10;object-fit:contain;background:var(--surface)}.paper-copy{font-size:12px;color:var(--muted);line-height:1.9}.paper-copy a{color:var(--accent)}.paper-copy strong{color:var(--ink)}.papertitle{display:inline-block;font-size:19px;line-height:1.3;color:var(--heading);font-weight:600;margin-bottom:10px;letter-spacing:-.2px}.paper-copy p{font-size:15px;line-height:1.65;margin:13px 0 0;color:var(--ink)}.paper-copy p:empty{display:none}.featured-papers .paper{display:flex;flex-direction:column;gap:20px;border:0;padding:0}.featured-papers .paper-media{width:100%}.featured-papers .paper-media video{aspect-ratio:16/10;object-fit:contain;background:#202822}.featured-papers .papertitle{font-family:Georgia,serif;font-size:25px;font-weight:400;line-height:1.22}
.about-row{display:grid;grid-template-columns:210px minmax(0,1fr);gap:30px;padding:31px 0;border-top:1px solid var(--line)}.about-row h2{font-size:25px;letter-spacing:-.5px}.about-row>div{font-size:15px;line-height:1.95}.about-row a{color:var(--accent)}.about-row table{width:100%}.about-row td{vertical-align:top;padding-right:20px}.about-row strong{font-size:13px;letter-spacing:.5px}.news{border-top:1px solid var(--line);padding:32px 0}.news h2{font-size:34px;letter-spacing:-1px;margin-bottom:26px}.news ul{list-style:none;margin:0;padding:0}.news li{display:grid;grid-template-columns:105px 1fr;gap:20px;padding:15px 0;font-size:15px;border-bottom:1px solid var(--line)}.news time{font-size:12px;color:var(--muted)}.news li a{color:var(--accent)}summary{cursor:pointer;color:var(--accent);font-size:14px;padding:18px 0}summary span{margin-left:12px}
.gallery{columns:2;column-gap:30px;padding-top:12px}.gallery-piece{display:block;break-inside:avoid;margin-bottom:35px}.gallery-piece img{width:100%;height:auto;background:var(--surface);padding:12px;box-shadow:0 2px 8px #25302008;border:1px solid var(--line);transition:transform .25s}.gallery-piece:hover img{transform:translateY(-4px)}.gallery-caption{display:flex;justify-content:space-between;padding:12px 0 0;font-size:11px;color:var(--muted);letter-spacing:.5px}.gallery-caption>span:last-child{color:var(--spark);font-size:17px}.page-books .gallery{columns:1}.page-books .gallery-piece{max-width:800px;margin-bottom:40px}.page-books .gallery-piece img{padding:20px;background:var(--soft)}
.image-dialog{width:min(1100px,94vw);max-height:94vh;padding:18px 24px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.image-dialog::backdrop{background:#101b19dc;backdrop-filter:blur(5px)}.viewer-toolbar,.viewer-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;font-size:13px}.viewer-toolbar{margin-bottom:15px}.viewer-controls{margin-top:15px}.image-dialog button{background:none;color:var(--ink);border:1px solid var(--line);padding:6px 12px;font-size:13px}.image-dialog button:hover{background:var(--soft)}.viewer-image{height:calc(90vh - 145px);max-height:740px;width:100%;object-fit:contain}.viewer-caption,.viewer-count{color:var(--muted)}
@media(min-width:1500px){main,footer{max-width:1088px}}@media(max-width:1100px){.header{left:25px;width:150px;padding-right:18px}.brand{font-size:27px}.brand>span{left:103px;font-size:23px}.rail-role{font-size:12px}nav a{font-size:13px;gap:10px}.nav-number{font-size:9px}main,footer{margin-left:210px;margin-right:30px;width:calc(100% - 240px)}.home-intro{gap:28px;grid-template-columns:minmax(0,1fr) 230px}.home-title{font-size:70px;letter-spacing:-3px}.lead{font-size:29px}.bio-section,.personal-section{grid-template-columns:120px minmax(0,1fr);gap:25px}.section-label h2{font-size:22px}.paper{grid-template-columns:190px minmax(0,1fr)}.about-row{grid-template-columns:160px minmax(0,1fr);gap:20px}.preview-image{height:145px}}
@media(max-width:800px){.header{position:static;width:calc(100% - 48px);margin:0 24px;padding:25px 0 17px;border:0;display:grid;grid-template-columns:1fr auto;gap:20px}.brand{font-size:25px;line-height:1;display:inline-block}.brand br{display:none}.brand>span{position:static;margin-left:9px;font-size:20px}.rail-role{display:none}nav{grid-column:1/-1;grid-row:2;flex-direction:row;gap:24px;border-top:1px solid var(--line);padding-top:12px}nav a{padding:3px 0;font-size:14px}.nav-number,.nav-arrow{display:none}nav a[aria-current]{border-bottom:1px solid var(--spark)}.rail-bottom{grid-column:2;grid-row:1;margin:0;align-self:center}.rail-bottom>a{display:none}.theme-label{display:none}.theme-toggle{padding:4px}.theme-icon{font-size:22px}main,footer{width:calc(100% - 48px);margin-left:24px;margin-right:24px}main{padding-top:19px}.page-topline{padding-bottom:17px;font-size:9px;letter-spacing:1.3px}.home-title{margin:25px 0 30px;font-size:68px}.home-intro{grid-template-columns:minmax(0,1fr) 225px;gap:30px}.lead{font-size:29px}.intro-content>p:not(.lead){font-size:15px}.bio-section,.personal-section{grid-template-columns:120px minmax(0,1fr);gap:24px}.paper{grid-template-columns:200px minmax(0,1fr)}.featured-papers{gap:22px}.about-row{grid-template-columns:180px minmax(0,1fr)}}
@media(max-width:560px){body{font-size:16px}.header,main,footer{width:calc(100% - 40px);margin-left:20px;margin-right:20px}.header{gap:17px;padding-top:24px}nav{gap:0;justify-content:space-between}nav a{font-size:12px}.page-topline{font-size:8px;letter-spacing:1px;gap:12px}.page-topline>span:last-child{text-align:right}.home-title{font-size:55px;letter-spacing:-2.8px;margin:24px 0 27px}.home-intro{display:flex;flex-direction:column;gap:28px;padding-bottom:32px}.lead{font-size:29px;line-height:1.3;max-width:360px}.intro-content>p:not(.lead){font-size:16px}.portrait{width:100%;max-width:330px;align-self:center}.portrait img{width:100%}.portrait:before{right:-7px;top:7px}.arrow-link{margin-top:0}.bio-section,.personal-section{grid-template-columns:1fr;gap:22px;padding:29px 0}.section-label{display:flex;align-items:baseline;gap:14px}.section-label>span{margin:0}.section-label h2{font-size:26px}.prose p,.personal-body>p{font-size:16px;line-height:1.75}.personal-links{gap:17px}.preview-image{height:150px}.preview-title{font-size:24px}.preview-subtitle{font-size:11px}.contact{align-items:start;flex-direction:column;gap:16px;padding-top:25px}.contact>a{font-size:32px}.page-intro{padding-bottom:26px}.page-intro h1{font-size:51px;letter-spacing:-2px;margin:25px 0 17px}.page-intro>p{font-size:17px}.featured-papers{grid-template-columns:1fr;gap:31px}.featured-papers .paper{gap:15px}.featured-papers .papertitle{font-size:26px}.paper{grid-template-columns:1fr;gap:16px;padding:26px 0}.paper-media img,.paper-media video{aspect-ratio:16/10}.paper-copy{font-size:13px}.about-row{grid-template-columns:1fr;gap:18px;padding:25px 0}.about-row h2{font-size:25px}.about-row td{font-size:13px;padding-right:12px}.news li{grid-template-columns:76px minmax(0,1fr);gap:13px;font-size:14px}.news time{font-size:11px}.gallery{columns:1}.gallery-piece{margin-bottom:27px}.page-books .gallery-piece img{padding:9px}.image-dialog{padding:12px;width:96vw}.image-dialog button{padding:6px 9px}.viewer-toolbar,.viewer-controls{gap:8px;font-size:12px}.viewer-image{height:65vh}.profile-links{gap:10px 22px;margin-top:21px}footer{margin-top:30px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}

/* A personal visual language: plum ink, clay accents, and artwork-like framing. */
:root{--paper:#fcf8f3;--surface:#fffdfa;--ink:#514852;--heading:#3d2940;--muted:#8a7885;--accent:#8b4b66;--spark:#b6593a;--line:#e7dcd7;--soft:#f3e5de;--highlight:#f2cdb8}
html[data-theme="night"]{--paper:#211c24;--surface:#2a2330;--ink:#d6cbd5;--heading:#f6e9e4;--muted:#b49eaf;--accent:#e0a7bb;--spark:#e9a280;--line:#493947;--soft:#392c37;--highlight:#5c3f4a}
body{font-size:17px}h1,h2,h3,.brand,.lead,.contact>a{font-family:"Source Sans 3",Arial,sans-serif}h1,h2,h3{font-weight:600}.header{position:static;inset:auto;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:27px;width:calc(100% - 80px);max-width:1160px;margin:0 auto;padding:25px 0 22px;border:0;border-bottom:1px solid var(--line)}.brand{display:inline-flex;align-items:center;gap:15px;font-size:16px;letter-spacing:0;line-height:1}.brand-initials{font-size:38px;font-weight:600;letter-spacing:-3px}.brand-initials>span{color:var(--spark)}.brand-full{font-size:14px;color:var(--muted)}.header>.theme-toggle{grid-column:3;grid-row:1}.theme-toggle{display:flex;width:33px;height:33px;padding:0;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:50%;color:var(--heading);background:transparent}.theme-toggle[hidden]{display:none}.theme-label{display:none}.theme-icon{font-size:20px}nav{grid-column:2;grid-row:1;display:flex;flex-direction:row;gap:24px;border:0;padding:0}nav a{font-size:14px;padding:8px 0;color:var(--muted);font-weight:400}nav a[aria-current]{color:var(--heading);border-bottom:2px solid var(--spark);font-weight:600}nav a:hover{color:var(--spark)}
main,footer{width:calc(100% - 80px);max-width:1050px;margin-left:auto;margin-right:auto}main{padding-top:0}footer{max-width:1160px;margin-top:25px}.home-intro{grid-template-columns:minmax(240px,.82fr) minmax(0,1.2fr);align-items:center;gap:85px;padding:62px 0 65px}.discipline{font-size:10px;letter-spacing:2px;color:var(--muted);margin-bottom:18px}.personal-name{font-size:clamp(64px,7.5vw,98px);font-weight:600;letter-spacing:-4px;line-height:.92;margin:0 0 26px}.personal-name>span{color:var(--spark)}.lead{font-size:26px;line-height:1.35;letter-spacing:-.4px;font-weight:400;margin-bottom:20px}.lead strong{font-weight:600;background:none;color:var(--spark);padding:0}.intro-content>p:not(.lead):not(.discipline){font-size:16px;line-height:1.75;margin-bottom:20px}.intro-content .discipline{font-size:10px;line-height:1.4}.arrow-link{background:var(--heading);color:var(--paper);border:0;border-radius:2px;padding:10px 18px;font-size:14px;gap:28px;margin-top:6px}.arrow-link span{color:var(--paper);font-size:19px}.arrow-link:hover{background:var(--accent);color:var(--paper)}.portrait{padding:15px 15px 0;background:var(--soft);margin:0;transform:rotate(-2deg);border-radius:45% 45% 2px 2px;align-self:center}.portrait:before{display:none}.portrait img{aspect-ratio:4/4.8;object-fit:cover;border-radius:45% 45% 1px 1px;width:100%;height:auto}.portrait figcaption{padding:15px 4px 17px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.4px;color:var(--ink)}.portrait figcaption span:last-child{font-size:18px;color:var(--spark)}
.bio-section,.personal-section{grid-template-columns:215px minmax(0,1fr);gap:60px;padding:43px 0}.section-label>span{font-size:9px;color:var(--muted);letter-spacing:2px;margin-bottom:17px}.section-label h2{font-size:29px;font-weight:600;letter-spacing:-.7px;line-height:1.1}.prose p,.personal-body>p{font-size:17px;line-height:1.8}.prose a,.personal-body>p a{color:var(--accent)}.earlier-background{margin:14px 0}.earlier-background summary{list-style:none;display:flex;justify-content:space-between;font-size:14px;font-weight:600;padding:12px 0;color:var(--heading)}.earlier-background summary::-webkit-details-marker{display:none}.earlier-background p{margin-top:14px}.profile-links{font-size:13px;margin-top:24px}.profile-links a{border-bottom:1px solid var(--line);padding-bottom:3px}.personal-links{gap:25px}.preview-image{height:220px;padding:10px;background:var(--soft)}.preview-image img{object-fit:cover}.preview-title{font-family:"Source Sans 3",Arial,sans-serif;font-weight:600;font-size:25px}.preview-subtitle{font-size:13px}.contact{padding:30px 0 25px}.contact>a{font-size:30px;font-weight:600}.contact p{font-size:16px}
.page-intro{padding:50px 0 37px}.page-intro h1{font-size:57px;letter-spacing:-2px;margin:0 0 19px}.page-intro>p{font-size:19px}.featured-papers{grid-template-columns:1fr;gap:32px}.featured-papers .paper{display:grid;grid-template-columns:1.05fr 1fr;gap:34px;align-items:center;background:var(--soft);padding:25px}.featured-papers .paper-media{padding:0}.featured-papers .paper-index{position:static;display:block;margin-bottom:12px;color:var(--accent)}.featured-papers .papertitle{font-family:"Source Sans 3",Arial,sans-serif;font-size:26px;font-weight:600;line-height:1.15}.paper-copy{font-size:13px}.paper-copy p{font-size:16px}.paper{grid-template-columns:220px minmax(0,1fr);gap:35px}.about-row{grid-template-columns:215px minmax(0,1fr);gap:60px}.about-row h2{font-size:26px}.about-row>div{font-size:16px}.news h2{font-size:32px;letter-spacing:-.6px}.gallery{column-gap:36px}.gallery-piece img{background:var(--surface);padding:16px;border:1px solid var(--line);box-shadow:4px 5px 0 var(--soft)}.gallery-caption{font-size:12px}.page-books .gallery{columns:2}.page-books .gallery-piece img{padding:12px;background:var(--surface)}
@media(max-width:1000px){.header{width:calc(100% - 48px);gap:20px}.brand-full{display:none}nav{gap:23px}main,footer{width:calc(100% - 64px)}.home-intro{gap:50px}.personal-name{font-size:78px}.lead{font-size:24px}.bio-section,.personal-section,.about-row{grid-template-columns:175px minmax(0,1fr);gap:35px}.preview-image{height:185px}}
@media(max-width:700px){.header{grid-template-columns:1fr auto;gap:20px;padding-top:20px}.header>.theme-toggle{grid-column:2}.brand-full{display:inline}nav{grid-column:1/-1;grid-row:2;justify-content:space-between;gap:18px;border-top:1px solid var(--line);padding-top:10px}nav a{font-size:13px}.home-intro{gap:32px;grid-template-columns:220px minmax(0,1fr);padding-top:40px}.personal-name{font-size:65px}.lead{font-size:22px}.discipline{letter-spacing:1px!important;font-size:9px!important}.intro-content>p:not(.lead):not(.discipline){font-size:15px}.bio-section,.personal-section,.about-row{grid-template-columns:140px minmax(0,1fr);gap:25px}.section-label h2{font-size:26px}.featured-papers .paper{grid-template-columns:1fr;gap:20px}.preview-image{height:150px}.page-books .gallery{columns:1}}
@media(max-width:560px){.header,main,footer{width:calc(100% - 40px);margin-left:20px;margin-right:20px}.brand{font-size:15px}.brand-initials{font-size:34px}.brand-full{font-size:13px}nav{gap:12px}nav a{font-size:12px}.home-intro{display:flex;flex-direction:column-reverse;gap:35px;padding:33px 0 38px}.personal-name{font-size:74px;line-height:.93;letter-spacing:-3px;margin-bottom:22px}.lead{font-size:26px;line-height:1.3;max-width:380px}.intro-content .discipline{font-size:9px!important;margin-bottom:17px}.intro-content>p:not(.lead):not(.discipline){font-size:16px}.portrait{max-width:310px;width:90%;align-self:center;padding:12px 12px 0}.portrait img{aspect-ratio:1}.portrait figcaption{font-size:10px;padding:13px 2px}.bio-section,.personal-section,.about-row{grid-template-columns:1fr;gap:22px;padding:30px 0}.section-label{display:block}.section-label>span{margin-bottom:10px}.section-label h2{font-size:29px}.prose p,.personal-body>p{font-size:16px;line-height:1.75}.preview-image{height:155px;padding:7px}.preview-title{font-size:23px}.preview-subtitle{font-size:11px}.contact{padding:27px 0 15px;gap:15px}.contact>a{font-size:29px}.page-intro{padding:32px 0 28px}.page-intro h1{font-size:45px;letter-spacing:-1.6px}.page-intro>p{font-size:17px}.featured-papers .paper{padding:16px}.featured-papers .papertitle{font-size:25px}.paper{grid-template-columns:1fr;gap:18px}.gallery-piece img{padding:10px}.page-books .gallery-piece img{padding:8px}}
.brand>.brand-initials{position:static;font-family:"Source Sans 3",Arial,sans-serif;font-size:38px;line-height:1;letter-spacing:-3px;color:var(--heading)}.brand>.brand-full{position:static;font-family:"Source Sans 3",Arial,sans-serif;font-size:14px;line-height:1;letter-spacing:0;color:var(--muted)}.intro-content>p.discipline{font-size:10px;line-height:1.4;letter-spacing:2px;margin-bottom:18px;color:var(--muted)}
@media(max-width:560px){.brand>.brand-initials{font-size:34px}.brand>.brand-full{font-size:13px}.intro-content>p.discipline{font-size:9px;letter-spacing:1px}}

/* A compact introduction and concrete work at a glance. */
.home-intro{grid-template-columns:240px minmax(0,1fr);gap:64px;padding:54px 0 48px;align-items:center}
.personal-name{font-size:clamp(42px,5.2vw,64px);letter-spacing:-2px;line-height:1.08;margin-bottom:21px}
.portrait{border-radius:120px 120px 3px 3px;padding:10px 10px 0;transform:rotate(-1.5deg)}
.portrait img{aspect-ratio:4/4.6;border-radius:110px 110px 2px 2px}
.portrait figcaption{font-size:10px;padding:12px 2px}
.intro-content>p.discipline{letter-spacing:1.2px;font-size:11px;margin-bottom:15px}
.lead{font-size:25px;max-width:620px;line-height:1.4}
.intro-content .profile-links{margin-top:22px;gap:10px 21px}
.bio-section,.personal-section,.selected-work{padding:38px 0}
.selected-work{display:grid;grid-template-columns:215px minmax(0,1fr);gap:60px;border-top:1px solid var(--line)}
.section-label h2{font-size:25px;line-height:1.2}
.section-more{display:inline-block;font-size:13px;color:var(--accent);margin-top:16px;border-bottom:1px solid var(--line)}
.work-entry{display:grid;grid-template-columns:30px 1fr;gap:15px;padding:23px 0;border-top:1px solid var(--line)}
.work-entry:first-child{padding-top:0;border:0}.work-number{font-size:11px;color:var(--spark);padding-top:4px}
.work-meta{font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}
.work-entry h3{font-size:23px;font-weight:600;line-height:1.3;margin:7px 0 9px;letter-spacing:-.3px}
.work-entry p{font-size:16px;line-height:1.65;color:var(--ink);margin-bottom:10px}
.work-project{font-size:13px;color:var(--accent)}.work-entry:hover h3{color:var(--spark)}
@media(max-width:1000px){.home-intro{gap:40px;grid-template-columns:210px minmax(0,1fr)}.selected-work{grid-template-columns:175px minmax(0,1fr);gap:35px}}
@media(max-width:700px){.home-intro{gap:28px;grid-template-columns:180px minmax(0,1fr)}.personal-name{font-size:42px}.lead{font-size:22px}.selected-work{grid-template-columns:140px minmax(0,1fr);gap:25px}}
@media(max-width:560px){.home-intro{display:flex;flex-direction:column-reverse;gap:28px;padding:31px 0}.personal-name{font-size:45px;letter-spacing:-1.7px}.lead{font-size:24px}.portrait{max-width:240px;width:75%}.portrait img{aspect-ratio:1}.selected-work{grid-template-columns:1fr;gap:25px;padding:30px 0}.section-label h2{font-size:26px}.section-more{margin-top:10px}.work-entry h3{font-size:22px}}

/* Keep the portrait unframed. */
.portrait{padding:0;background:transparent;transform:none;border-radius:0}
.portrait img{border-radius:4px;aspect-ratio:1;object-fit:cover}
.portrait figcaption{padding:12px 0 0}

/* Orange, blue, and teal accents, with readable day and night palettes. */
:root{--warp:#e66b12;--blue:#365dc1;--teal:#24776d;--tint-blue:#edf1fc;--tint-teal:#e8f3ed;--tint-orange:#fff0e1;--spark:#c45108;--accent:#365dc1}
html[data-theme="night"]{--warp:#ff9b45;--blue:#a0b7ff;--teal:#82cdbb;--tint-blue:#292c43;--tint-teal:#243934;--tint-orange:#423026;--spark:#ff9b45;--accent:#a0b7ff}
body{background-image:radial-gradient(ellipse 700px 420px at 95% 0%,var(--tint-orange),transparent 85%);background-repeat:no-repeat}
.lead strong{color:var(--warp)}
.brand-initials>span{color:var(--warp)}
nav a[aria-current]{border-bottom-color:var(--warp)}
.intro-content .profile-links{gap:9px}
.profile-links a{padding:5px 11px;border:1px solid transparent;border-radius:5px;background:var(--tint-blue);color:var(--blue);transition:background .18s,border-color .18s}
.profile-links a:nth-child(3n+2){background:var(--tint-teal);color:var(--teal)}
.profile-links a:nth-child(3n+1){background:var(--tint-orange);color:var(--warp)}
.profile-links a:hover{border-color:currentColor}
.section-label h2::before{content:"";display:block;width:28px;height:4px;border-radius:2px;margin-bottom:15px;background:var(--warp)}
.selected-work .section-label h2::before{background:var(--blue)}
.personal-section .section-label h2::before{background:var(--teal)}
.work-number{color:var(--blue);font-weight:600}
.work-meta{color:var(--blue)}
.work-entry:nth-child(2) .work-number,.work-entry:nth-child(2) .work-meta{color:var(--teal)}
.work-entry:nth-child(3) .work-number,.work-entry:nth-child(3) .work-meta{color:var(--warp)}
.personal-links>a:first-child .preview-image{background:var(--tint-orange)}
.personal-links>a:last-child .preview-image{background:var(--tint-teal)}
.personal-links>a:first-child .preview-title{color:var(--warp)}
.personal-links>a:last-child .preview-title{color:var(--teal)}
.featured-papers .paper:first-child{background:var(--tint-blue)}
.featured-papers .paper:nth-child(2){background:var(--tint-teal)}
.page-art .page-intro h1{color:var(--warp)}
.page-books .page-intro h1{color:var(--teal)}
.page-research .page-intro h1,.news time{color:var(--blue)}
.contact>a{color:var(--warp)}
::selection{background:var(--tint-orange);color:var(--warp)}

/* Homepage previews use a painting and individual covers from the reading archive. */
.personal-links .thumbnail-art{padding:0;border-radius:5px;overflow:hidden}
.thumbnail-art img{object-position:50% 44%}
.personal-links .thumbnail-books{position:relative;display:flex;align-items:center;justify-content:center;gap:5%;padding:22px 18px;border-radius:5px;background:var(--tint-teal);overflow:hidden}
.thumbnail-books::after{content:"";position:absolute;left:8%;right:8%;bottom:16%;height:3px;background:var(--teal);opacity:.25}
.book-cover{position:relative;z-index:1;display:block;width:28%;aspect-ratio:218/315;background-repeat:no-repeat;border-radius:2px 4px 4px 2px;box-shadow:3px 5px 9px #0003;transition:transform .25s}
.cover-feynman{background-image:url("books/books_2.jpg");background-size:421.1% 396.8%;background-position:50.57% 2.14%;transform:rotate(-9deg) translateY(3px)}
.cover-cosmos{background-image:url("books/books_2.jpg");background-size:421.1% 396.8%;background-position:50.57% 47.59%;transform:translateY(-7px)}
.cover-suns{background-image:url("books/books_4.jpg");background-size:436.7% 286.15%;background-position:50% 7.58%;transform:rotate(9deg) translateY(3px)}
.personal-links>a:hover .cover-feynman{transform:rotate(-12deg) translateY(-3px)}
.personal-links>a:hover .cover-cosmos{transform:translateY(-13px)}
.personal-links>a:hover .cover-suns{transform:rotate(12deg) translateY(-3px)}
@media(max-width:560px){.personal-links .thumbnail-books{padding:15px 10px;gap:5%}.thumbnail-books::after{bottom:22%}}

/* Three real artworks, arranged like the neighbouring book covers. */
.personal-links .painting-stack{display:flex;align-items:center;justify-content:center;gap:3%;padding:22px 18px;background:var(--tint-orange);overflow:hidden}
.painting-stack img{width:29%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center;border:4px solid var(--surface);border-radius:2px;box-shadow:3px 5px 9px #0003;transition:transform .25s}
.painting-stack img:nth-child(1){transform:rotate(-9deg) translateY(4px)}
.painting-stack img:nth-child(2){z-index:1;transform:translateY(-7px)}
.painting-stack img:nth-child(3){transform:rotate(9deg) translateY(4px)}
.personal-links>a:hover .painting-stack img:nth-child(1){transform:rotate(-12deg) translateY(-2px)}
.personal-links>a:hover .painting-stack img:nth-child(2){transform:translateY(-13px)}
.personal-links>a:hover .painting-stack img:nth-child(3){transform:rotate(12deg) translateY(-2px)}
@media(max-width:560px){.personal-links .painting-stack{padding:15px 10px}.painting-stack img{border-width:2px}}

/* A restrained palette: warm neutrals with orange as the single accent. */
:root{--blue:#625b58;--teal:#625b58;--tint-blue:#f1ece6;--tint-teal:#f1ece6;--tint-orange:#fff0e1;--accent:#a94c14}
html[data-theme="night"]{--blue:#c6bbb5;--teal:#c6bbb5;--tint-blue:#302b2b;--tint-teal:#302b2b;--tint-orange:#423026;--accent:#ff9b45}
.profile-links a,.profile-links a:nth-child(3n+1),.profile-links a:nth-child(3n+2){background:var(--tint-blue);color:var(--ink)}
.section-label h2::before,.selected-work .section-label h2::before,.personal-section .section-label h2::before{background:var(--warp)}
.work-number,.work-entry:nth-child(2) .work-number,.work-entry:nth-child(3) .work-number{color:var(--accent)}
.work-meta,.work-entry:nth-child(2) .work-meta,.work-entry:nth-child(3) .work-meta{color:var(--muted)}
.personal-links>a:first-child .preview-title,.personal-links>a:last-child .preview-title{color:var(--heading)}
.personal-links .painting-stack,.personal-links .thumbnail-books{background:var(--tint-blue)}
.featured-papers .paper:first-child,.featured-papers .paper:nth-child(2){background:var(--tint-blue)}
.page-art .page-intro h1,.page-books .page-intro h1,.page-research .page-intro h1{color:var(--heading)}
.news time{color:var(--muted)}

/* Newsreader for personality; Inter for reading and navigation. */
@font-face{font-family:Newsreader;src:url("fonts/newsreader-variable.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:Inter;src:url("fonts/inter-regular.ttf") format("truetype");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Inter;src:url("fonts/inter-medium.ttf") format("truetype");font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Inter;src:url("fonts/inter-semibold.ttf") format("truetype");font-style:normal;font-weight:600;font-display:swap}
body{font-family:Inter,Arial,sans-serif;font-size:16px;font-optical-sizing:auto;line-height:1.75}
h1,h2,.preview-title,.contact>a{font-family:Newsreader,Georgia,serif;font-weight:400;font-optical-sizing:auto}
.personal-name{font-family:Newsreader,Georgia,serif;font-size:clamp(48px,6vw,72px);line-height:1.05;font-weight:450;letter-spacing:-2.3px;margin-bottom:24px}
.lead{font-family:Inter,Arial,sans-serif;font-size:23px;line-height:1.5;font-weight:400;letter-spacing:-.6px}
.lead strong{font-weight:600}
.intro-content>p:not(.lead):not(.discipline){font-size:15px;line-height:1.85}
.prose p,.personal-body>p{font-size:15px;line-height:1.85;letter-spacing:-.12px}
.section-label h2{font-size:31px;line-height:1.12;letter-spacing:-.6px}
.work-entry h3,.papertitle,.featured-papers .papertitle{font-family:Inter,Arial,sans-serif;font-size:20px;font-weight:500;line-height:1.45;letter-spacing:-.5px}
.work-entry p,.paper-copy p{font-size:14px;line-height:1.85}
.work-meta{font-size:10px;letter-spacing:1.25px}
nav a{font-size:12px;letter-spacing:-.1px}
.profile-links{font-size:11px}.preview-title{font-family:Newsreader,Georgia,serif;font-size:30px;font-weight:400;letter-spacing:-.6px}
.preview-subtitle{font-size:11px}.contact>a{font-size:34px;letter-spacing:-.8px}
.page-intro h1{font-size:64px;letter-spacing:-1.8px;font-weight:400}
.page-intro>p{font-size:17px;line-height:1.8}
.about-row h2,.news h2{font-family:Newsreader,Georgia,serif;font-weight:400;letter-spacing:-.5px}
.brand>.brand-initials{font-family:Newsreader,Georgia,serif;font-size:40px;font-weight:500;letter-spacing:-2px}
.brand>.brand-full{font-family:Inter,Arial,sans-serif;font-size:12px}
@media(max-width:700px){nav a{font-size:12px}.personal-name{font-size:52px}.lead{font-size:21px}}
@media(max-width:560px){.personal-name{font-size:51px;letter-spacing:-1.7px}.lead{font-size:22px;line-height:1.5}nav a{font-size:10px}.section-label h2{font-size:31px}.intro-content>p:not(.lead):not(.discipline),.prose p,.personal-body>p{font-size:14px;line-height:1.85}.work-entry h3{font-size:18px}.page-intro h1{font-size:52px}.preview-title{font-size:27px}.brand>.brand-initials{font-size:36px}}

/* Manrope: one family, with weight and scale defining the hierarchy. */
@font-face{font-family:Manrope;src:url("fonts/manrope-variable.ttf") format("truetype");font-style:normal;font-weight:200 800;font-display:swap}
body,h1,h2,h3,.brand,.lead,.contact>a,.preview-title,.personal-name,.page-intro h1,.about-row h2,.news h2,.work-entry h3,.papertitle,.featured-papers .papertitle,.brand>.brand-initials,.brand>.brand-full{font-family:Manrope,Arial,sans-serif}
body{font-weight:400}
.personal-name{font-size:clamp(46px,5.5vw,66px);font-weight:650;line-height:1.12;letter-spacing:-2.6px}
.lead{font-size:23px;font-weight:450;line-height:1.55;letter-spacing:-.6px}
.section-label h2{font-size:26px;line-height:1.25;font-weight:650;letter-spacing:-.8px}
.page-intro h1{font-size:58px;font-weight:650;letter-spacing:-2px}
.preview-title{font-size:25px;font-weight:600;letter-spacing:-.7px}
.contact>a{font-size:30px;font-weight:600;letter-spacing:-1px}
.about-row h2,.news h2{font-weight:600}
.work-entry h3,.papertitle,.featured-papers .papertitle{font-weight:600;letter-spacing:-.45px}
.brand>.brand-initials{font-size:36px;font-weight:700;letter-spacing:-2.6px}
@media(max-width:700px){.personal-name{font-size:49px}.lead{font-size:21px}}
@media(max-width:560px){.personal-name{font-size:43px;letter-spacing:-1.8px}.lead{font-size:21px}.section-label h2{font-size:25px}.page-intro h1{font-size:46px}.preview-title{font-size:23px}}

.intro-quote{margin:23px 0 25px;padding:0 0 0 17px;border-left:2px solid var(--warp)}
.intro-quote p{font-size:18px;line-height:1.6;letter-spacing:-.2px;color:var(--ink);margin:0 0 7px}
.intro-quote cite{font-size:11px;font-style:normal;color:var(--muted)}
.intro-quote cite a{border-bottom:1px solid var(--line)}
@media(max-width:560px){.intro-quote p{font-size:17px}}

/* The reading archive as individual front covers. */
.bookshelf-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 35px;padding:8px 0 30px}
.shelf-book{min-width:0;margin:0}
.shelf-cover{width:100%;aspect-ratio:var(--cover-ratio,2/3);background-image:var(--cover-image);background-size:var(--cover-size,cover);background-position:var(--cover-position,center);background-repeat:no-repeat;border-radius:3px 6px 6px 3px;box-shadow:2px 5px 12px #0003;transition:transform .2s;overflow:hidden}
.shelf-book:hover .shelf-cover{transform:translateY(-5px)}
.shelf-book h2{font-family:Manrope,Arial,sans-serif;font-size:14px;font-weight:600;letter-spacing:-.2px;line-height:1.5;margin:15px 0 5px}
.shelf-book p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}
@media(max-width:900px){.bookshelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 25px}}
@media(max-width:560px){.bookshelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px}.shelf-book h2{font-size:12px}.shelf-book p{font-size:10px}}

/* Compact shelves, with subject filters and a title/author search. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.shelf-tools{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;flex-wrap:wrap}
.shelf-tools[hidden],.shelf-section[hidden],.shelf-book[hidden]{display:none}
.shelf-filters{display:flex;gap:6px;flex-wrap:wrap}
.shelf-filters button{border:1px solid var(--line);border-radius:20px;padding:6px 13px;background:transparent;color:var(--muted);font-size:12px;line-height:1.5}
.shelf-filters button[aria-pressed="true"]{background:var(--tint-orange);color:var(--accent);border-color:var(--accent)}
.shelf-filters button:hover{color:var(--heading)}
.shelf-search input{font:inherit;font-size:12px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);padding:9px 2px;width:205px;border-radius:0}
.shelf-search input:focus{outline:2px solid var(--warp);outline-offset:4px}
.shelf-count{font-size:11px;color:var(--muted);margin:0 0 30px}
.shelf-section{border-top:1px solid var(--line);padding:25px 0 12px}
.shelf-heading{display:flex;align-items:baseline;gap:20px;justify-content:space-between;margin-bottom:25px}
.shelf-heading h2{font-family:Manrope,Arial,sans-serif;font-size:19px;letter-spacing:-.5px;font-weight:600}
.shelf-heading p{font-size:11px;color:var(--muted);margin:0}
.bookshelf-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px 25px;padding:0 0 25px}
.shelf-cover{max-width:112px;margin:0 auto;box-shadow:3px 5px 10px #0004}
.shelf-book{position:relative;padding-bottom:14px;border-bottom:2px solid var(--line)}
.shelf-book h2{font-size:11px;line-height:1.5;margin-top:13px;letter-spacing:0}
.shelf-book p{font-size:10px;line-height:1.6}
@media(max-width:1000px){.bookshelf-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:25px 22px}}
@media(max-width:700px){.bookshelf-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:25px 20px}.shelf-heading{align-items:start;flex-direction:column;gap:6px}}
@media(max-width:560px){.bookshelf-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 17px}.shelf-cover{max-width:95px}.shelf-book h2{font-size:10px}.shelf-book p{font-size:9px}.shelf-filters button{font-size:11px;padding:5px 11px}.shelf-tools{gap:15px}.shelf-search,.shelf-search input{width:100%}.shelf-heading h2{font-size:18px}}

/* A personal introduction, visual research, and a compact reading catalog. */
body{background-image:none}
.page-index .home-intro{grid-template-columns:minmax(0,1fr) 245px;gap:70px;align-items:start;padding:60px 0 50px}
.page-index .intro-content{grid-column:1;grid-row:1}
.page-index .portrait{grid-column:2;grid-row:1;width:100%;max-width:none;align-self:start;margin-top:9px}
.page-index .personal-name{font-size:clamp(48px,6vw,76px);letter-spacing:-3px;line-height:1.05;margin-bottom:24px}
.page-index .lead{font-size:24px;max-width:610px;margin-bottom:20px}
.page-index .home-background{margin-top:29px;border-top:1px solid var(--line);padding-top:24px}
.home-background p{font-size:14px;line-height:1.9;margin-bottom:14px}
.home-background a{color:var(--accent);text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.home-background .earlier-background{margin-bottom:0}
.home-background summary{padding-bottom:0}
.page-index .intro-quote{border:0;padding:0;margin:24px 0 0}
.page-index .intro-quote p{font-size:15px;line-height:1.7}
.page-index .intro-quote cite{font-size:10px}
.page-index .profile-links a{background:transparent;border:0;padding:0 0 3px;border-bottom:1px solid var(--line);border-radius:0;color:var(--ink)}
.page-index .profile-links{gap:12px 20px}
.page-index .selected-work{display:block;padding:32px 0 42px}
.page-index .selected-work>.section-label{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:28px}
.page-index .section-label h2::before{display:none}
.page-index .section-more{margin:0}
.page-index .work-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}
.page-index .work-entry,.page-index .work-entry:first-child{display:block;padding:0;border:0;min-width:0}
.home-paper-media{width:100%;height:auto;aspect-ratio:16/10;object-fit:contain;background:var(--soft);border-radius:3px;margin-bottom:18px}
.page-index .work-entry h3{font-size:15px;line-height:1.5;letter-spacing:-.25px;margin:9px 0}
.page-index .work-entry p{font-size:12px;line-height:1.8}
.page-index .work-project{font-size:11px;display:inline-block;margin-top:5px}
.page-index .work-meta{font-size:9px}
.page-index .personal-section{grid-template-columns:1fr 1.25fr;gap:65px;padding:35px 0 40px}
.page-index .personal-section .section-label>p{font-size:14px;line-height:1.9;margin:20px 0 0}
.page-index .personal-section .section-label>p a{color:var(--accent);border-bottom:1px solid var(--line)}
.page-index .personal-links{margin-top:0;gap:20px}
.page-index .preview-image{height:165px}
.page-index .preview-title{font-size:21px}
.reading-layout{display:grid;grid-template-columns:170px minmax(0,1fr);gap:48px;align-items:start;padding:5px 0 35px}
.reading-layout .shelf-tools{position:sticky;top:30px;display:flex;flex-direction:column;align-items:stretch;gap:24px;margin:0}
.reading-layout .shelf-tools[hidden]{display:none}
.reading-layout .shelf-search input{width:100%;font-size:11px}
.reading-layout .shelf-filters{display:flex;flex-direction:column;gap:3px}
.reading-layout .shelf-filters button{border:0;border-left:2px solid transparent;border-radius:0;padding:9px 12px;text-align:left;background:transparent;color:var(--muted)}
.reading-layout .shelf-filters button[aria-pressed="true"]{border-left-color:var(--warp);color:var(--heading);background:var(--tint-blue)}
.reading-layout .shelf-count{font-size:10px;line-height:1.7;margin:0}
.reading-layout .shelf-section{padding:0 0 22px;border-top:0}
.reading-layout .shelf-heading{display:grid;grid-template-columns:22px 1fr;column-gap:12px;row-gap:4px;align-items:baseline;border-bottom:1px solid var(--line);padding:0 0 16px;margin-bottom:10px}
.catalog-section-number{font:10px monospace;color:var(--warp)}
.reading-layout .shelf-heading h2{font-size:18px}
.reading-layout .shelf-heading p{grid-column:2;font-size:10px}
.reading-layout .bookshelf-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;padding-bottom:15px}
.reading-layout .shelf-book{display:grid;grid-template-columns:64px minmax(0,1fr);gap:17px;padding:19px 0;border-bottom:1px solid var(--line);align-items:center}
.reading-layout .shelf-cover{max-width:64px;width:100%;margin:0;box-shadow:2px 3px 6px #0003}
.catalog-number{font:9px monospace;color:var(--muted);display:block;margin-bottom:7px}
.reading-layout .shelf-book h2{font-size:12px;line-height:1.5;margin:0 0 6px}
.reading-layout .shelf-book p{font-size:10px;line-height:1.65}
.reading-layout .shelf-book[hidden]{display:none}
.page-books .page-intro{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:end;padding:48px 0 45px}
.page-books .page-intro h1{font-size:64px;letter-spacing:-2.5px;margin:0}
.page-books .page-intro>p{font-size:14px;max-width:330px;margin:0;justify-self:end}
@media(max-width:1000px){.page-index .home-intro{grid-template-columns:minmax(0,1fr) 210px;gap:45px}.page-index .personal-name{font-size:57px}.page-index .personal-section{gap:35px}.reading-layout{grid-template-columns:140px minmax(0,1fr);gap:30px}.reading-layout .shelf-book{grid-template-columns:54px minmax(0,1fr);gap:12px}.reading-layout .bookshelf-grid{gap:0 22px}}
@media(max-width:700px){.page-index .home-intro{grid-template-columns:minmax(0,1fr) 180px;gap:30px}.page-index .personal-name{font-size:47px}.page-index .lead{font-size:21px}.page-index .work-list{gap:18px}.reading-layout{grid-template-columns:1fr;gap:25px}.reading-layout .shelf-tools{position:static;display:grid;grid-template-columns:1fr auto;gap:15px}.reading-layout .shelf-filters{flex-direction:row;grid-column:1/-1;grid-row:1;flex-wrap:wrap}.reading-layout .shelf-filters button{border:0;border-bottom:2px solid transparent;padding:7px 10px}.reading-layout .shelf-filters button[aria-pressed="true"]{border-bottom-color:var(--warp)}.reading-layout .shelf-count{align-self:center}.page-books .page-intro{padding:30px 0;gap:20px}.page-books .page-intro h1{font-size:49px}}
@media(max-width:560px){.page-index .home-intro{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:22px;padding:30px 0}.page-index .intro-content{display:contents}.page-index .personal-name{grid-column:1;grid-row:1;font-size:40px;letter-spacing:-1.8px;align-self:center;margin:0}.page-index .portrait{grid-column:2;grid-row:1;margin:0;display:contents}.page-index .portrait img{grid-column:2;grid-row:1;width:100px;align-self:center}.page-index .lead{grid-column:1/-1;grid-row:2;font-size:23px;margin:0}.page-index .profile-links{grid-column:1/-1;grid-row:3;margin:0}.page-index .home-background{grid-column:1/-1;grid-row:4;margin:0;padding-top:22px}.page-index .intro-quote{grid-column:1/-1;grid-row:5;margin:0;padding-top:18px;border-top:1px solid var(--line)}.page-index .intro-quote p{font-size:14px}.page-index .work-list{grid-template-columns:1fr;gap:30px}.page-index .work-entry{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px}.page-index .work-entry:first-child{display:grid}.home-paper-media{margin:0}.page-index .work-entry h3{font-size:13px}.page-index .work-entry p{font-size:11px}.page-index .personal-section{grid-template-columns:1fr;gap:25px}.page-index .preview-image{height:150px}.page-books .page-intro{grid-template-columns:1fr;gap:15px}.page-books .page-intro>p{justify-self:start;max-width:100%;font-size:13px}.reading-layout .bookshelf-grid{grid-template-columns:1fr}.reading-layout .shelf-book{grid-template-columns:58px minmax(0,1fr);gap:18px;padding:15px 0}.reading-layout .shelf-book h2{font-size:13px}.reading-layout .shelf-book p{font-size:11px}.catalog-number{margin-bottom:4px}}

.industry-highlights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px;margin-bottom:35px}
.page-index .industry-highlights .blog-entry{display:grid;grid-template-columns:125px minmax(0,1fr);gap:19px;padding:0 0 26px;border-bottom:1px solid var(--line)}
.page-index .industry-highlights .blog-entry .home-paper-media{margin:0;width:100%;aspect-ratio:4/3;object-fit:cover}
.page-index .industry-highlights .blog-entry h3{margin-top:8px}
.blog-credit{font-size:9px;line-height:1.7;color:var(--muted);display:block}
.blog-footer .work-project{margin-top:10px}
.research-group-label{font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin:0 0 22px}
@media(max-width:1000px){.page-index .industry-highlights .blog-entry{grid-template-columns:95px minmax(0,1fr);gap:16px}}
@media(max-width:700px){.industry-highlights{grid-template-columns:1fr;gap:25px}.page-index .industry-highlights .blog-entry{grid-template-columns:135px minmax(0,1fr)}}
@media(max-width:560px){.page-index .industry-highlights .blog-entry{grid-template-columns:110px minmax(0,1fr);gap:18px}.industry-highlights{margin-bottom:30px}}

/* One compact selection of company research and academic papers. */
.compact-research{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:34px}
.research-note{display:grid;grid-template-columns:88px minmax(0,1fr);gap:17px;padding:19px 0;border-bottom:1px solid var(--line);align-items:start;min-width:0}
.research-note>a{display:block;margin-top:3px}
.research-note .home-paper-media{width:88px;height:67px;aspect-ratio:auto;object-fit:cover;background:var(--soft);margin:0;border-radius:3px}
.research-note:last-child .home-paper-media{object-fit:contain}
.research-note .work-meta{font-size:9px;letter-spacing:.6px;color:var(--muted)}
.research-note h3{font-size:13px;line-height:1.5;font-weight:600;letter-spacing:-.2px;margin:5px 0 7px}
.research-note h3 a:hover{color:var(--warp)}
.research-note p{font-size:11px;line-height:1.7;margin:0;color:var(--ink)}
.research-note>a img{transition:transform 180ms ease}
.research-note>a:hover img{transform:translateY(-2px)}
@media(max-width:700px){.compact-research{grid-template-columns:1fr}.research-note{grid-template-columns:82px minmax(0,1fr);gap:17px}.research-note .home-paper-media{width:82px;height:63px}.research-note h3{font-size:13px}}

/* Quiet static previews with consistent, readable rows. */
.compact-research{grid-template-columns:1fr}
.research-note{grid-template-columns:112px minmax(0,1fr);gap:23px;padding:18px 0;align-items:center}
.research-note .home-paper-media{width:112px;height:76px;object-fit:cover}
.research-note h3{font-size:15px;line-height:1.45;margin:5px 0 6px}
.research-note p{font-size:12px;line-height:1.7;max-width:670px}
.research-note .work-meta{font-size:9px}
@media(max-width:560px){.research-note{grid-template-columns:80px minmax(0,1fr);gap:17px;align-items:start}.research-note .home-paper-media{width:80px;height:61px}.research-note h3{font-size:12px}.research-note p{font-size:11px}}

.research-note.research-note-text{display:block;padding-left:135px}
@media(max-width:560px){.research-note.research-note-text{padding-left:0}}

/* Publications as concise bibliographic entries. */
.publication-list{padding-bottom:15px}
.publication{padding:25px 0;border-top:1px solid var(--line)}
.publication-title{font-family:Manrope,Arial,sans-serif;font-size:18px;font-weight:600;line-height:1.5;letter-spacing:-.3px;margin:0 0 10px;max-width:930px}
.publication-title a:hover{color:var(--warp)}
.publication-authors{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 6px}
.publication-authors a:hover{color:var(--heading)}
.publication-authors strong{color:var(--ink);font-weight:600}
.publication-venue{font-size:12px;line-height:1.85;color:var(--accent);margin:0}
.publication-venue em{font-style:normal}
@media(max-width:560px){.publication{padding:22px 0}.publication-title{font-size:16px}.publication-authors{font-size:12px}.publication-venue{font-size:11px}}

.publication-links{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:12px;font-size:11px;line-height:1.6}
.publication-links a{color:var(--accent);border-bottom:1px solid var(--line);padding-bottom:2px;transition:color .15s,border-color .15s}
.publication-links a:hover{color:var(--warp);border-bottom-color:var(--warp)}
