/* Launch polish: predictable desktop composition and no accidental sideways scroll. */
html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

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

#main,
.page,
.home-v3,
.home-v3-hero,
.site-header,
footer {
  min-width: 0;
  max-width: 100%;
}

.home-v3-hero > * {
  min-width: 0;
}

.home-v3-hero {
  width: 100%;
  max-width: 100%;
  margin-left: 0;
}

.site-header .nav-trigger,
.site-header .nav-account {
  min-height: 44px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #284c5f;
  display: flex;
  align-items: center;
  gap: .4rem;
  padding: .65rem .8rem;
  font: inherit;
  font-size: .9rem;
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
  white-space: nowrap;
}

.site-header .nav-trigger:hover,
.site-header .nav-account:hover {
  background: rgba(15, 138, 131, .1);
  color: #087f78;
}

.site-header .nav-account {
  margin-left: .35rem;
  background: #082f49;
  color: #fff;
  padding-inline: 1rem;
}

@media (min-width: 901px) {
  .site-header .site-nav {
    display: flex !important;
    position: static !important;
    flex-direction: row !important;
    align-items: center;
    padding: 0 !important;
    background: transparent !important;
  }

  .site-header .menu-btn {
    display: none !important;
  }

  .home-v3-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .home-v3-copy {
    grid-column: 1;
    grid-row: 1;
  }

  .home-v3-visual {
    grid-column: 2;
    grid-row: 1 / span 2;
    width: 100%;
    min-width: 0;
  }

  .home-v3-quick {
    grid-column: 1;
    grid-row: 2;
    width: 100%;
  }
}

@media (max-width: 900px) {
  .home-v3-hero {
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    max-width: 100%;
    margin-left: 0;
  }

  .home-v3-copy,
  .home-v3-quick,
  .home-v3-visual {
    grid-column: 1;
    width: 100%;
  }

  .home-v3-copy { grid-row: 1; }
  .home-v3-quick { grid-row: 2; }
  .home-v3-visual { grid-row: 3; }

  .home-v3-visual,
  .home-v3-photo,
  .home-v3-photo.large {
    min-width: 0;
  }

  .site-header .nav-trigger,
  .site-header .nav-account {
    width: 100%;
    justify-content: space-between;
    text-align: left;
  }
}

@media (max-width: 560px) {
  .home-v3-hero {
    padding-left: 1rem;
    padding-right: 1rem;
  }

  .home-v3-quick,
  .home-v3-quick-head,
  .home-v3-quick .form-grid,
  .home-v3-actions,
  .home-v3-trust {
    min-width: 0;
  }

  .home-v3-quick-head {
    display: block;
  }

  .home-v3-quick:after {
    right: .75rem;
  }

  .home-v3-float {
    right: .25rem;
    max-width: calc(100% - .5rem);
  }
}
