html { scroll-behavior: smooth; }
  body { font-family: 'Inter', sans-serif; background:#FFFFFF; color:#1A1A1A; }
  h1, h2, h3, h4, .font-heading { font-family: 'Montserrat', sans-serif; }

  /* Reveal-on-scroll */
  .reveal { opacity: 0; transform: translateY(28px); transition: opacity 0.7s ease, transform 0.7s ease; }
  .reveal.in-view { opacity: 1; transform: translateY(0); }

  @media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
    * { animation: none !important; }
  }

  /* Bolt line motif */
  .bolt-underline {
    position: relative;
  }
  .bolt-underline::after {
    content: '';
    position: absolute;
    left: 2px;
    bottom: -10px;
    width: 84px;
    height: 6px;
    background: linear-gradient(90deg, #F37021, #FF8A3D);
    clip-path: polygon(0 100%, 40% 0, 55% 0, 20% 100%);
    transform: scaleX(0);
    transform-origin: left;
    animation: boltGrow 0.9s 0.6s ease-out forwards;
  }
  @keyframes boltGrow {
    to { transform: scaleX(3.4); }
  }

  .hero-grid {
    background-image:
      linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
    background-size: 44px 44px;
  }

  /* Spec-plate product card */
  .spec-card {
    border: 1px solid #E3E5E8;
    background: #FFFFFF;
    transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
    position: relative;
  }
  .spec-card::before {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 0%;
    height: 3px;
    background: linear-gradient(90deg, #F37021, #00AEEF);
    transition: width 0.4s ease;
  }
  .spec-card:hover {
    transform: translateY(-6px);
    border-color: #F37021;
    box-shadow: 0 18px 34px -18px rgba(243, 112, 33, 0.35);
  }
  .spec-card:hover::before { width: 100%; }

  .btn-scale { transition: transform 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease; }
  .btn-scale:hover { transform: scale(1.045); }
  .btn-scale:active { transform: scale(0.98); }

  .nav-link {
    position: relative;
  }
  .nav-link::after {
    content: '';
    position: absolute;
    left: 0; bottom: -4px;
    width: 0%;
    height: 2px;
    background: #F37021;
    transition: width 0.25s ease;
  }
  .nav-link:hover::after { width: 100%; }
  .nav-link.active::after { width: 100%; }

  /* focus visibility */
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #F37021;
    outline-offset: 3px;
  }

  .pulse-dot {
    animation: pulseDot 2.4s ease-in-out infinite;
  }
  @keyframes pulseDot {
    0%, 100% { opacity: 0.5; }
    50% { opacity: 1; }
  }


  /* Desktop Products dropdown */
  .dropdown-panel {
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity 0.2s ease, transform 0.2s ease, visibility 0.2s;
  }
  .dropdown-trigger:hover .dropdown-panel,
  .dropdown-panel:hover {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
  }
  .dropdown-chevron { transition: transform 0.2s ease; }
  .dropdown-trigger:hover .dropdown-chevron { transform: rotate(180deg); }

  /* Mobile Products accordion */
  .mobile-submenu {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease;
  }
  .mobile-submenu.open { max-height: 320px; }
  .mobile-accordion-icon { transition: transform 0.25s ease; }
  .mobile-accordion-icon.rotated { transform: rotate(180deg); }

  .field-input {
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
  }
  .field-input:focus {
    border-color: #00AEEF;
    box-shadow: 0 0 0 3px rgba(0, 174, 239, 0.15);
  }


  /* Product card */
  .product-card {
    border: 1px solid #E3E5E8;
    background: #fff;
    transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
  }
  .product-card:hover {
    transform: translateY(-6px);
    border-color: #F37021;
    box-shadow: 0 18px 34px -18px rgba(243, 112, 33, 0.35);
  }
  .product-card:hover::before {
      width: 100%;
  }
  .product-card::before {
    content: '';
    position: absolute;
    top: -3px;
    left: 0;
    width: 0%;
    height: 3px;
    background: linear-gradient(90deg, #F37021, #00AEEF);
    transition: width 0.4s ease;
  }
  .product-media { position: relative; overflow: hidden; }
  .product-media img { transition: transform 0.5s ease; }
  .product-card:hover .product-media img { transform: scale(1.08); }

  .spec-overlay {
    position: absolute; inset-inline: 0; bottom: 0;
    background: linear-gradient(to top, rgba(26,26,26,0.92), rgba(26,26,26,0));
    color: #fff; padding: 14px 14px 12px;
    transform: translateY(100%);
    transition: transform 0.35s ease;
  }
  .product-card:hover .spec-overlay { transform: translateY(0); }

  .wishlist-btn svg { transition: fill 0.2s ease, stroke 0.2s ease; }
  .wishlist-btn.active svg { fill: #F37021; stroke: #F37021; }

  .swatch { width: 14px; height: 14px; border-radius: 9999px; border: 1px solid rgba(0,0,0,0.15); }

  .star { color: #E3E5E8; }
  .star.filled { color: #F37021; }

  /* Hide filtered-out cards */
  .product-card[hidden] { display: none; }

  .filter-chip.is-active {
    background: #F37021;
    color: #fff;
    border-color: #F37021;
  }

  /* Fixed WhatsApp button attention ring */
  .fab-pulse { isolation: isolate; }
  .fab-pulse::after {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: 9999px;
    background: inherit;
    z-index: -1;
    animation: fabPulse 2.2s ease-out infinite;
  }
  @keyframes fabPulse {
    0% { transform: scale(1); opacity: 0.55; }
    100% { transform: scale(1.7); opacity: 0; }
  }
  @media (prefers-reduced-motion: reduce) {
    .fab-pulse::after { animation: none; }
  }