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

.terms-page a:not(.button) {
  color: var(--color-white);
  text-decoration: underline;
  text-decoration-color: var(--color-gold);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: color var(--transition-fast), text-decoration-color var(--transition-fast);
}

.terms-page a:not(.button):hover {
  color: var(--color-gold-bright);
  text-decoration-color: var(--color-gold-bright);
}

.terms-intro {
  padding-block-start: clamp(var(--space-8), 10vw, var(--space-10));
  padding-block-end: var(--space-8);
}

.terms-intro__content {
  display: flex;
  width: min(100%, 52.7rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
}

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

.terms-intro__content .eyebrow,
.terms-intro__content h1,
.terms-intro__content p {
  margin: 0;
}

.terms-intro__content .eyebrow {
  padding-inline-start: var(--space-4);
  border-inline-start: 1px solid var(--color-gold);
}

.terms-intro h1 {
  max-width: 15ch;
  font-size: clamp(2.125rem, 5.6vw, 3.5rem);
  line-height: 0.98;
}

.terms-intro__lead {
  max-width: 64ch;
}

.terms-intro__status {
  max-width: 64ch;
  padding-block-start: var(--space-2);
}

.terms-reading-panel {
  display: flex;
  width: min(100%, 58ch);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  border-top-color: var(--color-gold);
  background: var(--color-charcoal);
}

.terms-reading-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-reading-panel h2 {
  font-size: var(--text-xl);
}

.terms-legal-column {
  display: flex;
  width: min(100%, 47.5rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-7);
}

.terms-legal-column > * {
  min-width: 0;
}

.terms-section {
  padding-block: clamp(var(--space-8), 8vw, var(--space-9));
}

.terms-section.section--compact {
  padding-block: var(--space-7);
}

.terms-unit {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.terms-unit > * {
  min-width: 0;
  margin: 0;
}

.terms-unit h3,
.terms-change-panel h3,
.terms-reservation-panel h3,
.terms-tournament-panel h3,
.terms-conduct-panel h3,
.terms-safety-panel h3,
.terms-property-copy h3,
.terms-third-party-panel h3,
.terms-reliance-panel h3 {
  font-size: var(--text-xl);
}

.terms-unit--informational {
  gap: var(--space-4);
}

.terms-unit--informational .eyebrow {
  margin-block-end: var(--space-1);
}

.terms-unit--informational h2,
.terms-reservations > h2,
.terms-card-room > h2,
.terms-conduct-heading h2,
.terms-property > h2,
.terms-privacy > h2,
.terms-enquiries h2 {
  margin: 0;
  font-size: clamp(1.75rem, 3.5vw, 2.25rem);
}

.terms-change-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  background: var(--color-slate);
}

.terms-change-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-change-panel__lead,
.terms-reliance-panel__lead {
  color: var(--color-white);
  font-weight: 700;
}

.terms-rule-list,
.terms-conduct-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
}

.terms-rule-list li {
  width: 100%;
  min-width: 0;
  padding-block: var(--space-4);
  border-top: 1px solid var(--color-slate);
  color: var(--color-mist);
}

.terms-rule-list li:last-child {
  border-bottom: 1px solid var(--color-slate);
}

.terms-reservations > .eyebrow,
.terms-card-room > .eyebrow,
.terms-conduct-heading > .eyebrow,
.terms-property > .eyebrow,
.terms-privacy > .eyebrow,
.terms-enquiries > .eyebrow {
  margin: 0 0 calc(var(--space-4) * -1);
}

.terms-section__lead {
  max-width: 64ch;
  margin: calc(var(--space-4) * -1) 0 0;
}

.terms-unit--request,
.terms-unit--conditions,
.terms-unit--card-room,
.terms-unit--conduct,
.terms-unit--materials,
.terms-unit--privacy,
.terms-unit--updates {
  max-width: 64ch;
}

.terms-reservation-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 4vw, var(--space-6));
  border: var(--border-default);
  border-color: var(--color-gold);
  background: var(--color-charcoal);
  box-shadow: var(--shadow-panel);
}

.terms-reservation-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-reservation-panel p {
  max-width: 60ch;
}

.terms-muted-note {
  color: var(--color-ash);
  font-size: var(--text-sm);
}

.terms-card-room {
  gap: var(--space-6);
}

.terms-unit--card-room .badge {
  align-self: flex-start;
  margin-block-end: var(--space-1);
}

.terms-tournament-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: clamp(var(--space-5), 4vw, var(--space-6));
  border: var(--border-default);
  border-inline-start: 6px solid var(--color-crimson);
  background: var(--color-charcoal);
}

.terms-tournament-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-tournament-panel p:not(.eyebrow) {
  max-width: 62ch;
}

.terms-tournament-panel .eyebrow {
  color: var(--color-white);
}

.terms-conduct-list li {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: minmax(9rem, 0.42fr) minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-4);
  border-top: 1px solid var(--color-slate);
}

.terms-conduct-list li:last-child {
  border-bottom: 1px solid var(--color-slate);
}

.terms-conduct-list strong,
.terms-conduct-list span {
  min-width: 0;
}

.terms-conduct-list span {
  color: var(--color-mist);
}

.terms-conduct-region {
  display: flex;
  width: min(100%, 56.25rem);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-6);
}

.terms-conduct-region > * {
  min-width: 0;
}

.terms-conduct-heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.terms-conduct-heading > * {
  min-width: 0;
  margin: 0;
}

.terms-panel-grid {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
}

.terms-panel-grid > * {
  width: 100%;
  min-width: 0;
}

.terms-conduct-panel,
.terms-safety-panel {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
}

.terms-conduct-panel > *,
.terms-safety-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-conduct-panel {
  border-top-color: var(--color-gold);
  background: var(--color-charcoal);
}

.terms-safety-panel {
  background: var(--color-slate);
}

.terms-panel-rules {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.terms-panel-rules > * {
  min-width: 0;
  margin: 0;
}

.terms-property-copy {
  display: flex;
  width: min(100%, 64ch);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
}

.terms-property-copy > * {
  min-width: 0;
  margin: 0;
}

.terms-property {
  gap: var(--space-6);
}

.terms-unit--materials .label {
  margin-block-end: var(--space-1);
}

.terms-third-party-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  background: var(--color-charcoal);
}

.terms-third-party-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-third-party-panel p {
  max-width: 58ch;
}

.terms-permission-line {
  width: min(100%, 60ch);
  margin: 0;
}

.terms-privacy {
  gap: var(--space-6);
}

.terms-reliance-panel {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-default);
  background: var(--color-charcoal);
}

.terms-reliance-panel > * {
  min-width: 0;
  margin: 0;
}

.terms-reliance-panel p:not(.terms-reliance-panel__lead) {
  max-width: 70ch;
}

.terms-contact-actions {
  display: flex;
  width: min(100%, 55ch);
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3) var(--space-5);
}

.terms-contact-actions > * {
  min-width: 0;
}

.terms-enquiries {
  padding-block-start: var(--space-7);
  padding-block-end: clamp(var(--space-8), 8vw, var(--space-9));
}

.terms-enquiries .terms-legal-column {
  gap: var(--space-5);
}

.terms-enquiries h2,
.terms-enquiries .eyebrow {
  margin: 0;
}

.terms-enquiries__intro {
  width: min(100%, 62ch);
  margin: 0;
}

.terms-contact-strip {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: var(--space-6);
  border: var(--border-default);
  border-top-color: var(--color-gold);
  background: var(--color-charcoal);
}

.terms-contact-strip__row {
  display: grid;
  width: 100%;
  min-width: 0;
  grid-template-columns: 9.375rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-slate);
}

.terms-contact-strip__row:first-child {
  padding-block-start: 0;
  border-top: 0;
}

.terms-contact-strip__row:last-child {
  padding-block-end: 0;
}

.terms-contact-strip__row > * {
  min-width: 0;
}

.terms-contact-strip__label {
  color: var(--color-gold);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: 0.14em;
  line-height: 1.5;
  text-transform: uppercase;
}

@media (max-width: 900px) {
  .terms-intro__content {
    width: 100%;
  }

  .terms-reading-panel {
    width: 100%;
  }
}

@media (max-width: 760px) {
  .terms-intro {
    padding-block-start: var(--space-8);
    padding-block-end: var(--space-7);
  }

  .terms-intro__content,
  .terms-legal-column,
  .terms-conduct-region {
    width: 100%;
  }

  .terms-intro__content,
  .terms-legal-column {
    gap: var(--space-6);
  }

  .terms-section {
    padding-block: clamp(var(--space-7), 12vw, var(--space-8));
  }

  .terms-section.section--compact {
    padding-block: var(--space-6);
  }

  .terms-reading-panel,
  .terms-change-panel,
  .terms-reservation-panel,
  .terms-tournament-panel,
  .terms-conduct-panel,
  .terms-safety-panel,
  .terms-third-party-panel,
  .terms-reliance-panel,
  .terms-contact-strip {
    padding: var(--space-5);
  }

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

  .terms-conduct-list li {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-2);
  }

  .terms-tournament-panel {
    border-top: 4px solid var(--color-crimson);
    border-inline-start: var(--border-default);
  }
}

@media (max-width: 560px) {
  .terms-intro h1 {
    font-size: 2.125rem;
  }

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

  .terms-contact-strip__row a {
    display: inline-flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
  }
}

@media (max-width: 420px) {
  .terms-contact-actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-2);
  }

  .terms-contact-actions a {
    display: inline-flex;
    width: 100%;
    min-height: 2.75rem;
    align-items: center;
  }
}

.terms-page ul {
  list-style: none !important;
}
