:root{--bg:#f4efe7;--paper:#fffdf9;--ink:#1d1d1d;--muted:#655f57;--red:#7d1d24;--gold:#c7903a;--line:#e0d5c4;--soft:#f0e7db}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 "Segoe UI",Arial,sans-serif}
a{color:var(--red)}
.wrap{max-width:1000px;margin:auto;padding:22px}
header{background:linear-gradient(135deg,#4f0f12,#7d1d24 55%,#ac5930);color:#fff;padding:28px 0 42px}
nav{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;align-items:center}
nav a{color:#fff;font-weight:700;text-decoration:none}
h1{font-size:clamp(2.5rem,7vw,4.5rem);line-height:1;margin:44px 0 12px}
h2{margin:0 0 10px;font-size:1.65rem}
.lede{max-width:760px;color:#f5e9df;font-size:1.1rem}
main{padding-top:28px}
section,.card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:20px;margin:0 0 18px}
.sights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.sight{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.sight h3{margin:0 0 4px}
.sight p{margin:0 0 8px;color:var(--muted)}
.destination-overview h2{margin:0 0 12px}
.destination-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0}
.destination-fields>div,.sight-details>div{min-width:0;background:#f8f2ea;border:1px solid var(--line);border-radius:9px;padding:9px 11px}
.destination-fields dt,.sight-details dt{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}
.destination-fields dd,.sight-details dd{margin:3px 0 0;font-weight:650}
.local-sights-note{margin:12px 0 0;padding:10px 12px;border-left:4px solid var(--gold);background:#fff7df;color:#514638;border-radius:5px}
.sight-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}
.sight-details dd{font-size:.87rem}
.optional-museum-label{display:inline-block;margin:2px 0 7px;color:#655f57;font-size:.72rem;font-weight:700}
.optional-museum{order:1}
.links{display:flex;gap:10px;flex-wrap:wrap;font-weight:700}
.pill{display:inline-block;background:var(--soft);border:1px solid var(--line);border-radius:999px;padding:6px 10px;text-decoration:none}
.note{border-left:5px solid var(--gold);background:#fff7df;padding:12px 15px;border-radius:8px}
.attraction-map{height:440px;min-height:320px;border:1px solid var(--line);border-radius:12px;z-index:0}
.map-pin-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px;padding-left:24px}
.map-pin-list li{padding:4px 0}
.map-pin-list button{margin:0 6px;border:1px solid var(--line);border-radius:999px;background:var(--soft);padding:5px 9px;color:var(--red);font:inherit;font-weight:700;cursor:pointer}
.photo-spots-title-row{display:grid;grid-template-columns:minmax(70px,130px) minmax(0,1fr) minmax(70px,130px);align-items:center;gap:14px;margin-bottom:12px}
.photo-spots-title-row h2{margin:0;text-align:center}
.photo-spot-heading-image{min-width:0;margin:0;overflow:hidden;border-radius:8px}
.photo-spot-heading-image img{display:block;width:100%;height:76px;object-fit:cover;border-radius:7px}
.photo-spot-heading-image figcaption{padding:3px 0 0;color:var(--muted);font-size:.58rem;line-height:1.25;overflow-wrap:anywhere}
.night-sights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.night-sight{min-width:0;background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px}
.night-sight h3{margin:0 0 8px}
.night-sight p{margin:0 0 9px}
.night-sight .links{margin:0}
footer{text-align:center;color:var(--muted);padding:18px 22px 40px}
@media(max-width:650px){.sights,.night-sights{grid-template-columns:1fr}.destination-fields,.sight-details{grid-template-columns:1fr}.wrap{padding:16px}.attraction-map{height:360px}.map-pin-list{grid-template-columns:1fr}.photo-spots-title-row{grid-template-columns:62px minmax(0,1fr) 62px;gap:7px}.photo-spot-heading-image img{height:48px}.photo-spot-heading-image figcaption{font-size:.5rem}}
.destination-photo{margin:0 0 18px;padding:0;overflow:hidden}
.destination-photo img{display:block;width:100%;height:clamp(190px,34vw,360px);object-fit:cover;border-radius:10px}
.destination-photo figcaption{padding:7px 0 0;color:var(--muted);font-size:.75rem}
.sight-photo{margin:10px 0;overflow:hidden;border-radius:9px;background:var(--soft)}
.sight-photo img{display:block;width:100%;height:clamp(150px,23vw,230px);object-fit:cover}
.sight-photo figcaption{padding:6px 9px;color:var(--muted);font-size:.72rem;line-height:1.4}
.sight-photo figcaption a{font-weight:700}
.checklist{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}
.checklist label{display:flex;gap:9px;align-items:flex-start;padding:7px 0}
.checklist input{margin-top:5px;accent-color:var(--red)}
@media(max-width:650px){.checklist{grid-template-columns:1fr}}
.stations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.station{background:#fff;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:12px;padding:14px;scroll-margin-top:16px;min-width:0}
.station h3{margin:0 0 4px}
.station .station-role{margin:0 0 6px;color:var(--red);font-weight:700}
.station p{margin:0 0 8px}
.station figure{margin:10px 0 0}
.station img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:8px}
.station figcaption{margin-top:4px;color:var(--muted);font-size:.82rem}
@media(max-width:650px){.stations{grid-template-columns:1fr}}
.song-heritage{border-top:4px solid var(--gold)}
.song-sites{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:12px}
.song-site{background:#fffaf0;border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:14px;scroll-margin-top:16px;min-width:0}
.song-site h3{margin:0 0 4px}
.song-site h3 span{color:var(--muted);font-weight:400;font-size:.9em}
.song-era{display:inline-block;margin:0 0 6px;padding:2px 9px;border-radius:999px;background:#f6e6c6;color:#6a4a10;font-size:.8rem;font-weight:700}
.song-site p{margin:0 0 8px}
.song-fit{color:var(--muted);font-size:.9rem}
@media(max-width:650px){.song-sites{grid-template-columns:1fr}}
.drone-note{margin:12px 0 0;padding:10px 12px;border-left:4px solid #3b6ea5;background:#eef4fb;border-radius:5px}
.station.hotel{border-left-color:#1f4e79}
.station.hotel .station-role{color:#1f4e79}
.guide-index{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:14px;margin:0 0 18px}
.guide-index h2{margin:0 0 8px;color:var(--muted);font-size:.76rem;letter-spacing:.08em;text-transform:uppercase}
.guide-index ol{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.guide-index a{display:block;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#f8f1e7;color:var(--ink);font-size:.86rem;font-weight:600;line-height:1.3;text-decoration:none}
.guide-index a:hover{border-color:var(--red);color:var(--red)}
.guide-index a.active{background:var(--red);border-color:var(--red);color:#fff}
main section[id]{scroll-margin-top:16px}
@media(min-width:1100px){
body.has-guide-index header .wrap,main.wrap.has-guide-index{max-width:1240px}
main.has-guide-index{display:grid;grid-template-columns:210px minmax(0,1fr);column-gap:22px;align-items:start}
main.has-guide-index>*{grid-column:2;min-width:0}
main.has-guide-index>.guide-index{grid-column:1;grid-row:1/span 200;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto}
.guide-index ol{display:block}
.guide-index li+li{margin-top:6px}
}
