:root{--ink:#1d232b;--mut:#5b6672;--bg:#faf8f5;--card:#fff;--acc:#c2541b;--acc2:#8a3a10;--line:#e6e0d8}
*{box-sizing:border-box}body{margin:0;font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg)}
a{color:var(--acc2)}img{max-width:100%;height:auto;display:block;border-radius:10px}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}h1,h2,h3{line-height:1.2}h2{margin-top:2.2rem}
.top{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}.nav{display:flex;justify-content:space-between;align-items:center;height:60px}
.logo{font-weight:800;color:var(--ink);text-decoration:none;font-size:1.15rem}.logo:first-letter{color:var(--acc)}nav a{margin-left:18px;text-decoration:none;color:var(--ink);font-weight:500}
.btn{display:inline-block;background:var(--acc);color:#fff!important;border:0;border-radius:8px;padding:12px 20px;font-weight:700;text-decoration:none;cursor:pointer;font-size:1rem}.btn:hover{background:var(--acc2)}.btn.sm{padding:7px 13px;font-size:.9rem}.btn.ghost{background:transparent;color:var(--acc2)!important;border:1.5px solid var(--acc)}
.hero{background-size:cover;background-position:center;color:#fff;padding:110px 0 120px}.hero.sm{padding:60px 0}.hero h1{font-size:clamp(2rem,4.5vw,3.2rem);margin:0 0 .5rem;max-width:760px}.hero .lead{font-size:1.2rem;max-width:620px;opacity:.95}.hero a{color:#fff}
.pick{display:flex;gap:10px;margin-top:22px;max-width:480px}.pick select{flex:1;padding:12px;border-radius:8px;border:0;font-size:1rem}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.grid.two{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}
.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.card h3{margin:0 0 6px;font-size:1.05rem}.card h3 a{color:var(--ink);text-decoration:none}.meta{margin:2px 0;color:var(--mut);font-size:.92rem}.meta.big{font-size:1.05rem}.stars{color:#b7791f;font-weight:700}.acts{margin:10px 0 0}
.tag{background:#fdeee4;color:var(--acc2);font-size:.75rem;padding:2px 8px;border-radius:99px;font-weight:600}.tag.alt{background:#e8eef5;color:#2f4a66}
.citycard{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s}.citycard:hover{transform:translateY(-3px)}.citycard img{border-radius:0;aspect-ratio:16/9;object-fit:cover;width:100%}.citycard span{display:block;padding:12px 14px}.citycard small{display:block;color:var(--mut)}
.band{background:#efe8df;padding:30px 0;margin:40px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:36px;padding-top:24px;padding-bottom:40px}aside .quote{position:sticky;top:80px}
.quote{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px;box-shadow:0 6px 24px rgba(0,0,0,.06)}.quote h3{margin-top:0}.quote label{display:block;font-size:.88rem;font-weight:600;margin:10px 0 0}.quote input,.quote select,.quote textarea{width:100%;padding:10px;border:1px solid #cfc7bd;border-radius:7px;font:inherit;margin-top:4px}.quote .btn{width:100%;margin-top:14px}.hp{position:absolute;left:-9999px}
.small{font-size:.85rem;color:var(--mut)}.note{background:#fff7e6;border-left:4px solid #e0a43a;padding:10px 14px;border-radius:6px}
.intro{font-size:1.15rem}.toc a,.chips a{display:inline-block;margin:0 8px 8px 0;padding:6px 12px;background:#fff;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:.9rem}
details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin:10px 0}summary{font-weight:700;cursor:pointer}
.info{display:grid;grid-template-columns:1fr 280px;gap:20px;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px}dl{margin:0;display:grid;grid-template-columns:120px 1fr;gap:8px}dt{font-weight:700;color:var(--mut)}dd{margin:0}
.hours{font-size:.9rem;border-collapse:collapse;width:100%}.hours caption{text-align:left;font-weight:700}.hours th{text-align:left;padding:2px 10px 2px 0;font-weight:500}
table{border-collapse:collapse;width:100%;background:#fff}.prose td,.prose th{border:1px solid var(--line);padding:8px 10px;text-align:left}.feat{margin:10px 0 20px}
.bc{font-size:.88rem;color:var(--mut)}.guidelist{list-style:none;padding:0}.guidelist a{display:flex;gap:12px;align-items:center;padding:8px 0;text-decoration:none;color:var(--ink);font-weight:600}.guidelist img{width:96px}
.foot{background:#1d232b;color:#c9d0d8;margin-top:50px;padding:36px 0 20px}.foot a{color:#fff}.foot .cols{display:grid;grid-template-columns:2fr 1fr 2fr;gap:30px}.foot ul{list-style:none;padding:0;margin:6px 0}.foot .small{color:#8c96a0}
@media(max-width:860px){.layout,.split,.info,.foot .cols{grid-template-columns:1fr}nav a:not(.btn){display:none}.hero{padding:70px 0}aside .quote{position:static}}
/* readability fix: stronger hero contrast + bolder top nav */
.hero{position:relative;isolation:isolate}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,20,.82) 0%,rgba(10,14,20,.6) 55%,rgba(10,14,20,.35) 100%);z-index:-1}
.hero h1,.hero .lead,.hero p{color:#fff;opacity:1;text-shadow:0 2px 10px rgba(0,0,0,.6)}.hero h1{font-weight:800}
.logo{color:#111}nav a{color:#111;font-weight:600}
/* v3: solid dark header */
.hero{background:#14213d !important}.hero::before{display:none}
.hero,.hero *{color:#fff !important;opacity:1 !important}.hero .lead,.hero p{font-weight:500}
.top{background:#0b1220}.logo,nav a:not(.btn){color:#fff !important;font-weight:700}
.hero select,.hero option,.hero input{color:#111 !important;background:#fff}
