/* PRIMARY SERVICE CAROUSEL MODAL CSS — recovered from uploaded large(13).css */

:root {
  --kt-psm-open-duration: 1020ms;
  --kt-psm-close-duration: 820ms;
  --kt-psm-open-panel-delay: 0ms;
  --kt-psm-close-backdrop-delay: 100ms;
  --kt-psm-ease-open: cubic-bezier(0.16, 1, 0.3, 1);
  --kt-psm-ease-close: cubic-bezier(0.55, 0.06, 0.68, 0.19);
  --kt-psm-lift: 40px;
  --kt-psm-scale: 0.962;
}

.kt-primary-service-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: clamp(24px, 3vw, 48px);
}

.kt-primary-service-modal[hidden] {
  display: none !important;
}

.kt-primary-service-modal.kt-is-open .kt-primary-service-modal__backdrop,
.kt-primary-service-modal.kt-primary-service-modal--open
  .kt-primary-service-modal__backdrop {
  opacity: 1;
}

.kt-primary-service-modal.kt-is-open .kt-primary-service-modal__panel,
.kt-primary-service-modal.kt-primary-service-modal--open
  .kt-primary-service-modal__panel {
  opacity: 1;
  transform: translateY(0) scale(1);
  transition-delay: var(--kt-psm-open-panel-delay);
}

.kt-primary-service-modal.kt-is-closing .kt-primary-service-modal__backdrop,
.kt-primary-service-modal.kt-primary-service-modal--closing
  .kt-primary-service-modal__backdrop {
  opacity: 0;
  transition: opacity var(--kt-psm-close-duration) var(--kt-psm-ease-close);
  transition-delay: var(--kt-psm-close-backdrop-delay);
}

.kt-primary-service-modal.kt-is-closing .kt-primary-service-modal__panel,
.kt-primary-service-modal.kt-primary-service-modal--closing
  .kt-primary-service-modal__panel {
  opacity: 0;
  transform: translateY(var(--kt-psm-lift)) scale(var(--kt-psm-scale));
  transition:
    opacity var(--kt-psm-close-duration) var(--kt-psm-ease-close),
    transform var(--kt-psm-close-duration) var(--kt-psm-ease-close);
  transition-delay: 0ms;
}

.kt-primary-service-modal.kt-is-closing .kt-primary-service-modal__frame,
.kt-primary-service-modal.kt-primary-service-modal--closing
  .kt-primary-service-modal__frame {
  opacity: 0;
}

.kt-primary-service-modal.kt-is-open .kt-primary-service-modal__close,
.kt-primary-service-modal.kt-primary-service-modal--open
  .kt-primary-service-modal__close {
  opacity: 1;
  transition-delay: 0ms;
}

.kt-primary-service-modal.kt-is-closing .kt-primary-service-modal__close,
.kt-primary-service-modal.kt-primary-service-modal--closing
  .kt-primary-service-modal__close {
  opacity: 0;
  transition-duration: calc(var(--kt-psm-close-duration) * 0.65);
  transition-delay: 0ms;
}

.kt-primary-service-modal__backdrop {
  position: absolute;
  inset: 0;
  cursor: pointer;
  background:
    radial-gradient(
      ellipse 120% 70% at 50% -4%,
      rgba(58, 44, 26, 0.42) 0%,
      transparent 62%
    ),
    radial-gradient(
      ellipse 90% 50% at 50% 110%,
      rgba(0, 0, 0, 0.6) 0%,
      transparent 64%
    ),
    rgba(8, 7, 5, 0.84);
  backdrop-filter: blur(18px) saturate(1.08);
  -webkit-backdrop-filter: blur(18px) saturate(1.08);
  opacity: 0;
  transition: opacity 680ms var(--kt-psm-ease-open);
}

@media (prefers-reduced-motion: reduce) {
.kt-primary-service-modal__backdrop,
  .kt-primary-service-modal__panel,
  .kt-primary-service-modal__frame,
  .kt-primary-service-modal__close {
    transition-duration: 1ms !important;
    transition-delay: 0ms !important;
  }
}

.kt-primary-service-modal__panel {
  position: relative;
  z-index: 2;
  width: min(1280px, 100%);
  height: calc(100dvh - clamp(48px, 6vw, 96px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 4px;
  border: 1px solid rgba(212, 180, 129, 0.28);
  background: #0a0908;
  box-shadow:
    0 60px 140px rgba(0, 0, 0, 0.68),
    0 0 0 1px rgba(0, 0, 0, 0.42),
    inset 0 1px 0 rgba(228, 212, 188, 0.1);
  opacity: 0;
  transform: translateY(var(--kt-psm-lift)) scale(var(--kt-psm-scale));
  transition:
    opacity 520ms ease,
    transform var(--kt-psm-open-duration) var(--kt-psm-ease-open);
}

.kt-primary-service-modal__title {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.kt-primary-service-modal__close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 10;
  width: 44px;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(212, 180, 129, 0.36);
  background: linear-gradient(
    180deg,
    rgba(40, 33, 24, 0.94),
    rgba(14, 12, 9, 0.97)
  );
  box-shadow:
    0 10px 26px rgba(0, 0, 0, 0.46),
    inset 0 1px 0 rgba(228, 212, 188, 0.16);
  cursor: pointer;
  appearance: none;
  -webkit-tap-highlight-color: transparent;
  outline: none;
  opacity: 0;
  transition:
    opacity 420ms ease 180ms,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    transform 0.3s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.kt-primary-service-modal__close span {
  position: absolute;
  width: 16px;
  height: 1.5px;
  border-radius: 999px;
  background: rgba(232, 218, 196, 0.92);
  transition: background 0.25s ease;
}

.kt-primary-service-modal__close span:nth-child(1) {
  transform: rotate(45deg);
}

.kt-primary-service-modal__close span:nth-child(2) {
  transform: rotate(-45deg);
}

.kt-primary-service-modal__close:hover,
.kt-primary-service-modal__close:focus-visible {
  border-color: rgba(224, 178, 110, 0.55);
  box-shadow:
    0 10px 30px rgba(0, 0, 0, 0.54),
    0 0 22px rgba(214, 164, 91, 0.18),
    inset 0 1px 0 rgba(255, 255, 255, 0.2);
  transform: rotate(90deg);
}

.kt-primary-service-modal__close:hover span,
.kt-primary-service-modal__close:focus-visible span {
  background: rgba(255, 239, 203, 1);
}

.kt-primary-service-modal__frame {
  display: block;
  width: 100%;
  height: 100%;
  flex: 1 1 auto;
  border: 0;
  background: #0a0908;
  opacity: 1;
  transition: opacity var(--kt-psm-close-duration) var(--kt-psm-ease-close);
}

.kt-primary-service-modal.kt-primary-service-modal--advisory {
  padding: 0;
}

.kt-primary-service-modal--advisory .kt-primary-service-modal__panel {
  width: 100%;
  height: 100dvh;
  overflow: visible;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  transition-delay: 0ms;
}

.kt-primary-service-modal--advisory.kt-is-open
  .kt-primary-service-modal__panel,
.kt-primary-service-modal--advisory.kt-primary-service-modal--open
  .kt-primary-service-modal__panel {
  transition-delay: 0ms;
}

.kt-primary-service-modal--advisory .kt-primary-service-modal__frame {
  background: transparent;
}

body.kt-primary-service-modal-open {
  overflow: hidden;
}

/* Phone + portrait only — tablet landscape keeps the desktop inset modal frame. */
@media (max-width: 900px) and (orientation: portrait),
       (max-width: 900px) and (max-height: 500px) {
  .kt-primary-service-modal__backdrop {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .kt-primary-service-modal {
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
  }

  .kt-primary-service-modal__panel {
    width: 100%;
    max-width: none;
    height: 100dvh;
    height: 100svh;
    border-radius: 0;
    border: 0;
    box-shadow: none;
  }

  .kt-primary-service-modal__close {
    top: max(10px, env(safe-area-inset-top, 0px));
    right: max(10px, env(safe-area-inset-right, 0px));
  }

  .kt-primary-service-modal__frame {
    width: 100%;
    height: 100%;
    min-height: 100%;
  }
}

/* Phone landscape ONLY — edge-to-edge frame for short viewports.
   Tablet landscape keeps the desktop inset panel (max-height stays ≤500 for phones). */
@media (max-width: 1000px) and (max-height: 500px) and (orientation: landscape) {
  .kt-primary-service-modal--landscape-carousel {
    padding: 0;
    align-items: stretch;
    justify-content: stretch;
  }

  .kt-primary-service-modal--landscape-carousel .kt-primary-service-modal__panel {
    width: 100%;
    max-width: none;
    height: 100dvh;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }
}
