/* Wayfinding: an engraved guide beneath the existing scenic entrances. */
.journey-guide { position:relative; z-index:3; max-width:1180px; margin:0 auto; padding:24px; color:#e8e4cc; }
.journey-guide__title { margin:0 0 10px; font:500 1.15rem/1.6 var(--font-serif-jp,serif); color:#f1e5bd; }
.journey-guide__intro { margin:0 0 16px; font-size:14px; line-height:1.8; color:#d0dacb; }
.journey-guide__routes { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border-block:1px solid #8f8753; background:linear-gradient(110deg,#14281e,#202b20); }
.journey-guide__routes a { display:flex; flex-direction:column; justify-content:center; gap:5px; min-height:84px; padding:14px 18px; color:#f2e2b2; text-decoration:none; border-inline-end:1px solid #576044; overflow-wrap:anywhere; }
.journey-guide__routes a:last-child { border-inline-end:0; }
.journey-guide__routes strong { font:500 16px/1.5 var(--font-serif-jp,serif); }
.journey-guide__routes span { color:#d0dacb; font-size:13px; line-height:1.65; }
.journey-guide a:focus-visible,.library-start a:focus-visible,.library-start summary:focus-visible { outline:2px solid #f0d780; outline-offset:3px; }
.journey-guide__routes a:hover { background:#304331; }
.library-start { position:relative; z-index:3; max-width:760px; margin:12px auto 0; text-align:left; color:#e4e8d2; }
.library-start__row { display:flex; align-items:center; flex-wrap:wrap; gap:6px 18px; }
.library-start__jump { display:inline-flex; align-items:center; min-height:44px; padding:6px 16px; border:1px solid #acaa71; border-radius:24px; background:#213b2a; color:#f2e6bb; font-size:14px; }
.library-start summary { cursor:pointer; display:list-item; min-height:44px; padding:10px 0; font-size:13px; color:#e0ddbc; }
.library-start details { flex:1; min-width:190px; }
.library-start__help { padding:12px 16px; margin:4px 0; border-left:2px solid #b7a966; background:#14281f; font-size:14px; line-height:1.9; }
.library-start__help a { color:#f1d687; display:inline-flex; min-height:44px; align-items:center; margin-right:16px; }
.library-start__help p { margin:0 0 8px; }
#ml-results-bar { scroll-margin-top:90px; }
#ml-results-bar:focus { outline:2px solid #d4c47e; outline-offset:4px; }
@media(max-width:600px) { .journey-guide {padding:20px 16px;} .journey-guide__routes{grid-template-columns:repeat(2,minmax(0,1fr));} .journey-guide__routes a:nth-child(2){border-inline-end:0;} .journey-guide__routes a:nth-child(-n+2){border-bottom:1px solid #576044;} }

.library-start__help button {font:inherit; color:#f1d687; display:inline-flex; min-height:44px; align-items:center; margin-right:16px; padding:0; border:0; background:transparent; text-decoration:underline; cursor:pointer;}
.library-start__help button:focus-visible {outline:2px solid #f0d780;outline-offset:3px;}

/* Four paths on one engraved rail; icons and open spacing avoid a table-like grid. */
.journey-guide__routes {gap:10px; padding:12px 0; background:radial-gradient(ellipse at center,rgba(38,61,40,.65),rgba(11,25,17,.3));}
.journey-guide__routes a {position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);column-gap:12px;align-content:center;border:0;border-radius:6px;}
.journey-guide__routes a::before {content:'♫';grid-row:1 / 3;align-self:center;font-family:serif;font-size:27px;color:#d8c080;text-shadow:0 0 18px rgba(216,192,128,.35);}
.journey-guide__routes a:nth-child(2)::before {content:'♡';}
.journey-guide__routes a:nth-child(3)::before {content:'✦';}
.journey-guide__routes a:nth-child(4)::before {content:'▷';}
.journey-guide__routes strong,.journey-guide__routes span {grid-column:2;}
@media(max-width:600px){.journey-guide__routes{gap:4px;}.journey-guide__routes a{padding:12px 8px;column-gap:8px;}.journey-guide__routes a:nth-child(-n+2){border-bottom:0;}}
@media(max-width:420px){
 .journey-guide__routes{grid-template-columns:1fr;gap:0;}
 .journey-guide__routes a{min-height:76px;padding:10px 12px;column-gap:16px;}
 .journey-guide__routes a::before{justify-self:center;}
}
