/* =========================================================
   ZENITH DEVELOPERS — RESPONSIVE RULES
   Layouts re-flow (not merely shrink) at each breakpoint.
   ========================================================= */

@media (max-width: 1200px) {
  .main-nav a { padding: 10px 10px; }
  .main-nav a:not(.btn-nav).active::after, .main-nav a:not(.btn-nav):hover::after { left: 10px; right: 10px; }
  .projects-editorial .project-card, .projects-editorial .project-card.small, .projects-editorial .project-card.large { grid-column: span 6; }
  .client-grid, .cap-grid { grid-template-columns: repeat(3, 1fr); }
  .footer-grid { grid-template-columns: 1.3fr 1fr 1fr 1.3fr; gap: 36px; }
}

@media (max-width: 1024px) {
  :root { --header-h: 72px; }
  .main-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .logo-link img { height: 32px; }

  .intro, .service-layout, .presence-wrap, .principles-layout, .contact-layout, .split, .detail-body { grid-template-columns: 1fr; }
  .intro .frame { max-width: 520px; margin-bottom: 20px; }
  .service-layout .sticky { position: static; }
  .principles-layout { gap: 40px; }

  .timeline { grid-template-columns: 1fr 1fr; gap: 36px 32px; }
  .timeline::before { display: none; }
  .timeline-item { padding-top: 32px; border-top: 2px solid var(--line); }
  .timeline-item::before { top: -9px; }

  .value-grid { grid-template-columns: 1fr 1fr; }
  .value-card, .value-card + .value-card { padding: 28px 24px 8px 0; border-left: 0; }
  .value-card:nth-child(even) { padding-left: 24px; border-left: 1px solid var(--line); }
  .value-card:nth-child(n+3) { border-top: 1px solid var(--line); margin-top: 20px; }

  .featured-article { grid-template-columns: 1fr; }
  .featured-article img { min-height: 240px; max-height: 340px; }
  .mv-grid { grid-template-columns: 1fr; }
  .mv-panel.dark, .mv-panel.light { padding-left: var(--gutter); padding-right: var(--gutter); }
  .leader-grid { grid-template-columns: repeat(2, 1fr); }
  .detail-meta-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr 1fr; }

  .service-detail, .service-detail:nth-of-type(even) { grid-template-columns: 1fr; gap: 32px; }
  .service-detail:nth-of-type(even) .service-media { order: 0; }
  .service-detail:nth-of-type(even) .service-media::after { left: auto; right: -14px; border-left: 0; border-right: 3px solid var(--accent); }
}

@media (max-width: 860px) {
  .hero-strip ul { grid-template-columns: 1fr 1fr; }
  .hero-strip li:nth-child(3) { border-left: 0; }
  .hero-strip li:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .stat-item { padding: 32px 24px; }
  .stat-item:nth-child(3) { border-left: 0; padding-left: 0; }
  .stat-item:nth-child(n+3) { border-top: 1px solid var(--ink-600); }
  .news-grid, .related-grid { grid-template-columns: 1fr 1fr; }
  .client-grid, .cap-grid { grid-template-columns: 1fr 1fr; }
  .projects-editorial { gap: 40px 24px; }
}

@media (max-width: 680px) {
  :root { --gutter: 20px; }
  .hero { min-height: 0; }
  .hero-main { padding-top: calc(var(--header-h) + 40px); padding-bottom: 44px; }
  .hero-cta .btn { flex: 1 1 100%; }
  .hero-strip a { padding: 16px 14px; gap: 10px; font-size: .875rem; min-height: 64px; }
  .hero-strip a .fa-arrow-right { display: none; }

  .page-hero { min-height: 320px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - 24px), 0 100%); }
  .page-hero .container { padding-bottom: 56px; }

  .projects-editorial, .news-grid, .related-grid { grid-template-columns: 1fr; }
  .projects-editorial .project-card, .projects-editorial .project-card.small, .projects-editorial .project-card.large { grid-column: auto; }
  .project-card.large .media, .project-card.small .media { height: auto; aspect-ratio: 4 / 3; }

  .check-list { grid-template-columns: 1fr; }
  .frame::before { left: -10px; bottom: -10px; }
  .frame img { aspect-ratio: 4 / 3; }
  .service-row { grid-template-columns: 48px 1fr; gap: 6px 16px; padding: 22px 0; }
  .service-row .ico { width: 48px; height: 48px; font-size: 1.15rem; }
  .service-row .go { display: none; }
  .service-row:hover { padding-left: 0; padding-right: 0; background: transparent; }
  .principles { grid-template-columns: 1fr; }
  .timeline { grid-template-columns: 1fr; }
  .value-grid { grid-template-columns: 1fr; }
  .value-card, .value-card + .value-card, .value-card:nth-child(even) { padding: 24px 0 8px; border-left: 0; }
  .value-card + .value-card { border-top: 1px solid var(--line); margin-top: 16px; }
  .detail-meta-grid { grid-template-columns: 1fr 1fr; }
  .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 36px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .leader-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .filter-bar { padding: 18px; }
  .filter-group, .filter-group.grow { flex: 1 1 100%; }
  .gallery-grid { gap: 8px; }
  .lightbox { padding: 64px 12px; }
  .lightbox-nav.prev { left: 8px; } .lightbox-nav.next { right: 8px; }
  .lightbox-caption { padding: 0 20px; }
  .cta-inner { flex-direction: column; align-items: flex-start; }
  .cta-row .btn { flex: 1 1 100%; }
  .service-index a { flex: 1 1 100%; border-right: 0; border-bottom: 1px solid var(--line); }
  .service-index a:last-child { border-bottom: 0; }
  table.spec-table th, table.spec-table td { display: block; width: 100%; padding: 0; border: 0; }
  table.spec-table th { padding-top: 16px; font-size: var(--fs-caption); }
  table.spec-table td { padding-bottom: 16px; border-bottom: 1px solid var(--line); }
  table.spec-table tr { display: block; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 440px) {
  .client-grid, .cap-grid { grid-template-columns: 1fr; }
  .stats-grid { grid-template-columns: 1fr; }
  .stat-item, .stat-item:nth-child(3) { border-left: 0; padding-left: 0; }
  .stat-item + .stat-item { border-top: 1px solid var(--ink-600); }
  .leader-grid { grid-template-columns: 1fr; }
}
