/* Generated by scripts/build_site.py. Do not edit this production bundle directly. */

/* ===== assets/css/style.css ===== */
:root {
  --paper: #f7f3e9;
  --paper-soft: #fbf8f0;
  --navy: #12365c;
  --navy-deep: #092a4b;
  --muted: #66717a;
  --line: #d8d0c0;
  --olive: #75824e;
  --blue-wash: #cfdee0;
  --display: "Hanken Grotesk", sans-serif;
  --serif: "Newsreader", "Times New Roman", serif;
  --mincho: "Shippori Mincho", "Yu Mincho", serif;
  --body: "Zen Kaku Gothic New", "Hanken Grotesk", system-ui, sans-serif;
  --meta: "Spline Sans Mono", ui-monospace, monospace;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--navy-deep); font-family: var(--body); font-size: 16px; font-weight: 400; line-height: 1.85; -webkit-font-smoothing: antialiased; font-feature-settings: "palt"; }
button, a { color: inherit; font: inherit; }
button { border-radius: 0; }
.page-shell { width: min(1440px, calc(100% - 56px)); margin-inline: auto; }
.country-page { overflow: clip; }

.hero { min-height: 610px; position: relative; background: var(--paper-soft); }
.site-header { height: 94px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 3; }
.brand { display: inline-flex; align-items: center; gap: 14px; color: var(--navy); font-family: var(--display); font-size: 18px; font-weight: 700; letter-spacing: .25em; text-decoration: none; }
.brand-compass { width: 44px; height: 44px; display: grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font-size: 27px; font-weight: 300; }
.utility-nav { display: flex; gap: 22px; }
.utility-nav button { min-width: 56px; padding: 5px; border: 0; background: transparent; cursor: pointer; font-family: var(--body); }
.utility-nav button > span { display: block; font-size: 27px; line-height: 1; }
.utility-nav small { display: block; margin-top: 5px; font-size: 12px; font-weight: 400; letter-spacing: .08em; }

.hero-art { position: absolute; inset: 0 0 0 25%; background: linear-gradient(145deg, #d9e5e4, #8fa6a0 48%, #7c8862); }
.hero-art::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 36%; background: linear-gradient(90deg, var(--paper-soft), rgba(251,248,240,.94) 30%, transparent); }
.media-slot { overflow: hidden; background-position: center; background-size: cover; }
.hero-art.has-image { background-position: 55% center; }
.media-slot.has-image > span { display: none; }
.art-placeholder { height: 100%; display: grid; place-content: center; gap: 3px; position: relative; z-index: 1; color: rgba(9,42,75,.64); text-align: center; }
.art-placeholder span { font-family: var(--meta); font-size: 12px; font-weight: 500; letter-spacing: .18em; }
.art-placeholder small { font-size: 12px; }
.hero-copy { height: 516px; padding-top: 42px; position: relative; z-index: 2; pointer-events: none; }
.region { margin: 0 0 17px; font-family: var(--meta); font-size: 12px; font-weight: 500; letter-spacing: .18em; }
.hero h1 { margin: 0; font: 700 clamp(72px, 7vw, 100px)/1 var(--display); letter-spacing: .14em; }
.country-ja { margin: 18px 0 0; font: 500 26px/1.5 var(--body); letter-spacing: 0; }
.hero-lead { width: 320px; margin: 28px 0 0; white-space: pre-line; font: 400 18px/1.9 var(--mincho); letter-spacing: .02em; }

.atlas-body { margin-top: -2px; position: relative; z-index: 2; }
.atlas-panel { display: grid; grid-template-columns: 1.05fr 1fr; border: 1px solid var(--line); border-radius: 16px; background: rgba(251,248,240,.97); box-shadow: 0 12px 45px rgba(38,52,55,.07); }
.map-column, .scenes-column { padding: 28px; }
.map-column { border-right: 1px solid var(--line); }
.panel-title, .scenes-heading h2, .info-section h2, .journey-footer h2 { margin: 0; color: var(--navy); font: 600 23px/1.55 var(--body); letter-spacing: .02em; }
.panel-title span { margin-right: 8px; font-size: 11px; }
.map-frame { margin-top: 18px; }
.map-art { aspect-ratio: 1186 / 841; position: relative; overflow: hidden; border: 1px solid #e2dccc; background: #e7efec; }
.map-art::before, .map-art::after { content: ""; position: absolute; border-radius: 50%; background: rgba(117,130,78,.12); filter: blur(20px); }
.map-art::before { width: 38%; height: 36%; left: 12%; top: 18%; }
.map-art::after { width: 47%; height: 32%; right: 6%; bottom: 12%; }
.map-base { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: contain; }
.map-grid { position: absolute; inset: 0; opacity: .22; background-image: linear-gradient(rgba(18,54,92,.1) 1px, transparent 1px), linear-gradient(90deg, rgba(18,54,92,.1) 1px, transparent 1px); background-size: 12.5% 20%; }
.map-placeholder { position: absolute; inset: 0; display: grid; place-content: center; gap: 4px; color: rgba(18,54,92,.45); text-align: center; }
.map-placeholder b { font-family: var(--meta); font-size: 12px; letter-spacing: .2em; }
.map-placeholder span { font-size: 12px; }
.map-markers { position: absolute; inset: 0; }
.map-marker { position: absolute; padding: 0; border: 0; background: transparent; transform: translate(-50%, -50%); cursor: pointer; z-index: 2; }
.map-marker b { width: 24px; height: 24px; display: grid; place-items: center; border: 2px solid var(--paper-soft); border-radius: 50%; background: var(--navy); color: white; box-shadow: 0 2px 5px rgba(9,42,75,.25); font-family: var(--meta); font-size: 11px; transition: .2s ease; }
.map-marker span { position: absolute; top: 25px; left: 50%; width: max-content; max-width: 110px; padding: 1px 4px; transform: translateX(-50%); background: rgba(247,243,233,.84); color: var(--navy-deep); font-family: var(--meta); font-size: 11px; font-weight: 500; white-space: nowrap; }
.map-marker:hover b, .map-marker:focus-visible b, .map-marker.is-active b { outline: none; background: #a86545; transform: scale(1.2); }
.map-marker:focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }
.map-disclaimer { margin: 8px 0 0; color: var(--muted); font-size: 12px; line-height: 1.7; }
.map-disclaimer + .map-disclaimer { margin-top: 2px; font-size: 10px; }

.encounter-strip { margin-top: 18px; padding-top: 14px; border-top: 1px solid var(--line); }
.encounter-strip h3 { margin: 0 0 13px; font: 500 16px/1.6 var(--body); letter-spacing: .02em; }
.encounter-list { display: grid; grid-template-columns: repeat(8, 1fr); }
.encounter-list article { text-align: center; }
.encounter-list span { height: 33px; display: grid; place-items: center; font: 400 26px/1 var(--body); }
.encounter-list b { display: block; margin-top: 5px; font-size: 12px; font-weight: 400; white-space: nowrap; }

.scenes-heading { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; }
.scenes-heading b { font-family: var(--meta); font-size: 20px; }
.scenes-heading p { margin: 0; color: var(--muted); font-size: 12px; }
.scene-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.scene-card { min-height: 153px; display: grid; grid-template-columns: 35% 65%; border: 1px solid var(--line); border-radius: 11px; overflow: hidden; background: var(--paper-soft); cursor: pointer; outline: none; transition: .2s ease; }
.scene-card:hover, .scene-card:focus-visible, .scene-card.is-active { border-color: #a86545; box-shadow: 0 7px 20px rgba(70,66,52,.11); transform: translateY(-2px); }
.scene-image { min-height: 100%; display: grid; place-items: center; position: relative; background: linear-gradient(150deg, #d7e2dc, #799397); }
.scene-card:nth-child(3n + 2) .scene-image { background: linear-gradient(150deg, #d8d6c6, #8e886b); }
.scene-card:nth-child(3n) .scene-image { background: linear-gradient(150deg, #dae5ec, #7493a8); }
.scene-image > b { width: 24px; height: 24px; display: grid; place-items: center; position: absolute; left: 7px; top: 7px; border-radius: 50%; background: var(--navy); color: white; font-family: var(--meta); font-size: 12px; }
.scene-placeholder { color: rgba(255,255,255,.78); font-family: var(--meta); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-align: center; }
.scene-placeholder small { display: block; margin-top: 4px; font-family: var(--body); font-size: 11px; letter-spacing: 0; }
.scene-copy { display: grid; grid-template-columns: 22px 1fr; gap: 5px; padding: 12px 10px; }
.scene-copy > div { min-width: 0; }
.scene-copy > strong { color: var(--navy); font-family: var(--meta); font-size: 20px; line-height: 1.2; }
.scene-copy h3 { margin: 0; font: 400 15px/1.55 var(--body); word-break: keep-all; overflow-wrap: anywhere; text-wrap: balance; }
.scene-copy small { display: block; margin-top: 2px; color: var(--muted); font-family: var(--meta); font-size: 11px; line-height: 1.5; }
.scene-copy p { margin: 9px 0 0; font-size: 13px; line-height: 1.75; }

.travel-grid { display: grid; grid-template-columns: 1.25fr .9fr .86fr 1.08fr; margin-top: 12px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-soft); }
.info-section { padding: 25px 22px; border-right: 1px solid var(--line); }
.info-section:last-child { border-right: 0; }
.section-label { margin: 2px 0 6px; font-family: var(--meta); font-size: 11px; font-weight: 500; }
.season-list article { min-height: 58px; display: grid; grid-template-columns: 38px 52px 1fr; align-items: center; border-top: 1px solid #e5dfd2; }
.season-symbol { width: 32px; height: 32px; display: grid; place-items: center; background: color-mix(in srgb, var(--season-color) 20%, white); color: var(--season-color); font-size: 19px; }
.season-list b { font-family: var(--meta); font-size: 12px; }
.season-list p { margin: 0; font-size: 14px; line-height: 1.7; }
.transport { display: grid; grid-template-columns: 37px 1fr auto; gap: 8px; align-items: center; margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--line); }
.transport > span { font-size: 25px; }
.transport small { font-family: var(--meta); font-size: 11px; }
.transport h3 { margin: 0; font: 600 15px/1.4 var(--display); letter-spacing: .06em; }
.transport p { margin: 4px 0 0; font-size: 14px; line-height: 1.7; }
.transport > b { width: 58px; height: 58px; display: grid; place-content: center; border: 1px solid var(--navy); border-radius: 50%; font: 500 18px/1.2 var(--meta); text-align: center; }
.transport > b small { display: block; }

.persona-list article, .tip-list article { display: grid; grid-template-columns: 34px 1fr; gap: 9px; margin-top: 14px; }
.persona-list span, .tip-list span { font: 400 25px/1 var(--body); }
.persona-list h3, .tip-list h3 { margin: 0; font-size: 15px; font-weight: 500; line-height: 1.55; }
.persona-list p, .tip-list p { margin: 3px 0 0; color: #3e4950; font-size: 14px; line-height: 1.7; }
.fact-list { display: grid; gap: 8px; margin: 14px 0 0; }
.fact-list > div { min-height: 52px; display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 8px; padding: 8px; border: 1px solid #e5dfd2; border-radius: 8px; }
.fact-list > div > span { font: 400 22px/1 var(--body); }
.fact-list dt { color: var(--muted); font-family: var(--meta); font-size: 11px; }
.fact-list dd { margin: 2px 0 0; font-size: 14px; font-weight: 500; line-height: 1.6; }

.journey-footer { display: grid; grid-template-columns: 3fr 1fr; gap: 13px; margin-top: 12px; }
.related-wrap, .wish-wrap { padding: 16px 20px; border-radius: 13px; background: rgba(251,248,240,.82); }
.related-wrap h2 { margin-bottom: 10px; font-size: 19px; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.related-image { aspect-ratio: 2.35; padding: 13px; position: relative; border-radius: 9px; background: linear-gradient(140deg, #c7d9df, #7794a3); }
.related-card:nth-child(2) .related-image { background: linear-gradient(140deg, #d7dfdc, #798d83); }
.related-card:nth-child(3) .related-image { background: linear-gradient(140deg, #dbd2bd, #a78364); }
.related-image > span { position: absolute; right: 9px; bottom: 7px; color: rgba(255,255,255,.7); font-family: var(--meta); font-size: 11px; letter-spacing: .1em; }
.related-image > div { position: relative; z-index: 1; text-shadow: 0 1px 10px rgba(255,255,255,.9); }
.related-image h3 { margin: 0; font: 600 16px/1.4 var(--display); letter-spacing: .07em; }
.related-image b { font-size: 14px; font-weight: 500; }
.related-image p { margin: 4px 0 0; font-size: 13px; }
.wish-wrap { display: grid; place-items: stretch; padding: 0; background: var(--olive); color: white; }
.wish-button { width: 100%; padding: 18px; border: 0; background: transparent; color: white; cursor: pointer; }
.wish-icon { display: block; font-size: 38px; line-height: 1; }
.wish-button strong { display: block; margin-top: 4px; font: 500 19px/1.6 var(--mincho); }
.wish-button small { display: block; margin-top: 5px; font-size: 12px; }
.wish-button:hover, .wish-button:focus-visible, .wish-button.is-saved { outline: 2px solid var(--navy); outline-offset: -5px; background: #647242; }
.wish-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

.site-footer { min-height: 150px; margin-top: 42px; display: flex; align-items: center; justify-content: space-between; border-top: 1px solid var(--line); }
.brand--footer { font-size: 14px; }
.brand--footer .brand-compass { width: 32px; height: 32px; font-size: 19px; }
.site-footer small { color: var(--muted); font-family: var(--meta); font-size: 11px; }
.loading, .error { min-height: 75vh; display: grid; place-content: center; text-align: center; font-family: var(--body); }

@media (max-width: 1100px) {
  .hero-art { left: 18%; }
  .atlas-panel { grid-template-columns: 1fr; }
  .map-column { border-right: 0; border-bottom: 1px solid var(--line); }
  .map-art { aspect-ratio: 1186 / 841; }
  .travel-grid { grid-template-columns: 1fr 1fr; }
  .info-section:nth-child(2) { border-right: 0; }
  .info-section:nth-child(-n + 2) { border-bottom: 1px solid var(--line); }
}

@media (max-width: 700px) {
  .page-shell { width: calc(100% - 24px); }
  .hero { min-height: 650px; }
  .site-header { height: 76px; }
  .brand { gap: 9px; font-size: 14px; }
  .brand-compass { width: 34px; height: 34px; font-size: 20px; }
  .utility-nav { gap: 3px; }
  .utility-nav button { min-width: 42px; }
  .utility-nav button > span { font-size: 20px; }
  .utility-nav small { font-size: 11px; }
  .hero-art { inset: 246px 0 0; }
  .hero-art.has-image { background-position: center; }
  .hero-art::after { inset: 0 0 auto; width: 100%; height: 38%; background: linear-gradient(var(--paper-soft), transparent); }
  .hero-copy { height: auto; padding-top: 34px; }
  .hero h1 { font-size: clamp(45px, 14vw, 68px); }
  .country-ja { margin-top: 10px; font-size: 22px; }
  .hero-lead { width: 100%; margin-top: 17px; font-size: 16px; }
  .atlas-body { margin-top: 12px; }
  .map-column, .scenes-column { padding: 17px; }
  .map-art { aspect-ratio: 1186 / 841; }
  .map-marker span { display: none; }
  .encounter-list { grid-template-columns: repeat(4, 1fr); gap: 14px 0; }
  .scene-grid { grid-template-columns: 1fr; }
  .scene-card { min-height: 142px; }
  .scenes-heading { align-items: flex-start; }
  .scenes-heading p { max-width: 100px; text-align: right; }
  .travel-grid { grid-template-columns: 1fr; }
  .info-section { border-right: 0; border-bottom: 1px solid var(--line); }
  .info-section:last-child { border-bottom: 0; }
  .journey-footer { grid-template-columns: 1fr; }
  .related-grid { grid-template-columns: 1fr; }
  .related-image { aspect-ratio: 2.2; }
  .wish-wrap { min-height: 180px; }
  .site-footer { min-height: 120px; margin-top: 25px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}


/* ===== assets/css/atlas-overrides.css ===== */
/* JOURNEY ATLAS visual refinements — 2026-08-22 */

/* Wordmark: the atlas name stands alone without a leading symbol. */
.brand { gap: 0; }

/* Favor a bright, inviting illustrated-atlas mood over a dark photographic one. */
.hero-art.has-image { background-position: 58% center; }
.hero-art.has-image::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,249,235,.04) 55%, rgba(255,245,220,.08));
  pointer-events: none;
}
.hero-art::after {
  width: 38%;
  background: linear-gradient(90deg, var(--paper-soft), rgba(251,248,240,.9) 32%, rgba(251,248,240,.2) 72%, transparent);
}

/* The illustrated map is a visual destination in its own right. */
.map-art {
  background: #e9f0e8;
  border-color: #d6d0c1;
  box-shadow: inset 0 0 35px rgba(74,95,78,.06);
}
.map-base { object-fit: cover; }
.map-art.has-map .map-base { opacity: .98; }

/* Related countries: compact editorial references, not image cards. */
.related-wrap { padding-top: 14px; padding-bottom: 14px; }
.related-grid { gap: 10px; }
.related-card { min-width: 0; }
.related-country {
  min-height: 82px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: rgba(255,255,255,.32);
}
.related-flag { font-size: 27px; line-height: 1; }
.related-copy { min-width: 0; }
.related-copy h3 {
  margin: 0;
  font: 600 13px/1.35 var(--display);
  letter-spacing: .05em;
}
.related-copy b {
  display: block;
  margin-top: 1px;
  font-size: 12px;
  font-weight: 500;
}
.related-copy p {
  margin: 4px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
}

/* Keep temporary symbol icons quiet until the final line-icon set is installed. */
.encounter-list span,
.persona-list span,
.tip-list span,
.fact-list > div > span,
.season-symbol,
.transport > span { opacity: .68; }

@media (max-width: 700px) {
  .related-grid { grid-template-columns: 1fr; gap: 7px; }
  .related-country { min-height: 72px; grid-template-columns: 38px 1fr; padding: 9px 10px; }
  .related-flag { font-size: 24px; }
  .related-copy h3 { font-size: 12px; letter-spacing: .03em; }
  .related-copy b, .related-copy p { font-size: 11px; }
}


/* ===== assets/css/country-fixes.css ===== */
.utility-nav a{
  min-width:56px;
  padding:5px;
  display:block;
  border:0;
  background:transparent;
  color:inherit;
  cursor:pointer;
  font-family:var(--body);
  text-align:center;
  text-decoration:none;
}
.utility-nav a>span{
  display:block;
  font-size:27px;
  line-height:1;
}
.utility-nav a:hover{opacity:.68}
.utility-nav a:focus-visible{
  outline:2px solid var(--navy);
  outline-offset:4px;
}

/* 2026-08-23: Iceland reference-page visual polish */
:root{
  --icon-home:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%2011.5%2012%204l9%207.5%22%2F%3E%3Cpath%20d%3D%22M5.5%2010.5V20h13v-9.5%22%2F%3E%3Cpath%20d%3D%22M9.5%2020v-6h5v6%22%2F%3E%3C%2Fsvg%3E");
  --icon-globe:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M3.8%2012h16.4M12%203.5c2.1%202.4%203.2%205.2%203.2%208.5S14.1%2018.1%2012%2020.5M12%203.5C9.9%205.9%208.8%208.7%208.8%2012s1.1%206.1%203.2%208.5%22%2F%3E%3C%2Fsvg%3E");
  --icon-sparkle:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203.2%2013.6%208l4.8%201.6-4.8%201.6L12%2016l-1.6-4.8L5.6%209.6%2010.4%208%2012%203.2Z%22%2F%3E%3Cpath%20d%3D%22m18.5%2015%20.7%202.1%202.1.7-2.1.7-.7%202.1-.7-2.1-2.1-.7%202.1-.7.7-2.1Z%22%2F%3E%3C%2Fsvg%3E");
  --icon-map:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.5%206.5%205-2%207%202.3%205-2v13l-5%202-7-2.3-5%202v-13Z%22%2F%3E%3Cpath%20d%3D%22M8.5%204.5v13M15.5%206.8v13%22%2F%3E%3C%2Fsvg%3E");
  --icon-mountain:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22m3.5%2018.5%206-9%203.5%205%202.5-3.5%205%207.5h-17Z%22%2F%3E%3Cpath%20d%3D%22m8.2%2011.4%201.3-1.9%201.2%201.8%22%2F%3E%3C%2Fsvg%3E");
  --icon-snow:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%203v18M4.2%207.5l15.6%209M4.2%2016.5l15.6-9%22%2F%3E%3Cpath%20d%3D%22m12%203-1.5%201.5M12%203l1.5%201.5M12%2021l-1.5-1.5M12%2021l1.5-1.5%22%2F%3E%3C%2Fsvg%3E");
  --icon-waterfall:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7%204v7c0%203%201.2%205%203.5%206.5%22%2F%3E%3Cpath%20d%3D%22M12%204v8.5c0%202.5.9%204.3%202.7%205.5%22%2F%3E%3Cpath%20d%3D%22M17%204v6.5c0%202.8-.8%205-2.4%206.7%22%2F%3E%3Cpath%20d%3D%22M5%2020c2-1%204-1%206%200s4%201%208%200%22%2F%3E%3C%2Fsvg%3E");
  --icon-waves:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%209c2-1.8%204-1.8%206%200s4%201.8%206%200%204-1.8%206%200%22%2F%3E%3Cpath%20d%3D%22M3%2014c2-1.8%204-1.8%206%200s4%201.8%206%200%204-1.8%206%200%22%2F%3E%3Cpath%20d%3D%22M3%2019c2-1.8%204-1.8%206%200s4%201.8%206%200%204-1.8%206%200%22%2F%3E%3C%2Fsvg%3E");
  --icon-steam:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8%2018c-2-2-1.5-3.7.4-5.1%202-1.4%202.2-3%20.6-4.9%22%2F%3E%3Cpath%20d%3D%22M13%2018c-2-2-1.5-3.7.4-5.1%202-1.4%202.2-3%20.6-4.9%22%2F%3E%3Cpath%20d%3D%22M18%2018c-2-2-1.5-3.7.4-5.1%202-1.4%202.2-3%20.6-4.9%22%2F%3E%3C%2Fsvg%3E");
  --icon-hotspring:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2017c2-1.5%204-1.5%206%200s4%201.5%206%200%203-1.5%204-1%22%2F%3E%3Cpath%20d%3D%22M7.5%2013c-1.5-1.6-1.1-3%20.4-4.1%201.4-1%201.6-2.4.5-3.9M13.5%2013c-1.5-1.6-1.1-3%20.4-4.1%201.4-1%201.6-2.4.5-3.9%22%2F%3E%3C%2Fsvg%3E");
  --icon-aurora:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%2017c2.5-6.5%205.5-8.7%208-6.5%202.2%201.9%204.7.9%208-3.5%22%2F%3E%3Cpath%20d%3D%22M5.5%2020c2.5-4.6%205.1-5.9%207.8-3.8%202%201.6%204.2%201.2%206.7-1.2%22%2F%3E%3Cpath%20d%3D%22m6%205%20.6%201.7L8.3%207.3l-1.7.6L6%209.6l-.6-1.7-1.7-.6%201.7-.6L6%205Z%22%2F%3E%3C%2Fsvg%3E");
  --icon-road:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M8.5%2021%2011%203M15.5%2021%2013%203%22%2F%3E%3Cpath%20d%3D%22M12%2018v-2M12%2013v-2M12%208V6%22%2F%3E%3C%2Fsvg%3E");
  --icon-sun:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%223.5%22%2F%3E%3Cpath%20d%3D%22M12%202.5v3M12%2018.5v3M2.5%2012h3M18.5%2012h3M5.3%205.3l2.1%202.1M16.6%2016.6l2.1%202.1M18.7%205.3l-2.1%202.1M7.4%2016.6l-2.1%202.1%22%2F%3E%3C%2Fsvg%3E");
  --icon-leaf:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M19.5%204.5C12%204.8%206.5%208.2%205%2014.5c-.5%202.1.7%204.4%203%204.8%205%20.8%209.2-4.6%2011.5-14.8Z%22%2F%3E%3Cpath%20d%3D%22M5.5%2019c2.5-4%206.1-7.1%2010.5-9.2%22%2F%3E%3C%2Fsvg%3E");
  --icon-camera:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%208.5h3l1.5-2h7l1.5%202h3v10H4v-10Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2213.5%22%20r%3D%223.2%22%2F%3E%3C%2Fsvg%3E");
  --icon-pin:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s6-5.2%206-11a6%206%200%201%200-12%200c0%205.8%206%2011%206%2011Z%22%2F%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2210%22%20r%3D%222%22%2F%3E%3C%2Fsvg%3E");
  --icon-users:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%229%22%20cy%3D%228%22%20r%3D%222.5%22%2F%3E%3Ccircle%20cx%3D%2216.5%22%20cy%3D%229%22%20r%3D%222%22%2F%3E%3Cpath%20d%3D%22M4.5%2018c.7-3%202.5-4.7%205-4.7s4.3%201.7%205%204.7M14%2014c2.7-.3%204.6%201.1%205.5%203.7%22%2F%3E%3C%2Fsvg%3E");
  --icon-chat:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4%205h16v11H9l-4.5%203v-3H4V5Z%22%2F%3E%3Cpath%20d%3D%22M8%209h8M8%2012h5%22%2F%3E%3C%2Fsvg%3E");
  --icon-coin:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228%22%2F%3E%3Cpath%20d%3D%22M14.5%208.5c-.6-.5-1.4-.8-2.4-.8-1.4%200-2.5.7-2.5%201.8%200%202.8%205.3%201.6%205.3%204.6%200%201.2-1.1%202.1-2.8%202.1-1.1%200-2.1-.3-2.8-.9M12%206.5v11%22%2F%3E%3C%2Fsvg%3E");
  --icon-info:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%2312365c%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%2212%22%20r%3D%228.5%22%2F%3E%3Cpath%20d%3D%22M12%2010.5v6M12%207.5h.01%22%2F%3E%3C%2Fsvg%3E");
}

.utility-nav a>span,
.encounter-list span,
.season-symbol,
.transport>span,
.persona-list span,
.tip-list span,
.fact-list>div>span{
  font-size:0!important;
  background-repeat:no-repeat;
  background-position:center;
  background-size:22px 22px;
}
.utility-nav a>span{height:28px;background-size:24px 24px}
.utility-nav a:nth-child(1)>span{background-image:var(--icon-home)}
.utility-nav a:nth-child(2)>span{background-image:var(--icon-globe)}
.utility-nav a:nth-child(3)>span{background-image:var(--icon-sparkle)}
.panel-title>span{font-size:0;display:inline-block;width:22px;height:22px;margin-right:7px;vertical-align:-4px;background:var(--icon-map) center/20px 20px no-repeat}
.encounter-list span{width:34px;height:34px;margin:0 auto}
.encounter-list article:nth-child(1) span{background-image:var(--icon-mountain)}
.encounter-list article:nth-child(2) span{background-image:var(--icon-snow)}
.encounter-list article:nth-child(3) span{background-image:var(--icon-waterfall)}
.encounter-list article:nth-child(4) span{background-image:var(--icon-waves)}
.encounter-list article:nth-child(5) span{background-image:var(--icon-steam)}
.encounter-list article:nth-child(6) span{background-image:var(--icon-hotspring)}
.encounter-list article:nth-child(7) span{background-image:var(--icon-aurora)}
.encounter-list article:nth-child(8) span{background-image:var(--icon-road)}
.season-symbol{border-radius:50%;background-color:color-mix(in srgb,var(--season-color) 12%,white);background-size:19px 19px}
.season-list article:nth-child(1) .season-symbol{background-image:var(--icon-sun)}
.season-list article:nth-child(2) .season-symbol{background-image:var(--icon-leaf)}
.season-list article:nth-child(3) .season-symbol{background-image:var(--icon-snow)}
.season-list article:nth-child(4) .season-symbol{background-image:var(--icon-leaf)}
.transport>span{width:32px;height:32px;background-image:var(--icon-road)}
.persona-list span,.tip-list span,.fact-list>div>span{width:28px;height:28px;background-size:21px 21px}
.persona-list article:nth-child(1) span{background-image:var(--icon-mountain)}
.persona-list article:nth-child(2) span{background-image:var(--icon-road)}
.persona-list article:nth-child(3) span{background-image:var(--icon-camera)}
.persona-list article:nth-child(4) span{background-image:var(--icon-mountain)}
.persona-list article:nth-child(5) span{background-image:var(--icon-leaf)}
.fact-list>div:nth-child(1)>span{background-image:var(--icon-globe)}
.fact-list>div:nth-child(2)>span{background-image:var(--icon-pin)}
.fact-list>div:nth-child(3)>span{background-image:var(--icon-users)}
.fact-list>div:nth-child(4)>span{background-image:var(--icon-chat)}
.fact-list>div:nth-child(5)>span{background-image:var(--icon-coin)}
.tip-list article:nth-child(1) span{background-image:var(--icon-sun)}
.tip-list article:nth-child(2) span{background-image:var(--icon-road)}
.tip-list article:nth-child(3) span{background-image:var(--icon-mountain)}
.scene-card{
  min-height:0;
  grid-template-columns:minmax(118px,42%) minmax(0,1fr);
  gap:12px;
  padding:10px;
  align-items:center;
  overflow:visible;
}
.scene-image{
  width:100%;
  min-height:0!important;
  aspect-ratio:16/10;
  align-self:center;
  overflow:hidden;
  border-radius:8px;
  background-size:cover;
  background-position:center;
}
.scene-copy{padding:2px 4px 2px 0;grid-template-columns:20px 1fr;gap:5px}
.scene-copy>strong{font-size:18px}
.scene-copy h3{font-size:14px;line-height:1.5}
.scene-copy p{margin-top:7px;font-size:12px;line-height:1.65}
.scene-image>b{left:6px;top:6px}
@media(max-width:1100px){
  .scene-card{grid-template-columns:minmax(150px,36%) minmax(0,1fr)}
}
@media(max-width:700px){
  .scene-card{grid-template-columns:132px minmax(0,1fr);gap:10px;padding:9px}
  .scene-image{aspect-ratio:16/10}
  .scene-copy p{font-size:12px}
  .encounter-list{grid-template-columns:repeat(4,1fr);row-gap:12px}
}
@media(max-width:480px){
  .scene-card{grid-template-columns:112px minmax(0,1fr)}
  .scene-copy>strong{display:none}
  .scene-copy{grid-template-columns:1fr}
}


/* ===== assets/css/country-layout-final.css ===== */
/* JOURNEY ATLAS country-page final layout refinements — 2026-08-24 */

/* Give the hero a clean visual ending before the atlas panels begin. */
.atlas-body{
  margin-top:24px!important;
}

/*
  The map and scene list are independent editorial panels.
  This prevents the shorter map column from inheriting the full height of the scene list.
*/
.atlas-panel{
  display:grid!important;
  grid-template-columns:minmax(360px,.92fr) minmax(0,1.18fr)!important;
  gap:14px!important;
  align-items:start!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

.map-column,
.scenes-column{
  align-self:start!important;
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:rgba(251,248,240,.97)!important;
  box-shadow:0 8px 28px rgba(38,52,55,.055)!important;
}

.map-column{
  position:sticky;
  top:18px;
  border-right:1px solid var(--line)!important;
}

.scenes-column{
  padding:22px!important;
}

.scenes-heading{
  margin-bottom:12px!important;
}

/*
  Two compact scene cards per row on wide screens.
  Each card reads vertically: title -> image -> copy.
  Production scene art is presented at the locked 16:10 ratio.
*/
.scene-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:12px!important;
  align-items:start!important;
  grid-auto-rows:max-content!important;
}

.scene-card{
  min-height:0!important;
  height:auto!important;
  display:grid!important;
  grid-template-columns:30px minmax(0,1fr)!important;
  grid-template-areas:
    "number name"
    "number local"
    "image image"
    "description description"!important;
  column-gap:8px!important;
  row-gap:0!important;
  align-items:start!important;
  padding:10px!important;
  overflow:hidden!important;
}

.scene-image{
  grid-area:image;
  width:100%!important;
  min-height:0!important;
  height:auto!important;
  aspect-ratio:16 / 10!important;
  margin-top:8px!important;
  align-self:start!important;
  border-radius:8px!important;
  overflow:hidden!important;
  background-size:cover!important;
  background-position:center!important;
}

.scene-image>b{
  display:none!important;
}

.scene-copy,
.scene-copy>div{
  display:contents!important;
}

.scene-copy>strong{
  grid-area:number;
  margin:0!important;
  color:var(--navy);
  font-size:18px!important;
  line-height:1.35!important;
  align-self:start;
}

.scene-copy h3{
  grid-area:name;
  margin:0!important;
  font-size:14.5px!important;
  line-height:1.45!important;
  word-break:normal!important;
  overflow-wrap:anywhere!important;
}

.scene-copy small{
  grid-area:local;
  display:block!important;
  margin:1px 0 0!important;
  color:var(--muted)!important;
  font-size:10.5px!important;
  line-height:1.35!important;
}

.scene-copy p{
  grid-area:description;
  margin:8px 1px 1px!important;
  max-width:none!important;
  font-size:12.5px!important;
  line-height:1.65!important;
}

@media(max-width:1180px){
  .atlas-panel{
    grid-template-columns:minmax(330px,.88fr) minmax(0,1.12fr)!important;
  }
  .scene-grid{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:900px){
  .atlas-body{
    margin-top:18px!important;
  }
  .atlas-panel{
    grid-template-columns:1fr!important;
  }
  .map-column{
    position:static;
  }
  .scene-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media(max-width:650px){
  .atlas-body{
    margin-top:14px!important;
  }
  .scenes-column{
    padding:17px!important;
  }
  .scene-grid{
    grid-template-columns:1fr!important;
  }
  .scene-card{
    grid-template-columns:26px minmax(0,1fr)!important;
    padding:9px!important;
  }
  .scene-image{
    aspect-ratio:16 / 10!important;
  }
  .scene-copy>strong{
    font-size:18px!important;
  }
  .scene-copy h3{
    font-size:14px!important;
  }
  .scene-copy p{
    font-size:12.5px!important;
  }
}


/* ===== assets/css/country-atlas-depth.css ===== */
/* JOURNEY ATLAS — thematic depth + map label refinement */

/* Map labels: keep the numbered pin as the anchor and let labels escape around it. */
.map-marker span{
  width:max-content!important;
  max-width:132px!important;
  padding:2px 5px!important;
  border:1px solid rgba(216,208,192,.72)!important;
  border-radius:3px!important;
  background:rgba(251,248,240,.94)!important;
  box-shadow:0 1px 4px rgba(9,42,75,.06)!important;
  font-size:10px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}
.map-marker[data-label-position="right"] span{
  left:30px!important;
  right:auto!important;
  top:1px!important;
  transform:none!important;
}
.map-marker[data-label-position="left"] span{
  left:auto!important;
  right:30px!important;
  top:1px!important;
  transform:none!important;
}
.map-marker[data-label-position="above"] span{
  left:50%!important;
  top:auto!important;
  bottom:30px!important;
  transform:translateX(-50%)!important;
}
.map-marker[data-label-position="below"] span{
  left:50%!important;
  top:30px!important;
  transform:translateX(-50%)!important;
}

/* Keep the detailed thematic layer quiet: more breadth, not visual clutter. */
.atlas-extras{
  margin-top:14px;
  padding:24px 26px 26px;
  border:1px solid var(--line);
  border-radius:16px;
  background:rgba(251,248,240,.97);
  box-shadow:0 8px 28px rgba(38,52,55,.045);
}
.atlas-extras__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
}
.atlas-extras__kicker{
  margin:0 0 4px;
  color:#8a6b55;
  font-family:var(--meta);
  font-size:10px;
  font-weight:500;
  letter-spacing:.14em;
}
.atlas-extras h2{
  margin:0;
  color:var(--navy);
  font:600 23px/1.5 var(--body);
  letter-spacing:.02em;
}
.atlas-extras__intro{
  max-width:460px;
  margin:0;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.75;
  text-align:right;
}
.atlas-extras__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.atlas-extra{
  min-height:142px;
  padding:16px 17px 17px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:rgba(255,255,255,.18);
}
.atlas-extra__theme{
  display:block;
  margin-bottom:7px;
  color:#8a6b55;
  font-family:var(--meta);
  font-size:10px;
  font-weight:500;
  letter-spacing:.06em;
}
.atlas-extra h3{
  margin:0;
  color:var(--navy-deep);
  font-size:15px;
  font-weight:500;
  line-height:1.5;
}
.atlas-extra p{
  margin:7px 0 0;
  color:#3e4950;
  font-size:13px;
  line-height:1.75;
}

@media(max-width:900px){
  .atlas-extras__grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .atlas-extras__head{align-items:start;flex-direction:column;gap:7px;}
  .atlas-extras__intro{max-width:none;text-align:left;}
}
@media(max-width:620px){
  .atlas-extras{padding:18px 16px 20px;}
  .atlas-extras__grid{grid-template-columns:1fr;}
  .atlas-extra{min-height:0;}
  .map-marker span{max-width:105px!important;font-size:9px!important;}
}


/* ===== assets/css/country-polish.css ===== */
/* JOURNEY ATLAS — country page structural polish */

:root{
  --country-title-lg:22px;
  --country-title-md:17px;
  --country-card-title:14px;
  --country-body:13px;
  --country-small:10.5px;
  --country-kicker:9px;
}

/* Shared editorial kicker used consistently across country-page sections. */
.section-kicker-en{
  display:block;
  margin:0 0 5px;
  color:#8a6b55;
  font-family:var(--meta);
  font-size:var(--country-kicker);
  font-weight:500;
  line-height:1.35;
  letter-spacing:.14em;
  text-transform:uppercase;
}

/* Hero location: searchable, but treated as a quiet editorial caption. */
.hero-location{
  position:absolute;
  right:clamp(18px,3.6vw,52px);
  bottom:12px;
  z-index:4;
  max-width:min(520px,62vw);
  margin:0;
  padding:3px 7px 4px;
  border:0;
  border-radius:3px;
  background:rgba(7,27,43,.24);
  color:rgba(255,255,255,.92);
  text-shadow:0 1px 2px rgba(0,0,0,.28);
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  font-size:10px;
  line-height:1.45;
  letter-spacing:.01em;
  text-align:right;
}
.hero-location span{display:none;}
.hero-location strong{font-weight:400;}

/* No visible loading / production-note copy inside artwork. */
.hero-art .art-placeholder,
.map-placeholder{
  display:none!important;
}

/* Basic facts: a horizontal country profile before map + scenery. */
.country-facts-strip{
  display:grid;
  grid-template-columns:150px minmax(0,1fr);
  margin:0 0 16px;
  padding:0;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(255,253,248,.96);
  box-shadow:0 5px 18px rgba(38,52,55,.035);
}
.country-facts-strip__head{
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:4px;
  margin:0;
  padding:15px 18px;
  border-right:1px solid var(--line);
  background:rgba(207,222,224,.34);
}
.country-facts-strip__head h2{
  order:2;
  margin:0;
  color:var(--navy);
  font-size:var(--country-title-md);
  line-height:1.4;
  font-weight:600;
}
.country-facts-strip__head span{
  order:1;
  font-family:var(--meta);
  font-size:var(--country-kicker);
  line-height:1.35;
  letter-spacing:.14em;
  color:#8a6b55;
}
.country-facts-strip .fact-list{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0!important;
  margin:0!important;
  align-items:stretch;
}
.country-facts-strip .fact-list>div{
  min-height:74px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  padding:11px 13px 12px!important;
  border:0!important;
  border-left:1px solid #e4ddcf!important;
  border-radius:0!important;
  background:transparent!important;
}
.country-facts-strip .fact-list>div:first-child{border-left:0!important;}
.country-facts-strip .fact-list>div>span{display:none!important;}
.country-facts-strip .fact-list dt{
  margin:0 0 5px;
  color:var(--muted);
  font-family:var(--meta);
  font-size:9.5px;
  line-height:1.3;
  letter-spacing:.06em;
}
.country-facts-strip .fact-list dd{
  margin:0!important;
  color:var(--navy-deep);
  font-size:13px!important;
  font-weight:500!important;
  line-height:1.55!important;
}

/* Map is for spatial relationship: numbered pins only. */
.map-marker span{display:none!important;}
.map-marker b{
  width:27px!important;
  height:27px!important;
  font-size:11px!important;
}

/* Major heading typography: one hierarchy across the page. */
.panel-title,
.scenes-heading h2,
.atlas-extras h2,
.journey-footer h2{
  font-size:var(--country-title-lg)!important;
  line-height:1.45!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
.info-section h2,
.encounter-strip h3{
  font-size:var(--country-title-md)!important;
  line-height:1.5!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
.scenes-heading p,
.atlas-extras__intro,
.map-disclaimer{
  font-size:11.5px!important;
  line-height:1.7!important;
}
.scene-copy h3,
.atlas-extra h3,
.persona-list h3,
.tip-list h3{
  font-size:var(--country-card-title)!important;
  line-height:1.5!important;
  font-weight:500!important;
}
.scene-copy p,
.atlas-extra p,
.season-list p,
.transport p,
.persona-list p,
.tip-list p{
  font-size:var(--country-body)!important;
  line-height:1.7!important;
}

/* Keep English section kickers aligned with the Japanese titles. */
.panel-title-wrap,
.scenes-title-wrap{
  min-width:0;
}
.panel-title-wrap .panel-title,
.scenes-title-wrap h2{
  margin:0;
}
.scenes-heading{
  align-items:flex-end!important;
}

/* Detailed information: three equal editorial columns. */
.travel-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.travel-grid .info-section{
  min-width:0;
  padding:23px 22px!important;
}
.travel-grid .info-section:last-child{border-right:0!important;}
.travel-grid .section-kicker-en{margin-bottom:4px;}

/* The thematic section is intentionally six complementary themes. */
.atlas-extras__kicker{
  font-size:var(--country-kicker)!important;
}
.atlas-extra__theme{
  font-size:9.5px!important;
}

/* Match the top-page JOURNEY ATLAS colophon. */
.atlas-colophon{
  margin-top:38px;
  padding:clamp(38px,6vh,62px) clamp(18px,5vw,80px);
  border-top:1px solid var(--line);
  background:var(--paper);
  color:var(--navy-deep);
}
.atlas-colophon .colophon-grid{
  max-width:1240px;
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:34px;
  flex-wrap:wrap;
}
.atlas-colophon .mark{
  color:var(--navy);
  font-family:var(--display);
  font-size:.95rem;
  font-weight:700;
  letter-spacing:.3em;
  text-transform:uppercase;
}
.atlas-colophon .mark-tag{
  display:block;
  margin-top:9px;
  color:#657485;
  font-family:var(--body);
  font-size:.84rem;
  font-weight:400;
  line-height:1.6;
  letter-spacing:.04em;
  text-transform:none;
}
.atlas-colophon .meta{
  color:#667483;
  font-family:var(--display);
  font-size:.66rem;
  line-height:1.95;
  letter-spacing:.07em;
  text-align:right;
}
.atlas-colophon .meta-note{opacity:.68;}
.atlas-colophon .meta-links{
  display:inline-flex;
  gap:22px;
  justify-content:flex-end;
}
.atlas-colophon a{color:inherit;}
.atlas-colophon a:hover{color:var(--navy-deep);}

@media(max-width:1120px){
  .country-facts-strip{
    grid-template-columns:132px minmax(0,1fr);
  }
  .country-facts-strip .fact-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .country-facts-strip .fact-list>div:nth-child(4){border-left:0!important;}
  .country-facts-strip .fact-list>div:nth-child(n+4){border-top:1px solid #e4ddcf!important;}
}

@media(max-width:900px){
  .travel-grid{grid-template-columns:1fr!important;}
  .travel-grid .info-section{
    border-right:0!important;
    border-bottom:1px solid var(--line);
  }
  .travel-grid .info-section:last-child{border-bottom:0!important;}
}

@media(max-width:700px){
  .hero-location{
    right:12px;
    bottom:9px;
    max-width:calc(100% - 24px);
    font-size:9px;
  }
  .country-facts-strip{
    display:block;
  }
  .country-facts-strip__head{
    min-height:0;
    padding:12px 14px;
    border-right:0;
    border-bottom:1px solid var(--line);
  }
  .country-facts-strip .fact-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .country-facts-strip .fact-list>div{
    min-height:68px!important;
  }
  .country-facts-strip .fact-list>div:nth-child(odd){border-left:0!important;}
  .country-facts-strip .fact-list>div:nth-child(n+3){border-top:1px solid #e4ddcf!important;}
  .country-facts-strip .fact-list>div:nth-child(4){border-left:1px solid #e4ddcf!important;}
  .atlas-colophon .colophon-grid{display:block;}
  .atlas-colophon .meta{margin-top:24px;text-align:left;}
  .atlas-colophon .meta-links{justify-content:flex-start;}
}


/* ===== assets/css/country-refine.css ===== */
/* JOURNEY ATLAS — country reference-page refinement */

/* ---------- SHARED SECTION RHYTHM ---------- */
.country-facts-strip__head h2,
.panel-title,
.scenes-heading h2,
.atlas-extras h2{
  margin:0!important;
  color:#12365c!important;
  font-family:"Zen Kaku Gothic New",sans-serif!important;
  font-size:22px!important;
  line-height:1.42!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
.country-facts-strip__head .section-kicker-en,
.panel-title-wrap .section-kicker-en,
.scenes-title-wrap .section-kicker-en,
.atlas-extras__kicker{
  display:block!important;
  margin:0 0 5px!important;
  color:#8a6b55!important;
  font-family:"Hanken Grotesk",sans-serif!important;
  font-size:9px!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
}
.map-column,
.scenes-column{
  padding:22px!important;
}
.panel-title-wrap,
.scenes-title-wrap{
  min-height:61px;
}

/* ---------- COUNTRY PROFILE ---------- */
.country-facts-strip{
  display:block!important;
  margin:0 0 18px!important;
  padding:0!important;
  overflow:hidden;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  background:#fffdf9!important;
  box-shadow:0 2px 10px rgba(11,44,87,.035)!important;
}
.country-facts-strip__head{
  display:block!important;
  padding:16px 18px 13px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  background:#f7f5ef!important;
}
.country-facts-strip .fact-list{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:0!important;
  margin:0!important;
}
.country-facts-strip .fact-list>div{
  min-width:0!important;
  min-height:92px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:flex-start!important;
  align-items:flex-start!important;
  gap:0!important;
  padding:14px 14px 15px!important;
  border:0!important;
  border-left:1px solid rgba(11,44,87,.10)!important;
  border-radius:0!important;
  background:transparent!important;
}
.country-facts-strip .fact-list>div:first-child{border-left:0!important;}
.country-facts-strip .fact-list>div>span{display:none!important;}
.country-facts-strip .fact-list>div>div{width:100%;min-width:0;}
.country-facts-strip .fact-list dt{
  min-height:18px;
  margin:0 0 7px!important;
  color:#71808d!important;
  font-family:"Hanken Grotesk","Zen Kaku Gothic New",sans-serif!important;
  font-size:9.5px!important;
  line-height:1.25!important;
  font-weight:600!important;
  letter-spacing:.04em!important;
  white-space:nowrap;
}
.country-facts-strip .fact-list dd{
  margin:0!important;
  color:#0b2c57!important;
  font-family:"Zen Kaku Gothic New",sans-serif!important;
  font-size:12.5px!important;
  line-height:1.55!important;
  font-weight:500!important;
  overflow-wrap:anywhere;
}

/* ---------- MAP ---------- */
.map-frame{margin-bottom:0!important;}
.map-disclaimer{display:none!important;}
.map-marker span{display:none!important;}
.map-hero-marker{
  position:absolute;
  z-index:4;
  width:15px;
  height:15px;
  display:grid;
  place-items:center;
  transform:translate(-50%,-50%);
  border:2px solid #fffdf9;
  border-radius:50%;
  background:#a86545;
  box-shadow:0 2px 6px rgba(9,42,75,.22);
  color:#fff;
  pointer-events:auto;
}
.map-hero-marker span{
  font-size:7px;
  line-height:1;
}
.map-hero-marker::after{
  content:attr(data-label);
  position:absolute;
  left:50%;
  bottom:21px;
  width:max-content;
  max-width:230px;
  padding:4px 7px;
  transform:translateX(-50%);
  border:1px solid rgba(11,44,87,.10);
  border-radius:4px;
  background:rgba(255,253,249,.96);
  color:#0b2c57;
  font-family:"Hanken Grotesk","Zen Kaku Gothic New",sans-serif;
  font-size:9px;
  line-height:1.35;
  opacity:0;
  visibility:hidden;
  transition:opacity .15s ease;
  white-space:nowrap;
}
.map-hero-marker:hover::after{
  opacity:1;
  visibility:visible;
}

/* ---------- BEYOND THE SCENERY ---------- */
.atlas-extras{
  padding:24px 26px 26px!important;
}
.atlas-extra{
  min-height:228px!important;
  display:flex;
  flex-direction:column;
  padding:17px 18px 18px!important;
}
.atlas-extra h3{margin-bottom:0!important;}
.atlas-extra>p{
  margin:7px 0 0!important;
  font-size:12.5px!important;
  line-height:1.75!important;
}
.atlas-extra ul{
  margin:13px 0 0;
  padding:11px 0 0;
  border-top:1px solid rgba(11,44,87,.10);
  list-style:none;
}
.atlas-extra li{
  position:relative;
  margin:5px 0 0;
  padding-left:13px;
  color:#52606b;
  font-size:10.5px;
  line-height:1.55;
}
.atlas-extra li:first-child{margin-top:0;}
.atlas-extra li::before{
  content:"";
  position:absolute;
  left:0;
  top:.68em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:#8a6b55;
}

/* ---------- ROAD TRIP ---------- */
.transport{
  grid-template-columns:37px minmax(0,1fr)!important;
}
.transport>b{display:none!important;}

/* ---------- LOWER TRAVEL INFO ---------- */
/* Keep FOR WHOM as a concise decision aid: three representative traveler types. */
.travel-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.travel-grid>.info-section:nth-child(2){
  display:block!important;
}
.persona-list article:nth-child(n+4){
  display:none!important;
}
.travel-grid>.info-section:last-child{
  border-right:0!important;
}

/* ---------- FOOTER: exact top-page visual language ---------- */
.atlas-colophon{
  margin-top:38px!important;
  padding:clamp(38px,6vh,62px) clamp(18px,5vw,80px)!important;
  border-top:1px solid rgba(11,44,87,.13)!important;
  background:#fffdf9!important;
  color:#0b2c57!important;
}
.atlas-colophon .colophon-grid{
  max-width:1240px!important;
  margin:0 auto!important;
  display:flex!important;
  justify-content:space-between!important;
  align-items:flex-end!important;
  gap:34px!important;
  flex-wrap:wrap!important;
}
.atlas-colophon .mark{
  color:#0b2c57!important;
  font-family:"Hanken Grotesk",sans-serif!important;
  font-weight:700!important;
  letter-spacing:.3em!important;
  text-transform:uppercase!important;
  font-size:.95rem!important;
}
.atlas-colophon .mark-tag{
  display:block!important;
  margin-top:9px!important;
  color:#657485!important;
  font-family:"Shippori Mincho",serif!important;
  font-weight:400!important;
  letter-spacing:.04em!important;
  text-transform:none!important;
  font-size:.84rem!important;
  line-height:1.6!important;
}
.atlas-colophon .meta{
  color:#667483!important;
  font-family:"Hanken Grotesk",sans-serif!important;
  font-size:.66rem!important;
  letter-spacing:.07em!important;
  line-height:1.95!important;
  text-align:right!important;
}
.atlas-colophon .meta-note{opacity:.68!important;}
.atlas-colophon .meta-links{
  display:inline-flex!important;
  gap:22px!important;
  justify-content:flex-end!important;
}
.atlas-colophon a{color:inherit!important;text-decoration:none!important;}
.atlas-colophon a:hover{color:#0b2c57!important;}

@media(max-width:1180px){
  .country-facts-strip .fact-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .country-facts-strip .fact-list>div:nth-child(5){border-left:0!important;}
  .travel-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .travel-grid>.info-section:nth-child(2){border-right:0!important;}
  .travel-grid>.info-section:nth-child(3){
    grid-column:1/-1;
    border-top:1px solid var(--line)!important;
  }
}

@media(max-width:760px){
  .country-facts-strip__head{padding:14px 14px 11px!important;}
  .country-facts-strip .fact-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .country-facts-strip .fact-list>div{
    min-height:82px!important;
    padding:11px 12px 12px!important;
    border-top:1px solid rgba(11,44,87,.08)!important;
  }
  .country-facts-strip .fact-list>div:nth-child(odd){border-left:0!important;}
  .country-facts-strip .fact-list>div:nth-child(-n+2){border-top:0!important;}
  .atlas-extra{min-height:0!important;}
  .atlas-colophon .colophon-grid{display:block!important;}
  .atlas-colophon .meta{margin-top:24px!important;text-align:left!important;}
  .atlas-colophon .meta-links{justify-content:flex-start!important;}
  .map-hero-marker::after{display:none;}
  .travel-grid{grid-template-columns:1fr!important;}
  .travel-grid>.info-section{
    grid-column:auto!important;
    border-right:0!important;
  }
  .travel-grid>.info-section+ .info-section{
    border-top:1px solid var(--line)!important;
  }
}


/* ===== assets/css/country-template-v2.css ===== */
/* JOURNEY ATLAS — reusable country template v2
   Data-first layout. No country-specific asset overrides belong here. */

.signature-facts{
  display:grid;
  grid-template-columns:190px 1fr;
  gap:22px;
  margin:12px 0 14px;
  padding:18px 22px;
  border:1px solid var(--line);
  border-radius:14px;
  background:rgba(251,248,240,.88);
}
.signature-facts[hidden]{display:none;}
.signature-facts__head h2{
  margin:2px 0 0;
  color:var(--navy);
  font:600 18px/1.5 var(--body);
}
.signature-facts__grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.signature-facts__grid article{
  min-width:0;
  padding:11px 14px 12px;
  border-left:1px solid rgba(18,54,92,.16);
}
.signature-facts__grid span{
  display:block;
  color:var(--muted);
  font-family:var(--meta);
  font-size:9px;
  font-weight:500;
  letter-spacing:.08em;
}
.signature-facts__grid strong{
  display:block;
  margin-top:3px;
  color:var(--navy-deep);
  font:500 clamp(19px,2vw,25px)/1.35 var(--display);
  letter-spacing:.01em;
}
.signature-facts__grid p{
  margin:5px 0 0;
  color:#4b555b;
  font-size:11.5px;
  line-height:1.65;
}

/* Ambiguous decorative symbols are intentionally omitted in v2. */
.fact-list > div{
  grid-template-columns:1fr!important;
  gap:0!important;
}
.persona-list article,
.tip-list article{
  grid-template-columns:1fr!important;
  gap:0!important;
}
.season-list article{
  grid-template-columns:64px 1fr!important;
  gap:10px;
}
.season-list article > b{
  color:var(--season-color);
  font-size:11px;
}
.transport{
  grid-template-columns:1fr auto!important;
}

.encounter-list{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:7px;
}
.encounter-list article{
  min-width:0;
  padding:6px 5px;
  border:1px solid rgba(18,54,92,.12);
  border-radius:999px;
  background:rgba(255,255,255,.26);
}
.encounter-list b{
  margin:0!important;
  color:var(--navy-deep);
  font-size:10.5px!important;
  font-weight:500!important;
  line-height:1.3;
  white-space:normal!important;
}

.atlas-extra ul{
  margin:10px 0 0;
  padding:9px 0 0 17px;
  border-top:1px solid rgba(18,54,92,.09);
  color:#596269;
  font-size:11.5px;
  line-height:1.65;
}
.atlas-extra li + li{margin-top:3px;}

.map-hero-marker{
  width:13px;
  height:13px;
  position:absolute;
  z-index:3;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.map-hero-marker span{
  width:8px;
  height:8px;
  display:block;
  position:absolute;
  left:50%;
  top:50%;
  border:2px solid #b66e4d;
  background:#fbf8f0;
  transform:translate(-50%,-50%) rotate(45deg);
  box-shadow:0 1px 3px rgba(9,42,75,.16);
}

.related-card{
  color:inherit;
  text-decoration:none;
}
.related-card.is-open{cursor:pointer;}
.related-card.is-open:hover .related-country,
.related-card.is-open:focus-visible .related-country{
  border-color:#a86545;
  box-shadow:0 5px 16px rgba(70,66,52,.09);
}
.related-card:focus-visible{outline:2px solid var(--navy);outline-offset:3px;}
.related-status{
  display:block;
  margin-top:7px;
  color:#8a6b55;
  font-family:var(--meta);
  font-size:9px;
  font-weight:500;
  letter-spacing:.08em;
}
.related-card.is-coming .related-status{color:#8d9397;}

@media(max-width:900px){
  .signature-facts{grid-template-columns:1fr;gap:12px;}
  .signature-facts__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:620px){
  .signature-facts{padding:16px;}
  .signature-facts__grid{grid-template-columns:1fr;gap:0;}
  .signature-facts__grid article{padding:10px 0;border-left:0;border-top:1px solid rgba(18,54,92,.12);}
  .encounter-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .season-list article{grid-template-columns:58px 1fr!important;}
}


/* ===== assets/css/country-icon-system.css ===== */
/* JOURNEY ATLAS — shared heading scale + icon system */

html{scroll-padding-top:108px;}

/* Same-level Japanese section titles use one scale and one typeface. */
.country-facts-strip__head h2,
.signature-facts__head h2,
.panel-title,
.scenes-heading h2,
.atlas-extras h2,
.info-section h2,
.journey-footer h2,
.encounter-strip h3{
  margin-top:0!important;
  color:#12365c!important;
  font-family:"Zen Kaku Gothic New",sans-serif!important;
  font-size:22px!important;
  line-height:1.42!important;
  font-weight:600!important;
  letter-spacing:.01em!important;
}
.country-facts-strip__head h2,
.signature-facts__head h2{
  white-space:nowrap;
}

.ui-icon{
  width:18px;
  height:18px;
  flex:0 0 18px;
  display:block;
  overflow:visible;
  color:#617786;
  fill:none;
  stroke:currentColor;
  stroke-width:1.65;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.ui-icon--small{width:13px;height:13px;flex-basis:13px;}

/* ---------- FIXED COUNTRY HEADER ---------- */
.site-header.page-shell{
  position:fixed!important;
  top:0;
  left:0;
  right:0;
  z-index:100!important;
  width:100%!important;
  height:94px!important;
  margin:0!important;
  padding-inline:max(28px,calc((100vw - 1440px)/2));
  background:rgba(247,243,233,.93);
  border-bottom:1px solid rgba(18,54,92,.11);
  box-shadow:0 3px 14px rgba(9,42,75,.045);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
/* The header used to occupy this space inside the hero. Keep the hero geometry unchanged. */
.hero{padding-top:94px!important;}

.utility-nav{
  display:flex!important;
  align-items:center;
  gap:4px!important;
  padding:5px!important;
  border:1px solid rgba(18,54,92,.12);
  border-radius:12px;
  background:rgba(251,248,240,.88);
  box-shadow:0 3px 14px rgba(9,42,75,.07);
  backdrop-filter:blur(7px);
  -webkit-backdrop-filter:blur(7px);
}
.utility-nav a{
  min-width:62px;
  display:grid;
  place-items:center;
  gap:2px;
  padding:6px 8px 7px;
  border-radius:8px;
  color:#12365c;
  text-decoration:none;
  transition:background .15s ease,color .15s ease;
}
.utility-nav a:hover,
.utility-nav a:focus-visible{
  background:rgba(207,222,224,.52);
  color:#092a4b;
  outline:none;
}
.utility-nav a .ui-icon{width:18px;height:18px;color:currentColor;}
.utility-nav small{
  display:block!important;
  margin-top:1px!important;
  color:inherit;
  font-size:10px!important;
  font-weight:500!important;
  line-height:1.3;
  letter-spacing:.04em!important;
}

/* ---------- PROFILE BANDS ----------
   Common and country-specific facts use the same atlas-band language. */
.country-facts-strip,
.signature-facts{
  display:grid!important;
  grid-template-columns:220px minmax(0,1fr)!important;
  gap:0!important;
  margin:0 0 18px!important;
  padding:17px 0!important;
  overflow:visible!important;
  border:0!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  border-radius:0!important;
  background:var(--paper-soft)!important;
  box-shadow:none!important;
}
.country-facts-strip__head,
.signature-facts__head{
  display:block!important;
  min-width:0;
  padding:1px 20px 0 4px!important;
  border:0!important;
  background:transparent!important;
}
.country-facts-strip__head .section-kicker-en,
.signature-facts__head .section-kicker-en{
  margin-bottom:5px!important;
}

.country-facts-strip .fact-list{
  display:grid!important;
  grid-template-columns:repeat(7,minmax(0,1fr))!important;
  gap:0!important;
  margin:0!important;
  border-left:1px solid rgba(18,54,92,.13);
}
.country-facts-strip .fact-list>div{
  min-width:0!important;
  min-height:74px!important;
  display:grid!important;
  grid-template-columns:18px minmax(0,1fr)!important;
  align-content:start!important;
  align-items:start!important;
  column-gap:8px!important;
  padding:4px 13px 2px!important;
  border:0!important;
  border-left:1px solid rgba(18,54,92,.10)!important;
  border-radius:0!important;
  background:transparent!important;
}
.country-facts-strip .fact-list>div:first-child{border-left:0!important;}
.country-facts-strip .fact-list>div>.ui-icon{
  width:17px;
  height:17px;
  flex-basis:17px;
  margin-top:.5px;
  color:#6c8190;
}
.country-facts-strip .fact-list>div>div{width:100%;min-width:0;}
.country-facts-strip .fact-list dt{
  min-height:18px!important;
  margin:0 0 6px!important;
  color:#61717e!important;
  font-family:"Zen Kaku Gothic New","Hanken Grotesk",sans-serif!important;
  font-size:12px!important;
  line-height:18px!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
  white-space:nowrap;
}
.country-facts-strip .fact-list dd{
  margin:0!important;
  color:#0b2c57!important;
  font-family:"Zen Kaku Gothic New",sans-serif!important;
  font-size:12.5px!important;
  line-height:1.62!important;
  font-weight:500!important;
  overflow-wrap:anywhere;
}

.signature-facts__grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:0!important;
  border-left:1px solid rgba(18,54,92,.13);
}
.signature-facts__grid article{
  min-width:0;
  padding:2px 16px 3px!important;
  border:0!important;
  border-left:1px solid rgba(18,54,92,.10)!important;
}
.signature-facts__grid article:first-child{border-left:0!important;}
.signature-fact__label{
  min-height:18px;
  display:flex;
  align-items:center;
  gap:7px;
  color:var(--muted);
}
.signature-fact__label .ui-icon{
  width:16px;
  height:16px;
  flex-basis:16px;
  color:#8a6b55;
}
.signature-fact__label span{
  font-family:"Zen Kaku Gothic New","Hanken Grotesk",sans-serif!important;
  font-size:12px!important;
  line-height:18px!important;
  font-weight:600!important;
  letter-spacing:.02em!important;
}
.signature-facts__grid strong{margin-top:4px!important;}

/* ---------- SHARED EDITORIAL GUIDANCE ---------- */
.panel-title-wrap,
.scenes-title-wrap{min-width:0;}
.map-guide,
.scenes-intro,
.atlas-extras__intro,
.travel-trivia__intro{
  color:#66717a!important;
  font-family:"Zen Kaku Gothic New",sans-serif!important;
  font-size:11.5px!important;
  line-height:1.7!important;
  font-weight:400!important;
  letter-spacing:.01em!important;
}
.map-guide{
  max-width:560px;
  margin:5px 0 0!important;
}
.scenes-heading{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(250px,44%);
  align-items:end!important;
  gap:26px;
  margin-bottom:18px!important;
}
.scenes-heading .scenes-title-wrap{display:block!important;}
.scenes-intro{
  justify-self:end;
  max-width:520px!important;
  margin:0 0 2px!important;
  text-align:left!important;
}

/* Map marker legend: number = scenery, diamond = hero image location. */
.map-legend{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px 18px;
  margin:8px 0 0;
  color:#66717a;
  font-family:"Zen Kaku Gothic New",sans-serif;
  font-size:9.5px;
  line-height:1.4;
}
.map-legend>span{
  display:inline-flex;
  align-items:center;
  gap:6px;
  white-space:nowrap;
}
.map-legend__scene{
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#12365c;
  color:#fff;
  font-family:var(--meta);
  font-size:8px;
  font-style:normal;
  line-height:1;
}
.map-legend__hero{
  width:8px;
  height:8px;
  display:block;
  border:2px solid #b66e4d;
  background:#fbf8f0;
  transform:rotate(45deg);
  box-shadow:0 1px 2px rgba(9,42,75,.12);
}

/* ---------- MAP CAPITAL ---------- */
.map-capital-marker{
  position:absolute;
  z-index:1;
  width:9px;
  height:9px;
  transform:translate(-50%,-50%);
  pointer-events:none;
}
.map-capital-marker i{
  width:8px;
  height:8px;
  display:block;
  border:2px solid #fbf8f0;
  border-radius:50%;
  background:#12365c;
  box-shadow:0 1px 4px rgba(9,42,75,.22);
}
.map-capital-marker span{
  position:absolute;
  top:50%;
  left:14px;
  width:max-content;
  max-width:130px;
  padding:2px 5px 3px;
  transform:translateY(-50%);
  border-radius:3px;
  background:rgba(251,248,240,.88);
  color:#12365c;
  font-family:"Zen Kaku Gothic New",sans-serif;
  font-size:9.5px;
  font-weight:600;
  line-height:1.35;
  letter-spacing:.01em;
  white-space:nowrap;
}
.map-capital-marker[data-label-position="left"] span{
  right:14px;
  left:auto;
}

/* ---------- ENCOUNTERS ---------- */
.encounter-strip h3{margin-bottom:13px!important;}
.encounter-list article{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  border-radius:8px!important;
}
.encounter-list article .ui-icon{width:16px;height:16px;flex-basis:16px;color:#8a6b55;}

/* ---------- BEYOND THE SCENERY ---------- */
.atlas-extra__theme{display:flex!important;align-items:center;gap:6px;}
.atlas-extra__theme .ui-icon{color:#8a6b55;}

/* ---------- TRAVEL INFO ---------- */
.season-list article{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
}
.season-list article>.ui-icon{margin-top:2px;color:var(--season-color);}
.season-list article>div{min-width:0;}
.season-list article b{
  display:block;
  margin-bottom:2px;
  color:var(--season-color)!important;
  font-size:11px!important;
}
.transport{
  grid-template-columns:26px minmax(0,1fr) auto!important;
  align-items:start!important;
  column-gap:10px!important;
}
.transport>.ui-icon{
  width:16px;
  height:16px;
  margin-top:0!important;
  transform:translateY(5px);
  color:#8a6b55;
}
.transport>div>small{
  display:block!important;
  min-height:18px;
  line-height:18px!important;
}
.persona-list article,
.tip-list article{
  display:grid!important;
  grid-template-columns:24px minmax(0,1fr)!important;
  align-items:start!important;
  gap:10px!important;
}
.persona-list article>.ui-icon,
.tip-list article>.ui-icon{margin-top:2px;color:#6c8190;}
.persona-list article>div,
.tip-list article>div{min-width:0;}

/* Give the final country actions breathing room before the global footer. */
.journey-footer{margin-bottom:38px!important;}

@media(max-width:1180px){
  .country-facts-strip,
  .signature-facts{grid-template-columns:200px minmax(0,1fr)!important;}
  .country-facts-strip .fact-list{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  .country-facts-strip .fact-list>div:nth-child(5){border-left:0!important;}
  .country-facts-strip .fact-list>div:nth-child(n+5){margin-top:12px;padding-top:12px!important;border-top:1px solid rgba(18,54,92,.08)!important;}
}

@media(max-width:760px){
  html{scroll-padding-top:88px;}
  .site-header.page-shell{
    height:76px!important;
    padding-inline:18px;
  }
  .hero{padding-top:76px!important;}
  .utility-nav{gap:2px!important;padding:4px!important;}
  .utility-nav a{min-width:48px;padding:5px 5px 6px;}
  .utility-nav small{font-size:9px!important;}
  .country-facts-strip,
  .signature-facts{
    display:block!important;
    padding:14px 0!important;
  }
  .country-facts-strip__head,
  .signature-facts__head{padding:0 0 12px!important;}
  .country-facts-strip .fact-list,
  .signature-facts__grid{border-left:0;}
  .country-facts-strip .fact-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .country-facts-strip .fact-list>div{
    grid-template-columns:18px minmax(0,1fr)!important;
    padding:10px 10px!important;
    border-top:1px solid rgba(18,54,92,.08)!important;
  }
  .country-facts-strip .fact-list>div:nth-child(odd){border-left:0!important;}
  .country-facts-strip .fact-list>div:nth-child(-n+2){border-top:0!important;}
  .signature-facts__grid{grid-template-columns:1fr!important;}
  .signature-facts__grid article{padding:12px 0!important;border-left:0!important;border-top:1px solid rgba(18,54,92,.08)!important;}
  .signature-facts__grid article:first-child{border-top:0!important;}
  .ui-icon{width:17px;height:17px;flex-basis:17px;}
  .map-capital-marker span{font-size:8.5px;}
  .map-guide,.scenes-intro,.atlas-extras__intro,.travel-trivia__intro{font-size:11px!important;}
  .scenes-heading{
    display:block!important;
  }
  .scenes-intro{
    max-width:none!important;
    margin-top:8px!important;
  }
  .map-legend{gap:7px 13px;font-size:9px;}
  .journey-footer{margin-bottom:28px!important;}
}


/* ===== assets/css/country-trivia.css ===== */
/* JOURNEY ATLAS — reusable travel trivia section */
.travel-trivia{
  margin-top:18px;
  padding:24px 26px 26px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--paper-soft);
}
.travel-trivia__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
}
.travel-trivia__head>div{min-width:0;}
.travel-trivia__kicker{
  display:block;
  margin:0 0 5px;
  color:#8a6b55;
  font-family:var(--meta);
  font-size:9px;
  line-height:1.25;
  font-weight:500;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.travel-trivia h2{
  margin:0;
  color:#12365c;
  font-family:"Zen Kaku Gothic New",sans-serif;
  font-size:22px;
  line-height:1.42;
  font-weight:600;
  letter-spacing:.01em;
}
.travel-trivia__intro{
  max-width:480px;
  margin:0;
  color:#66717a;
  font-size:11.5px;
  line-height:1.7;
}
.travel-trivia__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  border-top:1px solid rgba(18,54,92,.12);
  border-left:1px solid rgba(18,54,92,.12);
}
.travel-trivia__item{
  min-width:0;
  padding:16px 15px 17px;
  border-right:1px solid rgba(18,54,92,.12);
  border-bottom:1px solid rgba(18,54,92,.12);
  background:rgba(255,255,255,.22);
}
.travel-trivia__meta{
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 9px;
  color:#8a6b55;
  font-family:var(--meta);
  font-size:8.8px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.travel-trivia__meta .ui-icon{
  width:14px;
  height:14px;
  flex-basis:14px;
  color:currentColor;
}
.travel-trivia__item h3{
  margin:0;
  color:#12365c;
  font-family:"Zen Kaku Gothic New",sans-serif;
  font-size:14px;
  line-height:1.55;
  font-weight:600;
}
.travel-trivia__item p{
  margin:7px 0 0;
  color:#4d5b65;
  font-size:12px;
  line-height:1.72;
}

@media(max-width:1180px){
  .travel-trivia__grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .travel-trivia{padding:20px 18px 22px;}
  .travel-trivia__head{display:block;margin-bottom:15px;}
  .travel-trivia__intro{margin-top:8px;}
  .travel-trivia__grid{grid-template-columns:1fr;}
  .travel-trivia__item{padding:14px 13px 15px;}
}


/* ===== assets/css/site-unify.css ===== */
/* JOURNEY ATLAS — shared visual rules across top and country pages */

:root{
  --ja-header-height:82px;
  --ja-header-mobile:70px;
  --ja-paper:#f7f3e9;
  --ja-soft:#fbf8f0;
  --ja-line:#d8d0c0;
  --ja-navy:#12365c;
  --ja-ui:"Zen Kaku Gothic New","Hanken Grotesk",sans-serif;
}

/* ---------- GLOBAL HEADER LANGUAGE ---------- */
.top-header.shell,
.site-header.page-shell{
  position:fixed!important;
  inset:0 0 auto 0!important;
  z-index:100!important;
  width:100%!important;
  height:var(--ja-header-height)!important;
  min-height:var(--ja-header-height)!important;
  margin:0!important;
  padding-inline:max(28px,calc((100vw - 1460px)/2))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:36px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  transition:background-color .22s ease,border-color .22s ease,box-shadow .22s ease,backdrop-filter .22s ease;
}

.top-header.shell.is-scroll-sticky,
.site-header.page-shell.is-scroll-sticky{
  background:rgba(247,243,233,.96)!important;
  border-bottom:1px solid rgba(11,44,87,.11)!important;
  box-shadow:0 3px 14px rgba(9,42,75,.045)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}

html{scroll-padding-top:96px!important;}

/* Keep country identity clear of the persistent transparent header. */
.country-page .hero-copy{
  padding-top:calc(var(--ja-header-height) + 38px)!important;
}

.wordmark,
.country-brand__wordmark{
  display:block;
  color:var(--ja-navy)!important;
  font-family:"Hanken Grotesk",sans-serif!important;
  font-size:clamp(23px,1.75vw,29px)!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:.23em!important;
  white-space:nowrap;
}
.brand-block,
.country-brand{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:5px!important;
  color:inherit!important;
  text-decoration:none!important;
}
.brand-block small,
.country-brand small{
  display:block!important;
  color:#62717d!important;
  font-family:var(--ja-ui)!important;
  font-size:9.5px!important;
  font-weight:500!important;
  line-height:1.35!important;
  letter-spacing:.04em!important;
  white-space:nowrap;
}

.top-header nav,
.utility-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:clamp(22px,2.5vw,40px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  font-family:var(--ja-ui)!important;
  font-size:12.5px!important;
  line-height:1!important;
}
.utility-nav a{
  min-width:0!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:7px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:var(--ja-navy)!important;
  font-family:var(--ja-ui)!important;
  font-size:12.5px!important;
  font-weight:700!important;
  line-height:1!important;
  letter-spacing:0!important;
  text-decoration:none!important;
  white-space:nowrap;
}
.utility-nav a:hover,
.utility-nav a:focus-visible{
  background:transparent!important;
  color:#092a4b!important;
  text-decoration:underline;
  text-underline-offset:5px;
  outline:none!important;
}

/* ---------- COUNTRY HERO: PRIMARY TRAVEL THEMES ---------- */
.country-theme-context{
  width:360px;
  max-width:100%;
  margin-top:20px;
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.country-theme-context[hidden]{display:none!important;}
.country-theme-context__label{
  flex:0 0 auto;
  padding-top:5px;
  color:#8a6b55;
  font-family:"Spline Sans Mono",ui-monospace,monospace;
  font-size:8.5px;
  font-weight:500;
  line-height:1.25;
  letter-spacing:.12em;
}
.country-theme-context__list{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}
.country-theme-chip{
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px 4px;
  border:1px solid rgba(18,54,92,.16);
  border-radius:999px;
  background:rgba(251,248,240,.78);
  color:#12365c;
  font-family:var(--ja-ui);
  font-size:10.5px;
  font-weight:600;
  line-height:1.3;
  white-space:nowrap;
}

/* ---------- TOP PAGE: SAME-LEVEL HEADINGS ---------- */
.countries .section-head h2,
.detail-heading h2,
.lens-head h2,
.about-note__label strong{
  margin-top:0!important;
  font-family:var(--ja-ui)!important;
  font-size:20px!important;
  line-height:1.35!important;
  font-weight:700!important;
  letter-spacing:0!important;
  color:var(--ja-navy)!important;
}

/* Country discovery should use the same paper panel as map/theme discovery. */
.countries{
  background:var(--ja-soft)!important;
  border-color:var(--ja-line)!important;
}

/* ---------- COUNTRY MAP / EDITORIAL HEADS ---------- */
.panel-title-wrap{
  display:block!important;
  min-height:0!important;
  margin-bottom:18px!important;
}

/* The SVGs are generated on a 1200 × 760 canvas. Match that ratio so the
   map image and coordinate marker layer share exactly the same geometry. */
.map-art{
  aspect-ratio:1200 / 760!important;
}
.map-base{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
}

.scenes-heading,
.atlas-extras__head,
.travel-trivia__head{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,38%)!important;
  align-items:start!important;
  gap:36px!important;
  min-height:0!important;
  margin-bottom:18px!important;
}
.panel-title-copy,
.scenes-title-wrap,
.atlas-extras__head>div,
.travel-trivia__head>div{min-width:0;}

.scenes-intro,
.atlas-extras__intro,
.travel-trivia__intro{
  justify-self:end!important;
  align-self:start!important;
  width:100%!important;
  max-width:470px!important;
  margin:0!important;
  padding-top:25px!important;
  color:#66717a!important;
  font-size:11.5px!important;
  line-height:1.7!important;
  text-align:right!important;
}
.scenes-intro{white-space:nowrap;}

.map-legend--below{
  justify-content:flex-end!important;
  margin:10px 2px 0!important;
}

@media(max-width:1000px){
  .scenes-heading,
  .atlas-extras__head,
  .travel-trivia__head{
    grid-template-columns:minmax(0,1fr) minmax(270px,40%)!important;
    gap:24px!important;
  }
  .scenes-intro{white-space:normal;}
}

@media(max-width:760px){
  :root{--ja-header-height:var(--ja-header-mobile);}
  html{scroll-padding-top:82px!important;}
  .top-header.shell,
  .site-header.page-shell{
    height:var(--ja-header-mobile)!important;
    min-height:var(--ja-header-mobile)!important;
    padding-inline:18px!important;
    gap:18px!important;
  }
  .country-page .hero-copy{
    padding-top:calc(var(--ja-header-mobile) + 24px)!important;
  }
  .wordmark,
  .country-brand__wordmark{
    font-size:clamp(19px,5.8vw,23px)!important;
  }
  .brand-block small,
  .country-brand small{display:none!important;}
  .top-header nav,
  .utility-nav{
    gap:14px!important;
    font-size:11px!important;
  }
  .utility-nav a{font-size:11px!important;}

  .country-theme-context{
    margin-top:16px;
    display:block;
  }
  .country-theme-context__label{
    display:block;
    padding-top:0;
    margin-bottom:6px;
  }

  .panel-title-wrap,
  .scenes-heading,
  .atlas-extras__head,
  .travel-trivia__head{
    display:block!important;
    min-height:0!important;
  }
  .scenes-intro,
  .atlas-extras__intro,
  .travel-trivia__intro{
    max-width:none!important;
    margin-top:8px!important;
    padding-top:0!important;
    text-align:left!important;
    white-space:normal;
  }
  .map-legend--below{
    justify-content:flex-start!important;
    margin-top:8px!important;
  }
}

/* ===== assets/css/site-footer.css ===== */
/* JOURNEY ATLAS — shared site footer */
.atlas-footer{
  margin-top:0;
  border-top:1px solid rgba(11,44,87,.12);
  background:#fffdf9;
  color:#0b2c57;
}
.atlas-footer__inner{
  width:min(100% - 56px,1240px);
  min-height:72px;
  margin:0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.atlas-footer__nav{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:clamp(20px,2.5vw,36px);
}
.atlas-footer a,
.atlas-footer__nav span,
.atlas-footer__copyright{
  font-family:"Hanken Grotesk","Zen Kaku Gothic New",sans-serif;
  font-size:11px;
  line-height:1.5;
  letter-spacing:.02em;
  color:#0b2c57;
}
.atlas-footer a{text-decoration:none;}
.atlas-footer a:hover,
.atlas-footer a:focus-visible{
  text-decoration:underline;
  text-underline-offset:4px;
}
.atlas-footer__copyright{
  margin-left:auto;
  white-space:nowrap;
}
.atlas-footer__nav .is-static{cursor:default;}

/* Old colophon must never compete with the shared footer. */
.atlas-colophon{display:none!important;}

@media(max-width:760px){
  .atlas-footer__inner{
    width:min(100% - 36px,1240px);
    min-height:0;
    padding:22px 0;
    display:block;
  }
  .atlas-footer__nav{gap:14px 22px;}
  .atlas-footer__copyright{
    display:block;
    margin-top:18px;
  }
}

