/* ═══════════════════════════════════════════════════════════
   RESPONSIVE — Breakpoints & Accessibility
   Agencia OZ — css/responsive.css
   ═══════════════════════════════════════════════════════════ */

/* ─── SCROLL ANIMATIONS ────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

/* ─── TABLET (≤1024px) ─────────────────────────────────────── */
@media (max-width: 1024px) {
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .studio-grid, .ai-grid { grid-template-columns: 1fr; gap: 48px; }
  .social-grid { grid-template-columns: repeat(2, 1fr); }
  .hero-stats { gap: 40px; }
  .hero-float { display: none; }
  .hero-bg { background-image: linear-gradient(90deg, rgba(10,10,10,0) 0%, rgba(10,10,10,0.15) 25%, rgba(10,10,10,0.7) 50%, rgba(10,10,10,0.92) 70%, rgba(10,10,10,0.98) 100%), linear-gradient(180deg, rgba(10,10,10,0.2) 0%, transparent 30%, transparent 70%, rgba(10,10,10,0.95) 100%), url('../Assets/hero-bg-tablet.webp') !important; }
}

/* ─── MOBILE (≤768px) ──────────────────────────────────────── */
@media (max-width: 768px) {
  .section-padding { padding: 80px 0; }
  .section-header { margin-bottom: 48px; }

  /* Nav */
  .nav-links { display: none; }
  .mobile-menu-btn { display: block; }
  .nav-links.open {
    display: flex;
    flex-direction: column;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(10, 10, 10, 0.98);
    backdrop-filter: blur(20px);
    padding: 24px;
    gap: 20px;
    z-index: 999;
  }
  .nav-links.open a {
    font-size: 16px;
    padding: 8px 0;
  }

  /* Hero */
  .hero-content {
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    text-align: center;
    padding: 0 20px;
    padding-top: 80px;
  }
  .hero-desc {
    margin-left: auto;
    margin-right: auto;
  }
  .hero-ctas { flex-direction: column; justify-content: center; align-items: center; }
  .hero-stats { flex-direction: column; gap: 24px; justify-content: center; align-items: center; }
  .hero-badge { font-size: 11px; padding: 6px 14px; }
  .hero-bg { background-position: center center !important; background: linear-gradient(180deg, rgba(10,10,10,0.5) 0%, rgba(10,10,10,0.4) 30%, rgba(10,10,10,0.8) 70%, rgba(10,10,10,0.98) 100%), url('../Assets/hero-bg-mobile.webp') center center / cover no-repeat !important; }

  /* Buttons */
  .btn-primary, .btn-outline {
    text-align: center;
    justify-content: center;
    width: 100%;
    padding: 14px 28px;
  }

  /* Services */
  .services-grid { grid-template-columns: 1fr; }
  .service-card { padding: 32px 24px; }

  /* Studio */
  .studio-photo-grid { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .studio-photo-grid img { height: 120px; }
  .studio-photo-main { border-radius: 14px; }
  .studio-content .section-label { text-align: center; }
  .studio-content h2 { text-align: center; }
  .studio-content p { text-align: center; }
  .studio-features-list { justify-items: center; }

  /* AI Section */
  .ai-visual { grid-template-columns: 1fr 1fr; gap: 12px; }
  .ai-card { padding: 20px 14px; }
  .ai-card:nth-child(2) { margin-top: 0; }
  .ai-card:nth-child(3) { margin-top: 0; }
  .ai-content .section-label { text-align: center; }
  .ai-content h2 { text-align: center; }
  .ai-content p { text-align: center; }

  /* Social */
  .social-grid { grid-template-columns: 1fr; }
  .social-card { padding: 24px 20px; }

  /* Contact */
  .contact-info { flex-direction: column; gap: 24px; justify-content: center; align-items: center; }
  .contact-rows { gap: 36px; }
  .contact-office { padding: 0 16px; }

  /* Floating buttons */
  .floating-buttons { bottom: 20px; right: 16px; }
  .float-btn a { width: 48px; height: 48px; }
  .float-btn svg { width: 22px; height: 22px; }
  .float-btn .tooltip { display: none; }

  /* Footer */
  .footer-inner {
    flex-direction: column;
    gap: 20px;
    text-align: center;
  }
}

/* ─── SMALL PHONES (≤480px) ────────────────────────────────── */
@media (max-width: 480px) {
  .section-padding { padding: 60px 0; }
  .container { padding: 0 16px; }

  .hero h1 { font-size: clamp(2.2rem, 10vw, 3rem); }
  .hero h1 .line2 { font-size: clamp(0.9rem, 3.5vw, 1.2rem); }
  .hero-desc { font-size: 0.95rem; }
  .hero-stats { margin-top: 48px; }
  .hero-stat h3 { font-size: 1.8rem; }

  .section-title { font-size: clamp(1.6rem, 6vw, 2rem); }
  .section-subtitle { font-size: 0.9rem; }

  .ai-visual { grid-template-columns: 1fr; }
  .ai-card .icon { width: 48px; height: 48px; }

  .social-grid { gap: 12px; }

  .pricing-preview h2 { font-size: clamp(1.6rem, 6vw, 2rem); }

  .contact-inner h2 { font-size: clamp(1.8rem, 6vw, 2.2rem); }
  .contact-inner p { font-size: 0.95rem; }
}

/* ─── ACCESSIBILITY ───────────────────────────────────────── */
*:focus-visible {
  outline: 2px solid var(--copper);
  outline-offset: 2px;
}

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