*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#16202a;background:#fff;line-height:1.55}.wrap{width:min(1120px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid #e6e9ec}.nav{display:flex;align-items:center;justify-content:space-between;min-height:76px;gap:24px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:#111}.brand-mark{height:46px;width:46px;border-radius:10px;display:grid;place-items:center;background:#0d3d66;color:#fff;font-weight:800}.brand strong{display:block;font-size:1.08rem}.brand span{display:block;font-size:.78rem;color:#687582}.nav nav{display:flex;align-items:center;gap:22px}.nav nav a{text-decoration:none;color:#2f3d49;font-weight:650;font-size:.93rem}.btn{display:inline-block;border:0;background:#0d3d66;color:#fff!important;text-decoration:none;padding:13px 18px;border-radius:9px;font-weight:750;cursor:pointer}.btn-small{padding:10px 14px}.btn-ghost{background:transparent;border:1px solid #0d3d66;color:#0d3d66!important}.hero{background:linear-gradient(135deg,#f6f9fb,#e8f0f5);padding:80px 0}.hero-grid,.split,.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:#2a6a93;margin:0 0 12px}.hero h1{font-size:clamp(2.5rem,5vw,4.9rem);line-height:1.02;letter-spacing:-.045em;margin:.15em 0 .28em}.lead{font-size:1.18rem;color:#52616d;max-width:680px}.hero-actions{display:flex;gap:12px;margin:28px 0}.trust-row{display:flex;flex-wrap:wrap;gap:10px 18px;color:#53616c;font-size:.9rem}.trust-row span:before{content:"✓";font-weight:900;margin-right:6px}.hero-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 50px rgba(18,45,65,.14)}.photo-placeholder{height:340px;background:linear-gradient(145deg,#18384f,#5f859b);display:grid;place-items:center;padding:30px}.photo-label{color:#fff;border:1px dashed rgba(255,255,255,.6);padding:24px;text-align:center;border-radius:12px}.hero-card-body{padding:26px}.hero-card-body p{margin-bottom:0;color:#66737d}.section{padding:78px 0}.section h2{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.035em;margin:0 0 24px}.cards{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:34px}.card{border:1px solid #e3e7ea;border-radius:14px;padding:25px;background:#fff}.card h3{margin-top:0}.card p{color:#61707c}.alt{background:#f5f7f8}.callout,.maintenance-box{background:#fff;border:1px solid #dde3e7;border-radius:16px;padding:32px;box-shadow:0 8px 30px rgba(15,35,50,.05)}.checklist{columns:2;padding-left:20px}.checklist li{margin:9px 0}.dark{background:#102b3e;color:#fff}.dark .eyebrow{color:#8fc2df}.dark p{color:#d9e1e7}.contact{background:#edf4f7}.contact-form{display:grid;gap:14px;background:#fff;padding:28px;border-radius:16px;border:1px solid #dce4e8}.contact-form label{font-weight:700;font-size:.9rem}.contact-form input,.contact-form textarea{width:100%;margin-top:6px;border:1px solid #cdd6dc;border-radius:8px;padding:12px;font:inherit}footer{background:#0b1c28;color:#d8e2e9;padding:34px 0}.footer-row{display:flex;justify-content:space-between;gap:30px}.footer-row p{margin:.25em 0;color:#aebbc5}.footer-right{text-align:right}@media(max-width:900px){.nav nav a:not(.btn){display:none}.hero-grid,.split,.contact-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.hero{padding:55px 0}.hero h1{font-size:3.2rem}}@media(max-width:580px){.wrap{width:min(100% - 26px,1120px)}.cards{grid-template-columns:1fr}.hero h1{font-size:2.55rem}.hero-actions{flex-direction:column}.hero-actions .btn{text-align:center}.checklist{columns:1}.footer-row{flex-direction:column}.footer-right{text-align:left}.brand span{display:none}}
.hero-photo{display:block;width:100%;height:340px;object-fit:cover}
.fleet-photo{display:block;width:100%;border-radius:16px;box-shadow:0 10px 30px rgba(15,35,50,.12)}

.service-note{margin-top:18px;padding:18px 22px;border-radius:12px;background:#f5f7f8;border:1px solid #e3e7ea;display:flex;gap:10px 18px;align-items:center;flex-wrap:wrap}
.service-note strong{color:#102b3e}
.service-note span{color:#61707c}


@media(max-width:580px){}

.site-logo-square{
  display:block;
  width:58px;
  height:58px;
  object-fit:cover;
  border-radius:6px;
}
@media(max-width:580px){
  .site-logo-square{width:48px;height:48px}
}





.services-section{background:#fff}
.services-eyebrow,.services-title,.services-subtitle{text-align:center}
.services-title{margin-bottom:10px}
.services-subtitle{max-width:900px;margin:0 auto 30px;color:#61707c;font-size:1.02rem}

.service-cards{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:18px;
  margin-top:30px;
}

.service-card{
  background:#fff;
  border:1px solid #e3e7ea;
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 24px rgba(15,35,50,.06);
  display:flex;
  flex-direction:column;
  min-height:320px;
}

.service-thumb{
  display:block;
  width:100%;
  height:118px;
  object-fit:cover;
  border-bottom:1px solid #e7ecef;
}

.service-card h3{
  margin:16px 18px 10px;
  font-size:1.15rem;
  line-height:1.15;
}

.service-card p{
  color:#61707c;
  margin:0 18px 16px;
  line-height:1.45;
  font-size:.97rem;
}

.service-link{
  margin-top:auto;
  color:#0d3d66;
  font-weight:800;
  letter-spacing:.01em;
  padding:0 18px 18px;
}

@media(max-width:900px){
  .service-cards{grid-template-columns:1fr 1fr}
}

@media(max-width:580px){
  .service-cards{grid-template-columns:1fr}
}

.hero-statement{
  font-size:1.28rem;
  font-weight:650;
  max-width:650px;
  color:#41515e;
}

.service-area-intro{
  max-width:780px;
  color:#61707c;
  font-size:1.04rem;
}
.service-area-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}
.service-area-grid>div{
  background:#fff;
  border:1px solid #e3e7ea;
  border-radius:14px;
  padding:22px;
}
.service-area-grid strong{
  display:block;
  color:#0d3d66;
  font-size:1.08rem;
  margin-bottom:6px;
}
.service-area-grid span{color:#61707c}
@media(max-width:700px){
  .service-area-grid{grid-template-columns:1fr}
}

.specialty-intro{
  max-width:850px;
  color:#61707c;
  font-size:1.04rem;
}
.specialty-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:28px;
}
.specialty-grid>div{
  border:1px solid #e3e7ea;
  border-radius:14px;
  padding:22px;
  background:#fff;
}
.specialty-grid strong{
  display:block;
  color:#102b3e;
  margin-bottom:7px;
  font-size:1.06rem;
}
.specialty-grid span{color:#61707c}
.brands-box{
  margin-top:26px;
  background:#f5f7f8;
  border:1px solid #e3e7ea;
  border-radius:14px;
  padding:24px;
}
.brands-box h3{margin-top:0}
.brands-box p{margin-bottom:0;color:#61707c}
@media(max-width:900px){
  .specialty-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:580px){
  .specialty-grid{grid-template-columns:1fr}
}

.service-area-footnote{
  margin-top:18px;
  color:#52616d;
  font-weight:650;
}

.policy-wrap{max-width:850px}
.policy-section h1{font-size:clamp(2.5rem,5vw,4rem);line-height:1.05;letter-spacing:-.04em;margin:.15em 0 .35em}
.policy-section h2{font-size:1.45rem;margin:34px 0 10px;color:#102b3e}
.policy-section p{color:#52616d}
.policy-section a{color:#0d3d66}
.policy-updated{margin-bottom:32px}

.privacy-note{
  margin:2px 0 0;
  font-size:.82rem;
  color:#6b7882;
}
.privacy-note a{color:#0d3d66}

/* Site styling */
.brand-name{font-size:clamp(1.32rem,2.25vw,2rem)!important;line-height:1.05;letter-spacing:-.035em;font-weight:900!important;color:#0d3d66!important;white-space:nowrap}.site-header .nav{gap:14px}.site-header .primary-nav{display:flex;gap:clamp(8px,1.1vw,17px);align-items:center;flex-wrap:wrap;justify-content:flex-end}.site-header .primary-nav a{font-size:.81rem}.service-card-link{text-decoration:none;color:inherit;transition:transform .18s ease,box-shadow .18s ease}.service-card-link:focus-visible{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,35,50,.16);outline-color:#0d3d66}@media (hover: hover) and (pointer: fine){.service-card-link:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(15,35,50,.16);outline-color:#0d3d66}}@media (hover: hover) and (pointer: fine){.service-card-link:hover .service-link{text-decoration:underline}}.coming-page{min-height:65vh;display:flex;align-items:center;background:linear-gradient(135deg,#f6f9fb,#e8f0f5)}.coming-content{max-width:850px}.coming-content h1{font-size:clamp(2.5rem,5vw,4.5rem);line-height:1.06;margin:0 0 25px;color:#102b3e}.coming-content .lead{font-size:1.25rem}.coming-badge{display:inline-block;background:#dbeaf2;color:#0d3d66;border:1px solid #b4d2e2;border-radius:20px;padding:7px 16px;font-weight:800}.coming-content .btn{margin:12px 8px 0 0}footer a{color:inherit}.footer-links a{margin:0 3px}.mobile-menu{display:none}
@media(max-width:1100px){.site-header .nav>nav.primary-nav{display:none}.mobile-menu{display:block;position:relative;margin-left:auto}.mobile-menu summary{cursor:pointer;color:#0d3d66;font-weight:800;padding:12px}.mobile-menu .primary-nav{position:absolute;right:0;top:100%;background:#fff;border:1px solid #dce4e8;box-shadow:0 16px 30px #0002;border-radius:12px;width:min(320px,85vw);padding:15px;display:flex;flex-direction:column;align-items:stretch;z-index:11}.mobile-menu .primary-nav a{display:block!important;padding:8px 12px;font-size:.95rem}.mobile-menu .primary-nav .btn{color:#fff!important;text-align:center}}
@media(max-width:580px){.brand-name{font-size:1.4rem!important}.site-logo-square{width:44px;height:44px}.site-header .nav{min-height:68px}.coming-content .btn{display:block;text-align:center}}

/* Header call action */
.site-header .primary-nav .btn-call{background:#177047;color:#fff!important;white-space:nowrap}
.site-header .primary-nav .btn-call:focus-visible{background:#105638}@media (hover: hover) and (pointer: fine){.site-header .primary-nav .btn-call:hover{background:#105638}}
.site-header .primary-nav .btn{white-space:nowrap}

/* Service areas */
.service-areas-page{background:#f7fafc}.service-areas-page h1{font-size:clamp(2.3rem,5vw,3.6rem);margin:0 0 18px;color:#102b3e}.service-areas-page .lead{max-width:900px;font-size:1.17rem;line-height:1.6}.area-state{margin:38px 0 22px}.area-state>h2{font-size:2rem;color:#0d3d66;border-bottom:3px solid #b4d2e2;padding-bottom:12px}.area-county{background:#fff;border:1px solid #dde7ed;border-radius:14px;padding:22px 26px;margin:20px 0;box-shadow:0 4px 14px #102b3e0c}.area-county h3{margin:0 0 18px;font-size:1.4rem;color:#102b3e}.area-towns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 18px;margin:0;padding:0;list-style:none}.area-towns li{padding:4px 0 4px 17px;position:relative}.area-towns li:before{content:"•";position:absolute;left:0;color:#177047}.area-cta{background:#e9f2f7;border-radius:14px;padding:26px;margin:36px 0}.area-cta h2{margin:0 0 12px}.area-cta .btn{margin:8px 10px 0 0}.area-cta .btn-call{background:#177047;color:#fff}@media(max-width:760px){.area-towns{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:440px){.area-towns{grid-template-columns:1fr}.area-county{padding:20px}}

/* Service-area county and selected town links */
.area-county h3 a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.area-towns a { color: #124e76; font-weight: 650; text-underline-offset: 3px; }
@media (hover: hover) and (pointer: fine){.area-towns a:hover, .area-county h3 a:hover{ text-decoration-thickness: 2px; }}

/* Change #8 — About Us */
.about-hero{background:linear-gradient(135deg,#f6f9fb,#e8f0f5);padding:76px 0 66px}.about-hero-inner{max-width:900px}.about-hero h1{font-size:clamp(2.2rem,4.1vw,3.7rem);line-height:1.08;letter-spacing:-.035em;margin:0 0 24px}.about-hero p:not(.eyebrow){max-width:840px}.about-readable{max-width:900px}.about-readable h2{margin-bottom:25px}.about-readable h3{font-size:1.5rem;margin-top:36px}.about-mission{font-size:clamp(1.2rem,2.1vw,1.58rem);line-height:1.5;color:#273e4e}.about-tagline{margin-top:28px;color:#0d3d66;font-size:1.15rem}.about-two-col{columns:2;padding-left:22px}.about-two-col li{break-inside:avoid;margin:0 0 12px}.about-license-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:20px}.about-license-card{background:#f8fafb;border:1px solid #dce4e8;border-radius:12px;padding:22px}.about-license-card:last-child{grid-column:1/-1}.about-license-card h4{font-size:1.2rem;margin:0 0 10px}.about-license-card p{margin:.5em 0}.about-license-card ul{margin:8px 0 14px;padding-left:21px}.about-light-ghost{color:white!important;border-color:#fff}.dark .about-light-ghost{color:white!important}@media(max-width:640px){.about-license-grid{grid-template-columns:1fr}.about-license-card:last-child{grid-column:auto}.about-two-col{columns:1}.about-hero{padding:48px 0}}

/* Change #9 - Meet Our Team founder profile */
.team-section{background:#fff}.team-section .team-intro{max-width:760px;color:#52616d;margin-bottom:32px}.founder-profile{display:grid;grid-template-columns:minmax(230px,320px) minmax(0,1fr);gap:44px;align-items:start;border-top:1px solid #dce4e8;padding-top:34px}.founder-photo img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover;object-position:center top;display:block;border-radius:15px;box-shadow:0 12px 34px rgba(15,35,50,.14)}.founder-bio h3{font-size:2rem;line-height:1.1;margin:0 0 4px;letter-spacing:-.025em}.founder-role{font-size:1.05rem;color:#27688c;font-weight:750;margin:0 0 24px}.founder-bio h4{font-size:1.2rem;margin:29px 0 10px;color:#102b3e}.founder-bio h4:first-of-type{margin-top:18px}.founder-bio p{margin:0 0 14px}.team-specialties{columns:2;padding-left:22px;margin:10px 0 24px}.team-specialties li{break-inside:avoid;margin-bottom:8px}@media(max-width:760px){.founder-profile{grid-template-columns:1fr;gap:26px}.founder-photo{max-width:380px}.team-specialties{columns:1}}

/* Change #10 - Social destinations pending verification; intentionally non-clickable */
.social-heading{font-weight:750;margin:12px 0 6px}.social-profiles{display:flex;flex-wrap:wrap;gap:9px;margin:8px 0 18px}.social-profile{display:inline-flex;align-items:center;min-height:36px;padding:7px 12px;border:1px solid #c8d7e1;border-radius:8px;font-size:.88rem;font-weight:650;background:#f4f8fb;color:#31546e}.social-pending{cursor:default}.social-connect-section{background:#f2f7fa}.social-connect-section .social-profiles{margin-top:22px}.social-connect-section .social-profile{background:#fff}

/* Change #11: accessible social icon links */
.social-profiles{align-items:center}
.social-profile{gap:9px;text-decoration:none;transition:transform .15s ease,background .15s ease,border-color .15s ease}
@media (hover: hover) and (pointer: fine){.social-profile:hover{transform:translateY(-2px);border-color:#7093ac;background:#eaf3f9}}
.social-profile:focus-visible{outline:3px solid #2377b6;outline-offset:3px}
.social-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:27px;height:27px;border-radius:7px;background:var(--social-brand);color:#fff;font-size:21px;font-family:Arial,Helvetica,sans-serif;font-weight:800;line-height:1}
.social-icon-only .social-profile{width:40px;height:40px;min-height:40px;padding:5px;justify-content:center;background:#f4f8fb}
.social-icon-only .social-icon{width:28px;height:28px}
.social-icon-labels .social-profile{gap:9px}
@media (max-width:460px){.social-icon-labels .social-profile{font-size:.82rem;padding:7px 9px}}


/* Desktop width, responsive header, links and founder image */
.wrap{width:min(1480px,calc(100% - 64px));margin-inline:auto}
.site-header .nav{min-height:78px;display:flex;align-items:center;gap:28px;justify-content:space-between}
.site-header .brand{flex:0 0 auto;min-width:0}
.site-header .brand-name{font-size:clamp(2rem,2.65vw,2.5rem)!important;white-space:nowrap;line-height:1.08}
.site-header .primary-nav{display:flex;flex-wrap:nowrap;gap:clamp(10px,1.15vw,21px);align-items:center;justify-content:flex-end}
.site-header .primary-nav a{font-size:.89rem;white-space:nowrap}
.site-header .primary-nav .btn{padding:10px 13px;white-space:nowrap}
.site-header .mobile-menu{display:none}
.site-header .more-menu{position:relative}
.site-header .more-menu summary{list-style:none;cursor:pointer;color:#2f3d49;font-size:.89rem;font-weight:650;white-space:nowrap}
.site-header .more-menu summary::-webkit-details-marker{display:none}
.site-header .more-menu summary::after{content:" ▾";font-size:.75em}
.site-header .more-menu nav{display:flex;flex-direction:column;align-items:stretch;gap:3px;position:absolute;right:0;top:calc(100% + 12px);min-width:175px;background:#fff;border:1px solid #dce4e8;border-radius:10px;padding:8px;box-shadow:0 12px 25px #0002;z-index:30}
.site-header .more-menu nav a{padding:8px 10px;border-radius:5px;text-decoration:none}
@media (hover: hover) and (pointer: fine){.site-header .more-menu nav a:hover{background:#edf4f7}}
.service-card-link,.service-card-link:visited{color:inherit;text-decoration:none}
.service-card-link h3,.service-card-link h3 a,.service-card-link p{color:inherit;text-decoration:none}
.service-card-link h3{color:#16202a}.service-card-link p{color:#61707c}.service-card-link .service-link{color:#0d3d66}
footer a,footer a:visited{color:#d8e2e9;text-decoration:none}@media (hover: hover) and (pointer: fine){footer a:hover{text-decoration:underline;color:#fff}}
.founder-profile{grid-template-columns:minmax(0,235px) minmax(0,1fr);gap:36px}
.founder-photo{max-width:235px}.founder-photo img{width:100%;height:auto;max-height:310px;aspect-ratio:3/4;object-fit:cover}
.contact-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.95fr);gap:clamp(48px,6vw,120px)}
@media(max-width:1199px){
 .site-header .nav>nav.primary-nav{display:none}
 .site-header .mobile-menu{display:block;position:relative;margin-left:auto}
 .site-header .mobile-menu summary{cursor:pointer;list-style:none;font-weight:750;color:#0d3d66;padding:11px}
 .site-header .mobile-menu summary::-webkit-details-marker{display:none}
 .site-header .mobile-menu .primary-nav{position:absolute;right:0;top:100%;width:min(340px,88vw);display:flex;flex-direction:column;align-items:stretch;gap:2px;background:white;padding:12px;z-index:40;border:1px solid #dce4e8;border-radius:12px;box-shadow:0 16px 30px #0002}
 .site-header .mobile-menu .primary-nav a{display:block;padding:10px;font-size:1rem;white-space:normal}
 .site-header .mobile-menu .primary-nav .btn{text-align:center;color:#fff!important}
 .site-header .mobile-menu .more-menu summary{padding:10px}
 .site-header .mobile-menu .more-menu nav{position:static;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}
 .contact-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:760px){.wrap{width:calc(100% - 32px)}.founder-profile{grid-template-columns:1fr}.founder-photo{max-width:235px}.contact-grid{grid-template-columns:1fr}.site-header .brand-name{font-size:1.8rem!important}}


/* Fenwick HVAC v2.1 — scoped to the approved shared service-card design */
.service-cards-v21{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;align-items:stretch}
.service-card-v21{position:relative;background:#fff;border:1px solid #e3e7ea;border-radius:15px;overflow:hidden;display:flex;flex-direction:column;text-align:center;padding:0 0 24px;box-shadow:0 13px 28px rgba(15,36,58,.09);min-height:445px;color:#143e65;text-decoration:none}
.service-card-v21 .service-thumb{width:100%;height:205px;object-fit:cover;display:block;border-radius:0;flex:none;margin:0}
.service-card-v21 .card-icon-badge{position:relative;z-index:1;width:88px;height:88px;min-width:88px;min-height:88px;margin:-46px auto 10px;border:6px solid #fff;border-radius:50%;background:linear-gradient(145deg,#1e88ed,#0761c5);box-shadow:0 2px 6px #0a356122;display:grid;place-items:center;flex:none}
.service-card-v21 .card-icon-badge svg{width:43px;height:43px;fill:none;stroke:#fff;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.service-card-v21 h3{font-weight:800;line-height:1.2;font-size:clamp(16px,1.25vw,21px);color:#0b315e;margin:3px 12px 14px;min-height:2.4em}
.service-card-v21 p{font-size:clamp(14px,1.05vw,18px);line-height:1.48;margin:0 15px 21px;color:#616c78;flex:1}
.service-card-v21 .service-link{display:block;color:#0764ce;font-weight:750;font-size:clamp(15px,1.05vw,19px);margin-top:auto}
@media (hover: hover) and (pointer: fine){.service-card-v21:hover{transform:translateY(-2px);box-shadow:0 15px 30px rgba(15,36,58,.15);text-decoration:none}}
@media(max-width:1080px){.service-cards-v21{grid-template-columns:repeat(3,minmax(0,1fr))}.service-card-v21{min-height:410px}}
@media(max-width:720px){.service-cards-v21{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.service-cards-v21{grid-template-columns:1fr}.service-card-v21 h3{font-size:21px}.service-card-v21 p{font-size:17px}}


/* v2.1 card-only revision (Home and Services): more photo, compact text, no reduced font sizes. */
.service-cards-v21{align-items:stretch}
.service-card-v21{min-height:0;padding-bottom:15px}
/* A full-frame photo is shown over a softly blurred extension of itself, avoiding tight cover-cropping. */
.service-card-v21 .card-photo-frame{position:relative;height:242px;overflow:hidden;isolation:isolate;background:#dbe6ec;flex:none}
.service-card-v21 .card-photo-frame::before{content:"";position:absolute;inset:-18px;background-image:var(--card-photo);background-size:cover;background-position:center;filter:blur(17px) brightness(.88);transform:scale(1.12);z-index:-1}
.service-card-v21 .card-photo-frame .service-thumb{height:100%;width:100%;object-fit:contain;object-position:center;border:0;filter:drop-shadow(0 0 1px rgba(0,0,0,.15))}
.service-card-v21 .card-icon-badge{width:82px;height:82px;min-width:82px;min-height:82px;margin:-42px auto 4px;border-width:5px}
.service-card-v21 .card-icon-badge svg{width:41px;height:41px}
.service-card-v21 h3{margin:2px 10px 7px;min-height:0;line-height:1.16}
.service-card-v21 p{margin:0 12px 12px;flex:0 0 auto;line-height:1.37}
.service-card-v21 .service-link{padding:0 9px 0;margin-top:auto}
@media(max-width:1080px){.service-card-v21{min-height:0}}
@media(max-width:720px){.service-card-v21 .card-photo-frame{height:240px}}

/* Ver 4: the exact five service-card visuals from the user-approved
   homepage mockup. Home and Services share the same images. */
.approved-cards-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:stretch;gap:14px;margin-top:28px}
.approved-cards-grid .approved-card-art{display:block;min-width:0;text-decoration:none;background:#fff;border:0;box-shadow:none;padding:0;border-radius:18px;overflow:hidden;align-self:start}
.approved-cards-grid .approved-card-art img{display:block;width:100%;height:auto;max-width:none;border:0;border-radius:18px;box-shadow:none;margin:0;padding:0}
@media (hover: hover) and (pointer: fine){.approved-cards-grid .approved-card-art:hover{transform:none;box-shadow:none}}
@media(max-width:1050px){.approved-cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}}
@media(max-width:650px){.approved-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}}
@media(max-width:440px){.approved-cards-grid{grid-template-columns:1fr;max-width:340px;margin-left:auto;margin-right:auto}}

/* Ver 13: homepage county cards */
.service-area-view-all{font-weight:700;color:#0d3d66;text-decoration:underline;text-underline-offset:3px}
@media(min-width:701px) and (max-width:1000px){.service-area-grid{grid-template-columns:1fr 1fr}}

/* Ver 14: Clickable county tiles linking to corresponding Service Areas sections */
.service-area-grid > a.county-card-link{display:block;background:#fff;border:1px solid #e3e7ea;border-radius:14px;padding:22px;text-decoration:none;color:inherit;}
@media (hover: hover) and (pointer: fine){.service-area-grid > a.county-card-link:hover{border-color:#0d3d66;box-shadow:0 3px 12px rgba(13,61,102,.10);}}
.service-area-grid > a.county-card-link:focus-visible{outline:3px solid #1475ba;outline-offset:3px;}
.area-county[id]{scroll-margin-top:110px;}

/* Ver 15: match the subtle county-card hover treatment on service cards, both pages. */
.approved-cards-grid .approved-card-art {
  border: 1px solid transparent;
  transition: border-color .18s ease, box-shadow .18s ease;
}
@media (hover: hover) and (pointer: fine){.approved-cards-grid .approved-card-art:hover{
  transform: none;
  border-color: #0d3d66;
  box-shadow: 0 3px 12px rgba(13,61,102,.10);
}}
.approved-cards-grid .approved-card-art:focus-visible {
  outline: 3px solid #1475ba;
  outline-offset: 3px;
}


/* Ver 16: Brands We Service formatting only, on Services overview page. */
.services-overview #brands .brands-lead{
  max-width:790px;margin:0 auto 30px;text-align:center;
  color:#52616d;font-size:1.05rem;line-height:1.65;
}
.services-overview #brands .brand-accordion{
  display:grid;grid-template-columns:1fr;gap:14px;
  max-width:1000px;margin:0 auto 22px;
}
/* Ver 17: Always-visible manufacturer category panels */
.services-overview #brands .brand-accordion > .brand-category{
  border:1px solid #dbe4eb;border-radius:14px;
  background:#fff;overflow:hidden;
  box-shadow:0 5px 16px rgba(15,35,50,.045);
}
.services-overview #brands .brand-accordion > .brand-category > h3{
  margin:0;padding:19px 24px;
  color:#0d3d66;font-weight:800;font-size:1.13rem;
  background:#fff;border-bottom:1px solid #e5edf2;
}
.services-overview #brands .brand-grid{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;padding:22px 24px 24px;
}
.services-overview #brands .brand-grid a{
  min-height:52px;display:flex;align-items:center;justify-content:center;
  padding:10px 12px;text-align:center;color:#16486f;
  font-size:.95rem;font-weight:650;line-height:1.25;
  background:#f6f9fc;border:1px solid #e0e8ef;
  border-radius:9px;text-decoration:none;
  transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease;
}
.services-overview #brands .brand-grid a:focus-visible{
  background:#eaf4fb;border-color:#77aed4;
  box-shadow:0 3px 9px rgba(13,61,102,.07);text-decoration:none;
}@media (hover: hover) and (pointer: fine){.services-overview #brands .brand-grid a:hover{
  background:#eaf4fb;border-color:#77aed4;
  box-shadow:0 3px 9px rgba(13,61,102,.07);text-decoration:none;
}}
.services-overview #brands .brand-note{
  max-width:1000px;margin:22px auto 0;color:#667684;
  font-size:.86rem;line-height:1.65;text-align:center;
}
@media(max-width:920px){
  .services-overview #brands .brand-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:680px){
  .services-overview #brands .brand-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:15px}
  .services-overview #brands .brand-accordion > .brand-category > h3{padding:16px;font-size:1rem}
}
@media(max-width:400px){
  .services-overview #brands .brand-grid{grid-template-columns:1fr}
}

/* Ver 19 — complete five service-detail pages; scoped so no other pages change. */
.service-detail-page .service-detail-hero{padding:82px 0 76px;background:linear-gradient(135deg,#eaf2f7 0%,#f9fbfd 75%);border-bottom:1px solid #dce6ed}
.service-detail-page .service-detail-hero h1{font-size:clamp(2.45rem,5vw,4.4rem);line-height:1.07;letter-spacing:-.04em;max-width:900px;margin:12px 0 24px;color:#16202a}
.service-detail-page .service-detail-lead{max-width:790px;font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.65;color:#52616d}
.service-detail-page .detail-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.service-detail-page .section h2{max-width:820px}
.service-detail-page .detail-intro-grid,.service-detail-page .detail-close{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.85fr);gap:52px;align-items:start}
.service-detail-page .detail-intro-grid>div>p:not(.eyebrow),.service-detail-page .detail-close>div>p:not(.eyebrow){max-width:720px;font-size:1.08rem;color:#52616d;line-height:1.8}
.service-detail-page .detail-side,.service-detail-page .detail-cta{padding:28px;border:1px solid #dce5eb;border-radius:16px;background:#fff;box-shadow:0 8px 25px rgba(15,35,50,.055)}
.service-detail-page .detail-side strong{color:#0d3d66;font-size:1.14rem}
.service-detail-page .detail-side p{color:#52616d;line-height:1.8}
.service-detail-page .detail-side a,.service-detail-page .detail-related a{color:#0d3d66;font-weight:750;text-decoration:none}
.service-detail-page .detail-equipment{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;margin:28px 0 0}
.service-detail-page .detail-equipment li{border:1px solid #dfe7ec;border-radius:12px;background:#fff;padding:19px 20px;font-weight:650;color:#203a50}
.service-detail-page .detail-equipment li::before{content:"✓";margin-right:10px;color:#1a719e;font-weight:900}
.service-detail-page .detail-problems{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.service-detail-page .detail-tile{border:1px solid #dce5eb;border-radius:14px;padding:24px;background:#fff}
.service-detail-page .detail-tile h3{margin:0 0 10px;color:#0d3d66;font-size:1.14rem}
.service-detail-page .detail-tile p{margin:0;color:#52616d;line-height:1.65}
.service-detail-page .detail-cta h3{margin-top:0;color:#0d3d66}
.service-detail-page .detail-cta p{color:#52616d}
.service-detail-page .detail-related{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.service-detail-page .detail-related a{display:inline-flex;gap:10px;align-items:center;border:1px solid #d9e4ec;border-radius:10px;padding:14px 18px;background:#f7fafc}
.service-detail-page .detail-related a:focus-visible{border-color:#0d3d66;background:#edf5fa}@media (hover: hover) and (pointer: fine){.service-detail-page .detail-related a:hover{border-color:#0d3d66;background:#edf5fa}}
@media(max-width:900px){.service-detail-page .detail-intro-grid,.service-detail-page .detail-close{grid-template-columns:1fr;gap:26px}.service-detail-page .detail-equipment{grid-template-columns:repeat(2,minmax(0,1fr))}.service-detail-page .detail-problems{grid-template-columns:1fr}}
@media(max-width:580px){.service-detail-page .service-detail-hero{padding:55px 0}.service-detail-page .detail-equipment{grid-template-columns:1fr}.service-detail-page .detail-actions{flex-direction:column}.service-detail-page .detail-actions .btn{text-align:center}}

/* Ver 20 — Service detail subnavigation only */
.service-subnav{background:#f4f8fb;border-bottom:1px solid #dbe5eb;color:#18384f}
.service-subnav-inner{display:flex;align-items:center;gap:16px;min-height:56px}
.service-subnav-label{white-space:nowrap;font-weight:800;font-size:.8rem;letter-spacing:.025em;color:#506678}
.service-subnav-links{display:flex;gap:5px;align-items:center;flex:1;min-width:0;overflow-x:auto;scrollbar-width:thin;padding:8px 0}
.service-subnav-links a{display:inline-flex;align-items:center;white-space:nowrap;padding:7px 11px;border-radius:7px;font-size:.82rem;font-weight:700;color:#315268;text-decoration:none;transition:background-color .15s,color .15s}
.service-subnav-links a:focus-visible{background:#e1edf5;color:#0d3d66}@media (hover: hover) and (pointer: fine){.service-subnav-links a:hover{background:#e1edf5;color:#0d3d66}}
.service-subnav-links a.active{background:#0d3d66;color:white}
.service-subnav-all{white-space:nowrap;font-size:.82rem;font-weight:800;color:#0d3d66;text-decoration:none}
@media (hover: hover) and (pointer: fine){.service-subnav-all:hover{text-decoration:underline}}
@media(max-width:760px){.service-subnav-inner{display:block;padding-top:9px;padding-bottom:7px}.service-subnav-label{display:block}.service-subnav-links{padding:5px 0}.service-subnav-all{display:inline-block;margin-top:3px}}

/* Ver 21: five miniature service-photo cards on service details */
.service-mini-nav{background:#f2f8fc;border-bottom:1px solid #dce8f0;padding:16px 0 20px}
.service-mini-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;align-items:stretch}
.service-mini-card{min-width:0;display:flex;flex-direction:column;background:#fff;border:2px solid transparent;border-radius:12px;overflow:hidden;text-decoration:none;color:#102f53;box-shadow:0 5px 13px rgba(15,40,65,.07);transition:border-color .15s,box-shadow .15s}
.service-mini-card:focus-visible{border-color:#4aa1de;box-shadow:0 7px 18px rgba(15,40,65,.15)}@media (hover: hover) and (pointer: fine){.service-mini-card:hover{border-color:#4aa1de;box-shadow:0 7px 18px rgba(15,40,65,.15)}}
.service-mini-card.active{border-color:#1478cc;box-shadow:0 0 0 1px #1478cc}
.service-mini-art{display:block;width:100%;height:clamp(130px,12vw,182px);object-fit:fill;object-position:center top;border:0;margin:0}
.service-mini-title{display:flex;align-items:center;justify-content:center;text-align:center;min-height:48px;padding:5px 6px 10px;font-size:clamp(.8rem,1.12vw,1.02rem);font-weight:800;line-height:1.16;color:#0d3155}
@media(max-width:780px){.service-mini-grid{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 8px;scroll-snap-type:x proximity}.service-mini-card{flex:0 0 180px;scroll-snap-align:start}.service-mini-art{height:130px}.service-mini-title{font-size:.8rem}}
@media(prefers-reduced-motion:reduce){.service-mini-card{transition:none}}


/* Ver 23: truck-matched lighthouse and header wordmark; primary nav untouched. */
.site-header .nav{width:min(1760px,calc(100% - 36px));gap:14px;min-height:94px}
.site-header .brand{display:flex;align-items:center;gap:8px;flex:0 0 auto;min-width:0}
.site-header .site-logo-truck{height:80px;width:76px;object-fit:contain;display:block;flex:none}
.site-header .brand-wordmark{display:flex;flex-direction:column;justify-content:center;gap:1px;min-width:0}
.site-header .brand-wordmark .brand-name{font-family:Georgia,"Times New Roman",serif;font-size:clamp(25px,2.65vw,43px)!important;font-weight:700!important;line-height:1.02;letter-spacing:-.045em;text-transform:none;color:#0b2755!important;white-space:nowrap}
.site-header .brand-wordmark .brand-tagline{font-size:clamp(7px,.72vw,11px);color:#0b2755;font-weight:750;letter-spacing:.038em;white-space:nowrap}
.site-header .primary-nav{gap:clamp(7px,.75vw,15px)}
.site-header .primary-nav a{font-size:clamp(11px,.77vw,14px)}
@media(max-width:1320px){.site-header .nav>nav.primary-nav{display:none}.site-header .mobile-menu{display:block;margin-left:auto}}
@media(max-width:580px){.site-header .nav{min-height:76px}.site-header .site-logo-truck{width:48px;height:65px}.site-header .brand-wordmark .brand-name{font-size:clamp(21px,6vw,30px)!important}.site-header .brand-wordmark .brand-tagline{font-size:6.7px;letter-spacing:0}}

/* Ver 25: same full-size approved service cards as Home and Services. */
.service-full-nav{background:#f2f8fc;border-bottom:1px solid #dce8f0;padding:18px 0 28px}
.service-full-nav .approved-cards-grid{margin-top:0}
.service-full-nav .approved-card-art.current-service{outline:2px solid #1478cc;outline-offset:2px}

/* Ver 26: scale down the service detail-page navigation cards proportionally.
   Full-size cards on Home and Services remain unchanged. */
.service-full-nav{padding:14px 0 19px}
.service-full-nav .approved-cards-grid{max-width:900px;margin:0 auto;gap:12px}
@media(max-width:650px){.service-full-nav .approved-cards-grid{gap:10px}}

/* Ver 27 — visual heroes on service detail pages only; preserve Ver 26 subnavigation */
.service-detail-page .service-detail-hero-visual {
  position:relative;isolation:isolate;overflow:hidden;
  min-height:485px;display:flex;align-items:center;
  padding:74px 0 78px;background:#edf5fb;
  border-bottom:1px solid #dce6ed;
}
.service-detail-page .service-detail-hero-visual::before {
  content:"";position:absolute;inset:0 0 0 46%;z-index:-2;
  background-image:var(--detail-hero-image);background-repeat:no-repeat;
  background-position:center center;background-size:cover;
}
.service-detail-page .service-detail-hero-visual::after {
  content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,#f8fbfd 0%,#f5fafe 32%,rgba(241,248,253,.96) 43%,rgba(239,247,253,.79) 54%,rgba(237,246,253,.16) 73%,rgba(237,246,253,0) 100%);
}
.service-detail-page .service-detail-hero-visual .wrap {width:100%;position:relative;}
.service-detail-page .service-detail-hero-visual .eyebrow {color:#246c9c;letter-spacing:.15em;font-size:.83rem;font-weight:850}
.service-detail-page .service-detail-hero-visual h1 {max-width:850px;margin:18px 0 20px;font-family:Georgia,"Times New Roman",serif;font-size:clamp(3.25rem,5.1vw,5.35rem);line-height:1.08;letter-spacing:-.034em;color:#071d4b}
.service-detail-page .service-detail-hero-visual .service-detail-lead {max-width:690px;color:#40556a;font-size:clamp(1.1rem,1.6vw,1.32rem);line-height:1.55}
.service-detail-page .service-detail-hero-visual .detail-actions {margin-top:28px}
@media(max-width:1000px){
 .service-detail-page .service-detail-hero-visual::before{inset:0 0 0 35%;}
 .service-detail-page .service-detail-hero-visual::after{background:linear-gradient(90deg,#f8fbfd 0%,rgba(248,251,253,.98) 40%,rgba(248,251,253,.70) 68%,rgba(248,251,253,.26) 100%)}
 .service-detail-page .service-detail-hero-visual{min-height:410px}
}
@media(max-width:650px){
 .service-detail-page .service-detail-hero-visual{min-height:410px;padding:50px 0 55px}
 .service-detail-page .service-detail-hero-visual::before{inset:0;opacity:.5;background-position:65% center}
 .service-detail-page .service-detail-hero-visual::after{background:linear-gradient(90deg,rgba(248,251,253,.98),rgba(248,251,253,.84))}
 .service-detail-page .service-detail-hero-visual h1{font-size:clamp(2.5rem,9vw,3.6rem)}
}


/* Ver 28 — service-detail hero only: contained photography and inward spacing.
   Keep approved Ver 26 sub-navigation unchanged. */
@media (min-width: 1001px) {
  .service-detail-page .service-detail-hero-visual .wrap {
    width: min(1190px, calc(100% - 110px));
  }
  .service-detail-page .service-detail-hero-visual {
    min-height: 425px;
    padding: 57px 0 61px;
  }
  .service-detail-page .service-detail-hero-visual::before {
    inset: 18px 5% 18px 49%;
    background-size: contain;
    background-position: center center;
  }
  .service-detail-page .service-detail-hero-visual::after {
    background: linear-gradient(90deg,
      #f8fbfd 0%, #f5fafe 29%,
      rgba(241,248,253,.97) 43%,
      rgba(239,247,253,.73) 53%,
      rgba(237,246,253,.04) 73%);
  }
  .service-detail-page .service-detail-hero-visual h1 {
    max-width: 690px;
    font-size: clamp(3rem, 4.6vw, 4.65rem);
  }
  .service-detail-page .service-detail-hero-visual .service-detail-lead {
    max-width: 590px;
  }
}
@media (min-width: 651px) and (max-width: 1000px) {
  .service-detail-page .service-detail-hero-visual .wrap {
    width: min(840px, calc(100% - 76px));
  }
  .service-detail-page .service-detail-hero-visual::before {
    inset: 12px 2% 12px 43%;
    background-size: contain;
    background-position: right center;
  }
}

/* Ver 29: Match hero content's left/right alignment to all lower .wrap sections.
   The approved service sub-navigation remains unchanged. */
.service-detail-page .service-detail-hero-visual .wrap {
  width: min(1480px, calc(100% - 64px));
  margin-inline: auto;
}
@media (max-width:760px) {
  .service-detail-page .service-detail-hero-visual .wrap {
    width: calc(100% - 32px);
  }
}


/* Ver 30: full-width service hero photograph with text aligned to page grid.
   Do not alter the approved service sub-navigation cards. */
.service-detail-page .service-detail-hero-visual {
  position: relative;
  background: #edf5fb;
}
.service-detail-page .service-detail-hero-visual .wrap {
  width: min(1480px, calc(100% - 64px));
  margin-inline: auto;
}
.service-detail-page .service-detail-hero-visual::before {
  inset: 0;
  background-image: var(--detail-hero-image);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  opacity: 1;
}
.service-detail-page .service-detail-hero-visual::after {
  inset: 0;
  background: linear-gradient(90deg,
    rgba(248,251,253,.98) 0%,
    rgba(248,251,253,.93) 27%,
    rgba(248,251,253,.75) 45%,
    rgba(248,251,253,.37) 64%,
    rgba(248,251,253,.06) 100%);
}
@media (max-width: 760px) {
  .service-detail-page .service-detail-hero-visual .wrap {
    width: calc(100% - 32px);
  }
  .service-detail-page .service-detail-hero-visual::before {
    inset: 0;
    background-size: cover;
    background-position: center center;
    opacity: 1;
  }
  .service-detail-page .service-detail-hero-visual::after {
    background: linear-gradient(90deg,rgba(248,251,253,.97),rgba(248,251,253,.81));
  }
}


/* Town pages — Iteration 03 */
.town-hero{background:linear-gradient(135deg,#f6f9fb,#e7f0f5);padding:65px 0 58px}.town-hero h1{max-width:930px;color:#102b3e;font-size:clamp(2.25rem,5vw,3.65rem);line-height:1.1;margin:10px 0 20px}.town-lead{max-width:850px;font-size:1.18rem;line-height:1.6}.town-zip{font-weight:700;color:#155477}.town-section h2{color:#102b3e;margin:0 0 22px}.town-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.town-service-card{display:block;border:1px solid #dce7ec;border-radius:14px;padding:25px;color:#243d4b;text-decoration:none;background:#fff;box-shadow:0 4px 14px #102b3e0b}.town-service-card h3{font-size:1.23rem;color:#123f60;margin:0 0 12px}.town-service-card p{margin:0 0 15px}.town-service-card span{font-weight:700;color:#136189}.town-copy,.town-info,.town-nearby,.town-action{margin-top:45px}.town-copy{max-width:870px}.town-info{background:#f2f7fa;border-radius:14px;padding:28px}.town-info dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0}.town-info dt{color:#546b7b;font-size:.9rem;font-weight:700}.town-info dd{margin:6px 0 0;font-weight:650}.town-links{display:flex;gap:10px;flex-wrap:wrap}.town-links a{padding:8px 14px;border:1px solid #d1e1e8;border-radius:30px;text-decoration:none;color:#125777;font-weight:650}.town-action{background:#e8f2f7;border-radius:14px;padding:30px}.town-action .btn{margin:7px 8px 0 0}@media(max-width:720px){.town-service-grid,.town-info dl{grid-template-columns:1fr}.town-hero{padding:42px 0}.town-info{padding:22px}}


/* Iteration 08: town service-card hover/focus enhancement */
.town-service-card {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background-color .2s ease;
}
@media (hover: hover) and (pointer: fine) {
  @media (hover: hover) and (pointer: fine){.town-service-card:hover{
    transform: translateY(-4px);
    border-color: #177047;
    background-color: #f5faf7;
    box-shadow: 0 12px 25px rgba(16,43,62,.16);
  }}
}
.town-service-card:focus-visible {
  outline: 3px solid #177047;
  outline-offset: 3px;
  border-color: #177047;
}
@media (prefers-reduced-motion: reduce) {
  .town-service-card { transition: none; }
  @media (hover: hover) and (pointer: fine){.town-service-card:hover{ transform: none; }}
}


/* Iteration 09: Marine service panel is an interactive, full-panel link. */
.town-marine{position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease}
@media (hover: hover) and (pointer: fine){@media (hover: hover) and (pointer: fine){.town-marine:hover{transform:translateY(-4px);border-color:#177047;background:#edf8f0;box-shadow:0 12px 25px rgba(16,43,62,.16)}}}
.town-marine:focus-within{border-color:#177047;background:#edf8f0;box-shadow:0 12px 25px rgba(16,43,62,.16)}
.town-marine a[href="marine-hvac-refrigeration.html"]::after{content:"";position:absolute;inset:0;border-radius:inherit;cursor:pointer}
.town-marine:focus-within{outline:2px solid #177047;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.town-marine{transition:none}.town-marine:focus-within{transform:none}@media (hover: hover) and (pointer: fine){.town-marine:hover{transform:none}}}

/* SMS consent — optional, clear and accessible */
.sms-consent-control{margin:1rem 0; padding:1rem; border:1px solid #aebdc9; border-radius:8px; background:#f6f9fc; color:#142838;}
.sms-consent-label{display:flex;align-items:flex-start;gap:.75rem;line-height:1.55;font-size:.95rem;cursor:pointer;}
.sms-consent-label input[type="checkbox"]{flex:0 0 auto;width:19px;height:19px;margin:.2rem 0 0;accent-color:#145b84;}
.sms-consent-label span{flex:1;}
.sms-consent-note{font-size:.83rem;margin:.55rem 0 0 1.75rem;color:#374d60;}
.legal-content{max-width:850px;}
.legal-content h2{margin-top:1.7rem;}
.legal-content li{margin-bottom:.5rem;}


/* Version 2.1.7: SMS terms legal typography */
.section .sms-legal-content h1 {
  font-size:clamp(2.15rem,4vw,3rem);
  line-height:1.12;
  letter-spacing:-.035em;
  color:#102b3e;
  margin:.15em 0 .45em;
}
.section .sms-legal-content h2 {
  font-size:clamp(1.25rem,2.2vw,1.5rem);
  line-height:1.3;
  letter-spacing:-.01em;
  color:#102b3e;
  margin:1.65rem 0 .65rem;
}
.sms-legal-content p, .sms-legal-content li {font-size:1rem;line-height:1.65}

/* v2.1.8 approved lighthouse brand mark */
.site-header .site-logo-truck,.site-header .site-logo-square{object-fit:contain;object-position:center;flex-shrink:0}


/* v2.1.11 – consistent typography for all four legal/footer pages. */
.section .wrap.legal-standard { max-width: 850px; }
.section .wrap.legal-standard h1 {
  font-size: clamp(2.15rem, 4vw, 3rem);
  line-height: 1.12;
  letter-spacing: -.035em;
  font-weight: 800;
  color: #102b3e;
  margin: .15em 0 .55em;
}
.section .wrap.legal-standard h2 {
  font-size: clamp(1.25rem, 2.2vw, 1.5rem);
  line-height: 1.3;
  letter-spacing: -.01em;
  font-weight: 700;
  color: #102b3e;
  margin: 1.65rem 0 .65rem;
}
.section .wrap.legal-standard h3 {
  font-size: 1.125rem;
  line-height: 1.4;
  font-weight: 700;
  color: #102b3e;
  margin: 1.25rem 0 .5rem;
}
.section .wrap.legal-standard p,
.section .wrap.legal-standard li {
  font-size: 1rem;
  line-height: 1.65;
}
.section .wrap.legal-standard li { margin-bottom: .5rem; }


/* v2.1.12: strict footer document hierarchy; scoped only to legal pages */
body.legal-page main .section .legal-standard > h1,
body.legal-page main .section .legal-standard h1 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(2.5rem, 5vw, 3.5rem) !important;
  line-height: 1.12 !important;
  font-weight: 850 !important;
  color: #102b3e !important;
  letter-spacing: -.035em !important;
  margin: .1em 0 .55em !important;
}
body.legal-page main .section .legal-standard h2 {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif !important;
  font-size: clamp(1.28rem, 2.2vw, 1.5rem) !important;
  line-height: 1.32 !important;
  font-weight: 750 !important;
  letter-spacing: -.01em !important;
  color: #102b3e !important;
  margin: 1.8rem 0 .65rem !important;
}
body.legal-page main .section .legal-standard h3 {
  font-size: 1.125rem !important;
  line-height: 1.4 !important;
  font-weight: 700 !important;
  margin: 1.3rem 0 .5rem !important;
}
body.legal-page main .section .legal-standard p,
body.legal-page main .section .legal-standard li {
  font-size: 1rem !important;
  line-height: 1.65 !important;
}
