@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Noto+Sans:wght@400;500;600;700&display=swap");
:root {
  --navy: #192d80;
  --navy-deep: #0b1746;
  --blue: #164aab;
  --cyan: #00c8eb;
  --ink: #172442;
  --muted: #53617a;
  --rule: #d3e0ee;
  --soft: #f0f7fc;
  --white: #ffffff;
  --sans: "Noto Sans", "Helvetica Neue", Arial, sans-serif;
  --display: "Barlow Condensed", "Arial Narrow", Impact, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 100px; }
body { margin: 0; color: var(--ink); background: var(--white); font: 16px/1.75 var(--sans); -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
figure, dl, dd, h1, h2, h3, p { margin: 0; }
a { color: inherit; text-decoration: none; }
a, summary { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; box-shadow: 0 0 0 6px var(--navy-deep); }
::selection { color: var(--white); background: var(--blue); }
[id] { scroll-margin-top: 100px; }
.skip-link { position: fixed; top: 8px; left: 8px; z-index: 500; padding: 8px 14px; color: var(--navy); background: white; transform: translateY(-160%); }
.skip-link:focus { transform: none; }
.content-shell { width: min(1160px, calc(100% - 64px)); margin-inline: auto; }
.compact-header { position: sticky; top: 0; z-index: 160; display: grid; grid-template-columns: minmax(0, 1fr) auto; min-height: 100px; padding: 8px max(4vw, 24px); align-items: center; gap: 0 24px; color: var(--navy); background: white; border-bottom: 3px solid var(--cyan); }
.compact-brand { display: flex; align-items: center; gap: 12px; grid-row: 1 / 3; }
.language-switch { grid-column: 2; grid-row: 1; justify-self: end; display: flex; gap: 4px; font-size: 14px; }
.language-switch a { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 4px 10px; border: 1px solid var(--rule); }
.language-switch a[aria-current="page"] { color: white; background: var(--navy); border-color: var(--navy); }
.language-switch a:hover { text-decoration: underline; }
.compact-brand img { width: 62px; height: 62px; object-fit: contain; }
.compact-brand-copy { display: flex; flex-direction: column; line-height: 1.25; }
.compact-brand strong { font: 700 24px/1.15 var(--display); }
.compact-brand small { margin-top: 4px; color: var(--muted); font-size: 12px; }
.compact-nav { grid-column: 2; grid-row: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 24px; }
.compact-nav a { display: inline-flex; align-items: center; min-height: 44px; font-size: 14px; font-weight: 600; }
.compact-nav a:hover { text-decoration: underline; text-decoration-color: var(--cyan); text-underline-offset: 7px; }
.visual-hero { position: relative; overflow: hidden; color: white; background: var(--navy); }
.visual-hero::before, .compact-closing::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: repeating-linear-gradient(116deg, transparent 0 96px, #00c8eb18 97px 99px, transparent 100px 184px), linear-gradient(135deg, #192d80 30%, #0b1746 100%); }
.visual-hero::after { content: ""; position: absolute; width: 60%; height: 150%; top: -15%; right: -24%; border-left: 2px solid #00c8eb80; transform: rotate(24deg); pointer-events: none; }
.poster-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(36px, 6vw, 84px); align-items: center; padding-block: 44px; }
.visual-hero-artwork { width: 100%; max-width: 510px; }
.visual-hero-artwork > a { display: block; border: 1px solid #65ddf577; box-shadow: 0 20px 60px #030f3866; }
.visual-hero-artwork img { width: 100%; }
.visual-hero-artwork figcaption { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; font-size: 12px; color: #c3d8f8; }
.visual-hero-artwork figcaption a { display: inline-flex; align-items: center; min-height: 44px; color: white; text-decoration: underline; text-underline-offset: 4px; }
.section-eyebrow { margin-bottom: 14px; color: var(--blue); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.poster-hero-copy .section-eyebrow { color: var(--cyan); }
.poster-hero-copy h1 { font: 800 clamp(72px, 7.5vw, 108px)/.95 var(--display); letter-spacing: -.015em; }
.poster-hero-copy h1 span { display: block; margin-bottom: 8px; font-size: .43em; font-weight: 500; letter-spacing: .02em; }
.poster-hero-copy h1 em { display: block; color: var(--cyan); font-style: normal; font-size: 1.18em; }
.hero-intro { margin: 24px 0; font-size: 18px; line-height: 1.5; color: #d5e6ff; }
.hero-event { padding: 22px 0; border-block: 1px solid #6986bf80; }
.hero-date { margin-bottom: 10px; font: 600 36px/1.1 var(--display); }
.hero-date span { color: var(--cyan); }
.hero-event > p:last-child { font-weight: 600; }
.hero-event > p:last-child span { display: block; color: #b9cde9; font-size: 14px; font-weight: 400; }
.hero-leadership { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 24px 0; }
.hero-leadership dt { color: #b9cde9; font-size: 12px; }
.hero-leadership dd { font: 600 26px/1.4 var(--display); }
.button { display: inline-flex; min-height: 54px; padding: 12px 24px; align-items: center; justify-content: space-between; gap: 42px; font-size: 16px; font-weight: 700; }
.button-primary { color: var(--navy-deep); background: var(--cyan); }
.button-primary:hover { background: #8aeaff; }
.hero-affiliation { margin-top: 18px; color: #b9cde9; font-size: 12px; }
.compact-status { background: var(--cyan); color: var(--navy-deep); }
.compact-status .content-shell { display: flex; min-height: 66px; align-items: center; gap: 24px; padding-block: 12px; }
.compact-status span { font: 700 24px/1 var(--display); letter-spacing: .04em; }
.compact-status p { font-size: 14px; }
.compact-section { padding: 72px 0; border-bottom: 1px solid var(--rule); }
.compact-section-title { display: flex; align-items: flex-start; gap: 20px; margin-bottom: 36px; }
.compact-section-title > span { color: var(--blue); padding-top: 6px; border-top: 3px solid var(--cyan); font: 600 24px/1 var(--display); min-width: 36px; }
.compact-section-title h2 { color: var(--navy); font: 700 clamp(36px, 4vw, 52px)/1 var(--display); }
.compact-section-title p { margin-top: 10px; color: var(--muted); font-size: 16px; }
