/* Keep the approved card's layout; use real photos rather than card-image crops. */
body .hero { min-height: 540px; background: #ece8e3 url('/assets/card-room-clean.webp') center 48% / cover no-repeat; }
body .hero:before { background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.99) 22%, rgba(255,255,255,.76) 35%, rgba(255,255,255,0) 55%); }
body .approach-photo { background: #d8d7d2 url('/assets/living-room.png') center 53% / cover no-repeat; }

.mast { height: 80px; }
.brand { font-size: 26px; }
.brand svg { width: 49px; height: 49px; }
.mast nav { gap: clamp(18px, 2.2vw, 36px); }
.mast nav a { white-space: nowrap; }
.nav-call { padding: 16px 24px; }

.hero-copy { max-width: 790px; padding-top: 59px; padding-right: 20px; padding-bottom: 48px; }
.hero h1 { width: max-content; max-width: 100%; font-size: clamp(50px, 4.15vw, 67px); line-height: 1.04; letter-spacing: -.037em; margin-bottom: 24px; }
.hero p { max-width: 505px; font-size: 20px; line-height: 1.47; margin-bottom: 23px; }
.hero .hero-small { display: none; }
.button { min-height: 59px; }

.services { padding-top: 27px; padding-bottom: 31px; }
.section-head h2 { font-size: 29px; }
.service-grid { gap: 11px; }
.service-grid a { min-height: 133px; grid-template-rows: 57px 1fr; padding: 15px 19px; font-size: 15px; border-color: #e0e6ea; }
.service-grid svg { width: 39px; height: 39px; }
body .service-grid a b { right: 16px; bottom: 19px; font-size: 26px; line-height: 1; }
body .service-grid a b:after { content: none; }

.approach { min-height: 355px; }
.approach-copy { padding-top: 52px; padding-bottom: 49px; }
.approach-copy h2 { font-size: clamp(31px, 3.1vw, 46px); }

@media (max-width: 1200px) {
  .mast nav { gap: 16px; }
  .mast nav a { font-size: 13px; }
  .brand { font-size: 22px; }
  .brand svg { width: 42px; height: 42px; }
}

@media (max-width: 700px) {
  .mast { height: auto; min-height: 0; padding-block: 13px; }
  .mast nav { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px 15px; width: 100%; padding-top: 10px; }
  .mast nav a { white-space: normal; }
  body .hero { min-height: 0; background-image: none; background-color: #fff; }
  body .hero:before { content: none; }
  body .hero:after { content: ''; position: absolute; inset: auto 0 0; height: 260px; background: url('/assets/card-room-clean.webp') center 47% / cover no-repeat; }
  .hero-copy { padding: 40px 20px 283px; }
  .hero h1 { width: auto; font-size: clamp(42px, 10vw, 55px); }
  .hero p { font-size: 17px; }
  .service-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .service-grid a { min-height: 135px; padding: 13px 12px; font-size: 13px; }
  .service-grid svg { width: 34px; height: 34px; }
  body .service-grid a b { bottom: 15px; right: 11px; font-size: 23px; }
  .approach-photo { min-height: 255px; }
  .approach-copy { padding: 35px 20px 40px; }
}
