/* Mobile-first refinements; loaded after existing website styles. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:95px}
body{overflow-x:hidden}
img,svg,iframe{max-width:100%}
button,a{-webkit-tap-highlight-color:transparent}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b99660;outline-offset:3px}
@media(max-width:900px){
 .hero-inner{grid-template-columns:1fr!important;gap:8px!important;min-height:unset!important}
 .hero-copy{padding:45px 0 14px!important}
 .hero h1{font-size:clamp(39px,7vw,62px)!important;line-height:1.1!important}
 .project-showcase.hero-photo-slot{width:100%;max-width:720px;margin:14px auto 36px!important;min-height:0!important;aspect-ratio:1.35!important}
 .showcase-slide img{width:100%;height:100%;object-fit:cover!important;object-position:center center}
 .two-col,.contact-grid{grid-template-columns:1fr;gap:35px}
 .nav-links{gap:10px}
}
@media(max-width:740px){
 .container{width:calc(100% - 36px)!important;max-width:580px}
 .site-header{height:80px!important;position:relative;z-index:30}
 .banner-brand{min-width:0;flex:1;gap:5px!important}
 .banner-emblem,.banner-emblem img{width:65px!important;height:57px!important;flex-shrink:0;object-fit:contain!important}
 .banner-brand-copy{min-width:0;gap:4px!important}
 .banner-brand-copy strong{font-size:clamp(10px,3vw,13px)!important;line-height:1.18!important;white-space:normal!important;overflow-wrap:anywhere}
 .banner-brand-copy strong span{font-size:9px!important}
 .banner-brand-copy small{font-size:8px!important;white-space:normal!important;line-height:1.35!important}
 .mobile-toggle{display:block;min-width:44px;min-height:44px;flex-shrink:0;cursor:pointer}
 .nav-links{top:80px!important;left:0;right:0;z-index:40;padding:18px!important;box-shadow:0 14px 30px #0002}
 .nav-links a{min-height:44px;display:flex;align-items:center}
 .hero-copy{padding:32px 0 10px!important}
 .hero .eyebrow{font-size:10px;letter-spacing:.1em}
 .hero h1{font-size:clamp(36px,9.4vw,54px)!important;line-height:1.1!important;margin:15px 0 18px!important}
 .hero p{font-size:15px;line-height:1.65;margin-bottom:22px!important}
 .hero-actions{display:flex;gap:10px}
 .hero-actions .btn{min-height:48px;justify-content:center;display:inline-flex;align-items:center;padding:14px 15px}
 .project-showcase.hero-photo-slot{aspect-ratio:1.05!important;margin:18px auto 30px!important;border-radius:12px}
 .showcase-slides{inset:0 0 48px!important}
 .showcase-controls{height:48px!important;gap:18px!important}
 .showcase-arrow{min-width:44px;min-height:40px;display:grid;place-items:center}
 .showcase-slide figcaption{padding:30px 16px 12px!important;font-size:13px!important;line-height:1.25}
 .showcase-slide figcaption span{font-size:9px!important}
 .project-gallery{padding:52px 0!important}
 .gallery-slide h3{font-size:20px!important}
 .comparison-pair{grid-template-columns:1fr!important;gap:14px!important}
 .comparison-pair figure{aspect-ratio:1.14!important}
 .comparison-pair figcaption{top:10px;left:10px;padding:7px 12px}
 .gallery-nav{gap:12px!important;flex-wrap:wrap}
 .gallery-arrow{min-width:44px;min-height:44px}
 .section{padding:55px 0!important}
 .section-heading{font-size:clamp(27px,7vw,42px)!important;line-height:1.18!important}
 .section-intro{font-size:15px;line-height:1.6}
 .service-grid,.steps,.trust-inner{grid-template-columns:1fr!important}
 .service-card{padding:24px!important}
 .form-card{padding:20px!important;width:100%}
 .contact-grid>*{min-width:0}
 .jotform-embed,.jotform-embed iframe{width:100%!important;max-width:100%!important}
 .footer-inner{gap:20px}
}
@media(max-width:420px){
 .container{width:calc(100% - 28px)!important}
 .banner-emblem,.banner-emblem img{width:51px!important;height:50px!important}
 .banner-brand-copy strong{font-size:10px!important}
 .banner-brand-copy small{font-size:7px!important}
 .hero-actions{flex-direction:column;align-items:stretch}
 .hero-actions .btn{width:100%!important}
 .hero h1{font-size:clamp(34px,9.4vw,42px)!important}
 .project-showcase.hero-photo-slot{aspect-ratio:.98!important}
 .form-grid{grid-template-columns:1fr!important}
 .field.full{grid-column:span 1!important}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
