/* ================================================
   BRG CONSULTANCY — Responsive CSS v3
   ================================================ */

/* ── Tablet: max 1024px ── */
@media (max-width: 1024px) {
  :root { --section-padding: 72px 0; }
  .container { padding: 0 28px; }

  .cards-4   { grid-template-columns: repeat(2,1fr); }
  .why-grid  { grid-template-columns: 1fr; gap: 44px; }
  .framework-grid { grid-template-columns: 1fr; gap: 44px; }
  .framework-intro { position: static; }
  .contact-grid { grid-template-columns: 1fr; gap: 36px; }
  .offices-grid { grid-template-columns: repeat(3,1fr); }
  .cards-3  { grid-template-columns: repeat(2,1fr); }

  .metrics-grid { grid-template-columns: repeat(2,1fr); }
  .metric-item:nth-child(2) { border-right: none; }
  .metric-item:nth-child(3) { border-right: 1px solid var(--border); border-top: 1px solid var(--border); }
  .metric-item:nth-child(4) { border-top: 1px solid var(--border); border-right: none; }

  /* Footer: 2 columns on tablet */
  footer.site-footer .footer-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 36px !important;
  }
}

/* ── Mobile: max 768px ── */
@media (max-width: 768px) {
  :root { --section-padding: 56px 0; }
  .container { padding: 0 20px; }

  /* Header */
  .hamburger    { display: flex; }
  .header-cta   { display: none; }
  .main-nav {
    position: fixed; top: 0; right: -100%;
    width: 80%; max-width: 300px; height: 100vh;
    background: #fff; padding: 96px 28px 36px;
    z-index: 999; transition: right 0.4s cubic-bezier(0.4,0,0.2,1);
    box-shadow: -8px 0 40px rgba(36,43,95,0.14); overflow-y: auto;
  }
  .main-nav.open { right: 0; }
  .nav-list { flex-direction: column; align-items: flex-start; gap: 2px; }
  .nav-link { font-size: 1rem; padding: 11px 0; }
  .nav-link::after { left: 0; right: 0; }

  /* Hero */
  .home-hero { min-height: 88vh; padding-bottom: 52px; }
  .hero-actions { flex-direction: column; gap: 10px; }
  .hero-actions .btn { width: 100%; justify-content: center; }
  .hero-micro-stats { gap: 20px; flex-wrap: wrap; }

  .page-hero { padding: 112px 0 56px; }

  /* Grids */
  .cards-3, .cards-4, .cards-2 { grid-template-columns: 1fr; }
  .metrics-grid { grid-template-columns: repeat(2,1fr); }
  .metric-item  { border-right: none; border-bottom: 1px solid var(--border); }
  .metric-item:last-child { border-bottom: none; }
  .metric-item:nth-child(3) { border-right: none; border-top: none; }
  .offices-grid { grid-template-columns: repeat(2,1fr); }
  .panel-stats  { grid-template-columns: 1fr; }
  .form-row     { grid-template-columns: 1fr; }
  .framework-steps { grid-template-columns: 1fr; }

  /* Process */
  .process-steps { flex-direction: column; gap: 28px; }
  .process-steps::before { left: 26px; top: 0; bottom: 0; right: auto; width: 2px; height: auto; }
  .process-step { display: flex; align-items: flex-start; gap: 14px; text-align: left; }
  .step-dot { margin: 0; flex-shrink: 0; width: 42px; height: 42px; font-size: 0.78rem; }

  /* Contact */
  .contact-form { padding: 26px 22px; }

  /* Cookie */
  .cookie-inner   { flex-direction: column; align-items: flex-start; }
  .cookie-actions { flex-wrap: wrap; }

  /* CTA */
  .cta-actions { flex-direction: column; align-items: center; }
  .cta-actions .btn { min-width: 210px; justify-content: center; }

  /* Eco */
  .eco-nodes { grid-template-columns: 1fr 1fr; }

  /* Leaders */
  .cards-3.leader-grid { grid-template-columns: 1fr 1fr; }

  /* Footer: single column on mobile */
  footer.site-footer .footer-top { padding: 44px 0 32px; }
  footer.site-footer .footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
  footer.site-footer .footer-bottom-inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  footer.site-footer .footer-legal { flex-wrap: wrap; gap: 8px; }
}

/* ── Small: max 480px ── */
@media (max-width: 480px) {
  h1 { font-size: 1.95rem; }
  h2 { font-size: 1.55rem; }
  .metric-num { font-size: 1.9rem; }
  .hero-micro-stats { justify-content: space-between; }
  .cards-3.leader-grid { grid-template-columns: 1fr; }
  .clients-marquee { gap: 12px; }
  .offices-grid { grid-template-columns: 1fr 1fr; }
}

/* ── Print ── */
@media print {
  .site-header, .site-footer, .cookie-banner, .scroll-top { display: none; }
  .page-hero, .home-hero { padding-top: 20px; background: none !important; color: #000 !important; }
  .page-hero h1, .home-hero h1 { color: #000 !important; }
}
