/* Game-style live lettering, full character artwork and one continuous canvas. */
.olympus-hero {
    position: relative;
    isolation: isolate;
    width: 100%;
    margin: 0;
    padding: 28px 0 0;
    background: var(--paper);
}

.olympus-hero::before,
.olympus-hero::after {
    content: none;
}

/* The scene spans the viewport, independently of the content container. */
.olympus-hero__inner {
    position: relative;
    z-index: 1;
}
.olympus-hero__backdrop {
    position: absolute;
    z-index: 0;
    inset: 0;
    overflow: hidden;
    pointer-events: none;
}
.olympus-hero__backdrop > img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 45%;
    filter: brightness(1.12) saturate(1.08) contrast(1.02);
}
.olympus-hero__backdrop::after {
    content: '';
    position: absolute;
    inset: 0;
    background:
        linear-gradient(180deg, rgba(20, 11, 41, .72) 0%, rgba(20, 11, 41, .16) 20%, rgba(20, 11, 41, .05) 46%, rgba(20, 11, 41, .48) 76%, #140b29 100%),
        linear-gradient(90deg, rgba(20, 11, 41, .92) 0%, rgba(20, 11, 41, .82) 28%, rgba(20, 11, 41, .58) 54%, rgba(20, 11, 41, .28) 78%, rgba(20, 11, 41, .18) 100%);
}

.olympus-hero__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: clamp(24px, 4vw, 52px);
}

.olympus-hero__copy {
    position: relative;
    z-index: 2;
    min-width: 0;
    padding-block: 26px;
}
.olympus-hero__copy::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: -34px -42px -34px -54px;
    background: radial-gradient(ellipse 72% 62% at 34% 48%, rgba(10, 5, 24, .68) 0%, rgba(10, 5, 24, .34) 52%, rgba(10, 5, 24, 0) 100%);
    pointer-events: none;
}

.olympus-hero__copy .eyebrow {
    color: var(--muted);
    font-size: .75rem;
    font-weight: 600;
    letter-spacing: .1em;
}

.olympus-hero__title {
    margin: 18px 0 0;
    font-family: var(--font-display);
    font-size: clamp(2.6rem, 4.8vw, 4.45rem);
    font-weight: 900;
    line-height: .9;
    letter-spacing: -.04em;
    overflow: visible;
    overflow-wrap: normal;
    text-wrap: nowrap;
}

.olympus-hero__title > span,
.olympus-hero__name,
.olympus-hero__edition {
    display: block;
    width: fit-content;
    max-width: 100%;
    overflow: visible;
}

.olympus-hero__brand {
    color: #ffe08b;
}

.olympus-hero__name {
    font-family: var(--font-display);
    font-size: clamp(2.5rem, 4.9vw, 4.1rem);
    font-weight: 900;
    line-height: .94;
    letter-spacing: -.048em;
    white-space: nowrap;
    text-transform: none;
    padding: .02em .18em .1em 0;
}

.olympus-hero__title .olympus-hero__edition {
    margin-top: -.02em;
    padding: .01em .18em .12em 0;
    font-family: var(--font-display);
    color: #ffe08b;
    font-size: clamp(3.8rem, 7.05vw, 6.15rem);
    font-weight: 900;
    line-height: .84;
    letter-spacing: -.04em;
}

.olympus-hero__lead {
    max-width: 43ch;
    margin-top: 26px;
    color: #f0e6fb;
    font-size: 1rem;
    line-height: 1.85;
}

.olympus-hero__actions {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 12px;
    margin-top: 28px;
}

.olympus-hero__actions .button {
    min-height: 52px;
    padding: 14px 20px;
    font-size: .875rem;
    white-space: normal;
}

.olympus-hero__availability {
    margin-top: 18px;
    color: var(--muted);
    font-size: .875rem;
}

.olympus-hero__updated {
    margin-top: 5px;
    color: #c6b3dd;
    font-size: .75rem;
}

.olympus-hero__art {
    position: relative;
    isolation: isolate;
    min-width: 0;
    width: 100%;
    max-width: 510px;
    aspect-ratio: .86;
    justify-self: center;
}

/* This light reaches zero opacity before every edge of its own box. */
.olympus-hero__art::before {
    content: '';
    position: absolute;
    z-index: -1;
    inset: 0;
    background: radial-gradient(ellipse 49% 49% at 50% 50%, #a63aff55, #60238b00 100%);
    pointer-events: none;
}

.olympus-hero__art::after {
    content: none;
}

.olympus-hero__zeus {
    position: absolute;
    right: 0;
    bottom: 1%;
    width: 88%;
    max-height: 98%;
    height: auto;
    object-fit: contain;
    object-position: right bottom;
    filter: drop-shadow(0 18px 28px #06040c66);
}

.olympus-hero__orb {
    position: absolute;
    left: 0;
    bottom: 8%;
    width: 25%;
    height: auto;
    filter: drop-shadow(0 12px 15px #06040c66);
}

.olympus-hero__facts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 30px 0 0;
    padding: 0;
    border: 1px solid #9661c768;
    border-radius: 16px;
    background: #291444;
}

.olympus-hero__facts > div {
    padding: 20px 24px;
    border-right: 1px solid var(--line);
}

.olympus-hero__facts > div:last-child {
    border-right: 0;
}

.olympus-hero__facts dt {
    color: var(--muted);
    font-size: .875rem;
    line-height: 1.5;
}

.olympus-hero__facts dd {
    margin: 8px 0 0;
    color: #ffffff;
    font-family: var(--font-body);
    font-size: clamp(1.5rem, 2.3vw, 2rem);
    font-weight: 700;
    line-height: 1.25;
    font-variant-numeric: lining-nums tabular-nums;
}

/* Unified live lettering: both lines form one premium title lockup. */
.olympus-hero__name,
.olympus-hero__title .olympus-hero__edition {
    color: #ffdd78;
    -webkit-text-stroke: 1.2px rgba(126, 71, 24, .58);
    paint-order: stroke fill;
    text-shadow:
        0 2px 0 rgba(146, 85, 24, .92),
        0 5px 0 rgba(104, 56, 18, .86),
        0 14px 26px rgba(5, 2, 14, .34),
        0 0 20px rgba(255, 196, 72, .12);
}
@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    .olympus-hero__name,
    .olympus-hero__title .olympus-hero__edition {
        background: linear-gradient(180deg, #fff7da 0%, #ffefad 16%, #ffe07c 36%, #f7bd40 58%, #ffdb6b 78%, #df952a 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-shadow:
            0 2px 0 rgba(146, 85, 24, .92),
            0 5px 0 rgba(104, 56, 18, .86),
            0 14px 26px rgba(5, 2, 14, .34),
            0 0 20px rgba(255, 196, 72, .1);
        filter: none;
    }
    .olympus-hero__title .olympus-hero__edition {
        text-shadow:
            0 2px 0 rgba(146, 85, 24, .94),
            0 5px 0 rgba(104, 56, 18, .88),
            0 0 14px rgba(92, 218, 255, .12),
            0 14px 26px rgba(5, 2, 14, .34);
    }
}
.olympus-hero__facts > div:first-child dd {
    color: #a2edff;
}
.olympus-hero__facts > div:nth-child(2) dd,
.olympus-hero__facts > div:nth-child(3) dd {
    color: #ffe19a;
}

@media (max-width: 1100px) {
    .olympus-hero__actions {
        gap: 10px;
    }
    .olympus-hero__actions .button {
        padding-inline: 14px;
    }
}

@media (max-width: 760px) {
    .olympus-hero {
        margin-top: 0;
        padding: 24px 0 0;
    }
    .olympus-hero__backdrop {
        bottom: auto;
        height: 600px;
    }
    .olympus-hero__backdrop > img {
        object-position: 53% center;
        filter: brightness(1.08) saturate(1.08) contrast(1.02);
    }
    .olympus-hero__backdrop::after {
        background:
            linear-gradient(180deg, rgba(20,11,41,.82) 0%, rgba(20,11,41,.30) 20%, rgba(20,11,41,.34) 42%, rgba(20,11,41,.91) 76%, #140b29 100%),
            linear-gradient(90deg, rgba(20,11,41,.82) 0%, rgba(20,11,41,.42) 68%, rgba(20,11,41,.22) 100%);
    }
    .olympus-hero__layout {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 0 8px;
    }
    .olympus-hero__copy {
        display: contents;
    }
    .olympus-hero__copy .eyebrow {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 0 0 10px;
        font-size: .75rem;
        letter-spacing: .045em;
        line-height: 1.7;
    }
    .olympus-hero__title {
        grid-column: 1 / -1;
        grid-row: 2;
        align-self: start;
        margin: 0;
        width: 100%;
    }
    .olympus-hero__title:has(> .olympus-hero__edition) {
        display: block;
    }
    .olympus-hero__name {
        font-size: clamp(2.2rem, 9.4vw, 3.55rem);
        padding-right: .14em;
    }
    .olympus-hero__title .olympus-hero__edition {
        margin-top: -.01em;
        font-size: clamp(3.55rem, 15.2vw, 5.45rem);
        padding-right: .14em;
    }
    .olympus-hero__layout:has(.olympus-hero__edition) .olympus-hero__art {
        margin-top: clamp(16px, 5vw, 34px);
    }
    .olympus-hero__art {
        grid-column: 2;
        grid-row: 2;
        width: 100%;
        max-width: 280px;
        aspect-ratio: .78;
    }
    .olympus-hero__zeus {
        width: 100%;
        right: 0;
        bottom: 0;
        max-height: 100%;
    }
    .olympus-hero__orb {
        width: 29%;
        left: -5%;
        bottom: 4%;
    }
    .olympus-hero__lead {
        grid-column: 1 / -1;
        grid-row: 3;
        margin: 18px 0 0;
        max-width: 60ch;
        font-size: 1rem;
        line-height: 1.8;
    }
    .olympus-hero__actions {
        grid-column: 1 / -1;
        grid-row: 4;
        margin-top: 22px;
        gap: 10px;
    }
    .olympus-hero__actions .button {
        flex: 1 1 145px;
        min-height: 52px;
        font-size: .875rem;
        padding-inline: 12px;
    }
    .olympus-hero__availability {
        grid-column: 1 / -1;
        grid-row: 5;
        margin: 16px 0 0;
        font-size: .8125rem;
    }
    .olympus-hero__updated {
        grid-column: 1 / -1;
        grid-row: 6;
        margin: 5px 0 0;
        font-size: .75rem;
    }
    .olympus-hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 28px 0 0;
    }
    .olympus-hero__facts > div {
        padding: 16px 14px;
    }
    .olympus-hero__facts dt {
        font-size: .8125rem;
    }
    .olympus-hero__facts > div:nth-child(2) {
        border-right: 0;
    }
    .olympus-hero__facts > div:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }
}

@media (forced-colors: active) {
    .olympus-hero__backdrop {
        display: none;
    }
    .olympus-hero__name, .olympus-hero__edition {
        background: none;
        filter: none;
        text-shadow: none;
        color: CanvasText;
        -webkit-text-fill-color: CanvasText;
    }
}

@media print {
    .olympus-hero__art::before,
    .olympus-hero__backdrop {
        display: none;
    }
    .olympus-hero__name, .olympus-hero__edition {
        filter: none;
        text-shadow: none;
        background: none;
        color: black;
        -webkit-text-fill-color: black;
    }
}


/* 1.10.1 final title/readability adjustments */
@media (max-width: 760px) {
    .olympus-hero__copy::before {
        inset: -24px -20px -24px -26px;
        background: radial-gradient(ellipse 82% 62% at 28% 44%, rgba(10, 5, 24, .58) 0%, rgba(10, 5, 24, .22) 58%, rgba(10, 5, 24, 0) 100%);
    }
}

/* 1.10.3 clean hero title + shadow edge fix */
.olympus-hero__copy::before {
    content: none !important;
    display: none !important;
}

.olympus-hero__backdrop > img {
    filter: brightness(1.08) saturate(1.08) contrast(1.015);
}

.olympus-hero__backdrop::after {
    background:
        linear-gradient(180deg, rgba(20, 11, 41, .58) 0%, rgba(20, 11, 41, .12) 22%, rgba(20, 11, 41, .06) 47%, rgba(20, 11, 41, .42) 77%, #140b29 100%),
        linear-gradient(90deg, rgba(20, 11, 41, .84) 0%, rgba(20, 11, 41, .72) 27%, rgba(20, 11, 41, .48) 53%, rgba(20, 11, 41, .24) 78%, rgba(20, 11, 41, .14) 100%);
}

.olympus-hero__title {
    margin-top: 20px;
    line-height: .94;
    letter-spacing: -.042em;
    overflow: visible;
}

.olympus-hero__name,
.olympus-hero__title .olympus-hero__edition {
    display: block;
    width: max-content;
    max-width: none;
    overflow: visible;
    box-sizing: content-box;
    color: #ffdc72;
    -webkit-text-stroke: .7px rgba(147, 88, 26, .7);
    paint-order: stroke fill;
    text-shadow: none;
    filter: none;
}

.olympus-hero__name {
    font-size: clamp(2.65rem, 4.75vw, 4.2rem);
    line-height: 1.01;
    letter-spacing: -.05em;
    padding: .03em .22em .08em .015em;
    white-space: nowrap;
}

.olympus-hero__title .olympus-hero__edition {
    margin-top: -.055em;
    font-size: clamp(3.7rem, 6.35vw, 5.85rem);
    line-height: .97;
    letter-spacing: -.045em;
    padding: .025em .2em .07em .015em;
}

@supports ((background-clip: text) or (-webkit-background-clip: text)) {
    .olympus-hero__name,
    .olympus-hero__title .olympus-hero__edition {
        background: linear-gradient(180deg, #fff8dc 0%, #ffec9f 18%, #ffdb6b 45%, #f4b53d 72%, #e29a2b 100%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        text-shadow: none;
        filter: none;
    }
}

@media (max-width: 760px) {
    .olympus-hero__backdrop::after {
        background:
            linear-gradient(180deg, rgba(20,11,41,.72) 0%, rgba(20,11,41,.26) 22%, rgba(20,11,41,.28) 44%, rgba(20,11,41,.86) 77%, #140b29 100%),
            linear-gradient(90deg, rgba(20,11,41,.74) 0%, rgba(20,11,41,.38) 68%, rgba(20,11,41,.18) 100%);
    }
    .olympus-hero__title {
        width: 100%;
        max-width: 100%;
        overflow: visible;
    }
    .olympus-hero__name {
        font-size: clamp(1.95rem, 8.6vw, 3.25rem);
        line-height: 1.02;
        padding-right: .18em;
    }
    .olympus-hero__title .olympus-hero__edition {
        margin-top: -.045em;
        font-size: clamp(3.1rem, 13.2vw, 4.8rem);
        line-height: .98;
        padding-right: .18em;
    }
}

@media (max-width: 460px) {
    .olympus-hero__name {
        font-size: clamp(1.78rem, 8.25vw, 2.35rem);
    }
    .olympus-hero__title .olympus-hero__edition {
        font-size: clamp(2.9rem, 13vw, 3.8rem);
    }
}

/* 1.10.4 restrained hero title cleanup */
.olympus-hero__copy::before {
    content: none !important;
    display: none !important;
}

.olympus-hero__backdrop > img {
    filter: brightness(1.03) saturate(1.04) contrast(1.01) !important;
}

.olympus-hero__backdrop::after {
    background:
        linear-gradient(90deg, rgba(20, 11, 41, .82) 0%, rgba(20, 11, 41, .72) 24%, rgba(20, 11, 41, .48) 52%, rgba(20, 11, 41, .27) 76%, rgba(20, 11, 41, .18) 100%),
        linear-gradient(180deg, rgba(20, 11, 41, .62) 0%, rgba(20, 11, 41, .16) 24%, rgba(20, 11, 41, .14) 58%, rgba(20, 11, 41, .46) 82%, #140b29 100%),
        radial-gradient(circle at 28% 32%, rgba(255, 210, 110, .12) 0%, rgba(255, 210, 110, 0) 34%) !important;
}

.olympus-hero__title {
    margin-top: 18px !important;
    line-height: .92 !important;
    letter-spacing: -.042em !important;
    overflow: visible !important;
}

.olympus-hero__title > span,
.olympus-hero__name,
.olympus-hero__title .olympus-hero__edition {
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    overflow: visible !important;
    -webkit-text-stroke: 0 !important;
}

.olympus-hero__name {
    font-size: clamp(2.9rem, 5.2vw, 4.55rem) !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
    white-space: nowrap !important;
    padding: 0 !important;
    text-shadow:
        0 1px 0 rgba(137, 83, 20, .28),
        0 8px 22px rgba(8, 4, 19, .46) !important;
}

.olympus-hero__title .olympus-hero__edition {
    margin-top: -.03em !important;
    font-size: clamp(4.35rem, 7.55vw, 6.55rem) !important;
    line-height: .86 !important;
    letter-spacing: -.045em !important;
    white-space: nowrap !important;
    padding: 0 !important;
    text-shadow:
        0 1px 0 rgba(137, 83, 20, .28),
        0 10px 24px rgba(8, 4, 19, .48) !important;
}

@media (max-width: 760px) {
    .olympus-hero__backdrop::after {
        background:
            linear-gradient(90deg, rgba(20, 11, 41, .8) 0%, rgba(20, 11, 41, .5) 60%, rgba(20, 11, 41, .22) 100%),
            linear-gradient(180deg, rgba(20, 11, 41, .74) 0%, rgba(20, 11, 41, .26) 24%, rgba(20, 11, 41, .28) 48%, rgba(20, 11, 41, .82) 80%, #140b29 100%) !important;
    }

    .olympus-hero__name {
        font-size: clamp(2.2rem, 8.4vw, 3.35rem) !important;
        line-height: .95 !important;
    }

    .olympus-hero__title .olympus-hero__edition {
        margin-top: -.02em !important;
        font-size: clamp(3.7rem, 13.4vw, 5.1rem) !important;
        line-height: .88 !important;
    }
}

@media (max-width: 460px) {
    .olympus-hero__name {
        font-size: clamp(2rem, 8.1vw, 2.65rem) !important;
    }

    .olympus-hero__title .olympus-hero__edition {
        font-size: clamp(3.25rem, 12.8vw, 4.2rem) !important;
    }
}

/* 1.10.5 hero polish: dual-tone title, softer readability, aligned art */
.olympus-hero__backdrop > img {
    filter: brightness(1.07) saturate(1.05) contrast(1.015) !important;
}

.olympus-hero__backdrop::after {
    background:
        linear-gradient(90deg, rgba(20, 11, 41, .82) 0%, rgba(20, 11, 41, .72) 23%, rgba(20, 11, 41, .48) 50%, rgba(20, 11, 41, .26) 75%, rgba(20, 11, 41, .16) 100%),
        linear-gradient(180deg, rgba(20, 11, 41, .52) 0%, rgba(20, 11, 41, .14) 22%, rgba(20, 11, 41, .14) 58%, rgba(20, 11, 41, .44) 82%, #140b29 100%),
        radial-gradient(circle at 24% 34%, rgba(255, 219, 121, .11) 0%, rgba(255, 219, 121, 0) 32%),
        radial-gradient(circle at 74% 24%, rgba(80, 202, 255, .07) 0%, rgba(80, 202, 255, 0) 26%) !important;
}

.olympus-hero__layout {
    align-items: end;
    gap: clamp(24px, 4vw, 58px);
}

.olympus-hero__copy {
    padding-block: 30px 34px;
}

.olympus-hero__title {
    margin-top: 18px !important;
    line-height: .9 !important;
    letter-spacing: -.045em !important;
}

.olympus-hero__name,
.olympus-hero__title .olympus-hero__edition {
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    overflow: visible !important;
    white-space: nowrap !important;
    padding: 0 !important;
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
    text-rendering: geometricPrecision;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
}

.olympus-hero__name {
    background-image: linear-gradient(180deg, #fffef9 0%, #fff8e8 16%, #fff2c8 40%, #ffe49a 72%, #ffd46b 100%) !important;
    font-size: clamp(2.95rem, 5.3vw, 4.7rem) !important;
    line-height: .94 !important;
    letter-spacing: -.048em !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.28),
        0 2px 0 rgba(160, 110, 26, .10),
        0 10px 24px rgba(34, 12, 52, .22),
        0 18px 34px rgba(8, 4, 18, .28) !important;
    filter: drop-shadow(0 0 18px rgba(255, 234, 169, .34)) drop-shadow(0 10px 22px rgba(26, 8, 38, .26));
}

.olympus-hero__title .olympus-hero__edition {
    background-image: linear-gradient(180deg, #f8d8ff 0%, #eeb4ff 18%, #d56cff 42%, #9a46ff 70%, #6c2ee3 100%) !important;
    margin-top: -.02em !important;
    font-size: clamp(4.55rem, 7.85vw, 6.9rem) !important;
    line-height: .84 !important;
    letter-spacing: -.05em !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.18),
        0 3px 0 rgba(116, 38, 146, .12),
        0 12px 28px rgba(52, 16, 86, .30),
        0 18px 34px rgba(8, 4, 18, .34) !important;
    filter: drop-shadow(0 0 20px rgba(207, 91, 255, .40)) drop-shadow(0 10px 22px rgba(30, 8, 58, .30));
}

.olympus-hero__lead {
    max-width: 44ch;
    margin-top: 24px;
    color: #f2eafb;
}

.olympus-hero__art {
    max-width: 560px;
    aspect-ratio: .89;
    align-self: end;
}

.olympus-hero__art::before {
    background: radial-gradient(ellipse 54% 52% at 58% 48%, rgba(103, 69, 189, .24) 0%, rgba(103, 69, 189, 0) 76%);
}

.olympus-hero__zeus {
    right: -3%;
    bottom: 0;
    width: 89%;
    max-height: 100%;
    filter: drop-shadow(0 24px 34px rgba(7, 5, 18, .42));
}

.olympus-hero__orb {
    left: 8%;
    bottom: 9%;
    width: 23%;
    filter: drop-shadow(0 12px 24px rgba(6, 4, 16, .45));
}

.olympus-hero__facts {
    margin-top: 24px;
    background: linear-gradient(180deg, rgba(44, 22, 73, .88), rgba(29, 14, 48, .94));
    border-color: rgba(151, 102, 201, .35);
    box-shadow: 0 18px 42px rgba(7, 5, 18, .22);
}

.olympus-hero__facts > div {
    padding: 21px 24px;
}

@media (max-width: 760px) {
    .olympus-hero__backdrop::after {
        background:
            linear-gradient(90deg, rgba(20,11,41,.8) 0%, rgba(20,11,41,.48) 62%, rgba(20,11,41,.2) 100%),
            linear-gradient(180deg, rgba(20,11,41,.7) 0%, rgba(20,11,41,.22) 24%, rgba(20,11,41,.24) 48%, rgba(20,11,41,.82) 82%, #140b29 100%) !important;
    }

    .olympus-hero__name {
        font-size: clamp(2.1rem, 8.25vw, 3rem) !important;
        line-height: .95 !important;
    }

    .olympus-hero__title .olympus-hero__edition {
        font-size: clamp(3.35rem, 12.8vw, 4.75rem) !important;
        line-height: .86 !important;
    }

    .olympus-hero__art {
        max-width: 298px;
        aspect-ratio: .8;
    }

    .olympus-hero__zeus {
        right: -5%;
        width: 98%;
    }

    .olympus-hero__orb {
        left: -1%;
        bottom: 8%;
        width: 31%;
    }
}

@media (max-width: 460px) {
    .olympus-hero__name {
        font-size: clamp(1.9rem, 7.95vw, 2.45rem) !important;
    }

    .olympus-hero__title .olympus-hero__edition {
        font-size: clamp(3rem, 12vw, 3.85rem) !important;
    }
}

/* 1.11.4 FINAL hero title palette override — must stay last */
.olympus-hero__name {
    background-image: linear-gradient(
        180deg,
        #ffffff 0%,
        #fffdfa 28%,
        #fff8e8 55%,
        #ffe9a8 78%,
        #ffd35b 100%
    ) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.22),
        0 10px 24px rgba(23, 8, 39, .26) !important;
    filter:
        drop-shadow(0 0 12px rgba(255, 247, 219, .18))
        drop-shadow(0 12px 22px rgba(24, 8, 40, .24)) !important;
}

.olympus-hero__title .olympus-hero__edition {
    background-image: linear-gradient(
        180deg,
        #f9dfff 0%,
        #f0a1ff 20%,
        #df5cff 43%,
        #b62cff 68%,
        #7b20dd 100%
    ) !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.14),
        0 10px 24px rgba(35, 8, 67, .30) !important;
    filter:
        drop-shadow(0 0 16px rgba(224, 87, 255, .26))
        drop-shadow(0 12px 22px rgba(38, 8, 70, .30)) !important;
}

/* 1.11.5 FINAL hero palette — verified high-contrast Olympus treatment */
.olympus-hero__backdrop > img {
    filter: brightness(1.04) saturate(1.03) contrast(1.02) !important;
}

.olympus-hero__backdrop::after {
    background:
        linear-gradient(90deg,
            rgba(14, 7, 30, .86) 0%,
            rgba(18, 8, 34, .76) 24%,
            rgba(24, 10, 40, .56) 48%,
            rgba(23, 11, 40, .26) 72%,
            rgba(18, 10, 34, .14) 100%),
        linear-gradient(180deg,
            rgba(15, 8, 31, .38) 0%,
            rgba(15, 8, 31, .08) 38%,
            rgba(15, 8, 31, .12) 64%,
            rgba(15, 8, 31, .54) 100%),
        radial-gradient(circle at 73% 30%, rgba(80, 205, 255, .08) 0%, rgba(80, 205, 255, 0) 32%),
        radial-gradient(circle at 20% 26%, rgba(255, 225, 150, .07) 0%, rgba(255, 225, 150, 0) 28%) !important;
}

.olympus-hero__name,
.olympus-hero__title .olympus-hero__edition {
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow: none !important;
}

.olympus-hero__name {
    background-image: linear-gradient(
        105deg,
        #ffffff 0%,
        #fffdf7 30%,
        #fff6dc 55%,
        #ffe8a5 76%,
        #f5c858 100%
    ) !important;
    filter:
        drop-shadow(0 2px 0 rgba(255, 225, 145, .12))
        drop-shadow(0 12px 24px rgba(7, 3, 18, .46)) !important;
}

.olympus-hero__title .olympus-hero__edition {
    background-image: linear-gradient(
        105deg,
        #faeaff 0%,
        #eda9ff 22%,
        #db62ff 45%,
        #bd32f5 66%,
        #9226e8 82%,
        #681bcf 100%
    ) !important;
    filter:
        drop-shadow(0 0 12px rgba(222, 84, 255, .24))
        drop-shadow(0 12px 24px rgba(14, 4, 32, .48)) !important;
}

.olympus-hero__lead {
    color: #f7f2fb !important;
    text-shadow: 0 2px 12px rgba(9, 4, 20, .28);
}

.olympus-hero__art::before {
    background:
        radial-gradient(ellipse 56% 54% at 61% 45%, rgba(75, 193, 255, .13) 0%, rgba(94, 78, 201, .12) 34%, rgba(75, 44, 135, 0) 74%) !important;
}

.olympus-hero__zeus {
    filter:
        drop-shadow(0 0 16px rgba(92, 220, 255, .12))
        drop-shadow(0 28px 42px rgba(6, 3, 16, .46)) !important;
}

.olympus-hero__orb {
    filter:
        drop-shadow(0 0 14px rgba(231, 76, 255, .20))
        drop-shadow(0 12px 24px rgba(6, 3, 16, .46)) !important;
}


/* 1.11.6 specificity fix — name must beat legacy .title > span rules */
.olympus-hero__title > .olympus-hero__name {
    background-image: linear-gradient(
        105deg,
        #ffffff 0%,
        #fffdf7 30%,
        #fff6dc 55%,
        #ffe8a5 76%,
        #f5c858 100%
    ) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow: none !important;
    filter:
        drop-shadow(0 2px 0 rgba(255, 225, 145, .12))
        drop-shadow(0 12px 24px rgba(7, 3, 18, .46)) !important;
}

.olympus-hero__title > .olympus-hero__edition {
    background-image: linear-gradient(
        105deg,
        #faeaff 0%,
        #eda9ff 22%,
        #db62ff 45%,
        #bd32f5 66%,
        #9226e8 82%,
        #681bcf 100%
    ) !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    text-shadow: none !important;
    filter:
        drop-shadow(0 0 14px rgba(222, 84, 255, .30))
        drop-shadow(0 12px 24px rgba(14, 4, 32, .48)) !important;
}

/* 1.12.0 TEXT-ONLY hero title refinement.
   IMPORTANT: layout, hero height, artwork position and all surrounding blocks remain unchanged. */
.olympus-hero__title > .olympus-hero__name,
.olympus-hero__title > .olympus-hero__edition {
    display: block !important;
    width: max-content !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
    text-rendering: geometricPrecision;
}

/* One-line title that safely fits the ORIGINAL left column. */
.olympus-hero__title > .olympus-hero__name {
    font-size: clamp(2.75rem, 4.7vw, 4rem) !important;
    line-height: .95 !important;
    letter-spacing: -.052em !important;
    white-space: nowrap !important;
    padding: .025em .04em .08em .005em !important;
    background-image: linear-gradient(
        90deg,
        #fff1b2 0%,
        #ffe38a 30%,
        #ffd568 62%,
        #f4c34c 100%
    ) !important;
    text-shadow: none !important;
    filter:
        drop-shadow(0 1px 0 rgba(255,255,255,.12))
        drop-shadow(0 11px 23px rgba(12,5,26,.38)) !important;
}

/* Full-line purple gradient sampled from the supplied 2500 reference. */
.olympus-hero__title > .olympus-hero__edition {
    margin-top: -.035em !important;
    font-size: clamp(4.65rem, 8.05vw, 7rem) !important;
    line-height: .85 !important;
    letter-spacing: -.05em !important;
    white-space: nowrap !important;
    padding: .02em .04em .075em .005em !important;
    background-image: linear-gradient(
        90deg,
        #f5b4ff 0%,
        #ec79ff 18%,
        #db42ff 38%,
        #bd25ff 58%,
        #8d1fe8 78%,
        #5a22a8 100%
    ) !important;
    text-shadow: none !important;
    filter:
        drop-shadow(0 0 15px rgba(213,76,255,.28))
        drop-shadow(0 12px 24px rgba(24,7,45,.44)) !important;
}

@media (max-width: 760px) {
    .olympus-hero__title > .olympus-hero__name {
        font-size: clamp(2.05rem, 8.15vw, 2.95rem) !important;
        max-width: 100% !important;
        padding-right: .025em !important;
    }

    .olympus-hero__title > .olympus-hero__edition {
        font-size: clamp(3.25rem, 12.35vw, 4.75rem) !important;
        max-width: 100% !important;
        padding-right: .025em !important;
    }
}

/* 1.12.4 — single approved HERO TITLE treatment (former B).
   Typography only; hero geometry and artwork stay untouched. */
.olympus-hero .olympus-hero__title > .olympus-hero__name,
.olympus-hero .olympus-hero__title > .olympus-hero__edition {
    display: block !important;
    width: max-content !important;
    max-width: none !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    padding-right: .10em !important;
    background-repeat: no-repeat !important;
    background-size: 100% 100% !important;
    background-clip: text !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    -webkit-text-stroke: 0 !important;
    paint-order: normal !important;
    filter: none !important;
    text-rendering: geometricPrecision;
}

.olympus-hero .olympus-hero__title > .olympus-hero__name {
    background-image: linear-gradient(180deg,
        #fff7c8 0%,
        #ffe88c 26%,
        #ffd04e 56%,
        #e9a92c 100%) !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.12),
        0 8px 18px rgba(16,7,28,.35) !important;
}

.olympus-hero .olympus-hero__title > .olympus-hero__edition {
    background-image: linear-gradient(180deg,
        #f6ceff 0%,
        #e77dff 24%,
        #c936f3 49%,
        #8d27d5 74%,
        #4a2083 100%) !important;
    text-shadow:
        0 1px 0 rgba(255,255,255,.11),
        0 9px 19px rgba(33,8,60,.40) !important;
}

@media (max-width: 760px) {
    .olympus-hero .olympus-hero__title > .olympus-hero__name,
    .olympus-hero .olympus-hero__title > .olympus-hero__edition {
        max-width: 100% !important;
        padding-right: .04em !important;
    }
}

/* 1.12.5 — responsive composition pass (tablet + mobile only).
   Desktop geometry remains unchanged. */
@media (min-width: 641px) and (max-width: 1024px) {
    .olympus-hero {
        padding-top: 20px;
    }

    .olympus-hero__backdrop {
        inset: 0;
        height: 100%;
        bottom: 0;
    }

    .olympus-hero__backdrop > img {
        object-position: 52% center;
        filter: brightness(1.06) saturate(1.05) contrast(1.01) !important;
    }

    .olympus-hero__backdrop::after {
        background:
            linear-gradient(90deg, rgba(20,11,41,.86) 0%, rgba(20,11,41,.68) 30%, rgba(20,11,41,.38) 58%, rgba(20,11,41,.18) 100%),
            linear-gradient(180deg, rgba(20,11,41,.50) 0%, rgba(20,11,41,.12) 32%, rgba(20,11,41,.24) 68%, rgba(20,11,41,.76) 100%) !important;
    }

    .olympus-hero__layout {
        grid-template-columns: minmax(0, .96fr) minmax(300px, 1.04fr);
        gap: clamp(18px, 3vw, 34px);
        align-items: center;
    }

    .olympus-hero__copy {
        display: block;
        padding-block: 20px 28px;
    }

    .olympus-hero__copy::before {
        content: none !important;
    }

    .olympus-hero__copy .eyebrow {
        font-size: .72rem;
        letter-spacing: .075em;
    }

    .olympus-hero__title {
        margin-top: 14px;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__name {
        font-size: clamp(2.55rem, 5.1vw, 3.45rem) !important;
        line-height: .94 !important;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__edition {
        margin-top: -.025em !important;
        font-size: clamp(4rem, 7.7vw, 5.25rem) !important;
        line-height: .85 !important;
    }

    .olympus-hero__lead {
        max-width: 43ch;
        margin-top: 20px;
        font-size: .96rem;
        line-height: 1.65;
    }

    .olympus-hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 22px;
    }

    .olympus-hero__actions .button {
        width: 100%;
        min-height: 50px;
        padding-inline: 12px;
        font-size: .82rem;
    }

    .olympus-hero__availability {
        margin-top: 14px;
        font-size: .8rem;
    }

    .olympus-hero__updated {
        font-size: .72rem;
    }

    .olympus-hero__art {
        width: 100%;
        max-width: 430px;
        aspect-ratio: .84;
        justify-self: end;
        align-self: end;
    }

    .olympus-hero__zeus {
        right: -2%;
        bottom: 0;
        width: 96%;
        max-height: 100%;
    }

    .olympus-hero__orb {
        left: 0;
        bottom: 8%;
        width: 27%;
    }

    .olympus-hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin-top: 20px;
        border-radius: 15px;
        overflow: hidden;
    }

    .olympus-hero__facts > div {
        min-height: 92px;
        padding: 16px 18px;
    }

    .olympus-hero__facts > div:nth-child(2) {
        border-right: 0;
    }

    .olympus-hero__facts > div:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }
}

@media (max-width: 640px) {
    .olympus-hero {
        padding: 10px 0 0;
        overflow: hidden;
    }

    .olympus-hero__inner.container {
        width: calc(100% - 24px);
    }

    .olympus-hero__backdrop {
        inset: 0;
        height: 100%;
        bottom: 0;
    }

    .olympus-hero__backdrop > img {
        object-position: 54% center;
        filter: brightness(1.04) saturate(1.05) contrast(1.01) !important;
    }

    .olympus-hero__backdrop::after {
        background:
            linear-gradient(180deg, rgba(20,11,41,.70) 0%, rgba(20,11,41,.24) 22%, rgba(20,11,41,.30) 48%, rgba(20,11,41,.72) 74%, rgba(20,11,41,.92) 100%),
            linear-gradient(90deg, rgba(20,11,41,.82) 0%, rgba(20,11,41,.46) 58%, rgba(20,11,41,.20) 100%) !important;
    }

    .olympus-hero__layout {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        grid-template-rows: auto minmax(300px, auto) auto auto auto auto;
        gap: 0;
        align-items: start;
    }

    .olympus-hero__copy {
        display: contents;
    }

    .olympus-hero__copy::before {
        content: none !important;
    }

    .olympus-hero__copy .eyebrow {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 8px 0 8px;
        font-size: .68rem;
        line-height: 1.5;
        letter-spacing: .055em;
    }

    .olympus-hero__title {
        grid-column: 1 / 9;
        grid-row: 2;
        z-index: 3;
        align-self: start;
        width: 100%;
        margin: 12px 0 0;
        pointer-events: none;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__name {
        width: max-content !important;
        max-width: none !important;
        font-size: clamp(2.05rem, 8.9vw, 2.7rem) !important;
        line-height: .94 !important;
        letter-spacing: -.05em !important;
        padding-right: .05em !important;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__edition {
        width: max-content !important;
        max-width: none !important;
        margin-top: -.02em !important;
        font-size: clamp(3.55rem, 14.8vw, 4.5rem) !important;
        line-height: .84 !important;
        letter-spacing: -.05em !important;
        padding-right: .04em !important;
    }

    .olympus-hero__art,
    .olympus-hero__layout:has(.olympus-hero__edition) .olympus-hero__art {
        grid-column: 6 / -1;
        grid-row: 2;
        z-index: 2;
        align-self: end;
        justify-self: end;
        width: min(58vw, 265px);
        max-width: 265px;
        aspect-ratio: .78;
        margin: 0 -5px 0 0;
    }

    .olympus-hero__zeus {
        right: -4%;
        bottom: 0;
        width: 100%;
        max-height: 100%;
    }

    .olympus-hero__orb {
        left: -10%;
        bottom: 5%;
        width: 32%;
    }

    .olympus-hero__lead {
        grid-column: 1 / -1;
        grid-row: 3;
        max-width: none;
        margin: 16px 0 0;
        font-size: .94rem;
        line-height: 1.65;
        text-shadow: 0 2px 12px rgba(8,4,18,.28);
    }

    .olympus-hero__actions {
        grid-column: 1 / -1;
        grid-row: 4;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
        margin-top: 18px;
    }

    .olympus-hero__actions .button {
        width: 100%;
        min-height: 52px;
        padding: 11px 10px;
        font-size: .8rem;
        line-height: 1.2;
    }

    .olympus-hero__availability {
        grid-column: 1 / -1;
        grid-row: 5;
        margin: 14px 0 0;
        font-size: .78rem;
    }

    .olympus-hero__updated {
        grid-column: 1 / -1;
        grid-row: 6;
        margin: 5px 0 0;
        font-size: .7rem;
    }

    .olympus-hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 20px 0 0;
        border-radius: 14px;
        overflow: hidden;
        background: rgba(41,20,68,.93);
        backdrop-filter: blur(8px);
    }

    .olympus-hero__facts > div {
        min-height: 88px;
        padding: 14px 14px;
    }

    .olympus-hero__facts dt {
        font-size: .75rem;
        line-height: 1.35;
    }

    .olympus-hero__facts dd {
        margin-top: 7px;
        font-size: 1.45rem;
    }

    .olympus-hero__facts > div:nth-child(2) {
        border-right: 0;
    }

    .olympus-hero__facts > div:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }
}

@media (max-width: 420px) {
    .olympus-hero__layout {
        grid-template-rows: auto minmax(278px, auto) auto auto auto auto;
    }

    .olympus-hero__title {
        grid-column: 1 / 9;
        margin-top: 10px;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__name {
        font-size: clamp(1.92rem, 8.45vw, 2.42rem) !important;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__edition {
        font-size: clamp(3.25rem, 14.2vw, 4.05rem) !important;
    }

    .olympus-hero__art,
    .olympus-hero__layout:has(.olympus-hero__edition) .olympus-hero__art {
        grid-column: 6 / -1;
        width: min(57vw, 235px);
        max-width: 235px;
    }

    .olympus-hero__lead {
        font-size: .9rem;
        line-height: 1.6;
    }

    .olympus-hero__actions {
        gap: 8px;
    }

    .olympus-hero__actions .button {
        min-height: 50px;
        font-size: .75rem;
    }
}

/* ===== 1.12.6 responsive composition: mobile/tablet inspired by gatesofolympus.wtf ===== */
@media (min-width: 641px) and (max-width: 900px) {
    .olympus-hero {
        padding: 18px 0 0;
        overflow: hidden;
    }

    .olympus-hero__backdrop {
        inset: 0;
        height: 100%;
    }

    .olympus-hero__backdrop > img {
        object-position: 52% center;
        filter: brightness(1.04) saturate(1.07) contrast(1.01) !important;
    }

    .olympus-hero__backdrop::after {
        background:
            linear-gradient(180deg, rgba(20,11,41,.66) 0%, rgba(20,11,41,.20) 26%, rgba(20,11,41,.24) 58%, rgba(20,11,41,.72) 84%, #140b29 100%),
            linear-gradient(90deg, rgba(20,11,41,.86) 0%, rgba(20,11,41,.58) 46%, rgba(20,11,41,.24) 100%) !important;
    }

    .olympus-hero__layout {
        display: grid;
        grid-template-columns: minmax(0, .94fr) minmax(300px, 1.06fr);
        gap: 18px;
        align-items: center;
        min-height: 500px;
    }

    .olympus-hero__copy {
        display: block;
        padding: 18px 0 24px;
    }

    .olympus-hero__copy .eyebrow {
        margin: 0 0 14px;
        font-size: .7rem;
        line-height: 1.45;
        letter-spacing: .07em;
    }

    .olympus-hero__title {
        width: 100%;
        margin: 0;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__name {
        width: max-content !important;
        max-width: none !important;
        font-size: clamp(2.25rem, 5vw, 3.05rem) !important;
        line-height: .94 !important;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__edition {
        width: max-content !important;
        max-width: none !important;
        margin-top: -.02em !important;
        font-size: clamp(4rem, 8.3vw, 5.2rem) !important;
        line-height: .84 !important;
    }

    .olympus-hero__lead {
        max-width: 34ch;
        margin: 22px 0 0;
        font-size: .94rem;
        line-height: 1.65;
    }

    .olympus-hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 20px;
    }

    .olympus-hero__actions .button {
        width: 100%;
        min-height: 50px;
        padding: 10px 12px;
        font-size: .78rem;
    }

    .olympus-hero__availability {
        margin-top: 14px;
        font-size: .76rem;
    }

    .olympus-hero__updated {
        margin-top: 4px;
        font-size: .7rem;
    }

    .olympus-hero__art,
    .olympus-hero__layout:has(.olympus-hero__edition) .olympus-hero__art {
        grid-column: auto;
        grid-row: auto;
        justify-self: end;
        align-self: end;
        width: min(42vw, 365px);
        max-width: 365px;
        aspect-ratio: .8;
        margin: 0 -4px 0 0;
    }

    .olympus-hero__zeus {
        right: -2%;
        bottom: 0;
        width: 98%;
        max-height: 100%;
    }

    .olympus-hero__orb {
        left: -4%;
        bottom: 6%;
        width: 29%;
    }

    .olympus-hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 18px 0 0;
        border-radius: 16px;
        overflow: hidden;
    }

    .olympus-hero__facts > div {
        min-height: 88px;
        padding: 15px 18px;
    }

    .olympus-hero__facts > div:nth-child(2) {
        border-right: 0;
    }

    .olympus-hero__facts > div:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }
}

@media (max-width: 640px) {
    .olympus-hero {
        padding: 0 0 16px;
        overflow: hidden;
        background: #140b29;
    }

    .olympus-hero__inner.container {
        width: calc(100% - 28px);
    }

    .olympus-hero__backdrop {
        inset: 0;
        height: 100%;
        bottom: 0;
    }

    .olympus-hero__backdrop > img {
        object-position: 51% top;
        filter: brightness(1.04) saturate(1.07) contrast(1.01) !important;
    }

    .olympus-hero__backdrop::after {
        background:
            linear-gradient(180deg, rgba(20,11,41,.72) 0%, rgba(20,11,41,.24) 18%, rgba(20,11,41,.18) 43%, rgba(20,11,41,.58) 67%, rgba(20,11,41,.90) 87%, #140b29 100%),
            linear-gradient(90deg, rgba(20,11,41,.74) 0%, rgba(20,11,41,.36) 54%, rgba(20,11,41,.18) 100%) !important;
    }

    .olympus-hero__layout {
        display: grid;
        grid-template-columns: repeat(12, minmax(0, 1fr));
        grid-template-rows: auto auto minmax(300px, auto) auto auto auto auto;
        gap: 0;
        align-items: start;
    }

    .olympus-hero__copy {
        display: contents;
    }

    .olympus-hero__copy::before {
        content: none !important;
        display: none !important;
    }

    .olympus-hero__copy .eyebrow {
        grid-column: 1 / -1;
        grid-row: 1;
        margin: 18px 0 10px;
        font-size: .66rem;
        line-height: 1.4;
        letter-spacing: .065em;
    }

    .olympus-hero__title {
        grid-column: 1 / -1;
        grid-row: 2;
        z-index: 3;
        width: 100%;
        margin: 0;
        pointer-events: none;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__name {
        width: max-content !important;
        max-width: none !important;
        font-size: clamp(2.12rem, 9.35vw, 2.65rem) !important;
        line-height: .94 !important;
        letter-spacing: -.05em !important;
        padding-right: .05em !important;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__edition {
        width: max-content !important;
        max-width: none !important;
        margin-top: -.025em !important;
        font-size: clamp(3.7rem, 16.2vw, 4.65rem) !important;
        line-height: .84 !important;
        letter-spacing: -.05em !important;
        padding-right: .04em !important;
    }

    .olympus-hero__art,
    .olympus-hero__layout:has(.olympus-hero__edition) .olympus-hero__art {
        grid-column: 1 / -1;
        grid-row: 3;
        z-index: 2;
        align-self: end;
        justify-self: center;
        width: min(74vw, 310px);
        max-width: 310px;
        aspect-ratio: .79;
        margin: 6px auto 0;
    }

    .olympus-hero__zeus {
        right: -2%;
        bottom: 0;
        width: 99%;
        max-height: 100%;
    }

    .olympus-hero__orb {
        left: -4%;
        bottom: 4%;
        width: 29%;
    }

    .olympus-hero__lead {
        grid-column: 1 / -1;
        grid-row: 4;
        max-width: 34ch;
        margin: 12px 0 0;
        font-size: .92rem;
        line-height: 1.58;
        text-shadow: 0 2px 12px rgba(8,4,18,.32);
    }

    .olympus-hero__actions {
        grid-column: 1 / -1;
        grid-row: 5;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        width: 100%;
        margin-top: 16px;
    }

    .olympus-hero__actions .button {
        width: 100%;
        min-height: 50px;
        padding: 10px 8px;
        font-size: .75rem;
        line-height: 1.2;
    }

    .olympus-hero__availability {
        grid-column: 1 / -1;
        grid-row: 6;
        margin: 13px 0 0;
        font-size: .76rem;
    }

    .olympus-hero__updated {
        grid-column: 1 / -1;
        grid-row: 7;
        margin: 4px 0 0;
        font-size: .69rem;
    }

    .olympus-hero__facts {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        margin: 18px 0 0;
        border-radius: 14px;
        overflow: hidden;
        background: rgba(41,20,68,.94);
        backdrop-filter: blur(8px);
    }

    .olympus-hero__facts > div {
        min-height: 82px;
        padding: 13px 14px;
    }

    .olympus-hero__facts dt {
        font-size: .72rem;
        line-height: 1.3;
    }

    .olympus-hero__facts dd {
        margin-top: 6px;
        font-size: 1.38rem;
    }

    .olympus-hero__facts > div:nth-child(2) {
        border-right: 0;
    }

    .olympus-hero__facts > div:nth-child(-n + 2) {
        border-bottom: 1px solid var(--line);
    }
}

@media (max-width: 420px) {
    .olympus-hero__layout {
        grid-template-rows: auto auto minmax(282px, auto) auto auto auto auto;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__name {
        font-size: clamp(1.98rem, 9.1vw, 2.35rem) !important;
    }

    .olympus-hero .olympus-hero__title > .olympus-hero__edition {
        font-size: clamp(3.42rem, 15.6vw, 4.05rem) !important;
    }

    .olympus-hero__art,
    .olympus-hero__layout:has(.olympus-hero__edition) .olympus-hero__art {
        width: min(72vw, 275px);
        max-width: 275px;
    }

    .olympus-hero__lead {
        margin-top: 10px;
        font-size: .88rem;
        line-height: 1.55;
    }

    .olympus-hero__actions {
        gap: 8px;
    }

    .olympus-hero__actions .button {
        min-height: 48px;
        font-size: .72rem;
    }
}
