body.page-home .home-banner {
  --hero-gutter: max(32px, calc((100% - 1140px) / 2));
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 18px;
  height: auto;
  min-height: 465px;
  padding: 42px var(--hero-gutter) 54px;
  isolation: isolate;
  background-position: center 58%;
  border-radius: 0 0 24px 24px;
}
.page-home .home-banner::before {
  z-index: -1;
  background: linear-gradient(95deg, #18171af5 0%, #18171ad9 25%, #201b1a65 63%, #18171a28 100%),
    linear-gradient(0deg, #1614179c, transparent 55%);
}
.page-home .banner-copy {
  position: static;
  text-shadow: none;
}
.banner-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #fff;
  font: 500 13px/1.5 "Be Vietnam Pro", sans-serif;
}
.banner-eyebrow::before {
  content: "";
  width: 22px;
  height: 3px;
  border-radius: 3px;
  background: #ff6659;
}
.page-home .banner-copy h1 {
  font-size: clamp(32px, 5vw, 61px);
  line-height: 1.12;
  letter-spacing: -.035em;
  margin: 10px 0;
}
.page-home .banner-copy p { max-width: 44ch; font-size: 16px; line-height: 1.5; }
body.page-home .home-banner > .hero {
  position: static !important;
  transform: none;
  order: 1;
  width: min(100%, 620px);
  margin: 0;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 12px 38px #17141745;
}
.page-home .home-banner .hero .hero-content { padding: 0 12px 12px; }
.page-home .home-banner .hero .filter-row { margin-bottom: 8px; }
.page-home .home-banner .hero .filter-row .tabs { justify-content: flex-start; }
.page-home .home-banner .hero .filter-row .tabs button {
  color: #505050;
  border-bottom-color: #e7e7e7;
  transition: color 160ms ease, border-color 160ms ease;
}
.page-home .home-banner .hero .filter-row .tabs button.active {
  color: #a52a24;
  border-bottom-color: #e03c31;
}
.page-home .home-banner #searchForm .primary { min-height: 36px; }
.page-home .banner-places {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  order: 2;
}
.banner-places a {
  padding: 6px 12px;
  border: 1px solid #ffffff70;
  border-radius: 30px;
  background: #201a1980;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  transition: background 160ms ease, border-color 160ms ease;
}
.banner-places a:hover, .banner-places a:focus-visible {
  background: #a52a24;
  border-color: #fff;
}
.page-home .banner-caption { color: #fff; background: #18171ab0; padding: 2px 7px; border-radius: 4px; }
@media (max-width: 760px) {
  body.page-home .home-banner { --hero-gutter: 16px; min-height: 0; padding-block: 29px 44px; gap: 15px; background-position: 61% center; border-radius: 0 0 16px 16px; }
  .page-home .home-banner::before { background: linear-gradient(90deg, #18171aed, #18171a94); }
  .page-home .banner-copy p { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .banner-places a, .page-home .home-banner .hero .filter-row .tabs button { transition: none; }
}
.home-service-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 32px;
}
.home-service-links a {
  display: grid;
  gap: 4px;
  padding: 13px 16px;
  border: 1px solid #e7e7e7;
  border-radius: 9px;
  color: #2c2c2c;
  text-decoration: none;
}
.home-service-links a:hover, .home-service-links a:focus-visible { border-color: #be3027; }
.home-service-links strong { color: #a52a24; }
.home-service-links span { font-size: 13px; }
@media (max-width: 600px) {
  .home-service-links { grid-template-columns: 1fr; gap: 8px; }
}
