/* Industrad production-candidate responsive QA fixes.
   Measured on live staging at 320/375/390/400/430/768px before production release. */

@media (max-width:768px){
  html,body{max-width:100%;overflow-x:clip}

  #iutil a,#iutil button{min-height:38px!important;display:inline-flex!important;align-items:center!important}
  #iutil .iutil-item{min-height:38px!important}
  #iutil .iutil-indtravix{min-height:38px!important;display:inline-flex!important;align-items:center!important}
  nav button,#imd-btn{min-width:44px!important;min-height:44px!important}

  /* Permanent mobile hero structure: title block first, video block second, no overlay canvas. */
  section[data-hero="1"]{
    position:relative!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    aspect-ratio:auto!important;
    padding:0!important;
    margin:0!important;
    overflow:hidden!important;
    background:transparent!important
  }
  section[data-hero="1"] .imd-slash{display:none!important}
  section[data-hero="1"] .imd-slash-text{
    position:relative!important;
    inset:auto!important;
    order:1!important;
    width:100%!important;
    max-width:none!important;
    height:auto!important;
    min-height:0!important;
    padding:8px 10px!important;
    margin:0!important;
    box-sizing:border-box!important;
    display:block!important;
    pointer-events:auto!important;
    background:#fff!important
  }
  section[data-hero="1"] .imd-slash-text > *{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
    height:auto!important;
    min-height:0!important;
    margin:0!important;
    padding:8px 12px!important;
    gap:0!important;
    box-sizing:border-box!important;
    border-radius:12px!important;
    background:linear-gradient(135deg,#171c56,#2e3192)!important;
    -webkit-backdrop-filter:none!important;
    backdrop-filter:none!important;
    box-shadow:0 5px 14px rgba(0,0,0,.16)!important;
    pointer-events:auto!important
  }
  section[data-hero="1"] .imd-slash-text h1{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    font-size:clamp(16px,4.2vw,20px)!important;
    line-height:1.06!important;
    letter-spacing:-.012em!important;
    margin:0!important;
    text-wrap:balance!important;
    overflow-wrap:normal!important;
    word-break:normal!important
  }
  section[data-hero="1"] .imd-slash-text h1 ~ *,
  section[data-hero="1"] .imd-slash-text p,
  section[data-hero="1"] .imd-slash-text a,
  section[data-hero="1"] .imd-slash-text button{display:none!important}

  section[data-hero="1"] video{
    position:relative!important;
    inset:auto!important;
    order:2!important;
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    aspect-ratio:var(--imd-hero-video-ratio,16 / 9)!important;
    object-fit:contain!important;
    object-position:center center!important;
    margin:0!important;
    padding:0!important;
    background:#101336!important;
    transform:none!important;
    backface-visibility:hidden
  }

  #isignal{min-height:auto!important}
  #is-inner{padding:32px 16px 48px!important}
  .is-stage-3d{width:min(420px,calc(100vw - 48px))!important;max-width:calc(100vw - 48px)!important}
  .is-q{max-width:84vw!important}
  #isignal button,.is-nav button,.is-slider button{min-width:44px!important;min-height:44px!important;padding:10px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}
  .is-nav,.is-slider{gap:8px!important}
  .static-premium-card p{font-size:12px!important;line-height:1.45!important}
  [data-layout="1"] .premium-hover-card p{font-size:12px!important;line-height:1.45!important}
  .premium-hover-card a,.static-premium-card a,a[href$=".pdf"],a[href*="/downloads/"],main a[class*="inline-flex"],main a[class*="rounded"]{min-height:44px!important;display:inline-flex!important;align-items:center!important}
  input,select,textarea{font-size:16px!important}
}

@media (min-width:769px) and (max-width:1023px){
  /* Tablet also uses separated title + video so the media is never hidden behind copy. */
  section[data-hero="1"]{position:relative!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;overflow:hidden!important;background:transparent!important}
  section[data-hero="1"] .imd-slash{display:none!important}
  section[data-hero="1"] .imd-slash-text{position:relative!important;inset:auto!important;order:1!important;width:100%!important;height:auto!important;max-width:none!important;padding:12px 16px!important;display:block!important;background:#fff!important;pointer-events:auto!important}
  section[data-hero="1"] .imd-slash-text > *{width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:10px 16px!important;gap:0!important;border-radius:14px!important;background:linear-gradient(135deg,#171c56,#2e3192)!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:0 7px 18px rgba(0,0,0,.18)!important;pointer-events:auto!important}
  section[data-hero="1"] .imd-slash-text h1{font-size:clamp(20px,2.8vw,25px)!important;line-height:1.06!important;letter-spacing:-.015em!important;margin:0!important}
  section[data-hero="1"] .imd-slash-text h1 ~ *,section[data-hero="1"] .imd-slash-text p,section[data-hero="1"] .imd-slash-text a,section[data-hero="1"] .imd-slash-text button{display:none!important}
  section[data-hero="1"] video{position:relative!important;inset:auto!important;order:2!important;display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;aspect-ratio:var(--imd-hero-video-ratio,16 / 9)!important;object-fit:contain!important;object-position:center center!important;margin:0!important;background:#101336!important;transform:none!important}
}

/* Professional responsive navigation and utility-bar spacing. */
@media (max-width:1023px){
  #iutil .iutil-inner{display:flex!important;align-items:center!important;justify-content:space-between!important;column-gap:8px!important}
  #iutil .iutil-strip{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;margin-left:auto!important}
  #iutil .iutil-item{white-space:nowrap!important}

  .imd-mobile-menu-row{width:100%!important;max-width:100%!important;min-height:54px!important;box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;padding:0 14px!important;margin:0!important;border-radius:12px!important;position:relative!important;color:#171c56!important;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease,color .22s ease!important}
  .imd-mobile-menu-row::after{content:'›';font-size:28px;line-height:1;font-weight:400;color:#2e3192;opacity:.82;transform:translateX(0);transition:transform .22s ease,opacity .22s ease!important;margin-left:auto!important}
  .imd-mobile-menu-row:hover,.imd-mobile-menu-row:focus-visible,.imd-mobile-menu-row:active{background:linear-gradient(90deg,rgba(46,49,146,.08),rgba(46,49,146,.025))!important;color:#2e3192!important;box-shadow:0 7px 20px rgba(17,22,58,.08)!important;transform:translateX(4px)!important;outline:none!important}
  .imd-mobile-menu-row:hover::after,.imd-mobile-menu-row:focus-visible::after,.imd-mobile-menu-row:active::after{transform:translateX(4px)!important;opacity:1!important}

  .imd-mobile-menu-top{grid-column:1 / -1!important;flex:0 0 100%!important}
  [data-imd-menu-label="what-we-do"],[data-imd-menu-label="services"]{width:100%!important;flex-basis:100%!important}
  [data-imd-menu-label="what-we-do"]{order:30!important}
  [data-imd-menu-label="services"]{order:31!important}
  [data-imd-menu-label="partners"]{order:40!important}
  [data-imd-menu-label="contact"]{order:50!important}
  [data-imd-menu-label="insights"]{order:60!important}
  [data-imd-menu-label="more"]{order:70!important;cursor:pointer!important}
  [data-imd-menu-label="indtravix"]{order:90!important}

  .imd-mobile-more-child{display:none!important;width:calc(100% - 20px)!important;margin-left:20px!important;background:rgba(46,49,146,.035)!important;opacity:0;transform:translateY(-5px)}
  html.imd-more-open .imd-mobile-more-child{display:flex!important;opacity:1;transform:translateY(0);animation:imdMenuReveal .22s ease both!important}
  .imd-mobile-more-toggle::after{content:'⌄'!important;font-size:22px!important;transform:rotate(0deg)!important}
  .imd-mobile-more-toggle[aria-expanded="true"]::after{transform:rotate(180deg)!important}
  @keyframes imdMenuReveal{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:translateY(0)}}
}

@media (max-width:640px){
  #isignal .is-q img{width:auto!important;max-width:58vw!important;height:auto!important}
  main section:has(h1) :is(.grid,[class*="grid-cols-"]){grid-template-columns:minmax(0,1fr)!important}

  /* Stable two-cell mobile contact bar. Wrapper classes are added by responsive runtime. */
  #iutil.imd-util-ready .iutil-inner{height:auto!important;min-height:50px!important;padding:5px 8px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:6px!important;overflow:hidden!important}
  #iutil.imd-util-ready .iutil-strip{width:100%!important;display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr)!important;gap:6px!important;margin:0!important;align-items:center!important}
  #iutil.imd-util-ready .imd-util-phone-wrap,#iutil.imd-util-ready .imd-util-email-wrap{display:flex!important;width:100%!important;min-width:0!important;margin:0!important;padding:0!important;align-items:center!important;justify-content:center!important}
  #iutil.imd-util-ready .imd-util-phone,#iutil.imd-util-ready .imd-util-email{width:100%!important;min-width:0!important;min-height:34px!important;padding:4px 5px!important;margin:0!important;justify-content:center!important;text-align:center!important;box-sizing:border-box!important;border-radius:7px!important;background:rgba(255,255,255,.055)!important;font-size:10px!important;line-height:1.12!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  #iutil.imd-util-ready .imd-util-email{font-size:9.5px!important}
  #iutil.imd-util-ready .iutil-strip > :not(.imd-util-phone-wrap):not(.imd-util-email-wrap){display:none!important}
  #iutil.imd-util-ready .iutil-indtravix{display:none!important}
}

@media (max-width:480px){
  #iutil .iutil-item span,#iutil .iutil-item b{font-size:10px!important}
  #iutil .iutil-strip .iutil-hours{display:none!important}
  main a{scroll-margin-top:112px}
  .premium-hover-card a,.static-premium-card a{padding-top:8px!important;padding-bottom:8px!important}
  .imd-mobile-menu-row{min-height:52px!important;padding:0 12px!important;border-radius:10px!important}
}

@media (max-width:359px){
  section[data-hero="1"] .imd-slash-text{padding:6px 8px!important}
  section[data-hero="1"] .imd-slash-text > *{width:100%!important;padding:7px 10px!important}
  section[data-hero="1"] .imd-slash-text h1{font-size:15px!important}
  #iutil.imd-util-ready .imd-util-phone,#iutil.imd-util-ready .imd-util-email{font-size:8.8px!important;padding-left:3px!important;padding-right:3px!important}
  [data-layout="1"],.grid.grid-cols-1.sm\:grid-cols-2.gap-6.relative:has(.static-premium-card),.grid.grid-cols-1.md\:grid-cols-2.gap-4,.grid.grid-cols-1.sm\:grid-cols-2.lg\:grid-cols-5.gap-6.text-left,.grid.grid-cols-1.md\:grid-cols-2.lg\:grid-cols-3.gap-4{grid-template-columns:minmax(0,1fr)!important;gap:14px!important}
  .static-premium-card,[data-layout="1"] .premium-hover-card{padding:16px!important}
}

@media (min-width:1024px){
  section[data-hero="1"] .imd-slash-text > *{-webkit-backdrop-filter:blur(9px) saturate(135%)!important;backdrop-filter:blur(9px) saturate(135%)!important;box-shadow:0 18px 44px rgba(0,0,0,.34)!important}
}

@media (hover:none) and (pointer:coarse){
  .premium-hover-card:active,.static-premium-card:active,.dark-hover-card:active{transform:scale(.985)}
  .premium-hover-card:focus-within,.static-premium-card:focus-within,.dark-hover-card:focus-within{outline:2px solid rgba(46,49,146,.35);outline-offset:2px}
}

@media (prefers-reduced-motion:reduce){
  main section:has(h1) *,#isignal *{scroll-behavior:auto!important}
  .imd-mobile-menu-row,.imd-mobile-more-child{transition:none!important;animation:none!important}
}
