/* Shared routed-page system: match the approved homepage's type, spacing and rounded visual field. */
.page-hero {
  min-height: min(650px, calc(100svh - 132px));
  margin: 108px 28px 0;
  padding: 96px 0 82px;
  border-radius: 32px;
  background: #f7f7f5;
  isolation: isolate;
}
.page-hero img { border-radius: inherit; filter: brightness(.56) saturate(.78) contrast(.96); }
.page-hero::after { border-radius: inherit; background: linear-gradient(90deg, rgba(23,23,23,.8) 0%, rgba(23,23,23,.5) 42%, rgba(23,23,23,.1) 75%); }
.page-hero .container { width: min(calc(100% - 96px), 1440px); }
.page-hero .eyebrow { color: rgba(255,255,255,.76); }
.page-hero h1 { max-width: 760px; margin: 8px 0 0; color: #fff; font-size: 54px; font-weight: 900; line-height: 1.05; letter-spacing: -.075em; text-shadow: none; word-break: keep-all; }

/* Normalize the legacy route-only components to the homepage text hierarchy. */
.page-hero + .section { padding-top: 124px; }
.timeline { max-width: 960px; margin-top: 38px; }
.timeline-item { padding: 0 0 44px 56px; }
.timeline-item time { color: #a47726; font-size: 14px; font-weight: 600; line-height: 20px; }
.timeline-item h3 { margin: 7px 0 8px; color: #171717; font-size: 20px; font-weight: 600; line-height: 30px; letter-spacing: -.035em; }
.timeline-item p, .review-card small, .muted { color: #656565; font-size: 14px; font-weight: 500; line-height: 20px; letter-spacing: -.02em; }
.news-list { background: rgba(23,23,23,.14); border-color: rgba(23,23,23,.14); }
.news-item { min-height: 94px; padding: 24px 12px; background: #fff; }
.menu-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 30px 0; }
.filter-btn { border: 1px solid rgba(23,23,23,.16); border-radius: 999px; background:#fff; color:#555; padding: 9px 14px; font: inherit; font-size: 14px; font-weight: 600; line-height: 20px; }
.filter-btn.active, .filter-btn:hover { border-color:#171717; background:#171717; color:#fff; }
.review-card { border-color: #e5e5e1; border-radius: 18px; box-shadow:none; }
.review-card .stars { color:#a47726; font-size:14px; }
.location-info { padding-left: 46px; }

@media (max-width: 1020px) {
  .page-hero { min-height: 560px; padding: 84px 0 62px; }
  .page-hero .container { width: min(calc(100% - 64px), 1440px); }
}
@media (max-width: 680px) {
  .page-hero { min-height: 470px; margin: 78px 12px 0; padding: 72px 0 46px; border-radius: 24px; }
  .page-hero .container { width: min(calc(100% - 32px), 1440px); }
  .page-hero::after { background: linear-gradient(0deg, rgba(23,23,23,.76) 0%, rgba(23,23,23,.3) 68%, rgba(23,23,23,.08) 100%); }
  .page-hero h1 { font-size: 38px; line-height: 1.08; letter-spacing: -.07em; }
  .page-hero + .section { padding-top: 82px; }
  .location-info { padding-left: 0; }
  .news-item { min-height: 0; padding: 20px 0; }
  .timeline-item { padding-left: 46px; }
}
