.listing-hero{
  position:relative;overflow:hidden;isolation:isolate;
  display:flex;flex-direction:column;justify-content:flex-end;
  min-height:560px;
  background:var(--ink);color:var(--paper-warm);
  padding:180px 32px 80px;
}
.listing-hero::before{
  content:"";position:absolute;inset:0;background:linear-gradient(135deg, rgba(9,13,12,0.72), rgba(9,13,12,0.38));z-index:0;
}
.listing-hero video,
.listing-hero .listing-hero-video{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;filter:saturate(0.7) contrast(1.08) brightness(0.7);
}
.listing-hero > *{position:relative;z-index:1;}
.listing-hero h1{
  color:var(--paper-warm);font-size:clamp(2.2rem,4.6vw,3.4rem);
  max-width:14ch;margin:14px 0 20px;line-height:1.08;
}
.listing-hero p{max-width:460px;color:rgba(250,247,239,0.75);font-size:1.02rem;line-height:1.6;}

.listing-intro{
  background:linear-gradient(180deg, rgba(22,35,29,0.05), rgba(22,35,29,0.01));
  border-bottom:1px solid rgba(22,35,29,0.08);
}
.listing-intro-inner{
  max-width:var(--container);margin:0 auto;padding:38px 32px 0;display:grid;grid-template-columns:1.2fr .8fr;gap:28px;align-items:end;
}
.listing-intro-copy h2{
  font-size:clamp(1.9rem,3vw,2.8rem);line-height:1.12;margin-bottom:12px;
}
.listing-intro-copy p:last-child{color:#45564d;max-width:620px;line-height:1.7;}
.listing-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.listing-info-card{
  background:rgba(250,247,239,0.8);border:1px solid rgba(22,35,29,0.08);
  border-radius:var(--radius);padding:18px 16px;box-shadow:0 18px 34px -28px rgba(22,35,29,0.35);
}
.listing-info-card strong{display:block;font-family:var(--font-display);font-size:1.8rem;color:var(--ink);margin-bottom:8px;}
.listing-info-card span{font-size:0.8rem;color:#59685d;letter-spacing:0.04em;text-transform:uppercase;}

.listing-wrap{max-width:var(--container);margin:0 auto;padding:60px 32px 40px;}
.listing-wrap,
.listing-wrap p,
.listing-wrap li,
.listing-wrap span,
.listing-wrap strong,
.listing-wrap em,
.listing-card-body,
.listing-card-body p,
.listing-card-body li,
.listing-card-body span,
.listing-card-body strong,
.listing-card-body em { color:var(--ink); }

.listing-filters{
  display:flex;flex-wrap:wrap;gap:36px;align-items:flex-end;
  padding-bottom:34px;margin-bottom:44px;border-bottom:1px solid var(--line);
  position:relative;
}
.filter-group{display:flex;flex-direction:column;gap:10px;}
.filter-label{font-size:0.72rem;letter-spacing:.1em;color:#8a9188;font-weight:600;}
.filter-chips{display:flex;gap:8px;flex-wrap:wrap;}
.chip{
  padding:8px 16px;border:1px solid var(--line);border-radius:20px;
  font-size:0.85rem;font-weight:600;color:var(--ink-soft);
  transition:background .25s ease,color .25s ease,border-color .25s ease;
}
.chip:hover{border-color:var(--brass);}
.chip.active{background:var(--ink);color:var(--paper-warm);border-color:var(--ink);}
.filter-select{
  padding:9px 14px;border:1px solid var(--line);border-radius:20px;
  font-size:0.85rem;font-weight:600;color:var(--ink-soft);background:var(--paper-warm);
  min-width:180px;
}
.filter-count{
  margin-left:auto;font-size:0.85rem;color:#8a9188;align-self:center;
}

.listing-grid{
  display:grid;grid-template-columns:repeat(3,1fr);gap:28px;
}
.listing-card{
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  background:var(--paper-warm);
  transition:transform .4s var(--ease), box-shadow .4s var(--ease);
  animation:cardIn .5s var(--ease);
}
@keyframes cardIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
.listing-card:hover{transform:translateY(-6px);box-shadow:0 30px 50px -30px rgba(22,35,29,0.35);}
.listing-card-img{position:relative;aspect-ratio:4/3;overflow:hidden;display:block;}
.listing-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease);}
.listing-card:hover .listing-card-img img{transform:scale(1.06);}
.listing-status{
  position:absolute;top:14px;left:14px;
  background:rgba(22,35,29,0.85);color:var(--brass-light);
  font-size:0.68rem;letter-spacing:.06em;padding:5px 11px;border-radius:20px;
}
.listing-card-body{padding:24px;}
.listing-card-body .property-tag{color:var(--brass);border-color:var(--line);}
.listing-card-body h3{margin:12px 0 4px;font-size:1.2rem;}
.listing-location{font-size:0.88rem;color:#4a564d;margin-bottom:14px;}
.listing-summary{margin:0 0 18px;font-size:0.9rem;line-height:1.7;color:#3d5147;}
.listing-meta{
  display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding-top:14px;border-top:1px solid var(--line);margin-bottom:18px;
}
.listing-meta div{font-size:0.8rem;color:#4a564d;}
.listing-meta strong{display:block;color:var(--ink);font-size:0.9rem;margin-bottom:4px;}
.listing-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;}
.listing-card-footnote{font-size:0.72rem;letter-spacing:.08em;text-transform:uppercase;color:#73817a;}
.listing-card-body .text-link{font-size:0.88rem;}

.listing-empty{text-align:center;padding:80px 0;color:#8a9188;font-size:1rem;}

@media (max-width:1024px){
  .listing-grid{grid-template-columns:repeat(2,1fr);} 
  .listing-intro-inner{grid-template-columns:1fr;}
}
@media (max-width:768px){
  .listing-grid{grid-template-columns:1fr;}
  .listing-filters{flex-direction:column;align-items:flex-start;gap:20px;}
  .filter-count{margin-left:0;}
  .listing-info-grid{grid-template-columns:1fr;}
}
