/* ─── ≤ 1100 — small desktop / large tablet ───────────────────── */
@media (max-width: 1100px) {
  :root { --wrap-pad: 24px; }

  .hero-title { font-size: 64px; }
  .section-title { font-size: 44px; }

  .hero .wrap { gap: 48px; }
  .expertise-grid { grid-template-columns: repeat(2, 1fr); }
  .why-grid { grid-template-columns: repeat(2, 1fr); }
  .testim-grid { grid-template-columns: 1fr; gap: 20px; }
  .cta-steps { grid-template-columns: repeat(2, 1fr); gap: 32px; }

  .foot-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .foot-grid > :nth-child(4) { grid-column: 1 / -1; }

  .faq-grid { grid-template-columns: 1fr; gap: 32px; }
  .cta-grid { grid-template-columns: 1fr; gap: 48px; }
  .about-grid { grid-template-columns: 1fr 1fr; gap: 48px; }
}

/* ─── ≤ 860 — tablet / large phone ────────────────────────────── */
@media (max-width: 860px) {
  .topbar { display: none; }
  .site-header .wrap { height: 72px; }
  .nav-links { display: none; }
  .nav-cta { display: none; }
  .nav-toggle { display: inline-flex; }

  .logo-word { font-size: 17px; }
  .logo-word em { font-size: 10px; }

  .hero-title { font-size: 48px; }
  .section-title { font-size: 36px; line-height: 1.1; }

  .hero { padding: 56px 0 72px; }
  .hero .wrap { grid-template-columns: 1fr; gap: 40px; }
  .hero-portrait { max-width: 420px; margin: 0 auto; width: 100%; }

  .section-head { grid-template-columns: 1fr; gap: 20px; margin-bottom: 48px; }
  .about, .why, .testim, .faq, .cta, .expertise { padding: 72px 0; }

  .expertise-grid { grid-template-columns: 1fr; }
  .why-grid { grid-template-columns: 1fr; }
  .about-grid { grid-template-columns: 1fr; gap: 32px; }
  .about-frame { max-width: 480px; margin: 0 auto; }

  .cta h2 { font-size: 36px; }
  .cta-steps { grid-template-columns: 1fr; gap: 28px; }
  .cta-steps li { gap: 14px; }
  .cta-map { height: 200px; }
  .cta-contact { border-left: 0; padding-left: 0; }

  .faq-item > summary { font-size: 18px; padding: 22px 4px; }
  .faq-answer { font-size: 15px; }

  .foot-grid { grid-template-columns: 1fr 1fr; gap: 32px; padding-bottom: 40px; }
  .foot-grid > :first-child { grid-column: 1 / -1; }

  .hero-ctas { flex-wrap: wrap; }
  .hero-ctas a { flex: 1 1 auto; justify-content: center; }
}

/* ─── ≤ 520 — phone ───────────────────────────────────────────── */
@media (max-width: 520px) {
  :root { --wrap-pad: 18px; }

  .hero-title { font-size: 38px; line-height: 1.1; }
  .section-title { font-size: 28px; }
  .hero-sub { font-size: 16px; }
  .eyebrow { font-size: 11px; }
  .section-num { font-size: 13px; }
  .cta h2 { font-size: 28px; }

  .about, .why, .testim, .faq, .cta, .expertise { padding: 56px 0; }

  .practice { padding: 28px 24px; }
  .practice-num { top: 20px; right: 20px; font-size: 28px; }
  .testim-card { padding: 32px 24px; }
  .why-card { padding: 32px 24px; }

  .cta-row { gap: 14px; }
  .cta-value { font-size: 18px; }
  .cta-value.small { font-size: 15px; }

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

  .hero-ctas { flex-direction: column; }
  .hero-ctas a { width: 100%; }

  .section-divider { padding: 36px 0 28px; }
}
