/* Two native sticky pauses at the end of the homepage. */
.contact-scroll-story { display: contents; }
.contact-scroll-story.is-contact-scroll { display: block; position: relative; }
.is-contact-scroll > .closing-stage,
.is-contact-scroll > .contact-grid { position: sticky; top: var(--contact-top); }
.is-contact-scroll > .closing-stage { height: var(--contact-frame); min-height: 0; }
.is-contact-scroll .closing-copy { padding-block: 24px; opacity: 1; transform: none; transition: none; }
.is-contact-scroll .appointment h3 {
  opacity: var(--appointment-reveal, 0);
  transform: translateY(calc((1 - var(--appointment-reveal, 0)) * 20px));
}
.is-contact-scroll .appointment-action {
  opacity: var(--action-reveal, 0);
  transform: translateY(calc((1 - var(--action-reveal, 0)) * 36px));
}
.contact-visit-story.is-contact-scroll { margin-top: 100px; }
.contact-visit-story.is-contact-scroll > .contact-grid { margin-top: 0; opacity: 1; transform: none; transition: none; }
@media (max-width: 760px) {
  .is-contact-scroll > .closing-stage { justify-content: center; }
  .is-contact-scroll .closing-copy { padding-block: 12px; }
  .is-contact-scroll .closing-visual { position: absolute; z-index: -1; inset: 0 -20px; width: calc(100% + 40px); height: 100%; margin: 0; }
  .is-contact-scroll .closing-visual img { filter: brightness(.55) saturate(.78); }
  .is-contact-scroll .closing-visual::after { background: linear-gradient(90deg, #08090a99, #08090a30); }
  .contact-visit-story.is-contact-scroll { margin-top: 44px; }
}
@media (max-width: 760px) and (max-height: 740px) {
  .is-contact-scroll .closing-copy h2 { font-size: 38px; margin-top: 16px; }
  .is-contact-scroll .appointment { margin-top: 24px; }
  .is-contact-scroll .appointment h3 { font-size: 22px; margin-bottom: 16px; }
  .is-contact-scroll .appointment-action { min-height: 90px; padding: 16px 20px; gap: 10px; }
  .is-contact-scroll .appointment-number { font-size: 28px; }
  .contact-visit-story.is-contact-scroll > .contact-grid { gap: 28px; padding-top: 24px; }
}
