/* Homepage-only exact reference layout. Other pages continue using styles.css. */
body:has(main > .hero:not(.page-hero)){overflow-x:hidden;background:#050505}
body:has(main > .hero:not(.page-hero)) .container{width:min(1180px,calc(100% - 48px))}
body:has(main > .hero:not(.page-hero)) .topbar{background:#050505;border-bottom:1px solid rgba(201,155,67,.55)}
body:has(main > .hero:not(.page-hero)) .topbar .nav{height:128px;gap:24px}
body:has(main > .hero:not(.page-hero)) .topbar .brand-logo{width:335px;height:92px;object-fit:contain;object-position:left center}
body:has(main > .hero:not(.page-hero)) .topbar .navlinks{gap:21px;font-size:10px}
body:has(main > .hero:not(.page-hero)) .topbar .navlinks a{padding:48px 0 43px}
body:has(main > .hero:not(.page-hero)) .topbar .btn{padding:14px 20px;font-size:10px}

body:has(main > .hero:not(.page-hero)) .hero{background:#050505}
body:has(main > .hero:not(.page-hero)) .hero-grid{display:grid;grid-template-columns:39% 61%;height:478px;min-height:478px;overflow:hidden}
body:has(main > .hero:not(.page-hero)) .hero-copy{height:478px;padding:30px 26px 28px max(55px,calc((100vw - 1180px)/2));justify-content:center;background:#050505;z-index:2}
body:has(main > .hero:not(.page-hero)) .hero h1{font-size:46px;line-height:1.06;margin:0 0 18px;letter-spacing:.01em}
body:has(main > .hero:not(.page-hero)) .hero .rule{width:320px;height:1px;margin:0 0 15px}
body:has(main > .hero:not(.page-hero)) .hero-tagline{font-size:16px!important;letter-spacing:.09em}
body:has(main > .hero:not(.page-hero)) .hero p{font-size:13px;line-height:1.5;max-width:335px;margin:14px 0}
body:has(main > .hero:not(.page-hero)) .hero-actions{margin:17px 0 20px;gap:14px}
body:has(main > .hero:not(.page-hero)) .hero .btn{padding:13px 18px;font-size:10px}
body:has(main > .hero:not(.page-hero)) .trust{display:grid;grid-template-columns:repeat(4,max-content);gap:22px;font-size:9px;align-items:center}
body:has(main > .hero:not(.page-hero)) .trust span:before{font-size:18px}
body:has(main > .hero:not(.page-hero)) .hero-photo{height:478px;min-height:478px;margin:0;background-image:url('assets/home-hero-clean.jpg')!important;background-size:cover;background-position:center center;z-index:1}
body:has(main > .hero:not(.page-hero)) .hero-photo:before{background:linear-gradient(90deg,#050505 0%,rgba(5,5,5,.96) 3%,rgba(5,5,5,.72) 11%,rgba(5,5,5,.32) 22%,rgba(5,5,5,.08) 33%,transparent 45%)}

body:has(main > .hero:not(.page-hero)) .section.cream{padding:22px 0 28px;background:#f6f1e8}
body:has(main > .hero:not(.page-hero)) .section-title{margin-bottom:12px}
body:has(main > .hero:not(.page-hero)) .section-title h2{font-size:28px;text-transform:uppercase;margin:0 0 2px}
body:has(main > .hero:not(.page-hero)) .cards{align-items:stretch}
body:has(main > .hero:not(.page-hero)) .card{padding:4px 22px 0;min-height:205px}
body:has(main > .hero:not(.page-hero)) .card h3{font-size:12px;margin:5px 0}
body:has(main > .hero:not(.page-hero)) .card h3:before{font-size:38px;margin-bottom:8px}
body:has(main > .hero:not(.page-hero)) .card p{font-size:11px;line-height:1.45;max-width:195px;min-height:50px;margin-bottom:10px}
body:has(main > .hero:not(.page-hero)) .card .btn{font-size:9px;padding:8px 14px}

body:has(main > .hero:not(.page-hero)) .split{display:grid;grid-template-columns:42% 58%;height:365px;min-height:365px;background:#050505;overflow:hidden}
body:has(main > .hero:not(.page-hero)) .split-photo{height:365px;min-height:365px;background-image:url('assets/home-bathroom-clean.jpg')!important;background-size:cover;background-position:center}
body:has(main > .hero:not(.page-hero)) .split-copy{height:365px;padding:30px max(55px,calc((100vw - 1180px)/2)) 28px 40px;justify-content:center}
body:has(main > .hero:not(.page-hero)) .split-copy .kicker{font-size:11px}
body:has(main > .hero:not(.page-hero)) .split-copy h2{font-size:36px;line-height:1.02;text-transform:uppercase;margin:6px 0 12px}
body:has(main > .hero:not(.page-hero)) .split-copy .rule{margin-bottom:8px}
body:has(main > .hero:not(.page-hero)) .split-copy p{font-size:12px;line-height:1.5;max-width:540px;margin:5px 0}
body:has(main > .hero:not(.page-hero)) .checks{font-size:11px;gap:7px 22px;margin-top:10px}

body:has(main > .hero:not(.page-hero)) .area{height:164px;min-height:164px;background:linear-gradient(rgba(5,5,5,.58),rgba(5,5,5,.58)),url('assets/home-area-clean.jpg') center/cover!important;overflow:hidden}
body:has(main > .hero:not(.page-hero)) .area-inner{height:164px;min-height:164px;padding:18px 0;grid-template-columns:1fr 1.45fr;gap:30px}
body:has(main > .hero:not(.page-hero)) .area .kicker{font-size:10px}
body:has(main > .hero:not(.page-hero)) .area h2{font-size:25px;line-height:1.08;text-transform:uppercase;margin:3px 0}
body:has(main > .hero:not(.page-hero)) .locations{font-size:10px;gap:5px 24px}

body:has(main > .hero:not(.page-hero)) .home-footer{height:108px;padding:0;background:#050505;border-top:1px solid rgba(201,155,67,.25);display:flex;align-items:center;justify-content:center}
.home-footer-inner{display:flex;align-items:center;justify-content:center;gap:28px;color:#aaa;font-size:8px;letter-spacing:.42em;text-align:center;white-space:nowrap}
.home-footer-inner span{display:block;width:140px;height:1px;background:#b98b35}.home-footer-inner strong{color:#c99b43;font-size:10px;font-weight:500}

@media(max-width:980px){
 body:has(main > .hero:not(.page-hero)) .topbar .nav{height:76px}
 body:has(main > .hero:not(.page-hero)) .topbar .brand-logo{width:245px;height:62px}
 body:has(main > .hero:not(.page-hero)) .navlinks{top:76px}
 body:has(main > .hero:not(.page-hero)) .hero-grid{grid-template-columns:1fr;height:auto;min-height:0}
 body:has(main > .hero:not(.page-hero)) .hero-copy{height:auto;min-height:440px;padding:35px 28px;background:linear-gradient(90deg,rgba(5,5,5,.98) 0%,rgba(5,5,5,.91) 58%,rgba(5,5,5,.62) 100%),url('assets/home-hero-clean.jpg') center/cover no-repeat}
 body:has(main > .hero:not(.page-hero)) .hero-photo{display:none}
 body:has(main > .hero:not(.page-hero)) .hero h1{font-size:46px}
 body:has(main > .hero:not(.page-hero)) .cards{grid-template-columns:repeat(2,1fr)}
 body:has(main > .hero:not(.page-hero)) .split{grid-template-columns:1fr;height:auto}
 body:has(main > .hero:not(.page-hero)) .split-photo{height:360px}
 body:has(main > .hero:not(.page-hero)) .split-copy{height:auto;padding:38px 28px}
 body:has(main > .hero:not(.page-hero)) .area{height:auto;min-height:0}
 body:has(main > .hero:not(.page-hero)) .area-inner{height:auto;min-height:0;padding:28px 0;grid-template-columns:1fr}
 .home-footer-inner span{width:70px}
}
@media(max-width:620px){
 body:has(main > .hero:not(.page-hero)) .container{width:calc(100% - 28px)}
 body:has(main > .hero:not(.page-hero)) .topbar .nav{height:74px}
 body:has(main > .hero:not(.page-hero)) .topbar .brand-logo{width:235px;height:58px;max-width:calc(100vw - 76px)}
 body:has(main > .hero:not(.page-hero)) .navlinks{top:74px}
 body:has(main > .hero:not(.page-hero)) .hero-copy{min-height:0;padding:28px 20px 25px;background:#050505}
 body:has(main > .hero:not(.page-hero)) .hero h1{font-size:38px;line-height:1.02;margin-bottom:13px}
 body:has(main > .hero:not(.page-hero)) .hero .rule{width:100%;max-width:320px;margin-bottom:12px}
 body:has(main > .hero:not(.page-hero)) .hero-tagline{font-size:13px!important}
 body:has(main > .hero:not(.page-hero)) .hero p{font-size:12px;max-width:none}
 body:has(main > .hero:not(.page-hero)) .hero-actions{display:grid;grid-template-columns:1fr;margin:15px 0}
 body:has(main > .hero:not(.page-hero)) .trust{grid-template-columns:repeat(4,1fr);gap:6px;font-size:7px;text-align:center}
 body:has(main > .hero:not(.page-hero)) .trust span:before{display:block;margin:0 0 3px;font-size:16px}
 body:has(main > .hero:not(.page-hero)) .section.cream{padding:27px 0 10px}
 body:has(main > .hero:not(.page-hero)) .cards{grid-template-columns:1fr}
 body:has(main > .hero:not(.page-hero)) .card{min-height:0;padding:18px 15px 23px;border-right:0;border-bottom:1px solid rgba(0,0,0,.12)}
 body:has(main > .hero:not(.page-hero)) .split-photo{height:300px;min-height:300px}
 body:has(main > .hero:not(.page-hero)) .split-copy{padding:30px 22px}
 body:has(main > .hero:not(.page-hero)) .split-copy h2{font-size:31px}
 body:has(main > .hero:not(.page-hero)) .checks{grid-template-columns:1fr}
 body:has(main > .hero:not(.page-hero)) .locations{grid-template-columns:1fr 1fr}
 body:has(main > .hero:not(.page-hero)) .home-footer{height:95px;padding:0 15px}
 .home-footer-inner{white-space:normal;flex-direction:column;gap:7px;font-size:7px;line-height:1.5}.home-footer-inner span{display:none}.home-footer-inner strong{font-size:9px}
}

/* v7 locked homepage finishing pass */
body:has(main > .hero:not(.page-hero)) .card h3:before{
  font-family:Arial,sans-serif;
  display:block;
  color:#c99432;
  line-height:1;
  margin-bottom:10px;
  font-weight:400;
}
body:has(main > .hero:not(.page-hero)) .card:nth-child(1) h3:before{content:"⚑";transform:rotate(180deg);font-size:39px}
body:has(main > .hero:not(.page-hero)) .card:nth-child(2) h3:before{content:"♨";font-size:43px}
body:has(main > .hero:not(.page-hero)) .card:nth-child(3) h3:before{content:"♨";font-size:43px}
body:has(main > .hero:not(.page-hero)) .card:nth-child(4) h3:before{content:"⚙";font-size:43px}

body:has(main > .hero:not(.page-hero)) .split-photo{
  background-size:contain!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  background-color:#050505!important;
}
body:has(main > .hero:not(.page-hero)) .area{
  background:#050505!important;
  height:164px!important;
  min-height:164px!important;
  overflow:hidden!important;
}
body:has(main > .hero:not(.page-hero)) .area-inner{
  height:164px!important;
  min-height:164px!important;
  padding:20px 0!important;
  grid-template-columns:1fr 1.45fr!important;
  align-items:center!important;
}
@media(max-width:980px){
 body:has(main > .hero:not(.page-hero)) .area{height:auto!important;min-height:0!important}
 body:has(main > .hero:not(.page-hero)) .area-inner{height:auto!important;min-height:0!important;padding:28px 0!important;grid-template-columns:1fr!important}
}
@media(max-width:620px){
 body:has(main > .hero:not(.page-hero)) .split-photo{height:330px!important;min-height:330px!important;background-size:contain!important}
}

/* v10 exact approved service icons */
body:has(main > .hero:not(.page-hero)) .card h3:before{
  content:""!important;display:block!important;width:52px!important;height:52px!important;
  margin:0 auto 10px!important;background-color:transparent!important;background-repeat:no-repeat!important;
  background-position:center!important;background-size:contain!important;transform:none!important;
}
body:has(main > .hero:not(.page-hero)) .card:nth-child(1) h3:before{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='%23d49a35'%3E%3Crect x='27' y='5' width='10' height='8' rx='1'/%3E%3Crect x='20' y='10' width='24' height='6' rx='2'/%3E%3Cpath d='M29 15h8v7h10c7 0 12 5 12 12v4H47v-4c0-1-1-2-2-2H19v8H7V24h12v-2h10z'/%3E%3Crect x='13' y='40' width='12' height='15' rx='1'/%3E%3C/g%3E%3C/svg%3E")!important;
}
body:has(main > .hero:not(.page-hero)) .card:nth-child(2) h3:before{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg fill='none' stroke='%23d49a35' stroke-width='5' stroke-linecap='round'%3E%3Cpath d='M17 6c-8 10 7 14 0 25s7 14 0 24'/%3E%3Cpath d='M32 6c-8 10 7 14 0 25s7 14 0 24'/%3E%3Cpath d='M47 6c-8 10 7 14 0 25s7 14 0 24'/%3E%3C/g%3E%3Cpath fill='%23d49a35' d='M9 57h46v5H9z'/%3E%3C/svg%3E")!important;
}
body:has(main > .hero:not(.page-hero)) .card:nth-child(3) h3:before{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23d49a35' d='M35 2c3 13-7 18-4 30 2-7 8-11 11-17 10 10 15 21 12 32-3 10-12 15-22 15S12 55 11 45c-1-9 4-18 12-27 0 10 4 14 7 17-1-13 8-21 5-33z'/%3E%3C/svg%3E")!important;
}
body:has(main > .hero:not(.page-hero)) .card:nth-child(4) h3:before{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cpath fill='%23d49a35' d='M27 2h10l2 8 6 3 7-4 7 7-4 7 3 6 8 2v10l-8 2-3 6 4 7-7 7-7-4-6 3-2 8H27l-2-8-6-3-7 4-7-7 4-7-3-6-8-2V31l8-2 3-6-4-7 7-7 7 4 6-3 2-8zm5 18a12 12 0 100 24 12 12 0 000-24z'/%3E%3C/svg%3E")!important;
}

/* v11 mobile lock — match approved homepage while remaining usable */
@media (max-width:620px){
 body:has(main > .hero:not(.page-hero)){overflow-x:hidden}
 body:has(main > .hero:not(.page-hero)) .topbar{position:relative;z-index:100;background:#050505}
 body:has(main > .hero:not(.page-hero)) .topbar .nav{height:78px;padding:0;gap:8px}
 body:has(main > .hero:not(.page-hero)) .topbar .brand-logo{width:220px;height:60px;max-width:calc(100vw - 78px);object-fit:contain;object-position:left center}
 body:has(main > .hero:not(.page-hero)) .menu-btn{display:block;margin-left:auto}
 body:has(main > .hero:not(.page-hero)) .navlinks{top:78px;z-index:110}
 body:has(main > .hero:not(.page-hero)) .hero-grid{display:block;height:auto;min-height:0}
 body:has(main > .hero:not(.page-hero)) .hero-copy{height:auto;min-height:610px;padding:300px 20px 28px;background:linear-gradient(180deg,rgba(5,5,5,.05) 0%,rgba(5,5,5,.20) 34%,rgba(5,5,5,.94) 52%,#050505 70%),url('assets/home-hero-clean.jpg') 62% top/auto 330px no-repeat,#050505!important}
 body:has(main > .hero:not(.page-hero)) .hero-photo{display:none!important}
 body:has(main > .hero:not(.page-hero)) .hero h1{font-size:39px;line-height:.98;margin:0 0 14px}
 body:has(main > .hero:not(.page-hero)) .hero .rule{max-width:100%;margin-bottom:12px}
 body:has(main > .hero:not(.page-hero)) .hero-tagline{font-size:13px!important}
 body:has(main > .hero:not(.page-hero)) .hero p{font-size:12px;line-height:1.45;margin:10px 0}
 body:has(main > .hero:not(.page-hero)) .hero-actions{grid-template-columns:1fr;gap:9px;margin:14px 0}
 body:has(main > .hero:not(.page-hero)) .trust{grid-template-columns:repeat(4,1fr);gap:5px;font-size:6.5px}
 body:has(main > .hero:not(.page-hero)) .section.cream{padding:28px 0 5px}
 body:has(main > .hero:not(.page-hero)) .section-title h2{font-size:27px}
 body:has(main > .hero:not(.page-hero)) .card{padding:22px 15px 26px}
 body:has(main > .hero:not(.page-hero)) .card h3:before{width:48px!important;height:48px!important;margin-bottom:9px!important}
 body:has(main > .hero:not(.page-hero)) .card p{max-width:250px;margin-left:auto;margin-right:auto}
 body:has(main > .hero:not(.page-hero)) .split{display:flex;flex-direction:column;height:auto;min-height:0}
 body:has(main > .hero:not(.page-hero)) .split-photo{height:280px!important;min-height:280px!important;background-size:contain!important;background-position:center!important}
 body:has(main > .hero:not(.page-hero)) .split-copy{height:auto;padding:30px 22px 34px}
 body:has(main > .hero:not(.page-hero)) .area{height:auto!important;min-height:0!important;background:#050505!important}
 body:has(main > .hero:not(.page-hero)) .area-inner{height:auto!important;min-height:0!important;padding:30px 0!important;display:block!important}
 body:has(main > .hero:not(.page-hero)) .area h2{font-size:27px;margin-bottom:20px}
 body:has(main > .hero:not(.page-hero)) .locations{grid-template-columns:1fr 1fr;gap:9px 12px;font-size:10px}
 body:has(main > .hero:not(.page-hero)) .home-footer{height:auto;min-height:100px;padding:22px 15px 74px}
 body:has(main > .hero:not(.page-hero)) .mobile-actions{position:fixed;left:0;right:0;bottom:0;z-index:120}
}
