/* Shared design: edit colors, widths and type here */
:root{--ink:#242724;--muted:#636963;--line:#dce0da;--accent:#355c4b;--paper:#fff;--soft:#f7f8f5;--width:980px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.7 Georgia,'Times New Roman',serif}a{color:var(--accent);text-underline-offset:3px}a:hover{color:#193c2b}.container{width:min(calc(100% - 48px),var(--width));margin:auto}
.site-header{border-bottom:1px solid var(--line)}.header-inner{min-height:104px;display:flex;align-items:center;justify-content:space-between;gap:24px}.identity{text-decoration:none;color:var(--ink);line-height:1.25}.identity strong{display:block;font-size:25px;font-weight:normal;letter-spacing:-.5px}.identity small{display:block;font:12px/1.8 Arial,sans-serif;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted);margin-top:5px}
nav{display:flex;flex-wrap:wrap;gap:23px}nav a{font:14px/1.5 Arial,sans-serif;color:var(--muted);text-decoration:none}nav a[aria-current=page],nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:7px}
main{min-height:65vh}.hero{padding:100px 0 95px;max-width:800px}.eyebrow{font:12px/1.5 Arial,sans-serif;text-transform:uppercase;letter-spacing:2px;color:var(--accent);margin:0 0 22px}h1,h2,h3{font-weight:normal;line-height:1.18;letter-spacing:-.6px}h1{font-size:clamp(43px,6vw,68px);margin:0 0 27px}h2{font-size:31px;margin:0 0 19px}h3{font-size:22px;margin:0 0 8px}p{margin:0 0 19px}.lead{font-size:23px;line-height:1.55;color:#404840;max-width:740px}.intro{max-width:730px}.actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:34px;font:14px Arial,sans-serif}.page{padding:66px 0 90px}.page-title{margin-bottom:34px}.page-title h1{font-size:48px;margin-bottom:14px}.page-title p{max-width:700px;color:var(--muted)}.section{padding:32px 0;border-top:1px solid var(--line)}.section:first-of-type{border-top:0}.narrow{max-width:780px}.entry{display:grid;grid-template-columns:90px 1fr;gap:20px;margin:0 0 23px}.year{font:13px/1.8 Arial,sans-serif;color:var(--muted)}.entry p{margin:3px 0 0}.small{font-size:15px;color:var(--muted)}.list-plain{list-style:none;padding:0;margin:0}.list-plain li{padding:12px 0;border-bottom:1px solid var(--line)}.panel{padding:25px 28px;background:var(--soft);border-left:2px solid var(--accent);margin:28px 0}.button{display:inline-block;padding:12px 18px;border:1px solid var(--accent);text-decoration:none;font:14px Arial,sans-serif}.button:hover{background:var(--accent);color:white}.cv-frame{width:100%;height:740px;border:1px solid var(--line);margin-top:25px}.footer{border-top:1px solid var(--line);padding:25px 0;font:13px Arial,sans-serif;color:var(--muted)}.footer-inner{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.footer a{text-decoration:none}
@media(max-width:700px){.header-inner{align-items:flex-start;flex-direction:column;padding:20px 0;gap:17px}nav{gap:15px}.hero{padding:65px 0}.page{padding-top:45px}.entry{grid-template-columns:1fr;gap:0}.page-title h1{font-size:40px}.cv-frame{height:520px}}

/* Minimal editorial photo layouts */
.home-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(235px,.85fr);gap:48px;align-items:center}
.hero:has(.home-hero-grid){max-width:none;padding:75px 0 80px}
.home-portrait,.bookstore-photo,.journal-cover{margin:0}
.home-portrait img,.bookstore-photo img,.journal-cover img{display:block;width:100%;height:auto}
.home-portrait img{aspect-ratio:4/5;object-fit:cover;object-position:50% 30%}
.about-photo-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(250px,.85fr);gap:44px;align-items:start}
.bookstore-photo img{max-height:520px;object-fit:cover;object-position:center}
.research-publications{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:38px;align-items:start}
.journal-cover img{width:100%;height:auto;object-fit:contain}
@media(max-width:760px){.home-hero-grid,.about-photo-grid,.research-publications{grid-template-columns:1fr;gap:28px}.home-portrait{max-width:340px}.bookstore-photo,.journal-cover{max-width:280px}.hero:has(.home-hero-grid){padding:54px 0}}

/* Podcast artwork alongside public media link */
.podcast-entry-content{display:flex;align-items:center;gap:20px}
.podcast-cover-link{flex:0 0 136px;display:block}
.podcast-cover-link img{display:block;width:136px;height:136px;object-fit:cover;border:1px solid var(--line)}
.podcast-entry-content .small{margin:5px 0 0}
@media(max-width:480px){.podcast-entry-content{align-items:flex-start;gap:14px}.podcast-cover-link{flex-basis:100px}.podcast-cover-link img{width:100px;height:100px}}

/* Publication thumbnails: consistent media cards with official-site favicons */
.publication-cover-link{color:var(--ink);text-decoration:none}
.publication-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;width:136px;height:136px;border:1px solid var(--line);background:var(--soft);padding:13px;text-align:center}
.publication-cover img{display:block;width:62px;height:62px;object-fit:contain;border:0;background:transparent}
.publication-label{font:11px/1.25 Arial,sans-serif;color:var(--muted);font-weight:600}
.publication-cover-link:hover .publication-cover{border-color:var(--accent)}
@media(max-width:480px){.publication-cover{width:100px;height:100px;padding:8px;gap:5px}.publication-cover img{width:43px;height:43px}.publication-label{font-size:9px}}
