/* Responsive presentation and legibility refinements. */
html{scroll-padding-bottom:90px}
body{-webkit-text-size-adjust:100%}
.header-inner>*{min-width:0}
.menu-toggle{flex-shrink:0}
.mobile-nav{max-height:calc(100vh - 175px);max-height:calc(100dvh - 175px);overflow-y:auto;overscroll-behavior:contain}
.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.desktop-nav a,.header-cta{font-size:11px}
.hero.hero-showcase{min-height:0;background:#111313;overflow:visible}
.hero-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:52px;padding-block:62px}
.hero-copy{min-width:0;container-type:inline-size}
.hero-showcase h1{font-size:clamp(44px,7vw,96px);font-size:clamp(44px,16.5cqi,96px)}
.hero-showcase .eyebrow{font-size:10px;line-height:1.7;letter-spacing:.1em}
.hero-showcase .eyebrow>span{flex-shrink:0}
.hero-showcase .hero-description{font-size:15px;line-height:1.85;max-width:430px}
.hero-showcase .hero-actions{flex-wrap:wrap;gap:18px 24px}
.hero-showcase .hero-actions .button{font-size:12px;min-height:52px}
.hero-showcase .hero-actions .text-link{font-size:14px;min-height:44px}
.hero-showcase .hero-note{font-size:12px;margin-top:16px}
.hero-project{min-width:0;margin:0}
.hero-project>a{display:block;position:relative;border:1px solid #424444}
.hero-project img{width:100%;height:auto;aspect-ratio:1200/935;object-fit:contain}
.hero-project-link{position:absolute;right:14px;bottom:14px;background:#0a0a0ae8;color:#fff;display:flex;align-items:center;gap:16px;padding:13px 15px;font-size:10px;font-weight:800;letter-spacing:.09em}
.hero-project-link .icon{width:18px;height:18px}
.hero-project figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 20px;padding-top:16px;color:#bdbdbd;font-size:12px;line-height:1.6}
.hero-project figcaption>span:first-child{font-size:10px;font-weight:800;letter-spacing:.14em;color:#fff}
.heading-description,.service-content,.why-intro>p:not(.eyebrow),.approach-list article p,.process-grid p,.area-layout>div:first-child>p:not(.eyebrow),.faq-layout>div:first-child>p:last-child,.faq-list details>p{font-size:14px;line-height:1.85}
.service-content .text-link,.why-intro>.text-link,.area-layout .text-link{font-size:13px;min-height:44px}
.service-feature{min-height:0;align-self:start}
.service-feature-image{height:auto;flex:none}
.service-feature-image img{width:100%;height:auto;aspect-ratio:1200/935;object-fit:contain}
.service-feature-image:after{display:none}
.service-feature-content{padding-top:26px}
.service-feature-content>p:last-of-type{font-size:13px}
.service-feature-content .eyebrow{font-size:10px}
.round-link{width:46px;height:46px}
.faq-list summary{font-size:14px}
.storm-inner p:last-child{font-size:13px}
.city-grid{font-size:14px}
.area-board>p{font-size:12px}
.form-intro{font-size:14px;line-height:1.8}
.form-eyebrow{font-size:10px}
label{font-size:12px}
input,select,textarea,.field-pair select{font-size:16px;min-height:48px}
input::placeholder,textarea::placeholder{font-size:14px}
.form-note{font-size:12px;line-height:1.8}
.form-button{font-size:13px;min-height:52px}
.field-pair{grid-template-columns:repeat(2,minmax(0,1fr))}
.message-preview{font-size:14px}
.review-actions{flex-wrap:wrap}
.review-actions>button{min-height:44px;font-size:13px}
.copy-status{font-size:13px}
.contact-person{font-size:11px}
.contact-small{font-size:12px}
.footer-bottom{font-size:11px}
.footer-bottom>div{flex-wrap:wrap;gap:4px 20px}
.footer-bottom a,.footer-bottom button,.back-top{min-height:44px;display:inline-flex;align-items:center}
dialog p:not(.eyebrow){font-size:14px}
.dialog-close{min-width:44px;min-height:44px}
@media(max-width:1200px){.hero-layout{gap:32px}.hero-showcase h1{font-size:clamp(44px,7vw,96px);font-size:clamp(44px,16.5cqi,96px)}.hero-showcase .hero-actions{flex-direction:column;align-items:flex-start;gap:10px}.field-pair{grid-template-columns:minmax(0,1fr);gap:0}}
@media(max-width:1100px){.desktop-nav{display:none}.menu-toggle{display:block}.header-cta{margin-left:auto}}
@media(max-width:820px){.hero-layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-block:42px 32px}.hero-showcase h1{font-size:clamp(44px,7vw,96px);font-size:clamp(44px,16.5cqi,96px)}.hero-showcase .hero-description{max-width:600px;margin-top:20px}.hero-showcase .hero-actions{flex-direction:row;align-items:center;gap:12px 22px;margin-top:24px}.hero-project{width:100%;max-width:680px}.hero-showcase .hero-note{margin-top:12px}.contact-layout{grid-template-columns:minmax(0,1fr)}.field-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}}
@media(max-width:700px){html{scroll-padding-top:98px}.container{width:calc(100% - 40px)}.utility-inner{height:auto;min-height:30px;padding-block:5px}.utility-inner>span{font-size:9px;text-align:center;line-height:1.5}.header-inner{height:86px;gap:16px}.brand,.brand img{width:172px}.header-cta{display:none}.menu-toggle{width:46px;height:46px;padding:10px;margin-left:auto}.menu-toggle span{width:24px}.hero-layout{gap:28px;padding-top:32px}.hero-showcase .eyebrow{font-size:9px;margin-bottom:20px}.hero-showcase h1{font-size:clamp(44px,7vw,96px);font-size:clamp(44px,16.5cqi,96px)}.hero-showcase .hero-description{font-size:15px;line-height:1.75}.hero-showcase .hero-actions{flex-direction:column;align-items:stretch;gap:6px}.hero-showcase .hero-actions .button{width:100%;justify-content:space-between}.hero-showcase .hero-actions .text-link{justify-content:center}.hero-showcase .hero-note{justify-content:center;font-size:11px;margin-top:5px}.hero-project figcaption{font-size:11px;gap:5px 12px;padding-top:12px}.hero-project-link{right:10px;bottom:10px;font-size:9px;padding:11px 12px}.trust-inner{gap:8px;min-height:86px}.trust-inner>div{flex-direction:column;gap:8px;font-size:9px;line-height:1.5;text-align:center;letter-spacing:.02em}.trust-inner>div>.icon{width:21px;height:21px}.eyebrow{font-size:10px;line-height:1.65}.service-feature-content{padding:24px 24px 30px}.service-feature-content>p:last-of-type{max-width:75%}.storm-inner .eyebrow{font-size:10px}.owner-signoff span{font-size:10px}.owner-signoff p{display:none}.city-grid{font-size:13px;grid-template-columns:repeat(2,minmax(0,1fr))}.area-board-top{font-size:10px;flex-wrap:wrap}.area-state{font-size:9px}.contact-copy h2{font-size:clamp(54px,13vw,70px)}.request-panel{padding:26px 22px;min-width:0}.field-pair{grid-template-columns:minmax(0,1fr);gap:0}.footer-top>p{font-size:12px}.back-top{font-size:10px;margin-top:16px}.site-footer{padding-bottom:calc(72px + env(safe-area-inset-bottom))}.mobile-contact>a{font-size:12px;min-height:56px;gap:8px}.mobile-contact>a:last-child{gap:8px}.mobile-contact{padding-inline:max(0px,env(safe-area-inset-left)) max(0px,env(safe-area-inset-right))}body:has(input:focus,textarea:focus,select:focus) .mobile-contact{display:none}}
@media(max-width:380px){.container{width:calc(100% - 32px)}.brand,.brand img{width:166px}.utility-inner>span{font-size:8px}.hero-showcase h1{font-size:clamp(44px,7vw,96px);font-size:clamp(44px,16.5cqi,96px)}.hero-showcase .eyebrow{font-size:8px}.hero-project figcaption{flex-direction:column}.trust-inner>div{font-size:8px}.request-panel{padding:24px 18px}.mobile-contact>a{font-size:11px}.contact-phone{font-size:31px}.contact-copy h2{font-size:54px}}
