/* Responsive and touch enhancements. Desktop content and routes are unchanged. */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:110px}
body{min-width:0}
img,video,iframe{max-width:100%}
button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(5,99,246,.14)}
a,button{touch-action:manipulation}
button,input,select,textarea{font-family:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #75adff;outline-offset:4px}
.service-card .text-link{pointer-events:none}
.service-card:focus-within{outline:3px solid var(--blue);outline-offset:3px}
.nav-item.open .dropdown{opacity:1;visibility:visible;transform:none}
.keyboard-open .sticky-actions,.menu-open .sticky-actions{visibility:hidden;pointer-events:none}
.review-pause{min-height:44px;padding:10px 4px}
.field,.quote-card,.quote-intro,.quote-wrap>*,.detail-grid>*,.how-grid>*,.work-wrap>*,.brand-story>*,.brand-intro-split>*,.area-content>*,.service-area-hero>*,.page-hero-wrap>*{min-width:0}
.field input,.field select,.field textarea{max-width:100%;min-width:0}
.site-header{-webkit-backdrop-filter:blur(18px)}

/* Landscape iPads need tap navigation too; do not wait for phone widths. */
@media(max-width:1366px){
 :root{--nav-h:82px}
 .site-header{height:calc(var(--nav-h) + env(safe-area-inset-top,0px));padding-top:env(safe-area-inset-top,0px)}
 .site-header.is-scrolled{height:calc(var(--nav-h) + env(safe-area-inset-top,0px))}
 .nav{gap:16px;padding-left:max(var(--pad),env(safe-area-inset-left,0px));padding-right:max(var(--pad),env(safe-area-inset-right,0px))}
 .brand{min-width:0;margin-right:auto}
 .mobile-toggle{display:flex;flex:none}
 .nav-actions{display:none}
 .nav-menu{position:fixed;inset:var(--header-bottom,82px) 0 auto 0;height:auto;max-height:calc(100vh - var(--header-bottom,82px));max-height:calc(100dvh - var(--header-bottom,82px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;margin:0;display:none;background:#fff;border-top:1px solid var(--line);padding:12px max(var(--pad),env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(var(--pad),env(safe-area-inset-left,0px));box-shadow:0 24px 50px rgba(9,12,24,.14)}
 body.menu-open .nav-menu{display:block}
 body.menu-open{overflow:hidden}
 .nav-item{height:auto;display:block;border-bottom:1px solid var(--line);padding:4px 0}
 .nav-link{width:100%;min-height:48px;height:auto;padding-block:12px;justify-content:space-between;font-size:17px}
 .dropdown{position:static;width:100%;min-width:0;box-shadow:none;border:0;border-radius:16px;background:#f7f9ff;padding:6px 0;margin:4px 0 12px;display:none;opacity:1;visibility:visible;transform:none}
 .nav-item:hover .dropdown,.nav-item:focus-within .dropdown{display:none}
 .nav-item.open .dropdown,.nav-item.open:hover .dropdown{display:block}
 .dropdown a{display:flex;align-items:center;min-height:46px;padding:12px 18px;white-space:normal}
 .nav-item.open .nav-link svg{transform:rotate(180deg)}
 .home-page .how .section-title,.home-page #serviceomraade .section-title,.home-page .brand-home .section-title{width:auto;max-width:100%;white-space:normal;text-wrap:balance}
 .home-page .brand-home .section-head>div{min-width:0;flex:1 1 100%}
 .home-page .brand-home .section-head{gap:24px}
 .site-footer{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))}
 .sticky-actions{bottom:max(14px,env(safe-area-inset-bottom,0px));right:max(18px,env(safe-area-inset-right,0px))}
}

/* Keep medium tablet columns readable instead of squeezing desktop panels. */
@media(min-width:681px) and (max-width:1100px){
 .services-grid,.services-page .services-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .brand-intro-split,.brand-story,.brand-story.reverse{grid-template-columns:1fr;gap:32px}
 .home-page .faq-grid{grid-template-columns:minmax(0,.65fr) minmax(0,1fr);gap:28px}
 .home-faq-columns{grid-template-columns:1fr;gap:0}
 .home-page .home-faq-columns .faq-list+.faq-list{margin-top:0;border-top:0}
 .home-page .faq .section-title{font-size:clamp(32px,4vw,44px);max-width:100%;width:auto;white-space:normal}
 .review-panel{padding:36px}
 .area-panel{padding:28px}
 .home-page #serviceomraade .area-grid{grid-template-columns:1fr}
 .quote-form{grid-template-columns:repeat(2,minmax(0,1fr))}
 .quote-trust{grid-template-columns:repeat(3,minmax(0,1fr))}
 .brand-search{max-width:100%}
 .brand-search input{min-width:0;width:100%}
}
@media(max-width:1100px){
 .home-page .home-hero-split{grid-template-columns:1fr;padding-top:36px;gap:32px}
 .home-page .home-hero-split .hero-content{max-width:800px}
 .home-hero-media{min-height:0;height:clamp(300px,52vw,500px)}
 .home-page .home-hero-split .plate-form{flex-wrap:wrap}
 .home-page .home-hero-split .plate-form button{width:100%;margin:8px 0 0}
 .detail-grid,.page-hero-wrap{grid-template-columns:1fr;gap:32px}
 .skrot-hero .page-hero-wrap>div:first-child{margin-left:0}
 .detail-image,.hero-image,.how-image,.faq-image,.page-hero-media{position:relative;min-height:0;height:clamp(300px,48vw,480px)}
 .detail-image img,.hero-image img,.how-image img,.faq-image img,.page-hero-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
 .service-area-map{min-height:340px;height:380px}
 .service-area-map iframe{min-height:0;height:100%}
 .section-head{flex-wrap:wrap}
 .section-head>.btn{margin-top:20px}
 .field input,.field select,.field textarea,.plate-form input,.brand-search input{font-size:16px!important;scroll-margin-top:110px;scroll-margin-bottom:120px}
 .field input,.field select{min-height:50px}
 .field textarea{min-height:140px}
 .faq-question{min-height:52px;line-height:1.45}
 .faq-answer{padding-right:16px}
 .btn{min-height:48px;height:auto;padding-top:12px;padding-bottom:12px;white-space:normal;text-align:center;justify-content:center;line-height:1.35}
 .btn svg{flex:none}
 .footer-column li a{display:inline-flex;align-items:center;min-height:44px;padding-block:8px}
 .footer-column ul{gap:2px}
 .footer-email{min-height:44px;padding-block:10px}
}
@media(max-width:680px){
 :root{--pad:18px}
 .section,.work,.faq,.included,.related-services,.page-panel-section{padding:64px 18px}
 .how{padding:48px 18px 64px}
 .soft,.included{margin-inline:12px;padding-inline:18px}
 .hero-wrap,.service-hero-wrap{padding-inline:12px}
 .home-page .home-hero-split{padding:28px 6px 48px}
 .home-page .home-hero-split h1{font-size:clamp(40px,11vw,60px);line-height:1.02}
 .home-page .home-hero-split .rating{font-size:13px;gap:8px}
 .home-page .home-hero-split .hero-sub{font-size:17px;line-height:1.55}
 .home-page .home-hero-split .trust-line{font-size:12px;gap:8px}
 .home-page .home-hero-split .trust-line span{padding:8px 10px}
 .home-hero-media{height:clamp(270px,85vw,420px)}
 .section-title{font-size:clamp(34px,9vw,48px);line-height:1.05}
 .home-page .faq-grid,.home-faq-columns{grid-template-columns:1fr;gap:28px}
 .home-faq-columns{gap:0}
 .home-page .faq .section-title{font-size:clamp(27px,7.7vw,46px);white-space:nowrap;width:auto;max-width:100%}
 .section-copy{font-size:16px;line-height:1.65}
 .section-head{margin-bottom:32px}
 .services-grid,.services-page .services-grid{grid-template-columns:minmax(0,1fr);gap:18px}
 .service-card{padding:26px;min-height:0}
 .service-card h3{line-height:1.2;overflow-wrap:anywhere}
 .service-icon{margin-bottom:22px}
 .area-panel,.review-panel,.quote-card{padding:24px 20px}
 .area-list{grid-template-columns:minmax(0,1fr)}
 .area-list span{padding:14px;font-size:15px}
 .brand-strip{margin-top:36px;padding:18px;gap:10px}
 .brand-pill{font-size:14px;min-height:44px;display:inline-flex;align-items:center;padding:10px 14px}
 .steps{margin-top:32px}
 .step,.step.active{grid-template-columns:32px minmax(0,1fr);gap:12px;padding:16px 10px}
 .step h3{font-size:18px}
 .step p{font-size:15px;line-height:1.6}
 .video-card{min-height:0;height:clamp(280px,85vw,420px)}
 .detail-image,.hero-image,.how-image,.faq-image,.page-hero-media{height:clamp(280px,85vw,420px)}
 .home-page .faq-image{border-radius:28px}
 .page-hero{padding:40px 18px}
 .page-hero h1,.detail-copy h1,.quote-intro h1{font-size:clamp(40px,11vw,58px);line-height:1.04;overflow-wrap:anywhere}
 .services-page .service-hero-grid{padding:42px 20px;gap:30px}
 .services-page .service-hero h1{font-size:clamp(34px,8.8vw,48px);line-height:1.06}
 .hero-actions{gap:12px}
 .hero-actions .btn{flex:1 1 100%;max-width:100%}
 .quote-form,.quote-trust{grid-template-columns:minmax(0,1fr)}
 .quote-wrap{gap:24px}
 .quote-intro{padding:28px 22px}
 .quote-submit{min-height:56px;width:100%}
 .field.full{grid-column:1/-1}
 .brand-list-hero,.brand-hero{padding:40px 20px;gap:28px;margin-bottom:56px;min-height:0}
 .brand-list-copy h1,.brand-hero h1{font-size:clamp(40px,11vw,58px);line-height:1.03}
 .brand-hero-media,.brand-list-photo{height:300px}
 .brands-directory,.soft-panel,.brand-faq-wrap{padding:40px 20px}
 .brand-search{width:100%;min-width:0}
 .brand-search input{width:100%;min-width:0}
 .brand-story,.brand-intro-split{gap:28px;margin-bottom:56px}
 .brand-story h2,.brand-intro-split h2,.brand-process h2{font-size:clamp(34px,9vw,46px);line-height:1.08}
 .service-area-hero{padding:40px 20px;margin-bottom:48px;gap:30px}
 .service-area-hero h1{font-size:clamp(40px,11vw,58px);line-height:1.03}
 .service-area-hero p{font-size:17px;line-height:1.6}
 .area-content,.area-route{gap:28px;margin-bottom:56px}
 .area-route{padding:28px 20px}
 .area-route li{border-radius:18px;overflow-wrap:anywhere}
 .cta-banner{padding:48px 20px;margin:48px 12px 56px}
 .cta-banner h2,.big-cta h2{font-size:clamp(36px,10vw,50px);line-height:1.05}
 .big-cta{margin:0 12px 56px;padding:42px 20px;min-height:0}
 .big-cta p{font-size:17px}
 .big-cta-actions .btn{flex:1 1 100%}
 .review-marquee{--review-width:min(82vw,340px)}
 .review-marquee .mini-review{padding:24px;min-height:260px}
 .mini-review p{line-height:1.6}
 .sticky-actions{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px))}
 .sticky-actions a{min-width:0;height:54px;font-size:14px;white-space:nowrap;padding-inline:12px}
 .sticky-actions a:first-child{flex:1.4}
 .sticky-actions a:last-child{flex:1}
 .footer-columns{gap:28px 18px}
 .footer-column li,.footer-column>a{font-size:13px}
 .footer-contact .footer-phone{font-size:26px}
 .footer-intro>.btn{width:100%}
}
@media(max-width:359px){
 .footer-columns{grid-template-columns:1fr}
 .footer-contact{grid-column:auto}
 .home-page .home-hero-split .trust-line{gap:6px}
 .rating-stars i{width:24px;height:24px;font-size:18px}
}
@media(hover:none),(pointer:coarse){
 .magnetic,.tilt,.service-card:hover{transform:none!important}
 .service-card:hover{box-shadow:0 16px 48px rgba(8,17,38,.05)}
 .brand-hero-media img{transform:none!important}
 .step{transition:background-color .2s}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .js-enabled [data-reveal]{opacity:1!important;transform:none!important}
 .hero-glow,.service-blob{animation:none}
}
@media(max-height:500px) and (orientation:landscape){
 .home-hero-media{height:320px}
 .sticky-actions a{height:46px}
}

.review-marquee[data-offscreen="true"] .review-marquee-track,.review-marquee[data-background="true"] .review-marquee-track{animation-play-state:paused}
@media(max-width:1366px){.field-focused .sticky-actions{visibility:hidden;pointer-events:none}}
@media(max-width:1366px) and (orientation:landscape){body{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}}
