:root{--navy:#03152d;--navy-2:#071f42;--aqua:#19c7d3;--aqua-2:#79eef2;--silver:#d9e3ea;--mist:#f4f8fb;--charcoal:#182330;--muted:#667786;--white:#fff;--gold:#c8a66a;--shadow:0 24px 60px rgba(3,21,45,.18);--max:1180px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Manrope',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--charcoal);background:var(--white);line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(var(--max),calc(100% - 40px));margin:auto}.topbar{position:fixed;z-index:20;top:0;left:0;right:0;background:rgba(3,21,45,.94);color:#fff;transition:.3s;box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(14px)}.topbar.is-scrolled{background:rgba(3,21,45,.94);box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(14px)}.nav{height:132px;display:flex;align-items:center;justify-content:space-between;gap:26px;padding-top:0}.brand{display:flex;align-items:center;gap:18px;min-width:min(56vw,720px);background:transparent;padding:0;box-shadow:none;backdrop-filter:none}.brand img,.brand-mark{height:104px;width:auto;max-width:190px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.32))}.brand-copy{display:flex;flex-direction:column;justify-content:center;height:104px;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.35);line-height:.96}.brand-copy span:first-child{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.4vw,54px);font-weight:700;letter-spacing:.02em}.brand-copy span:last-child{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.05vw,33px);font-weight:700;letter-spacing:.04em}.navlinks{display:flex;gap:30px;align-items:center;text-transform:uppercase;font-size:13px;font-weight:800;letter-spacing:.16em;margin-top:0}.navlinks a{opacity:.88}.navlinks a:hover,.navlinks a.active{color:var(--aqua-2);opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.5);padding:12px 18px;background:rgba(255,255,255,.08)}.menu{display:none;background:none;border:1px solid rgba(255,255,255,.45);color:#fff;padding:10px 13px;font-size:18px}.hero{min-height:100vh;display:grid;align-items:end;position:relative;color:#fff;overflow:hidden;background:#03152d}.hero:before{content:"";position:absolute;inset:0;background:url('images/luxury-pool-hero.jpg') center top/cover no-repeat;transform:scale(1.035);animation:heroDrift 18s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,21,45,.05) 0%,rgba(3,21,45,.18) 34%,rgba(3,21,45,.82) 100%),linear-gradient(90deg,rgba(3,21,45,.72),rgba(3,21,45,.12) 58%,rgba(3,21,45,.28))}.hero-inner{position:relative;z-index:2;padding:210px 0 86px}.hero-logo{position:absolute;top:98px;left:52%;transform:translateX(-50%);width:min(205px,26vw);padding:8px 14px;background:rgba(244,248,251,.72);box-shadow:0 14px 38px rgba(0,0,0,.20);backdrop-filter:blur(9px)}.hero-grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:end;max-width:820px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.25em;font-weight:900;color:var(--aqua-2);margin:0 0 14px}.hero h1,.page-hero h1{font-size:clamp(44px,7vw,88px);line-height:.98;letter-spacing:-.045em;margin:0 0 20px;font-weight:300;text-transform:uppercase}.hero p.lead,.page-hero p{font-size:clamp(18px,2vw,23px);max-width:760px;color:#e8f3f6;margin:0 0 28px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:15px 22px;border:1px solid transparent;font-weight:800;text-transform:uppercase;font-size:12px;letter-spacing:.14em;transition:.22s}.btn.primary{background:var(--aqua);color:var(--navy)}.btn.primary:hover{background:var(--aqua-2);transform:translateY(-2px)}.btn.ghost{color:#fff;border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.08)}.btn.ghost:hover{background:rgba(255,255,255,.18)}.contact-card{background:rgba(244,248,251,.94);color:var(--charcoal);padding:28px;box-shadow:var(--shadow);backdrop-filter:blur(14px);border-top:4px solid var(--aqua)}.contact-card h2{margin:0 0 8px;font-size:25px;line-height:1.1}.contact-card p{margin:0 0 18px;color:var(--muted)}.form-grid{display:grid;gap:12px}.form-grid.two{grid-template-columns:1fr 1fr}label{display:grid;gap:6px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;color:#405160}input,select,textarea{width:100%;border:1px solid #d6e0e7;background:#fff;padding:13px 12px;font:inherit;color:var(--charcoal);outline:none;border-radius:0}textarea{min-height:92px;resize:vertical}input:focus,select:focus,textarea:focus{border-color:var(--aqua);box-shadow:0 0 0 4px rgba(25,199,211,.12)}.quick-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dce8ee}.quick-contact a,.quick-contact div{background:#fff;padding:13px;font-size:13px}.quick-contact strong{display:block;color:var(--navy);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.section{padding:92px 0}.section.alt{background:var(--mist)}.section.dark{background:var(--navy);color:#fff}.split{display:grid;grid-template-columns:.82fr 1.18fr;gap:60px;align-items:start}.kicker{color:var(--aqua);text-transform:uppercase;font-size:12px;font-weight:900;letter-spacing:.22em}.section h2{font-size:clamp(34px,4vw,58px);line-height:1.02;letter-spacing:-.045em;margin:10px 0 18px;font-weight:400}.section p.big{font-size:20px;color:#516273}.dark p.big{color:#d5e4ea}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card{background:#fff;border:1px solid #e0e8ee;padding:26px;min-height:220px;transition:.25s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:#cbd8df}.card h3{margin:0 0 10px;color:var(--navy);font-size:23px}.card p{color:#5e6f7d}.card .num{font-family:ui-monospace,monospace;color:var(--aqua);font-weight:900;margin-bottom:24px}.feature-list{display:grid;gap:16px}.feature{display:grid;grid-template-columns:44px 1fr;gap:16px;align-items:start}.feature b{display:grid;place-items:center;background:#e9fbfc;color:var(--navy);height:44px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:rgba(255,255,255,.18);margin-top:32px}.stat{background:rgba(255,255,255,.06);padding:24px}.stat strong{display:block;font-size:34px;color:var(--aqua-2)}.page-hero{padding:160px 0 82px;background:linear-gradient(135deg,rgba(3,21,45,.95),rgba(7,31,66,.88)),url('images/luxury-pool-hero.jpg') center/cover;color:#fff}.breadcrumb{font-size:12px;text-transform:uppercase;letter-spacing:.18em;color:var(--aqua-2);font-weight:900}.service-row{display:grid;grid-template-columns:260px 1fr;gap:34px;padding:34px 0;border-top:1px solid #dce6ec}.service-row h2{font-size:30px;margin:0}.service-row p{margin-top:0;color:#5b6b79}.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 24px;padding:0;margin:18px 0 0;list-style:none}.checklist li:before{content:"✓";color:var(--aqua);font-weight:900;margin-right:9px}.rates{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rate-card{background:#fff;border:1px solid #dce6ec;padding:30px;box-shadow:0 12px 30px rgba(3,21,45,.06)}.price{font-size:46px;letter-spacing:-.04em;color:var(--navy);font-weight:300;margin:14px 0}.price span{font-size:14px;color:var(--muted)}.team{display:grid;grid-template-columns:1fr 1fr;gap:26px}.bio{background:#fff;border-left:4px solid var(--aqua);padding:30px;box-shadow:var(--shadow)}.footer{background:#020d1d;color:#c8d6df;padding:54px 0 24px}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:32px}.footer img{width:190px;background:transparent;padding:0;margin-bottom:12px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.35))}.footer h3{color:#fff;text-transform:uppercase;font-size:13px;letter-spacing:.16em}.footer a{display:block;margin:8px 0;color:#c8d6df}.fine{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:20px;font-size:13px;color:#8899a6}.reveal{opacity:1;transform:none;transition:.7s ease}.reveal.visible{opacity:1;transform:none}@keyframes heroDrift{to{transform:scale(1.09) translate3d(-1.2%,1%,0)}}@media(max-width:900px){.menu{display:block}.navlinks{position:absolute;top:118px;left:20px;right:20px;background:rgba(3,21,45,.98);display:none;flex-direction:column;align-items:stretch;padding:20px;margin-top:0}.navlinks.open{display:flex}.hero-grid,.split,.service-row,.team,.contact-section .contact-card,.contact-section .form-grid.three{grid-template-columns:1fr}.hero-logo{display:none}.hero-inner{padding-top:260px}.cards,.rates,.stats,.quick-contact{grid-template-columns:1fr}.form-grid.two,.checklist{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.brand-copy{display:flex;flex-direction:column;justify-content:center;height:104px;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.35);line-height:.96}.brand-copy span:first-child{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.4vw,54px);font-weight:700;letter-spacing:.02em}.brand-copy span:last-child{display:block;font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.05vw,33px);font-weight:700;letter-spacing:.04em}.brand{min-width:210px}.brand img{width:210px}.nav{height:130px}.hero-inner{padding-top:210px}}
.contact-section{background:linear-gradient(135deg,#eaf2f6,#fff);padding:42px 0 52px;border-top:1px solid #dce8ee}.contact-section .contact-card{display:grid;grid-template-columns:.72fr 1.45fr;gap:28px;align-items:start;background:#fff}.contact-section form{display:grid;gap:12px}.contact-section .form-grid.three{grid-template-columns:1fr 1fr 1fr}.contact-section .quick-contact{margin-top:16px}.contact-intro h2{font-size:34px;margin:0 0 10px;line-height:1.05;color:var(--navy)}.contact-intro p{font-size:18px}.contact-intro .kicker{display:block;margin-bottom:12px}

/* Updated supplied logo header */
.topbar{background:rgba(3,21,45,.94);box-shadow:0 12px 30px rgba(0,0,0,.18);backdrop-filter:blur(14px)}.nav{height:132px;align-items:center;padding-top:0}.brand{display:flex;align-items:center;gap:18px;min-width:min(56vw,720px);background:transparent!important;padding:0!important;box-shadow:none!important;backdrop-filter:none!important}.brand img,.brand-mark{height:104px!important;width:auto!important;max-width:190px;object-fit:contain;filter:drop-shadow(0 10px 22px rgba(0,0,0,.32))}.brand-copy{display:flex!important;flex-direction:column;justify-content:center;height:104px;color:#fff;text-shadow:0 3px 14px rgba(0,0,0,.35);line-height:.96}.brand-copy span:first-child{display:block!important;font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,3.4vw,54px);font-weight:700;letter-spacing:.02em}.brand-copy span:last-child{display:block!important;font-family:Georgia,'Times New Roman',serif;font-size:clamp(22px,2.05vw,33px);font-weight:700;letter-spacing:.04em}.navlinks{margin-top:0}@media(max-width:900px){.brand{min-width:0}.brand img,.brand-mark{height:78px!important;max-width:138px}.brand-copy{height:78px}.brand-copy span:first-child{font-size:28px}.brand-copy span:last-child{font-size:17px}.nav{height:104px}.navlinks{top:104px}.hero-inner{padding-top:180px}}

/* Brand typography update: Cinzel + Montserrat */
.brand-copy span:first-child{
  font-family:'Cinzel', 'Trajan Pro', Georgia, serif !important;
  font-weight:800 !important;
  letter-spacing:.035em !important;
  text-transform:none;
}
.brand-copy span:last-child{
  font-family:'Montserrat', 'Avenir Next', Avenir, Gotham, Arial, sans-serif !important;
  font-weight:800 !important;
  letter-spacing:.115em !important;
  text-transform:uppercase;
  font-size:clamp(15px,1.35vw,22px) !important;
  margin-top:2px;
}
@media(max-width:900px){
  .brand-copy span:last-child{font-size:12px !important;letter-spacing:.08em !important;}
}

/* Sitewide font system update */
body, input, select, textarea, button {
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important;
  font-weight: 400;
}
.navlinks, .btn, label, .kicker, .eyebrow, .breadcrumb, .quick-contact strong, .footer h3 {
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
}
.hero h1, .page-hero h1, .section h2, .contact-intro h2, .service-row h2,
.rate-card h2, .bio h2, .card h3, .feature h3, .footer h3, .price, .stat strong {
  font-family: 'Manrope', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif !important;
  font-weight: 700 !important;
}
.hero h1, .page-hero h1 {
  font-weight: 700 !important;
  letter-spacing: -0.055em;
}
.section h2, .contact-intro h2 {
  font-weight: 700 !important;
  letter-spacing: -0.04em;
}
.brand-copy span:first-child,
.brand-copy span:last-child {
  font-family: 'Cinzel', 'Trajan Pro', Georgia, 'Times New Roman', serif !important;
  font-weight: 800 !important;
  color: #fff;
}
.brand-copy span:first-child {
  letter-spacing: .035em !important;
  text-transform: none;
}
.brand-copy span:last-child {
  letter-spacing: .055em !important;
  text-transform: none;
  font-size: clamp(16px,1.45vw,24px) !important;
  margin-top: 1px;
}

.seo-service-clusters .card{min-height:320px}.seo-service-clusters .card p{font-size:15px;line-height:1.7}

.city-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.city-link-card{background:#fff;border:1px solid #dce6ec;padding:22px;transition:.2s}.city-link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--aqua)}.city-link-card h3{margin:0 0 8px;color:var(--navy)}.local-proof{background:#fff;border-top:4px solid var(--aqua);box-shadow:var(--shadow);padding:28px}.city-services{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 28px}.city-services li{margin-bottom:8px}@media(max-width:900px){.city-grid,.city-services{grid-template-columns:1fr}}

.area-list{list-style:none;padding:0;margin:28px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.area-list a{display:block;background:#fff;border:1px solid #dce6ec;padding:16px 18px;font-weight:700;color:var(--navy);transition:.2s}.area-list a:hover{border-color:var(--aqua);box-shadow:var(--shadow);transform:translateY(-2px);color:#067b90}@media(max-width:900px){.area-list{grid-template-columns:1fr}}

.area-list span{display:block;background:#fff;border:1px solid #dce6ec;padding:16px 18px;font-weight:700;color:var(--muted);font-style:italic}

.seo-hero-image{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}

/* Mobile service request readability fix */
@media(max-width:900px){
  .contact-section{padding:28px 0 40px;}
  .contact-section .contact-card{
    display:block !important;
    padding:26px 22px !important;
    width:100%;
  }
  .contact-intro{margin-bottom:24px;}
  .contact-intro h2{font-size:32px;line-height:1.08;}
  .contact-intro p{font-size:17px;line-height:1.55;}
  .contact-section form{display:block !important;width:100%;clear:both;}
  .contact-section .form-grid,
  .contact-section .form-grid.two,
  .contact-section .form-grid.three,
  .form-grid.two{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100%;
  }
  .contact-section label{margin-bottom:14px;width:100%;}
  .contact-section input,
  .contact-section select,
  .contact-section textarea{
    width:100% !important;
    min-width:0 !important;
    display:block;
    font-size:16px;
  }
  .contact-section textarea{min-height:120px;}
  .contact-section .quick-contact{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0;
    margin:20px 0 26px;
    background:#dce8ee;
  }
  .contact-section .quick-contact a,
  .contact-section .quick-contact div{
    padding:14px 12px;
    border-bottom:1px solid #dce8ee;
  }
  .contact-section .btn{width:100%;}
}
@media(max-width:520px){
  .container{width:min(100% - 28px,var(--max));}
  .contact-section .contact-card{padding:24px 18px !important;}
  .contact-intro h2{font-size:30px;}
}

/* Readability: loosen large headings after Manrope update */
.hero h1,
.page-hero h1{
  line-height:1.08 !important;
  letter-spacing:-0.035em !important;
}
.section h2,
.contact-intro h2,
.service-row h2,
.bio h2{
  line-height:1.14 !important;
  letter-spacing:-0.025em !important;
}
.card h3,
.feature h3{
  line-height:1.22 !important;
  letter-spacing:-0.01em !important;
}
.stat strong,
.price{
  line-height:1.12 !important;
  letter-spacing:-0.02em !important;
}
@media(max-width:900px){
  .hero h1,
  .page-hero h1{
    line-height:1.12 !important;
    letter-spacing:-0.025em !important;
  }
  .section h2,
  .contact-intro h2{
    line-height:1.16 !important;
    letter-spacing:-0.018em !important;
  }
}

/* Feature card text length adjustment */
.stat strong{font-size:clamp(24px,2.8vw,34px);line-height:1.12}.stat{min-height:132px}

/* Contact quick-info layout: vertical order with readable rows */
.contact-section .quick-contact{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
  background:#dce8ee !important;
  margin-top:18px;
}
.contact-section .quick-contact a,
.contact-section .quick-contact div{
  display:grid !important;
  grid-template-columns:88px 1fr !important;
  align-items:center;
  gap:12px;
  background:#fff !important;
  padding:14px 14px !important;
  border-bottom:1px solid #dce8ee;
  word-break:normal;
}
.contact-section .quick-contact strong{
  display:block;
  margin:0;
  white-space:nowrap;
}
@media(max-width:520px){
  .contact-section .quick-contact a,
  .contact-section .quick-contact div{
    grid-template-columns:74px 1fr !important;
    gap:10px;
    font-size:14px;
  }
}

/* Contact quick-info correction: each item stacked label over value */
.contact-section .quick-contact{
  display:flex !important;
  flex-direction:column !important;
  gap:0 !important;
}
.contact-section .quick-contact a,
.contact-section .quick-contact div{
  display:block !important;
  grid-template-columns:none !important;
  padding:14px 12px !important;
  background:#fff !important;
  border-bottom:1px solid #dce8ee;
}
.contact-section .quick-contact strong{
  display:block !important;
  margin:0 0 4px 0 !important;
  white-space:normal !important;
}

/* Definitive service request contact layout: three vertical rows */
.contact-section .quick-contact{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:0 !important;
  width:100% !important;
  margin:20px 0 26px !important;
  background:#dce8ee !important;
}
.contact-section .quick-contact a,
.contact-section .quick-contact div{
  display:block !important;
  width:100% !important;
  background:#fff !important;
  padding:14px 12px !important;
  border-bottom:1px solid #dce8ee !important;
  color:var(--charcoal) !important;
}
.contact-section .quick-contact strong,
.contact-section .quick-contact span{
  display:block !important;
}
.contact-section .quick-contact strong{
  margin:0 0 4px 0 !important;
  font-size:12px !important;
  letter-spacing:.12em !important;
  color:var(--navy) !important;
}
.contact-section .quick-contact span{
  font-size:14px !important;
  line-height:1.35 !important;
  word-break:break-word !important;
}

/* Tighten service request quick-contact rows */
.contact-section .quick-contact{
  margin:14px 0 20px !important;
}
.contact-section .quick-contact a,
.contact-section .quick-contact div{
  padding:9px 12px !important;
}
.contact-section .quick-contact strong{
  margin-bottom:2px !important;
}
.contact-section .quick-contact span{
  line-height:1.25 !important;
}

/* Detailed services page lists */
.detailed-service-list{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:10px 28px;
  padding:0;
  margin:18px 0 0;
  list-style:none;
}
.detailed-service-list li{
  position:relative;
  padding-left:22px;
  color:#4f6170;
  line-height:1.45;
}
.detailed-service-list li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--aqua);
  font-weight:900;
}
@media(max-width:900px){.detailed-service-list{grid-template-columns:1fr}}

/* About page: keep Lead Technician / Service Philosophy / Repair Warranty in one row */
.about-card-row,
.section.alt .container.team{
  display:grid !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:22px !important;
  align-items:stretch;
}
.section.alt .container.team .bio{
  min-width:0;
  height:100%;
}
.section.alt .container.team .bio p{
  line-height:1.58;
}
@media(max-width:900px){
  .about-card-row,
  .section.alt .container.team{
    grid-template-columns:1fr !important;
  }
}

.hidden-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Commercial service callout below homepage refined service cards */
.commercial-service-callout{
  margin-top:26px;
  padding:22px 26px;
  border:1px solid #dce6ec;
  border-left:4px solid var(--aqua);
  background:#fff;
  box-shadow:0 18px 44px rgba(4,20,35,.06);
}
.commercial-service-callout h3{
  margin:0;
  color:var(--navy);
  font-size:clamp(24px,2.5vw,34px);
  line-height:1.16;
  letter-spacing:-0.02em;
}

.commercial-service-callout p{margin:8px 0 12px;color:#4f6170;line-height:1.55}.text-link{font-weight:800;color:var(--aqua);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.text-link:hover{color:var(--navy)}

/* Homepage refined-service cards: include Commercial Pool & Spa Service as fourth matching card */
.refined-service-cards{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
}
.refined-service-cards .card{min-width:0;}
.refined-service-cards .text-link{display:inline-block;margin-top:12px;}
@media(max-width:1100px){.refined-service-cards{grid-template-columns:repeat(2, minmax(0,1fr)) !important;}}
@media(max-width:700px){.refined-service-cards{grid-template-columns:1fr !important;}}

/* Wider refined-service section so four cards have enough room */
.refined-service-cards{
  width:min(96vw, 1440px) !important;
  margin-left:50% !important;
  transform:translateX(-50%) !important;
  grid-template-columns:repeat(4, minmax(240px,1fr)) !important;
  gap:20px !important;
}
.refined-service-cards .card{
  padding:28px 26px !important;
}
.refined-service-cards .card h3{
  font-size:clamp(21px,1.8vw,28px) !important;
  line-height:1.16 !important;
}
.refined-service-cards .card p{
  font-size:15px !important;
  line-height:1.52 !important;
}
@media(max-width:1180px){
  .refined-service-cards{
    width:100% !important;
    margin-left:0 !important;
    transform:none !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media(max-width:700px){
  .refined-service-cards{
    grid-template-columns:1fr !important;
  }
}

/* Refined-service cards reset: original 3-card layout */
.refined-service-cards{
  width:100% !important;
  margin-left:0 !important;
  transform:none !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:22px !important;
}
.refined-service-cards .card{
  padding:34px 32px !important;
}
@media(max-width:900px){.refined-service-cards{grid-template-columns:1fr !important;}}

/* Refined service readability: give the three cards full row width */
.refined-service-section .container.split{
  grid-template-columns:1fr !important;
  gap:34px !important;
}
.refined-service-section .container.split > div:first-child{
  max-width:760px;
}
.refined-service-section .refined-service-cards{
  width:100% !important;
  grid-template-columns:repeat(3, minmax(0,1fr)) !important;
  gap:24px !important;
}
.refined-service-section .refined-service-cards .card h3{
  font-size:clamp(24px,2.1vw,30px) !important;
  line-height:1.16 !important;
  letter-spacing:-0.015em !important;
}
@media(max-width:900px){
  .refined-service-section .refined-service-cards{grid-template-columns:1fr !important;}
}

/* Rates page pricing layout */
.pricing-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
}
.pricing-grid .rate-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
}
.pricing-grid .rate-card p{margin:0;color:#4f6170;line-height:1.55;}
.pricing-grid .rate-card .btn{margin-top:auto;}
.featured-rate{border-top:4px solid var(--aqua);}
@media(max-width:900px){.pricing-grid{grid-template-columns:1fr !important;}}


/* About page service area list */
.simple-area-list{
  list-style:none;
  padding:0;
  margin:28px 0 0;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px 14px;
}
.simple-area-list li{
  background:#fff;
  border:1px solid #dce6ec;
  padding:12px 14px;
  color:var(--navy);
  font-weight:700;
  line-height:1.25;
}
@media(max-width:1000px){.simple-area-list{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){.simple-area-list{grid-template-columns:1fr;}}

/* About page owner photo integration */
.owner-bio-card{
  padding:0 !important;
  overflow:hidden;
}
.owner-photo-wrap{
  width:100%;
  aspect-ratio:4/3;
  background:#dce6ec;
  overflow:hidden;
}
.owner-photo-wrap img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center 18%;
}
.owner-bio-copy{
  padding:30px 32px 34px;
}
@media(max-width:900px){
  .owner-photo-wrap{aspect-ratio:5/4;}
}

/* Definitive mobile hamburger navigation fix */
@media(max-width:900px){
  .topbar{z-index:1000 !important;}
  .menu{display:block !important;cursor:pointer;position:relative;z-index:1002;}
  .navlinks{
    position:absolute !important;
    top:100% !important;
    left:14px !important;
    right:14px !important;
    z-index:1001 !important;
    display:none !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:0 !important;
    padding:14px !important;
    background:rgba(3,21,45,.98) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    box-shadow:0 22px 60px rgba(0,0,0,.32) !important;
  }
  .navlinks.open{display:flex !important;}
  .navlinks a{padding:14px 12px;border-bottom:1px solid rgba(255,255,255,.08);}
  .navlinks a:last-child{border-bottom:0;}
}

.service-request-form > label{display:block;margin:14px 0}

/* Commercial residential card fit */
.refined-service-cards .card h3{
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.refined-service-cards .card .text-link{
  display:inline-block;
  margin-top:12px;
}

/* Services page heater brand support callout */
.brand-support-callout{
  margin:18px 0 22px;
  padding:20px 22px;
  border-left:4px solid var(--aqua);
  background:#f5fbfd;
  box-shadow:0 14px 34px rgba(3,21,45,.08);
}
.brand-support-callout h3{
  margin:0 0 8px;
  color:var(--navy);
  font-size:clamp(20px,2vw,28px);
  line-height:1.16;
}
.brand-support-callout p{
  margin:0;
  color:#345;
  font-weight:800;
  line-height:1.7;
  letter-spacing:.02em;
}

/* Homepage commercial/residential service card spacing */
.commercial-residential-card{
  padding:30px 28px !important;
}
.commercial-residential-card h3{
  font-size:clamp(22px,1.85vw,28px) !important;
  line-height:1.18 !important;
  margin-bottom:12px !important;
}
.commercial-residential-card p{
  line-height:1.56 !important;
  margin-bottom:18px !important;
}
.card-link-row{
  display:flex;
  flex-wrap:wrap;
  gap:10px 18px;
  align-items:center;
  margin-top:14px;
}
.card-link-row .text-link{
  margin-top:0 !important;
  white-space:nowrap;
}
@media(max-width:700px){.card-link-row{flex-direction:column;align-items:flex-start;}}

.brand-support-callout .brand-support-note{
  margin-top:10px;
  font-weight:700;
  color:#4f6170;
  line-height:1.55;
}

/* Make inline hero paragraph links visibly linked */
.hero-text-link{
  color:#ffffff !important;
  font-weight:900 !important;
  text-decoration:underline !important;
  text-decoration-thickness:2px !important;
  text-underline-offset:4px !important;
}
.hero-text-link strong{font-weight:900 !important;}
.hero-text-link:hover{color:var(--aqua-2) !important;}
