
:root {
  --bg: #f7f8f8;
  --panel: #ffffff;
  --text: #172026;
  --ink: #172026;
  --muted: #64717a;
  --line: #d9e0e3;
  --accent: #176b73;
  --accent-dark: #0f4a50;
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font: 16px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.embed-view .site-header { display: none; }
html.embed-view .site-header { display: none; }
body.embed-view .site-sidebar { display: none; }
html.embed-view .site-sidebar { display: none; }
body.embed-view .site-shell { display: block; min-height: 0; }
html.embed-view .site-shell { display: block; min-height: 0; }
body.embed-view main { padding-top: 24px; }
html.embed-view main { padding-top: 24px; }
body.embed-view main,
html.embed-view main,
body.embed-view .site-main,
html.embed-view .site-main {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 24px clamp(12px, 2.5vw, 40px) 56px;
  box-sizing: border-box;
}
body.embed-view .site-footer,
html.embed-view .site-footer { display: none; }
a { color: var(--accent-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 1000;
  padding: 10px 14px;
  background: var(--accent-dark);
  color: #fff;
  border-radius: 0 0 6px 0;
}
.skip-link:focus,
.skip-link:focus-visible {
  left: 0;
}
.site-nav-item:focus-visible,
.site-explore-shortcut:focus-visible,
.language-switch button:focus-visible,
.global-search a:focus-visible,
.global-search button:focus-visible,
.global-search input:focus-visible,
.collection-view-controls button:focus-visible,
.site-mobile-menu summary:focus-visible,
.card a:focus-visible,
.search-filter-bar button:focus-visible,
.search-box:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.site-explore-shortcuts { display: none; }
.site-footer {
  margin: 0;
  padding: 20px 24px 32px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 14px;
}
.site-footer-label {
  margin: 0 0 8px;
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.site-footer-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 18px;
}
.site-footer-rights {
  margin-bottom: 16px;
}
.site-footer-copyright {
  margin: 0 0 8px;
  color: var(--text);
  font-weight: 600;
}
.site-footer-licenses {
  margin: 0 0 12px;
  line-height: 1.5;
}
.rights-attribution {
  margin-top: 28px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}
.rights-grid {
  display: grid;
  gap: 20px;
}
.rights-grid section h3 {
  margin: 0 0 8px;
  font-size: 16px;
}
.rights-copy-button {
  margin-top: 8px;
}
.rights-section h2 { margin-top: 0; }
.foundation-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin: 0 0 28px;
  padding: 0 0 16px;
  border-bottom: 1px solid var(--line);
  font-size: 14px;
}
.foundation-nav-link {
  color: var(--muted);
  text-decoration: none;
}
.foundation-nav-link:hover,
.foundation-nav-link.active {
  color: var(--text);
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.principles-document {
  max-width: 42rem;
  margin: 0 auto;
  padding-bottom: 48px;
}
.principles-lede h1 {
  margin-bottom: 12px;
}
.principles-intro-note {
  color: var(--muted);
  font-size: 15px;
  line-height: 1.6;
}
.principles-section {
  position: relative;
  margin: 0 0 40px;
  padding-top: 8px;
}
.principles-section + .principles-section::before {
  content: "";
  display: block;
  width: 100%;
  max-width: 8rem;
  margin: 0 0 28px;
  border-top: 1px dotted var(--line);
}
.principles-section-label {
  margin: 0 0 6px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
.principles-section h2 {
  margin: 0 0 16px;
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
}
.principles-section p {
  margin: 0 0 14px;
  line-height: 1.75;
  font-size: 17px;
}
.principles-pull-quote {
  margin: 24px 0;
  padding: 0 0 0 18px;
  border-left: 2px solid var(--line);
  color: var(--text);
}
.principles-pull-quote p {
  margin: 0;
  font-size: 20px;
  line-height: 1.45;
  font-style: italic;
}
.principles-closing {
  margin-top: 48px;
  padding-top: 8px;
}
.principles-closing p {
  margin: 0 0 14px;
  line-height: 1.75;
  font-size: 17px;
}
.principles-signoff {
  margin-top: 28px;
  font-size: 15px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--muted);
}
.manifesto-document {
  max-width: 42rem;
  margin: 0 auto;
  padding-bottom: 48px;
}
.manifesto-lede h1 {
  margin-bottom: 12px;
}
.manifesto-lede p {
  margin: 0 0 14px;
  line-height: 1.75;
  font-size: 17px;
}
.manifesto-principles {
  list-style: none;
  margin: 36px 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.manifesto-card {
  margin: 0;
  padding: 22px 22px 20px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.02);
}
.manifesto-card-number {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.12em;
}
.manifesto-card h2 {
  margin: 0 0 12px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.35;
}
.manifesto-card p {
  margin: 0 0 12px;
  line-height: 1.75;
  font-size: 17px;
}
.manifesto-card .principles-pull-quote {
  margin-bottom: 0;
}
.manifesto-closing {
  margin-top: 48px;
  padding-top: 8px;
}
.manifesto-closing p {
  margin: 0 0 14px;
  line-height: 1.75;
  font-size: 17px;
}
.manifesto-related {
  margin-top: 32px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.6;
}
.manifesto-related a {
  color: inherit;
}
.principles-section-motif-lens {
  background-image:
    radial-gradient(circle at 88% 18%, rgba(120, 132, 148, 0.07) 0 18px, transparent 19px),
    radial-gradient(circle at 88% 18%, rgba(120, 132, 148, 0.05) 0 32px, transparent 33px),
    radial-gradient(circle at 88% 18%, rgba(120, 132, 148, 0.03) 0 48px, transparent 49px);
  background-repeat: no-repeat;
}
@media (min-width: 1100px) {
  .principles-document {
    background-image:
      linear-gradient(90deg, transparent calc(50% - 22rem), rgba(120, 132, 148, 0.08) calc(50% - 22rem), rgba(120, 132, 148, 0.08) calc(50% - 21.75rem), transparent calc(50% - 21.75rem)),
      linear-gradient(90deg, transparent calc(50% + 21.75rem), rgba(120, 132, 148, 0.08) calc(50% + 21.75rem), rgba(120, 132, 148, 0.08) calc(50% + 22rem), transparent calc(50% + 22rem));
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
}
@media (min-width: 760px) {
  .rights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.home-explore { margin-bottom: 28px; }
.home-explore-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.home-explore-card h2 { margin: 0 0 8px; font-size: 20px; }
.translation-missing {
  border-left: 3px solid #d9b44a;
  padding-left: 12px;
  color: var(--muted);
  font-size: 14px;
}
.trust-key-sources ul {
  margin: 0;
  padding-left: 18px;
}
.local-version-banner {
  position: sticky;
  top: 0;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 16px;
  color: #4d3500;
  background: #fff5d6;
  border-bottom: 1px solid #e2c160;
  box-shadow: 0 4px 14px rgba(23, 32, 38, .08);
}
.local-version-banner strong,
.local-version-banner span {
  display: block;
}
.local-version-banner span {
  color: #6f5a1d;
  font-size: 13px;
}
.local-version-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  flex: 0 0 auto;
}
.local-version-actions a,
.local-version-actions button {
  border: 1px solid #9e7b18;
  border-radius: 6px;
  padding: 6px 10px;
  background: #fff;
  color: #4d3500;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}
.local-version-actions a.local-version-rebuild {
  background: #004f59;
  border-color: #004f59;
  color: #fff;
}
.site-shell {
  display: grid;
  grid-template-columns: 286px minmax(0, 1fr);
  min-height: 100vh;
}
.site-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px 16px 26px;
  background: rgba(255, 255, 255, .98);
  border-right: 1px solid var(--line);
  scrollbar-width: thin;
}
.site-sidebar-brand,
.site-header-main {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}
.site-content {
  min-width: 0;
}
.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid var(--line);
}
.brand { color: var(--text); font-weight: 700; }
.version-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 8px;
  color: var(--accent-dark);
  background: #e7f1f2;
  border: 1px solid #c7dadd;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
}
.language-switch {
  display: inline-grid;
  grid-template-columns: repeat(4, 34px);
  gap: 2px;
  padding: 2px;
  background: #eef3f4;
  border: 1px solid #c7dadd;
  border-radius: 6px;
  flex-shrink: 0;
}
.site-sidebar > .language-switch {
  width: fit-content;
}
.site-sidebar-pref-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
}
.site-sidebar-pref-bar > .language-switch {
  width: fit-content;
  flex-shrink: 0;
}
.journey-mode-toggle--icon {
  display: inline-grid;
  grid-template-columns: repeat(2, 28px);
  gap: 2px;
  padding: 2px;
  margin-right: 0;
  background: #eef3f4;
  border: 1px solid #c7dadd;
  border-radius: 6px;
  flex-shrink: 0;
}
.journey-mode-toggle--icon .journey-mode-button {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  padding: 4px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 800;
}
.journey-mode-toggle--icon .journey-mode-button.is-active {
  background: var(--accent-dark);
  color: #fff;
}
.journey-mode-toggle--icon .site-nav-icon {
  width: 15px;
  height: 15px;
}
.language-switch button {
  min-height: 26px;
  padding: 2px 0;
  color: var(--muted);
  background: transparent;
  border: 0;
  border-radius: 4px;
  cursor: pointer;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}
.language-switch button[aria-pressed="true"] {
  color: #fff;
  background: var(--accent-dark);
}
.i18n-lang {
  display: none;
}
html[lang="en"] .i18n-lang-en,
html[lang="fr"] .i18n-lang-fr,
html[lang="de"] .i18n-lang-de,
html[lang="ru"] .i18n-lang-ru {
  display: inline;
}
html[lang="en"] div.i18n-lang-en,
html[lang="fr"] div.i18n-lang-fr,
html[lang="de"] div.i18n-lang-de,
html[lang="ru"] div.i18n-lang-ru {
  display: block;
}
.translation-notice {
  color: var(--muted);
  font-size: 14px;
  font-style: italic;
}
.narrative-teaser {
  margin-top: 8px;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}
.narrative-teaser a {
  color: var(--accent-dark);
  font-weight: 700;
}
.site-nav {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.site-nav-group {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 8px;
  background: #fbfcfc;
  border: 1px solid var(--line);
  border-radius: 8px;
}
.site-nav-group.active {
  border-color: #b7d4d8;
  box-shadow: inset 3px 0 0 var(--accent);
}
.site-nav-group-heading {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: uppercase;
  cursor: pointer;
  list-style: none;
  user-select: none;
}
.site-nav-group-heading::-webkit-details-marker { display: none; }
.site-nav-group-heading::after {
  content: "";
  width: 7px;
  height: 7px;
  margin-left: auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(45deg);
  transition: transform .15s ease;
  flex: 0 0 auto;
}
.site-nav-group[open] > .site-nav-group-heading::after {
  transform: rotate(-135deg);
  margin-top: 3px;
}
.site-nav-group-items {
  display: grid;
  gap: 4px;
}
.site-nav-icon {
  width: 17px;
  height: 17px;
  flex: 0 0 auto;
}
.site-nav-item {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 7px 8px;
  color: var(--muted);
  border: 1px solid transparent;
  border-radius: 6px;
  font-size: 14px;
  line-height: 1.2;
}
.site-nav-item span {
  min-width: 0;
  overflow-wrap: anywhere;
}
.site-nav-item:hover {
  background: #eef6f7;
  text-decoration: none;
}
.site-nav-item.active {
  color: var(--accent-dark);
  background: #e7f1f2;
  border-color: #c7dadd;
  font-weight: 700;
}
.site-mobile-menu {
  flex: 0 0 auto;
  position: relative;
}
.site-mobile-menu summary {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  color: var(--accent-dark);
  background: #e7f1f2;
  border: 1px solid #c7dadd;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  list-style: none;
}
.site-mobile-menu summary::-webkit-details-marker { display: none; }
.site-header > nav {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.site-header > nav a {
  color: var(--muted);
  font-size: 14px;
}
.site-header > nav a.active {
  color: var(--accent-dark);
  font-weight: 700;
}
.site-nav-mobile {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  width: min(88vw, 340px);
  max-height: min(72vh, 620px);
  overflow: auto;
  padding: 10px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 14px 36px rgba(23, 32, 38, .16);
}
.global-search {
  display: flex;
  align-items: center;
  gap: 6px;
  width: min(100%, 300px);
  min-width: 0;
  flex-shrink: 0;
}
.site-sidebar .global-search {
  width: 100%;
}
.global-search input {
  min-width: 0;
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 4px;
  padding: 7px 9px;
  background: #fff;
  font: inherit;
}
.global-search button {
  border: 1px solid var(--accent-dark);
  border-radius: 4px;
  padding: 7px 10px;
  background: var(--accent-dark);
  color: #fff;
  cursor: pointer;
  font: inherit;
}
main { max-width: 1180px; margin: 0 auto; padding: 32px 24px 56px; }
@media (min-width: 861px) {
  .site-content > .site-header { display: none; }
}
@media (max-width: 860px) {
  .site-shell {
    display: block;
    min-height: 0;
  }
  .site-sidebar {
    display: none;
  }
  .site-header {
    align-items: center;
    flex-wrap: wrap;
  }
  .site-header-main {
    flex: 1 1 210px;
  }
  .global-search {
    width: min(100%, 280px);
  }
  .site-mobile-menu {
    margin-left: auto;
  }
  .local-version-banner {
    align-items: flex-start;
    flex-direction: column;
  }
  .site-explore-shortcuts {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    padding: 0 16px 12px;
  }
  .site-explore-shortcut {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 10px 6px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--panel);
    color: var(--text);
    font-size: 12px;
    text-align: center;
    text-decoration: none;
  }
  .site-explore-shortcut:hover { text-decoration: none; }
  .site-explore-shortcut.active {
    border-color: var(--accent);
    box-shadow: inset 0 0 0 1px var(--accent);
  }
  .site-explore-shortcut .site-nav-icon {
    width: 20px;
    height: 20px;
  }
  .hero { min-height: 220px; }
}
.hero {
  min-height: 280px;
  display: flex;
  align-items: start;
  padding: 46px;
  background: linear-gradient(120deg, #17313a, #176b73);
  color: white;
}
.hero a {
  color: #f8d46a;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: .16em;
}
.hero a:hover,
.hero a:focus-visible {
  color: #fff8df;
}
.hero a:focus-visible {
  outline: 2px solid #fff8df;
  outline-offset: 3px;
}
.hero h1 { margin: 0; font-size: 44px; line-height: 1.05; }
.hero p { max-width: 620px; }
.compact-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}
.hero-title-block,
.hero-copy-block,
.hero-meta-block {
  min-width: 0;
}
.compact-hero .eyebrow,
.compact-hero h1,
.compact-hero .lede {
  margin: 0;
}
.compact-hero h1 {
  overflow-wrap: anywhere;
}
.compact-hero .hero-copy-block {
  max-width: 48rem;
}
.compact-hero .lede {
  line-height: 1.45;
}
.hero-thesis {
  margin: 18px 0 20px;
  max-width: 720px;
  color: #fff8df;
}
.hero-thesis p {
  margin: 0;
  max-width: none;
  font-size: 24px;
  line-height: 1.25;
  font-weight: 700;
}
.hero-thesis span {
  display: block;
}
.hero-thesis cite {
  display: block;
  margin-top: 10px;
  color: rgba(255, 255, 255, .74);
  font-size: 14px;
  font-style: normal;
  letter-spacing: 0;
}
.home-positioning-visual {
  margin: 0 0 32px;
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  background: var(--panel);
}
.home-positioning-visual img {
  display: block;
  width: 100%;
  height: auto;
}
.home-positioning-visual figcaption {
  padding: 12px 16px;
  font-size: 14px;
  color: var(--muted);
}
.page-heading { margin: 14px 0 24px; }
.page-heading h1, .page-heading h2 { margin: 0; font-size: 32px; line-height: 1.15; }
.eyebrow {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
  text-transform: uppercase;
}
.stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  margin: 14px 0 36px;
  background: var(--line);
  border: 1px solid var(--line);
}
.stats a {
  display: block;
  background: var(--panel);
  padding: 18px;
  color: var(--text);
}
.stats a:hover {
  background: #f3f7f7;
  text-decoration: none;
}
.stats strong { display: block; font-size: 28px; }
.stats-card-label {
  display: block;
  margin-top: 4px;
  color: var(--text);
  font-weight: 700;
}
.stats-card-description {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  line-height: 1.4;
}
.home-curation {
  margin: 0 0 36px;
}
.home-tabs {
  position: relative;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
}
.home-tabs > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.home-tab-labels {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 12px;
  border-bottom: 1px solid var(--line);
}
.home-tab-labels label {
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--accent-dark);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  padding: 7px 12px;
}
.home-tab-panels {
  padding: 18px;
}
.home-tab-panel {
  display: none;
}
.project-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 14px;
}
.project-item {
  min-width: 0;
  padding: 16px;
  background: #fbfcfc;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.project-item h3 {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.25;
}
.project-item p {
  margin: 0 0 10px;
  color: var(--muted);
}
.cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 18px;
}
.card {
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
}
.card[data-card-url] {
  cursor: pointer;
}
.card[data-card-url]:hover {
  border-color: #b7d4d8;
  box-shadow: 0 8px 22px rgba(23, 37, 44, .08);
}
.card[data-card-url]:focus-visible {
  outline: 3px solid rgba(14, 111, 114, .35);
  outline-offset: 3px;
}
.thumb-frame {
  position: relative;
  display: block;
  overflow: hidden;
  background: #dce6e8;
}
.thumb-attribution-hint {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 6px 8px;
  background: rgba(15, 23, 28, .88);
  color: #f0f4f5;
  font-size: 11px;
  line-height: 1.3;
  opacity: 0;
  transform: translateY(4px);
  transition: opacity .15s ease, transform .15s ease;
  pointer-events: none;
  z-index: 2;
}
.thumb-frame:has(.thumb-attribution-hint):hover .thumb-attribution-hint,
.thumb-frame:has(.thumb-attribution-hint):focus-within .thumb-attribution-hint {
  opacity: 1;
  transform: translateY(0);
}
.thumb {
  width: 100%;
  aspect-ratio: 4 / 3;
  display: block;
  object-fit: cover;
  background: #dce6e8;
}
.thumb-empty {
  border-bottom: 1px solid var(--line);
}
.visual-placeholder,
.record-visual-placeholder {
  background:
    linear-gradient(135deg, rgba(23, 107, 115, .14), rgba(255, 255, 255, .68)),
    repeating-linear-gradient(45deg, #e8eef0, #e8eef0 12px, #d9e3e6 12px, #d9e3e6 24px);
}
.visual-badge {
  position: absolute;
  left: 10px;
  top: 10px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(23, 32, 38, .16);
  color: var(--text);
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
}
.visual-badge-ai_illustration {
  background: #fff6df;
  border-color: #ead49a;
}
.visual-badge-placeholder {
  background: #eef3f4;
}
.visual-badge-location {
  background: #e8f3f2;
  border-color: #b7d4d8;
}
.visual-badge-none {
  background: #f7f2e8;
  border-color: #ddcfb8;
}
.visual-badge-restricted_reference {
  background: #f8e8e4;
  border-color: #e4b2a8;
}
.visual-badge-archival_photo,
.visual-badge-map,
.visual-badge-drawing,
.visual-badge-postcard {
  background: #edf4ed;
  border-color: #b8d1bd;
}
.card-body { padding: 16px; }
.card h2 { margin: 0 0 8px; font-size: 18px; line-height: 1.25; }
.card p { color: var(--muted); margin: 0 0 12px; }
.mini-meta {
  color: var(--accent-dark) !important;
  font-size: 13px;
  font-weight: 600;
}
.build-meta {
  color: var(--muted);
  font-size: 13px;
}
.tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.tags span, .tags a {
  display: inline-block;
  padding: 3px 8px;
  color: var(--accent-dark);
  background: #e7f1f2;
  border-radius: 4px;
  font-size: 12px;
}
.record h1 { max-width: 860px; margin: 0 0 24px; font-size: 36px; line-height: 1.15; }
.record-hero {
  margin-bottom: 28px;
  padding-bottom: 8px;
}
.record-hero-top {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.record-type-chip {
  display: inline-block;
  padding: 4px 10px;
  color: var(--accent-dark);
  background: #e7f1f2;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 700;
}
.record-hero .tags {
  margin-top: 0;
  justify-content: flex-end;
}
.record-summary {
  margin: 0 0 8px;
  color: var(--accent-dark);
  font-size: 16px;
  font-weight: 600;
}
.record-trust-panel {
  margin-bottom: 24px;
}
.record-trust-panel > h2 {
  margin: 0 0 14px;
  font-size: 20px;
}
.record-trust-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 18px;
  margin-bottom: 16px;
}
.record-trust-panel .trust-identity dl,
.record-trust-panel .trust-review {
  margin: 0;
}
.record-trust-panel h3 {
  margin: 0 0 10px;
  color: var(--accent-dark);
  font-size: 15px;
}
.trust-status-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.trust-external-ids,
.trust-claims,
.trust-claim-evidence {
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid var(--line);
}
.trust-external-ids ul,
.trust-claims ul {
  margin: 0;
  padding-left: 18px;
}
.trust-external-ids li,
.trust-claims li {
  margin-bottom: 10px;
}
.trust-claim-source {
  color: var(--muted);
  font-size: 13px;
}
.claim-evidence-list {
  display: grid;
  gap: 10px;
}
.claim-evidence-field {
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.72);
}
.claim-evidence-field header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}
.claim-evidence-field h4 {
  margin: 0;
  color: var(--accent-dark);
  font-size: 14px;
}
.claim-evidence-current,
.claim-evidence-inherited {
  margin: 6px 0 0;
  font-size: 13px;
}
.claim-evidence-guidance,
.claim-evidence-support {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.claim-evidence-history {
  margin-top: 8px;
}
.claim-evidence-history summary,
.technical-details summary {
  cursor: pointer;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 700;
}
.claim-evidence-claims {
  margin: 8px 0 0;
  padding-left: 18px;
}
.claim-evidence-claims li {
  margin-bottom: 6px;
}
.claim-evidence-value {
  font-weight: 700;
}
.claim-evidence-source {
  color: var(--muted);
  font-size: 13px;
}
.technical-details {
  margin-top: 8px;
  color: var(--muted);
  font-size: 12px;
}
.technical-details dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 10px;
  margin: 8px 0 0;
}
.technical-details code {
  white-space: normal;
}
.trust-archive-pointer {
  margin: 16px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.trust-conflicts {
  margin: 12px 0 0;
  color: var(--danger, #8a1f1f);
  font-size: 13px;
}
.evidence-graph-panel {
  margin-bottom: 24px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.evidence-graph-panel h3 {
  margin: 0 0 8px;
  color: var(--accent-dark);
}
.evidence-graph-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 14px;
  margin-top: 14px;
}
.evidence-graph-grid article {
  padding-top: 10px;
  border-top: 1px solid var(--line);
}
.evidence-graph-grid h4 {
  margin: 0 0 8px;
  font-size: 14px;
}
.evidence-graph-grid ul {
  margin: 0;
  padding-left: 18px;
}
.evidence-graph-grid li {
  margin-bottom: 6px;
}
.external-identity-graph {
  margin-bottom: 24px;
}
.external-identity-graph h2 {
  margin-top: 0;
  font-size: 20px;
}
.external-identity-graph ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.identity-graph-row {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: 8px 14px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.identity-graph-row:first-child {
  border-top: 0;
}
.identity-graph-row strong {
  color: var(--accent-dark);
}
.identity-graph-row p {
  margin: 5px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.record-history-connections,
.record-lifecycle-summary,
.state-profile-viewer,
.record-related-assets,
.record-continuity-through-time,
.record-names {
  margin-bottom: 24px;
}
.record-history-connections > h2 {
  margin-top: 0;
}
.record-history-subsection {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
}
.record-history-subsection:first-of-type {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}
.record-history-subsection h3 {
  margin: 0 0 8px;
  color: var(--accent-dark);
}
.record-history-subsection h4 {
  margin: 14px 0 8px;
  font-size: 15px;
}
.lifecycle-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 14px;
}
.lifecycle-chip,
.lifecycle-event-kind {
  display: inline-block;
  border: 1px solid #c7d8c4;
  border-radius: 999px;
  background: #f3faf1;
  color: #315d34;
  font-size: 12px;
  font-weight: 700;
}
.lifecycle-chip {
  padding: 4px 9px;
}
.lifecycle-event-kind {
  width: max-content;
  padding: 2px 8px;
}
.lifecycle-chip-destroyed,
.lifecycle-chip-decommissioned {
  border-color: #e4b8b8;
  background: #fff4f4;
  color: #7a2f2f;
}
.lifecycle-chip-moved,
.lifecycle-chip-museum {
  border-color: #cbbde2;
  background: #f6f1fb;
  color: #553982;
}
.lifecycle-card-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}
.lifecycle-card-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  border: 1px solid #cbd4d6;
  border-radius: 999px;
  background: #f7f8f8;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
}
.lifecycle-card-chip em {
  color: var(--muted);
  font-style: normal;
  font-weight: 600;
}
.lifecycle-story-timeline {
  display: grid;
  gap: 10px;
  margin: 0 0 18px;
  padding: 0;
  list-style: none;
}
.lifecycle-story-timeline li {
  display: grid;
  grid-template-columns: minmax(72px, 120px) minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.lifecycle-story-timeline time {
  color: var(--accent-dark);
  font-weight: 750;
}
.lifecycle-story-timeline div {
  display: grid;
  gap: 4px;
}
.asset-relationship-explorer ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.asset-network-row {
  display: grid;
  grid-template-columns: minmax(120px, 180px) minmax(0, 1fr);
  gap: 8px 12px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.asset-network-row strong {
  color: var(--accent-dark);
}
.asset-network-row span,
.asset-network-row p {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
}
.record-name-alternates {
  margin: 0.35rem 0 0.75rem;
}
.record-names-group {
  margin-bottom: 16px;
}
.record-names-group h3 {
  font-size: 1rem;
  margin: 0 0 8px;
}
.record-names .name-evidence {
  margin: 6px 0 0;
  padding-left: 18px;
  font-size: 0.9rem;
}
.record-names-api {
  margin-top: 12px;
}
.record-continuity-eyebrow {
  font-size: 0.9rem;
  margin: -0.25rem 0 0.75rem;
}
.record-continuity-thread-status {
  font-size: 0.85rem;
}
.record-history-connections ol,
.record-history-connections ul,
.record-lifecycle-summary ol,
.record-lifecycle-summary ul,
.record-related-assets ul,
.record-continuity-through-time ol,
.record-continuity-through-time ul {
  margin: 0;
  padding-left: 18px;
}
.record-history-connections li,
.record-lifecycle-summary li,
.record-related-assets li,
.record-continuity-through-time li {
  margin-bottom: 8px;
}
.lifecycle-pilot,
.lifecycle-more {
  margin: 0 0 12px;
}
.state-profile-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  margin-bottom: 14px;
}
.state-profile-header .eyebrow {
  margin: 0 0 4px;
}
.state-profile-header h2 {
  margin-bottom: 0;
}
.state-profile-control {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(64px, max-content);
  gap: 12px;
  align-items: center;
  margin-bottom: 16px;
}
.state-profile-control input[type="range"] {
  width: 100%;
  accent-color: var(--accent);
}
.state-profile-control output {
  min-width: 64px;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 6px 8px;
  background: #fff;
  text-align: center;
  font-weight: 750;
}
.state-profile-state article {
  border-top: 1px solid var(--line);
  padding-top: 14px;
}
.state-profile-state header {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 12px;
}
.state-profile-facts {
  margin-bottom: 12px;
}
.state-profile-facts > div {
  display: contents;
}
.state-profile-state h3 {
  margin: 14px 0 8px;
  font-size: 16px;
}
.state-profile-state ul {
  margin: 0;
  padding-left: 18px;
}
.detail-conflict {
  color: var(--danger, #8a1f1f);
  font-weight: 600;
}
.detail-conflict-note {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border-radius: 999px;
  background: #fdecec;
  color: var(--danger, #8a1f1f);
  font-size: 12px;
  font-weight: 600;
}
.detail-row-conflict {
  background: #fff7f7;
}
.detail-origin {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  vertical-align: 1px;
}
.detail-origin-resolved {
  border-color: #9ecfd4;
  background: #eefafa;
  color: var(--accent-dark);
}
.detail-origin-claim {
  border-color: #c7d8c4;
  background: #f3faf1;
  color: #315d34;
}
.detail-origin-inherited {
  background: #f7f8f8;
}
.evidence-badge {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f7f8f8;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
  vertical-align: 1px;
}
.evidence-verified {
  border-color: #9fc9a4;
  background: #f0f8ef;
  color: #315d34;
}
.evidence-inferred,
.evidence-approximate {
  border-color: #d5c68c;
  background: #fff8df;
  color: #765a16;
}
.evidence-disputed,
.evidence-missing {
  border-color: #e1a9a9;
  background: #fdecec;
  color: #8a1f1f;
}
.evidence-reconstructed,
.evidence-inherited,
.evidence-context-only,
.evidence-unknown {
  border-color: #cbd4d6;
  background: #f3f6f6;
  color: #526064;
}
.field-provenance {
  margin-top: 6px;
  color: var(--muted);
  font-size: 13px;
}
.field-provenance summary {
  cursor: pointer;
  width: fit-content;
}
.field-provenance dl {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px 10px;
  margin: 6px 0;
}
.field-provenance ul {
  margin: 6px 0 0;
  padding-left: 18px;
}
.field-provenance-warning,
.detail-light-context-note {
  color: #765a16;
}
.detail-light-context-note {
  display: block;
  margin-top: 6px;
  font-size: 13px;
}
.record-grid {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 28px;
}
.meta-panel {
  align-self: start;
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
}
.record-content {
  min-width: 0;
  margin-bottom: 24px;
  padding: 24px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
}
.record-at-a-glance .facts-group {
  margin-top: 18px;
}
.record-at-a-glance .facts-group:first-of-type {
  margin-top: 0;
}
.record-at-a-glance .facts-group h3 {
  margin: 0 0 10px;
  font-size: 15px;
  color: var(--accent-dark);
}
.record-identifiers,
.record-all-fields {
  margin-top: 18px;
  padding: 14px 18px;
  background: #f8fbfc;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.record-identifiers summary,
.record-all-fields summary {
  cursor: pointer;
  font-weight: 700;
  color: var(--accent-dark);
}
.record-identifiers dl,
.record-all-fields dl {
  margin-top: 14px;
}
.record-sources > section {
  margin-top: 24px;
}
.record-sources > section:first-child {
  margin-top: 0;
}
.heritage-visual-panel {
  margin-top: 12px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fafcfd;
}
.heritage-visual-panel summary {
  cursor: pointer;
  font-weight: 700;
}
.heritage-visual-panel article {
  margin-top: 12px;
}
.line-clamp-3 {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
}
.card-excerpt {
  margin: 0 0 12px;
}
.narrative-teaser-secondary {
  font-size: 13px;
  color: var(--muted);
}
.tag-overflow {
  display: inline-block;
  padding: 3px 8px;
  color: var(--muted);
  background: #eef3f4;
  border-radius: 4px;
  font-size: 12px;
}
dt { color: var(--muted); font-size: 13px; }
dd { margin: 0 0 12px; overflow-wrap: anywhere; }
.body-copy img { max-width: 100%; height: auto; }
.body-copy table { max-width: 100%; border-collapse: collapse; }
.body-copy td, .body-copy th { border: 1px solid var(--line); padding: 6px; }
.missing-inline-media {
  display: inline-block;
  border: 1px dashed var(--line);
  border-radius: 6px;
  padding: 6px 8px;
  color: var(--muted);
  background: #f8fbfc;
  font-size: 0.9rem;
}
.facts {
  margin: 0 0 24px;
  padding: 18px;
  background: #f3f7f7;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.facts h2, .relations h2 {
  margin: 0 0 14px;
  font-size: 20px;
}
.geography {
  border-color: #b8d9dc;
  background: #edf8f8;
}
.facts dl {
  display: grid;
  grid-template-columns: minmax(130px, 190px) minmax(0, 1fr);
  gap: 8px 16px;
  margin: 0;
}
.facts dt, .facts dd { margin: 0; }
.detail-empty {
  color: var(--muted);
  font-style: italic;
}
.feature-page > section,
.feature-page > aside {
  margin-top: 28px;
}
.feature-page > section:first-child {
  margin-top: 0;
}
.feature-page h2 {
  margin: 0 0 12px;
  font-size: 22px;
}
.feature-page h3 {
  margin: 0 0 8px;
  font-size: 16px;
  color: var(--accent-dark);
}
.feature-hero {
  padding: 18px;
  background: #eef7f6;
  border: 1px solid #c7dadd;
  border-radius: 6px;
}
.feature-hero p:last-child,
.feature-status-card p:last-child,
.feature-case-box p:last-child {
  margin-bottom: 0;
}
.feature-status-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}
.feature-status-card,
.feature-case-box {
  padding: 14px 16px;
  background: #f8fbfc;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.feature-case-box {
  border-left: 4px solid var(--accent);
}
.feature-timeline {
  margin: 0;
  padding-left: 24px;
}
.feature-timeline li {
  margin-bottom: 14px;
}
.feature-timeline-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: baseline;
}
.feature-timeline time {
  display: inline-block;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}
.feature-evidence-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.feature-table-wrap {
  max-width: 100%;
  overflow-x: auto;
}
.feature-evidence-table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
}
.feature-evidence-table th,
.feature-evidence-table td {
  padding: 9px 10px;
  border: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.feature-evidence-table th {
  background: #eef3f4;
  color: var(--accent-dark);
  font-size: 13px;
}
.field-claims {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.field-claim-source {
  display: inline-flex;
  gap: 6px;
  align-items: baseline;
  max-width: 100%;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 3px 7px;
  background: #fff;
  color: var(--muted);
  font-size: 12px;
}
.field-claim-source em {
  color: var(--muted);
  font-style: normal;
}
.detail-note {
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 13px;
}
.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
  gap: 10px;
  margin-bottom: 24px;
}
.record-visual {
  margin-bottom: 20px;
}
.record-visual figure {
  margin: 0;
  overflow: hidden;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.record-visual-media {
  position: relative;
  overflow: hidden;
  display: grid;
  place-items: center;
  background: #eef3f4;
}
.record-visual-image {
  width: 100%;
  max-height: min(76vh, 900px);
  display: block;
  object-fit: contain;
}
.record-visual-placeholder {
  width: 100%;
  aspect-ratio: 16 / 9;
  display: block;
}
.record-visual figcaption {
  padding: 12px 14px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.45;
}
.record-visual figcaption p {
  margin: 0 0 6px;
}
.record-visual-meta {
  font-size: 13px;
}
.gallery figure { margin: 0; }
.gallery-local-review-image {
  padding: 8px;
  border: 1px solid #e2c16f;
  border-radius: 6px;
  background: #fff8df;
}
.gallery img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 4px;
}
.gallery figcaption {
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.gallery figcaption span {
  display: block;
  margin-top: 2px;
}
.local-review-badge,
.local-review-inline-media figcaption strong {
  display: inline-block;
  margin: 4px 0 2px;
  padding: 2px 6px;
  border-radius: 4px;
  background: #7a4b00;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
}
.local-review-inline-media {
  display: inline-block;
  max-width: min(360px, 100%);
  margin: 8px 14px 8px 0;
  padding: 8px;
  border: 1px solid #e2c16f;
  border-radius: 6px;
  background: #fff8df;
  vertical-align: top;
}
.local-review-inline-media img {
  display: block;
  max-width: 100%;
  height: auto;
  border-radius: 4px;
}
.local-review-inline-media figcaption {
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.local-review-inline-media figcaption span {
  display: block;
}
.relation-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 18px;
  margin-top: 28px;
}
.relations {
  padding: 18px;
  background: #fbfcfc;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.relations ul { margin: 0; padding-left: 18px; }
.relations li { margin-bottom: 8px; }
.relations span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.story-article {
  max-width: 760px;
  margin-bottom: 24px;
}
.story-article h2 {
  margin-top: 28px;
}
.story-media {
  padding: 0;
  overflow: hidden;
}
.story-media h2 {
  padding: 18px 18px 0;
}
.story-media-card {
  border-top: 1px solid var(--line);
}
.story-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #111820;
}
.story-video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.story-media-meta {
  padding: 14px 18px 18px;
}
.story-media-meta h3 {
  margin: 0 0 6px;
  font-size: 16px;
}
.story-media-meta p {
  margin: 0 0 8px;
  color: var(--muted);
}
.story-sources h3 {
  margin: 16px 0 8px;
  color: var(--muted);
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.provenance {
  margin-top: 28px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fbfcfc;
}
.attribution {
  margin-top: 28px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fffdf8;
}
.attribution h2 {
  margin: 0 0 14px;
  font-size: 20px;
}
.attribution h3 {
  margin: 16px 0 8px;
  color: var(--muted);
  font-size: 14px;
  text-transform: uppercase;
}
.attribution ul { margin: 8px 0 0; padding-left: 18px; }
.attribution li { margin-bottom: 10px; }
.attribution code {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-size: 12px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.attribution-meta,
.attribution .review-status {
  display: block;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.provenance h2 {
  margin: 0 0 14px;
  font-size: 20px;
}
.provenance h3 {
  margin: 16px 0 8px;
  color: var(--muted);
  font-size: 14px;
  text-transform: uppercase;
}
.provenance ul { margin: 8px 0 0; padding-left: 18px; }
.provenance li { margin-bottom: 8px; }
.provenance li span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.taxonomy-list {
  columns: 2 280px;
  padding: 0;
  list-style: none;
}
.taxonomy-list li {
  break-inside: avoid;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}
.about-differentiators {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.about-differentiators li {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--panel);
}
.about-differentiators strong,
.about-differentiators span {
  display: block;
}
.about-differentiators strong {
  margin-bottom: 6px;
  color: var(--text);
  font-size: 17px;
  line-height: 1.25;
}
.about-differentiators span {
  color: var(--muted);
  line-height: 1.45;
}
.contact-panel {
  max-width: 720px;
}
.contact-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 15px;
  color: #fff;
  background: var(--accent-dark);
  border: 1px solid var(--accent-dark);
  border-radius: 6px;
  font-weight: 700;
  line-height: 1.2;
}
.contact-button:hover {
  background: #0f5960;
  text-decoration: none;
}
@media (min-width: 860px) {
  .about-differentiators {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.qa-quick-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 20px;
  padding: 12px;
  background: rgba(23, 107, 115, .08);
  border: 1px solid rgba(23, 107, 115, .18);
  border-radius: 8px;
}
.qa-quick-link {
  padding: 5px 9px;
  color: var(--accent-dark);
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 13px;
  text-decoration: none;
}
.qa-quick-link-dashboard {
  color: #fff;
  background: var(--accent);
  border-color: var(--accent);
}
.qa-dashboard-cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 14px;
  margin: 24px 0;
}
.qa-dashboard-card {
  min-width: 0;
  padding: 16px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
}
.qa-dashboard-card.blocker { border-color: #c94d3d; }
.qa-dashboard-card.review { border-color: #c78f2e; }
.qa-dashboard-card.ok { border-color: #3f8b5b; }
.qa-dashboard-card h2 {
  margin: 0 0 8px;
  font-size: 15px;
}
.qa-dashboard-card p {
  margin: 6px 0;
  color: var(--muted);
}
.qa-dashboard-value {
  color: var(--text) !important;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.1;
}
.qa-next-actions,
.qa-dashboard-group {
  margin: 28px 0;
}
.qa-next-actions h2,
.qa-dashboard-group h2 {
  margin-bottom: 6px;
}
.qa-next-action a {
  font-weight: 700;
}
.qa-next-action.blocker a { color: #a13b30; }
.qa-next-action.review a { color: #915f11; }
.qa-dashboard-item.package-only {
  color: var(--muted);
}
.qa-dashboard-note {
  font-style: italic;
}
.taxonomy-tree-controls {
  margin-bottom: 10px;
}
.taxonomy-tree-scroll {
  margin-top: 12px;
}
.taxonomy-facet {
  margin: 18px 0;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.taxonomy-facet summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  cursor: pointer;
  font-weight: 800;
}
.taxonomy-facet summary strong {
  color: var(--muted);
  font-size: 13px;
}
.taxonomy-facet .taxonomy-tree-scroll {
  margin: 0;
}
.taxonomy-tree-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
}
.taxonomy-tree-table th,
.taxonomy-tree-table td {
  padding: 9px 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.taxonomy-tree-table th {
  background: #f6fafb;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
}
.taxonomy-tree-table tr:last-child td {
  border-bottom: 0;
}
.taxonomy-tree-row.taxonomy-search-context td {
  background: #fbfcfc;
  color: var(--muted);
}
.taxonomy-tree-term {
  min-width: 260px;
  font-weight: 700;
}
.taxonomy-tree-term a {
  overflow-wrap: anywhere;
}
.taxonomy-tree-row td:first-child {
  padding-left: calc(10px + (var(--taxonomy-depth, 0) * 18px));
  font-weight: 700;
}
.taxonomy-tree-indent {
  display: inline-block;
  width: calc(var(--taxonomy-depth, 0) * 18px);
  min-width: calc(var(--taxonomy-depth, 0) * 18px);
}
.taxonomy-tree-toggle,
.taxonomy-tree-spacer {
  display: inline-flex;
  width: 24px;
  height: 24px;
  margin-right: 6px;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}
.taxonomy-tree-toggle {
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
  color: var(--accent-dark);
  cursor: pointer;
  font: inherit;
  font-weight: 800;
  line-height: 1;
}
.taxonomy-tree-toggle:focus {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
.taxonomy-tree-count {
  white-space: nowrap;
}
.taxonomy-breadcrumb {
  color: var(--muted);
  font-weight: 700;
}
.taxonomy-children ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}
.taxonomy-children li {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
}
.taxonomy-children span {
  color: var(--muted);
  white-space: nowrap;
}
@media (max-width: 760px) {
  .taxonomy-tree-table th:nth-child(3),
  .taxonomy-tree-table td:nth-child(3),
  .taxonomy-tree-table th:nth-child(5),
  .taxonomy-tree-table td:nth-child(5) {
    display: none;
  }
  .taxonomy-tree-term {
    min-width: 220px;
  }
}
.glossary-list {
  max-width: 980px;
  margin: 28px 0;
  padding: 0;
  list-style: none;
}
.glossary-list-item {
  display: grid;
  grid-template-columns: minmax(180px, 1fr) minmax(220px, auto);
  gap: 10px 24px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.glossary-title {
  min-width: 0;
  font-weight: 700;
}
.glossary-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px 10px;
  color: var(--muted);
  font-size: 14px;
}
.glossary-meta code {
  padding: 2px 6px;
  border-radius: 4px;
  background: #e7f1f2;
  color: var(--accent-dark);
  font-size: 13px;
  overflow-wrap: anywhere;
}
@media (max-width: 720px) {
  .glossary-list-item {
    grid-template-columns: 1fr;
  }
  .glossary-meta {
    justify-content: flex-start;
  }
}
.tree-list {
  margin: 0 0 0 18px;
  padding: 0;
  list-style: none;
}
.tree-list > li {
  margin: 4px 0;
}
.tree-node {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px solid rgba(217, 224, 227, .7);
}
.tree-node span {
  color: var(--muted);
  font-size: 12px;
}
.ontology-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 18px;
  margin: 24px 0;
}
.ontology-grid article {
  min-width: 0;
  padding: 18px;
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 6px;
}
.ontology-grid h2 {
  margin: 0 0 12px;
  font-size: 18px;
}
.metric-list {
  margin: 0;
  padding: 0;
  list-style: none;
}
.metric-list li {
  border-bottom: 1px solid var(--line);
}
.metric-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 7px 0;
}
.metric-list a.metric-row {
  color: var(--text);
}
.metric-list a.metric-row:hover {
  color: var(--accent-dark);
  text-decoration: none;
}
.metric-list span { color: var(--muted); }
.card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 12px;
  font-size: 13px;
}
.card-actions a {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 4px 9px;
  text-decoration: none;
}
.ontology-model dd { max-width: 720px; }
.map-frame {
  position: relative;
  overflow: hidden;
  margin: 24px 0 12px;
  background: #d8e9ec;
  border: 1px solid var(--line);
  border-radius: 6px;
}
.map-frame svg {
  width: 100%;
  display: block;
}
.map-mode-panel {
  margin-top: 16px;
}
.map-mode-notice {
  margin-top: 8px;
}
.detailed-map-frame {
  background: #dce8e8;
  min-height: 520px;
  height: 70vh;
  max-height: 640px;
}
.detailed-map {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
}
.leaflet-container {
  font: inherit;
}
.leaflet-popup-content {
  margin: 11px 14px;
}
.leaflet-popup-content strong,
.leaflet-popup-content span,
.leaflet-popup-content a {
  display: block;
}
.leaflet-popup-content span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 13px;
}
.leaflet-control-attribution {
  color: #4f6368;
}
.map-ocean {
  fill: url(#map-ocean);
}
.map-water-band {
  fill: rgba(115, 164, 178, .12);
}
.map-water-band.subtle {
  fill: rgba(77, 130, 147, .08);
}
.map-land {
  fill: #d7e0d0;
  stroke: #9fb39f;
  stroke-width: 1;
  filter: drop-shadow(0 1px 0 rgba(255, 255, 255, .45));
}
.map-grid {
  stroke: rgba(83, 111, 121, .18);
  stroke-width: .8;
}
.map-label {
  fill: rgba(61, 85, 91, .45);
  font-size: 14px;
  font-weight: 650;
  letter-spacing: 0;
  pointer-events: none;
  text-anchor: middle;
}
.map-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 18px 0 0;
}
.map-toolbar button,
.map-row-zoom {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  color: var(--text);
  cursor: pointer;
  font: inherit;
  padding: 7px 10px;
}
.map-marker {
  cursor: zoom-in;
  outline: none;
}
.map-filter-panel {
  margin: 12px 0 0;
}
.map-lighthouse-body {
  fill: #0e6f72;
  stroke: #ffffff;
  stroke-width: 1.6;
}
.map-marker[data-filter-group="structure"] .map-lighthouse-body {
  fill: #2f6fbd;
}
.map-marker[data-filter-group="historical"] .map-lighthouse-body {
  fill: #8f5a2a;
}
.map-marker[data-filter-group="approximate"] .map-lighthouse-body {
  fill: #8a6a13;
}
.map-marker[data-filter-group="museum"] .map-lighthouse-body {
  fill: #7a4ab0;
}
.map-lighthouse-line {
  fill: none;
  stroke: #ffffff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.4;
}
.map-lighthouse-shadow {
  fill: none;
  stroke: rgba(23, 37, 44, .18);
  stroke-linecap: round;
  stroke-width: 4;
}
.map-marker:hover .map-lighthouse-body,
.map-marker:focus .map-lighthouse-body,
.map-marker.selected .map-lighthouse-body {
  fill: #094d50;
}
.map-marker.selected .map-lighthouse-body {
  stroke: #f8d46a;
  stroke-width: 2.2;
}
.map-popup {
  position: absolute;
  left: 16px;
  bottom: 16px;
  max-width: min(360px, calc(100% - 32px));
  padding: 12px 14px;
  background: rgba(255, 255, 255, .94);
  border: 1px solid var(--line);
  border-radius: 6px;
  box-shadow: 0 10px 28px rgba(23, 37, 44, .16);
}
.map-popup strong,
.map-popup span,
.map-popup a {
  display: block;
}
.map-popup span {
  color: var(--muted);
  font-size: 13px;
}

.map-table th,
.map-table td {
  padding: 6px 8px;
  line-height: 1.35;
  vertical-align: middle;
}
.map-table td:nth-child(5),
.map-table td:nth-child(6),
.map-table td:nth-child(10) {
  font-variant-numeric: tabular-nums;
}
.map-table tr.selected {
  background: #eef7f6;
}
.card-map {
  display: block;
  overflow: hidden;
  margin-top: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 12px;
  text-decoration: none;
}
.card-map.thumb-map {
  margin-top: 0;
  border: none;
  border-radius: 0;
  color: inherit;
  font-size: inherit;
}
.card-map:not(.thumb-map) svg {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
}
.thumb-map-svg {
  aspect-ratio: 4 / 3;
  background: #dce6e8;
}
.card-map.thumb-map .thumb-map-svg {
  aspect-ratio: 4 / 3;
}
.card-map.thumb-map .thumb-frame {
  border-bottom: 1px solid var(--line);
}
.card-map .map-marker {
  cursor: inherit;
  pointer-events: none;
}
.card-map:not(.thumb-map) span {
  display: block;
  padding: 5px 8px;
  border-top: 1px solid var(--line);
}
.record-map-section {
  overflow: hidden;
}
.record-map-shell {
  position: relative;
}
.record-map {
  width: 100%;
  min-height: 360px;
  height: 48vh;
  max-height: 520px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #dce8e8;
}
.record-map-fallback {
  display: block;
  overflow: hidden;
  margin-top: 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--muted);
  font-size: 13px;
  text-decoration: none;
}
.record-map-fallback[hidden] {
  display: none;
}
.record-map-fallback svg {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 7;
}
.record-map-fallback span {
  display: block;
  padding: 7px 10px;
  border-top: 1px solid var(--line);
}
.record-map-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}
.record-map-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--ink);
  background: var(--surface);
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}
.record-map-actions a:hover,
.record-map-actions a:focus {
  border-color: var(--accent);
  color: var(--accent);
}
.record-map-status {
  margin-top: 8px;
}
.search-box {
  width: 100%;
  max-width: 680px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 6px;
  font: inherit;
}
.compact-filter-panel {
  max-width: 980px;
}
.compact-filter-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
  gap: 12px;
  align-items: end;
  margin-top: 14px;
}
.compact-filter-field {
  display: grid;
  gap: 5px;
  min-width: 0;
  color: var(--accent-dark);
  font-size: 13px;
  font-weight: 700;
}
.compact-filter-field select {
  width: 100%;
  min-height: 40px;
  padding: 8px 34px 8px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  color: var(--ink);
  font: inherit;
}
.compact-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-height: 40px;
}
.compact-filter-actions a,
.compact-filter-reset {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--surface);
  color: var(--accent-dark);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  text-decoration: none;
}
.compact-filter-actions a:hover,
.compact-filter-actions a:focus,
.compact-filter-reset:hover,
.compact-filter-reset:focus {
  border-color: var(--accent);
  color: var(--accent);
}
.compact-filter-field select:focus-visible,
.compact-filter-actions a:focus-visible,
.compact-filter-reset:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .compact-filter-grid {
    grid-template-columns: repeat(2, minmax(180px, 1fr));
  }
}
@media (max-width: 620px) {
  .compact-filter-grid {
    grid-template-columns: 1fr;
  }
  .compact-filter-actions {
    align-items: stretch;
  }
}
.search-filter-bar {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 14px;
}
.search-filter-bar button {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 6px 10px;
  background: var(--panel);
  color: var(--accent-dark);
  cursor: pointer;
  font: inherit;
}
.search-filter-bar button.active {
  border-color: var(--accent-dark);
  background: var(--accent-dark);
  color: var(--panel);
}
.search-filter-bar span {
  color: inherit;
  opacity: .72;
  font-size: 12px;
}
.research-filter-panel {
  margin-top: 18px;
}
.research-filter-details {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
}
.research-filter-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 14px;
  cursor: pointer;
  font-weight: 800;
  list-style: none;
}
.research-filter-summary::-webkit-details-marker {
  display: none;
}
.research-filter-summary strong {
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
}
.research-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px 18px;
  padding: 0 14px 14px;
  border-top: 1px solid var(--line);
}
.research-filter-group h2 {
  margin: 0;
  color: var(--accent-dark);
  font-size: 14px;
}
.research-filter-group .search-filter-bar {
  margin-top: 8px;
}
.research-filter-details .search-filter-bar {
  gap: 6px;
  margin-top: 6px;
}
.research-filter-details .search-filter-bar button {
  padding: 4px 8px;
  font-size: 13px;
}
.research-filter-actions {
  display: flex;
  justify-content: flex-end;
  padding: 0 14px 14px;
}
.search-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 12px;
}
.search-badges span {
  display: inline-block;
  padding: 3px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--accent-dark);
  background: #f7fafb;
  font-size: 12px;
  font-weight: 650;
}
.muted { color: var(--muted); }
.warning { color: #9d3a25; }
.wikilink {
  border-bottom: 1px solid currentColor;
  font-weight: 600;
  text-decoration: none;
}
.wikilink-unresolved {
  color: #9d3a25;
  cursor: help;
}
.heritage-history li span {
  color: var(--muted);
  display: block;
  font-size: 12px;
  margin-top: 2px;
}
.heritage-history li p {
  color: var(--muted);
  margin: 4px 0 0;
}
.asset-group {
  margin: 28px 0;
}
.asset-group-header {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--line);
}
.asset-group h2 {
  margin: 0;
  font-size: 22px;
}
.asset-group-meta {
  margin: 4px 0 0;
  font-size: 13px;
}
.asset-group-count {
  margin: 0;
  color: var(--muted);
  font-size: 13px;
  font-weight: 650;
  text-align: right;
  white-space: nowrap;
}
.asset-group .qa-table {
  margin-top: 10px;
}
@media (max-width: 620px) {
  .asset-group-header {
    display: block;
  }
  .asset-group-count {
    margin-top: 6px;
    text-align: left;
    white-space: normal;
  }
}
.heritage-visuals {
  margin-top: 18px;
}
.visual-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 8px;
}
.visual-summary span {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 9px;
  border: 1px solid #c7dadd;
  border-radius: 999px;
  background: #eaf3f4;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
}
.journey-case-list {
  display: grid;
  gap: 16px;
  margin: 22px 0;
}
.journey-card {
  display: grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: 16px;
  align-items: start;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.journey-card--premium {
  border-radius: 14px;
  box-shadow: 0 10px 28px rgba(4, 20, 28, .06);
}
.journey-card--immersive {
  border-color: #c8d9dd;
  background: linear-gradient(135deg, #ffffff 0%, #f4f9fa 100%);
}
.journey-card--immersive .journey-card-thumb img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  min-height: 140px;
}
.journey-immersive-badge {
  display: inline-block;
  margin: 0 0 8px 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #102028;
  color: #f3dfae;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.journey-card-subtitle {
  margin: 0 0 8px;
  color: var(--accent-dark);
  font-size: 18px;
  font-weight: 650;
  line-height: 1.35;
}
.journey-card-summary {
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.5;
}
.journey-card-story-cta,
.journey-card-story-cta:hover,
.journey-card-story-cta:focus-visible,
.journey-card-story-cta .i18n-text {
  color: #fff !important;
  text-decoration: none;
}
.journey-card-story-cta {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  margin-top: 8px;
  padding: 0 14px;
  border-radius: 999px;
  background: #176b73;
  font-weight: 700;
}
.journey-card-story-cta:hover,
.journey-card-story-cta:focus-visible {
  background: #004f59;
}
.journey-card-thumb {
  margin: 0;
}
.journey-card-thumb img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
  border: 1px solid var(--line);
}
.journey-card-body {
  min-width: 0;
}
.journey-featured-badge {
  display: inline-block;
  margin: 0 0 8px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #eef6f4;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
@media (max-width: 760px) {
  .journey-card {
    grid-template-columns: 1fr;
  }
}
.home-featured-journey {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(180px, 0.8fr);
  gap: 20px;
  align-items: start;
  margin-top: 18px;
}
.home-featured-journey-copy .lede {
  font-size: 20px;
  font-weight: 700;
}
.home-featured-journey-art {
  margin: 0;
}
.home-featured-journey-art img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.journey-section-nav {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 12px;
  margin: 0 0 18px;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(255, 255, 255, .96);
  backdrop-filter: blur(6px);
}
.journey-section-nav a {
  font-weight: 700;
}
.journey-mode-toggle {
  display: inline-flex;
  gap: 4px;
  margin-right: 8px;
  padding: 2px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #f6faf9;
}
.journey-mode-button {
  border: 0;
  border-radius: 999px;
  padding: 6px 12px;
  background: transparent;
  color: var(--ink);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.journey-mode-button.is-active {
  background: var(--accent);
  color: #fff;
}
.journey-page[data-active-mode="reader"] [data-journey-mode="research"] {
  display: none;
}
.journey-page[data-active-mode="research"] [data-journey-mode="reader"] {
  display: none;
}
.journey-page--immersive .journey-shell--story[hidden],
.journey-page--immersive .journey-shell--research[hidden] {
  display: none !important;
}
body.journey-immersive-active {
  background: #07131a;
}
body.journey-immersive-active .site-sidebar,
body.journey-immersive-active .site-header,
body.journey-immersive-active .site-explore-shortcuts,
body.journey-immersive-active .site-footer,
body.journey-immersive-active .skip-link {
  display: none !important;
}
body.journey-immersive-active .site-shell {
  display: block;
  min-height: 100vh;
}
body.journey-immersive-active .site-content {
  margin: 0;
  max-width: none;
  width: 100%;
}
body.journey-immersive-active .site-main {
  padding: 0;
  max-width: none;
}
.journey-story-chrome {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 120;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 20px;
  background: linear-gradient(180deg, rgba(4, 14, 20, .92), rgba(4, 14, 20, .45));
  color: #e8f2f4;
  backdrop-filter: blur(10px);
}
.journey-page[data-active-mode="research"] .journey-story-chrome {
  display: none;
}
.journey-story-chrome a {
  color: #d7ecef;
  font-weight: 700;
}
.journey-story-chrome-lux {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 12px;
}
.journey-story-chrome-sep {
  margin: 0 8px;
  opacity: .45;
}
.journey-story-chrome-actions {
  display: flex;
  align-items: center;
  gap: 10px;
}
.journey-story-chrome .language-switch {
  background: rgba(8, 28, 36, .72);
  border-color: rgba(215, 236, 239, .28);
}
.journey-story-chrome .language-switch button {
  color: #b7c9cf;
}
.journey-story-chrome .language-switch button:hover,
.journey-story-chrome .language-switch button:focus-visible {
  color: #fff;
  background: rgba(215, 236, 239, .1);
}
.journey-story-chrome .language-switch button:focus-visible {
  outline: 2px solid #f3dfae;
  outline-offset: 1px;
}
.journey-story-chrome .language-switch button[aria-pressed="true"] {
  color: #102028;
  background: #c8a45d;
}
.journey-story-ambient-toggle {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  border: 1px solid rgba(215, 236, 239, .28);
  border-radius: 999px;
  min-height: 36px;
  padding: 0 12px;
  background: rgba(8, 28, 36, .72);
  color: #d7ecef;
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.journey-story-ambient-toggle[aria-pressed="true"] {
  background: #c8a45d;
  color: #102028;
  border-color: #c8a45d;
}
.journey-story-ambient-toggle[aria-pressed="true"] .journey-story-ambient-label::after {
  content: " on";
}
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.journey-story-rail {
  position: fixed;
  top: 50%;
  left: 16px;
  z-index: 110;
  transform: translateY(-50%);
  display: none;
}
.journey-story-rail ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 8px;
}
.journey-story-rail a {
  display: block;
  padding: 6px 10px;
  border-radius: 999px;
  color: rgba(215, 236, 239, .72);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
}
.journey-story-rail a[aria-current="true"] {
  background: rgba(200, 164, 93, .18);
  color: #f3dfae;
}
.journey-page[data-active-mode="research"] .journey-story-rail {
  display: none;
}
@media (min-width: 900px) {
  .journey-story-rail {
    display: block;
  }
  .journey-story-rail ol {
    padding: 12px 14px;
    border-radius: 16px;
    background: rgba(4, 14, 20, .9);
    border: 1px solid rgba(215, 236, 239, .18);
    box-shadow: 0 14px 36px rgba(4, 14, 20, .42);
    backdrop-filter: blur(10px);
  }
}
@media (max-width: 899px) {
  .journey-story-rail {
    top: auto;
    bottom: 14px;
    left: 50%;
    transform: translateX(-50%);
    display: block;
  }
  .journey-story-rail ol {
    grid-auto-flow: column;
    gap: 6px;
    padding: 8px 10px;
    border-radius: 999px;
    background: rgba(4, 14, 20, .9);
    border: 1px solid rgba(215, 236, 239, .18);
    box-shadow: 0 10px 28px rgba(4, 14, 20, .38);
  }
  .journey-story-rail a {
    width: 10px;
    height: 10px;
    padding: 0;
    border-radius: 999px;
    background: rgba(215, 236, 239, .28);
    font-size: 0;
    overflow: hidden;
  }
  .journey-story-rail a[aria-current="true"] {
    width: auto;
    height: auto;
    min-height: 10px;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: visible;
    background: rgba(200, 164, 93, .18);
    color: #f3dfae;
  }
  .journey-story-rail a:focus-visible {
    width: auto;
    height: auto;
    min-height: 10px;
    padding: 6px 12px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: visible;
    background: rgba(200, 164, 93, .18);
    color: #f3dfae;
    outline: 2px solid #c8a45d;
    outline-offset: 2px;
  }
}
.home-featured-journey--immersive {
  margin: 18px 0 8px;
  grid-template-columns: 1fr;
}
.home-featured-journey--immersive .journey-card {
  grid-template-columns: minmax(140px, 220px) 1fr;
}
.home-journeys-type-grid .journey-card {
  grid-template-columns: 1fr;
}
.home-journeys-type-grid .journey-immersive-badge {
  margin: 0 0 8px;
}
.home-page .journey-shell--research .hero {
  margin-top: 0;
}
.home-story-hero {
  min-height: min(72vh, 640px);
  background:
    radial-gradient(circle at 20% 20%, rgba(200, 164, 93, .18), transparent 42%),
    linear-gradient(180deg, #07131a 0%, #0d2230 58%, #07131a 100%);
}
.home-story-hero .journey-story-hero-content h1 span {
  display: block;
}
.home-story-journey-chapter {
  position: relative;
  min-height: auto;
  display: grid;
  grid-template-rows: auto auto;
  align-items: stretch;
  overflow: visible;
  padding: 88px 0 0;
  background: #0b1d26;
  border-top: 1px solid rgba(215, 236, 239, .08);
}
.home-story-journey-chapter-media {
  position: relative;
  inset: auto;
  width: min(1100px, calc(100% - 48px));
  max-height: min(42vh, 400px);
  margin: 0 auto;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(215, 236, 239, .14);
  box-shadow: 0 18px 42px rgba(4, 14, 20, .34);
}
.home-story-journey-chapter-media img {
  width: 100%;
  height: 100%;
  min-height: min(34vh, 320px);
  max-height: min(42vh, 400px);
  object-fit: cover;
  transform: none;
}
.home-story-journey-chapter-overlay {
  display: none;
}
.home-story-journey-chapter-content {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin: 0 auto;
  width: 100%;
  padding: 28px 24px 48px;
  background: linear-gradient(180deg, #0b1d26 0%, #07131a 100%);
}
.home-story-journey-chapter-content h2 {
  font-size: clamp(28px, 4vw, 44px);
  line-height: 1.08;
  margin: 0 0 10px;
  color: #fff;
}
.home-story-journey-subtitle {
  font-size: clamp(18px, 2.4vw, 24px);
  font-weight: 700;
  margin: 0 0 12px;
  color: #f3dfae;
}
.home-story-journey-summary {
  margin: 0 0 18px;
  max-width: 62ch;
  color: #e8f2f4;
  line-height: 1.65;
}
.home-story-journey-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin: 0;
}
.home-story-journey-research-link {
  color: #e8f2f4;
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.18em;
}
.home-story-journey-research-link:hover,
.home-story-journey-research-link:focus-visible {
  color: #fff;
}
.home-story-journey-chapter .journey-story-hero-credit {
  color: #c5d4d8;
}
.home-page .journey-story-trust {
  padding-bottom: 48px;
}
@media (max-width: 760px) {
  .home-story-journey-chapter {
    padding-top: 76px;
  }
  .home-story-journey-chapter-media {
    width: calc(100% - 32px);
    max-height: min(36vh, 280px);
  }
  .home-story-journey-chapter-media img {
    min-height: min(30vh, 240px);
    max-height: min(36vh, 280px);
  }
  .home-story-journey-chapter-content {
    padding: 24px 16px 36px;
  }
}
.journey-card .journey-featured-badge {
  display: inline-block;
  color: var(--accent-dark);
}
.journey-card .journey-immersive-badge {
  display: inline-block;
  color: #f3dfae;
}
.journey-page--immersive[data-active-mode="research"] .journey-shell--research {
  background: linear-gradient(180deg, #f6faf9 0%, #ffffff 42%);
}
.journey-page--immersive[data-active-mode="research"] .journey-hero {
  border-bottom: 1px solid #d8e7ea;
  background: linear-gradient(180deg, #eef6f4 0%, #ffffff 100%);
  color: var(--text);
}
.journey-page--immersive[data-active-mode="research"] .journey-hero .eyebrow {
  color: var(--accent-dark);
}
.journey-page--immersive[data-active-mode="research"] .journey-hero h1 {
  color: var(--text);
}
.journey-page--immersive[data-active-mode="research"] .journey-hero-deck {
  color: var(--text);
}
.journey-page--immersive[data-active-mode="research"] .journey-hero-summary {
  color: var(--text);
}
.journey-page--immersive[data-active-mode="research"] .journey-hero a {
  color: var(--accent-dark);
}
.journey-page--immersive[data-active-mode="research"] .journey-hero a:hover,
.journey-page--immersive[data-active-mode="research"] .journey-hero a:focus-visible {
  color: var(--accent);
}
.journey-mode-toggle--floating {
  border-color: rgba(215, 236, 239, .28);
  background: rgba(8, 28, 36, .72);
}
.journey-mode-toggle--floating .journey-mode-button {
  color: #d7ecef;
}
.journey-mode-toggle--floating .journey-mode-button.is-active {
  background: #c8a45d;
  color: #102028;
}
.journey-shell--story {
  color: #e8f2f4;
  background:
    radial-gradient(circle at 12% 0%, rgba(23, 107, 115, .28), transparent 34%),
    radial-gradient(circle at 88% 12%, rgba(200, 164, 93, .16), transparent 28%),
    linear-gradient(180deg, #07131a 0%, #0b1d26 42%, #102028 100%);
  animation: journeyShellIn .45s ease;
}
.journey-shell--research {
  animation: journeyShellIn .35s ease;
}
@keyframes journeyShellIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}
.journey-story-hero {
  position: relative;
  min-height: 100vh;
  display: grid;
  align-items: end;
  overflow: hidden;
}
.journey-story-hero-media,
.journey-story-hero-overlay {
  position: absolute;
  inset: 0;
}
.journey-story-hero-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.08) translate3d(0, 0, 0);
  will-change: transform;
}
.journey-story-hero-media--portrait img {
  object-position: top center;
}
.journey-story-hero-media--kenburns img {
  animation: journeyHeroKenBurns 24s ease-in-out infinite alternate;
}
.journey-story-hero-overlay {
  background:
    linear-gradient(180deg, rgba(4, 14, 20, .42) 0%, rgba(4, 14, 20, .58) 38%, rgba(4, 14, 20, .88) 72%, rgba(7, 19, 26, .98) 100%),
    radial-gradient(circle at 70% 20%, rgba(200, 164, 93, .18), transparent 36%);
}
@keyframes journeyHeroKenBurns {
  0% { transform: scale(1.12) translate3d(-1.5%, -1%, 0); }
  100% { transform: scale(1.02) translate3d(1.5%, 1%, 0); }
}
.journey-story-hero-content {
  position: relative;
  z-index: 1;
  width: min(920px, calc(100% - 40px));
  margin: 0 auto 72px;
  padding-top: 96px;
  text-shadow: 0 1px 18px rgba(4, 14, 20, .72);
}
.journey-story-kicker,
.journey-story-chapter-label {
  margin: 0 0 10px;
  color: #c8a45d;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.journey-story-hero h1,
.journey-story-chapter h2 {
  margin: 0 0 12px;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-weight: 700;
  line-height: 1.05;
}
.journey-story-hero h1 {
  font-size: clamp(42px, 8vw, 78px);
}
.journey-story-deck {
  margin: 0 0 14px;
  color: #d7ecef;
  font-size: clamp(22px, 3vw, 34px);
  font-weight: 600;
}
.journey-story-lede {
  max-width: 48rem;
  margin: 0 0 18px;
  color: #b7c9cf;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: 18px;
  line-height: 1.65;
}
.journey-story-hero-credit {
  margin: 14px 0 0;
  color: #8fa5ad;
  font-size: 12px;
  line-height: 1.4;
}
.journey-story-hero-credit a {
  color: #c8a45d;
}
.journey-story-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 22px;
}
.journey-story-hero-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 12px;
  border: 1px solid rgba(215, 236, 239, .18);
  border-radius: 999px;
  background: rgba(8, 28, 36, .55);
  color: #d7ecef;
  font-size: 12px;
  font-weight: 700;
}
.journey-story-hero-meta a {
  color: #f3dfae;
}
.journey-story-scroll-hint {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 999px;
  background: #c8a45d;
  color: #102028;
  font-weight: 700;
}
.journey-story-chapter {
  padding: 72px 20px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .7s ease, transform .7s ease;
}
.journey-story-chapter.is-visible,
.journey-story-hero.is-visible,
.journey-story-trust.is-visible,
.journey-story-signature.is-visible {
  opacity: 1;
  transform: none;
}
.journey-story-chapter-inner {
  width: min(920px, 100%);
  margin: 0 auto;
}
.journey-story-chapter h2 {
  font-size: clamp(30px, 5vw, 48px);
}
.journey-story-chapter--quote {
  padding-top: 24px;
  padding-bottom: 24px;
}
.journey-story-pull-quote {
  width: min(760px, 100%);
  margin: 0 auto;
  padding: 28px 0 10px;
  border: 0;
  border-top: 1px solid rgba(200, 164, 93, .45);
  border-bottom: 1px solid rgba(200, 164, 93, .45);
  color: #f3f7f8;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1.35;
  text-align: center;
}
.journey-story-pull-quote p {
  margin: 0 0 12px;
}
.journey-story-pull-quote a,
.journey-story-pull-quote cite {
  display: block;
  color: #c8a45d;
  font-family: system-ui, sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
}
.journey-story-timeline {
  display: grid;
  gap: 18px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.journey-story-beat-grid {
  display: grid;
  gap: 28px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.journey-story-beat-card {
  position: relative;
  display: grid;
  gap: 20px;
  align-items: start;
  padding: 22px;
  border: 1px solid rgba(215, 236, 239, .12);
  border-radius: 18px;
  background: linear-gradient(135deg, rgba(8, 28, 36, .78), rgba(12, 40, 50, .42));
  opacity: 0;
  transform: translateY(28px);
  transition: opacity .75s ease, transform .75s ease;
}
.journey-story-beat-card.is-visible {
  opacity: 1;
  transform: none;
}
.journey-story-beat-card[data-story-map-stop] {
  cursor: pointer;
}
.journey-story-beat-card.is-map-linked {
  outline: 1px solid rgba(200, 164, 93, .28);
  outline-offset: 4px;
}
.journey-story-beat-card[data-story-map-stop]:focus-within {
  outline: 2px solid #c8a45d;
  outline-offset: 4px;
}
.journey-story-beat-card[data-story-map-mode="conceptual"] {
  cursor: default;
}
.journey-story-beat-card.is-map-conceptual {
  outline: 1px solid rgba(200, 164, 93, .22);
  outline-offset: 4px;
}
.journey-story-beat-map-hint {
  display: inline-block;
  color: #8fa5ad;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.journey-story-beat-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 0 0 8px;
}
.journey-story-beat-visual {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(215, 236, 239, .12);
  aspect-ratio: 16 / 10;
}
.journey-story-beat-visual--portrait {
  aspect-ratio: 3 / 4;
  max-height: min(72vh, 640px);
}
.journey-story-beat-visual--portrait img {
  object-position: top center;
}
.journey-story-beat-visual--stereoscopic {
  aspect-ratio: auto;
  overflow: visible;
  background: rgba(4, 14, 20, .55);
}
.journey-story-beat-visual--stereoscopic img {
  width: 100%;
  height: auto;
  aspect-ratio: unset;
  object-fit: contain;
  transform: none;
}
.journey-story-beat-visual--stereoscopic figcaption {
  position: static;
  margin-top: 0;
  padding: 10px 12px 12px;
  background: rgba(4, 14, 20, .82);
}
.journey-story-beat-card.is-visible .journey-story-beat-visual--stereoscopic img {
  transform: none;
}
.journey-story-beat-visual img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.03);
  transition: transform 1.2s ease;
}
.journey-story-beat-card.is-visible .journey-story-beat-visual img {
  transform: scale(1);
}
.journey-story-beat-visual figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 10px 12px;
  background: linear-gradient(180deg, transparent, rgba(4, 14, 20, .82));
}
.journey-story-beat-visual-label {
  display: inline-block;
  margin: 0 0 4px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(4, 14, 20, .72);
  color: #f3dfae;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.journey-story-beat-visual-credit {
  display: block;
  color: #b7c9cf;
  font-size: 11px;
  line-height: 1.35;
}
.journey-story-beat-visual-credit a {
  color: #c8a45d;
}
.journey-story-beat-copy h3 {
  margin: 0 0 8px;
  font-size: clamp(22px, 3vw, 30px);
}
.journey-story-beat-copy p {
  margin: 0;
  color: #b7c9cf;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  line-height: 1.62;
}
.journey-story-photo-grid {
  display: grid;
  gap: 16px;
}
.journey-story-photo--feature {
  grid-column: 1 / -1;
}
@media (min-width: 760px) {
  .journey-story-photo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .journey-story-photo--feature {
    grid-column: 1 / -1;
  }
  .journey-story-photo-grid--portrait {
    align-items: start;
  }
}
.journey-story-photo-grid--portrait .journey-story-photo-meta {
  font-size: 12px;
}
.journey-story-photo--portrait img {
  aspect-ratio: 3 / 4;
  max-height: 560px;
  object-fit: cover;
  object-position: top center;
}
.journey-story-photo-grid--stack {
  grid-template-columns: 1fr;
}
.journey-story-media-grid {
  display: grid;
  gap: 18px;
}
.journey-story-media-card {
  border: 1px solid rgba(215, 236, 239, .12);
  border-radius: 14px;
  overflow: hidden;
  background: rgba(8, 28, 36, .58);
}
.journey-story-video-frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: #07131a;
}
.journey-story-video-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.journey-story-media-copy {
  padding: 16px 18px 18px;
}
.journey-story-media-copy h3 {
  margin: 0 0 8px;
  font-size: 20px;
}
.journey-story-media-copy p {
  margin: 0 0 10px;
  color: #b7c9cf;
  line-height: 1.55;
}
.journey-story-media-copy a {
  color: #c8a45d;
}
.journey-story-photo-grid:has(.journey-story-photo--stereoscopic) {
  width: min(1180px, 100%);
}
.journey-story-timeline-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid rgba(215, 236, 239, .12);
  border-radius: 14px;
  background: rgba(8, 28, 36, .58);
}
.journey-story-timeline-index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background: #176b73;
  color: #fff;
  font-weight: 700;
}
.journey-story-timeline-year {
  display: inline-block;
  margin: 0;
  color: #c8a45d;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.journey-story-timeline-copy h3 {
  margin: 0 0 8px;
  font-size: 22px;
}
.journey-story-timeline-copy p {
  margin: 0;
  color: #b7c9cf;
  line-height: 1.5;
}
.journey-story-signature {
  padding: 48px 20px 24px;
  opacity: 0;
  transform: translateY(24px);
  transition: opacity .8s ease, transform .8s ease;
}
.journey-story-signature.is-visible {
  opacity: 1;
  transform: none;
}
.journey-story-signature-inner {
  width: min(1040px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 28px;
  align-items: center;
}
.journey-story-signature-stage {
  position: relative;
  min-height: 280px;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(215, 236, 239, .14);
  background:
    radial-gradient(circle at 50% 20%, rgba(200, 164, 93, .18), transparent 42%),
    rgba(8, 28, 36, .72);
}
.journey-story-signature-art-stack {
  position: absolute;
  inset: 0;
  overflow: hidden;
}
.journey-story-signature-art {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .34;
  filter: saturate(.9) contrast(1.05);
  transition: opacity .8s ease, transform 1.2s ease, clip-path 1.2s ease;
}
.journey-story-signature-art--base {
  opacity: .28;
}
.journey-story-signature-art--emphasis,
.journey-story-signature-art--pan {
  opacity: 0;
  clip-path: inset(0 0 0 0);
}
.journey-story-signature.is-animated .journey-story-signature-art--emphasis {
  opacity: .55;
  animation: journeySignatureMorph 2.2s ease forwards;
}
.journey-story-signature.is-animated .journey-story-signature-art--pan {
  opacity: .5;
  animation: journeySignaturePan 2.4s ease forwards;
}
.journey-story-signature.is-animated .journey-story-signature-art--base {
  opacity: .18;
}
@keyframes journeySignatureMorph {
  0% { clip-path: inset(0 0 0 0); transform: scale(1); }
  45% { clip-path: inset(8% 18% 8% 18%); transform: scale(1.04); }
  100% { clip-path: inset(12% 24% 12% 24%); transform: scale(1.02); opacity: .38; }
}
@keyframes journeySignaturePan {
  0% { transform: translateX(0) scale(1.02); opacity: 0; }
  35% { opacity: .58; }
  100% { transform: translateX(-8%) scale(1.06); opacity: .38; }
}
.journey-story-signature-svg {
  position: relative;
  z-index: 1;
  display: block;
  width: min(100%, 760px);
  margin: 0 auto;
  padding: 28px 16px 18px;
}
.journey-story-signature-svg .journey-signature-node,
.journey-story-signature-svg .journey-signature-lens {
  fill: rgba(200, 164, 93, .92);
  stroke: rgba(243, 223, 174, .9);
  stroke-width: 2;
}
.journey-story-signature-svg .journey-signature-link,
.journey-story-signature-svg .journey-signature-route {
  fill: none;
  stroke: rgba(215, 236, 239, .72);
  stroke-width: 3;
  stroke-linecap: round;
}
.journey-story-signature-svg .journey-signature-tower,
.journey-story-signature-svg .journey-signature-museum {
  fill: rgba(8, 28, 36, .72);
  stroke: rgba(215, 236, 239, .42);
  stroke-width: 2;
}
.journey-story-signature-svg .journey-signature-label {
  fill: #d7ecef;
  font-size: 14px;
  font-weight: 700;
  text-anchor: middle;
}
.journey-story-signature-copy h2 {
  margin: 0 0 12px;
  font-family: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  font-size: clamp(30px, 5vw, 48px);
}
.journey-story-signature-copy p {
  margin: 0 0 12px;
  color: #b7c9cf;
  line-height: 1.55;
}
.journey-story-signature-note {
  color: #8fa5ad !important;
  font-size: 13px;
  font-style: italic;
}
.journey-story-signature.is-animated .journey-signature-node--origin {
  animation: journeySignaturePulse 2.4s ease-in-out infinite alternate;
}
.journey-story-signature.is-animated .journey-signature-node--branch-a,
.journey-story-signature.is-animated .journey-signature-lens--origin {
  animation: journeySignatureBranchA 1.8s ease forwards;
}
.journey-story-signature.is-animated .journey-signature-node--branch-b,
.journey-story-signature.is-animated .journey-signature-lens--destination {
  animation: journeySignatureBranchB 1.8s ease forwards;
}
.journey-story-signature.is-animated .journey-signature-link--a,
.journey-story-signature.is-animated .journey-signature-route {
  stroke-dasharray: 180;
  stroke-dashoffset: 180;
  animation: journeySignatureDraw 1.6s ease forwards .25s;
}
.journey-story-signature.is-animated .journey-signature-link--b {
  stroke-dasharray: 180;
  stroke-dashoffset: 180;
  animation: journeySignatureDraw 1.6s ease forwards .45s;
}
@keyframes journeySignaturePulse {
  from { transform: scale(1); opacity: 1; }
  to { transform: scale(1.08); opacity: .82; }
}
@keyframes journeySignatureBranchA {
  from { transform: translateX(70px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
@keyframes journeySignatureBranchB {
  from { transform: translateX(-70px); opacity: 0; }
  to { transform: translateX(0); opacity: 1; }
}
@keyframes journeySignatureDraw {
  to { stroke-dashoffset: 0; }
}
.journey-story-chapter-inner--map .journey-story-map-canvas {
  position: relative;
  margin-top: 18px;
}
.journey-story-chapter-inner--map .journey-story-map-panel {
  border-radius: 18px;
  overflow: hidden;
  box-shadow: 0 24px 60px rgba(0, 0, 0, .28);
  opacity: 0;
  transform: translateY(18px) scale(.985);
  transition: opacity .8s ease, transform .8s ease;
}
.journey-story-chapter--map.is-visible .journey-story-map-panel,
.journey-story-chapter--map.is-map-animated .journey-story-map-panel {
  opacity: 1;
  transform: none;
}
.journey-story-map-vignette {
  position: absolute;
  inset: 0;
  border-radius: 18px;
  pointer-events: none;
  box-shadow: inset 0 0 80px rgba(4, 14, 20, .42);
}
.journey-story-map-panel .heritage-detailed-map {
  min-height: 420px;
}
.journey-story-map-panel .journey-map-stops {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 14px 16px 16px;
}
@media (min-width: 900px) {
  .journey-story-map-panel .journey-map-stops {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.journey-story-photo {
  margin: 0;
}
.journey-story-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 16px;
  border: 1px solid rgba(215, 236, 239, .12);
}
.journey-story-photo--feature img {
  aspect-ratio: 21 / 9;
  max-height: 520px;
}
.journey-story-photo--stereoscopic {
  grid-column: 1 / -1;
}
.journey-story-photo--stereoscopic img {
  width: 100%;
  height: auto;
  aspect-ratio: unset;
  object-fit: contain;
  max-height: none;
  background: rgba(4, 14, 20, .55);
}
.journey-story-photo figcaption {
  margin-top: 10px;
  color: #b7c9cf;
  font-size: 14px;
}
.journey-story-photo-meta {
  margin: 6px 0 0;
  color: #8fa5ad;
  font-size: 13px;
}
.journey-story-map-panel .heritage-map-shell {
  border-color: rgba(215, 236, 239, .14);
  background: #12313a;
}
.journey-story-map-panel .journey-map-caption {
  color: #b7c9cf;
}
.journey-story-map-panel .journey-map-stop {
  background: rgba(8, 28, 36, .72);
  border-color: rgba(215, 236, 239, .12);
}
.journey-story-map-panel .journey-map-stop-title a {
  color: #f3dfae;
}
.journey-story-map-panel .journey-map-stop-description,
.journey-story-map-panel .journey-map-stop-phase {
  color: #b7c9cf;
}
.journey-story-place-grid {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}
.journey-story-place-card {
  display: grid;
  gap: 14px;
  align-items: start;
  padding: 18px 20px;
  border: 1px solid rgba(215, 236, 239, .12);
  border-radius: 14px;
  background: rgba(8, 28, 36, .58);
}
.journey-story-place-thumb {
  margin: 0;
  overflow: hidden;
  border-radius: 10px;
}
.journey-story-place-thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.journey-story-place-thumb figcaption {
  margin-top: 6px;
  color: #8fa5ad;
  font-size: 11px;
  line-height: 1.45;
  min-height: calc(1.45em * 3);
}
.journey-story-place-copy {
  display: grid;
  gap: 8px;
  align-content: start;
}
@media (min-width: 640px) {
  .journey-story-place-card {
    grid-template-columns: minmax(120px, 180px) 1fr;
    align-items: start;
  }
}
.journey-story-place-role {
  margin: 0 0 8px;
  color: #c8a45d;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.journey-story-place-card h3 {
  margin: 0 0 8px;
  font-size: 24px;
}
.journey-story-place-card h3 a {
  color: #f3dfae;
}
.journey-story-place-card p {
  margin: 0;
  color: #b7c9cf;
}
.journey-story-metric-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.journey-story-metric-row span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 4px 12px;
  border: 1px solid rgba(200, 164, 93, .28);
  border-radius: 999px;
  background: rgba(200, 164, 93, .12);
  color: #f3dfae;
  font-size: 12px;
  font-weight: 700;
}
.journey-story-trust {
  width: min(920px, calc(100% - 40px));
  margin: 0 auto;
  padding: 28px 0 80px;
  text-align: center;
  opacity: 0;
  transform: translateY(16px);
  transition: opacity .7s ease, transform .7s ease;
}
.journey-story-trust-line {
  margin: 0 0 16px;
  color: #b7c9cf;
  font-size: 16px;
}
.journey-story-trust-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0;
}
.journey-story-research-cta {
  border: 0;
  border-radius: 999px;
  padding: 10px 18px;
  background: #c8a45d;
  color: #102028;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.journey-story-trust-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 16px;
  color: #d7ecef;
  font-weight: 700;
}
@media (min-width: 760px) {
  .journey-story-beat-card {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  }
  .journey-story-beat-card:nth-child(even) .journey-story-beat-visual {
    order: 2;
  }
  .journey-story-beat-card:nth-child(even) .journey-story-beat-copy {
    order: 1;
  }
  .journey-story-signature-inner {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  }
  .journey-story-place-grid {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
    grid-template-rows: repeat(4, auto);
    align-items: stretch;
  }
  .journey-story-place-card {
    grid-template-columns: 1fr;
    grid-template-rows: subgrid;
    grid-row: span 4;
    align-items: stretch;
    height: auto;
    gap: 0;
  }
  .journey-story-place-copy {
    display: contents;
  }
  .journey-story-place-role {
    margin: 0;
  }
  .journey-story-place-card h3 {
    margin: 0;
    align-self: start;
    min-height: 4.8rem;
    line-height: 1.15;
  }
  .journey-story-place-card p:last-child {
    margin: 0;
    align-self: start;
  }
  .journey-story-place-summary:empty {
    min-height: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .journey-shell--story,
  .journey-shell--research,
  .journey-story-chapter,
  .journey-story-trust,
  .journey-story-signature,
  .journey-story-beat-card,
  .journey-story-hero-media img {
    animation: none;
    transition: none;
  }
  .journey-story-chapter,
  .journey-story-trust,
  .journey-story-signature,
  .journey-story-beat-card,
  .journey-story-hero {
    opacity: 1;
    transform: none;
  }
  .journey-story-signature.is-animated .journey-signature-link--a,
  .journey-story-signature.is-animated .journey-signature-link--b,
  .journey-story-signature.is-animated .journey-signature-route {
    stroke-dashoffset: 0;
  }
}
.page-breadcrumb {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 14px;
}
.page-breadcrumb a {
  font-weight: 700;
}
.journey-pull-quote {
  margin: 18px 0;
  padding: 18px 20px;
  border-left: 4px solid var(--accent);
  background: #f6faf9;
}
.journey-pull-quote p {
  margin: 0 0 8px;
  font-size: 20px;
  line-height: 1.45;
}
.journey-story-beat-list {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.journey-story-beat {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.journey-story-year {
  display: inline-block;
  margin-right: 8px;
  color: var(--accent-dark);
  font-weight: 700;
}
.journey-map-stops {
  display: grid;
  gap: 12px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}
.journey-map-stop {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.journey-map-stops .journey-map-stop-number {
  flex: 0 0 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}
.journey-map-stop-body {
  flex: 1;
  min-width: 0;
}
.journey-map-stop-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  margin: 0 0 6px;
  font-weight: 700;
}
.journey-map-stop-title a {
  color: var(--accent-dark);
}
.journey-map-stop-phase {
  color: var(--muted);
  font-size: 14px;
  font-weight: 600;
}
.journey-map-stop-description {
  margin: 0;
  color: var(--ink);
  line-height: 1.45;
}
.journey-photo-gallery {
  display: grid;
  gap: 16px;
  margin: 18px 0;
}
.journey-photo-gallery figure {
  margin: 0;
}
.journey-photo-gallery img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.journey-photo-gallery .journey-photo-gallery-item--stereoscopic img {
  width: 100%;
  height: auto;
  aspect-ratio: unset;
  object-fit: contain;
  max-height: none;
  background: rgba(4, 14, 20, .04);
}
.journey-hero-photo {
  margin: 0;
  grid-column: 1 / -1;
}
.journey-hero-photo img {
  display: block;
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.home-journeys-category {
  display: grid;
  gap: 18px;
}
.home-journeys-type-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}
.home-journeys-type-grid .journey-card-thumb img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}
.journey-trust-line {
  font-weight: 700;
  color: var(--accent-dark);
}
.journey-confidence-note {
  color: var(--muted);
  font-size: 14px;
}
.journey-step-context,
.journey-continue-link {
  margin-top: 8px;
}
.journey-type-group {
  margin-top: 18px;
}
.journey-type-group > h2 {
  margin-bottom: 10px;
}
.journey-callout-card {
  display: grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: 16px;
  align-items: center;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f6faf9;
}
.journey-callout-art {
  margin: 0;
}
.journey-callout-art img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 6px;
}
.button-link {
  display: inline-block;
  padding: 8px 14px;
  border-radius: 6px;
  background: var(--accent);
  color: #fff !important;
  font-weight: 700;
  text-decoration: none;
}
.button-link:hover {
  background: var(--accent-dark);
}
@media (max-width: 760px) {
  .home-featured-journey,
  .journey-callout-card {
    grid-template-columns: 1fr;
  }
}
.journey-card h2 {
  margin: 0 0 6px;
  font-size: 22px;
}
.journey-card p {
  max-width: 860px;
}
.journey-section {
  margin-top: 18px;
}
.journey-hero {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
  min-height: 0;
}
.journey-hero-title,
.journey-hero-copy,
.journey-hero-stats {
  min-width: 0;
}
.journey-hero .hero-copy-block {
  max-width: none;
}
.journey-hero .eyebrow {
  color: rgba(255, 255, 255, .72);
  font-weight: 700;
  letter-spacing: 0;
}
.journey-hero h1 {
  font-size: 54px;
  line-height: .98;
}
.journey-hero-deck {
  margin: 0 0 10px;
  max-width: 34rem;
  color: #fff8df;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.25;
}
.journey-hero-summary {
  margin: 0;
  max-width: 58rem;
  color: #fff;
  font-size: 18px;
  line-height: 1.55;
}
.journey-hero .visual-summary {
  align-content: start;
  align-items: stretch;
  margin: 0;
}
.journey-hero .visual-summary span {
  min-height: 34px;
  justify-content: flex-start;
  line-height: 1.25;
}
@media (max-width: 760px) {
  .journey-hero h1 {
    font-size: 38px;
    line-height: 1.02;
  }
  .journey-hero-deck {
    max-width: none;
    font-size: 19px;
  }
  .journey-hero-summary {
    max-width: none;
    font-size: 16px;
    line-height: 1.5;
  }
  .journey-hero .visual-summary {
    align-items: flex-start;
  }
}
.journey-positioning p,
.journey-copy-block p {
  max-width: 820px;
}
.journey-callout {
  display: inline-block;
  margin-top: 4px;
  padding: 8px 12px;
  border-left: 3px solid var(--accent);
  background: #f6faf9;
  color: var(--accent-dark);
  font-weight: 700;
}
.journey-concept-illustration {
  margin: 18px 0;
}
.journey-concept-illustration img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.journey-concept-illustration figcaption {
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}
.journey-metric-row,
.journey-step-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.journey-metric-row {
  margin-top: 12px;
}
.journey-metric-row span,
.journey-step-badge {
  display: inline-flex;
  align-items: center;
  min-height: 24px;
  padding: 2px 9px;
  border: 1px solid #c7dadd;
  border-radius: 999px;
  background: #eaf3f4;
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
}
.journey-step-badge-muted,
.journey-confidence-low,
.journey-confidence-unknown {
  border-color: #ddcf9e;
  background: #f7f0dd;
  color: #755f21;
}
.journey-role-block li p {
  margin: 5px 0 0;
}
.journey-movement-timeline {
  --journey-rail: #7d9ca1;
  display: grid;
  gap: 12px;
  position: relative;
  margin: 0;
  padding: 0 0 0 22px;
  list-style: none;
}
.journey-movement-timeline::before {
  content: "";
  position: absolute;
  left: 6px;
  top: 10px;
  bottom: 10px;
  width: 2px;
  background: var(--journey-rail);
}
.journey-step {
  position: relative;
}
.journey-step::before {
  content: "";
  position: absolute;
  left: -21px;
  top: 13px;
  width: 12px;
  height: 12px;
  border: 2px solid var(--accent);
  border-radius: 50%;
  background: #fff;
}
.journey-step-split::before {
  border-color: #9d6b1e;
  background: #f4e3c1;
}
.journey-step details {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.journey-step summary {
  display: grid;
  grid-template-columns: minmax(6rem, max-content) minmax(0, 1fr);
  gap: 12px;
  align-items: baseline;
  cursor: pointer;
}
.journey-step time {
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 800;
}
.journey-step strong {
  font-size: 15px;
}
.journey-step-phase {
  display: block;
  color: var(--accent-dark);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: uppercase;
}
.journey-step p {
  margin: 10px 0 8px;
}
.journey-step-place,
.journey-step-assets,
.journey-step-evidence {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}
.journey-evidence-table {
  overflow-x: auto;
}
.journey-evidence-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.journey-evidence-table th,
.journey-evidence-table td {
  padding: 9px 8px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
.journey-evidence-table td span,
.journey-source-list span,
.identity-change-list span {
  display: block;
  color: var(--muted);
  font-size: 12px;
}
.journey-source-secondary,
.journey-confidence-weaker {
  color: #755f21;
}
.journey-source-list {
  display: grid;
  gap: 8px;
  padding-left: 18px;
}
.visual-json-links {
  margin-top: 0;
  overflow-wrap: anywhere;
}
.visual-json-links a {
  overflow-wrap: anywhere;
}
.heritage-visual-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  align-items: start;
}
.heritage-visual-grid .heritage-visual-panel {
  margin-top: 0;
}
.heritage-visual-grid article {
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  overflow-wrap: anywhere;
}
.heritage-visual-grid h3 {
  margin: 0 0 10px;
  font-size: 16px;
}
.event-timeline {
  --timeline-date-width: 14rem;
  position: relative;
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 2px 0 0 0;
  list-style: none;
}
.event-timeline::before {
  content: "";
  position: absolute;
  top: 8px;
  bottom: 8px;
  left: calc(var(--timeline-date-width) + 10px);
  width: 2px;
  background: #c7dadd;
}
.event-timeline li {
  position: relative;
  display: grid;
  grid-template-columns: minmax(14rem, max-content) minmax(0, 1fr);
  gap: 24px;
  margin: 0;
}
.heritage-visual-grid .event-timeline {
  --timeline-date-width: 9rem;
}
.heritage-visual-grid .event-timeline li {
  grid-template-columns: minmax(7rem, var(--timeline-date-width)) minmax(0, 1fr);
}
.event-timeline li > div {
  min-width: 0;
  overflow-wrap: anywhere;
}
.event-timeline li::before {
  content: "";
  position: absolute;
  left: calc(var(--timeline-date-width) + 5px);
  top: 8px;
  width: 12px;
  height: 12px;
  border: 2px solid var(--accent);
  border-radius: 50%;
  background: #fff;
}
.event-timeline time {
  color: var(--accent-dark);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  white-space: nowrap;
  overflow-wrap: normal;
}
.event-timeline strong {
  display: block;
  font-size: 14px;
  line-height: 1.3;
  overflow-wrap: anywhere;
}
.event-timeline a {
  color: var(--accent-dark);
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.event-timeline span,
.event-timeline em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  font-style: normal;
  overflow-wrap: anywhere;
}
.compact-lifecycle-timeline p {
  margin: 4px 0;
  color: var(--text);
  font-size: 13px;
}
.compact-lifecycle-timeline .evidence-badge {
  display: inline-block;
  margin: 0 0 0 8px;
}
.lifecycle-event-evidence {
  margin-top: 3px;
}
.heritage-graph-workspace {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.heritage-graph-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}
.heritage-graph-toolbar button {
  min-width: 38px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #fff;
  color: var(--text);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  padding: 5px 9px;
}
.heritage-graph-toolbar button:hover,
.heritage-graph-toolbar button:focus {
  border-color: var(--accent);
  color: var(--accent-dark);
}
.graph-canvas {
  min-width: 0;
  overflow: hidden;
}
.heritage-graph {
  display: block;
  width: 100%;
  min-height: 360px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background:
    radial-gradient(circle at 50% 50%, rgba(23, 107, 115, .12), transparent 32%),
    #f6faf9;
  cursor: grab;
  touch-action: none;
}
.heritage-graph.is-panning {
  cursor: grabbing;
}
.heritage-graph.heritage-graph-journey-branch,
.heritage-graph-workspace[data-layout-mode="journey-branch"] .heritage-graph {
  min-height: 420px;
}
.graph-pan-surface {
  fill: transparent;
  pointer-events: all;
}
.heritage-graph line,
.heritage-graph path[data-source-id] {
  stroke: #7d9ca1;
  stroke-width: 1.8;
}
.heritage-graph .graph-edge-count {
  fill: #5f7d82;
  font-size: 10px;
  font-weight: 700;
  pointer-events: none;
}
.heritage-graph marker path {
  fill: #7d9ca1;
}
.heritage-graph .graph-node {
  cursor: grab;
  outline: none;
  text-decoration: none;
  user-select: none;
  -webkit-user-select: none;
}
.heritage-graph .graph-node-link {
  cursor: grab;
}
.heritage-graph .graph-node.is-dragging {
  cursor: grabbing;
}
.heritage-graph circle {
  fill: #d7eeee;
  stroke: #23646b;
  stroke-width: 2;
}
.heritage-graph .root circle {
  fill: #004f59;
}
.heritage-graph .asset circle {
  fill: #f4e3c1;
  stroke: #9d6b1e;
}
.heritage-graph .place circle {
  fill: #dbe8f6;
  stroke: #416f9b;
}
.heritage-graph .journey-role-split-event circle {
  fill: #f8d46a;
  stroke: #9d6b1e;
}
.heritage-graph .journey-role-derived-branch-identity circle,
.heritage-graph .journey-role-public-heritage-identity circle {
  fill: #fff3c9;
  stroke: #9d6b1e;
  stroke-width: 3;
}
.heritage-graph .journey-role-retained-branch-identity circle {
  fill: #d7eeee;
  stroke: #176b73;
  stroke-width: 3;
}
.heritage-graph .graph-node-label {
  fill: var(--text);
  font-size: 13px;
  font-weight: 700;
  paint-order: stroke;
  stroke: #f6faf9;
  stroke-width: 4px;
  stroke-linejoin: round;
}
.heritage-graph .graph-node-subtitle {
  fill: var(--muted);
  font-size: 11px;
  paint-order: stroke;
  stroke: #f6faf9;
  stroke-width: 4px;
  stroke-linejoin: round;
}
.heritage-graph .graph-node:hover circle,
.heritage-graph .graph-node:focus circle {
  stroke: #f8d46a;
  stroke-width: 3;
}
.visual-note {
  margin: 6px 0 0;
  font-size: 12px;
}
.geo-timeline {
  display: grid;
  gap: 12px;
}
.heritage-map-shell {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #dce8e8;
}
.heritage-detailed-map {
  width: 100%;
  min-height: 320px;
}
.heritage-map-status {
  position: absolute;
  left: 10px;
  bottom: 8px;
  z-index: 410;
  margin: 0;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .88);
  font-size: 12px;
}
.heritage-map-sequence {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  margin-left: -9px;
  margin-top: -9px;
  border: 1px solid #fff;
  border-radius: 999px;
  background: #0e6f72;
  color: #fff;
  box-shadow: 0 1px 5px rgba(23, 37, 44, .24);
  font-size: 11px;
  font-weight: 700;
}
.heritage-map-sequence::before {
  display: none;
}
.heritage-map-shell .leaflet-popup-content strong,
.heritage-map-shell .leaflet-popup-content span {
  display: block;
}
.geo-timeline li span {
  display: block;
}
.review-status {
  color: var(--muted);
  font-size: 12px;
}
.forum-list-controls {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 0 0 16px;
}
.forum-list-controls button {
  border: 1px solid var(--line);
  border-radius: 6px;
  background: var(--panel);
  color: var(--text);
  cursor: pointer;
  font: inherit;
  min-width: 34px;
  padding: 6px 9px;
}
.forum-list-controls button.active {
  background: var(--text);
  color: var(--panel);
}
.forum-list-controls button span {
  color: inherit;
  font-size: 12px;
  opacity: .72;
}
.collection-view-controls {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 12px;
  padding: 3px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #eef3f4;
}
.collection-view-controls button {
  min-height: 34px;
  border: 0;
  border-radius: 6px;
  padding: 6px 12px;
  background: transparent;
  color: var(--accent-dark);
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 750;
}
.collection-view-controls button.active,
.collection-view-controls button[aria-pressed="true"] {
  background: var(--accent-dark);
  color: #fff;
}
.collection-table-view {
  margin-top: 0;
}
#collection-cards[hidden],
.collection-table-view[hidden] {
  display: none !important;
}
.lighthouse-collection-table {
  min-width: 760px;
}
.lighthouse-collection-table th,
.lighthouse-collection-table td {
  padding: 4px 10px;
  line-height: 1.35;
  font-size: 14px;
  vertical-align: middle;
}
.lighthouse-collection-table th {
  font-size: 12px;
}
.lighthouse-collection-table .collection-title-cell {
  min-width: 220px;
  font-weight: 700;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: break-word;
}
.lighthouse-collection-table th:nth-child(4),
.lighthouse-collection-table td:nth-child(4),
.lighthouse-collection-table th:nth-child(5),
.lighthouse-collection-table td:nth-child(5),
.lighthouse-collection-table th:last-child,
.lighthouse-collection-table td:last-child {
  min-width: 0;
  max-width: none;
  white-space: nowrap;
  word-break: normal;
  overflow-wrap: normal;
  width: 1%;
}
.lighthouse-collection-table th:nth-child(4),
.lighthouse-collection-table td:nth-child(4) {
  min-width: 10rem;
}
.lighthouse-collection-table th:last-child,
.lighthouse-collection-table td:last-child {
  min-width: 4.5rem;
}
.lighthouse-collection-table .card-actions {
  margin-top: 0;
  flex-wrap: nowrap;
}
.lighthouse-collection-table .card-actions a {
  display: inline-flex;
  white-space: nowrap;
}
.lighthouse-collection-table td > span.muted,
.lighthouse-collection-table .collection-id-node {
  display: inline;
  margin-top: 0;
  margin-left: 0.35rem;
  font-size: 12px;
  word-break: normal;
  overflow-wrap: normal;
  white-space: nowrap;
}
.forum-source-table td:first-child {
  min-width: 260px;
}
.taxonomy-chip {
  display: inline-block;
  margin: 0 6px 6px 0;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 8px;
  background: var(--panel);
  font-size: 13px;
  text-decoration: none;
}
.taxonomy-review-list li {
  flex-wrap: wrap;
}
.taxonomy-review-list li small {
  flex-basis: 100%;
  color: var(--muted);
}
.status-pill {
  display: inline-block;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 3px 8px;
  font-size: 12px;
  white-space: nowrap;
}
.status-matched {
  background: #edf7ed;
  color: #2f6b35;
}
.status-unmatched {
  background: #fff2e5;
  color: #8a4b12;
}
.status-ambiguous {
  background: #eef3ff;
  color: #315493;
}
.status-not_reconciled {
  color: var(--muted);
}
.notice {
  max-width: 860px;
  margin: 18px 0 24px;
  padding: 16px 18px;
  background: #fff8e6;
  border: 1px solid #ead7a7;
  border-radius: 6px;
}
.notice h2 {
  margin: 0 0 6px;
  font-size: 18px;
}
.notice p { margin: 0; }
.qa-section {
  margin: 34px 0;
}
.qa-section h2 {
  margin: 0 0 12px;
  font-size: 22px;
}
.qa-table {
  width: 100%;
  border-collapse: collapse;
  background: var(--panel);
  border: 1px solid var(--line);
}
.table-scroll {
  overflow-x: auto;
}
.table-scroll .qa-table {
  width: 100%;
  min-width: 52rem;
}
.discovery-candidates-table {
  min-width: 96rem;
}
.discovery-dna-bar {
  display: grid;
  grid-template-columns: minmax(8rem, 1fr) 5rem;
  gap: 6px;
  align-items: center;
  margin: 0 0 4px;
  font-size: 12px;
}
.discovery-dna-bar meter {
  width: 100%;
}
.table-scroll .qa-table:has(col.qa-col-wrap),
.table-scroll .qa-table:has(col.qa-col-wrap-wide) {
  table-layout: fixed;
}
.qa-table col.qa-col-compact { width: 7rem; }
.qa-table col.qa-col-wrap { width: 14rem; }
.qa-table col.qa-col-wrap-wide { width: 20rem; }
.qa-table col.qa-col-actions { width: 6.5rem; }
.qa-table th:nth-child(1),
.qa-table td:nth-child(1),
.qa-table th:nth-child(2),
.qa-table td:nth-child(2) {
  white-space: nowrap;
  width: 1%;
}
.qa-table .qa-cell-wrap,
.qa-table th.qa-cell-wrap,
.qa-table td.qa-cell-wrap,
.qa-table th:nth-child(3),
.qa-table td:nth-child(3),
.qa-table th:nth-child(4),
.qa-table td:nth-child(4),
.qa-table th:nth-child(14),
.qa-table td:nth-child(14),
.qa-table th:nth-child(15),
.qa-table td:nth-child(15),
.qa-table th:nth-child(16),
.qa-table td:nth-child(16),
.qa-table th:nth-last-child(2),
.qa-table td:nth-last-child(2) {
  min-width: 9rem;
  max-width: 24rem;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.qa-table .muted {
  display: block;
  margin-top: 4px;
  font-size: 12px;
  word-break: break-word;
  overflow-wrap: anywhere;
}
.qa-table td .muted {
  word-break: break-all;
}
.table-scroll .directory-table {
  width: 100%;
  min-width: 0;
}
.directory-table th,
.directory-table td {
  white-space: normal;
  width: auto;
  min-width: 0;
  max-width: none;
  overflow-wrap: break-word;
  word-break: break-word;
}
.qa-next-actions .taxonomy-list,
.embed-view .qa-dashboard-group .taxonomy-list {
  columns: 1;
}
.qa-quick-link-workbench {
  color: #fff;
  background: #0f4a50;
  border-color: #0f4a50;
}
.qa-table th, .qa-table td {
  vertical-align: top;
  padding: 10px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  overflow-wrap: anywhere;
}
.qa-table th {
  color: var(--muted);
  font-size: 13px;
}
.qa-table code {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  white-space: normal;
  overflow-wrap: anywhere;
}
.qa-table .review-status,
.qa-table td > span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
  overflow-wrap: anywhere;
}
.table-scroll .qa-table.map-table {
  table-layout: fixed;
  min-width: 58rem;
}
.table-scroll .qa-table.map-table col.map-col-record { width: 4.5rem; }
.table-scroll .qa-table.map-table col.map-col-title { width: 16rem; }
.table-scroll .qa-table.map-table col.map-col-kind { width: 9rem; }
.table-scroll .qa-table.map-table col.map-col-role { width: 8rem; }
.table-scroll .qa-table.map-table col.map-col-lat { width: 5.5rem; }
.table-scroll .qa-table.map-table col.map-col-lon { width: 5.5rem; }
.table-scroll .qa-table.map-table col.map-col-source { width: 14rem; }
.table-scroll .qa-table.map-table col.map-col-confidence { width: 5rem; }
.table-scroll .qa-table.map-table col.map-col-review { width: 5.5rem; }
.table-scroll .qa-table.map-table col.map-col-precision { width: 5rem; }
.table-scroll .qa-table.map-table col.map-col-map { width: 4.5rem; }
.table-scroll .qa-table.map-table th:nth-child(1),
.table-scroll .qa-table.map-table td:nth-child(1),
.table-scroll .qa-table.map-table th:nth-child(5),
.table-scroll .qa-table.map-table td:nth-child(5),
.table-scroll .qa-table.map-table th:nth-child(6),
.table-scroll .qa-table.map-table td:nth-child(6),
.table-scroll .qa-table.map-table th:nth-child(8),
.table-scroll .qa-table.map-table td:nth-child(8),
.table-scroll .qa-table.map-table th:nth-child(9),
.table-scroll .qa-table.map-table td:nth-child(9),
.table-scroll .qa-table.map-table th:nth-child(10),
.table-scroll .qa-table.map-table td:nth-child(10),
.table-scroll .qa-table.map-table th:nth-child(11),
.table-scroll .qa-table.map-table td:nth-child(11) {
  white-space: nowrap;
  width: auto;
  min-width: 0;
  max-width: none;
  overflow-wrap: normal;
  word-break: normal;
}
.table-scroll .qa-table.map-table th:nth-child(2),
.table-scroll .qa-table.map-table td:nth-child(2),
.table-scroll .qa-table.map-table th:nth-child(3),
.table-scroll .qa-table.map-table td:nth-child(3),
.table-scroll .qa-table.map-table th:nth-child(4),
.table-scroll .qa-table.map-table td:nth-child(4),
.table-scroll .qa-table.map-table th:nth-child(7),
.table-scroll .qa-table.map-table td:nth-child(7),
.table-scroll .qa-table.map-table td.qa-cell-wrap {
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
  min-width: 0;
  max-width: none;
  width: auto;
}
body.page-map main.site-main {
  max-width: none;
  margin: 0;
  padding: 20px 16px 40px;
}
body.page-map .table-scroll {
  width: 100%;
}
body.page-map .table-scroll .qa-table.map-table {
  width: 100%;
  min-width: 0;
}
.qa-cell-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.qa-cell-list li + li {
  margin-top: 4px;
}
.qa-attribution-meta,
.qa-attribution-meta span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.qa-image-thumb {
  display: block;
  width: 96px;
  min-height: 64px;
  margin-bottom: 6px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f6faf9;
  color: var(--muted);
  font-size: 12px;
  text-align: center;
  overflow: hidden;
}
.qa-image-thumb img {
  display: block;
  width: 96px;
  height: 72px;
  object-fit: cover;
}
.qa-image-missing {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
}
.candidate-image {
  display: block;
  max-width: 180px;
  max-height: 140px;
  object-fit: contain;
  margin-bottom: 6px;
  background: #eef3f4;
}
@media (max-width: 760px) {
  .site-header { align-items: flex-start; flex-direction: column; }
  .site-explore-shortcuts { display: none; }
  .global-search {
    width: 100%;
    max-width: none;
    min-width: 0;
    flex: none;
  }
  main { padding: 24px 16px 44px; }
  .hero { padding: 30px 24px; }
  .hero h1 { font-size: 34px; }
  .record-hero-top { flex-direction: column; align-items: flex-start; }
  .record-hero .tags { justify-content: flex-start; }
  .record h1 { font-size: 30px; }
  .state-profile-header,
  .state-profile-state header {
    flex-direction: column;
    align-items: flex-start;
  }
  .state-profile-control {
    grid-template-columns: 1fr;
  }
  .state-profile-control output {
    width: max-content;
  }
  .home-explore-grid { grid-template-columns: 1fr 1fr; }
  .record-grid { grid-template-columns: 1fr; }
  .facts dl { grid-template-columns: 1fr; }
  .detailed-map {
    height: 100%;
  }
  .detailed-map-frame {
    min-height: 390px;
    height: 58vh;
    max-height: 640px;
  }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
.record-light-signature {
  margin-bottom: 24px;
}
.record-light-signature .light-signature-raw code {
  font-size: 1.05rem;
  letter-spacing: 0.02em;
}
.light-signature-explanation {
  margin-top: 8px;
}
.light-signature-context {
  margin-top: 8px;
  font-weight: 500;
}
.light-signature-remembered {
  margin: 12px 0 0;
}
.light-signature-trigger {
  min-height: 44px;
  min-width: 44px;
}
.light-signature-visual {
  margin-top: 16px;
  padding: 14px;
  border: 1px solid var(--border, #334155);
  border-radius: 10px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.35), rgba(15, 23, 42, 0.75));
}
.light-signature-visual.is-static .light-signature-beam {
  display: none;
}
.light-signature-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
  margin-bottom: 12px;
  font-size: 0.92rem;
}
.light-signature-color-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1.8rem;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.25);
  background: var(--light-color, #f8fafc);
  color: #0f172a;
  font-weight: 600;
  font-size: 0.82rem;
}
.light-signature-track {
  position: relative;
  height: 56px;
  border-radius: 8px;
  overflow: hidden;
  background: #020617;
}
.light-signature-sky {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(30, 41, 59, 0.4), rgba(51, 65, 85, 0.15));
}
.light-signature-markers,
.light-signature-beam {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.light-signature-marker {
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  margin-left: -5px;
  margin-top: -5px;
  border-radius: 50%;
  background: rgba(248, 250, 252, 0.85);
  box-shadow: 0 0 10px rgba(248, 250, 252, 0.75);
}
.light-signature-beam {
  top: 50%;
  width: 18px;
  height: 18px;
  margin-top: -9px;
  margin-left: -9px;
  border-radius: 50%;
  background: var(--light-color, #f8fafc);
  box-shadow: 0 0 0 0 rgba(248, 250, 252, 0.0);
  opacity: 0.15;
  transition: opacity 0.12s linear, box-shadow 0.12s linear;
}
.light-signature-beam.is-lit {
  opacity: 1;
  box-shadow: 0 0 16px 4px var(--light-color, #f8fafc);
}
.light-signature-footer {
  margin-top: 12px;
}
