/* DOCUMENT START */
:root {
  --ink:#152c2d;
  --cream:#f5f0e2;
  --orange:#e25e39;
  --yellow:#edc873;
  --header:76px
}

* {
  box-sizing:border-box
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:var(--header)
}

body {
  margin:0;
  color:var(--ink);
  background:#eae3d1;
  font-family:Arial,Helvetica,sans-serif
}

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

button {
  font:inherit
}

a:focus-visible,button:focus-visible {
  outline:3px solid #eea343;
  outline-offset:3px
}

.skip {
  position:fixed;
  left:10px;
  top:-100px;
  z-index:100;
  background:#fff;
  color:#132b2b;
  padding:12px
}

.skip:focus {
  top:10px
}

.header {
  position:sticky;
  z-index:10;
  top:0;
  height:var(--header);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:0 clamp(18px,4vw,64px);
  background:#182f32;
  color:#fff;
  box-shadow:0 2px 14px #112a2b25
}

.brand {
  display:flex;
  align-items:center;
  gap:11px;
  text-decoration:none;
  color:#fff;
  font-weight:800;
  font-size:13px;
  letter-spacing:.13em;
  line-height:1.15;
  white-space:nowrap
}

.brand small {
  display:block;
  color:#edc873;
  font-size:9px;
  letter-spacing:.36em;
  margin-top:5px
}

.brand-mark {
  display:grid;
  place-items:center;
  border:1px solid #eacb83;
  border-radius:50%;
  height:40px;
  width:40px;
  font:italic bold 16px Georgia,serif;
  color:#edc873;
  letter-spacing:-.08em
}

.header-place {
  margin:0;
  color:#cedbd5;
  font-size:10px;
  font-weight:700;
  letter-spacing:.14em
}

.header-place span {
  display:inline-block;
  width:7px;
  height:7px;
  background:#e9be70;
  border-radius:50%;
  margin-right:8px
}

.play {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--orange);
  color:#fff;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
  letter-spacing:.03em;
  border-radius:4px;
  min-height:44px;
  padding:0 25px;
  transition:background .2s
}

.play:hover {
  background:#bf4727
}

.quick-nav {
  position:fixed;
  z-index:9;
  left:0;
  top:50%;
  transform:translateY(-43%);
  display:flex;
  flex-direction:column;
  background:#f8f5ec;
  box-shadow:0 8px 28px #0c242d2e;
  border-radius:0 10px 10px 0;
  overflow:hidden
}

.quick-nav a,.quick-nav button {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  width:70px;
  min-height:62px;
  padding:6px;
  border:0;
  border-bottom:1px solid #1d39351c;
  background:transparent;
  color:#193638;
  text-decoration:none;
  font-size:10px;
  font-weight:700;
  cursor:pointer
}

.quick-nav a span:first-child,.quick-nav button span:first-child {
  font-size:20px;
  line-height:1
}

.quick-nav a:hover,.quick-nav button:hover {
  background:#dedccc
}

.quick-nav .quick-play {
  background:#e25e39;
  color:#fff
}

.hero {
  padding:28px clamp(24px,5vw,78px) 25px clamp(85px,8vw,124px);
  max-width:1900px;
  margin:auto
}

.hero-main {
  position:relative;
  overflow:hidden;
  min-height:390px;
  display:flex;
  align-items:center;
  background:#193a3d;
  border-radius:5px
}

.hero-photo {
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,#153537 0%,#153537eF 29%,#1535378a 57%,#15353710 100%),url('../images/dawson-floor.webp') center/cover no-repeat
}

.hero-copy {
  position:relative;
  z-index:1;
  max-width:670px;
  padding:48px clamp(30px,5vw,70px);
  color:#fff
}

.eyebrow {
  display:block;
  margin:0 0 17px;
  color:#edc873;
  font-size:10px;
  font-weight:800;
  letter-spacing:.18em
}

.hero-copy .eyebrow span {
  display:inline-block;
  width:26px;
  height:2px;
  background:#edc873;
  vertical-align:middle;
  margin-right:9px
}

.hero h1 {
  margin:0;
  max-width:700px;
  font:normal clamp(49px,5.4vw,85px)/.99 Georgia,serif;
  letter-spacing:-.045em
}

.hero h1 em,.discover h2 em {
  color:#efca78;
  font-weight:normal
}

.intro {
  max-width:440px;
  font:18px/1.55 Georgia,serif;
  color:#f5f2e8;
  margin:22px 0
}

.hero-action {
  display:flex;
  align-items:center;
  gap:20px
}

.play-large {
  min-width:135px;
  min-height:49px
}

.hero-action>span {
  font-size:11px;
  color:#e5ebe3
}

.hero-action i {
  display:inline-block;
  width:3px;
  height:3px;
  border-radius:50%;
  background:#e8bd69;
  vertical-align:middle;
  margin:0 6px
}

.photo-caption {
  position:absolute;
  right:30px;
  bottom:25px;
  display:flex;
  gap:10px;
  align-items:center;
  padding:12px 15px;
  background:#182e2bd9;
  color:#fff;
  font-size:9px;
  line-height:1.5;
  letter-spacing:.13em
}

.caption-mark {
  font-size:26px;
  color:#edc873
}

.discover {
  display:grid;
  grid-template-columns:minmax(190px,.8fr) 3fr;
  gap:30px;
  padding:38px 0 8px
}

.discover-intro {
  padding:6px 0
}

.discover .eyebrow {
  color:#9c5639;
  margin-bottom:12px
}

.discover h2 {
  margin:0;
  font:normal clamp(29px,2.7vw,43px)/1.07 Georgia,serif;
  letter-spacing:-.04em
}

.discover h2 em {
  color:#b85037
}

.discover-intro p {
  color:#50635c;
  font-size:13px;
  line-height:1.55;
  max-width:230px
}

.destinations {
  display:grid;
  grid-template-columns:1.28fr 1fr 1fr;
  gap:12px
}

.destination {
  position:relative;
  overflow:hidden;
  text-align:left;
  min-height:200px;
  padding:20px;
  border:0;
  border-radius:4px;
  color:#fff;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  transition:transform .2s,box-shadow .2s
}

.destination:hover {
  transform:translateY(-4px);
  box-shadow:0 9px 20px #172d2b2b
}

.destination-games {
  background:#265c5c
}

.destination-offers {
  background:#ae4b34
}

.destination-rewards {
  background:#3b465a
}

.destination-art {
  display:flex;
  gap:5px;
  align-items:center;
  transform:rotate(-5deg);
  margin:5px 0 17px
}

.destination-art span {
  display:grid;
  place-items:center;
  width:36px;
  height:40px;
  border-radius:5px;
  background:#f6eac8;
  color:#a44934;
  font:bold 27px Georgia,serif;
  box-shadow:0 3px 0 #b6a777
}

.destination-art span:nth-child(2) {
  color:#c39031;
  font-size:20px
}

.tile-icon {
  font-size:43px;
  line-height:1;
  color:#f1d396
}

.destination-copy {
  display:flex;
  flex-direction:column;
  gap:7px;
  padding-right:26px
}

.destination-copy small {
  font-size:9px;
  letter-spacing:.13em;
  font-weight:800;
  color:#f2d698
}

.destination-copy strong {
  font:normal 26px/1.05 Georgia,serif
}

.destination-copy>span {
  font-size:12px;
  color:#f3ede4
}

.action-icon {
  position:absolute;
  right:16px;
  bottom:18px;
  width:33px;
  height:33px;
  display:grid;
  place-items:center;
  background:#fff;
  color:#173435;
  border-radius:50%;
  font-size:23px;
  line-height:1
}

.hero-end {
  display:flex;
  justify-content:space-between;
  gap:12px;
  border-top:1px solid #1936382a;
  padding-top:18px;
  margin-top:24px;
  color:#5c7069;
  font-size:9px;
  font-weight:700;
  letter-spacing:.14em
}

.panel {
  width:min(540px,calc(100% - 32px));
  max-height:calc(100dvh - 32px);
  overflow:auto;
  background:#f8f2e4;
  color:#193637;
  border:0;
  border-radius:6px;
  padding:28px;
  box-shadow:0 20px 80px #0006
}

.panel::backdrop {
  background:#0e2425c9
}

.panel-top {
  display:flex;
  justify-content:space-between;
  align-items:center;
  border-bottom:1px solid #19363833;
  padding-bottom:17px;
  font-size:10px;
  font-weight:bold;
  letter-spacing:.13em
}

.panel-close {
  width:42px;
  height:42px;
  border:0;
  border-radius:50%;
  background:#193c3b;
  color:#fff;
  font-size:27px;
  cursor:pointer
}

.panel-kicker {
  font-size:10px;
  font-weight:bold;
  letter-spacing:.15em;
  color:#b45234;
  margin:35px 0 12px
}

.panel h2 {
  font:normal 52px Georgia,serif;
  margin:0
}

.panel-copy {
  font:18px/1.6 Georgia,serif
}

.panel-footer {
  border-top:1px solid #19363833;
  margin-top:35px;
  padding-top:20px;
  font-size:9px;
  font-weight:bold;
  letter-spacing:.13em;
  display:flex;
  justify-content:space-between;
  align-items:center
}

.panel-footer span {
  font-size:24px;
  color:#b75c38
}

/* DOCUMENT END */
/* MOBILE START */
@media(max-width:760px) {
  :root {
    --header:68px
  }

  body {
    padding-bottom:calc(66px + env(safe-area-inset-bottom))
  }

  .header {
    padding:0 14px
  }

  .brand {
    font-size:10px;
    gap:8px
  }

  .brand small {
    font-size:8px
  }

  .brand-mark {
    width:34px;
    height:34px;
    font-size:14px
  }

  .header-place {
    display:none
  }

  .header .play {
    min-height:42px;
    padding:0 17px
  }

  .quick-nav {
    top:auto;
    bottom:0;
    left:0;
    right:0;
    transform:none;
    flex-direction:row;
    border-radius:0;
    padding-bottom:env(safe-area-inset-bottom)
  }

  .quick-nav a,.quick-nav button {
    width:auto;
    flex:1;
    min-height:62px;
    border-bottom:0;
    border-right:1px solid #1d39351c;
    font-size:9px
  }

  .quick-nav a span:first-child,.quick-nav button span:first-child {
    font-size:17px
  }

  .hero {
    padding:14px 14px 25px
  }

  .hero-main {
    min-height:430px;
    align-items:end
  }

  .hero-photo {
    background:linear-gradient(0deg,#153537 0%,#153537eb 33%,#15353760 73%,#15353735 100%),url('../images/dawson-floor.webp') 66% center/cover no-repeat
  }

  .hero-copy {
    padding:30px 23px 33px
  }

  .hero h1 {
    font-size:clamp(43px,11vw,64px)
  }

  .hero-copy .eyebrow {
    font-size:9px
  }

  .intro {
    font-size:16px;
    line-height:1.4;
    margin:15px 0 19px
  }

  .photo-caption {
    top:16px;
    bottom:auto;
    right:15px;
    padding:7px 10px;
    font-size:8px
  }

  .caption-mark {
    font-size:20px
  }

  .discover {
    grid-template-columns:1fr;
    gap:15px;
    padding-top:30px
  }

  .discover h2 br {
    display:none
  }

  .discover-intro p {
    max-width:none;
    margin:9px 0
  }

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

  .destination {
    min-height:178px;
    padding:16px
  }

  .destination-games {
    grid-column:1/-1;
    min-height:150px
  }

  .destination-games .destination-art {
    position:absolute;
    right:55px;
    top:16px
  }

  .destination-games .destination-copy {
    margin-top:auto
  }

  .destination-copy strong {
    font-size:22px
  }

  .destination-copy small {
    font-size:8px
  }

  .destination-copy>span {
    font-size:11px
  }

  .destination-rewards .destination-copy strong {
    font-size:20px
  }

  .hero-end {
    font-size:8px
  }

  .hero-end span:last-child {
    text-align:right
  }

  .panel {
    padding:23px
  }

  .panel h2 {
    font-size:43px
  }

}

@media(max-width:350px) {
  .brand {
    font-size:9px
  }

  .header .play {
    padding:0 13px
  }

  .destination-copy strong {
    font-size:19px
  }

  .destination-rewards .destination-copy strong {
    font-size:18px
  }

  .destination-art span {
    width:29px;
    height:34px;
    font-size:23px
  }

  .destination-games .destination-art {
    right:20px
  }

  .hero h1 {
    font-size:42px
  }

}

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

  * {
    transition:none!important
  }

}

/* MOBILE END */

/* HEADER AND NAVIGATION REFINEMENTS START */
.header-nav {
  display: flex;
  align-items: center;
  gap: clamp(14px, 2.5vw, 40px);
  margin-left: auto;
  margin-right: clamp(12px, 2vw, 32px);
}

.header-nav button {
  padding: 10px 2px;
  border: 0;
  border-bottom: 2px solid transparent;
  background: transparent;
  color: #f5f0e2;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}

.header-nav button:hover,
.header-nav button:focus-visible {
  border-bottom-color: #edc873;
}

@media (min-width: 761px) {
  .quick-nav {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
  }

  .quick-nav.past-home {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
  }
}

.panel-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.panel-nav button {
  padding: 9px 14px;
  border: 1px solid #345958;
  border-radius: 3px;
  background: transparent;
  color: #193638;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

.panel-nav button:hover,
.panel-nav button[aria-pressed="true"] {
  background: #193c3b;
  color: #fff;
}

@media (max-width: 760px) {
  .header-nav {
    display: none;
  }
}
/* HEADER AND NAVIGATION REFINEMENTS END */

/* FEATURE IMAGE START */
.destination-games {
  background: linear-gradient(0deg, #103c3cef 0%, #153d3c88 52%, #193c3d30 100%),
    url('../images/games.webp') center / cover no-repeat;
}

.destination-label {
  align-self: flex-start;
  padding: 6px 8px;
  background: #193c3be8;
  color: #f7dc9f;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}
@media (min-width: 761px) {
  .hero {
    padding-left: clamp(24px, 5vw, 78px);
  }
}
/* FEATURE IMAGE END */

/* FIRST SCREEN COLOUR START */
body {
  background: #143335;
  color: #f8f1df;
}

.hero {
  background: radial-gradient(circle at 88% 90%, #38605c 0%, #1b4241 30%, #143335 75%);
}

.discover .eyebrow {
  color: #f0c46f;
}

.discover h2 {
  color: #fff7e8;
}

.discover h2 em {
  color: #f4c77b;
}

.discover-intro p {
  color: #d9e6dc;
}

.hero-end {
  border-top-color: #d2e0d04d;
  color: #d1dfd4;
}

.destination-offers {
  background: #ad3e2a;
}

.destination-rewards {
  background: #3b4263;
}
/* FIRST SCREEN COLOUR END */

/* COMPLETE NAVIGATION START */
.menu-toggle {
  display: none;
}

@media (max-width: 760px) {
  .header {
    gap: 8px;
  }

  .header .brand {
    margin-right: auto;
  }

  .menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 1px solid #acc4b9;
    border-radius: 4px;
    background: #254c4b;
    cursor: pointer;
  }

  .menu-toggle span {
    display: block;
    height: 2px;
    width: 20px;
    background: #fff;
  }

  .header-nav.is-open {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    display: grid;
    gap: 0;
    margin: 0;
    padding: 8px 14px;
    background: #193638;
    box-shadow: 0 12px 20px #0004;
  }

  .header-nav button {
    min-height: 44px;
    text-align: left;
    border-bottom: 1px solid #ffffff26;
  }

  .quick-nav a,
  .quick-nav button {
    min-width: 0;
  }
}
/* COMPLETE NAVIGATION END */

/* OFFER AND REWARDS IMAGES START */
.destination-offers {
  background: linear-gradient(0deg, #48231df5 0%, #3a2921a6 40%, #291e1b1a 100%),
    url('../images/offers-scene.webp') 48% center / cover no-repeat;
}

.destination-rewards {
  background: linear-gradient(0deg, #1c3040f5 0%, #203a3da8 40%, #172b2a1a 100%),
    url('../images/rewards-scene.webp') 53% center / cover no-repeat;
}
/* OFFER AND REWARDS IMAGES END */

/* NAVIGATION STRUCTURE START */
.panel-notice {
  margin: 18px 0 0;
  color: #546d63;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .03em;
}

@media (min-width: 761px) and (max-width: 1100px) {
  .header .brand {
    margin-right: auto;
  }

  .menu-toggle {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 4px;
    width: 42px;
    height: 42px;
    padding: 10px;
    border: 1px solid #acc4b9;
    border-radius: 4px;
    background: #254c4b;
    cursor: pointer;
  }

  .menu-toggle span {
    display: block;
    width: 20px;
    height: 2px;
    background: #fff;
  }

  .header-nav {
    display: none;
  }

  .header-nav.is-open {
    position: absolute;
    top: 100%;
    right: 0;
    display: grid;
    gap: 0;
    width: min(340px, 100%);
    margin: 0;
    padding: 8px 14px;
    background: #193638;
    box-shadow: 0 12px 20px #0004;
  }

  .header-nav button {
    min-height: 44px;
    text-align: left;
    border-bottom: 1px solid #ffffff26;
  }
}
/* NAVIGATION STRUCTURE END */

/* GAMES START */
.panel.panel-games {
  width: min(920px, calc(100% - 32px));
  padding: 28px;
  background: #f2ecdc;
}

.games-intro {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  overflow: hidden;
  margin-top: 28px;
  border-radius: 5px;
  background: #173c3b;
  color: #fff8e9;
}

.games-intro-copy {
  padding: clamp(24px, 4vw, 40px);
}

.games-eyebrow {
  margin: 0 0 14px;
  color: #edc873;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
}

.panel .games-intro h2 {
  color: #fff8e9;
  font-size: clamp(38px, 5vw, 58px);
  line-height: 1.04;
  letter-spacing: -.04em;
}

.games-intro .panel-copy {
  margin: 18px 0 0;
  color: #eef4e9;
  font-size: 16px;
  line-height: 1.6;
}

.games-intro-image {
  min-height: 230px;
  background: linear-gradient(90deg, #173c3b70, transparent 40%),
    url('../images/games.webp') center / cover no-repeat;
}

.games-list {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.game-item {
  overflow: hidden;
  border: 1px solid #bec9bc;
  border-radius: 5px;
  background: #fffdf7;
}

.game-item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 20px 22px;
  background: #245654;
  color: #fff;
  cursor: pointer;
  list-style: none;
}

.game-item summary::-webkit-details-marker {
  display: none;
}

.game-item summary:hover {
  background: #30716c;
}

.game-item summary:focus-visible,
.game-next:focus-visible {
  outline: 3px solid #e8994a;
  outline-offset: -4px;
}

.game-item summary > span:first-child {
  display: grid;
  gap: 5px;
}

.game-item summary small {
  color: #f3d496;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
}

.game-item summary strong {
  font: normal 25px/1.1 Georgia, serif;
}

.game-item summary span span {
  color: #dfebe2;
  font-size: 12px;
}

.game-indicator {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid #fff;
  border-radius: 50%;
  color: #173c3b;
  background: #fff8e9;
  font-size: 24px;
}

.game-indicator::before {
  content: '+';
}

.game-item[open] .game-indicator::before {
  content: '−';
}

.game-body {
  padding: 24px 26px 28px;
  color: #203d3b;
}

.game-body h3 {
  margin: 0 0 16px;
  font: normal 26px/1.2 Georgia, serif;
}

.game-body p {
  max-width: 65ch;
  font: 16px/1.7 Georgia, serif;
}

.game-next {
  min-height: 46px;
  margin-top: 12px;
  padding: 12px 16px;
  border: 0;
  border-radius: 4px;
  background: #b3472d;
  color: #fff;
  font-weight: 700;
  cursor: pointer;
}

.game-next:hover {
  background: #8c3420;
}

@media (max-width: 760px) {
  .panel.panel-games {
    width: calc(100% - 20px);
    max-height: calc(100dvh - 20px);
    padding: 18px;
  }

  .games-intro {
    grid-template-columns: 1fr;
    margin-top: 20px;
  }

  .games-intro-copy {
    padding: 24px 20px;
  }

  .games-intro-image {
    min-height: 145px;
    background-position: center 48%;
  }

  .games-intro .panel-copy {
    font-size: 15px;
    line-height: 1.5;
  }

  .game-item summary {
    padding: 17px;
  }

  .game-item summary strong {
    font-size: 22px;
  }

  .game-body {
    padding: 20px 18px 24px;
  }

  .game-body h3 {
    font-size: 23px;
  }

  .game-body p {
    font-size: 15px;
  }
}
/* GAMES END */

/* GAMES SCREEN REFRESH START */
.panel.panel-games {
  position: fixed;
  inset: 0;
  width: 100%;
  max-width: none;
  height: 100dvh;
  max-height: none;
  margin: 0;
  padding: 0 clamp(18px, 4vw, 64px) 60px;
  border-radius: 0;
  background: #101e2c;
  color: #ecf5f2;
  overscroll-behavior: contain;
}

.panel-games .panel-top {
  position: sticky;
  z-index: 4;
  top: 0;
  min-height: 70px;
  padding: 12px 0;
  border-color: #9bd3d044;
  background: #101e2c;
}

.panel-games .panel-close {
  border: 1px solid #83bfb9;
  background: #183b43;
  color: #fff;
}

.panel-games .panel-nav,
.panel-games .games-section,
.panel-games .panel-footer {
  max-width: 1300px;
  margin-right: auto;
  margin-left: auto;
}

.panel-games .panel-nav button {
  border-color: #77a8a6;
  color: #e9f5f0;
}

.panel-games .panel-nav button:hover,
.panel-games .panel-nav button[aria-pressed="true"] {
  background: #c9eee3;
  color: #102b35;
}

.panel-games .games-intro {
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr);
  margin-top: 28px;
  background: #163843;
}

.panel-games .games-intro-image {
  min-height: 280px;
}

.panel-games .games-list {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 16px;
}

.panel-games .game-item {
  border: 1px solid #729a98;
  background: #1a3440;
}

.panel-games .game-item[open] {
  grid-column: 1 / -1;
}

.panel-games .game-item summary {
  position: relative;
  min-height: 220px;
  align-items: end;
  padding: 22px;
  background-color: #173a42;
  background-size: cover;
  color: #fff;
}

.panel-games #game-slots > summary {
  background-image: linear-gradient(0deg, #0b202af5, #102e3e44 75%), url('../images/games.webp');
  background-position: center;
}

.panel-games #game-tables > summary {
  background-image: linear-gradient(0deg, #0b202af5, #102e3e44 75%), url('../images/electronic-games.webp');
  background-position: center;
}

.panel-games #game-compare > summary {
  background-image: linear-gradient(0deg, #0b202af5, #102e3e44 75%), url('../images/compare-games.webp');
  background-position: center;
}

.panel-games .game-item summary:hover {
  box-shadow: inset 0 0 0 2px #a5e6d8;
}

.panel-games .game-item summary small {
  color: #a8e4d7;
}

.panel-games .game-indicator {
  background: #d4f5ea;
  border-color: #d4f5ea;
  color: #12343e;
}

.panel-games .game-body {
  padding: clamp(22px, 4vw, 42px);
  background: #e8f1ed;
  color: #183331;
}

.panel-games .game-next {
  background: #166c70;
}

.panel-games .game-next:hover {
  background: #10545a;
}

.panel-games .panel-footer {
  margin-top: 40px;
  border-color: #96bdb944;
  color: #c1ddd4;
}

@media (max-width: 760px) {
  .panel.panel-games {
    width: 100%;
    max-height: none;
    padding: 0 16px calc(35px + env(safe-area-inset-bottom));
  }

  .panel-games .panel-top {
    min-height: 62px;
  }

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

  .panel-games .games-intro-image {
    min-height: 145px;
  }

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

  .panel-games .game-item[open] {
    grid-column: auto;
  }

  .panel-games .game-item summary {
    min-height: 160px;
    padding: 18px;
  }
}
/* GAMES SCREEN REFRESH END */

/* HERO VISUAL STYLE START */
body {
  background: #101c2a;
}

.header {
  background: #101b27;
  border-bottom: 1px solid #ffffff22;
}

.brand-mark {
  border-color: #e1b367;
  border-radius: 0;
  color: #e1b367;
}

.play {
  background: #e1b367;
  color: #17202a;
  border-radius: 2px;
  font-weight: 800;
}

.play:hover {
  background: #f4d19a;
}

.quick-nav {
  background: #101b27;
}

.quick-nav a,
.quick-nav button {
  color: #f7f0df;
  border-color: #ffffff20;
}

.quick-nav a:hover,
.quick-nav button:hover {
  background: #294657;
}

.quick-nav .quick-play {
  background: #e1b367;
  color: #17202a;
}

.hero {
  max-width: none;
  min-height: calc(100svh - var(--header));
  margin: 0;
  padding: clamp(35px, 5vw, 78px) clamp(24px, 6vw, 96px) 28px;
  background: linear-gradient(90deg, rgba(11, 24, 37, .96) 0%, rgba(11, 24, 37, .80) 46%, rgba(11, 24, 37, .43) 100%),
    url('../images/hero-navy.webp') center / cover no-repeat;
}

.hero-main {
  min-height: 0;
  max-width: 720px;
  overflow: visible;
  background: transparent;
}

.hero-photo,
.photo-caption {
  display: none;
}

.hero-copy {
  max-width: 720px;
  padding: 0;
}

.hero h1 {
  font-size: clamp(56px, 6.7vw, 105px);
}

.hero h1 em {
  display: block;
  color: #e1b367;
}

.intro {
  max-width: 590px;
  font-size: clamp(18px, 1.6vw, 22px);
}

.discover {
  display: block;
  max-width: 720px;
  padding: 36px 0 0;
}

.discover-intro {
  padding: 0;
}

.discover-intro .eyebrow {
  color: #e1b367;
}

.discover-intro h2 {
  font-size: clamp(25px, 2.5vw, 34px);
}

.discover-intro h2 br {
  display: none;
}

.discover-intro h2 em {
  color: #e1b367;
}

.discover-intro p {
  max-width: 590px;
  margin: 8px 0 17px;
  color: #dce9e6;
}

.destinations {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 11px;
}

.destination {
  min-height: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  border: 2px solid #a9ffef;
  border-radius: 6px;
  background: #123a4a;
  box-shadow: 0 0 8px #71f9e699, 0 0 16px #55eac444;
}

.destination::before {
  content: '';
  display: block;
  width: 100%;
  height: 100px;
  background-position: center;
  background-size: cover;
}

.destination-games::before {
  background-image: url('../images/games.webp');
}

.destination-offers::before {
  background-image: url('../images/offers-scene.webp');
}

.destination-rewards::before {
  background-image: url('../images/rewards-scene.webp');
}

.destination:hover {
  transform: translateY(-3px);
  background: #20566a;
  box-shadow: 0 0 12px #a9ffefcc;
}

.destination-label,
.destination .tile-icon {
  display: none;
}

.destination-copy {
  min-height: 110px;
  padding: 12px 38px 12px 13px;
}

.destination-copy small {
  color: #a9e8de;
  font-size: 9px;
}

.destination-copy strong {
  color: #fff;
  font-size: 21px;
}

.destination-copy > span {
  color: #e0f4ef;
  font-size: 11px;
  line-height: 1.35;
}

.action-icon {
  right: 10px;
  bottom: 12px;
  width: 30px;
  height: 30px;
  color: #153645;
  background: #dcfff5;
}

.hero-end {
  max-width: 1300px;
  margin-top: 35px;
  border-color: #ffffff45;
  color: #c1d4d1;
}

@media (max-width: 760px) {
  .hero {
    min-height: 0;
    padding: 42px 18px 26px;
    background-position: 64% center;
  }

  .hero h1 {
    font-size: clamp(48px, 12vw, 72px);
  }

  .intro {
    font-size: 17px;
  }

  .discover {
    padding-top: 32px;
  }

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

  .destination-games {
    grid-column: 1 / -1;
  }

  .destination::before {
    height: 90px;
  }

  .destination-games::before {
    height: 110px;
  }

  .destination-copy {
    min-height: 104px;
    padding: 10px 35px 12px 11px;
  }

  .destination-copy strong,
  .destination-rewards .destination-copy strong {
    font-size: 18px;
  }
}
/* HERO VISUAL STYLE END */

/* MOBILE FIXED NAVIGATION START */
@media (max-width: 760px) {
  body {
    padding-bottom: calc(66px + env(safe-area-inset-bottom));
  }

  .quick-nav {
    position: fixed;
    z-index: 20;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    min-height: 62px;
    padding-bottom: env(safe-area-inset-bottom);
    background: #101b27;
  }

  .quick-nav a,
  .quick-nav button {
    flex: 1 1 0;
    min-width: 0;
    min-height: 62px;
    border-right: 1px solid #ffffff20;
    text-align: center;
  }

  .quick-nav .quick-play {
    background: #e1b367;
    color: #17202a;
  }
}
/* MOBILE FIXED NAVIGATION END */

/* HERO CARDS AND MOBILE SECTION NAVIGATION START */
.discover-intro .eyebrow {
  margin: 0 0 12px;
}

.destination {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  min-height: 0;
  padding: 0;
  border: 1px solid #e1b367;
  border-radius: 5px;
  background: #142a3b;
  background-image: none;
  box-shadow: 0 4px 18px #0006;
  color: #fff8e9;
}

.destination::before {
  display: none;
  content: none;
}

.destination img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: contain;
  background: #10202d;
}

.destination-name {
  display: flex;
  min-height: 42px;
  width: 100%;
  align-items: center;
  justify-content: center;
  padding: 8px;
  color: #fff8e9;
  font-size: 14px;
  font-weight: 800;
}

.destination:hover,
.destination:focus-visible {
  background: #29445a;
  border-color: #ffe0a0;
  box-shadow: 0 0 0 2px #e1b36788;
}

@media (max-width: 760px) {
  body {
    padding-bottom: calc(68px + env(safe-area-inset-bottom));
  }

  .hero {
    padding: 25px 16px 24px;
    background-position: 63% center;
  }

  .hero h1 {
    font-size: clamp(42px, 11vw, 58px);
  }

  .intro {
    margin: 14px 0;
    font-size: 16px;
    line-height: 1.4;
  }

  .discover {
    padding-top: 24px;
  }

  .destinations {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
  }

  .destination-games {
    grid-column: auto;
  }

  .destination img {
    aspect-ratio: 4 / 3;
  }

  .destination-name {
    min-height: 38px;
    font-size: 12px;
  }

  .quick-nav {
    position: fixed;
    z-index: 30;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    overflow-x: auto;
    overflow-y: hidden;
    min-height: 64px;
    padding-bottom: env(safe-area-inset-bottom);
    background: #203a48;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

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

  .quick-nav a,
  .quick-nav button {
    flex: 0 0 auto;
    width: auto;
    min-width: 74px;
    min-height: 64px;
    padding: 6px 12px;
    color: #f5f5ed;
    border-right: 1px solid #ffffff24;
    font-size: 10px;
  }

  .quick-nav .quick-play {
    position: sticky;
    z-index: 2;
    left: 0;
    min-width: 84px;
    background: #e1b367;
    color: #17202a;
    font-weight: 800;
    box-shadow: 3px 0 8px #0004;
  }

  .quick-nav [aria-current="page"] {
    background: #527168;
    color: #fff;
    box-shadow: inset 0 3px #edc873;
  }

  .panel,
  .panel.panel-games {
    padding-bottom: calc(82px + env(safe-area-inset-bottom));
  }
}
/* HERO CARDS AND MOBILE SECTION NAVIGATION END */

/* HERO VIEWPORT BALANCE START */
.intro-desktop {
  display: inline;
}

@media (max-width: 760px) {
  .hero {
    display: flex;
    flex-direction: column;
    justify-content: space-evenly;
    gap: clamp(18px, 3vh, 28px);
    min-height: calc(100svh - var(--header) - 64px - env(safe-area-inset-bottom));
    padding: 24px 16px;
  }

  .hero-main,
  .discover {
    width: 100%;
  }

  .discover {
    padding-top: 0;
  }

  .intro-desktop {
    display: none;
  }
}
/* HERO VIEWPORT BALANCE END */

/* MOBILE HERO COMPOSITION START */
@media (max-width: 760px) {
  .hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    min-height: calc(100svh - var(--header) - 64px - env(safe-area-inset-bottom));
    padding: 0 16px 18px;
    background: #101c2a;
  }

  .hero::before {
    content: '';
    display: block;
    flex: 0 0 auto;
    width: calc(100% + 32px);
    height: clamp(125px, 21svh, 190px);
    margin: 0 -16px;
    background: linear-gradient(0deg, #101c2a 0%, transparent 32%),
      url('../images/hero-navy.webp') 70% center / cover no-repeat;
  }

  .hero-main {
    flex: 0 0 auto;
    margin-top: 8px;
  }

  .hero-copy .eyebrow {
    margin-bottom: 10px;
  }

  .hero h1 {
    font-size: clamp(40px, 10vw, 56px);
  }

  .intro {
    margin: 12px 0;
  }

  .discover {
    flex: 0 0 auto;
    margin-top: auto;
    padding-top: 20px;
  }

  .destination img {
    aspect-ratio: 3 / 2;
  }
}
/* MOBILE HERO COMPOSITION END */

/* MOBILE BACKGROUND AND NAVIGATION REFINEMENT START */
.quick-links {
  display: flex;
  flex-direction: column;
}

@media (max-width: 760px) {
  .hero {
    justify-content: center;
    gap: 22px;
    min-height: calc(100svh - var(--header) - 64px - env(safe-area-inset-bottom));
    padding: 28px 16px;
    background: linear-gradient(90deg, rgba(8, 20, 32, .88), rgba(8, 20, 32, .52)),
      url('../images/mobile-floor.webp') center / cover no-repeat;
  }

  .hero::before {
    display: none;
    content: none;
  }

  .hero-main {
    margin-top: 0;
  }

  .intro-desktop {
    display: inline;
  }

  .intro {
    font-size: 15px;
    line-height: 1.45;
  }

  .discover {
    margin-top: 0;
    padding-top: 0;
  }

  .quick-nav {
    overflow: hidden;
    background: #305d71;
  }

  .quick-nav .quick-play {
    position: static;
    flex: 0 0 84px;
    min-width: 84px;
    background: #ffc400;
    color: #142332;
    box-shadow: none;
  }

  .quick-links {
    display: flex;
    flex: 1 1 auto;
    flex-direction: row;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
  }

  .quick-links::-webkit-scrollbar {
    display: none;
  }

  .quick-nav [aria-current="page"] {
    background: #9ee3d3;
    color: #102e38;
    box-shadow: inset 0 3px #fff2a3;
  }
}
/* MOBILE BACKGROUND AND NAVIGATION REFINEMENT END */

/* MOBILE HERO IMAGE AND GOLD BUTTON START */
@media (max-width: 760px) {
  .hero {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    min-height: calc(100svh - var(--header) - 64px - env(safe-area-inset-bottom));
    padding: 0 16px 16px;
    background: #101c2a;
  }

  .hero::before {
    content: '';
    display: block;
    flex: 1 0 clamp(130px, 20svh, 190px);
    width: calc(100% + 32px);
    min-height: 130px;
    margin: 0 -16px;
    background: linear-gradient(0deg, #101c2a 0%, transparent 24%),
      url('../images/mobile-floor.webp') center 42% / cover no-repeat;
  }

  .hero-main {
    flex: 0 0 auto;
    margin-top: 10px;
  }

  .discover {
    flex: 0 0 auto;
    margin-top: 16px;
    padding-top: 0;
  }

  .quick-nav .quick-play {
    background: #f3bd67;
    color: #17202a;
  }
}
/* MOBILE HERO IMAGE AND GOLD BUTTON END */

/* GAMES EXPERIENCE START */
.panel-games .games-intro {
  display: block;
  background: linear-gradient(120deg, #153e48, #122d3c);
}

.panel-games .games-intro-copy {
  max-width: 1100px;
  padding: clamp(28px, 4vw, 56px);
}

.panel-games .games-intro h2 {
  max-width: 1000px;
}

.games-intro-extra {
  max-width: 78ch;
  color: #d2e5de;
  font: 16px/1.65 Georgia, serif;
}

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

.panel-games #game-tables > summary {
  background-image: linear-gradient(0deg, #0b202af5, #102e3e44 75%),
    url('../images/table-guide.webp');
}

.panel-games #game-electronic > summary {
  background-image: linear-gradient(0deg, #0b202af5, #102e3e44 75%),
    url('../images/electronic-games.webp');
}

.panel-games #game-poker > summary {
  background-image: linear-gradient(0deg, #0b202af5, #102e3e44 75%),
    url('../images/poker-guide.webp');
}

.game-kicker {
  margin: 0 0 10px;
  color: #27625b;
  font: 800 10px/1.5 Arial, sans-serif;
  letter-spacing: .14em;
}

.game-subitem {
  margin: 12px 0;
  border: 1px solid #a9bfb5;
  border-radius: 4px;
  background: #f7fbf8;
}

.panel-games .game-subitem > summary {
  min-height: 0;
  padding: 16px 18px;
  background: #d1e3db;
  color: #183b38;
  font: 700 15px/1.4 Arial, sans-serif;
}

.panel-games .game-subitem > summary::after {
  content: '+';
  flex: 0 0 auto;
  color: #205a52;
  font-size: 21px;
}

.panel-games .game-subitem[open] > summary::after {
  content: '−';
}

.panel-games .game-subitem > summary:hover {
  background: #bad8c9;
  box-shadow: none;
}

.game-subitem > div {
  padding: 6px 18px 12px;
}

@media (min-width: 761px) {
  .panel.panel-games {
    padding-left: max(100px, 5vw);
  }

  .panel-games .quick-nav {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    position: fixed;
    z-index: 6;
    top: 50%;
    left: 0;
    right: auto;
    bottom: auto;
    width: 72px;
    max-height: calc(100dvh - 24px);
    transform: translateY(-50%);
    overflow: hidden;
    background: #163e49;
  }

  .panel-games .quick-links {
    max-height: calc(100dvh - 100px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .panel-games .quick-nav a,
  .panel-games .quick-nav button {
    width: 72px;
    color: #f5faf7;
  }

  .panel-games .quick-nav .quick-play {
    color: #17202a;
    background: #e1b367;
  }

  .panel-games .quick-nav [aria-current="page"] {
    background: #549a8c;
    color: #fff;
    box-shadow: inset 3px 0 #f2cb7f;
  }
}

@media (max-width: 760px) {
  .panel-games .games-intro {
    margin-top: 16px;
  }

  .panel-games .games-intro-copy {
    padding: 22px 20px;
  }

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

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

  .panel-games .game-item summary {
    min-height: 140px;
  }

  .panel-games .game-subitem > summary {
    min-height: 0;
    padding: 14px 16px;
  }
}
/* GAMES EXPERIENCE END */

/* GAMES REDESIGN START */
.panel-games .panel-top,
.panel-games .panel-nav {
  display: none;
}

.panel-games .header {
  position: sticky;
  z-index: 15;
  top: 0;
  width: calc(100% + max(100px, 5vw) + clamp(18px, 4vw, 64px));
  margin-left: calc(-1 * max(100px, 5vw));
  margin-right: calc(-1 * clamp(18px, 4vw, 64px));
}

.panel-games .header .panel-close {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  margin: 0;
  padding: 0;
  border: 1px solid #aacbc3;
  border-radius: 4px;
  background: #254c4b;
  color: #fff;
  font: 26px/1 Arial, sans-serif;
  cursor: pointer;
}

.panel-games .games-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 16px;
}

.panel-games .game-item {
  flex: 0 1 calc((100% - 32px) / 3);
  min-width: 0;
  overflow: hidden;
}

.panel-games .game-item[open] {
  flex-basis: 100%;
}

.panel-games #game-slots > summary,
.panel-games #game-tables > summary,
.panel-games #game-electronic > summary,
.panel-games #game-poker > summary,
.panel-games #game-compare > summary {
  background: #193c48;
}

.panel-games .game-item > summary {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  min-height: 0;
  padding: 0;
  color: #fff;
}

.panel-games .game-item > summary::before {
  content: '';
  display: block;
  flex: 0 0 auto;
  width: 100%;
  height: clamp(150px, 14vw, 200px);
  background-position: center;
  background-size: cover;
}

.panel-games #game-slots > summary::before {
  background-image: url('../images/games.webp');
}

.panel-games #game-tables > summary::before {
  background-image: url('../images/table-guide.webp');
}

.panel-games #game-electronic > summary::before {
  background-image: url('../images/electronic-games.webp');
}

.panel-games #game-poker > summary::before {
  background-image: url('../images/poker-guide.webp');
}

.panel-games #game-compare > summary::before {
  background-image: url('../images/compare-games.webp');
}

.panel-games .game-item > summary > span:first-child {
  display: grid;
  align-content: center;
  gap: 5px;
  width: 100%;
  min-height: 91px;
  padding: 14px 62px 14px 18px;
}

.panel-games .game-item > summary > .game-indicator {
  position: absolute;
  right: 18px;
  bottom: 24px;
}

.panel-games .game-item[open] > summary {
  display: grid;
  grid-template-columns: minmax(220px, 30%) minmax(0, 1fr);
  align-items: stretch;
}

.panel-games .game-item[open] > summary::before {
  height: 160px;
}

.panel-games .game-item[open] > summary > span:first-child {
  min-height: 160px;
  padding: 20px 70px 20px 28px;
}

.panel-games .game-body {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: 8px 36px;
  padding: clamp(24px, 4vw, 48px);
}

.panel-games .game-body > .game-kicker,
.panel-games .game-body > h3 {
  grid-column: 1 / -1;
}

.panel-games .game-body p {
  max-width: none;
  margin: 0 0 16px;
  line-height: 1.75;
}

.panel-games .game-subitem {
  width: 100%;
  margin: 6px 0;
  border: 1px solid #8bad9f;
  background: #f8fbf8;
}

.panel-games .game-subitem > summary {
  display: flex;
  min-height: 58px;
  padding: 15px 18px;
  background: #cce2d8;
  color: #153934;
  font: 700 15px/1.4 Arial, sans-serif;
}

.panel-games .game-subitem > summary:hover {
  background: #b8d9cb;
}

.panel-games .game-subitem > div {
  padding: 18px;
  color: #183331;
}

@media (max-width: 760px) {
  .panel-games .header {
    width: calc(100% + 32px);
    margin: 0 -16px;
    gap: 7px;
  }

  .panel-games .header .brand {
    min-width: 0;
  }

  .panel-games .header .panel-close {
    flex-basis: 38px;
    width: 38px;
    height: 42px;
  }

  .panel-games .games-intro {
    margin-top: 16px;
  }

  .panel-games .games-list {
    gap: 12px;
  }

  .panel-games .game-item,
  .panel-games .game-item[open] {
    flex: 0 0 100%;
  }

  .panel-games .game-item > summary,
  .panel-games .game-item[open] > summary {
    display: grid;
    grid-template-columns: minmax(110px, 38%) minmax(0, 1fr);
    align-items: stretch;
  }

  .panel-games .game-item > summary::before,
  .panel-games .game-item[open] > summary::before {
    width: 100%;
    height: 112px;
  }

  .panel-games .game-item > summary > span:first-child,
  .panel-games .game-item[open] > summary > span:first-child {
    min-height: 112px;
    padding: 12px 46px 12px 14px;
  }

  .panel-games .game-item > summary > .game-indicator {
    right: 10px;
    bottom: 34px;
    width: 32px;
    height: 32px;
  }

  .panel-games .game-body {
    grid-template-columns: 1fr;
    gap: 4px;
    padding: 22px 18px;
  }

  .panel-games .game-body > .game-kicker,
  .panel-games .game-body > h3 {
    grid-column: auto;
  }
}

@media (max-width: 380px) {
  .panel-games .header {
    gap: 5px;
    padding: 0 8px;
  }

  .panel-games .header .brand {
    gap: 5px;
    font-size: 9px;
  }

  .panel-games .header .brand-mark {
    width: 30px;
    height: 30px;
  }

  .panel-games .header .menu-toggle {
    width: 36px;
    padding: 7px;
  }

  .panel-games .header .panel-close {
    flex-basis: 36px;
    width: 36px;
  }

  .panel-games .header .play {
    padding: 0 10px;
    font-size: 11px;
  }
}
/* GAMES REDESIGN END */

/* GAME ROW LAYOUT START */
.panel-games .games-list > .game-body[hidden] { display: none !important; }
.panel-games .games-list > .game-body { flex: 0 0 100%; min-width: 0; border: 1px solid #8bad9f; border-radius: 4px; }
@media (min-width: 761px) {
  .panel-games .games-list {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: start;
  }
  .panel-games .games-list > .game-item { display: block; min-width: 0; }
  .panel-games .game-item[open] > summary { display: flex; flex-direction: column; }
  .panel-games .game-item[open] > summary::before { height: clamp(150px, 14vw, 200px); }
  .panel-games .game-item[open] > summary > span:first-child { min-height: 91px; padding: 14px 62px 14px 18px; }
  .panel-games #game-slots { grid-column: 1 / 3; grid-row: 1; }
  .panel-games #game-tables { grid-column: 3 / 5; grid-row: 1; }
  .panel-games #game-electronic { grid-column: 5 / 7; grid-row: 1; }
  .panel-games #game-poker { grid-column: 2 / 4; grid-row: 3; }
  .panel-games #game-compare { grid-column: 4 / 6; grid-row: 3; }
  .panel-games .games-list > .game-body { grid-column: 1 / -1; grid-row: 2; display: block; }
  .panel-games .games-list > .game-body[data-game-body="game-poker"],
  .panel-games .games-list > .game-body[data-game-body="game-compare"] { grid-row: 4; }
}
/* GAME ROW LAYOUT END */

/* OFFERS SECTION START */
.offers-section { width: min(1300px, 100%); margin: 0 auto; color: #f8f1df; }
.offers-hero { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; margin-top: 24px; border: 1px solid #315564; border-radius: 8px; background: #142f3d; }
.offers-intro { align-self: center; padding: clamp(30px, 5vw, 68px); }
.offers-eyebrow { margin: 0 0 15px; color: #f3bd67; font: 800 11px/1.4 Arial, sans-serif; letter-spacing: .16em; }
.offers-section h2 { margin: 0 0 22px; color: #fff9ee; font: 400 clamp(38px, 4vw, 64px)/1.05 Georgia, serif; }
.offers-section h2 em { color: #f3bd67; font-weight: 400; }
.offers-section .panel-copy { max-width: 57ch; margin: 0; color: #edf1ec; font: 18px/1.7 Georgia, serif; }
.offers-intro-note { margin: 18px 0 0; color: #bed1cf; font: 14px/1.5 Arial, sans-serif; }
.offers-image { min-height: 340px; background: url('../images/offers-gold.webp') center / cover no-repeat; }
.offers-heading { margin: 48px 0 22px; }
.offers-heading h3, .offers-note h3 { margin: 0 0 10px; color: #fff7e9; font: 400 clamp(27px, 3vw, 38px)/1.15 Georgia, serif; }
.offers-heading > p:last-child { margin: 0; color: #c5d5d4; font: 15px/1.6 Arial, sans-serif; }
.offers-list { display: grid; gap: 15px; }
.offer-card { overflow: hidden; border: 1px solid #758f87; border-radius: 7px; background: #193c48; }
.offer-card > summary { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 24px 30px; color: #fff9ed; cursor: pointer; list-style: none; }
.offer-card > summary::-webkit-details-marker { display: none; }
.offer-card > summary:hover, .offer-card[open] > summary { background: #245361; }
.offer-card > summary:focus-visible { outline: 3px solid #f7c777; outline-offset: -4px; }
.offer-card-main { display: grid; grid-template-columns: minmax(190px, .6fr) 1fr; column-gap: 32px; align-items: center; flex: 1; }
.offer-amount { grid-row: 1; color: #f9c877; font: 400 clamp(34px, 3.6vw, 52px)/1 Georgia, serif; white-space: nowrap; }
.offer-amount small { font: 800 11px/1 Arial, sans-serif; letter-spacing: .08em; }
.offer-unit { grid-column: 1; color: #cce3d9; font: 800 10px/1.4 Arial, sans-serif; letter-spacing: .13em; }
.offer-card-main > strong { grid-column: 2; grid-row: 1; color: #fff; font: 400 27px/1.2 Georgia, serif; }
.offer-teaser { grid-column: 2; color: #d7e2df; font: 14px/1.5 Arial, sans-serif; }
.offer-action { display: inline-flex; flex: 0 0 auto; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 4px; background: #f3bd67; color: #112a33; font: 700 13px/1 Arial, sans-serif; }
.offer-action span::after { content: '+'; font: 700 19px/1 Arial, sans-serif; }
.offer-card[open] .offer-action span::after { content: '−'; }
.offer-content { padding: clamp(24px, 4vw, 42px); background: #e8f1ed; color: #193633; }
.offer-content h4 { margin: 0 0 15px; font: 400 27px/1.2 Georgia, serif; }
.offer-content p { margin: 0 0 17px; font: 16px/1.75 Georgia, serif; }
.offer-content p:last-child { margin-bottom: 0; }
.offer-facts { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 12px; margin: 24px 0; }
.offer-facts div { padding: 16px; border-left: 3px solid #b17b37; background: #d4e5dc; }
.offer-facts span, .offer-facts strong { display: block; font-family: Arial, sans-serif; }
.offer-facts span { margin-bottom: 7px; color: #41645a; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.offer-facts strong { color: #193a36; font-size: 14px; line-height: 1.45; }
.offers-note { display: flex; gap: 20px; margin: 30px 0 48px; padding: 26px 30px; border: 1px solid #41615e; border-radius: 7px; background: #18363e; }
.offers-note-icon { color: #f3bd67; font-size: 27px; }
.offers-note h3 { font-size: 24px; }
.offers-note p { max-width: 85ch; margin: 0; color: #d4e1da; font: 15px/1.65 Arial, sans-serif; }
@media (max-width: 760px) {
  .offers-hero { grid-template-columns: 1fr; margin-top: 16px; }
  .offers-image { grid-row: 1; min-height: 0; aspect-ratio: 16 / 8; }
  .offers-intro { padding: 25px 20px 28px; }
  .offers-section h2 { font-size: clamp(34px, 9vw, 44px); }
  .offers-section .panel-copy { font-size: 16px; line-height: 1.55; }
  .offers-heading { margin-top: 32px; }
  .offer-card > summary { align-items: flex-start; gap: 12px; padding: 20px 16px; }
  .offer-card-main { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
  .offer-amount { font-size: 38px; }
  .offer-card-main > strong { margin-top: 8px; font-size: 23px; }
  .offer-teaser { font-size: 13px; }
  .offer-action { padding: 10px; font-size: 12px; }
  .offer-content { padding: 22px 18px; }
  .offer-facts { grid-template-columns: 1fr; gap: 8px; }
  .offers-note { gap: 12px; padding: 20px 16px; }
}
/* OFFERS SECTION END */

/* OFFERS CARD REDESIGN START */
.offers-heading { margin: 48px 0 24px; }
.offers-list { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 20px; }
.offers-list .offer-card { min-width: 0; border: 0; border-radius: 10px; background: #f7ead1; box-shadow: 0 10px 28px #050d1880; }
.offers-list .offer-card > summary { display: flex; flex-direction: column; align-items: stretch; gap: 0; min-height: 348px; padding: clamp(23px, 3vw, 36px); background: #f7ead1; color: #193334; }
.offers-list .offer-card:nth-of-type(2) > summary { background: #e3ebe1; }
.offers-list .offer-card > summary:hover, .offers-list .offer-card[open] > summary { background: #fff6e4; }
.offers-list .offer-card:nth-of-type(2) > summary:hover, .offers-list .offer-card:nth-of-type(2)[open] > summary { background: #f0f8ef; }
.offer-topline { display: flex; justify-content: space-between; align-items: center; width: 100%; }
.offer-tag { color: #72552f; font: 800 10px/1.4 Arial, sans-serif; letter-spacing: .14em; }
.offer-plus { display: grid; place-items: center; flex: 0 0 35px; height: 35px; border: 1px solid #4e7770; border-radius: 50%; color: #143e3c; font: 700 23px/1 Arial, sans-serif; }
.offer-plus::after { content: '+'; }
.offer-card[open] .offer-plus::after { content: '−'; }
.offer-value { display: grid; gap: 4px; margin-top: 10px; }
.offer-value > span { color: #72552f; font: 800 10px/1 Arial, sans-serif; letter-spacing: .12em; }
.offer-value strong { color: #8d4719; font: 400 clamp(45px, 4.5vw, 66px)/1 Georgia, serif; letter-spacing: -.035em; }
.offer-value small { color: #35564e; font: 800 10px/1.35 Arial, sans-serif; letter-spacing: .1em; }
.offer-title { margin-top: 19px; color: #173c3b; font: 400 clamp(25px, 2.5vw, 32px)/1.15 Georgia, serif; }
.offer-description { margin-top: 9px; color: #36534e; font: 15px/1.5 Arial, sans-serif; }
.offer-keyfacts { display: flex; flex-wrap: wrap; gap: 7px; margin: 18px 0 21px; }
.offer-keyfacts > span { display: inline-flex; align-items: baseline; gap: 5px; padding: 7px 9px; border-radius: 4px; background: #d3e2d7; color: #224840; font: 12px/1.2 Arial, sans-serif; }
.offer-keyfacts b { color: #7f461e; font-size: 15px; }
.offers-list .offer-action { justify-content: center; align-self: flex-start; margin-top: auto; padding: 13px 16px; background: #155654; color: #fff; font-size: 13px; }
.offers-list .offer-action span::after { content: '→'; font-size: 16px; }
.offers-list .offer-card[open] .offer-action span::after { content: '−'; }
.offers-list .offer-content { padding: clamp(23px, 3vw, 36px); border-top: 1px solid #c4d2c6; background: #fffaf0; }
.offers-list .offer-content h4 { color: #193d3a; }
.offers-list .offer-content p { max-width: 70ch; color: #28413b; }
.offers-list .offer-card > summary:focus-visible { outline: 3px solid #9a521b; outline-offset: -4px; }
@media (max-width: 760px) {
  .offers-heading { margin: 32px 0 18px; }
  .offers-list { grid-template-columns: 1fr; gap: 14px; }
  .offers-list .offer-card > summary { min-height: 0; padding: 20px; }
  .offer-value strong { font-size: clamp(46px, 12vw, 58px); }
  .offer-title { margin-top: 15px; font-size: 26px; }
  .offer-description { font-size: 14px; }
  .offer-keyfacts { margin: 15px 0 18px; }
  .offers-list .offer-action { align-self: stretch; }
  .offers-list .offer-content { padding: 22px 20px; }
}
/* OFFERS CARD REDESIGN END */

/* OFFERS INTERACTION AND READING LAYOUT START */
.offers-list .offer-card { overflow: visible; border: 0; border-radius: 10px; background: transparent; box-shadow: none; }
.offers-list .offer-card > summary,
.offers-list .offer-card:nth-of-type(2) > summary {
  position: relative; height: 100%; border: 2px solid #d19c51; border-radius: 10px;
  background: linear-gradient(145deg, #225b72, #174457); color: #fff9ef;
  box-shadow: 0 8px 0 #0b2935, 0 16px 28px #050c1880;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}
.offers-list .offer-card:nth-of-type(2) > summary { background: linear-gradient(145deg, #864553, #5e3040); }
@media (hover: hover) {
  .offers-list .offer-card > summary:hover,
  .offers-list .offer-card:nth-of-type(2) > summary:hover {
    transform: translateY(-5px); border-color: #ffe2a6;
    background: linear-gradient(145deg, #2d7990, #205d71);
    box-shadow: 0 12px 0 #0b2935, 0 20px 34px #040b17a8;
  }
  .offers-list .offer-card:nth-of-type(2) > summary:hover { background: linear-gradient(145deg, #a35a68, #783b4b); }
}
.offers-list .offer-card[open] > summary,
.offers-list .offer-card:nth-of-type(2)[open] > summary { border-color: #ffe2a6; }
.offers-list .offer-card > summary:active { transform: translateY(2px); box-shadow: 0 3px 0 #0b2935; }
.offers-list .offer-card > summary:focus-visible { outline: 3px solid #fff2ce; outline-offset: 3px; }
.offers-list .offer-tag, .offers-list .offer-value > span { color: #f9d798; }
.offers-list .offer-value strong { color: #ffcf7a; }
.offers-list .offer-value small, .offers-list .offer-title { color: #fffaf0; }
.offers-list .offer-description { color: #e1ece9; }
.offers-list .offer-plus { border-color: #e8c990; background: #ffdc9d; color: #113846; }
.offers-list .offer-keyfacts > span { background: #ffffff20; color: #fff9ed; }
.offers-list .offer-keyfacts b { color: #ffda93; }
.offers-list .offer-action { background: #f6bb61; color: #122d35; box-shadow: 0 3px 0 #b07631; }
.offers-list .offer-card > summary:hover .offer-action { background: #ffdd9d; }
.offers-list > .offer-content[hidden] { display: none !important; }
.offers-list > .offer-content { min-width: 0; border: 1px solid #d5c3a2; border-radius: 8px; background: #fff7e8; }
.offers-list > .offer-content p { max-width: none; }
@media (min-width: 761px) {
  .offers-list > .offer-card { grid-row: 1; }
  .offers-list > .offer-card:nth-of-type(1) { grid-column: 1; }
  .offers-list > .offer-card:nth-of-type(2) { grid-column: 2; }
  .offers-list > .offer-content { grid-column: 1 / -1; grid-row: 2; }
}
@media (max-width: 760px) { .offers-list { gap: 16px; } }
@media (prefers-reduced-motion: reduce) { .offers-list .offer-card > summary { transition: none; } }
/* OFFERS INTERACTION AND READING LAYOUT END */

/* OFFERS CARD ALIGNMENT START */
@media (min-width: 761px) {
  .offers-list > .offer-card { align-self: stretch; min-width: 0; }
  .offers-list > .offer-card > summary { box-sizing: border-box; height: 100%; }
}
.offers-list .offer-card[open] > summary {
  background: linear-gradient(145deg, #225b72, #174457);
  color: #fff9ef;
}
.offers-list .offer-card:nth-of-type(2)[open] > summary {
  background: linear-gradient(145deg, #864553, #5e3040);
  color: #fff9ef;
}
@media (hover: hover) {
  .offers-list .offer-card[open] > summary:hover { background: linear-gradient(145deg, #2d7990, #205d71); }
  .offers-list .offer-card:nth-of-type(2)[open] > summary:hover { background: linear-gradient(145deg, #a35a68, #783b4b); }
}
.offers-list .offer-card > summary:focus:not(:focus-visible) { outline: none; }
@media (max-width: 760px) { .offers-list > .offer-card > summary { height: auto; } }
/* OFFERS CARD ALIGNMENT END */

/* REWARDS SECTION START */
.rewards-section { width: min(1300px, 100%); margin: 0 auto; color: #fff7ed; }
.rewards-hero { display: grid; grid-template-columns: .95fr 1.05fr; overflow: hidden; margin-top: 24px; border: 1px solid #765c68; border-radius: 9px; background: #382a3d; }
.rewards-image { position: relative; min-height: 410px; background: linear-gradient(90deg, #160f21ad, #160f2110 80%), url('../images/rewards-card-v2.webp') center / cover no-repeat; }
.rewards-image-title { position: absolute; top: 30px; left: 30px; display: flex; flex-direction: column; color: #fff6e8; text-shadow: 0 2px 14px #140d1d; }
.rewards-image-title > span, .rewards-image-title small { font: 800 11px/1.4 Arial, sans-serif; letter-spacing: .15em; }
.rewards-image-title > span { color: #ffe0a4; }
.rewards-image-title strong { margin: 14px 0; font: 400 clamp(40px, 4vw, 60px)/.95 Georgia, serif; }
.rewards-image-title small { color: #fbe0ae; font-size: 9px; }
.rewards-intro { align-self: center; padding: clamp(26px, 4vw, 55px); }
.rewards-eyebrow { margin: 0 0 14px; color: #f1c477; font: 800 11px/1.4 Arial, sans-serif; letter-spacing: .15em; }
.rewards-section h2 { margin: 0 0 21px; color: #fff8ed; font: 400 clamp(36px, 3.7vw, 56px)/1.08 Georgia, serif; }
.rewards-section h2 em { color: #f2c67e; font-weight: 400; }
.rewards-intro > p:not(.rewards-eyebrow), .rewards-section .panel-copy { max-width: none; margin: 0 0 16px; color: #f3e9e9; font: 17px/1.65 Georgia, serif; }
.rewards-highlight { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1px; overflow: hidden; margin-top: 18px; border: 1px solid #a77c52; border-radius: 8px; background: #a77c52; }
.rewards-highlight > div { padding: 25px 30px; background: #543544; }
.rewards-highlight span, .rewards-highlight strong { display: block; }
.rewards-highlight span { color: #f2cf98; font: 800 10px/1.4 Arial, sans-serif; letter-spacing: .12em; }
.rewards-highlight strong { margin: 9px 0; color: #fff7e7; font: 400 clamp(25px, 3vw, 38px)/1.1 Georgia, serif; }
.rewards-highlight strong b { color: #f2c477; font-weight: 400; }
.rewards-highlight p { margin: 0; color: #e9dce0; font: 13px/1.5 Arial, sans-serif; }
.rewards-heading { margin: 48px 0 24px; }
.rewards-heading h3, .rewards-note h3 { margin: 0 0 10px; color: #fff7ed; font: 400 clamp(27px, 3vw, 38px)/1.2 Georgia, serif; }
.rewards-heading > p:last-child { margin: 0; color: #d8d4d8; font: 15px/1.6 Arial, sans-serif; }
.rewards-topics { display: grid; gap: 14px; }
.reward-topic { overflow: hidden; border: 1px solid #aa8067; border-radius: 8px; background: #553745; }
.reward-topic > summary { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 22px 26px; background: #553745; color: #fff8ef; cursor: pointer; list-style: none; transition: background .18s ease, box-shadow .18s ease; }
.reward-topic > summary::-webkit-details-marker { display: none; }
.reward-topic > summary > span:first-child { display: grid; gap: 6px; }
.reward-topic summary small { color: #ffce86; font: 800 10px/1.4 Arial, sans-serif; letter-spacing: .14em; }
.reward-topic summary strong { font: 400 clamp(22px, 2vw, 28px)/1.15 Georgia, serif; }
.reward-topic summary em { color: #eee1e2; font: normal 14px/1.45 Arial, sans-serif; }
.reward-toggle { display: grid; place-items: center; flex: 0 0 42px; height: 42px; border-radius: 50%; background: #f4c478; color: #342633; font: 700 25px/1 Arial, sans-serif; }
.reward-toggle::after { content: '+'; }.reward-topic[open] .reward-toggle::after { content: '−'; }
.reward-topic[open] > summary { background: #62404f; }
.reward-topic > summary:focus-visible { outline: 3px solid #fff0c8; outline-offset: -5px; }
@media (hover: hover) { .reward-topic > summary:hover { background: #754c5b; box-shadow: inset 5px 0 #f4c478; } }
.reward-content { padding: clamp(25px, 4vw, 44px); background: #fbf1e5; color: #382f34; }
.reward-content h4 { margin: 0 0 18px; color: #543345; font: 400 29px/1.2 Georgia, serif; }
.reward-content p { max-width: none; margin: 0 0 17px; font: 16px/1.75 Georgia, serif; }
.reward-content p:last-child { margin-bottom: 0; }
.reward-tiers { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin: 25px 0; }
.reward-tiers div { padding: 16px; border-left: 3px solid #a66c3e; background: #efdfce; }
.reward-tiers strong, .reward-tiers span { display: block; }.reward-tiers strong { color: #563540; font: 700 14px/1.3 Arial, sans-serif; }.reward-tiers span { margin-top: 7px; color: #594d4b; font: 12px/1.4 Arial, sans-serif; }
.rewards-note { display: flex; gap: 18px; margin: 30px 0 48px; padding: 26px 30px; border: 1px solid #765c68; border-radius: 8px; background: #382a3d; }
.rewards-note > span { color: #f4c478; font-size: 25px; }.rewards-note h3 { font-size: 24px; }.rewards-note p { max-width: 88ch; margin: 0; color: #e8dbe0; font: 15px/1.65 Arial, sans-serif; }
@media (max-width: 760px) {
  .rewards-hero { grid-template-columns: 1fr; margin-top: 16px; }.rewards-image { min-height: 0; aspect-ratio: 16 / 8; }.rewards-image-title { top: 16px; left: 18px; }.rewards-image-title strong { margin: 8px 0; font-size: clamp(32px, 10vw, 43px); }.rewards-image-title > span { font-size: 9px; }.rewards-image-title small { font-size: 8px; }
  .rewards-intro { padding: 26px 20px; }.rewards-section h2 { font-size: clamp(33px, 9vw, 43px); }.rewards-intro > p:not(.rewards-eyebrow), .rewards-section .panel-copy { font-size: 16px; line-height: 1.58; }
  .rewards-highlight { grid-template-columns: 1fr; }.rewards-highlight > div { padding: 20px; }.rewards-heading { margin: 34px 0 20px; }
  .reward-topic > summary { padding: 19px 17px; }.reward-topic summary strong { font-size: 22px; }.reward-topic summary em { font-size: 13px; }.reward-toggle { flex-basis: 38px; height: 38px; }.reward-content { padding: 23px 19px; }.reward-tiers { grid-template-columns: repeat(2,minmax(0,1fr)); }.rewards-note { padding: 21px 18px; }
}
@media (max-width: 340px) { .reward-tiers { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .reward-topic > summary { transition: none; } }
/* REWARDS SECTION END */
/* REWARDS IMAGE LETTERING START */
.rewards-image-title { top: 28%; left: 27%; max-width: 65%; }
.rewards-image-title strong { font-size: clamp(32px, 3.3vw, 48px); }
@media (max-width: 760px) { .rewards-image-title { top: 24%; left: 28%; max-width: 68%; }.rewards-image-title strong { font-size: clamp(28px, 8vw, 40px); } }
/* REWARDS IMAGE LETTERING END */

/* REWARDS COMPACT CARDS START */
.rewards-image { background: url('../images/rewards-card-v2.webp') center / cover no-repeat; }
.rewards-topics { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 16px; align-items: stretch; }
.rewards-topics > .reward-topic { grid-column: span 2; overflow: visible; border: 0; border-radius: 10px; background: transparent; }
.rewards-topics > .reward-topic:nth-of-type(-n+3) { grid-row: 1; }
.rewards-topics > .reward-topic:nth-of-type(4) { grid-column: 2 / 4; grid-row: 3; }
.rewards-topics > .reward-topic:nth-of-type(5) { grid-column: 4 / 6; grid-row: 3; }
.rewards-topics > .reward-topic > summary { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 0; box-sizing: border-box; height: 100%; min-height: 215px; padding: 23px; border: 1px solid #bf9275; border-radius: 10px; background: linear-gradient(145deg,#653f54,#432d43); color: #fff8ed; box-shadow: 0 5px 0 #2c1d31; }
.rewards-topics > .reward-topic:nth-of-type(even) > summary { background: linear-gradient(145deg,#634a59,#3e3044); }
.reward-card-icon { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 14px; border: 1px solid #d6af78; border-radius: 50%; color: #ffd797; font: 20px/1 Georgia,serif; }
.reward-card-label { color: #f5ce96; font: 800 10px/1.3 Arial,sans-serif; letter-spacing: .12em; }
.rewards-topics .reward-topic summary > strong { margin-top: 7px; color: #fffaf0; font: 400 26px/1.15 Georgia,serif; }
.rewards-topics .reward-topic summary > em { margin: 8px 0 16px; color: #f0e0e4; font: normal 14px/1.45 Arial,sans-serif; }
.reward-card-action { display: inline-flex; align-items: center; gap: 12px; margin-top: auto; padding: 9px 13px; border-radius: 4px; background: #f4c478; color: #302336; font: 700 13px/1 Arial,sans-serif; }
.reward-card-action span { font-size: 17px; }.reward-topic[open] .reward-card-action span { font-size: 0; }.reward-topic[open] .reward-card-action span::after { content: '−'; font-size: 17px; }
.rewards-topics > .reward-content[hidden] { display: none !important; }
.rewards-topics > .reward-content { grid-column: 1 / -1; grid-row: 2; min-width: 0; border: 1px solid #b79580; border-radius: 8px; }
.rewards-topics > .reward-content[data-reward-index="3"], .rewards-topics > .reward-content[data-reward-index="4"] { grid-row: 4; }
@media (hover: hover) { .rewards-topics > .reward-topic > summary:hover { transform: translateY(-3px); background: #805367; box-shadow: 0 8px 0 #2c1d31, 0 14px 25px #0005; }.rewards-topics > .reward-topic:nth-of-type(even) > summary:hover { background: #805367; } }
.rewards-topics > .reward-topic[open] > summary { border-color: #ffe0a5; }
.rewards-topics > .reward-topic > summary:focus-visible { outline: 3px solid #ffe5b9; outline-offset: 3px; }
@media (max-width: 760px) {
 .rewards-topics { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
 .rewards-topics > .reward-topic:nth-of-type(1) { grid-column: 1; grid-row: 1; }
 .rewards-topics > .reward-topic:nth-of-type(2) { grid-column: 2; grid-row: 1; }
 .rewards-topics > .reward-topic:nth-of-type(3) { grid-column: 1; grid-row: 3; }
 .rewards-topics > .reward-topic:nth-of-type(4) { grid-column: 2; grid-row: 3; }
 .rewards-topics > .reward-topic:nth-of-type(5) { grid-column: 1 / -1; grid-row: 5; }
 .rewards-topics > .reward-content { grid-column: 1 / -1; grid-row: 2; }
 .rewards-topics > .reward-content[data-reward-index="2"], .rewards-topics > .reward-content[data-reward-index="3"] { grid-row: 4; }
 .rewards-topics > .reward-content[data-reward-index="4"] { grid-row: 6; }
 .rewards-topics > .reward-topic > summary { min-height: 185px; padding: 16px; }
 .rewards-topics .reward-topic summary > strong { font-size: 22px; }
 .rewards-topics .reward-topic summary > em { font-size: 13px; }
 .reward-card-icon { width: 32px; height: 32px; margin-bottom: 10px; }
}
@media (max-width: 340px) { .rewards-topics > .reward-topic > summary { padding: 13px; }.rewards-topics .reward-topic summary > strong { font-size: 19px; } }
/* REWARDS COMPACT CARDS END */
/* REWARDS LEVELS OVERVIEW START */
.rewards-levels { margin-top: 18px; padding: clamp(24px,3vw,36px); border: 1px solid #a77c65; border-radius: 8px; background: #3f2c3e; }
.rewards-levels h3 { margin: 0 0 9px; color: #fff7ed; font: 400 clamp(26px,3vw,36px)/1.15 Georgia,serif; }
.rewards-levels > p:not(.rewards-eyebrow) { margin: 0; color: #e8dbe0; font: 15px/1.55 Arial,sans-serif; }
.rewards-levels .reward-tiers { margin: 22px 0 0; }
.rewards-levels .reward-tiers div { padding: 18px 16px; border-left: 3px solid #e8b96f; background: #604354; }
.rewards-levels .reward-tiers strong { color: #fff7eb; font-size: 15px; }
.rewards-levels .reward-tiers span { color: #f5d4a1; font-size: 13px; }
@media (max-width: 760px) { .rewards-levels { padding: 22px 18px; } }
/* REWARDS LEVELS OVERVIEW END */

/* REWARDS NAVIGATION AND COLOUR START */
.rewards-hero { background: #112e40; border-color: #426675; }
.rewards-intro > p:not(.rewards-eyebrow), .rewards-section .panel-copy { color: #e1ebe8; }
.rewards-levels { background: transparent; border: 0; border-radius: 0; padding: clamp(24px,3vw,36px) 0 0; }
.rewards-levels > p:not(.rewards-eyebrow) { color: #cbdcd9; }
.tier-list { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; align-items: stretch; margin-top: 22px; }
.tier-card { min-width: 0; border: 0; background: transparent; }
.tier-card > summary { box-sizing: border-box; display: flex; flex-direction: column; align-items: flex-start; height: 100%; min-height: 180px; padding: 20px; border: 1px solid #c3914f; border-radius: 8px; background: linear-gradient(145deg,#23576a,#153a4b); color: #fff9ec; cursor: pointer; list-style: none; box-shadow: 0 5px 0 #0b2734; transition: transform .18s ease, background .18s ease, border-color .18s ease; }
.tier-card > summary::-webkit-details-marker { display: none; }
.tier-symbol { color: #ffce7c; font: 24px/1 Georgia,serif; letter-spacing: -.13em; }
.tier-card summary strong { margin-top: 14px; color: #fff9ef; font: 400 22px/1.15 Georgia,serif; }
.tier-range { margin: 8px 0 15px; color: #e3ece8; font: 12px/1.4 Arial,sans-serif; }
.tier-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 9px 11px; border-radius: 4px; background: #f3bd67; color: #112d38; font: 700 12px/1 Arial,sans-serif; }
.tier-cta b { font-size: 17px; }.tier-card[open] .tier-cta b { font-size: 0; }.tier-card[open] .tier-cta b::after { content: '−'; font-size: 17px; }
.tier-card[open] > summary { border-color: #ffe4a6; background: linear-gradient(145deg,#2c6b7c,#174458); }
.tier-card > summary:focus-visible { outline: 3px solid #fff0c8; outline-offset: 3px; }
@media (hover: hover) { .tier-card > summary:hover { transform: translateY(-3px); border-color: #ffe4a6; background: linear-gradient(145deg,#34778a,#205b6b); } }
.tier-list > .tier-content[hidden] { display: none !important; }
.tier-list > .tier-content { grid-column: 1 / -1; grid-row: 2; min-width: 0; padding: clamp(22px,3vw,34px); border-radius: 8px; background: #edf2e9; color: #193835; }
.tier-content h4 { margin: 0 0 14px; color: #183e3c; font: 400 26px/1.2 Georgia,serif; }
.tier-content p { margin: 0 0 14px; font: 16px/1.7 Georgia,serif; }.tier-content p:last-child { margin-bottom: 0; }
@media (min-width: 761px) { .tier-list > .tier-card { grid-row: 1; } }
.rewards-highlight { gap: 24px; margin-top: 28px; border: 0; border-radius: 0; background: transparent; }
.rewards-highlight > div { padding: 5px 0 5px 17px; border-left: 2px solid #eab86c; background: transparent; }
.rewards-highlight p { color: #cbdcd9; }
.rewards-note { background: #153a49; border-color: #416875; }
.rewards-topics > .reward-topic > summary, .rewards-topics > .reward-topic:nth-of-type(even) > summary { border-color: #b68b52; background: linear-gradient(145deg,#204e61,#153647); box-shadow: 0 5px 0 #0a2633; }
.rewards-topics > .reward-topic[open] > summary { border-color: #ffe0a5; background: #225b6b; }
.rewards-topics .reward-topic summary > em { color: #dcebe7; }
.reward-content { background: #edf2e9; color: #1c3836; }.reward-content h4 { color: #193f3c; }
@media (hover: hover) { .rewards-topics > .reward-topic > summary:hover, .rewards-topics > .reward-topic:nth-of-type(even) > summary:hover { background: #2a6978; box-shadow: 0 8px 0 #0a2633, 0 14px 25px #0005; } }
@media (max-width: 760px) {
 .tier-list { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
 .tier-list > .tier-card:nth-of-type(1) { grid-column: 1; grid-row: 1; }
 .tier-list > .tier-card:nth-of-type(2) { grid-column: 2; grid-row: 1; }
 .tier-list > .tier-card:nth-of-type(3) { grid-column: 1; grid-row: 3; }
 .tier-list > .tier-card:nth-of-type(4) { grid-column: 2; grid-row: 3; }
 .tier-list > .tier-content { grid-column: 1 / -1; grid-row: 2; }
 .tier-list > .tier-content[data-tier-index="2"], .tier-list > .tier-content[data-tier-index="3"] { grid-row: 4; }
 .tier-card > summary { min-height: 160px; padding: 15px; }.tier-card summary strong { font-size: 19px; }.tier-range { font-size: 11px; }
 .rewards-highlight { gap: 18px; }.rewards-levels { padding-top: 25px; }
}
@media (prefers-reduced-motion: reduce) { .tier-card > summary { transition: none; } }
/* REWARDS NAVIGATION AND COLOUR END */

/* REWARDS CARD FEEDBACK START */
.tier-card > summary,
.rewards-topics > .reward-topic > summary,
.rewards-topics > .reward-topic:nth-of-type(even) > summary {
  border: 2px solid #f2bc68;
  box-shadow: 0 5px 0 #0a2633, 0 0 0 1px #c7924c55;
  transition: transform .18s ease, background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.tier-card[open] > summary,
.rewards-topics > .reward-topic[open] > summary {
  border-color: #ffe4a4;
  box-shadow: 0 5px 0 #0a2633, 0 0 0 2px #efbe75;
}
@media (hover: hover) {
  .tier-card > summary:hover,
  .rewards-topics > .reward-topic > summary:hover,
  .rewards-topics > .reward-topic:nth-of-type(even) > summary:hover {
    transform: translateY(-4px);
    border-color: #ffe5aa;
    background: linear-gradient(145deg,#39849a,#205b70);
    box-shadow: 0 9px 0 #0a2633, 0 0 0 2px #f2bc68, 0 14px 24px #0008;
  }
  .tier-card > summary:hover .tier-cta,
  .reward-topic > summary:hover .reward-card-action { background: #ffe0a2; }
}
@media (prefers-reduced-motion: reduce) {
  .tier-card > summary, .rewards-topics > .reward-topic > summary { transition: none; }
}
/* REWARDS CARD FEEDBACK END */

/* DINING SECTION START */
.dining-section { width: min(1300px,100%); margin: 0 auto; color: #fff7eb; }
.dining-hero { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; margin-top: 24px; border: 1px solid #9d7455; border-radius: 9px; background: #342c2a; }
.dining-hero-image { min-height: 440px; background: url('../images/dining-lounge.webp') center / cover no-repeat; }
.dining-hero-copy { align-self: center; padding: clamp(28px,4vw,58px); }
.dining-eyebrow { margin: 0 0 14px; color: #f6c373; font: 800 11px/1.4 Arial,sans-serif; letter-spacing: .15em; }
.dining-section h2 { margin: 0 0 22px; color: #fff8ee; font: 400 clamp(38px,4vw,60px)/1.05 Georgia,serif; }
.dining-section h2 em,.dining-moments h3 em { color: #f3c078; font-weight: 400; }
.dining-section .panel-copy,.dining-hero-copy > p:not(.dining-eyebrow) { max-width: none; margin: 0 0 16px; color: #f2e9df; font: 17px/1.65 Georgia,serif; }
.dining-welcome { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(25px,4vw,58px); padding: clamp(36px,5vw,65px) 0; }
.dining-welcome h3,.dining-menu-intro h3,.dining-moments h3 { margin: 0; color: #fff8ed; font: 400 clamp(29px,3vw,40px)/1.15 Georgia,serif; }
.dining-welcome > div:last-child p { margin: 0 0 16px; color: #dae5e0; font: 16px/1.75 Georgia,serif; }
.dining-menu-intro { padding-top: 30px; border-top: 1px solid #567074; }
.dining-menu-intro > p:last-child { max-width: 75ch; margin: 14px 0 0; color: #cddbd8; font: 15px/1.6 Arial,sans-serif; }
.dining-food-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 42px; margin: 20px 0 48px; }
.dining-food { display: flex; gap: 18px; padding: 24px 0; border-bottom: 1px solid #59706e; }
.dining-food-icon { flex: 0 0 34px; color: #f6c373; font: 29px/1 Georgia,serif; }
.dining-food h4 { margin: 0 0 10px; color: #fff5e5; font: 400 25px/1.15 Georgia,serif; }
.dining-food p { margin: 0; color: #d6e2dd; font: 15px/1.7 Georgia,serif; }
.dining-moments { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(24px,4vw,55px); padding: clamp(28px,4vw,48px); border-radius: 8px; background: #553a2e; }
.dining-moments > div:first-child > p:last-child { margin: 18px 0 0; color: #f3e7d9; font: 16px/1.7 Georgia,serif; }
.dining-moment-list > div { padding: 0 0 17px; margin-bottom: 17px; border-bottom: 1px solid #997661; }
.dining-moment-list > div:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.dining-moment-list strong { color: #ffdb9a; font: 700 16px/1.3 Arial,sans-serif; }
.dining-moment-list p { margin: 8px 0 0; color: #f3e9df; font: 15px/1.6 Georgia,serif; }
.dining-note { display: flex; gap: 17px; margin: 26px 0 48px; padding: 25px 0; border-top: 1px solid #567074; }
.dining-note > span { color: #f3c078; font-size: 25px; }.dining-note h3 { margin: 0 0 9px; color: #fff5e5; font: 400 25px/1.2 Georgia,serif; }.dining-note p { max-width: 90ch; margin: 0; color: #d6e2dd; font: 15px/1.6 Arial,sans-serif; }
@media (max-width: 760px) {
 .dining-hero { grid-template-columns: 1fr; margin-top: 16px; }.dining-hero-image { min-height: 0; aspect-ratio: 16 / 9; }.dining-hero-copy { padding: 25px 20px; }.dining-section h2 { font-size: clamp(35px,9vw,44px); }.dining-section .panel-copy,.dining-hero-copy > p:not(.dining-eyebrow) { font-size: 16px; line-height: 1.58; }
 .dining-welcome,.dining-moments { grid-template-columns: 1fr; gap: 20px; }.dining-welcome { padding: 35px 0; }.dining-menu-intro { padding-top: 24px; }.dining-food-list { grid-template-columns: 1fr; margin-bottom: 34px; }.dining-food { padding: 19px 0; }.dining-food h4 { font-size: 23px; }.dining-moments { padding: 25px 20px; }.dining-note { padding: 21px 0; }
}
/* DINING SECTION END */

/* COMMON LANDING SECTIONS START */
.common-flow { padding: 0 clamp(18px,4vw,64px) 30px; background: #101e2c; color: #ecf5f2; }
body > main > .common-flow { padding-left: max(100px,5vw); }
.common-flow > section { scroll-margin-top: 90px; }
.common-flow > section:not(.dining-section):not(.entertainment-section):not(.stay-section):not(.about-section):not(.faq-section) { width: min(1300px,100%); margin: 24px auto; padding: clamp(28px,4vw,50px); border-radius: 8px; background: #183b47; color: #f5f5ed; }
.common-flow > section[data-content="stay"] { background: #40362e; }
.common-flow > section[data-content="about"] { background: #234642; }
.common-flow > section[data-content="faq"] { background: #3e3447; }
.common-flow > section:not(.dining-section):not(.entertainment-section):not(.stay-section):not(.about-section):not(.faq-section) h2 { margin: 0; color: #fff7e9; font: 400 clamp(32px,4vw,48px)/1.1 Georgia,serif; }
.common-flow > section:not(.dining-section):not(.entertainment-section):not(.stay-section):not(.about-section):not(.faq-section) .panel-kicker { margin: 0 0 12px; color: #f2c374; }
.common-flow > section:not(.dining-section):not(.entertainment-section):not(.stay-section):not(.about-section):not(.faq-section) .panel-copy { max-width: 75ch; color: #e1ece5; }
@media (max-width: 760px) { .common-flow, body > main > .common-flow { padding: 0 16px 24px; } .common-flow > section:not(.dining-section):not(.entertainment-section):not(.stay-section):not(.about-section):not(.faq-section) { padding: 25px 20px; } }
/* COMMON LANDING SECTIONS END */

/* CURRENT SECTION INDICATOR START */
@media (min-width: 761px) {
  .quick-nav [data-nav][aria-current="page"] {
    background: #549a8c;
    color: #fff;
    box-shadow: inset 3px 0 #f2cb7f;
  }
}
/* CURRENT SECTION INDICATOR END */

/* ENTERTAINMENT SECTION START */
.entertainment-section {
  width: min(1300px, 100%);
  margin: 28px auto 0;
  padding: clamp(22px, 4vw, 48px);
  border-radius: 9px;
  background: #293144;
  color: #fff8ef;
}
.entertainment-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border: 1px solid #9b785b;
  border-radius: 8px;
  background: #172a3b;
}
.entertainment-image {
  min-height: 420px;
  background: url('../images/entertainment-lounge.webp') center / cover no-repeat;
}
.entertainment-intro {
  align-self: center;
  padding: clamp(26px, 4vw, 55px);
}
.entertainment-eyebrow {
  margin: 0 0 14px;
  color: #f4c37d;
  font: 800 11px/1.4 Arial, sans-serif;
  letter-spacing: .14em;
}
.entertainment-section h2 {
  margin: 0 0 21px;
  color: #fff8ed;
  font: 400 clamp(37px, 4vw, 58px)/1.06 Georgia, serif;
}
.entertainment-section h2 em { color: #f5c57f; font-weight: 400; }
.entertainment-intro > p:not(.entertainment-eyebrow),
.entertainment-intro .panel-copy {
  max-width: none;
  margin: 0 0 16px;
  color: #e9ece8;
  font: 17px/1.65 Georgia, serif;
}
.entertainment-story {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(24px, 4vw, 55px);
  padding: clamp(36px, 5vw, 60px) 0;
}
.entertainment-story h3, .entertainment-heading h3 {
  margin: 0;
  color: #fff8ed;
  font: 400 clamp(28px, 3vw, 40px)/1.15 Georgia, serif;
}
.entertainment-story > div:last-child p {
  margin: 0 0 16px;
  color: #e1e5e1;
  font: 16px/1.75 Georgia, serif;
}
.entertainment-heading {
  padding-top: 30px;
  border-top: 1px solid #7c7980;
}
.entertainment-heading > p:last-child {
  max-width: 70ch;
  margin: 14px 0 0;
  color: #d6dedc;
  font: 15px/1.6 Arial, sans-serif;
}
.entertainment-features {
  display: grid;
  gap: 0;
  margin: 16px 0 36px;
}
.entertainment-features article {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 15px;
  padding: 25px 0;
  border-bottom: 1px solid #777681;
}
.entertainment-features article > span {
  color: #f4c37d;
  font: 28px/1 Georgia, serif;
}
.entertainment-features h4 {
  margin: 0 0 12px;
  color: #fff6e8;
  font: 400 25px/1.2 Georgia, serif;
}
.entertainment-features p {
  max-width: 100ch;
  margin: 0 0 12px;
  color: #e1e7e2;
  font: 16px/1.7 Georgia, serif;
}
.entertainment-features p:last-child { margin-bottom: 0; }
.entertainment-note {
  display: flex;
  gap: 16px;
  padding: 22px 0 0;
}
.entertainment-note > span { color: #f4c37d; font-size: 24px; }
.entertainment-note h3 {
  margin: 0 0 8px;
  color: #fff6e8;
  font: 400 24px/1.2 Georgia, serif;
}
.entertainment-note p {
  max-width: 85ch;
  margin: 0;
  color: #dce4df;
  font: 15px/1.6 Arial, sans-serif;
}
@media (max-width: 760px) {
  .entertainment-section { margin-top: 18px; padding: 18px; }
  .entertainment-hero { grid-template-columns: 1fr; }
  .entertainment-image { min-height: 0; aspect-ratio: 16 / 9; }
  .entertainment-intro { padding: 24px 19px; }
  .entertainment-section h2 { font-size: clamp(34px, 9vw, 43px); }
  .entertainment-intro > p:not(.entertainment-eyebrow),
  .entertainment-intro .panel-copy { font-size: 16px; line-height: 1.58; }
  .entertainment-story { grid-template-columns: 1fr; gap: 20px; padding: 34px 0; }
  .entertainment-heading { padding-top: 24px; }
  .entertainment-features article { grid-template-columns: 30px 1fr; gap: 10px; padding: 20px 0; }
  .entertainment-features h4 { font-size: 23px; }
  .entertainment-features p { font-size: 15px; }
}
/* ENTERTAINMENT SECTION END */

/* STAY SECTION START */
.stay-section {
  width: min(1300px, 100%);
  margin: 28px auto 0;
  padding: clamp(22px, 4vw, 48px);
  border-radius: 9px;
  background: #253d3b;
  color: #fff8ed;
}
.stay-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border: 1px solid #9b8b6b;
  border-radius: 8px;
  background: #1a3336;
}
.stay-image {
  min-height: 420px;
  background: url('../images/stay-room.webp') center / cover no-repeat;
}
.stay-intro { align-self: center; padding: clamp(26px, 4vw, 55px); }
.stay-eyebrow, .stay-label {
  margin: 0 0 14px;
  color: #f3c67e;
  font: 800 11px/1.4 Arial, sans-serif;
  letter-spacing: .14em;
}
.stay-section h2 {
  margin: 0 0 21px;
  color: #fff8ed;
  font: 400 clamp(37px, 4vw, 58px)/1.06 Georgia, serif;
}
.stay-section h2 em, .stay-occasions h3 em {
  color: #f3c67e;
  font-weight: 400;
}
.stay-intro > p:not(.stay-eyebrow), .stay-intro .panel-copy {
  max-width: none;
  margin: 0 0 16px;
  color: #e5ece7;
  font: 17px/1.65 Georgia, serif;
}
.stay-introduction {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(24px, 4vw, 55px);
  padding: clamp(36px, 5vw, 60px) 0;
}
.stay-introduction h3, .stay-heading h3, .stay-occasions h3 {
  margin: 0;
  color: #fff8ed;
  font: 400 clamp(28px, 3vw, 40px)/1.15 Georgia, serif;
}
.stay-introduction > div:last-child p {
  margin: 0 0 16px;
  color: #dfe9e3;
  font: 16px/1.75 Georgia, serif;
}
.stay-heading { padding-top: 30px; border-top: 1px solid #74857b; }
.stay-heading > p:last-child {
  max-width: 75ch;
  margin: 14px 0 0;
  color: #d1dfd8;
  font: 15px/1.6 Arial, sans-serif;
}
.stay-hotels { margin: 15px 0 36px; }
.stay-hotel {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(20px, 4vw, 50px);
  padding: clamp(28px, 4vw, 42px) 0;
  border-bottom: 1px solid #74857b;
}
.stay-hotel h4 {
  margin: 0 0 12px;
  color: #fff8ed;
  font: 400 clamp(24px, 2.5vw, 30px)/1.15 Georgia, serif;
}
.stay-address {
  margin: 0;
  color: #f3c98a;
  font: 14px/1.55 Arial, sans-serif;
}
.stay-hotel-copy p {
  margin: 0 0 15px;
  color: #e0e9e2;
  font: 16px/1.7 Georgia, serif;
}
.stay-hotel-copy p:last-child { margin-bottom: 0; }
.stay-occasions {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(24px, 4vw, 55px);
  padding: clamp(26px, 4vw, 45px);
  border-radius: 8px;
  background: #344b3e;
}
.stay-occasion-list > div {
  padding-bottom: 17px;
  margin-bottom: 17px;
  border-bottom: 1px solid #788a78;
}
.stay-occasion-list > div:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: 0;
}
.stay-occasion-list h4 {
  margin: 0;
  color: #f8d294;
  font: 700 16px/1.3 Arial, sans-serif;
}
.stay-occasion-list p {
  margin: 8px 0 0;
  color: #e6eee7;
  font: 15px/1.6 Georgia, serif;
}
.stay-note { display: flex; gap: 16px; padding: 26px 0 0; }
.stay-note > span { color: #f3c67e; font-size: 24px; }
.stay-note h3 {
  margin: 0 0 8px;
  color: #fff6e8;
  font: 400 24px/1.2 Georgia, serif;
}
.stay-note p {
  max-width: 85ch;
  margin: 0;
  color: #dce7de;
  font: 15px/1.6 Arial, sans-serif;
}
@media (max-width: 760px) {
  .stay-section { margin-top: 18px; padding: 18px; }
  .stay-hero { grid-template-columns: 1fr; }
  .stay-image { min-height: 0; aspect-ratio: 16 / 9; }
  .stay-intro { padding: 24px 19px; }
  .stay-section h2 { font-size: clamp(34px, 9vw, 43px); }
  .stay-intro > p:not(.stay-eyebrow), .stay-intro .panel-copy {
    font-size: 16px;
    line-height: 1.58;
  }
  .stay-introduction, .stay-hotel, .stay-occasions {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .stay-introduction { padding: 34px 0; }
  .stay-heading { padding-top: 24px; }
  .stay-hotel { padding: 25px 0; }
  .stay-occasions { padding: 24px 20px; }
}
/* STAY SECTION END */

/* ABOUT AND VISIT SECTION START */
.common-flow > .about-section {
  width: min(1300px, 100%);
  margin: 28px auto 0;
  padding: clamp(22px, 4vw, 48px);
  border-radius: 9px;
  background: #30414b;
  color: #fff8ed;
}
.about-hero {
  display: grid;
  grid-template-columns: 1fr 1fr;
  overflow: hidden;
  border: 1px solid #a18460;
  border-radius: 8px;
  background: #183342;
}
.about-image {
  min-height: 420px;
  background: url('../images/about-welcome.webp') center / cover no-repeat;
}
.about-intro { align-self: center; padding: clamp(26px, 4vw, 55px); }
.about-eyebrow {
  margin: 0 0 14px;
  color: #f5c982;
  font: 800 11px/1.4 Arial, sans-serif;
  letter-spacing: .14em;
}
.about-section h2 {
  margin: 0 0 21px;
  color: #fff8ed;
  font: 400 clamp(37px, 4vw, 58px)/1.06 Georgia, serif;
}
.about-section h2 em, .about-plans h3 em {
  color: #f5c982;
  font-weight: 400;
}
.about-intro > p:not(.about-eyebrow), .about-intro .panel-copy {
  max-width: none;
  margin: 0 0 16px;
  color: #e5efea;
  font: 17px/1.65 Georgia, serif;
}
.about-story {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(24px, 4vw, 55px);
  padding: clamp(36px, 5vw, 60px) 0;
}
.about-story h3, .about-visit-heading h3, .about-plans h3 {
  margin: 0;
  color: #fff8ed;
  font: 400 clamp(28px, 3vw, 40px)/1.15 Georgia, serif;
}
.about-story > div:last-child p {
  margin: 0 0 16px;
  color: #e1ebe6;
  font: 16px/1.75 Georgia, serif;
}
.about-visit-heading { padding-top: 30px; border-top: 1px solid #7b9190; }
.about-visit-heading > p:last-child {
  max-width: 75ch;
  margin: 14px 0 0;
  color: #d2e0dc;
  font: 15px/1.6 Arial, sans-serif;
}
.about-visit-list { margin: 16px 0 38px; }
.about-visit-list article {
  display: grid;
  grid-template-columns: 40px 1fr;
  gap: 16px;
  padding: 25px 0;
  border-bottom: 1px solid #788d8c;
}
.about-visit-list article > span { color: #f5c982; font: 28px/1 Georgia, serif; }
.about-visit-list h4 {
  margin: 0 0 12px;
  color: #fff6e8;
  font: 400 25px/1.2 Georgia, serif;
}
.about-visit-list p {
  max-width: 100ch;
  margin: 0 0 12px;
  color: #e1eae5;
  font: 16px/1.7 Georgia, serif;
}
.about-visit-list p:last-child { margin-bottom: 0; }
.about-plans {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(24px, 4vw, 55px);
  padding: clamp(26px, 4vw, 45px);
  border-radius: 8px;
  background: #244b4a;
}
.about-plan-list > div {
  padding-bottom: 17px;
  margin-bottom: 17px;
  border-bottom: 1px solid #728e85;
}
.about-plan-list > div:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
.about-plan-list h4 { margin: 0; color: #f8d298; font: 700 16px/1.3 Arial, sans-serif; }
.about-plan-list p { margin: 8px 0 0; color: #e5eee9; font: 15px/1.6 Georgia, serif; }
.about-note { display: flex; gap: 16px; padding: 26px 0 0; }
.about-note > span { color: #f5c982; font-size: 24px; }
.about-note h3 { margin: 0 0 8px; color: #fff6e8; font: 400 24px/1.2 Georgia, serif; }
.about-note p { max-width: 85ch; margin: 0; color: #dce7e2; font: 15px/1.6 Arial, sans-serif; }
@media (max-width: 760px) {
  .common-flow > .about-section { margin-top: 18px; padding: 18px; }
  .about-hero { grid-template-columns: 1fr; }
  .about-image { min-height: 0; aspect-ratio: 16 / 9; }
  .about-intro { padding: 24px 19px; }
  .about-section h2 { font-size: clamp(34px, 9vw, 43px); }
  .about-intro > p:not(.about-eyebrow), .about-intro .panel-copy {
    font-size: 16px;
    line-height: 1.58;
  }
  .about-story, .about-plans { grid-template-columns: 1fr; gap: 20px; }
  .about-story { padding: 34px 0; }
  .about-visit-heading { padding-top: 24px; }
  .about-visit-list article { grid-template-columns: 30px 1fr; gap: 10px; padding: 20px 0; }
  .about-visit-list h4 { font-size: 23px; }
  .about-visit-list p { font-size: 15px; }
  .about-plans { padding: 24px 20px; }
}
/* ABOUT AND VISIT SECTION END */

/* ABOUT AND VISIT LAYOUT REFINEMENT START */
.common-flow > section.about-section {
  background: #102331;
  padding: clamp(20px, 3vw, 38px);
}
.about-story {
  display: block;
  margin-top: 16px;
  padding: clamp(24px, 3vw, 38px);
  border-left: 3px solid #dcae6c;
  border-radius: 5px;
  background: #173745;
}
.about-story > div:first-child { margin-bottom: 20px; }
.about-story h3 { max-width: 26ch; }
.about-story > div:last-child {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 32px;
}
.about-story > div:last-child p { margin: 0; }
.about-visit {
  margin-top: 18px;
  padding: clamp(24px, 3vw, 38px);
  border-radius: 6px;
  background: #efe8d9;
  color: #1d3b39;
}
.about-visit-heading { padding: 0; border: 0; }
.about-visit .about-eyebrow { color: #8c562b; }
.about-visit-heading h3 { color: #173e3d; }
.about-visit-heading > p:last-child { max-width: 90ch; color: #415a55; }
.about-visit-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 24px;
  margin: 24px 0 0;
}
.about-visit-list article {
  display: block;
  padding: 17px 0 0;
  border-top: 2px solid #c08c4f;
  border-bottom: 0;
}
.about-visit-list article > span { display: block; margin-bottom: 12px; color: #9d632e; }
.about-visit-list h4 { color: #183c3a; font-size: 23px; }
.about-visit-list p { color: #344e49; font-size: 15px; line-height: 1.65; }
.about-plans {
  display: block;
  margin-top: 18px;
  padding: clamp(24px, 3vw, 38px);
  background: #514031;
}
.about-plans > div:first-child { margin-bottom: 22px; }
.about-plans h3 br { display: none; }
.about-plan-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}
.about-plan-list > div,
.about-plan-list > div:last-child {
  padding: 14px 0 0;
  margin: 0;
  border: 0;
  border-top: 1px solid #bb9d75;
}
.about-note { padding: 24px 4px 0; }
@media (max-width: 760px) {
  .common-flow > section.about-section { padding: 16px; }
  .about-story, .about-visit, .about-plans { padding: 22px 19px; }
  .about-story > div:last-child,
  .about-visit-list,
  .about-plan-list { grid-template-columns: 1fr; gap: 16px; }
  .about-story > div:first-child { margin-bottom: 16px; }
  .about-visit-list { margin-top: 18px; }
  .about-visit-list article { padding-top: 14px; }
  .about-visit-list article > span { margin-bottom: 8px; }
  .about-plans > div:first-child { margin-bottom: 18px; }
  .about-plan-list > div, .about-plan-list > div:last-child { padding-top: 12px; }
}
/* ABOUT AND VISIT LAYOUT REFINEMENT END */

/* FAQ SECTION START */
.common-flow > section.faq-section {
  width: min(1300px, 100%);
  margin: 28px auto 0;
  padding: clamp(24px, 4vw, 48px);
  border-radius: 9px;
  background: #25364a;
  color: #fff8ed;
}
.faq-intro {
  padding: clamp(25px, 4vw, 44px);
  border-left: 3px solid #efbd70;
  border-radius: 5px;
  background: #17384a;
}
.faq-eyebrow {
  margin: 0 0 14px;
  color: #f3c67e;
  font: 800 11px/1.4 Arial, sans-serif;
  letter-spacing: .14em;
}
.faq-section h2 {
  margin: 0 0 17px;
  color: #fff8ed;
  font: 400 clamp(36px, 4vw, 54px)/1.08 Georgia, serif;
}
.faq-section h2 em { color: #f3c67e; font-weight: 400; }
.faq-intro .panel-copy {
  max-width: 76ch;
  margin: 0;
  color: #e3ece8;
  font: 17px/1.65 Georgia, serif;
}
.faq-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  margin-top: 22px;
}
.faq-column { display: grid; gap: 12px; min-width: 0; }
.faq-item {
  min-width: 0;
  overflow: hidden;
  border: 2px solid #c79558;
  border-radius: 7px;
  background: #1c4a5a;
}
.faq-item > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 78px;
  padding: 17px 19px;
  background: #1c4a5a;
  color: #fff8ed;
  cursor: pointer;
  list-style: none;
  transition: background .18s ease, box-shadow .18s ease;
}
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary > span:first-child {
  font: 400 20px/1.25 Georgia, serif;
}
.faq-toggle {
  display: grid;
  place-items: center;
  flex: 0 0 34px;
  height: 34px;
  border-radius: 50%;
  background: #f4c478;
  color: #143442;
  font: 700 22px/1 Arial, sans-serif;
}
.faq-toggle::after { content: '+'; }
.faq-item[open] .faq-toggle::after { content: '−'; }
.faq-item[open] > summary { background: #285d69; }
.faq-item > summary:focus-visible {
  outline: 3px solid #fff0c8;
  outline-offset: -5px;
}
@media (hover: hover) {
  .faq-item > summary:hover {
    background: #347387;
    box-shadow: inset 4px 0 #ffd895;
  }
}
.faq-answer {
  padding: 20px 21px 22px;
  background: #f6efe3;
  color: #1c3b3a;
}
.faq-answer p { margin: 0; font: 16px/1.7 Georgia, serif; }
.faq-note { display: flex; gap: 16px; padding: 29px 3px 0; }
.faq-note > span { color: #f3c67e; font-size: 24px; }
.faq-note h3 {
  margin: 0 0 8px;
  color: #fff6e8;
  font: 400 24px/1.2 Georgia, serif;
}
.faq-note p {
  max-width: 85ch;
  margin: 0;
  color: #dce7e2;
  font: 15px/1.6 Arial, sans-serif;
}
@media (max-width: 760px) {
  .common-flow > section.faq-section { margin-top: 18px; padding: 18px; }
  .faq-intro { padding: 24px 19px; }
  .faq-section h2 { font-size: clamp(33px, 9vw, 42px); }
  .faq-intro .panel-copy { font-size: 16px; line-height: 1.58; }
  .faq-columns { grid-template-columns: 1fr; gap: 12px; }
  .faq-item > summary { min-height: 68px; padding: 15px 16px; }
  .faq-item > summary > span:first-child { font-size: 19px; }
  .faq-answer { padding: 18px 17px 20px; }
  .faq-answer p { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) {
  .faq-item > summary { transition: none; }
}
/* FAQ SECTION END */

/* FOOTER START */
.site-footer {
  width: min(1300px, 100%);
  margin: 30px auto 0;
  padding: 32px 28px 18px;
  border-top: 2px solid #d5a45c;
  background: #0c1a27;
  color: #dfeae5;
}
.footer-inner {
  display: grid;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
  gap: 30px;
}
.footer-intro p { max-width: 33ch; margin: 18px 0 14px; color: #d2dfd9; font: 15px/1.6 Georgia, serif; }
.footer-location { color: #e8bb70; font: 800 10px/1.4 Arial, sans-serif; letter-spacing: .12em; }
.footer-links { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
.footer-links h2 { margin: 0 0 5px; color: #f4c57d; font: 700 12px/1.4 Arial, sans-serif; letter-spacing: .08em; text-transform: uppercase; }
.footer-links a { color: #e0e9e5; font: 13px/1.4 Arial, sans-serif; text-decoration: none; }
.footer-links a:hover { color: #ffcf7b; text-decoration: underline; }
.footer-bottom { display: flex; justify-content: space-between; gap: 15px; margin-top: 28px; padding-top: 16px; border-top: 1px solid #4a6066; }
.footer-bottom p { margin: 0; color: #b8cbc5; font: 12px/1.5 Arial, sans-serif; }
.footer-bottom p:last-child { color: #f3c67e; white-space: nowrap; }
@media (max-width: 760px) {
  .site-footer { margin-top: 20px; padding: 26px 18px 20px; }
  .footer-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 18px; }
  .footer-intro { grid-column: 1 / -1; }
  .footer-intro p { max-width: 48ch; margin: 14px 0 10px; }
  .footer-bottom { flex-wrap: wrap; margin-top: 23px; }
}
/* FOOTER END */

/* LEGAL PAGES START */
.legal-page { background: #101c2a; color: #f8f1df; padding-bottom: 0; }
.legal-page .header-nav a { color: #f5f0e2; font: 700 13px/1.4 Arial, sans-serif; text-decoration: none; padding: 10px 2px; border-bottom: 2px solid transparent; }
.legal-page .header-nav a:hover, .legal-page .header-nav a:focus-visible { border-bottom-color: #edc873; }
.legal-main { width: min(1100px, calc(100% - 48px)); margin: 48px auto 80px; }
.legal-hero { padding: clamp(30px, 5vw, 66px); border: 1px solid #47646b; border-radius: 10px; background: linear-gradient(120deg, #153c44, #152b3d); }
.legal-eyebrow { margin: 0 0 20px; color: #efbd70; font: 700 12px/1.4 Arial, sans-serif; letter-spacing: .13em; }
.legal-hero h1 { margin: 0; color: #fff7e8; font: 400 clamp(38px, 5vw, 64px)/1.1 Georgia, serif; }
.legal-subtitle { margin: 18px 0 0; color: #d5e4df; font: 20px/1.5 Georgia, serif; }
.legal-date { margin: 22px 0 0; color: #e9bc76; font: 700 13px/1.5 Arial, sans-serif; }
.legal-content { margin-top: 22px; padding: clamp(26px, 5vw, 64px); border-radius: 10px; background: #f1eee4; color: #263e3d; }
.legal-section + .legal-section { margin-top: 30px; padding-top: 28px; border-top: 1px solid #c4d1c7; }
.legal-section h2 { margin: 0 0 12px; color: #193e40; font: 400 clamp(23px, 2.5vw, 30px)/1.2 Georgia, serif; }
.legal-section p { max-width: 80ch; margin: 0; font: 17px/1.75 Georgia, serif; }
.legal-page .site-footer { margin-top: 0; }
@media (max-width: 760px) {
  .legal-page .header-nav a { min-height: 44px; display: flex; align-items: center; border-bottom: 1px solid #ffffff26; }
  .legal-main { width: calc(100% - 30px); margin: 20px auto 42px; }
  .legal-hero { padding: 28px 22px; }
  .legal-hero h1 { font-size: clamp(33px, 9vw, 44px); overflow-wrap: anywhere; }
  .legal-subtitle { font-size: 17px; }
  .legal-content { padding: 27px 22px; }
  .legal-section + .legal-section { margin-top: 24px; padding-top: 23px; }
  .legal-section p { font-size: 16px; line-height: 1.65; }
}
/* LEGAL PAGES END */
