:root{
  --navy:#0b2545;
  --gold:#b8873d;
  --gold-light:#d4a960;
  --cream:#f7f3ea;
  --text:#2b2b2b;
  --muted:#6b6b6b;
}

*{box-sizing:border-box;margin:0;padding:0;}

html, body{
  height:100%;
}
body{
  font-family:'Georgia', 'Times New Roman', serif;
  color:var(--text);
  background:#fff;
  line-height:1.6;
  display:flex;
  flex-direction:column;
  min-height:100vh;
}

img{max-width:100%;display:block;}

a{text-decoration:none;color:inherit;}

.container{
  max-width:1140px;
  margin:0 auto;
  padding:0 24px;
}

section{padding:70px 0; scroll-margin-top:80px;}

h1,h2,h3,h4{
  font-family:'Georgia', serif;
  color:var(--navy);
  font-weight:600;
}

.section-title{
  text-align:center;
  font-size:2rem;
  margin-bottom:8px;
  letter-spacing:0.5px;
}

.section-sub{
  text-align:center;
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:2px;
  font-size:0.85rem;
  margin-bottom:16px;
  font-family:Arial, sans-serif;
}

.section-divider{
  width:60px;
  height:3px;
  background:var(--gold);
  margin:0 auto 40px;
}

/* Site Header */
.site-header{
  background:transparent;
  box-shadow:none;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:800;
  transition:background 0.25s ease, box-shadow 0.25s ease;
}
.site-header.stuck{
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,0.08);
}
.site-header .nav-link,
.site-header .site-logo{
  transition:filter 0.25s ease;
}
.site-header:not(.stuck) .nav-link{
  color:#fff;
}
.site-header:not(.stuck) .nav-link.active{
  color:var(--gold-light);
}
.site-header:not(.stuck) .site-logo{
  filter:brightness(0) invert(1);
}
.site-header:not(.stuck) .nav-toggle span{
  background:#fff;
}
.header-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:12px 24px;
}
.site-logo{
  height:44px;
  width:auto;
  flex-shrink:0;
}
.main-nav{
  display:flex;
  gap:22px;
  flex:1;
  justify-content:center;
  font-family:Arial, sans-serif;
}
.nav-link{
  color:var(--navy);
  font-size:0.86rem;
  font-weight:normal;
  letter-spacing:0.5px;
  padding:6px 2px;
  border-bottom:2px solid transparent;
  transition:color 0.2s ease, border-color 0.2s ease;
}
.nav-link:hover{color:var(--gold);}
.nav-link.active{
  color:var(--gold);
  border-bottom-color:var(--gold);
}
.header-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-shrink:0;
}
.call-btn{
  background:var(--navy);
  color:#fff;
  padding:10px 16px;
  border-radius:4px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-shrink:0;
  font-weight:bold;
  font-family:Arial, sans-serif;
  font-size:0.82rem;
  white-space:nowrap;
  transition:background 0.2s ease;
}
.call-btn:hover{background:var(--gold);}

.nav-toggle{
  display:none;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  width:32px;
  height:32px;
  background:none;
  border:none;
  cursor:pointer;
}
.nav-toggle span{
  display:block;
  height:2px;
  width:100%;
  background:var(--navy);
}

@media (max-width:900px){
  .main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:0;
    background:#fff;
    flex-direction:column;
    align-items:flex-start;
    padding:0 24px;
    max-height:0;
    overflow:hidden;
    gap:0;
    box-shadow:0 4px 10px rgba(0,0,0,0.08);
    transition:max-height 0.3s ease;
  }
  .main-nav.open{
    max-height:400px;
    padding:14px 24px;
  }
  .nav-link{
    padding:10px 0;
    width:100%;
    border-bottom:1px solid #eee;
  }
  .call-btn span{display:none;}
  .call-btn{padding:10px;}
  .nav-toggle{display:flex;}
  .site-header:not(.stuck) .main-nav .nav-link{color:var(--navy);}
  .site-header:not(.stuck) .main-nav .nav-link.active{color:var(--gold);}
}

/* Hero */
.hero{
  position:relative;
  min-height:90vh;
  display:flex;
  align-items:center;
  color:#fff;
  overflow:hidden;
}
.hero img.banner{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.hero::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(11,37,69,0.55) 0%, rgba(11,37,69,0.75) 100%);
  z-index:1;
}
.hero .container{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:18px;
  /* margin:0;
  padding-left:80px; */
}
.hero .badge-upcoming{
  background:var(--gold);
  color:#fff;
  padding:6px 18px;
  border-radius:3px;
  font-family:Arial, sans-serif;
  letter-spacing:2px;
  text-transform:uppercase;
  font-size:0.8rem;
  font-weight:bold;
}
.hero h1{
  font-size:3.2rem;
  color:#fff;
  line-height:1.1;
}
.hero p.location{
  font-size:1rem;
  font-family:Arial, sans-serif;
  color:#e6d9c3;
}
.hero p.price{
  font-size:1.6rem;
  color:var(--gold-light);
  font-weight:bold;
  font-family:Arial, sans-serif;
}
.hero p.tagline{
  font-size:1.1rem;
  font-family:'Georgia', serif;
  font-style:italic;
  color:#f2ece0;
  max-width:600px;
}
.hero .cta-row{
  display:flex;
  gap:16px;
  margin-top:10px;
  flex-wrap:wrap;
}
.btn{
  display:inline-block;
  padding:14px 30px;
  border-radius:3px;
  font-family:Arial, sans-serif;
  font-weight:bold;
  letter-spacing:1px;
  text-transform:uppercase;
  font-size:0.85rem;
  cursor:pointer;
  border:2px solid var(--gold);
  transition:all 0.25s ease;
}
.btn-primary{
  background:var(--gold);
  color:#fff;
}
.btn-primary:hover{background:var(--gold-light); border-color:var(--gold-light);}
.btn-outline{
  background:transparent;
  color:#fff;
  border:2px solid #fff;
}
.btn-outline:hover{background:#fff; color:var(--navy);}
.btn-outline-navy{
  background:transparent;
  color:var(--navy);
  border:2px solid var(--navy);
}
.btn-outline-navy:hover{background:var(--navy); color:#fff;}

/* Thank You Page */
.thankyou-section{
  flex:1;
  min-height:60vh;
  display:flex;
  align-items:center;
}
.thankyou-box{
  max-width:560px;
  margin:0 auto;
  text-align:center;
}
.thankyou-icon{
  margin:0 auto 20px;
  width:80px;
  height:80px;
}
.thankyou-box h1{
  font-size:2.2rem;
  margin-bottom:16px;
}
.thankyou-box p{
  color:var(--muted);
  font-size:1.05rem;
  margin-bottom:28px;
}
.thankyou-actions{
  display:flex;
  gap:16px;
  justify-content:center;
  flex-wrap:wrap;
}

/* Legal Pages (Privacy Policy, Disclaimer, etc.) */
.legal-hero{
  background:var(--navy);
  color:#fff;
  text-align:center;
  padding:60px 0;
}
.legal-hero h1{
  color:#fff;
  font-size:2.4rem;
  margin-bottom:12px;
}
.legal-hero-sub{
  color:#e6d9c3;
  font-family:Arial, sans-serif;
  max-width:600px;
  margin:0 auto;
}
.legal-section{
  padding:60px 0;
}
.legal-card{
  max-width:900px;
  margin:0 auto;
  background:var(--cream);
  border-radius:8px;
  padding:40px;
}
.legal-card h2{
  font-size:1.4rem;
  margin-bottom:14px;
  padding-left:14px;
  border-left:4px solid var(--gold);
}
.legal-card h3{
  color:var(--gold);
  font-size:1.05rem;
  margin:24px 0 8px;
  font-family:Arial, sans-serif;
}
.legal-card p{
  color:var(--muted);
  font-family:Arial, sans-serif;
  font-size:0.95rem;
  line-height:1.8;
  margin-bottom:14px;
}

/* Overview */
.overview-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:24px;
  margin-top:20px;
}
.stat-card{
  background:var(--cream);
  padding:28px 18px;
  text-align:center;
  border-radius:6px;
  border-top:3px solid var(--gold);
}
.stat-card .num{
  font-size:1.6rem;
  color:var(--navy);
  font-weight:bold;
  margin-bottom:6px;
}
.stat-card .label{
  font-family:Arial, sans-serif;
  color:var(--muted);
  font-size:0.85rem;
  text-transform:uppercase;
  letter-spacing:0.5px;
}
.overview-text{
  max-width:800px;
  margin:0 auto 40px;
  text-align:center;
  color:var(--muted);
  font-size:1.05rem;
}

/* Price table */
.price-table-wrap{
  max-width:900px;
  margin:0 auto;
  overflow-x:auto;
}
table.price-table{
  width:100%;
  border-collapse:collapse;
  font-family:Arial, sans-serif;
}
table.price-table th{
  background:var(--navy);
  color:#fff;
  padding:16px;
  text-transform:uppercase;
  letter-spacing:1px;
  font-size:0.85rem;
}
table.price-table td{
  padding:16px;
  text-align:center;
  border-bottom:1px solid #e5e0d5;
  /* background:var(--cream); */
  background: #fdfbf6;
}
/* table.price-table tr:nth-child(even) td{background:#fdfbf6;} */
.price-note{
  text-align:center;
  color:var(--muted);
  font-size:0.85rem;
  margin-top:16px;
  font-family:Arial, sans-serif;
}
.download-cta{
  text-align:center;
  margin-top:30px;
}

/* Highlights */
.highlights-bg{
  background:var(--cream);
}
.highlights-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:30px;
  margin-top:20px;
}
.highlight-card{
  text-align:center;
  padding:20px;
}
.highlight-card .icon{
  width:64px;
  height:64px;
  margin:0 auto 16px;
  border-radius:50%;
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:1.8rem;
  border:2px solid var(--gold);
}
.highlight-card h3{
  font-size:1.05rem;
  margin-bottom:6px;
}
.highlight-card p{
  font-family:Arial, sans-serif;
  color:var(--muted);
  font-size:0.9rem;
}

/* Floor Plans */
.floorplan-tabs{
  display:flex;
  justify-content:center;
  gap:12px;
  margin-bottom:30px;
  flex-wrap:wrap;
  font-family:Arial, sans-serif;
}
.floorplan-tabs button{
  padding:10px 24px;
  border:1px solid var(--gold);
  background:#fff;
  color:var(--navy);
  border-radius:30px;
  cursor:pointer;
  font-weight:bold;
  font-size:0.85rem;
  transition:all 0.2s ease;
}
.floorplan-tabs button.active,
.floorplan-tabs button:hover{
  background:var(--gold);
  color:#fff;
}
.floorplan-panel{
  display:none;
  text-align:center;
}
.floorplan-panel.active{display:block;}
.floorplan-card{
  background:var(--cream);
  border-radius:8px;
  padding:40px;
  max-width:600px;
  margin:0 auto;
}
.floorplan-card .fp-icon{
  font-size:3rem;
  margin-bottom:16px;
}
.floorplan-card h3{margin-bottom:10px;}
.floorplan-card .fp-specs{
  display:flex;
  justify-content:center;
  gap:30px;
  margin:20px 0;
  font-family:Arial, sans-serif;
}
.floorplan-card .fp-specs div .num{
  font-size:1.3rem;
  color:var(--gold);
  font-weight:bold;
  display:block;
}
.floorplan-card .fp-specs div .lbl{
  font-size:0.8rem;
  color:var(--muted);
  text-transform:uppercase;
}

/* Location */
.location-bg{background:var(--cream);}
.location-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:center;
}
.location-list{
  list-style:none;
  font-family:Arial, sans-serif;
}
.location-list li{
  padding:12px 0;
  border-bottom:1px solid #e5e0d5;
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.location-list li .pin{color:var(--gold); font-weight:bold;}
.map-embed{
  position:relative;
  width:100%;
  padding-bottom:75%;
  border-radius:8px;
  overflow:hidden;
  border:1px solid #e5e0d5;
}
.map-embed iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}

/* Developer */
.developer-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}
.developer-grid h2{font-size:1.8rem; margin-bottom:16px; text-align:left;}
.developer-grid p{
  color:var(--muted);
  margin-bottom:16px;
}
.developer-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:20px;
  margin-top:24px;
}
.developer-stats div{
  text-align:center;
  padding:10px;
  background:var(--cream);
  border-radius:6px;
}
.developer-stats .num{
  font-size:1.4rem;
  color:var(--navy);
  font-weight:bold;
  font-family:Arial, sans-serif;
}
.developer-stats .lbl{
  font-size:0.8rem;
  color:var(--muted);
  font-family:Arial, sans-serif;
  text-transform:uppercase;
}
.developer-logo{
  background:var(--navy);
  border-radius:8px;
  min-height:280px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--gold-light);
  font-size:2rem;
  font-weight:bold;
  letter-spacing:2px;
}

/* FAQs */
.faq-bg{background:var(--cream);}
.faq-list{
  max-width:800px;
  margin:0 auto;
}
.faq-item{
  background:#fff;
  border-radius:6px;
  margin-bottom:14px;
  overflow:hidden;
  border:1px solid #e5e0d5;
}
.faq-question{
  padding:12px 22px;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-family:Arial, sans-serif;
  color:var(--navy);
}
.faq-question .plus{
  color:var(--gold);
  font-size:1.3rem;
  transition:transform 0.2s ease;
}
.faq-item.open .faq-question .plus{transform:rotate(45deg);}
.faq-answer{
  max-height:0;
  overflow:hidden;
  transition:max-height 0.3s ease;
  font-family:Arial, sans-serif;
  color:var(--muted);
  font-size:0.92rem;
}
.faq-item.open .faq-answer{max-height:300px;}
.faq-answer p{padding:0 22px 18px;}

/* Enquiry form section */
.enquiry-bg{
  background:var(--navy);
  color:#fff;
}
.enquiry-bg .section-title{color:#fff;}
.enquiry-form{
  max-width:600px;
  margin:0 auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  font-family:Arial, sans-serif;
}
.enquiry-form input,
.enquiry-form textarea{
  width:100%;
  box-sizing:border-box;
  padding:14px;
  border:none;
  border-radius:4px;
  font-size:0.95rem;
  font-family:Arial, sans-serif;
}
.enquiry-form textarea{
  resize:vertical;
}
.enquiry-form .field-icon:last-of-type,
.enquiry-form button,
.enquiry-form .field-icon,
.enquiry-form .phone-row{
  grid-column:1 / -1;
}
.enquiry-form .field-icon{
  position:relative;
  color:var(--muted);
}
.enquiry-form .field-icon svg{
  position:absolute;
  left:14px;
  top:50%;
  transform:translateY(-50%);
  pointer-events:none;
}
.enquiry-form .field-icon input{
  padding-left:40px;
}
.enquiry-form .field-icon-textarea svg{
  top:24px;
  transform:none;
}
.enquiry-form .field-icon-textarea textarea{
  padding-left:40px;
}
.enquiry-form .phone-row{
  display:flex;
  position:relative;
}
.enquiry-form .phone-row .phone-icon{
  position:absolute;
  left:106px;
  top:50%;
  transform:translateY(-50%);
  color:var(--muted);
  pointer-events:none;
}
.enquiry-form .phone-row input{
  flex:1;
  min-width:0;
  border-radius:0 4px 4px 0;
  padding-left:36px;
}
.enquiry-form select.country_code{
  flex:0 0 90px;
  padding:14px 6px;
  border:none;
  border-right:1px solid #e5e0d5;
  border-radius:4px 0 0 4px;
  font-size:0.9rem;
  background:#fff;
  color:var(--text);
}
.enquiry-form button{
  padding:14px;
  border:none;
  border-radius:4px;
  background:var(--gold);
  color:#fff;
  font-weight:bold;
  letter-spacing:1px;
  text-transform:uppercase;
  cursor:pointer;
}
.enquiry-form button:hover{background:var(--gold-light);}

/* Floating Buttons */
.float-btn{
  position:fixed;
  bottom:24px;
  width:58px;
  height:58px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 4px 14px rgba(0,0,0,0.3);
  z-index:900;
  transition:transform 0.2s ease;
}
.float-btn:hover{transform:scale(1.08);}
.float-call{
  left:24px;
  background:var(--navy);
}
.float-whatsapp{
  right:24px;
  background:#25D366;
}
@media (max-width:600px){
  .float-btn{
    width:50px;
    height:50px;
    bottom:16px;
  }
  .float-call{left:16px;}
  .float-whatsapp{right:16px;}
}

/* Enquiry Modal */
.modal-overlay{
  position:fixed;
  inset:0;
  background:rgba(11,37,69,0.65);
  display:none;
  align-items:center;
  justify-content:center;
  z-index:1000;
  padding:20px;
}
.modal-overlay.open{display:flex;}
.modal-box{
  position:relative;
  background:var(--cream);
  color:var(--text);
  border-radius:8px;
  max-width:480px;
  width:100%;
  padding:40px 32px;
  text-align:center;
  animation:modalPop 0.25s ease;
}
@keyframes modalPop{
  from{opacity:0; transform:translateY(-10px) scale(0.98);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
.modal-title{
  color:var(--navy);
  font-size:1.5rem;
  margin-bottom:8px;
  text-align:center;
}
.modal-close{
  position:absolute;
  top:12px;
  right:16px;
  background:none;
  border:none;
  color:var(--navy);
  font-size:1.8rem;
  line-height:1;
  cursor:pointer;
}
.modal-close:hover{color:var(--gold);}
.modal-box .enquiry-form{margin-top:10px;}
.modal-box .enquiry-form input{
  border:1px solid #d8d2c2;
}
.modal-box .enquiry-form .phone-row{
  border:1px solid #d8d2c2;
  border-radius:4px;
}
.modal-box .enquiry-form .phone-row input{
  border:none;
}
.modal-box .enquiry-form select.country_code{
  border:none;
  border-right:1px solid #d8d2c2;
}

/* Footer */
footer{
  background:#081b34;
  color:#a9b7cc;
  text-align:center;
  padding:24px 0;
  font-family:Arial, sans-serif;
  font-size:0.8rem;
}
footer strong{color:#fff;}
.footer-links{
  margin-bottom:8px;
}
.footer-links a{
  color:#a9b7cc;
  text-decoration:underline;
}
.footer-links a:hover{color:#fff;}

/* Disclaimer */
.disclaimer{
  background:#f0eee7;
  padding:16px 0;
  font-family:Arial, sans-serif;
  font-size:0.75rem;
  color:var(--muted);
  text-align:center;
}

/* Responsive */
@media (max-width:900px){
  .overview-grid{grid-template-columns:repeat(2,1fr);}
  .highlights-grid{grid-template-columns:repeat(2,1fr);}
  .location-grid,.developer-grid{grid-template-columns:1fr;}
  .hero h1{font-size:2.2rem;}
  .hero .container{padding-left:24px;}
}
@media (max-width:768px){
  .developer-logo{
    min-height:100px;
    font-size:1.5rem;}
}
@media (max-width:600px){
  .overview-grid{grid-template-columns:1fr;}
  .highlights-grid{grid-template-columns:1fr;}
  .enquiry-form{grid-template-columns:1fr;}
  section{padding:50px 0;}
}
