* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

:root {
    --page-bg: #07090c;
    --page-fg: #eef2f7;
    --page-muted: rgba(238, 242, 247, 0.58);
    --layout-gutter: clamp(22px, 6vw, 88px);
}

html {
    min-height: 100%;
    background: var(--page-bg);
}

body {
    min-height: 100svh;
    background:
        radial-gradient(60vw 42vw at 50% 18%, rgba(255, 255, 255, 0.035), transparent 72%),
        linear-gradient(180deg, #0d1015 0%, #07090c 68%);
    color: var(--page-fg);
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a {
    color: inherit;
}

.shot-page {
    position: relative;
    min-height: 100svh;
    padding: calc(28px + env(safe-area-inset-top)) var(--layout-gutter) calc(32px + env(safe-area-inset-bottom));
}

.shot-logo {
    position: fixed;
    top: calc(26px + env(safe-area-inset-top));
    left: var(--layout-gutter);
    z-index: 2;
    display: block;
    width: clamp(34px, 4vw, 46px);
    height: clamp(34px, 4vw, 46px);
    color: var(--page-fg);
    opacity: 0.92;
    transition: opacity 0.18s ease, transform 0.18s ease;
}

.shot-logo:hover,
.shot-logo:focus-visible {
    opacity: 1;
    transform: translateY(-1px);
    outline: none;
}

.shot-logo svg {
    display: block;
    width: 100%;
    height: 100%;
}

.shot-stage {
    min-height: calc(100svh - 60px);
    display: grid;
    align-content: center;
    gap: 12px;
}

.shot-kicker {
    color: var(--page-muted);
    font-size: clamp(12px, 1.1vw, 15px);
    font-weight: 700;
    letter-spacing: 0.16em;
}

h1 {
    max-width: 10ch;
    font-size: clamp(56px, 11vw, 148px);
    font-weight: 800;
    line-height: 0.88;
    letter-spacing: 0;
}

@media (max-width: 767px) {
    .shot-page {
        padding-top: calc(22px + env(safe-area-inset-top));
    }

    .shot-logo {
        top: calc(22px + env(safe-area-inset-top));
    }

    .shot-stage {
        align-content: end;
        padding-bottom: 12svh;
    }
}
