:root{
  --navy:#1B2A3A;
  --navy-light:#2E4257;
  --gold:#B8925A;
  --cream:#F7F5F1;
  --grey:#6B6F76;
  --border:#E4E1DA;
  --white:#FFFFFF;
}

*{box-sizing:border-box;}
body{
  margin:0;
  font-family:"Georgia","Times New Roman",serif;
  color:var(--navy);
  background:var(--white);
}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{max-width:1180px;margin:0 auto;padding:0 32px;}

/* NAV */
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:22px 32px;background:var(--white);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:50;
}
.nav-logo{font-size:22px;font-weight:700;letter-spacing:0.02em;}
.nav-logo span{color:var(--gold);}
.nav-links{display:flex;align-items:center;gap:30px;font-size:14px;font-family:Arial,sans-serif;font-weight:600;}
.nav-links a{opacity:0.85;}
.nav-links a:hover{opacity:1;}
.nav-phone{font-size:14px;font-family:Arial,sans-serif;font-weight:600;color:var(--grey);}

/* HERO */
.hero{
  background-image:linear-gradient(180deg, rgba(11,20,31,0.55) 0%, rgba(11,20,31,0.75) 100%), url('https://images.pexels.com/photos/18071382/pexels-photo-18071382.jpeg?auto=compress&cs=tinysrgb&w=1600');
  background-size:cover; background-position:center;
  color:var(--white); padding:90px 0 70px; text-align:center;
}
.hero .eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.hero h1{font-size:44px;line-height:1.25;margin:0 0 18px;text-shadow:0 2px 16px rgba(0,0,0,0.35);}
.hero p{font-family:Arial,sans-serif;font-size:16px;color:#E7EAEE;max-width:52ch;margin:0 auto 40px;}

.search-bar{
  background:var(--white); border-radius:14px; padding:18px;
  display:flex; gap:14px; max-width:820px; margin:0 auto; flex-wrap:wrap;
  box-shadow:0 20px 50px rgba(0,0,0,0.25);
}
.search-field{
  flex:1; min-width:160px; text-align:left; font-family:Arial,sans-serif;
}
.search-field label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:0.05em;color:var(--grey);font-weight:700;margin-bottom:6px;}
.search-field select, .search-field input{
  width:100%; border:none; font-size:14px; color:var(--navy); font-family:Arial,sans-serif;
  background:transparent;
}
.search-btn{
  background:var(--navy); color:var(--white); border:none; border-radius:8px;
  padding:0 28px; font-size:14px; font-weight:700; font-family:Arial,sans-serif; cursor:pointer;
  transition:background .15s ease;
}
.search-btn:hover{background:var(--navy-light);}

/* SECTION HEADINGS */
.section{padding:80px 0;}
.section-head{text-align:center; max-width:640px; margin:0 auto 48px;}
.section-head .eyebrow{font-family:Arial,sans-serif;font-size:12px;letter-spacing:0.1em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.section-head h2{font-size:32px; margin:0 0 14px;}
.section-head p{font-family:Arial,sans-serif;font-size:15px;color:var(--grey);line-height:1.7;margin:0;}

/* LISTINGS */
.listings-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;}
.listing-card{border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:box-shadow .2s ease, transform .2s ease;}
.listing-card:hover{box-shadow:0 20px 40px rgba(27,42,58,0.12);transform:translateY(-3px);}
.listing-photo{
  aspect-ratio:16/10; background-color:#DCE3E9; background-size:cover; background-position:center;
  position:relative; overflow:hidden;
}
.listing-photo video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .35s ease;
}
.listing-card:hover .listing-photo video{ opacity:1; }
.listing-tag{
  position:absolute; top:14px; left:14px; background:var(--gold); color:var(--white);
  font-family:Arial,sans-serif; font-size:11px; font-weight:700; padding:5px 12px; border-radius:999px;
  z-index:2;
}
.listing-hint{
  position:absolute; bottom:12px; right:14px; z-index:2;
  background:rgba(27,42,58,0.75); color:var(--white); font-family:Arial,sans-serif;
  font-size:11px; font-weight:600; padding:5px 10px; border-radius:999px;
  opacity:1; transition:opacity .2s ease;
}
.listing-card:hover .listing-hint{ opacity:0; }
.listing-body{padding:22px;font-family:Arial,sans-serif;}
.listing-price{font-size:20px;font-weight:800;color:var(--navy);margin-bottom:6px;}
.listing-title{font-size:15px;font-weight:700;margin-bottom:4px;}
.listing-loc{font-size:13px;color:var(--grey);margin-bottom:14px;}
.listing-meta{display:flex;gap:16px;font-size:13px;color:var(--navy-light);border-top:1px solid var(--border);padding-top:14px;}

/* WHY US */
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.why-item{text-align:center;font-family:Arial,sans-serif;}
.why-num{font-family:Georgia,serif;font-size:34px;color:var(--gold);margin-bottom:10px;}
.why-item h3{font-size:16px;margin:0 0 10px;}
.why-item p{font-size:14px;color:var(--grey);line-height:1.7;margin:0;}

/* CONTACT / CTA */
.cta{background:var(--cream);padding:80px 0;text-align:center;}
.cta h2{font-size:30px;margin:0 0 16px;}
.cta p{font-family:Arial,sans-serif;font-size:15px;color:var(--grey);max-width:50ch;margin:0 auto 30px;}
.btn-navy{
  display:inline-block;background:var(--navy);color:var(--white);border:none;border-radius:8px;
  padding:15px 34px;font-family:Arial,sans-serif;font-size:14px;font-weight:700;cursor:pointer;
}

footer{
  padding:30px 32px;border-top:1px solid var(--border);font-family:Arial,sans-serif;
  font-size:13px;color:var(--grey);display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;
}

.demo-banner{
  background:var(--gold); color:var(--white); text-align:center; padding:10px 16px;
  font-family:Arial,sans-serif; font-size:13px; font-weight:600;
}
.demo-banner a{text-decoration:underline;}

@media (max-width:860px){
  .listings-grid, .why-grid{grid-template-columns:1fr;}
  .nav-links{display:none;}
  .search-bar{flex-direction:column;}
}
