.property-card{
  display:flex;
  min-width:0;
  flex-direction:column;
}

.property-image{
  position:relative;
  display:block;
  width:100%;
  height:auto !important;
  aspect-ratio:4 / 3;
  background:#dcded8;
}

.property-image-link{position:absolute;inset:0;display:block;overflow:hidden}
.property-slide{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover;opacity:0;visibility:hidden;transform:scale(1.01);transition:opacity .4s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.property-slide.is-active{opacity:1;visibility:visible}
.property-card:hover .property-slide.is-active{transform:scale(1.035)}
.card-carousel-button{position:absolute;z-index:4;top:50%;width:40px;height:40px;margin-top:-20px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(15,42,34,.55);color:#fff;font:30px/1 Georgia,serif;cursor:pointer;opacity:0;transition:.2s ease;backdrop-filter:blur(5px)}
.card-carousel-prev{left:15px}.card-carousel-next{right:15px}.property-image:hover .card-carousel-button,.card-carousel-button:focus-visible{opacity:1}.card-carousel-count{position:absolute;z-index:4;left:50%;bottom:17px;transform:translateX(-50%);padding:5px 9px;border-radius:99px;background:rgba(10,30,24,.7);color:#fff;font-size:10px;letter-spacing:.05em;pointer-events:none}.card-carousel-count b{font-weight:600}.reserved-watermark{position:absolute;z-index:3;inset:50% auto auto 50%;transform:translate(-50%,-50%) rotate(-8deg);padding:0;color:rgba(153,29,24,.56);background:transparent;border:0;box-shadow:none;text-shadow:0 1px 10px rgba(255,255,255,.28);font:600 clamp(22px,3vw,46px)/1 var(--sans);text-transform:uppercase;letter-spacing:.18em;white-space:nowrap;pointer-events:none}

.property-card--wide .property-image{
  aspect-ratio:16 / 8.5;
}

.property-info{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-content:start;
  min-height:142px;
  padding:22px 0 26px;
  border-bottom:1px solid var(--line);
  column-gap:24px;
  row-gap:11px;
}

.property-info p{
  grid-column:1 / -1;
  color:#6b7d73;
}

.property-info h3{
  min-width:0;
  max-width:680px;
  text-wrap:balance;
}

.property-info h3 a{
  display:inline;
  background-image:linear-gradient(currentColor,currentColor);
  background-position:0 100%;
  background-repeat:no-repeat;
  background-size:0 1px;
  transition:background-size .3s ease;
}

.property-card:hover .property-info h3 a{
  background-size:100% 1px;
}

.property-info strong{
  align-self:start;
  padding-top:5px;
  font-size:15px;
}

.catalog-grid{
  align-items:start;
  row-gap:76px;
}

.catalog-grid .property-image{
  height:auto !important;
  aspect-ratio:4 / 3;
}

.catalog-grid .property-info h3{
  font-size:clamp(24px,2.15vw,32px);
  line-height:1.1;
}

@media(max-width:900px){
  .property-info{min-height:132px;grid-template-columns:1fr}
  .property-info strong{padding-top:0}
  .catalog-grid{row-gap:58px}
}

@media(max-width:600px){
  .card-carousel-button{opacity:1;width:36px;height:36px;margin-top:-18px}.card-carousel-prev{left:10px}.card-carousel-next{right:10px}.card-carousel-count{bottom:12px}.reserved-watermark{font-size:25px;letter-spacing:.14em}
  .property-image,.property-card--wide .property-image,.catalog-grid .property-image{
    min-height:0;
    aspect-ratio:4 / 3;
  }
  .property-info{min-height:0;padding:18px 0 22px;row-gap:8px}
  .catalog-grid{row-gap:46px}
}
