.hero-v3{display:grid;grid-template-columns:1.1fr 1fr;background:var(--navy);color:white;padding:48px 5% 60px;gap:5%;align-items:center}.hero-copy h1{font-family:'Barlow Condensed',Impact,sans-serif;font-size:clamp(62px,6.6vw,112px);line-height:.9;letter-spacing:-1.5px;margin:27px 0}.hero-copy h1 em{color:var(--teal);font-style:normal}.hero-copy>.eyebrow{color:#9fd4d0;line-height:1.8}.hero-description{max-width:480px;font-size:15px;line-height:1.85;color:#d1e0e6}.hero-actions{display:flex;gap:24px;align-items:center;margin:28px 0}.hero-actions>a:last-child{font-size:12px;text-underline-offset:5px;text-decoration:underline}.hero-footnote{display:flex;gap:35px;border-top:1px solid #426071;padding-top:23px;color:#a9c1cf;font-size:11px;line-height:1.8}.hero-footnote b{color:white}.hero-portrait{margin:0;position:relative;align-self:stretch;min-height:550px;overflow:hidden}.hero-portrait img{width:100%;height:100%;position:absolute;object-fit:cover;object-position:50% 64%}.hero-portrait figcaption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#061b32ed);padding:85px 28px 25px}.hero-portrait figcaption span{font-size:9px;letter-spacing:2px}.hero-portrait figcaption strong{display:block;font-family:'Barlow Condensed',sans-serif;font-size:36px;margin-top:8px}.service-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-tile{background:white;border:1px solid #dbe3e0;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.service-tile:hover{transform:translateY(-4px);box-shadow:0 12px 28px #0a234212}.service-tile-image{background:#e4ece9;height:270px;position:relative;padding:14px}.service-tile-image img{display:block;width:100%;height:100%;object-fit:contain}.service-tile-image span{position:absolute;bottom:12px;left:12px;background:var(--navy);color:white;padding:8px 11px;font-size:9px;text-transform:uppercase;letter-spacing:1px}.service-tile-copy{padding:25px;display:flex;flex-direction:column;flex:1}.service-tile h3{font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;font-size:32px;line-height:1.05;margin:0 0 12px}.service-tile p{font-size:13px;line-height:1.7;margin:0 0 24px;color:#4d626e}.tile-cta{display:flex;justify-content:space-between;margin-top:auto;padding-top:15px;border-top:1px solid #dbe3e0;font-size:11px;font-weight:800}.tile-cta b{font-size:20px;color:#087e78}.service-bottom{display:flex;align-items:center;gap:35px;justify-content:space-between;margin-top:30px;padding-top:28px;border-top:1px solid #c5d5cf}.service-bottom p{max-width:620px;font-size:14px}.service-bottom .button{white-space:nowrap}.catalog-controls{margin-bottom:35px}.catalog-controls label{font-size:12px;font-weight:800;display:block}.catalog-controls input{display:block;width:100%;max-width:520px;border:1px solid #a9bfba;padding:17px;margin:12px 0 22px;background:white;font:inherit}.service-filters{display:flex;gap:9px;flex-wrap:wrap}.service-filters button,.review-controls button{border:1px solid #9bb5b1;background:transparent;color:var(--navy);padding:12px 16px;font:inherit;font-size:12px;cursor:pointer}.service-filters button[aria-pressed=true]{background:var(--navy);color:white}#service-count{font-size:12px;color:#526d76}.service-tile[hidden]{display:none}.price-range{background:var(--navy);color:white;padding:40px}.price-range>.eyebrow{color:var(--teal)}.price-range>div{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:35px 0}.price-range>div>span{font-size:12px}.price-range strong{display:block;font-family:'Barlow Condensed',sans-serif;color:var(--teal);font-size:70px;line-height:1.1}.price-range p{font-size:13px;line-height:1.8}.price-range .plain{color:white}.calculator-truck-photo{margin:0 0 25px;position:relative}.calculator-truck-photo img{display:block;width:100%;height:245px;object-fit:cover;object-position:50% 61%}.calculator-truck-photo figcaption{background:var(--navy);color:white;font-size:9px;letter-spacing:1px;padding:10px 14px}.truck-panel>svg{max-height:210px}.packing-note{font-size:12px;line-height:1.7;padding:12px;background:#edf5f2;border-left:3px solid #087e78}.review-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:22px;padding-bottom:12px}.review-grid .review-card{flex:0 0 calc((100% - 22px)/2);scroll-snap-align:start}.review-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin:20px 0}.review-controls span{font-size:11px;margin-right:auto}.review-controls button:hover{background:#d7ebe6}.social-links{display:flex;gap:12px 20px;flex-wrap:wrap;margin-top:24px}.full-footer .social-links a{font-size:12px;padding:0}.page-hero-grid>img{object-fit:contain!important;background:#15344f;max-height:540px;height:auto;width:100%;aspect-ratio:1;box-shadow:12px 12px 0 #173e50}.page-hero-grid{align-items:center}.check-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0;list-style:none}.check-list li{padding:20px!important;border:1px solid #c8d8d2;background:white;margin:0!important;font-weight:700;font-size:13px}.detail-layout article>h3{margin-top:36px}.service-project{margin:35px 0;background:#e4eeeb;padding:22px}.service-project img{display:block;max-height:600px;max-width:100%;width:auto;margin:auto}.service-project figcaption{font-size:11px;padding-top:15px;line-height:1.7}#coverage-map{height:500px;background:#e1e9e4;position:relative;z-index:0}#coverage-map>p{padding:30px}.leaflet-container{font-family:Manrope,Arial,sans-serif}.leaflet-popup-content a{color:#075e68;text-decoration:underline}.leaflet-control-attribution{font-size:10px}.map-frame{overflow:hidden}.map-frame>a{display:block;padding:15px;background:var(--navy);color:white;font-size:12px}.county-list details summary{cursor:pointer}.county-list .coverage-name a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(min-width:1550px){.hero-v3{padding-left:calc((100vw - 1395px)/2);padding-right:calc((100vw - 1395px)/2)}}
@media(max-width:1050px){.hero-v3{gap:30px}.hero-copy h1{font-size:7.2vw}.hero-portrait{min-height:520px}.hero-actions{align-items:flex-start;flex-direction:column;gap:17px}.service-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.service-tile-image{height:260px}.hero-footnote{gap:15px}}
@media(max-width:700px){.hero-v3{grid-template-columns:1fr;padding:32px 6% 30px;gap:30px}.hero-copy h1{font-size:14.5vw;letter-spacing:-1px}.hero-description{font-size:14px}.hero-actions{flex-direction:row;align-items:center;gap:20px}.hero-actions .button{padding:18px 14px;font-size:10px}.hero-actions>a:last-child{font-size:10px}.hero-portrait{min-height:460px}.hero-portrait img{object-position:50% 60%}.hero-footnote{justify-content:space-between}.service-tiles{gap:16px}.service-tile-image{height:210px;padding:8px}.service-tile-copy{padding:18px}.service-tile h3{font-size:27px}.service-tile p{font-size:12px}.service-tile-image span{font-size:7px;padding:6px}.service-bottom{display:block}.service-bottom .button{display:inline-block;margin-top:12px}.review-grid .review-card{flex-basis:88%}.price-range{padding:28px}.price-range strong{font-size:60px}.page-hero-grid>img{max-height:480px;aspect-ratio:auto}.check-list{grid-template-columns:1fr}#coverage-map{height:420px}.service-project{padding:12px}.social-links{gap:16px}.service-filters button{font-size:11px;padding:10px}}
@media(max-width:450px){.service-tiles{grid-template-columns:1fr}.service-tile-image{height:290px}.service-tile-copy{padding:22px}.service-tile h3{font-size:32px}.hero-portrait{min-height:410px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.footer-socials{grid-column:1/-1;border-top:1px solid #365268;padding-top:5px}.reviews-section .review-controls button{color:white;border-color:#7b9baf}.reviews-section .review-controls button:hover{background:#21435d}
@media(max-width:450px){.hero-copy h1{font-size:12.7vw}}
.hero-copy h1 .hero-searchline{display:block;font-family:Manrope,Arial,sans-serif;font-size:12px;line-height:1.7;letter-spacing:.3px;color:#c6e2e3;margin-bottom:22px;text-transform:none}.city-project{margin:0;min-width:0}.city-project img{width:100%;height:460px;object-fit:contain;background:#17394b;display:block}.city-project figcaption{font-size:10px;line-height:1.7;color:#bfd1da;margin-top:12px}.city-service-cards{display:grid;gap:16px;margin:28px 0 40px}.city-service-cards>a{display:block;background:white;border:1px solid #c6d8d0;padding:24px}.city-service-cards h3{font-size:22px;margin:0 0 12px}.city-service-cards p{font-size:13px;line-height:1.8}.city-service-cards span{font-size:11px;font-weight:800;color:#08766f}.detail-layout article>h2{font-size:clamp(34px,3.6vw,52px);margin-top:42px;line-height:1.05}.detail-layout article>h2:first-of-type{margin-top:0}.quote-aside h2{font-size:36px;line-height:1.05}.footer-heading{font-family:Manrope,Arial,sans-serif;font-size:18px!important;font-weight:800;color:white;margin:0 0 20px}.catalog-controls{margin-top:30px}.calculator-truck-photo img{object-position:center 64%}
@media(max-width:700px){.city-project img{height:auto;max-height:490px}.hero-copy h1 .hero-searchline{font-size:11px;margin-bottom:15px}.detail-layout article>h2{font-size:36px}}
.hero-copy h1{text-transform:uppercase}.page-hero-grid>img[src*="hot-tub-removal"]{aspect-ratio:16/9;height:auto;max-height:none}

.priority-cities{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 28px}.priority-cities a{border:1px solid #a9bfba;background:white;padding:14px 18px;font-size:13px;font-weight:700;color:var(--navy)}.priority-cities a:hover{background:#e4eeeb}.priority-cities a span{margin-left:12px;color:#08766f}

.donation-section{background:#e7f0e9}.donation-grid{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.donation-grid figure{margin:0}.donation-grid img{display:block;width:100%;height:480px;object-fit:cover;object-position:center 65%}.donation-grid figcaption{font-size:11px;line-height:1.6;margin-top:12px;color:#46605b}.donation-grid .button{margin-top:16px}.priority-cities{display:flex}
@media(min-width:801px){header>nav{gap:18px;font-size:12px}}
@media(max-width:1050px) and (min-width:801px){header{gap:12px;padding-left:3%;padding-right:3%}header>nav{gap:10px;font-size:11px}.contact{gap:9px}.contact .text-link{padding:12px}}
@media(max-width:700px){.donation-grid{grid-template-columns:1fr;gap:32px}.donation-grid img{height:auto;max-height:460px;object-fit:contain}}

/* Shared header contact actions */
header .contact{display:flex;align-items:center;gap:10px;flex-shrink:0}
header .contact>a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:9px 15px;border-radius:8px;line-height:1.2;white-space:nowrap;transition:background .18s,border-color .18s}
header .contact svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}
header .contact .call-link{border:1px solid #587287;background:#ffffff08;color:white}
header .contact .contact-label{display:block;font-size:10px;font-weight:600;letter-spacing:.3px;color:#c4d8e2}
header .contact b{display:block;font-size:14px;line-height:1.2;margin-top:3px;font-variant-numeric:tabular-nums}
header .contact .text-link{border:1px solid var(--teal);background:var(--teal);color:var(--navy);font-size:12px;font-weight:800}
header .contact .call-link:hover{background:#ffffff14;border-color:#abc7d3}
header .contact .text-link:hover{background:#43ddca;border-color:#43ddca}
header .contact>a:focus-visible{outline:3px solid white;outline-offset:4px}
@media(max-width:1100px){
 header{gap:18px}
 header>nav{display:none}
 .mobile-menu{display:block;color:white;margin-left:2px}
 .mobile-menu summary{font-size:12px;cursor:pointer;padding:14px 0}
 .mobile-menu nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--navy);padding:20px 6%;border-top:1px solid #496177;box-shadow:0 10px 20px #0003}
 .mobile-menu[open] nav{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
 .mobile-menu nav a{padding:15px 0;font-size:14px;border-bottom:1px solid #37516b}
}
@media(max-width:520px){
 header{padding:8px 5%;gap:10px}
 header .brand img{width:49px;height:49px}
 header .contact{gap:7px}
 header .contact>a{min-height:44px;gap:7px;padding:10px 11px}
 header .contact .contact-label{font-size:12px;color:white;font-weight:700;letter-spacing:0}
 header .contact b{display:none}
 header .contact .text-link{font-size:12px;padding:10px 11px}
 header .contact svg{width:17px;height:17px}
 .mobile-menu summary{font-size:11px}
}
@media(prefers-reduced-motion:reduce){header .contact>a{transition:none}}

/* Proportionate media and spacing across shared page templates. */
header .contact>a{height:52px;min-height:52px}
.page-hero-grid>div,.detail-layout>*,.about-grid>*,.donation-grid>*,.journal-card>*{min-width:0}
.page-hero-grid>img,.city-project img{width:100%;height:clamp(280px,34vw,460px);max-height:460px;aspect-ratio:auto;object-fit:contain!important}
.page-hero-grid>img{box-shadow:8px 8px 0 #173e50}
.page-hero-grid>img[src*="hot-tub-removal"]{height:clamp(280px,34vw,460px);max-height:460px;aspect-ratio:auto}
.city-project{width:100%}
.about-grid>img{height:clamp(320px,40vw,500px);object-fit:contain;background:#e4eeeb}
.donation-grid img{height:clamp(320px,40vw,480px);object-fit:contain;background:#dce8df}
.journal-card img{display:block;object-fit:contain;background:#e4eeeb}
.article-body>img{display:block;height:auto;max-height:440px;object-fit:contain;background:#e4eeeb}
.portfolio-grid img{height:380px;object-fit:contain;background:#e4eeeb}
.gallery-grid img{height:400px;object-fit:contain}
.services-intro .wrap{padding-top:24px;padding-bottom:38px}
.services-intro .page-hero-grid{max-width:1000px}
.services-intro h1{font-size:clamp(48px,5.2vw,76px);max-width:1000px;margin-bottom:18px}
.services-intro .page-hero-grid p{max-width:760px;margin-bottom:0}
.service-hub{padding-top:46px}
.service-hub>h2{font-size:clamp(34px,4vw,52px)}
@media(max-width:800px){
 .wrap{padding-top:60px;padding-bottom:60px}
 .page-hero .wrap{padding-bottom:40px}
 .page-hero-grid{gap:28px}
 .page-hero-grid>img,.city-project img,.page-hero-grid>img[src*="hot-tub-removal"]{height:auto;max-height:340px;aspect-ratio:auto}
 .city-project img{height:auto;max-height:340px}
 .about-grid>img,.donation-grid img{height:auto;max-height:380px;object-fit:contain}
 .portfolio-grid img,.gallery-grid img{height:auto;max-height:400px}
 .journal-card{display:block}
 .journal-card img{height:250px;min-height:0}
 .services-intro .wrap{padding-top:20px;padding-bottom:28px}
 .services-intro .breadcrumb{margin-bottom:22px}
 .services-intro .eyebrow{margin-bottom:16px}
 .services-intro h1{font-size:clamp(40px,9.7vw,60px);line-height:1;letter-spacing:-.6px;margin-bottom:16px}
 .services-intro .page-hero-grid p{font-size:14px;line-height:1.75}
 .service-hub{padding-top:30px}
 .service-hub>h2{font-size:34px;line-height:1.05}
 .service-hub .catalog-controls{margin-top:20px;margin-bottom:24px}
 .service-tile-image{height:250px}
 .hero-portrait{min-height:0;height:clamp(320px,85vw,410px)}
 .calculator-truck-photo img{height:200px}
}
@media(max-width:520px){
 header .contact>a{height:44px;min-height:44px}
 header .mobile-menu summary{min-height:44px;display:flex;align-items:center}
 .service-tile-image{height:240px;padding:10px}
 .service-tiles{gap:22px}
 .service-tile-copy{padding:22px}
 .page-hero .breadcrumb{line-height:1.6}
 .page-hero-grid h1{font-size:clamp(40px,11.5vw,54px)}
 .services-intro .page-hero-grid h1{font-size:clamp(40px,10.5vw,50px)}
 .hero-portrait figcaption{padding:55px 20px 20px}
 .hero-portrait figcaption strong{font-size:30px}
 .section-heading{gap:22px}
}

/* SVG action icons stay crisp and never render as mobile emoji. */
.tile-cta{align-items:center;gap:12px}
.service-action-icon{flex:none;color:#087e78}
.mobile-contact>a:last-child{display:flex;align-items:center;justify-content:center;gap:7px}
.quote-action-icon{flex:none}

/* Shared navigation, quote, and directional icons. */
.action-icon{display:inline-block;width:20px;height:20px;vertical-align:middle;flex:none}
.button .action-icon,.plain .action-icon{margin-left:5px}
h3 .action-icon{width:24px;height:24px}
.compare-line .action-icon{width:24px;height:24px}
.hero-portrait figcaption .action-icon{width:28px;height:28px}

.price-range>p:not(.eyebrow){color:#d1e0e6}
.full-footer .footer-hours{display:grid;gap:6px;margin:24px 0;padding-left:16px;border-left:2px solid var(--teal);line-height:1.5}.footer-hours>span:first-child{color:#a9c1cf;font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase}.footer-hours>strong{color:white;font-size:17px}.footer-hours>span:last-child{color:#c2d3de;font-size:12px}
