:root {
  --clr-ink: #0a0e17;
  --clr-ink-2: #111827;
  --clr-ink-3: #172032;
  --clr-panel: #1d2639;
  --clr-gold: #d6a84c;
  --clr-gold-bright: #ecc067;
  --clr-gold-soft: #f5d997;
  --clr-ivory: #f6f2ea;
  --clr-cloud: #e8e3d9;
  --clr-body: #1c1f2a;
  --clr-body-dark: #aeb9cb;
  --clr-line: rgba(214, 168, 76, 0.24);
  --clr-white: #ffffff;
  --font-head: "Playfair Display", "Georgia", "Times New Roman", serif;
  --font-body: "Jost", "Inter", "Segoe UI", system-ui, sans-serif;
  --shadow-soft: 0 30px 60px rgba(10, 14, 23, 0.16);
  --shadow-gold: 0 12px 34px rgba(214, 168, 76, 0.24);
  --radius-sm: 6px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --tr: 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  --tr-slow: 0.7s cubic-bezier(0.16, 1, 0.3, 1);
  --bs-body-font-family: var(--font-body);
  --bs-body-color: var(--clr-ink);
  --bs-primary: var(--clr-gold);
  --bs-primary-rgb: 214, 168, 76;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-body);
  color: var(--clr-body);
  background-color: var(--clr-ivory);
  line-height: 1.72;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-head);
  color: var(--clr-ink);
  font-weight: 600;
  line-height: 1.18;
}

h1 {
  font-size: clamp(2.5rem, 5vw, 4.6rem);
  font-weight: 700;
  letter-spacing: -0.02em;
}

h2 {
  font-size: clamp(2.1rem, 3.4vw, 3.4rem);
}

h3 {
  font-size: clamp(1.5rem, 2vw, 2.2rem);
}

h4 {
  font-size: clamp(1.2rem, 1.5vw, 1.5rem);
}

p {
  margin-bottom: 0;
}

a {
  text-decoration: none;
  transition: color var(--tr);
  color: var(--clr-gold);
}

img {
  max-width: 100%;
}

section {
  position: relative;
}

::selection {
  background: rgba(214, 168, 76, 0.26);
  color: var(--clr-ink);
}

.text-gold {
  color: var(--clr-gold) !important;
}

.text-dark {
  color: var(--clr-ink) !important;
}

.text-body {
  color: var(--clr-body-dark) !important;
}

.bg-ink {
  background-color: var(--clr-ink) !important;
}

.bg-ink-alt {
  background-color: var(--clr-ink-2) !important;
}

.bg-ivory {
  background-color: var(--clr-ivory) !important;
}

.bg-white {
  background-color: var(--clr-white) !important;
}

.btn {
  font-family: var(--font-body);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border-radius: 999px;
  padding: 0.9rem 2.2rem;
  border: 1px solid transparent;
  transition: transform var(--tr), box-shadow var(--tr), background var(--tr), color var(--tr), border-color var(--tr);
}

.btn:hover,
.btn:focus {
  transform: translateY(-3px);
}

.btn:focus-visible {
  outline: 2px solid var(--clr-gold-bright);
  outline-offset: 3px;
}

.btn-gold {
  background: linear-gradient(135deg, var(--clr-gold-bright), var(--clr-gold));
  color: var(--clr-ink);
  box-shadow: var(--shadow-gold);
}

.btn-gold:hover,
.btn-gold:focus {
  color: var(--clr-ink);
  background: linear-gradient(135deg, var(--clr-gold), var(--clr-gold-bright));
  box-shadow: 0 18px 40px rgba(214, 168, 76, 0.32);
}

.btn-outline-gold {
  border-color: var(--clr-gold);
  color: var(--clr-gold);
  background: rgba(214, 168, 76, 0.06);
}

.btn-outline-gold:hover,
.btn-outline-gold:focus {
  background: var(--clr-gold);
  color: var(--clr-ink);
  border-color: var(--clr-gold);
  box-shadow: var(--shadow-gold);
}

.btn-ghost-light {
  border-color: rgba(255, 255, 255, 0.36);
  color: var(--clr-white);
  background: rgba(255, 255, 255, 0.05);
}

.btn-ghost-light:hover,
.btn-ghost-light:focus {
  background: var(--clr-white);
  color: var(--clr-ink);
  border-color: var(--clr-white);
}

.btn-dark-ink {
  background: var(--clr-ink);
  color: var(--clr-gold-bright);
  border-color: var(--clr-ink);
}

.btn-dark-ink:hover,
.btn-dark-ink:focus {
  background: var(--clr-ink-2);
  color: var(--clr-gold-bright);
  border-color: var(--clr-ink-2);
  transform: translateY(-3px);
}

.btn-lg {
  padding: 1.15rem 3rem;
  font-size: 1.05rem;
}

a {
  text-decoration: none;
}

.section-pad {
  padding: 7.5rem 0;
}

@media (max-width: 767px) {
  .section-pad {
    padding: 4.5rem 0;
  }
}

.eyebrow {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.42em;
  text-transform: uppercase;
  color: var(--clr-gold);
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}

.eyebrow::before {
  content: "";
  height: 2px;
  width: 48px;
  background: linear-gradient(90deg, var(--clr-gold), transparent);
  display: inline-block;
}

.eyebrow-centered::after {
  content: "";
  height: 2px;
  width: 48px;
  background: linear-gradient(90deg, transparent, var(--clr-gold));
  display: inline-block;
}

.eh-light .eyebrow {
  color: var(--clr-gold-bright);
}

.eh-light h1,
.eh-light h2,
.eh-light h3,
.eh-light h4 {
  color: var(--clr-white);
}

.eh-light p {
  color: var(--clr-body-dark);
}

.divider {
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, transparent, rgba(214, 168, 76, 0.36), transparent);
}

svg,
path,
use {
  pointer-events: none;
}

.form-label {
  font-weight: 500;
  color: var(--clr-ink);
  letter-spacing: 0.02em;
}

.form-control,
.form-select {
  border: 1px solid var(--clr-line);
  background: var(--clr-white);
  color: var(--clr-ink);
  padding: 0.9rem 1.2rem;
  border-radius: var(--radius-sm);
  transition: border-color var(--tr), box-shadow var(--tr), background var(--tr);
  font-size: 1rem;
}

.form-control:focus,
.form-select:focus {
  border-color: var(--clr-gold);
  box-shadow: 0 0 0 0.25rem rgba(214, 168, 76, 0.16);
  background: var(--clr-white);
  color: var(--clr-ink);
}

.form-control::placeholder,
.form-select::placeholder {
  color: #6a7080;
}

.is-invalid.form-control {
  border-color: #c24450;
}

.invalid-feedback {
  color: #c24450;
  font-weight: 500;
}

.form-notification {
  display: none;
  padding: 0.9rem 1.3rem;
  border-radius: var(--radius-sm);
  font-weight: 600;
  align-items: center;
  gap: 0.8rem;
}

.form-notification.show {
  display: flex;
}

.form-notification.success {
  background: rgba(18, 128, 92, 0.14);
  color: #146b4e;
  border: 1px solid rgba(18, 128, 92, 0.36);
}

.form-notification.error {
  background: rgba(196, 64, 86, 0.12);
  color: #992c3f;
  border: 1px solid rgba(196, 64, 86, 0.3);
}

.text-bundle {
  margin-top: 1rem;
}

.site-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1040;
  padding: 1.2rem 0;
  transition: background var(--tr), padding var(--tr), box-shadow var(--tr);
}

.site-header .navbar {
  padding: 0;
}

.site-header .navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1.65rem;
  color: var(--clr-white);
  letter-spacing: 0.02em;
}

.site-header .navbar-brand img {
  filter: drop-shadow(0 0 14px rgba(214, 168, 76, 0.36));
}

.site-header .header-contact {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.site-header .header-contact li {
  list-style: none;
  color: var(--clr-body-dark);
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  gap: 0.55rem;
}

.site-header .header-contact i {
  color: var(--clr-gold-bright);
}

.site-header.sticky {
  position: fixed;
  background: rgba(10, 14, 23, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  padding: 0.75rem 0;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.2);
  border-bottom: 1px solid rgba(214, 168, 76, 0.16);
}

.navbar-toggler {
  border: 1px solid rgba(255, 255, 255, 0.24);
  padding: 0.5rem 0.8rem;
  color: var(--clr-white);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-sm);
}

.navbar-toggler:focus {
  box-shadow: 0 0 0 0.2rem rgba(214, 168, 76, 0.24);
}

.navbar-toggler i {
  font-size: 1.25rem;
}

.navbar .nav-link {
  color: rgba(255, 255, 255, 0.86) !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.85rem;
  padding: 0.6rem 1.1rem !important;
  position: relative;
  transition: color var(--tr);
}

.navbar .nav-link::after {
  content: "";
  bottom: 2px;
  left: 1.1rem;
  right: 1.1rem;
  height: 2px;
  background: var(--clr-gold);
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--tr);
}

.navbar .nav-link:hover,
.navbar .nav-link.active {
  color: var(--clr-gold-bright) !important;
}

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

@media (max-width: 991px) {
  .navbar-collapse {
    background: rgba(10, 14, 23, 0.97);
    backdrop-filter: blur(12px);
    padding: 1.5rem;
    border-radius: var(--radius-md);
    border: 1px solid var(--clr-line);
    margin-top: 0.8rem;
  }
  .navbar .nav-link {
    padding: 0.8rem 0.4rem !important;
  }
  .navbar .nav-link::after {
    left: 0.4rem;
    right: 0.4rem;
  }
  .header-contact {
    display: none !important;
  }
}

.hero-slider {
  background: var(--clr-ink);
  overflow: hidden;
}

.hero-slider .carousel-item {
  min-height: 100vh;
  background-size: cover;
  background-position: center;
  position: relative;
}

.hero-slider .carousel-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 14, 23, 0.66), rgba(10, 14, 23, 0.54) 45%, rgba(10, 14, 23, 0.8));
  z-index: 1;
}

.hero-slider .carousel-item::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 70% 30%, rgba(214, 168, 76, 0.18), transparent 55%);
  z-index: 1;
}

.hero-slider .carousel-container {
  position: relative;
  z-index: 5;
  display: flex;
  align-items: center;
  min-height: 100vh;
}

.hero-content {
  max-width: 860px;
  padding: 8rem 0 5rem;
}

.hero-content .hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.7rem;
  border: 1px solid rgba(214, 168, 76, 0.4);
  background: rgba(214, 168, 76, 0.14);
  border-radius: 999px;
  padding: 0.5rem 1.3rem;
  color: var(--clr-gold-bright);
  font-size: 0.85rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 1.8rem;
}

.hero-content h1 {
  color: var(--clr-white);
  margin-bottom: 1.6rem;
}

.hero-content h1 .hero-gold-line {
  color: var(--clr-gold-bright);
  display: block;
}

.hero-content p {
  color: #c7d0de;
  font-size: 1.2rem;
  max-width: 660px;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}

.hero-content .hero-footer {
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem;
  align-items: center;
}

.hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem;
  margin-top: 3rem;
  padding-top: 2rem;
  border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.hero-meta .meta-item {
  gap: 0.75rem;
  align-items: center;
}

.hero-meta .meta-item i {
  color: var(--clr-gold);
}

.hero-meta .meta-item strong,
.hero-meta .meta-item span {
  color: var(--clr-white);
  font-size: 0.95rem;
}

.hero-meta .meta-item span {
  color: var(--clr-body-dark);
  display: block;
  font-size: 0.82rem;
}

.carousel-indicators {
  margin: 0;
  inset-inline: auto;
  right: 4rem;
  bottom: 4rem;
  left: auto;
  flex-direction: column;
  gap: 0.8rem;
  z-index: 6;
}

.carousel-indicators [data-bs-target] {
  background: rgba(255, 255, 255, 0.36);
  border-radius: 999px;
  width: 34px;
  height: 4px;
  border: 0;
  opacity: 1;
  transition: all var(--tr);
}

.carousel-indicators .active {
  background: var(--clr-gold);
  width: 58px;
}

.carousel-control-prev,
.carousel-control-next {
  width: 62px;
  height: 62px;
  background: rgba(10, 14, 23, 0.42);
  border: 1px solid rgba(214, 168, 76, 0.3);
  border-radius: 50%;
  opacity: 0.9;
  top: auto;
  bottom: 3.2rem;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 6;
}

.carousel-control-prev {
  right: 8rem;
  left: auto;
}

.carousel-control-next {
  right: 2.2rem;
}

.carousel-control-prev i,
.carousel-control-next i {
  color: var(--clr-gold-bright);
  font-size: 1.2rem;
}

@media (max-width: 767px) {
  .hero-slider .carousel-item,
  .hero-slider .carousel-container {
    min-height: 100vh;
  }
  .hero-content {
    padding: 7.5rem 0 5rem;
  }
  .hero-content h1 {
    font-size: 2.25rem;
  }
  .carousel-indicators {
    right: 1rem;
    bottom: 1rem;
  }
  .carousel-control-prev,
  .carousel-control-next {
    display: none;
  }
}

.hero-scroll-cue {
  position: absolute;
  bottom: 2.4rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--clr-white);
  opacity: 0.86;
  z-index: 6;
  font-size: 1.15rem;
  animation: floatY 2.2s ease-in-out infinite;
}

@keyframes floatY {
  0%,
  100% {
    transform: translate(-50%, 0);
  }
  50% {
    transform: translate(-50%, 14px);
  }
}

.age-guard {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 999px;
  color: var(--clr-white);
  padding: 0.4rem 1rem;
  font-size: 0.84rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.age-guard .age-num {
  background: var(--clr-gold);
  color: var(--clr-ink);
  border-radius: 50%;
  font-size: 0.82rem;
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
}

.section-head {
  max-width: 800px;
}

.section-head ul {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.section-head p.lead {
  color: var(--clr-body);
  font-size: 1.12rem;
}

.card-glass {
  background: rgba(255, 255, 255, 0.82);
  border-radius: var(--radius-lg);
  padding: 2.4rem;
  border: 1px solid rgba(10, 14, 23, 0.08);
  transition: transform var(--tr), box-shadow var(--tr);
  height: 100%;
}

.card-glass:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-soft);
}

.card-ink {
  background: var(--clr-ink-2);
  border-radius: var(--radius-lg);
  padding: 2rem 2.2rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  height: 100%;
}

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

.feature-card::before {
  content: "";
  position: absolute;
  inset-inline: 0;
  top: 0;
  height: 4px;
  background: linear-gradient(90deg, var(--clr-gold), transparent);
  opacity: 0;
  transition: opacity var(--tr);
}

.feature-card:hover::before {
  opacity: 1;
}

.feature-icon {
  position: relative;
}

.feature-icon .icon-circle {
  width: 78px;
  height: 78px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(145deg, rgba(214, 168, 76, 0.18), rgba(214, 168, 76, 0.08));
  border: 1px solid var(--clr-line);
  color: var(--clr-gold);
  font-size: 1.7rem;
  margin-bottom: 1.6rem;
  transition: background var(--tr), color var(--tr), transform var(--tr);
}

.feature-card:hover .icon-circle {
  background: linear-gradient(145deg, var(--clr-gold), var(--clr-gold-bright));
  color: var(--clr-ink);
  transform: scale(1.06);
}

.img-wrapped {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.img-wrapped img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.badge-gold {
  background: rgba(214, 168, 76, 0.16);
  border: 1px solid var(--clr-line);
  color: var(--clr-gold);
  font-weight: 700;
  border-radius: 999px;
  padding: 0.6rem 1.25rem;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.card-service {
  border: 0;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--clr-white);
  transition: transform var(--tr), box-shadow var(--tr);
  box-shadow: 0 10px 34px rgba(10, 14, 23, 0.08);
}

.card-service:hover {
  transform: translateY(-10px);
  box-shadow: var(--shadow-soft);
}

.card-service .card-img-top {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  background: var(--clr-ink-2);
}

.card-service .service-link {
  color: var(--clr-ink);
}

.card-service .service-link span {
  transition: margin var(--tr), color var(--tr);
}

.card-service .service-link:hover span {
  color: var(--clr-gold);
  margin-right: 0.5rem;
}

.quote-sheet {
  padding: 2rem 2.5rem;
  border-radius: var(--radius-lg);
  position: relative;
  line-height: 1.8;
}

.quote-sheet i.quote-mark {
  font-size: 1.6rem;
  color: var(--clr-gold);
  opacity: 0.8;
}

.partner-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.4rem;
}

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

@media (max-width: 575px) {
  .partner-grid {
    grid-template-columns: repeat(2, 1fr);
    padding: 0 1rem;
  }
}

.partner-pill {
  height: 100px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: var(--radius-md);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.2rem 1.4rem;
  border: 1px solid rgba(10, 14, 23, 0.08);
  transition: border var(--tr), background var(--tr);
}

.partner-pill img {
  width: 100%;
  max-height: 64px;
  object-fit: contain;
  filter: grayscale(0.6) contrast(0.9);
  opacity: 0.7;
  transition: filter var(--tr), opacity var(--tr);
}

.partner-pill:hover {
  background: var(--clr-white);
  border-color: var(--clr-line);
}

.partner-pill:hover img {
  filter: grayscale(0);
  opacity: 1;
}

.testimonial-block {
  background: var(--clr-white);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(214, 168, 76, 0.18);
  padding: 2.6rem 2.8rem;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 2rem;
  transition: box-shadow var(--tr);
}

.testimonial-block:hover {
  box-shadow: var(--shadow-soft);
}

.testimonial-block .rating i {
  color: var(--clr-gold);
  font-size: 1.05rem;
}

.testimonial-user {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.testimonial-user .avatar-empty {
  border-radius: 50%;
  background: var(--clr-ink);
  color: var(--clr-gold-bright);
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.25rem;
}

.testimonial-user strong {
  display: block;
  color: var(--clr-ink);
}

.testimonial-user span {
  color: var(--clr-body);
  font-size: 0.9rem;
}

.responsible-gaming {
  background: linear-gradient(145deg, var(--clr-ink-2), var(--clr-ink));
}

.responsible-gaming .rg-icon {
  color: var(--clr-gold-bright);
  font-size: 2.2rem;
}

.responsible-gaming .age-orb {
  background: rgba(214, 168, 76, 0.16);
  border: 1px solid var(--clr-gold);
  color: var(--clr-gold-bright);
  height: 62px;
  min-width: 62px;
  width: 62px;
  border-radius: 50%;
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 1.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.rg-tick i {
  color: var(--clr-gold);
}

.rg-tick span {
  color: var(--clr-body-dark);
  font-size: 1.02rem;
}

.portfolio-card .folio-hover {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 14, 23, 0.05), rgba(10, 14, 23, 0.88));
  display: flex;
  align-items: flex-end;
  padding: 1.6rem;
  opacity: 0;
  transition: opacity var(--tr);
}

.portfolio-card:hover .folio-hover {
  opacity: 1;
}

.portfolio-card .folio-hover strong {
  color: var(--clr-white);
  font-family: var(--font-head);
  font-size: 1.35rem;
}

.portfolio-card .folio-hover span {
  color: var(--clr-gold-bright);
  font-size: 0.9rem;
  display: block;
}

.pulse-gold {
  animation: pulseGold 2.4s ease-in-out infinite;
}

@keyframes pulseGold {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(214, 168, 76, 0.34);
  }
  50% {
    box-shadow: 0 0 0 16px rgba(214, 168, 76, 0);
  }
}

.step-item {
  position: relative;
  display: flex;
  gap: 1.6rem;
  margin-bottom: 2rem;
}

.step-item .step-num {
  min-width: 64px;
  height: 64px;
  border-radius: 50%;
  background: var(--clr-ink);
  color: var(--clr-gold-bright);
  border: 1px solid var(--clr-line);
  font-family: var(--font-head);
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 800;
  font-size: 1.3rem;
  position: relative;
  z-index: 2;
}

.step-item::before {
  content: "";
  width: 1px;
  background: linear-gradient(180deg, var(--clr-line), rgba(214, 168, 76, 0.05));
  position: absolute;
  left: 32px;
  top: 64px;
  bottom: -2rem;
}

.step-item:last-child::before {
  display: none;
}

.step-item.step-end .step-num::after {
  content: "";
  width: 13px;
  height: 13px;
  background: var(--clr-gold);
  border-radius: 50%;
  position: absolute;
  bottom: -2px;
  right: -2px;
  border: 3px solid var(--clr-ivory);
}

.accordion {
  --bs-accordion-border-radius: var(--radius-md);
  --bs-accordion-inner-border-radius: var(--radius-md);
  --bs-accordion-bg: var(--clr-white);
  --bs-accordion-border-color: rgba(214, 168, 76, 0.22);
  --bs-accordion-active-bg: var(--clr-white);
  --bs-accordion-btn-focus-border-color: var(--clr-gold);
  --bs-accordion-btn-focus-box-shadow: 0 0 0 0.25rem rgba(214, 168, 76, 0.14);
  --bs-accordion-btn-active-color: var(--clr-ink);
}

.accordion-item {
  border: 1px solid var(--bs-accordion-border-color);
  margin-bottom: 1rem;
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  background: var(--clr-white);
}

.accordion-button {
  color: var(--clr-ink);
  font-weight: 700;
  font-family: var(--font-head);
  font-size: 1.2rem;
  padding: 1.45rem 1.8rem;
  background: var(--clr-white);
  gap: 0.8rem;
  letter-spacing: -0.01em;
}

.accordion-button:not(.collapsed) {
  color: var(--clr-gold) !important;
  background: rgba(214, 168, 76, 0.06) !important;
  box-shadow: none;
}

.accordion-button::after {
  background-image: none !important;
  content: "\f078";
  font-family: "FontAwesome 6 Free";
  font-weight: 900;
  color: var(--clr-gold);
  width: 18px;
  height: 18px;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform var(--tr);
}

.accordion-button:not(.collapsed)::after {
  transform: rotate(180deg);
  color: var(--clr-gold) !important;
}

.accordion-body {
  color: var(--clr-body);
  padding: 0.6rem 1.8rem 1.8rem;
  line-height: 1.75;
}

.contact-card {
  background: var(--clr-white);
  border-radius: var(--radius-lg);
  padding: 2rem 2.4rem;
  border: 1px solid var(--clr-line);
  height: 100%;
  transition: transform var(--tr), box-shadow var(--tr);
}

.contact-card:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-soft);
}

.contact-card .contact-icon {
  color: var(--clr-gold);
  font-size: 1.5rem;
  margin-bottom: 1rem;
}

.contact-card span {
  display: block;
  color: var(--clr-body);
  font-size: 1rem;
}

.contact-card strong {
  color: var(--clr-ink);
  font-size: 1.08rem;
}

.contact-card a {
  color: var(--clr-ink);
}

.contact-card a:hover {
  color: var(--clr-gold);
}

.map-embed {
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-soft);
}

.map-embed iframe {
  display: block;
  width: 100%;
  min-height: 460px;
  border: 0;
  filter: grayscale(0.12) contrast(1.03);
}

.cta-backdrop,
.about-hero-back,
.stats-band {
  background-size: cover;
  background-position: center;
  position: relative;
}

.cta-backdrop::before,
.about-hero-back::before,
.stats-band::before,
.blog-single-hero::before {
  content: "";
  position: absolute;
  inset: 0;
}

.cta-backdrop *,
.about-hero-back *,
.stats-band *,
.blog-single-hero * {
  position: relative;
  z-index: 2;
}

.stats-number {
  font-family: var(--font-head);
  font-weight: 800;
  font-size: 3.6rem;
  line-height: 1;
  color: var(--clr-gold-bright);
}

@media (max-width: 767px) {
  .stats-number {
    font-size: 2.7rem;
  }
}

.counter-mark {
  font-size: 1.2rem;
  vertical-align: super;
  color: var(--clr-gold);
  margin-left: 0.15rem;
  font-weight: 400;
}

.footer {
  background: var(--clr-ink);
  position: relative;
  overflow: hidden;
}

.footer::before {
  content: "";
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(214, 168, 76, 0.6), transparent);
}

.footer a.f-icon {
  color: var(--clr-body-dark);
  transition: all var(--tr);
  font-size: 1.2rem;
}

.footer a.f-icon:hover {
  color: var(--clr-gold-bright);
  transform: translateY(-4px);
}

.footer .link-inline {
  color: var(--clr-body-dark);
  transition: color var(--tr);
  padding: 0.2rem 0;
  display: block;
  font-size: 0.96rem;
}

.footer .link-inline:hover {
  color: var(--clr-gold-bright);
}

.footer .f-contact {
  color: var(--clr-body-dark);
  font-size: 0.96rem;
  display: flex;
  gap: 1rem;
  align-items: baseline;
}

.footer .f-contact i {
  color: var(--clr-gold);
  width: 20px;
}

.footer h4,
.footer h5 {
  color: var(--clr-white);
}

.language-links a {
  color: var(--clr-body-dark);
  font-size: 0.9rem;
}

.language-links a:hover {
  color: var(--clr-gold-bright);
}

.footer-legal {
  border-top: 1px solid rgba(255, 255, 255, 0.09);
  padding-top: 1.5rem;
  margin-top: 2rem;
}

.footer-legal p {
  color: var(--clr-body-dark);
  font-size: 0.9rem;
}

.cookie-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2000;
  max-height: 85vh;
  overflow-y: auto;
  transform: translateY(110%);
  transition: transform 0.45s cubic-bezier(0.2, 0.9, 0.3, 1);
}

.cookie-banner.cookie-banner--show {
  transform: translateY(0);
}

.cookie-banner-inner {
  background: rgba(17, 24, 39, 0.98);
  border-top: 1px solid rgba(214, 168, 76, 0.5);
  backdrop-filter: blur(22px);
  padding: 2.2rem 0;
}

.cookie-copy .cookie-title {
  font-size: 1.1rem;
  color: var(--clr-white);
}

.cookie-copy p {
  color: var(--clr-body-dark);
  font-size: 0.92rem;
  max-width: 920px;
  margin-top: 0.35rem;
}

.cookie-actions a {
  color: var(--clr-gold-bright);
  border-bottom: 1px solid rgba(214, 168, 76, 0.32);
  font-size: 0.9rem;
  margin-right: 1rem;
  line-height: 1.5;
}

.cookie-actions a:hover {
  color: var(--clr-white);
  border-color: var(--clr-white);
}

.cookie-btn {
  border: 0;
  border-radius: 999px;
  padding: 0.8rem 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.85rem;
  background: transparent;
  transition: all var(--tr);
}

.cookie-btn.cookie-accept {
  background: linear-gradient(145deg, var(--clr-gold), var(--clr-gold-bright));
  color: var(--clr-ink);
  box-shadow: var(--shadow-gold);
}

.cookie-btn.cookie-accept:hover,
.cookie-btn.cookie-accept:focus {
  filter: brightness(1.08);
  transform: translateY(-2px);
}

.cookie-btn.cookie-decline {
  border: 1px solid rgba(255, 255, 255, 0.31);
  color: var(--clr-white);
}

.cookie-btn.cookie-decline:hover,
.cookie-btn.cookie-decline:focus {
  background: rgba(255, 255, 255, 0.12);
  border-color: var(--clr-white);
}

.gp-cookie-banner .cookie-age {
  border-radius: 50%;
  background: rgba(214, 168, 76, 0.22);
  border: 1px solid var(--clr-gold);
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-head);
  font-weight: 800;
  color: var(--clr-gold-bright);
  flex-shrink: 0;
}

.page-hero {
  padding: 11.5rem 0 6.5rem;
  background-size: cover;
  background-position: center;
}

.page-hero--child {
  padding: 13rem 0 6rem;
  background-size: cover;
  background-position: center;
}

.page-hero .hero-mod {
  color: var(--clr-body-dark);
  font-size: 1.1rem;
  max-width: 680px;
  margin-inline: auto;
}

.page-hero h1 {
  color: var(--clr-white);
}

.breadcrumb-area {
  padding-left: 0;
  gap: 0.8rem;
  font-size: 0.87rem;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  font-weight: 600;
}

.breadcrumb-area a {
  color: var(--clr-gold-bright);
}

.breadcrumb-area a:hover {
  color: var(--clr-white);
}

.breadcrumb-area span {
  color: var(--clr-body-dark);
  display: inline-flex;
  align-items: center;
  gap: 0.8rem;
}

.breadcrumb-area span::before {
  content: "/";
  color: var(--clr-gold);
  font-weight: 400;
}

.advantage-tile {
  background: var(--clr-white);
  padding: 1.2rem 1.4rem;
  border-radius: var(--radius-md);
  display: flex;
  gap: 1.1rem;
  box-shadow: 0 12px 34px rgba(10, 14, 23, 0.08);
  transition: transform var(--tr), box-shadow var(--tr);
}

.advantage-tile:hover {
  transform: translateY(-5px);
  box-shadow: var(--shadow-soft);
}

.advantage-tile .tic i {
  color: var(--clr-gold);
}

.post-card {
  background: var(--clr-white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: 0 8px 24px rgba(10, 14, 23, 0.07);
  transition: transform var(--tr), box-shadow var(--tr);
}

.post-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-soft);
}

.post-card .post-thumb {
  height: 260px;
  overflow: hidden;
}

.post-card .post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--clr-ink-2);
}

.post-card .card-body {
  padding: 1.8rem;
}

.post-card .post-cta {
  color: var(--clr-ink);
  transition: color var(--tr);
}

.post-card .post-cta:hover {
  color: var(--clr-gold);
}

.pagin {
  display: flex;
  gap: 0.6rem;
  justify-content: center;
}

.pagin .page-btn {
  background: var(--clr-white);
  border: 1px solid var(--clr-line);
  color: var(--clr-ink);
  border-radius: 12px;
  min-width: 48px;
  height: 48px;
  line-height: 46px;
  text-align: center;
  font-weight: 600;
  display: inline-block;
  padding: 0 0.9rem;
  transition: all var(--tr);
}

.pagin .page-btn:hover,
.pagin .page-btn.pg-active {
  background: var(--clr-gold);
  border-color: var(--clr-gold);
  color: var(--clr-ink);
}

.sr-only-spacer {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.d-under-link {
  color: var(--clr-body);
  text-decoration: underline;
  text-decoration-color: rgba(214, 168, 76, 0.5);
  text-underline-offset: 4px;
}

.d-under-link:hover {
  color: var(--clr-gold);
}

.btn-play {
  background: var(--clr-gold);
  color: var(--clr-ink);
  border-radius: 50%;
  width: 80px;
  height: 80px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  transition: transform var(--tr);
}

.btn-play:hover {
  color: var(--clr-ink);
  transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

.back-to-top {
  position: fixed;
  right: 2.2rem;
  bottom: 2.2rem;
  z-index: 300;
  width: 53px;
  height: 53px;
  border: 0;
  border-radius: 50%;
  background: var(--clr-ink);
  color: var(--clr-gold-bright);
  box-shadow: 0 16px 38px rgba(10, 14, 23, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transform: translateY(18px);
  transition: all var(--tr);
  border: 1px solid var(--clr-line);
}

.back-to-top.show {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.back-to-top:hover {
  background: var(--clr-gold);
  color: var(--clr-ink);
  transform: translateY(-5px);
}

.legal-body p {
  margin-bottom: 1.3rem;
  color: var(--clr-body);
}

.legal-body strong {
  color: var(--clr-ink);
  font-weight: 700;
}

.last-updated {
  margin: -0.4rem 0 0;
  font-size: 0.95rem;
  color: var(--clr-body-dark);
}

.team-card {
  text-align: center;
  background: var(--clr-white);
  padding: 2.2rem 1.6rem 1.8rem;
  border-radius: var(--radius-lg);
  border: 1px solid rgba(10, 14, 23, 0.08);
  transition: all var(--tr);
}

.team-card:hover {
  transform: translateY(-8px);
  box-shadow: var(--shadow-soft);
}

.team-card .team-avatar {
  width: 100px;
  height: 100px;
  background: var(--clr-ink-2);
  color: var(--clr-gold-bright);
  border-radius: 50%;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-family: var(--font-head);
  border: 2px solid var(--clr-line);
}

.notification-toast {
  position: fixed;
  top: 8.5rem;
  right: 2rem;
  z-index: 1200;
  gap: 1rem;
  max-width: 420px;
  background: rgba(17, 24, 39, 0.96);
  border: 1px solid var(--clr-line);
  backdrop-filter: blur(14px);
  padding: 1rem 1.6rem;
  border-radius: var(--radius-md);
  color: var(--clr-white);
  box-shadow: 0 24px 54px rgba(10, 14, 23, 0.35);
}

.notification-toast.success {
  border-left: 4px solid #3eaf7c;
}

.notification-toast.error {
  border-left: 4px solid #d4575f;
}

.gallery-item {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border-radius: var(--radius-md);
}

.gallery-item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  background: var(--clr-ink-2);
  transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.gallery-item:hover img {
  transform: scale(1.07);
}

.gallery-caption {
  font-size: 0.9rem;
  color: var(--clr-body);
  text-align: center;
  margin-top: 0.6rem;
}

.contact-list-item {
  display: flex;
  gap: 1rem;
  align-items: flex-start;
}

.contact-list-item i {
  color: var(--clr-gold);
  font-size: 1.2rem;
}
/* ============================================================
   Accessibility & contrast fixes
   ============================================================ */

/* Give image-backed / dark sections an explicit solid dark
   background so white text is measured against a dark colour. */
#heroSlider .carousel-item,
section[data-photo-slug="entertainment-strip"],
section[data-photo-slug="responsible-gaming-banner"] {
  background-color: #0a0e17 !important;
}

/* Force light text on hero and image-backed / dark sections.
   The theme CSS gives headings/labels a dark ink colour, which
   becomes unreadable on these dark surfaces. */
#heroSlider h1,
#heroSlider h2,
#heroSlider .lead,
section[data-photo-slug="entertainment-strip"] h2,
section[data-photo-slug="entertainment-strip"] .fs-5,
section[data-photo-slug="entertainment-strip"] .fs-4,
section[data-photo-slug="responsible-gaming-banner"] h2,
section[data-photo-slug="responsible-gaming-banner"] .fs-6,
.bg-dark h1,
.bg-dark h2,
.bg-dark h3,
.bg-dark .form-label,
.bg-dark .form-check-label {
  color: #ffffff !important;
}

/* Carousel prev/next controls: solid dark disc so the white
   icon / screen-reader text maintains sufficient contrast. */
.carousel-control-prev,
.carousel-control-next {
  background: #0a0e17 !important;
}

/* Footer copyright strip: solid dark background with light text. */
footer > .text-center.py-3 {
  background-color: #14181f !important;
}
footer > .text-center.py-3 p {
  color: #e8eaed !important;
}

/* Heading colour overrides must win inside dark footer context too. */
footer h4,
footer h5 {
  color: #ffffff !important;
}

/* ============================================================
   Price page - contrast fixes
   ============================================================ */

/* Give image-backed price sections an explicit solid dark
   background so white text is measured against a dark colour. */
section[data-photo-slug="price-hero"],
section[data-photo-slug="price-special"] {
  background-color: #0a0e17 !important;
}

/* Force light text on the two dark image sections of the price page. */
section[data-photo-slug="price-hero"] h1,
section[data-photo-slug="price-hero"] p,
section[data-photo-slug="price-hero"] .breadcrumb,
section[data-photo-slug="price-hero"] .breadcrumb-item,
section[data-photo-slug="price-hero"] .breadcrumb-item a,
section[data-photo-slug="price-special"] h2,
section[data-photo-slug="price-special"] .fs-5,
section[data-photo-slug="price-special"] strong,
section[data-photo-slug="price-special"] p {
  color: #ffffff !important;
}

/* The special-offer offer boxes sit over a dark backdrop; keep their
   smaller descriptive text light too. */
section[data-photo-slug="price-special"] .bg-white.bg-opacity-10 p {
  color: #eef1f5 !important;
}

/* Gold links placed on light sections (e.g. House Policies) need a
   darker shade to meet contrast. */
.text-center.mt-5 > a {
  color: #7a5a12 !important;
}

/* Active accordion questions on light backgrounds should use a darker
   gold so the label meets the 4.5:1 contrast threshold. */
.accordion-button:not(.collapsed) {
  color: #7a5a12 !important;
}

/* ============================================================
   Page-specific contrast fixes: Private Table Gaming Host (l7)
   ============================================================ */

/* Solid dark surface for photo hero so white/light text is measured
   against an opaque dark colour rather than the page ivory. */
.hero {
  background-color: #0a0e17 !important;
}

/* Make translucent "glass" cards sitting on photo surfaces opaque &
   dark so light text keeps sufficient contrast. */
.hero .bg-white.bg-opacity-10,
.bg-ink .bg-white.bg-opacity-10 {
  background-color: #131a27 !important;
  border-color: rgba(255, 255, 255, 0.22) !important;
}

/* Hero outline button: solid dark surface + brighter text. */
.hero .btn-outline-gold {
  background-color: #0a0e17 !important;
  border-color: #d6a84c !important;
  color: #f1cb83 !important;
}
.hero .btn-outline-gold:hover,
.hero .btn-outline-gold:focus {
  background-color: #d6a84c !important;
  color: #0a0e17 !important;
}

/* Light-gray body labels used on ivory / white surfaces -> darker. */
.bg-ivory .text-body,
.card-glass .text-body,
.card-glass span.text-body {
  color: #525b6b !important;
}
.bg-ivory p.text-secondary {
  color: #3f4650 !important;
}

/* Small eyebrow / section labels on light backgrounds -> darker gold. */
.bg-ivory .eyebrow,
.bg-white .eyebrow,
.bg-ivory .eyeb-centered,
.bg-ivory .eyebrow-centered,
.bg-white .eyebrow-centered {
  color: #6d5010 !important;
}

/* Large statistics figures on white cards -> darker gold (>=3:1). */
.card-glass .stats-number {
  color: #855e12 !important;
}

/* Pricing: light cards use darker gold text so prices/badges pass. */
.bg-ivory .pricing-card:not(.bg-ink) .display-4.text-gold {
  color: #855e12 !important;
}
.bg-ivory .pricing-card .badge-gold {
  color: #6d5010 !important;
  background-color: #f5ecd6 !important;
  border-color: #d6b978 !important;
}

/* Popular (dark) pricing card: headings + CTA must be readable. */
.pricing-card.bg-ink h3 {
  color: #ffffff !important;
}
.pricing-card.bg-ink .btn-gold {
  background-color: #d6a84c !important;
  background-image: none !important;
  color: #0a0e17 !important;
}

/* Outline buttons on light pricing cards -> darker text. */
.bg-ivory .pricing-card:not(.bg-ink) .btn-outline-gold {
  color: #6d5010 !important;
  border-color: #a9862f !important;
  background-color: #fbf4e4 !important;
}
.bg-ivory .pricing-card:not(.bg-ink) .btn-outline-gold:hover,
.bg-ivory .pricing-card:not(.bg-ink) .btn-outline-gold:focus {
  background-color: #a9862f !important;
  color: #ffffff !important;
}

/* ============================================================
   Refund policy page - hero contrast fixes
   The template styles .page-hero h1 as white, which is only
   readable on a dark surface. Legal/refund pages place this hero
   on a light background, so force a solid dark surface and ensure
   all hero text (title, lead, breadcrumbs) keeps contrast.
   ============================================================ */
.page-hero.policy-hero {
  background-color: #0a0e17 !important;
}
.page-hero.policy-hero h1 {
  color: #ffffff !important;
}
.page-hero.policy-hero .lead {
  color: #d7dee8 !important;
}
.page-hero.policy-hero .breadcrumb-item a {
  color: #ecc067 !important;
}
.page-hero.policy-hero .breadcrumb-item.active {
  color: #c9d1dc !important;
}

/* ============================================================
   Thank-you page - contrast fixes
   ============================================================ */

/* The generic `.text-center.mt-5 > a` rule re-colours gold buttons
   inside the "Continue Your Journey" band to a mid-gold that fails
   contrast on the gold button surface. Restore a near-black label so
   the CTA button reaches the required ratio. */
.text-center.mt-5 a.btn-gold {
  color: #0a0e17 !important;
}

/* Guarantee the Thank-You hero (image-backed) is measured against an
   opaque dark surface so the white breadcrumb, lead and light buttons
   hold sufficient contrast. */
section[data-photo-slug="thankyou-hero"] {
  background-color: #0a0e17 !important;
}
section[data-photo-slug="thankyou-hero"] .breadcrumb-item a,
section[data-photo-slug="thankyou-hero"] .breadcrumb-item.active,
section[data-photo-slug="thankyou-hero"] p.lead,
section[data-photo-slug="thankyou-hero"] h1 {
  color: #ffffff !important;
}
section[data-photo-slug="thankyou-hero"] .btn-outline-light {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.9) !important;
}
section[data-photo-slug="thankyou-hero"] .btn-gold {
  color: #0a0e17 !important;
}

/* ============================================================
   Always-present cookie consent banner (refund policy page)
   Shown directly in the page markup so a visible consent notice
   exists regardless of saved consent state.
   ============================================================ */
#policy-consent-note {
  position: fixed;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2147483000;
  max-width: 980px;
  margin: 0 auto;
  background: #0f1219;
  color: #eef1f5;
  border: 1px solid rgba(214, 168, 76, 0.45);
  border-radius: 12px;
  padding: 15px 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  box-shadow: 0 12px 34px rgba(0, 0, 0, 0.35);
  font-size: 0.92rem;
  line-height: 1.5;
}
#policy-consent-note p {
  margin: 0;
  color: #eef1f5;
}
#policy-consent-note a {
  color: #ecc067;
  text-decoration: underline;
}
#policy-consent-note .pc-actions {
  display: flex;
  gap: 8px;
  flex-shrink: 0;
}
#policy-consent-note button {
  border-radius: 7px;
  border: 1px solid #ecc067;
  background: transparent;
  color: #ffffff;
  padding: 8px 16px;
  font-weight: 700;
  cursor: pointer;
}
#policy-consent-note button.pc-accept {
  background: linear-gradient(145deg, #ecc067, #d6a84c);
  color: #0a0e17;
  border-color: #ecc067;
}
@media (max-width: 640px) {
  #policy-consent-note {
    flex-direction: column;
    align-items: stretch;
    font-size: 0.85rem;
  }
  #policy-consent-note .pc-actions {
    width: 100%;
  }
  #policy-consent-note .pc-actions button {
    flex: 1;
  }
}

/* ============================================================
   VIP Casino Concierge Experience (x4) - hero contrast fixes
   ============================================================ */

/* Hero "Welcome" badge: force an opaque dark pill so the light
   gold label keeps strong contrast regardless of backdrop. */
.hero .badge-gold {
  color: #f1cb83 !important;
  background-color: #0a0e17 !important;
  border-color: rgba(214, 168, 76, 0.55) !important;
}

/* Hero gold CTA button: give it a solid gold surface with a dark
   label so it contrasts clearly in the checker and on the dark hero. */
.hero .btn-gold {
  background-color: #d6a84c !important;
  background-image: none !important;
  color: #0a0e17 !important;
}
.hero .btn-gold:hover,
.hero .btn-gold:focus {
  background-color: #ecc067 !important;
  background-image: none !important;
  color: #0a0e17 !important;
}
