/* Shared editorial foundations: portal, WhatIfToday and Zeitgeist. */
@font-face{font-family:'Portal Manrope';src:url('/acervo-assets/d98e1b3ccff6b6d5/fonts/portal-manrope.woff2') format('woff2');font-style:normal;font-weight:200 800;font-display:swap}
@font-face{font-family:'Portal Source Sans';src:url('/acervo-assets/d98e1b3ccff6b6d5/fonts/portal-source-sans.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
.portal-editorial{--ink:#263a4b;--muted:#63717c;--accent:#315e7a;--line:#dce2e6;--paper:#fff;--wash:#f1f4f6;--soft:#e9eff3;--display:'Portal Manrope',Arial,sans-serif;--body:'Portal Source Sans',Arial,sans-serif}
.portal-editorial[data-portal-appearance="dark"]{--ink:#e4ebf0;--muted:#a3b2be;--accent:#adcce1;--line:#344654;--paper:#111b24;--wash:#1d2a36;--soft:#243b4c;color-scheme:dark}
.portal-editorial[data-portal-appearance="light"]{color-scheme:light}
.portal-editorial {
  --ed-page-width: 1280px;
  --ed-reading-width: 70ch;
  --ed-body-size: 17px;
  --ed-body-leading: 1.85;
  --ed-label-size: 11px;
  --ed-control-height: 44px;
  --ed-radius: 6px;
  --ed-radius-large: 8px;
  --ed-space-1: 4px;
  --ed-space-2: 8px;
  --ed-space-3: 12px;
  --ed-space-4: 16px;
  --ed-space-5: 24px;
  --ed-space-6: 32px;
  --ed-space-7: 48px;
  --ed-space-8: 64px;
}
.portal-editorial { --ed-danger: #a23838; --ed-warning: #805d1e; --ed-success: #34654d; }
.portal-editorial[data-portal-appearance="dark"] { --ed-danger: #ffb4b4; --ed-warning: #e8ca88; --ed-success: #a1d8b7; }

/* Reusable content patterns. Palette and typography live in editorial-tokens.css. */
.portal-content .pc-page-body { padding-bottom: 0; }
.portal-content .pc-content-focus { outline: none; scroll-margin-top: 130px; }
.portal-content .pc-topline { display: flex; justify-content: space-between; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); padding: 24px 0; color: var(--muted); font-size: 14px; }
.portal-content .pc-topline a, .portal-content .pc-topline>span { display: inline-flex; align-items: center; gap: 9px; }
.portal-content .pc-topline a:hover { color: var(--accent); }
.portal-content .pc-eyebrow { font: 650 var(--ed-label-size)/1.6 var(--display); letter-spacing: 1.5px; text-transform: uppercase; color: var(--accent); }
.portal-content .pc-button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: var(--ed-control-height); padding: 11px 16px; background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-radius: var(--ed-radius); font: 600 14px/1.4 var(--body); text-align: center; cursor: pointer; text-decoration: none; box-shadow: none; }
.portal-content .pc-button:hover { background: var(--wash); border-color: var(--accent); }
.portal-content .pc-button-primary { background: var(--ink); border-color: var(--ink); color: var(--paper); }
.portal-content .pc-button-primary:hover { background: var(--accent); border-color: var(--accent); color: var(--paper); }
.portal-content .pc-button:disabled { opacity: .45; cursor: not-allowed; }
.portal-content .pc-button svg { width: 17px; height: 17px; flex-shrink: 0; }
.portal-content .pc-icon-button { display: grid; place-items: center; width: 44px; height: 44px; min-width: 44px; border: 1px solid transparent; background: transparent; color: var(--muted); border-radius: var(--ed-radius); }
.portal-content .pc-icon-button:hover { background: var(--wash); color: var(--ink); border-color: var(--line); }
.portal-content .pc-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.portal-content .pc-text-link { min-height: 44px; display: inline-flex; align-items: center; gap: 15px; color: var(--accent); font-size: 15px; font-weight: 600; text-decoration: none; }
.portal-content .pc-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.portal-content .pc-input, .portal-content .pc-select, .portal-content .pc-textarea { width: 100%; min-width: 0; min-height: var(--ed-control-height); padding: 11px 13px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 5px; font: 16px/1.5 var(--body); }
.portal-content .pc-select { padding-right: 28px; }
.portal-content .pc-input::placeholder, .portal-content .pc-textarea::placeholder { color: var(--muted); opacity: .9; }
.portal-content .pc-field-label { display: block; color: var(--ink); font-size: 14px; font-weight: 600; line-height: 1.5; margin-bottom: 8px; }
.portal-content .pc-field-hint { font-size: 13px; line-height: 1.6; color: var(--muted); margin-top: 7px; }
.portal-content .pc-form-panel { padding: 26px; border: 1px solid var(--line); border-radius: var(--ed-radius-large); background: var(--paper); min-width: 0; }
.portal-content .pc-form-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 22px; margin-top: 24px; border-top: 1px solid var(--line); }
.portal-content .pc-form-footer>p { font-size: 13px; color: var(--muted); line-height: 1.6; max-width: 360px; }
.portal-content .pc-form-footer>.pc-button { flex-shrink: 0; }
.portal-content .pc-mode-switch { display: inline-flex; padding: 4px; border-radius: var(--ed-radius); background: var(--wash); border: 1px solid var(--line); gap: 4px; max-width: 100%; }
.portal-content .pc-mode-switch button { display: inline-flex; justify-content: center; align-items: center; gap: 9px; min-height: 44px; border: 1px solid transparent; border-radius: 4px; padding: 10px 17px; color: var(--muted); font-size: 14px; }
.portal-content .pc-mode-switch button[aria-pressed=true] { color: var(--ink); border-color: var(--line); background: var(--paper); box-shadow: 0 1px 3px #152b3c08; }
.portal-content .pc-hero { display: grid; grid-template-columns: 1.15fr 1fr; gap: 8%; align-items: center; padding: 58px 0 60px; border-bottom: 1px solid var(--line); }
.portal-content .pc-hero h1 { font: 550 clamp(38px, 4vw, 56px)/1.15 var(--display); letter-spacing: -2.5px; margin: 17px 0 23px; max-width: 600px; }
.portal-content .pc-hero-description { font-size: 19px; line-height: 1.65; color: var(--muted); max-width: 490px; }
.portal-content .pc-hero .pc-text-link { margin-top: 20px; }
.portal-content .pc-result-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; padding: 39px 0 29px; border-bottom: 1px solid var(--line); }
.portal-content .pc-result-header>div:first-child { min-width: 0; }
.portal-content .pc-result-header h1 { font: 550 clamp(30px, 3.3vw, 46px)/1.25 var(--display); letter-spacing: -1.7px; margin: 13px 0; overflow-wrap: anywhere; }
.portal-content .pc-result-subtitle { color: var(--muted); font-size: 18px; line-height: 1.6; }
.portal-content .pc-result-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px 22px; margin-top: 19px; font-size: 13px; color: var(--muted); }
.portal-content .pc-result-meta>span { display: inline-flex; align-items: center; gap: 7px; }
.portal-content .pc-result-header>.pc-actions { justify-content: flex-end; flex-shrink: 0; max-width: 435px; padding-top: 25px; }
.portal-content .pc-notice { padding: 18px 22px; margin: 22px 0; background: var(--wash); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 0 var(--ed-radius) var(--ed-radius) 0; color: var(--ink); }
.portal-content .pc-notice[data-tone=error] { border-left-color: var(--ed-danger); }
.portal-content .pc-notice[data-tone=warning] { border-left-color: var(--ed-warning); }
.portal-content .pc-notice h2, .portal-content .pc-notice h3 { font: 600 18px/1.5 var(--display); letter-spacing: -.4px; margin: 0 0 9px; }
.portal-content .pc-notice p { font-size: 15px; line-height: 1.7; }
.portal-content .pc-notice .pc-actions { margin-top: 14px; }
.portal-content .pc-notice>p+.pc-input { margin-top: 12px; }
.portal-content .pc-reading-layout { display: grid; grid-template-columns: 184px minmax(0, 1fr); gap: 48px; padding-top: 36px; }
.portal-content .pc-reading-aside { position: sticky; top: 114px; align-self: start; min-width: 0; }
.portal-content .pc-section-nav { display: flex; flex-direction: column; min-width: 0; }
.portal-content .pc-section-nav>.pc-eyebrow { padding-bottom: 15px; }
.portal-content .pc-section-nav>a { display: block; padding: 11px 0 11px 15px; min-height: 44px; font-size: 14px; line-height: 1.5; border-left: 1px solid var(--line); color: var(--muted); }
.portal-content .pc-section-nav>a:hover { background: var(--wash); color: var(--accent); }
.portal-content .pc-section-nav>a[aria-current=location] { padding-left: 14px; border-left: 2px solid var(--accent); font-weight: 600; color: var(--ink); }
.portal-content .pc-reading-note { font-size: 13px; color: var(--muted); line-height: 1.7; max-width: 155px; margin-top: 25px; }
.portal-content .pc-reading-main { min-width: 0; }
.portal-content .pc-section { margin-bottom: 40px; padding-bottom: 34px; border-bottom: 1px solid var(--line); scroll-margin-top: 130px; min-width: 0; }
.portal-content .pc-section-heading { display: flex; align-items: flex-start; gap: 14px; margin-bottom: 24px; }
.portal-content .pc-section-icon { display: grid; place-items: center; width: 44px; min-width: 44px; height: 44px; color: var(--accent); background: var(--wash); border: 1px solid var(--line); border-radius: var(--ed-radius); }
.portal-content .pc-section-title { min-width: 0; flex: 1; }
.portal-content .pc-section-title h2 { font: 600 23px/1.4 var(--display); color: var(--ink); letter-spacing: -.8px; margin: 0 0 5px; }
.portal-content .pc-section-title p { font-size: 15px; line-height: 1.5; color: var(--muted); }
.portal-content .pc-section-heading>.pc-icon-button { margin-top: -2px; }
.portal-content .pc-prose { max-width: var(--ed-reading-width); font: var(--ed-body-size)/var(--ed-body-leading) var(--body); color: var(--ink); overflow-wrap: anywhere; }
.portal-content .pc-prose p { margin: 0 0 1.15em; }
.portal-content .pc-prose>:last-child { margin-bottom: 0; }
.portal-content .pc-prose h1, .portal-content .pc-prose h2, .portal-content .pc-prose h3 { font: 600 21px/1.5 var(--display); margin: 1.3em 0 .6em; }
.portal-content .pc-prose strong { font-weight: 650; }
.portal-content .pc-prose ul, .portal-content .pc-prose ol { padding-left: 1.4em; margin: 1em 0; }
.portal-content .pc-prose ul { list-style: disc; }
.portal-content .pc-prose ol { list-style: decimal; }
.portal-content .pc-prose li { margin: .4em 0; }
.portal-content .pc-prose a { color: var(--accent); text-decoration: underline; text-underline-offset: 3px; }
.portal-content .pc-prose blockquote { margin: 1em 0; border-left: 2px solid var(--line); padding-left: 20px; color: var(--muted); }
.portal-content .pc-facts { list-style: none; padding: 0; margin: 17px 0 0; }
.portal-content .pc-facts>li { display: flex; align-items: flex-start; gap: 11px; font-size: 16px; line-height: 1.8; color: var(--ink); padding: 8px 0; }
.portal-content .pc-facts>li::before { content: ''; display: block; height: 5px; width: 5px; border-radius: 50%; background: var(--accent); flex-shrink: 0; margin-top: 12px; }
.portal-content .pc-muted { color: var(--muted); }
.portal-content .pc-disclosure { border: 1px solid var(--line); border-radius: var(--ed-radius); overflow: clip; min-width: 0; background: var(--paper); }
.portal-content .pc-disclosure>summary { display: flex; align-items: center; justify-content: space-between; gap: 14px; min-height: 60px; padding: 18px 20px; cursor: pointer; list-style: none; }
.portal-content .pc-disclosure>summary::-webkit-details-marker { display: none; }
.portal-content .pc-disclosure>summary::after { content: '+'; font-size: 22px; color: var(--accent); font-weight: 400; margin-left: auto; }
.portal-content .pc-disclosure[open]>summary::after { content: '−'; }
.portal-content .pc-disclosure>summary:hover { background: var(--wash); }
.portal-content .pc-disclosure>summary h3 { font: 600 18px/1.4 var(--display); letter-spacing: -.5px; }
.portal-content .pc-disclosure-body { padding: 0 22px 22px; }
.portal-content .pc-loading { min-height: 430px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 18px; padding: 60px 20px; text-align: center; }
.portal-content .pc-loading>svg { color: var(--accent); }
.portal-content .pc-loading h1, .portal-content .pc-loading h2 { font: 550 32px/1.4 var(--display); letter-spacing: -1px; }
.portal-content .pc-loading p { max-width: 520px; color: var(--muted); font-size: 17px; line-height: 1.65; }
.portal-content .pc-footer { display: flex; align-items: center; justify-content: space-between; gap: 25px; padding: 31px 0; border-top: 1px solid var(--line); margin-top: 60px; }
.portal-content .pc-footer>a:first-child { font: 650 14px/1.5 var(--display); }
.portal-content .pc-footer>a:first-child>span { display: block; color: var(--muted); font: 12px/1.6 var(--body); margin-top: 3px; }
.portal-content .pc-footer>a:last-child { display: inline-flex; align-items: center; gap: 15px; font-size: 14px; color: var(--muted); }
@media(max-width:1180px) {
  .portal-content .pc-reading-layout { grid-template-columns: 160px minmax(0, 1fr); gap: 30px; }
  .portal-content .pc-result-header { flex-direction: column; gap: 20px; }
  .portal-content .pc-result-header>.pc-actions { padding-top: 0; justify-content: flex-start; max-width: none; }
}
@media(max-width:980px) {
  .portal-content .pc-reading-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-top: 24px; }
  .portal-content .pc-reading-aside { position: static; }
  .portal-content .pc-section-nav { flex-direction: row; flex-wrap: nowrap; overflow-x: auto; gap: 9px; padding-bottom: 8px; scrollbar-width: thin; }
  .portal-content .pc-section-nav>.pc-eyebrow { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .portal-content .pc-section-nav>a, .portal-content .pc-section-nav>a[aria-current=location] { flex-shrink: 0; padding: 10px 13px; border: 1px solid var(--line); border-radius: 5px; font-size: 13px; }
  .portal-content .pc-section-nav>a[aria-current=location] { border-color: var(--accent); background: var(--wash); }
  .portal-content .pc-reading-note { display: none; }
}
@media(max-width:760px) {
  .portal-content .pc-topline { padding: 17px 0; font-size: 12px; }
  .portal-content .pc-hero { grid-template-columns: 1fr; gap: 29px; padding: 35px 0; }
  .portal-content .pc-hero h1 { font-size: 42px; letter-spacing: -1.8px; margin: 16px 0 20px; }
  .portal-content .pc-hero-description { font-size: 18px; }
  .portal-content .pc-result-header { padding: 30px 0 25px; gap: 20px; }
  .portal-content .pc-result-header h1 { font-size: 32px; letter-spacing: -1.1px; }
  .portal-content .pc-result-subtitle { font-size: 16px; }
  .portal-content .pc-result-header .pc-button { padding: 10px 12px; font-size: 13px; }
  .portal-content .pc-section { margin-bottom: 30px; padding-bottom: 27px; }
  .portal-content .pc-section-heading { gap: 11px; margin-bottom: 20px; }
  .portal-content .pc-section-title h2 { font-size: 20px; letter-spacing: -.6px; }
  .portal-content .pc-section-title p { font-size: 14px; }
  .portal-content .pc-section-icon { min-width: 37px; width: 37px; height: 39px; }
  .portal-content .pc-section-icon svg { width: 18px; }
  .portal-content .pc-form-panel { padding: 19px; }
  .portal-content .pc-form-footer { align-items: stretch; flex-direction: column; gap: 15px; }
  .portal-content .pc-form-footer>.pc-button { width: 100%; min-height: 48px; font-size: 15px; }
  .portal-content .pc-mode-switch { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .portal-content .pc-mode-switch button { padding: 10px 7px; font-size: 13px; gap: 7px; }
  .portal-content .pc-notice { padding: 17px 19px; }
  .portal-content .pc-disclosure>summary { padding: 17px; }
  .portal-content .pc-disclosure-body { padding: 0 18px 19px; }
  .portal-content .pc-footer { flex-direction: column; align-items: flex-start; gap: 20px; padding: 26px 0; margin-top: 40px; }
}
@media(prefers-reduced-motion:reduce) {
  .portal-content *, .portal-content *::before, .portal-content *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}
/* Dialogs are rendered in a portal and therefore receive their own theme scope. */
.portal-content.pc-dialog { min-height: 0; width: min(760px, calc(100% - 32px)); max-width: 760px; max-height: 88dvh; overflow-y: auto; background: var(--paper); color: var(--ink); border: 1px solid var(--line); border-radius: var(--ed-radius-large); padding: 29px; }
.portal-content .pc-dialog-heading { text-align: left; padding-right: 30px; margin-bottom: 8px; }
.portal-content .pc-dialog-heading h2 { font: 600 26px/1.45 var(--display); letter-spacing: -.8px; }
.portal-content .pc-dialog-heading p { color: var(--muted); font: 15px/1.7 var(--body); margin-top: 9px; }
.portal-content.pc-dialog>button { min-width: 44px; height: 44px; display: grid; place-items: center; top: 8px; right: 8px; color: var(--muted); }
.portal-content .pc-prose h4 { font: 600 18px/1.5 var(--display); margin: 1.2em 0 .6em; }
@media(max-width:760px) { .portal-content.pc-dialog { padding: 23px; max-height: 90dvh; } .portal-content .pc-dialog-heading h2 { font-size: 23px; } }
@media(prefers-reduced-motion:reduce) { .portal-content.pc-dialog { animation: none !important; transition: none !important; } }

.ep-page { min-height:100vh; background:var(--paper); color:var(--ink); font:17px/1.65 var(--body); -webkit-font-smoothing:antialiased; }
.ep-page *, .ep-page *::before, .ep-page *::after { box-sizing:border-box; }
.ep-page a { color:inherit; text-decoration:none; }
.ep-page button, .ep-page input, .ep-page summary { font:inherit; }
.ep-page button { cursor:pointer; }
.ep-page button, .ep-page summary { -webkit-tap-highlight-color:transparent; }
.ep-page h1,.ep-page h2,.ep-page h3,.ep-page p,.ep-page figure { margin:0; }
.ep-page :focus-visible { outline:2px solid var(--accent); outline-offset:4px; }
.ep-page .ep-wrap { width:min(1280px,calc(100% - 96px)); margin-inline:auto; }
.ep-skip { position:fixed; top:-100px; left:16px; z-index:100; padding:14px 20px; background:var(--ink); color:var(--paper)!important; }
.ep-skip:focus { top:12px; }
.ep-preview-bar { background:var(--wash); border-bottom:1px solid var(--line); font-size:12px; color:var(--muted); }
.ep-preview-inner { min-height:42px; display:flex; gap:24px; align-items:center; }
.ep-preview-inner>a { font-weight:650; }
.ep-preview-inner nav { display:flex; flex-wrap:wrap; gap:20px; }
.ep-preview-inner nav a { display:inline-flex; align-items:center; min-height:42px; border-bottom:2px solid transparent; }
.ep-preview-inner nav a[aria-current=page] { color:var(--ink); border-color:var(--accent); }
.ep-preview-inner>span { margin-left:auto; }
.ep-site-header { border-bottom:1px solid var(--line); }
.ep-header-inner { display:flex; min-height:96px; align-items:center; gap:32px; }
.ep-brand { display:flex; gap:12px; align-items:center; flex-shrink:0; }
.ep-brand strong { font:700 17px/1.3 var(--display); display:block; letter-spacing:-.4px; }
.ep-brand small { font-size:12px; display:block; color:var(--muted); margin-top:3px; }
.ep-brand-mark { width:40px; height:45px; display:grid; place-items:center; color:var(--accent); border-block:1px solid var(--line); }
.ep-main-nav { display:flex; align-items:center; justify-content:center; gap:25px; margin-left:auto; }
.ep-main-nav>a { font-size:14px; min-height:44px; display:inline-flex; align-items:center; }
.ep-main-nav>a[aria-current=page] { color:var(--accent); font-weight:600; }
.ep-header-actions { display:flex; align-items:center; gap:7px; margin-left:auto; }
.ep-mobile-menu { display:none; position:relative; }
.ep-mobile-menu summary { display:grid; place-items:center; width:44px; height:44px; cursor:pointer; list-style:none; }
.ep-mobile-menu summary::-webkit-details-marker { display:none; }
.ep-mobile-menu nav { position:absolute; right:0; top:48px; min-width:180px; z-index:4; background:var(--paper); border:1px solid var(--line); padding:12px; box-shadow:0 5px 15px #0001; }
.ep-mobile-menu nav a { display:block; padding:12px; }
.ep-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; align-items:center; font-size:13px; color:var(--muted); padding-block:26px 30px; }
.ep-breadcrumb a { min-height:32px; display:inline-flex; align-items:center; }
.ep-breadcrumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.ep-hero { display:grid; grid-template-columns:minmax(0,1fr) 250px; gap:48px; padding-bottom:24px; align-items:start; }
.ep-kicker { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin-bottom:17px; color:var(--accent); font:650 11px/1.5 var(--display); letter-spacing:1.3px; text-transform:uppercase; }
.ep-kicker span+span { border-left:1px solid var(--line); padding-left:12px; }
.ep-hero h1 { font:560 clamp(34px,3.6vw,50px)/1.14 var(--display); letter-spacing:-1.9px; max-width:22ch; overflow-wrap:break-word; }
.ep-dateline { display:flex; align-items:flex-start; gap:10px; font-size:16px; margin-top:22px; color:var(--muted); }
.ep-dateline svg { flex-shrink:0; margin-top:4px; }
.ep-lead { font-size:18px; color:var(--muted); line-height:1.65; max-width:54ch; margin-top:18px!important; }
.ep-primary-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:27px; }
.ep-secondary-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 23px; margin-top:13px; }
.ep-secondary-actions a,.ep-secondary-actions button { display:inline-flex; align-items:center; gap:8px; color:var(--muted); border:0; background:transparent; min-height:44px; font-size:14px; padding:0; }
.ep-secondary-actions a:hover,.ep-secondary-actions button:hover { color:var(--accent); }
.ep-hero-media { width:100%; padding-top:3px; }
.ep-hero-media img { display:block; width:100%; height:260px; object-fit:cover; background:var(--wash); border-radius:4px; }
.ep-hero-media.ep-portrait img { height:280px; object-position:50% 20%; }
.ep-hero-media:not(.ep-portrait) img { object-fit:contain; }
.ep-hero-media figcaption { color:var(--muted); font-size:12px; line-height:1.5; margin-top:10px; }
.ep-media-fallback { display:flex; flex-direction:column; justify-content:center; align-items:center; gap:20px; height:260px; color:var(--muted); background:var(--wash); font-size:14px; }
.ep-date-rule { display:flex; gap:18px; align-items:center; border-bottom:1px solid var(--line); padding:0 0 26px; font:600 13px/1.4 var(--display); color:var(--muted); }
.ep-date-rule>div { flex:1; height:1px; background:var(--line); position:relative; display:flex; justify-content:space-between; align-items:center; }
.ep-date-rule i { display:block; width:5px; height:5px; background:var(--accent); border-radius:50%; }
.ep-page .pc-reading-layout { grid-template-columns:150px minmax(0,1fr); gap:38px; padding-top:37px; }
.ep-page .pc-reading-aside { top:30px; }
.ep-page .pc-section-nav a { font-size:13px; }
.ep-page .pc-reading-note { font-size:13px; line-height:1.65; margin-top:24px; color:var(--muted); }
.ep-reading-grid { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:48px; align-items:start; }
.ep-narrative { min-width:0; }
.ep-page .pc-section { margin-bottom:40px; scroll-margin-top:25px; }
.ep-page .pc-section-heading { margin-bottom:18px; }
.ep-page .pc-section-title h2 { font-size:24px; letter-spacing:-.6px; }
.ep-page .pc-section-title>p { font-size:15px; line-height:1.6; margin-top:6px; }
.ep-page .pc-prose { font-size:17px; line-height:1.85; }
.ep-page .pc-prose p { margin-bottom:18px; }
.ep-page .pc-prose p:last-child { margin-bottom:0; }
.ep-page .pc-prose strong { font-weight:650; }
.ep-facts { padding:23px 0 0 24px; border-left:1px solid var(--line); scroll-margin-top:25px; }
.ep-facts>h2 { font:550 19px/1.4 var(--display); letter-spacing:-.5px; margin-top:8px; }
.ep-facts dl { margin:23px 0 25px; }
.ep-facts dl>div { padding-block:12px; border-bottom:1px solid var(--line); }
.ep-facts dt { font-size:12px; color:var(--muted); }
.ep-facts dd { margin:4px 0 0; font-size:15px; font-weight:550; }
.ep-topics summary { font:600 13px/1.5 var(--display); min-height:44px; cursor:pointer; padding-block:10px; }
.ep-topics summary span { float:right; color:var(--muted); font-weight:400; }
.ep-topics ul { display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:12px 0 0; list-style:none; }
.ep-topics a { display:block; background:var(--wash); padding:6px 9px; font-size:12px; line-height:1.5; border-radius:4px; }
.ep-topics a:hover { color:var(--accent); background:var(--soft); }
.ep-facts-note { font-size:13px; line-height:1.65; color:var(--muted); margin-top:25px!important; }
.ep-sources { list-style:none; padding:0; margin:0; }
.ep-sources li { display:flex; gap:13px; padding:17px 0; border-bottom:1px solid var(--line); }
.ep-sources li>svg { flex-shrink:0; color:var(--accent); margin-top:3px; }
.ep-sources li a,.ep-sources li strong { display:inline; font-size:16px; font-weight:600; line-height:1.5; }
.ep-sources li a svg { display:inline; margin-left:6px; }
.ep-sources li a:hover { color:var(--accent); text-decoration:underline; }
.ep-sources li small,.ep-sources li span { display:block; font-size:13px; color:var(--muted); margin-top:6px; }
.ep-source-notes { margin-top:23px; padding-left:18px; border-left:2px solid var(--line); }
.ep-source-notes h3 { font:600 14px/1.5 var(--display); margin-bottom:9px; }
.ep-source-notes .pc-prose { font-size:15px; }
.ep-source-gap { display:flex; gap:12px; align-items:flex-start; padding:18px; background:var(--wash); color:var(--muted); font-size:15px; border-left:2px solid var(--ed-warning); }
.ep-source-gap svg { flex-shrink:0; margin-top:3px; }
.ep-analysis-intro { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-bottom:18px; font-size:14px; color:var(--muted); }
.ep-analysis-intro strong { font:600 23px/1.4 var(--display); color:var(--ink); }
.ep-analysis-intro a { display:inline-flex; align-items:center; gap:7px; margin-left:auto; min-height:44px; color:var(--accent); }
.ep-page .pc-disclosure summary { font-size:15px; font-weight:600; }
.ep-explore-links { border-top:1px solid var(--line); }
.ep-explore-links>a { display:flex; gap:16px; align-items:center; padding:20px 0; border-bottom:1px solid var(--line); }
.ep-explore-links>a>svg { flex-shrink:0; color:var(--accent); }
.ep-explore-links>a>svg:last-child { margin-left:auto; }
.ep-explore-links strong { display:block; font:600 16px/1.4 var(--display); }
.ep-explore-links small { display:block; font-size:14px; color:var(--muted); margin-top:4px; }
.ep-explore-links>a:hover strong { color:var(--accent); }
.ep-related { margin-top:27px; }
.ep-related h3 { font:600 16px/1.5 var(--display); }
.ep-related>a { display:grid; grid-template-columns:1fr 20px; gap:6px 12px; padding-block:18px; border-bottom:1px solid var(--line); }
.ep-related>a>span { grid-column:1; color:var(--muted); font-size:12px; }
.ep-related>a>strong { grid-column:1; font:550 18px/1.5 var(--display); }
.ep-related>a>svg { grid-column:2; grid-row:1/3; align-self:center; }
.ep-citation { padding-top:26px; border-top:1px solid var(--line); scroll-margin-top:25px; }
.ep-citation h2 { font:600 18px/1.5 var(--display); margin-bottom:12px; }
.ep-citation>p { font-size:14px; line-height:1.7; color:var(--muted); overflow-wrap:anywhere; }
.ep-citation button { border:0; background:none; padding:0; }
.ep-citation .ep-live { min-height:24px; }
.ep-footer { display:flex; justify-content:space-between; align-items:center; gap:24px; padding-block:32px; border-top:1px solid var(--line); margin-top:48px; font-size:14px; color:var(--muted); }
.ep-back { display:inline-flex; align-items:center; gap:10px; min-height:44px; }
.ep-dialog { max-width:min(540px,calc(100vw - 32px)); width:100%; background:var(--paper); color:var(--ink); border:1px solid var(--line); border-radius:8px; padding:25px; font:16px/1.6 var(--body); }
.ep-dialog::backdrop { background:#0007; }
.ep-dialog-heading { display:flex; justify-content:space-between; align-items:center; gap:15px; margin-bottom:14px; }
.ep-dialog h2 { font:600 23px/1.3 var(--display); }
.ep-dialog label { display:block; font-size:13px; margin-top:20px; }
.ep-dialog input { width:100%; margin:7px 0 18px; }
.ep-dialog>.pc-button { margin-top:15px; }
.ep-dialog>[role=status] { min-height:24px; margin-top:13px; font-size:14px; }
.ep-gallery { padding-block:60px; }
.ep-gallery h1 { font:550 46px/1.2 var(--display); max-width:20ch; letter-spacing:-1.8px; }
.ep-gallery>p { max-width:60ch; color:var(--muted); margin-top:20px; }
.ep-gallery-list { margin-top:40px; border-top:1px solid var(--line); }
.ep-gallery-list>a { display:grid; grid-template-columns:170px 1fr 30px; gap:25px; align-items:center; border-bottom:1px solid var(--line); padding-block:28px; }
.ep-gallery-list span { color:var(--muted); font-size:14px; }
.ep-gallery-list strong { font:550 25px/1.4 var(--display); letter-spacing:-.6px; }
.ep-gallery .ep-control-link { display:inline-flex; gap:10px; margin-top:32px; color:var(--accent); font-size:14px; }
@media(min-width:1450px) { .ep-reading-grid { grid-template-columns:minmax(0,1fr) 250px; gap:60px; } }
@media(max-width:1180px) { .ep-main-nav { gap:18px; }.ep-main-nav a:first-child { display:none; }.ep-header-inner { gap:18px; }.ep-header-timeline { display:none!important; }.ep-hero { gap:38px; grid-template-columns:minmax(0,1fr) 240px; }.ep-reading-grid { grid-template-columns:minmax(0,1fr) 210px; gap:30px; }.ep-page .pc-reading-layout { grid-template-columns:135px minmax(0,1fr); gap:26px; }.ep-facts { padding-left:18px; } }
@media(max-width:980px) { .ep-page .ep-wrap { width:calc(100% - 56px); }.ep-page .pc-reading-layout { grid-template-columns:minmax(0,1fr); }.ep-page .pc-reading-aside { position:static; }.ep-hero { grid-template-columns:minmax(0,1fr) 210px; gap:32px; }.ep-hero h1 { font-size:42px; }.ep-preview-inner { gap:15px; }.ep-preview-inner nav { gap:15px; }.ep-preview-inner>span { display:none; }.ep-hero-media img { height:230px; }.ep-hero-media.ep-portrait img { height:260px; } }
@media(max-width:760px) { .ep-page .ep-wrap { width:calc(100% - 40px); }.ep-main-nav { display:none; }.ep-header-inner { min-height:79px; }.ep-header-actions { gap:2px; }.ep-mobile-menu { display:block; }.ep-preview-inner { flex-wrap:wrap; padding-block:8px; gap:0 16px; }.ep-preview-inner>a { width:100%; font-size:11px; }.ep-preview-inner nav { gap:18px; }.ep-preview-inner nav a { min-height:36px; font-size:11px; }.ep-breadcrumb { padding-block:20px 25px; }.ep-hero { grid-template-columns:minmax(0,1fr); gap:26px; }.ep-hero h1 { font-size:38px; letter-spacing:-1.4px; max-width:24ch; }.ep-lead { font-size:17px; }.ep-hero-media { max-width:none; display:grid; grid-template-columns:110px minmax(0,1fr); gap:16px; align-items:center; }.ep-hero-media img,.ep-hero-media.ep-portrait img,.ep-media-fallback { height:130px; }.ep-media-fallback { gap:8px; text-align:center; font-size:11px; }.ep-hero-media figcaption { margin-top:0; max-width:32ch; }.ep-reading-grid { display:flex; flex-direction:column; gap:0; }.ep-narrative { display:contents; }.ep-narrative>.pc-section:first-child { order:0; }.ep-facts { order:1; width:100%; border-left:0; border-block:1px solid var(--line); padding:23px 0; margin-bottom:35px; }.ep-facts dl { display:grid; grid-template-columns:1fr 1fr; gap:0 20px; }.ep-narrative>.pc-section:not(:first-child) { order:2; width:100%; }.ep-citation { order:3; width:100%; }.ep-page .pc-section-nav { flex-wrap:wrap; overflow:visible; gap:8px; }.ep-page .pc-section-nav a { font-size:12px; padding:10px 12px; }.ep-page .pc-section-title h2 { font-size:23px; }.ep-footer { flex-direction:column; align-items:flex-start; gap:8px; }.ep-analysis-intro a { margin-left:0; width:100%; }.ep-gallery { padding-block:35px; }.ep-gallery h1 { font-size:36px; }.ep-gallery-list>a { grid-template-columns:1fr 24px; gap:8px; }.ep-gallery-list span { grid-column:1; }.ep-gallery-list strong { grid-column:1; font-size:22px; }.ep-gallery-list svg { grid-column:2; grid-row:1/3; } }
@media(max-width:380px) { .ep-brand strong { font-size:15px; }.ep-brand-mark { display:none; }.ep-primary-actions { align-items:stretch; }.ep-primary-actions .pc-button { width:100%; }.ep-secondary-actions { gap:0 17px; }.ep-hero h1 { font-size:34px; } }
@media(prefers-reduced-motion:reduce) { .ep-page * { scroll-behavior:auto!important; } }

/* Reading refinements scoped to the event document preview. */
.ep-brand-logo { object-fit:contain; flex-shrink:0; }
.ep-mobile-contents { display:none; }
@media(min-width:761px) {
  .ep-compact-record .ep-reading-grid { display:flex; flex-direction:column; gap:0; max-width:78ch; }
  .ep-compact-record .ep-narrative { display:contents; }
  .ep-compact-record .ep-narrative>.pc-section:first-child { order:0; }
  .ep-compact-record .ep-facts { order:1; border-left:0; border-block:1px solid var(--line); width:100%; padding:23px 0; margin-bottom:36px; }
  .ep-compact-record .ep-facts dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 25px; }
  .ep-compact-record .ep-facts .ep-topics { max-width:70ch; }
  .ep-compact-record .ep-narrative>.pc-section:not(:first-child) { order:2; width:100%; }
  .ep-compact-record .ep-citation { order:3; width:100%; }
}
@media(max-width:760px) {
  .ep-brand-logo { width:36px; height:36px; }
  .ep-hero { gap:20px; padding-bottom:26px; }
  .ep-hero h1 { font-size:36px; line-height:1.17; }
  .ep-dateline { font-size:15px; margin-top:18px; }
  .ep-hero-media { grid-template-columns:96px minmax(0,1fr); }
  .ep-hero-media img,.ep-hero-media.ep-portrait img,.ep-media-fallback { height:112px; }
  .ep-date-rule { padding-bottom:20px; }
  .ep-mobile-contents { display:block; border-bottom:1px solid var(--line); }
  .ep-mobile-contents>summary { min-height:60px; display:flex; align-items:center; gap:12px; font-size:14px; cursor:pointer; list-style:none; }
  .ep-mobile-contents>summary::-webkit-details-marker { display:none; }
  .ep-mobile-contents>summary>svg:last-child { margin-left:auto; }
  .ep-mobile-contents[open]>summary>svg:last-child { transform:rotate(180deg); }
  .ep-mobile-contents nav { display:flex; flex-direction:column; padding-bottom:16px; }
  .ep-mobile-contents nav a { min-height:44px; display:flex; align-items:center; padding-left:30px; font-size:15px; }
  .ep-page .pc-reading-aside { display:none; }
  .ep-page .pc-reading-layout { padding-top:28px; }
  .ep-facts .ep-topics { display:block; }
  .ep-facts dl { gap:0 16px; }
  .ep-page .pc-section { margin-bottom:32px; }
}
@media(max-width:380px) { .ep-hero h1 { font-size:32px; } }
.ep-review-notice { border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 8px; padding: 14px 18px; color: var(--muted); background: var(--wash); font-size: 14px; line-height: 1.65; }
