@media (max-width: 980px) {
  .section-shell {
    padding: 70px 0;
  }

  .two-column,
  .origin-card {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .info-grid,
  .developer-grid,
  .support-metrics,
  .funding-logos {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .info-card {
    min-height: 340px;
  }

  .carousel-track,
  .carousel-item img,
  .carousel-item video {
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .container {
    width: min(100% - 24px, var(--container));
  }

  .hero-section {
    min-height: 680px;
    padding: 94px 0 70px;
    align-items: start;
  }

  .hero-top-action {
    top: 18px;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px;
  }

  .hero-logo {
    width: min(470px, 92vw);
    margin-top: 118px;
  }

  .hero-message {
    margin-top: 20px;
  }

  .hero-message h1 {
    font-size: clamp(25px, 8vw, 36px);
  }

  .hero-message p {
    font-size: 16px;
    line-height: 1.55;
  }

  .button:not(.carousel-button) {
    width: 100%;
    max-width: 360px;
  }

  .hero-top-action .button {
    width: auto;
    min-height: 46px;
    padding: 0 16px;
    font-size: 14px;
  }

  .section-heading.center {
    text-align: left;
  }

  .info-grid,
  .developer-grid,
  .support-metrics,
  .funding-logos {
    grid-template-columns: 1fr;
  }

  .support-card {
    padding: 24px;
  }

  .support-metric {
    min-height: auto;
  }

  .origin-card {
    padding: 24px;
  }

  .video-frame {
    margin-top: 24px;
  }

  .carousel-track,
  .carousel-item img,
  .carousel-item video {
    min-height: 0;
  }

  .carousel-track {
    aspect-ratio: 4 / 5;
  }

  .carousel-item::after {
    background: linear-gradient(180deg, rgba(7, 29, 43, 0.18), rgba(7, 29, 43, 0.88));
  }

  .carousel-item-light::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.88));
  }

  .carousel-caption {
    left: 20px;
    right: 20px;
    bottom: 86px;
  }

  .carousel-controls {
    left: 18px;
    right: 18px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .footer-column a {
    font-size: 16px;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-bottom p {
    text-align: left;
  }
}

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