:root {
  --gold: #f8c112;
  --orange: #f6ae54;
  --ink: #3f3625;
  --muted: #75684f;
  --paper: #fffdf7;
  --line: #ead69a;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "Helvetica Neue", Arial, sans-serif; line-height: 1.7; }
a { color: #8b5a00; text-underline-offset: 0.15em; }
a:hover, a:focus-visible { text-decoration-thickness: 2px; }
.page { width: min(900px, calc(100% - 2rem)); margin: 0 auto; padding: 3rem 0 4rem; }
.hero { margin-bottom: 2rem; padding: 1.25rem 1.4rem; border-top: 7px solid var(--gold); border-bottom: 2px solid var(--orange); background: #fff; }
.hero h1 { margin: 0 0 0.35rem; font-size: clamp(1.7rem, 4vw, 2.5rem); }
.hero p { margin: 0; color: var(--muted); }
.nav { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 1.25rem 0 0; }
.nav a { display: inline-block; padding: 0.35rem 0.7rem; border: 1px solid var(--orange); border-radius: 999px; background: #fff8e8; text-decoration: none; }
section { margin: 2rem 0; }
section h2 { margin: 0 0 0.8rem; padding-left: 0.65rem; border-left: 5px solid var(--gold); font-size: 1.35rem; }

/* Same simple list treatment as the homepage Talks section. */
#coauthor-talks ol { margin: 0.6em 0; padding-left: 2.2em; line-height: 1.6; }
#coauthor-talks li { margin-bottom: 0.4em; line-height: 1.6; }
.highlight { text-decoration: underline; font-weight: bold; }
.talk-note { color: var(--muted); font-size: 0.92em; }
.section-note { margin: -0.25rem 0 0.9rem; color: var(--muted); font-size: 0.92rem; }

/* Compact News presentation: one bullet, one line, date in parentheses. */
.news-list { margin: 0.6em 0; padding-left: 1.5em; line-height: 1.6; }
.news-list li { margin-bottom: 0.35em; }
.news-date { white-space: nowrap; }

.empty { color: var(--muted); font-style: italic; }
.landing { min-height: 10rem; }
footer { margin-top: 3rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--muted); font-size: 0.85rem; }
@media (max-width: 600px) {
  .page { width: min(100% - 1.2rem, 900px); padding-top: 1.2rem; }
  .hero { padding: 1rem; }
  #coauthor-talks ol { padding-left: 1.8em; }
}
