:root {
     --white: #ffffff;
     --gold-dark: #938357;
     --gold-light: #f1edd1;
     --lime: #b7e4c7;
     --off-white: #f8faf8;
     --text-dark: #111c15;
     --text-muted: #b69c46;
     --card-bg: #ffffff;
     --border: #e5d9b0;
     --shadow: 0 4px 24px rgba(26,60,43,.10);
}
 *{
    box-sizing:border-box;
}
 html{
    scroll-behavior:smooth;
}
 body{
     font-family:'DM Sans',sans-serif;
     color:var(--text-dark);
     background:var(--off-white);
     overflow-x:hidden;
}
 h1,h2,h3,.display-font{
    font-family: "Playfair Display", serif;
}
a {
   cursor: pointer;
}
.phone-shake {
  display: inline-block; /* IMPORTANT */
  animation: phoneShake 0.8s infinite;
}
.header-call .phone-shake {
    aspect-ratio: 1;
    display: inline-block;
    height: 30px;
    width: 30px;
    color: var(--gold-light);
    border-radius: 50%;
    align-content: center;
    text-align: center;
    font-size: 24px;
    line-height: 1;
    vertical-align: bottom;
}

@keyframes phoneShake {
  0% { transform: rotate(0deg); }
  25% { transform: rotate(-15deg); }
  50% { transform: rotate(15deg); }
  75% { transform: rotate(-10deg); }
  100% { transform: rotate(0deg); }
}
/* ─── NAVBAR ─────────────────────────────────────────── */
.navbar {
    backdrop-filter: blur(12px);
    padding: 0;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
        background: rgba(147, 131, 87, 0.8588235294);
}
 .navbar-brand{
    font-family: "Playfair Display", serif;
    font-size:1.4rem;
    color:var(--white)!important;
    font-weight:700;
}
 .navbar-brand span{
    color:var(--gold-light);
}
 .navbar-brand .logo {
   height: 50px;
   filter: brightness(0) invert(1);
}
 .nav-link {
    color:var(--white)!important;
    font-weight:500;
    font-size:.9rem;
    padding:.4rem .9rem!important;
    border-radius:50px;
    transition:background .2s,color .2s;
}
.header-call .nav-link {
   font-size:1.3rem;
}
 .nav-link:hover,.nav-link.active{
    background: var(--gold-light);
    color:var(--gold-dark)!important;
}
 .btn-nav{
    background:var(--gold-dark);
    color:#fff!important;
    border-radius:8px;
    padding:.45rem 1.2rem!important;
    font-weight:600;
    transition:background .2s,transform .15s;
}
 .btn-nav:hover{
    background:var(--gold-light);
    transform:translateY(-1px);
}
/* ─── HERO ───────────────────────────────────────────── */
 .hero{
     position:relative;
     min-height:auto;
     background:url('../image/intro-bg.webp') center/cover no-repeat;
     display:flex;
    align-items:center;
    padding: 8rem 0 5rem 0;
}
 .hero::before{
     content:'';
    position:absolute;
    inset:0;
     background:linear-gradient(120deg,rgba(0,0,0,.82) 40%,rgba(182,156,70,.35) 100%);
}
 .hero-content{
    position:relative;
    z-index:2;
}
 .hero .intro-text {
   color: var(--gold-dark);
    text-transform: uppercase;
    letter-spacing: 0.3em;
 }
 .hero h1{
    font-size:clamp(2.4rem,5vw,4rem);
    color:#fff;
    line-height:1.15;
    font-weight:500;
}
 .hero h1 em{
    font-style:normal;
    color:var(--gold-light);
}
 .hero p{
    color:rgba(255,255,255,.82);
    font-size:1.05rem;
    max-width:480px;
    line-height:1.75;
}
/* pill tabs inside hero */
 .hero-tabs .nav-item .nav-link{
     background:rgba(255,255,255,.18);
    border:1px solid rgba(255,255,255,.3);
     color:#fff;
    border-radius:50px;
    font-size:.85rem;
    padding:.35rem 1.1rem;
     transition:.2s;
}
 .hero-tabs .nav-item .nav-link.active, .hero-tabs .nav-item .nav-link:hover{
    background:#fff;
    color:var(--gold-dark);
}
/* search box */
 .search-card{
     background:#ffffffd1;
     border-radius:16px;
     padding:1.5rem 1.75rem;
     box-shadow:var(--shadow);
     margin-top:2.5rem;
}
 .search-card label{
    font-size:.75rem;
    font-weight:600;
    color:var(--text-muted);
    text-transform:uppercase;
    letter-spacing:.06em;
    margin-bottom:.3rem;
}
 .search-card .form-control,.search-card .form-select{
     border:1.5px solid var(--border);
    border-radius:10px;
     font-size:.9rem;
    padding:.7rem 1.4rem;
     transition:border-color .2s;
}
 .search-card .form-control:focus,.search-card .form-select:focus{
    border-color:var(--gold-light);
    box-shadow:none;
}
 .search-divider{
    width:1px;
    background:var(--border);
    margin:0 .5rem;
}
 .btn-search{
    background:var(--gold-dark);
    color:#fff;
    border:none;
    border-radius:10px;
    padding:.7rem 1.4rem;
    font-weight:500;
    text-transform: uppercase;
    font-size:.95rem;
    display:flex;
    align-items:center;
    gap:.5rem;
    white-space:nowrap;
    letter-spacing: 1.5px;
    transition:background .2s,transform .15s;
}
 .btn-search:hover{
    background:var(--gold-dark);
    transform:translateY(-1px);
}
/* filter chips */
 .filter-chips .chip{
     display:inline-block;
    border:1.5px solid var(--border);
     border-radius:50px;
    padding:.28rem .9rem;
    font-size:.82rem;
     cursor:pointer;
    transition:.2s;
    user-select:none;
}
 .filter-chips .chip:hover,.filter-chips .chip.active{
     background:var(--gold-dark);
    color:#fff;
    border-color:var(--gold-dark);
}
/* ─── SECTION GENERIC ─────────────────────────────── */
 section{
    padding:5rem 0;
}
 .section-label{
    font-size:.8rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--gold-dark);
    margin-bottom:.5rem;
}
 .section-title{
    font-size:clamp(1.6rem,3vw,2.4rem);
    font-weight:500;
    line-height:1.25;
    color:var(--gold-dark);
}
 .section-body{
    color:var(--gold-dark);
    line-height:1.8;
    font-size:.97rem;
}
/* ─── FEATURE CARDS (Primary home) ────────────────── */
 .feat-img-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:12px;
}
 .feat-img-grid img{
    width:100%;
    border-radius:14px;
    object-fit:cover;
    height:180px;
    transition:transform .4s;
}
 .feat-img-grid img:first-child{
    grid-column:1/3;
    height:325px;
}
 .feat-img-grid img:hover{
    transform:scale(1.03);
}
 .price-badge{
     background:var(--gold-dark);
    color:#fff;
    border-radius:12px;
     padding:1rem 1.4rem;
    display:inline-block;
}
 .price-badge .price{
    font-size:1.5rem;
    font-weight:700;
    font-family: "Playfair Display", serif;
}
/* ─── STATS ───────────────────────────────────────── */
 .stats-bar{
    background:var(--off-white);
    border-top:1px solid var(--border);
    border-bottom:1px solid var(--border);
    padding:2.5rem 0;
}
 .stat-item .num{
    font-family: "Playfair Display", serif;
    font-size: 3.8rem;
    font-weight: 500;
    color:var(--gold-dark);
}
 .stat-item .lbl{
    font-size:1.2rem;
    color:var(--gold-dark);
    font-weight:500;
    margin-top:.15rem;
}
/* ─── MAP SECTION ─────────────────────────────────── */
 .map-section{
    background:var(--gold-light);
}
.map-section ul.map-stats {
   padding: 0;
   margin: 0;
   list-style-type: none;
}
.map-section ul.map-stats {
   padding: 0;
   margin: 0;
   list-style-type: none;
}
.map-section ul.map-stats {
   padding: 0;
   margin: 0;
   list-style-type: none;
}
.map-section ul.map-stats li {
    display: inline-block;
    text-align: center;
    width: 32.33%;
    font-size: 20px;
    font-weight: 900;
    color: var(--gold-dark);
    border-right: 1px solid var(--gold-dark);
    float: left;
}
.map-section ul.map-stats li:last-child {
   border-right: 0;
}
.map-section ul.map-stats li p {
    font-size: initial;
    font-weight: 400;
    margin: 4px 0 0;
}
 .map-card{
     background:#fff;
    border-radius:20px;
    overflow:hidden;
     box-shadow:var(--shadow);
    min-height:280px;
     display:flex;
    align-items:center;
    justify-content:center;
     position:relative;
}
 .map-card iframe{
    width:100%;
    height:400px;
    border:0;
    border-radius:20px;
}
 .btn-primary-green{
     background:var(--gold-dark);
    color:#fff;
    border:none;
     border-radius:10px;
    padding:.7rem 1.5rem;
    font-weight:600;
     display:inline-flex;
    align-items:center;
    gap:.5rem;
     transition:background .2s,transform .15s;
}
 .btn-primary-green:hover{
    background:var(--gold-dark);
    color:#fff;
    transform:translateY(-1px);
}
/* ─── PROPERTY CARDS ─────────────────────────────── */
 .prop-card{
     background:var(--card-bg);
    border-radius:16px;
    overflow:hidden;
     border:1px solid var(--border);
     transition:transform .3s,box-shadow .3s;
}
 .prop-card:hover{
    transform:translateY(-6px);
    box-shadow:0 12px 36px rgba(26,60,43,.14);
}
 .prop-card img{
    width:100%;
    height:200px;
    object-fit:cover;
    transition:transform .5s;
}
 .prop-card:hover img{
    transform:scale(1.05);
}
 .prop-card .card-body{
    padding:1rem 1.1rem 1.2rem;
}
 .prop-meta span{
    font-size:.8rem;
    color:var(--text-muted);
    display:flex;
    align-items:center;
    gap:.25rem;
}
 .prop-title{
    font-size:.88rem;
    color:var(--text-muted);
    margin:.35rem 0 .2rem;
}
 .prop-price{
    font-family: "Playfair Display", serif;
    font-size:1.35rem;
    font-weight:700;
    color:var(--gold-dark);
}
.rounded-pill {
   text-transform: uppercase;
    border-color: var(--gold-dark);
    color: var(--gold-dark);
}
.rounded-pill:hover {
    color: var(--white);
    border-color: var(--gold-dark);
    background-color: var(--gold-dark);
}
 .badge-type{
     position:absolute;
    top:12px;
    left:12px;
     background:var(--gold-dark);
    color:#fff;
     border-radius:6px;
    padding:.2rem .65rem;
    font-size:1rem;
    font-weight:600;
}
/* ─── FAQ ────────────────────────────────────────── */
.faq-section{
    background:#fff;
}
.faq-section .section-label,
.faq-section .section-title,
.faq-section .section-body {
   text-align: center;
}
 .accordion-item{
    border:1.5px solid var(--border)!important;
    border-radius:12px!important;
    margin-bottom:.75rem;
    overflow:hidden;
}
 .accordion-button{
    font-weight:600;
    font-size:.95rem;
    color:var(--text-dark);
    background:#fff;
}
 .accordion-button:not(.collapsed){
    color:var(--gold-dark);
    background:var(--gold-light);
    box-shadow:none;
}
 .accordion-button::after{
    filter:hue-rotate(90deg);
}
 .accordion-body{
    font-size:.92rem;
    color:var(--text-muted);
    line-height:1.75;
}
.faq-section .btn-faq {
    background: var(--gold-dark);
    color: #fff;
    border: none;
    border-radius: 32px;
    padding: 5px 26px;
    text-decoration: none;
    margin-left: 16px;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    transition: background .2s, transform .15s;
}
/* ─── TESTIMONIALS ───────────────────────────────── */
 .testimonial-card{
     background:#fff;
    border-radius:18px;
    padding:2rem;
     border:1px solid var(--border);
    box-shadow:var(--shadow);
}
 .testimonial-card p{
    font-size:1rem;
    line-height:1.8;
    color:var(--text-dark);
}
 .testimonial-card .avatar{
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
    border:3px solid var(--gold-light);
}
 .stars{
    color:#f4a93a;
    letter-spacing:.1em;
}
/* ─── CTA BANNER ─────────────────────────────────── */
 .cta-banner{
     background:linear-gradient(135deg,var(--gold-dark) 0%,var(--gold-light) 100%);
     position:relative;
    overflow:hidden;
    padding:5rem 0;
}
 .cta-banner::before{
     content:'';
    position:absolute;
     width:600px;
    height:600px;
    border-radius:50%;
     background:rgba(255,255,255,.04);
     top:-200px;
    right:-150px;
}
 .cta-banner h2{
    color:#fff;
    font-size:clamp(2rem,4vw,3rem);
    font-weight:700;
}
 .cta-banner p{
    color:rgba(255,255,255,.75);
    font-size:1rem;
    max-width:520px;
    margin:0 auto;
}
 .btn-cta{
     background:var(--white);
    color:var(--gold-dark);
     border:none;
    border-radius:50px;
    padding:.85rem 2.2rem;
     font-weight:700;
    font-size:1rem;
     display:inline-flex;
    align-items:center;
    gap:.5rem;
     transition:background .2s,transform .15s;
}
 .btn-cta:hover{
    background:#fff;
    color:var(--gold-dark);
    transform:translateY(-2px);
}
/* ─── FOOTER ─────────────────────────────────────── */
 footer{
    background:var(--gold-dark);
    color:rgba(255,255,255,.8);
    padding:4rem 0 1.5rem;
}
 footer h5{
    color:#fff;
    font-family: "Playfair Display", serif;
    margin-bottom:1rem;
}
 footer a{
    color:rgba(255,255,255,.65);
    text-decoration:none;
    font-size:.9rem;
    display:block;
    margin-bottom:.45rem;
    transition:color .2s;
}
 footer a:hover{
    color:var(--gold-light);
}
 .footer-brand{
    font-family: "Playfair Display", serif;
    font-size:1.6rem;
    color:#fff;
    font-weight:700;
}
.footer-brand img.logo {
    height: 50px;
    filter: brightness(0) invert(1);
}
 .footer-brand span{
    color:var(--gold-light);
}
 .footer-divider{
    border-color:rgba(255,255,255,.12);
}
 .footer-bottom{
    font-size:.82rem;
    color:rgba(255,255,255,.45);
}
 .social-icon{
     width:36px;
    height:36px;
    border-radius:50%;
    border:1.5px solid rgba(255,255,255,.25);
     display:inline-flex;
    align-items:center;
    justify-content:center;
     color:rgba(255,255,255,.65);
    margin-right:.4rem;
    font-size:1rem;
    transition:.2s;
    text-decoration:none;
}
 .social-icon:hover{
    background:var(--gold-light);
    border-color:var(--gold-light);
    color:var(--gold-dark);
}
/* ─── ANIMATIONS ─────────────────────────────────── */
 .fade-up{
    opacity:0;
    transform:translateY(30px);
    transition:opacity .6s ease,transform .6s ease;
}
 .fade-up.visible{
    opacity:1;
    transform:none;
}
#leadModal button.btn-dark {
   background-color: var(--gold-dark);
   border-color: var(--gold-dark);
}
#leadModal label {
    font-size: .75rem;
    font-weight: 600;
    color: var(--text-muted);
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-bottom: .3rem;
}
.pricing .table-bordered {
   border-color: var(--gold-dark);
   background-color: transparent;
}
.table>:not(caption)>*>* {
   color: var(--gold-dark);
   background-color: transparent;
   vertical-align: middle;
}
.table a {
   line-height: 1;
}
.pricing .img-card {
    border-radius: 14px;
    overflow: hidden;
}
.invest ul {
    padding-left: 18px;
    color: var(--gold-dark);
}
.invest .img-card {
    border-radius: 14px;
    overflow: hidden;
}
.invest, .limited {
   padding: 3rem 0;
}
.limited .img-card {
    border-radius: 14px;
    overflow: hidden;
}
.cta-banner img {
    height: 250px;
    margin-bottom: 30px;
}
#club-10 {
    background-size: cover;
    min-height: 580px;
    background-position: center;
    text-align: center;
    color: #fff;
    position: relative;
    padding-top: 3rem;
}
#club-10 h2.section-title, #club-10 p.section-body, #club-10 img {
    color: #fff;
    position: relative;
    z-index: 10;
}
#club-10 img {
    filter: brightness(0) invert(1);
    margin-bottom: 20px;
}
#club-10 p.section-body {
   font-size: 20px;
}
#club-10:before {
    content: '';
    background: linear-gradient(180deg, #0a4474 0%, #0a447400 100%);
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 0;
}
#properties p.section-body {
    line-height: 1.8;
    font-size: 1.13rem;
}
 @media(max-width:768px){
   img {
      max-width: 100%;
   }
   section {
      padding: 3rem 0;
   }
   .hero{
        min-height:70vh;
   }
   .search-card .row>*+*{
        margin-top:.75rem;
   }
   .hero .intro-text {
      text-align: center;
      font-size: .9rem;
      letter-spacing: 0.2em;
   }
   .hero h1 {
      font-size: clamp(1.8rem, 5vw, 3rem);
      text-align: center;
   }
   .hero p {
      text-align: center;
   }
   .search-card h2 {
       text-align: center;
       font-size: 19px;
       line-height: 1.5;
   }
   .search-divider{
        display:none;
   }
   .feat-img-grid img:first-child{
        height:180px;
   }
   .feat-img-grid {
      margin-bottom: 30px;
   }
   .pricing .img-card {
      margin-top: 30px;
   }
   .map-section ul.map-stats {
      margin-bottom: 30px;
   }
   .map-section ul.map-stats li {
      min-height: 110px;
      float: none;
      vertical-align: top;
   }
   .limited .img-card {
      margin-top: 30px;
   }
   #club-10 img {
      width: 150px;
   }
   #club-10 h2.section-title {
      font-size: 30px;
   }
   #club-10 p.section-body {
      font-size: 22px;
   }
   footer h5 {
      margin-top: 20px;
   }
}
