:root {
    --akm-black: #050505;
    --akm-black-2: #0c0c12;
    --akm-white: #f5f5f5;
    --akm-muted: #d0d0d8;
    --akm-red-1: #951010;
    --akm-red-2: #df2323;
    --akm-gold-1: #d39b00;
    --akm-gold-2: #ffe15f;
    --akm-green: #a8f223;
    --akm-border: rgba(255,255,255,.14);
    --akm-rave-yellow: #ffe600;
    --akm-rave-black: #050505;
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    font-family: 'Inter', sans-serif;
    color: var(--akm-white);
    background:
        radial-gradient(circle at 50% 0%, rgba(75,88,255,.08), transparent 28%),
        linear-gradient(180deg, #020202 0%, #09090d 50%, #020202 100%);
}

html, body {
    height: 100%;
}

.main-content {
    flex: 1 0 auto;
}

.akm-footer {
    flex-shrink: 0;
}

h1, h2, h3, h4, .navbar-brand, .btn {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.navbar.akm-navbar {
    background: rgba(0,0,0,.82);
    border-bottom: 1px solid rgba(255,255,255,.10);
    backdrop-filter: blur(6px);
    box-shadow: 0 6px 18px rgba(0,0,0,.35);
}

.akm-brand {
    color: #fff;
    font-weight: 700;
    letter-spacing: .04em;
}

.akm-navbar .nav-link {
    color: rgba(255,255,255,.88);
    font-family: 'Oswald', sans-serif;
    font-size: 1.05rem;
    padding: .85rem .6rem;
    position: relative;
}

.akm-navbar .nav-link:hover,
.akm-navbar .nav-link:focus {
    color: #fff;
}

.akm-navbar .nav-link:hover::after,
.akm-navbar .nav-link:focus::after,
.akm-navbar .nav-link.active::after {
    content: '';
    position: absolute;
    left: .6rem;
    right: .6rem;
    bottom: .45rem;
    height: 2px;
    background: rgba(255,255,255,.95);
}

.main-content {
    flex: 1 0 auto;
    padding-top: 110px;
}

/* HERO */
.hero-section {
    margin-top: -110px;
    position: relative;
    padding-top: 88px;
    min-height: 47rem;
    display: flex;
    align-items: stretch;
    overflow: hidden;
    background:
        linear-gradient(rgba(0,0,0,.34), rgba(0,0,0,.52)),
        url('../img/rave-hero.jpg') center 30% / cover no-repeat,
        linear-gradient(180deg, #040404 0%, #10101a 100%);
    border-bottom: 1px solid rgba(255,255,255,.10);
    isolation: isolate;
}

/* soft colour wash behind content */
.hero-section::before {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background:
        radial-gradient(circle at 18% 22%, rgba(120,255,120,.16), transparent 28%),
        radial-gradient(circle at 82% 24%, rgba(255,80,220,.14), transparent 26%),
        radial-gradient(circle at 52% 12%, rgba(255,255,255,.07), transparent 20%),
        radial-gradient(circle at 70% 60%, rgba(120,180,255,.09), transparent 28%);
    animation: lightDrift 14s ease-in-out infinite alternate;
}

/* moving beam layer */
.hero-section::after {
    content: '';
    position: absolute;
    inset: -8% -6%;
    pointer-events: none;
    z-index: 0;
    background:
        linear-gradient(110deg,
            transparent 0%,
            transparent 35%,
            rgba(96,255,128,.16) 43%,
            rgba(96,255,128,.05) 48%,
            transparent 54%,
            transparent 100%
        ),
        linear-gradient(82deg,
            transparent 0%,
            transparent 42%,
            rgba(255,255,255,.12) 48%,
            rgba(255,255,255,.04) 51%,
            transparent 56%,
            transparent 100%
        ),
        linear-gradient(248deg,
            transparent 0%,
            transparent 40%,
            rgba(255,84,214,.14) 47%,
            rgba(255,84,214,.04) 51%,
            transparent 57%,
            transparent 100%
        ),
        linear-gradient(210deg,
            transparent 0%,
            transparent 46%,
            rgba(109,188,255,.10) 50%,
            rgba(109,188,255,.03) 54%,
            transparent 60%,
            transparent 100%
        );
    mix-blend-mode: screen;
    opacity: .95;
    transform-origin: 50% 0%;
    animation: beamSweep 11s ease-in-out infinite alternate;
}

.hero-panel {
    position: relative;
    z-index: 2;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: calc(47rem - 88px);
}

.hero-panel .row {
    width: 100%;
    justify-content: center;
}

.hero-panel .col-xl-10 {
    margin-left: auto;
    margin-right: auto;
}

.hero-text-backdrop {
    position: relative;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
    max-width: 980px;
    padding: 1.5rem 2rem 1.8rem;
    background: rgba(0, 0, 0, 0.22);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255,255,255,.08);
    box-shadow:
        0 12px 30px rgba(0,0,0,.28),
        inset 0 1px 0 rgba(255,255,255,.06);
    border-radius: 8px;
}

.hero-text-backdrop::before {
    content: '';
    position: absolute;
    inset: -18px;
    background: rgba(0,0,0,.14);
    filter: blur(20px);
    z-index: -1;
    border-radius: 16px;
}

.hero-title {
    font-size: clamp(3rem, 8vw, 7rem);
    line-height: .90;
    font-weight: 800;
    color: var(--akm-rave-black);
    margin: 0 auto .7rem;
    max-width: 900px;
    letter-spacing: .015em;
    text-shadow:
        -2px -2px 0 var(--akm-rave-yellow),
         2px -2px 0 var(--akm-rave-yellow),
        -2px  2px 0 var(--akm-rave-yellow),
         2px  2px 0 var(--akm-rave-yellow),
         0   -3px 0 var(--akm-rave-yellow),
         0    3px 0 var(--akm-rave-yellow),
        -3px  0   0 var(--akm-rave-yellow),
         3px  0   0 var(--akm-rave-yellow),
         4px  6px 0 rgba(0,0,0,.55);
}

.hero-title span {
    display: block;
}

.hero-title .line-2 {
    margin-top: -.08em;
}

.hero-logo-wrap {
    width: min(100%, 760px);
    margin: 0 auto .7rem;
}

.hero-logo {
    display: block;
    width: 100%;
    height: auto;
    margin: 0 auto;
}

.hero-subtitle {
    color: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.4rem, 2.7vw, 2.35rem);
    line-height: 1.02;
    letter-spacing: .02em;

}

.btn {
    border-radius: 0;
    letter-spacing: .02em;
}

.akm-btn-red {
    color: #fff;
    border: 1px solid rgba(255,255,255,.18);
    background: linear-gradient(180deg, var(--akm-red-2) 0%, var(--akm-red-1) 100%);
    box-shadow:
        0 8px 16px rgba(0,0,0,.40),
        inset 0 1px 0 rgba(255,255,255,.18);
}

.akm-btn-red:hover,
.akm-btn-red:focus {
    color: #fff;
    background: linear-gradient(180deg, #ef2f2f 0%, #a20d0d 100%);
}

.akm-btn-gold {
    color: #111;
    border: 1px solid rgba(0,0,0,.25);
    background: linear-gradient(180deg, var(--akm-gold-2) 0%, var(--akm-gold-1) 100%);
    box-shadow:
        0 8px 16px rgba(0,0,0,.35),
        inset 0 1px 0 rgba(255,255,255,.28);
}

.akm-btn-gold:hover,
.akm-btn-gold:focus {
    color: #111;
    background: linear-gradient(180deg, #ffe97a 0%, #e3a800 100%);
}

.content-section {
    position: relative;
    padding: 3.5rem 0;
    border-bottom: 1px solid rgba(255,255,255,.10);
    background:
        radial-gradient(circle at 50% 35%, rgba(77,88,255,.10), transparent 30%),
        linear-gradient(180deg, rgba(8,8,10,.98), rgba(10,10,14,.98));
}

.section-watch {
    background:
        radial-gradient(circle at 50% 20%, rgba(59,83,255,.15), transparent 34%),
        linear-gradient(180deg, rgba(7,7,9,.98), rgba(11,11,18,.98));
}

.section-invest {
    background:
        radial-gradient(circle at 30% 68%, rgba(255,170,0,.14), transparent 28%),
        radial-gradient(circle at 70% 55%, rgba(180,40,255,.10), transparent 26%),
        linear-gradient(180deg, rgba(8,8,10,.98), rgba(11,11,18,.98));
}

.section-follow {
    background:
        radial-gradient(circle at 50% 45%, rgba(73,85,255,.14), transparent 32%),
        linear-gradient(180deg, rgba(7,7,9,.98), rgba(10,10,15,.98));
}

.section-heading-wrap {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    margin-bottom: 2rem;
}

.section-line {
    width: min(18vw, 170px);
    height: 1px;
    background: rgba(255,255,255,.55);
}

.section-heading {
    margin: 0;
    color: #f3f3f3;
    font-size: clamp(1.75rem, 4vw, 3rem);
    text-shadow: 0 2px 6px rgba(0,0,0,.35);
}

.section-heading-wrap.gold .section-heading {
    color: #ffd631;
}

.video-frame {
    max-width: 760px;
    padding: 12px;
    border: 2px solid rgba(112,116,173,.65);
    background: linear-gradient(180deg, rgba(12,12,14,.92), rgba(7,7,8,.92));
    box-shadow: 0 14px 34px rgba(0,0,0,.45);
}

.video-screen {
    position: relative;
    min-height: 360px;
    background:
        linear-gradient(rgba(0,0,0,.2), rgba(0,0,0,.35)),
        url('../img/allkindzamadness-video-still.jpg') center center / cover no-repeat;
    overflow: hidden;
}

.play-button-wrap {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.play-button {
    width: 108px;
    height: 108px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: rgba(255,255,255,.92);
    border: 3px solid rgba(255,255,255,.45);
    background: rgba(0,0,0,.38);
    box-shadow: 0 0 24px rgba(255,255,255,.12);
    transition: transform .2s ease, box-shadow .2s ease;
    user-select: none;
}

.play-button:hover {
    transform: scale(1.08);
    box-shadow: 0 0 30px rgba(255,255,255,.22);
}

.ratio iframe {
    border: 0;
    width: 100%;
    height: 100%;
}

.about-kicker,
.invest-kicker {
    font-size: clamp(1.45rem, 3vw, 2.35rem);
    margin-bottom: 1rem;
}

.invest-kicker {
    color: #ffffff;
}

.about-text {
    max-width: 760px;
    color: var(--akm-muted);
    font-size: 1.1rem;
    line-height: 1.75;
}

.invest-card {
    padding: 1.4rem 1rem 1.1rem;
    border: 1px solid rgba(255,193,7,.55);
    background: linear-gradient(180deg, rgba(12,12,16,.95), rgba(14,14,22,.95));
    box-shadow: 0 10px 26px rgba(0,0,0,.35);
    height: 100%;
}

.invest-card h4 {
    color: #f2f2f2;
    margin-bottom: .75rem;
    font-size: 1.8rem;
}

.card-divider {
    height: 1px;
    background: rgba(255,255,255,.20);
    margin-bottom: .8rem;
}

.invest-card p {
    margin: 0;
    color: #dddddf;
    font-size: 1.1rem;
}

.social-row {
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
}

.social-icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #fff;
    border-radius: 6px;
    box-shadow: 0 8px 18px rgba(0,0,0,.35);
    border: 1px solid rgba(255,255,255,.12);
    transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
}

.social-icon:hover,
.social-icon:focus {
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(0,0,0,.42);
    filter: brightness(1.08);
    color: #fff;
}

.social-icon svg {
    width: 24px;
    height: 24px;
    display: block;
    fill: currentColor;
}

.social-facebook {
    background: linear-gradient(180deg, #4a76c9, #23468c);
}

.social-x {
    background: linear-gradient(180deg, #1b1b1b, #000000);
}

.social-instagram {
    background: linear-gradient(135deg, #5037ff, #d12f8d 60%, #ffa030);
}

.social-tiktok {
    background: linear-gradient(180deg, #181818, #050505);
}

.social-youtube {
    background: linear-gradient(180deg, #ff2f2f, #b00000);
}

.akm-footer {
    padding: 2.6rem 0 1.5rem;
    background:
        linear-gradient(180deg, rgba(12,12,16,.98), rgba(4,4,5,1));
    border-top: 1px solid rgba(255,255,255,.10);
    position: relative;
}

.akm-footer::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.18), transparent);
}

.akm-footer-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding-bottom: 1.4rem;
    margin-bottom: 1.2rem;
    border-bottom: 1px solid rgba(255,255,255,.08);
}

.akm-footer-brand-wrap {
    text-align: left;
}

.akm-footer-brand {
    font-family: 'Oswald', sans-serif;
    font-size: 1.35rem;
    letter-spacing: .05em;
    color: #fff;
    margin-bottom: .3rem;
}

.akm-footer-tag {
    color: #bdbdc8;
    font-size: .98rem;
}

.akm-footer-social-wrap {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .7rem;
}

.akm-footer-social-label {
    font-family: 'Oswald', sans-serif;
    font-size: .9rem;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: #bdbdc8;
}

.footer-social-row {
    gap: .65rem;
}

.footer-social {
    width: 34px;
    height: 34px;
    border-radius: 5px;
    opacity: .92;
}

.footer-social svg {
    width: 16px;
    height: 16px;
}

.footer-social:hover,
.footer-social:focus {
    transform: translateY(-1px);
    opacity: 1;
}

.akm-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.akm-footer-bottom p {
    color: #a8a8b5;
    font-size: .92rem;
}

/* INPUTS */
.akm-input {
    border-radius: 0;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.12);
    color: #fff;
    padding: .9rem 1rem;
}

.akm-input:focus {
    background: rgba(255,255,255,.06);
    color: #fff;
    border-color: rgba(255,210,59,.55);
    box-shadow: 0 0 0 .2rem rgba(255,210,59,.12);
}

.akm-input::placeholder {
    color: rgba(255,255,255,.56);
}

/* MODAL */
.akm-modal {
    background: linear-gradient(180deg, rgba(10,10,14,.98), rgba(15,15,22,.98));
    border: 1px solid rgba(255,255,255,.10);
    color: var(--akm-white);
    border-radius: 0;
    box-shadow: 0 20px 60px rgba(0,0,0,.55);
}

.akm-modal-header {
    border-bottom: 1px solid rgba(255,255,255,.10);
    padding: 1rem 1.25rem;
}

.akm-modal-title {
    margin: 0;
    font-size: 2rem;
    color: #ffd631;
}

.akm-modal-body {
    padding: 1.5rem;
}


.investment-info-panel {
    height: 100%;
    padding: 1.2rem;
    background: linear-gradient(180deg, rgba(255,193,7,.08), rgba(255,193,7,.03));
    border: 1px solid rgba(255,193,7,.22);
}

.investment-panel-title {
    font-size: 1.5rem;
    margin-bottom: 1rem;
    color: #ffd631;
}

.investment-info-panel p,
.investment-note,
.investment-list,
.akm-label,
.akm-check label {
    color: var(--akm-muted);
}

.investment-list {
    padding-left: 1.2rem;
    margin-bottom: 1rem;
    text-transform: none;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0;
}

.akm-label {
    display: inline-block;
    margin-bottom: .4rem;
    font-size: .95rem;
    text-transform: none;
    font-family: 'Inter', sans-serif;
    letter-spacing: 0;
}

.akm-check {
    color: var(--akm-muted);
}

.modal-backdrop.show {
    opacity: 0.8;
}

.akm-alert-success {
    background: rgba(25, 135, 84, 0.18);
    color: #d7ffe8;
    border: 1px solid rgba(25, 135, 84, 0.4);
    border-radius: 0;
}

/* ANIMATION */
@keyframes lightDrift {
    0% {
        transform: translate3d(0, 0, 0) scale(1);
    }
    50% {
        transform: translate3d(-2%, 1.5%, 0) scale(1.04);
    }
    100% {
        transform: translate3d(2%, -1.5%, 0) scale(1.08);
    }
}

@keyframes beamSweep {
    0% {
        transform: translateX(-3%) rotate(-2deg) scale(1.02);
        opacity: .72;
    }
    35% {
        transform: translateX(2%) rotate(1deg) scale(1.04);
        opacity: .92;
    }
    70% {
        transform: translateX(-1%) rotate(-1deg) scale(1.06);
        opacity: .80;
    }
    100% {
        transform: translateX(3%) rotate(2deg) scale(1.08);
        opacity: .95;
    }
}

@media (max-width: 991.98px) {
    .hero-section {
        min-height: 38rem;
        background:
            linear-gradient(rgba(0,0,0,.28), rgba(0,0,0,.46)),
            url('../img/rave-hero.jpg') center 25% / cover no-repeat,
            linear-gradient(180deg, #040404 0%, #10101a 100%);
    }

    .hero-section::before {
        background:
            radial-gradient(circle at 18% 22%, rgba(120,255,120,.10), transparent 28%),
            radial-gradient(circle at 82% 24%, rgba(255,80,220,.09), transparent 26%),
            radial-gradient(circle at 52% 12%, rgba(255,255,255,.04), transparent 20%),
            radial-gradient(circle at 70% 60%, rgba(120,180,255,.06), transparent 28%);
    }

    .hero-section::after {
        opacity: .55;
        inset: -4% -3%;
    }

    .hero-panel {
        min-height: calc(38rem - 88px);
    }

    .video-screen {
        min-height: 260px;
    }
}

@media (max-width: 767.98px) {
    .hero-text-backdrop {
        padding: 1.1rem 1rem 1.3rem;
    }

    .section-heading-wrap {
        gap: .6rem;
    }

    .section-line {
        width: 16vw;
    }

    .play-button {
        width: 84px;
        height: 84px;
        font-size: 2.2rem;
    }

    .social-icon {
    width: 50px;
    height: 50px;
}

.social-icon svg {
    width: 22px;
    height: 22px;
}

 .footer-social {
        width: 30px;
        height: 30px;
    }

    .footer-social svg {
        width: 14px;
        height: 14px;
    }

    .footer-social-row {
        gap: .45rem;
    }

    .hero-section {
        min-height: 34rem;
        background:
            linear-gradient(rgba(0,0,0,.22), rgba(0,0,0,.40)),
            url('../img/rave-hero.jpg') center 22% / cover no-repeat,
            linear-gradient(180deg, #040404 0%, #10101a 100%);
    }

    .hero-section::before {
        animation-duration: 16s;
    }

    .hero-section::after {
        opacity: .42;
        animation-duration: 14s;
    }

    .akm-footer-top {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .akm-footer-brand-wrap {
        text-align: center;
    }

    .akm-footer-social-wrap {
        align-items: center;
    }

    .akm-footer-bottom {
        justify-content: center;
        text-align: center;
    }
}
/* CREDITS */
.credits-section {
    background:
        radial-gradient(circle at 22% 28%, rgba(255,214,49,.12), transparent 28%),
        radial-gradient(circle at 78% 42%, rgba(223,35,35,.10), transparent 28%),
        linear-gradient(180deg, rgba(8,8,10,.98), rgba(10,10,14,.98));
}

.credits-intro {
    max-width: 780px;
}

.content-lead-title {
    font-size: clamp(1.45rem, 3vw, 2.35rem);
}

.credits-kicker {
    color: #ffffff;
    margin-bottom: .9rem;
}

.credits-intro p {
    color: var(--akm-muted);
    font-size: 1.08rem;
    line-height: 1.7;
    margin-bottom: 0;
}

.credit-profile-card {
    height: 100%;
    overflow: hidden;
    border: 1px solid rgba(255,214,49,.32);
    background:
        linear-gradient(180deg, rgba(18,18,24,.94), rgba(9,9,13,.96));
    box-shadow: 0 16px 34px rgba(0,0,0,.42);
}

.credit-photo-wrap {
    position: relative;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    background: #07070a;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.credit-photo-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, transparent 58%, rgba(0,0,0,.28)),
        radial-gradient(circle at 50% 22%, rgba(255,255,255,.10), transparent 36%);
}

.credit-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.credit-profile-body {
    padding: 1.6rem 1.45rem 1.45rem;
}

.credit-role {
    margin: 0 0 .25rem;
    color: #ffd631;
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.credit-name {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.85rem, 3vw, 2.45rem);
}

.credit-divider {
    width: 78px;
    height: 2px;
    margin: .85rem 0 1.1rem;
    background: linear-gradient(90deg, var(--akm-gold-2), rgba(255,214,49,0));
}

.credit-profile-body p {
    color: var(--akm-muted);
    font-size: 1.02rem;
    line-height: 1.72;
    margin-bottom: 1rem;
}

.credit-profile-body p:last-child {
    margin-bottom: 0;
}

.credit-signoff {
    color: #ffffff !important;
    font-weight: 600;
}

@media (min-width: 992px) {
    .credit-profile-card {
        display: flex;
        flex-direction: column;
    }

    .credit-profile-body {
        flex: 1;
    }
}

@media (max-width: 767.98px) {
    .credit-profile-body {
        padding: 1.35rem 1.15rem 1.2rem;
    }
}

/* MUSIC PAGE */
.music-page-section {
    background:
        radial-gradient(circle at 22% 18%, rgba(255,230,0,.11), transparent 24%),
        radial-gradient(circle at 78% 28%, rgba(255,55,190,.10), transparent 25%),
        linear-gradient(180deg, rgba(7,7,9,.98), rgba(12,12,18,.98));
}

.music-intro-panel {
    max-width: 940px;
    padding: 1.35rem 1.5rem;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.28);
    box-shadow: 0 14px 34px rgba(0,0,0,.28);
}

.music-kicker {
    margin: 0 0 .75rem;
    color: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.25rem, 2.4vw, 1.9rem);
    line-height: 1.1;
    text-transform: uppercase;
    letter-spacing: .035em;
}

.music-card {
    border: 1px solid rgba(255,255,255,.13);
    background:
        linear-gradient(180deg, rgba(22,22,27,.96), rgba(8,8,11,.98));
    box-shadow: 0 14px 30px rgba(0,0,0,.34);
    overflow: hidden;
}

.music-card-video {
    border-bottom: 1px solid rgba(255,255,255,.10);
    background: #050505;
}

.music-card-video iframe,
.music-modal iframe {
    border: 0;
}

.music-video-placeholder {
    min-height: 210px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: rgba(255,255,255,.72);
    font-family: 'Oswald', sans-serif;
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: .04em;
    background:
        radial-gradient(circle at 50% 45%, rgba(255,230,0,.14), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.02));
}

.music-video-placeholder span {
    padding: .55rem .85rem;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(0,0,0,.35);
}

.music-card-body {
    padding: 1.25rem;
}

.music-year-badge,
.music-modal-year {
    display: inline-block;
    margin-bottom: .65rem;
    padding: .18rem .55rem;
    color: #111;
    background: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: .05em;
    line-height: 1.1;
}


.music-artist,
.music-modal-artist {
    margin: 0 0 0.35rem;
    color: #f3c533;
    font-family: 'Oswald', sans-serif;
    font-size: 0.95rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.music-modal-artist {
    margin-top: 0.45rem;
    margin-bottom: 0.2rem;
}

.music-empty-panel {
    max-width: 760px;
    border: 1px solid rgba(243, 197, 51, 0.25);
    background: rgba(0, 0, 0, 0.42);
    border-radius: 18px;
    padding: 1.25rem 1.5rem;
    color: rgba(255, 255, 255, 0.82);
}

.music-card-title {
    margin: 0 0 .75rem;
    color: #fff;
    font-size: 1.35rem;
}

.music-card-text {
    color: var(--akm-muted);
    font-size: .98rem;
    line-height: 1.65;
}

.music-read-more {
    margin-top: .35rem;
}

.music-modal .akm-modal-body p {
    color: var(--akm-muted);
    line-height: 1.75;
}

.music-modal-intro {
    color: #fff !important;
    font-weight: 600;
}

/* MUSIC TIMELINE DEMO */
.music-timeline-section {
    background:
        radial-gradient(circle at 18% 8%, rgba(255,230,0,.10), transparent 25%),
        radial-gradient(circle at 82% 16%, rgba(80,190,255,.10), transparent 25%),
        linear-gradient(180deg, rgba(7,7,10,.98), rgba(11,11,18,.98));
}

.music-timeline {
    position: relative;
    max-width: 1050px;
    margin-left: auto;
    margin-right: auto;
}

.music-timeline::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 4rem;
    width: 2px;
    background: linear-gradient(180deg, transparent, rgba(255,230,0,.75), rgba(255,255,255,.24), transparent);
}

.music-year-panel {
    position: relative;
    margin-bottom: 2rem;
    padding: 1.25rem 1.25rem 1.25rem 7.2rem;
    border: 1px solid rgba(255,255,255,.12);
    background:
        radial-gradient(circle at 12% 18%, rgba(255,230,0,.12), transparent 22%),
        linear-gradient(135deg, rgba(25,25,32,.94), rgba(7,7,10,.98));
    box-shadow: 0 16px 36px rgba(0,0,0,.34);
}

.music-year-1993 {
    background:
        radial-gradient(circle at 18% 20%, rgba(255,60,190,.12), transparent 24%),
        linear-gradient(135deg, rgba(23,20,31,.94), rgba(7,7,10,.98));
}

.music-year-1994 {
    background:
        radial-gradient(circle at 18% 20%, rgba(80,190,255,.12), transparent 24%),
        linear-gradient(135deg, rgba(18,24,34,.94), rgba(7,7,10,.98));
}

.music-year-marker {
    position: absolute;
    top: 1.25rem;
    left: 2.6rem;
    z-index: 2;
    width: 3rem;
    height: 3rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #111;
    background: var(--akm-rave-yellow);
    box-shadow: 0 0 0 6px rgba(0,0,0,.5), 0 0 24px rgba(255,230,0,.2);
    font-family: 'Oswald', sans-serif;
    font-size: .9rem;
    font-weight: 700;
}

.music-year-content {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(280px, 1.15fr);
    gap: 1.5rem;
    align-items: center;
}

.music-year-copy h2 {
    margin: 0 0 .65rem;
    color: var(--akm-rave-yellow);
    font-size: clamp(2.2rem, 5vw, 4rem);
}

.music-year-theme {
    margin: 0 0 .25rem;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: 1.25rem;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.music-year-copy p:not(.music-year-theme) {
    color: var(--akm-muted);
    line-height: 1.7;
}

.music-timeline-card {
    box-shadow: 0 12px 28px rgba(0,0,0,.28);
}

@media (max-width: 767.98px) {
    .music-timeline::before {
        left: 1.5rem;
    }

    .music-year-panel {
        padding: 5.25rem 1rem 1rem;
    }

    .music-year-marker {
        left: 1rem;
    }

    .music-year-content {
        grid-template-columns: 1fr;
    }
}

/* MUSIC TIMELINE YEAR CHAPTER DEMO - v7 brighter background / glass cards */
.music-timeline-chapters {
    display: grid;
    gap: 2rem;
}

.music-year-chapter {
    position: relative;
    overflow: hidden;
    min-height: 520px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 26px;
    background-color: #08080b;
    background-image: var(--music-year-bg);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 22px 52px rgba(0,0,0,.42);
}


.music-year-1992 {
    background-image: url('/assets/img/music/akm-music-1992.jpg');
}

.music-year-overlay {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 16%, rgba(255,230,0,.12), transparent 32%),
        linear-gradient(90deg, rgba(0,0,0,.36), rgba(0,0,0,.06) 52%, rgba(0,0,0,.30));
    pointer-events: none;
}

.music-year-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(260px, .8fr) minmax(0, 1.35fr);
    gap: 1.5rem;
    align-items: start;
    padding: clamp(1.1rem, 3vw, 2rem);
}

.music-year-feature-card {
    position: sticky;
    top: 1rem;
    border: 1px solid rgba(243, 197, 51, .42);
    border-radius: 22px;
    background: rgba(0, 0, 0, .52);
    box-shadow: 0 18px 34px rgba(0,0,0,.28);
    backdrop-filter: blur(4px);
    padding: clamp(1.15rem, 2.5vw, 1.65rem);
}

.music-year-feature-card h2 {
    margin: 0 0 .65rem;
    color: var(--akm-rave-yellow);
    font-size: clamp(3.4rem, 10vw, 6.4rem);
    line-height: .9;
    text-shadow: 0 0 20px rgba(255, 230, 0, .18);
}

.music-year-intro,
.music-year-notes p {
    color: rgba(255,255,255,.82);
    line-height: 1.7;
}

.music-year-notes {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid rgba(255,255,255,.14);
}

.music-year-notes p:last-child {
    margin-bottom: 0;
}

.music-year-video-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.1rem;
}

.music-year-chapter .music-timeline-card {
    background: rgba(10, 10, 14, .64);
    border-color: rgba(255,255,255,.18);
    box-shadow: 0 16px 32px rgba(0,0,0,.26);
    backdrop-filter: blur(3px);
}

.music-year-chapter .music-video-frame,
.music-year-chapter .ratio {
    box-shadow: 0 12px 24px rgba(0,0,0,.22);
}

@media (max-width: 991.98px) {
    .music-year-inner {
        grid-template-columns: 1fr;
    }

    .music-year-feature-card {
        position: relative;
        top: auto;
    }
}

@media (max-width: 767.98px) {
    .music-year-video-grid {
        grid-template-columns: 1fr;
    }

    .music-year-chapter {
        border-radius: 20px;
    }

    
.music-year-1992 {
    background-image: url('/assets/img/music/akm-music-1992.jpg');
}

.music-year-overlay {
        background:
            radial-gradient(circle at 18% 10%, rgba(255,230,0,.14), transparent 28%),
            linear-gradient(180deg, rgba(0,0,0,.48), rgba(0,0,0,.72));
    }
}

/* MUSIC PAGE RELEASE GROUPS - v8 */
.music-reveal-counter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-top: 1rem;
    padding: .42rem .8rem;
    border: 1px solid rgba(243,197,51,.38);
    color: var(--akm-rave-yellow);
    background: rgba(0,0,0,.28);
    font-family: 'Oswald', sans-serif;
    font-size: .95rem;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}

.music-years-wrap {
    margin-top: clamp(2rem, 4vw, 3.25rem);
}

.music-year-group {
    margin-top: clamp(2.2rem, 5vw, 4rem);
    padding-top: clamp(1.6rem, 3vw, 2.25rem);
    border-top: 1px solid rgba(255,255,255,.12);
}

.music-year-group:first-child {
    margin-top: 0;
}

.music-year-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1.5rem;
    margin-bottom: 1.25rem;
}

.music-year-small {
    margin: 0 0 .15rem;
    color: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-size: .95rem;
    letter-spacing: .1em;
    line-height: 1;
    text-transform: uppercase;
}

.music-year-heading {
    margin: 0;
    color: #fff;
    font-size: clamp(2.4rem, 7vw, 4.6rem);
    line-height: .9;
    text-shadow: 0 0 24px rgba(255,230,0,.16);
}

.music-year-summary {
    max-width: 430px;
    text-align: right;
}

.music-year-summary p {
    margin: 0 0 .35rem;
    color: rgba(255,255,255,.82);
    line-height: 1.55;
}

.music-year-summary span {
    display: inline-flex;
    padding: .22rem .55rem;
    color: #111;
    background: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-size: .86rem;
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1;
    text-transform: uppercase;
}

.music-card-teaser {
    border-style: dashed;
    border-color: rgba(243,197,51,.26);
    background:
        radial-gradient(circle at 50% 0%, rgba(243,197,51,.10), transparent 34%),
        linear-gradient(180deg, rgba(18,18,22,.78), rgba(7,7,10,.9));
}

.music-card-teaser .music-card-title {
    color: rgba(255,255,255,.9);
}

.music-card-teaser .music-card-text {
    color: rgba(255,255,255,.66);
}

.music-video-teaser-placeholder {
    position: relative;
    overflow: hidden;
    min-height: 205px;
    background:
        radial-gradient(circle at 50% 50%, rgba(243,197,51,.16), transparent 26%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.055) 0, rgba(255,255,255,.055) 1px, transparent 1px, transparent 9px),
        linear-gradient(135deg, rgba(255,230,0,.08), rgba(255,55,190,.06), rgba(0,0,0,.28));
}

.music-video-teaser-placeholder::before {
    content: "";
    position: absolute;
    inset: 20% 26%;
    border: 2px solid rgba(243,197,51,.24);
    transform: rotate(-5deg);
}

.music-video-teaser-placeholder span {
    position: relative;
    z-index: 1;
}

@media (max-width: 767.98px) {
    .music-year-heading-row {
        display: block;
    }

    .music-year-summary {
        max-width: none;
        margin-top: .85rem;
        text-align: left;
    }
}


/* MUSIC PAGE LIVE-FIRST FLOW - v9 */
.music-revealed-section {
    margin-top: clamp(2rem, 4vw, 3.25rem);
}

.music-section-subhead {
    max-width: 820px;
    margin-bottom: 1.25rem;
}

.music-section-subhead-center {
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

.music-section-subhead p:not(.music-year-small) {
    margin: .25rem 0 0;
    color: rgba(255,255,255,.76);
    line-height: 1.65;
}

.music-subsection-heading {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 5vw, 3.5rem);
    line-height: .95;
    text-transform: uppercase;
    text-shadow: 0 0 24px rgba(255,230,0,.14);
}

.music-card-revealed {
    border-color: rgba(243,197,51,.30);
    background:
        radial-gradient(circle at 18% 0%, rgba(243,197,51,.14), transparent 28%),
        linear-gradient(180deg, rgba(24,24,30,.97), rgba(8,8,12,.99));
}

.music-timeline-reveal-section {
    margin-top: clamp(2.6rem, 5vw, 4rem);
    padding-top: clamp(2rem, 4vw, 3rem);
    border-top: 1px solid rgba(255,255,255,.12);
}

.music-card-timeline-revealed {
    position: relative;
}

.music-card-timeline-revealed::after {
    content: "Revealed";
    position: absolute;
    top: .75rem;
    right: .75rem;
    z-index: 2;
    padding: .22rem .5rem;
    color: #111;
    background: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .07em;
    line-height: 1;
    text-transform: uppercase;
    box-shadow: 0 8px 18px rgba(0,0,0,.28);
}


/* MUSIC PAGE YEAR BACKGROUND SECTIONS - v11 */
.music-year-group-1990,
.music-year-group-1992,
.music-year-group-1993,
.music-year-group-1994 {
    position: relative;
    overflow: hidden;
    margin-left: calc(var(--bs-gutter-x, 1.5rem) * -0.5);
    margin-right: calc(var(--bs-gutter-x, 1.5rem) * -0.5);
    padding: clamp(1.4rem, 3vw, 2.2rem);
    border: 1px solid rgba(243,197,51,.24);
    border-radius: 26px;
    background-color: #08080b;
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    box-shadow: 0 22px 52px rgba(0,0,0,.35);
}

.music-year-group-1990 {
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.46), rgba(0,0,0,.18) 50%, rgba(0,0,0,.40)),
        url('/assets/img/music/akm-music-1990.jpg');
}

.music-year-group-1992 {
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.46), rgba(0,0,0,.18) 50%, rgba(0,0,0,.40)),
        url('/assets/img/music/akm-music-1992.jpg');
}

.music-year-group-1993 {
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.46), rgba(0,0,0,.18) 50%, rgba(0,0,0,.40)),
        url('/assets/img/music/akm-music-1993.jpg');
}

.music-year-group-1994 {
    background-image:
        linear-gradient(90deg, rgba(0,0,0,.46), rgba(0,0,0,.18) 50%, rgba(0,0,0,.40)),
        url('/assets/img/music/akm-music-1994.jpg');
}

.music-year-group-1990 .music-year-heading-row,
.music-year-group-1992 .music-year-heading-row,
.music-year-group-1993 .music-year-heading-row,
.music-year-group-1994 .music-year-heading-row {
    position: relative;
    z-index: 1;
    padding: 1rem;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(0,0,0,.34);
    backdrop-filter: blur(2px);
}

.music-year-group-1990 .music-card,
.music-year-group-1992 .music-card,
.music-year-group-1993 .music-card,
.music-year-group-1994 .music-card {
    position: relative;
    z-index: 1;
    background: rgba(8,8,12,.70);
    backdrop-filter: blur(3px);
}

.music-year-group-1990 .music-card-teaser,
.music-year-group-1992 .music-card-teaser,
.music-year-group-1993 .music-card-teaser,
.music-year-group-1994 .music-card-teaser {
    background:
        radial-gradient(circle at 50% 0%, rgba(243,197,51,.12), transparent 34%),
        rgba(8,8,12,.56);
}

.music-year-group-1990 .music-card-body,
.music-year-group-1992 .music-card-body,
.music-year-group-1993 .music-card-body,
.music-year-group-1994 .music-card-body {
    background: rgba(0,0,0,.16);
}

@media (max-width: 767.98px) {
    .music-year-group-1990,
    .music-year-group-1992,
    .music-year-group-1993,
    .music-year-group-1994 {
        margin-left: 0;
        margin-right: 0;
        padding: 1rem;
        border-radius: 20px;
    }

    .music-year-group-1990 {
        background-image:
            linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.70)),
            url('/assets/img/music/akm-music-1990.jpg');
    }

    .music-year-group-1992 {
        background-image:
            linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.70)),
            url('/assets/img/music/akm-music-1992.jpg');
    }

    .music-year-group-1993 {
        background-image:
            linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.70)),
            url('/assets/img/music/akm-music-1993.jpg');
    }

    .music-year-group-1994 {
        background-image:
            linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.70)),
            url('/assets/img/music/akm-music-1994.jpg');
    }

    .music-year-group-1990 .music-year-heading-row,
    .music-year-group-1992 .music-year-heading-row,
    .music-year-group-1993 .music-year-heading-row,
    .music-year-group-1994 .music-year-heading-row {
        padding: .85rem;
    }
}

/* MUSIC PAGE YEAR CARD OUTLINES - v12 */
.music-year-group-1990 .music-card,
.music-year-group-1992 .music-card,
.music-year-group-1993 .music-card,
.music-year-group-1994 .music-card {
    border: 1.5px solid rgba(243,197,51,.54);
    box-shadow:
        0 0 0 1px rgba(243,197,51,.12),
        0 16px 34px rgba(0,0,0,.44),
        0 0 22px rgba(243,197,51,.08);
}

.music-year-group-1990 .music-card-timeline-revealed,
.music-year-group-1992 .music-card-timeline-revealed,
.music-year-group-1993 .music-card-timeline-revealed,
.music-year-group-1994 .music-card-timeline-revealed {
    border-color: rgba(243,197,51,.72);
}

.music-year-group-1990 .music-card-teaser,
.music-year-group-1992 .music-card-teaser,
.music-year-group-1993 .music-card-teaser,
.music-year-group-1994 .music-card-teaser {
    border-color: rgba(243,197,51,.46);
}

/* MUSIC MODAL OUTLINES - v13 */
.music-modal .akm-modal {
    border: 1.5px solid rgba(243,197,51,.72);
    box-shadow:
        0 0 0 1px rgba(243,197,51,.16),
        0 22px 70px rgba(0,0,0,.70),
        0 0 30px rgba(243,197,51,.10);
}

.music-modal .akm-modal-header {
    border-bottom: 1px solid rgba(243,197,51,.34);
}

.music-modal .akm-modal-title {
    color: var(--akm-rave-yellow);
}

.music-modal .btn-close {
    filter: invert(1) grayscale(1) brightness(1.8);
    opacity: .86;
}

.music-modal .btn-close:hover,
.music-modal .btn-close:focus {
    opacity: 1;
}

/* MERCHANDISE PAGE */
.merchandise-section {
    min-height: calc(100vh - 110px);
    background:
        radial-gradient(circle at 18% 18%, rgba(255,230,0,.11), transparent 27%),
        radial-gradient(circle at 82% 24%, rgba(142,255,74,.06), transparent 25%),
        radial-gradient(circle at 70% 78%, rgba(255,80,220,.05), transparent 28%),
        linear-gradient(180deg, rgba(4,4,5,.99), rgba(8,8,10,.99));
}

.merchandise-intro {
    max-width: 820px;
    margin-bottom: 2rem;
}

.merchandise-coming-soon {
    display: inline-block;
    margin-bottom: .85rem;
    padding: .32rem .72rem;
    color: #050505;
    background: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 7px 18px rgba(0,0,0,.30);
}

.merchandise-showcase {
    position: relative;
    width: 100%;
    max-width: 1120px;
    overflow: hidden;
    border: 1px solid rgba(255,230,0,.72);
    background: #050505;
    box-shadow:
        0 22px 52px rgba(0,0,0,.52),
        0 0 28px rgba(255,230,0,.06);
}

.merchandise-showcase::before {
    content: '';
    position: absolute;
    inset: 8px;
    z-index: 3;
    pointer-events: none;
    border: 1px solid rgba(255,255,255,.12);
}

.merchandise-showcase-image {
    display: block;
    width: 100%;
    height: auto;
}

.merchandise-showcase-shade {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(180deg, transparent 58%, rgba(0,0,0,.62) 100%),
        linear-gradient(90deg, rgba(0,0,0,.12), transparent 18%, transparent 82%, rgba(0,0,0,.12));
}

.merchandise-showcase-caption {
    position: absolute;
    left: 50%;
    bottom: 1.1rem;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    width: calc(100% - 3rem);
    transform: translateX(-50%);
    color: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-size: clamp(.92rem, 2vw, 1.25rem);
    font-weight: 600;
    letter-spacing: .09em;
    text-transform: uppercase;
    text-shadow: 0 2px 7px rgba(0,0,0,.95);
}

.merchandise-dot {
    color: rgba(255,255,255,.65);
}

.merchandise-note {
    max-width: 780px;
    margin: 1.45rem auto 0;
    color: #bdbdc8;
    font-size: .98rem;
    line-height: 1.65;
}

@media (max-width: 767.98px) {
    .merchandise-section {
        padding-top: 2.8rem;
        padding-bottom: 2.8rem;
    }

    .merchandise-intro {
        margin-bottom: 1.4rem;
    }

    .merchandise-showcase-caption {
        bottom: .75rem;
        gap: .42rem;
        width: calc(100% - 1.6rem);
        letter-spacing: .055em;
    }

    .merchandise-showcase::before {
        inset: 5px;
    }
}

/* CROWDFUNDER */
.crowdfunder-section,
.crowdfunder-privacy-section {
    min-height: calc(100vh - 110px);
    background:
        radial-gradient(circle at 18% 18%, rgba(255,230,0,.11), transparent 27%),
        radial-gradient(circle at 82% 24%, rgba(142,255,74,.05), transparent 25%),
        radial-gradient(circle at 70% 78%, rgba(255,80,220,.045), transparent 28%),
        linear-gradient(180deg, rgba(4,4,5,.99), rgba(8,8,10,.99));
}

.crowdfunder-hero {
    max-width: 920px;
    padding: 1.5rem 0 2.25rem;
}

.crowdfunder-kicker,
.policy-eyebrow {
    display: inline-block;
    color: var(--akm-rave-yellow);
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.crowdfunder-kicker {
    margin-bottom: 1rem;
    padding: .38rem .78rem;
    color: #050505;
    background: var(--akm-rave-yellow);
    box-shadow: 0 7px 18px rgba(0,0,0,.30);
}

.crowdfunder-title {
    margin-bottom: 1rem;
    color: #fff;
    line-height: 1;
}

.crowdfunder-intro {
    max-width: 760px;
}

.crowdfunder-status {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin-top: 1.15rem;
    padding: .55rem .85rem;
    border: 1px solid rgba(255,230,0,.28);
    color: #e8e8eb;
    background: rgba(0,0,0,.28);
    font-size: .92rem;
}

.crowdfunder-status-dot {
    width: .55rem;
    height: .55rem;
    border-radius: 50%;
    background: var(--akm-rave-yellow);
    box-shadow: 0 0 12px rgba(255,230,0,.55);
}

.crowdfunder-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.25rem;
    max-width: 1000px;
}

.crowdfunder-card {
    padding: 1.6rem;
    border: 1px solid rgba(255,230,0,.34);
    background: rgba(7,7,9,.80);
    box-shadow: 0 18px 42px rgba(0,0,0,.34);
}

.crowdfunder-card h3 {
    margin-bottom: .85rem;
    color: var(--akm-rave-yellow);
    font-size: 1.45rem;
}

.crowdfunder-card p {
    color: #d0d0d8;
    line-height: 1.7;
}

.crowdfunder-privacy-card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1rem;
}

.crowdfunder-policy-btn {
    align-self: flex-start;
}

.crowdfunder-smallprint {
    max-width: 820px;
    margin: 1.55rem auto 0;
    color: #a9a9b2;
    font-size: .9rem;
}

/* CROWDFUNDING PRIVACY POLICY */
.policy-shell {
    max-width: 980px;
    overflow: hidden;
    border: 1px solid rgba(255,230,0,.34);
    background: rgba(7,7,9,.88);
    box-shadow: 0 22px 54px rgba(0,0,0,.45);
}

.policy-header {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.5rem 1.65rem;
    border-bottom: 1px solid rgba(255,230,0,.24);
    background: linear-gradient(90deg, rgba(255,230,0,.08), transparent 60%);
}

.policy-eyebrow {
    margin-bottom: .35rem;
    font-size: .9rem;
}

.policy-updated {
    color: #a9a9b2;
    font-size: .88rem;
}

.policy-back-link,
.policy-content a {
    color: var(--akm-rave-yellow);
    text-decoration-color: rgba(255,230,0,.45);
    text-underline-offset: .18em;
}

.policy-back-link {
    flex: 0 0 auto;
    font-size: .9rem;
    text-decoration: none;
}

.policy-back-link:hover,
.policy-content a:hover {
    color: #fff167;
}

.policy-lead {
    margin: 0;
    padding: 1.5rem 1.65rem;
    color: #eeeeef;
    line-height: 1.78;
    background: rgba(255,255,255,.025);
}

.policy-content {
    padding: .25rem 1.65rem 1.6rem;
}

.policy-content section {
    padding: 1.45rem 0;
    border-top: 1px solid rgba(255,255,255,.08);
}

.policy-content section:first-child {
    border-top: 0;
}

.policy-content h2 {
    margin-bottom: .8rem;
    color: var(--akm-rave-yellow);
    font-size: 1.45rem;
    line-height: 1.2;
}

.policy-content h3 {
    margin: 1.2rem 0 .55rem;
    color: #fff;
    font-family: 'Inter', sans-serif;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
}

.policy-content p,
.policy-content li {
    color: #d2d2d9;
    line-height: 1.72;
}

.policy-content ul {
    margin-bottom: .75rem;
    padding-left: 1.25rem;
}

.policy-content li + li {
    margin-top: .4rem;
}

@media (max-width: 767.98px) {
    .crowdfunder-section,
    .crowdfunder-privacy-section {
        padding-top: 2.8rem;
        padding-bottom: 2.8rem;
    }

    .crowdfunder-grid {
        grid-template-columns: 1fr;
    }

    .policy-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .policy-lead,
    .policy-content,
    .policy-header {
        padding-left: 1.1rem;
        padding-right: 1.1rem;
    }
}


/* CROWDFUNDER LIVE PREVIEW — hidden test page */
.crowdfunder-live-preview {
    position: relative;
}

.crowdfunder-preview-hero {
    max-width: 940px;
    padding: 1.5rem 0 .5rem;
}

.crowdfunder-preview-intro {
    max-width: 790px;
    margin-bottom: 1.8rem;
}

.crowdfunder-preview-panel {
    max-width: 820px;
    margin-bottom: 1.9rem;
    padding: 1.55rem 1.7rem;
    border: 1px solid rgba(255,230,0,.34);
    background: rgba(7,7,9,.80);
    box-shadow: 0 18px 42px rgba(0,0,0,.34);
}

.crowdfunder-preview-panel h3 {
    margin-bottom: .85rem;
    color: var(--akm-rave-yellow);
    font-size: 1.45rem;
}

.crowdfunder-preview-panel p {
    color: #d0d0d8;
    line-height: 1.7;
}

.crowdfunder-preview-actions {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: .9rem;
    margin-bottom: 1.25rem;
}

.crowdfunder-main-cta {
    min-width: min(100%, 360px);
    padding-left: 1.8rem;
    padding-right: 1.8rem;
}

.crowdfunder-preview-privacy {
    color: #c9c9cf;
    font-size: .9rem;
    text-decoration-color: rgba(255,230,0,.45);
    text-underline-offset: .2em;
}

.crowdfunder-preview-privacy:hover,
.crowdfunder-preview-privacy:focus {
    color: var(--akm-rave-yellow);
}

@media (max-width: 767.98px) {
    .crowdfunder-preview-panel {
        padding: 1.25rem 1.15rem;
    }

    .crowdfunder-main-cta {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }
}

/* ACTORS */
.actors-section {
    background:
        radial-gradient(circle at 22% 20%, rgba(255,214,49,.10), transparent 27%),
        radial-gradient(circle at 80% 36%, rgba(223,35,35,.09), transparent 28%),
        linear-gradient(180deg, rgba(8,8,10,.98), rgba(10,10,14,.98));
}

.actors-intro {
    max-width: 780px;
}

.actors-kicker {
    color: #ffffff;
    margin-bottom: .9rem;
}

.actors-intro p {
    color: var(--akm-muted);
    font-size: 1.08rem;
    line-height: 1.7;
    margin-bottom: 0;
}

.actor-card {
    display: flex;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid rgba(255,214,49,.28);
    background: linear-gradient(180deg, rgba(18,18,24,.94), rgba(9,9,13,.96));
    box-shadow: 0 14px 30px rgba(0,0,0,.36);
}

.actor-photo-wrap,
.actor-modal-photo-wrap {
    position: relative;
    overflow: hidden;
    background: #07070a;
}

.actor-photo-wrap {
    aspect-ratio: 4 / 5;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.actor-photo-wrap::after,
.actor-modal-photo-wrap::after {
    content: '';
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, transparent 62%, rgba(0,0,0,.28)),
        radial-gradient(circle at 50% 22%, rgba(255,255,255,.09), transparent 38%);
}

.actor-photo,
.actor-modal-photo {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.actor-photo-placeholder {
    width: 100%;
    height: 100%;
    min-height: 220px;
    display: flex;
    align-items: center;
    justify-content: center;
    background:
        radial-gradient(circle at 50% 40%, rgba(255,214,49,.11), transparent 28%),
        linear-gradient(135deg, rgba(255,255,255,.05), rgba(255,255,255,.015));
    color: rgba(255,255,255,.42);
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    letter-spacing: .12em;
}

.actor-card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: 1.15rem 1.05rem 1.1rem;
    text-align: center;
}

.actor-character,
.actor-modal-character {
    color: #ffd631;
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    letter-spacing: .07em;
}

.actor-character {
    min-height: 1.45rem;
    margin: .45rem 0 0;
    font-size: .92rem;
}

.actor-name {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.3rem, 2.1vw, 1.65rem);
    line-height: 1.12;
}

.actor-card-spacer {
    flex: 1;
    min-height: 1rem;
}

.actor-bio-button {
    width: 100%;
}

.actor-modal-close {
    position: absolute;
    top: .9rem;
    right: .9rem;
    z-index: 3;
}

.actor-modal-heading {
    padding-right: 2.5rem;
    margin-bottom: 1.25rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(255,255,255,.10);
}

.actor-modal-name {
    margin: 0;
    color: #ffffff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.8rem, 3vw, 2.4rem);
    line-height: 1.1;
}

.actor-modal-character {
    margin: .45rem 0 0;
    font-size: .95rem;
}

.actor-modal-photo-wrap {
    aspect-ratio: 4 / 5;
    border: 1px solid rgba(255,214,49,.22);
}

.actor-modal-bio p {
    display: block;
    color: var(--akm-muted);
    font-size: 1rem;
    line-height: 1.75;
    margin: 0 0 1rem;
}

.actor-modal-bio p:last-child {
    margin-bottom: 0;
}

.actor-modal-bio-empty {
    font-style: italic;
}

.actor-modal-placeholder {
    min-height: 100%;
}

@media (max-width: 767.98px) {
    .actor-modal-heading {
        padding-right: 0;
        margin-top: .25rem;
    }
}

@media (max-width: 575.98px) {
    .actor-card {
        max-width: 420px;
        margin-left: auto;
        margin-right: auto;
    }
}

/* ==========================================================================\n   HOMEPAGE DEMO - October 2026 live production / rave concept\n   ========================================================================== */
.home-demo-hero {
    border-bottom: 0;
}

/* A compact event acknowledgement above the main production status. */
.akm-rave-thanks-strip {
    position: relative;
    z-index: 4;
    padding: .6rem 0;
    background:
        radial-gradient(circle, rgba(82,133,255,.5) 1.5px, transparent 2px) right top / 12px 12px,
        #030711;
    border-top: 3px solid #5285ff;
    border-bottom: 1px solid #5285ff;
    color: #e2e9fa;
    font-size: .875rem;
    line-height: 1.5;
}

.akm-rave-thanks-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: .2rem 1.5rem;
    background: rgba(3,7,17,.88);
    font-family: 'Oswald', sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-align: center;
}

.akm-rave-thanks-inner p {
    margin: 0;
    font-size: .95rem;
    font-weight: 500;
}

.akm-rave-thanks-inner strong {
    color: #b3caff;
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.akm-rave-thanks-inner a {
    color: #fff;
    font-size: .85rem;
    font-weight: 500;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.akm-rave-thanks-inner a:hover {
    color: #b3caff;
}

.akm-rave-thanks-inner a:focus-visible {
    outline: 2px solid #fff;
    outline-offset: 4px;
}

.akm-live-strip {
    position: relative;
    z-index: 3;
    padding: .8rem 0;
    background: #f4d914;
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(0,0,0,.7);
    color: #050505;
}

.akm-live-strip-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem;
    flex-wrap: wrap;
    font-family: 'Oswald', sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.akm-live-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #d60000;
    box-shadow: 0 0 0 5px rgba(214,0,0,.12);
    animation: akmLivePulse 1.6s ease-in-out infinite;
}

.akm-live-label {
    font-size: 1.12rem;
    font-weight: 700;
}

.akm-live-copy {
    font-size: .95rem;
    font-weight: 500;
}

.home-demo-now-filming {
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 35%, rgba(255,214,49,.16), transparent 30%),
        radial-gradient(circle at 15% 45%, rgba(255,40,40,.10), transparent 28%),
        linear-gradient(180deg, #08080b, #111116);
}

.home-demo-now-filming .section-heading-wrap {
    margin-bottom: 1.2rem;
}

.home-demo-now-filming .section-heading {
    text-align: left;
}

.home-demo-lead {
    max-width: 610px;
    color: #f5f5f5;
    font-size: clamp(1.2rem, 2vw, 1.55rem);
    line-height: 1.62;
}

.home-demo-muted {
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.12rem, 2vw, 1.35rem);
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .015em;
    text-shadow: 0 1px 0 rgba(255,230,0,.95), 0 0 12px rgba(255,230,0,.22);
}

.home-demo-status-card {
    position: relative;
    overflow: hidden;
    padding: clamp(1.6rem, 4vw, 3rem);
    border: 1px solid rgba(255,214,49,.42);
    background:
        linear-gradient(125deg, rgba(255,230,0,.08), transparent 42%),
        linear-gradient(180deg, rgba(18,18,21,.96), rgba(6,6,8,.98));
    box-shadow: 0 20px 55px rgba(0,0,0,.48);
}

.home-demo-status-card::after {
    content: '';
    position: absolute;
    width: 260px;
    height: 260px;
    right: -100px;
    bottom: -125px;
    border: 28px solid rgba(255,230,0,.06);
    border-radius: 50%;
}

.home-demo-status-eyebrow {
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-weight: 600;
    letter-spacing: .16em;
    font-size: .9rem;
}

.home-demo-status-title {
    position: relative;
    z-index: 1;
    max-width: 650px;
    margin-top: .35rem;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(2.35rem, 5vw, 4.8rem);
    font-weight: 700;
    line-height: .96;
    text-transform: uppercase;
}

.home-demo-status-rule {
    width: 115px;
    height: 4px;
    margin: 1.5rem 0;
    background: #ffe600;
}

.home-demo-status-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.12);
}

.home-demo-status-grid > div {
    padding: 1rem .8rem;
    background: rgba(5,5,7,.94);
}

.home-demo-status-value,
.home-demo-status-caption {
    display: block;
}

.home-demo-status-value {
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    font-weight: 700;
}

.home-demo-status-caption {
    margin-top: .2rem;
    color: #bdbdc8;
    font-size: .82rem;
}

.home-demo-rave-section {
    background:
        linear-gradient(90deg, rgba(255,230,0,.03), transparent 23%, transparent 77%, rgba(255,230,0,.03)),
        repeating-linear-gradient(135deg, rgba(255,230,0,.018) 0, rgba(255,230,0,.018) 1px, transparent 1px, transparent 11px),
        #050505;
}

.home-demo-rave-heading .section-heading {
    color: #ffe600;
}

.home-demo-rave-heading .section-line {
    background: rgba(255,230,0,.62);
}

.home-demo-rave-shell {
    max-width: 1120px;
    margin: 0 auto;
    border: 1px solid rgba(255,230,0,.6);
    background: #050505;
    box-shadow: 0 25px 65px rgba(0,0,0,.6);
}

.home-demo-rave-poster-wrap {
    height: 100%;
    min-height: 580px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    background: #0a0a0a;
}

.home-demo-rave-poster {
    display: block;
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain;
    object-position: center center;
}

.home-demo-rave-copy {
    position: relative;
    min-height: 100%;
    padding: clamp(1.8rem, 4vw, 3.5rem);
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 7%, rgba(255,230,0,.16), transparent 24%),
        linear-gradient(180deg, #101010, #060606);
}

.home-demo-rave-copy::before {
    content: '';
    position: absolute;
    right: -65px;
    top: -65px;
    width: 220px;
    height: 220px;
    border: 28px solid rgba(255,230,0,.07);
    border-radius: 50%;
}

.home-demo-rave-date {
    position: relative;
    z-index: 1;
    display: inline-block;
    margin-bottom: .8rem;
    padding: .38rem .65rem;
    color: #050505;
    background: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: .05em;
}

.home-demo-rave-copy h3 {
    position: relative;
    z-index: 1;
    margin: .25rem 0 1.15rem;
    color: #fff;
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    font-weight: 700;
    line-height: .95;
}

.home-demo-rave-intro {
    position: relative;
    z-index: 1;
    color: #ededed;
    font-size: clamp(1.12rem, 2vw, 1.38rem);
    line-height: 1.62;
}

.home-demo-rave-highlight {
    position: relative;
    z-index: 1;
    margin: 1.5rem 0;
    padding: 1rem 1.1rem;
    border-left: 4px solid #ffe600;
    background: rgba(255,230,0,.06);
    color: #dbdbe0;
    line-height: 1.6;
}

.home-demo-rave-highlight span {
    display: block;
    margin-bottom: .2rem;
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: 1.25rem;
    font-weight: 700;
    letter-spacing: .04em;
}

.home-demo-rave-names {
    position: relative;
    z-index: 1;
    color: #f7f7f7;
    font-family: 'Oswald', sans-serif;
    font-size: 1.05rem;
    line-height: 1.6;
    text-transform: uppercase;
}

.home-demo-rave-quote {
    position: relative;
    z-index: 1;
    margin: 1.6rem 0 0;
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.45rem, 2.8vw, 2.15rem);
    font-weight: 600;
    text-transform: uppercase;
}

.home-demo-rave-btn {
    position: relative;
    z-index: 1;
    color: #050505;
    background: #ffe600;
    border: 1px solid #ffe600;
    box-shadow: 0 10px 25px rgba(0,0,0,.45);
}

.home-demo-rave-btn:hover,
.home-demo-rave-btn:focus {
    color: #050505;
    background: #fff36b;
    border-color: #fff36b;
}

.home-demo-rave-mini-poster {
    display: none;
    position: absolute;
    z-index: 0;
    right: -30px;
    bottom: -65px;
    width: 205px;
    transform: rotate(5deg);
    opacity: .11;
    pointer-events: none;
}

.home-demo-rave-mini-poster img {
    display: block;
    width: 100%;
    height: auto;
}

.home-demo-production-section {
    overflow: hidden;
    background:
        radial-gradient(circle at 15% 22%, rgba(255,85,30,.09), transparent 26%),
        radial-gradient(circle at 85% 60%, rgba(255,230,0,.09), transparent 28%),
        linear-gradient(180deg, #111114, #070709);
}

.home-demo-section-intro {
    max-width: 720px;
    color: #bfc0ca;
    font-size: 1.05rem;
    line-height: 1.7;
}

.home-demo-polaroid-stage {
    position: relative;
    max-width: 1080px;
    min-height: 660px;
    margin: 2rem auto 0;
}

.home-demo-polaroid {
    position: absolute;
    width: 260px;
    padding: 12px 12px 18px;
    background: #f1eee2;
    color: #111;
    box-shadow: 0 22px 38px rgba(0,0,0,.48);
    transform-origin: center center;
}

.home-demo-polaroid::before {
    content: '';
    position: absolute;
    width: 64px;
    height: 20px;
    left: 50%;
    top: -10px;
    transform: translateX(-50%) rotate(-2deg);
    background: rgba(219,205,153,.72);
    box-shadow: 0 2px 4px rgba(0,0,0,.12);
}

.home-demo-polaroid-image {
    position: relative;
    min-height: 250px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background:
        linear-gradient(135deg, rgba(255,230,0,.13), rgba(123,20,20,.08)),
        #18181c;
    border: 1px solid rgba(0,0,0,.2);
}

.home-demo-polaroid-image::before,
.home-demo-polaroid-image::after {
    content: '';
    position: absolute;
    inset: 0;
}

.home-demo-polaroid-image::before {
    background:
        linear-gradient(110deg, transparent 20%, rgba(255,255,255,.07) 43%, transparent 58%),
        radial-gradient(circle at 35% 36%, rgba(255,230,0,.18), transparent 18%),
        radial-gradient(circle at 70% 62%, rgba(255,0,100,.13), transparent 22%);
}

.home-demo-polaroid-image::after {
    opacity: .4;
    background: repeating-linear-gradient(0deg, rgba(255,255,255,.025) 0, rgba(255,255,255,.025) 1px, transparent 1px, transparent 4px);
}

.home-demo-polaroid-image span {
    position: relative;
    z-index: 2;
    padding: .6rem .8rem;
    color: rgba(255,255,255,.86);
    border: 1px solid rgba(255,255,255,.28);
    background: rgba(0,0,0,.34);
    font-family: 'Oswald', sans-serif;
    font-size: .92rem;
    letter-spacing: .08em;
    text-align: center;
    text-transform: uppercase;
}

.home-demo-polaroid-caption {
    padding: 13px 6px 0;
    font-family: 'Oswald', sans-serif;
    font-size: 1.04rem;
    text-align: center;
    text-transform: uppercase;
}

.home-demo-polaroid-one {
    left: 2%;
    top: 72px;
    transform: rotate(-7deg);
}

.home-demo-polaroid-two {
    left: 28%;
    top: 12px;
    transform: rotate(4deg);
    z-index: 3;
}

.home-demo-polaroid-three {
    right: 22%;
    top: 95px;
    transform: rotate(-3deg);
    z-index: 2;
}

.home-demo-polaroid-four {
    right: 0;
    top: 30px;
    transform: rotate(7deg);
}

.home-demo-polaroid-five {
    left: 39%;
    bottom: 8px;
    transform: rotate(2deg);
    z-index: 4;
}

.home-demo-placeholder-two {
    min-height: 290px;
}

.home-demo-placeholder-four {
    min-height: 275px;
}

.home-demo-photo-note {
    color: #8f909a;
    font-size: .9rem;
    font-style: italic;
}

.home-demo-watch {
    background:
        radial-gradient(circle at 50% 20%, rgba(255,230,0,.06), transparent 30%),
        radial-gradient(circle at 50% 55%, rgba(59,83,255,.13), transparent 34%),
        linear-gradient(180deg, rgba(7,7,9,.98), rgba(11,11,18,.98));
}

.home-demo-about {
    background:
        radial-gradient(circle at 18% 30%, rgba(255,40,40,.08), transparent 25%),
        radial-gradient(circle at 82% 60%, rgba(255,214,49,.08), transparent 25%),
        linear-gradient(180deg, #0c0c10, #08080b);
}

.home-demo-crowdfunder {
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}

.home-demo-crowdfunder-panel {
    max-width: 950px;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4rem) clamp(1.1rem, 4vw, 3rem);
    border: 1px solid rgba(255,214,49,.42);
    background:
        radial-gradient(circle at 50% 120%, rgba(255,214,49,.16), transparent 48%),
        linear-gradient(180deg, rgba(16,16,21,.92), rgba(7,7,9,.96));
    box-shadow: 0 20px 55px rgba(0,0,0,.38);
}

.home-demo-crowdfunder-copy {
    max-width: 700px;
    color: #d0d0d8;
    font-size: 1.13rem;
    line-height: 1.7;
}

@keyframes akmLivePulse {
    0%, 100% { transform: scale(1); opacity: 1; }
    50% { transform: scale(.72); opacity: .55; }
}

@media (min-width: 1200px) {
    .home-demo-rave-mini-poster {
        display: block;
    }
}

@media (max-width: 991.98px) {
    .home-demo-now-filming .section-heading-wrap {
        justify-content: center !important;
    }

    .home-demo-now-filming .section-heading {
        text-align: center;
    }

    .home-demo-lead,
    .home-demo-muted {
        margin-left: auto;
        margin-right: auto;
        text-align: center;
    }

    .home-demo-rave-poster-wrap {
        min-height: 0;
        max-height: none;
        padding: .75rem;
    }

    .home-demo-rave-poster {
        width: 100%;
        height: auto;
        max-height: none;
        object-fit: contain;
    }

    .home-demo-polaroid-stage {
        min-height: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.5rem;
        align-items: start;
    }

    .home-demo-polaroid {
        position: relative;
        width: min(100%, 310px);
        inset: auto;
        justify-self: center;
    }

    .home-demo-polaroid-one { transform: rotate(-3deg); }
    .home-demo-polaroid-two { transform: rotate(2deg); }
    .home-demo-polaroid-three { transform: rotate(-2deg); }
    .home-demo-polaroid-four { transform: rotate(3deg); }
    .home-demo-polaroid-five {
        grid-column: 1 / -1;
        transform: rotate(1deg);
    }
}

@media (max-width: 767.98px) {
    .akm-live-strip-inner {
        gap: .45rem .7rem;
        text-align: center;
    }

    .akm-live-copy {
        width: 100%;
        font-size: .82rem;
    }

    .home-demo-status-grid {
        grid-template-columns: 1fr;
    }

    .home-demo-rave-shell {
        margin-left: -.35rem;
        margin-right: -.35rem;
    }

    .home-demo-rave-copy {
        padding: 1.5rem 1.2rem 1.8rem;
    }

    .home-demo-rave-copy h3 {
        font-size: clamp(2.15rem, 11vw, 3.5rem);
    }

    .home-demo-rave-btn {
        width: 100%;
        white-space: normal;
    }

    .home-demo-polaroid-stage {
        grid-template-columns: 1fr;
        gap: 1.6rem;
    }

    .home-demo-polaroid-five {
        grid-column: auto;
    }

    .home-demo-polaroid {
        transform: none !important;
        width: min(94%, 320px);
    }

    .home-demo-polaroid-image,
    .home-demo-placeholder-two,
    .home-demo-placeholder-four {
        min-height: 260px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .akm-live-dot {
        animation: none;
    }
}

/* Homepage demo v3: live banner above hero + production/status card order */
.akm-live-strip-hero {
    border-top: 0;
}

.home-demo-production-copy {
    position: relative;
    z-index: 1;
}

/* =========================================================
   Homepage demo V2 + standalone Rave demo
   ========================================================= */
.home-demo-v2-rave-teaser {
    position: relative;
}

.home-demo-v2-rave-shell {
    max-width: 1120px;
    margin: 0 auto;
    border: 1px solid rgba(255,230,0,.58);
    background: #050505;
    box-shadow: 0 25px 65px rgba(0,0,0,.58);
}

.home-demo-v2-rave-copy {
    min-height: 100%;
    padding: clamp(1.9rem, 4.5vw, 3.7rem);
    background:
        radial-gradient(circle at 90% 0%, rgba(255,230,0,.15), transparent 28%),
        linear-gradient(180deg, #111, #060606);
}

.home-demo-v2-rave-copy h3 {
    margin: .35rem 0 1.15rem;
    max-width: 700px;
    color: #fff;
    font-size: clamp(2.7rem, 5.7vw, 5.25rem);
    font-weight: 700;
    line-height: .92;
}

.home-demo-v2-rave-punch {
    margin-top: 1.6rem;
    padding: 1.15rem 1.2rem;
    border-left: 4px solid #ffe600;
    background: rgba(255,230,0,.07);
}

.home-demo-v2-rave-punch strong,
.home-demo-v2-rave-punch span {
    display: block;
}

.home-demo-v2-rave-punch strong {
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: 1.35rem;
    letter-spacing: .035em;
}

.home-demo-v2-rave-punch span {
    margin-top: .25rem;
    color: #d5d5dd;
}

.home-demo-v2-rave-poster-wrap {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .9rem;
    background: #0b0b0b;
}

.home-demo-v2-rave-poster {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.rave-demo-hero {
    position: relative;
    overflow: hidden;
    padding: clamp(3.5rem, 7vw, 6.5rem) 0;
    border-bottom: 1px solid rgba(255,230,0,.32);
    background:
        radial-gradient(circle at 80% 12%, rgba(255,230,0,.17), transparent 28%),
        radial-gradient(circle at 12% 62%, rgba(225,37,30,.13), transparent 30%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.018) 0, rgba(255,255,255,.018) 1px, transparent 1px, transparent 10px),
        #050505;
}

.rave-demo-kicker {
    margin-bottom: 1.6rem;
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.rave-demo-date-pill {
    display: inline-block;
    margin-bottom: 1rem;
    padding: .4rem .7rem;
    color: #050505;
    background: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: .04em;
}

.rave-demo-hero-copy h1 {
    margin: 0;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(5rem, 10vw, 9rem);
    font-weight: 700;
    line-height: .82;
    letter-spacing: -.04em;
}

.rave-demo-hero-lead {
    max-width: 720px;
    margin: 1.5rem 0 1rem;
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.55rem, 3vw, 2.3rem);
    font-weight: 600;
    line-height: 1.25;
}

.rave-demo-hero-body {
    max-width: 700px;
    color: #dddde5;
    font-size: 1.1rem;
    line-height: 1.72;
}

.rave-demo-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .8rem;
    margin-top: 1.6rem;
}

.rave-demo-primary-btn {
    color: #050505;
    background: #ffe600;
    border-color: #ffe600;
}

.rave-demo-primary-btn:hover,
.rave-demo-primary-btn:focus {
    color: #050505;
    background: #fff36b;
    border-color: #fff36b;
}

.rave-demo-quick-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 1.1rem 2rem;
    margin-top: 2rem;
    color: #c9c9d1;
    font-family: 'Oswald', sans-serif;
    font-size: .95rem;
    letter-spacing: .04em;
}

.rave-demo-quick-facts strong {
    color: #ffe600;
    font-size: 1.55rem;
}

.rave-demo-hero-poster {
    max-width: 520px;
    margin: 0 auto;
    padding: .7rem;
    border: 1px solid rgba(255,230,0,.5);
    background: #0a0a0a;
    box-shadow: 0 30px 65px rgba(0,0,0,.6);
    transform: rotate(1deg);
}

.rave-demo-hero-poster img,
.rave-demo-lineup-art img {
    display: block;
    width: 100%;
    height: auto;
}

.rave-demo-statement {
    background:
        linear-gradient(90deg, transparent, rgba(255,230,0,.05), transparent),
        #0a0a0d;
}

.rave-demo-statement-small {
    margin-bottom: .2rem;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.25rem, 2.4vw, 1.85rem);
    font-weight: 600;
    letter-spacing: .08em;
}

.rave-demo-statement h2 {
    margin: 0;
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(3.8rem, 8vw, 7.5rem);
    font-weight: 700;
    line-height: .9;
}

.rave-demo-statement-copy {
    max-width: 810px;
    margin-top: 1.4rem;
    color: #d8d8df;
    font-size: 1.15rem;
    line-height: 1.72;
}

.rave-demo-inside {
    background:
        radial-gradient(circle at 15% 20%, rgba(255,230,0,.07), transparent 24%),
        radial-gradient(circle at 80% 80%, rgba(225,37,30,.08), transparent 26%),
        #060608;
}

.rave-demo-area-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
    max-width: 1080px;
    margin: 2rem auto 0;
}

.rave-demo-area-card {
    position: relative;
    overflow: hidden;
    min-height: 280px;
    padding: 1.6rem;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(20,20,24,.96), rgba(8,8,10,.98));
}

.rave-demo-area-card-featured,
.rave-demo-area-card-freezone {
    border-color: rgba(255,230,0,.42);
}

.rave-demo-area-number {
    color: rgba(255,230,0,.22);
    font-family: 'Oswald', sans-serif;
    font-size: 4.5rem;
    font-weight: 700;
    line-height: .9;
}

.rave-demo-area-card h3 {
    margin: .7rem 0 .6rem;
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: 1.7rem;
}

.rave-demo-area-card p {
    margin: 0;
    color: #cfcfd7;
    line-height: 1.65;
}

.rave-demo-lineup {
    background:
        radial-gradient(circle at 75% 20%, rgba(255,230,0,.09), transparent 26%),
        linear-gradient(180deg, #101014, #08080a);
}

.rave-demo-lineup-art {
    max-width: 430px;
    margin: 0 auto;
    padding: .65rem;
    border: 1px solid rgba(255,230,0,.38);
    background: #080808;
    transform: rotate(-1.5deg);
}

.rave-demo-lineup-intro {
    color: #c8c8d0;
    font-size: 1.08rem;
}

.rave-demo-lineup-headliners {
    margin: 1.1rem 0;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.6rem, 3.4vw, 2.8rem);
    font-weight: 700;
    line-height: 1.3;
}

.rave-demo-lineup-headliners span {
    color: #ffe600;
    font-size: .7em;
}

.rave-demo-lineup-names {
    color: #b9b9c2;
    font-family: 'Oswald', sans-serif;
    font-size: 1.06rem;
    line-height: 1.7;
    text-transform: uppercase;
}

.rave-demo-film-section {
    background: #050505;
}

.rave-demo-film-shell {
    max-width: 1040px;
    margin: 0 auto;
    padding: clamp(2rem, 5vw, 4.5rem);
    border: 1px solid rgba(255,230,0,.5);
    background:
        radial-gradient(circle at 100% 0%, rgba(255,230,0,.15), transparent 28%),
        radial-gradient(circle at 0% 100%, rgba(225,37,30,.12), transparent 31%),
        #0d0d10;
}

.rave-demo-film-label {
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    letter-spacing: .16em;
}

.rave-demo-film-copy h2 {
    margin: .45rem 0 1.1rem;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(2.8rem, 6vw, 5.5rem);
    font-weight: 700;
    line-height: .93;
}

.rave-demo-film-copy p {
    max-width: 800px;
    color: #d5d5dd;
    font-size: 1.1rem;
    line-height: 1.7;
}

.rave-demo-film-note {
    margin-bottom: 0;
    padding-top: .8rem;
    color: #aaaab5 !important;
    font-size: .95rem !important;
}

.rave-demo-practical {
    background: linear-gradient(180deg, #0e0e12, #070709);
}

.rave-demo-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    max-width: 1050px;
    margin: 2rem auto 0;
    padding: 1px;
    background: rgba(255,255,255,.12);
}

.rave-demo-detail-grid > div {
    padding: 1.4rem;
    background: #0b0b0e;
}

.rave-demo-detail-grid span,
.rave-demo-detail-grid strong {
    display: block;
}

.rave-demo-detail-grid span {
    margin-bottom: .3rem;
    color: #ffe600;
    font-family: 'Oswald', sans-serif;
    font-size: .85rem;
    letter-spacing: .12em;
}

.rave-demo-detail-grid strong {
    color: #f3f3f5;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.45;
}

.rave-demo-back-home {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
    border-top: 1px solid rgba(255,230,0,.18);
    background: #050505;
}

.rave-demo-back-home p {
    color: #c8c8d0;
}

@media (max-width: 991.98px) {
    .home-demo-v2-rave-poster-wrap {
        padding: .75rem;
    }

    .rave-demo-kicker {
        text-align: center;
    }

    .rave-demo-hero-copy {
        text-align: center;
    }

    .rave-demo-hero-body,
    .rave-demo-hero-lead {
        margin-left: auto;
        margin-right: auto;
    }

    .rave-demo-hero-actions,
    .rave-demo-quick-facts {
        justify-content: center;
    }

    .rave-demo-detail-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .home-demo-v2-rave-copy h3 {
        font-size: clamp(2.4rem, 12vw, 3.8rem);
    }

    .rave-demo-hero {
        padding-top: 2.5rem;
    }

    .rave-demo-hero-poster {
        max-width: 92%;
        transform: none;
    }

    .rave-demo-hero-actions .btn {
        width: 100%;
    }

    .rave-demo-area-grid,
    .rave-demo-detail-grid {
        grid-template-columns: 1fr;
    }

    .rave-demo-area-card {
        min-height: 0;
    }

    .rave-demo-lineup-art {
        transform: none;
    }
}

/* =========================================================
   Homepage / Rave V3 demos - October 2026
   ========================================================= */
.home-demo-v3-rave-lineup {
    margin: 20px 0 0;
    color: rgba(255,255,255,0.82);
    line-height: 1.65;
}

.home-demo-v3-rave-lineup strong { color: #f4c542; }

.rave-demo-v3-seo-line {
    margin-top: 18px;
    color: #f4c542;
    line-height: 1.6;
}

.rave-demo-v3-section-intro {
    max-width: 760px;
    color: rgba(255,255,255,0.72);
    line-height: 1.7;
    margin-bottom: 34px;
}

.rave-demo-v3-lineup .rave-demo-lineup-art img {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.rave-demo-v3-discover {
    background: #101010;
}

.rave-demo-v3-discover-links {
    max-width: 900px;
    margin: 30px auto 0;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.rave-demo-v3-discover-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 62px;
    padding: 14px;
    border: 1px solid rgba(244, 197, 66, 0.42);
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    letter-spacing: 0.08em;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease;
}

.rave-demo-v3-discover-links a:hover,
.rave-demo-v3-discover-links a:focus {
    background: #f4c542;
    color: #111;
    border-color: #f4c542;
}

@media (max-width: 767.98px) {
    .rave-demo-v3-discover-links { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 420px) {
    .rave-demo-v3-discover-links { grid-template-columns: 1fr; }
}

/* Homepage demo V3: real production-photo wall (kept V3-specific so earlier demos remain unchanged) */
.home-demo-v3-photo-wall {
    max-width: 1120px;
    margin: 2.4rem auto 0;
    display: grid;
    gap: clamp(2.2rem, 5vw, 4.6rem);
}

.home-demo-v3-photo-cluster {
    display: grid;
    align-items: start;
    justify-content: center;
    gap: clamp(1rem, 2.2vw, 1.7rem);
}

.home-demo-v3-photo-cluster-film {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.home-demo-v3-photo-cluster-location {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.home-demo-v3-photo-cluster-bts {
    grid-template-columns: repeat(3, minmax(0, 250px));
}

.home-demo-v3-polaroid {
    position: relative;
    margin: 0;
    padding: 10px 10px 17px;
    background: #f1eee2;
    box-shadow: 0 20px 38px rgba(0,0,0,.46);
    transform-origin: center;
    transition: transform .2s ease, box-shadow .2s ease;
}

.home-demo-v3-polaroid::before {
    content: '';
    position: absolute;
    z-index: 2;
    width: 58px;
    height: 18px;
    left: 50%;
    top: -9px;
    transform: translateX(-50%) rotate(-2deg);
    background: rgba(219,205,153,.72);
    box-shadow: 0 2px 4px rgba(0,0,0,.12);
    pointer-events: none;
}

.home-demo-v3-polaroid img {
    display: block;
    width: 100%;
    height: auto;
    border: 1px solid rgba(0,0,0,.15);
}

.home-demo-v3-polaroid.tilt-a { transform: rotate(-2.4deg); }
.home-demo-v3-polaroid.tilt-b { transform: rotate(1.8deg); }
.home-demo-v3-polaroid.tilt-c { transform: rotate(-1.2deg); }
.home-demo-v3-polaroid.tilt-d { transform: rotate(2.6deg); }

@media (hover: hover) and (pointer: fine) {
    .home-demo-v3-polaroid:hover {
        z-index: 3;
        transform: rotate(0deg) translateY(-5px) scale(1.025);
        box-shadow: 0 26px 48px rgba(0,0,0,.55);
    }
}

@media (max-width: 991.98px) {
    .home-demo-v3-photo-cluster-film,
    .home-demo-v3-photo-cluster-location,
    .home-demo-v3-photo-cluster-bts {
        grid-template-columns: repeat(2, minmax(0, 280px));
    }

    .home-demo-v3-photo-cluster-location .home-demo-v3-polaroid:last-child,
    .home-demo-v3-photo-cluster-bts .home-demo-v3-polaroid:last-child {
        grid-column: 1 / -1;
        width: min(100%, 280px);
        justify-self: center;
    }
}

@media (max-width: 575.98px) {
    .home-demo-v3-photo-wall {
        gap: 2.4rem;
    }

    .home-demo-v3-photo-cluster-film,
    .home-demo-v3-photo-cluster-location,
    .home-demo-v3-photo-cluster-bts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1rem .8rem;
    }

    .home-demo-v3-polaroid {
        padding: 7px 7px 12px;
        transform: none !important;
    }

    .home-demo-v3-polaroid::before {
        width: 44px;
        height: 14px;
        top: -7px;
    }

    .home-demo-v3-photo-cluster-location .home-demo-v3-polaroid:last-child,
    .home-demo-v3-photo-cluster-bts .home-demo-v3-polaroid:last-child {
        width: auto;
    }
}

/* Homepage: compact internal film discovery strip */
.home-film-explore {
    width: min(760px, 100%);
    margin: 2rem auto 0;
    padding: 1rem 1.1rem;
    border-top: 1px solid rgba(212, 175, 55, 0.45);
    border-bottom: 1px solid rgba(212, 175, 55, 0.45);
    text-align: center;
}

.home-film-explore-label {
    display: block;
    margin-bottom: 0.65rem;
    color: rgba(255, 255, 255, 0.62);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.home-film-explore-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
}

.home-film-explore-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 160px;
    padding: 0.62rem 1rem;
    border: 1px solid rgba(212, 175, 55, 0.7);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    text-decoration: none;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.home-film-explore-link:hover,
.home-film-explore-link:focus-visible {
    background: #d4af37;
    border-color: #d4af37;
    color: #111;
    text-decoration: none;
}

@media (max-width: 575.98px) {
    .home-film-explore {
        margin-top: 1.5rem;
        padding-inline: 0.4rem;
    }

    .home-film-explore-links {
        gap: 0.55rem;
    }

    .home-film-explore-link {
        min-width: 0;
        flex: 1 1 140px;
    }
}

/* Company identification in the shared footer. */
.akm-footer-company {
    display: flex;
    flex-direction: column;
    gap: .2rem;
    line-height: 1.5;
}

.akm-footer-company span:first-child {
    color: #bdbdc8;
}

/* The Rave: confirmed venue/time change, 21 October 2026. */
.akm-venue-notice,
.akm-rave-page,
.akm-event-blue {
    --event-blue: #5285ff;
    --event-light: #94b4ff;
}
.akm-venue-notice {
    position: relative;
    z-index: 4;
    padding: 1.5rem 0;
    color: #fff;
    border-top: 3px solid var(--event-blue);
    border-bottom: 1px solid var(--event-blue);
    background:
        radial-gradient(circle, rgba(82,133,255,.5) 1.5px, transparent 2px) right top / 12px 12px,
        #030711;
}
.akm-venue-notice-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
}
.akm-venue-notice-copy {
    padding: .2rem .8rem .2rem 0;
    background: linear-gradient(90deg, #030711 80%, rgba(3,7,17,.92));
}
.akm-event-eyebrow {
    margin: 0 0 .65rem;
    color: var(--event-light);
    font-family: 'Oswald', sans-serif;
    font-size: .95rem;
    font-weight: 700;
    letter-spacing: .12em;
    line-height: 1.5;
}
.akm-venue-notice-title {
    margin: 0 0 .35rem;
    font-family: 'Oswald', sans-serif;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 700;
    letter-spacing: .06em;
    line-height: 1.1;
}
.akm-venue-notice-date { margin: 0 0 .25rem; font-weight: 700; }
.akm-venue-notice-address { margin: 0 0 .4rem; color: #e2e9fa; }
.akm-venue-notice-valid { margin: 0; color: var(--event-light); font-size: .9rem; }
.akm-event-button,
.akm-event-blue .home-demo-rave-btn {
    flex-shrink: 0;
    padding: .9rem 1.25rem;
    border: 1px solid var(--event-light);
    color: #fff;
    background: #244fb8;
    font-weight: 700;
    white-space: normal;
}
.akm-event-button:hover,
.akm-event-button:focus-visible,
.akm-event-blue .home-demo-rave-btn:hover,
.akm-event-blue .home-demo-rave-btn:focus-visible {
    color: #050505;
    background: #a9c3ff;
    border-color: #a9c3ff;
}
.akm-event-button:focus-visible,
.akm-event-map-link:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
/* The extra notice must remain above, and outside, the homepage hero. */
.akm-venue-notice ~ .home-demo-hero { margin-top: 0; }
.akm-event-blue {
    background: radial-gradient(ellipse at 85% 15%, rgba(82,133,255,.13), transparent 50%), #050505;
}
.akm-event-blue .home-demo-rave-heading .section-heading { color: #fff; }
.akm-event-blue .home-demo-rave-heading .section-line { background: var(--event-blue); }
.akm-event-blue .home-demo-v2-rave-shell { border-color: var(--event-blue); }
.akm-event-blue .home-demo-v2-rave-copy {
    background: radial-gradient(circle at 95% 0, rgba(82,133,255,.2), transparent 50%), #090c14;
}
.akm-event-blue .home-demo-rave-date,
.akm-event-blue .home-demo-v3-rave-lineup strong,
.akm-event-blue .home-demo-v2-rave-punch strong { color: var(--event-light); }
.akm-event-blue .home-demo-v2-rave-punch { border-color: var(--event-blue); background: rgba(82,133,255,.08); }
.akm-event-blue .home-demo-v2-rave-copy h3 { font-size: clamp(2.3rem, 4vw, 3.8rem); line-height: 1.03; }
.akm-event-address { color: #e2e9fa; line-height: 1.6; }
.akm-ticket-pending { align-self: center; margin: 0; color: #cbd9fb; font-size: .9rem; }
.akm-rave-page {
    padding: 1.5rem 0 4rem;
    background: radial-gradient(ellipse at 90% 10%, rgba(82,133,255,.15), transparent 45%), #050609;
}
.akm-rave-change {
    display: flex;
    flex-wrap: wrap;
    gap: .45rem 1.25rem;
    margin-bottom: 3rem;
    padding: 1rem 1.25rem;
    border-left: 4px solid var(--event-blue);
    background: #102044;
    color: #fff;
    line-height: 1.6;
}
.akm-rave-change strong { color: #b3caff; }
.akm-rave-page h1 { margin: .25rem 0 1.5rem; font-size: clamp(3.8rem, 7vw, 6.5rem); line-height: .95; font-weight: 700; }
.akm-rave-date { color: var(--event-light); font-family: 'Oswald', sans-serif; font-size: 1.25rem; letter-spacing: .06em; }
.akm-rave-venue { font-size: clamp(1.8rem, 3vw, 2.5rem); color: #fff; margin-bottom: .25rem; }
.akm-rave-time { color: #fff; font-family: 'Oswald', sans-serif; font-size: 2.4rem; font-weight: 700; letter-spacing: .09em; margin: .5rem 0 1rem; }
.akm-rave-event-copy { text-align: center; }
.akm-rave-event-copy .akm-rave-intro,
.akm-rave-event-copy .akm-rave-ticket-info span { margin-left: auto; margin-right: auto; }
.akm-rave-intro { max-width: 34rem; color: #d6deee; line-height: 1.75; font-size: 1.1rem; }
.akm-rave-admission { margin: 1.5rem 0; padding: 1rem 1.2rem; border: 1px solid var(--event-blue); background: #0c162b; }
.akm-rave-admission strong,
.akm-rave-admission span { display: block; }
.akm-rave-admission strong { color: #fff; letter-spacing: .04em; }
.akm-rave-admission span { margin-top: .4rem; color: #d0dcf7; }
.akm-rave-ticket-info { margin: 1.5rem 0; }
.akm-rave-ticket-info h2 { font-size: 1rem; color: var(--event-light); letter-spacing: .1em; }
.akm-rave-ticket-info p { margin-bottom: .35rem; font-size: 1.15rem; font-weight: 700; }
.akm-rave-ticket-info span { display: block; max-width: 32rem; color: #bac6de; font-size: .95rem; line-height: 1.65; }
.akm-event-map-link { display: inline-block; padding: .4rem 0; color: #a9c3ff; font-family: 'Oswald', sans-serif; letter-spacing: .04em; text-underline-offset: 5px; }
.akm-event-map-link:hover { color: #fff; }
.akm-rave-poster { max-width: 520px; margin: 0 auto; }
.akm-rave-poster img { display: block; width: 100%; height: auto; border: 1px solid #5285ff; }
.akm-rave-poster figcaption { padding: .7rem 0 0; color: #aebbd5; font-size: .8rem; text-align: center; }
.akm-rave-lineup { max-width: 960px; margin: 3.5rem auto 0; padding: 2.5rem 1rem; border-top: 1px solid #31569f; border-bottom: 1px solid #31569f; text-align: center; }
.akm-rave-lineup h2 { font-size: 2rem; margin-bottom: 1.25rem; }
.akm-rave-headliners { font-family: 'Oswald', sans-serif; font-size: clamp(1.45rem, 2.8vw, 2rem); line-height: 1.65; color: #fff; }
.akm-rave-support { color: #bdcfff; line-height: 1.9; margin-bottom: .5rem; }
.akm-rave-film { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; max-width: 960px; margin: 2.5rem auto 0; text-align: center; }
.akm-rave-film h2 { font-size: 1.65rem; }
.akm-rave-film p:last-child { margin: 0 auto; color: #cbd5e8; line-height: 1.7; max-width: 40rem; }
@media (max-width: 991.98px) {
    .akm-venue-notice-inner { align-items: flex-start; flex-direction: column; gap: 1rem; }
    .akm-venue-notice-copy { width: 100%; }
    .akm-rave-poster { margin-top: 1rem; }
}
@media (max-width: 575.98px) {
    .akm-venue-notice { padding: 1.15rem 0; }
    .akm-venue-notice .akm-event-eyebrow { font-size: .8rem; letter-spacing: .08em; }
    .akm-venue-notice-date { font-size: .95rem; }
    .akm-venue-notice .akm-event-button { width: 100%; }
    .akm-rave-change { margin-bottom: 2rem; padding: .9rem 1rem; }
    .akm-rave-page { padding-top: .75rem; }
    .akm-rave-date { font-size: 1.1rem; }
    .akm-rave-lineup { margin-top: 2rem; padding: 2rem .25rem; }
}
.akm-event-blue .home-demo-rave-date { background: #10244d; border: 1px solid #5285ff; }


/* Compact homepage announcement, matching the Now Filming typography. */
.akm-venue-notice-compact { padding: .65rem 0; }
.akm-venue-notice-compact .akm-venue-notice-inner {
    display: block;
    background: rgba(3,7,17,.88);
    font-family: 'Oswald', sans-serif;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.akm-venue-notice-line {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: center;
    gap: .2rem 1.1rem;
    text-align: center;
}
.akm-venue-notice-line + .akm-venue-notice-line { margin-top: .25rem; }
.akm-venue-notice-compact .akm-event-eyebrow {
    display: inline-flex;
    align-items: baseline;
    justify-content: center;
    gap: .8rem;
    max-width: 100%;
    margin: 0;
    color: #b3caff;
    font-size: 1.12rem;
    font-weight: 700;
    letter-spacing: .04em;
    line-height: 1.5;
}
.akm-venue-pulse {
    position: relative;
    top: -.05em;
    display: inline-block;
    flex: 0 0 10px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #5285ff;
    box-shadow: 0 0 0 5px rgba(82,133,255,.2);
    animation: akmVenuePulse 1.6s ease-in-out infinite;
}
@keyframes akmVenuePulse {
    0%, 100% { opacity: 1; }
    50% { opacity: .45; }
}
.akm-venue-notice-compact .akm-venue-notice-title,
.akm-venue-notice-compact .akm-venue-notice-date {
    margin: 0;
    color: #fff;
    font-size: .95rem;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.5;
}
.akm-venue-notice-compact .akm-venue-notice-address,
.akm-venue-notice-compact .akm-venue-notice-valid { margin: 0; font-size: .85rem; font-weight: 500; line-height: 1.6; }
.akm-venue-notice-link {
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: .85rem;
    font-weight: 500;
    letter-spacing: .04em;
    line-height: 1.6;
    text-underline-offset: 3px;
}
.akm-venue-notice-link:hover { color: #b3caff; }
.akm-venue-notice-link:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 767.98px) {
    .akm-venue-notice-compact { padding: .6rem 0; }
    .akm-venue-notice-compact .akm-event-eyebrow { flex-basis: 100%; }
    .akm-venue-notice-line { column-gap: .8rem; row-gap: .12rem; }
}
@media (prefers-reduced-motion: reduce) {
    .akm-venue-pulse { animation: none; }
}


/* Music-only click-to-load YouTube previews. All rules stay within /music. */
.music-page-section .akm-music-preview {
    display: block;
    overflow: hidden;
    color: #fff;
    background: #050505;
    text-decoration: none;
    cursor: pointer;
}
.music-page-section .akm-music-preview-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.music-page-section .akm-music-preview::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(transparent 55%, rgba(0,0,0,.72));
    pointer-events: none;
}
.music-page-section .akm-music-preview-icon {
    position: absolute;
    z-index: 2;
    top: 50%;
    left: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 46px;
    border: 1px solid rgba(255,255,255,.6);
    border-radius: 12px;
    background: rgba(0,0,0,.85);
    transform: translate(-50%, -50%);
    pointer-events: none;
}
.music-page-section .akm-music-preview-icon::after {
    content: '';
    width: 0;
    height: 0;
    margin-left: 4px;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-left: 17px solid #fff;
}
.music-page-section .akm-music-preview-caption {
    position: absolute;
    z-index: 2;
    bottom: 10px;
    left: 0;
    right: 0;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: .85rem;
    font-weight: 600;
    letter-spacing: .08em;
    text-align: center;
    text-shadow: 0 1px 3px #000;
    pointer-events: none;
}
.music-page-section .akm-music-preview:hover .akm-music-preview-icon,
.music-page-section .akm-music-preview:focus-visible .akm-music-preview-icon {
    background: #ffe600;
    border-color: #ffe600;
}
.music-page-section .akm-music-preview:hover .akm-music-preview-icon::after,
.music-page-section .akm-music-preview:focus-visible .akm-music-preview-icon::after { border-left-color: #050505; }
.music-page-section .akm-music-preview:focus-visible { outline: 3px solid #ffe600; outline-offset: -3px; }
.music-page-section .akm-music-player { width: 100%; height: 100%; border: 0; }

.music-page-section .akm-music-preview-image-unavailable { visibility: hidden; }


/* AKM EP promotion and Shop */
.akm-ep-promo {
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    gap: 2rem;
    max-width: 900px;
    margin: 2.5rem auto;
    padding: 1.5rem;
    border: 1px solid rgba(255,225,95,.38);
    background: radial-gradient(circle at 5% 20%, rgba(211,155,0,.10), transparent 65%), #0c0c10;
    box-shadow: 0 16px 36px rgba(0,0,0,.25);
}
.akm-ep-artwork { display: block; width: 100%; height: auto; border: 1px solid rgba(255,225,95,.3); }
.akm-ep-copy h2, .akm-shop-panel > h2 { color: var(--akm-gold-2); font-size: clamp(1.5rem, 2.5vw, 2rem); text-transform: uppercase; }
.akm-ep-kicker { margin-bottom: .55rem; color: var(--akm-gold-2); font-size: .85rem; font-weight: 600; letter-spacing: .06em; }
.akm-ep-title { margin: .6rem 0; font-weight: 700; }
.akm-ep-title span { display: block; margin-top: .15rem; color: var(--akm-muted); font-size: .92rem; font-weight: 400; }
.akm-ep-copy > p:not(.akm-ep-kicker):not(.akm-ep-title) { color: var(--akm-muted); line-height: 1.7; }
.akm-ep-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; }
.akm-ep-actions .btn, .akm-shop-panel .btn { padding: .65rem 1.15rem; }
.akm-ep-link { color: var(--akm-gold-2); text-underline-offset: .2em; }
.akm-ep-link:hover { color: #fff; }
.akm-ep-promo a:focus-visible, .akm-shop-panel a:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.akm-home-ep-section { padding: 1rem 0; }
.akm-home-ep-section .akm-ep-promo { margin: 1rem auto; }
.akm-shop-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; max-width: 1120px; margin: 0 auto; align-items: stretch; }
.akm-shop-panel { min-width: 0; padding: 1.5rem; border: 1px solid rgba(255,225,95,.28); background: rgba(12,12,16,.86); }
.akm-shop-panel > h2 { margin: 0 0 1.5rem; font-size: 1.65rem; }
.akm-shop-panel-copy { padding-top: 1.5rem; color: var(--akm-white); font-size: 1rem; line-height: 1.7; }
.akm-shop-product-title { margin: 0 0 .5rem; font-size: 1.4rem; line-height: 1.4; }
.akm-shop-ep-artwork { display: block; width: 100%; max-width: 300px; height: auto; margin: 0 auto; border: 1px solid rgba(255,225,95,.3); }
.akm-shop-note { color: #bdbdc8; font-size: .92rem; margin-bottom: 0; }
@media (max-width: 767.98px) {
    .akm-ep-promo { grid-template-columns: 130px minmax(0, 1fr); gap: 1.25rem; padding: 1.25rem; }
    .akm-shop-grid { grid-template-columns: 1fr; gap: 1.5rem; }
}
@media (max-width: 575.98px) {
    .akm-ep-promo { grid-template-columns: 1fr; }
    .akm-ep-artwork { max-width: 220px; margin: 0 auto; }
    .akm-shop-panel { padding: 1.25rem; }
}


/* Music leads on mobile; retain the established desktop columns. */
@media (min-width: 768px) {
    .akm-shop-apparel { grid-column: 1; grid-row: 1; }
    .akm-shop-music { grid-column: 2; grid-row: 1; }
}


/* One shared record badge for AKM EP tracks in both music card lists. */
.music-ep-buy-badge {
    float: right;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 6rem;
    height: 6rem;
    margin: 0 0 .8rem 1rem;
    border: 2px solid var(--akm-gold-1);
    border-radius: 50%;
    color: #171005;
    background:
        repeating-radial-gradient(circle, transparent 0 3px, rgba(79,48,0,.14) 3px 4px),
        linear-gradient(135deg, #fff0a3, var(--akm-gold-2) 40%, var(--akm-gold-1));
    box-shadow: 0 4px 12px rgba(0,0,0,.4), inset 0 0 0 5px rgba(255,241,170,.4);
    font-family: 'Oswald', sans-serif;
    text-align: center;
    text-decoration: none;
    line-height: 1.25;
}
.music-ep-buy-badge > span { font-size: 1.1rem; font-weight: 700; letter-spacing: .03em; }
.music-ep-buy-badge small { margin-top: .25rem; font-size: .65rem; font-weight: 500; }
.music-ep-buy-badge:hover { color: #050505; border-color: #fff0a3; filter: brightness(1.08); }
.music-ep-buy-badge:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
/* Contain the floated badge even where a track has short text. */
.music-card-body::after { content: ''; display: table; clear: both; }


/* Compact homepage EP announcement; keep above the overlapping hero. */
.akm-ep-strip {
    position: relative;
    z-index: 4;
    padding: .4rem 0;
    border-top: 1px solid rgba(255,225,95,.4);
    border-bottom: 2px solid var(--akm-gold-1);
    background: linear-gradient(110deg, #080704, #211a09 50%, #080704);
}
.akm-ep-strip-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: .8rem 1.3rem;
    color: var(--akm-white);
    font-family: 'Oswald', sans-serif;
    font-size: 1rem;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: .04em;
    text-transform: uppercase;
    text-decoration: none;
}
.akm-ep-strip-inner img {
    display: block;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    object-fit: contain;
    border: 1px solid rgba(255,225,95,.5);
}
.akm-ep-strip-inner strong { color: var(--akm-gold-2); font-weight: 700; }
.akm-ep-strip-link {
    flex-shrink: 0;
    color: var(--akm-gold-2);
    font-size: .85rem;
    text-decoration: underline;
    text-underline-offset: 3px;
}
.akm-ep-strip-inner:hover { color: #fff; }
.akm-ep-strip-inner:hover .akm-ep-strip-link { color: #fff; }
.akm-ep-strip-inner:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
@media (max-width: 767.98px) {
    .akm-ep-strip-inner {
        display: grid;
        width: fit-content;
        max-width: 100%;
        margin-inline: auto;
        grid-template-columns: 44px minmax(0, max-content);
        grid-template-rows: auto auto;
        align-items: center;
        gap: .1rem .65rem;
        font-size: clamp(.65rem, 2.6vw, .85rem);
        line-height: 1.2;
        text-align: center;
    }
    .akm-ep-strip-inner img { grid-column: 1; grid-row: 1 / span 2; align-self: center; }
    .akm-ep-strip-inner > span:not(.akm-ep-strip-link) { grid-column: 2; align-self: end; }
    .akm-ep-strip-link { grid-column: 2; align-self: start; font-size: .75rem; }
}
