/* ===================================
   RESPONSIVE — Breakpoints
   =================================== */

/* ── Wide tablet (≤ 1200px) ── */
@media (max-width: 1200px) {
  .bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .bento-large     { grid-column: span 2; }
  .bento-horizontal { grid-column: span 2; }
  .bento-item:not(.bento-large):not(.bento-horizontal) {
    grid-column: span 1;
  }
}

/* ── Tablet (≤ 1024px) ── */
@media (max-width: 1024px) {
  .section-padding { padding: 6rem 2rem; }

  /* Hero */
  .hero {
    grid-template-columns: 1fr;
    text-align: center;
    padding-top: 7.5rem;
    gap: 3rem;
    min-height: auto;
    padding-bottom: 5rem;
  }
  .hero-content { align-items: center; }
  .hero-subtitle { max-width: 600px; }
  .hero-cta, .tech-logos { justify-content: center; }
  .hero-visual { justify-content: center; }
  .device-frame { max-width: 340px; }

  /* Grids */
  .grid-3    { grid-template-columns: 1fr 1fr; }
  .arch-list { grid-template-columns: 1fr 1fr; }

  /* Architecture */
  .arch-container { padding: 3rem; }

  /* Footer */
  .footer-content {
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
  }
  .footer-brand { grid-column: span 2; }

  /* Privacy */
  .privacy-layout {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .privacy-toc { position: static; }
  .toc-list {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 0.375rem;
  }
  .toc-list a { font-size: 0.78rem; padding: 0.35rem 0.7rem; }
}

/* ── Mobile (≤ 768px) ── */
@media (max-width: 768px) {
  .max-w { padding: 0 1.25rem; }
  .section-padding { padding: 5rem 1.25rem; }

  /* Navbar — show hamburger */
  .nav-links,
  .nav-actions { display: none; }
  .hamburger   { display: flex; }
  .mobile-menu { display: flex; }

  /* Hero */
  .hero {
    padding-top: 6rem;
    padding-bottom: 4rem;
  }
  .hero-title { letter-spacing: -0.025em; }
  .device-frame {
    max-width: 300px;
    transform: none !important;
  }
  .badge-1, .badge-2 { display: none; }

  /* Grids */
  .grid-3    { grid-template-columns: 1fr; }
  .arch-list { grid-template-columns: 1fr; }

  /* Bento — full single column */
  .bento-grid { grid-template-columns: 1fr; grid-auto-rows: auto; }
  .bento-large,
  .bento-horizontal,
  .bento-item:not(.bento-large):not(.bento-horizontal) {
    grid-column: span 1;
    grid-row: span 1;
  }
  .bento-horizontal {
    flex-direction: column;
    gap: 1.5rem;
  }
  .bento-image-container { min-height: 200px; }
  .img-right img,
  .img-right-offset img {
    position: relative;
    right: auto; top: auto;
    transform: none;
    width: 100%;
    margin-top: 1rem;
  }

  /* Architecture */
  .arch-container { padding: 2rem; }

  /* Privacy */
  .privacy-section { padding: 2rem 1.5rem; }
  .back-to-top     { margin: 1.5rem; }

  /* Footer */
  .footer-content { grid-template-columns: 1fr; gap: 2rem; }
  .footer-brand   { grid-column: span 1; }
  .footer-legal   { flex-direction: column; text-align: center; }
}

/* ── Small mobile (≤ 480px) ── */
@media (max-width: 480px) {
  .hero-cta { flex-direction: column; align-items: stretch; }
  .hero-cta .btn { text-align: center; }

  .btn-large { padding: 0.75rem 1.5rem; }

  .section-header h2 { font-size: 1.75rem; }

  .device-frame { max-width: 260px; }

  .privacy-header h1 { font-size: 1.875rem; }
  .privacy-meta { gap: 0.5rem; }
  .privacy-section { padding: 1.75rem 1.25rem; }
  .privacy-section h2 { font-size: 1.2rem; }

  .mobile-menu a { font-size: 1.75rem; }

  .arch-container { padding: 1.5rem; }
}

/* ── 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; }
  .ticker-track { animation: none; }
  .reveal { opacity: 1; transform: none; }
}
