/* ==========================================================================
   PrinterFX — Responsive Stylesheet
   ========================================================================== */

@media (max-width: 1200px) {
  .footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .footer__grid > :last-child { grid-column: 1 / -1; }
  .services-layout { grid-template-columns: 220px 1fr; }
}

@media (max-width: 1024px) {
  .hero__grid { grid-template-columns: 1fr; gap: 3rem; }
  .hero__visual { order: -1; max-width: 600px; margin: 0 auto; }
  .hero__float-card--1 { left: 0; }
  .hero__float-card--2 { right: 0; }
  .stats { grid-template-columns: repeat(2, 1fr); }
  .stat__divider { display: none; }
  .grid--4 { grid-template-columns: repeat(2, 1fr); }
  .grid--3 { grid-template-columns: repeat(2, 1fr); }
  .process { grid-template-columns: repeat(2, 1fr); }
  .feature-row { grid-template-columns: 1fr; gap: 2.5rem; }
  .feature-row--reverse { direction: ltr; }
  .contact-grid { grid-template-columns: 1fr; }
  .services-layout { grid-template-columns: 1fr; }
  .services-nav { position: static; max-height: none; }
  .services-nav ul { display: flex; flex-wrap: wrap; gap: 0.5rem; }
  .services-nav a { padding: 0.375rem 0.75rem; background: var(--gray-100); border-radius: var(--radius-full); }
  .cta-banner { flex-direction: column; text-align: center; padding: 3rem 2rem; }
  .cta-banner__actions { justify-content: center; }
  .values-grid { grid-template-columns: repeat(2, 1fr); }
  .footer__grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
}

@media (max-width: 768px) {
  :root { --header-height: 72px; }
  .section { padding: 4rem 0; }

  .nav-toggle { display: flex; }
  .nav {
    position: fixed; top: var(--header-height); left: 0; right: 0; bottom: 0;
    background: var(--card); flex-direction: column; align-items: stretch;
    padding: 1.5rem; gap: 0.25rem; transform: translateX(100%);
    transition: transform var(--transition); z-index: 999; overflow-y: auto;
  }
  .nav.open { transform: translateX(0); }
  .nav__link { padding: 0.875rem 1rem; font-size: 1rem; }
  .header__actions .btn--primary { display: none; }

  .hero { padding: 3rem 0 4rem; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; }
  .stats { grid-template-columns: 1fr 1fr; padding: 1.5rem; margin-top: -2rem; gap: 1.5rem; }
  .grid--2, .grid--3, .grid--4 { grid-template-columns: 1fr; }
  .process { grid-template-columns: 1fr; }
  .newsletter { padding: 2.5rem 1.5rem; }
  .newsletter__form { flex-direction: column; }
  .form-row { grid-template-columns: 1fr; }
  .service-block ul { grid-template-columns: 1fr; }
  .service-cta { flex-direction: column; text-align: center; }
  .service-section__header { flex-direction: column; }
  .values-grid { grid-template-columns: 1fr; }
  .footer__grid { grid-template-columns: 1fr; }
  .footer__bottom { flex-direction: column; text-align: center; }
  .footer__legal { justify-content: center; }
  .page-hero { padding: 3.5rem 0 3rem; }
  .announcement-bar { font-size: 0.8125rem; padding-right: 2.5rem; }
  .back-to-top { bottom: 1.25rem; right: 1.25rem; width: 44px; height: 44px; }
}

@media (max-width: 480px) {
  .container { padding: 0 1rem; }
  .stats { grid-template-columns: 1fr; }
  .hero__trust { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
  .hero__float-card { display: none; }
  .partners { gap: 1.5rem; }
  .partner-logo { font-size: 0.9375rem; }
  .contact-form-card { padding: 1.5rem; }
  .cta-banner { padding: 2.5rem 1.5rem; }
  .cta-banner__actions { flex-direction: column; width: 100%; }
  .cta-banner__actions .btn { width: 100%; }
}

@media (min-width: 1400px) {
  .container { max-width: 1360px; }
  .hero { padding: 6rem 0 7rem; }
}

@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;
  }
}

@media print {
  .header, .footer, .announcement-bar, .back-to-top, .scroll-progress,
  .loader, .toast-container, .theme-toggle, .nav-toggle { display: none !important; }
  body { background: white; color: black; }
  .section { padding: 1rem 0; }
}
