* { box-sizing: border-box; }
:root{
  --bg: #f6f0f1;
  --panel: #f8f2f2;
  --stroke: #e4d6d7;
  --heading: #986f63;
  --text: #65595d;
  --hero: #5c4851;
}
html, body { margin: 0; padding: 0; }
body{
  background:
    radial-gradient(1200px 520px at 50% 2%, rgba(255,255,255,0.92), rgba(255,255,255,0) 70%),
    linear-gradient(#f7f2f3, #f5efef);
  color: var(--text);
  font-family: "Inter", Arial, sans-serif;
}
.page{ width: min(1230px, calc(100vw - 64px)); margin: 0 auto; padding: 120px 0 52px; }
.hero{ text-align: center; margin-bottom: 58px; }
.hero h1{ margin: 0 0 22px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 46px; line-height: 1; color: var(--hero); font-weight: 500; letter-spacing: 0.2px; }
.hero p{ width: min(1120px, 94%); margin: 0 auto; font-size: 14px; line-height: 1.85; color: #706469; }
.cards{ display: grid; gap: 28px; }
.city-card{ display: grid; grid-template-columns: 340px 1fr; min-height: 286px; background: rgba(250,245,245,0.72); border: 1px solid var(--stroke); border-radius: 6px; overflow: hidden; }
.media-placeholder{ background: #f0e7e7; border-right: 1px solid var(--stroke); background-size:cover; background-position:center; }
.content{ padding: 28px 34px 24px; }
.content h2{ margin: 0 0 18px; font-family: "Cormorant Garamond", Georgia, serif; font-size: 42px; line-height: 1; color: var(--heading); font-weight: 500; }
.content p{ margin: 0; font-size: 14px; line-height: 1.9; color: #675c60; }
.closing{ margin: 44px 4px 26px; color: #6b5f64; font-size: 13px; line-height: 1.9; }
.closing p{ margin: 0 0 8px; }
.footer{ text-align: center; color: #75696f; font-size: 12px; line-height: 1.9; padding-top: 6px; }
.page-nav{ display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin-top:22px; }
.page-nav a{ text-decoration:none; color:#7f666c; border:1px solid #e2d4d6; padding:6px 12px; border-radius:999px; background:rgba(255,255,255,.55); font-size:13px; }
@media (max-width: 980px){
  .page{ width: min(100vw - 28px, 1230px); padding-top: 90px; }
  .hero h1{ font-size: 40px; }
  .city-card{ grid-template-columns: 1fr; min-height: unset; }
  .media-placeholder{ min-height: 220px; border-right: none; border-bottom: 1px solid var(--stroke); }
  .content h2{ font-size: 36px; }
}
@media (max-width: 640px){
  .hero p, .content p, .closing{ font-size: 13px; }
  .content{ padding: 22px 20px; }
  .content h2{ font-size: 32px; }
}

.footer a, .footer-links a{ color: inherit; text-decoration: none; }
.footer a:hover, .footer-links a:hover{ text-decoration: underline; }
