/* One continuous road, with space to center either endpoint. */
:root{--site-header-height:84px;--road-rail-height:0px;--road-card-width:220px;--road-card-height:112px;--road-card-gap:64px;--hero-gutter:max(42px,calc((100vw - 1296px)/2))}
html{scroll-padding-top:calc(var(--site-header-height) + 16px)}
body.road-rail-active :is(#chapter,.guide-section,.journal-tabs,.journal-navigation,.packing-scene-section,.journey-atlas){scroll-margin-top:0}
.road-layout{display:block;grid-template-columns:none;gap:0;max-width:1380px;padding:34px 42px 50px}
.chapter-column{width:100%;min-width:0;max-width:none}

body.road-rail-active .hero{display:flex;flex-direction:column;justify-content:center;gap:22px;height:auto;min-height:460px;padding:40px 0 32px}
body.road-rail-active .hero>.hero-content{width:100%;max-width:none;margin:0;padding:0 var(--hero-gutter)}
body.road-rail-active .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
#road-navigation.road-rail{display:none;position:relative;top:auto;z-index:1;width:100%;max-width:none;max-height:none;margin:0;padding:0;overflow:visible;scrollbar-gutter:auto;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
body.road-rail-active #road-navigation.road-rail{display:block}
.road-rail-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:30px;margin:0 auto 3px;padding:0 var(--hero-gutter)}
.road-rail-heading h2{margin:0;color:#dcd8bc;font:500 19px/1.2 var(--serif);letter-spacing:.015em}

#road-navigation.road-rail #road{display:block;position:relative;width:100%;max-width:100%;min-width:0;max-height:none;margin:0;padding:24px 0 26px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-behavior:smooth;scroll-padding:0;overscroll-behavior-x:contain;touch-action:pan-x pan-y;scrollbar-width:thin;scrollbar-color:#89764d transparent;-webkit-overflow-scrolling:touch}
#road-navigation.road-rail #road::-webkit-scrollbar{height:3px}
#road-navigation.road-rail #road::-webkit-scrollbar-thumb{background:#89764d;border-radius:4px}
#road-navigation.road-rail #road:focus-visible{outline:2px solid #d4b77b;outline-offset:-2px}
.road-rail-track{display:flex;align-items:stretch;gap:var(--road-card-gap);width:max-content;min-width:100%;max-width:none;padding-inline:max(16px,calc((var(--road-viewport-width,100vw) - var(--road-card-width))/2));margin:0}
.road-rail-item{position:relative;flex:0 0 var(--road-card-width);width:var(--road-card-width);min-width:0;height:var(--road-card-height);scroll-snap-align:center;scroll-snap-stop:normal}
.road-rail .trail-card{width:100%;height:var(--road-card-height);min-height:var(--road-card-height);max-height:var(--road-card-height);margin:0;padding:37px 12px 11px;align-items:flex-end;gap:0;border-radius:6px;transform:scale(1);transform-origin:center;transition:transform .28s ease,border-color .2s,box-shadow .2s,opacity .35s ease}
.road-rail .trail-card.active{z-index:1;transform:scale(1.30)}
.road-rail .trail-card::before{display:none}
.road-rail .trail-side{margin:0}
.road-rail .trail-card .trail-label{display:block;flex:1;min-width:0;max-width:100%;padding-right:20px}
.road-rail .trail-card strong{display:block;font:600 21px/1.03 var(--serif);letter-spacing:0;color:inherit;overflow-wrap:anywhere;text-wrap:balance}
.road-rail .trail-card:focus-visible{outline:2px solid #fff0b9;outline-offset:-3px}
.road-rail .route-badge{top:8px;right:8px;gap:4px;padding:4px 7px;font-size:9px;line-height:1.15}
.road-rail .route-badge svg{width:12px;height:12px}
.road-card-level{position:absolute;top:9px;left:9px;display:block;width:auto;max-width:68px;padding:3px 5px;border:1px solid #d4c59850;border-radius:3px;background:#111c16e8;color:#dfd7b8;font:500 9px/1.3 var(--sans);font-variant-numeric:lining-nums tabular-nums;white-space:nowrap;text-shadow:none}
.road-rail .trail-complete{top:auto;left:auto;right:9px;bottom:9px;width:19px;height:19px}
.road-rail .trail-complete[hidden]{display:none!important}
.road-rail .trail-complete svg{width:11px;height:11px}
.road-connector{position:absolute;left:100%;top:50%;display:block;width:var(--road-card-gap);height:24px;overflow:visible;transform:translateY(-50%);pointer-events:none;color:#ac925a}
.road-connector path{fill:none;stroke:currentColor;stroke-width:1.4;stroke-dasharray:3.5 4.5;stroke-linecap:round;vector-effect:non-scaling-stroke;opacity:.85}
.road-rail-item:last-child>.road-connector{display:none}

@media(max-width:1100px){
  :root{--hero-gutter:28px}
  .road-layout{padding:30px 28px 44px}
}
@media(max-width:800px){
  :root{--site-header-height:78px;--hero-gutter:26px}
  .road-layout{padding:28px 26px 36px}
}
@media(max-width:560px){
  :root{--site-header-height:111px;--road-card-width:174px;--road-card-height:96px;--road-card-gap:52px;--hero-gutter:18px}
  body.road-rail-active .hero{min-height:420px;gap:20px;padding:30px 0 26px}
  .road-layout{padding:24px 18px 32px}
  .road-rail-heading{gap:12px;min-height:30px}
  .road-rail-heading h2{font-size:18px}
  .road-rail .trail-card{padding:32px 10px 9px}
  .road-rail .trail-card strong{font-size:18px;line-height:1.03}
  .road-rail .trail-card .trail-label{padding-right:17px}
  .road-rail .route-badge{top:7px;right:7px;padding:4px 6px;font-size:8px;gap:3px}
  .road-rail .route-badge svg{width:11px;height:11px}
  .road-card-level{top:8px;left:8px;padding:3px 4px;font-size:8px}
  .road-rail .trail-complete{right:7px;bottom:7px;width:17px;height:17px}
  .road-rail .trail-complete svg{width:10px;height:10px}
}
@media(prefers-reduced-motion:reduce){
  #road-navigation.road-rail #road{scroll-behavior:auto}
  .road-rail .trail-card{transition:none}
}
@media(forced-colors:active){
  .road-rail .trail-card.active{outline:2px solid Highlight;outline-offset:-3px}
  .road-connector path{stroke:CanvasText;opacity:1}
}
@media print{
  #road-navigation.road-rail{display:none!important}
  html{scroll-padding-top:0}
  .road-layout{display:block;max-width:none;padding:0}
}
