/* Shared editorial foundations: portal, WhatIfToday and Zeitgeist. */
@font-face{font-family:'Portal Manrope';src:url('/acervo-assets/b4088c3fb17da0ab/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/b4088c3fb17da0ab/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; }
.ep-ice-peek { display:flex; flex-wrap:wrap; align-items:center; gap:8px 13px; width:fit-content; max-width:100%; margin-top:22px; padding:11px 14px; border:1px solid var(--line); border-left:3px solid var(--accent); border-radius:6px; font-size:14px; min-height:44px; }
.ep-ice-peek>span:first-child { color:var(--muted); font-size:12px; letter-spacing:.06em; font-weight:650; }
.ep-ice-peek>strong { font:700 19px var(--display); font-variant-numeric:tabular-nums; }
.ep-ice-peek-action { display:inline-flex; align-items:center; gap:5px; color:var(--accent); font-size:13px; }
.ep-ice { font-size:16px; }
.ep-ice-summary { padding:22px; border:1px solid var(--line); background:var(--wash); border-radius:8px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:18px 12px; }
.ep-ice-caption { font-size:13px; color:var(--muted); line-height:1.5; }
.ep-page .ep-ice-value { font:650 46px/1.25 var(--display); font-variant-numeric:tabular-nums; margin-top:8px; letter-spacing:-1px; }
.ep-ice-value>span { font-size:17px; color:var(--muted); letter-spacing:0; }
.ep-ice-class { display:inline-flex; gap:8px; align-items:center; font-weight:600; font-size:14px; max-width:100%; overflow-wrap:anywhere; }
.ep-ice-class i { width:10px; height:10px; border-radius:50%; flex-shrink:0; background:var(--ice-mark,var(--muted)); }
.ep-ice-class-humanitario { --ice-mark:#b88a1b; }
.ep-ice-class-transcendente { --ice-mark:#398263; }
.ep-ice-class-estrutural { --ice-mark:#427fba; }
.ep-ice-class-transitorio { --ice-mark:#7d8491; }
.ep-ice-scale { width:100%; display:flex; flex-wrap:wrap; justify-content:space-between; gap:3px; font-size:11px; color:var(--muted); }
.ep-ice-scale meter { width:100%; height:10px; background:var(--line); border:0; border-radius:5px; appearance:none; }
.ep-ice-scale meter::-webkit-meter-bar { background:var(--line); border:0; border-radius:5px; }
.ep-ice-scale meter::-webkit-meter-optimum-value { background:var(--ice-mark,var(--accent)); border-radius:5px; }
.ep-ice-scale meter::-moz-meter-bar { background:var(--ice-mark,var(--accent)); }
.ep-page .ep-ice-subheading { font:600 16px var(--display); margin:25px 0 13px; }
.ep-ice-axes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.ep-ice-axes>div { border:1px solid var(--line); border-radius:6px; padding:16px; min-width:0; }
.ep-ice dt { color:var(--muted); font-size:12px; line-height:1.55; }
.ep-ice-axes dt { display:flex; gap:9px; align-items:center; }
.ep-ice-axis-letter { font:600 11px var(--display); display:grid; place-items:center; flex-shrink:0; border:1px solid var(--line); width:23px; height:23px; border-radius:4px; color:var(--accent); }
.ep-ice dd { margin:10px 0 0; font-size:16px; font-weight:600; line-height:1.55; overflow-wrap:anywhere; }
.ep-ice dd small { display:block; color:var(--muted); font-size:13px; font-weight:400; margin-top:5px; }
.ep-ice-context { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:18px 0 22px; padding:16px 0; border-block:1px solid var(--line); }
.ep-ice-context dd { margin-top:5px; font-size:15px; }
.ep-ice-warning,.ep-ice-paradox,.ep-ice-empty { display:flex; align-items:flex-start; gap:11px; padding:16px; border:1px solid var(--line); border-left:3px solid var(--ed-warning); border-radius:6px; margin-block:16px!important; font-size:14px; line-height:1.7; }
.ep-ice-warning>svg,.ep-ice-paradox>svg,.ep-ice-empty>svg { flex-shrink:0; margin-top:3px; color:var(--ed-warning); }
.ep-ice-paradox h3,.ep-ice-empty h3 { font:600 15px var(--display); margin-bottom:7px; }
.ep-ice-empty { border-left-color:var(--accent); background:var(--wash); }
.ep-ice-empty>svg { color:var(--accent); }
.ep-ice-note,.ep-ice-language { font-size:13px; line-height:1.75; color:var(--muted); margin-top:16px!important; }
.ep-ice-language { margin:0 0 16px!important; }
.ep-ice-methodology { display:inline-flex; align-items:center; gap:8px; margin-top:13px; min-height:44px; font-size:14px; }
.ep-ice-justification summary { min-height:48px; font-size:15px; }
@media(max-width:480px) { .ep-ice-summary { padding:18px; }.ep-page .ep-ice-value { font-size:40px; }.ep-ice-axes { gap:10px; }.ep-ice-axes>div { padding:13px 11px; }.ep-ice dd { font-size:15px; }.ep-ice-axes dt { align-items:flex-start; font-size:11px; gap:6px; }.ep-ice-axis-letter { width:19px; height:19px; }.ep-ice-peek { gap:7px 10px; } }
@media(max-width:360px) { .ep-ice-axes { grid-template-columns:1fr; }.ep-ice-context { gap:12px; }.ep-ice-peek-action { flex-basis:100%; } }
@media(max-width:380px) { .ep-header-inner { gap:8px; }.ep-brand { min-width:0; flex:1; }.ep-brand-logo { display:none; }.ep-brand strong { font-size:14px; white-space:normal; }.ep-brand small { font-size:10px; }.ep-header-actions { flex-shrink:0; } }

/* Composition specific to the event page. Shared editorial tokens are unchanged. */
.ep-hero { display:block; padding-bottom:32px; }
.ep-hero:has(.ep-hero-media) { display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:48px; }
.ep-hero h1 { max-width:26ch; }
.ep-kicker span+span { border:0; padding-left:0; }
.ep-kicker span { padding:5px 9px; border-radius:4px; background:var(--wash); }
.ep-page .pc-reading-layout { max-width:1120px; margin-inline:auto; grid-template-columns:174px minmax(0,1fr); gap:48px; padding-top:48px; }
.ep-reading-grid { display:block; max-width:80ch; }
.ep-narrative .pc-prose { max-width:70ch; }
.ep-page .pc-section { margin-bottom:48px; }
.ep-page .pc-section-nav { border:0; }
.ep-page .pc-section-nav a { border:0; padding:10px 12px; min-height:44px; border-radius:5px; font-size:14px; }
.ep-page .pc-section-nav a[aria-current=location] { background:var(--wash); color:var(--accent); font-weight:650; }
.ep-facts { border:0; background:var(--wash); border-radius:8px; padding:24px; margin-bottom:48px; }
.ep-facts dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 28px; margin:20px 0; }
.ep-facts dl>div { border:0; padding:0; }
.ep-facts dt { font-size:13px; }
.ep-facts-note { margin-top:14px!important; }
.ep-topics a { background:var(--paper); min-height:44px; display:flex; align-items:center; font-size:13px; }
.ep-source-notes { border:0; border-radius:8px; background:var(--wash); padding:20px; }
.ep-source-notes .pc-prose { font-size:16px; }
.ep-sources li { padding:18px 0; }
.ep-sources li:last-child { border:0; }
.ep-ice-context { border:0; background:var(--wash); border-radius:6px; padding:16px; }
.ep-explore-links { border:0; display:grid; gap:12px; }
.ep-explore-links>a { border:1px solid var(--line); border-radius:8px; padding:20px; transition:background .15s,border-color .15s; }
.ep-explore-links>a:hover { background:var(--wash); border-color:var(--accent); }
.ep-citation { border:0; border-radius:8px; padding:24px; background:var(--wash); }
.ep-citation button { min-height:44px; }
.ep-time-context { padding:24px 28px; background:var(--wash); border-radius:8px; margin-bottom:8px; }
.ep-time-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.ep-time-heading h2 { display:flex; gap:10px; align-items:center; font:600 16px/1.5 var(--display); }
.ep-time-heading a { display:inline-flex; align-items:center; gap:7px; min-height:44px; font-size:14px; color:var(--accent); }
.ep-time-plot { padding:30px 4px 16px; }
.ep-time-track { position:relative; height:3px; background:var(--line); border-radius:2px; }
.ep-time-track::before,.ep-time-track::after { content:''; position:absolute; top:-3px; width:1px; height:9px; background:var(--muted); }
.ep-time-track::before { left:0; }.ep-time-track::after { right:0; }
.ep-time-highlight { display:flex; justify-content:space-between; position:absolute; top:0; height:3px; background:var(--accent); }
.ep-time-highlight i { display:block; position:absolute; width:12px; height:12px; top:-4.5px; left:-6px; background:var(--accent); border:2px solid var(--paper); box-shadow:0 0 0 1px var(--accent); border-radius:50%; }
.ep-time-highlight i+i { left:auto; right:-6px; }
.ep-time-highlight i.is-ongoing { background:var(--paper); }
.ep-time-ticks { display:flex; justify-content:space-between; margin-top:12px; font-size:13px; color:var(--muted); font-variant-numeric:tabular-nums; }
.ep-time-dates { display:flex; flex-wrap:wrap; align-items:start; gap:16px 32px; }
.ep-time-dates p { flex:0 1 auto; }
.ep-time-dates p span { display:block; color:var(--muted); font-size:12px; }
.ep-time-dates strong { font-size:15px; font-weight:600; }
.ep-time-dates small { flex:1 1 240px; max-width:44ch; margin-left:auto; font-size:13px; color:var(--muted); line-height:1.6; }
.ep-image-trigger { display:block; position:relative; padding:0; border:0; width:100%; border-radius:8px; background:var(--wash); color:var(--ink); overflow:hidden; }
.ep-image-trigger>span { position:absolute; bottom:10px; right:10px; display:flex; gap:7px; align-items:center; padding:7px 10px; background:var(--paper); border-radius:5px; font-size:13px; }
.ep-image-dialog { max-width:min(1080px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; }
.ep-image-dialog .ep-dialog-heading { align-items:flex-start; }
.ep-image-dialog .ep-dialog-heading button { flex-shrink:0; }
.ep-hero-media .ep-image-dialog .ep-enlarged-image { display:block; width:100%; height:auto; max-height:70dvh; object-fit:contain; border-radius:0; background:transparent; }
.ep-image-dialog .pc-text-link { display:flex; align-items:center; gap:8px; min-height:44px; margin-top:12px; }
@media(max-width:1100px) { .ep-page .pc-reading-layout { gap:32px; grid-template-columns:155px minmax(0,1fr); }.ep-hero:has(.ep-hero-media) { grid-template-columns:minmax(0,1fr) 230px; gap:28px; } }
@media(max-width:980px) { .ep-page .pc-reading-layout { display:block; }.ep-page .pc-reading-aside { display:none; }.ep-mobile-contents { display:block; border:0; border-radius:8px; background:var(--wash); margin-top:16px; padding-inline:20px; }.ep-mobile-contents>summary { display:flex; align-items:center; gap:10px; min-height:52px; cursor:pointer; }.ep-mobile-contents>summary>svg:last-child { margin-left:auto; }.ep-mobile-contents nav { display:flex; flex-wrap:wrap; gap:0 20px; padding-block:4px 16px; }.ep-mobile-contents nav a { min-height:44px; display:flex; align-items:center; }.ep-reading-grid { margin-inline:auto; } }
@media(max-width:760px) { .ep-page .pc-reading-layout { padding-top:32px; }.ep-hero:has(.ep-hero-media) { grid-template-columns:1fr; gap:24px; }.ep-hero h1 { letter-spacing:-1px; }.ep-hero-media { display:block; max-width:440px; }.ep-hero-media img,.ep-hero-media.ep-portrait img { height:240px; }.ep-time-context { padding:20px; }.ep-time-heading h2 { font-size:15px; }.ep-time-plot { padding-top:24px; }.ep-time-dates { gap:16px 24px; }.ep-time-dates small { flex-basis:100%; max-width:none; margin:0; }.ep-facts { padding:20px; margin-bottom:32px; }.ep-facts dl { gap:20px; }.ep-page .pc-section { margin-bottom:36px; }.ep-explore-links>a { gap:12px; padding:18px 16px; }.ep-citation { padding:20px; }.ep-image-dialog { padding:16px; }.ep-image-dialog h2 { font-size:18px; }.ep-ice-peek { border-left-width:1px; border-radius:6px; } }
@media(max-width:380px) { .ep-time-context { padding:16px; }.ep-facts dl { grid-template-columns:1fr; }.ep-time-heading h2 { font-size:14px; } }
@media(prefers-reduced-motion:reduce) { .ep-explore-links>a { transition:none; } }

.ep-time-mark-label { position:absolute; left:0; bottom:14px; transform:translateX(-50%); white-space:nowrap; color:var(--accent); font-size:12px; font-style:normal; font-weight:650; }
.ep-time-mark-end { left:100%; }

/* Optional editorial composition; shared tokens and production CSS are preserved. */
.epx-preview-nav { flex-wrap:wrap; gap:4px 24px; padding-block:4px; }
.epx-preview-nav nav { gap:6px 18px; }
.epx-preview-nav nav a { min-height:44px; font-size:13px; }
.epx-page .ep-lead { max-width:65ch; }
.epx-page .ep-reading-grid { max-width:none; }
.epx-page .ep-narrative { max-width:850px; }
.epx-page .pc-section-body>.pc-prose { max-width:70ch; }
.epx-references { list-style:none; padding:0; margin:20px 0 0; display:flex; flex-wrap:wrap; gap:4px 18px; }
.epx-references a { display:inline-flex; gap:7px; align-items:center; min-height:44px; font-size:13px; color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.epx-references svg { flex-shrink:0; }
.epx-milestones { margin:26px 0 0!important; padding:24px; border-radius:8px; background:var(--wash); }
.epx-milestones>figcaption { font:600 14px var(--display); }
.epx-milestones ol { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); padding:0; margin:24px 0 0; list-style:none; }
.epx-milestones>ol>li { position:relative; display:flex; flex-direction:column; gap:8px; padding:20px 16px 0 0; border-top:2px solid var(--line); }
.epx-milestones>ol>li::before { content:''; width:9px; height:9px; background:var(--accent); border:3px solid var(--wash); box-sizing:content-box; border-radius:50%; position:absolute; top:-8px; left:0; }
.epx-milestones>ol>li strong { font:650 24px var(--display); font-variant-numeric:tabular-nums; }
.epx-milestones>ol>li span { font-size:15px; line-height:1.5; color:var(--muted); }
.epx-milestones .epx-references { margin-top:12px; }
.epx-concepts { padding:24px; margin:26px 0!important; background:var(--wash); border-radius:8px; }
.epx-concepts>div { display:flex; align-items:center; justify-content:center; gap:12px; }
.epx-concepts>div>span { padding:12px 20px; background:var(--paper); border:1px solid var(--line); border-radius:6px; font:600 14px var(--display); text-align:center; }
.epx-concepts>div>svg { flex-shrink:0; color:var(--accent); }
.epx-concepts figcaption { margin-top:18px; color:var(--muted); font-size:14px; text-align:center; }
.epx-reflection { display:flex; gap:14px; align-items:flex-start; padding:24px; margin-top:24px; border-radius:8px; background:var(--soft); }
.epx-reflection>svg { flex-shrink:0; margin-top:3px; color:var(--accent); }
.epx-reflection h3 { font:600 16px var(--display); margin:0 0 12px; }
.epx-reflection p { font-size:16px; line-height:1.8; max-width:65ch; }
.epx-article { padding:28px; border:1px solid var(--line); border-radius:8px; }
.epx-article-meta { display:flex; flex-wrap:wrap; align-items:center; gap:8px 20px; font-size:13px; color:var(--muted); }
.epx-article-meta>span { display:inline-flex; align-items:center; gap:7px; color:var(--accent); }
.epx-article h3 { font:600 26px/1.4 var(--display); letter-spacing:-.5px; margin:18px 0 10px; max-width:39ch; }
.epx-article h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.epx-byline { font-size:14px; color:var(--muted); }
.epx-reading-relation { font-size:16px; line-height:1.8; max-width:68ch; margin-top:22px!important; }
.epx-excerpt { background:var(--wash); border-radius:6px; margin:24px 0!important; padding:24px; }
.epx-excerpt figcaption { font:600 15px var(--display); }
.epx-excerpt figcaption>span { display:block; color:var(--muted); font:400 13px/1.6 var(--body); margin-top:5px; }
.epx-excerpt blockquote { margin:18px 0 0; padding:0; border:0; }
.epx-excerpt blockquote p { font:400 18px/1.85 var(--body); max-width:65ch; }
.epx-relation-toolbar { display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:14px; margin-bottom:22px; }
.epx-relation-toolbar>p { font-size:15px; color:var(--muted); }
.epx-relation-toolbar .pc-mode-switch { display:flex; gap:4px; }
.epx-relation-toolbar button { display:flex; align-items:center; gap:6px; min-height:44px; padding:10px 14px; }
.epx-relation-map { background:var(--wash); border-radius:8px; padding:24px; }
.epx-relation-root { position:relative; width:fit-content; min-width:210px; max-width:100%; margin:0 auto 42px; text-align:center; border:1px solid var(--accent); border-radius:8px; background:var(--paper); padding:18px 28px; }
.epx-relation-root span,.epx-relation-root small { display:block; font-size:12px; color:var(--muted); }
.epx-relation-root strong { display:block; font:650 23px/1.5 var(--display); margin:3px 0; }
.epx-mode-map .epx-relation-root::after { content:''; position:absolute; height:23px; width:1px; background:var(--line); left:50%; top:100%; }
.epx-relation-items { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:0; padding:0; position:relative; }
.epx-mode-map .epx-relation-items::before { content:''; position:absolute; top:-21px; left:calc((100% - 32px)/6); right:calc((100% - 32px)/6); height:1px; background:var(--line); }
.epx-relation-items>li { position:relative; min-width:0; display:flex; flex-direction:column; padding:20px; background:var(--paper); border:1px solid var(--line); border-radius:6px; }
.epx-mode-map .epx-relation-items>li::before { content:''; position:absolute; width:1px; height:21px; top:-22px; left:50%; background:var(--line); }
.epx-relationship-type { font-size:12px; line-height:1.5; color:var(--accent); }
.epx-relationship-date { font-variant-numeric:tabular-nums; font-size:13px; color:var(--muted); margin-top:18px!important; }
.epx-relation-items h3 { font:600 18px/1.45 var(--display); margin:7px 0 14px; }
.epx-relationship-explanation { font-size:15px; line-height:1.75; margin-bottom:18px!important; }
.epx-relation-destination { margin-top:auto; font-size:13px; min-height:44px; gap:8px; display:flex; justify-content:space-between; }
.epx-relation-destination svg { flex-shrink:0; }
.epx-relation-source { display:flex; gap:6px; align-items:center; min-height:44px; font-size:12px; color:var(--muted)!important; margin-top:10px; text-decoration:underline!important; text-underline-offset:3px; }
.epx-relation-note { font-size:14px; color:var(--muted); line-height:1.75; margin-top:16px!important; max-width:72ch; }
.epx-mode-list .epx-relation-root { margin:0 0 20px; text-align:left; width:100%; }
.epx-mode-list .epx-relation-items { grid-template-columns:1fr; }
.epx-mode-list .epx-relation-items>li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 24px; }
.epx-mode-list .epx-relation-items h3,.epx-mode-list .epx-relationship-explanation { grid-column:1/-1; }
.epx-mode-list .epx-relationship-date { margin:0!important; text-align:right; }
.epx-compare { max-width:1160px; margin:auto; padding:64px 32px; }
.epx-compare h1 { font:600 clamp(34px,4vw,50px)/1.17 var(--display); letter-spacing:-1.5px; max-width:22ch; margin:18px 0; }
.epx-compare-intro { max-width:64ch; color:var(--muted); font-size:19px; line-height:1.7; }
.epx-compare-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:44px 0; }
.epx-example { display:flex; flex-direction:column; border:1px solid var(--line); border-radius:8px; padding:28px; }
.epx-example .pc-eyebrow { color:var(--accent); }
.epx-example h2 { font:600 28px/1.3 var(--display); letter-spacing:-.5px; margin:18px 0; }
.epx-example p { font-size:17px; line-height:1.8; color:var(--muted); }
.epx-example ul { margin:20px 0 28px; padding-left:18px; font-size:15px; line-height:1.8; }
.epx-example .pc-button { margin-top:auto; }
.epx-compare-footer { color:var(--muted); font-size:14px; line-height:1.8; }
@media(max-width:1100px) {.epx-relation-items {gap:10px}.epx-relation-items>li {padding:16px}.epx-relation-map {padding:18px}.epx-mode-map .epx-relation-items::before {left:calc((100% - 20px)/6);right:calc((100% - 20px)/6)}}
@media(max-width:760px) {
  .epx-preview-nav {gap:0 14px}.epx-preview-nav>span {margin-left:0}.epx-preview-nav nav {order:3;width:100%;gap:0 16px}.epx-preview-nav nav a {font-size:12px}
  .epx-milestones,.epx-concepts,.epx-article,.epx-excerpt,.epx-reflection {padding:20px}
  .epx-milestones ol {grid-template-columns:1fr;margin-top:22px}.epx-milestones>ol>li {border-top:0;border-left:2px solid var(--line);padding:0 0 24px 22px}.epx-milestones>ol>li::before {top:6px;left:-8px}.epx-milestones>ol>li:last-child {padding-bottom:0;border-left-color:transparent}
  .epx-concepts>div {gap:8px;flex-wrap:wrap}.epx-concepts>div>span {padding:10px;font-size:13px}.epx-concepts>div>svg {width:14px}
  .epx-article h3 {font-size:23px}.epx-excerpt blockquote p {font-size:17px}
  .epx-relation-root {margin-bottom:24px;width:100%}.epx-mode-map .epx-relation-root::after {height:24px}
  .epx-relation-items {grid-template-columns:1fr;gap:14px}.epx-mode-map .epx-relation-items::before,.epx-mode-map .epx-relation-items>li::before {display:none}
  .epx-mode-map .epx-relation-items {padding-left:14px;border-left:1px solid var(--line)}.epx-mode-map .epx-relation-items>li::after {content:'';position:absolute;left:-15px;top:30px;width:14px;height:1px;background:var(--line)}
  .epx-mode-list .epx-relation-items>li {display:flex}.epx-mode-list .epx-relationship-date {text-align:left;margin-top:14px!important}
  .epx-compare {padding:36px 24px}.epx-compare-grid {grid-template-columns:1fr;margin-top:32px}.epx-example {padding:24px}
}
@media(prefers-reduced-motion:reduce) {.epx-page * {scroll-behavior:auto}}

/* One chronological scale for the page's own record. */
.epx-time-context .epx-time-plot { margin:0; padding:12px 4px 0; }
.epx-time-marker-label { max-width:46ch; margin:0 auto 12px; text-align:center; overflow-wrap:anywhere; }
.epx-time-marker-label strong { display:block; font:600 14px/1.55 var(--display); color:var(--ink); }
.epx-time-marker-label>span { display:block; margin-top:2px; font-size:13px; line-height:1.5; color:var(--muted); font-variant-numeric:tabular-nums; }
.epx-time-context .ep-time-highlight>i:last-of-type:not(:first-child) { left:auto; right:-6px; }
.epx-time-context .ep-time-ticks { margin-top:12px; font-size:12px; }
@media(max-width:760px) {
 .epx-time-context { padding:16px; }
 .epx-time-context .ep-time-heading { gap:8px; }
 .epx-time-context .ep-time-heading h2 { gap:7px; font-size:14px; }
 .epx-time-context .ep-time-heading a { gap:3px; font-size:13px; }
}
