/* =========================================
   RESPONSIVE OVERRIDES
   Extra breakpoints and mobile utilities
   ========================================= */

/* --- MOBILE STICKY CTA --- */
.mobile-sticky-cta {
  display: none;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 850;
  padding: 12px 20px;
  background: rgba(10,10,10,0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-top: 1px solid rgba(255,255,255,0.08);
  gap: 10px;
}

.mobile-sticky-cta .btn {
  flex: 1;
  justify-content: center;
  font-size: 13px;
  padding: 13px 16px;
}

/* --- TABLET (max 1024px) --- */
@media (max-width: 1024px) {
  body { font-size: 15px; }

  .page-hero h1 { font-size: clamp(52px, 8vw, 100px); }

  .section-title { font-size: clamp(36px, 6vw, 64px); }
}

/* --- MOBILE MENU OPEN BODY LOCK --- */
body.menu-open {
  overflow: hidden;
}

/* --- SMALL TABLET (max 768px) --- */
@media (max-width: 768px) {
  .mobile-sticky-cta { display: flex; }

  /* Add bottom padding so content doesn't get hidden behind CTA */
  body { padding-bottom: 80px; }

  .page-hero {
    padding: 130px 0 60px;
    text-align: center;
  }

  .page-hero p { margin-left: auto; margin-right: auto; }

  /* Hero stat row becomes single column */
  .hero-stats {
    flex-wrap: wrap;
    gap: 20px;
  }

  .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1px;
  }

  .cta-band h2 { text-align: center; }
  .cta-band-actions { width: 100%; justify-content: center; }
}

/* --- MOBILE (max 480px) --- */
@media (max-width: 480px) {
  .btn { padding: 13px 24px; font-size: 13px; }

  .section-title { font-size: 38px; }

  .hero-headline { font-size: 56px; }

  .stats-big-number { font-size: 42px; }

  .footer-bottom .footer-container {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }

  .footer-legal { gap: 16px; }
}

/* --- PRINT STYLES --- */
@media print {
  .navbar, .float-line, .mobile-sticky-cta, footer { display: none; }
  body { background: white; color: black; }
  .section-title { color: black; }
}

/* --- HIGH DPI / RETINA --- */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .hero-noise { opacity: 0.2; }
}

/* --- REDUCED MOTION --- */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  html { scroll-behavior: auto; }
}
