body {
    font-family: 'Inter', 'Noto Sans JP', sans-serif;
    background-color: #000;
    color: #f0f0f0;
}
.gold-text {
    color: #EAB308; /* Tailwind yellow-500 */
}
.gold-border {
    border-color: #EAB308;
}
.gold-shadow {
    box-shadow: 0 0 15px rgba(234, 179, 8, 0.5), 0 0 5px rgba(234, 179, 8, 0.8);
}
.section-title {
    font-family: 'Yuji Syuku', serif;
}
.bg-pattern {
     background-image: radial-gradient(circle at top left, rgba(255, 255, 255, 0.03), transparent 30%), radial-gradient(circle at bottom right, rgba(234, 179, 8, 0.03), transparent 30%);
     background-color: #111827; /* bg-gray-900 */
}
.bg-pattern-dark {
     background-image: radial-gradient(circle at top right, rgba(255, 255, 255, 0.02), transparent 40%), radial-gradient(circle at bottom left, rgba(234, 179, 8, 0.02), transparent 40%);
     background-color: #000;
}
.video-container {
    position: relative;
    width: 100%;
    padding-bottom: 56.25%; /* 16:9 Aspect Ratio */
    height: 0;
}
.video-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s ease-in-out;
}

/* Brand Selector */
.brand-logo-container {
    position: relative;
}
.brand-logo {
    border: 4px solid transparent;
    border-radius: 0.5rem;
    cursor: pointer;
    transition: all 0.3s ease-in-out;
    filter: grayscale(80%);
    opacity: 0.7;
}

.brand-logo:hover {
    transform: scale(1.05);
    border-color: #EAB308;
    filter: grayscale(0%);
    opacity: 1;
    box-shadow: 0 0 25px rgba(234, 179, 8, 0.6);
}

.hidden {
    display: none;
}

/* Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.animate-on-scroll {
    opacity: 0;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.is-visible {
    opacity: 1;
    transform: translateY(0) !important;
}

.fade-in-up {
     transform: translateY(50px);
}

