/* Namdar homepage viewport containment — 2026-09-12 */
/* Loaded in the document head so browser scroll restoration cannot leave the page sideways. */

html,
body.conversion-home {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

body.conversion-home {
  position: relative;
}

.conversion-home .site-header,
.conversion-home main,
.conversion-home footer,
.conversion-home .section-pad,
.conversion-home .hero,
.conversion-home .hero-copy,
.conversion-home .hero-panel,
.conversion-home .hero-visual,
.conversion-home .quote-section,
.conversion-home .quote-shell,
.conversion-home .quote-form,
.conversion-home .quote-result {
  min-width: 0;
  max-width: 100%;
}

.conversion-home .site-header,
.conversion-home main,
.conversion-home footer,
.conversion-home .hero,
.conversion-home .quote-section {
  width: 100%;
}

.conversion-home .hero {
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
}

.conversion-home .site-header > *,
.conversion-home .hero > *,
.conversion-home .hero-copy > *,
.conversion-home .hero-panel > *,
.conversion-home .section-head > *,
.conversion-home .conversion-process-grid > *,
.conversion-home .conversion-confidence-grid > *,
.conversion-home .service-grid > *,
.conversion-home .gallery-grid > * {
  min-width: 0;
}

.conversion-home img,
.conversion-home video,
.conversion-home canvas,
.conversion-home svg {
  max-width: 100%;
}

.quote-shell,
.quote-shell > *,
.quote-form,
.quote-result,
.quote-form .field-row,
.quote-form .field-row > *,
.quote-form .choice-grid,
.quote-form .choice-grid > *,
.quote-form .quote-progress,
.quote-form .quote-progress > * {
  min-width: 0;
}

.quote-shell {
  grid-template-columns: minmax(0, 1.35fr) minmax(0, .65fr);
}

.quote-form .field-row {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quote-form .choice-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.quote-form .quote-progress {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.quote-form input,
.quote-form select,
.quote-form textarea {
  min-width: 0;
  max-width: 100%;
}

/* Native file controls can retain an intrinsic width wider than the form. */
.quote-form input[type="file"] {
  display: block;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  padding: 10px;
}

.quote-form input[type="file"]::file-selector-button {
  max-width: 100%;
  margin-right: 8px;
}

/* Keep intentional horizontal scrollers local instead of letting them widen the document. */
.conversion-proof-strip,
.logo-strip,
.seo-conversion-proof,
.portal-tabs,
.customer-job-progress {
  max-width: 100%;
}

@media (max-width: 1000px) {
  .conversion-home .hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .quote-shell {
    grid-template-columns: minmax(0, 1fr);
  }

  .quote-form .quote-progress {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .conversion-home .site-header,
  .conversion-home main,
  .conversion-home footer,
  .conversion-home .section-pad,
  .conversion-home .hero,
  .conversion-home .hero-copy,
  .conversion-home .hero-panel,
  .conversion-home .hero-visual,
  .conversion-home .quote-section,
  .conversion-home .quote-shell,
  .conversion-home .quote-form,
  .conversion-home .quote-result {
    width: 100%;
  }

  .conversion-home .site-header > *,
  .conversion-home .hero > *,
  .conversion-home .hero-copy > *,
  .conversion-home .hero-panel > * {
    max-width: 100%;
  }

  .conversion-home .site-header .brand {
    flex: 0 1 auto;
    min-width: 0;
  }

  .conversion-home .site-header .mobile-menu {
    flex: 0 0 42px;
  }

  .conversion-home .site-header .header-actions {
    flex: 0 1 auto;
    min-width: 0;
  }

  .conversion-home .hero h1,
  .conversion-home .hero-copy > p,
  .conversion-home .eyebrow {
    max-width: 100%;
  }

  .quote-form .field-row,
  .quote-form .choice-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .quote-form .quote-progress {
    width: 100%;
    max-width: 100%;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .quote-form .quote-progress a {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .mobile-conversion-bar {
    max-width: calc(100% - 20px);
  }

  .chat-launcher {
    max-width: calc(100vw - 24px);
  }
}
