/*
 * Prevent horizontal overflow from wide children.
 * Ensures full-width layout on Cloudflare Pages and mobile browsers.
 */
.site-header,
.hero,
.section--dark,
.value-triptych,
.trust-bar,
.tabbed-platform,
.solutions,
.security,
.data-safety,
.cta-band,
.site-footer {
  width: 100%;
}

@media (max-width: 1180px) {
  .site-header__inner {
    gap: 1rem;
  }

  .site-nav {
    gap: 1.25rem;
  }
}

@media (max-width: 1024px) {
  .site-nav {
    position: fixed;
    inset: var(--header-height) 0 auto 0;
    flex-direction: column;
    align-items: stretch;
    padding: 1.5rem;
    background: var(--color-bg-darker);
    border-bottom: 1px solid var(--color-border-dark);
    transform: translateY(-120%);
    opacity: 0;
    pointer-events: none;
    transition: transform var(--transition-base), opacity var(--transition-base);
  }

  .site-nav.is-open {
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  .site-nav__link {
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-border-dark);
  }

  .menu-toggle {
    display: flex;
  }

  .site-header.is-menu-open .menu-toggle span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .site-header.is-menu-open .menu-toggle span:nth-child(2) {
    opacity: 0;
  }

  .site-header.is-menu-open .menu-toggle span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .site-header__actions .btn--ghost-light {
    display: none;
  }

  .hero--split .hero__inner {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .hero__visual {
    order: -1;
    min-height: 280px;
  }

  .roi-band__stats {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .value-triptych__grid {
    grid-template-columns: 1fr;
  }

  .platform-panel {
    grid-template-columns: 1fr;
  }

  .platform-panel__visual {
    order: -1;
    min-height: 160px;
  }

  .solutions__grid {
    grid-template-columns: 1fr;
  }

  .compliance-badges {
    grid-template-columns: 1fr;
  }

  .data-safety__inner {
    grid-template-columns: 1fr;
  }

  .data-safety__features {
    grid-template-columns: 1fr;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .site-header__actions .btn {
    font-size: 0.8125rem;
    padding: 0.6rem 1rem;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__actions .btn {
    width: 100%;
  }

  .platform-tabs {
    flex-direction: column;
    align-items: stretch;
  }

  .platform-tab {
    text-align: center;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .site-footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  .site-footer__legal {
    justify-content: center;
  }
}
