main[data-regulamin-page] {
  background: var(--color-black);
}

.regulamin-page {
  overflow: hidden;
}

.regulamin-page a {
  text-decoration-thickness: 2px;
}

.regulamin-page__hero {
  padding-block: var(--space-10) var(--space-9);
  border-bottom: var(--border-default);
}

.regulamin-page__hero-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
}

.regulamin-page__hero-copy {
  grid-column: 1 / span 8;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.regulamin-page__hero-copy > * {
  min-width: 0;
  margin: 0;
}

.regulamin-page__hero-title {
  max-width: 8ch;
}

.regulamin-page__hero-lead {
  max-width: 62ch;
}

.regulamin-page__hero-status {
  grid-column: 10 / span 3;
  min-width: 0;
  align-self: end;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-strong-light);
  border-top-color: var(--color-acid);
  background: var(--color-surface);
}

.regulamin-page__hero-status > * {
  min-width: 0;
  margin: 0;
}

.regulamin-page__hero-status p {
  max-width: 42ch;
}

.regulamin-page__jump {
  min-height: 2.75rem;
  padding: var(--space-3) 0;
  border-bottom: var(--border-acid);
  color: var(--color-white);
  font-size: var(--font-size-label);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
  text-transform: uppercase;
}

.regulamin-page__jump:hover {
  color: var(--color-acid);
}

.regulamin-page__index {
  padding-block: var(--space-9);
  border-bottom: var(--border-default);
}

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

.regulamin-page__index-heading {
  grid-column: 1 / span 3;
  min-width: 0;
}

.regulamin-page__index-heading > *:last-child,
.regulamin-page__index-intro > *:last-child {
  margin-bottom: 0;
}

.regulamin-page__index-intro {
  grid-column: 4 / span 3;
  min-width: 0;
}

.regulamin-page__index-intro p {
  max-width: 60ch;
}

.regulamin-page__index-list {
  grid-column: 7 / span 6;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  border-top: var(--border-default);
  border-left: var(--border-default);
}

.regulamin-page__index-list > li {
  min-width: 0;
  border-right: var(--border-default);
  border-bottom: var(--border-default);
}

.regulamin-page__index-link {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  min-height: 4rem;
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3) var(--space-4);
  color: var(--color-white);
  text-decoration: none;
}

.regulamin-page__index-link:hover {
  background: var(--color-surface);
  color: var(--color-acid);
}

.regulamin-page__index-number,
.regulamin-page__section-number,
.regulamin-page__format-number {
  color: var(--color-acid);
  font-size: var(--font-size-label);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.1;
}

.regulamin-page__index-name {
  min-width: 0;
  font-size: var(--font-size-small);
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
}

.regulamin-page__rule-section {
  padding-block: var(--space-9);
  border-bottom: var(--border-default);
}

.regulamin-page__section-heading,
.regulamin-page__section-copy,
.regulamin-page__format-card,
.regulamin-page__rule-band,
.regulamin-page__space-card,
.regulamin-page__event-band,
.regulamin-page__conduct-block,
.regulamin-page__contact-block {
  min-width: 0;
}

.regulamin-page__section-number {
  display: block;
  padding-top: var(--space-1);
}

.regulamin-page__section-heading > *:last-child,
.regulamin-page__section-copy > *:last-child,
.regulamin-page__format-card > *:last-child,
.regulamin-page__rule-band > *:last-child,
.regulamin-page__space-card > *:last-child,
.regulamin-page__event-band > *:last-child,
.regulamin-page__conduct-block > *:last-child,
.regulamin-page__contact-block > *:last-child {
  margin-bottom: 0;
}

.regulamin-page__formats-intro {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-page__formats-intro .regulamin-page__section-number {
  grid-column: 1 / span 1;
}

.regulamin-page__formats-intro .regulamin-page__section-heading {
  grid-column: 2 / span 3;
}

.regulamin-page__formats-intro .regulamin-page__section-copy {
  grid-column: 6 / span 7;
}

.regulamin-page__formats-intro .regulamin-page__section-copy p {
  max-width: 66ch;
}

.regulamin-page__formats-intro .regulamin-page__section-copy a {
  font-size: var(--font-size-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.regulamin-page__format-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.regulamin-page__format-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-light);
  background: var(--color-surface);
  transition: border-color var(--transition-fast);
}

.regulamin-page__format-card:hover {
  border-color: var(--color-acid);
}

.regulamin-page__format-card > * {
  min-width: 0;
  margin: 0;
}

.regulamin-page__format-card h3 {
  font-size: clamp(1.5rem, 2vw, 1.9rem);
}

.regulamin-page__format-card p {
  max-width: 48ch;
}

.regulamin-page__visits-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-page__visits-heading {
  grid-column: 1 / span 4;
}

.regulamin-page__visits-copy {
  grid-column: 5 / span 5;
}

.regulamin-page__visits-copy p {
  max-width: 64ch;
}

.regulamin-page__visits-copy a,
.regulamin-page__section-links a {
  font-size: var(--font-size-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.regulamin-page__visit-rules {
  grid-column: 6 / span 7;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.regulamin-page__rule-band {
  display: grid;
  grid-template-columns: minmax(10rem, 0.3fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: start;
  padding: var(--space-5);
  border: var(--border-default);
  border-left: var(--border-strong-light);
  background: var(--color-surface);
}

.regulamin-page__rule-band > * {
  min-width: 0;
  margin: 0;
}

.regulamin-page__rule-band p {
  max-width: 58ch;
}

.regulamin-page__space-intro {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-page__space-heading {
  grid-column: 1 / span 4;
}

.regulamin-page__space-copy {
  grid-column: 5 / span 4;
}

.regulamin-page__space-copy p {
  max-width: 62ch;
}

.regulamin-page__space-marker {
  grid-column: 11 / span 2;
  min-width: 0;
  justify-self: end;
  align-self: start;
  padding: var(--space-2) 0;
  color: var(--color-acid);
  font-size: var(--font-size-label);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1.2;
  text-align: right;
  text-transform: uppercase;
}

.regulamin-page__space-grid {
  display: grid;
  grid-template-columns: 5fr 6fr;
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.regulamin-page__space-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--color-surface);
}

.regulamin-page__space-card > * {
  min-width: 0;
  margin: 0;
}

.regulamin-page__space-card--accent {
  border-top-color: var(--color-acid);
  border-top-width: var(--border-strong-width);
}

.regulamin-page__space-card p {
  max-width: 52ch;
}

.regulamin-page__section-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-5);
  margin-top: var(--space-5);
}

.regulamin-page__section-links > * {
  min-width: 0;
  max-width: 100%;
}

.regulamin-page__events-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-page__events-heading {
  grid-column: 1 / span 4;
}

.regulamin-page__events-copy {
  grid-column: 5 / span 6;
}

.regulamin-page__events-copy p {
  max-width: 66ch;
}

.regulamin-page__events-copy .button {
  margin-top: var(--space-2);
}

.regulamin-page__event-bands {
  grid-column: 1 / span 12;
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.regulamin-page__event-band {
  display: grid;
  grid-template-columns: minmax(10rem, 0.3fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: start;
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--color-surface);
}

.regulamin-page__event-band > * {
  min-width: 0;
  margin: 0;
}

.regulamin-page__event-band p {
  max-width: 56ch;
}

.regulamin-page__event-band--first {
  grid-column: 2 / span 6;
}

.regulamin-page__event-band--second {
  grid-column: 5 / span 8;
  border-left: var(--border-strong-acid);
}

.regulamin-page__conduct-layout {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
  align-items: start;
}

.regulamin-page__conduct-number {
  grid-column: 1 / span 1;
}

.regulamin-page__conduct-primary {
  grid-column: 2 / span 7;
}

.regulamin-page__conduct-primary p {
  max-width: 64ch;
}

.regulamin-page__conduct-secondary {
  grid-column: 4 / span 7;
  margin-top: var(--space-6);
  padding-top: var(--space-6);
  border-top: var(--border-default);
}

.regulamin-page__conduct-secondary p {
  max-width: 64ch;
}

.regulamin-page__contact-block {
  grid-column: 2 / span 8;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-top: var(--space-7);
  padding: var(--space-5);
  border: var(--border-light);
  border-top: var(--border-strong-acid);
  background: var(--color-surface);
}

.regulamin-page__contact-block > * {
  min-width: 0;
  margin: 0;
}

.regulamin-page__contact-block p {
  max-width: 68ch;
}

.regulamin-page__contact-email {
  overflow-wrap: anywhere;
  color: var(--color-white);
  font-weight: 700;
  text-decoration-color: var(--color-acid);
}

.regulamin-page__contact-meta {
  color: var(--color-muted) !important;
  font-size: var(--font-size-small);
}

.regulamin-page__contact-block .button {
  align-self: flex-start;
}

@media (max-width: 64.9375rem) {
  .regulamin-page__hero-grid,
  .regulamin-page__index-grid,
  .regulamin-page__formats-intro,
  .regulamin-page__visits-layout,
  .regulamin-page__space-intro,
  .regulamin-page__events-layout,
  .regulamin-page__conduct-layout {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .regulamin-page__hero-copy {
    grid-column: 1 / span 5;
  }

  .regulamin-page__hero-status {
    grid-column: 6 / span 3;
  }

  .regulamin-page__index-heading {
    grid-column: 1 / span 3;
  }

  .regulamin-page__index-intro {
    grid-column: 4 / span 5;
  }

  .regulamin-page__index-list {
    grid-column: 1 / span 8;
    margin-top: var(--space-4);
  }

  .regulamin-page__formats-intro .regulamin-page__section-number {
    grid-column: 1 / span 1;
  }

  .regulamin-page__formats-intro .regulamin-page__section-heading {
    grid-column: 2 / span 2;
  }

  .regulamin-page__formats-intro .regulamin-page__section-copy {
    grid-column: 4 / span 5;
  }

  .regulamin-page__format-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .regulamin-page__format-card:nth-child(3) {
    grid-column: 1 / span 2;
  }

  .regulamin-page__visits-heading {
    grid-column: 1 / span 3;
  }

  .regulamin-page__visits-copy {
    grid-column: 4 / span 5;
  }

  .regulamin-page__visit-rules {
    grid-column: 1 / span 8;
  }

  .regulamin-page__space-heading {
    grid-column: 1 / span 3;
  }

  .regulamin-page__space-copy {
    grid-column: 4 / span 5;
  }

  .regulamin-page__space-marker {
    display: none;
  }

  .regulamin-page__space-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .regulamin-page__events-heading {
    grid-column: 1 / span 3;
  }

  .regulamin-page__events-copy {
    grid-column: 4 / span 5;
  }

  .regulamin-page__event-bands {
    grid-template-columns: repeat(8, minmax(0, 1fr));
  }

  .regulamin-page__event-band--first,
  .regulamin-page__event-band--second {
    grid-column: 1 / span 8;
  }

  .regulamin-page__conduct-number {
    grid-column: 1 / span 1;
  }

  .regulamin-page__conduct-primary {
    grid-column: 2 / span 7;
  }

  .regulamin-page__conduct-secondary {
    grid-column: 1 / span 8;
  }

  .regulamin-page__contact-block {
    grid-column: 1 / span 8;
  }
}

@media (max-width: 56.1875rem) {
  .regulamin-page__hero-grid,
  .regulamin-page__index-grid,
  .regulamin-page__formats-intro,
  .regulamin-page__visits-layout,
  .regulamin-page__space-intro,
  .regulamin-page__events-layout,
  .regulamin-page__conduct-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .regulamin-page__hero-copy,
  .regulamin-page__hero-status,
  .regulamin-page__index-heading,
  .regulamin-page__index-intro,
  .regulamin-page__index-list,
  .regulamin-page__formats-intro .regulamin-page__section-number,
  .regulamin-page__formats-intro .regulamin-page__section-heading,
  .regulamin-page__formats-intro .regulamin-page__section-copy,
  .regulamin-page__visits-heading,
  .regulamin-page__visits-copy,
  .regulamin-page__visit-rules,
  .regulamin-page__space-heading,
  .regulamin-page__space-copy,
  .regulamin-page__events-heading,
  .regulamin-page__events-copy,
  .regulamin-page__conduct-number,
  .regulamin-page__conduct-primary,
  .regulamin-page__conduct-secondary,
  .regulamin-page__contact-block {
    grid-column: 1;
  }

  .regulamin-page__hero-status,
  .regulamin-page__index-intro,
  .regulamin-page__formats-intro .regulamin-page__section-heading,
  .regulamin-page__formats-intro .regulamin-page__section-copy,
  .regulamin-page__visits-copy,
  .regulamin-page__space-copy,
  .regulamin-page__events-copy,
  .regulamin-page__conduct-primary,
  .regulamin-page__conduct-secondary {
    margin-top: var(--space-4);
  }

  .regulamin-page__visit-rules,
  .regulamin-page__event-bands,
  .regulamin-page__contact-block {
    margin-top: var(--space-6);
  }

  .regulamin-page__format-grid,
  .regulamin-page__space-grid,
  .regulamin-page__event-bands {
    grid-template-columns: minmax(0, 1fr);
  }

  .regulamin-page__format-card:nth-child(3),
  .regulamin-page__event-band--first,
  .regulamin-page__event-band--second {
    grid-column: 1;
  }

  .regulamin-page__format-grid {
    margin-top: var(--space-6);
  }

  .regulamin-page__space-grid {
    margin-top: var(--space-6);
  }

  .regulamin-page__rule-band,
  .regulamin-page__event-band {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-3);
  }

  .regulamin-page__conduct-secondary {
    padding-top: var(--space-5);
  }
}

@media (max-width: 47.9375rem) {
  .regulamin-page__hero {
    padding-block: var(--space-9) var(--space-8);
  }

  .regulamin-page__hero-title {
    max-width: 7ch;
  }

  .regulamin-page__hero-lead {
    max-width: none;
  }

  .regulamin-page__hero-status,
  .regulamin-page__format-card,
  .regulamin-page__rule-band,
  .regulamin-page__space-card,
  .regulamin-page__event-band,
  .regulamin-page__contact-block {
    padding: var(--space-4);
  }

  .regulamin-page__index-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .regulamin-page__index-link {
    min-height: 3.5rem;
    padding-inline: var(--space-3);
  }

  .regulamin-page__section-links {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-3);
  }

  .regulamin-page__section-links > a {
    width: 100%;
  }

  .regulamin-page__events-copy .button,
  .regulamin-page__contact-block .button {
    width: 100%;
    align-self: stretch;
  }
}
