/* Separate comparison with user-requested hero, area, and contact refinements. */
.location-hero.location-hero-overlay {
  display: flex;
  align-items: center;
  min-height: 640px;
  background: #071c2b;
}
.location-hero-overlay .location-hero-photo {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 40%;
}
.location-hero-overlay .location-hero-shade {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(90deg, #071a28 0%, rgba(7,26,40,.96) 30%, rgba(7,26,40,.72) 61%, rgba(7,26,40,.24) 100%), linear-gradient(0deg, rgba(7,26,40,.65), transparent 40%);
  pointer-events: none;
}
.location-hero-overlay .location-hero-inner {
  position: relative;
  z-index: 2;
  grid-column: auto;
  grid-row: auto;
  align-self: auto;
  width: min(100%, 1200px);
  margin: auto;
  padding: 64px 24px 88px;
}
.location-hero-overlay h1 {
  max-width: 740px;
  font-size: clamp(60px, 7.4vw, 108px);
  line-height: .84;
  letter-spacing: -1.6px;
}
.location-hero-overlay .location-hero-lead {
  max-width: 640px;
  margin-top: 26px;
  color: #f2f4f5;
  font-size: 20px;
  line-height: 1.43;
}
.location-hero-overlay .location-hero-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  max-width: 640px;
  margin-top: 30px;
}
.location-hero-overlay .location-hero-actions .btn {
  min-width: 0;
  min-height: 52px;
  margin: 0;
  padding: 14px 18px;
  gap: 12px;
  white-space: normal;
}
.location-hero-overlay .location-hero-actions .btn span {
  flex: none;
}
.location-overlay-review #service-area .location-local-layout {
  grid-template-columns: 1fr;
  gap: 28px;
}
.location-overlay-review #service-area h2 {
  max-width: none;
}
.location-overlay-review .location-area-list {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.location-overlay-review .location-area-list li {
  min-height: 80px;
  gap: 10px;
  padding: 16px;
  font-size: 14px;
  line-height: 1.4;
}
.location-overlay-review .location-area-list li::before {
  content: '\2713';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 23px;
  height: 23px;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #9c701f;
  font: 800 22px/1 Arial, sans-serif;
}
@media (max-width: 900px) {
  .location-hero.location-hero-overlay { min-height: 590px; }
  .location-hero-overlay .location-hero-inner { padding: 56px 24px 80px; }
  .location-hero-overlay h1 { max-width: 680px; font-size: clamp(60px, 8.2vw, 76px); }
  .location-hero-overlay .location-hero-lead { max-width: 600px; font-size: 19px; }
  .location-overlay-review .location-area-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .location-hero.location-hero-overlay { min-height: 0; flex-direction: row; }
  .location-hero-overlay .location-hero-photo { object-position: center 38%; }
  .location-hero-overlay .location-hero-shade {
    background: linear-gradient(180deg, rgba(7,26,40,.64) 0%, rgba(7,26,40,.69) 30%, rgba(7,26,40,.91) 66%, #071a28 100%);
  }
  .location-hero-overlay .location-hero-inner { padding: 48px 20px 82px; }
  .location-hero-overlay .location-overline { margin-bottom: 16px; }
  .location-hero-overlay h1 { max-width: 540px; font-size: clamp(50px, 13vw, 72px); line-height: .9; }
  .location-hero-overlay .location-hero-lead { margin-top: 20px; font-size: 17px; line-height: 1.48; }
  .location-hero-overlay .location-hero-actions { gap: 10px; margin-top: 24px; }
  .location-hero-overlay .location-hero-actions .btn { padding: 12px 10px; font-size: 14px; }
  .location-overlay-review #service-area .location-local-layout { gap: 24px; }
  .location-overlay-review .location-area-list li { min-height: 64px; padding: 12px; }
}
@media (max-width: 480px) {
  .location-hero-overlay .location-hero-actions { grid-template-columns: 1fr; }
}
