/* =========================================================
   COASTAL ENCLAVE
   PREMIUM WEBSITE CSS
========================================================= */

:root {

  --navy: #092747;
  --navy-light: #123b64;
  --navy-dark: #051a30;

  --gold: #d5ad61;
  --gold-light: #f1d799;

  --cream: #f7f3ea;

  --white: #ffffff;

  --text: #1d2732;

  --muted: #6d7781;

  --border: rgba(255, 255, 255, 0.16);

  --shadow:
    0 30px 70px rgba(0, 0, 0, 0.14);

}


/* =========================================================
   RESET
========================================================= */

* {

  margin: 0;
  padding: 0;
  box-sizing: border-box;

}


html {

  scroll-behavior: auto;

}


body {

  font-family: "DM Sans", sans-serif;

  background: #ffffff;

  color: var(--text);

  overflow-x: hidden;

}


body.modal-open {

  overflow: hidden;

}


img {

  max-width: 100%;
  display: block;

}


a {

  color: inherit;
  text-decoration: none;

}


button,
input,
select,
textarea {

  font-family: inherit;

}


button {

  cursor: pointer;

}


.container {

  width: min(92%, 1440px);

  margin-inline: auto;

}


.section {

  padding: 110px 0;

}


/* =========================================================
   SCROLL PROGRESS
========================================================= */

.scroll-progress {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  height: 3px;

  z-index: 99999;

}


.scroll-progress-bar {

  width: 0;

  height: 100%;

  background: linear-gradient(
    90deg,
    var(--gold),
    var(--gold-light)
  );

}


/* =========================================================
   CUSTOM CURSOR
========================================================= */

.cursor-dot {

  position: fixed;

  width: 7px;
  height: 7px;

  border-radius: 50%;

  background: var(--gold);

  pointer-events: none;

  z-index: 99999;

  transform: translate(-50%, -50%);

}


.cursor-ring {

  position: fixed;

  width: 34px;
  height: 34px;

  border: 1px solid rgba(213, 173, 97, 0.8);

  border-radius: 50%;

  pointer-events: none;

  z-index: 99998;

  transform: translate(-50%, -50%);

  transition:

    width .2s ease,
    height .2s ease,
    background .2s ease;

}


.cursor-ring.cursor-active {

  width: 52px;
  height: 52px;

  background: rgba(213, 173, 97, 0.12);

}


/* =========================================================
   HEADER
========================================================= */

.header {

  position: fixed;

  top: 0;
  left: 0;

  width: 100%;

  z-index: 9000;

  transition:
    background .35s ease,
    box-shadow .35s ease,
    transform .35s ease;

}


.header.scrolled {

  background: rgba(255, 255, 255, .92);

  backdrop-filter: blur(22px);

  box-shadow:
    0 12px 40px rgba(0,0,0,.08);

}


.nav-container {

  height: 96px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  transition: height .3s ease;

}


.header.scrolled .nav-container {

  height: 76px;

}


.logo img {

  width: 220px;

  transition: width .3s ease;

}


.header.scrolled .logo img {

  width: 185px;

}


.nav-menu {

  display: flex;

  align-items: center;

  gap: 38px;

}


.nav-menu a {

  position: relative;

  color: white;

  font-size: .98rem;

  font-weight: 500;

  padding: 8px 0;

  transition: color .3s ease;

}


.header.scrolled .nav-menu a {

  color: var(--navy);

}


.nav-menu a::after {

  content: "";

  position: absolute;

  left: 0;
  bottom: 0;

  width: 0;
  height: 2px;

  background: var(--gold);

  transition: width .3s ease;

}


.nav-menu a:hover::after {

  width: 100%;

}


.nav-menu a:hover {

  color: var(--gold);

}


.nav-call {

  display: flex;

  align-items: center;

  gap: 9px;

  background: var(--gold);

  color: var(--navy);

  padding: 14px 22px;

  border-radius: 100px;

  font-weight: 700;

  box-shadow:
    0 10px 30px rgba(213,173,97,.25);

  transition:
    transform .3s ease,
    box-shadow .3s ease;

}


.nav-call:hover {

  box-shadow:
    0 18px 40px rgba(213,173,97,.4);

}


/* =========================================================
   MOBILE MENU
========================================================= */

.mobile-menu-btn {

  display: none;

  border: 0;

  background: transparent;

  width: 42px;
  height: 42px;

  align-items: center;

  justify-content: center;

  flex-direction: column;

  gap: 7px;

}


.mobile-menu-btn span {

  display: block;

  width: 26px;

  height: 2px;

  background: white;

  transition: .3s ease;

}


.header.scrolled .mobile-menu-btn span {

  background: var(--navy);

}


.mobile-nav {

  position: fixed;

  top: 0;
  right: 0;

  width: min(82%, 360px);

  height: 100vh;

  z-index: 8500;

  background: var(--navy);

  padding:

    130px
    34px
    40px;

  display: flex;

  flex-direction: column;

  gap: 0;

  transform: translateX(110%);

}


.mobile-nav a {

  color: white;

  font-size: 1.15rem;

  padding: 19px 0;

  border-bottom:
    1px solid rgba(255,255,255,.12);

}


.mobile-nav .mobile-call {

  color: var(--gold);

}


/* ==============================
   HERO SIZE + IMAGE FIX
============================== */

.hero {
    min-height: 740px;
    position: relative;
    display: flex;
    align-items: center;
    overflow: hidden;
}

.hero-media {
    position: absolute;

    /* parallax move panna konjam extra space */
    inset: -3% 0;

    background-image: url("assets/img/coastal.jpeg");
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;

    /* IMPORTANT - initial zoom vendam */
    transform: scale(1);

    transform-origin: center center;
    will-change: transform;
}

.hero-gradient {
    position: absolute;
    inset: 0;

    /* Banner already designed, so very light overlay */
    background: rgba(0, 0, 0, 0.03);
}

.hero-container {
    position: relative;
    z-index: 3;

    display: grid;
    grid-template-columns: 1fr 430px;

    align-items: center;

    min-height: 740px;

    padding-top: 90px;
    padding-bottom: 35px;
}
.hero-noise {

  position: absolute;

  inset: 0;

  opacity: .07;

  pointer-events: none;

  background-image:

    url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.65' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='.5'/%3E%3C/svg%3E");

}


.hero-content {

  color: white;

}


.hero-label {

  display: inline-flex;

  align-items: center;

  gap: 10px;

  padding:
    9px 15px;

  border:

    1px solid
    rgba(255,255,255,.24);

  background:
    rgba(255,255,255,.08);

  backdrop-filter: blur(16px);

  border-radius: 100px;

  font-size: .9rem;

  margin-bottom: 26px;

}


.pulse-dot {

  width: 8px;
  height: 8px;

  border-radius: 50%;

  background: var(--gold);

  box-shadow:
    0 0 0 0 rgba(213,173,97,.8);

  animation:
    pulse 1.8s infinite;

}


@keyframes pulse {

  0% {

    box-shadow:
      0 0 0 0 rgba(213,173,97,.65);

  }

  70% {

    box-shadow:
      0 0 0 12px rgba(213,173,97,0);

  }

  100% {

    box-shadow:
      0 0 0 0 rgba(213,173,97,0);

  }

}


.hero-title {

  font-family:
    "Playfair Display",
    serif;

  font-size:
    clamp(4rem, 6.2vw, 7.5rem);

  font-weight: 600;

  line-height: .98;

  letter-spacing: -.04em;

  max-width: 900px;

}


.title-line {

  display: block;

  overflow: hidden;

}


.title-line > span {

  display: block;

}


.gold-line {

  color: var(--gold-light);

}


.hero-description {

  margin-top: 28px;

  font-size: 1.15rem;

  line-height: 1.7;

  color: rgba(255,255,255,.82);

  max-width: 620px;

}


.hero-price {

  display: flex;

  align-items: center;

  gap: 24px;

  margin-top: 32px;

}


.hero-price div {

  display: flex;

  flex-direction: column;

}


.hero-price small {

  color:
    rgba(255,255,255,.72);

  margin-bottom: 4px;

}


.hero-price strong {

  font-size: 2rem;

  color: var(--gold-light);

}


.price-line {

  width: 1px;

  height: 48px;

  background:
    rgba(255,255,255,.25);

}


.hero-price p {

  color:
    rgba(255,255,255,.8);

}


.hero-actions {

  display: flex;

  gap: 15px;

  flex-wrap: wrap;

  margin-top: 36px;

}


/* =========================================================
   BUTTONS
========================================================= */

.primary-btn,
.secondary-btn {

  min-height: 56px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 12px;

  padding: 0 25px;

  border-radius: 100px;

  font-weight: 700;

  border: none;

  position: relative;

  overflow: hidden;

  transition:
    transform .3s ease,
    box-shadow .3s ease,
    background .3s ease;

}


.primary-btn {

  background: var(--gold);

  color: var(--navy);

  box-shadow:
    0 14px 30px rgba(213,173,97,.22);

}


.primary-btn::before {

  content: "";

  position: absolute;

  top: -100%;

  left: -50%;

  width: 50%;

  height: 300%;

  transform:
    rotate(25deg);

  background:

    linear-gradient(

      90deg,

      transparent,

      rgba(255,255,255,.5),

      transparent

    );

  transition:
    left .6s ease;

}


.primary-btn:hover::before {

  left: 120%;

}


.secondary-btn {

  border:
    1px solid rgba(255,255,255,.34);

  background:
    rgba(255,255,255,.08);

  backdrop-filter:
    blur(16px);

  color: white;

}


.secondary-btn:hover {

  background:
    rgba(255,255,255,.18);

}


/* =========================================================
   HERO FORM
========================================================= */

.hero-form-wrapper {
    position: relative;
    top: -35px;
    grid-column: 2;

    width: 100%;
    max-width: 430px;

    justify-self: end;
}


.form-glow {

  position: absolute;

  width: 75%;
  height: 70%;

  top: 15%;
  left: 12%;

  filter: blur(70px);

  background:
    rgba(213,173,97,.22);

}


.hero-form {

  position: relative;

  z-index: 2;

  background:
    rgba(255,255,255,.10);

  border:
    1px solid rgba(255,255,255,.22);

  backdrop-filter:
    blur(24px);

  border-radius: 28px;

  padding: 34px;

  box-shadow:
    0 35px 80px rgba(0,0,0,.28);

}


.form-header {

  margin-bottom: 25px;

}


.form-header span {

  color: var(--gold-light);

  font-size: .82rem;

  text-transform: uppercase;

  letter-spacing: .12em;

}


.form-header h2 {

  color: white;

  font-family:
    "Playfair Display",
    serif;

  font-size: 2rem;

  margin: 7px 0;

}


.form-header p {

  color:
    rgba(255,255,255,.68);

  font-size: .92rem;

}


.input-group {

  position: relative;

  margin-bottom: 13px;

}


.input-group > i {

  position: absolute;

  left: 17px;

  top: 50%;

  transform: translateY(-50%);

  color: var(--gold-light);

  z-index: 2;

}


.input-group input,
.input-group select {

  width: 100%;

  height: 57px;

  padding:

    0
    18px
    0
    49px;

  color: white;

  background:
    rgba(255,255,255,.08);

  border:
    1px solid rgba(255,255,255,.18);

  border-radius: 13px;

  outline: none;

  transition:
    border .25s ease,
    background .25s ease,
    transform .25s ease;

}


.input-group input::placeholder {

  color:
    rgba(255,255,255,.55);

}


.input-group select {

  color:
    rgba(255,255,255,.75);

}


.input-group select option {

  color: #222;

}


.input-group input:focus,
.input-group select:focus {

  border-color:
    var(--gold);

  background:
    rgba(255,255,255,.13);

  transform:
    translateY(-1px);

}


.form-submit-btn {

  width: 100%;

  min-height: 58px;

  border: 0;

  border-radius: 13px;

  background:
    var(--gold);

  color:
    var(--navy);

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  font-weight: 700;

  font-size: 1rem;

  margin-top: 8px;

  transition:
    transform .3s ease,
    box-shadow .3s ease;

}


.form-submit-btn:hover {

  transform:
    translateY(-3px);

  box-shadow:
    0 14px 30px rgba(213,173,97,.28);

}


.form-message {

  min-height: 22px;

  margin-top: 10px;

  font-size: .88rem;

}


/* =========================================================
   PROJECT HIGHLIGHTS
========================================================= */

.project-highlights {

  position: relative;

  z-index: 20;

  margin-top: -52px;

}


.highlight-grid {

  background: white;

  border-radius: 24px;

  display: grid;

  grid-template-columns:
    repeat(6, 1fr);

  padding: 12px;

  box-shadow:
    0 28px 65px rgba(6,31,56,.14);

}


.highlight-card {

  min-height: 135px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 14px;

  padding: 20px 15px;

  border-radius: 18px;

  position: relative;

  transform-style:
    preserve-3d;

  transition:
    background .35s ease,
    color .35s ease,
    box-shadow .35s ease;

}


.highlight-card:not(:last-child)::after {

  content: "";

  position: absolute;

  right: 0;
  top: 25%;

  width: 1px;
  height: 50%;

  background:
    #e6e8eb;

}


.highlight-card:hover {

  background:
    var(--navy);

  color: white;

  box-shadow:
    0 15px 30px rgba(9,39,71,.17);

}


.highlight-icon {

  width: 50px;
  height: 50px;

  border-radius: 14px;

  display: grid;

  place-items: center;

  font-size: 1.4rem;

  color: var(--navy);

  background:
    rgba(213,173,97,.18);

  transition:
    transform .35s ease,
    background .35s ease,
    color .35s ease;

}


.highlight-card:hover .highlight-icon {

  transform:
    translateZ(25px)
    rotate(-6deg)
    scale(1.12);

  background:
    var(--gold);

  color:
    var(--navy);

}


.highlight-card > div:last-child {

  display: flex;

  flex-direction: column;

  gap: 3px;

  transform:
    translateZ(15px);

}


.highlight-card span {

  font-size: .78rem;

  color:
    var(--muted);

  transition: color .3s ease;

}


.highlight-card:hover span {

  color:
    rgba(255,255,255,.65);

}


.highlight-card strong {

  font-size: .95rem;

}


/* =========================================================
   CLUBHOUSE
========================================================= */

.clubhouse-section {

  min-height: 750px;

  position: relative;

  overflow: hidden;

  display: grid;

  place-items: center;

}


.clubhouse-media {

  position: absolute;

  inset: 0;

}


.clubhouse-media video {

  width: 100%;

  height: 100%;

  object-fit: cover;

}


.clubhouse-overlay {

  position: absolute;

  inset: 0;

  background:

    linear-gradient(

      180deg,

      rgba(0,0,0,.10),

      rgba(0,0,0,.46)

    );

}


.clubhouse-content {

  position: relative;

  z-index: 2;

  text-align: center;

  color: white;

}


.clubhouse-content span {

  text-transform: uppercase;

  letter-spacing: .20em;

  color: var(--gold-light);

}


.clubhouse-content h2 {

  font-family:
    "Playfair Display",
    serif;

  font-size:
    clamp(3rem, 7vw, 7rem);

  margin: 10px 0;

  text-shadow:
    0 10px 35px rgba(0,0,0,.25);

}


.clubhouse-content p {

  font-size: 1.1rem;

}


/* =========================================================
   SECTION HEADINGS
========================================================= */

.section-heading {

  text-align: center;

  max-width: 950px;

  margin: 0 auto 55px;

}


.section-kicker {

  display: inline-block;

  margin-bottom: 13px;

  font-size: .83rem;

  text-transform: uppercase;

  letter-spacing: .18em;

  font-weight: 700;

  color: var(--gold);

}


.section-heading h2 {

  font-family:
    "Playfair Display",
    serif;

  font-size:
    clamp(2.8rem, 5vw, 5.1rem);

  line-height: 1.06;

  letter-spacing: -.035em;

  color: var(--navy);

}


.section-heading h2 em {

  display: block;

  font-style: italic;

  font-weight: 500;

  color: var(--gold);

}


.light-heading h2 {

  color: white;

}


.about-text {

  max-width: 1050px;

  margin: auto;

  text-align: center;

  font-size: 1.2rem;

  line-height: 1.8;

  color: #4e5965;

}


/* =========================================================
   AMENITIES
========================================================= */

.amenities-section {

  background:

    radial-gradient(
      circle at 10% 10%,
      rgba(213,173,97,.13),
      transparent 30%
    ),

    var(--navy);

}


.amenities-grid {

  display: grid;

  grid-template-columns:
    repeat(3, 1fr);

  gap: 22px;

}


.amenity-card {

  min-height: 340px;

  padding: 34px;

  border-radius: 22px;

  color: white;

  position: relative;

  overflow: hidden;

  background:
    rgba(255,255,255,.055);

  border:
    1px solid rgba(255,255,255,.10);

  transition:
    transform .4s ease,
    background .4s ease,
    border .4s ease;

}


.amenity-card::before {

  content: "";

  position: absolute;

  width: 170px;
  height: 170px;

  right: -90px;
  bottom: -90px;

  border-radius: 50%;

  background:
    var(--gold);

  opacity: .08;

  transition:
    transform .45s ease,
    opacity .45s ease;

}


.amenity-card:hover {

  transform:
    translateY(-10px);

  background:
    rgba(255,255,255,.09);

  border-color:
    rgba(213,173,97,.45);

}


.amenity-card:hover::before {

  transform:
    scale(2.1);

  opacity: .12;

}


.amenity-number {

  position: absolute;

  right: 28px;
  top: 25px;

  font-size: .86rem;

  color:
    rgba(255,255,255,.3);

}


.amenity-icon {

  width: 75px;
  height: 75px;

  border-radius: 20px;

  display: grid;

  place-items: center;

  color: var(--gold-light);

  font-size: 2rem;

  background:
    rgba(213,173,97,.12);

  margin-bottom: 42px;

  transition:
    transform .4s ease,
    background .4s ease;

}


.amenity-card:hover .amenity-icon {

  transform:
    rotate(-8deg)
    scale(1.08);

  background:
    var(--gold);

  color: var(--navy);

}


.amenity-card h3 {

  font-family:
    "Playfair Display",
    serif;

  font-size: 1.6rem;

  margin-bottom: 12px;

}


.amenity-card p {

  color:
    rgba(255,255,255,.63);

  line-height: 1.65;

}


/* =========================================================
   GALLERY
========================================================= */

.gallery-section {

  background:
    #061b31;

  overflow: hidden;

}


.gallery-heading {

  display: flex;

  justify-content:
    space-between;

  align-items: flex-end;

  margin-bottom: 45px;

}


.gallery-heading .section-heading {

  text-align: left;

  margin:
    0;

}


.gallery-controls {

  display: flex;

  gap: 10px;

}


.gallery-controls button {

  width: 54px;
  height: 54px;

  border-radius: 50%;

  border:
    1px solid rgba(255,255,255,.18);

  background:
    rgba(255,255,255,.07);

  color: white;

  transition:
    .3s ease;

}


.gallery-controls button:hover {

  background:
    var(--gold);

  color:
    var(--navy);

  transform:
    scale(1.07);

}


.gallery-slider {

  overflow: visible;

}


.gallery-track {

  display: flex;

  gap: 24px;

  transition:
    transform .65s
    cubic-bezier(.2,.8,.2,1);

}


.gallery-slide {

  min-width: 45%;

  height: 520px;

  border-radius: 24px;

  overflow: hidden;

  position: relative;

}


.gallery-slide img {

  width: 100%;
  height: 100%;

  object-fit: cover;

  transition:
    transform .8s
    cubic-bezier(.2,.8,.2,1);

}


.gallery-slide:hover img {

  transform:
    scale(1.08);

}


.gallery-slide::after {

  content: "";

  position: absolute;

  inset: 0;

  background:

    linear-gradient(

      transparent 50%,

      rgba(2,16,29,.86)

    );

}


.gallery-caption {

  position: absolute;

  z-index: 3;

  left: 28px;
  right: 28px;
  bottom: 28px;

  display: flex;

  justify-content:
    space-between;

  align-items:
    flex-end;

  color: white;

}


.gallery-caption span {

  color:
    var(--gold-light);

}


.gallery-caption h3 {

  font-family:
    "Playfair Display",
    serif;

  font-size: 1.8rem;

}

/* =========================================================
   DESIGNED FOR A BETTER LIFESTYLE
========================================================= */

.lifestyle-section {
    position: relative;

    padding: 95px 0 105px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(213, 173, 97, 0.12),
            transparent 38%
        ),
        #f7f2e8;

    overflow: hidden;
}


/* decorative background circles */

.lifestyle-section::before {
    content: "";

    position: absolute;

    width: 450px;
    height: 450px;

    border-radius: 50%;

    left: -250px;
    top: -180px;

    border: 1px solid rgba(213, 173, 97, 0.2);
}


.lifestyle-section::after {
    content: "";

    position: absolute;

    width: 500px;
    height: 500px;

    border-radius: 50%;

    right: -290px;
    bottom: -300px;

    border: 1px solid rgba(213, 173, 97, 0.2);
}


/* container */

.lifestyle-container {
    position: relative;
    z-index: 2;
}


/* heading */

.lifestyle-heading {
    text-align: center;

    max-width: 850px;

    margin: 0 auto 62px;
}


.lifestyle-kicker {
    display: inline-block;

    color: #d5a449;

    font-size: 14px;

    font-weight: 700;

    letter-spacing: 4px;

    margin-bottom: 20px;
}


.lifestyle-heading h2 {
    font-family: "Playfair Display", serif;

    font-size: clamp(52px, 5vw, 78px);

    line-height: 0.98;

    font-weight: 600;

    color: #092747;

    letter-spacing: -2px;
}


.lifestyle-heading h2 em {
    display: block;

    color: #d8aa52;

    font-weight: 500;

    font-style: italic;

    margin-top: 8px;
}


/* amenities wrapper */

.lifestyle-features {
    width: min(100%, 1250px);

    margin: 0 auto;

    display: flex;

    flex-wrap: wrap;

    justify-content: center;

    align-items: center;

    gap: 18px;
}


/* individual pill */

.lifestyle-feature {
    min-width: 225px;

    height: 72px;

    padding: 0 25px;

    display: flex;

    align-items: center;

    justify-content: flex-start;

    gap: 14px;

    background: rgba(255, 255, 255, 0.92);

    border: 1px solid rgba(9, 39, 71, 0.07);

    border-radius: 100px;

    color: #092747;

    box-shadow:
        0 10px 30px rgba(9, 39, 71, 0.07);

    position: relative;

    overflow: hidden;

    cursor: default;

    transition:
        transform 0.35s ease,
        color 0.35s ease,
        box-shadow 0.35s ease,
        border-color 0.35s ease;
}


/* hover background animation */

.lifestyle-feature::before {
    content: "";

    position: absolute;

    inset: 0;

    background:
        linear-gradient(
            120deg,
            #092747,
            #123b64
        );

    transform: translateY(105%);

    transition:
        transform 0.4s
        cubic-bezier(.2, .8, .2, 1);

    z-index: 0;
}


.lifestyle-feature:hover::before {
    transform: translateY(0);
}


.lifestyle-feature:hover {
    color: #ffffff;

    transform: translateY(-7px);

    border-color: transparent;

    box-shadow:
        0 20px 40px rgba(9, 39, 71, 0.16);
}


/* icon */

.lifestyle-icon {
    position: relative;
    z-index: 2;

    flex: 0 0 42px;

    width: 42px;
    height: 42px;

    display: grid;

    place-items: center;

    border-radius: 50%;

    background:
        rgba(213, 173, 97, 0.14);

    color: #d5a449;

    font-size: 17px;

    transition:
        transform 0.4s ease,
        background 0.4s ease,
        color 0.4s ease;
}


.lifestyle-feature:hover .lifestyle-icon {
    background: #d5ad61;

    color: #092747;

    transform:
        rotate(-8deg)
        scale(1.12);
}


/* text */

.lifestyle-feature > span {
    position: relative;
    z-index: 2;

    white-space: nowrap;

    font-size: 16px;

    font-weight: 600;
}


/* =========================================================
   MASTER PLAN
========================================================= */

.masterplan-section {

  background: white;

}


.masterplan-container {

  display: grid;

  grid-template-columns:
    .85fr 1.15fr;

  gap: 75px;

  align-items: center;

}


.masterplan-content h2 {

  font-family:
    "Playfair Display",
    serif;

  color:
    var(--navy);

  font-size:
    clamp(2.8rem,4.5vw,5.2rem);

  line-height: 1.05;

}


.masterplan-content h2 em {

  display:
    block;

  color:
    var(--gold);

  font-weight: 500;

}


.masterplan-content > p {

  color:
    var(--muted);

  line-height: 1.7;

  font-size: 1.08rem;

  margin:
    24px 0;

}


.gold-text {

  color:
    var(--gold);

}


.location-list {

  display: grid;

  gap: 15px;

  margin-bottom: 30px;

}


.location-list div {

  display: flex;

  align-items: center;

  gap: 12px;

}


.location-list i {

  width: 42px;
  height: 42px;

  border-radius: 12px;

  display: grid;

  place-items: center;

  color:
    var(--navy);

  background:
    rgba(213,173,97,.17);

}


.masterplan-image {

  position: relative;

  border-radius: 30px;

  overflow: hidden;

  box-shadow:
    var(--shadow);

}


.masterplan-image img {

  width: 100%;

  min-height: 560px;

  object-fit: cover;

  transition:
    transform .8s ease;

}


.masterplan-image:hover img {

  transform:
    scale(1.035);

}


.image-badge {

  position: absolute;

  right: 20px;
  bottom: 20px;

  display: flex;

  align-items: center;

  gap: 9px;

  padding:
    12px 18px;

  border-radius:
    100px;

  color: white;

  background:
    rgba(6,27,49,.85);

  backdrop-filter:
    blur(15px);

}


/* =========================================================
   INVESTMENT
========================================================= */

.investment-section {

  background:
    #f7f8fa;

}


.investment-grid {

  display: grid;

  grid-template-columns:
    repeat(3,1fr);

  gap: 22px;

}


.investment-card {

  position: relative;

  background: white;

  padding: 38px;

  min-height: 310px;

  border-radius: 24px;

  box-shadow:
    0 10px 35px rgba(0,0,0,.05);

  transition:
    box-shadow .35s ease;

}


.investment-card:hover {

  box-shadow:
    0 25px 55px rgba(9,39,71,.12);

}


.investment-card > span {

  position: absolute;

  top: 25px;
  right: 28px;

  color:
    #d4d8dc;

  font-weight: 700;

}


.investment-card > i {

  width: 70px;
  height: 70px;

  display: grid;

  place-items: center;

  border-radius: 20px;

  background:
    var(--navy);

  color:
    var(--gold-light);

  font-size: 1.8rem;

  margin-bottom: 38px;

}


.investment-card h3 {

  color:
    var(--navy);

  font-family:
    "Playfair Display",
    serif;

  font-size: 1.6rem;

  margin-bottom: 12px;

}


.investment-card p {

  color:
    var(--muted);

  line-height: 1.6;

}


/* =========================================================
   WHY
========================================================= */

.why-grid {

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 18px;

  max-width:
    1050px;

  margin: auto;

}


.why-card {

  display: flex;

  gap: 20px;

  padding: 28px;

  background:
    var(--navy);

  border-radius: 18px;

  color: white;

  transition:
    transform .35s ease,
    background .35s ease;

}


.why-card:hover {

  transform:
    translateY(-7px);

  background:
    #10375e;

}


.why-icon {

  min-width: 48px;
  width: 48px;
  height: 48px;

  display: grid;

  place-items: center;

  border-radius: 50%;

  background:
    var(--gold);

  color:
    var(--navy);

}


.why-card h3 {

  font-size: 1.1rem;

  margin-bottom: 7px;

}


.why-card p {

  font-size: .93rem;

  color:
    rgba(255,255,255,.65);

  line-height: 1.6;

}


/* =========================================================
   GROWTH
========================================================= */

.growth-section {

  background:
    #f4f0e6;

}


.growth-card {

  background:
    var(--navy);

  border-radius: 30px;

  padding: 55px;

  display: grid;

  grid-template-columns:
    .75fr 1.25fr;

  align-items: center;

  gap: 50px;

  color: white;

  overflow: hidden;

  position: relative;

}


.growth-card::before {

  content: "";

  position: absolute;

  width: 380px;
  height: 380px;

  border-radius: 50%;

  right: -180px;
  top: -180px;

  background:
    var(--gold);

  opacity: .1;

}


.growth-content > span {

  color:
    var(--gold-light);

  text-transform:
    uppercase;

  letter-spacing:
    .16em;

  font-size:
    .8rem;

}


.growth-content h2 {

  font-family:
    "Playfair Display",
    serif;

  font-size: 3rem;

  line-height: 1.08;

  color:
    var(--gold-light);

  margin:
    12px 0 20px;

}


.growth-content p {

  color:
    rgba(255,255,255,.66);

  line-height: 1.65;

}


.growth-values {

  display: flex;

  align-items: center;

  justify-content:
    space-between;

  gap: 15px;

}


.growth-item {

  text-align: center;

}


.growth-item span,
.growth-item small {

  display: block;

}


.growth-item span {

  color:
    rgba(255,255,255,.6);

}


.growth-item strong {

  display: block;

  font-size: 2rem;

  margin:
    8px 0;

  color:
    var(--gold-light);

}


.growth-item.active {

  background:
    var(--gold);

  color:
    var(--navy);

  padding:
    27px 25px;

  border-radius:
    18px;

}


.growth-item.active span,
.growth-item.active strong,
.growth-item.active small {

  color:
    var(--navy);

}


.growth-arrow {

  color:
    var(--gold);

  font-size:
    1.3rem;

}


/* =========================================================
   FAQ + CONTACT
========================================================= */

.contact-section {

  background:
    #ffffff;

}


.contact-container {

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 70px;

  align-items: start;

}


.left-heading {

  text-align: left;

  margin:
    0 0 35px;

}


.faq-list {

  display: grid;

  gap: 10px;

}


.faq-item {

  border-bottom:
    1px solid #dcdfe3;

}


.faq-question {

  width: 100%;

  min-height: 72px;

  display: flex;

  justify-content:
    space-between;

  align-items: center;

  gap: 20px;

  border: 0;

  background:
    transparent;

  color:
    var(--navy);

  text-align: left;

  font-size:
    1.03rem;

  font-weight: 700;

}


.faq-question i {

  color:
    var(--gold);

  transition:
    transform .3s ease;

}


.faq-item.active .faq-question i {

  transform:
    rotate(45deg);

}


.faq-answer {

  height: 0;

  overflow: hidden;

}


.faq-answer > div {

  padding:
    0 40px 25px 0;

  color:
    var(--muted);

  line-height: 1.7;

}


.contact-form-wrapper {

  background:
    var(--navy);

  border-radius: 28px;

  padding: 43px;

  color: white;

  box-shadow:
    0 30px 65px rgba(9,39,71,.17);

}


.contact-form-top span {

  color:
    var(--gold-light);

  text-transform:
    uppercase;

  letter-spacing:
    .14em;

  font-size: .8rem;

}


.contact-form-top h2 {

  font-family:
    "Playfair Display",
    serif;

  font-size: 2.7rem;

  margin:
    8px 0 10px;

}


.contact-form-top h2 em {

  color:
    var(--gold-light);

}


.contact-form-top p {

  color:
    rgba(255,255,255,.62);

  margin-bottom:
    28px;

}


.contact-field-row {

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 14px;

}


.contact-field {

  margin-bottom:
    15px;

}


.contact-field label {

  display: block;

  font-size:
    .84rem;

  margin-bottom:
    8px;

  color:
    rgba(255,255,255,.75);

}


.contact-field input,
.contact-field textarea {

  width: 100%;

  border:
    1px solid rgba(255,255,255,.14);

  background:
    rgba(255,255,255,.08);

  color: white;

  border-radius:
    12px;

  padding:
    15px;

  outline: none;

  transition:
    border .3s ease,
    background .3s ease;

}


.contact-field input {

  height: 56px;

}


.contact-field input::placeholder,
.contact-field textarea::placeholder {

  color:
    rgba(255,255,255,.38);

}


.contact-field input:focus,
.contact-field textarea:focus {

  border-color:
    var(--gold);

  background:
    rgba(255,255,255,.11);

}


.dark-submit {

  margin-top:
    10px;

}


/* =========================================================
   MAP
========================================================= */

.map-section {

  height:
    520px;

}


.map-section iframe {

  width: 100%;
  height: 100%;

  border: 0;

  filter:
    saturate(.8)
    contrast(.95);

}


/* =========================================================
   FOOTER
========================================================= */

.footer {

  position: relative;

  background:
    #061b31;

  color: white;

}


.footer-gradient {

  height: 4px;

  background:

    linear-gradient(

      90deg,

      transparent,

      var(--gold),

      transparent

    );

}


.footer-container {

  padding:
    75px 0;

  display: grid;

  grid-template-columns:
    1fr 1fr;

  gap: 80px;

  align-items: center;

}


.footer-logo {

  width: 200px;

  margin-bottom: 24px;

}


.footer-left h3 {

  font-family:
    "Playfair Display",
    serif;

  font-size:
    1.7rem;

}


.footer-left > p {

  color:
    rgba(255,255,255,.56);

  margin:
    8px 0 20px;

}


.footer-contact {

  display: flex;

  flex-direction: column;

  gap: 11px;

}


.footer-contact a {

  display: flex;

  align-items: center;

  gap: 10px;

}


.footer-contact i {

  color:
    var(--gold);

}


.footer-right {

  text-align:
    right;

}


.footer-right > img {

  width:
    310px;

  margin-left:
    auto;

}


.footer-right > p {

  color:
    rgba(255,255,255,.6);

  margin:
    18px 0;

}


.social-icons {

  display: flex;

  justify-content:
    flex-end;

  gap: 10px;

}


.social-icons a {

  width: 42px;
  height: 42px;

  border-radius: 50%;

  display: grid;

  place-items: center;

  border:
    1px solid rgba(255,255,255,.18);

  transition:
    .3s ease;

}


.social-icons a:hover {

  background:
    var(--gold);

  color:
    var(--navy);

  transform:
    translateY(-4px);

}


.footer-bottom {

  text-align: center;

  padding: 18px;

  border-top:
    1px solid rgba(255,255,255,.08);

  color:
    rgba(255,255,255,.45);

  font-size:
    .87rem;

}


/* =========================================================
   WHATSAPP
========================================================= */

.whatsapp-btn {

  position: fixed;

  right: 24px;
  bottom: 24px;

  z-index: 8000;

  height: 58px;

  display: flex;

  align-items: center;

  gap: 10px;

  padding:
    0 20px;

  border-radius:
    100px;

  background:
    #25d366;

  color: white;

  box-shadow:
    0 15px 35px rgba(0,0,0,.2);

  font-weight: 700;

  transition:
    transform .3s ease;

}


.whatsapp-btn:hover {

  transform:
    translateY(-5px)
    scale(1.02);

}


.whatsapp-btn i {

  font-size: 1.5rem;

}


/* =========================================================
   BROCHURE MODAL
========================================================= */

.brochure-modal {

  position: fixed;

  inset: 0;

  z-index:
    20000;

  display: grid;

  place-items:
    center;

  padding: 20px;

  visibility:
    hidden;

  pointer-events:
    none;

}


.brochure-modal.active {

  visibility:
    visible;

  pointer-events:
    auto;

}


.brochure-backdrop {

  position: absolute;

  inset: 0;

  background:
    rgba(3,14,25,.78);

  backdrop-filter:
    blur(12px);

  opacity: 0;

}


.brochure-modal-card {

  width:
    min(100%, 950px);

  max-height:
    92vh;

  position:
    relative;

  z-index: 2;

  display: grid;

  grid-template-columns:
    .85fr 1.15fr;

  overflow:
    auto;

  background:
    white;

  border-radius:
    26px;

  box-shadow:
    0 40px 100px rgba(0,0,0,.3);

  opacity: 0;

  transform:
    translateY(40px)
    scale(.94);

}


.modal-close {

  position:
    absolute;

  right: 16px;
  top: 16px;

  width: 43px;
  height: 43px;

  border-radius:
    50%;

  border: 0;

  background:
    rgba(6,27,49,.08);

  color:
    var(--navy);

  font-size:
    1rem;

  z-index: 5;

  transition:
    .3s ease;

}


.modal-close:hover {

  background:
    var(--navy);

  color:
    white;

  transform:
    rotate(90deg);

}


.brochure-modal-left {

  min-height:
    550px;

}


.brochure-image {

  width: 100%;
  height: 100%;

}


.brochure-image img {

  width: 100%;
  height: 100%;

  object-fit:
    cover;

}


.brochure-modal-content {

  padding:
    55px 48px;

}


.brochure-modal-content h2 {

  font-family:
    "Playfair Display",
    serif;

  font-size:
    2.7rem;

  color:
    var(--navy);

  line-height:
    1.05;

  margin-bottom:
    15px;

}


.brochure-modal-content h2 em {

  color:
    var(--gold);

}


.brochure-modal-content > p {

  color:
    var(--muted);

  line-height:
    1.6;

  margin-bottom:
    28px;

}


.modal-field {

  position: relative;

  margin-bottom:
    13px;

}


.modal-field i {

  position:
    absolute;

  left: 16px;
  top: 50%;

  transform:
    translateY(-50%);

  color:
    var(--gold);

}


.modal-field input {

  width: 100%;

  height: 57px;

  padding:
    0 16px 0 48px;

  border:
    1px solid #dfe2e6;

  background:
    #f8f8f8;

  border-radius:
    12px;

  outline: none;

  transition:
    .3s ease;

}


.modal-field input:focus {

  border-color:
    var(--gold);

  background:
    white;

}


.brochure-submit {

  margin-top:
    8px;

}


.dark-message {

  color:
    var(--navy);

}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

  .nav-menu {

    display: none;

  }


  .mobile-menu-btn {

    display: flex;

  }


  .nav-call {

    margin-left:
      auto;

    margin-right:
      20px;

  }


  .hero {

    min-height:
      auto;

  }


  .hero-container {

    grid-template-columns:
      1fr 420px;

    gap:
      45px;

    padding:
      150px 0 110px;

  }


  .hero-title {

    font-size:
      clamp(3.6rem,7vw,5.5rem);

  }


  .highlight-grid {

    grid-template-columns:
      repeat(3,1fr);

  }


  .highlight-card:nth-child(3)::after,
  .highlight-card:nth-child(6)::after {

    display: none;

  }


  .amenities-grid {

    grid-template-columns:
      repeat(2,1fr);

  }


  .masterplan-container {

    gap:
      40px;

  }


  .growth-card {

    grid-template-columns:
      1fr;

  }

}


/* =========================================================
   MOBILE / TABLET
========================================================= */

@media (max-width: 850px) {

  .section {

    padding:
      80px 0;

  }


  .cursor-dot,
  .cursor-ring {

    display:
      none;

  }


  .nav-container {

    height:
      78px;

  }


  .header.scrolled .nav-container {

    height:
      70px;

  }


  .logo img {

    width:
      165px;

  }


  .nav-call {

    display:
      none;

  }


  .hero-container {

    grid-template-columns:
      1fr;

    padding:
      135px 0 90px;

  }


  .hero-content {

    text-align:
      center;

  }


  .hero-label {

    margin-inline:
      auto;

  }


  .hero-description {

    margin-left:
      auto;

    margin-right:
      auto;

  }


  .hero-price {

    justify-content:
      center;

  }


  .hero-actions {

    justify-content:
      center;

  }


  .hero-form-wrapper {

    width:
      min(100%,600px);

    margin:
      auto;

  }


  .highlight-grid {

    grid-template-columns:
      repeat(2,1fr);

  }


  .highlight-card:nth-child(even)::after {

    display:
      none;

  }


  .highlight-card:nth-child(3)::after {

    display:
      block;

  }


  .clubhouse-section {

    min-height:
      520px;

  }


  .amenities-grid {

    grid-template-columns:
      1fr 1fr;

  }


  .gallery-slide {

    min-width:
      72%;

    height:
      430px;

  }


  .masterplan-container {

    grid-template-columns:
      1fr;

  }


  .masterplan-content {

    text-align:
      center;

  }


  .location-list {

    width:
      max-content;

    max-width:
      100%;

    margin:
      25px auto 30px;

    text-align:
      left;

  }


  .investment-grid {

    grid-template-columns:
      1fr;

  }


  .why-grid {

    grid-template-columns:
      1fr;

  }


  .contact-container {

    grid-template-columns:
      1fr;

  }


  .footer-container {

    grid-template-columns:
      1fr;

    text-align:
      center;

  }


  .footer-logo {

    margin:
      0 auto 24px;

  }


  .footer-contact {

    align-items:
      center;

  }


  .footer-right {

    text-align:
      center;

  }


  .footer-right > img {

    margin:
      auto;

  }


  .social-icons {

    justify-content:
      center;

  }


  .brochure-modal-card {

    grid-template-columns:
      1fr;

  }


  .brochure-modal-left {

    display:
      none;

  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 600px) {

  .container {

    width:
      min(91%,100%);

  }


  .section {

    padding:
      65px 0;

  }

.hero {
    min-height: auto;
    display: block;
    background: #061b31;
    overflow: hidden;
  }

  /* Mobile banner */
  .hero-media {
    position: relative;
    inset: auto;

    width: 100%;
    height: 62vh;
    min-height: 450px;
    max-height: 620px;

    background-image: url("assets/img/coast-mob.png");
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;

    transform: none !important;
  }

  /* Banner-la already design irundha dark overlay thevai illa */
  .hero-gradient {
    display: none;
  }

  .hero-noise {
    display: none;
  }

  .hero-container {
    position: relative;
    z-index: 3;

    display: block;

    width: 100%;
    min-height: auto;

    padding: 0 18px 45px;
  }

  /* Left-side desktop content mobile-la vendam na */
  .hero-content {
    display: none;
  }

  /* Form banner keela */
  .hero-form-wrapper {
    position: relative;

    grid-column: auto;

    width: 100%;
    max-width: 100%;

    margin: -35px auto 0;

    justify-self: auto;
    align-self: auto;

    z-index: 5;
  }

  .form-glow {
    display: none;
  }

  .hero-form {
    width: 100%;

    padding: 24px 18px;

    border-radius: 22px;

    background: rgba(9, 39, 71, 0.97);

    border: 1px solid rgba(213, 173, 97, 0.25);

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    box-shadow:
      0 20px 45px rgba(0, 0, 0, 0.22);
  }

  .form-header {
    margin-bottom: 20px;
  }

  .form-header span {
    font-size: 11px;
    letter-spacing: 2px;
  }

  .form-header h2 {
    font-size: 26px;
    line-height: 1.15;
    margin: 6px 0 7px;
  }

  .form-header p {
    font-size: 13px;
    line-height: 1.5;
  }

  .input-group {
    margin-bottom: 11px;
  }

  .input-group input,
  .input-group select {
    height: 52px;

    padding-left: 46px;

    font-size: 14px;

    border-radius: 11px;
  }

  .input-group > i {
    left: 16px;
    font-size: 14px;
  }

  .form-submit-btn {
    min-height: 53px;
    font-size: 14px;
    border-radius: 11px;
  }



  .project-highlights {

    margin-top:
      -35px;

  }


  .highlight-grid {

    grid-template-columns:
      1fr 1fr;

    padding:
      6px;

  }


  .highlight-card {

    min-height:
      130px;

    flex-direction:
      column;

    text-align:
      center;

    gap:
      8px;

  }


  .highlight-card::after {

    display:
      none !important;

  }


  .highlight-icon {

    width:
      44px;

    height:
      44px;

  }


  .section-heading {

    margin-bottom:
      38px;

  }


  .section-heading h2 {

    font-size:
      2.55rem;

  }


  .about-text {

    font-size:
      1rem;

    line-height:
      1.75;

  }


  .clubhouse-section {

    min-height:
      420px;

  }


  .clubhouse-content h2 {

    font-size:
      2.7rem;

  }


  .amenities-grid {

    grid-template-columns:
      1fr;

  }


  .amenity-card {

    min-height:
      290px;

  }


  .gallery-heading {

    align-items:
      center;

  }


  .gallery-controls {

    display:
      none;

  }


  .gallery-slide {

    min-width:
      88%;

    height:
      390px;

  }


  .gallery-caption {

    left:
      20px;

    right:
      20px;

    bottom:
      20px;

  }


  .gallery-caption h3 {

    font-size:
      1.35rem;

  }


  .masterplan-content h2 {

    font-size:
      2.7rem;

  }


  .masterplan-image img {

    min-height:
      400px;

  }


  .growth-card {

    padding:
      34px 22px;

  }


  .growth-content {

    text-align:
      center;

  }


  .growth-values {

    flex-direction:
      column;

  }


  .growth-arrow {

    transform:
      rotate(90deg);

  }


  .growth-item {

    width:
      100%;

  }


  .contact-field-row {

    grid-template-columns:
      1fr;

  }


  .contact-form-wrapper {

    padding:
      30px 21px;

  }


  .contact-form-top h2 {

    font-size:
      2.25rem;

  }


  .map-section {

    height:
      400px;

  }


  .whatsapp-btn {

    width:
      55px;

    height:
      55px;

    padding: 0;

    justify-content:
      center;

    right:
      16px;

    bottom:
      16px;

  }


  .whatsapp-btn span {

    display:
      none;

  }


  .brochure-modal {

    padding:
      12px;

  }


  .brochure-modal-content {

    padding:
      45px 22px 28px;

  }


  .brochure-modal-content h2 {

    font-size:
      2.25rem;

  }

}

.hp-field {
    position: absolute !important;
    left: -9999px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* =========================================================
   FINAL SMALL FIXES
   HEADER + FORM VISIBILITY + MOBILE VIDEO 16:9
========================================================= */


/* =========================================================
   1. HEADER - HERO-KU MELA SEPARATE-A
========================================================= */

.header {
    position: sticky;
    top: 0;
    left: 0;

    width: 100%;

    background: #ffffff;

    box-shadow:
        0 5px 22px rgba(9, 39, 71, 0.08);

    z-index: 9000;
}


/* Desktop nav always visible */

.nav-menu a {
    color: var(--navy);
}


/* Mobile hamburger */

.mobile-menu-btn span {
    background: var(--navy);
}


/* Scroll pannalum same clean header */

.header.scrolled {
    background: #ffffff;

    backdrop-filter: none;

    box-shadow:
        0 7px 25px rgba(9, 39, 71, 0.10);
}



/* =========================================================
   2. HERO FORM - TEXT CLEAR-A VISIBLE
========================================================= */

.hero-form {
    background:
        rgba(255, 255, 255, 0.22);

    border:
        1px solid rgba(255, 255, 255, 0.45);

    backdrop-filter: blur(20px);

    -webkit-backdrop-filter: blur(20px);
}


/* Inputs */

.hero-form .input-group input,
.hero-form .input-group select {

    background:
        rgba(255, 255, 255, 0.78);

    color: #092747;

    border:
        1px solid rgba(9, 39, 71, 0.14);

    font-weight: 500;
}


/* Placeholder */

.hero-form .input-group input::placeholder {

    color:
        rgba(9, 39, 71, 0.65);

}


/* Select */

.hero-form .input-group select {

    color: #092747;

}


/* Icons */

.hero-form .input-group > i {

    color: #b98a32;

}


/* Focus */

.hero-form .input-group input:focus,
.hero-form .input-group select:focus {

    background: #ffffff;

    border-color: #d5ad61;
}



/* =========================================================
   3. MOBILE VIDEO - EXACT 16:9
========================================================= */

@media (max-width: 600px) {

    .clubhouse-section {

        width: 100%;

        min-height: 0 !important;

        height: auto !important;

        aspect-ratio: 16 / 9;

        position: relative;

        display: block;

        overflow: hidden;

        background: #061b31;
    }


    .clubhouse-media {

        position: absolute;

        inset: 0;

        width: 100%;
        height: 100%;
    }


    .clubhouse-media video {

        width: 100%;
        height: 100%;

        object-fit: cover;

        display: block;
    }

}

/* =========================================================
   PROJECT HIGHLIGHTS - MOBILE ALIGN FIX
========================================================= */

@media (max-width: 600px) {

    .project-highlights {
        padding: 0 14px;
        margin-top: -34px;
        position: relative;
        z-index: 20;
    }

    .project-highlights .container {
        width: 100%;
        max-width: 100%;
        padding: 0;
    }

    .highlight-grid {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));

        width: 100%;

        gap: 0;

        padding: 16px 8px;

        background: #ffffff;

        border-radius: 22px;

        overflow: hidden;
    }

    .highlight-card {
        width: 100%;
        min-width: 0;
        min-height: 145px;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        text-align: center;

        gap: 9px;

        padding: 16px 7px;

        border-radius: 0;

        transform: none !important;
    }

    .highlight-icon {
        width: 50px;
        height: 50px;

        flex: 0 0 44px;

        margin: 0 auto;

        border-radius: 13px;
    }

    .highlight-card > div:last-child {
        width: 100%;

        display: flex;
        flex-direction: column;

        align-items: center;
        justify-content: center;

        gap: 4px;

        transform: none !important;
    }

    .highlight-card span {
        width: 100%;

        font-size: 13px;
        line-height: 1.25;

        white-space: nowrap;
    }

    .highlight-card strong {
        width: 100%;

        font-size: 14px;
        line-height: 1.35;

        text-align: center;

        white-space: normal;
        word-break: normal;
    }

    /* RERA ID only */
    .highlight-card:nth-child(3) strong {
        font-size: 12px;
        line-height: 1.3;

        overflow-wrap: anywhere;
    }

    /* Starting From */
    .highlight-card:nth-child(4) span {
        white-space: nowrap;
    }

    .highlight-card:nth-child(4) strong {
        white-space: nowrap;
    }

    /* Remove desktop separators */
    .highlight-card::after {
        display: none !important;
    }

}