@media(max-width:1180px){
  :root{--section:100px}.container{width:min(var(--container),calc(100% - 40px))}.desktop-nav{gap:0}.nav-link{padding-left:8px;padding-right:8px;font-size:.78rem}.header-cta{display:none}.home-hero-content{grid-template-columns:1.3fr .7fr;gap:38px}.industry-cards{grid-template-columns:1fr 1fr}.footer-main{grid-template-columns:1.4fr 1fr 1fr}.footer-brand{grid-row:span 2}.machine-premium-grid{grid-template-columns:1fr 1fr}.process-intro h2{font-size:3.7rem}.page-hero-content{margin-left:20px}
}
@media(max-width:980px){
  .topbar-inner>div{display:none}.desktop-nav{display:none}.menu-toggle{display:grid;margin-left:auto}.site-header{background:#0d0d0f}.mobile-menu{display:block}.header-inner{height:72px}.brand{width:190px}.brand img{height:55px}.home-hero,.home-hero-content{min-height:auto}.home-hero-content{grid-template-columns:1fr;padding:100px 0 170px}.hero-copy h1{font-size:clamp(3.2rem,8.2vw,5.7rem)}.hero-side{display:none}.hero-bottom-inner{grid-template-columns:1fr 1fr}.hero-bottom p:nth-child(3){display:none}.intro-grid,.split-editorial,.contact-premium,.contact-page-grid,.about-commitment,.service-detail-intro,.project-detail-meta,.faq-layout,.workshop-grid{grid-template-columns:1fr;gap:46px}.intro-copy{padding-top:0}.stat-band{grid-template-columns:1fr 1fr}.visual-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:260px 220px 220px}.mosaic-a{grid-row:1/3}.mosaic-b{grid-column:2;grid-row:1}.mosaic-c{grid-column:2;grid-row:2}.mosaic-d{grid-column:1;grid-row:3}.mosaic-e{grid-column:2;grid-row:3}.service-visual-card{grid-template-columns:1fr}.svc-img{height:260px}.process-layout{grid-template-columns:1fr}.process-intro{padding:80px 0}.process-steps{border-left:0;border-top:1px solid rgba(255,255,255,.12)}.project-story{grid-template-columns:1fr}.project-media{min-height:380px}.project-story-copy{padding:38px}.workshop-collage{order:-1}.service-detail-grid,.industry-feature-grid{grid-template-columns:1fr}.industry-feature-card{min-height:320px}.quality-grid{grid-template-columns:1fr}.process-deep article{grid-template-columns:70px 120px 1fr}.process-deep p{grid-column:3}.portfolio-card{grid-template-columns:1fr}.portfolio-card>a{min-height:380px}.portfolio-card>div{padding:38px}.faq-intro,.contact-premium-copy{position:static}.prefooter-grid{grid-template-columns:1fr;gap:28px}.footer-main{grid-template-columns:1.3fr 1fr 1fr}.team-work-card img{height:320px}.machine-feature img{height:320px}
}
@media(max-width:760px){
  :root{--section:76px;--header-h:68px}.container{width:calc(100% - 28px)}.topbar-inner{min-height:34px}.topbar p{font-size:.62rem}.header-inner{height:68px}.brand{width:164px}.brand img{height:50px}.menu-toggle{width:42px;height:42px}.home-hero-content{padding:76px 0 210px}.hero-copy h1{font-size:clamp(2.7rem,12.8vw,4.4rem);line-height:1.02}.hero-copy p{font-size:.96rem}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}.hero-bottom-inner{grid-template-columns:1fr}.hero-bottom p{padding:14px 0!important;border-right:0;border-bottom:1px solid rgba(255,255,255,.1)}.hero-bottom p:nth-child(2){border-bottom:0}.page-hero{min-height:560px}.page-hero-content{padding:86px 14px 80px;margin-left:0}.page-hero-content h1{font-size:clamp(2.8rem,13vw,4.4rem)}.page-hero-content .hero-actions{max-width:340px}.hero-index{display:none}.section-head{grid-template-columns:1fr;gap:15px;margin-bottom:36px}.section-head p{justify-self:start}.intro-grid{gap:28px}.vertical-rule{height:40px}.lead{font-size:1.05rem!important}.stat-band{margin-top:48px}.stat-band strong{font-size:2.5rem}.stat-band>div{padding:20px 16px}.visual-mosaic{display:grid;grid-template-columns:1fr;grid-template-rows:auto}.visual-mosaic figure{grid-column:auto!important;grid-row:auto!important;min-height:260px}.service-visual-grid{grid-template-columns:1fr}.process-intro{padding:64px 0}.process-intro h2{font-size:3rem}.process-steps{grid-template-columns:1fr}.process-steps article,.process-steps article:last-child{grid-column:1;min-height:190px;padding:30px}.project-media{min-height:280px}.project-story-copy{padding:28px}.project-story-copy h3{font-size:2.5rem}.project-tag{flex-direction:column;gap:3px}.project-facts{flex-direction:column;gap:8px}.workshop-collage{grid-template-columns:1fr 1fr;grid-template-rows:170px 170px}.workshop-links{grid-template-columns:1fr}.industry-cards,.client-grid{grid-template-columns:1fr 1fr}.industry-cards a{min-height:310px}.contact-mini b{font-size:.78rem}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:1}.enquiry-form{padding:24px}.form-head h3{font-size:2rem}.value-grid{grid-template-columns:1fr 1fr}.value-grid article{min-height:220px;padding:24px}.about-commitment blockquote{font-size:1.5rem}.image-rail{grid-auto-columns:82vw;padding-left:14px;padding-right:14px}.rail-card{min-height:290px}.rail-card img{height:250px}.service-detail-tile{grid-template-columns:1fr}.service-detail-tile img{height:230px}.flow-line{display:grid;grid-template-columns:1fr}.flow-line i{height:20px;width:1px;margin-left:30px}.service-detail-intro h2{font-size:2.2rem}.two-col-cta{grid-template-columns:1fr;gap:28px}.two-col-cta>div:last-child{justify-content:flex-start}.process-deep article{grid-template-columns:54px 1fr;gap:12px;padding:28px 0}.process-deep span{grid-column:2}.process-deep h2,.process-deep p{grid-column:1/-1}.process-deep h2{font-size:1.9rem}.machine-premium-grid{grid-template-columns:1fr}.team-work-grid,.machine-feature-grid{grid-template-columns:1fr}.team-work-card img{height:300px}.machine-feature img{height:280px}.portfolio-card>a{min-height:290px}.portfolio-card>div{padding:28px}.portfolio-card h2{font-size:2.7rem}.project-fact-grid{grid-template-columns:1fr}.project-gallery-premium{columns:1}.industry-feature-card{grid-template-columns:1fr}.industry-feature-img{height:260px}.text-panorama span{font-size:1.75rem}.faq-question{grid-template-columns:42px 1fr 20px}.faq-answer p{padding-left:54px}.contact-meta-card{grid-template-columns:100px 1fr}.card-showcase{grid-template-columns:1fr}.prefooter h2{font-size:2.7rem}.footer-main{grid-template-columns:1fr 1fr;gap:28px}.footer-brand{grid-column:1/-1;grid-row:auto}.footer-contact{grid-column:1/-1}.footer-bottom{flex-direction:column}.float-action{right:14px}.float-whatsapp{bottom:82px}.float-call{bottom:20px}.back-to-top{left:14px;bottom:20px}.lightbox{padding:18px}
}
@media(max-width:480px){
  .container{width:calc(100% - 22px)}.topbar p{letter-spacing:.02em}.brand{width:150px}.home-hero-content{padding-top:62px}.hero-copy h1{font-size:2.85rem}.hero-copy p{font-size:.9rem}.hero-bottom p{padding:12px 0!important}.stat-band{grid-template-columns:1fr 1fr}.stat-band>div{padding:16px 10px}.stat-band strong{font-size:2.15rem}.stat-band span{font-size:.68rem}.service-visual-card{min-height:auto}.svc-copy{padding:24px}.svc-copy h3{font-size:1.7rem}.industry-cards,.client-grid,.value-grid{grid-template-columns:1fr}.industry-cards a{min-height:300px}.workshop-collage{grid-template-columns:1fr;grid-template-rows:210px 210px 210px 210px}.workshop-collage .w1{grid-row:auto}.page-hero-content h1{font-size:2.8rem}.page-hero-content{padding-left:11px;padding-right:11px}.footer-main{grid-template-columns:1fr}.footer-contact{grid-column:auto}.form-actions .btn{width:100%}.contact-mini a{align-items:flex-start}.contact-meta-card{grid-template-columns:1fr}.contact-meta-card span{margin-top:8px}.machine-premium>div{height:190px}
}

/* V3 strict mobile containment and touch-safe floating controls */
@media(max-width:980px){
  html,body{max-width:100%;overflow-x:hidden}
  @supports(overflow:clip){html,body{overflow-x:clip}}
  .mobile-menu{inset:0;width:100%;max-width:100vw}
  .mobile-panel{width:min(430px,100vw);max-width:100vw}
  .page-hero-content{width:auto;max-width:calc(100% - 28px);margin-inline:14px;padding-left:0;padding-right:0}
  .hero-copy,.hero-copy h1,.hero-copy p,.section-head>*,.project-story-copy,.svc-copy,.contact-premium-copy,.enquiry-form{max-width:100%}
  .float-tip{display:none!important}
}
@media(max-width:760px){
  .container{max-width:calc(100% - 28px)}
  .page-hero-content{max-width:calc(100% - 28px);margin-inline:14px;padding-left:0;padding-right:0}
  .float-action{width:50px;height:50px;right:max(12px,env(safe-area-inset-right));max-width:50px}
  .float-action svg{width:23px;height:23px}
  .float-ripple{inset:-3px;animation-duration:2.6s}
  .float-whatsapp{bottom:calc(82px + env(safe-area-inset-bottom))}
  .float-call{bottom:calc(20px + env(safe-area-inset-bottom))}
  .back-to-top{left:max(12px,env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom))}
  .contact-mini a,.footer-contact a{max-width:100%;overflow:hidden}
  .contact-mini b,.footer-contact span{font-size:.78rem}
  .flow-line span{white-space:normal}
  .text-panorama span{max-width:100%;overflow-wrap:anywhere}
  .legal-hero h1{font-size:clamp(2.7rem,13vw,4.1rem)}
  .legal-hero{padding:82px 0}
}
@media(max-width:480px){
  .container{width:calc(100% - 22px);max-width:calc(100% - 22px)}
  .page-hero-content{max-width:calc(100% - 22px);margin-inline:11px}
  .float-action{width:48px;height:48px;max-width:48px;right:max(10px,env(safe-area-inset-right))}
  .float-action svg{width:22px;height:22px}
  .float-ripple{inset:-2px}
  .float-whatsapp{bottom:calc(76px + env(safe-area-inset-bottom))}
  .float-call{bottom:calc(18px + env(safe-area-inset-bottom))}
  .back-to-top{left:max(10px,env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom))}
  .mobile-head{padding-inline:12px}.mobile-head img{width:155px;max-width:calc(100% - 60px)}
  .mobile-nav,.mobile-section,.mobile-contact{padding-left:14px;padding-right:14px}
  .hero-copy h1,.page-hero-content h1{overflow-wrap:normal;word-break:normal;hyphens:auto}
}
@media(hover:none),(pointer:coarse){
  .float-tip{display:none!important}
  .float-action:hover{transform:none}
  .float-ripple{opacity:.62}
}

/* V4 — mobile navigation layering / viewport fix */
@media(max-width:980px){
  /* Keep the sticky header above page visuals, but put the menu overlay above everything. */
  .site-header{z-index:4000!important;isolation:isolate}
  .mobile-menu{
    position:fixed!important;
    inset:0!important;
    width:100vw!important;
    height:100dvh!important;
    max-width:none!important;
    z-index:99999!important;
    background:rgba(4,4,5,.88)!important;
    -webkit-backdrop-filter:blur(8px);
    backdrop-filter:blur(8px);
    overflow:hidden!important;
    overscroll-behavior:contain;
    transform:none!important;
  }
  .mobile-menu.open{display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  .mobile-panel{
    position:absolute!important;
    top:0!important;
    right:0!important;
    bottom:0!important;
    left:auto!important;
    width:min(430px,100vw)!important;
    max-width:100vw!important;
    height:100dvh!important;
    min-height:100dvh!important;
    background:#0d0d0f!important;
    box-shadow:-28px 0 70px rgba(0,0,0,.48);
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-y:contain;
    z-index:100000!important;
  }
  .mobile-head{
    z-index:5!important;
    background:#0d0d0f!important;
    padding-top:calc(14px + env(safe-area-inset-top));
  }
  .menu-close{display:grid;place-items:center;flex:0 0 auto;line-height:1;cursor:pointer}
  .mobile-nav-link,.mobile-section>a,.mobile-contact>a{position:relative;z-index:1}
  .mobile-nav-link{min-height:54px;font-size:.96rem}
  .mobile-section>a{min-height:40px;display:flex;align-items:center}
  .mobile-contact{padding-bottom:calc(28px + env(safe-area-inset-bottom))}
  html.menu-open,body.menu-open{overflow:hidden!important;overscroll-behavior:none}
}
@media(max-width:760px){
  .mobile-menu{background:#0d0d0f!important;-webkit-backdrop-filter:none;backdrop-filter:none}
  .mobile-panel{
    left:0!important;
    width:100vw!important;
    max-width:100vw!important;
    box-shadow:none!important;
  }
  .mobile-head{min-height:76px;padding-left:14px;padding-right:14px}
  .mobile-head img{width:164px!important;height:52px!important;object-fit:contain}
  .menu-close{width:44px;height:44px;background:#19191c;border-color:rgba(255,255,255,.18)}
  .mobile-nav{padding-top:10px}
  .mobile-nav-link{padding:0 4px}
}
