/* src/app/experience/gallery.css */
.residence-gallery {
  background: #15110c;
  isolation: isolate;
}
.residence-gallery-page {
  height: 50%;
  margin: 0;
  overflow: hidden;
  position: relative;
  width: 100%;
}
.residence-gallery-images {
  inset: 0;
  position: absolute;
  z-index: 0;
}
.residence-gallery .residence-slide {
  height: 100%;
  inset: 0;
  object-fit: cover;
  opacity: 0;
  position: absolute;
  transform: scale(1.055);
  transition: opacity 900ms cubic-bezier(0.16, 1, 0.3, 1), transform 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  visibility: hidden;
  width: 100%;
}
.residence-gallery .residence-slide.is-active {
  opacity: 1;
  transform: scale(1);
  visibility: visible;
}
.residence-gallery .experience-media-shade {
  background:
    linear-gradient(
      180deg,
      rgb(4 3 2 / 36%),
      transparent 32%,
      rgb(5 3 2 / 10%) 55%,
      rgb(5 3 2 / 86%)),
    linear-gradient(
      90deg,
      rgb(8 5 3 / 18%),
      transparent 50%,
      rgb(8 5 3 / 30%));
  z-index: 1;
}
.residence-gallery .experience-media-number {
  bottom: 2rem;
  z-index: 3;
}
.residence-switcher {
  align-items: center;
  background: rgb(13 9 7 / 40%);
  border: 1px solid rgb(242 237 228 / 25%);
  display: flex;
  border-radius: 999px;
  left: 50%;
  padding: 0.35rem;
  position: absolute;
  top: clamp(5.5rem, 10vh, 8.25rem);
  transform: translateX(-50%);
  z-index: 3;
}
.residence-switcher button,
.residence-room-tabs button {
  appearance: none;
  border: 0;
  color: rgb(242 237 228 / 58%);
  cursor: pointer;
  font: inherit;
  text-transform: uppercase;
}
.residence-switcher button {
  background: transparent;
  border-radius: 999px;
  font-size: clamp(0.68rem, 0.78vw, 0.84rem);
  letter-spacing: 0.16em;
  min-width: clamp(7.5rem, 9vw, 9.5rem);
  padding: 0.95rem 1.35rem;
  transition: background-color 300ms ease, color 300ms ease;
}
.residence-switcher button:hover,
.residence-switcher button:focus-visible,
.residence-switcher button.is-active {
  background: rgb(242 237 228 / 94%);
  color: #17110d;
  outline: none;
}
.residence-gallery-caption {
  align-items: end;
  bottom: 0;
  display: grid;
  gap: clamp(1rem, 1.8vw, 2rem);
  grid-template-columns: minmax(6rem, 0.85fr) minmax(0, 2.75fr);
  left: 0;
  padding: 7rem clamp(1.5rem, 3.25vw, 3.75rem) clamp(4.5rem, 8vh, 6.5rem);
  position: absolute;
  right: var(--showcase-navigation-safe-area, 14rem);
  z-index: 2;
}
.residence-gallery-current {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  min-width: 0;
}
.residence-gallery-current span {
  color: rgb(242 237 228 / 46%);
  font-size: 0.62rem;
  letter-spacing: 0.18em;
}
.residence-gallery-current strong {
  color: #f2ede4;
  font-size: clamp(1.35rem, 2.3vw, 2.65rem);
  font-weight: 400;
  letter-spacing: 0.045em;
  line-height: 1;
}
.residence-room-tabs {
  align-items: end;
  backdrop-filter: blur(1rem) saturate(125%);
  background: rgb(18 14 12 / 26%);
  border: 1px solid rgb(242 237 228 / 14%);
  border-radius: 0.45rem;
  display: grid;
  grid-auto-columns: minmax(0, 1fr);
  grid-auto-flow: column;
  min-width: 0;
  padding: 0.55rem;
  -webkit-backdrop-filter: blur(1rem) saturate(125%);
}
.residence-room-tabs button {
  background: transparent;
  border-radius: 0.28rem;
  color: #fff;
  font-size: clamp(0.6rem, 0.68vw, 0.74rem);
  letter-spacing: 0.11em;
  overflow: hidden;
  padding: 0.55rem 0.65rem;
  position: relative;
  text-align: left;
  text-overflow: ellipsis;
  transition: background-color 350ms ease, color 350ms ease;
  white-space: nowrap;
}
.residence-room-tabs button::after {
  background: #fff;
  bottom: 0.2rem;
  content: "";
  height: 2px;
  left: 0.65rem;
  position: absolute;
  right: 0.65rem;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 400ms cubic-bezier(0.16, 1, 0.3, 1);
}
.residence-room-tabs button span {
  color: #fff;
  display: block;
  font-size: 0.56rem;
  margin-bottom: 0.45rem;
}
.residence-room-tabs button:hover,
.residence-room-tabs button:focus-visible,
.residence-room-tabs button.is-active {
  background: rgb(242 237 228 / 13%);
  color: #fff;
  outline: none;
}
.residence-room-tabs button.is-active::after {
  transform: scaleX(1);
}
@media (max-width: 64rem) {
  .residence-gallery-caption {
    gap: 1rem;
    grid-template-columns: minmax(5rem, 0.75fr) minmax(0, 2.75fr);
  }
}
@media (max-width: 40rem) {
  .residence-switcher {
    left: 50%;
    top: 5.25rem;
  }
  .residence-switcher button {
    font-size: 0.62rem;
    letter-spacing: 0.1em;
    min-width: 6.5rem;
    padding: 0.75rem 0.7rem;
  }
  .residence-gallery-caption {
    display: block;
    padding: 5rem 4.25rem 4rem 0.75rem;
  }
  .residence-gallery-current strong {
    font-size: 1.3rem;
  }
  .residence-room-tabs {
    margin-top: 1rem;
  }
  .residence-room-tabs button {
    font-size: 0;
    padding-bottom: 0.55rem;
    text-align: center;
  }
  .residence-room-tabs button span {
    font-size: 0.54rem;
    margin: 0;
  }
}
@media (prefers-reduced-motion: reduce) {
  .residence-gallery .residence-slide {
    transition: none;
  }
}

/* src/styles.css */
@font-face {
  font-display: swap;
  font-family: "Brother 1816";
  font-style: normal;
  font-weight: 100;
  src: url(/fonts/Brother%201816/Brother-1816-Thin.otf) format("opentype");
}
@font-face {
  font-display: swap;
  font-family: "Brother 1816";
  font-style: normal;
  font-weight: 300;
  src: url(/fonts/Brother%201816/Brother-1816-Light.otf) format("opentype");
}
@font-face {
  font-display: swap;
  font-family: "Brother 1816";
  font-style: normal;
  font-weight: 400;
  src: url(/fonts/Brother%201816/Brother-1816-Book.otf) format("opentype");
}
@font-face {
  font-display: swap;
  font-family: "Brother 1816";
  font-style: normal;
  font-weight: 500;
  src: url(/fonts/Brother%201816/Brother-1816-Medium.otf) format("opentype");
}
@font-face {
  font-display: swap;
  font-family: "Brother 1816";
  font-style: normal;
  font-weight: 700;
  src: url(/fonts/Brother%201816/Brother-1816-Bold.otf) format("opentype");
}
@font-face {
  font-display: swap;
  font-family: "Brother 1816";
  font-style: normal;
  font-weight: 800;
  src: url(/fonts/Brother%201816/Brother-1816-Extra-Bold.otf) format("opentype");
}
@font-face {
  font-display: swap;
  font-family: "Brother 1816";
  font-style: normal;
  font-weight: 900;
  src: url(/fonts/Brother%201816/Brother-1816-Black.otf) format("opentype");
}
@font-face {
  font-display: swap;
  font-family: "Darker Grotesque";
  font-style: normal;
  font-weight: 300;
  src: url(/fonts/Darker%20Grotesque/DarkerGrotesque-Light.ttf) format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Darker Grotesque";
  font-style: normal;
  font-weight: 400;
  src: url(/fonts/Darker%20Grotesque/DarkerGrotesque-Regular.ttf) format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Darker Grotesque";
  font-style: normal;
  font-weight: 500;
  src: url(/fonts/Darker%20Grotesque/DarkerGrotesque-Medium.ttf) format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Darker Grotesque";
  font-style: normal;
  font-weight: 600;
  src: url(/fonts/Darker%20Grotesque/DarkerGrotesque-SemiBold.ttf) format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Darker Grotesque";
  font-style: normal;
  font-weight: 700;
  src: url(/fonts/Darker%20Grotesque/DarkerGrotesque-Bold.ttf) format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Darker Grotesque";
  font-style: normal;
  font-weight: 800;
  src: url(/fonts/Darker%20Grotesque/DarkerGrotesque-ExtraBold.ttf) format("truetype");
}
@font-face {
  font-display: swap;
  font-family: "Darker Grotesque";
  font-style: normal;
  font-weight: 900;
  src: url(/fonts/Darker%20Grotesque/DarkerGrotesque-Black.ttf) format("truetype");
}
:root {
  --font-body:
    "Darker Grotesque",
    Arial,
    sans-serif;
  --font-display:
    "Brother 1816",
    Arial,
    sans-serif;
}
html,
body {
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
  overscroll-behavior-x: none;
}
html {
  scroll-behavior: smooth;
  scrollbar-width: none;
}
html::-webkit-scrollbar {
  display: none;
}
body {
  background: #15110c;
  font-family: var(--font-body);
  font-weight: 400;
}
button,
input,
select,
textarea {
  font-family: var(--font-body);
}
h1,
h2,
h3,
h4,
h5,
h6,
.intro,
.film-offer-label,
.film-offer-count,
.film-offer-unit,
.film-offer-amount,
.film-offer-currency,
.residence-gallery-current strong {
  font-family: var(--font-display);
}
* {
  box-sizing: border-box;
}
::view-transition-group(root) {
  animation-duration: 760ms;
  animation-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}
::view-transition-image-pair(root) {
  isolation: auto;
}
::view-transition-old(root),
::view-transition-new(root) {
  backface-visibility: hidden;
  mix-blend-mode: normal;
}
::view-transition-old(root) {
  animation: luxury-route-out 440ms cubic-bezier(0.4, 0, 1, 1) both;
}
::view-transition-new(root) {
  animation: luxury-route-in 760ms cubic-bezier(0.22, 1, 0.36, 1) both;
}
.residences {
  align-items: center;
  animation-delay: 780ms;
  bottom: 4rem;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  left: 0;
  position: absolute;
  right: 0;
  text-transform: uppercase;
  z-index: 3;
}
.residences span:first-child {
  font-size: 1.65rem;
  line-height: 1.25;
}
.residences span:last-child {
  color: rgb(242 237 228 / 84%);
  font-size: 0.95rem;
  line-height: 1.25;
}
@keyframes text-reveal {
  from {
    filter: blur(0.15rem);
    opacity: 0;
    transform: translateY(0.55rem);
  }
  to {
    filter: blur(0);
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes luxury-route-out {
  from {
    filter: blur(0);
    opacity: 1;
    transform: scale(1);
  }
  to {
    filter: blur(0.1875rem);
    opacity: 0;
    transform: scale(1.012);
  }
}
@keyframes luxury-route-in {
  from {
    filter: blur(0.5rem);
    opacity: 0;
    transform: scale(0.986);
  }
  to {
    filter: blur(0);
    opacity: 1;
    transform: scale(1);
  }
}
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(root),
  ::view-transition-old(root),
  ::view-transition-new(root) {
    animation-duration: 1ms;
  }
}
@media (max-width: 40rem) {
  .residences {
    bottom: 2.75rem;
    gap: 0.25rem;
  }
  .residences span:first-child {
    font-size: 1.08rem;
  }
  .residences span:last-child {
    font-size: 0.72rem;
  }
}

/* angular:styles/global:styles */
/*# sourceMappingURL=styles.css.map */
