.places-page,.place-detail-page{background:#06080c;color:#eef1f4}
.places-hero,.place-detail-hero{max-width:var(--max);margin:0 auto;padding:48px 20px 34px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr);gap:30px;align-items:center}
.places-hero h1,.place-detail-hero h1{margin:8px 0 16px;font:900 clamp(3rem,7vw,6.3rem)/.92 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.places-hero p,.place-detail-hero p{color:#c2cad3;line-height:1.72}
.places-hero-art,.place-detail-art{min-height:430px;border:1px solid var(--line);background:#0b1017 center/cover no-repeat;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.places-intro{max-width:var(--max);margin:0 auto;padding:0 20px 24px}
.places-grid{max-width:var(--max);margin:0 auto;padding:12px 20px 58px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.place-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#0b1017;color:#eef1f4;text-decoration:none;min-width:0}
.place-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.place-card-copy{padding:18px}
.place-card .meta,.place-fact span,.place-links span{color:var(--red);font-size:.65rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.place-card h2{margin:7px 0 9px;font:900 1.45rem/1.05 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.place-card p{margin:0;color:#b9c1ca;line-height:1.55}
.place-card b{display:block;margin-top:14px;color:#fff}
.place-facts{max-width:var(--max);margin:0 auto;padding:0 20px 30px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.place-fact{padding:15px 16px;border:1px solid var(--line);background:#0b1017}
.place-fact strong{display:block;margin-top:6px;color:#f1f3f4}
.place-story{max-width:var(--max);margin:0 auto;padding:0 20px 58px;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:34px}
.place-story article{min-width:0}
.place-story article>p,.place-story article li{color:#c6cdd5;line-height:1.75}
.place-story h2{margin-top:34px}
.place-story .method-note{margin:26px 0;padding:18px 20px;border-left:3px solid var(--red);background:#0b1017;color:#c9d0d8;line-height:1.65}
.place-links{display:grid;gap:9px;align-content:start}
.place-links .rail-card{padding:17px;border:1px solid var(--line);background:#0b1017}
.place-links a{display:block;margin-top:8px;color:#eef1f4;text-decoration:none}
.place-links a:hover{color:#fff}
.place-sources{margin-top:34px;padding-top:20px;border-top:1px solid var(--line)}
.place-sources a{display:block;margin:7px 0}
.places-navband{max-width:var(--max);margin:0 auto 54px;padding:0 20px}
.places-navband a{display:inline-block;padding:12px 16px;border:1px solid var(--line);background:#0b1017;color:#eef1f4;text-decoration:none}
@media(max-width:980px){.places-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.place-story{grid-template-columns:1fr}.place-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.places-hero,.place-detail-hero{grid-template-columns:1fr}.places-hero-art,.place-detail-art{min-height:300px}.place-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:580px){.places-grid,.place-links{grid-template-columns:1fr}.place-facts{grid-template-columns:1fr}.places-hero h1,.place-detail-hero h1{font-size:clamp(2.7rem,15vw,4.5rem)}}
.places-directory{max-width:var(--max);margin:0 auto;padding:0 20px 58px}
.places-directory .places-grid{max-width:none;padding:12px 0 54px}
.places-section-head{padding:28px 0 6px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.7fr);gap:20px;align-items:end}
.places-section-head:first-child{border-top:0}
.places-section-head h2{margin:4px 0 0;font:900 clamp(2rem,4vw,3.5rem)/.95 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.places-section-head>p{margin:0;color:#9eabb6;line-height:1.65}
.continuity-pill{display:inline-flex;width:max-content;margin:0 0 8px;padding:5px 8px;border:1px solid rgba(255,255,255,.13);font-size:.58rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.continuity-pill.canon{color:#d7e6ef;background:rgba(112,151,177,.11)}
.continuity-pill.legends{color:#e1cba8;background:rgba(169,126,68,.11)}
.place-card-game-art{aspect-ratio:16/9;padding:20px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 78% 20%,rgba(149,56,65,.28),transparent 30%),linear-gradient(145deg,#18212c,#080b10);border-bottom:1px solid var(--line)}
.place-card-game-art span{color:#aeb8c2;font-size:.7rem;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.place-card-game-art strong{margin-top:7px;color:#fff;font:900 1.8rem/1 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.place-detail-art-game{padding:32px;display:flex;flex-direction:column;justify-content:flex-end;background:radial-gradient(circle at 75% 18%,rgba(164,49,60,.34),transparent 32%),linear-gradient(145deg,#17212d,#070a0f)}
.place-detail-art-game span{color:#b6c0ca;font-size:.72rem;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.place-detail-art-game strong{display:block;margin-top:10px;color:#fff;font:900 clamp(2.4rem,6vw,5rem)/.9 "Arial Narrow",Impact,sans-serif;text-transform:uppercase}
.place-detail-art-game small{margin-top:10px;color:#788693;font-size:.68rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.place-links .rail-card>strong{display:block;margin-top:8px}
.place-links .rail-card>p{margin:5px 0 0;color:#8f9aa5}
@media(max-width:760px){.places-section-head{grid-template-columns:1fr}}

/* Places hub hero without artwork */
.places-page .places-hero{
  grid-template-columns:minmax(0,1fr);
  gap:0;
  padding-bottom:26px;
}
.places-page .places-hero>div:first-child{
  max-width:980px;
}
.places-page .places-hero h1{
  max-width:980px;
}
