/* One cover language for structural and subsequently published pages. */
.hero.codex-cover, .page-header.codex-cover, .resource-hero.codex-cover, .budget-header.codex-cover {
    position: relative;
    isolation: isolate;
    overflow: hidden;
    background: #0b0c0e;
    color: #f8f8fa;
}
.codex-cover::before, .codex-cover::after { pointer-events: none; }
html[style*="--season-early-cover"] .codex-cover .codex-cover-art { background-image:var(--season-early-cover); }
.codex-cover .codex-cover-art {
    position: absolute;
    inset: 0;
    z-index: -2;
    background-image: radial-gradient(ellipse at 78% 38%, #64717f 0%, transparent 28%), radial-gradient(ellipse at 92% 86%, #383c45 0%, transparent 34%), linear-gradient(130deg, #111317 22%, #262b32 68%, #101115);
    background-size: cover;
    background-position: var(--codex-cover-x, 50%) var(--codex-cover-y, 50%);
    opacity: var(--codex-cover-opacity, .55);
    transform: scale(1.005);
}
.codex-cover .codex-cover-shade {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(4,5,7,var(--codex-cover-shade,.6)) 0%, rgba(4,5,7,calc(var(--codex-cover-shade,.6) * .82)) 48%, rgba(4,5,7,.22) 100%), linear-gradient(0deg, rgba(4,5,7,.35), transparent 42%);
}
.hero.codex-cover::before, .hero.codex-cover::after { z-index: 0; border-color: #ffffff16; }
.hero.codex-cover .hero-grid { z-index: 0; opacity: .16; }
.hero.codex-cover .hero-content { z-index: 2; }
.page-header.codex-cover { min-height: clamp(390px, 55svh, 730px); display: flex; flex-direction: column; justify-content: flex-end; }
.resource-hero.codex-cover { min-height: clamp(420px, 62svh, 780px); }
.budget-page .budget-header.codex-cover { max-width: none; margin: 0 0 54px; padding: clamp(90px, 10vw, 150px) clamp(24px, 6vw, 80px) clamp(42px, 6vw, 80px); border-radius: 18px; }
.budget-header.codex-cover > :not(.codex-cover-art):not(.codex-cover-shade) { max-width: 700px; }
.codex-cover h1 { text-wrap: balance; }
.codex-cover p { color: #e2e2e7; }
@media (max-width: 680px) {
    .hero.codex-cover { min-height: 100svh; }
    .page-header.codex-cover { min-height: 380px; }
    .resource-hero.codex-cover { min-height: 440px; }
    .budget-page .budget-header.codex-cover { padding: 80px 24px 48px; border-radius: 12px; }
    .codex-cover .codex-cover-shade { background: linear-gradient(0deg, rgba(4,5,7,.78), rgba(4,5,7,var(--codex-cover-shade,.6))); }
}
