/* Mobile adaptations only: keep the existing desktop identity and layout. */
@media(max-width:650px){
 body:not(.configurator-page) .m2-hero .hero-image{height:clamp(240px,72vw,470px);aspect-ratio:auto;object-fit:cover;object-position:right center;bottom:100px}
 body:not(.configurator-page) .m2-hero .hero-content{padding-bottom:calc(clamp(240px,72vw,470px) + 130px)}
}
@media(max-width:1150px){
 .header .menu{min-width:48px;min-height:48px;display:grid;place-items:center;flex-shrink:0;line-height:1;padding:8px 12px}
 .header nav{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-bottom:max(24px,env(safe-area-inset-bottom));max-height:calc(100dvh - 88px)}
 .header nav>a,.header .nav-group summary,.header .nav-dropdown a{min-height:44px;display:flex;align-items:center;line-height:1.5;overflow-wrap:anywhere}
 .header .nav-group summary{justify-content:space-between}
 .header .nav-dropdown{width:100%;left:auto;min-width:0}
 body.nav-open{overflow:hidden}
}
@media(max-width:900px){
 body:not(.configurator-page) .section{padding:56px max(20px,5%)}
 body:not(.configurator-page) .section-top,body:not(.configurator-page) .editorial-intro{display:block}
 body:not(.configurator-page) .section-top>p{max-width:none;margin:20px 0 0}
 .offering-grid,.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .feature-story,.product-editorial,.approach-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .feature-story figure{min-height:0;aspect-ratio:16/10}
 .feature-story figure img{width:100%;height:100%;object-fit:cover}
 .feature-copy{padding:28px}
 .footer-main{gap:28px}
 .configurator-page .workspace{grid-template-columns:minmax(0,1fr);gap:24px}
 .configurator-page main{padding:116px 20px 0}
 .configurator-page .setup,.configurator-page .results{min-width:0}
}
@media(max-width:600px){
 html{scroll-padding-top:104px}
 .header{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));gap:12px}
 .header .brand{width:155px;max-width:calc(100% - 64px)}
 .header .brand img{width:100%;height:80px;object-fit:contain}
 .header nav{padding-left:20px;padding-right:20px;gap:12px}
 .header nav>a,.header .nav-group summary{font-size:16px}
 .header .nav-dropdown a{font-size:14px;padding:12px 8px}
 body:not(.configurator-page){font-size:16px;line-height:1.7}
 body:not(.configurator-page) h1,body:not(.configurator-page) h2,body:not(.configurator-page) h3{overflow-wrap:anywhere}
 body:not(.configurator-page) .m2-hero{height:auto;min-height:100svh;max-height:none;align-items:stretch}
 body:not(.configurator-page) .hero-content{padding:132px 20px 160px;align-self:center}
 body:not(.configurator-page) .m2-hero h1{font-size:clamp(1.7rem,7.4vw,2.75rem);line-height:1.3;margin:24px 0}
 body:not(.configurator-page) .hero-content>p{max-width:100%;font-size:16px;line-height:1.75}
 body:not(.configurator-page) .hero .eyebrow{font-size:12px;line-height:1.7;max-width:100%;letter-spacing:1px}
 .hero-actions{flex-direction:column;align-items:stretch;gap:18px}
 .hero-actions .button{width:100%;min-height:50px;white-space:normal}
 .hero-actions .text-link{align-self:flex-start;min-height:44px;align-items:center}
 .hero-bottom{left:20px;right:20px;bottom:22px;flex-wrap:wrap;gap:10px;font-size:12px;line-height:1.6;letter-spacing:.4px}
 .hero-mark{display:none}
 .hero-motion-toggle{right:20px;bottom:90px;max-width:calc(100% - 40px)}
 .discipline{flex-wrap:wrap;justify-content:center;padding:22px 20px;gap:12px 18px;font-size:12px;letter-spacing:.7px}
 body:not(.configurator-page) .detail-hero{padding-top:128px;padding-bottom:40px}
 .detail-heading h1{font-size:clamp(1.65rem,7.2vw,2.4rem);line-height:1.35}
 .detail-heading>p{font-size:16px;line-height:1.75}
 .breadcrumb{font-size:13px;overflow-wrap:anywhere}
 .service-grid,.offering-grid,.detail-grid,.home-new-services,.process-grid,.steps,.contact-grid,.form-grid,.page-directory,.photo-grid,.photo-grid.two,.footer-main,.secondary-services{grid-template-columns:minmax(0,1fr);gap:20px}
 .service{padding:24px;min-height:390px}
 .detail-card{padding:24px}
 .detail-card>.service-photo{width:calc(100% + 48px);margin:-24px -24px 24px}
 .offering-card{padding:24px}
 .feature-story{margin:36px 0;gap:0}
 .feature-copy{padding:24px}
 .feature-copy h2,.product-copy h2,.editorial-intro h2,.contact h2{font-size:clamp(1.45rem,6.4vw,2rem);line-height:1.4}
 .contact-title{align-items:flex-start;gap:16px;margin:24px 0 32px}
 .round-link{width:48px;height:48px;min-width:48px;font-size:28px}
 .contact-grid a,.footer-workshop a,.footer-bottom a{overflow-wrap:anywhere;min-height:44px;display:inline-flex;align-items:center;max-width:100%}
 .contact-grid .phone,.footer-workshop .footer-phone{font-size:clamp(1.1rem,5.8vw,1.5rem)}
 .tab-links{grid-template-columns:minmax(0,1fr);gap:10px}
 .tab-links a{min-height:56px;padding:12px;gap:12px}
 .tab-title{font-size:14px;overflow-wrap:anywhere}
 .partner-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .service-faq summary,.method summary{min-height:48px;padding:12px 0;line-height:1.6;cursor:pointer}
 .site-footer{padding:36px 20px max(24px,env(safe-area-inset-bottom))}
 .footer-bottom{flex-direction:column;align-items:flex-start;gap:14px}
 .footer-bottom>div,.social-links{display:flex;flex-wrap:wrap;gap:12px}
 .social-link{min-height:44px;align-items:center}
 .footer-nav a{display:flex;align-items:center;min-height:44px;line-height:1.6}
 form input,form select,form textarea{font-size:16px;min-height:48px;max-width:100%}
 form button,.button{min-height:48px;line-height:1.6;white-space:normal}
 .configurator-page{font-size:16px}
 .configurator-page main{padding:112px 16px 0}
 .configurator-page .intro{margin-bottom:24px}
 .configurator-page .intro h1{font-size:clamp(2rem,10vw,2.75rem);line-height:1.1}
 .configurator-page .eyebrow{font-size:12px;letter-spacing:1px;line-height:1.6}
 .configurator-page .categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 .configurator-page .categories button{min-height:60px;flex-direction:row;justify-content:flex-start;padding:12px;gap:12px;font-size:12px}
 .configurator-page .categories button span{font-size:14px;line-height:1.5}
 .configurator-page .setup,.configurator-page .results{padding:20px 16px}
 .configurator-page .setup label{font-size:14px;line-height:1.6;margin-bottom:18px}
 .configurator-page input,.configurator-page select{font-size:16px;min-height:50px;padding:12px;max-width:100%}
 .configurator-page .field-note,.configurator-page .notice,.configurator-page .context p,.configurator-page #sources,.configurator-page .method{font-size:14px;line-height:1.75}
 .configurator-page .contact{font-size:14px;line-height:1.6;min-height:48px;padding:14px 10px}
 .configurator-page .section-heading{gap:10px;flex-wrap:wrap}
 .configurator-page .section-heading span{font-size:12px;letter-spacing:.5px}
 .configurator-page .result-top h2{font-size:30px;line-height:1.2}
 .configurator-page .result-top p:not(.eyebrow){font-size:14px;line-height:1.6}
 .configurator-page .badge{font-size:12px;letter-spacing:.4px;padding:8px 12px;white-space:normal}
 .configurator-page .stage-switch{width:100%;display:grid;grid-template-columns:1fr 1fr}
 .configurator-page .stage-switch button{font-size:16px;min-height:48px;padding:10px}
 .configurator-page .metrics{grid-template-columns:minmax(0,1fr);gap:16px}
 .configurator-page .metric{padding:20px}
 .configurator-page .metric-label{font-size:13px;letter-spacing:1px}
 .configurator-page .big>span{font-size:clamp(3.75rem,20vw,5.5rem)}
 .configurator-page .gain{font-size:22px;line-height:1.5}
 .configurator-page .gain span{font-size:13px;padding:4px 8px}
 .configurator-page .bar-row{grid-template-columns:56px minmax(0,1fr) 48px;gap:8px;font-size:13px}
 .configurator-page .bar-row b{font-size:13px}
 .configurator-page .table-wrap{overflow-x:auto;max-width:100%;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
 .configurator-page table{min-width:460px;font-size:14px}
 .configurator-page th{font-size:12px}
 .configurator-page .comparison h3,.configurator-page .source-section h3,.configurator-page .context h3{font-size:16px}
 .configurator-page .result-bottom{flex-direction:column;align-items:stretch;gap:12px}
 .configurator-page .result-bottom span{max-width:none;font-size:13px;line-height:1.7}
 .configurator-page .result-bottom button{font-size:14px;min-height:48px;align-self:flex-start;padding:12px 0}
 .configurator-page footer{display:flex;flex-wrap:wrap;padding:24px 0;gap:12px;font-size:12px}
 .configurator-page footer p{font-size:13px}
}

/* Keep all five fleet vehicles visible on mobile. */
@media(max-width:650px){body:not(.configurator-page) .m2-hero .hero-image{width:120%;max-width:none;left:-20%;right:0;object-fit:contain;object-position:center;transform-origin:75% 55%}}
