.research-page { min-height: 100vh; }
.research-maintenance {
  display: grid;
  min-height: calc(100svh - 84px);
  width: 100%;
  place-items: center;
  padding: clamp(36px, 7vh, 76px) clamp(22px, 5vw, 72px);
  background: var(--booking-ink);
}
.maintenance-stack {
  display: flex;
  width: min(100%, 680px);
  flex-direction: column;
  align-items: center;
  text-align: center;
}
.maintenance-art {
  width: min(100%, 420px);
  margin: 0 0 28px;
}
.maintenance-art svg {
  display: block;
  width: 100%;
  height: auto;
  overflow: visible;
}
.maintenance-stack h1 {
  margin: 0 0 16px;
  color: var(--booking-paper);
  font-size: clamp(2.25rem, 5.4vw, 3.75rem);
  font-weight: 720;
  letter-spacing: -.055em;
  line-height: 1.08;
}
.maintenance-stack p {
  max-width: 580px;
  margin: 0;
  color: var(--booking-paper-muted);
  font-size: clamp(.98rem, 1.45vw, 1.08rem);
  line-height: 1.75;
}
.maintenance-stack strong { font-weight: 650; }
.maintenance-stack a {
  color: var(--booking-paper);
  text-decoration: underline;
  text-decoration-color: var(--booking-accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  transition: color 140ms ease;
}
.maintenance-stack a:hover,
.maintenance-stack a:focus-visible { color: var(--booking-accent); }
.maintenance-stack a:focus-visible { outline: 2px solid var(--booking-accent); outline-offset: 4px; }
@media (max-width: 620px) {
  .research-maintenance {
    min-height: calc(100svh - 70px - env(safe-area-inset-top));
    padding: 38px 22px 48px;
  }
  .maintenance-art { width: min(100%, 360px); margin-bottom: 22px; }
  .maintenance-stack h1 { margin-bottom: 12px; font-size: clamp(2.15rem, 9vw, 2.85rem); }
}
@media (prefers-reduced-motion: reduce) {
  .maintenance-stack a { transition: none; }
}
