/* Variables & Reset */
:root {
    --bg-blue: #f0f9ff;
    --container-max-width: 698px; /* Based on original layout, but scalable */
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans JP', sans-serif;
    background-color: var(--bg-blue);
    color: #333;
    display: flex;
    justify-content: center;
    overflow-x: hidden;
}

/* Layout Container */
.container {
    width: 100%;
    max-width: var(--container-max-width);
    background-color: #fff;
    box-shadow: 0 0 40px rgba(0,0,0,0.08);
}

/* Section Styling */
section {
    width: 100%;
    line-height: 0; /* Prevents gaps between image sections */
}

img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: bottom;
}

/* Link area / Hotspots */
.link-block {
    display: block;
    transition: all 0.3s ease;
    overflow: hidden;
}

.link-block:hover {
    opacity: 0.9;
    transform: scale(1.02);
}

.link-block img {
    transition: transform 0.3s ease;
}

/* Music Links / Grid */
.music-grid {
    display: flex;
    width: 100%;
}

.music-grid a {
    flex: 1;
}

/* AOS Tweaks */
[data-aos] {
    transition-duration: 800ms !important;
}

/* Mobile Adjustments */
@media screen and (max-width: 700px) {
    .container {
        max-width: 100%;
    }
}
