/* Site chrome and page layouts. Tokens and components live in brand.css. */
.sprite{position:absolute;width:0;height:0;overflow:hidden}
html{scroll-padding-top:88px}
.skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:var(--white);padding:var(--s3) var(--s4);z-index:100}
.skip:focus{left:var(--s4);top:var(--s4)}
.h3{font-size:var(--fs-xl)}
.mt5{margin-top:var(--s5)}.pt0{padding-top:0!important}
.center{text-align:center}.center .lede{margin-left:auto;margin-right:auto}
.narrow{max-width:760px}

/* Header */
.site-head{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}
.site-head .bar{display:flex;align-items:center;gap:var(--s4);min-height:76px}
.site-head .lockup img{width:44px;height:auto}.site-head .wm-name{font-size:1.3rem}
.nav-desk{margin-left:auto}
.nav-desk ul,.nav-mob ul{list-style:none;margin:0;padding:0}
.nav-desk ul{display:flex;gap:2px}
.nav-desk a{display:block;padding:8px 10px;border-radius:var(--r-sm);color:var(--navy);text-decoration:none;font-size:var(--fs-sm);font-weight:500;white-space:nowrap}
.nav-desk a:hover{background:var(--ice);color:var(--blue-deep)}
.nav-desk a[aria-current="page"]{color:var(--blue);box-shadow:inset 0 -2px 0 var(--blue);border-radius:0}
.head-call{flex:none}
.nav-mob{display:none;position:static}
.nav-mob summary{list-style:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 var(--s3);border:1px solid var(--line);border-radius:var(--r-sm);cursor:pointer;font-weight:600;font-size:var(--fs-sm)}
.nav-mob summary::-webkit-details-marker{display:none}
.nav-mob[open] summary{background:var(--ice);border-color:var(--blue)}
.nav-mob nav{position:absolute;left:0;right:0;top:100%;background:var(--white);border-bottom:1px solid var(--line);box-shadow:var(--shadow);padding:var(--s2) var(--s5) var(--s4)}
.nav-mob a{display:block;padding:12px 0;border-bottom:1px solid var(--mist);color:var(--navy);text-decoration:none;font-weight:500}
.nav-mob a[aria-current="page"]{color:var(--blue);font-weight:600}
@media(max-width:1080px){.nav-desk{display:none}.head-call{margin-left:auto}.nav-mob{display:block}}
@media(max-width:420px){.site-head .wrap{padding:0 var(--s4)}.site-head .bar{gap:var(--s2)}.head-call span{display:none}.head-call{padding:0 12px}.site-head .wm-name{font-size:1.15rem}.site-head .lockup img{width:40px;height:auto}.nav-mob summary .sr-sm{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}

/* Sections */
.sec{padding:var(--s8) 0}
.sec.mist{background:var(--mist)}
.sec-hero{padding-top:var(--s6)}
.page-head{padding-bottom:var(--s6)}
.page-head h1{color:var(--blue)}
@media(max-width:560px){.sec{padding:var(--s7) 0}.wrap{padding:0 var(--s4)}.hero .copy{padding:var(--s6) var(--s4)}}
.hero .facts span{min-width:0}
@media(max-width:560px){.hero .actions .btn{width:100%}}

/* Service area */
.area-split{display:grid;grid-template-columns:1fr 1.1fr;gap:var(--s7);align-items:center}
.towns{font:600 var(--fs-lg)/1.5 var(--display);color:var(--teal-ink)}
.map img{border-radius:var(--r);border:1px solid var(--line);width:100%}
.areas{list-style:none;margin:0 0 var(--s4);padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s2) var(--s5)}
.areas li{display:flex;align-items:center;gap:var(--s2);font-weight:500}.areas svg{color:var(--teal-ink);flex:none}
@media(max-width:860px){.area-split{grid-template-columns:1fr;gap:var(--s6)}}
.note-band{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:var(--s5) 0;margin:var(--s7) 0 0;text-align:center;font-size:var(--fs-lg);color:var(--slate)}

/* Services page */
.svc-list{display:grid;gap:0}
.svc{display:grid;grid-template-columns:1fr 280px;gap:var(--s6);align-items:center;padding:var(--s6) 0;border-top:1px solid var(--line)}
.svc:first-child{border-top:0;padding-top:0}
.svc h2{display:flex;align-items:center;gap:var(--s3);font-size:var(--fs-2xl)}
.svc h2 svg{width:28px;height:28px;color:var(--teal-ink);flex:none}
.svc p{color:var(--slate);font-size:var(--fs-lg);max-width:60ch;margin:0}
.svc-media img{border-radius:var(--r);aspect-ratio:4/3;object-fit:cover;width:100%}
@media(max-width:700px){.svc{grid-template-columns:1fr;gap:var(--s4)}.svc-media{order:-1}}
.philo{display:grid;grid-template-columns:1fr 1fr;background:var(--blue);color:var(--white);border-radius:var(--r-lg);overflow:hidden}
.philo-media img{width:100%;height:100%;object-fit:cover;min-height:280px}
.philo-copy{padding:var(--s8) var(--s7);display:flex;flex-direction:column;justify-content:center}
.philo-copy h2{color:var(--white)}.philo-copy p{color:#E6EEFF;font-size:var(--fs-lg);margin:0}
@media(max-width:760px){.philo{grid-template-columns:1fr}.philo-copy{padding:var(--s6) var(--s5)}}

/* Brands: official logos in Alex Navy, sized by area so no logo looks louder than another */
.brands{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s4)}
.brands li{flex:0 0 calc((100% - 3 * var(--s4)) / 4);display:flex;align-items:center;justify-content:center;aspect-ratio:2/1;border:1px solid var(--line);border-radius:var(--r);background:var(--white);padding:var(--s5)}
.brands img{display:block;height:auto;max-width:100%}
.logo-samsung{width:72%}.logo-lg{width:47%}.logo-frigidaire{width:86%}.logo-ge-appliances{width:78%}.logo-whirlpool{width:58%}.logo-kitchenaid{width:92%}.logo-maytag{width:51%}
@media(max-width:760px){.brands{gap:var(--s3)}.brands li{flex-basis:calc((100% - var(--s3)) / 2);padding:var(--s4)}}

/* About */
.about{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:var(--s7);align-items:center}
.about-media img{border-radius:var(--r-lg);width:100%}
.about-copy .lede{color:var(--navy)}.about-copy p{color:var(--slate)}
@media(max-width:820px){.about{grid-template-columns:1fr;gap:var(--s6)}.about-media{max-width:420px}}

/* Reviews */
.narrow .quote{margin-bottom:var(--s4)}
.stars{display:flex;gap:2px;margin:0 0 var(--s3);color:#B97F04}.stars .icon{width:20px;height:20px;fill:currentColor;stroke:none}

/* FAQ */
.faq-item{padding:var(--s5) 0;border-top:1px solid var(--line)}.faq-item:first-child{border-top:0;padding-top:0}
.faq-item h2{font:600 var(--fs-xl)/1.3 var(--display);letter-spacing:-.01em;margin-bottom:var(--s2)}.faq-item p{margin:0;color:var(--slate);max-width:72ch}

/* Contact */
.contact-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--s3);margin:var(--s5) 0}
.contact-list{list-style:none;padding:0;margin:var(--s5) auto 0;display:inline-grid;gap:var(--s3);text-align:left}
.contact-list li{display:flex;align-items:center;gap:var(--s3);overflow-wrap:anywhere}.contact-list svg{color:var(--teal-ink);flex:none}
@media(max-width:560px){.contact-actions .btn{width:100%}}

/* CTA band */
.cta{background:var(--navy);color:#DCE4F0;padding:var(--s7) 0}
.cta-in{display:flex;align-items:center;justify-content:space-between;gap:var(--s5);flex-wrap:wrap}
.cta h2{color:var(--white);margin-bottom:var(--s2)}.cta p{margin:0}
.cta .actions{display:flex;flex-wrap:wrap;gap:var(--s3)}
@media(max-width:560px){.cta .actions{width:100%}.cta .actions .btn{flex:1 1 100%}}

/* Footer */
.site-foot{background:var(--navy-2);color:#DCE4F0;padding:var(--s7) 0 var(--s5);border-top:1px solid rgba(255,255,255,.08)}
.foot-grid{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:var(--s6)}
.foot-h{font:600 var(--fs-md)/1.2 var(--display);color:var(--teal-light);margin-bottom:var(--s3);letter-spacing:0}
.hours{display:grid;grid-template-columns:auto 1fr;gap:4px var(--s3);margin:0 0 var(--s3)}.hours dt{color:#B9C6DB}.hours dd{margin:0;color:var(--white)}
.foot-note{font-size:var(--fs-sm);color:#B9C6DB;margin:0}
.foot-links{list-style:none;margin:0;padding:0;display:grid;gap:var(--s2)}
.foot-links a,.foot-links span{display:inline-flex;align-items:center;gap:var(--s2);color:var(--white);text-decoration:none;overflow-wrap:anywhere}
.foot-links a:hover{text-decoration:underline}.foot-links svg{width:18px;height:18px;color:var(--teal);flex:none}
.foot-nav ul{list-style:none;margin:var(--s6) 0 0;padding:var(--s4) 0 0;border-top:1px solid rgba(255,255,255,.12);display:flex;flex-wrap:wrap;gap:var(--s2) var(--s4)}
.foot-nav a{color:#DCE4F0;text-decoration:none;font-size:var(--fs-sm);display:inline-block;padding:4px 0;min-height:24px}.foot-nav a:hover{color:var(--white);text-decoration:underline}
.legal{font-size:var(--fs-xs);color:#9FB0CB;margin:var(--s4) 0 0}
@media(max-width:860px){.foot-grid{grid-template-columns:1fr}.hours{grid-template-columns:1fr}.hours dd{margin-bottom:6px}}
a[href^="tel:"],a[href^="sms:"]{white-space:nowrap}
