html {
    scroll-behavior: smooth;
}

body.umf-cosmic-home {
    margin: 0;
    background: #04020a;
    color: #fff4e9;
    font-family: Inter, Arial, sans-serif;
    letter-spacing: 0;
}

body.umf-cosmic-home::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background:
        radial-gradient(circle at 50% 28%, rgba(255, 97, 12, 0.26), transparent 16rem),
        radial-gradient(circle at 72% 35%, rgba(255, 33, 172, 0.22), transparent 24rem),
        radial-gradient(circle at 20% 42%, rgba(35, 89, 255, 0.22), transparent 28rem),
        linear-gradient(rgba(4, 2, 10, 0.34), rgba(4, 2, 10, 0.86)),
        var(--phoenix-bg) center top / cover no-repeat;
    opacity: 1;
}

body.umf-cosmic-home::after {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle, rgba(255, 255, 255, 0.95) 0 1px, transparent 1.6px),
        radial-gradient(circle, rgba(255, 50, 190, 0.8) 0 1px, transparent 1.7px),
        linear-gradient(90deg, transparent 0 18%, rgba(31, 101, 255, 0.18) 18.1%, transparent 18.4% 82%, rgba(255, 42, 177, 0.2) 82.1%, transparent 82.4%),
        linear-gradient(62deg, transparent 0 56%, rgba(255, 94, 12, 0.18) 56.1%, transparent 56.4%);
    background-position: 0 0, 46px 64px, center, center;
    background-size: 82px 82px, 126px 126px, 100% 100%, 100% 100%;
    opacity: 0.55;
}

.umf-shell {
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.umf-shell::before,
.umf-shell::after {
    content: "";
    position: absolute;
    top: 15rem;
    width: 36vw;
    height: 26rem;
    pointer-events: none;
    border-top: 2px solid rgba(255, 78, 12, 0.55);
    border-bottom: 1px solid rgba(255, 39, 184, 0.48);
    filter: drop-shadow(0 0 1rem rgba(255, 68, 17, 0.7));
}

.umf-shell::before {
    left: -9vw;
    clip-path: polygon(0 28%, 42% 28%, 42% 44%, 72% 44%, 72% 58%, 100% 58%, 100% 64%, 66% 64%, 66% 50%, 34% 50%, 34% 36%, 0 36%);
    background: linear-gradient(90deg, rgba(28, 104, 255, 0.28), rgba(255, 40, 177, 0.16), transparent);
}

.umf-shell::after {
    right: -9vw;
    clip-path: polygon(0 58%, 28% 58%, 28% 44%, 58% 44%, 58% 28%, 100% 28%, 100% 36%, 66% 36%, 66% 50%, 34% 50%, 34% 64%, 0 64%);
    background: linear-gradient(270deg, rgba(255, 91, 12, 0.3), rgba(255, 40, 177, 0.16), transparent);
}

.umf-nav {
    position: sticky;
    top: 0;
    z-index: 20;
    display: grid;
    grid-template-columns: minmax(14rem, 1fr) auto auto;
    gap: 1rem;
    align-items: center;
    padding: 1rem clamp(1rem, 4vw, 4rem);
    background: rgba(5, 2, 12, 0.8);
    border-bottom: 1px solid rgba(255, 77, 17, 0.32);
    box-shadow: 0 0 2rem rgba(255, 36, 177, 0.12);
    backdrop-filter: blur(18px);
}

.umf-brand,
.umf-nav a,
.umf-section-head a,
.umf-product-card a {
    color: inherit;
    text-decoration: none;
}

.umf-brand {
    display: inline-flex;
    gap: 0.8rem;
    align-items: center;
}

.umf-brand img {
    display: block;
    width: 4.5rem;
    height: 4.5rem;
    object-fit: cover;
    border-radius: 50%;
    filter: drop-shadow(0 0 1.1rem rgba(255, 221, 74, 0.28));
}

.umf-brand strong {
    display: block;
    color: #fff8ef;
    font-size: 1rem;
    text-transform: uppercase;
}

.umf-brand small {
    display: block;
    color: #d1baff;
    font-size: 0.78rem;
}

.umf-nav-links {
    display: flex;
    gap: 0.4rem;
    align-items: center;
}

.umf-nav-links a,
.umf-cart-link {
    padding: 0.72rem 0.9rem;
    border-radius: 999px;
    color: #fff5ef;
    font-size: 0.88rem;
    font-weight: 800;
}

.umf-nav-links a:hover,
.umf-cart-link {
    background: linear-gradient(135deg, rgba(255, 92, 15, 0.18), rgba(255, 38, 180, 0.14));
}

.umf-cart-link {
    border: 1px solid rgba(255, 93, 14, 0.8);
}

.umf-hero {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 34rem;
    padding: 3.4rem clamp(1.25rem, 5vw, 5rem);
    background:
        linear-gradient(90deg, rgba(4, 2, 10, 0.9) 0%, rgba(4, 2, 10, 0.74) 38%, rgba(4, 2, 10, 0.28) 64%, rgba(4, 2, 10, 0.62) 100%),
        radial-gradient(circle at 52% 44%, rgba(255, 94, 12, 0.2), transparent 22rem),
        var(--phoenix-bg) center center / cover no-repeat;
    border-bottom: 1px solid rgba(255, 91, 12, 0.22);
}

.umf-hero::before {
    content: "";
    position: absolute;
    left: 62%;
    top: 51%;
    width: min(60vw, 38rem);
    height: min(60vw, 38rem);
    border: 1px solid rgba(255, 43, 184, 0.42);
    border-radius: 50%;
    transform: translate(-50%, -50%);
    box-shadow: 0 0 4rem rgba(255, 46, 180, 0.22), inset 0 0 4rem rgba(255, 108, 12, 0.12);
    pointer-events: none;
}

.umf-hero-copy {
    position: relative;
    z-index: 2;
    max-width: 42rem;
}

.umf-kicker {
    margin: 0 0 1rem;
    color: #ff6b18;
    font-size: 0.83rem;
    font-weight: 900;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-shadow: 0 0 0.8rem rgba(255, 94, 18, 0.95), 0 0 1.8rem rgba(255, 42, 184, 0.55);
}

.umf-hero h1,
.umf-ticket-panel h2,
.umf-grid-section h2,
.umf-conversion-band h2 {
    margin: 0;
    color: #fff7eb;
    font-family: Inter, Arial, sans-serif;
    font-weight: 950;
    line-height: 0.92;
    letter-spacing: 0;
    text-transform: uppercase;
}

.umf-hero h1 {
    max-width: 14ch;
    font-size: 4.25rem;
    line-height: 0.96;
    text-shadow: 0 0 1.2rem rgba(255, 91, 12, 0.38), 0 0 2.4rem rgba(255, 42, 184, 0.22);
}

.umf-date {
    margin: 1rem 0 0;
    color: #fff3e4;
    font-size: clamp(1.2rem, 2.2vw, 2rem);
    font-weight: 950;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.umf-lead {
    max-width: 36rem;
    margin: 1.2rem 0 0;
    color: #eadbff;
    font-size: clamp(1rem, 1.4vw, 1.12rem);
    line-height: 1.62;
}

.umf-actions,
.umf-proof {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
    align-items: center;
    margin-top: 2rem;
}

.umf-btn,
.umf-mini-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    min-height: 3rem;
    padding: 0.95rem 1.18rem;
    border-radius: 999px;
    font-weight: 950;
    text-decoration: none;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.umf-btn:hover,
.umf-mini-link:hover {
    transform: translateY(-2px);
}

.umf-btn-primary {
    color: #12050a;
    background: linear-gradient(135deg, #ff4a05 0%, #ff9c16 42%, #ff2fbd 72%, #684cff 100%);
    box-shadow: 0 0 2.6rem rgba(255, 72, 4, 0.48), 0 0 4.2rem rgba(255, 38, 188, 0.24);
}

.umf-btn-secondary {
    border: 1px solid rgba(255, 47, 188, 0.78);
    color: #fff;
    background: linear-gradient(135deg, rgba(31, 91, 255, 0.18), rgba(255, 44, 180, 0.15));
}

.umf-proof span {
    color: #dccaff;
    font-size: 0.9rem;
}

.umf-proof span::before {
    content: "";
    display: inline-block;
    width: 0.45rem;
    height: 0.45rem;
    margin-right: 0.45rem;
    border-radius: 50%;
    background: #ff5d12;
    box-shadow: 0 0 1rem #ff5d12, 0 0 1.6rem #ff2fbd;
}

.umf-hero-art {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.umf-hero-art::before,
.umf-hero-art::after {
    content: "";
    position: absolute;
    width: 78%;
    height: 2px;
    background: linear-gradient(90deg, transparent, #2164ff, #ff2fbd, #ff6b12, transparent);
    box-shadow: 0 0 1.4rem rgba(255, 52, 184, 0.88);
    z-index: -1;
}

.umf-hero-art::before {
    left: 36%;
    top: 34%;
}

.umf-hero-art::after {
    right: -8%;
    bottom: 28%;
}

.umf-orbit {
    position: absolute;
    pointer-events: none;
    border: 1px solid rgba(255, 51, 184, 0.42);
    border-radius: 50%;
}

.umf-orbit-one {
    left: 45%;
    top: 22%;
    width: 38rem;
    max-width: 54vw;
    height: 24rem;
    transform: rotate(-10deg);
}

.umf-orbit-two {
    left: 52%;
    top: 8%;
    width: 27rem;
    max-width: 42vw;
    height: 36rem;
    border-color: rgba(255, 100, 16, 0.42);
    transform: rotate(18deg);
}

.umf-ticket-panel,
.umf-grid-section,
.umf-conversion-band,
.umf-pass-strip,
.umf-revenue-section,
.umf-home-footer {
    margin: 0 clamp(1rem, 5vw, 5rem) clamp(1rem, 4vw, 4rem);
}

.umf-ticket-panel,
.umf-event-card,
.umf-product-card,
.umf-pass-strip article,
.umf-revenue-grid article {
    border: 1px solid rgba(255, 91, 16, 0.26);
    background:
        linear-gradient(135deg, rgba(255, 86, 8, 0.12), rgba(255, 43, 184, 0.1) 46%, rgba(45, 92, 255, 0.1)),
        rgba(8, 3, 17, 0.78);
    box-shadow: inset 0 0 3rem rgba(255, 83, 10, 0.06), 0 0 2rem rgba(255, 42, 184, 0.08);
}

.umf-pass-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.umf-pass-strip article,
.umf-revenue-grid article {
    padding: 1.2rem;
    border-radius: 0.5rem;
}

.umf-pass-strip span {
    display: inline-flex;
    margin-bottom: 0.8rem;
    color: #ffca5c;
    font-size: 0.9rem;
    font-weight: 950;
    letter-spacing: 0.16em;
}

.umf-pass-strip h3,
.umf-revenue-grid h3 {
    margin: 0 0 0.55rem;
    color: #fff7ed;
    font-size: 1.45rem;
    text-transform: uppercase;
}

.umf-pass-strip p,
.umf-revenue-grid p {
    margin: 0;
    color: #eadbff;
    line-height: 1.6;
}

.umf-ticket-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(18rem, 25rem);
    gap: 1.4rem;
    align-items: center;
    padding: clamp(1.4rem, 4vw, 3rem);
    border-radius: 0.5rem;
}

.umf-ticket-panel h2,
.umf-grid-section h2,
.umf-conversion-band h2 {
    font-size: 2.8rem;
    line-height: 1;
}

.umf-ticket-panel p,
.umf-event-card p,
.umf-conversion-band p {
    color: #eadbff;
    line-height: 1.65;
}

.umf-ticket-card {
    padding: 1.2rem;
    border: 1px solid rgba(255, 47, 184, 0.24);
    border-radius: 0.5rem;
    background: rgba(5, 2, 13, 0.78);
}

.umf-status {
    display: inline-flex;
    margin-bottom: 1rem;
    padding: 0.38rem 0.68rem;
    border-radius: 999px;
    color: #ffca5c;
    background: rgba(255, 91, 12, 0.2);
    font-weight: 900;
}

.umf-ticket-card h3,
.umf-event-card h3,
.umf-product-card h3 {
    margin: 0 0 0.6rem;
    color: #fff7ed;
    font-size: 1.35rem;
}

.umf-price {
    font-size: 2.2rem;
    font-weight: 950;
}

.umf-section-head {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: end;
    margin-bottom: 1rem;
}

.umf-section-head a {
    color: #ffca5c;
    font-weight: 900;
}

.umf-event-card {
    display: grid;
    grid-template-columns: minmax(14rem, 0.62fr) minmax(0, 1fr);
    gap: 1.4rem;
    align-items: center;
    padding: 1rem;
    border-radius: 0.5rem;
}

.umf-event-card img,
.umf-product-card img,
.umf-conversion-band img {
    width: 100%;
    height: auto;
    border-radius: 0.45rem;
}

.umf-event-card img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
    filter: saturate(1.18) contrast(1.07);
}

.umf-event-card span {
    color: #ff6b18;
    font-weight: 900;
}

.umf-products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.umf-revenue-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
}

.umf-product-card {
    padding: 1.2rem;
    border-radius: 0.5rem;
}

.umf-product-card img {
    aspect-ratio: 1;
    object-fit: cover;
    background: #0c0415;
}

.umf-product-card p {
    color: #ffca5c;
    font-weight: 950;
}

.umf-mini-link {
    width: 100%;
    min-height: 2.6rem;
    border: 1px solid rgba(255, 48, 184, 0.6);
    color: #fff;
}

.umf-conversion-band {
    display: grid;
    grid-template-columns: minmax(10rem, 22rem) minmax(0, 1fr) auto;
    gap: 1.4rem;
    align-items: center;
    padding: clamp(1.2rem, 3vw, 2rem);
    border-top: 1px solid rgba(255, 91, 12, 0.28);
}

.umf-conversion-band img {
    max-height: 10rem;
    object-fit: cover;
}

.umf-home-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem;
    align-items: center;
    padding: clamp(1.4rem, 4vw, 2.4rem) 0;
    border-top: 1px solid rgba(255, 91, 12, 0.28);
}

.umf-home-footer h2 {
    margin: 0;
    color: #fff7ed;
    font-size: clamp(1.8rem, 3vw, 3rem);
    line-height: 1;
    text-transform: uppercase;
}

.umf-home-footer nav {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    justify-content: flex-end;
}

.umf-home-footer a {
    color: #fff7ed;
    text-decoration: none;
}

.umf-home-footer nav a {
    padding: 0.65rem 0.85rem;
    border: 1px solid rgba(255, 47, 188, 0.5);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.05);
    font-weight: 900;
}

body.umf-cosmic-home .umf-hero {
    min-height: 34rem;
    padding: 3.4rem clamp(1.25rem, 5vw, 5rem);
}

body.umf-cosmic-home .umf-ticket-panel {
    padding: clamp(1.4rem, 4vw, 3rem);
}

body.umf-cosmic-home .umf-revenue-section {
    padding: 0;
}

@media (max-width: 980px) {
    .umf-nav,
    .umf-hero,
    .umf-ticket-panel,
    .umf-event-card,
    .umf-conversion-band,
    .umf-home-footer {
        grid-template-columns: 1fr;
    }

    .umf-nav {
        gap: 0.75rem;
    }

    .umf-nav-links {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        width: 100%;
        order: 2;
    }

    .umf-nav-links a,
    .umf-cart-link {
        min-width: 0;
        text-align: center;
    }

    .umf-cart-link {
        order: 3;
        width: 100%;
    }

    .umf-products,
    .umf-pass-strip,
    .umf-revenue-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .umf-hero {
        min-height: auto;
        padding: 2.4rem 1.25rem;
        background:
            linear-gradient(rgba(4, 2, 10, 0.58), rgba(4, 2, 10, 0.92)),
            var(--phoenix-bg) center top / cover no-repeat;
    }
}

@media (max-width: 620px) {
    .umf-nav {
        padding: 0.85rem 1rem;
    }

    .umf-brand {
        align-items: flex-start;
    }

    .umf-brand img {
        width: 3.9rem;
        height: 3.9rem;
    }

    .umf-nav-links {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .umf-hero h1 {
        max-width: 12ch;
        font-size: 2.7rem;
        line-height: 1;
    }

    .umf-date {
        font-size: 1.35rem;
    }

    .umf-ticket-panel h2,
    .umf-grid-section h2,
    .umf-conversion-band h2 {
        font-size: 2rem;
        line-height: 1.05;
    }

    .umf-lead {
        font-size: 1rem;
    }

    .umf-products,
    .umf-pass-strip,
    .umf-revenue-grid {
        grid-template-columns: 1fr;
    }

    .umf-section-head {
        display: block;
    }

    .umf-home-footer nav {
        justify-content: flex-start;
    }
}
