:root {
    --gold: #e2bf53;
    --body: #c8d4e3;
    --deep: #020617;
}

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

html {
    min-height: 100%;
    background: var(--deep);
    font-family:
        ui-sans-serif,
        system-ui,
        -apple-system,
        BlinkMacSystemFont,
        'Segoe UI',
        sans-serif;
}

body {
    min-height: 100vh;
    margin: 0;
    background: var(--deep);
    color: #fff;
}

.page {
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 100vh;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 3rem 1.5rem;
}

.media {
    position: absolute;
    inset: -5rem 0;
    z-index: -3;
    transform: scale(1.08);
}

.media img,
.media picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.media picture {
    display: block;
}

.media video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.overlay {
    position: absolute;
    inset: 0;
    z-index: -2;
    pointer-events: none;
}

.overlay::before,
.overlay::after {
    position: absolute;
    inset: 0;
    content: '';
}

.overlay::before {
    background: linear-gradient(
        90deg,
        rgba(2, 6, 23, 0.94) 0%,
        rgba(8, 18, 35, 0.8) 37%,
        rgba(8, 18, 35, 0.42) 68%,
        rgba(2, 6, 23, 0.58) 100%
    );
}

.overlay::after {
    background: linear-gradient(
        180deg,
        rgba(2, 6, 23, 0.3) 0%,
        rgba(2, 6, 23, 0.08) 34%,
        rgba(2, 6, 23, 0.76) 100%
    );
}

.content {
    width: min(100%, 92rem);
    text-align: center;
}

.logo {
    width: min(17rem, 72vw);
    height: auto;
    margin: 0 auto;
    filter: drop-shadow(0 1.25rem 2.5rem rgba(2, 6, 23, 0.48));
}

.eyebrow {
    margin: 3rem 0 0;
    color: var(--gold);
    font-size: clamp(1rem, 2vw, 1.35rem);
    font-weight: 700;
    letter-spacing: 0.3em;
    text-transform: uppercase;
}

.subtitle {
    max-width: 34rem;
    margin: 1.35rem auto 0;
    color: var(--body);
    font-size: clamp(1.125rem, 2.4vw, 1.5rem);
    line-height: 1.6;
    font-weight: 500;
}

@media (max-width: 767px), (prefers-reduced-motion: reduce) {
    .media video {
        display: none;
    }
}

@media (max-width: 42rem) {
    .page {
        padding: 2.5rem 1.25rem;
    }

    .logo {
        width: min(13.5rem, 72vw);
    }

    .eyebrow {
        margin-top: 2.25rem;
    }
}
