.facilities-hero {
  background: radial-gradient(circle at top left, var(--color-primary-soft), transparent 55%), radial-gradient(circle at bottom right, var(--color-accent-soft), transparent 55%);
}

.facilities-hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
  gap: var(--space-24);
  align-items: center;
}

@media (max-width: 899px) {
  .facilities-hero-layout {
    grid-template-columns: 1fr;
  }
}

.facilities-hero-text p.lead {
  max-width: 40rem;
}

.facilities-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-12);
  margin-bottom: var(--space-12);
}

.facilities-hero-highlights {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-12);
  margin: 0;
}

.facilities-hero-highlights dt {
  font-weight: 700;
  color: var(--color-gray-900);
}

.facilities-hero-highlights dd {
  margin: 0;
  color: var(--color-text-muted);
  font-size: var(--font-size-sm);
}

@media (max-width: 599px) {
  .facilities-hero-highlights {
    grid-template-columns: 1fr;
  }
}

.facilities-hero-media {
  max-height: 420px;
}

.facilities-section-header {
  max-width: 44rem;
  margin-bottom: var(--space-24);
}

.facilities-grid {
  align-items: stretch;
}

.facilities-card {
  height: 100%;
}

.facilities-inline-link {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  font-weight: 600;
  font-size: var(--font-size-sm);
  margin-top: var(--space-6);
}

.facilities-inline-link::after {
  content: "\2192";
  font-size: 0.95em;
}

.facilities-feature {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
  gap: var(--space-24);
  align-items: center;
  padding-block: var(--space-24);
  border-top: 1px solid var(--color-gray-200);
}

.facilities-feature:last-of-type {
  border-bottom: 1px solid var(--color-gray-200);
}

.facilities-feature.layout-reverse {
  grid-template-columns: minmax(0, 2.5fr) minmax(0, 3fr);
}

@media (max-width: 899px) {
  .facilities-feature,
  .facilities-feature.layout-reverse {
    grid-template-columns: 1fr;
  }
}

.facilities-feature-content ul {
  margin-top: var(--space-6);
}

.facilities-feature-media-placeholder {
  border-radius: var(--radius-lg);
  border: 1px dashed var(--color-gray-300);
  min-height: 220px;
  background: linear-gradient(135deg, var(--color-gray-50), var(--color-primary-soft));
}

.facilities-accessibility {
  background-color: var(--color-gray-50);
}

.facilities-events-layout {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2.5fr);
  gap: var(--space-24);
  align-items: flex-start;
}

@media (max-width: 899px) {
  .facilities-events-layout {
    grid-template-columns: 1fr;
  }
}

.facilities-events-safety {
  background-color: var(--color-surface);
}

.facilities-cta-group {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  margin-top: var(--space-12);
}

.facilities-policy-links {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  margin-top: var(--space-8);
}

.facilities-policy-links a {
  font-size: var(--font-size-sm);
}

.facilities-final-cta {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
  color: #ffffff;
}

.facilities-final-cta h2,
.facilities-final-cta p {
  color: #ffffff;
}

.facilities-final-cta-inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-16);
}

@media (max-width: 599px) {
  .facilities-final-cta-inner {
    align-items: flex-start;
  }
}
