/* ═══════════════════════════
   Home Page Specific Styles
═══════════════════════════ */

/* ── HERO ── */
#hero { min-height:calc(100vh - 76px); display:grid; grid-template-columns:58% 42%; }
.h-left { position:relative; overflow:hidden; }
.h-left img { width:100%; height:100%; object-fit:cover; display:block; }
.h-overlay { position:absolute; inset:0; background:linear-gradient(140deg,rgba(28,28,26,.6) 0%,rgba(28,28,26,.1) 55%,transparent 100%); }
.h-copy { position:absolute; bottom:60px; left:56px; right:56px; z-index:2; }
.h-badge { display:inline-flex; align-items:center; gap:8px; background:var(--gold); color:var(--white); font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:7px 16px; margin-bottom:20px; }
.h-title { font-family:var(--fd); font-size:clamp(40px,5.5vw,72px); font-weight:500; line-height:1.05; color:var(--white); margin-bottom:16px; }
.h-title em { font-style:italic; color:var(--gold2); }
.h-sub { font-size:14px; line-height:1.8; color:rgba(255,255,255,.72); max-width:420px; margin-bottom:32px; }
.h-btn { display:inline-flex; align-items:center; gap:12px; background:var(--white); color:var(--dark); font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; text-decoration:none; padding:15px 34px; transition:all .35s; }
.h-btn:hover { background:var(--gold); color:var(--white); gap:18px; }
.h-right { background:var(--white); display:flex; flex-direction:column; justify-content:center; padding:52px 44px; gap:22px; }
.hs-lbl { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:4px; }
.stat-grid { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--border); border:1px solid var(--border); }
.stat-cell { background:var(--white); padding:24px 18px; text-align:center; }
.stat-n { font-family:var(--fd); font-size:42px; font-weight:500; color:var(--dark); line-height:1; }
.stat-l { font-size:10px; color:var(--muted); letter-spacing:1px; margin-top:5px; }
.fmini { border:1px solid var(--border); overflow:hidden; }
.fmini-img { position:relative; overflow:hidden; }
.fmini-img img { width:100%; height:200px; object-fit:cover; display:block; transition:transform .7s ease; }
.fmini:hover .fmini-img img { transform:scale(1.05); }
.fmini-tag { position:absolute; top:12px; left:12px; background:var(--gold); color:var(--white); font-size:9px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:5px 11px; }
.fmini-info { padding:16px 18px; display:flex; justify-content:space-between; align-items:center; background:var(--off); }
.fmini-name { font-size:13px; font-weight:600; color:var(--dark); }
.fmini-loc { font-size:11px; color:var(--muted); margin-top:2px; }
.fmini-price { font-family:var(--fd); font-size:21px; font-weight:500; color:var(--gold); }
.qs { background:var(--off); border:1px solid var(--border); padding:16px 18px; }
.qs-lbl { font-size:10px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:var(--muted); margin-bottom:11px; }
.qs-row { display:flex; gap:8px; }
.qs-row input,.qs-row select { flex:1; border:1.5px solid var(--border); padding:10px 12px; font-size:12px; font-family:var(--fb); color:var(--dark); background:var(--white); outline:none; transition:border-color .3s; min-width:0; }
.qs-row input:focus,.qs-row select:focus { border-color:var(--gold); }
.qs-btn { background:var(--gold); border:none; color:var(--white); padding:10px 15px; cursor:pointer; font-size:14px; flex-shrink:0; }
.qs-btn:hover { background:var(--gold2); }

/* ── PROPERTY FILTER TABS ── */
.ftabs { display:flex; gap:6px; flex-wrap:wrap; margin:34px 0 42px; }
.ftab { font-size:12px; font-weight:500; padding:9px 22px; background:var(--white); border:1.5px solid var(--border); color:var(--mid); cursor:pointer; transition:all .25s; }
.ftab:hover { border-color:var(--dark); color:var(--dark); }
.ftab.on { background:var(--dark); color:var(--white); border-color:var(--dark); }

/* ── SMART SEARCH ── */
.ss-box { background:var(--white); padding:56px; }
.sg { display:grid; grid-template-columns:1fr 1fr 1fr 1fr auto; gap:12px; margin-top:28px; align-items:flex-end; }
.ss-go { padding:12px 26px; background:var(--gold); border:none; color:var(--white); font-size:13px; font-weight:700; font-family:var(--fb); cursor:pointer; display:flex; align-items:center; gap:8px; white-space:nowrap; }
.ss-go:hover { background:var(--gold2); }

/* ── WHY US ── */
.why-img { position:relative; }
.why-img img { width:100%; height:550px; object-fit:cover; display:block; }
.why-badge { position:absolute; bottom:-14px; right:-14px; background:var(--gold); padding:24px 28px; text-align:center; min-width:125px; }
.why-badge-n { font-family:var(--fd); font-size:40px; font-weight:500; color:var(--white); line-height:1; }
.why-badge-l { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.8); margin-top:4px; }
.wfl { margin-top:32px; }
.wfi { display:flex; gap:15px; align-items:flex-start; padding:20px 0; border-bottom:1px solid var(--border); transition:padding-left .3s; }
.wfi:hover { padding-left:5px; }
.wfi-ic { width:40px; height:40px; flex-shrink:0; background:var(--goldp); border:1px solid rgba(196,151,63,.25); display:flex; align-items:center; justify-content:center; }
.wfi-ic i { color:var(--gold); font-size:16px; }
.wfi-tx h5 { font-family:var(--fd); font-size:18px; font-weight:500; margin-bottom:4px; }
.wfi-tx p { font-size:13px; color:var(--mid); line-height:1.7; }

/* ── PROCESS ── */
.pg { display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:48px; }
.pi { padding:40px 28px; border:1px solid var(--border); margin-right:-1px; position:relative; overflow:hidden; transition:background .4s,transform .35s; }
.pi:hover { background:var(--goldp); transform:translateY(-4px); z-index:2; }
.pi-n { font-family:var(--fd); font-size:58px; font-weight:500; color:var(--border); line-height:1; margin-bottom:16px; }
.pi-ic { color:var(--gold); font-size:22px; margin-bottom:13px; display:block; }
.pi-t { font-family:var(--fd); font-size:19px; font-weight:500; margin-bottom:9px; }
.pi-d { font-size:13px; color:var(--mid); line-height:1.7; }
.pi-line { position:absolute; bottom:0; left:0; width:0; height:3px; background:var(--gold); transition:width .5s; }
.pi:hover .pi-line { width:100%; }

/* ── AREAS ── */
.ag { display:grid; grid-template-columns:repeat(3,1fr); grid-template-rows:265px 265px; gap:10px; margin-top:40px; }
.ag .ac:first-child { grid-row:span 2; }
.ac { position:relative; overflow:hidden; cursor:pointer; }
.ac img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s ease; }
.ac:hover img { transform:scale(1.07); }
.ac-ov { position:absolute; inset:0; background:linear-gradient(to top,rgba(28,28,26,.7) 0%,rgba(28,28,26,.05) 55%,transparent 100%); }
.ac-info { position:absolute; bottom:20px; left:20px; right:20px; z-index:2; }
.ac-name { font-family:var(--fd); font-size:20px; font-weight:500; color:var(--white); }
.ac-cnt { font-size:12px; color:rgba(255,255,255,.65); margin-top:3px; }

/* ── TESTIMONIALS ── */
.t-outer { overflow:hidden; margin-top:42px; }
.t-track { display:flex; transition:transform .7s cubic-bezier(.23,1,.32,1); }
.t-slide { min-width:100%; }
.t-card { background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); padding:50px 54px; position:relative; }
.tq { position:absolute; top:18px; left:38px; font-family:var(--fd); font-size:90px; font-weight:400; color:var(--gold); opacity:.15; line-height:1; }
.t-stars { display:flex; gap:4px; margin-bottom:20px; }
.t-stars i { color:var(--gold); font-size:13px; }
.t-txt { font-family:var(--fd); font-size:clamp(16px,2.1vw,24px); font-weight:400; font-style:italic; line-height:1.65; color:rgba(255,255,255,.9); margin-bottom:30px; position:relative; z-index:1; }
.t-auth { display:flex; align-items:center; gap:14px; }
.t-av { width:50px; height:50px; border-radius:50%; object-fit:cover; border:2px solid var(--gold); }
.t-name { font-size:14px; font-weight:600; color:var(--white); }
.t-role { font-size:11px; color:rgba(255,255,255,.4); margin-top:2px; }
.t-ctrl { display:flex; gap:10px; align-items:center; margin-top:28px; }
.t-btn { width:42px; height:42px; border:1px solid rgba(255,255,255,.15); background:transparent; color:rgba(255,255,255,.55); display:flex; align-items:center; justify-content:center; cursor:pointer; transition:all .3s; }
.t-btn:hover { background:var(--gold); border-color:var(--gold); color:var(--white); }
.t-dots { display:flex; gap:8px; margin-left:8px; }
.tdot { width:6px; height:6px; border-radius:50%; background:rgba(255,255,255,.2); cursor:pointer; transition:background .3s; }
.tdot.on { background:var(--gold); }

/* ── AGENTS ── */
.agc { text-align:center; transition:transform .4s cubic-bezier(.23,1,.32,1); }
.agc:hover { transform:translateY(-6px); }
.agc-ph { width:154px; height:154px; border-radius:50%; overflow:hidden; margin:0 auto 16px; border:3px solid var(--border); transition:border-color .3s; }
.agc:hover .agc-ph { border-color:var(--gold); }
.agc-ph img { width:100%; height:100%; object-fit:cover; }
.agc-name { font-family:var(--fd); font-size:20px; font-weight:500; margin-bottom:4px; }
.agc-role { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:7px; }
.agc-deals { font-size:12px; color:var(--muted); margin-bottom:13px; }
.agc-soc { display:flex; justify-content:center; gap:8px; }
.agc-soc a { width:32px; height:32px; border:1px solid var(--border); border-radius:50%; display:flex; align-items:center; justify-content:center; color:var(--muted); text-decoration:none; font-size:12px; transition:all .3s; }
.agc-soc a:hover { border-color:var(--gold); color:var(--gold); background:var(--goldp); }

/* ── CTA ── */
.cta-in { text-align:center; max-width:600px; margin:0 auto; }

/* ── BLOG PREVIEW ── */
.bc { border:1px solid var(--border); overflow:hidden; transition:transform .4s cubic-bezier(.23,1,.32,1),box-shadow .4s; }
.bc:hover { transform:translateY(-5px); box-shadow:0 20px 48px rgba(0,0,0,.08); }
.bc-img { overflow:hidden; }
.bc-img img { width:100%; height:210px; object-fit:cover; display:block; transition:transform .6s ease; }
.bc:hover .bc-img img { transform:scale(1.05); }
.bc-body { padding:22px; }
.bc-cat { font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--gold); margin-bottom:8px; }
.bc-title { font-family:var(--fd); font-size:18px; font-weight:500; line-height:1.4; margin-bottom:9px; }
.bc-meta { font-size:12px; color:var(--muted); display:flex; align-items:center; gap:9px; }
.bc-read { display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:var(--gold); text-decoration:none; margin-top:13px; transition:gap .3s; }
.bc-read:hover { gap:10px; }

/* ── RESPONSIVE ── */
@media(max-width:1100px) { .sg { grid-template-columns:1fr 1fr; } .sg .ss-go { grid-column:span 2; } }
@media(max-width:991px) {
  #hero { grid-template-columns:1fr; }
  .h-left { min-height:60vh; }
  .h-right { padding:34px 26px; }
  .why-badge { right:10px; bottom:10px; }
  .pg { grid-template-columns:1fr 1fr; }
  .pi { margin-right:0; }
  .ag { grid-template-columns:1fr 1fr; grid-template-rows:195px 195px 195px; }
  .ag .ac:first-child { grid-row:span 1; }
  .ss-box { padding:38px 26px; }
}
@media(max-width:767px) {
  .h-copy { left:22px; right:22px; bottom:32px; }
  .pg { grid-template-columns:1fr; }
  .pi { margin-bottom:-1px; }
  .ag { grid-template-columns:1fr; }
  .ag .ac { height:185px; }
  .t-card { padding:30px 20px; }
}
