/* ============================================================
   LUMINOS NUCLEAR — Mobile Responsive Supplement
   ============================================================ */

html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
img  { max-width: 100%; height: auto; }
body { overflow-x: hidden; }
.container { width: 100%; box-sizing: border-box; }
.btn { min-height: 44px; }

/* ============================================================
   TABLET — 1024px
   ============================================================ */
@media (max-width: 1024px) {
  .hero__inner      { grid-template-columns: 1fr 320px; gap: 2rem; }
  .footer__grid     { grid-template-columns: 1fr 1fr; gap: 2.5rem; }
  .apps-grid        { grid-template-columns: 1fr 1fr; }
  .app-cell--featured { grid-column: span 2; grid-row: span 1; }
}

/* ============================================================
   MOBILE — 768px
   ============================================================ */
@media (max-width: 768px) {

  :root { --nav-h: 60px; }
  .section   { padding: 48px 0; }
  .container { padding: 0 1.1rem; }

  /* Nav */
  .nav__links, .nav__cta { display: none; }
  .nav__hamburger { display: flex; }

  /* Hero */
  .hero__inner  { grid-template-columns: 1fr; padding: 2.5rem 1.1rem 2rem; gap: 0; }
  .hero__aside  { display: none; }
  .hero__title  { font-size: clamp(1.9rem, 7vw, 2.4rem); }
  .hero__desc   { font-size: 0.92rem; max-width: 100%; }
  .hero__actions { flex-direction: column; gap: 10px; margin-bottom: 2rem; }
  .hero__actions .btn { width: 100%; justify-content: center; }
  .hero__cert-pill { font-size: 0.7rem; padding: 3px 8px; }

  /* Trust strip */
  .trust-strip__inner { flex-direction: column; gap: 0.6rem; align-items: flex-start; padding: 0 1.1rem; }
  .trust-strip__sep   { display: none; }
  .trust-strip__item  { font-size: 0.82rem; }

  /* Test numbers — 4 items → 2×2 grid, clean borders */
  .test-numbers {
    display: grid;
    grid-template-columns: 1fr 1fr;
    border-radius: var(--r-md);
    overflow: hidden;
    flex-wrap: unset;
    gap: 0;
  }
  .test-num {
    flex: unset;
    min-width: unset;
    padding: 1.25rem 1rem;
    border-right: 1px solid rgba(255,255,255,0.07);
    border-bottom: 1px solid rgba(255,255,255,0.07);
  }
  .test-num:nth-child(2), .test-num:nth-child(4) { border-right: none; }
  .test-num:nth-child(3), .test-num:nth-child(4) { border-bottom: none; }
  .test-num__val { font-size: 2rem; }

  /* Products / apps */
  .apps-grid          { grid-template-columns: 1fr; }
  .app-cell--featured { grid-column: span 1; grid-row: span 1; }
  .products-layout    { grid-template-columns: 1fr; gap: 1.25rem; }
  .product-featured   { grid-row: span 1; }
  .product-featured__img { height: 220px; }

  /* Project card */
  .project-card     { grid-template-columns: 1fr; }
  .project-card__img { height: 200px; }
  .project-stats    { flex-wrap: wrap; gap: 1rem; }

  /* Layouts */
  .about-layout   { grid-template-columns: 1fr; gap: 2.5rem; }
  .contact-layout { grid-template-columns: 1fr; gap: 2rem; }
  .product-detail__grid { grid-template-columns: 1fr; gap: 2rem; }
  .product-detail__grid--rev { direction: ltr; }
  .form-row { grid-template-columns: 1fr; }

  /* About numbers — keep 2×2, reduce padding */
  .about-numbers  { margin-top: 0; }
  .about-num      { padding: 1.25rem 1rem; }
  .about-num__val { font-size: 2rem; }

  /* CTA band */
  .cta-band__inner    { flex-direction: column; text-align: center; gap: 1.5rem; }
  .cta-band__actions  { justify-content: center; flex-direction: column; width: 100%; }
  .cta-band__actions .btn { width: 100%; justify-content: center; }

  /* Footer */
  .footer__grid   { grid-template-columns: 1fr; gap: 2rem; }
  .footer__bottom { flex-direction: column; align-items: flex-start; gap: 0.5rem; }

  /* Typography */
  .section-heading  { font-size: clamp(1.4rem, 5.5vw, 1.9rem); }
  .page-hero        { padding: 100px 0 40px; }
  .page-hero__title { font-size: clamp(1.6rem, 6vw, 2rem); }

  /* Overflow guard */
  section, .hero, .trust-strip, .footer { max-width: 100vw; overflow-x: hidden; }

  /* Sticky gallery — never sticky on mobile */
  .product-gallery,
  [style*="position: sticky"],
  [style*="position:sticky"] { position: static !important; top: auto !important; }
}

/* ============================================================
   SMALL PHONES — 480px
   ============================================================ */
@media (max-width: 480px) {
  .container { padding: 0 1rem; }
  .section   { padding: 40px 0; }
  .hero__inner { padding: 2rem 1rem 1.75rem; }
  .hero__title { font-size: clamp(1.75rem, 8vw, 2.2rem); }
  .hero__tag   { font-size: 0.62rem; }
  .hero__cert-pill { font-size: 0.65rem; padding: 3px 7px; }
  .trust-strip__item { font-size: 0.78rem; }
  .btn { font-size: 0.85rem; padding: 0.7rem 1.3rem; }
  .product-featured__img { height: 180px; }
  .test-num { padding: 1rem 0.75rem; }
  .test-num__val { font-size: 1.75rem; }
  .footer__brand p { font-size: 0.82rem; }
  table, .spec-table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
}

/* ============================================================
   VERY SMALL — 360px
   ============================================================ */
@media (max-width: 360px) {
  .hero__title { font-size: 1.65rem; }
  .nav__inner  { padding: 0 0.85rem; }
  .container   { padding: 0 0.85rem; }
}

/* ============================================================
   HAMBURGER ANIMATION
   ============================================================ */
.nav__hamburger.is-open span:nth-child(1) { transform: rotate(45deg) translate(5px, 5px); }
.nav__hamburger.is-open span:nth-child(2) { opacity: 0; transform: translateX(-8px); }
.nav__hamburger.is-open span:nth-child(3) { transform: rotate(-45deg) translate(5px, -5px); }

/* ============================================================
   UTILITY
   ============================================================ */
.product-featured__img img,
.project-card__img img,
.about-img img { width: 100%; height: 100%; object-fit: cover; }
