.er-page {
  min-width: 0;
}

.er-page .er-orientation {
  border-top: 4px solid var(--color-amber-500);
  border-bottom: var(--border-structural);
  background: var(--color-marine-900);
  padding-block: var(--space-8);
}

.er-orientation__grid,
.er-frame__layout,
.er-orientation__copy,
.er-lenses,
.er-adjacency,
.er-facility-grid,
.er-pool-opening,
.er-programme-panel,
.er-active-opening,
.er-active-notes,
.er-route-strip,
.er-evening-detail,
.er-planning-grid,
.er-related-grid {
  min-width: 0;
}

.er-orientation__grid {
  display: grid;
  grid-template-columns: minmax(0, 72fr) minmax(15rem, 28fr);
  gap: var(--space-8);
  align-items: start;
}

.er-orientation__copy {
  width: 100%;
}

.er-orientation__copy .lead {
  max-width: 72ch;
  margin-bottom: var(--space-6);
}

.er-orientation__meta {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.er-orientation__meta dl {
  margin: 0;
}

.er-orientation__meta dd {
  color: var(--color-white-100);
}

.er-lenses {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.er-lens {
  min-width: 0;
  border: var(--border-structural);
  background: var(--color-marine-800);
  padding: var(--space-3);
}

.er-lens p {
  margin: var(--space-2) 0 0;
  color: var(--color-silver-200);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.er-frame {
  padding-top: var(--space-8);
}

.er-frame__layout {
  display: grid;
  grid-template-columns: minmax(0, 16.25rem) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
}

.er-rail {
  width: 100%;
  min-width: 0;
  border: var(--border-structural);
  border-radius: var(--radius-standard);
  background: var(--color-marine-800);
  padding: var(--space-5);
}

.er-rail__toggle {
  display: none;
  width: 100%;
}

.er-rail__links,
.er-rail__note {
  min-width: 0;
}

.er-rail__intro {
  margin-bottom: var(--space-4);
  color: var(--color-silver-200);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.er-rail ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.er-rail li {
  min-width: 0;
  border-top: var(--border-structural);
}

.er-rail li:last-child {
  border-bottom: var(--border-structural);
}

.er-rail a {
  display: block;
  min-width: 0;
  padding: var(--space-3) 0 var(--space-3) var(--space-3);
  border-left: 3px solid transparent;
  font-family: var(--font-heading);
  font-size: var(--text-control);
  font-weight: var(--weight-semibold);
  letter-spacing: 0.06em;
  text-decoration: none;
  text-transform: uppercase;
}

.er-rail a:hover,
.er-rail a:focus-visible {
  border-left-color: var(--color-amber-500);
  color: var(--color-amber-500);
}

.er-rail__note {
  margin-top: var(--space-5);
  border-top: var(--border-structural);
  padding-top: var(--space-4);
}

.er-rail__note p:last-child {
  margin-bottom: 0;
  color: var(--color-silver-200);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.er-article {
  min-width: 0;
}

.er-section {
  min-width: 0;
  scroll-margin-top: 6rem;
}

.er-section + .er-section {
  margin-top: var(--space-16);
  border-top: var(--border-structural);
  padding-top: var(--space-12);
}

.er-zone-lead {
  max-width: 68ch;
}

.er-location-key {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.er-location-key > span {
  min-width: 0;
  border-left: 3px solid var(--color-steel-500);
  color: var(--color-silver-200);
  font-size: var(--text-small);
  padding-left: var(--space-3);
}

.er-location-key b {
  display: block;
  color: var(--color-white-100);
  font-family: var(--font-heading);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.er-diagram-wrap {
  max-width: 100%;
  margin: 0 0 var(--space-6);
  overflow-x: auto;
  border: var(--border-structural);
  border-radius: var(--radius-standard);
  background: var(--color-graphite-700);
  padding: var(--space-4);
  -webkit-overflow-scrolling: touch;
}

.er-diagram {
  display: grid;
  width: 100%;
  min-width: 45rem;
  grid-template-columns: minmax(8rem, 0.8fr) repeat(3, minmax(0, 1fr));
  gap: var(--space-3);
}

.er-deck-band {
  display: contents;
}

.er-deck-label,
.er-zone {
  min-width: 0;
  min-height: 3.5rem;
  border: 1px solid var(--color-steel-500);
  color: var(--color-silver-200);
  font-family: var(--font-heading);
  font-size: 0.75rem;
  font-weight: var(--weight-semibold);
  letter-spacing: 0.08em;
  line-height: 1.3;
  padding: var(--space-3);
  text-transform: uppercase;
}

.er-deck-label {
  border-left: 4px solid var(--color-steel-500);
  color: var(--color-white-100);
}

.er-zone--active {
  border-color: var(--color-amber-500);
  border-top-width: 4px;
  color: var(--color-white-100);
}

.er-adjacency {
  display: grid;
  grid-template-columns: minmax(15.625rem, 34fr) minmax(26.875rem, 66fr);
  gap: var(--space-6);
  align-items: start;
}

.er-check-panel {
  min-width: 0;
  border: var(--border-structural);
  background: var(--color-marine-800);
  padding: var(--space-4);
}

.er-check-panel ul,
.er-comfort-check ul,
.er-before-list ol,
.er-planning-grid ul {
  margin: 0;
}

.er-check-panel li + li,
.er-comfort-check li + li,
.er-before-list li + li,
.er-planning-grid li + li {
  margin-top: var(--space-2);
}

.er-adjacency__copy {
  min-width: 0;
  max-width: 58ch;
}

.er-adjacency__copy p:last-child {
  margin-bottom: 0;
}

.er-venue-intro {
  max-width: 70ch;
}

.er-facility-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.er-facility-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border: var(--border-structural);
  border-radius: var(--radius-standard);
  background: var(--color-marine-900);
  padding: var(--space-5);
}

.er-facility-card > * {
  min-width: 0;
  margin: 0;
}

.er-facility-card figure {
  width: 100%;
}

.er-facility-card img {
  width: 100%;
  aspect-ratio: 3 / 2;
  border: 1px solid var(--color-steel-500);
  object-fit: cover;
  transition: object-position var(--transition-fast), border-color var(--transition-fast);
}

.er-facility-card:hover {
  border-color: var(--color-steel-500);
}

.er-facility-card:hover img {
  border-color: var(--color-silver-200);
  object-position: center 47%;
}

.er-facility-card figcaption {
  margin-top: var(--space-2);
}

.er-pool-opening,
.er-active-opening {
  display: grid;
  grid-template-columns: minmax(22.5rem, 60fr) minmax(26.25rem, 40fr);
  gap: var(--space-6);
  align-items: start;
}

.er-pool-copy {
  min-width: 0;
  max-width: 62ch;
}

.er-active-copy {
  min-width: 0;
  max-width: 66ch;
}

.er-image-panel {
  width: 100%;
  min-width: 0;
  margin: 0;
}

.er-image-panel img {
  width: 100%;
  border: var(--border-structural);
  object-fit: cover;
}

.er-pool-opening .er-image-panel img {
  aspect-ratio: 16 / 9;
}

.er-active-opening .er-image-panel img {
  aspect-ratio: 4 / 3;
}

.er-programme-panel {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
  margin-top: var(--space-6);
  padding: var(--space-5);
}

.er-programme-panel > div {
  min-width: 0;
}

.er-programme-panel p:last-child {
  margin-bottom: 0;
}

.er-comfort-check {
  max-width: 58ch;
  margin-top: var(--space-6);
  border-left: 4px solid var(--color-amber-500);
  padding-left: var(--space-4);
}

.er-active-opening {
  grid-template-columns: minmax(0, 60fr) minmax(18.75rem, 40fr);
}

.er-table-wrap {
  margin-top: var(--space-6);
}

.er-table-wrap caption {
  padding: var(--space-3) var(--space-4);
  color: var(--color-silver-200);
  font-family: var(--font-heading);
  font-size: var(--text-module-title);
  font-weight: var(--weight-semibold);
  text-align: left;
}

.er-table-wrap table {
  min-width: 48rem;
}

.er-table-wrap th,
.er-table-wrap td {
  min-width: 8rem;
}

.er-table-wrap tbody th {
  color: var(--color-white-100);
}

.er-active-notes {
  display: grid;
  grid-template-columns: minmax(20rem, 55fr) minmax(20rem, 45fr);
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.er-active-notes article {
  min-width: 0;
  border-top: 4px solid var(--color-steel-500);
  background: var(--color-marine-800);
  padding: var(--space-5);
}

.er-active-notes article > :last-child {
  margin-bottom: 0;
}

.er-route-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
}

.er-route-strip article {
  min-width: 0;
  border-top: 4px solid var(--color-steel-500);
  background: var(--color-marine-800);
  padding: var(--space-4);
}

.er-route-strip span {
  color: var(--color-amber-500);
  font-family: var(--font-heading);
  font-size: 1.25rem;
  font-weight: var(--weight-bold);
}

.er-route-strip h3 {
  margin-top: var(--space-2);
}

.er-route-strip p,
.er-route-strip h3 {
  margin-bottom: 0;
}

.er-route-strip p {
  margin-top: var(--space-2);
  color: var(--color-silver-200);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.er-evening-detail {
  display: grid;
  grid-template-columns: minmax(26.25rem, 65fr) minmax(17.5rem, 35fr);
  gap: var(--space-6);
  margin-top: var(--space-6);
}

.er-evening-detail > * {
  min-width: 0;
}

.er-evening-detail > div {
  max-width: 66ch;
}

.er-matrix {
  border: var(--border-structural);
  background: var(--color-marine-800);
  padding: var(--space-4);
}

.er-matrix dl {
  margin: var(--space-3) 0 0;
}

.er-matrix dd:last-child {
  margin-bottom: 0;
}

.er-before-list {
  max-width: 60ch;
  margin-top: var(--space-6);
}

.er-planning {
  padding: var(--space-6);
}

.er-planning .eyebrow {
  color: var(--color-marine-900);
}

.er-planning-lead {
  max-width: 64ch;
}

.er-planning-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-6);
}

.er-planning-grid article {
  min-width: 0;
  border: 1px solid var(--color-border-light);
  padding: var(--space-5);
}

.er-planning-grid article > :last-child {
  margin-bottom: 0;
}

.er-planning-grid .meta {
  color: var(--color-marine-900);
}

.er-conclusion-copy {
  max-width: 66ch;
}

.er-related-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-6);
}

.er-related-grid article {
  min-width: 0;
  border: var(--border-structural);
  border-top: 4px solid var(--color-amber-500);
  background: var(--color-marine-800);
  padding: var(--space-4);
}

.er-related-grid article > :last-child {
  margin-bottom: 0;
}

.er-faq details {
  width: 100%;
  min-width: 0;
  border: var(--border-structural);
  background: var(--color-marine-900);
  padding: var(--space-4);
}

.er-faq details + details {
  margin-top: var(--space-3);
}

.er-faq summary {
  color: var(--color-white-100);
  cursor: pointer;
  font-family: var(--font-heading);
  font-size: var(--text-module-title);
  font-weight: var(--weight-semibold);
  line-height: var(--leading-module);
}

.er-faq details[open] {
  border-left: 4px solid var(--color-amber-500);
}

.er-faq details > div {
  max-width: 64ch;
  margin-top: var(--space-4);
}

.er-faq details > div p:last-child {
  margin-bottom: 0;
}

@media (min-width: 960px) {
  .er-rail {
    position: sticky;
    top: var(--space-6);
  }
}

@media (max-width: 959px) {
  .er-frame__layout {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-6);
  }

  .er-rail {
    padding: var(--space-4);
  }

  .er-rail__toggle {
    display: flex;
    justify-content: space-between;
  }

  .er-rail__links {
    margin-top: var(--space-4);
  }

  .er-rail__note {
    margin-top: var(--space-4);
  }
}

@media (max-width: 899px) {
  .er-facility-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 840px) {
  .er-adjacency,
  .er-evening-detail {
    grid-template-columns: minmax(0, 1fr);
  }

  .er-adjacency__copy,
  .er-evening-detail > div {
    max-width: none;
  }

  .er-pool-opening,
  .er-active-opening {
    grid-template-columns: minmax(0, 1fr);
  }

  .er-route-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .er-active-notes,
  .er-related-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .er-orientation__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--space-5);
  }

  .er-orientation__copy .lead {
    max-width: 42ch;
  }

  .er-lenses,
  .er-location-key,
  .er-programme-panel,
  .er-planning-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .er-section + .er-section {
    margin-top: var(--space-12);
    padding-top: var(--space-8);
  }

  .er-table-wrap::after,
  .er-diagram-wrap::after {
    display: block;
    margin-top: var(--space-2);
    color: var(--color-amber-500);
    content: "Scroll horizontally for full reference →";
    font-size: var(--text-meta);
    font-weight: var(--weight-semibold);
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }
}

@media (max-width: 700px) {
  .er-planning {
    padding: var(--space-4);
  }
}

@media (max-width: 620px) {
  .er-route-strip {
    grid-template-columns: minmax(0, 1fr);
  }

  .er-orientation {
    padding-block: var(--space-6);
  }

  .er-facility-card,
  .er-active-notes article,
  .er-planning-grid article {
    padding: var(--space-4);
  }
}
