/* SPORTSINVEST.COM — responsive correction.
   Load AFTER the existing styles, immediately before </head>. */

/* Allow grid and flex children to shrink to the available width. */
.hero-grid > *,
.contact-grid > *,
.section-head > *,
.strip-grid > *,
.qualities > *,
.process > *,
.form-grid > * {
  min-width: 0;
}

@media (max-width: 900px) {
  .hero-grid,
  .contact-grid,
  .section-head,
  .strip-grid,
  .qualities,
  .process {
    grid-template-columns: minmax(0, 1fr);
  }

  .hero h1 {
    font-size: clamp(28px, 11.5vw, 90px);
    max-width: 100%;
    line-height: 1.05;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .hero-line,
  .hero-copy,
  .contact-copy,
  .confidential,
  .notice,
  .form-note {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .hero-side {
    width: 100%;
  }

  .status-label,
  .status-value,
  .cta > span:first-child,
  .submit > span:first-child {
    min-width: 0;
    overflow-wrap: anywhere;
  }

  .arrow,
  .kicker::before {
    flex-shrink: 0;
  }

  #inquiry,
  #process {
    scroll-margin-top: 96px;
  }
}

@media (max-width: 600px) {
  .form-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .wordmark {
    font-size: clamp(10px, 3.3vw, 14px);
    letter-spacing: .16em;
  }

  .kicker {
    font-size: 10px;
    letter-spacing: .12em;
    gap: 10px;
  }

  .kicker::before {
    width: 28px;
  }

  .status {
    gap: 12px;
    align-items: flex-start;
  }

  .status-value {
    flex: 0 1 65%;
  }

  .cta,
  .submit {
    padding: 14px 16px;
    gap: 12px;
  }

  .contact h2,
  .section h2 {
    font-size: clamp(32px, 10vw, 43px);
    line-height: 1.08;
    overflow-wrap: anywhere;
  }

  .process-step {
    padding: 28px 22px;
  }

  input,
  textarea {
    min-width: 0;
    max-width: 100%;
    font-size: 16px;
  }

  .footer-inner {
    gap: 14px;
  }

  .footer-inner > span {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}
