[data-terms-page] {
  background: var(--color-linen-ivory);
}

[data-terms-page] .terms-intro {
  padding-block: var(--space-9) var(--space-8);
}

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

[data-terms-page] .terms-intro__content {
  grid-column: 1 / span 8;
  min-width: 0;
  max-width: 45rem;
}

[data-terms-page] .terms-intro__content > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-intro h1 {
  max-width: 38rem;
}

[data-terms-page] .terms-intro__lead {
  max-width: 43rem;
}

[data-terms-page] .terms-intro__utility {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-4);
  margin-top: var(--space-6);
}

[data-terms-page] .terms-version {
  display: flex;
  min-width: 0;
  flex: 1 1 17rem;
  align-items: center;
  gap: var(--space-3);
  color: var(--color-text-muted);
  font-size: 0.8125rem;
  line-height: 1.45;
}

[data-terms-page] .terms-version::before {
  width: 2rem;
  height: 1px;
  flex: 0 0 auto;
  background: var(--color-polished-champagne);
  content: "";
}

[data-terms-page] .terms-print {
  min-width: 0;
  flex: 0 0 auto;
}

[data-terms-page] .terms-toc {
  padding-block: var(--space-7);
  background: var(--color-parisian-beige);
}

[data-terms-page] .terms-toc__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-6);
  align-items: start;
}

[data-terms-page] .terms-toc__context {
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 31.25rem;
}

[data-terms-page] .terms-toc__context h2 {
  margin-bottom: var(--space-3);
  font-size: var(--font-size-card-heading);
}

[data-terms-page] .terms-toc__context > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-toc__nav {
  grid-column: 5 / span 3;
  min-width: 0;
  max-width: 19.375rem;
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-polished-champagne);
}

[data-terms-page] .terms-toc__list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-1);
  margin: 0;
  padding: 0;
}

[data-terms-page] .terms-toc__list li {
  min-width: 0;
}

[data-terms-page] .terms-toc__link {
  display: grid;
  min-width: 0;
  min-height: 2.75rem;
  grid-template-columns: 2rem minmax(0, 1fr);
  align-items: center;
  gap: var(--space-2);
  color: var(--color-espresso-charcoal);
  font-size: 0.8125rem;
  font-weight: 650;
  line-height: 1.35;
  text-decoration: none;
}

[data-terms-page] .terms-toc__number {
  color: var(--color-polished-champagne);
  font-size: 0.6875rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.1em;
}

[data-terms-page] .terms-toc__link:hover,
[data-terms-page] .terms-toc__link.is-current {
  color: var(--color-espresso-charcoal);
  text-decoration: underline;
  text-decoration-color: var(--color-polished-champagne);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.28em;
}

[data-terms-page] .terms-document {
  padding-block: var(--space-9);
}

[data-terms-page] .terms-article {
  scroll-margin-top: var(--space-7);
}

[data-terms-page] .terms-article + .terms-article {
  margin-top: var(--space-9);
}

[data-terms-page] .terms-article__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

[data-terms-page] .terms-article__marker {
  grid-column: 1 / span 2;
  min-width: 0;
  padding-top: var(--space-2);
  color: var(--color-polished-champagne);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
  text-transform: uppercase;
}

[data-terms-page] .terms-article__body {
  grid-column: 3 / span 7;
  min-width: 0;
  max-width: 45rem;
}

[data-terms-page] .terms-article__body > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-article__body h2 {
  margin-bottom: var(--space-5);
}

[data-terms-page] .terms-article__body h3 {
  margin-top: var(--space-6);
  margin-bottom: var(--space-3);
  font-size: var(--font-size-card-heading);
}

[data-terms-page] .terms-definition-list {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  margin: 0 0 var(--space-5);
}

[data-terms-page] .terms-definition-list > div {
  min-width: 0;
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

[data-terms-page] .terms-definition-list dt {
  margin-bottom: var(--space-2);
  color: var(--color-espresso-charcoal);
  font-size: 0.8125rem;
  font-weight: 700;
}

[data-terms-page] .terms-definition-list dd {
  margin: 0;
  color: var(--color-text-muted);
}

[data-terms-page] .terms-plain-list,
[data-terms-page] .terms-rule-list,
[data-terms-page] .terms-commitments {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0 0 var(--space-5);
  padding: 0;
}

[data-terms-page] .terms-plain-list li,
[data-terms-page] .terms-rule-list li,
[data-terms-page] .terms-commitments li {
  min-width: 0;
}

[data-terms-page] .terms-plain-list li {
  position: relative;
  padding-left: var(--space-4);
  color: var(--color-text-muted);
}

[data-terms-page] .terms-plain-list li::before {
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 999px;
  background: var(--color-polished-champagne);
  content: "";
}

[data-terms-page] .terms-rule-list li {
  padding-block: var(--space-3);
  border-top: 1px solid var(--color-border);
  color: var(--color-text-muted);
}

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

[data-terms-page] .terms-rule-list strong,
[data-terms-page] .terms-commitments strong {
  display: block;
  margin-bottom: var(--space-1);
}

[data-terms-page] .terms-callout {
  min-width: 0;
  padding: var(--space-5);
  border-left: 1px solid var(--color-polished-champagne);
  background: var(--color-champagne-block);
}

[data-terms-page] .terms-callout > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-callout__label {
  margin-bottom: var(--space-2);
  color: var(--color-espresso-charcoal);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

[data-terms-page] .terms-booking__content {
  grid-column: 3 / span 7;
  min-width: 0;
  max-width: 45rem;
}

[data-terms-page] .terms-booking__content > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-booking__content h2,
[data-terms-page] .terms-service__content h2,
[data-terms-page] .terms-conduct__content h2,
[data-terms-page] .terms-final__content h2 {
  margin-bottom: var(--space-5);
}

[data-terms-page] .terms-booking__aside {
  grid-column: 10 / span 3;
  min-width: 0;
  align-self: end;
  max-width: 26.25rem;
}

[data-terms-page] .terms-service__content {
  grid-column: 3 / span 7;
  min-width: 0;
  max-width: 45rem;
}

[data-terms-page] .terms-service__note {
  grid-column: 10 / span 3;
  min-width: 0;
  max-width: 16.25rem;
  padding-top: var(--space-7);
}

[data-terms-page] .terms-margin-note {
  padding-left: var(--space-4);
  border-left: 1px solid var(--color-polished-champagne);
}

[data-terms-page] .terms-margin-note p {
  font-size: 0.875rem;
}

[data-terms-page] .terms-salon {
  padding-block: var(--space-9);
  background: var(--color-parisian-beige);
}

[data-terms-page] .terms-salon__content {
  grid-column: 3 / span 7;
  min-width: 0;
  max-width: 45rem;
}

[data-terms-page] .terms-salon__content > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-salon__principles {
  grid-column: 10 / span 3;
  min-width: 0;
  max-width: 18.75rem;
  padding: var(--space-5);
  border: 1px solid var(--color-border-champagne);
  background: var(--color-chalk-white);
}

[data-terms-page] .terms-salon__principles h3 {
  margin-bottom: var(--space-3);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

[data-terms-page] .terms-salon__principles ul {
  margin-bottom: 0;
}

[data-terms-page] .terms-salon-status {
  display: block;
  width: 100%;
  margin-top: var(--space-5);
}

[data-terms-page] .terms-conduct__content {
  grid-column: 3 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

[data-terms-page] .terms-conduct__panel {
  grid-column: 9 / span 4;
  min-width: 20rem;
  padding: var(--space-5);
  border: 1px solid var(--color-border-champagne);
  background: var(--color-chalk-white);
}

[data-terms-page] .terms-conduct__panel h3 {
  margin-bottom: var(--space-4);
  font-size: var(--font-size-card-heading);
}

[data-terms-page] .terms-commitments li {
  min-height: 2.75rem;
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--color-border);
  color: var(--color-text-muted);
  font-size: 0.9375rem;
}

[data-terms-page] .terms-liability__note {
  width: min(100%, 32.5rem);
  margin-top: var(--space-5);
  padding: var(--space-5);
  background: var(--color-parisian-beige);
}

[data-terms-page] .terms-liability__note > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-final {
  padding-block: 0 var(--space-9);
}

[data-terms-page] .terms-final__shell {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  padding: var(--space-6);
  border-radius: var(--radius-card);
  background: var(--color-champagne-block);
}

[data-terms-page] .terms-final__content {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 43.75rem;
}

[data-terms-page] .terms-final__content > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-final__panel {
  grid-column: 9 / span 4;
  min-width: 20rem;
  padding: var(--space-5);
  border: 1px solid var(--color-border-champagne);
  border-radius: var(--radius-card);
  background: var(--color-chalk-white);
}

[data-terms-page] .terms-final__panel > :last-child {
  margin-bottom: 0;
}

[data-terms-page] .terms-final__fields {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
}

[data-terms-page] .terms-final__fields div {
  min-width: 0;
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
  color: var(--color-espresso-charcoal);
  font-size: 0.875rem;
  line-height: 1.45;
}

[data-terms-page] .terms-final__print {
  margin-top: var(--space-5);
}

@media (max-width: 1040px) {
  [data-terms-page] .terms-intro__content {
    grid-column: 1 / span 10;
  }

  [data-terms-page] .terms-service__note {
    grid-column: 3 / span 7;
    max-width: 32.5rem;
    padding-top: 0;
  }
}

@media (max-width: 1000px) {
  [data-terms-page] .terms-salon__content {
    grid-column: 3 / span 8;
  }

  [data-terms-page] .terms-salon__principles {
    grid-column: 3 / span 7;
    max-width: 32.5rem;
  }
}

@media (max-width: 980px) {
  [data-terms-page] .terms-toc__grid,
  [data-terms-page] .terms-article__grid,
  [data-terms-page] .terms-final__shell {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  [data-terms-page] .terms-toc__context,
  [data-terms-page] .terms-toc__nav {
    grid-column: 1 / span 6;
    max-width: 31.25rem;
  }

  [data-terms-page] .terms-toc__nav {
    padding-left: 0;
    border-left: 0;
  }

  [data-terms-page] .terms-article__marker {
    grid-column: 1 / span 6;
    padding-top: 0;
  }

  [data-terms-page] .terms-article__body,
  [data-terms-page] .terms-booking__content,
  [data-terms-page] .terms-service__content,
  [data-terms-page] .terms-salon__content,
  [data-terms-page] .terms-conduct__content,
  [data-terms-page] .terms-final__content {
    grid-column: 1 / span 6;
  }

  [data-terms-page] .terms-booking__aside,
  [data-terms-page] .terms-service__note,
  [data-terms-page] .terms-salon__principles,
  [data-terms-page] .terms-conduct__panel,
  [data-terms-page] .terms-final__panel {
    grid-column: 1 / span 6;
    min-width: 0;
    max-width: 32.5rem;
  }
}

@media (max-width: 720px) {
  [data-terms-page] .terms-intro {
    padding-block: var(--space-8) var(--space-7);
  }

  [data-terms-page] .terms-intro__grid,
  [data-terms-page] .terms-toc__grid,
  [data-terms-page] .terms-article__grid,
  [data-terms-page] .terms-final__shell {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  [data-terms-page] .terms-intro__content,
  [data-terms-page] .terms-toc__context,
  [data-terms-page] .terms-toc__nav,
  [data-terms-page] .terms-article__marker,
  [data-terms-page] .terms-article__body,
  [data-terms-page] .terms-booking__content,
  [data-terms-page] .terms-booking__aside,
  [data-terms-page] .terms-service__content,
  [data-terms-page] .terms-service__note,
  [data-terms-page] .terms-salon__content,
  [data-terms-page] .terms-salon__principles,
  [data-terms-page] .terms-conduct__content,
  [data-terms-page] .terms-conduct__panel,
  [data-terms-page] .terms-final__content,
  [data-terms-page] .terms-final__panel {
    grid-column: 1;
    min-width: 0;
    max-width: none;
  }

  [data-terms-page] .terms-intro h1 {
    max-width: 100%;
  }

  [data-terms-page] .terms-intro__lead {
    max-width: 100%;
  }

  [data-terms-page] .terms-intro__utility {
    align-items: flex-start;
  }

  [data-terms-page] .terms-version {
    flex-basis: 100%;
  }

  [data-terms-page] .terms-toc {
    padding-block: var(--space-5);
  }

  [data-terms-page] .terms-document,
  [data-terms-page] .terms-salon {
    padding-block: var(--space-8);
  }

  [data-terms-page] .terms-article + .terms-article {
    margin-top: var(--space-8);
  }

  [data-terms-page] .terms-article__body h2 {
    font-size: var(--font-size-section-heading);
  }

  [data-terms-page] .terms-callout,
  [data-terms-page] .terms-salon__principles,
  [data-terms-page] .terms-conduct__panel,
  [data-terms-page] .terms-final__shell,
  [data-terms-page] .terms-final__panel {
    padding: var(--space-5);
  }

  [data-terms-page] .terms-final {
    padding-bottom: var(--space-8);
  }
}

@media print {
  [data-terms-page] {
    background: #fff;
    color: #000;
  }

  [data-terms-page] .terms-intro,
  [data-terms-page] .terms-toc,
  [data-terms-page] .terms-salon,
  [data-terms-page] .terms-document,
  [data-terms-page] .terms-final {
    padding-block: 1.2cm;
    background: #fff;
  }

  [data-terms-page] .terms-intro__grid,
  [data-terms-page] .terms-toc__grid,
  [data-terms-page] .terms-article__grid,
  [data-terms-page] .terms-final__shell {
    display: block;
  }

  [data-terms-page] .terms-intro__content,
  [data-terms-page] .terms-article__body,
  [data-terms-page] .terms-booking__content,
  [data-terms-page] .terms-service__content,
  [data-terms-page] .terms-salon__content,
  [data-terms-page] .terms-conduct__content,
  [data-terms-page] .terms-final__content {
    max-width: none;
  }

  [data-terms-page] .terms-toc__nav {
    margin-top: 0.5cm;
    padding-left: 0;
    border-left: 0;
  }

  [data-terms-page] .terms-article__marker {
    margin-bottom: 0.2cm;
  }

  [data-terms-page] .terms-booking__aside,
  [data-terms-page] .terms-service__note,
  [data-terms-page] .terms-salon__principles,
  [data-terms-page] .terms-conduct__panel,
  [data-terms-page] .terms-final__panel {
    margin-top: 0.5cm;
    max-width: none;
  }

  [data-terms-page] .terms-callout,
  [data-terms-page] .terms-liability__note,
  [data-terms-page] .terms-final__shell,
  [data-terms-page] .terms-final__panel,
  [data-terms-page] .terms-conduct__panel,
  [data-terms-page] .terms-salon__principles {
    background: #fff;
    box-shadow: none;
  }

  [data-terms-page] .terms-print {
    display: none;
  }

  [data-terms-page] .terms-article,
  [data-terms-page] .terms-callout,
  [data-terms-page] .terms-conduct__panel,
  [data-terms-page] .terms-final__panel {
    break-inside: avoid;
  }

  [data-terms-page] a[href^="#"]::after {
    content: "";
  }
}

ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }
