/* Black Label mobile patch for intake and contact pages */

/* Global safety */
html, body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  height: auto;
}

/* Concept intake page mobile layout */
@media (max-width: 1100px) {
  .concept-design-page .form-shell {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 24px !important;
    align-items: start !important;
  }

  .concept-design-page .form-sidebar,
  .concept-design-page .form-main {
    width: 100% !important;
    min-width: 0 !important;
  }

  .concept-design-page .sticky-panel {
    position: relative !important;
    top: auto !important;
  }
}

@media (max-width: 820px) {
  .concept-design-page .hero-content,
  .concept-design-page .hero-copy,
  .concept-design-page .form-shell,
  .concept-design-page .form-main,
  .concept-design-page .form-sidebar,
  .concept-design-page .concept-form,
  .concept-design-page .panel,
  .concept-design-page .trust-band,
  .concept-design-page .field,
  .concept-design-page .form-group-block {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  .concept-design-page .field-grid,
  .concept-design-page .field-grid.two-up,
  .concept-design-page .trust-grid,
  .concept-design-page .selector-grid,
  .concept-design-page .style-card-grid,
  .concept-design-page .checkbox-grid,
  .concept-design-page .style-checkbox-grid,
  .concept-design-page .two-column-choices {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .concept-design-page .choice-row,
  .concept-design-page .choice-row-wrap,
  .concept-design-page .choice-stack,
  .concept-design-page .button-row,
  .concept-design-page .submit-row {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 12px !important;
  }

  .concept-design-page .choice-row label,
  .concept-design-page .choice-row-wrap label,
  .concept-design-page .choice-stack label,
  .concept-design-page .style-checkbox-grid label,
  .concept-design-page .checkbox-grid label,
  .concept-design-page .submit-button,
  .concept-design-page .button,
  .concept-design-page .style-select-card {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .concept-design-page .style-select-card {
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }

  .concept-design-page .style-select-card img {
    width: 100% !important;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
  }

  .concept-design-page .form-intro h2,
  .concept-design-page .form-section-heading h3,
  .concept-design-page .sticky-panel h2 {
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .concept-design-page fieldset,
  .concept-design-page legend,
  .concept-design-page label span,
  .concept-design-page p,
  .concept-design-page li {
    min-width: 0;
  }
}

@media (max-width: 640px) {
  .concept-design-page .container {
    width: min(100% - 24px, 1200px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .concept-design-page .hero-shell {
    min-height: auto !important;
  }

  .concept-design-page .hero-copy.wide.narrow,
  .concept-design-page .hero-copy {
    max-width: 100% !important;
  }

  .concept-design-page .hero-copy h1 {
    font-size: clamp(2rem, 9vw, 3rem) !important;
    line-height: 0.98 !important;
  }

  .concept-design-page .form-group-block,
  .concept-design-page .concept-form,
  .concept-design-page .panel,
  .concept-design-page .trust-band {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .concept-design-page input[type="text"],
  .concept-design-page input[type="email"],
  .concept-design-page input[type="tel"],
  .concept-design-page input[type="url"],
  .concept-design-page textarea,
  .concept-design-page select {
    width: 100% !important;
    box-sizing: border-box !important;
  }

  .concept-design-page .submit-note {
    margin: 0 !important;
  }
}

/* Contact page support on mobile since that page already loads this file */
@media (max-width: 820px) {
  .contact-split,
  .split-grid.contact-split,
  .grid-3 {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .contact-side-image,
  .media-card.contact-side-image {
    width: 100% !important;
    min-width: 0 !important;
  }
}
