/* ROOT START */
:root {
    --graphite: #10262C;
    --graphite-light: #19363D;
    --graphite-soft: #254951;

    --gold: #D5A661;
    --gold-light: #F0D39C;
    --gold-dark: #AC7434;

    --champagne: #F6E9D3;
    --cream: #FFF8EC;
    --white: #FFFFFF;

    --ink: #21323A;
    --text-muted: #657678;
    --text-soft: rgba(255, 255, 255, 0.78);

    --games-color: #693D53;
    --promotions-color: #A56A43;
    --rewards-color: #66527F;
    --dining-color: #365F50;
    --stay-play-color: #367B80;
    --casino-color: #495C72;

    --header-height: 88px;
    --side-width: 112px;
    --mobile-nav-height: 86px;

    --transition: 260ms ease;
}
/* ROOT END */


/* RESET START */
* {
    box-sizing: border-box;
}

html,
body {
    margin: 0;
    padding: 0;
    min-height: 100%;
}

html {
    scroll-behavior: smooth;
}

body {
    min-width: 320px;
    overflow-x: hidden;
    background: var(--graphite);
    color: var(--ink);
    font-family: Arial, Helvetica, sans-serif;
}

img,
svg {
    display: block;
}

button,
a {
    font: inherit;
    -webkit-tap-highlight-color: transparent;
}

button {
    color: inherit;
}

button:focus-visible,
a:focus-visible {
    outline: 3px solid var(--gold-light);
    outline-offset: 3px;
}

[hidden] {
    display: none !important;
}
/* RESET END */


/* HEADER START */
.site-header {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;

    width: 100%;
    height: var(--header-height);

    background: linear-gradient(110deg, #0B1E24, #17373D 55%, #0B1E24);

    border-bottom: 1px solid rgba(240, 211, 156, 0.35);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.22);
}

.header-inner {
    display: flex;
    align-items: center;
    gap: 22px;

    width: calc(100% - 66px);
    max-width: 1900px;
    height: 100%;
    margin: auto;
}
/* HEADER END */


/* HEADER BRAND START */
.site-logo {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 12px;

    margin-right: auto;
    color: var(--champagne);
    text-decoration: none;
}

.logo-mark {
    display: grid;
    place-items: center;
    flex-shrink: 0;

    width: 52px;
    height: 52px;
    color: var(--gold-light);
}

.logo-mark svg {
    width: 100%;
    height: 100%;
}

.logo-copy strong {
    display: block;
    color: var(--cream);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(17px, 1.55vw, 25px);
    font-weight: 400;
    line-height: 1.07;
    white-space: nowrap;
}

.logo-copy em {
    display: block;
    color: var(--gold-light);
    font-style: normal;
}
/* HEADER BRAND END */


/* MAIN NAVIGATION START */
.main-navigation {
    display: flex;
    align-items: center;
    gap: clamp(11px, 1.3vw, 23px);
}

.nav-link {
    position: relative;

    min-height: 44px;
    padding: 10px 0;

    border: 0;
    background: transparent;
    color: rgba(255, 248, 234, 0.83);

    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.055em;
    text-transform: uppercase;
    white-space: nowrap;

    cursor: pointer;
    transition: color var(--transition);
}

.nav-link::after {
    content: "";
    position: absolute;

    left: 0;
    right: 0;
    bottom: 4px;
    height: 2px;

    background: var(--gold-light);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition);
}

.nav-link:hover,
.nav-link.active {
    color: var(--gold-light);
}

.nav-link:hover::after,
.nav-link.active::after {
    transform: scaleX(1);
}

.nav-link:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.nav-link:disabled::after {
    display: none;
}
/* MAIN NAVIGATION END */


/* PLAY BUTTON START */
.play-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 22px;

    min-height: 52px;
    padding: 0 27px;

    border: 1px solid #F2CE91;
    border-radius: 7px;

    background: linear-gradient(135deg, #F1CE91, #CB9957);

    color: #182027;
    text-decoration: none;
    text-transform: uppercase;

    letter-spacing: 0.09em;
    font-size: 11px;
    font-weight: 800;

    box-shadow:
        0 9px 25px rgba(0, 0, 0, 0.23),
        inset 0 1px 0 rgba(255, 255, 255, 0.35);

    transition:
        transform var(--transition),
        box-shadow var(--transition),
        background var(--transition);
}

.play-button:hover {
    background: linear-gradient(135deg, #FFE0A7, #DDA65E);
    transform: translateY(-2px);

    box-shadow:
        0 13px 28px rgba(0, 0, 0, 0.29),
        0 0 20px rgba(232, 198, 138, 0.22);
}

.play-button span {
    font-size: 20px;
    line-height: 1;
}

.header-play {
    flex-shrink: 0;
    min-width: 154px;
}
/* PLAY BUTTON END */


/* SIDE NAVIGATION START */
.side-navigation {
    position: fixed;
    z-index: 90;

    top: var(--header-height);
    left: 0;
    bottom: 0;

    display: flex;
    flex-direction: column;
    width: var(--side-width);

    background: linear-gradient(#102A32, #081B23);
    border-right: 1px solid rgba(232, 198, 138, 0.25);
}

.side-nav-item {
    position: relative;

    display: flex;
    flex: 1;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 6px;

    min-height: 80px;
    padding: 7px 5px;

    border: 0;
    border-bottom: 1px solid rgba(232, 198, 138, 0.16);

    background: transparent;
    color: #F2D5A2;

    cursor: pointer;

    transition:
        background var(--transition),
        color var(--transition);
}

.side-nav-item::before {
    content: "";
    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;
    width: 4px;

    background: var(--gold-light);
    opacity: 0;
    transition: opacity var(--transition);
}

.side-nav-item:hover {
    background: rgba(240, 211, 156, 0.11);
}

.side-nav-item.active {
    color: #FFFFFF;
}

.side-nav-item.active::before {
    opacity: 1;
}

.side-nav-image {
    display: block;
    flex-shrink: 0;

    width: 54px;
    height: 45px;
    overflow: hidden;

    border: 1px solid rgba(240, 211, 156, 0.75);
    border-radius: 8px;

    background: #18323B;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);

    transition:
        transform var(--transition),
        border-color var(--transition);
}

.side-nav-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.side-nav-item:hover .side-nav-image {
    transform: translateY(-2px);
    border-color: #FFF0CD;
}

.side-nav-item.active .side-nav-image {
    border-color: #FFF2C9;
    box-shadow: 0 0 0 2px rgba(240, 211, 156, 0.2);
}

.side-nav-label {
    font-size: 9px;
    font-weight: 800;
    line-height: 1.22;
    letter-spacing: 0.025em;
    text-transform: uppercase;
    text-align: center;
}

.side-nav-item:disabled {
    opacity: 0.35;
    cursor: not-allowed;
}

.side-nav-item:disabled .side-nav-image {
    filter: grayscale(1);
}

.side-nav-item:disabled:hover {
    background: transparent;
}
/* SIDE NAVIGATION END */


/* SIDE NAVIGATION SECTION COLORS START */
.side-nav-item[data-section="games"].active {
    background: var(--games-color);
}

.side-nav-item[data-section="promotions"].active {
    background: var(--promotions-color);
}

.side-nav-item[data-section="rewards"].active {
    background: var(--rewards-color);
}

.side-nav-item[data-section="dining"].active {
    background: var(--dining-color);
}

.side-nav-item[data-section="stay-play"].active {
    background: var(--stay-play-color);
}

.side-nav-item[data-section="casino"].active {
    background: var(--casino-color);
}
/* SIDE NAVIGATION SECTION COLORS END */

/* HERO START */
.hero {
    position: relative;

    display: flex;
    align-items: center;

    min-height: 100svh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);

    overflow: hidden;
    background: #10262C;
}

.hero-background {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    object-position: center center;
}

.hero-overlay {
    position: absolute;
    z-index: 1;
    inset: 0;

    pointer-events: none;

    background:
        linear-gradient(
            90deg,
            rgba(5, 19, 24, 0.97) 0%,
            rgba(5, 19, 24, 0.92) 26%,
            rgba(5, 19, 24, 0.65) 45%,
            rgba(5, 19, 24, 0.06) 78%
        ),
        linear-gradient(
            0deg,
            rgba(5, 19, 24, 0.2),
            transparent 55%
        );
}

.hero-inner {
    position: relative;
    z-index: 2;

    width: 100%;
    padding: 54px 3vw 54px 5vw;
}

.hero-content {
    width: 100%;
    max-width: min(630px, 53%);
}
/* HERO END */


/* HERO TYPOGRAPHY START */
.hero-kicker {
    display: block;
    margin-bottom: 20px;

    color: var(--gold-light);

    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.25em;
    text-transform: uppercase;
}

.hero h1 {
    margin: 0;

    color: var(--cream);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(55px, 5.7vw, 96px);
    font-weight: 400;

    line-height: 0.98;
    letter-spacing: -0.045em;
}

.hero h1 span {
    display: block;
    white-space: nowrap;
}

.hero h1 em {
    display: block;
    color: var(--gold-light);
    font-style: normal;
}

.hero-tagline {
    max-width: 575px;
    margin: 26px 0 0;

    color: var(--gold-light);

    font-size: clamp(13px, 1.14vw, 17px);
    font-weight: 800;

    line-height: 1.5;
    letter-spacing: 0.11em;
    text-transform: uppercase;
}

.hero-description {
    max-width: 575px;
    margin: 20px 0 0;

    color: rgba(255, 248, 234, 0.91);

    font-size: clamp(14px, 1vw, 16px);
    line-height: 1.78;
}
/* HERO TYPOGRAPHY END */


/* HERO BOTTOM START */
.hero-bottom {
    display: flex;
    align-items: center;
    margin-top: 29px;
}

.hero-play {
    min-width: 185px;
    min-height: 56px;
}
/* HERO BOTTOM END */


/* SECTION VISIBILITY START */
body:not(.legal-page) #gamesSection,
body:not(.legal-page) #promotionsSection,
body:not(.legal-page) #rewardsSection,
body:not(.legal-page) #diningSection,
body:not(.legal-page) #stayPlaySection,
body:not(.legal-page) #casinoSection {
    margin-left: var(--side-width);
    min-height: 100svh;
    padding-top: var(--header-height);
}

body:not(.legal-page) #gamesSection[hidden],
body:not(.legal-page) #promotionsSection[hidden],
body:not(.legal-page) #rewardsSection[hidden],
body:not(.legal-page) #diningSection[hidden],
body:not(.legal-page) #stayPlaySection[hidden],
body:not(.legal-page) #casinoSection[hidden] {
    display: none !important;
}
/* SECTION VISIBILITY END */


/* TABLET START */
@media (max-width: 1350px) {
    :root {
        --side-width: 96px;
    }

    .header-inner {
        width: calc(100% - 38px);
        gap: 14px;
    }

    .main-navigation {
        gap: 12px;
    }

    .nav-link {
        font-size: 9px;
        letter-spacing: 0.025em;
    }

    .header-play {
        min-width: 128px;
        padding: 0 14px;
    }

    .hero-content {
        max-width: 60%;
    }

    .hero h1 {
        font-size: clamp(51px, 5.6vw, 82px);
    }
}

@media (max-width: 1100px) {
    .main-navigation {
        display: none;
    }

    .hero-content {
        max-width: 64%;
    }

    .hero-overlay {
        background:
            linear-gradient(
                90deg,
                rgba(5, 19, 24, 0.97),
                rgba(5, 19, 24, 0.83) 48%,
                rgba(5, 19, 24, 0.14)
            );
    }
}
/* TABLET END */


/* MOBILE START */
@media (max-width: 760px) {
    :root {
        --header-height: 70px;
        --side-width: 0px;
        --mobile-nav-height: 86px;
    }

    .header-inner {
        width: calc(100% - 24px);
        gap: 8px;
    }

    .logo-mark {
        width: 38px;
        height: 38px;
    }

    .site-logo {
        gap: 7px;
    }

    .logo-copy strong {
        font-size: clamp(15px, 4.2vw, 19px);
    }

    .header-play {
        min-width: 106px;
        min-height: 43px;
        padding: 0 11px;
        gap: 8px;
        font-size: 10px;
    }

    .side-navigation {
        top: var(--header-height);
        bottom: auto;

        flex-direction: row;

        width: 100%;
        height: var(--mobile-nav-height);

        overflow-x: auto;
        overflow-y: hidden;

        scrollbar-width: none;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;

        background: #0E262D;
    }

    .side-navigation::-webkit-scrollbar {
        display: none;
    }

    .side-nav-item {
        flex: 0 0 84px;
        min-height: var(--mobile-nav-height);

        padding: 7px 3px;
        gap: 4px;

        border-right: 1px solid rgba(232, 198, 138, 0.16);
        border-bottom: 0;

        scroll-snap-align: start;
    }

    .side-nav-image {
        width: 42px;
        height: 39px;
        border-radius: 6px;
    }

    .side-nav-label {
        font-size: 8px;
        letter-spacing: 0;
        line-height: 1.2;
    }

    .side-nav-item::before {
        top: auto;
        right: 0;
        bottom: 0;
        width: auto;
        height: 3px;
    }

    .hero {
        margin-left: 0;
        min-height: 100svh;

        padding-top:
            calc(
                var(--header-height) +
                var(--mobile-nav-height)
            );

        align-items: flex-start;
    }

    .hero-background {
        object-position: 69% center;
    }

    .hero-overlay {
        background:
            linear-gradient(
                180deg,
                rgba(5, 20, 26, 0.92) 0%,
                rgba(5, 20, 26, 0.80) 40%,
                rgba(5, 20, 26, 0.68) 72%,
                rgba(5, 20, 26, 0.52) 100%
            );
    }

    .hero-inner {
        padding: 35px 20px 40px;
    }

    .hero-content {
        max-width: 100%;
    }

    .hero-kicker {
        margin-bottom: 15px;
        font-size: 9px;
        letter-spacing: 0.2em;
    }

    .hero h1 {
        font-size: clamp(41px, 10.4vw, 68px);
        line-height: 1.04;
        letter-spacing: -0.045em;
    }

    .hero h1 span {
        white-space: normal;
    }

    .hero-tagline {
        margin-top: 17px;
        font-size: 12px;
        letter-spacing: 0.07em;
    }

    .hero-description {
        margin-top: 14px;
        font-size: 13.5px;
        line-height: 1.62;
        max-width: 580px;
    }

    .hero-bottom {
        margin-top: 23px;
    }

    .hero-play {
        min-width: 168px;
        min-height: 50px;
    }

    body:not(.legal-page) #gamesSection,
    body:not(.legal-page) #promotionsSection,
    body:not(.legal-page) #rewardsSection,
    body:not(.legal-page) #diningSection,
    body:not(.legal-page) #stayPlaySection,
    body:not(.legal-page) #casinoSection {
        margin-left: 0;

        padding-top:
            calc(
                var(--header-height) +
                var(--mobile-nav-height)
            );
    }
}
/* MOBILE END */


/* SMALL MOBILE START */
@media (max-width: 380px) {
    .header-inner {
        width: calc(100% - 18px);
    }

    .logo-mark {
        width: 33px;
        height: 33px;
    }

    .logo-copy strong {
        font-size: 14px;
    }

    .header-play {
        min-width: 95px;
        padding: 0 9px;
        gap: 5px;
    }

    .header-play span {
        display: none;
    }

    .hero-inner {
        padding: 27px 16px 35px;
    }

    .hero h1 {
        font-size: clamp(39px, 10.6vw, 47px);
    }

    .hero-description {
        font-size: 13px;
    }

    .side-nav-item {
        flex-basis: 80px;
    }
}
/* SMALL MOBILE END */

/* GAMES SECTION START */
.games-section {
    --g-night: #101F32;
    --g-navy: #193650;
    --g-blue: #245878;
    --g-teal: #247D84;
    --g-aqua: #82CDD0;
    --g-copper: #C98559;
    --g-gold: #E6B978;
    --g-sand: #F4E9DA;
    --g-paper: #FFFBF5;
    --g-ink: #213745;
    --g-muted: #5A6D73;

    display: none;
    min-height: 100svh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);
    background: var(--g-sand);
    color: var(--g-ink);
}

.games-section.is-open:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.games-section [hidden] {
    display: none !important;
}

.games-wrap {
    width: calc(100% - 68px);
    max-width: 1460px;
    margin-inline: auto;
}

.games-kicker {
    display: block;
    color: var(--g-aqua);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .17em;
    text-transform: uppercase;
}
/* GAMES SECTION END */


/* GAMES INTRO START */
.games-intro {
    order: 1;
    position: relative;
    overflow: hidden;
    padding: 78px 0 74px;
    background:
        radial-gradient(circle at 88% 20%, rgba(60,158,167,.30), transparent 38%),
        radial-gradient(circle at 4% 100%, rgba(201,133,89,.13), transparent 34%),
        linear-gradient(120deg, #12283D, #1C4863 65%, #205E6B);
    color: #F8F1E6;
}

.games-intro::after {
    content: "";
    position: absolute;
    right: -110px;
    top: -180px;
    width: 480px;
    height: 480px;
    border: 1px solid rgba(130,205,208,.18);
    border-radius: 50%;
    pointer-events: none;
}

.games-intro .games-wrap {
    position: relative;
    z-index: 1;
}

.games-intro h2 {
    max-width: 1000px;
    margin: 16px 0 27px;
    color: #FFF7EC;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(48px, 5vw, 79px);
    font-weight: 400;
    line-height: 1.07;
    letter-spacing: -.045em;
}

.games-intro h2 em {
    display: block;
    color: #93D7D8;
    font-style: normal;
}

.games-intro-lead {
    max-width: 1100px;
    margin: 0 0 27px;
    color: #FFF8EF;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 1.9vw, 27px);
    line-height: 1.55;
}

.games-intro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 40px;
    padding-top: 24px;
    border-top: 1px solid rgba(147,215,216,.3);
}

.games-intro-grid p {
    margin: 0;
    color: rgba(248,241,230,.84);
    font-size: 14px;
    line-height: 1.85;
}
/* GAMES INTRO END */


/* GAMES SELECTOR START */
.games-selector {
    order: 2;
    padding: 66px 0 76px;
    background:
        radial-gradient(circle at 100% 0%, rgba(36,125,132,.1), transparent 36%),
        linear-gradient(135deg, #F6EBDD, #E8E5DF);
}

.games-selector-heading {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr);
    align-items: end;
    gap: 13px 38px;
    margin-bottom: 31px;
}

.games-selector-heading .games-kicker {
    grid-column: 1 / -1;
    color: #207078;
}

.games-selector-heading h3 {
    margin: 0;
    color: var(--g-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 4vw, 62px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.games-selector-heading h3 em {
    display: block;
    color: var(--g-teal);
    font-style: normal;
}

.games-selector-heading p {
    max-width: 450px;
    margin: 0;
    color: var(--g-muted);
    font-size: 14px;
    line-height: 1.8;
}

.games-selector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.games-selector-card {
    position: relative;
    isolation: isolate;
    display: block;
    width: 100%;
    height: 420px;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 2px solid rgba(24,88,108,.5);
    border-radius: 12px;
    background: var(--g-night);
    color: #FFFFFF;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 14px 35px rgba(23,49,67,.17);
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.games-selector-card:hover {
    transform: translateY(-5px);
    border-color: var(--g-copper);
    box-shadow: 0 22px 46px rgba(23,49,67,.25);
}

.games-selector-card.is-active {
    border-color: #E6B978;
    box-shadow: 0 0 0 3px rgba(230,185,120,.32), 0 20px 42px rgba(23,49,67,.24);
}

.games-selector-card:focus-visible {
    outline: 3px solid var(--g-teal);
    outline-offset: 4px;
}

.games-selector-image,
.games-selector-shade {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.games-selector-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.games-selector-card:hover .games-selector-image img {
    transform: scale(1.045);
}

.games-selector-shade {
    pointer-events: none;
    background: linear-gradient(
        0deg,
        rgba(9,23,34,.98) 0%,
        rgba(10,32,46,.82) 34%,
        rgba(10,32,46,.12) 80%
    );
}

.games-selector-content {
    position: absolute;
    z-index: 1;
    left: 29px;
    right: 29px;
    bottom: 27px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.games-selector-content small {
    margin-bottom: 9px;
    color: #98DFDA;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.games-selector-content strong {
    margin-bottom: 13px;
    color: #FFF7ED;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(32px, 3vw, 47px);
    font-weight: 400;
    line-height: 1.1;
}

.games-selector-description {
    max-width: 500px;
    color: rgba(255,248,238,.89);
    font-size: 14px;
    line-height: 1.6;
}

.games-selector-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 23px;
    min-height: 45px;
    margin-top: 20px;
    padding: 10px 17px;
    border: 1px solid #E9C495;
    border-radius: 5px;
    background: linear-gradient(135deg, #F2D3A0, #C98959);
    color: #172B39;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.games-selector-action b {
    font-size: 19px;
    font-weight: 400;
}

.games-selector-card.is-active .games-selector-action {
    background: #FFF6E9;
    border-color: #FFF6E9;
}
/* GAMES SELECTOR END */


/* GAMES CONTENT START */
.games-content-panel {
    display: none;
    order: 3;
    padding: 73px 0 78px;
    border-top: 4px solid var(--g-copper);
    background: linear-gradient(135deg, #FFF9F0, #E7F0EC);
}

.games-content-panel.is-open:not([hidden]) {
    display: block;
}

.games-tables-panel {
    border-top-color: var(--g-teal);
    background: linear-gradient(135deg, #F2F7F4, #E8E7DD);
}

.games-panel-header {
    margin-bottom: 34px;
}

.games-panel-header .games-kicker,
.games-topics-heading .games-kicker,
.games-feature .games-kicker {
    color: #28767A;
}

.games-panel-header h3 {
    max-width: 1120px;
    margin: 13px 0 25px;
    color: var(--g-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(40px, 4.3vw, 66px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.04em;
}

.games-panel-header h3 em {
    display: block;
    color: #207C83;
    font-style: normal;
}

.games-panel-lead {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 37px;
}

.games-panel-lead p {
    margin: 0;
    color: #4C6268;
    font-size: 15px;
    line-height: 1.86;
}
/* GAMES CONTENT END */


/* GAMES FEATURE START */
.games-feature {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    gap: 36px;
    margin: 40px 0 48px;
    padding: 32px;
    border: 1px solid rgba(36,125,132,.3);
    border-left: 5px solid var(--g-copper);
    border-radius: 9px;
    background: #E9F2EE;
}

.games-feature-heading h4 {
    margin: 11px 0 0;
    color: var(--g-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 3vw, 43px);
    font-weight: 400;
    line-height: 1.12;
}

.games-feature-heading h4 em {
    display: block;
    color: var(--g-teal);
    font-style: normal;
}

.games-feature-text p {
    margin: 0 0 15px;
    color: #4B6268;
    font-size: 14px;
    line-height: 1.8;
}

.games-feature-text p:last-child {
    margin-bottom: 0;
}
/* GAMES FEATURE END */


/* GAMES TOPICS START */
.games-topics-heading {
    max-width: 1100px;
    margin: 0 0 26px;
}

.games-topics-heading h4 {
    margin: 10px 0 11px;
    color: var(--g-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(31px, 3.4vw, 49px);
    font-weight: 400;
    line-height: 1.15;
}

.games-topics-heading h4 em {
    color: var(--g-teal);
    font-style: normal;
}

.games-topics-heading p {
    margin: 0;
    color: var(--g-muted);
    font-size: 14px;
    line-height: 1.7;
}

.games-topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 17px;
}

.games-topic {
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(35,103,118,.24);
    border-radius: 8px;
    background: #FFFCF6;
    box-shadow: 0 7px 18px rgba(20,56,65,.07);
}

.games-topic[open] {
    border-color: var(--g-teal);
    box-shadow: 0 13px 30px rgba(20,56,65,.13);
}

.games-topic summary {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 106px;
    padding: 20px 22px;
    list-style: none;
    background: linear-gradient(135deg, #FFFDF7, #E1EEEA);
    color: var(--g-ink);
    cursor: pointer;
    transition: background .2s ease, color .2s ease;
}

.games-topic summary::-webkit-details-marker {
    display: none;
}

.games-topic summary::marker {
    content: "";
}

.games-topic summary:hover {
    background: #D9EFEB;
}

.games-topic[open] summary {
    background: linear-gradient(110deg, #205A70, #247D84);
    color: #FFFFFF;
}

.games-topic-title {
    flex: 1;
    min-width: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 1.85vw, 26px);
    line-height: 1.25;
}

.games-topic-title small {
    display: block;
    margin-top: 7px;
    color: #60777C;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.5;
}

.games-topic[open] .games-topic-title small {
    color: #D7F2EE;
}

.games-topic-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 40px;
    height: 40px;
    border: 1px solid rgba(33,90,112,.25);
    border-radius: 50%;
    background: #20647A;
    color: #FFFFFF;
    font-size: 24px;
    line-height: 1;
}

.games-topic[open] .games-topic-icon {
    background: #E8BE86;
    color: #203B48;
    transform: rotate(45deg);
}

.games-topic-body {
    padding: 25px 27px 28px;
}

.games-topic-body h5 {
    margin: 0 0 16px;
    color: var(--g-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 2vw, 30px);
    font-weight: 400;
    line-height: 1.25;
}

.games-topic-body p {
    margin: 0 0 15px;
    color: #52666D;
    font-size: 14px;
    line-height: 1.83;
}

.games-topic-body p:last-child {
    margin-bottom: 0;
}

.games-rule {
    margin-top: 22px;
    padding: 19px 21px;
    border-left: 4px solid var(--g-copper);
    border-radius: 0 5px 5px 0;
    background: #F1E4D4;
}

.games-rule strong {
    display: block;
    margin-bottom: 8px;
    color: #996243;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.games-rule p {
    margin: 0;
    color: #535D60;
    font-size: 13px;
    line-height: 1.72;
}
/* GAMES TOPICS END */


/* GAMES COMPARISON START */
.games-compare {
    margin-top: 43px;
    padding: 32px;
    border: 1px solid rgba(36,125,132,.24);
    border-radius: 9px;
    background: #DCEAE6;
}

.games-compare .games-kicker {
    color: #286C75;
}

.games-compare h4 {
    margin: 12px 0 26px;
    color: var(--g-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 45px);
    font-weight: 400;
    line-height: 1.13;
}

.games-compare h4 em {
    color: var(--g-teal);
    font-style: normal;
}

.games-compare-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.games-compare-grid-three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.games-compare-grid article {
    min-width: 0;
    padding: 24px;
    border-top: 4px solid var(--g-copper);
    border-radius: 5px;
    background: #FFF9F0;
}

.games-compare-grid article:nth-child(even) {
    border-top-color: var(--g-teal);
}

.games-compare-grid h5 {
    margin: 0 0 15px;
    color: #205E71;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
}

.games-compare-grid p {
    margin: 0 0 11px;
    color: #54676D;
    font-size: 13px;
    line-height: 1.7;
}

.games-compare-grid p:last-child {
    margin-bottom: 0;
}

.games-compare-grid p strong {
    color: #254653;
}

.games-compare-note {
    margin: 18px 0 0;
    color: #5A6D70;
    font-size: 12px;
    line-height: 1.7;
}
/* GAMES COMPARISON END */


/* GAMES FAQ START */
.games-faq {
    order: 4;
    padding: 62px 0 75px;
    background:
        radial-gradient(circle at 90% 10%, rgba(52,139,146,.22), transparent 39%),
        linear-gradient(120deg, #12273A, #1A4860);
}

.games-faq-master {
    display: grid;
    grid-template-columns: 90px minmax(0, 1fr) 45px;
    align-items: center;
    gap: 22px;
    width: 100%;
    min-height: 105px;
    padding: 24px 27px;
    border: 2px solid #E3B980;
    border-radius: 8px;
    background: #F5E9D8;
    color: var(--g-ink);
    text-align: left;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.games-faq-master:hover {
    transform: translateY(-2px);
    background: #FFFAEF;
}

.games-faq-master.is-open {
    background: #FFFAEF;
}

.games-faq-master-label {
    color: #277F85;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.games-faq-master strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 2vw, 30px);
    font-weight: 400;
    line-height: 1.25;
}

.games-faq-master-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--g-teal);
    color: #FFFFFF;
    font-size: 25px;
}

.games-faq-content {
    display: none;
    padding-top: 29px;
}

.games-faq-content.is-open:not([hidden]) {
    display: block;
}

.games-faq-heading {
    margin-bottom: 24px;
}

.games-faq-heading h3 {
    margin: 0 0 10px;
    color: #FFF8ED;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(30px, 3vw, 46px);
    font-weight: 400;
}

.games-faq-heading h3 em {
    color: #95D7D4;
    font-style: normal;
}

.games-faq-heading p {
    margin: 0;
    color: rgba(255,249,239,.83);
    font-size: 14px;
    line-height: 1.7;
}

.games-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 17px;
}

.games-faq-item {
    align-self: start;
    min-width: 0;
    overflow: hidden;
    border: 1px solid rgba(130,205,208,.45);
    border-radius: 7px;
    background: #F6EBDF;
}

.games-faq-item.is-open {
    border-color: #E8BE86;
    background: #FFFBF4;
}

.games-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 19px;
    width: 100%;
    min-height: 90px;
    padding: 20px 22px;
    border: 0;
    background: transparent;
    color: var(--g-ink);
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.55;
    cursor: pointer;
}

.games-faq-question:hover {
    background: rgba(36,125,132,.08);
}

.games-faq-question span {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #216D7C;
    color: #FFFFFF;
    font-size: 23px;
}

.games-faq-answer {
    display: none;
    padding: 0 22px 23px;
}

.games-faq-item.is-open .games-faq-answer {
    display: block;
}

.games-faq-answer p {
    margin: 0;
    padding-top: 16px;
    border-top: 1px solid rgba(36,125,132,.22);
    color: #53676D;
    font-size: 13.5px;
    line-height: 1.8;
}
/* GAMES FAQ END */


/* GAMES TABLET START */
@media (max-width: 1100px) {
    .games-wrap {
        width: calc(100% - 42px);
    }

    .games-selector-card {
        height: 350px;
    }

    .games-feature {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .games-compare-grid-three {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .games-selector-heading {
        grid-template-columns: 1fr;
    }

    .games-selector-heading .games-kicker {
        grid-column: auto;
    }

    .games-panel-lead {
        gap: 20px;
    }
}
/* GAMES TABLET END */


/* GAMES MOBILE START */
@media (max-width: 760px) {
    .games-section {
        margin-left: 0;
        padding-top: calc(var(--header-height) + var(--mobile-nav-height));
    }

    .games-wrap {
        width: calc(100% - 28px);
    }

    /* Actionable categories appear before the introduction on small screens. */
    .games-selector {
        order: 1;
        padding: 24px 0 24px;
    }

    .games-intro {
        order: 2;
        padding: 29px 0 32px;
    }

    .games-selector-heading {
        display: block;
        margin-bottom: 17px;
    }

    .games-selector-heading .games-kicker {
        margin-bottom: 7px;
        font-size: 9px;
    }

    .games-selector-heading h3 {
        font-size: clamp(30px, 7.1vw, 42px);
    }

    .games-selector-heading p {
        display: none;
    }

    .games-selector-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .games-selector-card {
        height: 187px;
        border-radius: 8px;
    }

    .games-selector-shade {
        background: linear-gradient(
            90deg,
            rgba(10,27,39,.97),
            rgba(10,27,39,.82) 56%,
            rgba(10,27,39,.13)
        );
    }

    .games-selector-content {
        top: 12px;
        bottom: 12px;
        left: 17px;
        right: 17px;
        justify-content: center;
        max-width: 80%;
    }

    .games-selector-content small {
        margin-bottom: 6px;
        font-size: 8px;
    }

    .games-selector-content strong {
        margin-bottom: 7px;
        font-size: 28px;
    }

    .games-selector-description {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 11px;
        line-height: 1.45;
    }

    .games-selector-action {
        min-height: 35px;
        margin-top: 10px;
        padding: 7px 11px;
        font-size: 9px;
    }

    .games-intro .games-kicker {
        font-size: 9px;
    }

    .games-intro h2 {
        margin: 11px 0 14px;
        font-size: clamp(32px, 7.8vw, 43px);
    }

    .games-intro-lead {
        margin: 0;
        font-size: 16px;
        line-height: 1.55;
    }

    .games-intro-grid {
        display: none;
    }

    .games-content-panel {
        order: 3;
        padding: 37px 0 50px;
    }

    .games-panel-header {
        margin-bottom: 26px;
    }

    .games-panel-header .games-kicker {
        font-size: 9px;
    }

    .games-panel-header h3 {
        margin: 10px 0 17px;
        font-size: clamp(32px, 7.2vw, 43px);
    }

    .games-panel-lead {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .games-panel-lead p {
        font-size: 13px;
        line-height: 1.75;
    }

    .games-feature {
        margin: 24px 0 33px;
        padding: 20px;
        gap: 15px;
    }

    .games-feature-heading h4 {
        font-size: 30px;
    }

    .games-feature-text p {
        font-size: 13px;
        line-height: 1.75;
    }

    .games-topics-heading {
        margin-bottom: 19px;
    }

    .games-topics-heading h4 {
        font-size: 29px;
    }

    .games-topics-heading p {
        font-size: 12.5px;
    }

    .games-topics {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .games-topic summary {
        min-height: 78px;
        padding: 15px;
        gap: 12px;
    }

    .games-topic-title {
        font-size: 20px;
    }

    .games-topic-title small {
        margin-top: 5px;
        font-size: 10.5px;
    }

    .games-topic-icon {
        width: 33px;
        height: 33px;
    }

    .games-topic-body {
        padding: 20px 18px 22px;
    }

    .games-topic-body h5 {
        font-size: 24px;
    }

    .games-topic-body p {
        font-size: 13px;
        line-height: 1.76;
    }

    .games-rule {
        padding: 16px 17px;
    }

    .games-compare {
        margin-top: 27px;
        padding: 19px;
    }

    .games-compare h4 {
        font-size: 29px;
    }

    .games-compare-grid,
    .games-compare-grid-three {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .games-compare-grid article {
        padding: 17px;
    }

    .games-compare-grid h5 {
        font-size: 21px;
    }

    .games-faq {
        order: 4;
        padding: 40px 0 52px;
    }

    .games-faq-master {
        grid-template-columns: minmax(0, 1fr) 40px;
        gap: 11px;
        min-height: 98px;
        padding: 18px;
    }

    .games-faq-master-label {
        grid-column: 1 / -1;
    }

    .games-faq-master strong {
        font-size: 20px;
    }

    .games-faq-master-icon {
        width: 39px;
        height: 39px;
    }

    .games-faq-heading h3 {
        font-size: 29px;
    }

    .games-faq-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .games-faq-question {
        min-height: 75px;
        padding: 17px;
        font-size: 13px;
    }

    .games-faq-answer {
        padding: 0 17px 19px;
    }
}
/* GAMES MOBILE END */


/* GAMES SMALL MOBILE START */
@media (max-width: 380px) {
    .games-wrap {
        width: calc(100% - 24px);
    }

    .games-selector-heading h3 {
        font-size: 29px;
    }

    .games-selector-card {
        height: 180px;
    }

    .games-selector-content {
        left: 14px;
        right: 14px;
    }

    .games-selector-content strong {
        font-size: 25px;
    }

    .games-selector-description {
        font-size: 10.5px;
    }

    .games-intro h2,
    .games-panel-header h3 {
        font-size: 31px;
    }

    .games-topic-title {
        font-size: 18px;
    }
}
/* GAMES SMALL MOBILE END */

/* PROMOTIONS SECTION START */
.promotions-section {
    --p-dark: #3C2728;
    --p-plum: #603D3B;
    --p-copper: #A9603D;
    --p-amber: #D89450;
    --p-gold: #F1C883;
    --p-cream: #FFF5E5;
    --p-paper: #F5E9DC;
    --p-ink: #412F2C;
    --p-muted: #755F56;

    display: none;
    min-height: 100svh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);
    background: var(--p-paper);
    color: var(--p-ink);
}

.promotions-section.is-open:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.promotions-section [hidden] {
    display: none !important;
}

.promotions-wide {
    width: calc(100% - 64px);
    max-width: 1460px;
    margin-inline: auto;
}

.promotions-kicker {
    display: block;
    color: #EBC38B;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.promotions-section button:focus-visible,
.promotions-section summary:focus-visible {
    outline: 3px solid #F5C477;
    outline-offset: 3px;
}
/* PROMOTIONS SECTION END */


/* PROMOTIONS INTRO START */
.promotions-intro {
    order: 1;
    padding: 75px 0;
    background:
        radial-gradient(circle at 92% 17%, rgba(231,167,87,.2), transparent 35%),
        linear-gradient(125deg, #3C2728, #75443B 58%, #985B3F);
    color: var(--p-cream);
}

.promotions-intro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(290px, .85fr);
    align-items: center;
    gap: 55px;
}

.promotions-intro h2 {
    margin: 14px 0 26px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px, 5vw, 76px);
    font-weight: 400;
    line-height: 1.06;
    letter-spacing: -.045em;
}

.promotions-intro h2 em {
    display: block;
    color: #F1C883;
    font-style: normal;
}

.promotions-intro-lead {
    margin: 0 0 23px;
    color: #FFF6E9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 1.9vw, 27px);
    line-height: 1.53;
}

.promotions-intro-copy > p:not(.promotions-intro-lead) {
    margin: 0 0 18px;
    color: rgba(255,246,233,.87);
    font-size: 14px;
    line-height: 1.82;
}

.promotions-intro-copy > p:last-child {
    margin-bottom: 0;
}

.promotions-intro-image {
    height: 520px;
    margin: 0;
    overflow: hidden;
    border: 4px solid rgba(241,200,131,.5);
    border-radius: 14px;
    background: #342626;
    box-shadow: 0 24px 60px rgba(35,17,17,.35);
}

.promotions-intro-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 64% center;
}
/* PROMOTIONS INTRO END */


/* PROMOTIONS OFFERS START */
.promotions-offers {
    order: 2;
    padding: 62px 0 77px;
    background: linear-gradient(140deg, #F7EEDF, #EBD8C7);
}

.promotions-offers-heading {
    max-width: 1120px;
    margin-bottom: 30px;
}

.promotions-offers-heading .promotions-kicker {
    color: #A25B3B;
}

.promotions-offers-heading h3 {
    margin: 12px 0 14px;
    color: var(--p-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 4.1vw, 63px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.promotions-offers-heading h3 em {
    color: var(--p-copper);
    font-style: normal;
}

.promotions-offers-heading p {
    margin: 0;
    color: var(--p-muted);
    font-size: 14px;
    line-height: 1.75;
}

.promotions-offers-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}
/* PROMOTIONS OFFERS END */


/* PROMOTION ACTIVE CARDS START */
.promotion-selector-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 312px;
    padding: 27px 30px;
    overflow: hidden;
    border: 3px solid #C9824C;
    border-radius: 12px;
    background: linear-gradient(133deg, #69403A, #3A292C);
    color: #FFF8EC;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 13px 27px rgba(77,42,34,.2);
    transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease;
}

.promotion-selector-card:nth-child(2) {
    background: linear-gradient(133deg, #795038, #47302B);
}

.promotion-selector-card:nth-child(3) {
    background: linear-gradient(133deg, #3B6862, #234441);
    border-color: #B98B5D;
}

.promotion-selector-card:nth-child(4) {
    background: linear-gradient(133deg, #64516A, #3B3347);
    border-color: #C29A76;
}

.promotion-selector-card:hover {
    transform: translateY(-5px);
    border-color: #F8D294;
    box-shadow: 0 20px 40px rgba(65,35,29,.29);
}

.promotion-selector-card.is-active {
    border-color: #FFF0BE;
    box-shadow: 0 0 0 3px rgba(241,200,131,.4), 0 18px 40px rgba(65,35,29,.25);
}

.promotion-selector-label {
    display: block;
    color: #F3C98B;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.promotion-selector-amount {
    display: block;
    margin: 22px 0 16px;
}

.promotion-selector-amount strong {
    display: block;
    color: #FFF5E2;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(41px, 4.2vw, 67px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.04em;
}

.promotion-selector-amount small {
    display: block;
    margin-top: 10px;
    color: #F2D3A5;
    font-size: 12px;
    line-height: 1.5;
    font-weight: 700;
}

.promotion-selector-copy {
    display: block;
    max-width: 550px;
    margin-bottom: 20px;
    color: rgba(255,249,240,.9);
    font-size: 13px;
    line-height: 1.65;
}

.promotion-selector-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    min-height: 46px;
    margin-top: auto;
    padding: 11px 16px;
    border: 1px solid #FFDAA2;
    border-radius: 5px;
    background: linear-gradient(135deg, #F6D8A3, #D79B56);
    color: #35252A;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.promotion-selector-action b {
    font-size: 19px;
    font-weight: 400;
}

.promotion-selector-card.is-active .promotion-selector-action {
    background: #FFF9E8;
    border-color: #FFFFFF;
}
/* PROMOTION ACTIVE CARDS END */


/* PROMOTION CONTENT START */
.promotion-content-panel {
    display: none;
    order: 3;
    padding: 67px 0 77px;
    border-top: 5px solid #D29359;
    background: linear-gradient(135deg, #FFF8EE, #EFE4D8);
}

.promotion-content-panel.is-open:not([hidden]) {
    display: block;
}

.promotion-panel-heading {
    margin-bottom: 32px;
}

.promotion-panel-heading .promotions-kicker {
    color: #A35E3D;
}

.promotion-panel-heading h3 {
    margin: 12px 0 25px;
    color: var(--p-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4.2vw, 62px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.promotion-panel-heading h3 em {
    color: #AD6B43;
    font-style: normal;
}

.promotion-panel-intro {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 35px;
}

.promotion-panel-intro p {
    margin: 0;
    color: #66564F;
    font-size: 14px;
    line-height: 1.86;
}

.promotion-tier-grid,
.promotion-value-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 15px;
    margin-bottom: 30px;
}

.promotion-tier,
.promotion-value-row > div {
    padding: 24px;
    border-top: 5px solid var(--p-copper);
    border-radius: 6px;
    background: #FFFDF6;
    box-shadow: 0 7px 22px rgba(68,45,35,.07);
}

.promotion-tier span,
.promotion-value-row span {
    display: block;
    color: #8F664E;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.promotion-tier > strong,
.promotion-value-row strong {
    display: block;
    margin: 10px 0;
    color: #925333;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(35px, 3.5vw, 55px);
    font-weight: 400;
}

.promotion-tier p {
    margin: 0;
    color: #6D5E55;
    font-size: 13px;
    line-height: 1.75;
}

.promotion-value-row {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.promotion-value-row strong {
    font-size: clamp(27px, 2.6vw, 42px);
}

.promotion-step-list {
    display: grid;
    gap: 13px;
    margin-bottom: 29px;
}

.promotion-step {
    display: flex;
    align-items: flex-start;
    gap: 22px;
    padding: 20px 23px;
    border-left: 5px solid #C37F4B;
    border-radius: 5px;
    background: #FFFDF6;
}

.promotion-step > span {
    flex-shrink: 0;
    color: #B67343;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 33px;
}

.promotion-step h4 {
    margin: 0 0 7px;
    color: var(--p-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
}

.promotion-step p {
    margin: 0;
    color: #6B5B52;
    font-size: 13px;
    line-height: 1.75;
}
/* PROMOTION CONTENT END */


/* PROMOTION TOPICS START */
.promotion-topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.promotion-topic {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #AA6C49;
    border-radius: 8px;
    background: #FFF9EF;
    box-shadow: 0 7px 17px rgba(68,45,35,.08);
}

.promotion-topic[open] {
    border-color: #EAB675;
    box-shadow: 0 13px 28px rgba(68,45,35,.17);
}

.promotion-topic summary {
    display: flex;
    align-items: center;
    gap: 17px;
    min-height: 96px;
    padding: 19px 21px;
    list-style: none;
    background: linear-gradient(115deg, #9C5C3E, #71453C);
    color: #FFFFFF;
    cursor: pointer;
    transition: background .2s ease;
}

.promotion-topic summary:hover {
    background: linear-gradient(115deg, #B77748, #845043);
}

.promotion-topic[open] summary {
    background: #402C2D;
}

.promotion-topic summary::-webkit-details-marker {
    display: none;
}

.promotion-topic summary::marker {
    content: "";
}

.promotion-topic summary > span:first-child {
    flex: 1;
    min-width: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.8vw, 25px);
    line-height: 1.25;
}

.promotion-topic summary small {
    display: block;
    margin-top: 7px;
    color: #F9D8B5;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11.5px;
    line-height: 1.4;
}

.promotion-topic summary b {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    background: #F5CB87;
    color: #412A2C;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1;
}

.promotion-topic[open] summary b {
    background: #FFF0C7;
    transform: rotate(45deg);
}

.promotion-topic-body {
    padding: 25px 27px 29px;
}

.promotion-topic-body h4 {
    margin: 0 0 15px;
    color: var(--p-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
}

.promotion-topic-body p {
    margin: 0 0 15px;
    color: #6A5B53;
    font-size: 14px;
    line-height: 1.8;
}

.promotion-topic-body p:last-child {
    margin-bottom: 0;
}
/* PROMOTION TOPICS END */


/* PROMOTIONS FAQ START */
.promotions-faq {
    order: 4;
    padding: 60px 0 75px;
    background: linear-gradient(115deg, #563633, #8A5139);
}

.promotions-faq-master {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr) 46px;
    align-items: center;
    gap: 22px;
    width: 100%;
    min-height: 110px;
    padding: 24px 27px;
    border: 2px solid #F0BF7F;
    border-radius: 9px;
    background: #F5E5D0;
    color: #4B302C;
    text-align: left;
    cursor: pointer;
}

.promotions-faq-master:hover,
.promotions-faq-master.is-open {
    background: #FFFAED;
}

.promotions-faq-label {
    color: #986342;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.promotions-faq-master strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 2.1vw, 31px);
    font-weight: 400;
    line-height: 1.2;
}

.promotions-faq-master > b {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #935537;
    color: #FFFFFF;
    font-size: 25px;
    font-weight: 400;
}

.promotions-faq-content {
    display: none;
    padding-top: 28px;
}

.promotions-faq-content.is-open:not([hidden]) {
    display: block;
}

.promotions-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.promotions-faq-item {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #C78959;
    border-radius: 7px;
    background: #FFF8EE;
}

.promotions-faq-item.is-open {
    border-color: #FFCF86;
    background: #FFFDF7;
}

.promotions-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    min-height: 86px;
    padding: 20px;
    border: 0;
    background: #764639;
    color: #FFFFFF;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
}

.promotions-faq-question:hover {
    background: #92573D;
}

.promotions-faq-item.is-open .promotions-faq-question {
    background: #49302F;
}

.promotions-faq-question span {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 37px;
    height: 37px;
    border-radius: 50%;
    background: #F2C887;
    color: #3C292B;
    font-size: 24px;
}

.promotions-faq-answer {
    display: none;
    padding: 20px 22px 23px;
}

.promotions-faq-item.is-open .promotions-faq-answer {
    display: block;
}

.promotions-faq-answer p {
    margin: 0;
    color: #62544E;
    font-size: 13.5px;
    line-height: 1.8;
}
/* PROMOTIONS FAQ END */


/* PROMOTIONS TABLET START */
@media (max-width: 1100px) {
    .promotions-wide {
        width: calc(100% - 42px);
    }

    .promotions-intro-layout {
        grid-template-columns: 1fr;
    }

    .promotions-intro-image {
        height: 320px;
    }

    .promotion-value-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
/* PROMOTIONS TABLET END */


/* PROMOTIONS MOBILE START */
@media (max-width: 760px) {
    .promotions-section {
        margin-left: 0;
        padding-top: calc(var(--header-height) + var(--mobile-nav-height));
    }

    .promotions-wide {
        width: calc(100% - 28px);
    }

    /* Active offers and their values appear before the editorial introduction. */
    .promotions-offers {
        order: 1;
        padding: 24px 0 28px;
    }

    .promotions-intro {
        order: 2;
        padding: 30px 0 34px;
    }

    .promotions-offers-heading {
        margin-bottom: 18px;
    }

    .promotions-offers-heading .promotions-kicker {
        font-size: 9px;
    }

    .promotions-offers-heading h3 {
        margin: 8px 0 0;
        font-size: clamp(29px, 7.4vw, 39px);
    }

    .promotions-offers-heading p {
        display: none;
    }

    .promotions-offers-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .promotion-selector-card {
        min-height: 0;
        padding: 16px 19px;
        border-width: 2px;
        border-radius: 9px;
    }

    .promotion-selector-label {
        font-size: 9px;
    }

    .promotion-selector-amount {
        margin: 9px 0 10px;
    }

    .promotion-selector-amount strong {
        font-size: clamp(37px, 9.4vw, 49px);
    }

    .promotion-selector-amount small {
        margin-top: 5px;
        font-size: 10.5px;
    }

    .promotion-selector-copy {
        display: none;
    }

    .promotion-selector-action {
        min-height: 35px;
        margin-top: 4px;
        padding: 7px 11px;
        font-size: 9px;
    }

    .promotions-intro h2 {
        margin: 10px 0 16px;
        font-size: clamp(34px, 8vw, 45px);
    }

    .promotions-intro-lead {
        margin-bottom: 0;
        font-size: 17px;
        line-height: 1.55;
    }

    .promotions-intro-copy > p:not(.promotions-intro-lead),
    .promotions-intro-image {
        display: none;
    }

    .promotion-content-panel {
        order: 3;
        padding: 36px 0 50px;
    }

    .promotion-panel-heading h3 {
        margin: 10px 0 19px;
        font-size: clamp(31px, 7.4vw, 42px);
    }

    .promotion-panel-intro,
    .promotion-topics,
    .promotions-faq-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .promotion-panel-intro p {
        font-size: 13px;
        line-height: 1.75;
    }

    .promotion-tier-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .promotion-tier,
    .promotion-value-row > div {
        padding: 17px;
    }

    .promotion-tier > strong,
    .promotion-value-row strong {
        font-size: 37px;
    }

    .promotion-value-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .promotion-step {
        gap: 14px;
        padding: 16px;
    }

    .promotion-step > span {
        font-size: 29px;
    }

    .promotion-step h4 {
        font-size: 21px;
    }

    .promotion-topic summary {
        min-height: 78px;
        padding: 15px;
        gap: 12px;
    }

    .promotion-topic summary > span:first-child {
        font-size: 19px;
    }

    .promotion-topic summary small {
        font-size: 10.5px;
    }

    .promotion-topic summary b {
        width: 35px;
        height: 35px;
    }

    .promotion-topic-body {
        padding: 19px;
    }

    .promotion-topic-body p {
        font-size: 13px;
        line-height: 1.76;
    }

    .promotions-faq {
        order: 4;
        padding: 39px 0 53px;
    }

    .promotions-faq-master {
        grid-template-columns: 1fr 39px;
        gap: 11px;
        padding: 18px;
        min-height: 96px;
    }

    .promotions-faq-label {
        grid-column: 1 / -1;
    }

    .promotions-faq-master strong {
        font-size: 20px;
    }

    .promotions-faq-master > b {
        width: 39px;
        height: 39px;
    }

    .promotions-faq-question {
        min-height: 75px;
        padding: 16px;
        font-size: 13px;
    }
}
/* PROMOTIONS MOBILE END */


/* PROMOTIONS SMALL MOBILE START */
@media (max-width: 380px) {
    .promotions-wide {
        width: calc(100% - 24px);
    }

    .promotions-offers-heading h3 {
        font-size: 29px;
    }

    .promotion-selector-card {
        padding: 15px 16px;
    }

    .promotion-selector-amount strong {
        font-size: 37px;
    }

    .promotion-panel-heading h3 {
        font-size: 31px;
    }

    .promotion-topic summary > span:first-child {
        font-size: 18px;
    }
}
/* PROMOTIONS SMALL MOBILE END */

/* REWARDS SECTION START */
.rewards-section {
    --r-ink: #32233F;
    --r-deep: #24152F;
    --r-plum: #4C2B60;
    --r-amethyst: #765393;
    --r-orchid: #B99BD4;
    --r-lilac: #E8DBF1;
    --r-ivory: #FFF9F2;
    --r-gold: #E7BF79;
    --r-muted: #6D6077;

    display: none;
    min-height: 100svh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);
    background: #EFE7F3;
    color: var(--r-ink);
}

.rewards-section.is-open:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.rewards-section [hidden] {
    display: none !important;
}

.rewards-wide {
    width: calc(100% - 64px);
    max-width: 1460px;
    margin-inline: auto;
}

.rewards-kicker,
.rewards-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.rewards-section button:focus-visible,
.rewards-section summary:focus-visible {
    outline: 3px solid #F1CA83;
    outline-offset: 4px;
}
/* REWARDS SECTION END */


/* REWARDS HERO START */
.rewards-hero {
    position: relative;
    order: 1;
    isolation: isolate;
    display: flex;
    align-items: center;
    min-height: 650px;
    overflow: hidden;
    background: #24152F;
    color: #FFF9F2;
}

.rewards-hero-image,
.rewards-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.rewards-hero-image {
    z-index: -2;
    object-fit: cover;
    object-position: center;
}

.rewards-hero-overlay {
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(25,11,39,.96) 0%,
        rgba(29,14,43,.92) 25%,
        rgba(39,18,54,.66) 46%,
        rgba(39,18,54,.07) 76%
    );
}

.rewards-hero-copy {
    width: min(650px, 52%);
    padding: 78px 0;
}

.rewards-kicker {
    color: #EFC98A;
}

.rewards-hero h2 {
    margin: 17px 0 23px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(46px, 4.8vw, 74px);
    font-weight: 400;
    line-height: 1.07;
    letter-spacing: -.045em;
}

.rewards-hero h2 em {
    display: block;
    color: #E9BEF2;
    font-style: normal;
}

.rewards-hero-lead {
    margin: 0 0 19px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.8vw, 26px);
    line-height: 1.55;
}

.rewards-hero-text {
    margin: 0;
    color: rgba(255,249,242,.85);
    font-size: 14px;
    line-height: 1.82;
}
/* REWARDS HERO END */


/* REWARDS PROGRAMS START */
.rewards-programs {
    order: 2;
    padding: 67px 0 76px;
    background:
        radial-gradient(circle at 88% 12%, rgba(185,155,212,.24), transparent 37%),
        linear-gradient(135deg, #F5ECF6, #E5D8EB);
}

.rewards-section-heading {
    max-width: 1120px;
    margin-bottom: 31px;
}

.rewards-section-heading .rewards-eyebrow {
    color: #78509A;
}

.rewards-section-heading h3 {
    margin: 12px 0 17px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4.2vw, 62px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.rewards-section-heading h3 em {
    color: #7C4F98;
    font-style: normal;
}

.rewards-section-heading p {
    margin: 0;
    color: var(--r-muted);
    font-size: 14px;
    line-height: 1.75;
}

.rewards-selector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 19px;
}
/* REWARDS PROGRAMS END */


/* REWARDS INTERACTIVE BUTTONS START */
.rewards-program-button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 285px;
    padding: 29px;
    border: 3px solid #B896D2;
    border-radius: 13px;
    background: linear-gradient(130deg, #704C89, #3F2858);
    color: #FFFFFF;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 15px 32px rgba(58,35,73,.2);
    transition: transform .23s ease, box-shadow .23s ease, border-color .23s ease;
}

.rewards-program-button:nth-child(2) {
    background: linear-gradient(130deg, #64427D, #2F214C);
}

.rewards-program-button:nth-child(3) {
    background: linear-gradient(130deg, #865B85, #503457);
}

.rewards-program-button:nth-child(4) {
    background: linear-gradient(130deg, #493A81, #2A2353);
}

.rewards-program-button:hover {
    transform: translateY(-4px);
    border-color: #F1C987;
    box-shadow: 0 22px 40px rgba(58,35,73,.3);
}

.rewards-program-button.is-active {
    border-color: #FFE5AD;
    box-shadow: 0 0 0 3px rgba(231,191,121,.38), 0 20px 40px rgba(58,35,73,.27);
}

.rewards-program-tag {
    display: block;
    margin-bottom: 15px;
    color: #E9C98F;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.rewards-program-button > strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(29px, 3vw, 44px);
    font-weight: 400;
    line-height: 1.14;
}

.rewards-program-feature {
    display: block;
    margin-top: 11px;
    color: #E9C6F6;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(17px, 1.7vw, 23px);
    line-height: 1.35;
}

.rewards-program-description {
    display: block;
    max-width: 560px;
    margin-top: 13px;
    color: rgba(255,249,242,.87);
    font-size: 13px;
    line-height: 1.65;
}

.rewards-program-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    min-height: 44px;
    margin-top: auto;
    padding: 11px 16px;
    border: 1px solid #F2D5A2;
    border-radius: 6px;
    background: linear-gradient(135deg, #F3D6A5, #D9A366);
    color: #33253F;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.rewards-program-action b {
    font-size: 19px;
    font-weight: 400;
}

.rewards-program-button.is-active .rewards-program-action {
    background: #FFF6E5;
    border-color: #FFFFFF;
}
/* REWARDS INTERACTIVE BUTTONS END */


/* REWARDS CONTENT START */
.rewards-content-panel {
    display: none;
    order: 3;
    padding: 68px 0 78px;
    border-top: 5px solid #B287CF;
    background: linear-gradient(135deg, #FFF9F2, #EBE2F1);
}

.rewards-content-panel.is-open:not([hidden]) {
    display: block;
}

.rewards-panel-heading {
    max-width: 1180px;
    margin-bottom: 31px;
}

.rewards-panel-heading .rewards-eyebrow {
    color: #7E5599;
}

.rewards-panel-heading h3 {
    margin: 12px 0 21px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(36px, 4vw, 61px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.rewards-panel-heading h3 em {
    color: #8151A2;
    font-style: normal;
}

.rewards-panel-heading > p {
    margin: 0;
    color: #62566A;
    font-size: 15px;
    line-height: 1.8;
}

.rewards-topic-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}
/* REWARDS CONTENT END */


/* REWARDS LEVELS START */
.rewards-levels {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 30px;
}

.rewards-level {
    min-width: 0;
    padding: 20px 17px;
    border-top: 5px solid #8668A5;
    border-radius: 6px;
    background: #FFFFFF;
    box-shadow: 0 7px 18px rgba(53,34,64,.08);
}

.rewards-level:nth-child(2) { border-top-color: #9C9BAA; }
.rewards-level:nth-child(3) { border-top-color: #C69B50; }
.rewards-level:nth-child(4) { border-top-color: #7352A3; }
.rewards-level:nth-child(5) { border-top-color: #44305F; }

.rewards-level-name {
    display: block;
    margin-bottom: 11px;
    color: #785496;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
}

.rewards-level > strong {
    display: block;
    margin-bottom: 11px;
    color: #3D2D4B;
    font-size: 12px;
    line-height: 1.4;
}

.rewards-level p {
    margin: 0;
    color: #6F6478;
    font-size: 12px;
    line-height: 1.65;
}
/* REWARDS LEVELS END */


/* REWARDS POINTS START */
.rewards-points-guide {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 30px;
    margin-bottom: 30px;
    padding: 29px;
    border: 1px solid #BFA3D2;
    border-radius: 10px;
    background: #F1E8F4;
}

.rewards-points-guide .rewards-eyebrow {
    color: #80589A;
}

.rewards-points-copy h4 {
    margin: 11px 0 17px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 3vw, 42px);
    font-weight: 400;
}

.rewards-points-copy p {
    margin: 0 0 13px;
    color: #665D6B;
    font-size: 13px;
    line-height: 1.77;
}

.rewards-points-rates {
    display: grid;
    gap: 11px;
}

.rewards-points-rates > div {
    display: grid;
    grid-template-columns: 100px 1fr;
    gap: 5px 12px;
    align-items: center;
    padding: 14px 18px;
    border-left: 5px solid #9672AE;
    border-radius: 5px;
    background: #FFFFFF;
}

.rewards-points-rates strong {
    grid-row: 1 / 3;
    color: #745097;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 37px;
    font-weight: 400;
}

.rewards-points-rates span {
    color: #41334B;
    font-weight: 800;
    font-size: 13px;
}

.rewards-points-rates small {
    color: #74697A;
    font-size: 11px;
}
/* REWARDS POINTS END */


/* REWARDS TOPICS START */
.rewards-topic {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #9066AB;
    border-radius: 8px;
    background: #FFFDF8;
}

.rewards-topic[open] {
    border-color: #D7B179;
    box-shadow: 0 13px 26px rgba(49,29,61,.16);
}

.rewards-topic summary {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 95px;
    padding: 18px 20px;
    list-style: none;
    cursor: pointer;
    background: linear-gradient(125deg, #735092, #4C3266);
    color: #FFFFFF;
}

.rewards-topic summary:hover {
    background: linear-gradient(125deg, #9366AC, #5D397D);
}

.rewards-topic[open] summary {
    background: #33243F;
}

.rewards-topic summary::-webkit-details-marker {
    display: none;
}

.rewards-topic summary::marker {
    content: "";
}

.rewards-topic summary > span {
    flex: 1;
    min-width: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.8vw, 25px);
    line-height: 1.25;
}

.rewards-topic summary small {
    display: block;
    margin-top: 7px;
    color: #ECD7F6;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.45;
}

.rewards-topic summary b {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    background: #F1CD91;
    color: #3F2C4A;
    font-size: 24px;
    font-weight: 400;
}

.rewards-topic[open] summary b {
    background: #FFF0C4;
    transform: rotate(45deg);
}

.rewards-topic-body {
    padding: 23px 25px 27px;
}

.rewards-topic-body h4 {
    margin: 0 0 15px;
    color: #3D2F48;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(22px, 2vw, 29px);
    font-weight: 400;
}

.rewards-topic-body p {
    margin: 0 0 15px;
    color: #665B6B;
    font-size: 14px;
    line-height: 1.82;
}

.rewards-topic-body p:last-child {
    margin-bottom: 0;
}
/* REWARDS TOPICS END */


/* REWARDS FAQ START */
.rewards-faq {
    order: 4;
    padding: 62px 0 76px;
    background: linear-gradient(120deg, #2B1937, #654180);
}

.rewards-faq-master {
    display: grid;
    grid-template-columns: 100px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 22px;
    width: 100%;
    min-height: 104px;
    padding: 23px 27px;
    border: 2px solid #E9C389;
    border-radius: 9px;
    background: #F4E8F2;
    color: #3C2A49;
    text-align: left;
    cursor: pointer;
}

.rewards-faq-master:hover,
.rewards-faq-master.is-open {
    background: #FFF9F1;
}

.rewards-faq-master > span {
    color: #79519B;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
    text-transform: uppercase;
}

.rewards-faq-master strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 2vw, 30px);
    font-weight: 400;
}

.rewards-faq-master > b {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: #765193;
    color: #FFFFFF;
    font-size: 25px;
    font-weight: 400;
}

.rewards-faq-content {
    display: none;
    padding-top: 28px;
}

.rewards-faq-content.is-open:not([hidden]) {
    display: block;
}

.rewards-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.rewards-faq-item {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #A77ABF;
    border-radius: 7px;
    background: #FFF9F2;
}

.rewards-faq-item.is-open {
    border-color: #F2CA8E;
}

.rewards-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    width: 100%;
    min-height: 84px;
    padding: 18px 20px;
    border: 0;
    background: #5C3A76;
    color: #FFFFFF;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    text-align: left;
    cursor: pointer;
}

.rewards-faq-question:hover,
.rewards-faq-item.is-open .rewards-faq-question {
    background: #362445;
}

.rewards-faq-question span {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #EBC48B;
    color: #35233F;
    font-size: 22px;
}

.rewards-faq-answer {
    display: none;
    padding: 18px 21px 23px;
}

.rewards-faq-item.is-open .rewards-faq-answer {
    display: block;
}

.rewards-faq-answer p {
    margin: 0;
    color: #63576B;
    font-size: 13px;
    line-height: 1.8;
}
/* REWARDS FAQ END */


/* REWARDS TABLET START */
@media (max-width: 1100px) {
    .rewards-wide {
        width: calc(100% - 42px);
    }

    .rewards-hero {
        min-height: 550px;
    }

    .rewards-hero-copy {
        width: min(600px, 63%);
    }

    .rewards-levels {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rewards-points-guide {
        grid-template-columns: 1fr;
    }
}
/* REWARDS TABLET END */


/* REWARDS MOBILE START */
@media (max-width: 760px) {
    .rewards-section {
        margin-left: 0;
        padding-top: calc(var(--header-height) + var(--mobile-nav-height));
    }

    .rewards-wide {
        width: calc(100% - 28px);
    }

    /* Membership actions appear first on mobile. */
    .rewards-programs {
        order: 1;
        padding: 23px 0 27px;
    }

    .rewards-hero {
        order: 2;
        min-height: 260px;
        align-items: flex-end;
    }

    .rewards-hero-image {
        object-position: 70% center;
    }

    .rewards-hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(29,13,43,.95),
            rgba(29,13,43,.76) 56%,
            rgba(29,13,43,.1)
        );
    }

    .rewards-hero-copy {
        width: 100%;
        padding: 26px 0;
    }

    .rewards-hero h2 {
        max-width: 320px;
        margin: 9px 0 12px;
        font-size: clamp(30px, 7.8vw, 41px);
    }

    .rewards-hero-lead {
        max-width: 325px;
        margin: 0;
        font-size: 14px;
        line-height: 1.5;
    }

    .rewards-hero-text {
        display: none;
    }

    .rewards-section-heading {
        margin-bottom: 17px;
    }

    .rewards-section-heading .rewards-eyebrow {
        font-size: 9px;
    }

    .rewards-section-heading h3 {
        margin: 7px 0 0;
        font-size: clamp(28px, 7vw, 39px);
    }

    .rewards-section-heading p {
        display: none;
    }

    .rewards-selector-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .rewards-program-button {
        min-height: 0;
        padding: 16px 18px;
        border-width: 2px;
        border-radius: 9px;
    }

    .rewards-program-tag {
        margin-bottom: 6px;
        font-size: 9px;
    }

    .rewards-program-button > strong {
        font-size: 27px;
    }

    .rewards-program-feature {
        margin-top: 5px;
        font-size: 16px;
    }

    .rewards-program-description {
        display: none;
    }

    .rewards-program-action {
        min-height: 35px;
        margin-top: 11px;
        padding: 7px 11px;
        font-size: 9px;
    }

    .rewards-content-panel {
        order: 3;
        padding: 36px 0 50px;
    }

    .rewards-panel-heading {
        margin-bottom: 22px;
    }

    .rewards-panel-heading h3 {
        margin: 10px 0 15px;
        font-size: clamp(31px, 7.2vw, 42px);
    }

    .rewards-panel-heading > p {
        font-size: 13px;
        line-height: 1.75;
    }

    .rewards-topic-grid,
    .rewards-faq-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .rewards-topic summary {
        min-height: 78px;
        padding: 15px;
        gap: 12px;
    }

    .rewards-topic summary > span {
        font-size: 19px;
    }

    .rewards-topic summary small {
        font-size: 10.5px;
    }

    .rewards-topic summary b {
        width: 35px;
        height: 35px;
    }

    .rewards-topic-body {
        padding: 19px;
    }

    .rewards-topic-body p {
        font-size: 13px;
        line-height: 1.75;
    }

    .rewards-levels {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .rewards-level {
        padding: 15px;
    }

    .rewards-level-name {
        font-size: 20px;
    }

    .rewards-points-guide {
        padding: 18px;
        gap: 18px;
    }

    .rewards-points-copy h4 {
        font-size: 30px;
    }

    .rewards-points-rates > div {
        grid-template-columns: 75px 1fr;
        padding: 13px;
    }

    .rewards-points-rates strong {
        font-size: 30px;
    }

    .rewards-faq {
        order: 4;
        padding: 39px 0 52px;
    }

    .rewards-faq-master {
        grid-template-columns: 1fr 40px;
        gap: 11px;
        min-height: 96px;
        padding: 17px;
    }

    .rewards-faq-master > span {
        grid-column: 1 / -1;
    }

    .rewards-faq-master strong {
        font-size: 20px;
    }

    .rewards-faq-master > b {
        width: 39px;
        height: 39px;
    }

    .rewards-faq-question {
        min-height: 75px;
        padding: 16px;
        font-size: 13px;
    }
}
/* REWARDS MOBILE END */


/* REWARDS SMALL MOBILE START */
@media (max-width: 380px) {
    .rewards-wide {
        width: calc(100% - 24px);
    }

    .rewards-section-heading h3 {
        font-size: 28px;
    }

    .rewards-program-button > strong {
        font-size: 25px;
    }

    .rewards-program-feature {
        font-size: 14px;
    }

    .rewards-hero h2,
    .rewards-panel-heading h3 {
        font-size: 30px;
    }

    .rewards-levels {
        grid-template-columns: 1fr;
    }

    .rewards-topic summary > span {
        font-size: 18px;
    }
}
/* REWARDS SMALL MOBILE END */

/* DINING SECTION START */
.dining-section {
    --dn-forest: #173B32;
    --dn-dark: #102A26;
    --dn-green: #306F56;
    --dn-sage: #DDE9D7;
    --dn-leaf: #B9D47B;
    --dn-gold: #F0D09A;
    --dn-cream: #FFF9ED;
    --dn-ink: #263E35;
    --dn-muted: #587065;

    display: none;
    min-height: 100svh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);
    background: #EEF2E5;
    color: var(--dn-ink);
}

.dining-section.is-open:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.dining-section [hidden] {
    display: none !important;
}

.dining-wide {
    width: calc(100% - 64px);
    max-width: 1460px;
    margin-inline: auto;
}

.dining-kicker,
.dining-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.dining-section button:focus-visible,
.dining-section summary:focus-visible {
    outline: 3px solid #F3CD82;
    outline-offset: 4px;
}
/* DINING SECTION END */


/* DINING HERO START */
.dining-hero {
    position: relative;
    isolation: isolate;
    order: 1;
    display: flex;
    align-items: center;
    min-height: 600px;
    overflow: hidden;
    background: var(--dn-dark);
    color: #FFF9ED;
}

.dining-hero-image,
.dining-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.dining-hero-image {
    z-index: -2;
    object-fit: cover;
    object-position: center;
}

.dining-hero-overlay {
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(12,34,27,.97) 0%,
        rgba(15,41,31,.91) 31%,
        rgba(18,51,39,.56) 56%,
        rgba(18,51,39,.08) 100%
    );
}

.dining-hero-copy {
    max-width: 730px;
    padding: 70px 0;
}

.dining-kicker {
    color: #D6E69B;
}

.dining-hero h2 {
    margin: 17px 0 24px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(45px, 4.8vw, 74px);
    font-weight: 400;
    line-height: 1.07;
    letter-spacing: -.045em;
}

.dining-hero h2 em {
    display: block;
    color: var(--dn-leaf);
    font-style: normal;
}

.dining-hero-lead {
    margin: 0 0 20px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.7vw, 25px);
    line-height: 1.55;
}

.dining-hero-text {
    margin: 0;
    color: rgba(255,249,237,.88);
    font-size: 14px;
    line-height: 1.83;
}
/* DINING HERO END */


/* DINING SELECTOR START */
.dining-selector {
    order: 2;
    padding: 65px 0 76px;
    background: linear-gradient(135deg, #E6EEDB, #F5F0DF);
}

.dining-selector-heading {
    max-width: 1100px;
    margin-bottom: 28px;
}

.dining-selector-heading .dining-eyebrow {
    color: #477B4D;
}

.dining-selector-heading h3 {
    margin: 11px 0 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 4.1vw, 63px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.dining-selector-heading h3 em {
    color: var(--dn-green);
    font-style: normal;
}

.dining-selector-heading p {
    margin: 0;
    color: var(--dn-muted);
    font-size: 14px;
    line-height: 1.75;
}

.dining-selector-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 21px;
}

.dining-selector-card {
    position: relative;
    isolation: isolate;
    display: block;
    width: 100%;
    height: 390px;
    min-width: 0;
    padding: 0;
    overflow: hidden;
    border: 3px solid #B6CB85;
    border-radius: 12px;
    background: #1E4434;
    color: #FFFFFF;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 15px 32px rgba(28,64,42,.2);
    transition: transform .24s ease, border-color .24s ease, box-shadow .24s ease;
}

.dining-selector-card:hover {
    transform: translateY(-5px);
    border-color: #F4D89B;
    box-shadow: 0 23px 43px rgba(28,64,42,.28);
}

.dining-selector-card.is-active {
    border-color: #FFF0BF;
    box-shadow: 0 0 0 3px rgba(218,234,153,.4), 0 20px 39px rgba(28,64,42,.27);
}

.dining-selector-image {
    position: absolute;
    inset: 0;
    display: block;
}

.dining-selector-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .45s ease;
}

.dining-selector-card:hover img {
    transform: scale(1.05);
}

.dining-selector-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(
        0deg,
        rgba(10,35,25,.97) 0%,
        rgba(10,35,25,.80) 37%,
        rgba(10,35,25,.06) 85%
    );
}

.dining-selector-card-nova::after {
    background: linear-gradient(
        0deg,
        rgba(17,31,29,.98) 0%,
        rgba(17,31,29,.83) 37%,
        rgba(17,31,29,.09) 85%
    );
}

.dining-selector-content {
    position: absolute;
    z-index: 2;
    left: 27px;
    right: 27px;
    bottom: 25px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.dining-selector-content small {
    margin-bottom: 9px;
    color: #DDE89E;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dining-selector-content strong {
    margin-bottom: 11px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 2.7vw, 43px);
    font-weight: 400;
    line-height: 1.13;
}

.dining-selector-description {
    max-width: 500px;
    color: rgba(255,249,238,.9);
    font-size: 13px;
    line-height: 1.6;
}

.dining-selector-action {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    min-height: 44px;
    margin-top: 18px;
    padding: 10px 16px;
    border: 1px solid #F5E7AD;
    border-radius: 6px;
    background: linear-gradient(135deg, #DDE99D, #B5D173);
    color: #1B3C2A;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.dining-selector-action b {
    font-size: 19px;
    font-weight: 400;
}

.dining-selector-card.is-active .dining-selector-action {
    background: #FFF9E7;
    border-color: #FFFFFF;
}
/* DINING SELECTOR END */


/* DINING INTRO START */
.dining-intro {
    order: 3;
    padding: 62px 0 71px;
    background: linear-gradient(135deg, #F9F6EA, #DCEBDD);
}

.dining-intro .dining-eyebrow {
    color: #557D51;
}

.dining-intro h3 {
    margin: 12px 0 26px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(37px, 4vw, 61px);
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: -.04em;
}

.dining-intro h3 em {
    color: var(--dn-green);
    font-style: normal;
}

.dining-intro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
}

.dining-intro-grid p {
    margin: 0;
    color: #52675A;
    font-size: 14px;
    line-height: 1.85;
}
/* DINING INTRO END */


/* DINING CONTENT PANELS START */
.dining-content-panel {
    display: none;
    order: 4;
    padding: 67px 0 76px;
    border-top: 5px solid #ADC980;
    background: linear-gradient(135deg, #FFF9EC, #E6EFDF);
}

.dining-content-panel.is-open:not([hidden]) {
    display: block;
}

#novaDiningPanel {
    background: linear-gradient(135deg, #F4F3E8, #DCE9DB);
}

.dining-panel-heading {
    margin-bottom: 30px;
}

.dining-panel-heading .dining-eyebrow {
    color: #47794A;
}

.dining-panel-heading h3 {
    max-width: 1150px;
    margin: 12px 0 23px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(37px, 4vw, 62px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.dining-panel-heading h3 em {
    color: var(--dn-green);
    font-style: normal;
}

.dining-panel-lead {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 36px;
}

.dining-panel-lead p {
    margin: 0;
    color: #53695E;
    font-size: 14px;
    line-height: 1.85;
}
/* DINING CONTENT PANELS END */


/* DINING TOPICS START */
.dining-topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.dining-topic {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #417B53;
    border-radius: 9px;
    background: #FFFDF5;
    box-shadow: 0 8px 20px rgba(31,76,46,.09);
}

.dining-topic[open] {
    border-color: #D4A964;
    box-shadow: 0 14px 29px rgba(31,76,46,.17);
}

.dining-topic summary {
    display: flex;
    align-items: center;
    gap: 16px;
    min-height: 103px;
    padding: 19px 21px;
    list-style: none;
    background: linear-gradient(120deg, #32684D, #204D3D);
    color: #FFFFFF;
    cursor: pointer;
}

.dining-topic summary:hover {
    background: linear-gradient(120deg, #47865B, #286148);
}

.dining-topic[open] summary {
    background: #183C32;
}

.dining-topic summary::-webkit-details-marker {
    display: none;
}

.dining-topic summary::marker {
    content: "";
}

.dining-topic summary > span {
    flex: 1;
    min-width: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.9vw, 26px);
    line-height: 1.25;
}

.dining-topic summary small {
    display: block;
    margin-top: 7px;
    color: #E1ECAA;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.45;
}

.dining-topic summary b {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    background: #D8E995;
    color: #173E2D;
    font-size: 24px;
    font-weight: 400;
}

.dining-topic[open] summary b {
    background: #FFE8B0;
    transform: rotate(45deg);
}

.dining-topic-body {
    padding: 25px 26px 28px;
}

.dining-topic-body h4 {
    margin: 0 0 17px;
    color: #294834;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 2.1vw, 31px);
    font-weight: 400;
    line-height: 1.25;
}

.dining-topic-body p {
    margin: 0 0 16px;
    color: #596D60;
    font-size: 14px;
    line-height: 1.83;
}

.dining-topic-body p:last-child {
    margin-bottom: 0;
}

.dining-note {
    margin-top: 22px;
    padding: 18px 21px;
    border-left: 4px solid #B5C86B;
    background: #EDF0D8;
}

.dining-note strong {
    display: block;
    margin-bottom: 8px;
    color: #4D7143;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.dining-note p {
    margin: 0;
    font-size: 13px;
    line-height: 1.75;
}
/* DINING TOPICS END */


/* DINING VISITING DETAILS START */
.dining-visit-info {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    margin-top: 37px;
    padding: 27px;
    border: 1px solid #B8D0A6;
    border-radius: 9px;
    background: #E3EBD9;
}

.dining-visit-info > div {
    min-width: 0;
}

.dining-visit-info .dining-eyebrow {
    color: #62834E;
}

.dining-visit-info h4 {
    margin: 10px 0 13px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 27px;
    font-weight: 400;
}

.dining-visit-info p {
    margin: 0 0 8px;
    color: #506655;
    font-size: 13px;
    line-height: 1.7;
}
/* DINING VISITING DETAILS END */


/* DINING FAQ START */
.dining-faq {
    order: 5;
    padding: 60px 0 73px;
    background: linear-gradient(125deg, #173A2D, #376748);
}

.dining-faq-master {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr) 45px;
    align-items: center;
    gap: 22px;
    width: 100%;
    min-height: 107px;
    padding: 24px 27px;
    border: 2px solid #D8E7A1;
    border-radius: 9px;
    background: #F5F4DE;
    color: #294A32;
    text-align: left;
    cursor: pointer;
}

.dining-faq-master:hover,
.dining-faq-master.is-open {
    background: #FFFBEF;
}

.dining-faq-master > span {
    color: #527B49;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.dining-faq-master strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 2vw, 30px);
    font-weight: 400;
    line-height: 1.25;
}

.dining-faq-master > b {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: #397A4F;
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 400;
}

.dining-faq-content {
    display: none;
    padding-top: 28px;
}

.dining-faq-content.is-open:not([hidden]) {
    display: block;
}

.dining-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 16px;
}

.dining-faq-item {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #8BBB77;
    border-radius: 8px;
    background: #FFF9EF;
}

.dining-faq-item.is-open {
    border-color: #ECD39A;
}

.dining-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    min-height: 84px;
    padding: 19px 20px;
    border: 0;
    background: #2C6748;
    color: #FFFFFF;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
}

.dining-faq-question:hover,
.dining-faq-item.is-open .dining-faq-question {
    background: #194633;
}

.dining-faq-question span {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #DFEC9A;
    color: #193D2A;
    font-size: 22px;
}

.dining-faq-answer {
    display: none;
    padding: 19px 21px 23px;
}

.dining-faq-item.is-open .dining-faq-answer {
    display: block;
}

.dining-faq-answer p {
    margin: 0;
    color: #596B60;
    font-size: 13px;
    line-height: 1.8;
}
/* DINING FAQ END */


/* DINING TABLET START */
@media (max-width: 1100px) {
    .dining-wide {
        width: calc(100% - 42px);
    }

    .dining-selector-card {
        height: 340px;
    }

    .dining-hero {
        min-height: 540px;
    }

    .dining-panel-lead {
        gap: 20px;
    }
}
/* DINING TABLET END */


/* DINING MOBILE START */
@media (max-width: 760px) {
    .dining-section {
        margin-left: 0;
        padding-top: calc(var(--header-height) + var(--mobile-nav-height));
    }

    .dining-wide {
        width: calc(100% - 28px);
    }

    .dining-selector {
        order: 1;
        padding: 23px 0 26px;
    }

    .dining-hero {
        order: 2;
        min-height: 240px;
        align-items: center;
    }

    .dining-intro {
        order: 3;
        padding: 28px 0 32px;
    }

    .dining-content-panel {
        order: 4;
        padding: 36px 0 49px;
    }

    .dining-faq {
        order: 5;
    }

    .dining-selector-heading {
        margin-bottom: 17px;
    }

    .dining-selector-heading .dining-eyebrow {
        font-size: 9px;
    }

    .dining-selector-heading h3 {
        margin: 8px 0 0;
        font-size: clamp(30px, 7.4vw, 41px);
    }

    .dining-selector-heading p {
        display: none;
    }

    .dining-selector-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .dining-selector-card {
        height: 185px;
        border-width: 2px;
        border-radius: 9px;
    }

    .dining-selector-card::after {
        background: linear-gradient(
            90deg,
            rgba(10,35,25,.98),
            rgba(10,35,25,.83) 55%,
            rgba(10,35,25,.12)
        );
    }

    .dining-selector-content {
        top: 13px;
        bottom: 13px;
        left: 16px;
        right: 16px;
        justify-content: center;
        max-width: 82%;
    }

    .dining-selector-content small {
        margin-bottom: 6px;
        font-size: 8px;
    }

    .dining-selector-content strong {
        margin-bottom: 6px;
        font-size: 25px;
    }

    .dining-selector-description {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        font-size: 10.5px;
        line-height: 1.4;
    }

    .dining-selector-action {
        min-height: 34px;
        margin-top: 10px;
        padding: 7px 11px;
        font-size: 9px;
    }

    .dining-hero-image {
        object-position: 70% center;
    }

    .dining-hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(13,39,29,.96),
            rgba(13,39,29,.74) 65%,
            rgba(13,39,29,.2)
        );
    }

    .dining-hero-copy {
        padding: 24px 0;
    }

    .dining-kicker {
        margin-bottom: 9px;
        font-size: 9px;
    }

    .dining-hero h2 {
        margin: 0 0 12px;
        font-size: clamp(30px, 7vw, 41px);
    }

    .dining-hero-lead {
        margin: 0;
        max-width: 340px;
        font-size: 14px;
        line-height: 1.5;
    }

    .dining-hero-text {
        display: none;
    }

    .dining-intro h3 {
        margin: 9px 0 16px;
        font-size: clamp(29px, 7vw, 39px);
    }

    .dining-intro-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dining-intro-grid p {
        font-size: 12.8px;
        line-height: 1.73;
    }

    .dining-intro-grid p:last-child {
        display: none;
    }

    .dining-panel-heading {
        margin-bottom: 22px;
    }

    .dining-panel-heading h3 {
        margin: 10px 0 17px;
        font-size: clamp(31px, 7.2vw, 42px);
    }

    .dining-panel-lead {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .dining-panel-lead p {
        font-size: 12.8px;
        line-height: 1.72;
    }

    .dining-topics {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .dining-topic summary {
        min-height: 78px;
        padding: 15px;
        gap: 12px;
    }

    .dining-topic summary > span {
        font-size: 19px;
    }

    .dining-topic summary small {
        font-size: 10.5px;
    }

    .dining-topic summary b {
        width: 35px;
        height: 35px;
    }

    .dining-topic-body {
        padding: 19px;
    }

    .dining-topic-body h4 {
        font-size: 24px;
    }

    .dining-topic-body p {
        font-size: 13px;
        line-height: 1.76;
    }

    .dining-visit-info {
        grid-template-columns: 1fr;
        margin-top: 25px;
        padding: 19px;
    }

    .dining-faq {
        padding: 39px 0 53px;
    }

    .dining-faq-master {
        grid-template-columns: 1fr 40px;
        gap: 11px;
        min-height: 96px;
        padding: 18px;
    }

    .dining-faq-master > span {
        grid-column: 1 / -1;
    }

    .dining-faq-master strong {
        font-size: 20px;
    }

    .dining-faq-master > b {
        width: 39px;
        height: 39px;
    }

    .dining-faq-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .dining-faq-question {
        min-height: 75px;
        padding: 16px;
        font-size: 13px;
    }
}
/* DINING MOBILE END */


/* DINING SMALL MOBILE START */
@media (max-width: 380px) {
    .dining-wide {
        width: calc(100% - 24px);
    }

    .dining-selector-heading h3 {
        font-size: 29px;
    }

    .dining-selector-card {
        height: 178px;
    }

    .dining-selector-content {
        left: 14px;
        right: 14px;
    }

    .dining-selector-content strong {
        font-size: 23px;
    }

    .dining-hero h2,
    .dining-panel-heading h3 {
        font-size: 30px;
    }

    .dining-topic summary > span {
        font-size: 18px;
    }
}
/* DINING SMALL MOBILE END */

/* STAY & PLAY SECTION START */
.stay-play-section {
    --sp-deep: #102D3B;
    --sp-blue: #176A7A;
    --sp-teal: #278D93;
    --sp-light: #E2F1EE;
    --sp-sand: #F5EBDB;
    --sp-gold: #F0CD92;
    --sp-ink: #24444D;
    --sp-muted: #59757B;

    display: none;
    min-height: 100svh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);
    background: var(--sp-light);
    color: var(--sp-ink);
}

.stay-play-section.is-open:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.stay-play-section [hidden] {
    display: none !important;
}

.stay-play-wide {
    width: calc(100% - 64px);
    max-width: 1460px;
    margin-inline: auto;
}

.stay-play-kicker,
.stay-play-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.stay-play-section button:focus-visible,
.stay-play-section summary:focus-visible {
    outline: 3px solid #FFDDA4;
    outline-offset: 4px;
}
/* STAY & PLAY SECTION END */


/* STAY & PLAY HERO START */
.stay-play-hero {
    position: relative;
    isolation: isolate;
    order: 1;
    display: flex;
    align-items: center;
    min-height: 570px;
    overflow: hidden;
    background: var(--sp-deep);
    color: #FFFFFF;
}

.stay-play-hero-image,
.stay-play-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.stay-play-hero-image {
    z-index: -2;
    object-fit: cover;
    object-position: center;
}

.stay-play-hero-overlay {
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(
        90deg,
        rgba(8,35,45,.98),
        rgba(10,48,60,.91) 40%,
        rgba(10,48,60,.22) 83%
    );
}

.stay-play-hero-copy {
    max-width: 730px;
    padding: 70px 0;
}

.stay-play-kicker {
    color: #B9EAE0;
}

.stay-play-hero h2 {
    margin: 16px 0 24px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(42px, 4.7vw, 74px);
    font-weight: 400;
    line-height: 1.07;
    letter-spacing: -.045em;
}

.stay-play-hero h2 em {
    display: block;
    color: #BCEAE1;
    font-style: normal;
}

.stay-play-hero-lead {
    margin: 0 0 19px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.7vw, 25px);
    line-height: 1.55;
}

.stay-play-hero-text {
    margin: 0;
    color: rgba(255,255,255,.88);
    font-size: 14px;
    line-height: 1.82;
}
/* STAY & PLAY HERO END */


/* STAY & PLAY HOTELS START */
.stay-play-hotels {
    order: 2;
    padding: 65px 0 76px;
    background: linear-gradient(135deg, #E3F0EC, #F5EBDE);
}

.stay-play-heading {
    max-width: 1150px;
    margin-bottom: 29px;
}

.stay-play-heading .stay-play-eyebrow {
    color: #247C84;
}

.stay-play-heading h3 {
    margin: 12px 0 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 400;
    line-height: 1.11;
    letter-spacing: -.04em;
}

.stay-play-heading h3 em {
    color: #23858F;
    font-style: normal;
}

.stay-play-heading p {
    margin: 0;
    color: var(--sp-muted);
    font-size: 14px;
    line-height: 1.75;
}

.stay-play-hotel-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 18px;
}

/* The fifth hotel is centred without creating an empty card. */
.stay-play-hotel:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc((100% - 18px) / 2);
    justify-self: center;
}

.stay-play-hotel {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #287E89;
    border-radius: 11px;
    background: #FFFCF6;
    box-shadow: 0 10px 25px rgba(23,79,88,.13);
}

.stay-play-hotel[open] {
    border-color: #D69A69;
    box-shadow: 0 17px 37px rgba(23,79,88,.2);
}

.stay-play-hotel summary {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 156px;
    padding: 15px;
    list-style: none;
    background: linear-gradient(125deg, #166A78, #103D52);
    color: #FFFFFF;
    cursor: pointer;
    transition: background .2s ease;
}

.stay-play-hotel summary:hover {
    background: linear-gradient(125deg, #288D9D, #17576A);
}

.stay-play-hotel[open] summary {
    background: linear-gradient(125deg, #104654, #092E40);
}

.stay-play-hotel summary::-webkit-details-marker {
    display: none;
}

.stay-play-hotel summary::marker {
    content: "";
}

.stay-play-hotel-photo {
    display: block;
    flex-shrink: 0;
    width: 138px;
    height: 119px;
    overflow: hidden;
    border: 2px solid #D4E7DE;
    border-radius: 7px;
    background: #194D5C;
}

.stay-play-hotel-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.stay-play-hotel-heading {
    flex: 1;
    min-width: 0;
}

.stay-play-hotel-heading small {
    display: block;
    margin-bottom: 7px;
    color: #B3E7E4;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.stay-play-hotel-heading strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(22px, 2vw, 30px);
    font-weight: 400;
    line-height: 1.17;
}

.stay-play-hotel-heading > span {
    display: block;
    margin-top: 8px;
    color: rgba(255,255,255,.83);
    font-size: 11px;
    line-height: 1.5;
}

.stay-play-hotel-action {
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
    gap: 8px;
    min-height: 43px;
    padding: 10px;
    border: 1px solid #FFE1AC;
    border-radius: 5px;
    background: linear-gradient(135deg, #F7DDAA, #D7A36C);
    color: #1B3944;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    white-space: nowrap;
}

.stay-play-hotel-action b {
    font-size: 21px;
    font-weight: 400;
    line-height: 1;
}

.stay-play-hotel[open] .stay-play-hotel-action {
    background: #FFF7E1;
}

.stay-play-hotel[open] .stay-play-hotel-action b {
    transform: rotate(45deg);
}

.stay-play-hotel-content {
    padding: 29px;
    background: linear-gradient(135deg, #FFFDF7, #E8F2EF);
}

.stay-play-hotel-content .stay-play-eyebrow {
    color: #27828D;
}

.stay-play-hotel-content h4 {
    margin: 10px 0 20px;
    color: var(--sp-ink);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 2.5vw, 39px);
    font-weight: 400;
    line-height: 1.2;
}

.stay-play-hotel-content > p {
    margin: 0 0 17px;
    color: #566F74;
    font-size: 14px;
    line-height: 1.82;
}

.stay-play-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 24px;
}

.stay-play-detail {
    min-width: 0;
    padding: 18px;
    border-top: 4px solid #65ADB2;
    border-radius: 5px;
    background: #FFFFFF;
}

.stay-play-detail h5 {
    margin: 0 0 10px;
    color: #265762;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.2;
}

.stay-play-detail p {
    margin: 0;
    color: #60777B;
    font-size: 12.5px;
    line-height: 1.72;
}

.stay-play-contact {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-top: 24px;
    padding: 18px 20px;
    border-left: 4px solid #DA9F73;
    background: #E4EFEB;
}

.stay-play-contact strong {
    color: #285C67;
    font-size: 14px;
}

.stay-play-contact span {
    color: #5B7377;
    font-size: 13px;
    line-height: 1.5;
}
/* STAY & PLAY HOTELS END */


/* STAY & PLAY INTRO START */
.stay-play-intro {
    order: 3;
    padding: 66px 0 75px;
    background: linear-gradient(135deg, #FBF4E9, #DCECE8);
}

.stay-play-intro .stay-play-eyebrow {
    color: #287E87;
}

.stay-play-intro h3 {
    margin: 12px 0 24px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 400;
    line-height: 1.11;
}

.stay-play-intro h3 em {
    color: #25838C;
    font-style: normal;
}

.stay-play-intro-lead {
    max-width: 1100px;
    margin: 0 0 27px;
    color: #365F66;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.7vw, 25px);
    line-height: 1.6;
}

.stay-play-intro-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 37px;
}

.stay-play-intro-grid p {
    margin: 0;
    color: #5A7579;
    font-size: 14px;
    line-height: 1.84;
}
/* STAY & PLAY INTRO END */


/* STAY & PLAY BENEFIT START */
.stay-play-benefit {
    order: 4;
    padding: 70px 0 80px;
    background: linear-gradient(130deg, #104050, #17727B);
    color: #FFFFFF;
}

.stay-play-benefit-heading {
    max-width: 1120px;
    margin-bottom: 28px;
}

.stay-play-benefit .stay-play-eyebrow {
    color: #BCE9DF;
}

.stay-play-benefit-heading h3 {
    margin: 12px 0 18px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 400;
    line-height: 1.12;
}

.stay-play-benefit-heading h3 em {
    color: #B8EAE0;
    font-style: normal;
}

.stay-play-benefit-heading p {
    margin: 0;
    color: rgba(255,255,255,.86);
    font-size: 14px;
    line-height: 1.8;
}

.stay-play-benefit-feature {
    display: grid;
    grid-template-columns: minmax(240px, .5fr) minmax(0, 1fr);
    gap: 30px;
    margin-bottom: 25px;
    padding: 27px;
    border: 1px solid rgba(220,245,238,.4);
    border-radius: 10px;
    background: rgba(5,33,44,.35);
}

.stay-play-benefit-amount {
    align-self: center;
    padding: 24px;
    border: 2px solid var(--sp-gold);
    border-radius: 8px;
    background: #F8EEDF;
    color: #23444C;
}

.stay-play-benefit-amount span {
    display: block;
    color: #637B7D;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.stay-play-benefit-amount strong {
    display: block;
    margin: 10px 0;
    color: #B5744C;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(60px, 5vw, 85px);
    font-weight: 400;
    line-height: 1;
}

.stay-play-benefit-amount small {
    color: #3D6971;
    font-size: 13px;
    font-weight: 800;
}

.stay-play-benefit-copy h4 {
    margin: 0 0 16px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 2.7vw, 40px);
    font-weight: 400;
}

.stay-play-benefit-copy p {
    margin: 0 0 15px;
    color: rgba(255,255,255,.87);
    font-size: 14px;
    line-height: 1.8;
}

.stay-play-benefit-topics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 15px;
}

.stay-play-benefit-topic {
    overflow: hidden;
    border: 2px solid #84C9CB;
    border-radius: 8px;
    background: #F9FCF8;
}

.stay-play-benefit-topic summary {
    display: flex;
    align-items: center;
    gap: 14px;
    min-height: 88px;
    padding: 18px;
    list-style: none;
    background: linear-gradient(120deg, #277E86, #175466);
    color: #FFFFFF;
    cursor: pointer;
}

.stay-play-benefit-topic summary:hover {
    background: #3197A0;
}

.stay-play-benefit-topic[open] summary {
    background: #103C4A;
}

.stay-play-benefit-topic summary::-webkit-details-marker {
    display: none;
}

.stay-play-benefit-topic summary::marker {
    content: "";
}

.stay-play-benefit-topic summary > span {
    flex: 1;
    min-width: 0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    line-height: 1.2;
}

.stay-play-benefit-topic summary small {
    display: block;
    margin-top: 7px;
    color: #D2EDE7;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    line-height: 1.45;
}

.stay-play-benefit-topic summary b {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #F4D59E;
    color: #21404A;
    font-size: 24px;
    font-weight: 400;
}

.stay-play-benefit-topic[open] summary b {
    transform: rotate(45deg);
}

.stay-play-benefit-topic > div {
    padding: 21px;
}

.stay-play-benefit-topic p {
    margin: 0 0 14px;
    color: #526F74;
    font-size: 13.5px;
    line-height: 1.77;
}

.stay-play-benefit-topic p:last-child {
    margin-bottom: 0;
}
/* STAY & PLAY BENEFIT END */


/* STAY & PLAY FAQ START */
.stay-play-faq {
    order: 5;
    padding: 60px 0 75px;
    background: linear-gradient(125deg, #103544, #1B6070);
}

.stay-play-faq-master {
    display: grid;
    grid-template-columns: 125px minmax(0, 1fr) 45px;
    align-items: center;
    gap: 20px;
    width: 100%;
    padding: 24px 27px;
    border: 2px solid #F2D09C;
    border-radius: 9px;
    background: #F6F0E5;
    color: #294A54;
    text-align: left;
    cursor: pointer;
}

.stay-play-faq-master:hover,
.stay-play-faq-master.is-open {
    background: #FFFFFF;
}

.stay-play-faq-master > span {
    color: #307B83;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.stay-play-faq-master strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 2vw, 30px);
    font-weight: 400;
    line-height: 1.2;
}

.stay-play-faq-master > b {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: #267F8B;
    color: #FFFFFF;
    font-size: 25px;
    font-weight: 400;
}

.stay-play-faq-content {
    display: none;
    padding-top: 27px;
}

.stay-play-faq-content.is-open:not([hidden]) {
    display: block;
}

.stay-play-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 15px;
}

.stay-play-faq-item {
    overflow: hidden;
    border: 2px solid #75C0C7;
    border-radius: 8px;
    background: #FFFBF4;
}

.stay-play-faq-item.is-open {
    border-color: #F3D49F;
}

.stay-play-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    min-height: 84px;
    padding: 19px;
    border: 0;
    background: #257685;
    color: #FFFFFF;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
}

.stay-play-faq-question:hover,
.stay-play-faq-item.is-open .stay-play-faq-question {
    background: #174B5B;
}

.stay-play-faq-question span {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #F1D39D;
    color: #23434C;
    font-size: 23px;
}

.stay-play-faq-answer {
    display: none;
    padding: 19px 21px 23px;
}

.stay-play-faq-item.is-open .stay-play-faq-answer {
    display: block;
}

.stay-play-faq-answer p {
    margin: 0;
    color: #587378;
    font-size: 13px;
    line-height: 1.78;
}
/* STAY & PLAY FAQ END */


/* STAY & PLAY TABLET START */
@media (max-width: 1350px) {
    .stay-play-hotel-grid {
        grid-template-columns: 1fr;
    }

    .stay-play-hotel:last-child:nth-child(odd) {
        grid-column: auto;
        width: 100%;
    }
}

@media (max-width: 1050px) {
    .stay-play-wide {
        width: calc(100% - 42px);
    }

    .stay-play-benefit-feature {
        grid-template-columns: 1fr;
    }
}
/* STAY & PLAY TABLET END */


/* STAY & PLAY MOBILE START */
@media (max-width: 760px) {
    .stay-play-section {
        margin-left: 0;
        padding-top: calc(var(--header-height) + var(--mobile-nav-height));
    }

    .stay-play-wide {
        width: calc(100% - 28px);
    }

    /* Hotel choices appear before the editorial introduction. */
    .stay-play-hotels {
        order: 1;
        padding: 23px 0 30px;
    }

    .stay-play-hero {
        order: 2;
        min-height: 235px;
    }

    .stay-play-intro {
        order: 3;
        padding: 30px 0 36px;
    }

    .stay-play-benefit {
        order: 4;
        padding: 40px 0 51px;
    }

    .stay-play-faq {
        order: 5;
        padding: 39px 0 52px;
    }

    .stay-play-heading {
        margin-bottom: 18px;
    }

    .stay-play-heading .stay-play-eyebrow {
        font-size: 9px;
    }

    .stay-play-heading h3 {
        margin: 7px 0 0;
        font-size: clamp(29px, 7.1vw, 40px);
    }

    .stay-play-heading > p {
        display: none;
    }

    .stay-play-hotel-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .stay-play-hotel:last-child:nth-child(odd) {
        grid-column: auto;
        width: 100%;
    }

    .stay-play-hotel summary {
        min-height: 110px;
        gap: 11px;
        padding: 10px;
    }

    .stay-play-hotel-photo {
        width: 84px;
        height: 88px;
        border-radius: 6px;
    }

    .stay-play-hotel-heading small {
        margin-bottom: 5px;
        font-size: 8px;
    }

    .stay-play-hotel-heading strong {
        font-size: 19px;
    }

    .stay-play-hotel-heading > span {
        display: none;
    }

    .stay-play-hotel-action {
        padding: 9px;
        font-size: 0;
    }

    .stay-play-hotel-action b {
        font-size: 23px;
    }

    .stay-play-hotel-content {
        padding: 21px 17px;
    }

    .stay-play-hotel-content h4 {
        font-size: 28px;
    }

    .stay-play-hotel-content > p {
        font-size: 13px;
        line-height: 1.74;
    }

    .stay-play-detail-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .stay-play-detail {
        padding: 16px;
    }

    .stay-play-hero-image {
        object-position: 73% center;
    }

    .stay-play-hero-overlay {
        background: linear-gradient(
            90deg,
            rgba(8,35,45,.98),
            rgba(8,35,45,.77) 72%,
            rgba(8,35,45,.28)
        );
    }

    .stay-play-hero-copy {
        padding: 25px 0;
    }

    .stay-play-kicker {
        font-size: 9px;
    }

    .stay-play-hero h2 {
        margin: 9px 0 11px;
        font-size: clamp(30px, 7vw, 40px);
    }

    .stay-play-hero-lead {
        margin: 0;
        font-size: 14px;
        line-height: 1.5;
    }

    .stay-play-hero-text {
        display: none;
    }

    .stay-play-intro h3,
    .stay-play-benefit-heading h3 {
        font-size: clamp(30px, 7vw, 42px);
    }

    .stay-play-intro-lead {
        margin-bottom: 0;
        font-size: 16px;
    }

    .stay-play-intro-grid {
        display: none;
    }

    .stay-play-benefit-feature,
    .stay-play-benefit-topics,
    .stay-play-faq-grid {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .stay-play-benefit-feature {
        padding: 17px;
    }

    .stay-play-benefit-amount strong {
        font-size: 65px;
    }

    .stay-play-benefit-copy h4 {
        font-size: 28px;
    }

    .stay-play-benefit-copy p {
        font-size: 13px;
        line-height: 1.73;
    }

    .stay-play-benefit-topic summary {
        min-height: 76px;
        padding: 15px;
    }

    .stay-play-benefit-topic summary > span {
        font-size: 19px;
    }

    .stay-play-faq-master {
        grid-template-columns: 1fr 40px;
        gap: 11px;
        padding: 17px;
    }

    .stay-play-faq-master > span {
        grid-column: 1 / -1;
    }

    .stay-play-faq-master strong {
        font-size: 20px;
    }

    .stay-play-faq-master > b {
        width: 39px;
        height: 39px;
    }

    .stay-play-faq-question {
        min-height: 75px;
        padding: 16px;
        font-size: 13px;
    }
}
/* STAY & PLAY MOBILE END */


/* STAY & PLAY SMALL MOBILE START */
@media (max-width: 380px) {
    .stay-play-wide {
        width: calc(100% - 24px);
    }

    .stay-play-heading h3 {
        font-size: 29px;
    }

    .stay-play-hotel-photo {
        width: 70px;
        height: 76px;
    }

    .stay-play-hotel-heading strong {
        font-size: 17px;
    }

    .stay-play-hero h2,
    .stay-play-intro h3 {
        font-size: 29px;
    }

    .stay-play-contact {
        padding: 16px;
    }
}
/* STAY & PLAY SMALL MOBILE END */

/* CASINO SECTION START */
.casino-section {
    --cs-night: #152735;
    --cs-slate: #344F68;
    --cs-blue: #52718B;
    --cs-steel: #7595A9;
    --cs-ice: #DAE8EA;
    --cs-sand: #F3EBDD;
    --cs-gold: #E5BE84;
    --cs-ink: #263D4D;
    --cs-muted: #5F7480;

    display: none;
    min-height: 100svh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);
    background: #E9EFF0;
    color: var(--cs-ink);
}

.casino-section.is-open:not([hidden]) {
    display: flex;
    flex-direction: column;
}

.casino-section [hidden] {
    display: none !important;
}

.casino-wide {
    width: calc(100% - 64px);
    max-width: 1460px;
    margin-inline: auto;
}

.casino-kicker,
.casino-eyebrow {
    display: block;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .15em;
    text-transform: uppercase;
}

.casino-section button:focus-visible {
    outline: 3px solid #F5CE91;
    outline-offset: 4px;
}
/* CASINO SECTION END */


/* CASINO INTRO START */
.casino-intro {
    order: 1;
    position: relative;
    padding: 80px 0;
    overflow: hidden;
    background:
        radial-gradient(circle at 90% 10%, rgba(117,149,169,.2), transparent 39%),
        linear-gradient(130deg, #172B3A, #38586F 60%, #4C7082);
    color: #FFFFFF;
}

.casino-intro-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: center;
    gap: 55px;
}

.casino-kicker {
    color: #E9CA98;
}

.casino-intro h2 {
    margin: 15px 0 25px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(45px, 4.8vw, 73px);
    font-weight: 400;
    line-height: 1.08;
    letter-spacing: -.045em;
}

.casino-intro h2 em {
    display: block;
    color: #C9E0E9;
    font-style: normal;
}

.casino-intro-lead {
    margin: 0 0 22px;
    color: #FFF9F0;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.7vw, 25px);
    line-height: 1.55;
}

.casino-intro-copy > p:not(.casino-intro-lead) {
    margin: 0 0 17px;
    color: rgba(255,255,255,.85);
    font-size: 14px;
    line-height: 1.82;
}

.casino-intro-photo {
    height: 510px;
    overflow: hidden;
    border: 3px solid rgba(229,190,132,.55);
    border-radius: 12px;
    background: #1E3646;
    box-shadow: 0 23px 50px rgba(9,24,35,.28);
}

.casino-intro-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* CASINO INTRO END */


/* CASINO EXPERIENCE START */
.casino-experience {
    order: 2;
    padding: 65px 0 75px;
    background: linear-gradient(135deg, #E4EDF0, #F7F0E5);
}

.casino-section-heading {
    max-width: 1150px;
    margin-bottom: 28px;
}

.casino-section-heading .casino-eyebrow {
    color: #5D7991;
}

.casino-section-heading h3 {
    margin: 12px 0 17px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 4vw, 62px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.04em;
}

.casino-section-heading h3 em {
    color: #567F96;
    font-style: normal;
}

.casino-section-heading p {
    margin: 0;
    color: var(--cs-muted);
    font-size: 14px;
    line-height: 1.75;
}

.casino-experience-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 17px;
}

.casino-experience-button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-height: 280px;
    padding: 27px;
    border: 3px solid #779BB0;
    border-radius: 11px;
    background: linear-gradient(130deg, #466985, #233E58);
    color: #FFFFFF;
    text-align: left;
    cursor: pointer;
    box-shadow: 0 12px 27px rgba(30,55,73,.18);
    transition: transform .23s ease, border-color .23s ease, box-shadow .23s ease;
}

.casino-experience-button:nth-child(2) {
    background: linear-gradient(130deg, #396B7C, #234A60);
}

.casino-experience-button:nth-child(3) {
    background: linear-gradient(130deg, #657388, #37475F);
}

.casino-experience-button:hover {
    transform: translateY(-4px);
    border-color: #F5D49C;
    box-shadow: 0 20px 38px rgba(30,55,73,.27);
}

.casino-experience-button.is-active {
    border-color: #FFE4AB;
    box-shadow: 0 0 0 3px rgba(229,190,132,.33), 0 20px 38px rgba(30,55,73,.25);
}

.casino-experience-tag {
    display: block;
    margin-bottom: 17px;
    color: #F1D7A8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.casino-experience-button > strong {
    display: block;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 2.6vw, 38px);
    font-weight: 400;
    line-height: 1.2;
}

.casino-experience-subtitle {
    display: block;
    margin-top: 13px;
    color: #DAEAF2;
    font-size: 13px;
    line-height: 1.6;
}

.casino-experience-action {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    min-height: 43px;
    margin-top: auto;
    padding: 10px 15px;
    border: 1px solid #F5D7A7;
    border-radius: 5px;
    background: linear-gradient(135deg, #F4D5A3, #D6AA73);
    color: #243A4C;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.casino-experience-action b {
    font-size: 20px;
    font-weight: 400;
}

.casino-experience-button.is-active .casino-experience-action {
    background: #FFF9EA;
}
/* CASINO EXPERIENCE END */


/* CASINO CONTENT PANELS START */
.casino-content-panel {
    display: none;
    order: 3;
    padding: 69px 0 77px;
    border-top: 5px solid #CDA97A;
    background: linear-gradient(135deg, #FFFBF5, #E3EBEF);
}

.casino-content-panel.is-open:not([hidden]) {
    display: block;
}

.casino-panel-heading {
    max-width: 1190px;
    margin-bottom: 31px;
}

.casino-panel-heading .casino-eyebrow {
    color: #5D7890;
}

.casino-panel-heading h3 {
    margin: 12px 0 23px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(37px, 4vw, 61px);
    font-weight: 400;
    line-height: 1.11;
    letter-spacing: -.04em;
}

.casino-panel-heading h3 em {
    color: #6189A0;
    font-style: normal;
}

.casino-panel-heading p {
    margin: 0 0 16px;
    color: #617682;
    font-size: 14px;
    line-height: 1.85;
}

.casino-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 17px;
}

.casino-detail {
    min-width: 0;
    padding: 26px;
    border-top: 4px solid #789AAC;
    border-radius: 6px;
    background: #FFFFFF;
    box-shadow: 0 6px 20px rgba(35,63,79,.07);
}

.casino-detail > span {
    display: block;
    margin-bottom: 12px;
    color: #9E7951;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.casino-detail h4 {
    margin: 0 0 15px;
    color: #304F62;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(22px, 2vw, 29px);
    font-weight: 400;
}

.casino-detail p {
    margin: 0 0 15px;
    color: #657982;
    font-size: 13.5px;
    line-height: 1.83;
}

.casino-detail p:last-child {
    margin-bottom: 0;
}
/* CASINO CONTENT PANELS END */


/* CASINO LOCATION START */
.casino-location-card {
    margin-bottom: 29px;
    padding: 34px;
    border: 2px solid #7294AB;
    border-radius: 10px;
    background: #E3EEF0;
}

.casino-location-card .casino-eyebrow {
    color: #52758B;
}

.casino-location-card h4 {
    margin: 11px 0 8px;
    color: #24475A;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(29px, 3vw, 43px);
    font-weight: 400;
}

.casino-location-card > p {
    margin: 0 0 25px;
    color: #5E7683;
    font-size: 15px;
}

.casino-location-details {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.casino-location-details > div {
    padding: 17px;
    border-left: 4px solid #CBA16A;
    background: #FFF9F0;
}

.casino-location-details strong {
    display: block;
    margin-bottom: 8px;
    color: #42647A;
    font-size: 12px;
}

.casino-location-details span {
    display: block;
    color: #607583;
    font-size: 13px;
    line-height: 1.5;
}
/* CASINO LOCATION END */


/* CASINO CLOSING START */
.casino-closing {
    order: 4;
    padding: 80px 0;
    background: linear-gradient(120deg, #243F55, #4D718A);
    color: #FFFFFF;
}

.casino-closing .casino-eyebrow {
    color: #E7C997;
}

.casino-closing h3 {
    max-width: 1200px;
    margin: 12px 0 29px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(39px, 4.3vw, 66px);
    font-weight: 400;
    line-height: 1.1;
}

.casino-closing h3 em {
    display: block;
    color: #CDE6EE;
    font-style: normal;
}

.casino-closing-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 37px;
}

.casino-closing-grid p {
    margin: 0;
    color: rgba(255,255,255,.87);
    font-size: 14px;
    line-height: 1.88;
}
/* CASINO CLOSING END */


/* CASINO FAQ START */
.casino-faq {
    order: 5;
    padding: 61px 0 75px;
    background: linear-gradient(120deg, #1C3447, #37576D);
}

.casino-faq-master {
    display: grid;
    grid-template-columns: 95px minmax(0, 1fr) 44px;
    align-items: center;
    gap: 20px;
    width: 100%;
    min-height: 104px;
    padding: 23px 26px;
    border: 2px solid #ECD0A2;
    border-radius: 9px;
    background: #F4EFE6;
    color: #2F4B60;
    text-align: left;
    cursor: pointer;
}

.casino-faq-master:hover,
.casino-faq-master.is-open {
    background: #FFFFFF;
}

.casino-faq-master > span {
    color: #7A8490;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.casino-faq-master strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(21px, 2vw, 30px);
    font-weight: 400;
}

.casino-faq-master > b {
    display: grid;
    place-items: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    background: #466B84;
    color: #FFFFFF;
    font-size: 24px;
    font-weight: 400;
}

.casino-faq-content {
    display: none;
    padding-top: 28px;
}

.casino-faq-content.is-open:not([hidden]) {
    display: block;
}

.casino-faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 15px;
}

.casino-faq-item {
    min-width: 0;
    overflow: hidden;
    border: 2px solid #849FB2;
    border-radius: 7px;
    background: #FFF9F1;
}

.casino-faq-item.is-open {
    border-color: #EBCB9C;
}

.casino-faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 17px;
    width: 100%;
    min-height: 84px;
    padding: 18px 20px;
    border: 0;
    background: #3A5B72;
    color: #FFFFFF;
    text-align: left;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.5;
    cursor: pointer;
}

.casino-faq-question:hover,
.casino-faq-item.is-open .casino-faq-question {
    background: #263E51;
}

.casino-faq-question span {
    display: grid;
    place-items: center;
    flex-shrink: 0;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    background: #EFD09C;
    color: #273D4F;
    font-size: 22px;
}

.casino-faq-answer {
    display: none;
    padding: 19px 21px 23px;
}

.casino-faq-item.is-open .casino-faq-answer {
    display: block;
}

.casino-faq-answer p {
    margin: 0;
    color: #617481;
    font-size: 13px;
    line-height: 1.8;
}
/* CASINO FAQ END */


/* CASINO TABLET START */
@media (max-width: 1100px) {
    .casino-wide {
        width: calc(100% - 42px);
    }

    .casino-intro-layout {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .casino-intro-photo {
        height: 330px;
    }

    .casino-experience-grid {
        grid-template-columns: 1fr;
    }

    .casino-experience-button {
        min-height: 200px;
    }
}
/* CASINO TABLET END */


/* CASINO MOBILE START */
@media (max-width: 760px) {
    .casino-section {
        margin-left: 0;
        padding-top: calc(var(--header-height) + var(--mobile-nav-height));
    }

    .casino-wide {
        width: calc(100% - 28px);
    }

    .casino-experience {
        order: 1;
        padding: 24px 0 29px;
    }

    .casino-intro {
        order: 2;
        padding: 32px 0 36px;
    }

    .casino-content-panel {
        order: 3;
        padding: 37px 0 49px;
    }

    .casino-closing {
        order: 4;
        padding: 42px 0 49px;
    }

    .casino-faq {
        order: 5;
        padding: 40px 0 53px;
    }

    .casino-section-heading {
        margin-bottom: 18px;
    }

    .casino-section-heading .casino-eyebrow {
        font-size: 9px;
    }

    .casino-section-heading h3 {
        margin: 8px 0 0;
        font-size: clamp(30px, 7.2vw, 41px);
    }

    .casino-section-heading p {
        display: none;
    }

    .casino-experience-grid {
        gap: 11px;
    }

    .casino-experience-button {
        min-height: 0;
        padding: 17px;
    }

    .casino-experience-tag {
        margin-bottom: 7px;
        font-size: 9px;
    }

    .casino-experience-button > strong {
        font-size: 25px;
    }

    .casino-experience-subtitle {
        margin-top: 7px;
        font-size: 11px;
    }

    .casino-experience-action {
        margin-top: 13px;
        min-height: 35px;
        padding: 7px 11px;
        font-size: 9px;
    }

    .casino-intro h2 {
        margin: 11px 0 15px;
        font-size: clamp(32px, 7.5vw, 43px);
    }

    .casino-intro-lead {
        margin: 0;
        font-size: 16px;
        line-height: 1.55;
    }

    .casino-intro-copy > p:not(.casino-intro-lead),
    .casino-intro-photo {
        display: none;
    }

    .casino-panel-heading {
        margin-bottom: 22px;
    }

    .casino-panel-heading h3 {
        margin: 10px 0 17px;
        font-size: clamp(31px, 7.2vw, 42px);
    }

    .casino-panel-heading p {
        font-size: 13px;
        line-height: 1.74;
    }

    .casino-detail-grid,
    .casino-closing-grid,
    .casino-faq-grid,
    .casino-location-details {
        grid-template-columns: 1fr;
        gap: 11px;
    }

    .casino-detail {
        padding: 19px;
    }

    .casino-detail h4 {
        font-size: 24px;
    }

    .casino-detail p {
        font-size: 13px;
        line-height: 1.75;
    }

    .casino-location-card {
        padding: 20px;
    }

    .casino-location-card h4 {
        font-size: 30px;
    }

    .casino-closing h3 {
        font-size: clamp(31px, 7vw, 42px);
    }

    .casino-closing-grid p {
        font-size: 13px;
        line-height: 1.75;
    }

    .casino-faq-master {
        grid-template-columns: 1fr 40px;
        gap: 11px;
        padding: 17px;
    }

    .casino-faq-master > span {
        grid-column: 1 / -1;
    }

    .casino-faq-master strong {
        font-size: 20px;
    }

    .casino-faq-master > b {
        width: 39px;
        height: 39px;
    }

    .casino-faq-question {
        min-height: 75px;
        padding: 16px;
        font-size: 13px;
    }
}
/* CASINO MOBILE END */











/* CASINO SMALL MOBILE START */
@media (max-width: 420px) {
    .casino-wide {
        width: calc(100% - 24px);
    }

    .casino-intro h2 {
        font-size: 35px;
    }

    .casino-intro-feature {
        padding: 19px 12px;
    }

    .casino-intro-feature strong {
        font-size: 21px;
    }

    .casino-section-heading h3,
    .casino-choice h3,
    .casino-closing h3 {
        font-size: 34px;
    }

    .casino-experience-button {
        padding: 25px 20px;
    }

    .casino-experience-button > strong {
        font-size: 31px;
    }

    .casino-experience-subtitle {
        font-size: 20px;
    }

    .casino-content-panel {
        padding: 27px 16px 33px;
    }

    .casino-panel-heading h3 {
        font-size: 32px;
    }

    .casino-detail h4 {
        font-size: 24px;
    }

    .casino-faq-master strong {
        font-size: 21px;
    }
}
/* CASINO SMALL MOBILE END */

/* FOOTER START */
.site-footer {
    position: relative;
    z-index: 1;
    width: calc(100% - var(--side-width));
    margin: 0 0 0 var(--side-width);
    box-sizing: border-box;
    border-top: 2px solid #C49A5C;
    background: linear-gradient(120deg, #0D1C22 0%, #172B32 52%, #101E25 100%);
    color: #F3E6CF;
}

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

.footer-main {
    width: calc(100% - 80px);
    max-width: 1500px;
    margin: 0 auto;
    padding: 38px 0 34px;
    display: grid;
    grid-template-columns: minmax(210px, 1.35fr) minmax(135px, 0.8fr) minmax(160px, 1fr) minmax(185px, 1.1fr);
    align-items: start;
    gap: clamp(20px, 2.8vw, 48px);
}

.footer-brand-column,
.footer-column {
    min-width: 0;
}
/* FOOTER END */


/* FOOTER BRAND START */
.footer-logo {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    max-width: 100%;
    color: #F3E6CF;
    text-decoration: none;
}

.footer-logo-mark {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #E8C68A;
}

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

.footer-logo-copy {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.footer-logo-copy strong {
    display: block;
    color: #F3E6CF;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 1.65vw, 26px);
    font-weight: 400;
    line-height: 1.15;
}

.footer-logo-copy small {
    display: block;
    margin-top: 6px;
    color: #D9B47C;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.footer-description {
    max-width: 315px;
    margin: 17px 0 15px;
    color: rgba(243, 230, 207, 0.76);
    font-size: 13px;
    line-height: 1.8;
}

.footer-brand-location {
    display: inline-flex;
    align-items: center;
    padding: 6px 11px;
    border: 1px solid rgba(232, 198, 138, 0.35);
    border-radius: 2px;
    color: #E3C18C;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
/* FOOTER BRAND END */


/* FOOTER HOME BUTTON START */
.site-footer .footer-home-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    width: fit-content;
    min-width: 180px;
    min-height: 45px;
    margin-top: 20px;
    padding: 12px 17px;
    border: 1px solid #E8C68A;
    border-radius: 4px;
    background: linear-gradient(135deg, #E8C68A, #CDA365);
    color: #17252B;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.07em;
    text-align: left;
    text-decoration: none;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.site-footer .footer-home-button:hover {
    background: linear-gradient(135deg, #F4D9A9, #DDB57C);
    color: #17252B;
    transform: translateY(-2px);
    box-shadow: 0 7px 18px rgba(0, 0, 0, 0.2);
}

.site-footer .footer-home-button:focus-visible {
    outline: 2px solid #FFFFFF;
    outline-offset: 4px;
}

.footer-home-button span:last-child {
    font-size: 19px;
    font-weight: 400;
    line-height: 1;
}
/* FOOTER HOME BUTTON END */


/* FOOTER COLUMNS START */
.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
}

.footer-heading {
    display: block;
    width: 100%;
    margin: 0 0 12px;
    padding: 0 0 12px;
    border-bottom: 1px solid rgba(232, 198, 138, 0.26);
    color: #E2BE86;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.09em;
    text-transform: uppercase;
}

.site-footer .footer-nav-link,
.site-footer .footer-column > a {
    position: relative;
    display: inline-block;
    width: auto;
    max-width: 100%;
    margin: 0;
    padding: 6px 0;
    border: 0;
    background: transparent;
    color: rgba(243, 230, 207, 0.8);
    font-family: Arial, Helvetica, sans-serif;
    font-size: 12.5px;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-decoration: none;
    overflow-wrap: break-word;
    cursor: pointer;
    transition: color 200ms ease, transform 200ms ease;
}

.site-footer .footer-nav-link:hover,
.site-footer .footer-column > a:hover {
    color: #F2D19D;
    transform: translateX(3px);
}

.site-footer .footer-nav-link[aria-current="location"] {
    color: #F2D19D;
}

.site-footer .footer-faq-link {
    margin-top: 7px;
    color: #E2BE86;
    font-weight: 700;
}

.site-footer a:focus-visible {
    outline: 2px solid #E8C68A;
    outline-offset: 4px;
}

.footer-responsible-note {
    width: 100%;
    margin: 13px 0 0;
    padding-top: 13px;
    border-top: 1px solid rgba(232, 198, 138, 0.22);
    color: rgba(243, 230, 207, 0.69);
    font-size: 11px;
    line-height: 1.7;
}
/* FOOTER COLUMNS END */


/* FOOTER BOTTOM START */
.footer-bottom {
    width: calc(100% - 80px);
    max-width: 1500px;
    margin: 0 auto;
    padding: 17px 0 20px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    border-top: 1px solid rgba(232, 198, 138, 0.2);
}

.footer-bottom p {
    margin: 0;
    color: rgba(243, 230, 207, 0.65);
    font-size: 11.5px;
    line-height: 1.6;
}
/* FOOTER BOTTOM END */


/* FOOTER DESKTOP START */
@media (max-width: 1300px) {
    .footer-main {
        width: calc(100% - 60px);
        grid-template-columns: minmax(190px, 1.2fr) minmax(115px, 0.75fr) minmax(145px, 0.95fr) minmax(165px, 1fr);
        gap: 22px;
    }

    .footer-bottom {
        width: calc(100% - 60px);
    }

    .footer-logo-copy strong {
        font-size: 22px;
    }

    .footer-description {
        font-size: 12.5px;
    }

    .site-footer .footer-nav-link,
    .site-footer .footer-column > a {
        font-size: 12px;
    }
}
/* FOOTER DESKTOP END */


/* FOOTER TABLET START */
@media (max-width: 1100px) {
    .footer-main {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 28px 24px;
    }

    .footer-brand-column {
        grid-column: 1 / -1;
    }

    .footer-description {
        max-width: 500px;
    }
}

@media (max-width: 850px) {
    .footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 24px;
    }

    .footer-brand-column {
        grid-column: 1 / -1;
    }
}
/* FOOTER TABLET END */


/* FOOTER MOBILE START */
@media (max-width: 760px) {
    .site-footer {
        width: 100%;
        margin-left: 0;
    }

    .footer-main {
        width: calc(100% - 36px);
        max-width: 100%;
        padding: 34px 0 29px;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 20px;
    }

    .footer-brand-column {
        grid-column: 1 / -1;
    }

    .footer-description {
        max-width: 480px;
    }

    .footer-heading {
        margin-bottom: 8px;
    }

    .footer-bottom {
        width: calc(100% - 36px);
        max-width: 100%;
        padding: 17px 0 21px;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
    }
}
/* FOOTER MOBILE END */


/* FOOTER SMALL MOBILE START */
@media (max-width: 440px) {
    .footer-main {
        width: calc(100% - 28px);
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 25px 14px;
    }

    .footer-brand-column {
        grid-column: 1 / -1;
    }

    .footer-logo-mark {
        width: 42px;
        height: 42px;
        flex-basis: 42px;
    }

    .footer-logo-copy strong {
        font-size: 22px;
    }

    .footer-logo-copy small {
        font-size: 8px;
    }

    .footer-description {
        font-size: 12px;
    }

    .footer-heading {
        font-size: 9px;
    }

    .site-footer .footer-nav-link,
    .site-footer .footer-column > a {
        font-size: 11.5px;
        line-height: 1.55;
    }

    .footer-bottom {
        width: calc(100% - 28px);
    }

    .site-footer .footer-home-button {
        min-width: 170px;
    }
}
/* FOOTER SMALL MOBILE END */
/* FOOTER ADDRESS START */
.footer-address {
    margin: 0;
    color: #F0D29E;
    font-style: normal;
    font-size: 12px;
    line-height: 1.85;
}
/* FOOTER ADDRESS END */

/* LEGAL PAGES START */
.legal-page {
    --legal-dark: #10262C;
    --legal-deep: #19363D;
    --legal-gold: #D5A661;
    --legal-gold-light: #F0D39C;
    --legal-paper: #FFF9EF;
    --legal-cream: #F6EBDD;
    --legal-background: #E7EDE9;
    --legal-ink: #263F44;
    --legal-muted: #5F7376;
    --legal-border: #CFDCD6;

    min-height: 100vh;
    background: var(--legal-background);
    color: var(--legal-ink);
}

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

.legal-page [hidden] {
    display: none !important;
}
/* LEGAL PAGES END */


/* LEGAL HEADER START */
.legal-page .site-header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
    width: 100%;
    height: var(--header-height);
}

.legal-page .main-navigation a.nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
}

.legal-page .main-navigation a.nav-link:hover {
    color: var(--gold-light);
}

.legal-page .site-logo {
    text-decoration: none;
}

.legal-page .header-play {
    flex-shrink: 0;
}
/* LEGAL HEADER END */


/* LEGAL SIDE NAVIGATION START */
.legal-page .side-navigation {
    position: fixed;
    z-index: 90;
    top: var(--header-height);
    left: 0;
    bottom: 0;
}

.legal-page .side-navigation a.side-nav-item {
    text-decoration: none;
}

.legal-page .side-navigation a.side-nav-item:hover {
    color: #FFFFFF;
    background: rgba(240, 211, 156, .13);
}
/* LEGAL SIDE NAVIGATION END */


/* LEGAL MAIN START */
.legal-main {
    min-height: 100vh;
    margin-left: var(--side-width);
    padding-top: var(--header-height);

    background:
        radial-gradient(
            circle at 95% 5%,
            rgba(213, 166, 97, .12),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #E7EEEA,
            #F5F0E7
        );
}

.legal-container {
    width: calc(100% - 76px);
    max-width: 1450px;
    margin: 0 auto;
}
/* LEGAL MAIN END */


/* LEGAL BREADCRUMBS START */
.legal-breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;

    padding: 28px 0 18px;

    color: #6B7D79;
    font-size: 12px;
    line-height: 1.6;
}

.legal-breadcrumbs a {
    color: #31707A;
    font-weight: 700;
    text-decoration: none;
}

.legal-breadcrumbs a:hover {
    color: #A87842;
    text-decoration: underline;
}

.legal-breadcrumbs [aria-current="page"] {
    color: #435B5C;
}
/* LEGAL BREADCRUMBS END */


/* LEGAL PAGE HEADER START */
.legal-page-header {
    position: relative;
    overflow: hidden;

    margin-bottom: 34px;
    padding: 55px 53px 52px;

    border: 1px solid rgba(240, 211, 156, .35);
    border-bottom: 4px solid #D5A661;

    background:
        radial-gradient(
            circle at 95% 20%,
            rgba(213, 166, 97, .16),
            transparent 34%
        ),
        linear-gradient(
            125deg,
            #10262C,
            #20505A 65%,
            #173840
        );

    color: #FFF8EC;
}

.legal-page-header::after {
    content: "";
    position: absolute;
    top: -160px;
    right: -130px;

    width: 420px;
    height: 420px;

    border: 1px solid rgba(240, 211, 156, .14);
    border-radius: 50%;

    pointer-events: none;
}

.legal-eyebrow {
    position: relative;
    z-index: 1;

    display: block;
    margin-bottom: 15px;

    color: #F0D39C;

    font-size: 11px;
    font-weight: 800;
    letter-spacing: .16em;
    line-height: 1.5;
    text-transform: uppercase;
}

.legal-page-header h1 {
    position: relative;
    z-index: 1;

    max-width: 1100px;
    margin: 0 0 22px;

    color: #FFF8EC;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(43px, 4.5vw, 69px);
    font-weight: 400;
    line-height: 1.1;
    letter-spacing: -.035em;
}

.legal-page-intro {
    position: relative;
    z-index: 1;

    max-width: 970px;
    margin: 0 0 24px;

    color: rgba(255, 248, 236, .87);
    font-size: 16px;
    line-height: 1.8;
}

.legal-updated {
    position: relative;
    z-index: 1;

    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;

    margin: 0;
    padding: 10px 14px;

    border: 1px solid rgba(240, 211, 156, .45);
    border-radius: 4px;

    background: rgba(240, 211, 156, .1);
    color: #F0D39C;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: .07em;
}

.legal-updated .js-last-updated {
    color: #FFFFFF;
    font-weight: 800;
}
/* LEGAL PAGE HEADER END */


/* LEGAL LAYOUT START */
.legal-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 270px;
    align-items: start;
    gap: 26px;

    padding-bottom: 77px;
}

.legal-content {
    min-width: 0;
}
/* LEGAL LAYOUT END */


/* LEGAL CONTENT START */
.legal-content-section {
    position: relative;
    overflow: hidden;

    margin-bottom: 17px;
    padding: 30px 34px;

    border: 1px solid var(--legal-border);
    border-radius: 7px;

    background: var(--legal-paper);
    box-shadow: 0 9px 25px rgba(16, 45, 48, .06);

    scroll-margin-top: calc(var(--header-height) + 25px);
}

.legal-content-section::before {
    content: "";
    position: absolute;

    top: 0;
    bottom: 0;
    left: 0;

    width: 4px;

    background: linear-gradient(
        180deg,
        #D5A661,
        #4B8D8F
    );
}

.legal-content-section:last-child {
    margin-bottom: 0;
}

.legal-content-section h2 {
    margin: 0 0 18px;

    color: #284C52;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 2.6vw, 36px);
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: -.025em;
}

.legal-content-section h3 {
    margin: 24px 0 12px;

    color: #2B6269;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.3;
}

.legal-content-section p {
    margin: 0 0 16px;

    color: #526B70;

    font-size: 14px;
    line-height: 1.86;
}

.legal-content-section p:last-child {
    margin-bottom: 0;
}

.legal-content-section ul,
.legal-content-section ol {
    margin: 16px 0;
    padding-left: 23px;

    color: #526B70;

    font-size: 14px;
    line-height: 1.8;
}

.legal-content-section li {
    margin-bottom: 9px;
}

.legal-content-section a {
    color: #247784;
    text-decoration-color: #C99B61;
    text-underline-offset: 3px;
}

.legal-content-section a:hover {
    color: #9B6637;
}
/* LEGAL CONTENT END */


/* LEGAL SIDEBAR START */
.legal-sidebar {
    position: sticky;
    top: calc(var(--header-height) + 22px);

    min-width: 0;
}

.legal-sidebar-inner {
    padding: 25px 22px;

    border: 1px solid #C8D8D2;
    border-top: 4px solid #D5A661;
    border-radius: 7px;

    background: linear-gradient(
        145deg,
        #F8FAF5,
        #E4EEEA
    );

    box-shadow: 0 9px 25px rgba(16, 45, 48, .07);
}

.legal-sidebar-inner h2 {
    margin: 0 0 14px;

    color: #31565B;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 400;
    line-height: 1.25;
}

.legal-sidebar-inner h2:not(:first-child) {
    margin-top: 30px;
}

.legal-site-navigation,
.legal-page-navigation {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.legal-site-navigation a,
.legal-page-navigation a {
    position: relative;

    display: block;
    min-height: 42px;
    padding: 11px 12px;

    border-bottom: 1px solid rgba(53, 103, 99, .15);
    border-radius: 4px;

    color: #45696B;
    background: transparent;

    font-size: 13px;
    font-weight: 600;
    line-height: 1.45;
    text-decoration: none;

    transition:
        background 200ms ease,
        color 200ms ease,
        padding-left 200ms ease;
}

.legal-site-navigation a:hover,
.legal-page-navigation a:hover {
    padding-left: 17px;

    background: #D6E7E2;
    color: #205E69;
}

.legal-page-navigation a[aria-current="page"] {
    padding-left: 17px;

    background: #254F58;
    color: #FFFFFF;

    font-weight: 800;
}

.legal-page-navigation a[aria-current="page"]::before {
    content: "";
    position: absolute;

    left: 6px;
    top: 50%;

    width: 5px;
    height: 5px;

    border-radius: 50%;
    background: #F0D39C;

    transform: translateY(-50%);
}

.legal-sidebar-note {
    margin: 27px 0 0;
    padding-top: 19px;

    border-top: 1px solid #C8D8D2;

    color: #667B7D;

    font-size: 12px;
    line-height: 1.75;
}
/* LEGAL SIDEBAR END */


/* LEGAL FOOTER START */
.legal-page .site-footer {
    position: relative;
    z-index: 20;

    width: calc(100% - var(--side-width));
    margin-left: var(--side-width);
}

.legal-page .footer-logo {
    text-decoration: none;
}

.legal-page .footer-home-button {
    text-decoration: none;
}

.legal-page .footer-address {
    font-style: normal;
}
/* LEGAL FOOTER END */


/* LEGAL TABLET START */
@media (max-width: 1250px) {
    .legal-container {
        width: calc(100% - 48px);
    }

    .legal-layout {
        grid-template-columns: minmax(0, 1fr) 235px;
        gap: 21px;
    }

    .legal-content-section {
        padding: 27px 28px;
    }

    .legal-sidebar-inner {
        padding: 21px 18px;
    }
}

@media (max-width: 1100px) {
    .legal-page .main-navigation {
        display: none;
    }

    .legal-layout {
        grid-template-columns: minmax(0, 1fr) 225px;
    }

    .legal-page-header {
        padding: 45px 37px;
    }
}
/* LEGAL TABLET END */


/* LEGAL MOBILE START */
@media (max-width: 760px) {

    /* HEADER AND NAVIGATION */
    .legal-page .site-header {
        height: var(--header-height);
    }

    .legal-page .side-navigation {
        top: var(--header-height);
        bottom: auto;

        flex-direction: row;

        width: 100%;
        height: var(--mobile-nav-height);

        overflow-x: auto;
        overflow-y: hidden;
    }

    .legal-page .side-navigation a.side-nav-item {
        flex: 0 0 84px;
        min-height: var(--mobile-nav-height);
    }

    /* MAIN CONTENT */
    .legal-main {
        margin-left: 0;
        padding-top: calc(
            var(--header-height) + var(--mobile-nav-height)
        );
    }

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

    /* BREADCRUMBS */
    .legal-breadcrumbs {
        padding: 21px 0 14px;
        font-size: 11px;
    }

    /* PAGE HEADER */
    .legal-page-header {
        margin-bottom: 22px;
        padding: 29px 22px 31px;
    }

    .legal-eyebrow {
        margin-bottom: 10px;
        font-size: 9px;
    }

    .legal-page-header h1 {
        margin-bottom: 16px;
        font-size: clamp(32px, 8vw, 44px);
    }

    .legal-page-intro {
        margin-bottom: 20px;
        font-size: 13px;
        line-height: 1.72;
    }

    .legal-updated {
        padding: 8px 11px;
        font-size: 10px;
    }

    /* CONTENT FIRST */
    .legal-layout {
        display: flex;
        flex-direction: column;
        gap: 22px;
        padding-bottom: 45px;
    }

    .legal-content {
        order: 1;
        width: 100%;
    }

    .legal-sidebar {
        position: static;
        order: 2;
        width: 100%;
    }

    /* ARTICLES */
    .legal-content-section {
        margin-bottom: 13px;
        padding: 23px 20px;
    }

    .legal-content-section h2 {
        margin-bottom: 14px;
        font-size: 27px;
    }

    .legal-content-section h3 {
        font-size: 21px;
    }

    .legal-content-section p,
    .legal-content-section ul,
    .legal-content-section ol {
        font-size: 13px;
        line-height: 1.78;
    }

    /* RELATED LINKS */
    .legal-sidebar-inner {
        padding: 22px 20px;
    }

    .legal-site-navigation,
    .legal-page-navigation {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 5px 11px;
    }

    .legal-site-navigation a,
    .legal-page-navigation a {
        min-width: 0;
        padding: 11px;
        font-size: 12px;
    }

    /* FOOTER */
    .legal-page .site-footer {
        width: 100%;
        margin-left: 0;
    }
}
/* LEGAL MOBILE END */


/* LEGAL SMALL MOBILE START */
@media (max-width: 440px) {
    .legal-container {
        width: calc(100% - 24px);
    }

    .legal-page-header {
        padding: 25px 18px 27px;
    }

    .legal-page-header h1 {
        font-size: 33px;
    }

    .legal-content-section {
        padding: 21px 17px;
    }

    .legal-content-section h2 {
        font-size: 25px;
    }

    .legal-site-navigation,
    .legal-page-navigation {
        grid-template-columns: 1fr;
    }

    .legal-sidebar-inner h2 {
        font-size: 23px;
    }
}
/* LEGAL SMALL MOBILE END */



