.home-refresh { background: #f7f7f0; padding: 3.5rem 0 4rem; }
.home-refresh .hero-grid { align-items: center; gap: 3rem; }
.home-refresh .hero-content h1 { color: #173e37; line-height: 1.5; }
.home-refresh .hero-content h1 span { color: #c26d43; }
.home-refresh .hero-content > p { color: #52645d; max-width: 35rem; line-height: 2; }
.home-refresh .hero-actions { display: flex; flex-direction: column; align-items: flex-start; gap: .7rem; max-width: 21rem; }
.home-refresh .hero-actions > a, .home-refresh .customer-install-button { width: 100%; justify-content: center; text-align: center; min-height: 3.35rem; border-radius: .75rem; }
.home-refresh .hero-actions > a { background: #174f45; border-color: #174f45; }
.home-refresh .customer-install-button { display: inline-flex; align-items: center; background: transparent; border: 1px solid #174f45; color: #174f45; font: inherit; font-weight: 700; cursor: pointer; }
.customer-install-help { background: #eaf1eb; padding: .8rem 1rem; border-radius: .7rem; color: #244c40; font-size: .88rem; line-height: 1.9; }
.customer-install-help[hidden] { display: none; }
.customer-install-status:empty { display: none; }
.customer-install-status { margin: 0; font-size: .85rem; color: #31564b; }
.home-refresh .hero-trust { display: flex; flex-wrap: wrap; gap: 1rem; color: #49655a; margin-top: 1.4rem; }
.home-refresh .hero-visual { border-radius: 1.5rem; overflow: hidden; box-shadow: 0 18px 45px rgba(29, 68, 55, .13); }
.home-refresh .hero-photo { width: 100%; height: 100%; min-height: 320px; object-fit: cover; border-radius: 1.5rem; }
#services .service-card { border-radius: 1rem; border: 1px solid #e3ebe4; box-shadow: 0 8px 24px rgba(30, 68, 53, .055); }
#services .service-code { background: #edf4ee; color: #216455; font-size: 1.7rem; }
.technician-app-section { padding: 2rem 0 3rem; }
.technician-app-card { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.3rem; border-radius: 1.3rem; background: #e8f0e9; }
.technician-app-card h2 { color: #173e37; margin: .5rem 0; }
.technician-app-card p { margin: 0; color: #52645d; line-height: 1.9; }
.technician-app-link { flex-shrink: 0; display: inline-flex; padding: .9rem 1.4rem; border-radius: .75rem; background: #174f45; color: white; font-weight: 700; text-decoration: none; }
.technician-app-link:hover { color: white; background: #226658; }
.customer-app-nav { display: none; }
.customer-app-shortcuts { display: none; }
.home-mobile-actions { display: none; }
@media (max-width: 767px) {
  .home-refresh { padding: 2rem 0 2.5rem; }
  .home-refresh .hero-grid { gap: 1.5rem; }
  .home-refresh .hero-actions { max-width: none; }
  .home-refresh .hero-photo { min-height: 220px; max-height: 310px; }
  #services .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
  #services .service-card { padding: 1rem; }
  #services .service-card h3 { font-size: .95rem; }
  #services .service-card p { font-size: .82rem; }
  .technician-app-card { flex-direction: column; align-items: stretch; padding: 1.5rem; gap: 1rem; }
  .technician-app-link { justify-content: center; }
  .home-mobile-actions { position: fixed; z-index: 990; inset-inline: 0; bottom: 0; display: flex; gap: .6rem; padding: .65rem .8rem calc(.65rem + env(safe-area-inset-bottom)); background: #fff; box-shadow: 0 -4px 20px rgba(20, 60, 45, .12); }
  .home-mobile-actions a { flex: 1; text-align: center; padding: .75rem .4rem; border-radius: .65rem; background: #174f45; color: #fff; text-decoration: none; font-weight: 700; font-size: .85rem; }
  .home-mobile-actions a + a { background: #edf4ee; color: #174f45; }
}
@media (display-mode: standalone) {
  body { padding-bottom: calc(5rem + env(safe-area-inset-bottom)); }
  body:has(.home-refresh) .top-strip { display: none; }
  .home-refresh .customer-install-button, .home-refresh .customer-install-help { display: none; }
  .home-mobile-actions { display: none; }
  .home-refresh .hero-visual, .home-refresh .hero-trust { display: none; }
  .home-refresh .hero-grid { display: block; }
  .home-refresh { padding: 1.5rem 0; }
  .customer-app-shortcuts { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; margin-top: 1rem; }
  .customer-app-shortcuts a { padding: .8rem; border-radius: .7rem; background: #e8f0e9; color: #174f45; text-decoration: none; font-size: .85rem; }
  .customer-app-nav { display: flex; position: fixed; z-index: 1000; left: 0; right: 0; bottom: 0; justify-content: space-around; padding: .55rem .5rem calc(.55rem + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid #e0eae3; box-shadow: 0 -5px 20px rgba(20, 60, 45, .08); }
  .customer-app-nav a { display: flex; flex-direction: column; align-items: center; gap: .15rem; color: #315b4d; text-decoration: none; font-size: .72rem; }
  .customer-app-nav a span { font-size: 1.4rem; line-height: 1; }
}

/* Homepage design: retain every existing section while matching the approved visual language. */
.home-page { background: #f6f3ed; color: #123d36; }
.home-page .site-container { width: min(1280px, calc(100% - 48px)); }
.home-page .top-strip { background: #092f2a; }
.home-page .site-navbar { background: #0b3932; border-color: #2d5b51; box-shadow: none; }
.home-page .brand { color: #fff; }
.home-page .brand-logo { width: 150px; border-radius: .35rem; }
.home-page .brand small { color: #c6ded6; }
.home-page .site-nav .nav-link, .home-page .account-links .nav-link { color: #fff; }
.home-page .site-nav .nav-link:hover, .home-page .account-links .nav-link:hover { color: #fff; background: #24594d; }
.home-page .repair-request-nav-link { color: #fff !important; }
.home-page .navbar-toggler { color: #fff; border-color: #a4c1b5; }
.home-page .menu-toggle-icon, .home-page .menu-toggle-icon::before, .home-page .menu-toggle-icon::after { background: #fff; }
.home-header-technician { display: inline-flex; align-items: center; gap: .5rem; padding: .7rem 1rem; background: #c96b43; color: #fff; border-radius: .65rem; white-space: nowrap; font-weight: 700; }
.home-header-technician:hover { color: white; background: #b95b36; }
.home-app-greeting { display: none; }
@media (min-width: 992px) {
  .home-page .brand { order: 0; }
  .home-page .navbar-collapse { order: 1; }
  .home-page .home-header-technician { order: 2; }
  .home-page .site-nav .nav-link, .home-page .account-links .nav-link { padding-inline: .45rem; font-size: .79rem; }
}
.home-page .home-refresh { padding: 0; background: #103e37; overflow: hidden; border-radius: 0 0 1.2rem 1.2rem; }
.home-page .home-refresh .hero-grid { width: 100%; max-width: none; min-height: 430px; display: grid; grid-template-columns: 40% 60%; gap: 0; }
.home-page .home-refresh .hero-content { padding: 2.8rem max(24px, calc((100vw - 1280px)/2)) 2.8rem 2rem; position: relative; z-index: 1; }
.home-page .home-refresh .hero-content .eyebrow { color: #bcd6c8; }
.home-page .home-refresh .hero-content h1, .home-page .home-refresh .hero-content h1 span { color: #fff; }
.home-page .home-refresh .hero-content h1 { font-size: clamp(2rem, 3.4vw, 3.5rem); line-height: 1.45; margin: .5rem 0 1rem; }
.home-page .home-refresh .hero-content > p { color: #e2eee8; font-size: 1.06rem; }
.home-page .home-refresh .hero-actions { max-width: 23rem; }
.home-page .home-refresh .hero-actions > a { background: #c96b43; border-color: #c96b43; color: #fff; font-size: 1.05rem; }
.home-page .home-refresh .customer-install-button { border: 2px solid white; color: #fff; }
.home-page .home-refresh .hero-trust { color: #d3e4db; }
.home-page .home-refresh .hero-visual { height: 100%; min-height: 430px; border-radius: 0; box-shadow: none; overflow: hidden; }
.home-page .home-refresh .hero-visual::after { display: none; }
.home-page .home-refresh .hero-photo { height: 100%; min-height: 430px; border-radius: 0; object-position: 65% center; }
.home-page #services, .home-page .process-section { background: #f6f3ed; padding: 2.8rem 0; }
.home-page #services .section-heading { text-align: center; max-width: none; margin: 0 auto 1.7rem; }
.home-page #services .section-heading h2, .home-page .process-intro h2 { color: #0c3932; font-weight: 800; }
.home-page #services .services-grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .8rem; }
.home-page #services .service-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: .3rem; padding: .75rem; border: 0; border-radius: 1.1rem; background: #e7eade; box-shadow: none; }
.home-page #services .service-code { display: block; flex: 0 0 auto; width: 100%; height: 145px; background-image: url('/images/home/appliance-services-grid.png'); background-repeat: no-repeat; background-size: 300% 200%; border-radius: .7rem; }
.home-page #services [data-service="WM"] .service-code { background-position: 0 0; }
.home-page #services [data-service="DW"] .service-code { background-position: 50% 0; }
.home-page #services [data-service="FR"] .service-code { background-position: 100% 0; }
.home-page #services [data-service="AC"] .service-code { background-position: 0 100%; }
.home-page #services [data-service="PK"] .service-code { background-position: 50% 100%; }
.home-page #services [data-service="OV"] .service-code { background-position: 100% 100%; }
.home-page #services .service-card h3 { color: #113b33; font-size: 1rem; margin: .2rem 0; }
.home-page #services .service-card p { color: #53675b; font-size: .77rem; line-height: 1.7; margin: 0; }
.home-page #services .service-card a { color: #b85f3b; font-size: .78rem; margin-top: auto; }
.home-page .process-layout { display: block; }
.home-page .process-intro { text-align: center; max-width: 800px; margin: 0 auto 1.5rem; }
.home-page .process-intro h2 { margin: .4rem 0; }
.home-page .steps-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.home-page .step-item { background: #e7eade; border: 0; border-radius: 1rem; padding: 1.2rem; }
.home-page .step-item > span { background: #c96b43; color: #fff; }
.home-page .technician-app-section { padding: 1rem 0 2.5rem; background: #f6f3ed; }
.home-page .technician-app-card { display: grid; grid-template-columns: 1fr 1.1fr auto; gap: 2rem; background: #e0e8da; overflow: hidden; }
.technician-app-visual { min-height: 165px; display: grid; place-items: center; }
.technician-laptop { width: min(260px, 80%); height: 145px; padding: 9px; background: #253c37; border-radius: .75rem .75rem .2rem .2rem; box-shadow: 0 14px 0 -5px #738078, 0 20px 20px #b9c7b9; transform: rotate(-3deg); }
.technician-laptop-screen { height: 100%; padding: 1rem; background: linear-gradient(90deg, #f8f8f1 70%, #144d41 70%); border-radius: .3rem; }
.technician-laptop-screen i { display: block; background: #cedbd0; height: 12px; margin: .7rem 30% .7rem 0; border-radius: 1rem; }
.home-page .technician-app-link { border: 1px solid #bd623b; color: #b65831; background: transparent; }
.home-page .technician-app-link:hover { color: #fff; background: #bd623b; }
@media (max-width: 991px) {
  .home-page .navbar-collapse { background: #0b3932; }
  .home-page .home-header-technician { order: 2; font-size: .8rem; padding: .55rem .7rem; }
  .home-page .navbar-toggler { order: 3; }
  .home-page .navbar-collapse { order: 4; }
}
@media (max-width: 767px) {
  .home-page .site-container { width: calc(100% - 28px); }
  .home-page .brand-logo { width: 95px; max-height: 40px; }
  .home-page .brand strong { font-size: .78rem; }
  .home-page .brand small { font-size: .58rem; }
  .home-page .navbar-content { gap: .4rem; }
  .home-page .home-refresh .hero-grid { grid-template-columns: 52% 48%; min-height: 370px; }
  .home-page .home-refresh .hero-content { padding: 1.4rem .85rem; }
  .home-page .home-refresh .hero-content h1 { font-size: clamp(1.35rem, 5vw, 2rem); }
  .home-page .home-refresh .hero-content > p { font-size: .82rem; line-height: 1.8; }
  .home-page .home-refresh .hero-actions > a, .home-page .home-refresh .customer-install-button { font-size: .8rem; min-height: 2.9rem; }
  .home-page .home-refresh .hero-trust { font-size: .7rem; gap: .3rem; }
  .home-page .home-refresh .hero-visual, .home-page .home-refresh .hero-photo { min-height: 370px; }
  .home-page #services .services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-page #services .service-code { height: 140px; }
  .home-page .steps-list { grid-template-columns: 1fr; }
  .home-page .technician-app-card { grid-template-columns: 1fr; gap: 1rem; }
  .home-page .home-mobile-actions { background: #0b3932; border-radius: 1rem 1rem 0 0; }
  .home-page .home-mobile-actions a { background: #c96b43; }
  .home-page .home-mobile-actions a + a { color: #fff; background: transparent; border: 1px solid #fff; }
}
@media (display-mode: standalone) {
  .home-page .home-app-greeting { display: block; padding: 1.3rem 0; color: #fff; font-size: 1.6rem; font-weight: 800; }
  .home-page .home-refresh .hero-grid { display: grid; width: calc(100% - 28px); margin: 0 auto 1rem; min-height: 260px; background: #f6f3ed; border-radius: 1.2rem; overflow: hidden; }
  .home-page .home-refresh .hero-content h1, .home-page .home-refresh .hero-content h1 span { color: #103e37; }
  .home-page .home-refresh .hero-content > p, .home-page .home-refresh .hero-content .eyebrow, .home-page .home-refresh .hero-trust { color: #315b4d; }
  .home-page .home-refresh .hero-visual, .home-page .home-refresh .hero-photo { min-height: 260px; }
  .home-page .home-refresh .hero-visual, .home-page .home-refresh .hero-trust { display: block; }
  .home-page .home-refresh .hero-trust { display: flex; }
  .home-page .customer-app-nav { background: #0b3932; }
  .home-page .customer-app-nav a { color: #fff; }
  .home-page .customer-app-shortcuts a { background: #e7eade; }
}
@media (display-mode: standalone) and (max-width: 767px) {
  .home-page #services .services-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-page #services .service-code { height: 100px; }
  .home-page #services .service-card { padding: .4rem; }
  .home-page #services .service-card h3 { font-size: .8rem; }
}
