/* ===== RESET & BASE ===== */
* { margin:0; padding:0; box-sizing:border-box; }
:root{
  --gold:#E5A527;
  --gold-dark:#C98F1E;
  --navy:#12151F;
  --navy2:#191d29;
  --text-dark:#1c1c1c;
  --text-grey:#6b6b6b;
  --cream:#FBF6EC;
  --border:#eee7d8;
}
html{ overflow-x:hidden; }
body{
  font-family:'Segoe UI', Arial, Helvetica, sans-serif;
  color:var(--text-dark);
  background:#fff;
  line-height:1.5;
  overflow-x:hidden;
  position:relative;
  width:100%;
}
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; }
img{ max-width:100%; display:block; }
h1,h2,h3,h4{ line-height:1.2; }
.eyebrow{
  color:var(--gold-dark);
  font-weight:700;
  font-size:.75rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin-bottom:.5rem;
}
.center{ text-align:center; margin-left:auto; margin-right:auto; }
h2.center{ font-size:1.9rem; margin-bottom:2.5rem; }

.btn{
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:.7rem 1.4rem;
  border-radius:6px;
  font-weight:700;
  font-size:.92rem;
  cursor:pointer;
  border:none;
  line-height:1.25;
  white-space:nowrap;
}
.btn small{ font-weight:500; font-size:.68rem; opacity:.85; }
.btn-gold{ background:linear-gradient(180deg,#EFB43C,var(--gold)); color:#1a1a1a; }
.btn-gold:hover{ filter:brightness(1.05); }
.btn-outline-gold{ background:transparent; border:1.5px solid var(--gold); color:var(--gold); }
.btn-outline-white{ background:transparent; border:1.5px solid #fff; color:#fff; }
.btn-dark{ background:var(--navy); color:#fff; }
.btn.full{ width:100%; }

/* ===== HEADER ===== */
.site-header{
  background:#0d0f16;
  position:sticky; top:0; z-index:150;
  border-bottom:1px solid #23262f;
}
.header-inner{
  max-width:1300px; margin:0 auto;
  display:flex; align-items:center; justify-content:space-between;
  padding:.8rem 2rem;
  gap:1.5rem;
}
.logo{ display:flex; align-items:center; gap:.5rem; }
.logo-img{ width:42px; height:42px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.logo-text{ color:#fff; font-weight:800; font-size:1.1rem; letter-spacing:.03em; display:flex; flex-direction:column; line-height:1.1; }
.logo-text small{ color:var(--gold); font-size:.55rem; font-weight:600; letter-spacing:.15em; }

.main-nav{ display:flex; gap:1.6rem; flex:1; justify-content:center; }
.main-nav a{ color:#d7d7d7; font-size:.88rem; font-weight:500; display:flex; align-items:center; gap:.25rem; }
.main-nav a.active{ color:var(--gold); border-bottom:2px solid var(--gold); padding-bottom:.3rem; }
.main-nav a:hover{ color:var(--gold); }

.header-actions{ display:flex; gap:.7rem; align-items:center; }

/* ===== HERO ===== */
.hero{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/homepagebg.jpeg");
  background-color:#0a0c14;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding:3.5rem 2rem 4rem;
  position:relative;
  overflow:hidden;
}
.hero-inner{
  max-width:1300px; margin:0 auto;
  display:grid;
  grid-template-columns:1.15fr 1fr auto;
  gap:2rem;
  align-items:center;
  position:relative;
}
.hero-copy{ color:#fff; grid-column:1; z-index:2; }
.hero-copy h1{ font-size:2.6rem; font-weight:800; margin:.3rem 0 1rem; }
.hero-copy h1 span{ color:var(--gold); }
.hero-sub{ font-size:1.15rem; font-weight:600; margin-bottom:.9rem; }
.hero-area{ font-size:.88rem; color:#cfcfcf; display:flex; gap:.5rem; margin-bottom:1.8rem; }
.hero-btns{ display:flex; gap:.9rem; }

.hero-image{
  grid-column:2;
  height:340px;
  border-radius:10px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.5) 100%),
    linear-gradient(120deg,#3b3f52,#1c1e29 55%, #E5A527 130%);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  position:relative;
}
.hero-image::before{
  content:"🏡";
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:5rem; opacity:.5;
}

.hero-search-card{
  grid-column:3;
  background:#12141c;
  border:1px solid #262a37;
  border-radius:10px;
  padding:1.4rem;
  width:280px;
  z-index:2;
}
.hero-search-card h3{ color:var(--gold); font-size:1.05rem; margin-bottom:1rem; }
.field{
  display:flex; align-items:center; gap:.55rem;
  background:#191c26;
  border:1px solid #2b2f3d;
  border-radius:6px;
  padding:.65rem .8rem;
  margin-bottom:.7rem;
  font-size:.82rem;
  color:#c9c9c9;
  cursor:pointer;
}
.field span{ flex:1; }
.field .chev{ opacity:.6; pointer-events:none; }
.search-btn{ width:100%; margin-top:.4rem; flex-direction:row; gap:.4rem; cursor:pointer; }

/* Real <select> dropdowns styled to match the original static fields */
.field select{
  flex:1; width:100%; background:transparent; border:none; outline:none;
  color:#c9c9c9; font-size:.82rem; font-family:inherit; appearance:none;
  -webkit-appearance:none; -moz-appearance:none; cursor:pointer;
}
.field select:focus{ color:#fff; }
.field select option{ background:#191c26; color:#e7e7e7; }
.field.light select{
  width:100%; background:transparent; border:none; outline:none;
  color:#9a9a9a; font-size:.75rem; font-family:inherit; font-weight:400;
  margin-top:.15rem; padding:0; appearance:none; -webkit-appearance:none; -moz-appearance:none;
  cursor:pointer;
}
.field.light select:focus{ color:#fff; }
.field.light select option{ background:#191c26; color:#e7e7e7; }
.no-results-msg{ grid-column:1/-1; }

/* ===== POST STRIP ===== */
.post-strip{ background:#fff; border-bottom:1px solid var(--border); padding:1.6rem 2rem; }
.post-strip-inner{
  max-width:1300px; margin:0 auto;
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.6rem;
}
.post-strip-left{ display:flex; align-items:center; gap:1rem; flex:1; min-width:230px; }

.post-strip-social{
  position:relative; flex:0 0 230px; min-width:210px;
  background:var(--cream); border:1px solid #f0e3c3; border-radius:12px;
  padding:1.1rem 1.2rem 1.2rem;
}
.new-badge{
  position:absolute; top:-.6rem; right:.9rem;
  background:#e5303c; color:#fff; font-size:.62rem; font-weight:800;
  letter-spacing:.03em; padding:.2rem .5rem; border-radius:999px;
}
.post-strip-social h4{ font-size:.88rem; margin-bottom:.35rem; padding-right:1.6rem; }
.post-strip-social p{ font-size:.72rem; line-height:1.4; color:var(--text-grey); margin-bottom:.7rem; }
.social-icons{ display:flex; gap:.5rem; margin-bottom:.8rem; }
.social-icon{
  width:30px; height:30px; border-radius:8px;
  display:flex; align-items:center; justify-content:center;
}
.social-icon.instagram{ background:linear-gradient(135deg,#f58529,#dd2a7b 50%,#8134af); }
.social-icon.facebook{ background:#1877f2; }
.social-icon.youtube{ background:#ff0000; }
.social-icon.whatsapp{ background:#25d366; }
.post-strip-social .btn.full{ display:block; text-align:center; width:100%; font-size:.78rem; padding:.6rem .8rem; }
.icon-badge{
  width:52px; height:52px; border-radius:10px;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.post-strip-left h3{ font-size:1rem; margin-bottom:.2rem; }
.post-strip-left p{ font-size:.82rem; color:var(--text-grey); }

.post-strip-steps{ display:flex; gap:2.2rem; }
.step{ text-align:center; max-width:130px; }
.step-num{
  display:inline-flex; align-items:center; justify-content:center;
  width:26px; height:26px; border-radius:50%;
  background:var(--gold); color:#fff; font-weight:700; font-size:.8rem;
  margin-bottom:.4rem;
}
.step h4{ font-size:.85rem; margin-bottom:.2rem; }
.step p{ font-size:.72rem; color:var(--text-grey); }

.post-strip-right{ display:flex; align-items:center; gap:1rem; }
.genuine{ font-size:.72rem; color:var(--text-grey); display:flex; gap:.4rem; align-items:flex-start; max-width:150px; }

/* ===== CATEGORIES ===== */
.categories{ padding:3.5rem 2rem; max-width:1300px; margin:0 auto; }
.cat-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.1rem;
}
.cat-card{
  position:relative;
  display:block;
  border:1px solid var(--border);
  border-radius:10px;
  padding:1.6rem 1.2rem;
  text-align:center;
  text-decoration:none;
  color:inherit;
  background:#fff;
  overflow:hidden;
  cursor:pointer;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
/* premium gold sheen accent along the top edge */
.cat-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-dark));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s ease;
}
.cat-card:hover,
.cat-card:focus-visible{
  transform:translateY(-6px);
  box-shadow:0 16px 30px rgba(18,21,31,.12);
  border-color:var(--gold);
}
.cat-card:hover::before,
.cat-card:focus-visible::before{ transform:scaleX(1); }
.cat-card:hover h4{ color:var(--gold-dark); }
.cat-card:hover .cat-icon{ transform:scale(1.15) rotate(-4deg); }
.cat-card:active{
  transform:translateY(-2px) scale(.98);
  box-shadow:0 8px 16px rgba(18,21,31,.1);
}
.cat-card:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.cat-icon{ font-size:1.8rem; margin-bottom:.7rem; display:inline-block; transition:transform .28s ease; }
.cat-card h4{ font-size:.92rem; margin-bottom:.3rem; transition:color .2s ease; }
.cat-card p{ font-size:.76rem; color:var(--text-grey); }

/* ===== EXPLORE EVERYTHING WE OFFER ===== */
.offer{ padding:3.5rem 2rem; max-width:1300px; margin:0 auto; }
.offer-grid{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:1.1rem;
}
.offer-card{
  position:relative;
  display:block;
  border:1px solid var(--border);
  border-radius:10px;
  padding:1.8rem 1.2rem;
  text-align:center;
  text-decoration:none;
  color:inherit;
  background:#fff;
  overflow:hidden;
  cursor:pointer;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.offer-card::before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height:3px;
  background:linear-gradient(90deg,var(--gold-dark),var(--gold),var(--gold-dark));
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .3s ease;
}
.offer-card:hover,
.offer-card:focus-visible{
  transform:translateY(-6px);
  box-shadow:0 16px 30px rgba(18,21,31,.12);
  border-color:var(--gold);
}
.offer-card:hover::before,
.offer-card:focus-visible::before{ transform:scaleX(1); }
.offer-card:hover h4{ color:var(--gold-dark); }
.offer-card:hover .offer-icon{ transform:scale(1.15) rotate(-4deg); }
.offer-card:active{
  transform:translateY(-2px) scale(.98);
  box-shadow:0 8px 16px rgba(18,21,31,.1);
}
.offer-card:focus-visible{ outline:2px solid var(--gold); outline-offset:3px; }
.offer-icon{
  width:56px; height:56px; margin:0 auto .9rem;
  display:flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:var(--cream);
  font-size:1.6rem;
  transition:transform .28s ease;
}
.offer-card h4{ font-size:.95rem; margin-bottom:.4rem; transition:color .2s ease; }
.offer-card p{ font-size:.78rem; color:var(--text-grey); line-height:1.4; margin-bottom:.7rem; }
.offer-link{ font-size:.8rem; font-weight:700; color:var(--gold-dark); }
.offer-badge{
  position:absolute; top:.8rem; left:.8rem;
  background:#e5303c; color:#fff; font-size:.62rem; font-weight:800;
  letter-spacing:.03em; padding:.2rem .5rem; border-radius:999px;
}

/* ===== SERVICES BAR ===== */
.services-bar{ background:var(--navy); padding:1.8rem 2rem; }
.services-label{ text-align:center; color:var(--gold); font-size:.72rem; letter-spacing:.15em; text-transform:uppercase; font-weight:700; margin-bottom:1rem; }
.services-row{
  max-width:1300px; margin:0 auto;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1.2rem;
}
.service-item{
  color:#e7e7e7; font-size:.82rem; font-weight:600;
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  text-align:center; width:130px;
}
.service-item span{ font-size:1.4rem; }

/* ===== LOANS ===== */
.loans{ background:var(--cream); padding:3.5rem 2rem; }
.loans-grid{
  max-width:1300px; margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1.6fr .8fr;
  gap:2rem;
}
.loans-left h2{ font-size:1.5rem; margin:.4rem 0 1rem; }
.check-list{ margin-bottom:1.3rem; }
.check-list li{ font-size:.85rem; margin-bottom:.5rem; padding-left:1.4rem; position:relative; color:#333; }
.check-list li::before{ content:"✔"; position:absolute; left:0; color:var(--gold-dark); font-size:.75rem; }
.check-list.light li{ color:#eee; }
.check-list.light li::before{ color:var(--gold); }
.check-list.small li{ font-size:.8rem; }

.loans-mid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:.9rem;
  background:#fff;
  border-radius:10px;
  padding:1.4rem;
  border:1px solid var(--border);
}
.loan-type{
  display:flex; flex-direction:column; align-items:center; gap:.4rem;
  font-size:.72rem; font-weight:600; text-align:center;
  padding:.6rem .3rem;
}
.loan-type span{ font-size:1.3rem; }

.loans-right{
  background:var(--navy);
  border-radius:10px;
  padding:1.6rem;
  color:#fff;
}
.loans-right h3{ color:var(--gold); font-size:1.05rem; margin-bottom:1rem; }

.lending-partners{
  max-width:1300px; margin:2rem auto 0;
  background:#fff; border:1px solid var(--border); border-radius:8px;
  padding:1rem 1.5rem;
  display:flex; align-items:center; gap:1.6rem; flex-wrap:wrap;
  font-size:.82rem; font-weight:700; color:#444;
}
.lp-label{ color:var(--text-grey); font-weight:600; font-size:.75rem; }

/* ===== THREE CARDS ===== */
.three-cards{
  max-width:1300px; margin:0 auto; padding:3.5rem 2rem;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;
}
.tc-card{
  border:1px solid var(--border); border-radius:10px;
  padding:1.6rem; background:var(--cream);
}
.tc-card.dark{ background:var(--navy); color:#fff; }
.tc-label{ color:var(--gold-dark); font-size:.7rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-bottom:.4rem; }
.tc-card.dark .tc-label{ color:var(--gold); }
.tc-card h3{ font-size:1.1rem; margin-bottom:.6rem; }
.tc-desc{ font-size:.82rem; color:var(--text-grey); margin-bottom:1rem; }
.tc-price{ font-size:1.6rem; font-weight:800; color:var(--gold); margin-bottom:.8rem; }
.tc-price.dark-text{ color:var(--gold-dark); }
.tc-social{ font-size:1.3rem; margin-bottom:1.1rem; letter-spacing:.4rem; }

/* ===== AREAS ===== */
.areas{ padding:3rem 2rem; max-width:1300px; margin:0 auto; }
.areas-row{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1.4rem;
}
.area-item{
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  font-size:1.6rem; width:100px; text-align:center;
}
.area-item span{ font-size:.78rem; font-weight:600; color:#333; }

/* ===== TESTIMONIALS ===== */
.testimonials{ background:var(--cream); padding:3.5rem 2rem; }
.testimonial-grid{
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem;
}
.testimonial-card{
  background:#fff; border:1px solid var(--border); border-radius:10px; padding:1.4rem;
}
.t-head{ display:flex; align-items:center; gap:.8rem; margin-bottom:.8rem; }
.avatar{
  width:44px; height:44px; border-radius:50%;
  background:var(--cream); border:1px solid #eadfba;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.stars{ color:var(--gold); font-size:.85rem; }
.testimonial-card p{ font-size:.85rem; color:#444; margin-bottom:.8rem; font-style:italic; }
.t-name{ font-size:.8rem; font-weight:700; color:var(--text-dark); }

/* ===== MEET THE FOUNDER ===== */
.founder{ background:var(--navy); padding:4rem 2rem; }
.founder-inner{
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:340px 1fr; gap:3rem; align-items:center;
}
.founder-photo-wrap{
  position:relative; border-radius:14px; overflow:hidden;
  border:1px solid rgba(229,165,39,.35);
  box-shadow:0 20px 45px rgba(0,0,0,.35);
}
.founder-photo{ width:100%; height:460px; object-fit:cover; display:block; }
.founder-content .eyebrow{ color:var(--gold); }
.founder-content h2{ font-size:2.2rem; color:#fff; margin-bottom:.3rem; }
.founder-role{ color:var(--gold); font-weight:700; font-size:.95rem; margin-bottom:1.1rem; }
.founder-bio{ color:#cfd2da; font-size:.95rem; line-height:1.7; max-width:620px; margin-bottom:1.4rem; }
.founder-quote{
  border-left:3px solid var(--gold);
  padding:.3rem 0 .3rem 1.1rem;
  color:#fff; font-size:1.25rem; font-weight:700; font-style:italic;
}

@media(max-width:860px){
  .founder-inner{ grid-template-columns:1fr; gap:2rem; text-align:center; }
  .founder-photo-wrap{ max-width:320px; margin:0 auto; }
  .founder-bio{ margin-left:auto; margin-right:auto; }
  .founder-quote{ border-left:none; border-top:3px solid var(--gold); padding:.8rem 0 0; display:inline-block; }
}

/* ===== FOOTER ===== */
.site-footer{ background:var(--navy); color:#c9c9c9; padding:3rem 2rem 0; position:relative; }
.footer-grid{
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr 1fr; gap:2rem;
  padding-bottom:2rem; border-bottom:1px solid #262a37;
}
.footer-brand p{ font-size:.8rem; margin:1rem 0; color:#9a9a9a; }
.footer-social{ font-size:1.2rem; letter-spacing:.5rem; }
.footer-col h4{ color:#fff; font-size:.9rem; margin-bottom:1rem; }
.footer-col a, .footer-col p{ display:block; font-size:.8rem; margin-bottom:.6rem; color:#9a9a9a; }
.footer-col a:hover{ color:var(--gold); }
.footer-bottom{ text-align:center; font-size:.78rem; color:#7a7a7a; padding:1.3rem 0; }

.chat-btn{
  position:fixed; bottom:1.5rem; right:1.5rem;
  background:#25D366; color:#fff; font-weight:700; font-size:.85rem;
  padding:.7rem 1.1rem; border-radius:30px;
  box-shadow:0 6px 16px rgba(0,0,0,.3);
  z-index:60;
  display:flex; align-items:center; gap:.4rem;
}

/* ===== BUY HERO ===== */
.buy-hero{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 35%, rgba(10,12,20,.6) 70%, rgba(10,12,20,.3) 100%),
    radial-gradient(circle at 80% 20%, #2a2f45 0%, #10121b 60%);
  padding:2.2rem 2rem 2.6rem;
}

/* Buy page: real photo as the full hero background instead of the small thumbnail box */
.buy-hero.buy-hero-photo-bg{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/buyherobg.jpeg");
  background-color:#0d0f18;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
.buy-hero.buy-hero-photo-bg .buy-hero-top{ grid-template-columns:1fr; }
.buy-hero.buy-hero-photo-bg .buy-hero-image{ display:none; }

/* Rent page: same technique — drop images/rentherobg.jpeg in the images folder to activate */
.buy-hero.rent-hero-photo-bg{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/rentherobg.jpg");
  background-color:#0d0f18;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
.buy-hero.rent-hero-photo-bg .buy-hero-top{ grid-template-columns:1fr; }
.buy-hero.rent-hero-photo-bg .buy-hero-image{ display:none; }

/* Investment page: drop images/investmentherobg.jpeg in the images folder to activate */
.buy-hero.investment-hero-photo-bg{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/investmentherobg.jpg");
  background-color:#0d0f18;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}

/* Loans page: drop images/loansherobg.jpeg in the images folder to activate */
.buy-hero.loans-hero-photo-bg{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/loansherobg.jpg");
  background-color:#0d0f18;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
.buy-hero.loans-hero-photo-bg .buy-hero-top{ grid-template-columns:1fr; }
.buy-hero.loans-hero-photo-bg .buy-hero-image{ display:none; }
.buy-hero-inner{ max-width:1300px; margin:0 auto; }
.crumb{ color:#9a9a9a; font-size:.8rem; margin-bottom:1.4rem; }
.crumb a{ color:#c9c9c9; }
.crumb span{ margin:0 .3rem; }

.buy-hero-top{ display:grid; grid-template-columns:1.2fr 1fr; gap:2rem; align-items:center; margin-bottom:1.8rem; }
.buy-hero-copy h1{ color:#fff; font-size:2.4rem; font-weight:800; margin-bottom:.9rem; }
.buy-hero-copy h1 span{ color:var(--gold); }
.buy-hero-copy p{ color:#cfcfcf; font-size:.95rem; }

.buy-hero-image{
  height:230px; border-radius:10px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%),
    linear-gradient(120deg,#3b3f52,#1c1e29 55%, #E5A527 130%);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  position:relative;
}
.buy-hero-image::before{
  content:"🏡"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:4rem; opacity:.5;
}

.buy-search-card{
  background:#12141c; border:1px solid #262a37; border-radius:10px;
  padding:1.2rem 1.4rem 1.4rem;
}
.buy-tabs{ display:flex; gap:.5rem; margin-bottom:1.1rem; }
.buy-tab{
  border:1px solid #2b2f3d; background:#191c26; color:#c9c9c9;
  font-weight:700; font-size:.85rem; padding:.55rem 1.3rem;
  border-radius:6px; cursor:pointer;
}
.buy-tab.active{ background:linear-gradient(180deg,#EFB43C,var(--gold)); color:#1a1a1a; border-color:transparent; }

.buy-filters{ display:grid; grid-template-columns:repeat(4,1fr) auto; gap:.8rem; align-items:stretch; }
.field.light{ margin-bottom:0; align-items:flex-start; padding:.55rem .8rem; }
.field.light span{ display:flex; flex-direction:column; font-weight:600; font-size:.85rem; color:#e7e7e7; }
.field.light span small{ font-weight:400; font-size:.75rem; color:#9a9a9a; margin-top:.15rem; }
.search-btn.wide{ min-width:190px; }

/* ===== WHY BUY ===== */
.why-buy{ max-width:1300px; margin:0 auto; padding:3rem 2rem 2.6rem; }
.why-buy h2{ font-size:1.5rem; margin-bottom:2rem; }
.why-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; }
.why-item{ text-align:center; }
.why-icon{
  width:64px; height:64px; border-radius:50%; margin:0 auto .8rem;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; font-size:1.6rem;
}
.why-item p{ font-size:.85rem; font-weight:600; color:#333; }

/* ===== BUY MAIN ===== */
.buy-main{ max-width:1300px; margin:0 auto; padding:0 2rem 3.5rem; }
.buy-main-grid{ display:grid; grid-template-columns:2.3fr 1fr; gap:2.2rem; align-items:start; }
.buy-main-grid > *{ min-width:0; }

.section-head-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.4rem; flex-wrap:wrap; gap:1rem; }
.section-head-row h2{ font-size:1.4rem; }
.sort-field{ font-size:.85rem; color:var(--text-grey); display:flex; align-items:center; gap:.5rem; }
.sort-field select{
  border:1px solid var(--border); border-radius:6px; padding:.45rem .7rem;
  font-size:.85rem; color:var(--text-dark); background:#fff;
}

.prop-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:1.2rem; }
.prop-card{
  border:1px solid var(--border); border-radius:10px; overflow:hidden;
  transition:.2s; background:#fff;
}
.prop-card:hover{ box-shadow:0 10px 24px rgba(0,0,0,.08); border-color:var(--gold); }

.prop-thumb{
  height:160px; position:relative;
  background:linear-gradient(135deg,#3b3f52,#1c1e29 60%, #E5A527 160%);
}
.prop-thumb::before{
  content:"🏢"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:2.4rem; opacity:.55; color:#fff;
}
.prop-thumb.villa::before{ content:"🏡"; }
.prop-thumb.plot::before{ content:"📍"; }
.prop-thumb.tower::before,
.prop-thumb.tower2::before{ content:"🏙️"; }
.prop-thumb.apt2::before{ content:"🏠"; }
.prop-thumb.tower{ background:linear-gradient(135deg,#2c3450,#171a24 55%, #E5A527 160%); }
.prop-thumb.villa{ background:linear-gradient(135deg,#4a4030,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.plot{ background:linear-gradient(135deg,#3d4a34,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.tower2{ background:linear-gradient(135deg,#37415a,#181b26 55%, #E5A527 160%); }
.prop-thumb.apt2{ background:linear-gradient(135deg,#463a2c,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.uploaded-photo{
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.prop-thumb.uploaded-photo::before{ content:""; display:none; }

.badge{
  position:absolute; top:.7rem; left:.7rem;
  font-size:.68rem; font-weight:700; padding:.28rem .6rem; border-radius:5px;
  color:#fff; letter-spacing:.02em;
}
.badge.premium{ background:#2b2f3d; }
.badge.launch{ background:#1f8a4c; }
.badge.hot{ background:#c0392b; }
.prop-body{ padding:1rem 1.1rem 1.2rem; }
.prop-body h4{ font-size:1rem; margin-bottom:.2rem; }
.prop-loc{ font-size:.8rem; color:var(--text-grey); margin-bottom:.5rem; }
.prop-price{ font-size:1.15rem; font-weight:800; color:var(--gold-dark); margin-bottom:.6rem; }
.prop-meta{ display:flex; gap:.8rem; flex-wrap:wrap; font-size:.75rem; color:#555; }

.view-more-wrap{ text-align:center; margin:1.8rem 0 2rem; }

.trust-strip{ text-align:center; padding-top:1.6rem; border-top:1px solid var(--border); }
.trust-strip p{ font-size:.95rem; font-weight:700; margin-bottom:1.1rem; }
.lending-partners.no-margin{ margin:0; justify-content:center; }

/* ===== SIDEBAR ===== */
.buy-sidebar{ display:flex; flex-direction:column; gap:1.2rem; }
.side-card{
  border:1px solid var(--border); border-radius:10px; padding:1.3rem;
}
.side-card.dark{ background:var(--navy); color:#fff; border-color:var(--navy); }
.side-card.dark p{ color:#c9c9c9; font-size:.85rem; margin-bottom:1rem; }
.side-card.gold-outline{ background:var(--navy); border-color:var(--navy); color:#fff; }
.side-card h3{ font-size:1.05rem; margin-bottom:.5rem; }
.gold-text{ color:var(--gold); }
.side-card.gold-outline p{ color:#c9c9c9; font-size:.85rem; margin-bottom:.9rem; }
.expert-list{ margin-bottom:1.1rem; }
.expert-list li{ font-size:.82rem; color:#d7d7d7; margin-bottom:.55rem; display:flex; gap:.5rem; align-items:center; }
.side-card p{ font-size:.85rem; color:var(--text-grey); margin-bottom:1rem; }
.btn.full{ display:flex; flex-direction:row; gap:.4rem; }
.btn-outline-dark{ background:transparent; border:1.5px solid var(--navy); color:var(--navy); }

.recent-item{ display:flex; gap:.7rem; align-items:center; margin-bottom:1rem; }
.recent-thumb{
  width:56px; height:56px; border-radius:8px; flex-shrink:0;
  background:linear-gradient(135deg,#3b3f52,#1c1e29 60%, #E5A527 160%);
}
.recent-thumb.tower{ background:linear-gradient(135deg,#2c3450,#171a24 55%, #E5A527 160%); }
.recent-thumb.villa{ background:linear-gradient(135deg,#4a4030,#1c1e29 60%, #E5A527 150%); }
.recent-item h5{ font-size:.85rem; margin-bottom:.15rem; }
.recent-item p{ font-size:.72rem; color:var(--text-grey); margin-bottom:.15rem; }
.recent-item span{ font-size:.78rem; font-weight:700; color:var(--gold-dark); }

/* ===== FEATURE STRIP ===== */
.feature-strip{ background:var(--navy); padding:2.2rem 2rem; }
.feature-strip-inner{
  max-width:1300px; margin:0 auto;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:1.4rem;
}
.feature-item{
  color:#e7e7e7; font-size:.82rem; font-weight:600; text-align:center;
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  width:150px;
}
.feature-item span{ font-size:1.5rem; }

/* ===== RENT HERO IMAGE ===== */
.buy-hero-image.rent-hero-image{
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.45) 100%),
    url("images/rent-hero.svg") center/cover no-repeat;
}
.buy-hero-image.rent-hero-image::before{ content:none; }

/* ===== FURNISHING TAG ===== */
.furn-tag{
  display:inline-block; margin-top:.55rem;
  font-size:.72rem; font-weight:600; color:#555;
  background:var(--cream); border:1px solid #f0e3c3;
  padding:.25rem .65rem; border-radius:20px;
}

/* ===== SIDEBAR REFINE SEARCH ===== */
.side-card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.9rem; }
.side-card-head h3{ margin-bottom:0; }
.clear-all{ font-size:.78rem; font-weight:600; color:var(--gold-dark); }
.mini-label{ display:block; font-size:.78rem; font-weight:700; color:#333; margin:.9rem 0 .4rem; }
.mini-label:first-of-type{ margin-top:0; }
.side-card select,
.side-card input[type="text"],
.side-card input[type="number"]{
  width:100%; border:1px solid var(--border); border-radius:6px;
  padding:.6rem .75rem; font-size:.82rem; color:var(--text-dark);
  background:#fff; font-family:inherit;
}
.range-row{ display:flex; align-items:center; gap:.6rem; }
.range-row span{ font-size:.78rem; color:var(--text-grey); }

/* ===== POPULAR RENTAL LOCALITIES ===== */
.localities{ max-width:1300px; margin:0 auto; padding:1rem 2rem 3rem; }
.localities-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.3rem; }
.localities-head h2{ font-size:1.4rem; }
.localities-head a{ font-size:.85rem; font-weight:700; color:var(--gold-dark); }
.locality-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.locality-card{
  flex:1; min-width:140px; text-align:center;
  border:1px solid var(--border); border-radius:10px; padding:1.2rem 1rem;
  transition:.2s;
}
.locality-card:hover{ border-color:var(--gold); box-shadow:0 8px 20px rgba(0,0,0,.06); }
.locality-icon{
  width:48px; height:48px; border-radius:50%; margin:0 auto .7rem;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.locality-card h4{ font-size:.88rem; margin-bottom:.25rem; }
.locality-card p{ font-size:.75rem; color:var(--gold-dark); font-weight:700; }

/* ===== INDUSTRIAL HERO IMAGE ===== */
.buy-hero-image.industrial-hero-image{
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%),
    linear-gradient(120deg,#3a4636,#1c1e29 55%, #E5A527 140%);
}
.buy-hero-image.industrial-hero-image::before{ content:"🏭"; }

/* ===== INDUSTRIAL PROP THUMBS ===== */
.prop-thumb.warehouse::before{ content:"🏭"; }
.prop-thumb.shed::before{ content:"🏗️"; }
.prop-thumb.factland::before{ content:"📍"; }
.prop-thumb.cold::before{ content:"❄️"; }
.prop-thumb.logistics::before{ content:"📦"; }
.prop-thumb.indplot::before{ content:"🗺️"; }
.prop-thumb.warehouse{ background:linear-gradient(135deg,#3d4a34,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.shed{ background:linear-gradient(135deg,#37415a,#181b26 55%, #E5A527 160%); }
.prop-thumb.factland{ background:linear-gradient(135deg,#4a4030,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.cold{ background:linear-gradient(135deg,#2c3450,#171a24 55%, #E5A527 160%); }
.prop-thumb.logistics{ background:linear-gradient(135deg,#463a2c,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.indplot{ background:linear-gradient(135deg,#3d4a34,#1c1e29 60%, #E5A527 150%); }

.badge.approved{ background:#1a5276; }
.badge.lease{ background:#1f8a4c; }

/* ===== CALCULATOR CARD ===== */
.calc-card{ border:1px solid var(--border); border-radius:10px; padding:1.3rem; }
.calc-row{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.9rem; gap:.8rem; }
.calc-row label{ font-size:.82rem; color:#333; font-weight:600; }
.calc-row input, .calc-row select{
  width:130px; text-align:right; border:1px solid var(--border); border-radius:6px;
  padding:.5rem .6rem; font-size:.85rem; font-family:inherit; color:var(--text-dark);
}
.calc-result{
  display:flex; justify-content:space-between; align-items:center;
  background:var(--cream); border:1px solid #f0e3c3; border-radius:8px;
  padding:.9rem 1rem; margin:.3rem 0 1.1rem;
}
.calc-result .cr-item h5{ font-size:.68rem; color:var(--text-grey); text-transform:uppercase; letter-spacing:.05em; margin-bottom:.25rem; font-weight:700; }
.calc-result .cr-item p{ font-size:1.15rem; font-weight:800; color:var(--gold-dark); }

/* ===== POPULAR OPTIONS LIST ===== */
.popular-list li{ display:flex; gap:.7rem; align-items:flex-start; margin-bottom:1rem; }
.popular-list .pl-icon{
  width:34px; height:34px; border-radius:8px; flex-shrink:0;
  background:rgba(229,165,39,.12); border:1px solid rgba(229,165,39,.3);
  display:flex; align-items:center; justify-content:center; font-size:1rem;
}
.popular-list h5{ font-size:.85rem; margin-bottom:.15rem; color:#fff; }
.popular-list p{ font-size:.72rem; color:#9a9a9a; margin:0; }
.popular-more{ font-size:.82rem; font-weight:700; color:var(--gold); display:flex; align-items:center; gap:.3rem; }

/* ===== INSIGHTS STRIP ===== */
.insights-strip{ max-width:1300px; margin:0 auto; padding:1rem 2rem 3.5rem; }
.insights-strip h2{ font-size:1.4rem; margin-bottom:1.4rem; }
.insights-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.insight-card{
  display:flex; gap:.9rem; align-items:flex-start;
  border:1px solid var(--border); border-radius:10px;
  padding:1.1rem 1.2rem; background:var(--cream);
}
.insight-icon{
  width:44px; height:44px; border-radius:50%; flex-shrink:0;
  background:#fff; border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; font-size:1.2rem;
}
.insight-card h4{ font-size:.85rem; margin-bottom:.3rem; }
.insight-value{ color:var(--gold-dark); font-weight:800; font-size:1.05rem; display:block; margin-bottom:.15rem; }
.insight-card p{ font-size:.72rem; color:var(--text-grey); }

/* ===== COMMERCIAL HERO IMAGE ===== */
.buy-hero-image.commercial-hero-image{
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%),
    linear-gradient(120deg,#3b3f52,#1c1e29 55%, #E5A527 140%);
}
.buy-hero-image.commercial-hero-image::before{ content:"🏢"; }

/* ===== COMMERCIAL PROP THUMBS ===== */
.prop-thumb.office::before{ content:"🏢"; }
.prop-thumb.commbldg::before{ content:"🏬"; }
.prop-thumb.showroom::before{ content:"🛍️"; }
.prop-thumb.godown::before{ content:"🏭"; }
.prop-thumb.retail::before{ content:"🏪"; }
.prop-thumb.coworking::before{ content:"💼"; }
.prop-thumb.office{ background:linear-gradient(135deg,#2c3450,#171a24 55%, #E5A527 160%); }
.prop-thumb.commbldg{ background:linear-gradient(135deg,#37415a,#181b26 55%, #E5A527 160%); }
.prop-thumb.showroom{ background:linear-gradient(135deg,#463a2c,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.godown{ background:linear-gradient(135deg,#3d4a34,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.retail{ background:linear-gradient(135deg,#4a4030,#1c1e29 60%, #E5A527 150%); }
.prop-thumb.coworking{ background:linear-gradient(135deg,#2c3450,#171a24 55%, #E5A527 160%); }

/* ===== LOANS HERO IMAGE ===== */
.buy-hero-image.loans-hero-image{
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 35%, rgba(0,0,0,.55) 100%),
    linear-gradient(120deg,#2c3450,#171a24 55%, #E5A527 150%);
}
.buy-hero-image.loans-hero-image::before{ content:"🏡"; }

/* ===== LOANS HERO FEATURE ROW ===== */
.hero-feature-row{ display:flex; gap:1.8rem; flex-wrap:wrap; margin-top:1.5rem; }
.hero-feature{ display:flex; align-items:center; gap:.6rem; max-width:150px; }
.hero-feature-icon{
  width:38px; height:38px; border-radius:50%; flex-shrink:0;
  background:rgba(229,165,39,.12); border:1px solid rgba(229,165,39,.35);
  display:flex; align-items:center; justify-content:center; font-size:1.05rem;
}
.hero-feature p{ font-size:.76rem; font-weight:600; color:#e7e7e7; line-height:1.3; }

/* ===== LOAN TYPE TABS ===== */
.loan-tabs{ background:#fff; border-bottom:1px solid var(--border); }
.loan-tabs-row{
  max-width:1300px; margin:0 auto;
  display:flex; overflow-x:auto;
}
.loan-tab-item{
  display:flex; align-items:center; gap:.5rem;
  padding:1.1rem 1.4rem;
  font-size:.85rem; font-weight:600; color:#555;
  white-space:nowrap; border-bottom:3px solid transparent;
  flex-shrink:0;
}
.loan-tab-item svg{ opacity:.7; flex-shrink:0; }
.loan-tab-item:hover{ color:var(--gold-dark); }
.loan-tab-item.active{ color:var(--gold-dark); border-bottom-color:var(--gold); background:var(--cream); }
.loan-tab-item.active svg{ opacity:1; }

/* ===== LOAN SOLUTIONS ===== */
.loan-solutions{ padding:3rem 2rem 0; }
.loan-solutions h2{ font-size:1.5rem; margin-bottom:1.6rem; }
.loan-sol-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem;
  min-width:0;
}
.loan-sol-card{
  border:1px solid var(--border); border-radius:10px;
  padding:1.4rem 1.3rem; transition:.2s;
  min-width:0;
}
.loan-sol-card:hover{ border-color:var(--gold); box-shadow:0 8px 20px rgba(0,0,0,.06); }
.loan-sol-icon{
  width:46px; height:46px; border-radius:10px; margin-bottom:.9rem;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem;
}
.loan-sol-card h4{ font-size:.98rem; margin-bottom:.4rem; }
.loan-sol-card p{ font-size:.8rem; color:var(--text-grey); margin-bottom:.7rem; }
.loan-sol-link{ font-size:.82rem; font-weight:700; color:var(--gold-dark); display:inline-flex; align-items:center; gap:.3rem; }

/* ===== ELIGIBILITY CALCULATOR ===== */
.elig-card{ background:var(--navy); border-radius:10px; padding:1.4rem; color:#fff; }
.elig-card h3{ color:var(--gold); font-size:1.05rem; margin-bottom:1.1rem; }
.elig-field{ margin-bottom:.9rem; }
.elig-field label{ display:block; font-size:.78rem; color:#c9c9c9; margin-bottom:.4rem; font-weight:600; }
.elig-field select, .elig-field input{
  width:100%; background:#191c26; border:1px solid #2b2f3d; border-radius:6px;
  padding:.6rem .75rem; font-size:.85rem; color:#fff; font-family:inherit;
}
.elig-field select{ appearance:none; }
.elig-result{
  display:none; background:#191c26; border:1px solid #2b2f3d; border-radius:8px;
  padding:.9rem 1rem; margin:.2rem 0 1rem; text-align:center;
}
.elig-result.show{ display:block; }
.elig-result h5{ font-size:.7rem; color:#9a9a9a; text-transform:uppercase; letter-spacing:.05em; margin-bottom:.3rem; font-weight:700; }
.elig-result p{ font-size:1.25rem; font-weight:800; color:var(--gold); margin:0; }

/* ===== RATE TABLE ===== */
.rate-section{ max-width:1300px; margin:0 auto; padding:2.6rem 2rem 0; }
.rate-section h2{ font-size:1.4rem; margin-bottom:1.3rem; }
.rate-table-wrap{ overflow-x:auto; border:1px solid var(--border); border-radius:10px; }
.rate-table{ width:100%; border-collapse:collapse; min-width:760px; }
.rate-table th{
  text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.05em;
  color:var(--text-grey); font-weight:700; padding:.9rem 1.2rem;
  background:var(--cream); border-bottom:1px solid var(--border);
}
.rate-table td{ padding:.95rem 1.2rem; font-size:.85rem; border-bottom:1px solid var(--border); vertical-align:middle; }
.rate-table tr:last-child td{ border-bottom:none; }
.rate-table .lender-name{ display:flex; align-items:center; gap:.5rem; font-weight:700; }
.rate-table .rate-val{ color:#1f8a4c; font-weight:700; }
.rate-table .apply-btn{
  background:linear-gradient(180deg,#EFB43C,var(--gold)); color:#1a1a1a;
  font-weight:700; font-size:.78rem; padding:.5rem 1.1rem; border-radius:6px; display:inline-block;
}
.rate-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:.9rem; font-size:.78rem; color:var(--text-grey); }
.rate-foot a{ font-weight:700; color:var(--gold-dark); }

/* ===== LOAN PROCESS ===== */
.loan-process{ max-width:1300px; margin:2.6rem auto 0; padding:2rem; background:var(--cream); border-radius:14px; }
.loan-process h2{ font-size:1.4rem; margin-bottom:1.8rem; }
.process-row{ display:flex; align-items:flex-start; justify-content:space-between; }
.process-step{ text-align:center; max-width:170px; }
.process-icon{
  width:56px; height:56px; border-radius:50%; margin:0 auto .8rem;
  background:#fff; border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; font-size:1.4rem; position:relative;
}
.process-step-num{
  position:absolute; top:-6px; right:-6px;
  width:22px; height:22px; border-radius:50%;
  background:var(--gold); color:#1a1a1a; font-size:.72rem; font-weight:800;
  display:flex; align-items:center; justify-content:center;
}
.process-step h4{ font-size:.9rem; margin-bottom:.3rem; }
.process-step p{ font-size:.75rem; color:var(--text-grey); }
.process-dash{ flex:1; height:2px; background:repeating-linear-gradient(90deg,#d9c98f 0 8px,transparent 8px 14px); margin:26px .4rem 0; }

/* ===== PRE-APPROVED BANNER ===== */
.preapproved-banner{
  max-width:1300px; margin:2.6rem auto 0; padding:0 2rem;
}
.preapproved-inner{
  background:var(--navy); border-radius:12px; padding:1.6rem 2rem;
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.preapproved-left{ display:flex; align-items:center; gap:1.1rem; }
.preapproved-icon{
  width:56px; height:56px; border-radius:10px; flex-shrink:0;
  background:rgba(229,165,39,.12); border:1px solid rgba(229,165,39,.35);
  display:flex; align-items:center; justify-content:center; font-size:1.5rem;
}
.preapproved-left h3{ color:#fff; font-size:1.15rem; margin-bottom:.25rem; }
.preapproved-left p{ color:#c9c9c9; font-size:.85rem; }

/* ===== LENDING PARTNERS SIDE CARD ===== */
.partners-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.7rem; margin-bottom:.6rem; }
.partner-chip{
  border:1px solid var(--border); border-radius:8px; padding:.6rem .5rem;
  text-align:center; font-size:.72rem; font-weight:700; color:#444;
}
.partners-more{ text-align:center; font-size:.75rem; color:var(--text-grey); }

/* ===== ABOUT HERO ===== */
.about-hero{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 35%, rgba(10,12,20,.6) 70%, rgba(10,12,20,.25) 100%),
    radial-gradient(circle at 78% 25%, #2a2f45 0%, #10121b 60%);
  padding:2.2rem 2rem 0;
}
.about-hero-inner{ max-width:1300px; margin:0 auto; }
.about-hero-top{ display:grid; grid-template-columns:1.15fr 1fr; gap:2.4rem; align-items:center; padding-bottom:2.6rem; }
.about-hero-copy h1{ color:#fff; font-size:2.5rem; font-weight:800; margin-bottom:1.1rem; }
.about-hero-copy h1 span{ color:var(--gold); }
.about-hero-copy p{ color:#cfcfcf; font-size:.95rem; max-width:520px; margin-bottom:1.6rem; }
.about-hero-image{
  height:340px; border-radius:12px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.55) 100%),
    linear-gradient(120deg,#3b3f52,#1c1e29 55%, #E5A527 130%);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  position:relative;
}
.about-hero-image::before{
  content:"🏡"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:5rem; opacity:.5;
}

/* About page: drop images/aboutherobg.jpeg in the images folder to activate */
.about-hero.about-hero-photo-bg{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/aboutherobg.jpeg");
  background-color:#0d0f18;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
.about-hero.about-hero-photo-bg .about-hero-top{ grid-template-columns:1fr; }
.about-hero.about-hero-photo-bg .about-hero-image{ display:none; }

/* ===== ABOUT STATS BAR ===== */
.stats-bar{ background:#fff; border-bottom:1px solid var(--border); }
.stats-bar-inner{
  max-width:1300px; margin:0 auto;
  display:flex; align-items:center;
  padding:1.6rem 2rem;
}
.stat-item{
  flex:1; display:flex; align-items:center; gap:.8rem;
  padding:0 1.4rem; position:relative;
}
.stat-item:not(:first-child){ border-left:1px solid var(--border); }
.stat-icon{
  width:44px; height:44px; border-radius:10px; flex-shrink:0;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center;
}
.stat-item h3{ font-size:1.35rem; font-weight:800; color:var(--text-dark); }
.stat-item p{ font-size:.75rem; color:var(--text-grey); }

/* ===== WHO WE ARE ===== */
.who-we-are{ padding:4rem 2rem; max-width:1300px; margin:0 auto; }
.wwa-grid{ display:grid; grid-template-columns:1fr 1fr; gap:3rem; align-items:center; }
.wwa-copy h2{ font-size:1.9rem; margin-bottom:1rem; }
.wwa-copy > p{ font-size:.92rem; color:var(--text-grey); margin-bottom:1.3rem; }
.wwa-list{ margin-bottom:1.6rem; }
.wwa-list li{ font-size:.88rem; margin-bottom:.65rem; padding-left:1.6rem; position:relative; color:#333; }
.wwa-list li::before{
  content:"✔"; position:absolute; left:0; top:1px;
  width:18px; height:18px; border-radius:50%;
  background:var(--cream); border:1px solid var(--gold);
  color:var(--gold-dark); font-size:.62rem;
  display:flex; align-items:center; justify-content:center;
}
.btn-outline-gold-lg{
  background:transparent; border:1.5px solid var(--gold); color:var(--gold-dark);
  padding:.75rem 1.4rem; border-radius:6px; font-weight:700; font-size:.9rem;
  display:inline-flex; align-items:center; gap:.4rem;
}

.wwa-visual{ position:relative; }
.wwa-image{
  height:320px; border-radius:12px; overflow:hidden;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 30%, rgba(0,0,0,.35) 100%),
    linear-gradient(120deg,#2c3450,#171a24 55%, #E5A527 160%);
  box-shadow:0 20px 40px rgba(0,0,0,.25);
}
.mv-card{
  position:absolute; right:-1.4rem; bottom:-1.6rem;
  width:250px; background:#fff; border-radius:10px;
  box-shadow:0 18px 40px rgba(0,0,0,.15);
  padding:1.3rem 1.4rem;
}
.mv-block{ display:flex; gap:.8rem; align-items:flex-start; }
.mv-block + .mv-block{ margin-top:.9rem; padding-top:.9rem; border-top:1px solid var(--border); }
.mv-icon{
  width:34px; height:34px; border-radius:8px; flex-shrink:0;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; color:var(--gold-dark);
}
.mv-block h4{ font-size:.9rem; margin-bottom:.3rem; }
.mv-block p{ font-size:.76rem; color:var(--text-grey); line-height:1.4; }

/* ===== OUR VALUES ===== */
.our-values{ background:var(--cream); padding:3.6rem 2rem; }
.values-grid{
  max-width:1300px; margin:0 auto;
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.4rem;
}
.value-item{ text-align:center; }
.value-icon{
  width:64px; height:64px; border-radius:50%; margin:0 auto .9rem;
  background:#fff; border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center;
  color:var(--gold-dark);
}
.value-item h4{ font-size:.95rem; margin-bottom:.35rem; }
.value-item p{ font-size:.78rem; color:var(--text-grey); }

/* ===== OUR TEAM ===== */
.our-team{ max-width:1300px; margin:0 auto; padding:4rem 2rem; }
.team-head-row{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:2rem; }
.team-head-row h2{ font-size:1.9rem; }
.team-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.3rem; }
.team-card{ border:1px solid var(--border); border-radius:10px; padding:1.3rem; transition:.2s; }
.team-card:hover{ border-color:var(--gold); box-shadow:0 8px 20px rgba(0,0,0,.06); }
.team-photo{
  height:150px; border-radius:8px; margin-bottom:1rem;
  background:linear-gradient(135deg,#3b3f52,#1c1e29 60%, #E5A527 160%);
  position:relative;
}
.team-photo::before{
  content:"👤"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center; font-size:2.4rem; opacity:.6;
}
.team-card h4{ font-size:1rem; margin-bottom:.15rem; }
.team-role{ color:var(--gold-dark); font-size:.78rem; font-weight:700; margin-bottom:.6rem; }
.team-card p{ font-size:.8rem; color:var(--text-grey); margin-bottom:.9rem; }
.team-social{ display:flex; gap:.6rem; }
.team-social span{
  width:28px; height:28px; border-radius:50%;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center;
  font-size:.72rem; color:var(--text-dark);
}

/* ===== SINGLE FOUNDER CARD (About page) ===== */
.founder-card{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:2.4rem;
  align-items:center;
  border:1px solid var(--border);
  border-radius:16px;
  padding:2.2rem;
  background:#fff;
  box-shadow:0 10px 30px rgba(18,21,31,.05);
}
.founder-card-photo{
  border-radius:12px;
  overflow:hidden;
  border:1px solid var(--border);
}
.founder-card-photo img{
  width:100%; height:320px; object-fit:cover; display:block;
}
.founder-card-content h4{ font-size:1.5rem; margin-bottom:.2rem; }
.founder-card-content .team-role{ font-size:.85rem; margin-bottom:.9rem; }
.founder-card-content p{ font-size:.92rem; color:var(--text-grey); line-height:1.7; margin-bottom:1rem; max-width:560px; }
.founder-card-quote{
  border-left:3px solid var(--gold);
  padding:.2rem 0 .2rem 1rem;
  font-size:1.1rem; font-weight:700; font-style:italic;
  color:var(--text-dark);
  margin-bottom:1.1rem;
}

/* ===== QUOTE MARK FOR TESTIMONIALS ===== */
.quote-mark{ font-size:1.6rem; color:var(--gold); font-weight:800; line-height:1; margin-bottom:.3rem; font-family:Georgia, serif; }

/* ===== TRUSTED PARTNERS (LOGO STRIP) ===== */
.trusted-partners{ padding:3.2rem 2rem; max-width:1300px; margin:0 auto; }
.partner-strip{ display:flex; align-items:center; justify-content:space-between; gap:1.1rem; flex-wrap:wrap; }
.partner-box{
  flex:1; min-width:130px; height:64px;
  border:1px solid var(--border); border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:.9rem; color:#444; text-align:center; padding:.5rem;
}

/* ===== CONTACT HERO ===== */
.contact-hero{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 35%, rgba(10,12,20,.6) 68%, rgba(10,12,20,.25) 100%),
    radial-gradient(circle at 78% 25%, #2a2f45 0%, #10121b 60%);
  padding:2.2rem 2rem 2.6rem;
}
.contact-hero-inner{ max-width:1300px; margin:0 auto; }
.contact-hero-top{ display:grid; grid-template-columns:1.15fr 1fr; gap:2.4rem; align-items:center; }
.contact-hero-copy h1{ color:#fff; font-size:2.5rem; font-weight:800; margin-bottom:1rem; }
.contact-hero-copy h1 span{ color:var(--gold); }
.contact-hero-copy p{ color:#cfcfcf; font-size:.95rem; max-width:500px; margin-bottom:1.6rem; }
.contact-hero-image{
  height:260px; border-radius:12px;
  background:
    linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,.5) 100%),
    linear-gradient(120deg,#3b3f52,#1c1e29 55%, #E5A527 130%);
  box-shadow:0 20px 50px rgba(0,0,0,.5);
  position:relative;
}
.contact-hero-image::before{
  content:"🏢"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:4.5rem; opacity:.5;
}

/* Contact page: drop images/contactherobg.jpeg in the images folder to activate */
.contact-hero.contact-hero-photo-bg{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/contactherobg.jpeg");
  background-color:#0d0f18;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
.contact-hero.contact-hero-photo-bg .contact-hero-top{ grid-template-columns:1fr; }
.contact-hero.contact-hero-photo-bg .contact-hero-image{ display:none; }

/* ===== QUICK INFO STRIP ===== */
.quick-info{ background:#fff; border-bottom:1px solid var(--border); padding:2.2rem 2rem; }
.qi-grid{ max-width:1300px; margin:0 auto; display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem; }
.qi-card{
  border:1px solid var(--border); border-radius:10px; padding:1.2rem 1.1rem;
  display:flex; flex-direction:column; gap:.7rem;
}
.qi-icon{
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  background:var(--navy); color:var(--gold);
  display:flex; align-items:center; justify-content:center;
}
.qi-card h4{ font-size:.92rem; margin-bottom:.2rem; }
.qi-card p, .qi-card a{ font-size:.8rem; color:var(--text-dark); display:block; }
.qi-card .qi-note{ font-size:.72rem; color:var(--text-grey); margin-top:.35rem; }
.qi-card.whatsapp .qi-icon{ background:#25D366; color:#fff; }
.qi-wa-btn{
  margin-top:.4rem; display:inline-flex; align-items:center; gap:.35rem;
  background:#25D366; color:#fff; font-weight:700; font-size:.76rem;
  padding:.45rem .9rem; border-radius:20px; width:fit-content;
}
.qi-social-row{ display:flex; gap:.5rem; margin-top:.1rem; }
.qi-social-row span{
  width:26px; height:26px; border-radius:6px;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; font-size:.68rem; font-weight:700; color:#333;
}

/* ===== CONTACT MAIN GRID ===== */
.contact-main{ max-width:1300px; margin:0 auto; padding:3.5rem 2rem; }
.contact-grid{ display:grid; grid-template-columns:1.25fr 1fr; gap:2rem; align-items:start; }

/* Form card */
.form-card{ border:1px solid var(--border); border-radius:12px; padding:1.8rem; }
.form-card h2{ font-size:1.4rem; margin-bottom:.3rem; }
.form-card > p{ font-size:.85rem; color:var(--text-grey); margin-bottom:1.6rem; }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1.1rem; }
.form-field label{ display:block; font-size:.82rem; font-weight:700; color:#333; margin-bottom:.4rem; }
.form-field input[type="text"],
.form-field input[type="email"],
.form-field input[type="tel"],
.form-field select,
.form-field textarea{
  width:100%; border:1px solid var(--border); border-radius:6px;
  padding:.7rem .85rem; font-size:.85rem; color:var(--text-dark);
  font-family:inherit; background:#fff;
}
.form-field textarea{ resize:vertical; min-height:110px; }
.phone-field{ display:flex; gap:.5rem; }
.phone-field select{ width:88px; flex-shrink:0; }
.form-field.full{ margin-bottom:1.1rem; }

.interest-box{ border:1px solid var(--border); border-radius:8px; padding:1rem 1.1rem; margin-bottom:1.2rem; }
.interest-box > p{ font-size:.82rem; font-weight:700; color:#333; margin-bottom:.7rem; }
.interest-options{ display:flex; flex-wrap:wrap; gap:.7rem 1.4rem; }
.interest-options label{ display:flex; align-items:center; gap:.5rem; font-size:.82rem; color:#444; }

.agree-row{ display:flex; align-items:flex-start; gap:.55rem; margin-bottom:1.3rem; }
.agree-row label{ font-size:.8rem; color:var(--text-grey); }
.agree-row a{ color:var(--gold-dark); font-weight:600; }

.form-submit-row{ display:flex; justify-content:flex-end; }

/* Office panel */
.office-panel{ border:1px solid var(--border); border-radius:12px; padding:1.6rem; }
.office-panel-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:1.2rem; }
.office-panel-head h3{ font-size:1.15rem; }
.map-placeholder{
  height:230px; border-radius:10px; position:relative; margin-bottom:1.3rem; overflow:hidden;
  background:
    linear-gradient(120deg, rgba(120,170,120,.25), rgba(120,170,120,.1)),
    repeating-linear-gradient(60deg, #dfe9de 0 18px, #e7efe6 18px 36px),
    #dbe7da;
  border:1px solid var(--border);
}
.map-pin{
  position:absolute; top:44%; left:48%; transform:translate(-50%,-100%);
  font-size:1.8rem; filter:drop-shadow(0 3px 4px rgba(0,0,0,.3));
}
.map-tooltip{
  position:absolute; top:46%; left:52%; transform:translateY(-40%);
  background:#fff; border-radius:8px; padding:.55rem .8rem;
  box-shadow:0 8px 18px rgba(0,0,0,.15); font-size:.72rem; min-width:120px;
}
.map-tooltip strong{ display:block; font-size:.78rem; color:var(--text-dark); }
.map-tooltip span{ color:var(--gold-dark); font-weight:600; }
.map-zoom{ position:absolute; right:.7rem; bottom:.7rem; display:flex; flex-direction:column; gap:.4rem; }
.map-zoom span{
  width:28px; height:28px; border-radius:6px; background:#fff; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.95rem; color:#333;
  box-shadow:0 2px 6px rgba(0,0,0,.1);
}

.office-card{ border:1px solid var(--border); border-radius:10px; padding:1.1rem 1.2rem; margin-bottom:.9rem; }
.office-card-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:.5rem; gap:.6rem; }
.office-card-head h4{ font-size:.95rem; display:flex; align-items:center; gap:.4rem; }
.office-tag{ font-size:.68rem; font-weight:700; padding:.22rem .55rem; border-radius:20px; white-space:nowrap; }
.office-tag.head{ background:var(--gold); color:#1a1a1a; }
.office-tag.branch{ background:var(--cream); color:var(--gold-dark); border:1px solid #f0e3c3; }
.office-card address{ font-style:normal; font-size:.8rem; color:var(--text-grey); margin-bottom:.6rem; line-height:1.5; }
.office-card .office-phone{ font-size:.8rem; font-weight:600; color:var(--text-dark); }
.office-chips{ display:flex; flex-wrap:wrap; gap:.5rem; margin-top:.7rem; }
.office-chip{
  font-size:.7rem; color:#555; border:1px solid var(--border); border-radius:6px;
  padding:.3rem .55rem; display:flex; align-items:center; gap:.3rem;
}
.office-branch-row{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; }

/* ===== FAQ SECTION ===== */
.faq-section{ background:var(--cream); padding:3.5rem 2rem; }
.faq-inner{ max-width:1300px; margin:0 auto; }
.faq-head-row{ display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:1.8rem; flex-wrap:wrap; gap:1rem; }
.faq-head-row h2{ font-size:1.7rem; margin-bottom:.3rem; }
.faq-head-row p{ font-size:.85rem; color:var(--text-grey); }
.faq-grid{ display:grid; grid-template-columns:1fr 1fr; gap:.9rem; align-items:start; }
.faq-item{
  background:#fff; border:1px solid var(--border); border-radius:8px;
  overflow:hidden; transition:border-color .2s ease;
}
.faq-item.open{ border-color:var(--gold); }
.faq-question{
  width:100%; background:none; border:none; font:inherit; text-align:left;
  padding:.95rem 1.2rem; display:flex; align-items:center; gap:.8rem;
  cursor:pointer;
}
.faq-item .faq-icon{
  width:32px; height:32px; border-radius:8px; flex-shrink:0;
  background:var(--cream); border:1px solid #f0e3c3;
  display:flex; align-items:center; justify-content:center; color:var(--gold-dark);
}
.faq-item span.faq-q{ flex:1; font-size:.88rem; font-weight:600; color:var(--text-dark); }
.faq-item .faq-chev{ color:#9a9a9a; flex-shrink:0; transition:transform .25s ease; }
.faq-item.open .faq-chev{ transform:rotate(180deg); color:var(--gold-dark); }
.faq-answer{
  max-height:0; overflow:hidden;
  transition:max-height .3s ease, padding .3s ease;
  padding:0 1.2rem;
}
.faq-answer p{
  font-size:.83rem; color:var(--text-grey); line-height:1.65;
  padding:0 0 1.1rem 44px; margin:0;
}
.faq-item.open .faq-answer{ max-height:260px; }

/* ===== CTA STRIP ===== */
.cta-strip{ max-width:1300px; margin:3.5rem auto 0; padding:0 2rem; }
.cta-strip-inner{
  border-radius:12px; overflow:hidden; position:relative;
  background:
    linear-gradient(100deg, rgba(10,12,20,.93) 40%, rgba(10,12,20,.55) 100%),
    linear-gradient(120deg,#3b3f52,#1c1e29 55%, #E5A527 150%);
  padding:2.2rem 2.4rem; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.cta-strip-copy h3{ color:#fff; font-size:1.5rem; margin-bottom:.4rem; }
.cta-strip-copy h3 span{ color:var(--gold); }
.cta-strip-copy p{ color:#cfcfcf; font-size:.9rem; }

/* ===== MINI STATS (CONTACT) ===== */
.mini-stats{ max-width:1300px; margin:2.2rem auto 0; padding:0 2rem 3rem; }
.mini-stats-row{ display:flex; }
.mini-stats-row .stat-item{ justify-content:center; }

/* ===== MOBILE NAV (hamburger + off-canvas drawer) ===== */
.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:5px;
  width:44px; height:44px;
  background:transparent;
  border:none;
  cursor:pointer;
  flex-shrink:0;
  z-index:120;
}
.nav-toggle span{
  display:block; width:24px; height:2px;
  background:#fff; border-radius:2px;
  transition:transform .25s ease, opacity .25s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

.nav-overlay{
  position:fixed; inset:0;
  background:rgba(8,9,14,.6);
  opacity:0; visibility:hidden;
  transition:opacity .25s ease;
  z-index:90;
}
.nav-overlay.open{ opacity:1; visibility:visible; }

.mobile-nav-actions{ display:none; }

body.nav-open{ overflow:hidden; }
body.modal-open{ overflow:hidden; }

/* ===== RESPONSIVE ===== */
@media (max-width:1100px){
  .nav-toggle{ display:flex; }
  .header-actions{ display:none; }
  .main-nav{
    position:fixed; top:0; right:-300px;
    width:280px; max-width:80vw; height:100vh;
    background:#0d0f16;
    flex-direction:column; align-items:flex-start;
    gap:0; padding:5.2rem 1.6rem 2rem;
    overflow-y:auto;
    box-shadow:-8px 0 30px rgba(0,0,0,.35);
    transition:right .3s ease;
    z-index:100;
  }
  .main-nav.open{ right:0; }
  .main-nav a{
    width:100%; padding:.95rem 0;
    border-bottom:1px solid #23262f;
    font-size:.95rem;
  }
  .main-nav a.active{ border-bottom:1px solid var(--gold); }
  .mobile-nav-actions{
    display:flex; flex-direction:column; gap:.8rem;
    width:100%; margin-top:1.4rem;
  }
  .hero-inner{ grid-template-columns:1fr; }
  /* Hero photo backgrounds: on tall narrow mobile layouts, background-size:cover
     zooms in and crops the sides heavily. Show the full image width instead and
     let it fade into the solid/gradient fill lower down the section. */
  .hero,
  .buy-hero.buy-hero-photo-bg,
  .buy-hero.rent-hero-photo-bg,
  .buy-hero.investment-hero-photo-bg,
  .buy-hero.loans-hero-photo-bg,
  .about-hero.about-hero-photo-bg,
  .contact-hero.contact-hero-photo-bg{
    background-size:100% auto;
    background-position:top center;
  }
  .hero-image{ grid-column:1; }
  .hero-search-card{ grid-column:1; width:100%; }
  .post-strip-inner{ flex-direction:column; align-items:flex-start; }
  .post-strip-steps{ flex-wrap:wrap; }
  .cat-grid{ grid-template-columns:repeat(2,1fr); }
  .offer-grid{ grid-template-columns:repeat(2,1fr); }
  .loans-grid{ grid-template-columns:1fr; }
  .loans-mid{ grid-template-columns:repeat(3,1fr); }
  .three-cards{ grid-template-columns:1fr; }
  .testimonial-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .areas-row{ justify-content:flex-start; }
  .buy-hero-top{ grid-template-columns:1fr; }
  .buy-filters{ grid-template-columns:repeat(2,1fr); }
  .search-btn.wide{ grid-column:1 / -1; }
  .why-grid{ grid-template-columns:repeat(3,1fr); }
  .buy-main-grid{ grid-template-columns:1fr; }
  .loan-solutions{ padding-left:0; padding-right:0; }
  .prop-grid{ grid-template-columns:repeat(2,1fr); }
  .feature-strip-inner{ justify-content:flex-start; }
}
@media (max-width:600px){
  .header-inner{ padding:.7rem 1rem; }
  .hero{ padding:2.2rem 1.2rem 2.5rem; }
  .hero-copy h1{ font-size:1.7rem; }
  .hero-image{ height:180px; }
  .hero-btns{ flex-wrap:wrap; }
  .hero-btns .btn{ flex:1 1 auto; white-space:normal; }
  .categories{ padding:2.4rem 1rem; }
  .cat-grid{ grid-template-columns:repeat(2,1fr); gap:.7rem; }
  .cat-card{ padding:1.1rem .7rem; border-radius:12px; }
  .offer{ padding:2.4rem 1rem; }
  .offer-grid{ grid-template-columns:repeat(2,1fr); gap:.7rem; }
  .offer-card{ padding:1.1rem .7rem; border-radius:12px; }
  .cat-icon{ font-size:1.5rem; margin-bottom:.5rem; }
  .cat-card h4{ font-size:.8rem; line-height:1.25; }
  .cat-card p{ font-size:.68rem; line-height:1.3; }
  .loans-mid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid{ grid-template-columns:1fr; }
  .buy-filters{ grid-template-columns:1fr; }
  .why-grid{ grid-template-columns:repeat(2,1fr); }
  .prop-grid{ grid-template-columns:1fr; }
  .buy-hero-copy h1{ font-size:1.8rem; }
  .locality-grid{ justify-content:center; }
  .locality-card{ min-width:110px; flex:1 1 45%; }
  .insights-grid{ grid-template-columns:1fr; }
  .calc-row{ flex-wrap:wrap; }
  .calc-row input, .calc-row select{ width:100%; min-width:0; }
  .values-grid{ grid-template-columns:1fr; }
  .founder-card{ grid-template-columns:1fr; text-align:center; padding:1.6rem; }
  .founder-card-photo img{ height:240px; }
  .founder-card-quote{ border-left:none; border-top:3px solid var(--gold); padding:.8rem 0 0; display:inline-block; text-align:left; }
  .founder-card-content .team-social{ justify-content:center; }
  .partner-box{ flex:1 1 100%; }
  .post-strip-steps{ justify-content:center; }
  .step{ max-width:none; flex:1 1 45%; }
  /* Fixed-width icon rows (Our Services / Areas We Serve) used space-between or
     flex-start with only 2 items fitting per line at phone widths, which pushed
     them to the outer edges and left a lopsided gap in the middle. A balanced
     2-column grid reads cleanly at this width instead. */
  .services-row{
    display:grid; grid-template-columns:repeat(2,1fr); justify-content:unset;
    justify-items:center; gap:1.6rem 1rem;
  }
  .service-item{ width:100%; max-width:140px; }
  .areas-row{
    display:grid; grid-template-columns:repeat(2,1fr); justify-content:unset;
    justify-items:center; gap:1.6rem 1rem;
  }
  .area-item{ width:100%; max-width:120px; }
  .chat-btn{
    bottom:1rem; right:1rem;
    width:52px; height:52px; padding:0;
    border-radius:50%;
    justify-content:center;
    font-size:1.3rem;
  }
  .chat-btn .chat-btn-text{ display:none; }
}
/* Prevent iOS Safari auto-zoom on form focus, and keep touch targets comfortable */
@media (max-width:1100px){
  .field-group select,
  .field-group input[type="text"],
  .field-group input[type="number"],
  .field-group textarea,
  .hero-search-card select,
  .calc-row input, .calc-row select{
    font-size:16px;
  }
  .btn{ min-height:44px; }
  .main-nav a{ min-height:44px; display:flex; align-items:center; }
}

/* Comfortable tap targets for icon/link rows across all devices */
@media (max-width:900px){
  .social-icon{ width:36px; height:36px; }
  .footer-col a{ padding:.25rem 0; min-height:32px; display:flex; align-items:center; }
  .admin-side-link{ min-height:44px; }
  .cs-body h4, .offer-card h4, .cat-card h4{ line-height:1.35; }
  .pkg-card .btn.full, .cs-card, .invest-card, .prop-card{ -webkit-tap-highlight-color:transparent; }
}

/* ===== SMALL PHONE FIT & FINISH (<=400px) ===== */
@media (max-width:400px){
  .header-inner{ padding:.6rem .8rem; gap:.6rem; }
  .logo-text{ font-size:.95rem; }
  .hero-copy h1{ font-size:1.45rem; }
  .hero-btns .btn{ font-size:.82rem; padding:.65rem 1rem; }
  .price-strip-inner{ padding:1rem 1.1rem; }
  .price-highlight-icon{ width:46px; height:46px; font-size:1.2rem; }
  .price-highlight .price-value{ font-size:1.25rem; }
  .cs-grid{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:1fr; }
  .invest-grid{ grid-template-columns:1fr; }
  .values-grid{ grid-template-columns:1fr; }
  .admin-stats{ grid-template-columns:1fr; }
  .admin-header-inner{ justify-content:center; text-align:center; }
  .admin-header-tag{ margin:0; flex-basis:100%; text-align:center; order:3; }
  .admin-back-btn{ font-size:.8rem; padding:.55rem 1rem; }
  .pkg-price{ font-size:1.3rem; }
  .wizard-strip{ padding:1.2rem 1rem; }
  .form-card{ padding:1rem; }
  .footer-grid{ gap:1.4rem; }
  .chat-btn{ bottom:.8rem; right:.8rem; }
}
@media (max-width:900px){
  .insights-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .insights-grid{ grid-template-columns:1fr; }
}
@media (max-width:1100px){
  .loan-sol-grid{ grid-template-columns:repeat(2,1fr); }
  .process-row{ flex-wrap:wrap; justify-content:center; gap:1.5rem; }
  .process-dash{ display:none; }
  .preapproved-inner{ flex-direction:column; align-items:flex-start; }
}
@media (max-width:600px){
  .loan-sol-grid{ grid-template-columns:1fr; }
  .hero-feature-row{ gap:1rem; }
  .rate-foot{ flex-direction:column; align-items:flex-start; gap:.5rem; }
  .partners-grid{ grid-template-columns:1fr 1fr; }
}

/* ===== ABOUT PAGE RESPONSIVE ===== */
@media (max-width:1100px){
  .about-hero-top{ grid-template-columns:1fr; }
  .stats-bar-inner{ flex-wrap:wrap; gap:1.2rem; }
  .stat-item{ flex:1 1 45%; border-left:none !important; padding:0; }
  .wwa-grid{ grid-template-columns:1fr; }
  .wwa-visual{ margin-top:1.5rem; }
  .mv-card{ position:static; width:100%; margin-top:1.2rem; }
  .values-grid{ grid-template-columns:repeat(3,1fr); }
  .team-grid{ grid-template-columns:repeat(2,1fr); }
  .partner-strip{ justify-content:center; }
  .partner-box{ flex:1 1 30%; }
}
@media (max-width:600px){
  .about-hero-copy h1{ font-size:2rem; }
  .stat-item{ flex:1 1 100%; }
  .values-grid{ grid-template-columns:repeat(2,1fr); }
  .team-grid{ grid-template-columns:1fr; }
  .team-head-row{ flex-direction:column; align-items:flex-start; gap:1rem; }
  .partner-box{ flex:1 1 45%; }
  .about-hero-image{ height:190px; }
  .wwa-image{ height:190px; }
}

/* ===== CONTACT PAGE RESPONSIVE ===== */
@media (max-width:1100px){
  .contact-hero-top{ grid-template-columns:1fr; }
  .qi-grid{ grid-template-columns:repeat(2,1fr); }
  .contact-grid{ grid-template-columns:1fr; }
  .faq-grid{ grid-template-columns:1fr; }
  .office-branch-row{ grid-template-columns:1fr; }
  .mini-stats-row{ flex-wrap:wrap; gap:1.2rem; }
  .mini-stats-row .stat-item{ flex:1 1 45%; border-left:none !important; justify-content:flex-start; }
}
@media (max-width:600px){
  .contact-hero-copy h1{ font-size:1.9rem; }
  .qi-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .interest-options{ flex-direction:column; gap:.6rem; }
  .cta-strip-inner{ flex-direction:column; align-items:flex-start; }
  .mini-stats-row .stat-item{ flex:1 1 100%; }
  .contact-hero-image{ height:180px; }
}

/* ===== INVESTMENT PAGE ===== */
.invest-hero-icons{ margin-top:.4rem; }

.invest-why-card{ align-self:start; }
.invest-why-card h3{ font-size:1.15rem; }

/* Investment options cards */
.invest-grid{
  display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem;
}
.invest-card{
  border:1px solid var(--border); border-radius:10px; overflow:hidden;
  background:#fff; transition:.2s;
}
.invest-card:hover{ box-shadow:0 10px 24px rgba(0,0,0,.08); border-color:var(--gold); }
.invest-thumb{
  height:130px; position:relative;
  background:linear-gradient(135deg,#3b3f52,#1c1e29 60%, #E5A527 160%);
}
.invest-thumb::before{
  content:"🏢"; position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  font-size:2.1rem; opacity:.5; color:#fff;
}
.invest-thumb.villa{ background:linear-gradient(135deg,#4a4030,#1c1e29 60%, #E5A527 150%); }
.invest-thumb.villa::before{ content:"🏡"; }
.invest-thumb.plot{ background:linear-gradient(135deg,#3d4a34,#1c1e29 60%, #E5A527 150%); }
.invest-thumb.plot::before{ content:"📍"; }
.invest-thumb.commercial{ background:linear-gradient(135deg,#2c3450,#171a24 55%, #E5A527 160%); }
.invest-thumb.commercial::before{ content:"🏙️"; }
.invest-thumb.retail{ background:linear-gradient(135deg,#463a2c,#1c1e29 60%, #E5A527 150%); }
.invest-thumb.retail::before{ content:"🏬"; }
.invest-icon-badge{
  position:absolute; bottom:-18px; left:1rem;
  width:42px; height:42px; border-radius:50%;
  background:var(--navy); color:#fff; border:3px solid #fff;
  display:flex; align-items:center; justify-content:center;
  font-size:1.05rem; box-shadow:0 4px 10px rgba(0,0,0,.18);
}
.invest-body{ padding:1.6rem 1.1rem 1.2rem; }
.invest-body h4{ font-size:.92rem; margin-bottom:.35rem; }
.invest-body .invest-desc{ font-size:.78rem; color:var(--text-grey); margin-bottom:.9rem; min-height:2.3em; }
.invest-roi-label{ font-size:.68rem; color:var(--text-grey); margin-bottom:.1rem; }
.invest-roi-value{ font-size:.98rem; font-weight:800; color:var(--gold-dark); margin-bottom:.7rem; }
.invest-link{ font-size:.8rem; font-weight:700; color:var(--gold-dark); display:inline-flex; align-items:center; gap:.3rem; }
.invest-note{ font-size:.72rem; color:var(--text-grey); margin-top:1.4rem; }

/* ROI & process split */
.invest-split{
  max-width:1300px; margin:0 auto; padding:0 2rem 3.5rem;
  display:grid; grid-template-columns:1fr 1fr; gap:1.6rem; align-items:stretch;
}
.invest-returns-card{
  background:var(--cream); border:1px solid #f0e3c3; border-radius:12px; padding:2rem;
}
.invest-returns-card h2{ font-size:1.5rem; margin-bottom:.6rem; }
.invest-returns-card > p{ font-size:.85rem; color:var(--text-grey); margin-bottom:0; max-width:420px; }
.invest-returns-stats{ display:flex; flex-wrap:wrap; gap:1.6rem; margin-top:1.8rem; }
.invest-returns-stat{ flex:1 1 100px; }
.invest-returns-stat h3{ font-size:1.3rem; font-weight:800; color:var(--gold-dark); margin-bottom:.2rem; }
.invest-returns-stat p{ font-size:.75rem; color:var(--text-grey); }

.invest-process-card{
  background:#fff; border:1px solid var(--border); border-radius:12px; padding:2rem;
}
.invest-process-card h2{ font-size:1.5rem; margin-bottom:1.6rem; }
.invest-process-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem 1rem; }
.invest-process-row .process-step{ max-width:none; }

/* CTA banner extras */
.invest-cta-banner{ margin-top:0; }
.invest-cta-actions{ display:flex; flex-direction:column; align-items:flex-end; gap:.7rem; }
.invest-cta-phone{ color:#d7d7d7; font-size:.82rem; font-weight:600; }
.invest-cta-phone strong{ color:#fff; }

@media (max-width:1100px){
  .invest-grid{ grid-template-columns:repeat(3,1fr); }
  .invest-split{ grid-template-columns:1fr; }
}
@media (max-width:900px){
  .invest-process-row{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .invest-grid{ grid-template-columns:repeat(2,1fr); }
  .invest-returns-card,.invest-process-card{ padding:1.4rem; }
  .invest-returns-card h2,.invest-process-card h2{ font-size:1.3rem; }
  .invest-cta-actions{ align-items:flex-start; width:100%; }
  .invest-cta-actions .btn{ width:100%; }
}
@media (max-width:420px){
  .invest-grid{ grid-template-columns:1fr; }
}

/* ===== POST PROPERTY PAGE ===== */
.post-hero-icons{ display:flex; gap:2rem; margin-top:1.8rem; flex-wrap:wrap; }
.post-hero-icon{ display:flex; align-items:center; gap:.7rem; max-width:190px; }
.post-hero-icon .circle{
  width:46px; height:46px; border-radius:50%; border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:1.15rem;
}
.post-hero-icon strong{ display:block; font-size:.82rem; color:#fff; }
.post-hero-icon span{ font-size:.72rem; color:#b8b8b8; }

.wizard-strip{ background:#fff; border-bottom:1px solid var(--border); padding:1.6rem 2rem; }
.wizard-strip-inner{ max-width:1300px; margin:0 auto; display:flex; align-items:flex-start; justify-content:space-between; gap:.4rem; }
.wizard-step{ text-align:center; flex:1; max-width:180px; }
.wizard-step .wz-num{
  width:30px; height:30px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  font-weight:700; font-size:.85rem; margin-bottom:.5rem; background:#e9e9e9; color:#8a8a8a;
}
.wizard-step.active .wz-num{ background:var(--gold); color:#fff; }
.wizard-step.done .wz-num{ background:var(--navy); color:#fff; }
.wizard-step h4{ font-size:.82rem; margin-bottom:.15rem; color:#333; }
.wizard-step.active h4{ color:var(--navy); font-weight:700; }
.wizard-step p{ font-size:.7rem; color:var(--text-grey); }
.wizard-arrow{ color:#ccc; padding-top:.5rem; flex-shrink:0; }

.form-card{ background:#fff; border:1px solid var(--border); border-radius:10px; padding:1.8rem; }
.form-card h2{ font-size:1.3rem; margin-bottom:.2rem; }
.form-card .sub{ color:var(--text-grey); font-size:.85rem; margin-bottom:1.6rem; }

.form-row{ display:grid; gap:1.1rem; margin-bottom:1.2rem; }
.form-row.cols-3{ grid-template-columns:repeat(3,1fr); }
.form-row.cols-2{ grid-template-columns:repeat(2,1fr); }

.field-group label{ display:block; font-size:.82rem; font-weight:600; color:#333; margin-bottom:.4rem; }
.field-group label .req{ color:#d9534f; }
.field-group label .info{ color:#aaa; margin-left:.25rem; cursor:help; font-weight:400; }
.field-group select,
.field-group input[type="text"],
.field-group input[type="number"],
.field-group textarea{
  width:100%; padding:.7rem .9rem; border:1px solid var(--border); border-radius:6px;
  font-size:.85rem; font-family:inherit; color:#222; background:#fff; outline:none;
}
.field-group select{ appearance:none; -webkit-appearance:none; background:#fff url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24"><path d="M6 9l6 6 6-6" stroke="%239a9a9a" stroke-width="2" fill="none"/></svg>') no-repeat right .8rem center; }
.field-group select:focus,
.field-group input:focus,
.field-group textarea:focus{ border-color:var(--gold); }
.field-group textarea{ resize:vertical; min-height:110px; }
.char-count{ text-align:right; font-size:.72rem; color:#aaa; margin-top:.3rem; }
.upload-status{
  font-size:.78rem; margin-top:.45rem; padding:.55rem .7rem; border-radius:7px;
  background:#fff6df; border:1px solid #f1d58d; color:#8a6410;
}
.upload-status.success{ background:#edf8ef; border-color:#b7e1bf; color:#1e7e34; }
.upload-status.danger{ background:#fdecea; border-color:#f5c6c2; color:#b3362d; }

.unit-field{ display:flex; gap:.5rem; }
.unit-field input{ flex:1; min-width:0; }
.unit-field select{ width:90px; flex-shrink:0; }

.form-step-panel{ display:none; }
.form-step-panel.active{ display:block; }
.field-group.full-width{ margin-bottom:1.2rem; }
.field-group .amenities-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:.6rem .9rem;
  border:1px solid var(--border); border-radius:8px; padding:1rem 1.1rem;
}
.amenity-check{
  display:flex; align-items:center; gap:.5rem; font-size:.82rem; color:#444; font-weight:400; cursor:pointer;
}
.amenity-check input{ width:16px; height:16px; flex-shrink:0; accent-color:var(--gold); }
.step-subhead{ font-size:1rem; margin:.4rem 0 1rem; color:var(--navy); }
.field-group input[type="file"]{
  width:100%; border:1px dashed var(--border); border-radius:6px; padding:.7rem .9rem;
  font-size:.82rem; font-family:inherit; background:#fafafa;
}

.form-actions{ display:flex; gap:1rem; margin-top:.4rem; flex-wrap:wrap; }
.btn-outline-dark{
  background:#fff; border:1px solid #ccc; color:#333; border-radius:6px;
  padding:.8rem 1.7rem; font-weight:700; font-size:.85rem; cursor:pointer; font-family:inherit;
}
.btn-outline-dark:hover{ border-color:#999; }
.form-card .search-btn, .form-actions .btn-gold{
  border:none; border-radius:6px; padding:.8rem 1.7rem; font-weight:700; font-size:.85rem; cursor:pointer; font-family:inherit;
}

.notice-box{ display:flex; gap:.8rem; background:#fdf3e2; border:1px solid #f3e0b8; border-radius:8px; padding:1rem 1.2rem; margin-top:1.4rem; align-items:flex-start; }
.notice-box .ic{ flex-shrink:0; font-size:1.2rem; }
.notice-box strong{ display:block; font-size:.85rem; margin-bottom:.15rem; color:#333; }
.notice-box p{ font-size:.78rem; color:var(--text-grey); margin:0; }

.why-list-card ul{ margin-bottom:0; }
.why-list-card li{ display:flex; gap:.6rem; font-size:.85rem; color:#d7d7d7; margin-bottom:.75rem; align-items:flex-start; }
.why-list-card li:last-child{ margin-bottom:0; }
.why-list-card .tick{ color:var(--gold); flex-shrink:0; }

.help-card .phone-link{ font-size:1.05rem; font-weight:700; color:var(--navy); margin:.7rem 0 .1rem; display:block; text-decoration:none; }
.help-card .hours{ font-size:.75rem; color:var(--text-grey); }

.tips-card{ background:#fdf3e2; border:1px solid #f3e0b8; border-radius:10px; padding:1.4rem; }
.tips-card h3{ font-size:1rem; margin-bottom:.9rem; }
.tips-card ul{ margin:0; }
.tips-card li{ display:flex; gap:.6rem; font-size:.82rem; color:#555; margin-bottom:.65rem; align-items:center; }
.tips-card li:last-child{ margin-bottom:0; }

.post-cta-banner{
  background:var(--navy); color:#fff; padding:2rem; border-radius:10px;
  margin:0 auto 3rem; max-width:1300px; display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;
}
.post-cta-left{ display:flex; align-items:center; gap:1.2rem; flex:1; min-width:260px; }
.post-cta-icon{ font-size:2.2rem; flex-shrink:0; }
.post-cta-left h3{ font-size:1.15rem; margin-bottom:.3rem; }
.post-cta-left p{ font-size:.85rem; color:#c9c9c9; margin-bottom:.9rem; }
.post-cta-stats{ display:flex; gap:1.8rem; flex-wrap:wrap; }
.post-cta-stat{ text-align:center; font-size:.72rem; color:#c9c9c9; max-width:90px; }
.post-cta-stat .ic{ font-size:1.3rem; display:block; margin-bottom:.3rem; }

@media (max-width:1100px){
  .wizard-strip-inner{ flex-wrap:wrap; justify-content:center; }
  .wizard-arrow{ display:none; }
  .wizard-step{ max-width:45%; }
}
@media (max-width:900px){
  .form-row.cols-3, .form-row.cols-2{ grid-template-columns:1fr; }
  .post-hero-icons{ gap:1.2rem; }
  .field-group .amenities-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:600px){
  .form-card{ padding:1.2rem; }
  .post-cta-banner{ padding:1.4rem; }
  .post-cta-stats{ gap:1rem; }
  /* The 5-step wizard was wrapping into an uneven, hard-to-scan block at phone
     widths (flex-basis:0 let steps crowd onto shared rows with mismatched
     heights). A single-column list with the step number and title on one line
     is far easier to scan; the description is dropped here since the active
     step's own heading below already explains what to do. */
  .wizard-strip-inner{ flex-direction:column; align-items:stretch; gap:0; }
  .wizard-step{
    max-width:100%; flex:none; width:100%;
    display:flex; align-items:center; gap:.7rem; text-align:left;
    padding:.6rem .1rem;
  }
  .wizard-step:not(:last-child){ border-bottom:1px solid var(--border); }
  .wizard-step .wz-num{ margin-bottom:0; flex-shrink:0; }
  .wizard-step h4{ font-size:.85rem; margin-bottom:0; }
  .wizard-step p{ display:none; }
}

/* ===================================================================
   PRODUCT QUICK-VIEW MODAL (Buy / Rent / Commercial / Investment)
=================================================================== */
.prop-card{ cursor:pointer; }
.invest-card{ cursor:pointer; }

.product-modal-overlay{
  display:none; position:fixed; inset:0; z-index:999;
  background:rgba(15,15,20,.65); backdrop-filter:blur(2px);
  align-items:center; justify-content:center; padding:1.2rem;
}
.product-modal-overlay.open{ display:flex; }

.product-modal{
  background:#fff; width:100%; max-width:820px; max-height:90vh; overflow-y:auto;
  border-radius:14px; position:relative; box-shadow:0 30px 70px rgba(0,0,0,.45);
  animation:pmPop .22s ease;
}
@keyframes pmPop{ from{ transform:scale(.96); opacity:0; } to{ transform:scale(1); opacity:1; } }

.product-modal-close{
  position:absolute; top:.9rem; right:.9rem; width:36px; height:36px; border-radius:50%;
  background:#fff; border:1px solid var(--border); font-size:1rem; cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center; color:#333;
}
.product-modal-close:hover{ background:var(--gold); color:#fff; border-color:var(--gold); }

.product-modal-grid{ display:grid; grid-template-columns:1fr 1fr; gap:0; }

.product-modal-media{ position:relative; }
.product-modal-thumb{
  height:100%; min-height:260px; border-radius:14px 0 0 14px;
  display:flex; align-items:flex-start; justify-content:flex-end; padding:1rem;
  background:linear-gradient(135deg,#2c3450,#171a24 55%, #E5A527 160%);
  position:relative;
}
.product-modal-thumb::before{
  content:""; position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:4.5rem; opacity:.9;
}
.product-modal-thumb.apt::before,.product-modal-thumb.apt2::before{ content:"🏠"; }
.product-modal-thumb.tower::before,.product-modal-thumb.tower2::before,.product-modal-thumb.commbldg::before{ content:"🏙️"; }
.product-modal-thumb.villa::before{ content:"🏡"; }
.product-modal-thumb.plot::before,.product-modal-thumb.indplot::before,.product-modal-thumb.factland::before{ content:"📍"; }
.product-modal-thumb.office::before{ content:"🏢"; }
.product-modal-thumb.showroom::before{ content:"🛍️"; }
.product-modal-thumb.godown::before,.product-modal-thumb.warehouse::before{ content:"🏭"; }
.product-modal-thumb.retail::before{ content:"🏪"; }
.product-modal-thumb.coworking::before{ content:"💼"; }
.product-modal-thumb.shed::before{ content:"🏗️"; }
.product-modal-thumb.cold::before{ content:"❄️"; }
.product-modal-thumb.logistics::before{ content:"📦"; }
.product-modal-thumb.uploaded-photo{
  background-size:cover; background-position:center; background-repeat:no-repeat;
}
.product-modal-thumb.uploaded-photo::before{ content:""; display:none; }

.product-modal-info{ padding:1.6rem 1.8rem; display:flex; flex-direction:column; }
.product-modal-loc{ font-size:.8rem; color:var(--text-grey); margin-bottom:.2rem; }
.product-modal-info h3{ font-size:1.35rem; margin-bottom:.5rem; color:var(--text-dark); }
.product-modal-price{ font-size:1.5rem; font-weight:800; color:var(--gold-dark); margin-bottom:.8rem; }
.product-modal-meta{ display:flex; gap:.9rem; flex-wrap:wrap; font-size:.8rem; color:#555; margin-bottom:.7rem; }
.product-modal-info .furn-tag{ align-self:flex-start; margin-bottom:.9rem; }
.product-modal-desc{ font-size:.86rem; color:var(--text-grey); line-height:1.55; margin-bottom:1.2rem; }
.product-modal-actions{ display:flex; flex-direction:column; gap:.7rem; margin-top:auto; }

@media (max-width:700px){
  .product-modal-grid{ grid-template-columns:1fr; }
  .product-modal-thumb{ min-height:170px; border-radius:14px 14px 0 0; }
  .product-modal-thumb::before{ font-size:3.2rem; }
  .product-modal-info{ padding:1.3rem 1.3rem 1.5rem; }
}

/* ===================================================================
   FIREBASE AUTH — Login/Signup Modal, Header Widget, Toasts
=================================================================== */

.auth-widget{ display:flex; align-items:center; gap:.6rem; }
.auth-user-name{ font-size:.85rem; font-weight:600; color:#fff; white-space:nowrap; }
.mobile-nav-actions .auth-widget{ flex-direction:column; align-items:stretch; gap:.5rem; margin-bottom:.5rem; }
.mobile-nav-actions .auth-user-name{ text-align:center; padding:.4rem 0; color:#fff; }

.auth-modal-overlay{
  display:none; position:fixed; inset:0; z-index:1100;
  background:rgba(15,15,20,.65); backdrop-filter:blur(2px);
  align-items:center; justify-content:center; padding:1.2rem;
}
.auth-modal-overlay.open{ display:flex; }

.auth-modal{
  background:#fff; width:100%; max-width:420px; max-height:92vh; overflow-y:auto;
  border-radius:14px; position:relative; box-shadow:0 30px 70px rgba(0,0,0,.45);
  padding:2rem 1.8rem 1.6rem; animation:pmPop .22s ease;
}

.auth-modal-close{
  position:absolute; top:.9rem; right:.9rem; width:36px; height:36px; border-radius:50%;
  background:#fff; border:1px solid var(--border); font-size:1rem; cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center; color:#333;
}
.auth-modal-close:hover{ background:var(--gold); color:#fff; border-color:var(--gold); }

.auth-tabs{ display:flex; gap:0; margin-bottom:1.2rem; border-bottom:1px solid var(--border); }
.auth-tab{
  flex:1; background:none; border:none; padding:.7rem .5rem; font-size:.9rem; font-weight:700;
  color:var(--text-grey); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px;
}
.auth-tab.active{ color:var(--gold-dark); border-bottom-color:var(--gold); }

.auth-modal-msg{
  background:#FBF6EC; border:1px solid var(--border); color:var(--text-dark);
  font-size:.82rem; padding:.7rem .9rem; border-radius:8px; margin-bottom:1.1rem;
}

.auth-form{ display:flex; flex-direction:column; gap:.9rem; }
.auth-form h3{ font-size:1.25rem; color:var(--text-dark); margin-bottom:-.4rem; }
.auth-sub{ font-size:.82rem; color:var(--text-grey); margin-bottom:.2rem; }
.auth-form .field-group{ display:flex; flex-direction:column; gap:.35rem; }
.auth-form .field-group label{ font-size:.78rem; font-weight:700; color:var(--text-dark); }
.auth-form input{
  padding:.65rem .8rem; border:1px solid var(--border); border-radius:8px; font-size:.9rem;
  font-family:inherit; width:100%;
}
.auth-form input:focus{ outline:none; border-color:var(--gold); }
.auth-error{ color:#c0392b; font-size:.8rem; background:#fdecea; border:1px solid #f5c6c2; padding:.55rem .7rem; border-radius:8px; }
.auth-switch{ text-align:center; font-size:.82rem; color:var(--text-grey); }
.auth-switch a{ color:var(--gold-dark); font-weight:700; }

.blr-toast{
  position:fixed; left:50%; bottom:-80px; transform:translateX(-50%);
  background:var(--navy); color:#fff; padding:.85rem 1.4rem; border-radius:10px;
  font-size:.88rem; font-weight:600; box-shadow:0 12px 30px rgba(0,0,0,.3);
  z-index:1200; max-width:90vw; text-align:center; transition:bottom .3s ease, opacity .3s ease;
  opacity:0;
}
.blr-toast.show{ bottom:28px; opacity:1; }
.blr-toast.success{ background:#1e7e34; }
.blr-toast.warn{ background:var(--gold-dark); }

/* ===================================================================
   LOAN APPLICATION MODAL
=================================================================== */

.loan-application-overlay{
  display:none; position:fixed; inset:0; z-index:1090;
  background:rgba(15,15,20,.65); backdrop-filter:blur(2px);
  align-items:center; justify-content:center; padding:1.2rem;
}
.loan-application-overlay.open{ display:flex; }

.loan-application-modal{
  background:#fff; width:100%; max-width:720px; max-height:92vh; overflow-y:auto;
  border-radius:14px; position:relative; box-shadow:0 30px 70px rgba(0,0,0,.45);
  padding:2rem 1.8rem 1.6rem; animation:pmPop .22s ease;
}
.loan-application-close{
  position:absolute; top:.9rem; right:.9rem; width:36px; height:36px; border-radius:50%;
  background:#fff; border:1px solid var(--border); font-size:1rem; cursor:pointer; z-index:2;
  display:flex; align-items:center; justify-content:center; color:#333;
}
.loan-application-close:hover{ background:var(--gold); color:#fff; border-color:var(--gold); }
.loan-application-modal h3{ font-size:1.35rem; color:var(--text-dark); margin-bottom:.35rem; padding-right:2.2rem; }
.loan-application-sub{ font-size:.84rem; color:var(--text-grey); margin-bottom:1.2rem; max-width:560px; }
.loan-application-form{ display:flex; flex-direction:column; gap:1rem; }
.loan-application-form .form-row{ margin:0; }
.loan-application-form .field-group{ margin-bottom:0; display:flex; flex-direction:column; gap:.35rem; }
.loan-application-form .field-group label{ font-size:.78rem; font-weight:700; color:var(--text-dark); }
.loan-application-form input,
.loan-application-form textarea{
  padding:.72rem .85rem; border:1px solid var(--border); border-radius:8px; font-size:.9rem;
  font-family:inherit; width:100%; background:#fff;
}
.loan-application-form textarea{ resize:vertical; min-height:86px; }
.loan-application-form input:focus,
.loan-application-form textarea:focus{ outline:none; border-color:var(--gold); }

/* ===================================================================
   ADMIN PANEL
=================================================================== */

.admin-hero{
  background:linear-gradient(135deg, rgba(11,23,43,.96), rgba(24,38,64,.96));
  color:#fff; padding:6.5rem 1.2rem 2.4rem;
}
.admin-hero-inner{ max-width:1300px; margin:0 auto; }
.admin-hero h1{ font-size:2.4rem; margin:.4rem 0 .4rem; color:#fff; }
.admin-hero p{ color:#d9d9d9; max-width:720px; }
.admin-main{ max-width:1300px; margin:0 auto; padding:2rem 1.2rem 3rem; }

/* Standalone admin header — deliberately separate from the site's
   main header/nav, since admin.html has its own dedicated login. */
.admin-header{
  background:linear-gradient(135deg, rgba(11,23,43,.98), rgba(24,38,64,.98));
  padding:1rem 1.2rem;
}
.admin-header-inner{
  max-width:1300px; margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; gap:1rem; flex-wrap:wrap;
}
.admin-header-tag{
  color:var(--gold); font-weight:700; font-size:.85rem; letter-spacing:.06em;
  text-transform:uppercase; margin-right:auto; margin-left:.5rem;
}
.admin-back-btn{ white-space:nowrap; }
.admin-main--standalone{ padding-top:2.5rem; }
.admin-login-form{ max-width:420px; margin:1.2rem 0 0; }
.admin-gate-back{
  display:inline-block; margin-top:1.2rem; color:var(--text-grey);
  font-size:.88rem; text-decoration:none;
}
.admin-gate-back:hover{ color:var(--gold); }
.admin-toolbar-actions{ display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; }
.admin-status{
  border:1px solid var(--border); border-radius:8px; padding:.85rem 1rem;
  margin-bottom:1.2rem; background:#fff; font-size:.88rem; font-weight:700;
}
.admin-status.success{ background:#edf8ef; border-color:#b7e1bf; color:#1e7e34; }
.admin-status.warn{ background:#fff6df; border-color:#f1d58d; color:#8a6410; }
.admin-status.danger{ background:#fdecea; border-color:#f5c6c2; color:#b3362d; }
.admin-gate,
.admin-panel-card{
  background:#fff; border:1px solid var(--border); border-radius:10px;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}
.admin-gate{ padding:2rem; }
.admin-gate h2{ margin-bottom:.5rem; color:var(--navy); }
.admin-note{ color:var(--text-grey); margin-top:.7rem; }
.admin-toolbar{
  display:flex; justify-content:space-between; align-items:center; gap:1rem;
  margin-bottom:1.2rem; flex-wrap:wrap;
}
.admin-toolbar h2{ color:var(--navy); margin-bottom:.2rem; }
.admin-toolbar p{ color:var(--text-grey); font-size:.9rem; }
.admin-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-bottom:1.2rem; }
.admin-stat{
  background:var(--navy); color:#fff; border-radius:8px; padding:1.2rem;
  border:1px solid rgba(255,255,255,.08);
}
.admin-stat span{ display:block; font-size:2rem; font-weight:800; color:var(--gold); line-height:1; }
.admin-stat small{ display:block; margin-top:.35rem; color:#ddd; font-size:.78rem; }
.admin-grid{ display:grid; grid-template-columns:1fr; gap:1.2rem; }
.admin-panel-card{ padding:1.2rem; }

/* ---- Admin sidebar + tabbed panels ---- */
.admin-shell{ display:flex; align-items:flex-start; gap:1.2rem; }
.admin-sidebar{
  display:flex; flex-direction:column; gap:.3rem; width:230px; flex-shrink:0;
  background:#fff; border:1px solid var(--border); border-radius:10px;
  padding:.7rem; position:sticky; top:1rem;
}
.admin-side-link{
  display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  text-align:left; padding:.7rem .85rem; border-radius:8px; border:none;
  background:transparent; font-weight:700; font-size:.86rem; color:var(--text-dark);
  cursor:pointer; font-family:inherit;
}
.admin-side-link:hover{ background:#f4f4f4; }
.admin-side-link.active{ background:var(--navy); color:#fff; }
.admin-side-count{
  display:none; background:var(--gold); color:#1a1a1a; border-radius:999px;
  font-size:.68rem; font-weight:800; padding:.1rem .5rem; min-width:18px; text-align:center;
}
.admin-side-link.active .admin-side-count{ background:#fff; color:var(--navy); }
.admin-content{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1.2rem; }
.admin-section-panel{ display:none; }
.admin-section-panel.active{ display:flex; flex-direction:column; gap:1.2rem; }
.admin-purpose-row{ display:flex; align-items:center; justify-content:space-between; }
.admin-purpose-row h4{ margin:0; }
.admin-purpose-count{ font-weight:800; color:var(--gold-dark); font-size:.85rem; white-space:nowrap; }

@media (max-width:760px){
  .admin-shell{ flex-direction:column; }
  .admin-sidebar{
    flex-direction:row; width:100%; overflow-x:auto; position:static; gap:.4rem;
  }
  .admin-side-link{ white-space:nowrap; }
}

.admin-section-head{
  display:flex; justify-content:space-between; align-items:flex-start; gap:1rem;
  padding-bottom:1rem; border-bottom:1px solid var(--border); margin-bottom:1rem;
}
.admin-section-head h3{ color:var(--navy); margin-bottom:.25rem; }
.admin-section-head p{ color:var(--text-grey); font-size:.86rem; }
.admin-list{ display:flex; flex-direction:column; gap:.9rem; }
.admin-list-card,
.admin-property-card{
  border:1px solid var(--border); border-radius:8px; padding:1rem; background:#fafafa;
}
.admin-list-card h4,
.admin-property-card h4{ color:var(--text-dark); margin:.35rem 0 .15rem; }
.admin-list-card p,
.admin-property-card p{ color:var(--text-grey); font-size:.84rem; }
.admin-card-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:.7rem; margin-top:.8rem;
}
.admin-card-grid span{
  background:#fff; border:1px solid var(--border); border-radius:7px; padding:.7rem;
  color:#444; font-size:.78rem; overflow-wrap:anywhere;
}
.admin-card-grid strong{ display:block; color:var(--navy); font-size:.7rem; text-transform:uppercase; margin-bottom:.25rem; }
.admin-property-head{ display:flex; justify-content:space-between; gap:1rem; align-items:flex-start; }
.admin-actions{ display:flex; gap:.6rem; flex-wrap:wrap; justify-content:flex-end; }
.admin-actions .btn,
.admin-actions .btn-outline-dark{ padding:.7rem 1rem; white-space:nowrap; }
.admin-pill{
  display:inline-flex; align-items:center; border-radius:999px; padding:.25rem .6rem;
  font-size:.68rem; font-weight:800; text-transform:uppercase; letter-spacing:.02em;
  background:#eee; color:#555; margin-right:.35rem;
}
.admin-pill.success{ background:#edf8ef; color:#1e7e34; }
.admin-pill.warn{ background:#fff6df; color:#8a6410; }
.admin-pill.danger{ background:#fdecea; color:#b3362d; }
.admin-pill.gold{ background:#fbeed0; color:#8a6410; }
.admin-description{ margin-top:.8rem; line-height:1.55; }
.admin-empty{ text-align:center; padding:1.6rem; color:var(--text-grey); }
.admin-photo-strip{ display:flex; gap:.55rem; flex-wrap:wrap; margin-top:.9rem; }
.admin-photo-thumb{
  width:82px; height:62px; border-radius:7px; border:1px solid var(--border);
  background-size:cover; background-position:center; background-color:#eee;
  display:block;
}

@media (max-width:700px){
  .auth-modal{ padding:1.6rem 1.2rem 1.3rem; }
  .loan-application-modal{ padding:1.6rem 1.2rem 1.3rem; }
  .admin-hero{ padding-top:5.8rem; }
  .admin-stats{ grid-template-columns:1fr 1fr; }
  .admin-card-grid{ grid-template-columns:1fr; }
  .admin-property-head{ flex-direction:column; }
  .admin-actions{ justify-content:flex-start; }
}

/* ===== CONSTRUCTION PAGE ===== */

/* Hero photo background */
.buy-hero.construction-hero-photo-bg{
  background:
    linear-gradient(100deg, rgba(10,12,20,.94) 30%, rgba(10,12,20,.55) 60%, rgba(10,12,20,.25) 100%),
    url("images/loansherobg.jpg");
  background-color:#0d0f18;
  background-size:cover;
  background-position:center 35%;
  background-repeat:no-repeat;
}
.buy-hero.construction-hero-photo-bg .buy-hero-top{ grid-template-columns:1.25fr 1fr; align-items:start; }

/* Dark lead-capture form inside the hero side card */
.construction-lead-card{ max-width:360px; }
.construction-lead-card h3{ font-size:1.15rem; line-height:1.3; margin-bottom:.4rem; }
.construction-lead-card > p{ margin-bottom:1.1rem; }
.construction-lead-card .field-group{ margin-bottom:.8rem; }
.construction-lead-card label{ display:block; font-size:.74rem; color:#c9c9c9; margin-bottom:.35rem; }
.construction-lead-card input,
.construction-lead-card select{
  width:100%; border:1px solid rgba(255,255,255,.18); border-radius:6px;
  padding:.65rem .8rem; font-size:.85rem; color:#fff;
  background:rgba(255,255,255,.06); font-family:inherit;
}
.construction-lead-card select option{ color:#1a1a1a; }
.construction-lead-card input::placeholder{ color:#8a8d99; }
.construction-lead-card input:focus,
.construction-lead-card select:focus{ outline:none; border-color:var(--gold); }

/* Price strip */
.price-strip{ max-width:1300px; margin:0 auto; padding:2.2rem 2rem 0; }
.price-strip-inner{
  display:flex; align-items:center; gap:1.4rem;
  background:var(--cream); border:1px solid #f0e3c3; border-radius:12px;
  padding:1.3rem 1.6rem; flex-wrap:wrap;
}
.price-highlight{ display:flex; align-items:center; gap:1rem; flex:0 0 auto; }
.price-highlight-icon{
  width:56px; height:56px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(180deg,#EFB43C,var(--gold));
  display:flex; align-items:center; justify-content:center; font-size:1.5rem;
}
.price-highlight h4{ font-size:.78rem; color:var(--text-grey); font-weight:600; margin-bottom:.2rem; }
.price-highlight .price-value{ font-size:1.5rem; font-weight:800; color:var(--text-dark); }
.price-highlight .price-value small{ font-size:.85rem; font-weight:600; color:var(--text-grey); }
.price-highlight .price-note{ font-size:.68rem; color:var(--text-grey); margin-top:.15rem; }
.price-divider{ width:1px; align-self:stretch; background:#e6d9ae; flex-shrink:0; }
.price-stats-row{ display:flex; flex:1; justify-content:space-around; flex-wrap:wrap; gap:1rem; }
.price-stats-row .stat-item{ flex:0 0 auto; border-left:none !important; padding:0; }

/* Services grid ("We Build Everything You Need") */
.construction-services{ padding:3.5rem 2rem; max-width:1300px; margin:0 auto; }
.cs-grid{ display:grid; grid-template-columns:repeat(5,1fr); gap:1.1rem; }
.cs-card{
  display:block; border:1px solid var(--border); border-radius:10px; overflow:hidden;
  text-decoration:none; color:inherit; background:#fff;
  transition:transform .28s cubic-bezier(.2,.8,.2,1), box-shadow .28s ease, border-color .28s ease;
}
.cs-card:hover{ transform:translateY(-6px); box-shadow:0 16px 30px rgba(18,21,31,.12); border-color:var(--gold); }
.cs-photo{ height:110px; background-size:cover; background-position:center; }
.cs-photo.cs-placeholder{
  display:flex; align-items:center; justify-content:center; font-size:2rem;
  background:linear-gradient(135deg,#3b3f52,#1c1e29 60%, #E5A527 160%);
}
.cs-body{ padding:1rem 1rem 1.2rem; }
.cs-body h4{ font-size:.86rem; margin-bottom:.35rem; display:flex; align-items:center; gap:.4rem; }
.cs-body p{ font-size:.74rem; color:var(--text-grey); line-height:1.4; }

/* Quality/process split */
.construction-quality{
  max-width:1300px; margin:0 auto; padding:0 2rem 3.5rem;
  display:grid; grid-template-columns:1fr 1.3fr; gap:2rem;
}
.quality-card{
  background:var(--navy); border-radius:14px; padding:1.8rem;
  display:grid; grid-template-columns:1fr 1fr; gap:1.4rem; align-items:center;
}
.quality-card h2{ color:#fff; font-size:1.4rem; margin-bottom:1rem; }
.quality-card .check-list.light li{ font-size:.8rem; }
.quality-card-photo{
  height:100%; min-height:190px; border-radius:10px;
  background-size:cover; background-position:center;
}
.quality-process h2{ font-size:1.4rem; margin-bottom:1.8rem; }

/* Construction packages */
.pkg-section{ padding:3.5rem 2rem; max-width:1300px; margin:0 auto; }
.pkg-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.1rem; }
.pkg-card{
  position:relative; border:1px solid var(--border); border-radius:10px;
  padding:1.6rem 1.3rem; background:#fff;
}
.pkg-card.popular{ border-color:var(--gold); box-shadow:0 10px 26px rgba(229,165,39,.18); }
.pkg-badge{
  position:absolute; top:-.7rem; left:50%; transform:translateX(-50%);
  background:var(--gold); color:#1a1a1a; font-size:.66rem; font-weight:800;
  padding:.25rem .7rem; border-radius:20px; white-space:nowrap;
}
.pkg-card h4{ font-size:1rem; margin-bottom:.4rem; }
.pkg-price{ font-size:1.5rem; font-weight:800; color:var(--gold-dark); margin-bottom:.9rem; }
.pkg-price small{ font-size:.78rem; font-weight:600; color:var(--text-grey); }
.pkg-card .check-list{ margin-bottom:1.2rem; }
.pkg-card .check-list li{ font-size:.78rem; }

/* Recent projects gallery */
.gallery-section{ padding:0 2rem 3rem; max-width:1300px; margin:0 auto; }
.gallery-grid{ display:grid; grid-template-columns:repeat(6,1fr); gap:.8rem; margin-bottom:1.6rem; }
.gallery-item{
  height:120px; border-radius:8px; background-size:cover; background-position:center;
  border:1px solid var(--border);
}
.gallery-cta{ text-align:center; }

@media (max-width:1100px){
  .buy-hero.construction-hero-photo-bg .buy-hero-top{ grid-template-columns:1fr; }
  .cs-grid{ grid-template-columns:repeat(3,1fr); }
  .construction-quality{ grid-template-columns:1fr; }
  .quality-card{ grid-template-columns:1fr; }
  .pkg-grid{ grid-template-columns:repeat(2,1fr); }
  .gallery-grid{ grid-template-columns:repeat(3,1fr); }
  .price-strip-inner{ justify-content:center; }
  .price-divider{ display:none; }
}
@media (max-width:600px){
  .construction-services,.pkg-section{ padding:2.4rem 1rem; }
  .cs-grid{ grid-template-columns:repeat(2,1fr); gap:.7rem; }
  .pkg-grid{ grid-template-columns:1fr; }
  .gallery-grid{ grid-template-columns:repeat(2,1fr); }
  .price-stats-row{ justify-content:flex-start; gap:1.2rem; }
}
