 
@media (max-width: 1200px) {
  :root { --max-w: 1100px; }

  .hero-content { grid-template-columns: 1fr 1fr; gap: var(--sp-10); }
  .footer-main { grid-template-columns: 1.6fr 1fr 1fr 1.4fr; gap: var(--sp-8); }
  .team-grid { grid-template-columns: repeat(4, 1fr); gap: var(--sp-4); }
}

/* ── 1024px (Tablet Landscape) ──────────────────────────── */
@media (max-width: 1024px) {

  /* Nav — hide main nav, show hamburger */
  .main-nav { display: none; }
  .hamburger { display: flex; }
  .header-actions .btn--login { display: none; }

  /* Hero */
  .hero-content {
    grid-template-columns: 1fr;
    gap: var(--sp-12);
    text-align: center;
  }
  .hero-left { max-width: 600px; margin: 0 auto; }
  .hero-desc { margin-left: auto; margin-right: auto; }
  .hero-actions { justify-content: center; }
  .hero-stats { justify-content: center; }
  .hero-right { display: none; }

  /* Welcome */
  .welcome-grid { grid-template-columns: 1fr; gap: var(--sp-12); }
  .welcome-right { max-width: 520px; margin: 0 auto; }
  .welcome-since { left: 0; }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-card { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .stat-card:nth-child(odd) { border-right: 1px solid rgba(255,255,255,0.1); }
  .stat-card:last-child, .stat-card:nth-last-child(2):nth-child(odd) { border-bottom: none; }

  /* Services */
  .services-grid { grid-template-columns: repeat(2, 1fr); }

  /* Process */
  .process-grid { grid-template-columns: repeat(2, 1fr); }
  .process-grid::before { display: none; }

  /* Team */
  .team-grid { grid-template-columns: repeat(3, 1fr); }

  /* FAQ */
  .faq-grid { grid-template-columns: 1fr; gap: var(--sp-12); }
  .faq-left { position: static; }

  /* CTA */
  .cta-inner {
    grid-template-columns: 1fr;
    text-align: center;
    padding: var(--sp-12) var(--sp-8);
  }
  .cta-actions { flex-direction: row; justify-content: center; }
  .cta-subtitle { margin: 0 auto; }

  /* Footer */
  .footer-main { grid-template-columns: 1fr 1fr; gap: var(--sp-10); }
}

/* ── 768px (Tablet Portrait) ─────────────────────────────── */
@media (max-width: 768px) {

  :root { --header-h: 68px; }

  .section { padding: var(--sp-16) 0; }
  .section--lg { padding: var(--sp-20) 0; }

  /* Hero */
  .hero-content {
    padding-top: calc(var(--header-h) + var(--sp-12));
    padding-bottom: var(--sp-16);
  }
  .hero-geo--ring, .hero-geo--ring2 { display: none; }
  .hero-stats { gap: var(--sp-8); flex-wrap: wrap; }

  /* Services */
  .services-grid { grid-template-columns: 1fr; }

  /* Process */
  .process-grid { grid-template-columns: repeat(2, 1fr); }

  /* Team */
  .team-grid { grid-template-columns: repeat(2, 1fr); }

  /* Testimonials */
  .testimonial-card { flex: 0 0 320px; }

  /* CTA */
  .cta-inner { padding: var(--sp-10) var(--sp-6); }

  /* Footer */
  .footer-main { grid-template-columns: 1fr 1fr; gap: var(--sp-8); }
  .footer-brand { grid-column: span 2; }
  .footer-bottom { flex-direction: column; text-align: center; }

  /* Gallery grid */
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }

  /* Contact grid */
  .contact-grid { grid-template-columns: 1fr; }
}

/* ── 576px (Mobile Large) ────────────────────────────────── */
@media (max-width: 576px) {

  .container { padding: 0 var(--sp-4); }

  /* Hero */
  .hero-title { font-size: clamp(2rem, 8vw, 2.6rem); }
  .hero-stats { flex-direction: column; gap: var(--sp-6); align-items: flex-start; }
  .hero-actions { flex-direction: column; align-items: center; }
  .hero-actions .btn { width: 100%; justify-content: center; }

  /* Stats band */
  .stats-grid { grid-template-columns: 1fr 1fr; }

  /* Process */
  .process-grid { grid-template-columns: 1fr; }
  .process-step { padding: var(--sp-6) var(--sp-3); }

  /* Team */
  .team-grid { grid-template-columns: 1fr 1fr; gap: var(--sp-4); }

  /* Testimonials */
  .testimonial-card { flex: 0 0 280px; }

  /* Footer */
  .footer-main { grid-template-columns: 1fr; }
  .footer-brand { grid-column: span 1; }
  .footer-legal { flex-wrap: wrap; gap: var(--sp-3); justify-content: center; }

  /* Page hero */
  .page-hero-title { font-size: clamp(1.6rem, 6vw, 2.2rem); }

  /* Mosaic */
  .mosaic { grid-template-columns: 1fr; }
  .mosaic-img--tall { aspect-ratio: 16/9; grid-row: auto; }

  /* Welcome */
  .welcome-since { position: static; margin-top: var(--sp-4); }

  /* CTA inner */
  .cta-inner { border-radius: var(--r-lg); }
  .cta-actions .btn { width: 100%; justify-content: center; }
}

/* ── 400px (Small Mobile) ────────────────────────────────── */
@media (max-width: 400px) {
  :root { --fs-3xl: 2.4rem; }
   .stats-grid { grid-template-columns: 1fr; }
  .stat-card { border-right: none !important; border-bottom: 1px solid rgba(255,255,255,0.1); }
}

/* ── Reduced motion ──────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── Print ───────────────────────────────────────────────── */
@media print {
  .site-header, .mobile-nav, .back-to-top, .hero-geo { display: none !important; }
  body { color: #000; background: #fff; }
  a { color: #000; }
}