/* Luxury Glassmorphism Nav */
.glass-nav { 
    background: rgba(251, 251, 253, 0.8); 
    backdrop-filter: saturate(180%) blur(20px); 
    -webkit-backdrop-filter: saturate(180%) blur(20px);
}

/* Animated Hamburger to 'X' */
.menu-icon {
    width: 22px;
    height: 12px;
    position: relative;
    cursor: pointer;
    z-index: 60;
}

.menu-icon span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: currentColor; 
    border-radius: 2px;
    /* Added matching easing curve for a premium feel */
    transition: all 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.menu-icon span:nth-child(1) { top: 0px; }
.menu-icon span:nth-child(2) { top: 10px; }

/* Perfect math center for 12px height container */
.menu-open .menu-icon span:nth-child(1) {
    top: 5px; 
    transform: rotate(45deg);
}

.menu-open .menu-icon span:nth-child(2) {
    top: 5px;
    transform: rotate(-45deg);
}

/* --- Added from index.html --- */
@keyframes marquee {
    0% { transform: translateX(0%); }
    100% { transform: translateX(-50%); }
}

.animate-marquee {
    display: flex;
    white-space: nowrap;
    animation: marquee 20s linear infinite;
    will-change: transform;
}

.marquee-wrapper:hover .animate-marquee {
    animation-play-state: paused;
}

.mask-edges {
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}

/* Signature Collections Sticky Header */
.sticky-collections {
    position: sticky;
    top: 56px; 
    z-index: 90;
    background: white;
    transition: all 0.3s ease;
}

.explore-link {
    font-size: 13px;
    letter-spacing: 0.1em;
    color: #1d1d1f;
    transition: all 0.3s ease;
}

.explore-link:hover {
    color: #0066cc;
}

.explore-link i {
    animation: bounce 2s infinite ease-in-out;
    font-size: 15px;
}

@keyframes bounce {
    0%, 20% { transform: translateY(0); }
    50% { transform: translateY(4px); }
    80%, 100% { transform: translateY(0); }
}

/* PERFORMANCE: Tells the browser to skip painting off-screen elements */
.lazy-section {
    content-visibility: auto;
    contain-intrinsic-size: 800px;
}