.site-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

:root {
  --mobile-menu-height: 630px;
  --rise-distance: 70px;
}

.burger-btn-wrapper {
  border: 0;
  background: transparent;
}

.burger-btn-wrapper > span {
  display: block;
  transition: opacity 200ms ease, transform 400ms ease;
}

.nav.is-menu-open .burger-btn-top {
  transform: translateY(7px) rotate(135deg);
}

.nav.is-menu-open .burger-btn-middle {
  opacity: 0;
}

.nav.is-menu-open .burger-btn-bottom {
  transform: translateY(-7px) rotate(225deg);
}

@media (max-width: 991px) {
  .nav.is-menu-open {
    height: min(var(--mobile-menu-height), 100dvh);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .nav.is-menu-open .nav-items,
  .nav.is-menu-open .nav-social {
    display: block;
    animation: site-menu-in 400ms ease-out both;
  }
}

@media (min-width: 992px) {
  .nav-item-callout-wrapper:hover > .nav-callout,
  .nav-item-callout-wrapper:focus-within > .nav-callout {
    display: block;
    animation: site-menu-in 300ms ease-out both;
  }
}

.w-slider-mask > .w-slide {
  position: absolute;
  inset: 0;
  visibility: hidden;
  opacity: 0;
}

.w-slider:not([data-slider-ready]) .w-slide:first-child,
.w-slider[data-slider-ready] .w-slide.is-current {
  visibility: visible;
  opacity: 1;
}

.w-slide.is-current {
  z-index: 1;
}

.w-slider-dot {
  border: 0;
  padding: 0;
}

.w-slider [hidden] {
  display: none;
}

.w-slider-mask,
.site-gallery .w-lightbox-view {
  touch-action: pan-y;
}

.site-gallery {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border: 0;
  margin: 0;
  padding: 0;
  opacity: 1;
}

.site-gallery::backdrop {
  background: transparent;
}

.site-gallery .w-lightbox-view {
  opacity: 1;
}

.site-gallery .w-lightbox-control,
.site-gallery .w-lightbox-item {
  border: 0;
  background-color: transparent;
}

.site-gallery .w-lightbox-control:disabled {
  visibility: hidden;
}

.site-gallery .w-lightbox-item img {
  width: 100%;
  height: 10vh;
  display: block;
  object-fit: cover;
}

.site-gallery [hidden] {
  display: none;
}

.site-reveal-pending {
  opacity: 0;
}

.site-reveal {
  animation: site-reveal-in var(--reveal-duration, 1000ms) cubic-bezier(.25, .46, .45, .94) var(--reveal-delay, 0ms) both;
}

/* An opacity-only fade keeps fixed descendants anchored to the viewport. */
.site-reveal[data-reveal="fade"] {
  animation-name: site-fade-in;
}

@keyframes site-fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.site-reveal[data-reveal="rise"] {
  --reveal-offset: var(--rise-distance, 70px);
  --reveal-delay: 200ms;
  --reveal-duration: 800ms;
}

.site-reveal[data-reveal="title"] {
  --reveal-offset: -20px;
}

.site-reveal[data-reveal="slide"] {
  --reveal-offset: 100px;
}

@keyframes site-reveal-in {
  from { opacity: 0; transform: translateY(var(--reveal-offset, 0)); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes site-menu-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@media (prefers-reduced-motion: no-preference) {
  .w-slide.is-current .slide-img {
    animation: site-image-zoom 7s ease-in both;
  }
}

@keyframes site-image-zoom {
  from { transform: scale(1); }
  to { transform: scale(1.15); }
}

@media (prefers-reduced-motion: reduce) {
  .nav .nav-items,
  .nav .nav-social,
  .nav .nav-callout,
  .site-reveal {
    animation: none;
  }

  .burger-btn-wrapper > span {
    transition: none;
  }
}
