/* ============================================================
   FAMOUS STAR REAL ESTATE — PREMIUM DESIGN SYSTEM
   FamousStarRealEstate.com | Dubai, UAE
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,300;1,9..40,400&display=swap');

:root {
  --green-deep:       #1B4332;
  --green-primary:    #2D6A4F;
  --green-accent:     #40916C;
  --green-light:      #74C69D;
  --green-pale:       #D8F3DC;
  --white:            #FFFFFF;
  --warm-white:       #F9F7F3;
  --stone-light:      #F0EDE6;
  --stone:            #E0DBD1;
  --stone-dark:       #C8C0B0;
  --charcoal-light:   #8A8A82;
  --charcoal-mid:     #4A4A45;
  --charcoal:         #1E1E1A;
  --black:            #111110;
  --gold:             #C09750;
  --gold-light:       #D4B07A;
  --border-light:     #E8E4DC;
  --border-mid:       #D0CBBF;
  --overlay-dark:     rgba(17,17,16,0.55);
  --font-serif:       'Playfair Display', Georgia, serif;
  --font-sans:        'DM Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --container-wide:   1280px;
  --gutter:           clamp(1.25rem, 4vw, 3rem);
  --ease-out:         cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out:      cubic-bezier(0.76, 0, 0.24, 1);
  --duration-fast:    200ms;
  --duration-mid:     400ms;
  --duration-slow:    700ms;
  --shadow-md:        0 4px 16px rgba(0,0,0,0.08);
  --shadow-lg:        0 16px 48px rgba(0,0,0,0.12);
  --z-nav:            200;
  --z-sticky:         100;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{font-family:var(--font-sans);font-size:1rem;line-height:1.65;color:var(--charcoal);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased;}
img,video{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{list-style:none;}
button{cursor:pointer;border:none;background:none;font-family:inherit;}
input,select,textarea{font-family:inherit;font-size:inherit;}

/* LAYOUT */
.container{width:100%;max-width:var(--container-wide);margin:0 auto;padding-left:var(--gutter);padding-right:var(--gutter);}
.container--wide{max-width:1440px;}
.container--narrow{max-width:860px;}
.section{padding:clamp(5rem,9vw,8rem) 0;}
.section--sm{padding:clamp(3rem,5vw,5rem) 0;}
.section--dark{background:var(--green-deep);color:var(--white);}
.section--stone{background:var(--warm-white);}
.section--charcoal{background:var(--charcoal);color:var(--white);}

/* TYPOGRAPHY */
.t-eyebrow{font-family:var(--font-sans);font-size:0.625rem;font-weight:700;letter-spacing:0.18em;text-transform:uppercase;color:var(--green-primary);display:block;margin-bottom:0.875rem;}
.t-eyebrow--light{color:var(--green-light);}
.t-eyebrow--gold{color:var(--gold-light);}
.t-h1{font-family:var(--font-serif);font-size:clamp(2.25rem,4.5vw,3.75rem);font-weight:500;line-height:1.12;letter-spacing:-0.02em;color:var(--charcoal);}
.t-h2{font-family:var(--font-serif);font-size:clamp(1.75rem,3.5vw,2.75rem);font-weight:500;line-height:1.2;letter-spacing:-0.015em;color:var(--charcoal);}
.t-h3{font-family:var(--font-serif);font-size:clamp(1.25rem,2.5vw,1.875rem);font-weight:500;line-height:1.3;letter-spacing:-0.01em;}
.t-lead{font-size:clamp(1rem,1.5vw,1.125rem);font-weight:400;line-height:1.75;color:var(--charcoal-mid);}
.t-meta{font-size:0.75rem;font-weight:500;letter-spacing:0.04em;color:var(--charcoal-light);}

.section-header{margin-bottom:clamp(2.5rem,5vw,4.5rem);}
.section-header--center{text-align:center;}
.section-header--center .t-lead{margin:0 auto;max-width:52ch;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:0.625rem;padding:0.875rem 2rem;font-size:0.75rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;border:1.5px solid transparent;cursor:pointer;transition:all var(--duration-mid) var(--ease-out);white-space:nowrap;position:relative;}
.btn .btn-arrow{transition:transform var(--duration-mid) var(--ease-out);}
.btn:hover .btn-arrow{transform:translateX(4px);}
.btn--primary{background:var(--green-primary);color:var(--white);border-color:var(--green-primary);}
.btn--primary:hover{background:var(--green-deep);border-color:var(--green-deep);}
.btn--primary-dark{background:var(--white);color:var(--green-deep);border-color:var(--white);}
.btn--primary-dark:hover{background:var(--stone-light);}
.btn--outline{background:transparent;color:var(--charcoal);border-color:var(--charcoal);}
.btn--outline:hover{background:var(--charcoal);color:var(--white);}
.btn--outline-white{background:transparent;color:var(--white);border-color:rgba(255,255,255,0.5);}
.btn--outline-white:hover{background:rgba(255,255,255,0.12);border-color:var(--white);}
.btn--outline-green{background:transparent;color:var(--green-primary);border-color:var(--green-primary);}
.btn--outline-green:hover{background:var(--green-primary);color:var(--white);}
.btn--whatsapp{background:#25D366;color:var(--white);border-color:#25D366;}
.btn--whatsapp:hover{background:#1DA851;border-color:#1DA851;}
.btn--sm{padding:0.625rem 1.375rem;font-size:0.6875rem;}

/* NAVIGATION */
#site-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);transition:background var(--duration-mid) var(--ease-out),box-shadow var(--duration-mid) var(--ease-out),padding var(--duration-mid) var(--ease-out);}
#site-header.nav--transparent{background:transparent;padding:1.5rem 0;}
#site-header.nav--scrolled{background:var(--white);box-shadow:0 1px 0 var(--border-light),0 4px 24px rgba(0,0,0,0.07);padding:0.875rem 0;}
.nav-inner{display:flex;align-items:center;gap:1.5rem;}
.nav-logo{flex-shrink:0;display:flex;align-items:center;}
.nav-logo img{height:42px;width:auto;transition:filter var(--duration-mid) var(--ease-out),opacity var(--duration-mid);}
/* Dual logo switching: light on transparent, dark on scrolled */
.nav-logo .logo-light { display: block; }
.nav-logo .logo-dark { display: none; }
#site-header.nav--transparent .nav-logo .logo-light { display: block; filter: none; }
#site-header.nav--transparent .nav-logo .logo-dark { display: none; }
#site-header.nav--scrolled .nav-logo .logo-light { display: none; }
#site-header.nav--scrolled .nav-logo .logo-dark { display: block; filter: none; }
.nav-primary{display:flex;align-items:center;margin-left:1rem;}
.nav-item{position:relative;}
.nav-link{display:flex;align-items:center;gap:0.25rem;padding:0.5rem 0.875rem;font-size:0.75rem;font-weight:600;letter-spacing:0.05em;color:rgba(255,255,255,0.92);transition:color var(--duration-fast);text-transform:uppercase;white-space:nowrap;}
#site-header.nav--scrolled .nav-link{color:var(--charcoal);}
.nav-link:hover{color:var(--green-light);}
#site-header.nav--scrolled .nav-link:hover{color:var(--green-primary);}
.nav-chevron{width:11px;height:11px;transition:transform var(--duration-fast);}
.nav-item:hover .nav-chevron{transform:rotate(180deg);}
.nav-dropdown{position:absolute;top:calc(100% + 0.75rem);left:50%;min-width:190px;background:var(--white);border:1px solid var(--border-light);box-shadow:var(--shadow-lg);padding:0.5rem 0;opacity:0;visibility:hidden;transform:translateX(-50%) translateY(-8px);transition:all var(--duration-mid) var(--ease-out);}
.nav-item:hover .nav-dropdown{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.nav-dropdown a{display:block;padding:0.625rem 1.25rem;font-size:0.8125rem;color:var(--charcoal-mid);transition:all var(--duration-fast);border-left:2px solid transparent;}
.nav-dropdown a:hover{color:var(--green-primary);border-left-color:var(--green-primary);background:var(--warm-white);padding-left:1.5rem;}
.nav-actions{display:flex;align-items:center;gap:0.375rem;margin-left:auto;}
.nav-icon-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;color:rgba(255,255,255,0.85);transition:color var(--duration-fast);}
#site-header.nav--scrolled .nav-icon-btn{color:var(--charcoal-mid);}
.nav-icon-btn:hover{color:var(--green-light);}
#site-header.nav--scrolled .nav-icon-btn:hover{color:var(--green-primary);}
.nav-icon-btn svg{width:18px;height:18px;}
.nav-enquire{padding:0.5625rem 1.25rem;font-size:0.6875rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--white);border:1.5px solid rgba(255,255,255,0.45);transition:all var(--duration-mid) var(--ease-out);}
.nav-enquire:hover{background:var(--white);color:var(--green-deep);}
#site-header.nav--scrolled .nav-enquire{color:var(--green-primary);border-color:var(--green-primary);}
#site-header.nav--scrolled .nav-enquire:hover{background:var(--green-primary);color:var(--white);}
.nav-lang{font-size:0.6875rem;font-weight:700;letter-spacing:0.08em;color:rgba(255,255,255,0.6);padding:0.25rem 0.5rem;transition:color var(--duration-fast);}
#site-header.nav--scrolled .nav-lang{color:var(--charcoal-light);}
.nav-lang:hover{color:var(--white);}
#site-header.nav--scrolled .nav-lang:hover{color:var(--charcoal);}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:28px;padding:4px 0;margin-left:auto;cursor:pointer;}
.nav-toggle span{display:block;height:1.5px;background:var(--white);transition:all var(--duration-mid) var(--ease-out);transform-origin:center;}
#site-header.nav--scrolled .nav-toggle span{background:var(--charcoal);}
.nav-toggle.is-open span:nth-child(1){transform:translateY(6.5px) rotate(45deg);}
.nav-toggle.is-open span:nth-child(2){opacity:0;transform:scaleX(0);}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg);}
.nav-mobile{display:none;position:fixed;top:0;right:-100%;width:min(380px,100%);height:100dvh;background:var(--white);z-index:calc(var(--z-nav) + 10);padding:5rem 2rem 2rem;overflow-y:auto;transition:right var(--duration-slow) var(--ease-out);box-shadow:-8px 0 40px rgba(0,0,0,0.15);}
.nav-mobile.is-open{right:0;}
.nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,0.5);z-index:calc(var(--z-nav) + 5);opacity:0;transition:opacity var(--duration-mid);}
.nav-overlay.is-open{opacity:1;}
.nav-close{position:absolute;top:1.25rem;right:1.25rem;width:38px;height:38px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:var(--stone-light);color:var(--charcoal);cursor:pointer;}
.nav-mobile-links{display:flex;flex-direction:column;margin-bottom:2rem;}
.nav-mobile-link{display:block;padding:0.875rem 0;font-size:1.0625rem;font-weight:500;color:var(--charcoal);border-bottom:1px solid var(--border-light);transition:color var(--duration-fast);}
.nav-mobile-link:hover{color:var(--green-primary);}
.nav-mobile-sub .nav-mobile-link{font-size:0.9375rem;font-weight:400;color:var(--charcoal-mid);padding-left:1rem;}
.nav-mobile-actions{display:flex;flex-direction:column;gap:0.75rem;}

/* HERO */
.hero{position:relative;height:100dvh;min-height:680px;display:flex;flex-direction:column;justify-content:flex-end;overflow:hidden;}
.hero-media{position:absolute;inset:0;z-index:0;}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 30%;will-change:transform;}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(0,0,0,0.08) 0%,rgba(0,0,0,0.04) 30%,rgba(0,0,0,0.42) 65%,rgba(0,0,0,0.78) 100%);z-index:1;}
.hero-content{position:relative;z-index:2;padding-bottom:clamp(2rem,5vw,3.5rem);}
.hero-text{max-width:820px;margin-bottom:2rem;}
.hero-eyebrow{font-size:0.5625rem;font-weight:700;letter-spacing:0.22em;text-transform:uppercase;color:var(--green-light);margin-bottom:1.375rem;display:flex;align-items:center;gap:0.75rem;}
.hero-eyebrow::before{content:'';display:block;width:28px;height:1px;background:var(--green-light);}
.hero-headline{font-family:var(--font-serif);font-size:clamp(2.75rem,6vw,5.25rem);font-weight:500;line-height:1.06;letter-spacing:-0.03em;color:var(--white);margin-bottom:1.125rem;}
.hero-headline em{font-style:italic;color:rgba(255,255,255,0.88);}
.hero-subline{font-size:clamp(0.9375rem,1.5vw,1.0625rem);font-weight:400;line-height:1.72;color:rgba(255,255,255,0.75);max-width:520px;margin-bottom:2rem;}
.hero-ctas{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:2rem;}
.hero-scroll{display:flex;align-items:center;gap:0.75rem;font-size:0.625rem;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.5);}
.hero-scroll-line{width:36px;height:1px;background:rgba(255,255,255,0.3);}

/* HERO SEARCH MODULE */
.hero-search{background:rgba(255,255,255,0.97);backdrop-filter:blur(16px);border-top:3px solid var(--green-primary);max-width:1060px;margin-top:0;}
.search-tabs{display:flex;border-bottom:1px solid var(--border-light);}
.search-tab{padding:0.75rem 1.375rem;font-size:0.625rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--charcoal-light);background:transparent;border:none;cursor:pointer;border-bottom:2.5px solid transparent;margin-bottom:-1px;transition:all var(--duration-fast);}
.search-tab.is-active,.search-tab:hover{color:var(--green-primary);border-bottom-color:var(--green-primary);}
.search-form{display:grid;grid-template-columns:1.4fr 1fr 0.85fr 1.1fr auto;gap:0;align-items:stretch;}
.search-field{padding:0.875rem 1.125rem;border-right:1px solid var(--border-light);}
.search-field label{display:block;font-size:0.5rem;font-weight:800;letter-spacing:0.16em;text-transform:uppercase;color:var(--charcoal-light);margin-bottom:0.3rem;}
.search-field .field-wrap{position:relative;}
.search-field select,.search-field input{width:100%;border:none;background:transparent;font-size:0.875rem;font-weight:500;color:var(--charcoal);outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;padding-right:1rem;}
.search-field .field-wrap::after{content:'';position:absolute;right:0;top:50%;transform:translateY(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid var(--charcoal-light);pointer-events:none;}
.search-submit{padding:1rem 1.75rem;background:var(--green-primary);color:var(--white);border:none;font-size:0.6875rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background var(--duration-fast);display:flex;align-items:center;gap:0.5rem;white-space:nowrap;}
.search-submit:hover{background:var(--green-deep);}
.search-submit svg{width:15px;height:15px;}

/* PROPERTY CARDS */
.properties-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;}
.property-card{position:relative;overflow:hidden;cursor:pointer;background:var(--charcoal);}
.property-card--large{grid-row:span 2;}
.property-card-media{position:relative;overflow:hidden;aspect-ratio:4/3;background:var(--stone-light);}
.property-card--large .property-card-media{aspect-ratio:unset;height:100%;min-height:500px;}
.property-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out);}
.property-card:hover .property-card-media img{transform:scale(1.05);}
.property-card-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 40%,rgba(0,0,0,0.78) 100%);z-index:1;}
.property-card-body{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;z-index:2;}
.property-status{display:inline-block;padding:0.25rem 0.625rem;font-size:0.5rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;margin-bottom:0.625rem;}
.status--new{background:var(--green-primary);color:var(--white);}
.status--featured{background:var(--gold);color:var(--white);}
.status--off-plan{background:var(--charcoal-mid);color:var(--white);}
.status--ready{background:var(--green-accent);color:var(--white);}
.status--exclusive{background:rgba(0,0,0,0.7);color:var(--white);border:1px solid var(--gold);}
.property-card-name{font-family:var(--font-serif);font-size:clamp(1rem,1.8vw,1.25rem);font-weight:500;color:var(--white);margin-bottom:0.25rem;line-height:1.25;}
.property-card-location{font-size:0.6875rem;color:rgba(255,255,255,0.6);margin-bottom:0.875rem;display:flex;align-items:center;gap:0.25rem;}
.property-card-location svg{width:11px;height:11px;}
.property-meta{display:flex;align-items:center;gap:0.875rem;flex-wrap:wrap;margin-bottom:0.875rem;}
.property-meta-item{display:flex;align-items:center;gap:0.3125rem;font-size:0.625rem;font-weight:600;color:rgba(255,255,255,0.65);letter-spacing:0.04em;}
.property-meta-item svg{width:12px;height:12px;}
.property-card-footer{display:flex;align-items:center;justify-content:space-between;}
.property-price{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--white);}
.property-price span{font-family:var(--font-sans);font-size:0.625rem;font-weight:400;color:rgba(255,255,255,0.5);margin-left:0.25rem;}
.property-view-btn{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid rgba(255,255,255,0.3);color:var(--white);transition:all var(--duration-mid) var(--ease-out);}
.property-card:hover .property-view-btn{background:var(--green-primary);border-color:var(--green-primary);}
.property-view-btn svg{width:16px;height:16px;}

/* CATEGORIES */
.categories-layout{display:grid;grid-template-columns:1.5fr 1fr;gap:2px;min-height:600px;}
.category-grid-right{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.category-card,.category-featured{position:relative;overflow:hidden;cursor:pointer;}
.category-card{min-height:180px;}
.cat-media{position:absolute;inset:0;}
.cat-media img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out),filter 400ms;filter:brightness(0.7);}
.category-card:hover .cat-media img,.category-featured:hover .cat-media img{transform:scale(1.06);filter:brightness(0.55);}
.cat-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.5rem;background:linear-gradient(to top,rgba(0,0,0,0.72) 0%,transparent 60%);}
.category-featured .cat-content{padding:2.5rem;background:linear-gradient(to top,rgba(0,0,0,0.78) 0%,transparent 50%);}
.cat-name{font-family:var(--font-serif);font-size:clamp(1.125rem,2vw,1.5rem);font-weight:500;color:var(--white);margin-bottom:0.25rem;}
.category-featured .cat-name{font-size:clamp(1.75rem,3vw,2.25rem);margin-bottom:0.5rem;}
.cat-count{font-size:0.625rem;font-weight:600;letter-spacing:0.08em;color:rgba(255,255,255,0.6);}
.cat-arrow{position:absolute;top:1.125rem;right:1.125rem;width:34px;height:34px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.35);color:var(--white);opacity:0;transition:all var(--duration-mid) var(--ease-out);}
.category-card:hover .cat-arrow,.category-featured:hover .cat-arrow{opacity:1;}
.cat-arrow svg{width:14px;height:14px;}

/* COMMUNITIES */
.communities-scroll{display:flex;gap:1.125rem;overflow-x:auto;padding-bottom:1.25rem;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:thin;scrollbar-color:var(--green-primary) var(--stone-light);-webkit-overflow-scrolling:touch;}
.communities-scroll::-webkit-scrollbar{height:3px;}
.communities-scroll::-webkit-scrollbar-thumb{background:var(--green-primary);}
.community-card{flex:0 0 calc(24% - 0.875rem);min-width:240px;scroll-snap-align:start;position:relative;overflow:hidden;cursor:pointer;aspect-ratio:3/4;}
.community-card-media{position:absolute;inset:0;}
.community-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out),filter 400ms;filter:brightness(0.78);}
.community-card:hover .community-card-media img{transform:scale(1.05);filter:brightness(0.6);}
.community-card-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:1.375rem;background:linear-gradient(to top,rgba(0,0,0,0.78) 0%,transparent 55%);}
.community-name{font-family:var(--font-serif);font-size:1.1875rem;font-weight:500;color:var(--white);margin-bottom:0.3125rem;line-height:1.25;}
.community-desc{font-size:0.6875rem;color:rgba(255,255,255,0.65);margin-bottom:0.875rem;line-height:1.5;}
.community-link{display:inline-flex;align-items:center;gap:0.375rem;font-size:0.5625rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--green-light);opacity:0;transform:translateY(4px);transition:all var(--duration-mid) var(--ease-out);}
.community-card:hover .community-link{opacity:1;transform:translateY(0);}
.community-link svg{width:13px;height:13px;}
.scroll-nav{display:flex;align-items:center;gap:0.625rem;margin-top:1.75rem;}
.scroll-nav-btn{width:40px;height:40px;border:1.5px solid var(--border-mid);display:flex;align-items:center;justify-content:center;color:var(--charcoal-mid);cursor:pointer;transition:all var(--duration-fast);}
.scroll-nav-btn:hover{border-color:var(--green-primary);background:var(--green-primary);color:var(--white);}
.scroll-nav-btn svg{width:17px;height:17px;}

/* WHY FAMOUS STAR */
.why-layout{display:grid;grid-template-columns:1fr 1fr;gap:5rem;align-items:center;}
.why-visual{position:relative;align-self:stretch;}
.why-visual-main{overflow:hidden;height:580px;max-height:620px;}
.why-visual-main img{width:100%;height:100%;object-fit:cover;}
.why-visual-inset{position:absolute;bottom:-2rem;right:-2.5rem;width:55%;aspect-ratio:4/3;overflow:hidden;border:5px solid var(--white);box-shadow:var(--shadow-lg);}
.why-visual-inset img{width:100%;height:100%;object-fit:cover;}
.why-points{display:flex;flex-direction:column;}
.why-point{display:flex;gap:1rem;padding:1.125rem 0;border-bottom:1px solid var(--border-light);align-items:flex-start;}
.why-point:first-child{border-top:1px solid var(--border-light);}
.why-point-num{font-size:0.5625rem;font-weight:800;letter-spacing:0.08em;color:var(--green-primary);padding-top:0.2rem;min-width:20px;}
.why-point h4{font-size:0.9375rem;font-weight:600;color:var(--charcoal);margin-bottom:0.2rem;}
.why-point p{font-size:0.8125rem;color:var(--charcoal-light);line-height:1.65;}

/* INVESTMENT */
.investment-section{position:relative;overflow:hidden;min-height:580px;display:flex;align-items:center;}
.investment-bg{position:absolute;inset:0;}
.investment-bg img{width:100%;height:100%;object-fit:cover;}
.investment-overlay{position:absolute;inset:0;background:linear-gradient(to right,rgba(27,67,50,0.96) 38%,rgba(27,67,50,0.45) 100%);}
.investment-content{position:relative;z-index:2;max-width:560px;padding:clamp(3rem,6vw,5rem) 0;}
.investment-content .t-h2{color:var(--white);margin-bottom:1.25rem;}
.investment-content .t-lead{color:rgba(255,255,255,0.78);margin-bottom:2rem;}
.investment-stats{display:flex;gap:2.5rem;margin-bottom:2.5rem;padding:1.5rem 0;border-top:1px solid rgba(255,255,255,0.12);border-bottom:1px solid rgba(255,255,255,0.12);}
.inv-stat-value{font-family:var(--font-serif);font-size:2.25rem;font-weight:500;color:var(--white);margin-bottom:0.25rem;display:block;}
.inv-stat-label{font-size:0.5625rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:rgba(255,255,255,0.45);}

/* OFF-PLAN PROJECTS */
.projects-scroll{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;}
.project-card{background:var(--white);border:1px solid var(--border-light);overflow:hidden;transition:all var(--duration-mid) var(--ease-out);cursor:pointer;}
.project-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px);}
.project-card-media{aspect-ratio:16/9;overflow:hidden;position:relative;}
.project-card-media img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out);}
.project-card:hover .project-card-media img{transform:scale(1.05);}
.project-developer-tag{position:absolute;top:0.75rem;left:0.75rem;padding:0.25rem 0.625rem;background:rgba(0,0,0,0.6);font-size:0.5rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--white);}
.project-card-body{padding:1.25rem;}
.project-card-name{font-family:var(--font-serif);font-size:1.0625rem;font-weight:500;color:var(--charcoal);margin-bottom:0.25rem;}
.project-card-location{font-size:0.6875rem;color:var(--charcoal-light);margin-bottom:1rem;display:flex;align-items:center;gap:0.25rem;}
.project-card-location svg{width:11px;height:11px;}
.project-details{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem 1rem;margin-bottom:1.125rem;padding-bottom:1.125rem;border-bottom:1px solid var(--border-light);}
.project-detail label{display:block;font-size:0.5rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--charcoal-light);margin-bottom:0.2rem;}
.project-detail span{font-size:0.8125rem;font-weight:500;color:var(--charcoal);}
.project-card-footer{display:flex;align-items:flex-end;justify-content:space-between;}
.project-price label{font-size:0.5rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--charcoal-light);display:block;margin-bottom:0.2rem;}
.project-price span{font-family:var(--font-serif);font-size:1rem;font-weight:600;color:var(--green-primary);}

/* COMMERCIAL */
.commercial-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;min-height:540px;}
.commercial-visual{position:relative;overflow:hidden;}
.commercial-visual img{width:100%;height:100%;object-fit:cover;filter:brightness(0.55);}
.commercial-content{padding:clamp(3rem,6vw,5rem) clamp(2rem,5vw,4.5rem);display:flex;flex-direction:column;justify-content:center;background:var(--charcoal);}
.commercial-content .t-h2{color:var(--white);margin-bottom:1.25rem;}
.commercial-content .t-lead{color:rgba(255,255,255,0.72);margin-bottom:2rem;}
.commercial-types{display:flex;flex-wrap:wrap;gap:0.5rem;margin-bottom:2.5rem;}
.commercial-tag{padding:0.375rem 0.875rem;border:1px solid rgba(255,255,255,0.18);font-size:0.625rem;font-weight:600;letter-spacing:0.06em;color:rgba(255,255,255,0.7);transition:all var(--duration-fast);}
.commercial-tag:hover{border-color:var(--green-light);color:var(--green-light);}

/* JOURNEY */
.journey-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--border-light);}
.journey-step{padding:clamp(2.5rem,4vw,3.5rem) clamp(1.5rem,3vw,2.5rem);border-right:1px solid var(--border-light);position:relative;}
.journey-step:last-child{border-right:none;}
.journey-num{font-family:var(--font-serif);font-size:5rem;font-weight:400;line-height:1;color:var(--stone);margin-bottom:1.5rem;display:block;}
.journey-step h3{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--charcoal);margin-bottom:0.625rem;}
.journey-step p{font-size:0.875rem;line-height:1.7;color:var(--charcoal-mid);}

/* STATS */
.stats-row{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--border-light);}
.stat-item{padding:clamp(2rem,4vw,3rem) clamp(1.5rem,3vw,2rem);border-right:1px solid var(--border-light);text-align:center;}
.stat-item:last-child{border-right:none;}
.stat-value{font-family:var(--font-serif);font-size:clamp(2rem,4vw,3.25rem);font-weight:500;color:var(--green-primary);margin-bottom:0.5rem;display:block;}
.stat-label{font-size:0.625rem;font-weight:700;letter-spacing:0.08em;text-transform:uppercase;color:var(--charcoal-light);}
.stat-note{font-size:0.625rem;color:var(--charcoal-light);margin-top:0.5rem;line-height:1.5;font-style:italic;}

/* TESTIMONIALS */
.testimonials-track{display:flex;gap:1.375rem;overflow-x:auto;padding-bottom:1.25rem;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;}
.testimonials-track::-webkit-scrollbar{display:none;}
.testimonial-card{flex:0 0 calc(33.333% - 1rem);min-width:290px;scroll-snap-align:start;padding:2rem;background:var(--white);border:1px solid var(--border-light);border-left:3px solid var(--green-primary);}
.testimonial-quote-mark{font-family:var(--font-serif);font-size:3rem;line-height:1;color:var(--green-pale);margin-bottom:0.5rem;}
.testimonial-quote{font-family:var(--font-serif);font-size:0.9375rem;font-style:italic;line-height:1.75;color:var(--charcoal-mid);margin-bottom:1.5rem;}
.testimonial-author{display:flex;align-items:center;gap:0.75rem;}
.testimonial-initials{width:42px;height:42px;border-radius:50%;background:var(--green-pale);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1rem;color:var(--green-primary);flex-shrink:0;}
.testimonial-name{font-size:0.875rem;font-weight:600;color:var(--charcoal);display:block;}
.testimonial-context{font-size:0.6875rem;color:var(--charcoal-light);}

/* ABOUT */
.about-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:0;min-height:620px;}
.about-content{padding:clamp(3rem,6vw,5rem) clamp(3rem,5vw,5rem) clamp(3rem,6vw,5rem) 0;display:flex;flex-direction:column;justify-content:center;}
.about-content .t-lead{margin-bottom:1.25rem;}
.about-body{font-size:0.9375rem;line-height:1.8;color:var(--charcoal-mid);margin-bottom:2.5rem;}
.about-visual{position:relative;overflow:hidden;}
.about-visual img{width:100%;height:100%;object-fit:cover;}
.about-badge{position:absolute;bottom:2rem;left:-1.5rem;width:220px;background:var(--green-deep);padding:1.5rem;z-index:2;}
.about-badge-text{font-family:var(--font-serif);font-size:0.9375rem;font-style:italic;color:var(--white);line-height:1.55;}
.about-badge-attr{font-size:0.5625rem;font-weight:700;letter-spacing:0.1em;text-transform:uppercase;color:var(--green-light);margin-top:0.625rem;display:block;}

/* CONSULTATION / FORM */
.consultation-layout{display:grid;grid-template-columns:1fr 1.25fr;gap:5rem;align-items:start;}
.contact-details{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;}
.contact-item{display:flex;align-items:flex-start;gap:0.875rem;}
.contact-item-icon{width:38px;height:38px;background:var(--white);border:1px solid var(--border-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--green-primary);}
.contact-item-icon svg{width:16px;height:16px;}
.contact-item-label{font-size:0.5rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--charcoal-light);display:block;margin-bottom:0.2rem;}
.contact-item-value{font-size:0.9375rem;font-weight:500;color:var(--charcoal);}
.contact-item a:hover{color:var(--green-primary);}
.consultation-form{background:var(--white);padding:2.5rem;border:1px solid var(--border-light);}
.form-heading{font-family:var(--font-serif);font-size:1.25rem;font-weight:500;color:var(--charcoal);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-light);}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem;}
.form-group{display:flex;flex-direction:column;gap:0.375rem;}
.form-group--full{grid-column:1/-1;}
.form-group label{font-size:0.5rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;color:var(--charcoal-light);}
.form-control{padding:0.75rem 1rem;border:1.5px solid var(--border-light);background:var(--warm-white);font-size:0.875rem;color:var(--charcoal);outline:none;transition:border-color var(--duration-fast);appearance:none;border-radius:0;}
.form-control:focus{border-color:var(--green-primary);background:var(--white);}
.form-control::placeholder{color:var(--stone-dark);}
textarea.form-control{resize:vertical;min-height:90px;}
.form-note{font-size:0.625rem;color:var(--charcoal-light);margin:0.75rem 0 1.25rem;line-height:1.6;}

/* FOOTER */
.site-footer{background:var(--charcoal);color:var(--white);padding-top:clamp(4rem,7vw,5.5rem);padding-bottom:2rem;}
.footer-main{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:3rem;padding-bottom:3rem;border-bottom:1px solid rgba(255,255,255,0.08);margin-bottom:2rem;}
.footer-logo img{height:40px;width:auto;margin-bottom:1.125rem;filter:none;}
.footer-brand p{font-size:0.875rem;line-height:1.7;color:rgba(255,255,255,0.5);margin-bottom:1.5rem;max-width:270px;}
.footer-social{display:flex;gap:0.5rem;}
.social-link{width:36px;height:36px;border:1px solid rgba(255,255,255,0.12);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,0.5);transition:all var(--duration-fast);}
.social-link:hover{border-color:var(--green-light);color:var(--green-light);}
.social-link svg{width:15px;height:15px;}
.footer-col h4{font-size:0.5rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:rgba(255,255,255,0.35);margin-bottom:1.25rem;}
.footer-links{display:flex;flex-direction:column;gap:0.5rem;}
.footer-links a{font-size:0.875rem;color:rgba(255,255,255,0.58);transition:color var(--duration-fast);}
.footer-links a:hover{color:var(--white);}
.footer-contact-item{display:flex;gap:0.75rem;margin-bottom:0.75rem;align-items:flex-start;}
.footer-contact-item svg{width:14px;height:14px;color:var(--green-accent);flex-shrink:0;margin-top:0.2rem;}
.footer-contact-item span,.footer-contact-item a{font-size:0.8125rem;color:rgba(255,255,255,0.58);line-height:1.5;transition:color var(--duration-fast);}
.footer-contact-item a:hover{color:var(--white);}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;}
.footer-copy{font-size:0.6875rem;color:rgba(255,255,255,0.28);}
.footer-legal{display:flex;gap:1.5rem;}
.footer-legal a{font-size:0.6875rem;color:rgba(255,255,255,0.28);transition:color var(--duration-fast);}
.footer-legal a:hover{color:rgba(255,255,255,0.65);}
.footer-rera{font-size:0.5625rem;color:rgba(255,255,255,0.18);text-align:center;margin-top:1.25rem;padding-top:1.125rem;border-top:1px solid rgba(255,255,255,0.05);}

/* WA STICKY */
.wa-sticky{position:fixed;bottom:1.75rem;right:1.75rem;z-index:var(--z-sticky);}
.wa-btn{display:flex;align-items:center;gap:0.625rem;padding:0.8125rem 1.25rem;background:#25D366;color:var(--white);box-shadow:0 4px 20px rgba(37,211,102,0.4);font-size:0.75rem;font-weight:700;letter-spacing:0.05em;cursor:pointer;transition:all var(--duration-mid) var(--ease-out);border:none;text-transform:uppercase;}
.wa-btn:hover{background:#1DA851;box-shadow:0 6px 28px rgba(37,211,102,0.5);transform:translateY(-2px);}
.wa-btn svg{width:18px;height:18px;flex-shrink:0;}

/* SCROLL ANIMATIONS */
[data-reveal]{opacity:0;transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);}
[data-reveal="fade"]{transform:none;}
[data-reveal="up"]{transform:translateY(36px);}
[data-reveal="left"]{transform:translateX(-36px);}
[data-reveal="right"]{transform:translateX(36px);}
[data-reveal="scale"]{transform:scale(0.96);}
[data-reveal].is-revealed{opacity:1;transform:none;}
[data-stagger]>*{opacity:0;transform:translateY(28px);transition:opacity var(--duration-slow) var(--ease-out),transform var(--duration-slow) var(--ease-out);}
[data-stagger].is-revealed>*:nth-child(1){transition-delay:0ms;}
[data-stagger].is-revealed>*:nth-child(2){transition-delay:90ms;}
[data-stagger].is-revealed>*:nth-child(3){transition-delay:180ms;}
[data-stagger].is-revealed>*:nth-child(4){transition-delay:270ms;}
[data-stagger].is-revealed>*:nth-child(5){transition-delay:360ms;}
[data-stagger].is-revealed>*:nth-child(6){transition-delay:450ms;}
[data-stagger].is-revealed>*{opacity:1;transform:none;}

/* SEARCH / LISTINGS PAGE */
.search-page-hero{background:var(--warm-white);padding:clamp(6.5rem,10vw,8rem) 0 clamp(2.5rem,4vw,3.5rem);border-bottom:1px solid var(--border-light);}
.page-search-bar{display:grid;grid-template-columns:repeat(5,1fr) auto;gap:0;background:var(--white);border:1.5px solid var(--border-light);margin-top:1.5rem;}
.page-search-field{padding:0.875rem 1rem;border-right:1px solid var(--border-light);}
.page-search-field label{display:block;font-size:0.5rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--charcoal-light);margin-bottom:0.25rem;}
.page-search-field select,.page-search-field input{width:100%;border:none;background:transparent;font-size:0.8125rem;font-weight:500;color:var(--charcoal);outline:none;appearance:none;}
.page-filter-submit{padding:0.875rem 1.5rem;background:var(--green-primary);color:var(--white);border:none;font-size:0.625rem;font-weight:800;letter-spacing:0.12em;text-transform:uppercase;cursor:pointer;transition:background var(--duration-fast);white-space:nowrap;}
.page-filter-submit:hover{background:var(--green-deep);}
.results-layout{display:grid;grid-template-columns:260px 1fr;}
.sidebar{background:var(--warm-white);border-right:1px solid var(--border-light);padding:1.5rem;min-height:calc(100vh - 72px);position:sticky;top:72px;max-height:calc(100vh - 72px);overflow-y:auto;}
.sidebar-group{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border-light);}
.sidebar-group:last-child{border-bottom:none;}
.sidebar-group-label{font-size:0.5rem;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--charcoal-light);display:block;margin-bottom:0.75rem;}
.filter-option{display:flex;align-items:center;gap:0.5rem;padding:0.3125rem 0;font-size:0.8125rem;color:var(--charcoal-mid);cursor:pointer;}
.filter-option input{accent-color:var(--green-primary);width:14px;height:14px;}
.results-area{padding:1.5rem 2rem;}
.results-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.25rem;padding-bottom:0.875rem;border-bottom:1px solid var(--border-light);}
.results-count{font-size:0.875rem;color:var(--charcoal-mid);}
.results-count strong{color:var(--charcoal);font-weight:600;}
.sort-control{padding:0.5rem 0.875rem;border:1px solid var(--border-light);background:var(--white);font-size:0.8125rem;color:var(--charcoal-mid);outline:none;cursor:pointer;appearance:none;}
.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.125rem;}

/* PROPERTY DETAIL */
.detail-gallery{display:grid;grid-template-columns:1fr 1fr;gap:3px;height:520px;margin-top:72px;}
.detail-gallery-main{overflow:hidden;position:relative;cursor:pointer;}
.detail-gallery-main img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out);}
.detail-gallery-main:hover img{transform:scale(1.03);}
.detail-gallery-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;}
.detail-thumb{overflow:hidden;cursor:pointer;}
.detail-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 700ms var(--ease-out);}
.detail-thumb:hover img{transform:scale(1.05);}
.gallery-more{position:absolute;bottom:0.75rem;right:0.75rem;padding:0.3125rem 0.75rem;background:rgba(0,0,0,0.7);color:var(--white);font-size:0.625rem;font-weight:700;letter-spacing:0.06em;}
.detail-content-layout{display:grid;grid-template-columns:1fr 360px;gap:3rem;align-items:start;padding:clamp(2.5rem,5vw,3.5rem) 0;}
.detail-main>h1{font-family:var(--font-serif);font-size:clamp(1.75rem,3.5vw,2.375rem);font-weight:500;color:var(--charcoal);margin-bottom:0.5rem;}
.detail-location-row{display:flex;align-items:center;gap:0.375rem;font-size:0.875rem;color:var(--charcoal-light);margin-bottom:1.25rem;}
.detail-location-row svg{width:14px;height:14px;color:var(--green-primary);}
.detail-price-display{font-family:var(--font-serif);font-size:clamp(1.625rem,3vw,2.25rem);font-weight:600;color:var(--green-primary);margin-bottom:0.375rem;}
.detail-price-note{font-size:0.6875rem;color:var(--charcoal-light);margin-bottom:2rem;}
.detail-specs{display:flex;gap:0;border:1px solid var(--border-light);margin-bottom:2.5rem;}
.detail-spec{padding:0.875rem 1.125rem;border-right:1px solid var(--border-light);text-align:center;flex:1;}
.detail-spec:last-child{border-right:none;}
.detail-spec-icon{color:var(--green-primary);margin-bottom:0.3125rem;display:flex;justify-content:center;}
.detail-spec-icon svg{width:18px;height:18px;}
.detail-spec-value{font-size:1rem;font-weight:600;color:var(--charcoal);display:block;}
.detail-spec-label{font-size:0.5rem;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:var(--charcoal-light);}
.detail-section-head{font-family:var(--font-serif);font-size:1.125rem;font-weight:500;color:var(--charcoal);margin-bottom:0.875rem;padding-bottom:0.625rem;border-bottom:1px solid var(--border-light);}
.detail-description{font-size:0.9375rem;line-height:1.82;color:var(--charcoal-mid);margin-bottom:2.5rem;}
.detail-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.5rem;margin-bottom:2.5rem;}
.detail-feature{display:flex;align-items:center;gap:0.625rem;font-size:0.875rem;color:var(--charcoal-mid);}
.detail-feature::before{content:'';display:block;width:5px;height:5px;background:var(--green-primary);border-radius:50%;flex-shrink:0;}
.enquiry-panel{background:var(--white);border:1.5px solid var(--border-light);padding:1.5rem;position:sticky;top:88px;}
.enquiry-price{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;color:var(--green-primary);margin-bottom:0.25rem;}
.enquiry-ref{font-size:0.625rem;color:var(--charcoal-light);margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border-light);}
.enquiry-actions{display:flex;flex-direction:column;gap:0.625rem;margin-top:1rem;}
.enquiry-agent{display:flex;align-items:center;gap:0.75rem;margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid var(--border-light);}
.enquiry-agent-avatar{width:42px;height:42px;border-radius:50%;background:var(--green-pale);display:flex;align-items:center;justify-content:center;font-family:var(--font-serif);font-size:1rem;color:var(--green-primary);flex-shrink:0;}
.enquiry-agent-name{font-size:0.875rem;font-weight:600;color:var(--charcoal);display:block;}
.enquiry-agent-role{font-size:0.6875rem;color:var(--charcoal-light);}

/* UTILITIES */
.hidden{display:none;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
.text-center{text-align:center;}
.divider{height:1px;background:var(--border-light);margin:clamp(1.5rem,3vw,2.5rem) 0;}
.section-rule{display:block;width:36px;height:2px;background:var(--green-primary);margin-bottom:1.375rem;}

/* RESPONSIVE */
@media(max-width:1100px){
  .search-form{grid-template-columns:1.2fr 1fr 1fr auto;}
  .search-form .search-field:nth-child(4){display:none;}
  .why-layout{gap:3rem;}
  .footer-main{grid-template-columns:1fr 1fr;gap:2.5rem;}
  .properties-grid{grid-template-columns:1fr 1fr;}
  .property-card--large{grid-row:span 1;}
  .property-card--large .property-card-media{min-height:0;}
  .consultation-layout{grid-template-columns:1fr;gap:3rem;}
  .about-layout{grid-template-columns:1fr 1fr;}
}
@media(max-width:900px){
  .nav-primary,.nav-lang,.nav-icon-btn{display:none;}
  .nav-toggle{display:flex;}
  .nav-mobile{display:block;}
  .nav-overlay{display:block;}
  .categories-layout{grid-template-columns:1fr;}
  .category-grid-right{grid-template-columns:repeat(4,1fr);}
  .why-layout{grid-template-columns:1fr;}
  .why-visual{display:none;}
  .journey-steps{grid-template-columns:1fr;}
  .journey-step{border-right:none;border-bottom:1px solid var(--border-light);}
  .stats-row{grid-template-columns:1fr 1fr;}
  .stats-row .stat-item:nth-child(2){border-right:none;}
  .stats-row .stat-item:nth-child(1),.stats-row .stat-item:nth-child(2){border-bottom:1px solid var(--border-light);}
  .commercial-layout{grid-template-columns:1fr;min-height:auto;}
  .commercial-visual{height:260px;}
  .about-layout{grid-template-columns:1fr;min-height:auto;}
  .about-content{padding:3rem 0;}
  .about-visual{height:360px;}
  .detail-content-layout{grid-template-columns:1fr;}
  .enquiry-panel{position:static;}
  .detail-gallery{grid-template-columns:1fr;height:auto;}
  .detail-gallery-main{height:320px;}
  .detail-gallery-grid{display:none;}
  .results-layout{grid-template-columns:1fr;}
  .sidebar{position:static;max-height:none;min-height:auto;display:none;}
  .projects-scroll{grid-template-columns:1fr 1fr;}
}
@media(max-width:640px){
  .search-form{grid-template-columns:1fr;}
  .search-field{border-right:none;border-bottom:1px solid var(--border-light);}
  .search-submit{width:100%;justify-content:center;}
  .hero-ctas{flex-direction:column;align-items:flex-start;}
  .hero-ctas .btn{width:100%;justify-content:center;}
  .properties-grid{grid-template-columns:1fr;}
  .projects-scroll{grid-template-columns:1fr;}
  .community-card{flex:0 0 82vw;}
  .testimonial-card{flex:0 0 88vw;}
  .category-grid-right{grid-template-columns:1fr 1fr;}
  .footer-main{grid-template-columns:1fr;gap:2rem;}
  .footer-bottom{flex-direction:column;text-align:center;}
  .form-grid{grid-template-columns:1fr;}
  .page-search-bar{grid-template-columns:1fr;}
  .results-grid{grid-template-columns:1fr;}
  .investment-stats{flex-wrap:wrap;gap:1.5rem;}
  .detail-specs{flex-wrap:wrap;}
  .detail-spec{min-width:50%;}
  .about-badge{display:none;}
}

/* ============================================================
   DESIGN IMPROVEMENTS — ELITE AGENCY REVIEW
   ============================================================ */

/* 1. FIX: Google Fonts proper loading fallback + font-display */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap');

/* 2. FIX: Hero overlay — stronger gradient for text legibility */
.hero-overlay {
  background: linear-gradient(
    165deg,
    rgba(0,0,0,0.15) 0%,
    rgba(0,0,0,0.05) 25%,
    rgba(10,25,18,0.52) 58%,
    rgba(10,25,18,0.88) 100%
  );
}

/* 3. FIX: Hero eyebrow — better contrast and larger readable size */
.hero-eyebrow {
  font-size: 0.6875rem;
  color: var(--green-light);
  opacity: 1;
  text-shadow: 0 1px 3px rgba(0,0,0,0.4);
  letter-spacing: 0.2em;
}

/* 4. FIX: Hero subline — stronger white so it's clearly readable */
.hero-subline {
  color: rgba(255,255,255,0.88);
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}

/* 5. FIX: Hero headline — ensure strong white with subtle text shadow */
.hero-headline {
  text-shadow: 0 2px 12px rgba(0,0,0,0.2);
  color: #ffffff;
}
.hero-headline em {
  color: rgba(255,255,255,0.92);
}

/* 6. FIX: Hero search — search field labels were 0.5rem (unreadably tiny) */
.search-field label {
  font-size: 0.5625rem;
  letter-spacing: 0.15em;
  color: var(--charcoal-mid);
  font-weight: 700;
  margin-bottom: 0.35rem;
}

/* 7. FIX: Search field select text — make it more legible */
.search-field select,
.search-field input {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--charcoal);
}

/* 8. FIX: Search module — give it more presence */
.hero-search {
  box-shadow: 0 20px 60px rgba(0,0,0,0.22);
  border-top: 3px solid var(--green-primary);
}

/* 9. FIX: Search tab font size — was too tiny */
.search-tab {
  font-size: 0.6875rem;
  padding: 0.875rem 1.5rem;
  letter-spacing: 0.08em;
}

/* 10. FIX: btn--text — was used but never defined */
.btn--text {
  display: inline;
  background: none;
  border: none;
  color: var(--green-primary);
  font-size: inherit;
  font-weight: 600;
  cursor: pointer;
  padding: 0;
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color var(--duration-fast), color var(--duration-fast);
}
.btn--text:hover {
  color: var(--green-deep);
  text-decoration-color: currentColor;
}

/* 11. FIX: Nav enquire button on scrolled white nav — needs clear green */
#site-header.nav--scrolled .nav-enquire {
  color: var(--green-primary);
  border-color: var(--green-primary);
  background: transparent;
}
#site-header.nav--scrolled .nav-enquire:hover {
  background: var(--green-primary);
  color: var(--white);
}

/* 12. FIX: Why visual inset — was overflowing page edge */
.why-visual-inset {
  right: -1rem;
  bottom: -1.5rem;
}

/* 13. IMPROVE: Property card footer — price size on standard cards */
.property-price {
  font-size: 1.0625rem;
  font-weight: 600;
}

/* 14. IMPROVE: Community link — always subtly visible, not only on hover */
.community-link {
  opacity: 0.6;
  transform: none;
  color: var(--green-light);
}
.community-card:hover .community-link {
  opacity: 1;
}

/* 15. IMPROVE: Section header spacing refinement */
.section-header {
  margin-bottom: clamp(2rem,4vw,3.5rem);
}

/* 16. IMPROVE: Journey number — softer, classier */
.journey-num {
  font-size: 4.5rem;
  color: var(--stone);
  opacity: 0.6;
  margin-bottom: 1rem;
}

/* 17. IMPROVE: Stats section — placeholder styling */
.stat-note {
  font-size: 0.5625rem;
  display: block;
  margin-top: 0.3rem;
  color: var(--stone-dark);
  font-style: italic;
  line-height: 1.4;
}

/* 18. IMPROVE: Testimonial card — more premium weight */
.testimonial-card {
  border-left-width: 4px;
  border-left-color: var(--green-primary);
  transition: box-shadow var(--duration-mid) var(--ease-out), transform var(--duration-mid) var(--ease-out);
}
.testimonial-card:hover {
  box-shadow: var(--shadow-md);
  transform: translateY(-2px);
}

/* 19. IMPROVE: Footer logo — properly invert the green logo on dark footer */
.footer-logo img {
  filter: none;
  height: 38px;
  width: auto;
  margin-bottom: 1.25rem;
}

/* 20. IMPROVE: About badge — stronger left offset so it's clearly a callout */
.about-badge {
  left: -1rem;
  bottom: 1.5rem;
  width: 230px;
  box-shadow: var(--shadow-lg);
}

/* 21. IMPROVE: WA sticky button — less intrusive on mobile, icon-only on small screens */
@media (max-width: 640px) {
  .wa-label {
    display: none;
  }
  .wa-btn {
    width: 52px;
    height: 52px;
    padding: 0;
    justify-content: center;
    border-radius: 50%;
  }
  .wa-sticky {
    bottom: 1.25rem;
    right: 1.25rem;
  }
}

/* 22. IMPROVE: Property card — subtle hover lift for non-overlay cards */
.results-grid .property-card,
.projects-scroll .property-card {
  transition: transform var(--duration-mid) var(--ease-out), box-shadow var(--duration-mid) var(--ease-out);
}
.results-grid .property-card:hover {
  transform: translateY(-3px);
  box-shadow: var(--shadow-lg);
}

/* 23. IMPROVE: Page search-bar selects on inner pages — custom arrow */
.page-search-field {
  position: relative;
}
.page-search-field select {
  padding-right: 1.25rem;
  appearance: none;
  -webkit-appearance: none;
  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='%238A8A82' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.625rem center;
}

/* 24. IMPROVE: Form control — slightly warmer feel */
.form-control:focus {
  border-color: var(--green-primary);
  background: #ffffff;
  box-shadow: 0 0 0 3px rgba(45,106,79,0.08);
}

/* 25. IMPROVE: Investment section stats — make numbers more impactful */
.inv-stat-value {
  font-size: 2.5rem;
  line-height: 1;
  letter-spacing: -0.02em;
}

/* 26. IMPROVE: Off-plan developer tag — gold accent for prestige */
.project-developer-tag {
  background: rgba(192,151,80,0.85);
  color: var(--white);
  font-size: 0.5625rem;
  letter-spacing: 0.1em;
}

/* 27. IMPROVE: Gallery more button — clearer call to action */
.gallery-more {
  background: rgba(0,0,0,0.75);
  cursor: pointer;
  transition: background var(--duration-fast);
  font-size: 0.6875rem;
  padding: 0.5rem 1rem;
}
.gallery-more:hover {
  background: var(--green-primary);
}

/* 28. IMPROVE: Detail spec icon color */
.detail-spec-icon {
  color: var(--green-primary);
}

/* 29. IMPROVE: Enquiry panel on detail page — more premium border */
.enquiry-panel {
  border: 1.5px solid var(--border-light);
  box-shadow: var(--shadow-md);
  border-top: 3px solid var(--green-primary);
}

/* 30. IMPROVE: Scroll nav buttons — slightly larger hit area */
.scroll-nav-btn {
  width: 44px;
  height: 44px;
}

/* 31. FIX: Hero search on mobile — ensure proper stacking */
@media (max-width: 640px) {
  .hero-search {
    margin-left: calc(-1 * var(--gutter));
    margin-right: calc(-1 * var(--gutter));
  }
  .search-field label {
    font-size: 0.625rem;
  }
  .search-tab {
    font-size: 0.625rem;
    padding: 0.75rem 1rem;
  }
}

/* 32. FIX: Commercial visual image brightness */
.commercial-visual img {
  filter: brightness(0.7);
  transition: filter 400ms var(--ease-out);
}
.commercial-layout:hover .commercial-visual img {
  filter: brightness(0.6);
}

/* 33. IMPROVE: Category cards — text always legible, not dependent on hover */
.cat-name {
  text-shadow: 0 1px 4px rgba(0,0,0,0.3);
}
.cat-count {
  color: rgba(255,255,255,0.72);
}

/* 34. IMPROVE: Footer contact icons — use accent green */
.footer-contact-item svg {
  color: var(--green-light);
}

/* 35. IMPROVE: Consultation form heading */
.form-heading {
  font-size: 1.375rem;
  letter-spacing: -0.01em;
}

/* 36. IMPROVE: Project card hover — more fluid */
.project-card {
  transition: transform var(--duration-mid) var(--ease-out), box-shadow var(--duration-mid) var(--ease-out);
}
.project-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 24px 60px rgba(0,0,0,0.12);
}

/* 37. IMPROVE: Ensure all page headings use anti-aliasing */
h1, h2, h3, h4 {
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* 38. IMPROVE: Investment section CTA buttons spacing */
.investment-content .btn + .btn {
  margin-left: 0;
}

/* 39. IMPROVE: Nav link active state for inner pages */
.nav-link.is-active {
  color: var(--green-primary) !important;
}
#site-header.nav--transparent .nav-link.is-active {
  color: var(--green-light) !important;
}

/* 40. IMPROVE: Property detail breadcrumb styling */
.detail-location-row {
  font-size: 0.9375rem;
  color: var(--charcoal-light);
}


/* ============================================================
   HERO EYEBROW LINE ACCENT
   ============================================================ */
.hero-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.875rem;
}
.hero-eyebrow-line {
  display: block;
  width: 32px;
  height: 1.5px;
  background: var(--green-light);
  flex-shrink: 0;
}

/* ============================================================
   ADDITIONAL PREMIUM POLISH
   ============================================================ */

/* Hero: tighten the CTA button group spacing */
.hero-ctas {
  gap: 0.875rem;
  margin-bottom: 2.5rem;
}

/* Property card — show a thin green line on hover at the top */
.property-card::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--green-primary);
  transform: scaleX(0);
  transition: transform var(--duration-mid) var(--ease-out);
  z-index: 3;
}
.property-card:hover::after {
  transform: scaleX(1);
}

/* Featured properties grid — add a left-side green margin accent on the large card */
.property-card--large::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  background: var(--green-primary);
  z-index: 3;
}

/* Consultation form — full-width on mobile */
@media (max-width: 640px) {
  .consultation-layout {
    gap: 2.5rem;
  }
  .consultation-form {
    padding: 1.5rem;
  }
}

/* Scroll nav section alignment */
.testimonials-section .scroll-nav,
section .scroll-nav {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

/* Community card — smooth aspect ratio constraint on mobile */
@media (max-width: 640px) {
  .community-card {
    aspect-ratio: 2/3;
    min-width: 200px;
  }
}

/* Why Famous Star — restore visual inset on large screens */
@media (min-width: 1101px) {
  .why-visual-inset {
    right: -1rem;
    bottom: -1.5rem;
    width: 50%;
    border: 4px solid var(--white);
  }
}

/* Form: labels use DM Sans consistently */
.form-group label,
.sidebar-group-label,
.project-detail label,
.search-field label,
.page-search-field label {
  font-family: var(--font-sans);
}

/* Investment stats — border color improvement */
.investment-stats {
  border-top-color: rgba(116,198,157,0.25);
  border-bottom-color: rgba(116,198,157,0.25);
}

/* About section: body text better legibility */
.about-body {
  font-size: 1rem;
  color: var(--charcoal-mid);
  line-height: 1.82;
}

/* Page-level title on search page */
.search-page-hero .t-h1 {
  margin-top: 0.5rem;
  color: var(--charcoal);
}

/* Fix any nav dropdown on white nav: ensure separator visibility */
#site-header.nav--scrolled .nav-dropdown {
  border-top: 2px solid var(--green-primary);
}

/* Property detail: spec bar on dark background fallback */
.detail-specs {
  background: var(--warm-white);
}

/* ============================================================
   DRAG CURSOR — COMMUNITIES & TESTIMONIALS
   ============================================================ */

/* The circular drag cursor element */
.drag-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 88px;
  height: 88px;
  background: var(--green-primary);
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  opacity: 0;
  transform: translate(-200px, -200px) translate(-50%, -50%) scale(0.6);
  transition:
    opacity 280ms cubic-bezier(0.16,1,0.3,1),
    transform 280ms cubic-bezier(0.16,1,0.3,1),
    background 200ms ease,
    width 200ms cubic-bezier(0.16,1,0.3,1),
    height 200ms cubic-bezier(0.16,1,0.3,1);
  will-change: transform, opacity;
  box-shadow: 0 8px 32px rgba(45,106,79,0.35);
  /* Override the translate animation from JS — the JS only does translate */
  transition: opacity 280ms cubic-bezier(0.16,1,0.3,1),
              background 200ms ease,
              width 200ms cubic-bezier(0.16,1,0.3,1),
              height 200ms cubic-bezier(0.16,1,0.3,1),
              box-shadow 200ms ease;
}

.drag-cursor.is-visible {
  opacity: 1;
  /* scale handled by JS transform removal */
}

.drag-cursor.is-dragging {
  background: var(--green-deep);
  width: 78px;
  height: 78px;
  box-shadow: 0 12px 40px rgba(27,67,50,0.45);
}

.drag-cursor-arrows {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
}

.drag-cursor-label {
  font-family: var(--font-sans);
  font-size: 0.4375rem;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.85);
  line-height: 1;
  margin-top: -6px;
}

/* Squish label when actively dragging */
.drag-cursor.is-dragging .drag-cursor-label {
  opacity: 0;
}
.drag-cursor.is-dragging .drag-cursor-arrows {
  width: 44px;
  height: 44px;
}

/* Hide on touch devices — drag cursor is mouse-only */
@media (hover: none) {
  .drag-cursor { display: none !important; }
}

/* Scroll tracks — disable native scrollbar when drag is active */
.communities-scroll,
.testimonials-track {
  scroll-behavior: auto; /* Don't fight with JS during drag */
  -webkit-user-select: none;
  user-select: none;
}

/* Hint the user this is draggable — show a subtle scroll indicator on load */
.communities-scroll::after,
.testimonials-track::after {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 2rem;
  height: 1px; /* Invisible spacer for scroll end breathing room */
}


/* ============================================================
   DRAG HINT INDICATOR
   ============================================================ */
.drag-hint {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--charcoal-light);
  margin-bottom: 1.25rem;
  opacity: 1;
  transition: opacity 500ms ease;
}
.drag-hint.is-hidden {
  opacity: 0;
  pointer-events: none;
}
.drag-hint-icon {
  display: flex;
  align-items: center;
  gap: 2px;
  color: var(--green-primary);
  animation: drag-bounce 1.8s ease-in-out infinite;
}
@keyframes drag-bounce {
  0%, 100% { transform: translateX(0); }
  30%       { transform: translateX(-4px); }
  70%       { transform: translateX(4px); }
}

/* Hide drag hint on touch / mobile — touch scroll is obvious */
@media (hover: none) {
  .drag-hint { display: none; }
}

/* ============================================================
   HEADER HOVER VISIBILITY ENHANCEMENT
   ============================================================ */
#site-header {
  transition: background 320ms var(--ease-out),
              box-shadow 320ms var(--ease-out),
              padding 320ms var(--ease-out),
              border-color 320ms var(--ease-out);
}

/* When hovering over the transparent header, bring in a high-contrast luxury frosted bar */
#site-header.nav--transparent:hover {
  background: rgba(18, 42, 31, 0.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  padding: 1.125rem 0;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.38);
  border-bottom: 1px solid rgba(116, 198, 157, 0.28);
}

#site-header.nav--transparent:hover .nav-link {
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}

#site-header.nav--transparent:hover .nav-link:hover {
  color: var(--green-light);
}

#site-header.nav--transparent:hover .nav-icon-btn {
  color: #ffffff;
}

#site-header.nav--transparent:hover .nav-icon-btn:hover {
  color: var(--green-light);
}

#site-header.nav--transparent:hover .nav-lang {
  color: rgba(255, 255, 255, 0.9);
}

#site-header.nav--transparent:hover .nav-enquire {
  background: var(--green-primary);
  border-color: var(--green-light);
  color: var(--white);
  box-shadow: 0 4px 16px rgba(45, 106, 79, 0.45);
}

#site-header.nav--transparent:hover .nav-enquire:hover {
  background: var(--green-light);
  color: var(--green-deep);
  border-color: var(--green-light);
  box-shadow: 0 6px 20px rgba(116, 198, 157, 0.5);
}

/* Scrolled header hover state */
#site-header.nav--scrolled:hover {
  box-shadow: 0 2px 0 var(--border-light), 0 8px 32px rgba(0, 0, 0, 0.12);
}

/* ============================================================
   CIRCULAR DRAG CURSOR — LUXURY AGENCY SPECIFICATION
   ============================================================ */

/* Hide native mouse cursor over the scroll track on desktop */
@media (hover: hover) and (pointer: fine) {
  .community-card,
  .community-card * {
    cursor: none !important;
  }
}

.fsre-drag-cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.5);
  transition: opacity 220ms ease,
              transform 220ms cubic-bezier(0.16, 1, 0.3, 1),
              box-shadow 200ms ease;
  will-change: left, top, transform, opacity;
}

.fsre-drag-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, #2D6A4F 0%, #153A2A 100%);
  border: 1.5px solid rgba(212, 176, 122, 0.85);
  box-shadow: 0 12px 36px rgba(17, 45, 33, 0.55),
              0 0 0 1px rgba(255, 255, 255, 0.1) inset;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  transition: transform 150ms ease, background 150ms ease, border-color 150ms ease;
}

.fsre-drag-cursor.is-active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
}

.fsre-drag-cursor.is-grabbing .fsre-drag-inner {
  transform: scale(0.88);
  background: radial-gradient(circle at 35% 35%, #1B4332 0%, #0d2218 100%);
  border-color: #E2C592;
  box-shadow: 0 16px 44px rgba(10, 30, 20, 0.7),
              0 0 18px rgba(212, 176, 122, 0.45);
}

.fsre-drag-arrows {
  width: 32px;
  height: 14px;
  display: block;
}

.fsre-drag-text {
  font-family: var(--font-sans);
  font-size: 0.5625rem;
  font-weight: 800;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #ffffff;
  line-height: 1;
}

.fsre-drag-cursor.is-grabbing .fsre-drag-text {
  color: #E2C592;
}

/* Touch devices: hide custom drag cursor */
@media (hover: none), (pointer: coarse) {
  .fsre-drag-cursor {
    display: none !important;
  }
}

/* ============================================================
   REFINED POLISH: HEADER HOVER BOXES, LOGO SWITCHING & HERO BADGE
   ============================================================ */

/* 1. DUAL LOGO VISIBILITY */
.nav-logo {
  display: flex;
  align-items: center;
}

.nav-logo img {
  height: 42px;
  width: auto;
  transition: opacity 250ms var(--ease-out);
}

#site-header.nav--transparent .nav-logo .logo-light {
  display: block !important;
  filter: none !important;
}
#site-header.nav--transparent .nav-logo .logo-dark {
  display: none !important;
}

#site-header.nav--scrolled .nav-logo .logo-light {
  display: none !important;
}
#site-header.nav--scrolled .nav-logo .logo-dark {
  display: block !important;
  filter: none !important;
}

/* 2. RECTANGLE BACKGROUND BOX ON NAV MENU HOVER */
.nav-primary {
  gap: 0.25rem;
}

.nav-link {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.5rem 0.95rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  white-space: nowrap;
  border-radius: 4px; /* Crisp rectangle box */
  transition: background 200ms ease, color 200ms ease, box-shadow 200ms ease;
  position: relative;
}

/* Transparent nav: rectangle box on hover */
#site-header.nav--transparent .nav-link {
  color: rgba(255, 255, 255, 0.92);
}

#site-header.nav--transparent .nav-link:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #ffffff;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.25);
}

#site-header.nav--transparent:hover .nav-link:hover {
  background: rgba(45, 106, 79, 0.6);
  color: #ffffff;
}

/* Scrolled white nav: rectangle box on hover */
#site-header.nav--scrolled .nav-link {
  color: var(--charcoal);
}

#site-header.nav--scrolled .nav-link:hover {
  background: rgba(45, 106, 79, 0.1);
  color: var(--green-primary);
}

/* Dropdown rectangle item highlights */
.nav-dropdown {
  border-radius: 6px;
  padding: 0.5rem;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.15);
}

.nav-dropdown a {
  padding: 0.65rem 1rem;
  border-radius: 4px;
  font-size: 0.8125rem;
  color: var(--charcoal-mid);
  transition: all 180ms ease;
  margin-bottom: 2px;
  border-left: none !important;
}

.nav-dropdown a:hover {
  background: rgba(45, 106, 79, 0.1);
  color: var(--green-primary);
  padding-left: 1.15rem;
}

/* 3. HERO EYEBROW RECTANGLE BADGE BOX */
.hero-eyebrow {
  display: inline-flex !important;
  align-items: center;
  gap: 0.625rem;
  background: rgba(14, 34, 24, 0.88);
  border: 1px solid rgba(116, 198, 157, 0.5);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  padding: 0.48rem 1.15rem;
  border-radius: 4px; /* Crisp rectangle box */
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #8CE0B0;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.45),
              0 0 1px rgba(255, 255, 255, 0.15) inset;
  margin-bottom: 1.5rem;
  width: fit-content;
}

.hero-eyebrow::before {
  display: none !important;
}

.hero-eyebrow-badge-dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--green-light);
  box-shadow: 0 0 8px #74C69D;
  flex-shrink: 0;
  animation: pulse-dot 2s infinite ease-in-out;
}

@keyframes pulse-dot {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.45; transform: scale(0.8); }
}

/* 4. SILKY SMOOTH COMMUNITIES SCROLL */
.communities-scroll {
  scroll-snap-type: none !important;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
}

/* Cursor none ONLY on the property cards in Desirable Addresses */
@media (hover: hover) and (pointer: fine) {
  .community-card,
  .community-card * {
    cursor: none !important;
  }
  .communities-scroll {
    cursor: default;
  }
}

.footer-logo img {
  height: 42px;
  width: auto;
  margin-bottom: 1.25rem;
  filter: none !important;
  opacity: 1;
}

/* ============================================================
   TYPOGRAPHY SYSTEM HARMONIZATION & STANDARDIZATION
   ============================================================ */

/* 1. Global Reading Scale */
body {
  font-size: 1rem;
  line-height: 1.7;
}

/* 2. Lead Introduction Paragraphs */
.t-lead {
  font-size: 1.0625rem !important; /* 17px standard */
  line-height: 1.75 !important;
  color: var(--charcoal-mid);
}

/* 3. About Section — Uniform Paragraph Sizing */
.about-text p,
.about-content p {
  font-size: 1rem !important; /* 16px standard across all paragraphs */
  line-height: 1.82 !important;
  color: var(--charcoal-mid) !important;
  margin-bottom: 1.25rem !important;
}
.about-text p:last-child,
.about-content p:last-child {
  margin-bottom: 0 !important;
}

/* 4. Why Section — Standardized Bullet Descriptions */
.why-point p {
  font-size: 0.9375rem !important; /* 15px */
  line-height: 1.65 !important;
  color: var(--charcoal-mid);
}

/* 5. Journey Section — Standardized Step Descriptions */
.journey-step p {
  font-size: 0.9375rem !important; /* 15px */
  line-height: 1.65 !important;
  color: var(--charcoal-mid);
}

/* 6. Testimonials — Standardized Quote Body */
.testimonial-quote {
  font-size: 0.9375rem !important; /* 15px */
  line-height: 1.72 !important;
  color: var(--charcoal-mid);
}

.testimonial-author .testimonial-name {
  font-size: 0.875rem !important; /* 14px */
  font-weight: 700;
}

.testimonial-author .testimonial-context {
  font-size: 0.75rem !important; /* 12px */
  color: var(--charcoal-light);
}

/* 7. Community Cards — Readable Descriptions */
.community-desc {
  font-size: 0.8125rem !important; /* 13px */
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.82) !important;
}

/* 8. Property Cards — Clear Meta & Location */
.property-card-location,
.property-meta-item {
  font-size: 0.75rem !important; /* 12px */
  font-weight: 500;
}

/* 9. Search Bar Field Labels */
.search-field label {
  font-size: 0.6875rem !important; /* 11px */
  font-weight: 700 !important;
  letter-spacing: 0.12em !important;
}

/* 10. Secondary Footnotes & Notes */
.stat-note,
.form-note,
.footer-rera {
  font-size: 0.75rem !important; /* 12px */
  line-height: 1.6 !important;
}
