:root {
    color-scheme: dark;
    --ink: #0f172a;
    --paper: #f8fafc;
    --muted: #a8b4c7;
    --line: rgba(148, 163, 184, 0.16);
    --accent: #34d399;
}

html {
    scroll-padding-top: 5rem;
}

body {
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background: var(--ink);
}

.display-face {
    font-family: "Manrope", "Inter", system-ui, sans-serif;
}

.editorial-grid {
    background-image:
        linear-gradient(var(--line) 1px, transparent 1px),
        linear-gradient(90deg, var(--line) 1px, transparent 1px);
    background-size: 36px 36px;
    mask-image: linear-gradient(to bottom, black, transparent 92%);
}

.hero-glow {
    background:
        radial-gradient(circle at 72% 18%, rgba(16, 185, 129, 0.15), transparent 32%),
        radial-gradient(circle at 15% 42%, rgba(52, 211, 153, 0.08), transparent 28%);
}

.document-rule {
    position: relative;
}

.document-rule::before {
    position: absolute;
    top: 0.1rem;
    bottom: 0.1rem;
    left: 0;
    width: 2px;
    content: "";
    background: linear-gradient(to bottom, var(--accent), rgba(52, 211, 153, 0.08));
}

.annotation {
    padding-inline: 0.08em;
    background-image: linear-gradient(transparent 82%, rgba(52, 211, 153, 0.22) 82%);
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone;
}

.surface {
    border: 1px solid rgba(100, 116, 139, 0.36);
    background: linear-gradient(145deg, rgba(30, 41, 59, 0.68), rgba(15, 23, 42, 0.7));
    box-shadow: 0 24px 70px rgba(2, 6, 23, 0.22);
}

.paper-shadow {
    box-shadow: 0 24px 70px rgba(2, 6, 23, 0.45);
}

.skip-link {
    position: fixed;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 100;
    padding: 0.65rem 1rem;
    color: #020617;
    background: var(--accent);
    border-radius: 0.5rem;
    font-weight: 700;
    transform: translateY(-160%);
    transition: transform 150ms ease;
}

.skip-link:focus {
    transform: translateY(0);
}

a:focus-visible,
button:focus-visible {
    outline: 3px solid rgba(52, 211, 153, 0.9);
    outline-offset: 4px;
    border-radius: 0.35rem;
}

.mobile-shot {
    overflow: hidden;
}

@media (max-width: 767px) {
    .mobile-shot img {
        width: 150%;
        max-width: none;
        transform: translateX(-17%);
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto !important;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}
