.terms-page {
  overflow-x: clip;
  background: var(--color-paper);
}

.terms-page * {
  min-width: 0;
}

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

.terms-kicker,
.terms-hero__eyebrow {
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-xs);
  font-weight: 700;
  line-height: var(--line-small);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

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

.terms-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(0, 4fr);
  align-items: center;
}

.terms-hero__panel {
  grid-column: 1;
  width: 100%;
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-sun);
  box-shadow: var(--shadow-orange);
}

.terms-hero__panel h1 {
  max-width: 20ch;
  margin-block-start: var(--space-3);
  font-size: clamp(2.7rem, 5.7vw, 5.5rem);
}

.terms-hero__lead {
  max-width: 62ch;
  margin-block-end: var(--space-5);
  font-size: var(--text-lead);
  line-height: 1.55;
}

.terms-hero__date {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  margin: 0;
  padding: var(--space-2) var(--space-4);
  border: var(--border-thin);
  border-radius: var(--radius-pill);
  background: var(--color-paper);
  font-family: var(--font-heading);
  font-weight: 700;
  line-height: 1.3;
}

.terms-hero__rays {
  position: relative;
  grid-column: 2;
  height: min(29vw, 21rem);
  overflow: hidden;
}

.terms-hero__rays span {
  position: absolute;
  inset: 50% auto auto 50%;
  width: 12rem;
  height: 2.4rem;
  transform-origin: left center;
  background: var(--color-sky);
  border: 3px solid var(--color-brown);
}

.terms-hero__rays span:nth-child(1) { transform: rotate(0deg); }
.terms-hero__rays span:nth-child(2) { transform: rotate(60deg); }
.terms-hero__rays span:nth-child(3) { transform: rotate(120deg); }
.terms-hero__rays span:nth-child(4) { transform: rotate(180deg); }
.terms-hero__rays span:nth-child(5) { transform: rotate(240deg); }
.terms-hero__rays span:nth-child(6) { transform: rotate(300deg); }

.terms-scope__copy {
  width: min(100%, 50rem);
  margin-inline: auto;
}

.terms-numbered-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  margin: var(--space-6) 0 0;
  padding: 0;
  list-style: none;
}

.terms-numbered-list__item {
  display: flex;
  gap: var(--space-4);
  width: 100%;
}

.terms-numbered-list__number {
  flex: 0 0 3rem;
  width: 3rem;
  height: 3rem;
  display: grid;
  place-items: center;
  border: var(--border-thin);
  border-radius: 50%;
  background: var(--color-sun);
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: 700;
  line-height: 1;
}

.terms-numbered-list__content {
  flex: 1 1 0;
  width: auto;
}

.terms-numbered-list__content h3,
.terms-enquiries h3,
.terms-venue h3,
.terms-usage h3,
.terms-information h3,
.terms-updates h3 {
  margin-block-end: var(--space-3);
  font-size: var(--text-h4);
}

.terms-inline-note {
  display: inline;
  padding-inline: 0.18em;
  background: var(--color-peach);
  font-weight: 700;
}

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

.terms-enquiries__heading {
  grid-column: 3 / span 8;
  width: 100%;
}

.terms-enquiries__panel,
.terms-enquiries__plain,
.terms-enquiries__notice {
  width: 100%;
  border: var(--border-thin);
  border-radius: var(--radius-md);
  padding: var(--space-5);
}

.terms-enquiries__panel--cream {
  grid-column: 1 / span 8;
  background: var(--color-paper);
}

.terms-enquiries__panel--sky {
  grid-column: 4 / span 8;
  background: var(--color-sky);
  box-shadow: var(--shadow-sky);
}

.terms-enquiries__plain {
  grid-column: 3 / span 8;
  background: var(--color-paper);
}

.terms-enquiries__notice {
  grid-column: 4 / span 6;
  background: var(--color-peach);
  box-shadow: var(--shadow-orange);
}

.terms-enquiries__notice p,
.terms-enquiries__panel p,
.terms-enquiries__plain p,
.terms-usage__item p,
.terms-information__item p,
.terms-updates__copy p,
.terms-updates__date-panel p {
  max-width: 68ch;
  margin-block-end: 0;
}

.terms-venue {
  background: linear-gradient(180deg, transparent 0 2rem, var(--color-sky) 2rem calc(100% - 2rem), transparent calc(100% - 2rem));
}

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

.terms-venue__heading {
  grid-column: 2 / span 10;
  width: 100%;
}

.terms-venue__fact {
  grid-column: 2 / span 10;
  width: 100%;
  padding: var(--space-5);
  border: var(--border-strong);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}

.terms-venue__fact .label {
  margin-block-end: var(--space-3);
}

.terms-venue__fact p {
  max-width: 48ch;
  margin: 0;
  font-family: var(--font-heading);
  font-size: var(--text-h4);
  font-weight: 700;
}

.terms-venue__types {
  grid-column: 2 / span 10;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  width: 100%;
}

.terms-venue__types span {
  width: 100%;
  padding: var(--space-4);
  border: var(--border-thin);
  border-radius: var(--radius-sm);
  background: var(--color-sun);
  font-family: var(--font-heading);
  font-size: var(--text-lead);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}

.terms-venue__explanation {
  grid-column: 3 / span 8;
  width: 100%;
}

.terms-venue__explanation p {
  max-width: 62ch;
  margin-block-end: 0;
}

.terms-venue__bottom {
  grid-column: 2 / span 10;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-5);
  width: 100%;
}

.terms-venue__age-panel,
.terms-venue__alcohol-panel {
  width: 100%;
  padding: var(--space-5);
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}

.terms-venue__age-panel {
  box-shadow: var(--shadow-orange);
}

.terms-venue__alcohol-panel {
  background: var(--color-sky);
}

.terms-venue__age-panel .badge {
  margin-block-end: var(--space-3);
}

.terms-venue__age-panel p,
.terms-venue__alcohol-panel p {
  max-width: 62ch;
  margin-block-end: 0;
}

.terms-usage__copy {
  width: min(100%, 50rem);
  margin-inline: auto;
}

.terms-usage__item {
  width: 100%;
  margin-block-start: var(--space-5);
  padding: var(--space-5);
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}

.terms-usage__item--peach {
  width: calc(100% - 3rem);
  margin-inline-start: 3rem;
  background: var(--color-peach);
}

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

.terms-information__heading,
.terms-information__item {
  grid-column: 3 / span 8;
  width: 100%;
}

.terms-information__item {
  padding: var(--space-5);
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-paper);
}

.terms-information__item--sky {
  background: var(--color-sky);
}

.terms-information__contact {
  grid-column: 3 / span 6;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  width: 100%;
  padding: var(--space-5);
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-paper);
  box-shadow: var(--shadow-orange);
}

.terms-information__contact p {
  max-width: 54ch;
  margin: 0;
}

.terms-information__contact a {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  max-width: 100%;
  min-height: 2.75rem;
  font-weight: 700;
}

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

.terms-updates__copy {
  grid-column: 4 / span 7;
  width: 100%;
}

.terms-updates__copy article {
  margin-block-start: var(--space-5);
}

.terms-updates__date-panel {
  grid-column: 4 / span 5;
  width: 100%;
  padding: var(--space-5);
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-sun);
}

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

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

.terms-closing__intro {
  grid-column: 4 / span 6;
  width: 100%;
  text-align: center;
}

.terms-closing__intro p:last-child {
  max-width: 54ch;
  margin-inline: auto;
  margin-block-end: 0;
}

.terms-closing__details {
  grid-column: 3 / span 8;
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
  margin: 0;
  border: var(--border-thin);
  border-radius: var(--radius-md);
  background: var(--color-paper);
  font-style: normal;
  overflow: hidden;
}

.terms-detail-row {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  width: 100%;
  min-height: 3.25rem;
  padding: var(--space-3) var(--space-4);
  border-bottom: 1px solid var(--color-brown);
}

.terms-detail-row:last-child {
  border-bottom: 0;
}

.terms-detail-row > span:first-child {
  flex: 0 0 1.5rem;
  width: 1.5rem;
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
}

.terms-detail-row > a,
.terms-detail-row > span:last-child {
  flex: 1 1 0;
  width: auto;
}

.terms-detail-row > a {
  display: inline-flex;
  align-items: center;
  min-height: 2.75rem;
  font-weight: 700;
}

@media (max-width: 56.25rem) {
  .terms-hero__grid {
    grid-template-columns: minmax(0, 10fr) minmax(0, 2fr);
  }

  .terms-enquiries__heading,
  .terms-enquiries__plain,
  .terms-information__heading,
  .terms-information__item {
    grid-column: 2 / span 10;
  }

  .terms-enquiries__panel--cream,
  .terms-enquiries__panel--sky {
    grid-column: 2 / span 10;
  }

  .terms-enquiries__notice {
    grid-column: 3 / span 8;
  }

  .terms-usage__copy {
    width: min(100%, 62.5rem);
  }

  .terms-usage__item--peach {
    width: 100%;
    margin-inline-start: 0;
  }

  .terms-information__contact {
    grid-column: 2 / span 8;
  }

  .terms-updates__copy {
    grid-column: 3 / span 9;
  }

  .terms-updates__date-panel {
    grid-column: 3 / span 7;
  }

  .terms-closing__intro,
  .terms-closing__details {
    grid-column: 2 / span 10;
  }
}

@media (max-width: 51.25rem) {
  .terms-venue__types {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-venue__bottom {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 48rem) {
  .terms-section {
    padding-block: var(--space-7);
  }

  .terms-hero {
    padding-block: var(--space-6) var(--space-7);
  }

  .terms-hero__grid {
    display: block;
  }

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

  .terms-hero__panel h1 {
    font-size: clamp(2.35rem, 11vw, 3.35rem);
  }

  .terms-hero__lead {
    font-size: var(--text-sm);
  }

  .terms-hero__rays {
    display: none;
  }

  .terms-scope__copy,
  .terms-usage__copy {
    width: 100%;
  }

  .terms-numbered-list {
    gap: var(--space-5);
  }

  .terms-numbered-list__item {
    flex-direction: column;
    gap: var(--space-3);
  }

  .terms-numbered-list__number {
    flex-basis: auto;
    width: 2.5rem;
    height: 2.5rem;
  }

  .terms-enquiries__layout,
  .terms-venue__layout,
  .terms-information__layout,
  .terms-updates__layout,
  .terms-closing__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .terms-enquiries__heading,
  .terms-enquiries__panel--cream,
  .terms-enquiries__panel--sky,
  .terms-enquiries__plain,
  .terms-enquiries__notice,
  .terms-venue__heading,
  .terms-venue__fact,
  .terms-venue__types,
  .terms-venue__explanation,
  .terms-venue__bottom,
  .terms-information__heading,
  .terms-information__item,
  .terms-information__contact,
  .terms-updates__copy,
  .terms-updates__date-panel,
  .terms-closing__intro,
  .terms-closing__details {
    grid-column: 1;
  }

  .terms-enquiries__panel,
  .terms-enquiries__plain,
  .terms-enquiries__notice,
  .terms-information__item,
  .terms-information__contact,
  .terms-updates__date-panel,
  .terms-venue__fact,
  .terms-venue__age-panel,
  .terms-venue__alcohol-panel,
  .terms-usage__item {
    padding: var(--space-5);
  }

  .terms-enquiries__notice {
    box-shadow: none;
  }

  .terms-venue {
    background: var(--color-sky);
  }

  .terms-venue__types {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-venue__bottom {
    grid-template-columns: minmax(0, 1fr);
  }

  .terms-venue__types span {
    text-align: left;
  }

  .terms-closing__intro {
    text-align: left;
  }

  .terms-closing__intro p:last-child {
    margin-inline: 0;
  }

  .terms-information__contact a {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .terms-page *,
  .terms-page *::before,
  .terms-page *::after {
    transition-duration: 0.01ms;
    animation-duration: 0.01ms;
  }
}
