@media (max-width: 1100px) {
  :root {
    --text-3xl: 2.4rem;
    --text-2xl: 2rem;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .services-showcase-shell {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-5);
  }

  .svc-card {
    --svc-pad: var(--space-5);
  }
}

@media (max-width: 900px) {
  body.menu-open {
    overflow: hidden;
  }

  .grid-3,
  .grid-2,
  .form-grid {
    grid-template-columns: 1fr;
  }

  .nav-toggle {
    display: inline-flex;
  }

  .nav-actions {
    display: none;
  }

  .nav-menu {
    position: absolute;
    left: 1rem;
    right: 1rem;
    top: calc(100% + 0.5rem);
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
    background: var(--color-surface);
    border: 1px solid var(--color-border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-md);
    padding: var(--space-4);
    display: none;
    z-index: 70;
  }

  .nav-menu.is-open {
    display: flex;
  }

  .nav-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    background: rgba(7, 16, 28, 0.35);
    border: 0;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s ease;
  }

  .nav-backdrop.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  .nav-link {
    width: 100%;
    padding: 0.45rem 0;
  }

  .site-header {
    position: sticky;
  }
}

@media (max-width: 680px) {
  :root {
    --text-3xl: 2.05rem;
    --text-2xl: 1.72rem;
    --text-lg: 1.24rem;
  }

  .section {
    padding: var(--space-8) 0;
  }

  .section-lg {
    padding: var(--space-9) 0;
  }

  .card,
  .cta-banner {
    padding: var(--space-5);
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .button-group {
    width: 100%;
  }

  .button-group .btn {
    width: 100%;
  }

  .filter-row {
    gap: var(--space-2);
  }

  .container {
    width: min(100% - 1.4rem, var(--container));
  }
}

@media (max-width: 420px) {
  .hero-cinematic-title {
    font-size: 1.65rem;
    letter-spacing: -0.02em;
  }
}

@media (max-width: 1100px) {
  .hero-cinematic,
  .hero-cinematic-inner {
    min-height: 100svh;
  }
}

@media (max-width: 900px) {
  .site-header--home .nav-wrap {
    min-height: 4.2rem;
  }

  .site-header--home {
    background: rgba(14, 23, 34, 0.72);
    border-bottom-color: rgba(82, 99, 119, 0.5);
    backdrop-filter: blur(8px);
  }

  .site-header--home .nav-menu {
    background: rgba(17, 26, 38, 0.96);
    border-color: rgba(82, 99, 119, 0.65);
  }

  .hero-cinematic-inner {
    min-height: 100svh;
    padding-top: var(--space-9);
    padding-bottom: var(--space-7);
  }

  .hero-cinematic-content h1 {
    max-width: 100%;
  }

  .hero-cinematic-content {
    margin-bottom: clamp(7rem, 16vh, 11rem);
  }

  .hero-cinematic-controls {
    bottom: var(--space-5);
  }

  .services-showcase-shell {
    grid-template-columns: 1fr;
  }

  .services-showcase-rail {
    position: static;
    max-width: 100%;
  }

  .services-showcase-grid {
    grid-template-columns: 1fr;
  }

  .svc-card--feature {
    grid-column: auto;
  }

  .delivery-confidence-metrics {
    grid-template-columns: 1fr;
  }

  .trust-logo-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trust-prime-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "logos"
      "metrics"
      "proof";
  }

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

  .trust-metric + .trust-metric {
    border-left: 0;
    border-top: 1px solid #455972;
    padding-left: 0;
    padding-top: var(--space-3);
  }
}

@media (max-width: 680px) {
  .hero-cinematic,
  .hero-cinematic-inner {
    min-height: 100svh;
  }

  .hero-cinematic-inner {
    padding-top: var(--space-8);
    padding-bottom: var(--space-6);
  }

  .hero-cinematic-content h1 {
    font-size: 1.9rem;
  }

  .hero-cinematic-content {
    margin-bottom: clamp(6.5rem, 14vh, 9.5rem);
  }

  .hero-cinematic-controls {
    gap: var(--space-2);
    bottom: var(--space-4);
  }

  .trust-prime {
    padding: var(--space-7) 0;
  }

  .trust-logo-strip {
    grid-template-columns: 1fr;
  }

  .svc-card__thumb {
    height: 5.1rem;
    margin-bottom: var(--space-4);
  }

  .svc-card--feature .svc-card__thumb {
    height: 7.2rem;
  }

  .svc-card,
  .home-process-card,
  .home-quote-card,
  .home-industry-panel,
  .home-contact-card,
  .delivery-metric,
  .team-flip__face {
    --team-pad: var(--space-5);
    padding: var(--space-5);
  }

  .team-flip__face {
    min-height: 18.75rem;
  }

  .home-why-item {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

@media (max-width: 1100px) {
  .inner-hero-grid {
    grid-template-columns: 1fr;
  }

  .inner-kpi-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .case-study-card,
  .info-card,
  .value-card,
  .dark-info-card,
  .inner-hero-panel,
  .map-placeholder {
    padding: var(--space-5);
  }

  .team-profile {
    grid-template-columns: 7.5rem 1fr;
  }

  .team-photo {
    width: 7.5rem;
  }

  .team-photo {
    border-radius: 50%;
  }
}

@media (max-width: 680px) {
  .inner-hero {
    padding-top: var(--space-8);
    padding-bottom: var(--space-8);
  }

  .inner-hero h1 {
    max-width: 100%;
  }

  .map-placeholder {
    min-height: 12.5rem;
  }
}
