/* Authoritative responsive and component-sizing layer. */
:where(.grid, .services-grid, .blog-grid, .case-studies-grid, .portfolio-grid, .industries-grid, .milestones-grid, .process-grid, .testimonial-grid, .site-footer__grid) > * {
  min-width: 0;
  max-width: 100%;
}

:where(.service-card, .blog-card, .portfolio-card, .industry-card, .milestone-card, .process-step, .testimonial-review-card, .lead-form) {
  width: 100%;
  height: 100%;
  min-width: 0;
  overflow-wrap: anywhere;
}

.media-frame { width: 100%; aspect-ratio: 4 / 3; overflow: hidden; }
.media-frame img, .media-frame__placeholder { width: 100%; height: 100%; object-fit: cover; }
.testimonials-shell, .testimonial-grid { min-width: 0; }
.testimonial-review-card__stars { display: flex; width: max-content; max-width: 100%; flex-wrap: wrap; }
.testimonial-review-card__person > span:last-child { min-width: 0; }
.testimonial-review-card__person strong, .testimonial-review-card__person small { overflow-wrap: anywhere; }
.clients-marquee { width: 100%; max-width: 100%; overflow: hidden; }
.clients-marquee__track { width: max-content; max-width: none; }
.lead-form input, .lead-form select, .lead-form textarea { width: 100%; min-width: 0; max-width: 100%; }

@media (max-width: 63.99rem) {
  body.menu-is-open { overflow: hidden; }
  .site-header__inner { position: relative; }
  .site-header .nav-toggle { display: inline-flex !important; }
  .site-header .primary-nav {
    display: none !important;
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    left: 0;
    max-height: calc(100vh - 92px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .site-header .primary-nav.is-open { display: block !important; }
  .primary-nav .sub-menu { display: grid; position: static; width: 100%; min-width: 0; opacity: 1; visibility: visible; transform: none; border: 0; background: #f7f7f9; box-shadow: none; }
  .testimonials-shell { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .testimonials-intro { position: static; }
  .testimonial-grid, .testimonial-widget-card, .testimonial-review-card--single { grid-column: auto; }
  .testimonial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 47.99rem) {
  .testimonial-grid, .site-footer__grid { grid-template-columns: minmax(0, 1fr); }
  .testimonial-review-card__person { align-items: flex-start; }
  .testimonial-review-card, .testimonial-widget-card { padding: 20px; }
  .clients-marquee__track { gap: 14px; }
  .partner-logo-card { width: 132px; min-width: 132px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  .section-reveal { opacity: 1 !important; transform: none !important; }
}
