.legal-notice-page {
  background: var(--color-slate-noir);
}

.legal-notice-page__opening {
  padding-block: var(--space-10);
  border-bottom: 1px solid var(--color-gold-muted);
  background: var(--color-velvet-cabernet);
}

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

.legal-notice-page__opening-copy {
  grid-column: 1 / span 7;
  min-width: 0;
  max-width: 680px;
}

.legal-notice-page__opening-copy h1 {
  max-width: 11ch;
}

.legal-notice-page__opening-copy .lead {
  max-width: 64ch;
}

.legal-notice-page__opening-copy .rule {
  margin-block: var(--space-5);
}

.legal-notice-page__opening-link,
.legal-notice-page__principle-card a,
.legal-notice-page__limit-items a {
  color: var(--color-champagne-ivory);
  text-decoration-color: var(--color-ormolu-gold);
  text-decoration-thickness: 1px;
}

.legal-notice-page__opening-link:hover,
.legal-notice-page__principle-card a:hover,
.legal-notice-page__limit-items a:hover {
  text-decoration-color: var(--color-champagne-ivory);
}

.legal-notice-page__document-marker {
  display: flex;
  grid-column: 9 / span 3;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding: var(--space-4);
  border-inline-start: 1px solid var(--color-gold-muted);
  color: var(--color-linen-taupe);
  font-size: var(--text-caption);
  line-height: 1.6;
}

.legal-notice-page__document-marker strong {
  font-family: var(--font-heading);
  font-size: 1.45rem;
  line-height: 1.05;
}

.legal-notice-page__document-marker span:first-child {
  color: var(--color-ormolu-gold);
  font-size: var(--text-legal);
  font-weight: 650;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.legal-notice-page__index-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.legal-notice-page__index-copy {
  grid-column: 1 / span 3;
  min-width: 0;
  max-width: 48ch;
}

.legal-notice-page__anchor-list {
  display: grid;
  grid-column: 5 / span 8;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  min-width: 0;
  border-top: 1px solid var(--color-gold-muted);
}

.legal-notice-page__anchor-list a {
  display: flex;
  min-width: 0;
  min-height: 3.25rem;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-2);
  border-bottom: 1px solid var(--color-border-muted);
  color: var(--color-champagne-ivory);
  font-size: var(--text-caption);
  font-weight: 600;
  line-height: 1.4;
  text-decoration: none;
}

.legal-notice-page__anchor-list a span {
  color: var(--color-ormolu-gold);
  font-size: var(--text-legal);
  letter-spacing: 0.1em;
}

.legal-notice-page__anchor-list a:hover {
  background: var(--color-velvet-cabernet);
  text-decoration: underline;
  text-decoration-color: var(--color-ormolu-gold);
}

.legal-notice-page__essential-panel {
  display: grid;
  grid-template-columns: 2fr 7fr 1fr;
  width: calc(100% - (var(--space-5) * 2));
  min-width: 0;
  margin-inline: auto;
  padding: var(--space-7);
  border: 1px solid var(--color-ormolu-gold);
  background: var(--color-velvet-cabernet);
}

.legal-notice-page__essential-label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
  padding-inline-end: var(--space-5);
  border-inline-end: 1px solid var(--color-gold-muted);
}

.legal-notice-page__essential-label p {
  margin: 0;
  color: var(--color-ormolu-gold);
  font-size: var(--text-nav);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.4;
}

.legal-notice-page__essential-label span {
  color: var(--color-linen-taupe);
  font-size: var(--text-caption);
  line-height: 1.6;
}

.legal-notice-page__essential-copy {
  grid-column: 2;
  min-width: 0;
  padding-inline-start: var(--space-6);
  max-width: 720px;
}

.legal-notice-page__essential-copy h2 {
  max-width: 16ch;
}

.legal-notice-page__essential-copy p:not(.eyebrow) {
  color: var(--color-champagne-ivory);
}

.legal-notice-page__double-rule {
  width: 100%;
  height: 4px;
  margin-block: var(--space-5);
  border-block: 1px solid var(--color-ormolu-gold);
}

.legal-notice-page__participation-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.legal-notice-page__participation-copy {
  grid-column: 1 / span 5;
  min-width: 0;
  max-width: 620px;
}

.legal-notice-page__participation-copy h2 {
  max-width: 13ch;
}

.legal-notice-page__principle-cards {
  display: grid;
  grid-column: 7 / span 6;
  grid-template-columns: 1fr;
  gap: var(--space-4);
  min-width: 0;
}

.legal-notice-page__principle-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-gold-muted);
  border-radius: var(--radius-card);
  background: var(--color-midnight-charcoal);
}

.legal-notice-page__principle-card h3,
.legal-notice-page__principle-card p {
  margin: 0;
}

.legal-notice-page__principle-card p {
  max-width: 46ch;
}

.legal-notice-page__principle-card a {
  align-self: flex-start;
  margin-top: var(--space-1);
}

.legal-notice-page__flow-heading {
  max-width: 620px;
}

.legal-notice-page__flow-heading h2 {
  max-width: 18ch;
}

.legal-notice-page__flow-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(250px, 1fr));
  margin-top: var(--space-7);
  border-block: 1px solid var(--color-gold-muted);
}

.legal-notice-page__flow-step {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
}

.legal-notice-page__flow-step + .legal-notice-page__flow-step {
  border-inline-start: 1px solid var(--color-gold-muted);
}

.legal-notice-page__flow-step span,
.legal-notice-page__commitment-card > span,
.legal-notice-page__limit-items > article > span {
  color: var(--color-ormolu-gold);
  font-size: var(--text-nav);
  font-weight: 700;
  letter-spacing: 0.12em;
}

.legal-notice-page__flow-step h3,
.legal-notice-page__flow-step p {
  margin: 0;
}

.legal-notice-page__flow-step p {
  max-width: 42ch;
}

.legal-notice-page__conviviality {
  background: var(--color-velvet-cabernet);
}

.legal-notice-page__conviviality-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-5);
  align-items: start;
}

.legal-notice-page__conviviality-copy {
  grid-column: 1 / span 4;
  min-width: 0;
  max-width: 620px;
}

.legal-notice-page__conviviality-copy h2 {
  max-width: 13ch;
}

.legal-notice-page__commitments {
  display: grid;
  grid-column: 6 / span 7;
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: var(--space-4);
  min-width: 0;
}

.legal-notice-page__commitment-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: 1px solid var(--color-gold-muted);
  border-radius: var(--radius-card);
  background: var(--color-midnight-charcoal);
}

.legal-notice-page__commitment-card h3,
.legal-notice-page__commitment-card p {
  margin: 0;
}

.legal-notice-page__commitment-card p {
  max-width: 44ch;
}

.legal-notice-page__limits-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.legal-notice-page__limits-copy {
  grid-column: 1 / span 8;
  min-width: 0;
  max-width: 720px;
}

.legal-notice-page__limits-copy h2 {
  max-width: 15ch;
}

.legal-notice-page__limits-summary {
  color: var(--color-champagne-ivory);
  font-size: var(--text-intro);
  line-height: 1.56;
}

.legal-notice-page__limit-items {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: var(--space-6);
  border-top: 1px solid var(--color-gold-muted);
}

.legal-notice-page__limit-items > article {
  display: grid;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  min-width: 0;
  padding-block: var(--space-5);
  border-bottom: 1px solid var(--color-border-muted);
}

.legal-notice-page__limit-items > article > div {
  min-width: 0;
}

.legal-notice-page__limit-items h3 {
  margin-bottom: var(--space-3);
}

.legal-notice-page__limit-items p {
  max-width: 68ch;
  margin-bottom: 0;
}

.legal-notice-page__orientation-panel {
  display: grid;
  grid-template-columns: 6fr 3fr 1fr;
  gap: var(--space-5);
  width: calc(100% - (var(--space-5) * 2));
  min-width: 0;
  margin-inline: auto;
  padding: var(--space-7);
  border: 1px solid var(--color-gold-muted);
  background: var(--color-midnight-charcoal);
}

.legal-notice-page__orientation-copy {
  min-width: 0;
  max-width: 620px;
}

.legal-notice-page__orientation-copy h2 {
  max-width: 18ch;
}

.legal-notice-page__orientation-note {
  margin-bottom: 0;
  color: var(--color-champagne-ivory);
  font-size: var(--text-caption);
}

.legal-notice-page__orientation-actions {
  grid-column: 2;
  align-self: center;
  flex-direction: column;
  align-items: stretch;
  min-width: 0;
}

.legal-notice-page__orientation-actions .button {
  width: 100%;
  min-width: 0;
}

@media (max-width: 980px) {
  .legal-notice-page__opening-grid,
  .legal-notice-page__participation-grid,
  .legal-notice-page__conviviality-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .legal-notice-page__opening-copy,
  .legal-notice-page__participation-copy,
  .legal-notice-page__conviviality-copy {
    grid-column: 1 / -1;
  }

  .legal-notice-page__document-marker {
    grid-column: 1 / span 3;
    margin-top: var(--space-5);
  }

  .legal-notice-page__principle-cards,
  .legal-notice-page__commitments {
    grid-column: 1 / -1;
    margin-top: var(--space-2);
  }

  .legal-notice-page__principle-cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .legal-notice-page__limits-layout {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .legal-notice-page__limits-copy {
    grid-column: 1 / -1;
  }
}

@media (max-width: 920px) {
  .legal-notice-page__conviviality-grid {
    gap: var(--space-6);
  }

  .legal-notice-page__commitments {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .legal-notice-page__index-grid {
    grid-template-columns: 1fr;
  }

  .legal-notice-page__index-copy,
  .legal-notice-page__anchor-list {
    grid-column: 1;
  }

  .legal-notice-page__anchor-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .legal-notice-page__essential-panel {
    grid-template-columns: 1fr;
    width: 100%;
    gap: var(--space-5);
  }

  .legal-notice-page__essential-label {
    padding-inline-end: 0;
    padding-bottom: var(--space-4);
    border-inline-end: 0;
    border-bottom: 1px solid var(--color-gold-muted);
  }

  .legal-notice-page__essential-copy {
    grid-column: 1;
    padding-inline-start: 0;
  }
}

@media (max-width: 860px) {
  .legal-notice-page__orientation-panel {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .legal-notice-page__orientation-actions {
    grid-column: 1;
    flex-direction: row;
    align-items: stretch;
  }

  .legal-notice-page__orientation-actions .button {
    flex: 1 1 200px;
  }
}

@media (max-width: 840px) {
  .legal-notice-page__flow-steps {
    grid-template-columns: 1fr;
  }

  .legal-notice-page__flow-step + .legal-notice-page__flow-step {
    border-top: 1px solid var(--color-gold-muted);
    border-inline-start: 0;
  }
}

@media (max-width: 760px) {
  .legal-notice-page__opening {
    padding-block: var(--space-8);
  }

  .legal-notice-page__opening-copy h1 {
    font-size: clamp(2.625rem, 12vw, 3rem);
    max-width: none;
  }

  .legal-notice-page__opening-copy .lead {
    max-width: none;
  }

  .legal-notice-page__document-marker {
    grid-column: 1 / -1;
    width: 100%;
  }

  .legal-notice-page__anchor-list,
  .legal-notice-page__principle-cards,
  .legal-notice-page__commitments {
    grid-template-columns: 1fr;
  }

  .legal-notice-page__anchor-list a {
    min-height: 2.75rem;
  }

  .legal-notice-page__essential-panel,
  .legal-notice-page__orientation-panel {
    padding: var(--space-5);
  }

  .legal-notice-page__essential-copy h2,
  .legal-notice-page__participation-copy h2,
  .legal-notice-page__conviviality-copy h2,
  .legal-notice-page__limits-copy h2,
  .legal-notice-page__orientation-copy h2 {
    max-width: none;
  }

  .legal-notice-page__flow-steps {
    margin-top: var(--space-5);
  }

  .legal-notice-page__flow-step {
    padding-inline: 0;
  }

  .legal-notice-page__flow-step p,
  .legal-notice-page__principle-card p,
  .legal-notice-page__commitment-card p {
    max-width: none;
  }

  .legal-notice-page__limit-items > article {
    grid-template-columns: 1fr;
    gap: var(--space-2);
  }

  .legal-notice-page__orientation-actions {
    flex-direction: column;
  }

  .legal-notice-page__orientation-actions .button {
    flex-basis: auto;
  }
}

@media print {
  .legal-notice-page {
    background: #fff;
    color: #111;
  }

  .legal-notice-page :is(h1, h2, h3, strong) {
    color: #111;
  }

  .legal-notice-page :is(p, span, a) {
    color: #222;
  }

  .legal-notice-page__opening,
  .legal-notice-page__conviviality,
  .legal-notice-page__essential-panel,
  .legal-notice-page__orientation-panel,
  .legal-notice-page__principle-card,
  .legal-notice-page__commitment-card {
    background: #fff;
  }

  .legal-notice-page :is(.legal-notice-page__essential-panel, .legal-notice-page__orientation-panel, .legal-notice-page__principle-card, .legal-notice-page__commitment-card) {
    border-color: #777;
    box-shadow: none;
  }

  .legal-notice-page a::after {
    content: " (" attr(href) ")";
    font-size: 0.8em;
  }

  .legal-notice-page .button,
  .legal-notice-page__orientation-actions,
  .legal-notice-page__opening-link {
    display: none;
  }
}
