/* ===== Tablet & Mobile: ≤900px ===== */
@media (max-width: 900px) {

  /* Nav: hamburger */
  .nav__links { display: none; }
  .nav__hamburger { display: flex; }
  .nav__links.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 64px;
    left: 0;
    right: 0;
    background: #fff;
    border-bottom: 1px solid var(--color-border);
    padding: 1rem 1.5rem;
    gap: 0.25rem;
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
    z-index: 99;
  }
  .nav__links.open a {
    font-size: 0.9375rem;
    padding: 0.75rem 0;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-text);
  }
  .nav__links.open a:last-child { border-bottom: none; }
  .nav__links.open .btn--primary {
    margin-top: 0.5rem;
    width: 100%;
    text-align: center;
    font-size: 0.9375rem;
    padding: 0.75rem 1rem;
  }

  /* Layout */
  .hero__inner { grid-template-columns: 1fr; }
  .hero__visual { display: none; }
  .hero__title { font-size: 1.75rem; }

  .targets__grid { grid-template-columns: 1fr; gap: 1rem; }
  .services__grid { grid-template-columns: repeat(2, 1fr); }
  .strengths__grid { grid-template-columns: 1fr; }
  .pricing__grid { grid-template-columns: 1fr; max-width: 420px; margin: 0 auto; }

  .stats__grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }

  .process__grid { grid-template-columns: 1fr; gap: 1rem; }
  .process__arrow { display: none; }

  .line-cta__card { flex-direction: column; text-align: center; }
  .btn--line { width: 100%; justify-content: center; }

  .about-grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; }
  .about-photo { position: static; }

  .contact-page-grid { grid-template-columns: 1fr; }

  .service-menu-grid { grid-template-columns: 1fr; }

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

  .footer__inner { grid-template-columns: 1fr; gap: 2rem; }
  .footer__bottom { flex-direction: column; gap: 1rem; text-align: center; }

  .section__title { font-size: 1.5rem; }
  .page-header__title { font-size: var(--font-size-3xl); }
}

/* ===== Mobile only: ≤480px ===== */
@media (max-width: 480px) {
  .container { padding: 0 1rem; }
  .section { padding: 3rem 0; }

  .hero { padding-top: calc(64px + 2rem); padding-bottom: 2rem; }
  .hero__title { font-size: 1.5rem; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; text-align: center; }

  .services__grid { grid-template-columns: 1fr; }
  .stats__grid { grid-template-columns: repeat(2, 1fr); }
  .stats__num { font-size: 2rem; }

  .section__title { font-size: 1.375rem; }
  .page-header__title { font-size: var(--font-size-2xl); }

  .faq__list { gap: var(--space-3); }
  .faq__question {
    padding: 1rem;
    gap: 0.625rem;
    font-size: 0.9375rem;
  }
  .faq__question::before,
  .faq__toggle,
  .faq__answer-inner::before {
    width: 26px;
    height: 26px;
  }
  .faq__answer-inner {
    margin: 0 1rem;
    padding: 1rem 0 1.2rem 2.25rem;
    font-size: 0.875rem;
    line-height: 1.85;
  }
  .faq__answer-inner::before { top: 1rem; }
  .thankyou-card { padding: var(--space-8) var(--space-4); }

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