/* ==========================================================================
   Responsive rules – tested at 375 / 768 / 1024 / 1440
   ========================================================================== */
@media (max-width: 1180px) {
  .nav-link { padding: 10px 9px; font-size: .9rem; }
  .nav-link::after { left: 9px; right: 9px; }
  .brand img { width: 180px; }
  .footer-top { grid-template-columns: repeat(3, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .mega-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 1080px) {
  .primary-nav { display: none; }
  .menu-toggle { display: inline-flex; }
  .header-actions { margin-left: auto; }
  .hero-grid, .split, .contact-layout, .how-grid, .overview-grid, .about-layout { grid-template-columns: 1fr; gap: 48px; }
  .split--reverse .split-copy { order: 0; }
  .hero-art { max-width: 620px; margin: 0 auto; width: 100%; }
  .card-grid--3, .directory { grid-template-columns: repeat(2, 1fr); }
  .industry-grid { grid-template-columns: repeat(3, 1fr); }
  .service-hero { grid-template-columns: 1fr; }
  .article-layout { grid-template-columns: 1fr; }
  .article-aside, .overview-aside, .about-aside { position: static; }
  .service-hero-media { max-width: 640px; }
  .hero-media-badge { left: 12px; bottom: 12px; }
  .cta-band-inner { flex-direction: column; align-items: flex-start; }
  .intro-grid { grid-template-columns: 1fr; gap: 20px; }
  .process { grid-template-columns: repeat(2, 1fr); row-gap: 44px; }
  .process-line { display: none; }
  .carousel-slide { flex-basis: calc((100% - 24px) / 2); }
  .hero-scroll { display: none; }
}
@media (max-width: 760px) {
  :root { --header-h: 66px; }
  body { padding-bottom: 64px; }
  .section { padding: 72px 0; }
  .section--tight { padding: 48px 0; }
  .hero { padding: 40px 0 64px; }
  .page-hero { padding: 28px 0 52px; }
  .card-grid--2, .card-grid--3, .directory, .tools-grid { grid-template-columns: 1fr; }
  .industry-grid { grid-template-columns: 1fr 1fr; gap: 12px; }
  .industry-card { flex-direction: column; padding: 16px; }
  .industry-card p { display: none; }
  .form-grid { grid-template-columns: 1fr; }
  .form-card { padding: 28px 18px; }
  .dev-features { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .section-head { margin-bottom: 36px; }
  .header-cta { display: none; }
  .brand img { width: 168px; }
  .browser { margin: 10px 18px 40px 0; }
  .device-phone { width: 104px; right: -14px; }
  .float-tag--1 { left: -6px; }
  .mock-hero { grid-template-columns: 1fr; }
  .mock-img { min-height: 70px; }
  .process-detail-item { grid-template-columns: 1fr; gap: 10px; padding: 22px; }
  .workflow-step:nth-child(even) { margin-left: 24px; }
  .carousel-slide { flex-basis: 100%; }
  .solution-card { padding: 28px 22px 24px; }
  .blob--3, .shape--square, .shape--plus { display: none; }

  /* Mobile: fixed bottom call / WhatsApp bar replaces floating buttons */
  .float-actions { display: none; }
  .mobile-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; box-shadow: 0 -8px 24px -12px rgba(7, 29, 73, .35); }
  .mobile-bar-btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 56px; padding: 0 12px; color: #fff; font-weight: 700; text-decoration: none; padding-bottom: env(safe-area-inset-bottom); }
  .mobile-bar-btn--call { background: var(--color-primary); }
  .mobile-bar-btn--wa { background: var(--color-whatsapp); }
  .mobile-bar-btn:hover { color: #fff; }
  .back-to-top { left: auto; right: 14px; bottom: 76px; width: 46px; height: 46px; }
  .anim-ready .mobile-bar { animation: barUp .6s cubic-bezier(.16, 1, .3, 1) 1s both; }
  @keyframes barUp { from { transform: translateY(100%); } to { transform: none; } }
}
@media (max-width: 480px) {
  .btn-row .btn { width: 100%; }
  .check-list--2 { grid-template-columns: 1fr; }
  .process { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
  .cta-band { padding: 60px 0; }
  .service-card { padding: 24px; }
  .service-card-media { margin: -24px -24px 22px; }
  .hero-rotator { font-size: 1.05rem; }
  .typed { white-space: normal; }
  .float-tag { display: none; }
}

/* Touch devices: no tilt, parallax or magnetic effects */
html.touch .hero-shapes .shape, html.touch [data-parallax-item] { transform: none !important; }
