:root{
  --ink:#17212b;
  --ink-2:#293642;
  --muted:#697681;
  --paper:#fbfaf7;
  --white:#ffffff;
  --line:#ddd9d0;
  --accent:#8d2f3b;
  --accent-dark:#6f222d;
  --soft:#f0eee8;
  --soft-2:#e7e4dc;
  --max:1180px;
  --serif:"Libre Baskerville", Georgia, serif;
  --sans:"DM Sans", Inter, system-ui, sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}
a{color:var(--accent);text-decoration:none;border-bottom:1px solid transparent;transition:.18s ease}
a:hover{border-bottom-color:currentColor;color:var(--accent-dark)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(251,250,247,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(221,217,208,.9)}
.nav-wrap{max-width:var(--max);margin:auto;min-height:76px;padding:0 30px;display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--serif);font-weight:700;color:var(--ink);font-size:1rem;letter-spacing:-.01em}
.brand span{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:9px;border-radius:50%;background:var(--ink);color:#fff;font:700 .65rem var(--sans);letter-spacing:.03em}
nav{display:flex;gap:27px;align-items:center}
nav a{font-size:.73rem;text-transform:uppercase;letter-spacing:.13em;color:var(--muted);font-weight:700}
nav a:hover{color:var(--accent);border-bottom-color:transparent}
.menu-toggle{display:none;border:0;background:none;font-size:1.5rem;color:var(--ink);cursor:pointer}
.hero{background:linear-gradient(110deg,#f4f1e9 0%,#fbfaf7 62%);border-bottom:1px solid var(--line);overflow:hidden}
.hero-grid{max-width:var(--max);min-height:calc(100vh - 76px);margin:auto;padding:85px 30px 100px;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.65fr);gap:70px;align-items:center}
.hero-copy{max-width:780px}
.eyebrow,.aside-kicker{font-size:.69rem;text-transform:uppercase;letter-spacing:.18em;color:var(--accent);font-weight:800;margin:0 0 19px}
h1,h2,h3{font-family:var(--serif);line-height:1.17}
h1{font-size:clamp(4rem,9vw,8.3rem);font-weight:400;letter-spacing:-.07em;margin:0 0 26px}
h1 em{color:var(--accent);font-style:italic}
.hero-role{font:1.35rem/1.45 var(--serif);margin:0 0 22px;color:var(--ink-2)}
.hero-role strong{font-weight:400}
.hero-intro{font-size:1rem;max-width:650px;color:#53616c;margin:0 0 32px}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap}
.button{display:inline-flex;align-items:center;padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.7);font-size:.75rem;font-weight:800;letter-spacing:.04em;color:var(--ink)}
.button.primary{background:var(--accent);border-color:var(--accent);color:#fff}
.button:hover{border-color:var(--accent);background:#fff;color:var(--accent)}
.button.primary:hover{background:var(--accent-dark);color:#fff}
.hero-aside{align-self:end;border-top:2px solid var(--ink);padding-top:22px;max-width:340px;margin-bottom:8vh}
.hero-aside h2{font-size:2rem;font-weight:400;margin:0 0 16px}
.hero-aside p{color:var(--muted);font-size:.9rem;margin:0}
.aside-line{height:1px;background:var(--line);margin:27px 0 14px}
.aside-small{font-size:.7rem!important;text-transform:uppercase;letter-spacing:.12em;font-weight:700}
.section{padding:105px 30px}
.section.alt{background:var(--soft)}
.section>.section-label{max-width:var(--max);margin:0 auto 54px;font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:800}
.section>.content{max-width:900px;margin:auto}
.about .content{font-size:1rem}
.lead{font:1.55rem/1.5 var(--serif);color:#27333d;max-width:860px}
.profile-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin:0 0 42px}
.profile-meta>div{background:var(--white);padding:20px}
.profile-meta strong{display:block;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-bottom:6px}
.profile-meta span{display:block;font:1rem/1.45 var(--serif)}
h2{font-size:2.55rem;font-weight:400;margin:0 0 42px;letter-spacing:-.025em}
h3{font-size:1.25rem;font-weight:700;margin:0 0 12px;letter-spacing:-.01em}
.research-overview{margin:0 0 65px}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.theme-grid article{background:rgba(255,255,255,.72);border:1px solid var(--line);padding:25px}
.theme-grid span{display:block;color:var(--accent);font-size:.68rem;font-weight:800;letter-spacing:.15em;margin-bottom:23px}
.theme-grid h3{font-size:1.3rem;font-weight:400}
.theme-grid p{color:var(--muted);font-size:.88rem;margin:0}
.pub-list{border-top:1px solid var(--line)}
.pub{padding:25px 0;border-bottom:1px solid var(--line)}
.pub p{margin:0 0 11px;color:var(--muted);font-size:.9rem}
.tag,.source-link{display:inline-flex;align-items:center;padding:5px 10px;margin:2px 5px 0 0;border:1px solid var(--line);border-radius:999px;background:transparent;font-size:.66rem;font-weight:800;letter-spacing:.05em}
.tag:hover,.source-link:hover{background:var(--accent);color:#fff;border-color:var(--accent)}
.subsection{margin-top:104px}
.compact .pub{padding:20px 0}
.plain-list{padding-left:20px}
.plain-list li{margin:9px 0}
.book-lead{font:1.25rem/1.5 var(--serif);max-width:700px;margin:-8px 0 34px;color:var(--muted)}
.book-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:1120px}
.book{background:var(--white);border:1px solid var(--line);padding:30px;min-height:290px;display:flex;flex-direction:column;position:relative;overflow:hidden}
.book:before{content:"";position:absolute;left:0;top:0;width:6px;height:100%;background:var(--accent)}
.book .year{color:var(--accent);font-weight:800;font-size:.68rem;letter-spacing:.15em}
.book h3{font-size:1.5rem;margin-top:18px}
.book p{color:var(--muted);font-size:.88rem}
.book a{margin-top:auto;font-weight:800;font-size:.8rem}
.award{font-size:.78rem!important;color:var(--accent)!important;font-weight:700}
.course-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}
.course-grid div{background:var(--white);padding:25px;font:1.05rem/1.4 var(--serif)}
.course-grid span{display:block;font:700 .67rem/1.4 var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:8px}
.archive{margin-top:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.archive summary{cursor:pointer;padding:20px 0;font:1.15rem var(--serif);color:var(--ink)}
.archive .plain-list{padding-bottom:20px}
.writing-grid{display:grid;grid-template-columns:.8fr 1.7fr;gap:18px}
.writing-card{background:var(--white);border:1px solid var(--line);padding:29px}
.writing-card h3{font-size:1.45rem;font-weight:400}
.writing-card p{color:#52606a;font-size:.9rem}
.article-links{columns:2;padding-left:20px}
.article-links li{margin:7px 0;padding-right:12px;font-size:.84rem}
.project-grid{display:grid;gap:25px;max-width:1100px}
.project{display:grid;grid-template-columns:1fr 1fr;background:var(--white);border:1px solid var(--line);overflow:hidden}
.project-image{min-height:320px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden}
.project-image img{width:100%;height:100%;object-fit:contain;display:block}
.project-body{padding:40px}
.project-body h2{font-size:2.05rem;margin-bottom:17px}
.project-body p{color:#4f5b65;font-size:.9rem}
.funding{font-size:.74rem!important;font-weight:800;color:var(--accent)!important;letter-spacing:.03em}
blockquote{margin:24px 0 0;padding:17px 20px;border-left:3px solid var(--accent);background:var(--soft);font:italic .87rem/1.6 var(--serif)}
blockquote cite{display:block;margin-top:10px;font: .72rem/1.4 var(--sans);font-style:normal;color:var(--muted)}
.podcast-row{display:flex;gap:7px;flex-wrap:wrap;margin:15px 0}
.podcast-row a{padding:6px 10px;border:1px solid var(--line);border-radius:999px;font-size:.66rem;font-weight:800}
footer{background:#182029;color:#e9e7e0;padding:42px 30px 28px}
.footer-inner{max-width:var(--max);margin:auto;display:flex;justify-content:space-between;gap:30px;align-items:center}
.footer-inner strong{font-family:var(--serif);font-size:1rem}
.footer-inner span{display:block;font-size:.75rem;color:#aeb7bf;margin-top:4px}
.footer-inner a{color:#fff;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:800}
.footer-note{max-width:var(--max);margin:32px auto 0;padding-top:17px;border-top:1px solid rgba(255,255,255,.12);font-size:.65rem;text-transform:uppercase;letter-spacing:.12em;color:#7f8b95}
@media(max-width:850px){
  .menu-toggle{display:block}
  nav{display:none;position:absolute;left:0;right:0;top:76px;background:var(--paper);border-bottom:1px solid var(--line);padding:18px 30px;flex-direction:column;align-items:flex-start;gap:12px}
  nav.open{display:flex}
  .hero-grid{grid-template-columns:1fr;gap:45px;min-height:auto;padding-top:75px}
  .hero-aside{margin:0;max-width:100%}
  .profile-meta,.theme-grid,.book-grid,.writing-grid,.project{grid-template-columns:1fr}
  .article-links{columns:1}
  .course-grid{grid-template-columns:1fr}
  .project-image{min-height:240px}
  .footer-inner{align-items:flex-start;flex-direction:column}
}
@media(max-width:520px){
  .nav-wrap{padding:0 20px}
  .hero-grid,.section{padding-left:20px;padding-right:20px}
  .hero-grid{padding-top:60px;padding-bottom:70px}
  h1{font-size:clamp(3.3rem,17vw,5.5rem)}
  .section{padding-top:75px;padding-bottom:75px}
  .section>.section-label{margin-bottom:28px}
  .profile-meta{grid-template-columns:1fr}
  .project-body{padding:28px}
  footer{padding-left:20px;padding-right:20px}
}

/* Refinements: language switch, spacing, and image-free project cards */
.lang-toggle{display:inline-flex;align-items:center;gap:2px;margin-left:4px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--white);cursor:pointer}
.lang-toggle span{padding:4px 7px;border-radius:999px;font:700 .62rem/1 var(--sans);letter-spacing:.08em;color:var(--muted)}
.lang-toggle span.active{background:var(--ink);color:#fff}
.section>.section-label{margin-bottom:48px}
.subsection{margin-top:96px;padding-top:8px}
.content>h2{margin-top:10px;margin-bottom:36px}
.book-grid + .subsection{margin-top:112px}
.project-grid{grid-template-columns:1fr;gap:28px}
.project{grid-template-columns:1fr}
.project-body{padding:42px 46px}
.project-body h2{margin-bottom:24px}
.footer-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.footer-links a{font-size:.68rem}
@media(max-width:850px){
  .lang-toggle{margin-left:0;margin-top:6px}
  .section>.section-label{margin-bottom:40px}
  .project-body{padding:34px 30px}
}

/* Version 5: consistent vertical rhythm */
.section .content > h2, .section .subsection h2 { margin-top: 0; margin-bottom: 44px; }
.publisher { color: var(--accent) !important; font-size: .78rem !important; font-weight: 800; }


/* v6 portrait */
.hero-photo {
  float: right;
  width: min(230px, 30vw);
  margin: 0 0 2rem 3rem;
}
.hero-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  object-position: center 22%;
  border-radius: 4px;
}
@media (max-width: 760px) {
  .hero-photo {
    float: none;
    width: 150px;
    margin: 0 auto 1.75rem;
  }
}


/* v7 portrait layout: keep photo inside the main content margins */
.hero-photo {
  float: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 220px;
  margin: 0;
}
.hero-photo img {
  width: 100%;
  max-width: 220px;
  height: 220px;
  object-fit: cover;
  object-position: center 22%;
  border-radius: 4px;
}
@media (max-width: 760px) {
  .hero-photo {
    position: relative;
    right: auto;
    top: auto;
    width: 150px;
    margin: 0 auto 1.75rem;
  }
  .hero-photo img {
    width: 150px;
    height: 150px;
  }
}

@media (min-width: 761px) {
  .hero,
  .hero-content {
    position: relative;
  }
  .hero-content {
    padding-right: 260px;
  }
}


/* v8 layout corrections */
.hero-grid {
  position: relative;
}
.hero-photo {
  position: static !important;
  float: none !important;
  width: 190px;
  margin: 0 0 28px auto;
}
.hero-photo img {
  display: block;
  width: 190px;
  height: 190px;
  max-width: 100%;
  object-fit: cover;
  object-position: center 22%;
  border-radius: 4px;
}
.hero-aside {
  display: flex;
  flex-direction: column;
  align-self: center;
}
.hero-aside .hero-photo {
  align-self: flex-end;
}
.about .content .lead {
  font: inherit;
  color: inherit;
  max-width: none;
}
.book-lead {
  display: block;
  font: 1.25rem/1.5 var(--serif);
  max-width: 700px;
  margin: 0 0 40px;
  color: var(--muted);
}
.book-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  max-width: none;
}
@media (max-width: 850px) {
  .book-grid { grid-template-columns: 1fr; }
  .hero-photo {
    width: 150px;
    margin: 0 0 24px auto;
  }
  .hero-photo img { width: 150px; height: 150px; }
}
@media (max-width: 760px) {
  .hero-photo {
    width: 150px;
    margin: 0 auto 24px;
  }
  .hero-photo img { width: 150px; height: 150px; }
}


/* v9 publication architecture */
.book-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.public-writing-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.section-note {
  max-width: 760px;
  margin: -0.75rem 0 2rem;
  color: var(--muted, #6f7d88);
}
.media-list {
  max-width: 1000px;
}
.media-list li {
  margin-bottom: 0.9rem;
}
.year-inline {
  display: inline-block;
  min-width: 3.5rem;
  font-weight: 700;
  color: var(--accent, #9d2f3f);
}
@media (max-width: 900px) {
  .book-grid,
  .public-writing-grid {
    grid-template-columns: 1fr;
  }
}


/* v11 Public Writing list */
.public-writing-group {
  margin-top: 1.5rem;
}
.writing-item {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 1.4rem;
  padding: 1.15rem 0;
  border-top: 1px solid rgba(0,0,0,.10);
}
.writing-year {
  font-size: .85rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .65;
  padding-top: .15rem;
}
.writing-outlet {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  opacity: .65;
  margin-bottom: .25rem;
}
.writing-item h3 {
  margin: 0 0 .45rem;
  font-size: 1.05rem;
  line-height: 1.35;
}
.text-link {
  font-size: .86rem;
}
@media (max-width: 650px) {
  .writing-item {
    grid-template-columns: 1fr;
    gap: .25rem;
  }
}


/* v13 — Public Engagement: align with the rest of the site */
.public-engagement-section {
  padding-top: 105px;
  padding-bottom: 120px;
}
.public-engagement-content {
  max-width: 1120px !important;
}
.public-engagement-content .feature-intro {
  max-width: 900px;
  margin-bottom: 0;
}
.public-engagement-content .feature-intro > p:last-child {
  margin-bottom: 0;
}
.pe-subsection {
  margin-top: 92px;
}
.pe-subsection > .eyebrow {
  margin-bottom: 14px;
}
.pe-subsection > h2 {
  margin: 0 0 22px;
}
.pe-subsection > .section-note {
  max-width: 900px;
  margin: 0 0 28px;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.65;
}
.public-writing-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}
.public-writing-grid .writing-card {
  min-height: 250px;
  display: flex;
  flex-direction: column;
}
.public-writing-grid .writing-card h3 {
  margin-bottom: 14px;
}
.public-writing-grid .writing-card p:not(.eyebrow) {
  margin-top: 0;
}
.public-writing-grid .writing-card .tag {
  margin-top: auto;
  align-self: flex-start;
}
.pe-list {
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid var(--line);
}
.pe-two-col {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 48px;
}
.pe-list-item {
  margin: 0;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  font-size: .88rem;
  line-height: 1.5;
}
.pe-list-item a {
  color: var(--ink);
}
.pe-list-item a:hover {
  color: var(--accent);
}
.year-inline {
  display: inline-block;
  min-width: 42px;
  color: var(--muted);
  font-size: .76rem;
  font-weight: 700;
  letter-spacing: .04em;
}
.talk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.pe-talk {
  background: var(--white);
  border: 1px solid var(--line);
  padding: 28px;
  min-height: 210px;
  display: flex;
  flex-direction: column;
}
.pe-talk h3 {
  font-size: 1.18rem;
  font-weight: 400;
  margin-bottom: 20px;
}
.pe-talk .tag {
  margin-top: auto;
  align-self: flex-start;
}
@media(max-width:850px){
  .public-engagement-content {
    max-width: 100% !important;
  }
  .public-writing-grid,
  .pe-two-col,
  .talk-grid {
    grid-template-columns: 1fr;
  }
  .pe-subsection {
    margin-top: 72px;
  }
}


/* v14 — clean Public Engagement layout */
#writing.section {
  padding-top: 105px;
  padding-bottom: 120px;
}
#writing.section > .content {
  max-width: 900px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#writing .feature-intro {
  max-width: 900px;
  margin: 0 0 0;
}
#writing .pe-subsection {
  margin-top: 88px;
  padding-top: 0;
}
#writing .pe-subsection:first-of-type {
  margin-top: 82px;
}
#writing .pe-subsection > .eyebrow {
  margin: 0 0 12px;
}
#writing .pe-subsection > h2 {
  margin: 0 0 20px;
}
#writing .pe-subsection > .section-note {
  max-width: 780px;
  margin: 0 0 30px;
  color: var(--muted);
  font-size: .9rem;
  line-height: 1.6;
}
#writing .pe-writing-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  width: 100%;
}
#writing .pe-writing-card {
  min-width: 0;
  min-height: 245px;
  box-sizing: border-box;
  background: var(--white);
  border: 1px solid var(--line);
  padding: 28px;
  display: flex;
  flex-direction: column;
}
#writing .pe-writing-card .year {
  display: block;
  margin-bottom: 12px;
}
#writing .pe-writing-card .eyebrow {
  margin-bottom: 12px;
}
#writing .pe-writing-card h3 {
  margin: 0 0 18px;
  font-size: 1.28rem;
  line-height: 1.25;
}
#writing .pe-writing-card .tag {
  margin-top: auto;
  align-self: flex-start;
}
#writing .rp-list,
#writing .pe-list {
  width: 100%;
  border-top: 1px solid var(--line);
  margin: 0;
  padding: 0;
}
#writing .rp-item {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 20px;
  align-items: start;
  border-bottom: 1px solid var(--line);
  padding: 17px 0;
}
#writing .rp-item h3 {
  margin: 0 0 7px;
  font-size: 1.02rem;
  line-height: 1.35;
  font-weight: 600;
}
#writing .rp-item .text-link {
  font-size: .82rem;
}
#writing .year-inline {
  display: inline-block;
  min-width: 0;
  font-size: .8rem;
  font-weight: 700;
  color: var(--muted);
}
#writing .pe-list {
  list-style: none;
}
#writing .pe-list-item {
  display: grid;
  grid-template-columns: 52px auto auto minmax(0,1fr);
  gap: 7px;
  align-items: baseline;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
  font-size: .86rem;
  line-height: 1.5;
}
#writing .pe-list-item strong {
  white-space: nowrap;
}
#writing .pe-list-item a {
  min-width: 0;
}
#writing .talk-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  width: 100%;
}
#writing .talk-card {
  min-width: 0;
  min-height: 220px;
  box-sizing: border-box;
  background: var(--white);
  border: 1px solid var(--line);
  padding: 26px;
  display: flex;
  flex-direction: column;
}
#writing .talk-card .year {
  margin-bottom: 12px;
}
#writing .talk-card .eyebrow {
  margin-bottom: 10px;
}
#writing .talk-card h3 {
  font-size: 1.12rem;
  line-height: 1.3;
  margin: 0 0 18px;
}
#writing .talk-card .tag {
  margin-top: auto;
  align-self: flex-start;
}
@media (max-width: 900px) {
  #writing .pe-writing-grid,
  #writing .talk-grid {
    grid-template-columns: 1fr;
  }
  #writing .pe-list-item {
    grid-template-columns: 52px minmax(0,1fr);
  }
  #writing .pe-list-item .dash {
    display: none;
  }
  #writing .pe-list-item strong {
    white-space: normal;
  }
}
@media (max-width: 650px) {
  #writing.section {
    padding-left: 22px;
    padding-right: 22px;
  }
  #writing .rp-item {
    grid-template-columns: 52px minmax(0,1fr);
    gap: 14px;
  }
}
