:root {
  --terms-ink: #201c27;
  --terms-muted: #716b79;
  --terms-line: #dfd9e5;
  --terms-plum: #493a58;
  --terms-lilac: #eee8f4;
  --terms-paper: #fbf9fc;
}

html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--terms-ink);
  background: var(--terms-paper);
  font-family: Lato, Arial, sans-serif;
  font-size: 16px;
  line-height: 1.65;
}
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] {
  z-index: 10;
  min-height: 106px;
  background: #f7f5fc;
  color: var(--terms-ink);
}
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .region-content {
  height: 106px;
  overflow: visible;
  background: #f7f5fc;
}
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .site-header {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(1440px, calc(100% - 80px));
  height: 106px;
  background: #f7f5fc;
}
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .hero-layout,
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .hero-glow,
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .hero-orbit,
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .hero-layout ~ *,
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .region-content > :not(.site-header) { display: none; }
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .primary-navigation a { color: #25212b; }
body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .nav-toggle {
  border-color: #d4cedb;
  background-color: #fff;
  color: var(--terms-ink);
}

main { display: block; }
main > section { position: relative; }
.terms-wrap { width: min(1240px, calc(100% - 96px)); margin-inline: auto; }
.terms-reveal { opacity: 1; transform: none; }
main.terms-has-js .terms-reveal:not(.is-settled) {
  opacity: .88;
  transform: translateY(12px);
  transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);
  transition-delay: calc(var(--reveal-order, 0) * 45ms);
}
main.terms-has-js .terms-reveal.is-settled { opacity: 1; transform: translateY(0); }

.terms-hero {
  min-height: 452px;
  padding: 88px 0 76px;
  overflow: hidden;
  background: radial-gradient(ellipse at 76% 20%, rgba(220, 204, 237, .62), transparent 36%), #f3eff7;
}
.terms-hero::after {
  position: absolute;
  right: max(7vw, calc((100vw - 1240px) / 2));
  bottom: 34px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(84, 66, 100, .2);
  border-radius: 50%;
  content: "";
}
.terms-kicker, .section-label, .terms-updated, .terms-detail-grid span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .15em;
  line-height: 1.4;
  text-transform: uppercase;
}
.terms-kicker { margin: 0 0 27px; color: var(--terms-plum); }
.terms-kicker span { padding-inline: 8px; color: #a39aa9; }
.terms-hero h1 {
  max-width: 790px;
  margin: 0;
  font-size: clamp(54px, 8vw, 104px);
  font-weight: 800;
  letter-spacing: -.065em;
  line-height: .91;
}
.terms-hero h1 em { color: #89769d; font-style: normal; }
.terms-intro { max-width: 530px; margin: 25px 0 18px; color: #5e5866; font-size: clamp(17px, 2vw, 20px); line-height: 1.55; }
.terms-updated { margin: 0; color: #797280; font-size: 10px; letter-spacing: .08em; }
.hero-index { position: absolute; right: max(10vw, calc((100vw - 1240px) / 2 + 22px)); bottom: 93px; z-index: 1; color: #786888; font-size: 13px; font-weight: 800; letter-spacing: .13em; writing-mode: vertical-rl; }

.terms-section { padding: clamp(60px, 8vw, 104px) 0; border-bottom: 1px solid var(--terms-line); }
.terms-section:nth-of-type(even) { background: #fff; }
.terms-section.terms-scope { background: #fff; }
.terms-section.terms-platforms { background: #fbf9fc; }
.terms-section.terms-rights { background: #fff; }
.terms-wrap { display: grid; grid-template-columns: 175px minmax(0, 1fr) 220px; gap: 38px; align-items: start; }
.section-label { display: flex; flex-direction: column; gap: 9px; color: #8a7b97; }
.section-label span:first-child { color: #473853; font-size: 14px; }
.section-copy { max-width: 690px; }
.section-copy h2, .contact-heading h2 {
  margin: -10px 0 23px;
  font-size: clamp(30px, 4vw, 47px);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.08;
}
.section-copy p, .contact-heading > p { margin: 0 0 18px; color: #5f5967; font-size: 16px; line-height: 1.8; }
.section-copy p:last-child { margin-bottom: 0; }
.margin-note { padding: 16px 0 0 21px; border-left: 1px solid #c9bdcf; }
.note-mark { display: block; color: #8b799d; font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.margin-note p { margin: 12px 0 0; color: #77707c; font-size: 13px; line-height: 1.6; }
.terms-editorial { background: #f8f5fa !important; }
.editorial-quote { grid-column: 2 / 4; display: flex; gap: 18px; align-items: flex-start; margin-top: 22px; padding: 23px 28px; border-left: 3px solid #9481a5; background: #eee8f3; }
.editorial-quote > span { color: #8c789d; font-size: 44px; font-weight: 700; line-height: 1; }
.editorial-quote p { max-width: 510px; margin: 4px 0 0; color: #42394a; font-size: 18px; font-weight: 600; line-height: 1.5; }
.platform-card { grid-column: 2 / 4; display: flex; align-items: center; gap: 20px; max-width: 690px; margin-top: 22px; padding: 22px 25px; border: 1px solid #ddd4e4; border-radius: 13px; background: #f6f2f8; }
.platform-card__symbol { display: grid; width: 45px; height: 45px; flex: 0 0 45px; place-items: center; border-radius: 50%; background: #594768; color: #fff; font-size: 23px; }
.platform-card strong { display: block; margin-bottom: 4px; font-size: 15px; }
.platform-card p { margin: 0; color: #6a6370; font-size: 14px; line-height: 1.55; }
.terms-responsibility { background: #f5f1f7 !important; }
.responsibility-stamp { display: grid; width: 164px; height: 164px; align-content: center; justify-items: center; border: 1px solid #c8bdcf; border-radius: 50%; color: #887696; transform: rotate(8deg); }
.responsibility-stamp span { font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.responsibility-stamp b { margin: 7px 0; color: #493a58; font-size: 25px; letter-spacing: .06em; line-height: 1.05; text-align: center; }
.terms-detail-grid { grid-column: 2 / 4; display: grid; grid-template-columns: repeat(3, 1fr); max-width: 800px; margin-top: 28px; border-top: 1px solid #d9d2df; border-bottom: 1px solid #d9d2df; }
.terms-detail-grid > div { padding: 19px 20px 19px 0; }
.terms-detail-grid > div + div { padding-left: 20px; border-left: 1px solid #d9d2df; }
.terms-detail-grid span { color: #887696; font-size: 9px; letter-spacing: .1em; }
.terms-detail-grid p { margin: 8px 0 0; color: #625c69; font-size: 13px; line-height: 1.55; }
.terms-contact { background: #eee8f3 !important; }
.terms-wrap:has(.contact-heading) { grid-template-columns: 1fr 1.3fr; gap: 70px; }
.contact-heading .section-label { margin-bottom: 37px; }
.contact-heading h2 { max-width: 420px; margin-bottom: 16px; font-size: clamp(35px, 5vw, 57px); }
.contact-heading > p { max-width: 390px; font-size: 15px; }
.terms-form { display: grid; gap: 18px; padding: 28px; border: 1px solid #d8cddd; border-radius: 16px; background: #fff; box-shadow: 0 14px 35px rgba(48, 36, 56, .06); }
.terms-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.terms-field { display: grid; gap: 7px; }
.terms-field label { color: #403847; font-size: 13px; font-weight: 700; }
.terms-field input, .terms-field textarea { width: 100%; min-width: 0; border: 1px solid #d7cfdd; border-radius: 8px; padding: 12px 13px; background: #fdfcfe; color: #201c27; font: inherit; font-size: 15px; }
.terms-field textarea { min-height: 120px; resize: vertical; }
.terms-field input:focus, .terms-field textarea:focus { outline: 3px solid #d7c7e4; outline-offset: 1px; border-color: #725b83; }
.terms-field [aria-invalid="true"] { border-color: #a43852; background: #fff9fa; }
.terms-error { min-height: 1.1em; color: #982f47; font-size: 12px; line-height: 1.35; }
.terms-form__end { display: flex; justify-content: space-between; align-items: center; gap: 16px; }
.terms-form__end p { max-width: 250px; margin: 0; color: #77707d; font-size: 12px; line-height: 1.5; }
.terms-submit { display: inline-flex; min-height: 49px; align-items: center; gap: 15px; padding: 0 19px; border: 0; border-radius: 8px; background-color: #493a58; color: #fff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.terms-submit:hover { background-color: #30263b; }
.terms-submit:focus-visible { outline: 3px solid #bba6cc; outline-offset: 3px; }
.terms-submit span { font-size: 18px; }
.terms-form__status { min-height: 1em; margin: -5px 0 0; color: #51445e; font-size: 13px; }

@media (max-width: 900px) {
  body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] { min-height: 88px; }
  body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .region-content { height: 88px; }
  body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .site-header { width: calc(100% - 40px); height: 88px; min-height: 88px; }
  .terms-wrap { width: min(100% - 48px, 700px); }
  .terms-hero { min-height: 400px; padding: 76px 0 62px; }
  .terms-hero::after { right: 8%; bottom: 28px; width: 140px; height: 140px; }
  .hero-index { right: 12%; bottom: 76px; }
  .terms-wrap:not(:has(.contact-heading)) { grid-template-columns: 105px minmax(0, 1fr); gap: 25px; }
  .margin-note, .responsibility-stamp { grid-column: 2; }
  .editorial-quote, .platform-card, .terms-detail-grid { grid-column: 2; }
  .terms-wrap:has(.contact-heading) { grid-template-columns: 1fr; gap: 24px; }
  .contact-heading .section-label { margin-bottom: 24px; }
}
@media (max-width: 560px) {
  body > header[data-homepage-region="01-header-and-canadian-gaming-hero"] .site-header { width: calc(100% - 32px); }
  .terms-wrap { width: calc(100% - 40px); }
  .terms-hero { min-height: 368px; padding: 65px 0 55px; }
  .terms-kicker { margin-bottom: 23px; }
  .terms-hero h1 { font-size: clamp(52px, 14vw, 76px); }
  .terms-intro { max-width: 390px; font-size: 16px; }
  .terms-hero::after { right: -38px; bottom: 24px; width: 128px; height: 128px; }
  .hero-index { right: 22px; bottom: 66px; font-size: 10px; }
  .terms-section { padding: 58px 0; }
  .terms-wrap:not(:has(.contact-heading)) { grid-template-columns: 1fr; gap: 21px; }
  .section-label { flex-direction: row; gap: 14px; align-items: center; }
  .section-label span:first-child { font-size: 12px; }
  .section-copy h2 { margin-top: 0; font-size: 34px; }
  .margin-note, .responsibility-stamp, .editorial-quote, .platform-card, .terms-detail-grid { grid-column: 1; }
  .editorial-quote { padding: 18px; }
  .editorial-quote p { font-size: 16px; }
  .platform-card { align-items: flex-start; padding: 18px; }
  .responsibility-stamp { width: 138px; height: 138px; }
  .terms-detail-grid { grid-template-columns: 1fr; }
  .terms-detail-grid > div, .terms-detail-grid > div + div { padding: 15px 0; border-left: 0; }
  .terms-detail-grid > div + div { border-top: 1px solid #d9d2df; }
  .terms-form { gap: 14px; padding: 20px 16px; }
  .terms-form__row { grid-template-columns: 1fr; gap: 12px; }
  .terms-form__end { align-items: flex-start; flex-direction: column; }
  .terms-submit { width: 100%; justify-content: center; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  main.terms-has-js .terms-reveal,
  main.terms-has-js .terms-reveal:not(.is-settled) { opacity: 1; transform: none; transition: none; }
}

/* Keep the inherited footer navigation readable at narrow widths. */
.legal-footer__navigation {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px 22px;
}
.legal-footer__navigation .legal-footer__nav-item {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: 10px;
}
.legal-footer__navigation .legal-footer__nav-item strong {
  min-width: 0;
  overflow-wrap: anywhere;
}
@media (max-width: 760px) {
  .legal-footer__navigation { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; }
}
@media (max-width: 380px) {
  .legal-footer__navigation { grid-template-columns: minmax(0, 1fr); }
}
