/*============
Template Name: Gaming  HTML5 Template
Author:https://www.templatemonster.com/authors/templateland/
Version: 1.0
============*/

/* Table of contents */
/*====================
01.Header Top Bar CSS
02.Header Area Css
03.Hero Area Css
04.Treanding Slot Area Css
05.Gaming Area Css
06.Card Area Css
07.Footer Area Css
08.Deposit Page Css
09.Sing Up Page Css
====================*/

/* ==========
    Base CSS
============ */
@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,100..900;1,100..900&family=Roboto+Slab:wght@100..900&display=swap');
* {
    margin: 0;
    padding: 0;
    list-style: none;
}

html, body {
    scroll-behavior: smooth;
    font-family: "Raleway", sans-serif;
}
img {
    max-width: 100%;
}
h1,h2,h3,h4,h5,h6{
    margin-bottom: 0;
    font-family: "Roboto Slab", serif;
}
a{
    text-decoration: none;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}
.al-center{
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
ul{
    margin: 0;
    padding: 0;
}
.wrapper{
    overflow: hidden;
}
.sticky {
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    width: 100%;
    height: auto;
    -webkit-animation: 300ms running fadeInDown;
    animation: 500ms running fadeInUp;
    -webkit-animation-name: slideInDown;
    animation-name: slideInDown;
    z-index: 99;
    background: #fff;
}
/* header-top bar start */
.herader-top-bar {
    background: #2A2A28;
    color: #fff;
    padding: 20px 0;
}

.top-bar-left p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 0;
}

.top-bar-left p span {
    font-weight: 600;
    margin-left: 5px;
    display: inline-block;
}

.top-bar-left p:last-child span {
    color: #F79E10;
    font-weight: 400;
}
.cuarincy-btn .carincy-btn-wrap{
    border: 1px solid #F79E10;
    border-radius: 24px;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    height: 48px;
    line-height: 48px;
}
.carincy-btn-wrap img {
    margin-left: 10px;
    margin-right: 5px;
}

.cuarincy-btn select {
    border: none;
    display: inline-block;
    outline: none;
    color: #713B12;
    width: 50%;
    border-radius: 0px 16px 16px 0px;
    padding: 0 10px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fac515),to(#fa9e15));
    background: -o-linear-gradient(top, #fac515 0%,#fa9e15 100%);
    background: linear-gradient(to bottom, #fac515 0%,#fa9e15 100%);
}

.cuarincy-btn a span {
    color: #F79E10;
    padding-left: 30px;
}
/* header area */
.header-area {
    background: #1F1F1C;
    padding: 24px 0;
}

.header-area li {
    display: inline-block;
}

.header-area li a {
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    display: block;
    padding: 10px 24px;
    color: #fff;
}

.header-area li a:hover {
    color: #EAAA08;
}

ul.submanu {
    position: absolute;
    text-align: left;
    top:78px;
    min-width: 200px;
    background-color:#FABA15;
    padding: 15px 0;
    -webkit-transition: all 0.4s ease-in-out;
    -o-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    opacity: 0;
   visibility: hidden;
   border-radius: 6px;
   z-index: 99;
}

ul.submanu li {
    display: block;
    margin: 0;
}

ul.submanu li a {
    padding: 5px 20px;
    display: inline-block;
    color:#713B12;
}

ul.submanu li a::after {
    display: none;
}

ul.submanu li a:hover{
    color: #fff;
}

.main-manu ul li:hover ul.submanu {
    top:40px;
    opacity: 1;
    visibility: visible;
}

.main-manu {
    text-align: right;
    position: relative;
    z-index: 1;
}

a.login {
    background: #302C23;
    border: 1px solid #FAC515;
    color: #fff;
    border-radius: 99px;
    margin-left: 40px;
}

a.login:hover {
    background: #EAAA08;
    color: #fff !important;
}

a.join {
    background: -webkit-gradient(linear, left top, left bottom, from(#fac515),to(#fa9e15));
    background: -o-linear-gradient(top, #fac515 0%,#fa9e15 100%);
    background: linear-gradient(to bottom, #fac515 0%,#fa9e15 100%);
    color: #713B12 !important;
    border-radius: 99px;
    margin-left: 5px;
}
/* hero area start */
.hero-area {
    background-image: url(../images/home/hero-bg.png);
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
    padding: 130px 0;
}
.double-content h2 {
    font-size: 200px;
    font-weight: 800;
    line-height: 200px;
    margin-bottom: 16px;
}

.double-content .up {
    color: #fa8700;
}

.double-content .down {
    color: #ffb847;
    position: absolute;
    top: 0;
    left: -8px;
}

.double-content {
    position: relative;
    z-index: 1;
}

.hero-content span {
    font-size: 24px;
    font-weight: 600;
    line-height: 28px;
    color: #fff;
    display: inline-block;
    margin-bottom: 16px;
}

.hero-all-content p {
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    color: #fff;
    margin-bottom: 16px;
}

.hero-btn a {
    display: inline-block;
    color: #713B12;
    background: #fff;
    padding: 16px 56px;
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    border-radius: 99px;
}

.hero-btn a:hover {
    background: #EAAA08;
    color: #fff;
}

.hero-btn a i {
    padding-left: 13px;
}
/* trending slot area */
.trading-area {
    background: #171715;
    padding: 72px 0;
    position: relative;
    z-index: 1;
}
.trading-area::after {
    position: absolute;
    left: -88%;
    top: 0;
    height: 100%;
    width: 100%;
    content: "";
    background:#171715;
    z-index: 2;
}
.trading-tittle h2 {
    font-size: 48px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 40px;
}

.single-trending-item {
    background: #2a2a28;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 16px;
    border-radius: 8px;
    padding: 16px;
}

.trending-left {
    width: 40%;
}

.trending-right {
    width: 60%;
}

.trending-left img {
    width: 100%;
}

.trending-right h2 {
    font-size: 26px;
    font-weight: 700;
    line-height: 31px;
    margin-bottom: 4px;
}

.trending-right p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 13px;
}

a.primary-btn {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: #713B12;
    background: -webkit-gradient(linear, left top, left bottom, from(#fac515),to(#fa9e15));
    background: -o-linear-gradient(top, #fac515 0%,#fa9e15 100%);
    background: linear-gradient(to bottom, #fac515 0%,#fa9e15 100%);
    padding: 10px 24px;
    border-radius: 99px;
}
.trending-slider.owl-carousel .owl-stage-outer {
   overflow: visible;
}
/* gaming ara */
.gaming-area {
    background: #1d1d1a;
    color: #fff;
    padding: 40px 0;
}

ul.filter-project {
    background: #262623;
    border: 1px solid #3f351a;
    padding: 16px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-radius: 8px;
    margin-bottom: 24px;
}

ul.filter-project li {
    display: inline-block;
    padding: 20px 40px;
    text-align: center;
    cursor: pointer;
}

ul.filter-project li.active {
    background: -webkit-gradient(linear, left top, left bottom, from(#fac515),to(#fa9e15));
    background: -o-linear-gradient(top, #fac515 0%,#fa9e15 100%);
    background: linear-gradient(to bottom, #fac515 0%,#fa9e15 100%);
    border-radius: 4px;
}

ul.filter-project li span {
    font-size: 16px;
    font-weight: 600;
    line-height: 16px;
    display: block;
}

ul.filter-project li img {
    height: 24px;
    width: 24px;
    margin-bottom: 8px;
}
.gaming-img img {
    border-radius: 8px;
    height: 100%;
    width: 100%;
    object-fit: cover;
}

.single-gaming-item {
    position: relative;
    z-index: 1;
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    margin-bottom: 24px;
}

.gaming-hover a {
    display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    padding: 10px 70px;
    text-align: center;
    border: 1.5px solid #FAC515;
    border-radius: 99px;
    width: 221px;
}

.gaming-hover .play-now {
    margin-bottom: 16px;
    background: -webkit-gradient(linear, left top, left bottom, from(#fac515),to(#fa9e15));
    background: -o-linear-gradient(top, #fac515 0%,#fa9e15 100%);
    background: linear-gradient(to bottom, #fac515 0%,#fa9e15 100%);
    color: #713B12;
}

.gaming-hover {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: 2;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .5s ease-in-out;
    -o-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
}

.gaming-hover .demo {
    color: #fff;
    background: #302C23;
}

.single-gaming-item::after {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    content: "";
    background: #000;
    z-index: 1;
    border-radius: 8px;
    opacity: .2;
    visibility: hidden;
}

.single-gaming-item:hover::after {
    visibility: visible;
}

.single-gaming-item:hover .gaming-hover {
    opacity: 1;
    visibility: visible;
}
.gaming-btn {
    text-align: center;
}

.gaming-btn a {
    display: inline-block;
    border: 1px solid #fac515;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    padding: 10px 24px;
    border-radius: 50px;
    color: #ffff;
    background: #302C23;
}

.gaming-btn a:hover {
    background: #EAAA08;
}

.gaming-btn {
    padding-top: 40px;
}
/* card area start */
.card-area {
    background: #171715;
    color: #fff;
    padding-top: 72px;
}

.cart-img img {
    border-radius: 16px;
}

.card-content h2 {
    font-size: 48px;
    font-weight: 700;
    line-height: 48px;
    margin-bottom: 16px;
}

.card-content p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 0;
}

.card-content {
    padding: 32px;
    position: absolute;
    bottom: 0;
}

.single-card-item {
    position: relative;
    z-index: 1;
}

.single-card-item {
    height: 412px;
    width: 100%;
    margin-bottom: 30px;
}

.single-card-item.larze {
    height: 745px;
    margin-bottom: 0;
}
.single-card-item.small {
    height: 309px;
    margin-bottom: 0;
}
.cta-ara {
    text-align: center;
    padding: 80px 0;
}

.cta-ara h2 {
    font-size: 80px;
    line-height: 80px;
    font-weight: 800;
    margin-bottom: 48px;
    text-shadow: 4px 0px 0px #d87400;
    color: #ffdf61;
}

.cta-btn a {
    font-size: 20px;
    font-weight: 500;
    line-height: 24px;
    color: #713B12;
    background: #fff;
    display: inline-block;
    padding: 16px 56px;
    border-radius: 99px;
}

.cta-btn a:hover {
    background: #EAAA08;
    color: #fff;
}

.cta-btn a i {
    font-size: 22px;
    display: inline-block;
}
/* footer area start */
footer.footer-area {
    background: #1F1F1C;
    color: #FFFFFF;
    padding: 40px 0;
}

.logo-part .logo {
    margin-bottom: 30px;
}

.logo-part p {
    font-size: 24px;
    font-weight: 400;
    line-height: 32px;
    margin-bottom: 0;
}

footer.footer-area h4 {
    font-size: 20px;
    font-weight: 700;
    line-height: 26px;
    color: #EAAA08;
    margin-bottom: 8px;
}

footer.footer-area li a {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
}

footer.footer-area li a:hover {
    color: #EAAA08;
}

footer.footer-area li {
    padding: 10px 0;
}

.social-part {
    padding-top: 40px;
}

.social-part li {
    display: inline-block;
    margin-left: 8px;
}

footer.footer-area li:first-child {
    margin-left: 0;
}

.social-part li a {
    height: 52px;
    width: 52px;
    display: block;
    background: #353533;
    text-align: center;
    line-height: 52px !important;
    font-size: 25px !important;
    border-radius: 4px;
}

.social-part li a:hover {
    background: #fff;
    color:#EAAA08;
}

.copyright-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.left-copyright p {
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: #000000;
    margin-bottom: 0;
}

.right-copyright li {
    display: inline-block;
}

.right-copyright li a {
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: #666666;
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.right-copyright li a:hover{
    color:#EAAA08 ;
}

.right-copyright li:first-child {
    margin-right: 40px;
}

.copyright-area {
    padding: 24px 0;
}
/* deposit page start */
.deposite-area {
    background: #1F1F1C;
    color: #fff;
}

.diposite-head {
    width: 671px;
    margin: 0 auto;
    text-align: center;
}

.deposite-tittle h2 span img {
    height: 80px;
    width: 80px;
}

.deposite-tittle h2 {
    font-size: 80px;
    line-height: 80px;
    font-weight: 800;
    text-shadow: 4px 0px 0px #d87400;
    color: #ffdf61;
    margin-bottom: 26px;
}

.deposite-tittle p {
    font-size: 26px;
    font-weight: 800;
    line-height: 26px;
    margin-bottom: 38px;
}

.deposit-btn a {
    border-radius: 8px;
    border: 1px solid #654a1d;
    height: 80px;
    line-height: 80px;
}

.deposit-btn a select {
    border-radius: 8px;
    background: #262623;
    font-size: 26px;
    font-weight: 600;
    line-height: 26px;
    color: #fff;
    border-radius: 0px 8px 8px 0px;
    width: 65%;
}

.deposit-btn a span {
    font-size: 26px;
    font-weight: 800;
    color: #fff;
    width: 36%;
    background: -webkit-gradient(linear, left top, left bottom, from(#fac515),to(#fa9e15));
    background: -o-linear-gradient(top, #fac515 0%,#fa9e15 100%);
    background: linear-gradient(to bottom, #fac515 0%,#fa9e15 100%);
    border-radius: 8px 0px 0px 8px;
}

.deposit-btn a span img {
    height: 18px;
    margin-right: 10px;
}

.cuarincy-btn:first-child {
    margin-bottom: 40px;
}
.deposit-qr {
    border: 1px solid #F79E10;
    text-align: center;
    border-radius: 8px;
    margin-top: 60px;
}

.qr-bar {
    background: #4f3725;
    border-radius: 8px 8px 0px 0px;
    padding: 16px 0;
    border-bottom: 1px solid #e6930f;
}

.qr-bar p {
    font-size: 26px;
    font-weight: 800;
    line-height: 26px;
    margin-bottom: 0;
}

.qr-bar p span {
    color: #F79E10;
}

.qr-tittle p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 0;
}

.qr-tittle p span {
    color: #F79E10;
}

.qr-tittle p:last-child {
    color: #F79E10;
}

.qr-tittle {
    padding-top: 39px;
    margin-bottom: 40px;
}

.qr-tittle p:first-child {
    margin-bottom: 12px;
}

a.copy-btn {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #fff;
    padding: 6px 24px;
    border: 1px solid #FAC515;
    border-radius: 99px;
    margin-left: 10px;
}

.deposit-qr img {
    margin-bottom: 40px;
}

.deposit-checking {
    text-align: center;
    padding: 65px 0;
    border-bottom: 1px solid #F79E10;
}

.deposit-checking p {
    color: #887B7B;
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    margin-bottom: 24px;
}

.deposit-bottom {
    padding: 40px 0;
    width: 1143px;
    margin: 0 auto;
}

.bottom-bar {
    text-align: center;
}

.bottom-bar p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #FAFAFA;
    margin-bottom: 40px;
}

.deposite-bottom-btn {
    text-align: center;
}

.deposite-bottom-btn a {
    display: inline-block;
    font-size: 16px;
    font-weight: 500;
    line-height: 24px;
    color: #FEFBE8;
    border: 1px solid #FAC515;
    padding: 10px 24px;
    border-radius: 99px;
    background: #302c23;
}

.deposite-bottom-two a {
    display: inline-block;
    font-size: 24px;
    font-weight: 500;
    line-height: 24px;
    color: #1E0605;
    background: #F79E10;
    padding: 19px 65px;
    border-radius: 8px;
}

.deposite-bottom-two {
    text-align: center;
    padding-top: 40px;
}

.deposite-btoom-text p {
    font-size: 16px;
    font-weight: 400;
    line-height: 24px;
    color: #FAFAFA;
}

.deposite-btoom-text {
    padding-top: 40px;
}
/* sing up page */
.sing-up-area {
    background: #302C23;
    width: 634px;
    margin: 0 auto;
    color: #fff;
    padding: 35px;
    border-radius: 8px;
}

.singup-tittle h4 {
    font-size: 26px;
    font-weight: 800;
    line-height: 26px;
}

.singup-tittle {
    text-align: center;
    margin-bottom: 30px;
}

.singup-form label {
    display: block;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    margin-bottom: 13px;
}

.singup-form input {
    display: inline-block;
    width: 100%;
    padding: 13px;
    outline: none;
    background: #262623;
    border: 1px solid #654a1d;
    margin-bottom: 30px;
    color: #fff;
}

.form-bottm {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 40px;
}

.form-bottm input {
    height: 30px;
    width: 30px;
    border: 1px solid #f2994a;
    margin-bottom: 0;
    margin-right: 15px;
}

.form-bottm span {
    margin-right: 73px;
    font-size: 20px;
    font-weight: 600;
    line-height: 30px;
}

.singleup-btn a {
    display: block;
    font-size: 20px;
    font-weight: 600;
    line-height: 20px;
    background: #F2994A;
    color: #fff;
    text-align: center;
    padding: 20px;
    border-radius: 8px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
}

.header-area {
  background: rgba(8, 8, 8, 0.92);
  backdrop-filter: blur(18px);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  padding: 18px 0;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
}

.logo img {
  max-height: 54px;
  width: auto;
  display: block;
}

.main-menu {
  flex: 1;
  display: flex;
  justify-content: center;
}

.main-menu ul {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
}

.main-menu li {
  list-style: none;
}

.main-menu a {
  display: inline-flex;
  align-items: center;
  padding: 10px 13px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 999px;
}

.main-menu a:hover {
  color: #ffffff;
  background: rgba(255, 255, 255, 0.08);
}

.header-play-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 132px;
  padding: 12px 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #f4d37b 0%, #b88a2d 48%, #f7e4a8 100%);
  color: #111111;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  box-shadow: 0 10px 30px rgba(212, 175, 55, 0.22);
}

.header-play-btn:hover {
  color: #111111;
  transform: translateY(-1px);
  box-shadow: 0 14px 36px rgba(212, 175, 55, 0.34);
}

@media (max-width: 991px) {
  .header-inner {
    flex-wrap: wrap;
  }

  .main-menu {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
  }

  .main-menu ul {
    gap: 4px;
    white-space: nowrap;
  }

  .main-menu a {
    font-size: 12px;
    padding: 9px 11px;
  }

  .header-play-btn {
    min-width: auto;
    padding: 11px 18px;
  }
}

.hero-section {
  position: relative;
  overflow: hidden;
  min-height: 860px;
  padding: 160px 0 120px;
  color: #ffffff;
  background:
    linear-gradient(
      90deg,
      rgba(10,10,10,0.62) 0%,
      rgba(10,10,10,0.48) 35%,
      rgba(10,10,10,0.22) 62%,
      rgba(10,10,10,0.48) 100%
    ),
    linear-gradient(
      180deg,
      rgba(0,0,0,0.12) 0%,
      rgba(0,0,0,0.38) 100%
    ),
    url("../images/home/hero-bg.webp");

  background-position: center center;
  background-size: cover;
  background-repeat: no-repeat;
}

.hero-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
  background-size: 72px 72px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,0.9), transparent);
  pointer-events: none;
}

.hero-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(
      circle at 78% 28%,
      rgba(214, 176, 82, 0.26),
      transparent 30%
    );
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(340px, 0.85fr);
  align-items: center;
  gap: 70px;
}

.hero-content {
  max-width: 820px;
}

.hero-eyebrow {
  display: inline-flex;
  margin-bottom: 22px;
  padding: 9px 16px;
  border: 1px solid rgba(244, 211, 123, 0.35);
  border-radius: 999px;
  color: #f4d37b;
  background: rgba(255, 255, 255, 0.05);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.hero-content h1 {
  max-width: 760px;
  margin-bottom: 24px;
  color: #ffffff;
  font-size: clamp(48px, 6vw, 86px);
  line-height: 0.96;
  font-weight: 800;
  letter-spacing: -0.05em;
}

.hero-lead {
  max-width: 690px;
  margin-bottom: 34px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 20px;
  line-height: 1.65;
}

.hero-offer {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  max-width: 780px;
  margin-bottom: 36px;
  overflow: hidden;
  border: 1px solid rgba(244, 211, 123, 0.18);
  border-radius: 24px;
  background: rgba(244, 211, 123, 0.18);
}

.hero-offer div {
  padding: 22px 20px;
  background: rgba(12, 12, 12, 0.82);
}

.hero-offer span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.56);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.hero-offer strong {
  display: block;
  color: #f6dc93;
  font-size: 20px;
  line-height: 1.25;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-bottom: 22px;
}

.hero-primary-btn,
.hero-secondary-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 30px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
}

.hero-primary-btn {
  color: #111111;
  background: linear-gradient(135deg, #f4d37b 0%, #b88a2d 48%, #f7e4a8 100%);
  box-shadow: 0 18px 46px rgba(212, 175, 55, 0.28);
}

.hero-primary-btn:hover {
  color: #111111;
  transform: translateY(-2px);
  box-shadow: 0 24px 56px rgba(212, 175, 55, 0.38);
}

.hero-primary-btn i {
  margin-left: 10px;
}

.hero-secondary-btn {
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.04);
}

.hero-secondary-btn:hover {
  color: #f4d37b;
  border-color: rgba(244, 211, 123, 0.42);
}

.hero-note {
  margin: 0;
  color: rgba(255, 255, 255, 0.46);
  font-size: 13px;
}

.hero-panel {
  display: grid;
  gap: 18px;
}

.hero-card {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 24px;
  border: 1px solid rgba(244, 211, 123, 0.18);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.11), rgba(255,255,255,0.035));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(18px);
}

.hero-card--featured {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.08), rgba(0,0,0,0.34)),
    radial-gradient(circle at 70% 25%, rgba(244, 211, 123, 0.28), transparent 42%),
    rgba(255,255,255,0.06);
}

.hero-card span {
  display: block;
  margin-bottom: 10px;
  color: #f4d37b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.hero-card strong {
  display: block;
  max-width: 90%;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.35;
}

@media (max-width: 991px) {
  .hero-section {
    min-height: auto;
    padding: 110px 0 80px;
  }

  .hero-inner {
    grid-template-columns: 1fr;
    gap: 44px;
  }

  .hero-offer {
    grid-template-columns: 1fr;
  }

  .hero-content h1 {
    font-size: 48px;
  }

  .hero-lead {
    font-size: 17px;
  }

  .hero-card--featured {
    min-height: auto;
  }
}

.games-showcase {
  position: relative;
  overflow: hidden;
  padding: 90px 0;
  background:
    radial-gradient(circle at 15% 10%, rgba(244, 211, 123, 0.12), transparent 32%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
  color: #ffffff;
}

.games-showcase::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

/* section heading */

.section-heading {
  position: relative;
  z-index: 2;

  max-width: 760px;

  margin: 0 auto 44px;

  text-align: center;
}

.section-heading span {
  display: inline-block;
  margin-bottom: 14px;

  color: #f4d37b;

  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.section-heading h2 {
  margin-bottom: 18px;

  color: #ffffff;

  font-size: clamp(36px, 4vw, 58px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.section-heading p {
  max-width: 620px;

  margin: 0 auto;

  color: rgba(255,255,255,0.68);

  font-size: 18px;
  line-height: 1.65;
}

/* slider */

.games-showcase-slider {
  position: relative;
  z-index: 2;
}

.games-showcase .owl-stage {
  display: flex;
}

.games-showcase .owl-item {
  display: flex;
  justify-content: center;
}

/* cards */

.game-showcase-card {
  position: relative;
  overflow: hidden;

  width: 100%;
  max-width: 265px;

  min-height: 430px;

  padding: 14px;

  border: 1px solid rgba(244, 211, 123, 0.16);
  border-radius: 26px;

  background:
    linear-gradient(145deg, rgba(255,255,255,0.10), rgba(255,255,255,0.035));

  box-shadow: 0 22px 60px rgba(0,0,0,0.34);

  backdrop-filter: blur(16px);
}

.game-showcase-card::after {
  content: "";

  position: absolute;
  inset: 0;

  background:
    radial-gradient(
      circle at 70% 10%,
      rgba(244, 211, 123, 0.18),
      transparent 34%
    );

  opacity: 0;

  transition: opacity 0.35s ease;

  pointer-events: none;
}

.game-showcase-card:hover::after {
  opacity: 1;
}

/* images */

.game-showcase-img {
  position: relative;
  overflow: hidden;

  height: 205px;

  margin-bottom: 18px;

  border-radius: 20px;

  background: rgba(0,0,0,0.20);

  display: flex;
  align-items: center;
  justify-content: center;
}

.game-showcase-img img {
  width: 100%;
  height: 100%;

  object-fit: contain;

  display: block;

  transition: transform 0.45s ease;
}

.game-showcase-card:hover .game-showcase-img img {
  transform: scale(1.03);
}

/* content */

.game-showcase-content {
  position: relative;
  z-index: 2;
}

.game-showcase-content span {
  display: block;

  margin-bottom: 8px;

  color: #f4d37b;

  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.game-showcase-content h3 {
  margin-bottom: 10px;

  color: #ffffff;

  font-size: 21px;
  line-height: 1.15;
  font-weight: 800;
}

.game-showcase-content p {
  min-height: 66px;

  margin-bottom: 18px;

  color: rgba(255,255,255,0.64);

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

/* button */

.game-showcase-content a {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 42px;

  padding: 0 20px;

  border-radius: 999px;

  color: #111111;

  background:
    linear-gradient(
      135deg,
      #f4d37b 0%,
      #b88a2d 48%,
      #f7e4a8 100%
    );

  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;

  box-shadow: 0 12px 28px rgba(212,175,55,0.24);
}

.game-showcase-content a:hover {
  color: #111111;

  transform: translateY(-1px);

  box-shadow: 0 16px 34px rgba(212,175,55,0.34);
}

/* owl */

.games-showcase .owl-stage-outer {
  overflow: visible;
}

/* responsive */

@media (max-width: 1199px) {
  .game-showcase-card {
    max-width: 280px;
  }
}

@media (max-width: 991px) {
  .games-showcase {
    padding: 76px 0;
  }

  .game-showcase-card {
    max-width: 300px;
    min-height: auto;
  }

  .game-showcase-img {
    height: 220px;
  }
}

.game-grid-section {
  position: relative;
  overflow: hidden;
  padding: 80px 0;
  background: #080b12;
  color: #ffffff;
}

.game-grid-section .container {
  position: relative;
  z-index: 2;
}

.game-grid {
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 18px;
  align-items: start;
}

.game-grid-item {
  min-width: 0;
}

.game-card {
  position: relative;
  overflow: hidden;

  width: 100%;
  aspect-ratio: 0.72 / 1;

  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px;

  background: transparent !important;
  box-shadow: none !important;
}

.game-img-wrapper {
  width: 100%;
  height: 100%;

  padding: 0 !important;
  border: 0 !important;

  border-radius: 18px;
  background: transparent !important;

  overflow: hidden;

  display: flex;
  align-items: center;
  justify-content: center;
}

.game-img-wrapper img {
  width: 100%;
  height: 100%;

  object-fit: contain;

  display: block;
  border-radius: 18px;

  transition: transform 0.35s ease, filter 0.35s ease;
}

.game-card:hover .game-img-wrapper img {
  transform: scale(1.04);
  filter: brightness(0.55);
}

.game-card a {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 3;

  transform: translate(-50%, 14px);
  opacity: 0;
  visibility: hidden;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 42px;
  padding: 0 24px;

  border-radius: 999px;

  color: #111111;
  background: linear-gradient(135deg, #f4d37b 0%, #b88a2d 48%, #f7e4a8 100%);

  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;

  box-shadow: 0 14px 34px rgba(0,0,0,0.45);

  transition: transform 0.3s ease, opacity 0.3s ease, visibility 0.3s ease;
}

.game-card:hover a {
  opacity: 1;
  visibility: visible;
  transform: translate(-50%, 0);
}

@media (min-width: 1200px) {
  .game-grid-section .container {
    max-width: 1500px;
  }

  .game-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
  }
}

@media (max-width: 1199px) {
  .game-grid {
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
  }
}

@media (max-width: 767px) {
  .game-grid-section {
    padding: 64px 0;
  }

  .game-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
  }

  .game-card,
  .game-img-wrapper,
  .game-img-wrapper img {
    border-radius: 16px;
  }

  .game-card a {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);

    bottom: 14px;

    min-height: 38px;
    padding: 0 18px;

    font-size: 10px;
  }

  .game-card .game-img-wrapper img {
    filter: brightness(0.72);
  }
}

.about-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background:
    radial-gradient(circle at 12% 14%, rgba(244, 211, 123, 0.11), transparent 34%),
    radial-gradient(circle at 88% 20%, rgba(255, 255, 255, 0.06), transparent 28%),
    linear-gradient(180deg, #080b12 0%, #11100d 100%);
  color: #ffffff;
}

.about-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.about-section::after {
  content: "";
  position: absolute;
  right: -180px;
  bottom: -220px;
  width: 620px;
  height: 620px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244, 211, 123, 0.16), transparent 62%);
  pointer-events: none;
}

.about-section .container {
  position: relative;
  z-index: 2;
}

.about-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 58px;
  align-items: center;
}

.about-media {
  position: relative;
}

.about-image {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  border-radius: 34px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
  box-shadow: 0 28px 80px rgba(0,0,0,0.42);
}

.about-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.38) 100%),
    radial-gradient(circle at 70% 20%, rgba(244, 211, 123, 0.18), transparent 32%);
  pointer-events: none;
}

.about-image img {
  width: 100%;
  height: 100%;
  min-height: 620px;
  object-fit: cover;
  display: block;
}

.about-floating-card {
  position: absolute;
  left: 28px;
  bottom: 28px;
  max-width: 320px;
  padding: 22px 24px;
  border: 1px solid rgba(244, 211, 123, 0.26);
  border-radius: 24px;
  background: rgba(8, 8, 8, 0.72);
  backdrop-filter: blur(18px);
  box-shadow: 0 20px 60px rgba(0,0,0,0.38);
}

.about-floating-card span {
  display: block;
  margin-bottom: 8px;
  color: #f4d37b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.about-floating-card strong {
  display: block;
  color: #ffffff;
  font-size: 22px;
  line-height: 1.25;
}

.about-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 26px;
}

.about-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(244, 211, 123, 0.28);
  border-radius: 999px;
  color: #f4d37b;
  background: rgba(255,255,255,0.04);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.about-content h3 {
  max-width: 720px;
  margin-bottom: 22px;
  color: #ffffff;
  font-size: clamp(32px, 4vw, 54px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -0.04em;
}

.about-content p {
  max-width: 760px;
  margin-bottom: 18px;
  color: rgba(255,255,255,0.72);
  font-size: 17px;
  line-height: 1.75;
}

.about-info-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 34px;
}

.about-info-card {
  padding: 24px;
  border: 1px solid rgba(244, 211, 123, 0.16);
  border-radius: 26px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.09), rgba(255,255,255,0.03));
  box-shadow: 0 18px 50px rgba(0,0,0,0.26);
}

.about-info-card span {
  display: block;
  margin-bottom: 16px;
  color: rgba(244, 211, 123, 0.74);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.16em;
}

.about-info-card h4 {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 20px;
  line-height: 1.2;
}

.about-info-card p {
  margin: 0;
  color: rgba(255,255,255,0.62);
  font-size: 14px;
  line-height: 1.6;
}

.about-services {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 58px;
}

.about-service-card {
  padding: 30px;
  border: 1px solid rgba(244, 211, 123, 0.16);
  border-radius: 30px;
  background: rgba(255,255,255,0.045);
  box-shadow: 0 22px 60px rgba(0,0,0,0.26);
}

.about-service-card h4 {
  margin-bottom: 18px;
  color: #f4d37b;
  font-size: 22px;
  line-height: 1.2;
}

.about-service-card ul {
  margin: 0;
  padding: 0;
}

.about-service-card li {
  position: relative;
  margin-bottom: 12px;
  padding-left: 22px;
  color: rgba(255,255,255,0.72);
  font-size: 15px;
  line-height: 1.55;
}

.about-service-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.72em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f4d37b;
  box-shadow: 0 0 16px rgba(244, 211, 123, 0.5);
}

@media (max-width: 991px) {
  .about-section {
    padding: 82px 0;
  }

  .about-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .about-image,
  .about-image img {
    min-height: 420px;
  }

  .about-info-grid,
  .about-services {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .about-image,
  .about-image img {
    min-height: 340px;
  }

  .about-floating-card {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }

  .about-info-card,
  .about-service-card {
    padding: 22px;
  }
}

.advantages-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background:
    radial-gradient(circle at 85% 14%, rgba(244, 211, 123, 0.12), transparent 32%),
    radial-gradient(circle at 12% 80%, rgba(255,255,255,0.055), transparent 28%),
    linear-gradient(180deg, #090909 0%, #11100d 100%);
  color: #ffffff;
}

.advantages-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.advantages-section .container {
  position: relative;
  z-index: 2;
}

.advantages-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.advantage-card {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  padding: 30px;
  border: 1px solid rgba(244, 211, 123, 0.16);
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.095), rgba(255,255,255,0.028));
  box-shadow: 0 24px 70px rgba(0,0,0,0.28);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.advantage-card::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244, 211, 123, 0.18), transparent 66%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.advantage-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244, 211, 123, 0.36);
  box-shadow: 0 32px 86px rgba(0,0,0,0.42);
}

.advantage-card:hover::after {
  opacity: 1;
}

.advantage-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 26px;
  border: 1px solid rgba(244, 211, 123, 0.28);
  border-radius: 50%;
  color: #f4d37b;
  background: rgba(255,255,255,0.04);
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.08em;
}

.advantage-card h3 {
  max-width: 360px;
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 26px;
  line-height: 1.12;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.advantage-card p {
  max-width: 380px;
  margin: 0;
  color: rgba(255,255,255,0.68);
  font-size: 15px;
  line-height: 1.68;
}

.advantage-card--large {
  grid-column: span 2;
  min-height: 340px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background:
    linear-gradient(145deg, rgba(244, 211, 123, 0.14), rgba(255,255,255,0.035)),
    radial-gradient(circle at 78% 20%, rgba(244, 211, 123, 0.22), transparent 36%);
}

.advantage-card--large h3 {
  max-width: 560px;
  font-size: clamp(34px, 4vw, 54px);
}

.advantage-card--large p {
  max-width: 650px;
  font-size: 17px;
}

.advantage-card--accent {
  background:
    linear-gradient(145deg, rgba(244, 211, 123, 0.16), rgba(255,255,255,0.035)),
    radial-gradient(circle at 75% 18%, rgba(244, 211, 123, 0.24), transparent 36%);
}

@media (max-width: 991px) {
  .advantages-section {
    padding: 82px 0;
  }

  .advantages-grid {
    grid-template-columns: 1fr;
  }

  .advantage-card,
  .advantage-card--large {
    grid-column: auto;
    min-height: auto;
  }

  .advantage-card--large h3 {
    font-size: 34px;
  }
}

@media (max-width: 575px) {
  .advantage-card {
    padding: 24px;
    border-radius: 24px;
  }

  .advantage-card h3 {
    font-size: 24px;
  }

  .advantage-card--large h3 {
    font-size: 30px;
  }
}

/* ===== Sticky Header ===== */

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
}

.header-area {
  padding: 18px 0;
  border-bottom: 1px solid rgba(244, 211, 123, 0.10);
  background: rgba(8, 8, 8, 0.88);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  box-shadow: 0 10px 40px rgba(0,0,0,0.28);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  width: 100%;
}

.logo {
  flex: 0 0 auto;
}

.logo img {
  max-height: 54px;
  width: auto;
  display: block;
}

.main-menu {
  flex: 1 1 auto;
  min-width: 0;
}

.main-menu ul {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(14px, 1.7vw, 28px);
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-menu ul li a {
  position: relative;
  color: rgba(255,255,255,0.82);
  font-size: clamp(12px, 0.9vw, 14px);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.3s ease;
}

.main-menu ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: #f4d37b;
  transition: width 0.3s ease;
}

.main-menu ul li a:hover {
  color: #f4d37b;
}

.main-menu ul li a:hover::after {
  width: 100%;
}

.header-play-btn {
  flex: 0 0 auto;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-width: 118px;
  min-height: 52px;
  padding: 0 18px;

  border-radius: 999px;

  color: #111111;
  background: linear-gradient(
    135deg,
    #f4d37b 0%,
    #c89b3c 45%,
    #f7e4a8 100%
  );

  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;

  box-shadow: 0 14px 36px rgba(244, 211, 123, 0.22);
  transition: all 0.3s ease;
}

.header-play-btn:hover {
  color: #111111;
  transform: translateY(-2px);
  box-shadow: 0 18px 42px rgba(244, 211, 123, 0.34);
}

/* ===== Remove gray stripe ===== */

body {
  padding-top: 0;
}

/* ===== Hero spacing ===== */

.hero-section {
  padding-top: 250px;
}

/* ===== Mobile ===== */

@media (max-width: 991px) {

  .header-area {
    padding: 14px 0;
  }

  .main-menu {
    display: none;
  }

  .logo img {
    max-height: 46px;
  }

  .header-play-btn {
    min-width: 112px;
    min-height: 46px;
    padding: 0 16px;
    font-size: 11px;
  }

  .hero-section {
    padding-top: 180px;
  }
}

/* ===== Bonuses Section ===== */

.charlevoix-bonuses {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background:
    radial-gradient(circle at top left, rgba(244,211,123,0.12), transparent 28%),
    radial-gradient(circle at bottom right, rgba(244,211,123,0.10), transparent 30%),
    linear-gradient(180deg, #060606 0%, #12100d 100%);
}

.charlevoix-bonuses::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);

  background-size: 70px 70px;
  pointer-events: none;
}

.charlevoix-bonuses .container {
  position: relative;
  z-index: 2;
}

/* ===== Heading ===== */

.bonuses-heading {
  max-width: 900px;
  margin: 0 auto 70px;
  text-align: center;
}

.bonuses-heading span {
  display: inline-block;
  margin-bottom: 18px;

  color: #f4d37b;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.bonuses-heading h2 {
  margin-bottom: 24px;

  color: #ffffff;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.05;
  font-weight: 900;
}

.bonuses-heading h2 span {
  color: #f4d37b;
  font-size: inherit;
  letter-spacing: inherit;
}

.bonuses-heading p {
  max-width: 760px;
  margin: 0 auto;

  color: rgba(255,255,255,0.70);
  font-size: 19px;
  line-height: 1.8;
}

/* ===== Feature Cards ===== */

.bonuses-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-bottom: 60px;
}

.bonus-feature-card {
  position: relative;
  overflow: hidden;

  padding: 34px;
  border-radius: 30px;

  border: 1px solid rgba(244,211,123,0.16);

  background:
    linear-gradient(145deg,
      rgba(255,255,255,0.08),
      rgba(255,255,255,0.03));

  backdrop-filter: blur(14px);

  transition: all 0.35s ease;
}

.bonus-feature-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244,211,123,0.30);
}

.bonus-feature-card::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    radial-gradient(circle at top right,
      rgba(244,211,123,0.14),
      transparent 35%);

  pointer-events: none;
}

.bonus-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 34px;
  padding: 0 16px;
  margin-bottom: 22px;

  border-radius: 999px;

  background: rgba(244,211,123,0.12);
  border: 1px solid rgba(244,211,123,0.18);

  color: #f4d37b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.bonus-feature-card h3 {
  margin-bottom: 18px;

  color: #ffffff;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 800;
}

.bonus-feature-card p {
  margin-bottom: 24px;

  color: rgba(255,255,255,0.70);
  font-size: 16px;
  line-height: 1.8;
}

.bonus-feature-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bonus-feature-card ul li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;

  color: rgba(255,255,255,0.82);
  font-size: 15px;
}

.bonus-feature-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 9px;

  width: 10px;
  height: 10px;

  border-radius: 50%;
  background: #f4d37b;
}

/* ===== VIP Highlight ===== */

.vip-highlight-box {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: 40px;

  padding: 50px;
  margin-bottom: 60px;

  border-radius: 34px;

  background:
    linear-gradient(135deg,
      rgba(244,211,123,0.12),
      rgba(255,255,255,0.03));

  border: 1px solid rgba(244,211,123,0.16);
}

.vip-mini-title {
  display: inline-block;
  margin-bottom: 18px;

  color: #f4d37b;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.vip-highlight-content h3 {
  margin-bottom: 22px;

  color: #ffffff;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.08;
  font-weight: 900;
}

.vip-highlight-content p {
  margin: 0;

  color: rgba(255,255,255,0.74);
  font-size: 18px;
  line-height: 1.9;
}

.vip-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 22px;
}

.vip-stat-card {
  padding: 28px;
  border-radius: 24px;

  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(244,211,123,0.10);
}

.vip-stat-card strong {
  display: block;
  margin-bottom: 10px;

  color: #f4d37b;
  font-size: 32px;
  font-weight: 900;
}

.vip-stat-card span {
  color: rgba(255,255,255,0.74);
  font-size: 15px;
  line-height: 1.6;
}

/* ===== Loyalty Cards ===== */

.loyalty-benefits-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.loyalty-card {
  position: relative;

  padding: 34px 28px;
  border-radius: 28px;

  background:
    linear-gradient(145deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.02));

  border: 1px solid rgba(244,211,123,0.10);
}

.loyalty-card span {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  width: 52px;
  height: 52px;
  margin-bottom: 24px;

  border-radius: 50%;

  border: 1px solid rgba(244,211,123,0.24);

  color: #f4d37b;
  font-size: 18px;
  font-weight: 900;
}

.loyalty-card h4 {
  margin-bottom: 16px;

  color: #ffffff;
  font-size: 24px;
  font-weight: 800;
}

.loyalty-card p {
  margin: 0;

  color: rgba(255,255,255,0.70);
  font-size: 15px;
  line-height: 1.8;
}

/* ===== Responsive ===== */

@media (max-width: 1199px) {

  .bonuses-grid,
  .loyalty-benefits-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .vip-highlight-box {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {

  .charlevoix-bonuses {
    padding: 90px 0;
  }

  .bonuses-grid,
  .loyalty-benefits-grid,
  .vip-stats-grid {
    grid-template-columns: 1fr;
  }

  .bonus-feature-card,
  .vip-highlight-box,
  .loyalty-card {
    padding: 28px;
  }

  .bonus-feature-card h3 {
    font-size: 28px;
  }

  .vip-highlight-content h3 {
    font-size: 36px;
  }
}

.gaming-experience-section {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background:
    radial-gradient(circle at top left, rgba(244,211,123,0.10), transparent 32%),
    radial-gradient(circle at bottom right, rgba(244,211,123,0.08), transparent 28%),
    #060606;
  color: #ffffff;
}

.gaming-experience-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size: 70px 70px;
  pointer-events: none;
}

.gaming-experience-section .container {
  position: relative;
  z-index: 2;
}

/* Heading */

.section-heading.center {
  max-width: 920px;
  margin: 0 auto 76px;
  text-align: center;
}

.section-heading.center span {
  display: inline-block;
  margin-bottom: 18px;
  color: #f4d37b;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.section-heading.center h2 {
  margin-bottom: 26px;
  color: #ffffff;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.04;
  font-weight: 900;
  letter-spacing: -0.04em;
}

.section-heading.center h2 strong {
  color: #f4d37b;
  font-weight: 900;
}

.section-heading.center p {
  max-width: 820px;
  margin: 0 auto;
  color: rgba(255,255,255,0.72);
  font-size: 19px;
  line-height: 1.8;
}

/* Main land-based cards */

.gaming-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  margin-bottom: 38px;
}

.gaming-category-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border-radius: 30px;
  border: 1px solid rgba(244,211,123,0.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
  backdrop-filter: blur(18px);
  transition: all 0.35s ease;
}

.gaming-category-card:hover {
  transform: translateY(-8px);
  border-color: rgba(244,211,123,0.30);
  box-shadow: 0 30px 80px rgba(0,0,0,0.45);
}

.category-top {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 24px;
}

.category-icon {
  width: 62px;
  height: 62px;
  min-width: 62px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    linear-gradient(135deg, rgba(244,211,123,0.22), rgba(244,211,123,0.08));
  border: 1px solid rgba(244,211,123,0.18);
  color: #f4d37b;
  font-size: 22px;
}

.category-top h3,
.category-top h4 {
  margin: 0;
  color: #ffffff;
  font-size: 26px;
  line-height: 1.15;
  font-weight: 800;
}

.gaming-category-card p {
  margin-bottom: 26px;
  color: rgba(255,255,255,0.70);
  font-size: 16px;
  line-height: 1.8;
}

.gaming-category-card ul,
.online-category-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.gaming-category-card li,
.online-category-card li {
  position: relative;
  padding-left: 24px;
  margin-bottom: 12px;
  color: rgba(255,255,255,0.78);
  font-size: 15px;
  line-height: 1.5;
}

.gaming-category-card li::before,
.online-category-card li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f4d37b;
  box-shadow: 0 0 14px rgba(244,211,123,0.55);
}

/* Highlight */

.gaming-highlight-box {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 36px;
  align-items: center;
  margin: 40px 0 70px;
  padding: 44px;
  border: 1px solid rgba(244,211,123,0.16);
  border-radius: 32px;
  background:
    radial-gradient(circle at 88% 18%, rgba(244,211,123,0.18), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,0.07), rgba(255,255,255,0.025));
}

.gaming-highlight-box span,
.games-category-heading span {
  display: inline-block;
  margin-bottom: 14px;
  color: #f4d37b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.gaming-highlight-box h3,
.games-category-heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  font-weight: 900;
}

.gaming-highlight-box p,
.games-category-heading p {
  margin: 0;
  color: rgba(255,255,255,0.72);
  font-size: 17px;
  line-height: 1.8;
}

/* Online categories */

.gaming-online-wrapper {
  margin-top: 40px;
}

.games-category-heading {
  max-width: 850px;
  margin: 0 auto 42px;
  text-align: center;
}

.games-category-heading h3 {
  margin-bottom: 18px;
}

.online-category-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

.online-category-card {
  padding: 30px;
  border-radius: 30px;
  border: 1px solid rgba(244,211,123,0.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.065), rgba(255,255,255,0.02));
  backdrop-filter: blur(16px);
  transition: all 0.35s ease;
}

.online-category-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244,211,123,0.28);
}

.online-category-card ul {
  margin-top: 24px;
}

/* Responsive */

@media (max-width: 1199px) {
  .gaming-grid,
  .online-category-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gaming-highlight-box {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .gaming-experience-section {
    padding: 90px 0;
  }

  .section-heading.center {
    margin-bottom: 54px;
  }

  .section-heading.center h2 {
    font-size: 40px;
  }

  .section-heading.center p {
    font-size: 16px;
  }

  .gaming-grid,
  .online-category-grid {
    grid-template-columns: 1fr;
  }

  .gaming-category-card,
  .online-category-card,
  .gaming-highlight-box {
    padding: 26px;
    border-radius: 24px;
  }

  .category-top {
    align-items: flex-start;
  }

  .category-top h3,
  .category-top h4 {
    font-size: 24px;
  }
}

/* ===================================== */
/* TABLE GAMES SECTION */
/* ===================================== */

.charlevoix-tables-section {
  position: relative;
  overflow: hidden;
  padding: 140px 0;
  background:
    radial-gradient(circle at top left, rgba(244,211,123,0.10), transparent 32%),
    radial-gradient(circle at bottom right, rgba(244,211,123,0.08), transparent 28%),
    #060606;
}

.charlevoix-tables-section::before {
  content: "";
  position: absolute;
  inset: 0;

  background:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);

  background-size: 70px 70px;
  pointer-events: none;
}

/* intro */

.table-intro-box {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 34px;

  margin-bottom: 34px;
  padding: 42px;

  border-radius: 34px;

  border: 1px solid rgba(244,211,123,0.14);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.02)
    );
}

.intro-content span {
  display: inline-block;
  margin-bottom: 16px;

  color: #f4d37b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.intro-content h3 {
  margin-bottom: 20px;

  color: #ffffff;
  font-size: clamp(34px, 4vw, 54px);
  line-height: 1.05;
  font-weight: 900;
}

.intro-content p {
  margin: 0;

  color: rgba(255,255,255,0.72);
  font-size: 17px;
  line-height: 1.85;
}

.intro-stats {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.intro-stat-card {
  padding: 24px;
  border-radius: 24px;

  border: 1px solid rgba(244,211,123,0.12);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.05),
      rgba(255,255,255,0.015)
    );
}

.intro-stat-card strong {
  display: block;
  margin-bottom: 8px;

  color: #f4d37b;
  font-size: 42px;
  font-weight: 900;
}

.intro-stat-card span {
  color: rgba(255,255,255,0.72);
  font-size: 15px;
}

/* games */

.table-games-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;

  margin-bottom: 38px;
}

.table-game-card {
  position: relative;
  overflow: hidden;

  padding: 34px;
  border-radius: 30px;

  border: 1px solid rgba(244,211,123,0.12);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.06),
      rgba(255,255,255,0.02)
    );

  transition: all 0.35s ease;
}

.table-game-card:hover {
  transform: translateY(-8px);

  border-color: rgba(244,211,123,0.28);

  box-shadow:
    0 30px 80px rgba(0,0,0,0.42);
}

.game-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  min-height: 34px;
  padding: 0 14px;
  margin-bottom: 24px;

  border-radius: 999px;

  background:
    linear-gradient(
      135deg,
      rgba(244,211,123,0.24),
      rgba(244,211,123,0.10)
    );

  color: #f4d37b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.table-game-icon,
.feature-icon,
.online-live-icon {
  width: 64px;
  height: 64px;
  margin-bottom: 24px;

  border-radius: 18px;

  display: flex;
  align-items: center;
  justify-content: center;

  background:
    linear-gradient(
      135deg,
      rgba(244,211,123,0.24),
      rgba(244,211,123,0.08)
    );

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

.table-game-card h3,
.table-feature-card h4,
.online-live-card h4 {
  margin-bottom: 18px;

  color: #ffffff;
  font-size: 30px;
  line-height: 1.1;
  font-weight: 800;
}

.table-game-card p,
.table-feature-card p {
  margin-bottom: 24px;

  color: rgba(255,255,255,0.70);
  font-size: 16px;
  line-height: 1.75;
}

.table-game-meta {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 14px;
}

.meta-item {
  padding: 16px;
  border-radius: 18px;

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.04),
      rgba(255,255,255,0.015)
    );
}

.meta-item span {
  display: block;
  margin-bottom: 8px;

  color: rgba(255,255,255,0.54);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.meta-item strong {
  color: #ffffff;
  font-size: 18px;
}

/* features */

.table-features-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;

  margin-bottom: 80px;
}

.table-feature-card,
.online-live-card {
  padding: 30px;
  border-radius: 28px;

  border: 1px solid rgba(244,211,123,0.12);

  background:
    linear-gradient(
      145deg,
      rgba(255,255,255,0.05),
      rgba(255,255,255,0.015)
    );
}

/* online */

.online-live-heading {
  max-width: 860px;
  margin: 0 auto 42px;
  text-align: center;
}

.online-live-heading span {
  display: inline-block;
  margin-bottom: 14px;

  color: #f4d37b;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.online-live-heading h3 {
  margin-bottom: 20px;

  color: #ffffff;
  font-size: clamp(34px, 4vw, 56px);
  line-height: 1.04;
  font-weight: 900;
}

.online-live-heading p {
  color: rgba(255,255,255,0.72);
  font-size: 18px;
  line-height: 1.8;
}

.online-live-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.online-live-card ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.online-live-card ul li {
  position: relative;

  margin-bottom: 14px;
  padding-left: 24px;

  color: rgba(255,255,255,0.76);
  font-size: 15px;
}

.online-live-card ul li::before {
  content: "";

  position: absolute;
  left: 0;
  top: 8px;

  width: 8px;
  height: 8px;
  border-radius: 50%;

  background: #f4d37b;
}

/* responsive */

@media (max-width: 1199px) {

  .table-games-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .table-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .online-live-grid {
    grid-template-columns: 1fr;
  }

  .table-intro-box {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {

  .charlevoix-tables-section {
    padding: 90px 0;
  }

  .table-games-grid,
  .table-features-grid {
    grid-template-columns: 1fr;
  }

  .table-game-card,
  .table-feature-card,
  .online-live-card,
  .table-intro-box {
    padding: 26px;
  }

  .intro-content h3,
  .online-live-heading h3 {
    font-size: 38px;
  }

  .table-game-card h3 {
    font-size: 28px;
  }
}

.slots-section {
  padding: 100px 0;
  background: #070707;
  color: #fff;
}

.slots-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  margin-top: 60px;
}

.slots-block h3 {
  font-size: 32px;
  margin-bottom: 20px;
  display: flex;
  align-items: center;
  gap: 12px;
}

.slots-block h3 i {
  color: #f4d37b;
}

.slots-block p {
  color: rgba(255,255,255,0.7);
  line-height: 1.7;
  margin-bottom: 20px;
}

/* LIST */

.slots-features {
  list-style: none;
  padding: 0;
  margin-bottom: 30px;
}

.slots-features li {
  margin-bottom: 10px;
  font-size: 15px;
}

.slots-features i {
  color: #f4d37b;
  margin-right: 8px;
}

/* CARDS LEFT */

.slots-cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}

.slot-card {
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  transition: 0.3s;
}

.slot-card:hover {
  transform: translateY(-5px);
  border-color: rgba(244,211,123,0.3);
}

.slot-card i {
  font-size: 20px;
  color: #f4d37b;
  margin-bottom: 10px;
}

.slot-card h4 {
  font-size: 16px;
  margin-bottom: 8px;
}

.slot-card p {
  font-size: 13px;
  line-height: 1.5;
}

/* RIGHT */

.slots-categories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.category-card {
  padding: 20px;
  border-radius: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
}

.category-card h4 {
  margin-bottom: 10px;
  color: #f4d37b;
}

.category-card p {
  font-size: 13px;
}

/* MOBILE */

@media (max-width: 991px) {
  .slots-grid {
    grid-template-columns: 1fr;
  }

  .slots-cards,
  .slots-categories {
    grid-template-columns: 1fr;
  }
}

.providers-section {
  padding: 100px 0;
  background: #070707;
  color: #fff;
}

.providers-grid {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}

.provider-card {
  padding: 24px;
  border-radius: 18px;
  text-align: center;

  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.06);

  transition: 0.3s ease;
}

.provider-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244,211,123,0.4);
}

.provider-card img {
  height: 40px;
  object-fit: contain;
  margin-bottom: 16px;
}

.provider-card h4 {
  font-size: 16px;
  margin-bottom: 8px;
}

.provider-card p {
  font-size: 13px;
  color: rgba(255,255,255,0.65);
  margin-bottom: 10px;
}

.provider-card span {
  font-size: 12px;
  color: #f4d37b;
}

/* Responsive */

@media (max-width: 1200px) {
  .providers-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 991px) {
  .providers-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.first-visit-section {
  padding: 110px 0;
  background: #070707;
  color: #fff;
}

.visit-grid {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.visit-card {
  padding: 28px;
  border-radius: 18px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  transition: 0.3s ease;
}

.visit-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244,211,123,0.4);
}

.visit-card h3 {
  font-size: 20px;
  margin-bottom: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
}

.visit-card h3 i {
  color: #f4d37b;
}

.visit-card p {
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,0.7);
  margin-bottom: 12px;
}

.visit-card ul {
  padding-left: 16px;
}

.visit-card ul li {
  font-size: 13px;
  margin-bottom: 6px;
  color: rgba(255,255,255,0.75);
}

/* Highlight card */

.visit-card.highlight {
  background: linear-gradient(
    135deg,
    rgba(244,211,123,0.08),
    rgba(255,255,255,0.02)
  );
  border-color: rgba(244,211,123,0.3);
}

/* Responsive */

@media (max-width: 991px) {
  .visit-grid {
    grid-template-columns: 1fr;
  }
}

.first-visit-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  background:
    radial-gradient(circle at 14% 12%, rgba(244,211,123,0.10), transparent 32%),
    radial-gradient(circle at 86% 20%, rgba(255,255,255,0.045), transparent 28%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
  color: #ffffff;
}

.first-visit-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.first-visit-section .container {
  position: relative;
  z-index: 2;
}

.visit-grid {
  margin-top: 60px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 26px;
}

.visit-card {
  position: relative;
  overflow: hidden;
  padding: 32px;
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
  border: 1px solid rgba(244,211,123,0.12);
  box-shadow: 0 22px 60px rgba(0,0,0,0.24);
  transition: transform 0.35s ease, border-color 0.35s ease, box-shadow 0.35s ease;
}

.visit-card::after {
  content: "";
  position: absolute;
  right: -80px;
  top: -80px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(244,211,123,0.14), transparent 65%);
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.visit-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244,211,123,0.34);
  box-shadow: 0 30px 78px rgba(0,0,0,0.38);
}

.visit-card:hover::after {
  opacity: 1;
}

.visit-card h3 {
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.18;
  font-weight: 800;
}

.visit-card h3 i {
  width: 46px;
  height: 46px;
  min-width: 46px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f4d37b;
  background:
    linear-gradient(135deg, rgba(244,211,123,0.20), rgba(244,211,123,0.06));
  border: 1px solid rgba(244,211,123,0.18);
  font-size: 18px;
}

.visit-card p {
  position: relative;
  z-index: 2;
  margin-bottom: 18px;
  color: rgba(255,255,255,0.72);
  font-size: 16px;
  line-height: 1.78;
}

.visit-card ul {
  position: relative;
  z-index: 2;
  margin: 0;
  padding: 0;
  list-style: none;
}

.visit-card ul li {
  position: relative;
  margin-bottom: 10px;
  padding-left: 24px;
  color: rgba(255,255,255,0.78);
  font-size: 15px;
  line-height: 1.5;
}

.visit-card ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.62em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #f4d37b;
  box-shadow: 0 0 14px rgba(244,211,123,0.55);
}

.visit-card.highlight {
  background:
    radial-gradient(circle at 90% 10%, rgba(244,211,123,0.18), transparent 38%),
    linear-gradient(145deg, rgba(244,211,123,0.10), rgba(255,255,255,0.025));
  border-color: rgba(244,211,123,0.28);
}

@media (max-width: 991px) {
  .first-visit-section {
    padding: 82px 0;
  }

  .visit-grid {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 44px;
  }

  .visit-card {
    padding: 26px;
    border-radius: 24px;
  }
}

@media (max-width: 575px) {
  .visit-card h3 {
    align-items: flex-start;
    font-size: 22px;
  }

  .visit-card p {
    font-size: 15px;
  }
}

.app-section {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background:
    radial-gradient(circle at 15% 12%, rgba(244,211,123,0.10), transparent 32%),
    radial-gradient(circle at 88% 22%, rgba(255,255,255,0.05), transparent 28%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
  color: #ffffff;
}

.app-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.app-section .container {
  position: relative;
  z-index: 2;
}

.app-layout {
  display: grid;
  grid-template-columns: 0.92fr 1.08fr;
  gap: 56px;
  align-items: start;
  margin-top: 60px;
}

.app-image-card {
  overflow: hidden;
  border-radius: 34px;
  border: 1px solid rgba(244,211,123,0.16);
  background:
    radial-gradient(circle at 70% 20%, rgba(244,211,123,0.18), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,0.08), rgba(255,255,255,0.025));
  box-shadow: 0 28px 80px rgba(0,0,0,0.36);
}

.app-image-card img {
  width: 90%;
  display: block;
}

.app-store-buttons {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin: 26px 0;
}

.app-store-buttons a {
  display: inline-flex;
  transition: transform 0.3s ease, opacity 0.3s ease;
}

.app-store-buttons a:hover {
  transform: translateY(-3px);
  opacity: 0.86;
}

.app-store-buttons img {
  height: 54px;
  width: auto;
  display: block;
}

.app-note-card,
.app-install-box {
  padding: 30px;
  border-radius: 28px;
  border: 1px solid rgba(244,211,123,0.14);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.07), rgba(255,255,255,0.02));
}

.app-note-card h3,
.app-install-box h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 28px;
  line-height: 1.15;
  font-weight: 800;
}

.app-note-card p {
  margin: 0;
  color: rgba(255,255,255,0.72);
  font-size: 16px;
  line-height: 1.75;
}

.app-feature-list {
  display: grid;
  gap: 22px;
  margin-bottom: 28px;
}

.app-feature-item {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 20px;
  padding: 28px;
  border-radius: 28px;
  border: 1px solid rgba(244,211,123,0.12);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.065), rgba(255,255,255,0.02));
  transition: transform 0.35s ease, border-color 0.35s ease;
}

.app-feature-item:hover {
  transform: translateY(-5px);
  border-color: rgba(244,211,123,0.30);
}

.app-feature-item i {
  width: 64px;
  height: 64px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4d37b;
  font-size: 24px;
  background:
    linear-gradient(135deg, rgba(244,211,123,0.22), rgba(244,211,123,0.07));
  border: 1px solid rgba(244,211,123,0.18);
}

.app-feature-item h3 {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.18;
  font-weight: 800;
}

.app-feature-item p,
.app-install-box p {
  margin: 0;
  color: rgba(255,255,255,0.72);
  font-size: 15px;
  line-height: 1.65;
}

.install-steps {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 22px;
}

.install-steps div {
  padding: 20px;
  border-radius: 20px;
  background: rgba(255,255,255,0.04);
}

.install-steps span {
  display: inline-flex;
  margin-bottom: 10px;
  color: #f4d37b;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

@media (max-width: 991px) {
  .app-section {
    padding: 82px 0;
  }

  .app-layout {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .install-steps {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 575px) {
  .app-feature-item {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .app-store-buttons img {
    height: 46px;
  }

  .app-note-card,
  .app-install-box {
    padding: 24px;
  }
}

.payment-section {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background:
    radial-gradient(circle at 15% 12%, rgba(244,211,123,0.10), transparent 32%),
    radial-gradient(circle at 88% 22%, rgba(255,255,255,0.05), transparent 28%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
  color: #ffffff;
}

.payment-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.payment-section .container {
  position: relative;
  z-index: 2;
}

.payment-intro {
  max-width: 980px;
  margin: 0 auto 42px;
  padding: 34px;
  border: 1px solid rgba(244,211,123,0.14);
  border-radius: 30px;
  background:
    radial-gradient(circle at 88% 18%, rgba(244,211,123,0.14), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,0.065), rgba(255,255,255,0.02));
}

.payment-intro h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 32px;
  line-height: 1.15;
  font-weight: 800;
}

.payment-intro p {
  margin: 0;
  color: rgba(255,255,255,0.72);
  font-size: 16px;
  line-height: 1.75;
}

.payment-intro-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.payment-intro-badges span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 0 14px;
  border: 1px solid rgba(244,211,123,0.18);
  border-radius: 999px;
  color: #f4d37b;
  background: rgba(255,255,255,0.04);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}

.payment-table-card {
  max-width: 980px;
  margin: 0 auto;
  padding: 22px;
  border: 1px solid rgba(244,211,123,0.16);
  border-radius: 30px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018));
  box-shadow: 0 26px 80px rgba(0,0,0,0.34);
}

.payment-tabs {
  display: flex;
  justify-content: center;
  gap: 0;
  margin-bottom: 26px;
}

.payment-tab {
  min-height: 48px;
  padding: 0 28px;
  border: 1px solid rgba(244,211,123,0.38);
  color: #ffffff;
  background: transparent;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.04em;
  cursor: pointer;
  transition: all 0.3s ease;
}

.payment-tab:first-child {
  border-radius: 999px 0 0 999px;
}

.payment-tab:last-child {
  border-radius: 0 999px 999px 0;
}

.payment-tab.active {
  color: #111111;
  background: linear-gradient(135deg, #f4d37b 0%, #c89b3c 45%, #f7e4a8 100%);
  box-shadow: 0 16px 40px rgba(244,211,123,0.24);
}

.payment-panel {
  display: none;
}

.payment-panel.active {
  display: block;
}

.payment-table {
  display: grid;
  gap: 10px;
}

.payment-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  min-height: 62px;
  padding: 12px 18px;
  border: 1px solid rgba(255,255,255,0.075);
  border-radius: 16px;
  background: rgba(10, 12, 16, 0.78);
}

.payment-method {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

.payment-method img {
  width: 34px;
  height: 24px;
  min-width: 34px;
  max-width: 34px;
  max-height: 24px;
  object-fit: contain;
  display: block;
}

.payment-icons-double {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  width: 48px;
  min-width: 48px;
}

.payment-icons-double img {
  width: 24px;
  min-width: 24px;
}

.payment-method span {
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
}

.payment-row strong {
  color: #ffffff;
  font-size: 14px;
  font-weight: 900;
  white-space: nowrap;
}

.payment-info-grid {
  max-width: 1180px;
  margin: 54px auto 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.payment-info-card {
  padding: 28px;
  border: 1px solid rgba(244,211,123,0.12);
  border-radius: 28px;
  background:
    linear-gradient(145deg, rgba(255,255,255,0.065), rgba(255,255,255,0.02));
  transition: transform 0.35s ease, border-color 0.35s ease;
}

.payment-info-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244,211,123,0.30);
}

.payment-info-card i {
  width: 58px;
  height: 58px;
  margin-bottom: 22px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4d37b;
  font-size: 22px;
  background:
    linear-gradient(135deg, rgba(244,211,123,0.22), rgba(244,211,123,0.07));
  border: 1px solid rgba(244,211,123,0.18);
}

.payment-info-card h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 23px;
  line-height: 1.18;
  font-weight: 800;
}

.payment-info-card p {
  margin: 0;
  color: rgba(255,255,255,0.70);
  font-size: 15px;
  line-height: 1.68;
}

@media (max-width: 1199px) {
  .payment-info-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .payment-section {
    padding: 84px 0;
  }

  .payment-intro,
  .payment-table-card {
    padding: 20px;
    border-radius: 24px;
  }

  .payment-intro h3 {
    font-size: 27px;
  }

  .payment-tabs {
    flex-direction: column;
    gap: 10px;
  }

  .payment-tab,
  .payment-tab:first-child,
  .payment-tab:last-child {
    border-radius: 999px;
  }

  .payment-row {
    grid-template-columns: 1fr;
    gap: 8px;
    align-items: start;
  }

  .payment-row strong {
    padding-left: 48px;
  }

  .payment-info-grid {
    grid-template-columns: 1fr;
  }
}

.compliance-section {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background:
    radial-gradient(circle at 18% 12%, rgba(244,211,123,0.08), transparent 30%),
    radial-gradient(circle at 82% 20%, rgba(255,255,255,0.04), transparent 30%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
  color: #ffffff;
}

.compliance-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.compliance-section .container {
  position: relative;
  z-index: 2;
}

.compliance-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
  margin-top: 60px;
}

.compliance-card {
  padding: 34px;
  border-radius: 30px;
  border: 1px solid rgba(244,211,123,0.14);
  background:
    linear-gradient(145deg, rgba(255,255,255,0.065), rgba(255,255,255,0.02));
  transition: transform 0.35s ease, border-color 0.35s ease;
}

.compliance-card:hover {
  transform: translateY(-6px);
  border-color: rgba(244,211,123,0.32);
}

.compliance-card i {
  width: 64px;
  height: 64px;
  margin-bottom: 22px;
  border-radius: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #f4d37b;
  font-size: 24px;
  background:
    linear-gradient(135deg, rgba(244,211,123,0.22), rgba(244,211,123,0.06));
  border: 1px solid rgba(244,211,123,0.18);
}

.compliance-card h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 24px;
  line-height: 1.2;
  font-weight: 800;
}

.compliance-card p {
  margin-bottom: 16px;
  color: rgba(255,255,255,0.72);
  font-size: 15px;
  line-height: 1.7;
}

.compliance-card ul {
  margin: 0 0 16px;
  padding-left: 18px;
}

.compliance-card ul li {
  margin-bottom: 6px;
  color: rgba(255,255,255,0.78);
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 1199px) {
  .compliance-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .compliance-section {
    padding: 80px 0;
  }

  .compliance-grid {
    grid-template-columns: 1fr;
  }

  .compliance-card {
    padding: 26px;
  }
}

.faq-section {
  position: relative;
  padding: 120px 0;
  background:
    radial-gradient(circle at 20% 10%, rgba(244,211,123,0.08), transparent 30%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  margin-top: 60px;
}

.faq-column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.faq-item {
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 18px;
  overflow: hidden;
  background: rgba(255,255,255,0.03);
}

.faq-question {
  width: 100%;
  padding: 20px 22px;
  background: transparent;
  border: none;
  color: #ffffff;
  font-size: 15px;
  font-weight: 700;
  text-align: left;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.faq-question i {
  color: #f4d37b;
  transition: transform 0.3s ease;
}

.faq-item.active .faq-question i {
  transform: rotate(180deg);
}

.faq-answer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.35s ease;
}

.faq-answer p {
  padding: 0 22px 20px;
  margin: 0;
  color: rgba(255,255,255,0.72);
  font-size: 14px;
  line-height: 1.6;
}

.faq-item.active .faq-answer {
  max-height: 200px;
}

@media (max-width: 767px) {
  .faq-section {
    padding: 80px 0;
  }

  .faq-grid {
    grid-template-columns: 1fr;
  }
}

.reviews-section {
  position: relative;
  overflow: hidden;
  padding: 120px 0;
  background:
    radial-gradient(circle at 16% 18%, rgba(244,211,123,0.10), transparent 32%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
  color: #ffffff;
}

.reviews-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.025) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.reviews-section .container {
  position: relative;
  z-index: 2;
}

.reviews-layout {
  display: grid;
  grid-template-columns: 0.95fr 1.05fr;
  gap: 56px;
  align-items: center;
}

.reviews-media {
  position: relative;
  overflow: hidden;
  min-height: 620px;
  border-radius: 34px;
  border: 1px solid rgba(244,211,123,0.16);
  box-shadow: 0 28px 80px rgba(0,0,0,0.40);
}

.reviews-media img {
  width: 100%;
  height: 80%;
  min-height: 520px;
  object-fit: cover;
  display: block;
}

.reviews-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0,0,0,0.48) 100%),
    radial-gradient(circle at 70% 22%, rgba(244,211,123,0.18), transparent 34%);
  pointer-events: none;
}

.reviews-media-badge {
  position: absolute;
  left: 28px;
  right: 28px;
  bottom: 28px;
  z-index: 2;
  padding: 24px;
  border-radius: 24px;
  border: 1px solid rgba(244,211,123,0.24);
  background: rgba(8,8,8,0.72);
  backdrop-filter: blur(18px);
}

.reviews-media-badge span {
  display: block;
  margin-bottom: 8px;
  color: #f4d37b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.reviews-media-badge strong {
  color: #ffffff;
  font-size: 24px;
  line-height: 1.25;
}

.reviews-heading {
  text-align: left;
  margin-bottom: 36px;
}

.reviews-heading h2 {
  color: #ffffff;
  font-size: clamp(38px, 5vw, 64px);
  line-height: 1.04;
  font-weight: 900;
}

.reviews-heading h2 strong {
  color: #f4d37b;
}

.reviews-slider {
  position: relative;
  min-height: 360px;
}

.review-card {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(18px);
  pointer-events: none;
  padding: 38px;
  border-radius: 32px;
  border: 1px solid rgba(244,211,123,0.16);
  background:
    radial-gradient(circle at 86% 16%, rgba(244,211,123,0.16), transparent 34%),
    linear-gradient(145deg, rgba(255,255,255,0.075), rgba(255,255,255,0.025));
  box-shadow: 0 24px 70px rgba(0,0,0,0.30);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.review-card.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.review-rating {
  display: flex;
  gap: 6px;
  margin-bottom: 22px;
  color: #f4d37b;
  font-size: 16px;
}

.review-card p {
  margin-bottom: 28px;
  color: rgba(255,255,255,0.78);
  font-size: 20px;
  line-height: 1.75;
}

.review-author strong {
  display: block;
  margin-bottom: 6px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 800;
}

.review-author span {
  color: rgba(255,255,255,0.56);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.reviews-controls {
  display: flex;
  gap: 10px;
  margin-top: 28px;
}

.review-control {
  width: 38px;
  height: 6px;
  border: none;
  border-radius: 999px;
  background: rgba(255,255,255,0.20);
  cursor: pointer;
  transition: all 0.3s ease;
}

.review-control.active {
  width: 62px;
  background: #f4d37b;
}

@media (max-width: 991px) {
  .reviews-section {
    padding: 82px 0;
  }

  .reviews-layout {
    grid-template-columns: 1fr;
    gap: 38px;
  }

  .reviews-media,
  .reviews-media img {
    min-height: 420px;
  }

  .reviews-slider {
    min-height: 440px;
  }

  .review-card {
    padding: 30px;
  }
}

@media (max-width: 575px) {
  .reviews-media,
  .reviews-media img {
    min-height: 340px;
  }

  .reviews-slider {
    min-height: 520px;
  }

  .review-card p {
    font-size: 17px;
  }

  .reviews-media-badge {
    left: 18px;
    right: 18px;
    bottom: 18px;
  }
}

.providers-carousel {
  position: relative;
  overflow: hidden;
  padding: 90px 0;
  background:
    radial-gradient(circle at 15% 10%, rgba(244,211,123,0.08), transparent 30%),
    linear-gradient(180deg, #070707 0%, #11100d 100%);
}

.providers-carousel .container {
  position: relative;
  z-index: 2;
}

/* ===== Carousel ===== */

.carousel-wrapper {
  overflow: hidden;
  width: 100%;
  margin-top: 40px;
}

.carousel-track {
  display: flex;
  width: max-content;
  gap: 60px;
  align-items: center;

  animation: providersScroll 40s linear infinite;
}

.carousel-track img {
  width: 120px;
  height: 40px;
  object-fit: contain;

  filter: brightness(0) invert(1);
  opacity: 0.7;

  transition: opacity 0.3s ease, transform 0.3s ease;
}

.carousel-track img:hover {
  opacity: 1;
  transform: translateY(-3px);
}

/* ===== Animation ===== */

@keyframes providersScroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}

/* ===== Responsive ===== */

@media (max-width: 991px) {
  .providers-carousel {
    padding: 70px 0;
  }

  .carousel-track {
    gap: 40px;
  }

  .carousel-track img {
    width: 100px;
    height: 34px;
  }
}

@media (max-width: 575px) {
  .carousel-track {
    gap: 30px;
  }

  .carousel-track img {
    width: 85px;
    height: 30px;
  }
}

.site-footer {
  position: relative;
  overflow: hidden;
  padding: 90px 0 34px;
  background:
    radial-gradient(circle at 16% 12%, rgba(244,211,123,0.10), transparent 32%),
    linear-gradient(180deg, #080808 0%, #030303 100%);
  color: #ffffff;
}

.site-footer::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,0.022) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.022) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.site-footer .container {
  position: relative;
  z-index: 2;
}

.footer-main {
  display: grid;
  grid-template-columns: 1.5fr 0.75fr 0.75fr 0.85fr;
  gap: 46px;
  padding-bottom: 48px;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.footer-logo img {
  max-height: 64px;
  width: auto;
  margin-bottom: 24px;
}

.footer-brand p,
.footer-notice p {
  margin: 0;
  color: rgba(255,255,255,0.68);
  font-size: 15px;
  line-height: 1.75;
}

.footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.footer-badges span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid rgba(244,211,123,0.22);
  color: #f4d37b;
  background: rgba(255,255,255,0.04);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-column h4,
.footer-payments h4 {
  margin-bottom: 18px;
  color: #f4d37b;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.footer-column ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.footer-column li {
  margin-bottom: 11px;
}

.footer-column a,
.footer-legal-links a {
  color: rgba(255,255,255,0.70);
  font-size: 14px;
  text-decoration: none;
  transition: color 0.3s ease;
}

.footer-column a:hover,
.footer-legal-links a:hover {
  color: #f4d37b;
}

.footer-payments {
  padding: 36px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.footer-payment-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
}

.footer-payment-icons img {
  width: 58px;
  height: 38px;
  padding: 8px;
  object-fit: contain;
  border-radius: 12px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.08);
}

.footer-notice {
  max-width: 980px;
  padding: 28px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: center;
  padding-top: 28px;
}

.footer-bottom p {
  margin: 0;
  color: rgba(255,255,255,0.58);
  font-size: 13px;
}

.footer-legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

@media (max-width: 991px) {
  .footer-main {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 575px) {
  .site-footer {
    padding: 70px 0 30px;
  }

  .footer-main {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .footer-payment-icons img {
    width: 52px;
    height: 34px;
  }

  .footer-legal-links {
    flex-direction: column;
    gap: 10px;
  }
}
/* ==================================================
   LUXURY DARK GREEN THEME
   ================================================== */

:root {
  --green-deep: #071a14;
  --green-dark: #0b241b;
  --green-main: #123d2c;
  --green-rich: #18533b;
  --green-light: #287458;
  --green-soft: #8fb9a5;
  --green-pale: #d8e8df;
}


/* ---------- HEADER BUTTON ---------- */

.header-play-btn {
  background: linear-gradient(
    135deg,
    #0a2119 0%,
    #18533b 48%,
    #0d3023 100%
  ) !important;

  color: #ffffff !important;

  border: 1px solid rgba(143, 185, 165, 0.32);

  box-shadow:
    0 10px 30px rgba(0, 45, 31, 0.38),
    inset 0 1px 0 rgba(255,255,255,0.10);
}

.header-play-btn:hover {
  background: linear-gradient(
    135deg,
    #123d2c,
    #287458
  ) !important;

  color: #ffffff !important;

  box-shadow:
    0 14px 38px rgba(0, 58, 39, 0.50);
}


/* ---------- NAVIGATION ---------- */

.main-menu a:hover {
  color: #8fb9a5 !important;
  background: rgba(24, 83, 59, 0.18);
}


/* ---------- HERO EYEBROW ---------- */

.hero-eyebrow {
  color: #9bc7b1 !important;

  border-color: rgba(40, 116, 88, 0.45) !important;

  background: rgba(10, 45, 32, 0.35) !important;
}


/* ---------- HERO BACKGROUND GLOW ---------- */

.hero-section::after {
  background:
    radial-gradient(
      circle at 78% 28%,
      rgba(24, 83, 59, 0.38),
      transparent 32%
    ) !important;
}


/* ---------- HERO INFO GRID ---------- */

.hero-offer {
  border-color: rgba(40, 116, 88, 0.28) !important;
  background: rgba(24, 83, 59, 0.25) !important;
}

.hero-offer strong {
  color: #a9d0bd !important;
}


/* ---------- PRIMARY BUTTON ---------- */

.hero-primary-btn {
  color: #ffffff !important;

  background: linear-gradient(
    135deg,
    #0a2119 0%,
    #18533b 48%,
    #0d3023 100%
  ) !important;

  border: 1px solid rgba(143, 185, 165, 0.30);

  box-shadow:
    0 18px 46px rgba(0, 50, 34, 0.38);
}

.hero-primary-btn:hover {
  color: #ffffff !important;

  background: linear-gradient(
    135deg,
    #123d2c,
    #287458
  ) !important;

  box-shadow:
    0 24px 56px rgba(0, 60, 40, 0.48);
}


/* ---------- SECONDARY BUTTON ---------- */

.hero-secondary-btn:hover {
  color: #9bc7b1 !important;
  border-color: rgba(80, 151, 119, 0.55) !important;
}


/* ---------- HERO CARDS ---------- */

.hero-card {
  border-color: rgba(40, 116, 88, 0.30) !important;
}

.hero-card--featured {
  background:
    linear-gradient(
      to bottom,
      rgba(255,255,255,0.06),
      rgba(0,0,0,0.38)
    ),
    radial-gradient(
      circle at 70% 25%,
      rgba(24, 83, 59, 0.48),
      transparent 44%
    ),
    rgba(5, 30, 21, 0.32) !important;
}

.hero-card span {
  color: #9bc7b1 !important;
}


/* ---------- GENERAL SECTION ACCENTS ---------- */

.section-heading span {
  color: #8fb9a5 !important;
}


/* ---------- OLD TEMPLATE YELLOW BUTTONS ---------- */

a.primary-btn,
a.join {
  background: linear-gradient(
    135deg,
    #0a2119,
    #18533b,
    #0d3023
  ) !important;

  color: #ffffff !important;

  border: 1px solid rgba(143, 185, 165, 0.25);
}

a.primary-btn:hover,
a.join:hover {
  background: #287458 !important;
  color: #ffffff !important;
}


/* ---------- OLD YELLOW TEXT ---------- */

.herader-top-bar span,
footer.footer-area h4,
.qr-bar p span,
.qr-tittle p span,
.qr-tittle p:last-child {
  color: #8fb9a5 !important;
}


/* ---------- BORDERS ---------- */

a.login,
a.copy-btn,
.gaming-btn a,
.gaming-hover a,
.deposit-qr {
  border-color: #18533b !important;
}


/* ---------- HOVERS ---------- */

.header-area li a:hover,
footer.footer-area li a:hover,
.right-copyright li a:hover {
  color: #8fb9a5 !important;
}


/* ---------- GAME FILTER ACTIVE ---------- */

ul.filter-project li.active {
  background: linear-gradient(
    135deg,
    #0b241b,
    #18533b
  ) !important;

  color: #ffffff;
}


/* ---------- GAME CARDS / GOLD BORDERS ---------- */

.game-showcase-card {
  border-color: rgba(40, 116, 88, 0.25) !important;
}

.game-showcase-card::after {
  background:
    radial-gradient(
      circle at 70% 10%,
      rgba(24, 83, 59, 0.28),
      transparent 34%
    ) !important;
}


/* ---------- CTA ---------- */

.cta-ara h2 {
  color: #9bc7b1 !important;
  text-shadow: 4px 0 0 #071a14 !important;
}

.cta-btn a:hover {
  background: #18533b !important;
  color: #ffffff !important;
}


/* ---------- SELECTION ---------- */

::selection {
  background: #18533b;
  color: #ffffff;
}
/* ==================================================
   ABOUT SECTION
   ================================================== */

.about-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #fff;
  background:
    radial-gradient(circle at 8% 15%, rgba(24,83,59,.16), transparent 28%),
    radial-gradient(circle at 92% 72%, rgba(18,61,44,.13), transparent 30%),
    #080b09;
}

.about-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.about-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.about-heading {
  max-width: 900px;
  margin-bottom: 60px;
}

.about-kicker,
.about-label {
  display: inline-block;
  margin-bottom: 15px;
  color: #8fb9a5;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.about-heading h2 {
  max-width: 880px;
  margin-bottom: 24px;
  color: #fff;
  font-size: clamp(40px, 5vw, 68px);
  line-height: 1.03;
  font-weight: 800;
  letter-spacing: -.045em;
}

.about-heading p {
  max-width: 800px;
  margin: 0;
  color: rgba(255,255,255,.67);
  font-size: 18px;
  line-height: 1.8;
}


/* MAIN STORY */

.about-story {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 65px;
  align-items: center;
  margin-bottom: 50px;
}

.about-story-image {
  position: relative;
  overflow: hidden;
  min-height: 590px;
  border-radius: 32px;
  border: 1px solid rgba(143,185,165,.18);
  background: #0b1510;
  box-shadow: 0 30px 80px rgba(0,0,0,.38);
}

.about-story-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to top, rgba(3,12,8,.75), transparent 45%);
  pointer-events: none;
}

.about-story-image img {
  width: 100%;
  height: 590px;
  object-fit: cover;
  display: block;
}

.about-image-badge {
  position: absolute;
  z-index: 2;
  left: 26px;
  bottom: 26px;
  min-width: 215px;
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 18px;
  background: rgba(6,22,16,.86);
  backdrop-filter: blur(14px);
}

.about-image-badge span {
  display: block;
  margin-bottom: 4px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.about-image-badge strong {
  color: #fff;
  font-size: 25px;
  font-weight: 700;
}

.about-story-content {
  padding: 15px 0;
}

.about-story-content h3,
.about-identity-main h3,
.about-modern-intro h3 {
  margin-bottom: 24px;
  color: #fff;
  font-size: clamp(30px, 3vw, 45px);
  line-height: 1.12;
  font-weight: 750;
  letter-spacing: -.035em;
}

.about-story-content p,
.about-identity-main p {
  margin-bottom: 18px;
  color: rgba(255,255,255,.68);
  font-size: 16px;
  line-height: 1.85;
}

.about-story-content p:last-child,
.about-identity-main p:last-child {
  margin-bottom: 0;
}


/* FACT CARDS */

.about-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 15px;
  margin-bottom: 70px;
}

.about-fact-card {
  min-height: 260px;
  padding: 28px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(24,83,59,.14), rgba(255,255,255,.025));
  transition: .35s ease;
}

.about-fact-card:hover {
  transform: translateY(-5px);
  border-color: rgba(143,185,165,.34);
  background:
    linear-gradient(145deg, rgba(24,83,59,.25), rgba(255,255,255,.035));
}

.about-fact-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 28px;
  border-radius: 15px;
  background: #123d2c;
  color: #a6cbb8;
  font-size: 19px;
}

.about-fact-card > span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.45);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.about-fact-card strong {
  display: block;
  margin-bottom: 13px;
  color: #fff;
  font-size: 23px;
  line-height: 1.2;
}

.about-fact-card p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.65;
}


/* IDENTITY */

.about-identity {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(330px, .75fr);
  gap: 55px;
  align-items: center;
  margin-bottom: 70px;
  padding: 55px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 32px;
  background:
    radial-gradient(circle at 85% 10%, rgba(24,83,59,.20), transparent 35%),
    rgba(255,255,255,.025);
}

.about-game-summary {
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.17);
  border-radius: 24px;
  background: rgba(4,16,11,.72);
}

.about-summary-head {
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 23px 24px;
  color: #a6cbb8;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.about-summary-head i {
  font-size: 18px;
}

.about-summary-head span {
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.about-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 24px;
  border-bottom: 1px solid rgba(255,255,255,.065);
}

.about-summary-row:last-child {
  border-bottom: 0;
}

.about-summary-row span {
  color: rgba(255,255,255,.58);
  font-size: 14px;
}

.about-summary-row strong {
  color: #fff;
  font-size: 14px;
  text-align: right;
}


/* OPERATOR / REGULATION */

.about-details {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 70px;
}

.about-detail-block {
  display: flex;
  gap: 24px;
  padding: 34px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 26px;
  background: rgba(255,255,255,.025);
}

.about-detail-icon {
  flex: 0 0 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 16px;
  color: #a6cbb8;
  background: #123d2c;
}

.about-detail-block span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.about-detail-block h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: 21px;
  line-height: 1.3;
}

.about-detail-block p {
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 14px;
  line-height: 1.75;
}


/* MODERN / TECHNOLOGY */

.about-modern {
  padding: 55px;
  border-radius: 32px;
  background:
    linear-gradient(135deg, #0a2018 0%, #0c1712 60%, #08100c 100%);
  border: 1px solid rgba(143,185,165,.15);
}

.about-modern-intro {
  max-width: 750px;
  margin-bottom: 40px;
}

.about-modern-intro p {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: 16px;
  line-height: 1.75;
}

.about-modern-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.about-modern-item {
  padding: 28px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.07);
  background: rgba(255,255,255,.035);
}

.about-modern-item > i {
  margin-bottom: 25px;
  color: #9bc7b1;
  font-size: 24px;
}

.about-modern-item h4 {
  margin-bottom: 11px;
  color: #fff;
  font-size: 19px;
}

.about-modern-item p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.7;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

  .about-facts {
    grid-template-columns: repeat(2, 1fr);
  }

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

@media (max-width: 991px) {

  .about-section {
    padding: 80px 0;
  }

  .about-story,
  .about-identity {
    grid-template-columns: 1fr;
  }

  .about-story-image,
  .about-story-image img {
    min-height: 450px;
    height: 450px;
  }

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

@media (max-width: 600px) {

  .about-heading h2 {
    font-size: 38px;
  }

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

  .about-identity,
  .about-modern {
    padding: 30px 22px;
  }

  .about-detail-block {
    flex-direction: column;
    padding: 27px 22px;
  }

  .about-story-image,
  .about-story-image img {
    min-height: 360px;
    height: 360px;
  }
}

/* ==================================================
   CASINO OVERVIEW
   ================================================== */

.casino-overview {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #fff;
  background:
    radial-gradient(circle at 88% 12%, rgba(24,83,59,.17), transparent 28%),
    radial-gradient(circle at 5% 82%, rgba(18,61,44,.12), transparent 28%),
    #050806;
}

.casino-overview::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 74px 74px;
  pointer-events: none;
}

.casino-overview .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.casino-overview-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(350px, .7fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.casino-overview-kicker {
  display: inline-block;
  margin-bottom: 15px;
  color: #8fb9a5;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.casino-overview-heading h2 {
  max-width: 760px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5vw, 70px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.045em;
}

.casino-overview-heading > p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 16px;
  line-height: 1.8;
}


/* FLOOR INTRO */

.casino-floor {
  overflow: hidden;
  margin-bottom: 22px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 34px;
  background: rgba(255,255,255,.022);
}

.casino-floor-intro {
  display: grid;
  grid-template-columns: 280px 1fr;
  gap: 45px;
  align-items: center;
  padding: 42px 48px;
  border-bottom: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 12% 50%, rgba(24,83,59,.23), transparent 28%);
}

.casino-floor-number {
  position: relative;
  padding-right: 35px;
  border-right: 1px solid rgba(143,185,165,.18);
}

.casino-floor-number > span {
  display: block;
  margin-bottom: 3px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.casino-floor-number strong {
  color: #fff;
  font-size: 70px;
  line-height: 1;
  letter-spacing: -.06em;
}

.casino-floor-number small {
  margin-left: 5px;
  color: rgba(255,255,255,.48);
  font-size: 20px;
}

.casino-floor-copy h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: 25px;
}

.casino-floor-copy p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: 15px;
  line-height: 1.75;
}


/* TWO CASINO ZONES */

.casino-zones {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.casino-zone {
  min-height: 500px;
  padding: 42px;
}

.casino-zone:first-child {
  border-right: 1px solid rgba(255,255,255,.07);
}

.casino-zone-slots {
  background:
    radial-gradient(circle at 10% 10%, rgba(24,83,59,.15), transparent 35%);
}

.casino-zone-tables {
  background:
    radial-gradient(circle at 90% 10%, rgba(40,116,88,.12), transparent 38%);
}

.casino-zone-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 65px;
}

.casino-zone-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  border-radius: 17px;
  color: #a5ccb8;
  background: #123d2c;
  font-size: 21px;
}

.casino-zone-top > span {
  color: rgba(255,255,255,.28);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.casino-zone-label {
  display: block;
  margin-bottom: 10px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.casino-zone-content h3 {
  margin-bottom: 18px;
  color: #fff;
  font-size: 34px;
  line-height: 1.1;
  letter-spacing: -.03em;
}

.casino-zone-content > p {
  max-width: 520px;
  margin-bottom: 28px;
  color: rgba(255,255,255,.59);
  font-size: 15px;
  line-height: 1.8;
}


/* SLOT STAT */

.casino-zone-stat {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 31px;
}

.casino-zone-stat strong {
  color: #a5ccb8;
  font-size: 35px;
}

.casino-zone-stat span {
  color: rgba(255,255,255,.45);
  font-size: 13px;
}


/* TABLE NUMBERS */

.casino-table-counts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 8px;
  margin-bottom: 31px;
}

.casino-table-counts div {
  padding: 17px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 15px;
  background: rgba(255,255,255,.025);
}

.casino-table-counts strong {
  display: block;
  margin-bottom: 4px;
  color: #a5ccb8;
  font-size: 25px;
}

.casino-table-counts span {
  color: rgba(255,255,255,.48);
  font-size: 12px;
}


/* LINKS */

.casino-zone-link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #9bc7b1;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none;
}

.casino-zone-link:hover {
  gap: 15px;
  color: #fff;
}


/* SIGNATURE */

.casino-signature {
  display: grid;
  grid-template-columns: 70px 1fr 145px;
  gap: 28px;
  align-items: center;
  margin-bottom: 22px;
  padding: 38px 42px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 28px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.34), rgba(255,255,255,.025));
}

.casino-signature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 19px;
  color: #a5ccb8;
  background: rgba(24,83,59,.5);
  font-size: 21px;
}

.casino-signature-copy > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.casino-signature-copy h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: 25px;
}

.casino-signature-copy p {
  max-width: 800px;
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 14px;
  line-height: 1.75;
}

.casino-signature-mark {
  padding-left: 30px;
  border-left: 1px solid rgba(143,185,165,.18);
  text-align: center;
}

.casino-signature-mark strong {
  display: block;
  color: #a5ccb8;
  font-size: 50px;
  line-height: 1;
}

.casino-signature-mark span {
  display: block;
  margin-top: 6px;
  color: rgba(255,255,255,.43);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
}


/* ORIENTATION */

.casino-orientation {
  margin-bottom: 22px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.018);
}

.casino-orientation-head {
  margin-bottom: 32px;
}

.casino-orientation-head h3 {
  color: #fff;
  font-size: 31px;
}

.casino-orientation-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.casino-orientation-item {
  min-height: 190px;
  padding: 25px;
  border-radius: 20px;
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.055);
}

.casino-orientation-item > i {
  margin-bottom: 28px;
  color: #8fb9a5;
  font-size: 20px;
}

.casino-orientation-item span {
  display: block;
  margin-bottom: 9px;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}

.casino-orientation-item p {
  margin: 0;
  color: rgba(255,255,255,.48);
  font-size: 13px;
  line-height: 1.65;
}


/* BOTTOM FACTS */

.casino-overview-facts {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 24px;
  background: #09130e;
}

.casino-overview-fact {
  padding: 25px 27px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.casino-overview-fact:last-child {
  border-right: 0;
}

.casino-overview-fact span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.4);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.casino-overview-fact strong {
  color: #fff;
  font-size: 18px;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .casino-overview {
    padding: 80px 0;
  }

  .casino-overview-heading,
  .casino-floor-intro {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .casino-floor-number {
    border-right: 0;
    padding-right: 0;
  }

  .casino-zones {
    grid-template-columns: 1fr;
  }

  .casino-zone:first-child {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .casino-signature {
    grid-template-columns: 70px 1fr;
  }

  .casino-signature-mark {
    display: none;
  }

  .casino-orientation-grid,
  .casino-overview-facts {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (max-width: 600px) {

  .casino-overview-heading h2 {
    font-size: 39px;
  }

  .casino-floor-intro,
  .casino-zone,
  .casino-orientation {
    padding: 28px 22px;
  }

  .casino-floor-number strong {
    font-size: 55px;
  }

  .casino-zone-top {
    margin-bottom: 40px;
  }

  .casino-table-counts {
    grid-template-columns: 1fr;
  }

  .casino-signature {
    grid-template-columns: 1fr;
    padding: 28px 22px;
  }

  .casino-orientation-grid,
  .casino-overview-facts {
    grid-template-columns: 1fr;
  }

  .casino-overview-fact {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .casino-overview-fact:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   GAMES SECTION
   ================================================== */

.games-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 12% 14%, rgba(24,83,59,.16), transparent 29%),
    radial-gradient(circle at 88% 80%, rgba(18,61,44,.13), transparent 30%),
    #080b09;
}

.games-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.games-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.games-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(340px, .65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.games-kicker,
.games-category-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.games-heading h2 {
  max-width: 780px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.games-heading > p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 16px;
  line-height: 1.8;
}


/* MAIN CATEGORIES */

.games-categories {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 70px;
}

.games-category {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  padding: 42px;
  border: 1px solid rgba(143,185,165,.15);
  border-radius: 30px;
  background: rgba(255,255,255,.025);
}

.games-category-slots {
  background:
    radial-gradient(circle at 15% 15%, rgba(24,83,59,.23), transparent 35%),
    rgba(255,255,255,.022);
}

.games-category-live {
  background:
    radial-gradient(circle at 85% 15%, rgba(40,116,88,.19), transparent 36%),
    rgba(255,255,255,.022);
}

.games-category-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 70px;
}

.games-category-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 18px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 21px;
}

.games-category-head > span {
  color: rgba(255,255,255,.28);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.games-category-body {
  max-width: 540px;
}

.games-category-body h3 {
  margin-bottom: 20px;
  color: #ffffff;
  font-size: 36px;
  line-height: 1.1;
  letter-spacing: -.035em;
}

.games-category-body p {
  margin-bottom: 17px;
  color: rgba(255,255,255,.6);
  font-size: 15px;
  line-height: 1.8;
}

.games-category-number {
  position: absolute;
  right: 38px;
  bottom: 34px;
  text-align: right;
}

.games-category-number strong {
  display: block;
  color: #a6cbb8;
  font-size: 38px;
  line-height: 1;
  letter-spacing: -.04em;
}

.games-category-number span {
  display: block;
  margin-top: 7px;
  color: rgba(255,255,255,.38);
  font-size: 11px;
  letter-spacing: .1em;
  text-transform: uppercase;
}


/* LIVE OVERVIEW */

.games-live-overview {
  margin-bottom: 22px;
  padding: 50px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(18,61,44,.26), rgba(255,255,255,.018));
}

.games-live-intro {
  max-width: 720px;
  margin-bottom: 35px;
}

.games-live-intro h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 34px;
  line-height: 1.15;
  letter-spacing: -.03em;
}

.games-live-intro p {
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 15px;
  line-height: 1.75;
}

.games-live-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.games-live-card {
  min-height: 230px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.065);
  border-radius: 21px;
  background: rgba(4,16,11,.52);
}

.games-live-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 45px;
}

.games-live-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  border-radius: 13px;
  color: #9bc7b1;
  background: rgba(24,83,59,.4);
}

.games-live-card-top strong {
  color: #a6cbb8;
  font-size: 39px;
  line-height: 1;
}

.games-live-card-content > span {
  display: block;
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
}

.games-live-card-content p {
  margin: 0;
  color: rgba(255,255,255,.48);
  font-size: 13px;
  line-height: 1.7;
}


/* DIFFERENCE */

.games-difference {
  display: grid;
  grid-template-columns: .55fr 1.45fr;
  gap: 50px;
  margin-bottom: 22px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.018);
}

.games-difference-heading h3 {
  margin: 0;
  color: #ffffff;
  font-size: 31px;
  line-height: 1.15;
}

.games-difference-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.games-difference-item {
  display: flex;
  gap: 18px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(255,255,255,.022);
}

.games-difference-marker {
  flex: 0 0 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 12px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 15px;
  font-weight: 800;
}

.games-difference-item h4 {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 17px;
}

.games-difference-item p {
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: 13px;
  line-height: 1.7;
}


/* SUMMARY */

.games-summary {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 24px;
  background: #09130e;
}

.games-summary-item {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.games-summary-item:last-child {
  border-right: 0;
}

.games-summary-item span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.38);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.games-summary-item strong {
  display: block;
  color: #ffffff;
  font-size: 17px;
  line-height: 1.3;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .games-section {
    padding: 80px 0;
  }

  .games-heading,
  .games-difference {
    grid-template-columns: 1fr;
    gap: 30px;
  }

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

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

  .games-summary {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (max-width: 650px) {

  .games-heading h2 {
    font-size: 39px;
  }

  .games-category,
  .games-live-overview,
  .games-difference {
    padding: 28px 22px;
  }

  .games-category {
    min-height: auto;
    padding-bottom: 120px;
  }

  .games-category-head {
    margin-bottom: 45px;
  }

  .games-category-number {
    left: 22px;
    right: auto;
    bottom: 28px;
    text-align: left;
  }

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

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

  .games-summary-item {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .games-summary-item:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   AUTOMATENSPIEL
   ================================================== */

.slots-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 90% 10%, rgba(24,83,59,.17), transparent 30%),
    radial-gradient(circle at 10% 88%, rgba(18,61,44,.13), transparent 28%),
    #050806;
}

.slots-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.slots-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.slots-heading {
  max-width: 900px;
  margin-bottom: 60px;
}

.slots-kicker,
.slots-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.slots-heading h2 {
  max-width: 850px;
  margin-bottom: 22px;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.slots-heading p {
  max-width: 760px;
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 17px;
  line-height: 1.8;
}


/* MAIN */

.slots-main {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
  gap: 60px;
  align-items: center;
  margin-bottom: 60px;
}


/* IMAGE */

.slots-image-wrap {
  position: relative;
  overflow: hidden;
  min-height: 610px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 32px;
  background: #0a130e;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
}

.slots-image-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgba(3,12,8,.8) 0%,
      rgba(3,12,8,.16) 45%,
      transparent 75%
    );
  pointer-events: none;
}

.slots-image-wrap img {
  width: 100%;
  height: 610px;
  display: block;
  object-fit: cover;
}

.slots-image-overlay {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 28px;
  padding: 19px 23px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px;
  background: rgba(5,22,15,.84);
  backdrop-filter: blur(15px);
}

.slots-image-overlay span {
  display: block;
  margin-bottom: 5px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.slots-image-overlay strong {
  display: block;
  color: #ffffff;
  font-size: 25px;
}


/* CONTENT */

.slots-content h3 {
  margin-bottom: 23px;
  color: #ffffff;
  font-size: clamp(31px, 3vw, 44px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.slots-content > p {
  margin-bottom: 18px;
  color: rgba(255,255,255,.61);
  font-size: 15px;
  line-height: 1.85;
}

.slots-highlight {
  display: flex;
  gap: 18px;
  margin-top: 30px;
  padding: 23px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(18,61,44,.32), rgba(255,255,255,.02));
}

.slots-highlight-icon {
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: #a6cbb8;
  background: #123d2c;
}

.slots-highlight span {
  display: block;
  margin-bottom: 6px;
  color: #9bc7b1;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.slots-highlight p {
  margin: 0;
  color: rgba(255,255,255,.58);
  font-size: 13px;
  line-height: 1.65;
}


/* FACT CARDS */

.slots-facts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-bottom: 60px;
}

.slots-fact {
  display: flex;
  gap: 20px;
  min-height: 205px;
  padding: 28px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: rgba(255,255,255,.022);
}

.slots-fact-icon {
  flex: 0 0 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  border-radius: 15px;
  color: #a6cbb8;
  background: #123d2c;
}

.slots-fact span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.38);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.slots-fact strong {
  display: block;
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 19px;
  line-height: 1.3;
}

.slots-fact p {
  margin: 0;
  color: rgba(255,255,255,.49);
  font-size: 13px;
  line-height: 1.65;
}


/* SCALE */

.slots-scale {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(400px, .8fr);
  gap: 55px;
  align-items: center;
  margin-bottom: 22px;
  padding: 48px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 30px;
  background:
    radial-gradient(circle at 85% 50%, rgba(24,83,59,.17), transparent 35%),
    rgba(255,255,255,.018);
}

.slots-scale-copy h3 {
  margin-bottom: 18px;
  color: #ffffff;
  font-size: 32px;
  line-height: 1.15;
}

.slots-scale-copy p {
  margin-bottom: 14px;
  color: rgba(255,255,255,.57);
  font-size: 14px;
  line-height: 1.78;
}

.slots-scale-copy p:last-child {
  margin-bottom: 0;
}

.slots-scale-stats {
  display: grid;
  grid-template-columns: 1fr 50px 1fr;
  gap: 12px;
  align-items: center;
}

.slots-scale-stat {
  padding: 25px 20px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px;
  background: rgba(4,16,11,.58);
  text-align: center;
}

.slots-scale-stat span {
  display: block;
  margin-bottom: 8px;
  color: rgba(255,255,255,.35);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.slots-scale-stat strong {
  display: block;
  margin-bottom: 5px;
  color: #ffffff;
  font-size: 26px;
}

.slots-scale-stat small {
  color: rgba(255,255,255,.4);
  font-size: 11px;
}

.slots-scale-stat-current {
  border-color: rgba(143,185,165,.23);
  background: rgba(18,61,44,.32);
}

.slots-scale-stat-current strong {
  color: #a6cbb8;
}

.slots-scale-divider {
  color: #8fb9a5;
  text-align: center;
}


/* ORIENTATION */

.slots-orientation {
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: #09110d;
}

.slots-orientation-head {
  margin-bottom: 32px;
}

.slots-orientation-head h3 {
  margin: 0;
  color: #ffffff;
  font-size: 30px;
}

.slots-orientation-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.slots-orientation-item {
  min-height: 215px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(255,255,255,.022);
}

.slots-orientation-item > span {
  display: block;
  margin-bottom: 35px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.slots-orientation-item h4 {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 17px;
}

.slots-orientation-item p {
  margin: 0;
  color: rgba(255,255,255,.47);
  font-size: 13px;
  line-height: 1.7;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .slots-section {
    padding: 80px 0;
  }

  .slots-main,
  .slots-scale {
    grid-template-columns: 1fr;
  }

  .slots-facts {
    grid-template-columns: 1fr;
  }

  .slots-orientation-grid {
    grid-template-columns: 1fr;
  }
}


@media (max-width: 650px) {

  .slots-heading h2 {
    font-size: 39px;
  }

  .slots-image-wrap,
  .slots-image-wrap img {
    min-height: 390px;
    height: 390px;
  }

  .slots-scale,
  .slots-orientation {
    padding: 28px 22px;
  }

  .slots-scale-stats {
    grid-template-columns: 1fr;
  }

  .slots-scale-divider {
    transform: rotate(90deg);
  }

  .slots-fact {
    flex-direction: column;
  }
}

/* ==================================================
   KLASSISCHES SPIEL
   ================================================== */

.tables-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 12%, rgba(24,83,59,.18), transparent 30%),
    radial-gradient(circle at 8% 82%, rgba(18,61,44,.12), transparent 30%),
    #080b09;
}

.tables-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.tables-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.tables-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(350px, .65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.tables-kicker,
.tables-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.tables-heading h2 {
  max-width: 800px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.tables-heading > p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 16px;
  line-height: 1.8;
}


/* MAIN LIVE BLOCK */

.tables-live {
  display: grid;
  grid-template-columns: minmax(330px, .7fr) minmax(0, 1.3fr);
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 32px;
  background: rgba(255,255,255,.02);
}

.tables-live-time {
  padding: 48px;
  border-right: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 30% 25%, rgba(40,116,88,.25), transparent 46%),
    #0a1710;
}

.tables-live-time > span {
  display: block;
  margin-bottom: 27px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tables-live-clock {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 30px;
}

.tables-live-clock strong {
  color: #ffffff;
  font-size: clamp(62px, 7vw, 92px);
  line-height: .85;
  font-weight: 800;
  letter-spacing: -.07em;
}

.tables-live-clock small {
  padding-bottom: 8px;
  color: #9bc7b1;
  font-size: 18px;
}

.tables-live-time p {
  max-width: 370px;
  margin: 0;
  color: rgba(255,255,255,.52);
  font-size: 14px;
  line-height: 1.75;
}

.tables-live-content {
  padding: 48px 52px;
}

.tables-live-content h3 {
  margin-bottom: 22px;
  color: #ffffff;
  font-size: clamp(30px, 3vw, 43px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.tables-live-content p {
  max-width: 760px;
  margin-bottom: 17px;
  color: rgba(255,255,255,.6);
  font-size: 15px;
  line-height: 1.82;
}

.tables-live-content p:last-child {
  margin-bottom: 0;
}


/* GAME CARDS */

.tables-games {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-bottom: 65px;
}

.tables-game-card {
  min-height: 330px;
  padding: 30px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(18,61,44,.14), rgba(255,255,255,.02));
}

.tables-game-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 58px;
}

.tables-game-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 18px;
}

.tables-game-top > span {
  color: rgba(255,255,255,.25);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.tables-game-label {
  display: block;
  margin-bottom: 10px;
  color: rgba(255,255,255,.42);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.tables-game-count {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 17px;
}

.tables-game-count strong {
  color: #a6cbb8;
  font-size: 45px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tables-game-count small {
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
}

.tables-game-content p {
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: 13px;
  line-height: 1.7;
}


/* SPECIAL POSITION */

.tables-special {
  display: grid;
  grid-template-columns: 72px minmax(0,1fr) 160px;
  gap: 28px;
  align-items: center;
  margin-bottom: 20px;
  padding: 42px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 29px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.42), rgba(255,255,255,.02));
}

.tables-special-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 19px;
  color: #a6cbb8;
  background: rgba(24,83,59,.58);
  font-size: 21px;
}

.tables-special-content > span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tables-special-content h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 27px;
  line-height: 1.2;
}

.tables-special-content p {
  max-width: 850px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.56);
  font-size: 14px;
  line-height: 1.75;
}

.tables-special-content p:last-child {
  margin-bottom: 0;
}

.tables-special-stat {
  padding-left: 30px;
  border-left: 1px solid rgba(143,185,165,.18);
  text-align: center;
}

.tables-special-stat strong {
  display: block;
  color: #a6cbb8;
  font-size: 58px;
  line-height: 1;
}

.tables-special-stat span {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.42);
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .1em;
  text-transform: uppercase;
}


/* EVENING */

.tables-evening {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.018);
}

.tables-evening-heading {
  max-width: 760px;
  margin-bottom: 35px;
}

.tables-evening-heading h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 31px;
}

.tables-evening-heading p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.75;
}

.tables-evening-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.tables-evening-item {
  display: flex;
  gap: 18px;
  min-height: 160px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(255,255,255,.022);
}

.tables-evening-item > i {
  flex: 0 0 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  border-radius: 12px;
  color: #9bc7b1;
  background: #123d2c;
}

.tables-evening-item span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tables-evening-item strong {
  display: block;
  margin-bottom: 7px;
  color: #ffffff;
  font-size: 16px;
}

.tables-evening-item p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  line-height: 1.6;
}


/* SUMMARY */

.tables-summary {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.tables-summary-item {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.tables-summary-item:last-child {
  border-right: 0;
}

.tables-summary-item span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.36);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tables-summary-item strong {
  display: block;
  color: #ffffff;
  font-size: 17px;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .tables-section {
    padding: 80px 0;
  }

  .tables-heading,
  .tables-live {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .tables-live-time {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .tables-games,
  .tables-evening-grid {
    grid-template-columns: 1fr;
  }

  .tables-special {
    grid-template-columns: 70px 1fr;
  }

  .tables-special-stat {
    display: none;
  }

  .tables-summary {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (max-width: 650px) {

  .tables-heading h2 {
    font-size: 39px;
  }

  .tables-live-time,
  .tables-live-content,
  .tables-special,
  .tables-evening {
    padding: 28px 22px;
  }

  .tables-live-clock strong {
    font-size: 65px;
  }

  .tables-special {
    grid-template-columns: 1fr;
  }

  .tables-summary {
    grid-template-columns: 1fr;
  }

  .tables-summary-item {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .tables-summary-item:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   KLASSISCHES SPIEL
   ================================================== */

.tables-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 12%, rgba(24,83,59,.18), transparent 30%),
    radial-gradient(circle at 8% 82%, rgba(18,61,44,.12), transparent 30%),
    #080b09;
}

.tables-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.tables-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.tables-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(350px, .65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.tables-kicker,
.tables-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.tables-heading h2 {
  max-width: 800px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.tables-heading > p {
  margin: 0;
  color: rgba(255,255,255,.62);
  font-size: 16px;
  line-height: 1.8;
}


/* MAIN LIVE BLOCK */

.tables-live {
  display: grid;
  grid-template-columns: minmax(330px, .7fr) minmax(0, 1.3fr);
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 32px;
  background: rgba(255,255,255,.02);
}

.tables-live-time {
  padding: 48px;
  border-right: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 30% 25%, rgba(40,116,88,.25), transparent 46%),
    #0a1710;
}

.tables-live-time > span {
  display: block;
  margin-bottom: 27px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tables-live-clock {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 30px;
}

.tables-live-clock strong {
  color: #ffffff;
  font-size: clamp(62px, 7vw, 92px);
  line-height: .85;
  font-weight: 800;
  letter-spacing: -.07em;
}

.tables-live-clock small {
  padding-bottom: 8px;
  color: #9bc7b1;
  font-size: 18px;
}

.tables-live-time p {
  max-width: 370px;
  margin: 0;
  color: rgba(255,255,255,.52);
  font-size: 14px;
  line-height: 1.75;
}

.tables-live-content {
  padding: 48px 52px;
}

.tables-live-content h3 {
  margin-bottom: 22px;
  color: #ffffff;
  font-size: clamp(30px, 3vw, 43px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.tables-live-content p {
  max-width: 760px;
  margin-bottom: 17px;
  color: rgba(255,255,255,.6);
  font-size: 15px;
  line-height: 1.82;
}

.tables-live-content p:last-child {
  margin-bottom: 0;
}


/* GAME CARDS */

.tables-games {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 15px;
  margin-bottom: 65px;
}

.tables-game-card {
  min-height: 330px;
  padding: 30px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(18,61,44,.14), rgba(255,255,255,.02));
}

.tables-game-top {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 58px;
}

.tables-game-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  border-radius: 15px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 18px;
}

.tables-game-top > span {
  color: rgba(255,255,255,.25);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.tables-game-label {
  display: block;
  margin-bottom: 10px;
  color: rgba(255,255,255,.42);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.tables-game-count {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 17px;
}

.tables-game-count strong {
  color: #a6cbb8;
  font-size: 45px;
  line-height: 1;
  letter-spacing: -.04em;
}

.tables-game-count small {
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
}

.tables-game-content p {
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: 13px;
  line-height: 1.7;
}


/* SPECIAL POSITION */

.tables-special {
  display: grid;
  grid-template-columns: 72px minmax(0,1fr) 160px;
  gap: 28px;
  align-items: center;
  margin-bottom: 20px;
  padding: 42px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 29px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.42), rgba(255,255,255,.02));
}

.tables-special-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 19px;
  color: #a6cbb8;
  background: rgba(24,83,59,.58);
  font-size: 21px;
}

.tables-special-content > span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tables-special-content h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 27px;
  line-height: 1.2;
}

.tables-special-content p {
  max-width: 850px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.56);
  font-size: 14px;
  line-height: 1.75;
}

.tables-special-content p:last-child {
  margin-bottom: 0;
}

.tables-special-stat {
  padding-left: 30px;
  border-left: 1px solid rgba(143,185,165,.18);
  text-align: center;
}

.tables-special-stat strong {
  display: block;
  color: #a6cbb8;
  font-size: 58px;
  line-height: 1;
}

.tables-special-stat span {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.42);
  font-size: 10px;
  line-height: 1.45;
  letter-spacing: .1em;
  text-transform: uppercase;
}


/* EVENING */

.tables-evening {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.018);
}

.tables-evening-heading {
  max-width: 760px;
  margin-bottom: 35px;
}

.tables-evening-heading h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 31px;
}

.tables-evening-heading p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.75;
}

.tables-evening-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.tables-evening-item {
  display: flex;
  gap: 18px;
  min-height: 160px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(255,255,255,.022);
}

.tables-evening-item > i {
  flex: 0 0 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  border-radius: 12px;
  color: #9bc7b1;
  background: #123d2c;
}

.tables-evening-item span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tables-evening-item strong {
  display: block;
  margin-bottom: 7px;
  color: #ffffff;
  font-size: 16px;
}

.tables-evening-item p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  line-height: 1.6;
}


/* SUMMARY */

.tables-summary {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.tables-summary-item {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.tables-summary-item:last-child {
  border-right: 0;
}

.tables-summary-item span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.36);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tables-summary-item strong {
  display: block;
  color: #ffffff;
  font-size: 17px;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .tables-section {
    padding: 80px 0;
  }

  .tables-heading,
  .tables-live {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .tables-live-time {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .tables-games,
  .tables-evening-grid {
    grid-template-columns: 1fr;
  }

  .tables-special {
    grid-template-columns: 70px 1fr;
  }

  .tables-special-stat {
    display: none;
  }

  .tables-summary {
    grid-template-columns: repeat(2, 1fr);
  }
}


@media (max-width: 650px) {

  .tables-heading h2 {
    font-size: 39px;
  }

  .tables-live-time,
  .tables-live-content,
  .tables-special,
  .tables-evening {
    padding: 28px 22px;
  }

  .tables-live-clock strong {
    font-size: 65px;
  }

  .tables-special {
    grid-template-columns: 1fr;
  }

  .tables-summary {
    grid-template-columns: 1fr;
  }

  .tables-summary-item {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .tables-summary-item:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   ROULETTE
   ================================================== */

.roulette-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #fff;
  background:
    radial-gradient(circle at 88% 14%, rgba(24,83,59,.17), transparent 29%),
    radial-gradient(circle at 7% 76%, rgba(18,61,44,.12), transparent 30%),
    #050806;
}

.roulette-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.roulette-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(330px, .65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.roulette-kicker,
.roulette-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.roulette-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.roulette-heading-copy p {
  margin: 0;
  color: rgba(255,255,255,.61);
  font-size: 16px;
  line-height: 1.8;
}


/* FEATURE */

.roulette-feature {
  display: grid;
  grid-template-columns: minmax(300px,.65fr) minmax(0,1.35fr);
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 32px;
  background: rgba(255,255,255,.022);
}

.roulette-feature-number {
  padding: 50px;
  border-right: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 35% 30%, rgba(40,116,88,.27), transparent 46%),
    #09160f;
}

.roulette-feature-number > span {
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.roulette-big-number {
  margin: 25px 0;
  color: #a6cbb8;
  font-size: 150px;
  line-height: .82;
  font-weight: 800;
  letter-spacing: -.09em;
}

.roulette-feature-number p {
  max-width: 320px;
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: 13px;
  line-height: 1.7;
}

.roulette-feature-content {
  padding: 50px 55px;
}

.roulette-feature-content h3 {
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(30px,3vw,43px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.roulette-feature-content p {
  margin-bottom: 17px;
  color: rgba(255,255,255,.59);
  font-size: 15px;
  line-height: 1.82;
}

.roulette-feature-content p:last-child {
  margin-bottom: 0;
}


/* EXPERIENCE */

.roulette-experience {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 65px;
}

.roulette-image {
  position: relative;
  overflow: hidden;
  min-height: 590px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 28px;
}

.roulette-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(3,12,8,.85),transparent 55%);
}

.roulette-image img {
  width: 100%;
  height: 590px;
  display: block;
  object-fit: cover;
}

.roulette-image-caption {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 27px;
}

.roulette-image-caption span {
  display: block;
  margin-bottom: 5px;
  color: #9bc7b1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.roulette-image-caption strong {
  color: #fff;
  font-size: 24px;
}

.roulette-first-visit {
  padding: 40px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 28px;
  background: rgba(255,255,255,.022);
}

.roulette-first-visit > h3 {
  margin-bottom: 30px;
  color: #fff;
  font-size: 30px;
}

.roulette-step {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 17px;
  padding: 19px 0;
  border-bottom: 1px solid rgba(255,255,255,.07);
}

.roulette-step:last-child {
  border-bottom: 0;
}

.roulette-step > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: #9bc7b1;
  background: #123d2c;
  font-size: 10px;
  font-weight: 800;
}

.roulette-step h4 {
  margin-bottom: 6px;
  color: #fff;
  font-size: 16px;
}

.roulette-step p {
  margin: 0;
  color: rgba(255,255,255,.48);
  font-size: 13px;
  line-height: 1.65;
}


/* BET PRINCIPLE */

.roulette-bets {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 29px;
  background:
    linear-gradient(135deg,rgba(18,61,44,.26),rgba(255,255,255,.018));
}

.roulette-bets-heading {
  max-width: 720px;
  margin-bottom: 34px;
}

.roulette-bets-heading h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: 32px;
}

.roulette-bets-heading p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.75;
}

.roulette-bets-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 13px;
}

.roulette-bet-card {
  min-height: 230px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px;
  background: rgba(4,16,11,.5);
}

.roulette-bet-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 35px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.roulette-bet-card > span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.roulette-bet-card h4 {
  margin-bottom: 10px;
  color: #fff;
  font-size: 19px;
}

.roulette-bet-card p {
  margin: 0;
  color: rgba(255,255,255,.48);
  font-size: 13px;
  line-height: 1.7;
}


/* PRACTICAL */

.roulette-practical {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.018);
}

.roulette-practical-head {
  margin-bottom: 32px;
}

.roulette-practical-head h3 {
  color: #fff;
  font-size: 30px;
}

.roulette-practical-grid {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 12px;
}

.roulette-practical-item {
  display: flex;
  gap: 18px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.02);
}

.roulette-practical-icon {
  flex: 0 0 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.roulette-practical-item span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.roulette-practical-item strong {
  display: block;
  margin-bottom: 7px;
  color: #fff;
  font-size: 16px;
}

.roulette-practical-item p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  line-height: 1.65;
}


/* SUMMARY */

.roulette-summary {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.roulette-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.roulette-summary > div:last-child {
  border-right: 0;
}

.roulette-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.36);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.roulette-summary strong {
  color: #fff;
  font-size: 17px;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .roulette-section {
    padding: 80px 0;
  }

  .roulette-heading,
  .roulette-feature,
  .roulette-experience {
    grid-template-columns: 1fr;
  }

  .roulette-feature-number {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .roulette-bets-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 650px) {

  .roulette-heading h2 {
    font-size: 39px;
  }

  .roulette-feature-number,
  .roulette-feature-content,
  .roulette-first-visit,
  .roulette-bets,
  .roulette-practical {
    padding: 28px 22px;
  }

  .roulette-big-number {
    font-size: 105px;
  }

  .roulette-image,
  .roulette-image img {
    min-height: 390px;
    height: 390px;
  }

  .roulette-practical-grid,
  .roulette-summary {
    grid-template-columns: 1fr;
  }

  .roulette-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .roulette-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   BLACKJACK
   ================================================== */

.blackjack-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 10% 15%, rgba(24,83,59,.17), transparent 30%),
    radial-gradient(circle at 90% 82%, rgba(18,61,44,.12), transparent 28%),
    #080b09;
}

.blackjack-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.blackjack-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.blackjack-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.blackjack-kicker,
.blackjack-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.blackjack-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px, 5vw, 68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.blackjack-heading > p {
  margin: 0;
  color: rgba(255,255,255,.61);
  font-size: 16px;
  line-height: 1.8;
}


/* MAIN */

.blackjack-main {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  gap: 58px;
  align-items: center;
  margin-bottom: 65px;
}


/* IMAGE */

.blackjack-image {
  position: relative;
  overflow: hidden;
  min-height: 600px;
  border: 1px solid rgba(143,185,165,.15);
  border-radius: 31px;
  background: #09130e;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
}

.blackjack-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgba(3,12,8,.84) 0%,
      rgba(3,12,8,.16) 52%,
      transparent 80%
    );
  pointer-events: none;
}

.blackjack-image img {
  width: 100%;
  height: 600px;
  display: block;
  object-fit: cover;
}

.blackjack-image-caption {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 28px;
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 17px;
  background: rgba(5,22,15,.84);
  backdrop-filter: blur(15px);
}

.blackjack-image-caption span {
  display: block;
  margin-bottom: 5px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.blackjack-image-caption strong {
  color: #ffffff;
  font-size: 23px;
}


/* MAIN CONTENT */

.blackjack-content h3 {
  margin-bottom: 22px;
  color: #ffffff;
  font-size: clamp(31px, 3vw, 44px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.blackjack-content > p {
  margin-bottom: 17px;
  color: rgba(255,255,255,.6);
  font-size: 15px;
  line-height: 1.82;
}

.blackjack-highlight {
  display: flex;
  gap: 18px;
  margin-top: 28px;
  padding: 23px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(18,61,44,.34), rgba(255,255,255,.02));
}

.blackjack-highlight-icon {
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: #a6cbb8;
  background: #123d2c;
}

.blackjack-highlight span {
  display: block;
  margin-bottom: 6px;
  color: #9bc7b1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.blackjack-highlight p {
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 13px;
  line-height: 1.65;
}


/* ROUND */

.blackjack-round {
  margin-bottom: 20px;
  padding: 47px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 29px;
  background:
    radial-gradient(circle at 90% 20%, rgba(24,83,59,.17), transparent 35%),
    rgba(255,255,255,.018);
}

.blackjack-round-head {
  max-width: 760px;
  margin-bottom: 35px;
}

.blackjack-round-head h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 32px;
}

.blackjack-round-head p {
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 14px;
  line-height: 1.75;
}

.blackjack-round-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
}

.blackjack-step {
  min-height: 220px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(4,16,11,.48);
}

.blackjack-step > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 39px;
  height: 39px;
  margin-bottom: 34px;
  border-radius: 11px;
  color: #9bc7b1;
  background: #123d2c;
  font-size: 10px;
  font-weight: 800;
}

.blackjack-step h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 16px;
}

.blackjack-step p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  line-height: 1.65;
}


/* BEGINNER */

.blackjack-beginner {
  margin-bottom: 20px;
  padding: 47px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 29px;
  background:
    linear-gradient(135deg, rgba(18,61,44,.25), rgba(255,255,255,.015));
}

.blackjack-beginner-intro {
  max-width: 760px;
  margin-bottom: 34px;
}

.blackjack-beginner-intro h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 32px;
}

.blackjack-beginner-intro p {
  margin: 0;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.75;
}

.blackjack-beginner-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 13px;
}

.blackjack-beginner-card {
  min-height: 245px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px;
  background: rgba(4,16,11,.5);
}

.blackjack-beginner-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  margin-bottom: 31px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.blackjack-beginner-card > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.blackjack-beginner-card h4 {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 18px;
}

.blackjack-beginner-card p {
  margin: 0;
  color: rgba(255,255,255,.47);
  font-size: 13px;
  line-height: 1.68;
}


/* VALUES */

.blackjack-values {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 50px;
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.018);
}

.blackjack-values-copy h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 30px;
}

.blackjack-values-copy p {
  margin: 0;
  color: rgba(255,255,255,.52);
  font-size: 14px;
  line-height: 1.75;
}

.blackjack-values-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 9px;
}

.blackjack-value {
  padding: 22px 18px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 18px;
  background: rgba(255,255,255,.022);
}

.blackjack-value > span {
  display: block;
  margin-bottom: 25px;
  color: #a6cbb8;
  font-size: 26px;
  font-weight: 800;
}

.blackjack-value strong {
  display: block;
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 14px;
}

.blackjack-value p {
  margin: 0;
  color: rgba(255,255,255,.42);
  font-size: 11px;
  line-height: 1.6;
}

.blackjack-value-ace {
  border-color: rgba(143,185,165,.2);
  background: rgba(18,61,44,.27);
}


/* PRACTICAL */

.blackjack-practical {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: #09110d;
}

.blackjack-practical-head {
  margin-bottom: 32px;
}

.blackjack-practical-head h3 {
  color: #ffffff;
  font-size: 30px;
}

.blackjack-practical-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}

.blackjack-practical-item {
  min-height: 190px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.022);
}

.blackjack-practical-item > i {
  margin-bottom: 27px;
  color: #9bc7b1;
  font-size: 20px;
}

.blackjack-practical-item span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.34);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.blackjack-practical-item strong {
  display: block;
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 16px;
}

.blackjack-practical-item p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.63;
}


/* SUMMARY */

.blackjack-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.blackjack-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.blackjack-summary > div:last-child {
  border-right: 0;
}

.blackjack-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.blackjack-summary strong {
  color: #ffffff;
  font-size: 17px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

  .blackjack-round-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .blackjack-practical-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .blackjack-values {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 991px) {

  .blackjack-section {
    padding: 80px 0;
  }

  .blackjack-heading,
  .blackjack-main {
    grid-template-columns: 1fr;
  }

  .blackjack-beginner-grid {
    grid-template-columns: 1fr;
  }

  .blackjack-values-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 650px) {

  .blackjack-heading h2 {
    font-size: 39px;
  }

  .blackjack-image,
  .blackjack-image img {
    min-height: 390px;
    height: 390px;
  }

  .blackjack-round,
  .blackjack-beginner,
  .blackjack-values,
  .blackjack-practical {
    padding: 28px 22px;
  }

  .blackjack-round-grid,
  .blackjack-practical-grid,
  .blackjack-values-grid,
  .blackjack-summary {
    grid-template-columns: 1fr;
  }

  .blackjack-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .blackjack-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   POKER
   ================================================== */

.poker-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 10%, rgba(24,83,59,.18), transparent 29%),
    radial-gradient(circle at 6% 80%, rgba(18,61,44,.13), transparent 30%),
    #050806;
}

.poker-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.poker-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.poker-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(340px,.65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.poker-kicker,
.poker-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.poker-heading h2 {
  max-width: 800px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.poker-heading > p {
  margin: 0;
  color: rgba(255,255,255,.61);
  font-size: 16px;
  line-height: 1.8;
}


/* TWO FORMATS */

.poker-formats {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 17px;
  margin-bottom: 20px;
}

.poker-format {
  position: relative;
  overflow: hidden;
  min-height: 530px;
  padding: 42px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 29px;
  background: rgba(255,255,255,.022);
}

.poker-format-cash {
  background:
    radial-gradient(circle at 10% 8%, rgba(24,83,59,.19), transparent 35%),
    rgba(255,255,255,.02);
}

.poker-format-tournament {
  border-color: rgba(143,185,165,.2);
  background:
    radial-gradient(circle at 90% 8%, rgba(40,116,88,.24), transparent 37%),
    linear-gradient(145deg, rgba(18,61,44,.19), rgba(255,255,255,.02));
}

.poker-format-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 63px;
}

.poker-format-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 57px;
  height: 57px;
  border-radius: 17px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 20px;
}

.poker-format-top > span {
  color: rgba(255,255,255,.27);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.poker-format-number {
  display: flex;
  align-items: baseline;
  gap: 11px;
  margin-bottom: 22px;
}

.poker-format-number strong {
  color: #a6cbb8;
  font-size: 63px;
  line-height: .9;
  letter-spacing: -.055em;
}

.poker-format-number small {
  color: rgba(255,255,255,.48);
  font-size: 16px;
}

.poker-format-content h3 {
  margin-bottom: 18px;
  color: #ffffff;
  font-size: 30px;
  line-height: 1.15;
}

.poker-format-content p {
  margin-bottom: 15px;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.78;
}

.poker-format-content p:last-child {
  margin-bottom: 0;
}


/* SIGNATURE */

.poker-signature {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 45px;
  align-items: center;
  margin-bottom: 60px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.17);
  border-radius: 29px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.4), rgba(255,255,255,.018));
}

.poker-signature-number {
  padding-right: 40px;
  border-right: 1px solid rgba(143,185,165,.18);
}

.poker-signature-number > span {
  display: block;
  margin-bottom: 13px;
  color: rgba(255,255,255,.38);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.poker-signature-number strong {
  display: block;
  color: #a6cbb8;
  font-size: 62px;
  line-height: .95;
  letter-spacing: -.06em;
}

.poker-signature-number small {
  display: block;
  margin-top: 9px;
  color: rgba(255,255,255,.43);
  font-size: 11px;
}

.poker-signature-copy h3 {
  margin-bottom: 15px;
  color: #ffffff;
  font-size: 29px;
}

.poker-signature-copy p {
  max-width: 850px;
  margin-bottom: 13px;
  color: rgba(255,255,255,.56);
  font-size: 14px;
  line-height: 1.75;
}

.poker-signature-copy p:last-child {
  margin-bottom: 0;
}


/* COMPARISON */

.poker-comparison {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 29px;
  background: rgba(255,255,255,.018);
}

.poker-comparison-heading {
  max-width: 720px;
  margin-bottom: 34px;
}

.poker-comparison-heading h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 31px;
}

.poker-comparison-heading p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 14px;
  line-height: 1.75;
}

.poker-comparison-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.poker-comparison-card {
  min-height: 275px;
  padding: 29px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 21px;
  background: rgba(4,16,11,.48);
}

.poker-comparison-card-featured {
  border-color: rgba(143,185,165,.17);
  background: rgba(18,61,44,.27);
}

.poker-comparison-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 32px;
  color: #9bc7b1;
}

.poker-comparison-head i {
  font-size: 18px;
}

.poker-comparison-head span {
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.poker-comparison-card h4 {
  margin-bottom: 11px;
  color: #ffffff;
  font-size: 20px;
}

.poker-comparison-card > p {
  margin-bottom: 25px;
  color: rgba(255,255,255,.49);
  font-size: 13px;
  line-height: 1.7;
}

.poker-comparison-fact {
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.07);
}

.poker-comparison-fact span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.34);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.poker-comparison-fact strong {
  color: #a6cbb8;
  font-size: 18px;
}


/* EVENTS */

.poker-events {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 29px;
  background:
    radial-gradient(circle at 88% 15%, rgba(24,83,59,.16), transparent 35%),
    #09110d;
}

.poker-events-intro {
  max-width: 760px;
  margin-bottom: 34px;
}

.poker-events-intro h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 31px;
}

.poker-events-intro p {
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 14px;
  line-height: 1.75;
}

.poker-events-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 13px;
}

.poker-event-item {
  min-height: 225px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(255,255,255,.02);
}

.poker-event-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  margin-bottom: 29px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.poker-event-item span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.poker-event-item h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 17px;
}

.poker-event-item p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.67;
}


/* CLUB BOLD */

.poker-bold {
  display: grid;
  grid-template-columns: 70px 1fr;
  gap: 27px;
  margin-bottom: 20px;
  padding: 42px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 28px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.43), rgba(4,16,11,.6));
}

.poker-bold-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
  height: 65px;
  border-radius: 19px;
  color: #a6cbb8;
  background: rgba(24,83,59,.58);
  font-size: 20px;
}

.poker-bold-copy > span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.poker-bold-copy h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 27px;
}

.poker-bold-copy p {
  max-width: 900px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.75;
}

.poker-bold-copy p:last-child {
  margin-bottom: 0;
}


/* FIRST VISIT */

.poker-first-visit {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: rgba(255,255,255,.018);
}

.poker-first-heading {
  margin-bottom: 31px;
}

.poker-first-heading h3 {
  color: #ffffff;
  font-size: 30px;
}

.poker-first-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 11px;
}

.poker-first-item {
  min-height: 215px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.02);
}

.poker-first-item > span {
  display: block;
  margin-bottom: 34px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.poker-first-item h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 16px;
}

.poker-first-item p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.66;
}


/* SUMMARY */

.poker-summary {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.poker-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.poker-summary > div:last-child {
  border-right: 0;
}

.poker-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.poker-summary strong {
  color: #ffffff;
  font-size: 17px;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .poker-section {
    padding: 80px 0;
  }

  .poker-heading,
  .poker-formats,
  .poker-signature {
    grid-template-columns: 1fr;
  }

  .poker-signature-number {
    padding-right: 0;
    padding-bottom: 30px;
    border-right: 0;
    border-bottom: 1px solid rgba(143,185,165,.18);
  }

  .poker-events-grid {
    grid-template-columns: 1fr;
  }

  .poker-first-grid {
    grid-template-columns: repeat(2,1fr);
  }
}


@media (max-width: 650px) {

  .poker-heading h2 {
    font-size: 39px;
  }

  .poker-format,
  .poker-signature,
  .poker-comparison,
  .poker-events,
  .poker-bold,
  .poker-first-visit {
    padding: 28px 22px;
  }

  .poker-comparison-grid,
  .poker-first-grid,
  .poker-summary {
    grid-template-columns: 1fr;
  }

  .poker-bold {
    grid-template-columns: 1fr;
  }

  .poker-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .poker-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   POKERTURNIERE
   ================================================== */

.tournaments-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 90% 12%, rgba(24,83,59,.18), transparent 30%),
    radial-gradient(circle at 8% 85%, rgba(18,61,44,.12), transparent 29%),
    #080b09;
}

.tournaments-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.tournaments-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.tournaments-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(340px,.65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.tournaments-kicker,
.tournaments-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.tournaments-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.tournaments-heading > p {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: 16px;
  line-height: 1.8;
}


/* MAIN */

.tournaments-main {
  display: grid;
  grid-template-columns: minmax(310px,.65fr) minmax(0,1.35fr);
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 31px;
  background: rgba(255,255,255,.02);
}

.tournaments-capacity {
  padding: 48px;
  border-right: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 35% 25%,rgba(40,116,88,.26),transparent 45%),
    #09160f;
}

.tournaments-capacity > span {
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.tournaments-capacity-number {
  margin: 30px 0;
}

.tournaments-capacity-number small {
  display: block;
  margin-bottom: 3px;
  color: rgba(255,255,255,.38);
  font-size: 12px;
}

.tournaments-capacity-number strong {
  display: block;
  color: #a6cbb8;
  font-size: 105px;
  line-height: .85;
  letter-spacing: -.07em;
}

.tournaments-capacity-number span {
  display: block;
  margin-top: 12px;
  color: #ffffff;
  font-size: 20px;
  font-weight: 700;
}

.tournaments-capacity p {
  margin: 0;
  color: rgba(255,255,255,.49);
  font-size: 13px;
  line-height: 1.7;
}

.tournaments-main-content {
  padding: 48px 52px;
}

.tournaments-main-content h3 {
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(30px,3vw,43px);
  line-height: 1.1;
}

.tournaments-main-content p {
  margin-bottom: 16px;
  color: rgba(255,255,255,.58);
  font-size: 14px;
  line-height: 1.8;
}


/* REGISTRATION */

.tournaments-registration {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 29px;
  background:
    linear-gradient(135deg,rgba(18,61,44,.25),rgba(255,255,255,.018));
}

.tournaments-registration-head {
  max-width: 760px;
  margin-bottom: 34px;
}

.tournaments-registration-head h3,
.tournaments-details-head h3,
.tournaments-checklist-head h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: 31px;
}

.tournaments-registration-head p,
.tournaments-details-head p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 14px;
  line-height: 1.75;
}

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

.tournaments-registration-card {
  min-height: 245px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 21px;
  background: rgba(4,16,11,.5);
}

.tournaments-registration-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 31px;
  border-radius: 14px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 18px;
}

.tournaments-registration-card > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.tournaments-registration-card strong {
  display: block;
  margin-bottom: 11px;
  color: #fff;
  font-size: 19px;
}

.tournaments-registration-card p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 13px;
  line-height: 1.68;
}


/* DEADLINE */

.tournaments-deadline {
  display: grid;
  grid-template-columns: 330px 1fr;
  gap: 45px;
  align-items: center;
  margin-bottom: 20px;
  padding: 42px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 29px;
  background:
    linear-gradient(120deg,rgba(18,61,44,.42),rgba(255,255,255,.02));
}

.tournaments-deadline-time {
  padding-right: 40px;
  border-right: 1px solid rgba(143,185,165,.18);
}

.tournaments-deadline-time > span {
  display: block;
  margin-bottom: 12px;
  color: rgba(255,255,255,.4);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.tournaments-deadline-time strong {
  color: #a6cbb8;
  font-size: 70px;
  line-height: 1;
  letter-spacing: -.06em;
}

.tournaments-deadline-time small {
  margin-left: 7px;
  color: #fff;
  font-size: 17px;
}

.tournaments-deadline-copy h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: 27px;
}

.tournaments-deadline-copy p {
  margin-bottom: 11px;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.73;
}


/* DETAILS */

.tournaments-details {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 29px;
  background: rgba(255,255,255,.018);
}

.tournaments-details-head {
  max-width: 780px;
  margin-bottom: 34px;
}

.tournaments-details-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
}

.tournaments-detail-item {
  min-height: 240px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(255,255,255,.02);
}

.tournaments-detail-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  margin-bottom: 30px;
  border-radius: 13px;
  color: #9bc7b1;
  background: #123d2c;
}

.tournaments-detail-item > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.tournaments-detail-item h4 {
  margin-bottom: 9px;
  color: #fff;
  font-size: 17px;
}

.tournaments-detail-item p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.67;
}


/* VENUE */

.tournaments-venue {
  display: grid;
  grid-template-columns: 70px 1fr 150px;
  gap: 28px;
  align-items: center;
  margin-bottom: 20px;
  padding: 42px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 28px;
  background:
    linear-gradient(120deg,rgba(18,61,44,.43),rgba(4,16,11,.58));
}

.tournaments-venue-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 65px;
  height: 65px;
  border-radius: 19px;
  color: #a6cbb8;
  background: rgba(24,83,59,.58);
}

.tournaments-venue-content > span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.tournaments-venue-content h3 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 27px;
}

.tournaments-venue-content p {
  margin-bottom: 11px;
  color: rgba(255,255,255,.54);
  font-size: 14px;
  line-height: 1.73;
}

.tournaments-venue-stat {
  padding-left: 28px;
  border-left: 1px solid rgba(143,185,165,.18);
  text-align: center;
}

.tournaments-venue-stat strong {
  display: block;
  color: #a6cbb8;
  font-size: 54px;
}

.tournaments-venue-stat span {
  color: rgba(255,255,255,.38);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}


/* CHECKLIST */

.tournaments-checklist {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: #09110d;
}

.tournaments-checklist-head {
  margin-bottom: 31px;
}

.tournaments-checklist-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 11px;
}

.tournaments-check-item {
  min-height: 205px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.02);
}

.tournaments-check-item > span {
  display: block;
  margin-bottom: 32px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
}

.tournaments-check-item h4 {
  margin-bottom: 9px;
  color: #fff;
  font-size: 16px;
}

.tournaments-check-item p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.65;
}


/* SUMMARY */

.tournaments-summary {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.tournaments-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.tournaments-summary > div:last-child {
  border-right: 0;
}

.tournaments-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.tournaments-summary strong {
  color: #fff;
  font-size: 16px;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .tournaments-section {
    padding: 80px 0;
  }

  .tournaments-heading,
  .tournaments-main,
  .tournaments-deadline {
    grid-template-columns: 1fr;
  }

  .tournaments-capacity {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .tournaments-registration-grid,
  .tournaments-details-grid {
    grid-template-columns: 1fr;
  }

  .tournaments-deadline-time {
    padding-right: 0;
    padding-bottom: 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(143,185,165,.18);
  }

  .tournaments-checklist-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .tournaments-venue {
    grid-template-columns: 70px 1fr;
  }

  .tournaments-venue-stat {
    display: none;
  }
}


@media (max-width: 650px) {

  .tournaments-heading h2 {
    font-size: 39px;
  }

  .tournaments-capacity,
  .tournaments-main-content,
  .tournaments-registration,
  .tournaments-deadline,
  .tournaments-details,
  .tournaments-venue,
  .tournaments-checklist {
    padding: 28px 22px;
  }

  .tournaments-capacity-number strong {
    font-size: 82px;
  }

  .tournaments-venue,
  .tournaments-checklist-grid,
  .tournaments-summary {
    grid-template-columns: 1fr;
  }

  .tournaments-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .tournaments-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   CLUB BOLD & OPENING HOURS
   ================================================== */

.events-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 10% 12%, rgba(24,83,59,.17), transparent 30%),
    radial-gradient(circle at 90% 80%, rgba(18,61,44,.13), transparent 29%),
    #050806;
}

.events-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.events-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.events-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(340px,.65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.events-kicker,
.events-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.events-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.events-heading > p {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: 16px;
  line-height: 1.8;
}


/* CLUB BOLD */

.events-bold {
  margin-bottom: 20px;
  padding: 48px;
  border: 1px solid rgba(143,185,165,.16);
  border-radius: 31px;
  background:
    radial-gradient(circle at 10% 20%, rgba(40,116,88,.22), transparent 34%),
    linear-gradient(135deg, rgba(18,61,44,.23), rgba(255,255,255,.018));
}

.events-bold-intro {
  display: grid;
  grid-template-columns: 230px 1fr;
  gap: 50px;
  align-items: center;
  margin-bottom: 42px;
}

.events-bold-mark {
  padding-right: 42px;
  border-right: 1px solid rgba(143,185,165,.18);
}

.events-bold-mark span {
  display: block;
  margin-bottom: 3px;
  color: rgba(255,255,255,.4);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.events-bold-mark strong {
  display: block;
  color: #a6cbb8;
  font-size: 62px;
  line-height: .95;
  letter-spacing: -.06em;
}

.events-bold-copy h3 {
  margin-bottom: 18px;
  color: #ffffff;
  font-size: clamp(30px,3vw,43px);
  line-height: 1.1;
}

.events-bold-copy p {
  margin-bottom: 14px;
  color: rgba(255,255,255,.56);
  font-size: 14px;
  line-height: 1.78;
}

.events-bold-copy p:last-child {
  margin-bottom: 0;
}


/* BOLD CARDS */

.events-bold-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
}

.events-bold-card {
  min-height: 230px;
  padding: 26px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(4,16,11,.47);
}

.events-bold-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  margin-bottom: 30px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.events-bold-card > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.events-bold-card h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 18px;
}

.events-bold-card p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.67;
}


/* HOURS */

.events-hours {
  margin-bottom: 20px;
  padding: 48px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 30px;
  background: rgba(255,255,255,.018);
}

.events-hours-intro {
  max-width: 780px;
  margin-bottom: 36px;
}

.events-hours-intro h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 32px;
}

.events-hours-intro p {
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 14px;
  line-height: 1.75;
}

.events-hours-layout {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 13px;
}

.events-hours-card {
  min-height: 285px;
  padding: 29px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 22px;
  background: rgba(4,16,11,.48);
}

.events-hours-card-featured {
  border-color: rgba(143,185,165,.18);
  background: rgba(18,61,44,.23);
}

.events-hours-card-live {
  border-color: rgba(143,185,165,.24);
  background:
    radial-gradient(circle at 85% 15%, rgba(40,116,88,.22), transparent 42%),
    rgba(18,61,44,.27);
}

.events-hours-card-top {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 35px;
  color: #9bc7b1;
}

.events-hours-card-top i {
  font-size: 17px;
}

.events-hours-card-top span {
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.events-hours-card h4 {
  margin-bottom: 18px;
  color: #ffffff;
  font-size: 19px;
}

.events-hours-time {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 20px;
}

.events-hours-time strong {
  color: #a6cbb8;
  font-size: 31px;
  line-height: 1;
}

.events-hours-time > span {
  color: rgba(255,255,255,.34);
  font-size: 11px;
  text-transform: uppercase;
}

.events-hours-time-single small {
  color: rgba(255,255,255,.4);
  font-size: 11px;
  text-transform: uppercase;
}

.events-hours-card p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 12px;
  line-height: 1.65;
}


/* TIMELINE */

.events-timeline {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 29px;
  background: #09110d;
}

.events-timeline-heading {
  margin-bottom: 37px;
}

.events-timeline-heading h3 {
  color: #ffffff;
  font-size: 30px;
}

.events-timeline-track {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 0;
}

.events-timeline-item {
  position: relative;
  padding-right: 25px;
}

.events-timeline-item::after {
  content: "";
  position: absolute;
  top: 55px;
  left: 13px;
  right: 0;
  height: 1px;
  background: rgba(143,185,165,.2);
}

.events-timeline-item:last-child::after {
  display: none;
}

.events-timeline-time {
  margin-bottom: 22px;
  color: #ffffff;
  font-size: 21px;
  font-weight: 700;
}

.events-timeline-point {
  position: relative;
  z-index: 2;
  width: 13px;
  height: 13px;
  margin-bottom: 24px;
  border: 3px solid #09110d;
  border-radius: 50%;
  background: #8fb9a5;
  box-shadow: 0 0 0 1px rgba(143,185,165,.35);
}

.events-timeline-item-highlight .events-timeline-point {
  background: #a6cbb8;
  box-shadow:
    0 0 0 1px rgba(143,185,165,.45),
    0 0 24px rgba(40,116,88,.45);
}

.events-timeline-content span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.events-timeline-content h4 {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 16px;
}

.events-timeline-content p {
  max-width: 225px;
  margin: 0;
  color: rgba(255,255,255,.43);
  font-size: 12px;
  line-height: 1.62;
}


/* VISITOR NOTE */

.events-note {
  display: grid;
  grid-template-columns: 65px 1fr;
  gap: 25px;
  align-items: center;
  margin-bottom: 20px;
  padding: 37px 41px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 27px;
  background:
    linear-gradient(120deg,rgba(18,61,44,.4),rgba(255,255,255,.018));
}

.events-note-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 18px;
  color: #a6cbb8;
  background: rgba(24,83,59,.58);
  font-size: 19px;
}

.events-note-content > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.events-note-content h3 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 23px;
}

.events-note-content p {
  max-width: 900px;
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 13px;
  line-height: 1.72;
}


/* SUMMARY */

.events-summary {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.events-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.events-summary > div:last-child {
  border-right: 0;
}

.events-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.34);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.events-summary strong {
  color: #ffffff;
  font-size: 16px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

  .events-bold-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .events-summary {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 991px) {

  .events-section {
    padding: 80px 0;
  }

  .events-heading,
  .events-bold-intro {
    grid-template-columns: 1fr;
  }

  .events-bold-mark {
    padding-right: 0;
    padding-bottom: 27px;
    border-right: 0;
    border-bottom: 1px solid rgba(143,185,165,.18);
  }

  .events-hours-layout {
    grid-template-columns: 1fr;
  }

  .events-timeline-track {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .events-timeline-item {
    display: grid;
    grid-template-columns: 80px 18px 1fr;
    gap: 16px;
    padding: 0;
  }

  .events-timeline-item::after {
    top: 12px;
    bottom: -25px;
    left: 89px;
    right: auto;
    width: 1px;
    height: auto;
  }

  .events-timeline-time,
  .events-timeline-point {
    margin: 0;
  }
}

@media (max-width: 650px) {

  .events-heading h2 {
    font-size: 39px;
  }

  .events-bold,
  .events-hours,
  .events-timeline,
  .events-note {
    padding: 28px 22px;
  }

  .events-bold-grid,
  .events-summary {
    grid-template-columns: 1fr;
  }

  .events-note {
    grid-template-columns: 1fr;
  }

  .events-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .events-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   EINLASS / OASIS / DRESSCODE
   ================================================== */

.entry-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 90% 10%, rgba(24,83,59,.17), transparent 30%),
    radial-gradient(circle at 7% 82%, rgba(18,61,44,.12), transparent 29%),
    #080b09;
}

.entry-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.entry-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.entry-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(350px,.65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.entry-kicker,
.entry-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.entry-heading h2 {
  max-width: 830px;
  margin: 0;
  color: #fff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.entry-heading > p {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: 16px;
  line-height: 1.8;
}


/* ESSENTIALS */

.entry-essentials {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  margin-bottom: 20px;
}

.entry-essential-card {
  min-height: 280px;
  padding: 30px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: rgba(255,255,255,.022);
}

.entry-essential-featured {
  border-color: rgba(143,185,165,.2);
  background:
    linear-gradient(145deg, rgba(18,61,44,.32), rgba(255,255,255,.02));
}

.entry-essential-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 53px;
  height: 53px;
  margin-bottom: 34px;
  border-radius: 15px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 19px;
}

.entry-essential-card > span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.entry-essential-card strong {
  display: block;
  margin-bottom: 12px;
  color: #fff;
  font-size: 20px;
  line-height: 1.3;
}

.entry-essential-card p {
  margin: 0;
  color: rgba(255,255,255,.48);
  font-size: 13px;
  line-height: 1.7;
}


/* PROCESS */

.entry-process {
  margin-bottom: 20px;
  padding: 47px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 29px;
  background: #09110d;
}

.entry-process-intro {
  max-width: 750px;
  margin-bottom: 35px;
}

.entry-process-intro h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: 31px;
}

.entry-process-intro p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 14px;
  line-height: 1.75;
}

.entry-process-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 11px;
}

.entry-process-step {
  min-height: 245px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.02);
}

.entry-process-step > span {
  display: block;
  margin-bottom: 25px;
  color: rgba(255,255,255,.28);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.entry-process-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 25px;
  border-radius: 13px;
  color: #9bc7b1;
  background: #123d2c;
}

.entry-process-step h4 {
  margin-bottom: 9px;
  color: #fff;
  font-size: 16px;
}

.entry-process-step p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.65;
}


/* OASIS */

.entry-oasis {
  display: grid;
  grid-template-columns: 290px 1fr;
  gap: 47px;
  align-items: center;
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 29px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.42), rgba(255,255,255,.018));
}

.entry-oasis-stat {
  padding-right: 42px;
  border-right: 1px solid rgba(143,185,165,.18);
}

.entry-oasis-stat > span {
  display: block;
  margin-bottom: 12px;
  color: rgba(255,255,255,.37);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.entry-oasis-stat strong {
  display: block;
  color: #a6cbb8;
  font-size: 58px;
  line-height: 1;
  letter-spacing: -.05em;
}

.entry-oasis-stat small {
  display: block;
  margin-top: 9px;
  color: rgba(255,255,255,.43);
  font-size: 11px;
}

.entry-oasis-content h3 {
  margin-bottom: 15px;
  color: #fff;
  font-size: 29px;
}

.entry-oasis-content p {
  margin-bottom: 13px;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.75;
}


/* NOVOVISION */

.entry-system {
  display: grid;
  grid-template-columns: 68px 1fr;
  gap: 27px;
  align-items: center;
  margin-bottom: 60px;
  padding: 39px 42px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 27px;
  background: rgba(255,255,255,.018);
}

.entry-system-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  border-radius: 18px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 20px;
}

.entry-system-copy > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.entry-system-copy h3 {
  margin-bottom: 10px;
  color: #fff;
  font-size: 23px;
}

.entry-system-copy p {
  max-width: 900px;
  margin-bottom: 10px;
  color: rgba(255,255,255,.51);
  font-size: 13px;
  line-height: 1.7;
}


/* DRESSCODE */

.entry-dresscode {
  margin-bottom: 20px;
  padding: 48px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 30px;
  background:
    radial-gradient(circle at 90% 12%, rgba(24,83,59,.17), transparent 34%),
    rgba(255,255,255,.018);
}

.entry-dresscode-heading {
  max-width: 790px;
  margin-bottom: 36px;
}

.entry-dresscode-heading h3 {
  margin-bottom: 14px;
  color: #fff;
  font-size: 33px;
}

.entry-dresscode-heading p {
  margin: 0;
  color: rgba(255,255,255,.54);
  font-size: 14px;
  line-height: 1.76;
}


/* YES / NO */

.entry-dresscode-top {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
  margin-bottom: 35px;
}

.entry-dresscode-card {
  padding: 28px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 21px;
  background: rgba(4,16,11,.48);
}

.entry-dresscode-yes {
  border-color: rgba(143,185,165,.18);
  background: rgba(18,61,44,.24);
}

.entry-dresscode-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 27px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.entry-dresscode-card > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.entry-dresscode-card h4 {
  margin-bottom: 9px;
  color: #fff;
  font-size: 19px;
}

.entry-dresscode-card p {
  margin: 0;
  color: rgba(255,255,255,.46);
  font-size: 13px;
  line-height: 1.67;
}


/* NOT ALLOWED */

.entry-not-allowed {
  margin-bottom: 34px;
}

.entry-not-allowed-head {
  margin-bottom: 24px;
}

.entry-not-allowed-head h3 {
  color: #fff;
  font-size: 25px;
}

.entry-not-allowed-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 10px;
}

.entry-not-allowed-item {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 86px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 17px;
  background: rgba(255,255,255,.018);
}

.entry-not-allowed-item i {
  flex: 0 0 38px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border-radius: 11px;
  color: #9bc7b1;
  background: #123d2c;
}

.entry-not-allowed-item span {
  color: rgba(255,255,255,.63);
  font-size: 12px;
  line-height: 1.45;
}


/* MEN */

.entry-men {
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 22px;
  align-items: center;
  margin-bottom: 20px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 20px;
  background: rgba(4,16,11,.45);
}

.entry-men-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 55px;
  height: 55px;
  border-radius: 16px;
  color: #a6cbb8;
  background: #123d2c;
}

.entry-men-copy > span {
  display: block;
  margin-bottom: 5px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.entry-men-copy h3 {
  margin-bottom: 8px;
  color: #fff;
  font-size: 19px;
}

.entry-men-copy p {
  margin: 0;
  color: rgba(255,255,255,.48);
  font-size: 13px;
  line-height: 1.68;
}


/* BAGS */

.entry-bags {
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 35px;
  align-items: center;
  padding: 31px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 22px;
  background: #09110d;
}

.entry-bags-content h3 {
  margin-bottom: 11px;
  color: #fff;
  font-size: 22px;
}

.entry-bags-content p {
  margin-bottom: 10px;
  color: rgba(255,255,255,.49);
  font-size: 13px;
  line-height: 1.68;
}

.entry-bags-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 9px;
}

.entry-bags-grid > div {
  min-height: 115px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 16px;
  background: rgba(255,255,255,.02);
}

.entry-bags-grid i {
  display: block;
  margin-bottom: 22px;
  color: #9bc7b1;
  font-size: 19px;
}

.entry-bags-grid span {
  color: #fff;
  font-size: 12px;
  font-weight: 600;
}


/* FIRST VISIT */

.entry-first-visit {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: #09110d;
}

.entry-first-visit-head {
  margin-bottom: 31px;
}

.entry-first-visit-head h3 {
  color: #fff;
  font-size: 30px;
}

.entry-first-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 11px;
}

.entry-first-item {
  min-height: 205px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.02);
}

.entry-first-item > span {
  display: block;
  margin-bottom: 32px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
}

.entry-first-item h4 {
  margin-bottom: 9px;
  color: #fff;
  font-size: 16px;
}

.entry-first-item p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.65;
}


/* SUMMARY */

.entry-summary {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.entry-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.entry-summary > div:last-child {
  border-right: 0;
}

.entry-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.34);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.entry-summary strong {
  color: #fff;
  font-size: 16px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

  .entry-not-allowed-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .entry-summary {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 991px) {

  .entry-section {
    padding: 80px 0;
  }

  .entry-heading,
  .entry-oasis,
  .entry-bags {
    grid-template-columns: 1fr;
  }

  .entry-essentials,
  .entry-process-grid,
  .entry-first-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .entry-oasis-stat {
    padding-right: 0;
    padding-bottom: 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(143,185,165,.18);
  }
}

@media (max-width: 650px) {

  .entry-heading h2 {
    font-size: 39px;
  }

  .entry-process,
  .entry-oasis,
  .entry-dresscode,
  .entry-first-visit {
    padding: 28px 22px;
  }

  .entry-essentials,
  .entry-process-grid,
  .entry-dresscode-top,
  .entry-not-allowed-grid,
  .entry-first-grid,
  .entry-summary,
  .entry-bags-grid {
    grid-template-columns: 1fr;
  }

  .entry-system,
  .entry-men {
    grid-template-columns: 1fr;
  }

  .entry-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .entry-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   BAR & AUFENTHALT
   ================================================== */

.bar-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 12%, rgba(24,83,59,.18), transparent 30%),
    radial-gradient(circle at 8% 84%, rgba(18,61,44,.12), transparent 29%),
    #050806;
}

.bar-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.bar-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.bar-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(340px,.65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.bar-kicker,
.bar-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.bar-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.bar-heading > p {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: 16px;
  line-height: 1.8;
}


/* MAIN */

.bar-main {
  display: grid;
  grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr);
  gap: 58px;
  align-items: center;
  margin-bottom: 65px;
}


/* IMAGE */

.bar-image {
  position: relative;
  overflow: hidden;
  min-height: 590px;
  border: 1px solid rgba(143,185,165,.15);
  border-radius: 31px;
  background: #09130e;
  box-shadow: 0 30px 80px rgba(0,0,0,.4);
}

.bar-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      to top,
      rgba(3,12,8,.86) 0%,
      rgba(3,12,8,.18) 50%,
      transparent 80%
    );
  pointer-events: none;
}

.bar-image img {
  width: 100%;
  height: 590px;
  display: block;
  object-fit: cover;
}

.bar-image-caption {
  position: absolute;
  z-index: 2;
  left: 28px;
  bottom: 28px;
  padding: 18px 22px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 17px;
  background: rgba(5,22,15,.84);
  backdrop-filter: blur(15px);
}

.bar-image-caption span {
  display: block;
  margin-bottom: 5px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bar-image-caption strong {
  color: #ffffff;
  font-size: 23px;
}


/* CONTENT */

.bar-content h3 {
  margin-bottom: 22px;
  color: #ffffff;
  font-size: clamp(31px,3vw,44px);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.bar-content > p {
  margin-bottom: 17px;
  color: rgba(255,255,255,.6);
  font-size: 15px;
  line-height: 1.82;
}

.bar-highlight {
  display: flex;
  gap: 18px;
  margin-top: 28px;
  padding: 23px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(18,61,44,.34), rgba(255,255,255,.02));
}

.bar-highlight-icon {
  flex: 0 0 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 14px;
  color: #a6cbb8;
  background: #123d2c;
}

.bar-highlight span {
  display: block;
  margin-bottom: 6px;
  color: #9bc7b1;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.bar-highlight p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 13px;
  line-height: 1.65;
}


/* FEATURES */

.bar-features {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 29px;
  background:
    linear-gradient(135deg, rgba(18,61,44,.25), rgba(255,255,255,.018));
}

.bar-features-head {
  max-width: 760px;
  margin-bottom: 34px;
}

.bar-features-head h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 31px;
}

.bar-features-head p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 14px;
  line-height: 1.75;
}

.bar-features-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
}

.bar-feature-card {
  min-height: 235px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(4,16,11,.48);
}

.bar-feature-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  margin-bottom: 29px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.bar-feature-card > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bar-feature-card h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 17px;
}

.bar-feature-card p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.67;
}


/* STAY */

.bar-stay {
  display: grid;
  grid-template-columns: 1fr .8fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: #09110d;
}

.bar-stay-copy h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 30px;
}

.bar-stay-copy p {
  margin-bottom: 12px;
  color: rgba(255,255,255,.52);
  font-size: 14px;
  line-height: 1.75;
}

.bar-stay-stats {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 10px;
}

.bar-stay-stat {
  min-height: 155px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 18px;
  background: rgba(255,255,255,.02);
}

.bar-stay-stat i {
  display: block;
  margin-bottom: 27px;
  color: #9bc7b1;
  font-size: 18px;
}

.bar-stay-stat span {
  display: block;
  margin-bottom: 5px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bar-stay-stat strong {
  color: #ffffff;
  font-size: 16px;
}


/* NOTE */

.bar-note {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 25px;
  align-items: start;
  margin-bottom: 20px;
  padding: 39px 42px;
  border: 1px solid rgba(143,185,165,.17);
  border-radius: 27px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.4), rgba(255,255,255,.018));
}

.bar-note-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 59px;
  height: 59px;
  border-radius: 17px;
  color: #a6cbb8;
  background: rgba(24,83,59,.58);
  font-size: 19px;
}

.bar-note-copy > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.bar-note-copy h3 {
  margin-bottom: 10px;
  color: #ffffff;
  font-size: 23px;
}

.bar-note-copy p {
  max-width: 930px;
  margin-bottom: 10px;
  color: rgba(255,255,255,.53);
  font-size: 13px;
  line-height: 1.72;
}


/* SUMMARY */

.bar-summary {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.bar-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.bar-summary > div:last-child {
  border-right: 0;
}

.bar-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.34);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.bar-summary strong {
  color: #ffffff;
  font-size: 16px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

  .bar-features-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .bar-summary {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 991px) {

  .bar-section {
    padding: 80px 0;
  }

  .bar-heading,
  .bar-main,
  .bar-stay {
    grid-template-columns: 1fr;
  }

  .bar-stay-stats {
    grid-template-columns: repeat(3,1fr);
  }
}

@media (max-width: 650px) {

  .bar-heading h2 {
    font-size: 39px;
  }

  .bar-image,
  .bar-image img {
    min-height: 390px;
    height: 390px;
  }

  .bar-features,
  .bar-stay,
  .bar-note {
    padding: 28px 22px;
  }

  .bar-features-grid,
  .bar-stay-stats,
  .bar-summary {
    grid-template-columns: 1fr;
  }

  .bar-note {
    grid-template-columns: 1fr;
  }

  .bar-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .bar-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   NACHHALTIGKEIT & NEUBAU
   ================================================== */

.sustainability-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 12%, rgba(24,83,59,.19), transparent 30%),
    radial-gradient(circle at 8% 82%, rgba(18,61,44,.12), transparent 30%),
    #080b09;
}

.sustainability-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.sustainability-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.sustainability-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(340px,.65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.sustainability-kicker,
.sustainability-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.sustainability-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.sustainability-heading > p {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: 16px;
  line-height: 1.8;
}


/* MAIN */

.sustainability-main {
  display: grid;
  grid-template-columns: 270px 1fr;
  gap: 48px;
  align-items: center;
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.17);
  border-radius: 30px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.4), rgba(255,255,255,.018));
}

.sustainability-main-stat {
  padding-right: 42px;
  border-right: 1px solid rgba(143,185,165,.18);
}

.sustainability-main-stat > span {
  display: block;
  margin-bottom: 12px;
  color: rgba(255,255,255,.36);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sustainability-main-stat strong {
  display: block;
  color: #a6cbb8;
  font-size: 64px;
  line-height: .95;
  letter-spacing: -.06em;
}

.sustainability-main-stat small {
  display: block;
  margin-top: 8px;
  color: rgba(255,255,255,.42);
  font-size: 11px;
}

.sustainability-main-content h3 {
  margin-bottom: 15px;
  color: #ffffff;
  font-size: 30px;
}

.sustainability-main-content p {
  max-width: 850px;
  margin-bottom: 13px;
  color: rgba(255,255,255,.55);
  font-size: 14px;
  line-height: 1.75;
}


/* CARDS */

.sustainability-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 14px;
  margin-bottom: 20px;
}

.sustainability-card {
  min-height: 330px;
  padding: 30px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: rgba(255,255,255,.022);
}

.sustainability-card-featured {
  border-color: rgba(143,185,165,.2);
  background:
    linear-gradient(145deg, rgba(18,61,44,.32), rgba(255,255,255,.02));
}

.sustainability-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  margin-bottom: 34px;
  border-radius: 15px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 19px;
}

.sustainability-card > span {
  display: block;
  margin-bottom: 7px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sustainability-card h3 {
  margin-bottom: 12px;
  color: #ffffff;
  font-size: 21px;
  line-height: 1.3;
}

.sustainability-card > p {
  margin-bottom: 24px;
  color: rgba(255,255,255,.48);
  font-size: 13px;
  line-height: 1.7;
}

.sustainability-card-detail {
  display: flex;
  gap: 12px;
  padding-top: 19px;
  border-top: 1px solid rgba(255,255,255,.07);
}

.sustainability-card-detail i {
  color: #9bc7b1;
}

.sustainability-card-detail p {
  margin: 0;
  color: rgba(255,255,255,.42);
  font-size: 12px;
  line-height: 1.6;
}


/* FLOW */

.sustainability-flow {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 29px;
  background: #09110d;
}

.sustainability-flow-heading {
  margin-bottom: 34px;
}

.sustainability-flow-heading h3 {
  color: #ffffff;
  font-size: 30px;
}

.sustainability-flow-grid {
  display: grid;
  grid-template-columns: 1fr 60px 1fr 60px 1fr;
  gap: 12px;
  align-items: center;
}

.sustainability-flow-item {
  min-height: 215px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.02);
}

.sustainability-flow-item > span {
  display: block;
  margin-bottom: 25px;
  color: rgba(255,255,255,.28);
  font-size: 10px;
  font-weight: 800;
}

.sustainability-flow-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 45px;
  height: 45px;
  margin-bottom: 24px;
  border-radius: 13px;
  color: #9bc7b1;
  background: #123d2c;
}

.sustainability-flow-item h4 {
  margin-bottom: 8px;
  color: #ffffff;
  font-size: 16px;
}

.sustainability-flow-item p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.65;
}

.sustainability-flow-arrow {
  color: #8fb9a5;
  text-align: center;
}


/* SOLAR */

.sustainability-solar {
  display: grid;
  grid-template-columns: 65px 1fr;
  gap: 25px;
  align-items: center;
  margin-bottom: 20px;
  padding: 38px 41px;
  border: 1px solid rgba(143,185,165,.17);
  border-radius: 27px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.4), rgba(255,255,255,.018));
}

.sustainability-solar-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 18px;
  color: #a6cbb8;
  background: rgba(24,83,59,.58);
  font-size: 20px;
}

.sustainability-solar-copy > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.sustainability-solar-copy h3 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 23px;
}

.sustainability-solar-copy p {
  max-width: 900px;
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 13px;
  line-height: 1.72;
}


/* SUMMARY */

.sustainability-summary {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.sustainability-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.sustainability-summary > div:last-child {
  border-right: 0;
}

.sustainability-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.34);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.sustainability-summary strong {
  color: #ffffff;
  font-size: 16px;
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .sustainability-section {
    padding: 80px 0;
  }

  .sustainability-heading,
  .sustainability-main {
    grid-template-columns: 1fr;
  }

  .sustainability-main-stat {
    padding-right: 0;
    padding-bottom: 28px;
    border-right: 0;
    border-bottom: 1px solid rgba(143,185,165,.18);
  }

  .sustainability-grid {
    grid-template-columns: 1fr;
  }

  .sustainability-flow-grid {
    grid-template-columns: 1fr;
  }

  .sustainability-flow-arrow {
    transform: rotate(90deg);
  }
}

@media (max-width: 650px) {

  .sustainability-heading h2 {
    font-size: 39px;
  }

  .sustainability-main,
  .sustainability-flow,
  .sustainability-solar {
    padding: 28px 22px;
  }

  .sustainability-solar,
  .sustainability-summary {
    grid-template-columns: 1fr;
  }

  .sustainability-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .sustainability-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   STANDORT / ANREISE / PARKEN
   ================================================== */

.location-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 10%, rgba(24,83,59,.18), transparent 30%),
    radial-gradient(circle at 7% 84%, rgba(18,61,44,.12), transparent 29%),
    #050806;
}

.location-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.location-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.location-heading {
  display: grid;
  grid-template-columns: minmax(0,1.1fr) minmax(340px,.65fr);
  gap: 70px;
  align-items: end;
  margin-bottom: 60px;
}

.location-kicker,
.location-label {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.location-heading h2 {
  max-width: 820px;
  margin: 0;
  color: #ffffff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.location-heading > p {
  margin: 0;
  color: rgba(255,255,255,.6);
  font-size: 16px;
  line-height: 1.8;
}


/* ADDRESS */

.location-main {
  display: grid;
  grid-template-columns: minmax(330px,.7fr) minmax(0,1.3fr);
  gap: 0;
  overflow: hidden;
  margin-bottom: 20px;
  border: 1px solid rgba(143,185,165,.17);
  border-radius: 31px;
  background: rgba(255,255,255,.02);
}

.location-address {
  padding: 48px;
  border-right: 1px solid rgba(255,255,255,.07);
  background:
    radial-gradient(circle at 25% 20%, rgba(40,116,88,.25), transparent 44%),
    #09160f;
}

.location-address-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 57px;
  height: 57px;
  margin-bottom: 35px;
  border-radius: 17px;
  color: #a6cbb8;
  background: #123d2c;
  font-size: 21px;
}

.location-address > span {
  display: block;
  margin-bottom: 8px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.location-address h3 {
  margin-bottom: 19px;
  color: #ffffff;
  font-size: 28px;
}

.location-address address {
  margin: 0 0 30px;
  color: rgba(255,255,255,.72);
  font-size: 21px;
  line-height: 1.55;
  font-style: normal;
}

.location-contact {
  padding-top: 22px;
  border-top: 1px solid rgba(255,255,255,.08);
}

.location-contact span {
  display: block;
  margin-bottom: 6px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.location-contact strong {
  color: #a6cbb8;
  font-size: 18px;
}

.location-context {
  padding: 48px 52px;
}

.location-context h3 {
  margin-bottom: 18px;
  color: #ffffff;
  font-size: clamp(29px,3vw,41px);
  line-height: 1.13;
}

.location-context > p {
  margin-bottom: 15px;
  color: rgba(255,255,255,.56);
  font-size: 14px;
  line-height: 1.78;
}

.location-current {
  display: flex;
  gap: 17px;
  align-items: center;
  margin-top: 27px;
  padding: 21px;
  border: 1px solid rgba(143,185,165,.15);
  border-radius: 18px;
  background: rgba(18,61,44,.25);
}

.location-current-icon {
  flex: 0 0 43px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 43px;
  height: 43px;
  border-radius: 12px;
  color: #a6cbb8;
  background: #123d2c;
}

.location-current span {
  display: block;
  margin-bottom: 4px;
  color: rgba(255,255,255,.36);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: .1em;
}

.location-current strong {
  color: #ffffff;
  font-size: 15px;
}


/* DIRECTIONS */

.location-directions {
  margin-bottom: 20px;
  padding: 46px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 29px;
  background:
    linear-gradient(135deg, rgba(18,61,44,.24), rgba(255,255,255,.018));
}

.location-directions-head {
  max-width: 760px;
  margin-bottom: 34px;
}

.location-directions-head h3 {
  margin-bottom: 13px;
  color: #ffffff;
  font-size: 31px;
}

.location-directions-head p {
  margin: 0;
  color: rgba(255,255,255,.53);
  font-size: 14px;
  line-height: 1.75;
}

.location-directions-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 12px;
}

.location-direction-card {
  min-height: 265px;
  padding: 27px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 20px;
  background: rgba(4,16,11,.48);
}

.location-direction-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 47px;
  height: 47px;
  margin-bottom: 29px;
  border-radius: 13px;
  color: #a6cbb8;
  background: #123d2c;
}

.location-direction-card > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.location-direction-card h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 17px;
}

.location-direction-card p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.67;
}


/* TRANSIT NOTE */

.location-transit-note {
  display: grid;
  grid-template-columns: 65px 1fr;
  gap: 25px;
  align-items: center;
  margin-bottom: 20px;
  padding: 38px 41px;
  border: 1px solid rgba(143,185,165,.14);
  border-radius: 27px;
  background: #09110d;
}

.location-transit-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 18px;
  color: #a6cbb8;
  background: #123d2c;
}

.location-transit-copy > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.location-transit-copy h3 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 23px;
}

.location-transit-copy p {
  max-width: 900px;
  margin: 0;
  color: rgba(255,255,255,.5);
  font-size: 13px;
  line-height: 1.7;
}


/* PARKING */

.location-parking {
  display: grid;
  grid-template-columns: 1fr 260px;
  gap: 45px;
  align-items: center;
  margin-bottom: 13px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 29px;
  background:
    linear-gradient(120deg, rgba(18,61,44,.42), rgba(255,255,255,.018));
}

.location-parking-main h3 {
  margin-bottom: 14px;
  color: #ffffff;
  font-size: 31px;
}

.location-parking-main p {
  max-width: 800px;
  margin-bottom: 12px;
  color: rgba(255,255,255,.54);
  font-size: 14px;
  line-height: 1.75;
}

.location-parking-stat {
  padding-left: 40px;
  border-left: 1px solid rgba(143,185,165,.18);
  text-align: center;
}

.location-parking-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin: 0 auto 20px;
  border-radius: 14px;
  color: #a6cbb8;
  background: #123d2c;
}

.location-parking-stat > span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.35);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.location-parking-stat strong {
  display: block;
  color: #a6cbb8;
  font-size: 58px;
  line-height: 1;
}

.location-parking-stat small {
  display: block;
  margin-top: 7px;
  color: #ffffff;
  font-size: 13px;
}


/* PARKING CARDS */

.location-parking-grid {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 12px;
  margin-bottom: 20px;
}

.location-parking-card {
  min-height: 200px;
  padding: 26px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.02);
}

.location-parking-card > i {
  margin-bottom: 27px;
  color: #9bc7b1;
  font-size: 19px;
}

.location-parking-card > span {
  display: block;
  margin-bottom: 6px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.location-parking-card h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 17px;
}

.location-parking-card p {
  margin: 0;
  color: rgba(255,255,255,.45);
  font-size: 12px;
  line-height: 1.65;
}


/* FIRST VISIT */

.location-first-visit {
  margin-bottom: 20px;
  padding: 45px;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 28px;
  background: #09110d;
}

.location-first-head {
  margin-bottom: 31px;
}

.location-first-head h3 {
  color: #ffffff;
  font-size: 30px;
}

.location-first-grid {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 11px;
}

.location-first-item {
  min-height: 200px;
  padding: 25px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 19px;
  background: rgba(255,255,255,.02);
}

.location-first-item > span {
  display: block;
  margin-bottom: 31px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
}

.location-first-item h4 {
  margin-bottom: 9px;
  color: #ffffff;
  font-size: 16px;
}

.location-first-item p {
  margin: 0;
  color: rgba(255,255,255,.44);
  font-size: 12px;
  line-height: 1.65;
}


/* SUMMARY */

.location-summary {
  display: grid;
  grid-template-columns: repeat(5,1fr);
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 23px;
  background: #09130e;
}

.location-summary > div {
  padding: 24px;
  border-right: 1px solid rgba(255,255,255,.07);
}

.location-summary > div:last-child {
  border-right: 0;
}

.location-summary span {
  display: block;
  margin-bottom: 7px;
  color: rgba(255,255,255,.34);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.location-summary strong {
  color: #ffffff;
  font-size: 15px;
}


/* RESPONSIVE */

@media (max-width: 1100px) {

  .location-directions-grid {
    grid-template-columns: repeat(2,1fr);
  }

  .location-summary {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 991px) {

  .location-section {
    padding: 80px 0;
  }

  .location-heading,
  .location-main,
  .location-parking {
    grid-template-columns: 1fr;
  }

  .location-address {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .location-parking-stat {
    padding-left: 0;
    padding-top: 30px;
    border-left: 0;
    border-top: 1px solid rgba(143,185,165,.18);
  }

  .location-first-grid {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 650px) {

  .location-heading h2 {
    font-size: 39px;
  }

  .location-address,
  .location-context,
  .location-directions,
  .location-transit-note,
  .location-parking,
  .location-first-visit {
    padding: 28px 22px;
  }

  .location-directions-grid,
  .location-parking-grid,
  .location-first-grid,
  .location-summary {
    grid-template-columns: 1fr;
  }

  .location-transit-note {
    grid-template-columns: 1fr;
  }

  .location-summary > div {
    border-right: 0;
    border-bottom: 1px solid rgba(255,255,255,.07);
  }

  .location-summary > div:last-child {
    border-bottom: 0;
  }
}

/* ==================================================
   FAQ
   ================================================== */

.faq-section {
  position: relative;
  overflow: hidden;
  padding: 110px 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 88% 10%, rgba(24,83,59,.17), transparent 30%),
    radial-gradient(circle at 8% 85%, rgba(18,61,44,.12), transparent 29%),
    #080b09;
}

.faq-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.faq-section .container {
  position: relative;
  z-index: 2;
}


/* HEADING */

.faq-heading {
  max-width: 800px;
  margin-bottom: 50px;
}

.faq-kicker {
  display: inline-block;
  margin-bottom: 14px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.faq-heading h2 {
  margin-bottom: 19px;
  color: #ffffff;
  font-size: clamp(42px,5vw,68px);
  line-height: 1.02;
  font-weight: 800;
  letter-spacing: -.045em;
}

.faq-heading p {
  max-width: 650px;
  margin: 0;
  color: rgba(255,255,255,.57);
  font-size: 16px;
  line-height: 1.8;
}


/* LIST */

.faq-list {
  display: grid;
  gap: 10px;
  max-width: 1000px;
}


/* ITEM */

.faq-item {
  overflow: hidden;
  border: 1px solid rgba(143,185,165,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.022);
  transition: border-color .3s ease,
              background .3s ease;
}

.faq-item:hover,
.faq-item.active {
  border-color: rgba(143,185,165,.25);
  background: rgba(18,61,44,.15);
}


/* QUESTION */

.faq-question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 25px 27px;

  border: 0;
  outline: 0;

  color: #ffffff;
  background: transparent;

  font-family: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.45;

  text-align: left;
  cursor: pointer;
}

.faq-question i {
  flex: 0 0 38px;

  display: flex;
  align-items: center;
  justify-content: center;

  width: 38px;
  height: 38px;

  border-radius: 11px;

  color: #a6cbb8;
  background: #123d2c;

  font-size: 13px;

  transition: transform .3s ease,
              background .3s ease;
}

.faq-item.active .faq-question i {
  transform: rotate(45deg);
  background: #18533b;
}


/* ANSWER */

.faq-answer {
  max-height: 0;
  overflow: hidden;

  opacity: 0;

  transition:
    max-height .4s ease,
    opacity .3s ease;
}

.faq-item.active .faq-answer {
  max-height: 260px;
  opacity: 1;
}

.faq-answer p {
  max-width: 850px;

  margin: 0;
  padding: 0 27px 25px;

  color: rgba(255,255,255,.55);

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


/* INLINE ANCHORS */

.faq-answer a {
  display: inline;
  margin-left: 5px;

  color: #9bc7b1;

  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(155,199,177,.35);
  text-underline-offset: 3px;
}

.faq-answer a:hover {
  color: #ffffff;
  text-decoration-color: rgba(255,255,255,.5);
}


/* RESPONSIVE */

@media (max-width: 991px) {

  .faq-section {
    padding: 80px 0;
  }
}

@media (max-width: 650px) {

  .faq-heading h2 {
    font-size: 39px;
  }

  .faq-question {
    gap: 18px;
    padding: 21px 20px;
    font-size: 14px;
  }

  .faq-question i {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }

  .faq-answer p {
    padding: 0 20px 22px;
    font-size: 13px;
  }
}
/* FAQ  */

.faq-list {
  margin-left: auto;
  margin-right: auto;
}

.faq-question {
  justify-content: center;
  text-align: center;
  position: relative;
}

.faq-question span {
  width: 100%;
  text-align: center;
}

.faq-question i {
  position: absolute;
  right: 27px;
}

@media (max-width: 650px) {
  .faq-question i {
    right: 20px;
  }
}

/* ==================================================
   LEGAL PAGES — SPIELBANK ROSTOCK
   ================================================== */

.legal-page {
  background: #050806;
  color: #ffffff;
}

.legal-page .wrapper {
  overflow: visible;
}

.legal-main {
  background:
    radial-gradient(circle at 90% 8%, rgba(24,83,59,.18), transparent 28%),
    radial-gradient(circle at 8% 55%, rgba(18,61,44,.12), transparent 26%),
    #050806;
}

.legal-hero {
  position: relative;
  overflow: hidden;
  padding: 120px 0 75px;
  border-bottom: 1px solid rgba(143,185,165,.12);
}

.legal-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.018) 1px, transparent 1px);
  background-size: 72px 72px;
  pointer-events: none;
}

.legal-hero .container {
  position: relative;
  z-index: 2;
}

.legal-eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: #8fb9a5;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.legal-hero h1 {
  max-width: 900px;
  margin: 0 0 24px;
  color: #fff;
  font-size: clamp(44px, 6vw, 76px);
  line-height: 1;
  font-weight: 800;
  letter-spacing: -.05em;
}

.legal-hero > .container > p {
  max-width: 840px;
  margin: 0;
  color: rgba(255,255,255,.63);
  font-size: 17px;
  line-height: 1.8;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 30px;
}

.legal-meta span {
  padding: 9px 13px;
  border: 1px solid rgba(143,185,165,.15);
  border-radius: 999px;
  background: rgba(18,61,44,.2);
  color: rgba(255,255,255,.55);
  font-size: 11px;
}

.legal-meta strong {
  color: #a6cbb8;
  font-weight: 700;
}

.legal-content {
  padding: 70px 0 110px;
}

.legal-layout {
  display: grid;
  grid-template-columns: 270px minmax(0, 1fr);
  gap: 48px;
  align-items: start;
}

.legal-toc {
  position: sticky;
  top: 105px;
  display: grid;
  gap: 4px;
  max-height: calc(100vh - 130px);
  overflow: auto;
  padding: 22px;
  border: 1px solid rgba(143,185,165,.13);
  border-radius: 22px;
  background: rgba(9,19,14,.92);
  backdrop-filter: blur(12px);
}

.legal-toc > span {
  margin-bottom: 10px;
  color: #8fb9a5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.legal-toc a {
  padding: 8px 10px;
  border-radius: 10px;
  color: rgba(255,255,255,.58);
  font-size: 12px;
  line-height: 1.35;
  text-decoration: none;
}

.legal-toc a:hover {
  color: #fff;
  background: rgba(24,83,59,.24);
}

.legal-article {
  min-width: 0;
}

.legal-article section {
  scroll-margin-top: 115px;
  margin-bottom: 18px;
  padding: 36px 38px;
  border: 1px solid rgba(143,185,165,.11);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(18,61,44,.10), rgba(255,255,255,.018));
}

.legal-article section:last-child {
  margin-bottom: 0;
}

.legal-section-number {
  display: block;
  margin-bottom: 12px;
  color: #8fb9a5;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .14em;
}

.legal-article h2 {
  margin: 0 0 17px;
  color: #fff;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.legal-article h3 {
  margin: 0 0 9px;
  color: #fff;
  font-size: 18px;
  line-height: 1.35;
}

.legal-article p {
  margin: 0 0 14px;
  color: rgba(255,255,255,.59);
  font-size: 14px;
  line-height: 1.82;
}

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

.legal-callout {
  margin: 24px 0 2px;
  padding: 24px;
  border: 1px solid rgba(143,185,165,.18);
  border-radius: 18px;
  background: rgba(18,61,44,.25);
}

.legal-callout h3 {
  color: #a6cbb8;
}

.legal-grid {
  display: grid;
  gap: 12px;
  margin: 22px 0;
}

.legal-grid-2 {
  grid-template-columns: repeat(2, 1fr);
}

.legal-card {
  padding: 23px;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 18px;
  background: rgba(4,16,11,.48);
}

.legal-checklist {
  display: grid;
  gap: 10px;
  margin: 20px 0 0;
  padding: 0;
}

.legal-checklist li {
  position: relative;
  padding: 14px 16px 14px 43px;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: 14px;
  background: rgba(255,255,255,.018);
  color: rgba(255,255,255,.57);
  font-size: 13px;
  line-height: 1.65;
}

.legal-checklist li::before {
  content: "✓";
  position: absolute;
  left: 15px;
  top: 13px;
  color: #8fb9a5;
  font-weight: 800;
}

/* Footer: force the established dark-green visual language */
.site-footer {
  background:
    radial-gradient(circle at 16% 12%, rgba(24,83,59,.15), transparent 32%),
    linear-gradient(180deg, #080b09 0%, #030604 100%) !important;
}

.footer-badges span,
.footer-column h4,
.footer-payments h4 {
  color: #8fb9a5 !important;
}

.footer-badges span {
  border-color: rgba(143,185,165,.22) !important;
}

.footer-column a:hover,
.footer-legal-links a:hover {
  color: #a6cbb8 !important;
}

@media (max-width: 991px) {
  .legal-hero {
    padding: 90px 0 60px;
  }

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

  .legal-toc {
    position: static;
    max-height: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-toc > span {
    grid-column: 1 / -1;
  }
}

@media (max-width: 650px) {
  .legal-hero {
    padding: 70px 0 48px;
  }

  .legal-content {
    padding: 45px 0 80px;
  }

  .legal-toc {
    grid-template-columns: 1fr;
  }

  .legal-article section {
    padding: 27px 22px;
  }

  .legal-grid-2 {
    grid-template-columns: 1fr;
  }

  .legal-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Header Dropdown Navigation */

.site-header .main-menu {
  overflow: visible;
}

.site-header .main-menu > ul {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
}

.site-header .main-menu > ul > li {
  position: relative;
}

.site-header .main-menu .menu-dropdown > a::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin: 0 0 3px 9px;
  border-right: 1px solid currentColor;
  border-bottom: 1px solid currentColor;
  transform: rotate(45deg);
  float: right;
}

.site-header .main-menu .submenu {
  position: absolute;
  top: calc(100% + 12px);
  left: 0;
  z-index: 100;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 3px;
  min-width: 235px;
  padding: 12px;
  border: 1px solid rgba(143, 185, 165, 0.18);
  border-radius: 16px;
  background: #0b1914;
  box-shadow: 0 24px 50px rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .25s ease,
              transform .25s ease,
              visibility .25s ease;
}

.site-header .main-menu .submenu::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 14px;
  bottom: 100%;
}

.site-header .main-menu .menu-dropdown:hover .submenu,
.site-header .main-menu .menu-dropdown:focus-within .submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.site-header .main-menu .submenu li {
  display: block;
  width: 100%;
}

.site-header .main-menu .submenu li a {
  display: block;
  padding: 11px 14px;
  color: rgba(255, 255, 255, .76);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .02em;
  text-transform: none;
  white-space: nowrap;
  border-radius: 9px;
}

.site-header .main-menu .submenu li a::after {
  display: none;
}

.site-header .main-menu .submenu li a:hover,
.site-header .main-menu .submenu li a:focus-visible {
  color: #ffffff;
  background: rgba(40, 116, 88, .28);
}

@media (min-width: 992px) {
  .site-header .main-menu > ul {
    gap: clamp(2px, .4vw, 9px);
  }

  .site-header .main-menu > ul > li > a {
    padding: 10px clamp(6px, .65vw, 12px);
    font-size: clamp(10px, .78vw, 13px);
    white-space: nowrap;
  }
}

@media (max-width: 1199px) and (min-width: 992px) {
  .site-header .header-inner {
    gap: 12px;
  }

  .site-header .logo img {
    max-height: 42px;
  }
}


/* ==========================================
   ROYAL PALACE LUXURY THEME
   Royal Gold / Emerald / Royal Violet
   ========================================== */

:root {
  --royal-gold: #C7A56B;
  --royal-gold-light: #E9D5AA;
  --royal-gold-dark: #927143;

  --royal-emerald: #236657;
  --royal-emerald-dark: #102B26;
  --royal-emerald-light: #68A798;

  --royal-violet: #BFAACF;
  --royal-violet-dark: #493752;

  --royal-bg: #0C1015;
  --royal-surface: #141B20;
  --royal-text: #F5F0E9;
  --royal-muted: #A9AAA9;
  --royal-border: rgba(199,165,107,.18);

  /* Compatibility with existing theme */
  --green-deep: #0C1015;
  --green-dark: #102B26;
  --green-main: #236657;
  --green-rich: #236657;
  --green-light: #68A798;
  --green-soft: #BFAACF;
  --green-pale: #F5F0E9;
}

/* GENERAL */

html,
body {
  background: var(--royal-bg);
  color: var(--royal-text);
}

::selection {
  background: var(--royal-violet-dark);
  color: #fff;
}

/* HEADER */

.site-header .header-area {
  background: rgba(12,16,21,.94) !important;
  border-bottom: 1px solid var(--royal-border);
  backdrop-filter: blur(20px);
}

.site-header .main-menu > ul > li > a {
  color: rgba(245,240,233,.82);
}

.site-header .main-menu a:hover,
.site-header .main-menu a:focus-visible {
  color: var(--royal-gold-light) !important;
  background: rgba(199,165,107,.07) !important;
}

.site-header .main-menu ul li a::after {
  background: var(--royal-gold);
}

.site-header .main-menu .submenu {
  background: #131C21;
  border-color: var(--royal-border);
}

.site-header .main-menu .submenu li a:hover {
  color: var(--royal-gold-light) !important;
  background: rgba(35,102,87,.24) !important;
}

/* HEADER BUTTON */

.site-header .header-play-btn {
  color: #17150F !important;
  background: linear-gradient(
    135deg,
    #E9D5AA 0%,
    #C7A56B 48%,
    #927143 100%
  ) !important;
  border: 1px solid rgba(233,213,170,.45);
  box-shadow: 0 12px 32px rgba(199,165,107,.18);
}

.site-header .header-play-btn:hover {
  color: #17150F !important;
  background: linear-gradient(
    135deg,
    #F2E2C0,
    #C7A56B
  ) !important;
  box-shadow: 0 16px 38px rgba(199,165,107,.28);
}

/* HERO */

.hero-section {
  background-color: var(--royal-bg);
}

.hero-section::after {
  background:
    radial-gradient(
      circle at 78% 28%,
      rgba(191,170,207,.20),
      transparent 34%
    ),
    radial-gradient(
      circle at 18% 78%,
      rgba(35,102,87,.22),
      transparent 40%
    ) !important;
}

.hero-eyebrow {
  color: var(--royal-gold-light) !important;
  border-color: rgba(199,165,107,.40) !important;
  background: rgba(199,165,107,.09) !important;
}

.hero-content h1 {
  color: #F7F0E7;
  text-shadow: 0 12px 48px rgba(0,0,0,.35);
}

.hero-lead {
  color: rgba(245,240,233,.80);
}

/* HERO INFORMATION */

.hero-offer {
  border-color: rgba(199,165,107,.25) !important;
  background: rgba(199,165,107,.18) !important;
}

.hero-offer div {
  background: rgba(12,20,24,.88);
}

.hero-offer span {
  color: var(--royal-violet) !important;
}

.hero-offer strong {
  color: var(--royal-gold-light) !important;
}

/* HERO BUTTONS */

.hero-primary-btn {
  color: #17150F !important;
  background: linear-gradient(
    135deg,
    #E9D5AA 0%,
    #C7A56B 50%,
    #A7824F 100%
  ) !important;
  border: 1px solid rgba(233,213,170,.45);
  box-shadow: 0 18px 42px rgba(199,165,107,.20);
}

.hero-primary-btn:hover {
  color: #17150F !important;
  background: linear-gradient(
    135deg,
    #F2E2C0,
    #C7A56B
  ) !important;
  box-shadow: 0 22px 50px rgba(199,165,107,.32);
}

.hero-secondary-btn {
  color: #F5F0E9;
  border-color: rgba(191,170,207,.38);
  background: rgba(73,55,82,.15);
}

.hero-secondary-btn:hover {
  color: var(--royal-violet) !important;
  border-color: var(--royal-violet) !important;
  background: rgba(191,170,207,.10);
}

/* HERO CARDS */

.hero-card {
  border-color: rgba(199,165,107,.22) !important;
  background:
    linear-gradient(
      145deg,
      rgba(35,102,87,.23),
      rgba(20,27,32,.78)
    );
  box-shadow: 0 24px 70px rgba(0,0,0,.34);
}

.hero-card--featured {
  border-color: rgba(199,165,107,.36) !important;
  background:
    radial-gradient(
      circle at 80% 15%,
      rgba(199,165,107,.19),
      transparent 48%
    ),
    linear-gradient(
      135deg,
      rgba(35,102,87,.36),
      rgba(20,27,32,.84)
    ) !important;
}

.hero-card span {
  color: var(--royal-gold-light) !important;
}

.hero-card strong {
  color: var(--royal-text);
}

/* SECTION BACKGROUNDS */

.about-section,
.casino-overview,
.games-section,
.slots-section,
.tables-section,
.roulette-section,
.blackjack-section,
.poker-section,
.tournaments-section,
.events-section,
.entry-section,
.bar-section,
.first-visit-section,
.faq-section,
.site-footer {
  background:
    radial-gradient(
      circle at 90% 12%,
      rgba(35,102,87,.13),
      transparent 34%
    ),
    radial-gradient(
      circle at 10% 85%,
      rgba(191,170,207,.065),
      transparent 34%
    ),
    #0C1015 !important;
}

/* COMMON HEADINGS AND ACCENTS */

.section-heading span,
.about-kicker,
.about-label,
.casino-overview-kicker,
.games-kicker,
.slots-kicker,
.tables-kicker,
.roulette-kicker,
.blackjack-kicker,
.poker-kicker,
.tournaments-kicker,
.events-kicker,
.entry-kicker,
.bar-kicker {
  color: var(--royal-gold) !important;
}

/* COMMON CARDS */

.about-fact-card,
.about-info-card,
.about-service-card,
.casino-zone,
.games-category,
.games-live-card,
.slots-fact,
.tables-game-card,
.roulette-bet-card,
.blackjack-step,
.poker-format,
.visit-card {
  border-color: var(--royal-border) !important;
  background:
    linear-gradient(
      145deg,
      rgba(35,102,87,.13),
      rgba(191,170,207,.035)
    ) !important;
}

/* GENERAL LINKS AND BUTTONS */

a.primary-btn,
a.join {
  color: #17150F !important;
  background: linear-gradient(
    135deg,
    #E9D5AA,
    #C7A56B,
    #A7824F
  ) !important;
  border-color: rgba(199,165,107,.35) !important;
}

a.primary-btn:hover,
a.join:hover {
  color: #17150F !important;
  background: #E9D5AA !important;
}

/* FOOTER */

.site-footer {
  border-top: 1px solid var(--royal-border);
}

.site-footer .footer-column h4 {
  color: var(--royal-gold) !important;
}

.site-footer .footer-column a:hover,
.site-footer .footer-legal-links a:hover {
  color: var(--royal-violet) !important;
}

.site-footer .footer-badges span {
  color: var(--royal-gold-light);
  border-color: rgba(199,165,107,.25);
  background: rgba(199,165,107,.07);
}

/* FOCUS AND ACCESSIBILITY */

a:focus-visible,
button:focus-visible {
  outline: 2px solid var(--royal-violet);
  outline-offset: 4px;
}

@media (prefers-reduced-motion: reduce) {
  .hero-primary-btn,
  .hero-secondary-btn,
  .hero-card,
  .header-play-btn {
    transition-duration: .01ms;
  }
}

/* ==========================================
   HERO PALACE MAP
   ========================================== */

.hero-inner {
  align-items: center;
}

.hero-quick-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 12px;
  margin: 22px 0 14px;
  padding: 0;
  list-style: none;
}

.hero-quick-links li {
  margin: 0;
  padding: 0;
}

.hero-quick-links a {
  display: inline-flex;
  align-items: center;
  padding: 8px 14px;
  border: 1px solid rgba(199, 165, 107, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  color: rgba(245, 240, 233, 0.84);
  font-size: 13px;
  font-weight: 600;
  transition: all 0.25s ease;
}

.hero-quick-links a:hover,
.hero-quick-links a:focus-visible {
  color: #ffffff;
  border-color: rgba(199, 165, 107, 0.45);
  background: rgba(199, 165, 107, 0.08);
}

.hero-panel--map {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 28px;
  border: 1px solid rgba(199, 165, 107, 0.18);
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(191, 170, 207, 0.16), transparent 28%),
    radial-gradient(circle at bottom left, rgba(35, 102, 87, 0.22), transparent 34%),
    rgba(13, 18, 23, 0.88);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

.hero-map-head h2 {
  margin: 8px 0 10px;
  color: #f7f0e7;
  font-size: clamp(26px, 2vw, 34px);
  line-height: 1.15;
}

.hero-map-head p {
  margin: 0;
  color: rgba(245, 240, 233, 0.74);
  font-size: 15px;
  line-height: 1.7;
}

.hero-map-kicker {
  display: inline-flex;
  align-items: center;
  padding: 7px 14px;
  border-radius: 999px;
  background: rgba(199, 165, 107, 0.08);
  border: 1px solid rgba(199, 165, 107, 0.22);
  color: #e9d5aa;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-map-shell {
  display: grid;
  grid-template-columns: minmax(280px, 1.05fr) minmax(260px, 0.95fr);
  gap: 22px;
  align-items: stretch;
}

.hero-palace {
  position: relative;
  min-height: 420px;
  border: 1px solid rgba(199, 165, 107, 0.16);
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(35, 102, 87, 0.12), rgba(18, 24, 28, 0.86)),
    rgba(14, 18, 22, 0.95);
  overflow: hidden;
}

.hero-palace::before {
  content: "";
  position: absolute;
  inset: 28px 24px 36px;
  border: 1px solid rgba(199, 165, 107, 0.14);
  border-radius: 26px;
  background:
    linear-gradient(to right,
      transparent 0,
      transparent 11%,
      rgba(199, 165, 107, 0.14) 11%,
      rgba(199, 165, 107, 0.14) 12%,
      transparent 12%,
      transparent 88%,
      rgba(199, 165, 107, 0.14) 88%,
      rgba(199, 165, 107, 0.14) 89%,
      transparent 89%
    ),
    linear-gradient(to bottom,
      transparent 0,
      transparent 14%,
      rgba(199, 165, 107, 0.12) 14%,
      rgba(199, 165, 107, 0.12) 15%,
      transparent 15%,
      transparent 82%,
      rgba(199, 165, 107, 0.12) 82%,
      rgba(199, 165, 107, 0.12) 83%,
      transparent 83%
    );
  pointer-events: none;
}

.hero-palace::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 58px;
  width: 68%;
  height: 68%;
  transform: translateX(-50%);
  border: 1px solid rgba(199, 165, 107, 0.2);
  border-radius: 18px 18px 24px 24px;
  box-shadow:
    0 0 0 18px rgba(199, 165, 107, 0.04),
    inset 0 0 50px rgba(191, 170, 207, 0.04);
  pointer-events: none;
}

.hero-palace-core {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 130px;
  height: 130px;
  transform: translate(-50%, -50%);
  border-radius: 24px;
  border: 1px solid rgba(199, 165, 107, 0.28);
  background:
    radial-gradient(circle at center, rgba(199, 165, 107, 0.22), transparent 60%),
    rgba(17, 22, 27, 0.92);
  box-shadow: 0 0 0 16px rgba(199, 165, 107, 0.04);
}

.hero-zone {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  border: 1px solid rgba(199, 165, 107, 0.18);
  border-radius: 999px;
  background: rgba(12, 16, 21, 0.9);
  color: rgba(245, 240, 233, 0.88);
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s ease;
}

.hero-zone:hover,
.hero-zone:focus-visible,
.hero-zone.is-active {
  border-color: rgba(199, 165, 107, 0.45);
  background: rgba(199, 165, 107, 0.1);
  color: #ffffff;
  box-shadow: 0 0 0 6px rgba(199, 165, 107, 0.05);
}

.hero-zone-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #c7a56b;
  box-shadow: 0 0 18px rgba(199, 165, 107, 0.45);
  flex: 0 0 auto;
}

.hero-zone[data-zone="classic"] {
  top: 72px;
  left: 50%;
  transform: translateX(-50%);
}

.hero-zone[data-zone="slots"] {
  left: 32px;
  top: 50%;
  transform: translateY(-50%);
}

.hero-zone[data-zone="restaurant"] {
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
}

.hero-zone[data-zone="visit"] {
  left: 50%;
  bottom: 42px;
  transform: translateX(-50%);
}

.hero-zone-card {
  position: relative;
  min-height: 420px;
  border: 1px solid rgba(199, 165, 107, 0.16);
  border-radius: 24px;
  background:
    linear-gradient(145deg, rgba(35, 102, 87, 0.12), rgba(191, 170, 207, 0.04)),
    rgba(15, 19, 24, 0.96);
  overflow: hidden;
}

.hero-zone-pane {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 34px 30px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s ease;
}

.hero-zone-pane.is-active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.hero-zone-pane span {
  display: inline-block;
  margin-bottom: 12px;
  color: #e9d5aa;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero-zone-pane strong {
  display: block;
  margin-bottom: 14px;
  color: #f7f0e7;
  font-size: 24px;
  line-height: 1.35;
}

.hero-zone-pane p {
  margin: 0 0 20px;
  color: rgba(245, 240, 233, 0.76);
  font-size: 15px;
  line-height: 1.75;
}

.hero-zone-pane a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  background: linear-gradient(135deg, #e9d5aa 0%, #c7a56b 50%, #a7824f 100%);
  color: #17150f;
  font-size: 14px;
  font-weight: 700;
  transition: all 0.25s ease;
}

.hero-zone-pane a:hover,
.hero-zone-pane a:focus-visible {
  background: linear-gradient(135deg, #f2e2c0, #c7a56b);
  color: #17150f;
}

@media (max-width: 991px) {
  .hero-map-shell {
    grid-template-columns: 1fr;
  }

  .hero-palace,
  .hero-zone-card {
    min-height: 360px;
  }
}

@media (max-width: 767px) {
  .hero-panel--map {
    padding: 22px;
    border-radius: 22px;
  }

  .hero-palace {
    min-height: 340px;
  }

  .hero-zone-card {
    min-height: 300px;
  }

  .hero-zone {
    padding: 8px 12px;
    font-size: 12px;
  }

  .hero-zone-label {
    max-width: 110px;
  }

  .hero-zone-pane {
    padding: 26px 22px;
  }

  .hero-zone-pane strong {
    font-size: 21px;
  }

  .hero-quick-links {
    gap: 8px;
  }

  .hero-quick-links a {
    font-size: 12px;
    padding: 7px 12px;
  }
}

/* ==========================================
   CASINO DISCOVERY
   Royal Gold / Emerald / Royal Violet
   ========================================== */

.casino-discovery {
  --cd-gold: #c7a56b;
  --cd-gold-light: #e9d5aa;
  --cd-emerald: #236657;
  --cd-violet: #bfaacf;
  --cd-bg: #0c1015;
  --cd-panel: #141b20;
  --cd-line: rgba(199,165,107,.18);

  position: relative;
  overflow: hidden;
  padding: 115px 0;
  color: #f5f0e9;
  background:
    radial-gradient(circle at 90% 4%,rgba(35,102,87,.20),transparent 26%),
    radial-gradient(circle at 7% 40%,rgba(191,170,207,.07),transparent 30%),
    #0c1015;
}

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

.casino-discovery::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.014) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.014) 1px,transparent 1px);
  background-size: 80px 80px;
  pointer-events: none;
}

.casino-discovery > .container {
  position: relative;
  z-index: 1;
}

.discovery-eyebrow {
  display: inline-block;
  margin-bottom: 17px;
  color: #c7a56b;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .19em;
  text-transform: uppercase;
}

.discovery-heading {
  display: grid;
  grid-template-columns: 1.15fr .85fr;
  gap: 65px;
  align-items: end;
  margin-bottom: 55px;
}

.discovery-heading h2 {
  color: #fff;
  font-size: clamp(42px,5vw,70px);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1.05;
}

.discovery-heading h2 em {
  color: #c7a56b;
  font-style: normal;
}

.discovery-heading-copy p,
.discovery-subheading p,
.discovery-explorer-top p,
.discovery-orientation-heading p {
  color: rgba(245,240,233,.64);
  font-size: 16px;
  line-height: 1.8;
}

.discovery-text-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  margin-top: 18px;
  color: #e9d5aa;
  font-size: 13px;
  font-weight: 700;
}

.discovery-text-link:hover {
  color: #fff;
}

/* IDENTITY */

.discovery-identity {
  display: grid;
  grid-template-columns: 72px 1fr 140px;
  gap: 28px;
  align-items: center;
  margin-bottom: 70px;
  padding: 35px;
  border: 1px solid rgba(199,165,107,.23);
  border-radius: 25px;
  background:
    linear-gradient(110deg,rgba(35,102,87,.25),rgba(191,170,207,.045));
}

.discovery-identity-symbol {
  display: grid;
  place-items: center;
  width: 66px;
  height: 66px;
  border-radius: 19px;
  color: #e9d5aa;
  background: rgba(199,165,107,.10);
  border: 1px solid rgba(199,165,107,.20);
  font-size: 28px;
}

.discovery-identity > div:nth-child(2) > span {
  display: block;
  margin-bottom: 9px;
  color: #bfaacf;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.discovery-identity h3 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 25px;
}

.discovery-identity p {
  margin: 0;
  color: rgba(245,240,233,.65);
  font-size: 14px;
  line-height: 1.8;
}

.discovery-identity-year {
  padding-left: 22px;
  border-left: 1px solid rgba(199,165,107,.2);
  text-align: center;
}

.discovery-identity-year strong {
  display: block;
  color: #e9d5aa;
  font-size: 42px;
  letter-spacing: -.05em;
}

.discovery-identity-year span {
  color: rgba(245,240,233,.55);
  font-size: 11px;
}

/* EXPLORER */

.discovery-explorer {
  overflow: hidden;
  margin-bottom: 105px;
  border: 1px solid var(--cd-line);
  border-radius: 32px;
  background: rgba(20,27,32,.68);
  box-shadow: 0 35px 100px rgba(0,0,0,.25);
}

.discovery-explorer-top {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 30px;
  padding: 43px 45px 32px;
}

.discovery-explorer-top h3,
.discovery-subheading h3,
.discovery-orientation-heading h3 {
  margin-bottom: 15px;
  color: #fff;
  font-size: clamp(30px,3vw,43px);
  letter-spacing: -.035em;
  line-height: 1.12;
}

.discovery-explorer-top p {
  max-width: 690px;
  margin: 0;
}

.discovery-counter {
  flex: 0 0 auto;
  color: rgba(245,240,233,.36);
  font-size: 17px;
  font-weight: 700;
}

.discovery-counter span {
  color: var(--cd-gold-light);
  font-size: 29px;
}

/* TABS */

.discovery-tabs {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 8px;
  padding: 0 45px 28px;
}

.discovery-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 65px;
  padding: 14px 12px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  color: rgba(245,240,233,.65);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: .25s ease;
}

.discovery-tab i {
  font-size: 19px;
  color: var(--cd-violet);
}

.discovery-tab:hover,
.discovery-tab:focus-visible {
  color: #fff;
  border-color: rgba(199,165,107,.3);
}

.discovery-tab.is-active {
  color: #fff;
  border-color: rgba(199,165,107,.46);
  background: linear-gradient(135deg,rgba(35,102,87,.45),rgba(199,165,107,.10));
}

.discovery-tab.is-active i {
  color: var(--cd-gold-light);
}

/* PANELS */

.discovery-panel {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  min-height: 590px;
  margin: 0 20px 20px;
  overflow: hidden;
  border: 1px solid rgba(199,165,107,.12);
  border-radius: 25px;
  background: #11191d;
}

.discovery-panel[hidden] {
  display: none !important;
}

.discovery-panel-media,
.discovery-panel-visual {
  position: relative;
  min-width: 0;
  min-height: 590px;
  overflow: hidden;
  background: #13221f;
}

.discovery-panel-media img {
  width: 100%;
  height: 100%;
  min-height: 590px;
  object-fit: cover;
  display: block;
}

.discovery-panel-media::after,
.discovery-panel-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg,rgba(7,12,15,.70),transparent 40%);
  pointer-events: none;
}

.discovery-media-tag {
  position: absolute;
  z-index: 2;
  left: 25px;
  bottom: 25px;
  display: inline-flex;
  align-items: center;
  gap: 11px;
  padding: 12px 17px;
  border: 1px solid rgba(233,213,170,.25);
  border-radius: 999px;
  background: rgba(12,16,21,.79);
  backdrop-filter: blur(12px);
  color: #e9d5aa;
  font-size: 12px;
  font-weight: 700;
}

.discovery-panel-content {
  display: flex;
  flex-direction: column;
  align-items: start;
  justify-content: center;
  padding: clamp(30px,4vw,58px);
}

.discovery-panel-index {
  display: block;
  margin-bottom: 20px;
  color: var(--cd-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .17em;
}

.discovery-panel-content h4 {
  margin-bottom: 22px;
  color: #fff;
  font-size: clamp(29px,3vw,42px);
  line-height: 1.12;
  letter-spacing: -.03em;
}

.discovery-panel-content > p {
  margin-bottom: 17px;
  color: rgba(245,240,233,.66);
  font-size: 14px;
  line-height: 1.85;
}

.discovery-detail-list {
  width: 100%;
  margin: 17px 0 28px;
  border-top: 1px solid rgba(255,255,255,.09);
}

.discovery-detail-list > div {
  display: grid;
  grid-template-columns: 22px minmax(90px,.65fr) 1fr;
  align-items: center;
  gap: 12px;
  padding: 15px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.discovery-detail-list i {
  color: var(--cd-gold);
  font-size: 17px;
}

.discovery-detail-list span {
  color: rgba(245,240,233,.48);
  font-size: 12px;
}

.discovery-detail-list strong {
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  text-align: right;
}

.discovery-panel-link,
.discovery-bottom-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 50px;
  padding: 0 23px;
  border-radius: 999px;
  background: linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color: #17150f;
  font-size: 12px;
  font-weight: 800;
  transition: .25s ease;
}

.discovery-panel-link:hover,
.discovery-bottom-primary:hover {
  transform: translateY(-2px);
  color: #17150f;
  box-shadow: 0 14px 34px rgba(199,165,107,.22);
}

.discovery-explorer-note {
  display: flex;
  align-items: start;
  gap: 11px;
  margin: 0;
  padding: 0 45px 30px;
  color: rgba(245,240,233,.43);
  font-size: 12px;
  line-height: 1.6;
}

.discovery-explorer-note i {
  color: var(--cd-violet);
}

/* XPERIENCE VISUAL */

.discovery-panel-visual--zone {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 35px;
  background:
    radial-gradient(ellipse at 50% 30%,rgba(191,170,207,.25),transparent 55%),
    linear-gradient(150deg,#261c32,#101f21 75%);
}

.discovery-zone-art {
  width: 100%;
  max-width: 420px;
  transform: perspective(800px) rotateX(5deg);
}

.discovery-zone-screen {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 230px;
  border: 9px solid #1a2028;
  border-radius: 25px;
  background:
    radial-gradient(circle at center,rgba(191,170,207,.33),transparent 62%),
    linear-gradient(135deg,#30203d,#092521);
  box-shadow: 0 0 60px rgba(191,170,207,.22);
}

.discovery-zone-screen span {
  color: #e9d5aa;
  font-size: 13px;
  letter-spacing: .27em;
}

.discovery-zone-screen i {
  color: #c7a56b;
  font-size: 60px;
}

.discovery-zone-screen strong {
  color: #fff;
  font-size: 22px;
  letter-spacing: .1em;
}

.discovery-zone-terminals {
  display: flex;
  justify-content: space-around;
  margin-top: 36px;
}

.discovery-zone-terminals span {
  display: grid;
  place-items: center;
  width: 79px;
  height: 85px;
  border: 2px solid rgba(199,165,107,.5);
  border-radius: 13px;
  background: linear-gradient(145deg,#1a3940,#132128);
  box-shadow: 0 10px 35px rgba(0,0,0,.4);
}

.discovery-zone-terminals i {
  color: #bfaacf;
  font-size: 29px;
}

/* LOUNGE VISUAL */

.discovery-panel-visual--lounge {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 40px;
  background: linear-gradient(140deg,#28332d,#13181e 75%);
}

.discovery-lounge-art {
  position: relative;
  width: 100%;
  max-width: 420px;
  height: 370px;
}

.discovery-lounge-arch {
  position: absolute;
  inset: 0 25px 38px;
  border: 8px double rgba(199,165,107,.56);
  border-radius: 190px 190px 15px 15px;
  background:
    radial-gradient(ellipse at 50% 15%,rgba(191,170,207,.25),transparent 65%),
    #182a28;
}

.discovery-lounge-lights {
  position: absolute;
  top: 82px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-evenly;
}

.discovery-lounge-lights span {
  width: 16px;
  height: 40px;
  border-radius: 50%;
  background: #e9d5aa;
  box-shadow: 0 0 35px #c7a56b;
}

.discovery-lounge-counter {
  position: absolute;
  left: 8%;
  right: 8%;
  bottom: 55px;
  height: 75px;
  border: 1px solid rgba(199,165,107,.6);
  border-radius: 12px 12px 20px 20px;
  background: linear-gradient(140deg,#654448,#301e35);
  box-shadow: 0 15px 45px rgba(0,0,0,.4);
}

.discovery-lounge-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 82px;
  color: #e9d5aa;
  font-size: 13px;
  letter-spacing: .25em;
  text-align: center;
}

/* COMMON HEADING */

.discovery-subheading {
  max-width: 810px;
  margin-bottom: 38px;
}

.discovery-subheading p {
  margin: 0;
}

/* GAMING CARDS */

.discovery-gaming {
  margin-bottom: 105px;
}

.discovery-gaming-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.discovery-gaming-card {
  display: flex;
  flex-direction: column;
  padding: 31px;
  min-height: 410px;
  border: 1px solid var(--cd-line);
  border-radius: 25px;
  background: linear-gradient(150deg,rgba(35,102,87,.17),rgba(255,255,255,.025));
  transition: .3s ease;
}

.discovery-gaming-card:hover {
  transform: translateY(-5px);
  border-color: rgba(199,165,107,.38);
}

.discovery-gaming-icon,
.discovery-observer-icon {
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  margin-bottom: 29px;
  border: 1px solid rgba(199,165,107,.25);
  border-radius: 16px;
  color: #e9d5aa;
  background: rgba(199,165,107,.08);
  font-size: 23px;
}

.discovery-gaming-card > span {
  color: var(--cd-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.discovery-gaming-card h4 {
  margin: 11px 0 20px;
  color: #fff;
  font-size: 25px;
}

.discovery-gaming-number {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 22px;
}

.discovery-gaming-number strong {
  color: #e9d5aa;
  font-size: 47px;
  line-height: 1;
}

.discovery-gaming-number small {
  color: rgba(245,240,233,.5);
  font-size: 12px;
}

.discovery-gaming-card p {
  margin-bottom: 24px;
  color: rgba(245,240,233,.61);
  font-size: 14px;
  line-height: 1.8;
}

.discovery-gaming-card a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  color: #e9d5aa;
  font-size: 12px;
  font-weight: 800;
}

.discovery-gaming-card a:hover {
  color: #fff;
}

/* ORIENTATION */

.discovery-orientation {
  margin-bottom: 105px;
  padding: clamp(25px,4vw,50px);
  border: 1px solid var(--cd-line);
  border-radius: 31px;
  background:
    radial-gradient(circle at 95% 5%,rgba(191,170,207,.09),transparent 35%),
    #121b20;
}

.discovery-orientation-heading {
  max-width: 770px;
  margin-bottom: 38px;
}

.discovery-steps {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 12px;
}

.discovery-step {
  position: relative;
  min-height: 245px;
  padding: 24px;
  border: 1px solid rgba(255,255,255,.075);
  border-radius: 20px;
  background: rgba(255,255,255,.024);
}

.discovery-step-number {
  display: grid;
  place-items: center;
  width: 43px;
  height: 43px;
  margin-bottom: 29px;
  border: 1px solid rgba(199,165,107,.28);
  border-radius: 13px;
  background: rgba(35,102,87,.25);
  color: #e9d5aa;
  font-size: 13px;
  font-weight: 800;
}

.discovery-step h4 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 17px;
  line-height: 1.3;
}

.discovery-step p {
  margin: 0;
  color: rgba(245,240,233,.55);
  font-size: 12px;
  line-height: 1.75;
}

.discovery-orientation-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 30px;
  color: #e9d5aa;
  font-size: 13px;
  font-weight: 800;
}

.discovery-orientation-link:hover {
  color: #fff;
}

/* ATMOSPHERE */

.discovery-atmosphere {
  margin-bottom: 75px;
}

.discovery-atmosphere-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 14px;
}

.discovery-mood {
  min-height: 265px;
  padding: 29px;
  border: 1px solid var(--cd-line);
  border-radius: 23px;
  background: linear-gradient(145deg,rgba(191,170,207,.06),rgba(35,102,87,.09));
}

.discovery-mood > i {
  display: block;
  margin-bottom: 30px;
  color: #c7a56b;
  font-size: 25px;
}

.discovery-mood h4 {
  margin-bottom: 8px;
  color: #fff;
  font-size: 19px;
}

.discovery-mood > span {
  display: block;
  margin-bottom: 15px;
  color: #bfaacf;
  font-size: 11px;
  font-weight: 700;
}

.discovery-mood p {
  margin: 0;
  color: rgba(245,240,233,.55);
  font-size: 13px;
  line-height: 1.7;
}

.discovery-observer-note {
  display: flex;
  align-items: flex-start;
  gap: 25px;
  margin-top: 18px;
  padding: 30px;
  border: 1px solid rgba(191,170,207,.20);
  border-radius: 23px;
  background: rgba(191,170,207,.045);
}

.discovery-observer-icon {
  flex: 0 0 56px;
  margin: 0;
}

.discovery-observer-note h4 {
  margin-bottom: 11px;
  color: #fff;
  font-size: 22px;
}

.discovery-observer-note p {
  margin: 0;
  color: rgba(245,240,233,.63);
  font-size: 14px;
  line-height: 1.8;
}

/* BOTTOM CTA */

.discovery-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 36px;
  padding: 40px;
  border: 1px solid rgba(199,165,107,.24);
  border-radius: 28px;
  background: linear-gradient(110deg,rgba(35,102,87,.30),rgba(191,170,207,.065));
}

.discovery-bottom > div:first-child {
  max-width: 660px;
}

.discovery-bottom > div:first-child > span {
  display: block;
  margin-bottom: 13px;
  color: #e9d5aa;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

.discovery-bottom h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: clamp(24px,2.5vw,35px);
}

.discovery-bottom p {
  margin: 0;
  color: rgba(245,240,233,.57);
  font-size: 14px;
  line-height: 1.7;
}

.discovery-bottom-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

.discovery-bottom-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  padding: 0 22px;
  border: 1px solid rgba(191,170,207,.37);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.discovery-bottom-secondary:hover {
  border-color: #bfaacf;
  color: #e9d5aa;
}

/* RESPONSIVE */

@media (max-width: 1199px) {
  .discovery-steps {
    grid-template-columns: repeat(3,minmax(0,1fr));
  }

  .discovery-atmosphere-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .discovery-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 991px) {
  .casino-discovery {
    padding: 80px 0;
  }

  .discovery-heading,
  .discovery-panel {
    grid-template-columns: 1fr;
  }

  .discovery-heading {
    gap: 25px;
  }

  .discovery-panel-media,
  .discovery-panel-visual,
  .discovery-panel-media img {
    min-height: 380px;
    height: 380px;
  }

  .discovery-panel {
    min-height: auto;
  }

  .discovery-tabs {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .discovery-gaming-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .discovery-gaming-card:last-child {
    grid-column: 1 / -1;
  }

  .discovery-identity {
    grid-template-columns: 70px 1fr;
  }

  .discovery-identity-year {
    grid-column: 1 / -1;
    padding: 18px 0 0;
    border-left: 0;
    border-top: 1px solid rgba(199,165,107,.2);
    text-align: left;
  }
}

@media (max-width: 767px) {
  .discovery-explorer-top {
    padding: 27px 20px;
  }

  .discovery-tabs {
    padding: 0 20px 20px;
  }

  .discovery-tab {
    min-height: 58px;
    font-size: 11px;
  }

  .discovery-panel {
    margin: 0 12px 18px;
  }

  .discovery-panel-content {
    padding: 30px 22px;
  }

  .discovery-explorer-note {
    padding: 0 22px 25px;
  }

  .discovery-identity {
    display: block;
    padding: 26px;
  }

  .discovery-identity-symbol {
    margin-bottom: 25px;
  }

  .discovery-identity-year {
    margin-top: 24px;
  }

  .discovery-gaming-grid,
  .discovery-steps,
  .discovery-atmosphere-grid {
    grid-template-columns: 1fr;
  }

  .discovery-gaming-card:last-child {
    grid-column: auto;
  }

  .discovery-step,
  .discovery-gaming-card,
  .discovery-mood {
    min-height: auto;
  }

  .discovery-orientation {
    padding: 26px 20px;
  }

  .discovery-observer-note {
    flex-direction: column;
  }

  .discovery-bottom {
    padding: 28px 22px;
  }

  .discovery-detail-list > div {
    grid-template-columns: 22px 1fr;
  }

  .discovery-detail-list strong {
    grid-column: 2;
    text-align: left;
  }
}

@media (max-width: 420px) {
  .discovery-heading h2 {
    font-size: 39px;
  }

  .discovery-tab {
    flex-direction: column;
    gap: 5px;
  }

  .discovery-panel-media,
  .discovery-panel-visual,
  .discovery-panel-media img {
    height: 300px;
    min-height: 300px;
  }

  .discovery-zone-screen {
    min-height: 170px;
  }

  .discovery-zone-terminals span {
    width: 60px;
    height: 70px;
  }
}

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


/* ========================================
   DINING SECTION
   ROYAL GOLD / EMERALD / ROYAL VIOLET
   ======================================== */

.dining-section {
  --d-gold: #c7a56b;
  --d-gold-light: #e9d5aa;
  --d-emerald: #236657;
  --d-violet: #bfaacf;
  --d-text: #f5f0e9;
  --d-muted: rgba(245,240,233,.62);
  --d-border: rgba(199,165,107,.17);
  position: relative;
  overflow: hidden;
  padding: 115px 0;
  color: var(--d-text);
  background:
    radial-gradient(circle at 85% 8%,rgba(35,102,87,.15),transparent 30%),
    radial-gradient(circle at 6% 60%,rgba(191,170,207,.07),transparent 28%),
    #0c1015;
}

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

.dining-section > .container {
  position: relative;
  z-index: 1;
}

.dining-kicker {
  display: block;
  margin-bottom: 15px;
  color: var(--d-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.dining-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 65px;
  align-items: end;
  margin-bottom: 60px;
}

.dining-heading h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(42px,5vw,70px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.dining-heading h2 em,
.dining-package h3 em {
  color: var(--d-gold-light);
  font-style: normal;
}

.dining-heading > p,
.dining-subheading p {
  margin: 0;
  color: var(--d-muted);
  font-size: 16px;
  line-height: 1.85;
}

/* INTRO */

.dining-intro {
  display: grid;
  grid-template-columns: .92fr 1.08fr;
  gap: 58px;
  align-items: center;
  margin-bottom: 105px;
}

.dining-intro-media,
.dining-terrace-photo {
  position: relative;
  min-height: 550px;
  overflow: hidden;
  border: 1px solid var(--d-border);
  border-radius: 30px;
  background: #172521;
}

.dining-intro-media img,
.dining-terrace-photo img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 550px;
  object-fit: cover;
}

.dining-intro-media::after,
.dining-terrace-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(5,10,12,.78),transparent 55%);
  pointer-events: none;
}

.dining-media-caption,
.dining-photo-badge {
  position: absolute;
  left: 27px;
  bottom: 27px;
  z-index: 2;
  padding: 18px 21px;
  border: 1px solid rgba(199,165,107,.25);
  border-radius: 18px;
  background: rgba(12,16,21,.8);
  backdrop-filter: blur(15px);
}

.dining-media-caption span {
  display: block;
  margin-bottom: 7px;
  color: var(--d-gold-light);
  font-size: 10px;
  letter-spacing: .14em;
}

.dining-media-caption strong {
  color: #fff;
  font-size: 20px;
}

.dining-intro-content h3,
.dining-terrace-copy h3 {
  margin-bottom: 23px;
  color: #fff;
  font-size: clamp(32px,3.6vw,48px);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.dining-intro-content > p,
.dining-terrace-copy > p {
  margin-bottom: 18px;
  color: var(--d-muted);
  font-size: 15px;
  line-height: 1.85;
}

.dining-award {
  display: flex;
  gap: 17px;
  margin: 27px 0;
  padding: 23px;
  border: 1px solid rgba(191,170,207,.22);
  border-radius: 20px;
  background: rgba(191,170,207,.055);
}

.dining-award-icon {
  display: grid;
  place-items: center;
  flex: 0 0 47px;
  width: 47px;
  height: 47px;
  border-radius: 14px;
  background: rgba(199,165,107,.12);
  color: var(--d-gold-light);
  font-size: 23px;
}

.dining-award strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 19px;
}

.dining-award p {
  margin: 0;
  color: var(--d-muted);
  font-size: 13px;
  line-height: 1.75;
}

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

.dining-intro-facts > div {
  padding: 18px 13px;
  border: 1px solid var(--d-border);
  border-radius: 15px;
  background: rgba(35,102,87,.11);
}

.dining-intro-facts span,
.dining-terrace-facts span {
  display: block;
  margin-bottom: 8px;
  color: var(--d-violet);
  font-size: 10px;
  letter-spacing: .1em;
}

.dining-intro-facts strong {
  color: #fff;
  font-size: 13px;
  line-height: 1.5;
}

/* CONCEPT */

.dining-concept,
.dining-visit,
.dining-questions {
  margin-bottom: 105px;
}

.dining-subheading {
  max-width: 800px;
  margin-bottom: 36px;
}

.dining-subheading h3 {
  margin-bottom: 16px;
  color: #fff;
  font-size: clamp(32px,3.8vw,49px);
  line-height: 1.12;
  letter-spacing: -.035em;
}

.dining-concept-grid {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 15px;
}

.dining-concept-card {
  min-height: 275px;
  padding: 28px;
  border: 1px solid var(--d-border);
  border-radius: 23px;
  background: linear-gradient(145deg,rgba(35,102,87,.16),rgba(191,170,207,.025));
  transition: transform .3s ease,border-color .3s ease;
}

.dining-concept-card:hover {
  transform: translateY(-5px);
  border-color: rgba(199,165,107,.4);
}

.dining-concept-card > span {
  float: right;
  color: rgba(233,213,170,.4);
  font-size: 12px;
}

.dining-concept-card > i {
  display: block;
  margin-bottom: 40px;
  color: var(--d-gold);
  font-size: 27px;
}

.dining-concept-card h4 {
  margin-bottom: 14px;
  color: #fff;
  font-size: 21px;
}

.dining-concept-card p {
  margin: 0;
  color: var(--d-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* INTERACTIVE MENU */

.dining-menu {
  overflow: hidden;
  margin-bottom: 105px;
  padding: 42px;
  border: 1px solid rgba(199,165,107,.23);
  border-radius: 31px;
  background:
    radial-gradient(circle at 96% 0,rgba(191,170,207,.12),transparent 34%),
    #141b20;
}

.dining-menu-header {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 30px;
}

.dining-menu-header h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: clamp(30px,3.5vw,44px);
}

.dining-menu-header p {
  max-width: 690px;
  margin: 0;
  color: var(--d-muted);
  line-height: 1.75;
  font-size: 14px;
}

.dining-menu-symbol {
  color: rgba(199,165,107,.4);
  font-size: 55px;
}

.dining-menu-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 22px;
}

.dining-menu-tab {
  min-height: 53px;
  padding: 11px 15px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  background: rgba(255,255,255,.03);
  color: rgba(245,240,233,.72);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: .25s ease;
}

.dining-menu-tab:hover,
.dining-menu-tab:focus-visible,
.dining-menu-tab.is-active {
  color: #fff;
  border-color: rgba(199,165,107,.48);
  background: linear-gradient(120deg,rgba(35,102,87,.48),rgba(199,165,107,.11));
}

.dining-menu-panel {
  display: grid;
  grid-template-columns: 1fr .78fr;
  gap: 35px;
  min-height: 390px;
  padding: 38px;
  border: 1px solid var(--d-border);
  border-radius: 24px;
  background: rgba(6,15,19,.54);
}

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

.dining-menu-text {
  align-self: center;
}

.dining-menu-index {
  display: block;
  margin-bottom: 16px;
  color: var(--d-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

.dining-menu-text h4 {
  margin-bottom: 20px;
  color: #fff;
  font-size: clamp(27px,3vw,39px);
  line-height: 1.14;
}

.dining-menu-text p {
  color: var(--d-muted);
  font-size: 14px;
  line-height: 1.8;
}

.dining-menu-points {
  display: grid;
  gap: 12px;
  margin-top: 25px;
}

.dining-menu-points div {
  display: flex;
  align-items: start;
  gap: 11px;
  color: rgba(245,240,233,.8);
  font-size: 13px;
}

.dining-menu-points i {
  color: var(--d-gold);
}

.dining-menu-art {
  display: grid;
  place-items: center;
  min-height: 320px;
  padding: 30px;
  border: 1px solid rgba(199,165,107,.21);
  border-radius: 22px;
  background:
    radial-gradient(circle at center,rgba(199,165,107,.2),transparent 60%),
    linear-gradient(145deg,#244239,#171c27);
}

.dining-menu-art--season {
  background:
    radial-gradient(circle at center,rgba(35,102,87,.35),transparent 65%),
    linear-gradient(145deg,#182b28,#2a2231);
}

.dining-menu-art--drinks {
  background:
    radial-gradient(circle at center,rgba(191,170,207,.23),transparent 65%),
    linear-gradient(145deg,#292038,#17312b);
}

.dining-menu-art-inner {
  width: 100%;
  padding: 35px 15px;
  border: 1px solid rgba(233,213,170,.25);
  border-radius: 120px 120px 15px 15px;
  text-align: center;
}

.dining-menu-art-inner > i {
  display: block;
  margin-bottom: 30px;
  color: var(--d-gold-light);
  font-size: 49px;
}

.dining-menu-art-inner > span {
  display: block;
  margin-bottom: 15px;
  color: var(--d-violet);
  font-size: 10px;
  letter-spacing: .22em;
}

.dining-menu-art-inner strong {
  display: block;
  color: #fff;
  font-size: clamp(23px,3vw,38px);
  letter-spacing: .04em;
}

.dining-menu-art-inner small {
  color: var(--d-gold);
}

.dining-menu-art-inner p {
  margin: 18px 0 0;
  color: var(--d-gold-light);
  font-size: 12px;
}

.dining-menu-disclaimer {
  display: flex;
  gap: 10px;
  margin: 21px 0 0;
  color: rgba(245,240,233,.45);
  font-size: 12px;
  line-height: 1.6;
}

/* PACKAGE */

.dining-package {
  display: grid;
  grid-template-columns: 1fr .8fr;
  overflow: hidden;
  margin-bottom: 105px;
  border: 1px solid var(--d-border);
  border-radius: 31px;
  background: #131b20;
}

.dining-package-copy {
  padding: clamp(30px,4.5vw,60px);
}

.dining-package h3 {
  margin-bottom: 25px;
  color: #fff;
  font-size: clamp(34px,4vw,53px);
  line-height: 1.09;
}

.dining-package-copy > p {
  color: var(--d-muted);
  font-size: 15px;
  line-height: 1.8;
}

.dining-package-includes {
  display: grid;
  gap: 12px;
  margin: 30px 0;
}

.dining-package-includes > div {
  display: flex;
  align-items: center;
  gap: 14px;
  color: #f5f0e9;
  font-size: 14px;
}

.dining-package-includes i {
  display: grid;
  place-items: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  color: var(--d-gold-light);
  background: rgba(199,165,107,.1);
}

.dining-package-copy .dining-package-note {
  margin-bottom: 25px;
  color: rgba(245,240,233,.46);
  font-size: 12px;
}

.dining-package-visual {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 35px;
  padding: 48px;
  background:
    radial-gradient(circle at 50% 30%,rgba(199,165,107,.19),transparent 57%),
    linear-gradient(140deg,#203f37,#241b2d);
}

.dining-package-mark {
  padding: 55px 18px;
  border: 2px solid rgba(199,165,107,.35);
  border-radius: 170px 170px 20px 20px;
  text-align: center;
}

.dining-package-mark > span {
  display: block;
  color: var(--d-gold-light);
  font-size: 10px;
  letter-spacing: .18em;
}

.dining-package-mark strong {
  display: block;
  margin: 29px 0;
  color: #fff;
  font-size: clamp(38px,5vw,65px);
  line-height: 1.05;
}

.dining-package-mark em {
  font-style: normal;
  color: var(--d-gold);
}

.dining-package-rule {
  width: 90px;
  height: 1px;
  margin: 0 auto 25px;
  background: var(--d-gold);
}

.dining-package-price {
  text-align: center;
}

.dining-package-price span,
.dining-package-price small {
  display: block;
  color: rgba(245,240,233,.65);
  font-size: 12px;
}

.dining-package-price strong {
  display: block;
  margin: 9px 0;
  color: var(--d-gold-light);
  font-size: 55px;
}

.dining-primary-link,
.dining-secondary-link,
.dining-contact-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 49px;
  padding: 0 23px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  transition: transform .25s ease;
}

.dining-primary-link {
  background: linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color: #17150f;
}

.dining-primary-link:hover {
  color: #17150f;
  transform: translateY(-2px);
}

/* TERRACE */

.dining-terrace {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  align-items: center;
  margin-bottom: 105px;
}

.dining-photo-badge {
  color: var(--d-gold-light);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
}

.dining-terrace-facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin: 30px 0;
}

.dining-terrace-facts > div {
  padding: 22px;
  border: 1px solid var(--d-border);
  border-radius: 19px;
  background: rgba(35,102,87,.12);
}

.dining-terrace-facts i {
  display: block;
  margin-bottom: 17px;
  color: var(--d-gold);
  font-size: 22px;
}

.dining-terrace-facts strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 16px;
}

.dining-terrace-copy .dining-terrace-note {
  color: var(--d-violet);
  font-size: 12px;
}

/* VISIT */

.dining-visit-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 16px;
}

.dining-visit-card {
  min-height: 295px;
  padding: 31px;
  border: 1px solid var(--d-border);
  border-radius: 24px;
  background: linear-gradient(145deg,rgba(35,102,87,.15),rgba(191,170,207,.03));
}

.dining-visit-card > i {
  display: block;
  margin-bottom: 30px;
  color: var(--d-gold);
  font-size: 26px;
}

.dining-visit-card > span {
  display: block;
  margin-bottom: 12px;
  color: var(--d-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.dining-visit-card h4 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 22px;
}

.dining-visit-card strong {
  display: block;
  margin-bottom: 17px;
  color: var(--d-gold-light);
  font-size: 18px;
}

.dining-visit-card p {
  margin: 0;
  color: var(--d-muted);
  font-size: 13px;
  line-height: 1.75;
}

.dining-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 25px;
  margin-top: 17px;
  padding: 33px;
  border: 1px solid var(--d-border);
  border-radius: 23px;
  background: rgba(199,165,107,.055);
}

.dining-contact span {
  display: block;
  margin-bottom: 10px;
  color: var(--d-gold);
  font-size: 10px;
  letter-spacing: .15em;
}

.dining-contact h4 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 22px;
}

.dining-contact p {
  margin: 0;
  color: var(--d-muted);
  line-height: 1.8;
  font-size: 14px;
}

.dining-contact-link,
.dining-secondary-link {
  border: 1px solid rgba(191,170,207,.4);
  color: #fff;
}

.dining-contact-link:hover,
.dining-secondary-link:hover {
  color: var(--d-gold-light);
  border-color: var(--d-gold);
  transform: translateY(-2px);
}

/* QUESTIONS */

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

.dining-questions-grid article {
  padding: 28px;
  border: 1px solid var(--d-border);
  border-radius: 22px;
  background: rgba(255,255,255,.025);
}

.dining-questions-grid h4 {
  margin-bottom: 13px;
  color: #fff;
  font-size: 19px;
}

.dining-questions-grid p {
  margin: 0;
  color: var(--d-muted);
  font-size: 14px;
  line-height: 1.8;
}

/* BOTTOM */

.dining-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 39px;
  border: 1px solid rgba(199,165,107,.3);
  border-radius: 27px;
  background: linear-gradient(115deg,rgba(35,102,87,.28),rgba(191,170,207,.08));
}

.dining-bottom > div:first-child {
  max-width: 650px;
}

.dining-bottom > div:first-child > span {
  display: block;
  margin-bottom: 12px;
  color: var(--d-gold-light);
  font-size: 10px;
  letter-spacing: .15em;
}

.dining-bottom h3 {
  margin-bottom: 13px;
  color: #fff;
  font-size: clamp(25px,3vw,35px);
}

.dining-bottom p {
  margin: 0;
  color: var(--d-muted);
  font-size: 14px;
  line-height: 1.7;
}

.dining-bottom-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

/* RESPONSIVE */

@media (max-width: 1199px) {
  .dining-concept-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .dining-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 991px) {
  .dining-section {
    padding: 80px 0;
  }

  .dining-heading,
  .dining-intro,
  .dining-package,
  .dining-terrace,
  .dining-menu-panel {
    grid-template-columns: 1fr;
    gap: 30px;
  }

  .dining-intro-media,
  .dining-intro-media img,
  .dining-terrace-photo,
  .dining-terrace-photo img {
    min-height: 410px;
    height: 410px;
  }

  .dining-visit-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .dining-visit-card:last-child {
    grid-column: 1 / -1;
  }

  .dining-package-visual {
    padding: 30px;
  }

  .dining-package-mark {
    max-width: 480px;
    margin: auto;
    width: 100%;
  }
}

@media (max-width: 767px) {
  .dining-menu {
    padding: 22px;
  }

  .dining-menu-panel {
    padding: 22px;
  }

  .dining-menu-tabs {
    grid-template-columns: 1fr;
  }

  .dining-menu-art {
    min-height: 275px;
  }

  .dining-intro-facts,
  .dining-concept-grid,
  .dining-visit-grid,
  .dining-questions-grid,
  .dining-terrace-facts {
    grid-template-columns: 1fr;
  }

  .dining-visit-card:last-child {
    grid-column: auto;
  }

  .dining-concept-card,
  .dining-visit-card {
    min-height: auto;
  }

  .dining-contact {
    flex-direction: column;
    align-items: flex-start;
  }

  .dining-bottom {
    padding: 26px;
  }

  .dining-intro-media,
  .dining-intro-media img,
  .dining-terrace-photo,
  .dining-terrace-photo img {
    min-height: 340px;
    height: 340px;
  }
}

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

/* ==========================================
   DINING EDITORIAL
   Royal Gold / Emerald / Royal Violet
   ========================================== */

.dining-editorial {
  --de-gold: #c7a56b;
  --de-light: #e9d5aa;
  --de-emerald: #236657;
  --de-violet: #bfaacf;
  --de-border: rgba(199,165,107,.19);
  --de-muted: rgba(245,240,233,.65);
  background: #0c1015;
  color: #f5f0e9;
  padding: 115px 0;
  overflow: hidden;
}

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

.dining-editorial figure {
  margin: 0;
}

.dining-editorial img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

.dining-ed-kicker {
  display: block;
  color: var(--de-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .18em;
  margin-bottom: 17px;
}

.dining-ed-heading {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: 75px;
  align-items: end;
  margin-bottom: 70px;
}

.dining-ed-heading h2 {
  color: #fff;
  font-size: clamp(43px,5vw,75px);
  letter-spacing: -.05em;
  line-height: 1.04;
}

.dining-ed-heading h2 em,
.dining-ed-package-frame em {
  color: var(--de-gold);
  font-style: normal;
}

.dining-ed-number {
  display: block;
  color: var(--de-violet);
  font-size: 11px;
  letter-spacing: .15em;
  margin-bottom: 18px;
}

.dining-ed-heading-aside p,
.dining-ed-section-top p,
.dining-ed-intro-copy > p,
.dining-ed-terrace-bottom p {
  color: var(--de-muted);
  font-size: 15px;
  line-height: 1.85;
}

/* INTRO IMAGE COLLAGE */

.dining-ed-intro {
  display: grid;
  grid-template-columns: 1fr .9fr;
  align-items: center;
  gap: 75px;
  margin-bottom: 120px;
}

.dining-ed-photo-composition {
  position: relative;
  min-height: 730px;
  padding: 0 70px 90px 0;
}

.dining-ed-photo-main {
  position: relative;
  width: 100%;
  height: 650px;
  overflow: hidden;
  border-radius: 190px 190px 22px 22px;
  border: 1px solid var(--de-border);
  background: #182821;
}

.dining-ed-photo-main::after,
.dining-ed-mosaic-feature::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(5,10,14,.8),transparent 50%);
  pointer-events: none;
}

.dining-ed-photo-main figcaption,
.dining-ed-mosaic-feature figcaption {
  position: absolute;
  z-index: 2;
  left: 30px;
  bottom: 32px;
  right: 25px;
}

.dining-ed-photo-main figcaption span,
.dining-ed-mosaic-feature figcaption span {
  display: block;
  color: var(--de-light);
  font-size: 10px;
  letter-spacing: .16em;
  margin-bottom: 10px;
}

.dining-ed-photo-main figcaption strong,
.dining-ed-mosaic-feature figcaption strong {
  color: #fff;
  font-size: 24px;
  line-height: 1.2;
}

.dining-ed-photo-overlap {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 15px;
  width: 47%;
  height: 315px;
  overflow: hidden;
  border: 7px solid #0c1015;
  border-radius: 150px 150px 20px 20px;
  background: #22372e;
  box-shadow: 0 20px 70px rgba(0,0,0,.45);
}

.dining-ed-photo-seal {
  position: absolute;
  z-index: 4;
  left: 15px;
  bottom: 50px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 16px 19px;
  border-radius: 17px;
  border: 1px solid rgba(199,165,107,.45);
  background: #17251f;
  color: var(--de-light);
  box-shadow: 0 15px 45px rgba(0,0,0,.3);
}

.dining-ed-photo-seal i {
  font-size: 29px;
}

.dining-ed-photo-seal span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.4;
}

.dining-ed-intro-copy h3 {
  color: #fff;
  font-size: clamp(32px,3.6vw,50px);
  line-height: 1.12;
  margin-bottom: 25px;
}

.dining-ed-award-note {
  display: flex;
  gap: 18px;
  padding: 25px;
  margin: 30px 0;
  border-left: 3px solid var(--de-gold);
  background: rgba(191,170,207,.065);
  border-radius: 0 19px 19px 0;
}

.dining-ed-award-note > i {
  color: var(--de-light);
  font-size: 26px;
}

.dining-ed-award-note strong {
  display: block;
  color: #fff;
  margin-bottom: 10px;
  font-size: 18px;
}

.dining-ed-award-note p {
  color: var(--de-muted);
  font-size: 13px;
  line-height: 1.75;
  margin: 0;
}

.dining-ed-facts {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}

.dining-ed-facts div {
  padding: 19px 12px;
  border-top: 1px solid var(--de-border);
}

.dining-ed-facts strong {
  display: block;
  color: var(--de-light);
  font-size: 18px;
  margin-bottom: 9px;
}

.dining-ed-facts span {
  color: var(--de-muted);
  font-size: 11px;
}

/* SECTION HEADINGS */

.dining-ed-section-top {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 35px;
  margin-bottom: 38px;
}

.dining-ed-section-top h3,
.dining-ed-menu-heading h3,
.dining-ed-practical h3,
.dining-ed-faq > h3 {
  color: #fff;
  font-size: clamp(32px,4vw,51px);
  line-height: 1.12;
}

.dining-ed-section-top > p {
  max-width: 430px;
  margin: 0;
}

/* ASYMMETRIC FOOD MOSAIC */

.dining-ed-culinary {
  margin-bottom: 115px;
}

.dining-ed-mosaic {
  display: grid;
  grid-template-columns: 1.3fr .72fr .73fr;
  gap: 18px;
  align-items: stretch;
}

.dining-ed-mosaic-feature,
.dining-ed-mosaic-small {
  position: relative;
  overflow: hidden;
  min-height: 490px;
  border: 1px solid var(--de-border);
  background: #1b2826;
}

.dining-ed-mosaic-feature {
  border-radius: 24px 24px 24px 120px;
}

.dining-ed-mosaic-small {
  border-radius: 120px 120px 20px 20px;
}

.dining-ed-mosaic-small figcaption {
  position: absolute;
  right: 0;
  bottom: 24px;
  left: 0;
  text-align: center;
  color: #fff;
  font-size: 11px;
  letter-spacing: .15em;
  text-shadow: 0 2px 15px #000;
}

.dining-ed-mosaic-text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 30px;
  border: 1px solid var(--de-border);
  border-radius: 25px;
  background: linear-gradient(145deg,#19372e,#1c1b27);
}

.dining-ed-mosaic-text > span {
  color: var(--de-light);
  font-size: 10px;
  letter-spacing: .13em;
}

.dining-ed-mosaic-text > i {
  color: var(--de-gold);
  font-size: 44px;
  margin: 30px 0;
}

.dining-ed-mosaic-text h4 {
  color: #fff;
  font-size: 28px;
  margin-bottom: 16px;
}

.dining-ed-mosaic-text p {
  color: var(--de-muted);
  font-size: 14px;
  line-height: 1.8;
}

.dining-ed-image-note {
  color: rgba(245,240,233,.42);
  font-size: 12px;
  margin-top: 17px;
}

/* INTERACTIVE MENU */

.dining-ed-menu {
  padding: 48px;
  margin-bottom: 115px;
  border: 1px solid var(--de-border);
  border-radius: 30px;
  background:
    radial-gradient(circle at top right,rgba(191,170,207,.1),transparent 35%),
    #151b21;
}

.dining-ed-menu-heading {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 30px;
}

.dining-ed-menu-heading p {
  max-width: 650px;
  margin-top: 16px;
  color: var(--de-muted);
  line-height: 1.8;
}

.dining-ed-menu-stamp {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 130px;
  height: 130px;
  flex: 0 0 130px;
  border: 1px solid rgba(199,165,107,.35);
  border-radius: 50%;
  transform: rotate(10deg);
  color: var(--de-light);
}

.dining-ed-menu-stamp i {
  font-size: 36px;
}

.dining-ed-menu-stamp span {
  font-size: 9px;
  letter-spacing: .1em;
}

.dining-ed-menu-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 20px;
}

.dining-ed-menu-tab {
  min-height: 55px;
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  background: rgba(255,255,255,.03);
  color: #b9bbc0;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.dining-ed-menu-tab.is-active,
.dining-ed-menu-tab:hover,
.dining-ed-menu-tab:focus-visible {
  color: #fff;
  background: rgba(35,102,87,.35);
  border-color: var(--de-gold);
}

.dining-ed-menu-panel[hidden] {
  display: none !important;
}

.dining-ed-menu-panel {
  padding: 35px;
  border-radius: 20px;
  background: rgba(6,13,17,.48);
  border: 1px solid rgba(199,165,107,.12);
}

.dining-ed-menu-intro {
  max-width: 760px;
  margin-bottom: 28px;
}

.dining-ed-menu-intro > span {
  color: var(--de-violet);
  font-size: 10px;
  letter-spacing: .14em;
}

.dining-ed-menu-intro h4 {
  margin: 13px 0;
  color: #fff;
  font-size: 29px;
}

.dining-ed-menu-intro p {
  color: var(--de-muted);
  font-size: 14px;
}

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

.dining-ed-food-card {
  min-height: 185px;
  padding: 25px;
  border: 1px solid var(--de-border);
  border-radius: 17px;
  background: linear-gradient(135deg,rgba(35,102,87,.16),rgba(191,170,207,.04));
}

.dining-ed-food-card > span {
  color: var(--de-gold);
  font-size: 10px;
  letter-spacing: .13em;
}

.dining-ed-food-card h5 {
  margin: 20px 0 13px;
  color: #fff;
  font-size: 19px;
  line-height: 1.25;
}

.dining-ed-food-card p {
  margin: 0;
  color: var(--de-muted);
  font-size: 13px;
  line-height: 1.6;
}

.dining-ed-menu-foot {
  display: flex;
  gap: 12px;
  margin-top: 24px;
  color: rgba(245,240,233,.48);
  font-size: 12px;
}

.dining-ed-menu-foot i {
  color: var(--de-violet);
}

.dining-ed-menu-foot p {
  margin: 0;
  line-height: 1.7;
}

/* DINNER & CASINO */

.dining-ed-package {
  display: grid;
  grid-template-columns: .82fr 1.18fr;
  overflow: hidden;
  border: 1px solid var(--de-border);
  border-radius: 30px;
  margin-bottom: 115px;
}

.dining-ed-package-art {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  padding: 42px;
  min-height: 645px;
  background:
    radial-gradient(circle at 50% 40%,rgba(199,165,107,.21),transparent 48%),
    linear-gradient(155deg,#253b36,#251d32);
}

.dining-ed-package-top {
  color: var(--de-light);
  font-size: 10px;
  letter-spacing: .18em;
}

.dining-ed-package-frame {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: 345px;
  min-height: 390px;
  border: 2px solid rgba(199,165,107,.50);
  border-radius: 180px 180px 20px 20px;
  text-align: center;
}

.dining-ed-package-frame > i {
  color: var(--de-gold);
  font-size: 38px;
  margin-bottom: 25px;
}

.dining-ed-package-frame strong {
  color: #fff;
  font-size: clamp(36px,4vw,61px);
  line-height: .99;
  letter-spacing: .05em;
}

.dining-ed-package-frame > span {
  color: var(--de-light);
  margin-top: 27px;
  font-size: 9px;
  letter-spacing: .14em;
}

.dining-ed-package-decor {
  display: flex;
  gap: 30px;
  color: var(--de-violet);
  font-size: 13px;
}

.dining-ed-package-decor i {
  color: var(--de-gold);
  margin-right: 8px;
}

.dining-ed-package-copy {
  padding: clamp(35px,5vw,70px);
  background: #151b20;
}

.dining-ed-package-copy h3 {
  color: #fff;
  font-size: clamp(34px,4vw,49px);
  line-height: 1.12;
  margin-bottom: 22px;
}

.dining-ed-package-copy > p {
  color: var(--de-muted);
  line-height: 1.85;
  font-size: 15px;
}

.dining-ed-package-flow {
  margin: 32px 0;
  border-top: 1px solid var(--de-border);
}

.dining-ed-package-flow > div {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 19px;
  padding: 22px 0;
  border-bottom: 1px solid var(--de-border);
}

.dining-ed-package-flow > div > span {
  color: var(--de-gold);
  font-size: 21px;
  font-weight: 800;
}

.dining-ed-package-flow strong {
  display: block;
  color: #fff;
  font-size: 17px;
  margin-bottom: 9px;
}

.dining-ed-package-flow p {
  color: var(--de-muted);
  line-height: 1.7;
  font-size: 13px;
  margin: 0;
}

.dining-ed-package-caution {
  font-size: 12px !important;
  color: rgba(245,240,233,.48) !important;
}

.dining-ed-primary,
.dining-ed-outline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 13px;
  min-height: 49px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
}

.dining-ed-primary {
  background: linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color: #17150f;
}

.dining-ed-primary:hover {
  color: #17150f;
  filter: brightness(1.1);
}

.dining-ed-outline {
  border: 1px solid rgba(191,170,207,.45);
  color: #fff;
}

.dining-ed-outline:hover {
  color: var(--de-light);
  border-color: var(--de-gold);
}

/* FULL-WIDTH TERRACE */

.dining-ed-terrace {
  margin-bottom: 115px;
}

.dining-ed-terrace-image {
  position: relative;
  height: 520px;
  overflow: hidden;
  border-radius: 30px 30px 0 0;
  background: #183328;
}

.dining-ed-terrace-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top,rgba(5,12,14,.5),transparent 55%);
}

.dining-ed-terrace-caption {
  position: absolute;
  z-index: 2;
  bottom: 28px;
  left: 30px;
  color: #fff;
  font-size: 12px;
  letter-spacing: .16em;
}

.dining-ed-terrace-bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 55px;
  padding: 40px;
  border: 1px solid var(--de-border);
  border-top: 0;
  border-radius: 0 0 30px 30px;
  background: #16231f;
}

.dining-ed-terrace-bottom h3 {
  color: #fff;
  font-size: clamp(30px,3vw,44px);
}

.dining-ed-season-note {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin-top: 13px;
  color: var(--de-light);
  font-size: 12px;
}

/* RESERVATION */

.dining-ed-practical {
  margin-bottom: 110px;
}

.dining-ed-practical-layout {
  display: grid;
  grid-template-columns: .75fr 1.25fr;
  gap: 17px;
}

.dining-ed-hours {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 430px;
  padding: 38px;
  border: 1px solid var(--de-border);
  border-radius: 25px;
  background: linear-gradient(150deg,#24463a,#201e2d);
}

.dining-ed-hours > span {
  color: var(--de-light);
  font-size: 11px;
  letter-spacing: .12em;
}

.dining-ed-hours > strong {
  display: block;
  margin: 25px 0;
  color: #fff;
  font-size: clamp(38px,4vw,62px);
  line-height: 1;
  white-space: nowrap;
}

.dining-ed-hours small {
  color: var(--de-gold);
}

.dining-ed-hours h4 {
  color: #fff;
  font-size: 23px;
  margin-bottom: 15px;
}

.dining-ed-hours p {
  color: var(--de-muted);
  line-height: 1.75;
  font-size: 13px;
}

.dining-ed-hours-rule {
  height: 1px;
  margin: 25px 0;
  background: rgba(199,165,107,.25);
}

.dining-ed-practical-cards {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}

.dining-ed-practical-cards article {
  padding: 27px;
  border: 1px solid var(--de-border);
  border-radius: 22px;
  background: rgba(255,255,255,.03);
}

.dining-ed-practical-cards i {
  color: var(--de-gold);
  font-size: 25px;
}

.dining-ed-practical-cards h4 {
  margin: 25px 0 12px;
  color: #fff;
  font-size: 20px;
}

.dining-ed-practical-cards p {
  overflow-wrap: anywhere;
  color: var(--de-muted);
  font-size: 13px;
  line-height: 1.8;
}

.dining-ed-practical-cards a {
  color: var(--de-light);
  font-size: 12px;
  font-weight: 700;
}

.dining-ed-practical-cards a i {
  font-size: 13px;
}

/* FAQ */

.dining-ed-faq {
  margin-bottom: 95px;
}

.dining-ed-faq > h3 {
  margin-bottom: 35px;
}

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

.dining-ed-faq-grid article {
  display: grid;
  grid-template-columns: 38px 1fr;
  column-gap: 18px;
  padding: 28px;
  border: 1px solid var(--de-border);
  border-radius: 21px;
  background: rgba(35,102,87,.075);
}

.dining-ed-faq-grid article span {
  grid-row: span 2;
  color: var(--de-gold);
  font-weight: 800;
}

.dining-ed-faq-grid h4 {
  color: #fff;
  font-size: 19px;
  margin-bottom: 13px;
}

.dining-ed-faq-grid p {
  color: var(--de-muted);
  font-size: 13px;
  line-height: 1.8;
}

/* CLOSING */

.dining-ed-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
  padding: 38px;
  border: 1px solid rgba(199,165,107,.3);
  border-radius: 26px;
  background: linear-gradient(110deg,rgba(35,102,87,.28),rgba(191,170,207,.065));
}

.dining-ed-bottom > div:first-child {
  max-width: 650px;
}

.dining-ed-bottom span {
  display: block;
  margin-bottom: 13px;
  color: var(--de-light);
  font-size: 10px;
  letter-spacing: .15em;
}

.dining-ed-bottom h3 {
  color: #fff;
  font-size: clamp(26px,3vw,37px);
  margin-bottom: 13px;
}

.dining-ed-bottom p {
  color: var(--de-muted);
  margin: 0;
}

.dining-ed-bottom-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

/* RESPONSIVE */

@media (max-width: 1199px) {
  .dining-ed-intro {
    gap: 35px;
  }

  .dining-ed-mosaic {
    grid-template-columns: 1.1fr .9fr;
  }

  .dining-ed-mosaic-small {
    grid-column: 1 / -1;
    min-height: 310px;
    max-height: 360px;
    border-radius: 22px;
  }

  .dining-ed-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 991px) {
  .dining-editorial {
    padding: 80px 0;
  }

  .dining-ed-heading,
  .dining-ed-intro,
  .dining-ed-package,
  .dining-ed-terrace-bottom,
  .dining-ed-practical-layout {
    grid-template-columns: 1fr;
  }

  .dining-ed-heading {
    gap: 25px;
  }

  .dining-ed-intro {
    gap: 25px;
  }

  .dining-ed-photo-composition {
    max-width: 650px;
    min-height: 610px;
  }

  .dining-ed-photo-main {
    height: 560px;
  }

  .dining-ed-package-art {
    min-height: 530px;
  }
}

@media (max-width: 767px) {
  .dining-ed-section-top,
  .dining-ed-menu-heading {
    flex-direction: column;
    align-items: flex-start;
  }

  .dining-ed-photo-composition {
    min-height: 480px;
    padding-right: 35px;
  }

  .dining-ed-photo-main {
    height: 420px;
  }

  .dining-ed-photo-overlap {
    width: 46%;
    height: 205px;
  }

  .dining-ed-photo-main figcaption strong {
    font-size: 17px;
  }

  .dining-ed-mosaic {
    grid-template-columns: 1fr;
  }

  .dining-ed-mosaic-feature,
  .dining-ed-mosaic-small {
    min-height: 310px;
    max-height: none;
    grid-column: auto;
    border-radius: 22px;
  }

  .dining-ed-mosaic-text {
    min-height: 290px;
  }

  .dining-ed-menu {
    padding: 23px;
  }

  .dining-ed-menu-panel {
    padding: 22px;
  }

  .dining-ed-food-grid,
  .dining-ed-practical-cards,
  .dining-ed-faq-grid {
    grid-template-columns: 1fr;
  }

  .dining-ed-menu-stamp {
    display: none;
  }

  .dining-ed-package-art,
  .dining-ed-package-copy {
    padding: 30px 23px;
  }

  .dining-ed-terrace-image {
    height: 350px;
  }

  .dining-ed-terrace-bottom {
    padding: 25px;
  }

  .dining-ed-facts {
    grid-template-columns: 1fr 1fr;
  }

  .dining-ed-bottom {
    padding: 27px;
  }
}

@media (max-width: 480px) {
  .dining-ed-heading h2 {
    font-size: 41px;
  }

  .dining-ed-photo-composition {
    min-height: 435px;
  }

  .dining-ed-photo-main {
    height: 385px;
  }

  .dining-ed-photo-overlap {
    height: 175px;
  }

  .dining-ed-photo-seal {
    left: 8px;
    bottom: 55px;
    padding: 10px;
  }

  .dining-ed-menu-tabs {
    grid-template-columns: 1fr;
  }

  .dining-ed-faq-grid article {
    grid-template-columns: 1fr;
  }

  .dining-ed-faq-grid article span {
    grid-row: auto;
    margin-bottom: 15px;
  }

  .dining-ed-hours {
    padding: 25px;
  }

  .dining-ed-hours > strong {
    font-size: 35px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dining-editorial *,
  .dining-editorial *::before,
  .dining-editorial *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
}

/* =====================================
   DINING LUXURY — CASINO RESTAURANT
   ===================================== */

.dining-luxury {
  --dl-gold: #c7a56b;
  --dl-light: #e9d5aa;
  --dl-emerald: #236657;
  --dl-violet: #bfaacf;
  --dl-muted: rgba(245,240,233,.66);
  --dl-border: rgba(199,165,107,.2);
  padding: 110px 0;
  background: radial-gradient(ellipse at 90% 10%,rgba(35,102,87,.16),transparent 38%),#0c1015;
  color: #f5f0e9;
  overflow: hidden;
}

.dining-luxury *, .dining-luxury *::before,
.dining-luxury *::after { box-sizing: border-box; }
.dining-luxury figure { margin: 0; }
.dining-luxury img { display: block; width: 100%; height: 100%; object-fit: cover; }
.dining-luxury h2, .dining-luxury h3,
.dining-luxury h4, .dining-luxury h5 { color: #fff; }
.dining-luxury em { color: var(--dl-gold); font-style: normal; }

.dining-luxury-kicker {
  display: block; color: var(--dl-gold); font-size: 11px;
  font-weight: 800; letter-spacing: .17em; margin-bottom: 17px;
}

.dining-luxury-heading {
  display: grid; grid-template-columns: 1.2fr .8fr;
  gap: 60px; align-items: end; margin-bottom: 65px;
}

.dining-luxury-heading h2 {
  font-size: clamp(42px,5.5vw,72px);
  line-height: 1.04; letter-spacing: -.045em;
}

.dining-luxury-heading > p, .dining-luxury-story-content > p,
.dining-luxury-section-heading p {
  color: var(--dl-muted); font-size: 16px; line-height: 1.85;
}

/* MAIN PHOTO & STORY */

.dining-luxury-story {
  display: grid; grid-template-columns: .9fr 1.1fr;
  gap: 65px; align-items: center; margin-bottom: 100px;
}

.dining-luxury-photo {
  position: relative; height: 610px; overflow: hidden;
  background: #1b3029; border: 1px solid var(--dl-border);
  border-radius: 220px 220px 24px 24px;
}

.dining-luxury-photo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top,rgba(5,10,14,.85),transparent 53%);
}

.dining-luxury-photo figcaption {
  position: absolute; z-index: 2; bottom: 35px;
  left: 30px; right: 25px;
}

.dining-luxury-photo figcaption span {
  display: block; color: var(--dl-light); font-size: 11px;
  letter-spacing: .14em; margin-bottom: 12px;
}

.dining-luxury-photo figcaption strong {
  color: #fff; font-size: clamp(21px,2.3vw,30px);
}

.dining-luxury-story-content h3 {
  font-size: clamp(32px,3.6vw,48px);
  line-height: 1.13; margin-bottom: 25px;
}

.dining-luxury-award {
  display: flex; gap: 20px; padding: 25px; margin: 27px 0;
  border: 1px solid rgba(191,170,207,.22); border-radius: 20px;
  background: rgba(191,170,207,.055);
}

.dining-luxury-award-icon {
  display: grid; place-items: center; flex: 0 0 55px;
  height: 55px; border-radius: 16px; font-size: 25px;
  background: rgba(199,165,107,.12); color: var(--dl-light);
}

.dining-luxury-award span {
  color: var(--dl-violet); font-size: 10px; letter-spacing: .13em;
}

.dining-luxury-award h4 { font-size: 20px; margin: 9px 0; }
.dining-luxury-award p {
  color: var(--dl-muted); font-size: 13px; line-height: 1.7; margin: 0;
}

.dining-luxury-facts {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}

.dining-luxury-facts div {
  padding: 19px 12px; border-top: 1px solid var(--dl-border);
}

.dining-luxury-facts strong {
  display: block; color: var(--dl-light);
  font-size: 18px; margin-bottom: 8px;
}

.dining-luxury-facts span { color: var(--dl-muted); font-size: 11px; }

/* CULINARY PHILOSOPHY */

.dining-luxury-philosophy, .dining-luxury-menu,
.dining-luxury-package, .dining-luxury-terrace,
.dining-luxury-practical, .dining-luxury-faq { margin-bottom: 100px; }

.dining-luxury-section-heading {
  max-width: 820px; margin-bottom: 38px;
}

.dining-luxury-section-heading h3,
.dining-luxury-menu-heading h3,
.dining-luxury-faq > h3 {
  font-size: clamp(31px,4vw,49px); line-height: 1.13;
}

.dining-luxury-philosophy-grid {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px;
}

.dining-luxury-philosophy-grid article {
  position: relative; min-height: 280px; padding: 34px;
  border: 1px solid var(--dl-border); border-radius: 26px;
  background: linear-gradient(140deg,rgba(35,102,87,.2),rgba(191,170,207,.035));
}

.dining-luxury-philosophy-grid article > span {
  position: absolute; top: 32px; right: 32px;
  color: rgba(199,165,107,.5); font-size: 12px;
}

.dining-luxury-philosophy-grid i {
  display: block; margin-bottom: 38px;
  font-size: 28px; color: var(--dl-gold);
}

.dining-luxury-philosophy-grid h4 { font-size: 23px; margin-bottom: 14px; }
.dining-luxury-philosophy-grid p {
  color: var(--dl-muted); font-size: 14px; line-height: 1.75; margin: 0;
}

/* MENU */

.dining-luxury-menu {
  padding: 45px; border: 1px solid var(--dl-border);
  border-radius: 30px; background: #141b21;
}

.dining-luxury-menu-heading {
  display: flex; justify-content: space-between; align-items: center;
  gap: 25px; margin-bottom: 32px;
}

.dining-luxury-menu-heading p {
  color: var(--dl-muted); line-height: 1.75;
  max-width: 670px; margin-top: 15px;
}

.dining-luxury-menu-emblem {
  display: grid; place-items: center; flex: 0 0 95px;
  height: 95px; border: 1px solid rgba(199,165,107,.3);
  border-radius: 50%; font-size: 39px; color: var(--dl-gold);
}

.dining-luxury-menu-tabs {
  display: grid; grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px; margin-bottom: 20px;
}

.dining-luxury-menu-tab {
  min-height: 55px; padding: 12px;
  color: rgba(245,240,233,.73); font-size: 13px;
  font-weight: 700; border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px; background: rgba(255,255,255,.025);
  cursor: pointer; transition: .25s ease;
}

.dining-luxury-menu-tab.is-active,
.dining-luxury-menu-tab:hover,
.dining-luxury-menu-tab:focus-visible {
  color: #fff; border-color: var(--dl-gold);
  background: rgba(35,102,87,.36);
}

.dining-luxury-menu-panel {
  display: grid; grid-template-columns: .66fr 1.34fr;
  gap: 45px; padding: 36px;
  border-radius: 22px; border: 1px solid var(--dl-border);
  background: #0c1418;
}

.dining-luxury-menu-panel[hidden] { display: none !important; }

.dining-luxury-menu-label > span {
  color: var(--dl-violet); font-size: 10px; letter-spacing: .12em;
}

.dining-luxury-menu-label h4 {
  margin: 15px 0; font-size: 32px; line-height: 1.2;
}

.dining-luxury-menu-label p {
  color: var(--dl-muted); font-size: 14px; line-height: 1.7;
}

.dining-luxury-menu-list article {
  display: flex; justify-content: space-between; align-items: start;
  gap: 16px; padding: 20px 0;
  border-bottom: 1px solid rgba(255,255,255,.09);
}

.dining-luxury-menu-list article:first-child { padding-top: 0; }
.dining-luxury-menu-list article:last-child { border-bottom: 0; }

.dining-luxury-menu-list h5 { font-size: 18px; margin-bottom: 8px; }
.dining-luxury-menu-list p {
  margin: 0; color: var(--dl-muted); font-size: 13px; line-height: 1.6;
}

.dining-luxury-menu-list article > span {
  color: var(--dl-gold); flex-shrink: 0; font-size: 10px;
  letter-spacing: .1em; font-weight: 800;
}

.dining-luxury-menu-note {
  display: flex; gap: 10px; margin: 22px 0 0;
  color: rgba(245,240,233,.48); font-size: 12px; line-height: 1.7;
}

.dining-luxury-menu-note i { color: var(--dl-violet); }

/* DINNER & CASINO */

.dining-luxury-package {
  display: grid; grid-template-columns: .8fr 1.2fr;
  overflow: hidden; border: 1px solid var(--dl-border);
  border-radius: 30px; background: #151c21;
}

.dining-luxury-package-art {
  display: grid; place-items: center; padding: 45px;
  background: radial-gradient(circle,rgba(199,165,107,.18),transparent 65%),
              linear-gradient(135deg,#244438,#292139);
}

.dining-luxury-package-arch {
  display: flex; flex-direction: column; align-items: center;
  justify-content: center; width: 100%; min-height: 435px;
  border: 2px solid rgba(199,165,107,.48);
  border-radius: 200px 200px 20px 20px; text-align: center;
  padding: 30px 15px;
}

.dining-luxury-package-arch > span {
  color: var(--dl-light); font-size: 10px; letter-spacing: .16em;
}

.dining-luxury-package-arch > i {
  color: var(--dl-gold); font-size: 42px; margin: 27px 0;
}

.dining-luxury-package-arch strong {
  color: #fff; font-size: clamp(37px,4vw,60px); line-height: 1;
  margin-bottom: 26px;
}

.dining-luxury-package-content { padding: clamp(30px,5vw,65px); }

.dining-luxury-package-content h3 {
  font-size: clamp(32px,3.7vw,48px);
  line-height: 1.12; margin-bottom: 23px;
}

.dining-luxury-package-content > p {
  color: var(--dl-muted); line-height: 1.85; font-size: 15px;
}

.dining-luxury-package-steps {
  margin: 30px 0; border-top: 1px solid var(--dl-border);
}

.dining-luxury-package-steps > div {
  display: grid; grid-template-columns: 45px 1fr; gap: 15px;
  padding: 19px 0; border-bottom: 1px solid var(--dl-border);
}

.dining-luxury-package-steps > div > span {
  color: var(--dl-gold); font-size: 22px; font-weight: 800;
}

.dining-luxury-package-steps strong { color: #fff; font-size: 17px; }
.dining-luxury-package-steps p {
  color: var(--dl-muted); font-size: 13px; margin: 8px 0 0;
}

.dining-luxury-package-content .dining-luxury-fineprint {
  font-size: 12px; color: rgba(245,240,233,.5);
}

.dining-luxury-btn,.dining-luxury-outline {
  display: inline-flex; align-items: center; justify-content: center;
  gap: 12px; min-height: 49px; padding: 0 23px;
  border-radius: 999px; font-size: 12px; font-weight: 800;
}

.dining-luxury-btn {
  background: linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color: #17150f;
}

.dining-luxury-btn:hover { color: #17150f; filter: brightness(1.1); }
.dining-luxury-outline {
  border: 1px solid rgba(191,170,207,.45); color: #fff;
}
.dining-luxury-outline:hover { color: var(--dl-light); }

/* TERRACE */

.dining-luxury-terrace-photo {
  position: relative; height: 490px;
  overflow: hidden; border-radius: 28px 28px 0 0;
  background: #1b382f;
}

.dining-luxury-terrace-photo::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(to top,rgba(5,12,14,.55),transparent 60%);
}

.dining-luxury-terrace-photo > span {
  position: absolute; z-index: 2; left: 32px; bottom: 30px;
  color: #fff; font-size: 12px; letter-spacing: .16em;
}

.dining-luxury-terrace-content {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 50px; padding: 40px;
  border: 1px solid var(--dl-border); border-top: 0;
  border-radius: 0 0 28px 28px; background: #16231f;
}

.dining-luxury-terrace-content h3 {
  font-size: clamp(29px,3vw,43px); line-height: 1.15;
}

.dining-luxury-terrace-content p {
  color: var(--dl-muted); line-height: 1.8; font-size: 15px;
}

.dining-luxury-season {
  display: inline-flex; gap: 12px; align-items: center;
  margin-top: 12px; color: var(--dl-light); font-size: 12px;
}

/* PRACTICAL */

.dining-luxury-practical-grid {
  display: grid; grid-template-columns: .8fr 1.2fr; gap: 17px;
}

.dining-luxury-hours {
  display: flex; flex-direction: column; justify-content: center;
  min-height: 380px; padding: 35px;
  border: 1px solid var(--dl-border); border-radius: 25px;
  background: linear-gradient(140deg,#244438,#282033);
}

.dining-luxury-hours > span {
  color: var(--dl-light); font-size: 11px; letter-spacing: .13em;
}

.dining-luxury-hours > strong {
  color: #fff; font-size: clamp(30px,3.4vw,49px);
  margin: 22px 0; line-height: 1.15;
}

.dining-luxury-hours h4 { font-size: 23px; margin-bottom: 15px; }
.dining-luxury-hours p {
  color: var(--dl-muted); font-size: 13px; line-height: 1.8;
}

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

.dining-luxury-contact > div {
  min-width: 0; padding: 26px; border: 1px solid var(--dl-border);
  border-radius: 22px; background: rgba(255,255,255,.025);
}

.dining-luxury-contact i {
  display: block; color: var(--dl-gold); font-size: 25px; margin-bottom: 22px;
}

.dining-luxury-contact h4 { font-size: 19px; margin-bottom: 12px; }
.dining-luxury-contact p,.dining-luxury-contact a {
  color: var(--dl-muted); font-size: 13px;
  line-height: 1.75; overflow-wrap: anywhere;
}

.dining-luxury-contact a:hover { color: var(--dl-light); }

/* FAQ */

.dining-luxury-faq > h3 { margin-bottom: 32px; }

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

.dining-luxury-faq-grid article {
  padding: 29px; border: 1px solid var(--dl-border);
  border-radius: 21px; background: rgba(35,102,87,.09);
}

.dining-luxury-faq-grid span {
  display: block; color: var(--dl-gold); font-weight: 800;
  font-size: 13px; margin-bottom: 20px;
}

.dining-luxury-faq-grid h4 { font-size: 19px; margin-bottom: 13px; }
.dining-luxury-faq-grid p {
  margin: 0; color: var(--dl-muted); font-size: 13px; line-height: 1.8;
}

/* BOTTOM */

.dining-luxury-bottom {
  display: flex; align-items: center; justify-content: space-between;
  gap: 35px; padding: 38px; border: 1px solid var(--dl-border);
  border-radius: 26px;
  background: linear-gradient(110deg,rgba(35,102,87,.3),rgba(191,170,207,.07));
}

.dining-luxury-bottom > div:first-child { max-width: 600px; }
.dining-luxury-bottom span {
  color: var(--dl-gold); font-size: 10px; letter-spacing: .14em;
}
.dining-luxury-bottom h3 {
  margin: 13px 0; font-size: clamp(26px,3vw,36px);
}
.dining-luxury-bottom p { color: var(--dl-muted); margin: 0; }
.dining-luxury-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* RESPONSIVE */

@media (max-width: 1199px) {
  .dining-luxury-story { gap: 35px; }
  .dining-luxury-bottom { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 991px) {
  .dining-luxury { padding: 80px 0; }
  .dining-luxury-heading,
  .dining-luxury-story,
  .dining-luxury-package,
  .dining-luxury-terrace-content,
  .dining-luxury-practical-grid {
    grid-template-columns: 1fr;
  }
  .dining-luxury-heading { gap: 25px; }
  .dining-luxury-photo { height: 480px; max-width: 680px; }
  .dining-luxury-package-art { padding: 30px; }
  .dining-luxury-package-arch { max-width: 470px; margin: auto; }
  .dining-luxury-menu-panel { grid-template-columns: 1fr; gap: 20px; }
}

@media (max-width: 767px) {
  .dining-luxury-philosophy-grid,
  .dining-luxury-contact,
  .dining-luxury-faq-grid,
  .dining-luxury-facts {
    grid-template-columns: 1fr;
  }
  .dining-luxury-philosophy-grid article { min-height: auto; }
  .dining-luxury-menu { padding: 23px; }
  .dining-luxury-menu-panel { padding: 23px; }
  .dining-luxury-menu-heading { align-items: start; }
  .dining-luxury-menu-emblem { display: none; }
  .dining-luxury-menu-tabs { grid-template-columns: 1fr; }
  .dining-luxury-terrace-photo { height: 320px; }
  .dining-luxury-terrace-content { padding: 26px; }
  .dining-luxury-hours { min-height: auto; }
  .dining-luxury-bottom { padding: 27px; }
  .dining-luxury-photo { height: 390px; }
}

@media (max-width: 420px) {
  .dining-luxury-heading h2 { font-size: 39px; }
  .dining-luxury-award { flex-direction: column; }
  .dining-luxury-menu-list article { flex-direction: column; gap: 10px; }
  .dining-luxury-package-arch { min-height: 355px; }
}

@media (prefers-reduced-motion: reduce) {
  .dining-luxury * { transition-duration: .01ms !important; }
}


/* ==========================================
   ARRIVAL CONCIERGE
   Royal Gold / Emerald / Royal Violet
   ========================================== */

.arrival-section {
  --ar-gold: #c7a56b;
  --ar-light: #e9d5aa;
  --ar-emerald: #236657;
  --ar-violet: #bfaacf;
  --ar-border: rgba(199,165,107,.19);
  --ar-muted: rgba(245,240,233,.64);
  position: relative;
  overflow: hidden;
  padding: 115px 0;
  color: #f5f0e9;
  background:
    radial-gradient(circle at 85% 5%,rgba(35,102,87,.17),transparent 31%),
    radial-gradient(circle at 5% 60%,rgba(191,170,207,.07),transparent 30%),
    #0c1015;
}

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

.arrival-section h2,
.arrival-section h3,
.arrival-section h4 {
  color: #fff;
}

.arrival-kicker {
  display: block;
  margin-bottom: 16px;
  color: var(--ar-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
  text-transform: uppercase;
}

.arrival-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  gap: 65px;
  align-items: end;
  margin-bottom: 60px;
}

.arrival-heading h2 {
  font-size: clamp(42px,5vw,70px);
  line-height: 1.05;
  letter-spacing: -.04em;
}

.arrival-heading em {
  color: var(--ar-gold);
  font-style: normal;
}

.arrival-heading p,
.arrival-block-heading p,
.arrival-vip-intro p {
  color: var(--ar-muted);
  font-size: 16px;
  line-height: 1.8;
}

.arrival-address {
  display: grid;
  grid-template-columns: 70px 1fr auto;
  align-items: center;
  gap: 23px;
  padding: 31px;
  margin-bottom: 90px;
  border: 1px solid var(--ar-border);
  border-radius: 25px;
  background: linear-gradient(110deg,rgba(35,102,87,.28),rgba(191,170,207,.055));
}

.arrival-address-icon,
.arrival-hours-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border: 1px solid rgba(199,165,107,.3);
  border-radius: 18px;
  color: var(--ar-light);
  background: rgba(199,165,107,.08);
  font-size: 25px;
}

.arrival-address-copy > span,
.arrival-address-side > span {
  display: block;
  margin-bottom: 10px;
  color: var(--ar-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.arrival-address h3 {
  margin-bottom: 9px;
  font-size: 24px;
}

.arrival-address p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 14px;
}

.arrival-address-side {
  padding-left: 25px;
  border-left: 1px solid var(--ar-border);
}

.arrival-address-side strong {
  color: #fff;
  font-size: 14px;
}

/* SHARED HEADINGS */

.arrival-block-heading {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  margin-bottom: 34px;
}

.arrival-block-heading h3,
.arrival-vip-intro h3,
.arrival-exceptions-heading h3,
.arrival-checklist h3 {
  margin-bottom: 13px;
  font-size: clamp(31px,3.7vw,47px);
  line-height: 1.14;
}

.arrival-block-heading p {
  max-width: 680px;
  margin: 0;
}

.arrival-block-heading > i {
  color: rgba(199,165,107,.4);
  font-size: 49px;
}

/* TRANSPORT */

.arrival-transport,
.arrival-hours,
.arrival-vip,
.arrival-exceptions,
.arrival-checklist {
  margin-bottom: 95px;
}

.arrival-transport {
  padding: 42px;
  border: 1px solid var(--ar-border);
  border-radius: 30px;
  background: #141b20;
}

.arrival-transport-tabs {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
  margin-bottom: 20px;
}

.arrival-transport-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 64px;
  padding: 12px 15px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  color: rgba(245,240,233,.7);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  transition: .25s ease;
}

.arrival-transport-tab i {
  color: var(--ar-violet);
  font-size: 21px;
}

.arrival-transport-tab.is-active,
.arrival-transport-tab:hover,
.arrival-transport-tab:focus-visible {
  color: #fff;
  border-color: var(--ar-gold);
  background: rgba(35,102,87,.35);
}

.arrival-transport-panel {
  display: grid;
  grid-template-columns: .95fr 1.05fr;
  overflow: hidden;
  min-height: 450px;
  border: 1px solid var(--ar-border);
  border-radius: 23px;
  background: #10171b;
}

.arrival-transport-panel[hidden] {
  display: none !important;
}

/* ROUTE DIAGRAM */

.arrival-route {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 42px;
  background:
    radial-gradient(circle at 50% 50%,rgba(35,102,87,.27),transparent 65%),
    #14231f;
  border-right: 1px solid var(--ar-border);
}

.arrival-route-caption {
  position: absolute;
  top: 29px;
  left: 32px;
  color: var(--ar-light);
  font-size: 10px;
  letter-spacing: .16em;
}

.arrival-route-track {
  margin: 40px 0 0 22px;
}

.arrival-route-stop {
  position: relative;
  display: flex;
  align-items: start;
  gap: 24px;
}

.arrival-route-dot {
  flex: 0 0 19px;
  width: 19px;
  height: 19px;
  border: 5px solid #c7a56b;
  border-radius: 50%;
  background: #14231f;
  box-shadow: 0 0 0 7px rgba(199,165,107,.1);
}

.arrival-route-stop small {
  display: block;
  margin-bottom: 11px;
  color: var(--ar-violet);
  font-size: 10px;
  letter-spacing: .13em;
}

.arrival-route-stop strong {
  color: #fff;
  font-size: 20px;
}

.arrival-route-stop p {
  margin: 9px 0 0;
  color: var(--ar-muted);
  font-size: 13px;
}

.arrival-route-line {
  margin: 4px 0 4px 9px;
  padding: 35px 0 35px 35px;
  border-left: 2px dashed rgba(199,165,107,.47);
  color: var(--ar-light);
  font-size: 12px;
}

.arrival-route-footer {
  display: flex;
  gap: 13px;
  margin-top: 35px;
  padding: 16px;
  border-radius: 14px;
  background: rgba(191,170,207,.08);
}

.arrival-route-footer i {
  color: var(--ar-violet);
}

.arrival-route-footer p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 12px;
  line-height: 1.7;
}

.arrival-route-detail {
  padding: clamp(30px,4vw,52px);
  align-self: center;
}

.arrival-detail-tag {
  display: block;
  margin-bottom: 19px;
  color: var(--ar-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
}

.arrival-route-detail h4 {
  margin-bottom: 20px;
  font-size: clamp(27px,3vw,38px);
  line-height: 1.13;
}

.arrival-route-detail > p {
  margin-bottom: 16px;
  color: var(--ar-muted);
  font-size: 14px;
  line-height: 1.85;
}

.arrival-detail-points {
  display: grid;
  gap: 14px;
  margin: 25px 0;
}

.arrival-detail-points div {
  display: flex;
  align-items: start;
  gap: 13px;
  color: #f5f0e9;
  font-size: 13px;
}

.arrival-detail-points i {
  color: var(--ar-gold);
}

.arrival-route-detail .arrival-detail-note {
  color: var(--ar-violet);
  font-size: 12px;
}

/* ROAD */

.arrival-road {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 17px;
  margin-top: 30px;
}

.arrival-road > div {
  width: 100%;
  padding: 21px;
  border: 1px solid rgba(199,165,107,.23);
  border-radius: 16px;
  background: rgba(12,20,21,.68);
  text-align: center;
}

.arrival-road > div span {
  display: block;
  margin-bottom: 8px;
  color: var(--ar-gold);
  font-size: 11px;
  font-weight: 800;
}

.arrival-road > div strong {
  color: #fff;
  font-size: 17px;
}

.arrival-road > i {
  color: var(--ar-gold);
  font-size: 23px;
}

.arrival-parking-highlight {
  display: flex;
  gap: 18px;
  margin: 26px 0;
  padding: 24px;
  border: 1px solid rgba(199,165,107,.24);
  border-radius: 19px;
  background: rgba(35,102,87,.18);
}

.arrival-parking-highlight > i {
  color: var(--ar-gold);
  font-size: 35px;
}

.arrival-parking-highlight span {
  display: block;
  margin-bottom: 8px;
  color: var(--ar-violet);
  font-size: 10px;
}

.arrival-parking-highlight strong {
  display: block;
  margin-bottom: 9px;
  color: #fff;
  font-size: 18px;
}

.arrival-parking-highlight p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 12px;
}

/* SHUTTLE DIAGRAM */

.arrival-shuttle-symbol {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 15px;
  margin: 45px 0;
  color: var(--ar-gold);
}

.arrival-shuttle-symbol i {
  font-size: 83px;
  filter: drop-shadow(0 8px 22px rgba(199,165,107,.2));
}

.arrival-shuttle-symbol span {
  font-size: 12px;
  letter-spacing: .2em;
}

.arrival-shuttle-route {
  display: grid;
  grid-template-columns: 1fr 35px 1fr;
  align-items: center;
  gap: 12px;
  text-align: center;
}

.arrival-shuttle-route strong {
  display: block;
  margin-bottom: 8px;
  color: #fff;
  font-size: 15px;
}

.arrival-shuttle-route span {
  color: var(--ar-muted);
  font-size: 11px;
}

.arrival-shuttle-route i {
  color: var(--ar-gold);
  font-size: 23px;
}

.arrival-shuttle-times {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin: 27px 0;
}

.arrival-shuttle-times > div {
  padding: 21px;
  border: 1px solid var(--ar-border);
  border-radius: 18px;
  background: rgba(35,102,87,.16);
}

.arrival-shuttle-times span,
.arrival-shuttle-times small {
  display: block;
  color: var(--ar-muted);
  font-size: 11px;
}

.arrival-shuttle-times strong {
  display: block;
  margin: 12px 0;
  color: var(--ar-light);
  font-size: 22px;
}

.arrival-inline-link {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  color: var(--ar-light);
  font-size: 13px;
  font-weight: 800;
}

/* VIP SERVICE */

.arrival-vip-intro {
  max-width: 820px;
  margin-bottom: 35px;
}

.arrival-vip-layout {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  overflow: hidden;
  border: 1px solid var(--ar-border);
  border-radius: 30px;
}

.arrival-vip-time {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 45px;
  background: linear-gradient(155deg,#244a3c,#282039);
}

.arrival-vip-time > span {
  color: var(--ar-light);
  font-size: 11px;
  letter-spacing: .13em;
}

.arrival-vip-time > strong {
  margin: 19px 0 5px;
  color: #fff;
  font-size: clamp(55px,7vw,96px);
  line-height: 1;
}

.arrival-vip-time small {
  color: var(--ar-muted);
  font-size: 11px;
}

.arrival-vip-divider {
  height: 1px;
  margin: 37px 0;
  background: rgba(199,165,107,.3);
}

.arrival-vip-content {
  padding: clamp(30px,4vw,55px);
  background: #141b20;
}

.arrival-vip-content > h4 {
  margin-bottom: 28px;
  font-size: 30px;
}

.arrival-vip-steps > div {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 18px;
  padding: 18px 0;
  border-bottom: 1px solid var(--ar-border);
}

.arrival-vip-steps > div > span {
  color: var(--ar-gold);
  font-size: 23px;
  font-weight: 800;
}

.arrival-vip-steps strong {
  color: #fff;
  font-size: 17px;
}

.arrival-vip-steps p {
  margin: 9px 0 0;
  color: var(--ar-muted);
  font-size: 13px;
  line-height: 1.7;
}

.arrival-vip-phone {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 13px;
  margin-top: 30px;
  padding: 23px;
  border: 1px solid rgba(199,165,107,.28);
  border-radius: 20px;
  background: rgba(199,165,107,.06);
}

.arrival-vip-phone > span {
  width: 100%;
  color: var(--ar-violet);
  font-size: 10px;
  letter-spacing: .14em;
}

.arrival-vip-phone strong {
  color: #fff;
  font-size: 21px;
  overflow-wrap: anywhere;
}

.arrival-vip-phone a,
.arrival-primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  background: linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color: #17150f;
  font-size: 12px;
  font-weight: 800;
}

.arrival-vip-phone a:hover,
.arrival-primary:hover {
  color: #17150f;
  filter: brightness(1.1);
}

.arrival-vip-conditions {
  display: grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap: 13px;
  margin-top: 18px;
}

.arrival-vip-conditions > div {
  min-height: 205px;
  padding: 25px;
  border: 1px solid var(--ar-border);
  border-radius: 21px;
  background: rgba(255,255,255,.025);
}

.arrival-vip-conditions i {
  display: block;
  margin-bottom: 26px;
  color: var(--ar-gold);
  font-size: 24px;
}

.arrival-vip-conditions strong {
  display: block;
  margin-bottom: 11px;
  color: #fff;
  font-size: 16px;
}

.arrival-vip-conditions p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 12px;
  line-height: 1.7;
}

/* HOURS */

.arrival-hours {
  padding: 43px;
  border: 1px solid var(--ar-border);
  border-radius: 30px;
  background: #141b20;
}

.arrival-days {
  display: grid;
  grid-template-columns: repeat(7,minmax(0,1fr));
  gap: 9px;
  margin-bottom: 25px;
}

.arrival-days button {
  min-height: 53px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 13px;
  background: rgba(255,255,255,.025);
  color: var(--ar-muted);
  cursor: pointer;
  font-weight: 800;
  font-size: 13px;
}

.arrival-days button.is-active,
.arrival-days button:hover,
.arrival-days button:focus-visible {
  border-color: var(--ar-gold);
  background: rgba(35,102,87,.36);
  color: #fff;
}

.arrival-hours-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
}

.arrival-hours-card {
  padding: 29px;
  border: 1px solid var(--ar-border);
  border-radius: 22px;
  background: linear-gradient(145deg,rgba(35,102,87,.17),rgba(191,170,207,.035));
}

.arrival-hours-icon {
  width: 53px;
  height: 53px;
  margin-bottom: 28px;
  font-size: 21px;
}

.arrival-hours-card > span {
  display: block;
  margin-bottom: 11px;
  color: var(--ar-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .11em;
}

.arrival-hours-card h4 {
  margin-bottom: 17px;
  font-size: 23px;
}

.arrival-hours-card > strong {
  display: block;
  margin-bottom: 19px;
  color: var(--ar-light);
  font-size: clamp(19px,2vw,26px);
  white-space: nowrap;
}

.arrival-hours-card p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 13px;
  line-height: 1.7;
}

.arrival-hours-notice,
.arrival-last-entry {
  display: flex;
  align-items: start;
  gap: 19px;
  margin-top: 18px;
  padding: 26px;
  border: 1px solid rgba(191,170,207,.2);
  border-radius: 20px;
  background: rgba(191,170,207,.045);
}

.arrival-hours-notice i,
.arrival-last-entry > i {
  color: var(--ar-violet);
  font-size: 24px;
}

.arrival-hours-notice p,
.arrival-last-entry p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 13px;
  line-height: 1.75;
}

.arrival-last-entry h4 {
  margin-bottom: 12px;
  font-size: 19px;
}

/* EXCEPTIONS */

.arrival-exceptions-heading {
  margin-bottom: 32px;
}

.arrival-exceptions-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
}

.arrival-exceptions-grid > div {
  padding: 30px;
  border: 1px solid var(--ar-border);
  border-radius: 23px;
  background: rgba(255,255,255,.028);
}

.arrival-exceptions-grid span {
  color: var(--ar-violet);
  font-size: 10px;
  letter-spacing: .13em;
}

.arrival-exceptions-grid h4 {
  margin: 24px 0 15px;
  font-size: 24px;
}

.arrival-exceptions-grid strong {
  display: block;
  margin-bottom: 13px;
  color: var(--ar-light);
  font-size: 17px;
}

.arrival-exceptions-grid p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* CHECKLIST */

.arrival-checklist {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 40px;
  padding: 39px;
  border: 1px solid var(--ar-border);
  border-radius: 26px;
  background: linear-gradient(110deg,rgba(35,102,87,.25),rgba(191,170,207,.05));
}

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

.arrival-checklist-grid label {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 17px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 14px;
  background: rgba(255,255,255,.025);
  color: #f5f0e9;
  font-size: 12px;
  cursor: pointer;
}

.arrival-checklist-grid input {
  accent-color: #c7a56b;
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
}

/* FINAL CTA */

.arrival-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 38px;
  border: 1px solid var(--ar-border);
  border-radius: 27px;
  background: linear-gradient(110deg,rgba(35,102,87,.32),rgba(191,170,207,.08));
}

.arrival-bottom > div:first-child {
  max-width: 650px;
}

.arrival-bottom > div:first-child > span {
  display: block;
  margin-bottom: 13px;
  color: var(--ar-light);
  font-size: 10px;
  letter-spacing: .14em;
}

.arrival-bottom h3 {
  margin-bottom: 13px;
  font-size: clamp(25px,3vw,37px);
}

.arrival-bottom p {
  margin: 0;
  color: var(--ar-muted);
  font-size: 14px;
  line-height: 1.75;
}

.arrival-bottom-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.arrival-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 23px;
  border: 1px solid rgba(191,170,207,.45);
  border-radius: 999px;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
}

.arrival-secondary:hover {
  color: var(--ar-light);
  border-color: var(--ar-gold);
}

/* RESPONSIVE */

@media (max-width: 1199px) {
  .arrival-vip-conditions {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .arrival-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 991px) {
  .arrival-section {
    padding: 80px 0;
  }

  .arrival-heading,
  .arrival-transport-panel,
  .arrival-vip-layout,
  .arrival-checklist {
    grid-template-columns: 1fr;
  }

  .arrival-heading {
    gap: 25px;
  }

  .arrival-route {
    min-height: 380px;
    border-right: 0;
    border-bottom: 1px solid var(--ar-border);
  }

  .arrival-hours-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .arrival-hours-card:last-child {
    grid-column: 1 / -1;
  }

  .arrival-address {
    grid-template-columns: 65px 1fr;
  }

  .arrival-address-side {
    grid-column: 1 / -1;
    padding: 18px 0 0;
    border-left: 0;
    border-top: 1px solid var(--ar-border);
  }
}

@media (max-width: 767px) {
  .arrival-transport,
  .arrival-hours {
    padding: 21px;
  }

  .arrival-transport-tabs,
  .arrival-hours-grid,
  .arrival-exceptions-grid,
  .arrival-checklist-grid {
    grid-template-columns: 1fr;
  }

  .arrival-hours-card:last-child {
    grid-column: auto;
  }

  .arrival-days {
    grid-template-columns: repeat(7,minmax(0,1fr));
    gap: 4px;
  }

  .arrival-days button {
    min-width: 0;
    min-height: 44px;
    font-size: 11px;
  }

  .arrival-route,
  .arrival-route-detail,
  .arrival-vip-time,
  .arrival-vip-content {
    padding: 28px 21px;
  }

  .arrival-route-caption {
    top: 18px;
    left: 21px;
  }

  .arrival-shuttle-times,
  .arrival-vip-conditions {
    grid-template-columns: 1fr;
  }

  .arrival-checklist,
  .arrival-bottom {
    padding: 26px 21px;
  }

  .arrival-address {
    padding: 22px;
  }

  .arrival-block-heading > i {
    display: none;
  }
}

@media (max-width: 420px) {
  .arrival-heading h2 {
    font-size: 39px;
  }

  .arrival-shuttle-route {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .arrival-route-stop strong {
    font-size: 16px;
  }

  .arrival-vip-phone strong {
    font-size: 17px;
  }

  .arrival-hours-card > strong {
    white-space: normal;
  }
}

@media (prefers-reduced-motion: reduce) {
  .arrival-section * {
    transition-duration: .01ms !important;
  }
}

/* =========================================
   SLOT CONTROL ROOM
   ========================================= */

.slot-lab {
  --sl-gold: #c7a56b;
  --sl-light: #e9d5aa;
  --sl-emerald: #236657;
  --sl-violet: #bfaacf;
  --sl-muted: rgba(245,240,233,.64);
  --sl-line: rgba(199,165,107,.18);
  padding: 115px 0;
  background:
    radial-gradient(circle at 85% 8%,rgba(35,102,87,.16),transparent 30%),
    radial-gradient(circle at 5% 68%,rgba(191,170,207,.075),transparent 30%),
    #0c1015;
  color: #f5f0e9;
}

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

.slot-lab h2,.slot-lab h3,
.slot-lab h4 { color: #fff; }

.slot-lab-kicker {
  display: block;
  margin-bottom: 16px;
  color: var(--sl-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

.slot-lab-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: end;
  gap: 65px;
  margin-bottom: 60px;
}

.slot-lab-heading h2 {
  font-size: clamp(43px,5vw,70px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.slot-lab-heading em {
  font-style: normal;
  color: var(--sl-gold);
}

.slot-lab-heading p,
.slot-lab-section-head p,
.slot-lab-machine-heading p,
.slot-lab-mystery-heading p {
  color: var(--sl-muted);
  font-size: 15px;
  line-height: 1.85;
}

.slot-lab-section-head,
.slot-lab-machine-heading,
.slot-lab-mystery-heading {
  max-width: 850px;
  margin-bottom: 36px;
}

.slot-lab-section-head h3,
.slot-lab-machine-heading h3,
.slot-lab-mystery-heading h3 {
  font-size: clamp(31px,3.7vw,47px);
  line-height: 1.13;
  margin-bottom: 16px;
}

/* OVERVIEW */

.slot-lab-overview {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  overflow: hidden;
  margin-bottom: 105px;
  border: 1px solid var(--sl-line);
  border-radius: 30px;
}

.slot-lab-overview-main {
  padding: 55px;
  background: linear-gradient(125deg,#1b4538,#292037);
}

.slot-lab-overview-main > span {
  color: var(--sl-light);
  font-size: 11px;
  letter-spacing: .16em;
}

.slot-lab-overview-main > strong {
  display: block;
  margin: 30px 0 0;
  color: #fff;
  font-size: clamp(110px,14vw,190px);
  line-height: .9;
  letter-spacing: -.07em;
}

.slot-lab-overview-main h3 {
  margin: 20px 0;
  font-size: 33px;
}

.slot-lab-overview-main p {
  max-width: 500px;
  color: var(--sl-muted);
  font-size: 15px;
  line-height: 1.8;
}

.slot-lab-overview-side {
  display: grid;
  padding: 36px;
  background: #151b20;
}

.slot-lab-overview-side > div {
  display: grid;
  grid-template-columns: 46px 1fr;
  align-content: center;
  column-gap: 18px;
  padding: 22px 0;
  border-bottom: 1px solid var(--sl-line);
}

.slot-lab-overview-side > div:last-child { border: 0; }

.slot-lab-overview-side i {
  grid-row: span 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  border-radius: 13px;
  background: rgba(199,165,107,.1);
  color: var(--sl-light);
  font-size: 20px;
}

.slot-lab-overview-side span {
  color: var(--sl-violet);
  font-size: 10px;
  letter-spacing: .13em;
}

.slot-lab-overview-side strong {
  margin-top: 7px;
  color: #fff;
  font-size: 17px;
}

/* CATEGORIES */

.slot-lab-categories,
.slot-lab-titles,
.slot-lab-machine,
.slot-lab-start,
.slot-lab-credits,
.slot-lab-mystery { margin-bottom: 105px; }

.slot-lab-category-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 18px;
}

.slot-lab-category-grid article {
  min-height: 330px;
  padding: 32px;
  border: 1px solid var(--sl-line);
  border-radius: 25px;
  background: linear-gradient(145deg,rgba(35,102,87,.19),rgba(191,170,207,.035));
}

.slot-lab-category-index {
  color: var(--sl-violet);
  font-size: 10px;
  letter-spacing: .14em;
}

.slot-lab-category-symbol {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  height: 100px;
  margin: 25px 0;
}

.slot-lab-category-symbol span {
  display: grid;
  place-items: center;
  width: 57px;
  height: 75px;
  border: 1px solid rgba(199,165,107,.4);
  border-radius: 12px;
  background: #182e2a;
  color: var(--sl-light);
  font-size: 37px;
  font-weight: 800;
}

.slot-lab-category-symbol i {
  color: var(--sl-gold);
  font-size: 66px;
}

.slot-lab-category-grid h4 {
  margin-bottom: 15px;
  font-size: 22px;
}

.slot-lab-category-grid p {
  margin: 0;
  color: var(--sl-muted);
  font-size: 13px;
  line-height: 1.8;
}

/* GAME TITLES */

.slot-lab-title-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 16px;
}

.slot-lab-title-grid article {
  min-height: 385px;
  padding: 31px;
  border: 1px solid var(--sl-line);
  border-radius: 26px;
  background: #151c21;
}

.slot-lab-title-feature {
  background: linear-gradient(145deg,#20483b,#211c2b) !important;
}

.slot-lab-title-icon,
.slot-lab-title-card > i {
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin-bottom: 30px;
  border: 1px solid rgba(199,165,107,.25);
  border-radius: 17px;
  background: rgba(199,165,107,.08);
  color: var(--sl-gold);
  font-size: 27px;
}

.slot-lab-title-grid article > span {
  color: var(--sl-violet);
  font-size: 10px;
  letter-spacing: .15em;
}

.slot-lab-title-grid h4 {
  margin: 12px 0 19px;
  font-size: 28px;
}

.slot-lab-title-grid p {
  color: var(--sl-muted);
  font-size: 14px;
  line-height: 1.8;
}

.slot-lab-title-card > small {
  color: var(--sl-light);
  font-size: 12px;
}

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

.slot-lab-title-meta div {
  padding: 14px;
  border: 1px solid rgba(199,165,107,.2);
  border-radius: 14px;
}

.slot-lab-title-meta small {
  display: block;
  color: var(--sl-muted);
  font-size: 11px;
}

.slot-lab-title-meta strong {
  display: block;
  margin-top: 8px;
  color: var(--sl-light);
  font-size: 22px;
}

/* MACHINE */

.slot-lab-machine {
  padding: 45px;
  border: 1px solid var(--sl-line);
  border-radius: 30px;
  background: #141b20;
}

.slot-lab-machine-layout {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 45px;
  align-items: center;
}

.slot-lab-device {
  padding: 27px;
  border: 2px solid rgba(199,165,107,.42);
  border-radius: 32px;
  background: linear-gradient(150deg,#243a36,#1b1929);
  box-shadow: inset 0 0 55px rgba(0,0,0,.3);
}

.slot-lab-device-top {
  display: flex;
  justify-content: space-between;
  color: var(--sl-light);
  font-size: 10px;
  letter-spacing: .14em;
}

.slot-lab-reels {
  display: grid;
  grid-template-columns: repeat(5,minmax(0,1fr));
  gap: 7px;
  margin: 30px 0 0;
}

.slot-lab-reels span {
  display: grid;
  place-items: center;
  min-height: 105px;
  border: 1px solid rgba(233,213,170,.4);
  border-radius: 11px;
  color: var(--sl-light);
  background: #0b1c1e;
  font-size: clamp(20px,3vw,45px);
}

.slot-lab-payline {
  display: flex;
  align-items: center;
  gap: 9px;
  margin: 16px 0 26px;
  color: var(--sl-violet);
  text-align: center;
  font-size: 10px;
}

.slot-lab-payline span {
  height: 1px;
  flex: 1;
  background: var(--sl-gold);
}

.slot-lab-device-stats {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
}

.slot-lab-device-stats div {
  padding: 13px 8px;
  border: 1px solid rgba(199,165,107,.2);
  border-radius: 12px;
  background: rgba(0,0,0,.2);
  text-align: center;
}

.slot-lab-device-stats small {
  display: block;
  color: var(--sl-muted);
  font-size: 9px;
}

.slot-lab-device-stats strong {
  display: block;
  margin-top: 8px;
  color: #fff;
  font-size: 17px;
}

.slot-lab-demo-label {
  margin-top: 24px;
  color: rgba(245,240,233,.42);
  font-size: 9px;
  letter-spacing: .08em;
  text-align: center;
}

.slot-lab-machine-explain {
  display: grid;
  gap: 12px;
}

.slot-lab-machine-explain > div {
  display: grid;
  grid-template-columns: 43px 1fr;
  gap: 17px;
  padding: 20px;
  border: 1px solid var(--sl-line);
  border-radius: 18px;
  background: rgba(255,255,255,.025);
}

.slot-lab-machine-explain > div > span {
  color: var(--sl-gold);
  font-size: 20px;
  font-weight: 800;
}

.slot-lab-machine-explain h4 {
  margin-bottom: 9px;
  font-size: 19px;
}

.slot-lab-machine-explain p {
  margin: 0;
  color: var(--sl-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* STEPS */

.slot-lab-start-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
}

.slot-lab-start-grid article {
  min-height: 225px;
  padding: 27px;
  border: 1px solid var(--sl-line);
  border-radius: 22px;
  background: rgba(35,102,87,.11);
}

.slot-lab-start-grid article > span {
  display: block;
  margin-bottom: 35px;
  color: var(--sl-gold);
  font-size: 27px;
  font-weight: 800;
}

.slot-lab-start-grid h4 {
  margin-bottom: 12px;
  font-size: 20px;
}

.slot-lab-start-grid p {
  color: var(--sl-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* CREDITS */

.slot-lab-credits {
  padding: 45px;
  border: 1px solid var(--sl-line);
  border-radius: 29px;
  background: linear-gradient(135deg,#172e29,#191b25);
}

.slot-lab-credits > div:first-child {
  max-width: 780px;
}

.slot-lab-credits h3 {
  font-size: clamp(30px,3.5vw,45px);
  margin-bottom: 18px;
}

.slot-lab-credits > div:first-child p {
  color: var(--sl-muted);
  line-height: 1.8;
}

.slot-lab-credit-flow {
  display: grid;
  grid-template-columns: 1fr 35px 1fr 35px 1fr;
  gap: 13px;
  align-items: center;
  margin: 35px 0;
}

.slot-lab-credit-flow > div {
  min-height: 185px;
  padding: 23px;
  border: 1px solid rgba(199,165,107,.22);
  border-radius: 20px;
  background: rgba(0,0,0,.15);
}

.slot-lab-credit-flow > div i {
  display: block;
  margin-bottom: 24px;
  color: var(--sl-gold);
  font-size: 27px;
}

.slot-lab-credit-flow strong,
.slot-lab-credit-flow span {
  display: block;
}

.slot-lab-credit-flow strong {
  color: #fff;
  font-size: 19px;
  margin-bottom: 9px;
}

.slot-lab-credit-flow span {
  color: var(--sl-muted);
  font-size: 12px;
  line-height: 1.6;
}

.slot-lab-credit-flow > i {
  color: var(--sl-violet);
  text-align: center;
  font-size: 23px;
}

.slot-lab-credits-note {
  display: flex;
  gap: 15px;
  padding: 22px;
  border: 1px solid rgba(191,170,207,.22);
  border-radius: 17px;
  background: rgba(191,170,207,.05);
}

.slot-lab-credits-note i {
  color: var(--sl-violet);
}

.slot-lab-credits-note p {
  margin: 0;
  color: var(--sl-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* CASH MYSTERY */

.slot-lab-mystery {
  padding: 46px;
  border: 1px solid rgba(199,165,107,.32);
  border-radius: 31px;
  background:
    radial-gradient(circle at 90% 0,rgba(191,170,207,.13),transparent 35%),
    #141b20;
}

.slot-lab-mystery-layout {
  display: grid;
  grid-template-columns: 1fr .9fr;
  gap: 17px;
  margin-bottom: 25px;
}

.slot-lab-mystery-control,
.slot-lab-mystery-result {
  padding: 32px;
  border: 1px solid var(--sl-line);
  border-radius: 23px;
  background: #0e171a;
}

.slot-lab-mystery-control > span,
.slot-lab-mystery-result > span {
  display: block;
  margin-bottom: 22px;
  color: var(--sl-violet);
  font-size: 11px;
  letter-spacing: .13em;
  font-weight: 800;
}

.slot-lab-stakes {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 9px;
  margin-bottom: 27px;
}

.slot-lab-stakes button {
  min-height: 51px;
  border: 1px solid rgba(199,165,107,.2);
  border-radius: 12px;
  background: rgba(35,102,87,.16);
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}

.slot-lab-stakes button.is-active,
.slot-lab-stakes button:hover,
.slot-lab-stakes button:focus-visible {
  border-color: var(--sl-gold);
  background: rgba(199,165,107,.16);
  color: var(--sl-light);
}

.slot-lab-mystery-control label {
  display: block;
  margin-bottom: 12px;
  color: #fff;
  font-size: 13px;
}

.slot-lab-stake-input {
  display: flex;
  align-items: center;
  overflow: hidden;
  border: 1px solid rgba(199,165,107,.35);
  border-radius: 12px;
  background: #151f23;
}

.slot-lab-stake-input input {
  width: 100%;
  min-width: 0;
  padding: 15px;
  border: 0;
  outline: none;
  background: transparent;
  color: #fff;
  font-size: 19px;
}

.slot-lab-stake-input > span {
  padding: 15px;
  color: var(--sl-gold);
}

.slot-lab-mystery-help {
  margin-top: 15px;
  color: var(--sl-muted);
  font-size: 12px;
  line-height: 1.7;
}

.slot-lab-mystery-result {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: linear-gradient(145deg,#24483b,#272037);
}

.slot-lab-mystery-result > strong {
  color: #fff;
  font-size: clamp(58px,6vw,94px);
  line-height: 1;
  letter-spacing: -.06em;
}

.slot-lab-mystery-result > p {
  margin: 20px 0 30px;
  color: var(--sl-light);
  font-size: 16px;
}

.slot-lab-result-caption {
  max-width: 350px;
  color: var(--sl-muted);
  font-size: 12px;
  line-height: 1.75;
}

.slot-lab-mystery-table {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 10px;
}

.slot-lab-mystery-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 14px;
  padding: 21px;
  border: 1px solid var(--sl-line);
  border-radius: 16px;
  background: rgba(255,255,255,.028);
}

.slot-lab-mystery-row span {
  color: var(--sl-muted);
  font-size: 12px;
}

.slot-lab-mystery-row strong {
  color: var(--sl-light);
  font-size: 20px;
  white-space: nowrap;
}

.slot-lab-mystery-conditions {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 14px;
  margin-top: 30px;
}

.slot-lab-mystery-conditions > div {
  padding: 25px;
  border: 1px solid rgba(191,170,207,.17);
  border-radius: 20px;
  background: rgba(191,170,207,.035);
}

.slot-lab-mystery-conditions i {
  display: block;
  margin-bottom: 25px;
  color: var(--sl-gold);
  font-size: 25px;
}

.slot-lab-mystery-conditions h4 {
  font-size: 19px;
  margin-bottom: 12px;
}

.slot-lab-mystery-conditions p {
  margin: 0;
  color: var(--sl-muted);
  font-size: 13px;
  line-height: 1.75;
}

/* FINAL */

.slot-lab-responsible,
.slot-lab-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  padding: 35px;
  border: 1px solid var(--sl-line);
  border-radius: 24px;
}

.slot-lab-responsible {
  margin-bottom: 30px;
  background: rgba(191,170,207,.055);
}

.slot-lab-responsible > i {
  color: var(--sl-violet);
  font-size: 37px;
}

.slot-lab-responsible h3,
.slot-lab-bottom h3 {
  font-size: 25px;
  margin-bottom: 12px;
}

.slot-lab-responsible p,
.slot-lab-bottom p {
  margin: 0;
  color: var(--sl-muted);
  line-height: 1.75;
  font-size: 13px;
}

.slot-lab-responsible a,
.slot-lab-bottom a {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 12px;
  color: var(--sl-light);
  font-size: 13px;
  font-weight: 800;
}

.slot-lab-bottom {
  background: linear-gradient(110deg,rgba(35,102,87,.28),rgba(191,170,207,.06));
}

.slot-lab-bottom > div > span {
  display: block;
  margin-bottom: 14px;
  color: var(--sl-gold);
  font-size: 10px;
  letter-spacing: .14em;
}

/* RESPONSIVE */

@media (max-width: 1199px) {
  .slot-lab-title-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .slot-lab-title-feature {
    grid-column: 1 / -1;
  }

  .slot-lab-responsible,
  .slot-lab-bottom {
    flex-wrap: wrap;
  }
}

@media (max-width: 991px) {
  .slot-lab { padding: 80px 0; }

  .slot-lab-heading,
  .slot-lab-overview,
  .slot-lab-machine-layout,
  .slot-lab-mystery-layout {
    grid-template-columns: 1fr;
  }

  .slot-lab-heading { gap: 25px; }

  .slot-lab-category-grid,
  .slot-lab-start-grid,
  .slot-lab-mystery-table,
  .slot-lab-mystery-conditions {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .slot-lab-mystery-conditions > div:last-child {
    grid-column: 1 / -1;
  }

  .slot-lab-overview-main > strong {
    font-size: 130px;
  }
}

@media (max-width: 767px) {
  .slot-lab-category-grid,
  .slot-lab-title-grid,
  .slot-lab-start-grid,
  .slot-lab-mystery-table,
  .slot-lab-mystery-conditions {
    grid-template-columns: 1fr;
  }

  .slot-lab-title-feature,
  .slot-lab-mystery-conditions > div:last-child {
    grid-column: auto;
  }

  .slot-lab-machine,
  .slot-lab-credits,
  .slot-lab-mystery {
    padding: 23px;
  }

  .slot-lab-overview-main {
    padding: 30px 24px;
  }

  .slot-lab-overview-main > strong {
    font-size: 100px;
  }

  .slot-lab-overview-side {
    padding: 20px;
  }

  .slot-lab-credit-flow {
    grid-template-columns: 1fr;
  }

  .slot-lab-credit-flow > i {
    transform: rotate(90deg);
  }

  .slot-lab-mystery-control,
  .slot-lab-mystery-result {
    padding: 23px;
  }

  .slot-lab-mystery-result {
    min-height: 280px;
  }

  .slot-lab-responsible,
  .slot-lab-bottom {
    align-items: flex-start;
    flex-direction: column;
    padding: 25px;
  }
}

@media (max-width: 420px) {
  .slot-lab-heading h2 { font-size: 39px; }

  .slot-lab-device { padding: 15px; }

  .slot-lab-reels span {
    min-height: 70px;
    font-size: 23px;
  }

  .slot-lab-stakes {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .slot-lab-mystery-row {
    padding: 17px;
  }
}

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


/* ==========================================
   ROYAL TABLE GAMES
   Gold / Emerald / Violet
   ========================================== */

.royal-tables {
  --rt-gold:#c7a56b;
  --rt-light:#e9d5aa;
  --rt-emerald:#236657;
  --rt-violet:#bfaacf;
  --rt-border:rgba(199,165,107,.19);
  --rt-muted:rgba(245,240,233,.64);
  padding:115px 0;
  color:#f5f0e9;
  background:
    radial-gradient(circle at 90% 5%,rgba(35,102,87,.17),transparent 30%),
    radial-gradient(circle at 7% 64%,rgba(191,170,207,.08),transparent 30%),
    #0c1015;
}

.royal-tables *,
.royal-tables *::before,
.royal-tables *::after {box-sizing:border-box}

.royal-tables h2,.royal-tables h3,
.royal-tables h4 {color:#fff}

.rt-kicker {
  display:block;margin-bottom:17px;color:var(--rt-gold);
  font-size:11px;font-weight:800;letter-spacing:.17em;
}

.rt-heading {
  display:grid;grid-template-columns:1.1fr .9fr;
  align-items:end;gap:65px;margin-bottom:65px;
}
.rt-heading h2 {
  font-size:clamp(42px,5vw,70px);
  line-height:1.05;letter-spacing:-.045em;
}
.rt-heading em {color:var(--rt-gold);font-style:normal}
.rt-heading p,.rt-section-heading p {
  color:var(--rt-muted);font-size:15px;line-height:1.85;
}
.rt-section-heading {max-width:850px;margin-bottom:35px}
.rt-section-heading h3 {
  margin-bottom:15px;font-size:clamp(30px,3.6vw,47px);
  line-height:1.14;
}

/* Inventory */

.rt-inventory {
  display:grid;grid-template-columns:.65fr 1.35fr;
  overflow:hidden;margin-bottom:105px;
  border:1px solid var(--rt-border);border-radius:30px;
}
.rt-inventory-lead {
  padding:45px;background:linear-gradient(145deg,#24483a,#292036);
}
.rt-inventory-lead>span {
  color:var(--rt-light);font-size:10px;letter-spacing:.15em;
}
.rt-inventory-lead>strong {
  display:block;margin:25px 0 5px;
  color:#fff;font-size:clamp(67px,7vw,110px);
  letter-spacing:-.065em;line-height:1;
}
.rt-inventory-lead h3 {font-size:25px;margin-bottom:20px}
.rt-inventory-lead p {
  margin:0;color:var(--rt-muted);font-size:13px;line-height:1.8;
}
.rt-inventory-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;background:var(--rt-border);
}
.rt-inventory-grid>div {
  display:flex;flex-direction:column;justify-content:center;
  min-height:155px;padding:25px;background:#151c21;
}
.rt-inventory-grid strong {
  display:block;margin-bottom:14px;color:var(--rt-light);
  font-size:42px;line-height:1;
}
.rt-inventory-grid span {color:var(--rt-muted);font-size:13px}
.rt-inventory-extra {background:#1e302c!important}

/* Explorer */

.rt-explorer,.rt-roulette-compare,.rt-table-selection,
.rt-betting,.rt-limits,.rt-beginner {margin-bottom:105px}

.rt-explorer {
  padding:42px;border:1px solid var(--rt-border);
  border-radius:30px;background:#141b20;
}
.rt-game-tabs {
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:9px;margin-bottom:22px;
}
.rt-game-tab {
  min-height:58px;padding:12px 9px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;background:rgba(255,255,255,.025);
  color:rgba(245,240,233,.73);
  font-size:12px;font-weight:800;cursor:pointer;
  transition:background .25s,border-color .25s;
}
.rt-game-tab:hover,.rt-game-tab.is-active,
.rt-game-tab:focus-visible {
  color:#fff;border-color:var(--rt-gold);
  background:rgba(35,102,87,.4);
}
.rt-game-panel {
  display:grid;grid-template-columns:.8fr 1.2fr;
  min-height:610px;overflow:hidden;
  border:1px solid var(--rt-border);
  border-radius:24px;background:#0e171b;
}
.rt-game-panel[hidden] {display:none!important}
.rt-game-visual {
  position:relative;display:flex;align-items:center;
  justify-content:center;min-width:0;min-height:610px;
  overflow:hidden;padding:38px;
  background:
    radial-gradient(circle at 50% 35%,rgba(199,165,107,.18),transparent 55%),
    linear-gradient(145deg,#1b4135,#211b2b);
}
.rt-game-visual--cards {background:linear-gradient(145deg,#174036,#262032)}
.rt-game-visual--poker {background:linear-gradient(145deg,#282036,#174038)}
.rt-game-visual--stud {background:linear-gradient(145deg,#17382f,#36283a)}
.rt-game-visual--baccarat {background:linear-gradient(145deg,#242039,#1c4438)}

.rt-wheel {
  display:grid;place-items:center;
  width:min(90%,340px);aspect-ratio:1;border-radius:50%;
  border:12px solid #a6834c;
  background:repeating-conic-gradient(
    from -4.86deg,#6f222d 0deg 9.73deg,
    #112823 9.73deg 19.46deg);
  box-shadow:0 25px 75px rgba(0,0,0,.45),
             inset 0 0 0 7px #d1b681;
}
.rt-wheel-inner {
  display:grid;place-items:center;width:38%;aspect-ratio:1;
  border:9px solid #9c7d4e;border-radius:50%;
  background:radial-gradient(circle,#285c4b,#102721);
  color:#fff;font-size:45px;font-weight:800;
}
.rt-visual-caption {
  position:absolute;bottom:35px;left:35px;right:25px;
  display:flex;flex-direction:column;gap:8px;
}
.rt-visual-caption span {
  color:var(--rt-light);font-size:11px;letter-spacing:.17em;
}
.rt-visual-caption strong {color:#fff;font-size:22px}

.rt-card-pair,.rt-stud-hand,.rt-poker-symbol {
  display:flex;align-items:center;justify-content:center;
}
.rt-card-pair {transform:rotate(-7deg)}
.rt-playing-card {
  width:125px;height:185px;padding:19px;
  border:3px solid #c7a56b;border-radius:15px;
  background:#f5eee2;color:#18241f;
  font-size:35px;font-weight:800;box-shadow:0 20px 45px #0005;
}
.rt-playing-card+ .rt-playing-card {
  margin-left:-25px;transform:rotate(14deg);
}
.rt-playing-card i {
  display:block;margin-top:16px;font-size:55px;font-style:normal;
}
.rt-poker-symbol {gap:4px}
.rt-poker-symbol span {
  color:var(--rt-light);font-size:clamp(60px,7vw,100px);
  text-shadow:0 15px 30px #0005;
}
.rt-poker-symbol span:nth-child(2) {color:#bc6978;transform:translateY(-30px)}
.rt-stud-hand {gap:5px}
.rt-stud-hand span {
  display:grid;place-items:center;width:65px;height:105px;
  border:2px solid var(--rt-gold);border-radius:9px;
  color:var(--rt-light);background:#14241f;font-size:35px;
}
.rt-stud-hand span:nth-child(even) {transform:translateY(-20px)}
.rt-baccarat-symbol {
  width:255px;height:255px;border:2px solid #c7a56b;
  border-radius:50%;display:flex;flex-direction:column;
  justify-content:center;align-items:center;gap:9px;
  background:radial-gradient(circle,#325744,#152420);
}
.rt-baccarat-symbol span {color:var(--rt-violet);letter-spacing:.16em;font-size:12px}
.rt-baccarat-symbol strong {color:#fff;font-size:100px;line-height:1}

.rt-game-content {
  display:flex;flex-direction:column;justify-content:center;
  padding:clamp(28px,4vw,55px);
}
.rt-game-label {
  margin-bottom:19px;color:var(--rt-violet);
  font-size:10px;letter-spacing:.15em;
}
.rt-game-content h4 {
  margin-bottom:22px;font-size:clamp(31px,3.4vw,46px);
  letter-spacing:-.035em;
}
.rt-game-content>p {
  color:var(--rt-muted);font-size:14px;line-height:1.8;
}
.rt-rule-steps {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;margin:20px 0 25px;
}
.rt-rule-steps>div {
  display:flex;align-items:flex-start;gap:11px;
  padding:15px;border:1px solid var(--rt-border);
  border-radius:14px;background:rgba(35,102,87,.09);
}
.rt-rule-steps span {
  color:var(--rt-gold);font-size:12px;font-weight:800;
}
.rt-rule-steps p {
  margin:0;color:var(--rt-muted);font-size:12px;line-height:1.65;
}
.rt-rule-facts {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;margin-bottom:21px;
}
.rt-rule-facts>div {
  padding:15px 10px;border-top:1px solid var(--rt-border);
}
.rt-rule-facts small {
  display:block;margin-bottom:10px;
  color:var(--rt-violet);font-size:9px;
}
.rt-rule-facts strong {color:#fff;font-size:16px}
.rt-game-content .rt-game-note {
  color:rgba(245,240,233,.49);font-size:12px;
}
.rt-explorer-footer {
  display:flex;align-items:center;gap:12px;
  padding-top:22px;color:var(--rt-muted);font-size:12px;
}
.rt-explorer-footer i {color:var(--rt-violet);font-size:19px}
.rt-explorer-footer p {flex:1;margin:0;line-height:1.7}
.rt-explorer-footer>span {color:var(--rt-gold);white-space:nowrap}

/* Roulette Compare */

.rt-compare-grid {
  display:grid;grid-template-columns:1fr 1fr;gap:18px;
}
.rt-compare-grid article {
  padding:37px;border:1px solid var(--rt-border);
  border-radius:27px;background:linear-gradient(145deg,#19382f,#171b23);
}
.rt-compare-digital {background:linear-gradient(145deg,#241e31,#182c29)!important}
.rt-compare-grid article>span {
  color:var(--rt-violet);font-size:10px;letter-spacing:.14em;
}
.rt-compare-visual {
  display:grid;place-items:center;height:130px;
  margin:20px 0;color:var(--rt-gold);font-size:78px;
}
.rt-compare-grid h4 {margin-bottom:16px;font-size:31px}
.rt-compare-grid article>p {
  min-height:115px;color:var(--rt-muted);
  font-size:14px;line-height:1.8;
}
.rt-compare-details {border-top:1px solid var(--rt-border)}
.rt-compare-details>div {
  display:flex;justify-content:space-between;gap:20px;
  padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07);
}
.rt-compare-details span {
  color:var(--rt-violet);font-size:10px;letter-spacing:.08em;
}
.rt-compare-details strong {color:#fff;font-size:13px;text-align:right}
.rt-roulette-extra,.rt-betting-notice {
  display:flex;align-items:flex-start;gap:20px;
  margin-top:17px;padding:25px;
  border:1px solid var(--rt-border);
  border-radius:20px;background:rgba(191,170,207,.045);
}
.rt-roulette-extra>i,.rt-betting-notice>i {
  color:var(--rt-gold);font-size:30px;
}
.rt-roulette-extra strong {color:#fff;font-size:18px}
.rt-roulette-extra p,.rt-betting-notice p {
  margin:9px 0 0;color:var(--rt-muted);
  font-size:13px;line-height:1.75;
}

/* Selection */

.rt-selection-grid {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;
}
.rt-selection-grid article {
  position:relative;min-height:265px;padding:29px;
  border:1px solid var(--rt-border);
  border-radius:23px;background:rgba(35,102,87,.12);
}
.rt-selection-grid article>span {
  position:absolute;top:26px;right:27px;
  color:var(--rt-violet);font-size:11px;
}
.rt-selection-grid i {
  display:block;margin-bottom:39px;
  color:var(--rt-gold);font-size:27px;
}
.rt-selection-grid h4 {margin-bottom:13px;font-size:20px}
.rt-selection-grid p {
  margin:0;color:var(--rt-muted);font-size:13px;line-height:1.75;
}

/* Jetons & bets */

.rt-betting {
  padding:44px;border:1px solid var(--rt-border);
  border-radius:29px;background:#141b20;
}
.rt-betting-intro {max-width:810px;margin-bottom:33px}
.rt-betting-intro h3 {
  font-size:clamp(30px,3.5vw,45px);line-height:1.14;margin-bottom:17px;
}
.rt-betting-intro p {
  color:var(--rt-muted);font-size:14px;line-height:1.8;
}
.rt-betting-flow {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;
}
.rt-betting-flow>div {
  min-height:230px;padding:25px;
  border:1px solid var(--rt-border);
  border-radius:20px;background:rgba(35,102,87,.12);
}
.rt-betting-flow>div>span {
  float:right;color:var(--rt-violet);font-size:11px;
}
.rt-betting-flow i {
  display:block;margin-bottom:31px;
  color:var(--rt-gold);font-size:26px;
}
.rt-betting-flow strong {
  display:block;margin-bottom:13px;color:#fff;font-size:18px;
}
.rt-betting-flow p {
  margin:0;color:var(--rt-muted);font-size:13px;line-height:1.7;
}

/* Limits */

.rt-limits {
  display:grid;grid-template-columns:.9fr 1.1fr;
  gap:40px;align-items:center;padding:45px;
  border:1px solid var(--rt-border);
  border-radius:28px;
  background:linear-gradient(120deg,#193a31,#211c2c);
}
.rt-limits h3 {font-size:clamp(30px,3vw,42px);margin-bottom:19px}
.rt-limits p {color:var(--rt-muted);font-size:14px;line-height:1.8}
.rt-limits-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;
}
.rt-limits-grid>div {
  padding:24px;border:1px solid var(--rt-border);
  border-radius:19px;background:rgba(0,0,0,.16);
}
.rt-limits-grid span {
  display:block;margin-bottom:16px;
  color:var(--rt-violet);font-size:10px;letter-spacing:.1em;
}
.rt-limits-grid strong {color:#fff;font-size:21px}

/* Questions */

.rt-beginner-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;
}
.rt-beginner-grid article {
  padding:28px;border:1px solid var(--rt-border);
  border-radius:22px;background:rgba(255,255,255,.025);
}
.rt-beginner-grid h4 {margin-bottom:14px;font-size:20px}
.rt-beginner-grid p {
  margin:0;color:var(--rt-muted);font-size:13px;line-height:1.8;
}

/* Final CTA */

.rt-bottom {
  display:flex;justify-content:space-between;align-items:center;
  gap:32px;padding:37px;
  border:1px solid var(--rt-border);
  border-radius:26px;
  background:linear-gradient(110deg,rgba(35,102,87,.3),rgba(191,170,207,.06));
}
.rt-bottom>div:first-child {max-width:610px}
.rt-bottom>div>span {
  display:block;margin-bottom:13px;color:var(--rt-gold);
  font-size:10px;letter-spacing:.14em;
}
.rt-bottom h3 {margin-bottom:13px;font-size:clamp(25px,3vw,35px)}
.rt-bottom p {
  margin:0;color:var(--rt-muted);font-size:14px;line-height:1.7;
}
.rt-bottom-actions {display:flex;flex-wrap:wrap;gap:10px}
.rt-primary,.rt-secondary {
  display:inline-flex;align-items:center;justify-content:center;
  gap:11px;min-height:48px;padding:0 22px;
  border-radius:999px;font-size:12px;font-weight:800;
}
.rt-primary {
  background:linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color:#17150f;
}
.rt-primary:hover {color:#17150f;filter:brightness(1.1)}
.rt-secondary {
  color:#fff;border:1px solid rgba(191,170,207,.45);
}
.rt-secondary:hover {color:var(--rt-light)}

/* Responsive */

@media(max-width:1199px) {
  .rt-selection-grid,.rt-betting-flow {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rt-bottom {flex-direction:column;align-items:flex-start}
}

@media(max-width:991px) {
  .royal-tables {padding:80px 0}
  .rt-heading,.rt-inventory,.rt-game-panel,.rt-limits {
    grid-template-columns:1fr;
  }
  .rt-heading {gap:25px}
  .rt-game-tabs {grid-template-columns:repeat(3,minmax(0,1fr))}
  .rt-game-visual {min-height:370px}
  .rt-compare-grid {grid-template-columns:1fr}
  .rt-compare-grid article>p {min-height:0}
}

@media(max-width:767px) {
  .rt-explorer,.rt-betting,.rt-limits {padding:22px}
  .rt-inventory-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .rt-inventory-lead {padding:30px}
  .rt-game-tabs {grid-template-columns:repeat(2,minmax(0,1fr))}
  .rt-game-content {padding:28px 22px}
  .rt-rule-steps,.rt-selection-grid,.rt-betting-flow,
  .rt-beginner-grid,.rt-limits-grid {grid-template-columns:1fr}
  .rt-rule-facts {grid-template-columns:repeat(3,minmax(0,1fr))}
  .rt-rule-facts strong {font-size:13px;overflow-wrap:anywhere}
  .rt-wheel {max-width:270px}
  .rt-roulette-extra {flex-direction:column}
  .rt-bottom {padding:25px}
}

@media(max-width:420px) {
  .rt-heading h2 {font-size:38px}
  .rt-inventory-grid strong {font-size:33px}
  .rt-inventory-grid>div {min-height:125px;padding:18px}
  .rt-game-visual {min-height:290px;padding:20px}
  .rt-playing-card {width:93px;height:145px}
  .rt-stud-hand span {width:44px;height:80px;font-size:25px}
  .rt-poker-symbol span {font-size:60px}
  .rt-rule-facts {grid-template-columns:1fr}
  .rt-rule-facts>div {padding:10px}
  .rt-game-tab {font-size:11px}
  .rt-compare-grid article {padding:24px}
}

@media(prefers-reduced-motion:reduce) {
  .royal-tables * {transition-duration:.01ms!important}
}

/* ==========================================
   POKER SALON
   Royal Gold / Emerald / Royal Violet
   ========================================== */

.poker-salon {
  --ps-gold:#c7a56b;
  --ps-light:#e9d5aa;
  --ps-emerald:#236657;
  --ps-violet:#bfaacf;
  --ps-border:rgba(199,165,107,.19);
  --ps-muted:rgba(245,240,233,.64);
  padding:115px 0;
  overflow:hidden;
  color:#f5f0e9;
  background:
    radial-gradient(circle at 86% 8%,rgba(35,102,87,.17),transparent 34%),
    radial-gradient(circle at 5% 62%,rgba(191,170,207,.07),transparent 34%),
    #0c1015;
}

.poker-salon *,
.poker-salon *::before,
.poker-salon *::after {box-sizing:border-box}

.poker-salon h2,
.poker-salon h3,
.poker-salon h4,
.poker-salon h5 {color:#fff}

.poker-salon figure {margin:0}

.poker-salon img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.poker-salon-kicker {
  display:block;
  margin-bottom:16px;
  color:var(--ps-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.17em;
}

.poker-salon-heading {
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:end;
  gap:65px;
  margin-bottom:65px;
}

.poker-salon-heading h2 {
  font-size:clamp(43px,5vw,72px);
  line-height:1.05;
  letter-spacing:-.045em;
}

.poker-salon-heading em {
  color:var(--ps-gold);
  font-style:normal;
}

.poker-salon-heading p,
.poker-salon-section-heading p {
  color:var(--ps-muted);
  font-size:15px;
  line-height:1.85;
}

.poker-salon-section-heading {
  max-width:830px;
  margin-bottom:35px;
}

.poker-salon-section-heading h3 {
  margin-bottom:16px;
  font-size:clamp(31px,3.6vw,47px);
  line-height:1.13;
}

/* INTRO */

.poker-salon-intro {
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:58px;
  align-items:center;
  margin-bottom:105px;
}

.poker-salon-intro-copy h3 {
  margin-bottom:24px;
  font-size:clamp(31px,3.5vw,48px);
  line-height:1.13;
}

.poker-salon-intro-copy>p {
  color:var(--ps-muted);
  font-size:15px;
  line-height:1.85;
  margin-bottom:17px;
}

.poker-salon-highlights {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:32px 0;
}

.poker-salon-highlights>div {
  padding:19px 12px;
  border-top:1px solid var(--ps-border);
}

.poker-salon-highlights strong {
  display:block;
  margin-bottom:10px;
  color:var(--ps-light);
  font-size:clamp(24px,2.8vw,37px);
}

.poker-salon-highlights span {
  color:var(--ps-muted);
  font-size:11px;
}

.poker-salon-main-photo {
  position:relative;
  height:590px;
  overflow:hidden;
  border:1px solid var(--ps-border);
  border-radius:180px 180px 25px 25px;
  background:#1c342d;
}

.poker-salon-main-photo::after,
.poker-salon-atmosphere figure::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top,rgba(5,9,13,.82),transparent 56%);
  pointer-events:none;
}

.poker-salon-main-photo figcaption,
.poker-salon-atmosphere figcaption {
  position:absolute;
  z-index:2;
  left:30px;
  bottom:32px;
  right:25px;
}

.poker-salon-main-photo figcaption span,
.poker-salon-atmosphere figcaption span {
  display:block;
  margin-bottom:10px;
  color:var(--ps-light);
  font-size:10px;
  letter-spacing:.15em;
}

.poker-salon-main-photo figcaption strong {
  color:#fff;
  font-size:25px;
}

/* SHARED BUTTONS */

.poker-salon-primary,
.poker-salon-secondary {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:49px;
  padding:0 23px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  text-decoration:none;
  transition:transform .25s ease;
}

.poker-salon-primary {
  color:#17150f;
  background:linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
}

.poker-salon-primary:hover {
  color:#17150f;
  transform:translateY(-2px);
}

.poker-salon-secondary {
  color:#fff;
  border:1px solid rgba(191,170,207,.45);
}

.poker-salon-secondary:hover {
  color:var(--ps-light);
  border-color:var(--ps-gold);
}

/* INTERACTIVE FORMATS */

.poker-salon-formats,
.poker-salon-comparison,
.poker-salon-terms,
.poker-salon-booking,
.poker-salon-rules,
.poker-salon-promotions,
.poker-salon-atmosphere,
.poker-salon-faq {margin-bottom:105px}

.poker-salon-formats {
  padding:44px;
  border:1px solid var(--ps-border);
  border-radius:30px;
  background:#141b20;
}

.poker-salon-format-tabs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:20px;
}

.poker-salon-format-tab {
  min-height:59px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:13px;
  background:rgba(255,255,255,.03);
  color:rgba(245,240,233,.73);
  font-size:14px;
  font-weight:800;
  cursor:pointer;
}

.poker-salon-format-tab.is-active,
.poker-salon-format-tab:hover,
.poker-salon-format-tab:focus-visible {
  color:#fff;
  background:rgba(35,102,87,.37);
  border-color:var(--ps-gold);
}

.poker-salon-format-panel {
  display:grid;
  grid-template-columns:.85fr 1.15fr;
  overflow:hidden;
  border:1px solid var(--ps-border);
  border-radius:23px;
  background:#10171b;
}

.poker-salon-format-panel[hidden] {display:none!important}

.poker-salon-format-visual {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-width:0;
  min-height:550px;
  padding:28px;
  background:
    radial-gradient(circle at center,rgba(199,165,107,.15),transparent 65%),
    linear-gradient(145deg,#1a4034,#241d31);
}

.poker-salon-format-visual--omaha {
  background:linear-gradient(145deg,#292039,#1b4537);
}

.poker-salon-format-visual>span {
  margin-bottom:20px;
  color:var(--ps-light);
  font-size:10px;
  letter-spacing:.16em;
}

.poker-salon-format-visual>p {
  margin:21px 0 0;
  color:var(--ps-muted);
  font-size:12px;
  text-align:center;
}

.poker-salon-cards,
.poker-salon-board {
  display:flex;
  flex-wrap:nowrap;
  justify-content:center;
  gap:8px;
  margin-bottom:30px;
}

.poker-salon-cards>div {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:88px;
  height:125px;
  padding:13px;
  border:2px solid var(--ps-gold);
  border-radius:10px;
  background:#f2eadb;
  color:#23372e;
  font-size:23px;
  font-weight:800;
}

.poker-salon-cards>div span {
  font-size:42px;
  line-height:1;
  align-self:center;
}

.poker-salon-cards>div:nth-child(even) span {
  color:#a34c5b;
}

.poker-salon-cards--four>div {
  width:62px;
  height:95px;
  padding:8px;
  font-size:17px;
}

.poker-salon-cards--four>div span {font-size:28px}

.poker-salon-board>div {
  display:grid;
  place-items:center;
  width:51px;
  height:72px;
  border:2px solid var(--ps-gold);
  border-radius:8px;
  background:#f2eadb;
  color:#23372e;
  font-weight:800;
  font-size:21px;
}

.poker-salon-format-copy {
  padding:clamp(28px,4vw,55px);
  align-self:center;
}

.poker-salon-format-copy h4 {
  margin-bottom:20px;
  font-size:clamp(29px,3vw,42px);
  line-height:1.12;
}

.poker-salon-format-copy>p {
  color:var(--ps-muted);
  font-size:14px;
  line-height:1.8;
}

.poker-salon-format-facts {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:9px;
  margin:24px 0;
}

.poker-salon-format-facts>div {
  padding:17px 12px;
  border:1px solid var(--ps-border);
  border-radius:14px;
  background:rgba(35,102,87,.12);
}

.poker-salon-format-facts span {
  display:block;
  margin-bottom:10px;
  color:var(--ps-violet);
  font-size:10px;
}

.poker-salon-format-facts strong {
  color:#fff;
  font-size:17px;
}

.poker-salon-format-actions {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:20px;
}

.poker-salon-format-actions span {
  padding:8px 13px;
  border:1px solid rgba(199,165,107,.25);
  border-radius:999px;
  color:var(--ps-light);
  font-size:11px;
  font-weight:700;
}

.poker-salon-format-copy .poker-salon-format-note {
  color:rgba(245,240,233,.47);
  font-size:12px;
}

/* COMPARISON */

.poker-salon-comparison-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.poker-salon-comparison-grid article {
  display:flex;
  flex-direction:column;
  min-height:335px;
  padding:31px;
  border:1px solid var(--ps-border);
  border-radius:24px;
  background:rgba(255,255,255,.028);
}

.poker-salon-comparison-feature {
  background:linear-gradient(145deg,#204638,#241d2f)!important;
}

.poker-salon-comparison-grid article>span,
.poker-salon-promotions-grid article>span {
  color:var(--ps-violet);
  font-size:10px;
  letter-spacing:.13em;
}

.poker-salon-comparison-grid i {
  display:block;
  margin:31px 0;
  color:var(--ps-gold);
  font-size:32px;
}

.poker-salon-comparison-grid h4 {
  margin-bottom:14px;
  font-size:22px;
}

.poker-salon-comparison-grid p,
.poker-salon-terms-grid p,
.poker-salon-rules-grid p,
.poker-salon-faq-grid p {
  color:var(--ps-muted);
  font-size:13px;
  line-height:1.8;
}

.poker-salon-comparison-grid a,
.poker-salon-comparison-grid article>strong {
  margin-top:auto;
  color:var(--ps-light);
  font-size:13px;
}

/* TERMS */

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

.poker-salon-terms-grid article {
  padding:27px;
  min-height:195px;
  border:1px solid var(--ps-border);
  border-radius:21px;
  background:rgba(35,102,87,.09);
}

.poker-salon-terms-grid article>span {
  display:block;
  margin-bottom:24px;
  color:var(--ps-gold);
  font-size:18px;
  font-weight:800;
}

.poker-salon-terms-grid h4 {
  font-size:20px;
  margin-bottom:12px;
}

/* BOOKING */

.poker-salon-booking {
  display:grid;
  grid-template-columns:.95fr 1.05fr;
  overflow:hidden;
  border:1px solid var(--ps-border);
  border-radius:29px;
}

.poker-salon-booking-main {
  padding:48px;
  background:linear-gradient(140deg,#22483a,#291e36);
}

.poker-salon-booking-main h3 {
  margin-bottom:22px;
  font-size:clamp(32px,3.8vw,48px);
}

.poker-salon-booking-main>p {
  color:var(--ps-muted);
  line-height:1.8;
  font-size:15px;
}

.poker-salon-booking-number {
  margin:35px 0;
  padding:23px;
  border:1px solid rgba(199,165,107,.3);
  border-radius:18px;
  background:rgba(0,0,0,.16);
}

.poker-salon-booking-number span,
.poker-salon-booking-number small {
  display:block;
  color:var(--ps-light);
  font-size:11px;
  letter-spacing:.08em;
}

.poker-salon-booking-number strong {
  display:block;
  margin:15px 0;
  color:#fff;
  font-size:clamp(20px,2.4vw,29px);
  overflow-wrap:anywhere;
}

.poker-salon-booking-steps {
  padding:40px;
  background:#151b20;
}

.poker-salon-booking-steps>div {
  display:grid;
  grid-template-columns:47px 1fr;
  gap:17px;
  padding:21px 0;
  border-bottom:1px solid var(--ps-border);
}

.poker-salon-booking-steps>div:last-child {border:0}

.poker-salon-booking-steps>div>span {
  color:var(--ps-gold);
  font-size:23px;
  font-weight:800;
}

.poker-salon-booking-steps h4 {
  font-size:19px;
  margin-bottom:11px;
}

.poker-salon-booking-steps p {
  margin:0;
  color:var(--ps-muted);
  font-size:13px;
  line-height:1.75;
}

/* RULES */

.poker-salon-rules-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}

.poker-salon-rules-grid article {
  min-height:245px;
  padding:28px;
  border:1px solid var(--ps-border);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(35,102,87,.14),rgba(191,170,207,.025));
}

.poker-salon-rules-grid i {
  display:block;
  margin-bottom:34px;
  color:var(--ps-gold);
  font-size:27px;
}

.poker-salon-rules-grid h4 {
  font-size:20px;
  margin-bottom:14px;
}

/* PROMOTIONS */

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

.poker-salon-promotions-grid article {
  padding:35px;
  border:1px solid var(--ps-border);
  border-radius:25px;
  background:linear-gradient(140deg,#193d32,#211d2c);
}

.poker-salon-promotions-grid h4 {
  margin:25px 0 15px;
  font-size:28px;
}

.poker-salon-promotions-grid article>strong {
  display:block;
  margin-bottom:22px;
  color:var(--ps-light);
  font-size:39px;
}

.poker-salon-promotions-grid p {
  color:var(--ps-muted);
  line-height:1.8;
  font-size:14px;
}

.poker-salon-promotions-grid small {
  color:var(--ps-violet);
  font-size:12px;
  line-height:1.6;
}

/* SECOND IMAGE */

.poker-salon-atmosphere figure {
  position:relative;
  height:430px;
  overflow:hidden;
  border-radius:27px;
  border:1px solid var(--ps-border);
  background:#1b342e;
}

.poker-salon-atmosphere h3 {
  font-size:clamp(27px,3.2vw,43px);
}

.poker-salon-atmosphere-note {
  display:flex;
  align-items:flex-start;
  gap:23px;
  margin-top:16px;
  padding:30px;
  border:1px solid var(--ps-border);
  border-radius:22px;
  background:rgba(191,170,207,.055);
}

.poker-salon-atmosphere-note>i {
  color:var(--ps-gold);
  font-size:29px;
}

.poker-salon-atmosphere-note h4 {
  font-size:21px;
  margin-bottom:12px;
}

.poker-salon-atmosphere-note p {
  margin:0;
  color:var(--ps-muted);
  font-size:14px;
  line-height:1.8;
}

/* FAQ & FINAL */

.poker-salon-faq>h3 {
  font-size:clamp(30px,3.5vw,45px);
  margin-bottom:32px;
}

.poker-salon-faq-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.poker-salon-faq-grid article {
  padding:28px;
  border:1px solid var(--ps-border);
  border-radius:21px;
  background:rgba(35,102,87,.10);
}

.poker-salon-faq-grid h4 {
  font-size:19px;
  margin-bottom:13px;
}

.poker-salon-faq-grid p {margin:0}

.poker-salon-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:35px;
  padding:38px;
  border:1px solid var(--ps-border);
  border-radius:26px;
  background:linear-gradient(110deg,rgba(35,102,87,.30),rgba(191,170,207,.07));
}

.poker-salon-bottom>div:first-child {max-width:610px}

.poker-salon-bottom>div>span {
  display:block;
  color:var(--ps-gold);
  font-size:10px;
  letter-spacing:.14em;
  margin-bottom:14px;
}

.poker-salon-bottom h3 {
  font-size:clamp(25px,3vw,36px);
  margin-bottom:13px;
}

.poker-salon-bottom p {
  color:var(--ps-muted);
  line-height:1.7;
  margin:0;
}

.poker-salon-bottom-actions {
  display:flex;
  flex-wrap:wrap;
  gap:11px;
}

/* RESPONSIVE */

@media(max-width:1199px) {
  .poker-salon-comparison-grid,
  .poker-salon-rules-grid,
  .poker-salon-terms-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .poker-salon-comparison-grid article:last-child {
    grid-column:1/-1;
  }

  .poker-salon-bottom {
    flex-direction:column;
    align-items:flex-start;
  }
}

@media(max-width:991px) {
  .poker-salon {padding:80px 0}

  .poker-salon-heading,
  .poker-salon-intro,
  .poker-salon-format-panel,
  .poker-salon-booking {
    grid-template-columns:1fr;
  }

  .poker-salon-heading {gap:25px}

  .poker-salon-main-photo {
    height:460px;
    border-radius:120px 120px 23px 23px;
  }

  .poker-salon-format-visual {min-height:350px}
}

@media(max-width:767px) {
  .poker-salon-formats {padding:22px}

  .poker-salon-comparison-grid,
  .poker-salon-terms-grid,
  .poker-salon-rules-grid,
  .poker-salon-promotions-grid,
  .poker-salon-faq-grid,
  .poker-salon-format-facts {
    grid-template-columns:1fr;
  }

  .poker-salon-comparison-grid article:last-child {
    grid-column:auto;
  }

  .poker-salon-comparison-grid article,
  .poker-salon-rules-grid article {
    min-height:auto;
  }

  .poker-salon-highlights {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .poker-salon-main-photo {height:370px}
  .poker-salon-format-copy {padding:27px 21px}
  .poker-salon-booking-main,
  .poker-salon-booking-steps {padding:27px 22px}
  .poker-salon-atmosphere figure {height:300px}
  .poker-salon-atmosphere-note {flex-direction:column}
  .poker-salon-bottom {padding:25px}
}

@media(max-width:420px) {
  .poker-salon-heading h2 {font-size:39px}

  .poker-salon-highlights strong {font-size:20px}
  .poker-salon-highlights>div {padding:12px 5px}

  .poker-salon-cards>div {
    width:70px;
    height:100px;
    font-size:18px;
  }

  .poker-salon-cards--four>div {
    width:49px;
    height:80px;
  }

  .poker-salon-board>div {
    width:40px;
    height:57px;
    font-size:16px;
  }

  .poker-salon-format-tab {font-size:11px}
  .poker-salon-format-visual {padding:16px}
}

@media(prefers-reduced-motion:reduce) {
  .poker-salon * {transition-duration:.01ms!important}
}


/* ========================================
   XPERIENCE LIVE STUDIO
   ======================================== */

.xp-studio {
  --xp-gold:#c7a56b;
  --xp-light:#e9d5aa;
  --xp-green:#236657;
  --xp-violet:#bfaacf;
  --xp-border:rgba(199,165,107,.18);
  --xp-muted:rgba(245,240,233,.65);
  padding:110px 0;
  overflow:hidden;
  color:#f5f0e9;
  background:
    radial-gradient(circle at 85% 9%,rgba(108,66,138,.18),transparent 32%),
    radial-gradient(circle at 5% 65%,rgba(35,102,87,.17),transparent 34%),
    #0c1015;
}

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

.xp-studio h2,
.xp-studio h3,
.xp-studio h4 { color:#fff; }

.xp-kicker {
  display:block;
  margin-bottom:17px;
  color:var(--xp-gold);
  font-size:11px;
  font-weight:800;
  letter-spacing:.17em;
  text-transform:uppercase;
}

.xp-studio-heading {
  display:grid;
  grid-template-columns:1.12fr .88fr;
  align-items:end;
  gap:65px;
  margin-bottom:55px;
}

.xp-studio-heading h2 {
  font-size:clamp(42px,5vw,70px);
  line-height:1.05;
  letter-spacing:-.045em;
}

.xp-studio-heading em {
  color:var(--xp-gold);
  font-style:normal;
}

.xp-studio-heading p,
.xp-section-heading p {
  color:var(--xp-muted);
  font-size:15px;
  line-height:1.85;
}

.xp-section-heading {
  max-width:820px;
  margin-bottom:34px;
}

.xp-section-heading h3 {
  margin-bottom:15px;
  font-size:clamp(30px,3.7vw,47px);
  line-height:1.14;
}

/* LIVE STUDIO */

.xp-studio-live,
.xp-studio-games,
.xp-studio-features,
.xp-studio-lifestyle,
.xp-studio-first,
.xp-studio-compare,
.xp-studio-hours,
.xp-studio-faq {
  margin-bottom:100px;
}

.xp-studio-live {
  padding:30px;
  border:1px solid rgba(191,170,207,.3);
  border-radius:30px;
  background:linear-gradient(145deg,#181724,#111c20);
}

.xp-studio-topline,
.xp-studio-led-top,
.xp-studio-led-bottom {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:15px;
}

.xp-studio-topline {
  margin-bottom:22px;
  color:var(--xp-muted);
  font-size:11px;
  letter-spacing:.12em;
}

.xp-studio-indicator {
  display:flex;
  align-items:center;
  gap:12px;
}

.xp-studio-dot {
  width:9px;height:9px;
  border-radius:50%;
  background:var(--xp-gold);
  box-shadow:0 0 16px rgba(199,165,107,.5);
}

.xp-studio-stage {
  position:relative;
  padding:38px 35px 30px;
  border:1px solid var(--xp-border);
  border-radius:24px;
  background:
    radial-gradient(ellipse at 50% 5%,rgba(191,170,207,.18),transparent 65%),
    #0b121a;
}

.xp-studio-led {
  position:relative;
  max-width:910px;
  margin:0 auto;
  padding:20px 26px;
  border:9px solid #292335;
  border-radius:23px;
  background:
    radial-gradient(circle at 50% 40%,rgba(101,68,134,.27),transparent 62%),
    repeating-linear-gradient(90deg,transparent 0 5px,rgba(255,255,255,.008) 5px 6px),
    linear-gradient(130deg,#102f2c,#251932);
  box-shadow:0 0 65px rgba(152,104,189,.17),0 22px 55px #0007;
}

.xp-studio-led-top,
.xp-studio-led-bottom {
  color:rgba(233,213,170,.65);
  font-size:10px;
  letter-spacing:.13em;
}

.xp-studio-led-content {
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:45px 12px;
  text-align:center;
}

.xp-studio-led-label {
  color:var(--xp-violet);
  font-size:11px;
  letter-spacing:.25em;
}

.xp-studio-led-icon {
  display:grid;
  place-items:center;
  margin:20px 0;
  width:85px;height:85px;
  border:1px solid rgba(199,165,107,.4);
  border-radius:50%;
  background:rgba(199,165,107,.08);
  color:var(--xp-gold);
  font-size:39px;
}

.xp-studio-led-content strong {
  color:#fff;
  font-size:clamp(33px,5vw,63px);
  letter-spacing:.045em;
  line-height:1.12;
}

.xp-studio-led-content strong em {
  color:var(--xp-gold);
  font-style:normal;
}

.xp-studio-led-content p {
  margin:17px 0 0;
  color:var(--xp-light);
  font-size:11px;
  letter-spacing:.11em;
}

.xp-studio-console-row {
  display:flex;
  justify-content:center;
  gap:20px;
  margin-top:30px;
}

.xp-studio-console {
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:145px;
  min-height:105px;
  border:2px solid rgba(191,170,207,.3);
  border-radius:16px;
  background:linear-gradient(140deg,#243d39,#241e34);
}

.xp-studio-console i {
  color:var(--xp-violet);
  font-size:32px;
}

.xp-studio-console span {
  color:#fff;
  font-size:10px;
  letter-spacing:.11em;
}

.xp-studio-stage-caption {
  margin-top:27px;
  text-align:center;
  color:rgba(245,240,233,.42);
  font-size:11px;
}

.xp-studio-stats {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-top:18px;
}

.xp-studio-stats>div {
  padding:25px;
  border:1px solid var(--xp-border);
  border-radius:19px;
  background:rgba(35,102,87,.11);
}

.xp-studio-stats span,
.xp-studio-stats small {
  display:block;
  color:var(--xp-muted);
  font-size:11px;
}

.xp-studio-stats strong {
  display:block;
  margin:11px 0;
  color:var(--xp-light);
  font-size:25px;
}

/* GAME TABS */

.xp-studio-games {
  padding:42px;
  border:1px solid var(--xp-border);
  border-radius:30px;
  background:#141b20;
}

.xp-game-tabs {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-bottom:19px;
}

.xp-game-tab {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:58px;
  border:1px solid rgba(191,170,207,.25);
  border-radius:14px;
  background:rgba(191,170,207,.035);
  color:#e5dced;
  font-size:14px;
  font-weight:700;
  cursor:pointer;
}

.xp-game-tab i {font-size:21px}

.xp-game-tab.is-active,
.xp-game-tab:hover,
.xp-game-tab:focus-visible {
  border-color:var(--xp-gold);
  background:rgba(35,102,87,.36);
  color:#fff;
}

.xp-game-panel {
  display:grid;
  grid-template-columns:.88fr 1.12fr;
  overflow:hidden;
  border:1px solid var(--xp-border);
  border-radius:23px;
  background:#0f171b;
}

.xp-game-panel[hidden] {display:none!important}

.xp-game-display {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-width:0;
  min-height:520px;
  padding:30px;
  background:
    radial-gradient(circle at 50% 45%,rgba(199,165,107,.16),transparent 65%),
    linear-gradient(145deg,#183d34,#241d33);
}

.xp-game-display--cards {
  background:linear-gradient(145deg,#271e38,#164036);
}

.xp-game-display>span {
  color:var(--xp-violet);
  font-size:10px;
  letter-spacing:.13em;
  text-align:center;
}

.xp-game-wheel {
  display:grid;
  place-items:center;
  width:min(290px,85%);
  aspect-ratio:1;
  margin:35px 0;
  border:10px solid #9e7c4a;
  border-radius:50%;
  background:repeating-conic-gradient(
    #822b3e 0deg 10deg,
    #102721 10deg 20deg);
  box-shadow:0 20px 60px #0007;
}

.xp-game-wheel>div {
  display:grid;
  place-items:center;
  width:40%;
  aspect-ratio:1;
  border:8px solid var(--xp-gold);
  border-radius:50%;
  background:#204539;
  color:#fff;
  font-size:43px;
}

.xp-game-display-footer {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:9px;
}

.xp-game-display-footer span {
  padding:9px 12px;
  border:1px solid rgba(199,165,107,.25);
  border-radius:9px;
  color:var(--xp-light);
  font-size:10px;
  letter-spacing:.08em;
}

.xp-game-cards {
  display:flex;
  gap:12px;
  margin:37px 0 20px;
}

.xp-game-cards>div {
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  width:100px;height:145px;
  padding:14px;
  border:2px solid var(--xp-gold);
  border-radius:12px;
  background:#f3ebde;
  color:#1a2923;
  font-size:26px;
  font-weight:800;
}

.xp-game-cards>div span {
  align-self:center;
  font-size:51px;
}

.xp-game-cards>div:nth-child(2) span {color:#a44356}

.xp-game-twentyone {
  margin-bottom:22px;
  color:var(--xp-light);
  font-size:50px;
}

.xp-game-copy {
  padding:clamp(27px,4vw,54px);
  align-self:center;
}

.xp-game-copy h4 {
  margin-bottom:21px;
  font-size:clamp(28px,3.3vw,42px);
  line-height:1.15;
}

.xp-game-copy>p {
  color:var(--xp-muted);
  font-size:14px;
  line-height:1.8;
}

.xp-game-steps {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:26px 0;
}

.xp-game-steps>div {
  display:flex;
  gap:13px;
  padding:17px;
  border:1px solid var(--xp-border);
  border-radius:15px;
  background:rgba(35,102,87,.09);
}

.xp-game-steps span {
  color:var(--xp-gold);
  font-size:12px;
  font-weight:800;
}

.xp-game-steps p {
  margin:0;
  color:var(--xp-muted);
  font-size:12px;
  line-height:1.65;
}

.xp-game-highlight {
  display:flex;
  gap:15px;
  padding:21px;
  margin-bottom:20px;
  border-left:3px solid var(--xp-gold);
  background:rgba(191,170,207,.07);
  border-radius:0 16px 16px 0;
}

.xp-game-highlight i {
  color:var(--xp-light);
  font-size:24px;
}

.xp-game-highlight p {
  margin:0;
  color:var(--xp-muted);
  font-size:13px;
  line-height:1.7;
}

.xp-inline-link {
  display:inline-flex;
  align-items:center;
  gap:12px;
  color:var(--xp-light);
  font-size:13px;
  font-weight:800;
}

.xp-inline-link:hover {color:#fff}

.xp-game-disclaimer {
  display:flex;
  gap:12px;
  padding-top:20px;
  color:var(--xp-muted);
  font-size:12px;
  line-height:1.7;
}

.xp-game-disclaimer i {color:var(--xp-violet)}
.xp-game-disclaimer p {margin:0}

/* FEATURES */

.xp-feature-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.xp-feature-grid article {
  min-height:320px;
  padding:33px;
  border:1px solid var(--xp-border);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(35,102,87,.15),rgba(191,170,207,.04));
}

.xp-feature-number {
  float:right;
  color:rgba(199,165,107,.5);
  font-size:13px;
}

.xp-feature-grid article>i {
  display:block;
  margin-bottom:45px;
  color:var(--xp-gold);
  font-size:32px;
}

.xp-feature-grid h4 {
  margin-bottom:15px;
  font-size:25px;
}

.xp-feature-grid p {
  margin-bottom:23px;
  color:var(--xp-muted);
  font-size:14px;
  line-height:1.8;
}

.xp-feature-grid article>span {
  color:var(--xp-violet);
  font-size:10px;
  letter-spacing:.11em;
}

/* MUSIC & DRINKS */

.xp-studio-lifestyle {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:17px;
}

.xp-studio-music,
.xp-studio-drinks {
  display:flex;
  flex-direction:column;
  min-height:505px;
  padding:36px;
  border:1px solid var(--xp-border);
  border-radius:27px;
  background:linear-gradient(140deg,#271e37,#162b2d);
}

.xp-studio-drinks {
  background:linear-gradient(140deg,#1a4037,#2b2133);
}

.xp-studio-music-head,
.xp-studio-drinks-head {
  display:flex;
  justify-content:space-between;
  align-items:center;
  color:var(--xp-light);
  font-size:11px;
  letter-spacing:.13em;
}

.xp-studio-music-head i,
.xp-studio-drinks-head i {font-size:25px}

.xp-equalizer {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  height:175px;
  margin:22px 0;
}

.xp-equalizer span {
  width:9px;
  height:50px;
  border-radius:10px;
  background:linear-gradient(var(--xp-violet),var(--xp-green));
  animation:xp-equalize 1.4s ease-in-out infinite alternate;
}

.xp-equalizer span:nth-child(3n) {height:105px;animation-delay:.3s}
.xp-equalizer span:nth-child(4n) {height:140px;animation-delay:.65s}
.xp-equalizer span:nth-child(5n) {height:75px;animation-delay:.9s}

@keyframes xp-equalize {
  from {transform:scaleY(.55)}
  to {transform:scaleY(1)}
}

.xp-studio-lifestyle h3 {
  margin-bottom:15px;
  font-size:32px;
}

.xp-studio-lifestyle p {
  color:var(--xp-muted);
  font-size:14px;
  line-height:1.8;
}

.xp-lifestyle-note {
  margin-top:auto;
  padding-top:20px;
  border-top:1px solid var(--xp-border);
  color:var(--xp-violet);
  font-size:12px;
  line-height:1.7;
}

.xp-drink-art {
  position:relative;
  display:grid;
  place-items:center;
  height:205px;
  margin:10px 0;
}

.xp-drink-glass {
  position:relative;
  width:94px;height:135px;
  overflow:hidden;
  border:3px solid rgba(233,213,170,.65);
  border-top:5px solid var(--xp-light);
  border-radius:5px 5px 35px 35px;
  transform:rotate(-8deg);
  background:rgba(255,255,255,.05);
}

.xp-drink-liquid {
  position:absolute;
  bottom:0;left:0;right:0;
  height:65%;
  background:linear-gradient(160deg,#b68b92,#654e83);
}

.xp-drink-decoration {
  position:absolute;
  left:calc(50% + 34px);
  top:10px;
  width:4px;height:85px;
  background:var(--xp-gold);
  transform:rotate(24deg);
}

/* FIRST VISIT */

.xp-first-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}

.xp-first-grid article {
  min-height:225px;
  padding:28px;
  border:1px solid var(--xp-border);
  border-radius:22px;
  background:rgba(35,102,87,.11);
}

.xp-first-grid article>span {
  display:block;
  margin-bottom:31px;
  color:var(--xp-gold);
  font-size:25px;
  font-weight:800;
}

.xp-first-grid h4 {margin-bottom:13px;font-size:20px}

.xp-first-grid p {
  color:var(--xp-muted);
  font-size:13px;
  line-height:1.75;
}

/* COMPARISON */

.xp-compare-table {
  overflow:hidden;
  border:1px solid var(--xp-border);
  border-radius:24px;
  background:#141b20;
}

.xp-compare-row {
  display:grid;
  grid-template-columns:.7fr 1.15fr 1.15fr;
  gap:18px;
  padding:20px 26px;
  border-bottom:1px solid var(--xp-border);
}

.xp-compare-row:last-child {border-bottom:0}

.xp-compare-row>span {
  color:var(--xp-muted);
  font-size:13px;
}

.xp-compare-row>strong {
  color:#f5f0e9;
  font-size:13px;
  font-weight:600;
}

.xp-compare-header {
  background:linear-gradient(90deg,#24463b,#261e33);
}

.xp-compare-header>span,
.xp-compare-header>strong {
  color:var(--xp-light);
  font-size:11px;
  font-weight:800;
  letter-spacing:.07em;
}

/* HOURS */

.xp-studio-hours {
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  overflow:hidden;
  border:1px solid var(--xp-border);
  border-radius:28px;
}

.xp-hours-mark {
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  min-height:390px;
  padding:35px;
  background:linear-gradient(145deg,#243d39,#362444);
}

.xp-hours-mark span,
.xp-hours-mark small {
  color:var(--xp-light);
  font-size:11px;
  letter-spacing:.15em;
}

.xp-hours-mark strong {
  margin:25px 0;
  color:#fff;
  font-size:clamp(75px,9vw,125px);
  line-height:1;
}

.xp-hours-copy {
  align-self:center;
  padding:clamp(30px,4vw,55px);
  background:#141b20;
}

.xp-hours-copy h3 {
  margin-bottom:22px;
  font-size:clamp(29px,3.4vw,44px);
}

.xp-hours-copy p {
  color:var(--xp-muted);
  font-size:14px;
  line-height:1.8;
}

/* FAQ */

.xp-studio-faq>h3 {
  margin-bottom:30px;
  font-size:clamp(31px,3.5vw,45px);
}

.xp-faq-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.xp-faq-grid article {
  padding:29px;
  border:1px solid var(--xp-border);
  border-radius:22px;
  background:rgba(191,170,207,.04);
}

.xp-faq-grid h4 {
  margin-bottom:14px;
  font-size:20px;
}

.xp-faq-grid p {
  margin:0;
  color:var(--xp-muted);
  font-size:13px;
  line-height:1.8;
}

/* BOTTOM */

.xp-studio-bottom {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:35px;
  padding:38px;
  border:1px solid var(--xp-border);
  border-radius:25px;
  background:linear-gradient(110deg,rgba(35,102,87,.29),rgba(191,170,207,.09));
}

.xp-studio-bottom>div:first-child {max-width:640px}

.xp-studio-bottom>div:first-child>span {
  display:block;
  margin-bottom:14px;
  color:var(--xp-gold);
  font-size:10px;
  letter-spacing:.14em;
}

.xp-studio-bottom h3 {
  margin-bottom:13px;
  font-size:clamp(26px,3vw,36px);
}

.xp-studio-bottom p {
  margin:0;
  color:var(--xp-muted);
  font-size:14px;
  line-height:1.75;
}

.xp-bottom-actions {
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.xp-primary,.xp-secondary {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  gap:11px;
  min-height:49px;
  padding:0 23px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
}

.xp-primary {
  color:#17150f;
  background:linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
}

.xp-primary:hover {color:#17150f;filter:brightness(1.1)}

.xp-secondary {
  color:#fff;
  border:1px solid rgba(191,170,207,.44);
}

.xp-secondary:hover {color:var(--xp-light)}

/* RESPONSIVE */

@media(max-width:1199px) {
  .xp-first-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .xp-studio-bottom {flex-direction:column;align-items:flex-start}
}

@media(max-width:991px) {
  .xp-studio {padding:80px 0}
  .xp-studio-heading,
  .xp-game-panel,
  .xp-studio-hours {grid-template-columns:1fr}
  .xp-studio-heading {gap:25px}
  .xp-game-display {min-height:340px}
  .xp-feature-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .xp-feature-grid article:last-child {grid-column:1/-1}
  .xp-studio-lifestyle {grid-template-columns:1fr}
}

@media(max-width:767px) {
  .xp-studio-live,.xp-studio-games {padding:20px}
  .xp-studio-stage {padding:18px 12px}
  .xp-studio-led {padding:12px;border-width:5px}
  .xp-studio-led-content {padding:35px 5px}
  .xp-studio-led-content p {font-size:9px}
  .xp-studio-console-row {gap:7px}
  .xp-studio-console {width:33%;min-height:80px}
  .xp-studio-console i {font-size:24px}
  .xp-studio-console span {font-size:9px}
  .xp-studio-stats,
  .xp-feature-grid,
  .xp-first-grid,
  .xp-faq-grid {grid-template-columns:1fr}
  .xp-feature-grid article:last-child {grid-column:auto}
  .xp-feature-grid article,.xp-first-grid article {min-height:auto}
  .xp-game-copy {padding:28px 21px}
  .xp-game-steps {grid-template-columns:1fr}
  .xp-studio-music,.xp-studio-drinks {padding:26px;min-height:450px}
  .xp-compare-row {grid-template-columns:1fr 1fr;gap:9px}
  .xp-compare-row>span {grid-column:1/-1;color:var(--xp-gold)}
  .xp-compare-header>span {display:none}
  .xp-compare-header>strong {font-size:10px}
  .xp-hours-mark {min-height:250px}
  .xp-studio-bottom {padding:25px}
}

@media(max-width:420px) {
  .xp-studio-heading h2 {font-size:38px}
  .xp-game-tab {font-size:12px}
  .xp-studio-led-content strong {font-size:29px}
  .xp-studio-top-meta {font-size:9px}
  .xp-game-cards>div {width:80px;height:115px}
}

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


/* ==========================================
   FESTIVAL HUB
   Royal Gold / Emerald / Royal Violet
   ========================================== */

.festival-hub {
  --fh-gold:#c7a56b;
  --fh-light:#e9d5aa;
  --fh-emerald:#236657;
  --fh-violet:#bfaacf;
  --fh-line:rgba(199,165,107,.19);
  --fh-muted:rgba(245,240,233,.64);
  padding:110px 0;
  color:#f5f0e9;
  background:
    radial-gradient(circle at 86% 5%,rgba(35,102,87,.17),transparent 30%),
    radial-gradient(circle at 8% 64%,rgba(191,170,207,.07),transparent 33%),
    #0c1015;
}

.festival-hub *,
.festival-hub *::before,
.festival-hub *::after {box-sizing:border-box}

.festival-hub h2,
.festival-hub h3,
.festival-hub h4 {color:#fff}

.fh-kicker {
  display:block;margin-bottom:17px;
  color:var(--fh-gold);
  font-size:11px;font-weight:800;
  letter-spacing:.17em;text-transform:uppercase;
}

.fh-heading {
  display:grid;
  grid-template-columns:1.1fr .9fr;
  align-items:end;
  gap:65px;margin-bottom:60px;
}

.fh-heading h2 {
  font-size:clamp(42px,5vw,70px);
  line-height:1.05;letter-spacing:-.045em;
}

.fh-heading em {
  color:var(--fh-gold);font-style:normal;
}

.fh-heading p,
.fh-section-heading p {
  color:var(--fh-muted);
  font-size:15px;line-height:1.85;
}

.fh-section-heading {
  max-width:860px;margin-bottom:35px;
}

.fh-section-heading h3 {
  font-size:clamp(31px,3.7vw,48px);
  line-height:1.13;margin-bottom:16px;
}

.fh-tournaments,.fh-weekly,.fh-glossary,
.fh-registration,.fh-structure,.fh-casino-events,
.fh-event-types,.fh-calendar,.fh-faq {
  margin-bottom:105px;
  scroll-margin-top:110px;
}

/* FEATURED INTRO */

.fh-intro {
  display:grid;grid-template-columns:1.35fr .65fr;
  gap:17px;margin-bottom:105px;
}

.fh-intro-feature {
  min-height:440px;padding:48px;
  border:1px solid var(--fh-line);
  border-radius:29px;
  background:
    radial-gradient(circle at 80% 20%,rgba(199,165,107,.19),transparent 44%),
    linear-gradient(135deg,#244638,#261d34);
}

.fh-intro-feature>span {
  color:var(--fh-light);
  font-size:11px;letter-spacing:.15em;
}

.fh-intro-feature h3 {
  max-width:650px;margin:26px 0 18px;
  font-size:clamp(34px,4vw,56px);
  line-height:1.1;
}

.fh-intro-feature>strong {
  display:block;color:var(--fh-light);
  font-size:25px;margin-bottom:20px;
}

.fh-intro-feature p {
  max-width:620px;color:var(--fh-muted);
  font-size:14px;line-height:1.8;
}

.fh-intro-stats {
  display:flex;flex-wrap:wrap;
  gap:30px;margin:28px 0;
}

.fh-intro-stats small,
.fh-intro-stats b {display:block}

.fh-intro-stats small {
  margin-bottom:9px;
  color:var(--fh-violet);font-size:10px;
  letter-spacing:.1em;
}

.fh-intro-stats b {
  color:#fff;font-size:24px;
}

.fh-intro-side {display:grid;gap:17px}

.fh-intro-side>div {
  padding:32px;border:1px solid var(--fh-line);
  border-radius:26px;background:#171e23;
}

.fh-intro-side i {
  display:block;color:var(--fh-gold);
  font-size:29px;margin-bottom:24px;
}

.fh-intro-side span {
  color:var(--fh-violet);
  font-size:10px;letter-spacing:.13em;
}

.fh-intro-side h4 {
  margin:11px 0;font-size:22px;
}

.fh-intro-side p {
  margin:0;color:var(--fh-muted);
  font-size:13px;line-height:1.75;
}

.fh-gold-link,.fh-outline-link {
  display:inline-flex;justify-content:center;
  align-items:center;gap:12px;min-height:48px;
  padding:0 23px;border-radius:999px;
  font-size:12px;font-weight:800;
}

.fh-gold-link {
  color:#17150f;
  background:linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
}

.fh-gold-link:hover {color:#17150f;filter:brightness(1.1)}

.fh-outline-link {
  color:#fff;border:1px solid rgba(191,170,207,.4);
}

.fh-outline-link:hover {color:var(--fh-light)}

/* FESTIVALS */

.fh-festival-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.fh-festival-card {
  display:flex;flex-direction:column;
  min-height:380px;padding:30px;
  border:1px solid var(--fh-line);
  border-radius:25px;
  background:linear-gradient(140deg,rgba(35,102,87,.13),rgba(191,170,207,.035));
}

.fh-festival-highlight {
  background:linear-gradient(140deg,#23483a,#282034);
  border-color:rgba(199,165,107,.36);
}

.fh-festival-top {
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;margin-bottom:37px;
}

.fh-festival-top i {
  color:var(--fh-gold);font-size:27px;
}

.fh-festival-top span {
  color:var(--fh-violet);
  font-size:10px;letter-spacing:.09em;
  text-align:right;
}

.fh-festival-card h4 {
  margin-bottom:18px;font-size:26px;
  line-height:1.2;
}

.fh-festival-card>p {
  color:var(--fh-muted);font-size:13px;
  line-height:1.8;
}

.fh-festival-facts {
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;margin:14px 0 25px;
}

.fh-festival-facts div {
  min-width:0;padding:14px;
  border:1px solid var(--fh-line);
  border-radius:13px;
}

.fh-festival-facts span {
  display:block;margin-bottom:8px;
  color:var(--fh-violet);font-size:10px;
}

.fh-festival-facts strong {
  color:#fff;font-size:15px;
}

.fh-festival-footer {
  display:block;margin-top:auto;padding-top:17px;
  border-top:1px solid var(--fh-line);
  color:var(--fh-light);font-size:12px;
}

/* WEEKLY */

.fh-weekly-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
}

.fh-weekly-grid article {
  padding:32px;
  border:1px solid var(--fh-line);
  border-radius:24px;background:#161e21;
}

.fh-weekly-grid article>span {
  color:var(--fh-violet);
  font-size:11px;letter-spacing:.1em;
}

.fh-weekly-grid h4 {
  margin:27px 0 14px;font-size:25px;
}

.fh-weekly-grid strong {
  display:block;margin-bottom:20px;
  color:var(--fh-light);font-size:32px;
}

.fh-weekly-grid p {
  color:var(--fh-muted);font-size:13px;
  line-height:1.8;
}

.fh-weekly-grid small {
  color:var(--fh-violet);font-size:12px;
  line-height:1.6;
}

.fh-weekly-note {
  margin:18px 0 0;color:var(--fh-muted);
  font-size:12px;line-height:1.7;
}

/* GLOSSARY */

.fh-glossary {
  padding:42px;border:1px solid var(--fh-line);
  border-radius:29px;background:#151c21;
}

.fh-glossary-layout {
  display:grid;grid-template-columns:.45fr 1fr;
  gap:18px;
}

.fh-glossary-buttons {display:grid;gap:9px}

.fh-glossary-buttons button {
  padding:16px 19px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:13px;
  background:rgba(255,255,255,.025);
  color:#eee8e8;text-align:left;
  cursor:pointer;font-size:13px;font-weight:700;
}

.fh-glossary-buttons button.is-active,
.fh-glossary-buttons button:hover,
.fh-glossary-buttons button:focus-visible {
  border-color:var(--fh-gold);
  background:rgba(35,102,87,.32);
}

.fh-glossary-output {
  display:flex;flex-direction:column;
  justify-content:center;
  min-height:370px;padding:40px;
  border:1px solid var(--fh-line);
  border-radius:23px;
  background:linear-gradient(145deg,#1a3d32,#251e31);
}

.fh-glossary-output>span {
  color:var(--fh-violet);font-size:11px;
  letter-spacing:.14em;
}

.fh-glossary-output h4 {
  margin:25px 0;font-size:clamp(30px,3vw,42px);
}

.fh-glossary-output p {
  max-width:650px;color:var(--fh-muted);
  font-size:15px;line-height:1.8;
}

.fh-glossary-output>div {
  margin-top:22px;padding-top:22px;
  border-top:1px solid var(--fh-line);
  color:var(--fh-light);font-size:13px;line-height:1.7;
}

/* REGISTRATION */

.fh-registration {
  display:grid;grid-template-columns:.95fr 1.05fr;
  overflow:hidden;border:1px solid var(--fh-line);
  border-radius:29px;
}

.fh-registration-intro {
  padding:45px;background:linear-gradient(145deg,#24483a,#291f38);
}

.fh-registration-intro h3 {
  margin-bottom:20px;font-size:clamp(32px,3.5vw,46px);
}

.fh-registration-intro>p {
  color:var(--fh-muted);font-size:14px;line-height:1.85;
}

.fh-registration-contact {
  margin-top:30px;padding:25px;
  border:1px solid rgba(199,165,107,.35);
  border-radius:19px;background:rgba(0,0,0,.17);
}

.fh-registration-contact span,
.fh-registration-contact small {
  display:block;color:var(--fh-violet);
  font-size:11px;letter-spacing:.09em;
}

.fh-registration-contact strong {
  display:block;color:#fff;
  font-size:26px;margin:18px 0 9px;
}

.fh-registration-contact a {
  display:inline-flex;margin:17px 13px 0 0;
  color:var(--fh-light);font-size:12px;font-weight:800;
}

.fh-registration-steps {
  padding:35px;background:#151c21;
}

.fh-registration-steps>div {
  display:grid;grid-template-columns:42px 1fr;
  gap:16px;padding:21px 0;
  border-bottom:1px solid var(--fh-line);
}

.fh-registration-steps>div:last-child {border:0}

.fh-registration-steps>div>span {
  color:var(--fh-gold);font-size:23px;font-weight:800;
}

.fh-registration-steps h4 {
  margin-bottom:10px;font-size:19px;
}

.fh-registration-steps p {
  color:var(--fh-muted);font-size:13px;
  line-height:1.75;margin:0;
}

/* STRUCTURE */

.fh-structure {
  display:grid;grid-template-columns:.8fr 1.2fr;
  gap:35px;align-items:center;padding:42px;
  border:1px solid var(--fh-line);
  border-radius:27px;
  background:linear-gradient(120deg,#192d2a,#1e1c29);
}

.fh-structure h3 {
  margin-bottom:17px;font-size:35px;
}

.fh-structure p {
  color:var(--fh-muted);
  font-size:14px;line-height:1.8;
}

.fh-structure-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}

.fh-structure-grid>div {
  padding:23px 15px;
  border:1px solid var(--fh-line);
  border-radius:16px;background:rgba(0,0,0,.14);
}

.fh-structure-grid span {
  display:block;margin-bottom:14px;
  color:var(--fh-violet);font-size:10px;
}

.fh-structure-grid strong {
  display:block;color:#fff;font-size:17px;
}

/* EVENT FILTERS */

.fh-event-filters {
  display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px;
}

.fh-event-filters button {
  padding:12px 20px;
  border:1px solid var(--fh-line);
  border-radius:999px;background:rgba(255,255,255,.025);
  color:var(--fh-muted);font-size:12px;font-weight:700;
  cursor:pointer;
}

.fh-event-filters button.is-active,
.fh-event-filters button:hover,
.fh-event-filters button:focus-visible {
  color:#17150f;
  background:var(--fh-light);
  border-color:var(--fh-light);
}

.fh-event-grid {
  display:flex;flex-wrap:wrap;
  gap:15px;
}

.fh-event-card {
  display:flex;flex-direction:column;
  flex:1 1 30%;min-width:260px;
  min-height:305px;padding:29px;
  border:1px solid var(--fh-line);
  border-radius:23px;
  background:linear-gradient(145deg,rgba(35,102,87,.16),rgba(191,170,207,.035));
}

.fh-event-card[hidden] {display:none!important}

.fh-event-card>span {
  color:var(--fh-violet);
  font-size:11px;letter-spacing:.09em;
}

.fh-event-card>i {
  display:block;color:var(--fh-gold);
  font-size:27px;margin:25px 0;
}

.fh-event-card h4 {
  margin-bottom:14px;font-size:23px;
}

.fh-event-card>strong {
  display:block;color:var(--fh-light);
  font-size:32px;margin-bottom:15px;
}

.fh-event-card p {
  margin:0;color:var(--fh-muted);
  font-size:13px;line-height:1.75;
}

.fh-event-note {
  display:flex;gap:14px;padding:24px;
  margin-top:17px;border-radius:18px;
  border:1px solid rgba(191,170,207,.2);
  background:rgba(191,170,207,.05);
}

.fh-event-note i {color:var(--fh-violet);font-size:21px}
.fh-event-note p {
  margin:0;color:var(--fh-muted);
  font-size:12px;line-height:1.75;
}

/* EVENT TYPES */

.fh-type-grid {
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
}

.fh-type-grid article {
  min-height:285px;padding:30px;
  border:1px solid var(--fh-line);
  border-radius:23px;background:#171d22;
}

.fh-type-grid span {
  float:right;color:var(--fh-violet);font-size:12px;
}

.fh-type-grid i {
  display:block;margin-bottom:40px;
  color:var(--fh-gold);font-size:30px;
}

.fh-type-grid h4 {margin-bottom:15px;font-size:22px}
.fh-type-grid p {
  color:var(--fh-muted);font-size:13px;line-height:1.8;
}

/* CALENDARS */

.fh-calendar {
  display:grid;grid-template-columns:1.15fr .85fr;
  overflow:hidden;border:1px solid var(--fh-line);
  border-radius:29px;
}

.fh-calendar-main {padding:45px;background:#141c20}

.fh-calendar-main h3 {
  font-size:clamp(30px,3.5vw,45px);
  margin-bottom:19px;
}

.fh-calendar-main>p {
  color:var(--fh-muted);font-size:14px;line-height:1.8;
}

.fh-calendar-paths {margin-top:35px}

.fh-calendar-paths>div {
  display:flex;gap:19px;padding:21px 0;
  border-top:1px solid var(--fh-line);
}

.fh-calendar-paths i {
  color:var(--fh-gold);font-size:25px;
}

.fh-calendar-paths strong {color:#fff;font-size:18px}
.fh-calendar-paths p {
  margin:8px 0 0;color:var(--fh-muted);
  font-size:13px;line-height:1.7;
}

.fh-calendar-aside {
  display:flex;flex-direction:column;
  justify-content:center;
  padding:45px;background:linear-gradient(145deg,#254639,#282035);
}

.fh-calendar-aside>span {
  color:var(--fh-violet);font-size:10px;letter-spacing:.13em;
}

.fh-calendar-aside h4 {
  margin:22px 0 26px;font-size:29px;
}

.fh-calendar-aside>div {
  display:flex;gap:12px;padding:14px 0;
  border-bottom:1px solid var(--fh-line);
  color:#f5f0e9;font-size:13px;
}

.fh-calendar-aside i {color:var(--fh-gold)}

/* FAQ */

.fh-faq>h3 {
  font-size:clamp(31px,3.5vw,45px);
  margin-bottom:30px;
}

.fh-faq-grid {
  display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}

.fh-faq-grid article {
  padding:29px;border:1px solid var(--fh-line);
  border-radius:22px;background:rgba(35,102,87,.09);
}

.fh-faq-grid h4 {
  margin-bottom:13px;font-size:20px;
}

.fh-faq-grid p {
  margin:0;color:var(--fh-muted);
  font-size:13px;line-height:1.8;
}

/* FOOTER BLOCKS */

.fh-responsible,.fh-bottom {
  display:flex;align-items:center;
  justify-content:space-between;
  gap:30px;padding:32px;
  border:1px solid var(--fh-line);
  border-radius:24px;
}

.fh-responsible {
  margin-bottom:25px;
  background:rgba(191,170,207,.055);
}

.fh-responsible>i {
  font-size:33px;color:var(--fh-violet);
}

.fh-responsible h4 {
  margin-bottom:10px;font-size:21px;
}

.fh-responsible p,.fh-bottom p {
  margin:0;color:var(--fh-muted);
  font-size:13px;line-height:1.75;
}

.fh-responsible a {
  flex:0 0 auto;color:var(--fh-light);
  font-size:12px;font-weight:800;
}

.fh-bottom {
  background:linear-gradient(110deg,rgba(35,102,87,.3),rgba(191,170,207,.065));
}

.fh-bottom>div:first-child {max-width:610px}

.fh-bottom>div:first-child>span {
  display:block;margin-bottom:13px;
  color:var(--fh-gold);font-size:10px;letter-spacing:.14em;
}

.fh-bottom h3 {
  margin-bottom:13px;
  font-size:clamp(25px,3vw,35px);
}

.fh-bottom-actions {
  display:flex;flex-wrap:wrap;gap:11px;
}

/* RESPONSIVE */

@media(max-width:1199px) {
  .fh-festival-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fh-structure {grid-template-columns:1fr}
  .fh-bottom,.fh-responsible {flex-wrap:wrap}
}

@media(max-width:991px) {
  .festival-hub {padding:80px 0}
  .fh-heading,.fh-intro,.fh-registration,.fh-calendar {
    grid-template-columns:1fr;
  }
  .fh-heading {gap:25px}
  .fh-intro-side {grid-template-columns:1fr 1fr}
  .fh-weekly-grid,.fh-type-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fh-weekly-grid article:last-child,
  .fh-type-grid article:last-child {grid-column:1/-1}
  .fh-glossary-layout {grid-template-columns:1fr}
  .fh-glossary-buttons {grid-template-columns:repeat(3,minmax(0,1fr))}
  .fh-glossary-output {min-height:260px}
}

@media(max-width:767px) {
  .fh-intro-feature,.fh-registration-intro,.fh-calendar-main,
  .fh-calendar-aside {padding:28px 23px}
  .fh-intro-side,.fh-festival-grid,.fh-weekly-grid,
  .fh-type-grid,.fh-faq-grid {grid-template-columns:1fr}
  .fh-weekly-grid article:last-child,
  .fh-type-grid article:last-child {grid-column:auto}
  .fh-festival-card {min-height:auto}
  .fh-glossary {padding:22px}
  .fh-glossary-buttons {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fh-glossary-output {padding:28px 22px}
  .fh-registration-steps {padding:25px 22px}
  .fh-structure {padding:26px 22px}
  .fh-structure-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .fh-event-card {flex-basis:100%;min-width:0;min-height:auto}
  .fh-responsible,.fh-bottom {flex-direction:column;align-items:flex-start}
}

@media(max-width:420px) {
  .fh-heading h2 {font-size:38px}
  .fh-festival-facts {grid-template-columns:1fr}
  .fh-glossary-buttons {grid-template-columns:1fr}
  .fh-structure-grid {grid-template-columns:1fr}
  .fh-intro-feature h3 {font-size:33px}
  .fh-registration-contact strong {font-size:21px}
}

@media(prefers-reduced-motion:reduce) {
  .festival-hub * {transition-duration:.01ms!important}
}


/* ========================================
   PACKAGE ATELIER
   ======================================== */

.offer-atelier {
  --oa-gold:#c7a56b;
  --oa-light:#e9d5aa;
  --oa-green:#236657;
  --oa-violet:#bfaacf;
  --oa-border:rgba(199,165,107,.2);
  --oa-muted:rgba(245,240,233,.65);
  padding:110px 0;
  background:
    radial-gradient(circle at 85% 5%,rgba(35,102,87,.2),transparent 32%),
    radial-gradient(circle at 10% 63%,rgba(191,170,207,.08),transparent 35%),
    #0c1015;
  color:#f5f0e9;
}
.offer-atelier *, .offer-atelier *::before,
.offer-atelier *::after {box-sizing:border-box}
.offer-atelier h2,.offer-atelier h3,
.offer-atelier h4 {color:#fff}
.offer-atelier p {line-height:1.78}
.oa-eyebrow {
  display:block;margin-bottom:16px;
  color:var(--oa-gold);font-size:11px;
  font-weight:800;letter-spacing:.17em;
}
.oa-heading {
  display:grid;grid-template-columns:1.15fr .85fr;
  align-items:end;gap:60px;margin-bottom:55px;
}
.oa-heading h2 {
  font-size:clamp(42px,5vw,70px);
  line-height:1.06;letter-spacing:-.045em;
}
.oa-heading em {color:var(--oa-gold);font-style:normal}
.oa-heading p,.oa-section-heading p {
  color:var(--oa-muted);font-size:15px;
}
.oa-section-heading {max-width:830px;margin-bottom:32px}
.oa-section-heading h3 {
  margin-bottom:15px;
  font-size:clamp(30px,3.5vw,46px);
  line-height:1.15;
}
.oa-catalog,.oa-group,.oa-extras,.oa-occasions,
.oa-booking,.oa-conditions,.oa-gift,.oa-faq {
  margin-bottom:100px;
}

/* INTRO */

.oa-intro {
  display:grid;grid-template-columns:1.18fr .82fr;
  gap:17px;margin-bottom:100px;
}
.oa-intro-primary {
  min-height:330px;padding:40px;
  border:1px solid var(--oa-border);border-radius:28px;
  background:linear-gradient(135deg,#24493a,#282036);
}
.oa-intro-primary>span {
  color:var(--oa-light);font-size:11px;letter-spacing:.15em;
}
.oa-intro-primary>strong {
  display:block;color:#fff;font-size:110px;
  line-height:1;margin:15px 0 5px;
}
.oa-intro-primary h3 {font-size:28px;margin-bottom:13px}
.oa-intro-primary p {max-width:560px;color:var(--oa-muted)}
.oa-intro-secondary {display:grid;gap:17px}
.oa-intro-secondary>div {
  padding:28px;border:1px solid var(--oa-border);
  border-radius:23px;background:#171e23;
}
.oa-intro-secondary i {
  display:block;margin-bottom:20px;
  color:var(--oa-gold);font-size:29px;
}
.oa-intro-secondary h4 {font-size:21px;margin-bottom:11px}
.oa-intro-secondary p {
  margin:0;color:var(--oa-muted);font-size:13px;
}

/* FILTERS & PACKAGE GRID */

.oa-filters {
  display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;
}
.oa-filters button {
  padding:12px 20px;border-radius:999px;
  border:1px solid var(--oa-border);
  background:rgba(255,255,255,.025);
  color:#ded6da;font-size:12px;font-weight:700;
  cursor:pointer;
}
.oa-filters button:hover,
.oa-filters button.is-active,
.oa-filters button:focus-visible {
  border-color:var(--oa-light);
  background:var(--oa-light);color:#161b19;
}
.oa-package-grid {
  display:flex;flex-wrap:wrap;
  align-items:stretch;gap:16px;
}
.oa-package-card {
  display:flex;flex-direction:column;
  flex:1 1 285px;
  min-width:0;min-height:390px;
  padding:29px;
  border:1px solid var(--oa-border);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(35,102,87,.15),rgba(191,170,207,.035));
}
.oa-package-card[hidden] {display:none!important}
.oa-package-featured {
  background:linear-gradient(145deg,#224539,#241d31);
  border-color:rgba(199,165,107,.48);
}
.oa-card-head {
  display:flex;align-items:center;
  justify-content:space-between;gap:12px;
  margin-bottom:26px;
}
.oa-card-head i {font-size:27px;color:var(--oa-gold)}
.oa-card-head span {
  color:var(--oa-violet);font-size:10px;
  letter-spacing:.12em;text-align:right;
}
.oa-package-card h4 {
  font-size:23px;line-height:1.25;margin-bottom:12px;
}
.oa-card-price {
  color:var(--oa-light);font-size:38px;
  font-weight:800;margin-bottom:15px;
}
.oa-card-price small {
  color:var(--oa-muted);font-size:12px;font-weight:400;
}
.oa-package-card>p {
  color:var(--oa-muted);font-size:13px;
  margin-bottom:20px;
}
.oa-package-card ul {
  list-style:none;padding:0;margin:0 0 25px;
  display:grid;gap:11px;
}
.oa-package-card li {
  position:relative;padding-left:18px;
  color:#e5e2dc;font-size:12px;line-height:1.6;
}
.oa-package-card li::before {
  content:"";position:absolute;left:0;top:8px;
  width:6px;height:6px;border-radius:50%;
  background:var(--oa-gold);
}
.oa-card-footer {
  margin-top:auto;padding-top:17px;
  border-top:1px solid var(--oa-border);
  color:var(--oa-violet);font-size:11px;
  letter-spacing:.08em;
}
.oa-catalog-note,.oa-extras-note {
  color:var(--oa-muted);font-size:12px;
}
.oa-catalog-note {
  display:flex;align-items:start;gap:13px;
  padding:20px;margin-top:20px;
  border:1px solid rgba(191,170,207,.2);
  border-radius:17px;
  background:rgba(191,170,207,.04);
}
.oa-catalog-note i {color:var(--oa-violet)}
.oa-catalog-note p {margin:0}

/* GROUP PLANNER */

.oa-group {
  padding:42px;border:1px solid var(--oa-border);
  border-radius:30px;background:#141b20;
}
.oa-group-layout {
  display:grid;grid-template-columns:1fr .9fr;
  gap:17px;
}
.oa-group-controls,.oa-group-result {
  padding:32px;border:1px solid var(--oa-border);
  border-radius:23px;background:#0e171a;
}
.oa-group-controls>label {
  display:block;margin:24px 0 12px;
  color:#fff;font-size:14px;font-weight:700;
}
.oa-group-controls>label:first-child {margin-top:0}
.oa-guest-stepper {
  display:flex;align-items:center;justify-content:space-between;
  max-width:230px;border:1px solid var(--oa-border);
  border-radius:13px;overflow:hidden;
}
.oa-guest-stepper button {
  width:56px;height:55px;border:0;cursor:pointer;
  color:var(--oa-light);background:rgba(35,102,87,.28);
  font-size:24px;
}
.oa-guest-stepper output {color:#fff;font-size:25px;font-weight:800}
.oa-control-help {color:var(--oa-muted);font-size:12px}
.oa-group-controls select {
  display:block;width:100%;min-height:52px;
  padding:0 16px;border:1px solid var(--oa-border);
  border-radius:12px;background:#19252a;
  color:#fff;font:inherit;font-size:13px;
}
.oa-group-result {
  display:flex;flex-direction:column;justify-content:center;
  background:linear-gradient(145deg,#23493b,#292036);
}
.oa-group-result>span {
  color:var(--oa-light);font-size:10px;letter-spacing:.15em;
}
.oa-group-result>strong {
  display:block;margin:25px 0 6px;color:#fff;
  font-size:clamp(55px,6vw,90px);line-height:1;
}
.oa-group-result>p {
  color:var(--oa-muted);font-size:14px;
}
.oa-result-lines {margin:22px 0}
.oa-result-lines>div {
  display:flex;justify-content:space-between;gap:15px;
  padding:14px 0;border-bottom:1px solid var(--oa-border);
}
.oa-result-lines span {color:var(--oa-muted);font-size:13px}
.oa-result-lines strong {color:#fff;font-size:15px}
.oa-group-result .oa-result-disclaimer {
  font-size:12px;color:rgba(245,240,233,.48);
}

/* EXTRAS & OCCASIONS */

.oa-extras-grid,.oa-occasion-grid,
.oa-condition-grid,.oa-faq-grid {
  display:grid;gap:16px;
}
.oa-extras-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.oa-occasion-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
.oa-condition-grid {grid-template-columns:repeat(4,minmax(0,1fr))}
.oa-faq-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
.oa-extras-grid article,.oa-occasion-grid article,
.oa-condition-grid article,.oa-faq-grid article {
  padding:30px;border:1px solid var(--oa-border);
  border-radius:23px;
  background:rgba(35,102,87,.09);
}
.oa-extras-grid article>span,.oa-occasion-grid article>span {
  display:block;color:var(--oa-violet);
  font-size:10px;letter-spacing:.14em;
}
.oa-extras-grid article>strong {
  display:block;margin:20px 0;color:var(--oa-light);font-size:40px;
}
.oa-extras-grid article>strong small {font-size:12px}
.oa-extras-grid h4,.oa-occasion-grid h4,
.oa-condition-grid h4,.oa-faq-grid h4 {
  margin-bottom:14px;font-size:20px;
}
.oa-extras-grid p,.oa-occasion-grid p,
.oa-condition-grid p,.oa-faq-grid p {
  color:var(--oa-muted);font-size:13px;margin:0;
}
.oa-extras-note {margin:17px 0 0}
.oa-occasion-grid i,.oa-condition-grid i {
  display:block;margin-bottom:27px;
  color:var(--oa-gold);font-size:28px;
}
.oa-occasion-grid article>span {margin-bottom:15px}

/* BOOKING */

.oa-booking {
  display:grid;grid-template-columns:.8fr 1.2fr;
  overflow:hidden;border:1px solid var(--oa-border);
  border-radius:29px;
}
.oa-booking-copy {
  padding:45px;
  background:linear-gradient(145deg,#24483a,#292036);
}
.oa-booking-copy h3 {
  font-size:clamp(32px,3.5vw,46px);margin-bottom:20px;
}
.oa-booking-copy p {color:var(--oa-muted);font-size:14px}
.oa-booking-steps {padding:32px;background:#151c21}
.oa-booking-steps>div {
  display:grid;grid-template-columns:45px 1fr;gap:18px;
  padding:20px 0;border-bottom:1px solid var(--oa-border);
}
.oa-booking-steps>div:last-child {border:0}
.oa-booking-steps>div>span {
  color:var(--oa-gold);font-size:23px;font-weight:800;
}
.oa-booking-steps h4 {font-size:18px;margin-bottom:9px}
.oa-booking-steps p {
  margin:0;color:var(--oa-muted);font-size:13px;
}

/* GIFT */

.oa-gift {
  display:grid;grid-template-columns:.9fr 1.1fr;
  overflow:hidden;border:1px solid var(--oa-border);
  border-radius:29px;
}
.oa-gift-art {
  display:grid;place-items:center;min-height:470px;
  padding:40px;background:
    radial-gradient(circle,rgba(199,165,107,.22),transparent 68%),
    linear-gradient(145deg,#24483b,#2b2239);
}
.oa-gift-paper {
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:25px;
  width:100%;max-width:340px;min-height:340px;
  border:2px solid rgba(233,213,170,.65);
  outline:1px solid rgba(233,213,170,.22);
  outline-offset:9px;border-radius:12px;
  background:rgba(0,0,0,.14);text-align:center;
}
.oa-gift-paper i {color:var(--oa-gold);font-size:47px}
.oa-gift-paper span {
  color:var(--oa-light);font-size:10px;letter-spacing:.19em;
}
.oa-gift-paper strong {
  color:#fff;font-size:clamp(31px,4vw,46px);
  letter-spacing:.08em;
}
.oa-gift-copy {padding:clamp(30px,4vw,55px);align-self:center}
.oa-gift-copy h3 {
  font-size:clamp(31px,3.5vw,46px);margin-bottom:22px;
}
.oa-gift-copy p {color:var(--oa-muted);font-size:14px}
.oa-gift-values {display:flex;gap:12px;margin:27px 0}
.oa-gift-values>div {
  flex:1;padding:19px;border:1px solid var(--oa-border);
  border-radius:15px;
}
.oa-gift-values span {
  display:block;margin-bottom:9px;color:var(--oa-violet);font-size:10px;
}
.oa-gift-values strong {color:var(--oa-light);font-size:27px}

/* FAQ & FOOT */

.oa-faq>h3 {
  font-size:clamp(31px,3.6vw,45px);margin-bottom:32px;
}
.oa-primary-link,.oa-outline-link {
  display:inline-flex;align-items:center;justify-content:center;
  gap:12px;min-height:48px;padding:0 23px;
  border-radius:999px;font-size:12px;font-weight:800;
}
.oa-primary-link {
  background:linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color:#17150f;
}
.oa-primary-link:hover {color:#17150f;filter:brightness(1.1)}
.oa-outline-link {
  border:1px solid rgba(191,170,207,.45);color:#fff;
}
.oa-outline-link:hover {color:var(--oa-light)}
.oa-bottom {
  display:flex;justify-content:space-between;align-items:center;
  gap:35px;padding:38px;border:1px solid var(--oa-border);
  border-radius:26px;
  background:linear-gradient(110deg,rgba(35,102,87,.3),rgba(191,170,207,.07));
}
.oa-bottom>div:first-child {max-width:620px}
.oa-bottom>div>span {
  display:block;margin-bottom:13px;
  color:var(--oa-gold);font-size:10px;letter-spacing:.13em;
}
.oa-bottom h3 {font-size:clamp(25px,3vw,35px);margin-bottom:13px}
.oa-bottom p {margin:0;color:var(--oa-muted)}
.oa-bottom-actions {display:flex;flex-wrap:wrap;gap:11px}

/* RESPONSIVE */

@media(max-width:1199px) {
  .oa-condition-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .oa-bottom {flex-direction:column;align-items:flex-start}
}
@media(max-width:991px) {
  .offer-atelier {padding:80px 0}
  .oa-heading,.oa-intro,.oa-group-layout,
  .oa-booking,.oa-gift {grid-template-columns:1fr}
  .oa-heading {gap:25px}
  .oa-occasion-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
  .oa-occasion-grid article:last-child {grid-column:1/-1}
  .oa-intro-secondary {grid-template-columns:1fr 1fr}
  .oa-gift-art {min-height:340px}
}
@media(max-width:767px) {
  .oa-package-card {flex-basis:100%;min-height:auto}
  .oa-intro-secondary,.oa-extras-grid,
  .oa-occasion-grid,.oa-condition-grid,
  .oa-faq-grid {grid-template-columns:1fr}
  .oa-occasion-grid article:last-child {grid-column:auto}
  .oa-group {padding:22px}
  .oa-group-controls,.oa-group-result {padding:24px}
  .oa-booking-copy,.oa-booking-steps {padding:27px 23px}
  .oa-bottom {padding:25px}
  .oa-intro-primary {padding:30px}
  .oa-intro-primary>strong {font-size:90px}
}
@media(max-width:420px) {
  .oa-heading h2 {font-size:39px}
  .oa-gift-values {flex-direction:column}
  .oa-filters button {width:100%}
}
@media(prefers-reduced-motion:reduce) {
  .offer-atelier * {transition-duration:.01ms!important}
}


/* ==========================================
   GUEST FAQ — SERVICE DESK
   ========================================== */

.guest-faq {
  --gf-gold: #c7a56b;
  --gf-light: #e9d5aa;
  --gf-emerald: #236657;
  --gf-violet: #bfaacf;
  --gf-line: rgba(199,165,107,.19);
  --gf-muted: rgba(245,240,233,.64);
  padding: 110px 0;
  color: #f5f0e9;
  background:
    radial-gradient(circle at 85% 5%,rgba(35,102,87,.18),transparent 34%),
    radial-gradient(circle at 10% 75%,rgba(191,170,207,.07),transparent 32%),
    #0c1015;
}

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

.guest-faq h2,
.guest-faq h3,
.guest-faq h4 {
  color: #fff;
}

.guest-faq-kicker {
  display: block;
  margin-bottom: 17px;
  color: var(--gf-gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .17em;
}

.guest-faq-heading {
  display: grid;
  grid-template-columns: 1.1fr .9fr;
  align-items: end;
  gap: 65px;
  margin-bottom: 55px;
}

.guest-faq-heading h2 {
  font-size: clamp(42px,5vw,70px);
  line-height: 1.05;
  letter-spacing: -.045em;
}

.guest-faq-heading em {
  color: var(--gf-gold);
  font-style: normal;
}

.guest-faq-heading p {
  color: var(--gf-muted);
  font-size: 15px;
  line-height: 1.85;
}

/* INTRO */

.guest-faq-intro {
  display: grid;
  grid-template-columns: 75px 1fr 115px;
  align-items: center;
  gap: 25px;
  padding: 32px;
  margin-bottom: 40px;
  border: 1px solid var(--gf-line);
  border-radius: 26px;
  background:
    linear-gradient(115deg,rgba(35,102,87,.3),rgba(191,170,207,.075));
}

.guest-faq-intro-icon {
  display: grid;
  place-items: center;
  width: 70px;
  height: 70px;
  border: 1px solid rgba(199,165,107,.32);
  border-radius: 20px;
  background: rgba(199,165,107,.08);
  color: var(--gf-light);
  font-size: 29px;
}

.guest-faq-intro > div:nth-child(2) > span {
  display: block;
  margin-bottom: 9px;
  color: var(--gf-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
}

.guest-faq-intro h3 {
  margin-bottom: 10px;
  font-size: 26px;
}

.guest-faq-intro p {
  margin: 0;
  color: var(--gf-muted);
  font-size: 13px;
  line-height: 1.75;
}

.guest-faq-intro-count {
  padding-left: 20px;
  border-left: 1px solid var(--gf-line);
  text-align: center;
}

.guest-faq-intro-count strong {
  display: block;
  color: var(--gf-light);
  font-size: 51px;
  line-height: 1;
}

.guest-faq-intro-count span {
  display: block;
  margin-top: 10px;
  color: var(--gf-muted);
  font-size: 11px;
}

/* SEARCH AREA */

.guest-faq-browser {
  padding: 37px;
  margin-bottom: 100px;
  border: 1px solid var(--gf-line);
  border-radius: 30px;
  background: #141b20;
}

.guest-faq-search {
  display: flex;
  align-items: center;
  gap: 17px;
  min-height: 65px;
  padding: 0 20px;
  margin-bottom: 20px;
  border: 1px solid rgba(199,165,107,.34);
  border-radius: 17px;
  background: #0c1418;
}

.guest-faq-search > i {
  color: var(--gf-gold);
  font-size: 22px;
}

.guest-faq-search input {
  flex: 1;
  min-width: 0;
  min-height: 62px;
  outline: none;
  border: 0;
  background: transparent;
  color: #fff;
  font: inherit;
  font-size: 15px;
}

.guest-faq-search input::placeholder {
  color: rgba(245,240,233,.4);
}

.guest-faq-search button {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  color: #fff;
  cursor: pointer;
}

.guest-faq-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-bottom: 25px;
}

.guest-faq-filters button {
  min-height: 43px;
  padding: 0 18px;
  border: 1px solid var(--gf-line);
  border-radius: 999px;
  background: rgba(255,255,255,.025);
  color: var(--gf-muted);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  transition: .2s ease;
}

.guest-faq-filters button:hover,
.guest-faq-filters button.is-active,
.guest-faq-filters button:focus-visible {
  color: #17150f;
  border-color: var(--gf-light);
  background: var(--gf-light);
}

.guest-faq-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0 0 20px;
}

.guest-faq-toolbar > span {
  color: var(--gf-violet);
  font-size: 12px;
}

.guest-faq-toolbar > button {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--gf-light);
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}

/* FAQ LIST */

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

.guest-faq-item {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--gf-line);
  border-radius: 19px;
  background: rgba(255,255,255,.022);
  transition: border-color .2s ease, background .2s ease;
}

.guest-faq-item[hidden],
.guest-faq-answer[hidden],
.guest-faq-empty[hidden],
.guest-faq-search button[hidden] {
  display: none !important;
}

.guest-faq-item.is-open {
  border-color: rgba(199,165,107,.45);
  background: rgba(35,102,87,.115);
}

.guest-faq-question {
  display: grid;
  grid-template-columns: 31px 1fr 25px;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 95px;
  padding: 22px;
  border: 0;
  background: transparent;
  color: #fff;
  text-align: left;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.45;
  cursor: pointer;
}

.guest-faq-question:focus-visible {
  outline: 2px solid var(--gf-light);
  outline-offset: -3px;
}

.guest-faq-number {
  color: var(--gf-gold);
  font-size: 13px;
  font-weight: 800;
}

.guest-faq-question > i {
  justify-self: end;
  color: var(--gf-violet);
  font-size: 20px;
  transition: transform .2s ease;
}

.guest-faq-item.is-open .guest-faq-question > i {
  transform: rotate(45deg);
  color: var(--gf-light);
}

.guest-faq-answer {
  padding: 0 24px 25px 67px;
}

.guest-faq-answer p {
  margin: 0;
  padding-top: 19px;
  border-top: 1px solid var(--gf-line);
  color: var(--gf-muted);
  font-size: 13px;
  line-height: 1.85;
}

.guest-faq-answer a {
  display: inline-flex;
  margin-top: 17px;
  color: var(--gf-light);
  font-size: 12px;
  font-weight: 800;
}

.guest-faq-answer a:hover {
  color: #fff;
}

/* EMPTY RESULTS */

.guest-faq-empty {
  padding: 65px 20px;
  text-align: center;
}

.guest-faq-empty > i {
  display: block;
  margin-bottom: 22px;
  color: var(--gf-gold);
  font-size: 40px;
}

.guest-faq-empty h3 {
  margin-bottom: 12px;
  font-size: 25px;
}

.guest-faq-empty p {
  color: var(--gf-muted);
  font-size: 14px;
}

.guest-faq-empty button {
  margin-top: 15px;
  padding: 12px 21px;
  border: 1px solid var(--gf-gold);
  border-radius: 999px;
  background: rgba(199,165,107,.1);
  color: var(--gf-light);
  font-size: 12px;
  cursor: pointer;
}

/* SERVICE CARDS */

.guest-faq-service {
  margin-bottom: 95px;
}

.guest-faq-service-heading {
  max-width: 800px;
  margin-bottom: 33px;
}

.guest-faq-service-heading h3 {
  margin-bottom: 15px;
  font-size: clamp(31px,3.7vw,46px);
}

.guest-faq-service-heading p {
  color: var(--gf-muted);
  font-size: 15px;
  line-height: 1.8;
}

.guest-faq-service-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 15px;
}

.guest-faq-service-grid article {
  display: flex;
  flex-direction: column;
  min-height: 315px;
  padding: 31px;
  border: 1px solid var(--gf-line);
  border-radius: 24px;
  background:
    linear-gradient(145deg,rgba(35,102,87,.17),rgba(191,170,207,.035));
}

.guest-faq-service-grid article > i {
  display: block;
  margin-bottom: 32px;
  color: var(--gf-gold);
  font-size: 30px;
}

.guest-faq-service-grid article > span {
  color: var(--gf-violet);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .13em;
}

.guest-faq-service-grid h4 {
  margin: 13px 0 15px;
  font-size: 23px;
}

.guest-faq-service-grid p {
  margin-bottom: 24px;
  color: var(--gf-muted);
  font-size: 13px;
  line-height: 1.8;
}

.guest-faq-service-grid a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: auto;
  color: var(--gf-light);
  font-size: 12px;
  font-weight: 800;
}

/* FINAL PANEL */

.guest-faq-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 35px;
  padding: 38px;
  border: 1px solid var(--gf-line);
  border-radius: 26px;
  background:
    linear-gradient(110deg,rgba(35,102,87,.28),rgba(191,170,207,.075));
}

.guest-faq-bottom > div:first-child {
  max-width: 620px;
}

.guest-faq-bottom > div:first-child > span {
  display: block;
  margin-bottom: 13px;
  color: var(--gf-gold);
  font-size: 10px;
  letter-spacing: .14em;
}

.guest-faq-bottom h3 {
  margin-bottom: 13px;
  font-size: clamp(25px,3vw,37px);
}

.guest-faq-bottom p {
  margin: 0;
  color: var(--gf-muted);
  font-size: 14px;
  line-height: 1.75;
}

.guest-faq-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
}

.guest-faq-primary,
.guest-faq-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 23px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.guest-faq-primary {
  background: linear-gradient(135deg,#e9d5aa,#c7a56b,#a7824f);
  color: #17150f;
}

.guest-faq-primary:hover {
  color: #17150f;
  filter: brightness(1.1);
}

.guest-faq-secondary {
  border: 1px solid rgba(191,170,207,.45);
  color: #fff;
}

.guest-faq-secondary:hover {
  color: var(--gf-light);
}

/* RESPONSIVE */

@media (max-width: 1199px) {
  .guest-faq-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 991px) {
  .guest-faq {
    padding: 80px 0;
  }

  .guest-faq-heading {
    grid-template-columns: 1fr;
    gap: 25px;
  }

  .guest-faq-list {
    grid-template-columns: 1fr;
  }

  .guest-faq-service-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .guest-faq-service-grid article:last-child {
    grid-column: 1 / -1;
    min-height: auto;
  }
}

@media (max-width: 767px) {
  .guest-faq-browser {
    padding: 20px;
  }

  .guest-faq-intro {
    grid-template-columns: 65px 1fr;
    gap: 17px;
    padding: 23px;
  }

  .guest-faq-intro-icon {
    width: 58px;
    height: 58px;
  }

  .guest-faq-intro-count {
    grid-column: 1 / -1;
    padding: 18px 0 0;
    border-left: 0;
    border-top: 1px solid var(--gf-line);
  }

  .guest-faq-intro-count strong {
    font-size: 35px;
  }

  .guest-faq-filters {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .guest-faq-filters button {
    min-width: 0;
    padding: 10px;
  }

  .guest-faq-question {
    min-height: 77px;
    padding: 18px;
    gap: 9px;
    font-size: 14px;
  }

  .guest-faq-answer {
    padding: 0 19px 23px;
  }

  .guest-faq-service-grid {
    grid-template-columns: 1fr;
  }

  .guest-faq-service-grid article,
  .guest-faq-service-grid article:last-child {
    grid-column: auto;
    min-height: auto;
  }

  .guest-faq-bottom {
    padding: 25px;
  }
}

@media (max-width: 420px) {
  .guest-faq-heading h2 {
    font-size: 39px;
  }

  .guest-faq-toolbar {
    align-items: flex-start;
    flex-direction: column;
  }

  .guest-faq-filters {
    grid-template-columns: 1fr;
  }
}

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