:root{--maroon:#780c2c;--maroon-dark:#390b1b;--orange:#eaba67;--ink:#272329;--muted:#66616a;--paper:#fff;--line:#e7e4e2}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);line-height:1.6;background:#fff}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #db992a;outline-offset:4px}img{display:block;max-width:100%}.wrap{width:min(1200px,calc(100% - 64px));margin:auto}.topbar{background:var(--maroon-dark);color:#fff;font-size:12px}.topbar-inner{display:flex;justify-content:space-between;padding:8px 0}.top-contact{display:flex;gap:25px}.header{min-height:100px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;gap:12px;align-items:center;color:var(--maroon)}.brand-mark{font:bold italic 35px Georgia;display:grid;place-items:center;width:48px;height:50px;border:2px solid var(--maroon);border-radius:3px}.brand strong{font:bold 27px Georgia;letter-spacing:1px;display:block;line-height:1}.brand small{font-size:9px;letter-spacing:1.1px;display:block;margin-top:6px;font-weight:bold}nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:700}.nav-cta,.button-maroon{background:var(--maroon);color:#fff;padding:13px 20px}.menu-toggle{display:none}.hero{background:var(--maroon-dark);color:#fff;overflow:hidden}.hero-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:center}.hero-content{padding:65px 0}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--orange);margin:0 0 20px}.eyebrow.dark{color:var(--maroon)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(44px,5.4vw,72px);line-height:1.04;letter-spacing:-2.8px;margin-bottom:25px;font-weight:800}h2{font-size:clamp(32px,3.8vw,48px);line-height:1.1;letter-spacing:-1.5px;margin-bottom:24px}h3{line-height:1.25}.hero-copy{color:#e9dce0;font-size:18px;max-width:510px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:30px 0}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:15px 23px;font:700 14px Arial;border:0;border-radius:3px;cursor:pointer}.button-primary{background:var(--orange);color:var(--maroon-dark)}.button-ghost{border:1px solid #ffffff66;color:#fff}.trust-row{display:flex;gap:18px;flex-wrap:wrap;font-size:12px}.hero-photo{position:relative;align-self:stretch}.hero-photo>img{width:100%;height:100%;object-fit:cover;object-position:50% 45%}.photo-note{position:absolute;bottom:25px;left:25px;right:25px;padding:18px 22px;background:#fff;color:var(--maroon-dark);border-left:4px solid var(--orange)}.photo-note strong,.photo-note span{display:block}.photo-note strong{font-size:20px}.photo-note span{font-size:12px}.estimate-strip{background:#f4f1ef;padding:32px 0}.estimate-inner{display:flex;align-items:center;justify-content:space-between;gap:25px}.estimate-inner h2{font-size:27px;letter-spacing:-.7px;margin:0}.estimate-inner .eyebrow{margin-bottom:8px}.proof{padding:27px 0;border-bottom:1px solid var(--line)}.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.proof-grid>div{border-right:1px solid var(--line);padding-right:20px}.proof-grid>div:last-child{border:0}.proof strong,.proof span{display:block}.proof strong{color:var(--maroon);font-size:21px}.proof span{font-size:12px;color:var(--muted)}.section{padding:85px 0}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:35px}.section-heading h2{max-width:620px;margin-bottom:0}.section-heading>p{max-width:330px;color:var(--muted);margin:0}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.service-card{border:1px solid var(--line);padding:27px;border-radius:4px;overflow:hidden}.service-image{margin:-27px -27px 25px;height:220px;overflow:hidden}.service-image img{width:100%;height:100%;object-fit:cover;object-position:center 38%}.service-number{color:var(--maroon);font-size:11px;font-weight:700}.service-card h3{font-size:23px;margin:12px 0}.service-card p{font-size:14px;color:var(--muted)}.service-card a{font-weight:700;color:var(--maroon);font-size:13px}.dark-section{background:#f5f3f1}.section-heading.light .eyebrow{color:var(--maroon)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.project{position:relative;border-radius:4px;overflow:hidden;background:#fff;border:1px solid var(--line)}.project-photo{width:100%;height:auto;aspect-ratio:707/942;object-fit:contain}.project-label{padding:20px 23px;background:#fff}.project-label span,.project-label strong{display:block}.project-label span{text-transform:uppercase;letter-spacing:1.3px;font-size:10px;color:var(--maroon);font-weight:700;margin-bottom:6px}.project-label strong{font-size:21px}.reviews-section{padding:75px 0}.review-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:85px;align-items:center}.review-layout p{color:var(--muted)}.review-card{border:1px solid var(--line);border-top:4px solid var(--maroon);padding:30px;background:#faf8f6}.review-card>span{font-size:11px;letter-spacing:1px;text-transform:uppercase}.review-card strong{display:block;font-size:37px;color:var(--maroon);margin:12px 0}.review-card b{font-size:14px;color:var(--maroon)}.map-section{background:#f2eeeb}.area-layout{display:grid;grid-template-columns:1.25fr 1fr;gap:80px;align-items:center}.lead{font-size:16px;color:var(--muted)}.area-links{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.area-links a{padding:15px 0;border-bottom:1px solid #d8cfca;font-size:13px;font-weight:700;display:flex;justify-content:space-between;gap:15px;color:var(--maroon)}.coverage-card{background:#fff;padding:45px;border-top:5px solid var(--maroon)}.coverage-kicker{font-size:11px;text-transform:uppercase;letter-spacing:1.5px;color:var(--maroon)}.coverage-card h3{font-size:45px;letter-spacing:-1px;margin:20px 0}.coverage-card p{color:var(--muted)}.coverage-phone{display:block;font-size:22px;font-weight:700;margin-top:20px;color:var(--maroon)}.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:65px;align-items:center}.fleet-photo{background:#eee;border-radius:4px;overflow:hidden}.fleet-photo img{width:100%;height:auto;aspect-ratio:1.5;object-fit:contain}.about-layout p{color:var(--muted)}.check-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:12px;font-weight:700;color:var(--maroon)}.quote-section{background:var(--maroon-dark);padding:80px 0;color:#fff}.quote-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start}.quote-layout>div>p{color:#e6d7dc}.contact-lines{display:flex;flex-direction:column;gap:10px;overflow-wrap:anywhere}.contact-lines a:first-child{font-size:32px;font-weight:700;color:var(--orange)}.quote-form{padding:30px;background:#fff;border-radius:4px;color:var(--ink)}.quote-form label{display:block;font-weight:700;font-size:12px;margin-bottom:15px}.quote-form input,.quote-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #d6d1cd;padding:12px;font:16px Arial;border-radius:2px}.quote-form textarea{resize:vertical}.quote-form button{width:100%}.form-note{font-size:11px;color:var(--muted);margin:14px 0 0}footer{background:#210711;color:#e0cfd5;padding:35px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:11px}.footer-inner p{max-width:220px;margin:0}.footer-brand{color:#fff}.footer-brand .brand-mark{border-color:#fff}.mobile-actions{display:none}@media(max-width:1000px){nav{gap:15px}.hero-layout{gap:30px}.hero-content{padding:50px 0}h1{font-size:55px}.area-layout,.quote-layout,.about-layout,.review-layout{gap:35px}.coverage-card{padding:30px}}@media(max-width:760px){.wrap{width:calc(100% - 36px)}body{padding-bottom:57px}.topbar-inner{justify-content:center}.top-contact{display:none}.header{min-height:83px;position:relative;flex-wrap:wrap;gap:0;padding:17px 0}.brand strong{font-size:24px}.brand-mark{height:43px;width:40px;font-size:29px}.menu-toggle{display:block;background:#fff;border:1px solid var(--line);padding:10px;font-weight:700;color:var(--maroon)}nav{display:none;width:100%;padding:20px 0 0;flex-direction:column;align-items:stretch;gap:0}nav.is-open{display:flex}nav a{padding:13px;border-bottom:1px solid var(--line)}.hero-layout{display:flex;flex-direction:column;gap:0}.hero-content{padding:42px 0 30px}h1{font-size:48px;letter-spacing:-2px}.hero-copy{font-size:16px}.hero-actions{margin:25px 0}.hero-actions .button{flex:1;padding:14px;font-size:13px}.trust-row{font-size:11px;gap:12px}.hero-photo{width:100%;max-width:480px;margin:auto}.hero-photo>img{height:auto;aspect-ratio:707/942;object-fit:contain}.photo-note{bottom:18px;left:18px;right:18px}.estimate-inner{display:block}.estimate-inner .button{margin-top:20px}.proof-grid{grid-template-columns:1fr 1fr;gap:20px}.proof-grid>div:nth-child(2){border:0}.proof strong{font-size:18px}.section{padding:55px 0}.section-heading{display:block}.section-heading>p{margin-top:20px;max-width:none}.service-grid{grid-template-columns:1fr;gap:18px}.service-image{height:235px}.project-grid{grid-template-columns:1fr;gap:25px}.project-photo{aspect-ratio:707/942}.project{max-width:480px;margin:auto;width:100%}.review-layout,.area-layout,.about-layout,.quote-layout{display:block}.review-card{display:block;margin-top:25px}.reviews-section{padding:55px 0}.coverage-card{margin-top:30px}.area-links{grid-template-columns:1fr}.fleet-photo{margin-bottom:30px}.check-list{grid-template-columns:1fr}.quote-form{margin-top:30px;padding:23px}.quote-section{padding:55px 0}.contact-lines{font-size:13px}.footer-inner{display:block}.footer-inner>*{margin-bottom:20px!important}.mobile-actions{display:grid;grid-template-columns:1fr 1fr;position:fixed;bottom:0;left:0;right:0;z-index:20;background:#fff;border-top:1px solid var(--line);height:57px}.mobile-actions a{display:grid;place-items:center;color:var(--maroon);font-size:14px;font-weight:700}.mobile-actions a:last-child{background:var(--maroon);color:#fff}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.brand-logo{width:110px;height:110px;object-fit:contain;display:block}.header{min-height:134px}.footer-brand{background:#fff;border-radius:4px;padding:8px}.footer-brand .brand-logo{width:120px;height:120px}@media(max-width:760px){.header{min-height:115px;padding:8px 0}.brand-logo{width:98px;height:98px}.footer-brand{display:inline-flex}}
.area-hero{background:var(--maroon-dark);color:white;padding:30px 0 55px}.breadcrumbs{font-size:12px;color:#e3cbd4;margin-bottom:30px}.breadcrumbs a{text-decoration:underline;text-underline-offset:3px}.location-layout{display:grid;grid-template-columns:1.2fr 1fr;gap:65px;align-items:center}.location-photo{width:100%;height:370px;object-fit:cover;object-position:center;border-radius:4px}.location-small{font-size:12px;color:#e3cbd4}.area-directory-link{color:var(--maroon);font-weight:700;font-size:14px}.local-faq h2{font-size:30px}.local-faq details{border-bottom:1px solid var(--line);padding:17px 0}.local-faq summary{cursor:pointer;font-weight:700}.local-faq p{margin:14px 0 0;color:var(--muted);font-size:14px}.process-list{padding-left:20px}.process-list li{margin-bottom:22px;color:var(--muted)}.process-list strong{display:block;color:var(--ink)}.coverage-card h3{font-size:30px}.coverage-card ul{padding-left:18px;color:var(--muted);font-size:14px}.directory-hero{background:#f4f1ef;padding:60px 0 40px}.directory-hero h1{color:var(--maroon-dark)}.directory-hero p{max-width:750px}.directory-search{display:block;font-size:13px;font-weight:700;max-width:600px;margin-top:30px}.directory-search input{display:block;width:100%;font:16px Arial;border:1px solid #bdb4b0;padding:16px;margin-top:8px;border-radius:3px}.directory-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.directory-card{border:1px solid var(--line);border-top:4px solid var(--maroon);padding:24px;border-radius:3px}.directory-card h2{font-size:23px;letter-spacing:-.4px;color:var(--maroon)}.directory-card p{font-size:12px;color:var(--muted)}.town-links{display:flex;flex-wrap:wrap;gap:8px}.town-links a{background:#f4f1ef;padding:7px 10px;font-size:12px;color:var(--maroon);border-radius:2px}[hidden]{display:none!important}@media(max-width:760px){.location-layout{display:block}.location-photo{margin-top:25px;height:auto;aspect-ratio:707/942;object-fit:contain;max-width:420px}.area-hero{padding-bottom:35px}.local-faq{margin-top:35px}.directory-grid{grid-template-columns:1fr}.directory-hero{padding-top:40px}.directory-hero h1{font-size:44px}.location-layout .coverage-card{margin-top:30px}}
.gallery-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:20px}.gallery-filters button{font:700 13px Arial;padding:12px 18px;background:#f4f1ef;color:var(--maroon);border:1px solid var(--line);border-radius:3px;cursor:pointer}.gallery-filters button[aria-pressed=true]{background:var(--maroon);color:#fff;border-color:var(--maroon)}.gallery-count{color:var(--muted);font-size:13px}.gallery-grid{columns:3;column-gap:24px}.gallery-card{margin:0 0 24px;break-inside:avoid;border:1px solid var(--line);border-radius:4px;overflow:hidden;display:inline-block;width:100%;background:#fff}.gallery-open{display:block;position:relative;padding:0;border:0;background:#f4f1ef;width:100%;cursor:zoom-in}.gallery-open img{width:100%;height:auto;display:block}.enlarge{position:absolute;right:10px;bottom:10px;background:#390b1be8;color:white;font:700 11px Arial;padding:9px 12px;border-radius:2px}.gallery-card figcaption{font-size:13px;font-weight:700;padding:15px 18px;color:var(--maroon)}.gallery-home-link{margin:30px 0 0}#photo-dialog{width:min(1000px,95vw);max-height:94dvh;padding:18px;background:#211b1e;color:white;border:0;border-radius:5px;overflow:auto}#photo-dialog::backdrop{background:#000c}#full-photo{width:100%;height:75dvh;object-fit:contain;margin:8px auto}.dialog-close{display:block;margin-left:auto;font:700 14px Arial;border:1px solid #ffffff55;padding:10px 15px;color:white;background:transparent;cursor:pointer}.dialog-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px}.dialog-bottom button{background:#fff;color:var(--maroon);border:0;padding:12px;font-weight:700;cursor:pointer}.dialog-bottom p{font-size:12px;margin:0;text-align:center}.photo-open{overflow:hidden}@media(max-width:1000px){.gallery-grid{columns:2}}@media(max-width:600px){.gallery-grid{columns:1}.gallery-filters{gap:7px}.gallery-filters button{padding:11px 13px;font-size:12px}#photo-dialog{padding:12px}#full-photo{height:68dvh}.dialog-bottom{gap:8px}.dialog-bottom button{font-size:11px;padding:10px}.dialog-bottom p{font-size:10px}}

/* Keep the coverage label and phone distinct at every width. */
.topbar-inner{gap:12px 24px;flex-wrap:wrap;align-items:center}.topbar-inner>a,.topbar-inner>span:first-child{white-space:nowrap}@media(max-width:760px){.topbar-inner{justify-content:center;column-gap:20px;row-gap:5px}}
