/* System typography and a shared editorial grid. No downloaded fonts. */
:root {
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --serif: Georgia, "Times New Roman", "Songti SC", "SimSun", serif;
  --ink: #142f39; --muted: #576b71; --river: #096886; --river-deep: #073849;
  --paper: #f7f8f4; --line: #d8e1df; --teal: #769b3c; --gold: #769b3c;
  --page-width: 1280px; --column-gap: clamp(24px, 3vw, 48px);
}
body { font-size: 17px; line-height: 1.7; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
h1,h2,h3,h4,h5,h6 { font-family: var(--serif); font-weight: 600; text-wrap: balance; }
.hero__lead, .page-hero p:last-child, .lead, .section-intro, .prose blockquote, .footer-grid p, .river-index .container, .fact-card strong { font-family: var(--sans); }
.container { width: min(calc(100% - 96px), var(--page-width)); }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible { outline: 3px solid #98bd54; outline-offset: 5px; }
.brand__mark { object-fit: contain; background: white; box-shadow: none; flex-shrink: 0; }
.brand strong { font-size: 1.45rem; letter-spacing: -.04em; }
.brand small { display: none; }
.site-header .brand { flex: 0 1 360px; min-width: 0; }
.site-header .brand > span { min-width: 0; }
.site-header .brand strong { font-family: var(--serif); font-size: 1rem; line-height: 1.3; letter-spacing: -.02em; font-weight: 600; text-wrap: balance; }
.site-header .site-nav, .site-header .nav-toggle { flex-shrink: 0; }
.site-header { background: rgba(247,248,244,.97); }
.site-header__inner { min-height: 88px; gap: 24px; }
.site-nav { border: 0; border-radius: 0; box-shadow: none; background: transparent; gap: 3px; padding: 0; }
.site-nav a { font-size: .84rem; font-weight: 600; padding: 14px 11px; border-radius: 3px; }
.site-nav a:hover { transform: none; border-color: transparent; background: #e8efeb; }
.site-nav a[aria-current=page] { background: var(--river-deep); box-shadow: none; }
.home-page > .site-header { position: absolute; width: 100%; background: transparent; border: 0; backdrop-filter: none; }
.home-page .site-header__inner { border-bottom: 1px solid #ffffff35; }
.home-page .brand, .home-page .site-nav a { color: white; }
.home-page .site-nav a:hover, .home-page .site-nav a[aria-current=page] { background: #ffffff18; border-color: #ffffff35; }
.hero { min-height: 0; }
.hero:after { display: none; }
.hero__image { background-position: center 55%; }
.hero__overlay { background: linear-gradient(90deg,rgba(4,33,44,.94),rgba(4,33,44,.55)),linear-gradient(0deg,rgba(4,33,44,.55),transparent); }
.home-page .hero__content { padding: 164px 0 64px; }
.eyebrow { font-size: .73rem; letter-spacing: .16em; font-weight: 700; color: #d2e4ad; }
.home-page .hero h1 { max-width: 1050px; margin: 24px 0; font-size: clamp(2.8rem,5.2vw,4.75rem); line-height: 1.1; letter-spacing: -.035em; }
.home-page .hero__lead { max-width: 780px; font-size: clamp(1.15rem,1.7vw,1.5rem); line-height: 1.5; color: #dce8e7; margin: 0 0 44px; }
.hero-announcement { display: grid; grid-template-columns: .8fr 2fr; column-gap: 48px; padding: 28px 0 0; border-top: 1px solid #ffffff45; }
.hero-announcement h2 { grid-row: span 3; margin: 0; font-size: 1.05rem; letter-spacing: -.02em; }
.hero-announcement p { max-width: 760px; margin: 0 0 14px; font-size: .94rem; color: #dfebea; line-height: 1.7; }
.hero-announcement .hero-announcement__dates { font-size: .83rem; color: #c5d6d7; }
.hero-announcement a { justify-self: start; color: #e0edb9; font-size: .88rem; font-weight: 650; text-decoration: none; border-bottom: 1px solid #a2bb80; padding-bottom: 4px; }
.page-hero { padding: 72px 0; background: #103e4c; }
.page-hero h1 { font-size: clamp(2.6rem,5vw,4.5rem); line-height: 1.12; letter-spacing: -.025em; }
.page-hero p:last-child { font-size: 1.15rem; line-height: 1.6; margin-bottom: 0; }
.page-hero:after { display: none; }
.prose { max-width: var(--page-width); padding: 64px 0 88px; }
.prose > p, .prose > ul, .prose > ol { max-width: 76ch; }
.prose h2 { font-size: clamp(1.7rem,2.6vw,2.35rem); letter-spacing: -.035em; line-height: 1.2; margin-top: 64px; padding-bottom: 20px; }
.prose h3 { letter-spacing: -.025em; line-height: 1.3; }
.home-page .prose { max-width: var(--page-width); padding-top: 0; }
.home-page .fact-grid { gap: 0; margin: 0 0 72px; border-bottom: 1px solid var(--line); }
.fact-card { background: transparent; box-shadow: none; border: 0; border-radius: 0; padding: 30px 28px; min-width: 0; }
.fact-card:first-child { padding-left: 0; }
.fact-card + .fact-card { border-left: 1px solid var(--line); }
.fact-card small { font-size: .68rem; letter-spacing: .13em; margin-bottom: 10px; }
.fact-card strong { font-size: clamp(1rem,1.5vw,1.25rem); font-weight: 600; line-height: 1.4; letter-spacing: -.02em; }
.symposium-overview { margin: 0 0 64px; }
.symposium-overview__main { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: var(--column-gap); align-items: center; }
.symposium-overview__copy { min-width: 0; }
.prose .symposium-overview h2 { margin: 0 0 22px; padding: 0; border: 0; font-size: clamp(1.9rem,2.5vw,2.35rem); line-height: 1.2; letter-spacing: -.025em; }
.prose .symposium-overview__copy p { margin: 0 0 18px; line-height: 1.75; }
.symposium-overview__intro { color: var(--ink); }
.symposium-overview__intro strong { font-weight: 600; }
.symposium-overview__links { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: 24px; }
.symposium-overview__links a { font-size: .9rem; font-weight: 600; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.symposium-overview__links span { display: inline-block; margin-left: 4px; }
.symposium-overview__figure { min-width: 0; margin: 0; }
.prose .symposium-overview__figure img { display: block; width: 100%; height: auto; aspect-ratio: 1.6; object-fit: cover; object-position: center; margin: 0; border-radius: 3px; box-shadow: none; }
.symposium-overview__figure figcaption { margin-top: 12px; font-size: .78rem; line-height: 1.5; color: var(--muted); }
.prose .symposium-format { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--column-gap); list-style: none; padding: 0; margin: 36px 0 0; }
.prose .symposium-format li { min-width: 0; padding: 20px 0 0; border-top: 2px solid #a9beb2; }
.prose .symposium-format h3 { font-size: 1.15rem; line-height: 1.35; margin: 0 0 10px; letter-spacing: -.015em; }
.prose .symposium-format p { font-size: .9rem; line-height: 1.6; color: var(--muted); margin: 0; }
@media(max-width:900px) { .symposium-overview__main { grid-template-columns: 1fr; gap: 28px; align-items: start; } .symposium-overview__figure { max-width: 680px; } .prose .symposium-overview__figure img { aspect-ratio: 1.85; } }
@media(max-width:700px) { .symposium-overview { margin-bottom: 44px; } .prose .symposium-overview h2 { font-size: 1.8rem; margin-bottom: 18px; } .symposium-overview__links { gap: 12px; flex-direction: column; align-items: flex-start; margin-top: 20px; } .prose .symposium-format { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; } .prose .symposium-format li { padding-top: 16px; } }
.table-wrap { border-radius: 3px; }
.prose th { background: #eaf0eb; font-size: .7rem; letter-spacing: .1em; }
.prose th,.prose td { padding: 18px 24px; }
.prose td:last-child { font-variant-numeric: tabular-nums; }
.organization-columns { display: grid; grid-template-columns: 1fr 2fr; gap: var(--column-gap); margin-top: 80px; }
.organization-column { min-width: 0; }
.prose .organization-column h2 { margin: 0 0 24px; font-size: 1.6rem; }
.organization-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
.organization-grid--main { grid-template-columns: repeat(2,minmax(0,1fr)); }
.organization { min-width: 0; display: flex; align-items: center; justify-content: center; padding: 10px; background: white; border: 1px solid var(--line); border-radius: 3px; }
.organization__logo { width: 100%; height: 80px; display: flex; align-items: center; justify-content: center; }
.prose .organization__logo img { width: auto; max-width: 100%; max-height: 72px; margin: 0; border-radius: 0; box-shadow: none; }
.organization[href="https://english.ecnu.edu.cn/"] { background: #fff; }
.organization[href="https://www.stu.edu.cn/"], .organization[href="https://www.hhu.edu.cn/"] { background: #164575; }
.contact-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--column-gap); }
.contact-card { min-width: 0; border-top: 2px solid var(--river); padding: 28px 0; }
.contact-card__label { font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: var(--river); font-weight: 700; }
.prose .contact-card h3 { margin: 18px 0 10px; font-size: 1.4rem; }
.contact-card p { color: var(--muted); font-size: .93rem; }
.contact-card a { font-size: .9rem; overflow-wrap: anywhere; }
.card,.profile,.contact-box { box-shadow: none; border-radius: 3px; }
.notice { background: #edf2e5; border-radius: 0; }
.river-index { background: #eaf0e4; border-color: var(--line); }
.river-index .container { font-style: normal; font-size: .75rem; padding-block: 22px; }
.site-footer { background: #0b303d; padding-top: 60px; }
.footer-grid { grid-template-columns: 2fr 1fr 1fr; gap: var(--column-gap); }
.footer-grid p { font-size: .94rem; line-height: 1.7; }
.footer-grid h2 { font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.footer-bottom { line-height: 1.6; }
@media(max-width:1120px) {
  .site-nav,.home-page .site-nav { background: #fff; border: 1px solid var(--line); border-radius: 4px; padding: 12px; max-height: calc(100dvh - 100px); overflow-y: auto; }
  .home-page .site-nav a { color: var(--ink); }
  .home-page .site-nav a:hover { background: #e8efeb; }
  .home-page .site-nav a[aria-current=page] { background: var(--river-deep); color: white; }
  .site-nav a { padding: 14px; }
}
@media(max-width:800px) {
  .container { width: calc(100% - 48px); }
  .hero-announcement { grid-template-columns: 1fr; gap: 12px; }
  .hero-announcement h2 { grid-row: auto; }
  .organization-columns { grid-template-columns: 1fr; gap: 40px; }
  .organization-grid--main { max-width: 320px; }
  .footer-grid { grid-template-columns: 1.5fr 1fr; }
}
@media(max-width:700px) {
  body { font-size: 16px; }
  .container { width: calc(100% - 40px); }
  .site-header__inner { min-height: 88px; gap: 12px; }
  .site-header .brand strong { font-size: .82rem; }
  .site-header .brand { gap: 10px; }
  .site-nav { top: 80px; }
  .brand__mark { width: 40px; height: 40px; }
  .home-page .hero__content { padding: 128px 0 40px; }
  .home-page .hero h1 { font-size: clamp(2.4rem,9.5vw,3.6rem); line-height: 1.12; letter-spacing: -.025em; margin: 20px 0; }
  .home-page .hero__lead { font-size: 1.12rem; margin-bottom: 30px; }
  .eyebrow { font-size: .65rem; letter-spacing: .11em; }
  .hero-announcement { padding-top: 24px; }
  .hero-announcement p { font-size: .88rem; }
  .home-page .fact-grid { margin-bottom: 40px; }
  .fact-card,.fact-card:first-child { padding: 20px 0; }
  .fact-card + .fact-card { border-left: 0; border-top: 1px solid var(--line); }
  .fact-card small { margin-bottom: 6px; }
  .contact-grid { grid-template-columns: 1fr; gap: 28px; }
  .prose { padding: 40px 0 56px; }
  .prose h2 { margin-top: 48px; }
  .organization-columns { margin-top: 48px; }
  .organization-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; }
  .organization-grid--main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .organization__logo { height: 64px; }
  .prose .organization__logo img { max-height: 60px; }
  .page-hero { padding: 48px 0; }
  .page-hero h1 { font-size: 2.65rem; }
  .page-hero p:last-child { font-size: 1.05rem; }
  .prose th,.prose td { padding: 14px 16px; }
  .footer-grid { grid-template-columns: 1fr; }
  .contact-grid { gap: 0; }
}
@media(max-width:700px) {
  .home-page .prose table { min-width: 0; table-layout: fixed; font-size: .82rem; }
  .home-page .prose th:first-child { width: 57%; }
  .home-page .prose th,.home-page .prose td { padding: 14px 12px; overflow-wrap: break-word; }
}

/* Institutions named in the revised First Announcement. */
.home-page .organization-columns { grid-template-columns: 1fr; gap: 40px; }
.home-page .organization-grid--main { grid-template-columns: repeat(3,minmax(0,1fr)); max-width: none; }
.organization { flex-direction: column; padding: 20px 16px; text-align: center; text-decoration: none; }
.organization__name { display: block; margin-top: 14px; font-size: .82rem; line-height: 1.5; color: var(--ink); }
.organization__wordmark { font-family: var(--serif); font-weight: 700; font-size: 1.7rem; line-height: 1.15; color: var(--river-deep); }
.organization[href="https://english.ecnu.edu.cn/"] .organization__name { color: var(--ink); }
@media(max-width:700px) {
  .home-page .organization-grid, .home-page .organization-grid--main { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .home-page .organization-grid--main .organization:last-child { grid-column: 1/-1; }
  .organization { padding: 16px 12px; }
  .organization__name { font-size: .76rem; }
  .organization__wordmark { font-size: 1.35rem; }
}

/* Full title and the six organizers in the latest First Announcement. */
.site-header .brand{flex-basis:240px}
.site-header .brand strong{font-size:1.3rem;line-height:1.25}
.home-page .hero h1{max-width:1150px;font-size:clamp(2.1rem,3.65vw,3.7rem);line-height:1.2;text-wrap:balance}
.hero-announcement strong{color:inherit}
.organization-grid--current{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}
.organization-grid--current .organization{min-height:166px}
.organization-grid--current .organization__logo{flex-shrink:0}
.organization-grid--current .organization__name{flex:1;display:flex;align-items:center;justify-content:center}
@media(max-width:700px){.site-header .brand strong{font-size:1.1rem}.home-page .hero h1{font-size:clamp(1.9rem,7vw,2.6rem)}.home-page .organization-grid--current{grid-template-columns:repeat(2,minmax(0,1fr))}.organization-grid--current .organization{min-height:160px}}

/* Layout for the updated First Announcement. */
.home-page .organization-columns--updated{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--column-gap)}
.organization-grid--hosts,.organization-grid--partners{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.organization-columns--updated .organization-column h2{min-height:54px}
.organization-columns--updated .organization{min-height:184px}
.organization-columns--updated .organization__wordmark{font-size:1.3rem}
.location-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:32px;align-items:start;margin:28px 0 32px}
.location-layout .city-profile h3{margin:0 0 14px}
.city-profile + .city-profile{margin-top:30px}
.city-profile p{margin-bottom:0}
.announcement-figure{margin:28px 0 32px;min-width:0}
.prose .announcement-figure img{display:block;width:100%;height:auto;margin:0;border-radius:3px;box-shadow:none}
.announcement-figure figcaption{margin-top:12px;font-size:.83rem;line-height:1.5;color:var(--muted);text-align:center}
.location-layout .announcement-figure{margin:0}
@media(max-width:800px){.location-layout{grid-template-columns:1fr;gap:28px}.announcement-figure--map{width:min(100%,600px);margin-inline:auto!important}}
@media(max-width:700px){.home-page .organization-columns--updated{grid-template-columns:1fr;gap:36px}.organization-columns--updated .organization-column h2{min-height:0}.organization-columns--updated .organization{min-height:164px}}

/* Combined deadlines and conference programme. */
.conference-schedule { margin: 0 0 56px; }
.prose .conference-schedule h2 { margin-bottom: 24px; }
.prose .conference-timeline { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px; position: relative; list-style: none; max-width: none; margin: 0; padding: 30px 0 0; }
.conference-timeline::before { content: ""; position: absolute; height: 2px; top: 6px; left: 0; right: 0; background: linear-gradient(90deg,#a8c8d0 0%,#a8c8d0 50%,#b5c8a0 50%,#b5c8a0 100%); }
.prose .conference-timeline__item { --milestone-color: var(--river); position: relative; min-width: 0; padding: 24px 16px; background: white; border: 1px solid var(--line); border-radius: 4px; }
.conference-timeline__item::before { content: ""; position: absolute; top: -30px; left: 50%; transform: translateX(-50%); width: 14px; height: 14px; border: 3px solid var(--paper); border-radius: 50%; background: var(--milestone-color); box-shadow: 0 0 0 1px var(--milestone-color); }
.conference-timeline__item::after { content: ""; position: absolute; top: -16px; left: 50%; width: 1px; height: 16px; background: var(--line); }
.prose .conference-timeline__item--event { --milestone-color: #638434; border-top-color: #a9bd8f; }
.conference-timeline__date { display: block; color: var(--river-deep); text-decoration: none; font-variant-numeric: tabular-nums; }
.conference-timeline__day { display: block; font-family: var(--serif); font-weight: 600; font-size: clamp(2rem,2.6vw,2.5rem); line-height: 1.15; letter-spacing: -.045em; white-space: nowrap; }
.conference-timeline__month { display: block; margin-top: 8px; font-size: .79rem; font-weight: 600; line-height: 1.55; }
.conference-timeline__month > span { display: block; font-weight: 400; color: var(--muted); }
.conference-timeline__content { margin-top: 24px; }
.conference-timeline__type { display: block; color: var(--milestone-color); font-size: .63rem; font-weight: 700; text-transform: uppercase; letter-spacing: .09em; line-height: 1.5; }
.prose .conference-timeline__title { margin: 10px 0 0; font-family: var(--sans); font-size: .93rem; line-height: 1.45; letter-spacing: -.01em; font-weight: 600; text-wrap: initial; }
.prose .conference-timeline__content p { margin: 10px 0 0; font-size: .8rem; line-height: 1.55; color: var(--muted); }
.prose .conference-timeline__item--featured { --milestone-color: var(--river-deep); background: var(--river-deep); border-color: var(--river-deep); }
.conference-timeline__item--featured .conference-timeline__date, .prose .conference-timeline__item--featured .conference-timeline__title { color: white; }
.conference-timeline__item--featured .conference-timeline__month > span, .prose .conference-timeline__item--featured p { color: #d3e1e2; }
.conference-timeline__item--featured .conference-timeline__type { color: #ffffff; }
.prose .conference-schedule__note { margin: 22px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }
@media(max-width:1100px) {
  .prose .conference-timeline { grid-template-columns: 1fr; gap: 16px; padding: 0 0 0 30px; }
  .conference-timeline::before { top: 0; bottom: 0; left: 6px; right: auto; width: 2px; height: auto; background: linear-gradient(#a8c8d0 0%,#a8c8d0 50%,#b5c8a0 50%,#b5c8a0 100%); }
  .prose .conference-timeline__item { display: grid; grid-template-columns: 145px minmax(0,1fr); align-items: start; gap: 24px; padding: 22px 24px; }
  .conference-timeline__item::before { top: 27px; left: -30px; transform: none; }
  .conference-timeline__item::after { top: 34px; left: -16px; width: 16px; height: 1px; }
  .conference-timeline__day { font-size: 2.2rem; }
  .conference-timeline__month > span { display: inline; margin-left: 3px; }
  .conference-timeline__content { margin-top: 3px; }
  .prose .conference-timeline__title { font-size: 1rem; margin-top: 7px; }
}
@media(max-width:700px) {
  .conference-schedule { margin-bottom: 40px; }
  .prose .conference-timeline { padding-left: 24px; gap: 12px; }
  .conference-timeline::before { left: 5px; }
  .prose .conference-timeline__item { grid-template-columns: 105px minmax(0,1fr); gap: 14px; padding: 20px 16px; }
  .conference-timeline__item::before { left: -25px; }
  .conference-timeline__item::after { left: -11px; width: 11px; }
  .conference-timeline__day { font-size: 1.9rem; }
  .conference-timeline__month { margin-top: 6px; font-size: .73rem; }
  .conference-timeline__month > span { display: block; margin-left: 0; }
  .prose .conference-timeline__title { font-size: .88rem; }
  .prose .conference-timeline__content p { font-size: .76rem; }
}
@media(max-width:380px) {
  .prose .conference-timeline__item { grid-template-columns: 86px minmax(0,1fr); gap: 12px; padding-inline: 12px; }
  .conference-timeline__day { font-size: 1.7rem; }
}

/* Didot wordmark logo: preserve the complete horizontal composition. */
.site-header .brand--wordmark { display: block; flex: 0 1 340px; max-width: 340px; min-width: 0; line-height: 0; }
.brand__wordmark { display: block; width: 100%; height: auto; aspect-ratio: 1131 / 195; object-fit: contain; border: 0; border-radius: 3px; box-shadow: none; }
.brand--footer.brand--wordmark { display: block; width: min(100%,400px); margin-bottom: 22px; line-height: 0; }
.organization--large-asian-rivers { grid-column: 1 / -1; }
.prose .organization__logo .organization__wordmark-logo { display: block; width: min(100%,420px); height: auto; aspect-ratio: 1131 / 195; max-height: none; margin: 0; object-fit: contain; border-radius: 0; box-shadow: none; }
@media(max-width:700px) {
  .site-header .brand--wordmark { flex-basis: 300px; max-width: calc(100% - 58px); }
  .brand--footer.brand--wordmark { width: min(100%,360px); }
}

/* Working groups use their complete names rather than simulated logos. */
.organization--text { gap: 12px; justify-content: center; }
.organization__text-label { font-family: var(--sans); font-size: 1rem; font-weight: 600; letter-spacing: .025em; line-height: 1.5; color: var(--river); }
.prose .organization__text-title { margin: 0; font-family: var(--sans); font-size: 1rem; font-weight: 600; line-height: 1.55; letter-spacing: -.01em; text-wrap: balance; color: var(--ink); }
@media(max-width:700px) {
  .organization--text { gap: 9px; }
  .organization__text-label { font-size: .88rem; }
  .prose .organization__text-title { font-size: .88rem; }
}

/* Transparent logo variants for light and dark surfaces. */
.brand__wordmark { background: transparent; border-radius: 0; }
.brand__wordmark--white { display: none; }
.home-page .site-header .brand__wordmark--blue { display: none; }
.home-page .site-header .brand__wordmark--white { display: block; }

/* Two equal contacts, in the same visual hierarchy and reading order. */
.prose .conference-contact__intro { margin: 0 0 24px; color: var(--muted); font-size: .95rem; }
.contact-panel { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); background: #fff; border: 1px solid var(--line); border-radius: 4px; }
.contact-person { min-width: 0; padding: 32px; }
.contact-person + .contact-person { border-left: 1px solid var(--line); }
.prose .contact-person h3 { margin: 0 0 18px; font-size: clamp(1.25rem,1.8vw,1.5rem); line-height: 1.35; letter-spacing: -.02em; }
.contact-person a { font-size: .9rem; line-height: 1.7; overflow-wrap: anywhere; text-decoration-thickness: 1px; text-underline-offset: 5px; }
.contact-person a span { margin-left: 4px; white-space: nowrap; }
@media(max-width:700px) {
  .prose .conference-contact__intro { margin-bottom: 20px; font-size: .9rem; }
  .contact-panel { grid-template-columns: 1fr; }
  .contact-person { padding: 24px 20px; }
  .contact-person + .contact-person { border-left: 0; border-top: 1px solid var(--line); }
  .prose .contact-person h3 { margin-bottom: 14px; font-size: 1.25rem; }
  .contact-person a { font-size: .86rem; }
}
/* Shared inner-page edges match the homepage at every breakpoint. */
.prose > h2:first-child { margin-top: 0; }
.page-hero h1 { max-width: none; }
.page-hero__title-line { display: inline-block; }

/* A clear current-page tab with an animated underline on hover and focus. */
.site-nav { gap: 5px; }
.site-nav a { padding: 14px 13px; font-size: .9rem; border-radius: 8px; isolation: isolate; transition: color .22s ease, background .22s ease, box-shadow .22s ease, transform .22s ease; }
.site-nav a::after { content: ""; position: absolute; left: 13px; right: 13px; bottom: 6px; height: 2px; border-radius: 2px; background: currentColor; transform: scaleX(0); transform-origin: left; opacity: .8; transition: transform .25s cubic-bezier(.2,.65,.3,1); }
.site-nav a:hover, .site-nav a:focus-visible { background: #e5efeb; transform: translateY(-1px); }
.site-nav a:hover::after, .site-nav a:focus-visible::after, .site-nav a[aria-current=page]::after { transform: scaleX(1); }
.site-nav a[aria-current=page] { color: #fff; background: linear-gradient(135deg,#073849,#096886); box-shadow: 0 4px 12px #07384922; }
.site-nav a[aria-current=page]::after { background: #bcd2d5; }
.home-page .site-nav a:hover, .home-page .site-nav a:focus-visible { color: white; background: #ffffff18; border-color: transparent; }
.home-page .site-nav a[aria-current=page] { color: white; background: #ffffff24; border-color: #ffffff55; box-shadow: inset 0 0 0 1px #ffffff35, 0 4px 12px #00000015; }
.home-page .site-nav a[aria-current=page]::after { background: white; }

/* Historical accounts share a year column and keep photographs uncropped. */
.symposium-history { margin-top: 32px; }
.history-entry { display: grid; grid-template-columns: 160px minmax(0,1fr); gap: var(--column-gap); padding: 36px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 112px; }
.history-entry:first-child { padding-top: 8px; }
.history-entry:last-child { border-bottom: 0; padding-bottom: 0; }
.history-entry__year { border-left: 3px solid #99b5ad; padding-left: 20px; align-self: start; }
.history-entry__year span { display: block; color: var(--muted); font-size: .75rem; line-height: 1.5; }
.history-entry__year strong { display: block; font-family: var(--serif); font-size: 2.5rem; line-height: 1.25; letter-spacing: -.04em; }
.history-entry__body { min-width: 0; }
.prose .history-entry__date { margin: 0 0 8px; font-size: .8rem; color: var(--muted); }
.prose .history-entry h3 { margin: 0 0 12px; font-size: 1.7rem; }
.prose .history-entry__theme { margin: 0 0 16px; color: var(--river); font-weight: 600; line-height: 1.55; }
.history-entry__body > p { max-width: 82ch; }
.history-entry__source { display: inline-block; font-size: .8rem; text-underline-offset: 4px; }
.history-gallery { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px; align-items: start; margin: 24px 0; }
.history-gallery figure { min-width: 0; margin: 0; }
.history-gallery a { display: block; }
.prose .history-gallery img { display: block; width: 100%; height: auto; margin: 0; border-radius: 3px; box-shadow: none; }
.history-gallery figcaption { margin-top: 8px; font-size: .73rem; line-height: 1.5; color: var(--muted); }

/* Name, affiliation and portrait remain together on cards of equal rank. */
.committee-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.committee-grid--organization { grid-template-columns: repeat(2,minmax(0,1fr)); }
.committee-member { display: flex; gap: 20px; align-items: start; padding: 24px; background: #fff; border: 1px solid var(--line); border-radius: 5px; min-width: 0; }
.committee-member__portrait { position: relative; display: block; flex: 0 0 88px; width: 88px; height: 88px; background: #eef2ed; border-radius: 50%; overflow: hidden; isolation: isolate; }
.prose .committee-member__portrait img { position: absolute; display: block; width: var(--portrait-width,100%); height: var(--portrait-height,100%); max-width: none; left: var(--portrait-left,0%); top: var(--portrait-top,0%); margin: 0; border-radius: 0; box-shadow: none; }
.committee-member__info { min-width: 0; }
.prose .committee-member h3 { margin: 0 0 12px; font-size: 1.2rem; line-height: 1.35; letter-spacing: -.02em; text-wrap: initial; }
.committee-member h3 a { color: var(--river-deep); text-decoration: none; }
.committee-member h3 a:hover, .committee-member h3 a:focus-visible { color: var(--river); text-decoration: underline; text-underline-offset: 4px; }
.committee-member h3 span { font-family: var(--sans); font-size: .75em; color: var(--river); white-space: nowrap; }
.prose .committee-member p { font-size: .8rem; line-height: 1.65; margin: 0; color: var(--muted); overflow-wrap: anywhere; }
.committee-grid--organization .committee-member__portrait { flex-basis: 112px; width: 112px; height: 112px; }
.committee-grid--organization .committee-member h3 { font-size: 1.4rem; }
.committee-grid--organization .committee-member p { font-size: .87rem; }

/* Program includes practical information, with shortcuts for a longer page. */
.section-nav { display: flex; gap: 8px 24px; flex-wrap: wrap; padding: 18px 0; margin: 24px 0 40px; border-block: 1px solid var(--line); }
.section-nav a { font-size: .84rem; line-height: 1.65; text-underline-offset: 4px; }
.prose .announcement-download { margin: 32px 0 0; font-size: .9rem; font-weight: 600; }

@media(max-width:1120px) {
  .site-nav, .home-page .site-nav { left: 48px; right: 48px; top: 80px; border-radius: 12px; box-shadow: 0 16px 40px #07384920; }
  .site-nav.is-open { animation: navigation-open .22s ease-out; }
  .site-nav a { padding: 17px 16px; font-size: .94rem; }
  .site-nav a::after { left: 16px; right: 16px; bottom: 7px; }
  .home-page .site-nav a:hover, .home-page .site-nav a:focus-visible { color: var(--river-deep); background: #e5efeb; }
  .home-page .site-nav a[aria-current=page] { color: white; background: linear-gradient(135deg,#073849,#096886); border-color: transparent; box-shadow: none; }
  .committee-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .committee-grid--organization .committee-member__portrait { flex-basis: 88px; width: 88px; height: 88px; }
  .committee-grid--organization .committee-member h3 { font-size: 1.2rem; }
}
@keyframes navigation-open { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: translateY(0); } }
@media(max-width:800px) {
  .site-nav, .home-page .site-nav { left: 24px; right: 24px; }
  .history-entry { grid-template-columns: 120px minmax(0,1fr); gap: 24px; }
  .history-entry__year { padding-left: 14px; }
  .history-gallery { grid-template-columns: 1fr; gap: 20px; }
  .history-gallery figure { max-width: 700px; }
  .committee-member { padding: 20px; gap: 16px; }
}
@media(max-width:700px) {
  .site-nav, .home-page .site-nav { left: 20px; right: 20px; }
  .history-entry { grid-template-columns: 1fr; gap: 18px; padding: 28px 0; }
  .history-entry__year { display: flex; align-items: baseline; gap: 12px; }
  .history-entry__year strong { font-size: 1.8rem; }
  .prose .history-entry h3 { font-size: 1.4rem; }
  .committee-grid, .committee-grid--organization { grid-template-columns: 1fr; gap: 16px; }
  .committee-grid--organization .committee-member p { font-size: .8rem; }
  .section-nav { gap: 8px 20px; padding-block: 16px; margin-bottom: 28px; }
}
@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  .site-nav a, .site-nav a::after, .nav-toggle span { transition: none; }
  .site-nav.is-open { animation: none; }
  .site-nav a:hover, .site-nav a:focus-visible { transform: none; }
}


/* Make the homepage announcement download recognisable as a document. */
.hero-announcement .announcement-download { display: inline-flex; align-items: center; gap: 10px; max-width: 100%; line-height: 1.5; }
.announcement-download__icon { flex: 0 0 24px; }
.announcement-download__label { min-width: 0; }
.announcement-download__type { flex-shrink: 0; padding: 1px 5px; border: 1px solid #e0edb955; border-radius: 3px; font-size: .58rem; font-weight: 600; letter-spacing: .06em; line-height: 1.6; }

/* Homepage photograph selected from the supplied image collection. */
.home-page .hero__image { background-image: url('../images/homepage-padma-sunset.jpg?v=5be2be1c0abc'); background-position: center 55%; }
.home-page .hero__photo-credit { position: absolute; z-index: 1; left: 50%; bottom: 16px; transform: translateX(-50%); margin: 0; color: #c8d8db; font-family: var(--sans); font-size: .63rem; line-height: 1.5; text-align: right; }
.home-page .hero__photo-credit a { color: #e5eeee; white-space: nowrap; text-underline-offset: 3px; }
@media(max-width:700px) {
  .home-page .hero__photo-credit { bottom: 10px; font-size: .6rem; text-align: left; }
}
