:root{--white:#fff;--line:#d9e0e1;--muted:#5b666b;--success:#17653a;--danger:#a32222;--radius:0;--wrap:1240px;--shadow:0 18px 50px rgba(7,25,34,.12)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--ink);font:16px/1.6 var(--body);text-rendering:optimizeLegibility}
body.nav-open{overflow:hidden}
img{display:block;width:100%;max-width:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a{touch-action:manipulation;-webkit-tap-highlight-color:rgba(0,0,0,.1)}
h1,h2,h3{font-family:var(--display);text-wrap:balance}
p{max-width:68ch;text-wrap:pretty}
.wrap{width:min(var(--wrap),calc(100% - 80px));margin-inline:auto}
.skip-link{position:fixed;left:16px;top:-80px;z-index:10000;background:#fff;color:#111;padding:12px 18px}
.skip-link:focus{top:16px}
*:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
.utility-row{background:var(--surface-dark);color:#dce7eb;font-size:12px;letter-spacing:.02em;border-bottom:1px solid rgba(255,255,255,.15)}
.utility-row .wrap{height:34px;display:flex;align-items:center;justify-content:flex-end;gap:28px}
.utility-row a{font-weight:700;color:#fff}
.site-header{min-height:94px;background:var(--brand-primary);color:#fff;padding:0 38px;display:flex;align-items:center;gap:30px;position:relative;z-index:50}
.header-compact .site-header{min-height:76px}
.brand{display:flex;align-items:center;gap:12px;min-width:0;font-family:var(--display);font-size:20px;font-weight:700;line-height:1;letter-spacing:.01em}
.brand-mark{width:52px;height:52px;flex:0 0 52px;display:grid;place-items:center;background:#fff;border-radius:10px;padding:4px;box-shadow:0 1px 0 rgba(255,255,255,.25)}
.brand-mark img{width:100%;height:100%;object-fit:contain}
.brand-name{white-space:normal;max-width:230px}
.brand-name small{display:block;margin-top:6px;font:600 9px/1 var(--body);letter-spacing:.16em}
.site-nav{display:flex;align-items:center;justify-content:center;gap:25px;margin-left:auto}
.site-nav>a,.site-nav summary{font-size:14px;font-weight:700;list-style:none;cursor:pointer;white-space:nowrap}
.site-nav summary::-webkit-details-marker{display:none}
.site-nav summary{display:flex;align-items:center;gap:6px}
.site-nav summary:after{content:"⌄";color:var(--brand-accent);font-size:12px}
.site-nav details{position:relative}
.site-nav details>div{display:none;position:absolute;left:-18px;top:29px;width:235px;background:#fff;color:var(--ink);border-top:4px solid var(--brand-accent);box-shadow:var(--shadow);padding:12px;z-index:60}
.site-nav details>div:before{content:"";position:absolute;inset:-13px 0 auto;height:13px}
.site-nav details[open]>div,.site-nav details:focus-within>div{display:block}
.site-nav details a{display:block;padding:9px 10px}
.site-nav details a:hover,.site-nav details a:focus-visible{background:var(--surface)}
.header-phone{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}
.header-phone small{text-transform:uppercase;letter-spacing:.1em;color:#d2e1e6;font-size:9px}
.header-phone strong{font:700 16px/1.4 var(--display)}
.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:52px;background:var(--button-primary);color:#172126;padding:13px 21px;font-weight:800;border:0;cursor:pointer}
.header-cta{white-space:nowrap}
.menu-toggle{display:none;min-width:48px;min-height:48px;border:1px solid rgba(255,255,255,.5);background:transparent;color:#fff;font-weight:700}
.eyebrow{margin:0 0 16px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;font-size:12px;color:var(--brand-primary)}
.section{padding:92px 0}
.section-head{max-width:780px;margin-bottom:44px}
.section h2,.estimate-band h2,.final-cta h2,.inner-hero h1{font-size:clamp(36px,4vw,56px);line-height:1.02;letter-spacing:-.02em;margin:0 0 20px}
.hero{position:relative;min-height:650px;overflow:hidden;background:#fff}
.hero-media{position:absolute;inset:0 0 0 52%;z-index:0}
.hero-media img{height:100%}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,#fff 49%,transparent 70%);z-index:1;pointer-events:none}
.hero-grid{position:relative;z-index:2;min-height:650px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:58px;padding-block:44px}
.hero-copy{max-width:650px}
.hero h1{font:700 clamp(50px,5.4vw,78px)/.92 var(--display);letter-spacing:-.028em;margin:0 0 24px}
.lead{font-size:18px;color:var(--muted)}
.proof{display:flex;gap:12px;flex-wrap:wrap;margin:26px 0}
.proof span{border-left:3px solid var(--brand-primary);padding-left:9px;font-size:12px;font-weight:800}
.hero .button{background:var(--brand-accent);color:#172126}
.hero .estimate-form{background:var(--surface-dark);color:#fff;padding:28px;box-shadow:var(--shadow)}
.hero-split-conversion-b .hero-grid>.estimate-form{grid-column:1}.hero-split-conversion-b .hero-copy{grid-column:2;grid-row:1}.hero-split-conversion-b .hero-media{inset:0 52% 0 0}.hero-split-conversion-b .hero-shade{background:linear-gradient(270deg,#fff 0,#fff 49%,transparent 70%)}
.hero-photo-process-a{color:#fff;min-height:720px}.hero-photo-process-a .hero-media{inset:0}.hero-photo-process-a .hero-shade{background:linear-gradient(90deg,rgba(5,24,36,.9),rgba(5,24,36,.55) 55%,rgba(5,24,36,.2))}.hero-photo-process-a .hero-grid{min-height:720px;grid-template-columns:1fr}.hero-photo-process-a .hero-copy{max-width:750px}.hero-photo-process-a .eyebrow,.hero-photo-process-a .lead{color:#fff}
.hero-editorial-local-a .hero-media{opacity:.18;inset:0}.hero-editorial-local-a .hero-shade{background:rgba(255,255,255,.82)}.hero-editorial-local-a .hero-grid{grid-template-columns:1fr;text-align:center}.hero-editorial-local-a .hero-copy{margin:auto}.hero-editorial-local-a .hero-copy p{margin-inline:auto}
.hero-editorial-local-b .hero-grid{grid-template-columns:1.05fr .95fr}
.hero-local-warm-a{background:var(--surface)}.hero-local-warm-a .hero-media{inset:16% 5% 8% 58%}.hero-local-warm-a .hero-shade{background:linear-gradient(90deg,var(--surface) 0,var(--surface) 53%,transparent 72%)}
.hero-local-warm-b .hero-media{inset:0 0 0 55%}.hero-local-warm-b .hero-shade{background:linear-gradient(90deg,#fff 0,#fff 50%,transparent 72%)}
.hero-modular-service-a{min-height:560px}.hero-modular-service-a .hero-grid{min-height:560px}.hero-modular-service-a .hero-media{inset:0 0 0 61%}
.hero-modular-service-b .hero-grid{grid-template-columns:1.1fr .9fr}.hero-modular-service-b .estimate-form{position:sticky;top:24px}
.hero-split-conversion-a .hero-media,.hero-local-warm-a .hero-media,.hero-modular-service-b .hero-media{inset:0 50% 0 0}.hero-split-conversion-a .hero-copy,.hero-local-warm-a .hero-copy,.hero-modular-service-b .hero-copy{background:rgba(255,255,255,.9);padding:28px}.hero-split-conversion-b .hero-media{inset:0 0 0 50%}.hero-split-conversion-b .hero-copy{background:rgba(255,255,255,.9);padding:28px}
.estimate-band{background:var(--surface-dark);color:#fff;padding:68px 0}
.estimate-band .eyebrow,.final-cta .eyebrow{color:var(--brand-accent)}
.estimate-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:64px;align-items:start}
.estimate-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.estimate-form>div{min-width:0}
.estimate-form label{display:block;margin-bottom:5px;font-size:12px;font-weight:800;letter-spacing:.01em}
.estimate-form input,.estimate-form select{width:100%;height:50px;border:1px solid #b9c5c9;border-radius:0;background:#fff;color:#172126;padding:0 12px}
.estimate-form button{min-height:50px;border:0;background:var(--brand-accent);color:#172126;font-weight:800;cursor:pointer;align-self:end}
.estimate-form button:disabled{opacity:.6;cursor:wait}
.estimate-form .form-note,.estimate-form .form-status{grid-column:1/-1;margin:0;font-size:12px}
.estimate-form .form-status[role="alert"]{color:#ffd1d1;font-weight:700}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.service-layout{display:grid;grid-template-columns:1.08fr .92fr;gap:68px;align-items:stretch}
.service-layout--no-media{grid-template-columns:1fr}
.service-layout--no-media .service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px}
.service-list{border-bottom:1px solid var(--line)}
.service-row{display:grid;grid-template-columns:50px 1fr 24px;gap:17px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}
.service-row strong{display:block;font:700 26px/1.15 var(--display)}
.service-row small{display:block;margin-top:5px;color:var(--muted)}
.service-row>b{font-size:20px}
.service-layout figure{margin:0;min-height:520px;overflow:hidden}.service-layout figure img{height:100%}
.icon{width:45px;height:45px;display:grid;place-items:center;border:1px solid #9caeaa;border-radius:50%;color:var(--brand-primary)}
.icon:after{content:"";width:23px;height:23px;background:currentColor;mask:var(--icon) center/contain no-repeat;-webkit-mask:var(--icon) center/contain no-repeat}
.icon-route{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='6' cy='19' r='2'/%3E%3Ccircle cx='18' cy='5' r='2'/%3E%3Cpath d='M8 19h3a3 3 0 0 0 3-3V8a3 3 0 0 1 3-3'/%3E%3C/svg%3E")}
.icon-shield{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 3 20 6v5c0 5-3.3 8.2-8 10-4.7-1.8-8-5-8-10V6z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E")}
.icon-box{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m4 7 8-4 8 4-8 4zM4 7v10l8 4 8-4V7M12 11v10'/%3E%3C/svg%3E")}
.icon-home{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='m3 11 9-8 9 8M5 10v10h14V10M9 20v-6h6v6'/%3E%3C/svg%3E")}
.icon-building{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 21V4h11v17M15 9h5v12M8 8h3M8 12h3M8 16h3M2 21h20'/%3E%3C/svg%3E")}
.icon-calendar{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='16' rx='1'/%3E%3Cpath d='M8 3v4M16 3v4M3 10h18'/%3E%3C/svg%3E")}
.icon-pin{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M20 10c0 5-8 11-8 11S4 15 4 10a8 8 0 1 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")}
.icon-parking{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='4' y='3' width='16' height='18' rx='2'/%3E%3Cpath d='M9 17V7h4a3 3 0 0 1 0 6H9'/%3E%3C/svg%3E")}.icon-stairs{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M3 19h5v-4h4v-4h4V7h5'/%3E%3C/svg%3E")}.icon-rooms{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='3' width='18' height='18'/%3E%3Cpath d='M12 3v8H3M12 15v6M16 11h5'/%3E%3C/svg%3E")}.icon-gate{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M4 21V6l8-3 8 3v15M4 8h16M8 8v13M16 8v13'/%3E%3C/svg%3E")}.icon-turnaround{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M7 7h8a5 5 0 0 1 0 10H8M7 7l3-3M7 7l3 3'/%3E%3C/svg%3E")}.icon-key{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='8' cy='15' r='4'/%3E%3Cpath d='m11 12 9-9M16 7l2 2M13 10l2 2'/%3E%3C/svg%3E")}.icon-path{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='6' cy='18' r='2'/%3E%3Ccircle cx='18' cy='6' r='2'/%3E%3Cpath d='M8 18c6 0 2-12 8-12' stroke-dasharray='2 2'/%3E%3C/svg%3E")}.icon-contact{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E")}.icon-fragile{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M7 3h10l-1 6a4 4 0 0 1-8 0L7 3ZM12 13v7M8 21h8'/%3E%3C/svg%3E")}
.advantages{background:var(--surface)}
.advantage-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:44px}
.advantage-grid article{padding:12px 42px 18px 0;border-right:1px solid #b9c8c5}.advantage-grid article+article{padding-left:42px}.advantage-grid article:last-child{border-right:0}
.advantage-grid h3{font-size:24px;line-height:1.15;margin:17px 0 8px}
.process ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative}
.process ol:before{content:"";position:absolute;left:8%;right:8%;top:54px;border-top:2px dashed #a9b6b2}
.process li{position:relative;background:#fff;border:1px solid var(--line);padding:28px;display:flex;gap:20px}
.process li>span{position:relative;z-index:1;flex:0 0 48px;height:48px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--brand-primary);font:700 24px/1 var(--display)}
.process h3{font-size:23px;line-height:1.15;margin:6px 0 8px}
.reviews{background:#f4f6f7;overflow:hidden}
.review-heading{display:grid;grid-template-columns:.8fr 1.2fr;gap:50px;align-items:end;margin-bottom:34px}.review-heading .section-head{margin-bottom:0}
.rating-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.rating-card{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--line);padding:16px}.rating-icon{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:50%;background:var(--brand-primary);color:#fff;font:800 16px/1 var(--display)}.rating-card p{margin:0}.rating-card strong,.rating-card small{display:block}.rating-card small{margin-top:4px;color:var(--muted);font-size:11px}
.review-platforms{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:22px 0 28px;background:#fff;border-block:1px solid var(--line)}
.review-platforms>div{min-height:92px;display:grid;place-items:center;padding:22px 30px}
.review-platforms>div+div{border-left:1px solid var(--line)}
.review-platform-logo{display:block;width:auto;max-width:100%;object-fit:contain}
.review-platform-logo.logo-mapquest{height:28px}.review-platform-logo.logo-scamadviser{height:32px}.review-platform-logo.logo-smartcustomer{height:30px}
.review-controls{display:flex;justify-content:flex-end;gap:10px;margin:-68px 0 18px}
.review-controls button{width:46px;height:46px;border:1px solid var(--ink);background:transparent;font-size:20px;cursor:pointer}.review-controls button:disabled{opacity:.3}
.review-track{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}.review-track::-webkit-scrollbar{display:none}
.review{flex:0 0 calc((100% - 40px)/3);min-width:0;min-height:330px;background:#fff;border:1px solid var(--line);padding:26px;display:flex;flex-direction:column;scroll-snap-align:start}
.review p{margin:20px 0}.review footer{margin-top:auto;display:flex;justify-content:space-between;gap:16px;font-size:13px}.review footer span{white-space:nowrap}
.stars{position:relative;width:max-content;color:#ccd1d2;letter-spacing:.05em}.stars span{position:absolute;inset:0 auto 0 0;color:#9c7100;overflow:hidden;white-space:nowrap}
.areas-grid,.faq-grid,.split-intro,.detail-grid>.wrap,.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:82px;align-items:start}
.area-list{border-bottom:1px solid var(--line)}
.area-list>a,.area-list>div{display:grid;grid-template-columns:80px 1fr 24px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}
.area-list span{text-transform:uppercase;letter-spacing:.08em;font-size:10px;color:var(--muted)}.area-list strong{font:700 23px/1.2 var(--display)}
.secondary{background:var(--brand-primary);color:#fff;margin-top:22px}
.faq details{border-top:1px solid var(--line);padding:19px 0}.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;gap:20px;font:700 21px/1.25 var(--display);cursor:pointer}.faq details p{color:var(--muted)}
.about-band{background:var(--surface-dark);color:#fff}.about-band .eyebrow{color:var(--brand-accent)}.about-band figure,.story figure{margin:0}.about-band figure img,.story figure img{height:500px}
.text-link{display:inline-block;margin-top:18px;font-weight:800;color:var(--brand-accent)}
.final-cta{background:var(--surface-dark);color:#fff;padding:66px max(40px,calc((100vw - var(--wrap))/2));display:flex;align-items:center;justify-content:space-between;gap:50px}.final-cta h2{margin-bottom:8px}.final-cta p{margin:0}.final-cta .accent{flex:0 0 auto;background:var(--brand-accent)}
.site-footer{background:#092936;color:#fff}.footer-main{padding:68px max(40px,calc((100vw - var(--wrap))/2));display:grid;grid-template-columns:1.45fr repeat(3,1fr);gap:55px}.footer-main h2{font-size:18px;color:var(--brand-accent)}.footer-main a,.footer-main span{display:block;margin:8px 0;color:#dce7ea}.footer-main .brand{color:#fff;margin-bottom:20px}.footer-main p{color:#b9c9ce}.legal{padding:18px max(40px,calc((100vw - var(--wrap))/2));background:#061f2a;color:#a9bdc3;display:flex;justify-content:space-between;font-size:12px}
.footer-local .footer-main{grid-template-columns:1.7fr 1fr 1.2fr 1fr}.footer-compact .footer-main{gap:34px;padding-block:48px}
.inner-hero{position:relative;min-height:610px;overflow:hidden;background:var(--surface-dark);color:#fff}.inner-media{position:absolute;inset:0 54% 0 0}.inner-media img{height:100%;opacity:.62}.inner-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(6,31,43,.76),rgba(6,31,43,.88) 46%,var(--surface-dark) 46%)}.inner-grid{position:relative;z-index:2;min-height:610px;display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:70px;padding-block:52px}.inner-grid .eyebrow{color:var(--brand-accent)}.inner-grid .lead{color:#e8f0f2}.inner-grid .estimate-form{background:#fff;color:var(--ink);padding:28px;box-shadow:var(--shadow)}.inner-grid .form-status[role="alert"]{color:var(--danger)}
.inner-grid--copy-only{grid-template-columns:minmax(0,660px);justify-content:end}
.feature-list,.local-notes{list-style:none;margin:0;padding:0}.feature-list li,.local-notes li{display:flex;align-items:center;gap:16px;padding:16px 0;border-top:1px solid var(--line)}.feature-list .icon,.local-notes .icon{flex:0 0 45px}
.geo-notes--columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-column:1/-1;margin-top:14px}.geo-notes--columns li{align-items:flex-start;padding:22px 24px 4px 0}.geo-notes--columns li+li{padding-left:24px;border-left:1px solid var(--line)}
.geo-notes--compact{display:grid;grid-template-columns:1fr 1fr;gap:0 26px}.geo-notes--compact li:last-child{grid-column:1/-1}
.photo-credit{font-size:.78rem;color:var(--muted);margin-top:-2rem;margin-bottom:2rem}.photo-credit a{color:inherit;text-decoration:underline}
.geo-details{background:var(--surface)}
.context-nav{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding:60px 0}.context-nav h2{font-size:24px}.context-nav a{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:13px 0;font-weight:700}
.contact-details{background:var(--surface)}.contact-grid>div{min-width:0}.contact-grid a{font-weight:800;color:var(--brand-primary)}
.contact-map-section{background:#fff}.contact-map-heading{display:grid;grid-template-columns:1fr auto;gap:48px;align-items:end;margin-bottom:34px}.contact-map-heading h2{margin-bottom:10px}.contact-map-heading p:last-child{margin-bottom:0;color:var(--muted)}.contact-map-heading address{max-width:360px;padding:20px 24px;border-left:4px solid var(--brand-accent);background:var(--surface);font-style:normal;font-weight:800}.contact-map-frame{height:480px;border:1px solid var(--line);box-shadow:var(--shadow);overflow:hidden}.contact-map-frame iframe{display:block;width:100%;height:100%;border:0}
.policy .prose,.prose{max-width:820px}.prose h2{font-size:30px;margin-top:38px}.prose a{text-decoration:underline;color:var(--brand-primary)}
.profile-split-conversion-a{--radius:14px}.profile-split-conversion-a .review,.profile-split-conversion-a .process li{border-radius:14px}.profile-split-conversion-a .hero .estimate-form{border-radius:14px}
.profile-editorial-local-a .service-row,.profile-editorial-local-b .service-row{grid-template-columns:1fr 24px}.profile-editorial-local-a .service-row>.icon,.profile-editorial-local-b .service-row>.icon{display:none}.profile-editorial-local-a .review,.profile-editorial-local-b .review{border-width:0 0 1px;background:transparent}
.profile-photo-process-a .service-layout figure{order:-1}.profile-photo-process-a .service-layout{grid-template-columns:.85fr 1.15fr}
.profile-local-warm-a .advantage-grid article{border-radius:28px 4px 28px 4px;background:#fff;border:1px solid var(--line);padding:28px;margin-right:18px}.profile-local-warm-a .advantage-grid article+article{padding-left:28px}
.profile-local-warm-b .review{border-radius:0}.profile-local-warm-b .service-row{grid-template-columns:1fr 24px}.profile-local-warm-b .service-row>.icon{display:none}
.profile-modular-service-a .service-list{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}.profile-modular-service-a .service-row{background:#fff;border:0;padding:24px;grid-template-columns:50px 1fr 20px}.profile-modular-service-a .service-layout{grid-template-columns:1.2fr .8fr}
.profile-modular-service-b .service-layout{grid-template-columns:1.1fr .9fr}.profile-modular-service-b .service-layout figure{display:block}.profile-modular-service-b .service-row:nth-child(even){padding-left:8%}
.visual-story{background:var(--surface)}
.visual-story-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 22px;align-items:start}
.visual-story-grid-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.story-media{margin:0;min-width:0}
.story-media-frame{position:relative;overflow:hidden;aspect-ratio:3/2;background:#e8e8e5;border:1px solid var(--line)}
.story-media-frame img{width:100%;height:100%;object-fit:cover}
.story-media figcaption{margin-top:11px;font:700 15px/1.3 var(--display)}

.page-media-pair{padding-top:0}
.single-story-media{margin-top:52px;max-width:820px}
.story .story-media figcaption{color:var(--muted)}
@media(max-width:900px){.visual-story-grid,.visual-story-grid-pair{grid-template-columns:1fr 1fr}.visual-story-grid .story-media:first-child{grid-column:1/-1}.visual-story-grid-pair .story-media:first-child{grid-column:auto}.single-story-media{margin-top:38px}}
@media(max-width:700px){.geo-notes--columns,.geo-notes--compact{grid-template-columns:1fr;grid-column:auto;margin-top:0}.geo-notes--columns li,.geo-notes--columns li+li{padding:16px 0;border-left:0}.geo-notes--compact li:last-child{grid-column:auto}}
@media(max-width:560px){.visual-story-grid,.visual-story-grid-pair{grid-template-columns:1fr}.visual-story-grid .story-media:first-child{grid-column:auto}}
@media(max-width:700px){.service-layout--no-media .service-list{grid-template-columns:1fr}}

@media(max-width:1120px){.site-header{gap:18px;padding-inline:24px}.site-nav{gap:15px}.header-phone small{display:none}.brand-name{max-width:170px}.header-cta{display:none}}
@media(max-width:900px){
  .wrap{width:min(var(--wrap),calc(100% - 36px))}.utility-row{display:none}.site-header{min-height:78px;padding-inline:18px;gap:10px}.brand{font-size:17px}.brand-mark{width:44px;height:44px;flex-basis:44px;border-radius:8px;padding:3px}.brand-name{max-width:165px}.header-phone{margin-left:auto}.header-phone strong{font-size:14px}.menu-toggle{display:block}
  .site-nav{display:none;position:fixed;inset:78px 0 0;background:var(--surface-dark);padding:26px 22px;overflow:auto;align-items:stretch;justify-content:flex-start;gap:3px;margin:0}.site-nav.open{display:flex;flex-direction:column}.site-nav>a,.site-nav summary{font-size:19px;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.18)}.site-nav details>div{position:static;display:block;width:auto;background:transparent;color:#fff;border:0;box-shadow:none;padding:4px 0 8px 18px}.site-nav details a{padding:8px 0}
  .section{padding:68px 0}.hero,.hero-photo-process-a{min-height:auto}.hero-media,.hero-split-conversion-b .hero-media,.hero-local-warm-a .hero-media,.hero-local-warm-b .hero-media,.hero-modular-service-a .hero-media{inset:0;opacity:.2}.hero-split-conversion-a .hero-media,.hero-split-conversion-b .hero-media,.hero-local-warm-a .hero-media,.hero-modular-service-b .hero-media,.inner-media{display:none}.hero-split-conversion-a .hero-copy,.hero-split-conversion-b .hero-copy,.hero-local-warm-a .hero-copy,.hero-modular-service-b .hero-copy{background:transparent;padding:0}.hero-shade,.hero-split-conversion-b .hero-shade,.hero-local-warm-a .hero-shade,.hero-local-warm-b .hero-shade{background:rgba(255,255,255,.87)}.hero-photo-process-a .hero-shade{background:rgba(5,24,36,.78)}.hero-grid,.hero-photo-process-a .hero-grid,.hero-modular-service-a .hero-grid,.hero-modular-service-b .hero-grid,.hero-editorial-local-b .hero-grid{min-height:auto;grid-template-columns:1fr;gap:24px;padding-block:32px}.hero-split-conversion-b .hero-grid>.estimate-form,.hero-split-conversion-b .hero-copy{grid-column:auto;grid-row:auto}.hero-split-conversion-b .hero-copy{order:-1}.hero h1{font-size:48px}.hero-copy{max-width:none}.lead{font-size:16px}.proof{margin:18px 0}.hero .estimate-form{padding:20px}.hero .button{min-height:48px}.hero-modular-service-b .estimate-form{position:static}
  .estimate-grid,.service-layout,.profile-photo-process-a .service-layout,.profile-modular-service-a .service-layout,.profile-modular-service-b .service-layout,.areas-grid,.faq-grid,.split-intro,.detail-grid>.wrap,.contact-grid,.inner-grid{grid-template-columns:1fr;gap:38px}.estimate-band{padding:34px 0}.estimate-grid>div:first-child{display:none}.service-layout figure{order:-1;min-height:300px}.service-layout figure img{height:330px}.advantage-grid{grid-template-columns:1fr}.advantage-grid article,.advantage-grid article+article,.profile-local-warm-a .advantage-grid article{padding:24px 0;margin:0;border-right:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent}.process ol{grid-template-columns:1fr}.process ol:before{display:none}.review{flex-basis:74%;min-height:0}.review-controls{margin:0 0 18px}.final-cta{padding:52px 22px;flex-direction:column;align-items:flex-start}.footer-main,.footer-local .footer-main{padding:52px 22px;grid-template-columns:1fr 1fr;gap:32px}.legal{padding:18px 22px;flex-direction:column;gap:5px}.inner-hero{min-height:auto}.inner-grid{min-height:auto;padding-block:38px}.inner-grid .estimate-form{padding:20px}.context-nav{grid-template-columns:1fr;gap:24px}.about-band figure img,.story figure img{height:360px}
  .profile-modular-service-a .service-list{grid-template-columns:1fr}.profile-modular-service-b .service-row:nth-child(even){padding-left:0}
}
@media(max-width:560px){
  .wrap{width:min(var(--wrap),calc(100% - 28px))}.brand-name{max-width:120px;font-size:15px}.brand-name small{font-size:7px}.header-phone strong{font-size:13px}.menu-toggle{min-width:46px}.hero h1,.inner-hero h1{font-size:42px}.hero-grid{padding-block:26px}.hero-copy .lead{margin-bottom:12px}.proof{display:none}.estimate-form{grid-template-columns:1fr;gap:10px}.estimate-form .form-note,.estimate-form .form-status{grid-column:auto}.estimate-form input,.estimate-form select,.estimate-form button{height:48px}.hero .estimate-form{padding:16px}.section{padding:56px 0}.section h2,.estimate-band h2,.final-cta h2{font-size:36px}.service-row{grid-template-columns:44px 1fr 18px}.service-row small{display:none}.service-row strong{font-size:22px}.review{flex-basis:88%;padding:22px}.footer-main,.footer-local .footer-main{grid-template-columns:1fr}.inner-grid{gap:24px}.inner-grid>div:first-child .lead{display:none}.inner-grid .estimate-form{padding:16px}.inner-media img{opacity:.25}.area-list>a,.area-list>div{grid-template-columns:65px 1fr 18px}.final-cta{padding-block:44px}
}

@media(max-width:700px){.contact-map-heading{grid-template-columns:1fr;gap:18px;margin-bottom:24px}.contact-map-heading address{max-width:none}.contact-map-frame{height:360px}}

@media(max-width:900px){.inner-media{display:block!important;inset:0!important}.inner-media img{opacity:.8!important}.inner-hero:after{background:rgba(16,39,31,.68)}}


/* v1.4: denser, image-led homepage rhythm */
.section{padding:82px 0}
.services{background:#fff}
.service-layout{grid-template-columns:1.02fr .98fr;gap:52px}
.service-layout figure{min-height:550px;box-shadow:var(--shadow)}
.areas{background:var(--surface)}
.areas .areas-grid{align-items:center}
.areas .area-list{background:#fff;border:1px solid var(--line);padding:0 28px;box-shadow:0 10px 28px rgba(7,25,34,.05)}
.about-band .split-intro{align-items:center}
.about-band figure{box-shadow:0 20px 55px rgba(0,0,0,.22)}
.process{background:#fff}
.process-layout{display:grid;grid-template-columns:.78fr 1.22fr;gap:54px;align-items:stretch}
.process-kicker{display:flex;flex-direction:column;justify-content:center;background:var(--surface-dark);color:#fff;padding:48px}.process-kicker>.icon{width:64px;height:64px;background:var(--brand-accent);border:0;margin-bottom:34px}.process-kicker .eyebrow{color:var(--brand-accent)}.process-kicker h2{font-size:42px}.process-kicker p:last-child{color:#dce7e2}
.process-content{align-self:center}
.process-content .section-head{margin-bottom:28px}
.process ol{grid-template-columns:1fr;gap:12px}
.process ol:before{display:none}
.process li{background:var(--surface);padding:22px;gap:18px}
.advantages{background:var(--surface)}
.advantage-grid{gap:18px;margin-top:38px}
.advantage-grid article,.advantage-grid article+article,.advantage-grid article:last-child{background:#fff;border:1px solid var(--line);padding:0;margin:0;box-shadow:0 10px 28px rgba(7,25,34,.05);overflow:hidden}.advantage-copy{padding:32px;min-height:250px}.advantage-copy>.icon{width:58px;height:58px;background:var(--surface);border:1px solid var(--line)}
.visual-story{background:#fff}
.visual-story-grid--three{grid-template-columns:repeat(3,minmax(0,1fr))}
.faq{background:#f4f6f7}
@media(max-width:900px){
.review-heading{grid-template-columns:1fr;gap:26px}.rating-strip{grid-template-columns:repeat(3,minmax(0,1fr))}
.service-layout{grid-template-columns:1fr}.service-layout figure{min-height:0}.service-layout figure img{width:100%;height:360px}
.process-layout{grid-template-columns:1fr;gap:38px}
.process-kicker{padding:34px}
.areas .area-list{padding:0 20px}
.advantage-grid article,.advantage-grid article+article,.profile-local-warm-a .advantage-grid article{padding:0;margin:0;border:1px solid var(--line);background:#fff}.advantage-copy{padding:22px}
}
@media(max-width:700px){.rating-strip{grid-template-columns:1fr}.rating-card{padding:13px}.rating-icon{flex-basis:42px;height:42px}.review-platforms{margin-block:18px 24px}.review-platforms>div{min-height:76px;padding:18px}.review-platform-logo.logo-mapquest{height:20px}.review-platforms>div:has(.logo-mapquest){padding-inline:6px}.review-platform-logo.logo-scamadviser{height:24px}.review-platforms>div:has(.logo-scamadviser){padding-inline:6px}.review-platform-logo.logo-smartcustomer{height:25px}.review-platforms>div:has(.logo-smartcustomer){padding-inline:6px}.visual-story-grid,.visual-story-grid--three{grid-template-columns:1fr}.section h2,.hero h1,.inner-hero h1,.final-cta h2{line-height:1.08}}

.service-layout.service-layout--no-media{grid-template-columns:1fr}
.service-layout.service-layout--no-media .service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 42px}
@media(max-width:700px){.service-layout.service-layout--no-media .service-list{grid-template-columns:1fr}}



/* v1.5 production acceptance fixes */
.review-controls{margin:0 0 18px;position:relative;z-index:1}
.review-controls button{background:#fff}
.mobile-actions{display:none}
@media(max-width:900px){
  body{padding-bottom:68px}
  .site-header{display:grid;grid-template-columns:minmax(0,1fr) auto auto;min-height:76px;padding-inline:14px;gap:10px}
  .brand{min-width:0}.brand-name{max-width:150px}
  .header-phone{grid-column:2;margin:0;padding:0;border:0;line-height:1;text-align:right}
  .header-phone strong{font-size:14px;letter-spacing:-.02em}
  .menu-toggle{grid-column:3;grid-row:1;margin:0;min-width:58px;height:42px}
  .site-nav{inset:76px 0 68px}
  .mobile-actions{position:fixed;display:grid;grid-template-columns:1fr 1.35fr 1fr;left:0;right:0;bottom:0;z-index:120;background:#fff;border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(7,25,34,.12);padding-bottom:env(safe-area-inset-bottom)}
  .mobile-actions a,.mobile-actions button{min-height:68px;border:0;border-right:1px solid var(--line);background:#fff;color:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;line-height:1.1}
  .mobile-actions span{font-size:20px;line-height:1}.mobile-actions strong{font-size:11px}
  .mobile-actions .mobile-estimate{background:var(--brand-accent);color:#172126}
  .mobile-actions .mobile-menu-action{border-right:0}
  .mobile-actions.is-content-clear{opacity:0;visibility:hidden;pointer-events:none}
}
@media(max-width:430px){
  .site-header{grid-template-columns:minmax(0,1fr) auto auto;gap:8px}.brand-mark{width:40px;height:40px;flex-basis:40px}.brand-name{font-size:12px;max-width:92px}.brand-name small{display:none}.header-phone strong{font-size:12px}.menu-toggle{min-width:50px;padding-inline:8px}
  .review{flex-basis:92%}
}
.detail-prose-body{max-width:none}.detail-prose-body p{max-width:none;font-size:18px;line-height:1.7;margin:0 0 18px}.detail-prose-body p:last-child{margin-bottom:0}
.geo-details .split-intro{grid-template-columns:1fr;gap:28px}
.geo-details .split-intro>div:first-child p{max-width:none}
.geo-details .geo-notes--list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 26px}
@media(max-width:700px){.geo-details .geo-notes--list{grid-template-columns:1fr}}
@media(min-width:901px){.site-nav details>div.nav-areas{width:540px;left:-150px;columns:3;column-gap:6px}.site-nav .nav-areas a{break-inside:avoid}}
@media(max-width:900px){.site-nav .nav-areas{columns:2;column-gap:14px}.site-nav .nav-areas a{break-inside:avoid}}
