      *,
      *::before,
      *::after {
          box-sizing: border-box;
          margin: 0;
          padding: 0;
      }

      :root {
          --primary: #043D4E;
          --primary-dark: #022A37;
          --primary-light: #065C73;
          --secondary: #383838;
          --accent: #0EA5A4;
          --accent-light: #14C4C3;
          --accent-pale: #E0F5F5;
          --bg: #F8FAFC;
          --white: #ffffff;
          --gray-100: #F1F5F9;
          --gray-200: #E2E8F0;
          --gray-400: #94A3B8;
          --gray-600: #475569;
          --gray-800: #1E293B;
          --text: #1E293B;
          --text-muted: #64748B;
          --radius-sm: 8px;
          --radius-md: 12px;
          --radius-lg: 20px;
          --radius-xl: 28px;
          --shadow-sm: 0 1px 3px rgba(4, 61, 78, 0.08), 0 1px 2px rgba(4, 61, 78, 0.04);
          --shadow-md: 0 4px 16px rgba(4, 61, 78, 0.10), 0 2px 6px rgba(4, 61, 78, 0.06);
          --shadow-lg: 0 12px 40px rgba(4, 61, 78, 0.14), 0 4px 12px rgba(4, 61, 78, 0.08);
          --shadow-xl: 0 24px 64px rgba(4, 61, 78, 0.18);
          --transition: all 0.28s cubic-bezier(0.4, 0, 0.2, 1);
      }

      html {
          scroll-behavior: smooth;
          overflow-x: hidden;
      }

      body {
          font-family: 'Inter', sans-serif;
          color: var(--text);
          background: var(--bg);
          line-height: 1.6;
          overflow-x: hidden;
      }

      /* ── NAVBAR ── */
      .navbar {
          position: fixed;
          top: 0;
          left: 0;
          right: 0;
          z-index: 1000;
          padding: 0 2rem;
          height: 72px;
          display: flex;
          align-items: center;
          justify-content: space-between;
          background: rgba(4, 61, 78, 0.12);
          backdrop-filter: blur(20px) saturate(180%);
          -webkit-backdrop-filter: blur(20px) saturate(180%);
          border-bottom: 1px solid rgba(255, 255, 255, 0.12);
          transition: var(--transition);
      }

      .navbar.scrolled {
          background: rgba(4, 61, 78, 0.96);
          border-bottom-color: rgba(255, 255, 255, 0.08);
          box-shadow: var(--shadow-lg);
      }

      .nav-logo {
          display: flex;
          align-items: center;
          gap: 10px;
          text-decoration: none;
      }

      .nav-logo-icon {
          width: 38px;
          height: 38px;
          background: linear-gradient(135deg, var(--accent), #0CC9C8);
          border-radius: 10px;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 18px;
          color: #fff;
          flex-shrink: 0;
      }

      .nav-logo-text {
          display: flex;
          flex-direction: column;
          line-height: 1.1;
      }

      .nav-logo-name {
          font-family: 'Playfair Display', serif;
          font-weight: 700;
          font-size: 18px;
          color: #fff;
          letter-spacing: 0.01em;
      }

      .nav-logo-tagline {
          font-size: 10px;
          color: rgba(255, 255, 255, 0.6);
          letter-spacing: 0.08em;
          text-transform: uppercase;
      }

      .nav-search {
          background: var(--white);
          border-radius: 50px;
          display: flex;
          align-items: center;
          padding: 6px;
          gap: 4px;
          width: 100%;
          max-width: 830px;
          margin: 0 20px;
      }

      .nav-search-field {
          flex: 1;
          padding: 0 15px;
          display: flex;
          align-items: center;
          position: relative;
      }

      .nav-search-field select {
          width: 100%;
          border: none;
          background: transparent;
          font-size: 13px;
          color: var(--gray-800);
          font-family: 'Inter', sans-serif;
          font-weight: 500;
          outline: none;
          cursor: pointer;
          appearance: none;
          -webkit-appearance: none;
          padding-right: 15px;
      }

      .nav-search-field i.fa-chevron-down {
          position: absolute;
          right: 15px;
          top: 50%;
          transform: translateY(-50%);
          font-size: 10px;
          color: var(--gray-400);
          pointer-events: none;
      }

      .nav-search-divider {
          width: 1px;
          height: 24px;
          background: var(--gray-200);
      }

      .nav-btn-search {
          width: 36px;
          height: 36px;
          border-radius: 50%;
          background: #065C73;
          /* Deep blue to match image */
          color: #fff;
          border: none;
          display: flex;
          align-items: center;
          justify-content: center;
          cursor: pointer;
          flex-shrink: 0;
          transition: var(--transition);
      }

      .nav-btn-search:hover {
          background: #0033aa;
          transform: scale(1.05);
      }

      .nav-right {
          display: flex;
          align-items: center;
          gap: 10px;
      }

      .btn-signin {
          padding: 9px 22px;
          background: transparent;
          color: #fff;
          border: 1px solid rgba(255, 255, 255, 0.6);
          border-radius: 50px;
          font-size: 13px;
          font-weight: 500;
          cursor: pointer;
          text-decoration: none;
          transition: var(--transition);
      }

      .btn-signin:hover {
          background: rgba(255, 255, 255, 0.1);
          border-color: #fff;
          transform: translateY(-1px);
      }

      .hamburger {
          display: none;
          flex-direction: column;
          gap: 5px;
          cursor: pointer;
          padding: 8px;
          background-color: #022A37;
          border: none;
          border-radius: 4px;
          transition: var(--transition);
      }

      .hamburger span {
          display: block;
          width: 22px;
          height: 2px;
          background: #fff;
          border-radius: 2px;
          transition: var(--transition);
      }

      /* ── HERO ── */
      .hero {
          min-height: 100vh;
          position: relative;
          display: flex;
          align-items: center;
          overflow: hidden;
      }

      .hero-bg {
          position: absolute;
          inset: 0;
          background:
              linear-gradient(135deg, rgba(4, 61, 78, 0.92) 0%, rgba(4, 61, 78, 0.7) 50%, rgba(14, 165, 164, 0.3) 100%),
              url('../Images/Industry-02.jpg') center/cover no-repeat;
      }

      .hero-bg::after {
          content: '';
          position: absolute;
          inset: 0;
          background: radial-gradient(ellipse at 70% 50%, rgba(14, 165, 164, 0.15) 0%, transparent 60%);
      }

      .hero-content {
          position: relative;
          z-index: 2;
          max-width: 1280px;
          margin: 0 auto;
          padding: 120px 2rem 80px;
          width: 100%;
      }

      .hero-badge {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          background: rgba(14, 165, 164, 0.2);
          border: 1px solid rgba(14, 165, 164, 0.4);
          color: #5CE8E7;
          padding: 6px 16px;
          border-radius: 50px;
          font-size: 12px;
          font-weight: 600;
          letter-spacing: 0.08em;
          text-transform: uppercase;
          margin-bottom: 28px;
          backdrop-filter: blur(10px);
      }

      .hero-badge i {
          font-size: 14px;
      }

      .hero-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(42px, 6vw, 76px);
          font-weight: 700;
          color: #fff;
          line-height: 1.1;
          margin-bottom: 20px;
          max-width: 700px;
      }

      .hero-title span {
          color: var(--accent-light);
      }

      .hero-subtitle {
          font-size: clamp(16px, 2vw, 19px);
          color: rgba(255, 255, 255, 0.75);
          max-width: 500px;
          margin-bottom: 44px;
          font-weight: 300;
          line-height: 1.7;
      }

      .hero-search {
          background: rgba(255, 255, 255, 0.97);
          border-radius: var(--radius-xl);
          padding: 8px;
          display: grid;
          grid-template-columns: 1fr 1fr 1fr auto;
          gap: 4px;
          max-width: 820px;
          box-shadow: var(--shadow-xl);
          backdrop-filter: blur(20px);
      }

      .search-field {
          padding: 14px 20px;
          border-radius: var(--radius-lg);
          border: none;
          background: transparent;
      }

      .search-field-label {
          font-size: 10px;
          font-weight: 700;
          color: var(--text-muted);
          text-transform: uppercase;
          letter-spacing: 0.08em;
          margin-bottom: 3px;
      }

      .search-field input,
      .search-field select {
          width: 100%;
          border: none;
          background: transparent;
          font-size: 14px;
          color: var(--text);
          font-family: 'Inter', sans-serif;
          font-weight: 500;
          outline: none;
          cursor: pointer;
      }

      .search-field select option {
          color: var(--text);
      }

      .search-divider {
          width: 1px;
          background: var(--gray-200);
          margin: 10px 0;
      }

      .btn-search {
          background: linear-gradient(135deg, var(--accent), #0CC9C8);
          color: #fff;
          border: none;
          border-radius: var(--radius-lg);
          padding: 14px 32px;
          font-size: 15px;
          font-weight: 600;
          cursor: pointer;
          display: flex;
          align-items: center;
          gap: 8px;
          transition: var(--transition);
          white-space: nowrap;
      }

      .btn-search:hover {
          transform: translateY(-1px);
          box-shadow: 0 8px 24px rgba(14, 165, 164, 0.5);
      }

      .hero-stats {
          display: flex;
          gap: 40px;
          margin-top: 48px;
      }

      .hero-stat-item {
          text-align: left;
      }

      .hero-stat-num {
          font-family: 'Playfair Display', serif;
          font-size: 28px;
          font-weight: 700;
          color: #fff;
          line-height: 1;
      }

      .hero-stat-label {
          font-size: 12px;
          color: rgba(255, 255, 255, 0.55);
          margin-top: 4px;
      }

      /* ── SCROLL INDICATOR ── */
      .scroll-indicator {
          position: absolute;
          bottom: 36px;
          left: 50%;
          transform: translateX(-50%);
          display: flex;
          flex-direction: column;
          align-items: center;
          gap: 6px;
          color: rgba(255, 255, 255, 0.5);
          font-size: 11px;
          letter-spacing: 0.1em;
          text-transform: uppercase;
          animation: bounce 2s infinite;
      }

      .scroll-indicator i {
          font-size: 18px;
      }

      @keyframes bounce {

          0%,
          100% {
              transform: translateX(-50%) translateY(0);
          }

          50% {
              transform: translateX(-50%) translateY(6px);
          }
      }

      /* ── GENERIC SECTION ── */
      .section {
          padding: 50px 2rem;
      }

      .section-inner {
          max-width: 1280px;
          margin: 0 auto;
      }

      .section-label {
          display: inline-block;
          font-size: 12px;
          font-weight: 700;
          color: var(--accent);
          text-transform: uppercase;
          letter-spacing: 0.12em;
          margin-bottom: 12px;
      }

      .section-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(28px, 4vw, 44px);
          font-weight: 700;
          color: var(--primary);
          margin-bottom: 14px;
          line-height: 1.2;
      }

      .section-sub {
          font-size: 16px;
          color: var(--text-muted);
          max-width: 540px;
          line-height: 1.7;
          margin-bottom: 56px;
      }

      .section-header-row {
          display: flex;
          align-items: flex-end;
          justify-content: space-between;
          margin-bottom: 48px;
          flex-wrap: wrap;
          gap: 16px;
      }

      /* ── FEATURED PROPERTIES ── */
      .properties-grid {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
          gap: 24px;
      }

      .property-card {
          background: var(--white);
          border-radius: var(--radius-lg);
          overflow: hidden;
          box-shadow: var(--shadow-sm);
          transition: var(--transition);
          border: 1px solid var(--gray-200);
          cursor: pointer;
      }

      .property-card:hover {
          transform: translateY(-6px);
          box-shadow: var(--shadow-lg);
          border-color: rgba(14, 165, 164, 0.2);
      }

      .property-img {
          position: relative;
          height: 220px;
          overflow: hidden;
      }

      .property-img img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 0.5s ease;
      }

      .property-card:hover .property-img img {
          transform: scale(1.06);
      }

      .property-badge {
          position: absolute;
          top: 14px;
          left: 14px;
          background: var(--accent);
          color: #fff;
          padding: 4px 12px;
          border-radius: 50px;
          font-size: 11px;
          font-weight: 700;
          text-transform: uppercase;
          letter-spacing: 0.06em;
      }

      .property-badge.featured {
          background: #F59E0B;
      }

      .property-wishlist {
          position: absolute;
          top: 14px;
          right: 14px;
          width: 34px;
          height: 34px;
          background: rgba(255, 255, 255, 0.95);
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 15px;
          color: var(--gray-400);
          transition: var(--transition);
          cursor: pointer;
          border: none;
      }

      .property-wishlist:hover {
          color: #EF4444;
          transform: scale(1.1);
      }

      .property-body {
          padding: 20px 22px 22px;
      }

      .property-type {
          font-size: 11px;
          font-weight: 700;
          color: var(--accent);
          text-transform: uppercase;
          letter-spacing: 0.1em;
          margin-bottom: 6px;
      }

      .property-name {
          font-family: 'Playfair Display', serif;
          font-size: 18px;
          font-weight: 600;
          color: var(--primary);
          margin-bottom: 8px;
          line-height: 1.3;
      }

      .property-location {
          display: flex;
          align-items: center;
          gap: 5px;
          color: var(--text-muted);
          font-size: 13px;
          margin-bottom: 16px;
      }

      .property-location i {
          color: var(--accent);
          font-size: 13px;
      }

      .property-meta {
          display: flex;
          gap: 18px;
          padding: 14px 0;
          border-top: 1px solid var(--gray-100);
          border-bottom: 1px solid var(--gray-100);
          margin-bottom: 18px;
      }

      .property-meta-item {
          display: flex;
          align-items: center;
          gap: 6px;
          font-size: 13px;
          color: var(--gray-600);
      }

      .property-meta-item i {
          color: var(--accent);
          font-size: 14px;
      }

      .property-footer {
          display: flex;
          align-items: center;
          justify-content: space-between;
      }

      .property-price {
          font-family: 'Playfair Display', serif;
          font-size: 22px;
          font-weight: 700;
          color: var(--primary);
      }

      .property-price span {
          font-size: 13px;
          font-weight: 400;
          color: var(--text-muted);
          font-family: 'Inter', sans-serif;
      }

      .btn-view {
          padding: 9px 20px;
          background: transparent;
          color: var(--accent);
          border: 1.5px solid var(--accent);
          border-radius: 50px;
          font-size: 13px;
          font-weight: 600;
          cursor: pointer;
          transition: var(--transition);
          text-decoration: none;
          display: inline-flex;
          align-items: center;
          gap: 6px;
      }

      .btn-view:hover {
          background: var(--accent);
          color: #fff;
          transform: translateX(2px);
      }

      /* ── WHY CHOOSE US ── */
      .why-section {
          background: var(--primary);
      }

      .why-grid {
          display: grid;
          grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
          gap: 24px;
      }

      .why-card {
          background: rgba(255, 255, 255, 0.05);
          border: 1px solid rgba(255, 255, 255, 0.1);
          border-radius: var(--radius-lg);
          padding: 36px 28px;
          transition: var(--transition);
          position: relative;
          overflow: hidden;
      }

      .why-card::before {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          height: 3px;
          background: linear-gradient(90deg, var(--accent), #0CC9C8);
          transform: scaleX(0);
          transform-origin: left;
          transition: transform 0.4s ease;
      }

      .why-card:hover {
          background: rgba(255, 255, 255, 0.09);
          transform: translateY(-4px);
      }

      .why-card:hover::before {
          transform: scaleX(1);
      }

      .why-icon {
          width: 56px;
          height: 56px;
          background: rgba(14, 165, 164, 0.15);
          border-radius: var(--radius-md);
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 24px;
          color: var(--accent-light);
          margin-bottom: 20px;
          transition: var(--transition);
      }

      .why-card:hover .why-icon {
          background: var(--accent);
          color: #fff;
      }

      .why-title {
          font-family: 'Playfair Display', serif;
          font-size: 18px;
          font-weight: 600;
          color: #fff;
          margin-bottom: 10px;
      }

      .why-desc {
          font-size: 14px;
          color: rgba(255, 255, 255, 0.6);
          line-height: 1.7;
      }

      /* ── CATEGORIES ── */
      .categories-grid {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
          gap: 20px;
      }

      .category-card {
          background: var(--white);
          border: 1.5px solid var(--gray-200);
          border-radius: var(--radius-lg);
          padding: 32px 24px;
          text-align: center;
          cursor: pointer;
          transition: var(--transition);
          position: relative;
          overflow: hidden;
      }

      .category-card::after {
          content: '';
          position: absolute;
          inset: 0;
          background: linear-gradient(135deg, rgba(14, 165, 164, 0.06), transparent);
          opacity: 0;
          transition: opacity 0.3s;
      }

      .category-card:hover {
          border-color: var(--accent);
          transform: translateY(-4px);
          box-shadow: var(--shadow-md);
      }

      .category-card:hover::after {
          opacity: 1;
      }

      .cat-icon {
          width: 64px;
          height: 64px;
          background: var(--accent-pale);
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          margin: 0 auto 16px;
          font-size: 26px;
          color: var(--accent);
          transition: var(--transition);
      }

      .category-card:hover .cat-icon {
          background: var(--accent);
          color: #fff;
          transform: scale(1.1);
      }

      .cat-name {
          font-weight: 600;
          font-size: 15px;
          color: var(--primary);
          margin-bottom: 6px;
      }

      .cat-count {
          font-size: 12px;
          color: var(--text-muted);
      }

      /* ── LOCATIONS ── */
      .locations-section {
          background: var(--gray-100);
      }

      .locations-grid {
          display: grid;
          grid-template-columns: repeat(3, 1fr);
          grid-template-rows: auto auto;
          gap: 20px;
      }

      .location-card {
          position: relative;
          border-radius: var(--radius-lg);
          overflow: hidden;
          cursor: pointer;
          height: 240px;
      }

      .location-card:first-child {
          grid-column: span 2;
          height: 320px;
      }

      .location-card img {
          width: 100%;
          height: 100%;
          object-fit: cover;
          transition: transform 0.5s ease;
      }

      .location-card:hover img {
          transform: scale(1.08);
      }

      .location-overlay {
          position: absolute;
          inset: 0;
          background: linear-gradient(to top, rgba(4, 61, 78, 0.85) 0%, rgba(4, 61, 78, 0.1) 60%);
      }

      .location-info {
          position: absolute;
          bottom: 22px;
          left: 22px;
          right: 22px;
      }

      .location-name {
          font-family: 'Playfair Display', serif;
          font-size: 22px;
          font-weight: 700;
          color: #fff;
          margin-bottom: 4px;
      }

      .location-count {
          font-size: 13px;
          color: rgba(255, 255, 255, 0.75);
          display: flex;
          align-items: center;
          gap: 5px;
      }

      .location-count i {
          font-size: 12px;
          color: var(--accent-light);
      }

      .location-tag {
          position: absolute;
          top: 16px;
          right: 16px;
          background: rgba(14, 165, 164, 0.9);
          color: #fff;
          padding: 4px 12px;
          border-radius: 50px;
          font-size: 11px;
          font-weight: 700;
          backdrop-filter: blur(10px);
      }

      /* ── TESTIMONIALS ── */
      .testimonials-grid {
          display: grid;
          grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
          gap: 24px;
      }

      .testimonial-card {
          background: var(--white);
          border-radius: var(--radius-lg);
          padding: 32px 28px;
          border: 1px solid var(--gray-200);
          transition: var(--transition);
          position: relative;
      }

      .testimonial-card::before {
          content: '\201C';
          position: absolute;
          top: 20px;
          right: 24px;
          font-size: 80px;
          font-family: 'Playfair Display', serif;
          color: var(--accent-pale);
          line-height: 1;
      }

      .testimonial-card:hover {
          box-shadow: var(--shadow-md);
          transform: translateY(-3px);
      }

      .stars {
          display: flex;
          gap: 3px;
          margin-bottom: 16px;
          color: #F59E0B;
          font-size: 14px;
      }

      .testimonial-text {
          font-size: 15px;
          color: var(--gray-600);
          line-height: 1.75;
          margin-bottom: 24px;
          font-style: italic;
      }

      .testimonial-author {
          display: flex;
          align-items: center;
          gap: 14px;
      }

      .author-avatar {
          width: 46px;
          height: 46px;
          border-radius: 50%;
          object-fit: cover;
          border: 2px solid var(--accent-pale);
      }

      .author-name {
          font-weight: 600;
          font-size: 15px;
          color: var(--primary);
      }

      .author-role {
          font-size: 12px;
          color: var(--text-muted);
          margin-top: 2px;
      }

      /* ── STATS ── */
      .stats-section {
          background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary) 60%, var(--primary-light) 100%);
      }

      .stats-grid {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          gap: 32px;
          text-align: center;
      }

      .stat-item {
          color: #ffffff;
      }

      .stat-icon {
          font-size: 28px;
          color: var(--accent-light);
          margin-bottom: 14px;
          opacity: 0.9;
      }

      .stat-num {
          font-family: 'Playfair Display', serif;
          font-size: clamp(36px, 5vw, 52px);
          font-weight: 700;
          color: #fff;
          line-height: 1;
          margin-bottom: 8px;
      }

      .stat-label {
          font-size: 14px;
          color: rgba(255, 255, 255, 0.6);
          font-weight: 400;
      }

      /* ── CTA ── */
      .cta-section {
          background: linear-gradient(135deg, var(--accent) 0%, #0CC9C8 50%, #08B0AF 100%);
          padding: 100px 2rem;
          text-align: center;
          position: relative;
          overflow: hidden;
      }

      .cta-section::before {
          content: '';
          position: absolute;
          top: -60px;
          right: -60px;
          width: 300px;
          height: 300px;
          border-radius: 50%;
          background: rgba(255, 255, 255, 0.07);
      }

      .cta-section::after {
          content: '';
          position: absolute;
          bottom: -80px;
          left: -40px;
          width: 260px;
          height: 260px;
          border-radius: 50%;
          background: rgba(255, 255, 255, 0.05);
      }

      .cta-inner {
          position: relative;
          z-index: 1;
          max-width: 680px;
          margin: 0 auto;
      }

      .cta-badge {
          display: inline-block;
          background: rgba(255, 255, 255, 0.2);
          color: #fff;
          padding: 5px 16px;
          border-radius: 50px;
          font-size: 12px;
          font-weight: 700;
          letter-spacing: 0.1em;
          text-transform: uppercase;
          margin-bottom: 20px;
      }

      .cta-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(28px, 4vw, 44px);
          font-weight: 700;
          color: #fff;
          margin-bottom: 16px;
          line-height: 1.2;
      }

      .cta-sub {
          font-size: 16px;
          color: rgba(255, 255, 255, 0.8);
          margin-bottom: 40px;
          line-height: 1.7;
      }

      .cta-buttons {
          display: flex;
          gap: 16px;
          justify-content: center;
          flex-wrap: wrap;
      }

      .btn-primary {
          padding: 14px 32px;
          background: var(--white);
          color: var(--accent);
          border: none;
          border-radius: 50px;
          font-size: 15px;
          font-weight: 700;
          cursor: pointer;
          transition: var(--transition);
          text-decoration: none;
          display: inline-flex;
          align-items: center;
          gap: 8px;
      }

      .btn-primary:hover {
          transform: translateY(-2px);
          box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15);
      }

      .btn-outline-white {
          padding: 14px 32px;
          background: transparent;
          color: #fff;
          border: 2px solid rgba(255, 255, 255, 0.6);
          border-radius: 50px;
          font-size: 15px;
          font-weight: 600;
          cursor: pointer;
          transition: var(--transition);
          text-decoration: none;
          display: inline-flex;
          align-items: center;
          gap: 8px;
      }

      .btn-outline-white:hover {
          background: rgba(255, 255, 255, 0.15);
          border-color: #fff;
          transform: translateY(-2px);
      }

      /* ── FOOTER ── */
      footer {
          background: var(--gray-800);
          padding: 72px 2rem 0;
          color: rgba(255, 255, 255, 0.6);
      }

      .footer-grid {
          max-width: 1280px;
          margin: 0 auto;
          display: grid;
          grid-template-columns: 1.8fr 1fr 1fr 1.4fr;
          gap: 48px;
          padding-bottom: 56px;
          border-bottom: 1px solid rgba(255, 255, 255, 0.08);
      }

      .footer-brand-logo {
          display: flex;
          align-items: center;
          gap: 10px;
          margin-bottom: 18px;
          text-decoration: none;
      }

      .footer-brand-icon {
          width: 36px;
          height: 36px;
          background: linear-gradient(135deg, var(--accent), #0CC9C8);
          border-radius: 9px;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 16px;
          color: #fff;
      }

      .footer-brand-name {
          font-family: 'Playfair Display', serif;
          font-size: 17px;
          font-weight: 700;
          color: #fff;
      }

      .footer-desc {
          font-size: 14px;
          line-height: 1.75;
          margin-bottom: 24px;
          max-width: 260px;
          text-align: justify;
      }

      .footer-social {
          display: flex;
          gap: 10px;
      }

      .social-btn {
          width: 36px;
          height: 36px;
          background: rgba(255, 255, 255, 0.07);
          border-radius: var(--radius-sm);
          display: flex;
          align-items: center;
          justify-content: center;
          color: rgba(255, 255, 255, 0.6);
          font-size: 16px;
          transition: var(--transition);
          text-decoration: none;
      }

      .social-btn:hover {
          background: var(--accent);
          color: #fff;
          transform: translateY(-2px);
      }

      .footer-col-title {
          font-size: 14px;
          font-weight: 700;
          color: #fff;
          letter-spacing: 0.05em;
          margin-bottom: 20px;
          text-transform: uppercase;
      }

      .footer-links {
          list-style: none;
          display: flex;
          flex-direction: column;
          gap: 10px;
      }

      .footer-links li {
          text-align: center !important;
      }

      .footer-links a {
          color: rgba(255, 255, 255, 0.55);
          text-decoration: none;
          font-size: 14px;
          transition: var(--transition);
          display: flex;
          align-items: center !important;
          gap: 6px;
      }

      .footer-links a:hover {
          color: var(--accent-light);
          gap: 10px;
      }

      .footer-links a::before {
          font-size: 12px;
          opacity: 0.6;
      }

      .contact-info {
          display: flex;
          flex-direction: column;
          gap: 14px;
      }

      .contact-item {
          display: flex;
          align-items: flex-start;
          gap: 12px;
      }

      .contact-icon {
          width: 32px;
          height: 32px;
          background: rgba(14, 165, 164, 0.15);
          border-radius: 8px;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 14px;
          color: var(--accent-light);
          flex-shrink: 0;
          margin-top: 1px;
      }

      .contact-text {
          font-size: 13px;
          line-height: 1.6;
      }

      .footer-bottom {
          max-width: 1280px;
          margin: 0 auto;
          padding: 24px 0;
          display: flex;
          align-items: center;
          justify-content: space-between;
          font-size: 13px;
          flex-wrap: wrap;
          gap: 12px;
      }

      .footer-bottom-links {
          display: flex;
          gap: 24px;
      }

      .footer-bottom-links a {
          color: rgba(255, 255, 255, 0.45);
          text-decoration: none;
          transition: var(--transition);
      }

      .footer-bottom-links a:hover {
          color: var(--accent-light);
      }

      /* ── VIEW ALL BTN ── */
      .btn-view-all {
          display: inline-flex;
          align-items: center;
          gap: 8px;
          padding: 11px 26px;
          background: transparent;
          color: var(--accent);
          border: 1.5px solid var(--accent);
          border-radius: 50px;
          font-size: 14px;
          font-weight: 600;
          cursor: pointer;
          transition: var(--transition);
          text-decoration: none;
          white-space: nowrap;
      }

      .btn-view-all:hover {
          background: var(--accent);
          color: #fff;
          transform: translateX(3px);
      }

      /* ── ANIMATIONS ── */
      @keyframes fadeUp {
          from {
              opacity: 0;
              transform: translateY(24px);
          }

          to {
              opacity: 1;
              transform: translateY(0);
          }
      }

      .fade-up {
          animation: fadeUp 0.6s ease forwards;
      }

      .delay-1 {
          animation-delay: 0.1s;
          opacity: 0;
      }

      .delay-2 {
          animation-delay: 0.2s;
          opacity: 0;
      }

      .delay-3 {
          animation-delay: 0.3s;
          opacity: 0;
      }

      .delay-4 {
          animation-delay: 0.4s;
          opacity: 0;
      }

      /* ── RESPONSIVE ── */
      @media (max-width: 1024px) {
          .stats-grid {
              grid-template-columns: repeat(2, 1fr);
              gap: 24px;
          }

          .footer-grid {
              grid-template-columns: 1fr 1fr;
          }

          .locations-grid {
              grid-template-columns: 1fr 1fr;
          }

          .location-card:first-child {
              grid-column: span 2;
          }

          .hero-search {
              grid-template-columns: 1fr 1fr;
          }

          .search-divider {
              display: none;
          }

          .btn-search {
              grid-column: span 2;
              justify-content: center;
          }
      }

      @media (max-width: 768px) {

        .auth-dropdown {
          display: none;
        }

          .navbar {
              padding: 0 1.25rem;
          }

          .hero-content {
              padding: 100px 1.25rem 60px;
          }

          .nav-search {
              display: none;
              position: absolute;
              top: 72px;
              left: 0;
              right: 0;
              background: var(--primary);
              padding: 12px 20px;
              flex-direction: column;
              gap: 12px;
              border-radius: 0 0 16px 16px;
              margin: 0;
              max-width: 100%;
          }

          .nav-search.open {
              display: flex;
          }

          .nav-search-field {
              width: 100%;
              padding: 10px 15px;
              background: var(--white);
              border-radius: 8px;
          }

          .nav-search-divider {
              display: none;
          }

          .nav-btn-search {
              width: 100%;
              border-radius: 8px;
          }

          .hamburger {
              display: flex;
          }

          .btn-signin {
              padding: 6px 12px;
              font-size: 11px;
          }

          .hero-search {
              grid-template-columns: 1fr;
              gap: 8px;
              border-radius: var(--radius-lg);
              padding: 12px;
          }

          .btn-search {
              grid-column: auto;
          }

          .search-field {
              border-radius: var(--radius-md);
              background: var(--gray-100);
          }

          .hero-stats {
              gap: 24px;
              flex-wrap: wrap;
          }

          .properties-grid {
              grid-template-columns: 1fr;
          }

          .categories-grid {
              grid-template-columns: repeat(2, 1fr);
          }

          .locations-grid {
              grid-template-columns: 1fr;
          }

          .location-card:first-child {
              grid-column: span 1;
          }

          .testimonials-grid {
              grid-template-columns: 1fr;
          }

          .stats-grid {
              grid-template-columns: repeat(2, 1fr);
          }

          .footer-grid {
              grid-template-columns: 1fr;
              gap: 32px;
          }

          .section {
              padding: 64px 1.25rem;
          }
      }

      @media (max-width: 480px) {
          .hero-title {
              font-size: 28px;
          }

          .hero-badge {
              font-size: 10px;
              padding: 6px 12px;
              white-space: normal;
              text-align: center;
          }

          .categories-grid {
              grid-template-columns: repeat(2, 1fr);
          }

          .stats-grid {
              grid-template-columns: 1fr 1fr;
          }
      }

      /* ── FAQ SECTION ── */
      .faq-container {
          max-width: 800px;
          margin: 0 auto;
          display: flex;
          flex-direction: column;
          gap: 16px;
      }

      .faq-item {
          background: var(--white);
          border: 1px solid var(--gray-200);
          border-radius: var(--radius-md);
          overflow: hidden;
          transition: var(--transition);
      }

      .faq-item:hover {
          border-color: rgba(14, 165, 164, 0.4);
          box-shadow: var(--shadow-sm);
      }

      .faq-question {
          width: 100%;
          display: flex;
          align-items: center;
          justify-content: space-between;
          padding: 20px 24px;
          background: transparent;
          border: none;
          font-family: 'Inter', sans-serif;
          font-size: 16px;
          font-weight: 600;
          color: var(--primary);
          text-align: left;
          cursor: pointer;
          transition: var(--transition);
      }

      .faq-question span {
          padding-right: 20px;
      }

      .faq-question i {
          font-size: 14px;
          color: var(--accent);
          transition: transform 0.3s ease;
      }

      .faq-question[aria-expanded="true"] i {
          transform: rotate(180deg);
      }

      .faq-answer {
          max-height: 0;
          overflow: hidden;
          transition: max-height 0.3s ease-out, padding 0.3s ease-out;
          background: var(--gray-100);
      }

      .faq-answer p {
          padding: 0 24px;
          color: var(--text-muted);
          font-size: 15px;
          line-height: 1.7;
      }

      .faq-item.active .faq-answer {
          max-height: 500px;
          padding: 0 0 20px 0;
      }

      /* ── NEARBY CTA SECTION ── */
      .nearby-cta-section {
          background: linear-gradient(135deg, #043d4e 0%, #065f74 60%, #0a7c8f 100%);
          padding: 40px 2rem;
          position: relative;
          overflow: hidden;
      }

      .nearby-cta-section::before {
          content: '';
          position: absolute;
          width: 400px;
          height: 400px;
          border-radius: 50%;
          background: radial-gradient(circle, rgba(14, 165, 164, 0.15), transparent 70%);
          top: -100px;
          right: -100px;
          pointer-events: none;
      }

      .nearby-cta-inner {
          max-width: 1280px;
          margin: 0 auto;
          display: flex;
          align-items: center;
          justify-content: space-between;
          gap: 24px;
          flex-wrap: wrap;
      }

      .nearby-cta-left {
          display: flex;
          align-items: center;
          gap: 20px;
      }

      .nearby-cta-icon {
          width: 60px;
          height: 60px;
          background: rgba(14, 165, 164, 0.2);
          border: 1px solid rgba(14, 165, 164, 0.4);
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 24px;
          color: #5CE8E7;
          animation: pulse-icon 2s ease-in-out infinite;
          flex-shrink: 0;
      }

      @keyframes pulse-icon {

          0%,
          100% {
              box-shadow: 0 0 0 0 rgba(14, 165, 164, 0.4);
          }

          50% {
              box-shadow: 0 0 0 12px rgba(14, 165, 164, 0);
          }
      }

      .nearby-cta-title {
          font-family: 'Playfair Display', serif;
          font-size: clamp(20px, 3vw, 26px);
          font-weight: 700;
          color: #fff;
          margin-bottom: 6px;
      }

      .nearby-cta-sub {
          font-size: 14px;
          color: rgba(255, 255, 255, 0.65);
          max-width: 420px;
          line-height: 1.6;
      }

      .nearby-cta-right {
          display: flex;
          align-items: center;
          gap: 14px;
          flex-wrap: wrap;
      }

      .radius-selector {
          display: flex;
          flex-direction: column;
          gap: 4px;
      }

      .radius-selector label {
          font-size: 11px;
          font-weight: 600;
          color: rgba(255, 255, 255, 0.5);
          text-transform: uppercase;
          letter-spacing: 0.08em;
      }

      .radius-selector select {
          background: rgba(255, 255, 255, 0.1);
          border: 1px solid rgba(255, 255, 255, 0.2);
          color: #fff;
          padding: 8px 14px;
          border-radius: 8px;
          font-size: 13px;
          cursor: pointer;
          outline: none;
          font-family: 'Inter', sans-serif;
      }

      .radius-selector select option {
          color: #1a1a2e;
      }

      .btn-nearby {
          display: inline-flex;
          align-items: center;
          gap: 10px;
          padding: 13px 28px;
          background: linear-gradient(135deg, #0ea5a4, #0CC9C8);
          color: #fff;
          border: none;
          border-radius: 50px;
          font-size: 15px;
          font-weight: 700;
          cursor: pointer;
          transition: all 0.3s ease;
          box-shadow: 0 4px 20px rgba(14, 165, 164, 0.4);
          white-space: nowrap;
      }

      .btn-nearby:hover {
          transform: translateY(-2px);
          box-shadow: 0 8px 28px rgba(14, 165, 164, 0.5);
      }

      .btn-nearby:active {
          transform: translateY(0);
      }

      .btn-nearby.loading {
          opacity: 0.7;
          cursor: wait;
      }

      /* ── ADVERTISEMENT CARD ── */
      .ad-card {
          background: linear-gradient(135deg, #043d4e, #065f74);
          border-radius: var(--radius-lg);
          overflow: hidden;
          border: 1px solid rgba(14, 165, 164, 0.25);
          transition: var(--transition);
          position: relative;
      }

      .ad-card::before {
          content: 'Advertisement';
          position: absolute;
          top: 12px;
          left: 12px;
          background: rgba(14, 165, 164, 0.85);
          color: #fff;
          font-size: 10px;
          font-weight: 700;
          letter-spacing: 0.1em;
          text-transform: uppercase;
          padding: 3px 10px;
          border-radius: 50px;
          z-index: 2;
          backdrop-filter: blur(4px);
      }

      .ad-card:hover {
          transform: translateY(-5px);
          box-shadow: 0 16px 40px rgba(14, 165, 164, 0.2);
          border-color: rgba(14, 165, 164, 0.5);
      }

      .ad-banner {
          width: 100%;
          height: 200px;
          object-fit: cover;
          display: block;
      }

      .ad-banner-placeholder {
          height: 200px;
          display: flex;
          align-items: center;
          justify-content: center;
          background: linear-gradient(135deg, rgba(14, 165, 164, 0.1), rgba(4, 61, 78, 0.5));
          font-size: 48px;
          color: rgba(14, 165, 164, 0.4);
      }

      .ad-body {
          padding: 18px 20px 20px;
      }

      .ad-type {
          font-size: 10px;
          font-weight: 700;
          color: #5CE8E7;
          text-transform: uppercase;
          letter-spacing: 0.1em;
          margin-bottom: 6px;
      }

      .ad-title {
          font-family: 'Playfair Display', serif;
          font-size: 17px;
          font-weight: 600;
          color: #fff;
          margin-bottom: 8px;
          line-height: 1.3;
      }

      .ad-desc {
          font-size: 13px;
          color: rgba(255, 255, 255, 0.6);
          line-height: 1.6;
          margin-bottom: 12px;
          display: -webkit-box;
          -webkit-line-clamp: 2;
          line-clamp: 2;
          -webkit-box-orient: vertical;
          overflow: hidden;
      }

      .ad-location {
          display: flex;
          align-items: center;
          gap: 5px;
          font-size: 12px;
          color: rgba(255, 255, 255, 0.5);
          margin-bottom: 14px;
      }

      .ad-location i {
          color: #5CE8E7;
          font-size: 12px;
      }

      .ad-footer {
          display: flex;
          align-items: center;
          justify-content: space-between;
      }

      .btn-ad-cta {
          display: inline-flex;
          align-items: center;
          gap: 6px;
          padding: 8px 18px;
          background: rgba(14, 165, 164, 0.2);
          border: 1px solid rgba(14, 165, 164, 0.4);
          color: #5CE8E7;
          border-radius: 50px;
          font-size: 13px;
          font-weight: 600;
          cursor: pointer;
          text-decoration: none;
          transition: all 0.25s;
      }

      .btn-ad-cta:hover {
          background: var(--accent);
          border-color: var(--accent);
          color: #fff;
      }

      /* ── DISTANCE BADGE ── */
      .distance-badge {
          display: inline-flex;
          align-items: center;
          gap: 5px;
          background: rgba(14, 165, 164, 0.12);
          border: 1px solid rgba(14, 165, 164, 0.25);
          color: var(--accent);
          padding: 3px 10px;
          border-radius: 50px;
          font-size: 11px;
          font-weight: 700;
          white-space: nowrap;
      }

      .distance-badge i {
          font-size: 10px;
      }

      /* ── GRID LOADING ── */
      .grid-loading {
          grid-column: 1 / -1;
          display: flex;
          align-items: center;
          justify-content: center;
          min-height: 200px;
      }

      .spinner-wrap {
          text-align: center;
          color: var(--text-muted);
      }

      .spinner-wrap i {
          font-size: 36px;
          margin-bottom: 12px;
          display: block;
          color: var(--accent);
      }

      .spinner-wrap p {
          font-size: 15px;
      }

      /* ── EMPTY STATE ── */
      .grid-empty {
          grid-column: 1 / -1;
          text-align: center;
          padding: 60px 20px;
          color: var(--text-muted);
      }

      .grid-empty i {
          font-size: 48px;
          margin-bottom: 16px;
          display: block;
          color: var(--gray-300);
      }

      .grid-empty h3 {
          font-size: 20px;
          color: var(--primary);
          margin-bottom: 8px;
      }

      .grid-empty p {
          font-size: 14px;
      }

      /* ── PAGINATION ── */
      .page-btn {
          padding: 8px 14px;
          border-radius: 8px;
          border: 1px solid var(--gray-200);
          background: var(--white);
          color: var(--primary);
          cursor: pointer;
          font-size: 13px;
          font-weight: 500;
          transition: all 0.2s;
      }

      .page-btn:hover,
      .page-btn.active {
          background: var(--accent);
          border-color: var(--accent);
          color: #fff;
      }

      .page-btn:disabled {
          opacity: 0.4;
          cursor: not-allowed;
      }

      /* ── NEARBY RESULT HEADER ── */
      #search-info-bar {
          display: flex !important;
      }

      #search-info-bar[style*="display:none"] {
          display: none !important;
      }

      /* ── BACK TO TOP BUTTON ── */
      .back-to-top {
          position: fixed;
          bottom: 30px;
          right: 30px;
          background: var(--accent);
          color: white;
          width: 45px;
          height: 45px;
          border-radius: 50%;
          display: flex;
          align-items: center;
          justify-content: center;
          font-size: 18px;
          border: none;
          cursor: pointer;
          box-shadow: 0 4px 12px rgba(0,0,0,0.15);
          z-index: 999;
          opacity: 0;
          visibility: hidden;
          transform: translateY(20px);
          transition: all 0.3s ease;
      }

      .back-to-top.show {
          opacity: 1;
          visibility: visible;
          transform: translateY(0);
      }

      .back-to-top:hover {
          background: var(--primary);
          transform: translateY(-3px);
      }

      /* ── POPULAR SEARCHES ── */
      .popular-searches-section {
          padding: 60px 2rem;
          background: var(--white);
          border-top: 1px solid var(--gray-200);
      }

      .popular-searches-inner {
          max-width: 1280px;
          margin: 0 auto;
      }

      .popular-tabs {
          display: flex;
          gap: 30px;
          border-bottom: 1px solid var(--gray-200);
          margin-bottom: 30px;
      }

      .popular-tab {
          background: none;
          border: none;
          font-size: 16px;
          font-weight: 600;
          color: var(--text-muted);
          padding: 10px 0;
          cursor: pointer;
          position: relative;
          font-family: inherit;
      }

      .popular-tab.active {
          color: var(--text);
      }

      .popular-tab.active::after {
          content: '';
          position: absolute;
          bottom: -1px;
          left: 0;
          width: 100%;
          height: 3px;
          background: #E53935;
      }

      .popular-grid-container {
          position: relative;
          display: flex;
          align-items: center;
      }

      .popular-grid {
          display: grid;
          grid-template-columns: repeat(4, 1fr);
          gap: 30px;
          width: 100%;
          overflow-x: auto;
          scrollbar-width: none;
      }

      .popular-grid::-webkit-scrollbar {
          display: none;
      }

      @media (max-width: 992px) {
          .popular-grid {
              grid-template-columns: repeat(2, 1fr);
          }
      }

      @media (max-width: 576px) {
          .popular-grid {
              grid-template-columns: 1fr;
          }
      }

      .popular-column {
          min-width: 220px;
      }

      .popular-col-title {
          font-size: 14px;
          font-weight: 700;
          color: var(--text);
          margin-bottom: 20px;
      }

      .popular-list {
          list-style: none;
          padding: 0;
          margin: 0;
      }

      .popular-list li {
          margin-bottom: 12px;
      }

      .popular-list a {
          text-decoration: none;
          color: var(--text-muted);
          font-size: 13px;
          transition: color 0.2s;
      }

      .popular-list a:hover {
          color: var(--accent);
      }

      .popular-carousel-btn {
          position: absolute;
          right: -20px;
          top: 50%;
          transform: translateY(-50%);
          width: 40px;
          height: 40px;
          border-radius: 50%;
          background: var(--white);
          border: 1px solid var(--gray-200);
          box-shadow: var(--shadow-sm);
          display: flex;
          align-items: center;
          justify-content: center;
          cursor: pointer;
          color: var(--text);
          z-index: 2;
          transition: all 0.2s;
      }

      .popular-carousel-btn:hover {
          background: var(--gray-100);
      }

      .popular-bottom {
          margin-top: 50px;
      }

      .popular-bottom-title {
          font-size: 24px;
          font-weight: 400;
          color: var(--text);
      }
