/* Crown Heights — custom styles */
:root{
  --gold:        #d4af37;
  --gold-dark:   #b8860b;
  --navy:        #0d2c54;
  --navy-deep:   #081c3a;
  --ink:         #1b1f24;
  --muted:       #6c757d;
  --bg:          #f6f8fb;
}

*{ scroll-behavior: smooth; }
body{
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  background: var(--bg);
  color: var(--ink);
}

/* Top thin info bar */
.topbar{
  background: var(--navy-deep);
  color: #cfd8e8;
  font-size: .82rem;
  padding: .35rem 0;
}
.topbar a{ color:#fff; text-decoration:none; }
.topbar a:hover{ color: var(--gold); }

/* Navbar */
.navbar-ch{ background: var(--navy) !important; }
.navbar-ch .navbar-brand{ color:#fff; display:flex; align-items:center; gap:.6rem; }
.navbar-ch .navbar-brand img{ width: 56px; height:auto; }
.navbar-ch .nav-link{ color:#dbe4f3 !important; font-weight:500; }
.navbar-ch .nav-link:hover,
.navbar-ch .nav-link.active{ color: var(--gold) !important; }
.btn-gold{
  background: linear-gradient(90deg, var(--gold-dark), var(--gold));
  color:#fff !important; border:none; font-weight:600;
}
.btn-gold:hover{ filter: brightness(1.05); color:#fff; }

/* Hero */
.hero{
  position: relative;
  min-height: 86vh;
  background: linear-gradient(rgba(8,28,58,.55), rgba(8,28,58,.55)),
              url('../images/ch-hero.jpg') center 4%/cover no-repeat;
  color:#fff;
  display:flex; align-items:center;
}
.hero .badge-pill{
  display:inline-block;
  background: rgba(212,175,55,.15);
  border:1px solid var(--gold);
  color: var(--gold);
  padding:.35rem .9rem;
  border-radius: 999px;
  font-size:.85rem;
  letter-spacing:.08em;
  text-transform: uppercase;
  margin-bottom:1rem;
}
.hero h1{ font-weight:800; font-size: clamp(2.2rem, 5vw, 4rem); line-height:1.1; }
.hero h1 .accent{ color: var(--gold); }
.hero p.lead{ max-width: 640px; margin: 1rem auto 1.5rem; opacity:.92; }

/* Section heading */
.section{ padding: 5rem 0; }
.section-title{ text-align:center; margin-bottom: 3rem; }
.section-title small{
  color: var(--gold-dark); letter-spacing:.2em; font-weight:700; text-transform:uppercase;
}
.section-title h2{ font-weight:800; margin-top:.4rem; color: var(--navy); }
.section-title .underline{
  width:60px; height:3px; background: var(--gold); margin: .8rem auto 0; border-radius: 3px;
}

/* Highlight stat cards */
.stat-card{
  background:#fff; border-radius: 14px; padding: 1.5rem;
  box-shadow: 0 6px 20px rgba(13,44,84,.06);
  border-top: 4px solid var(--gold);
  height:100%;
}
.stat-card .num{ color: var(--navy); font-weight:800; font-size:1.8rem; }
.stat-card .lbl{ color: var(--muted); font-size:.95rem; }

/* Amenity card */
.amenity{
  background:#fff; border-radius: 14px; padding:1.4rem;
  box-shadow: 0 4px 14px rgba(13,44,84,.05);
  height:100%; transition: transform .18s ease, box-shadow .18s ease;
}
.amenity:hover{ transform: translateY(-4px); box-shadow: 0 12px 28px rgba(13,44,84,.10); }
.amenity .icon{
  width:52px; height:52px; border-radius:12px;
  background: rgba(212,175,55,.12); color: var(--gold-dark);
  display:flex; align-items:center; justify-content:center; margin-bottom:.9rem;
  font-size:1.4rem;
}
.amenity h6{ font-weight:700; color: var(--navy); }
.amenity p{ color: var(--muted); margin:0; font-size:.95rem; }

/* Price plan */
.plan-wrap{ background:#fff; border-radius: 16px; padding:2rem; box-shadow: 0 8px 24px rgba(13,44,84,.06); }
.plan-table thead th{
  background: var(--navy); color:#fff; text-align:center;
  font-weight:600; font-size:.92rem; vertical-align: middle;
}
.plan-table th.row-head{ background: var(--gold); color:#fff; }
.plan-table td{ vertical-align: middle; text-align:center; }
.plan-table tbody tr:nth-child(odd){ background:#f8fafd; }
.plan-summary{
  background: linear-gradient(135deg, var(--navy), var(--navy-deep));
  color:#fff; border-radius:14px; padding:1.6rem; height:100%;
}
.plan-summary .row-line{ display:flex; justify-content:space-between; padding:.55rem 0; border-bottom:1px dashed rgba(255,255,255,.18); }
.plan-summary .row-line:last-child{ border-bottom:0; }
.plan-summary .label{ opacity:.85; }
.plan-summary .value{ color: var(--gold); font-weight:700; }

/* Gallery */
.gallery-item{
  position: relative; overflow:hidden; border-radius:12px;
  box-shadow: 0 6px 16px rgba(13,44,84,.06);
}
.gallery-item img{ width:100%; height:260px; object-fit:cover; transition: transform .4s ease; }
.gallery-item:hover img{ transform: scale(1.06); }
.gallery-item .cap{
  position:absolute; left:0; right:0; bottom:0;
  padding: .6rem .9rem;
  background: linear-gradient(transparent, rgba(0,0,0,.65));
  color:#fff; font-size:.9rem;
}

/* Video block */
.video-block{ background:#fff; border-radius:14px; overflow:hidden; box-shadow: 0 6px 20px rgba(13,44,84,.06); }
.video-block video{ width:100%; display:block; background:#000; }

/* Floor plan / Terms image */
.image-card{ background:#fff; border-radius:14px; padding:1rem; box-shadow: 0 6px 20px rgba(13,44,84,.06); }
.image-card img{ width:100%; height:auto; border-radius:10px; }

/* Location */
.location-card{
  background:#fff; border-radius:14px; padding:1.5rem;
  box-shadow: 0 6px 20px rgba(13,44,84,.06); height:100%;
}
.location-card .map-frame{ border-radius:10px; overflow:hidden; height: 360px; }
.location-card iframe{ width:100%; height:100%; border:0; }

/* Team */
.team-card{
  background:#fff; border-radius: 14px; padding: 1.6rem 1.2rem;
  box-shadow: 0 6px 20px rgba(13,44,84,.06);
  height: 100%;
  transition: transform .2s ease, box-shadow .2s ease;
}
.team-card:hover{ transform: translateY(-4px); box-shadow: 0 14px 30px rgba(13,44,84,.12); }
.team-photo-wrap{
  width: 130px; height: 130px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #fff;
  box-shadow: 0 4px 14px rgba(13,44,84,.15);
  background: #eef2f7;
  position: relative;
}
.team-photo-wrap::after{
  content: ""; position:absolute; inset:-4px; border-radius:50%;
  border: 2px solid var(--gold); opacity: .6; pointer-events: none;
}
.team-photo-wrap img{ width:100%; height:100%; object-fit: cover; display:block; }
.team-card h5{ color: var(--navy); font-weight: 700; }
.team-card .role{ color: var(--gold-dark); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; font-size: .78rem; }
.team-social a{
  display: inline-flex; align-items:center; justify-content:center;
  width: 36px; height: 36px; border-radius: 50%;
  background: #f0f3f8; color: var(--navy);
  margin: 0 .15rem; text-decoration: none;
  transition: background .2s ease, color .2s ease, transform .2s ease;
}
.team-social a:hover{ background: var(--gold); color: #fff; transform: translateY(-2px); }

/* CTA strip */
.cta{
  background: linear-gradient(135deg, var(--navy), var(--navy-deep));
  color:#fff; padding: 3.5rem 0; text-align:center;
}
.cta h3{ font-weight:800; }
.cta .btn-gold{ padding: .7rem 1.6rem; font-size:1.05rem; }

/* Footer */
footer.site-footer{ background: #0a1f3d; color:#cfd8e8; padding: 3rem 0 1.2rem; }
footer.site-footer h6{ color:#fff; }
footer.site-footer a{ color:#cfd8e8; text-decoration:none; }
footer.site-footer a:hover{ color: var(--gold); }
footer.site-footer .footer-logo{ width:120px; height:auto; }
footer.site-footer .social-link{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:8px;
  background: rgba(255,255,255,.06); margin-right:.4rem;
  transition: background .2s ease, transform .2s ease;
}
footer.site-footer .social-link:hover{ background: var(--gold); transform: translateY(-3px); }
footer.site-footer .social-link svg{ width:18px; height:18px; fill:#fff; }
footer.site-footer .social-link i{ font-size:18px; line-height:1; color:#fff; }
footer.site-footer .social-whatsapp{ background:#25D366; }
footer.site-footer .social-whatsapp:hover{ background:#1ebe57; }

/* Sticky WhatsApp button */
.wa-fab{
  position: fixed; right: 18px; bottom: 18px; z-index: 999;
  background:#25D366; color:#fff !important;
  width:56px; height:56px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 25px rgba(37,211,102,.4);
  transition: transform .2s ease;
}
.wa-fab:hover{ transform: scale(1.08); }
.wa-fab svg{ width:28px; height:28px; fill:#fff; }
.wa-fab i{ font-size:28px; line-height:1; color:#fff; }

/* Responsive */
@media (max-width: 767px){
  .hero{ min-height: 76vh; }
  .section{ padding: 3.5rem 0; }
  .gallery-item img{ height: 220px; }
  .plan-wrap{ padding: 1rem; }
}
