/* ==========================================================
   BOOMTOWN CASINO
   GLOBAL VARIABLES START
========================================================== */

:root {
    --color-midnight: #0A1420;
    --color-background: #09131D;
    --color-header: #09131D;
    --color-footer: #080F18;
    --color-gold: #E9BE7D;
    --color-gold-light: #F6DCA7;
    --color-gold-dark: #B78342;
    --color-white: #FFFFFF;
    --color-text: #F4F1EC;
    --color-muted: #B8C0CB;
    --color-border: rgba(233, 190, 125, 0.20);
    --font-body: Arial, Helvetica, sans-serif;
    --font-display: Georgia, "Times New Roman", serif;
    --header-height: 84px;
    --navigation-width: 84px;
    --transition-fast: 180ms ease;
    --transition-normal: 280ms ease;
}

/* GLOBAL VARIABLES END */


/* ==========================================================
   GLOBAL RESET START
========================================================== */

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    min-width: 320px;
    scroll-behavior: smooth;
}

body {
    display: flex;
    flex-direction: column;
    min-width: 320px;
    min-height: 100vh;
    min-height: 100svh;
    margin: 0;
    background: var(--color-background);
    color: var(--color-text);
    font-family: var(--font-body);
    line-height: 1.6;
    overflow-x: clip;
}

a {
    color: inherit;
    text-decoration: none;
}

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

button {
    font: inherit;
}

svg {
    display: block;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

[hidden] {
    display: none !important;
}

:focus-visible {
    outline: 3px solid var(--color-gold);
    outline-offset: 4px;
}

::selection {
    background: var(--color-gold);
    color: var(--color-header);
}

/* GLOBAL RESET END */


/* ==========================================================
   ACCESSIBILITY START
========================================================== */

.skip-link {
    position: fixed;
    top: -100px;
    left: 16px;
    z-index: 9999;
    padding: 12px 20px;
    background: var(--color-gold);
    color: var(--color-header);
    font-size: 14px;
    font-weight: 700;
    border-radius: 6px;
}

.skip-link:focus {
    top: 12px;
}

/* ACCESSIBILITY END */


/* ==========================================================
   HEADER START
========================================================== */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    background: rgba(9, 19, 29, 0.97);
    border-bottom: 1px solid var(--color-border);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.site-header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    width: 100%;
    max-width: 1920px;
    min-height: var(--header-height);
    margin: 0 auto;
    padding: 0 30px;
}

/* HEADER END */


/* ==========================================================
   HEADER BRAND START
========================================================== */

.site-brand {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
    min-width: 0;
    color: var(--color-gold);
}

.site-brand__mark {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 45px;
    height: 45px;
    flex-shrink: 0;
}

.site-brand__mark svg {
    width: 100%;
    height: 100%;
}

.site-brand__name {
    display: flex;
    flex-direction: column;
    line-height: 1.1;
    text-align: center;
}

.site-brand__name strong {
    font-family: var(--font-display);
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.055em;
    white-space: nowrap;
}

.site-brand__name small {
    margin-top: 5px;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: 0.40em;
}

/* HEADER BRAND END */


/* ==========================================================
   DESKTOP NAVIGATION START
========================================================== */

.desktop-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: clamp(9px, 1.05vw, 20px);
    min-width: 0;
}

.desktop-nav__link {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 48px;
    color: #C2C8D0;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    transition: color var(--transition-fast);
}

.desktop-nav__link::after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 5px;
    left: 0;
    height: 2px;
    background: var(--color-gold);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform var(--transition-normal);
}

.desktop-nav__link:hover,
.desktop-nav__link.is-active {
    color: var(--color-gold-light);
}

.desktop-nav__link:hover::after,
.desktop-nav__link.is-active::after {
    transform: scaleX(1);
}

/* DESKTOP NAVIGATION END */


/* ==========================================================
   PLAY NOW BUTTON START
========================================================== */

.play-now {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-shrink: 0;
    min-height: 48px;
    padding: 0 25px;
    border: 1px solid var(--color-gold);
    border-radius: 999px;
    background: linear-gradient(
        135deg,
        #F6DCA7 0%,
        #E9BE7D 55%,
        #C8924E 100%
    );
    color: #101820;
    font-size: 14px;
    font-weight: 800;
    box-shadow: 0 8px 26px rgba(0, 0, 0, 0.22);
    transition:
        transform var(--transition-normal),
        box-shadow var(--transition-normal),
        filter var(--transition-normal);
}

.play-now svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    stroke: currentColor;
    transition: transform var(--transition-fast);
}

.play-now:hover {
    transform: translateY(-2px);
    filter: brightness(1.07);
    box-shadow: 0 12px 32px rgba(233, 190, 125, 0.20);
}

.play-now:hover svg {
    transform: translateX(3px);
}

.play-now:active {
    transform: translateY(0);
}

.play-now--header {
    min-height: 46px;
}

/* PLAY NOW BUTTON END */


/* ==========================================================
   FLOATING SECTION NAVIGATION START
========================================================== */

.section-nav {
    position: fixed;
    top: 50%;
    right: 14px;
    z-index: 950;
    display: flex;
    flex-direction: column;
    gap: 3px;
    width: var(--navigation-width);
    max-height: calc(100svh - 110px);
    padding: 8px 7px;
    border: 1px solid rgba(233, 190, 125, 0.22);
    border-radius: 20px;
    background: rgba(9, 19, 29, 0.96);
    box-shadow: 0 16px 45px rgba(0, 0, 0, 0.35);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    overflow-y: auto;
    scrollbar-width: thin;
    scrollbar-color: rgba(233, 190, 125, 0.45) transparent;
    transform: translateY(-50%);
}

.section-nav__item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-shrink: 0;
    min-height: 54px;
    padding: 6px 3px;
    border: 1px solid transparent;
    border-radius: 12px;
    color: var(--color-muted);
    text-align: center;
    transition:
        color var(--transition-fast),
        background var(--transition-fast),
        border-color var(--transition-fast);
}

.section-nav__item svg {
    width: 21px;
    height: 21px;
    flex-shrink: 0;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.section-nav__item span {
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
}

.section-nav__item:hover {
    color: var(--color-gold-light);
    background: rgba(233, 190, 125, 0.09);
}

.section-nav__item.is-active {
    color: var(--color-gold-light);
    background: rgba(233, 190, 125, 0.15);
    border-color: rgba(233, 190, 125, 0.42);
}

/* FLOATING SECTION NAVIGATION END */


/* ==========================================================
   MAIN CONTENT START
========================================================== */

#mainContent {
    position: relative;
    width: 100%;
    min-height: 60vh;
    flex: 1 0 auto;
}

#mainContent [data-page-view] {
    position: relative;
    width: 100%;
    scroll-margin-top: var(--header-height);
}

#mainContent [data-page-view]:focus {
    outline: none;
}

#mainContent [data-page-view]:focus-visible {
    outline: 3px solid var(--color-gold);
    outline-offset: -3px;
}

/* MAIN CONTENT END */


/* ==========================================================
   HERO SECTION START
========================================================== */

.hero {
    position: relative;
    isolation: isolate;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: max(
        660px,
        calc(100svh - var(--header-height) - 58px)
    );
    overflow: hidden;
    background: #0A1420;
}

/* HERO BACKGROUND START */

.hero__background,
.hero__overlay {
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.hero__background {
    z-index: -2;
    background-image: url("../images/hero.webp");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.hero__overlay {
    z-index: -1;
    background: linear-gradient(
        90deg,
        rgba(5, 12, 22, 0.94) 0%,
        rgba(5, 12, 22, 0.86) 24%,
        rgba(5, 12, 22, 0.60) 43%,
        rgba(5, 12, 22, 0.12) 68%,
        rgba(5, 12, 22, 0.04) 100%
    );
}

/* HERO BACKGROUND END */


/* HERO CONTENT START */

.hero__container {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    max-width: 1700px;
    margin: auto;
    padding: 75px 145px 85px 7%;
}

.hero__copy {
    width: 100%;
    max-width: 630px;
}

/* HERO EYEBROW START */

.hero__eyebrow {
    display: flex;
    align-items: center;
    gap: 13px;
    margin: 0 0 25px;
    color: var(--color-gold);
    font-size: 11px;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: 0.18em;
}

.hero__eyebrow-line {
    width: 35px;
    height: 1px;
    flex-shrink: 0;
    background: var(--color-gold);
}

/* HERO EYEBROW END */


/* HERO TITLE START */

.hero h1 {
    margin: 0;
    color: var(--color-white);
    font-family: var(--font-display);
    font-size: clamp(45px, 4.7vw, 76px);
    font-weight: 400;
    line-height: 1.10;
    letter-spacing: -0.035em;
}

.hero h1 span {
    display: block;
    color: var(--color-gold-light);
}

/* HERO TITLE END */


/* HERO SUBTITLE START */

.hero__subtitle {
    margin: 28px 0 22px;
    color: var(--color-text);
    font-size: clamp(19px, 1.9vw, 26px);
    font-weight: 600;
    line-height: 1.4;
}

.hero__subtitle em {
    color: var(--color-gold);
    font-family: var(--font-display);
    font-weight: 400;
}

/* HERO SUBTITLE END */


/* HERO DESCRIPTION START */

.hero__description {
    max-width: 600px;
    color: #E0E3E8;
    font-size: 15px;
    line-height: 1.85;
}

.hero__description p {
    margin: 0 0 17px;
}

.hero__description p:last-child {
    margin-bottom: 0;
}

/* HERO DESCRIPTION END */


/* HERO ACTION START */

.hero__actions {
    display: flex;
    align-items: center;
    margin-top: 35px;
}

.play-now--hero {
    min-height: 56px;
    padding: 0 33px;
    font-size: 15px;
}

/* HERO ACTION END */

/* HERO CONTENT END */

/* HERO SECTION END */


/* ==========================================================
   SITE FOOTER START
========================================================== */

.site-footer {
    --footer-gold: #E9BE7D;
    --footer-cream: #F5E7D1;
    --footer-muted: #AEBCC9;
    --footer-border: rgba(233, 190, 125, .18);

    position: relative;
    z-index: 10;
    width: 100%;
    padding: 54px 0 0;
    border-top: 1px solid rgba(233, 190, 125, .32);
    background: linear-gradient(135deg, #101D2B, #0B1521 60%, #09111B);
    color: #F2F0EB;
    text-align: left;
}

.site-footer__container {
    width: min(1320px, calc(100% - 180px));
    margin: 0 auto;
}

.site-footer *,
.site-footer *::before,
.site-footer *::after {
    box-sizing: border-box;
}

/* FOOTER FOUNDATION END */


/* ==========================================================
   FOOTER MAIN LAYOUT START
========================================================== */

.site-footer__main {
    display: grid;
    grid-template-columns: minmax(270px, 1.5fr) minmax(140px, .85fr) minmax(150px, .9fr) minmax(190px, 1fr);
    align-items: start;
    gap: clamp(25px, 3vw, 45px);
    padding-bottom: 43px;
}

/* FOOTER MAIN LAYOUT END */


/* ==========================================================
   FOOTER BRAND START
========================================================== */

.site-footer__brand {
    min-width: 0;
}

.site-footer__logo {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    width: fit-content;
    min-height: 52px;
    color: var(--footer-gold);
    transition: color 180ms ease;
}

.site-footer__logo:hover {
    color: #F9DCA9;
}

.site-footer__logo-mark {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 45px;
    width: 45px;
    height: 45px;
}

.site-footer__logo-mark svg {
    display: block;
    width: 100%;
    height: 100%;
}

.site-footer__logo-name {
    display: flex;
    flex-direction: column;
    align-items: center;
    line-height: 1.12;
}

.site-footer__logo-name strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 600;
    letter-spacing: .055em;
}

.site-footer__logo-name small {
    margin-top: 4px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .4em;
}

.site-footer__description {
    max-width: 355px;
    margin: 22px 0 23px;
    color: var(--footer-muted);
    font-size: 14px;
    line-height: 1.8;
}

/* FOOTER BRAND END */


/* ==========================================================
   FOOTER ADDRESS START
========================================================== */

.site-footer__location {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-top: 19px;
    border-top: 1px solid var(--footer-border);
}

.site-footer__location svg {
    flex: 0 0 23px;
    width: 23px;
    height: 23px;
    margin-top: 3px;
    color: var(--footer-gold);
}

.site-footer__location address {
    color: #D5DFE7;
    font-size: 13px;
    font-style: normal;
    line-height: 1.8;
}

.site-footer__location address strong {
    display: block;
    margin-bottom: 3px;
    color: var(--footer-cream);
    font-size: 15px;
}

/* FOOTER ADDRESS END */


/* ==========================================================
   FOOTER NAVIGATION START
========================================================== */

.site-footer__column {
    min-width: 0;
}

.site-footer__column h2 {
    position: relative;
    margin: 5px 0 23px;
    padding-bottom: 13px;
    color: #F7E4C6;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.25;
}

.site-footer__column h2::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 36px;
    height: 2px;
    background: var(--footer-gold);
}

.site-footer__links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__links li {
    display: block;
    width: 100%;
    min-width: 0;
}

.site-footer__links a {
    display: inline-flex;
    align-items: center;
    min-height: 37px;
    padding: 6px 0;
    color: #C5D1DB;
    font-size: 14px;
    line-height: 1.5;
    overflow-wrap: anywhere;
    transition: color 180ms ease, transform 180ms ease;
}

.site-footer__links a:hover,
.site-footer__links a:focus-visible {
    color: #F6D49A;
}

.site-footer__links a:hover {
    transform: translateX(3px);
}

.site-footer__links a:focus-visible,
.site-footer__logo:focus-visible {
    outline: 2px solid var(--footer-gold);
    outline-offset: 4px;
}

.site-footer__links a.is-active {
    color: #F4C987;
}

/* FOOTER NAVIGATION END */


/* ==========================================================
   FOOTER GAMING NOTE START
========================================================== */

.site-footer__gaming-note {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    margin-top: 25px;
    padding-top: 17px;
    border-top: 1px solid var(--footer-border);
}

.site-footer__gaming-note svg {
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
    color: #D7AE74;
}

.site-footer__gaming-note p {
    margin: 0;
    color: #9FADBB;
    font-size: 12px;
    line-height: 1.7;
}

/* FOOTER GAMING NOTE END */


/* ==========================================================
   FOOTER LEGAL NOTE START
========================================================== */

.site-footer__legal-note {
    margin: 24px 0 0;
    padding-top: 16px;
    border-top: 1px solid var(--footer-border);
    color: #9FADBB;
    font-size: 12px;
    line-height: 1.75;
}

/* FOOTER LEGAL NOTE END */


/* ==========================================================
   FOOTER BOTTOM START
========================================================== */

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 21px 0;
    border-top: 1px solid var(--footer-border);
}

.site-footer__copyright,
.site-footer__age {
    margin: 0;
    color: #9FADBB;
    font-size: 12px;
    line-height: 1.7;
}

.site-footer__age {
    display: inline-flex;
    align-items: center;
    gap: 11px;
    text-align: right;
}

.site-footer__age span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 38px;
    width: 38px;
    height: 30px;
    border: 1px solid rgba(233, 190, 125, .48);
    border-radius: 6px;
    color: #F4D2A0;
    font-size: 13px;
    font-weight: 800;
}

/* FOOTER BOTTOM END */


/* ==========================================================
   FOOTER LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {
    .site-footer__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .site-footer__main {
        grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(130px, 1fr));
        gap: 22px;
    }

    .site-footer__column h2 {
        font-size: 20px;
    }
}

/* FOOTER LAPTOP RESPONSIVE END */


/* ==========================================================
   FOOTER TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {
    .site-footer {
        padding: 43px 0 0;
    }

    .site-footer__container {
        width: calc(100% - 48px);
        margin: 0 auto;
    }

    .site-footer__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 30px 27px;
        padding-bottom: 34px;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }

    .site-footer__description {
        max-width: 540px;
    }

    .site-footer__location {
        max-width: 540px;
    }
}

/* FOOTER TABLET RESPONSIVE END */


/* ==========================================================
   FOOTER MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {
    .site-footer {
        padding: 35px 0 0;
    }

    .site-footer__container {
        width: calc(100% - 32px);
    }

    .site-footer__main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 28px 16px;
        padding-bottom: 28px;
    }

    .site-footer__brand {
        grid-column: 1 / -1;
    }

    .site-footer__logo-name strong {
        font-size: 20px;
    }

    .site-footer__logo-name small {
        font-size: 9px;
    }

    .site-footer__logo-mark {
        flex-basis: 40px;
        width: 40px;
        height: 40px;
    }

    .site-footer__description {
        margin: 17px 0;
        font-size: 14px;
    }

    .site-footer__column h2 {
        margin: 0 0 17px;
        font-size: 19px;
    }

    .site-footer__links {
        gap: 3px;
    }

    .site-footer__links a {
        min-height: 40px;
        font-size: 13px;
    }

    .site-footer__gaming-note {
        gap: 8px;
        margin-top: 18px;
    }

    .site-footer__gaming-note svg {
        flex-basis: 20px;
        width: 20px;
        height: 20px;
    }

    .site-footer__gaming-note p,
    .site-footer__legal-note {
        font-size: 11px;
    }

    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 12px;
        padding: 18px 0 22px;
    }

    .site-footer__age {
        text-align: left;
    }
}

/* FOOTER MOBILE RESPONSIVE END */


/* ==========================================================
   FOOTER SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {
    .site-footer__container {
        width: calc(100% - 24px);
    }

    .site-footer__main {
        gap: 24px 12px;
    }

    .site-footer__column h2 {
        font-size: 18px;
    }

    .site-footer__links a {
        font-size: 12px;
    }
}

/* FOOTER SMALL MOBILE END */


/* ==========================================================
   SITE FOOTER END
========================================================== */


/* ==========================================================
   LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1500px) {
    .site-header__inner {
        gap: 14px;
        padding: 0 22px;
    }

    .desktop-nav {
        gap: 10px;
    }

    .desktop-nav__link {
        font-size: 12px;
    }

    .hero__container {
        padding-left: 6%;
    }
}

/* LAPTOP RESPONSIVE END */


/* ==========================================================
   SMALL LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1250px) {
    :root {
        --header-height: 74px;
    }

    .desktop-nav {
        display: none;
    }

    .site-header__inner {
        justify-content: space-between;
    }

    .hero__copy {
        max-width: 590px;
    }

    .hero__container {
        padding: 65px 125px 75px 5%;
    }

    .hero h1 {
        font-size: clamp(43px, 5.2vw, 68px);
    }
}

/* SMALL LAPTOP RESPONSIVE END */


/* ==========================================================
   TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {

    /* MOBILE SECTION NAVIGATION START */

    .section-nav {
        top: auto;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1100;
        flex-direction: row;
        align-items: stretch;
        gap: 6px;
        width: 100%;
        max-height: none;
        padding:
            8px
            max(10px, env(safe-area-inset-right))
            calc(8px + env(safe-area-inset-bottom))
            max(10px, env(safe-area-inset-left));
        border: 0;
        border-top: 1px solid rgba(233, 190, 125, 0.28);
        border-radius: 0;
        overflow-x: auto;
        overflow-y: hidden;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        transform: none;
    }

    .section-nav::-webkit-scrollbar {
        display: none;
    }

    .section-nav__item {
        flex: 0 0 82px;
        min-width: 82px;
        min-height: 60px;
        padding: 7px 6px;
        scroll-snap-align: center;
    }

    .section-nav__item svg {
        width: 22px;
        height: 22px;
    }

    body {
        padding-bottom: calc(86px + env(safe-area-inset-bottom));
    }
    .legal-body {
        padding-bottom: 0;
    }
    /* MOBILE SECTION NAVIGATION END */


    /* TABLET HERO START */

    .hero {
        min-height: calc(100svh - var(--header-height));
    }

    .hero__background {
        background-position: 65% center;
    }

    .hero__overlay {
        background: linear-gradient(
            90deg,
            rgba(5, 12, 22, 0.94) 0%,
            rgba(5, 12, 22, 0.80) 50%,
            rgba(5, 12, 22, 0.40) 100%
        );
    }

    .hero__container {
        padding: 65px 35px 75px;
    }

    .hero__copy {
        max-width: 650px;
    }

  
    /* TABLET HERO END */
}

/* TABLET RESPONSIVE END */


/* ==========================================================
   MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {
    :root {
        --header-height: 68px;
    }

    /* MOBILE HEADER START */

    .site-header__inner {
        min-height: var(--header-height);
        padding: 0 13px;
        gap: 10px;
    }

    .site-brand {
        gap: 7px;
    }

    .site-brand__mark {
        width: 34px;
        height: 34px;
    }

    .site-brand__name strong {
        font-size: 17px;
        letter-spacing: 0.035em;
    }

    .site-brand__name small {
        margin-top: 4px;
        font-size: 8px;
        letter-spacing: 0.30em;
    }

    .play-now--header {
        min-height: 42px;
        padding: 0 14px;
        gap: 7px;
        font-size: 12px;
    }

    .play-now--header svg {
        width: 15px;
        height: 15px;
    }

    /* MOBILE HEADER END */


    /* MOBILE NAVIGATION START */

    .section-nav__item {
        flex-basis: 76px;
        min-width: 76px;
        min-height: 58px;
    }

    .section-nav__item span {
        font-size: 10px;
    }

    /* MOBILE NAVIGATION END */


    /* MOBILE HERO START */

    .hero {
        min-height: calc(100svh - var(--header-height));
    }

    .hero__background {
        background-position: 69% center;
    }

    .hero__overlay {
        background: linear-gradient(
            180deg,
            rgba(5, 12, 22, 0.84) 0%,
            rgba(5, 12, 22, 0.76) 48%,
            rgba(5, 12, 22, 0.93) 100%
        );
    }

    .hero__container {
        padding: 55px 22px 65px;
    }

    .hero__eyebrow {
        gap: 10px;
        margin-bottom: 22px;
        font-size: 9px;
        letter-spacing: 0.12em;
    }

    .hero__eyebrow-line {
        width: 25px;
    }

    .hero h1 {
        font-size: clamp(37px, 10vw, 54px);
        line-height: 1.13;
        overflow-wrap: break-word;
    }

    .hero__subtitle {
        margin: 22px 0;
        font-size: 19px;
    }

    .hero__description {
        font-size: 14px;
        line-height: 1.8;
    }

    .hero__description p {
        margin-bottom: 15px;
    }

    .hero__actions {
        margin-top: 29px;
    }

    .play-now--hero {
        min-height: 53px;
        padding: 0 28px;
    }

    /* MOBILE HERO END */
}

/* MOBILE RESPONSIVE END */


/* ==========================================================
   SMALL MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 360px) {
    .site-brand__mark {
        width: 30px;
        height: 30px;
    }

    .site-brand__name strong {
        font-size: 15px;
    }

    .play-now--header {
        padding: 0 11px;
    }

    .hero__container {
        padding-right: 17px;
        padding-left: 17px;
    }

    .hero h1 {
        font-size: 36px;
    }
}

/* SMALL MOBILE RESPONSIVE END */


/* ==========================================================
   SHORT DESKTOP VIEWPORT START
========================================================== */

@media (min-width: 901px) and (max-height: 740px) {
    .section-nav {
        gap: 2px;
        padding-top: 6px;
        padding-bottom: 6px;
    }

    .section-nav__item {
        min-height: 45px;
        gap: 3px;
        padding: 4px 3px;
    }

    .section-nav__item svg {
        width: 18px;
        height: 18px;
    }

    .section-nav__item span {
        font-size: 9px;
    }
}

/* SHORT DESKTOP VIEWPORT END */


/* ==========================================================
   REDUCED MOTION START
========================================================== */

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

    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
    }
}

/* REDUCED MOTION END */

/* ==========================================================
   ABOUT SECTION START
========================================================== */

.about-section {
    position: relative;
    isolation: isolate;

    min-height: calc(100svh - var(--header-height, 84px));

    padding: 62px 0 78px;

    background:
        radial-gradient(
            ellipse at 85% 8%,
            rgba(63, 125, 112, 0.18),
            transparent 50%
        ),
        linear-gradient(
            135deg,
            #153033 0%,
            #102629 54%,
            #0B1C22 100%
        );

    color: #F5F2EB;
}

.about-section__container {
    width: min(1260px, calc(100% - 180px));

    margin: 0 auto;
}

/* ABOUT BASE END */


/* ==========================================================
   ABOUT INTRO START
========================================================== */

.about-section__intro {
    display: grid;

    grid-template-columns:
        minmax(0, 1.45fr)
        minmax(235px, 0.55fr);

    align-items: center;

    gap: 55px;

    margin-bottom: 55px;
}

.about-section__intro-main {
    min-width: 0;
}

.about-section__eyebrow {
    margin: 0 0 17px;

    color: #E9BE7D;

    font-size: 11px;
    font-weight: 700;

    letter-spacing: 0.18em;
}

.about-section__intro h2 {
    margin: 0 0 22px;

    font-family: Georgia, "Times New Roman", serif;

    font-size: clamp(36px, 3.8vw, 59px);
    font-weight: 400;

    line-height: 1.15;
    letter-spacing: -0.025em;
}

.about-section__intro h2 span {
    display: block;

    color: #E9BE7D;
}

.about-section__lead {
    margin: 0 0 18px;

    max-width: 740px;

    color: #F0DCC0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 1.7vw, 23px);

    line-height: 1.5;
}

.about-section__description {
    max-width: 750px;

    margin: 0 0 13px;

    color: #D2DFDA;

    font-size: 14px;
    line-height: 1.85;
}

.about-section__description:last-child {
    margin-bottom: 0;
}

/* ABOUT INTRO END */


/* ==========================================================
   ABOUT INTRO FEATURE START
========================================================== */

.about-section__intro-feature {
    padding: 28px 27px;

    border: 1px solid rgba(233, 190, 125, 0.38);
    border-radius: 15px;

    background:
        linear-gradient(
            145deg,
            #24413D,
            #182F32
        );
}

.about-section__feature-label {
    display: block;

    color: #E9BE7D;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.13em;
}

.about-section__intro-feature strong {
    display: block;

    margin: 16px 0;

    color: #F3D49F;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(38px, 3.5vw, 54px);
    font-weight: 400;

    line-height: 1.1;
}

.about-section__feature-divider {
    display: block;

    width: 55px;
    height: 2px;

    margin: 0 0 18px;

    background: #E9BE7D;
}

.about-section__intro-feature p {
    margin: 0;

    color: #D0DDD8;

    font-size: 13px;
    line-height: 1.75;
}

/* ABOUT INTRO FEATURE END */


/* ==========================================================
   ABOUT EXPLORE START
========================================================== */

.about-section__explore {
    padding: 34px;

    border: 1px solid rgba(233, 190, 125, 0.18);
    border-radius: 20px;

    background: #0B1B24;

    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.14);
}

.about-section__explore-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;

    gap: 30px;

    margin-bottom: 28px;
}

.about-section__explore-heading > div {
    max-width: 650px;
}

.about-section__explore-heading h3 {
    margin: 0;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 400;

    line-height: 1.25;
}

.about-section__explore-heading h3 span {
    display: block;

    color: #E9BE7D;
}

.about-section__explore-heading > p {
    max-width: 345px;

    margin: 0;

    color: #B9CBC7;

    font-size: 13px;
    line-height: 1.75;
}

/* ABOUT EXPLORE END */


/* ==========================================================
   ABOUT TABS START
========================================================== */

.about-section__tabs {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 10px;

    margin-bottom: 18px;
}

.about-section__tab {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 11px;

    min-height: 57px;

    padding: 12px 15px;

    border: 1px solid rgba(233, 190, 125, 0.42);
    border-radius: 11px;

    background: #203B3D;

    color: #F2E5CF;

    font-family: Arial, Helvetica, sans-serif;
    font-size: 13px;
    font-weight: 700;

    cursor: pointer;

    transition:
        background 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        transform 180ms ease;
}

.about-section__tab svg {
    width: 22px;
    height: 22px;

    flex-shrink: 0;

    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-section__tab:hover {
    background: #305453;

    border-color: #E9BE7D;

    transform: translateY(-2px);
}

.about-section__tab.is-active {
    background: linear-gradient(
        135deg,
        #F6DCA7,
        #E9BE7D 65%,
        #D6A55F
    );

    border-color: #E9BE7D;

    color: #102027;

    box-shadow: 0 8px 22px rgba(233, 190, 125, 0.15);
}

.about-section__tab:focus-visible {
    outline: 3px solid #FFFFFF;
    outline-offset: 3px;
}

/* ABOUT TABS END */


/* ==========================================================
   ABOUT PANELS START
========================================================== */

.about-section__panels {
    min-height: 310px;
}

.about-section__panel {
    padding: 30px;

    border: 1px solid rgba(233, 190, 125, 0.16);
    border-radius: 14px;

    background: #162D33;
}

.about-section__panel-label {
    margin: 0 0 13px;

    color: #E9BE7D;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.16em;
}

.about-section__panel h4 {
    margin: 0 0 19px;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 2.7vw, 39px);
    font-weight: 400;

    line-height: 1.2;
}

.about-section__panel h4 span {
    display: block;

    color: #E9BE7D;
}

.about-section__panel p {
    color: #CDDBD7;

    font-size: 14px;
    line-height: 1.85;
}

/* ABOUT PANELS END */


/* ==========================================================
   ABOUT STORY START
========================================================== */

.about-section__panel-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.5fr)
        minmax(230px, 0.5fr);

    align-items: center;

    gap: 40px;
}

.about-section__panel-copy p:not(.about-section__panel-label) {
    margin: 0 0 14px;
}

.about-section__panel-copy p:last-child {
    margin-bottom: 0;
}

.about-section__story-feature {
    padding: 27px;

    border-left: 3px solid #E9BE7D;

    background: #21413F;
}

.about-section__story-feature > span {
    display: block;

    color: #E9BE7D;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.13em;
}

.about-section__story-feature strong {
    display: block;

    margin: 16px 0;

    color: #F0D19B;

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

    line-height: 1;
}

.about-section__story-feature p {
    margin: 0;

    font-size: 13px;
    line-height: 1.8;
}

/* ABOUT STORY END */


/* ==========================================================
   ABOUT EXPERIENCE START
========================================================== */

.about-section__panel-heading {
    max-width: 820px;

    margin-bottom: 25px;
}

.about-section__panel-heading > p:last-child {
    margin: 0;
}

.about-section__experience-grid {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 13px;
}

.about-section__experience-card {
    padding: 25px 22px;

    border: 1px solid rgba(233, 190, 125, 0.22);
    border-radius: 12px;

    background: #244241;
}

.about-section__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 46px;
    height: 46px;

    margin-bottom: 17px;

    border-radius: 11px;

    background: rgba(233, 190, 125, 0.1);

    color: #E9BE7D;
}

.about-section__card-icon svg {
    width: 26px;
    height: 26px;

    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-section__experience-card h5 {
    margin: 0 0 12px;

    color: #F3D6A5;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 21px;
    font-weight: 400;
}

.about-section__experience-card p {
    margin: 0;

    font-size: 13px;
    line-height: 1.75;
}

.about-section__venue-detail {
    display: flex;
    align-items: center;

    gap: 35px;

    margin-top: 16px;
    padding: 22px 25px;

    border: 1px solid rgba(233, 190, 125, 0.20);
    border-radius: 11px;

    background: #10272C;
}

.about-section__venue-detail > div {
    flex: 0 0 215px;
}

.about-section__venue-detail strong {
    display: block;

    color: #F1D19D;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    font-weight: 400;
}

.about-section__venue-detail span {
    display: block;

    margin-top: 3px;

    color: #E9BE7D;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.1em;
}

.about-section__venue-detail p {
    margin: 0;

    font-size: 13px;
}

/* ABOUT EXPERIENCE END */


/* ==========================================================
   ABOUT LOCATION START
========================================================== */

.about-section__location-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1.1fr)
        minmax(250px, 0.9fr);

    gap: 35px;
}

.about-section__location-copy > p:not(.about-section__panel-label) {
    margin: 0 0 14px;
}

.about-section__address {
    display: flex;
    align-items: flex-start;

    gap: 17px;

    margin-top: 25px;
    padding: 21px;

    border: 1px solid rgba(233, 190, 125, 0.30);
    border-radius: 12px;

    background: #254440;
}

.about-section__address svg {
    width: 27px;
    height: 27px;

    flex-shrink: 0;

    margin-top: 4px;

    stroke: #E9BE7D;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}

.about-section__address address {
    color: #E7EDE9;

    font-size: 14px;
    font-style: normal;

    line-height: 1.8;
}

.about-section__address strong {
    display: block;

    margin-bottom: 4px;

    color: #F0D19B;

    font-size: 17px;
}

.about-section__community {
    padding: 28px;

    border: 1px solid rgba(233, 190, 125, 0.28);
    border-radius: 13px;

    background: linear-gradient(
        145deg,
        #284740,
        #1B3535
    );
}

.about-section__community-label {
    color: #E9BE7D;

    font-size: 10px;
    font-weight: 700;

    letter-spacing: 0.13em;
}

.about-section__community h5 {
    margin: 20px 0;

    color: #F1D6A8;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 26px;
    font-weight: 400;
}

.about-section__community p {
    margin: 0 0 14px;

    font-size: 13px;
    line-height: 1.8;
}

.about-section__community strong {
    display: block;

    margin-top: 22px;

    color: #F0D19B;

    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    font-weight: 400;

    line-height: 1.5;
}

/* ABOUT LOCATION END */


/* ==========================================================
   ABOUT LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {

    .about-section__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .about-section__intro {
        gap: 30px;
    }

    .about-section__explore {
        padding: 25px;
    }

    .about-section__experience-grid {
        gap: 10px;
    }

    .about-section__experience-card {
        padding: 20px;
    }

}

/* ABOUT LAPTOP RESPONSIVE END */


/* ==========================================================
   ABOUT TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {

    .about-section {
        padding: 50px 0 65px;
    }

    .about-section__container {
        width: calc(100% - 48px);

        margin: 0 auto;
    }

    .about-section__intro {
        grid-template-columns: 1fr;

        gap: 25px;

        margin-bottom: 35px;
    }

    .about-section__intro-feature {
        max-width: 100%;
    }

    .about-section__explore-heading {
        align-items: flex-start;
        flex-direction: column;

        gap: 15px;
    }

    .about-section__explore-heading > p {
        max-width: 650px;
    }

    .about-section__panel-layout {
        grid-template-columns: 1fr;
    }

    .about-section__story-feature {
        max-width: 100%;
    }

    .about-section__experience-grid {
        grid-template-columns: 1fr;
    }

    .about-section__experience-card {
        padding: 23px;
    }

    .about-section__location-layout {
        grid-template-columns: 1fr;
    }

}

/* ABOUT TABLET RESPONSIVE END */


/* ==========================================================
   ABOUT MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {

    .about-section {
        padding: 35px 0 50px;
    }

    .about-section__container {
        width: calc(100% - 32px);
    }

    .about-section__eyebrow {
        font-size: 10px;
        letter-spacing: 0.12em;
    }

    .about-section__intro h2 {
        font-size: clamp(34px, 8vw, 46px);
    }

    .about-section__lead {
        font-size: 19px;
    }

    .about-section__description {
        font-size: 13px;
        line-height: 1.8;
    }

    .about-section__intro-feature {
        padding: 22px;
    }

    .about-section__intro-feature strong {
        font-size: 41px;
    }

    .about-section__explore {
        padding: 17px;

        border-radius: 14px;
    }

    .about-section__explore-heading {
        margin-bottom: 22px;
    }

    .about-section__explore-heading h3 {
        font-size: 29px;
    }

    .about-section__explore-heading > p {
        font-size: 12px;
    }

    .about-section__tabs {
        grid-template-columns: 1fr;

        gap: 8px;

        margin-bottom: 12px;
    }

    .about-section__tab {
        justify-content: flex-start;

        min-height: 49px;

        padding: 10px 16px;

        font-size: 13px;
    }

    .about-section__panel {
        padding: 21px 18px;
    }

    .about-section__panel h4 {
        font-size: 29px;
    }

    .about-section__panel p {
        font-size: 13px;
        line-height: 1.8;
    }

    .about-section__story-feature {
        padding: 23px;
    }

    .about-section__story-feature strong {
        font-size: 58px;
    }

    .about-section__experience-card {
        padding: 20px;
    }

    .about-section__venue-detail {
        flex-direction: column;
        align-items: flex-start;

        gap: 13px;

        padding: 20px;
    }

    .about-section__venue-detail > div {
        flex: 0 0 auto;
    }

    .about-section__venue-detail strong {
        font-size: 28px;
    }

    .about-section__address {
        padding: 17px;
    }

    .about-section__community {
        padding: 23px;
    }

    .about-section__community h5 {
        font-size: 23px;
    }

}

/* ABOUT MOBILE RESPONSIVE END */


/* ==========================================================
   ABOUT SECTION END
========================================================== */
/* ==========================================================
   CASINO GAMES SECTION START
========================================================== */

/* GAMES FOUNDATION START */

.games-section {
    --games-gold: #E9BE7D;
    --games-cream: #F8E8CC;
    --games-text: #F5F2EE;
    --games-muted: #D6D8E0;
    --games-border: rgba(233, 190, 125, 0.28);

    position: relative;
    width: 100%;
    min-height: calc(100svh - var(--header-height, 84px));
    padding: 48px 0 65px;

    color: var(--games-text);

    background:
        radial-gradient(
            ellipse at 90% 6%,
            rgba(135, 75, 110, 0.24),
            transparent 42%
        ),
        linear-gradient(
            135deg,
            #25172F 0%,
            #1B1B2A 50%,
            #101D28 100%
        );
}

.games-section__container {
    width: min(1280px, calc(100% - 180px));
    margin: 0 auto;
}

.games-section__eyebrow {
    margin: 0 0 14px;
    color: var(--games-gold);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.15em;
    line-height: 1.5;
}

.games-section h2,
.games-section h3,
.games-section h4 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.games-section h2 span,
.games-section h3 em {
    display: block;
    color: var(--games-gold);
    font-weight: 400;
}

.games-section p {
    overflow-wrap: break-word;
}

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

/* GAMES FOUNDATION END */


/* ==========================================================
   GAMES MAIN LAYOUT START
========================================================== */

.games-section__layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* DESKTOP ORDER */

.games-section .games-section__layout > .games-section__intro {
    order: 0;
}

.games-section .games-section__layout > .games-section__catalog {
    order: 1;
}

/* GAMES MAIN LAYOUT END */


/* ==========================================================
   GAMES INTRODUCTION START
========================================================== */

.games-section__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(240px, 0.45fr);
    align-items: center;

    gap: 40px;
    margin: 0 0 38px;
}

.games-section__intro-copy {
    min-width: 0;
    max-width: 820px;
}

.games-section__intro h2 {
    margin: 0 0 22px;

    font-size: clamp(38px, 4vw, 59px);
    line-height: 1.13;
    letter-spacing: -0.025em;
}

.games-section__intro-copy > p:not(.games-section__eyebrow) {
    margin: 0 0 13px;

    color: var(--games-muted);
    font-size: 15px;
    line-height: 1.8;
}

.games-section__intro-copy > .games-section__lead {
    color: var(--games-cream);

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.8vw, 24px);
    line-height: 1.55;
}

.games-section__intro-aside {
    padding: 27px;

    border: 1px solid rgba(233, 190, 125, 0.38);
    border-radius: 14px;

    background: linear-gradient(
        145deg,
        #473047,
        #25303B
    );
}

.games-section__aside-label,
.games-section__aside-foot {
    display: block;

    color: var(--games-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.13em;
    line-height: 1.6;
}

.games-section__intro-aside strong {
    display: block;
    margin: 18px 0;

    color: #F6EFE8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 2.4vw, 35px);
    font-weight: 400;
    line-height: 1.3;
}

.games-section__intro-aside strong em {
    display: block;
    color: var(--games-gold);
    font-weight: 400;
}

.games-section__intro-aside p {
    margin: 0 0 21px;

    color: #E1DAE6;
    font-size: 14px;
    line-height: 1.8;
}

/* GAMES INTRODUCTION END */


/* ==========================================================
   GAMES CATALOG START
========================================================== */

.games-section__catalog {
    display: block;
    width: 100%;
    min-width: 0;
}

.games-section__catalog-heading {
    margin: 0 0 22px;
}

.games-section__catalog-heading h3 {
    margin: 0 0 12px;

    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.2;
}

.games-section__catalog-heading > p:last-child {
    margin: 0;

    color: var(--games-muted);
    font-size: 15px;
    line-height: 1.75;
}

.games-section__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    align-items: stretch;
    gap: 14px;
}

.games-section__card {
    display: flex;
    flex-direction: column;

    width: 100%;
    min-width: 0;
    height: 100%;

    padding: 0;

    border: 1px solid rgba(233, 190, 125, 0.35);
    border-radius: 14px;

    background: #101E29;
    color: #F6F0E9;

    font: inherit;
    text-align: left;
    cursor: pointer;
    overflow: hidden;

    transition:
        border-color 180ms ease,
        background 180ms ease,
        transform 180ms ease,
        box-shadow 180ms ease;
}

.games-section__card:hover {
    transform: translateY(-2px);
    border-color: var(--games-gold);
}

.games-section__card.is-active {
    border-color: #F7D598;
    background: #172C34;

    box-shadow: 0 0 0 1px rgba(233, 190, 125, 0.30);
}

.games-section__card:focus-visible {
    outline: 3px solid var(--games-gold);
    outline-offset: 3px;
}

/* GAMES CATALOG END */


/* ==========================================================
   GAME CARD IMAGES START
========================================================== */

.games-section__card-image {
    display: block;
    width: 100%;
    height: 195px;

    overflow: hidden;
    background: #332337;
}

.games-section__card-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform 300ms ease;
}

.games-section__card:hover img {
    transform: scale(1.035);
}

/* GAME CARD IMAGES END */


/* ==========================================================
   GAME CARD CONTENT START
========================================================== */

.games-section__card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;

    gap: 10px;
    padding: 22px;
}

.games-section__card-label {
    color: #E7B6CB;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.11em;
    line-height: 1.5;
}

.games-section__card-body > strong {
    color: #F7E4C9;

    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(26px, 2.4vw, 34px);
    font-weight: 400;
    line-height: 1.2;
}

.games-section__card-description {
    color: #DCE0E6;
    font-size: 15px;
    line-height: 1.7;
}

.games-section__card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 15px;

    width: 100%;
    min-height: 48px;

    margin-top: auto;
    padding: 0 16px;

    border-radius: 8px;

    background: var(--games-gold);
    color: #132029;

    font-size: 13px;
    font-weight: 800;
}

.games-section__card-action > span:last-child {
    font-size: 21px;
    line-height: 1;
}

.games-section__card.is-active .games-section__card-action {
    background: #F7DCA9;
}

/* GAME CARD CONTENT END */


/* ==========================================================
   GAME DETAILS START
========================================================== */

.games-section__details {
    width: 100%;
    margin-top: 16px;
}

.games-section__detail {
    width: 100%;
    min-width: 0;

    padding: 30px;

    border: 1px solid rgba(233, 190, 125, 0.42);
    border-radius: 15px;

    background: linear-gradient(
        135deg,
        #182B34 0%,
        #252431 65%,
        #3A2538 100%
    );

    box-shadow: 0 14px 35px rgba(0, 0, 0, 0.18);
}

.games-section__detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;

    gap: 25px;
    margin-bottom: 22px;
}

.games-section__detail-header h3 {
    max-width: 850px;
    margin: 0;

    font-size: clamp(30px, 3vw, 44px);
    line-height: 1.2;
}

.games-section__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 12px;
    flex-shrink: 0;

    min-height: 45px;
    padding: 0 16px;

    border: 1px solid var(--games-gold);
    border-radius: 8px;

    background: var(--games-gold);
    color: #172029;

    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.games-section__close span {
    font-size: 23px;
    line-height: 1;
}

.games-section__close:hover {
    background: #F7DCA9;
}

.games-section__detail-intro {
    max-width: 1050px;
    margin-bottom: 24px;
}

.games-section__detail-intro p {
    margin: 0 0 13px;

    color: #E2E1E8;
    font-size: 16px;
    line-height: 1.8;
}

/* GAME DETAILS END */


/* ==========================================================
   GAME FEATURES START
========================================================== */

.games-section__feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 13px;
}

.games-section__feature {
    padding: 25px;

    border: 1px solid rgba(233, 190, 125, 0.20);
    border-radius: 11px;

    background: #303041;
}

.games-section__feature:nth-child(even) {
    background: #233A42;
}

.games-section__feature h4 {
    margin: 0 0 14px;

    color: #F4D5A3;
    font-size: 25px;
    line-height: 1.25;
}

.games-section__feature p {
    margin: 0 0 13px;

    color: #E2E4E9;
    font-size: 15px;
    line-height: 1.8;
}

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

/* GAME FEATURES END */


/* ==========================================================
   GAME INSIGHT START
========================================================== */

.games-section__insight {
    display: grid;
    grid-template-columns: minmax(200px, 0.55fr) minmax(0, 1.45fr);
    align-items: center;

    gap: 25px;

    margin-top: 15px;
    padding: 24px;

    border-left: 4px solid var(--games-gold);
    border-radius: 0 11px 11px 0;

    background: #462D3F;
}

.games-section__insight-label {
    display: block;
    margin-bottom: 9px;

    color: #F7CB90;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.games-section__insight h4 {
    margin: 0;

    color: #F8E5C6;
    font-size: 25px;
    line-height: 1.25;
}

.games-section__insight p {
    margin: 0;

    color: #F0E7ED;
    font-size: 15px;
    line-height: 1.8;
}

/* GAME INSIGHT END */


/* ==========================================================
   EXPANDABLE GAME INFORMATION START
========================================================== */

.games-section__more {
    margin-top: 15px;

    border: 1px solid rgba(233, 190, 125, 0.50);
    border-radius: 10px;

    background: #10232D;
    overflow: hidden;
}

.games-section__more summary {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 57px;

    padding: 15px 48px 15px 19px;

    color: #F4D7A7;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;

    list-style: none;
    cursor: pointer;
}

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

.games-section__more summary::before,
.games-section__more summary::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 20px;

    background: var(--games-gold);
    transform: translateY(-50%);
}

.games-section__more summary::before {
    width: 17px;
    height: 2px;
}

.games-section__more summary::after {
    right: 27px;

    width: 2px;
    height: 17px;

    transition: transform 180ms ease;
}

.games-section__more[open] summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.games-section__more summary:hover {
    background: #203845;
}

.games-section__more-body {
    padding: 21px 23px;

    border-top: 1px solid rgba(233, 190, 125, 0.22);
}

.games-section__more-body p {
    max-width: 1000px;
    margin: 0 0 13px;

    color: #E2E5EB;
    font-size: 15px;
    line-height: 1.8;
}

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

/* EXPANDABLE GAME INFORMATION END */


/* ==========================================================
   GAME COMPARISON START
========================================================== */

.games-section__comparison {
    margin-top: 35px;
    padding: 28px;

    border: 1px solid var(--games-border);
    border-radius: 15px;

    background: #0E1D28;
}

.games-section__section-heading {
    max-width: 900px;
    margin-bottom: 22px;
}

.games-section__section-heading h3 {
    margin: 0 0 14px;

    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.2;
}

.games-section__section-heading > p:last-child {
    margin: 0;

    color: #DDE1E8;
    font-size: 15px;
    line-height: 1.75;
}

.games-section__comparison-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 12px;
}

.games-section__comparison-item {
    padding: 23px;

    border: 1px solid rgba(233, 190, 125, 0.25);
    border-radius: 11px;

    background: #263A43;
}

.games-section__comparison-item:nth-child(2) {
    background: #412D40;
}

.games-section__comparison-item:nth-child(3) {
    background: #333044;
}

.games-section__comparison-item > span {
    display: block;
    margin-bottom: 12px;

    color: #F1C68D;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.13em;
}

.games-section__comparison-item h4 {
    margin: 0 0 11px;

    color: #F8E5C9;
    font-size: 24px;
}

.games-section__comparison-item p {
    margin: 0 0 15px;

    color: #E2E3E8;
    font-size: 15px;
    line-height: 1.75;
}

.games-section__comparison-item strong {
    display: block;
    padding-top: 14px;

    border-top: 1px solid rgba(233, 190, 125, 0.25);

    color: #F1C78B;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
}

/* GAME COMPARISON END */


/* ==========================================================
   GAMES FAQ START
========================================================== */

.games-section__faq {
    margin-top: 35px;
}

.games-section__faq-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));

    align-items: start;
    gap: 13px;
}

.games-section__faq-column {
    display: flex;
    flex-direction: column;

    gap: 10px;
    min-width: 0;
}

.games-section__question {
    border: 1px solid rgba(233, 190, 125, 0.31);
    border-radius: 10px;

    background: #172B36;
    overflow: hidden;
}

.games-section__question summary {
    position: relative;
    display: flex;
    align-items: center;

    min-height: 62px;
    padding: 15px 49px 15px 19px;

    color: #F6F1EB;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;

    list-style: none;
    cursor: pointer;
}

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

.games-section__question summary::before,
.games-section__question summary::after {
    content: "";

    position: absolute;
    top: 50%;
    right: 20px;

    background: var(--games-gold);
    transform: translateY(-50%);
}

.games-section__question summary::before {
    width: 16px;
    height: 2px;
}

.games-section__question summary::after {
    right: 27px;

    width: 2px;
    height: 16px;

    transition: transform 180ms ease;
}

.games-section__question[open] summary::after {
    transform: translateY(-50%) rotate(90deg);
}

.games-section__question summary:hover,
.games-section__question[open] summary {
    background: #3B3044;
    color: #F8D99F;
}

.games-section__question > div {
    padding: 3px 20px 19px;

    border-top: 1px solid rgba(233, 190, 125, 0.21);
}

.games-section__question > div p {
    margin: 14px 0 0;

    color: #E3E2E9;
    font-size: 15px;
    line-height: 1.8;
}

/* GAMES FAQ END */


/* ==========================================================
   GAMES LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {

    .games-section__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .games-section__intro {
        grid-template-columns: minmax(0, 1.3fr) minmax(210px, 0.7fr);
        gap: 24px;
    }

    .games-section__card-image {
        height: 170px;
    }

    .games-section__card-body {
        padding: 18px;
    }

    .games-section__detail {
        padding: 25px;
    }

}

/* GAMES LAPTOP RESPONSIVE END */


/* ==========================================================
   GAMES TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {

    .games-section {
        padding: 36px 0 55px;
    }

    .games-section__container {
        width: calc(100% - 48px);
        margin: 0 auto;
    }

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

    .games-section__intro-aside {
        max-width: 620px;
    }

    .games-section__cards {
        gap: 10px;
    }

    .games-section__card-image {
        height: 155px;
    }

    .games-section__card-body > strong {
        font-size: 25px;
    }

    .games-section__card-description {
        font-size: 14px;
    }

    .games-section__feature-grid,
    .games-section__comparison-grid,
    .games-section__faq-grid {
        grid-template-columns: 1fr;
    }

    .games-section__insight {
        grid-template-columns: 1fr;
        gap: 13px;
    }

}

/* GAMES TABLET RESPONSIVE END */


/* ==========================================================
   GAMES MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {

    /* MOBILE FOUNDATION START */

    .games-section {
        padding: 20px 0 45px;
    }

    .games-section__container {
        width: calc(100% - 28px);
        margin: 0 auto;
    }

    /* MOBILE FOUNDATION END */


    /* MOBILE CONTENT ORDER START */

    .games-section .games-section__layout {
        display: flex !important;
        flex-direction: column !important;
    }

    .games-section .games-section__layout > .games-section__catalog {
        order: 0 !important;
        width: 100%;
    }

    .games-section .games-section__layout > .games-section__intro {
        order: 1 !important;
        width: 100%;

        margin: 25px 0 0;
        padding: 23px 0 0;

        border-top: 1px solid var(--games-border);
    }

    /* MOBILE CONTENT ORDER END */


    /* MOBILE INTRODUCTION START */

    .games-section__intro {
        display: block;
    }

    .games-section__intro-aside {
        display: none;
    }

    .games-section__intro h2 {
        font-size: 33px;
        line-height: 1.15;
    }

    .games-section__intro-copy > p:not(.games-section__eyebrow) {
        font-size: 14px;
        line-height: 1.8;
    }

    .games-section__intro-copy > .games-section__lead {
        font-size: 19px;
        line-height: 1.55;
    }

    /* MOBILE INTRODUCTION END */


    /* MOBILE CATALOG START */

    .games-section__catalog-heading {
        margin-bottom: 17px;
    }

    .games-section__catalog-heading h3 {
        font-size: clamp(30px, 8vw, 39px);
        line-height: 1.15;
    }

    .games-section__catalog-heading > p:last-child {
        font-size: 14px;
        line-height: 1.7;
    }

    .games-section__cards {
        display: flex;
        flex-direction: column;

        gap: 12px;
    }

    .games-section__card {
        width: 100%;
        height: auto;
    }

    .games-section__card-image {
        height: 190px;
    }

    .games-section__card-body {
        gap: 9px;
        padding: 18px;
    }

    .games-section__card-body > strong {
        font-size: 29px;
    }

    .games-section__card-description {
        font-size: 14px;
        line-height: 1.7;
    }

    .games-section__card-action {
        margin-top: 8px;
    }

    /* MOBILE CATALOG END */


    /* MOBILE GAME DETAILS START */

    .games-section__details {
        margin-top: 0;
    }

    .games-section__detail {
        width: 100%;

        margin-top: -2px;
        margin-bottom: 7px;
        padding: 20px 15px;

        border-color: var(--games-gold);
        border-radius: 0 0 13px 13px;
    }

    .games-section__detail-header {
        flex-direction: column;
        gap: 17px;
    }

    .games-section__detail-header h3 {
        font-size: 30px;
    }

    .games-section__close {
        min-height: 43px;
    }

    .games-section__detail-intro p {
        font-size: 15px;
        line-height: 1.75;
    }

    .games-section__feature {
        padding: 20px;
    }

    .games-section__feature h4 {
        font-size: 24px;
    }

    .games-section__feature p,
    .games-section__insight p,
    .games-section__more-body p {
        font-size: 15px;
        line-height: 1.75;
    }

    .games-section__insight {
        padding: 19px;
    }

    .games-section__insight h4 {
        font-size: 23px;
    }

    /* MOBILE GAME DETAILS END */


    /* MOBILE COMPARISON START */

    .games-section__comparison {
        margin-top: 26px;
        padding: 20px 16px;
    }

    .games-section__comparison-item {
        padding: 20px;
    }

    /* MOBILE COMPARISON END */


    /* MOBILE FAQ START */

    .games-section__faq {
        margin-top: 28px;
    }

    .games-section__question summary {
        font-size: 14px;
    }

    .games-section__question > div p {
        font-size: 14px;
    }

    /* MOBILE FAQ END */

}

/* GAMES MOBILE RESPONSIVE END */


/* ==========================================================
   GAMES SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {

    .games-section__container {
        width: calc(100% - 22px);
    }

    .games-section__catalog-heading h3,
    .games-section__intro h2 {
        font-size: 30px;
    }

    .games-section__detail {
        padding: 17px 12px;
    }

    .games-section__feature {
        padding: 17px;
    }

}

/* GAMES SMALL MOBILE END */


/* ==========================================================
   GAMES REDUCED MOTION START
========================================================== */

@media (prefers-reduced-motion: reduce) {

    .games-section *,
    .games-section *::before,
    .games-section *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }

}

/* GAMES REDUCED MOTION END */


/* ==========================================================
   CASINO GAMES SECTION END
========================================================== */
/* ==========================================================
   CASINO GAMES MOBILE LAYOUT FIX START
========================================================== */

@media screen and (max-width: 600px) {

    /* MOBILE SECTION CONTENT ORDER START */

    .games-section > .games-section__container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    .games-section > .games-section__container > .games-section__catalog {
        order: 1;
    }

    .games-section > .games-section__container > .games-section__intro {
        order: 2;
        display: block;
        margin: 25px 0 0;
        padding: 25px 0 0;
        border-top: 1px solid rgba(233, 190, 125, 0.28);
    }

    .games-section > .games-section__container > .games-section__comparison {
        order: 3;
    }

    .games-section > .games-section__container > .games-section__faq {
        order: 4;
    }

    /* MOBILE SECTION CONTENT ORDER END */


    /* MOBILE GAME CARDS START */

    .games-section__catalog {
        width: 100%;
        min-width: 0;
    }

    .games-section__cards {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .games-section__card {
        width: 100%;
        height: auto;
    }

    .games-section__card-image {
        height: 190px;
    }

    /* MOBILE GAME CARDS END */


    /* MOBILE INTRODUCTION START */

    .games-section__intro-aside {
        display: none;
    }

    .games-section__intro h2 {
        font-size: clamp(30px, 8vw, 38px);
        line-height: 1.15;
    }

    .games-section__intro-copy > p:not(.games-section__eyebrow) {
        font-size: 14px;
        line-height: 1.8;
    }

    /* MOBILE INTRODUCTION END */

}

/* ==========================================================
   CASINO GAMES MOBILE LAYOUT FIX END
========================================================== */
/* ==========================================================
   TOURNAMENTS SECTION START
========================================================== */

.tournaments-section {
    --tournament-copper: #E5A979;
    --tournament-gold: #F2D4A6;
    --tournament-text: #F8F4F1;
    --tournament-muted: #D6D3DE;
    --tournament-border: rgba(229, 169, 121, .28);
    position: relative;
    min-height: calc(100svh - var(--header-height, 84px));
    padding: 55px 0 70px;
    color: var(--tournament-text);
    background: radial-gradient(ellipse at 88% 4%, rgba(109, 79, 136, .25), transparent 42%), radial-gradient(ellipse at 4% 80%, rgba(164, 84, 72, .13), transparent 45%), linear-gradient(135deg, #1C1A34 0%, #121C2C 52%, #111923 100%);
}

.tournaments-section__container {
    width: min(1280px, calc(100% - 180px));
    margin: 0 auto;
}

.tournaments-section *,
.tournaments-section *::before,
.tournaments-section *::after {
    box-sizing: border-box;
}

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

.tournaments-section h2,
.tournaments-section h3,
.tournaments-section h4 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.tournaments-section h2 span,
.tournaments-section h3 em {
    display: block;
    color: var(--tournament-copper);
    font-weight: 400;
}

.tournaments-section__eyebrow {
    margin: 0 0 13px;
    color: var(--tournament-copper);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .15em;
    line-height: 1.5;
}

.tournaments-section p {
    overflow-wrap: break-word;
}

/* TOURNAMENTS FOUNDATION END */


/* ==========================================================
   TOURNAMENTS RESPONSIVE CONTENT ORDER START
========================================================== */

.tournaments-section__layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.tournaments-section__intro {
    order: 0;
}

.tournaments-section__explore {
    order: 1;
}

/* TOURNAMENTS RESPONSIVE CONTENT ORDER END */


/* ==========================================================
   TOURNAMENTS INTRO START
========================================================== */

.tournaments-section__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(245px, .5fr);
    align-items: center;
    gap: 36px;
    margin-bottom: 40px;
}

.tournaments-section__intro-main {
    min-width: 0;
    max-width: 820px;
}

.tournaments-section__intro h2 {
    margin: 0 0 24px;
    font-size: clamp(38px, 3.8vw, 60px);
    line-height: 1.13;
    letter-spacing: -.025em;
}

.tournaments-section__intro-main > p:not(.tournaments-section__eyebrow) {
    margin: 0 0 14px;
    color: var(--tournament-muted);
    font-size: 15px;
    line-height: 1.8;
}

.tournaments-section__intro-main > .tournaments-section__lead {
    color: #F5DFC9 !important;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.7vw, 24px) !important;
    line-height: 1.55 !important;
}

.tournaments-section__intro-aside {
    padding: 28px;
    border: 1px solid rgba(229, 169, 121, .43);
    border-radius: 15px;
    background: linear-gradient(145deg, #493148, #292943 65%, #20313C);
}

.tournaments-section__intro-aside > span {
    color: var(--tournament-copper);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.tournaments-section__intro-aside > strong {
    display: block;
    margin: 24px 0 18px;
    color: #F5E4D3;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 2.4vw, 36px);
    font-weight: 400;
    line-height: 1.3;
}

.tournaments-section__intro-aside > strong em {
    display: block;
    color: var(--tournament-copper);
    font-weight: 400;
}

.tournaments-section__intro-aside > p {
    margin: 0 0 22px;
    color: #E1DCE5;
    font-size: 14px;
    line-height: 1.8;
}

.tournaments-section__intro-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.tournaments-section__intro-tags span {
    padding: 7px 8px;
    border: 1px solid rgba(229, 169, 121, .3);
    border-radius: 5px;
    color: #F4D5B5;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .06em;
}

/* TOURNAMENTS INTRO END */


/* ==========================================================
   TOURNAMENT SELECTION START
========================================================== */

.tournaments-section__explore {
    width: 100%;
    min-width: 0;
}

.tournaments-section__explore-heading {
    max-width: 900px;
    margin-bottom: 23px;
}

.tournaments-section__explore-heading h3 {
    margin: 0 0 13px;
    font-size: clamp(31px, 3vw, 44px);
    line-height: 1.2;
}

.tournaments-section__explore-heading > p:last-child {
    margin: 0;
    color: var(--tournament-muted);
    font-size: 15px;
    line-height: 1.75;
}

.tournaments-section__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    align-items: stretch;
}

.tournaments-section__card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(229, 169, 121, .35);
    border-radius: 14px;
    background: #192536;
    color: #F8F2ED;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 180ms ease, transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.tournaments-section__card:hover {
    transform: translateY(-3px);
    border-color: var(--tournament-copper);
}

.tournaments-section__card:focus-visible,
.tournaments-section__close:focus-visible,
.tournaments-section__more summary:focus-visible {
    outline: 3px solid var(--tournament-gold);
    outline-offset: 3px;
}

.tournaments-section__card.is-active {
    border-color: #F3C79C;
    background: #253246;
    box-shadow: 0 0 0 1px rgba(229, 169, 121, .35);
}

.tournaments-section__card-image {
    position: relative;
    display: block;
    width: 100%;
    height: 205px;
    overflow: hidden;
    background: #29283A;
}

.tournaments-section__card-image::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(14, 18, 30, .72));
    pointer-events: none;
}

.tournaments-section__card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
}

.tournaments-section__card:hover img {
    transform: scale(1.035);
}

.tournaments-section__image-tag {
    position: absolute;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 1;
    color: #FFE0BD;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.tournaments-section__card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 11px;
    padding: 22px;
}

.tournaments-section__card-kicker {
    color: #E5B9B4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
    line-height: 1.5;
}

.tournaments-section__card-body > strong {
    font-family: Georgia, "Times New Roman", serif;
    color: #F9E2CA;
    font-size: clamp(25px, 2.25vw, 33px);
    font-weight: 400;
    line-height: 1.2;
}

.tournaments-section__card-description {
    color: #DFDEE5;
    font-size: 15px;
    line-height: 1.7;
}

.tournaments-section__card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 48px;
    margin-top: auto;
    padding: 10px 14px;
    border-radius: 8px;
    background: var(--tournament-copper);
    color: #1B2030;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

.tournaments-section__card-action > span:last-child {
    font-size: 21px;
    line-height: 1;
}

.tournaments-section__card.is-active .tournaments-section__card-action {
    background: #F6D5AE;
}

/* TOURNAMENT SELECTION END */


/* ==========================================================
   TOURNAMENT DETAIL PANELS START
========================================================== */

.tournaments-section__panels {
    width: 100%;
    margin-top: 15px;
}

.tournaments-section__panel {
    width: 100%;
    min-width: 0;
    padding: 30px;
    border: 1px solid rgba(229, 169, 121, .43);
    border-radius: 14px;
    background: linear-gradient(130deg, #25243D 0%, #1C2B3B 58%, #382A37 100%);
    box-shadow: 0 14px 35px rgba(0, 0, 0, .2);
}

.tournaments-section__panel-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 26px;
    margin-bottom: 21px;
}

.tournaments-section__panel-header h3 {
    max-width: 830px;
    margin: 0;
    font-size: clamp(29px, 3vw, 43px);
    line-height: 1.2;
}

.tournaments-section__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    flex-shrink: 0;
    min-height: 45px;
    padding: 0 15px;
    border: 1px solid var(--tournament-copper);
    border-radius: 8px;
    background: var(--tournament-copper);
    color: #1B2030;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.tournaments-section__close:hover {
    background: #F6D5AE;
}

.tournaments-section__close span {
    font-size: 23px;
    line-height: 1;
}

.tournaments-section__panel-lead {
    max-width: 1080px;
    margin-bottom: 24px;
}

.tournaments-section__panel-lead p {
    margin: 0 0 13px;
    color: #E8E4EA;
    font-size: 16px;
    line-height: 1.8;
}

.tournaments-section__feature-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
}

.tournaments-section__feature {
    min-width: 0;
    padding: 24px;
    border: 1px solid rgba(229, 169, 121, .22);
    border-radius: 11px;
    background: #2E3148;
}

.tournaments-section__feature:nth-child(even) {
    background: #263A45;
}

.tournaments-section__feature > span {
    display: block;
    margin-bottom: 13px;
    color: #EAB787;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.tournaments-section__feature h4 {
    margin: 0 0 12px;
    color: #F5D8B7;
    font-size: 25px;
    line-height: 1.25;
}

.tournaments-section__feature p {
    margin: 0 0 12px;
    color: #E4E3E9;
    font-size: 15px;
    line-height: 1.8;
}

.tournaments-section__feature p:last-child {
    margin-bottom: 0;
}

.tournaments-section__highlight {
    display: grid;
    grid-template-columns: minmax(200px, .65fr) minmax(0, 1.35fr);
    align-items: center;
    gap: 23px;
    margin-top: 15px;
    padding: 24px;
    border-left: 4px solid var(--tournament-copper);
    border-radius: 0 11px 11px 0;
    background: #493245;
}

.tournaments-section__highlight > div > span {
    display: block;
    margin-bottom: 10px;
    color: #F1BD91;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
}

.tournaments-section__highlight h4 {
    margin: 0;
    color: #F6DABA;
    font-size: 25px;
    line-height: 1.25;
}

.tournaments-section__highlight p {
    margin: 0;
    color: #F0E7EE;
    font-size: 15px;
    line-height: 1.8;
}

.tournaments-section__more {
    margin-top: 15px;
    overflow: hidden;
    border: 1px solid rgba(229, 169, 121, .5);
    border-radius: 10px;
    background: #152638;
}

.tournaments-section__more summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 57px;
    padding: 15px 48px 15px 19px;
    color: #F6D7B7;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.5;
    list-style: none;
    cursor: pointer;
}

.tournaments-section__more summary::-webkit-details-marker {
    display: none;
}

.tournaments-section__more summary::after {
    content: "+";
    position: absolute;
    right: 19px;
    top: 50%;
    color: var(--tournament-copper);
    font-size: 26px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%);
}

.tournaments-section__more[open] summary::after {
    content: "−";
}

.tournaments-section__more summary:hover {
    background: #23374B;
}

.tournaments-section__more > div {
    padding: 19px 22px;
    border-top: 1px solid var(--tournament-border);
}

.tournaments-section__more > div p {
    margin: 0 0 12px;
    color: #E5E6EB;
    font-size: 15px;
    line-height: 1.8;
}

.tournaments-section__more > div p:last-child {
    margin-bottom: 0;
}

/* TOURNAMENT DETAIL PANELS END */


/* ==========================================================
   TOURNAMENT COMPARISON START
========================================================== */

.tournaments-section__comparison {
    margin-top: 39px;
    padding: 29px;
    border: 1px solid var(--tournament-border);
    border-radius: 15px;
    background: #131F30;
}

.tournaments-section__heading {
    max-width: 930px;
    margin-bottom: 23px;
}

.tournaments-section__heading h3 {
    margin: 0 0 13px;
    font-size: clamp(30px, 3vw, 43px);
    line-height: 1.2;
}

.tournaments-section__heading > p:last-child {
    margin: 0;
    color: var(--tournament-muted);
    font-size: 15px;
    line-height: 1.75;
}

.tournaments-section__comparison-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.tournaments-section__comparison-item {
    min-width: 0;
    padding: 22px;
    border: 1px solid rgba(229, 169, 121, .23);
    border-radius: 11px;
    background: #2A3149;
}

.tournaments-section__comparison-item:nth-child(2) {
    background: #433044;
}

.tournaments-section__comparison-item:nth-child(3) {
    background: #273C47;
}

.tournaments-section__comparison-item > span {
    display: block;
    margin-bottom: 13px;
    color: #EFBF93;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .11em;
}

.tournaments-section__comparison-item h4 {
    margin: 0 0 11px;
    color: #F7DEC0;
    font-size: 25px;
}

.tournaments-section__comparison-item p {
    margin: 0 0 15px;
    color: #E0DFE6;
    font-size: 15px;
    line-height: 1.75;
}

.tournaments-section__comparison-item strong {
    display: block;
    padding-top: 13px;
    border-top: 1px solid rgba(229, 169, 121, .25);
    color: #F4C99B;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.65;
}

/* TOURNAMENT COMPARISON END */


/* ==========================================================
   TOURNAMENT PREPARATION START
========================================================== */

.tournaments-section__preparation {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
    align-items: start;
    gap: 35px;
    margin-top: 36px;
    padding: 29px;
    border: 1px solid var(--tournament-border);
    border-radius: 15px;
    background: linear-gradient(130deg, #273342, #1A2635);
}

.tournaments-section__preparation-copy h3 {
    margin: 0 0 19px;
    font-size: clamp(29px, 2.7vw, 40px);
    line-height: 1.2;
}

.tournaments-section__preparation-copy > p:not(.tournaments-section__eyebrow) {
    margin: 0 0 13px;
    color: #DEE0E7;
    font-size: 15px;
    line-height: 1.8;
}

.tournaments-section__preparation-points {
    display: flex;
    flex-direction: column;
    gap: 11px;
}

.tournaments-section__preparation-points > div {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 15px;
    border: 1px solid rgba(229, 169, 121, .22);
    border-radius: 9px;
    background: #31334A;
}

.tournaments-section__preparation-points > div > span {
    color: #F3C08D;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    line-height: 1.2;
}

.tournaments-section__preparation-points p {
    margin: 0;
    color: #DEE0E8;
    font-size: 14px;
    line-height: 1.7;
}

.tournaments-section__preparation-points strong {
    display: block;
    margin-bottom: 3px;
    color: #F8E0C2;
    font-size: 15px;
}

/* TOURNAMENT PREPARATION END */


/* ==========================================================
   TOURNAMENT LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {
    .tournaments-section__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .tournaments-section__intro {
        grid-template-columns: minmax(0, 1.2fr) minmax(220px, .8fr);
        gap: 24px;
    }

    .tournaments-section__card-image {
        height: 170px;
    }

    .tournaments-section__card-body {
        padding: 18px;
    }

    .tournaments-section__panel {
        padding: 24px;
    }
}

/* TOURNAMENT LAPTOP RESPONSIVE END */


/* ==========================================================
   TOURNAMENT TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {
    .tournaments-section {
        padding: 39px 0 58px;
    }

    .tournaments-section__container {
        width: calc(100% - 48px);
        margin: 0 auto;
    }

    .tournaments-section__intro {
        grid-template-columns: 1fr;
        gap: 23px;
    }

    .tournaments-section__intro-aside {
        max-width: 600px;
    }

    .tournaments-section__cards {
        gap: 10px;
    }

    .tournaments-section__card-image {
        height: 155px;
    }

    .tournaments-section__card-body > strong {
        font-size: 25px;
    }

    .tournaments-section__feature-grid,
    .tournaments-section__comparison-grid,
    .tournaments-section__preparation {
        grid-template-columns: 1fr;
    }

    .tournaments-section__highlight {
        grid-template-columns: 1fr;
        gap: 12px;
    }
}

/* TOURNAMENT TABLET RESPONSIVE END */


/* ==========================================================
   TOURNAMENT MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {
    .tournaments-section {
        padding: 22px 0 47px;
    }

    .tournaments-section__container {
        width: calc(100% - 28px);
    }

    /* MOBILE CONTENT ORDER START */

    .tournaments-section__layout {
        display: flex;
        flex-direction: column;
    }

    .tournaments-section__layout > .tournaments-section__explore {
        order: 0;
    }

    .tournaments-section__layout > .tournaments-section__intro {
        order: 1;
        margin: 27px 0 0;
        padding: 25px 0 0;
        border-top: 1px solid var(--tournament-border);
    }

    /* MOBILE CONTENT ORDER END */

    .tournaments-section__intro {
        display: block;
    }

    .tournaments-section__intro-aside {
        display: none;
    }

    .tournaments-section__intro h2 {
        font-size: clamp(32px, 8vw, 39px);
    }

    .tournaments-section__intro-main > p:not(.tournaments-section__eyebrow) {
        font-size: 15px;
        line-height: 1.75;
    }

    .tournaments-section__intro-main > .tournaments-section__lead {
        font-size: 19px !important;
    }

    .tournaments-section__explore-heading {
        margin-bottom: 17px;
    }

    .tournaments-section__explore-heading h3 {
        font-size: clamp(30px, 8vw, 39px);
    }

    .tournaments-section__explore-heading > p:last-child {
        font-size: 14px;
    }

    .tournaments-section__cards {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .tournaments-section__card {
        width: 100%;
        height: auto;
    }

    .tournaments-section__card-image {
        height: 190px;
    }

    .tournaments-section__card-body {
        padding: 18px;
        gap: 9px;
    }

    .tournaments-section__card-body > strong {
        font-size: 29px;
    }

    .tournaments-section__card-description {
        font-size: 15px;
    }

    .tournaments-section__card-action {
        margin-top: 8px;
    }

    .tournaments-section__panels {
        margin-top: 0;
    }

    .tournaments-section__panel {
        margin: -2px 0 7px;
        padding: 20px 15px;
        border-color: var(--tournament-copper);
        border-radius: 0 0 13px 13px;
    }

    .tournaments-section__panel-header {
        flex-direction: column;
        gap: 16px;
    }

    .tournaments-section__panel-header h3 {
        font-size: 30px;
    }

    .tournaments-section__panel-lead p {
        font-size: 15px;
        line-height: 1.75;
    }

    .tournaments-section__feature {
        padding: 19px;
    }

    .tournaments-section__feature h4 {
        font-size: 24px;
    }

    .tournaments-section__feature p,
    .tournaments-section__highlight p,
    .tournaments-section__more > div p {
        font-size: 15px;
        line-height: 1.75;
    }

    .tournaments-section__highlight {
        padding: 19px;
    }

    .tournaments-section__highlight h4 {
        font-size: 23px;
    }

    .tournaments-section__comparison {
        margin-top: 27px;
        padding: 20px 16px;
    }

    .tournaments-section__comparison-item {
        padding: 20px;
    }

    .tournaments-section__preparation {
        gap: 22px;
        margin-top: 27px;
        padding: 20px 16px;
    }

    .tournaments-section__preparation-copy h3 {
        font-size: 30px;
    }
}

/* TOURNAMENT MOBILE RESPONSIVE END */


/* ==========================================================
   TOURNAMENT SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {
    .tournaments-section__container {
        width: calc(100% - 22px);
    }

    .tournaments-section__panel {
        padding: 17px 12px;
    }

    .tournaments-section__feature {
        padding: 17px;
    }

    .tournaments-section__card-body > strong {
        font-size: 27px;
    }
}

/* TOURNAMENT SMALL MOBILE END */


/* ==========================================================
   TOURNAMENT REDUCED MOTION START
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .tournaments-section *,
    .tournaments-section *::before,
    .tournaments-section *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* TOURNAMENT REDUCED MOTION END */


/* ==========================================================
   TOURNAMENTS SECTION END
========================================================== */
/* ==========================================================
   EVENTS SECTION START
========================================================== */

.events-section {
    --events-gold: #EAC08A;
    --events-coral: #F3A8A0;
    --events-cream: #FFF0E2;
    --events-muted: #E1D4D8;
    --events-border: rgba(234, 192, 138, .27);
    position: relative;
    min-height: calc(100svh - var(--header-height, 84px));
    padding: 43px 0 65px;
    color: #FFF7F1;
    background: radial-gradient(ellipse at 94% 3%, rgba(151, 63, 82, .19), transparent 36%), linear-gradient(135deg, #311923 0%, #271B27 48%, #151E29 100%);
}

.events-section__container {
    width: min(1280px, calc(100% - 180px));
    margin: 0 auto;
}

.events-section *,
.events-section *::before,
.events-section *::after {
    box-sizing: border-box;
}

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

.events-section h2,
.events-section h3,
.events-section h4 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.events-section h2 span,
.events-section h3 em {
    display: block;
    color: var(--events-gold);
    font-weight: 400;
}

.events-section__eyebrow {
    margin: 0 0 11px;
    color: var(--events-gold);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .14em;
}

.events-section p {
    overflow-wrap: break-word;
}

/* EVENTS FOUNDATION END */


/* ==========================================================
   EVENTS MAIN LAYOUT START
========================================================== */

.events-section__layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.events-section__layout > .events-section__intro {
    order: 0;
}

.events-section__layout > .events-section__experience {
    order: 1;
}

/* EVENTS MAIN LAYOUT END */


/* ==========================================================
   EVENTS INTRO START
========================================================== */

.events-section__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    align-items: center;
    gap: 35px;
    margin: 0 0 33px;
}

.events-section__intro-copy {
    min-width: 0;
}

.events-section__intro h2 {
    margin: 0 0 16px;
    font-size: clamp(37px, 3.6vw, 55px);
    line-height: 1.11;
    letter-spacing: -.025em;
}

.events-section__intro-copy > p:not(.events-section__eyebrow) {
    margin: 0 0 11px;
    color: var(--events-muted);
    font-size: 14px;
    line-height: 1.75;
}

.events-section__intro-copy > .events-section__lead {
    color: var(--events-cream);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(18px, 1.55vw, 22px);
    line-height: 1.5;
}

.events-section__intro-photo {
    position: relative;
    height: 355px;
    overflow: hidden;
    border: 1px solid rgba(234, 192, 138, .36);
    border-radius: 13px;
    background: #17212A;
}

.events-section__intro-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.events-section__intro-photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 38%, rgba(9, 13, 21, .88));
    pointer-events: none;
}

.events-section__intro-photo-caption {
    position: absolute;
    right: 20px;
    bottom: 20px;
    left: 20px;
    z-index: 1;
}

.events-section__intro-photo-caption span {
    display: block;
    margin-bottom: 8px;
    color: var(--events-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.events-section__intro-photo-caption strong {
    display: block;
    color: #FFF2E4;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.25;
}

/* EVENTS INTRO END */


/* ==========================================================
   EVENTS EXPERIENCE START
========================================================== */

.events-section__experience-heading {
    max-width: 850px;
    margin-bottom: 19px;
}

.events-section__experience-heading h3 {
    margin: 0 0 9px;
    font-size: clamp(31px, 3vw, 43px);
    line-height: 1.15;
}

.events-section__experience-heading > p:last-child {
    margin: 0;
    color: var(--events-muted);
    font-size: 14px;
    line-height: 1.7;
}

.events-section__cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 14px;
}

.events-section__card {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: 100%;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(234, 192, 138, .37);
    border-radius: 13px;
    background: #1D2935;
    color: #F8F2EB;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition: border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.events-section__card:nth-child(2) {
    background: #35232F;
}

.events-section__card:nth-child(3) {
    background: #292B3B;
}

.events-section__card:hover {
    transform: translateY(-3px);
    border-color: var(--events-gold);
}

.events-section__card.is-active {
    border-color: #FFD6A2;
    background: #304250;
    box-shadow: 0 0 0 2px rgba(234, 192, 138, .42);
}

.events-section__card:focus-visible,
.events-section__close:focus-visible {
    outline: 3px solid var(--events-gold);
    outline-offset: 3px;
}

.events-section__card-image {
    position: relative;
    display: block;
    width: 100%;
    height: 185px;
    overflow: hidden;
    background: #301F29;
}

.events-section__card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 250ms ease;
}

.events-section__card:hover img {
    transform: scale(1.035);
}

.events-section__card-image-label {
    position: absolute;
    bottom: 10px;
    left: 11px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 235, 210, .42);
    border-radius: 5px;
    background: rgba(16, 21, 32, .88);
    color: #FFE0B9;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .11em;
}

.events-section__card-body {
    display: flex;
    flex: 1;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    padding: 19px;
}

.events-section__card-category {
    color: #F3BBB1;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .1em;
}

.events-section__card-body > strong {
    color: #FBE6CA;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(25px, 2.2vw, 33px);
    font-weight: 400;
    line-height: 1.2;
}

.events-section__card-description {
    color: #E2E0E8;
    font-size: 14px;
    line-height: 1.7;
}

.events-section__card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 47px;
    margin-top: auto;
    padding: 11px 14px;
    border-radius: 7px;
    background: linear-gradient(110deg, #F1C99A, #E9AA81);
    color: #192332;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

.events-section__card.is-active .events-section__card-action {
    background: #FFE0B0;
}

.events-section__card-action svg {
    width: 19px;
    height: 19px;
    flex-shrink: 0;
    transition: transform 180ms ease;
}

.events-section__card:hover .events-section__card-action svg {
    transform: translateX(3px);
}

/* EVENTS EXPERIENCE END */


/* ==========================================================
   EVENTS DETAIL PANELS START
========================================================== */

.events-section__details {
    width: 100%;
    margin-top: 14px;
}

.events-section__detail {
    width: 100%;
    min-width: 0;
    padding: 27px;
    border: 1px solid rgba(234, 192, 138, .44);
    border-radius: 13px;
    background: linear-gradient(125deg, #172B39, #253341 53%, #352835);
}

.events-section__detail-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 15px;
}

.events-section__detail-heading h3 {
    margin: 0;
    font-size: clamp(29px, 2.8vw, 40px);
    line-height: 1.17;
}

.events-section__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-shrink: 0;
    min-height: 44px;
    padding: 0 15px;
    border: 1px solid var(--events-gold);
    border-radius: 7px;
    background: var(--events-gold);
    color: #182635;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.events-section__close span {
    font-size: 23px;
    line-height: 1;
}

.events-section__close:hover {
    background: #FFDFB0;
}

.events-section__detail-lead {
    max-width: 1050px;
    margin-bottom: 19px;
}

.events-section__detail-lead p {
    margin: 0 0 11px;
    color: #F1E4E6;
    font-size: 15px;
    line-height: 1.8;
}

.events-section__detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.events-section__detail-block {
    min-width: 0;
    padding: 19px;
    border: 1px solid rgba(234, 192, 138, .18);
    border-radius: 9px;
    background: #243845;
}

.events-section__detail-block:nth-child(even) {
    background: #392E40;
}

.events-section__detail-block h4 {
    margin: 0 0 10px;
    color: #F4CD9D;
    font-size: 23px;
    line-height: 1.25;
}

.events-section__detail-block p {
    margin: 0 0 11px;
    color: #E1DFE7;
    font-size: 14px;
    line-height: 1.75;
}

.events-section__detail-block p:last-child {
    margin-bottom: 0;
}

.events-section__detail-ending {
    display: grid;
    grid-template-columns: minmax(130px, .3fr) minmax(0, .7fr);
    align-items: center;
    gap: 17px;
    margin-top: 12px;
    padding: 19px;
    border-left: 3px solid #E9AA81;
    border-radius: 0 9px 9px 0;
    background: #473043;
}

.events-section__detail-ending span {
    color: var(--events-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.events-section__detail-ending p {
    margin: 0;
    color: #F1E6EA;
    font-size: 14px;
    line-height: 1.7;
}

/* EVENTS DETAIL PANELS END */


/* ==========================================================
   EVENTS VENUE START
========================================================== */

.events-section__venue {
    display: grid;
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    gap: 0;
    margin-top: 32px;
    overflow: hidden;
    border: 1px solid var(--events-border);
    border-radius: 13px;
    background: #1C2C39;
}

.events-section__venue-photo {
    position: relative;
    min-height: 370px;
    overflow: hidden;
    background: #15202A;
}

.events-section__venue-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.events-section__venue-photo > span {
    position: absolute;
    bottom: 17px;
    left: 18px;
    padding: 9px 12px;
    border-radius: 5px;
    background: rgba(13, 21, 29, .90);
    color: #FFE4BC;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .12em;
}

.events-section__venue-content {
    padding: 30px;
}

.events-section__venue-content h3 {
    margin: 0 0 17px;
    font-size: clamp(31px, 3vw, 42px);
    line-height: 1.2;
}

.events-section__venue-content > p:not(.events-section__eyebrow) {
    margin: 0 0 12px;
    color: #DCE3E8;
    font-size: 14px;
    line-height: 1.75;
}

.events-section__venue-facts {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
    padding-top: 17px;
    border-top: 1px solid rgba(234, 192, 138, .28);
}

.events-section__venue-facts > div {
    min-width: 0;
}

.events-section__venue-facts strong {
    display: block;
    color: var(--events-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 2.8vw, 40px);
    font-weight: 400;
    line-height: 1.1;
}

.events-section__venue-facts span {
    display: block;
    margin-top: 7px;
    color: #F2D7B4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
}

.events-section__venue-facts small {
    display: block;
    margin-top: 5px;
    color: #C9D3DA;
    font-size: 12px;
    line-height: 1.5;
}

/* EVENTS VENUE END */


/* ==========================================================
   EVENTS PRIVATE SECTION START
========================================================== */

.events-section__private {
    margin-top: 33px;
}

.events-section__private-heading {
    max-width: 850px;
    margin-bottom: 17px;
}

.events-section__private-heading h3 {
    margin: 0 0 10px;
    font-size: clamp(31px, 3vw, 43px);
    line-height: 1.18;
}

.events-section__private-heading > p:last-child {
    margin: 0;
    color: #E1D4D8;
    font-size: 14px;
    line-height: 1.75;
}

.events-section__private-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, .82fr);
    gap: 25px;
    padding: 25px;
    border: 1px solid var(--events-border);
    border-radius: 12px;
    background: #2B2734;
}

.events-section__private-copy p {
    margin: 0 0 12px;
    color: #E2E0E7;
    font-size: 14px;
    line-height: 1.8;
}

.events-section__private-copy p:last-child {
    margin-bottom: 0;
}

.events-section__private-highlights {
    display: flex;
    flex-direction: column;
    gap: 9px;
}

.events-section__private-highlights > div {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    padding: 15px;
    border: 1px solid rgba(234, 192, 138, .22);
    border-radius: 8px;
    background: #373547;
}

.events-section__private-highlights > div:nth-child(2) {
    background: #284150;
}

.events-section__private-highlights svg {
    width: 27px;
    height: 27px;
    flex-shrink: 0;
    color: var(--events-gold);
}

.events-section__private-highlights p {
    margin: 0;
    color: #E2E5EB;
    font-size: 13px;
    line-height: 1.65;
}

.events-section__private-highlights strong {
    display: block;
    margin-bottom: 4px;
    color: #F8DFC0;
    font-size: 14px;
}

/* EVENTS PRIVATE SECTION END */


/* ==========================================================
   EVENTS CLOSING START
========================================================== */

.events-section__closing {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    align-items: center;
    gap: 25px;
    margin-top: 28px;
    padding: 25px;
    border-top: 2px solid #D99586;
    border-radius: 0 0 10px 10px;
    background: #1B2734;
}

.events-section__closing h3 {
    margin: 0;
    font-size: clamp(28px, 2.8vw, 38px);
    line-height: 1.2;
}

.events-section__closing > p {
    margin: 0;
    color: #DDE1E8;
    font-size: 14px;
    line-height: 1.8;
}

/* EVENTS CLOSING END */


/* ==========================================================
   EVENTS RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {
    .events-section__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .events-section__intro {
        grid-template-columns: minmax(0, 1.25fr) minmax(240px, .75fr);
        gap: 24px;
    }

    .events-section__card-image {
        height: 160px;
    }

    .events-section__card-body {
        padding: 16px;
    }

    .events-section__detail {
        padding: 22px;
    }
}

@media (max-width: 900px) {
    .events-section {
        padding: 32px 0 50px;
    }

    .events-section__container {
        width: calc(100% - 48px);
        margin: 0 auto;
    }

    .events-section__intro {
        grid-template-columns: 1fr;
    }

    .events-section__intro-photo {
        height: 240px;
    }

    .events-section__cards {
        gap: 10px;
    }

    .events-section__card-body > strong {
        font-size: 25px;
    }

    .events-section__detail-grid,
    .events-section__private-layout {
        grid-template-columns: 1fr;
    }

    .events-section__venue {
        grid-template-columns: 1fr;
    }

    .events-section__venue-photo {
        min-height: 260px;
        height: 260px;
    }

    .events-section__private-highlights {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .events-section__private-highlights > div {
        flex-direction: column;
    }
}

/* EVENTS RESPONSIVE END */


/* ==========================================================
   EVENTS MOBILE START
========================================================== */

@media (max-width: 600px) {
    .events-section {
        padding: 19px 0 42px;
    }

    .events-section__container {
        width: calc(100% - 28px);
    }

    /* MOBILE CONTENT ORDER START */

    .events-section__layout {
        display: flex;
        flex-direction: column;
    }

    .events-section__layout > .events-section__experience {
        order: 0;
    }

    .events-section__layout > .events-section__intro {
        order: 1;
        margin: 24px 0 0;
        padding: 23px 0 0;
        border-top: 1px solid var(--events-border);
    }

    /* MOBILE CONTENT ORDER END */

    .events-section__experience-heading h3 {
        font-size: 33px;
    }

    .events-section__experience-heading > p:last-child {
        font-size: 14px;
    }

    .events-section__cards {
        display: flex;
        flex-direction: column;
        gap: 11px;
    }

    .events-section__card {
        height: auto;
    }

    .events-section__card-image {
        height: 180px;
    }

    .events-section__card-body {
        padding: 17px;
    }

    .events-section__card-body > strong {
        font-size: 28px;
    }

    .events-section__card-description {
        font-size: 14px;
    }

    .events-section__details {
        margin-top: 0;
    }

    .events-section__detail {
        margin: -2px 0 7px;
        padding: 19px 15px;
        border-color: var(--events-gold);
        border-radius: 0 0 12px 12px;
    }

    .events-section__detail-heading {
        flex-direction: column;
        gap: 12px;
    }

    .events-section__detail-heading h3 {
        font-size: 29px;
    }

    .events-section__detail-lead p {
        font-size: 15px;
    }

    .events-section__detail-grid {
        grid-template-columns: 1fr;
    }

    .events-section__detail-block {
        padding: 16px;
    }

    .events-section__detail-block h4 {
        font-size: 22px;
    }

    .events-section__detail-block p {
        font-size: 14px;
    }

    .events-section__detail-ending {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 16px;
    }

    .events-section__intro h2 {
        font-size: 34px;
    }

    .events-section__intro-copy > p:not(.events-section__eyebrow) {
        font-size: 14px;
    }

    .events-section__intro-copy > .events-section__lead {
        font-size: 19px;
    }

    .events-section__intro-photo {
        height: 185px;
    }

    .events-section__intro-photo-caption strong {
        font-size: 20px;
    }

    .events-section__venue {
        margin-top: 26px;
    }

    .events-section__venue-photo {
        min-height: 215px;
        height: 215px;
    }

    .events-section__venue-content {
        padding: 21px 18px;
    }

    .events-section__venue-content h3 {
        font-size: 32px;
    }

    .events-section__venue-facts strong {
        font-size: 29px;
    }

    .events-section__private {
        margin-top: 27px;
    }

    .events-section__private-heading h3 {
        font-size: 33px;
    }

    .events-section__private-layout {
        gap: 19px;
        padding: 18px;
    }

    .events-section__private-highlights {
        grid-template-columns: 1fr;
    }

    .events-section__private-highlights > div {
        flex-direction: row;
    }

    .events-section__closing {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 19px;
    }

    .events-section__closing h3 {
        font-size: 31px;
    }
}

/* EVENTS MOBILE END */


/* ==========================================================
   EVENTS SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {
    .events-section__container {
        width: calc(100% - 22px);
    }

    .events-section__detail {
        padding: 16px 12px;
    }

    .events-section__card-body > strong {
        font-size: 26px;
    }
}

/* EVENTS SMALL MOBILE END */


/* ==========================================================
   EVENTS REDUCED MOTION START
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .events-section *,
    .events-section *::before,
    .events-section *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* EVENTS REDUCED MOTION END */


/* ==========================================================
   EVENTS SECTION END
========================================================== */
/* ==========================================================
   DINING SECTION START
========================================================== */

.dining-section {
    --dining-gold: #E7B978;
    --dining-cream: #FAEAD3;
    --dining-muted: #DCD8D0;
    --dining-border: rgba(231, 185, 120, .28);
    position: relative;
    min-height: calc(100svh - var(--header-height, 84px));
    padding: 45px 0 68px;
    color: #F8F2E9;
    background:
        radial-gradient(ellipse at 92% 5%, rgba(154, 116, 53, .16), transparent 39%),
        linear-gradient(135deg, #30251F 0%, #22291F 49%, #152820 100%);
}

.dining-section__container {
    width: min(1280px, calc(100% - 180px));
    margin: 0 auto;
}

.dining-section *,
.dining-section *::before,
.dining-section *::after {
    box-sizing: border-box;
}

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

.dining-section h2,
.dining-section h3,
.dining-section h4 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.dining-section h2 span,
.dining-section h3 em {
    display: block;
    color: var(--dining-gold);
    font-weight: 400;
}

.dining-section__eyebrow {
    margin: 0 0 12px;
    color: var(--dining-gold);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .14em;
}

.dining-section p {
    overflow-wrap: break-word;
}

/* DINING FOUNDATION END */


/* ==========================================================
   DINING CONTENT ORDER START
========================================================== */

.dining-section__layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.dining-section__layout > .dining-section__intro {
    order: 0;
}

.dining-section__layout > .dining-section__discovery {
    order: 1;
}

/* DINING CONTENT ORDER END */


/* ==========================================================
   DINING INTRO START
========================================================== */

.dining-section__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr);
    align-items: center;
    gap: 34px;
    margin-bottom: 36px;
}

.dining-section__intro-copy {
    min-width: 0;
}

.dining-section__intro h2 {
    margin: 0 0 19px;
    font-size: clamp(38px, 3.8vw, 58px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.dining-section__intro-copy > p:not(.dining-section__eyebrow) {
    margin: 0 0 13px;
    color: var(--dining-muted);
    font-size: 15px;
    line-height: 1.75;
}

.dining-section__intro-copy > .dining-section__lead {
    color: var(--dining-cream);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.7vw, 23px);
    line-height: 1.55;
}

.dining-section__intro-visual {
    position: relative;
    height: 420px;
    overflow: hidden;
    border: 1px solid rgba(231, 185, 120, .42);
    border-radius: 15px;
    background: #14241F;
}

.dining-section__intro-visual img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dining-section__intro-visual::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(13, 23, 20, .94));
    pointer-events: none;
}

.dining-section__intro-caption {
    position: absolute;
    right: 22px;
    bottom: 22px;
    left: 22px;
    z-index: 1;
}

.dining-section__intro-caption > span {
    display: block;
    margin-bottom: 10px;
    color: #F3C88F;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.dining-section__intro-caption strong {
    display: block;
    color: #FFF1D9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 400;
    line-height: 1.25;
}

/* DINING INTRO END */


/* ==========================================================
   DINING DISCOVERY START
========================================================== */

.dining-section__discovery {
    width: 100%;
    min-width: 0;
}

.dining-section__discovery-heading {
    max-width: 900px;
    margin-bottom: 20px;
}

.dining-section__discovery-heading h3 {
    margin: 0 0 10px;
    font-size: clamp(32px, 3.1vw, 45px);
    line-height: 1.16;
}

.dining-section__discovery-heading > p:last-child {
    margin: 0;
    color: var(--dining-muted);
    font-size: 15px;
    line-height: 1.7;
}

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

.dining-section__card {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    width: 100%;
    min-width: 0;
    min-height: 255px;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(231, 185, 120, .35);
    border-radius: 13px;
    background: #182D29;
    color: #F8F2E9;
    font: inherit;
    text-align: left;
    cursor: pointer;
    transition:
        transform 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease,
        background 180ms ease;
}

.dining-section__card:nth-child(2) {
    background: #353027;
}

.dining-section__card:nth-child(3) {
    background: #233B33;
}

.dining-section__card:nth-child(4) {
    background: #3A3029;
}

.dining-section__card:hover {
    transform: translateY(-2px);
    border-color: var(--dining-gold);
}

.dining-section__card.is-active {
    border-color: #F7D69E;
    background: #32463B;
    box-shadow: 0 0 0 2px rgba(231, 185, 120, .4);
}

.dining-section__card:focus-visible,
.dining-section__close:focus-visible {
    outline: 3px solid var(--dining-gold);
    outline-offset: 3px;
}

.dining-section__card-image {
    position: relative;
    display: block;
    min-width: 0;
    min-height: 100%;
    overflow: hidden;
    background: #1E2B25;
}

.dining-section__card-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 300ms ease;
}

.dining-section__card:hover img {
    transform: scale(1.035);
}

.dining-section__image-label {
    position: absolute;
    bottom: 11px;
    left: 11px;
    padding: 7px 9px;
    border: 1px solid rgba(255, 226, 184, .38);
    border-radius: 5px;
    background: rgba(20, 31, 26, .9);
    color: #F5D6A2;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    line-height: 1.4;
}

.dining-section__card-body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 9px;
    min-width: 0;
    padding: 20px;
}

.dining-section__card-category {
    color: #E6C18A;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.45;
    letter-spacing: .08em;
}

.dining-section__card-body > strong {
    color: #FFE7C3;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(24px, 2vw, 31px);
    font-weight: 400;
    line-height: 1.18;
}

.dining-section__card-description {
    color: #E0E2DC;
    font-size: 14px;
    line-height: 1.65;
}

.dining-section__card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 45px;
    margin-top: auto;
    padding: 9px 12px;
    border-radius: 7px;
    background: linear-gradient(110deg, #F4D7A3, #E7B978);
    color: #20291F;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.dining-section__card.is-active .dining-section__card-action {
    background: #FFE5B7;
}

.dining-section__card-action svg {
    display: block;
    width: 19px;
    height: 19px;
    flex-shrink: 0;
    transition: transform 180ms ease;
}

.dining-section__card:hover .dining-section__card-action svg {
    transform: translateX(3px);
}

/* DINING DISCOVERY END */


/* ==========================================================
   DINING DETAIL PANELS START
========================================================== */

.dining-section__details {
    width: 100%;
    margin-top: 16px;
}

.dining-section__detail {
    min-width: 0;
    padding: 29px;
    border: 1px solid rgba(231, 185, 120, .4);
    border-radius: 13px;
    background: linear-gradient(125deg, #1A332D, #253930 55%, #3A322A);
}

.dining-section__detail-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.dining-section__detail-header h3 {
    margin: 0;
    font-size: clamp(30px, 2.9vw, 42px);
    line-height: 1.2;
}

.dining-section__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-shrink: 0;
    min-height: 44px;
    padding: 0 15px;
    border: 1px solid #E7B978;
    border-radius: 7px;
    background: #E7B978;
    color: #20291F;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.dining-section__close:hover {
    background: #F9D9A8;
}

.dining-section__close span {
    font-size: 22px;
    line-height: 1;
}

.dining-section__detail-intro {
    max-width: 1080px;
    margin-bottom: 21px;
}

.dining-section__detail-intro p {
    margin: 0 0 12px;
    color: #EBE5DB;
    font-size: 16px;
    line-height: 1.75;
}

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

.dining-section__detail-item {
    padding: 22px;
    border: 1px solid rgba(231, 185, 120, .21);
    border-radius: 10px;
    background: #2B3F35;
}

.dining-section__detail-item:nth-child(even) {
    background: #41392E;
}

.dining-section__detail-item h4 {
    margin: 0 0 11px;
    color: #F8D5A1;
    font-size: 24px;
    line-height: 1.25;
}

.dining-section__detail-item p {
    margin: 0 0 12px;
    color: #E7E3DA;
    font-size: 15px;
    line-height: 1.75;
}

.dining-section__detail-item p:last-child {
    margin-bottom: 0;
}

.dining-section__detail-note {
    display: grid;
    grid-template-columns: minmax(150px, .32fr) minmax(0, .68fr);
    align-items: center;
    gap: 18px;
    margin-top: 13px;
    padding: 20px;
    border-left: 3px solid var(--dining-gold);
    border-radius: 0 10px 10px 0;
    background: #51402F;
}

.dining-section__detail-note strong {
    color: #F8CE8D;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}

.dining-section__detail-note p {
    margin: 0;
    color: #F5E9D6;
    font-size: 15px;
    line-height: 1.7;
}

/* DINING DETAIL PANELS END */


/* ==========================================================
   DINING VENUE START
========================================================== */

.dining-section__venue {
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
    overflow: hidden;
    margin-top: 35px;
    border: 1px solid var(--dining-border);
    border-radius: 14px;
    background: #192E2A;
}

.dining-section__venue-photo {
    position: relative;
    min-height: 380px;
    overflow: hidden;
    background: #17251F;
}

.dining-section__venue-photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dining-section__venue-photo > span {
    position: absolute;
    bottom: 18px;
    left: 18px;
    padding: 8px 11px;
    border-radius: 5px;
    background: rgba(16, 27, 24, .91);
    color: #F5D6A4;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}

.dining-section__venue-content {
    padding: 32px;
}

.dining-section__venue-content h3 {
    margin: 0 0 17px;
    font-size: clamp(32px, 3vw, 45px);
    line-height: 1.18;
}

.dining-section__venue-content > p:not(.dining-section__eyebrow) {
    margin: 0 0 13px;
    color: #E2E5DB;
    font-size: 15px;
    line-height: 1.75;
}

.dining-section__venue-highlights {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 20px;
    padding-top: 19px;
    border-top: 1px solid var(--dining-border);
}

.dining-section__venue-highlights strong {
    display: block;
    color: var(--dining-gold);
    font-family: Georgia, "Times New Roman", serif;
    font-size: 29px;
    font-weight: 400;
}

.dining-section__venue-highlights span {
    display: block;
    margin-top: 5px;
    color: #D9DDCF;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .09em;
}

/* DINING VENUE END */


/* ==========================================================
   DINING MOMENTS START
========================================================== */

.dining-section__moments {
    margin-top: 35px;
}

.dining-section__moments-heading {
    max-width: 850px;
    margin-bottom: 20px;
}

.dining-section__moments-heading h3 {
    margin: 0 0 10px;
    font-size: clamp(31px, 3vw, 43px);
    line-height: 1.2;
}

.dining-section__moments-heading > p:last-child {
    margin: 0;
    color: var(--dining-muted);
    font-size: 15px;
    line-height: 1.7;
}

.dining-section__moments-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 13px;
}

.dining-section__moment {
    padding: 23px;
    border-top: 3px solid #D8A769;
    border-radius: 0 0 10px 10px;
    background: #293B32;
}

.dining-section__moment:nth-child(2) {
    background: #40372D;
}

.dining-section__moment:nth-child(3) {
    background: #273D3B;
}

.dining-section__moment svg {
    width: 31px;
    height: 31px;
    margin-bottom: 15px;
    color: #E7B978;
}

.dining-section__moment h4 {
    margin: 0 0 11px;
    color: #F7DFB9;
    font-size: 24px;
    line-height: 1.25;
}

.dining-section__moment p {
    margin: 0;
    color: #E0E4D9;
    font-size: 14px;
    line-height: 1.75;
}

/* DINING MOMENTS END */


/* ==========================================================
   DINING CLOSING START
========================================================== */

.dining-section__closing {
    display: grid;
    grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
    align-items: center;
    gap: 27px;
    margin-top: 30px;
    padding: 25px;
    border: 1px solid var(--dining-border);
    border-radius: 12px;
    background: #26362D;
}

.dining-section__closing h3 {
    margin: 0;
    font-size: clamp(29px, 2.6vw, 39px);
    line-height: 1.22;
}

.dining-section__closing > p {
    margin: 0;
    color: #E0E3D9;
    font-size: 14px;
    line-height: 1.8;
}

/* DINING CLOSING END */


/* ==========================================================
   DINING LAPTOP START
========================================================== */

@media (max-width: 1200px) {
    .dining-section__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .dining-section__intro {
        grid-template-columns: minmax(0, 1.3fr) minmax(220px, .7fr);
        gap: 23px;
    }

    .dining-section__card {
        grid-template-columns: 1fr;
    }

    .dining-section__card-image {
        height: 160px;
        min-height: 0;
    }

    .dining-section__card-body {
        padding: 18px;
    }

    .dining-section__detail {
        padding: 24px;
    }
}

/* DINING LAPTOP END */


/* ==========================================================
   DINING TABLET START
========================================================== */

@media (max-width: 900px) {
    .dining-section {
        padding: 35px 0 52px;
    }

    .dining-section__container {
        width: calc(100% - 48px);
        margin: 0 auto;
    }

    .dining-section__intro {
        grid-template-columns: 1fr;
    }

    .dining-section__intro-visual {
        height: 240px;
    }

    .dining-section__detail-grid {
        grid-template-columns: 1fr;
    }

    .dining-section__venue {
        grid-template-columns: 1fr;
    }

    .dining-section__venue-photo {
        min-height: 260px;
        height: 260px;
    }

    .dining-section__moments-grid {
        grid-template-columns: 1fr;
    }
}

/* DINING TABLET END */


/* ==========================================================
   DINING MOBILE START
========================================================== */

@media (max-width: 600px) {
    .dining-section {
        padding: 20px 0 45px;
    }

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

    /* MOBILE CONTENT ORDER START */

    .dining-section__layout {
        display: flex;
        flex-direction: column;
    }

    .dining-section__layout > .dining-section__discovery {
        order: 0;
    }

    .dining-section__layout > .dining-section__intro {
        order: 1;
        margin: 25px 0 0;
        padding: 24px 0 0;
        border-top: 1px solid var(--dining-border);
    }

    /* MOBILE CONTENT ORDER END */

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

    .dining-section__discovery-heading h3 {
        font-size: 34px;
    }

    .dining-section__discovery-heading > p:last-child {
        font-size: 14px;
    }

    .dining-section__cards {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .dining-section__card {
        display: flex;
        flex-direction: column;
        min-height: 0;
        height: auto;
    }

    .dining-section__card-image {
        height: 190px;
        min-height: 190px;
    }

    .dining-section__card-body {
        padding: 17px;
    }

    .dining-section__card-body > strong {
        font-size: 29px;
    }

    .dining-section__card-description {
        font-size: 14px;
    }

    .dining-section__card-action {
        margin-top: 8px;
        min-height: 47px;
        font-size: 13px;
    }

    .dining-section__details {
        margin-top: 0;
    }

    .dining-section__detail {
        margin: -2px 0 7px;
        padding: 20px 15px;
        border-color: var(--dining-gold);
        border-radius: 0 0 12px 12px;
    }

    .dining-section__detail-header {
        flex-direction: column;
        gap: 14px;
    }

    .dining-section__detail-header h3 {
        font-size: 30px;
    }

    .dining-section__detail-intro p {
        font-size: 15px;
    }

    .dining-section__detail-item {
        padding: 19px;
    }

    .dining-section__detail-item h4 {
        font-size: 23px;
    }

    .dining-section__detail-item p {
        font-size: 15px;
    }

    .dining-section__detail-note {
        grid-template-columns: 1fr;
        gap: 8px;
        padding: 17px;
    }

    .dining-section__intro h2 {
        font-size: 36px;
    }

    .dining-section__intro-copy > p:not(.dining-section__eyebrow) {
        font-size: 15px;
    }

    .dining-section__intro-copy > .dining-section__lead {
        font-size: 19px;
    }

    .dining-section__intro-visual {
        height: 200px;
    }

    .dining-section__intro-caption strong {
        font-size: 22px;
    }

    .dining-section__venue {
        margin-top: 28px;
    }

    .dining-section__venue-photo {
        min-height: 230px;
        height: 230px;
    }

    .dining-section__venue-content {
        padding: 22px 18px;
    }

    .dining-section__venue-content h3 {
        font-size: 34px;
    }

    .dining-section__venue-highlights strong {
        font-size: 25px;
    }

    .dining-section__moments {
        margin-top: 29px;
    }

    .dining-section__moments-heading h3 {
        font-size: 33px;
    }

    .dining-section__moment {
        padding: 20px;
    }

    .dining-section__closing {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 20px;
    }

    .dining-section__closing h3 {
        font-size: 32px;
    }
}

/* DINING MOBILE END */


/* ==========================================================
   DINING SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {
    .dining-section__container {
        width: calc(100% - 22px);
    }

    .dining-section__detail {
        padding: 17px 12px;
    }

    .dining-section__card-body > strong {
        font-size: 27px;
    }
}

/* DINING SMALL MOBILE END */


/* ==========================================================
   DINING REDUCED MOTION START
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .dining-section *,
    .dining-section *::before,
    .dining-section *::after {
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
    }
}

/* DINING REDUCED MOTION END */


/* ==========================================================
   DINING SECTION END
========================================================== */
/* ==========================================================
   REWARDS SECTION START
========================================================== */

/* REWARDS FOUNDATION START */

.rewards-section {
    --rewards-gold: #E9BE7D;
    --rewards-cream: #FFF0D8;
    --rewards-text: #F5F5ED;
    --rewards-muted: #D6E2DA;
    --rewards-border: rgba(233, 190, 125, .3);

    position: relative;
    min-height: calc(100svh - var(--header-height, 84px));
    padding: 44px 0 62px;
    color: var(--rewards-text);
    background:
        radial-gradient(ellipse at 92% 8%, rgba(59, 122, 97, .22), transparent 40%),
        linear-gradient(135deg, #102D28 0%, #102E2A 50%, #0B1D25 100%);
}

.rewards-section__container {
    width: min(1280px, calc(100% - 180px));
    margin: 0 auto;
}

.rewards-section *,
.rewards-section *::before,
.rewards-section *::after {
    box-sizing: border-box;
}

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

.rewards-section h2,
.rewards-section h3,
.rewards-section h4,
.rewards-section h5 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.rewards-section h2 span,
.rewards-section h3 em,
.rewards-section h4 em {
    display: block;
    color: var(--rewards-gold);
    font-weight: 400;
}

.rewards-section__eyebrow {
    margin: 0 0 12px;
    color: var(--rewards-gold);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .14em;
}

.rewards-section p {
    overflow-wrap: break-word;
}

/* REWARDS FOUNDATION END */


/* ==========================================================
   REWARDS MAIN LAYOUT START
========================================================== */

.rewards-section__layout {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.rewards-section__intro {
    order: 0;
}

.rewards-section__benefits {
    order: 1;
}

/* REWARDS MAIN LAYOUT END */


/* ==========================================================
   REWARDS INTRO START
========================================================== */

.rewards-section__intro {
    display: grid;
    grid-template-columns: minmax(0, 1.12fr) minmax(300px, .88fr);
    align-items: center;
    column-gap: 35px;
    row-gap: 18px;
    margin-bottom: 32px;
}

.rewards-section__intro-heading,
.rewards-section__intro-text {
    min-width: 0;
    grid-column: 1;
}

.rewards-section__intro-heading {
    align-self: end;
}

.rewards-section__intro-heading h2 {
    margin: 0;
    font-size: clamp(39px, 4vw, 60px);
    line-height: 1.12;
    letter-spacing: -.025em;
}

.rewards-section__intro-text {
    align-self: start;
}

.rewards-section__intro-text p {
    margin: 0 0 12px;
    color: var(--rewards-muted);
    font-size: 15px;
    line-height: 1.75;
}

.rewards-section__intro-text p:last-child {
    margin-bottom: 0;
}

.rewards-section__intro-text .rewards-section__lead {
    color: var(--rewards-cream);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(19px, 1.65vw, 23px);
    line-height: 1.55;
}

.rewards-section__photo {
    grid-column: 2;
    grid-row: 1 / 3;
    position: relative;
    align-self: stretch;
    min-height: 370px;
    overflow: hidden;
    border: 1px solid rgba(233, 190, 125, .45);
    border-radius: 14px;
    background: #09251F;
}

.rewards-section__photo img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* REWARDS INTRO END */


/* ==========================================================
   REWARDS BENEFITS HEADING START
========================================================== */

.rewards-section__benefits-heading {
    max-width: 850px;
    margin-bottom: 19px;
}

.rewards-section__benefits-heading h3 {
    margin: 0 0 11px;
    font-size: clamp(31px, 3vw, 43px);
    line-height: 1.2;
}

.rewards-section__benefits-heading > p:last-child {
    margin: 0;
    color: var(--rewards-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* REWARDS BENEFITS HEADING END */


/* ==========================================================
   REWARDS INTERACTIVE BUTTONS START
========================================================== */

.rewards-section__buttons {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 13px;
    align-items: stretch;
}

.rewards-section__button {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    min-width: 0;
    min-height: 330px;
    gap: 12px;
    padding: 22px;

    border: 2px solid #DBAD73;
    border-radius: 13px;
    background: #193E35;
    color: #FFF0DD;

    font: inherit;
    text-align: left;
    cursor: pointer;

    transition:
        transform 180ms ease,
        border-color 180ms ease,
        background 180ms ease,
        box-shadow 180ms ease;
}

.rewards-section__button:nth-child(2) {
    background: #204941;
}

.rewards-section__button:nth-child(3) {
    background: #244348;
}

.rewards-section__button:nth-child(4) {
    background: #3D4434;
}

.rewards-section__button:hover {
    transform: translateY(-3px);
    border-color: #FFE1AF;
    box-shadow: 0 10px 25px rgba(0, 0, 0, .16);
}

.rewards-section__button.is-active {
    border-color: #FFE2B2;
    background: #345847;
    box-shadow: 0 0 0 2px rgba(233, 190, 125, .34);
}

.rewards-section__button:focus-visible,
.rewards-section__close:focus-visible {
    outline: 3px solid #FFE3B0;
    outline-offset: 3px;
}

.rewards-section__button-top {
    display: flex;
    align-items: center;
    gap: 11px;
    width: 100%;
    color: #F0C78A;
}

.rewards-section__button-top svg {
    width: 31px;
    height: 31px;
    flex-shrink: 0;
}

.rewards-section__button-top > span {
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: .09em;
}

.rewards-section__button > strong {
    color: #FFF0D9;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 31px;
    font-weight: 400;
    line-height: 1.15;
}

.rewards-section__button-value {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 7px;
    color: #F5CB8E;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(34px, 3vw, 45px);
    line-height: 1.12;
    letter-spacing: -.025em;
    overflow-wrap: anywhere;
}

.rewards-section__button-value small {
    color: #E9D8B8;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.6;
    letter-spacing: .08em;
}

.rewards-section__button-value--words {
    font-size: clamp(28px, 2.6vw, 38px);
}

.rewards-section__button-description {
    display: block;
    color: #E1EAE0;
    font-size: 14px;
    line-height: 1.6;
}

.rewards-section__button-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
    min-height: 47px;
    margin-top: auto;
    padding: 10px 13px;
    border-radius: 7px;
    background: linear-gradient(110deg, #F5D8A9, #E5B779);
    color: #153127;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;
}

.rewards-section__button.is-active .rewards-section__button-action {
    background: #FFE5B9;
}

.rewards-section__button-action svg {
    width: 19px;
    height: 19px;
    flex-shrink: 0;
    transition: transform 180ms ease;
}

.rewards-section__button:hover .rewards-section__button-action svg {
    transform: translateX(3px);
}

/* REWARDS INTERACTIVE BUTTONS END */


/* ==========================================================
   REWARDS DETAIL PANELS START
========================================================== */

.rewards-section__details {
    width: 100%;
    margin-top: 14px;
}

.rewards-section__detail {
    min-width: 0;
    padding: 27px;
    border: 1px solid rgba(233, 190, 125, .44);
    border-radius: 13px;
    background: linear-gradient(125deg, #183C36, #23423D 60%, #334438);
}

.rewards-section__detail-header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 22px;
    margin-bottom: 19px;
}

.rewards-section__detail-header h4 {
    margin: 0;
    font-size: clamp(29px, 2.8vw, 42px);
    line-height: 1.2;
}

.rewards-section__close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 11px;
    flex-shrink: 0;
    min-height: 45px;
    padding: 0 15px;
    border: 1px solid var(--rewards-gold);
    border-radius: 7px;
    background: var(--rewards-gold);
    color: #163129;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.rewards-section__close:hover {
    background: #FFE0AF;
}

.rewards-section__close span {
    font-size: 23px;
    line-height: 1;
}

.rewards-section__detail-copy {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.rewards-section__detail-copy > div {
    min-width: 0;
    padding: 20px;
    border-left: 3px solid #E9BE7D;
    background: rgba(8, 28, 26, .42);
}

.rewards-section__detail-copy h5 {
    margin: 0 0 12px;
    color: #F7DAAA;
    font-size: 24px;
    line-height: 1.25;
}

.rewards-section__detail-copy p {
    margin: 0 0 11px;
    color: #E0E8DF;
    font-size: 14px;
    line-height: 1.75;
}

.rewards-section__detail-copy p:last-child {
    margin-bottom: 0;
}

.rewards-section__detail-note {
    margin: 14px 0 0;
    padding: 17px 20px;
    border-left: 3px solid #DAB377;
    background: #414437;
    color: #F2E8D7;
    font-size: 14px;
    line-height: 1.75;
}

/* REWARDS DETAIL PANELS END */


/* ==========================================================
   REWARDS LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {
    .rewards-section__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .rewards-section__intro {
        grid-template-columns: minmax(0, 1.1fr) minmax(230px, .9fr);
        gap: 20px;
    }

    .rewards-section__photo {
        min-height: 340px;
    }

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

    .rewards-section__button {
        min-height: 280px;
    }
}

/* REWARDS LAPTOP RESPONSIVE END */


/* ==========================================================
   REWARDS TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {
    .rewards-section {
        padding: 33px 0 53px;
    }

    .rewards-section__container {
        width: calc(100% - 48px);
        margin: 0 auto;
    }

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

    .rewards-section__intro-heading,
    .rewards-section__intro-text,
    .rewards-section__photo {
        grid-column: 1;
        grid-row: auto;
    }

    .rewards-section__photo {
        min-height: 0;
        height: 300px;
    }

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

/* REWARDS TABLET RESPONSIVE END */


/* ==========================================================
   REWARDS MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {
    .rewards-section {
        padding: 19px 0 44px;
    }

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

    /* MOBILE CONTENT ORDER START */

    .rewards-section__layout {
        display: flex;
        flex-direction: column;
    }

    .rewards-section__intro {
        display: contents;
    }

    .rewards-section__intro-heading {
        order: 0;
    }

    .rewards-section__photo {
        order: 1;
    }

    .rewards-section__benefits {
        order: 2;
    }

    .rewards-section__intro-text {
        order: 3;
    }

    /* MOBILE CONTENT ORDER END */


    /* MOBILE INTRO START */

    .rewards-section__intro-heading {
        margin-bottom: 15px;
    }

    .rewards-section__intro-heading h2 {
        font-size: 35px;
    }

    .rewards-section__photo {
        height: 210px;
        margin-bottom: 23px;
    }

    .rewards-section__intro-text {
        margin-top: 27px;
        padding-top: 22px;
        border-top: 1px solid var(--rewards-border);
    }

    .rewards-section__intro-text p {
        font-size: 14px;
        line-height: 1.75;
    }

    .rewards-section__intro-text .rewards-section__lead {
        font-size: 19px;
    }

    /* MOBILE INTRO END */


    /* MOBILE BENEFITS START */

    .rewards-section__benefits-heading {
        margin-bottom: 16px;
    }

    .rewards-section__benefits-heading h3 {
        font-size: 31px;
    }

    .rewards-section__benefits-heading > p:last-child {
        font-size: 14px;
    }

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

    .rewards-section__button {
        min-height: 0;
        padding: 14px;
        gap: 9px;
    }

    .rewards-section__button-top {
        gap: 7px;
    }

    .rewards-section__button-top svg {
        width: 24px;
        height: 24px;
    }

    .rewards-section__button-top > span {
        font-size: 9px;
        letter-spacing: .05em;
    }

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

    .rewards-section__button-value {
        font-size: clamp(26px, 7vw, 38px);
        line-height: 1.1;
    }

    .rewards-section__button-value--words {
        font-size: 26px;
    }

    .rewards-section__button-value small {
        font-size: 9px;
    }

    .rewards-section__button-description {
        font-size: 13px;
        line-height: 1.55;
    }

    .rewards-section__button-action {
        min-height: 44px;
        padding: 9px 10px;
        font-size: 12px;
    }

    .rewards-section__button-action svg {
        width: 17px;
        height: 17px;
    }

    /* MOBILE BENEFITS END */


    /* MOBILE DETAIL PANELS START */

    .rewards-section__details {
        margin-top: 0;
    }

    .rewards-section__detail {
        grid-column: 1 / -1;
        margin: -2px 0 7px;
        padding: 19px 15px;
        border-color: #E9BE7D;
        border-radius: 0 0 11px 11px;
    }

    .rewards-section__detail-header {
        flex-direction: column;
        gap: 14px;
    }

    .rewards-section__detail-header h4 {
        font-size: 29px;
    }

    .rewards-section__detail-copy {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .rewards-section__detail-copy > div {
        padding: 16px;
    }

    .rewards-section__detail-copy h5 {
        font-size: 22px;
    }

    .rewards-section__detail-copy p,
    .rewards-section__detail-note {
        font-size: 14px;
    }

    /* MOBILE DETAIL PANELS END */
}

/* REWARDS MOBILE RESPONSIVE END */


/* ==========================================================
   REWARDS SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {
    .rewards-section__container {
        width: calc(100% - 22px);
    }

    .rewards-section__intro-heading h2 {
        font-size: 32px;
    }

    .rewards-section__button {
        padding: 11px;
    }

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

    .rewards-section__button-value {
        font-size: 27px;
    }

    .rewards-section__button-description {
        font-size: 12px;
    }
}

/* REWARDS SMALL MOBILE END */


/* ==========================================================
   REWARDS REDUCED MOTION START
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .rewards-section *,
    .rewards-section *::before,
    .rewards-section *::after {
        animation-duration: .01ms !important;
        transition-duration: .01ms !important;
    }
}

/* REWARDS REDUCED MOTION END */


/* ==========================================================
   REWARDS SECTION END
========================================================== */
/* ==========================================================
   PLAN YOUR VISIT SECTION START
========================================================== */

.visit-section {
    --visit-gold: #E9BE7D;
    --visit-blue: #9CBED3;
    --visit-cream: #F8EEE0;
    --visit-muted: #C9D5E0;
    --visit-border: rgba(156, 190, 211, .25);

    position: relative;
    min-height: calc(100svh - var(--header-height, 84px));
    padding: 54px 0 70px;
    color: #F5F3EF;

    background:
        radial-gradient(ellipse at 90% 7%, rgba(88, 117, 152, .2), transparent 43%),
        linear-gradient(135deg, #1B2434 0%, #162536 50%, #101C2A 100%);
}

.visit-section__container {
    width: min(1280px, calc(100% - 180px));
    margin: 0 auto;
}

.visit-section *,
.visit-section *::before,
.visit-section *::after {
    box-sizing: border-box;
}

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

.visit-section h2,
.visit-section h3,
.visit-section h4 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.visit-section h2 span,
.visit-section h3 em,
.visit-section h4 em {
    display: block;
    color: var(--visit-gold);
    font-weight: 400;
}

.visit-section__eyebrow {
    margin: 0 0 13px;
    color: var(--visit-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .15em;
    line-height: 1.5;
}

.visit-section p {
    overflow-wrap: break-word;
}

/* VISIT FOUNDATION END */


/* ==========================================================
   VISIT CONTENT ORDER START
========================================================== */

.visit-section__layout {
    display: flex;
    flex-direction: column;
}

.visit-section__layout > .visit-section__intro {
    order: 0;
}

.visit-section__layout > .visit-section__essentials {
    order: 1;
}

/* VISIT CONTENT ORDER END */


/* ==========================================================
   VISIT INTRO START
========================================================== */

.visit-section__intro {
    max-width: 1030px;
    margin-bottom: 42px;
}

.visit-section__intro h2 {
    max-width: 960px;
    margin: 0 0 22px;
    font-size: clamp(42px, 4.3vw, 66px);
    line-height: 1.1;
    letter-spacing: -.03em;
}

.visit-section__intro > p:not(.visit-section__eyebrow) {
    max-width: 900px;
    margin: 0 0 13px;
    color: var(--visit-muted);
    font-size: 15px;
    line-height: 1.85;
}

.visit-section__intro > .visit-section__lead {
    color: var(--visit-cream);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(20px, 1.85vw, 25px);
    line-height: 1.55;
}

/* VISIT INTRO END */


/* ==========================================================
   VISIT SECTION HEADINGS START
========================================================== */

.visit-section__section-heading {
    max-width: 900px;
    margin-bottom: 24px;
}

.visit-section__section-heading h3 {
    margin: 0 0 13px;
    font-size: clamp(32px, 3.2vw, 46px);
    line-height: 1.19;
}

.visit-section__section-heading > p:last-child {
    margin: 0;
    color: var(--visit-muted);
    font-size: 15px;
    line-height: 1.75;
}

/* VISIT SECTION HEADINGS END */


/* ==========================================================
   VISIT LOCATION START
========================================================== */

.visit-section__location {
    display: grid;
    grid-template-columns: 66px minmax(0, 1fr) minmax(230px, .55fr);
    align-items: center;
    gap: 24px;

    padding: 30px;
    border: 1px solid rgba(233, 190, 125, .38);
    border-radius: 14px;

    background: linear-gradient(120deg, #25364A, #203347);
}

.visit-section__location-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 60px;
    height: 60px;
    color: var(--visit-gold);
}

.visit-section__location-icon svg {
    width: 47px;
    height: 47px;
}

.visit-section__location-label {
    display: block;
    margin-bottom: 9px;
    color: var(--visit-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .13em;
}

.visit-section__location-content h4 {
    margin: 0 0 11px;
    color: #FFF0D7;
    font-size: 33px;
    line-height: 1.2;
}

.visit-section__location-content address,
.visit-section__closing address {
    color: #F1F1EB;
    font-size: 16px;
    font-style: normal;
    line-height: 1.8;
}

.visit-section__location-content p {
    margin: 12px 0 0;
    color: #C7D9E3;
    font-size: 14px;
    line-height: 1.75;
}

.visit-section__location-contact {
    padding-left: 24px;
    border-left: 1px solid var(--visit-border);
}

.visit-section__location-contact > span {
    display: block;
    margin-bottom: 10px;
    color: var(--visit-blue);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .1em;
}

.visit-section__location-contact strong {
    display: block;
    color: #F8D6A6;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(23px, 2.1vw, 30px);
    font-weight: 400;
    line-height: 1.4;
}

.visit-section__location-contact small {
    display: block;
    margin-top: 9px;
    color: #C8D8E2;
    font-size: 13px;
    line-height: 1.5;
}

/* VISIT LOCATION END */


/* ==========================================================
   VISIT HOURS START
========================================================== */

.visit-section__hours {
    margin-top: 28px;
}

.visit-section__hours-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 30px;
    margin-bottom: 19px;
}

.visit-section__hours-heading h4 {
    margin: 0;
    font-size: clamp(29px, 2.8vw, 41px);
    line-height: 1.2;
}

.visit-section__hours-heading > p {
    max-width: 390px;
    margin: 0;
    color: var(--visit-muted);
    font-size: 14px;
    line-height: 1.75;
}

.visit-section__hours-table {
    border: 1px solid var(--visit-border);
    border-radius: 13px;
    overflow: hidden;
    background: #172B3B;
}

.visit-section__hours-group {
    display: grid;
    grid-template-columns: minmax(190px, .75fr) minmax(0, 1.25fr);
    align-items: start;
    gap: 22px;
    padding: 23px 26px;
}

.visit-section__hours-group + .visit-section__hours-group {
    border-top: 1px solid var(--visit-border);
}

.visit-section__hours-group:nth-child(even) {
    background: #20354A;
}

.visit-section__hours-name {
    display: flex;
    align-items: center;
    gap: 15px;
}

.visit-section__hours-name svg {
    width: 30px;
    height: 30px;
    flex-shrink: 0;
    color: var(--visit-gold);
}

.visit-section__hours-name strong {
    color: #F8E8D1;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 25px;
    font-weight: 400;
}

.visit-section__hours-times {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.visit-section__hours-times > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 18px;
}

.visit-section__hours-times span {
    color: #D5DFE7;
    font-size: 14px;
    line-height: 1.5;
}

.visit-section__hours-times strong {
    color: #F5D29F;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    text-align: right;
    white-space: nowrap;
}

.visit-section__hours-note {
    margin: 14px 0 0;
    padding-left: 15px;
    border-left: 2px solid var(--visit-gold);
    color: #C6D4DF;
    font-size: 13px;
    line-height: 1.8;
}

/* VISIT HOURS END */


/* ==========================================================
   VISIT PREPARATION START
========================================================== */

.visit-section__prepare {
    margin-top: 44px;
}

.visit-section__prepare-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 32px;
    border-top: 1px solid var(--visit-border);
}

.visit-section__prepare-item {
    display: flex;
    align-items: flex-start;
    gap: 19px;
    padding: 24px 0;
    border-bottom: 1px solid var(--visit-border);
}

.visit-section__prepare-symbol {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 54px;
    width: 54px;
    height: 54px;
    border: 1px solid rgba(233, 190, 125, .4);
    border-radius: 11px;
    color: var(--visit-gold);
}

.visit-section__prepare-symbol strong {
    font-family: Georgia, "Times New Roman", serif;
    font-size: 23px;
    font-weight: 400;
}

.visit-section__prepare-symbol svg {
    width: 34px;
    height: 34px;
}

.visit-section__prepare-item h4 {
    margin: 0 0 12px;
    color: #F2DCBD;
    font-size: 27px;
    line-height: 1.25;
}

.visit-section__prepare-item p {
    margin: 0 0 11px;
    color: #D4E0E8;
    font-size: 15px;
    line-height: 1.8;
}

.visit-section__prepare-item p:last-child {
    margin-bottom: 0;
}

/* VISIT PREPARATION END */


/* ==========================================================
   VISIT EXPERIENCE START
========================================================== */

.visit-section__experience {
    margin-top: 42px;
    padding: 30px;
    border: 1px solid var(--visit-border);
    border-radius: 13px;
    background: #192D3E;
}

.visit-section__experience-heading {
    max-width: 920px;
    margin-bottom: 23px;
}

.visit-section__experience-heading h3 {
    margin: 0 0 12px;
    font-size: clamp(32px, 3vw, 44px);
    line-height: 1.2;
}

.visit-section__experience-heading > p:last-child {
    margin: 0;
    color: var(--visit-muted);
    font-size: 15px;
    line-height: 1.75;
}

.visit-section__experience-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 28px;
}

.visit-section__experience-list > div {
    padding: 22px 0;
    border-top: 1px solid var(--visit-border);
}

.visit-section__experience-list strong {
    display: block;
    margin-bottom: 10px;
    color: #F3D3A8;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 24px;
    font-weight: 400;
}

.visit-section__experience-list p {
    margin: 0;
    color: #D7E1E8;
    font-size: 15px;
    line-height: 1.8;
}

/* VISIT EXPERIENCE END */


/* ==========================================================
   VISIT QUESTIONS START
========================================================== */

.visit-section__questions {
    margin-top: 42px;
}

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

.visit-section__questions-column {
    display: flex;
    flex-direction: column;
    gap: 11px;
    min-width: 0;
}

.visit-section__question {
    overflow: hidden;
    border: 1px solid rgba(156, 190, 211, .35);
    border-radius: 10px;
    background: #21354A;
}

.visit-section__question summary {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 64px;
    padding: 16px 52px 16px 19px;
    color: #F5F1EA;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
    list-style: none;
    cursor: pointer;
}

.visit-section__question summary::-webkit-details-marker {
    display: none;
}

.visit-section__question summary::after {
    content: "+";
    position: absolute;
    right: 18px;
    top: 50%;
    color: var(--visit-gold);
    font-size: 27px;
    font-weight: 400;
    line-height: 1;
    transform: translateY(-50%);
}

.visit-section__question[open] summary::after {
    content: "−";
}

.visit-section__question summary:hover,
.visit-section__question[open] summary {
    background: #31475F;
}

.visit-section__question summary:focus-visible {
    outline: 3px solid var(--visit-gold);
    outline-offset: -3px;
}

.visit-section__question > div {
    padding: 3px 19px 20px;
    border-top: 1px solid var(--visit-border);
}

.visit-section__question > div p {
    margin: 13px 0 0;
    color: #D9E3EB;
    font-size: 15px;
    line-height: 1.8;
}

/* VISIT QUESTIONS END */


/* ==========================================================
   VISIT CLOSING START
========================================================== */

.visit-section__closing {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: 35px;
    margin-top: 42px;
    padding: 30px;
    border: 1px solid rgba(233, 190, 125, .35);
    border-radius: 12px;
    background: linear-gradient(120deg, #283B50, #1B3444);
}

.visit-section__closing h3 {
    margin: 0;
    font-size: clamp(31px, 3.1vw, 45px);
    line-height: 1.2;
}

.visit-section__closing > div:last-child {
    padding-left: 25px;
    border-left: 1px solid var(--visit-border);
}

.visit-section__closing address {
    color: #F4EBDD;
    font-size: 16px;
}

.visit-section__closing p {
    margin: 10px 0 0;
    color: #CBD9E5;
    font-size: 14px;
    line-height: 1.75;
}

.visit-section__closing p strong {
    color: #F3D19B;
}

/* VISIT CLOSING END */


/* ==========================================================
   VISIT LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {
    .visit-section__container {
        width: calc(100% - 145px);
        margin-left: 35px;
    }

    .visit-section__location {
        grid-template-columns: 55px minmax(0, 1fr);
    }

    .visit-section__location-contact {
        grid-column: 2;
        padding: 17px 0 0;
        border-left: 0;
        border-top: 1px solid var(--visit-border);
    }
}

/* VISIT LAPTOP RESPONSIVE END */


/* ==========================================================
   VISIT TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {
    .visit-section {
        padding: 37px 0 58px;
    }

    .visit-section__container {
        width: calc(100% - 48px);
        margin: 0 auto;
    }

    .visit-section__prepare-list,
    .visit-section__questions-grid {
        grid-template-columns: 1fr;
    }

    .visit-section__hours-heading {
        flex-direction: column;
        align-items: flex-start;
        gap: 13px;
    }

    .visit-section__hours-heading > p {
        max-width: 650px;
    }

    .visit-section__experience-list {
        grid-template-columns: 1fr;
    }
}

/* VISIT TABLET RESPONSIVE END */


/* ==========================================================
   VISIT MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {
    .visit-section {
        padding: 22px 0 46px;
    }

    .visit-section__container {
        width: calc(100% - 28px);
    }

    /* MOBILE CONTENT ORDER START */

    .visit-section__layout {
        display: flex;
        flex-direction: column;
    }

    .visit-section__layout > .visit-section__essentials {
        order: 0;
    }

    .visit-section__layout > .visit-section__intro {
        order: 1;
        margin: 28px 0 0;
        padding-top: 24px;
        border-top: 1px solid var(--visit-border);
    }

    /* MOBILE CONTENT ORDER END */

    .visit-section__section-heading {
        margin-bottom: 17px;
    }

    .visit-section__section-heading h3 {
        font-size: 32px;
    }

    .visit-section__section-heading > p:last-child {
        font-size: 14px;
    }

    .visit-section__location {
        grid-template-columns: 1fr;
        gap: 13px;
        padding: 21px;
    }

    .visit-section__location-icon {
        width: 47px;
        height: 47px;
    }

    .visit-section__location-icon svg {
        width: 42px;
        height: 42px;
    }

    .visit-section__location-content h4 {
        font-size: 28px;
    }

    .visit-section__location-content address {
        font-size: 15px;
    }

    .visit-section__location-contact {
        grid-column: 1;
        margin-top: 5px;
        padding-top: 18px;
    }

    .visit-section__location-contact strong {
        font-size: 25px;
    }

    .visit-section__hours {
        margin-top: 26px;
    }

    .visit-section__hours-heading h4 {
        font-size: 30px;
    }

    .visit-section__hours-group {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 19px;
    }

    .visit-section__hours-name strong {
        font-size: 24px;
    }

    .visit-section__hours-times > div {
        align-items: flex-start;
        gap: 7px;
    }

    .visit-section__hours-times span {
        font-size: 13px;
    }

    .visit-section__hours-times strong {
        font-size: 13px;
    }

    .visit-section__hours-note {
        font-size: 13px;
    }

    .visit-section__intro h2 {
        font-size: 36px;
    }

    .visit-section__intro > p:not(.visit-section__eyebrow) {
        font-size: 14px;
        line-height: 1.8;
    }

    .visit-section__intro > .visit-section__lead {
        font-size: 19px;
    }

    .visit-section__prepare,
    .visit-section__experience,
    .visit-section__questions {
        margin-top: 30px;
    }

    .visit-section__prepare-item {
        gap: 13px;
        padding: 19px 0;
    }

    .visit-section__prepare-symbol {
        flex-basis: 45px;
        width: 45px;
        height: 45px;
    }

    .visit-section__prepare-symbol strong {
        font-size: 19px;
    }

    .visit-section__prepare-symbol svg {
        width: 29px;
        height: 29px;
    }

    .visit-section__prepare-item h4 {
        font-size: 24px;
    }

    .visit-section__prepare-item p {
        font-size: 14px;
    }

    .visit-section__experience {
        padding: 22px 18px;
    }

    .visit-section__experience-heading h3 {
        font-size: 32px;
    }

    .visit-section__experience-list strong {
        font-size: 23px;
    }

    .visit-section__experience-list p {
        font-size: 14px;
    }

    .visit-section__question summary {
        font-size: 14px;
    }

    .visit-section__question > div p {
        font-size: 14px;
    }

    .visit-section__closing {
        grid-template-columns: 1fr;
        gap: 21px;
        margin-top: 30px;
        padding: 22px;
    }

    .visit-section__closing h3 {
        font-size: 33px;
    }

    .visit-section__closing > div:last-child {
        padding: 19px 0 0;
        border-left: 0;
        border-top: 1px solid var(--visit-border);
    }
}

/* VISIT MOBILE RESPONSIVE END */


/* ==========================================================
   VISIT SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {
    .visit-section__container {
        width: calc(100% - 22px);
    }

    .visit-section__hours-times > div {
        flex-direction: column;
    }

    .visit-section__hours-times strong {
        text-align: left;
    }

    .visit-section__intro h2 {
        font-size: 33px;
    }
}

/* VISIT SMALL MOBILE END */


/* ==========================================================
   VISIT REDUCED MOTION START
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .visit-section *,
    .visit-section *::before,
    .visit-section *::after {
        transition-duration: .01ms !important;
    }
}

/* VISIT REDUCED MOTION END */


/* ==========================================================
   PLAN YOUR VISIT SECTION END
========================================================== */
/* ==========================================================
   PREMIUM GOLD SECTION NAVIGATION START
========================================================== */

/* NAVIGATION CONTAINER START */

.section-nav {
    gap: 0;
    padding: 8px 7px;

    border: 1px solid rgba(233, 190, 125, 0.75);
    border-radius: 17px;

    background: linear-gradient(
        160deg,
        #101B28 0%,
        #09131D 100%
    );

    box-shadow:
        0 12px 35px rgba(0, 0, 0, 0.4),
        0 0 18px rgba(233, 190, 125, 0.10);
}

/* NAVIGATION CONTAINER END */


/* INACTIVE NAVIGATION ITEMS START */

.section-nav__item {
    position: relative;
    min-height: 56px;

    margin: 0;
    padding: 7px 4px;

    border: 1px solid transparent;
    border-radius: 8px;

    background: transparent;
    color: #E9BE7D;

    transition:
        background 180ms ease,
        color 180ms ease,
        border-color 180ms ease,
        box-shadow 180ms ease;
}

.section-nav__item svg {
    width: 23px;
    height: 23px;

    stroke: #E9BE7D;
    stroke-width: 1.9;
}

.section-nav__item span {
    color: #E9BE7D;

    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
}

/* INACTIVE NAVIGATION ITEMS END */


/* GOLD DIVIDERS START */

.section-nav__item + .section-nav__item::before {
    content: "";

    position: absolute;
    top: -1px;
    right: 8px;
    left: 8px;

    height: 1px;

    background: linear-gradient(
        90deg,
        transparent,
        rgba(233, 190, 125, 0.55),
        transparent
    );
}

.section-nav__item.is-active::before,
.section-nav__item.is-active + .section-nav__item::before {
    opacity: 0;
}

/* GOLD DIVIDERS END */


/* NAVIGATION HOVER START */

.section-nav__item:hover:not(.is-active) {
    background: rgba(233, 190, 125, 0.12);
    border-color: rgba(233, 190, 125, 0.35);
    color: #FFE3B3;
}

.section-nav__item:hover:not(.is-active) svg,
.section-nav__item:hover:not(.is-active) span {
    color: #FFE3B3;
    stroke: #FFE3B3;
}

/* NAVIGATION HOVER END */


/* ACTIVE NAVIGATION ITEM START */

.section-nav__item.is-active {
    color: #101820;

    border: 1px solid #FFE2AC;
    border-radius: 9px;

    background: linear-gradient(
        135deg,
        #FFE5B4 0%,
        #E9BE7D 55%,
        #D6A45F 100%
    );

    box-shadow:
        0 0 14px rgba(233, 190, 125, 0.42),
        0 0 26px rgba(233, 190, 125, 0.15),
        inset 0 1px 0 rgba(255, 255, 255, 0.45);
}

.section-nav__item.is-active svg {
    color: #101820;
    stroke: #101820;
    stroke-width: 2.2;
}

.section-nav__item.is-active span {
    color: #101820;
    font-weight: 900;
}

/* ACTIVE NAVIGATION ITEM END */


/* KEYBOARD FOCUS START */

.section-nav__item:focus-visible {
    outline: 2px solid #FFE5B4;
    outline-offset: 3px;
}

/* KEYBOARD FOCUS END */


/* ==========================================================
   MOBILE GOLD NAVIGATION START
========================================================== */

@media (max-width: 900px) {

    /* MOBILE CONTAINER START */

    .section-nav {
        gap: 5px;

        padding:
            7px
            max(9px, env(safe-area-inset-right))
            calc(7px + env(safe-area-inset-bottom))
            max(9px, env(safe-area-inset-left));

        border: 0;
        border-top: 2px solid #D9AE72;
        border-radius: 0;

        background: rgba(9, 19, 29, 0.98);

        box-shadow:
            0 -5px 22px rgba(0, 0, 0, 0.4);
    }

    /* MOBILE CONTAINER END */


    /* MOBILE ITEMS START */

    .section-nav__item {
        min-height: 58px;
        padding: 7px 5px;

        color: #E9BE7D;
    }

    .section-nav__item svg {
        width: 23px;
        height: 23px;
        stroke: #E9BE7D;
    }

    .section-nav__item span {
        color: #E9BE7D;
        font-size: 10px;
    }

    /* MOBILE ITEMS END */


    /* MOBILE DIVIDERS START */

    .section-nav__item + .section-nav__item::before {
        top: 11px;
        right: auto;
        bottom: 11px;
        left: -3px;

        width: 1px;
        height: auto;

        background: linear-gradient(
            180deg,
            transparent,
            rgba(233, 190, 125, 0.55),
            transparent
        );
    }

    /* MOBILE DIVIDERS END */


    /* MOBILE ACTIVE ITEM START */

    .section-nav__item.is-active {
        color: #101820;

        border: 1px solid #FFE5B4;
        border-radius: 10px;

        background: linear-gradient(
            135deg,
            #FFE5B4,
            #E9BE7D
        );

        box-shadow:
            0 0 12px rgba(233, 190, 125, 0.32);
    }

    .section-nav__item.is-active svg {
        stroke: #101820;
    }

    .section-nav__item.is-active span {
        color: #101820;
    }

    /* MOBILE ACTIVE ITEM END */

}

/* MOBILE GOLD NAVIGATION END */


/* ==========================================================
   PREMIUM GOLD SECTION NAVIGATION END
========================================================== */
/* ==========================================================
   MOBILE HERO EDITORIAL REDESIGN START
========================================================== */

@media (max-width: 600px) {

    /* MOBILE HERO STRUCTURE START */

    .hero {
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        min-height: 0;
        overflow: hidden;
        background: #09131D;
    }

    .hero__background {
        position: relative;
        z-index: 0;
        flex: 0 0 auto;
        width: 100%;
        height: clamp(240px, 36svh, 350px);

        background-image: url("../images/hero.webp");
        background-position: center 55%;
        background-size: cover;
        background-repeat: no-repeat;
    }

    .hero__overlay {
        position: absolute;
        z-index: 1;
        top: 0;
        right: 0;
        bottom: auto;
        left: 0;
        height: clamp(240px, 36svh, 350px);

        background: linear-gradient(
            180deg,
            rgba(9, 19, 29, 0.06) 0%,
            rgba(9, 19, 29, 0.08) 50%,
            rgba(9, 19, 29, 0.85) 100%
        );

        pointer-events: none;
    }

    .hero__container {
        position: relative;
        z-index: 2;

        display: block;
        width: 100%;
        max-width: none;
        min-height: 0;

        margin: 0;
        padding: 26px 22px 44px;

        background: linear-gradient(
            180deg,
            #102131 0%,
            #09131D 100%
        );
    }

    .hero__copy {
        width: 100%;
        max-width: 100%;
    }

    /* MOBILE HERO STRUCTURE END */


    /* MOBILE HERO LOCATION START */

    .hero__eyebrow {
        margin: 0 0 14px;
        color: #E9BE7D;
        font-size: 10px;
        font-weight: 800;
        letter-spacing: .12em;
    }

    .hero__eyebrow-line {
        width: 25px;
        background: #E9BE7D;
    }

    /* MOBILE HERO LOCATION END */


    /* MOBILE HERO HEADING START */

    .hero h1 {
        max-width: 100%;
        margin: 0;

        color: #FFFFFF;
        font-size: clamp(35px, 9vw, 46px);
        line-height: 1.12;
        letter-spacing: -.025em;

        text-shadow: none;
    }

    .hero h1 span {
        display: block;
        margin-top: 3px;
        color: #F3CD91;
    }

    .hero__subtitle {
        margin: 19px 0 14px;
        color: #F4F1EB;
        font-size: 18px;
        line-height: 1.5;
        font-weight: 700;
    }

    .hero__subtitle em {
        color: #E9BE7D;
        font-weight: 400;
    }

    /* MOBILE HERO HEADING END */


    /* MOBILE HERO DESCRIPTION START */

    .hero__description {
        max-width: 100%;
        color: #C9D4DE;
        font-size: 14px;
        line-height: 1.75;
    }

    .hero__description p {
        margin: 0;
    }

    /* MOBILE HERO DESCRIPTION END */


    /* MOBILE HERO BUTTON START */

    .hero__actions {
        margin-top: 23px;
    }

    .play-now--hero {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        min-height: 53px;
        padding: 0 28px;

        border: 1px solid #F4D39D;
        border-radius: 9px;

        background: linear-gradient(
            135deg,
            #F8DCA8,
            #E9BE7D
        );

        color: #111B25;
        font-size: 14px;
        font-weight: 800;

        box-shadow: 0 8px 23px rgba(0, 0, 0, .25);
    }

    /* MOBILE HERO BUTTON END */

}

/* ==========================================================
   MOBILE HERO EDITORIAL REDESIGN END
========================================================== */
/* ==========================================================
   BOOMTOWN CASINO — LEGAL PAGES START
========================================================== */

/* LEGAL PAGE FOUNDATION START */

.legal-body {
    background: #0B1622;
    color: #F4F1EC;
}

.legal-page {
    --legal-gold: #E9BE7D;
    --legal-gold-light: #F6DCA7;
    --legal-text: #F4F1EC;
    --legal-muted: #C3CDD8;
    --legal-border: rgba(233, 190, 125, 0.25);

    position: relative;
    flex: 1 0 auto;
    width: 100%;
    min-height: 60vh;
    padding: 48px 0 76px;

    background:
        radial-gradient(
            ellipse at 90% 3%,
            rgba(86, 111, 143, 0.15),
            transparent 38%
        ),
        linear-gradient(
            145deg,
            #152437 0%,
            #101D2C 47%,
            #0B1622 100%
        );

    color: var(--legal-text);
}

.legal-page *,
.legal-page *::before,
.legal-page *::after {
    box-sizing: border-box;
}

.legal-page__container {
    width: min(1280px, calc(100% - 180px));
    margin: 0 auto;
}

.legal-page h1,
.legal-page h2,
.legal-page h3 {
    font-family: Georgia, "Times New Roman", serif;
    font-weight: 400;
}

.legal-page p {
    overflow-wrap: break-word;
}

.legal-page a:focus-visible {
    outline: 2px solid var(--legal-gold-light);
    outline-offset: 4px;
}

/* LEGAL PAGE FOUNDATION END */


/* ==========================================================
   LEGAL HERO START
========================================================== */

.legal-page__hero {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 35px;
    min-height: 245px;
    margin-bottom: 29px;
    padding: 36px 43px;
    overflow: hidden;

    border: 1px solid rgba(233, 190, 125, 0.37);
    border-radius: 15px;

    background:
        linear-gradient(
            115deg,
            #21374B 0%,
            #1B3040 56%,
            #263E49 100%
        );
}

.legal-page__hero-inner {
    position: relative;
    z-index: 1;
    max-width: 800px;
    min-width: 0;
}

.legal-page__eyebrow {
    margin: 0 0 13px;

    color: var(--legal-gold);
    font-size: 10px;
    font-weight: 800;
    line-height: 1.5;
    letter-spacing: 0.15em;
}

.legal-page__hero h1 {
    margin: 0 0 14px;

    color: #FFF0D8;
    font-size: clamp(38px, 4.2vw, 61px);
    line-height: 1.12;
    letter-spacing: -0.025em;
}

.legal-page__subtitle {
    max-width: 770px;
    margin: 0;

    color: #E0E7EC;
    font-size: clamp(16px, 1.45vw, 19px);
    line-height: 1.7;
}

.legal-page__updated {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 5px;
    margin: 21px 0 0;
    padding: 9px 13px;

    border: 1px solid rgba(233, 190, 125, 0.3);
    border-radius: 6px;

    background: rgba(9, 22, 32, 0.45);
    color: #E4D6BD;

    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
}

.legal-page__updated time {
    color: #F7D59E;
    font-weight: 800;
}

.legal-page__hero-decoration {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 150px;
    width: 150px;
    height: 150px;

    color: rgba(233, 190, 125, 0.7);
    opacity: 0.85;
    pointer-events: none;
}

.legal-page__hero-decoration svg {
    width: 100%;
    height: 100%;
}

/* LEGAL HERO END */


/* ==========================================================
   LEGAL PAGE LAYOUT START
========================================================== */

.legal-page__layout {
    display: grid;
    grid-template-columns:
        minmax(230px, 0.32fr)
        minmax(0, 0.68fr);

    align-items: start;
    gap: 24px;
}

/* LEGAL PAGE LAYOUT END */


/* ==========================================================
   LEGAL SIDEBAR START
========================================================== */

.legal-page__sidebar {
    position: sticky;
    top: calc(var(--header-height, 84px) + 20px);

    min-width: 0;
    padding: 24px 20px;

    border: 1px solid var(--legal-border);
    border-radius: 12px;

    background: #192B3B;
}

.legal-page__sidebar h2 {
    margin: 0 0 18px;
    padding-bottom: 13px;

    border-bottom: 1px solid var(--legal-border);

    color: #F5D7A6;
    font-size: 25px;
    line-height: 1.2;
}

.legal-page__toc {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.legal-page__toc a {
    display: block;
    padding: 11px 13px;

    border-left: 2px solid transparent;
    border-radius: 0 6px 6px 0;

    color: #D5DFE7;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.55;

    transition:
        color 180ms ease,
        background 180ms ease,
        border-color 180ms ease;
}

.legal-page__toc a:hover,
.legal-page__toc a.is-active {
    border-left-color: var(--legal-gold);
    background: rgba(233, 190, 125, 0.11);
    color: #F7D8A5;
}

.legal-page__toc a[aria-current="location"] {
    border-left-color: var(--legal-gold);
    background: rgba(233, 190, 125, 0.13);
    color: #F7D8A5;
}

.legal-page__sidebar-footer {
    margin-top: 23px;
    padding-top: 19px;
    border-top: 1px solid var(--legal-border);
}

.legal-page__sidebar-footer > span {
    display: block;
    margin-bottom: 8px;

    color: var(--legal-gold);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.legal-page__sidebar-footer p {
    margin: 0;

    color: #AFC1D0;
    font-size: 13px;
    line-height: 1.7;
}

/* LEGAL SIDEBAR END */


/* ==========================================================
   LEGAL ARTICLE START
========================================================== */

.legal-page__article {
    min-width: 0;
    padding: 31px;

    border: 1px solid var(--legal-border);
    border-radius: 12px;

    background: #172838;
}

.legal-page__lead {
    margin-bottom: 27px;
    padding: 21px 24px;

    border-left: 3px solid var(--legal-gold);
    border-radius: 0 8px 8px 0;

    background: #273B4C;
}

.legal-page__lead p {
    margin: 0;

    color: #F1E7D7;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(17px, 1.55vw, 21px);
    line-height: 1.65;
}

.legal-page__topic {
    padding: 25px 0;
    border-top: 1px solid var(--legal-border);
    scroll-margin-top: calc(var(--header-height, 84px) + 22px);
}

.legal-page__topic h2 {
    margin: 0 0 15px;

    color: #F4D4A2;
    font-size: clamp(25px, 2.4vw, 33px);
    line-height: 1.22;
}

.legal-page__topic p {
    margin: 0 0 13px;

    color: #D4DFE7;
    font-size: 15px;
    line-height: 1.85;
}

.legal-page__topic p:last-child {
    margin-bottom: 0;
}

.legal-page__topic strong {
    color: #F6E2C3;
}

.legal-page__topic a {
    color: #F3CB91;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-page__topic a:hover {
    color: #FFE4B7;
}

/* LEGAL ARTICLE END */


/* ==========================================================
   LEGAL RELATED PAGES START
========================================================== */

.legal-page__related {
    margin-top: 18px;
    padding: 26px;

    border: 1px solid rgba(233, 190, 125, 0.38);
    border-radius: 11px;

    background: #273B4A;
}

.legal-page__related h2 {
    margin: 0 0 19px;

    color: #FFF0D8;
    font-size: clamp(26px, 2.3vw, 34px);
    line-height: 1.2;
}

.legal-page__related-links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.legal-page__related-links a {
    display: flex;
    align-items: center;
    justify-content: space-between;

    min-width: 0;
    min-height: 50px;
    padding: 12px 15px;

    border: 1px solid rgba(233, 190, 125, 0.43);
    border-radius: 7px;

    background: #183244;
    color: #F8DEB8;

    font-size: 13px;
    font-weight: 700;
    line-height: 1.5;

    transition:
        color 180ms ease,
        background 180ms ease,
        border-color 180ms ease;
}

.legal-page__related-links a:hover {
    border-color: #F7D7A5;
    background: #35536A;
}

.legal-page__related-links a[aria-current="page"] {
    border-color: #F6D6A5;
    background: linear-gradient(135deg, #F4D9AC, #DDB275);
    color: #172433;
}

.legal-page__return {
    margin-top: 19px;
}

.legal-page__return a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 13px;

    min-height: 49px;
    padding: 12px 19px;

    border: 1px solid #E9BE7D;
    border-radius: 8px;

    background: linear-gradient(135deg, #F5D9A8, #DDB273);
    color: #12212F;

    font-size: 13px;
    font-weight: 800;
    line-height: 1.4;

    transition:
        transform 180ms ease,
        box-shadow 180ms ease;
}

.legal-page__return a:hover {
    transform: translateY(-2px);
    box-shadow: 0 9px 24px rgba(0, 0, 0, 0.2);
}

.legal-page__return a span {
    font-size: 19px;
}

/* LEGAL RELATED PAGES END */


/* ==========================================================
   INDIVIDUAL LEGAL PAGE ACCENTS START
========================================================== */

.legal-page--terms-and-conditions .legal-page__hero {
    background: linear-gradient(115deg, #21374B, #1C3041 60%, #354353);
}

.legal-page--privacy-policy .legal-page__hero {
    background: linear-gradient(115deg, #1D3448, #193A46 60%, #255356);
}

.legal-page--responsible-gambling .legal-page__hero {
    background: linear-gradient(115deg, #273748, #273F43 60%, #355044);
}

.legal-page--cookies-policy .legal-page__hero {
    background: linear-gradient(115deg, #27364A, #29344B 60%, #414153);
}

/* INDIVIDUAL LEGAL PAGE ACCENTS END */


/* ==========================================================
   LEGAL LAPTOP RESPONSIVE START
========================================================== */

@media (max-width: 1200px) {
    .legal-page__container {
        width: calc(100% - 70px);
        margin: 0 auto;
    }

    .legal-page__layout {
        grid-template-columns:
            minmax(210px, 0.3fr)
            minmax(0, 0.7fr);

        gap: 19px;
    }

    .legal-page__article {
        padding: 26px;
    }

    .legal-page__sidebar {
        padding: 21px 17px;
    }
}

/* LEGAL LAPTOP RESPONSIVE END */


/* ==========================================================
   LEGAL TABLET RESPONSIVE START
========================================================== */

@media (max-width: 900px) {
    .legal-page {
        padding: 35px 0 56px;
    }

    .legal-page__container {
        width: calc(100% - 48px);
    }

    .legal-page__hero {
        padding: 30px;
    }

    .legal-page__layout {
        grid-template-columns: 1fr;
    }

    .legal-page__sidebar {
        position: static;
        padding: 22px;
    }

    .legal-page__toc {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 7px;
    }

    .legal-page__article {
        padding: 27px;
    }
}

/* LEGAL TABLET RESPONSIVE END */


/* ==========================================================
   LEGAL MOBILE RESPONSIVE START
========================================================== */

@media (max-width: 600px) {
    .legal-page {
        padding: 19px 0 40px;
    }

    .legal-page__container {
        width: calc(100% - 28px);
    }

    .legal-page__hero {
        min-height: 0;
        margin-bottom: 17px;
        padding: 24px 19px;
        border-radius: 11px;
    }

    .legal-page__hero h1 {
        font-size: clamp(34px, 9vw, 42px);
    }

    .legal-page__subtitle {
        font-size: 14px;
        line-height: 1.7;
    }

    .legal-page__updated {
        margin-top: 17px;
    }

    .legal-page__hero-decoration {
        display: none;
    }

    .legal-page__layout {
        gap: 15px;
    }

    .legal-page__sidebar {
        padding: 18px;
        border-radius: 10px;
    }

    .legal-page__sidebar h2 {
        margin-bottom: 13px;
        font-size: 23px;
    }

    .legal-page__toc {
        grid-template-columns: 1fr;
        gap: 2px;
    }

    .legal-page__toc a {
        padding: 10px 12px;
        font-size: 13px;
    }

    .legal-page__sidebar-footer {
        margin-top: 15px;
    }

    .legal-page__article {
        padding: 20px 17px;
        border-radius: 10px;
    }

    .legal-page__lead {
        margin-bottom: 20px;
        padding: 17px;
    }

    .legal-page__lead p {
        font-size: 18px;
    }

    .legal-page__topic {
        padding: 21px 0;
    }

    .legal-page__topic h2 {
        font-size: 27px;
    }

    .legal-page__topic p {
        font-size: 14px;
        line-height: 1.8;
    }

    .legal-page__related {
        padding: 20px 16px;
    }

    .legal-page__related h2 {
        font-size: 27px;
    }

    .legal-page__related-links {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .legal-page__return a {
        width: 100%;
        min-height: 51px;
    }

    /* Legal pages do not have the main site's floating navigation. */

    .legal-body {
        padding-bottom: 0;
    }

    .legal-body .site-footer {
        padding: 35px 0 0;
    }
}

/* LEGAL MOBILE RESPONSIVE END */


/* ==========================================================
   LEGAL SMALL MOBILE START
========================================================== */

@media (max-width: 360px) {
    .legal-page__container {
        width: calc(100% - 22px);
    }

    .legal-page__hero {
        padding: 21px 15px;
    }

    .legal-page__article {
        padding: 17px 13px;
    }

    .legal-page__topic h2 {
        font-size: 25px;
    }
}

/* LEGAL SMALL MOBILE END */


/* ==========================================================
   LEGAL REDUCED MOTION START
========================================================== */

@media (prefers-reduced-motion: reduce) {
    .legal-page *,
    .legal-page *::before,
    .legal-page *::after {
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}

/* LEGAL REDUCED MOTION END */


/* ==========================================================
   BOOMTOWN CASINO — LEGAL PAGES END
========================================================== */
