:root{
  --navy:#0B3D3A;
  --navy-dark:#082e2b;
  --gold:#C9A227;
  --gold-dark:#8f7418;
  --cream:#F7F4EC;
  --gray:#5b6462;
  --white:#ffffff;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%;}
html,body{max-width:100%;width:100%;overflow-x:hidden;}
body{font-family:Arial,Helvetica,sans-serif;color:#232b29;background:var(--white);line-height:1.55;}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);}
a{text-decoration:none;color:inherit;}
img,svg{max-width:100%;display:block;}
.container{max-width:1140px;margin:0 auto;padding:0 24px;}
.btn{display:inline-block;padding:13px 28px;border-radius:4px;font-weight:bold;font-size:15px;cursor:pointer;border:none;transition:opacity .2s;}
.btn:hover{opacity:.88;}
.btn-gold{background:var(--gold);color:var(--navy-dark);}
.btn-outline{background:transparent;color:var(--white);border:2px solid var(--white);}
.btn-navy{background:var(--navy);color:var(--white);}
.btn-outline-navy{background:transparent;color:var(--navy);border:2px solid var(--navy);}
.btn-block{width:100%;text-align:center;}

/* Header */
header{position:relative;background:var(--white);box-shadow:0 1px 6px rgba(0,0,0,.08);z-index:100;}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:10px 24px;max-width:1140px;margin:0 auto;}
.logo-svg{width:170px;}
nav ul{list-style:none;display:flex;gap:32px;}
nav a{font-weight:bold;color:var(--navy);font-size:15px;}
nav a:hover{color:var(--gold-dark);}
.menu-toggle{display:none;background:none;border:none;font-size:26px;color:var(--navy);cursor:pointer;}

/* Hero */
.hero{background:linear-gradient(135deg,var(--navy) 0%,var(--navy-dark) 100%);color:var(--white);padding:100px 24px 90px;text-align:center;}
.hero h1{color:var(--white);font-size:44px;max-width:760px;margin:0 auto 18px;}
.hero p{max-width:560px;margin:0 auto 34px;font-size:18px;color:#dfe8e5;}
.hero .cta-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.hero.hero-small{padding:56px 24px 48px;text-align:left;}
.hero.hero-small h1{font-size:32px;margin:0 0 8px;}
.hero.hero-small .breadcrumb{font-size:13px;color:#b9c9c5;}
.hero.hero-small .breadcrumb a{color:#e7d9a9;}

/* Section titles */
.section{padding:80px 0;}
.section-title{text-align:center;margin-bottom:12px;font-size:32px;}
.section-sub{text-align:center;color:var(--gray);max-width:560px;margin:0 auto 48px;}
.section-alt{background:var(--cream);}

/* Property category groups */
.category-block{margin-bottom:56px;scroll-margin-top:76px;}
.category-block:last-child{margin-bottom:0;}
.category-header{display:flex;align-items:baseline;gap:12px;margin-bottom:22px;border-bottom:2px solid var(--gold);padding-bottom:10px;}
.category-header h3{font-size:22px;}
.category-header span{color:var(--gray);font-size:13px;}

/* Properties */
.grid-props{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;}
.card{background:var(--white);border-radius:8px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.08);display:flex;flex-direction:column;}
.card-photo{height:190px;display:flex;align-items:center;justify-content:center;color:var(--white);position:relative;text-align:center;padding:0 16px;}
.card-photo span{font-size:13px;background:rgba(0,0,0,.28);padding:4px 10px;border-radius:3px;}
.card-photo span.tag{position:absolute;top:12px;left:12px;background:var(--gold);color:var(--navy-dark);font-size:12px;font-weight:bold;padding:4px 10px;border-radius:3px;}
.card-body{padding:20px;flex:1;display:flex;flex-direction:column;}
.card-body h3{font-size:19px;margin-bottom:4px;}
.price{color:var(--gold-dark);font-weight:bold;font-size:20px;margin:6px 0 10px;}
.location{color:var(--gray);font-size:14px;margin-bottom:12px;}
.features{list-style:none;display:flex;gap:14px;font-size:13px;color:var(--gray);margin-bottom:18px;flex-wrap:wrap;}
.card-body .desc{font-size:13px;color:var(--gray);margin-bottom:14px;}
.card-actions{margin-top:auto;display:flex;flex-direction:column;gap:8px;align-items:center;}
.card-actions .quick-link{font-size:13px;color:var(--navy);text-decoration:underline;}

/* About */
.about-wrap{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;}
.about-wrap .stat{display:flex;gap:28px;margin-top:28px;flex-wrap:wrap;}
.stat div strong{display:block;font-size:28px;color:var(--navy);font-family:Georgia,serif;}
.stat div span{font-size:13px;color:var(--gray);}
.about-photo{height:320px;border-radius:8px;background:linear-gradient(135deg,var(--gold) 0%,var(--navy) 100%);display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;}

/* Contact */
.contact-wrap{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;}
.contact-info h3{margin-bottom:14px;}
.contact-info p{margin-bottom:10px;color:var(--gray);}
.contact-info .label{color:var(--navy);font-weight:bold;}
.social-row{display:flex;gap:12px;margin-top:22px;}
.social-btn{width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:bold;font-size:16px;}
.social-btn:hover{background:var(--gold-dark);}

form{background:var(--white);padding:32px;border-radius:8px;box-shadow:0 4px 18px rgba(0,0,0,.08);}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
form label{display:block;font-size:13px;font-weight:bold;color:var(--navy);margin:14px 0 6px;}
form input, form select, form textarea{width:100%;padding:11px;border:1px solid #d8d8d8;border-radius:4px;font-size:14px;font-family:inherit;}
form textarea{resize:vertical;min-height:90px;}
form button{margin-top:20px;width:100%;}
.form-note{font-size:12px;color:var(--gray);margin-top:12px;}

footer{background:var(--navy-dark);color:#cdd6d3;padding:44px 24px 22px;}
.footer-wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;margin-bottom:24px;}
footer .logo-svg{filter:brightness(0) invert(1);width:150px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;font-size:13px;text-align:center;color:#8fa19c;}

/* ---- Property detail page ---- */
.detail-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:48px;align-items:start;}

.carousel{position:relative;width:100%;max-width:100%;border-radius:8px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.1);}
.carousel-track{display:flex;width:100%;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel-slide{flex:0 0 100%;width:100%;max-width:100%;min-width:0;aspect-ratio:4/3;scroll-snap-align:start;scroll-snap-stop:always;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center;padding:0 30px;font-size:14px;background:var(--navy);overflow:hidden;}
.carousel-slide img{width:100%;height:100%;max-width:100%;object-fit:cover;padding:0;display:block;}
.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);background:rgba(8,46,43,.55);color:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;}
.carousel-btn:hover{background:rgba(8,46,43,.85);}
.carousel-prev{left:14px;}
.carousel-next{right:14px;}
.carousel-dots{display:flex;justify-content:center;gap:8px;margin-top:14px;}
.carousel-dots button{width:9px;height:9px;border-radius:50%;border:none;background:#d8d8d8;cursor:pointer;padding:0;}
.carousel-dots button.active{background:var(--gold-dark);}
.photo-note{font-size:12px;color:var(--gray);margin-top:10px;text-align:center;}

.detail-price-box{background:var(--cream);border-radius:8px;padding:26px;}
.detail-price-box .price{font-size:26px;}
.detail-price-box .location{margin-bottom:18px;}
.spec-list{list-style:none;margin:18px 0;}
.spec-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid #e6e0d0;font-size:14px;}
.spec-list li span:first-child{color:var(--gray);}
.spec-list li span:last-child{font-weight:bold;color:var(--navy);}

.detail-body{margin-top:44px;}
.detail-body h2{font-size:24px;margin-bottom:14px;}
.detail-body p{color:var(--gray);margin-bottom:14px;}
.amenities-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;margin:18px 0 8px;}
.amenities-grid div{background:var(--cream);border-radius:6px;padding:12px 14px;font-size:13px;color:var(--navy);}

.status-banner{background:#fff4d6;border:1px solid var(--gold);color:#6b5410;padding:14px 18px;border-radius:6px;font-size:14px;margin-bottom:28px;}

@media (max-width:820px){
  .about-wrap, .contact-wrap, .detail-layout{grid-template-columns:1fr;}
  .hero h1{font-size:32px;}
}
@media (max-width:680px){
  nav ul{position:absolute;top:64px;left:0;right:0;background:var(--white);flex-direction:column;padding:18px 24px;gap:18px;display:none;box-shadow:0 6px 14px rgba(0,0,0,.1);}
  nav ul.open{display:flex;}
  .menu-toggle{display:block;}
  .form-row{grid-template-columns:1fr;}
  .container{padding:0 18px;}
  .hero.hero-small{padding:40px 18px 32px;}
  .hero.hero-small h1{font-size:26px;}
  .carousel-slide{aspect-ratio:1/1;}
  .detail-price-box{padding:20px;}
  .amenities-grid{grid-template-columns:1fr 1fr;}
}
