/* yesan.xyz - Neon Pop-Art Scroll */
* { margin: 0; padding: 0; box-sizing: border-box; }
:root {
    --neon-yellow: #F0F040;
    --neon-pink: #F040A0;
    --neon-cyan: #40F0E0;
    --neon-lime: #A0F040;
    --deep-dark: #1A1A2A;
    --pure-white: #FFFFFF;
    --marble-a: #E0D8D0;
    --marble-b: #F0E8E0;
    --marble-c: #D8D0C8;
}

body {
    background: var(--deep-dark);
    color: var(--deep-dark);
    font-family: 'Nunito', sans-serif;
    font-size: 1.1rem;
    line-height: 1.7;
    font-weight: 400;
    overflow-x: hidden;
}

/* Screens */
.screen {
    min-height: 80vh;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}
.screen-yellow { background: var(--neon-yellow); }
.screen-pink { background: var(--neon-pink); }
.screen-cyan { background: var(--neon-cyan); }
.screen-lime { background: var(--neon-lime); }
.screen-dark { background: var(--deep-dark); color: var(--pure-white); min-height: auto; padding: 3rem 0; }

/* Column Inner */
.col-inner {
    max-width: 680px;
    padding: 32px;
    text-align: center;
    position: relative;
    z-index: 2;
}

/* Headlines */
.headline {
    font-family: 'Bebas Neue', sans-serif;
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 400;
    color: var(--deep-dark);
    margin-bottom: 1rem;
    text-shadow: 4px 4px 0 rgba(26, 26, 42, 0.15);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}
.screen.visible .headline {
    opacity: 1;
    transform: translateY(0);
}
.drop-in {
    animation: dropIn 0.4s ease forwards 0.3s;
    opacity: 0;
    transform: translateY(-40px);
}
@keyframes dropIn {
    to { opacity: 1; transform: translateY(0); }
}

/* Body */
.body-text {
    font-family: 'Nunito', sans-serif;
    font-size: 1.1rem;
    color: var(--deep-dark);
    line-height: 1.7;
    margin-bottom: 1rem;
}
.screen-dark .body-text { color: var(--pure-white); }

/* Tag Lines */
.tag-line {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    color: var(--deep-dark);
    display: inline-block;
    padding: 6px 16px;
    border: 2px solid var(--deep-dark);
    box-shadow: 4px 4px 0 currentColor;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.tag-line:hover {
    transform: translate(-2px, -2px);
    box-shadow: 6px 6px 0 currentColor;
}

/* Marble Strip */
.marble-strip {
    height: 40px;
    background: linear-gradient(90deg, var(--marble-a), var(--marble-b), var(--marble-c), var(--marble-b), var(--marble-a));
    position: relative;
    z-index: 3;
}

/* Bubbles */
.bubble {
    position: absolute;
    border-radius: 50%;
    border: 2px solid var(--deep-dark);
    pointer-events: none;
    z-index: 1;
    animation: bubbleFloat 4s ease-in-out infinite;
}
.bub-1 { width: 60px; height: 60px; background: rgba(240, 240, 64, 0.2); top: 15%; left: -10px; animation-delay: 0s; }
.bub-2 { width: 40px; height: 40px; background: rgba(240, 240, 64, 0.2); bottom: 20%; right: -5px; animation-delay: 1s; }
.bub-3 { width: 50px; height: 50px; background: rgba(240, 64, 160, 0.2); top: 25%; right: -15px; animation-delay: 0.5s; }
.bub-4 { width: 70px; height: 70px; background: rgba(240, 64, 160, 0.2); bottom: 10%; left: -20px; animation-delay: 2s; }
.bub-5 { width: 45px; height: 45px; background: rgba(64, 240, 224, 0.2); top: 10%; left: -8px; animation-delay: 0.3s; }
.bub-6 { width: 55px; height: 55px; background: rgba(64, 240, 224, 0.2); bottom: 25%; right: -12px; animation-delay: 1.5s; }
.bub-7 { width: 65px; height: 65px; background: rgba(160, 240, 64, 0.2); top: 20%; right: -10px; animation-delay: 0.8s; }
.bub-8 { width: 35px; height: 35px; background: rgba(160, 240, 64, 0.2); bottom: 15%; left: -5px; animation-delay: 2.5s; }

@keyframes bubbleFloat {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-5px); }
}

/* Footer */
.footer-text {
    font-family: 'Bebas Neue', sans-serif;
    font-size: 1.2rem;
    letter-spacing: 0.08em;
    color: var(--neon-yellow);
}

@media (max-width: 768px) {
    .col-inner { padding: 24px; }
    .headline { font-size: clamp(2.5rem, 10vw, 4rem); }
}
