body[data-helper-page] {
  --terms-ink: #172522;
  --terms-muted: #596963;
  --terms-green: #3fc62d;
  --terms-deep: #143f32;
  --terms-line: #dce8df;
  --terms-paper: #fff;
  margin: 0;
  padding-block-start: clamp(172px, 14vw, 224px);
  background: #edf5ec;
  color: var(--terms-ink);
  font-family: "JetBrains Mono", monospace;
}

body[data-helper-page] > .gaming-hero__header {
  top: 24px;
  left: clamp(20px, 5vw, 82px);
  right: clamp(20px, 5vw, 82px);
  z-index: 10;
  min-height: 94px;
  padding: 10px 16px;
  border: 1px solid #d9e5dc;
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0 16px 36px rgb(20 63 50 / 12%);
}

body[data-helper-page] .gaming-hero__nav {
  width: min(77%, 970px);
  min-height: 66px;
  border: 0;
  border-radius: 12px;
  box-shadow: none;
}

body[data-helper-page] .gaming-hero__nav-item--active {
  color: #123c27;
  background: #b8f4ac;
  border-color: #fff;
  border-radius: 8px;
  box-shadow: none;
}

main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 238px;
  align-items: start;
  column-gap: clamp(28px, 5vw, 76px);
  width: min(100% - 40px, 1320px);
  margin: 0 auto 96px;
  color: var(--terms-ink);
}

main > section { grid-column: 1; min-width: 0; border-inline: 1px solid var(--terms-line); box-shadow: 0 24px 70px rgb(31 70 45 / 8%); }
main > .terms-intro { border-top: 1px solid var(--terms-line); }

.terms-intro,
.terms-provision,
.terms-contact {
  padding: clamp(28px, 5vw, 66px);
}

.terms-intro {
  border-bottom: 1px solid var(--terms-line);
  background: radial-gradient(ellipse at 92% 3%, #d9f8cf 0, #f5fcf2 38%, #fff 75%);
  border-radius: 24px 24px 0 0;
}

.terms-eyebrow,
.terms-number,
.terms-updated,
.terms-index__heading,
.terms-side-note__label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.5;
  text-transform: uppercase;
}

.terms-eyebrow {
  display: flex;
  gap: 12px;
  align-items: center;
  color: #427344;
}

.terms-eyebrow span { color: #94b393; }

.terms-intro h1 {
  max-width: 820px;
  margin: 23px 0 18px;
  color: #143f32;
  font-size: clamp(42px, 6.2vw, 82px);
  font-weight: 700;
  letter-spacing: -.075em;
  line-height: .98;
}

.terms-lede {
  max-width: 780px;
  margin: 0;
  color: #40554b;
  font-size: clamp(16px, 1.45vw, 20px);
  line-height: 1.75;
}

.terms-intro .terms-scope { margin-top: 34px; padding-top: 30px; border-top: 1px solid #dce8df; }
.terms-contact__copy { display: block; min-width: 0; }

.terms-document a {
  color: #176a36;
  font-weight: 700;
  text-decoration-color: #81c67c;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.terms-document a:hover { color: #0e4928; }

.terms-notice {
  gap: 16px;
  max-width: 810px;
  margin-top: 30px;
  padding: 18px 21px;
  border: 1px solid #a8dfa0;
  border-radius: 14px;
  background: #e8fae4;
  color: #234731;
}

.terms-notice__mark {
  display: grid;
  flex: 0 0 28px;
  width: 28px;
  height: 28px;
  place-items: center;
  border-radius: 50%;
  background: #3fc62d;
  color: #103e23;
  font-weight: 800;
}

.terms-notice p { margin: 1px 0 0; font-size: 14px; line-height: 1.7; }
.terms-updated { margin: 21px 0 0; color: #76847a; font-size: 10px; letter-spacing: .08em; }

.terms-provision {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, 205px);
  gap: 32px;
  align-items: center;
  border-bottom: 1px solid var(--terms-line);
  background: #fff;
}

.terms-provision--tint { background: #f5faf3; }
.terms-provision__content { min-width: 0; }
.terms-number { margin-bottom: 13px; color: #4d8752; font-size: 10px; }
.terms-number span { padding-inline: 5px; color: #a3bea1; }

.terms-provision h2,
.terms-contact h2 {
  margin: 0 0 17px;
  color: #183d31;
  font-size: clamp(23px, 2.5vw, 34px);
  letter-spacing: -.055em;
  line-height: 1.15;
}

.terms-provision p,
.terms-contact p {
  margin: 0 0 13px;
  color: var(--terms-muted);
  font-size: 14px;
  line-height: 1.85;
}

.terms-provision p:last-child,
.terms-contact p:last-child { margin-bottom: 0; }

.terms-side-note {
  padding: 19px;
  border-left: 3px solid #3fc62d;
  border-radius: 0 12px 12px 0;
  background: #e9f6e4;
}

.terms-side-note__label { color: #347144; font-size: 9px; }
.terms-side-note p { margin: 9px 0 0; color: #365544; font-size: 12px; line-height: 1.65; }
.terms-provision:not(:has(.terms-side-note)) { grid-template-columns: minmax(0, 1fr); }

.terms-contact {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  border-radius: 0 0 24px 24px;
  background: #153f32;
}

.terms-contact .terms-number { color: #a6e39b; }
.terms-contact h2 { color: #fff; }
.terms-contact p { max-width: 700px; color: #d2e3d8; }
.terms-contact a:not(.terms-contact__link) { color: #b7f4a7; }

.terms-contact__link {
  flex: 0 0 auto;
  justify-content: center;
  gap: 15px;
  min-height: 52px;
  padding: 0 20px;
  border: 1px solid #a7eb96;
  border-radius: 9px;
  background-color: #b8f4a9;
  color: #143e2d !important;
  text-decoration: none;
  transition: background-color .18s ease, transform .18s ease;
}

.terms-contact__link:hover { transform: translateY(-2px); background-color: #d2fac8; }
.terms-contact__link span { font-size: 18px; }

.terms-index {
  grid-column: 2;
  grid-row: 1 / span 9;
  position: sticky !important;
  top: 22px;
  padding: 22px 18px;
  border: 1px solid #dce8df;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 16px 38px rgb(31 70 45 / 7%);
}

.terms-index__heading { margin: 0 0 15px; color: #728176; font-size: 10px; }
.terms-index nav { display: grid; gap: 3px; }
.terms-index nav a {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 36px;
  padding: 4px 7px;
  border-radius: 7px;
  color: #66806d;
  font-size: 10px;
  font-weight: 700;
  text-decoration: none;
}

.terms-index nav a span { color: #354c3b; font-size: 11px; font-weight: 600; }
.terms-index nav a:hover { background: #eaf7e5; color: #23643a; }
.terms-index__top { display: inline-block; margin: 16px 7px 0; color: #27743d; font-size: 10px; font-weight: 700; text-decoration: none; }

.terms-provision [data-reveal],
.terms-contact [data-reveal] { opacity: 1; transform: none; }
.terms-provision [data-reveal].reveal-pending,
.terms-contact [data-reveal].reveal-pending { opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .45s ease; }
.terms-provision [data-reveal].is-visible,
.terms-contact [data-reveal].is-visible { opacity: 1; transform: translateY(0); }

@media (prefers-reduced-motion: reduce) {
  .terms-provision [data-reveal].reveal-pending,
  .terms-contact [data-reveal].reveal-pending { opacity: 1; transform: none; transition: none; }
  .terms-contact__link { transition: none; }
}

@media (max-width: 920px) {
  main { grid-template-columns: minmax(0, 1fr); row-gap: 16px; }
  main > section { grid-column: 1; }
  .terms-index { position: relative !important; top: auto; order: -1; }
  .terms-index { grid-column: 1; grid-row: auto; }
  .terms-index nav { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .terms-index nav a { gap: 6px; }
}

@media (max-width: 680px) {
  body[data-helper-page] { padding-block-start: 148px; }
  body[data-helper-page] > .gaming-hero__header { top: 12px; left: 12px; right: 12px; min-height: 82px; padding: 8px; border-radius: 12px; }
  body[data-helper-page] .gaming-hero__logo { width: 48px; height: 48px; }
  body[data-helper-page] .gaming-hero__nav { width: calc(100% - 58px); min-height: 62px; flex-wrap: wrap; justify-content: flex-end; gap: 2px; padding: 2px; }
  body[data-helper-page] .gaming-hero__nav-item { min-height: 25px; padding-inline: 6px; font-size: 8px; }
  main { width: min(100% - 24px, 600px); margin-bottom: 56px; }
  main > section { box-shadow: 0 12px 30px rgb(31 70 45 / 7%); }
  .terms-intro, .terms-provision, .terms-contact { padding: 26px 22px; }
  .terms-intro { border-radius: 18px 18px 0 0; }
  .terms-intro h1 { font-size: clamp(40px, 12vw, 60px); }
  .terms-provision { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .terms-provision:not(:has(.terms-side-note)) { grid-template-columns: minmax(0, 1fr); }
  .terms-contact { align-items: flex-start; flex-direction: column; gap: 20px; border-radius: 0 0 18px 18px; }
  .terms-index { padding: 16px; }
  .terms-index nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .terms-index nav a { font-size: 9px; }
}

@media (max-width: 360px) {
  main { width: calc(100% - 20px); }
  .terms-intro, .terms-provision, .terms-contact { padding: 22px 17px; }
  .terms-notice { gap: 10px; padding: 14px; }
  .terms-index nav { grid-template-columns: minmax(0, 1fr); }
}
/* Keep the footer consent control legible against its black section. */
body[data-helper-page] .contact-footer__cookie-reopen {
  color: #fff;
  background-color: #267a32;
  border-color: #71dc69;
}
body[data-helper-page] .contact-footer__cookie-reopen:hover { background-color: #318f3d; }
