@media (max-width: 900px) {
  .hero-grid,
  .cta-section,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .features {
    grid-template-columns: 1fr;
  }

  h1 {
    font-size: 2.1rem;
  }

  .options-grid {
    grid-template-columns: 1fr;
  }

  .nav {
    gap: 0.8rem;
    font-size: 0.95rem;
  }

  .header-inner {
    flex-wrap: wrap;
  }

  .cta-section {
    padding: 2rem 1.5rem;
    gap: 1.5rem;
  }

  .cta-section h2 {
    font-size: 1.65rem;
  }

  .cta-section p {
    font-size: 1.1rem;
  }
}

@media (max-width: 600px) {
  body {
    font-size: 17px;
  }

  .btn,
  .option-btn {
    min-height: 58px;
    font-size: 1.1rem;
  }

  .score-display {
    font-size: 3.5rem;
  }

  .container {
    padding: 0 1rem;
  }

  .section {
    padding: 2.5rem 0;
  }

  /* Extra protection for the green box on phones */
  .cta-section {
    padding: 1.4rem 1.1rem;
    border-radius: 16px;
  }

  .cta-section h2 {
    font-size: 1.45rem;
    line-height: 1.3;
  }

  .cta-section p {
    font-size: 1.05rem;
  }

  .cta-section .btn {
    font-size: 1.05rem;
    padding: 0.85rem 1.1rem;
  }
}