/* musical.quest */
* { margin: 0; padding: 0; box-sizing: border-box; }
body { background: #1a0a2e; color: #e8e0f0; font-family: 'Inter', sans-serif; font-weight: 400; line-height: 1.7; }
.hero { min-height: 80vh; display: flex; align-items: center; justify-content: center; position: relative; padding: 3rem 2rem; overflow: hidden; }
.wave-bg { position: absolute; inset: 0; background: repeating-linear-gradient(90deg, transparent, transparent 10px, rgba(167,139,250,0.08) 10px, transparent 20px); animation: waveMove 4s linear infinite; pointer-events: none; }
@keyframes waveMove { from { background-position: 0 0; } to { background-position: 40px 0; } }
.hero-content { text-align: center; position: relative; z-index: 1; }
.brand { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: clamp(2rem, 5vw, 3.5rem); }
.bpm { font-family: 'Fira Code', monospace; font-size: 0.6rem; color: #a78bfa; display: block; margin-top: 0.5rem; }
.tagline { font-size: 0.85rem; color: #a78bfa; margin-top: 0.5rem; }
.movement { max-width: 520px; margin: 0 auto; padding: 3rem 2rem; }
.movement.staccato { padding: 2rem 2rem; }
.movement.rest { padding: 5rem 2rem; }
.movement-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.2rem; margin-bottom: 0.5rem; }
.movement-text { font-size: 0.8rem; color: #b8b0c8; }
.note-strip { display: flex; align-items: center; justify-content: center; gap: 1rem; padding: 3rem 2rem; background: #2a1a3e; flex-wrap: wrap; }
.note { border-radius: 50%; }
.note.pink { background: #f472b6; }
.note.blue { background: #60a5fa; }
.note.green { background: #34d399; }
.crescendo { display: flex; align-items: center; justify-content: center; gap: 1.5rem; padding: 4rem 2rem; }
.note.large { box-shadow: 0 0 20px rgba(167,139,250,0.3); }
.coda { text-align: center; padding: 3rem 2rem; }
.sine-wave { width: 200px; height: 4px; background: linear-gradient(90deg, transparent, #a78bfa, transparent); margin: 0 auto 1.5rem; border-radius: 2px; animation: sineGlow 3s ease-in-out infinite; }
@keyframes sineGlow { 0%, 100% { opacity: 0.4; } 50% { opacity: 1; } }
.footer-brand { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 0.65rem; color: #2a1a3e; }
.fade-in { opacity: 0; transform: translateY(12px); transition: opacity 0.5s ease, transform 0.5s ease; }
.fade-in.visible { opacity: 1; transform: translateY(0); }
