/* Phone / tablet only. Desktop (lg 1024px+) is unchanged. */

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

  img,
  video,
  iframe {
    max-width: 100%;
  }

  .bg-alignment-module__z0LE8W__bgAlignment {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    left: auto !important;
    right: auto !important;
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  header {
    height: 72px !important;
  }

  header .w-\[160px\],
  header .site-brand-wrap {
    width: auto !important;
    min-width: 0 !important;
    max-width: min(58vw, 220px) !important;
    min-height: 48px !important;
    height: auto !important;
  }

  header .h-\[48px\],
  header .min-h-\[48px\] {
    height: auto !important;
    min-height: 48px !important;
  }

  header img[src*="infrashakti-logo"],
  header .site-brand-link img {
    height: 44px !important;
    width: auto !important;
    max-width: 112px !important;
  }

  .site-brand-name {
    padding-left: 0.4rem;
    margin-left: 0.1rem;
  }

  .site-brand-name__line {
    font-size: 0.78rem;
  }

  .site-brand-name__line + .site-brand-name__line {
    font-size: 0.72rem;
  }

  header nav.fixed.top-0 {
    z-index: 55;
    padding-top: 5.5rem;
  }

  .banner-section > div[style*="padding-top"] {
    padding-top: 56% !important;
    height: auto !important;
  }

  .banner-section + div {
    margin-top: 0.75rem !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .banner-section + div > div {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
  }

  footer img[src*="infrashakti-logo"] {
    height: 48px !important;
    max-width: 180px !important;
  }

  footer a[href^="tel"],
  footer a[href^="mailto"] {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
    justify-content: flex-start !important;
    white-space: normal;
    font-size: 0.8125rem !important;
    padding: 0.7rem 1rem !important;
    line-height: 1.35 !important;
  }

  .glance-stat-value {
    font-size: 1.5rem !important;
  }

  input,
  select,
  textarea {
    font-size: 16px !important;
  }
}

@media (max-width: 640px) {
  .legacy-tags span {
    white-space: normal;
    max-width: 100%;
  }

  .expertise-card-inner {
    min-height: 200px;
  }
}

@media (max-width: 420px) {
  header img[src*="infrashakti-logo"],
  header .site-brand-link img {
    height: 38px !important;
    max-width: 92px !important;
  }
}
