/* =========================================
 *  XANAWULF
 *  Dark / Baby Pink Editorial Theme
 = *======================================== */

:root {
    --bg: #070707;
    --surface: rgba(12, 12, 13, 0.78);
    --surface-strong: rgba(8, 8, 9, 0.90);

    --text: #fff7fb;
    --muted: #b2a6ac;

    --accent: #ffb8d7;
    --accent-soft: #ffd8e8;
    --accent-hot: #ff8fbd;

    --accent-glow: rgba(255, 184, 215, 0.34);
    --accent-glow-soft: rgba(255, 184, 215, 0.10);

    --border: rgba(255, 255, 255, 0.09);
    --border-strong: rgba(255, 255, 255, 0.22);

    --max-width: 1380px;
    --side-padding: clamp(20px, 4vw, 64px);
}


/* =========================================
 *  RESET
 = *======================================== */

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    color: var(--text);

    font-family: "Manrope", sans-serif;
    font-size: 16px;
    line-height: 1.6;

    overflow-x: hidden;

    background: var(--bg);
}

img,
video {
    display: block;
    width: 100%;
}

a {
    color: inherit;
    text-decoration: none;
}

button {
    font: inherit;
}

button,
a {
    -webkit-tap-highlight-color: transparent;
}

::selection {
    background: var(--accent);
    color: #080808;
}


/* =========================================
 *  FULL SITE BACKGROUND
 = *======================================== */

body::before {
    content: "";

    position: fixed;
    inset: 0;

    z-index: -3;

    background-image:
    linear-gradient(
        to bottom,
        rgba(5, 5, 5, 0.14) 0%,
                    rgba(5, 5, 5, 0.20) 28%,
                    rgba(5, 5, 5, 0.48) 67%,
                    rgba(5, 5, 5, 0.82) 100%
    ),
    url("https://iili.io/n340MCJ.md.png");

    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;

    transform: scale(1.02);

    animation:
    backgroundReveal
    1.8s
    ease
    forwards;
}


/* Pink atmospheric overlay */

body::after {
    content: "";

    position: fixed;
    inset: 0;

    z-index: -2;

    pointer-events: none;

    background:
    radial-gradient(
        circle at 68% 25%,
        rgba(255, 184, 215, 0.10),
                    transparent 30%
    ),
    radial-gradient(
        circle at 25% 78%,
        rgba(255, 184, 215, 0.045),
                    transparent 32%
    ),
    linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.28),
                    transparent 40%,
                    rgba(0, 0, 0, 0.10)
    );
}


/* =========================================
 *  HEADER
 = *======================================== */

.site-header {
    position: fixed;
    inset: 0 0 auto 0;

    z-index: 100;

    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;

    padding: 24px var(--side-padding);

    background:
    linear-gradient(
        to bottom,
        rgba(5, 5, 5, 0.90),
                    rgba(5, 5, 5, 0.42),
                    transparent
    );

    backdrop-filter: blur(4px);
}

.brand {
    justify-self: start;

    font-family: "Bodoni Moda", serif;
    font-size: 1.35rem;
    font-weight: 500;

    letter-spacing: -0.04em;

    transition:
    color 0.25s ease,
    text-shadow 0.25s ease;
}

.brand:hover {
    color: var(--accent-soft);

    text-shadow:
    0 0 20px var(--accent-glow);
}

.nav {
    display: flex;
    gap: 34px;
}

.nav a,
.age-mark {
    font-size: 0.65rem;
    text-transform: uppercase;
    letter-spacing: 0.18em;
}

.nav a {
    color: rgba(255, 255, 255, 0.64);

    transition:
    color 0.25s ease,
    text-shadow 0.25s ease;
}

.nav a:hover {
    color: var(--accent);

    text-shadow:
    0 0 12px var(--accent-glow);
}

.age-mark {
    justify-self: end;

    color: var(--accent);

    text-shadow:
    0 0 14px var(--accent-glow);
}


/* =========================================
 *  HERO
 = *======================================== */

.hero {
    position: relative;

    min-height: 100svh;

    display: flex;
    align-items: flex-end;

    overflow: hidden;
}

.hero::before {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 0;

    pointer-events: none;

    background:
    linear-gradient(
        to top,
        rgba(7, 7, 7, 0.98) 0%,
                    rgba(7, 7, 7, 0.68) 18%,
                    rgba(7, 7, 7, 0.12) 52%,
                    rgba(7, 7, 7, 0.10) 100%
    ),
    radial-gradient(
        ellipse at center,
        transparent 48%,
        rgba(0, 0, 0, 0.34) 100%
    );
}

.hero-content {
    position: relative;
    z-index: 3;

    width: 100%;
    max-width: var(--max-width);

    margin: 0 auto;

    padding:
    180px
    var(--side-padding)
    clamp(92px, 9vw, 145px);
}

.hero-content > * {
    opacity: 0;

    transform: translateY(20px);

    animation:
    fadeUp
    0.9s
    ease
    forwards;
}

.hero-content .eyebrow {
    animation-delay: 0.30s;
}

.hero-wordmark {
    margin: 0;

    font-family: "Bodoni Moda", serif;

    font-size:
    clamp(
        5rem,
        15vw,
        14rem
    );

    font-weight: 400;

    line-height: 0.78;

    letter-spacing: -0.075em;

    text-transform: lowercase;

    animation-delay: 0.46s !important;

    text-shadow:
    0 4px 32px rgba(0, 0, 0, 0.85),
    0 0 50px rgba(255, 184, 215, 0.07);
}

.hero-bottom {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;

    margin-top: 38px;

    animation-delay: 0.62s !important;
}

.hero-tagline {
    margin: 0;

    font-family: "Bodoni Moda", serif;

    font-size:
    clamp(
        1.6rem,
        3vw,
        2.7rem
    );

    font-style: italic;
    font-weight: 400;

    line-height: 1.1;

    text-shadow:
    0 2px 18px rgba(0, 0, 0, 0.9);
}

.hero-link {
    display: inline-flex;
    align-items: center;

    gap: 16px;

    padding-bottom: 8px;

    border-bottom:
    1px solid rgba(255, 255, 255, 0.36);

    font-size: 0.68rem;
    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.16em;

    transition:
    color 0.25s ease,
    border-color 0.25s ease,
    text-shadow 0.25s ease;
}

.hero-link:hover {
    color: var(--accent-soft);

    border-color: var(--accent);

    text-shadow:
    0 0 14px var(--accent-glow);
}

.hero-side-label {
    position: absolute;

    right: 14px;
    top: 50%;

    z-index: 4;

    transform:
    translateY(-50%)
    rotate(90deg);

    color: rgba(255, 255, 255, 0.42);

    font-size: 0.55rem;
    font-weight: 500;

    text-transform: uppercase;

    letter-spacing: 0.22em;
}

.hero-index {
    position: absolute;

    z-index: 4;

    right: var(--side-padding);
    bottom: 36px;

    color: rgba(255, 255, 255, 0.48);

    font-size: 0.62rem;

    letter-spacing: 0.18em;
}


/* =========================================
 *  EYEBROWS
 = *======================================== */

.eyebrow {
    display: block;

    margin-bottom: 18px;

    color: var(--accent);

    font-size: 0.63rem;
    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.24em;

    text-shadow:
    0 0 14px var(--accent-glow);
}


/* =========================================
 *  SECTIONS
 = *======================================== */

.section {
    position: relative;

    width:
    min(
        calc(100% - (var(--side-padding) * 2)),
        var(--max-width)
    );

    margin:
    clamp(50px, 7vw, 100px)
    auto;

    padding:
    clamp(80px, 10vw, 150px)
    clamp(22px, 3vw, 48px);

    background:
    linear-gradient(
        145deg,
        rgba(11, 11, 12, 0.82),
                    rgba(11, 11, 12, 0.68)
    );

    border:
    1px solid rgba(255, 255, 255, 0.055);

    backdrop-filter: blur(10px);

    box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.32),
    0 0 70px rgba(255, 184, 215, 0.025);
}

.section-heading {
    margin-bottom:
    clamp(
        36px,
        5vw,
        66px
    );
}

.section-heading-row {
    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 40px;
}

.section-heading h2,
.social-heading h2 {
    margin: 0;

    font-family: "Bodoni Moda", serif;

    font-size:
    clamp(
        3.5rem,
        7vw,
        7rem
    );

    font-weight: 400;

    line-height: 0.92;

    letter-spacing: -0.06em;

    text-transform: lowercase;
}


/* =========================================
 *  FEATURED RELEASE
 = *======================================== */

.featured-release {
    display: grid;

    grid-template-columns:
    minmax(0, 1.65fr)
    minmax(320px, 0.7fr);

    gap:
    clamp(
        42px,
        7vw,
        100px
    );

    align-items: center;
}

.featured-media {
    position: relative;

    aspect-ratio: 16 / 10;

    overflow: hidden;

    background: rgba(0, 0, 0, 0.40);

    box-shadow:
    0 25px 70px rgba(0, 0, 0, 0.40),
    0 0 60px rgba(255, 184, 215, 0.04);
}

.featured-media::after {
    content: "";

    position: absolute;
    inset: 0;

    pointer-events: none;

    border:
    1px solid rgba(255, 255, 255, 0.05);
}

.release-video {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.play-button {
    position: absolute;

    left: 50%;
    top: 50%;

    width: 76px;
    height: 76px;

    transform: translate(-50%, -50%);

    display: grid;
    place-items: center;

    border:
    1px solid rgba(255, 255, 255, 0.34);

    border-radius: 50%;

    background: rgba(8, 8, 8, 0.52);

    color: #fff;

    backdrop-filter: blur(10px);

    cursor: pointer;

    transition:
    color 0.25s ease,
    background 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease,
    opacity 0.2s ease;
}

.play-button:hover {
    color: var(--accent-soft);

    background: rgba(255, 184, 215, 0.09);

    border-color: var(--accent);

    box-shadow:
    0 0 32px var(--accent-glow);

    transform:
    translate(-50%, -50%)
    scale(1.06);
}

.play-button.is-hidden {
    opacity: 0;

    pointer-events: none;
}

.release-meta {
    display: flex;

    justify-content: space-between;

    gap: 20px;

    margin-bottom: 28px;
    padding-bottom: 18px;

    border-bottom:
    1px solid var(--border);

    color: var(--accent);

    font-size: 0.62rem;
    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.17em;
}

.featured-copy h3 {
    margin: 0 0 22px;

    font-family: "Bodoni Moda", serif;

    font-size:
    clamp(
        3rem,
        5vw,
        5.3rem
    );

    font-weight: 400;

    line-height: 0.9;

    letter-spacing: -0.06em;
}

.featured-copy p {
    max-width: 480px;

    margin: 0 0 38px;

    color: var(--muted);

    font-size: 0.95rem;
}

.release-actions {
    display: flex;

    flex-direction: column;

    align-items: flex-start;

    gap: 18px;
}


/* =========================================
 *  LINKS
 = *======================================== */

.text-action,
.primary-link,
.small-link {
    display: inline-flex;

    align-items: center;

    gap: 14px;

    padding: 0 0 6px;

    border: 0;

    border-bottom:
    1px solid var(--border-strong);

    background: transparent;

    font-size: 0.67rem;
    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.15em;

    cursor: pointer;

    transition:
    color 0.25s ease,
    border-color 0.25s ease,
    text-shadow 0.25s ease;
}

.text-action {
    color: var(--text);
}

.primary-link {
    color: var(--accent);

    border-color:
    rgba(255, 184, 215, 0.45);
}

.small-link {
    color: var(--muted);
}

.text-action:hover,
.primary-link:hover,
.small-link:hover {
    color: var(--accent-soft);

    border-color: var(--accent);

    text-shadow:
    0 0 12px var(--accent-glow);
}


/* =========================================
 *  RECENT RELEASES
 = *======================================== */

.release-grid {
    display: grid;

    grid-template-columns:
    repeat(2, minmax(0, 1fr));

    gap:
    clamp(
        24px,
        4vw,
        60px
    );
}

.release-card {
    padding-top: 18px;

    border-top:
    1px solid var(--border);
}


/*
 *  Blurred cover container
 */

.release-thumb {
    position: relative;

    display: block;

    aspect-ratio: 4 / 5;

    overflow: hidden;

    margin-bottom: 22px;

    background: rgba(0, 0, 0, 0.38);

    cursor: pointer;

    transition:
    box-shadow 0.45s ease,
    transform 0.45s ease;
}


/*
 *  Dark overlay over blurred image
 */

.release-thumb::after {
    content: "";

    position: absolute;
    inset: 0;

    z-index: 2;

    pointer-events: none;

    background:
    linear-gradient(
        to top,
        rgba(7, 7, 7, 0.48),
                    rgba(7, 7, 7, 0.10) 55%,
                    rgba(7, 7, 7, 0.18)
    );

    transition:
    opacity 0.8s
    cubic-bezier(0.22, 1, 0.36, 1);
}


/*
 *  "Hover to reveal" label
 */

.release-thumb::before {
    content: "hover to reveal";

    position: absolute;

    left: 50%;
    top: 50%;

    z-index: 4;

    transform:
    translate(-50%, -50%);

    color: rgba(255, 255, 255, 0.92);

    font-family: "Manrope", sans-serif;

    font-size: 0.58rem;
    font-weight: 600;

    text-transform: uppercase;

    letter-spacing: 0.22em;

    white-space: nowrap;

    text-shadow:
    0 2px 15px rgba(0, 0, 0, 0.9),
    0 0 15px var(--accent-glow);

    transition:
    opacity 0.35s ease,
    transform 0.35s ease,
    letter-spacing 0.35s ease;
}


/*
 *  BLURRED DEFAULT IMAGE
 */

.release-thumb img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    /*
     *      Scale prevents the blurred edges
     *      from showing around the container.
     */

    transform: scale(1.09);

    filter:
    blur(18px)
    brightness(0.62)
    saturate(0.80);

    transition:
    filter 0.8s
    cubic-bezier(0.22, 1, 0.36, 1),

    transform 0.8s
    cubic-bezier(0.22, 1, 0.36, 1);
}


/*
 *  CARD HOVER
 */

.release-thumb:hover {
    transform:
    translateY(-5px);

    box-shadow:
    0 20px 65px rgba(0, 0, 0, 0.48),
    0 0 42px rgba(255, 184, 215, 0.12),
    0 0 80px rgba(255, 184, 215, 0.045);
}


/*
 *  IMAGE REVEAL
 */

.release-thumb:hover img {
    filter:
    blur(0)
    brightness(1)
    saturate(1);

    transform:
    scale(1.02);
}


/*
 *  Fade dark overlay
 */

.release-thumb:hover::after {
    opacity: 0;
}


/*
 *  Fade reveal message
 */

.release-thumb:hover::before {
    opacity: 0;

    letter-spacing: 0.28em;

    transform:
    translate(-50%, -42%);
}


/*
 *  Arrow
 */

.thumb-arrow {
    position: absolute;

    right: 18px;
    top: 18px;

    z-index: 5;

    display: grid;
    place-items: center;

    width: 40px;
    height: 40px;

    border:
    1px solid rgba(255, 255, 255, 0.25);

    border-radius: 50%;

    background: rgba(8, 8, 8, 0.42);

    color: #fff;

    font-size: 0.8rem;

    backdrop-filter: blur(8px);

    transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.25s ease;
}

.release-thumb:hover .thumb-arrow {
    background: var(--accent);

    color: #080808;

    border-color: var(--accent);

    box-shadow:
    0 0 24px var(--accent-glow);

    transform: rotate(5deg);
}

.release-card-copy {
    display: flex;

    align-items: flex-start;

    gap: 24px;
}

.release-number {
    color: var(--accent);

    font-size: 0.62rem;

    letter-spacing: 0.15em;
}

.release-card h3 {
    margin: 0 0 3px;

    font-family: "Bodoni Moda", serif;

    font-size: 1.7rem;

    font-weight: 400;

    line-height: 1;
}

.release-card p {
    margin: 8px 0 0;

    color: var(--muted);

    font-size: 0.68rem;

    letter-spacing: 0.10em;
}


/* =========================================
 *  ACCESS
 = *======================================== */

.access-section {
    position: relative;

    min-height: 82svh;

    display: flex;

    align-items: center;

    overflow: hidden;

    margin:
    clamp(50px, 7vw, 100px)
    0;

    border-top:
    1px solid var(--border);

    border-bottom:
    1px solid var(--border);

    background:
    radial-gradient(
        circle at 50% 50%,
        rgba(255, 184, 215, 0.09),
                    transparent 42%
    ),
    rgba(8, 8, 9, 0.82);

    backdrop-filter: blur(12px);
}

.access-section::before {
    content: "";

    position: absolute;

    width: 520px;
    height: 520px;

    left: 50%;
    top: 50%;

    transform:
    translate(-50%, -50%);

    border-radius: 50%;

    background:
    rgba(255, 184, 215, 0.05);

    filter: blur(100px);

    pointer-events: none;

    animation:
    glowPulse
    6s
    ease-in-out
    infinite
    alternate;
}

.access-inner {
    position: relative;

    z-index: 2;

    width:
    min(
        calc(100% - (var(--side-padding) * 2)),
        1050px
    );

    margin: 0 auto;

    padding:
    clamp(
        110px,
        12vw,
        180px
    )
    0;

    text-align: center;
}

.access-inner h2 {
    margin: 0;

    font-family: "Bodoni Moda", serif;

    font-size:
    clamp(
        3.5rem,
        8vw,
        8rem
    );

    font-weight: 400;

    line-height: 0.9;

    letter-spacing: -0.07em;

    text-shadow:
    0 0 50px rgba(255, 184, 215, 0.07);
}

.access-inner p {
    max-width: 560px;

    margin:
    36px
    auto
    42px;

    color: var(--muted);

    font-size: 0.95rem;
}

.access-link {
    font-size: 0.7rem;
}


/* =========================================
 *  SOCIAL SECTION
 = *======================================== */

.social-section {
    width:
    min(
        calc(100% - (var(--side-padding) * 2)),
        var(--max-width)
    );

    margin:
    clamp(50px, 7vw, 100px)
    auto;

    display: flex;

    align-items: flex-end;
    justify-content: space-between;

    gap: 60px;

    padding:
    clamp(70px, 8vw, 120px)
    clamp(22px, 3vw, 48px);

    background:
    linear-gradient(
        145deg,
        rgba(11, 11, 12, 0.80),
                    rgba(11, 11, 12, 0.66)
    );

    border:
    1px solid rgba(255, 255, 255, 0.055);

    backdrop-filter: blur(10px);
}


/* =========================================
 *  LARGE LOWERCASE SOCIAL LINKS
 = *======================================== */

.social-links {
    display: flex;

    align-items: center;

    flex-wrap: wrap;

    gap:
    clamp(
        24px,
        4vw,
        54px
    );
}

.social-links a {
    position: relative;

    color: #ffffff;

    font-family: "Bodoni Moda", serif;

    font-size:
    clamp(
        1.8rem,
        3vw,
        3.1rem
    );

    font-weight: 400;

    line-height: 1;

    letter-spacing: -0.04em;

    text-transform: lowercase;

    text-shadow:
    0 3px 18px rgba(0, 0, 0, 0.7);

    transition:
    color 0.25s ease,
    text-shadow 0.25s ease,
    transform 0.25s ease;
}

.social-links a::after {
    content: "";

    position: absolute;

    left: 0;
    right: 100%;
    bottom: -9px;

    height: 1px;

    background: var(--accent);

    box-shadow:
    0 0 10px var(--accent-glow);

    transition:
    right 0.3s ease;
}

.social-links a:hover {
    color: var(--accent-soft);

    transform: translateY(-3px);

    text-shadow:
    0 0 12px var(--accent-glow),
    0 0 30px rgba(255, 184, 215, 0.20);
}

.social-links a:hover::after {
    right: 0;
}


/* =========================================
 *  FOOTER
 = *======================================== */

.site-footer {
    width:
    min(
        calc(100% - (var(--side-padding) * 2)),
        var(--max-width)
    );

    margin: 0 auto;

    display: flex;

    justify-content: space-between;

    gap: 30px;

    padding:
    28px
    0
    90px;

    border-top:
    1px solid var(--border);

    color: var(--muted);

    font-size: 0.66rem;
}

.footer-left {
    display: flex;

    gap: 18px;
}

.footer-brand {
    color: var(--text);

    font-family: "Bodoni Moda", serif;

    font-size: 0.95rem;
}

.site-footer p {
    margin: 0;
}


/* =========================================
 *  MOBILE CTA
 = *======================================== */

.mobile-cta {
    display: none;
}


/* =========================================
 *  ANIMATIONS
 = *======================================== */

@keyframes backgroundReveal {

    from {
        opacity: 0;

        transform:
        scale(1.07);
    }

    to {
        opacity: 1;

        transform:
        scale(1.02);
    }
}


@keyframes fadeUp {

    from {
        opacity: 0;

        transform:
        translateY(20px);
    }

    to {
        opacity: 1;

        transform:
        translateY(0);
    }
}


@keyframes glowPulse {

    from {
        opacity: 0.45;

        transform:
        translate(-50%, -50%)
        scale(0.92);
    }

    to {
        opacity: 0.95;

        transform:
        translate(-50%, -50%)
        scale(1.08);
    }
}


/* =========================================
 *  TABLET
 = *======================================== */

@media (max-width: 950px) {

    .site-header {
        grid-template-columns:
        1fr
        auto;
    }

    .nav {
        display: none;
    }

    .featured-release {
        grid-template-columns: 1fr;
    }

    .featured-copy {
        max-width: 620px;
    }

    .social-section {
        align-items: flex-start;

        flex-direction: column;
    }
}


/* =========================================
 *  TOUCH DEVICES
 = *======================================== */

@media (hover: none) {

    /*
     *      Change wording because mobile
     *      users can't hover.
     */

    .release-thumb::before {
        content: "tap to reveal";
    }

    .release-thumb:active img {
        filter:
        blur(0)
        brightness(1)
        saturate(1);

        transform: scale(1.02);
    }

    .release-thumb:active::after {
        opacity: 0;
    }

    .release-thumb:active::before {
        opacity: 0;

        transform:
        translate(-50%, -42%);
    }

    .release-thumb:active {
        box-shadow:
        0 20px 65px rgba(0, 0, 0, 0.48),
        0 0 42px rgba(255, 184, 215, 0.12);
    }
}


/* =========================================
 *  MOBILE
 = *======================================== */

@media (max-width: 700px) {

    body {
        padding-bottom: 66px;
    }

    body::before {
        background-position:
        57%
        center;

        transform: scale(1.01);
    }

    .site-header {
        padding-top: 18px;
        padding-bottom: 18px;
    }

    .brand {
        font-size: 1.15rem;
    }

    .hero-content {
        padding:
        150px
        var(--side-padding)
        96px;
    }

    .hero-wordmark {
        font-size:
        clamp(
            4.25rem,
            20vw,
            7rem
        );

        line-height: 0.82;
    }

    .hero-bottom {
        flex-direction: column;

        align-items: flex-start;

        gap: 28px;
    }

    .hero-tagline {
        font-size: 1.7rem;
    }

    .hero-side-label {
        display: none;
    }

    .hero-index {
        bottom: 24px;
    }

    .section {
        margin:
        50px
        auto;

        padding:
        80px
        20px;
    }

    .section-heading-row {
        flex-direction: column;

        align-items: flex-start;

        gap: 24px;
    }

    .featured-media {
        aspect-ratio: 4 / 5;
    }

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

    .release-actions {
        width: 100%;
    }

    .text-action,
    .primary-link {
        width: 100%;

        justify-content: space-between;

        padding:
        14px
        0;
    }

    .release-thumb::before {
        font-size: 0.54rem;

        letter-spacing: 0.18em;
    }

    .access-section {
        min-height: auto;

        margin:
        50px
        0;
    }

    .social-section {
        flex-direction: column;

        align-items: flex-start;

        gap: 42px;

        margin:
        50px
        auto;

        padding:
        70px
        20px;
    }

    .social-links {
        width: 100%;

        gap:
        24px
        30px;
    }

    .social-links a {
        font-size:
        clamp(
            1.65rem,
            8vw,
            2.4rem
        );
    }

    .site-footer {
        flex-direction: column;

        padding-bottom: 36px;
    }

    .mobile-cta {
        position: fixed;

        left: 0;
        right: 0;
        bottom: 0;

        z-index: 200;

        display: flex;

        align-items: center;
        justify-content: space-between;

        min-height: 66px;

        padding:
        0
        20px;

        background: var(--accent);

        color: #080808;

        box-shadow:
        0 -8px 30px
        rgba(255, 184, 215, 0.13);

        font-size: 0.68rem;

        font-weight: 700;

        text-transform: uppercase;

        letter-spacing: 0.15em;
    }
}


/* =========================================
 *  REDUCED MOTION
 = *======================================== */

@media (prefers-reduced-motion: reduce) {

    html {
        scroll-behavior: auto;
    }

    body::before {
        animation: none;

        opacity: 1;
    }

    .hero-content > * {
        animation: none;

        opacity: 1;

        transform: none;
    }

    .access-section::before {
        animation: none;
    }

    *,
    *::before,
    *::after {
        transition-duration:
        0.01ms !important;

        animation-duration:
        0.01ms !important;

        animation-iteration-count:
        1 !important;
    }
}
