:root{--blue:#273fc8;--navy:#0a1f57;--red:#d71920;--gold:#ffdf24;--light:#f5f7ff;--muted:#5f6f8b;--white:#fff;--shadow:0 18px 45px rgba(10,31,87,.16)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:#14213d;background:#fff;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}.wrap{width:min(1180px,92%);margin:auto}.topbar{background:var(--blue);color:#fff;font-size:.98rem;border-bottom:5px solid var(--gold)}.topbar .wrap,.mainnav .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar a{font-weight:900;color:#fff}.book-small{background:var(--red);padding:11px 20px;text-transform:uppercase;border-radius:0 0 9px 9px;box-shadow:0 6px 0 rgba(0,0,0,.16)}.mainnav{background:#fff;position:sticky;top:0;z-index:10;box-shadow:0 5px 20px rgba(0,0,0,.1)}.brand{display:flex;align-items:center;gap:15px;padding:10px 0}.brand-logo{width:min(245px,42vw);display:block}.brand-text{display:none}.mark{display:none}.brand strong{display:block;color:var(--blue);font-size:1.3rem;line-height:1}.brand span{display:block;color:var(--red);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.1em}nav ul{display:flex;gap:15px;list-style:none;margin:0;padding:0;flex-wrap:wrap;justify-content:flex-end}nav a{font-weight:900;color:var(--navy);font-size:.93rem}nav a:hover{color:var(--red)}.hero{position:relative;overflow:hidden;background:linear-gradient(100deg,rgba(39,63,200,.95),rgba(10,31,87,.84)),url('../images/a1-team-truck.jpg') center right/cover no-repeat;color:#fff}.hero .wrap{display:grid;grid-template-columns:1.03fr .97fr;gap:34px;align-items:center;padding:70px 0}.hero h1{text-shadow:0 3px 14px rgba(0,0,0,.25)}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:900;color:var(--gold)}h1{font-size:clamp(2.2rem,5vw,4.7rem);line-height:.95;margin:12px 0 18px;text-transform:uppercase}h2{font-size:clamp(1.8rem,3vw,3rem);line-height:1.05;margin:0 0 14px;text-transform:uppercase;color:var(--blue)}h3{font-size:1.35rem;margin:0 0 10px;color:var(--navy)}.lead{font-size:1.25rem;max-width:720px}.cta-row{display:flex;gap:14px;flex-wrap:wrap;margin-top:24px}.btn{border:0;border-radius:4px;padding:14px 22px;font-weight:900;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 5px 0 rgba(0,0,0,.12)}.btn-red{background:var(--red);color:#fff}.btn-blue{background:var(--blue);color:#fff}.btn-white{background:#fff;color:var(--blue)}.hero-card{background:rgba(255,255,255,.97);color:var(--navy);border-radius:8px;box-shadow:var(--shadow);padding:26px;border:5px solid var(--gold)}.hero-card .phone{font-size:2rem;color:var(--red);font-weight:900}.truck-photo{border:8px solid #fff;box-shadow:var(--shadow);border-radius:8px}.stripe{background:var(--red);color:#fff;padding:15px 0;text-align:center;font-weight:900;text-transform:uppercase}.section{padding:64px 0}.light{background:var(--light)}.grid{display:grid;gap:24px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}.card{background:#fff;border-radius:8px;padding:26px;box-shadow:0 10px 30px rgba(0,0,0,.08);border-top:7px solid var(--blue)}.service-card{min-height:160px;display:flex;flex-direction:column;justify-content:space-between}.service-card .icon{font-size:2.2rem}.red-section{background:linear-gradient(135deg,#d71920,#990409);color:#fff}.red-section h2,.red-section h3{color:#fff}.blue-section{background:var(--blue);color:#fff}.blue-section h2,.blue-section h3{color:#fff}.coupon{border:3px dashed var(--red);border-radius:10px;padding:28px;text-align:center;background:#fff;color:var(--navy)}.coupon .amount{font-size:2.8rem;color:var(--red);font-weight:900}.list-cols{columns:3;column-gap:40px}.list-cols li{break-inside:avoid;margin:5px 0}.review{font-size:1rem}.review:before{content:'“';font-size:4rem;color:var(--red);line-height:0}.page-hero{background:linear-gradient(100deg,rgba(39,63,200,.94),rgba(10,31,87,.86)),url('../images/a1-truck-large.jpg') center/cover no-repeat;color:#fff;padding:58px 0;border-bottom:6px solid var(--gold)}.page-hero h1{font-size:clamp(2rem,4vw,3.8rem);text-shadow:0 3px 12px rgba(0,0,0,.25)}.breadcrumb{font-weight:700;color:#fff}.footer{background:var(--navy);color:#fff;padding:48px 0 20px;border-top:6px solid var(--gold)}.footer a{color:#fff}.footer h3{color:#fff}.licenses{font-size:.9rem;color:#dbe4f0}.mobile-only{display:none}.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px}.service-list li{margin-bottom:4px}.form{display:grid;gap:12px}.form input,.form textarea,.form select{width:100%;padding:13px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}.fine{font-size:.9rem;color:var(--muted)}.photo-card{padding:0;overflow:hidden}.photo-card img{display:block;width:100%;height:100%;object-fit:cover}.gold-note{background:var(--gold);color:#111;padding:12px 16px;font-weight:900;text-transform:uppercase;display:inline-block;margin-bottom:12px}@media(max-width:1050px){.grid-5{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.hero .wrap,.grid-2,.grid-3,.grid-4,.grid-5{grid-template-columns:1fr}nav ul{display:none}.mobile-only{display:inline-flex}.hero .wrap{padding:52px 0}.list-cols{columns:1}.service-list{grid-template-columns:1fr}.brand-logo{width:min(210px,70vw)}.topbar .wrap{flex-direction:column;padding:8px 0}.hero{background:linear-gradient(100deg,rgba(39,63,200,.94),rgba(10,31,87,.86)),url('../images/a1-team-truck.jpg') center/cover no-repeat}}

/* Career application page */
.benefits-grid .card{border-top-color:var(--red)}
.career-form{background:#fff;color:#14213d;border-radius:10px;padding:26px;box-shadow:var(--shadow);margin-top:24px}
.career-form fieldset{border:2px solid #dbe4f0;border-radius:10px;margin:0 0 20px;padding:20px;background:#f8fbff}
.career-form legend{font-weight:900;text-transform:uppercase;color:var(--blue);padding:0 8px}
.career-form label{display:block;font-weight:800;margin:10px 0;color:var(--navy)}
.career-form input,.career-form textarea,.career-form select{margin-top:6px;background:#fff}
.career-form .form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.career-form .form-row:has(label:nth-child(3)){grid-template-columns:repeat(3,minmax(0,1fr))}
.career-form .notice{background:#fff;border-left:6px solid var(--red);padding:16px;border-radius:8px;margin-bottom:14px}
.career-form .checkbox{display:flex;gap:10px;align-items:flex-start}
.career-form .checkbox input{width:auto;margin-top:6px}
.form-note{color:#5f6f8b;margin-top:12px}
@media(max-width:800px){.career-form{padding:16px}.career-form .form-row,.career-form .form-row:has(label:nth-child(3)){grid-template-columns:1fr}}

.coupon-full-detail{position:relative;border:3px dashed #35a8ff;box-shadow:0 14px 35px rgba(10,31,87,.12);padding:30px 24px}.coupon-full-detail .amount{color:#35a8ff;text-shadow:0 2px 0 rgba(10,31,87,.16);font-size:clamp(2rem,4vw,3.2rem);line-height:1}.coupon-full-detail h3{text-transform:uppercase;font-size:1.35rem;line-height:1.15;margin:14px 0;color:var(--navy)}.coupon-terms{list-style:none;margin:18px auto;padding:0;text-align:left;max-width:360px;color:var(--red);font-size:.86rem;text-transform:uppercase}.coupon-terms li{margin:5px 0;padding-left:20px;position:relative}.coupon-terms li:before{content:'›';position:absolute;left:0;border:1px solid var(--red);border-radius:50%;width:12px;height:12px;line-height:10px;text-align:center;font-size:12px}.coupon-call{font-weight:900;text-transform:uppercase;color:#35a8ff}.coupon-call a{color:#35a8ff}.coupon-brand{font-weight:900;color:var(--navy);text-transform:uppercase}.coupons-section .grid-3{align-items:stretch}.coupons-section .coupon{display:flex;flex-direction:column;justify-content:space-between}


.form-success{background:#e8f7ed;border:1px solid #98d9a8;color:#145c2e;padding:12px;border-radius:8px;margin:12px 0;font-weight:700}
.form-error{background:#fdecec;border:1px solid #f2a0a0;color:#7a1717;padding:12px;border-radius:8px;margin:12px 0;font-weight:700}


/* SEO and conversion additions */
.seo-expanded .compact-links{columns:2;gap:24px}.faq-section .card h3{font-size:1.1rem}.review-feed-placeholder{border:3px dashed var(--blue);border-radius:8px;background:var(--light);padding:24px;text-align:center;color:var(--navy);margin:18px 0}.mobile-sticky-cta{display:none}@media(max-width:760px){body{padding-bottom:72px}.mobile-sticky-cta{position:fixed;left:0;right:0;bottom:0;z-index:9999;display:grid;grid-template-columns:1fr 1fr 1fr;box-shadow:0 -8px 24px rgba(0,0,0,.22)}.mobile-sticky-cta a{display:flex;align-items:center;justify-content:center;text-align:center;padding:14px 8px;color:#fff;background:var(--blue);font-weight:900;text-transform:uppercase;border-right:1px solid rgba(255,255,255,.25)}.mobile-sticky-cta a:nth-child(2){background:var(--navy)}.mobile-sticky-cta a:nth-child(3){background:var(--red);border-right:0}.seo-expanded .compact-links{columns:1}}

/* Google reviews and review CTA additions */
.live-google-reviews{border-top:6px solid var(--gold)}
.google-reviews-widget{margin:22px 0;background:#fff;border-radius:10px;padding:14px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.review-cta-row{margin-top:20px}
.reviews-snippets .review{min-height:230px}
.review-request-cta{background:linear-gradient(135deg,var(--blue),var(--navy));padding:42px 0}
.review-request-card{text-align:center;border-top-color:var(--gold)}
.review-request-card h2{color:var(--blue)}
@media(max-width:760px){.review-request-card .btn,.review-cta-row .btn{width:100%;margin:6px 0}.google-reviews-widget{padding:8px}}


.video-embed{position:relative;width:100%;padding-top:56.25%;overflow:hidden;border-radius:14px;background:#eef3f8}
.video-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.video-card h3{margin-top:16px}
.video-grid{align-items:start}


/* Professional gallery page */
.gallery-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
.gallery-tab{border:0;border-radius:999px;padding:10px 18px;font-weight:800;cursor:pointer;background:#e8eef6;color:#12395d}
.gallery-tab.active{background:#c82032;color:#fff}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px;margin-top:22px}
.gallery-item{border:0;background:transparent;padding:0;cursor:pointer;border-radius:16px;overflow:hidden;box-shadow:0 12px 28px rgba(10,35,66,.14)}
.gallery-item img{width:100%;height:210px;object-fit:cover;display:block;transition:transform .25s ease}
.gallery-item:hover img{transform:scale(1.04)}
.gallery-videos{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:22px;margin-top:28px}
.gallery-video{background:#fff;border-radius:16px;padding:16px;box-shadow:0 12px 28px rgba(10,35,66,.12)}
.gallery-video video{width:100%;border-radius:12px;display:block}
.gallery-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.86);z-index:9999;display:none;align-items:center;justify-content:center;padding:30px}
.gallery-lightbox.open{display:flex}
.gallery-lightbox img{max-width:92vw;max-height:86vh;border-radius:14px;box-shadow:0 20px 60px rgba(0,0,0,.45)}
.gallery-lightbox button{position:absolute;border:0;border-radius:999px;background:#fff;color:#12395d;font-size:38px;line-height:1;width:52px;height:52px;cursor:pointer}
.gallery-lightbox-close{top:20px;right:20px}
.gallery-lightbox-prev{left:24px}
.gallery-lightbox-next{right:24px}
@media(max-width:700px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:12px}.gallery-item img{height:150px}.gallery-lightbox button{width:44px;height:44px;font-size:30px}.gallery-lightbox-prev{left:10px}.gallery-lightbox-next{right:10px}}


/* SEO landing page enhancements */
.service-hero-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin:22px 0;padding:0;list-style:none}
.service-hero-list li{background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 8px 22px rgba(10,35,66,.10);font-weight:700}
.local-links{columns:2;column-gap:32px}
.local-links li{break-inside:avoid;margin:0 0 8px}
.schema-note{font-size:.92rem;color:#516070}
@media(max-width:700px){.local-links{columns:1}}

/* Customer Portal Page */
.portal-checklist{list-style:none;margin:0;padding:0;display:grid;gap:12px}.portal-checklist li{position:relative;padding-left:30px;font-weight:700;color:var(--navy)}.portal-checklist li:before{content:'✓';position:absolute;left:0;top:0;color:var(--red);font-weight:900}.portal-feature-grid .card{border-top-color:var(--red)}.portal-feature-grid .icon{font-size:2.4rem;margin-bottom:10px}.portal-signin-card{border-top-color:var(--red)}

/* Mobile viewing improvements added 2026-06-23 */
html,body{max-width:100%;overflow-x:hidden}
img,svg,video,iframe{max-width:100%;height:auto}
iframe{border:0}
.btn,.book-small,button,input[type="submit"]{min-height:44px;touch-action:manipulation}
.card,.hero-card,.coupon,.review,.footer,.section,.page-hero{overflow-wrap:anywhere}
table{width:100%;max-width:100%;border-collapse:collapse}
@media(max-width:900px){
  .wrap{width:min(94%,1180px)}
  .cta-row{display:grid;grid-template-columns:1fr;gap:12px}
  .cta-row .btn,.card .btn,.footer .btn{width:100%;text-align:center}
  .section{padding:44px 0}
  .page-hero{padding:42px 0}
  .topbar .wrap{gap:8px;text-align:center}
  .mainnav .wrap{align-items:center}
}
@media(max-width:520px){
  h1{font-size:clamp(2rem,10vw,3rem)}
  h2{font-size:clamp(1.55rem,8vw,2.25rem)}
  .card,.hero-card{padding:20px}
  .mobile-sticky-cta a{font-size:.82rem;padding:13px 6px;min-height:54px}
}

/* Mobile menu and chat-safe sticky CTA fixes added 2026-06-23 */
.menu-toggle{display:none;border:0;border-radius:6px;background:var(--blue);color:#fff;font-weight:900;text-transform:uppercase;padding:12px 16px;min-height:44px;box-shadow:0 5px 0 rgba(0,0,0,.12);cursor:pointer}
@media(max-width:900px){
  .mainnav .wrap{position:relative;gap:10px;flex-wrap:wrap}
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center;margin-left:auto}
  .mainnav nav.site-nav{display:none;flex-basis:100%;width:100%;order:5;background:#fff;border-top:2px solid #eef2ff;padding:10px 0 14px}
  .mainnav nav.site-nav.open{display:block}
  .mainnav nav.site-nav ul{display:grid;grid-template-columns:1fr;gap:0;width:100%}
  .mainnav nav.site-nav li{border-bottom:1px solid #e7ecf7}
  .mainnav nav.site-nav a{display:block;padding:13px 4px;font-size:1rem}
  .mainnav .mobile-only{display:inline-flex;order:3;padding:12px 14px;min-width:74px;width:auto}
}
@media(max-width:760px){
  body{padding-bottom:150px}
  .mobile-sticky-cta{bottom:76px;z-index:9998}
  .mobile-sticky-cta a{min-height:56px}
}
@media(max-width:520px){
  .brand-logo{width:min(190px,52vw)}
  .menu-toggle{padding:11px 13px;font-size:.95rem}
  .mainnav .mobile-only{font-size:.9rem;padding:11px 12px}
  .mobile-sticky-cta{grid-template-columns:1fr 1fr}
  .mobile-sticky-cta a:nth-child(3){grid-column:1 / -1}
}

/* Mobile bottom CTA stability and chat alignment fix added 2026-06-23 */
@media(max-width:760px){
  html,body{overflow-x:hidden!important}
  body{padding-bottom:66px!important}
  .mobile-sticky-cta{
    position:fixed!important;
    left:0!important;
    right:25vw!important;
    bottom:0!important;
    width:auto!important;
    transform:none!important;
    z-index:2147483000!important;
    display:grid!important;
    grid-template-columns:1fr 1fr 1fr!important;
    align-items:stretch!important;
    background:var(--red)!important;
    box-shadow:0 -4px 16px rgba(0,0,0,.22)!important;
    padding:0!important;
    margin:0!important;
  }
  .mobile-sticky-cta a{
    min-height:60px!important;
    padding:10px 6px!important;
    font-size:.82rem!important;
    line-height:1.1!important;
    border-right:1px solid rgba(255,255,255,.28)!important;
  }
  .mobile-sticky-cta a:nth-child(1){background:var(--blue)!important}
  .mobile-sticky-cta a:nth-child(2){background:var(--navy)!important}
  .mobile-sticky-cta a:nth-child(3){background:var(--red)!important;grid-column:auto!important;border-right:0!important}
  iframe[src*="text2chat"],
  iframe[src*="servicetitan"],
  div[id*="text2chat" i],
  div[class*="text2chat" i],
  div[id*="t2c" i],
  div[class*="t2c" i]{
    max-width:25vw!important;
  }
}
@media(max-width:420px){
  .mobile-sticky-cta{right:26vw!important}
  .mobile-sticky-cta a{font-size:.76rem!important;padding-left:4px!important;padding-right:4px!important}
}

/* Mobile Text2Chat dialog viewport fix added 2026-06-23
   Keeps the opened ServiceTitan chat panel fully visible on phones. */
@media(max-width:760px){
  iframe[src*="text2chat"],
  iframe[src*="servicetitan"],
  div[id*="text2chat" i],
  div[class*="text2chat" i],
  div[id*="t2c" i],
  div[class*="t2c" i],
  div[title*="chat" i],
  iframe[title*="chat" i]{
    box-sizing:border-box!important;
  }
  iframe[src*="text2chat"][style*="width"],
  iframe[src*="servicetitan"][style*="width"],
  div[id*="text2chat" i][style*="width"],
  div[class*="text2chat" i][style*="width"],
  div[id*="t2c" i][style*="width"],
  div[class*="t2c" i][style*="width"]{
    max-width:calc(100vw - 20px)!important;
  }
}


/* A-1 truck promo image inside Residential Service Since 1985 cards */
.residential-service-promo{
  display:block;
  width:100%;
  max-width:720px;
  height:auto;
  margin:22px auto 0;
  border:2px solid var(--blue);
  border-radius:10px;
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}
@media(max-width:700px){
  .residential-service-promo{
    margin-top:18px;
    border-radius:8px;
  }
}


/* Added SEO/conversion refinements */
.trust-signal-strip{background:#f4f8fc;border-top:1px solid #dbe7f3;border-bottom:1px solid #dbe7f3;padding:24px 0;margin-top:28px}
.trust-signal-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.trust-signal-grid div{background:#fff;border:1px solid #dbe7f3;border-radius:14px;padding:16px;box-shadow:0 4px 14px rgba(10,40,80,.06)}
.trust-signal-grid strong{display:block;color:#0b4f8a;font-size:1rem;margin-bottom:6px}
.trust-signal-grid span{display:block;color:#38485a;font-size:.94rem;line-height:1.45}
.related-service-links{background:#fff;border:1px solid #dbe7f3;border-radius:16px;padding:22px;margin:28px auto;box-shadow:0 4px 14px rgba(10,40,80,.05)}
.related-service-links h2{margin-top:0}
.related-service-links ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 18px;margin-bottom:0}
.related-service-links a{font-weight:700}
@media(max-width:800px){.trust-signal-grid,.related-service-links ul{grid-template-columns:1fr}.trust-signal-strip{padding:18px 0}}








/* Final Menu styled like nav links */
.site-nav .nav-dropdown{position:relative}
.site-nav .nav-menu-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  border:0;
  background:transparent;
  color:var(--blue,#0b4f8a);
  font:inherit;
  font-weight:800;
  cursor:pointer;
  padding:10px 8px;
  line-height:1.2;
  text-decoration:none;
}
.site-nav .nav-menu-button:hover,
.site-nav .nav-menu-button:focus{
  color:var(--red,#c8102e);
  outline:none;
}
.site-nav .nav-menu-panel{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  min-width:235px;
  margin:0;
  padding:8px;
  background:#fff;
  border:1px solid #dbe7f3;
  border-radius:12px;
  box-shadow:0 12px 28px rgba(10,40,80,.18);
  z-index:10000;
}
.site-nav .nav-menu-panel a{
  display:block;
  white-space:nowrap;
  padding:10px 12px;
  border-radius:8px;
  color:var(--blue,#0b4f8a);
  text-decoration:none;
  font-weight:800;
}
.site-nav .nav-menu-panel a:hover,
.site-nav .nav-menu-panel a:focus{
  background:#f4f8fc;
  color:var(--red,#c8102e);
}
@media(max-width:900px){
  .site-nav .nav-menu-button{
    width:100%;
    justify-content:flex-start;
    padding:13px 4px;
  }
  .site-nav .nav-menu-panel{
    position:static;
    min-width:0;
    box-shadow:none;
    border:0;
    border-radius:0;
    padding:0 0 0 16px;
    background:#fff;
  }
}

/* Final blue vertical Menu dropdown */
.site-nav .nav-dropdown{position:relative !important;display:inline-block !important}
.site-nav .nav-menu-button{display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;border:0 !important;border-radius:8px !important;background:var(--blue,#0b4f8a) !important;color:#fff !important;font:inherit !important;font-weight:900 !important;cursor:pointer !important;padding:10px 14px !important;line-height:1.2 !important;text-decoration:none !important}
.site-nav .nav-menu-button:hover,.site-nav .nav-menu-button:focus{background:var(--red,#c8102e) !important;color:#fff !important;outline:none !important}
.site-nav .nav-menu-panel{position:absolute !important;right:0 !important;top:calc(100% + 8px) !important;width:245px !important;min-width:245px !important;margin:0 !important;padding:8px !important;background:#fff !important;border:1px solid #dbe7f3 !important;border-radius:12px !important;box-shadow:0 12px 28px rgba(10,40,80,.18) !important;z-index:10000 !important}
.site-nav .nav-menu-panel a{display:block !important;width:100% !important;box-sizing:border-box !important;white-space:nowrap !important;padding:10px 12px !important;margin:0 !important;border-radius:8px !important;color:var(--blue,#0b4f8a) !important;background:#fff !important;text-decoration:none !important;font-weight:800 !important;line-height:1.2 !important}
.site-nav .nav-menu-panel a:hover,.site-nav .nav-menu-panel a:focus{background:#f4f8fc !important;color:var(--red,#c8102e) !important}
@media(max-width:900px){.site-nav .nav-dropdown{display:block !important;width:100% !important}.site-nav .nav-menu-button{width:100% !important;justify-content:flex-start !important;border-radius:0 !important;background:transparent !important;color:var(--blue,#0b4f8a) !important;padding:13px 4px !important}.site-nav .nav-menu-panel{position:static !important;width:100% !important;min-width:0 !important;box-shadow:none !important;border:0 !important;border-radius:0 !important;padding:0 0 0 16px !important;background:#fff !important}}

/* Updated gallery captions and before/after section */
.gallery-card{margin:0}
.gallery-card figcaption{font-weight:800;color:#12395d;background:#fff;padding:10px 12px;border-radius:0 0 14px 14px;box-shadow:0 8px 18px rgba(10,35,66,.08);font-size:.92rem}
.gallery-card .gallery-item{border-radius:16px 16px 0 0;width:100%}
.before-after-showcase{margin:28px 0;padding:24px;border-radius:22px;background:#fff;box-shadow:0 14px 34px rgba(10,35,66,.12)}
.before-after-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:18px}
.before-after-grid figure{margin:0;position:relative;border-radius:18px;overflow:hidden;background:#e8eef6}
.before-after-grid img{width:100%;height:340px;object-fit:cover;display:block}
.before-after-grid span{position:absolute;top:12px;left:12px;background:#c82032;color:#fff;font-weight:900;border-radius:999px;padding:8px 14px;z-index:1}
@media(max-width:700px){.before-after-grid{grid-template-columns:1fr}.before-after-grid img{height:260px}}

/* Recent installation photo strips */
.install-photo-strip{margin:34px 0;padding:24px;border-radius:22px;background:#f4f7fb;box-shadow:0 12px 26px rgba(10,35,66,.08)}
.install-photo-strip h2{margin-top:0}
.install-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px}
.install-photo-grid figure{margin:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 22px rgba(10,35,66,.10)}
.install-photo-grid img{width:100%;height:220px;object-fit:cover;display:block}
.install-photo-grid figcaption{font-weight:800;color:#12395d;padding:10px 12px;font-size:.93rem}
@media(max-width:800px){.install-photo-grid{grid-template-columns:1fr}.install-photo-grid img{height:230px}}


/* Clean rebuilt gallery layout */
.gallery-page .gallery-grid{align-items:start}
.gallery-card{display:block;overflow:hidden;border-radius:16px;background:#fff;box-shadow:0 8px 18px rgba(10,35,66,.08)}
.gallery-card .gallery-item{display:block;background:#e8eef6;border:0;padding:0;cursor:pointer;aspect-ratio:4/3;overflow:hidden}
.gallery-card .gallery-item img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s ease}
.gallery-card .gallery-item:hover img{transform:scale(1.03)}
.gallery-card figcaption{border-radius:0;box-shadow:none;min-height:52px;display:flex;align-items:center}
.gallery-videos{margin-top:30px}.gallery-video{background:#fff;border-radius:18px;padding:18px;box-shadow:0 8px 18px rgba(10,35,66,.08)}.gallery-video video{width:100%;max-height:560px;border-radius:14px;background:#000}

/* SEO enhancement sections added 2026-07 */
.seo-faq-section,.seo-related-links{margin:2rem auto;padding:1.5rem;border:1px solid #dbe4f0;border-radius:14px;background:#fff}
.seo-faq-section h2,.seo-related-links h2{margin-top:0}
.seo-faq-section .faq-item{margin:1rem 0}
.seo-faq-section .faq-item h3{margin-bottom:.35rem}
.seo-related-links ul{display:flex;flex-wrap:wrap;gap:.65rem;list-style:none;padding:0;margin:1rem 0 0}
.seo-related-links li a{display:inline-block;padding:.55rem .8rem;border-radius:999px;background:#eef5fb;text-decoration:none;font-weight:700}
.seo-related-links li a:hover{text-decoration:underline}

/* Navien tankless water heater right-side card */
.navien-install-card{text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:360px;padding:42px 34px;border-top-color:var(--blue)}
.navien-install-card .navien-kicker{font-size:1.9rem;line-height:1.05;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:var(--navy);margin:0 0 24px}
.navien-install-card img{width:min(440px,100%);height:auto;margin:0 auto 28px;display:block}
.navien-install-card p{font-size:1.35rem;line-height:1.65;color:var(--navy);font-weight:700;max-width:540px;margin:0 auto}
@media(max-width:900px){.navien-install-card{min-height:auto;padding:30px 22px}.navien-install-card .navien-kicker{font-size:1.45rem}.navien-install-card p{font-size:1.05rem;line-height:1.55}}


/* Linked service directory cards */
.service-directory-list{
  list-style:none;
  margin:18px 0 24px;
  padding:0;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:12px;
}
.service-directory-list li{margin:0;padding:0;}
.service-directory-list a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:12px 14px;
  border:1px solid rgba(0,43,128,.14);
  border-radius:10px;
  background:#fff;
  color:#001b4f;
  font-weight:700;
  text-decoration:none;
  box-shadow:0 8px 20px rgba(0,27,79,.06);
  transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}
.service-directory-list a:hover,
.service-directory-list a:focus{
  transform:translateY(-1px);
  border-color:#2946d3;
  box-shadow:0 12px 26px rgba(0,27,79,.12);
  text-decoration:none;
}
.service-check{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:22px;
  height:22px;
  border-radius:50%;
  background:#2946d3;
  color:#fff;
  font-size:14px;
  line-height:1;
  flex:0 0 22px;
}
.service-directory-grid{align-items:start;}
.service-directory-card .service-directory-list{grid-template-columns:1fr;margin-bottom:0;}
@media (max-width:700px){.service-directory-list{grid-template-columns:1fr;}}

/* Gallery cards without visible captions */
.gallery-card .gallery-item{border-radius:16px;width:100%;}
.gallery-card{background:transparent;}
