 /* ── Hero ── */
    .cat-hero {
      background: #f5f5f7;
      padding: 120px 24px 72px;
      text-align: center;
    }
    .cat-hero-eyebrow {
      font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.12em;
      text-transform: uppercase; color: #0071e3; margin-bottom: 16px;
    }
    .cat-hero h1 {
      font-size: clamp(2.5rem, 5vw, 3.75rem);
      font-weight: 800; letter-spacing: -0.04em; line-height: 1.06;
      background: linear-gradient(160deg,#0a1836 0%,#0a1f3c 45%,#0a6fa8 100%);
      -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text;
      margin-bottom: 20px;
    }
    .cat-hero p {
      font-size: 1.0625rem; color: #515154; line-height: 1.65;
      max-width: 520px; margin: 0 auto;
    }

    /* ── Product card ── */
    .product-card {
      border: 1px solid rgba(0,0,0,0.07) !important;
      outline: none !important;
      transition: transform 0.35s cubic-bezier(0.25,1,0.5,1), box-shadow 0.35s cubic-bezier(0.25,1,0.5,1);
    }
    .product-card:hover {
      transform: translateY(-4px);
      box-shadow: 0 20px 48px rgba(0,0,0,0.10) !important;
    }
    .product-card-category { font-size: 0.75rem !important; letter-spacing: 0.08em !important; text-transform: uppercase; font-weight: 600 !important; }
    .product-card-name { letter-spacing: -0.02em; }
    .product-card-desc { color: #6e6e73 !important; font-size: 0.875rem; line-height: 1.6; }
    .badge-spec {
      display: inline-flex; align-items: center;
      padding: 3px 10px; border-radius: 980px;
      font-size: 0.6875rem; font-weight: 600;
      background: rgba(0,0,0,0.05); color: var(--dark); letter-spacing: 0.01em;
    }
    .badge-available {
      display: inline-flex; align-items: center; gap: 5px;
      padding: 4px 10px; border-radius: 980px;
      font-size: 0.6875rem; font-weight: 600;
      background: rgba(52,199,89,0.10); color: #1a7f37; letter-spacing: 0.02em;
    }
    .badge-available::before {
      content: ''; width: 6px; height: 6px;
      border-radius: 50%; background: #34c759; display: inline-block;
    }
    .badge-soon {
      display: inline-flex; align-items: center;
      padding: 4px 10px; border-radius: 980px;
      font-size: 0.6875rem; font-weight: 600;
      background: rgba(0,0,0,0.07); color: #6e6e73; letter-spacing: 0.02em;
    }
    .product-card-soon { pointer-events: none; opacity: 0.55; cursor: default; }
    .product-card-soon .product-card-visual { display: flex; align-items: center; justify-content: center; min-height: 180px; }

    /* ── Carousel ── */
    .cat-carousel-section { padding: 72px 24px 96px; }
    .product-carousel-wrap { position: relative; }
    .product-carousel-track {
      display: flex; gap: 20px;
      overflow-x: auto; scroll-snap-type: x mandatory;
      scroll-behavior: smooth; -webkit-overflow-scrolling: touch;
      scrollbar-width: none; padding-bottom: 8px;
    }
    .product-carousel-track::-webkit-scrollbar { display: none; }
    .product-carousel-track .product-card {
      flex: 0 0 calc(33.333% - 14px);
      scroll-snap-align: start; min-width: 0;
    }
    .carousel-btn {
      position: absolute; top: 50%; transform: translateY(-50%);
      width: 44px; height: 44px; border-radius: 50%;
      border: 1px solid rgba(0,0,0,0.10);
      background: rgba(255,255,255,0.92);
      backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
      cursor: pointer; display: flex; align-items: center; justify-content: center;
      z-index: 10; transition: background 0.2s, box-shadow 0.2s;
      box-shadow: 0 2px 14px rgba(0,0,0,0.10); color: #1d1d1f;
    }
    .carousel-btn:hover { background: #fff; box-shadow: 0 4px 22px rgba(0,0,0,0.16); }
    .carousel-btn:disabled { opacity: 0.3; pointer-events: none; }
    .carousel-btn-prev { left: -22px; }
    .carousel-btn-next { right: -22px; }
    .carousel-dots { display: none; justify-content: center; gap: 6px; margin-top: 20px; }
    .carousel-dot { width: 6px; height: 6px; border-radius: 50%; background: rgba(0,0,0,0.18); cursor: pointer; transition: transform 0.2s, background 0.2s; }
    .carousel-dot.active { background: #0071e3; transform: scale(1.3); }

    @media (max-width: 900px) {
      .carousel-btn { display: none; }
      .carousel-dots { display: flex; }
      .product-carousel-track .product-card { flex: 0 0 85%; scroll-snap-align: center; }
    }
    @media (max-width: 560px) {
      .product-carousel-track .product-card { flex: 0 0 88%; }
      .product-carousel-track { padding-left: 6%; }
    }
    @media (max-width: 767px) {
      .cat-hero { padding: 100px 20px 56px; }
      .cat-carousel-section { padding: 48px 20px 72px; }
    }