
/* HUCO V91 FINAL RESPONSIVE LAYER */
*{box-sizing:border-box}
img,video,svg{max-width:100%;height:auto}
html,body{max-width:100%;overflow-x:hidden}
@media(max-width:980px){
  body{min-width:0!important}
  .shell{width:100%!important;max-width:100%!important;padding-left:20px!important;padding-right:20px!important}
  section{max-width:100vw!important}
  h1,h2,h3,p{overflow-wrap:break-word}

  /* HEADER */
  .site-header{height:68px!important}
  .header-shell{height:68px!important;padding:0 16px!important}
  .brand img{width:136px!important;max-height:42px!important;object-fit:contain}
  .desktop-nav,.services-mega-v35{display:none!important}
  .header-actions>*:not(.menu-toggle){display:none!important}
  .menu-toggle{display:flex!important;width:42px!important;height:42px!important;border-radius:12px!important;background:#fff!important;border:1px solid #e4e4e1!important;color:#111!important}

  /* MOBILE MENU, compact premium drawer */
  .mobile-menu{
    position:fixed!important;inset:0 0 0 auto!important;
    width:min(92vw,390px)!important;height:100dvh!important;
    padding:0 20px 24px!important;background:#0a0a0a!important;color:#fff!important;
    z-index:10000!important;overflow-y:auto!important;overflow-x:hidden!important;
    display:flex!important;flex-direction:column!important;
    transform:translateX(105%)!important;opacity:0!important;visibility:hidden!important;
    transition:transform .3s ease,opacity .25s ease,visibility .25s!important;
    box-shadow:-24px 0 70px rgba(0,0,0,.3)!important
  }
  .mobile-menu.open{transform:none!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .mobile-menu-head{position:sticky!important;top:0!important;z-index:2!important;background:#0a0a0a!important;min-height:72px!important;border-bottom:1px solid #242424!important}
  .mobile-menu-close{width:40px!important;height:40px!important;background:#151515!important;border:1px solid #303030!important;color:#fff!important}
  .mobile-main-nav{display:block!important;padding:12px 0 6px!important}
  .mobile-main-nav a{display:flex!important;min-height:48px!important;padding:12px 0!important;border-bottom:1px solid #202020!important;color:#fff!important;font:600 22px/1.05 Manrope,sans-serif!important;letter-spacing:-.035em!important}
  .mobile-service-head{margin:22px 0 8px!important;padding:0!important}
  .mobile-service-grid{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 14px!important}
  .mobile-service-grid a{min-height:42px!important;padding:9px 0!important;border-bottom:1px solid #202020!important;color:#aaa!important;font-size:11px!important;line-height:1.25!important}
  .mobile-menu-cta{margin-top:20px!important;min-height:52px!important;background:#d5222a!important}

  /* HOME ABOUT BENTO */
  .about-bento{padding:62px 0!important}
  .about-bento-head{display:block!important;margin-bottom:28px!important}
  .about-bento-head h2{font-size:clamp(36px,10vw,52px)!important;line-height:.98!important;margin-top:18px!important}
  .about-bento-grid{display:flex!important;flex-direction:column!important;gap:12px!important}
  .about-bento-grid>*{width:100%!important;min-width:0!important}
  .about-bento-center{display:flex!important;flex-direction:column!important;gap:12px!important}
  .about-skill-row{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
  .about-exp-card,.about-rating-card,.about-collab-card{min-height:300px!important}
  .about-collab-card{min-height:380px!important}

  /* HOME SERVICES */
  .services-v9{padding:70px 0!important}
  .services-v9-head{display:block!important;margin-bottom:28px!important}
  .services-v9-title-wrap h2{font-size:clamp(42px,11vw,58px)!important;line-height:.96!important}
  .services-v9-intro{margin-top:18px!important;max-width:none!important}
  .services-v9-stage{display:block!important}
  .services-v9-rail{display:none!important}
  .services-v9-list{width:100%!important}
  .services-v9-row{min-height:112px!important;padding:20px 16px!important}
  .services-v9-row-copy h3{font-size:clamp(27px,7vw,36px)!important}
  .services-v9-detail{width:100%!important;margin-top:12px!important}
  .services-v9-visual-frame{height:auto!important;aspect-ratio:4/3!important}
  .services-v9-subpanel{padding:20px 16px!important}
  .services-v9-subs{grid-template-columns:1fr!important}

  /* PORTFOLIO */
  .portfolio-scroll{padding:70px 0!important}
  .portfolio-scroll-head{display:block!important}
  .portfolio-scroll-head h2{font-size:clamp(38px,10vw,54px)!important;line-height:1!important}
  .portfolio-scroll-story,.portfolio-scroll-frame{height:auto!important;min-height:0!important}
  .portfolio-scroll-frame{display:block!important}
  .portfolio-scroll-brand,.portfolio-vertical-label{display:none!important}
  .portfolio-scroll-info{position:relative!important;width:100%!important;padding:24px 20px!important}
  .portfolio-scroll-visuals{position:relative!important;width:100%!important;height:auto!important}
  .portfolio-scroll-track{position:relative!important;width:100%!important;height:auto!important;transform:none!important}
  .portfolio-scroll-slide{position:relative!important;display:none!important;width:100%!important;height:auto!important;grid-template-columns:1fr!important;gap:10px!important;padding:12px!important}
  .portfolio-scroll-slide.is-active{display:grid!important}
  .portfolio-shot{min-height:0!important;aspect-ratio:16/10!important}
  .portfolio-shot img{width:100%!important;height:100%!important;object-fit:cover!important}

  /* CLIENTS, INDUSTRIES, PROCESS, RESULTS */
  .clients-v48,.industries-v14,.process-v30,.testimonial-v32,.results-v32,.insights-v32{padding-left:0!important;padding-right:0!important}
  .clients-v48 .clients-showcase-head{display:block!important}
  .clients-v48 .clients-logo-stage{grid-template-columns:1fr 1fr!important}
  .industries-v14 .industries-grid{grid-template-columns:1fr!important}
  .process-v30{padding:72px 0!important}
  .process-v30-stage{position:relative!important;top:auto!important}
  .process-v30 .process-screen{min-height:0!important;height:auto!important;padding:26px 20px!important;display:block!important}
  .process-v30 .process-nav,.process-v30 .process-orbit{margin-bottom:26px!important}
  .results-v32{padding:72px 20px!important}
  .results-v32-wrap,.results-v32-metrics{grid-template-columns:1fr!important}
  .results-v32-signal{display:none!important}

  /* INSIGHTS */
  .insights-v32{padding:72px 0!important}
  .insights-v32-head{display:block!important;margin-bottom:30px!important}
  .insights-v32-head h2{font-size:clamp(42px,11vw,56px)!important;line-height:.94!important;margin-bottom:22px!important}
  .insights-v32-grid{display:grid!important;grid-template-columns:1fr!important;grid-template-rows:auto!important;gap:14px!important}
  .insights-v32-grid article{width:100%!important;min-width:0!important}
  .insight-v32-feature{grid-row:auto!important;min-height:440px!important}
  .insight-v32-small,.insight-v32-red{display:grid!important;grid-template-columns:1fr!important;min-height:0!important}
  .insight-v32-small figure,.insight-v32-orbit{height:210px!important}
  .insight-v32-small>div:last-child{padding:24px!important}
  .insight-v32-small h3{font-size:25px!important;margin:14px 0 24px!important}

  /* TESTIMONIALS */
  .testimonial-v32{height:auto!important}
  .testimonial-v32-sticky{position:relative!important;height:auto!important;min-height:0!important;padding:72px 0!important}
  .testimonial-v32-head{grid-template-columns:1fr!important}
  .testimonial-v32-stage{position:relative!important;left:auto!important;bottom:auto!important;transform:none!important;width:100%!important;margin-top:30px!important;overflow-x:auto!important}
  .t32-card{flex:0 0 min(84vw,360px)!important}

  /* TEAM */
  .team-v75-section .shell{width:100%!important;padding-left:20px!important;padding-right:20px!important}
  .team-v75-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .team-v75-intro{grid-template-columns:1fr!important;gap:20px!important}
  .v75-hero-grid{grid-template-columns:1fr!important;gap:30px!important}

  /* FAQ */
  .faq-v75-top{grid-template-columns:1fr!important;gap:34px!important}
  .faq-v75-aside{position:static!important}
  .faq-v75-q{grid-template-columns:36px 1fr 36px!important;padding:20px 16px!important}
  .faq-v75-a p{padding:0 52px 22px 64px!important}

  /* SERVICE PAGES */
  .pm36-hero-grid,.pm49-hero-grid,.service-hero-grid{grid-template-columns:1fr!important}
  .pm36-tools,.pm36-marquee{max-width:100vw!important;overflow:hidden!important}
  .pm36-marquee-track{width:max-content!important}
  .pm36-marquee-track span{min-width:170px!important}
  .pm36-work-grid,.pm36-case-grid{grid-template-columns:1fr!important}

  /* CONTACT */
  .contact-v21-head,.contact-v21-stage{grid-template-columns:1fr!important}
  .contact-v21-form,.contact-v21-grid{grid-template-columns:1fr!important}
  .contact-v21-grid .wide{grid-column:auto!important}

  /* FOOTER */
  .footer-v21 .shell{width:100%!important;padding-left:20px!important;padding-right:20px!important}
  .footer-v21-main{display:grid!important;grid-template-columns:1fr 1fr!important;gap:0 24px!important;min-height:0!important;padding:56px 0 36px!important}
  .footer-v21-brand{grid-row:auto!important;grid-column:1/-1!important;padding-bottom:34px!important}
  .footer-v21-main>*{padding:28px 0!important}
  .footer-v21-news,.footer-v21-cta{grid-column:1/-1!important}
  .footer-v21-bottom{min-height:72px!important;justify-content:space-between!important}
  .footer-v21-bottom a{position:static!important}
}
@media(max-width:600px){
  .shell{padding-left:16px!important;padding-right:16px!important}
  .mobile-menu{width:100vw!important;padding-left:18px!important;padding-right:18px!important}
  .mobile-main-nav a{font-size:21px!important}
  .team-v75-grid{grid-template-columns:1fr!important}
  .footer-v21-main{grid-template-columns:1fr!important}
  .footer-v21-brand,.footer-v21-news,.footer-v21-cta{grid-column:auto!important}
  .footer-v21-main>*{border-bottom:1px solid rgba(255,255,255,.09)!important}
  .footer-v21-bottom{align-items:flex-start!important;flex-direction:column!important;justify-content:center!important;gap:8px!important}
  .clients-v48 .clients-logo-stage{grid-template-columns:1fr 1fr!important}
}
@media(max-width:360px){
  .shell{padding-left:12px!important;padding-right:12px!important}
  .header-shell{padding:0 10px!important}
  .brand img{width:118px!important}
  .mobile-menu{padding-left:14px!important;padding-right:14px!important}
  .mobile-service-grid{grid-template-columns:1fr!important}
  .clients-v48 .clients-logo-stage{grid-template-columns:1fr!important}
  .services-v9-row{padding:18px 12px!important}
  .about-bento-head h2,.insights-v32-head h2{font-size:36px!important}
}

/* V123 end-to-end responsive hardening */
html,body{max-width:100%;overflow-x:hidden}
img,video,svg,canvas{max-width:100%;height:auto}
.pm40-media-pad{aspect-ratio:1600/1151;overflow:hidden}
.pm40-media-pad picture{display:block;width:100%;height:100%}
.pm40-media-pad picture img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:1024px){
  .pm40-portfolio{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .pm40-case{grid-template-columns:1fr!important}
  .pm40-case.reverse .pm40-copy,.pm40-case.reverse .pm40-media{order:initial}
}
@media (max-width:768px){
  section{scroll-margin-top:76px}
  .pm40-portfolio{display:block!important;padding-top:80px!important;padding-bottom:80px!important}
  .pm40-side{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}
  .pm40-side-inner{position:relative!important;top:auto!important;height:auto!important;min-height:0!important}
  .pm40-cases{display:grid!important;grid-template-columns:1fr!important;gap:28px!important}
  .pm40-case{display:grid!important;grid-template-columns:1fr!important;min-width:0!important}
  .pm40-copy,.pm40-media{min-width:0!important}
  .pm40-side-main h2,.pm40-copy h3{overflow-wrap:anywhere}
  a,button,input,select,textarea,summary{min-height:44px}
  .shell{padding-left:30px!important;padding-right:30px!important}
}
@media (max-width:390px){.shell{padding-left:20px!important;padding-right:20px!important}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
