html, body {
    background-color: #ffffff;
    color: #252527;
    overflow-x: clip !important;
    width: 100% !important;
    max-width: 100% !important;
    position: relative;
    letter-spacing: -0.01em;
    touch-action: pan-y !important;
}

#master-wrap {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
    position: relative;
}

#spotlight {
    position: fixed; top: 0; left: 0; right: 0; bottom: 0; pointer-events: none;
    background: radial-gradient(circle 400px at var(--mouse-x, 50%) var(--mouse-y, 50%), rgba(1, 13, 192, 0.035), transparent 80%);
    z-index: 1;
}

.reveal-element { opacity: 0; transform: translateY(25px); transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1); }
.reveal-element.active { opacity: 1; transform: translateY(0); }

.marquee-wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    padding: 2rem 0;
    width: 100%;
    position: relative;
    overflow: hidden !important;
    contain: paint !important;
}

.marquee-row {
    display: flex;
    overflow: hidden;
    user-select: none;
    gap: 1rem;
    width: 100%;
    padding: 15px 0;
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    contain: paint !important;
}

.marquee-track-left {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    min-width: 100%;
    gap: 1rem;
    animation: scrollLeft 45s linear infinite;
}

.marquee-track-right {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: space-around;
    min-width: 100%;
    gap: 1rem;
    animation: scrollRight 45s linear infinite;
}

@keyframes scrollLeft {
    from { transform: translateX(0); }
    to { transform: translateX(calc(-100% - 1rem)); }
}

@keyframes scrollRight {
    from { transform: translateX(calc(-100% - 1rem)); }
    to { transform: translateX(0); }
}

.floating-card-1 { animation: floatPhase1 5s ease-in-out infinite; }
.floating-card-2 { animation: floatPhase2 6s ease-in-out infinite; }
.floating-card-3 { animation: floatPhase3 5.5s ease-in-out infinite; }
.floating-card-4 { animation: floatPhase4 6.5s ease-in-out infinite; }
@keyframes floatPhase1 { 0%, 100% { transform: translateY(0px); } 50% { transform: translateY(-6px); } }
@keyframes floatPhase2 { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(5px); } }
@keyframes floatPhase3 { 0%, 100% { transform: translateY(4px); } 50% { transform: translateY(-4px); } }
@keyframes floatPhase4 { 0%, 100% { transform: translateY(-2px); } 50% { transform: translateY(8px); } }



/* Carousel Slide Styles */
.carousel-slide {
    will-change: transform, opacity, scale;
}
.carousel-slide.transitioning {
    transition: transform 0.65s cubic-bezier(0.16, 1, 0.3, 1), 
                opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), 
                scale 0.65s cubic-bezier(0.16, 1, 0.3, 1);
}

/* FAQ Accordion */
details summary::-webkit-details-marker,
details summary::marker {
    display: none;
    content: '';
}

details[open] summary ~ p {
    animation: faqSlideDown 0.3s ease-out forwards;
}

@keyframes faqSlideDown {
    from { opacity: 0; transform: translateY(-8px); }
    to { opacity: 1; transform: translateY(0); }
}
