@import url("./styles/maplibre-gl.css");
@import url("./styles/tokens.css");
@import url("./styles/base.css");
@import url("./styles/layout.css");
@import url("./styles/typography.css");
@import url("./styles/cards.css");
@import url("./styles/maps.css");
@import url("./styles/editorial.css");
@import url("./styles/dark-mode.css");

:root {
  color-scheme: light dark;
  --umni-bg: #fbfaf7;
  --umni-ink: #20201d;
  --umni-muted: #6d6a63;
  --umni-line: #ded8cc;
  --umni-card: #ffffff;
  --umni-wash: #f3efe7;
  --umni-accent: #315f72;
  --umni-accent-2: #8b4d38;
  --umni-olive: #687653;
  --umni-fog: #dbe7e7;
  --umni-sand: #d8c6a3;
  --umni-terracotta: #a35d42;
  --umni-oyster: #d8d6ce;
  --hero-panel: #f4efe5;
  --hero-ink: #24231f;
  --hero-media-bg: #ddd4c4;
  --umni-active: #edf2f3;
  --umni-active-border: #315f72;
  --umni-nav-hover: #f1ebe0;
  --umni-nav-focus: rgba(49, 95, 114, .22);
  --umni-shadow: rgba(32, 32, 29, .08);
}

@media (prefers-color-scheme: dark) {
  :root {
    --umni-bg: #141414;
    --umni-ink: #ece8df;
    --umni-muted: #b8b1a6;
    --umni-line: #38352f;
    --umni-card: #1d1d1b;
    --umni-wash: #24231f;
    --umni-accent: #8fb8c8;
    --umni-accent-2: #d79c82;
    --umni-olive: #9ead83;
    --umni-fog: #253638;
    --umni-sand: #766b56;
    --umni-terracotta: #c98568;
    --umni-oyster: #4b4942;
    --hero-panel: #1e1d19;
    --hero-ink: #f2eee5;
    --hero-media-bg: #2d2b25;
    --umni-active: #222b2d;
    --umni-active-border: #8fb8c8;
    --umni-nav-hover: #28251f;
    --umni-nav-focus: rgba(143, 184, 200, .3);
    --umni-shadow: rgba(0, 0, 0, .45);
  }
}

html,
body {
  background: var(--umni-bg);
  color: var(--umni-ink);
}

#observablehq-center,
#observablehq-main {
  background: var(--umni-bg);
  color: var(--umni-ink);
}

#observablehq-main {
  container-type: inline-size;
}

#observablehq-sidebar,
#observablehq-toc {
  background: var(--umni-card);
  color: var(--umni-muted);
  border-color: var(--umni-line);
}

#observablehq-sidebar {
  border-right: 1px solid var(--umni-line);
}

#observablehq-sidebar a,
#observablehq-toc a {
  color: var(--umni-muted);
}

#observablehq-sidebar summary,
#observablehq-sidebar .observablehq-link-active a,
#observablehq-toc nav > div {
  color: var(--umni-ink);
}

#observablehq-sidebar .observablehq-link-active a {
  background: var(--umni-active);
  color: var(--umni-ink);
  font-weight: 800;
}

#observablehq-sidebar .observablehq-link-active::before {
  background: var(--umni-active-border);
}

#observablehq-sidebar .observablehq-link a {
  min-height: 38px;
  border-radius: 0 3px 3px 0;
  border: 1px solid transparent;
  text-decoration: none;
  transition:
    background-color .12s ease,
    border-color .12s ease,
    color .12s ease,
    transform .12s ease;
}

#observablehq-sidebar .observablehq-link:not(.observablehq-link-active) a:hover {
  background: var(--umni-nav-hover);
  border-color: color-mix(in srgb, var(--umni-accent) 28%, transparent);
  color: var(--umni-ink);
  transform: translateX(2px);
}

#observablehq-sidebar .observablehq-link a:focus-visible {
  outline: 3px solid var(--umni-nav-focus);
  outline-offset: 2px;
  color: var(--umni-ink);
}

#observablehq-sidebar .observablehq-link-active a:hover {
  background: color-mix(in srgb, var(--umni-active) 78%, var(--umni-accent));
}

#observablehq-sidebar .observablehq-link-active::before {
  width: 4px;
  border-radius: 0 2px 2px 0;
}

#observablehq-sidebar > ol:first-child::before {
  background: var(--umni-card);
}

#observablehq-sidebar > ol:first-child {
  border-bottom-color: var(--umni-line);
}

#observablehq-sidebar > ol:first-child a {
  color: var(--umni-ink);
  letter-spacing: .01em;
}

#observablehq-sidebar > ol:first-child .observablehq-link-active a {
  background: transparent;
  border-color: transparent;
  font-weight: 850;
  transform: none;
}

#observablehq-sidebar > ol:first-child .observablehq-link-active::before {
  display: none;
}

#observablehq-sidebar ol,
#observablehq-sidebar section,
#observablehq-toc {
  border-color: var(--umni-line);
}

main {
  max-width: 1120px;
  margin: 0 auto;
}

.travel-intelligence-panel {
  display: grid;
  gap: 1rem;
  margin: clamp(1.8rem, 5vw, 3rem) 0;
  padding: clamp(1rem, 2.5vw, 1.35rem);
  border: 1px solid var(--umni-line);
  border-radius: 10px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--umni-card) 92%, var(--umni-fog)), var(--umni-card));
  box-shadow: 0 18px 52px var(--umni-shadow);
}

.intelligence-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .7rem;
}

.intelligence-summary-grid article,
.travel-calendar,
.budget-bands,
.packing-assistant,
.decision-questions {
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-bg) 78%, var(--umni-card));
}

.intelligence-summary-grid article {
  display: grid;
  align-content: start;
  min-height: 104px;
  padding: .85rem;
}

.intelligence-summary-grid span,
.travel-calendar header span {
  color: var(--umni-muted);
  font-family: var(--sans, system-ui, sans-serif);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.intelligence-summary-grid strong {
  margin-top: .45rem;
  color: var(--umni-ink);
  font-size: clamp(.92rem, 1.5vw, 1.08rem);
  line-height: 1.25;
}

.travel-intelligence-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, .85fr);
  gap: 1rem;
  align-items: start;
}

.travel-intelligence-side {
  display: grid;
  gap: 1rem;
}

.travel-calendar {
  padding: 1rem;
}

.travel-calendar header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: start;
  margin-bottom: .85rem;
}

.travel-calendar h3,
.budget-bands h3,
.packing-assistant h3,
.decision-questions h3 {
  margin: .1rem 0 0;
  font-size: clamp(1.05rem, 2.2vw, 1.35rem);
  line-height: 1.1;
}

.travel-month-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: .45rem;
}

.travel-month {
  display: grid;
  min-height: 116px;
  gap: .24rem;
  align-content: start;
  padding: .62rem;
  border: 1px solid var(--umni-line);
  border-radius: 7px;
  background: var(--umni-card);
}

.travel-month strong {
  font-size: .92rem;
}

.travel-month span {
  color: var(--umni-accent-2);
  font-size: .72rem;
  letter-spacing: .03em;
}

.travel-month em,
.travel-month small {
  color: var(--umni-muted);
  font-style: normal;
  line-height: 1.25;
}

.travel-month em {
  font-family: var(--sans, system-ui, sans-serif);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.travel-month small {
  font-size: .78rem;
}

.travel-month-5 {
  background: color-mix(in srgb, var(--umni-fog) 36%, var(--umni-card));
  border-color: color-mix(in srgb, var(--umni-accent) 38%, var(--umni-line));
}

.travel-month-4 {
  background: color-mix(in srgb, var(--umni-fog) 22%, var(--umni-card));
}

.travel-month-1,
.travel-month-2 {
  opacity: .78;
}

.travel-calendar > p {
  margin: .9rem 0 0;
  color: var(--umni-muted);
}

.travel-calendar footer {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: .8rem;
}

.travel-calendar footer span {
  padding: .28rem .45rem;
  border: 1px solid var(--umni-line);
  border-radius: 999px;
  color: var(--umni-muted);
  font-family: var(--sans, system-ui, sans-serif);
  font-size: .76rem;
}

.budget-bands,
.packing-assistant,
.decision-questions {
  padding: 1rem;
}

.budget-bands dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .45rem;
  margin: .8rem 0;
}

.budget-bands dl div {
  padding: .55rem;
  border: 1px solid var(--umni-line);
  border-radius: 6px;
}

.budget-bands dt {
  color: var(--umni-muted);
  font-family: var(--sans, system-ui, sans-serif);
  font-size: .72rem;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.budget-bands dd {
  margin: .25rem 0 0;
  color: var(--umni-ink);
  font-weight: 800;
}

.budget-bands p,
.packing-assistant li,
.decision-questions li,
.decision-questions p {
  color: var(--umni-muted);
  line-height: 1.45;
}

.packing-assistant ul,
.decision-questions ul {
  margin: .75rem 0 0;
  padding-left: 1.1rem;
}

.decision-questions {
  display: grid;
  grid-template-columns: minmax(220px, .62fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.decision-questions p {
  margin: .75rem 0 0;
}

.decision-questions a + a::before {
  content: " / ";
  color: var(--umni-muted);
}

.atlas-standard-overview,
.atlas-capability-panel {
  margin: clamp(1.75rem, 5vw, 3rem) 0;
  border: 1px solid var(--umni-line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--umni-card) 82%, var(--umni-bg));
  box-shadow: 0 18px 52px var(--umni-shadow);
}

.atlas-standard-overview {
  display: grid;
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1fr);
  gap: 1rem;
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

.atlas-standard-overview > div {
  align-self: start;
  position: sticky;
  top: 1rem;
}

.atlas-standard-overview h2 {
  margin: .2rem 0 .75rem;
  font-size: clamp(1.65rem, 4vw, 2.6rem);
  line-height: 1;
}

.atlas-standard-overview ol {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.atlas-standard-overview li {
  min-height: 86px;
  padding: .7rem;
  border: 1px solid var(--umni-line);
  border-radius: 7px;
  background: var(--umni-bg);
}

.atlas-standard-overview li strong,
.atlas-standard-overview li span {
  display: block;
}

.atlas-standard-overview li strong {
  color: var(--umni-ink);
  line-height: 1.2;
}

.atlas-standard-overview li span {
  margin-top: .35rem;
  color: var(--umni-muted);
  font-size: .86rem;
  line-height: 1.35;
}

.atlas-capability-panel {
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 2.5vw, 1.35rem);
}

.atlas-capability-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .6rem;
}

.atlas-capability-summary article {
  padding: .8rem;
  border: 1px solid var(--umni-line);
  border-radius: 7px;
  background: var(--umni-bg);
}

.atlas-capability-summary span,
.atlas-capability div span {
  color: var(--umni-muted);
  font-family: var(--sans, system-ui, sans-serif);
  font-size: .72rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.atlas-capability-summary strong {
  display: block;
  margin-top: .2rem;
  color: var(--umni-ink);
  font-size: 1.55rem;
  line-height: 1;
}

.atlas-capability-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .55rem;
}

.atlas-capability {
  display: grid;
  gap: .45rem;
  min-height: 138px;
  padding: .72rem;
  border: 1px solid var(--umni-line);
  border-radius: 7px;
  background: var(--umni-bg);
}

.atlas-capability div {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: start;
}

.atlas-capability strong {
  color: var(--umni-ink);
  line-height: 1.15;
}

.atlas-capability p,
.atlas-capability small {
  margin: 0;
  color: var(--umni-muted);
  line-height: 1.35;
}

.atlas-capability small {
  font-size: .78rem;
}

.atlas-capability-live {
  border-color: color-mix(in srgb, var(--umni-accent) 44%, var(--umni-line));
  background: color-mix(in srgb, var(--umni-fog) 22%, var(--umni-bg));
}

.atlas-capability-seeded {
  border-color: color-mix(in srgb, var(--umni-olive) 34%, var(--umni-line));
}

.atlas-capability-planned {
  opacity: .72;
}

.atlas-capability-not_applicable {
  opacity: .45;
}

.atlas-export-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: .9rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-wash) 72%, var(--umni-bg));
}

.atlas-export-panel h3 {
  margin: .1rem 0 .35rem;
  font-size: 1.25rem;
}

.atlas-export-panel p {
  margin: 0;
  color: var(--umni-muted);
}

.atlas-export-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: end;
  gap: .45rem;
}

.atlas-export-actions a,
.atlas-export-actions button {
  min-height: 38px;
  padding: .45rem .7rem;
  border: 1px solid var(--umni-line);
  border-radius: 4px;
  background: var(--umni-card);
  color: var(--umni-ink);
  font: inherit;
  font-family: var(--sans, system-ui, sans-serif);
  font-size: .82rem;
  text-decoration: none;
}

.atlas-export-actions button:not(:disabled):hover,
.atlas-export-actions a:hover {
  border-color: var(--umni-accent);
  color: var(--umni-accent);
}

.atlas-export-actions button:disabled {
  cursor: not-allowed;
  opacity: .58;
}

@container (max-width: 760px) {
  .intelligence-summary-grid,
  .travel-intelligence-layout,
  .decision-questions,
  .atlas-standard-overview,
  .atlas-export-panel {
    grid-template-columns: 1fr;
  }

  .travel-month-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .atlas-standard-overview > div {
    position: static;
  }

  .atlas-standard-overview ol,
  .atlas-capability-grid {
    grid-template-columns: 1fr;
  }

  .atlas-capability-summary {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .atlas-export-actions {
    justify-content: start;
  }
}

h1,
h2,
h3 {
  color: var(--umni-ink);
  letter-spacing: 0;
}

p,
li {
  line-height: 1.65;
}

a { color: var(--umni-accent); }

.editorial-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
  overflow: hidden;
  margin: 0 0 2rem;
  padding: clamp(1rem, 2.8vw, 1.6rem);
  border: 1px solid var(--umni-line);
  border-radius: 10px;
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--hero-panel) 92%, var(--umni-fog)), var(--hero-panel));
  color: var(--hero-ink);
  box-shadow: 0 22px 70px var(--umni-shadow);
}

.editorial-hero-narrow {
  grid-template-columns: minmax(0, 1fr);
}

.editorial-hero-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: end;
  padding: clamp(.5rem, 2vw, 1.2rem);
}

.editorial-hero h1 {
  max-width: 820px;
  margin: 0;
  color: inherit;
  font-family: Georgia, serif;
  font-size: clamp(3rem, 8.6vw, 7.2rem);
  line-height: .88;
  letter-spacing: 0;
  text-wrap: balance;
}

.editorial-hero p:not(.eyebrow) {
  max-width: 34rem;
  margin: 1rem 0 0;
  color: color-mix(in srgb, var(--hero-ink) 74%, var(--umni-muted));
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.48;
}

.editorial-hero-image {
  display: grid;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: var(--hero-media-bg);
}

.editorial-hero-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 360px;
  object-fit: cover;
  filter: saturate(.92) contrast(.98);
}

.editorial-hero-image img[src$=".svg"] {
  object-fit: contain;
}

.editorial-hero-image figcaption {
  padding: .55rem .75rem;
  border-top: 1px solid color-mix(in srgb, var(--umni-line) 72%, transparent);
  color: var(--umni-muted);
  font-size: .76rem;
  line-height: 1.3;
}

.editorial-hero-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(7.5rem, 1fr));
  gap: 1px;
  max-width: 42rem;
  margin: 1.3rem 0 0;
  border: 1px solid color-mix(in srgb, var(--hero-ink) 14%, transparent);
  background: color-mix(in srgb, var(--hero-ink) 14%, transparent);
}

.editorial-hero-meta div {
  min-width: 0;
  padding: .72rem;
  background: color-mix(in srgb, var(--hero-panel) 90%, transparent);
}

.editorial-hero-meta dt {
  color: color-mix(in srgb, var(--hero-ink) 56%, transparent);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.editorial-hero-meta dd {
  margin: .2rem 0 0;
  font-family: Georgia, serif;
  font-weight: 800;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1.25rem;
}

.hero-actions a,
.text-link-button {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: .48rem .75rem;
  border: 1px solid color-mix(in srgb, var(--umni-accent) 42%, var(--umni-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--umni-card) 78%, transparent);
  color: var(--umni-ink);
  font-size: .85rem;
  font-weight: 850;
  text-decoration: none;
}

.hero-actions a:hover,
.text-link-button:hover {
  background: color-mix(in srgb, var(--umni-accent) 18%, var(--umni-card));
}

.planning-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  gap: 1px;
  margin: 1.25rem 0 2.25rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--umni-line);
}

.planning-strip article {
  min-width: 0;
  padding: .85rem;
  background: color-mix(in srgb, var(--umni-card) 88%, var(--umni-bg));
}

.planning-strip span,
.compact-editorial-card footer span,
.season-selector-card span {
  display: block;
  color: var(--umni-accent-2);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.planning-strip strong {
  display: block;
  margin-top: .18rem;
  font-family: Georgia, serif;
  font-size: 1.08rem;
  line-height: 1.15;
}

.planning-strip p {
  margin: .35rem 0 0;
  color: var(--umni-muted);
  font-size: .82rem;
  line-height: 1.38;
}

.compact-editorial-grid,
.compact-door-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
  margin: 1.25rem 0 2rem;
}

.compact-editorial-card {
  display: flex;
  min-height: 168px;
  flex-direction: column;
  justify-content: space-between;
  padding: .95rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 92%, var(--umni-bg));
  color: inherit;
  text-decoration: none;
  transition: border-color .15s ease, transform .15s ease, background-color .15s ease;
}

.compact-editorial-card:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 56%, var(--umni-line));
  background: color-mix(in srgb, var(--umni-card) 84%, var(--umni-fog));
  transform: translateY(-2px);
}

.compact-editorial-card h3 {
  margin: 0 0 .35rem;
  font-family: Georgia, serif;
  font-size: 1.22rem;
  line-height: 1.15;
}

.compact-editorial-card p {
  margin: 0;
  color: var(--umni-muted);
  font-size: .88rem;
  line-height: 1.42;
}

.compact-editorial-card footer {
  display: flex;
  justify-content: space-between;
  gap: .75rem;
  align-items: end;
  margin-top: 1rem;
}

.compact-editorial-card footer strong {
  color: var(--umni-accent);
  font-size: .78rem;
}

.season-selector {
  margin: 2.25rem 0;
}

.season-selector-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .75rem;
}

.season-selector-card {
  display: grid;
  min-width: 0;
  min-height: 190px;
  align-content: space-between;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background:
    linear-gradient(180deg, color-mix(in srgb, var(--umni-card) 84%, transparent), color-mix(in srgb, var(--umni-wash) 72%, transparent));
  color: inherit;
  text-decoration: none;
}

.season-selector-card:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 55%, var(--umni-line));
}

.season-selector-card strong {
  display: block;
  margin: .55rem 0 .35rem;
  font-family: Georgia, serif;
  font-size: 1.25rem;
  line-height: 1.1;
}

.season-selector-card p {
  margin: 0;
  color: var(--umni-muted);
  font-size: .86rem;
  line-height: 1.4;
}

.season-selector-card em {
  display: block;
  margin-top: .9rem;
  color: var(--umni-olive);
  font-size: .8rem;
  font-style: normal;
  font-weight: 850;
}

.map-layer-toggle {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  margin: .75rem 0 1rem;
}

.map-layer-toggle button {
  min-height: 34px;
  padding: .32rem .62rem;
  border: 1px solid var(--umni-line);
  border-radius: 999px;
  background: var(--umni-card);
  color: var(--umni-muted);
  font: inherit;
  font-size: .78rem;
  font-weight: 800;
  cursor: default;
}

.map-layer-toggle button.is-active {
  border-color: color-mix(in srgb, var(--umni-accent) 62%, var(--umni-line));
  background: color-mix(in srgb, var(--umni-accent) 16%, var(--umni-card));
  color: var(--umni-ink);
}

.nearby-pairings {
  display: grid;
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
  gap: 1rem;
  margin: 2.25rem 0;
  padding: 1rem 0;
  border-top: 1px solid var(--umni-line);
  border-bottom: 1px solid var(--umni-line);
}

.nearby-pairings h2,
.practical-checklist h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: 1.7rem;
  line-height: 1.1;
}

.nearby-pairings p {
  color: var(--umni-muted);
}

.nearby-pairing-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .65rem;
}

.nearby-pairing-list a {
  display: grid;
  gap: .25rem;
  padding: .8rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  color: inherit;
  text-decoration: none;
}

.nearby-pairing-list span {
  color: var(--umni-muted);
  font-size: .84rem;
  line-height: 1.38;
}

.practical-checklist {
  margin: 2.25rem 0;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 88%, var(--umni-wash));
}

.practical-checklist ul {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .65rem 1rem;
  margin: 1rem 0 0;
  padding: 0;
  list-style: none;
}

.practical-checklist li {
  display: grid;
  grid-template-columns: 1rem minmax(0, 1fr);
  gap: .45rem;
  color: var(--umni-muted);
  font-size: .9rem;
  line-height: 1.4;
}

.practical-checklist li span {
  width: .58rem;
  height: .58rem;
  margin-top: .35rem;
  border: 1px solid color-mix(in srgb, var(--umni-accent) 60%, var(--umni-line));
  border-radius: 999px;
  background: color-mix(in srgb, var(--umni-accent) 18%, transparent);
}

.visual-itinerary {
  margin: 1.25rem 0 2rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--umni-card);
}

.visual-itinerary svg {
  display: block;
  width: 100%;
  min-height: 220px;
}

.visual-itinerary-bg {
  fill: color-mix(in srgb, var(--umni-wash) 86%, var(--umni-fog));
}

.visual-itinerary-line {
  fill: none;
  stroke: var(--umni-accent);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .78;
}

.visual-itinerary-stop circle {
  fill: var(--umni-card);
  stroke: var(--umni-accent);
  stroke-width: 3;
}

.visual-itinerary-stop text {
  fill: var(--umni-ink);
  font-family: Georgia, serif;
  font-size: 14px;
  font-weight: 800;
  text-anchor: middle;
}

.visual-itinerary figcaption {
  display: grid;
  gap: .18rem;
  padding: .75rem .9rem;
  border-top: 1px solid var(--umni-line);
  color: var(--umni-muted);
  font-size: .84rem;
}

.visual-itinerary figcaption strong {
  color: var(--umni-ink);
  font-family: Georgia, serif;
  font-size: 1.05rem;
}

.image-credit {
  display: block;
  color: var(--umni-muted);
  font-size: .74rem;
  line-height: 1.35;
}

.country-hub {
  display: grid;
  gap: 1.75rem;
}

.country-hub-hero {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(320px, 1.05fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: stretch;
  overflow: hidden;
  margin: 0 0 .5rem;
  padding: clamp(1rem, 2.8vw, 1.6rem);
  border: 1px solid var(--umni-line);
  border-radius: 10px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--hero-panel) 92%, var(--umni-sand)), var(--hero-panel));
  box-shadow: 0 22px 70px var(--umni-shadow);
}

.country-hub-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: end;
  padding: clamp(.4rem, 1.6vw, 1rem);
}

.country-hub h1 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(3.2rem, 9cqw, 7rem);
  line-height: .9;
  letter-spacing: 0;
  text-wrap: balance;
}

.country-hub-copy > p:not(.eyebrow) {
  max-width: 38rem;
  margin: 1rem 0 0;
  color: var(--umni-muted);
  font-size: clamp(1rem, 1.3vw, 1.18rem);
  line-height: 1.52;
}

.country-safety-note {
  padding: .8rem;
  border-left: 3px solid var(--umni-terracotta);
  background: color-mix(in srgb, var(--umni-terracotta) 9%, var(--umni-card));
}

.country-safety-note a {
  display: inline-block;
  margin-left: .35rem;
  font-weight: 800;
}

.country-signature {
  display: grid;
  min-width: 0;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: var(--hero-media-bg);
}

.country-signature svg {
  display: block;
  width: 100%;
  min-height: 360px;
}

.country-signature figcaption {
  padding: .55rem .75rem;
  border-top: 1px solid var(--umni-line);
  color: var(--umni-muted);
  font-size: .76rem;
}

.country-signature-bg {
  fill: color-mix(in srgb, var(--umni-wash) 78%, var(--umni-fog));
}

.country-signature-ring {
  fill: none;
  stroke: color-mix(in srgb, var(--umni-accent) 30%, var(--umni-line));
  stroke-width: 18;
  opacity: .42;
}

.country-signature-route {
  fill: color-mix(in srgb, var(--umni-accent) 18%, transparent);
  stroke: var(--umni-terracotta);
  stroke-width: 4;
  stroke-linejoin: round;
}

.country-signature-point circle {
  fill: var(--umni-card);
  stroke: var(--umni-ink);
  stroke-width: 3;
}

.country-signature-point text,
.country-signature-title {
  fill: var(--umni-ink);
  font-family: Georgia, serif;
  font-weight: 800;
}

.country-signature-point text {
  font-size: 14px;
  text-anchor: middle;
}

.country-signature-title {
  font-size: 34px;
}

.country-signature-sub,
.country-signature-axis {
  fill: var(--umni-muted);
  font-size: 13px;
}

.country-editorial-question {
  display: grid;
  grid-template-columns: minmax(220px, .42fr) minmax(0, 1fr);
  gap: 1rem;
  padding: 1rem 0;
  border-top: 1px solid var(--umni-line);
  border-bottom: 1px solid var(--umni-line);
}

.country-editorial-question h2 {
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(1.7rem, 4cqw, 2.5rem);
  line-height: 1.05;
}

.country-editorial-question p {
  margin: 0;
  color: var(--umni-muted);
  font-size: 1rem;
  line-height: 1.58;
}

.country-map-stage {
  margin: .5rem 0;
}

.country-map-toolbar {
  margin-bottom: .65rem;
}

.country-layer {
  margin: 1rem 0 1.75rem;
}

.country-chip-grid,
.country-tool-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: .65rem;
}

.country-chip-grid article,
.country-tool-grid article {
  min-width: 0;
  min-height: 92px;
  padding: .78rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 88%, var(--umni-bg));
}

.country-chip-grid span,
.country-tool-grid span {
  display: block;
  margin-bottom: .4rem;
  color: var(--umni-accent-2);
  font-size: .64rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.country-chip-grid strong,
.country-tool-grid strong {
  display: block;
  font-family: Georgia, serif;
  font-size: 1.02rem;
  line-height: 1.18;
}

@media (prefers-color-scheme: dark) {
  .editorial-hero {
    background:
      linear-gradient(135deg, color-mix(in srgb, var(--hero-panel) 84%, #2f352d), var(--hero-panel));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .58);
  }

  .editorial-hero-image img {
    filter: saturate(.76) contrast(1.03) brightness(.8);
  }

  .atlas-map-tone-ink {
    --atlas-map-bg: #171a19;
    --atlas-map-grid: rgba(224, 231, 223, .1);
    --atlas-map-land: #2b2c28;
    --atlas-map-land-line: rgba(232, 226, 214, .2);
    --atlas-map-linked: color-mix(in srgb, var(--umni-accent) 34%, #2b2c28);
    --atlas-map-linked-line: color-mix(in srgb, var(--umni-accent) 70%, #efe8da);
  }

  .atlas-map-tone-coastal {
    --atlas-map-bg: #182021;
    --atlas-map-grid: rgba(143, 184, 200, .12);
    --atlas-map-land: #2b302a;
    --atlas-map-land-line: rgba(231, 224, 211, .18);
    --atlas-map-linked: color-mix(in srgb, #8fb8c8 36%, #28302b);
    --atlas-map-linked-line: color-mix(in srgb, #8fb8c8 74%, #efe8da);
  }

  .country-hub-hero {
    background: linear-gradient(135deg, color-mix(in srgb, var(--hero-panel) 86%, #344034), var(--hero-panel));
  }

  .country-signature-bg {
    fill: #20221e;
  }

  .country-safety-note {
    background: color-mix(in srgb, var(--umni-terracotta) 14%, var(--umni-bg));
  }
}

.site-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: 2rem;
  align-items: end;
  margin: 1rem 0 2.25rem;
  padding: 2.25rem 0 1.75rem;
  border-bottom: 1px solid var(--umni-line);
}

.site-hero h1 {
  max-width: 880px;
  margin: 0;
  font-family: Georgia, serif;
  font-size: clamp(3rem, 8vw, 7.5rem);
  line-height: .9;
  letter-spacing: 0;
  overflow-wrap: normal;
  text-wrap: balance;
}

.site-hero p {
  margin: 0;
  color: var(--umni-muted);
  font-size: 1.08rem;
}

.eyebrow {
  margin: 0 0 .55rem;
  color: var(--umni-accent-2);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lede {
  max-width: 760px;
  color: var(--umni-muted);
  font-size: 1.1rem;
}

.definition-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  margin: 2rem 0;
  border: 1px solid var(--umni-line);
  background: var(--umni-line);
}

.definition-band article {
  min-width: 0;
  padding: 1rem;
  background: var(--umni-card);
}

.definition-band h3 {
  margin: 0 0 .35rem;
  font-size: 1rem;
}

.definition-band p {
  margin: 0;
  color: var(--umni-muted);
  font-size: .92rem;
  line-height: 1.45;
}

.experience-lenses-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.compact-definition-band {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin: 1.25rem 0 1.75rem;
}

.compact-definition-band article {
  padding: .85rem;
}

.compact-definition-band h3 {
  font-size: .95rem;
}

.compact-definition-band p {
  font-size: .86rem;
}

.editorial-visual {
  max-width: 960px;
  margin: 2rem 0;
}

.editorial-visual img {
  display: block;
  width: 100%;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-wash);
  box-shadow: 0 16px 42px var(--umni-shadow);
}

.visual-spread {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr);
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}

.visual-spread.visual-spread-even {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.visual-spread.visual-spread-single {
  grid-template-columns: 1fr;
  max-width: 960px;
}

.visual-spread figure {
  display: grid;
  min-width: 0;
  margin: 0;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--umni-card);
}

.visual-spread img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--umni-wash);
  filter: saturate(.9) contrast(.98);
}

.visual-spread figure:first-child img {
  aspect-ratio: 16 / 9;
}

.visual-spread figcaption {
  display: grid;
  gap: .28rem;
  padding: .75rem .85rem .85rem;
  border-top: 1px solid var(--umni-line);
  color: var(--umni-muted);
  font-size: .82rem;
  line-height: 1.38;
}

.visual-spread figcaption strong {
  color: var(--umni-ink);
  font-family: Georgia, serif;
  font-size: 1rem;
  line-height: 1.25;
}

.visual-spread figcaption small {
  color: color-mix(in srgb, var(--umni-muted) 82%, var(--umni-bg));
  font-size: .72rem;
}

.visual-spread figcaption a {
  color: inherit;
  text-underline-offset: .18em;
}

@media (prefers-color-scheme: dark) {
  .visual-spread img[src*=".svg"],
  .editorial-visual img[src*=".svg"] {
    filter: invert(1) hue-rotate(180deg) saturate(.72) brightness(.86) contrast(.96);
  }
}

.source-list {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  margin: 1rem 0 2rem;
}

.source-list a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .35rem .6rem;
  border: 1px solid var(--umni-line);
  border-radius: 999px;
  background: var(--umni-card);
  color: var(--umni-muted);
  font-size: .82rem;
  font-weight: 750;
  line-height: 1.2;
  text-decoration: none;
}

.source-list a:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-line));
  color: var(--umni-ink);
}

.content-shelf {
  margin: 2.5rem 0;
}

.content-shelf-head {
  max-width: 760px;
  margin-bottom: 1rem;
}

.content-shelf-head h2 {
  margin: 0 0 .4rem;
  font-family: Georgia, serif;
  font-size: 2.2rem;
  letter-spacing: 0;
}

.content-shelf-head p {
  color: var(--umni-muted);
}

.content-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1rem;
}

.content-card {
  display: flex;
  min-height: 250px;
  flex-direction: column;
  justify-content: space-between;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  color: inherit;
  text-decoration: none;
}

.content-card:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-line));
}

.content-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  color: var(--umni-accent-2);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.content-card-meta span + span::before {
  content: "/";
  margin-right: .45rem;
  color: var(--umni-muted);
}

.content-card h3 {
  margin: .9rem 0 .35rem;
  font-family: Georgia, serif;
  font-size: 1.45rem;
  letter-spacing: 0;
}

.content-card p {
  margin: 0 0 1rem;
  color: var(--umni-muted);
  font-size: .95rem;
}

.atlas-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: .75rem 0 1rem;
  color: var(--umni-muted);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.atlas-breadcrumb a {
  color: var(--umni-muted);
  text-decoration: none;
}

.atlas-breadcrumb a:hover {
  color: var(--umni-ink);
}

.atlas-shelf {
  margin: 2.25rem 0;
}

.atlas-shelf-head,
.atlas-map-head {
  max-width: 760px;
  margin-bottom: 1rem;
}

.atlas-shelf-head h2,
.atlas-map-head h2 {
  margin: 0 0 .4rem;
  font-family: Georgia, serif;
  font-size: 2.15rem;
  line-height: 1.08;
  letter-spacing: 0;
}

.atlas-shelf-head p,
.atlas-map-head p {
  color: var(--umni-muted);
}

.atlas-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 1rem;
}

.atlas-card {
  display: flex;
  min-height: 210px;
  flex-direction: column;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  color: inherit;
  text-decoration: none;
}

.atlas-card:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-line));
}

.atlas-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  color: var(--umni-accent-2);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.atlas-card-meta span + span::before {
  content: "/";
  margin-right: .45rem;
  color: var(--umni-muted);
}

.atlas-card h3 {
  margin: .85rem 0 .4rem;
  font-family: Georgia, serif;
  font-size: 1.35rem;
  letter-spacing: 0;
}

.atlas-card p {
  color: var(--umni-muted);
  font-size: .94rem;
  line-height: 1.48;
}

.atlas-mini-index {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1px;
  margin: 2rem 0;
  border: 1px solid var(--umni-line);
  background: var(--umni-line);
}

.atlas-mini-index article {
  min-width: 0;
  padding: 1rem;
  background: var(--umni-card);
}

.atlas-mini-index h2 {
  margin: 0 0 .35rem;
  font-family: Georgia, serif;
  font-size: 1.45rem;
}

.atlas-mini-index article > p:not(.eyebrow) {
  margin: 0 0 .85rem;
  color: var(--umni-muted);
  font-size: .92rem;
  line-height: 1.45;
}

.atlas-mini-index ol {
  display: grid;
  gap: .6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.atlas-mini-index li {
  display: grid;
  gap: .1rem;
  padding-top: .5rem;
  border-top: 1px solid var(--umni-line);
  line-height: 1.35;
}

.atlas-mini-index a {
  color: var(--umni-ink);
  font-weight: 800;
  text-decoration: none;
}

.atlas-mini-index a:hover {
  color: var(--umni-accent);
}

.atlas-mini-index span {
  color: var(--umni-muted);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.atlas-map-panel {
  margin: 2.25rem 0;
  --atlas-map-bg: var(--umni-wash);
  --atlas-map-grid: color-mix(in srgb, var(--umni-line) 84%, transparent);
  --atlas-map-land: color-mix(in srgb, var(--umni-card) 78%, var(--umni-muted));
  --atlas-map-land-line: color-mix(in srgb, var(--umni-line) 78%, var(--umni-bg));
  --atlas-map-linked: color-mix(in srgb, var(--umni-accent) 28%, var(--umni-card));
  --atlas-map-linked-line: color-mix(in srgb, var(--umni-accent) 58%, var(--umni-line));
  --atlas-map-route: var(--umni-accent);
}

.atlas-map-tone-ink {
  --atlas-map-bg: color-mix(in srgb, var(--umni-bg) 82%, #d7d2c6);
  --atlas-map-grid: color-mix(in srgb, var(--umni-ink) 16%, transparent);
  --atlas-map-land: color-mix(in srgb, var(--umni-card) 62%, var(--umni-ink));
  --atlas-map-land-line: color-mix(in srgb, var(--umni-ink) 28%, var(--umni-line));
  --atlas-map-linked: color-mix(in srgb, var(--umni-accent) 38%, var(--umni-card));
  --atlas-map-linked-line: color-mix(in srgb, var(--umni-accent) 74%, var(--umni-ink));
}

.atlas-map-tone-coastal {
  --atlas-map-bg: color-mix(in srgb, var(--umni-wash) 72%, #dcebea);
  --atlas-map-grid: color-mix(in srgb, #4b7480 18%, transparent);
  --atlas-map-land: color-mix(in srgb, var(--umni-card) 76%, #7f8f82);
  --atlas-map-land-line: color-mix(in srgb, #45636d 36%, var(--umni-line));
  --atlas-map-linked: color-mix(in srgb, #2f7f8d 34%, var(--umni-card));
  --atlas-map-linked-line: color-mix(in srgb, #2f7f8d 74%, var(--umni-line));
  --atlas-map-route: #2f7f8d;
}

.atlas-map-tone-night {
  --atlas-map-bg: #171713;
  --atlas-map-grid: rgba(239, 232, 218, .12);
  --atlas-map-land: #292a25;
  --atlas-map-land-line: rgba(239, 232, 218, .22);
  --atlas-map-linked: color-mix(in srgb, var(--umni-accent) 42%, #292a25);
  --atlas-map-linked-line: color-mix(in srgb, var(--umni-accent) 74%, #efe8da);
  --atlas-map-route: color-mix(in srgb, var(--umni-accent) 72%, #efe8da);
}

.atlas-map-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(220px, .7fr);
  gap: 1rem;
  align-items: stretch;
}

.atlas-map-panel-below .atlas-map-layout {
  grid-template-columns: minmax(0, 1fr);
}

.atlas-map-panel-none .atlas-map-layout {
  grid-template-columns: minmax(0, 1fr);
}

.atlas-map-panel-below .atlas-map-svg {
  min-height: 460px;
}

.atlas-map-panel-none .atlas-map-svg {
  min-height: 360px;
}

.atlas-map-svg {
  display: block;
  width: 100%;
  min-height: 340px;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--atlas-map-bg);
}

.atlas-map-bg {
  fill: var(--atlas-map-bg);
}

.atlas-map-grid {
  stroke: var(--atlas-map-grid);
  stroke-width: 1;
}

.atlas-map-route {
  fill: none;
  stroke: var(--atlas-map-route);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .7;
}

.atlas-country {
  fill: var(--atlas-map-land);
  stroke: var(--atlas-map-land-line);
  stroke-width: .7;
  vector-effect: non-scaling-stroke;
}

.atlas-country-linked {
  fill: var(--atlas-map-linked);
  stroke: var(--atlas-map-linked-line);
  stroke-width: 1.1;
}

.atlas-country-link {
  outline: none;
}

.atlas-country-link:hover .atlas-country-linked,
.atlas-country-link:focus .atlas-country-linked {
  fill: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-card));
  stroke: var(--umni-accent);
}

.atlas-country-shell {
  opacity: .9;
}

.atlas-map-point {
  cursor: pointer;
}

.atlas-map-list {
  display: grid;
  align-content: start;
  gap: .55rem;
  max-height: 420px;
  overflow: auto;
  margin: 0;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  list-style: none;
}

.atlas-map-list li {
  display: grid;
  gap: .1rem;
  padding-bottom: .55rem;
  border-bottom: 1px solid var(--umni-line);
}

.atlas-map-list li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.atlas-map-panel-below .atlas-map-list {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  max-height: none;
  padding: .75rem;
}

.atlas-map-panel-below .atlas-map-list li {
  min-height: 74px;
  padding: .7rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-bg);
}

.atlas-map-panel-below .atlas-map-list li:last-child {
  border-bottom: 1px solid var(--umni-line);
  padding-bottom: .7rem;
}

.atlas-map-list a {
  color: var(--umni-ink);
  font-weight: 800;
  text-decoration: none;
}

.atlas-map-list strong {
  color: var(--umni-ink);
  font-size: .95rem;
}

.atlas-map-list span,
.atlas-map-caption {
  color: var(--umni-muted);
  font-size: .84rem;
}

.atlas-map-caption {
  margin: .65rem 0 0;
}

.experience-browser {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(18rem, .95fr);
  gap: 1rem;
  align-items: start;
  margin: 1.75rem 0 2.5rem;
}

.experience-browser .atlas-map-panel,
.experience-browser .atlas-mini-index {
  margin: 0;
}

.experience-browser .atlas-map-head h2 {
  font-size: 1.8rem;
}

.experience-browser .atlas-map-svg {
  min-height: 390px;
}

.experience-browser .atlas-mini-index {
  grid-template-columns: 1fr;
}

.experience-browser .atlas-mini-index article {
  padding: .85rem;
}

.experience-browser .atlas-mini-index h2 {
  font-size: 1.2rem;
}

.experience-browser .atlas-mini-index article > p:not(.eyebrow) {
  margin-bottom: .55rem;
  font-size: .84rem;
}

.experience-browser .atlas-mini-index ol {
  gap: .35rem;
}

.experience-browser .atlas-mini-index li {
  padding-top: .45rem;
}

.atlas-filter-console {
  display: grid;
  grid-template-columns: minmax(180px, .28fr) minmax(0, 1fr);
  gap: 1rem;
  margin: 1.25rem 0 2rem;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 82%, var(--umni-wash));
}

.atlas-filter-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: .65rem;
}

.atlas-filter-grid label {
  display: grid;
  gap: .28rem;
  min-width: 0;
}

.atlas-filter-grid span {
  color: var(--umni-muted);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.atlas-filter-grid select {
  width: 100%;
  min-height: 36px;
  border: 1px solid var(--umni-line);
  border-radius: 6px;
  background: var(--umni-card);
  color: var(--umni-ink);
  font: inherit;
  font-size: .86rem;
}

.experience-map-stage {
  margin: 2rem 0;
}

.experience-map-toolbar {
  margin-bottom: .6rem;
}

.experience-shelves {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
}

.experience-shelves .quiet-section-head {
  margin-bottom: .75rem;
}

.atlas-directory .atlas-mini-index {
  margin-top: 1rem;
}

.atlas-context-band {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2.25rem;
}

.atlas-context-band article {
  border-top: 2px solid var(--umni-line);
  padding-top: .85rem;
}

.atlas-context-band h3 {
  margin: 0 0 .35rem;
  font-family: Georgia, serif;
  letter-spacing: 0;
}

.atlas-context-band p {
  color: var(--umni-muted);
}

.short-prose {
  max-width: 74ch;
}

.section-link-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
  margin: 1.5rem 0 2rem;
  padding: 0;
  list-style: none;
}

.section-link-list a {
  display: grid;
  gap: .2rem;
  min-height: 96px;
  padding: .85rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  color: inherit;
  text-decoration: none;
}

.section-link-list strong {
  font-family: Georgia, serif;
  font-size: 1.12rem;
}

.section-link-list span {
  color: var(--umni-muted);
  font-size: .9rem;
  line-height: 1.4;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  margin-top: auto;
}

.tag-row span {
  padding: .18rem .45rem;
  border: 1px solid var(--umni-line);
  border-radius: 999px;
  color: var(--umni-muted);
  font-size: .76rem;
}

.intelligence-diagram {
  display: grid;
  grid-template-columns: minmax(220px, .38fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: stretch;
  margin: 2rem 0;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 76%, var(--umni-bg));
}

.intelligence-diagram-copy {
  align-self: center;
}

.intelligence-diagram h2,
.decision-panel-head h2,
.decision-path-head h2,
.idea-index h2 {
  margin: 0;
  font-family: Georgia, serif;
  letter-spacing: 0;
}

.intelligence-diagram h2 {
  font-size: 1.7rem;
  line-height: 1.05;
}

.intelligence-diagram p:not(.eyebrow),
.decision-panel-head p,
.decision-path-head p {
  color: var(--umni-muted);
  font-size: .95rem;
  line-height: 1.5;
}

.intelligence-diagram svg {
  display: block;
  width: 100%;
  min-height: 280px;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
}

.intel-bg {
  fill: color-mix(in srgb, var(--umni-wash) 88%, var(--umni-accent));
}

.intel-line {
  stroke: color-mix(in srgb, var(--umni-accent) 48%, var(--umni-line));
  stroke-width: 2;
}

.intel-bubble circle {
  fill: color-mix(in srgb, var(--umni-card) 86%, var(--umni-bg));
  stroke: color-mix(in srgb, var(--umni-accent) 54%, var(--umni-line));
  stroke-width: 2;
}

.intel-bubble text {
  fill: var(--umni-ink);
  font-family: Georgia, serif;
  font-size: 17px;
  font-weight: 800;
}

.intel-bubble .intel-bubble-sub {
  fill: var(--umni-muted);
  font-family: Inter, system-ui, sans-serif;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.decision-panel {
  margin: 2.25rem 0;
}

.decision-panel-head {
  max-width: 760px;
  margin-bottom: .9rem;
}

.decision-panel-head h2,
.decision-path-head h2,
.idea-index h2 {
  font-size: 2rem;
  line-height: 1.08;
}

.decision-answer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
  gap: .65rem;
}

.decision-answer-grid article {
  min-width: 0;
  padding: .85rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
}

.decision-answer-grid span,
.relationship-card span,
.idea-card span {
  display: block;
  color: var(--umni-accent-2);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.decision-answer-grid p {
  margin: .35rem 0 0;
  color: var(--umni-muted);
  font-size: .84rem;
  line-height: 1.42;
}

.relationship-strip {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: .65rem;
  margin-top: .8rem;
}

.relationship-card {
  min-width: 0;
  padding: .8rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 82%, var(--umni-bg));
}

.relationship-card strong {
  display: block;
  margin-top: .3rem;
  color: var(--umni-ink);
  font-family: Georgia, serif;
  font-size: 1rem;
  line-height: 1.18;
}

.relationship-card p {
  margin: .35rem 0 0;
  color: var(--umni-muted);
  font-size: .82rem;
  line-height: 1.38;
}

.signature-graphic-note {
  margin: .75rem 0 0;
  color: var(--umni-muted);
  font-size: .86rem;
}

.signature-graphic-note strong {
  color: var(--umni-ink);
}

.decision-path {
  display: grid;
  grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin: 2.25rem 0;
  padding: 1rem 0;
  border-top: 1px solid var(--umni-line);
  border-bottom: 1px solid var(--umni-line);
}

.decision-path-compact {
  margin: 1.5rem 0;
}

.decision-path ol {
  display: grid;
  gap: 1px;
  margin: 0;
  padding: 0;
  border: 1px solid var(--umni-line);
  background: var(--umni-line);
  list-style: none;
}

.decision-path li {
  display: grid;
  grid-template-columns: minmax(110px, .28fr) minmax(0, 1fr);
  gap: .7rem;
  padding: .72rem .85rem;
  background: var(--umni-bg);
}

.decision-path li strong {
  font-family: Georgia, serif;
  font-size: 1.02rem;
  line-height: 1.15;
}

.decision-path li span {
  color: var(--umni-muted);
  font-size: .88rem;
  line-height: 1.45;
}

.decision-path-links {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  grid-column: 2;
}

.decision-path-links a {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: .35rem .62rem;
  border: 1px solid var(--umni-line);
  border-radius: 999px;
  background: var(--umni-card);
  color: var(--umni-ink);
  font-size: .82rem;
  font-weight: 800;
  text-decoration: none;
}

.decision-path-links a:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-line));
}

.idea-index {
  margin: 2.25rem 0;
}

.idea-index-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: .75rem;
}

.idea-card {
  display: grid;
  align-content: start;
  min-height: 180px;
  padding: .9rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  color: inherit;
  text-decoration: none;
}

.idea-card:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-line));
}

.idea-card strong {
  margin-top: .4rem;
  font-family: Georgia, serif;
  font-size: 1.18rem;
  line-height: 1.1;
}

.idea-card p {
  margin: .45rem 0;
  color: var(--umni-muted);
  font-size: .86rem;
  line-height: 1.42;
}

.idea-card small {
  align-self: end;
  color: var(--umni-muted);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.taxonomy-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin: 2rem 0;
}

.taxonomy-grid article {
  padding: 1rem 0;
  border-top: 2px solid var(--umni-line);
}

.taxonomy-grid h3 {
  margin: 0 0 .4rem;
  font-family: Georgia, serif;
  letter-spacing: 0;
}

.taxonomy-grid p {
  margin: 0;
  color: var(--umni-muted);
  font-size: .94rem;
  line-height: 1.5;
}

.action-row {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 1.25rem 0;
}

.text-link-button {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 .85rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  color: var(--umni-ink);
  font-weight: 700;
  text-decoration: none;
}

.text-link-button:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-line));
}

.muted {
  color: var(--umni-muted);
}

.grid.cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
  gap: 1rem;
  margin: 1.5rem 0 2rem;
}
.card {
  display: block;
  min-height: 150px;
  padding: 1rem;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  color: inherit;
  text-decoration: none;
}
.card h2 {
  margin-top: 0;
  letter-spacing: 0;
}
.card p {
  color: var(--umni-muted);
}
.card:hover {
  border-color: color-mix(in srgb, var(--umni-accent) 45%, var(--umni-line));
}
.umni-map-wrap { margin: 1.5rem 0 2rem; border: 1px solid var(--umni-line); background: var(--umni-card); }
.umni-map {
  position: relative;
  container-type: inline-size;
  height: 620px;
  width: 100%;
  overflow: hidden;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--umni-line) 22%, transparent) 1px, transparent 1px),
    linear-gradient(color-mix(in srgb, var(--umni-line) 22%, transparent) 1px, transparent 1px),
    var(--umni-wash);
  background-size: 88px 88px;
}

@container (max-width: 620px) {
  .map-fallback {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(300px, 1fr) auto;
    overflow: hidden;
  }

  .map-fallback-copy {
    justify-content: start;
    max-height: 260px;
    overflow: auto;
    padding-right: .25rem;
  }

  .map-fallback-plot {
    order: -1;
    min-height: 300px;
  }

  .map-fallback h3 {
    font-size: 1.25rem;
  }

  .map-fallback-list {
    gap: .35rem;
  }
}
.umni-map-caption { font-size: 0.85rem; color: var(--umni-muted); padding: 0.75rem 1rem; border-top: 1px solid var(--umni-line); }

.maplibregl-map {
  position: relative;
  overflow: hidden;
  font: 12px/20px Inter, system-ui, sans-serif;
}

.umni-map .maplibregl-canvas-container,
.umni-map .maplibregl-control-container {
  position: relative;
  z-index: 1;
}

.maplibregl-canvas {
  position: absolute;
  inset: 0 auto auto 0;
}

.maplibregl-canvas-container.maplibregl-interactive {
  cursor: grab;
  user-select: none;
}

.maplibregl-canvas-container.maplibregl-interactive:active {
  cursor: grabbing;
}

.maplibregl-ctrl-top-left,
.maplibregl-ctrl-top-right,
.maplibregl-ctrl-bottom-left,
.maplibregl-ctrl-bottom-right {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.maplibregl-ctrl-top-left { top: 0; left: 0; }
.maplibregl-ctrl-top-right { top: 0; right: 0; }
.maplibregl-ctrl-bottom-left { bottom: 0; left: 0; }
.maplibregl-ctrl-bottom-right { right: 0; bottom: 0; }

.maplibregl-ctrl {
  clear: both;
  pointer-events: auto;
}

.maplibregl-ctrl-top-left .maplibregl-ctrl,
.maplibregl-ctrl-bottom-left .maplibregl-ctrl {
  float: left;
  margin: 10px 0 0 10px;
}

.maplibregl-ctrl-top-right .maplibregl-ctrl,
.maplibregl-ctrl-bottom-right .maplibregl-ctrl {
  float: right;
  margin: 10px 10px 0 0;
}

.maplibregl-ctrl-group button {
  display: block;
  width: 30px;
  height: 30px;
  padding: 0;
  border: 0;
  border-top: 1px solid var(--umni-line);
  background: transparent;
  cursor: pointer;
}

.maplibregl-ctrl-group button:first-child {
  border-top: 0;
}

.maplibregl-ctrl-icon {
  display: block;
  width: 100%;
  height: 100%;
  background-position: 50%;
  background-repeat: no-repeat;
}

.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon::before,
.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon::before {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: var(--umni-ink);
  font-size: 1.1rem;
  font-weight: 800;
}

.maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon::before { content: "+"; }
.maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon::before { content: "-"; }
.maplibregl-ctrl-compass { display: none !important; }

.popup h3 { margin: 0 0 .25rem; font-size: 1rem; }
.popup p { margin: .4rem 0; }
.popup .kind { color: var(--umni-muted); text-transform: uppercase; letter-spacing: .08em; font-size: .72rem; }
.note { padding: 1rem; border-left: 3px solid var(--umni-line); background: var(--umni-card); color: var(--umni-muted); }

table,
input,
select,
textarea,
button {
  color: var(--umni-ink);
}

select,
input,
textarea {
  border-color: var(--umni-line);
  background: var(--umni-card);
}

.maplibregl-popup-content {
  background: var(--umni-card);
  color: var(--umni-ink);
  border: 1px solid var(--umni-line);
  box-shadow: 0 12px 30px var(--umni-shadow);
  border-radius: 8px;
  font: 0.9rem/1.45 var(--sans-serif, Inter, system-ui, sans-serif);
}

.maplibregl-popup {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  display: flex;
  pointer-events: none;
  will-change: transform;
}

.maplibregl-popup-content {
  position: relative;
  pointer-events: auto;
}

.maplibregl-popup-tip {
  width: 0;
  height: 0;
  border: 10px solid transparent;
}

.maplibregl-popup-anchor-top,
.maplibregl-popup-anchor-top-left,
.maplibregl-popup-anchor-top-right {
  flex-direction: column;
}

.maplibregl-popup-anchor-bottom,
.maplibregl-popup-anchor-bottom-left,
.maplibregl-popup-anchor-bottom-right {
  flex-direction: column-reverse;
}

.maplibregl-popup-anchor-left {
  flex-direction: row;
}

.maplibregl-popup-anchor-right {
  flex-direction: row-reverse;
}

.maplibregl-popup-close-button {
  color: var(--umni-muted);
  font-size: 1.1rem;
  line-height: 1;
  padding: .35rem .45rem;
}

.maplibregl-ctrl-group {
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--umni-line) 82%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 92%, transparent);
  box-shadow: 0 10px 24px var(--umni-shadow);
  backdrop-filter: blur(12px);
}

.maplibregl-ctrl-group button {
  color: var(--umni-ink);
}

.maplibregl-ctrl-attrib {
  border-top-left-radius: 8px;
  background: color-mix(in srgb, var(--umni-card) 88%, transparent) !important;
  color: var(--umni-muted);
  font-size: .72rem;
  backdrop-filter: blur(10px);
}

.maplibregl-ctrl-attrib a {
  color: var(--umni-muted);
}

.maplibregl-popup-anchor-top .maplibregl-popup-tip,
.maplibregl-popup-anchor-top-left .maplibregl-popup-tip,
.maplibregl-popup-anchor-top-right .maplibregl-popup-tip {
  border-bottom-color: var(--umni-card);
}

.maplibregl-popup-anchor-bottom .maplibregl-popup-tip,
.maplibregl-popup-anchor-bottom-left .maplibregl-popup-tip,
.maplibregl-popup-anchor-bottom-right .maplibregl-popup-tip {
  border-top-color: var(--umni-card);
}

.maplibregl-popup-anchor-left .maplibregl-popup-tip {
  border-right-color: var(--umni-card);
}

.maplibregl-popup-anchor-right .maplibregl-popup-tip {
  border-left-color: var(--umni-card);
}

#castle-map,
#crab-map {
  position: relative;
  container-type: inline-size;
}

.map-fallback {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(220px, .8fr) minmax(0, 1.2fr);
  gap: 1rem;
  align-items: stretch;
  padding: 1rem;
  background: var(--umni-bg);
  pointer-events: none;
  opacity: 1;
  transition: opacity .28s ease;
}

.journey-map-fallback {
  position: absolute;
  inset: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  opacity: 1;
  transition: opacity .28s ease;
  pointer-events: none;
}

.umni-map.map-live .map-fallback,
.umni-map.map-live .journey-map-fallback {
  opacity: 0;
}

.umni-map.map-degraded .map-fallback,
.umni-map.map-degraded .journey-map-fallback {
  opacity: 1;
}

.map-fallback-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
}

.map-fallback h3 {
  margin: 0 0 .45rem;
  font-family: Georgia, serif;
  font-size: 1.55rem;
  letter-spacing: 0;
}

.map-fallback p {
  margin: 0 0 .8rem;
  color: var(--umni-muted);
  font-size: .95rem;
}

.map-fallback-list {
  display: grid;
  gap: .5rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.map-fallback-list li {
  display: grid;
  gap: .1rem;
  padding-bottom: .5rem;
  border-bottom: 1px solid var(--umni-line);
}

.map-fallback-list strong {
  font-size: .95rem;
}

.map-fallback-list span {
  color: var(--umni-muted);
  font-size: .82rem;
  line-height: 1.35;
}

.map-fallback-plot {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  min-height: 0;
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-wash);
}

.map-fallback-tiles {
  position: absolute;
  inset: 0;
  filter: saturate(.5) contrast(.98) brightness(.94);
}

.map-fallback-tile {
  position: absolute;
  width: 256px;
  height: 256px;
  max-width: none;
  user-select: none;
  -webkit-user-drag: none;
}

.map-fallback-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--umni-line) 18%, transparent) 1px, transparent 1px),
    linear-gradient(color-mix(in srgb, var(--umni-line) 18%, transparent) 1px, transparent 1px);
  background-size: 80px 80px;
}

.map-fallback-route {
  opacity: .72;
  filter: drop-shadow(0 1px 0 color-mix(in srgb, var(--umni-bg) 84%, transparent));
}

@container (max-width: 620px) {
  .map-fallback {
    grid-template-columns: 1fr;
    grid-template-rows: minmax(300px, 1fr) auto;
    overflow: hidden;
  }

  .map-fallback-copy {
    justify-content: start;
    max-height: 260px;
    overflow: auto;
    padding-right: .25rem;
  }

  .map-fallback-plot {
    order: -1;
    min-height: 300px;
  }

  .map-fallback h3 {
    font-size: 1.25rem;
  }

  .map-fallback-list {
    gap: .35rem;
  }
}

@media (prefers-color-scheme: dark) {
  .map-fallback-tiles {
    filter: saturate(.58) contrast(1.12) brightness(1.06);
  }
}

@media (max-width: 920px) {
  .editorial-hero,
  .nearby-pairings,
  .atlas-filter-console,
  .decision-path,
  .intelligence-diagram,
  .experience-browser {
    grid-template-columns: 1fr;
  }

  .editorial-hero h1 {
    font-size: clamp(3rem, 15vw, 5.5rem);
  }

  .editorial-hero-image img {
    min-height: 240px;
  }

  .season-selector-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .decision-path-links {
    grid-column: auto;
  }
}

@media (max-width: 620px) {
  .site-hero,
  .magazine-hero,
  .visual-spread,
  .editorial-two-up,
  .atlas-map-layout {
    grid-template-columns: 1fr;
  }

  .season-selector-grid {
    grid-template-columns: 1fr;
  }

  .atlas-map-svg,
  .atlas-map-panel-none .atlas-map-svg,
  .experience-browser .atlas-map-svg {
    min-height: 260px;
  }

  .compact-definition-band {
    grid-template-columns: 1fr;
  }

  .decision-path li {
    grid-template-columns: 1fr;
  }
}

@container (max-width: 900px) {
  .editorial-hero,
  .country-hub-hero,
  .country-editorial-question,
  .nearby-pairings,
  .atlas-filter-console {
    grid-template-columns: 1fr;
  }

  .editorial-hero h1,
  .country-hub h1 {
    max-width: 100%;
    font-size: clamp(2.7rem, 12cqw, 5rem);
    line-height: .94;
  }

  .editorial-hero-image img,
  .country-signature svg {
    min-height: 240px;
  }
}

.traveler-facts {
  margin: 2.5rem 0;
}

.traveler-facts-head {
  max-width: 760px;
  margin-bottom: 1rem;
}

.traveler-facts-head h2 {
  margin: 0 0 .4rem;
  font-family: Georgia, serif;
  font-size: 2.1rem;
  letter-spacing: 0;
}

.traveler-facts-head p {
  color: var(--umni-muted);
}

.facts-kicker {
  margin: 0 0 .35rem;
  color: var(--umni-accent-2);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.traveler-profile-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
}

.traveler-profile-card {
  border: 1px solid var(--umni-line);
  border-radius: 8px;
  background: var(--umni-card);
  padding: 1rem;
}

.traveler-profile-card h3 {
  margin: 0 0 .85rem;
  font-family: Georgia, serif;
  letter-spacing: 0;
}

.facts-grid {
  display: grid;
  gap: .65rem;
}

.fact-card {
  border-top: 1px solid var(--umni-line);
  padding-top: .65rem;
}

.fact-card strong,
.fact-card span {
  display: block;
}

.fact-card strong {
  font-size: .86rem;
}

.fact-card span {
  color: var(--umni-accent);
  font-weight: 700;
}

.fact-card p {
  margin: .2rem 0 0;
  color: var(--umni-muted);
  font-size: .92rem;
  line-height: 1.5;
}

@media (max-width: 760px) {
  .site-hero,
  .definition-band,
  .taxonomy-grid,
  .experience-browser,
  .atlas-map-layout,
  .intelligence-diagram,
  .decision-path {
    grid-template-columns: 1fr;
  }

  .site-hero h1 {
    font-size: 3.25rem;
  }

  .decision-answer-grid {
    grid-template-columns: 1fr;
  }

  .decision-path li {
    grid-template-columns: 1fr;
    gap: .25rem;
  }

  .decision-path-links {
    grid-column: 1;
  }

  .map-fallback {
    grid-template-columns: 1fr;
    overflow: auto;
  }
}

@media (max-width: 900px) {
  .compact-definition-band {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 520px) {
  .compact-definition-band {
    grid-template-columns: 1fr;
  }
}

@container (max-width: 760px) {
  .atlas-map-layout {
    grid-template-columns: 1fr;
  }

  .atlas-map-svg {
    min-height: 280px;
  }

  .atlas-map-panel-below .atlas-map-svg {
    min-height: 320px;
  }

  .atlas-map-panel-none .atlas-map-svg,
  .experience-browser .atlas-map-svg {
    min-height: 300px;
  }

  .visual-spread,
  .visual-spread.visual-spread-even,
  .visual-spread.visual-spread-single {
    grid-template-columns: 1fr;
  }

  .atlas-shelf-head h2,
  .atlas-map-head h2 {
    font-size: clamp(1.65rem, 8cqw, 2rem);
  }
}

@container (max-width: 980px) {
  .site-hero,
  .collection-hero,
  .ch-hero,
  .journey-hero,
  .crab-hero,
  .hero {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }

  .site-hero h1,
  .collection-hero h1,
  .ch-hero h1,
  .journey-hero h1,
  .crab-hero h1,
  .hero h1 {
    max-width: min(100%, 14ch) !important;
    font-size: clamp(2.8rem, 10cqw, 4.15rem) !important;
    line-height: .96 !important;
    overflow-wrap: normal;
    text-wrap: balance;
  }

  .site-hero p,
  .collection-hero p,
  .ch-hero p,
  .journey-hero p,
  .crab-hero p,
  .hero p {
    max-width: 68ch !important;
  }
}

@container (max-width: 560px) {
  .editorial-hero-meta {
    grid-template-columns: 1fr;
  }

  .site-hero h1,
  .collection-hero h1,
  .ch-hero h1,
  .journey-hero h1,
  .crab-hero h1,
  .hero h1 {
    max-width: 100% !important;
    font-size: clamp(2.35rem, 15cqw, 3.15rem) !important;
    line-height: 1 !important;
  }
}
