body {
    font-family: 'Helvetica Neue', 'Helvetica', 'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Arial', 'Yu Gothic', 'Meiryo', sans-serif;
}

.hero-section {
    padding: 5rem 0;
    animation: fadeIn 1.5s ease-in-out;
    background-color: #f8f9fa;
    color: #343a40;
}

.hero-image {
    max-width: 80%;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.scroll-fade {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.scroll-fade.visible {
    opacity: 1;
    transform: translateY(0);
}

.card {
    border: none;
    box-shadow: 0 0.5rem 1rem rgba(0,0,0,.1);
    transition: transform .2s;
}

.card:hover {
    transform: translateY(-5px);
}

.accordion-button:not(.collapsed) {
    color: #fff;
    background-color: #0d6efd;
}

#3d-container {
    height: 500px;
}

.platform-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2rem;
}

.platform-icon {
    width: 80px;
    height: 80px;
    object-fit: contain;
}