:root {
  --cseas-primary: #2faf4d;
  --cseas-primary-dark: #179735;
  --cseas-primary-soft: #dff3e4;
  --cseas-text: #1e2522;
  --cseas-muted: #66716b;
  --cseas-border: #d5ddd8;
  --cseas-paper: #f7f5ef;
  --cseas-bg: #fff;
  --cseas-footer: #165b31;
  --cseas-accent: #c5d5c9;
  --cseas-container: 1180px;
  --cseas-content: 780px;
  --cseas-header: 90px;
  --shadow-soft: 0 20px 60px rgba(17, 48, 31, .12);
  --shadow-panel: 12px 0 44px rgba(8, 30, 19, .18);
  --serif: Georgia, 'Times New Roman', serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Arial, Helvetica, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--cseas-text); background: var(--cseas-bg); font-family: var(--sans); font-size: 16px; line-height: 1.72; }
body.is-modal-open { overflow: hidden; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .2em; }
a:hover { color: var(--cseas-primary); }
img { max-width: 100%; height: auto; display: block; }
svg { display: block; width: 100%; height: 100%; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.screen-reader-text:focus { background: #fff; clip: auto !important; clip-path: none; color: #000; display: block; font-size: 14px; height: auto; left: 10px; padding: 14px 18px; top: 10px; width: auto; z-index: 100000; box-shadow: 0 0 0 3px var(--cseas-primary); }
:focus-visible { outline: 3px solid #f0b429; outline-offset: 3px; }
.icon { width: 22px; height: 22px; display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.container-wide { width: min(calc(100% - 64px), var(--cseas-container)); margin-inline: auto; }
.container-content { width: min(calc(100% - 48px), var(--cseas-content)); margin-inline: auto; }
.site-main { min-height: 60vh; }

/* Header */
.site-header { position: relative; z-index: 50; background: rgba(255,255,255,.96); border-bottom: 1px solid rgba(22,64,42,.10); }
.is-front-page .site-header { position: absolute; inset: 0 0 auto; background: transparent; border-bottom-color: rgba(255,255,255,.24); }
.site-header__inner { height: var(--cseas-header); padding: 0 34px; display: grid; grid-template-columns: 120px minmax(0,1fr) 56px; align-items: center; gap: 20px; }
.menu-trigger, .search-trigger { appearance: none; border: 0; background: transparent; color: var(--cseas-text); padding: 8px; display: inline-flex; align-items: center; gap: 10px; font-size: 12px; font-weight: 700; letter-spacing: .13em; }
.is-front-page .menu-trigger, .is-front-page .search-trigger { color: #fff; }
.menu-trigger .icon { width: 24px; }
.search-trigger { justify-self: end; }
.site-branding { justify-self: center; max-width: 700px; }
.site-branding__link { display: inline-flex; align-items: center; gap: 15px; text-decoration: none; color: var(--cseas-text); }
.is-front-page .site-branding__link { color: #fff; }
.site-branding__logo img { max-height: 54px; width: auto; }
.site-branding__mark { width: 49px; height: 49px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-size: 15px; letter-spacing: .02em; }
.site-branding__text { display: grid; line-height: 1.12; }
.site-branding__text strong { font-family: var(--serif); font-weight: 400; font-size: clamp(16px, 1.6vw, 24px); letter-spacing: .01em; }
.site-branding__text small { margin-top: 6px; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }

/* Drawer */
.drawer-backdrop { position: fixed; inset: 0; z-index: 110; background: rgba(16,25,20,.46); opacity: 0; transition: opacity .28s ease; }
.drawer-backdrop.is-visible { opacity: 1; }
.site-drawer { position: fixed; inset: 0 auto 0 0; z-index: 120; width: min(390px, 100vw); background: var(--cseas-primary); color: #fff; padding: 28px 31px 34px; transform: translateX(-104%); transition: transform .35s cubic-bezier(.22,.61,.36,1); overflow-y: auto; box-shadow: var(--shadow-panel); display: flex; flex-direction: column; }
.site-drawer.is-open { transform: translateX(0); }
.site-drawer__top { display: flex; align-items: flex-start; gap: 18px; margin-bottom: 34px; }
.drawer-close { order: 2; margin-left: auto; border: 0; background: transparent; color: #fff; padding: 5px; }
.drawer-close .icon { width: 28px; height: 28px; }
.drawer-brand { display: flex; align-items: center; gap: 13px; color: #fff; text-decoration: none; max-width: 280px; }
.drawer-brand__mark { width: 51px; height: 51px; border-radius: 50%; border: 1px solid rgba(255,255,255,.82); display: grid; place-items: center; font-family: var(--serif); font-size: 14px; flex: 0 0 auto; }
.drawer-brand > span:last-child { display: grid; line-height: 1.13; }
.drawer-brand strong { font-family: var(--serif); font-size: 15px; font-weight: 400; }
.drawer-brand small { margin-top: 5px; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.drawer-nav { margin-bottom: 28px; }
.drawer-nav ul { margin: 0; padding: 0; list-style: none; }
.drawer-nav > .menu > li { position: relative; border-bottom: 0; }
.drawer-nav > .menu > li > a { display: block; padding: 13px 34px 13px 0; color: #fff; font-size: 18px; font-weight: 500; text-decoration: none; letter-spacing: .005em; }
.drawer-nav a:hover { opacity: .72; color: #fff; }
.drawer-nav .menu-item-has-children { position: relative; }
.submenu-toggle { position: absolute; right: 0; top: 7px; width: 31px; height: 31px; border: 0; border-radius: 50%; background: rgba(255,255,255,.08); color: #fff; font-size: 19px; line-height: 1; }
.drawer-nav .sub-menu { display: none; padding: 4px 0 9px 16px; }
.drawer-nav .submenu-open > .sub-menu { display: block; }
.drawer-nav .sub-menu a { display: block; padding: 6px 0; color: rgba(255,255,255,.86); font-size: 13px; line-height: 1.35; text-decoration: none; }
.drawer-tools { margin-top: auto; padding-top: 18px; }
.drawer-tools__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.language-switcher ul, .language-switcher { margin: 0; padding: 0; display: flex; gap: 17px; list-style: none; }
.language-switcher a { color: rgba(255,255,255,.55); text-decoration: none; font-weight: 700; font-size: 13px; letter-spacing: .08em; }
.language-switcher .is-active, .language-switcher .current-lang a { color: #fff; }
.drawer-search-button { border: 0; background: transparent; color: #fff; display: inline-flex; align-items: center; gap: 8px; padding: 7px 0; font-size: 12px; }
.drawer-search-button .icon { width: 21px; }
.social-links { display: flex; gap: 12px; align-items: center; }
.social-links a { width: 28px; height: 28px; border: 1px solid currentColor; border-radius: 50%; display: grid; place-items: center; font-size: 11px; text-decoration: none; }
.drawer-social { margin-top: 17px; color: #fff; }
.drawer-actions { margin: 22px -31px -34px; }
.drawer-action { min-height: 49px; border-top: 1px solid rgba(255,255,255,.46); display: flex; align-items: center; justify-content: center; color: #fff; text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: .12em; }
.drawer-action:hover { color: #fff; background: rgba(0,0,0,.08); }
.drawer-action--solid { background: rgba(0,0,0,.12); border-bottom: 1px solid rgba(255,255,255,.16); }

/* Search overlay */
.search-overlay { position: fixed; inset: 0; z-index: 130; display: grid; place-items: center; padding: 28px; background: rgba(16,31,22,.95); color: #fff; opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
.search-overlay.is-open { opacity: 1; visibility: visible; }
.search-overlay__inner { position: relative; width: min(900px, 100%); max-height: 90vh; overflow-y: auto; padding: clamp(32px, 5vw, 62px); background: var(--cseas-primary); box-shadow: var(--shadow-soft); }
.search-close { position: absolute; top: 22px; right: 22px; border: 0; background: transparent; color: #fff; padding: 8px; }
.search-close .icon { width: 29px; height: 29px; }
.search-overlay h2 { margin: 0 0 30px; font-family: var(--serif); font-size: clamp(35px, 5vw, 62px); font-weight: 400; }
.search-targets { border: 0; margin: 0 0 20px; padding: 0; display: flex; gap: 24px; }
.search-targets legend { font-size: 12px; font-weight: 700; letter-spacing: .08em; margin-bottom: 8px; }
.field-label { display: block; margin-bottom: 8px; font-size: 12px; font-weight: 700; letter-spacing: .07em; }
.search-word-row { display: grid; grid-template-columns: 1fr auto; gap: 0; }
.search-word-row input { min-width: 0; height: 52px; border: 1px solid rgba(255,255,255,.7); background: #fff; color: #111; padding: 0 14px; }
.button { min-height: 46px; padding: 11px 20px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border: 1px solid currentColor; background: transparent; text-decoration: none; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.button--dark { min-width: 120px; color: #fff; background: var(--cseas-primary-dark); border-color: var(--cseas-primary-dark); }
.button--green { color: #fff; background: var(--cseas-primary); border-color: var(--cseas-primary); }
.button--outline { color: var(--cseas-primary); background: transparent; border-color: var(--cseas-primary); }
.event-search-options { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; margin-top: 28px; padding-top: 24px; border-top: 1px solid rgba(255,255,255,.34); }
.check-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 16px; font-size: 13px; }
.date-range { display: flex; gap: 10px; align-items: center; }
.date-range input { width: 100%; min-width: 0; height: 42px; border: 1px solid rgba(255,255,255,.55); padding: 0 8px; background: rgba(255,255,255,.98); color: #111; }
.search-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 34px; }
.search-shortcuts a { padding: 13px 14px; border: 1px solid rgba(255,255,255,.6); display: flex; justify-content: space-between; align-items: center; color: #fff; text-decoration: none; font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }

/* Hero */
.home-hero { position: relative; min-height: min(780px, 92vh); display: flex; align-items: flex-end; color: #fff; background: #183a2c; overflow: hidden; }
.home-hero__media { position: absolute; inset: 0; }
.home-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,30,20,.84) 0%, rgba(9,30,20,.62) 42%, rgba(9,30,20,.16) 78%, rgba(9,30,20,.22) 100%); }
.home-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.home-hero__content { position: relative; z-index: 2; width: min(calc(100% - 80px), 1180px); margin: 0 auto; padding: 170px 0 78px; }
.home-hero__eyebrow { margin: 0 0 16px; font-size: 12px; letter-spacing: .16em; font-weight: 700; text-transform: uppercase; }
.home-hero h1 { max-width: 850px; margin: 0; font-family: var(--serif); font-size: clamp(46px, 6.2vw, 92px); line-height: .99; font-weight: 400; letter-spacing: -.025em; }
.home-hero__author { margin: 24px 0 0; font-size: 14px; font-weight: 700; }
.home-hero__excerpt { max-width: 710px; margin: 16px 0 0; font-size: 16px; line-height: 1.75; color: rgba(255,255,255,.9); }
.home-hero__link { margin-top: 27px; color: #fff; }

/* Sections */
.section { padding: clamp(68px, 8vw, 120px) 0; }
.section--paper { background: var(--cseas-paper); }
.section--green { background: var(--cseas-primary); color: #fff; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 45px; }
.section-heading h2 { margin: 0; font-family: var(--serif); font-weight: 400; font-size: clamp(42px, 5vw, 70px); line-height: 1; }
.section-heading a { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.section-heading a .icon { width: 20px; }

.news-list { border-top: 1px solid var(--cseas-border); }
.news-row { display: grid; grid-template-columns: 120px 220px minmax(0,1fr) 36px; gap: 24px; align-items: center; min-height: 105px; padding: 20px 0; border-bottom: 1px solid var(--cseas-border); text-decoration: none; }
.news-row:hover { color: var(--cseas-primary); }
.news-row__date { font-size: 12px; color: var(--cseas-muted); font-variant-numeric: tabular-nums; }
.news-row__terms { display: flex; flex-wrap: wrap; gap: 5px; }
.term-label { display: inline-flex; padding: 3px 7px; border: 1px solid var(--cseas-primary); color: var(--cseas-primary); font-size: 9px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.news-row__title { font-family: var(--serif); font-size: 19px; line-height: 1.45; }
.news-row .icon { justify-self: end; }

.event-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid rgba(255,255,255,.35); }
.event-card { position: relative; min-height: 390px; padding: 31px; border-right: 1px solid rgba(255,255,255,.35); color: inherit; text-decoration: none; display: flex; flex-direction: column; }
.event-card:last-child { border-right: 0; }
.event-card__date { display: flex; align-items: flex-end; gap: 8px; margin-bottom: 25px; }
.event-card__date strong { font-family: var(--serif); font-size: 58px; line-height: .85; font-weight: 400; }
.event-card__date span { font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.event-card__term { font-size: 10px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; opacity: .78; }
.event-card h3 { margin: 12px 0 20px; font-family: var(--serif); font-size: 24px; font-weight: 400; line-height: 1.3; }
.event-card__meta { margin-top: auto; display: grid; gap: 8px; font-size: 12px; color: rgba(255,255,255,.8); }
.event-card__meta span { display: grid; grid-template-columns: 18px 1fr; gap: 7px; }
.event-card__meta .icon { width: 16px; height: 16px; }
.event-card:hover { background: rgba(255,255,255,.06); color: #fff; }

.home-shortcuts { display: grid; grid-template-columns: 1fr 1fr; }
.home-shortcuts a { padding: 42px max(28px, calc((100vw - var(--cseas-container))/2)); min-height: 150px; display: flex; align-items: center; justify-content: space-between; text-decoration: none; border-top: 1px solid var(--cseas-border); font-family: var(--serif); font-size: clamp(30px, 4vw, 52px); }
.home-shortcuts a:first-child { background: var(--cseas-paper); border-right: 1px solid var(--cseas-border); }
.home-shortcuts a:last-child { background: #fff; }
.home-shortcuts .icon { width: 33px; height: 33px; }

/* Page hero + local nav */
.page-hero { position: relative; min-height: 330px; color: #fff; background: var(--cseas-primary-dark); display: flex; align-items: flex-end; overflow: hidden; }
.page-hero__media { position: absolute; inset: 0; opacity: .55; }
.page-hero__media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,38,24,.82), rgba(10,38,24,.25)); }
.page-hero__media img { width: 100%; height: 100%; object-fit: cover; }
.page-hero__inner { position: relative; z-index: 2; padding: 86px 0 42px; }
.page-hero__eyebrow { margin: 0 0 9px; font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.page-hero h1 { margin: 0; font-family: var(--serif); font-size: clamp(44px, 6vw, 78px); font-weight: 400; line-height: 1; }
.local-nav { border-bottom: 1px solid var(--cseas-border); background: #fff; }
.local-nav__inner { min-height: 74px; display: flex; align-items: center; gap: 8px; overflow-x: auto; }
.local-nav a { white-space: nowrap; display: inline-flex; padding: 8px 13px; color: var(--cseas-text); text-decoration: none; font-size: 12px; font-weight: 700; }
.local-nav a:hover, .local-nav a.is-active { color: var(--cseas-primary); }

/* Content */
.content-shell { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 76px; width: min(calc(100% - 64px), 1180px); margin: 0 auto; padding: 72px 0 110px; }
.content-shell--single { grid-template-columns: minmax(0, 780px) 260px; justify-content: space-between; }
.entry-content { font-size: 16px; }
.entry-content > *:first-child { margin-top: 0; }
.entry-content h2 { margin: 64px 0 20px; padding-top: 6px; font-family: var(--serif); font-size: clamp(31px, 3.3vw, 44px); font-weight: 400; line-height: 1.2; }
.entry-content h3 { margin: 38px 0 14px; font-family: var(--serif); font-size: 25px; font-weight: 400; }
.entry-content h4 { margin: 28px 0 10px; font-size: 17px; }
.entry-content p { margin: 0 0 1.45em; }
.entry-content ul, .entry-content ol { padding-left: 1.35em; }
.entry-content blockquote { margin: 40px 0; padding: 22px 26px; border-left: 3px solid var(--cseas-primary); background: var(--cseas-paper); font-family: var(--serif); font-size: 21px; }
.entry-content figure { margin: 35px 0; }
.entry-content figcaption { margin-top: 8px; color: var(--cseas-muted); font-size: 12px; }
.entry-content table { width: 100%; border-collapse: collapse; margin: 28px 0; }
.entry-content th, .entry-content td { border: 1px solid var(--cseas-border); padding: 11px 13px; text-align: left; vertical-align: top; }
.entry-content th { background: var(--cseas-paper); }
.content-sidebar { align-self: start; position: sticky; top: 25px; }
.toc-card { border-top: 3px solid var(--cseas-primary); padding: 18px 0 0; }
.toc-card h2 { margin: 0 0 13px; font-family: var(--serif); font-size: 19px; font-weight: 400; }
.toc-card ul { list-style: none; margin: 0; padding: 0; }
.toc-card li { border-top: 1px solid var(--cseas-border); }
.toc-card a { display: block; padding: 10px 0; font-size: 12px; text-decoration: none; }
.entry-meta-line { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--cseas-muted); font-size: 12px; margin-bottom: 28px; }

/* Archives */
.archive-shell { width: min(calc(100% - 64px), 1180px); margin: 0 auto; padding: 70px 0 110px; }
.archive-tools { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: end; margin-bottom: 38px; }
.archive-filters { padding: 24px; background: var(--cseas-paper); display: grid; grid-template-columns: 2fr 1fr 1fr 1fr auto; gap: 12px; align-items: end; }
.archive-filters label { display: grid; gap: 6px; font-size: 10px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.archive-filters input, .archive-filters select { min-width: 0; width: 100%; height: 43px; padding: 0 10px; border: 1px solid var(--cseas-border); background: #fff; color: var(--cseas-text); }
.archive-filters button { height: 43px; border: 0; background: var(--cseas-primary); color: #fff; padding: 0 17px; font-size: 11px; font-weight: 700; }
.archive-columns { display: grid; grid-template-columns: 220px minmax(0,1fr); gap: 55px; }
.archive-sidebar h2 { margin: 0 0 12px; font-family: var(--serif); font-size: 23px; font-weight: 400; }
.archive-sidebar section + section { margin-top: 32px; }
.archive-sidebar ul { list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--cseas-border); }
.archive-sidebar li { border-bottom: 1px solid var(--cseas-border); }
.archive-sidebar a { display: block; padding: 9px 0; text-decoration: none; font-size: 12px; }
.archive-list { border-top: 1px solid var(--cseas-border); }
.archive-list article { padding: 22px 0; border-bottom: 1px solid var(--cseas-border); }
.archive-list article h2 { margin: 8px 0 8px; font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: 1.35; }
.archive-list article h2 a { text-decoration: none; }
.archive-list article p { margin: 0; color: var(--cseas-muted); }
.archive-list__meta { display: flex; flex-wrap: wrap; gap: 8px 13px; align-items: center; font-size: 11px; color: var(--cseas-muted); }
.pagination, .nav-links { margin-top: 42px; display: flex; flex-wrap: wrap; gap: 7px; }
.page-numbers { min-width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--cseas-border); text-decoration: none; }
.page-numbers.current, .page-numbers:hover { background: var(--cseas-primary); border-color: var(--cseas-primary); color: #fff; }

/* Cards */
.card-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 30px; }
.content-card { border-bottom: 1px solid var(--cseas-border); padding-bottom: 23px; }
.content-card__image { aspect-ratio: 4 / 3; overflow: hidden; background: #edf0ed; margin-bottom: 17px; }
.content-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.content-card:hover .content-card__image img { transform: scale(1.025); }
.content-card__terms { min-height: 24px; }
.content-card h2, .content-card h3 { margin: 8px 0 9px; font-family: var(--serif); font-weight: 400; font-size: 25px; line-height: 1.32; }
.content-card h2 a, .content-card h3 a { text-decoration: none; }
.content-card p { margin: 0; color: var(--cseas-muted); font-size: 14px; }

/* Tables */
.table-scroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.people-table, .mou-table, .detail-table { width: 100%; border-collapse: collapse; }
.people-table th, .people-table td, .mou-table th, .mou-table td { padding: 14px 12px; border-bottom: 1px solid var(--cseas-border); text-align: left; vertical-align: top; }
.people-table thead th, .mou-table thead th { background: var(--cseas-paper); color: var(--cseas-muted); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.people-table tbody th { font-family: var(--serif); font-size: 17px; font-weight: 400; min-width: 190px; }
.people-table a { text-decoration: none; }
.group-heading { margin: 60px 0 13px; font-family: var(--serif); font-size: 34px; font-weight: 400; }
.table-search { width: min(100%, 460px); height: 46px; border: 1px solid var(--cseas-border); padding: 0 13px; margin-bottom: 18px; }
.mou-table button { border: 0; background: transparent; padding: 0; font-weight: inherit; color: inherit; }
.detail-table-wrap { margin: 30px 0; overflow-x: auto; }
.detail-table th, .detail-table td { padding: 15px 14px; border-bottom: 1px solid var(--cseas-border); text-align: left; vertical-align: top; }
.detail-table th { width: 185px; background: var(--cseas-paper); font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }

/* Person */
.person-header { display: grid; grid-template-columns: 280px minmax(0,1fr); gap: 55px; margin-bottom: 45px; }
.person-photo { aspect-ratio: 4 / 5; overflow: hidden; background: var(--cseas-paper); }
.person-photo img { width: 100%; height: 100%; object-fit: cover; }
.person-kicker { color: var(--cseas-primary); font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.person-header h1 { margin: 7px 0 10px; font-family: var(--serif); font-size: clamp(40px, 5vw, 66px); font-weight: 400; line-height: 1; }
.person-position { font-size: 17px; }
.person-area { margin-top: 18px; color: var(--cseas-muted); }
.person-links { display: flex; flex-wrap: wrap; gap: 9px; margin-top: 20px; }
.person-links a { padding: 8px 11px; border: 1px solid var(--cseas-border); text-decoration: none; font-size: 11px; }

/* Event single */
.single-event-title .page-hero { min-height: 420px; }
.event-kicker { display: inline-flex; margin-bottom: 12px; padding: 4px 8px; border: 1px solid rgba(255,255,255,.7); font-size: 10px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.event-title-sub { max-width: 900px; margin: 12px 0 0; font-size: 20px; line-height: 1.45; color: rgba(255,255,255,.88); }

/* Footer */
.site-footer { background: var(--cseas-footer); color: #fff; }
.site-footer a { color: inherit; text-decoration: none; }
.site-footer__top { padding: 80px 0 58px; display: grid; grid-template-columns: 300px minmax(0,1fr); gap: 70px; }
.footer-brand a { display: flex; gap: 13px; align-items: center; }
.footer-brand__mark { width: 57px; height: 57px; border: 1px solid rgba(255,255,255,.8); border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); }
.footer-brand a > span:last-child { display: grid; line-height: 1.15; }
.footer-brand strong { font-family: var(--serif); font-size: 18px; font-weight: 400; }
.footer-brand small { margin-top: 5px; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.footer-brand p { margin: 24px 0; color: rgba(255,255,255,.68); font-size: 12px; }
.footer-social { color: #fff; }
.footer-nav-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; }
.footer-nav-grid h2 { margin: 0 0 13px; font-family: var(--sans); font-size: 10px; letter-spacing: .13em; font-weight: 700; }
.footer-nav-grid ul { list-style: none; margin: 0; padding: 0; }
.footer-nav-grid li + li { margin-top: 8px; }
.footer-nav-grid a { font-size: 12px; color: rgba(255,255,255,.72); }
.footer-nav-grid a:hover { color: #fff; }
.footer-fallback { margin-top: 0 !important; }
.footer-nav-grid .menu + .footer-fallback { margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid rgba(255,255,255,.15); }
.site-footer__utility { padding: 25px 0; border-top: 1px solid rgba(255,255,255,.17); border-bottom: 1px solid rgba(255,255,255,.17); }
.footer-utility-menu, .footer-utility-fallback { display: flex; flex-wrap: wrap; gap: 15px 25px; list-style: none; margin: 0; padding: 0; }
.footer-utility-menu a, .footer-utility-fallback a { font-size: 10px; letter-spacing: .04em; color: rgba(255,255,255,.72); }
.site-footer__bottom { padding: 23px 0; }
.site-footer__bottom p { margin: 0; font-size: 9px; letter-spacing: .06em; color: rgba(255,255,255,.55); }

/* Generic / errors */
.empty-state { padding: 55px 0; border-top: 1px solid var(--cseas-border); border-bottom: 1px solid var(--cseas-border); }
.error-404 { text-align: center; padding: 120px 0; }
.error-404 strong { display: block; font-family: var(--serif); font-size: clamp(90px, 16vw, 210px); font-weight: 400; color: var(--cseas-primary); line-height: .9; }
.error-404 h1 { font-family: var(--serif); font-size: 40px; font-weight: 400; }
.search-results-grid { display: grid; gap: 0; border-top: 1px solid var(--cseas-border); }
.search-result { padding: 25px 0; border-bottom: 1px solid var(--cseas-border); }
.search-result__type { font-size: 10px; color: var(--cseas-primary); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.search-result h2 { margin: 6px 0; font-family: var(--serif); font-size: 27px; font-weight: 400; }
.search-result h2 a { text-decoration: none; }

/* Responsive */
@media (max-width: 1024px) {
  :root { --cseas-header: 78px; }
  .site-header__inner { padding: 0 22px; grid-template-columns: 95px minmax(0,1fr) 44px; }
  .site-branding__text strong { font-size: 17px; }
  .home-hero__content { width: min(calc(100% - 54px), 1180px); }
  .event-grid { grid-template-columns: 1fr; }
  .event-card { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.35); }
  .event-card:last-child { border-bottom: 0; }
  .content-shell, .content-shell--single { grid-template-columns: minmax(0,1fr); gap: 38px; }
  .content-sidebar { position: static; order: -1; }
  .toc-card ul { display: grid; grid-template-columns: repeat(2,1fr); }
  .toc-card li { padding-right: 15px; }
  .archive-columns { grid-template-columns: 1fr; }
  .archive-sidebar { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; }
  .archive-sidebar section + section { margin-top: 0; }
  .archive-filters { grid-template-columns: 1fr 1fr 1fr; }
  .archive-filters label:first-child { grid-column: span 2; }
  .card-grid { grid-template-columns: repeat(2,1fr); }
  .site-footer__top { grid-template-columns: 1fr; }
  .footer-nav-grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 720px) {
  .container-wide, .archive-shell, .content-shell, .content-shell--single { width: min(calc(100% - 36px), var(--cseas-container)); }
  .site-header__inner { height: 70px; padding: 0 13px; grid-template-columns: 65px minmax(0,1fr) 40px; gap: 8px; }
  .menu-trigger { padding: 6px 0; gap: 5px; }
  .menu-trigger .icon { width: 21px; }
  .menu-trigger span:last-child { font-size: 9px; }
  .site-branding__mark { width: 38px; height: 38px; font-size: 11px; }
  .site-branding__text strong { font-size: 11px; line-height: 1.12; }
  .site-branding__text small { font-size: 6.5px; margin-top: 3px; }
  .search-trigger .icon { width: 20px; }
  .site-drawer { width: min(360px, 100vw); padding: 22px 25px 28px; }
  .drawer-actions { margin: 22px -25px -28px; }
  .home-hero { min-height: 720px; }
  .home-hero__media::after { background: linear-gradient(0deg, rgba(8,28,18,.86) 0%, rgba(8,28,18,.48) 58%, rgba(8,28,18,.28) 100%); }
  .home-hero__content { width: calc(100% - 38px); padding: 135px 0 45px; }
  .home-hero h1 { font-size: clamp(40px, 12vw, 61px); }
  .home-hero__excerpt { font-size: 14px; }
  .section { padding: 64px 0; }
  .section-heading { align-items: flex-start; flex-direction: column; margin-bottom: 28px; }
  .section-heading h2 { font-size: 43px; }
  .news-row { grid-template-columns: 1fr 28px; gap: 8px 12px; min-height: 0; padding: 18px 0; }
  .news-row__date, .news-row__terms { grid-column: 1; }
  .news-row__title { grid-column: 1; font-size: 18px; }
  .news-row .icon { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  .event-card { padding: 25px; }
  .event-card__date strong { font-size: 50px; }
  .home-shortcuts { grid-template-columns: 1fr; }
  .home-shortcuts a { min-height: 110px; padding: 28px 20px; font-size: 32px; }
  .home-shortcuts a:first-child { border-right: 0; }
  .page-hero { min-height: 260px; }
  .page-hero__inner { padding: 92px 0 34px; }
  .page-hero h1 { font-size: 48px; }
  .content-shell, .content-shell--single { padding: 48px 0 78px; }
  .toc-card ul { grid-template-columns: 1fr; }
  .archive-shell { padding: 48px 0 78px; }
  .archive-tools { grid-template-columns: 1fr; }
  .archive-filters { grid-template-columns: 1fr; padding: 18px; }
  .archive-filters label:first-child { grid-column: auto; }
  .archive-sidebar { grid-template-columns: 1fr; }
  .card-grid { grid-template-columns: 1fr; }
  .person-header { grid-template-columns: 1fr; gap: 28px; }
  .person-photo { max-width: 320px; }
  .person-header h1 { font-size: 45px; }
  .search-overlay { padding: 0; }
  .search-overlay__inner { min-height: 100vh; max-height: 100vh; padding: 70px 20px 30px; }
  .search-targets, .event-search-options, .search-shortcuts { grid-template-columns: 1fr; }
  .event-search-options { gap: 20px; }
  .check-grid { grid-template-columns: 1fr 1fr; }
  .search-word-row { grid-template-columns: 1fr 55px; }
  .search-word-row .button { min-width: 0; padding-inline: 13px; }
  .search-word-row .button span:last-child { display: none; }
  .site-footer__top { padding: 55px 0 40px; gap: 42px; }
  .footer-nav-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; }
}

@media (max-width: 430px) {
  .site-branding__text small { display: none; }
  .footer-nav-grid { grid-template-columns: 1fr; }
  .check-grid { grid-template-columns: 1fr; }
  .date-range { flex-direction: column; align-items: stretch; }
  .date-range span { text-align: center; }
}

/* Featured story carousel */
.home-hero--slider { display: block; }
.home-hero__slides { position: relative; min-height: min(780px, 92vh); }
.home-hero__slide { position: absolute; inset: 0; display: flex; align-items: flex-end; opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .65s ease, visibility .65s ease; }
.home-hero__slide.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
.home-hero__slide .home-hero__media { z-index: 0; }
.home-hero__slide .home-hero__content { width: min(calc(100% - 80px), 1180px); }
.home-hero__controls { position: absolute; z-index: 4; right: max(34px, calc((100vw - var(--cseas-container))/2)); bottom: 54px; display: flex; gap: 10px; align-items: center; }
.home-hero__dot { width: 10px; height: 10px; padding: 0; border: 1px solid rgba(255,255,255,.9); border-radius: 50%; background: transparent; transition: background .2s ease, transform .2s ease; }
.home-hero__dot.is-active { background: #fff; transform: scale(1.15); }
@media (max-width: 720px) {
  .home-hero__slides { min-height: 720px; }
  .home-hero__slide .home-hero__content { width: calc(100% - 38px); }
  .home-hero__controls { left: 19px; right: auto; bottom: 23px; }
}

.archive-switcher { background:#fff; border-bottom:1px solid var(--cseas-border); }
.archive-switcher .container-wide { display:flex; }
.archive-switcher a { min-width:150px; padding:18px 26px; text-align:center; text-decoration:none; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; border-right:1px solid var(--cseas-border); }
.archive-switcher a:first-child { border-left:1px solid var(--cseas-border); }
.archive-switcher a.is-active { background:var(--cseas-primary); color:#fff; }
.mou-tools { display:grid; grid-template-columns:minmax(0,460px) 220px; gap:12px; align-items:start; margin-bottom:18px; }
.mou-tools .table-search { margin-bottom:0; width:100%; }
.table-country-filter { height:46px; border:1px solid var(--cseas-border); background:#fff; padding:0 12px; }
@media (max-width:720px){.archive-switcher a{flex:1;min-width:0;padding:15px 12px}.mou-tools{grid-template-columns:1fr}.table-country-filter{width:100%}}

/* ================================================================
   Reference-alignment pass 1.1
   The drawer geometry is benchmarked against the supplied 298×716
   reference capture. Original theme code/assets only.
   ================================================================ */
:root {
  --cseas-drawer: #0ea431;
  --cseas-drawer-rgb: 14, 164, 49;
  --cseas-charcoal: #4c4c4c;
}

/* Reference drawer: x=15, width=200, max reference height=658. */
.drawer-backdrop { background: transparent; pointer-events: none; }
.drawer-backdrop.is-visible { pointer-events: auto; }
.site-drawer {
  inset: 0 auto auto 15px;
  width: 200px;
  height: min(658px, calc(100vh - 16px));
  min-height: 0;
  padding: 0;
  display: block;
  overflow-y: auto;
  overflow-x: hidden;
  background: rgba(var(--cseas-drawer-rgb), .85);
  box-shadow: 0 4px 12px rgba(0, 0, 0, .20);
  transform: translateX(calc(-100% - 24px));
  transition: transform .28s cubic-bezier(.22,.61,.36,1);
  scrollbar-width: thin;
}
.site-drawer.is-open { transform: translateX(0); }
.drawer-close {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}
.drawer-close:focus-visible {
  clip: auto !important;
  clip-path: none !important;
  width: 34px !important;
  height: 34px !important;
  margin: 0 !important;
  padding: 6px !important;
  right: 6px;
  top: 6px;
  z-index: 4;
  background: rgba(0,0,0,.2);
}
.site-drawer__top { height: 141px; margin: 0; padding: 26px 22px 0; display: block; }
.drawer-brand { display: block; max-width: none; color: #fff; text-decoration: none; }
.brand-symbol--drawer { display: block; width: 154px; height: 48px; color: #fff; }
.brand-symbol--drawer .brand-symbol__image { width: 154px; height: 48px; object-fit: contain; object-position: left center; }
.drawer-brand__text, .drawer-brand > span:last-child { display: block; margin-top: 7px; line-height: 1.08; }
.drawer-brand strong, .drawer-brand small {
  display: block;
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  font-size: 8.5px;
  line-height: 1.06;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

.drawer-nav { height: 282px; margin: 0; padding: 0 0 0 30px; }
.drawer-nav > .menu, .drawer-nav ul { margin: 0; padding: 0; list-style: none; }
.drawer-nav > .menu > li { margin: 0; padding: 0; }
.drawer-nav > .menu > li > a {
  height: 55px;
  padding: 13px 5px 12px 0;
  display: flex;
  align-items: center;
  color: #fff;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 18px;
  line-height: 1.18;
  font-weight: 700;
  letter-spacing: .035em;
  text-decoration: none;
}
.drawer-nav > .menu > li:nth-child(4) > a { height: 61px; }
.drawer-nav a:hover, .drawer-nav a:focus { color: #fff; opacity: .76; }
.drawer-nav .submenu-toggle, .drawer-nav .sub-menu { display: none !important; }

.drawer-tools { height: 44px; margin: 0; padding: 0 27px 0 14px; }
.drawer-tools__row { height: 44px; display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.language-switcher, .language-switcher ul { margin: 0; padding: 0; display: flex; gap: 26px; align-items: center; list-style: none; }
.language-switcher li { margin: 0; }
.language-switcher a { padding: 0; color: #fff; font: 700 15px/1 Arial, Helvetica, sans-serif; letter-spacing: .04em; text-decoration: none; }
.language-switcher a:hover, .language-switcher a:focus { color: #fff; opacity: .72; }
.drawer-search-button { margin: 0; padding: 0; border: 0; background: transparent; color: #fff; }
.drawer-search-button .icon { width: 26px; height: 26px; }

.drawer-social-band {
  height: 57px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  background: rgba(0, 0, 0, .18);
}
.drawer-social { width: 172px; margin: 0; display: flex; align-items: center; justify-content: space-between; gap: 0; color: #fff; }
.social-links .social-link { position: relative; width: 24px; height: 24px; display: inline-grid; place-items: center; color: #fff; border: 0; border-radius: 0; text-decoration: none; }
.social-links .social-link.is-disabled { opacity: 1; }
.social-links .social-icon { width: 21px; height: 21px; display: block; }
.drawer-social .social-link:not(.social-link--youtube)::after {
  content: '';
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #e94553;
}
.drawer-social .social-icon-cut { fill: rgba(var(--cseas-drawer-rgb), .95); }

.drawer-actions {
  height: 134px;
  margin: 0;
  padding: 4px 30px 18px;
  display: grid;
  grid-template-columns: 140px;
  align-content: start;
  gap: 12px;
}
.drawer-action {
  width: 140px;
  min-height: 27px;
  height: 27px;
  padding: 0 6px;
  border: 1px solid rgba(255,255,255,.95);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  background: transparent;
  font: 700 11.5px/1 Arial, Helvetica, sans-serif;
  letter-spacing: 0;
  text-transform: none;
  text-decoration: none;
}
.drawer-action:hover, .drawer-action:focus { color: #fff; background: rgba(255,255,255,.08); }
.drawer-action--solid {
  margin-top: 4px;
  height: 29px;
  border-color: transparent;
  background: rgba(225,244,231,.74);
  color: #426c50;
  font-weight: 400;
  gap: 5px;
}
.drawer-action--solid:hover, .drawer-action--solid:focus { background: rgba(237,249,240,.88); color: #355d41; }
.drawer-action__staff-icon { font-size: 12px; line-height: 1; transform: rotate(180deg); }

/* Hero moves closer to the public site's editorial, light research-feature rhythm. */
.is-front-page .site-header { border-bottom-color: rgba(32,55,43,.14); }
.is-front-page .menu-trigger, .is-front-page .search-trigger, .is-front-page .site-branding__link { color: #213329; }
.home-hero { min-height: min(690px, 90vh); color: #163f27; background: #ededeb; align-items: stretch; }
.home-hero__slides { min-height: min(690px, 90vh); }
.home-hero__slide { align-items: stretch; }
.home-hero__media { left: 52%; right: 0; }
.home-hero__media::after { background: linear-gradient(90deg, #ededeb 0%, rgba(237,237,235,.97) 24%, rgba(237,237,235,.63) 63%, rgba(237,237,235,.08) 100%); }
.home-hero__content, .home-hero__slide .home-hero__content { width: min(calc(100% - 80px), 1180px); margin: 0 auto; padding: 165px 0 72px; color: #163f27; }
.home-hero h1 { max-width: 690px; font-size: clamp(43px, 5.2vw, 77px); line-height: 1.01; letter-spacing: -.03em; }
.home-hero__author { color: #234d34; }
.home-hero__excerpt { max-width: 630px; color: #3c5547; }
.home-hero__link { color: #163f27; }
.home-hero__dot { border-color: #305a3f; }
.home-hero__dot.is-active { background: #305a3f; }
.section--green { background: var(--cseas-charcoal); }

/* Event archive structure mirrors the public list more closely. */
.event-archive-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 70px; align-items: start; }
.event-archive-sidebar { position: sticky; top: 28px; }
.event-archive-sidebar h2 { margin: 0 0 15px; font-size: 11px; line-height: 1.3; letter-spacing: .14em; text-transform: uppercase; }
.event-archive-sidebar section + section { margin-top: 38px; }
.event-archive-sidebar ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--cseas-border); }
.event-archive-sidebar li { border-bottom: 1px solid var(--cseas-border); }
.event-archive-sidebar a { display: block; padding: 10px 0; color: var(--cseas-muted); font-size: 13px; text-decoration: none; }
.event-archive-row { display: grid !important; grid-template-columns: 90px minmax(0,1fr); gap: 25px; padding: 29px 0 !important; }
.event-archive-date { text-align: center; align-self: start; }
.event-archive-date strong { display: block; font: 400 45px/.9 var(--serif); }
.event-archive-date span { display: block; margin-top: 7px; color: var(--cseas-muted); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.event-archive-content h2 { margin: 9px 0 12px !important; }
.event-archive-details { display: grid; gap: 3px; color: var(--cseas-muted); font-size: 12px; }
.archive-filters--compact { margin: 0 0 42px; }
.archive-filter-toggle { border: 1px solid var(--cseas-border); }
.archive-filter-toggle > summary { padding: 14px 18px; cursor: pointer; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.archive-filter-toggle .archive-filters { margin: 0; border: 0; border-top: 1px solid var(--cseas-border); }

/* Campus map / location modal, built from original assets and editable CPT data. */
.campus-map-shell { width: min(calc(100% - 64px), 1180px); margin: 0 auto; padding: 72px 0 110px; }
.campus-map-intro { max-width: 780px; margin-bottom: 40px; }
.campus-map-visual { position: relative; min-height: 520px; overflow: hidden; border: 1px solid var(--cseas-border); background: #eef0eb; }
.campus-map-visual > img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; }
.campus-location-grid { margin-top: 32px; display: grid; grid-template-columns: repeat(4,1fr); gap: 1px; background: var(--cseas-border); border: 1px solid var(--cseas-border); }
.campus-location-card { min-height: 166px; padding: 24px 20px; background: #fff; border: 0; text-align: left; color: var(--cseas-text); }
.campus-location-card span { display: block; color: var(--cseas-primary-dark); font-size: 10px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.campus-location-card strong { display: block; margin-top: 12px; font: 400 24px/1.2 var(--serif); }
.campus-location-card:hover { background: var(--cseas-primary-soft); }
.campus-map-downloads { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.campus-modal { position: fixed; inset: 0; z-index: 160; display: none; place-items: center; padding: 24px; background: rgba(22,29,25,.62); }
.campus-modal.is-open { display: grid; }
.campus-modal__dialog { position: relative; width: min(820px, 100%); max-height: 88vh; overflow-y: auto; background: #fff; box-shadow: var(--shadow-soft); }
.campus-modal__image { aspect-ratio: 16 / 7; overflow: hidden; background: #edf0ed; }
.campus-modal__image img { width: 100%; height: 100%; object-fit: cover; }
.campus-modal__body { padding: 34px 40px 42px; }
.campus-modal__body h2 { margin: 0 0 18px; font: 400 clamp(30px,4vw,48px)/1.05 var(--serif); }
.campus-modal__close { position: absolute; top: 12px; right: 12px; z-index: 2; width: 42px; height: 42px; border: 0; background: rgba(255,255,255,.94); color: var(--cseas-text); }
.campus-location-meta { margin: 18px 0; padding: 18px 0; border-top: 1px solid var(--cseas-border); border-bottom: 1px solid var(--cseas-border); font-size: 13px; }
.campus-location-meta p { margin: 5px 0; }

/* Full footer information architecture. */
.site-footer__top { grid-template-columns: 240px minmax(0,1fr); gap: 52px; }
.footer-nav-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 30px; }
.footer-nav-grid h2 { font-size: 11px; letter-spacing: .12em; }
.footer-nav-grid ul ul { margin-top: 7px; }
.footer-nav-grid .footer-link-group-label { margin-top: 13px; opacity: .65; font-size: 9px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.footer-nav-grid li { line-height: 1.35; }
.footer-nav-grid a { display: inline-block; padding: 4px 0; font-size: 10.5px; color: rgba(255,255,255,.76); }
.footer-nav-grid a:hover { color: #fff; }
.footer-utility-fallback, .footer-utility-menu { flex-wrap: wrap; }

.event-search-options[aria-hidden="true"] { display: none; }

@media (max-width: 1100px) {
  .footer-nav-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .campus-location-grid { grid-template-columns: repeat(2,1fr); }
  .event-archive-layout { grid-template-columns: minmax(0,1fr) 220px; gap: 42px; }
}

@media (max-width: 720px) {
  .site-drawer { left: 15px; width: 200px; height: min(658px, calc(100vh - 16px)); padding: 0; }
  .drawer-actions { margin: 0; }
  .home-hero, .home-hero__slides { min-height: 620px; }
  .home-hero__media { inset: 0; opacity: .14; }
  .home-hero__media::after { background: rgba(237,237,235,.80); }
  .home-hero__content, .home-hero__slide .home-hero__content { width: calc(100% - 38px); padding: 125px 0 52px; }
  .home-hero h1 { font-size: clamp(38px, 11.5vw, 58px); }
  .home-hero__excerpt { color: #3c5547; font-size: 14px; }
  .home-hero__controls { left: 19px; bottom: 20px; }
  .event-archive-layout { grid-template-columns: 1fr; }
  .event-archive-sidebar { position: static; display: grid; grid-template-columns: 1fr 1fr; gap: 26px; }
  .event-archive-sidebar section + section { margin-top: 0; }
  .campus-map-shell { width: calc(100% - 36px); padding: 48px 0 78px; }
  .campus-map-visual, .campus-map-visual > img { min-height: 340px; }
  .campus-modal { padding: 0; }
  .campus-modal__dialog { width: 100%; max-height: 100vh; min-height: 100vh; }
  .campus-modal__body { padding: 28px 20px 36px; }
  .footer-nav-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 430px) {
  .site-drawer { left: max(0px, min(15px, calc((100vw - 200px)/2))); width: min(200px, calc(100vw - 14px)); }
  .event-archive-row { grid-template-columns: 66px minmax(0,1fr); gap: 15px; }
  .event-archive-date strong { font-size: 38px; }
  .event-archive-sidebar, .campus-location-grid, .footer-nav-grid { grid-template-columns: 1fr; }
}
.brand-symbol--footer { width: 132px; height: 42px; margin-bottom: 16px; color: #fff; }
.footer-brand > a { display: block; }
.footer-brand > a > span:not(.brand-symbol) { display: grid; line-height: 1.18; }
.footer-brand > a strong { font-family: var(--serif); font-size: 17px; font-weight: 400; }
.footer-brand > a small { margin-top: 5px; font-size: 9px; color: rgba(255,255,255,.63); }
.brand-symbol--header { width: 58px; height: 34px; color: currentColor; flex: 0 0 auto; }
.brand-symbol--header .brand-symbol__image { width: 58px; height: 34px; object-fit: contain; }
@media (max-width:720px){.brand-symbol--header{width:44px;height:28px}.site-branding__text small{display:none}}
.archive-sidebar li > span { display:block; padding:8px 0; color:var(--cseas-muted); font-size:12px; }
.local-nav a.is-active { color:var(--cseas-primary-dark); font-weight:700; }
/* Pixel geometry correction from the supplied 298×716 drawer reference. */
.drawer-actions { padding-top: 3px; gap: 13px; }
.drawer-action--solid { margin-top: 4px; }
.language-switcher .is-unavailable { color:#fff; font:700 15px/1 Arial,Helvetica,sans-serif; letter-spacing:.04em; opacity:.72; }

/* =========================================================
   v2.0 public-structure parity components
   ========================================================= */
.reference-section { padding: 58px 0 62px; border-bottom: 1px solid var(--cseas-border); }
.reference-section:first-child { padding-top: 0; }
.reference-section:last-child { border-bottom: 0; }
.reference-section > h2:first-of-type { margin-top: 0; }
.reference-section--lead { font-size: 17px; }
.reference-intro { padding-bottom: 48px; margin-bottom: 10px; border-bottom: 1px solid var(--cseas-border); }
.section-kicker { margin: 0 0 9px !important; color: var(--cseas-primary); font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.reference-feature-image { margin: 28px 0 34px !important; overflow: hidden; background: #eef1ed; }
.reference-feature-image img { width: 100%; aspect-ratio: 16/8.6; object-fit: cover; }
.resource-actions, .event-detail-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 26px 0; }
.text-arrow { display: inline-flex; align-items: center; gap: 8px; color: var(--cseas-primary); font-size: 12px; font-weight: 750; letter-spacing: .045em; text-decoration: none; }
.text-arrow .icon { width: 18px; height: 18px; }
.empty-note { padding: 18px 20px; background: var(--cseas-paper); color: var(--cseas-muted); font-size: 13px; }
.last-updated { margin: 22px 0 12px !important; color: var(--cseas-muted); font-size: 11px; letter-spacing: .05em; text-transform: uppercase; }

.reference-card-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
.reference-card { min-width: 0; }
.reference-card__media { display: block; aspect-ratio: 16/10; overflow: hidden; background: #edf0ed; }
.reference-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.reference-card:hover .reference-card__media img { transform: scale(1.025); }
.reference-card h3 { margin: 12px 0 0; font-family: var(--serif); font-size: 20px; font-weight: 400; line-height: 1.35; }
.reference-card h3 a { text-decoration: none; }

.division-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--cseas-border); }
.division-grid article { position: relative; min-height: 190px; padding: 24px 28px 28px 62px; border-right: 1px solid var(--cseas-border); border-bottom: 1px solid var(--cseas-border); }
.division-grid article:nth-child(2n) { border-right: 0; }
.division-grid__number { position: absolute; left: 18px; top: 25px; color: var(--cseas-primary); font-family: var(--serif); font-size: 20px; }
.division-grid h3 { margin: 0 0 11px; font-size: 24px; }
.division-grid p { margin: 0; color: var(--cseas-muted); font-size: 13px; }
.office-section__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(280px,.8fr); gap: 36px; align-items: start; }
.office-section__map { min-height: 260px; background: #edf0ed; }
.office-section__map img { width: 100%; height: 100%; min-height: 260px; object-fit: cover; }

.project-list { border-top: 1px solid var(--cseas-border); }
.project-row { display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 30px; padding: 25px 0; border-bottom: 1px solid var(--cseas-border); }
.project-row__media { aspect-ratio: 16/10; overflow: hidden; background: #edf0ed; }
.project-row__media img { width: 100%; height: 100%; object-fit: cover; }
.project-row__meta { color: var(--cseas-primary); font-size: 10px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.project-row h3 { margin: 7px 0 8px; font-size: 27px; line-height: 1.25; }
.project-row h3 a { text-decoration: none; }
.project-row p { margin: 0; color: var(--cseas-muted); font-size: 13px; }
.portal-callout { position: relative; padding-right: 90px; }
.portal-callout::after { content:'↗'; position:absolute; right:12px; top:50%; transform:translateY(-50%); color:var(--cseas-primary); font-family:var(--serif); font-size:42px; }
.portal-grid { display: grid; gap: 20px; }
.portal-grid--2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.portal-grid article { padding: 26px; border: 1px solid var(--cseas-border); background: #fff; }
.portal-grid article h3 { margin-top:0; }
.database-list { border-top: 1px solid var(--cseas-border); }
.database-list article { padding: 21px 0; border-bottom: 1px solid var(--cseas-border); }
.database-list article h3 { margin: 0 0 6px; }
.database-list article p { margin: 0; color: var(--cseas-muted); }

.series-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.series-card { padding: 27px; border:1px solid var(--cseas-border); background:#fff; }
.series-card h3 { margin:0 0 20px; font-size:24px; line-height:1.3; }
.series-card dl { margin:0 0 18px; }
.series-card dl div { display:grid; grid-template-columns:135px 1fr; gap:12px; padding:8px 0; border-top:1px solid var(--cseas-border); }
.series-card dt { color:var(--cseas-muted); font-size:10px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.series-card dd { margin:0; font-size:13px; }
.series-grid--compact .series-card { background:var(--cseas-paper); }
.publication-portal { min-height:180px; }
.publication-filters { grid-template-columns: 1.45fr 1fr 1fr .7fr auto; margin-bottom:30px; }
.publication-results { border-top:1px solid var(--cseas-border); }
.publication-row { display:grid; grid-template-columns:112px minmax(0,1fr); gap:26px; padding:23px 0; border-bottom:1px solid var(--cseas-border); }
.publication-row__cover { aspect-ratio: 5/7; background:#edf0ed; overflow:hidden; }
.publication-row__cover img { width:100%; height:100%; object-fit:cover; }
.publication-row__meta { color:var(--cseas-muted); font-size:10px; text-transform:uppercase; letter-spacing:.07em; }
.publication-row h3, .publication-row h2 { margin:7px 0; font-family:var(--serif); font-size:24px; font-weight:400; line-height:1.3; }
.publication-row h3 a, .publication-row h2 a { text-decoration:none; }
.publication-row p { margin:0; color:var(--cseas-muted); font-size:13px; }

.anchor-tabs { display:flex; flex-wrap:wrap; gap:0; margin:0 0 35px; border:1px solid var(--cseas-border); }
.anchor-tabs a { flex:1 1 180px; padding:13px 16px; border-right:1px solid var(--cseas-border); color:var(--cseas-text); text-decoration:none; text-align:center; font-size:11px; font-weight:750; letter-spacing:.045em; }
.anchor-tabs a:last-child { border-right:0; }
.anchor-tabs a:hover { background:var(--cseas-primary); color:#fff; }
.fellowship-status { display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; margin:0 0 40px; padding:24px 27px; background:var(--cseas-paper); border-left:4px solid var(--cseas-primary); }
.fellowship-status span { font-family:var(--serif); font-size:24px; }
.fellowship-status strong { color:var(--cseas-primary); font-size:11px; letter-spacing:.08em; text-transform:uppercase; }
.testimonial-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.testimonial-card { display:grid; grid-template-columns:130px minmax(0,1fr); gap:20px; padding:20px; border:1px solid var(--cseas-border); }
.testimonial-card__image { aspect-ratio:4/5; overflow:hidden; background:#edf0ed; }
.testimonial-card__image img { width:100%; height:100%; object-fit:cover; }
.testimonial-card__meta { margin:0 0 6px!important; color:var(--cseas-primary); font-size:10px; font-weight:750; letter-spacing:.07em; text-transform:uppercase; }
.testimonial-card h3 { margin:0 0 9px; font-size:23px; }
.testimonial-card p { font-size:13px; }

.people-category-rail { display:flex; flex-wrap:wrap; gap:0; margin-bottom:35px; border-top:1px solid var(--cseas-border); border-left:1px solid var(--cseas-border); }
.people-category-rail a { flex:1 1 240px; padding:11px 14px; border-right:1px solid var(--cseas-border); border-bottom:1px solid var(--cseas-border); text-decoration:none; font-size:11px; }
.group-heading-row { display:flex; align-items:end; justify-content:space-between; gap:20px; }
.group-heading-row .group-heading { margin-bottom:13px; }

.mou-tools { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:12px; align-items:start; margin:26px 0 10px; }
.table-country-filter { height:46px; border:1px solid var(--cseas-border); padding:0 12px; background:#fff; }
.network-section { padding-right:50px; }

.faq-section details { border-top:1px solid var(--cseas-border); }
.faq-section details:last-child { border-bottom:1px solid var(--cseas-border); }
.faq-section summary { position:relative; padding:18px 42px 18px 0; cursor:pointer; font-weight:650; list-style:none; }
.faq-section summary::-webkit-details-marker { display:none; }
.faq-section summary::after { content:'+'; position:absolute; right:8px; top:15px; color:var(--cseas-primary); font-size:24px; font-weight:300; }
.faq-section details[open] summary::after { content:'−'; }
.faq-section details p { padding:0 38px 18px 0; color:var(--cseas-muted); }
.stat-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px; background:var(--cseas-border); border:1px solid var(--cseas-border); }
.stat-grid > div { display:grid; place-items:center; min-height:150px; padding:20px; background:#fff; text-align:center; }
.stat-grid strong { display:block; color:var(--cseas-primary); font-family:var(--serif); font-size:58px; font-weight:400; line-height:1; }
.stat-grid span { margin-top:8px; color:var(--cseas-muted); font-size:11px; text-transform:uppercase; letter-spacing:.07em; }
.mini-news-list { border-top:1px solid var(--cseas-border); }
.mini-news-list article { display:grid; grid-template-columns:150px minmax(0,1fr); gap:20px; padding:15px 0; border-bottom:1px solid var(--cseas-border); }
.mini-news-list time { color:var(--cseas-muted); font-size:11px; }
.mini-news-list a { text-decoration:none; }
.single-feature-image { margin:0 0 35px; }
.single-feature-image img { width:100%; height:auto; }
.single-feature-image--portrait { max-width:340px; }
.post-navigation-inline { display:flex; justify-content:space-between; gap:20px; margin-top:55px; padding-top:22px; border-top:1px solid var(--cseas-border); }
.post-navigation-inline a { max-width:47%; text-decoration:none; font-family:var(--serif); font-size:17px; }
.archive-description { padding:18px 0 24px; color:var(--cseas-muted); }
.archive-sidebar a.is-active { color:var(--cseas-primary); font-weight:700; }

/* Reference-like active TOC state */
.toc-card a.is-current { color:var(--cseas-primary); font-weight:700; }
.toc-card .toc-subitem a { padding-left:13px; color:var(--cseas-muted); }

@media (max-width: 1024px) {
  .reference-card-grid, .series-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .publication-filters { grid-template-columns:1fr 1fr; }
  .publication-filters .button { min-height:43px; }
  .testimonial-grid { grid-template-columns:1fr; }
}
@media (max-width: 720px) {
  .reference-section { padding:43px 0 46px; }
  .reference-card-grid, .series-grid, .division-grid, .portal-grid--2 { grid-template-columns:1fr; }
  .division-grid article, .division-grid article:nth-child(2n) { border-right:0; }
  .office-section__grid { grid-template-columns:1fr; }
  .project-row { grid-template-columns:1fr; gap:16px; }
  .project-row__media { max-width:360px; }
  .portal-callout { padding-right:0; }
  .portal-callout::after { display:none; }
  .publication-row { grid-template-columns:82px minmax(0,1fr); gap:16px; }
  .publication-filters { grid-template-columns:1fr; }
  .anchor-tabs { display:block; }
  .anchor-tabs a { display:block; border-right:0; border-bottom:1px solid var(--cseas-border); text-align:left; }
  .anchor-tabs a:last-child { border-bottom:0; }
  .fellowship-status { grid-template-columns:1fr; gap:5px; }
  .testimonial-card { grid-template-columns:92px minmax(0,1fr); padding:15px; }
  .people-category-rail { display:block; border-bottom:0; }
  .people-category-rail a { display:block; }
  .group-heading-row { display:block; }
  .mou-tools { grid-template-columns:1fr; }
  .stat-grid { grid-template-columns:1fr; }
  .mini-news-list article { grid-template-columns:1fr; gap:3px; }
}
.opportunity-guide { margin-bottom:28px; padding:22px 24px; background:var(--cseas-paper); border-left:3px solid var(--cseas-primary); }
.opportunity-guide p { margin:0 0 14px; }

/* v2.0 homepage visual pass: light editorial feature composition. */
.is-front-page .site-header { position:absolute; inset:0 0 auto; background:rgba(255,255,255,.94); border-bottom:1px solid rgba(22,64,42,.10); }
.is-front-page .menu-trigger, .is-front-page .search-trigger, .is-front-page .site-branding__link { color:var(--cseas-text); }
.home-hero { min-height:690px; color:var(--cseas-text); background:#f1f3ef; align-items:center; }
.home-hero__media { left:53%; width:47%; background:#e6ebe6; }
.home-hero__media::after { background:linear-gradient(90deg,rgba(241,243,239,.6),rgba(241,243,239,0) 30%); }
.home-hero__content { width:min(calc(100% - 80px),1180px); padding:160px 50% 76px 0; margin-inline:auto; color:var(--cseas-text); }
.home-hero h1 { max-width:700px; color:#194f34; font-size:clamp(48px,5.7vw,82px); line-height:1.01; }
.home-hero__author { margin:0 0 15px; color:var(--cseas-primary); font-size:12px; letter-spacing:.03em; }
.home-hero__excerpt { max-width:650px; color:#4f5d55; }
.home-hero__link { color:var(--cseas-text); border-color:var(--cseas-text); }
.home-hero__controls { position:absolute; z-index:4; left:max(40px,calc((100vw - var(--cseas-container))/2)); bottom:32px; display:flex; gap:7px; }
.home-hero__dot { width:26px; height:3px; padding:0; border:0; background:rgba(25,79,52,.25); }
.home-hero__dot.is-active { background:var(--cseas-primary); }
.section--green { background:#474747; }

@media (max-width: 880px) {
  .home-hero { min-height:620px; align-items:flex-end; }
  .home-hero__media { inset:0; width:auto; left:0; opacity:.36; }
  .home-hero__media::after { background:linear-gradient(90deg,rgba(245,247,244,.97) 0%,rgba(245,247,244,.80) 62%,rgba(245,247,244,.58) 100%); }
  .home-hero__content { width:min(calc(100% - 54px),1180px); padding:155px 0 80px; }
  .home-hero h1 { font-size:clamp(42px,10vw,68px); max-width:720px; }
}
.drawer-action--solid .drawer-action__staff-icon { width:15px; height:15px; transform:none; }

/* v2.0 final public-pattern additions */
.journal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(24px,3vw,48px);margin-top:28px}
.journal-card{display:grid;grid-template-columns:minmax(110px,170px) 1fr;gap:24px;align-items:start;padding:24px 0;border-top:1px solid var(--cseas-line,#d9ded9)}
.journal-card__media{aspect-ratio:3/4;background:#eef1ed;overflow:hidden}.journal-card__media img{width:100%;height:100%;object-fit:cover}
.publication-portal--rich{display:grid;grid-template-columns:minmax(220px,34%) 1fr;gap:clamp(28px,5vw,72px);align-items:start}.publication-portal__media{aspect-ratio:16/9;background:#eef1ed;overflow:hidden}.publication-portal__media img{width:100%;height:100%;object-fit:cover}
.archive-updated{font-size:.82rem;letter-spacing:.04em;color:var(--cseas-muted,#647068)}
.emeritus-table{max-width:700px}.fellows-table td,.fellows-table th{vertical-align:top}.fellows-year{scroll-margin-top:90px}
.site-notices{position:fixed;right:0;bottom:18px;z-index:80;width:min(430px,calc(100vw - 24px));display:grid;gap:6px;pointer-events:none}.site-notice{pointer-events:auto;display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;padding:14px 18px;background:rgba(255,255,255,.96);border-left:4px solid var(--cseas-primary);box-shadow:0 8px 30px rgba(12,36,21,.18);color:var(--cseas-text);text-decoration:none}.site-notice:hover{background:#fff}.site-notice__label{font-size:.68rem;text-transform:uppercase;letter-spacing:.09em;color:var(--cseas-primary-dark);font-weight:700}.site-notice__title{font-size:.88rem;line-height:1.35}.site-notice .cseas-icon{width:16px;height:16px}
@media (max-width:760px){.journal-grid{grid-template-columns:1fr}.journal-card{grid-template-columns:110px 1fr}.publication-portal--rich{grid-template-columns:1fr}.site-notices{left:12px;right:12px;bottom:10px;width:auto}.site-notice{padding:11px 13px}}
@media (prefers-reduced-motion:reduce){.site-notice{transition:none}}
.reference-wide-placeholder{margin:22px 0 34px;aspect-ratio:16/6;background:#eef1ed;overflow:hidden}.reference-wide-placeholder img{width:100%;height:100%;object-fit:cover}

/* =========================================================
   v3.0 maximum public-facing parity pass
   ========================================================= */
:root{
  --cseas-header:56px;
  --cseas-container:1180px;
  --cseas-content:780px;
  --serif: Georgia, 'Times New Roman', Times, serif;
  --sans: Arial, Helvetica, sans-serif;
}

/* The public reference is visually driven by the floating drawer and hero,
   not by a large centered masthead. Identity remains optionally available. */
.reference-parity-mode .site-header{
  position:absolute;
  inset:0 0 auto;
  z-index:70;
  height:56px;
  background:transparent;
  border:0;
  pointer-events:none;
}
.reference-parity-mode .site-header__inner{
  height:56px;
  padding:0 22px;
  grid-template-columns:82px 1fr 42px;
}
.reference-parity-mode .site-header .menu-trigger,
.reference-parity-mode .site-header .search-trigger{
  pointer-events:auto;
  color:#1f2d25;
  background:rgba(255,255,255,.80);
  min-height:36px;
  border-radius:0;
}
.reference-parity-mode .site-header .menu-trigger{
  justify-self:start;
  padding:7px 9px;
  font-size:9px;
  letter-spacing:.12em;
}
.reference-parity-mode .site-header .search-trigger{
  justify-self:end;
  width:36px;
  height:36px;
  justify-content:center;
  padding:7px;
}
.reference-parity-mode:not(.show-header-brand) .site-branding{visibility:hidden;opacity:0;pointer-events:none;}
.reference-parity-mode.show-header-brand .site-branding{visibility:visible;opacity:1;pointer-events:auto;}
.reference-parity-mode.show-header-brand .site-branding__link{background:rgba(255,255,255,.90);padding:5px 10px;color:var(--cseas-text);}

/* Hero: narrower copy column, large image on the right, generous editorial whitespace. */
.reference-parity-mode .home-hero,
.reference-parity-mode .home-hero__slides{min-height:640px;background:#f1f2ef;}
.reference-parity-mode .home-hero__media{left:51.5%;width:48.5%;background:#dfe5df;}
.reference-parity-mode .home-hero__media::after{background:linear-gradient(90deg,#f1f2ef 0%,rgba(241,242,239,.91) 12%,rgba(241,242,239,.28) 42%,rgba(241,242,239,0) 68%);}
.reference-parity-mode .home-hero__content,
.reference-parity-mode .home-hero__slide .home-hero__content{width:min(calc(100% - 96px),1180px);padding:106px 52% 68px 0;}
.reference-parity-mode .home-hero h1{max-width:650px;font-size:clamp(44px,4.9vw,72px);line-height:1.015;color:#17472e;}
.reference-parity-mode .home-hero__eyebrow{font-size:9px;letter-spacing:.13em;color:#2faf4d;}
.reference-parity-mode .home-hero__author{margin-top:18px;font-size:11px;color:#277240;}
.reference-parity-mode .home-hero__excerpt{font-family:Arial,Helvetica,sans-serif;font-size:13px;line-height:1.62;max-width:560px;}
.reference-parity-mode .home-hero__link{margin-top:18px;font-size:11px;}
.reference-parity-mode .home-hero__controls{bottom:24px;}

/* Drawer measured from supplied reference screenshot. */
.reference-parity-mode .site-drawer{left:15px;width:200px;height:min(658px,calc(100vh - 16px));background:rgba(var(--cseas-drawer-rgb),.85);}
.reference-parity-mode .site-drawer__top{height:141px;padding:25px 22px 0;}
.reference-parity-mode .drawer-nav{height:282px;padding-left:30px;}
.reference-parity-mode .drawer-nav>.menu>li>a{font-size:18px;font-weight:700;letter-spacing:.035em;}
.reference-parity-mode .drawer-tools{height:44px;}
.reference-parity-mode .drawer-social-band{height:57px;background:rgba(0,0,0,.18);}
.reference-parity-mode .drawer-actions{height:134px;padding:3px 30px 18px;gap:13px;}
.reference-parity-mode .drawer-action{width:140px;height:27px;min-height:27px;}
.reference-parity-mode .drawer-action--solid{height:29px;margin-top:4px;}

/* Reference-like section typography and vertical rhythm. */
.reference-parity-mode .page-hero{padding-top:94px;}
.reference-parity-mode .page-hero h1,
.reference-parity-mode .section-heading,
.reference-parity-mode .reference-section h2,
.reference-parity-mode .entry-content h2{font-family:var(--serif);font-weight:400;letter-spacing:-.018em;}
.reference-parity-mode .reference-section{padding:54px 0 58px;}
.reference-parity-mode .content-shell{gap:76px;}
.reference-parity-mode .toc-card{font-size:11px;}
.reference-parity-mode .local-nav a{font-size:10px;letter-spacing:.055em;}

/* Seminar legacy/current template parity. */
.seminar-list{border-top:1px solid var(--cseas-border);}
.seminar-index-card{display:grid;grid-template-columns:minmax(210px,31%) 1fr;gap:32px;padding:28px 0;border-bottom:1px solid var(--cseas-border);align-items:start;}
.seminar-index-card__media{display:block;aspect-ratio:16/10;background:#edf0ed;overflow:hidden;}
.seminar-index-card__media img{width:100%;height:100%;object-fit:cover;}
.seminar-index-card h2{margin:0 0 8px;font:400 clamp(25px,3vw,40px)/1.08 var(--serif);}
.seminar-index-card h2 a{text-decoration:none;}
.seminar-index-card__subtitle{font-family:var(--serif);font-size:18px;line-height:1.4;}
.seminar-index-card__meta{font-size:11px;color:var(--cseas-muted);}
.seminar-hero-meta{padding:32px 0 0;}
.seminar-theme{max-width:860px;margin:0 0 24px;font:400 clamp(22px,3.1vw,40px)/1.25 var(--serif);}
.seminar-facts{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0;border-top:1px solid var(--cseas-border);border-bottom:1px solid var(--cseas-border);}
.seminar-facts>div{min-width:260px;flex:1;padding:16px 22px 16px 0;}
.seminar-facts dt{font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--cseas-primary);}
.seminar-facts dd{margin:5px 0 0;font-size:13px;}
.seminar-tabs{width:min(calc(100% - 64px),1180px);margin:30px auto 0;}
.seminar-feature{margin-top:0!important;}

/* Publication completed-series missing-cover treatment. */
.series-card__media:empty::before,.publication-cover--empty::before{content:'NO IMAGE';display:grid;place-items:center;width:100%;height:100%;min-height:160px;color:#8b948e;background:#eef1ed;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em;}

/* Footer density matches the reference's compact information architecture. */
.reference-parity-mode .site-footer__top{padding-top:58px;padding-bottom:42px;}
.reference-parity-mode .footer-nav-grid{gap:22px;}
.reference-parity-mode .footer-nav-grid a{font-size:10px;line-height:1.3;padding:3px 0;}
.reference-parity-mode .site-footer__utility{padding-top:17px;padding-bottom:17px;}
.reference-parity-mode .site-footer__bottom{font-size:10px;}

@media(max-width:880px){
  .reference-parity-mode .site-header__inner{padding:0 13px;grid-template-columns:70px 1fr 38px;}
  .reference-parity-mode .home-hero,.reference-parity-mode .home-hero__slides{min-height:610px;}
  .reference-parity-mode .home-hero__media{inset:0;width:auto;opacity:.16;}
  .reference-parity-mode .home-hero__media::after{background:rgba(241,242,239,.82);}
  .reference-parity-mode .home-hero__content,.reference-parity-mode .home-hero__slide .home-hero__content{width:calc(100% - 38px);padding:92px 0 54px;}
  .reference-parity-mode .home-hero h1{font-size:clamp(38px,10.5vw,58px);max-width:660px;}
  .seminar-index-card{grid-template-columns:1fr;gap:18px;}
  .seminar-index-card__media{max-width:520px;}
}
@media(max-width:430px){
  .reference-parity-mode .site-drawer{left:15px;width:min(200px,calc(100vw - 20px));}
  .reference-parity-mode .site-header .menu-trigger span:last-child{display:none;}
  .seminar-tabs{width:calc(100% - 36px);}
}

/* Southeast Asia Seminar standalone public microsite pattern. */
.seminar-microsite{background:#fff;color:#202621;padding-top:0;}
.seminar-microsite__lang{position:relative;z-index:3;width:min(calc(100% - 48px),1180px);margin:0 auto;padding:18px 0 8px;display:flex;justify-content:flex-end;gap:12px;font-size:10px;font-weight:700;letter-spacing:.08em;}
.seminar-microsite__lang a{text-decoration:none;color:var(--cseas-primary-dark);}
.seminar-microsite__lang span{opacity:.45;}
.seminar-microsite__nav{position:sticky;top:0;z-index:45;display:flex;justify-content:center;flex-wrap:wrap;gap:0;background:#fff;border-top:1px solid var(--cseas-border);border-bottom:1px solid var(--cseas-border);}
.seminar-microsite__nav a{padding:13px 22px;text-decoration:none;text-transform:uppercase;font-size:9px;font-weight:800;letter-spacing:.12em;}
.seminar-microsite__nav a:hover{background:#f4f5f2;color:var(--cseas-primary-dark);}
.seminar-masthead{padding:82px 0 76px;background:#183e2a;color:#fff;}
.seminar-masthead .section-kicker{color:#b9e0c2;}
.seminar-masthead h1{max-width:920px;margin:0;font:400 clamp(52px,7.5vw,102px)/.92 var(--serif);letter-spacing:-.045em;}
.seminar-about,.seminar-recent,.seminar-past,.seminar-photos,.seminar-reviews{padding-top:72px;padding-bottom:78px;}
.seminar-about>h2,.seminar-recent>h2,.seminar-past>h2,.seminar-photos>h2,.seminar-reviews>h2{margin:0 0 34px;font:400 clamp(34px,4.3vw,58px)/1.05 var(--serif);}
.seminar-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin:0 0 45px;background:var(--cseas-border);border:1px solid var(--cseas-border);}
.seminar-stats>div{min-height:175px;display:grid;place-content:center;text-align:center;background:#fff;padding:20px;}
.seminar-stats strong{display:block;font:400 clamp(52px,6vw,82px)/.9 var(--serif);color:var(--cseas-primary);}
.seminar-stats span{margin-top:11px;font-size:9px;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:var(--cseas-muted);}
.seminar-about__copy{max-width:820px;font-size:15px;line-height:1.85;}
.seminar-current{padding:78px 0;background:#f1f3ef;}
.seminar-current h2{max-width:900px;margin:0 0 34px;font:400 clamp(36px,5vw,66px)/1.04 var(--serif);}
.seminar-current__grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(280px,.75fr);gap:48px;align-items:start;}
.seminar-current__media{display:block;aspect-ratio:16/9;overflow:hidden;background:#e4e8e3;}
.seminar-current__media img{width:100%;height:100%;object-fit:cover;}
.seminar-current dl{margin:0;border-top:1px solid #cbd2cc;}
.seminar-current dl>div{padding:14px 0;border-bottom:1px solid #cbd2cc;}
.seminar-current dt{font-size:9px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--cseas-primary-dark);}
.seminar-current dd{margin:5px 0 0;font:400 17px/1.45 var(--serif);}
.seminar-recent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 26px;}
.seminar-recent-grid article{border-top:1px solid var(--cseas-border);padding-top:17px;}
.seminar-recent__media{display:block;aspect-ratio:16/10;overflow:hidden;background:#e9ede8;margin-bottom:17px;}
.seminar-recent__media img{width:100%;height:100%;object-fit:cover;}
.seminar-recent-grid h3{margin:7px 0 8px;font:400 24px/1.2 var(--serif);}
.seminar-recent-grid h3 a{text-decoration:none;}
.seminar-recent-grid article>p:not(.section-kicker){font-size:11px;color:var(--cseas-muted);}
.seminar-past{border-top:1px solid var(--cseas-border);}
.seminar-past-table th,.seminar-past-table td{font-size:11px;line-height:1.45;vertical-align:top;}
.seminar-past-table td:nth-child(3){min-width:320px;font-family:var(--serif);font-size:14px;}
.seminar-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;}
.seminar-photo-grid>a,.seminar-photo-placeholder{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#e6ebe6;}
.seminar-photo-grid img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease;}
.seminar-photo-grid a:hover img{transform:scale(1.025);}
.seminar-photo-grid a span{position:absolute;left:0;right:0;bottom:0;padding:8px 10px;background:rgba(0,0,0,.52);color:#fff;font-size:9px;letter-spacing:.08em;text-transform:uppercase;}
.seminar-reviews{border-top:1px solid var(--cseas-border);}
.seminar-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--cseas-border);border:1px solid var(--cseas-border);}
.seminar-review-grid blockquote{margin:0;padding:32px;background:#fff;}
.seminar-review-grid blockquote div{font:400 19px/1.62 var(--serif);}
.seminar-review-grid cite{display:block;margin-top:18px;color:var(--cseas-muted);font:700 10px/1.4 var(--sans);letter-spacing:.07em;text-transform:uppercase;}
@media(max-width:880px){.seminar-current__grid{grid-template-columns:1fr}.seminar-recent-grid{grid-template-columns:repeat(2,1fr)}.seminar-photo-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.seminar-microsite__nav{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap}.seminar-microsite__nav a{white-space:nowrap;padding:11px 14px}.seminar-masthead{padding:66px 0 58px}.seminar-stats{grid-template-columns:1fr}.seminar-stats>div{min-height:125px}.seminar-recent-grid,.seminar-review-grid{grid-template-columns:1fr}.seminar-photo-grid{grid-template-columns:repeat(2,1fr)}}

/* v3.0 long-form Education parity pattern. */
.education-feature{display:grid;grid-template-columns:minmax(220px,38%) minmax(0,1fr);gap:clamp(30px,5vw,72px);align-items:center}
.education-feature--reverse .education-feature__media{order:2}.education-feature--reverse .education-feature__body{order:1}
.education-feature__media{aspect-ratio:4/3;background:#edf0ed;overflow:hidden}.education-feature__media img{width:100%;height:100%;object-fit:cover}
.education-feature__body h2{margin-top:0}.education-feature__body p{max-width:640px}
.series-card--completed{display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;align-items:start}
.series-card__media--empty{display:grid;place-items:center;min-height:145px;background:#eef1ed;color:#8b948e;font:700 10px/1 Arial,Helvetica,sans-serif;letter-spacing:.16em}
@media(max-width:720px){.education-feature,.education-feature--reverse{grid-template-columns:1fr}.education-feature--reverse .education-feature__media,.education-feature--reverse .education-feature__body{order:initial}.education-feature__media{max-width:520px}.series-card--completed{grid-template-columns:90px minmax(0,1fr)}}

/* =========================================================
   v3.1 CSEAS menu/header parity pass
   Focus: remove the conventional WordPress masthead and let
   MENU + SEARCH float directly over the page, as on CSEAS.
   ========================================================= */
.reference-parity-mode .site-header,
.reference-parity-mode.is-front-page .site-header {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  left: 0 !important;
  z-index: 100;
  height: 58px !important;
  min-height: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none;
}
.reference-parity-mode .site-header__inner {
  width: 100%;
  height: 58px !important;
  padding: 14px 18px 0 15px !important;
  display: grid !important;
  grid-template-columns: 86px minmax(0,1fr) 36px !important;
  align-items: start !important;
  gap: 0 !important;
}
.reference-parity-mode .site-header__spacer {
  min-width: 0;
  min-height: 1px;
}
.reference-parity-mode .site-header .menu-trigger,
.reference-parity-mode .site-header .search-trigger {
  position: relative;
  z-index: 1;
  pointer-events: auto;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(255,255,255,.94) !important;
  color: #18241d !important;
  box-shadow: none !important;
}
.reference-parity-mode .site-header .menu-trigger {
  width: 73px;
  height: 36px;
  min-height: 36px;
  padding: 0 9px !important;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: 9px;
  font: 700 9px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing: .12em !important;
}
.reference-parity-mode .site-header .menu-trigger .icon {
  width: 17px !important;
  height: 17px !important;
  flex: 0 0 17px;
}
.reference-parity-mode .site-header .search-trigger {
  width: 36px !important;
  height: 36px !important;
  min-height: 36px;
  padding: 8px !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.reference-parity-mode .site-header .search-trigger .icon {
  width: 21px !important;
  height: 21px !important;
}
/* Old theme mods must never restore the centered masthead in parity mode. */
.reference-parity-mode .site-branding { display: none !important; }

/* Drawer itself: fixed measured panel, not a full-screen mobile sheet. */
.reference-parity-mode .site-drawer {
  position: fixed !important;
  inset: 0 auto auto 15px !important;
  width: 200px !important;
  height: min(658px, calc(100dvh - 16px)) !important;
  max-height: calc(100dvh - 16px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(var(--cseas-drawer-rgb), .87) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,.20) !important;
  overflow-x: hidden;
  overflow-y: auto;
  transform: translate3d(-224px,0,0);
  transition: transform .27s cubic-bezier(.22,.61,.36,1);
}
.reference-parity-mode .site-drawer.is-open { transform: translate3d(0,0,0); }
.reference-parity-mode .drawer-backdrop { background: transparent !important; }

.reference-parity-mode .site-drawer__top {
  height: 141px !important;
  padding: 25px 22px 0 !important;
}
.reference-parity-mode .drawer-brand {
  color: #fff !important;
  display: block !important;
  max-width: 156px !important;
}
.reference-parity-mode .brand-symbol--drawer {
  width: 154px !important;
  height: 48px !important;
  color: #fff !important;
}
.reference-parity-mode .brand-symbol--drawer .brand-symbol__image {
  width: 154px !important;
  height: 48px !important;
  max-width: 154px !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: grayscale(1) brightness(0) invert(1);
}
.reference-parity-mode .drawer-brand__text {
  margin-top: 7px !important;
  color: #fff !important;
}
.reference-parity-mode .drawer-brand__text strong,
.reference-parity-mode .drawer-brand__text small {
  color: #fff !important;
  font-family: Arial,Helvetica,sans-serif !important;
  font-size: 8.5px !important;
  line-height: 1.06 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.reference-parity-mode .drawer-nav {
  height: 282px !important;
  margin: 0 !important;
  padding: 0 0 0 30px !important;
}
.reference-parity-mode .drawer-nav > .menu > li > a {
  height: 55px !important;
  padding: 13px 5px 12px 0 !important;
  display: flex !important;
  align-items: center !important;
  color: #fff !important;
  font: 700 18px/1.18 Arial,Helvetica,sans-serif !important;
  letter-spacing: .035em !important;
  text-decoration: none !important;
}
.reference-parity-mode .drawer-nav > .menu > li:nth-child(4) > a { height: 61px !important; }
.reference-parity-mode .drawer-nav .submenu-toggle,
.reference-parity-mode .drawer-nav .sub-menu { display: none !important; }

.reference-parity-mode .drawer-tools {
  height: 44px !important;
  margin: 0 !important;
  padding: 0 27px 0 14px !important;
}
.reference-parity-mode .drawer-tools__row { height: 44px !important; }
.reference-parity-mode .language-switcher,
.reference-parity-mode .language-switcher ul { gap: 26px !important; }
.reference-parity-mode .language-switcher a,
.reference-parity-mode .language-switcher .is-unavailable {
  color: #fff !important;
  font: 700 15px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing: .04em !important;
}
.reference-parity-mode .drawer-search-button .icon {
  width: 26px !important;
  height: 26px !important;
}
.reference-parity-mode .drawer-social-band {
  height: 57px !important;
  padding: 0 14px !important;
  background: rgba(0,0,0,.18) !important;
}
.reference-parity-mode .drawer-actions {
  height: 134px !important;
  margin: 0 !important;
  padding: 3px 30px 18px !important;
  grid-template-columns: 140px !important;
  gap: 13px !important;
}
.reference-parity-mode .drawer-action {
  width: 140px !important;
  height: 27px !important;
  min-height: 27px !important;
}
.reference-parity-mode .drawer-action--solid {
  height: 29px !important;
  min-height: 29px !important;
  margin-top: 4px !important;
}

/* Logged-in administrators keep the WP admin bar above the reference menu. */
.admin-bar.reference-parity-mode .site-header { top: 32px !important; }
.admin-bar.reference-parity-mode .site-drawer { top: 32px !important; height: min(658px, calc(100dvh - 48px)) !important; }
@media (max-width: 782px) {
  .admin-bar.reference-parity-mode .site-header { top: 46px !important; }
  .admin-bar.reference-parity-mode .site-drawer { top: 46px !important; height: min(658px, calc(100dvh - 62px)) !important; }
}
@media (max-width: 420px) {
  .reference-parity-mode .site-header__inner { padding-left: 10px !important; padding-right: 10px !important; }
  .reference-parity-mode .site-drawer { left: 10px !important; width: min(200px, calc(100vw - 20px)) !important; }
}


/* =========================================================
   v3.1.1 Persistent CSEAS navigation panel
   The green reference menu remains pinned to the viewport while
   the page scrolls; it is no longer treated as a dismissible modal.
   ========================================================= */
.reference-parity-mode .site-drawer.is-persistent {
  position: fixed !important;
  top: 0 !important;
  left: 15px !important;
  right: auto !important;
  bottom: auto !important;
  transform: translate3d(0,0,0) !important;
  visibility: visible !important;
  opacity: 1 !important;
  z-index: 120 !important;
  overscroll-behavior: contain;
}
.reference-parity-mode .site-drawer.is-persistent .drawer-close { display: none !important; }
.reference-parity-mode .drawer-backdrop { display: none !important; }
.reference-parity-mode .site-header .menu-trigger { display: none !important; }
.reference-parity-mode .site-header__inner {
  grid-template-columns: 1fr 36px !important;
  padding-left: 15px !important;
}
/* Drawer is persistent navigation, so opening it must never freeze page scrolling. */
.reference-parity-mode.is-modal-open:not(.search-open):not(.campus-modal-open) { overflow: auto; }
.admin-bar.reference-parity-mode .site-drawer.is-persistent { top: 32px !important; }
@media (max-width: 782px) {
  .admin-bar.reference-parity-mode .site-drawer.is-persistent { top: 46px !important; }
}
@media (max-width: 420px) {
  .reference-parity-mode .site-drawer.is-persistent { left: 10px !important; }
}
