:root{--ink:#141614;--green:#164f49;--orange:#f15a38;--gold:#c8a46c;--cream:#f2eee6;--paper:#f7f8f5;--line:#d7d9d3;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.6}a{color:inherit;text-decoration:none}img{display:block;width:100%}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.skip{position:fixed;left:16px;top:-60px;background:#fff;padding:12px 18px;z-index:100}.skip:focus{top:12px}.license-bar{background:#0d100f;color:#ddd;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}.license-bar .shell{min-height:36px;display:flex;align-items:center;justify-content:space-between}.header{position:sticky;top:0;z-index:30;background:rgba(247,248,245,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(20,22,20,.1)}.nav-wrap{height:76px;display:flex;align-items:center;gap:36px}.logo{font-size:1.25rem;font-weight:900;letter-spacing:-.04em}.logo span{color:var(--orange)}.nav{display:flex;gap:28px;margin-left:auto;font-size:.92rem;font-weight:700}.nav a:hover{color:var(--orange)}.menu-button{display:none}.button{min-height:52px;display:inline-flex;align-items:center;justify-content:center;padding:0 24px;border:0;border-radius:999px;background:var(--orange);color:#fff;font:inherit;font-weight:800;cursor:pointer;transition:.2s}.button:hover{background:#d84a2c;transform:translateY(-1px)}.button.small{min-height:44px;padding:0 18px;font-size:.9rem}.hero{min-height:720px;display:grid;align-items:center;color:#fff;background:linear-gradient(90deg,rgba(10,13,12,.93) 0%,rgba(10,13,12,.72) 48%,rgba(10,13,12,.18) 100%),url('images/driveway-rv-pad.webp') center/cover no-repeat}.hero-inner{padding:90px 0}.kicker{margin:0 0 20px;text-transform:uppercase;letter-spacing:.17em;font-size:.78rem;font-weight:800;color:#edc489}.kicker.dark{color:var(--green)}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:500;letter-spacing:-.045em;line-height:.96;margin:0}h1{font-size:clamp(3.7rem,8vw,7.6rem);max-width:920px}h1 em{color:#f4b194;font-weight:500}.hero-copy{font-size:1.18rem;line-height:1.7;max-width:640px;margin:28px 0 0;color:#e3e5e1}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}.button.ghost{background:transparent;border:1px solid rgba(255,255,255,.65)}.button.ghost:hover{background:#fff;color:#111}.hero-proof{display:flex;gap:42px;margin-top:70px;color:#d5d9d5}.hero-proof span{display:flex;flex-direction:column}.hero-proof strong{color:#fff;font-size:1.1rem}.trust{background:var(--green);color:#fff}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}.trust-grid div{padding:28px;border-right:1px solid rgba(255,255,255,.18)}.trust-grid div:last-child{border:0}.trust strong,.trust span{display:block}.trust strong{font-size:1rem}.trust span{font-size:.83rem;color:#cbded9}.section{padding:105px 0}.section-heading{display:grid;grid-template-columns:1.45fr .55fr;gap:70px;align-items:end;margin-bottom:50px}.section-heading h2,.about h2,.contact h2{font-size:clamp(2.8rem,5vw,5rem)}.section-heading>p{margin:0;color:#626861;font-size:1.06rem}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:30px;min-height:300px;transition:.25s}.service-grid article:hover{transform:translateY(-5px);border-color:#aaa}.service-grid span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--cream);color:var(--green);font-weight:900}.service-grid h3{font-size:1.35rem;line-height:1.2;margin:55px 0 15px}.service-grid p{color:#606660;margin:0}.work{background:#171917;color:#fff}.section-heading.light>p{color:#bdc2bc}.gallery{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,320px);gap:18px}.gallery figure{margin:0;position:relative;overflow:hidden;border-radius:20px;background:#333}.gallery figure.wide{grid-row:1/3}.gallery img{height:100%;object-fit:cover;transition:transform .5s}.gallery figure:hover img{transform:scale(1.025)}.gallery figure:after{content:"";position:absolute;inset:45% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.78))}.gallery figcaption{position:absolute;z-index:2;left:26px;right:26px;bottom:24px;display:flex;flex-direction:column}.gallery figcaption strong{font-size:1.15rem}.gallery figcaption span{font-size:.88rem;color:#d9ddd9}.about{background:var(--cream)}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.about-copy>p:not(.kicker){color:#5d625d;font-size:1.08rem}.text-link{display:inline-flex;gap:10px;color:var(--green);font-weight:900;margin-top:15px}.process{list-style:none;margin:0;padding:0;border-top:1px solid #c9c5bc}.process li{display:grid;grid-template-columns:60px 1fr;gap:18px;padding:26px 0;border-bottom:1px solid #c9c5bc}.process li>span{font-size:.78rem;font-weight:900;color:var(--orange)}.process strong{font-family:Georgia,serif;font-size:1.5rem}.process p{margin:5px 0 0;color:#646761}.contact{background:var(--green);color:#fff}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px}.contact-grid>div>p:not(.kicker){color:#c7dad6;max-width:460px}.contact-links{display:flex;flex-direction:column;gap:18px;margin-top:42px}.contact-links a{display:flex;flex-direction:column}.contact-links small{color:#a8c7c0}.quote-form{display:grid;grid-template-columns:1fr 1fr;gap:16px;background:#fff;color:var(--ink);padding:32px;border-radius:24px}.quote-form label{display:flex;flex-direction:column;gap:7px;font-size:.83rem;font-weight:800}.quote-form input,.quote-form select,.quote-form textarea{width:100%;border:1px solid #d7dad6;border-radius:10px;background:#f8f9f7;padding:13px;font:inherit;color:var(--ink)}.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:3px solid rgba(241,90,56,.22);border-color:var(--orange)}.full{grid-column:1/-1}.form-note{font-size:.78rem!important;color:#697069;margin:0;text-align:center}footer{background:#0d100f;color:#b9bfba;padding:58px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:50px}.footer-grid>div{display:flex;flex-direction:column;align-items:flex-start}.footer-logo{color:#fff}.footer-grid strong{color:#fff}.copyright{border-top:1px solid #282b29;margin-top:40px;padding-top:24px;font-size:.8rem}.mobile-call{display:none}
@media(max-width:900px){.desktop-cta{display:none}.menu-button{display:block;margin-left:auto;border:1px solid #bbb;background:transparent;border-radius:999px;padding:9px 15px;font-weight:800}.nav{display:none;position:absolute;top:76px;left:0;right:0;margin:0;padding:18px 20px 24px;flex-direction:column;background:#f7f8f5;border-bottom:1px solid var(--line)}.nav.open{display:flex}.section-heading,.about-grid,.contact-grid{grid-template-columns:1fr;gap:32px}.service-grid{grid-template-columns:repeat(2,1fr)}.gallery{grid-template-columns:1fr;grid-template-rows:480px 300px 300px}.gallery figure.wide{grid-row:auto}.trust-grid{grid-template-columns:repeat(2,1fr)}.trust-grid div:nth-child(2){border-right:0}.trust-grid div:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}}
@media(max-width:620px){.shell{width:min(100% - 28px,1180px)}.license-bar .shell span:last-child{display:none}.nav-wrap{height:68px}.nav{top:68px}.hero{min-height:650px;background-position:62% center}.hero-inner{padding:65px 0}.hero h1{font-size:3.55rem}.hero-copy{font-size:1.04rem}.hero-proof{gap:18px;flex-direction:column;margin-top:45px}.trust-grid{grid-template-columns:1fr}.trust-grid div,.trust-grid div:nth-child(2){border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:20px 8px}.section{padding:74px 0}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:240px}.service-grid h3{margin-top:34px}.gallery{grid-template-rows:360px 260px 260px}.about-grid{gap:48px}.contact-grid{gap:40px}.quote-form{grid-template-columns:1fr;padding:22px}.quote-form label,.full{grid-column:1}.footer-grid{grid-template-columns:1fr;gap:32px;padding-bottom:54px}.mobile-call{display:flex;position:fixed;z-index:35;right:16px;bottom:16px;background:var(--orange);color:#fff;border-radius:999px;padding:13px 20px;font-weight:900;box-shadow:0 8px 28px rgba(0,0,0,.28)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.logo{display:inline-flex;align-items:center;gap:10px}.logo img{width:38px;height:38px}.logo span{color:var(--ink)}.logo b{color:var(--orange)}.footer-logo span{color:#fff}.areas{background:var(--paper)}.areas-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:90px;align-items:end}.areas h2{font-size:clamp(2.8rem,5vw,5rem)}.areas-grid>div>p:not(.kicker){max-width:520px;color:#626861;font-size:1.06rem}.city-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.city-list li{min-height:78px;display:flex;align-items:center;padding:16px 20px;background:#fff;border-right:1px solid var(--line);border-bottom:1px solid var(--line);font-weight:800}.city-list li:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:12px;flex:0 0 auto}@media(max-width:900px){.areas-grid{grid-template-columns:1fr;gap:36px}}@media(max-width:620px){.logo img{width:34px;height:34px}.city-list{grid-template-columns:1fr 1fr}.city-list li{min-height:66px;padding:12px;font-size:.92rem}}
:root{--ink:#101010;--green:#1b1b1b;--orange:#ff5a00;--gold:#ffb066;--cream:#ededeb;--paper:#f7f7f5;--line:#d2d2ce}.logo{height:72px;display:inline-flex;align-items:center}.logo-crop{display:block;width:100px;height:72px;overflow:hidden;background:#000}.logo .logo-mark{display:block;width:100px;height:auto;max-width:none;transform:translateY(-59px)}.footer-logo{height:108px}.footer-logo .logo-crop{width:150px;height:108px}.footer-logo .logo-mark{width:150px;transform:translateY(-89px)}.license-bar{background:#000}.header{background:rgba(247,247,245,.96)}.trust,.contact{background:#1b1b1b}.kicker{color:#ffb066}.kicker.dark,.text-link{color:#c54500}.button{background:#ff5a00}.button:hover{background:#dc4e00}.service-grid span{color:#9d3900}.city-list li:before{background:#ff5a00}@media(max-width:620px){.logo{height:58px}.logo-crop{width:80px;height:58px}.logo .logo-mark{width:80px;height:auto;transform:translateY(-47px)}.footer-logo{height:94px}.footer-logo .logo-crop{width:130px;height:94px}.footer-logo .logo-mark{width:130px;transform:translateY(-77px)}}
.hero{background-image:linear-gradient(90deg,rgba(10,10,10,.94) 0%,rgba(10,10,10,.72) 48%,rgba(10,10,10,.16) 100%),url('images/large-home-slab.webp');background-position:center;background-size:cover}
.logo{height:auto;min-height:44px}.logo .wordmark{color:var(--ink);font-size:1.3rem;font-weight:900;letter-spacing:-.035em;white-space:nowrap}.logo .wordmark b{color:var(--orange)}.footer-logo{height:auto}.footer-logo .wordmark{color:#fff}@media(max-width:620px){.logo{height:auto}.logo .wordmark{font-size:1.12rem}.footer-logo{height:auto}}
.gallery-open{display:block;width:100%;height:100%;padding:0;border:0;background:none;cursor:zoom-in}.gallery figure:after,.gallery figcaption{pointer-events:none}.lightbox{width:min(1000px,calc(100% - 32px));max-height:90vh;padding:0;border:0;border-radius:18px;background:#0d0d0d;color:#fff;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.55)}.lightbox::backdrop{background:rgba(0,0,0,.82);backdrop-filter:blur(4px)}.lightbox img{width:100%;max-height:75vh;object-fit:contain;background:#000}.lightbox p{margin:0;padding:16px 22px;font-weight:800}.lightbox-close{position:absolute;z-index:3;right:14px;top:14px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(0,0,0,.75);color:#fff;padding:9px 14px;font:inherit;font-weight:800;cursor:pointer}
.gallery{grid-template-columns:repeat(3,1fr);grid-template-rows:none;grid-auto-rows:290px}.gallery figure.featured{grid-column:span 2;grid-row:span 2}.gallery figure:nth-child(5){grid-column:span 2}.gallery figure:nth-child(8){grid-column:span 2}@media(max-width:900px){.gallery{grid-template-columns:repeat(2,1fr);grid-template-rows:none;grid-auto-rows:300px}.gallery figure.featured{grid-column:span 2;grid-row:span 2}.gallery figure:nth-child(5),.gallery figure:nth-child(8){grid-column:span 1}}@media(max-width:620px){.gallery{grid-template-columns:1fr;grid-template-rows:none;grid-auto-rows:280px}.gallery figure.featured{grid-column:auto;grid-row:auto}.gallery figure:nth-child(5),.gallery figure:nth-child(8){grid-column:auto}.gallery figcaption{left:20px;right:20px;bottom:18px}}

.hero-actions{display:flex;flex-wrap:wrap;gap:12px}.hero-actions .call-button{background:transparent;border:2px solid #fff;color:#fff}.hero-actions .call-button:hover{background:#fff;color:#111}
.social-links{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;margin-top:12px}.social-links span{flex-basis:100%;color:#bcbfba;font-size:.88rem}.social-links a{text-decoration:underline;text-decoration-color:#ff5a00;text-underline-offset:4px}.social-links a:hover,.social-links a:focus-visible{color:#ffb066}

/* KMT premium: white, orange and black */
:root{--paper:#fff;--cream:#f4f4f4;--ink:#101010;--line:#dedede;--orange:#ff5a00}
body{background:#fff}.header{background:rgba(255,255,255,.97)}
.license-bar{border-bottom:2px solid var(--orange);letter-spacing:.1em;font-size:.72rem}.license-bar .shell{min-height:38px}.roc-number{font-weight:900;color:#fff}
.nav-wrap{gap:24px}.nav{gap:22px}.desktop-cta{font-size:.78rem;min-height:42px;padding:0 18px;white-space:nowrap}
h1,h2,.process strong{font-family:Arial,Helvetica,sans-serif;font-weight:900;font-style:normal;letter-spacing:-.055em}h1,h2{text-transform:uppercase;line-height:1.02}h1{font-size:clamp(3.7rem,7.8vw,6.7rem);max-width:850px}h1 em{font-style:normal;color:var(--orange);font-weight:900}h2{font-size:clamp(2.3rem,4.2vw,4rem)!important}.hero{min-height:760px;background-image:linear-gradient(90deg,rgba(0,0,0,.86),rgba(0,0,0,.53) 52%,rgba(0,0,0,.12)),url('images/large-home-slab.webp')}.hero-inner{padding:82px 0}.hero-copy{max-width:570px;font-size:1.05rem}.kicker{color:#ff8b4d;font-size:.7rem;letter-spacing:.2em}.kicker.dark{color:#a83b00}.button{border-radius:4px;background:var(--orange);color:#101010;text-transform:uppercase;font-size:.8rem;letter-spacing:.06em;min-height:54px}.button:hover{background:#ff7930}.hero-proof{margin-top:44px;gap:40px;border-top:1px solid #ffffff40;padding-top:22px;max-width:570px}.hero-proof strong{font-size:1.1rem}.trust{background:#111;border-bottom:1px solid #333}.trust-grid div{padding:23px 20px}.trust span{color:#bcbcbc}.trust strong{font-size:.86rem}.section{padding:96px 0}.section-heading{grid-template-columns:1.25fr .75fr;gap:70px}.section-heading>p{max-width:370px}.service-grid{grid-template-columns:repeat(2,1fr);gap:24px}.service-grid article{position:relative;padding:0 28px 28px;border-radius:6px;overflow:hidden;min-height:0;background:#f6f6f6}.service-photo{width:calc(100% + 56px);max-width:none;height:260px;object-fit:cover;margin:0 -28px 26px}.service-grid article>span{position:absolute;top:18px;left:18px;background:#111;color:#fff;width:36px;height:36px;border-radius:3px;font-size:.75rem}.service-grid h3{margin:0 0 12px;font-size:1.35rem;text-transform:uppercase;letter-spacing:-.025em}.service-grid article:hover{border-color:var(--orange);transform:translateY(-3px)}.work{background:#101010}.gallery{gap:20px}.gallery figure{border-radius:5px}.gallery figcaption strong{text-transform:uppercase;letter-spacing:.025em;font-size:1rem}.gallery figcaption span{color:#ddd}.about{background:#f4f4f4}.process strong{text-transform:uppercase;font-size:1.3rem}.process li{border-color:#d4d4d4}.process{border-color:#d4d4d4}.text-link{color:#a83b00}.areas{background:#fff}.city-list li{font-size:.88rem;min-height:66px}.contact{background:#101010;border-top:4px solid var(--orange)}.contact-grid>div>p:not(.kicker),.contact-links small{color:#bbb}.contact-links>a:first-child strong{font-size:clamp(1.5rem,3vw,2rem);color:#fff}.quote-form{border-radius:6px;padding:32px}.quote-form input,.quote-form select,.quote-form textarea{border-radius:3px;background:#f7f7f7}.lightbox{border-radius:5px}footer{background:#000}.mobile-contact{display:none}a:focus-visible,button:focus-visible{outline:3px solid #ff7b32;outline-offset:4px}
@media(max-width:900px){.desktop-cta{display:none}.section-heading{grid-template-columns:1fr;gap:24px}.section-heading>p{max-width:560px}.nav{background:#fff}.service-photo{height:230px}.hero{min-height:690px}.hero-inner{padding:65px 0}}
@media(max-width:620px){html{scroll-padding-top:82px}.license-bar .shell{width:calc(100% - 28px);gap:8px;min-height:38px;font-size:.61rem;letter-spacing:.045em}.license-bar .shell span:last-child{display:inline;white-space:nowrap}.header{border-bottom:1px solid #ddd}.menu-button{border-radius:3px;border-color:#ddd}.hero{min-height:690px;background-position:60% center}.hero h1{font-size:clamp(3rem,12.6vw,4.5rem)}.hero-copy{font-size:1rem;line-height:1.7}.hero-inner{padding:55px 0}.hero-actions{display:grid;grid-template-columns:1fr;max-width:420px}.hero-proof{flex-direction:row;gap:28px;font-size:.8rem;margin-top:30px}.hero-proof strong{font-size:.95rem}.trust-grid{grid-template-columns:1fr 1fr}.trust-grid div,.trust-grid div:nth-child(2){padding:18px 10px;border-bottom:1px solid #333}.trust strong{font-size:.75rem}.trust span{font-size:.72rem}.section{padding:65px 0}.section-heading{margin-bottom:30px}.service-grid{grid-template-columns:1fr;gap:20px}.service-photo{height:230px}.service-grid article{min-height:0}.gallery{grid-auto-rows:310px}.gallery figcaption span{font-size:.8rem}.quote-form{padding:22px}.quote-form input,.quote-form select,.quote-form textarea{font-size:16px}.footer-grid{padding-bottom:10px}footer{padding-bottom:115px}.mobile-contact{display:grid;grid-template-columns:1fr 1.35fr;gap:8px;position:fixed;bottom:0;left:0;right:0;z-index:40;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:rgba(10,10,10,.97);border-top:1px solid #444}.mobile-contact a{display:flex;min-height:46px;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.06em;font-size:.73rem;font-weight:900;color:#fff;border:1px solid #555;border-radius:3px}.mobile-contact a:last-child{background:var(--orange);color:#111;border-color:var(--orange)}}

/* Responsive refinement: phones, tablets, landscape and touch input. */
.shell > *, .section-heading > *, .service-grid > *, .about-grid > *,
.areas-grid > *, .contact-grid > *, .quote-form > *, .footer-grid > *{min-width:0}
.contact-links a,.footer-grid a{overflow-wrap:anywhere}
.quote-form{grid-template-columns:repeat(2,minmax(0,1fr))}
.quote-form input,.quote-form select,.quote-form textarea{min-width:0;font-size:16px}
.quote-form textarea{resize:vertical}
.menu-button{min-width:64px;min-height:44px;font-size:14px;cursor:pointer}
.nav a{display:flex;align-items:center;min-height:44px}
.lightbox{max-height:90dvh;overflow:auto;overscroll-behavior:contain}
.lightbox img{max-height:calc(90dvh - 64px)}
.lightbox-close{min-height:44px}
body.photo-open{overflow:hidden}
@media(min-width:901px) and (max-width:1100px){
 .nav-wrap{gap:16px}.nav{gap:14px;font-size:.82rem}
 .logo .wordmark{font-size:1.15rem}.desktop-cta{padding:0 12px;font-size:.7rem}
 .contact-grid{gap:36px}.areas-grid,.about-grid{gap:44px}
 .city-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:900px){
 .nav{gap:4px;max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px);overflow-y:auto;overscroll-behavior:contain;box-shadow:0 12px 24px #00000014}
 .nav a{padding:8px 12px;border-bottom:1px solid #eee}
 .hero{min-height:0}.hero-inner{padding:64px 0}
 .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
 .footer-grid>div:first-child{grid-column:1/-1}
}
@media(max-width:620px){
 html{scroll-padding-bottom:100px}
 .shell{width:calc(100% - 36px)}
 .nav-wrap{gap:12px}
 .hero-inner{padding:44px 0 48px}
 .hero h1{font-size:clamp(2.55rem,11.5vw,4.4rem)}
 h2{font-size:clamp(1.9rem,8vw,2.75rem)!important;overflow-wrap:normal}
 .kicker{line-height:1.65;letter-spacing:.13em}
 .hero-copy{margin-top:22px}.hero-actions{margin-top:26px}
 .hero-proof{gap:20px}.hero-proof span{flex:1;min-width:0}
 .trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .trust-grid div:nth-child(odd){border-right:1px solid #333}
 .service-grid article{padding:0 20px 24px}
 .service-photo{width:calc(100% + 40px);margin:0 -20px 22px;height:auto;aspect-ratio:4/3}
 .gallery{grid-auto-rows:clamp(250px,78vw,380px)}
 .gallery figcaption{left:18px;right:18px}
 .city-list{grid-template-columns:repeat(2,minmax(0,1fr))}
 .city-list li{padding:12px 10px;font-size:.85rem}.city-list li:before{margin-right:8px}
 .process li{grid-template-columns:32px minmax(0,1fr);gap:12px}
 .quote-form{grid-template-columns:minmax(0,1fr);padding:20px;gap:18px}
 .quote-form label,.full{grid-column:1}
 .quote-form .button{padding:14px 12px;white-space:normal}
 .form-note{line-height:1.65}
 .footer-grid{grid-template-columns:minmax(0,1fr)}
 .footer-grid>div:first-child{grid-column:auto}
 .social-links a{display:inline-flex;align-items:center;min-height:44px}
 .lightbox{width:calc(100% - 20px);max-width:none}.lightbox p{padding:16px;font-size:.9rem}
 .mobile-contact{padding-left:max(14px,env(safe-area-inset-left));padding-right:max(14px,env(safe-area-inset-right))}
 footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))}
 body:has(.quote-form :focus) .mobile-contact{display:none}
}
@media(max-width:360px){
 .license-bar .shell{font-size:.55rem;letter-spacing:0}
 .logo .wordmark{font-size:1rem}.menu-button{min-width:58px;padding:8px 12px}
 .hero-proof{gap:12px}.trust-grid div{padding:16px 8px}
}
@media(max-width:900px) and (max-height:500px){
 .nav{max-height:calc(100dvh - 90px)}
 .mobile-contact{position:static}.hero-inner{padding:36px 0}
}
@media(hover:none){.service-grid article:hover,.button:hover{transform:none}}

/* Comfortable page scale: show more content without changing browser zoom. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
.hero-photo{display:none}
.hero h1.hero-title{font-size:clamp(2rem,5.1vw,4.4rem);line-height:1.08}
.hero-service-area{display:block;margin-top:18px;font-size:clamp(1rem,2.1vw,1.45rem);line-height:1.4;letter-spacing:0;text-transform:none;font-weight:700}
.hero-tagline{margin:16px 0 0;color:#ff8b4d;font-size:1rem;line-height:1.5;font-weight:700}
h1{font-size:clamp(3.2rem,6.4vw,5.5rem)}
h2{font-size:clamp(2rem,3.5vw,3.4rem)!important}
.hero{min-height:640px}
.hero-inner{padding:64px 0}
.section{padding:76px 0}
.section-heading{margin-bottom:36px}
@media(max-width:900px){
 .hero{min-height:0}
 .hero-inner{padding:48px 0}
}
@media(max-width:620px){
 .license-bar .shell{min-height:32px}
 .nav-wrap{height:60px}
 .nav{top:60px}
 .logo .wordmark{font-size:1.05rem}
 /* A separate, naturally sized photo avoids enlarging a landscape image
    to cover the entire tall phone hero. Keep native pinch zoom available. */
 .hero{display:block;background:#111}
 .hero-inner{padding:28px 0}
 .hero-photo{display:block;width:calc(100% - 36px);height:auto;max-width:100%;margin:0 auto;border-radius:4px 4px 0 0}
 .hero h1{font-size:clamp(1.9rem,8.2vw,2.65rem);line-height:1.06}
 .hero h1.hero-title{font-size:clamp(1.75rem,7.4vw,2.65rem)}
 .hero-service-area{margin-top:14px}
 h2{font-size:clamp(1.65rem,6.7vw,2.3rem)!important;line-height:1.08}
 .hero .kicker{margin-bottom:16px;font-size:.65rem}
 .hero-copy{font-size:1rem;line-height:1.5;margin-top:16px}
 .hero-actions{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px;margin-top:22px;max-width:none}
 .hero-actions .button{font-size:.72rem;letter-spacing:.015em;min-height:48px;padding:10px 12px;text-align:center}
 .hero-proof{margin-top:20px;padding-top:14px;gap:16px}
 .hero-proof strong{font-size:.88rem}
 .section{padding:48px 0}
 .section-heading{gap:18px;margin-bottom:24px}
 .section-heading>p,.about-copy>p:not(.kicker),.areas-grid>div>p:not(.kicker){font-size:1rem}
 .service-photo{aspect-ratio:16/10;margin-bottom:18px}
 .service-grid h3{font-size:1.15rem}
 .gallery{grid-auto-rows:clamp(230px,65vw,310px)}
 .about-grid,.areas-grid,.contact-grid{gap:28px}
 .city-list li{min-height:56px}
 .contact-links{margin-top:28px}
}

/* Service details and project questions; shared with the existing site design. */
.service-grid .service-link{font-size:.85rem;min-height:44px;align-items:center;line-height:1.4;margin-top:10px}
.faq{background:#fff}.faq-list{margin-top:28px;border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:0 4px}
.faq-list summary{cursor:pointer;padding:22px 26px 22px 0;font-weight:800;line-height:1.4}
.faq-list p{max-width:850px;margin:0 0 24px;color:#4d4d4d}
.breadcrumbs{display:flex;flex-wrap:wrap;gap:12px;font-size:.85rem;margin-bottom:40px}
.breadcrumbs a{text-decoration:underline;text-underline-offset:4px}
.service-intro{background:#f0f0ed;padding-top:32px}
.service-intro-grid{display:grid;grid-template-columns:1.05fr 1fr;gap:52px;align-items:center}
.service-intro h1{font-size:clamp(2.25rem,4.4vw,4rem);line-height:1.08;margin:0;color:#111;overflow-wrap:normal}
.service-lead{font-size:1.08rem;color:#4d4d4d;max-width:650px;margin-top:24px}
.service-actions{display:flex;gap:18px;flex-wrap:wrap;align-items:center;margin-top:26px}.service-actions .text-link{margin:0}
.service-intro figure{margin:0;min-width:0}.service-intro figure img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.service-intro figcaption{font-size:.75rem;color:#60605d;margin-top:10px}
.service-detail-grid{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:70px;padding-top:64px;padding-bottom:64px;align-items:start}
.service-section+.service-section{margin-top:36px}.service-section h2{font-size:1.65rem!important;line-height:1.25;margin:0 0 12px}
.service-section p{margin:0;color:#50504d}.project-note{padding:28px;background:#ededeb;border-top:4px solid var(--orange)}
.project-note h2{font-size:1.65rem!important;line-height:1.2}.project-note ul{padding-left:20px}.project-note li{margin:10px 0}.project-note a{overflow-wrap:anywhere}
.related-services nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0}
.related-services nav a{background:white;border:1px solid var(--line);padding:24px;display:flex;justify-content:space-between;gap:12px;font-weight:800;align-items:center}
.related-services nav a:hover{border-color:var(--orange)}
@media(max-width:900px){.service-intro-grid,.service-detail-grid{grid-template-columns:minmax(0,1fr);gap:32px}.service-intro figure{max-width:650px}.service-detail-grid{padding-top:44px;padding-bottom:44px}.related-services nav{grid-template-columns:1fr}}
@media(max-width:620px){.service-intro{padding-top:24px}.breadcrumbs{margin-bottom:28px}.service-intro h1{font-size:clamp(2rem,8.5vw,2.9rem)}.service-lead{font-size:1rem}.service-intro-grid{gap:28px}.service-actions .button{width:100%;text-align:center}.service-actions{gap:12px}.project-note{padding:24px}.faq-list summary{padding-top:18px;padding-bottom:18px}.service-section h2{font-size:1.5rem!important}}
