:root { --bg:#0b0c0e; --line:#2a2e35; --text:#f2efe8; --muted:#9a958b; --gold:#d4a24a; }
* { box-sizing:border-box; margin:0; padding:0; }
body { font-family:Geist,system-ui,sans-serif; background:#070808; color:var(--text); line-height:1.5; }
a { color:inherit; text-decoration:none; }
.page { width:min(1180px,100%); margin:0 auto; background:var(--bg); }
header { display:flex; justify-content:space-between; align-items:center; gap:20px; padding:16px 28px; border-bottom:1px solid var(--line); }
.logo { letter-spacing:.22em; font-size:13px; font-weight:700; }
.logo span { color:var(--gold); }
.back { color:var(--muted); font-size:12px; }
.nav { display:flex; gap:18px; flex-wrap:wrap; align-items:center; }
.nav a { color:var(--muted); font-size:13px; letter-spacing:.04em; }
.nav a:hover { color:var(--text); }
.nav a.on { color:var(--text); }
.hero { position:relative; height:38vh; min-height:280px; overflow:hidden; }
.hero img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; }
.hero .shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(11,12,14,.12),rgba(11,12,14,.88)); }
.hero-text { position:absolute; left:28px; right:28px; bottom:26px; }
h1 { font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-size:clamp(36px,5.5vw,64px); line-height:.95; margin-bottom:10px; }
h2 { font-family:"Instrument Serif",Georgia,serif; font-weight:400; font-size:42px; margin-bottom:28px; color:var(--text); letter-spacing:-0.02em; text-align:center; }
p { color:var(--muted); font-size:18px; line-height:1.7; }
.lines { color:#c9c4ba; font-size:17px; line-height:1.85; max-width:22em; text-align:center; }
.lines span { display:block; margin:0 0 22px; }
.meta-note { color:var(--muted); font-size:13px; }
.hero-text p { color:#d7d2c8; max-width:36em; }
.row { display:grid; grid-template-columns:.38fr .62fr; align-items:stretch; gap:20px; padding:16px 20px; }
.row:last-of-type { padding-bottom:20px; }
.row .pic { min-height:380px; height:38vh; overflow:hidden; border-radius:2px; }
.row .pic img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
.row .txt { padding:48px 40px; display:flex; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:12px; }
.brief { display:grid; grid-template-columns:repeat(4,1fr); border-bottom:1px solid var(--line); }
.brief div { padding:18px 20px; border-right:1px solid var(--line); color:var(--muted); font-size:14px; }
.brief div:last-child { border-right:0; }
.brief b { display:block; color:var(--gold); font-size:11px; letter-spacing:.12em; text-transform:uppercase; margin-bottom:6px; }
.cities { display:grid; grid-template-columns:repeat(5,1fr); }
.cities a, .cities div { display:block; border-top:1px solid var(--line); padding:16px 14px; font-size:13px; color:var(--muted); }
.cities a:hover, .cities div { color:var(--text); }
.cities a b, .cities div b { display:block; color:var(--text); font-weight:500; margin-bottom:4px; }
.foot { padding:12px 20px 20px; color:var(--muted); font-size:12px; display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap; }
@media (max-width:800px){
  .row, .brief, .cities { grid-template-columns:1fr; }
  .brief div { border-right:0; border-bottom:1px solid var(--line); }
  .row .pic { min-height:200px; height:200px; }
}

.prose { max-width:38em; margin:48px auto; padding:36px 28px 64px; text-align:left; }
.prose h2 { text-align:left; font-size:36px; margin:0 0 18px; }
.prose p { color:#c9c4ba; font-size:17px; line-height:1.85; margin:0 0 28px; }
