.regulamin-page {
  overflow: hidden;
}

.regulamin-page :is(.regulamin-hero__grid, .regulamin-index__grid, .regulamin-rule__grid, .regulamin-reservations__grid, .regulamin-private__shell, .regulamin-poker__grid, .regulamin-age__panel, .regulamin-closing__wrap) > * {
  min-width: 0;
}

.regulamin-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(270px, 4fr);
  gap: var(--space-7);
  align-items: start;
}

.regulamin-hero__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.regulamin-hero__copy h1,
.regulamin-hero__copy .lead,
.regulamin-hero__copy p {
  margin: 0;
}

.regulamin-hero__copy h1 {
  max-width: 18ch;
}

.regulamin-hero__copy .lead {
  max-width: 64ch;
}

.regulamin-hero__offline {
  display: flex;
  width: min(100%, 520px);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-4);
  border: var(--stroke) solid var(--color-ink);
  background: var(--color-paper);
  box-shadow: var(--shadow);
}

.regulamin-hero__offline p {
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.regulamin-hero__nav {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  margin-top: var(--space-7);
}

.regulamin-hero__nav :is(h2, p) {
  margin: 0;
}

.regulamin-hero__nav h2 {
  font-size: clamp(1.7rem, 2.8vw, 2.7rem);
}

.regulamin-hero__nav p {
  max-width: 32ch;
}

.regulamin-index {
  border-top: var(--stroke) solid var(--color-ink);
  border-bottom: var(--stroke) solid var(--color-ink);
}

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

.regulamin-index__intro {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.regulamin-index__intro :is(h2, p) {
  margin: 0;
}

.regulamin-index__intro p {
  max-width: 55ch;
}

.regulamin-index__toggle {
  display: none;
}

.regulamin-index__panel {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(250px, 1fr));
  border-top: var(--stroke) solid var(--color-ink);
}

.regulamin-index__panel a {
  display: grid;
  min-width: 0;
  min-height: 68px;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  align-items: center;
  padding: var(--space-3) var(--space-4);
  border-right: var(--stroke) solid var(--color-ink);
  border-bottom: var(--stroke) solid var(--color-ink);
  font-size: var(--text-small);
  line-height: 1.35;
  text-decoration-color: var(--color-lime);
}

.regulamin-index__panel a:nth-child(2n) {
  border-right: 0;
}

.regulamin-index__panel a:nth-child(9) {
  grid-column: 1 / -1;
  border-right: 0;
}

.regulamin-index__panel a span,
.regulamin-rule__marker small,
.regulamin-private__marker small {
  font-family: var(--font-mono);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
}

.regulamin-index__panel a strong {
  overflow-wrap: anywhere;
}

.regulamin-rule__grid {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 8fr);
  gap: var(--space-6);
  align-items: start;
}

.regulamin-rule__marker {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
  padding-top: var(--space-2);
}

.regulamin-rule__marker span,
.regulamin-private__marker span {
  font-family: var(--font-heading);
  font-size: clamp(3.5rem, 7vw, 6.5rem);
  font-weight: 800;
  letter-spacing: -0.07em;
  line-height: 0.8;
}

.regulamin-rule__marker small,
.regulamin-private__marker small {
  padding: var(--space-1) var(--space-2);
  border: var(--stroke) solid var(--color-ink);
}

.regulamin-rule__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.regulamin-rule__content :is(h2, p, blockquote) {
  margin: 0;
}

.regulamin-rule__content > p {
  max-width: 640px;
}

.regulamin-copy-block {
  display: flex;
  width: min(100%, 640px);
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding-top: var(--space-5);
  border-top: var(--stroke) solid var(--color-ink);
}

.regulamin-copy-block :is(h3, p) {
  margin: 0;
}

.regulamin-copy-block p strong {
  font-family: var(--font-mono);
}

.regulamin-practical-note {
  display: flex;
  width: min(100%, 640px);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--stroke) solid var(--color-ink);
}

.regulamin-practical-note p {
  margin: 0;
}

.regulamin-age__panel {
  display: grid;
  width: min(100%, 1000px);
  grid-template-columns: minmax(380px, 6fr) minmax(0, 3fr);
  gap: var(--space-6);
  align-items: end;
  margin-inline: auto;
  padding: var(--space-7);
  border: var(--stroke-strong) solid var(--color-ink);
  background: var(--color-cyan);
  box-shadow: var(--shadow);
}

.regulamin-age__content {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.regulamin-age__content :is(h2, p, blockquote) {
  margin: 0;
}

.regulamin-age__content > p,
.regulamin-age__content blockquote {
  max-width: 64ch;
}

.regulamin-age__sign {
  justify-self: end;
  font-family: var(--font-heading);
  font-size: clamp(5rem, 12vw, 10rem);
  font-weight: 800;
  letter-spacing: -0.09em;
  line-height: 0.75;
}

.regulamin-reservations__grid {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 8fr);
  gap: var(--space-7);
  align-items: start;
}

.regulamin-reservations__heading {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.regulamin-reservations__heading h2 {
  margin: 0;
  max-width: 14ch;
}

.regulamin-reservations__rules {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-top: var(--stroke) solid var(--color-ink);
}

.regulamin-reservations__rules article {
  display: grid;
  min-width: 0;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  gap: var(--space-4);
  padding-block: var(--space-5);
  border-bottom: var(--stroke) solid var(--color-ink);
}

.regulamin-reservations__rules article > span,
.regulamin-private__rules article > span,
.regulamin-offline__exclusions article > span {
  font-family: var(--font-mono);
  font-weight: 700;
}

.regulamin-reservations__rules article > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.regulamin-reservations__rules :is(h3, p) {
  margin: 0;
}

.regulamin-reservations__rules p {
  max-width: 640px;
}

.regulamin-reservations__place {
  padding: var(--space-4);
  border: var(--stroke) solid var(--color-ink);
}

.regulamin-private__shell {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 5fr) minmax(0, 5fr);
  gap: var(--space-6);
  align-items: start;
}

.regulamin-private__marker {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.regulamin-private__context {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
}

.regulamin-private__context :is(h2, p) {
  margin: 0;
}

.regulamin-private__context h2 {
  max-width: 15ch;
}

.regulamin-private__context .lead {
  max-width: 56ch;
}

.regulamin-private__rules {
  display: flex;
  min-width: 0;
  flex-direction: column;
  border-top: var(--stroke) solid var(--color-ink);
}

.regulamin-private__rules article {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  padding-block: var(--space-5);
  border-bottom: var(--stroke) solid var(--color-ink);
}

.regulamin-private__rules article > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.regulamin-private__rules :is(h3, p) {
  margin: 0;
}

.regulamin-private__responsibility {
  border-top: 3px solid var(--color-lime);
}

.regulamin-poker__grid {
  display: grid;
  grid-template-columns: minmax(0, 7fr) minmax(300px, 4fr);
  gap: var(--space-6);
  align-items: start;
}

.regulamin-poker__main {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-7);
  border-width: var(--stroke-strong);
}

.regulamin-poker__main :is(h2, p) {
  margin: 0;
}

.regulamin-poker__main h2 {
  max-width: 16ch;
}

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

.regulamin-poker__side {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-5);
  margin-top: var(--space-6);
}

.regulamin-poker__side article {
  min-width: 0;
}

.regulamin-poker__side .surface {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.regulamin-poker__side .surface :is(h3, p) {
  margin: 0;
}

.regulamin-poker__number {
  font-family: var(--font-heading);
  font-size: 3rem;
  font-weight: 800;
  line-height: 1;
}

.regulamin-poker__note {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5) 0 0 var(--space-4);
  border-top: 6px solid var(--color-cyan);
  border-left: var(--stroke) solid var(--color-ink);
}

.regulamin-poker__note :is(h3, p) {
  margin: 0;
}

.regulamin-offline__statement {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-7);
  border-width: var(--stroke-strong);
}

.regulamin-offline__statement :is(h2, p) {
  margin: 0;
}

.regulamin-offline__statement h2 {
  max-width: 20ch;
}

.regulamin-offline__statement p {
  max-width: 700px;
}

.regulamin-offline__exclusions {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(2, minmax(250px, 1fr));
  margin-top: var(--space-6);
  border-top: var(--stroke) solid var(--color-ink);
  border-left: var(--stroke) solid var(--color-ink);
}

.regulamin-offline__exclusions article {
  display: grid;
  min-width: 0;
  grid-template-columns: 3rem minmax(0, 1fr);
  gap: var(--space-3);
  padding: var(--space-5);
  border-right: var(--stroke) solid var(--color-ink);
  border-bottom: var(--stroke) solid var(--color-ink);
}

.regulamin-offline__exclusions article > div {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.regulamin-offline__exclusions :is(h3, p) {
  margin: 0;
}

.regulamin-offline__exclusions p {
  max-width: 65ch;
}

.regulamin-offline__last {
  grid-column: 1 / -1;
}

.regulamin-offline__summary {
  width: min(100%, 600px);
  min-width: 0;
  margin-top: var(--space-6);
  padding: var(--space-5);
  border: var(--stroke) solid var(--color-ink);
  background: var(--color-cyan);
  box-shadow: var(--shadow);
}

.regulamin-offline__summary p {
  margin: 0;
  font-size: var(--text-lead);
  font-weight: 600;
  line-height: 1.3;
}

.regulamin-guest-note {
  display: flex;
  width: min(100%, 640px);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  padding-top: var(--space-5);
  border-top: var(--stroke) solid var(--color-ink);
}

.regulamin-guest-note p {
  margin: 0;
}

.regulamin-closing__wrap {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
}

.regulamin-closing__cyan {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-4);
  padding: var(--space-7);
  border: var(--stroke-strong) solid var(--color-ink);
  background: var(--color-cyan);
}

.regulamin-closing__cyan :is(h2, p) {
  margin: 0;
}

.regulamin-closing__cyan h2 {
  max-width: 18ch;
}

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

.regulamin-closing__summary {
  display: flex;
  width: min(100%, 700px);
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
  margin-top: calc(var(--space-5) * -1);
  margin-right: var(--space-7);
  margin-left: auto;
}

.regulamin-closing__summary :is(h3, p) {
  margin: 0;
}

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

@media (max-width: 1020px) {
  .regulamin-hero__grid,
  .regulamin-poker__grid {
    grid-template-columns: 1fr;
  }

  .regulamin-hero__nav,
  .regulamin-poker__side {
    width: min(100%, 640px);
    margin-top: 0;
  }

  .regulamin-poker__side {
    margin-left: 0;
  }

  .regulamin-reservations__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .regulamin-reservations__heading h2 {
    max-width: 18ch;
  }
}

@media (max-width: 960px) {
  .regulamin-index__grid {
    grid-template-columns: minmax(0, 2fr) minmax(0, 6fr);
    gap: var(--space-5);
  }

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

  .regulamin-private__context,
  .regulamin-private__rules {
    grid-column: 2;
  }

  .regulamin-private__rules {
    width: 100%;
  }
}

@media (max-width: 900px) {
  .regulamin-index__panel {
    grid-template-columns: 1fr;
  }

  .regulamin-index__panel a,
  .regulamin-index__panel a:nth-child(2n),
  .regulamin-index__panel a:nth-child(9) {
    grid-column: auto;
    border-right: 0;
  }

  .regulamin-rule__grid {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .regulamin-rule__marker,
  .regulamin-private__marker {
    flex-direction: row;
    align-items: center;
  }

  .regulamin-rule__marker span,
  .regulamin-private__marker span {
    font-size: 2.5rem;
  }

  .regulamin-private__shell {
    grid-template-columns: 1fr;
    gap: var(--space-4);
  }

  .regulamin-private__context,
  .regulamin-private__rules {
    grid-column: auto;
  }

  .regulamin-age__panel {
    grid-template-columns: 1fr;
  }

  .regulamin-age__sign {
    justify-self: start;
    order: -1;
    font-size: 5rem;
  }

  .regulamin-closing__summary {
    margin-top: var(--space-5);
    margin-right: 0;
    margin-left: 0;
  }
}

@media (max-width: 767px) {
  .regulamin-hero__grid,
  .regulamin-index__grid,
  .regulamin-rule__grid,
  .regulamin-reservations__grid,
  .regulamin-private__shell,
  .regulamin-poker__grid {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .regulamin-hero__copy h1 {
    max-width: 13ch;
    font-size: clamp(2.75rem, 13vw, 4.2rem);
  }

  .regulamin-hero__copy .lead,
  .regulamin-hero__offline,
  .regulamin-hero__nav,
  .regulamin-rule__content > p,
  .regulamin-copy-block,
  .regulamin-practical-note,
  .regulamin-guest-note {
    width: 100%;
    max-width: none;
  }

  .regulamin-hero__offline,
  .regulamin-practical-note {
    box-shadow: var(--shadow-compact);
  }

  .regulamin-hero__nav {
    margin-top: 0;
  }

  .regulamin-index__toggle {
    display: inline-flex;
  }

  .regulamin-index__panel {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .regulamin-index__panel[hidden] {
    display: none;
  }

  .regulamin-index__panel a {
    min-height: 52px;
    grid-template-columns: 2.5rem minmax(0, 1fr);
  }

  .regulamin-age__panel,
  .regulamin-poker__main,
  .regulamin-offline__statement,
  .regulamin-closing__cyan {
    padding: var(--space-5);
    box-shadow: var(--shadow-compact);
  }

  .regulamin-age__content > p,
  .regulamin-age__content blockquote,
  .regulamin-poker__main p,
  .regulamin-offline__statement p,
  .regulamin-closing__cyan p {
    max-width: none;
  }

  .regulamin-reservations__rules article,
  .regulamin-private__rules article,
  .regulamin-offline__exclusions article {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: var(--space-3);
  }

  .regulamin-offline__exclusions {
    grid-template-columns: 1fr;
  }

  .regulamin-offline__last {
    grid-column: auto;
  }

  .regulamin-offline__summary {
    width: 100%;
    box-shadow: var(--shadow-compact);
  }

  .regulamin-poker__side {
    width: 100%;
    margin-top: 0;
  }

  .regulamin-private__context h2,
  .regulamin-poker__main h2,
  .regulamin-offline__statement h2,
  .regulamin-closing__cyan h2 {
    max-width: none;
  }
}

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