/* ═══════════════════════════════════════════
   RESPONSIVE
   ═══════════════════════════════════════════ */
@media (max-width: 1024px) {
  .hero2__title { font-size: clamp(2.4rem, 5vw, 3.8rem); }
  .hero2__showcase { max-width: 700px; }
  .hero2__pill--1 { left: 0; }
  .hero2__pill--2 { right: 0; }

  .psuite { grid-template-columns: repeat(2, 1fr); }
  /* Center orphan 3rd card on tablet 2-col grid */
  .psuite__card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    max-width: 50%;
    justify-self: center;
  }
  .features__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .sectors__panel { grid-template-columns: 1fr 1fr; gap: 2.5rem; padding: 2.4rem 2.2rem; }
  .how__panel { grid-template-columns: 1fr 1fr; gap: 2.5rem; padding: 2.4rem 2.2rem; }
  .stats__inner { grid-template-columns: repeat(2, 1fr); }
  .tech__inner { grid-template-columns: 1fr; text-align: center; }
  .tech__desc { margin-left: auto; margin-right: auto; }
  .tech__model { order: -1; }
  #techCanvas { max-width: 420px; max-height: 350px; }
  .footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
  }

}

@media (max-width: 880px) {
  /* Stack sectors & how panels earlier for smaller tablets */
  .sectors__panel {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem 1.8rem;
  }
  .sectors__panel-visual { order: -1; }
  .how__panel {
    grid-template-columns: 1fr;
    gap: 2rem;
    padding: 2rem 1.8rem;
  }
  .how__panel-visual { order: -1; }
}

@media (max-width: 768px) {
  .top-bar { display: none; }
  .nav__links,
  .nav__actions { display: none; }
  .nav__burger { display: flex; }

  /* Mobile slide-down menu */
  .nav__links--open {
    display: flex !important;
    flex-direction: column;
    position: fixed;
    top: var(--nav-h, 72px);
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(15, 25, 35, 0.97);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    padding: 1rem 1.5rem 5rem;
    box-shadow: 0 12px 40px rgba(0,0,0,0.3);
    gap: 0.25rem;
    overflow-y: auto;
    z-index: 999;
    animation: mobileNavSlide 0.3s cubic-bezier(0.22, 1, 0.36, 1);
  }
  .nav__links--open .nav__link {
    color: rgba(255,255,255,0.85);
    font-size: 1rem;
    padding: 0.75rem 1rem;
    border-radius: 8px;
    width: 100%;
  }
  .nav__links--open .nav__link:hover {
    background: rgba(255,255,255,0.08);
    color: #fff;
  }

  /* Mobile dropdowns — stack vertically */
  .nav__links--open .nav__dropdown {
    flex-direction: column;
    align-items: stretch;
  }
  .nav__links--open .dropdown,
  .nav__links--open .nav__dropdown.active .dropdown,
  .nav__links--open .nav__dropdown:hover .dropdown {
    position: static !important;
    left: auto !important;
    transform: none !important;
    opacity: 0;
    visibility: hidden;
    max-height: 0;
    overflow: hidden;
    padding: 0;
    border: none;
    box-shadow: none;
    background: rgba(255,255,255,0.05);
    border-radius: 8px;
    transition: all 0.3s ease;
    width: 100%;
  }
  .nav__links--open .nav__dropdown.active .dropdown {
    opacity: 1 !important;
    visibility: visible !important;
    max-height: 600px;
    padding: 1rem;
    margin-top: 0.25rem;
  }
  .nav__links--open .dropdown__grid {
    grid-template-columns: 1fr;
    min-width: 0;
    gap: 1rem;
  }
  .nav__links--open .dropdown__link {
    border-radius: 8px;
  }
  .nav__links--open .dropdown__link:hover,
  .nav__links--open .dropdown__link:active {
    background: rgba(255,255,255,0.08) !important;
  }
  .nav__links--open .dropdown__link strong,
  .nav__links--open .dropdown__link:hover strong,
  .nav__links--open .dropdown__link:active strong {
    color: #fff;
  }
  .nav__links--open .dropdown__link span,
  .nav__links--open .dropdown__link:hover span,
  .nav__links--open .dropdown__link:active span {
    color: rgba(255,255,255,0.6);
  }
  .nav__links--open .dropdown__label {
    color: var(--blue);
  }
  .nav__links--open .dropdown__promo {
    display: none;
  }

  /* Show "Get in Touch" at bottom of mobile menu */
  .nav__actions--open {
    display: flex !important;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(15, 25, 35, 0.98);
    padding: 1rem 1.5rem;
    padding-bottom: calc(1rem + env(safe-area-inset-bottom));
    border-top: 1px solid rgba(255,255,255,0.08);
    z-index: 1000;
  }
  .nav__actions--open .btn {
    width: 100%;
    justify-content: center;
    color: #fff;
    border-color: rgba(255,255,255,0.2);
  }

  /* Prevent scroll when mobile nav is open */
  body.nav-open { overflow: hidden; }

  @keyframes mobileNavSlide {
    from { opacity: 0; transform: translateY(-8px); }
    to   { opacity: 1; transform: translateY(0); }
  }

  /* Tighten section spacing on mobile */
  .products { padding: clamp(3rem, 7vw, 5rem) 0; }
  .sectors { padding: clamp(3rem, 7vw, 5rem) 0; }
  .features { padding: clamp(3rem, 7vw, 5rem) 0; }
  .how { padding: clamp(3rem, 7vw, 5rem) 0; }
  .cta { padding: clamp(3rem, 7vw, 5rem) 2.4rem; }

  /* Reduce section title sizes to avoid excessive wrapping */
  .section-title,
  .products__title { font-size: clamp(1.8rem, 6.5vw, 2.4rem); }
  .testimonials__title { font-size: clamp(1.8rem, 6.5vw, 2.4rem); }
  .cta__title { font-size: clamp(1.8rem, 6.5vw, 2.2rem); }

  /* Reduce header margins on mobile */
  .products__header { margin-bottom: clamp(2rem, 4vw, 3rem); }

  .hero2__title { font-size: clamp(2rem, 7vw, 2.8rem); }
  .hero2__inner { padding-top: clamp(5rem, 10vw, 8rem); }
  .hero2__pill { display: none; }
  .hero2__card { transform: rotateX(4deg); }

  /* Tighten hero stats spacing */
  .hero2__stats { padding: clamp(1.5rem, 3vw, 2.5rem) 2.4rem clamp(1.5rem, 3vw, 2.5rem); }

  /* Hero stats — 2x2 grid on mobile */
  .hero2__stats-row {
    flex-wrap: wrap;
    gap: 1.5rem 1rem;
  }
  .hero2__stat-divider { display: none; }
  .hero2__stat {
    flex: 0 0 calc(50% - 0.5rem);
  }

  .products__inner { padding: 0 1.2rem; }
  .psuite {
    grid-template-columns: 1fr;
    gap: 1rem;
    max-width: none;
  }
  /* Reset orphan centering on single-col */
  .psuite__card:last-child:nth-child(odd) {
    max-width: none;
    grid-column: auto;
    justify-self: auto;
  }
  .psuite__body { padding: 1.25rem 1.4rem; }
  .psuite__card { border-radius: var(--radius-lg); }
  .psuite__icon { display: none; }
  .psuite__cta {
    margin: auto -1.4rem -1.25rem;
    width: calc(100% + 2.8rem);
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  }
  .features__grid {
    grid-template-columns: 1fr;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
  }
  .feature-card { padding: 2rem 1.8rem; }

  /* Sectors — stack on mobile */
  .sectors__tabs {
    gap: 0.4rem;
    justify-content: flex-start;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 0.5rem;
    flex-wrap: nowrap;
  }
  .sectors__tabs::-webkit-scrollbar { display: none; }
  .sectors__tab { padding: 0.6rem 1rem; font-size: 0.8125rem; }
  .sectors__panels { min-height: auto; }
  .sectors__panel {
    grid-template-columns: 1fr;
    padding: 1.8rem 1.5rem;
    gap: 1.8rem;
  }
  .sectors__panel-visual { order: -1; aspect-ratio: 16/10; }
  .sectors__panel-header { gap: 0.75rem; }
  .sectors__panel-icon { width: 48px; height: 48px; font-size: 1.6rem; }
  .sectors__panel-title { font-size: 1.35rem; }

  /* How — stack panels on mobile */
  .how__timeline { margin: 3rem auto 2.5rem; padding: 0; }
  .how__track { left: 40px; right: 40px; }
  .how__node-ring { width: 42px; height: 42px; }
  .how__node-num { font-size: 0.95rem; }
  .how__panel {
    grid-template-columns: 1fr;
    padding: 2rem 1.6rem;
    gap: 2rem;
  }
  .how__panel-number { font-size: 3.5rem; }
  .how__panel-title { font-size: 1.8rem; }
  .how__panel-visual { order: -1; aspect-ratio: 16/10; }
  .testimonials__track { grid-template-columns: 1fr; }
  .testimonials__card--featured .testimonials__quote { font-size: 1.3rem; }
  .testimonials__rating { flex-direction: column; text-align: center; padding: 1.25rem 1.5rem; }
  .testimonials__tag { position: static; align-self: flex-start; margin-top: -0.25rem; }

  /* Tech — reduce whitespace and hide 3D model on mobile */
  .tech { padding: clamp(3rem, 6vw, 5rem) 1.5rem; }
  .tech__model { display: none; }

  .stats__inner {
    grid-template-columns: repeat(2, 1fr);
    padding: 2rem 1.2rem;
    gap: 1rem;
  }
  .footer__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .testimonials__quote { font-size: 1rem; }
}
