#cursor {
      position: fixed; width: 10px; height: 10px;
      background: #0d0d0d; border-radius: 50%;
      pointer-events: none; z-index: 9999;
      transform: translate(-50%, -50%);
      transition: width 0.3s cubic-bezier(0.77,0,0.18,1), height 0.3s cubic-bezier(0.77,0,0.18,1), background 0.3s;
    }
    #cursor-ring {
      position: fixed; width: 36px; height: 36px;
      border: 1px solid #0d0d0d; border-radius: 50%;
      pointer-events: none; z-index: 9998;
      transform: translate(-50%, -50%);
      transition: width 0.4s cubic-bezier(0.77,0,0.18,1), height 0.4s cubic-bezier(0.77,0,0.18,1), border-color 0.3s;
    }
    #cursor.hovering { width: 6px; height: 6px; background: #b8975a; }
    #cursor-ring.hovering { width: 52px; height: 52px; border-color: #b8975a; }

    .nav-link::after {
      content: ''; position: absolute; bottom: 0; left: 0;
      width: 0; height: 1px; background: #b8975a;
      transition: width 0.4s cubic-bezier(0.77,0,0.18,1);
    }
    .nav-link:hover::after { width: 100%; }

    .btn-arrow { transition: transform 0.3s cubic-bezier(0.77,0,0.18,1); }
    .site-btn:hover .btn-arrow { transform: translateX(6px); }
    .site-btn { transition: color 0.3s, border-color 0.3s; }

    @keyframes marquee {
      from { transform: translateX(0); }
      to { transform: translateX(-50%); }
    }
    .marquee-track { animation: marquee 18s linear infinite; }

    @keyframes fadeDown {
      from { opacity: 0; transform: translateY(-20px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(40px); }
      to { opacity: 1; transform: translateY(0); }
    }
    @keyframes fadeIn {
      from { opacity: 0; }
      to { opacity: 1; }
    }
    .anim-fade-down { animation: fadeDown 1s cubic-bezier(0.77,0,0.18,1) both; }
    .anim-fade-up { animation: fadeUp 1.2s 0.3s cubic-bezier(0.77,0,0.18,1) both; }
    .anim-fade-in { animation: fadeIn 1.4s 0.1s cubic-bezier(0.77,0,0.18,1) both; }

    @keyframes float {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-20px); }
    }
    .float-anim { animation: float 6s ease-in-out infinite; }

    @keyframes pulse-ring {
      0%, 100% { transform: scale(1); opacity: 0.5; }
      50% { transform: scale(1.05); opacity: 1; }
    }
    .pulse-ring { animation: pulse-ring 4s ease-in-out infinite; }
    .pulse-ring-2 { animation: pulse-ring 4s 0.5s ease-in-out infinite; }

    .product-card .product-info {
      transform: translateY(10px); opacity: 0;
      transition: transform 0.4s cubic-bezier(0.77,0,0.18,1), opacity 0.4s;
    }
    .product-card:hover .product-info { transform: translateY(0); opacity: 1; }
    .product-card .product-placeholder {
      transition: transform 0.7s cubic-bezier(0.77,0,0.18,1);
    }
    .product-card:hover .product-placeholder { transform: scale(1.04); }

    .reveal { opacity: 0; transform: translateY(30px); transition: opacity 0.9s cubic-bezier(0.77,0,0.18,1), transform 0.9s cubic-bezier(0.77,0,0.18,1); }
    .reveal.visible { opacity: 1; transform: translateY(0); }

    .newsletter-btn { transition: letter-spacing 0.3s; }
    .newsletter-btn:hover { letter-spacing: 0.3em; }

    .hero-img-wrap:hover .hero-placeholder { transform: scale(1); }
    .hero-placeholder { transform: scale(1.05); transition: transform 8s cubic-bezier(0.77,0,0.18,1); }