:root{--accent:#e64a19;--ink:#201f1d;--muted:#6f6a65;--paper:#fffdf9;--soft:#f5efe8;--line:#e7ded5;--card:#ffffff;--shadow:0 10px 30px rgba(35,25,17,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:Georgia,'Times New Roman',serif;line-height:1.65;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{width:min(100% - 32px,760px);margin-inline:auto}.site-header{padding:28px 0 14px}.brand-kicker{font-family:Arial,sans-serif;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.brand-title{margin:.3rem 0 0;color:var(--accent);font-size:clamp(2rem,8vw,4.25rem);line-height:.98;letter-spacing:-.035em}.hero{padding:8px 0 28px}.hero p{font-size:1.08rem}.rule{height:2px;width:38px;background:var(--accent);margin:24px 0}.map-card,.audio-card,.text-card{background:var(--card);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.map-card{padding:20px;margin:20px 0 28px;overflow:hidden}.map-title{font-family:Arial,sans-serif;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:0 0 14px}.tour-map{position:relative;padding:8px 4px 4px}.tour-map:before{content:"";position:absolute;left:25px;top:20px;bottom:28px;width:2px;background:linear-gradient(var(--accent),#d7c1ae)}.stop-link{position:relative;display:grid;grid-template-columns:50px 1fr;gap:12px;align-items:center;text-decoration:none;padding:9px 0}.stop-dot{width:44px;height:44px;border-radius:50%;background:var(--accent);color:white;display:grid;place-items:center;font-family:Arial,sans-serif;font-weight:700;z-index:1;border:4px solid var(--paper)}.stop-link strong{display:block;font-size:1rem}.stop-link span:last-child{font-family:Arial,sans-serif;color:var(--muted);font-size:.82rem}.stop-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:24px 0 40px}.stop-chip{display:flex;gap:12px;align-items:center;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;text-decoration:none}.stop-chip b{color:var(--accent);font-family:Arial,sans-serif}.stop-chip span{font-weight:700}.footer{border-top:1px solid var(--line);padding:24px 0 42px;color:var(--muted);font-family:Arial,sans-serif;font-size:.82rem}.stop-head{padding:18px 0 8px}.eyebrow{font-family:Arial,sans-serif;color:var(--accent);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700}.stop-title{font-size:clamp(2rem,9vw,3.8rem);line-height:1.02;margin:.4rem 0 1rem;color:var(--accent);letter-spacing:-.03em}.lead{font-size:1.05rem}.audio-card{padding:18px;margin:20px 0}.audio-card audio{width:100%;margin-top:8px}.audio-note{font-family:Arial,sans-serif;font-size:.84rem;color:var(--muted);margin:.6rem 0 0}.text-card{padding:20px;margin:20px 0 28px}.text-card h2{margin-top:0;color:var(--accent);font-size:1.25rem}.text-card p{margin:0 0 1em}.text-card p:last-child{margin-bottom:0}.nav{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:24px 0 40px}.btn{display:flex;align-items:center;justify-content:center;min-height:52px;padding:12px 14px;border-radius:14px;text-decoration:none;font-family:Arial,sans-serif;font-weight:700;border:1px solid var(--line);background:#fff}.btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn.full{grid-column:1/-1}.qr-box{display:flex;align-items:center;gap:16px;padding:16px;border:1px dashed #cdbbac;border-radius:16px;background:var(--soft);margin:16px 0 0}.qr-box img{width:96px;height:96px;background:#fff}.qr-box small{font-family:Arial,sans-serif;color:var(--muted)}.notice{background:var(--soft);border-left:4px solid var(--accent);padding:14px 16px;border-radius:10px;margin:18px 0;font-family:Arial,sans-serif;font-size:.9rem}.screen-reader{position:absolute;left:-9999px}
@media(min-width:700px){.site-header{padding-top:44px}.hero{padding-bottom:42px}.map-card{padding:28px}.stop-grid{grid-template-columns:1fr 1fr}.text-card,.audio-card{padding:26px}.nav{grid-template-columns:1fr 1fr 1fr}.btn.full{grid-column:auto}.tour-map:before{left:29px}.stop-link{grid-template-columns:58px 1fr}.stop-dot{width:50px;height:50px}}
