@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Playfair+Display:wght@700&family=Source+Serif+4:ital,wght@0,400;0,600;1,400&display=swap');

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

:root {
  --color-bg: #0d1117;
  --color-text: #e8e4db;
  --color-gold: #c9a84c;
  --color-dark: #0a0e14;
  --color-border: #1e2a38;
  --color-muted: #8a9bb0;
  --color-green: #1a3d2b;
  --font-sans: 'Inter', sans-serif;
  --font-serif: 'Source Serif 4', Georgia, serif;
  --font-display: 'Playfair Display', Georgia, serif;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
}

body {
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-serif);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

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

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

/* ============================================================
   SEMANTIC CSS — replaces all Tailwind utilities
   ============================================================ */

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

/* ── Site wrapper ── */
.site-wrapper {
  min-height: 100vh;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font-serif);
}

.site-wrapper::selection {
  background-color: var(--color-gold);
  color: var(--color-dark);
}

/* ── Container ── */
.container {
  max-width: 80rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .container {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Narrow container (FAQ section uses max-w-4xl) */
.container--narrow {
  max-width: 56rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .container--narrow {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container--narrow {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* Wide-medium container (CTA section uses max-w-5xl) */
.container--wide-md {
  max-width: 64rem;
  margin-left: auto;
  margin-right: auto;
  padding-left: 1rem;
  padding-right: 1rem;
}

@media (min-width: 640px) {
  .container--wide-md {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

@media (min-width: 1024px) {
  .container--wide-md {
    padding-left: 2rem;
    padding-right: 2rem;
  }
}

/* ── Top bar ── */
.top-bar {
  background-color: var(--color-green);
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  text-align: center;
  font-size: 0.75rem;
  font-family: var(--font-sans);
  letter-spacing: 0.05em;
  color: #fff;
}

/* ── Site header ── */
.site-header {
  position: sticky;
  top: 0;
  z-index: 50;
  background-color: var(--color-dark);
  border-bottom: 1px solid var(--color-border);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 4rem;
}

/* ── Logo ── */
.logo-wrap {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  text-decoration: none;
}

.logo-icon {
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 2px solid var(--color-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gold);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1;
  flex-shrink: 0;
}

.logo-text-wrap {
  display: flex;
  flex-direction: column;
}

.logo-text {
  font-family: var(--font-sans);
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 1.25;
  color: #fff;
}

.logo-sub {
  font-family: var(--font-sans);
  font-size: 0.625rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-gold);
  font-weight: 600;
}

/* ── Site nav ── */
.site-nav {
  display: none;
  align-items: center;
  gap: 2rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 500;
}

@media (min-width: 768px) {
  .site-nav {
    display: flex;
  }
}

.nav-link {
  color: var(--color-text);
  padding-bottom: 0.25rem;
  border-bottom: 1px solid transparent;
  transition: color 0.15s, border-color 0.15s;
}

.nav-link:hover {
  color: var(--color-gold);
  border-bottom-color: var(--color-gold);
}

.nav-link--active {
  color: var(--color-gold);
  border-bottom: 1px solid var(--color-gold);
  padding-bottom: 0.25rem;
}

.nav-cta {
  margin-left: 1rem;
  padding: 0.5rem 1rem;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);
  border-radius: 0.25rem;
  transition: background-color 0.15s, color 0.15s;
}

.nav-cta:hover {
  background-color: var(--color-gold);
  color: var(--color-dark);
}

/* ── Mobile toggle ── */
.mobile-toggle {
  display: block;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--color-text);
  padding: 0.5rem;
}

@media (min-width: 768px) {
  .mobile-toggle {
    display: none;
  }
}

/* ── Mobile menu ── */
.mobile-menu {
  display: none;
  background-color: var(--color-dark);
  border-top: 1px solid var(--color-border);
  padding: 1rem;
  flex-direction: column;
  gap: 1rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 500;
}

.mobile-menu.is-open {
  display: flex;
}

.mobile-menu .nav-link {
  border-bottom: none;
  padding-bottom: 0;
}

.mobile-menu .nav-link:hover {
  border-bottom: none;
}

.mobile-menu .nav-cta {
  margin-left: 0;
  text-align: center;
  display: block;
}

/* ── Hero section ── */
.hero-section {
  background-color: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
  position: relative;
  overflow: hidden;
}

@media (min-width: 1024px) {
  .hero-section {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.hero-inner {
  /* uses .container */
}

.hero-grid {
  display: grid;
  gap: 3rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .hero-grid {
    grid-template-columns: repeat(12, 1fr);
  }
}

.hero-content {
  position: relative;
  z-index: 10;
}

@media (min-width: 1024px) {
  .hero-content {
    grid-column: span 7;
  }
}

/* ── Breadcrumb ── */
.breadcrumb {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  color: var(--color-muted);
  margin-bottom: 1.5rem;
}

.breadcrumb a:hover {
  color: var(--color-gold);
}

.breadcrumb__sep {
  margin-left: 0.5rem;
  margin-right: 0.5rem;
}

.breadcrumb__current {
  color: var(--color-gold);
}

/* ── Hero heading ── */
.hero-title {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

@media (min-width: 1024px) {
  .hero-title {
    font-size: 3rem;
    line-height: 1.1;
  }
}

.hero-title--gold {
  color: var(--color-gold);
}

.hero-lead {
  font-size: 1.125rem;
  color: var(--color-muted);
  margin-bottom: 2rem;
  line-height: 1.7;
  max-width: 42rem;
}

/* ── Hero badge list ── */
.hero-badge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2.5rem;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 500;
}

.hero-badge {
  padding: 0.25rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid;
}

.hero-badge--green {
  border-color: #2d7a4f;
  color: #2d7a4f;
  background-color: #0a1a12;
}

.hero-badge--muted {
  border-color: var(--color-border);
  color: var(--color-muted);
  background-color: #161d26;
}

/* ── Hero actions ── */
.hero-actions {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  font-family: var(--font-sans);
}

@media (min-width: 640px) {
  .hero-actions {
    flex-direction: row;
  }
}

/* ── Hero visual ── */
.hero-visual {
  display: none;
  justify-content: center;
  align-items: center;
  height: 100%;
  min-height: 25rem;
  position: relative;
}

@media (min-width: 768px) {
  .hero-visual {
    display: flex;
  }
}

@media (min-width: 1024px) {
  .hero-visual {
    grid-column: span 5;
  }
}

.hero-visual__bg {
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at center, rgba(201,168,76,0.15) 0%, rgba(13,17,23,0) 70%);
}

.hero-visual__suit {
  position: absolute;
  color: rgba(201,168,76,0.2);
}

.hero-visual__suit--tl { top: 2.5rem; left: 2.5rem; font-size: 2.25rem; }
.hero-visual__suit--bl { bottom: 5rem; left: 5rem; font-size: 3rem; }
.hero-visual__suit--tr { top: 5rem; right: 5rem; font-size: 1.875rem; }
.hero-visual__suit--br { bottom: 2.5rem; right: 2.5rem; font-size: 3.75rem; }

/* ── Hero card ── */
.hero-card {
  position: relative;
  width: 16rem;
  height: 20rem;
  border: 1px solid var(--color-gold);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: rgba(19,25,31,0.5);
  backdrop-filter: blur(4px);
  box-shadow: 0 0 50px rgba(201,168,76,0.1);
  transform: rotate(3deg);
  transition: transform 0.5s;
}

.hero-card:hover {
  transform: rotate(0deg);
}

.hero-card__corner {
  position: absolute;
  color: var(--color-gold);
  font-size: 1.25rem;
  font-family: var(--font-display);
  font-weight: 700;
}

.hero-card__corner--tl { top: 1rem; left: 1rem; }
.hero-card__corner--br { bottom: 1rem; right: 1rem; transform: rotate(180deg); }

.hero-card__nine {
  font-family: var(--font-display);
  font-size: 6rem;
  font-weight: 700;
  color: var(--color-gold);
  filter: drop-shadow(0 0 15px rgba(201,168,76,0.3));
}

/* ── Buttons ── */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.875rem 1.5rem;
  font-family: var(--font-sans);
  font-weight: 600;
  border-radius: 0.25rem;
  text-align: center;
  transition: background-color 0.15s, color 0.15s, border-color 0.15s;
  cursor: pointer;
  text-decoration: none;
  border: 1px solid transparent;
}

.btn--primary {
  background-color: var(--color-gold);
  color: var(--color-dark);
}

.btn--primary:hover {
  background-color: #b8942e;
  color: var(--color-dark);
}

.btn--outline {
  background-color: transparent;
  border-color: var(--color-gold);
  color: var(--color-gold);
}

.btn--outline:hover {
  background-color: rgba(201,168,76,0.1);
}

.btn--gold {
  background-color: var(--color-gold);
  color: var(--color-dark);
  font-size: 1.125rem;
  padding: 1rem 2rem;
  font-weight: 700;
}

.btn--gold:hover {
  background-color: #b8942e;
}

.btn--sm {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}

.btn--full {
  width: 100%;
}

@media (min-width: 640px) {
  .btn--full {
    width: auto;
  }
}

/* ── Section labels & titles ── */
.section-label {
  display: block;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--color-gold);
  margin-bottom: 0.75rem;
}

.section-label--green {
  color: #2d7a4f;
}

.section-title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--color-text);
}

.section-title--center {
  text-align: center;
}

/* ── Overview section ── */
.overview-section {
  background-color: #13191f;
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.overview-header {
  margin-bottom: 2.5rem;
}

.overview-grid {
  display: grid;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .overview-grid {
    grid-template-columns: 1fr 1fr;
  }
}

/* ── Info table ── */
.table-wrap {
  background-color: #161d26;
  border-radius: 0.25rem;
  overflow: hidden;
}

.table-scroll {
  overflow-x: auto;
}

.data-table {
  width: 100%;
  text-align: left;
  font-size: 0.875rem;
  border-collapse: collapse;
}

.data-table tbody tr:nth-child(odd) {
  background-color: #161d26;
}

.data-table tbody tr:nth-child(even) {
  background-color: #1a212c;
}

.data-table tbody tr + tr {
  border-top: 1px solid var(--color-border);
}

.data-table th {
  padding: 1rem 1.25rem;
  font-weight: 600;
  color: var(--color-text);
  font-family: var(--font-sans);
  vertical-align: top;
}

.data-table td {
  padding: 1rem 1.25rem;
  color: var(--color-muted);
}

.data-table td--highlight {
  color: var(--color-text);
  font-weight: 600;
  font-family: var(--font-sans);
}

.data-table td--green {
  color: #2d7a4f;
}

.data-table td--small {
  font-size: 0.75rem;
}

.data-table--bordered {
  background-color: #161d26;
  border-radius: 0.25rem;
  border: 1px solid var(--color-border);
  overflow: hidden;
}

.data-table thead {
  background-color: #1a212c;
  font-family: var(--font-sans);
  color: var(--color-text);
}

.data-table thead th {
  padding: 1rem 1.25rem;
  font-weight: 600;
}

.data-table--noborder tbody tr:nth-child(odd) {
  background-color: #161d26;
}

.data-table--noborder tbody tr:nth-child(even) {
  background-color: #13191f;
}

/* ── Quick links ── */
.quick-links {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.quick-link-card {
  display: block;
  background-color: #161d26;
  border-left: 3px solid var(--color-gold);
  padding: 1.5rem;
  transition: background-color 0.15s;
  text-decoration: none;
  color: inherit;
}

.quick-link-card:hover {
  background-color: #1a212c;
}

.quick-link-card__inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.quick-link-card__title {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.5rem;
}

.quick-link-card__desc {
  color: var(--color-muted);
  font-size: 0.875rem;
}

.quick-link-card__arrow {
  color: var(--color-gold);
  flex-shrink: 0;
  transition: transform 0.15s;
}

.quick-link-card:hover .quick-link-card__arrow {
  transform: translateX(0.25rem);
}

/* ── Guide nav section (Explore This Guide) ── */
.guide-nav-section {
  background-color: #13191f;
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.guide-nav-grid {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .guide-nav-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.guide-nav-card {
  background-color: #161d26;
  border-left: 3px solid var(--color-gold);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.guide-nav-card__title {
  font-family: var(--font-sans);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 0.75rem;
}

.guide-nav-card__desc {
  color: var(--color-muted);
  margin-bottom: 1.5rem;
  flex-grow: 1;
}

.guide-nav-card__link {
  font-family: var(--font-sans);
  color: var(--color-gold);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.guide-nav-card__link:hover {
  text-decoration: underline;
}

/* ── Content section ── */
.content-section {
  background-color: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.content-section--alt {
  background-color: #13191f;
}

.content-section--dark {
  background-color: #0a1a12;
}

/* ── Prose / body copy ── */
.prose-content {
  max-width: none;
  margin-bottom: 3rem;
}

.prose-content p {
  color: var(--color-muted);
  line-height: 1.7;
  margin-bottom: 1rem;
}

/* ── Feature grid ── */
.feature-grid {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .feature-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.feature-card {
  background-color: #161d26;
  padding: 1.5rem;
  border-radius: 0.25rem;
  border: 1px solid var(--color-border);
}

.feature-card__title {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.75rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.feature-card__body {
  color: var(--color-muted);
  font-size: 0.875rem;
  line-height: 1.7;
}

/* ── Bonus table section ── */
.bonus-section {
  background-color: #13191f;
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.bonus-footer {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
}

@media (min-width: 640px) {
  .bonus-footer {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }
}

.bonus-notice {
  font-size: 0.75rem;
  color: var(--color-muted);
  flex: 1;
  max-width: 36rem;
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.bonus-notice__icon {
  color: var(--color-gold);
}

/* ── App / Mobile section ── */
.app-section {
  background-color: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.app-grid {
  display: grid;
  gap: 3rem;
  align-items: center;
}

@media (min-width: 1024px) {
  .app-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.app-steps {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 2rem;
}

.app-step {
  display: flex;
  gap: 1rem;
}

.app-step__num {
  flex-shrink: 0;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid var(--color-gold);
  color: var(--color-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-sans);
  font-weight: 700;
}

.app-step__text {
  color: var(--color-muted);
  padding-top: 0.25rem;
}

.app-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-bottom: 2rem;
  font-family: var(--font-sans);
  font-size: 0.75rem;
}

.app-tag {
  padding: 0.375rem 0.75rem;
  border-radius: 9999px;
  border: 1px solid var(--color-border);
  color: var(--color-muted);
  background-color: #161d26;
}

.app-link {
  font-family: var(--font-sans);
  color: var(--color-gold);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.app-link:hover {
  text-decoration: underline;
}

/* ── Phone mockup ── */
.phone-wrap {
  display: flex;
  justify-content: center;
}

.phone-frame {
  position: relative;
  width: 17.5rem;
  height: 36.25rem;
  border: 4px solid var(--color-border);
  border-radius: 2.5rem;
  background-color: var(--color-dark);
  box-shadow: 0 25px 50px -12px rgba(0,0,0,0.5);
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.phone-notch {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 8rem;
  height: 1.5rem;
  background-color: var(--color-border);
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
  z-index: 20;
}

.phone-screen {
  flex: 1;
  width: 100%;
  border: 1px solid var(--color-border);
  border-radius: 2rem;
  overflow: hidden;
  background-color: #13191f;
  display: flex;
  flex-direction: column;
  position: relative;
}

.phone-screen__header {
  padding: 1rem;
  border-bottom: 1px solid var(--color-border);
  background-color: var(--color-dark);
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 1rem;
}

.phone-screen__brand {
  color: var(--color-gold);
  font-weight: 700;
  font-family: var(--font-display);
}

.phone-screen__body {
  padding: 1rem;
  flex: 1;
  background-color: #13191f;
}

.phone-screen__banner {
  width: 100%;
  height: 8rem;
  background-color: #161d26;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  border: 1px solid var(--color-border);
  display: flex;
  align-items: center;
  justify-content: center;
}

.phone-screen__banner span {
  color: var(--color-muted);
  font-size: 0.875rem;
}

.phone-screen__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

.phone-screen__tile {
  aspect-ratio: 1;
  background-color: #1a212c;
  border-radius: 0.5rem;
  border: 1px solid var(--color-border);
}

.phone-screen__nav {
  height: 3.5rem;
  border-top: 1px solid var(--color-border);
  background-color: var(--color-dark);
  display: flex;
  justify-content: space-around;
  align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
}

.phone-nav-dot {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  background-color: var(--color-border);
}

.phone-nav-dot--gold {
  width: 2.5rem;
  height: 2.5rem;
  background-color: var(--color-gold);
  margin-top: -1.5rem;
  border: 4px solid var(--color-dark);
}

/* ── Payments section ── */
.payments-section {
  background-color: #13191f;
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

/* ── Grid helpers ── */
.grid-2col {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .grid-2col {
    grid-template-columns: 1fr 1fr;
  }
}

.grid-2col--lg {
  display: grid;
  gap: 2rem;
}

@media (min-width: 1024px) {
  .grid-2col--lg {
    grid-template-columns: 1fr 1fr;
  }
}

.grid-3col {
  display: grid;
  gap: 1.5rem;
}

@media (min-width: 768px) {
  .grid-3col {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ── Safety section ── */
.safety-section {
  background-color: #0a1a12;
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.safety-callout {
  background-color: var(--color-bg);
  border-left: 4px solid #2d7a4f;
  padding: 1.5rem;
  border-radius: 0 0.25rem 0.25rem 0;
  margin-bottom: 2.5rem;
}

.safety-callout p {
  color: var(--color-muted);
  line-height: 1.7;
}

.safety-grid {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .safety-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.safety-card {
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  padding: 1.5rem;
  border-radius: 0.25rem;
}

.safety-card__name {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.25rem;
}

.safety-card__url {
  color: #2d7a4f;
  font-size: 0.875rem;
  font-family: var(--font-sans);
  margin-bottom: 0.75rem;
  display: block;
}

.safety-card__url:hover {
  text-decoration: underline;
}

.safety-card__desc {
  color: var(--color-muted);
  font-size: 0.875rem;
}

.safety-badge-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  background-color: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 0.25rem;
  padding: 1.5rem;
}

@media (min-width: 640px) {
  .safety-badge-row {
    flex-direction: row;
    align-items: center;
  }
}

.safety-badge-icon {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  border: 2px solid var(--color-gold);
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.safety-badge-icon span {
  font-family: var(--font-sans);
  font-weight: 700;
  font-size: 1.25rem;
  color: var(--color-gold);
}

.safety-badge-text__heading {
  color: var(--color-text);
  font-weight: 600;
  margin-bottom: 0.25rem;
  font-family: var(--font-sans);
}

.safety-badge-text__sub {
  color: var(--color-muted);
  font-size: 0.75rem;
}

/* ── FAQ section ── */
.faq-section {
  background-color: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

.faq-header {
  text-align: center;
  margin-bottom: 3rem;
}

.faq-header .section-label {
  display: block;
  margin-bottom: 0.75rem;
}

.faq-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.faq-item {
  background-color: #161d26;
  border: 1px solid var(--color-border);
  border-radius: 0.25rem;
  padding: 1.5rem;
}

.faq-item__q {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.75rem;
}

.faq-item__a {
  color: var(--color-muted);
  line-height: 1.7;
}

/* ── CTA section ── */
.cta-section {
  background-color: #13191f;
  border-bottom: 1px solid var(--color-border);
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
}

.cta-title {
  font-family: var(--font-display);
  font-size: 1.875rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  .cta-title {
    font-size: 2.25rem;
  }
}

.cta-lead {
  color: var(--color-muted);
  font-size: 1.125rem;
  margin-bottom: 3rem;
}

.cta-grid {
  display: grid;
  gap: 1.5rem;
  margin-bottom: 3rem;
  text-align: left;
}

@media (min-width: 768px) {
  .cta-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.cta-card {
  display: block;
  background-color: #161d26;
  border: 1px solid var(--color-border);
  padding: 2rem;
  border-radius: 0.25rem;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.15s;
}

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

.cta-card__title {
  font-family: var(--font-sans);
  font-size: 1.25rem;
  font-weight: 700;
  color: var(--color-text);
  margin-bottom: 0.5rem;
  transition: color 0.15s;
}

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

.cta-card__desc {
  color: var(--color-muted);
  font-size: 0.875rem;
  margin-bottom: 1.5rem;
}

.cta-card__action {
  font-family: var(--font-sans);
  color: var(--color-text);
  font-size: 0.875rem;
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  transition: color 0.15s;
}

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

/* ── Footer ── */
.footer-wrap {
  background-color: #080c11;
  padding-top: 4rem;
  padding-bottom: 2rem;
  border-top: 1px solid var(--color-border);
  font-family: var(--font-sans);
}

.footer-wrap--simple {
  background-color: var(--color-dark);
  border-top: 1px solid var(--color-border);
  padding-top: 3rem;
  padding-bottom: 3rem;
  font-family: var(--font-sans);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 3rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (min-width: 1024px) {
  .footer-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.footer-col__logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.footer-logo-icon {
  width: 1.5rem;
  height: 1.5rem;
  border-radius: 50%;
  border: 1px solid var(--color-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-gold);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.875rem;
  flex-shrink: 0;
}

.footer-col__brand {
  font-weight: 600;
  font-size: 1.125rem;
  color: #fff;
}

.footer-col__desc {
  color: var(--color-muted);
  font-size: 0.875rem;
  margin-bottom: 1rem;
}

.footer-age-badge {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  border: 1px solid var(--color-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 1rem;
}

.footer-age-badge span {
  font-weight: 700;
  color: var(--color-gold);
  font-size: 0.875rem;
}

.footer-col__tagline {
  color: var(--color-muted);
  font-size: 0.75rem;
}

.footer-col__heading {
  color: #fff;
  font-weight: 600;
  margin-bottom: 1rem;
}

.footer-nav {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.875rem;
}

.footer-nav a {
  color: var(--color-muted);
  transition: color 0.15s;
}

.footer-nav a:hover {
  color: var(--color-gold);
}

.footer-nav--legal a:hover {
  color: #fff;
}

/* ── Payment methods in footer ── */
.payment-methods {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
}

.payment-icon {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  border: 1px solid var(--color-border);
  border-radius: 0.25rem;
  background-color: #161d26;
}

.payment-icon--with-label {
  gap: 0.375rem;
}

.payment-icon__label {
  font-size: 0.625rem;
  color: var(--color-muted);
  font-family: var(--font-sans);
}

/* ── Footer bottom ── */
.footer-bottom {
  border-top: 1px solid var(--color-border);
  padding-top: 2rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}

@media (min-width: 768px) {
  .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }
}

.footer-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  justify-content: center;
}

@media (min-width: 768px) {
  .footer-badges {
    justify-content: flex-start;
  }
}

.footer-badge {
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  border: 1px solid var(--color-border);
  color: var(--color-muted);
  border-radius: 9999px;
}

.footer-copyright {
  margin-top: 2rem;
  text-align: center;
}

@media (min-width: 768px) {
  .footer-copyright {
    text-align: left;
  }
}

.footer-copyright p {
  color: var(--color-muted);
  font-size: 0.75rem;
  font-family: var(--font-serif);
  font-style: italic;
}

/* ── Inline text link ── */
.text-link {
  color: var(--color-gold);
  font-family: var(--font-sans);
  font-weight: 600;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
}

.text-link:hover {
  text-decoration: underline;
}

.text-link--muted {
  color: var(--color-muted);
}

.text-link--muted:hover {
  color: var(--color-gold);
}

/* ── Disclaimer / notice row ── */
.notice-row {
  font-size: 0.75rem;
  color: var(--color-muted);
  font-family: var(--font-sans);
  margin-bottom: 2.5rem;
}

/* ── Inner page hero ── */
.page-hero {
  background-color: var(--color-bg);
  border-bottom: 1px solid var(--color-border);
  padding-top: 4rem;
  padding-bottom: 4rem;
}

@media (min-width: 1024px) {
  .page-hero {
    padding-top: 6rem;
    padding-bottom: 6rem;
  }
}

.page-hero__title {
  font-family: var(--font-display);
  font-size: 2.25rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 1.5rem;
  line-height: 1.2;
}

@media (min-width: 1024px) {
  .page-hero__title {
    font-size: 3rem;
  }
}

.page-hero__lead {
  color: var(--color-muted);
  font-family: var(--font-sans);
  font-size: 1.125rem;
  margin-bottom: 2rem;
  max-width: 42rem;
}

/* ── Inner page content section ── */
.page-section {
  padding-top: 4rem;
  padding-bottom: 4rem;
}

/* ── Card grid for inner pages ── */
.card-grid {
  display: grid;
  gap: 2rem;
  margin-bottom: 3rem;
}

@media (min-width: 768px) {
  .card-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.info-card {
  background-color: #111827;
  border: 1px solid var(--color-border);
  border-radius: 0.5rem;
  padding: 1.5rem;
}

.info-card__title {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 1rem;
}

.info-card__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  color: var(--color-muted);
}

.info-card__list li {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.info-card__list .check {
  color: var(--color-gold);
  margin-top: 0.125rem;
  flex-shrink: 0;
}

.info-card__ol {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  color: var(--color-muted);
}

.info-card__ol li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.info-card__ol .num {
  color: var(--color-gold);
  font-weight: 700;
  flex-shrink: 0;
}

/* ── Disclaimer line ── */
.disclaimer {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  color: var(--color-muted);
  text-align: center;
}

.disclaimer a {
  text-decoration: underline;
  transition: color 0.15s;
}

.disclaimer a:hover {
  color: var(--color-gold);
}

/* ── Withdrawal table ── */
.withdrawal-table-wrap {
  overflow-x: auto;
  margin-bottom: 3rem;
}

.withdrawal-table {
  width: 100%;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  border-collapse: collapse;
}

.withdrawal-table thead tr {
  border-bottom: 1px solid var(--color-border);
}

.withdrawal-table th {
  text-align: left;
  padding: 0.75rem 1rem;
  color: var(--color-gold);
  font-weight: 600;
}

.withdrawal-table tbody {
  color: var(--color-muted);
}

.withdrawal-table tbody tr {
  border-bottom: 1px solid var(--color-border);
}

.withdrawal-table tbody td {
  padding: 0.75rem 1rem;
}

.withdrawal-table tbody td.td--white {
  color: #fff;
}

/* =============================================
   Legal / static pages
   ============================================= */

.container--narrow {
  max-width: 48rem;
}

.legal-content {
  color: var(--color-muted);
  line-height: 1.8;
}

.legal-content h2 {
  font-family: var(--font-display);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--color-text);
  margin-top: 2.5rem;
  margin-bottom: 0.75rem;
}

.legal-content h3 {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
  margin-top: 1.5rem;
  margin-bottom: 0.5rem;
}

.legal-content p {
  margin-bottom: 1rem;
}

.legal-content ul,
.legal-content ol {
  padding-left: 1.5rem;
  margin-bottom: 1rem;
}

.legal-content li {
  margin-bottom: 0.4rem;
}

.legal-content a {
  color: var(--color-gold);
  text-decoration: underline;
}

.legal-content a:hover {
  color: #b8942e;
}

.legal-content code {
  font-family: monospace;
  font-size: 0.875rem;
  background: #161d26;
  padding: 0.1em 0.4em;
  border-radius: 3px;
  color: var(--color-text);
}

.legal-content strong {
  color: var(--color-text);
  font-weight: 600;
}

/* Responsible gambling alert box */
.rg-alert {
  background: #0a1a12;
  border-left: 4px solid #2d7a4f;
  padding: 1rem 1.25rem;
  border-radius: 0 4px 4px 0;
  color: var(--color-muted);
  margin-bottom: 2rem;
  line-height: 1.6;
}

.rg-alert strong {
  color: var(--color-text);
}

/* Green hero variant for responsible gambling page */
.page-hero--green {
  background-color: #0a1a12;
}

/* Safety cards grid (responsible gambling page) */
.safety-grid {
  display: grid;
  gap: 1.5rem;
  margin: 2rem 0;
}

@media (min-width: 768px) {
  .safety-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .safety-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

.safety-card {
  background: #161d26;
  border: 1px solid var(--color-border);
  border-radius: 4px;
  padding: 1.5rem;
}

.safety-card h3 {
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--color-text);
  margin-bottom: 0.25rem;
}

.safety-card p {
  font-size: 0.875rem;
  color: var(--color-muted);
  line-height: 1.6;
  margin-top: 0.5rem;
}

.safety-card strong {
  color: var(--color-text);
}

.safety-card__link {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  color: #2d7a4f;
  display: block;
  margin-bottom: 0.25rem;
  text-decoration: none;
}

.safety-card__link:hover {
  text-decoration: underline;
}