@media (max-width: 1180px) {
  .cd-hero-grid,
  .cd-authority-grid,
  .cd-cta-grid {
    grid-template-columns: 1fr;
  }

  .cd-route-card {
    max-width: 440px;
  }

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

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

@media (max-width: 900px) {
  .cd-hero {
    padding-top: 40px;
  }

  .cd-showcase-note {
    max-width: min(74vw, 280px);
  }

  .cd-authority-stats {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 768px) {
  .cd-container {
    width: min(100% - 28px, 100%);
  }

  .cd-hero,
  .cd-programs,
  .cd-authority {
    padding-bottom: 56px;
    padding-top: 54px;
  }

  .cd-proof {
    padding-bottom: 34px;
  }

  .cd-proof-grid,
  .cd-program-grid,
  .cd-page-footer-grid {
    grid-template-columns: 1fr;
  }

  .cd-showcase-image {
    aspect-ratio: 1.1 / 1;
  }

  .cd-showcase-note {
    bottom: 14px;
    left: 14px;
    max-width: calc(100% - 28px);
  }

  .cd-cta-copy,
  .cd-cta-side {
    padding: 32px 24px;
  }
}

@media (max-width: 540px) {
  .cd-route-card,
  .cd-proof-card,
  .cd-program-card {
    border-radius: 20px;
  }

  .cd-hero-meta {
    gap: 10px 16px;
  }

  .cd-hero-meta-item {
    font-size: 11px;
    letter-spacing: 0.14em;
  }

  .cd-button-row {
    flex-direction: column;
  }

  .cd-btn {
    width: 100%;
  }

  .cd-cta-side h3 {
    font-size: 28px;
  }
}
