/* â”€â”€ VARIABLES â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
:root {
  --gold: #c9a96e;
  --gold-light: #e8d5a3;
  --navy: #0a0e1a;
  --navy2: #111827;
  --glass: rgba(255,255,255,0.05);
  --glass-border: rgba(255,255,255,0.10);
  --text: #f0ede8;
  --text-muted: #9ca3af;
  --radius: 16px;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overflow-y:scroll}
body{
  background:var(--navy);
  color:var(--text);
  font-family:'Inter',sans-serif;
  font-size:15px;
  line-height:1.6;
  overflow:visible;
}
img{
  display:block;max-width:100%;
  /* Prevent layout shift while images load */
  background:var(--navy2);
}
/* Broken/error image fallback */
img[alt]::after{
  content:attr(alt);
  display:flex;align-items:center;justify-content:center;
  position:absolute;inset:0;
  background:var(--navy2);color:var(--text-muted);
  font-size:.75rem;text-align:center;padding:12px;
}
a{text-decoration:none;color:inherit}
ul{list-style:none}
button{cursor:pointer;font-family:inherit}

/* â”€â”€ NAV â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#mainNav{
  position:fixed;top:0;left:0;right:0;z-index:900;
  display:flex;align-items:center;justify-content:space-between;
  padding:28px 60px;
  transition:background .4s,padding .4s,border-color .4s;
  border-bottom:1px solid transparent;
}
#mainNav.scrolled{
  padding:16px 60px;
  background:rgba(10,14,26,.88);
  backdrop-filter:blur(24px);
  border-color:var(--glass-border);
}
.logo{font-family:'Cormorant Garamond',serif;font-size:1.7rem;font-weight:600;letter-spacing:.12em;color:#fff}
.logo span{color:var(--gold);font-weight:400}
.nav-links{display:flex;gap:44px}
.nav-links a{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);transition:color .25s}
.nav-links a:hover{color:var(--gold)}

/* â”€â”€ HERO â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.hero{
  position:relative;height:100vh;min-height:680px;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  /* Real Unsplash luxury villa hero â€” overridden by JS slideshow */
  background-image:url('https://images.unsplash.com/photo-1613977257363-707ba9348227?auto=format&fit=crop&w=1920&q=80');
  background-size:cover;background-position:center;
  transform:scale(1.08);
  transition:opacity .7s,transform .1s linear;
  /* Shimmer while first image loads */
  animation:bgLoad 1.2s ease forwards;
}
@keyframes bgLoad{from{filter:brightness(0)}to{filter:brightness(1)}}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(10,14,26,.45) 0%,rgba(10,14,26,.7) 60%,var(--navy) 100%);
}
.hero-content{
  position:relative;z-index:2;
  text-align:center;padding:0 24px;max-width:960px;
}
.hero-tag{
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid var(--glass-border);
  background:rgba(255,255,255,.04);
  backdrop-filter:blur(8px);
  padding:8px 22px;border-radius:100px;
  font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);
  margin-bottom:28px;
}
.hero-title{
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(3rem,7vw,5.8rem);
  font-weight:400;line-height:1.05;
  margin-bottom:22px;
}
.hero-title em{font-style:italic;color:var(--gold);font-weight:300}
.hero-sub{color:var(--text-muted);font-size:1.05rem;font-weight:300;max-width:520px;margin:0 auto 50px}

/* search bar */
.search-float{
  display:flex;align-items:center;gap:0;
  background:rgba(17,24,39,.75);
  backdrop-filter:blur(20px);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);overflow:hidden;
}
.search-group{
  padding:14px 28px;flex:1;border-right:1px solid var(--glass-border);text-align:left;
}
.search-group:last-of-type{border-right:none}
.search-group label{display:block;font-size:.6rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:5px}
.search-group select{
  background:transparent;border:none;color:#fff;font-size:.9rem;
  width:100%;outline:none;cursor:pointer;
  font-family:'Inter',sans-serif;
}
.search-group select option{background:var(--navy2);color:#fff}
.search-btn{
  background:var(--gold);color:var(--navy);
  border:none;padding:0 36px;height:100%;
  font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;
  display:flex;align-items:center;gap:10px;
  transition:background .25s,transform .2s;
  white-space:nowrap;
}
.search-btn:hover{background:var(--gold-light)}
.search-btn svg{flex-shrink:0}

/* â”€â”€ STATS BAR â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.stats-bar{
  display:flex;justify-content:space-around;align-items:center;
  padding:40px 60px;
  border-top:1px solid var(--glass-border);
  border-bottom:1px solid var(--glass-border);
}
.stat-item{text-align:center}
.stat-num{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:600;color:var(--gold)}
.stat-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin-top:4px}

.desktop-only { display: block; }
.mobile-hero-pane { display: none; }

/* â”€â”€ SECTIONS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.section {
  padding: 100px 0; /* Vertical padding only, horizontal handled by container */
  width: 100%;
  position: relative;
}

/* New Responsive Container */
.container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 60px;
  width: 100%;
  box-sizing: border-box;
}

.section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 60px;
}
.section-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-bottom:14px}
.section-title{font-family:'Cormorant Garamond',serif;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1.1}
.section-title em{font-style:italic;color:var(--gold)}
.section-sub{color:var(--text-muted);font-size:.9rem;max-width:480px;margin-top:12px;line-height:1.75}

/* ── STORY CATEGORIES ── */
.story-categories {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 10px 0 30px;
  scrollbar-width: none;
  -ms-overflow-style: none;
  justify-content: center; /* Center on desktop */
}
.story-categories::-webkit-scrollbar { display: none; }

.story-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  cursor: pointer;
  transition: transform 0.3s ease;
}
.story-item:hover { transform: translateY(-5px); }

.story-circle {
  width: 70px;
  height: 70px;
  border-radius: 50%;
  padding: 3px;
  background: linear-gradient(135deg, rgba(255,255,255,0.1), rgba(255,255,255,0.05));
  border: 1.5px solid rgba(255,255,255,0.15);
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.story-circle.active {
  background: linear-gradient(135deg, var(--gold), #f0c060);
  border-color: var(--gold);
  box-shadow: 0 0 15px rgba(201, 169, 110, 0.4);
}

.story-circle img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--navy);
}

.story-item span {
  font-size: 0.65rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.story-item .active + span, 
.story-item:has(.story-circle.active) span {
  color: var(--gold);
}

/* â”€â”€ FILTER BAR â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.filter-bar{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.filter-btn{
  background:transparent;
  border:1px solid var(--glass-border);
  color:var(--text-muted);
  padding:9px 22px;border-radius:100px;
  font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;
  transition:.25s;
}
.filter-btn:hover,.filter-btn.active{
  background:var(--gold);border-color:var(--gold);color:var(--navy);font-weight:700;
}

/* â”€â”€ PROPERTY GRID â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.property-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.property-card{
  background:var(--navy2);
  border:1px solid var(--glass-border);
  border-radius:var(--radius);overflow:hidden;
  cursor:pointer;transition:transform .4s,box-shadow .4s,border-color .4s;
}
.property-card:hover{transform:translateY(-8px);box-shadow:0 24px 60px rgba(0,0,0,.5);border-color:rgba(201,169,110,.25)}
.card-img{
  position:relative;height:260px;overflow:hidden;
  /* Shimmer skeleton shown until image paints */
  background:linear-gradient(90deg,var(--navy2) 25%,rgba(255,255,255,.04) 50%,var(--navy2) 75%);
  background-size:200% 100%;
  animation:shimmer 1.6s infinite;
}
.card-img img{
  width:100%;height:100%;
  object-fit:cover;       /* fills frame without distortion */
  object-position:center; /* focal point stays centered */
  transition:transform .8s cubic-bezier(.4,0,.2,1),opacity .4s;
  opacity:0;              /* fade in once loaded */
}
.card-img img.loaded{opacity:1}
.property-card:hover .card-img img{transform:scale(1.07)}
@keyframes shimmer{
  0%{background-position:200% 0}
  100%{background-position:-200% 0}
}
.card-badge{
  position:absolute;top:16px;left:16px;
  background:rgba(201,169,110,.85);
  backdrop-filter:blur(8px);
  color:var(--navy);
  padding:5px 14px;border-radius:100px;
  font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;
}
.card-body{padding:22px 24px 28px}
.card-type{font-size:.62rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin-bottom:4px}
.card-title{font-family:'Cormorant Garamond',serif;font-size:1.45rem;font-weight:600;margin-bottom:6px;line-height:1.2}
.card-loc a{font-size:.8rem;color:#60a5fa;display:flex;align-items:center;gap:5px;margin-bottom:12px;transition:color .2s}
.card-loc a:hover{color:var(--gold)}
.card-price{font-family:'Cormorant Garamond',serif;font-size:1.5rem;color:var(--gold);margin-bottom:14px}
.card-divider{border:none;border-top:1px solid var(--glass-border);margin:14px 0}
.card-specs{display:flex;gap:20px}
.spec{display:flex;align-items:center;gap:7px;font-size:.78rem;color:var(--text-muted)}
.spec svg{width:15px;height:15px;stroke:var(--text-muted);fill:none;flex-shrink:0}

/* â”€â”€ MAP WRAP â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.map-wrap{border-radius:var(--radius);overflow:hidden;border:1px solid var(--glass-border)}
.map-wrap iframe,.map-wrap #map{border-radius:var(--radius)}

/* â”€â”€ LEAFLET MAP â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
#map{height:520px}
.custom-popup .leaflet-popup-content-wrapper{background:transparent;border:none;box-shadow:none;padding:0}
.custom-popup .leaflet-popup-tip{display:none}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(201,169,110,.5)}50%{box-shadow:0 0 0 8px rgba(201,169,110,0)}}

/* â”€â”€ CALCULATOR â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.calc-wrap{
  display:grid;grid-template-columns:1fr 1fr;gap:40px;
  background:var(--glass);border:1px solid var(--glass-border);
  border-radius:20px;padding:50px;
}
.calc-form{display:flex;flex-direction:column;gap:32px}
.field label{display:block;font-size:.68rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:12px}
.field input[type=range]{
  width:100%;-webkit-appearance:none;height:3px;
  background:var(--glass-border);border-radius:2px;outline:none;
}
.field input[type=range]::-webkit-slider-thumb{
  -webkit-appearance:none;width:18px;height:18px;border-radius:50%;
  background:var(--gold);border:2px solid #fff;cursor:pointer;
  box-shadow:0 0 10px rgba(201,169,110,.4);
}
.field-val{display:flex;justify-content:space-between;margin-top:10px;font-size:.8rem;color:var(--text-muted)}
.field-val span:last-child{color:var(--gold);font-weight:600}
.calc-result{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.monthly-pay{font-family:'Cormorant Garamond',serif;font-size:3.5rem;color:var(--gold);font-weight:600}
.monthly-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted);margin-top:8px;margin-bottom:36px}
.pay-breakdown{display:grid;grid-template-columns:1fr 1fr;gap:20px;width:100%}
.pay-item{background:rgba(255,255,255,.03);border:1px solid var(--glass-border);padding:20px;border-radius:12px}
.pay-item-num{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--gold);font-weight:600}
.pay-item-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:4px}

/* â”€â”€ AGENTS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.agents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.agent-card{
  background:var(--navy2);border:1px solid var(--glass-border);
  border-radius:var(--radius);padding:32px 28px;text-align:center;
  transition:transform .3s,border-color .3s;
}
.agent-card:hover{transform:translateY(-6px);border-color:rgba(201,169,110,.25)}
.agent-img{
  width:96px;height:96px;border-radius:50%;
  object-fit:cover;       /* perfect circular crop */
  object-position:top;    /* keep face visible */
  margin:0 auto 18px;
  border:2px solid var(--gold);
  background:var(--navy); /* fallback while loading */
  transition:transform .3s,box-shadow .3s;
}
.agent-card:hover .agent-img{
  transform:scale(1.05);
  box-shadow:0 0 0 4px rgba(201,169,110,.25);
}
.agent-name{font-family:'Cormorant Garamond',serif;font-size:1.2rem;font-weight:600}
.agent-title{font-size:.8rem;color:var(--text-muted);margin-bottom:4px}
.agent-spec{font-size:.72rem;color:var(--text-muted);margin-bottom:18px}
.agent-divider{border:none;border-top:1px solid var(--glass-border);margin:16px 0}
.agent-stats{display:flex;justify-content:space-around;margin-bottom:18px}
.agent-stat-num{font-family:'Cormorant Garamond',serif;font-size:1.3rem;color:var(--gold);font-weight:600}
.agent-stat-label{font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-top:2px}
.agent-contact{display:flex;flex-direction:column;gap:6px}
.agent-contact a{font-size:.78rem;color:#60a5fa;transition:color .2s}
.agent-contact a:hover{color:var(--gold)}

/* â”€â”€ PARTNERS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.partners-bar{
  border-top:1px solid var(--glass-border);
  border-bottom:1px solid var(--glass-border);
  padding:36px 60px;
  display:flex;justify-content:space-between;align-items:center;
  gap:40px;flex-wrap:wrap;
  opacity:.35;filter:grayscale(1);
}
.partners-bar img{height:22px}

/* â”€â”€ REVIEWS â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.review-rating{font-size:2rem;color:var(--gold);font-family:'Cormorant Garamond',serif}
.review-rating-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted)}
.review-stars{color:var(--gold);margin-top:6px;font-size:1rem}
.review-card{background:var(--navy2);border:1px solid var(--glass-border);border-radius:var(--radius);padding:32px;text-align:left}
.review-text{color:var(--text-muted);line-height:1.78;font-style:italic;margin-bottom:24px;font-size:.9rem}
.reviewer{display:flex;gap:14px;align-items:center}
.reviewer-avatar{width:42px;height:42px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.85rem;flex-shrink:0}
.reviewer-name{font-size:.85rem;font-weight:600}
.reviewer-role{font-size:.7rem;color:var(--text-muted)}

/* â”€â”€ CONTACT â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.contact-wrap{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.contact-info{display:flex;flex-direction:column;gap:24px}
.contact-item{display:flex;gap:18px;align-items:flex-start}
.contact-icon{width:48px;height:48px;border-radius:50%;background:var(--glass);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;margin-top:2px}
.contact-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;color:var(--gold);margin-bottom:4px}
.contact-value{color:var(--text-muted);font-size:.88rem}
.contact-form{background:var(--navy2);border:1px solid var(--glass-border);border-radius:20px;padding:40px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.input-group{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.input-group label{font-size:.65rem;text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted)}
.input-group input,.input-group select,.input-group textarea{
  background:rgba(255,255,255,.04);border:1px solid var(--glass-border);
  color:var(--text);padding:13px 16px;border-radius:10px;font-family:inherit;font-size:.88rem;
  outline:none;transition:border-color .25s;
}
.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:rgba(201,169,110,.5)}
.input-group select option{background:var(--navy2)}
.input-group textarea{resize:vertical;min-height:110px}
.submit-btn{
  width:100%;background:var(--gold);color:var(--navy);
  border:none;padding:16px;border-radius:10px;
  font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.18em;
  transition:background .25s,transform .2s;margin-top:4px;
}
.submit-btn:hover{background:var(--gold-light);transform:translateY(-2px)}

/* â”€â”€ FOOTER â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
footer{background:rgba(0,0,0,.3);border-top:1px solid var(--glass-border);padding:70px 60px 30px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:50px;margin-bottom:60px}
.footer-brand .logo{margin-bottom:16px;display:inline-block}
.footer-desc{color:var(--text-muted);font-size:.82rem;line-height:1.75;max-width:300px}
.footer-col h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.2em;color:var(--gold);margin-bottom:18px}
.footer-col ul{display:flex;flex-direction:column;gap:10px}
.footer-col a{font-size:.82rem;color:var(--text-muted);transition:color .25s}
.footer-col a:hover{color:var(--gold)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--glass-border);padding-top:24px}
.footer-bottom p{color:var(--text-muted);font-size:.78rem}
.footer-legal{text-align:right}
.footer-credit{color:var(--gold);font-size:.75rem;letter-spacing:.12em;font-weight:600;text-transform:uppercase}

/* â”€â”€ MODAL â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.modal-backdrop{
  position:fixed;inset:0;z-index:1000;
  background:rgba(5,8,16,.98);backdrop-filter:blur(24px);
  display:none;align-items:flex-start;justify-content:center;padding:0;
  opacity:0;transition:opacity .35s;
}
.modal-backdrop.open{display:flex;opacity:1}
.modal{
  background:var(--navy2);border:none;
  border-radius:0;width:100%;max-width:100%;
  height:100%;max-height:100vh;
  overflow-y:auto;overflow-x:hidden;position:relative;
  animation:slideUp .4s cubic-bezier(.22,1,.36,1);
}
@keyframes slideUp{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.modal-close{
  position:fixed;top:20px;right:20px;
  background:rgba(0,0,0,.5);border:1px solid var(--glass-border);
  color:#fff;width:50px;height:50px;border-radius:50%;font-size:1.2rem;
  display:flex;align-items:center;justify-content:center;z-index:2000;
  transition:background .2s;cursor:pointer;
}
.modal-close:hover{background:rgba(255,255,255,.12)}
.modal-gallery{clear:both;position:relative}
.modal-gallery{
  background:linear-gradient(90deg,var(--navy2) 25%,rgba(255,255,255,.04) 50%,var(--navy2) 75%);
  background-size:200% 100%;
  animation:shimmer 1.6s infinite;
  height:50vh;min-height:400px;
}
.modal-gallery img{
  width:100%;height:100%;
  object-fit:cover;       /* fills modal without letterboxing */
  object-position:center;
  opacity:0;transition:opacity .5s;
}
.modal-gallery img.loaded{opacity:1;animation:none}
.modal-body{padding:40px 44px 50px}
.modal-meta{display:flex;gap:10px;align-items:center;margin-bottom:12px}
.meta-tag{font-size:.65rem;text-transform:uppercase;letter-spacing:.18em;color:var(--text-muted)}
.modal-title{font-family:'Cormorant Garamond',serif;font-size:2.2rem;font-weight:600;margin-bottom:6px}
.modal-loc{color:var(--text-muted);font-size:.88rem;margin-bottom:16px}
.modal-price{font-family:'Cormorant Garamond',serif;font-size:2rem;color:var(--gold);margin-bottom:28px}
.modal-specs{display:flex;gap:28px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--glass-border)}
.modal-desc{color:var(--text-muted);line-height:1.8;font-size:.9rem;margin-bottom:28px}
.modal-features{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:36px}
.feature-tag{background:rgba(201,169,110,.08);border:1px solid rgba(201,169,110,.2);color:var(--gold);padding:7px 16px;border-radius:100px;font-size:.72rem;letter-spacing:.08em}
.sticky-cta{display:flex;flex-wrap:wrap;gap:14px}
.btn-primary{flex:1;min-width:200px;background:var(--gold);color:var(--navy);border:none;padding:15px 20px;border-radius:10px;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;transition:.25s}
.btn-primary:hover{background:var(--gold-light)}
.btn-secondary{flex:1;min-width:200px;background:transparent;color:var(--text);border:1px solid var(--glass-border);padding:15px 20px;border-radius:10px;font-size:.8rem;transition:.25s}
.btn-secondary:hover{border-color:rgba(201,169,110,.4);color:var(--gold)}

/* â”€â”€ TOAST â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.toast{
  position:fixed;bottom:30px;right:30px;z-index:2000;
  background:var(--gold);color:var(--navy);
  padding:14px 28px;border-radius:10px;
  font-size:.8rem;font-weight:700;
  transform:translateY(100px);opacity:0;
  transition:.4s cubic-bezier(.22,1,.36,1);
}
.toast.show{transform:none;opacity:1}

/* â”€â”€ SCROLL REVEAL â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
.reveal{opacity:0;transform:translateY(20px);transition:opacity .8s cubic-bezier(.4,0,.2,1),transform .8s cubic-bezier(.4,0,.2,1)}
@media(max-width:768px){ .reveal{transform:translateY(10px)} }
.reveal.visible{opacity:1;transform:none}

/* â”€â”€ BLUE ACCENT GLOW (signature look) â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
body::before{
  content:'';position:fixed;top:0;left:0;width:3px;height:100vh;
  background:linear-gradient(180deg,transparent,#1d4ed8 30%,#3b82f6 60%,transparent);
  z-index:999;pointer-events:none;opacity:.6;
}

/* â”€â”€ IMAGE PERFORMANCE & POLISH â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€â”€ */
/*
  - object-fit: cover      â†’ all frames fill without stretch
  - loading="lazy"         â†’ deferred loading on cards
  - opacity fade-in        â†’ smooth paint via .loaded class
  - shimmer skeleton       â†’ prevents layout shift
  - Unsplash: auto=format, fit=crop, w=1200, q=80
*/

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   HAMBURGER MENU
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
.hamburger{
  display:none;
  flex-direction:column;justify-content:center;align-items:center;
  gap:5px;width:40px;height:40px;
  background:transparent;border:1px solid var(--glass-border);
  border-radius:8px;cursor:pointer;padding:8px;flex-shrink:0;
}
.hamburger span{
  display:block;width:20px;height:2px;
  background:var(--text);border-radius:2px;
  transition:transform .3s,opacity .3s;
}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   TABLET â€” max-width: 1024px
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media(max-width:1024px){
  /* Nav */
  #mainNav{padding:20px 30px}
  #mainNav.scrolled{padding:14px 30px}

  /* Sections */
  .section{padding:80px 30px}
  #map-section{padding-left:30px;padding-right:30px}

  /* Property grid â†’ 2 columns */
  .property-grid{grid-template-columns:repeat(2,1fr);gap:24px}

  /* Calculator â†’ stack */
  .calc-wrap{grid-template-columns:1fr;padding:36px 28px;gap:40px}
  .calc-result{padding-top:32px;border-top:1px solid var(--glass-border)}

  /* Agents â†’ 2 columns */
  .agents-grid{grid-template-columns:repeat(2,1fr)}

  /* Section header â†’ stack */
  .section-header{flex-direction:column;align-items:flex-start;gap:24px}
  .filter-bar{justify-content:flex-start}

  /* Footer â†’ 2 col */
  .footer-grid{grid-template-columns:1fr 1fr;gap:36px}
  footer{padding:50px 30px 24px}

  /* Contact â†’ stack */
  .contact-wrap{grid-template-columns:1fr;gap:40px}

  /* Hero search bar â†’ 2Ã—2 grid */
  .search-float{
    display:grid;grid-template-columns:1fr 1fr;
    border-radius:var(--radius);
  }
  .search-group{border-right:none;border-bottom:1px solid var(--glass-border)}
  .search-group:nth-child(odd){border-right:1px solid var(--glass-border)}
  .search-btn{grid-column:1/-1;padding:16px;justify-content:center;border-radius:0}

  /* Modal */
  .modal{max-width:95%;max-height:95vh}
  .modal-gallery img{height:300px}
  .modal-gallery{height:300px}
  .modal-body{padding:28px 28px 40px}
  .modal-specs{flex-wrap:wrap;gap:16px}
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   MOBILE ONLY â€” Premium Native App Experience (max-width: 768px)
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media(max-width:768px){

  /* ── GLOBAL RESETS ── */
  body { padding-bottom: 110px; overflow-x: hidden; }
  #mainNav, .hamburger, .stats-bar, footer, .partners-bar,
  .hero-content, .desktop-header, .desktop-only { display: none !important; }

  /* ── 1. CINEMATIC HERO (Full Viewport) ── */
  .hero {
    height: 100vh;
    height: 100dvh; /* Dynamic viewport for mobile */
    position: relative;
    overflow: hidden;
    display: block;
    padding: 0;
    margin-top: 0; /* Ensure no push-down */
  }
  .hero-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100% !important;
    border-radius: 0 !important;
    background-size: cover;
    background-position: center;
    z-index: 1;
    transform: none !important; /* Disable scale/parallax on mobile */
  }
  .hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
      to bottom,
      rgba(0,0,0,0.25) 0%,
      rgba(0,0,0,0.05) 40%,
      rgba(0,0,0,0.55) 70%,
      rgba(10,15,25,0.92) 100%
    );
    z-index: 2;
  }

  /* â”€â”€ MOBILE GLASS HEADER (pinned top of hero) â”€â”€ */
  .mobile-hero-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    top: 0; left: 0; right: 0;
    z-index: 20;
    padding: 52px 24px 18px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.45), transparent);
  }
  .mhh-logo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.4rem;
    font-weight: 600;
    color: var(--gold);
    text-decoration: none;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }
  .mhh-logo span { color: #fff; }
  .mhh-icons {
    display: flex;
    gap: 18px;
    color: #fff;
    opacity: 0.9;
  }
  .mhh-icons svg { cursor: pointer; min-width: 44px; min-height: 44px; padding: 11px; margin: -11px; }

  /* â”€â”€ MOBILE HERO BOTTOM PANE â”€â”€ */
  .mobile-hero-pane {
    display: flex;
    flex-direction: column;
    position: absolute;
    bottom: 0; left: 0; right: 0;
    z-index: 10;
    padding: 28px 24px 44px;
    background: rgba(255,255,255,0.06);
    backdrop-filter: blur(30px) saturate(1.6);
    -webkit-backdrop-filter: blur(30px) saturate(1.6);
    border-top: 1px solid rgba(255,255,255,0.12);
    border-radius: 36px 36px 0 0;
  }
  .pane-handle {
    width: 38px; height: 4px;
    background: rgba(255,255,255,0.25);
    border-radius: 2px;
    margin: 0 auto 22px;
  }
  .pane-location {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 0.72rem;
    color: rgba(255,255,255,0.65);
    letter-spacing: 0.04em;
    margin-bottom: 10px;
  }
  .pane-title {
    font-family: 'Cormorant Garamond', serif;
    font-size: 2rem;
    font-weight: 500;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 16px;
    letter-spacing: -0.02em;
  }
  .pane-title em { font-style: italic; color: var(--gold); }
  .pane-specs {
    display: flex;
    gap: 14px;
    margin-bottom: 22px;
  }
  .pane-specs span {
    font-size: 0.72rem;
    color: rgba(255,255,255,0.6);
    background: rgba(255,255,255,0.08);
    padding: 5px 12px;
    border-radius: 50px;
    border: 1px solid rgba(255,255,255,0.1);
  }
  .pane-explore {
    display: block;
    text-align: center;
    background: transparent;
    border: 1.5px solid var(--gold);
    color: var(--gold);
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    padding: 14px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.3s ease;
    min-height: 44px;
  }
  .pane-explore:active { background: var(--gold); color: var(--navy); transform: scale(0.97); }

  /* â”€â”€ 2. LISTINGS SECTION â”€â”€ */
  .section { padding: 0 0 80px; }
  .container { padding: 0 16px; width: 100%; box-sizing: border-box; }

  /* â”€â”€ STICKY PRO HEADER â”€â”€ */
  .mobile-pro-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 0 14px;
    position: sticky;
    top: 0;
    background: rgba(10,15,25,0.85);
    backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
    border-bottom: 1px solid rgba(255,255,255,0.06);
    z-index: 500;
    margin-bottom: 4px;
  }
  .pro-logo {
    font-family: 'Cormorant Garamond', serif;
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--gold);
    letter-spacing: 0.05em;
    text-transform: uppercase;
  }
  .pro-logo span { color: rgba(255,255,255,0.5); font-size: 0.75rem; font-family: Inter, sans-serif; font-weight: 400; margin-left: 4px; }
  .pro-icons { display: flex; gap: 6px; }
  .pro-icons svg { color: rgba(255,255,255,0.7); min-width: 44px; min-height: 44px; padding: 11px; cursor: pointer; }

  /* ── STORY CATEGORIES ── */
  .story-categories {
    gap: 15px;
    padding: 10px 0 20px;
    justify-content: flex-start; /* Scroll from left on mobile */
  }
  .story-item {
    gap: 8px;
    min-width: 44px;
  }
  .story-item:active .story-circle { transform: scale(0.92); }
  .story-circle {
    width: 65px; height: 65px;
  }
  .story-item span {
    font-size: 0.58rem;
  }

  /* â”€â”€ HORIZONTAL FILTER BAR â”€â”€ */
  .filter-bar {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    padding: 4px 0 18px;
    scrollbar-width: none;
    -ms-overflow-style: none;
    width: 100%;
  }
  .filter-bar::-webkit-scrollbar { display: none; }
  .filter-btn {
    white-space: nowrap;
    padding: 10px 20px;
    min-height: 44px;
    background: rgba(255,255,255,0.05);
    border: 1px solid rgba(255,255,255,0.1);
    border-radius: 50px;
    font-size: 0.72rem;
    font-weight: 500;
    color: rgba(255,255,255,0.55);
    cursor: pointer;
    transition: all 0.25s ease;
    flex-shrink: 0;
  }
  .filter-btn:active { transform: scale(0.95); }
  .filter-btn.active {
    background: var(--gold);
    color: var(--navy);
    border-color: var(--gold);
    font-weight: 700;
    box-shadow: 0 4px 14px rgba(201,169,110,0.3);
  }

  /* â”€â”€ 2-COLUMN PROPERTY GRID â”€â”€ */
  .property-grid {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .property-card {
    border-radius: 20px;
    background: rgba(255,255,255,0.03);
    border: 1px solid rgba(255,255,255,0.06);
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease;
  }
  .property-card:active { transform: scale(0.97); }
  .card-img-wrap { position: relative; }
  .card-img {
    height: 155px;
    border-radius: 20px 20px 0 0;
    overflow: hidden;
  }
  .card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }

  /* Gold price pill â€” bottom-left of image */
  .card-price {
    position: absolute;
    bottom: 9px; left: 9px;
    background: var(--gold);
    color: var(--navy);
    font-size: 0.72rem;
    font-weight: 800;
    padding: 4px 10px;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(0,0,0,0.35);
    z-index: 3;
    margin: 0;
    line-height: 1.3;
  }

  /* Smaller badge â€” top-right */
  .card-badge {
    position: absolute;
    top: 9px; right: 9px;
    padding: 3px 8px;
    font-size: 0.45rem;
    border-radius: 6px;
    backdrop-filter: blur(6px);
  }

  /* Card body */
  .card-body { padding: 10px 10px 12px; }
  .card-title { font-size: 0.82rem; font-weight: 600; margin-bottom: 3px; line-height: 1.3; }
  .card-loc { font-size: 0.62rem; opacity: 0.55; margin-bottom: 6px; }
  .card-specs {
    display: flex;
    gap: 8px;
    border-top: none;
    margin-top: 0;
    padding-top: 0;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .card-specs span { font-size: 0.58rem; color: rgba(255,255,255,0.5); display: flex; align-items: center; gap: 3px; }
  .card-specs svg { width: 9px; height: 9px; opacity: 0.45; }

  /* â”€â”€ 3. LIQUID GLASS FLOATING NAV â”€â”€ */
  .floating-nav {
    position: fixed;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 32px);
    max-width: 390px;
    z-index: 2000;
    display: flex;
    justify-content: space-around;
    align-items: center;
    padding: 10px 16px 14px;
    background: rgba(255,255,255,0.1);
    backdrop-filter: blur(25px) saturate(1.8);
    -webkit-backdrop-filter: blur(25px) saturate(1.8);
    border: 1px solid rgba(255,255,255,0.15);
    border-radius: 50px;
    box-shadow: 0 10px 40px rgba(0,0,0,0.45), 0 1px 0 rgba(255,255,255,0.08) inset;
  }
  .nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    text-decoration: none;
    color: rgba(255,255,255,0.42);
    position: relative;
    min-width: 44px;
    min-height: 44px;
    justify-content: center;
    transition: all 0.3s ease;
  }
  .nav-item:active { transform: scale(0.88); }
  .nav-item svg { transition: all 0.3s ease; stroke-width: 1.5; }
  .nav-item span { font-size: 9px; font-weight: 500; letter-spacing: 0.02em; }
  .nav-item.active { color: rgba(255,255,255,0.95); }
  .nav-item.active svg {
    filter: drop-shadow(0 0 8px rgba(201,169,110,0.8));
    color: #fff0b3;
    stroke-width: 2.5;
  }
  /* Glowing triangle indicator */
  .active-indicator {
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 0; height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-bottom: 5px solid #fff0b3;
    filter: drop-shadow(0 2px 5px rgba(255,230,150,0.9));
  }

  /* â”€â”€ TOUCH & INTERACTION OVERRIDES â”€â”€ */
  .btn-primary, .submit-btn {
    background: rgba(201,169,110,0.12) !important;
    backdrop-filter: blur(15px);
    border: 1px solid rgba(201,169,110,0.4) !important;
    color: var(--gold) !important;
    font-weight: 700;
    min-height: 44px;
  }

  /* â”€â”€ FULL-SCREEN MODAL ON MOBILE â”€â”€ */
  .modal-backdrop { background: var(--navy); }
  .modal { border-radius: 0; height: 100vh; max-height: 100vh; }
  .modal-gallery { height: 42vh; }
  .modal-body { padding: 28px 20px 110px; }

  /* ── 4. ENQUIRY FORM FIXES ── */
  .contact-wrap { gap: 20px; }
  .contact-form { padding: 25px 16px; border-radius: 16px; }
  .form-row { grid-template-columns: 1fr; gap: 0; }
  .input-group { margin-bottom: 12px; gap: 4px; }
  .input-group label { font-size: 0.55rem; margin-bottom: 2px; }
  .input-group input, .input-group select, .input-group textarea { padding: 10px 14px; font-size: 0.8rem; }
  .input-group textarea { min-height: 80px; }
  .input-group:has(#inquiry) { display: none; } /* Hide inquiry type selector on mobile to shorten */
  .submit-btn { padding: 12px; font-size: 0.72rem; margin-top: 0; }

  /* ── 5. REVIEWS SECTION SHORTENING ── */
  .reviews-grid { grid-template-columns: 1fr; gap: 16px; }
  .review-card { padding: 20px; }
  .review-text { font-size: 0.8rem; line-height: 1.5; margin-bottom: 16px; }
  .reviews-grid .review-card:nth-child(n+3) { display: none; } /* Show only first 2 on mobile */
  .review-rating { font-size: 1.5rem; }
  .reviewer-avatar { width: 32px; height: 32px; font-size: 0.7rem; }
  .reviewer-name { font-size: 0.75rem; }

  /* ── 6. AGENTS SECTION SHORTENING ── */
  .agents-grid {
    display: flex;
    overflow-x: auto;
    gap: 16px;
    padding: 10px 4px 20px;
    scroll-snap-type: x mandatory;
    scrollbar-width: none; /* Hide scrollbar Firefox */
  }
  .agents-grid::-webkit-scrollbar { display: none; } /* Hide scrollbar Chrome/Safari */
  .agent-card {
    flex: 0 0 240px;
    scroll-snap-align: center;
    padding: 20px 16px;
  }
  .agent-img { width: 70px; height: 70px; margin-bottom: 12px; }
  .agent-stats, .agent-divider, .agent-contact { display: none; } /* Hide bulky info on mobile */
  .agent-name { font-size: 1rem; }
  .agent-title { font-size: 0.7rem; }
}

/* â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•
   SMALL MOBILE â€” max-width: 480px
â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â•â• */
@media(max-width:480px){
  .pane-title { font-size: 1.75rem; }
  .property-grid { gap: 10px; }
  .card-img { height: 135px; }
  .floating-nav { width: calc(100% - 24px); padding: 10px 10px 14px; }
  #map { height: 300px; }
}

/* =========================================================================
   4. APP DRAWER OVERLAYS & MOBILE INTERACTIVITY
   ========================================================================= */

/* Favorite Card Badge */
.card-fav-btn {
  position: absolute;
  top: 9px;
  left: 9px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(10,15,25,0.65);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  cursor: pointer;
  padding: 0;
  transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.card-fav-btn svg {
  width: 13px;
  height: 13px;
  stroke: #fff;
  transition: fill 0.3s ease, stroke 0.3s ease;
}
.card-fav-btn:active {
  transform: scale(0.85);
}
.card-fav-btn.active {
  background: rgba(201,169,110,0.25);
  border-color: rgba(201,169,110,0.5);
  color: var(--gold);
}
.card-fav-btn.active svg {
  fill: var(--gold);
  stroke: var(--gold);
  filter: drop-shadow(0 0 4px rgba(201,169,110,0.6));
}

/* Drawer Backdrop Base */
.app-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 15, 25, 0.96);
  backdrop-filter: blur(25px);
  -webkit-backdrop-filter: blur(25px);
  z-index: 1500;
  display: flex;
  flex-direction: column;
  transform: translateY(100%);
  opacity: 0;
  transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.35s ease;
  pointer-events: none;
}
.app-overlay.open {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

.overlay-header {
  padding: 40px 24px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,0.06);
}
.overlay-header h3 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.6rem;
  font-weight: 600;
  color: #fff;
  letter-spacing: 0.04em;
  margin: 0;
}
.overlay-close {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.1);
  color: #fff;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  font-size: 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, transform 0.2s;
}
.overlay-close:active {
  transform: scale(0.9);
}
.overlay-body {
  flex: 1;
  overflow-y: auto;
  padding: 24px;
  padding-bottom: 120px; /* Space for bottom nav and input bars */
}

/* Favorites Portfolio Container */
.favorites-container {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.favorite-item-card {
  display: flex;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s;
}
.favorite-item-card:active {
  transform: scale(0.98);
}
.favorite-item-card img {
  width: 90px;
  height: 90px;
  object-fit: cover;
}
.fav-item-details {
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  padding-right: 40px;
}
.fav-item-type {
  font-size: 0.58rem;
  color: var(--gold);
  text-transform: uppercase;
  letter-spacing: 1.5px;
  margin-bottom: 2px;
}
.fav-item-title {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.05rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.2;
}
.fav-item-loc {
  font-size: 0.65rem;
  color: var(--text-muted);
  margin-bottom: 6px;
}
.fav-item-price {
  font-size: 0.85rem;
  font-weight: 700;
  color: #fff0b3;
}
.fav-item-remove-btn {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.5);
  width: 26px;
  height: 26px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.75rem;
  cursor: pointer;
}
.fav-item-remove-btn:hover {
  background: rgba(255,74,74,0.15);
  color: #ff4a4a;
  border-color: rgba(255,74,74,0.2);
}

/* Empty State Styling */
.empty-favorites-state {
  text-align: center;
  padding: 60px 20px;
}
.empty-icon {
  font-size: 3rem;
  margin-bottom: 16px;
  filter: drop-shadow(0 0 15px rgba(201,169,110,0.4));
}
.empty-favorites-state h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  color: #fff;
  margin-bottom: 8px;
}
.empty-favorites-state p {
  font-size: 0.8rem;
  color: var(--text-muted);
  line-height: 1.6;
  max-width: 260px;
  margin: 0 auto 24px;
}
.explore-btn {
  background: var(--gold);
  color: var(--navy);
  border: none;
  padding: 10px 24px;
  border-radius: 30px;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  cursor: pointer;
}

/* Chat Styles */
.chat-agent-info {
  display: flex;
  align-items: center;
  gap: 12px;
}
.chat-avatar {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  overflow: hidden;
  border: 1.5px solid var(--gold);
}
.chat-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.chat-agent-info h4 {
  font-size: 0.95rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}
.chat-agent-info p {
  font-size: 0.65rem;
  color: rgba(255,255,255,0.5);
  margin: 0;
  display: flex;
  align-items: center;
  gap: 4px;
}
.online-indicator {
  width: 6px;
  height: 6px;
  background: #2ec4b6;
  border-radius: 50%;
  display: inline-block;
  box-shadow: 0 0 8px #2ec4b6;
  animation: pulseGreen 2s infinite;
}
@keyframes pulseGreen {
  0% { box-shadow: 0 0 0 0 rgba(46,196,182,0.7); }
  70% { box-shadow: 0 0 0 6px rgba(46,196,182,0); }
  100% { box-shadow: 0 0 0 0 rgba(46,196,182,0); }
}

.chat-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.chat-msg {
  max-width: 80%;
  padding: 12px 16px;
  border-radius: 14px;
  font-size: 0.8rem;
  line-height: 1.5;
  margin-bottom: 4px;
}
.chat-msg.agent {
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.9);
  align-self: flex-start;
  border-bottom-left-radius: 3px;
}
.chat-msg.user {
  background: var(--gold);
  color: var(--navy);
  align-self: flex-end;
  border-bottom-right-radius: 3px;
  font-weight: 500;
}
.chat-suggestions {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 12px 16px;
  scrollbar-width: none;
}
.chat-suggestions::-webkit-scrollbar { display: none; }
.chat-suggest-btn {
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.8);
  padding: 8px 14px;
  border-radius: 20px;
  font-size: 0.68rem;
  white-space: nowrap;
  cursor: pointer;
  transition: all 0.2s;
}
.chat-suggest-btn:active {
  background: rgba(201,169,110,0.15);
  border-color: var(--gold);
  color: var(--gold);
}

.chat-input-bar {
  border-top: 1px solid rgba(255,255,255,0.06);
  background: rgba(10,15,25,0.85);
  backdrop-filter: blur(10px);
  padding-bottom: 100px; /* Space for floating nav */
}
.chat-input-wrap {
  display: flex;
  padding: 12px 16px;
  gap: 10px;
}
.chat-input-wrap input {
  flex: 1;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 24px;
  padding: 12px 18px;
  color: #fff;
  font-size: 0.8rem;
  outline: none;
}
.chat-input-wrap input:focus {
  border-color: rgba(201,169,110,0.5);
}
#chat-send {
  background: var(--gold);
  color: var(--navy);
  border: none;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.95rem;
  cursor: pointer;
  transition: transform 0.2s;
}
#chat-send:active {
  transform: scale(0.9);
}

/* Typing Indicator Animation */
.typing-indicator {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 12px 16px;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  border-bottom-left-radius: 3px;
  align-self: flex-start;
  width: fit-content;
}
.typing-indicator span {
  width: 6px;
  height: 6px;
  background: rgba(255,255,255,0.4);
  border-radius: 50%;
  display: inline-block;
  animation: typingBlink 1.4s infinite both;
}
.typing-indicator span:nth-child(2) { animation-delay: .2s; }
.typing-indicator span:nth-child(3) { animation-delay: .4s; }
@keyframes typingBlink {
  0% { opacity: .2; transform: translateY(0); }
  20% { opacity: 1; transform: translateY(-3px); }
  100% { opacity: .2; transform: translateY(0); }
}

/* Profile Overlay Styles */
.profile-card {
  display: flex;
  align-items: center;
  gap: 16px;
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  padding: 18px;
  border-radius: 16px;
  margin-bottom: 24px;
}
.profile-avatar {
  width: 50px;
  height: 50px;
  background: var(--gold);
  color: var(--navy);
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.4rem;
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.profile-info h4 {
  font-family: 'Cormorant Garamond', serif;
  font-size: 1.25rem;
  font-weight: 600;
  color: #fff;
  margin: 0;
}
.profile-tier {
  font-size: 0.58rem;
  letter-spacing: 1.5px;
  color: var(--gold);
  font-weight: 700;
}

.profile-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.profile-field {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.04);
  padding: 16px;
  border-radius: 14px;
}
.profile-field label {
  font-size: 0.58rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  color: var(--gold);
  display: block;
  margin-bottom: 12px;
}
.profile-input-edit input {
  width: 100%;
  background: rgba(255,255,255,0.04);
  border: 1px solid rgba(255,255,255,0.1);
  border-radius: 8px;
  padding: 10px 14px;
  color: #fff;
  font-size: 0.8rem;
  outline: none;
}
.profile-input-edit input:focus {
  border-color: var(--gold);
}

.budget-selector {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.budget-selector input[type="range"] {
  width: 100%;
  accent-color: var(--gold);
}
.budget-preference-val {
  font-size: 0.8rem;
  color: #fff;
  font-weight: 600;
}

.toggle-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255,255,255,0.03);
}
.toggle-row:last-child {
  border-bottom: none;
}
.toggle-row span {
  font-size: 0.75rem;
  color: rgba(255,255,255,0.8);
}

/* Consultation Card */
.consultation-card {
  display: flex;
  gap: 14px;
  background: rgba(201,169,110,0.06);
  border: 1px solid rgba(201,169,110,0.15);
  padding: 14px;
  border-radius: 10px;
}
.consultation-icon {
  font-size: 1.4rem;
}
.consultation-title {
  font-size: 0.78rem;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2px;
}
.consultation-time {
  font-size: 0.7rem;
  color: var(--gold);
  margin-bottom: 2px;
}
.consultation-agent {
  font-size: 0.65rem;
  color: var(--text-muted);
}

/* Beautiful Switch Style */
.switch {
  position: relative;
  display: inline-block;
  width: 38px;
  height: 20px;
}
.switch input { 
  opacity: 0;
  width: 0;
  height: 0;
}
.slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: rgba(255,255,255,0.1);
  transition: .4s;
}
.slider:before {
  position: absolute;
  content: "";
  height: 14px;
  width: 14px;
  left: 3px;
  bottom: 3px;
  background-color: white;
  transition: .4s;
}
input:checked + .slider {
  background-color: var(--gold);
}
input:focus + .slider {
  box-shadow: 0 0 1px var(--gold);
}
input:checked + .slider:before {
  transform: translateX(18px);
}
.slider.round {
  border-radius: 20px;
}
.slider.round:before {
  border-radius: 50%;
}

