.regulations-page {
  overflow: clip;
  background: var(--color-porcelain);
}

.regulations-intro {
  position: relative;
  padding-block: var(--space-9) var(--space-8);
}

.regulations-intro::before {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  opacity: 0.3;
  background-image: repeating-linear-gradient(90deg, rgba(154, 112, 76, 0.04) 0, rgba(154, 112, 76, 0.04) 1px, transparent 1px, transparent 14px);
}

.regulations-intro__grid {
  position: relative;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 1.5rem;
  align-items: end;
}

.regulations-intro__title-group {
  grid-column: 1 / span 8;
  min-width: 0;
  max-width: 51.25rem;
}

.regulations-intro__title-group > :last-child,
.regulations-intro__meta > :last-child { margin-block-end: 0; }

.regulations-intro__rule { width: 100%; max-width: 10rem; height: 1px; margin-block: var(--space-5); background: var(--color-bronze); }
.regulations-intro__lead { max-width: 42.5rem; }

.regulations-intro__meta {
  grid-column: 10 / span 3;
  min-width: 0;
  padding-block-start: var(--space-4);
  border-block-start: 1px solid var(--color-rule);
  font-size: var(--text-small);
}

.regulations-intro__meta .meta { margin-block-end: var(--space-2); }
.regulations-intro__date { margin-block-end: var(--space-5); font-variant-numeric: tabular-nums; }
.regulations-intro__meta a { overflow-wrap: anywhere; }

.regulations-contents {
  padding-block: var(--space-7);
  background: var(--color-sand);
}

.regulations-contents__panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  gap: var(--space-7);
  width: min(100% - (var(--gutter) * 2), 66.666rem);
  padding: var(--space-6);
  border-radius: var(--radius-md);
  background: var(--color-warm-ivory);
  box-shadow: var(--shadow-subtle);
}

.regulations-contents__heading, .regulations-contents__nav { min-width: 0; }
.regulations-contents__heading h2 { max-width: 28.75rem; margin-block-end: 0; }
.regulations-contents__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2) var(--space-5);
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: none;
}

.regulations-contents__list li { min-width: 0; }
.regulations-contents__list a {
  position: relative;
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: var(--space-2);
  align-items: center;
  min-height: 2.75rem;
  color: var(--color-charcoal);
  font-weight: 700;
  text-decoration: none;
}

.regulations-contents__list a::after {
  position: absolute;
  right: 0;
  bottom: 0.2rem;
  left: 2.5rem;
  height: 1px;
  content: "";
  transform: scaleX(0);
  transform-origin: left;
  background: var(--color-bronze);
  transition: transform var(--transition-fast);
}

.regulations-contents__list a:hover::after,
.regulations-contents__list a.is-active::after { transform: scaleX(1); }
.regulations-contents__list a.is-active { color: var(--color-olive); }
.regulations-contents__list span { color: var(--color-olive); font-size: var(--text-meta); letter-spacing: 0.08em; }

.regulations-article { padding-block: var(--space-10); }

.regulations-section {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(0, 7fr);
  gap: var(--space-6);
  width: min(100%, 62rem);
  margin-inline: auto;
  padding-block: var(--space-8);
  border-block-start: 1px solid var(--color-rule);
  scroll-margin-top: 8rem;
}

.regulations-section:first-child { padding-block-start: 0; border-block-start: 0; }
.regulations-section__marker, .regulations-section__content { min-width: 0; }
.regulations-section__marker { padding-block-start: var(--space-2); }
.regulations-section__marker span { display: block; color: rgba(89, 99, 75, 0.48); font-family: var(--font-heading); font-size: clamp(3.5rem, 6vw, 5rem); font-weight: 500; line-height: 0.75; }
.regulations-section__marker p { margin: var(--space-3) 0 0; color: var(--color-muted-text); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.regulations-section__content--standard { max-width: 42.5rem; }
.regulations-section__content--wide { max-width: 46rem; }
.regulations-section__content--poker { max-width: 47.5rem; }
.regulations-section__content h2 { margin-block-end: var(--space-5); }
.regulations-section__content h3 { margin-block-end: var(--space-3); }

.regulations-list { margin-block-end: var(--space-5); }
.regulations-list li + li { margin-block-start: var(--space-2); }

.regulations-definitions { margin-block: var(--space-6); }
.regulations-definitions > div { display: grid; grid-template-columns: minmax(8rem, 0.34fr) minmax(0, 1fr); gap: var(--space-4); padding-block: var(--space-4); border-block-start: 1px solid var(--color-rule); }
.regulations-definitions > div:last-child { border-block-end: 1px solid var(--color-rule); }
.regulations-definitions dt { color: var(--color-olive); font-weight: 700; }
.regulations-definitions dd { margin: 0; }

.regulations-note { max-width: 40rem; margin-block: var(--space-6) 0; padding: var(--space-4) 0 var(--space-4) var(--space-5); border-inline-start: 3px solid var(--color-olive); }
.regulations-note--terracotta { border-inline-color: var(--color-terracotta); }

.regulations-hours { max-width: 45rem; margin-block: var(--space-6); padding: var(--space-5); border: 1px solid var(--color-rule); border-radius: var(--radius-sm); background: var(--color-warm-ivory); }
.regulations-hours > :last-child { margin-block-end: 0; }
.regulations-hours__list { margin: var(--space-4) 0 0; padding: 0; list-style: none; }
.regulations-hours__list li { display: flex; min-width: 0; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-2); border-block-start: 1px solid var(--color-rule); }
.regulations-hours__list strong { white-space: nowrap; }

.regulations-related { display: flex; min-width: 0; flex-direction: column; align-items: stretch; gap: var(--space-2); margin-block-start: var(--space-6); }
.regulations-related .meta { margin: 0 0 var(--space-2); }
.regulations-related a, .regulations-poker-links a, .regulations-contact-panel__link { display: inline-flex; align-items: center; width: fit-content; min-height: 2.75rem; font-weight: 700; }

.regulations-steps { margin: var(--space-6) 0; padding: 0; list-style: none; }
.regulations-steps li { display: grid; grid-template-columns: 3rem minmax(0, 1fr); gap: var(--space-4); min-width: 0; padding-block: var(--space-4); border-block-start: 1px solid var(--color-rule); }
.regulations-steps li:last-child { border-block-end: 1px solid var(--color-rule); }
.regulations-steps li > span { display: flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; border: 1px solid var(--color-bronze); border-radius: 50%; color: var(--color-olive); font-family: var(--font-heading); font-size: 1.75rem; }
.regulations-steps li > div { min-width: 0; }
.regulations-steps h3, .regulations-steps p { margin: 0; }
.regulations-steps li > div { display: flex; flex-direction: column; gap: var(--space-2); }

.regulations-visit-details { max-width: 40rem; }
.regulations-visit-details > :last-child { margin-block-end: 0; }

.regulations-meetings { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 3fr); gap: var(--space-5); align-items: start; }
.regulations-meetings > div { min-width: 0; }
.regulations-meetings__event { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); padding: var(--space-5); background: var(--color-sand); border-radius: var(--radius-sm); }
.regulations-meetings__event > * { margin: 0; }
.regulations-meetings__event .meta:last-child { color: var(--color-muted-text); }
.regulations-conversation { max-width: 100%; margin-block-start: var(--space-6); padding-block-start: var(--space-5); border-block-start: 1px solid var(--color-rule); }
.regulations-conversation > :last-child { margin-block-end: 0; }

.regulations-responsibility { display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); max-width: 47.5rem; margin-block: var(--space-6); padding: var(--space-6); background: var(--color-deep-olive); color: var(--color-warm-ivory); }
.regulations-responsibility > * { margin: 0; }
.regulations-responsibility h3 { color: var(--color-warm-ivory); }
.regulations-responsibility__eyebrow { color: var(--color-sand); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.regulations-responsibility__eyebrow::before { display: inline-block; width: 0.5rem; height: 0.5rem; margin-inline-end: var(--space-2); content: ""; background: var(--color-terracotta); }
.regulations-responsibility ul { margin: 0; padding-inline-start: 1.25rem; }
.regulations-responsibility li + li { margin-block-start: var(--space-2); }
.regulations-poker-links { display: flex; min-width: 0; flex-wrap: wrap; gap: var(--space-4); }

.regulations-conduct { margin: var(--space-6) 0; padding: 0; list-style: none; }
.regulations-conduct li { display: grid; grid-template-columns: 2.5rem minmax(0, 1fr); gap: var(--space-3); min-width: 0; padding-block: var(--space-3); border-block-start: 1px solid var(--color-rule); }
.regulations-conduct li:last-child { border-block-end: 1px solid var(--color-rule); }
.regulations-conduct span { color: var(--color-bronze); font-size: var(--text-meta); font-weight: 700; letter-spacing: 0.08em; }
.regulations-conduct p { margin: 0; }
.regulations-shared-responsibility { max-width: 35rem; margin-block: var(--space-6); }
.regulations-shared-responsibility > :last-child { margin-block-end: 0; }
.regulations-safety-note { max-width: 42.5rem; padding: var(--space-5); border: 1px solid var(--color-rule); }
.regulations-safety-note > :last-child { margin-block-end: 0; }

.regulations-privacy { margin-block: var(--space-6); padding-block: var(--space-4); border-block: 1px solid var(--color-rule); }
.regulations-privacy > :last-child, .regulations-changes > :last-child { margin-block-end: 0; }
.regulations-changes { max-width: 38.75rem; }
.regulations-contact-panel { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: 47.5rem; margin: var(--space-7) 0 0 -2rem; padding: var(--space-6); border: 1px solid var(--color-rule); border-radius: var(--radius-md); background: var(--color-warm-ivory); }
.regulations-contact-panel > * { margin: 0; }
.regulations-contact-panel h2 { margin: 0; }
.regulations-contact-panel address { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-2); width: 100%; margin: 0; }
.regulations-contact-panel address a, .regulations-contact-panel address span { display: inline-flex; align-items: center; min-height: 2.75rem; max-width: 100%; overflow-wrap: anywhere; }

@media (max-width: 979px) {
  .regulations-intro__grid { grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: var(--space-6); }
  .regulations-intro__title-group { grid-column: 1 / span 7; }
  .regulations-intro__meta { grid-column: 1 / span 5; max-width: 34rem; }
  .regulations-section { grid-template-columns: 1fr; gap: var(--space-4); width: min(100%, 42.5rem); }
  .regulations-section__marker { display: flex; align-items: baseline; gap: var(--space-3); padding: 0; }
  .regulations-section__marker span { font-size: 3.5rem; }
  .regulations-section__marker p { margin: 0; }
  .regulations-section__content--standard, .regulations-section__content--wide, .regulations-section__content--poker { max-width: 100%; }
  .regulations-contact-panel { margin-inline-start: 0; }
}

@media (max-width: 899px) {
  .regulations-contents__panel { grid-template-columns: 1fr; gap: var(--space-5); }
  .regulations-contents__heading h2 { max-width: 32rem; }
  .regulations-meetings { grid-template-columns: 1fr; }
}

@media (max-width: 759px) {
  .regulations-intro { padding-block: var(--space-8) var(--space-7); }
  .regulations-contents { padding-block: var(--space-6); }
  .regulations-contents__panel { padding: var(--space-5); }
  .regulations-contents__list { grid-template-columns: 1fr; }
  .regulations-article { padding-block: var(--space-8); }
  .regulations-section { padding-block: var(--space-7); }
  .regulations-definitions > div { grid-template-columns: 1fr; gap: var(--space-2); }
  .regulations-hours__list li { flex-direction: column; gap: var(--space-1); }
  .regulations-hours__list strong { white-space: normal; }
  .regulations-contact-panel { padding: var(--space-5); }
}

@media (max-width: 639px) {
  .regulations-intro__grid { grid-template-columns: 1fr; }
  .regulations-intro__title-group, .regulations-intro__meta { grid-column: 1; }
  .regulations-intro__meta { max-width: none; }
  .regulations-intro__lead { max-width: none; font-size: 1.0625rem; }
  .regulations-contents__panel { width: min(100% - (var(--gutter) * 2), var(--container-max)); padding: var(--space-5); }
  .regulations-section { width: 100%; }
  .regulations-section__marker { flex-direction: column; gap: var(--space-1); }
  .regulations-section__marker span { font-size: 3.25rem; }
  .regulations-section__content h2 { font-size: clamp(2.375rem, 11vw, 3rem); }
  .regulations-steps li { grid-template-columns: 1fr; gap: var(--space-3); }
  .regulations-steps li > span { width: 2.75rem; height: 2.75rem; }
  .regulations-responsibility { padding: var(--space-5); }
  .regulations-responsibility h3 { font-size: clamp(1.875rem, 8vw, 2.125rem); }
  .regulations-conduct li { grid-template-columns: 1fr; gap: var(--space-1); }
  .regulations-safety-note { padding: var(--space-4); }
  .regulations-contact-panel { gap: var(--space-3); padding: var(--space-5); }
}

@media (prefers-reduced-motion: reduce) {
  .regulations-contents__list a::after { transition: none; }
}
