/* ==========================================================================
   GooDesign — Responsive Rules
   Breakpoints: 1440 / 1280 / 1024 / 820 / 768 / 480 / 375
   ========================================================================== */

/* ---- Large desktop refinement ---- */
@media (max-width: 1440px) {
  :root { --container: 1180px; }
}

/* ---- Laptop / small desktop ---- */
@media (max-width: 1280px) {
  .stats-grid { grid-template-columns: repeat(4, 1fr); gap: var(--space-4); }
  .industries-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ---- Tablet landscape ---- */
@media (max-width: 1024px) {
  .main-nav ul { gap: var(--space-4); }
  .hero { padding: 150px 0 var(--space-8); }
  .hero-grid { grid-template-columns: 1fr; gap: var(--space-6); }
  .hero-copy .lede { max-width: 100%; }
  .hero-visual { max-width: 560px; }
  .about-grid { grid-template-columns: 1fr; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .service-card.featured { grid-row: span 1; }
  .footer-top { grid-template-columns: 1fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; margin-bottom: var(--space-4); }
}

/* ---- Tablet portrait ---- */
@media (max-width: 820px) {
  .main-nav { display: none; }
  .nav-toggle { display: flex; }
  .portfolio-grid { grid-template-columns: 1fr; }
  .industries-grid { grid-template-columns: repeat(2, 1fr); }
  .process-item { grid-template-columns: 60px 1fr; }
  .stats-grid { grid-template-columns: repeat(2, 1fr); row-gap: var(--space-6); }
  .form-grid { grid-template-columns: 1fr; }
}

/* ---- Mobile ---- */
@media (max-width: 768px) {
  .site-header { padding: 16px 0; }
  .brand span { display: none; }
  .header-actions .btn { padding: 11px 18px; font-size: 0.88rem; }
  .hero { padding: 130px 0 var(--space-7); }
  .hero-ctas { flex-direction: column; align-items: stretch; }
  .hero-ctas .btn { width: 100%; }
  .floating-card { display: none; }
  .browser-mock { transform: none; }
  .services-grid { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: var(--space-4); }
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .final-cta { padding: var(--space-7) var(--space-4); }
  .final-cta-actions { flex-direction: column; width: 100%; }
  .final-cta-actions .btn { width: 100%; }
  section { padding: var(--space-7) 0; }
}

/* ---- Small mobile ---- */
@media (max-width: 480px) {
  .container, .container-narrow { padding: 0 var(--space-3); }
  .industries-grid { grid-template-columns: 1fr 1fr; }
  .stats-grid { grid-template-columns: 1fr 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .build-card { flex: 0 0 78vw; }
  .floating-contact { bottom: 16px; right: 16px; }
  .floating-contact .fab { width: 50px; height: 50px; }
  .page-header { padding: 130px 0 var(--space-5); }
}

/* ---- Very small mobile ---- */
@media (max-width: 375px) {
  .btn { padding: 13px 20px; font-size: 0.9rem; }
  .eyebrow { font-size: 0.72rem; }
}

/* ---- Landscape phones ---- */
@media (max-height: 480px) and (orientation: landscape) {
  .mobile-nav { justify-content: flex-start; padding-top: 100px; overflow-y: auto; }
}

/* ---- Mega menu / sidebar responsive ---- */
@media (max-width: 1024px) {
  .page-layout { grid-template-columns: 1fr; }
  .page-sidebar { position: static; }
}
@media (max-width: 900px) {
  .mega-inner { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 820px) {
  .mega-panel { display: none; }
}

/* ---- No horizontal scroll guarantee ---- */
html, body { max-width: 100%; overflow-x: clip; }
