/**
 * Swiper 8.4.7
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: January 30, 2023
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d, .swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 75rem;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide, .swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top, .swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:2.75rem;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: 50%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: 0.625rem;
  right: auto;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: 0.625rem;
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: 10px;
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: 50%;
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: 10px;
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-progressbar {
  background: rgba(0, 0, 0, 0.25);
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: 4px;
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: 4px;
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: 0.625rem;
  position: relative;
  -ms-touch-action: none;
  background: rgba(0, 0, 0, 0.1);
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: 1%;
  bottom: 0.1875rem;
  z-index: 50;
  height: 0.3125rem;
  width: 98%;
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  right: 0.1875rem;
  top: 1%;
  z-index: 50;
  width: 0.3125rem;
  height: 98%;
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 0.625rem;
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

.swiper-lazy-preloader {
  width: 2.625rem;
  height: 2.625rem;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -1.3125rem;
  margin-top: -1.3125rem;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 0.25rem solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active, .swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-next + .swiper-slide, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(3.125rem);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(1.875rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-1.875rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-1.875rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(1.875rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes scaleIn {
  from {
    transform: scale(0.9);
  }
  to {
    transform: scale(1);
  }
}
@keyframes slideInUp {
  from {
    transform: translateY(100%);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.animate-fade-in-up {
  animation: fadeInUp 0.8s ease-out forwards;
}

.animate-fade-in-down {
  animation: fadeInDown 0.8s ease-out forwards;
}

.animate-fade-in-left {
  animation: fadeInLeft 0.8s ease-out forwards;
}

.animate-fade-in-right {
  animation: fadeInRight 0.8s ease-out forwards;
}

.animate-fade-in {
  animation: fadeIn 0.8s ease-out forwards;
}

.animate-scale-in {
  animation: scaleIn 0.8s ease-out forwards;
}

.animate-slide-in-up {
  animation: slideInUp 0.8s ease-out forwards;
}

.animate-delay-100 {
  animation-delay: 0.1s;
}

.animate-delay-200 {
  animation-delay: 0.2s;
}

.animate-delay-300 {
  animation-delay: 0.3s;
}

.animate-delay-400 {
  animation-delay: 0.4s;
}

.animate-delay-500 {
  animation-delay: 0.5s;
}

header.header {
  transition: transform 0.1s ease-out, opacity 0.1s ease-out;
  will-change: transform, opacity;
}

@media screen and (min-width: 48.0625rem) {
  header.header {
    transition: transform 0.1s ease-out, opacity 0.1s ease-out;
    will-change: transform, opacity;
  }
}
.animate-delay-600 {
  animation-delay: 0.6s;
}

.animate-on-scroll {
  opacity: 0;
  transform: translateY(1.875rem);
  transition: all 0.8s ease-out;
}

.animate-on-scroll.animate-visible {
  opacity: 1;
  transform: translateY(0);
}

.header-scrolled {
  background-color: rgba(255, 255, 255, 0.95);
  transition: all 0.3s ease;
}

.stay-card {
  position: relative;
  transform-origin: center;
  overflow: hidden;
  opacity: 1;
}
.stay-card .enter {
  display: none;
}

.stay-card .image-container {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
}

.stay-card .card-image {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}

.stay-card .card-desc {
  position: absolute;
  bottom: 5.625rem;
  left: 1.5rem;
  right: 1.5rem;
  font-size: 0.875rem;
  line-height: 1.375rem;
  color: #333;
  opacity: 0;
  transition: opacity 0s ease;
  z-index: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  line-clamp: 4;
  text-align: left;
}

.stay-card:hover .image-container::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  opacity: 0;
}

.stay-card:hover .enter {
  display: block;
}

.stay-card:hover .plus {
  display: none;
}

.stay-card:hover .card-image {
  position: absolute;
  top: 0;
  right: 0;
  width: 12.5rem !important;
  height: 12.5rem !important;
  z-index: 4;
  -o-object-fit: cover;
     object-fit: cover;
}

.stay-card:hover .card-desc {
  opacity: 1;
  transition: opacity 0.3s ease;
}

#stays-grid-container {
  transition: opacity 0.3s ease;
}

.stay-card-enter {
  opacity: 0;
  transform: translateY(1.25rem);
  transition: all 0.4s ease-out;
}

.stay-card-enter-active {
  opacity: 1;
  transform: translateY(0);
}

#brand-description-container {
  transition: all 0.5s ease-out;
}

.brand-desc-enter {
  opacity: 0;
  transform: translateY(0.9375rem);
  transition: all 0.4s ease-out;
}

.brand-desc-enter-active {
  opacity: 1;
  transform: translateY(0);
}

.brand-tab {
  transition: all 0.3s ease;
}

.brand-tab img {
  transition: all 0.3s ease;
}

.experience-card {
  position: relative;
  overflow: hidden;
  transition: transform 0.3s ease;
}

.experience-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(45deg, rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.1));
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.experience-card:hover::before {
  opacity: 1;
}

.experience-card:hover {
  transform: scale(1.01);
}

.experience-card .experience-content {
  position: relative;
  z-index: 2;
  transition: transform 0.3s ease;
}

.experience-card:hover .experience-content {
  transform: translateY(-0.3125rem);
}

.book-now-btn {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
}
.book-now-btn:hover {
  color: #fff;
  background: #000;
}

.book-now-btn-disabled {
  position: relative;
  overflow: hidden;
  transition: all 0.3s ease;
  border: 0.125rem solid #aeaeb2;
  color: #aeaeb2 !important;
}

.swiper-slide-home {
  transition: transform 0.3s ease;
}

.swiper-slide-home.swiper-slide-active {
  transform: scale(1.01);
}

.modal-overlay {
  animation: fadeIn 0.3s ease-out;
}

.modal-container {
  animation: modalSlideIn 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(1.875rem) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
@media (max-width: 48rem) {
  .stay-card .card-desc {
    display: none;
  }
  .experience-card:hover {
    transform: scale(1.01);
  }
}
.company-tabs li {
  color: #aeaeb2 !important;
  transition: all 0.3s ease;
  position: relative;
}
.company-tabs li:hover {
  color: #666 !important;
  transform: translateY(-0.125rem);
}
.company-tabs li.active {
  color: #000 !important;
}

.company-content {
  scroll-margin-top: 9.375rem;
}

.company-introduction {
  scroll-margin-top: 9.375rem;
}

html {
  scroll-behavior: smooth;
}

@media screen and (max-width: 47.9375rem) {
  main {
    padding-top: 6.5rem !important;
  }
  .company-tabs {
    padding-top: 1.25rem 0.5rem 0 !important;
    gap: 2rem 2.5rem !important;
  }
  .company-tabs li {
    font-size: 1.25rem !important;
    line-height: 1.75rem !important;
  }
  .company-container {
    gap: 4rem !important;
    padding: 2rem 0.75rem !important;
  }
  .company-container .company-content header {
    margin-bottom: 2.5rem !important;
  }
  .company-container .company-content header h1 {
    font-size: 2.125rem !important;
    margin-bottom: 4rem !important;
  }
  .company-container .company-content header p {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    padding: 0 !important;
    text-align: left !important;
  }
  .company-container .company-content .company-content-list {
    flex-direction: column !important;
    gap: 3rem !important;
    padding: 0 !important;
    align-items: center !important;
  }
  .company-container .company-content .company-content-list img {
    width: 18.0625rem !important;
    height: 20.8125rem !important;
    margin: 0 !important;
  }
  .company-container .company-content .company-content-list ul {
    gap: 2rem !important;
    padding: 0 !important;
    flex-direction: column !important;
    width: 18.0625rem !important;
  }
  .company-container .company-content .company-content-list ul li {
    width: 100% !important;
    text-align: center !important;
  }
  .company-container .company-content .company-content-list ul li .company-content-item {
    flex-direction: row !important;
    text-align: center !important;
    align-items: center !important;
    gap: 1.5rem !important;
  }
  .company-container .company-content .company-content-list ul li .company-content-item img {
    width: 2.75rem !important;
    height: 2.75rem !important;
    margin-bottom: 0 !important;
  }
  .company-container .company-content .company-content-list ul li .company-content-item .title-area {
    display: flex;
    flex-direction: column;
    align-items: baseline;
    gap: 0.5rem;
  }
  .company-container .company-content .company-content-list ul li .company-content-item .company-content-item-title {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    margin-bottom: 0 !important;
  }
  .company-container .company-content .company-content-list ul li .company-content-item .company-content-item-desc {
    font-size: 0.8125rem !important;
    line-height: 1.1875rem !important;
    width: 100% !important;
    text-align: left !important;
  }
  .company-introduction {
    padding: 4rem 0.75rem 0 !important;
    margin-bottom: 4rem !important;
  }
  .company-introduction header h1 {
    font-size: 2.75rem !important;
    margin-bottom: 4rem !important;
  }
  .company-introduction header p {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    max-width: 100% !important;
  }
  .company-introduction section {
    flex-direction: column !important;
    gap: 3rem !important;
  }
  .company-introduction section img {
    width: 100% !important;
    height: 16.125rem !important;
  }
  .company-introduction section ul {
    gap: 1rem !important;
  }
  .company-introduction section ul li {
    flex-direction: row !important;
    text-align: left !important;
    justify-content: space-between !important;
  }
  .company-introduction section ul li span {
    font-size: 0.8125rem !important;
    line-height: 1.1875rem !important;
    color: #000 !important;
  }
  .company-introduction section ul li span:first-child {
    flex-basis: 4.875rem;
  }
  .company-introduction section ul li span:last-child {
    font-weight: 600;
  }
  .animate-on-scroll {
    animation-duration: 0.6s !important;
  }
  .company-content + .company-content {
    margin-top: 3rem !important;
  }
  .company-introduction header {
    margin-bottom: 2rem !important;
  }
  .company-tabs li {
    transition: all 0.3s ease !important;
  }
  .company-tabs li.active {
    color: #000 !important;
  }
}
/* cabin-regular - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cabin";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/cabin-v34-latin-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-500 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cabin";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/cabin-v34-latin-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* cabin-600 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Cabin";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/cabin-v34-latin-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-regular - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/noto-sans-jp-v54-japanese-regular.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-500 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/noto-sans-jp-v54-japanese-500.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* noto-sans-jp-600 - japanese */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/noto-sans-jp-v54-japanese-600.woff2") format("woff2"); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
body {
  font-family: "Cabin", "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  color: #000;
  font-weight: 500;
  margin: 0 auto;
}
.lang-btn {
  color: #aeaeb2;
}
.lang-btn:hover {
  color: #333;
}
.lang-btn.active {
  color: #333;
}

.swiper-container-wrapper {
  width: 100%;
  position: relative;
}

.swiper-slide-home {
  width: 73.8888888889vw !important;
  height: 100% !important;
  background-position: center;
  background-size: cover;
  display: flex;
  justify-content: center;
  align-items: center;
}

.swiper-slide-home img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.swiper-pagination {
  position: absolute;
  bottom: 1.14vw;
  right: 7.83vw;
  left: auto;
  transform: none;
  width: auto;
  display: flex;
  gap: 15px;
}

.swiper-pagination-custom-bullet {
  font-family: "Cabin", sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #ffffff;
  opacity: 0.6;
  cursor: pointer;
  transition: opacity 0.3s ease;
}

.swiper-pagination-custom-bullet-active {
  opacity: 1;
}
/* 1. 使用更直观的盒模型。
  这使得布局计算更加直观。元素的宽度和高度将包含padding和border。
*/
*,
*::before,
*::after {
  box-sizing: border-box;
}

/*
  2. 移除所有元素的默认内外边距。
  这为我们提供了一个完全干净的画布，可以精确控制每个元素的间距。
  在需要的地方再添加边距，而不是覆盖浏览器的默认值。
*/
* {
  margin: 0;
  padding: 0;
}

/*
  3. 允许元素（如<body>）根据内容自然伸缩。
  设置min-height: 100vh 而不是 height: 100vh 可以防止在内容超出视口时出现问题。
  在旧的浏览器（如IE）中，`html`标签也需要设置高度。
*/
html {
  height: 100%;
}

body {
  min-height: 100vh;
  /* 使用vh在现代浏览器中可能更好，但100%是为了向后兼容 */
  min-height: 100%;
}

/*
  4. 设置根元素的字体大小并改善排版。
  - line-height: 1.5 提供了舒适的行间距。
  - -webkit-font-smoothing 和 -moz-osx-font-smoothing 使字体在支持的浏览器上看起来更平滑、更清晰。
  - text-size-adjust: 100% 防止在移动设备旋转时字体大小自动调整。
*/
body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: 100%;
}

/*
  5. 使图片、视频等媒体元素默认具有响应式行为。
  这可以防止大型媒体元素超出其容器。
*/
img,
picture,
video,
canvas,
svg {
  display: block;
  max-width: 100%;
}

/*
  6. 移除表单元素的默认字体样式。
  默认情况下，按钮、输入框等表单元素不会继承父元素的字体样式，这里进行统一。
*/
input,
button,
textarea,
select {
  font: inherit;
  color: inherit;
}

/*
  7. 避免文本换行时出现意外的单词断裂。
  - overflow-wrap: break-word 可以在长单词或URL处换行，防止其溢出容器。
  - hyphens: auto 会在适当的位置添加连字符，提升排版美感（需要设置lang属性）。
*/
p,
h1,
h2,
h3,
h4,
h5,
h6 {
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
}

/*
  8. 移除列表的默认样式。
  在需要时再手动添加列表符号。
*/
ul,
ol {
  list-style: none;
}

/*
  9. 创建一个根堆叠上下文 (Root Stacking Context)。
  这可以简化 z-index 的管理。在新创建的堆叠上下文中，z-index会相对于这个根元素进行计算，
  避免了复杂的全局z-index问题。
*/
#root,
#__next {
  /* 适用于React/Next.js项目，可根据您的项目根元素ID调整 */
  isolation: isolate;
}

/*
  10. 移除所有元素的默认动画和过渡，除非用户明确希望看到动画。
  这是一个基于用户偏好的可访问性改进。
*/
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/*
  11. 移除链接的默认下划线，并设置一个更清晰的focus状态。
*/
a {
  text-decoration: none;
  color: inherit;
}

/*
  12. 重置按钮样式
*/
button {
  border: none;
  background-color: transparent;
  cursor: pointer;
}
/* layer: preflights */
*,::before,::after{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 rgb(0 0 0 / 0);--un-ring-shadow:0 0 rgb(0 0 0 / 0);--un-shadow-inset: ;--un-shadow:0 0 rgb(0 0 0 / 0);--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgb(147 197 253 / 0.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: ;}
/* layer: shortcuts */
.container{width:100%;}
@media (min-width: 40rem){
.container{max-width:40rem;}
}
@media (min-width: 48rem){
.container{max-width:48rem;}
}
@media (min-width: 64rem){
.container{max-width:64rem;}
}
@media (min-width: 80rem){
.container{max-width:80rem;}
}
@media (min-width: 96rem){
.container{max-width:96rem;}
}
/* layer: default */
.visible{visibility:visible;}
.backface-hidden{backface-visibility:hidden;}
.absolute{position:absolute;}
.fixed{position:fixed;}
.relative{position:relative;}
.sticky{position:sticky;}
.static{position:static;}
.inset-0{inset:0;}
.\!-top-16px{top:-1rem !important;}
.\!left-12px{left:0.75rem !important;}
.\!right-12px{right:0.75rem !important;}
.\!right-20px{right:1.25rem !important;}
.bottom-0{bottom:0;}
.left-0{left:0;}
.right-0{right:0;}
.top-0{top:0;}
.-z-1{z-index:-1;}
.z-10{z-index:10;}
.z-100{z-index:100;}
.z-200{z-index:200;}
.grid{display:grid;}
.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr));}
.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.m-auto{margin:auto;}
.m\[_e67\]{margin: e67;}
.mx-auto{margin-left:auto;margin-right:auto;}
.mb-12px{margin-bottom:0.75rem;}
.mb-16{margin-bottom:4rem;}
.mb-16px{margin-bottom:1rem;}
.mb-20px{margin-bottom:1.25rem;}
.mb-24px{margin-bottom:1.5rem;}
.mb-32px{margin-bottom:2rem;}
.mb-36px{margin-bottom:2.25rem;}
.mb-40px{margin-bottom:2.5rem;}
.mb-48px{margin-bottom:3rem;}
.mb-64px{margin-bottom:4rem;}
.mb-72px{margin-bottom:4.5rem;}
.mb128px{margin-bottom:8rem;}
.mb14px{margin-bottom:0.875rem;}
.me{margin-inline-end:1rem;}
.ml108px{margin-left:6.75rem;}
.ml20px{margin-left:1.25rem;}
.mr20px{margin-right:1.25rem;}
.ms{margin-inline-start:1rem;}
.mt{margin-top:1rem;}
.mt-16px{margin-top:1rem;}
.mt-20px{margin-top:1.25rem;}
.mt-24px{margin-top:1.5rem;}
.mt-60px{margin-top:3.75rem;}
.mt-auto{margin-top:auto;}
.mt64px{margin-top:4rem;}
.inline{display:inline;}
.block{display:block;}
.inline-block{display:inline-block;}
.contents{display:contents;}
.hidden{display:none;}
.aspect-\[1\/1\]{aspect-ratio:1/1;}
.aspect-\[630\/728\]{aspect-ratio:630/728;}
.\!h-40px{height:2.5rem !important;}
.\!h-42px{height:2.625rem !important;}
.\!h369px{height:23.0625rem !important;}
.\!w-45px{width:2.8125rem !important;}
.h-10{height:2.5rem;}
.h-104px{height:6.5rem;}
.h-20px{height:1.25rem;}
.h-248px{height:15.5rem;}
.h-32px{height:2rem;}
.h-353px{height:22.0625rem;}
.h-36px{height:2.25rem;}
.h-460px{height:28.75rem;}
.h-48px{height:3rem;}
.h-60px{height:3.75rem;}
.h-631px{height:39.4375rem;}
.h-72px{height:4.5rem;}
.h-75px{height:4.6875rem;}
.h-auto{height:auto;}
.h-full{height:100%;}
.h\[0\]{height:0;}
.h\[s\]{height:s;}
.h\[t\]{height:t;}
.h2{height:0.5rem;}
.h28px{height:1.75rem;}
.h440px{height:27.5rem;}
.max-h-620px{max-height:38.75rem;}
.max-w-1064px{max-width:66.5rem;}
.max-w-1280px{max-width:80rem;}
.max-w-400px{max-width:25rem;}
.max-w-624px{max-width:39rem;}
.max-w-630px{max-width:39.375rem;}
.min-h-screen{min-height:100vh;}
.w-100px{width:6.25rem;}
.w-132px{width:8.25rem;}
.w-135px{width:8.4375rem;}
.w-20px{width:1.25rem;}
.w-21\.25vw{width:21.25vw;}
.w-305px{width:19.0625rem;}
.w-322px{width:20.125rem;}
.w-32px{width:2rem;}
.w-369px{width:23.0625rem;}
.w-600px{width:37.5rem;}
.w-60px{width:3.75rem;}
.w-full{width:100%;}
.w\[t\]{width:t;}
.w238px{width:14.875rem;}
.w278px{width:17.375rem;}
.w630px{width:39.375rem;}
.flex{display:flex;}
.flex-1{flex:1 1 0%;}
.flex-shrink-0{flex-shrink:0;}
.flex-basis-96px{flex-basis:6rem;}
.flex-row{flex-direction:row;}
.flex-row-reverse{flex-direction:row-reverse;}
.flex-col{flex-direction:column;}
.flex-wrap{flex-wrap:wrap;}
.table{display:table;}
.transform{transform:translateX(var(--un-translate-x)) translateY(var(--un-translate-y)) translateZ(var(--un-translate-z)) rotate(var(--un-rotate)) rotateX(var(--un-rotate-x)) rotateY(var(--un-rotate-y)) rotateZ(var(--un-rotate-z)) skewX(var(--un-skew-x)) skewY(var(--un-skew-y)) scaleX(var(--un-scale-x)) scaleY(var(--un-scale-y)) scaleZ(var(--un-scale-z));}
@keyframes fade-in-up{from{opacity:0;transform:translate3d(0,100%,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
.animate-fade-in{animation:fade-in 1s linear 1;}
.animate-fade-in-up{animation:fade-in-up 1s linear 1;}
.animate-delay-100{animation-delay:100ms;}
.animate-delay-200{animation-delay:200ms;}
.animate-delay-300{animation-delay:300ms;}
.animate-delay-400{animation-delay:400ms;}
.cursor-pointer{cursor:pointer;}
.cursor-not-allowed{cursor:not-allowed;}
.resize{resize:both;}
.items-end{align-items:flex-end;}
.items-center{align-items:center;}
.justify-end{justify-content:flex-end;}
.justify-center{justify-content:center;}
.justify-between{justify-content:space-between;}
.justify-left{justify-content:left;}
.gap-12px{gap:0.75rem;}
.gap-20px,
.gap20px{gap:1.25rem;}
.gap-24px{gap:1.5rem;}
.gap-32px{gap:2rem;}
.gap-6{gap:1.5rem;}
.gap-60px{gap:3.75rem;}
.gap-64px{gap:4rem;}
.gap-68px{gap:4.25rem;}
.gap128px{gap:8rem;}
.gap16px{gap:1rem;}
.gap52px{gap:3.25rem;}
.gap80px{gap:5rem;}
.gap-x-32px{-moz-column-gap:2rem;column-gap:2rem;}
.gap-x-42px{-moz-column-gap:2.625rem;column-gap:2.625rem;}
.gap-y-16px{row-gap:1rem;}
.gap-y-48px{row-gap:3rem;}
.space-y-8px>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-top:calc(0.5rem * calc(1 - var(--un-space-y-reverse)));margin-bottom:calc(0.5rem * var(--un-space-y-reverse));}
.overflow-hidden{overflow:hidden;}
.overflow-y-auto{overflow-y:auto;}
.break-all{word-break:break-all;}
.b,
.border{border-width:1px;}
.border-2{border-width:0.125rem;}
.border-t{border-top-width:1px;}
.border-\[\#E0E0E0\]{--un-border-opacity:1;border-color:rgb(224 224 224 / var(--un-border-opacity));}
.border-\#8F8F8F{--un-border-opacity:1;border-color:rgb(143 143 143 / var(--un-border-opacity));}
.border-black{--un-border-opacity:1;border-color:rgb(0 0 0 / var(--un-border-opacity));}
.border-gray-200{--un-border-opacity:1;border-color:rgb(229 231 235 / var(--un-border-opacity));}
.border-gray-700{--un-border-opacity:1;border-color:rgb(55 65 81 / var(--un-border-opacity));}
.rounded-2px{border-radius:0.125rem;}
.border-none{border-style:none;}
.border-solid{border-style:solid;}
.bg-\[\#F5F5F5\]{--un-bg-opacity:1;background-color:rgb(245 245 245 / var(--un-bg-opacity));}
.bg-\#000,
.bg-black{--un-bg-opacity:1;background-color:rgb(0 0 0 / var(--un-bg-opacity));}
.bg-black\/60{background-color:rgb(0 0 0 / 0.6);}
.bg-gray-300{--un-bg-opacity:1;background-color:rgb(209 213 219 / var(--un-bg-opacity));}
.bg-transparent{background-color:transparent;}
.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity));}
.hover\:bg-black:hover{--un-bg-opacity:1;background-color:rgb(0 0 0 / var(--un-bg-opacity));}
.hover\:bg-white:hover{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity));}
.object-cover{-o-object-fit:cover;object-fit:cover;}
.p-20px{padding:1.25rem;}
.p-32px{padding:2rem;}
.p-4{padding:1rem;}
.p-6{padding:1.5rem;}
.p-8px{padding:0.5rem;}
.px{padding-left:1rem;padding-right:1rem;}
.px-12px,
.px12px{padding-left:0.75rem;padding-right:0.75rem;}
.px-16px{padding-left:1rem;padding-right:1rem;}
.px-24px{padding-left:1.5rem;padding-right:1.5rem;}
.px-30px{padding-left:1.875rem;padding-right:1.875rem;}
.px-32px{padding-left:2rem;padding-right:2rem;}
.px-40px,
.px40px{padding-left:2.5rem;padding-right:2.5rem;}
.py-10px{padding-top:0.625rem;padding-bottom:0.625rem;}
.py-12px{padding-top:0.75rem;padding-bottom:0.75rem;}
.py-8px{padding-top:0.5rem;padding-bottom:0.5rem;}
.py36px{padding-top:2.25rem;padding-bottom:2.25rem;}
.py40px{padding-top:2.5rem;padding-bottom:2.5rem;}
.pb-128px{padding-bottom:8rem;}
.pb-184px{padding-bottom:11.5rem;}
.pb-48px{padding-bottom:3rem;}
.pb-80px{padding-bottom:5rem;}
.pb-92px{padding-bottom:5.75rem;}
.pb16px{padding-bottom:1rem;}
.pe{padding-inline-end:1rem;}
.pt{padding-top:1rem;}
.pt-120px{padding-top:7.5rem;}
.pt-24px,
.pt24px{padding-top:1.5rem;}
.pt-64px{padding-top:4rem;}
.pt-72px{padding-top:4.5rem;}
.pt160px{padding-top:10rem;}
.text-center{text-align:center;}
.text-left{text-align:left;}
.text-right{text-align:right;}
.text-12px{font-size:0.75rem;}
.text-13px{font-size:0.8125rem;}
.text-14px{font-size:0.875rem;}
.text-16px{font-size:1rem;}
.text-20px{font-size:1.25rem;}
.text-24px{font-size:1.5rem;}
.text-2xl{font-size:1.5rem;line-height:2rem;}
.text-30px{font-size:1.875rem;}
.text-40px{font-size:2.5rem;}
.text-64px{font-size:4rem;}
.text-base{font-size:1rem;line-height:1.5rem;}
.text-\[\#333\]{--un-text-opacity:1;color:rgb(51 51 51 / var(--un-text-opacity));}
.c-\#8F8F8F,
.text-\#8F8F8F{--un-text-opacity:1;color:rgb(143 143 143 / var(--un-text-opacity));}
.text-black{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity));}
.text-gray-400{--un-text-opacity:1;color:rgb(156 163 175 / var(--un-text-opacity));}
.text-gray-500{--un-text-opacity:1;color:rgb(107 114 128 / var(--un-text-opacity));}
.text-gray-700{--un-text-opacity:1;color:rgb(55 65 81 / var(--un-text-opacity));}
.c-white,
.text-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity));}
.hover\:text-black:hover{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity));}
.hover\:text-gray-300:hover{--un-text-opacity:1;color:rgb(209 213 219 / var(--un-text-opacity));}
.hover\:text-white:hover{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity));}
.font-500{font-weight:500;}
.font-600,
.font600{font-weight:600;}
.font-700,
.font-bold{font-weight:700;}
.font-light{font-weight:300;}
.leading-16px{line-height:1rem;}
.leading-22px{line-height:1.375rem;}
.leading-24px{line-height:1.5rem;}
.leading-28px{line-height:1.75rem;}
.leading-32px{line-height:2rem;}
.leading-38px{line-height:2.375rem;}
.leading-relaxed{line-height:1.625;}
.tab{-moz-tab-size:4;-o-tab-size:4;tab-size:4;}
.shadow{--un-shadow:var(--un-shadow-inset) 0 1px 0.1875rem 0 var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 1px 0.125rem -1px var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
.shadow-xl{--un-shadow:var(--un-shadow-inset) 0 1.25rem 1.5625rem -0.3125rem var(--un-shadow-color, rgb(0 0 0 / 0.1)),var(--un-shadow-inset) 0 0.5rem 0.625rem -0.375rem var(--un-shadow-color, rgb(0 0 0 / 0.1));box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
.focus\:outline-none:focus{outline:0.125rem solid transparent;outline-offset:0.125rem;}
.focus\:ring-2:focus{--un-ring-width:0.125rem;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow), var(--un-ring-shadow), var(--un-shadow);}
.focus\:ring-offset-2:focus{--un-ring-offset-width:0.125rem;}
.focus\:ring-black:focus{--un-ring-opacity:1;--un-ring-color:rgb(0 0 0 / var(--un-ring-opacity));}
.blur{--un-blur:blur(0.5rem);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
.invert{--un-invert:invert(1);filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
.filter{filter:var(--un-blur) var(--un-brightness) var(--un-contrast) var(--un-drop-shadow) var(--un-grayscale) var(--un-hue-rotate) var(--un-invert) var(--un-saturate) var(--un-sepia);}
.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;}
.duration-300{transition-duration:300ms;}
@media (max-width: 63.99375rem){
.max-lg\:hidden{display:none;}
}
@media (min-width: 40rem){
.sm\:block{display:block;}
.sm\:hidden{display:none;}
.sm\:flex-row{flex-direction:row;}
}
@media (min-width: 48rem){
.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.md\:hidden{display:none;}
.md\:flex{display:flex;}
.md\:p-10{padding:2.5rem;}
.md\:px-40px{padding-left:2.5rem;padding-right:2.5rem;}
.md\:text-3xl{font-size:1.875rem;line-height:2.25rem;}
.md\:text-lg{font-size:1.125rem;line-height:1.75rem;}
}
@media (min-width: 64rem){
.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.lg\:mb-96px{margin-bottom:6rem;}
.lg\:block{display:block;}
.lg\:hidden{display:none;}
.lg\:w-400px{width:25rem;}
.lg\:flex{display:flex;}
.lg\:flex-row{flex-direction:row;}
.lg\:gap-120px{gap:7.5rem;}
.lg\:gap-48px{gap:3rem;}
.lg\:pt-128px{padding-top:8rem;}
.lg\:text-16px{font-size:1rem;}
.lg\:text-28px{font-size:1.75rem;}
.lg\:text-48px{font-size:3rem;}
}
.divider {
  color: #ccc;
  margin: 0 0.25rem;
}

html {
  font-size: 4.0712vw;
}

@media screen and (min-width: 28.125rem) {
  html {
    font-size: 18px;
  }
}
@media screen and (min-width: 48rem) {
  html {
    font-size: 9px;
  }
}
@media screen and (min-width: 80rem) {
  html {
    font-size: 1.1111vw;
  }
}
@media screen and (min-width: 90rem) {
  html {
    font-size: 16px;
  }
}
@media screen and (max-width: 48rem) {
  main {
    padding-top: 6.5rem !important;
  }
  .mySwiper .swiper-slide-home {
    width: 100vw !important;
    height: 22.5rem !important;
  }
  .mySwiper .swiper-slide-home .desc {
    font-size: 2rem;
    font-weight: 500;
    line-height: 2.5rem;
    width: 14.125rem;
    text-transform: capitalize;
    margin-left: 0.75rem;
  }
  .content-wrapper {
    padding: 0 0.75rem !important;
  }
  .brand-tabs {
    gap: 2rem 2.5rem !important;
  }
  .brand-tabs .brand-tab {
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.5rem !important;
    text-transform: capitalize !important;
  }
  .brand-tabs .brand-tab img {
    height: 1.75rem !important;
    flex-shrink: 0 !important;
  }
  /* 移动端语言切换器样式 */
  .mobile-lang-switcher {
    transition: opacity 0.3s ease;
    -webkit-user-select: none;
       -moz-user-select: none;
            user-select: none;
  }
  .mobile-lang-switcher:hover {
    opacity: 0.7;
  }
  .mobile-lang-switcher:active {
    opacity: 0.5;
  }
  /* 移动端房源轮播样式 */
  .mobile-stays-swiper {
    padding-bottom: 8rem !important;
  }
  .mobile-stays-swiper .swiper-slide {
    padding: 0;
  }
  .mobile-stays-swiper .stay-card {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .mobile-stays-swiper .stay-card .card-desc {
    display: none !important;
  }
  .mobile-stays-swiper .stay-card:hover .card-image {
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 100% !important;
    height: auto !important;
  }
  .mobile-stays-swiper .mobile-stays-pagination {
    position: relative !important;
    margin-top: 1.25rem !important;
    display: flex;
    justify-content: flex-end;
    gap: 0.9375rem;
    width: 100vw;
  }
  .mobile-stays-swiper .mobile-stays-pagination .swiper-pagination-custom-bullet {
    font-family: "Cabin", sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #aeaeb2;
    opacity: 0.6;
    cursor: pointer;
    transition: all 0.3s ease;
  }
  .mobile-stays-swiper .mobile-stays-pagination .swiper-pagination-custom-bullet:hover {
    opacity: 0.8;
  }
  .mobile-stays-swiper .mobile-stays-pagination .swiper-pagination-custom-bullet.swiper-pagination-custom-bullet-active {
    color: #000;
    opacity: 1;
  }
}
.modal-overlay .hidden {
  display: none !important;
}

.modal-overlay .modal-close-btn {
  top: -3.75rem;
  right: -3.75rem;
}

@media screen and (max-width: 48rem) {
  .modal-overlay {
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1.25rem !important;
  }
  .modal-overlay .modal-container {
    display: none !important;
  }
  .modal-overlay .mobile-modal-container {
    display: block !important;
  }
  .modal-overlay .mobile-modal-container .swiper[class*=gallery-thumbs] .swiper-slide img {
    height: 2.5rem !important;
    width: 100% !important;
  }
  .modal-overlay .mobile-modal-container .modal-close-btn {
    border: none;
    color: #666;
    cursor: pointer;
  }
  .modal-overlay .mobile-modal-container .mobile-modal-images .swiper {
    overflow: hidden;
  }
  .modal-overlay .mobile-modal-container .mobile-book-btn {
    min-width: 5rem;
  }
  .modal-overlay .mobile-modal-container .mobile-book-btn:hover:not(.cursor-not-allowed) {
    background-color: #333;
  }
}
@media screen and (min-width: 48rem) {
  .modal-overlay .mobile-modal-container {
    display: none !important;
  }
  .modal-overlay .modal-container {
    display: flex !important;
  }
}
.modal-overlay .swiper-button-prev,
.modal-overlay .swiper-button-next {
  background: none !important;
  margin-top: 0 !important;
}
.modal-overlay .swiper-button-prev:after,
.modal-overlay .swiper-button-next:after {
  display: none !important;
}
.modal-overlay .swiper-button-prev img,
.modal-overlay .swiper-button-next img {
  transition: transform 0.2s ease;
}
.modal-overlay .swiper-button-prev:hover img,
.modal-overlay .swiper-button-next:hover img {
  transform: scale(1.1);
}

.modal-overlay .swiper-slide-thumb-active img {
  border-color: #000 !important;
}

.modal-overlay .swiper[class*=gallery-main] {
  width: 100% !important;
  max-width: 38.125rem !important;
  height: 28.75rem !important;
}
.modal-overlay .swiper[class*=gallery-main] .swiper-wrapper {
  height: 28.75rem !important;
  align-items: center;
}
.modal-overlay .swiper[class*=gallery-main] .swiper-slide {
  width: 100% !important;
  height: 28.75rem !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.modal-overlay .swiper[class*=gallery-thumbs] {
  width: 100% !important;
  max-width: 38.125rem !important;
}
.modal-overlay .swiper[class*=gallery-thumbs] .swiper-wrapper {
  align-items: center;
  justify-content: space-between;
}
.modal-overlay .swiper[class*=gallery-thumbs] .swiper-slide {
  flex-shrink: 0 !important;
}
.modal-overlay .swiper[class*=gallery-thumbs] .swiper-slide img {
  height: 4.6875rem !important;
  border: 0.125rem solid transparent;
  padding: 0.125rem;
}
.modal-overlay .swiper[class*=gallery-thumbs] .swiper-slide-thumb-active {
  border-color: #000;
}

.modal-overlay .swiper[class*=mobile-gallery-main-] {
  width: 100% !important;
  height: 15.5rem !important;
}
.modal-overlay .swiper[class*=mobile-gallery-main-] .swiper-wrapper {
  height: 15.5rem !important;
  align-items: center;
}
.modal-overlay .swiper[class*=mobile-gallery-main-] .swiper-slide {
  width: 100% !important;
  height: 15.5rem !important;
  flex-shrink: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.modal-overlay .swiper[class*=mobile-gallery-thumbs] {
  width: 100% !important;
}
.modal-overlay .swiper[class*=mobile-gallery-thumbs] .swiper-wrapper {
  align-items: center;
  justify-content: space-between;
}
.modal-overlay .swiper[class*=mobile-gallery-thumbs] .swiper-slide {
  flex-shrink: 0 !important;
}
.modal-overlay .swiper[class*=mobile-gallery-thumbs] .swiper-slide img {
  height: 4.6875rem !important;
  border: 0.125rem solid transparent;
  padding: 0.125rem;
}
.modal-overlay .swiper[class*=mobile-gallery-thumbs] .swiper-slide-thumb-active {
  border-color: #000;
}
/*# sourceMappingURL=style.css.map */
