/* ==============================
   ROOT VARIABLES
============================== */
:root {
  /* — Colors — */
      /* Functional */
  --raw-success:            #28A745;
  --raw-warning:            #FE9A00;
  --raw-blue:               #2563EB;
  --raw-wa-green:           #25D366;
  --raw-error:              #CC0033;

  --body-bg:               var(--color-white);
  --header-bg:               #E5EFEE;
  --color-primary:           #005B52;
  --color-primary-dark:      #003B35;
  --color-primary-deep:      #002D2C;
  --color-primary-light:     #009966;
  --color-primary-10:        rgba(0, 91, 82, 0.1);
  --color-primary-90:        rgba(0, 91, 82, 0.9);
  --color-bg-dark:           #001716;
  --color-bg-light:          #F9F9FB;
  --color-bg-light-green:    #E8F5ED;
  --color-white:             #FFFFFF;
  --color-black:             #000000;
  --color-text-primary:      #001716;
  /* --color-text-primary:      #101828; */
  --color-text-para:         #6A7282;
  --color-border-light:      #CCD8D7;
  --color-accent-gold:       #EFB100;
  --color-gold-dark:         #D39F51;
  --color-gold-mid:          #E5B566;
  --color-gold-light:        #FFF7A9;
  --color-success:           var(--raw-success);
  --color-success-dark:      #1E7E34;
  --color-warning:           var(--raw-warning);
  --color-warning-dark:      #E17100;
  --color-neutral-900:       #111111;
  --footer-color-text:       rgba(255, 255, 255, 0.8);



  --color-error:          var(--raw-error);
  --color-success:        var(--color-primary);
  --color-warning:        var(--raw-warning);

  /* — Gradients — */
  --gradient-gold-premium:   linear-gradient(90deg, var(--color-gold-mid) 0%, var(--color-gold-light) 50%, var(--color-gold-dark) 100%);
  --gradient-gold:           linear-gradient(135deg, var(--color-gold-mid) 0%, var(--color-gold-light) 100%);
  --gradient-btn:            linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-deep) 100%);
  --gradient-btn-cta:        linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-dark) 100%);
  --gradient-btn-2:          linear-gradient(135deg, var(--color-primary-light) 0%, var(--color-primary) 100%);
  --gradient-btn-3:          linear-gradient(135deg, var(--color-success) 0%, var(--color-success-dark) 100%);
  --gradient-btn-4:          linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%);
  --gradient-btn-5:          linear-gradient(180deg, var(--color-primary-dark) 0%, var(--color-primary-deep) 100%);
  --gradient-top-header:     linear-gradient(90deg, var(--color-bg-dark) 0%, var(--color-primary-dark) 50%, var(--color-bg-dark) 100%);
  --gradient-footer:         linear-gradient(0deg, var(--color-bg-dark) 0%, var(--color-primary) 100%);
  --gradient-tile:           linear-gradient(180deg, var(--color-primary-90) 0%, var(--color-bg-dark) 100%);
  --gradient-cta-bg:         linear-gradient(180deg, var(--color-primary) 0%, var(--color-bg-dark) 100%);
  --gradient-orange:         linear-gradient(135deg, var(--color-warning) 0%, var(--color-warning-dark) 100%);

  /* — Fonts — */
  --font-primary:   'Inter', sans-serif;
  --font-secondary: 'Playfair Display', serif;

  /* — Font Sizes — */
    --fs-2xs:  clamp(7.5px, 0.5263vw, 12.5px);
  --fs-xs:   clamp(9px, 0.6316vw, 15px);
  --fs-sm:   clamp(10.5px, 0.7368vw, 17.5px);
  --fs-md:   clamp(12px, 0.8421vw, 20px);
  --fs-lg:   clamp(15px, 1.0526vw, 25px);
  --fs-xl:   clamp(18px, 1.2632vw, 30px);
  --fs-2xl:  clamp(22.5px, 1.5789vw, 37.5px);
  --fs-3xl:  clamp(36px, 2.5263vw, 60px);

  --fs-h1: clamp(36px, 2.5263vw, 60px);
  --fs-h2: clamp(22.5px, 1.5789vw, 37.5px);
  --fs-h3: clamp(18px, 1.2632vw, 30px);
  --fs-h4: clamp(15px, 1.0526vw, 25px);
  --fs-h5: clamp(12px, 0.8421vw, 20px);
  --fs-h6: clamp(10.5px, 0.7368vw, 17.5px);
  --fs-p:  clamp(10.5px, 0.7368vw, 17.5px);

  --fs-btn:       clamp(12px, 0.8421vw, 20px);
  --fs-btn-sm:    clamp(10.5px, 0.7368vw, 17.5px);
  --fs-badge:     clamp(7.5px, 0.5263vw, 12.5px);
  --fs-badge-lg:  clamp(9px, 0.6316vw, 15px);
  --fs-badge-cap: clamp(7.5px, 0.5263vw, 12.5px);

  --fs-small:     clamp(9px, 0.6316vw, 15px);
  --lh-btn:         clamp(18px, 1.2632vw, 30px);
  --lh-btn-sm:      clamp(15px, 1.0526vw, 25px);
  --lh-p:           clamp(15px, 1.0526vw, 25px);
  --lh-h5:          clamp(18px, 1.2632vw, 30px);
  --lh-h6:          clamp(15px, 1.0526vw, 25px);
  --lh-small:       clamp(12px, 0.8421vw, 20px);
  --lh-xs:          clamp(12px, 0.8421vw, 20px);
  --lh-badge:       clamp(12px, 0.8421vw, 20px);

  /* --fs-2xs:  10px;
  --fs-xs:   12px;
  --fs-sm:   14px;
  --fs-md:   16px;
  --fs-lg:   20px;
  --fs-xl:   24px;
  --fs-2xl:  30px;
  --fs-3xl:  48px;

  --fs-h1: 48px;
  --fs-h2: 30px;
  --fs-h3: 24px;
  --fs-h4: 20px;
  --fs-h5: 16px;
  --fs-h6: 14px;
  --fs-p:  14px;

  --fs-btn:       16px;
  --fs-btn-sm:    14px;
  --fs-badge:     10px;
  --fs-badge-lg:  12px;
  --fs-badge-cap: 8.25px;
  --fs-small:     12px;
  --fs-input-label: 10px; */

  /* — Font Weights — */
  --fw-bold:     700;
  --fw-semibold: 600;
  --fw-medium:   500;
  --fw-regular:  400;

  /* — Line Heights — */
  /* --lh-btn:         24px;
  --lh-btn-sm:      20px;
  --lh-p:           20px;
  --lh-h5:          24px;
  --lh-h6:          20px;
  --lh-small:       16px;
  --lh-xs:          16px;
  --lh-badge:       16px;
  --lh-badge-lg:    16px;
  --lh-input-label: 16px; */

  /* — Letter Spacing — */
  --ls-tight:     0.5%;
  --ls-badge-cap: 0.6px;

  /* — Component tokens — */
  --breadcrumb-height:    250px;
  --hero-height:    100svh;
  --nav-height:     95px;
  --ticker-height:  45px;
  --mob-bar-height: 90px;
  --radius-sm:      6px;
  --radius-md:      10px;
  --radius-lg:      14px;
  --radius-xl:      18px;
  --radius-pill:     999px;
  --shadow-sm:      0 2px 12px rgba(0, 0, 0, 0.07);
  --shadow-md:      0 8px 32px rgba(0, 0, 0, 0.13);
  --transition:     0.16s ease;
  --transition-fast: 0.22s cubic-bezier(0.4,0,0.2,1);
  --transition-med: 0.38s cubic-bezier(0.4,0,0.2,1);
  --transition-slow: 0.52s cubic-bezier(0.4,0,0.2,1);

    /* Hero-specific tokens */
  --hero-overlay:     rgba(0,23,22,0.54);
  --hero-pill-bg:     rgba(255,255,255,0.11);
  --hero-pill-border: rgba(255,255,255,0.2);
  --hero-text-muted:  rgba(255,255,255,0.7);
  --hero-search-bg:   rgba(255,255,255,0.97);
}

h1,h2,h3,h4,h5,h6,p,dd,dt { margin-bottom: 0px; }
dl, ol, ul {
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
}

@keyframes dw-ticker-pulse-in {
  from { opacity: 0; }
  to   { opacity: 1; }
}

@keyframes dw-contact-drop-in {
  from { opacity: 0; transform: translateY(-8px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ==============================
   TYPOGRAPHY CLASSES
============================== */

/* Headings */
.h1 {
  font-family: var(--font-primary);
  font-size: var(--fs-h1);
  font-weight: var(--fw-bold);
}

.h2 {
  font-family: var(--font-primary);
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);
}

.h3 {
  font-family: var(--font-primary);
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
}

.h4 {
  font-family: var(--font-primary);
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
}

.h5 {
  font-family: var(--font-primary);
  font-size: var(--fs-h5);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-h5);
}

.h6 {
  font-family: var(--font-primary);
  font-size: var(--fs-h6);
  font-weight: var(--fw-semibold);
  line-height: var(--lh-h6);
}

/* Paragraph */
.p {
  font-family: var(--font-primary);
  font-size: var(--fs-p);
  font-weight: var(--fw-regular);
  line-height: var(--lh-p);
  color: var(--color-text-para);
}


/* ==============================
   BUTTON
============================== */
.btn-text {
  font-family: var(--font-primary);
  font-size: var(--fs-btn);
  font-weight: var(--fw-btn);
  line-height: var(--lh-btn);
}

.btn-text-sm {
  font-family: var(--font-primary);
  font-size: var(--fs-btn-sm);
  font-weight: var(--fw-btn-sm);
  line-height: var(--lh-btn-sm);
}


/* ==============================
   BADGE
============================== */
.badge {
  font-family: var(--font-primary);
  font-size: var(--fs-badge);
  font-weight: var(--fw-badge);
  line-height: var(--lh-badge);
}

.badge-lg {
  font-family: var(--font-primary);
  font-size: var(--fs-badge-lg);
  font-weight: var(--fw-badge-lg);
  line-height: var(--lh-badge-lg);
}

.badge-cap {
  font-family: var(--font-primary);
  font-size: var(--fs-badge-cap);
  font-weight: var(--fw-badge);
  letter-spacing: var(--ls-badge-cap);
  text-transform: uppercase;
}


/* ==============================
   SMALL TEXT
============================== */
.text-small {
  font-family: var(--font-primary);
  font-size: var(--fs-small);
  font-weight: var(--fw-small);
  line-height: var(--lh-small);
}

.text-xs {
  font-family: var(--font-primary);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-xs);
  line-height: var(--lh-xs);
}


/* ==============================
   INPUT LABEL
============================== */
.input-label {
  font-family: var(--font-primary);
  font-size: var(--fs-input-label);
  font-weight: var(--fw-input-label);
  line-height: var(--lh-input-label);
}

/* ============================================================
    RESET — scoped to .dw-* elements only via body class.
    Using tag-level reset only for body/html to avoid bleed.
============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: var(--nav-height);}
body { font-family: var(--font-primary); background: var(--body-bg); color: var(--color-text-primary); }
a,a:hover    { text-decoration: none; color: inherit; }
button { font-family: var(--font-primary); cursor: pointer; }
ul, ol { list-style: none; }

/* ============================================================
    TICKER BAR  —  .dw-ticker
============================================================ */
.dw-ticker {
  background: var(--gradient-top-header);
  height: var(--ticker-height);
  display: flex;
  align-items: center;
  overflow: hidden;
  position: relative;
  z-index: 10;
  padding: 8px;
}

.dw-ticker__cta {
  flex-shrink: 0;
  background: var(--gradient-gold);
  color: var(--color-bg-dark);
  border: 1px solid var(--color-gold-mid);
  font-family: var(--font-primary);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: 1px;
  text-transform: uppercase;
  padding: 0 16px;
  border-radius: var(--radius-sm);
  height: 100%;
  border: none;
  white-space: nowrap;
  transition: opacity var(--transition);
}
.dw-ticker__cta:hover { opacity: 0.88; }

.dw-ticker__track {
  flex: 1;
  overflow: hidden;
  /* Loading state — shows before API data arrives */
  position: relative;
}

/* Skeleton pulse shown while ticker data is loading */
.dw-ticker__track--loading::after {
  content: '';
  display: block;
  height: 10px;
  width: 280px;
  border-radius: 4px;
  background: linear-gradient(90deg,
    rgba(200, 225, 200, 0.15) 25%,
    rgba(200, 225, 200, 0.3)  50%,
    rgba(200, 225, 200, 0.15) 75%
  );
  background-size: 400% 100%;
  animation: dw-shimmer 1.4s infinite, dw-ticker-pulse-in 0.3s ease;
  margin: auto 20px;
}


/* JS injects this element */
.dw-ticker__inner {
  display: inline-flex;
  white-space: nowrap;
  animation: dw-ticker-scroll 40s linear infinite;
}
.dw-ticker__inner:hover { animation-play-state: paused; }

.dw-ticker__item {
  /* color: rgba(200, 225, 200, 0.85); */
  color: var(--color-bg-light-green);
  font-size: var(--fs-xs);
  font-weight: var(--fw-regular);
  letter-spacing: 0.3px;
  padding-right: 30px;
}
.dw-ticker__item strong {
  color: var(--color-warning);
  font-weight: var(--fw-semibold);
}

@keyframes dw-ticker-scroll {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* ============================================================
    SITE HEADER (desktop)  —  .dw-header
============================================================ */
.dw-header {
  background: var(--header-bg, var(--gradient-top-header));
  border-bottom: 1px solid var(--color-border-light);
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: var(--shadow-sm);
}

.dw-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 28px;
  height: var(--nav-height);
  gap: 12px;
}

/* — Logo — */
.dw-logo {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
  text-decoration: none;
}

img.dw-logo__image {
    object-fit: contain !important;
    width: auto;
    height: 80px;
}

/* — Primary Nav — */
.dw-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  justify-content: center;
}
.dw-nav__item { position: relative; }

.dw-nav__link,
.dw-nav__trigger {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 8px 13px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
}
.dw-nav__link:hover,
.dw-nav__trigger:hover,
.dw-nav__trigger[aria-expanded="true"] {
  background: var(--color-white);
  /* background: var(--color-bg-light-green); */
  color: var(--color-primary);
}

.dw-nav__chevron {
  width: 9px;
  height: 9px;
  flex-shrink: 0;
  transition: transform 0.22s;
  color: var(--color-text-para);
}
.dw-nav__trigger[aria-expanded="true"] .dw-nav__chevron {
  transform: rotate(180deg);
}

/* — Mega Menu — */
.dw-mega {
  display: none;
  position: absolute;
  top: calc(100% + 10px);
  left: 0%;
  transform: translateX(-10%);
  background: var(--color-white);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  z-index: 300;
  overflow: hidden;
  animation: dw-drop-in 0.18s ease;
}
.dw-mega.dw-mega--open { display: flex; }

@keyframes dw-drop-in {
  from { opacity: 0; transform: translateX(-10%) translateY(-8px); }
  to   { opacity: 1; transform: translateX(-10%) translateY(0); }
}

.dw-mega--projects { min-width: 760px; }

.dw-mega--simple {
  flex-direction: column;
  min-width: 210px;
}
.dw-mega--simple .dw-mega__simple-list { padding: 10px 0; margin-bottom: 0; }
.dw-mega--simple .dw-mega__simple-list li a {
  display: block;
  padding: 10px 20px;
  font-size: var(--fs-sm);
  color: var(--color-text-primary);
  border-radius: var(--radius-sm);
  margin: 2px 8px;
  transition: background var(--transition), color var(--transition);
}
.dw-mega--simple .dw-mega__simple-list li a:hover {
  background: var(--color-bg-light-green);
  color: var(--color-primary);
}

/* Mega columns */
.dw-mega__col {
  padding: 18px 0;
  border-right: 1px solid var(--color-bg-light-green);
}
.dw-mega__col ul {
  padding-left: 0;
}
.dw-mega__col:last-child { border-right: none; }

.dw-mega__col-label {
  font-size: var(--fs-2xs);
  font-weight: var(--fw-bold);
  letter-spacing: 1.8px;
  text-transform: uppercase;
  color: var(--color-text-para);
  padding: 0 16px 10px;
  margin-bottom: 0;
}

/* City buttons */
.dw-mega__city-btn {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 9px 16px;
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  background: none;
  border: none;
  text-align: left;
  transition: background var(--transition), color var(--transition);
}
.dw-mega__city-btn:hover,
.dw-mega__city-btn--active {
  background: var(--color-primary);
  color: var(--color-white);
}
.dw-mega__city-count {
  background: rgba(0, 0, 0, 0.08);
  border-radius: 20px;
  font-size: var(--fs-xs);
  padding: 1px 7px;
  font-weight: var(--fw-semibold);
}
.dw-mega__city-btn--active .dw-mega__city-count {
  background: rgba(255, 255, 255, 0.25);
}

/* Type buttons */
.dw-mega__type-btn {
  display: block;
  width: calc(100% - 16px);
  margin: 2px 8px;
  padding: 9px 12px;
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  background: none;
  border: none;
  border-radius: var(--radius-sm);
  text-align: left;
  transition: background var(--transition), color var(--transition);
}
.dw-mega__type-btn:hover { background: var(--color-bg-light-green); }
.dw-mega__type-btn--active {
  background: var(--color-primary-10);
  color: var(--color-primary);
  font-weight: var(--fw-semibold);
}

/* Props panel */
.dw-mega__props-panel {
  flex: 1;
  padding: 18px;
  max-height: 360px;
  overflow-y: auto;
  min-width: 280px;
}
.dw-mega__props-panel::-webkit-scrollbar { width: 4px; }
.dw-mega__props-panel::-webkit-scrollbar-thumb {
  background: var(--color-border-light);
  border-radius: 4px;
}

.dw-mega__props-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 14px;
}
.dw-mega__props-title {
  font-family: var(--font-secondary);
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
  color: var(--color-primary-deep);
  margin-bottom: 0;
}
.dw-mega__props-viewall {
  font-size: var(--fs-xs);
  color: var(--color-primary);
  font-weight: var(--fw-semibold);
  transition: color var(--transition);
}
.dw-mega__props-viewall:hover { color: var(--color-primary-light); }

/* Skeleton loader */
.dw-prop-skeleton {
  display: flex;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--color-bg-light-green);
  border-radius: var(--radius-md);
  margin-bottom: 8px;
}
.dw-prop-skeleton__thumb {
  width: 74px;
  height: 58px;
  border-radius: 8px;
  background: linear-gradient(90deg, #e8f5ed 25%, #d4ece0 50%, #e8f5ed 75%);
  background-size: 200% 100%;
  animation: dw-shimmer 1.4s infinite;
  flex-shrink: 0;
}
.dw-prop-skeleton__body {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 7px;
  justify-content: center;
}
.dw-prop-skeleton__line {
  height: 11px;
  border-radius: 4px;
  background: linear-gradient(90deg, #e8f5ed 25%, #d4ece0 50%, #e8f5ed 75%);
  background-size: 200% 100%;
  animation: dw-shimmer 1.4s infinite;
}
.dw-prop-skeleton__line--short { width: 55%; }

@keyframes dw-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* Prop card */
.dw-prop-card {
  display: flex;
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  margin-bottom: 8px;
  text-decoration: none;
  transition: box-shadow var(--transition), background var(--transition);
}
.dw-prop-card:hover {
  box-shadow: 0 4px 16px rgba(0, 91, 82, 0.12);
  background: var(--color-bg-light-green);
}
.dw-prop-card__thumb {
  width: 74px;
  height: 58px;
  border-radius: 8px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  background: var(--gradient-tile);
  overflow: hidden;
}

.dw-prop-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dw-prop-card__body { flex: 1; min-width: 0; }
.dw-prop-card__name {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  color: var(--color-primary-deep);
  line-height: 1.4;
  margin-bottom: 3px;
}
.dw-prop-card__loc {
  font-size: var(--fs-2xs);
  color: var(--color-text-para);
  margin-bottom: 5px;
}
.dw-prop-card__price {
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--color-primary);
  margin-bottom: 0 !important;
}

/* Error & empty states */
.dw-mega__error {
  padding: 20px;
  text-align: center;
  font-size: var(--fs-sm);
  color: var(--color-text-para);
}

/* — Header Actions — */
.dw-header__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.dw-btn-icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid var(--color-border-light);
  background: var(--color-white);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-primary);
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}
.dw-btn-icon:hover {
  background: var(--color-bg-light-green);
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.dw-btn-icon svg { width: 16px; height: 16px; }

.dw-btn-call {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--gradient-btn);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-sm);
  padding: 9px 16px;
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  white-space: nowrap;
  text-decoration: none;
  transition: opacity var(--transition);
}
.dw-btn-call:hover { opacity: 0.88; }

/* ── Get in touch dropdown  —  .dw-contact-drop ── */
.dw-contact-drop {
  position: relative;
}

.dw-contact-drop__chevron {
  width: 9px;
  height: 9px;
  flex-shrink: 0;
  margin-left: 2px;
  transition: transform 0.22s;
  opacity: 0.8;
}
.dw-btn-call[aria-expanded="true"] .dw-contact-drop__chevron {
  transform: rotate(180deg);
}

.dw-contact-menu {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  min-width: 210px;
  background: var(--color-white);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-xl);
  box-shadow: var(--shadow-md);
  padding: 8px;
  z-index: 300;
  animation: dw-contact-drop-in 0.18s ease;
}
.dw-contact-menu[hidden] { display: none; }

.dw-contact-menu__item {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 11px 14px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  border-radius: var(--radius-md);
  text-decoration: none;
  transition: background var(--transition), color var(--transition);
  white-space: nowrap;
}
.dw-contact-menu__item:hover {
  background: var(--color-bg-light-green);
  color: var(--color-primary);
}
.dw-contact-menu__item:hover .dw-contact-menu__icon {
  color: var(--color-primary);
}

.dw-contact-menu__icon {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--color-bg-light-green);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-primary);
  transition: color var(--transition);
}

/* Overlay */
#dw-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 150;
  background: rgba(0, 0, 0, 0.18);
}
#dw-overlay.dw-overlay--active { display: block; }

/* ============================================================
    MOBILE BAR  —  .dw-mob-bar
============================================================ */
.dw-mob-bar {
  display: none;
  align-items: center;
  justify-content: space-between;
  padding: 10px 16px;
  height: var(--mob-bar-height);
  background:  var(--header-bg, var(--gradient-top-header));;
  position: sticky;
  top: 0;
  z-index: 200;
  box-shadow: var(--shadow-sm);
}
.dw-mob-logo {
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
}


img.dw-mob-logo__image {
  width: auto;
  height: 80px;
  object-fit: contain !important;
}

.dw-mob-actions { display: flex; align-items: center; gap: 6px; }
.dw-mob-icon-btn {
  width: 36px;
  height: 36px;
  background: var(--color-white);
  border: 1px solid var(--color-primary-10);
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  position: relative;
  transition: background var(--transition);
}
.dw-mob-icon-btn:hover { background: var(--color-primary);color: var(--color-white); }
.dw-mob-icon-btn svg { width: 18px; height: 18px; }
.dw-mob-badge {
  position: absolute;
  top: -3px;
  right: -3px;
  background: var(--gradient-gold);
  color: var(--color-bg-dark);
  font-size: 9px;
  font-weight: var(--fw-bold);
  width: 15px;
  height: 15px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.dw-mob-ham {
  width: 36px;
  height: 36px;
  background: var(--gradient-gold);
  border: none;
  border-radius: 8px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity var(--transition);
}
.dw-mob-ham:hover { opacity: 0.88; }
.dw-mob-ham svg { width: 18px; height: 18px; color: var(--color-bg-dark); }

/* ============================================================
    MOBILE DRAWER  —  .dw-drawer
============================================================ */
.dw-drawer {
  display: none;
  position: fixed;
  left: 0; right: 0; bottom: 0;
  top: calc(var(--ticker-height) + var(--mob-bar-height));
  background: var(--color-white);
  z-index: 190;
  overflow-y: auto;
  flex-direction: column;
}
.dw-drawer.dw-drawer--open { display: flex; }
.dw-drawer__section { border-bottom: 1px solid var(--color-bg-light-green); }

.dw-drawer__toggle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-text-primary);
  background: none;
  border: none;
  text-align: left;
}
.dw-drawer__toggle svg {
  width: 11px;
  height: 11px;
  transition: transform 0.2s;
  flex-shrink: 0;
}
.dw-drawer__toggle[aria-expanded="true"] { color: var(--color-primary); }
.dw-drawer__toggle[aria-expanded="true"] svg { transform: rotate(180deg); }

.dw-drawer__link {
  display: block;
  padding: 15px 20px;
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-text-primary);
  text-decoration: none;
}
.dw-drawer__link:hover { color: var(--color-primary); background: var(--color-bg-light-green); }

.dw-drawer__sub {
  display: none;
  background: var(--color-bg-light);
  border-top: 1px solid var(--color-bg-light-green);
}
.dw-drawer__sub.dw-drawer__sub--open { display: block; }

.dw-drawer__sub-links a {
  display: block;
  padding: 11px 28px;
  font-size: var(--fs-sm);
  color: var(--color-neutral-900);
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  transition: color var(--transition), background var(--transition);
}
.dw-drawer__sub-links a:hover {
  background: var(--color-bg-light-green);
  color: var(--color-primary);
}


/* — Mobile contact items  —  .dw-mob-contact__item — */
.dw-mob-contact__item {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 13px 20px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text-primary);
  text-decoration: none;
  border-bottom: 1px solid rgba(0, 0, 0, 0.04);
  background: var(--color-bg-light);
  transition: background var(--transition), color var(--transition);
}
.dw-mob-contact__item:last-child { border-bottom: none; }
.dw-mob-contact__item:hover {
  background: var(--color-bg-light-green);
  color: var(--color-primary);
}
.dw-mob-contact__item:hover .dw-mob-contact__icon {
  color: var(--color-primary);
}

.dw-mob-contact__icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--color-white);
  border: 1px solid var(--color-border-light);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  color: var(--color-primary);
  transition: color var(--transition), border-color var(--transition);
}
.dw-mob-contact__item:hover .dw-mob-contact__icon {
  border-color: var(--color-primary);
}
/* — Mobile Projects Panel — */
.dw-mob-projects { padding: 16px; }

.dw-mob-city-tabs {
  display: flex;
  gap: 6px;
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: none;
}
.dw-mob-city-tabs::-webkit-scrollbar { display: none; }

.dw-mob-city-tab {
  flex-shrink: 0;
  padding: 6px 13px;
  border-radius: 20px;
  border: 1.5px solid var(--color-border-light);
  font-family: var(--font-primary);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  color: var(--color-text-para);
  background: var(--color-white);
  white-space: nowrap;
  transition: all var(--transition);
}
.dw-mob-city-tab:hover { border-color: var(--color-primary); color: var(--color-primary); }
.dw-mob-city-tab--active:hover { border-color: var(--color-primary); color: var(--color-white); }
.dw-mob-city-tab--active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
}

.dw-mob-type-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin: 10px 0 14px;
}
.dw-mob-type-pill {
  padding: 5px 12px;
  border-radius: 20px;
  border: 1px solid var(--color-border-light);
  font-family: var(--font-primary);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  color: var(--color-text-para);
  background: var(--color-white);
  transition: all var(--transition);
}
.dw-mob-type-pill:hover { color: var(--color-primary); border-color: var(--color-primary); }
.dw-mob-type-pill--active {
  background: var(--color-primary-10);
  border-color: var(--color-primary);
  color: var(--color-primary);
  font-weight: var(--fw-semibold);
}

.dw-mob-prop-cards { display: flex; flex-direction: column; gap: 10px; }

.dw-mob-prop-card {
  display: flex;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  background: var(--color-white);
  text-decoration: none;
  transition: box-shadow var(--transition);
}
.dw-mob-prop-card:hover { box-shadow: 0 4px 16px rgba(0, 91, 82, 0.12); }

.dw-mob-prop-card__thumb {
  width: 70px;
  height: 56px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  background: var(--gradient-tile);
  flex-shrink: 0;
  overflow: hidden;
}

.dw-mob-prop-card__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dw-mob-prop-card__name {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  color: var(--color-primary-deep);
  line-height: 1.35;
  margin-bottom: 3px;
}
.dw-mob-prop-card__loc {
  font-size: var(--fs-2xs);
  color: var(--color-text-para);
  margin-bottom: 4px;
}
.dw-mob-prop-card__price {
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  color: var(--color-primary);
  margin-bottom: 0;
}

.dw-mob-viewall {
  display: block;
  text-align: center;
  margin-top: 14px;
  padding: 11px;
  border: 1.5px solid var(--color-primary);
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-primary);
  transition: background var(--transition);
}
.dw-mob-viewall:hover { background: var(--color-primary-10); }

/* Skeleton for mobile */
.dw-mob-skeleton {
  display: flex;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--color-bg-light-green);
  border-radius: var(--radius-md);
}
.dw-mob-skeleton__thumb {
  width: 70px;
  height: 56px;
  border-radius: 8px;
  background: linear-gradient(90deg, #e8f5ed 25%, #d4ece0 50%, #e8f5ed 75%);
  background-size: 200% 100%;
  animation: dw-shimmer 1.4s infinite;
  flex-shrink: 0;
}
.dw-mob-skeleton__body { flex: 1; display: flex; flex-direction: column; gap: 8px; justify-content: center; }
.dw-mob-skeleton__line {
  height: 11px;
  border-radius: 4px;
  background: linear-gradient(90deg, #e8f5ed 25%, #d4ece0 50%, #e8f5ed 75%);
  background-size: 200% 100%;
  animation: dw-shimmer 1.4s infinite;
}
.dw-mob-skeleton__line--short { width: 50%; }

/* CTA row */
.dw-drawer__cta-row {
  padding: 16px;
  margin-top: auto;
  border-top: 1px solid var(--color-border-light);
}
.dw-drawer__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  padding: 14px;
  background: var(--gradient-btn);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  font-family: var(--font-primary);
  font-size: var(--fs-md);
  font-weight: var(--fw-semibold);
  text-decoration: none;
  transition: opacity var(--transition);
}
.dw-drawer__cta:hover { opacity: 0.88; }



/* ============================================================
   ENQUIRY POPUP  —  .dw-enquiry-*
   All values reference :root tokens. No raw hex outside :root.
============================================================ */

/* Overlay */
.dw-enquiry-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.55);
  align-items: center;
  justify-content: center;
  padding: 16px;
  overflow-y: auto;
}
.dw-enquiry-overlay.dw-enquiry-overlay--open {
  display: flex;
}

/* Modal shell */
.dw-enquiry-modal {
  display: flex;
  width: 100%;
  max-width: 860px;
  border-radius: var(--radius-xl);
  overflow: hidden;
  background: var(--color-white);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.22);
  animation: dw-enquiry-in 0.22s ease;
  position: relative;
}

@keyframes dw-enquiry-in {
  from { opacity: 0; transform: translateY(16px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ── Left brand panel ── */
.dw-enquiry-panel {
  width: 42%;
  flex-shrink: 0;
  background: linear-gradient(180deg, var(--color-primary) 0%, var(--color-primary-10) 100%) , url('../images/enquiry-bg.jpg') center/cover no-repeat;
  /* background: var(--gradient-btn); */
  padding: 40px 32px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.dw-enquiry-panel__eyebrow {
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold-mid);
  margin-bottom: 10px;
}

.dw-enquiry-panel__title {
  font-family: var(--font-secondary);
  font-size: var(--fs-2xl);
  font-weight: var(--fw-bold);
  color: var(--color-white);
  line-height: 1.2;
  margin-bottom: 12px;
}

.dw-enquiry-panel__sub {
  font-size: var(--fs-sm);
  color: rgba(255, 255, 255, 0.72);
  line-height: var(--lh-p);
  margin-bottom: 28px;
}

/* Benefits list */
.dw-enquiry-benefits {
  list-style: none;
  margin: 0 0 28px;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.dw-enquiry-benefits__item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: rgba(255, 255, 255, 0.9);
}

.dw-enquiry-benefits__icon {
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  color: var(--color-gold-light);
  flex-shrink: 0;
}

/* City pills */
.dw-enquiry-cities {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.dw-enquiry-cities span {
  padding: 4px 10px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.22);
  font-size: var(--fs-xs);
  font-weight: var(--fw-medium);
  color: rgba(255, 255, 255, 0.75);
  background: rgba(255, 255, 255, 0.08);
}

/* ── Right form panel ── */
.dw-enquiry-form-wrap {
  flex: 1;
  padding: 36px 32px 28px;
  position: relative;
  overflow-y: auto;
  max-height: 90vh;
}

.dw-enquiry-form-wrap::-webkit-scrollbar { width: 4px; }
.dw-enquiry-form-wrap::-webkit-scrollbar-thumb {
  background: var(--color-border-light);
  border-radius: 4px;
}

/* Close button */
.dw-enquiry-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  border: 1px solid var(--color-border-light);
  background: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-text-para);
  cursor: pointer;
  transition: background var(--transition), color var(--transition);
}
.dw-enquiry-close:hover {
  background: var(--color-bg-light-green);
  color: var(--color-primary);
  border-color: var(--color-primary);
}

.dw-enquiry-form__title {
  font-family: var(--font-secondary);
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
  color: var(--color-primary-deep);
  margin-bottom: 4px;
}

.dw-enquiry-form__sub {
  font-size: var(--fs-sm);
  color: var(--color-text-para);
  margin-bottom: 24px;
}

/* Form groups */
.dw-ef-group {
  margin-bottom: 16px;
}

.dw-ef-label {
  display: block;
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  color: var(--color-text-primary);
  margin-bottom: 6px;
  letter-spacing: 0.3px;
}
.dw-ef-label span {
  color: #e03;
}

.dw-ef-input ,.dw-ef-select{
  width: 100%;
  padding: 10px 14px;
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  color: var(--color-text-primary);
  background: var(--color-white);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  transition: border-color var(--transition), box-shadow var(--transition);
  outline: none;
  appearance: none;
  -webkit-appearance: none;
}
.dw-ef-input:focus {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-10);
}
.dw-ef-input--error {
  border-color: #e03;
  box-shadow: 0 0 0 3px rgba(238, 0, 51, 0.08);
}
.dw-ef-input::placeholder { color: var(--color-text-para); }

/* Select arrow */
.dw-ef-select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%236A7282' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  padding-right: 36px;
  cursor: pointer;
}

/* Phone row */
.dw-ef-phone-row {
  display: flex;
  align-items: stretch;
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
  transition: border-color var(--transition), box-shadow var(--transition);
}
.dw-ef-phone-row:focus-within {
  border-color: var(--color-primary);
  box-shadow: 0 0 0 3px var(--color-primary-10);
}
.dw-ef-phone-row .dw-ef-input--phone {
  border: none;
  border-radius: 0;
  box-shadow: none !important;
  flex: 1;
}
.dw-ef-phone-code {
  display: flex;
  align-items: center;
  padding: 0 12px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-text-primary);
  background: var(--color-bg-light-green);
  border-right: 1px solid var(--color-border-light);
  white-space: nowrap;
  flex-shrink: 0;
}

/* Error text */
.dw-ef-error {
  display: block;
  font-size: var(--fs-xs);
  color: #e03;
  margin-top: 4px;
  min-height: 16px;
}
.dw-ef-error:empty {
  display: none;
}

/* Consent checkbox row */
.dw-ef-group--check {
  margin-bottom: 20px;
}
.dw-ef-check-label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  cursor: pointer;
}
.dw-ef-check-label input[type="checkbox"] {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin-top: 2px;
  accent-color: var(--color-primary);
  cursor: pointer;
}
.dw-ef-check-label span {
  font-size: var(--fs-xs);
  color: var(--color-text-para);
  line-height: 1.5;
}
.dw-ef-check-label a {
  color: var(--color-primary);
  text-decoration: underline;
}

/* Submit button */
.dw-ef-submit {
  width: 100%;
  padding: 13px;
  background: var(--gradient-btn-2);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  font-family: var(--font-primary);
  font-size: var(--fs-md);
  font-weight: var(--fw-bold);
  cursor: pointer;
  transition: opacity var(--transition);
  margin-bottom: 12px;
}
.dw-ef-submit:hover { opacity: 0.88; }
.dw-ef-submit:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

/* WhatsApp button */
.dw-ef-whatsapp {
  width: 100%;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1.5px solid var(--color-primary);
  border-radius: var(--radius-md);
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  color: var(--color-primary);
  text-decoration: none;
  transition: background var(--transition);
}
.dw-ef-whatsapp:hover { background: var(--color-bg-light-green);color: var(--color-primary); }

/* Success state */
.dw-enquiry-success {
  display: none;
  text-align: center;
  padding: 32px 16px;
}
.dw-enquiry-success--show {
  display: block;
  background: var(--color-bg-light-green);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-xl);
}
.dw-enquiry-success__icon {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: var(--color-bg-light-green);
  border: 2px solid var(--color-primary);
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 16px;
  font-size: 22px;
  color: var(--color-primary);
}
.dw-enquiry-success__title {
  font-family: var(--font-secondary);
  font-size: var(--fs-xl);
  font-weight: var(--fw-bold);
  color: var(--color-primary-deep);
  margin-bottom: 8px;
}
.dw-enquiry-success__msg {
  font-size: var(--fs-sm);
  color: var(--color-neutral-900);
  line-height: var(--lh-p);
  margin-bottom: 0;
}

/* ── Responsive ── */
@media (max-width: 1100px) {
  img.dw-logo__image {
    object-fit: contain !important;
    width: auto;
    height: 60px;
  }

  .dw-nav__link, .dw-nav__trigger {
    padding: 8px 10px;
  }
}

@media (max-width: 680px) {
  .dw-enquiry-modal { flex-direction: column; max-width: 440px; border-radius: var(--radius-xl) var(--radius-xl) 0 0; }
  .dw-enquiry-panel { display: none; }
  .dw-enquiry-panel__title { font-size: var(--fs-xl); }
  .dw-enquiry-benefits { gap: 8px; }
  .dw-enquiry-form-wrap { padding: 24px 20px 20px; max-height: none; }
  .dw-enquiry-overlay {
    padding: 0;
    align-items: flex-end;
  }
}


/* ============================================================
   STICKY SOCIAL BAR  —  .dw-social-bar
============================================================ */
.dw-social-bar {
  position: fixed;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  z-index: 500;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  padding: 12px 24px;
}

.dw-social-bar__link {
  border-radius: var(--radius-pill);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-white);
  text-decoration: none;
  transition: width var(--transition), opacity var(--transition), transform var(--transition);
  opacity: 0.92;
  margin-bottom: 12px;
}
.dw-social-bar__link:hover {
  /* width: 48px; */
  color: var(--color-white);
  transform: scale(1.1);
  opacity: 1;
}

.dw-social-bar__link--instagram { background: linear-gradient(45deg, #F9CE34 0%, #EE2A7B 50%, #6228D7 100%); }
.dw-social-bar__link--youtube    { background: #FF0000; }
.dw-social-bar__link--linkedin   { background: #0A66C2; }
.dw-social-bar__link--whatsapp   { background: #25D366; }

.dw-social-bar__link svg {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
}

.dw-social-bar__divider {
  width: 1px;
  height: 40px !important;
  background: var(--color-text-para);
  margin: 0 auto;
}

.dw-social-bar__label {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-text-para);
  text-shadow: 0 0 6px rgba(0,0,0,0.2);
  margin-top: 8px;
  padding-left: 2px;
}

@media (max-width: 900px) {
  .dw-social-bar { display: none; }
}



/* ============================================================
   SITE FOOTER  —  footer.css
   All classes prefixed .sf-  (site-footer)
   All color/font values reference :root tokens from variables.css
   No raw hex values — only CSS custom properties.
   Zero bleed: nothing here targets elements outside .site-footer
============================================================ */

/* ── Shell ──────────────────────────────────────────────── */
.site-footer {
  background: var(--gradient-footer);
  color: var(--color-white);
  position: relative;
  overflow: hidden;
  font-family: var(--font-primary);
}

/* Subtle noise texture */
.site-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.025'/%3E%3C/svg%3E");
  pointer-events: none;
  opacity: 0.4;
}

/* ── Gold top accent ────────────────────────────────────── */
.sf-accent {
  height: 2px;
  background: linear-gradient(90deg,
    transparent,
    var(--color-gold-mid),
    var(--color-primary-light),
    transparent
  );
}

/* ──  Top Links ──────────────────────────────────────────── */
/* TOP LINKS */
.sf-footer__top {
  padding: 40px 0;
  background: var(--color-bg-light-green);
}

.sf-footer__heading {
  font-family: var(--font-primary);
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  color: var(--color-neutral-900);
  line-height: 1.2;
  margin-bottom: 8px
}

/* .sf-footer__grid-links {
  display: grid;
  grid-template-columns: repeat(4,1fr);
  gap: 20px;
} */

.sf-footer__grid-links ul {
  padding: 0;
  column-count: 4;
  gap: 20px;
  margin: 0;
  margin-top: 16px;
}

.sf-footer__grid-links ul li {
    margin-bottom: 6px;
}

.sf-footer__grid-links a {
  font-size: var(--fs-sm);
  color: var(--color-neutral-900);
  transition: var(--transition);
}

.sf-footer__grid-links a:hover {
  color: var(--color-primary);
}

/* RESPONSIVE */
@media (max-width: 992px) {
  .sf-footer__grid-links {
    grid-template-columns: repeat(2,1fr);
  }
}

@media (max-width: 576px) {
  .sf-footer__grid-links ul li {
    margin-bottom: 0px;
  }
  .sf-footer__grid-links ul {
    column-count: 2;
  }
}

/* ── Main grid ──────────────────────────────────────────── */
.sf-main {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 32px 40px;
  display: grid;
  grid-template-columns: 340px 1fr 1fr 360px;
  gap: 48px;
  position: relative;
}

/* ── Brand column ───────────────────────────────────────── */
.sf-brand__trust {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  margin-bottom: 18px;
}

.sf-brand__trust-num {
  font-family: var(--font-secondary);
  font-size: 88px;
  font-weight: var(--fw-bold);
  line-height: 0.85;
  color: var(--color-gold-mid);
  letter-spacing: -4px;
}

.sf-brand__trust-label {
  padding-bottom: 10px;
  line-height: 1.2;
}
.sf-brand__trust-label strong {
  display: block;
  font-size: var(--fs-lg);
  font-weight: var(--fw-bold);
  color: var(--color-gold-light);
  letter-spacing: 1px;
  text-transform: uppercase;
}
.sf-brand__trust-label span {
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 2.5px;
  text-transform: uppercase;
  color: var(--footer-color-text);
}

.sf-brand__rera {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  background: var(--gradient-gold-premium);
  border-radius: var(--radius-sm);
  padding: 7px 12px;
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  color: var(--color-black);
  margin-bottom: 20px;
  letter-spacing: 0.3px;
}
.sf-brand__rera svg { flex-shrink: 0; }

.sf-brand__desc {
  font-size: var(--fs-sm);
  line-height: 1.75;
  color: var(--footer-color-text);
  margin-bottom: 22px;
}

/* Contact list */
.sf-contact {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 24px;
  padding: 0;
}
.sf-contact li {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: var(--fs-sm);
  color: #c8ddd4;
}
.sf-contact li svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--color-gold-mid);
}
.sf-contact li a {
  color: #c8ddd4;
  text-decoration: none;
  transition: color var(--transition);
}
.sf-contact li a:hover { color: var(--color-gold-light); }

/* Social row */
.sf-social {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sf-social__link {
  width: 36px;
  height: 36px;
  border-radius: var(--radius-sm);
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--footer-color-text);
  text-decoration: none;
  transition: background var(--transition), color var(--transition), border-color var(--transition), transform var(--transition);
}
.sf-social__link:hover {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white);
  transform: translateY(-2px);
}
.sf-social__link svg { width: 15px; height: 15px; }

/* ── Nav columns (Quick Links + Legal) ──────────────────── */
.sf-nav-col__title {
  font-family: var(--font-primary);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-bold);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold-mid);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(201, 165, 90, 0.2);
}

.sf-nav-col__list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sf-nav-col__list li a {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 0;
  font-size: var(--fs-sm);
  color: var(--footer-color-text);
  text-decoration: none;
  border-radius: var(--radius-sm);
  transition: color var(--transition), padding-left var(--transition);
}

.sf-nav-col__list li a:hover {
  color: var(--color-gold-light);
  padding-left: 4px;
}


/* ── Newsletter column ──────────────────────────────────── */
.sf-newsletter__title {
  font-family: var(--font-primary);
  font-size: var(--fs-2xs);
  font-weight: var(--fw-bold);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold-mid);
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid rgba(201, 165, 90, 0.2);
}

.sf-newsletter__desc {
  font-size: var(--fs-sm);
  line-height: 1.7;
  color: var(--footer-color-text);
  margin-bottom: 18px;
}

/* Success state */
.sf-newsletter__success {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(0, 91, 82, 0.25);
  border: 1px solid rgba(0, 91, 82, 0.45);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  font-size: var(--fs-sm);
  color: #7adfc0;
  margin-bottom: 8px;
}
.sf-newsletter__success[hidden] { display: none; }

/* Error state */
.sf-newsletter__error {
  display: flex;
  align-items: center;
  gap: 8px;
  background: rgba(224, 51, 51, 0.12);
  border: 1px solid rgba(224, 51, 51, 0.3);
  border-radius: var(--radius-md);
  padding: 12px 14px;
  font-size: var(--fs-sm);
  color: #f08080;
  margin-bottom: 8px;
}
.sf-newsletter__error[hidden] { display: none; }

/* Form */
.sf-newsletter__form {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 8px;
}
.sf-newsletter__row {
  display: flex;
  gap: 8px;
}
.sf-newsletter__input {
  flex: 1;
  padding: 11px 14px;
  background: rgba(255, 255, 255, 0.07);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  color: var(--color-white);
  font-family: var(--font-primary);
  outline: none;
  transition: border-color var(--transition), background var(--transition);
}
.sf-newsletter__input::placeholder { color: var(--footer-color-text); }
.sf-newsletter__input:focus {
  border-color: var(--color-gold-mid);
  background: rgba(255, 255, 255, 0.1);
}
.sf-newsletter__input--error {
  border-color: #e03;
}

.sf-newsletter__btn {
  padding: 11px 18px;
  background: var(--gradient-orange);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--fs-sm);
  font-weight: var(--fw-bold);
  cursor: pointer;
  white-space: nowrap;
  font-family: var(--font-primary);
  display: flex;
  align-items: center;
  gap: 6px;
  transition: opacity var(--transition), transform var(--transition);
}
.sf-newsletter__btn:hover { opacity: 0.88; transform: translateY(-1px); }
.sf-newsletter__btn:disabled { opacity: 0.55; cursor: not-allowed; transform: none; }

.sf-newsletter__privacy {
  font-size: var(--fs-xs);
  color: var(--footer-color-text);
  display: flex;
  align-items: center;
  gap: 5px;
}
.sf-newsletter__privacy svg { flex-shrink: 0; }

/* ── Visitor counter ────────────────────────────────────── */
.sf-visitor {
  margin-top: 20px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: var(--radius-md);
  padding: 14px 16px;
}

.sf-visitor__label {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: var(--fs-2xs);
  font-weight: var(--fw-semibold);
  letter-spacing: 1.2px;
  text-transform: uppercase;
  color: var(--footer-color-text);
  margin-bottom: 12px;
}

.sf-visitor__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-primary-light);
  animation: sf-pulse 2s ease-in-out infinite;
  flex-shrink: 0;
}

@keyframes sf-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: 0.5; transform: scale(0.75); }
}

.sf-visitor__digits {
  display: flex;
  gap: 4px;
  flex-wrap: wrap;
}

.sf-digit-box {
  width: 30px;
  height: 36px;
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-primary);
  font-size: 17px;
  font-weight: var(--fw-bold);
  color: var(--color-white);
  position: relative;
  overflow: hidden;
  /* entrance animation applied via JS */
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}
/* Horizontal midline divider inside each digit box */
.sf-digit-box::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: rgba(255, 255, 255, 0.06);
}

.sf-digit-sep {
  display: flex;
  align-items: center;
  font-size: var(--fs-sm);
  color: var(--footer-color-text);
  padding-bottom: 2px;
}

/* ── Divider ────────────────────────────────────────────── */
.sf-divider {
  border: none;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  max-width: 1280px;
  margin: 0 auto;
}

/* ── Bottom bar ─────────────────────────────────────────── */
.sf-bottom {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}

.sf-bottom__copy {
  font-size: var(--fs-xs);
  color: var(--footer-color-text);
}
.sf-bottom__copy a {
  color: var(--footer-color-text);
  text-decoration: none;
  transition: color var(--transition);
}
.sf-bottom__copy a:hover { color: var(--color-gold-light); }

.sf-bottom__powered {
  font-size: var(--fs-xs);
  color: var(--footer-color-text);
}
.sf-bottom__powered a {
  color: var(--color-primary-light);
  text-decoration: none;
  font-weight: var(--fw-medium);
  transition: color var(--transition);
}
.sf-bottom__powered a:hover { color: var(--color-gold-light); }

/* ── Responsive ─────────────────────────────────────────── */
@media (max-width: 1100px) {
  .sf-main {
    grid-template-columns: 1fr 1fr;
    gap: 36px;
  }
  .sf-brand      { grid-column: 1 / -1; }
  .sf-newsletter { grid-column: 1 / -1; }
  .sf-newsletter__row { flex-direction: row; }
}

@media (max-width: 640px) {
  .sf-main {
    grid-template-columns: 1fr;
    padding: 36px 20px 28px;
    gap: 28px;
  }
  .sf-brand       { grid-column: auto; }
  .sf-newsletter  { grid-column: auto; }
  .sf-brand__trust-num { font-size: 72px; }
  .sf-newsletter__row  { flex-direction: column; }
  .sf-newsletter__btn  { width: 100%; justify-content: center; }
  .sf-bottom {
    flex-direction: column;
    align-items: flex-start;
    padding: 16px 20px;
    gap: 8px;
  }
  .sf-visitor__digits { gap: 3px; }
  .sf-digit-box { width: 26px; height: 32px; font-size: 15px; }
  .sf-nav-col__list li a { font-size: var(--fs-md); padding: 8px 0; }
}

@media (max-width: 400px) {
  .sf-brand__trust-num       { font-size: 60px; }
  .sf-brand__trust-label strong { font-size: var(--fs-sm); }
}




/* ============================================================
    HERO SECTION
============================================================ */

    /* ============================================================
       DW-HERO SECTION
    ============================================================ */
    .dw-hero {
      position: relative;
      width: 100%;
      min-height: var(--hero-height);
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      overflow: hidden;
    }

    /* ── Media Layer ── */
    .dw-hero__media {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
    }
    .dw-hero__video,
    .dw-hero__img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    .dw-hero__fallback {
      position: absolute;
      inset: 0;
      background:
        linear-gradient(180deg, rgba(0,23,22,0.15) 0%, rgba(0,23,22,0.5) 100%),
        url('../images/hero-bg.png') center/cover no-repeat;
    }
    .dw-hero__media-shimmer {
      position: absolute;
      inset: 0;
      background: linear-gradient(135deg, var(--color-bg-dark) 0%, #0a1f1e 50%, var(--color-bg-dark) 100%);
      z-index: 1;
      transition: opacity 0.6s ease;
    }
    .dw-hero__media-shimmer.dw-hidden { opacity: 0; pointer-events: none; }

    /* Cinematic overlay */
    .dw-hero__overlay {
      position: absolute;
      inset: 0;
      z-index: 1;
      background:
        linear-gradient(180deg, rgba(0,23,22,0.22) 0%, rgba(0,23,22,0.42) 45%, rgba(0,23,22,0.72) 100%),
        radial-gradient(ellipse 80% 60% at 50% 40%, transparent 30%, rgba(0,23,22,0.32) 100%);
    }
    /* Grain texture */
    .dw-hero__grain {
      position: absolute;
      inset: 0;
      z-index: 2;
      opacity: 0.034;
      pointer-events: none;
      /* background-image: url("../images/hero-bg.png"); */
      background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    }

    /* ── Content ── */
    .dw-hero__content {
      position: relative;
      z-index: 10;
      width: 100%;
      max-width: 860px;
      padding: 0 20px;
      text-align: center;
      display: flex;
      flex-direction: column;
      align-items: center;
    }

    /* Badge */
    .dw-hero__badge {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: rgba(0,91,82,0.22);
      border: 1px solid var(--color-primary);
      color: var(--color-white);
      font-size: 0.7rem;
      font-weight: 500;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 6px 14px;
      border-radius: var(--radius-pill);
      margin-bottom: 18px;
      backdrop-filter: blur(8px);
      animation: dw-fadeDown 0.6s ease both;
    }
    .dw-hero__badge::before {
      content: '';
      width: 6px; height: 6px;
      border-radius: 50%;
      background: var(--color-primary-light);
      animation: dw-pulse 2s ease infinite;
    }
    @keyframes dw-pulse {
      0%,100% { opacity:1; transform:scale(1); }
      50% { opacity:0.4; transform:scale(0.65); }
    }

    /* Headline */
    .dw-hero__headline {
      font-family: var(--font-primary);
      /* font-size: ; */
      /* font-size: clamp(var(--fs-h3), var(--fs-h2), var(--fs-h1)); */
      font-size: clamp(2.2rem, 4.5vw, 3rem);
      font-weight: 700;
      line-height: 1.08;
      letter-spacing: -0.01em;
      color: var(--color-white);
      margin-bottom: 14px;
      animation: dw-fadeDown 0.6s 0.1s ease both;
    }
    .dw-hero__headline mark {
      background: var(--gradient-gold-premium);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      padding: 0;
    }
    .dw-hero__headline em {
      font-style: italic;
      color: var(--color-gold-light);
    }

    /* Subheadline */
    .dw-hero__sub {
      font-size: clamp(0.88rem, 1.7vw, 1.02rem);
      font-weight: 300;
      color: var(--hero-text-muted);
      max-width: 510px;
      line-height: 1.65;
      margin-bottom: 28px;
      animation: dw-fadeDown 0.6s 0.18s ease both;
    }

    .dw-hero__search-container{
      width: 100%;
      background: rgba(255,255,255,0.09);
      border: 1px solid rgba(255,255,255,0.16);
      border-radius: var(--radius-md);
      padding: 10px;
            backdrop-filter: blur(12px);
      animation: dw-fadeDown 0.6s 0.24s ease both;
      margin-bottom: 22px;

    }

    /* ── Filter Tabs ── */
    .dw-hero__filters {
      display: flex;
      align-items: center;
      gap: 3px;
      /* background: rgba(255,255,255,0.09); */
      /* border: 1px solid rgba(255,255,255,0.16); */
      /* border-radius: var(--radius-pill); */
      /* padding: 4px; */
      margin-bottom: 6px;
      /* backdrop-filter: blur(12px); */
      /* animation: dw-fadeDown 0.6s 0.24s ease both; */
      flex-wrap: wrap;
      justify-content: center;
    }
    .dw-hero__filter-btn {
      background: transparent;
      border: none;
      border-bottom: 2px solid transparent;
      color: rgba(255,255,255,0.68);
      font-family: var(--font-body);
      font-size: 0.8rem;
      font-weight: 500;
      padding: 7px 17px;
      /* border-radius: var(--radius-pill); */
      cursor: pointer;
      transition: var(--transition);
      white-space: nowrap;
      letter-spacing: 0.02em;
    }
    .dw-hero__filter-btn:hover {
      color: var(--color-white);
      background: transparent;
    }
    .dw-hero__filter-btn.dw-active {
      border-bottom: 2px solid var(--color-white);
      background: transparent;
      color: var(--color-white);
      font-weight: 600;
      /* box-shadow: 0 2px 12px rgba(0,91,82,0.5); */
    }

    /* ── Search Bar ── */
    .dw-hero__search-wrap {
      position: relative;
      width: 100%;
      /* max-width: 650px; */
      animation: dw-fadeDown 0.6s 0.3s ease both;
    }
    .dw-hero__search-box {
      display: flex;
      align-items: center;
      background: var(--hero-search-bg);
      border-radius: var(--radius-md);
      box-shadow: 0 4px 32px rgba(0,0,0,0.3), 0 1px 2px rgba(0,0,0,0.14);
      overflow: visible;
      position: relative;
    }
    .dw-hero__search-icon {
      flex-shrink: 0;
      width: 19px; height: 19px;
      margin-left: 18px;
      color: #888;
    }
    .dw-hero__search-input {
      flex: 1;
      border: none;
      outline: none;
      background: transparent;
      font-family: var(--font-body);
      font-size: 0.93rem;
      color: var(--color-text-primary);
      padding: 15px 10px;
      min-width: 0;
    }
    .dw-hero__search-input::placeholder { color: #aaa; }
    .dw-hero__search-clear {
      background: none;
      border: none;
      padding: 0 8px;
      cursor: pointer;
      color: #bbb;
      font-size: 1.1rem;
      line-height: 1;
      display: none;
      align-items: center;
      transition: color 0.2s;
    }
    .dw-hero__search-clear:hover { color: #555; }
    .dw-hero__search-clear.dw-visible { display: flex; }
    .dw-hero__search-btn {
      flex-shrink: 0;
      background: var(--gradient-btn-2);
      color: var(--color-white);
      border: none;
      border-radius: var(--radius-md);
      font-family: var(--font-body);
      font-size: 0.88rem;
      font-weight: 600;
      padding: 11px 26px;
      margin: 4px;
      cursor: pointer;
      transition: var(--transition);
      white-space: nowrap;
      letter-spacing: 0.02em;
    }
    .dw-hero__search-btn:hover {
      background: var(--color-primary-dark);
      transform: translateY(-1px);
      box-shadow: 0 4px 16px rgba(0,91,82,0.45);
    }

    /* Autocomplete dropdown */
    .dw-hero__autocomplete {
      position: absolute;
      top: calc(100% + 8px);
      left: 0; right: 0;
      background: var(--color-white);
      border-radius: var(--radius-lg);
      box-shadow: 0 8px 40px rgba(0,0,0,0.22);
      overflow: hidden;
      z-index: 100;
      display: none;
      max-height: 340px;
      overflow-y: auto;
    }
    .dw-hero__autocomplete.dw-open { display: block; }
    .dw-hero__ac-section {
      padding: 8px 0;
      border-bottom: 1px solid #f0f0f0;
    }
    .dw-hero__ac-section:last-child { border-bottom: none; }
    .dw-hero__ac-label {
      font-size: 0.67rem;
      font-weight: 600;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: #aaa;
      padding: 4px 16px 6px;
    }
    .dw-hero__ac-item {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 10px 16px;
      cursor: pointer;
      transition: background 0.14s;
      color: #222;
      font-size: 0.87rem;
      text-decoration: none;
    }
    .dw-hero__ac-item:hover,
    .dw-hero__ac-item.dw-highlighted { background: #edf5f3; }
    .dw-hero__ac-icon {
      width: 30px; height: 30px;
      border-radius: 8px;
      background: #e8f5f0;
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 0.95rem;
      flex-shrink: 0;
      color: var(--color-primary);
    }
    .dw-hero__ac-name { font-weight: 500; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .dw-hero__ac-sub { font-size: 0.73rem; color: #999; margin-top: 1px; }
    .dw-hero__ac-tag {
      font-size: 0.67rem;
      background: #e8f5f0;
      color: var(--color-primary-dark);
      padding: 2px 7px;
      border-radius: 4px;
      font-weight: 600;
      flex-shrink: 0;
    }
    .dw-hero__ac-loading {
      padding: 16px;
      text-align: center;
      color: #aaa;
      font-size: 0.84rem;
    }
    .dw-hero__ac-highlight { color: var(--color-primary); font-weight: 600; }

    /* ── Recent Searches ── */
    .dw-hero__recent {
      width: 100%;
      max-width: 650px;
      display: flex;
      align-items: center;
      gap: 7px;
      flex-wrap: wrap;
      justify-content: center;
      animation: dw-fadeDown 0.6s 0.36s ease both;
      margin-bottom: 22px;
    }
    .dw-hero__recent-label {
      font-size: 0.74rem;
      color: var(--hero-text-muted);
    }
    .dw-hero__recent-tag {
      display: inline-flex;
      align-items: center;
      gap: 5px;
      background: var(--hero-pill-bg);
      border: 1px solid var(--hero-pill-border);
      color: rgba(255,255,255,0.86);
      font-size: 0.77rem;
      padding: 5px 12px;
      border-radius: var(--radius-pill);
      cursor: pointer;
      transition: var(--transition);
      backdrop-filter: blur(6px);
      text-decoration: none;
    }
    .dw-hero__recent-tag:hover {
      background: rgba(0,91,82,0.22);
      border-color: rgba(0,153,102,0.45);
      color: #6ee8d4;
    }

    /* ── Popular Localities ── */
    .dw-hero__localities {
      display: flex;
      align-items: center;
      gap: 8px;
      flex-wrap: wrap;
      justify-content: flex-start;
      animation: dw-fadeDown 0.6s 0.42s ease both;
    }
    .dw-hero__loc-label {
      display: flex;
      align-items: center;
      gap: 5px;
      font-size: 0.74rem;
      color: var(--hero-text-muted);
      white-space: nowrap;
    }
    .dw-hero__loc-label svg { width: 13px; height: 13px; opacity: 0.65; }
    .dw-hero__loc-chip {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      background: var(--hero-pill-bg);
      border: 1px solid var(--hero-pill-border);
      color: rgba(255,255,255,0.86);
      font-size: 0.77rem;
      font-weight: 400;
      padding: 5px 12px;
      border-radius: var(--radius-sm);
      cursor: pointer;
      transition: var(--transition);
      backdrop-filter: blur(6px);
      text-decoration: none;
      white-space: nowrap;
    }
    .dw-hero__loc-chip:hover {
      background: rgba(0,91,82,0.2);
      border-color: rgba(0,153,102,0.42);
      color: #6ee8d4;
    }
    /* .dw-hero__loc-chip::after { content: '→'; font-size: 0.68rem; opacity: 0.55; } */

    .dw-hero__loc-chip::after {
      content: '';
      width: 12px;
      height: 12px;
      display: inline-block;
      margin-left: 4px;
      opacity: 0.6;
      background-color: currentColor;

      -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E") no-repeat center;
      mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='black' d='M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E") no-repeat center;

      -webkit-mask-size: contain;
      mask-size: contain;
    }

    /* ── Scroll Indicator ── */
    .dw-hero__scroll {
      position: absolute;
      bottom: 32px;
      left: 50%;
      transform: translateX(-50%) !important;
      z-index: 10;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 5px;
      animation: dw-fadeDown 1s 0.9s ease both;
    }
    .dw-hero__scroll-mouse {
      width: 21px; height: 33px;
      border: 2px solid rgba(255,255,255,0.35);
      border-radius: 11px;
      display: flex;
      justify-content: center;
      padding-top: 5px;
    }
    .dw-hero__scroll-dot {
      width: 3px; height: 6px;
      background: var(--color-gold-mid);
      border-radius: 2px;
      animation: dw-scrollDot 1.8s ease infinite;
    }
    .dw-hero__scroll-label {
      font-size: 0.63rem;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: rgba(255,255,255,0.4);
    }
    @keyframes dw-scrollDot {
      0%   { opacity:1; transform:translateY(0); }
      80%  { opacity:0; transform:translateY(12px); }
      100% { opacity:0; transform:translateY(0); }
    }

    /* ── Animations ── */
    @keyframes dw-fadeDown {
      from { opacity:0; transform:translateY(-14px); }
      to   { opacity:1; transform:translateY(0); }
    }

/* ============================================================
   AD SLIDER SECTION
============================================================ */
.dw-ads {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.dw-ads__track-wrap {
  width: 100%;
  overflow: hidden;
}
.dw-ads__track {
  display: flex;
  transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}
.dw-ads__slide {
  flex: 0 0 100%;
  width: 100%;
  box-shadow: var(--shadow-md);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-md);
  overflow: hidden;
}
.dw-ads__slide-link {
  display: block;
  width: 100%;
  line-height: 0; /* removes bottom gap under img */
}
/* .dw-ads__slide-img {
  width: 100%;
  min-height: 220px;
  object-fit: cover;
  object-position: center;
  display: block;
} */
.dw-ads__slide-img {
  width: 100%;
  height: auto;        /* ← full natural height, nothing cut */
  object-fit: unset;   /* ← remove cover cropping */
  display: block;
  border-radius: var(--radius-md);
}

.dw-ads__container {
  position: relative;
}

/* Nav arrows */
.dw-ads__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  background: var(--color-white);
  border: none;
  color: var(--color-primary);
  width: 38px; height: 38px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow-md);
}
.dw-ads__arrow:hover { background: var(--color-primary);color: var(--color-white); }
.dw-ads__arrow-prev { left: -12px; }
.dw-ads__arrow-next { right: -12px; }

/* Dots */
.dw-ads__dots {
  display: flex;
  justify-content: center;
  gap: 6px;
  padding: 10px 0 12px;
  /* background: var(--color-bg-dark, #111); */
}
.dw-ads__dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--color-primary-10);
  border: none;
  cursor: pointer;
  transition: all 0.2s;
  padding: 0;
}
.dw-ads__dot.dw-active {
  background: var(--color-primary-light, #009966);
  width: 22px;
  border-radius: 20px;
}


/* ============================================================
    RESPONSIVE
============================================================ */
@media (min-width: 768px) {
  .dw-hero__scroll { bottom: 10px; }
  .dw-hero__content { padding: 0 40px; }
}
@media (max-width: 600px) {
.dw-ads__slide-img { height: 160px; }

  .dw-hero__filter-btn { padding: 6px 11px; font-size: 0.76rem; }
  .dw-hero__search-btn { padding: 10px 18px; font-size: 0.83rem; }
  .dw-hero__scroll { bottom: 5px; }
}


/* ============================================================
    new launch section
============================================================ */
.dw-section {
  padding: 48px 0 60px;
  position: relative
}

/* .dw-container {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 24px
} */

.dw-section-header {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap
}

.dw-section-header__text {}

.dw-section-header__eyebrow ,.dw-video__eyebrow {
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  letter-spacing: 2px;
  text-transform: uppercase;
  color: var(--color-gold-mid);
  margin-bottom: 8px
}

.dw-section-header__title {
  font-family: var(--font-primary);
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);
  color: var(--color-bg-dark);
  line-height: 1.2;
  margin-bottom: 8px
}

.cta-section .dw-section-header__title {
  color: var(--color-white);
}

.dw-section-header__title mark {
  background: var(--color-primary);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  padding: 0;
}

.cta-section .dw-section-header__title mark {
  background: var(--gradient-gold-premium);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  padding: 0;
}

.dw-section-header__sub {
  font-size: var(--fs-sm);
  color: var(--color-text-para);
  max-width: 800px;
  line-height: 1.6;
  margin-bottom: 0;
}


.dw-section-header__cta {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--gradient-btn-2);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-sm);
  padding: 11px 20px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-semibold);
  white-space: nowrap;
  transition: opacity var(--transition);
  /* align-self: flex-start; */
  margin-top: 4px
}
.dw-section-header__anchor,.dw-video-card__anchor  {
  color: var(--color-primary);
  font-size: var(--fs-p);
  font-weight: var(--fw-semibold);
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: 5px;
  transition: opacity var(--transition);
}

.dw-section-header__anchor svg,.dw-video-card__anchor svg {
  width: 16px;
  height: 16px;
  margin-left: 4px;
}

.dw-video-card__meta {
  font-size: var(--fs-xs);
  color: var(--color-text-para);
  margin-bottom: 10px;
}

.dw-section-header__cta:hover {
  opacity: .88
}

.dw-section-header__cta svg {
  width: 16px;
  height: 16px
}

  .dw-grid {
    display: flex;
    gap: 16px;
    align-items: stretch;
  }

  /* ── BASE CARD ── */
  .dw-expand-card {
    flex-grow: 1;
    position: relative;
    border-radius: var(--radius-lg);
    border: 1px solid rgba(255,255,255,0.1);
    background: #1a2f2e;
    cursor: pointer;
    overflow: hidden;
    transition:
      box-shadow var(--transition-fast),
      transform var(--transition-fast),
      grid-column var(--transition-slow),
      grid-row var(--transition-slow);
  }
  .dw-expand-card:hover { box-shadow: 0 16px 48px rgba(0,0,0,0.4); transform: translateY(-2px); }

  /* ── COLLAPSED STATE ── */
  .dw-expand-card__collapsed-inner {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
  }

  .dw-expand-card__media {
    position: absolute;
    inset: 0;
    overflow: hidden;
  }
  .dw-expand-card__img {
    width: 100%; height: 100%;
    /* max-height: 400px; */
    object-fit: cover;
    display: block;
    transition: transform 0.4s ease;
  }
  .dw-expand-card:hover .dw-expand-card__img { transform: scale(1.04); }

  .dw-expand-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0,15,14,0.88) 0%, rgba(0,15,14,0.3) 50%, transparent 100%);
    z-index: 1;
  }

  /* Info shown in collapsed state */
  .dw-expand-card__collapsed-info {
    position: relative;
    z-index: 2;
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
  }

  .dw-expand-card__builder-logo {
    width: 60px;
    height: 60px;
    border-radius: var(--radius-sm);
    overflow: hidden;
    background: var(--color-white);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    border: 1px solid rgba(255,255,255,0.15);
    margin-bottom: 8px;
  }
  .dw-expand-card__builder-logo img {
    width: 100%; height: 100%; object-fit: contain;
  }

  .dw-expand-card__featured-name {
    font-family: var(--font-primary);
    font-size: var(--fs-h3);
    font-weight: var(--fw-semibold);
    color: var(--color-white);
    line-height: 1.2;
  }
  .dw-expand-card__featured-loc {
    font-size: var(--fs-xs);
    color: rgba(255,255,255,0.65);
  }

  /* Expand hint */
  .dw-expand-card__expand-hint {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 3;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,0.15);
    backdrop-filter: blur(6px);
    border: 1px solid rgba(255,255,255,0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background var(--transition-fast), transform var(--transition-fast);
  }
  .dw-expand-card:hover .dw-expand-card__expand-hint { background: rgba(255,255,255,0.25); transform: scale(1.1); }
  .dw-expand-card__expand-hint svg { width: 12px; height: 12px; stroke: var(--color-white); fill: none; }

  /* ── ACTIVE / EXPANDED CARD ── */
  .dw-expand-card--active {
    flex: 0 1 70%;
    /* grid-column: 1 / 3;
    grid-row: 1 / 2; */
    display: flex;
    /* grid-template-columns: 1fr 1fr; */
    background: var(--color-border-light);
    border: 5px solid var(--color-border-light);
    overflow: visible;
    cursor: default;
  }
  .dw-expand-card--active:hover { transform: none; }

  .dw-expand-card__info-panel {
    flex: 0 1 40%;
    padding: 48px 24px 28px 24px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    background: var(--color-border-light);
    position: relative;
  }

  .dw-expand-card--active .dw-expand-card__media {
    flex-grow: 1;
    position: relative;
    height: 400px;
    max-height: 400px;
    /* min-height: 400px; */
    overflow: hidden;
    border-radius: var(--radius-lg);
  }

  /* Featured badge (ribbon) */
  .dw-expand-card__featured-badge {
    position: absolute;
    top: 16px;
    left: -16px;
    display: inline-block;
    background: #ff003c;
    color: var(--color-white);
    font-size: var(--fs-xs);
    font-weight: var(--fw-bold);
    padding: 4px 10px;
    border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  }
  .dw-expand-card__featured-badge::after {
    content: "";
    position: absolute;
    left: 0; bottom: -12px;
    width: 0; height: 0;
    border-top: 12px solid #b8002c;
    border-left: 12px solid transparent;
  }

  .dw-expand-card__featured-name--panel {
    font-family: var(--font-primary);
    font-size: var(--fs-h3);
    font-weight: var(--fw-bold);
    color: var(--color-primary-deep);
    line-height: 1.15;
    margin-bottom: 6px;
  }
  .dw-expand-card__featured-loc--panel {
    font-size: var(--fs-p);
    color: var(--color-text-para);
    margin-bottom: 16px;
  }
  .dw-expand-card__featured-price {
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    color: var(--color-primary);
    margin-bottom: 0px;
  }
  .dw-expand-card__featured-price-note {
    font-size: var(--fs-p);
    color: var(--color-text-para);
    margin-bottom: 16px;
  }
  .dw-expand-card__types {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 20px;
  }
  .dw-expand-card__type-pill {
    border: 1.5px solid var(--color-border-light);
    border-radius: var(--radius-pill);
    padding: 4px 12px;
    font-size: var(--fs-xs);
    font-weight: var(--fw-medium);
    color: var(--color-text-para);
    background: var(--color-white);
  }
  .dw-expand-card__btn-primary {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--gradient-gold-premium);
    color: var(--color-bg-dark);
    border: none;
    border-radius: var(--radius-md);
    padding: 13px 20px;
    font-size: var(--fs-sm);
    font-weight: var(--fw-bold);
    cursor: pointer;
    transition: opacity var(--transition-fast);
    width: 100%;
  }
  .dw-expand-card__btn-primary:hover { opacity: 0.88; }
  .dw-expand-card__btn-primary svg { width: 16px; height: 16px; }

  /* builder container on active card */
  .dw-expand-card__builder-container {
    position: absolute;
    bottom: 12px; left: 12px; right: 12px;
    z-index: 3;
    background: rgba(255,255,255,0.4);
    border: 1px solid rgba(255,255,255,0.16);
    backdrop-filter: blur(12px);
    border-radius: var(--radius-md);
    padding: 8px 12px;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .dw-expand-card__builder-logo--lg {
    width: 60px; height: 60px;
    border-radius: var(--radius-sm);
    background: var(--color-white);
    border: 1px solid #eee;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
  }
  .dw-expand-card__builder-logo--lg img { width: 100%; height: 100%; object-fit: contain; }
  .dw-expand-card__builder-wrapper { display: flex; flex-direction: column; gap: 2px; }
  .dw-expand-card__builder-name {
    font-size: var(--fs-sm);
    font-weight: var(--fw-semibold);
    color: var(--color-text-primary);
  }
  .dw-expand-card__builder-viewall {
    font-size: var(--fs-xs);
    font-weight: var(--fw-semibold);
    color: var(--color-primary);
    text-decoration: none;
  }

  /* share button */
  .dw-expand-card__featured-share {
    position: absolute;
    top: 14px; right: 14px;
    z-index: 4;
    width: 36px; height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.92);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--color-primary);
    cursor: pointer;
    transition: background var(--transition-fast), transform var(--transition-fast);
  }
  .dw-expand-card__featured-share:hover { background: var(--color-white); transform: scale(1.1); }
  .dw-expand-card__featured-share svg { width: 16px; height: 16px; }

  /* close btn */
  .dw-expand-card__close-btn {
    position: absolute;
    top: 10px; right: 10px;
    z-index: 10;
    width: 28px; height: 28px;
    border-radius: 50%;
    background: rgba(0,45,44,0.12);
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background var(--transition-fast), transform var(--transition-fast);
  }
  .dw-expand-card__close-btn:hover { background: rgba(0,45,44,0.2); transform: scale(1.1); }
  .dw-expand-card__close-btn svg { width: 12px; height: 12px; stroke: var(--color-primary-deep); fill: none; stroke-width: 2.5; }

  /* ── CONTENT ANIMATION CLASSES ── */
  .dw-anim-fade {
    opacity: 0;
    transform: translateY(10px);
    transition:
      opacity var(--transition-med),
      transform var(--transition-med);
  }
  .dw-anim-fade.visible {
    opacity: 1;
    transform: translateY(0);
  }

  /* stagger delays */
  .dw-anim-fade:nth-child(1) { transition-delay: 0.05s; }
  .dw-anim-fade:nth-child(2) { transition-delay: 0.12s; }
  .dw-anim-fade:nth-child(3) { transition-delay: 0.19s; }
  .dw-anim-fade:nth-child(4) { transition-delay: 0.26s; }
  .dw-anim-fade:nth-child(5) { transition-delay: 0.33s; }
  .dw-anim-fade:nth-child(6) { transition-delay: 0.40s; }

  /* collapsed info fade */
  .dw-expand-card__collapsed-info { transition: opacity var(--transition-med); }
  .dw-expand-card--expanding .dw-expand-card__collapsed-info { opacity: 0; }

  @media(max-width: 700px) {
    .dw-grid,.dw-expand-card--active, .dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__builder-wrapper { flex-direction: column !important; }
    /* .dw-expand-card--active { grid-column: 1/-1; grid-template-columns: 1fr; } */
    .dw-expand-card--active .dw-expand-card__media { height: 220px; max-height: 220px; border-radius: var(--radius-lg); }
    .dw-expand-card--active .dw-expand-card__info-panel { border-radius: var(--radius-lg) var(--radius-lg) 0 0; }

    .dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__featured-name, .dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__featured-loc {
      writing-mode: inherit !important;
      transform: unset !important;
      margin-bottom: 0 !important;
    }

    .dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__collapsed-info {
      flex-direction: row !important;
    }
    .dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__builder-logo img {
        transform: unset !important;
    }

    .dw-expand-card__collapsed-inner {
        min-height: 80px !important;
    }
  }

.dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__collapsed-info {
    flex-direction: column-reverse;
    align-items: center;
}

.dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__builder-wrapper {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 2px;
}

.dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__featured-name,
.dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__featured-loc {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__builder-logo {
  margin-bottom: 0px;
}

.dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__builder-logo img {
  transform: rotate(270deg);
}

.dw-expand-card:not(.dw-expand-card--active) .dw-expand-card__overlay {
  background: rgb(0 0 0 / 60%);
}

.dw-share-toast {
  position: fixed;
  bottom: 24px;
  left: 50%;
  transform: translateX(-50%);
  background: var(--color-primary-deep);
  color: #fff;
  border-radius: var(--radius-md);
  padding: 10px 20px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  z-index: 9999;
  opacity: 0;
  transition: opacity 0.25s ease;
  pointer-events: none;
  white-space: nowrap;
  box-shadow: var(--shadow-md)
}

.dw-share-toast.visible {
  opacity: 1
}

.dw-card__link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.dw-expand-card__btn-primary,
/* .dw-expand-card__featured-share, */
.dw-expand-card__builder-container a {
  position: relative;
  z-index: 5;
}


/* ==============================
   VIDEO SECTION
============================== */

/* Grid */
.dw-video__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* ==============================
   CARD
============================== */

.dw-video-card {
  cursor: pointer;
}

.dw-video-card__media {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

/* Image */
.dw-video-card__media img {
  width: 100%;
  min-height: 180px;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  transition: transform var(--transition-med);
}

/* Hover Zoom */
.dw-video-card:hover img {
  transform: scale(1.06);
}

/* Overlay */
.dw-video-card__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Play Button */
.dw-video-card__play {
  width: 48px;
  height: 48px;
  background: rgba(255,255,255,0.9);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--color-primary);
  font-size: 14px;
}

/* Caption */
.dw-video-card__caption {
  margin-top: 0.5rem;
}
.dw-video-card__caption .dw-video-card__title {
  font-size: var(--fs-h5);
  font-weight: var(--fw-semibold);
  color: var(--color-black);
}

/* ==============================
   RESPONSIVE
============================== */

@media (max-width: 1024px) {
  .dw-video__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .dw-video__grid {
    grid-template-columns: 1fr;
  }

  .dw-video__header {
    flex-direction: column;
    align-items: flex-start;
  }

  .dw-video__link {
    display: none;
  }
}

.bg-custom {
  background: var(--color-bg-light);
}


.dw-listing-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 20px;
  flex-wrap: wrap
}

.dw-listing-tab {
  padding: 8px 18px;
  border-radius: 999px;
  border: 1.5px solid var(--color-border-light);
  background: transparent;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-primary, var(--color-neutral-900));
  cursor: pointer;
  transition: all .2s;
  white-space: nowrap
}

.dw-listing-tab:hover {
  border-color: var(--color-primary);
  color: var(--color-primary)
}

.dw-listing-tab.active {
  background: var(--color-primary);
  border-color: var(--color-primary);
  color: var(--color-white)
}

.dw-listing-carousel-wrap {
  position: relative
}

.dw-listing-track-outer {
  overflow: hidden
}

.dw-listing-track {
  display: flex;
  gap: 16px;
  transition: transform .45s cubic-bezier(.4, 0, .2, 1)
}

.dw-listing-card {
  flex: 0 0 calc(25% - 12px);
  min-width: 0;
  background: var(--color-background-primary, var(--color-white));
  border: 1px solid #e0e0e0;
  border-radius: 14px;
  overflow: hidden;
  transition: box-shadow .2s, transform .2s
}

.dw-listing-card:hover {
  box-shadow: 0 8px 32px rgba(0, 91, 82, .13);
  transform: translateY(-2px)
}

.dw-listing-img-wrap {
  position: relative;
  overflow: hidden;
  cursor: pointer
}

.dw-listing-img-wrap img {
  width: 100%;
  height: 210px;
  object-fit: cover;
  display: block;
  transition: transform .4s
}

.dw-listing-card:hover .dw-listing-img-wrap img {
  transform: scale(1.04)
}

.dw-listing-badge {
  position: absolute;
  top: 12px;
  left: 0;
  padding: 4px 10px 4px 10px;
  font-size: var(--fs-badge);
  font-weight: 700;
  border-radius: 0 6px 6px 0;
  color: var(--color-white);
  letter-spacing: .5px;
  text-transform: uppercase;
  z-index: 2
}


.dw-project-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  font-size: var(--fs-badge);
  font-weight: var(--fw-semibold);
      text-transform: uppercase;
    letter-spacing: 1px;
  /* background: var(--color-primary-10); */
  color: var(--color-white);
}


.badge-featured,.badge-ready,.badge-sold {
  background: #e03
}

.badge-new ,.badge-ongoing{
  background: linear-gradient(135deg, #007BFF 0%, #0056B3 100%);
}

.badge-senior {
  background: #7c3aed
}

.dw-listing-img-actions {
  position: absolute;
  top: 10px;
  right: 10px;
  display: flex;
  gap: 6px;
  z-index: 2
}

.dw-listing-img-btn {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .88);
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #444;
  transition: background .15s
}

.dw-listing-img-btn:hover {
  background: var(--color-white)
}

.dw-listing-img-btn svg {
  width: 14px;
  height: 14px
}

.dw-listing-img-count {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background: rgba(0, 0, 0, .5);
  color: var(--color-white);
  font-size: 11px;
  font-weight: 500;
  padding: 3px 8px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  gap: 4px
}

.dw-listing-img-count svg {
  width: 12px;
  height: 12px
}

.dw-listing-builder {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  background: var(--color-white);
  outline: 1px solid var(--color-white) !important;
  outline-offset: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.dw-listing-builder img {
  width: 38px;
  height: 38px;
  object-fit: contain
}

.dw-listing-body {
  padding: 14px 14px 16px
}

.dw-listing-price {
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  color: var(--color-primary);
  margin-bottom: 2px
}

.dw-listing-price span {
  font-size: 13px;
  font-weight: 400;
  color: var(--color-text-secondary, var(--color-text-primary))
}

.dw-listing-name {
  font-size: var(--fs-h5);
  font-weight: 700;
  color: var(--color-text-primary, var(--color-neutral-900));
  margin-bottom: 4px
}

.dw-listing-loc {
  display: flex;
  align-items: center;
  gap: 4px;
  font-size: var(--fs-small);
  color: var(--color-text-secondary, var(--color-text-primary));
  margin-bottom: 8px
}

.dw-listing-loc svg {
  width: 12px;
  height: 12px;
  flex-shrink: 0
}

.dw-listing-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 12px
}

.dw-listing-pill {
  padding: 3px 10px;
  border-radius: 999px;
  border: 1px solid var(--color-border-light);
  font-size: var(--fs-xs);
  color: var(--color-text-secondary, var(--color-text-primary));
  background: transparent
}

.dw-listing-actions {
  display: flex;
  gap: 6px;
  align-items: center
}

.dw-listing-btn-main {
  flex: 1;
  padding: 10px 0;
  background: var(--gradient-btn);
  color: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  font-size: var(--fs-btn-sm);
  font-weight: var(--fw-medium);
  cursor: pointer;
  transition: opacity .2s;
  letter-spacing: .2px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.dw-listing-btn-main:hover {
  color: var(--color-white);
  opacity: .87
}

.dw-listing-btn-icon {
  width: 36px;
  height: 36px;
  border-radius: 8px;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0
}

.dw-listing-btn-icon svg {
  width: 15px;
  height: 15px
}

.btn-call {
  background: #2563eb;
  color: var(--color-white)
}

.btn-wa {
  background: #25d366;
  color: var(--color-white)
}

.dw-car-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
  position:relative !important;
}

.dw-car-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--color-border-light);
  border: none;
  cursor: pointer;
  padding: 0;
  transition: all .2s
}

.dw-car-dot.on {
  background: var(--color-primary);
  width: 22px;
  border-radius: 20px
}

.dw-car-arrow {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  border: 1.5px solid var(--color-border-light);
  background: var(--color-background-primary, var(--color-white));
  color: var(--color-primary);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all .2s
}

.dw-car-arrow:hover {
  background: var(--color-primary);
  color: var(--color-white);
  border-color: var(--color-primary)
}

.dw-car-arrow svg {
  width: 14px;
  height: 14px
}

@media(max-width:1024px) {
  .dw-listing-card {
    flex: 0 0 calc(50% - 8px)
  }
}

@media(max-width:580px) {
  .dw-listing-card {
    flex: 0 0 calc(100% - 0px)
  }
}


/* =========================
   GRID (MATCH IMAGE)
========================= */
.dw-locations__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* =========================
   CARD
========================= */
.dw-loc-card {
  flex: 1 0 210px;
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  display: block;
  min-height: 280px;
  height: 280px;
  max-height: 280px;
  transition: transform var(--transition), box-shadow var(--transition);
}
.dw-loc-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(0,0,0,0.7) 0%, rgba(0,0,0,0.2) 50%, transparent 100%);
  z-index: 1;
}

.dw-loc-card img {
  transition: var(--transition);
}
.dw-loc-card:hover img {
  transform: scale(1.08);
}
/*
.dw-loc-card:hover {
  transform: translateY(-4px);
  box-shadow: var(--shadow-md);
} */

/* BIG CARD */
/* .dw-loc-card--lg {
  flex: 1 1 calc(60% - 16px);
} */

/* IMAGE */
.dw-loc-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* OVERLAY */
.dw-loc-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    0deg,
    rgba(0,0,0,0.7) 0%,
    rgba(0,0,0,0.2) 50%,
    transparent 100%
  );
}

/* BADGE */
.dw-loc-card__badge {
  position: absolute;
  top: 16px;
  left: -4px;
  display: inline-block;
  background: var(--color-success);
  color: var(--color-white);
  font-size: var(--fs-xs);
  font-weight: var(--fw-bold);
  padding: 4px 10px;
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  box-shadow: var(--shadow-md);
}

/* .dw-loc-card__badge {
  position: absolute;
  top: 12px;
  left: 12px;
  background: var(--color-success);
  color: #fff;
  font-size: var(--fs-xs);
  font-weight: var(--fw-semibold);
  padding: 4px 10px;
  border-radius: var(--radius-sm);
  z-index: 2;
} */

/* INFO */
.dw-loc-card__info {
  position: absolute;
  bottom: 14px;
  left: 14px;
  z-index: 2;
}


.dw-loc-card__info h3 {
  color: #fff;
  font-size: var(--fs-h5);
  font-weight: var(--fw-bold);
}

.dw-loc-card__info p {
  color: rgba(255,255,255,0.7);
  font-size: var(--fs-xs);
  margin-bottom: 0;
}

/* =========================
   RESPONSIVE
========================= */
@media (max-width: 768px) {
  .dw-locations__grid {
    grid-template-columns: 1fr;
  }

  .dw-loc-card--lg {
    min-height: 220px;
  }
}







    .btn-primary,.dw-project-floor-card__cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: var(--gradient-btn-2);
      color: var(--color-white);
      padding: 11px 22px;
      border-radius: var(--radius-md);
      font-size: var(--fs-sm);
      font-weight: var(--fw-semibold);
      transition: opacity var(--transition);
      border: none;
    }
    .btn-primary:hover,.dw-project-floor-card__cta:hover { opacity: 0.88; }
    .btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      color: var(--color-primary);
      border: 1.5px solid var(--color-primary);
      padding: 10px 22px;
      border-radius: var(--radius-md);
      font-size: var(--fs-sm);
      font-weight: var(--fw-semibold);
      transition: background var(--transition), color var(--transition);
    }
    .btn-outline:hover { background: var(--color-primary); color: var(--color-white); }

    /* ==============================
       WHY CHOOSE US
    ============================== */



    .why-features { display: flex; flex-direction: column; gap: 14px; }
    .why-feature {
      display: flex;
      align-items: center;
      gap: 16px;
      background: var(--gradient-tile);
      border: 1px solid var(--color-primary);
      border-radius: var(--radius-lg);
      padding: 18px 20px;
      transition: all var(--transition);
    }
    .why-feature:hover {
      border-color: var(--color-primary-deep);
      background: var(--gradient-btn-5);
    }
    .why-feature--active {
      background: var(--gradient-btn-5);
      border-color: var(--color-primary);
    }
    .why-feature__icon {
      width: 42px; height: 42px;
      border-radius: var(--radius-pill);
      background: rgba(255,255,255,0.15);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      font-size: 18px;
      padding: 30px;
    }
    .why-feature--active .why-feature__icon { background: rgba(255,255,255,0.2); }
    .why-feature__title {
      font-size: var(--fs-sm);
      font-weight: var(--fw-semibold);
      color: var(--color-white);
      margin-bottom: 4px;
    }
    .why-feature__sub {
      font-size: var(--fs-xs);
      color: rgba(255,255,255,0.65);
      line-height: 1.5;
      margin-bottom: 0;
    }
    .why-feature--active .why-feature__sub { color: rgba(255,255,255,0.8); }

    .why-right { display: flex; flex-direction: column; gap: 20px; }
    .why-contact-btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      color: var(--color-primary);
      border: 1.5px solid var(--color-primary);
      padding: 10px 22px;
      border-radius: var(--radius-pill);
      font-size: var(--fs-sm);
      font-weight: var(--fw-medium);
      margin-bottom: 24px;
      transition: border-color var(--transition);
    }
    .why-contact-btn:hover {
      border-color: var(--color-primary-deep);
      background: var(--color-primary);
      color: var(--color-white);
     }

    .partner-label {
      text-align: center;
      font-size: var(--fs-h6);
      font-weight: var(--fw-bold);
      letter-spacing: 1px;
      text-transform: uppercase;
      color: var(--color-text-para);
      margin-bottom: 14px;
    }
    .partner-label mark {
        background: var(--color-primary);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
  padding: 0;
    }
    .partner-grid {
      display: flex;
      flex-wrap: wrap;
      /* grid-template-columns: repeat(4, 1fr); */
      gap: 10px;
      margin-bottom: 6px;
    }
    .partner-logo {
      flex-grow: 1;
      background: rgba(255,255,255,0.07);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-md);
      /* height: 52px; */
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 12px;
      transition: background var(--transition), border-color var(--transition), box-shadow var(--transition);
      cursor: pointer;
      box-shadow: var(--shadow-sm);
    }
    .partner-logo:hover {
      background: rgba(255,255,255,0.12);
      border-color: rgba(255,255,255,0.2);
      box-shadow: var(--shadow-md);
    }
    .partner-logo img {
      min-width: 120px;
      max-width: 120px;
      min-height: 60px;
      max-height: 60px;
      object-fit: contain;
      /* filter: brightness(0) invert(1); */
      opacity: 0.75;
    }
    .partner-logo:hover img { opacity: 1; }
    .partner-logo span {
      font-size: var(--fs-xs);
      font-weight: var(--fw-bold);
      color: var(--color-black);
      letter-spacing: 1px;
    }

    /* ==============================
       LOCAL EXPERTS / STATS
    ============================== */

    .stats-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 14px;
      margin-bottom: 32px;
    }
    .stat-card {
      background: var(--gradient-tile);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-lg);
      padding: 20px 22px;
      display: flex;
      align-items: center;
      gap: 14px;
      transition: box-shadow var(--transition), transform var(--transition);
    }
    .stat-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
    .stat-card__icon {
      width: 54px; height: 54px;
      padding: 10px;
      background: rgba(225, 225, 225, .2);
      border-radius: var(--radius-pill);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      font-size: 20px;
    }
    .stat-card__num {
      font-family: var(--font-secondary);
      font-size: var(--fs-h2);
      font-weight: var(--fw-bold);
      /* color: var(--color-primary-deep); */
          background: var(--gradient-gold-premium);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
      line-height: 1;
      margin-bottom: 2px;
    }
    .stat-card__label {
      font-size: var(--fs-xs);
      color: var(--color-white);
    }

    .stats-cta { display: flex; gap: 12px; align-items: center; }

    /* Image side */
    .stats-right { position: relative; }
    .stats-img {
      width: 100%;
      height: 480px;
      object-fit: cover;
      border-radius: var(--radius-xl);
      box-shadow: var(--shadow-md);
    }
    .stats-badge {
      position: absolute;
      top: -18px;
      right: -18px;
      background: var(--gradient-gold-premium);
      border-radius: var(--radius-lg);
      padding: 18px 22px;
      box-shadow: var(--shadow-md);
      text-align: center;
    }
    .stats-badge__num {
      font-family: var(--font-secondary);
      font-size: var(--fs-2xl);
      font-weight: var(--fw-bold);
      color: var(--color-primary-deep);
      line-height: 1;
    }
    .stats-badge__label {
      font-size: var(--fs-2xs);
      font-weight: var(--fw-bold);
      color: var(--color-primary-deep);
      letter-spacing: 0.5px;
    }

    /* ==============================
       TESTIMONIALS
    ============================== */

    /* Google badge */
    .g-badge {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      background: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-pill);
      padding: 8px 14px;
      font-size: var(--fs-xs);
      font-weight: var(--fw-semibold);
      color: var(--color-text-primary);
      margin-bottom: 16px;
      /* box-shadow: var(--shadow-sm); */
    }
    .g-dot { width: 8px; height: 8px; border-radius: 50%; background: #4285F4; }

    .reviews-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      position: relative;
    }
    .review-card {
      background: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-xl);
      padding: 28px;
      box-shadow: var(--shadow-sm);
      transition: box-shadow var(--transition), transform var(--transition);
      min-height: 380px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
    }
    .review-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .review-stars { color: var(--color-warning); font-size: 16px; margin-bottom: 14px; }
    .review-text {
      font-size: var(--fs-sm);
      color: var(--color-text-para);
      line-height: 1.75;
      margin-bottom: 20px;
    }
    .review-author {
      display: flex;
      align-items: center;
      gap: 12px;
      padding-top: 16px;
      border-top: 1px solid var(--color-border-light);
      margin-top: auto;
    }
    .review-avatar {
      width: 40px; height: 40px;
      border-radius: 50%;
      display: flex; align-items: center; justify-content: center;
      font-size: var(--fs-sm);
      font-weight: var(--fw-bold);
      color: var(--color-white);
      flex-shrink: 0;
    }
    .review-name { font-size: var(--fs-sm); font-weight: var(--fw-semibold); color: var(--color-text-primary); }
    .review-role { font-size: var(--fs-2xs); color: var(--color-text-para); }
    .review-g-icon {
      margin-left: auto;
      /* width: 22px; height: 22px;
      border-radius: 50%;
      background: #4285F4;
      display: flex; align-items: center; justify-content: center;
      color: white;
      font-size: 12px;
      font-weight: var(--fw-bold); */
    }
    .reviews-nav {
      display: flex;
      justify-content: center;
      align-items: center;
      gap: 8px;
      margin-top: 28px;
      position: relative !important;
    }
    .reviews-dot {
      width: 8px; height: 8px;
      border-radius: 50%;
      background: var(--color-border-light);
      border: none;
      cursor: pointer;
      transition: all 0.2s;
      padding: 0;
    }
    .reviews-dot.active {
      background: var(--color-primary);
      width: 24px;
      border-radius: 20px;
    }
    /* ==============================
       CTA BANNER
    ============================== */
    .cta-section {
      background: var(--gradient-cta-bg);
      padding: 64px 0;
    }
    .cta-inner {
      display: grid;
      grid-template-columns: 1fr 380px;
      gap: 48px;
      align-items: center;
    }
    .cta-left .section-title {
      color: var(--color-white);
      font-size: var(--fs-h2);
      margin-bottom: 10px;
    }
    .cta-left .section-title mark {
      color: var(--color-accent-gold);
      background: none;
      -webkit-text-fill-color: unset;
    }
    .cta-left .section-sub { color: rgba(255,255,255,0.6); margin-bottom: 28px; }
    .cta-btns { display: flex; gap: 12px; flex-wrap: wrap; }
    .cta-btn-ghost {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      background: transparent;
      color: var(--color-white);
      border: 1.5px solid rgba(255,255,255,0.3);
      padding: 10px 22px;
      border-radius: var(--radius-md);
      font-size: var(--fs-sm);
      font-weight: var(--fw-semibold);
      transition: border-color var(--transition), background var(--transition);
    }

    .cta-btn-ghost:hover {
      border-color: var(--color-primary-light);
      background: var(--color-white);
      color: var(--color-primary);
    }

    .cta-section .btn-primary {
      border-color: var(--color-primary-light);
      background: var(--color-white);
      color: var(--color-primary);
    }

    .cta-right {
      position: relative;
    }
    .cta-img {
      width: 100%;
      height: 340px;
      object-fit: cover;
      object-position: top center;
      border-radius: var(--radius-xl);
    }

    /* ==============================
       FAQs
    ============================== */
    .faq-section {
      background: var(--color-white);
      padding: 72px 0;
    }
    .faq-inner {
      display: grid;
      grid-template-columns: 320px 1fr;
      gap: 64px;
    }
    .faq-left .section-title { color: var(--color-text-primary); }
    .faq-left .section-sub { margin-bottom: 24px; }

    .faq-list { display: flex; flex-direction: column; }
    .faq-item {
      border-bottom: 1px solid var(--color-border-light);
      overflow: hidden;
    }
    .faq-question {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 10px 10px;
      cursor: pointer;
      font-size: var(--fs-h5);
      font-weight: var(--fw-semibold);
      color: var(--color-text-primary);
      gap: 16px;
      background: none;
      width: 100%;
      text-align: left;
      transition: color var(--transition);
      border: none;
    }
    .faq-question:hover { color: var(--color-primary); }
    .faq-question.open { color: var(--color-primary); }
    .faq-icon {
      width: 26px; height: 26px;
      border-radius: 50%;
      border: 1.5px solid var(--color-border-light);
      display: flex; align-items: center; justify-content: center;
      flex-shrink: 0;
      font-size: 16px;
      color: var(--color-text-para);
      transition: all var(--transition);
    }
    .faq-question.open .faq-icon {
      background: var(--color-primary);
      border-color: var(--color-primary);
      color: var(--color-white);
      transform: rotate(180deg);
    }
    .faq-answer {
      font-size: var(--fs-sm);
      /* color: var(--color-text-para); */
      color: var(--color-black);
      line-height: 1.75;
      max-height: 0;
      overflow: hidden;
      background: var(--color-bg-light);
      transition: max-height 0.35s ease;
      padding: 0;
    }
    .faq-answer.open {
      max-height: 200px;
      padding: 10px 18px;
    }

    /* ==============================
       BLOG
    ============================== */
    .blog-link {
      font-size: var(--fs-sm);
      font-weight: var(--fw-semibold);
      color: var(--color-primary);
      display: flex;
      align-items: center;
      gap: 5px;
      white-space: nowrap;
    }
    .blog-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
    .blog-card {
      background: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-xl);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      transition: box-shadow var(--transition), transform var(--transition);
    }
    .blog-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .blog-img-wrap { overflow: hidden; height: 250px; }
    .blog-img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform 0.4s ease;
    }
    .blog-card:hover .blog-img { transform: scale(1.06); }
    .blog-body { padding: 20px; }
    .blog-tag {
      display: inline-block;
      font-size: var(--fs-2xs);
      font-weight: var(--fw-bold);
      letter-spacing: 0.5px;
      text-transform: uppercase;
      padding: 3px 10px;
      border-radius: var(--radius-sm);
      margin-bottom: 10px;
    }
    .tag-market { background: var(--color-bg-light-green); color: var(--color-primary); }
    .tag-home { background: #FEF9EC; color: #b45309; }
    .tag-commercial { background: #EFF6FF; color: #1d4ed8; }
    .blog-title {
      font-size: var(--fs-h5);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
      line-height: 1.4;
      margin-bottom: 8px;
    }
    .blog-excerpt {
      font-size: var(--fs-p);
      color: var(--color-text-para);
      line-height: 1.65;
      margin-bottom: 16px;
    }
    .blog-footer {
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .blog-date { font-size: var(--fs-2xs); color: var(--color-text-para); }
    .blog-read {
      font-size: var(--fs-h6);
      font-weight: var(--fw-semibold);
      color: var(--color-primary);
    }
    a.blog-read svg {
      width: 16px;
      height: 16px;
    }

    /* ==============================
       RESPONSIVE
    ============================== */
    @media (max-width: 968px) {
      .why-section .container,
      .stats-section .container,
      .cta-inner,
      .faq-inner { grid-template-columns: 1fr; gap: 40px; }
      .stats-right { display: none; }
      .reviews-grid { grid-template-columns: 1fr; }
      .blog-grid { grid-template-columns: repeat(2,1fr); }
    }
    @media (max-width: 600px) {
      .blog-grid { grid-template-columns: 1fr; }
      .stats-grid { grid-template-columns: 1fr 1fr; }
      .partner-logo img {
            min-width: 70px;
            max-width: 70px;
            min-height: 40px;
            max-height: 60px;
            object-fit: contain;
            /* filter: brightness(0) invert(1); */
            opacity: 0.75;
        }
        .stat-card {
          padding: 10px 12px;
        }

        .stat-card__icon {
            padding: 5px;
          }
    }

    /* ── ANIMATIONS ── */
    @keyframes fadeUp {
      from { opacity: 0; transform: translateY(20px); }
      to   { opacity: 1; transform: translateY(0); }
    }
    .animate-in { opacity: 0; }
    .animate-in.visible { animation: fadeUp 0.55s ease both; }
    .animate-in:nth-child(1) { animation-delay: 0.05s; }
    .animate-in:nth-child(2) { animation-delay: 0.15s; }
    .animate-in:nth-child(3) { animation-delay: 0.25s; }
    .animate-in:nth-child(4) { animation-delay: 0.35s; }


.dw-uni-hero {
    position: relative;
    width: 100%;
    min-height: var(--breadcrumb-height);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.dw-uni-hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.dw-uni-hero__img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
}

.dw-uni-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    backdrop-filter: blur(2px);
    background: linear-gradient(180deg, rgba(0, 23, 22, 0.22) 0%, rgba(0, 23, 22, 0.42) 45%, rgba(0, 23, 22, 0.72) 100%), radial-gradient(ellipse 80% 60% at 50% 40%, transparent 30%, rgba(0, 23, 22, 0.32) 100%);
}

.dw-uni-hero__content {
    z-index: 2;
    max-width: 800px;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.dw-uni-hero__headline {
    font-family: var(--font-primary);
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    color: var(--color-white);
    line-height: 1.2;
    margin-bottom: 8px;
}

.dw-uni-hero__headline mark {
    background: var(--gradient-gold-premium);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.dw-uni-hero__content .breadcrumb-item {
    color: var(--color-border-light);
}

.dw-uni-hero__content .breadcrumb-item.active {
    color: var(--color-white);
}

.dw-stats-section {
  background: var(--gradient-tile);
}

.dw-stats-section .stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin-bottom: 0px;
}

.dw-stats-section .stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    background: transparent;
    border: none;
    gap: 10px;
    padding: 0;
}

.dw-stats-section .stat-card:hover {
    box-shadow: none;
}

.dw-stats-section .stat-card__num {
    font-size: var(--fs-h2);
    margin-bottom: 14px;
}

.dw-stats-section .stat-card__icon {
    width: 60px;
    height: 60px;
}

.dw-stats-section .stat-card__icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dw-who-section .features-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 0px;
}

.dw-who-section .feature-card {
  border-left: 6px solid transparent;
  border-radius:  0 var(--radius-lg) 0 var(--radius-lg);
  background: var(--gradient-tile) padding-box,var(--gradient-gold) border-box; /* solid background */
  padding: 20px;
  position: relative;
  overflow: hidden;
}

.dw-who-section .feature-card .feature-card__title{
  color: var(--color-white);
  font-size: var(--fs-h5);
}

.dw-who-section .feature-card .feature-card__description{
  color: rgba(255,255,255,0.6);
  font-size: var(--fs-p);
  font-weight: var(--fw-medium);
  margin-bottom: 0;
}

.dw-who-section .stats-badge {
  aspect-ratio: 1/1;
  border-radius: var(--radius-pill);
  z-index: 3;
}

/* .dw-who-section img.stats-img {
    width: 100%;
    height: 100%;
} */

.dw-who-media {
    position: relative;
    width: 100%;
}

/* .dw-uni-hero__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
} */

.dw-who-media__img {
    width: 100%;
    height: 100%;
    position: relative;
    inset: 0;
    object-fit: cover;
    z-index: 0;
    border-radius: var(--radius-lg);
}

.dw-who-media__overlay {
  border-radius: var(--radius-lg);
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(180deg, rgb(14 40 32 / 0%) 40%, rgb(14 40 32 / 90%) 100%);
}

.dw-who-media__quote {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 2;
    color: var(--color-white);
    font-size: var(--fs-h4);
    font-weight: var(--fw-bold);
    text-align: left;
    padding: 0 20px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 14px;
}

.blockquote h3 {
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
      background: var(--gradient-gold-premium);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.blockquote-footer  {
  color: var(--color-white);
  font-weight: var(--fw-medium);
  font-size: var(--fs-h5);
}

.dw-why-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 0px;
}

.dw-why-grid .dw-why-card {
  background: var(--gradient-tile);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-lg);
  padding: 30px 24px;
  transition: all var(--transition);
}


.dw-why-grid .dw-why-card .dw-why-card__icon {
  width: 54px; height: 54px;
  padding: 10px;
  background: rgba(225, 225, 225, .2);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-bottom: 20px;
}


.dw-why-grid .dw-why-card h3 {
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  color: var(--color-white);
}

.dw-why-grid .dw-why-card p {
  font-size: var(--fs-p);
  color: rgba(255,255,255,0.6);
  margin-bottom: 0;
}


.mission-vision-section .mission-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 14px;
    margin-bottom: 0px;
}

.mission-vision-section .mission-grid .mission-box {
  position: relative;
  overflow: hidden;
  background: var(--color-white);
  color: var(--color-bg-dark);
  border: 1px solid var(--color-border-light);
  border-radius: var(--radius-lg);
  padding: 40px 34px;
  transition: all var(--transition);
}

.mission-vision-section .mission-grid .mission-box:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-5px);
}

.mission-vision-section .mission-grid .mission-box::after {
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  transform: translate(50px, 50px);
  width: 160px;
  height: 160px;
  border-radius: var(--radius-pill);
  background: var(--color-primary);
  opacity: 0.1;
}
.mission-vision-section .mission-grid .mission-box p {
  margin-bottom: 0;
  color: var(--color-text-para);
  font-size: var(--fs-p);
}

.mission-vision-section .mission-grid .mission-box h3 {
  color: var(--color-bg-dark);
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);
  margin-bottom: 20px;
}

.divider-separator {
    position: relative;
    display: flex;
    gap: 14px;
    width: 100%;
    /* height: 1px; */
    margin-bottom: 20px;
    flex-direction: row;
    align-items: center;
    color: var(--color-gold-mid);
    white-space: nowrap;
}

.divider-separator::after {
  content: '';
  position: relative;
  width: 100%;
  height: 1px;
  background: var(--color-gold-mid);
}

.mission-vision-section .mission-grid .mission-box.mission-dark {
  background: var(--gradient-cta-bg);
  color: var(--color-white);
}

.mission-vision-section .mission-grid .mission-box.mission-dark h3{
  color: var(--color-white);
}
.mission-vision-section .mission-grid .mission-box.mission-dark p{
  color: rgba(255,255,255,0.6);
}






.dw-cta-section {
    position: relative;
    width: 100%;
    min-height: var(--breadcrumb-height);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.dw-cta__media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.dw-cta__img {
    width: 100%;
    height: 100%;
    position: absolute;
    inset: 0;
    object-fit: cover;
}

.dw-cta__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    backdrop-filter: blur(2px);
    opacity: 0.8;
    background: var(--gradient-cta-bg);
}

.dw-cta__content {
    z-index: 2;
    max-width: 800px;
    width: 100%;
    height: auto;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: relative;
}

.dw-cta-section .dw-section-header__title {
    font-family: var(--font-primary);
    font-size: var(--fs-h2);
    font-weight: var(--fw-bold);
    color: var(--color-white);
    line-height: 1.2;
    margin-bottom: 8px;
}

.dw-cta-section .dw-section-header__title mark {
    background: var(--gradient-gold-premium);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}



.dw-cta-section  .btn-primary {
    border-color: var(--color-primary-light);
    background: var(--color-white);
    color: var(--color-primary);
}

.dw-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 0px;
}

.dw-contact-grid .dw-contact-card {
  background: var(--gradient-tile);
  border: 1px solid var(--color-primary);
  border-radius: var(--radius-lg);
  padding: 30px 24px;
      display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  transition: all var(--transition);
}


.dw-contact-grid .dw-contact-card .dw-contact-card__icon {
  width: 54px; height: 54px;
  padding: 10px;
  background: rgba(225, 225, 225, .2);
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: var(--radius-sm);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  margin-bottom: 20px;
}


.dw-contact-grid .dw-contact-card h3 {
  font-size: var(--fs-h4);
  font-weight: var(--fw-semibold);
  color: var(--color-white);
}

.dw-contact-grid .dw-contact-card p {
  font-size: var(--fs-p);
  color: rgba(255,255,255,0.6);
  margin-bottom: 0;
}

.dw-contact-form-section {}

.dw-contact-tab {
  width: 100%;
  padding: 9px 12px;
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--color-text-para);
  background: transparent;
  border: none;
  border-radius: var(--radius-pill);
  cursor: pointer;
  white-space: nowrap;
  transition: background var(--transition), color var(--transition);
  text-align: center;
}

.dw-contact-tab:hover {
  color: var(--color-primary);
}

.dw-contact-tab--active {
  background: var(--color-white);
  color: var(--color-primary);
  font-weight: var(--fw-semibold);
  box-shadow: var(--shadow-sm);
}

.dw-contact-form-section .dw-contact-tabs ul {
  display:flex;
  border:1.5px solid var(--color-border-light);
  border-radius:var(--radius-pill);
  overflow:hidden;
  max-width:750px;
  margin:0 auto;
  list-style:none;
  padding:4px;
  gap:4px;
  background:var(--color-border-light);
}

.dw-contact-form-wrapper {
  background:var(--color-white);
  border:1px solid var(--color-border-light);
  border-radius:var(--radius-xl);
  padding:32px;
  max-width:860px;
  margin:0 auto;
  box-shadow:var(--shadow-sm);
}

@media (max-width: 560px) {
  .dw-contact-form-section [style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
  }
}


@media (max-width: 600px) {
  .dw-contact-grid {
    grid-template-columns: repeat(1, 1fr);
  }
  .dw-stats-section .stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px 0;
  }
  .stats-badge {
    right: -4px;
  }
  .dw-who-section .features-grid {
    grid-template-columns: repeat(1, 1fr);
  }

  .dw-why-grid,.mission-vision-section .mission-grid  {
    grid-template-columns: repeat(1, 1fr);
  }
  .dw-section {
      padding: 28px 0 40px;
      position: relative;
  }

  .dw-cta__content {
    text-align: center;
  }
  .cta-btns {
      display: flex;
      gap: 12px;
      flex-wrap: wrap;
      flex-direction: row;
      width: 100%;
      justify-content: center;
  }
  .dw-contact-form-wrapper {
    box-shadow: none;
    padding: 20px;
  }
  .dw-ef-submit {
    padding: 8px;
  }
  .dw-ef-submit svg{
    width: 16px;
    height: 16px;
    margin-left: 4px;
  }
}



    /* ==============================
       SEARCH / FILTER BAR
    ============================== */

    .dw-search-list-page, .dw-project-view-page{
      background-color: var(--color-bg-light);
    }
    .dw-search-list-search-bar {
      background: var(--color-white);
      /* border-bottom: 1px solid var(--color-border-light); */
      position: sticky;
      top: var(--nav-height);
      z-index: 100;
      box-shadow: var(--shadow-sm);
    }

    .dw-search-list-search-bar__inner {
      max-width: 1280px;
      margin: 0 auto;
      display: flex;
      align-items: center;
      gap: 0;
    }

    .dw-search-list-search-bar__keyword {
      display: flex;
      align-items: center;
      gap: 8px;
      flex: 1 1 220px;
      padding: 0 16px;
      height: 56px;
      border-right: 1px solid var(--color-border-light);
    }

    .dw-search-list-search-bar__keyword svg { color: var(--color-text-para); flex-shrink: 0; }

    .dw-search-list-search-bar__keyword input {
      border: none;
      outline: none;
      width: 100%;
      font-family: var(--font-primary);
      font-size: var(--fs-sm);
      color: var(--color-text-primary);
      background: transparent;
    }

    .dw-search-list-search-bar__keyword input::placeholder { color: var(--color-text-para); }

    .dw-search-list-search-bar__filter {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 0 20px;
      width: 140px;
      height: 56px;
      border: none;
      border-right: 1px solid var(--color-border-light);
      background: transparent;
      cursor: pointer;
      font-family: var(--font-primary);
      font-size: var(--fs-sm);
      font-weight: var(--fw-medium);
      color: var(--color-text-primary);
      white-space: nowrap;
      transition: background var(--transition);
    }

    .dw-search-list-search-bar__filter:hover { background: var(--color-bg-light); }

    .dw-search-list-search-bar__filter .label-sub {
      display: block;
      font-size: var(--fs-2xs);
      color: var(--color-text-para);
      font-weight: var(--fw-regular);
      line-height: 1;
    }

    .dw-search-list-search-bar__filter .label-main {
      display: flex;
      align-items: center;
      justify-content: space-between;
      width: 100%;
      gap: 4px;
      font-size: var(--fs-sm);
      font-weight: var(--fw-medium);
    }

    .filter-text-wrap { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; width: 100%; }

    .chevron-icon { color: var(--color-text-para); flex-shrink: 0; }

    /* ==============================
       MAIN LAYOUT
    ============================== */
    .dw-search-list-properties-section {
      max-width: 1280px;
      margin: 0 auto;
      padding: 32px 20px 60px;
      display: grid;
      grid-template-columns: 1fr 340px;
      gap: 28px;
      align-items: start;
    }

    /* ==============================
       LISTINGS COLUMN
    ============================== */
    .listings-col {}


    .listings-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 20px;
    }

    .listings-header__title {
      font-size: var(--fs-h2);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
      line-height: 1.2;
    }

    .listings-header__count {
      font-size: var(--fs-p);
      color: var(--color-text-para);
      margin-top: 4px;
      margin-bottom: 0;
    }

    .listings-header__sort {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: var(--fs-sm);
      color: var(--color-text-para);
    }

    .listings-header__sort select {
      background-color: var(--color-white);
    }


    /* ==============================
       dw-search-list-propertY CARD
    ============================== */
    .dw-search-list-property-list {
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 16px;
      margin: 0;
      padding: 0;
    }

    .dw-search-list-property-card {
      background: var(--color-white);
      border-radius: var(--radius-lg);
      border: 1px solid var(--color-border-light);
      overflow: hidden;
      display: grid;
      grid-template-columns: 260px 1fr auto;
      box-shadow: var(--shadow-sm);
      transition: box-shadow var(--transition-fast), transform var(--transition-fast);
    }

    .dw-search-list-property-card .dw-listing-builder {
      left: 10px;
    }

    .dw-search-list-property-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-2px);
    }

    /* — Card Image — */
    .dw-search-list-property-card__img-wrap {
      position: relative;
      overflow: hidden;
      height: 100%;
      min-height: 260px;
      max-height: 260px;
    }

    .dw-search-list-property-card__img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: transform var(--transition-med);
    }

    .dw-search-list-property-card:hover .dw-search-list-property-card__img { transform: scale(1.05); }

    /* — Card Body — */
    .dw-search-list-property-card__body {
      padding: 16px 18px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }

    .dw-search-list-property-card__name {
      font-size: var(--fs-h4);
      font-weight: var(--fw-semibold);
      color: var(--color-text-primary);
      line-height: 1.3;
      margin-bottom: 0;
    }

    .dw-search-list-property-card__location {
      display: flex;
      align-items: center;
      gap: 4px;
      font-size: var(--fs-sm);
      color: var(--color-text-para);
      margin: 0;
    }

    .dw-search-list-property-card__rera {
      display: flex;
      align-items: center;
      gap: 6px;
      background-color: var(--color-bg-light);
      padding: 10px;
      border-radius: var(--radius-sm);
      margin: 0;
    }

    .rera-badge {
      display: inline-flex;
      align-items: center;
      gap: 4px;
      background: var(--color-bg-light-green);
      color: var(--color-primary);
      font-size: var(--fs-2xs);
      font-weight: var(--fw-semibold);
      padding: 3px 8px;
      border-radius: var(--radius-pill);
      border: 1px solid rgba(0, 91, 82, 0.2);
    }

    .rera-number {
      font-size: var(--fs-2xs);
      color: var(--color-primary);
      font-weight: var(--fw-medium);
      text-decoration: underline;
      text-decoration-style: dotted;
      cursor: pointer;
      transition: color var(--transition);
    }

    .rera-number:hover { color: var(--color-primary-dark); }

    .dw-search-list-property-card__meta {
      display: flex;
      align-items: center;
      gap: 20px;
      margin-top: auto;
      padding-top: 8px;
      border-top: 1px solid var(--color-border-light);
    }

    .meta-item {
      display: flex;
      align-items: center;
      gap: 5px;
      font-size: var(--fs-sm);
      color: var(--color-text-para);
    }

    .meta-item svg {
      color: var(--color-primary);
      flex-shrink: 0;
      width: 30px;
      height: 30px;
    }
    .meta-item strong { font-weight: var(--fw-semibold); color: var(--color-text-primary); }

    /* — Card Pricing — */
    .dw-search-list-property-card__pricing {
      padding: 16px 18px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: space-between;
      border-left: 1px solid var(--color-border-light);
      min-width: 200px;
    }

    .pricing-type {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      text-align: center;
    }

    .pricing-amount {
      font-size: var(--fs-h2);
      font-weight: var(--fw-bold);
      color: var(--color-primary);
      line-height: 1.1;
      text-align: center;
    }

    .pricing-onwards {
      font-size: var(--fs-p);
      color: var(--color-text-para);
      text-align: center;
      margin-top: 2px;
    }

    .pricing-actions {
      display: flex;
      flex-direction: column;
      gap: 8px;
      width: 100%;
    }

    .btn--whatsapp {
      background: var(--gradient-btn-3);
      color: var(--color-white);
      border-color: transparent;
      flex: 1;
    }

    .btn-row {
      display: flex;
      gap: 8px;
      width: 100%;
    }

    /* ==============================
       SIDEBAR COLUMN
    ============================== */
    .sidebar-col {
      display: flex;
      flex-direction: column;
      gap: 24px;
      position: sticky;
      top: calc(var(--nav-height) + 10px);
    }

    /* — Lead Form — */
    .lead-form-card {
      border-radius: var(--radius-sm);
      color: var(--color-white);
      box-shadow: var(--shadow-md);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-md);
      overflow: hidden;
      background: var(--color-white);
    }

    .lead-form-card form {
      background: var(--color-white);
      padding: 20px;
    }

    .lead-form-card__header {
      background: var(--gradient-top-header);
      padding: 14px 16px;
      display: flex;
      align-items: center;
      gap: 10px;
      margin-bottom: 0px;
    }

    .lead-form-card__icon {
      width: 36px;
      height: 36px;
      border-radius: 50%;
      background: var(--gradient-orange);
      display: flex;
      align-items: center;
      justify-content: center;
      font-size: 18px;
      flex-shrink: 0;
      box-shadow: var(--shadow-sm);
    }

    .lead-form-card__title {
      font-family: var(--font-primary);
      font-size: var(--fs-h5);
      font-weight: var(--fw-semibold);
      line-height: 1.3;
      margin: 0;
    }

    /* — Locations Card — */
    .locations-card {
      background: var(--color-white);
      border-radius: var(--radius-md);
      padding: 16px;
      border: 1px solid var(--color-border-light);
      box-shadow: var(--shadow-sm);
    }

    .locations-card__title {
      font-size: var(--fs-h4);
      font-weight: var(--fw-semibold);
      color: var(--color-black);
      margin-bottom: 4px;
    }

    .locations-card__title mark {
      background: var(--color-primary);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      padding: 0;
    }

    .locations-card__subtitle {
      font-size: var(--fs-sm);
      color: var(--color-text-para);
      margin-bottom: 16px;
    }

    .locations-grid {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      list-style: none;
      padding: 0;
      margin: 0;
    }

    .location-tile {
      position: relative;
      border-radius: var(--radius-md);
      overflow: hidden;
      aspect-ratio: 4/3;
      cursor: pointer;
    }

    .location-tile img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      transition: transform var(--transition-med);
      display: block;
    }

    .location-tile:hover img { transform: scale(1.07); }

    .location-tile__overlay {
      position: absolute;
      inset: 0;
      background: linear-gradient(180deg, transparent 40%, rgba(0,23,22,0.75) 100%);
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      padding: 10px 12px;
    }

    .location-tile__name {
      font-size: var(--fs-h5);
      font-weight: var(--fw-semibold);
      color: var(--color-white);
      line-height: 1.2;
      margin: 0;
    }

    .location-tile__link {
      font-size: var(--fs-p);
      color: rgba(255,255,255,0.75);
      margin-top: 2px;
      margin-bottom: 0;
    }

    /* ==============================
       RESPONSIVE
    ============================== */
    @media (max-width: 1024px) {
      .dw-search-list-properties-section {
        grid-template-columns: 1fr;
      }
      .sidebar-col {
        position: static;
        display: grid;
        grid-template-columns: 1fr 1fr;
      }
    }

    @media (max-width: 768px) {
      .dw-search-list-property-card .pricing-actions {
          flex-direction: row;
      }
      .pricing-amount-wrapper {
            display: flex;
            align-items: flex-end;
            margin-top: 5px;
        }
      .dw-search-list-property-card .pricing-actions .btn-row a span,
      .dw-search-list-property-card .pricing-actions .btn-row button span{
          display: none;
      }
      .dw-search-list-property-card .pricing-actions .btn-row a ,
      .dw-search-list-property-card .pricing-actions .btn-row button {
          /* display: none; */
          padding: 10px;
      }
      .dw-search-list-property-card .pricing-actions .btn-primary {
        flex-grow: 2;
        width: 100%;
      }
      .dw-search-list-property-card .pricing-actions .btn-row {
            width: auto;
        }

      .dw-search-list-search-bar__filter .label-sub { display: none; }
      .dw-search-list-property-card {
        grid-template-columns: 160px 1fr;
        grid-template-rows: 1fr auto;
      }
      .dw-search-list-property-card__pricing {
        /* grid-column: 1 / -1; */
        flex-direction: column;
        gap: 10px;
        border-left: none;
        border-top: 1px solid var(--color-border-light);
        align-items: center;
      }
      .sidebar-col { grid-template-columns: 1fr; }

      /* .dw-search-list-property-card__rera {
            position: absolute;
            top: 210px;
            right: 6px;
            z-index: 222;
            background: rgb(249 249 251 / 65%);
            padding: 5px;
        } */
    }

    @media (max-width: 480px) {
      .dw-search-list-property-card {
        grid-template-columns: 1fr;
      }
      .dw-search-list-property-card__img-wrap { min-height: 200px; }
      .dw-search-list-search-bar__inner { overflow-x: auto; }
    }

    .lead-form-card .dw-ef-submit {
      font-size: var(--fs-h6) !important;
      width: auto;
      padding: 10px 20px;
    }

    .lead-form-card .dw-ef-submit svg {
      width: 18px;
      height: 18px;
    }

.dw-search-list-property-list dd {
  font-size: var(--fs-xs);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.dw-search-list-property-list dd strong{
  font-size: var(--fs-sm);
}



    /* ==============================
       UTILITIES
    ============================== */
    .dw-project-section-title {
      /* font-family: var(--font-secondary); */
      font-size: var(--fs-h2);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
      margin-bottom: 1.25rem;
      position: relative;
      display: flex;
      gap: 14px;
      width: 100%;
      /* height: 1px; */
      flex-direction: row;
      align-items: center;
      /* white-space: nowrap; */
    }

    .dw-project-section-title::after {
      content: '';
      position: relative;
      /* width: 100%; */
      height: 1px;
      background: var(--color-border-light);
      flex-grow: 1;
    }


    .dw-project-btn-outline {
      display: inline-flex;
      align-items: center;
      gap: 6px;
      border: 1.5px solid var(--color-primary);
      color: var(--color-primary);
      font-size: var(--fs-btn);
      font-weight: var(--fw-semibold);
      padding: 9px 20px;
      border-radius: var(--radius-pill);
      transition: background var(--transition-fast), color var(--transition-fast);
    }
    .dw-project-btn-outline:hover { background: var(--color-primary); color: var(--color-white); }


    /* ==============================
       BREADCRUMB
    ============================== */
    .dw-project-breadcrumb {
      background: var(--header-bg);
      padding: 14px 0;
      border-bottom: 1px solid var(--color-border-light);
      font-size: var(--fs-xs);
      color: var(--color-text-para);
    }
    .dw-project-breadcrumb__item a { color: var(--color-primary); transition: opacity var(--transition); }
    .dw-project-breadcrumb__item a:hover { opacity: 0.75; }

    /* ==============================
       HERO / GALLERY + META
    ============================== */
    .dw-project-project-hero {
      background-color: var(--body-bg);
      padding: 20px 0;
    }

    .dw-project-project-hero__inner {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: clamp(20px, 2.5vw, 40px);
      align-items: start;
    }

    /* Gallery */
    .dw-project-gallery-grid {
      position: relative;
      border-radius: var(--radius-xl);
      overflow: hidden;
      aspect-ratio: 4/3;
      background: var(--color-bg-dark);
    }
    .dw-project-gallery-grid__main {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform var(--transition-slow);
    }
    .dw-project-gallery-grid__main:hover { transform: scale(1.02); }

    .dw-project-gallery-badges {
      position: absolute;
      top: 14px; left: 14px;
      display: flex; flex-wrap: wrap; gap: 6px;
      z-index: 5;
    }

    .dw-project-gallery-grid .dw-project-gallery-overlay-btn {
      position: absolute;
      z-index: 5;
      bottom: 14px; right: 14px;
      border: none;
      background: rgba(0,0,0,0.65);
      backdrop-filter: blur(6px);
      color: var(--color-white);
      font-size: var(--fs-xs);
      font-weight: var(--fw-medium);
      padding: 7px 14px;
      border-radius: var(--radius-pill);
      display: flex; align-items: center; gap: 6px;
      cursor: pointer;
      transition: background var(--transition-fast);
    }
    .dw-project-gallery-grid .dw-project-gallery-overlay-btn:hover { background: rgba(0,0,0,0.85); }

    /* Meta block */
    .dw-project-project-meta { display: flex; flex-direction: column; gap: 10px; }

    .dw-project-project-meta__location {
      display: flex; align-items: center; gap: 6px;
      font-size: var(--fs-xs);
      color: var(--color-primary);
      font-weight: var(--fw-medium);
    }
    .dw-project-project-meta__location svg { flex-shrink: 0; }

    .dw-project-project-meta__title {
      font-family: var(--font-secondary);
      font-size: var(--fs-h1);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
      line-height: 1.15;
    }
    .dw-project-project-meta__by {
      font-size: var(--fs-sm);
      color: var(--color-text-para);
    }
    .dw-project-project-meta__by strong { color: var(--color-primary); font-weight: var(--fw-semibold); }

    /* Spec grid */
    .dw-project-spec-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }
    .dw-project-spec-item {
      background: var(--color-bg-light);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-md);
      padding: 12px 14px;
    }
    .dw-project-spec-item__label {
      font-size: var(--fs-2xs);
      color: var(--color-text-para);
      font-weight: var(--fw-medium);
      text-transform: uppercase;
      letter-spacing: 0.04em;
      margin-bottom: 4px;
    }
    .dw-project-spec-item__value {
      font-size: var(--fs-sm);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
    }
    .dw-project-spec-item__value--primary { color: var(--color-primary); }

    /* Feature tags */
    /* .dw-project-feature-tags {
      display: flex; flex-wrap: wrap; gap: 8px;
    }
    .dw-project-feature-tag {
      display: inline-flex; align-items: center; gap: 5px;
      font-size: var(--fs-xs);
      font-weight: var(--fw-medium);
      color: var(--color-primary-dark);
      background: var(--color-bg-light-green);
      border: 1px solid rgba(0,91,82,0.15);
      padding: 5px 12px;
      border-radius: var(--radius-pill);
    } */

    /* Price block */
    .dw-project-price-block {
      display: flex;
      align-items: flex-start;
      gap: 0px;
      flex-wrap: wrap;
      flex-direction: column;
    }
    .dw-project-price-block__label {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      font-weight: var(--fw-medium);
    }
    .dw-project-price-block__amount {
      /* font-family: var(--font-secondary); */
      font-size: var(--fs-h2);
      font-weight: var(--fw-bold);
      color: var(--color-primary);
    }
    .dw-project-price-block__note {
      font-size: var(--fs-p);
      color: var(--color-text-para);
    }

    .dw-project-hero-ctas { display: flex; gap: 12px; flex-wrap: wrap; }

    /* ==============================
       STICKY NAV
    ============================== */
    .dw-project-sticky-nav {
      position: sticky;
      top: var(--nav-height);
      z-index: 100;
      background: var(--color-white);
      border-top: 1px solid var(--color-border-light);
      border-bottom: 1px solid var(--color-border-light);
      box-shadow: 0px 18px 14px rgb(26 107 58 / 8%);
    }
    .dw-project-sticky-nav__inner {
      display: flex;
      align-items: center;
      gap: clamp(16px, 3vw, 36px);
      overflow-x: auto;
      scrollbar-width: none;
      padding-block: 0;
    }
    .dw-project-sticky-nav__inner::-webkit-scrollbar { display: none; }
    .dw-project-sticky-nav__link {
      font-size: var(--fs-sm);
      font-weight: var(--fw-medium);
      color: var(--color-text-para);
      padding: 16px 0;
      border-bottom: 2.5px solid transparent;
      white-space: nowrap;
      transition: color var(--transition), border-color var(--transition);
    }
    .dw-project-sticky-nav__link:hover,
    .dw-project-sticky-nav__link.dw-project-active {
      color: var(--color-primary);
      border-color: var(--color-primary);
    }

    /* ==============================
       MAIN LAYOUT  (content + sidebar)
    ============================== */
    .dw-project-project-body {
      padding-top: clamp(28px, 4vw, 56px);
      padding-bottom: clamp(40px, 6vw, 80px);
    }
    .dw-project-project-body__inner {
      display: grid;
      grid-template-columns: 1fr 340px;
      gap: clamp(20px, 3vw, 48px);
      align-items: start;
    }

    /* ==============================
       SECTIONS  (shared)
    ============================== */
    .dw-project-section {
      scroll-margin-top: 70px;
      padding: 20px;
      background-color: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-md);
      margin-bottom: clamp(32px, 5vw, 60px);
    }
    .dw-project-section:last-child { margin-bottom: 0; }

    /* ==============================
       OVERVIEW SECTION
    ============================== */
    .dw-project-overview__text {
      font-size: var(--fs-p);
      color: var(--color-text-para);
      line-height: 1.75;
      margin-bottom: 18px;
    }

    /* ==============================
       HIGHLIGHTS SECTION
    ============================== */
    .dw-project-highlights-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 20px;
    }
    .dw-project-highlight-card {
      background: var(--color-bg-light-green);
      border: 1px solid rgba(0,91,82,0.12);
      border-radius: var(--radius-lg);
      padding: clamp(16px, 2vw, 28px) clamp(14px, 1.5vw, 22px);
      text-align: center;
      transition: box-shadow var(--transition-fast), transform var(--transition-fast);
    }
    .dw-project-highlight-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
    .dw-project-highlight-card__value {
      font-family: var(--font-secondary);
      font-size: var(--fs-h2);
      font-weight: var(--fw-bold);
      color: var(--color-primary);
      line-height: 1.1;
    }
    .dw-project-highlight-card__label {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      margin-top: 6px;
      font-weight: var(--fw-medium);
    }

    /* ==============================
       FLOOR PLANS SECTION
    ============================== */
    .dw-project-floor-plans-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
      margin-top: 20px;
    }
    .dw-project-floor-card {
      background: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-lg);
      overflow: hidden;
      transition: box-shadow var(--transition-fast);
    }
    .dw-project-floor-card:hover { box-shadow: var(--shadow-md); }
    .dw-project-floor-card__img-wrap {
      aspect-ratio: 4/3;
      background: var(--color-bg-light);
      overflow: hidden;
      position: relative;
    }
    .dw-project-floor-card__img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform var(--transition-med);
    }
    .dw-project-floor-card:hover .dw-project-floor-card__img { transform: scale(1.04); }
    .dw-project-floor-card__body { padding: 14px 16px; }
    .dw-project-floor-card__type {
      font-size: var(--fs-h5);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
    }
    .dw-project-floor-card__size {
      font-size: var(--fs-p);
      color: var(--color-text-para);
      margin-top: 2px;
    }

    .dw-project-floor-card-overlay-btn {
      position: absolute;
      top: 0;
      right: 0;
      margin: 8px;
      border: none;
      background: rgba(0,0,0,0.65);
      backdrop-filter: blur(6px);
      color: var(--color-white);
      font-size: var(--fs-xs);
      font-weight: var(--fw-medium);
      padding: 7px 14px;
      border-radius: var(--radius-pill);
      display: flex; align-items: center; gap: 6px;
      cursor: pointer;
      transition: background var(--transition-fast);
    }
    .dw-project-floor-card-overlay-btn:hover {
      color: var(--color-white);
      background: rgba(0,0,0,0.85);
     }

    /* Expert CTA banner */
    .dw-project-expert-banner {
      margin-top: 20px;
      background: linear-gradient(135deg, var(--color-primary-10) 0%, var(--color-bg-light-green) 100%);
      border: 1px solid rgba(0,91,82,0.15);
      border-radius: var(--radius-lg);
      padding: clamp(16px, 2vw, 24px) clamp(16px, 2vw, 28px);
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      flex-wrap: wrap;
    }
    .dw-project-expert-banner__text h3 {
      font-size: var(--fs-h5);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
    }
    .dw-project-expert-banner__text p {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      margin-top: 4px;
      max-width: 400px;
    }

    /* ==============================
       AMENITIES SECTION
    ============================== */
    .dw-project-amenities-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
      margin-top: 20px;
    }
    .dw-project-amenity-card {
      background: var(--color-bg-light);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-lg);
      padding: 20px 14px;
      text-align: center;
      transition: background var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);
    }
    .dw-project-amenity-card:hover {
      background: var(--color-bg-light-green);
      border-color: rgba(0,91,82,0.2);
      box-shadow: var(--shadow-sm);
    }
    .dw-project-amenity-card__icon {
      font-size: 28px;
      margin-bottom: 8px;
    }
    .dw-project-amenity-card__name {
      font-size: var(--fs-xs);
      font-weight: var(--fw-semibold);
      color: var(--color-text-primary);
    }

    /* ==============================
       LOCATION SECTION
    ============================== */
    .dw-project-location-map {
      margin-top: 20px;
      border-radius: var(--radius-xl);
      overflow: hidden;
      border: 1px solid var(--color-border-light);
      aspect-ratio: 16/7;
      background: var(--color-bg-light);
      position: relative;
    }
    .dw-project-location-map iframe {
      width: 100%; height: 100%;
      border: 0;
    }
    .dw-project-location-map img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      border: 0;
    }

    .dw-project-location-points {
      margin-top: 20px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px 32px;
    }
    .dw-project-location-point {
      display: flex;
      align-items: center;
      gap: 8px;
      font-size: var(--fs-sm);
      color: var(--color-text-para);
    }
    .dw-project-location-point__dot {
      width: 7px; height: 7px;
      border-radius: 50%;
      background: var(--color-primary);
      flex-shrink: 0;
    }
    .dw-project-location-point strong { color: var(--color-text-primary); font-weight: var(--fw-semibold); }

    /* ==============================
       GALLERY SECTION
    ============================== */
    .dw-project-gallery-section-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 12px;
      margin-top: 20px;
    }
    .dw-project-gallery-section-item {
      border-radius: var(--radius-md);
      overflow: hidden;
      aspect-ratio: 1;
      position: relative;
      cursor: pointer;
    }
    .dw-project-gallery-section-item img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform var(--transition-med);
    }
    .dw-project-gallery-section-item:hover img { transform: scale(1.06); }
    .dw-project-gallery-section-item__overlay {
      position: absolute; inset: 0;
      background: rgba(0,23,22,0.55);
      display: flex; align-items: center; justify-content: center;
      color: var(--color-white);
      font-size: var(--fs-h4);
      font-weight: var(--fw-bold);
    }

    /* ==============================
       WHY SECTION
    ============================== */
    .dw-project-why-list {
      margin-top: 16px;
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .dw-project-why-item {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      font-size: var(--fs-p);
      color: var(--color-text-para);
      line-height: 1.6;
    }
    .dw-project-why-item__check {
      flex-shrink: 0;
      width: 20px; height: 20px;
      border-radius: 50%;
      background: var(--color-primary-10);
      color: var(--color-primary);
      display: flex; align-items: center; justify-content: center;
      font-size: 11px;
      margin-top: 2px;
    }

    /* ==============================
       BROCHURE BANNER
    ============================== */
    .dw-project-brochure-banner {
      margin-top: clamp(28px, 4vw, 48px);
      background: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-md);
      padding: 20px;
      display: flex;
      align-items: center;
      gap: 16px;
    }
    .dw-project-brochure-banner__icon {
      width: 90px; height: 90px;
      border-radius: var(--radius-md);
      /* background: var(--color-primary-10); */
      background: var(--gradient-gold);
      display: flex; align-items: center; justify-content: center;
      font-size: 24px;
      flex-shrink: 0;
    }
    .dw-project-brochure-banner__icon svg {
      width: 50px;height: 50px;
      color: var(--color-black);
    }
    .dw-project-brochure-banner__text h3 {
      font-size: var(--fs-h4);
      font-weight: var(--fw-semibold);
      color: var(--color-text-primary);
    }
    .dw-project-brochure-banner__text p {
      font-size: var(--fs-p);
      color: var(--color-text-para);
      margin-top: 3px;
    }
    .dw-project-brochure-banner__cta {
      margin-left: auto;
      flex-shrink: 0;
     }

    /* ==============================
       SIMILAR PROJECTS
    ============================== */
    .dw-project-similar-section {
      padding-block: clamp(36px, 5vw, 64px);
      background: var(--color-bg-light);
      border-top: 1px solid var(--color-border-light);
    }
    .dw-project-similar-section .dw-project-section-title { margin-bottom: 24px; }
    .dw-project-similar-grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 18px;
    }
    .dw-project-similar-card {
      background: var(--color-white);
      border-radius: var(--radius-lg);
      overflow: hidden;
      border: 1px solid var(--color-border-light);
      transition: box-shadow var(--transition-fast), transform var(--transition-fast);
    }
    .dw-project-similar-card:hover { box-shadow: var(--shadow-md); transform: translateY(-4px); }
    .dw-project-similar-card__img-wrap {
      aspect-ratio: 4/3;
      position: relative;
      overflow: hidden;
    }
    .dw-project-similar-card__img {
      width: 100%; height: 100%;
      object-fit: cover;
      transition: transform var(--transition-med);
    }
    .dw-project-similar-card:hover .dw-project-similar-card__img { transform: scale(1.04); }
    .dw-project-similar-card__badge {
      position: absolute;
      top: 10px; left: 10px;
    }
    .dw-project-similar-card__body { padding: 14px 16px; }
    .dw-project-similar-card__price {
      font-size: var(--fs-sm);
      font-weight: var(--fw-bold);
      color: var(--color-primary);
      margin-bottom: 4px;
    }
    .dw-project-similar-card__name {
      font-size: var(--fs-md);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
      margin-bottom: 2px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .dw-project-similar-card__loc {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      margin-bottom: 2px;
    }
    .dw-project-similar-card__config {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      margin-bottom: 14px;
    }
    .dw-project-similar-card__actions {
      display: flex; gap: 8px;
    }
    .dw-project-similar-card__actions .dw-project-btn-primary { flex: 1; justify-content: center; padding: 8px 10px; font-size: var(--fs-xs); }
    .dw-project-similar-card__icon-btn {
      width: 36px; height: 36px;
      border-radius: var(--radius-md);
      border: 1.5px solid var(--color-border-light);
      display: flex; align-items: center; justify-content: center;
      font-size: 16px;
      transition: border-color var(--transition), background var(--transition);
    }
    .dw-project-similar-card__icon-btn:hover { border-color: var(--color-primary); background: var(--color-primary-10); }

    /* ==============================
       SIDEBAR
    ============================== */
    .dw-project-sidebar {
      position: sticky;
      top: 80px;
      display: flex;
      flex-direction: column;
      gap: 18px;
    }

    .dw-project-sidebar-price-card {
      background: var(--gradient-btn);
      border-radius: var(--radius-xl);
      padding: 20px 22px;
      color: var(--color-white);
    }
    .dw-project-sidebar-price-card__label {
      font-size: var(--fs-xs);
      opacity: 0.8;
      margin-bottom: 4px;
    }
    .dw-project-sidebar-price-card__value {
      font-family: var(--font-secondary);
      font-size: var(--fs-h2);
      font-weight: var(--fw-bold);
    }
    .dw-project-sidebar-price-card__sub {
      font-size: var(--fs-xs);
      opacity: 0.75;
      margin-top: 2px;
    }

    .dw-project-sidebar-form-card {
      background: var(--color-white);
      border: 1px solid var(--color-border-light);
      border-radius: var(--radius-xl);
      padding: 22px;
      box-shadow: var(--shadow-sm);
    }
    .dw-project-sidebar-form-card__title {
      font-size: var(--fs-h5);
      font-weight: var(--fw-bold);
      color: var(--color-text-primary);
      margin-bottom: 4px;
    }
    .dw-project-sidebar-form-card__sub {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      margin-bottom: 16px;
    }
/*
    .dw-project-form-group { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
    .dw-project-form-group label {
      font-size: var(--fs-2xs);
      font-weight: var(--fw-semibold);
      color: var(--color-text-para);
      text-transform: uppercase;
      letter-spacing: 0.04em;
    }
    .dw-project-form-group input,
    .dw-project-form-group select,
    .dw-project-form-group textarea {
      font-family: var(--font-primary);
      font-size: var(--fs-sm);
      color: var(--color-text-primary);
      border: 1.5px solid var(--color-border-light);
      border-radius: var(--radius-md);
      padding: 10px 13px;
      outline: none;
      transition: border-color var(--transition), box-shadow var(--transition);
      width: 100%;
      background: var(--color-white);
    }
    .dw-project-form-group input:focus,
    .dw-project-form-group select:focus,
    .dw-project-form-group textarea:focus {
      border-color: var(--color-primary);
      box-shadow: 0 0 0 3px var(--color-primary-10);
    }
    .dw-project-form-group textarea { resize: vertical; min-height: 80px; }

    .dw-project-form-submit {
      width: 100%;
      background: var(--gradient-btn-cta);
      color: var(--color-white);
      font-size: var(--fs-btn);
      font-weight: var(--fw-bold);
      padding: 13px;
      border-radius: var(--radius-pill);
      transition: opacity var(--transition-fast);
      margin-top: 4px;
    }
    .dw-project-form-submit:hover { opacity: 0.88; } */

    .dw-project-form-meta {
      font-size: var(--fs-xs);
      color: var(--color-text-para);
      text-align: center;
      margin-top: 10px;
    }

    .dw-project-sidebar-contact {
        background: var(--color-white);
        border: 1px solid var(--color-border-light);
        border-radius: var(--radius-xl);
        padding: 11px 14px;
        margin-top: 10px;
        display: flex;
        align-items: center;
        gap: 12px;
        justify-content: center;
        flex-wrap: wrap;
    }

    .dw-project-sidebar-contact__btn {
      flex: 1;
      min-width: 120px;
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 7px;
      background: var(--gradient-btn);
      color: var(--color-white);
      font-size: var(--fs-xs);
      font-weight: var(--fw-semibold);
      padding: 10px 14px;
      border-radius: var(--radius-pill);
      transition: opacity var(--transition-fast);
    }
    .dw-project-sidebar-contact__btn:hover { opacity: 0.85; }
    .dw-project-sidebar-contact__btn--wa {
      background: linear-gradient(135deg, #25D366 0%, #128C7E 100%);
    }

    /* ==============================
       RESPONSIVE
    ============================== */
    @media (max-width: 1100px) {
      .dw-project-project-body__inner { grid-template-columns: 1fr; }
      .dw-project-sidebar { position: static; }
      .dw-project-similar-grid { grid-template-columns: repeat(2, 1fr); }
    }

    @media (max-width: 900px) {
      .dw-project-project-hero__inner { grid-template-columns: 1fr; }
      .dw-project-amenities-grid { grid-template-columns: repeat(3, 1fr); }
      .dw-project-gallery-section-grid { grid-template-columns: repeat(3, 1fr); }
      .dw-project-floor-plans-grid { grid-template-columns: repeat(2, 1fr); }
      .dw-project-highlights-grid { grid-template-columns: repeat(3, 1fr); }
    }

    @media (max-width: 640px) {
      .dw-project-spec-grid { grid-template-columns: repeat(2, 1fr); }
      .dw-project-highlights-grid { grid-template-columns: repeat(2, 1fr); }
      .dw-project-floor-plans-grid { grid-template-columns: 1fr; }
      .dw-project-amenities-grid { grid-template-columns: repeat(2, 1fr); }
      .dw-project-gallery-section-grid { grid-template-columns: repeat(2, 1fr); }
      .dw-project-similar-grid { grid-template-columns: 1fr 1fr; }
      .dw-project-location-points { grid-template-columns: 1fr; }
      .dw-project-brochure-banner { flex-direction: column; align-items: flex-start; }
      .dw-project-brochure-banner__cta { margin-left: 0; }
      .dw-project-expert-banner { flex-direction: column; align-items: flex-start; }
    }

    @media (max-width: 420px) {
      .dw-project-similar-grid { grid-template-columns: 1fr; }
      .dw-project-spec-grid { grid-template-columns: 1fr 1fr; }
    }


.dw-project-project-builder {
  width: 44px;
  height: 44px;
  border-radius: var(--radius-sm);
  background: var(--color-white);
  outline: 1px solid var(--color-border-light) !important;
  outline-offset: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden
}

.dw-project-project-builder img {
  width: 38px;
  height: 38px;
  object-fit: contain
}

.dw-project-project-builder-wrapper {
    display: flex;
    align-items: center;
    gap: 10px;
}

.dw-project-price-block__icon {
    width: 50px;
    height: 50px;
    padding: 8px;
    border-radius: var(--radius-pill);
    color: var(--color-primary);
    background-color: var(--color-bg-light-green);
}

.dw-project-price-block__icon svg{
    color: var(--color-primary);
}

.dw-project-similar-section .dw-project-section-title::after {
  content: unset;
}

/* ============================================================
    RESPONSIVE
============================================================ */
@media (max-width: 900px) {
  .dw-header  { display: none; }
  .dw-mob-bar { display: flex; }
  .dw-project-sticky-nav {
    top: var(--mob-bar-height);
  }
}
@media (min-width: 901px) {
  .dw-mob-bar,
  .dw-drawer  { display: none !important; }
}


/* ── Form Banners ─────────────────────────────────────────────── */
.dw-form-banner {
  display: block;
  width: 100%;
  padding: 14px 18px;
  margin-top: 16px;
  border-radius: var(--radius-md);
  font-family: var(--font-primary);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  line-height: 1.5;
  border-left: 4px solid transparent;
}

.dw-form-banner--success {
  background: #EAF5EF;
  color: var(--color-success);
  border: 1px solid #A8D5BA;
}

.dw-form-banner--error {
  background: #FDECEA;
  color: var(--color-error);
  border: 1px solid #F5B7B1;
}

div#dw-cf-success-guest {
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* ==============================
   SUCCESS STATE — dw-cf-success
============================== */
.dw-cf-success {
  display: none; /* show via JS */
  text-align: center;
  padding: 28px 22px;
  border-radius: var(--radius-lg);
  background: var(--color-bg-light-green);
  border: 1px solid var(--color-primary-10);
  /* box-shadow: var(--shadow-sm); */
  animation: dw-contact-drop-in 0.3s ease;
  /* max-width: 420px; */
  margin: 0 auto;
}

/* Active state */
.dw-cf-success--show {
  display: block;
}

/* Icon */
.dw-cf-success__icon {
  width: 54px;
  height: 54px;
  margin: 0 auto 14px;
  border-radius: 50%;
  background: var(--gradient-btn-3); /* success gradient */
  color: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 22px;
  font-weight: var(--fw-bold);
  box-shadow: 0 6px 18px rgba(0, 91, 82, 0.2);
}

/* Title */
.dw-cf-success__title {
  font-size: var(--fs-h4);
  font-weight: var(--fw-bold);
  color: var(--color-primary-deep);
  margin-bottom: 6px;
}

/* Message */
.dw-cf-success__msg {
  font-size: var(--fs-sm);
  color: var(--color-text-para);
  line-height: var(--lh-p);
  max-width: 300px;
  margin: 0 auto;
}


.dw-project-amenity-card img {
  width: 50px;
  height: 50px;
  background: var(--color-primary);
  padding: 6px;
  border-radius: var(--radius-sm);
  object-fit: contain;
}

.dw-project-hero-swiper {
  width: 100%;
  height: 100%;
  position: relative;
}

.dw-project-hero-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

.dw-project-hero-nav {
      position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 20;
    background: var(--color-white);
    border: none;
    color: var(--color-primary);
    width: 38px;
    height: 38px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.2s;
    backdrop-filter: blur(6px);
    box-shadow: var(--shadow-md);
}

.dw-project-hero-prev { left: 10px; }
.dw-project-hero-next { right: 10px; }

.dw-project-hero-pagination {
    position: absolute;
    bottom: 0 !important;
    left: 0 !important;
    transform: translateX(0%);
    z-index: 99999;
    display: flex;
    justify-content: center;
    padding: 8px;
}

.dw-project-hero-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: var(--color-primary-10);
    border: none;
    cursor: pointer;
    transition: all 0.2s;
    padding: 0;
}

.dw-project-hero-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
        background: var(--color-primary-light, #009966);
    width: 22px;
    border-radius: 20px;
}

#dw-header-search-popup{position:fixed;inset:0;z-index:10000;display:flex;
align-items:flex-start;justify-content:center;padding-top:70px;
pointer-events:none;opacity:0;transition:opacity .22s ease}
#dw-header-search-popup.dw-open{pointer-events:auto;opacity:1}
#dw-header-search-popup[hidden]{display:none!important}

.dw-header-search-popup__backdrop{position:absolute;inset:0;
background:rgba(0,23,22,.6);backdrop-filter:blur(4px)}

.dw-header-search-popup__box{position:relative;width:100%;max-width:700px;
background:#fff;border-radius:14px;padding:16px;box-shadow:0 20px 60px rgba(0,0,0,.3)}

.dw-header-search-popup__tabs{display:flex;gap:2px;margin-bottom:10px;flex-wrap:wrap}

.dw-header-search-popup__tab{background:transparent;border:none;
border-bottom:2px solid transparent;color:#6A7282;font-size:.82rem;
font-weight:500;padding:6px 14px;cursor:pointer;transition:.16s ease;
border-radius:0}
.dw-header-search-popup__tab:hover{color:#005B52}
.dw-header-search-popup__tab.dw-active{border-bottom-color:#005B52;color:#005B52;font-weight:600}

.dw-header-search-popup__row{display:flex;align-items:center;gap:8px;
background:#F9F9FB;border:1.5px solid #CCD8D7;border-radius:10px;padding:4px 4px 4px 14px}

.dw-header-search-popup__icon{flex-shrink:0;width:17px;height:17px;color:#6A7282}

.dw-header-search-popup__input{flex:1;border:none;outline:none;background:transparent;
font-size:.93rem;color:#001716;padding:10px 8px;min-width:0}
.dw-header-search-popup__input::placeholder{color:#aaa}

.dw-header-search-popup__btn{background:linear-gradient(135deg,#009966,#005B52);
color:#fff;border:none;border-radius:8px;font-size:.88rem;font-weight:600;
padding:10px 22px;cursor:pointer;white-space:nowrap;transition:.16s ease}
.dw-header-search-popup__btn:hover{background:#003B35}

.dw-header-search-popup__close{background:none;border:none;font-size:1.1rem;
color:#6A7282;cursor:pointer;padding:8px;border-radius:50%;line-height:1;
transition:background .16s ease}
.dw-header-search-popup__close:hover{background:#f0f0f0;color:#001716}

.dw-header-search-popup__locs{display:flex;align-items:center;flex-wrap:wrap;
gap:7px;margin-top:12px}

/* ── Filter dropdowns on search-list page ── */
.dw-filter-dropdown{position:absolute;top:100%;left:0;min-width:220px;
background:#fff;border-radius:10px;border:1px solid #CCD8D7;
box-shadow:0 8px 32px rgba(0,0,0,.13);z-index:999;margin-top:4px}
.dw-filter-dropdown__inner{padding:8px 0;max-height:260px;overflow-y:auto}
.dw-filter-option{padding:10px 16px;font-size:.88rem;color:#001716;cursor:pointer;
transition:background .14s;display:flex;align-items:center;gap:8px}
.dw-filter-option::before{content:"";width:16px;height:16px;border:1.5px solid #CCD8D7;
border-radius:4px;flex-shrink:0;transition:all .14s}
.dw-filter-option:hover{background:#F9F9FB}
.dw-filter-option.dw-active{color:#005B52;font-weight:600;background:#E8F5ED}
.dw-filter-option.dw-active::before{background:#005B52;border-color:#005B52;
background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
background-size:10px;background-repeat:no-repeat;background-position:center}

/* City + status = single select: hide checkbox look */
#dw-fd-city .dw-filter-option::before,#dw-fd-status .dw-filter-option::before{border-radius:50%}
#dw-fd-city .dw-filter-option.dw-active::before,#dw-fd-status .dw-filter-option.dw-active::before{
background:#005B52;border-color:#005B52;
background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='2' fill='%23fff'/%3e%3c/svg%3e");
}

/* Price/Area range panel */
.dw-price-range-panel{padding:16px;min-width:300px}
.dw-range-section{margin-bottom:0}
.dw-range-title{font-size:.8rem;font-weight:600;color:#001716;text-transform:uppercase;
letter-spacing:.06em;margin-bottom:6px}
.dw-range-display{font-size:.88rem;font-weight:600;color:#005B52;margin-bottom:10px}
.dw-range-row{display:flex;align-items:center;gap:8px}
.dw-range-select{flex:1;border:1.5px solid #CCD8D7;border-radius:8px;padding:7px 10px;
font-size:.84rem;color:#001716;background:#fff;cursor:pointer;outline:none}
.dw-range-select:focus{border-color:#005B52}
.dw-range-sep{font-size:.8rem;color:#6A7282;flex-shrink:0}
.dw-range-divider{height:1px;background:#CCD8D7;margin:14px 0}
.dw-range-actions{display:flex;gap:8px;margin-top:14px;justify-content:flex-end}
.dw-range-clear{background:none;border:1.5px solid #CCD8D7;border-radius:8px;
padding:8px 16px;font-size:.84rem;color:#6A7282;cursor:pointer;transition:.14s}
.dw-range-clear:hover{border-color:#005B52;color:#005B52}
.dw-range-apply{background:linear-gradient(135deg,#009966,#005B52);color:#fff;border:none;
border-radius:8px;padding:8px 20px;font-size:.84rem;font-weight:600;cursor:pointer;transition:.14s}
.dw-range-apply:hover{background:#003B35}

/* More panel */
.dw-more-panel{padding:4px 0;min-width:260px}
.dw-more-section{padding:8px 0}
.dw-more-title{font-size:.75rem;font-weight:700;color:#6A7282;text-transform:uppercase;
letter-spacing:.08em;padding:0 16px 8px}
.dw-more-divider{height:1px;background:#CCD8D7;margin:4px 0}
.dw-bedroom-grid{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 8px}
.dw-bed-btn{background:#F9F9FB;border:1.5px solid #CCD8D7;border-radius:8px;
padding:7px 14px;font-size:.84rem;color:#001716;cursor:pointer;transition:.14s;font-weight:500}
.dw-bed-btn:hover{border-color:#005B52;color:#005B52}
.dw-bed-btn.dw-active{background:#E8F5ED;border-color:#005B52;color:#005B52;font-weight:600}

/* Type tabs on search-list bar */
.dw-search-list-type-tabs{display:flex;align-items:center;gap:0;border-right:1px solid #CCD8D7;
padding:0 4px;height:56px;flex-shrink:0}
.dw-sl-tab{background:transparent;border:none;border-bottom:2px solid transparent;
color:#6A7282;font-size:.82rem;font-weight:500;padding:6px 14px;height:100%;
cursor:pointer;transition:.16s ease;white-space:nowrap;font-family:var(--font-primary)}
.dw-sl-tab:hover{color:#005B52}
.dw-sl-tab.dw-active{border-bottom-color:#005B52;color:#005B52;font-weight:600}

/* Mobile: tabs scroll, filter bar scrolls horizontally */
@media(max-width:768px){
.dw-search-list-search-bar__inner{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.dw-search-list-search-bar__inner::-webkit-scrollbar{display:none}
.dw-search-list-type-tabs{flex-shrink:0}
.dw-sl-tab{padding:6px 10px;font-size:.78rem}
.dw-search-list-search-bar__filter{min-width:80px}
}

/* Position filter buttons relatively for dropdown */
.dw-search-list-search-bar__filter{position:relative}

/* Body scroll lock when popup open */
body.dw-search-open{overflow:hidden}

/* Nav arrows */
.dw-ps__arrow ,.reviews__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;
  background: var(--color-white);
  border: none;
  color: var(--color-primary);
  width: 38px; height: 38px;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background 0.2s;
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow-md);
}
.dw-ps__arrow:hover, .reviews__arrow:hover { background: var(--color-primary);color: var(--color-white); }
.dw-ps__arrow-prev, .reviews__arrow-prev { left: -30px; }
.dw-ps__arrow-next, .reviews__arrow-next { right: -30px; }

/* ── Recent remove button ── */
.dw-hero__recent-remove {
  background: none;
  border: none;
  color: rgba(255,255,255,0.45);
  font-size: 1rem;
  line-height: 1;
  padding: 0 2px 0 0;
  cursor: pointer;
  margin-left: -4px;
  transition: color 0.2s;
  vertical-align: middle;
}
.dw-hero__recent-remove:hover {
  color: rgba(255,100,100,0.85);
}