*{box-sizing:border-box;margin:0;padding:0}
:root{
  --gold:#C8860A;--gold2:#E6A020;--dark:#0F0E0C;--dark2:#1A1915;
  --dark3:#252420;--white:#FFFFFF;--muted:#A8A49A;--dim:#6B6860;
  --border:rgba(200,134,10,0.15);--red:#8B1A1A;--green:#1A5C35
}
body{background:var(--dark);font-family:'DM Sans',sans-serif;color:var(--white);min-height:100vh}

/* HEADER */
.header{padding:32px 20px 24px;text-align:center;border-bottom:1px solid rgba(255,255,255,0.05)}
.header-logo{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;font-weight:600}
.header-title{font-family:'Playfair Display',serif;font-size:28px;font-weight:700;color:var(--white);margin-bottom:6px}
.header-sub{font-size:12px;color:var(--muted);letter-spacing:0.06em}

/* FILTERS */
.filters{padding:20px;display:flex;gap:8px;flex-wrap:wrap;border-bottom:1px solid rgba(255,255,255,0.05)}
.filter-btn{
  background:var(--dark2);border:1px solid rgba(255,255,255,0.08);
  color:var(--muted);font-size:11px;font-weight:500;letter-spacing:0.06em;
  padding:7px 14px;border-radius:2px;cursor:pointer;font-family:'DM Sans',sans-serif;
  transition:all 0.15s;white-space:nowrap
}
.filter-btn:hover{border-color:var(--gold);color:var(--gold)}
.filter-btn.active{background:var(--gold);border-color:var(--gold);color:var(--dark)}

/* STATS BAR */
.stats-bar{padding:12px 20px;display:flex;gap:20px;background:var(--dark2);border-bottom:1px solid rgba(255,255,255,0.05);flex-wrap:wrap}
.stat{font-size:11px;color:var(--muted)}
.stat span{color:var(--gold);font-weight:600}

/* GRID */
.grid{padding:20px;display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px}

/* CARD */
.card{
  background:var(--dark2);border:1px solid var(--border);border-radius:4px;
  overflow:hidden;display:flex;flex-direction:column;transition:border-color 0.2s
}
.card:hover{border-color:rgba(200,134,10,0.4)}
.card-bar{height:3px;background:var(--gold)}
.card-bar.red{background:var(--red)}
.card-bar.blue{background:#1A5C9E}
.card-bar.green-bar{background:var(--green)}

/* CAROUSEL */
.carousel{position:relative;background:var(--dark3);overflow:hidden;aspect-ratio:16/9}
.carousel-track{display:flex;height:100%;transition:transform 0.35s ease}
.carousel-slide{min-width:100%;height:100%;flex-shrink:0}
.carousel-slide img{width:100%;height:100%;object-fit:cover;display:block}
.carousel-placeholder{
  width:100%;height:100%;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:8px;
  color:var(--dim);font-size:11px;letter-spacing:0.06em;text-transform:uppercase
}
.carousel-placeholder svg{opacity:0.25;width:36px;height:36px}
.carousel-btn{
  position:absolute;top:50%;transform:translateY(-50%);
  background:rgba(15,14,12,0.7);border:1px solid rgba(200,134,10,0.2);
  color:var(--gold);width:30px;height:30px;border-radius:2px;
  cursor:pointer;display:flex;align-items:center;justify-content:center;
  font-size:14px;line-height:1;transition:background 0.15s;z-index:2
}
.carousel-btn:hover{background:rgba(200,134,10,0.15)}
.carousel-btn.prev{left:8px}
.carousel-btn.next{right:8px}
.carousel-btn.hidden{display:none}
.carousel-dots{
  position:absolute;bottom:7px;left:50%;transform:translateX(-50%);
  display:flex;gap:5px;z-index:2
}
.carousel-dot{
  width:5px;height:5px;border-radius:50%;
  background:rgba(255,255,255,0.3);cursor:pointer;transition:background 0.15s
}
.carousel-dot.active{background:var(--gold)}
.carousel-count{
  position:absolute;top:7px;right:8px;
  background:rgba(15,14,12,0.7);border:1px solid rgba(200,134,10,0.2);
  border-radius:2px;padding:2px 7px;font-size:10px;color:var(--muted);z-index:2
}

.card-inner{padding:18px 18px 0;flex:1}
.brooch-tag{
  font-size:9px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:12px;
  display:flex;align-items:center;gap:6px
}
.brooch-tag::before{content:'';width:4px;height:4px;background:var(--gold);border-radius:50%}
.prop-type{font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);margin-bottom:5px}
.prop-name{font-family:'Playfair Display',serif;font-size:19px;font-weight:700;color:var(--white);line-height:1.2;margin-bottom:4px}
.prop-loc{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-bottom:14px}
.prop-loc::before{content:'◎';color:var(--gold);font-size:9px}

.divider{height:1px;background:rgba(255,255,255,0.05);margin:0 18px}

.price-row{padding:12px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:8px;flex-wrap:wrap}
.price-label{font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--dim);margin-bottom:2px}
.price-value{font-family:'Playfair Display',serif;font-size:22px;font-weight:700;color:var(--gold);line-height:1}
.price-sub{font-size:11px;color:var(--muted);margin-top:2px}
.title-badge{
  background:rgba(200,134,10,0.1);border:1px solid rgba(200,134,10,0.25);
  border-radius:2px;padding:4px 8px;font-size:9px;font-weight:600;
  letter-spacing:0.08em;text-transform:uppercase;color:var(--gold);white-space:nowrap;flex-shrink:0
}
.title-badge.grey{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1);color:var(--muted)}

.features{padding:0 18px 14px;display:flex;flex-direction:column;gap:6px}
.feature{font-size:11px;color:var(--muted);display:flex;align-items:flex-start;gap:7px;line-height:1.4}
.feature::before{content:'→';color:var(--gold);font-size:10px;flex-shrink:0;margin-top:1px}

.card-note{
  margin:0 18px 14px;background:rgba(200,134,10,0.06);border-left:2px solid var(--gold);
  border-radius:0 2px 2px 0;padding:7px 10px;font-size:11px;color:var(--muted);
  font-style:italic;line-height:1.5
}

.card-footer{
  padding:10px 18px;background:var(--dark3);display:flex;
  align-items:center;justify-content:space-between;margin-top:auto
}
.footer-brand{font-size:9px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold)}
.status{
  font-size:9px;font-weight:600;letter-spacing:0.08em;text-transform:uppercase;
  padding:3px 8px;border-radius:2px
}
.s-available{background:rgba(26,92,53,0.2);color:#4ADE80;border:1px solid rgba(74,222,128,0.2)}
.s-limited{background:rgba(200,134,10,0.15);color:var(--gold);border:1px solid var(--border)}
.s-bulk{background:rgba(26,92,158,0.15);color:#60A5FA;border:1px solid rgba(96,165,250,0.2)}
.s-promo{background:rgba(139,26,26,0.2);color:#F87171;border:1px solid rgba(248,113,113,0.2)}
.s-enquire{background:rgba(255,255,255,0.05);color:var(--muted);border:1px solid rgba(255,255,255,0.1)}

/* ENQUIRE BUTTON */
.enquire-btn{
  font-size:9px;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;
  padding:4px 10px;border-radius:2px;border:1px solid var(--gold);
  color:var(--gold);background:transparent;cursor:pointer;
  font-family:'DM Sans',sans-serif;transition:all 0.15s;white-space:nowrap
}
.enquire-btn:hover{background:var(--gold);color:var(--dark)}

/* EMPTY STATE */
.empty{padding:60px 20px;text-align:center;color:var(--dim);font-size:14px}

@media(max-width:500px){.grid{grid-template-columns:1fr}}
