/* ============================================================
   3D Printing Hub — Responsive
   Large monitor → desktop → laptop → tablet → mobile
   ============================================================ */

/* Large monitors */
@media (min-width: 1600px) {
  :root { --container: 1400px; }
  h1 { font-size: clamp(3rem, 4vw, 5rem); }
}

/* Laptop / small desktop */
@media (max-width: 1180px) {
  .grid-4 { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

/* Tablet landscape */
@media (max-width: 1024px) {
  .nav-links, .nav-cta .btn:not(.nav-quote) { display: none; }
  .nav-toggle { display: flex; }
  .hero-grid { grid-template-columns: 1fr; gap: 30px; }
  .hero-canvas-wrap { height: 420px; order: -1; }
  .hero-copy { max-width: 100%; text-align: center; margin-inline: auto; }
  .hero-sub { margin-inline: auto; }
  .hero-actions, .hero-stats { justify-content: center; }
  .grid-3 { grid-template-columns: repeat(2, 1fr); }
  .masonry { columns: 2; }
  .stats-band { grid-template-columns: repeat(2, 1fr); }

  /* Mobile nav drawer */
  .nav-links {
    position: fixed; inset: var(--nav-h) 0 auto 0;
    flex-direction: column; align-items: stretch; gap: 4px;
    padding: 20px; margin: 0 12px;
    background: rgba(11, 15, 30, 0.96); backdrop-filter: blur(20px);
    border: 1px solid var(--glass-border); border-radius: 20px;
    box-shadow: var(--shadow-float);
    transform: translateY(-14px); opacity: 0; pointer-events: none;
    transition: transform .35s var(--ease), opacity .35s;
  }
  .nav-links.open { display: flex; transform: none; opacity: 1; pointer-events: auto; }
  .nav-links a { padding: 13px 16px; border-radius: 12px; font-size: 1rem; }
  .nav-links a::after { display: none; }
  .nav-links a:hover, .nav-links a.active { background: var(--glass-bg); }
}

/* Tablet portrait */
@media (max-width: 820px) {
  .grid-2, .grid-3, .form-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .cols-2 { grid-template-columns: 1fr !important; }
  .mobile-cta { display: flex; }
  .float-stack { bottom: 82px; }
}

/* Mobile */
@media (max-width: 560px) {
  :root { --nav-h: 66px; }
  .section { padding: 60px 0; }
  .masonry { columns: 1; }
  .grid-4, .stats-band { grid-template-columns: 1fr 1fr; }
  .hero-canvas-wrap { height: 340px; }
  .hero-actions { flex-direction: column; }
  .hero-actions .btn { width: 100%; }
  .hero-stats { gap: 18px; justify-content: space-between; }
  .hero-stats .stat b { font-size: 1.35rem; }
  .btn-lg { padding: 15px 24px; }
  .footer-bottom { flex-direction: column; text-align: center; }
  .cta-band .hero-actions .btn { width: 100%; }
  .tl-step { padding-left: 66px; }
  .cookie { flex-direction: column; text-align: center; }
  .cookie .btn { width: 100%; }
  .nav-cta .nav-quote { padding: 10px 16px; font-size: .85rem; }
}

/* Reduce heavy blur on low-power / small screens for perf */
@media (max-width: 560px) {
  :root { --glass-blur: 10px; }
  body::after { background-size: 40px 40px; }
}
