 :root {
      --green: #123b2d;
      --deep: #0a251d;
      --gold: #c6a66b;
      --cream: #f7f5ef;
      --ink: #202b25;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; scroll-padding-top: 90px; }
    body {
      margin: 0;
      color: var(--ink);
      font-family: 'DM Sans', sans-serif;
    }
    h1, h2, h3, .brand-name {
      font-family: 'Playfair Display', serif;
    }
    .section-pad { padding: 95px 0; }
    .eyebrow {
      color: var(--gold);
      font-size: 11px;
      letter-spacing: 3px;
      font-weight: 700;
      text-transform: uppercase;
    }
    .section-title {
      font-size: clamp(34px, 4vw, 53px);
      line-height: 1.15;
    }
    .btn-gold {
      background: var(--gold);
      border: 1px solid var(--gold);
      color: #13291f;
      padding: 13px 25px;
      border-radius: 0;
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 1px;
      text-transform: uppercase;
    }
    .btn-gold:hover {
      background: #d7bc89;
      border-color: #d7bc89;
      color: #13291f;
    }
    .btn-outline-light {
      border-radius: 0;
      padding: 13px 25px;
      font-size: 12px;
      letter-spacing: 1px;
    }

    /* Header */
    .site-header {
      position: absolute;
      inset: 0 0 auto;
      z-index: 20;
      border-bottom: 1px solid #ffffff30;
    }
    .navbar { padding: 21px 0; }
    .brand-mark {
      width: 43px;
      height: 43px;
      border: 1px solid var(--gold);
      color: var(--gold);
      display: grid;
      place-items: center;
      font-family: 'Playfair Display', serif;
      font-size: 24px;
    }
    .brand-name {
      color: white;
      font-size: 20px;
      line-height: 1;
    }
    .brand-sub {
      color: var(--gold);
      font-size: 8px;
      letter-spacing: 2px;
      margin-top: 7px;
    }
    .navbar .nav-link {
      color: #fff;
      font-size: 11px;
      letter-spacing: 1px;
      text-transform: uppercase;
      margin: 0 8px;
    }
    .navbar .nav-link:hover { color: var(--gold); }
    .header-phone {
      color: white;
      text-decoration: none;
      font-size: 13px;
      white-space: nowrap;
    }

    /* Hero */
    .hero {
      position: relative;
      min-height: 720px;
      height: 100vh;
      max-height: 950px;
      background: #173a2d;
      overflow: hidden;
      display: flex;
      align-items: center;
      color: white;
    }
    .hero-video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
    }
    .hero-overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(90deg,
        rgba(5,25,18,.83), rgba(5,25,18,.36) 65%,
        rgba(5,25,18,.15));
    }
    .hero-content { position: relative; z-index: 2; padding-top: 65px; }
    .hero h1 {
      font-size: clamp(46px, 6.6vw, 88px);
      line-height: 1.07;
      max-width: 850px;
      margin: 23px 0;
    }
    .hero h1 em { color: var(--gold); font-weight: 400; }
    .hero-copy { max-width: 560px; color: #e6e9e4; line-height: 1.9; }
    .hero-bottom {
      position: absolute;
      z-index: 2;
      bottom: 30px;
      left: 0;
      right: 0;
      border-top: 1px solid #ffffff45;
      padding-top: 18px;
      color: #f1f1e8;
      font-size: 11px;
      letter-spacing: 1px;
    }

    /* About */
    .about-section { background: var(--cream); }
    .about-photo {
      min-height: 460px;
      height: 100%;
      background:
        linear-gradient(#102c2030,#102c2030),
        url('https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1200&q=85')
        center/cover;
    }
    .about-badge {
      background: var(--green);
      color: white;
      padding: 25px;
      margin: -70px 20px 0 auto;
      position: relative;
      width: 190px;
    }
    .about-badge strong {
      display: block;
      font: 35px 'Playfair Display', serif;
      color: var(--gold);
    }

    /* Properties */
    .properties-section { background: white; }
    .property-card {
      background: white;
      border: 1px solid #e7e5dd;
      height: 100%;
      transition: transform .3s, box-shadow .3s;
    }
    .property-card:hover {
      transform: translateY(-6px);
      box-shadow: 0 18px 45px #102c2015;
    }
    .property-img {
      width: 100%;
      height: 220px;
      object-fit: cover;
      display: block;
    }
    .property-body { padding: 23px; }
    .property-tag {
      color: var(--green);
      background: #edf2ed;
      padding: 6px 9px;
      font-size: 9px;
      letter-spacing: 1px;
      text-transform: uppercase;
    }
    .property-body h3 { font-size: 25px; margin: 17px 0 8px; }
    .property-location { color: #777d77; font-size: 12px; }
    .property-meta {
      border-top: 1px solid #e8e7e0;
      margin-top: 18px;
      padding-top: 15px;
      font-size: 11px;
      color: #686d67;
    }
    .property-price {
      font-size: 22px;
      font-weight: 700;
      color: var(--green);
    }
    .property-link {
      color: var(--green);
      text-decoration: none;
      font-size: 11px;
      letter-spacing: 1px;
      font-weight: 700;
    }

    /* Golf centerpiece */
    .golf-feature {
      position: relative;
      min-height: 510px;
      background:
        linear-gradient(#0b2b1c4d,#0b2b1c8c),
        url('https://images.unsplash.com/photo-1587174486073-ae5e5cff23aa?auto=format&fit=crop&w=1800&q=90')
        center/cover;
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      color: white;
    }
    .golf-feature h2 {
      font-size: clamp(38px, 5vw, 65px);
      margin: 18px 0;
    }
    .golf-feature p { color: #f0f1e9; }

    /* Amenities */
    .amenities-section { background: var(--deep); color: white; }
    .amenity-card {
      height: 100%;
      min-height: 185px;
      border: 1px solid #ffffff25;
      padding: 28px 23px;
      transition: background .25s;
    }
    .amenity-card:hover { background: #ffffff0d; }
    .amenity-icon {
      color: var(--gold);
      font-size: 29px;
      margin-bottom: 23px;
    }
    .amenity-card h3 { font-size: 21px; margin-bottom: 10px; }
    .amenity-card p { color: #bfc9c0; font-size: 12px; line-height: 1.8; }

    /* FAQ */
    .faq-section { background: var(--cream); }
    .accordion-item {
      background: transparent;
      border: 0;
      border-bottom: 1px solid #d9d9cf;
    }
    .accordion-button {
      background: transparent;
      box-shadow: none !important;
      color: var(--ink);
      padding: 23px 0;
      font-weight: 600;
    }
    .accordion-button:not(.collapsed) {
      background: transparent;
      color: var(--green);
    }
    .accordion-body {
      color: #6d726c;
      padding: 0 25px 22px 0;
      line-height: 1.8;
      font-size: 14px;
    }

    /* Footer */
    .site-footer { background: #071a13; color: white; padding: 65px 0 25px; }
    .footer-copy { color: #b4bdb5; font-size: 12px; line-height: 1.9; }
    .footer-heading {
      color: var(--gold);
      font-size: 11px;
      letter-spacing: 2px;
      margin-bottom: 18px;
      text-transform: uppercase;
    }
    .footer-link {
      display: block;
      color: #d5dbd5;
      font-size: 12px;
      text-decoration: none;
      margin: 12px 0;
    }
    .disclaimer {
      border-top: 1px solid #ffffff25;
      border-bottom: 1px solid #ffffff25;
      padding: 22px 0;
      color: #aab4ab;
      font-size: 14px;
      line-height: 1.9;
    }
    .footer-bottom {
      color: #929e94;
      font-size: 14px;
      padding-top: 22px;
    }

    /* Floating enquiry */
    .floating-enquiry {
      position: fixed;
      z-index: 30;
      right: 0;
      top: 50%;
      transform: translateY(-50%);
      writing-mode: vertical-rl;
      background: var(--gold);
      color: #10271d;
      border: 0;
      padding: 20px 13px;
      font-size: 11px;
      letter-spacing: 2px;
      font-weight: 700;
      text-transform: uppercase;
      box-shadow: 0 5px 25px #0002;
    }
    .modal-content { border: 0; border-radius: 0; }
    .modal-header {
      background: var(--green);
      color: white;
      padding: 25px;
    }
    .modal-header .btn-close { filter: invert(1); }
    .modal-body { padding: 28px; }
    .form-label { font-size: 11px; font-weight: 700; }
    .form-control {
      border-radius: 0;
      padding: 12px;
      border-color: #dedfd8;
    }
    .form-control:focus {
      border-color: var(--green);
      box-shadow: 0 0 0 .15rem #123b2d18;
    }

    @media (max-width: 991px) {
      .navbar-collapse {
        background: var(--deep);
        padding: 18px;
        margin-top: 12px;
      }
      .navbar .nav-link { padding: 10px 0; }
      .header-phone { display: none; }
      .section-pad { padding: 70px 0; }
    }
    @media (max-width: 575px) {
      .hero { min-height: 700px; }
      .hero h1 { font-size: 47px; }
      .hero-bottom { font-size: 9px; }
      .about-photo { min-height: 320px; }
      .property-img { height: 210px; }
      .golf-feature { min-height: 390px; }
      .floating-enquiry { padding: 17px 10px; font-size: 10px; }
    }
	
	.premium-properties {
    position: relative;
    width: 100%;
    min-height: 540px;
    padding: 34px 2% 40px;
    overflow: hidden;
    font-family: Arial, Helvetica, sans-serif;
    background: #e9eee8;
    isolation: isolate;
}

/* Golf course background */
.premium-properties::before {
    content: "";
    position: absolute;
    inset: 155px 0 0;
    z-index: -2;
    background:
        linear-gradient(
            to bottom,
            rgba(246, 244, 233, 0.15),
            rgba(14, 45, 24, 0.10)
        ),
        url("https://images.unsplash.com/photo-1587174486073-ae5e5cff23aa?auto=format&fit=crop&w=2200&q=85")
        center 53% / cover no-repeat;
}

.premium-properties::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(
        180deg,
        rgba(245, 245, 235, 0.88) 0%,
        rgba(245, 245, 235, 0.65) 30%,
        rgba(255, 255, 255, 0.02) 62%,
        rgba(13, 42, 23, 0.15) 100%
    );
    pointer-events: none;
}

/* Section heading */
.properties-heading {
    max-width: 580px;
    margin: 0 auto 26px;
    text-align: center;
    color: #172d2a;
}

.properties-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    color: #aa8b43;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.6px;
    text-transform: uppercase;
}

.properties-eyebrow::before {
    content: "";
    width: 27px;
    height: 2px;
    background: #b79a51;
}

.properties-heading h2 {
    margin: 0 0 10px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(27px, 3vw, 39px);
    font-weight: 500;
    line-height: 1.12;
    letter-spacing: -0.7px;
}

.properties-heading p {
    max-width: 440px;
    margin: 0 auto;
    color: #4e5b55;
    font-size: 13px;
    line-height: 1.7;
}

/* Property cards layout */
.properties-grid {
    display: grid;
    grid-template-columns:
        minmax(0, 380px)
        minmax(0, 1fr)
        minmax(0, 380px);
    align-items: center;
    gap: 28px;
    width: 100%;
    max-width: 1450px;
    margin: -112px auto 0;
}

/* Individual card */
.property-card {
    position: relative;
    z-index: 1;
    padding: 10px;
    overflow: hidden;
    border: 1px solid rgba(192, 177, 143, 0.35);
    border-radius: 5px;
    background: #fbfaf5;
    box-shadow: 0 8px 25px rgba(17, 32, 22, 0.20);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.property-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 14px 30px rgba(17, 32, 22, 0.25);
}

/* Property image */
.property-image {
    width: 100%;
    height: 160px;
    display: block;
    object-fit: cover;
    border-radius: 3px;
    background: #d8ded3;
}

/* Card information */
.property-info {
    padding: 10px 3px 2px;
}

.property-info h3 {
    margin: 0 0 10px;
    color: #192e2b;
    font-family: Georgia, "Times New Roman", serif;
    font-size: 19px;
    line-height: 1.25;
    font-weight: 700;
}

.property-meta {
    display: flex;
    flex-direction: column;
    gap: 7px;
    margin-bottom: 14px;
}

.property-meta p {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    margin: 0;
    color: #5b625c;
    font-size: 11px;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.meta-icon {
    flex: 0 0 14px;
    color: #a88c4b;
    font-size: 14px;
}

.property-price {
    margin: 0 0 13px;
    color: #1b302a;
    font-size: 18px;
    font-weight: 700;
}

.property-features {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    padding: 12px 0;
    margin-bottom: 10px;
    border-top: 1px solid #e6e2d8;
    color: #5b625c;
    font-size: 10px;
}

.property-features span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.feature-icon {
    color: #747d74;
    font-size: 14px;
}

/* Gold button */
.property-button {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: 100%;
    min-height: 39px;
    padding: 10px 12px;
    border: 1px solid #c4a65c;
    border-radius: 4px;
    background: #b39854;
    color: #fffdf7;
    font-size: 11px;
    text-decoration: none;
    text-align: center;
    transition: background 0.25s ease, color 0.25s ease;
}

.property-button:hover {
    background: #8f7335;
    color: #ffffff;
}

/* Space behind the cards */
.properties-center-space {
    min-height: 330px;
}

/* ===== TABLET ===== */
@media (max-width: 1000px) {
    .premium-properties {
        padding: 30px 22px;
    }

    .premium-properties::before {
        inset: 190px 0 0;
    }

    .properties-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 720px;
        gap: 22px;
        margin: 26px auto 0;
    }

    .properties-center-space {
        display: none;
    }

    .property-image {
        height: 190px;
    }
}

/* ===== MOBILE ===== */
@media (max-width: 560px) {
    .premium-properties {
        padding: 30px 16px;
    }

    .premium-properties::before {
        inset: 205px 0 0;
        background-position: center;
    }

    .properties-heading {
        margin-bottom: 24px;
    }

    .properties-heading h2 {
        font-size: 29px;
    }

    .properties-heading p {
        font-size: 12px;
    }

    .properties-grid {
        grid-template-columns: minmax(0, 1fr);
        max-width: 370px;
        gap: 20px;
        margin-top: 0;
    }

    .property-card {
        padding: 11px;
    }

    .property-image {
        height: 205px;
    }

    .property-info h3 {
        font-size: 20px;
    }

    .property-price {
        font-size: 19px;
    }

    .property-features {
        justify-content: flex-start;
        gap: 22px;
        font-size: 11px;
    }

    .property-button {
        min-height: 43px;
        font-size: 12px;
    }
}


/* Two independent property carousels */
.properties-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 500px minmax(0, 1fr);
    align-items: center;
    gap: 0;
}

.property-carousel {
    position: relative;
    min-width: 0;
    overflow: hidden;
    padding-bottom: 38px;
}

.property-track {
    display: flex;
    transition: transform 650ms ease-in-out;
    will-change: transform;
    align-items: stretch;
}

.property-carousel .property-card {
    flex: 0 0 100%;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    margin: 0;
    overflow: hidden;
}

.property-carousel .property-image {
    display: block;
    width: 100%;
    height: 270px;
    object-fit: cover;
}

.property-carousel .property-info {
    box-sizing: border-box;
}

/* Previous / next arrows */
.property-carousel .carousel-arrow {
    position: absolute;
    top: 240px;
    z-index: 2;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.8);
    border-radius: 50%;
    background: rgba(16, 48, 36, .88);
    color: #fff;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: background .25s ease;
}

.property-carousel .carousel-arrow:hover {
    background: #b89a5a;
}

.property-carousel .carousel-arrow.prev {
    left: 12px;
}

.property-carousel .carousel-arrow.next {
    right: 12px;
}

/* Carousel dots */
.property-carousel .carousel-dots {
    position: absolute;
    bottom: 8px;
    left: 0;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 9px;
}

.property-carousel .carousel-dot {
    width: 8px;
    height: 8px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #c8c8c0;
    cursor: pointer;
    transition: all .25s ease;
}

.property-carousel .carousel-dot.active {
    width: 23px;
    border-radius: 8px;
    background: #b89a5a;
}

/* Responsive layout */
@media (max-width: 900px) {
    .properties-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        gap: 22px;
    }

    .properties-center-space {
        display: none;
    }

    .property-carousel .property-image {
        height: 230px;
    }

    .property-carousel .carousel-arrow {
        top: 100px;
    }
}

@media (max-width: 600px) {
    .properties-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .property-carousel .property-image {
        height: 240px;
    }

    .property-carousel .carousel-arrow {
        top: 105px;
    }
}
.header-phone span{
    background: #2d4b3b;
    padding: 10px;
    font-size: 16px;
    font-weight: bold;
}