.visitor-guide { max-width:1120px; padding-bottom:64px; }
.visitor-guide>section { margin-block:44px; }.visitor-guide p,.visitor-guide li { max-width:82ch; line-height:1.8; }
.guide-choices { display:flex; flex-wrap:wrap; gap:8px 24px; padding-block:12px; border-block:1px solid var(--rule); }.guide-choices a { display:flex; align-items:center; min-height:44px; }
.guide-table-wrap { overflow:auto; }.guide-table-wrap table { border-collapse:collapse; min-width:560px; width:100%; font-size:14px; }.guide-table-wrap caption { text-align:left; margin-bottom:16px; }.guide-table-wrap th,.guide-table-wrap td { text-align:left; padding:16px; vertical-align:top; border-bottom:1px solid var(--rule); }.guide-table-wrap thead { background:var(--bcc-cream); }
.visitor-listings { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px; }.visitor-listings article { padding-top:24px; border-top:2px solid var(--bcc-pine); }.visitor-listings h3 { font:500 28px/1.2 var(--serif); }.visitor-listings .meta { font-size:12px; }
.guide-selection,.guide-source-note { background:var(--bcc-cream); padding:24px; }.route-schematic { width:100%; height:auto; background:var(--bcc-cream); }.route-schematic text { font:16px var(--sans); fill:var(--bcc-pine); }.route-schematic .route-label { font-weight:600; }.route-schematic .route-line { fill:none; stroke:var(--bcc-pine); stroke-width:4; }.route-schematic .route-option { stroke-dasharray:8 6; stroke:#a84e27; }
.route-profile svg { width:100%; height:auto; }.route-profile { margin:32px 0; }.route-profile figcaption { font-size:13px; }
@media(max-width:650px) { .visitor-listings { grid-template-columns:1fr; }.visitor-guide>section { margin-block:32px; }.visitor-guide .guide-selection,.visitor-guide .guide-source-note { padding:20px; } }
@media print { .visitor-guide>section { break-inside:avoid; }.visitor-listings { display:block; }.guide-table-wrap { overflow:visible; }.guide-table-wrap table { min-width:0; } }
