.trust-why-grid {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 1.5rem;
      margin-bottom: 3rem;
    }

    .trust-card {
      background: #111111;
      border: 1px solid rgba(197, 165, 71, 0.16);
      border-radius: 16px;
      padding: 2rem;
      box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
      min-height: 18.5rem;
    }

    .trust-card__inner {
      display: flex;
      flex-direction: column;
      height: 100%;
      text-align: center;
    }

    .trust-card__title {
      font-size: 1rem;
      font-weight: 700;
      color: #ffffff;
      margin: 0.1rem 0 0.5rem;
      letter-spacing: 0.2px;
      min-height: 6.2em;
      line-height: 1.08;
      display: flex;
      align-items: center;
      justify-content: center;
    }

    .trust-card__desc {
      margin-top: 0;
      font-size: 0.82rem;
      color: rgba(255, 255, 255, 0.72);
      line-height: 1.7;
    }

    @media (max-width: 1100px) {
      .trust-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
      }

      .trust-card {
        min-height: 17rem;
      }

      .trust-card__title {
        min-height: 6em;
      }
    }

    @media (max-width: 640px) {
      .trust-why-grid {
        grid-template-columns: 1fr;
      }

      .trust-card {
        min-height: auto;
      }

      .trust-card__title {
        min-height: auto;
        align-items: flex-start;
      }
    }
.blog-all-posts-btn {
  border: 1px solid var(--primary) !important;
  color: var(--title) !important;
  background: transparent !important;
  box-shadow: none !important;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.blog-all-posts-btn:hover,
.blog-all-posts-btn:focus-visible {
  background: var(--primary) !important;
  border-color: var(--primary) !important;
  color: #111 !important;
}

.blog-all-posts-btn:focus-visible {
  outline: 2px solid rgba(197, 165, 71, 0.35);
  outline-offset: 3px;
}

/* Chat_001: final kill switch for model-card tilt/lift. This file loads last. */
html body #models .villa-grid,
html body #models .villa-card,
html body #models .villa-card.reveal,
html body #models .villa-card.reveal.active,
html body #models .villa-card.active-card,
html body #models .villa-card:hover,
html body #models .villa-card:focus,
html body #models .villa-card:focus-within,
html body #models .villa-card.reveal.active:hover,
html body #models .villa-card.active-card:hover {
  transform: none !important;
  rotate: 0deg !important;
  scale: 1 !important;
  perspective: none !important;
  transform-style: flat !important;
  backface-visibility: visible !important;
}

html body #models .villa-card .villa-photo,
html body #models .villa-card:hover .villa-photo,
html body #models .villa-card:focus-within .villa-photo,
html body #models .villa-card.active-card .villa-photo {
  transform: none !important;
  scale: 1 !important;
}

/* Chat_001: compact model carousel gutters. This file loads last. */
html body #models .villa-carousel-shell {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-inline: clamp(1.65rem, 2.4vw, 2.6rem) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

html body #models .villa-grid {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  gap: 14px !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  align-items: stretch !important;
  overflow-x: auto !important;
  scrollbar-width: none !important;
  scroll-snap-type: x mandatory !important;
  scroll-behavior: smooth !important;
}

html body #models .villa-grid::-webkit-scrollbar {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
}

html body #models .villa-card {
  flex: 0 0 calc((100% - 56px) / 5) !important;
  width: calc((100% - 56px) / 5) !important;
  min-width: calc((100% - 56px) / 5) !important;
  max-width: calc((100% - 56px) / 5) !important;
  min-height: 0 !important;
  height: auto !important;
  max-height: none !important;
  padding: 0.58rem !important;
  border-radius: 14px !important;
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
  overflow: hidden !important;
  scroll-snap-align: start !important;
  scroll-snap-stop: always !important;
}

html body #models .villa-card,
html body #models .villa-card:not(.card-revealed),
html body #models .villa-card.card-revealed,
html body #models .villa-card.active-card {
  background: #ffffff !important;
  opacity: 1 !important;
  animation: none !important;
  border-color: transparent !important;
}

html body #models .villa-card::before,
html body #models .villa-card::after,
html body #models .villa-card.active-card::before,
html body #models .villa-card.active-card::after {
  content: none !important;
  display: none !important;
  background: none !important;
  background-image: none !important;
  opacity: 0 !important;
  transform: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body #models .villa-card > *,
html body #models .villa-card.active-card > *,
html body #models .villa-card.reveal > *,
html body #models .villa-card.reveal.active > *,
html body #models .villa-card.card-revealed > * {
  opacity: 1 !important;
  visibility: visible !important;
  animation: none !important;
  transform: none !important;
  rotate: 0deg !important;
  scale: 1 !important;
  backface-visibility: visible !important;
  filter: none !important;
}

html body #models .villa-photo {
  width: 100% !important;
  height: clamp(245px, 17vw, 315px) !important;
  min-height: clamp(245px, 17vw, 315px) !important;
  max-height: clamp(245px, 17vw, 315px) !important;
  margin-bottom: 0.34rem !important;
  border-radius: 12px !important;
  background-size: cover !important;
  background-repeat: no-repeat !important;
  transition: background-size 240ms ease, background-position 240ms ease !important;
}

html body #models .villa-photo.villa-anna-2,
html body #models .villa-photo.villa-anna-3 {
  background-position: center 100% !important;
  background-size: 132% auto !important;
  background-repeat: no-repeat !important;
  background-color: #f7f4ef !important;
}

html body #models .villa-card:hover .villa-photo.villa-anna-2,
html body #models .villa-card:hover .villa-photo.villa-anna-3,
html body #models .villa-card:focus-within .villa-photo.villa-anna-2,
html body #models .villa-card:focus-within .villa-photo.villa-anna-3 {
  background-size: 128% auto !important;
  background-position: center 100% !important;
}

html body #models .villa-photo.villa-1 {
  background-position: center bottom !important;
  background-size: 115% auto !important;
  background-repeat: no-repeat !important;
}

html body #models .villa-card:hover .villa-photo.villa-1,
html body #models .villa-card:focus-within .villa-photo.villa-1 {
  background-position: center bottom !important;
  background-size: 112% auto !important;
}

html body #models .villa-2,
html body #models .villa-3 {
  background-position: center bottom !important;
}

html body #models .villa-badge {
  margin-top: 0.08rem !important;
  margin-bottom: 0.28rem !important;
  font-size: 0.48rem !important;
  padding: 0.26rem 0.52rem !important;
  letter-spacing: 0.1em !important;
  max-width: 92% !important;
  white-space: nowrap !important;
}

html body #models .villa-card h3 {
  font-size: clamp(1.1rem, 1.35vw, 1.36rem) !important;
  margin-bottom: 0.18rem !important;
  line-height: 1.05 !important;
}

html body #models .villa-desc-text {
  font-size: 0.68rem !important;
  line-height: 1.15 !important;
  min-height: 1.2em !important;
  margin: 0 0 0.28rem !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

html body #models .villa-price {
  font-size: clamp(1.12rem, 1.45vw, 1.38rem) !important;
  margin: 0.06rem 0 0.12rem !important;
  line-height: 1.05 !important;
}

html body #models .plusvalia-tag {
  font-size: 0.46rem !important;
  margin-bottom: 0.24rem !important;
  line-height: 1.1 !important;
}

html body #models .villa-card .btn {
  margin-top: auto !important;
  padding: 0.55rem 0.56rem !important;
  font-size: 0.5rem !important;
  letter-spacing: 0.1em !important;
  min-height: 0 !important;
}

html body #models .villa-carousel-ear {
  width: 32px !important;
  height: 84px !important;
  font-size: 4.2rem !important;
  color: #d2ab3a !important;
}

html body #models .villa-carousel-ear--prev {
  left: clamp(0.25rem, 0.8vw, 0.75rem) !important;
}

html body #models .villa-carousel-ear--next {
  right: clamp(0.25rem, 0.8vw, 0.75rem) !important;
}

@media (max-width: 900px) {
  html body #models .villa-carousel-shell {
    padding-inline: clamp(2.2rem, 6vw, 3.6rem) !important;
  }

  html body #models .villa-grid {
    gap: 1rem !important;
  }

  html body #models .villa-card {
    flex: 0 0 calc((100% - 1rem) / 2) !important;
    width: calc((100% - 1rem) / 2) !important;
    min-width: calc((100% - 1rem) / 2) !important;
    max-width: calc((100% - 1rem) / 2) !important;
    padding: 0.82rem !important;
    border-radius: 17px !important;
  }

  html body #models .villa-photo {
    height: clamp(190px, 29vw, 250px) !important;
    min-height: clamp(190px, 29vw, 250px) !important;
    max-height: clamp(190px, 29vw, 250px) !important;
  }

  html body #models .villa-desc-text,
  html body #models .plusvalia-tag {
    display: none !important;
  }

  html body #models .villa-card h3 {
    font-size: clamp(1.45rem, 3.2vw, 2rem) !important;
    margin-bottom: 0.5rem !important;
  }

  html body #models .villa-price {
    font-size: clamp(1.55rem, 3.4vw, 2.1rem) !important;
    margin: 0.2rem 0 0.7rem !important;
  }

  html body #models .villa-card .btn {
    padding: 0.78rem 0.8rem !important;
    font-size: 0.62rem !important;
  }
}

html body #amenities .container,
html body .amenities-mosaic-rotator {
  overflow: visible !important;
}

html body .amenities-mosaic-rotator .amenities-rotator-ear--prev {
  left: clamp(-4.6rem, -4.8vw, -3rem) !important;
}

html body .amenities-mosaic-rotator .amenities-rotator-ear--next {
  right: clamp(-4.6rem, -4.8vw, -3rem) !important;
}

@media (max-width: 900px) {
  html body .amenities-mosaic-rotator .amenities-rotator-ear--prev {
    left: -2.25rem !important;
  }

  html body .amenities-mosaic-rotator .amenities-rotator-ear--next {
    right: -2.25rem !important;
  }
}

@media (min-width: 901px) and (max-width: 1180px) {
  html body #models .villa-carousel-shell {
    padding-inline: clamp(2.2rem, 3.6vw, 3.2rem) !important;
  }

  html body #models .villa-grid {
    gap: 1rem !important;
  }

  html body #models .villa-card {
    flex: 0 0 calc((100% - 2rem) / 3) !important;
    width: calc((100% - 2rem) / 3) !important;
    min-width: calc((100% - 2rem) / 3) !important;
    max-width: calc((100% - 2rem) / 3) !important;
    padding: 0.78rem !important;
    border-radius: 16px !important;
  }

  html body #models .villa-photo {
    height: clamp(155px, 17vw, 205px) !important;
    min-height: clamp(155px, 17vw, 205px) !important;
    max-height: clamp(155px, 17vw, 205px) !important;
  }

  html body #models .villa-desc-text,
  html body #models .plusvalia-tag {
    display: none !important;
  }

  html body #models .villa-card h3 {
    font-size: clamp(1.3rem, 2.4vw, 1.72rem) !important;
    margin-bottom: 0.45rem !important;
  }

  html body #models .villa-price {
    font-size: clamp(1.4rem, 2.7vw, 1.95rem) !important;
    margin: 0.18rem 0 0.7rem !important;
  }

  html body #models .villa-card .btn {
    padding: 0.7rem 0.78rem !important;
    font-size: 0.58rem !important;
  }
}

@media (max-width: 700px) {
  html body #models {
    scroll-margin-top: 84px !important;
  }

  html body #models .section-head {
    width: min(100% - 2rem, 520px) !important;
    margin-bottom: 1.4rem !important;
  }

  html body #models .section-title {
    font-size: clamp(2.25rem, 12vw, 3.8rem) !important;
    line-height: 0.95 !important;
    max-width: 9ch !important;
    margin-inline: auto !important;
  }

  html body #models .section-lead {
    font-size: 0.96rem !important;
    line-height: 1.45 !important;
    max-width: 31ch !important;
    margin-inline: auto !important;
  }

  html body #models .villa-carousel-shell {
    padding-inline: 2.35rem !important;
  }

  html body #models .villa-grid {
    gap: 0.8rem !important;
    padding: 0 !important;
    scroll-padding-inline: 0 !important;
  }

  html body #models .villa-card {
    flex: 0 0 min(74vw, 310px) !important;
    width: min(74vw, 310px) !important;
    min-width: min(74vw, 310px) !important;
    max-width: min(74vw, 310px) !important;
    padding: 0.72rem !important;
    border-radius: 16px !important;
  }

  html body #models .villa-photo {
    height: clamp(168px, 44vw, 205px) !important;
    min-height: clamp(168px, 44vw, 205px) !important;
    max-height: clamp(168px, 44vw, 205px) !important;
    margin-bottom: 0.65rem !important;
    border-radius: 13px !important;
  }

  html body #models .villa-badge {
    max-width: 88% !important;
    font-size: 0.52rem !important;
    padding: 0.32rem 0.62rem !important;
    margin-bottom: 0.55rem !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body #models .villa-card h3 {
    font-size: clamp(1.35rem, 5.8vw, 1.72rem) !important;
    line-height: 1 !important;
    margin-bottom: 0.42rem !important;
  }

  html body #models .villa-desc-text,
  html body #models .plusvalia-tag {
    display: none !important;
  }

  html body #models .villa-price {
    font-size: clamp(1.55rem, 7vw, 2rem) !important;
    margin: 0.15rem 0 0.7rem !important;
  }

  html body #models .villa-card .btn {
    padding: 0.72rem 0.7rem !important;
    font-size: 0.58rem !important;
    letter-spacing: 0.11em !important;
  }

  html body #models .villa-carousel-ear {
    width: 28px !important;
    height: 64px !important;
    font-size: 3.6rem !important;
  }
}

@media (max-width: 420px) {
  html body #models .villa-carousel-shell {
    padding-inline: 2rem !important;
  }

  html body #models .villa-card {
    flex-basis: min(76vw, 292px) !important;
    width: min(76vw, 292px) !important;
    min-width: min(76vw, 292px) !important;
    max-width: min(76vw, 292px) !important;
  }
}

html body #models .villa-card .villa-desc-text {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  min-height: 1.2em !important;
  max-height: 1.2em !important;
}

/* Chat_005: Hero foreground gate image. Keep the sky layer intact behind it. */
html body .site-header-alt ~ main .hero-visual,
html body #hero .hero-visual {
  background-image: none !important;
  background: transparent !important;
  overflow: hidden !important;
}

html body #hero .hero-bg-layer {
  background-image: url("assets/hero-sky-sunset.webp") !important;
  background-size: cover !important;
  background-position: center bottom !important;
  background-repeat: no-repeat !important;
  z-index: 0 !important;
}

html body #hero .hero-front-layer {
  inset: 0 !important;
  bottom: 0 !important;
  background-image: url("images/6decca42-94c6-4c3a-ad87-b903f0379bd9.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  opacity: 1 !important;
  z-index: 1 !important;
}

html body #hero .hero-gradient-layer {
  z-index: 2 !important;
}

/* Chat_005: section text reveal waits until the section rises 20% into view. */
html body .reveal:not(.active):not(.villa-card):not(.pillar-card):not(.blog-card):not(.mosaic-panel):not(.partners-marquee-section *) {
  opacity: 0 !important;
  filter: blur(18px) !important;
  transform: translate3d(0, 46px, 0) !important;
}

html body .reveal.active:not(.villa-card):not(.pillar-card):not(.blog-card):not(.mosaic-panel):not(.partners-marquee-section *) {
  opacity: 1 !important;
  filter: blur(0) !important;
  transform: translate3d(0, 0, 0) !important;
  transition:
    opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    filter 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

html body .partners-marquee-section .reveal,
html body .partners-marquee-section .reveal:not(.active) {
  opacity: 1 !important;
  filter: none !important;
  transform: none !important;
}

@media (min-width: 901px) {
  /* Chat_005: final amenity scenes use two large square-feeling tiles. */
  html body .amenities-mosaic-rotator.pattern-duo .mosaic-slot-1 {
    left: 0 !important;
    top: 0 !important;
    width: calc(50% - 0.75rem) !important;
    height: 100% !important;
  }

  html body .amenities-mosaic-rotator.pattern-duo .mosaic-slot-2 {
    left: calc(50% + 0.75rem) !important;
    top: 0 !important;
    width: calc(50% - 0.75rem) !important;
    height: 100% !important;
  }

  /* Chat_006: lock every amenity rotator geometry so scene changes cannot inherit stale slot sizes. */
  html body .amenities-mosaic-rotator.pattern-a .mosaic-slot-1 {
    left: 0 !important;
    top: 0 !important;
    width: calc(48% - 0.75rem) !important;
    height: 100% !important;
  }

  html body .amenities-mosaic-rotator.pattern-a .mosaic-slot-2 {
    left: 51% !important;
    top: 0 !important;
    width: calc(25% - 0.75rem) !important;
    height: 100% !important;
  }

  html body .amenities-mosaic-rotator.pattern-a .mosaic-slot-3 {
    left: 78% !important;
    top: 0 !important;
    width: 22% !important;
    height: calc(50% - 0.75rem) !important;
  }

  html body .amenities-mosaic-rotator.pattern-a .mosaic-slot-4 {
    left: 78% !important;
    top: calc(50% + 0.75rem) !important;
    width: 22% !important;
    height: calc(50% - 0.75rem) !important;
  }

  html body .amenities-mosaic-rotator.pattern-b .mosaic-slot-1 {
    left: 0 !important;
    top: 0 !important;
    width: 22% !important;
    height: calc(50% - 0.75rem) !important;
  }

  html body .amenities-mosaic-rotator.pattern-b .mosaic-slot-2 {
    left: 0 !important;
    top: calc(50% + 0.75rem) !important;
    width: 22% !important;
    height: calc(50% - 0.75rem) !important;
  }

  html body .amenities-mosaic-rotator.pattern-b .mosaic-slot-3 {
    left: 25% !important;
    top: 0 !important;
    width: calc(25% - 0.75rem) !important;
    height: 100% !important;
  }

  html body .amenities-mosaic-rotator.pattern-b .mosaic-slot-4 {
    left: 52% !important;
    top: 0 !important;
    width: 48% !important;
    height: 100% !important;
  }

  html body .amenities-mosaic-rotator.pattern-c .mosaic-slot-1 {
    left: 0 !important;
    top: 0 !important;
    width: calc(32% - 0.75rem) !important;
    height: 100% !important;
  }

  html body .amenities-mosaic-rotator.pattern-c .mosaic-slot-2 {
    left: 34% !important;
    top: 0 !important;
    width: calc(32% - 0.75rem) !important;
    height: calc(50% - 0.75rem) !important;
  }

  html body .amenities-mosaic-rotator.pattern-c .mosaic-slot-3 {
    left: 34% !important;
    top: calc(50% + 0.75rem) !important;
    width: calc(32% - 0.75rem) !important;
    height: calc(50% - 0.75rem) !important;
  }

  html body .amenities-mosaic-rotator.pattern-c .mosaic-slot-4 {
    left: 68% !important;
    top: 0 !important;
    width: 32% !important;
    height: 100% !important;
  }
}
