/* ==========================================================================
   Generic editorial section scaffolding + responsible gambling grid
   ========================================================================== */

.section {
  position: relative;
  overflow: hidden;
  padding: 100px var(--shell-pad);
  background: var(--c-bg);
}
.section--tall { padding-block: 120px; }
.section--surface { background: var(--c-surface); }
.section__inner {
  position: relative; z-index: 1;
  max-width: calc(var(--shell-max) - (var(--shell-pad) * 2));
  margin-inline: auto;
  display: flex; flex-direction: column; gap: 48px;
}
.section__inner--wide-gap { gap: 64px; }
.section__watermark { top: 60px; left: var(--shell-pad); font-size: 160px; opacity: .12; }
.section__watermark--faint { opacity: .06; }
.section__watermark--fainter { opacity: .08; }

@media (max-width: 1023px) {
  .section { padding: 48px var(--shell-pad); }
  .section--tall { padding-block: 56px; }
  .section__inner { gap: 32px; }
  .section__watermark { display: none; }
  .eyebrow__title { font-size: 32px; letter-spacing: -1px; }
  .eyebrow__num { font-size: 18px; }
  .eyebrow__label { font-size: 11px; letter-spacing: 1.5px; }
  .eyebrow__rule { width: 20px; }
}

/* Responsible gambling grid ---------------------------------------------- */

.responsible__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}
.responsible__card {
  display: flex; flex-direction: column; gap: 24px;
  padding: 40px;
  background: var(--c-surface);
  border: 1px solid var(--c-border);
}
.responsible__card--accent {
  background: var(--c-navy);
  border-color: var(--c-blue);
}
.responsible__card-head {
  display: flex; align-items: center; justify-content: space-between;
}
.responsible__card-num {
  font-weight: 700; font-size: 32px; line-height: 1.28; color: var(--c-blue);
}
.responsible__card-body { display: flex; flex-direction: column; gap: 12px; flex: 1 1 auto; }
.responsible__card-title {
  font-weight: 700; font-size: 20px; line-height: 1.3;
  text-transform: uppercase; color: var(--c-text);
}
.responsible__card-text { font-size: 14px; line-height: 1.5; color: var(--c-text); }

@media (max-width: 1023px) {
  .responsible__grid { grid-template-columns: 1fr; gap: 16px; }
  .responsible__card { padding: 24px; gap: 16px; }
  .responsible__card-num { font-size: 24px; }
  .responsible__card-title { font-size: 18px; }
}

/* Editorial prose (policy / terms pages) ---------------------------------- */

.prose { display: flex; flex-direction: column; gap: 40px; }
.prose__block { display: flex; flex-direction: column; gap: 16px; }
.prose__num {
  font-weight: 700; font-size: 13px; line-height: 1;
  letter-spacing: 1px; color: var(--c-blue-light);
}
.prose__heading {
  font-weight: 700; font-size: 28px; line-height: 1.2;
  letter-spacing: -.5px; text-transform: uppercase; color: var(--c-text);
}
.prose__text { font-size: 15px; line-height: 1.7; color: var(--c-text); }
.prose__list { display: flex; flex-direction: column; gap: 10px; }
.prose__list-item {
  position: relative;
  padding-left: 22px;
  font-size: 15px; line-height: 1.7; color: var(--c-text);
}
.prose__list-item::before {
  content: ""; position: absolute; left: 0; top: 11px;
  width: 8px; height: 2px; background: var(--c-blue);
}

@media (max-width: 1023px) {
  .prose { gap: 28px; }
  .prose__heading { font-size: 20px; letter-spacing: 0; }
  .prose__text, .prose__list-item { font-size: 14px; line-height: 1.6; }
}
