.onboard-facilities {
  padding-block-end: var(--space-9);
}

.onboard-facilities__hero,
.onboard-facilities__section {
  padding-block: clamp(var(--space-8), 8vw, var(--space-9));
}

.onboard-facilities__hero {
  padding-block-start: clamp(var(--space-6), 5vw, var(--space-8));
}

.onboard-facilities__hero-grid,
.onboard-facilities__check-grid,
.onboard-facilities__water-top,
.onboard-facilities__water-bottom,
.onboard-facilities__motion-grid,
.onboard-facilities__family-grid,
.onboard-facilities__utility-grid,
.onboard-facilities__access-heading,
.onboard-facilities__access-grid,
.onboard-facilities__rhythm-grid,
.onboard-facilities__priority-grid,
.onboard-facilities__next-grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--space-4);
}

.onboard-facilities__hero-panel {
  grid-column: span 7;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  justify-content: space-between;
  gap: var(--space-7);
  padding: clamp(var(--space-5), 4vw, var(--space-7));
  border: var(--border-default);
  background: var(--color-module);
}

.onboard-facilities__hero-copy,
.onboard-facilities__section-intro,
.onboard-facilities__water-main,
.onboard-facilities__motion-heading,
.onboard-facilities__family-heading,
.onboard-facilities__utility-heading,
.onboard-facilities__priority-intro,
.onboard-facilities__next-intro,
.onboard-facilities__rhythm-intro {
  min-width: 0;
}

.onboard-facilities__hero-copy {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.onboard-facilities__hero-copy h1,
.onboard-facilities__hero-copy p,
.onboard-facilities__section-intro h2,
.onboard-facilities__section-intro p,
.onboard-facilities__water-main h2,
.onboard-facilities__water-main p,
.onboard-facilities__motion-heading h2,
.onboard-facilities__family-heading h2,
.onboard-facilities__utility-heading h2,
.onboard-facilities__access-heading h2,
.onboard-facilities__rhythm-intro h2,
.onboard-facilities__priority-intro h2,
.onboard-facilities__next-intro h2 {
  margin: 0;
}

.onboard-facilities__hero-lead {
  max-width: 38.75rem;
}

.onboard-facilities__hero-lead p {
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.onboard-facilities__hero-media {
  grid-column: span 5;
  width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 3 / 4;
}

.onboard-facilities__hero-media img {
  object-position: 62% center;
}

.onboard-facilities__deck-index {
  display: grid;
  width: min(100%, 25rem);
  min-width: 0;
  grid-template-columns: 1fr;
  border-top: var(--border-default);
}

.onboard-facilities__deck-index a {
  display: grid;
  min-width: 0;
  min-height: 2.75rem;
  grid-template-columns: 2.5rem minmax(0, 1fr) 0.5rem;
  align-items: center;
  gap: var(--space-2);
  padding-inline: var(--space-3);
  border-bottom: var(--border-default);
  border-inline-start: 2px solid transparent;
  color: var(--color-text-secondary);
  font-family: var(--font-display);
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  line-height: 1.1;
  text-transform: uppercase;
}

.onboard-facilities__deck-index a span,
.onboard-facilities__code,
.onboard-facilities__number,
.onboard-facilities__time {
  color: var(--color-text-muted);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: var(--leading-micro);
  text-transform: uppercase;
}

.onboard-facilities__deck-index a i {
  width: 0.3125rem;
  height: 0.3125rem;
  background: transparent;
}

.onboard-facilities__deck-index a:hover,
.onboard-facilities__deck-index a:focus-visible {
  border-inline-start-color: var(--color-orange);
  color: var(--color-orange);
}

.onboard-facilities__deck-index a:hover i,
.onboard-facilities__deck-index a:focus-visible i {
  background: var(--color-orange);
}

.onboard-facilities__check-grid {
  align-items: start;
}

.onboard-facilities__section-intro {
  grid-column: span 4;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.onboard-facilities__section-intro p {
  max-width: 22rem;
  color: var(--color-text-secondary);
}

.onboard-facilities__check-cards {
  grid-column: span 8;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.onboard-facilities__check-card,
.onboard-facilities__family-card,
.onboard-facilities__utility-card,
.onboard-facilities__access-route,
.onboard-facilities__verify,
.onboard-facilities__confirm {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.onboard-facilities__check-card {
  min-height: 100%;
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--color-module);
}

.onboard-facilities__check-card h3,
.onboard-facilities__check-card p,
.onboard-facilities__water-main p,
.onboard-facilities__quiet-panel h3,
.onboard-facilities__quiet-panel p,
.onboard-facilities__spa-card h3,
.onboard-facilities__spa-card p,
.onboard-facilities__motion-row h3,
.onboard-facilities__motion-row p,
.onboard-facilities__motion-aside h3,
.onboard-facilities__motion-aside p,
.onboard-facilities__family-card h3,
.onboard-facilities__family-card p,
.onboard-facilities__utility-card h3,
.onboard-facilities__utility-card p,
.onboard-facilities__access-route h3,
.onboard-facilities__access-route p,
.onboard-facilities__verify h3,
.onboard-facilities__verify p,
.onboard-facilities__confirm h3,
.onboard-facilities__confirm p,
.onboard-facilities__rhythm-segment h3,
.onboard-facilities__rhythm-segment p,
.onboard-facilities__priority-card h3,
.onboard-facilities__priority-card p,
.onboard-facilities__next-card h3,
.onboard-facilities__next-card p {
  margin: 0;
}

.onboard-facilities__check-card p,
.onboard-facilities__family-card p,
.onboard-facilities__utility-card p,
.onboard-facilities__motion-aside p,
.onboard-facilities__verify p,
.onboard-facilities__confirm p,
.onboard-facilities__priority-card p,
.onboard-facilities__next-card p {
  color: var(--color-text-secondary);
}

.onboard-facilities__status {
  margin-top: auto;
  color: var(--color-orange);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: var(--leading-label);
  text-transform: uppercase;
}

.onboard-facilities__water-top {
  align-items: center;
}

.onboard-facilities__water-main {
  grid-column: span 5;
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.onboard-facilities__water-main p {
  max-width: 37.5rem;
}

.onboard-facilities__pool-media {
  grid-column: span 7;
  width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 16 / 9;
}

.onboard-facilities__water-bottom {
  margin-top: var(--space-4);
}

.onboard-facilities__quiet-panel {
  grid-column: span 7;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.onboard-facilities__quiet-panel p {
  max-width: 26.25rem;
}

.onboard-facilities__spa-card {
  grid-column: 9 / span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
  border-inline-start-color: var(--color-orange);
}

.onboard-facilities__checklist,
.onboard-facilities__inline-list {
  display: flex;
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.onboard-facilities__checklist {
  flex-direction: column;
  gap: var(--space-2);
}

.onboard-facilities__checklist li {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: var(--space-2);
  color: var(--color-text-secondary);
  font-size: var(--text-small);
  line-height: var(--leading-small);
}

.onboard-facilities__checklist li::before {
  width: 0.3125rem;
  height: 0.3125rem;
  flex: 0 0 0.3125rem;
  background: var(--color-orange);
  content: "";
}

.onboard-facilities__motion-heading {
  margin-bottom: var(--space-6);
}

.onboard-facilities__motion-heading h2,
.onboard-facilities__family-heading h2,
.onboard-facilities__utility-heading h2,
.onboard-facilities__priority-intro h2,
.onboard-facilities__next-intro h2,
.onboard-facilities__rhythm-intro h2 {
  margin-top: var(--space-3);
}

.onboard-facilities__motion-grid {
  align-items: start;
}

.onboard-facilities__motion-list {
  grid-column: span 8;
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  border-top: var(--border-default);
}

.onboard-facilities__motion-row {
  display: grid;
  min-width: 0;
  grid-template-columns: 8rem minmax(0, 1fr);
  gap: var(--space-4);
  padding: var(--space-5) 0;
  border-bottom: var(--border-default);
}

.onboard-facilities__motion-meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-3);
}

.onboard-facilities__motion-meta > span:first-child {
  color: var(--color-orange);
  font-family: var(--font-display);
  font-size: 1.75rem;
  font-weight: 600;
  line-height: 1;
}

.onboard-facilities__motion-row > div:last-child {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.onboard-facilities__motion-row p {
  max-width: 43.75rem;
  color: var(--color-text-secondary);
}

.onboard-facilities__motion-aside {
  grid-column: span 4;
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-3);
}

.onboard-facilities__family-heading,
.onboard-facilities__utility-heading {
  margin-bottom: var(--space-6);
}

.onboard-facilities__family-heading {
  max-width: 35rem;
}

.onboard-facilities__family-grid {
  align-items: start;
}

.onboard-facilities__family-media {
  grid-column: span 4;
  width: 100%;
  min-width: 0;
  margin: 0;
  aspect-ratio: 3 / 4;
}

.onboard-facilities__family-cards {
  grid-column: span 8;
  display: grid;
  min-width: 0;
  grid-template-columns: 1fr;
  gap: var(--space-4);
}

.onboard-facilities__family-card {
  padding: var(--space-5);
}

.onboard-facilities__inline-list {
  flex-wrap: wrap;
  gap: var(--space-2);
}

.onboard-facilities__inline-list li {
  padding: 0.25rem 0.5rem;
  border: 1px solid var(--color-line);
  color: var(--color-text-secondary);
  font-size: var(--text-micro);
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: var(--leading-micro);
  text-transform: uppercase;
}

.onboard-facilities__age-diagram {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-2);
}

.onboard-facilities__age-diagram span {
  height: 0.5rem;
  border: 1px solid var(--color-line);
  background: var(--color-bg);
}

.onboard-facilities__age-diagram span:nth-child(2) {
  border-color: var(--color-orange);
}

.onboard-facilities__code--active {
  color: var(--color-orange);
}

.onboard-facilities__utility-grid {
  align-items: stretch;
}

.onboard-facilities__utility-card {
  padding: var(--space-5);
}

.onboard-facilities__utility-card--reception { grid-column: span 3; }
.onboard-facilities__utility-card--orientation { grid-column: span 5; }
.onboard-facilities__utility-card--small-services { grid-column: span 4; }
.onboard-facilities__utility-card--connectivity { grid-column: span 6; }

.onboard-facilities__utility-card--small-services .badge {
  align-self: flex-start;
}

.onboard-facilities__number {
  color: var(--color-orange);
}

.onboard-facilities__route-line {
  width: 100%;
  height: 1px;
  margin-top: auto;
  background: linear-gradient(to right, var(--color-orange) 0 20%, var(--color-line) 20% 100%);
}

.onboard-facilities__utility-space {
  grid-column: span 6;
  display: flex;
  min-width: 0;
  align-items: center;
}

.onboard-facilities__utility-space .route-divider {
  width: 100%;
  margin: 0;
}

.onboard-facilities__access-heading {
  align-items: end;
  margin-bottom: var(--space-6);
}

.onboard-facilities__access-heading > div {
  grid-column: span 5;
  min-width: 0;
}

.onboard-facilities__access-heading > p {
  grid-column: 7 / span 6;
  max-width: 40rem;
  margin: 0;
  color: var(--color-text-secondary);
  font-size: var(--text-lead);
  line-height: var(--leading-lead);
}

.onboard-facilities__access-heading h2 {
  margin-top: var(--space-3);
}

.onboard-facilities__access-route {
  grid-column: span 5;
  padding: var(--space-5);
}

.onboard-facilities__access-route p {
  max-width: 37.5rem;
  color: var(--color-text-secondary);
}

.onboard-facilities__verify {
  grid-column: span 3;
  padding: var(--space-5);
}

.onboard-facilities__confirm {
  grid-column: span 4;
  padding: var(--space-5);
  border-inline-start-color: var(--color-orange);
}

.onboard-facilities__path {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
  margin-top: auto;
  padding-top: var(--space-3);
}

.onboard-facilities__path span {
  color: var(--color-text-secondary);
  font-size: var(--text-label);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.onboard-facilities__path i {
  width: 1.25rem;
  height: 1px;
  flex: 0 0 1.25rem;
  background: var(--color-line);
}

.onboard-facilities__rhythm-intro {
  width: calc((100% - (5 * var(--space-4))) / 12 * 6 + (5 * var(--space-4)));
  margin-bottom: var(--space-6);
}

.onboard-facilities__rhythm-intro p,
.onboard-facilities__priority-intro p,
.onboard-facilities__next-intro p {
  max-width: 38.75rem;
  margin: var(--space-4) 0 0;
  color: var(--color-text-secondary);
}

.onboard-facilities__rhythm-segment {
  grid-column: span 3;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border-top: 1px solid var(--color-orange);
  border-bottom: var(--border-default);
  background: var(--color-module);
}

.onboard-facilities__rhythm-segment p {
  color: var(--color-text-secondary);
}

.onboard-facilities__priority-intro,
.onboard-facilities__next-intro {
  width: calc((100% - (5 * var(--space-4))) / 12 * 6 + (5 * var(--space-4)));
  margin-bottom: var(--space-6);
}

.onboard-facilities__priority-card,
.onboard-facilities__next-card {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  gap: var(--space-3);
  padding: var(--space-5);
  border: var(--border-default);
  background: var(--color-module);
}

.onboard-facilities__priority-card {
  grid-column: span 3;
}

.onboard-facilities__priority-card i {
  width: 2.5rem;
  height: 2px;
  margin-top: auto;
  background: var(--color-line);
  transition: width var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast);
}

.onboard-facilities__priority-card:hover,
.onboard-facilities__priority-card:focus-visible,
.onboard-facilities__next-card:hover,
.onboard-facilities__next-card:focus-visible {
  border-color: var(--color-orange);
  color: var(--color-text);
}

.onboard-facilities__priority-card:hover i,
.onboard-facilities__priority-card:focus-visible i {
  width: 3.5rem;
  background: var(--color-orange);
  transform: translateX(2px);
}

.onboard-facilities__next-card {
  grid-column: span 4;
}

.onboard-facilities__arrow {
  margin-top: auto;
  color: var(--color-orange);
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  transition: transform var(--transition-fast);
}

.onboard-facilities__next-card:hover .onboard-facilities__arrow,
.onboard-facilities__next-card:focus-visible .onboard-facilities__arrow {
  transform: translateX(2px);
}

@media (max-width: 65rem) {
  .onboard-facilities__hero-grid,
  .onboard-facilities__check-grid,
  .onboard-facilities__water-top,
  .onboard-facilities__water-bottom {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .onboard-facilities__hero-media { grid-column: span 6; grid-row: 1; aspect-ratio: 16 / 9; }
  .onboard-facilities__hero-panel { grid-column: span 6; grid-row: 2; }
  .onboard-facilities__check-grid { gap: var(--space-6); }
  .onboard-facilities__section-intro { grid-column: span 6; }
  .onboard-facilities__check-cards { grid-column: span 6; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .onboard-facilities__water-main { grid-column: span 6; }
  .onboard-facilities__pool-media { grid-column: span 6; grid-row: 1; }
  .onboard-facilities__water-main { grid-row: 2; }
  .onboard-facilities__quiet-panel { grid-column: span 3; }
  .onboard-facilities__spa-card { grid-column: span 3; }
}

@media (max-width: 60rem) {
  .onboard-facilities__motion-grid,
  .onboard-facilities__family-grid,
  .onboard-facilities__utility-grid,
  .onboard-facilities__access-heading,
  .onboard-facilities__access-grid,
  .onboard-facilities__rhythm-grid,
  .onboard-facilities__priority-grid,
  .onboard-facilities__next-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }

  .onboard-facilities__motion-list,
  .onboard-facilities__motion-aside,
  .onboard-facilities__family-media,
  .onboard-facilities__family-cards,
  .onboard-facilities__access-heading > div,
  .onboard-facilities__access-heading > p,
  .onboard-facilities__access-route,
  .onboard-facilities__utility-card--connectivity { grid-column: span 6; }

  .onboard-facilities__family-media { aspect-ratio: 4 / 3; }
  .onboard-facilities__family-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .onboard-facilities__family-card:nth-child(3) { grid-column: span 2; }
  .onboard-facilities__utility-card--reception,
  .onboard-facilities__utility-card--orientation,
  .onboard-facilities__utility-card--small-services,
  .onboard-facilities__verify,
  .onboard-facilities__confirm { grid-column: span 3; }
  .onboard-facilities__utility-space { display: none; }
  .onboard-facilities__access-heading { gap: var(--space-4); }
  .onboard-facilities__access-heading > p { max-width: 40rem; }
  .onboard-facilities__rhythm-intro,
  .onboard-facilities__priority-intro,
  .onboard-facilities__next-intro { width: 100%; }
  .onboard-facilities__rhythm-segment,
  .onboard-facilities__priority-card { grid-column: span 3; }
  .onboard-facilities__next-card { grid-column: span 3; }
  .onboard-facilities__next-card:nth-child(3) { grid-column: span 6; }
}

@media (max-width: 47.5rem) {
  .onboard-facilities__hero,
  .onboard-facilities__section { padding-block: clamp(var(--space-7), 12vw, var(--space-8)); }

  .onboard-facilities__hero-grid,
  .onboard-facilities__check-grid,
  .onboard-facilities__water-top,
  .onboard-facilities__water-bottom,
  .onboard-facilities__motion-grid,
  .onboard-facilities__family-grid,
  .onboard-facilities__utility-grid,
  .onboard-facilities__access-heading,
  .onboard-facilities__access-grid,
  .onboard-facilities__rhythm-grid,
  .onboard-facilities__priority-grid,
  .onboard-facilities__next-grid { grid-template-columns: minmax(0, 1fr); }

  .onboard-facilities__hero-panel,
  .onboard-facilities__hero-media,
  .onboard-facilities__section-intro,
  .onboard-facilities__check-cards,
  .onboard-facilities__water-main,
  .onboard-facilities__pool-media,
  .onboard-facilities__quiet-panel,
  .onboard-facilities__spa-card,
  .onboard-facilities__motion-list,
  .onboard-facilities__motion-aside,
  .onboard-facilities__family-media,
  .onboard-facilities__family-cards,
  .onboard-facilities__utility-card--reception,
  .onboard-facilities__utility-card--orientation,
  .onboard-facilities__utility-card--small-services,
  .onboard-facilities__utility-card--connectivity,
  .onboard-facilities__access-heading > div,
  .onboard-facilities__access-heading > p,
  .onboard-facilities__access-route,
  .onboard-facilities__verify,
  .onboard-facilities__confirm,
  .onboard-facilities__rhythm-segment,
  .onboard-facilities__priority-card,
  .onboard-facilities__next-card,
  .onboard-facilities__next-card:nth-child(3) { grid-column: 1; grid-row: auto; }

  .onboard-facilities__hero-media { aspect-ratio: 16 / 9; }
  .onboard-facilities__hero-panel { gap: var(--space-6); padding: var(--space-5); }
  .onboard-facilities__hero-copy h1 { font-size: clamp(2.625rem, 14vw, 4rem); }
  .onboard-facilities__hero-lead p { font-size: 1.0625rem; line-height: 1.45; }
  .onboard-facilities__deck-index { width: 100%; }
  .onboard-facilities__deck-index a { min-height: 2.75rem; }
  .onboard-facilities__check-cards,
  .onboard-facilities__family-cards { grid-template-columns: minmax(0, 1fr); }
  .onboard-facilities__family-card:nth-child(3) { grid-column: 1; }
  .onboard-facilities__motion-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .onboard-facilities__motion-meta { flex-direction: row; align-items: center; }
  .onboard-facilities__motion-row { padding: var(--space-4) 0; }
  .onboard-facilities__family-media { aspect-ratio: 4 / 3; }
  .onboard-facilities__access-heading { align-items: start; margin-bottom: var(--space-5); }
  .onboard-facilities__access-heading > p { font-size: 1rem; line-height: var(--leading-body); }
  .onboard-facilities__rhythm-grid { gap: 0; }
  .onboard-facilities__rhythm-segment { position: relative; padding-inline-start: var(--space-6); border-top: 0; border-bottom: 0; background: transparent; }
  .onboard-facilities__rhythm-segment::before { position: absolute; top: var(--space-5); bottom: calc(var(--space-5) * -1); left: var(--space-3); width: 1px; background: var(--color-line); content: ""; }
  .onboard-facilities__rhythm-segment::after { position: absolute; top: var(--space-5); left: calc(var(--space-3) - 0.1875rem); width: 0.4375rem; height: 0.4375rem; background: var(--color-orange); content: ""; }
  .onboard-facilities__rhythm-segment:last-child::before { bottom: var(--space-5); }
}
