.terms-page {
  background: var(--color-warm-porcelain);
  color: var(--color-forest-ink);
}

.terms-page .eyebrow {
  color: var(--color-aged-copper);
}

.terms-page__intro {
  position: relative;
  overflow: hidden;
  padding-block: clamp(7rem, 12vw, 10rem) var(--space-9);
  background: var(--color-forest-deep);
  color: var(--color-warm-porcelain);
}

.terms-page__intro-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: end;
}

.terms-page__intro-copy {
  grid-column: 2 / span 6;
  min-width: 0;
}

.terms-page__intro-copy h1 {
  max-width: 42.5rem;
  margin-block-end: var(--space-5);
  font-size: clamp(3rem, 6vw, 4.5rem);
}

.terms-page__intro-lead {
  width: min(100%, 38.75rem);
}

.terms-page__intro-lead p {
  font-size: 1.125rem;
  line-height: 1.556;
}

.terms-page__intro-rule {
  display: block;
  width: 7rem;
  height: 1px;
  margin-block-start: var(--space-6);
  background: var(--color-aged-copper);
}

.terms-page__botanical-motif {
  position: relative;
  grid-column: 8 / span 5;
  min-height: 15rem;
  overflow: hidden;
  opacity: 0.54;
}

.terms-page__botanical-motif::before,
.terms-page__botanical-motif::after {
  position: absolute;
  border: 1px solid rgba(232, 222, 208, 0.13);
  border-radius: 50% 50% 50% 0;
  content: "";
  transform: rotate(-35deg);
}

.terms-page__botanical-motif::before {
  width: 15rem;
  height: 22rem;
  right: 10%;
  bottom: -8rem;
}

.terms-page__botanical-motif::after {
  width: 9rem;
  height: 14rem;
  right: 45%;
  bottom: -3rem;
  border-color: rgba(180, 119, 82, 0.22);
}

.terms-page__document {
  padding-block: var(--space-10);
  background: var(--color-warm-porcelain);
  color: var(--color-forest-ink);
}

.terms-page__document h2,
.terms-page__document h3 {
  color: var(--color-forest-ink);
}

.terms-page__how-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  row-gap: var(--space-8);
}

.terms-page__section-intro {
  grid-column: 1 / span 5;
  min-width: 0;
  width: min(100%, 37.5rem);
}

.terms-page__section-intro .lead {
  max-width: 37.5rem;
}

.terms-page__numbered-list {
  grid-column: 2 / span 8;
  display: grid;
  min-width: 0;
  gap: var(--space-6);
  margin: 0;
  padding: 0;
  list-style: none;
}

.terms-page__numbered-item {
  display: grid;
  grid-template-columns: minmax(3rem, 1fr) minmax(0, 7fr);
  gap: var(--space-5);
  min-width: 0;
  padding-block-start: var(--space-5);
  border-top: 1px solid rgba(16, 27, 24, 0.16);
}

.terms-page__numbered-item > * {
  min-width: 0;
}

.terms-page__item-number,
.terms-page__step-number {
  color: var(--color-aged-copper);
  font-size: var(--text-meta);
  font-weight: 600;
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
}

.terms-page__numbered-item h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-h5);
}

.terms-page__numbered-item p {
  width: min(100%, 36.25rem);
  margin-block-end: 0;
}

.terms-page__reservation-column {
  display: flex;
  grid-column: 3 / span 7;
  width: min(100%, 41.25rem);
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.terms-page__reservation-column h2,
.terms-page__responsibility-column h2 {
  margin-block-end: 0;
}

.terms-page__reservation-column > .lead {
  width: min(100%, 40rem);
  margin-block-end: 0;
}

.terms-page__condition-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.terms-page__condition {
  position: relative;
  min-width: 0;
  padding-block-start: var(--space-5);
  padding-inline-start: var(--space-5);
  border-top: 1px solid rgba(16, 27, 24, 0.16);
}

.terms-page__condition h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-h5);
}

.terms-page__condition p {
  width: min(100%, 41.25rem);
  margin-block-end: 0;
}

.terms-page__margin-mark {
  position: absolute;
  top: calc(var(--space-5) + 0.58rem);
  left: 0;
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: var(--color-aged-copper);
}

.terms-page__document--visit {
  padding-block-start: 0;
}

.terms-page__visit-heading {
  width: min(100%, 35rem);
  margin-block-end: var(--space-7);
}

.terms-page__visit-grid {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
  gap: 8.333%;
  min-width: 0;
}

.terms-page__visit-unit {
  min-width: 0;
  padding-block: var(--space-6);
  border-top: 1px solid rgba(16, 27, 24, 0.16);
  border-bottom: 1px solid rgba(16, 27, 24, 0.16);
}

.terms-page__visit-unit h3 {
  width: min(100%, 28rem);
  margin-block-end: var(--space-4);
  font-size: var(--text-h4);
}

.terms-page__visit-unit p {
  width: min(100%, 28.125rem);
  margin-block-end: 0;
}

.terms-page__visit-note {
  display: flex;
  width: min(100%, 43.75rem);
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-3);
  margin-block-start: var(--space-7);
  padding: var(--space-5);
  background: var(--color-moss);
  color: var(--color-warm-porcelain);
}

.terms-page__visit-note h3 {
  margin: 0;
  color: var(--color-warm-porcelain);
  font-size: var(--text-h5);
}

.terms-page__visit-note p {
  width: min(100%, 40rem);
  margin: 0;
}

.terms-page__casino {
  position: relative;
  overflow: hidden;
  padding-block: var(--space-10);
  background: var(--color-forest-ink);
  color: var(--color-warm-porcelain);
}

.terms-page__casino-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-page__casino-copy {
  display: flex;
  grid-column: 2 / span 7;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.terms-page__casino-copy h2 {
  width: min(100%, 40.625rem);
  margin: 0;
}

.terms-page__casino-lead {
  width: min(100%, 40.625rem);
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.556;
}

.terms-page__casino-definitions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.terms-page__casino-definition {
  width: min(100%, 33.75rem);
  min-width: 0;
  padding: var(--space-4) 0 var(--space-4) var(--space-5);
  border-inline-start: 1px solid var(--color-aged-copper);
}

.terms-page__casino-definition + .terms-page__casino-definition {
  border-top: 1px solid var(--color-line-subtle);
}

.terms-page__casino-definition h3 {
  margin-block-end: var(--space-3);
  font-family: var(--font-body);
  font-size: var(--text-meta);
  letter-spacing: 0.12em;
  line-height: var(--leading-meta);
  text-transform: uppercase;
}

.terms-page__casino-definition p {
  margin-block-end: 0;
}

.terms-page__casino-lines {
  position: relative;
  grid-column: 10 / span 3;
  min-height: 23rem;
  overflow: hidden;
}

.terms-page__casino-lines::before,
.terms-page__casino-lines::after {
  position: absolute;
  border: 1px solid rgba(180, 119, 82, 0.26);
  content: "";
}

.terms-page__casino-lines::before {
  inset: 12% 4% 12% 30%;
  border-radius: 50% 50% 0 0;
}

.terms-page__casino-lines::after {
  inset: 27% -15% 27% 0;
  border-color: var(--color-line-subtle);
  border-radius: 50%;
}

.terms-page__private {
  padding-block: var(--space-9);
  background: var(--color-warm-porcelain);
  color: var(--color-warm-porcelain);
}

.terms-page__private-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-7);
  padding: var(--space-8);
  background: var(--color-aubergine);
}

.terms-page__private-heading {
  width: min(100%, 35rem);
}

.terms-page__private-heading h2 {
  margin-block-end: 0;
}

.terms-page__private-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
  min-width: 0;
}

.terms-page__private-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-block-start: var(--space-5);
  border-top: 1px solid var(--color-line-subtle);
}

.terms-page__private-step h3 {
  margin: 0;
  font-size: var(--text-h5);
}

.terms-page__private-step p {
  width: 100%;
  margin: 0;
}

.terms-page__private-step .link-accent {
  margin-block-start: auto;
}

.terms-page__responsibility-column {
  display: flex;
  grid-column: 3 / span 7;
  width: min(100%, 40.625rem);
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-5);
}

.terms-page__responsibility-item {
  min-width: 0;
  padding-block-start: var(--space-5);
  border-top: 1px solid rgba(16, 27, 24, 0.16);
}

.terms-page__responsibility-item h3 {
  width: min(100%, 32.5rem);
  margin-block-end: var(--space-3);
  font-size: var(--text-h5);
}

.terms-page__responsibility-item p {
  width: min(100%, 40.625rem);
  margin-block-end: 0;
}

.terms-page__questions {
  padding-block: clamp(5rem, 8vw, 6rem);
  background: var(--color-forest-ink);
  color: var(--color-warm-porcelain);
}

.terms-page__questions-block {
  display: flex;
  width: min(100%, 37.5rem);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-inline: auto;
}

.terms-page__questions-block h2,
.terms-page__questions-block p {
  margin: 0;
}

.terms-page__questions-block p {
  width: 100%;
}

.terms-page__email {
  max-width: 100%;
  color: var(--color-warm-porcelain);
  font-family: var(--font-heading);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.05;
  overflow-wrap: anywhere;
}

.terms-page a:not(.button) {
  text-decoration-color: rgba(180, 119, 82, 0.82);
}

@media (max-width: 980px) {
  .terms-page__intro-copy {
    grid-column: 1 / span 8;
  }

  .terms-page__botanical-motif {
    grid-column: 10 / span 3;
  }

  .terms-page__visit-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .terms-page__visit-unit p,
  .terms-page__visit-unit h3 {
    width: min(100%, 35rem);
  }

  .terms-page__private-steps {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .terms-page__private-step {
    display: grid;
    grid-template-columns: minmax(3rem, 1fr) minmax(0, 8fr);
    column-gap: var(--space-5);
    row-gap: var(--space-3);
  }

  .terms-page__private-step > * {
    min-width: 0;
  }

  .terms-page__private-step .terms-page__step-number {
    grid-column: 1;
    grid-row: 1 / span 3;
  }

  .terms-page__private-step h3,
  .terms-page__private-step p,
  .terms-page__private-step .link-accent {
    grid-column: 2;
  }

  .terms-page__private-step .link-accent {
    margin-block-start: var(--space-2);
  }
}

@media (max-width: 900px) {
  .terms-page__how-grid {
    row-gap: var(--space-7);
  }

  .terms-page__section-intro {
    grid-column: 1 / span 7;
  }

  .terms-page__numbered-list {
    grid-column: 1 / span 9;
  }

  .terms-page__reservation-column,
  .terms-page__responsibility-column {
    grid-column: 1 / span 9;
  }

  .terms-page__casino-copy {
    grid-column: 1 / span 9;
  }

  .terms-page__casino-lines {
    display: none;
  }
}

@media (max-width: 767px) {
  .terms-page__intro {
    min-height: 17rem;
    padding-block: 6rem var(--space-8);
  }

  .terms-page__intro-grid {
    display: block;
  }

  .terms-page__intro-copy {
    width: 100%;
  }

  .terms-page__intro-copy h1 {
    font-size: clamp(2.625rem, 12vw, 3.5rem);
  }

  .terms-page__intro-lead {
    width: 100%;
  }

  .terms-page__intro-lead p {
    font-size: 1.0625rem;
    line-height: 1.588;
  }

  .terms-page__botanical-motif {
    position: absolute;
    right: -4rem;
    bottom: -8rem;
    width: 13rem;
    min-height: 13rem;
    opacity: 0.3;
  }

  .terms-page__document,
  .terms-page__casino {
    padding-block: var(--space-9);
  }

  .terms-page__how-grid {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-7);
  }

  .terms-page__section-intro,
  .terms-page__numbered-list,
  .terms-page__reservation-column,
  .terms-page__responsibility-column {
    width: 100%;
  }

  .terms-page__numbered-item {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .terms-page__numbered-item p {
    width: 100%;
  }

  .terms-page__reservation-column,
  .terms-page__responsibility-column {
    gap: var(--space-4);
  }

  .terms-page__condition {
    padding-inline-start: 0;
  }

  .terms-page__margin-mark {
    position: static;
    display: block;
    width: 0.4rem;
    height: 0.4rem;
    margin-block-end: var(--space-3);
  }

  .terms-page__visit-heading {
    width: 100%;
    margin-block-end: var(--space-6);
  }

  .terms-page__visit-note {
    width: 100%;
    margin-block-start: var(--space-6);
  }

  .terms-page__casino-grid {
    display: block;
  }

  .terms-page__casino-copy {
    width: 100%;
  }

  .terms-page__casino-lead,
  .terms-page__casino-definition {
    width: 100%;
  }

  .terms-page__private {
    padding-block: var(--space-8);
  }

  .terms-page__private-panel {
    gap: var(--space-6);
    padding: var(--space-5);
  }

  .terms-page__private-heading {
    width: 100%;
  }

  .terms-page__private-step {
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
  }

  .terms-page__private-step .link-accent {
    margin-block-start: var(--space-2);
  }

  .terms-page__questions-block {
    width: 100%;
  }
}

@media (max-width: 479px) {
  .terms-page__intro {
    padding-block-start: 5.5rem;
  }

  .terms-page__intro-copy h1 {
    font-size: clamp(2.625rem, 12vw, 3.25rem);
  }

  .terms-page__numbered-item h3,
  .terms-page__condition h3,
  .terms-page__responsibility-item h3,
  .terms-page__visit-note h3,
  .terms-page__private-step h3 {
    font-size: 1.375rem;
  }

  .terms-page__visit-unit h3 {
    font-size: 1.75rem;
  }

  .terms-page__private-panel {
    padding: var(--space-5);
  }

  .terms-page__questions {
    padding-block: 3.5rem;
  }
}
