html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  overflow-x: hidden;
}

.idt-header-logo {
  width: 115px !important;
  height: auto !important;
  max-width: none !important;
}

@media (max-width: 1023px) {
  :root {
    --spacing-margin: 1.5rem;
    --spacing-gutter: 1.25rem;
  }

  header > div:first-child {
    height: 4rem;
    min-height: 4rem;
    padding-inline: 1rem;
  }

  header > div:first-child > nav,
  header > div:first-child > div > a[data-route="contact"] {
    display: none !important;
  }

  #mobile-nav-toggle {
    display: inline-flex !important;
  }

  #mobile-nav-drawer {
    display: none;
    position: absolute;
    inset-inline: 0;
    top: 4rem;
    z-index: 60;
    max-height: calc(100vh - 4rem);
    overflow-y: auto;
    box-shadow: 0 12px 24px rgb(15 23 42 / 14%);
  }

  #mobile-nav-drawer:not(.hidden) {
    display: block;
  }

  main .grid {
    min-width: 0;
  }
}

@media (max-width: 767px) {
  :root {
    --spacing-margin: 1rem;
    --spacing-gutter: 1rem;
  }

  body {
    font-size: 15px;
  }

  header > div:first-child {
    padding-inline: 1rem;
  }

  header > div:first-child > a > img.idt-header-logo {
    width: 100px !important;
  }

  header > div:first-child > div {
    gap: 0.5rem !important;
  }

  #mobile-nav-toggle {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.375rem;
  }

  #mobile-nav-drawer {
    padding: 1rem;
    background: #131b2e;
    border-color: #3b485d;
    color: #ffffff;
  }

  #mobile-nav-drawer nav {
    gap: 0.25rem;
  }

  #mobile-nav-drawer nav a {
    min-height: 3rem;
    color: #dae2fd;
    padding: 0.75rem 0.875rem;
  }

  #mobile-nav-drawer nav a[data-route="products-industries"] {
    color: #ffffff;
    background: #1d2940;
    border-left: 4px solid #d95f2a;
  }

  #mobile-nav-drawer > div {
    border-color: #3b485d;
  }

  #mobile-nav-drawer > div a {
    min-height: 3rem;
  }

  .text-display-hero {
    font-size: clamp(2rem, 9vw, 2.5rem);
    line-height: 1.15;
  }

  .text-headline-lg {
    font-size: 1.75rem;
    line-height: 1.2;
  }

  .text-body-lg,
  .text-body-md,
  .text-body-sm {
    line-height: 1.55;
  }

  .py-16 {
    padding-block: 2.5rem;
  }

  .py-24 {
    padding-block: 3.5rem;
  }

  .px-margin {
    padding-inline: 1rem;
  }

  .aspect-\[21\/9\] {
    aspect-ratio: 16 / 9;
  }

  #request-quote {
    scroll-margin-top: 5rem;
  }

  footer {
    width: 100%;
    overflow: hidden;
  }

  footer .max-w-7xl {
    padding-inline: 1rem;
  }
}
