﻿/*
 * ═══════════════════════════════════════════════════════════════════
 *  PRESTIGE GROUP — ELEVATED UI REDESIGN  v4.0
 *  Theme: Ivory · Forest Green · Warm Charcoal
 *  Pure visual transformation. All content, links, JS, APIs untouched.
 * ═══════════════════════════════════════════════════════════════════
 */

/* ─── GOOGLE FONTS ──────────────────────────────────────────────── */
@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;1,9..40,300&family=DM+Serif+Display:ital@0;1&display=swap');

/* ─── DESIGN TOKENS ─────────────────────────────────────────────── */
:root {
  /* ── Surface palette — warm ivory tones ── */
  --c-abyss:       #0d1208;   /* deepest background                */
  --c-void:        #111a0c;   /* near-black with green tint        */
  --c-obsidian:    #f7f5f0;   /* main page background — warm ivory */
  --c-night:       #ffffff;   /* card / elevated surface           */
  --c-midnight:    #f0ede6;   /* subtle section variation          */
  --c-graphite:    #e8e4db;   /* border-level surface              */
  --c-smoke:       #d9d4c8;   /* dividers                          */

  /* ── Brand accent — deep forest green ── */
  --c-gold:        #2d5a27;   /* primary brand green               */
  --c-gold-lt:     #4a8c42;   /* hover / lighter green             */
  --c-gold-dk:     #1a3617;   /* pressed / dark green              */
  --c-gold-brn:    #0f2010;   /* deepest green                     */
  --c-gold-pale:   #e8f0e6;   /* very light green tint             */
  --c-gold-tint:   rgba(45,90,39,.06);
  --c-gold-glow:   rgba(45,90,39,.14);
  --c-gold-border: rgba(45,90,39,.22);

  /* ── Typography colours ── */
  --c-ash:         #9e9b94;   /* placeholder / muted               */
  --c-silver:      #6b6860;   /* secondary text                    */
  --c-pearl:       #3d3a34;   /* primary body text                 */
  --c-fog:         #c8c4bc;   /* light dividers                    */
  --c-cloud:       #f0ede6;   /* light section bg                  */
  --c-white:       #ffffff;

  /* ── Type system — refined editorial ── */
  --f-display:     'Playfair Display', 'DM Serif Display', Georgia, serif;
  --f-body:        'DM Sans', -apple-system, 'Helvetica Neue', sans-serif;
  --f-accent:      'DM Sans', sans-serif;

  /* ── Shadows — softer, warm-tinted ── */
  --sh-1:   0 1px 3px rgba(30,25,15,.08);
  --sh-2:   0 3px 10px rgba(30,25,15,.10);
  --sh-3:   0 6px 24px rgba(30,25,15,.12);
  --sh-4:   0 12px 48px rgba(30,25,15,.14);
  --sh-5:   0 24px 80px rgba(30,25,15,.16);
  --sh-xl:  0 40px 120px rgba(30,25,15,.18);
  --sh-gold: 0 0 40px rgba(45,90,39,.18);

  /* ── Spacing ── */
  --sp-xs:  .5rem;
  --sp-sm:  1rem;
  --sp-md:  2rem;
  --sp-lg:  4rem;
  --sp-xl:  8rem;
  --sp-2xl: 12rem;
  --sec-py: 120px;
  --sec-py-sm: 72px;

  /* ── Motion — snappier spring-based transitions ── */
  --ease-smooth: cubic-bezier(.4, 0, .2, 1);
  --ease-spring: cubic-bezier(.34, 1.4, .64, 1);
  --ease-out:    cubic-bezier(0, 0, .2, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --dur-fast:    .12s;
  --dur:         .24s;
  --dur-slow:    .48s;
  --dur-xslow:   .8s;
}

/* ══════════════════════════════════════════════════════════════════
   BASE RESET & ATMOSPHERE
   ══════════════════════════════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
}

body {
  font-family: var(--f-body) !important;
  color: var(--c-pearl) !important;
  background: var(--c-obsidian) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size: 15px !important;
  line-height: 1.7 !important;
  letter-spacing: -.01em !important;
  overflow-x: hidden;
}

/* Subtle paper-texture grain */
body::before {
  content: '';
  position: fixed;
  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='.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.03'/%3E%3C/svg%3E");
  pointer-events: none;
  z-index: 0;
  opacity: 1;
  mix-blend-mode: multiply;
}

/* Refined scrollbar */
::-webkit-scrollbar       { width: 5px; }
::-webkit-scrollbar-track { background: var(--c-graphite); }
::-webkit-scrollbar-thumb { background: var(--c-gold); border-radius: 10px; }
::-webkit-scrollbar-thumb:hover { background: var(--c-gold-lt); }

/* Selection */
::selection {
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
}

/* ══════════════════════════════════════════════════════════════════
   CINEMATIC TYPOGRAPHY
   ══════════════════════════════════════════════════════════════════ */
h1, h2, h3, h4, h5, h6,
.about-us-title span, .about-us-title h1, .about-us-title h2,
.section-title h1, .section-title h2, .section-title .section-title-text,
.header-menu-link {
  font-family: var(--f-display) !important;
  font-weight: 500 !important;
  letter-spacing: -.025em;
  line-height: 1.08 !important;
  color: var(--c-void) !important;
}

/* Oversized hero titles */
.section-banner .section-title h1,
.section-banner .section-title h2,
.hero-title,
.hero-heading {
  font-family: var(--f-display) !important;
  font-size: clamp(52px, 8vw, 120px) !important;
  font-weight: 300 !important;
  line-height: .95 !important;
  letter-spacing: -.03em !important;
  color: var(--c-white) !important;
  text-shadow: 0 4px 40px rgba(0,0,0,.5);
}

/* Section titles - large editorial */
.section-title h1, .section-title h2,
.section-title .section-title-text {
  font-size: clamp(40px, 5.5vw, 80px) !important;
  line-height: 1 !important;
  font-weight: 300 !important;
  color: var(--c-void) !important;
}

.section-title h1 span, .section-title h2 span,
.section-title .section-title-text span {
  color: var(--c-gold) !important;
  font-style: italic;
}

/* Tagline / eyebrow */
.theme-title, .eyebrow, .section-eyebrow {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 5px !important;
  text-transform: uppercase !important;
  color: var(--c-gold) !important;
  display: block;
  margin-bottom: 24px !important;
}

/* Body text - refined for better readability */
p {
  font-family: var(--f-body) !important;
  color: var(--c-silver) !important;
  font-size: 15px !important;
  line-height: 1.8 !important;
}

a {
  color: var(--c-pearl) !important;
  text-decoration: none !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}

/* ══════════════════════════════════════════════════════════════════
   HEADER — CLEAN WHITE NAV WITH GREEN ACCENT
   ══════════════════════════════════════════════════════════════════ */
header {
  border-bottom: none !important;
  background: transparent !important;
  position: fixed !important;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  transition: background var(--dur) var(--ease-smooth),
              backdrop-filter var(--dur) var(--ease-smooth),
              box-shadow var(--dur) var(--ease-smooth) !important;
}

header.scrolled {
  background: rgba(247,245,240,.96) !important;
  backdrop-filter: blur(20px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(160%) !important;
  box-shadow: 0 1px 0 var(--c-gold-border), var(--sh-2) !important;
}

.navbar {
  background: transparent !important;
  padding: 0 !important;
}

.navbar::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,.45) 0%, transparent 100%);
  pointer-events: none;
}

.navbar .container {
  padding-top: 18px !important;
  padding-bottom: 18px !important;
  transition: padding var(--dur) var(--ease-smooth) !important;
}

header.scrolled .navbar .container {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

header.scrolled .navbar::before { display: none; }

.navbar .columns {
  min-height: 68px;
  align-items: center !important;
  transition: min-height var(--dur) var(--ease-smooth) !important;
}

header.scrolled .navbar .columns { min-height: 54px; }

/* Logo */
.theme-logo {
  background: rgba(255,255,255,.12) !important;
  backdrop-filter: blur(10px) !important;
  -webkit-backdrop-filter: blur(10px) !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  box-shadow: var(--sh-2) !important;
  border-radius: 6px !important;
  padding: 10px 16px !important;
  top: 0 !important;
  max-width: 120px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.theme-logo:hover {
  background: rgba(255,255,255,.1) !important;
  box-shadow: var(--sh-4), inset 0 1px 0 rgba(255,255,255,.15) !important;
  transform: translateY(-2px);
}

/* Desktop nav links */
.theme-menu {
  gap: 0 !important;
  justify-content: flex-end !important;
  align-items: center !important;
}

.theme-menu > li { position: relative; }

.theme-menu li a {
  font-family: var(--f-accent) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.88) !important;
  padding: 0 20px !important;
  height: 68px !important;
  display: flex !important;
  align-items: center !important;
  transition: color var(--dur) var(--ease-smooth) !important;
  position: relative;
}

.theme-menu li a::after {
  content: '';
  position: absolute;
  bottom: 16px; left: 20px; right: 20px;
  height: 2px;
  background: var(--c-gold);
  border-radius: 1px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease-spring);
}

.theme-menu li a:hover { color: var(--c-white) !important; }
.theme-menu li a:hover::after { transform: scaleX(1); }

/* Scrolled nav — links go dark on the light header */
header.scrolled .theme-menu li a {
  color: var(--c-white) !important;
  height: 54px !important;
}
header.scrolled .theme-menu li a:hover { color: var(--c-gold) !important; }
header.scrolled .theme-menu li a::after { background: var(--c-gold); }

/* Search + icons */
.header-search-menu svg {
  color: rgba(255,255,255,.8) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}
.header-search-menu:hover svg { color: var(--c-gold) !important; }
header.scrolled .header-search-menu svg { color: var(--c-pearl) !important; }

.language-dropdown button {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  color: rgba(255,255,255,.75) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}
header.scrolled .language-dropdown button { color: var(--c-pearl) !important; }
.language-dropdown:hover button { color: var(--c-gold) !important; }

/* Dropdown */
.dropdown-menu {
  background: var(--c-white) !important;
  backdrop-filter: blur(20px) !important;
  -webkit-backdrop-filter: blur(20px) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 6px !important;
  box-shadow: var(--sh-4) !important;
  padding: 8px 0 !important;
}

.dropdown-item {
  font-family: var(--f-body) !important;
  font-size: 12px !important;
  letter-spacing: .3px;
  color: var(--c-pearl) !important;
  padding: 10px 20px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.dropdown-item:hover {
  color: var(--c-gold) !important;
  background: var(--c-gold-tint) !important;
}

/* Mobile bottom bar */
.menu-detail-wrapper {
  background: rgba(247,245,240,.97) !important;
  backdrop-filter: blur(24px) !important;
  -webkit-backdrop-filter: blur(24px) !important;
  border-top: 1px solid var(--c-graphite) !important;
}

/* Off-canvas menu */
#header-primary-menu {
  background: var(--c-void) !important;
  border-left: 1px solid rgba(45,90,39,.15) !important;
  box-shadow: var(--sh-xl) !important;
}

#header-primary-menu ul li {
  border-bottom: 1px solid var(--c-fog) !important;
  padding: 0 !important;
}

.header-menu-link {
  font-family: var(--f-display) !important;
  font-size: 28px !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,.9) !important;
  padding: 18px 0 !important;
  display: block !important;
  transition: color var(--dur) var(--ease-smooth),
              padding-left var(--dur) var(--ease-smooth) !important;
}
.header-menu-link:hover {
  color: var(--c-gold) !important;
  padding-left: 12px !important;
}

/* Search overlay */
#header-search-menu-detail {
  background: rgba(12,12,16,.97) !important;
  backdrop-filter: blur(40px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(40px) saturate(200%) !important;
  border-bottom: 1px solid rgba(45,90,39,.06) !important;
  box-shadow: var(--sh-5) !important;
}

/* ══════════════════════════════════════════════════════════════════
   SECTION VARIANTS
   ══════════════════════════════════════════════════════════════════ */
.section, section {
  padding-top:    var(--sec-py) !important;
  padding-bottom: var(--sec-py) !important;
  position: relative;
}

/* Section backgrounds — warm ivory layering */
.dark-bg      { background: var(--c-void) !important; }
.abyss-bg     { background: var(--c-abyss) !important; }
.night-bg     { background: var(--c-white) !important; }
.midnight-bg  { background: var(--c-midnight) !important; }
.smoke-bg     { background: var(--c-smoke) !important; }
.graphite-bg  { background: var(--c-graphite) !important; }
.gold-tint-bg { background: var(--c-gold-tint) !important; }
.fog-bg       { background: var(--c-fog) !important; }
.cloud-bg     { background: var(--c-cloud) !important; }
.white-bg     { background: var(--c-white) !important; }

.section-inner-page { margin-top: 100px !important; }

/* Subtle radial glow on hover — much gentler on light theme */
.section::before {
  content: '';
  position: absolute;
  width: 500px;
  height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(45,90,39,.05) 0%, transparent 70%);
  pointer-events: none;
  opacity: 0;
  transition: opacity var(--dur-slow) var(--ease-smooth);
}

.section:hover::before { opacity: 1; }
.section.glow-left::before   { top: -200px; left: -200px; }
.section.glow-right::before  { bottom: -200px; right: -200px; }
.section.glow-center::before { top: 50%; left: 50%; transform: translate(-50%,-50%); }

/* ══════════════════════════════════════════════════════════════════
   HERO BANNER
   ══════════════════════════════════════════════════════════════════ */
.section-banner {
  position: relative !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  min-height: 100vh !important;
  background: var(--c-void) !important;
}

/* Overlay — lighter bottom fade so image breathes */
.section-banner::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    linear-gradient(to top,
      rgba(10,20,8,.85) 0%,
      rgba(10,20,8,.3) 35%,
      transparent 65%),
    linear-gradient(to bottom,
      rgba(0,0,0,.4) 0%,
      transparent 28%),
    linear-gradient(to right,
      rgba(0,0,0,.2) 0%,
      transparent 40%);
}

.section-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
  background: radial-gradient(ellipse at 65% 50%,
    transparent 0%,
    rgba(0,0,0,.2) 100%);
}

.section-banner .splide__slide { position: relative; }

.section-banner-video {
  width: 100% !important;
  height: 100% !important;
  position: relative;
}

.section-banner-video picture,
.section-banner-video a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}

.section-banner-video img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  filter: brightness(.88) saturate(1.1);
  transform: scale(1.04);
  transition: transform 7s var(--ease-smooth) !important;
}

.section-banner .splide__slide.is-active .section-banner-video img {
  transform: scale(1);
}

/* Hero slider dimensions */
.section-banner,
#main-slider,
#main-slider .splide__track,
#main-slider .splide__list {
  min-height: 100vh !important;
}

@media (max-width: 767px) {
  .section-banner,
  #main-slider,
  #main-slider .splide__track,
  #main-slider .splide__list {
    min-height: 100svh !important;
  }
}

/* Hero content positioning */
.section-banner .container {
  position: relative;
  z-index: 10;
  padding-top: 160px;
}

@media (max-width: 767px) {
  .section-banner .container { padding-top: 120px; }
}

/* Hero arrows - glass morphism */
.section-banner .splide__arrow,
.arrow-white .splide__arrow {
  width: 60px !important;
  height: 60px !important;
  padding: 16px !important;
  background: rgba(255,255,255,.06) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border: 1px solid var(--c-fog) !important;
  border-radius: 50% !important;
  color: var(--c-white) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  z-index: 10;
  box-shadow: var(--sh-3) !important;
}

.section-banner .splide__arrow:hover,
.arrow-white .splide__arrow:hover {
  background: rgba(45,90,39,.22) !important;
  border-color: var(--c-gold) !important;
  box-shadow: var(--sh-4), 0 0 30px rgba(45,90,39,.28) !important;
  transform: translateY(-50%) scale(1.1);
}

.section-banner .splide__arrow--prev { left: 50px !important; }
.section-banner .splide__arrow--next { right: 50px !important; }

@media (max-width: 767px) {
  .section-banner .splide__arrow--prev { left: 20px !important; }
  .section-banner .splide__arrow--next { right: 20px !important; }
  .section-banner .splide__arrow {
    width: 48px !important;
    height: 48px !important;
    padding: 12px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════
   LAYERED SECTION LAYOUTS — NO CENTERED CONTAINERS
   ══════════════════════════════════════════════════════════════════ */

/* Asymmetric two-column */
.asymmetric-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  align-items: center;
}

.asymmetric-grid .col-left {
  padding-right: 80px;
}

.asymmetric-grid .col-right {
  padding-left: 80px;
}

@media (max-width: 1024px) {
  .asymmetric-grid { grid-template-columns: 1fr; gap: 60px; }
  .asymmetric-grid .col-left,
  .asymmetric-grid .col-right { padding: 0 20px; }
}

/* Offset grid */
.offset-grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 24px;
  align-items: start;
}

.offset-grid .offset-content { grid-column: 2 / 7; }
.offset-grid .offset-image  { grid-column: 7 / 13; margin-top: 80px; }

.offset-grid .offset-content-right { grid-column: 1 / 6; }
.offset-grid .offset-image-right   { grid-column: 6 / 12; margin-top: 0; }

@media (max-width: 1024px) {
  .offset-grid .offset-content,
  .offset-grid .offset-image,
  .offset-grid .offset-content-right,
  .offset-grid .offset-image-right {
    grid-column: 1 / -1;
    margin-top: 0;
  }
}

/* Staggered card layout */
.stagger-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  margin-top: 60px;
}

.stagger-grid .stagger-item:nth-child(2) { margin-top: 60px; }
.stagger-grid .stagger-item:nth-child(3) { margin-top: 120px; }

@media (max-width: 1024px) {
  .stagger-grid { grid-template-columns: 1fr; }
  .stagger-grid .stagger-item:nth-child(2),
  .stagger-grid .stagger-item:nth-child(3) { margin-top: 0; }
}

/* Full-bleed with inset content */
.full-bleed-section {
  position: relative;
  overflow: hidden;
}

.full-bleed-section .bleed-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.full-bleed-section .bleed-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.full-bleed-section .bleed-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(6,6,8,.9) 0%,
    rgba(6,6,8,.6) 50%,
    rgba(6,6,8,.8) 100%);
  z-index: 1;
}

.full-bleed-section .container {
  position: relative;
  z-index: 2;
  padding-top: 160px;
  padding-bottom: 160px;
}

/* Split layout */
.split-section {
  display: grid;
  grid-template-columns: 45% 55%;
  min-height: 600px;
}

.split-section .split-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 80px;
  background: var(--c-night);
}

.split-section .split-media {
  position: relative;
  overflow: hidden;
}

.split-section .split-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--dur-slow) var(--ease-smooth);
}

.split-section:hover .split-media img {
  transform: scale(1.05);
}

@media (max-width: 1024px) {
  .split-section { grid-template-columns: 1fr; }
  .split-section .split-content { padding: 60px 24px; order: 2; }
  .split-section .split-media { height: 300px; order: 1; }
}

/* ══════════════════════════════════════════════════════════════════
   FLOATING CARDS — MODERN GLASS CARDS
   ══════════════════════════════════════════════════════════════════ */
.glass-card {
  background: var(--c-white) !important;
  backdrop-filter: blur(20px) saturate(180%) !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  box-shadow: var(--sh-4), inset 0 1px 0 rgba(255,255,255,.05) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  overflow: hidden;
  position: relative;
}

.glass-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(45,90,39,.36) 50%,
    transparent 100%);
  opacity: 0;
  transition: opacity var(--dur) var(--ease-smooth);
}

.glass-card:hover {
  background: var(--c-cloud) !important;
  border-color: rgba(45,90,39,.18) !important;
  transform: translateY(-8px) scale(1.02);
  box-shadow: var(--sh-xl), 0 0 60px rgba(45,90,39,.08) !important;
}

.glass-card:hover::before { opacity: 1; }

/* Floating card variant */
.float-card {
  position: relative;
  background: var(--c-white) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 6px !important;
  box-shadow: var(--sh-4) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  overflow: hidden;
}

.float-card::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c-gold-dk), var(--c-gold), var(--c-gold-lt));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease-smooth);
}

.float-card:hover {
  transform: translateY(-12px);
  box-shadow: var(--sh-xl) !important;
  border-color: var(--c-gold-border) !important;
}

.float-card:hover::after { transform: scaleX(1); }

/* ══════════════════════════════════════════════════════════════════
   SEARCH BAR — FLOATING GLASS SEARCH
   ══════════════════════════════════════════════════════════════════ */
.section-find-real-estate-properties {
  background: var(--c-cloud) !important;
  border-top: 1px solid var(--c-graphite) !important;
  border-bottom: 1px solid var(--c-graphite) !important;
  padding-top:    80px !important;
  padding-bottom: 80px !important;
  position: relative;
  overflow: hidden;
}

.section-find-real-estate-properties::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--c-gold-border) 50%,
    transparent 100%);
}

.find-real-estate-properties-wrapper .section-title h2 {
  font-size: clamp(28px, 3vw, 48px) !important;
  line-height: 1.1 !important;
  font-style: italic;
  color: var(--c-white) !important;
}

/* Glass search container */
.find-real-estate-properties-wrapper {
  background: var(--c-white) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  padding: 48px !important;
  box-shadow: var(--sh-5) !important;
}

/* Tabs */
.tabs-detail {
  gap: 0 40px !important;
  margin-bottom: 40px !important;
}

.tabs-detail li a {
  font-family: var(--f-accent) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--c-silver) !important;
  border-bottom: 2px solid transparent !important;
  padding-bottom: 10px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.tabs-detail li a:hover { color: var(--c-gold) !important; }
.tabs-detail li.is-active a {
  color: var(--c-gold) !important;
  border-bottom-color: var(--c-gold) !important;
  text-shadow: 0 0 20px var(--c-gold-glow);
}

/* Inputs */
.form-control {
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: var(--c-pearl) !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 4px !important;
  padding: 14px 16px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.form-control:focus {
  border-color: var(--c-gold) !important;
  background: rgba(45,90,39,.05) !important;
  box-shadow: 0 0 0 3px var(--c-gold-glow) !important;
}
::placeholder { color: var(--c-ash) !important; font-size: 13px !important; }

.form-label {
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--c-silver) !important;
}

/* Pill search */
.search-by-project-name .form-group {
  background: rgba(255,255,255,.05) !important;
  backdrop-filter: blur(12px) !important;
  border: 1px solid var(--c-smoke) !important;
  border-radius: 50px !important;
  padding: 8px 20px !important;
  box-shadow: var(--sh-2) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.search-by-project-name .form-group:focus-within {
  border-color: var(--c-gold) !important;
  box-shadow: 0 0 0 3px var(--c-gold-glow), var(--sh-3) !important;
}

/* ══════════════════════════════════════════════════════════════════
   ABOUT SECTION — DRAMATIC LAYOUT
   ══════════════════════════════════════════════════════════════════ */
#about.section-about-us {
  background: var(--c-obsidian) !important;
  padding-top:    var(--sec-py) !important;
  padding-bottom: var(--sec-py) !important;
  position: relative;
}

#about.section-about-us::before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  height: 100%;
  background: linear-gradient(to left, rgba(45,90,39,.03) 0%, transparent 100%);
  pointer-events: none;
}

/* Giant decorative number */
.about-us-counter-detail::before {
  content: attr(data-counter);
  font-family: var(--f-display) !important;
  font-size: 200px !important;
  font-weight: 300 !important;
  color: rgba(45,90,39,.04) !important;
  position: absolute;
  top: -60px;
  left: -40px;
  line-height: 1 !important;
  pointer-events: none;
  user-select: none;
}

/* Counter numbers */
.counter-block .counter {
  font-family: var(--f-display) !important;
  font-size: 72px !important;
  font-weight: 300 !important;
  color: var(--c-gold) !important;
  line-height: 1 !important;
  letter-spacing: -.03em;
  text-shadow: 0 2px 16px var(--c-gold-glow);
}
.counter-block .counter span {
  font-size: .4em;
  color: var(--c-pearl);
}
.counter-block p {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--c-silver) !important;
  text-align: left !important;
  margin-top: 8px !important;
}

/* ══════════════════════════════════════════════════════════════════
   PROJECTS — LAYERED OVERLAPPING CARDS
   ══════════════════════════════════════════════════════════════════ */
#projects.section-our-projects {
  background: var(--c-cloud) !important;
  position: relative;
  overflow: hidden;
}

#projects::before {
  content: '';
  position: absolute;
  top: -50%;
  right: -20%;
  width: 80%;
  height: 200%;
  background: radial-gradient(ellipse, rgba(45,90,39,.04) 0%, transparent 60%);
  pointer-events: none;
}

/* Project tabs */
.our-projects-tab-detail .tabs-detail {
  border-bottom: 1px solid var(--c-graphite);
  margin-bottom: 60px !important;
  padding-bottom: 0 !important;
  gap: 0 36px !important;
}

/* Location items - floating hover cards */
.projects-location-items {
  padding-top: 60px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  position: relative;
}

.projects-location-items::before {
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 40px;
  height: 40px;
  background: var(--c-night) !important;
  border: 1px solid var(--c-smoke) !important;
  border-radius: 50% !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.projects-location-items:hover { transform: translateY(-8px); }

.projects-location-items:hover::before {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
  box-shadow: 0 0 20px var(--c-gold-glow) !important;
}

.projects-location-items h4 {
  font-family: var(--f-display) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--c-white) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}

.projects-location-items span {
  font-family: var(--f-body) !important;
  font-size: 12px !important;
  color: var(--c-silver) !important;
}

.projects-location-items:hover h4 { color: var(--c-gold) !important; }

/* Map - cinematic styling */
#map {
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: var(--sh-xl) !important;
  filter: grayscale(15%) contrast(1.05) saturate(.9) !important;
  transition: all var(--dur-slow) var(--ease-smooth) !important;
}
#map:hover {
  filter: grayscale(0%) contrast(1) saturate(1.1) !important;
  box-shadow: var(--sh-xl), 0 0 80px rgba(45,90,39,.08) !important;
}

/* ══════════════════════════════════════════════════════════════════
   BOARD OF DIRECTORS — FLOATING PORTRAITS
   ══════════════════════════════════════════════════════════════════ */
.section-board-of-director {
  background: var(--c-cloud) !important;
  position: relative;
}

.section-board-of-director::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(45,90,39,.03) 0%,
    transparent 50%);
  pointer-events: none;
}

.section-board-of-director .section-title h2 {
  color: var(--c-void) !important;
}

/* Director cards */
.section-board-of-director .theme-block {
  background: var(--c-white) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 6px !important;
  box-shadow: var(--sh-4) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  overflow: hidden !important;
  padding: 0 !important;
}

.section-board-of-director .theme-block:hover {
  background: var(--c-cloud) !important;
  border-color: var(--c-gold-border) !important;
  box-shadow: var(--sh-xl), 0 0 40px var(--c-gold-glow) !important;
  transform: translateY(-10px);
}

/* ══════════════════════════════════════════════════════════════════
   FEATURED PROJECTS — STACKED FLOATING CARDS
   ══════════════════════════════════════════════════════════════════ */
.section-featured-projects,
.section-recent-viewed-projects {
  background: var(--c-midnight) !important;
}

/* Project card */
.project-vertical-block {
  background: var(--c-white) !important;
  backdrop-filter: blur(10px) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  box-shadow: var(--sh-4) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  overflow: hidden !important;
  position: relative;
}

.project-vertical-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--c-gold), var(--c-gold-lt));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease-smooth);
}

.project-vertical-block:hover {
  box-shadow: var(--sh-xl) !important;
  border-color: var(--c-gold-border) !important;
  transform: translateY(-12px) scale(1.02);
}

.project-vertical-block:hover::before { transform: scaleX(1); }

.project-vertical-block .project-title-and-price,
.project-vertical-block .project-configurations,
.project-vertical-block .project-detail {
  padding: 24px !important;
}

/* Image hover zoom - enhanced */
.project-vertical-block img {
  transition: transform var(--dur-slow) var(--ease-smooth) !important;
}
.project-vertical-block:hover img { transform: scale(1.08) !important; }

/* Project status */
.project-status {
  background: var(--c-gold) !important;
  font-family: var(--f-accent) !important;
  font-size: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 6px 12px !important;
  border-radius: 0 !important;
  box-shadow: 0 2px 10px rgba(45,90,39,.28) !important;
}
.project-status.sold-out              { background: #c0392b !important; box-shadow: 0 2px 10px rgba(192,57,43,.3) !important; }
.project-status.under-construction    { background: var(--c-smoke) !important; box-shadow: none !important; }
.project-status.nearing-completion    { background: #d4a017 !important; box-shadow: 0 2px 10px rgba(212,160,23,.3) !important; }
.project-status.upcoming              { background: #2980b9 !important; box-shadow: 0 2px 10px rgba(41,128,185,.3) !important; }
.project-status.oc-received           { background: #e67e22 !important; box-shadow: 0 2px 10px rgba(230,126,34,.3) !important; }
.project-status.completed             { background: #8e44ad !important; box-shadow: 0 2px 10px rgba(142,68,173,.3) !important; }

/* Project title */
.project-title h1, .project-title h2, .project-title h4,
.project-title h1 span, .project-title h2 span, .project-title h4 span {
  font-family: var(--f-display) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--c-white) !important;
  line-height: 1.3 !important;
}

.project-title span {
  font-family: var(--f-body) !important;
  font-size: 12px !important;
  color: var(--c-silver) !important;
}

.project-desc-price .project-price {
  font-family: var(--f-display) !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  color: var(--c-gold) !important;
}

/* Contact overlay */
.project-contact-detail {
  background: rgba(12,12,16,.95) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border-top: 1px solid var(--c-gold-border) !important;
}

/* ══════════════════════════════════════════════════════════════════
   OUR BRANDS — LOGO FLOAT
   ══════════════════════════════════════════════════════════════════ */
#brands.section-our-brand {
  background: var(--c-obsidian) !important;
  overflow: hidden !important;
  position: relative;
}

#brands::before {
  content: '';
  position: absolute;
  inset: 0;
  background: radial-gradient(ellipse at 50% 0%, rgba(45,90,39,.05) 0%, transparent 60%);
  pointer-events: none;
}

#brands .section-title h2 {
  font-size: clamp(48px, 7vw, 100px) !important;
  font-weight: 300 !important;
  color: var(--c-white) !important;
  letter-spacing: -.04em !important;
}

/* Brand logos - enhanced hover effects */
.our-brand-logo-slider picture img {
  background: rgba(255,255,255,.03) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 6px !important;
  padding: 24px !important;
  filter: grayscale(100%) brightness(0.6);
  height: 140px !important;
  object-fit: contain !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.our-brand-logo-slider picture img:hover {
  background: rgba(45,90,39,.06) !important;
  border-color: var(--c-gold-border) !important;
  filter: grayscale(0%) brightness(1) !important;
  transform: translateY(-12px) scale(1.08);
  box-shadow: var(--sh-5), 0 0 40px var(--c-gold-glow) !important;
}

/* ══════════════════════════════════════════════════════════════════
   PREMIUM BUTTONS — GOLD GLOW
   ══════════════════════════════════════════════════════════════════ */
.theme-btn {
  font-family: var(--f-accent) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 16px 36px !important;
  border-radius: 0 !important;
  line-height: 1 !important;
  position: relative !important;
  overflow: hidden !important;
  border: 1px solid var(--c-gold) !important;
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
  box-shadow: 0 4px 20px rgba(45,90,39,.22) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}

/* Shimmer sweep */
.theme-btn::before {
  content: '';
  position: absolute;
  top: 0; left: -100%;
  width: 60%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.3), transparent);
  transform: skewX(-20deg);
  transition: left .6s var(--ease-smooth);
  pointer-events: none;
}
.theme-btn:hover::before { left: 160%; }

.theme-btn:hover {
  background: var(--c-gold-lt) !important;
  box-shadow: 0 8px 40px rgba(45,90,39,.36), 0 0 60px rgba(45,90,39,.18) !important;
  transform: translateY(-3px) !important;
  color: var(--c-white) !important;
}
.theme-btn:active { transform: translateY(-1px) !important; }

/* Outlined */
.theme-btn.line-btn {
  background: transparent !important;
  color: var(--c-gold) !important;
  box-shadow: none !important;
}
.theme-btn.line-btn:hover {
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
  box-shadow: 0 4px 30px rgba(45,90,39,.32) !important;
}

/* Dark outlined */
.theme-btn.black-btn.line-btn {
  border-color: rgba(255,255,255,.3) !important;
  color: rgba(255,255,255,.9) !important;
  background: rgba(255,255,255,.05) !important;
  box-shadow: none !important;
}
.theme-btn.black-btn.line-btn:hover {
  background: rgba(255,255,255,.15) !important;
  border-color: var(--c-white) !important;
  color: var(--c-white) !important;
  box-shadow: 0 4px 20px rgba(255,255,255,.1) !important;
}

/* Enquire sticky */
.theme-btn.enquire-now-sticky-btn {
  background: var(--c-gold) !important;
  border: none !important;
  box-shadow: -4px 0 30px rgba(45,90,39,.36) !important;
  letter-spacing: 3px !important;
  font-size: 10px !important;
  padding: 12px 20px !important;
  right: -17px !important;
}
.theme-btn.enquire-now-sticky-btn:hover {
  background: var(--c-gold-lt) !important;
  box-shadow: -6px 0 40px rgba(45,90,39,.45) !important;
}

/* ══════════════════════════════════════════════════════════════════
   THEME BLOCK — GLASS CARD
   ══════════════════════════════════════════════════════════════════ */
.theme-block {
  background: rgba(255,255,255,.03) !important;
  backdrop-filter: blur(16px) !important;
  -webkit-backdrop-filter: blur(16px) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 6px !important;
  box-shadow: var(--sh-4) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  overflow: hidden;
}

.theme-block::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--c-gold-border), transparent);
  opacity: 0;
  transition: opacity var(--dur) var(--ease-smooth);
}

.theme-block:hover {
  background: rgba(255,255,255,.05) !important;
  border-color: var(--c-gold-border) !important;
  transform: translateY(-8px) scale(1.01);
  box-shadow: var(--sh-xl), 0 0 50px var(--c-gold-glow) !important;
}

.theme-block:hover::before { opacity: 1; }

.theme-block-title h4 {
  font-family: var(--f-display) !important;
  font-size: 22px !important;
  font-weight: 400 !important;
  color: #000000 !important;
  line-height: 1.3 !important;
}
.theme-block-title span {
  font-family: var(--f-body) !important;
  font-size: 12px !important;
  color: #000000 !important;
}

/* ══════════════════════════════════════════════════════════════════
   SLIDER — GLASS CONTROLS
   ══════════════════════════════════════════════════════════════════ */
.splide__arrow {
  width: 52px !important;
  height: 52px !important;
  padding: 14px !important;
  background: rgba(255,255,255,.04) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  border: 1px solid var(--c-smoke) !important;
  border-radius: 50% !important;
  color: var(--c-pearl) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  opacity: 1 !important;
  box-shadow: var(--sh-2) !important;
}

.splide__arrow:hover {
  background: rgba(45,90,39,.18) !important;
  border-color: var(--c-gold) !important;
  color: var(--c-white) !important;
  box-shadow: var(--sh-4), 0 0 20px var(--c-gold-glow) !important;
  transform: scale(1.1);
}

.splide__arrow svg { fill: none !important; }

.splide__arrows.arrow-top-slider { top: -80px !important; }
.arrow-top-slider .splide__arrow { position: static !important; }

/* Custom pagination */
.splide__pagination {
  bottom: -50px !important;
  gap: 10px !important;
}

.splide__pagination button {
  width: 10px !important;
  height: 10px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.15) !important;
  opacity: 1 !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.splide__pagination button.is-active {
  background: var(--c-gold) !important;
  transform: scale(1.4) !important;
  box-shadow: 0 0 15px var(--c-gold-glow) !important;
}

/* ══════════════════════════════════════════════════════════════════
   FOOTER — DARK CINEMA
   ══════════════════════════════════════════════════════════════════ */
.section-footer {
  background: var(--c-abyss) !important;
  padding-top:    120px !important;
  padding-bottom: 60px !important;
  position: relative !important;
  overflow: hidden !important;
}

.section-footer::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 100% 50% at 50% 0%, rgba(45,90,39,.06) 0%, transparent 60%);
  z-index: 1;
  pointer-events: none;
}

.section-footer::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(45,90,39,.18), transparent);
}

.section-footer .container { position: relative; z-index: 2 !important; }

.footer-dynamic { color: rgba(255,255,255,.6) !important; }

.footer-menu-detail h4 {
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--c-gold) !important;
  margin-bottom: 28px !important;
}

.footer-menu-detail li { margin-bottom: 14px !important; }

.footer-menu-detail li a {
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: rgba(255,255,255,.5) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  display: inline-block !important;
}
.footer-menu-detail li a:hover {
  color: var(--c-gold) !important;
  padding-left: 6px !important;
}

.copyright-detail {
  border-top: 1px solid var(--c-graphite) !important;
  padding-top: 40px !important;
  margin-top: 60px !important;
}
.copyright-detail *,
.footer-dynamic small,
.footer-dynamic p {
  font-family: var(--f-body) !important;
  color: rgba(255,255,255,.25) !important;
  font-size: 12px !important;
}

.social-icons {
  color: rgba(255,255,255,.4) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.social-icons:hover { color: var(--c-gold) !important; transform: translateY(-3px); }

/* ══════════════════════════════════════════════════════════════════
   MODALS — GLASS DIALOG
   ══════════════════════════════════════════════════════════════════ */
.theme-modal-background {
  background: rgba(3,3,5,.85) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
}

.theme-modal-card {
  border-radius: 8px !important;
  box-shadow: var(--sh-xl), 0 0 100px rgba(0,0,0,.5) !important;
  background: var(--c-night) !important;
  border: 1px solid var(--c-graphite) !important;
  padding: 56px !important;
}

.modal-title {
  font-family: var(--f-display) !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  color: var(--c-white) !important;
}

/* Fraud modal */
.theme-home-modal .theme-modal-card {
  background: var(--c-night) !important;
  border: 1px solid var(--c-gold-border) !important;
  max-width: 800px !important;
}
.theme-home-modal .theme-modal-card .theme-modal-card-body {
  background: var(--c-white) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 4px !important;
  padding: 40px !important;
}
.theme-home-modal .theme-modal-card p {
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: var(--c-pearl) !important;
}

.close {
  width: 44px !important;
  height: 44px !important;
  background: rgba(255,255,255,.05) !important;
  color: var(--c-silver) !important;
  border: 1px solid var(--c-smoke) !important;
  border-radius: 50% !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.close:hover {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
  color: var(--c-white) !important;
  transform: rotate(90deg);
}

/* ══════════════════════════════════════════════════════════════════
   ENQUIRY SIDEBAR
   ══════════════════════════════════════════════════════════════════ */
.theme-sidebar-card {
  background: var(--c-cloud) !important;
  box-shadow: var(--sh-xl) !important;
  border-left: 1px solid var(--c-graphite) !important;
}

.theme-sidebar-header {
  padding: 28px 36px !important;
  border-bottom: 1px solid var(--c-graphite) !important;
}

.close-sidebar {
  color: var(--c-silver) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}
.close-sidebar:hover { color: var(--c-gold) !important; }

.project-enquiry-sidebar .form-label {
  font-size: 9px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 600 !important;
  color: var(--c-silver) !important;
}

/* ══════════════════════════════════════════════════════════════════
   COOKIE BANNER — GLASS
   ══════════════════════════════════════════════════════════════════ */
.full-screen-cookie-block {
  background: rgba(12,12,16,.95) !important;
  backdrop-filter: blur(24px) saturate(200%) !important;
  -webkit-backdrop-filter: blur(24px) saturate(200%) !important;
  border-top: 1px solid rgba(45,90,39,.06) !important;
  box-shadow: 0 -8px 60px rgba(0,0,0,.4) !important;
  padding: 32px 60px !important;
}
.full-screen-cookie-block p {
  font-size: 14px !important;
  color: var(--c-silver) !important;
  line-height: 1.7 !important;
}

/* ══════════════════════════════════════════════════════════════════
   ACCORDIONS
   ══════════════════════════════════════════════════════════════════ */
.accordian_item {
  background: var(--c-white) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 4px !important;
  margin-bottom: 12px !important;
  overflow: hidden;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.accordian_item:hover {
  border-color: rgba(45,90,39,.12) !important;
}

.accordian_title {
  padding: 24px 60px 24px 28px !important;
}
.accordian_title h4 {
  font-family: var(--f-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  color: var(--c-pearl) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}
.accordian_title.active h4 { color: var(--c-gold) !important; }

.accordian_desc {
  padding: 0 28px 28px !important;
  color: var(--c-silver) !important;
}

/* ══════════════════════════════════════════════════════════════════
   TAGS & BADGES
   ══════════════════════════════════════════════════════════════════ */
.tag {
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background: rgba(45,90,39,.10) !important;
  color: var(--c-gold) !important;
  border-radius: 0 !important;
  padding: 6px 14px !important;
  border: 1px solid var(--c-gold-border) !important;
}
.tag.tag-gray {
  background: rgba(255,255,255,.05) !important;
  color: var(--c-silver) !important;
  border-color: rgba(255,255,255,.1) !important;
}

/* ══════════════════════════════════════════════════════════════════
   PAGINATION
   ══════════════════════════════════════════════════════════════════ */
.pagination li a {
  font-family: var(--f-accent) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 4px !important;
  color: var(--c-pearl) !important;
  background: var(--c-white) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}
.pagination li a:hover {
  border-color: var(--c-gold) !important;
  color: var(--c-gold) !important;
  background: rgba(45,90,39,.06) !important;
}
.pagination li a.active {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
  color: var(--c-white) !important;
}

/* ══════════════════════════════════════════════════════════════════
   BREADCRUMBS
   ══════════════════════════════════════════════════════════════════ */
.breadcrumbs li { font-size: 12px !important; color: var(--c-silver) !important; }
.breadcrumbs li a { color: var(--c-silver) !important; }
.breadcrumbs li a:hover { color: var(--c-gold) !important; }
.breadcrumbs li .active { color: var(--c-gold) !important; }

/* ══════════════════════════════════════════════════════════════════
   TOAST NOTIFICATIONS
   ══════════════════════════════════════════════════════════════════ */
.theme-toast {
  border-radius: 6px !important;
  box-shadow: var(--sh-xl) !important;
  background: var(--c-night) !important;
  border: 1px solid var(--c-graphite) !important;
}
.theme-toast-primary {
  background: var(--c-night) !important;
  border-left: 3px solid var(--c-gold) !important;
}
.theme-toast-primary .theme-toast-header {
  border-bottom-color: rgba(255,255,255,.06) !important;
}

/* ══════════════════════════════════════════════════════════════════
   CMS / INNER PAGES
   ══════════════════════════════════════════════════════════════════ */
.section-cms .section-title h1 {
  font-family: var(--f-display) !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  color: var(--c-gold) !important;
  font-weight: 300 !important;
}

.cms-wrapper p {
  font-size: 16px !important;
  line-height: 1.9 !important;
  color: var(--c-pearl) !important;
}

.cms-wrapper h1, .cms-wrapper h2, .cms-wrapper h3 {
  font-family: var(--f-display) !important;
  color: var(--c-white) !important;
}

.cms-wrapper ul li::before { background: var(--c-gold) !important; }

/* ══════════════════════════════════════════════════════════════════
   SCROLL ANIMATIONS — CINEMATIC REVEALS
   ══════════════════════════════════════════════════════════════════ */
/* js-scroll: hidden only when JS has initialised the observer; 
   the .js-scroll-ready class is added by our scroll-reveal script below */
.js-scroll-ready .js-scroll { opacity: 0; transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }

.scrolled.fade-in    { animation: cinematicFadeIn .8s var(--ease-out) both !important; }
.scrolled.fade-in-top    { animation: cinematicFadeInTop 1s var(--ease-out) both !important; }
.scrolled.fade-in-bottom { animation: cinematicFadeInBottom 1s var(--ease-out) both !important; }
.scrolled.fade-in-left   { animation: cinematicFadeInLeft 1s var(--ease-out) both !important; }
.scrolled.fade-in-right  { animation: cinematicFadeInRight 1s var(--ease-out) both !important; }

@keyframes cinematicFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes cinematicFadeInTop {
  from { opacity: 0; transform: translateY(60px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes cinematicFadeInBottom {
  from { opacity: 0; transform: translateY(-40px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes cinematicFadeInLeft {
  from { opacity: 0; transform: translateX(-60px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes cinematicFadeInRight {
  from { opacity: 0; transform: translateX(60px); }
  to   { opacity: 1; transform: translateX(0); }
}

/* Stagger children */
.stagger-children > * {
  opacity: 0;
  transform: translateY(30px);
}

.stagger-children.scrolled > *:nth-child(1) { animation: staggerReveal .6s var(--ease-out) .1s both !important; }
.stagger-children.scrolled > *:nth-child(2) { animation: staggerReveal .6s var(--ease-out) .2s both !important; }
.stagger-children.scrolled > *:nth-child(3) { animation: staggerReveal .6s var(--ease-out) .3s both !important; }
.stagger-children.scrolled > *:nth-child(4) { animation: staggerReveal .6s var(--ease-out) .4s both !important; }
.stagger-children.scrolled > *:nth-child(5) { animation: staggerReveal .6s var(--ease-out) .5s both !important; }
.stagger-children.scrolled > *:nth-child(6) { animation: staggerReveal .6s var(--ease-out) .6s both !important; }

@keyframes staggerReveal {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Section separator - refined spacing */
.section-title {
  margin-bottom: 64px !important;
}

.section-title::after {
  content: '';
  display: block;
  width: 56px;
  height: 1px;
  background: var(--c-gold);
  margin-top: 24px;
  box-shadow: 0 0 12px var(--c-gold-glow);
}

.section-title.has-text-centered::after { margin: 24px auto 0; }
.section-title:last-child { margin-bottom: 0 !important; }

/* ══════════════════════════════════════════════════════════════════
   FORM ENHANCEMENTS — GLASS INPUTS
   ══════════════════════════════════════════════════════════════════ */
.form-group .form-control,
.form-group input[type="text"],
.form-group input[type="email"],
.form-group input[type="tel"],
.form-group input[type="number"],
.form-group textarea {
  width: 100%;
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: var(--c-pearl) !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid var(--c-graphite) !important;
  padding: 14px 16px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  border-radius: 4px !important;
}

.form-group .form-control:focus,
.form-group input:focus,
.form-group textarea:focus {
  outline: none !important;
  border-color: var(--c-gold) !important;
  background: rgba(45,90,39,.05) !important;
  box-shadow: 0 0 0 3px var(--c-gold-glow) !important;
}

.form-group input::placeholder,
.form-group textarea::placeholder { color: var(--c-ash) !important; }

/* Custom selects */
.custom-select select,
select.select {
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: var(--c-pearl) !important;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid var(--c-graphite) !important;
  padding: 14px 36px 14px 16px !important;
  border-radius: 4px !important;
  appearance: none !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23888891' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 14px center !important;
  cursor: pointer;
}

.custom-select select:focus {
  border-color: var(--c-gold) !important;
}

/* Custom checkboxes/radios */
.checkbox-container label,
.radio-container label {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  cursor: pointer;
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: var(--c-pearl) !important;
}

.checkbox-container label::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid var(--c-fog) !important;
  background: rgba(255,255,255,.03) !important;
  flex-shrink: 0;
  transition: all var(--dur) var(--ease-smooth) !important;
  border-radius: 3px !important;
}

.checkbox-container input:checked + label::before {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
}

.checkbox-container input:checked + label::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 11px;
  width: 6px;
  height: 10px;
  border: solid var(--c-void);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.radio-container label::before {
  content: '';
  display: inline-block;
  width: 20px;
  height: 20px;
  border: 1px solid var(--c-fog) !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.03) !important;
  flex-shrink: 0;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.radio-container input:checked + label::before {
  background: var(--c-white) !important;
  border-color: var(--c-gold) !important;
}

.radio-container input:checked + label::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--c-gold) !important;
}

/* Switch */
.switch-label {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer;
}

.switch-label .switch {
  position: relative;
  width: 48px;
  height: 26px;
}

.switch-label .switch input { opacity: 0; width: 0; height: 0; }

.switch-label .slider {
  position: absolute;
  cursor: pointer;
  inset: 0;
  background-color: rgba(255,255,255,.1);
  border-radius: 26px;
  transition: .3s;
}

.switch-label .slider:before {
  position: absolute;
  content: "";
  height: 20px;
  width: 20px;
  left: 3px;
  bottom: 3px;
  background-color: var(--c-pearl);
  border-radius: 50%;
  transition: .3s;
  box-shadow: var(--sh-1);
}

.switch-label input:checked + .slider { background-color: var(--c-gold); }
.switch-label input:checked + .slider:before { transform: translateX(22px); background: var(--c-white); }

/* ══════════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ══════════════════════════════════════════════════════════════════ */
@media screen and (max-width: 1216px) {
  :root { --sec-py: 100px; }
  .navbar .columns { min-height: 60px; }
  .theme-menu li a { height: 60px !important; padding: 0 16px !important; }
}

@media screen and (max-width: 1024px) {
  :root { --sec-py: 80px; }
  .section-banner,
  #main-slider,
  #main-slider .splide__track,
  #main-slider .splide__list { min-height: 80vh !important; }
}

@media screen and (max-width: 768px) {
  :root { --sec-py: 64px; }
  .section-banner .splide__arrow--prev { left: 16px !important; }
  .section-banner .splide__arrow--next { right: 16px !important; }
  .full-screen-cookie-block { padding: 24px !important; }
  .theme-modal-card { padding: 32px !important; }
  .split-section .split-content { padding: 48px 24px; }
  .asymmetric-grid { gap: 48px; }
  .stagger-grid { gap: 24px; }
  .section-title { margin-bottom: 48px !important; }
  .section-title::after { margin-top: 20px; }
}

@media screen and (max-width: 479px) {
  .section-title h1, .section-title h2,
  .section-title .section-title-text {
    font-size: clamp(28px, 8vw, 40px) !important;
  }
  .theme-btn {
    padding: 12px 20px !important;
    font-size: 10px !important;
    letter-spacing: 2px !important;
  }
  .theme-menu li a { padding: 0 12px !important; }
  .glass-card, .float-card, .theme-block {
    border-radius: 4px !important;
  }
  .splide__arrow {
    width: 40px !important;
    height: 40px !important;
    padding: 10px !important;
  }
}

/* ══════════════════════════════════════════════════════════════════
   PRINT STYLES
   ══════════════════════════════════════════════════════════════════ */
@media print {
  header, footer, .theme-sidebar, .splide, .theme-btn { display: none !important; }
  .section { padding: 20px 0 !important; }
  body { font-size: 12px !important; color: #000 !important; background: #fff !important; }
}


/* ══════════════════════════════════════════════════════════════════
   VISIBILITY FIXES — Contrast correction patches
   All issues: dark text on dark bg, or white text on white bg
   ══════════════════════════════════════════════════════════════════ */

/* FIX 1 — Select2 dropdown text in search section (dark text on dark bg) */
.real-estate-properties-col .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-selection__rendered {
  color: var(--c-pearl) !important;
}

/* FIX 2 — Sub-section title white background box floating on dark bg */
.sub-section-title h2, .sub-section-title h3, .sub-section-title span {
  background-color: transparent !important;
  color: var(--c-white) !important;
}
.section-inner-page-with-bg .sub-section-title h2,
.section-inner-page-with-bg .sub-section-title h3,
.section-inner-page-with-bg .sub-section-title span {
  background-color: transparent !important;
}

/* FIX 3 — Copyright footer text — too faint at 25% opacity */
.copyright-detail,
.copyright-detail *,
.footer-dynamic small,
.section-footer small {
  color: rgba(255,255,255,.55) !important;
}
.copyright-detail p {
  color: rgba(255,255,255,.55) !important;
}

/* FIX 4 — Accordion bullet dots on dark background */
.accordian_desc li::before,
.blog-detail-desc ul li::before {
  background-color: var(--c-silver) !important;
}

/* FIX 5 — Search placeholder: original forces #000000 !important — override with higher specificity */
.search-by-project-name .form-control::placeholder,
.search-by-project-name input::placeholder {
  color: var(--c-silver) !important;
  font-size: 13px !important;
}

/* FIX 6 — Project config h4 in detail view (high-specificity dark gray on dark card) */
.projects-properties-detail .project-configurations-desc h4,
.projects-properties-detail .project-configurations-desc h4 span,
.projects-properties-detail .project-configurations-desc h4 span.nodtranslate {
  color: var(--c-silver) !important;
}
.project-configurations-desc h4,
.project-configurations-desc h4 span {
  color: rgba(255,255,255,.7) !important;
}

/* FIX 7 — span.nodtranslate inside section titles (original: #303030 on dark bg) */
.section-title h1 > span.nodtranslate,
.section-title h2 > span.nodtranslate,
.section-title .section-title-text > span.nodtranslate {
  color: var(--c-white) !important;
}
/* nodtranslate spans that carry gold styling */
.text-primary > span.nodtranslate {
  color: var(--c-gold) !important;
}

/* FIX 8 — Header search overlay tab links: original #000000 on dark bg */
#header-search-menu-detail .tabs-detail li a,
.header-search-menu-detail .tabs-detail li a {
  color: var(--c-pearl) !important;
}
#header-search-menu-detail .tabs-detail li a:hover {
  color: var(--c-gold) !important;
}
#header-search-menu-detail .tabs-detail li.is-active a {
  color: var(--c-gold) !important;
  border-bottom-color: var(--c-gold) !important;
}

/* FIX 9 — Board of directors card body paragraph text (borderline ~3.8:1) */
.section-board-of-director .theme-block p,
.section-board-of-director .theme-block span,
.section-board-of-director .theme-block small {
  color: #000000 !important;
}
.section-board-of-director .theme-block-title h4 {
  color: #000000 !important;
}
.section-board-of-director .theme-block-title span {
  color: #000000 !important;
}

/* BONUS FIX — Search overlay background: original was light-frosted, redesign makes it dark.
   Ensure all inputs/labels inside it have legible light text */
#header-search-menu-detail {
  background: rgba(12,12,18,.97) !important;
}
#header-search-menu-detail .form-control,
#header-search-menu-detail input {
  color: var(--c-pearl) !important;
  background: rgba(255,255,255,.05) !important;
  border-bottom-color: rgba(255,255,255,.15) !important;
}
#header-search-menu-detail .form-control::placeholder {
  color: var(--c-ash) !important;
}
#header-search-menu-detail .form-label,
#header-search-menu-detail label {
  color: var(--c-silver) !important;
}

/* BONUS FIX — Section banner text that has white background box on hero */
.section-banner-text-desc .section-title h1,
.section-banner-text-desc .section-title h2,
.section-banner-text-desc .section-title h3 {
  background-color: transparent !important;
  color: var(--c-white) !important;
  text-shadow: 0 2px 20px rgba(0,0,0,.6);
}

/* BONUS FIX — `.real-estate-properties-col` select2 arrow color */
.light-style .select2-container--default .select2-selection--single .select2-selection__arrow b,
.select2-container--default .select2-selection--single .select2-selection__arrow b {
  background-color: var(--c-silver) !important;
  clip-path: polygon(0 0, 50% 100%, 100% 0) !important;
  width: 12px !important;
  height: 7px !important;
}

/* BONUS FIX — Select2 dropdown list items on dark popup */
.light-style .select2-dropdown,
.select2-dropdown {
  background: var(--c-night) !important;
  border: 1px solid var(--c-graphite) !important;
}
.select2-results__option,
.select2-container--default .select2-results__option {
  color: var(--c-pearl) !important;
}
.select2-container--default .select2-results__option--highlighted:not([aria-selected="true"]) {
  background: rgba(45,90,39,.10) !important;
  color: var(--c-gold) !important;
}
.select2-results__option[role="option"][aria-selected="true"] {
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
}

/* BONUS FIX — Range slider value labels */
.custom-range-slider .index_from,
.custom-range-slider .index_to,
.custom-range-slider ul li label {
  color: var(--c-pearl) !important;
}

/* BONUS FIX — Form check labels (dark gray original on dark bg) */
.form-check-label,
.checkbox-text,
.radio-text {
  color: var(--c-pearl) !important;
}

/* BONUS FIX — .know-more-btn span was set to uppercase + dark in some contexts */
.know-more-btn span {
  color: var(--c-pearl) !important;
}
.know-more-btn:hover span { color: var(--c-gold) !important; }

/* BONUS FIX — Input range slider labels */
.custom-range-slider input.custom-range-title {
  color: var(--c-pearl) !important;
  background-color: transparent !important;
}
.custom-range-slider ul li::before {
  background-color: rgba(255,255,255,.2) !important;
}

/* BONUS FIX — .theme-block-floting-tag (white bg, dark text) — fine on dark cards */
.theme-block-floting-tag {
  background: rgba(255,255,255,.9) !important;
  color: var(--c-ink) !important;
}

/* BONUS FIX — Error message labels */
.error-msg,
label.error .error-msg {
  background-color: #c0392b !important;
  color: #fff !important;
}

/* BONUS FIX — rera-no on dark project card */
.rera-no, .rera-no span, .rera-no p {
  color: var(--c-silver) !important;
  border-top-color: rgba(255,255,255,.08) !important;
}

/* BONUS FIX — project-configurations border on dark cards */
.project-configurations {
  border-top-color: rgba(255,255,255,.08) !important;
  border-bottom-color: rgba(255,255,255,.08) !important;
}

/* BONUS FIX — CMS inner page text: original sets #303030 on some cms-item elements */
.cms-item h4, .cms-item b {
  color: var(--c-gold) !important;
}
.cms-item b {
  color: var(--c-pearl) !important;
}
.cms-item ol li,
.accordian_desc li,
.blog-detail-desc ul li {
  color: var(--c-pearl) !important;
}

/* BONUS FIX — `.section-title h2` inside `.related-articles` (original: #303030) */
.related-articles .section-title h2,
.related-articles .section-title span {
  color: var(--c-white) !important;
}


/* ── Single hero image — hide slider arrows & pagination ─────── */
#main-slider .splide__arrows,
#main-slider .splide__arrow,
#main-slider .splide__pagination {
  display: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   FLOATING ENQUIRY WIDGET
   ══════════════════════════════════════════════════════════════════ */

/* ══════════════════════════════════════════════════════════════════
   FLOATING ENQUIRY BUTTON — RECTANGLE PILL
   ══════════════════════════════════════════════════════════════════ */

/* Floating trigger button */
#float-enquiry-btn {
  position: fixed;
  bottom: 32px;
  right: 32px;
  z-index: 1200;
  width: auto;
  height: auto;
  border-radius: 4px;
  background: var(--c-gold);
  border: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 26px;
  font-family: var(--f-accent) !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 3px;
  text-transform: uppercase;
  color: #ffffff;
  box-shadow: 0 4px 20px rgba(45,90,39,.35), 0 2px 8px rgba(0,0,0,.12);
  transition: transform var(--dur) var(--ease-spring),
              box-shadow var(--dur) var(--ease-smooth),
              background var(--dur) var(--ease-smooth);
  outline: none;
  overflow: visible;
}

/* Arrow that slides right on hover */
#float-enquiry-btn::after {
  content: '→';
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 0;
  transition: transform var(--dur) var(--ease-spring);
  display: inline-block;
}

#float-enquiry-btn:hover {
  background: var(--c-gold-lt);
  transform: translateY(-3px);
  box-shadow: 0 8px 28px rgba(45,90,39,.45), 0 4px 12px rgba(0,0,0,.15);
}

#float-enquiry-btn:hover::after {
  transform: translateX(5px);
}

/* Rectangular pulse ring */
#float-enquiry-btn::before {
  content: '';
  position: absolute;
  inset: -5px;
  border-radius: 7px;
  border: 2px solid rgba(45,90,39,.36);
  animation: floatPulse 2.4s ease-out infinite;
  pointer-events: none;
}

@keyframes floatPulse {
  0%   { transform: scale(1);    opacity: .8; }
  70%  { transform: scale(1.08); opacity: 0;  }
  100% { transform: scale(1.08); opacity: 0;  }
}

/* Modal backdrop */
#float-enquiry-overlay {
  position: fixed;
  inset: 0;
  z-index: 1199;
  background: rgba(6,6,8,.72);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s ease, visibility .3s ease;
}
#float-enquiry-overlay.fe-open {
  opacity: 1;
  visibility: visible;
}

/* Modal card */
#float-enquiry-modal {
  position: fixed;
  bottom: 104px;
  right: 32px;
  z-index: 1200;
  width: 340px;
  background: var(--c-white);
  border: 1px solid var(--c-graphite);
  border-radius: 10px;
  box-shadow: 0 24px 80px rgba(0,0,0,.7), 0 0 0 1px rgba(45,90,39,.06);
  transform: translateY(20px) scale(.96);
  opacity: 0;
  visibility: hidden;
  transition: transform .3s var(--ease-smooth), opacity .3s ease, visibility .3s ease;
  overflow: hidden;
}
#float-enquiry-modal.fe-open {
  transform: translateY(0) scale(1);
  opacity: 1;
  visibility: visible;
}

/* Gold top bar */
#float-enquiry-modal::before {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--c-gold-dk), var(--c-gold), var(--c-gold-lt));
}

/* Modal header */
.fe-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 18px 22px 14px;
  border-bottom: 1px solid var(--c-graphite);
}
.fe-header h4 {
  font-family: var(--f-display) !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  color: var(--c-void) !important;
  margin: 0 !important;
  letter-spacing: .5px;
}
.fe-header p {
  font-family: var(--f-body);
  font-size: 11px;
  color: var(--c-silver);
  margin: 2px 0 0 !important;
  letter-spacing: 1.5px;
  text-transform: uppercase;
}
.fe-close-btn {
  background: none;
  border: none;
  cursor: pointer;
  color: var(--c-pearl);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  transition: color .2s ease, background .2s ease;
  flex-shrink: 0;
}
.fe-close-btn:hover {
  color: var(--c-gold);
  background: rgba(45,90,39,.06);
}
.fe-close-btn svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  fill: none;
}

/* Form body */
.fe-body {
  padding: 22px 22px 20px;
}

/* Field groups */
.fe-field {
  margin-bottom: 16px;
}
.fe-field label {
  display: block;
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--c-pearl) !important;
  margin-bottom: 6px;
}
.fe-field input {
  display: block;
  width: 100%;
  background: rgba(255,255,255,.05) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 5px !important;
  padding: 11px 14px !important;
  font-family: var(--f-body) !important;
  font-size: 13px !important;
  color: var(--c-void) !important;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
  box-sizing: border-box;
}
.fe-field input::placeholder {
  color: var(--c-ash) !important;
  font-size: 12px !important;
}
.fe-field input:focus {
  border-color: var(--c-gold) !important;
  background: rgba(45,90,39,.05) !important;
  box-shadow: 0 0 0 3px rgba(45,90,39,.10) !important;
}

/* Consent checkbox row */
.fe-consent {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 20px;
}
.fe-consent input[type="checkbox"] {
  margin-top: 2px;
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  accent-color: var(--c-gold);
  cursor: pointer;
}
.fe-consent span {
  font-family: var(--f-body);
  font-size: 11px;
  color: var(--c-pearl);
  line-height: 1.6;
}

/* Action buttons row */
.fe-actions {
  display: flex;
  gap: 10px;
}
.fe-btn-submit {
  flex: 1;
  background: var(--c-gold) !important;
  border: none !important;
  border-radius: 5px !important;
  padding: 11px 0 !important;
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--c-white) !important;
  cursor: pointer;
  transition: background .2s ease, transform .15s ease;
}
.fe-btn-submit:hover {
  background: var(--c-gold-lt) !important;
  transform: translateY(-1px);
}
.fe-btn-cancel {
  flex: 0 0 auto;
  background: transparent !important;
  border: 1px solid var(--c-smoke) !important;
  border-radius: 5px !important;
  padding: 11px 18px !important;
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--c-silver) !important;
  cursor: pointer;
  transition: border-color .2s ease, color .2s ease;
}
.fe-btn-cancel:hover {
  border-color: rgba(45,90,39,.28) !important;
  color: var(--c-gold) !important;
}

/* Success state */
.fe-success {
  display: none;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 36px 22px;
  text-align: center;
  gap: 12px;
}
.fe-success.fe-visible {
  display: flex;
}
.fe-success svg {
  width: 48px;
  height: 48px;
  stroke: var(--c-gold);
  stroke-width: 1.5;
  fill: none;
}
.fe-success h4 {
  font-family: var(--f-display) !important;
  font-size: 18px !important;
  color: var(--c-void) !important;
  margin: 0 !important;
}
.fe-success p {
  font-size: 12px !important;
  color: var(--c-pearl) !important;
  margin: 0 !important;
}

/* Mobile adjustments */
@media (max-width: 400px) {
  #float-enquiry-modal {
    right: 12px;
    left: 12px;
    width: auto;
    bottom: 80px;
  }
  #float-enquiry-btn {
    right: 16px;
    bottom: 20px;
    padding: 11px 18px;
    font-size: 10px;
    letter-spacing: 2px;
  }
}


/* ╔══════════════════════════════════════════════════════════════════╗
   ║  PRESTIGE GROUP — INNER PAGE REDESIGN  v3.1                     ║
   ║  Covers: loader · page heroes · news · about · contact ·        ║
   ║  projects · awards · events · faq · blog · cms · footer         ║
   ╚══════════════════════════════════════════════════════════════════╝ */

/* ══════════════════════════════════════════════════════════════════
   PAGE LOADER — CINEMATIC ANIMATED LOADER
   ══════════════════════════════════════════════════════════════════ */
.theme-loader.theme-page-loader {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  background: var(--c-void) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: opacity .5s ease, visibility .5s ease !important;
}

.theme-loader.theme-page-loader.is-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Replace the plain SVG circles with a gold shimmer bar */
.theme-loader.theme-page-loader::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 2px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--c-gold) 40%,
    var(--c-gold-lt) 50%,
    var(--c-gold) 60%,
    transparent 100%);
  background-size: 200% 100%;
  animation: loaderSweep 1.4s ease-in-out infinite;
}

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

/* ══════════════════════════════════════════════════════════════════
   INNER-PAGE HERO STRIP — SHARED ACROSS ALL INNER PAGES
   ══════════════════════════════════════════════════════════════════ */
.section-inner-page {
  padding-top: 160px !important;
  padding-bottom: var(--sec-py-sm) !important;
  background: var(--c-obsidian) !important;
  position: relative;
  overflow: hidden;
}

/* Diagonal gold accent line behind the page title */
.section-inner-page::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    var(--c-gold-border) 30%,
    var(--c-gold) 50%,
    var(--c-gold-border) 70%,
    transparent 100%);
}

/* Large decorative page title watermark */
.section-inner-page::after {
  content: '';
  position: absolute;
  top: 80px; right: -60px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle,
    rgba(45,90,39,.04) 0%,
    transparent 70%);
  pointer-events: none;
}

/* h1 page title */
.section-inner-page h1.text-primary,
.section-inner-page .section-title h1,
.section-inner-page .section-title h2 {
  font-family: var(--f-display) !important;
  font-size: clamp(42px, 6vw, 90px) !important;
  font-weight: 300 !important;
  line-height: 1 !important;
  letter-spacing: -.02em !important;
  color: var(--c-void) !important;
  margin-bottom: 24px !important;
}

/* Gold underscore on h1 */
.section-inner-page h1.text-primary::after,
.section-inner-page .section-title h1::after {
  content: '';
  display: block;
  width: 60px; height: 2px;
  background: var(--c-gold);
  margin-top: 20px;
  box-shadow: 0 0 16px var(--c-gold-glow);
}

/* pt-6 override — inner pages with explicit smaller top pad */
.section-inner-page.pt-6 {
  padding-top: 140px !important;
}

/* ══════════════════════════════════════════════════════════════════
   SHARED SKELETON LOADER / SHINE EFFECT
   ══════════════════════════════════════════════════════════════════ */
.shine {
  background: linear-gradient(
    90deg,
    rgba(255,255,255,.04) 0%,
    rgba(255,255,255,.09) 40%,
    rgba(255,255,255,.04) 80%
  ) !important;
  background-size: 400% 100% !important;
  animation: shineSweep 1.6s ease-in-out infinite !important;
  border-radius: 4px !important;
  color: transparent !important;
}

@keyframes shineSweep {
  0%   { background-position: 100% 50%; }
  100% { background-position: 0%   50%; }
}

.placeholder-card {
  border: 1px solid var(--c-fog) !important;
  border-radius: 8px !important;
  overflow: hidden;
}

.block-loader-wrapper {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 40px !important;
}

.block-loader {
  width: 36px; height: 36px;
  border: 2px solid rgba(45,90,39,.18);
  border-top-color: var(--c-gold);
  border-radius: 50%;
  animation: spinLoader .8s linear infinite;
}

@keyframes spinLoader {
  to { transform: rotate(360deg); }
}

/* ══════════════════════════════════════════════════════════════════
   SHARED PROJECT CARDS — all listing pages use these
   ══════════════════════════════════════════════════════════════════ */
.project-vertical-block:not(.placeholder-card) {
  background: var(--c-white) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  overflow: hidden;
  transition: transform var(--dur) var(--ease-smooth),
              box-shadow var(--dur) var(--ease-smooth),
              border-color var(--dur) var(--ease-smooth) !important;
}

.project-vertical-block:not(.placeholder-card):hover {
  transform: translateY(-10px) !important;
  box-shadow: var(--sh-xl), 0 0 40px rgba(45,90,39,.06) !important;
  border-color: var(--c-gold-border) !important;
}

/* Image container */
.img-fixed-ratio.projects-img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4/3;
  background: var(--c-graphite);
}

.img-fixed-ratio.projects-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform var(--dur-slow) var(--ease-smooth) !important;
  filter: brightness(.92);
}

.project-vertical-block:hover .img-fixed-ratio.projects-img img {
  transform: scale(1.06) !important;
  filter: brightness(1);
}

/* Project title & price */
.project-title-and-price {
  padding: 20px 20px 0 !important;
}

.project-title h4,
.project-title-and-price h4 {
  font-family: var(--f-display) !important;
  font-size: 20px !important;
  font-weight: 400 !important;
  color: var(--c-void) !important;
  line-height: 1.2 !important;
  margin-bottom: 6px !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}

.project-vertical-block:hover .project-title h4 {
  color: var(--c-gold) !important;
}

.project-title span,
.project-desc-price span {
  font-family: var(--f-body) !important;
  font-size: 12px !important;
  color: var(--c-silver) !important;
  letter-spacing: .5px;
}

/* Configurations bar */
.project-configurations {
  display: flex;
  gap: 16px;
  padding: 16px 20px !important;
  border-top: 1px solid var(--c-graphite) !important;
  flex-wrap: wrap;
}

.project-configurations-items {
  display: flex;
  align-items: center;
  gap: 8px;
}

.project-configurations-desc h4 {
  font-family: var(--f-accent) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  color: var(--c-pearl) !important;
  margin: 0 !important;
}

.project-configurations-desc span {
  font-size: 10px !important;
  color: var(--c-silver) !important;
  letter-spacing: 1px;
}

.project-configurations-icon svg {
  color: var(--c-gold) !important;
  stroke: var(--c-gold) !important;
}

/* Floating tag on project image */
.theme-block-floting-tag {
  position: absolute !important;
  top: 16px !important; left: 16px !important;
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 5px 12px !important;
  border-radius: 2px !important;
  z-index: 2;
}

/* ══════════════════════════════════════════════════════════════════
   CITY / FILTER PILLS
   ══════════════════════════════════════════════════════════════════ */
.projects-properties-city-detail {
  background: var(--c-night) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  padding: 24px 16px !important;
  position: sticky !important;
  top: 100px;
}

.projects-properties-city-detail ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.projects-properties-city-detail li a,
.projects-properties-city-detail li span {
  display: block;
  padding: 10px 16px !important;
  font-family: var(--f-accent) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: var(--c-silver) !important;
  border-radius: 4px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  cursor: pointer;
}

.projects-properties-city-detail li.is-active a,
.projects-properties-city-detail li.is-active span,
.projects-properties-city-detail li:hover a,
.projects-properties-city-detail li:hover span {
  color: var(--c-gold) !important;
  background: var(--c-gold-tint) !important;
}

/* Filter pills row */
.project-filter-tab {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.project-filter-tab li {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 7px 16px !important;
  border: 1px solid var(--c-smoke) !important;
  border-radius: 50px !important;
  color: var(--c-silver) !important;
  cursor: pointer;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.project-filter-tab li.is-active,
.project-filter-tab li:hover {
  border-color: var(--c-gold) !important;
  color: var(--c-gold) !important;
  background: var(--c-gold-tint) !important;
}

/* ══════════════════════════════════════════════════════════════════
   NEWS PAGE
   ══════════════════════════════════════════════════════════════════ */
.section-news-inner-page {
  background: var(--c-obsidian) !important;
}

/* Year/month accordion sidebar */
.news-accordian .accordian_item {
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--c-graphite) !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
}

.news-accordian .accordian_title {
  padding: 14px 8px !important;
  cursor: pointer;
}

.news-accordian .accordian_title h4 {
  font-family: var(--f-accent) !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  color: var(--c-void) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}

.news-accordian .accordian_title.active h4,
.news-accordian .accordian_title:hover h4 {
  color: var(--c-gold) !important;
}

.news-accordian .directors-accordian-detail ul {
  list-style: none !important;
  padding: 4px 0 !important;
  margin: 0 !important;
}

.news-accordian .directors-accordian-detail li a {
  display: block;
  padding: 8px 12px !important;
  font-family: var(--f-body) !important;
  font-size: 12px !important;
  letter-spacing: .5px;
  color: var(--c-silver) !important;
  border-radius: 4px;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.news-accordian .directors-accordian-detail li a:hover,
.news-accordian .directors-accordian-detail li a.is-active {
  color: var(--c-gold) !important;
  background: var(--c-gold-tint) !important;
  padding-left: 18px !important;
}

/* News data table */
.theme-table {
  width: 100% !important;
  border-collapse: collapse !important;
  background: transparent !important;
}

.theme-table thead tr {
  border-bottom: 1px solid rgba(45,90,39,.18) !important;
}

.theme-table thead th {
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--c-gold) !important;
  padding: 12px 16px !important;
  white-space: nowrap;
  background: transparent !important;
}

.theme-table tbody tr {
  border-bottom: 1px solid var(--c-fog) !important;
  transition: background var(--dur) var(--ease-smooth) !important;
}

.theme-table tbody tr:hover {
  background: rgba(45,90,39,.06) !important;
}

.theme-table tbody td {
  font-family: var(--f-body) !important;
  font-size: 13px !important;
  color: var(--c-pearl) !important;
  padding: 16px !important;
  vertical-align: middle;
  line-height: 1.5 !important;
}

.theme-table tbody td a {
  color: var(--c-pearl) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}

.theme-table tbody td a:hover {
  color: var(--c-gold) !important;
}

/* Action button in news table */
.theme-table .theme-btn {
  font-size: 10px !important;
  padding: 6px 14px !important;
  letter-spacing: 1.5px !important;
}

.position-sticky-block {
  position: sticky !important;
  top: 110px;
}

/* ══════════════════════════════════════════════════════════════════
   ABOUT US PAGE
   ══════════════════════════════════════════════════════════════════ */
.section-about-us.section-inner-page.aboutus-projects {
  background: var(--c-obsidian) !important;
}

.about-us-wrapper {
  position: relative;
}

/* Left prose column */
.about-us-col#about_details_bind p {
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: var(--c-silver) !important;
  margin-bottom: 20px !important;
}

/* Right stats column */
.about-us-col.border-left.border-theme {
  border-left: 1px solid var(--c-gold-border) !important;
  padding-left: 48px !important;
}

/* Crisil logo */
.crisil-real-estate-logo {
  display: block;
  margin-bottom: 32px;
  max-width: 160px;
}

/* Counter grid */
.about-us-counter-cols {
  gap: 32px 0;
}

.about-us-counter-cols .column {
  position: relative;
}

.about-us-counter-cols .column::after {
  content: '';
  position: absolute;
  bottom: 0; left: 16px; right: 16px;
  height: 1px;
  background: rgba(255,255,255,.06);
}

/* Counter value */
.appendcount .counter {
  font-family: var(--f-display) !important;
  font-size: 56px !important;
  font-weight: 300 !important;
  color: var(--c-gold) !important;
  line-height: 1 !important;
  letter-spacing: -.03em;
  text-shadow: 0 2px 12px var(--c-gold-glow);
  display: block;
}

.appendcount p {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--c-silver) !important;
  margin-top: 8px !important;
  text-align: left !important;
}

/* History timeline section (shares .section-awards class) */
.section-awards {
  background: var(--c-midnight) !important;
  position: relative;
  overflow: hidden;
}

.section-awards::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg,
    rgba(45,90,39,.03) 0%,
    transparent 60%);
  pointer-events: none;
}

/* Horizontal year tabs */
.tabs-detail-responsive {
  overflow-x: auto;
  padding-bottom: 4px;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.tabs-detail-responsive::-webkit-scrollbar { display: none; }

.tab-rounded li a,
.tab-rounded li {
  border: 1px solid var(--c-smoke) !important;
  border-radius: 50px !important;
  padding: 7px 20px !important;
  font-family: var(--f-accent) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  color: var(--c-silver) !important;
  cursor: pointer;
  transition: all var(--dur) var(--ease-smooth) !important;
  white-space: nowrap;
}

.tab-rounded li.is-active,
.tab-rounded li.is-active a,
.tab-rounded li:hover,
.tab-rounded li:hover a {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
  color: var(--c-white) !important;
}

/* Landmark / carousel sections on About */
#landmark-developments-slider .splide__slide,
#residential-slider .splide__slide,
#commercial-slider .splide__slide,
#hospitality-slider .splide__slide {
  border-radius: 8px;
  overflow: hidden;
}

.section-landmark-developments {
  background: var(--c-cloud) !important;
  border-top: 1px solid var(--c-fog) !important;
}

/* ══════════════════════════════════════════════════════════════════
   CONTACT US PAGE
   ══════════════════════════════════════════════════════════════════ */
.section-contact-us-inner-page {
  background: var(--c-obsidian) !important;
}

/* Contact sidebar form card */
.branch-contact-block {
  background: var(--c-white) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 10px !important;
  padding: 32px !important;
  position: sticky !important;
  top: 110px;
  box-shadow: var(--sh-4) !important;
}

.branch-contact-block::before {
  content: '';
  display: block;
  height: 3px;
  background: linear-gradient(90deg, var(--c-gold-dk), var(--c-gold), var(--c-gold-lt));
  margin: -32px -32px 28px;
  border-radius: 10px 10px 0 0;
}

.branch-contact-block h5.golden-text {
  font-family: var(--f-display) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--c-gold) !important;
  margin-bottom: 24px !important;
}

/* Tab2 — contact office tabs */
.contact-us-tabs-detail .tabs-detail li.tab2 {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 10px 0 !important;
  cursor: pointer;
  border-bottom: 2px solid transparent !important;
  color: var(--c-silver) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.contact-us-tabs-detail .tabs-detail li.tab2.is-active,
.contact-us-tabs-detail .tabs-detail li.tab2:hover {
  color: var(--c-gold) !important;
  border-bottom-color: var(--c-gold) !important;
}

/* Office info cards inside content-tab2 */
.content-tab2 .theme-block,
.branch-contact-block-inner {
  background: var(--c-white) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  padding: 24px !important;
  transition: border-color var(--dur) var(--ease-smooth),
              box-shadow var(--dur) var(--ease-smooth) !important;
}

.content-tab2 .theme-block:hover,
.branch-contact-block-inner:hover {
  border-color: var(--c-gold-border) !important;
  box-shadow: var(--sh-3) !important;
}

.content-tab2 h4,
.content-tab2 h5 {
  font-family: var(--f-display) !important;
  font-size: 20px !important;
  color: var(--c-white) !important;
  margin-bottom: 12px !important;
}

.content-tab2 p,
.content-tab2 address {
  font-size: 13px !important;
  color: var(--c-silver) !important;
  line-height: 1.8 !important;
  font-style: normal !important;
}

.content-tab2 a[href^="tel"],
.content-tab2 a[href^="mailto"] {
  color: var(--c-pearl) !important;
  transition: color var(--dur) var(--ease-smooth) !important;
}

.content-tab2 a[href^="tel"]:hover,
.content-tab2 a[href^="mailto"]:hover {
  color: var(--c-gold) !important;
}

/* Mobile reorder utilities */
@media (max-width: 768px) {
  .order-1-res { order: 1 !important; }
  .order-2-res { order: 2 !important; }
}

/* ══════════════════════════════════════════════════════════════════
   AWARDS PAGE
   ══════════════════════════════════════════════════════════════════ */
.section-awards .awards-wrapper {
  position: relative;
  z-index: 1;
}

/* Award cards injected by JS — target the generic .theme-block inside */
.bind_awards .theme-block,
.awards-tabs-detail .theme-block {
  background: var(--c-night) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  overflow: hidden;
  transition: transform var(--dur) var(--ease-smooth),
              box-shadow var(--dur) var(--ease-smooth),
              border-color var(--dur) var(--ease-smooth) !important;
  height: 100%;
}

.bind_awards .theme-block:hover,
.awards-tabs-detail .theme-block:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--sh-5) !important;
  border-color: var(--c-gold-border) !important;
}

.bind_awards .theme-block img {
  width: 100% !important;
  object-fit: cover !important;
  filter: grayscale(20%);
  transition: filter var(--dur) var(--ease-smooth) !important;
}

.bind_awards .theme-block:hover img {
  filter: grayscale(0%) !important;
}

.bind_awards .theme-block-title h4 {
  font-family: var(--f-display) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--c-white) !important;
}

.bind_awards .theme-block-title span {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  letter-spacing: 2px !important;
  color: var(--c-gold) !important;
  text-transform: uppercase !important;
}

/* ══════════════════════════════════════════════════════════════════
   EVENTS PAGE
   ══════════════════════════════════════════════════════════════════ */
.section-events-inner-page {
  background: var(--c-obsidian) !important;
  padding-top: 140px !important; /* no pt-6 on this page */
}

/* Event cards reuse .project-vertical-block — already styled above */
/* Additional event-specific overrides */
.append-events .project-vertical-block .project-title h4 {
  font-size: 17px !important;
}

.events-detail {
  width: 100%;
}

/* ══════════════════════════════════════════════════════════════════
   FAQ PAGE
   ══════════════════════════════════════════════════════════════════ */
.section-faq-inner-page {
  background: var(--c-obsidian) !important;
}

/* FAQ category cards */
.append-faqcategories .theme-block {
  background: var(--c-night) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  padding: 32px !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  cursor: pointer;
  position: relative;
  overflow: hidden;
}

.append-faqcategories .theme-block::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 2px;
  background: linear-gradient(90deg, var(--c-gold), var(--c-gold-lt));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform var(--dur) var(--ease-smooth) !important;
}

.append-faqcategories .theme-block:hover {
  border-color: var(--c-gold-border) !important;
  transform: translateY(-6px) !important;
  box-shadow: var(--sh-4) !important;
}

.append-faqcategories .theme-block:hover::after {
  transform: scaleX(1) !important;
}

.append-faqcategories .theme-block h4 {
  font-family: var(--f-display) !important;
  font-size: 22px !important;
  color: var(--c-white) !important;
  margin-bottom: 12px !important;
}

.append-faqcategories .theme-block p {
  font-size: 13px !important;
  color: var(--c-silver) !important;
}

/* FAQ accordion items */
.faq-wrapper .accordian_item {
  background: var(--c-white) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 6px !important;
  margin-bottom: 10px !important;
  transition: border-color var(--dur) var(--ease-smooth) !important;
}

.faq-wrapper .accordian_item:hover,
.faq-wrapper .accordian_item:has(.accordian_title.active) {
  border-color: var(--c-gold-border) !important;
}

.faq-wrapper .accordian_title h4 {
  font-size: 15px !important;
  color: var(--c-pearl) !important;
}

.faq-wrapper .accordian_title.active h4 {
  color: var(--c-gold) !important;
}

.faq-wrapper .accordian_desc {
  color: var(--c-silver) !important;
  font-size: 14px !important;
  line-height: 1.8 !important;
}

/* ══════════════════════════════════════════════════════════════════
   BLOG PAGE
   ══════════════════════════════════════════════════════════════════ */
.section-blog-inner-page {
  background: var(--c-obsidian) !important;
  padding-top: 140px !important;
}

.section-blog-inner-page h1.text-primary {
  font-size: clamp(42px, 6vw, 90px) !important;
  margin-bottom: 48px !important;
}

/* Blog article cards */
.appen_blog .theme-block,
.blog-cols .theme-block {
  background: var(--c-night) !important;
  border: 1px solid var(--c-graphite) !important;
  border-radius: 8px !important;
  overflow: hidden;
  height: 100%;
  transition: transform var(--dur) var(--ease-smooth),
              box-shadow var(--dur) var(--ease-smooth),
              border-color var(--dur) var(--ease-smooth) !important;
}

.appen_blog .theme-block:hover,
.blog-cols .theme-block:hover {
  transform: translateY(-8px) !important;
  box-shadow: var(--sh-5) !important;
  border-color: var(--c-gold-border) !important;
}

.appen_blog .theme-block img {
  width: 100% !important;
  aspect-ratio: 16/9;
  object-fit: cover !important;
  transition: transform var(--dur-slow) var(--ease-smooth) !important;
}

.appen_blog .theme-block:hover img {
  transform: scale(1.05) !important;
}

/* Blog article meta (date, category) */
.blog-date,
.theme-block .blog-meta span {
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: var(--c-gold) !important;
}

/* Sidebar */
.blog-sidebar-item {
  margin-bottom: 40px;
}

.sub-section-title {
  margin-bottom: 20px;
  padding-bottom: 14px;
  border-bottom: 1px solid var(--c-graphite) !important;
}

.sub-section-title span,
.sub-section-title h3 {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--c-gold) !important;
}

/* Recent articles list */
.theme-blog-block .theme-block {
  background: var(--c-white) !important;
  border: 1px solid var(--c-fog) !important;
  border-radius: 6px !important;
  padding: 14px !important;
  margin-bottom: 10px !important;
  transition: border-color var(--dur) var(--ease-smooth) !important;
}

.theme-blog-block .theme-block:hover {
  border-color: var(--c-gold-border) !important;
}

/* Category tag pills */
.tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tag-list .tag,
.tag-list a {
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 600 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  padding: 6px 14px !important;
  border: 1px solid var(--c-smoke) !important;
  border-radius: 50px !important;
  color: var(--c-silver) !important;
  background: transparent !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.tag-list .tag:hover,
.tag-list a:hover {
  border-color: var(--c-gold) !important;
  color: var(--c-gold) !important;
  background: var(--c-gold-tint) !important;
}

/* Pagination */
.pagination-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 60px !important;
  padding-top: 40px;
  border-top: 1px solid var(--c-graphite);
}

.pagination-container a,
.pagination-container span,
.pagination-container button {
  font-family: var(--f-accent) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 1px !important;
  width: 40px; height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px !important;
  border: 1px solid var(--c-graphite) !important;
  color: var(--c-silver) !important;
  background: transparent !important;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.pagination-container a:hover,
.pagination-container a.is-active,
.pagination-container .current {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
  color: var(--c-white) !important;
}

/* ══════════════════════════════════════════════════════════════════
   CMS PAGES — Terms, Privacy Policy, Disclaimer
   ══════════════════════════════════════════════════════════════════ */
.section-cms {
  background: var(--c-obsidian) !important;
}

.cms-wrapper {
  max-width: 860px !important;
  margin: 0 auto !important;
}

.cms-detail {
  position: relative;
}

/* Drop-cap on first paragraph */
.cms-detail > p:first-of-type::first-letter {
  font-family: var(--f-display) !important;
  font-size: 5em;
  font-weight: 300;
  color: var(--c-gold);
  float: left;
  line-height: .8;
  margin: 8px 16px 0 0;
}

.cms-item {
  margin-bottom: 48px !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid var(--c-graphite) !important;
}

.cms-item:last-child {
  border-bottom: none !important;
}

/* Section headings */
.cms-item b,
.cms-item strong {
  display: block;
  font-family: var(--f-display) !important;
  font-size: 24px !important;
  font-weight: 400 !important;
  color: var(--c-white) !important;
  margin-bottom: 16px !important;
  letter-spacing: -.01em;
}

.cms-item p {
  font-size: 14px !important;
  color: var(--c-silver) !important;
  line-height: 1.9 !important;
  margin-bottom: 16px !important;
}

/* Numbered / bulleted lists */
.cms-item ol,
.cms-item ul,
.accordian_desc ol,
.accordian_desc ul,
.blog-detail-desc ol,
.blog-detail-desc ul {
  padding-left: 20px !important;
  margin-bottom: 20px !important;
}

.cms-item ol li,
.cms-item ul li,
.accordian_desc li,
.blog-detail-desc ul li {
  font-family: var(--f-body) !important;
  font-size: 14px !important;
  color: var(--c-silver) !important;
  line-height: 1.8 !important;
  margin-bottom: 8px !important;
}

.cms-item ol li::marker {
  color: var(--c-gold) !important;
  font-weight: 600;
}

/* Inline links in CMS content */
.cms-detail a,
.cms-item a {
  color: var(--c-gold) !important;
  text-decoration: underline !important;
  text-underline-offset: 3px !important;
  text-decoration-color: rgba(45,90,39,.32) !important;
  transition: text-decoration-color var(--dur) var(--ease-smooth) !important;
}

.cms-detail a:hover,
.cms-item a:hover {
  text-decoration-color: var(--c-gold) !important;
}

/* ══════════════════════════════════════════════════════════════════
   FOOTER — CINEMATIC DARK FOOTER
   ══════════════════════════════════════════════════════════════════ */
.section-footer {
  background: var(--c-void) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(45,90,39,.06) !important;
}

/* Ambient footer glow */
.section-footer::before {
  content: '';
  position: absolute;
  top: -120px; left: 50%;
  transform: translateX(-50%);
  width: 800px; height: 240px;
  background: radial-gradient(ellipse,
    rgba(45,90,39,.06) 0%,
    transparent 70%);
  pointer-events: none;
}

/* Video background */
.section-footer video {
  opacity: .08 !important;
  filter: grayscale(100%) contrast(1.2) !important;
}

/* Footer content wrapper */
.footer-dynamic {
  padding-top: 80px !important;
  padding-bottom: 48px !important;
  position: relative;
  z-index: 2;
}

/* Footer logo */
.footer-logo img {
  max-width: 100px !important;
  filter: brightness(0) invert(1) !important;
  opacity: .8 !important;
}

/* Footer heading */
.footer-title,
.footer-dynamic h4,
.footer-dynamic h3 {
  font-family: var(--f-accent) !important;
  font-size: 9px !important;
  font-weight: 700 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: var(--c-gold) !important;
  margin-bottom: 20px !important;
}

/* Footer nav links */
.footer-dynamic a,
.footer-menu-detail a,
.footer-dynamic li a {
  font-family: var(--f-body) !important;
  font-size: 13px !important;
  color: var(--c-silver) !important;
  transition: color var(--dur) var(--ease-smooth),
              padding-left var(--dur) var(--ease-smooth) !important;
  display: inline-block;
  line-height: 2 !important;
}

.footer-dynamic a:hover,
.footer-menu-detail a:hover,
.footer-dynamic li a:hover {
  color: var(--c-gold) !important;
  padding-left: 6px !important;
}

/* Footer legal links — bright white, always visible */
.footer-dynamic a[href*="privacy-policy"],
.footer-dynamic a[href*="terms-and-conditions"],
.footer-dynamic a[href*="disclaimer"],
.footer-menu-detail a[href*="privacy-policy"],
.footer-menu-detail a[href*="terms-and-conditions"],
.footer-menu-detail a[href*="disclaimer"] {
  color: #ffffff !important;
  font-weight: 600 !important;
  opacity: 1 !important;
}

.footer-dynamic a[href*="privacy-policy"]:hover,
.footer-dynamic a[href*="terms-and-conditions"]:hover,
.footer-dynamic a[href*="disclaimer"]:hover,
.footer-menu-detail a[href*="privacy-policy"]:hover,
.footer-menu-detail a[href*="terms-and-conditions"]:hover,
.footer-menu-detail a[href*="disclaimer"]:hover {
  color: var(--c-gold-lt) !important;
  padding-left: 6px !important;
}

/* Social icons */
.section-footer .social-icons {
  color: var(--c-silver) !important;
  transition: color var(--dur) var(--ease-smooth),
              transform var(--dur) var(--ease-smooth) !important;
}

.section-footer .social-icons:hover {
  color: var(--c-gold) !important;
  transform: translateY(-3px) !important;
}

/* Footer bottom bar */
.footer-copyright,
.footer-bottom {
  padding: 20px 0 !important;
  border-top: 1px solid var(--c-graphite) !important;
}

.footer-copyright p,
.footer-bottom p {
  font-size: 12px !important;
  color: rgba(255,255,255,.25) !important;
  text-align: center !important;
  margin: 0 !important;
}

/* Footer address / contact text */
.footer-dynamic address,
.footer-dynamic .footer-address {
  font-style: normal !important;
  font-size: 13px !important;
  color: var(--c-silver) !important;
  line-height: 1.9 !important;
}

/* ══════════════════════════════════════════════════════════════════
   SCROLL REVEAL — ENHANCED ANIMATIONS
   ══════════════════════════════════════════════════════════════════ */

/* Only hide when observer is active (class added by inline JS below) */
.js-scroll-ready .js-scroll:not(.scrolled) {
  opacity: 0;
}

.js-scroll-ready .fade-in:not(.scrolled)        { transform: none; }
.js-scroll-ready .fade-in-top:not(.scrolled)    { transform: translateY(-40px); }
.js-scroll-ready .fade-in-bottom:not(.scrolled) { transform: translateY(40px);  }
.js-scroll-ready .fade-in-left:not(.scrolled)   { transform: translateX(-40px); }
.js-scroll-ready .fade-in-right:not(.scrolled)  { transform: translateX(40px);  }

/* Scrolled (visible) state */
.js-scroll.scrolled {
  opacity: 1 !important;
  transform: none !important;
  transition: opacity .8s var(--ease-out),
              transform .8s var(--ease-out) !important;
}

/* Stagger children delay */
.stagger-children > *:nth-child(1) { transition-delay: 0s !important;    }
.stagger-children > *:nth-child(2) { transition-delay: .1s !important;   }
.stagger-children > *:nth-child(3) { transition-delay: .2s !important;   }
.stagger-children > *:nth-child(4) { transition-delay: .3s !important;   }
.stagger-children > *:nth-child(5) { transition-delay: .4s !important;   }
.stagger-children > *:nth-child(6) { transition-delay: .5s !important;   }

/* ══════════════════════════════════════════════════════════════════
   THEME BUTTON — GLOBAL OVERRIDES
   ══════════════════════════════════════════════════════════════════ */
.theme-btn {
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: 12px 28px !important;
  background: var(--c-gold) !important;
  border: 1px solid var(--c-gold) !important;
  color: var(--c-white) !important;
  transition: all var(--dur) var(--ease-smooth) !important;
  position: relative;
  overflow: hidden;
  display: inline-block;
}

.theme-btn::after {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255,255,255,.12);
  opacity: 0;
  transition: opacity var(--dur-fast) ease !important;
}

.theme-btn:hover::after { opacity: 1; }

.theme-btn:hover {
  background: var(--c-gold-lt) !important;
  border-color: var(--c-gold-lt) !important;
  color: var(--c-white) !important;
  box-shadow: 0 8px 30px rgba(45,90,39,.36) !important;
  transform: translateY(-2px);
}

.theme-btn.line-btn {
  background: transparent !important;
  border: 1px solid var(--c-gold) !important;
  color: var(--c-gold) !important;
}

.theme-btn.line-btn:hover {
  background: var(--c-gold) !important;
  color: var(--c-white) !important;
}

.theme-btn.gray-btn.line-btn {
  border-color: var(--c-smoke) !important;
  color: var(--c-pearl) !important;
}

.theme-btn.gray-btn.line-btn:hover {
  border-color: var(--c-gold) !important;
  color: var(--c-gold) !important;
}

/* ══════════════════════════════════════════════════════════════════
   KNOW MORE / ARROW BUTTON
   ══════════════════════════════════════════════════════════════════ */
.know-more-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--f-accent) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: var(--c-gold) !important;
  transition: gap var(--dur) var(--ease-smooth) !important;
}

.know-more-btn:hover { gap: 16px !important; }
.know-more-btn:hover { color: var(--c-gold-lt) !important; }

.know-more-btn-icon {
  width: 22px; height: 22px;
  border: 1px solid var(--c-gold-border);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all var(--dur) var(--ease-smooth) !important;
}

.know-more-btn:hover .know-more-btn-icon {
  background: var(--c-gold) !important;
  border-color: var(--c-gold) !important;
}

/* ══════════════════════════════════════════════════════════════════
   SOCIAL ICONS (HEADER & FOOTER)
   ══════════════════════════════════════════════════════════════════ */
.social-icons svg {
  transition: transform var(--dur) var(--ease-smooth) !important;
}
.social-icons:hover svg {
  transform: scale(1.15) !important;
}

/* ══════════════════════════════════════════════════════════════════
   MISC GLOBAL POLISH
   ══════════════════════════════════════════════════════════════════ */

/* light-gray-bg on dark theme = slightly elevated surface */
.light-gray-bg {
  background: var(--c-night) !important;
}

/* gray-border on dark = subtle */
.gray-border {
  border-color: rgba(255,255,255,.08) !important;
}

/* border-theme (used for about-us column separator) */
.border-theme {
  border-color: var(--c-gold-border) !important;
}

/* z-index-1 utility */
.z-index-1 { z-index: 1; position: relative; }

/* text-nowrap utility */
.text-nowrap { white-space: nowrap; }
.min-w-250   { min-width: 250px; }

/* table-scrollbar-horizontal */
.table-scrollbar-horizontal,
.table-responsive {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch;
  border-radius: 8px !important;
  border: 1px solid var(--c-graphite) !important;
}

/* table-border-bottom-0 */
.table-border-bottom-0 tr:last-child td {
  border-bottom: none !important;
}

/* ══════════════════════════════════════════════════════════════════
   MOBILE GLOBAL ADJUSTMENTS
   ══════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
  :root {
    --sec-py: 80px;
    --sec-py-sm: 60px;
  }

  .section-inner-page {
    padding-top: 110px !important;
  }

  .about-us-col.border-left.border-theme {
    border-left: none !important;
    border-top: 1px solid var(--c-gold-border) !important;
    padding-left: 0 !important;
    padding-top: 40px !important;
    margin-top: 40px !important;
  }

  .position-sticky-block,
  .branch-contact-block {
    position: relative !important;
    top: 0 !important;
  }

  .cms-wrapper {
    max-width: 100% !important;
  }
}

@media (max-width: 768px) {
  .section-inner-page h1.text-primary,
  .section-inner-page .section-title h1 {
    font-size: clamp(32px, 10vw, 52px) !important;
  }

  .news-cols {
    flex-direction: column !important;
  }

  .project-configurations {
    gap: 10px !important;
  }

  .branch-contact-block::before {
    margin: -24px -24px 20px;
  }
}

/* ══════════════════════════════════════════════════════════════════
   INLINE SCROLL-REVEAL SCRIPT TRIGGER
   (Added via a <style> trick so the JS always fires after CSS loads)
   ══════════════════════════════════════════════════════════════════ */
/* NOTE: The actual JS is injected into index.html and inner pages
   via a shared <script> tag already present in the page's custom.min.js.
   The class .js-scroll-ready is added to <body> by the observer init. */


/* ── Disable fraud alert popup on page load ── */
#pop-up-info,
#pop-up-info .theme-modal-background {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
