/* ================= ROOT ================= */
:root {
  --gold: #c9a24d;
  --gold-dark: #b08c2f;
  --red: #8b0000;
  --green: #1f8b4c;
  --dark: #121212;
  --muted: #666;
}

/* ================= RESET ================= */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  width: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Segoe UI", Arial, sans-serif;
  color: #222;
  background: #fff;
  line-height: 1.6;
}

a { text-decoration: none; color: inherit; }
img { display: block; max-width: 100%; height: auto; }

/* ================= HEADER ================= */
.site-header {
  background: #fff;
  border-bottom: 1px solid #eee;
}

.header-inner {
  max-width: 1200px;
  margin: auto;
  padding: 28px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 32px;
}

.site-logo {
  height: 96px;        /* final authoritative size */
  width: auto;
  max-width: none;     /* REMOVE horizontal cap */
  display: block;
  flex-shrink: 0;      /* prevent nav squeezing */
}

.main-nav {
  display: flex;
  gap: 18px;
  align-items: center;
}

.main-nav a {
  font-size: 15px;
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 6px;
}

.main-nav a:hover {
  background: rgba(201,162,77,0.18);
}

.main-nav a.active {
  color: var(--gold-dark);
  font-weight: 700;
}

/* ================= HERO ================= */
.hero-gold {
  padding: 60px 20px;
}

.hero-inner {
  max-width: 1200px;
  margin: auto;
  border: 3px solid var(--gold-dark);
  border-radius: 18px;
  padding: 40px;
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 36px;
  align-items: center;
}

.hero-image {
  position: relative;
}

.hero-image::before {
  content: "";
  position: absolute;
  top: 16px;
  left: 16px;
  width: 100%;
  height: 100%;
  background: var(--red);
  border-radius: 18px;
}

.hero-image img {
  position: relative;
  z-index: 1;
  border-radius: 18px;
}

.hero-text h1 {
  font-size: 36px;
  margin-bottom: 18px;
}

.hero-subtext {
  font-size: 16px;
  color: #555;
  margin-bottom: 26px;
}

/* ================= ADVISORY STRIP ================= */
.advisory-section {
  padding: 40px 20px 30px;
}

.advisory-inner {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  border: 3px solid var(--red);
  border-radius: 16px;
  padding: 28px;
}

.advisory-box {
  border: 2px solid var(--gold);
  border-radius: 14px;
  padding: 26px 20px;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.advisory-icon-img {
  width: 64px;
  height: 64px;
  margin-bottom: 18px;
  object-fit: contain;
}

.advisory-box h3 {
  margin-top: auto;
  margin-bottom: auto;
  font-size: 18px;
}

/* ================= PROJECTS ================= */
.projects-section {
  padding: 30px 20px 40px;
}

.projects-inner {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 26px;
}

.projects-last-row {
  max-width: 1200px;
  margin: 26px auto 40px;
  display: flex;
  justify-content: center;
  gap: 26px;
}

.project-card {
  border: 2px solid var(--gold);
  border-radius: 14px;
  overflow: hidden;
  background: #fff;
  display: flex;
  flex-direction: column;
}

.project-card img {
  height: 220px;
  object-fit: cover;
}

.project-body {
  padding: 18px;
  text-align: center;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.project-status {
  font-weight: 700;
  color: var(--red);
}

/* ================= BUILDER BANNER (ANIMATED) ================= */
.builder-ad-panel {
  margin: 60px 0;
}

.builder-ad-panel-inner {
  max-width: 1100px;
  margin: auto;
  height: 150px;
  background: linear-gradient(135deg, #7a1d1f, #a62828);
  border: 2px solid var(--gold);
  border-radius: 16px;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.builder-ad-rail {
  width: 100%;
  overflow: hidden;
}

.builder-ad-track {
  display: flex;
  gap: 40px;
  width: max-content;
  animation: bannerScroll 14s linear infinite;
}

.builder-ad-card {
  display: flex;
  align-items: center;
  background: #fffaf0;
  border-radius: 12px;
  padding: 12px 16px;
  width: 520px;
  height: 100px;
  flex-shrink: 0;
}

.builder-ad-card img {
  width: 120px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px;
  margin-right: 14px;
}

@keyframes bannerScroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* ================= FOOTER ================= */
.site-footer {
  background: var(--dark);
  color: #fff;
  padding: 30px 20px;
}

.footer-inner {
  max-width: 1200px;
  margin: auto;
  display: flex;                /* 🔑 GRID REMOVED */
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
/* ===== Footer Social Icons ===== */
.footer-social {
  margin-top: 6px;              /* tighter vertical spacing */
  display: flex;
  gap: 12px;
  justify-content: flex-end;    /* right aligned */
  align-items: center;
}

.footer-social a {
  display: inline-flex;
  line-height: 0;               /* removes extra vertical space */
}

.footer-social img {
  width: 26px;
  height: 26px;
  display: block;
  object-fit: contain;
  opacity: 1;
  filter: none;     /* 🔑 FORCE TRUE COLOR */
}

/* ================= WHATSAPP FLOAT (FINAL) ================= */
.whatsapp-float {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background: #25d366;
  color: #fff;
  padding: 14px 20px;
  border-radius: 30px;
  font-weight: 700;
  z-index: 9999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.whatsapp-float:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.25);
}

/* ================= RESPONSIVE ================= */
@media (max-width: 900px) {
  .hero-inner,
  .advisory-inner,
  .projects-inner,
  .footer-inner {
    grid-template-columns: 1fr;
  }

  /* Footer mobile alignment */
  .footer-right {
    text-align: left;
    margin-top: 20px;
  }

  .footer-menu {
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .footer-social {
    justify-content: flex-start;
    margin-top: 12px;
  }
}


  .projects-last-row {
    flex-direction: column;
  }
}
/* ================= HERO BUTTONS RESTORE ================= */
.hero-actions {
  display: flex;
  gap: 16px;
  margin-top: 24px;
}

.hero-actions a {
  display: inline-block;
  padding: 12px 26px;
  border-radius: 6px;
  font-weight: 700;
  transition: all 0.25s ease;
}

.hero-actions .btn-primary {
  background: var(--gold);
  color: #111;
}

.hero-actions .btn-primary:hover {
  background: var(--gold-dark);
  transform: translateY(-2px);
}

.hero-actions .btn-secondary {
  border: 2px solid var(--gold-dark);
  color: var(--gold-dark);
}

.hero-actions .btn-secondary:hover {
  background: rgba(201,162,77,0.12);
  transform: translateY(-2px);
}
/* ================= WHATSAPP HOVER RESTORE ================= */
.whatsapp-float {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.whatsapp-float:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.25);
}
/* ================= HEADER CONTACT HOVER ================= */
.main-nav .contact-btn:hover {
  background: var(--gold-dark);
  color: #111;
}
/* ================= ADVISORY ALIGNMENT FIX ================= */
.advisory-box {
  min-height: 200px;
  justify-content: center;
}

.advisory-box h3 {
  margin-top: 12px;
  text-align: center;
}
/* ================= PROJECTS INTRO CENTER ================= */
.projects-intro {
  text-align: center;
}

.projects-intro h2,
.projects-intro p {
  margin-left: auto;
  margin-right: auto;
}

/* ================= PROJECT CARD HOVER ================= */
.project-card {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.project-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 36px rgba(0,0,0,0.22);
}
/* ================= FOOTER HARD RESTORE ================= */
.site-footer {
  padding: 30px 20px;
}

.footer-logo {
  height: 72px;        /* visibly strong in footer */
  width: auto;
  display: block;
}

.footer-inner {
  align-items: flex-start;
}

.footer-menu {
  display: flex;
  gap: 22px;
  flex-wrap: wrap;
}

.footer-menu a {
  font-size: 14px;
  line-height: 1.6;
}
/* ================= ADVISORY — HOVER + ICON LOCK ================= */
.advisory-box {
  min-height: 220px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.advisory-box:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 30px rgba(201,162,77,0.35);
}

/* Lock icon size — NO SHRINK */
.advisory-icon-img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  flex-shrink: 0;
}
/* ================= PROJECTS MAIN HEADING ================= */
.projects-intro h2 {
  text-align: center;
  color: var(--red);
  font-weight: 800;
  font-size: 32px;
  margin-bottom: 8px;
}

.projects-intro p {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}
/* ================= FOOTER SIZE + HOVER ================= */
.site-footer {
  padding: 22px 20px;
}

.footer-inner {
  gap: 28px;
}

.footer-menu a {
  transition: color 0.25s ease;
}

.footer-menu a:hover {
  color: var(--gold);
}
/* ================= ADVISORY — ICON SIZE + TEXT BOTTOM ================= */
.advisory-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  min-height: 240px;
  padding: 28px 22px;
}

/* BIG, STABLE ICONS */
.advisory-icon-img {
  width: 80px;              /* 👈 bigger */
  height: 80px;
  object-fit: contain;
  margin-top: 10px;
  margin-bottom: 22px;
  flex-shrink: 0;
}

/* TEXT GROUNDED */
.advisory-box h3 {
  margin-top: auto;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
}
/* ================= REMOVE GAP: ADVISORY → PROJECTS ================= */
.advisory-section {
  padding-bottom: 24px !important;
}

.projects-section {
  padding-top: 10px !important;
}

.projects-intro {
  margin-top: 0 !important;
}
/* ================= PROPERTY CARD — VISUAL EMPHASIS ================= */
.project-location {
  font-weight: 800;
  color: var(--red);
  font-size: 14px;
}

.project-title {
  font-weight: 800;
  color: var(--red);
  font-size: 18px;
}
/* ================= FOOTER — COMPACT + ALIGN ================= */
.site-footer {
  padding: 18px 20px;
}

.footer-inner {
  gap: 24px;
  align-items: center;
}

.footer-logo {
  height: 60px;        /* 👈 slightly bigger, not oversized */
  width: auto;
  max-width: 260px;
  display: block;
}


.footer-menu {
  justify-content: flex-end;
  gap: 18px;
  flex-wrap: nowrap;   /* 👈 NO WRAP */
}

.footer-menu a {
  white-space: nowrap;
  font-size: 14px;
}
/* ================= ADVISORY — HARD LOCK FIX ================= */
.advisory-inner {
  align-items: stretch !important;
}

.advisory-box {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  min-height: 240px !important;
  padding: 30px 22px !important;
}

/* ICON — BIG & FIXED */
.advisory-icon-img {
  width: 84px !important;
  height: 84px !important;
  object-fit: contain !important;
  margin: 12px 0 24px 0 !important;
  flex-shrink: 0 !important;
}

/* TEXT — LOCKED TO BOTTOM */
.advisory-box h3 {
  margin-top: auto !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
}


/* Menu on TOP */
.footer-menu {
  display: flex !important;
  justify-content: flex-end !important;
  gap: 18px !important;
  flex-wrap: nowrap !important;
  margin-bottom: 8px !important;
}

.footer-menu a {
  white-space: nowrap !important;
  font-size: 14px !important;
}

/* Copyright BELOW menu */
.footer-copy {
  grid-column: 2 / 3 !important;
  text-align: right !important;
  margin-top: 6px !important;
  font-size: 13px !important;
  color: #aaa !important;
}

/* Footer height control */
.site-footer {
  padding: 18px 20px !important;
}

.footer-logo {
  height: 42px !important;
}
/* ================= ADVISORY — FORCE ICON SIZE (SVG + IMG) ================= */
.advisory-box svg,
.advisory-box img {
  width: 90px !important;
  height: 90px !important;
  max-width: 90px !important;
  max-height: 90px !important;
  margin: 12px auto 26px auto !important;
  display: block !important;
}
/* ================= ADVISORY — TEXT POSITION LOCK ================= */
.advisory-box {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 260px !important;
}

.advisory-box h3 {
  margin-top: auto !important;
  margin-bottom: 10px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
}
/* ================= REMOVE GAP ABOVE HOT PROPERTIES ================= */
.projects-section {
  padding-top: 0 !important;
}

.projects-intro {
  margin-top: 0 !important;
  padding-top: 10px !important;
}

.advisory-section {
  padding-bottom: 16px !important;
}
/* ================= ADVISORY ICON — REAL SOURCE FIX ================= */

/* Target icon wrapper, not img/svg */
.advisory-box > div:first-child,
.advisory-box .icon,
.advisory-box .advisory-icon {
  width: 90px !important;
  height: 90px !important;
  margin: 14px auto 26px auto !important;

  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  flex-shrink: 0 !important;
}
/* ================= ADVISORY TEXT — BOTTOM ALIGN ================= */
.advisory-box {
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  min-height: 260px !important;
}

.advisory-box h3 {
  margin-top: auto !important;
  margin-bottom: 12px !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  text-align: center !important;
}
/* ================= HOT PROPERTIES — SPACING CONTROL ================= */

/* Bottom of advisory */
.advisory-section {
  padding-bottom: 18px !important;
}

/* Heading block */
.projects-intro {
  margin-top: 0 !important;
  padding-top: 12px !important;
  margin-bottom: 18px !important;
}

/* Cards start */
.projects-inner {
  margin-top: 0 !important;
}
/* ================= ADVISORY ICON — PSEUDO ELEMENT FIX ================= */

/* Target the pseudo icons directly */
.advisory-box::before,
.advisory-box::after {
  width: 90px !important;
  height: 90px !important;

  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;

  display: block !important;
  margin: 12px auto 26px auto !important;
}

/* Ensure box layout allows space */
.advisory-box {
  position: relative !important;
  padding-top: 34px !important;
  min-height: 260px !important;
}
/* ================= HOT PROPERTIES — FINAL SPACING ================= */

.advisory-section {
  padding-bottom: 20px !important;
}

.projects-section {
  padding-top: 0 !important;
}

.projects-intro {
  margin-top: 0 !important;
  padding-top: 10px !important;
  margin-bottom: 22px !important;
}
/* HOT PROPERTIES — CLEAN VERTICAL RHYTHM */
.advisory-section {
  padding-bottom: 32px;
}

.projects-section {
  padding-top: 20px;
}

.projects-intro {
  margin-top: 0;
  margin-bottom: 28px;
}
/* ===== FINAL LOCK: ADVISORY STRIP ===== */
.advisory-section {
  padding-top: 36px;
  padding-bottom: 28px;
}

.advisory-inner {
  gap: 28px;
}

.advisory-box {
  min-height: 260px;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.advisory-box:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

/* Icon lock */
.advisory-icon-img {
  width: 90px;
  height: 90px;
  margin: 12px auto 22px auto;
  display: block;
}

/* ===== FINAL LOCK: HOT PROPERTIES HEADER ===== */
.projects-section {
  padding-top: 12px;
}

.projects-intro {
  margin-top: 0;
  margin-bottom: 22px;
  text-align: center;
}

.projects-intro h2 {
  color: var(--red);
  font-weight: 800;
  margin-bottom: 8px;
}

.projects-intro p {
  margin-top: 0;
}
/* ================= 
/* ================= ABOUT PAGE — FINAL ================= */

.about-page {
  background: #ffffff;
}

/* Shared container */
.about-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 90px 20px;
}

/* SECTION WRAPPER */
.about-section {
  border-bottom: 1px solid #eee;
}

.about-section.alt {
  background: #fafafa;
}

/* TWO COLUMN GRID */
.about-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 70px;
  align-items: center;
}

/* REVERSE ROW */
.about-grid.reverse .about-text {
  order: 2;
}

.about-grid.reverse .about-image {
  order: 1;
}

/* TEXT */
.about-text h1,
.about-text h2 {
  font-size: 34px;
  margin-bottom: 18px;
  line-height: 1.25;
}

.about-text p {
  font-size: 16px;
  color: #555;
  line-height: 1.75;
  margin-bottom: 14px;
}

/* FOUNDER QUOTE */
.about-quote {
  font-style: italic;
  font-size: 17px;
  color: #222;
  margin-bottom: 22px;
  padding-left: 18px;
  border-left: 4px solid var(--gold);
}

/* IMAGE CARD — LUXURY */
.about-image img {
  width: 100%;
  border-radius: 16px;
  border: 2px solid var(--gold);
  background: #fff;
  box-shadow:
    0 22px 45px rgba(0,0,0,0.16),
    0 8px 18px rgba(0,0,0,0.12);
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}

/* IMAGE HOVER — 3D */
.about-image img:hover {
  transform: translateY(-8px);
  box-shadow:
    0 32px 65px rgba(0,0,0,0.22),
    0 14px 28px rgba(0,0,0,0.18);
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .about-grid {
    grid-template-columns: 1fr;
  }

  .about-grid.reverse .about-text,
  .about-grid.reverse .about-image {
    order: unset;
  }

  .about-container {
    padding: 60px 18px;
  }
}
/* ================= ABOUT PAGE ================= */

.about-page {
  background: #fff;
}

/* shared container */
.about-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 24px;
}

/* HERO GRID */
.about-hero-grid {
  display: grid;
  grid-template-columns: 1.1fr 0.9fr;
  gap: 60px;
  align-items: center;
}

.about-hero-text h1 {
  font-size: 40px;
  line-height: 1.25;
  margin-bottom: 20px;
}

.about-hero-text p {
  font-size: 16px;
  color: #444;
  margin-bottom: 12px;
}

/* SECTION BASE */
.about-section {
  border-top: 1px solid #eee;
}

.about-section.alt-bg {
  background: #fafafa;
}

/* TWO COLUMN GRID */
.about-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
}

/* REVERSE ORDER */
.about-two-col.reverse {
  direction: rtl;
}
.about-two-col.reverse > * {
  direction: ltr;
}

/* TEXT */
.about-text h2 {
  font-size: 28px;
  margin-bottom: 18px;
}

.about-text p {
  font-size: 15.5px;
  line-height: 1.7;
  color: #444;
  margin-bottom: 14px;
}

.about-quote {
  font-style: italic;
  font-size: 16px;
  color: #222;
  border-left: 4px solid var(--gold);
  padding-left: 16px;
  margin: 20px 0;
}

/* IMAGE STYLING – LUXURY */
.about-image img,
.about-hero-image img {
  width: 100%;
  border-radius: 16px;
  border: 3px solid var(--gold);
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
  transition: transform 0.4s ease, box-shadow 0.4s ease;
}

.about-image img:hover,
.about-hero-image img:hover {
  transform: translateY(-6px);
  box-shadow: 0 26px 60px rgba(0,0,0,0.25);
}

/* RESPONSIVE */
@media (max-width: 900px) {
  .about-hero-grid,
  .about-two-col {
    grid-template-columns: 1fr;
  }

  .about-two-col.reverse {
    direction: ltr;
  }

  .about-container {
    padding: 60px 18px;
  }
}
/* About page headings emphasis */
.about-page h1,
.about-page h2 {
  color: var(--gold);
}
/* Luxury heading font for About page */
.about-page h1,
.about-page h2 {
  font-family: "Playfair Display", "Georgia", serif;
  letter-spacing: 0.3px;
}
/* ===== ABOUT PAGE – DUE DILIGENCE IMAGE FIX ===== */
.about-image img,
.about-process-img,
.about-section img {
  width: 100%;
  height: auto;
  max-height: none !important;
  object-fit: contain;
  display: block;
}
/* ===== ABOUT PAGE – IMAGE SIZE CONTROL ===== */
.about-page .about-image img {
  width: 100%;
  max-width: 460px;        /* controls size */
  height: auto;
  object-fit: contain;
  border-radius: 14px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.18);
}

/* Center image vertically in its column */
.about-page .about-image {
  display: flex;
  align-items: center;
}
/* ===== ABOUT PAGE – RED SECTION FRAMES ===== */
.about-page .about-section,
.about-page .about-hero {
  border: 2px solid #8b1d1d;          /* deep red */
  border-radius: 22px;
  padding: 48px 56px;
  margin: 60px auto;
  max-width: 1200px;
  background: #ffffff;
}

/* Alternate subtle gold accent on even sections */
.about-page .about-section.alt-bg {
  border-color: #c9a24d;               /* gold */
}

/* Prevent image touching border */
.about-page .about-image img {
  margin: 12px;
}
/* ================= ABOUT PAGE — 3D IMAGE DEPTH ================= */

.about-page .about-image,
.about-page .about-hero-image {
  position: relative;
  border-radius: 18px;
}

.about-page .about-image::before,
.about-page .about-hero-image::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 14px;
  width: 100%;
  height: 100%;
  background: var(--red);
  border-radius: 18px;
  z-index: 0;
}

.about-page .about-image img,
.about-page .about-hero-image img {
  position: relative;
  z-index: 1;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  background: #fff;
}
/* ================= ABOUT PAGE — LUXURY SPACING ================= */

.about-page section {
  padding: 80px 0;
}

.about-page .about-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 20px;
}

.about-page h1,
.about-page h2 {
  font-family: "Playfair Display", serif;
  color: var(--gold);
  margin-bottom: 18px;
}

.about-page h2 {
  color: var(--red);
}

.about-page p {
  font-family: "Inter", sans-serif;
  font-size: 16px;
  line-height: 1.8;
  color: #333;
}

.about-page .about-quote {
  font-style: italic;
  font-size: 18px;
  color: #7a1d1f;
  margin: 22px 0 30px;
}

/* Subtle section separator */
.about-page section:not(:last-child) {
  border-bottom: 1.5px solid rgba(201,162,77,0.35);
}
/* ================= ABOUT PAGE – LUXURY POLISH ================= */

/* Page base */
.about-page {
  background: #ffffff;
}

/* Section container */
.about-section,
.about-hero {
  margin: 64px auto;
}

.about-container {
  max-width: 1180px;
  margin: 0 auto;
  padding: 56px 56px;
  border-radius: 16px;
  border: 1.5px solid #b08c2f; /* gold-red tone */
  background: #fff;
}

/* Alternate section background */
.about-section.alt-bg .about-container {
  background: #fcfaf6;
}

/* Two column grid */
.about-two-col,
.about-hero-grid {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  align-items: center;
}

/* Reverse rows */
.about-two-col.reverse {
  grid-template-columns: 0.95fr 1.05fr;
}

/* Headings – luxury serif */
.about-page h1,
.about-page h2 {
  font-family: "Playfair Display", serif;
  font-weight: 600;
  color: #b08c2f;
  letter-spacing: 0.3px;
}

.about-page h1 {
  font-size: 36px;
  margin-bottom: 18px;
}

.about-page h2 {
  font-size: 26px;
  margin-bottom: 16px;
}

/* Body text */
.about-page p {
  font-family: "Inter", sans-serif;
  font-size: 15.5px;
  line-height: 1.75;
  color: #333;
  margin-bottom: 14px;
}

/* Founder quote */
.about-quote {
  font-style: italic;
  font-size: 16px;
  color: #555;
  border-left: 3px solid #b08c2f;
  padding-left: 16px;
  margin: 20px 0;
}

/* Images – 3D depth */
.about-image img,
.about-hero-image img {
  width: 100%;
  border-radius: 14px;
  background: #fff;
  box-shadow:
    0 14px 40px rgba(0,0,0,0.18),
    0 4px 12px rgba(0,0,0,0.12);
  transform: translateZ(0);
}

/* Image hover polish (optional but premium) */
.about-image img:hover,
.about-hero-image img:hover {
  transform: translateY(-3px);
  transition: all 0.35s ease;
}

/* Due diligence infographic sizing */
.about-image img[src*="due"] {
  max-width: 420px;
  margin: 0 auto;
  display: block;
}

/* Mobile safety */
@media (max-width: 900px) {
  .about-two-col,
  .about-hero-grid {
    grid-template-columns: 1fr;
  }

  .about-container {
    padding: 40px 24px;
  }
}
/* ================= FINAL ABOUT PAGE POLISH ================= */

/* Headings – elevated luxury tone */
.about-page h1,
.about-page h2 {
  font-family: "Playfair Display", serif;
  letter-spacing: 0.4px;
}

.about-page h1 {
  font-size: 38px;
  line-height: 1.25;
}

.about-page h2 {
  font-size: 27px;
  line-height: 1.35;
}

/* Paragraph refinement */
.about-page p {
  font-family: "Inter", sans-serif;
  font-size: 15.8px;
  line-height: 1.8;
  color: #2e2e2e;
}

/* Founder quote refinement */
.about-quote {
  font-style: italic;
  font-size: 16.5px;
  color: #444;
}

/* Founder signature */
.founder-signature {
  margin-top: 18px;
  font-family: "Playfair Display", serif;
  font-size: 15px;
  color: #b08c2f;
}

.founder-signature span {
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* Section spacing – luxury breathing room */
.about-section,
.about-hero {
  margin: 72px auto;
}

/* Section container polish */
.about-container {
  padding: 64px 64px;
}

/* Image depth – match HOME hero authority */
.about-image img,
.about-hero-image img {
  border-radius: 16px;
  box-shadow:
    0 18px 50px rgba(0,0,0,0.18),
    0 6px 18px rgba(0,0,0,0.14);
}

/* Hover = subtle premium motion */
.about-image img:hover,
.about-hero-image img:hover {
  transform: translateY(-4px);
  transition: all 0.35s ease;
}

/* Infographic (due diligence) – controlled size */
.about-image img[src*="due"] {
  max-width: 420px;
  margin: 0 auto;
  display: block;
}

/* CTA strip */
.about-cta {
  text-align: center;
  padding: 56px 40px;
  margin: 80px auto 40px;
  border: 2px solid #b08c2f;
  border-radius: 18px;
  max-width: 820px;
  background: linear-gradient(180deg, #fffdf8, #ffffff);
}

.about-cta h3 {
  font-family: "Playfair Display", serif;
  font-size: 26px;
  color: #b08c2f;
  margin-bottom: 12px;
}

.about-cta p {
  font-size: 15.5px;
  margin-bottom: 22px;
}

.about-cta a {
  display: inline-block;
  padding: 12px 28px;
  border-radius: 28px;
  background: #b08c2f;
  color: #fff;
  font-weight: 500;
  text-decoration: none;
  transition: all 0.3s ease;
}

.about-cta a:hover {
  background: #9a7723;
  transform: translateY(-2px);
}

/* Mobile safety */
@media (max-width: 900px) {
  .about-container {
    padding: 42px 26px;
  }
}/* ================= PROPERTIES PAGE — LUXURY LAYOUT ================= */

.properties-luxury {
  max-width: 1200px;
  margin: 0 auto;
  padding: 80px 20px;
}

.property-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 60px;
  align-items: center;
  margin-bottom: 100px;
  cursor: pointer;
}

.property-row.reverse {
  direction: rtl;
}

.property-row.reverse > * {
  direction: ltr;
}

.property-text h3 {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  color: var(--gold);
  margin-bottom: 10px;
}

.property-location {
  font-weight: 500;
  color: var(--red);
  margin-bottom: 14px;
}

.property-text p {
  font-size: 15.5px;
  line-height: 1.8;
  margin-bottom: 18px;
}

.property-note {
  font-style: italic;
  color: #666;
}

.property-image {
  position: relative;
}

.property-image::before {
  content: "";
  position: absolute;
  top: 14px;
  left: 14px;
  width: 100%;
  height: 100%;
  background: var(--red);
  border-radius: 18px;
  z-index: 0;
}

.property-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
  background: #fff;
}

.property-row:hover .property-image img {
  transform: translateY(-4px);
  transition: all 0.35s ease;
}

/* Mobile */
@media (max-width: 900px) {
  .property-row {
    grid-template-columns: 1fr;
    gap: 40px;
  }
}
/* ================= PROPERTIES — LUXURY TYPOGRAPHY ================= */

.properties-luxury {
  max-width: 1200px;
  margin: 0 auto;
}

.property-row {
  margin-bottom: 90px;
}

.property-text h3 {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  font-weight: 600;
  color: var(--red);
  margin-bottom: 14px;
}

.property-text .project-name {
  font-size: 16px;
  font-weight: 700;
  color: var(--gold-dark);
  margin-bottom: 6px;
}

.property-text .project-location {
  font-size: 14px;
  color: #555;
  letter-spacing: 0.3px;
  margin-bottom: 18px;
}

.property-text p {
  font-size: 16px;
  line-height: 1.75;
  color: #333;
  max-width: 520px;
}

.price-note {
  display: inline-block;
  margin-top: 16px;
  font-size: 14px;
  font-weight: 600;
  color: var(--red);
  border-left: 4px solid var(--gold);
  padding-left: 12px;
}

/* Image depth */
.property-image img {
  border-radius: 18px;
  box-shadow:
    0 22px 46px rgba(0,0,0,0.28),
    0 0 0 3px rgba(201,162,77,0.35);
}
/* ================= PROPERTY POPUP ================= */

.property-popup-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 26px;
  color: var(--red);
  margin-bottom: 10px;
}

.popup-subtext {
  font-size: 14px;
  color: #555;
  margin-bottom: 22px;
}

.property-popup-card form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.property-popup-card input,
.property-popup-card select,
.property-popup-card textarea {
  padding: 14px 16px;
  border-radius: 10px;
  border: 1.5px solid #d6c48a;
  font-size: 15px;
}

.property-popup-card input:focus,
.property-popup-card select:focus,
.property-popup-card textarea:focus {
  outline: none;
  border-color: var(--gold-dark);
  box-shadow: 0 0 0 2px rgba(201,162,77,0.25);
}

.property-popup-card button[type="submit"] {
  margin-top: 10px;
  padding: 14px;
  border-radius: 12px;
  border: none;
  background: linear-gradient(135deg, #c9a24d, #b08c2f);
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
}

.property-popup-card button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 36px rgba(0,0,0,0.35);
}

/* ================= PROPERTY LUXURY POLISH ================= */

.property-text h3 {
  font-family: "Playfair Display", serif;
}

.project-name {
  font-weight: 700;
  color: var(--gold-dark);
  margin-bottom: 4px;
}

.project-location {
  font-size: 14px;
  color: #666;
  margin-bottom: 16px;
}

.price-note {
  display: inline-block;
  margin-top: 14px;
  font-weight: 600;
  color: var(--red);
  border-left: 4px solid var(--gold);
  padding-left: 12px;
}

.property-image img {
  border-radius: 18px;
  box-shadow:
    0 22px 46px rgba(0,0,0,0.28),
    0 0 0 3px rgba(201,162,77,0.35);
}
.luxury-cta {
  margin-top: 18px;
  padding: 14px 28px;
  border-radius: 14px;
  font-weight: 700;
  background: linear-gradient(135deg, #c9a24d, #b08c2f);
  border: none;
  cursor: pointer;
}
/* ================= PROPERTY POPUP ================= */

.property-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
}

.property-popup-card {
  position: relative;
  background: #ffffff;
  width: 100%;
  max-width: 520px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 36px 32px;
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.25);
  font-family: 'Inter', sans-serif;
}

.popup-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #111;
  color: #fff;
  font-size: 20px;
  cursor: pointer;
  line-height: 1;
}

.property-popup-card h3 {
  font-family: 'Playfair Display', serif;
  font-size: 26px;
  margin-bottom: 10px;
}

.popup-subtext {
  font-size: 14px;
  color: #555;
  margin-bottom: 22px;
}

/* FORM FIELDS */
#propertyForm input,
#propertyForm select,
#propertyForm textarea {
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 14px;
  border-radius: 10px;
  border: 1px solid #ddd;
  font-size: 14px;
}

#propertyForm textarea {
  resize: vertical;
  min-height: 90px;
}

#propertyForm button {
  width: 100%;
  padding: 14px;
  border-radius: 12px;
  border: none;
  font-weight: 700;
  font-size: 15px;
  background: linear-gradient(135deg, #c9a24d, #b08c2f);
  color: #000;
  cursor: pointer;
}
/* ===== LUXURY POPUP UPGRADE ===== */

.luxury-popup {
  background: linear-gradient(180deg, #ffffff, #faf7f2);
  border: 2px solid #c9a24d;
}

.luxury-popup h3 {
  font-family: 'Playfair Display', serif;
  color: #111;
}

.luxury-popup button[type="submit"] {
  background: linear-gradient(135deg, #c9a24d, #b08c2f);
  color: #000;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.luxury-popup button[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 12px 30px rgba(0,0,0,0.2);
}

#propertyForm input:invalid,
#propertyForm select:invalid {
  border-color: #c62828;
}

.privacy-note {
  font-size: 12px;
  color: #777;
  margin-top: 10px;
  text-align: center;
}
/* ================= PROPERTY POPUP (LUXURY, COMPACT) ================= */

.property-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(10, 10, 10, 0.65);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  backdrop-filter: blur(6px);
}

.property-popup-card {
  background: #ffffff;
  width: 100%;
  max-width: 420px;              /* ⬅ reduced size */
  padding: 32px 34px 34px;
  border-radius: 18px;
  border: 1.5px solid #c9a24d;
  box-shadow: 0 30px 80px rgba(0,0,0,0.25);
  position: relative;
  animation: popupFadeUp 0.35s ease;
  font-family: "Inter", sans-serif;
}

@keyframes popupFadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.property-popup-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 22px;
  font-weight: 600;
  text-align: center;
  margin-bottom: 8px;
}

.popup-subtext {
  text-align: center;
  font-size: 14px;
  color: #555;
  margin-bottom: 22px;
  line-height: 1.5;
}

.popup-close {
  position: absolute;
  top: 14px;
  right: 16px;
  background: none;
  border: none;
  font-size: 22px;
  cursor: pointer;
  color: #999;
}

.popup-close:hover {
  color: #000;
}

/* FORM */

#propertyForm {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

#propertyForm input,
#propertyForm select,
#propertyForm textarea {
  width: 100%;
  padding: 11px 14px;
  font-size: 14px;
  border-radius: 10px;
  border: 1px solid #ddd;
  font-family: "Inter", sans-serif;
}

#propertyForm textarea {
  resize: none;
  min-height: 80px;
}

#propertyForm input[readonly] {
  background: #f7f7f7;
  color: #666;
}

#propertyForm button {
  margin-top: 6px;
  padding: 12px;
  border-radius: 12px;
  border: none;
  background: linear-gradient(135deg, #c9a24d, #b08c2f);
  color: #000;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

#propertyForm button:hover {
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
/* ================= PROPERTIES CTA – LUXURY POLISH ================= */

.properties-cta {
  padding: 80px 20px 90px;
}

.properties-cta .cta-box {
  max-width: 720px;              /* ⬅ smaller, premium width */
  margin: 0 auto;
  padding: 42px 48px;
  text-align: center;
  border-radius: 22px;
  background: #ffffff;
  border: 2px solid #c9a24d;
  box-shadow:
    0 10px 30px rgba(0,0,0,0.08),
    inset 0 0 0 1px rgba(201,162,77,0.25);
}

.properties-cta h2 {
  font-family: "Playfair Display", serif;
  font-size: 26px;
  font-weight: 600;
  margin-bottom: 12px;
}

.properties-cta p {
  font-size: 15px;
  color: #444;
  max-width: 520px;
  margin: 0 auto 26px;
  line-height: 1.6;
}

/* CTA BUTTON */

.properties-cta .luxury-cta {
  padding: 14px 30px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  background: linear-gradient(135deg, #c9a24d, #b08c2f);
  color: #000;
  border: none;
  cursor: pointer;
  transition: all 0.25s ease;
}

.properties-cta .luxury-cta:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0,0,0,0.18);
}
/* =========================================================
   GLOBAL LUXURY POPUP FORM (ALL PAGES)
   ========================================================= */

.property-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.65);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.property-popup-card {
  width: 100%;
  max-width: 520px;            /* 🔑 controls size */
  background: #ffffff;
  border-radius: 18px;
  padding: 32px 34px 36px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.35);
  border: 2px solid #c9a24d;   /* luxury gold */
  position: relative;
  animation: popupFadeUp 0.35s ease;
}

/* Close button – always visible */
.popup-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: none;
  background: #f3f3f3;
  font-size: 20px;
  font-weight: 600;
  cursor: pointer;
  line-height: 36px;
}

.popup-close:hover {
  background: #e6e6e6;
}

/* Headings */
.property-popup-card h3 {
  font-family: "Playfair Display", serif;
  font-size: 26px;
  margin-bottom: 8px;
  color: #121212;
  text-align: center;
}

.popup-subtext {
  font-size: 14px;
  color: #555;
  text-align: center;
  margin-bottom: 22px;
}

/* Form layout */
#propertyForm {
  display: grid;
  gap: 14px;
}

#propertyForm input,
#propertyForm select,
#propertyForm textarea {
  width: 100%;
  padding: 12px 14px;
  border-radius: 10px;
  border: 1px solid #ccc;
  font-size: 14px;
  font-family: Inter, sans-serif;
}

#propertyForm textarea {
  resize: none;
  min-height: 80px;
}

#propertyForm input:focus,
#propertyForm select:focus,
#propertyForm textarea:focus {
  outline: none;
  border-color: #c9a24d;
}

/* Submit button */
#propertyForm button {
  margin-top: 8px;
  padding: 14px;
  border-radius: 12px;
  border: none;
  font-weight: 600;
  font-size: 15px;
  cursor: pointer;
  background: linear-gradient(135deg, #c9a24d, #b08c2f);
  color: #000;
}

#propertyForm button:hover {
  opacity: 0.9;
}

/* Animation */
@keyframes popupFadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* =========================================================
   CTA BOX (ABOVE FOOTER) – COMPACT & CENTERED
   ========================================================= */

.properties-cta .cta-box {
  max-width: 720px;
  margin: 0 auto;
  text-align: center;
  padding: 40px 36px;
  border-radius: 20px;
  border: 2px solid #c9a24d;
  background: #fff;
}

.properties-cta h2 {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  margin-bottom: 10px;
}

.properties-cta p {
  max-width: 520px;
  margin: 0 auto 18px;
  color: #555;
}
.phone-row {
  display: flex;
  gap: 10px;
}

.phone-row select {
  width: 38%;
}

.phone-row input {
  width: 62%;
}
.phone-row {
  display: flex;
  gap: 12px;
}

.phone-row input:first-child {
  width: 30%;
}

.phone-row input:last-child {
  width: 70%;
}
/* ================= FOOTER HEIGHT FIX ================= */

.site-footer {
  padding: 28px 0 24px;   /* reduced height */
  overflow: visible;
}

.site-footer .footer-inner {
  max-width: 1200px;
  margin: 0 auto;
  align-items: flex-start;
}

.footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-end;   /* 🔑 RIGHT ALIGN EVERYTHING */
  gap: 10px;
}

/* ================= FOOTER DISCLAIMER FULL FIX ================= */

.site-footer {
  overflow: visible !important;
}

.footer-left {
  max-width: 520px;
}

.footer-disclaimer {
  display: block;
  margin-top: 14px;
  font-size: 13px;
  line-height: 1.7;
  color: #666;
  overflow: visible;
  max-height: none;
  white-space: normal;
}
/* ================= PROPERTY PAGE LUXURY BLOCKS ================= */

.properties-luxury {
  display: flex;
  flex-direction: column;
  gap: 60px;
  padding: 60px 0;
}

/* Card wrapper */
.property-row {
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  align-items: center;
  gap: 40px;

  padding: 44px;
  border-radius: 18px;

  background: #ffffff;
  border: 1.5px solid rgba(201, 162, 77, 0.65); /* gold */
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.08);

  max-width: 1200px;
  margin: 0 auto;

  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.property-row:hover {
  transform: translateY(-4px);
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.12);
}

/* Reverse layout */
.property-row.reverse {
  grid-template-columns: 1fr 1.1fr;
}

/* Text block */
.property-text h3 {
  font-family: "Playfair Display", serif;
  font-size: 26px;
  margin-bottom: 12px;
}

.project-name,
.project-location {
  font-size: 14px;
  color: #777;
  margin-bottom: 8px;
}

.property-text p {
  margin: 16px 0;
  max-width: 520px;
}

.price-note {
  display: inline-block;
  margin-top: 12px;
  font-weight: 500;
  color: #8b0000;
}

/* Image block */
.property-image {
  position: relative;
}

.property-image img {
  width: 100%;
  border-radius: 14px;
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.18);
}

/* Mobile */
@media (max-width: 900px) {
  .property-row,
  .property-row.reverse {
    grid-template-columns: 1fr;
    text-align: left;
  }
}
/* ======================================================
   BLOG PAGES — READING FIRST STYLES
   (Safe append — does not affect other pages)
   ====================================================== */

/* Blog containers */
.blog-wrapper,
.blog-article {
  max-width: 900px;
  margin: 0 auto;
  padding: 70px 20px;
}

/* Blog intro */
.blog-intro h1 {
  font-size: 2.4rem;
  font-weight: 600;
  margin-bottom: 12px;
  letter-spacing: -0.5px;
}

.blog-intro p {
  font-size: 1.05rem;
  line-height: 1.9;
  color: #555;
  max-width: 760px;
}

/* Blog list */
.blog-list {
  margin-top: 60px;
}

.blog-item {
  margin-bottom: 60px;
}

.blog-item h2 {
  font-size: 1.55rem;
  font-weight: 500;
  margin-bottom: 8px;
}

.blog-item a {
  color: #111;
  text-decoration: none;
}

.blog-item a:hover {
  text-decoration: underline;
}

.blog-meta {
  font-size: 0.85rem;
  color: #777;
  margin-bottom: 10px;
}

.blog-excerpt {
  font-size: 1rem;
  line-height: 1.85;
  color: #333;
  max-width: 760px;
}

.blog-read {
  display: inline-block;
  margin-top: 12px;
  font-size: 0.9rem;
  color: var(--gold);
}

/* Blog article */
.blog-article h1 {
  font-size: 2.6rem;
  margin-bottom: 12px;
  letter-spacing: -0.6px;
}

.blog-context {
  font-size: 0.9rem;
  color: #777;
  margin-bottom: 45px;
}

.blog-content {
  font-size: 1.05rem;
  line-height: 1.95;
  color: #222;
}

.blog-content p {
  margin-bottom: 22px;
  max-width: 760px;
}

.blog-content h2 {
  font-size: 1.6rem;
  margin-top: 60px;
  margin-bottom: 18px;
}

.blog-content h3 {
  font-size: 1.25rem;
  margin-top: 40px;
  margin-bottom: 14px;
}

/* Context note on blog index */
.blog-context-note {
  margin-top: 70px;
  padding-top: 35px;
  border-top: 1px solid #e5e5e5;
  font-size: 0.95rem;
  line-height: 1.85;
  color: #444;
  max-width: 760px;
}

.blog-context-note p {
  margin-bottom: 16px;
}

/* Blog CTA */
.blog-cta {
  margin-top: 70px;
  padding-top: 35px;
  border-top: 1px solid #e5e5e5;
  font-size: 0.95rem;
  max-width: 760px;
}

.blog-comments-note {
  margin-top: 30px;
  font-size: 0.85rem;
  color: #666;
  max-width: 760px;
}
/* ======================================================
   BLOG — PREMIUM EDITORIAL / MAGAZINE STYLE
   Scoped safely to blog pages only
====================================================== */

.blog-article {
  background: #ffffff;
  padding: 80px 20px;
}

.blog-article article {
  max-width: 860px;
  margin: 0 auto;
  font-family: Georgia, "Times New Roman", serif;
  color: #222;
}

/* Title */
.blog-article h1 {
  font-size: 42px;
  line-height: 1.25;
  font-weight: 600;
  margin-bottom: 24px;
}

/* Context (date, reading time) */
.blog-context {
  font-family: "Segoe UI", Arial, sans-serif;
  font-size: 14px;
  color: #777;
  margin-bottom: 60px;
  border-left: 3px solid var(--gold);
  padding-left: 16px;
}

/* Body text */
.blog-content p {
  font-size: 18px;
  line-height: 1.85;
  margin-bottom: 28px;
}

/* Section headings */
.blog-content h2 {
  font-size: 26px;
  font-weight: 600;
  margin: 80px 0 28px;
  line-height: 1.4;
}

/* Section separators */
.blog-content hr {
  border: none;
  height: 1px;
  background: #e5e5e5;
  margin: 70px 0;
}

/* Editorial quote / insight */
.blog-content blockquote {
  font-size: 22px;
  line-height: 1.6;
  font-style: italic;
  margin: 60px 0;
  padding-left: 30px;
  border-left: 4px solid var(--gold);
  color: #444;
}

/* Mobile optimisation */
@media (max-width: 768px) {
  .blog-article {
    padding: 50px 16px;
  }

  .blog-article h1 {
    font-size: 30px;
  }

  .blog-content h2 {
    font-size: 22px;
  }

  .blog-content p {
    font-size: 17px;
  }
}
/* ======================================================
   BLOG — LAYOUT RESET + NEWSPAPER MASTHEAD
   Safe, scoped, permanent
====================================================== */

/* FIX: Blog page opening too low / half page issue */
.blog-article {
  padding-top: 40px !important;
  margin-top: 0 !important;
}

/* Ensure article starts immediately after header */
.blog-article article {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* ======================================================
   STRONG EDITORIAL MASTHEAD
====================================================== */

.blog-masthead-strong {
  max-width: 900px;
  margin: 0 auto 50px;
  text-align: center;
  padding-top: 10px;
}

.masthead-title {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 34px;
  font-weight: 700;
  letter-spacing: 1.5px;
  color: #111;
}

.masthead-title span {
  font-weight: 400;
  letter-spacing: 1px;
}

.masthead-subtitle {
  margin-top: 10px;
  font-size: 13px;
  letter-spacing: 1.2px;
  color: #666;
  font-family: "Segoe UI", Arial, sans-serif;
}

.masthead-date {
  margin-top: 6px;
  font-size: 12px;
  color: #888;
  font-family: "Segoe UI", Arial, sans-serif;
}

.masthead-rule {
  width: 180px;
  height: 2px;
  background: var(--gold);
  margin: 22px auto 0;
}

/* ======================================================
   BLOG TYPOGRAPHY REFINEMENT (MAGAZINE FEEL)
====================================================== */

.blog-article h1 {
  margin-top: 30px;
}

/* Mobile correction */
@media (max-width: 768px) {
  .masthead-title {
    font-size: 24px;
    letter-spacing: 1px;
  }

  .blog-article {
    padding-top: 20px !important;
  }
}
/* ======================================================
   BLOG — FULL VISIBILITY FIX + SUBSCRIBE PANEL
====================================================== */

.blog-article {
  min-height: auto !important;
  height: auto !important;
  overflow: visible !important;
  padding-top: 40px;
}

.blog-article article {
  max-width: 900px;
  margin: 0 auto;
}

/* View counter */
.blog-views {
  margin-top: 12px;
  font-size: 13px;
  color: #666;
  font-family: "Segoe UI", Arial, sans-serif;
}

/* Subscribe panel */
.blog-subscribe {
  margin-top: 90px;
  padding: 50px;
  background: #f7f5f1;
  border-left: 4px solid var(--gold);
}

.blog-subscribe h3 {
  font-size: 24px;
  margin-bottom: 10px;
}

.blog-subscribe p {
  font-size: 16px;
  color: #555;
  margin-bottom: 25px;
}

.blog-subscribe .form-row {
  margin-bottom: 15px;
}

.blog-subscribe input {
  width: 100%;
  padding: 12px;
  font-size: 15px;
}

.blog-subscribe .split {
  display: flex;
  gap: 10px;
}

.blog-subscribe button {
  background: var(--gold);
  color: #000;
  padding: 14px 30px;
  border: none;
  font-size: 15px;
  cursor: pointer;
}

.blog-subscribe .consent {
  font-size: 13px;
  color: #777;
  margin: 15px 0;
}
/* ======================================================
   BLOG — FULL SCROLL & VISIBILITY FIX (CRITICAL)
   Ensures long-form articles are never truncated
====================================================== */

.blog-article,
.blog-article * {
  overflow: visible !important;
}

.blog-article {
  min-height: auto !important;
  height: auto !important;
  padding-top: 40px;
  padding-bottom: 80px;
}

.blog-article article {
  max-width: 900px;
  margin: 0 auto;
  display: block;
}

/* Prevent any flex parent from constraining height */
.blog-article,
.blog-article article {
  flex: none !important;
}
/* ======================================================
   BLOG — SUBSCRIBE POPUP
====================================================== */

.blog-popup {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.blog-popup-inner {
  background: #fff;
  max-width: 420px;
  padding: 35px;
  position: relative;
}

.blog-popup-inner h3 {
  margin-bottom: 10px;
}

.blog-popup-inner input {
  width: 100%;
  padding: 12px;
  margin-bottom: 12px;
}

.popup-split {
  display: flex;
  gap: 10px;
}

.blog-popup-inner button {
  width: 100%;
  padding: 12px;
  background: var(--gold);
  border: none;
  cursor: pointer;
}

.popup-close {
  position: absolute;
  top: 8px;
  right: 10px;
  background: none;
  border: none;
  font-size: 20px;
  cursor: pointer;
}
/* ======================================================
   BLOG SUBSCRIBE POPUP — CLEAN EDITORIAL (FINAL)
====================================================== */

.blog-popup {
  position: fixed;
  inset: 0;
  background: rgba(15, 15, 15, 0.65);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}

.blog-popup-inner {
  width: 100%;
  max-width: 520px;
  background: #faf9f6;
  border: 1px solid #e5dcc7;
  box-shadow: 0 30px 80px rgba(0,0,0,0.35);
  padding: 0;
  position: relative;
  font-family: "Georgia", "Times New Roman", serif;
  border-radius: 0 !important;
}

/* ===== HEADER (FLAT, NO SHAPES) ===== */
.popup-header {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  background: #faf9f6;
  border-radius: 0 !important;
}

/* Thin gold editorial rule */
.popup-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: #c9a24d;
}

.popup-header-text {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #1a1a1a;
}

/* Close button */
.popup-close {
  background: none;
  border: none;
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
  color: #1a1a1a;
  padding: 0;
}

/* ===== BODY TEXT ===== */
.popup-text {
  padding: 18px 20px 6px;
  font-size: 15px;
  color: #444;
  line-height: 1.6;
}

/* ===== FORM ===== */
#blogPopupForm {
  padding: 0 20px 22px;
}

#blogPopupForm input {
  width: 100%;
  padding: 12px 14px;
  margin-bottom: 12px;
  font-size: 14px;
  border: 1px solid #cfc8b8;
  background: #fff;
  outline: none;
}

#blogPopupForm input:focus {
  border-color: #b79a4c;
}

.popup-split {
  display: flex;
  gap: 10px;
}

/* Button */
#blogPopupForm button {
  width: 100%;
  padding: 12px;
  background: #c9a24d;
  color: #000;
  border: none;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

#blogPopupForm button:hover {
  background: #b08c2f;
}
/* ======================================================
   HARD OVERRIDE — REMOVE GOLD OVAL COMPLETELY
   (FINAL SAFETY KILL)
====================================================== */

.blog-popup-inner::before,
.blog-popup-inner::after,
.popup-header::before,
.popup-header::after {
  content: none !important;
  display: none !important;
}

/* Force flat header */
.popup-header {
  background: #faf9f6 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

/* Kill any rounded shapes inside popup */
.blog-popup-inner,
.blog-popup-inner * {
  border-radius: 0 !important;
}

/* Gold line ONLY — flat rule */
.popup-header {
  border-top: 2px solid #c9a24d !important;
}

/* Ensure no gold backgrounds sneak in */
.popup-header,
.popup-header-text {
  background-image: none !important;
}
/* ======================================================
   FINAL OVERRIDE — KILL POPUP HOVER OVAL (DEFINITIVE)
====================================================== */

/* Remove ALL pseudo layers permanently */
.popup-header::before,
.popup-header::after,
.popup-header:hover::before,
.popup-header:hover::after,
.blog-popup-inner::before,
.blog-popup-inner::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
}

/* Disable hover effects entirely */
.popup-header,
.popup-header:hover,
.popup-header:focus,
.popup-header:active {
  background: #faf9f6 !important;
  box-shadow: none !important;
  filter: none !important;
}

/* Kill transitions that may animate shapes */
.popup-header *,
.popup-header {
  transition: none !important;
}

/* Ensure close button never triggers overlay */
.popup-close,
.popup-close:hover {
  background: transparent !important;
}
/* ======================================================
   FINAL BLOG FLOW RELEASE — NO CLIPPING ANYWHERE
====================================================== */

/* Force all layout wrappers to allow full scroll */
body,
.page,
.container,
.wrapper,
.section,
.content,
.content-wrap {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Ensure footer sits AFTER full content */
.site-footer {
  position: relative !important;
  margin-top: 60px;
}
/* ================= BLOG INDEX SAFETY FIX ================= */

/* Ensure blog pages can grow naturally */
.blog-index,
.blog-article,
main,
article {
  height: auto !important;
  max-height: none !important;
  overflow: visible !important;
}

/* Prevent footer from overlapping content */
.site-footer {
  position: relative !important;
}

/* Ensure body allows scrolling */
body {
  overflow-y: auto !important;
}
/* ======================================================
   EDITORIAL BLOG ARTICLE — NEWSPAPER / MAGAZINE STYLE
====================================================== */

.blog-article {
  background: #f7f6f2; /* soft paper tone */
  padding: 80px 20px 120px;
}

.blog-article article {
  max-width: 860px;            /* readable column */
  margin: 0 auto;
  background: #ffffff;
  padding: 70px 80px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.08);
}

/* Masthead spacing */
.blog-masthead-strong {
  text-align: center;
  margin-bottom: 50px;
}

.masthead-title {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 18px;
  letter-spacing: 0.18em;
  font-weight: 600;
}

.masthead-subtitle {
  font-size: 12px;
  letter-spacing: 0.14em;
  margin-top: 8px;
  color: #666;
}

.masthead-date {
  font-size: 13px;
  margin-top: 10px;
  color: #888;
}

.masthead-rule {
  width: 80px;
  height: 2px;
  background: #c9a24d;
  margin: 22px auto 0;
}

/* Headings */
.blog-article h1 {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 36px;
  line-height: 1.3;
  margin: 40px 0 16px;
}

.blog-article h2 {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 24px;
  margin: 50px 0 18px;
}

/* Meta line */
.blog-context {
  font-size: 13px;
  letter-spacing: 0.04em;
  color: #777;
  margin-bottom: 40px;
}

/* Body text */
.blog-content p {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 17px;
  line-height: 1.75;
  margin-bottom: 20px;
  color: #222;
}

.blog-content ul {
  margin: 20px 0 30px 22px;
}

.blog-content li {
  font-size: 16px;
  line-height: 1.7;
  margin-bottom: 8px;
}

/* Quotes */
.blog-content blockquote {
  font-style: italic;
  border-left: 4px solid #c9a24d;
  padding-left: 18px;
  margin: 30px 0;
  color: #444;
}

/* Divider */
.blog-content hr {
  border: none;
  height: 1px;
  background: #e5e2d8;
  margin: 50px 0;
}

/* Mobile */
@media (max-width: 768px) {
  .blog-article article {
    padding: 40px 24px;
  }

  .blog-article h1 {
    font-size: 28px;
  }

  .blog-content p {
    font-size: 16px;
  }
}
/* ======================================================
   BLOG INDEX — EDITORIAL LIST STYLE
====================================================== */

.blog-index {
  background: #f7f6f2;
  padding: 80px 20px 120px;
}

.blog-index-header {
  max-width: 860px;
  margin: 0 auto 60px;
}

.blog-index-header h1 {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 38px;
  margin-bottom: 12px;
}

.blog-index-header p {
  font-size: 16px;
  color: #555;
  max-width: 720px;
}

.blog-list {
  max-width: 860px;
  margin: 0 auto;
}

.blog-list-item {
  background: #ffffff;
  padding: 36px 40px;
  margin-bottom: 28px;
  box-shadow: 0 10px 40px rgba(0,0,0,0.06);
  border-left: 4px solid #c9a24d;
}

.blog-meta {
  font-size: 13px;
  color: #777;
  margin-bottom: 10px;
}

.blog-title {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 24px;
  margin: 10px 0 12px;
}

.blog-excerpt {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
  margin-bottom: 14px;
}

.blog-readmore {
  font-size: 14px;
  font-weight: 600;
  color: #000;
  text-decoration: none;
}

.blog-readmore:hover {
  text-decoration: underline;
}

/* Mobile */
@media (max-width: 768px) {
  .blog-list-item {
    padding: 28px 24px;
  }

  .blog-title {
    font-size: 20px;
  }
}
/* ======================================================
   BLOG ARTICLE — EDITORIAL READING LAYOUT
====================================================== */

.blog-article {
  background: #f7f6f2;
  padding: 80px 20px 120px;
}

.blog-article article {
  max-width: 860px;
  margin: 0 auto;
  background: #ffffff;
  padding: 80px 90px;
  box-shadow: 0 20px 70px rgba(0,0,0,0.08);
}

/* Headings */
.blog-article h1 {
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 36px;
  line-height: 1.3;
  margin-bottom: 18px;
}

/* Intro/meta */
.blog-context {
  font-size: 14px;
  color: #777;
  margin-bottom: 40px;
}

/* Paragraphs */
.blog-content p {
  font-size: 18px;
  line-height: 1.75;
  color: #222;
  margin-bottom: 26px;
  font-family: "Georgia", "Times New Roman", serif;
}

/* Sub-headings */
.blog-content h2 {
  font-size: 24px;
  margin: 60px 0 18px;
  font-family: "Georgia", "Times New Roman", serif;
}

/* Mobile */
@media (max-width: 900px) {
  .blog-article article {
    padding: 50px 28px;
  }

  .blog-article h1 {
    font-size: 28px;
  }

  .blog-content p {
    font-size: 16px;
  }
}
/* ======================================================
   BLOG DETAIL PAGE — FORCE CENTER ALIGNMENT (FINAL FIX)
====================================================== */

/* Center any article inside main */
main article {
  max-width: 820px;
  margin: 0 auto;
  padding: 0 20px;
}

/* Improve reading rhythm */
main article p {
  font-size: 17px;
  line-height: 1.75;
  margin-bottom: 22px;
  color: #2a2a2a;
}

/* Headings spacing */
main article h1,
main article h2,
main article h3 {
  margin-top: 42px;
  margin-bottom: 18px;
  line-height: 1.25;
}

/* Paper-like background */
main article {
  background: #faf9f6;
  padding: 48px 56px;
  border-radius: 2px;
}

/* Mobile safety */
@media (max-width: 768px) {
  main article {
    padding: 28px 22px;
  }
}
/* =========================================
   BLOG ARTICLE — PAPER / MAGAZINE LAYOUT
   ========================================= */

.blog-content {
  max-width: 820px;              /* reading width */
  margin: 60px auto 100px auto;  /* center on page */
  padding: 60px 70px;
  background: #fdfcf9;           /* paper tone */
  box-shadow: 0 20px 60px rgba(0,0,0,0.06);
  border-radius: 2px;
}

/* Paragraph readability */
.blog-content p {
  font-size: 18px;
  line-height: 1.85;
  color: #1e1e1e;
  margin-bottom: 22px;
}

/* Section headings */
.blog-content h2 {
  font-size: 26px;
  margin: 60px 0 18px;
  font-weight: 600;
  color: #111;
}

/* Horizontal rules inside article */
.blog-content hr {
  border: none;
  border-top: 1px solid #e2ddcf;
  margin: 50px 0;
}

/* Mobile refinement */
@media (max-width: 900px) {
  .blog-content {
    padding: 40px 24px;
    margin: 40px auto 80px auto;
  }

  .blog-content p {
    font-size: 16px;
    line-height: 1.75;
  }
}
/* =========================================
   BLOG ARTICLE HEADER ALIGNMENT FIX
   ========================================= */

/* Center article title + meta to match paper width */
.blog-article h1,
.blog-article .blog-context {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* Spacing refinement */
.blog-article h1 {
  margin-top: 60px;
  margin-bottom: 18px;
}

.blog-article .blog-context {
  margin-bottom: 40px;
}

/* Mobile */
@media (max-width: 900px) {
  .blog-article h1,
  .blog-article .blog-context {
    padding-left: 24px;
    padding-right: 24px;
  }
}
/* =========================================
   FORCE BLOG TITLE ALIGNMENT (FINAL FIX)
   ========================================= */

/* Main article title */
h1 {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* Article meta line */
.blog-context {
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

/* Prevent title from stretching edge-to-edge */
h1 {
  line-height: 1.25;
}

/* Mobile safety */
@media (max-width: 900px) {
  h1,
  .blog-context {
    padding-left: 24px;
    padding-right: 24px;
  }
}
/* ======================================================
   FLAGSHIP BLOG ARTICLE — FINAL LOCKED LAYOUT
   (Fixes alignment, width, paper feel)
====================================================== */

.blog-article {
  background: #f7f6f2;
  padding: 60px 0;
}

.blog-article article {
  max-width: 760px;
  margin: 0 auto;
  background: #ffffff;
  padding: 64px 72px;
  box-shadow: 0 20px 60px rgba(0,0,0,0.06);
}

/* Masthead */
.blog-masthead-strong {
  text-align: center;
  margin-bottom: 48px;
}

.masthead-title {
  font-size: 20px;
  letter-spacing: 0.22em;
  font-weight: 600;
}

.masthead-subtitle {
  margin-top: 10px;
  font-size: 12px;
  letter-spacing: 0.14em;
  color: #777;
}

.masthead-date {
  margin-top: 8px;
  font-size: 13px;
  color: #999;
}

.masthead-rule {
  width: 48px;
  height: 2px;
  background: #c9a24d;
  margin: 22px auto 0;
}

/* Title */
.blog-article h1 {
  text-align: center;
  font-size: 34px;
  line-height: 1.3;
  margin-bottom: 12px;
}

/* Context line */
.blog-context {
  text-align: center;
  font-size: 13px;
  color: #777;
  margin-bottom: 42px;
}

/* Article body */
.blog-content {
  font-size: 18px;
  line-height: 1.75;
  color: #222;
}

.blog-content p {
  margin-bottom: 22px;
}

/* Headings inside article */
.blog-content h2 {
  margin-top: 48px;
  margin-bottom: 14px;
  font-size: 22px;
  line-height: 1.4;
}

/* Lists */
.blog-content ul {
  margin: 16px 0 28px 22px;
}

.blog-content li {
  margin-bottom: 10px;
}

/* Blockquote */
.blog-content blockquote {
  margin: 28px 0;
  padding-left: 18px;
  border-left: 3px solid #c9a24d;
  font-style: italic;
  color: #555;
}

/* Divider */
.blog-content hr {
  border: none;
  height: 1px;
  background: #e5e2d8;
  margin: 44px 0;
}

/* Mobile safety */
@media (max-width: 768px) {
  .blog-article article {
    padding: 42px 24px;
  }

  .blog-article h1 {
    font-size: 26px;
  }

  .blog-content {
    font-size: 16px;
  }
}
/* =========================
   CONTACT PAGE — PREMIUM FORM
========================= */

.contact-page {
  max-width: 960px;
  margin: 0 auto;
  padding: 80px 20px 100px;
}

.contact-intro {
  text-align: center;
  margin-bottom: 60px;
}

.contact-intro h1 {
  font-size: 34px;
  font-weight: 500;
  letter-spacing: 0.02em;
}

.contact-intro p {
  max-width: 620px;
  margin: 18px auto 0;
  font-size: 16px;
  color: #555;
  line-height: 1.7;
}

.contact-form-section {
  background: #faf9f6; /* soft paper */
  border: 1px solid #e4dfd2;
  padding: 48px 42px 52px;
}

.contact-form {
  max-width: 620px;
  margin: 0 auto;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  width: 100%;
  padding: 14px 16px;
  font-size: 15px;
  border: 1px solid #cfc8b8;
  background: #fff;
  margin-bottom: 16px;
  outline: none;
}

.contact-form input:focus,
.contact-form select:focus,
.contact-form textarea:focus {
  border-color: #b79a4c;
}

.contact-form textarea {
  min-height: 120px;
  resize: vertical;
}

.contact-form select {
  background-color: #fff;
}

.contact-form button {
  margin-top: 24px;
  width: 100%;
  padding: 14px;
  background: #c9a24d;
  color: #111;
  border: none;
  font-size: 15px;
  font-weight: 600;
  cursor: pointer;
}

.contact-form button:hover {
  background: #b08c2f;
}

.contact-note {
  margin-top: 18px;
  font-size: 13px;
  color: #777;
  text-align: center;
  line-height: 1.5;
}

/* CONDITIONAL FIELD GROUPS */
.conditional {
  display: none;
  margin-top: 12px;
}

.main-nav .contact-btn:hover {
  background: #b08c2f;
  color: #111 !important;
}
/* Reduce visual heaviness */
.contact-form-section {
  padding: 42px 36px;
}

.contact-form input,
.contact-form select,
.contact-form textarea {
  margin-bottom: 12px;
}

/* Section dividers */
.form-section-title {
  font-size: 14px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #777;
  margin: 28px 0 14px;
}
/* === FINAL FIX: Header Contact Button === */
.main-nav .contact-btn {
  background: var(--gold);
  color: #111 !important;
  font-weight: 600;
}

.main-nav .contact-btn:hover {
  background: #b08c2f;
  color: #111 !important;
}
/* ================= BLOG ARTICLE NAV ================= */
.blog-article-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 60px auto 40px;
  max-width: 900px;
  padding-top: 30px;
  border-top: 1px solid #e6e2d6;
  font-family: "Georgia", "Times New Roman", serif;
}

.blog-article-nav a {
  text-decoration: none;
  font-size: 14px;
  color: #2a2a2a;
  font-weight: 600;
}

.blog-nav-center a {
  font-weight: 500;
  opacity: 0.7;
}

.blog-article-nav a:hover {
  text-decoration: underline;
}
/* Contact Page – Luxury Heading */
.contact-intro h1 {
  font-family: "Playfair Display", "Georgia", serif;
  font-weight: 600;
  letter-spacing: 0.5px;
  font-size: 2.4rem;
  color: #3a2a1a; /* deep luxury brown */
  margin-bottom: 12px;
}
/* ================= CONTACT PAGE – COMPACT SPACING ================= */

/* Reduce top & bottom space of intro */
.contact-intro {
  margin-bottom: 20px;
  padding-bottom: 0;
}

/* Tighten form container */
.contact-form-section {
  padding-top: 10px;
  padding-bottom: 20px;
}

/* Reduce spacing between inputs */
.contact-form input,
.contact-form select,
.contact-form textarea {
  margin-bottom: 10px;
  padding: 10px 12px;
  font-size: 0.95rem;
}

/* Reduce textarea height slightly */
.contact-form textarea {
  min-height: 90px;
}

/* Reduce space before submit button */
.contact-form button {
  margin-top: 12px;
  padding: 12px;
}

/* Make thank-you note compact but readable */
.contact-note {
  margin-top: 10px;
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Reduce spacing between conditional blocks */
.conditional {
  margin-bottom: 8px;
}
.footer-social img {
  width: 28px;
  height: 28px;
  opacity: 0.85;
}

.footer-social img:hover {
  opacity: 1;
}
/* ================= FOOTER SOCIAL ICONS (FINAL) ================= */
.footer-social {
  margin-top: 10px;
  display: flex;
  gap: 14px;
  justify-content: flex-end;
  align-items: center;
}

.footer-social a {
  display: inline-flex;
}

.footer-social img {
  width: 28px;
  height: 28px;
  opacity: 1;
  filter: none;
}
/* ================= HERO GOLD – INTERACTION RESTORE ================= */

.hero-gold {
  transition: transform 0.35s ease;
}

.hero-gold:hover {
  transform: translateY(-2px);
}

.hero-gold .hero-inner {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.hero-gold:hover .hero-inner {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.25);
}

/* CTA buttons */
.hero-gold .hero-actions a {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hero-gold .hero-actions a:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
/* ================= PROJECTS – UNIFIED GRID ================= */

/* Main grid (first 6 cards) */
.projects-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* Last row (2 cards) */
.projects-last-row {
  display: flex;
  justify-content: center;
  gap: 28px;
  margin-top: 28px;
}

/* Force identical card sizing everywhere */
.project-card {
  width: 100%;
  max-width: 360px;
}
/* ================= PROJECTS – FORCE LAST ROW CENTER ================= */

.projects-last-row {
  display: flex !important;
  justify-content: center;
  align-items: stretch;
  gap: 28px;
  margin-top: 32px;
  width: 100%;
}

.projects-last-row .project-card {
  width: 100%;
  max-width: 360px;
}
/* ================= HERO – FULL SECTION HOVER ================= */

.hero-gold {
  transition: transform 0.35s ease;
}

.hero-gold:hover {
  transform: translateY(-3px);
}

.hero-gold .hero-inner {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.hero-gold:hover .hero-inner {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(0, 0, 0, 0.28);
}
/* ================= HERO IMAGE – MICRO ZOOM ================= */

.hero-image img {
  transition: transform 0.45s ease, box-shadow 0.45s ease;
  will-change: transform;
}

.hero-image img:hover {
  transform: scale(1.035);
  box-shadow: 0 24px 52px rgba(0, 0, 0, 0.32);
}
/* ================= HERO CTA – BUTTON RESPONSE ================= */

.hero-actions a {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.hero-actions a:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
/* ================= GLOBAL CARD HOVER SYSTEM ================= */

.project-card,
.advisory-box,
.builder-ad-card,
.content-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.project-card:hover,
.advisory-box:hover,
.builder-ad-card:hover,
.content-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0,0,0,0.22);
}
/* ================= GLOBAL BUTTON HOVER ================= */

a.btn-primary,
a.btn-secondary,
button {
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

a.btn-primary:hover,
a.btn-secondary:hover,
button:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
/* ================= GLOBAL HERO HOVER ================= */

.hero-gold {
  transition: transform 0.35s ease;
}

.hero-gold:hover {
  transform: translateY(-3px);
}

.hero-gold .hero-inner {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.hero-gold:hover .hero-inner {
  transform: translateY(-5px);
  box-shadow: 0 22px 48px rgba(0,0,0,0.28);
}

/* Hero image */
.hero-image img {
  transition: transform 0.45s ease, box-shadow 0.45s ease;
}

.hero-image img:hover {
  transform: scale(1.035);
  box-shadow: 0 24px 52px rgba(0,0,0,0.32);
}
/* ================= FINAL PROPERTIES LAST ROW FIX ================= */

.projects-last-row {
  display: flex !important;
  justify-content: center;
  gap: 28px;
  margin-top: 32px;
  width: 100%;
}

.projects-last-row .project-card {
  width: 100%;
  max-width: 360px;
}
/* ================= FORCE PROJECT CARD HOVER ================= */

a.project-card {
  display: block;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

a.project-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 22px 48px rgba(0,0,0,0.28) !important;
}

/* Ensure children do not block hover */
a.project-card * {
  pointer-events: none;
}

/* Re-enable click on card itself */
a.project-card {
  pointer-events: auto;
}
/* Image response inside project cards */

a.project-card img {
  transition: transform 0.4s ease;
}

a.project-card:hover img {
  transform: scale(1.03);
}
/* ================= FINAL LAST ROW LOCK ================= */

.projects-last-row {
  display: flex !important;
  justify-content: center;
  gap: 28px;
  margin-top: 32px;
  width: 100%;
}

.projects-last-row a.project-card {
  width: 100%;
  max-width: 360px;
}
/* ================= HARD OVERRIDE: PROJECTS LAST ROW ================= */

/* DESKTOP FORCE */
@media (min-width: 992px) {

  .projects-section .projects-last-row {
    display: flex !important;
    flex-direction: row !important;
    justify-content: center !important;
    align-items: stretch !important;
    gap: 28px !important;
    width: 100% !important;
  }

  .projects-section .projects-last-row a.project-card {
    width: 100% !important;
    max-width: 360px !important;
    margin: 0 !important;
  }

}
/* ================= BUYER POPUP VISIBILITY OVERRIDE ================= */

.property-popup-overlay {
  display: none;
}

.property-popup-overlay[style*="display: flex"] {
  display: flex !important;
}
/* ================= PROPERTIES PAGE – HERO INTRO ================= */

/* Red, cursive, bold headline */
.properties-hero-title {
  color: #8b2c2c;               /* same deep red used across site */
  font-weight: 700;
  font-style: italic;
  letter-spacing: 0.3px;
}

/* Hover effect – same premium lift as homepage */
.properties-intro .luxury-box {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.properties-intro .luxury-box:hover {
  transform: translateY(-6px);
  box-shadow:
    0 8px 20px rgba(0, 0, 0, 0.18),
    0 22px 55px rgba(0, 0, 0, 0.25);
}}

/* Disable hover lift on mobile */
@media (max-width: 768px) {
  .properties-intro .luxury-box:hover {
    transform: none;
    box-shadow: none;
  }
}
/* Buyers hero red cursive highlight */
.buyers-hero-highlight {
  color: #8b0000;            /* deep advisory red */
  font-family: "Playfair Display", "Georgia", cursive;
  font-weight: 700;
}
/* Buyers hero luxury handwritten emphasis */
.buyers-hero-handwrite {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  color: #7a0c0c;          /* deep, mature red */
  font-weight: 700;       /* bolder, authoritative */
  letter-spacing: 0.2px;  /* slightly tighter for luxury feel */
}
/* ================= PROPERTIES PAGE HERO — FINAL OVERRIDE ================= */

.properties-page .properties-intro h1 {
  color: #8b2c2c; /* advisory red */
  font-family: "Playfair Display", Georgia, cursive;
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0.3px;
}

/* Premium hover lift on hero box */
.properties-page .properties-intro .luxury-box {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.properties-page .properties-intro .luxury-box:hover {
  transform: translateY(-4px);
  box-shadow:
    0 10px 28px rgba(0, 0, 0, 0.18),
    0 22px 55px rgba(0, 0, 0, 0.25);
}

/* Disable hover lift on mobile */
@media (max-width: 768px) {
  .properties-page .properties-intro .luxury-box:hover {
    transform: none;
    box-shadow: none;
  }
}
/* ================= BUYERS PAGE HERO — FINAL OVERRIDE ================= */

.buyers-page .properties-intro h1,
.buyers-page .buyers-hero-handwrite {
  color: #8b2c2c; /* same advisory red as Properties */
  font-family: "Playfair Display", Georgia, serif;
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0.3px;
}
/* ================= BUYERS PAGE HERO — MATCH PROPERTIES ================= */

.buyers-page .properties-intro h1 {
  color: #8b2c2c; /* same advisory red */
  font-family: "Playfair Display", Georgia, cursive;
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0.3px;
}
/* ================= BUYERS PAGE — SPACING TIGHTEN ================= */

/* Reduce gap after property categories section */
.buyers-page .properties-luxury {
  margin-bottom: 24px;
}

/* Reduce gap before and after CTA */
.buyers-page .properties-cta {
  margin-top: 24px;
  margin-bottom: 24px;
}
/* ================= BUYERS PAGE — CTA SPACING (BALANCED) ================= */

/* Space after property categories block */
.buyers-page .properties-luxury {
  margin-bottom: 48px;
}

/* Space above and below CTA block */
.buyers-page .properties-cta {
  margin-top: 48px;
  margin-bottom: 48px;
}
/* ================= BUYERS PAGE — FINAL SPACING FIX ================= */

/* Remove stacked margins inside Buyers content boxes */
.buyers-page .properties-luxury .luxury-box {
  margin-bottom: 0;
}

/* Controlled space after Buyers content */
.buyers-page .properties-luxury {
  margin-bottom: 40px;
}

/* Controlled space above & below CTA */
.buyers-page .properties-cta {
  margin-top: 0;
  margin-bottom: 40px;
}
/* ================= BUYERS PAGE — HARD SPACING RESET ================= */

/* Reset padding & margin that cause huge gaps */
.buyers-page .properties-luxury,
.buyers-page .properties-cta {
  margin: 0;
  padding: 0;
}

/* Reset inner containers */
.buyers-page .properties-luxury .about-container,
.buyers-page .properties-cta .about-container,
.buyers-page .properties-luxury .luxury-box {
  margin: 0;
  padding: 0;
}

/* Re-apply clean, controlled spacing */
.buyers-page .properties-luxury {
  padding-bottom: 48px;
}

.buyers-page .properties-cta {
  padding-top: 48px;
  padding-bottom: 48px;
}
/* ================= BUYERS CTA POSITION FIX ================= */

/* Pull CTA closer to content without touching middle sections */
.buyers-page .properties-cta {
  margin-top: -120px;
}
/* ================= BUYERS PAGE — FINAL STABILIZER ================= */

/* Buyers hero heading — match Properties, override all earlier rules */
.buyers-page .properties-intro h1 {
  color: #8b2c2c !important;
  font-family: "Playfair Display", Georgia, serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: 0.3px !important;
}

/* Buyers CTA spacing — override all earlier spacing experiments */
.buyers-page .properties-cta {
  margin-top: 32px !important;
  margin-bottom: 32px !important;
}
/* Buyers page – final vertical rhythm tweak */
.buyers-page .properties-cta {
  margin-top: 20px !important;
}
/* ================= BUYERS PAGE — CONTAINER PADDING FIX (FINAL) ================= */

/* Reduce excessive vertical padding only on Buyers page */
.buyers-page .about-container {
  padding-top: 40px;
  padding-bottom: 40px;
}
/* ================= BUYERS PAGE — HARD RESET & REBUILD (FINAL) ================= */

/* 1. Kill inherited global padding that is breaking layout */
.buyers-page .about-container {
  padding: 0 !important;
}

/* 2. Re-apply controlled spacing ONCE per section */
.buyers-page .properties-intro .about-container {
  padding: 48px 20px;
}

.buyers-page .properties-luxury .about-container {
  padding: 36px 20px;
}

.buyers-page .properties-cta .about-container {
  padding: 40px 20px;
}

/* 3. Ensure page stays centered and balanced */
.buyers-page {
  max-width: 1200px;
  margin: 0 auto;
}
/* ================= BUYERS PAGE — HERO SPACING FIX ================= */

/* Space between header and hero */
.buyers-page .properties-intro {
  padding-top: 48px;
  padding-bottom: 32px;
}
/* ================= BUYERS PAGE — CTA CENTER & HOVER ================= */

.buyers-page .properties-cta {
  display: flex;
  justify-content: center;
}

.buyers-page .properties-cta .luxury-box {
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.buyers-page .properties-cta .luxury-box:hover {
  transform: translateY(-4px);
  box-shadow:
    0 10px 28px rgba(0,0,0,0.18),
    0 22px 55px rgba(0,0,0,0.25);
}

/* Disable hover on mobile */
@media (max-width: 768px) {
  .buyers-page .properties-cta .luxury-box:hover {
    transform: none;
    box-shadow: none;
  }
}
/* ================= BUYERS PAGE — CTA SPACING (MATCH HERO) ================= */

.buyers-page .properties-cta {
  padding-top: 48px;     /* same visual rhythm as hero */
  padding-bottom: 48px;  /* space before footer */
}
/* ================= NRI PAGE — CTA FOOTER SPACING TIGHTEN ================= */

.nri-page .properties-cta {
  padding-bottom: 32px;   /* reduce space before footer */
}
/* ================= FOOTER WIDTH & SIDE GAP FIX ================= */

/* Ensure footer spans full width without side gaps */
.site-footer {
  width: 100%;
  overflow-x: hidden;
}

/* Remove excessive side padding inside footer only */
.site-footer .footer-inner {
  max-width: 1200px;      /* keep layout aligned with site */
  margin: 0 auto;
  padding-left: 20px;
  padding-right: 20px;
}
/* FORCE PROPERTY CARD CLICKABILITY */
.property-row {
  position: relative;
  cursor: pointer;
}

.property-row * {
  pointer-events: none;
}
/* ================= INVESTOR PAGE SPACING FIX ================= */

/* Reduce excess gap between last content block and CTA */
.investor-page .properties-luxury {
  padding-bottom: 20px !important;
}

/* Tighten CTA section spacing */
.investor-page .properties-cta {
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

/* Prevent luxury-box from adding extra vertical space */
.investor-page .properties-cta .luxury-box {
  margin-bottom: 0 !important;
}
/* ================= BUILDER CTA SPACING FIX ================= */
.builders-page .properties-cta {
  margin-top: 24px;
  margin-bottom: 24px;
}

.builders-page .properties-luxury {
  padding-bottom: 16px;
}
/* ================= BUILDER PAGE SPACING — FORCE FIX ================= */

/* Reduce gap ABOVE CTA */
.builders-page .properties-luxury {
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

/* Reduce gap BELOW CTA */
.builders-page .properties-cta {
  margin-top: 16px !important;
  margin-bottom: 16px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Reduce inner box spacing */
.builders-page .properties-cta .luxury-box {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
/* =========================================================
   PHASE P — HOMEPAGE LUXURY & AUTHORITY POLISH (DESKTOP + MOBILE)
   Scope: Homepage only
   Safe: CSS-only, no HTML changes
   ========================================================= */

/* ---------- GLOBAL LUXURY RHYTHM (HOMEPAGE ONLY) ---------- */
body.homepage main > section {
  margin-bottom: 88px;
}

@media (max-width: 768px) {
  body.homepage main > section {
    margin-bottom: 64px;
  }
}

/* ---------- HERO REFINEMENT ---------- */
body.homepage .hero {
  padding: 120px 0 110px;
}

body.homepage .hero h1 {
  max-width: 920px;
  margin: 0 auto 22px;
  line-height: 1.15;
  letter-spacing: -0.4px;
}

body.homepage .hero p {
  max-width: 720px;
  margin: 0 auto 36px;
  font-size: 18px;
  opacity: 0.9;
}

@media (max-width: 768px) {
  body.homepage .hero {
    padding: 90px 18px 80px;
  }

  body.homepage .hero h1 {
    font-size: 28px;
  }

  body.homepage .hero p {
    font-size: 15px;
  }
}

/* ---------- CARD / BLOCK DISCIPLINE ---------- */
body.homepage .card,
body.homepage .trust-card,
body.homepage .project-card,
body.homepage .location-card {
  border-radius: 14px;
  box-shadow: 0 14px 34px rgba(0,0,0,0.14);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

body.homepage .card:hover,
body.homepage .project-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 46px rgba(0,0,0,0.22);
}

/* ---------- TEXT INSIDE BOXES (AUTHORITY LOOK) ---------- */
body.homepage .card h3,
body.homepage .project-card h3,
body.homepage .trust-card h3 {
  margin-bottom: 14px;
  line-height: 1.25;
}

body.homepage .card p,
body.homepage .project-card p,
body.homepage .trust-card p {
  line-height: 1.65;
  opacity: 0.88;
}

/* ---------- GRID ALIGNMENT FIX ---------- */
body.homepage .projects-grid,
body.homepage .locations-grid {
  align-items: stretch;
}

/* ---------- CTA DISCIPLINE ---------- */
body.homepage .cta-button,
body.homepage a.button,
body.homepage .contact-btn {
  border-radius: 10px;
  padding: 14px 26px;
  font-weight: 600;
  letter-spacing: 0.3px;
}

/* ---------- TRUST / ADVISORY SECTION ---------- */
body.homepage .trust-section {
  padding: 90px 0;
}

body.homepage .trust-section .trust-card {
  padding: 48px 42px;
}

@media (max-width: 768px) {
  body.homepage .trust-section {
    padding: 64px 16px;
  }

  body.homepage .trust-section .trust-card {
    padding: 32px 22px;
  }
}

/* ---------- IMAGE TREATMENT ---------- */
body.homepage img {
  border-radius: 12px;
}

body.homepage .project-card img {
  transition: transform 0.4s ease;
}

body.homepage .project-card:hover img {
  transform: scale(1.035);
}

/* ---------- MOBILE STACKING CLEANUP ---------- */
@media (max-width: 768px) {
  body.homepage .projects-grid,
  body.homepage .locations-grid {
    gap: 22px;
  }

  body.homepage .project-card,
  body.homepage .location-card {
    margin-bottom: 6px;
  }
}

/* ---------- WHITESPACE SANITY LOCK ---------- */
body.homepage section:last-of-type {
  margin-bottom: 0;
}

/* =========================================================
   END PHASE P — HOMEPAGE LUXURY POLISH
   ========================================================= */

/* =========================================================
   PHASE P1′ — HOMEPAGE LUXURY & AUTHORITY POLISH
   Scope: HOMEPAGE ONLY (DESKTOP + MOBILE)
   Safe append — paste at BOTTOM of style.css
   ========================================================= */

/* ---------- GLOBAL RHYTHM (HOME ONLY) ---------- */
body.home main > section {
  margin-bottom: 88px;
}
@media (max-width: 768px) {
  body.home main > section {
    margin-bottom: 64px;
  }
}

/* ---------- HERO (CALM, AUTHORITATIVE) ---------- */
body.home .hero-gold {
  padding: 72px 20px;
}
body.home .hero-gold .hero-inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 44px;
}
body.home .hero-text h1 {
  max-width: 900px;
  margin-bottom: 16px;
  line-height: 1.18;
}
body.home .hero-subtext {
  max-width: 720px;
  font-size: 17px;
  margin-bottom: 26px;
}
@media (max-width: 768px) {
  body.home .hero-gold {
    padding: 48px 16px;
  }
  body.home .hero-gold .hero-inner {
    padding: 28px 22px;
  }
  body.home .hero-text h1 {
    font-size: 26px;
  }
  body.home .hero-subtext {
    font-size: 15px;
  }
}

/* ---------- HERO ACTIONS (THUMB-SAFE) ---------- */
body.home .hero-actions {
  gap: 14px;
}
body.home .hero-actions a {
  padding: 12px 24px;
  border-radius: 10px;
}

/* ---------- ADVISORY STRIP (BALANCED BLOCKS) ---------- */
body.home .advisory-section {
  padding: 36px 20px 28px;
}
body.home .advisory-inner {
  gap: 28px;
}
body.home .advisory-box {
  min-height: 240px;
  padding: 26px 22px;
}
@media (max-width: 768px) {
  body.home .advisory-inner {
    grid-template-columns: 1fr;
  }
  body.home .advisory-box {
    min-height: auto;
  }
}

/* ---------- PROJECTS INTRO (CENTERED, QUIET) ---------- */
body.home .projects-section {
  padding: 18px 20px 36px;
}
body.home .projects-intro {
  margin-bottom: 24px;
}
body.home .projects-intro h2 {
  font-size: 30px;
  margin-bottom: 6px;
}
body.home .projects-intro p {
  max-width: 760px;
}

/* ---------- PROJECT CARDS (CONSISTENT HEIGHTS) ---------- */
body.home .projects-inner {
  gap: 28px;
}
body.home .project-card {
  border-radius: 14px;
}
body.home .project-card img {
  height: 220px;
}
body.home .project-body {
  padding: 18px 18px 20px;
}
@media (max-width: 768px) {
  body.home .projects-inner {
    grid-template-columns: 1fr;
    gap: 22px;
  }
  body.home .projects-last-row {
    gap: 22px;
    margin-top: 22px;
  }
}

/* ---------- BUILDER BANNER (BREATHING ROOM) ---------- */
body.home .builder-ad-panel {
  margin: 56px 0;
}
@media (max-width: 768px) {
  body.home .builder-ad-panel {
    margin: 40px 0;
  }
}

/* ---------- IMAGE TREATMENT (SUBTLE, NOT FLASHY) ---------- */
body.home img {
  border-radius: 12px;
}
body.home .project-card img {
  transition: transform 0.35s ease;
}
body.home .project-card:hover img {
  transform: scale(1.03);
}

/* ---------- MOBILE STACKING SANITY ---------- */
@media (max-width: 768px) {
  body.home .hero-image {
    order: -1;
  }
  body.home .hero-image img {
    margin-bottom: 16px;
  }
}

/* ---------- END PHASE P1′ ---------- */

/* === HOME: PROJECTS INTRO CENTER FIX === */
body.home .projects-intro {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  max-width: 860px;
}

body.home .projects-intro h2 {
  margin-left: auto;
  margin-right: auto;
}

body.home .projects-intro p {
  margin-left: auto;
  margin-right: auto;
  max-width: 760px;
}

/* === HOME: PROJECTS → FOOTER SPACING CONTROL === */
body.home .projects-section {
  padding-bottom: 32px;
}

body.home .builder-ad-panel {
  margin-bottom: 32px;
}
/* === FOOTER LOGO CONSISTENCY + SIZE FIX === */
.site-footer .footer-logo {
  height: 68px;        /* bigger, premium */
  width: auto;
  max-width: none;
  display: block;
}
/* === MOBILE HEADER LOGO SIZE FIX === */
@media (max-width: 768px) {
  .site-header .site-logo {
    height: 56px;
  }
}
/* === HOME: MOBILE PROJECT CARD CENTERING === */
@media (max-width: 768px) {
  body.home .projects-inner,
  body.home .projects-last-row {
    align-items: center;
    justify-content: center;
  }

  body.home .project-card {
    margin-left: auto;
    margin-right: auto;
  }
}
/* === HOME: BUILDER BANNER GAP FIX === */
body.home .builder-ad-panel {
  margin-top: 32px;
  margin-bottom: 32px;
}

@media (max-width: 768px) {
  body.home .builder-ad-panel {
    margin-top: 24px;
    margin-bottom: 24px;
  }
}
/* === FOOTER MOBILE COMPRESSION === */
@media (max-width: 768px) {
  .site-footer {
    padding: 24px 16px;
  }

  .footer-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 18px;
  }

  .footer-menu {
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
  }
}
/* === HOME: HERO & PROJECTS SPACING FIX === */

/* Reduce gap ABOVE hero */
body.home .hero-gold {
  margin-top: 24px;
}

/* Reduce gap BELOW property cards */
body.home .projects-section {
  padding-bottom: 24px;
}
/* ================= MOBILE BURGER MENU ================= */

.burger {
  display: none;
  background: none;
  border: none;
  cursor: pointer;
  flex-direction: column;
  gap: 5px;
}

.burger span {
  width: 26px;
  height: 2px;
  background: #111;
  display: block;
}

/* MOBILE ONLY */
@media (max-width: 900px) {

  .burger {
    display: flex;
  }

  .site-logo {
    height: 54px;
  }

  .site-header {
    position: relative;
  }

  .main-nav {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    display: none;
    flex-direction: column;
    align-items: center;
    gap: 14px;
    padding: 24px 0;
    box-shadow: 0 14px 30px rgba(0,0,0,0.12);
    z-index: 999;
  }

  .main-nav.active {
    display: flex;
  }
}
/* ================= MOBILE HEADER FIX ================= */
@media (max-width: 900px) {

  .header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .site-logo {
    height: 48px !important;
  }

  .burger {
    display: block !important;
    font-size: 28px;
    background: none;
    border: none;
    cursor: pointer;
  }

  .main-nav {
    display: none !important;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    gap: 14px;
    box-shadow: 0 14px 30px rgba(0,0,0,0.15);
  }

  .main-nav.show {
    display: flex !important;
  }
}
/* ================= FOOTER MOBILE FIX ================= */
@media (max-width: 900px) {

  .site-footer {
    padding: 24px 16px !important;
  }

  .footer-inner {
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 20px;
  }

  .footer-logo {
    height: 54px !important;
  }

  .footer-menu {
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
  }

  .footer-right {
    align-items: center;
  }
}
/* ================= HOMEPAGE GAP RESET ================= */
body.home.homepage main > section {
  margin-bottom: 32px !important;
}

/* Advisory → Projects */
.advisory-section {
  margin-bottom: 24px !important;
}

/* Projects → Builder strip */
.projects-section {
  margin-bottom: 24px !important;
}

/* Builder strip → Footer */
.builder-ad-panel {
  margin: 24px 0 !important;
}
@media (max-width: 768px) {
  .builder-ad-panel {
    margin: 20px 0 !important;
  }
}
/* ================= FOOTER SIZE CONTROL ================= */
.site-footer {
  padding: 24px 16px !important;
}

.footer-logo {
  height: 48px !important;
}

.footer-disclaimer {
  font-size: 12px !important;
  line-height: 1.55 !important;
  margin-top: 10px !important;
}

@media (max-width: 768px) {
  .footer-inner {
    flex-direction: column;
    align-items: center;
    gap: 16px;
    text-align: center;
  }

  .footer-menu {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .footer-right {
    align-items: center;
  }
}
/* === MOBILE MENU: FULL VISIBILITY + SCROLL === */
@media (max-width: 900px) {
  .main-nav.show {
    max-height: 85vh;          /* stay within screen */
    overflow-y: auto;         /* allow scrolling */
    -webkit-overflow-scrolling: touch;
  }

  .main-nav a {
    width: 100%;
    text-align: center;
  }
}
/* === MOBILE: HERO → ADVISORY GAP REDUCTION === */
@media (max-width: 768px) {
  body.home .hero-gold {
    padding-top: 24px;   /* was 48px */
    padding-bottom: 24px;
  }

  body.home .advisory-section {
    margin-top: 16px !important;
  }
}
/* === MOBILE: KILL HERO → ADVISORY GAP (FINAL) === */
@media (max-width: 768px) {

  body.home .hero-gold {
    padding-top: 20px !important;
    padding-bottom: 12px !important;
    margin-bottom: 0 !important;
  }

  body.home .hero-inner {
    margin-bottom: 0 !important;
    row-gap: 12px !important;
  }

  body.home .advisory-section {
    margin-top: 0 !important;
    padding-top: 16px !important;
  }
}
/* === FOOTER MENU MOBILE: FULL VISIBILITY === */
@media (max-width: 768px) {

  .footer-menu {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .footer-menu a {
    white-space: nowrap;
    font-size: 13px;
  }

  .footer-right {
    overflow: visible !important;
  }
}
/* === DESKTOP: HERO → ADVISORY GAP BALANCE === */
@media (min-width: 769px) {

  body.home .hero-gold {
    padding-bottom: 32px;   /* was visually too large */
    margin-bottom: 0;
  }

  body.home .hero-inner {
    row-gap: 24px;          /* tighten internal spacing */
  }

  body.home .advisory-section {
    margin-top: 24px;       /* pull advisory closer */
  }
}
/* === GLOBAL HEADER CONSISTENCY LOCK === */
.site-header {
  padding-top: 16px;
  padding-bottom: 16px;
}

.site-header .site-logo {
  height: 64px;
}

.main-nav a {
  line-height: 1.2;
}
/* === GLOBAL FOOTER CONSISTENCY LOCK === */
.site-footer {
  padding-top: 32px;
  padding-bottom: 32px;
}

.footer-logo {
  height: 64px;
}

.footer-menu {
  gap: 16px;
}
/* === PROPERTIES: HERO RHYTHM POLISH === */
.properties-page .properties-intro {
  padding-top: 32px;
  padding-bottom: 24px;
}

.properties-page .properties-intro .luxury-box {
  padding: 32px 32px;
}

.properties-page .properties-intro h1 {
  margin-bottom: 12px;
}

.properties-page .properties-intro .sub-note {
  margin-top: 6px;
  font-size: 13px;
  opacity: 0.85;
}
/* === PROPERTIES: ROW SPACING CONTROL === */
.properties-page .properties-luxury {
  padding-top: 12px;
}

.properties-page .property-row {
  margin-bottom: 32px;
}

.properties-page .property-text h3 {
  margin-bottom: 6px;
}

.properties-page .project-location {
  margin-bottom: 6px;
}
/* === PROPERTIES: MOBILE ROW COMPRESSION === */
@media (max-width: 768px) {

  .properties-page .property-row {
    margin-bottom: 24px;
  }

  .properties-page .property-text {
    padding-bottom: 8px;
  }

}
/* === PROPERTIES: CTA CONNECTION === */
.properties-page .properties-cta {
  margin-top: 24px;
  padding-top: 24px;
}
/* === PROPERTIES DESKTOP: CTA + FOOTER GAP CONTROL === */
@media (min-width: 769px) {

  .properties-page .property-row:last-child {
    margin-bottom: 24px;
  }

  .properties-page .properties-cta {
    margin-top: 24px;
    padding-top: 24px;
    padding-bottom: 24px;
  }

  .properties-page .properties-cta + .site-footer {
    margin-top: 0;
  }
}
/* === GLOBAL HEADER LOCK (MATCH HOMEPAGE) === */
.site-header {
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}

.site-header .site-logo {
  height: 64px !important;
}

.site-header .header-inner {
  max-width: 1200px;
  margin: 0 auto;
}
/* === GLOBAL FOOTER LOCK (MATCH HOMEPAGE) === */
.site-footer {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

.footer-logo {
  height: 64px !important;
}

.footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}
/* === PROPERTIES: FOOTER MATCH HOMEPAGE (DESKTOP) === */
@media (min-width: 769px) {

  .properties-page .site-footer {
    margin-top: 0 !important;
    padding-top: 32px !important;
    padding-bottom: 32px !important;
  }

}
/* === PROPERTIES: CTA SPACING CONTROL (DESKTOP) === */
@media (min-width: 769px) {

  .properties-page .properties-cta {
    margin-top: 20px !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }

}
/* === PROPERTIES: MOBILE SECTION COMPRESSION === */
@media (max-width: 768px) {

  .properties-page section {
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

  .properties-page .luxury-box {
    padding: 16px !important;
  }

  .properties-page .property-row {
    margin-bottom: 16px !important;
  }

  .properties-page .properties-cta {
    margin-top: 16px !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
  }

}
/* === PROPERTIES PAGE: FINAL MOBILE COMPRESSION (LOCK) === */
@media (max-width: 768px) {

  /* Section shells */
  .properties-page section {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  /* Hero / CTA boxes */
  .properties-page .luxury-box {
    padding: 14px 14px !important;
  }

  /* Headings tightening */
  .properties-page h1 {
    margin-bottom: 8px !important;
  }

  .properties-page h2 {
    margin-bottom: 8px !important;
  }

  .properties-page h3 {
    margin-bottom: 6px !important;
  }

  /* Paragraph tightening */
  .properties-page p {
    margin-bottom: 6px !important;
    line-height: 1.45 !important;
  }

  /* Property rows */
  .properties-page .property-row {
    margin-bottom: 14px !important;
  }

  /* CTA block */
  .properties-page .properties-cta {
    margin-top: 14px !important;
    padding-top: 14px !important;
    padding-bottom: 14px !important;
  }
}
/* === MOBILE TAP FEEDBACK (REPLACES HOVER) === */
@media (hover: none) {

  a:active,
  button:active,
  .property-row:active {
    transform: scale(0.98);
    opacity: 0.92;
  }

}
/* === ABOUT PAGE: FINAL MOBILE COMPRESSION === */
@media (max-width: 768px) {

  /* Section shells */
  .about-page section {
    padding-top: 12px !important;
    padding-bottom: 12px !important;
  }

  /* Containers */
  .about-page .about-container {
    padding-left: 16px;
    padding-right: 16px;
  }

  /* Hero */
  .about-page .about-hero {
    padding-top: 12px;
    padding-bottom: 12px;
  }

  .about-page .about-hero h1 {
    font-size: 19px !important;
    line-height: 1.25 !important;
    margin-bottom: 6px !important;
  }

  .about-page .about-hero p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
  }

  /* Two-column sections */
  .about-page .about-two-col {
    gap: 12px !important;
  }

  .about-page .about-text h2 {
    font-size: 16px !important;
    margin-bottom: 6px !important;
  }

  .about-page .about-text p {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin-bottom: 6px !important;
  }

  /* Quote + signature */
  .about-page .about-quote {
    font-size: 13px !important;
    margin-bottom: 8px !important;
  }

  .about-page .founder-signature {
    margin-top: 6px !important;
  }

  /* Images */
  .about-page img {
    max-height: 160px;
    object-fit: cover;
  }
}

/* === GLOBAL HEADER / FOOTER / LOGO LOCK === */

/* Header */
.site-header {
  padding: 16px 0 !important;
}

.site-header .header-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.site-header .site-logo {
  height: 64px !important;
}

/* Footer */
.site-footer {
  padding: 28px 16px !important;
}

.site-footer .footer-inner {
  max-width: 1200px;
  margin: 0 auto;
}

.footer-logo {
  height: 64px !important;
}
/* === ABOUT PAGE: MOBILE COMPACT (FINAL) === */
@media (max-width: 768px) {

  /* Sections */
  .about-page section {
    padding: 10px 0 !important;
  }

  .about-page .about-container {
    padding: 0 14px !important;
  }

  /* Hero */
  .about-page .about-hero h1 {
    font-size: 18px !important;
    margin-bottom: 6px !important;
  }

  .about-page .about-hero p {
    font-size: 13px !important;
    margin-bottom: 6px !important;
    line-height: 1.4 !important;
  }

  /* Content */
  .about-page h2 {
    font-size: 16px !important;
    margin-bottom: 6px !important;
  }

  .about-page p {
    font-size: 13px !important;
    margin-bottom: 6px !important;
    line-height: 1.4 !important;
  }

  /* Images */
  .about-page img {
    max-height: 150px;
    object-fit: cover;
  }

  /* Footer tighten */
  .site-footer {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}
/* === INTERACTION FEEDBACK (DESKTOP + MOBILE) === */

/* Desktop hover */
@media (hover: hover) {
  .about-page .about-section:hover,
  .about-page .about-hero:hover {
    transform: translateY(-2px);
    transition: 0.3s ease;
  }
}

/* Mobile tap feedback */
@media (hover: none) {
  .about-page .about-section:active,
  .about-page .about-hero:active {
    transform: scale(0.98);
    opacity: 0.95;
  }
}
/* === ABOUT PAGE: MOBILE SIDE GUTTERS (FINAL) === */
@media (max-width: 768px) {

  /* Add breathing room from screen edges */
  .about-page .about-container {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  /* Ensure boxes don't stretch edge-to-edge */
  .about-page .about-hero,
  .about-page .about-section {
    margin-left: auto;
    margin-right: auto;
  }
}
/* === ABOUT PAGE: MOBILE BOX INTEGRITY FIX (FINAL) === */
@media (max-width: 768px) {

  /* Reset any broken layout influence */
  .about-page .about-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Apply padding ONLY to inner content blocks */
  .about-page .about-hero-text,
  .about-page .about-text {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Images stay full-width but aligned */
  .about-page .about-hero-image,
  .about-page .about-image {
    margin: 0 !important;
  }
}
/* === ABOUT PAGE: MOBILE CARD SLIMMING (FINAL, VISUAL FIX) === */
@media (max-width: 768px) {

  /* Slim the gold cards */
  .about-page .about-hero,
  .about-page .about-section {
    border-radius: 10px !important;
  }

  /* Reduce inner padding of cards */
  .about-page .about-hero-text,
  .about-page .about-text {
    padding: 12px 14px !important;
  }

  /* Reduce border visual dominance */
  .about-page .about-hero::before,
  .about-page .about-section::before {
    border-width: 1px !important;
  }

  /* Reduce image height so card feels smaller */
  .about-page .about-hero-image img,
  .about-page .about-image img {
    max-height: 120px !important;
    border-radius: 8px !important;
  }

  /* Tighten spacing between stacked cards */
  .about-page .about-section {
    margin-bottom: 12px !important;
  }
}
/* === ABOUT PAGE: REMOVE DOUBLE BOX CONFUSION === */

/* Keep only ONE visual container */
.about-page .about-hero,
.about-page .about-section {
  background: #ffffff !important;
}

/* Kill decorative pseudo borders */
.about-page .about-hero::before,
.about-page .about-section::before {
  display: none !important;
}
/* === ABOUT PAGE: TRUE MOBILE SHRINK (NOT TEXT-ONLY) === */
@media (max-width: 768px) {

  /* Remove enforced height */
  .about-page .about-hero,
  .about-page .about-section {
    min-height: unset !important;
  }

  /* Reduce vertical padding at the BOX level */
  .about-page .about-hero,
  .about-page .about-section {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  /* Shrink images decisively */
  .about-page .about-hero-image img,
  .about-page .about-image img {
    max-height: 100px !important;
  }
}
/* =========================
   BUYERS PAGE – MOBILE POLISH
   ========================= */
@media (max-width: 768px) {

  /* Hero box height + center alignment */
  .buyers-page .properties-intro .luxury-box {
    padding: 26px 18px !important;
    text-align: center !important;
  }

  .buyers-page .buyers-hero-handwrite {
    text-align: center !important;
  }

  .buyers-page .properties-intro p,
  .buyers-page .properties-intro .sub-note {
    text-align: center !important;
    margin-left: auto;
    margin-right: auto;
  }

  /* CTA above footer – center button */
  .buyers-page .buyers-cta-box {
    text-align: center !important;
  }

  .buyers-page .buyers-cta-box .cta-btn {
    margin-left: auto !important;
    margin-right: auto !important;
    display: inline-block;
  }
}
/* =========================
   GLOBAL FULL-BOX HOVER (INCLUDING HERO)
   ========================= */

.luxury-box {
  position: relative;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  will-change: transform;
}

/* Ensure entire box (including hero) triggers hover */

  pointer-events: none;
}

/* Re-enable interaction where required */
.luxury-box a,
.luxury-box button {
  pointer-events: auto;
}

/* Desktop hover – uniform across ALL boxes (hero included) */
@media (hover: hover) and (pointer: fine) {
  .luxury-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(0,0,0,0.22);
  }
}

/* Mobile touch feedback – uniform */
@media (hover: none) and (pointer: coarse) {
  .luxury-box:active {
    transform: scale(0.985);
    box-shadow: 0 14px 32px rgba(0,0,0,0.25);
  }
}
/* =========================
   HERO HOVER VISIBILITY FIX
   ========================= */

/* Allow hero box to move visibly */
.buyers-page .properties-intro {
  overflow: visible !important;
}

/* Slightly stronger perception for hero only */
@media (hover: hover) and (pointer: fine) {
  .buyers-page .properties-intro .luxury-box:hover {
    transform: translateY(-8px);
  }
}
/* =========================
   HERO HOVER – FORCE MOTION
   ========================= */

/* Break transform anchoring */
.buyers-page .properties-intro .luxury-box {
  transform: translateY(0) !important;
  will-change: transform;
  backface-visibility: hidden;
}

/* Desktop hover – FORCE visible movement */
@media (hover: hover) and (pointer: fine) {
  .buyers-page .properties-intro .luxury-box:hover {
    transform: translateY(-12px) !important;
  }
}

/* Mobile touch feedback */
@media (hover: none) and (pointer: coarse) {
  .buyers-page .properties-intro .luxury-box:active {
    transform: scale(0.97) !important;
  }
}
/* =========================
   BUYERS PAGE – DESKTOP POLISH
   ========================= */

/* Desktop only */
@media (min-width: 769px) {

  /* HERO SECTION – center text & add breathing space */
  .buyers-page .properties-intro .luxury-box {
    padding: 56px 64px;
    text-align: center;
  }

  .buyers-page .buyers-hero-handwrite {
    text-align: center;
    margin-bottom: 16px;
  }

  .buyers-page .properties-intro p,
  .buyers-page .properties-intro .sub-note {
    text-align: center;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
  }

  /* CTA ABOVE FOOTER – center everything */
  .buyers-page .buyers-cta-box {
    text-align: center;
    padding: 48px 56px;
  }

  .buyers-page .buyers-cta-box .cta-btn {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* =========================
   BUYERS PAGE – DESKTOP BOX SCALE (FINAL)
   ========================= */

@media (min-width: 769px) {

  /* HERO BOX – slightly bigger, calmer */
  .buyers-page .properties-intro .luxury-box {
    padding: 68px 72px;
    text-align: center;
  }

  .buyers-page .buyers-hero-handwrite {
    margin-bottom: 18px;
  }

  .buyers-page .properties-intro p,
  .buyers-page .properties-intro .sub-note {
    max-width: 780px;
    margin-left: auto;
    margin-right: auto;
  }

  /* CTA BOX BEFORE FOOTER – match hero weight */
  .buyers-page .buyers-cta-box {
    padding: 64px 72px;
    text-align: center;
  }

  .buyers-page .buyers-cta-box .cta-btn {
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
  }
}
/* =========================
   BUYERS PAGE – FORCE BOX SIZE (DESKTOP)
   ========================= */

@media (min-width: 769px) {

  /* FORCE HERO BOX SIZE */
  body .buyers-page .properties-intro .luxury-box {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
    padding-left: 72px !important;
    padding-right: 72px !important;
    text-align: center !important;
  }

  /* FORCE CTA BOX SIZE (BEFORE FOOTER) */
  body .buyers-page .buyers-cta .luxury-box,
  body .buyers-page .buyers-cta-box {
    padding-top: 72px !important;
    padding-bottom: 72px !important;
    padding-left: 72px !important;
    padding-right: 72px !important;
    text-align: center !important;
  }

  /* FORCE CTA BUTTON CENTER */
  body .buyers-page .buyers-cta-box .cta-btn {
    display: block !important;
    margin: 28px auto 0 auto !important;
  }
}
/* =========================
   FINAL LUXURY BOX HOVER (CLEAN & SAFE)
   ========================= */

.luxury-box {
  position: relative;
  transition: transform 0.35s ease, box-shadow 0.35s ease;
  will-change: transform;
  cursor: pointer;
}

@media (hover: hover) and (pointer: fine) {
  .luxury-box:hover {
    transform: translateY(-6px);
    box-shadow: 0 18px 42px rgba(0,0,0,0.22);
  }
}

@media (hover: none) and (pointer: coarse) {
  .luxury-box:active {
    transform: scale(0.985);
    box-shadow: 0 14px 32px rgba(0,0,0,0.25);
  }
}
/* ===============================
   INVESTOR POPUP – FORCE FORM VISIBLE
   =============================== */

.investor-page .property-popup-card form {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* ===============================
   MOBILE BURGER VISIBILITY FIX
   =============================== */

.burger {
  display: none;
  background: none;
  border: none;
  font-size: 26px;
  cursor: pointer;
  color: #000;
}

@media (max-width: 768px) {
  .burger {
    display: block;
  }

  .main-nav {
    display: none;
    flex-direction: column;
    background: #fff;
    position: absolute;
    top: 100%;
    right: 0;
    width: 100%;
    padding: 16px 0;
    box-shadow: 0 12px 28px rgba(0,0,0,0.12);
    z-index: 999;
  }

  .main-nav.show {
    display: flex;
  }
}
/* ================= FOOTER LOGO PARITY FIX ================= */

.site-footer .footer-logo {
  max-width: 160px;
  height: auto;
  display: block;
  margin-bottom: 12px;
}
/* ================= FOOTER LOGO PARITY — FINAL FIX ================= */
.site-footer .footer-logo {
  max-width: 160px !important;
  height: auto !important;
}
/* ================= HARD OVERRIDE — FOOTER LOGO PARITY ================= */

body.home footer.site-footer img.footer-logo {
  max-width: 160px !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain !important;
  filter: none !important;
}
/* ================= FINAL FOOTER LOGO FIX (HOME PAGE) ================= */

body.home footer.site-footer img.footer-logo {
  width: auto !important;
  max-width: 160px !important;
  height: auto !important;
}
/* ================= FOOTER PARITY LOCK (HOME = BLOG = CONTACT) ================= */

/* Lock footer left column */
.site-footer .footer-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Lock footer logo appearance everywhere */
.site-footer .footer-logo {
  max-width: 160
}

/* ================= FOOTER PARITY – FINAL LOCK ================= */

/* Footer left column – consistent layout everywhere */
.site-footer .footer-left {
  display: block;
  text-align: left;
}

/* Footer logo – exact size & alignment */
.site-footer img.footer-logo {
  display: block;
  max-width: 140px;
  height: auto;
  margin-bottom: 12px;
}

/* Social icons – fixed small size */
.site-footer .footer-social img {
  width: 22px;
  height: 22px;
  max-width: 22px;
  object-fit: contain;
}
/* ================= FOOTER LOGO – FINAL SAFE OVERRIDE ================= */

/* Highest specificity override without deleting legacy rules */
footer.site-footer .footer-left img.footer-logo {
  width: 140px !important;
  height: auto !important;
  max-width: none !important;
  display: block !important;
}
/* ================= FOOTER DISCLAIMER LOCK ================= */

.site-footer .footer-disclaimer {
  font-size: 13px;
  line-height: 1.6;
  color: #777;
  margin-top: 12px;
  max-width: 420px;
}
/* ================= FOOTER DISCLAIMER VISIBILITY FIX ================= */

/* Ensure disclaimer text is never clipped */
.site-footer .footer-disclaimer {
  max-width: none !important;
  width: 100% !important;
  overflow: visible !important;
  white-space: normal !important;
}

/* Prevent parent columns from clipping text */
.site-footer .footer-left {
  overflow: visible !important;
}
/* ================= BLOG & CONTACT FOOTER HEIGHT FIX ================= */

/* Allow footer to grow naturally on inner pages */
.blog .site-footer,
.contact-page .site-footer {
  height: auto !important;
  min-height: unset !important;
  overflow: visible !important;
}

/* Ensure inner containers don’t clip content */
.blog .site-footer .footer-inner,
.contact-page .site-footer .footer-inner,
.blog .site-footer .footer-left,
.contact-page .site-footer .footer-left {
  height: auto !important;
  overflow: visible !important;
}
/* ===============================
   FIX HEADER → FIRST SECTION GAP
   =============================== */

/* Desktop */
.site-header + main > section:first-child {
  margin-top: 20px;
}

/* Mobile */
@media (max-width: 768px) {
  .site-header + main > section:first-child {
    margin-top: 12px;
  }
}
/* ================= HOME HERO – HEADER GAP FIX ================= */

body > main {
  padding-top: 0 !important;
}

.hero-gold {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

.site-header {
  margin-bottom: 0 !important;
}
/* ================= HOME HERO – CONTROLLED BREATHING GAP ================= */

.hero-gold {
  margin-top: 16px !important; /* desktop + mobile safe */
}
@media (min-width: 1024px) {
  .hero-gold {
    margin-top: 24px !important;
  }
}

/* ================= HERO → ADVISORY MICRO GAP ================= */

.hero-gold {
  margin-bottom: 16px !important;
}

.advisory-strip,
.advisory,
.home-advisory {
  margin-top: 0 !important;
}
/* ================= ADVISORY STRIP TEXT CENTERING ================= */

/* Normalize advisory strip spacing */
.advisory-strip,
.advisory,
.home-advisory {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
}

/* Remove extra margins from advisory headings */
.advisory-strip h2,
.advisory-strip p,
.advisory h2,
.advisory p {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* Remove last extra gap */
.advisory-strip p:last-child,
.advisory p:last-child {
  margin-bottom: 0 !important;
}
/* ================= PROJECTS INTRO VERTICAL CENTERING ================= */

/* Control spacing above & below the projects intro text */
.projects-intro {
  padding-top: 32px !important;
  padding-bottom: 32px !important;
  text-align: center;
}

/* Normalize heading & paragraph margins */
.projects-intro h2 {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

.projects-intro p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* ================= SECTION SEAM CONTROL ================= */

/* Reduce space AFTER advisory strip */
.advisory-section {
  padding-bottom: 24px !important;
  margin-bottom: 0 !important;
}

/* Reduce space BEFORE projects section */
.projects-section {
  padding-top: 24px !important;
  margin-top: 0 !important;
}

/* Keep projects intro text visually centered */
.projects-intro {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
/* ================= ADVISORY BOX ALIGNMENT ================= */

.advisory-inner {
  display: flex;
  align-items: stretch;          /* equal height */
  gap: 24px;
}

.advisory-box {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;       /* vertical centering */
  text-align: center;
  min-height: 160px;             /* locks row alignment */
}
/* ================= PROJECT CARD GRID DISCIPLINE ================= */

.projects-grid,
.project-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

.project-card {
  display: flex;
  flex-direction: column;
  height: 100%;                  /* force equal height */
}

.project-card-content {
  flex: 1;                        /* stretches content */
  display: flex;
  flex-direction: column;
}

.project-card-content .price,
.project-card-content .status {
  margin-top: auto;              /* pushes to bottom */
}
@media (max-width: 768px) {
  .advisory-inner {
    flex-direction: column;
  }

  .projects-grid,
  .project-grid {
    grid-template-columns: 1fr;
  }
}
/* ================= PROJECT GRID FINAL ALIGNMENT ================= */

.projects-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 28px;
}

/* Center last row when items < full row */
.projects-grid > .project-card:last-child:nth-child(3n + 1) {
  grid-column: 2 / span 1;
}
.project-card {
  display: flex;
  flex-direction: column;
}

.project-card .project-content {
  flex: 1;
  display: flex;
  flex-direction: column;
}

.project-card .project-status {
  margin-top: auto;
}
@media (max-width: 768px) {
  .projects-grid {
    grid-template-columns: 1fr;
  }

  .projects-grid > .project-card {
    grid-column: auto;
  }
}
/* ================= PROJECTS GRID – FINAL ALIGNMENT FIX ================= */

/* Main grid */
.projects-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  align-items: stretch;
}

/* Card wrapper */
.project-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Image consistency */
.project-card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 14px;
}

/* Card body – vertical control */
.project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  padding: 18px 18px 22px;
  text-align: center;
}

/* Title spacing consistency */
.project-title {
  margin: 8px 0 6px;
  min-height: 52px;
}

/* Info block – keeps rows aligned */
.project-info {
  flex-grow: 1;
  margin-bottom: 10px;
}

/* Status always at bottom */
.project-status {
  margin-top: auto;
  font-weight: 600;
}

/* ================= FINAL ROW (2 CARDS CENTERED) ================= */

.projects-last-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  max-width: 760px;
  margin: 48px auto 0;
}

/* Ensure last-row cards match height */
.projects-last-row .project-card {
  height: 100%;
}

/* ================= MOBILE FIX ================= */

@media (max-width: 900px) {
  .projects-inner {
    grid-template-columns: 1fr;
  }

  .projects-last-row {
    grid-template-columns: 1fr;
    max-width: 100%;
  }
}
/* ===== NORMALIZE SOLD / ADVISORY CARD HEIGHT ===== */

.project-card .project-link {
  min-height: 22px;
  display: inline-block;
}

/* Ensure spacing even if link is missing */
.project-card .project-status {
  min-height: 22px;
}

/* Sold cards visual balance */
.project-card .sold {
  margin-top: auto;
}
/* ================= PROJECT CARD HEIGHT ALIGNMENT ================= */

.project-card {
  display: flex;
  flex-direction: column;
}

.project-card img {
  display: block;
}

.project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.project-status {
  margin-top: auto;
}
/* FINAL ROW — FORCE EQUAL HEIGHT CARDS */
.projects-last-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  align-items: stretch;
  max-width: 1100px;
  margin: 0 auto;
}

/* Ensure cards stretch fully */
.projects-last-row .project-card {
  height: 100%;
  display: flex;
  flex-direction: column;
}

/* Push status to bottom uniformly */
.projects-last-row .project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.projects-last-row .project-status {
  margin-top: auto;
}
/* ================= FINAL ROW ALIGNMENT FIX ================= */

/* Center the final row and match grid width */
.projects-last-row {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 28px;
  max-width: 1100px;     /* matches visual width of grid above */
  margin: 0 auto 40px;  /* centers row */
}

/* Force equal card height */
.projects-last-row .project-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Stretch body so bottom labels align */
.projects-last-row .project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Push status to bottom uniformly */
.projects-last-row .project-status {
  margin-top: auto;
}
/* ===============================
   FIX FINAL ROW CARD ALIGNMENT
   =============================== */

/* Force last row to behave like main grid */
.projects-last-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(280px, 1fr));
  gap: 32px;
  justify-content: center;
  align-items: stretch;
  margin-top: 32px;
}

/* Ensure cards stretch to equal height */
.projects-last-row .project-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Ensure content fills card evenly */
.projects-last-row .project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
}
/* ===============================
   FORCE FINAL ROW ALIGNMENT (OVERRIDE)
   =============================== */

.projects-last-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(320px, 1fr)) !important;
  gap: 32px;
  justify-content: center;
  align-items: stretch;
  margin: 40px auto;
  max-width: 1200px;
}

/* OVERRIDE old width:100% rule */
.projects-last-row .project-card {
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.projects-last-row .project-body {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-grow: 1;
}
/* ===============================
   PROJECT CARDS — HEIGHT ALIGN FIX
   =============================== */

/* Force all project cards to behave uniformly */
.projects-section .project-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Ensure image height consistency */
.projects-section .project-card img {
  height: 220px;
  object-fit: cover;
}

/* Normalize card body layout */
.projects-section .project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* Push status consistently to bottom */
.projects-section .project-status {
  margin-top: auto;
}

/* MAIN GRID — equal height rows */
.projects-inner {
  align-items: stretch;
}

/* LAST ROW — centered + same width as grid cards */
.projects-last-row {
  display: flex;
  justify-content: center;
  gap: 32px;
  margin-top: 48px;
}

/* Match last-row card width to grid cards */
.projects-last-row .project-card {
  max-width: 360px;
  width: 100%;
}
/* PROJECT GRID – FINAL ALIGNMENT FIX */
.projects-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

/* Center last row when it has fewer items */
.projects-inner > .project-card:nth-last-child(2):nth-child(3n + 1) {
  grid-column: 2;
}

.projects-inner > .project-card:last-child:nth-child(3n + 2) {
  grid-column: 3;
}
/* ======================================
   PROJECT GRID – FINAL LOCKED ALIGNMENT
   ====================================== */

.projects-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  align-items: stretch;
}

/* Card structure consistency */
.project-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.project-card img {
  height: 220px;
  object-fit: cover;
}

.project-body {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

.project-status {
  margin-top: auto;
}

/* ---- CENTER LAST ROW (2 ITEMS) ---- */
/* 7th card moves to column 2 */
.projects-inner > .project-card:nth-child(7) {
  grid-column: 2;
}

/* 8th card moves to column 3 */
.projects-inner > .project-card:nth-child(8) {
  grid-column: 3;
}
/* =========================
   CENTER LAST ROW PROJECT CARDS
   ========================= */

.projects-inner {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px;
  justify-content: center;
}

/* When last row has fewer cards, center them */
.projects-inner > .project-card {
  justify-self: center;
}

/* Ensure consistent width *//* =========================
   FINAL CENTERED PROJECT ROW
   ========================= */

.projects-last-row {
  display: flex;
  justify-content: center;
  gap: 36px;
  margin-top: 40px;
}

/* Match width of grid cards */
.projects-last-row .project-card {
  width: 360px;
  max-width: 360px;
}

.project-card {
  width: 100%;
  max-width: 360px;
}
/* =========================
   FINAL CENTERED PROJECT ROW
   ========================= */

.projects-last-row {
  display: flex;
  justify-content: center;
  gap: 36px;
  margin-top: 40px;
}

.projects-last-row .project-card {
  width: 360px;
}
/* =========================
   FORCE EQUAL CARD BODY HEIGHT
   ========================= */

.project-card {
  display: flex;
  flex-direction: column;
}

.project-card img {
  width: 100%;
  display: block;
}

.project-card .project-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 230px; /* KEY LINE */
}
/* =========================
   FINAL OVERRIDE — FORCE EQUAL PROJECT CARD HEIGHT
   ========================= */

body.home .projects-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
  align-items: stretch;
}

body.home a.project-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

body.home a.project-card img {
  height: 220px !important;
  object-fit: cover !important;
}

body.home a.project-card .project-body {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
}
/* =========================
   FINAL LOCK — EQUAL PROJECT CARD HEIGHTS
   ========================= */

body.home .projects-inner {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 32px;
}

body.home a.project-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 520px;           /* 🔑 hard lock */
}

body.home a.project-card img {
  height: 240px;               /* tuned to your content */
  object-fit: cover;
}

body.home a.project-card .project-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
/* ================= MOBILE SPACING NORMALIZATION ================= */
@media (max-width: 768px) {

  /* Global section spacing */
  section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  /* Hero section tightening */
  .hero-gold {
    padding-top: 48px;
    padding-bottom: 48px;
  }

  .hero-inner {
    gap: 24px;
  }

  .hero-text h1 {
    margin-bottom: 12px;
    line-height: 1.25;
  }

  .hero-text p {
    margin-bottom: 20px;
  }

  /* Advisory / mid sections */
  .advisory-section,
  .projects-section,
  .builder-ad-panel {
    padding-top: 36px;
    padding-bottom: 36px;
  }

  /* Remove excessive margins inside boxes */
  .luxury-box {
    padding: 24px;
  }
}
/* ================= MOBILE PROPERTY CARD NORMALIZATION ================= */
@media (max-width: 768px) {

  .project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .project-card img {
    height: 180px;
    object-fit: cover;
  }

  .project-body {
    display: flex;
    flex-direction: column;
    padding: 16px;
    flex-grow: 1;
  }

  .project-title {
    margin-bottom: 8px;
  }

  .project-info {
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 12px;

    /* limit excessive height */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Push CTA to bottom */
  .project-link,
  .project-status,
  .whatsapp-btn {
    margin-top: auto;
  }
}
/* ================= MOBILE PROPERTY CARD NORMALIZATION ================= */
@media (max-width: 768px) {

  .project-card {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  .project-card img {
    height: 180px;
    object-fit: cover;
  }

  .project-body {
    display: flex;
    flex-direction: column;
    padding: 16px;
    flex-grow: 1;
  }

  .project-title {
    margin-bottom: 8px;
  }

  .project-info {
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 12px;

    /* limit excessive height */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }

  /* Push CTA to bottom */
  .project-link,
  .project-status,
  .whatsapp-btn {
    margin-top: auto;
  }
}
/* ================= MOBILE LAST ROW CARD FIX ================= */
@media (max-width: 768px) {

  .projects-last-row {
    display: block;
  }

  .projects-last-row .project-card {
    max-width: 100%;
    margin-bottom: 24px;
  }

}
“Go with two-column last row”
/* ================= MOBILE CARD BOTTOM ALIGN FIX ================= */
@media (max-width: 768px) {

  /* Ensure card body uses full height */
  .project-card {
    display: flex;
    flex-direction: column;
  }

  .project-body {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  /* Push status / CTA to bottom consistently */
  .project-status,
  .project-link {
    margin-top: auto;
    padding-top: 12px;
  }

}
/* ================= MOBILE CARD BOTTOM ALIGN FIX ================= */
@media (max-width: 768px) {

  /* Ensure card body uses full height */
  .project-card {
    display: flex;
    flex-direction: column;
  }

  .project-body {
    display: flex;
    flex-direction: column;
    height: 100%;
  }

  /* Push status / CTA to bottom consistently */
  .project-status,
  .project-link {
    margin-top: auto;
    padding-top: 12px;
  }

}
/* ================= MOBILE LAST ROW – ABSOLUTE ALIGN FIX ================= */
@media (max-width: 768px) {

  .projects-last-row .project-card {
    position: relative;
    display: block;
  }

  .projects-last-row .project-body {
    padding: 16px 16px 48px; /* extra bottom space for status */
    min-height: 260px;     /* FORCE equal height */
    box-sizing: border-box;
  }

  /* Lock status to bottom */
  .projects-last-row .project-status {
    position: absolute;
    bottom: 16px;
    left: 16px;
    right: 16px;
    text-align: left;
  }

}
/* ================= FORCE LAST ROW CARD ALIGNMENT (FINAL) ================= */
@media (max-width: 768px) {

  /* Force equal height cards */
  .projects-last-row a.project-card {
    display: flex !important;
    flex-direction: column !important;
    justify-content: space-between !important;
    min-height: 300px !important;
  }

  /* Push status to bottom no matter what */
  .projects-last-row a.project-card .project-status {
    margin-top: auto !important;
    padding-top: 16px !important;
    display: block !important;
  }

}
/* ================= HERO CTA BUTTON SPACING FIX ================= */

.hero-actions {
  display: flex;
  gap: 12px; /* clean, premium spacing */
}

@media (max-width: 768px) {
  .hero-actions {
    gap: 14px; /* slightly more breathing space on mobile */
  }
}
/* ================= GLOBAL FOOTER HARD LOCK ================= */

/* Remove any accidental space below footer */
.site-footer {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Prevent body or main from adding extra space */
html, body {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* Ensure last section before footer does not push space */
main > section:last-of-type {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

/* WhatsApp float should not affect document flow */
.whatsapp-float {
  position: fixed !important;
}
/* ================= GLOBAL HEADER & FOOTER ALIGNMENT ================= */

/* Force full-width bars */
.site-header,
.site-footer {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

/* Align inner content to same width everywhere */
.header-inner,
.footer-inner {
  max-width: 1200px;   /* ideal for 14–15 inch laptops */
  margin-left: auto;
  margin-right: auto;
  padding-left: 24px;
  padding-right: 24px;
}

/* Prevent accidental horizontal overflow */
body {
  overflow-x: hidden;
}
/* ================= GLOBAL HORIZONTAL GRID LOCK ================= */

/* Define one canonical content width */
:root {
  --site-max-width: 1200px;
  --site-padding: 24px;
}

/* Header, main content, footer must align */
.header-inner,
.footer-inner,
.hero-inner,
.projects-inner,
.advisory-inner,
.about-container,
.properties-luxury,
.blog-index,
.contact-page {
  max-width: var(--site-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--site-padding);
  padding-right: var(--site-padding);
}

/* Ensure header/footer backgrounds still span full width */
.site-header,
.site-footer {
  width: 100%;
}
/* =========================================================
   PHASE G2 — CANONICAL PAGE GRID STABILIZATION (LOCKED)
   Home page alignment is the reference
   ========================================================= */

/* Canonical content rail */
:root {
  --page-max-width: 1200px;
  --page-side-padding: 24px;
}

/* All primary content containers must obey the same grid */
.hero-inner,
.projects-inner,
.advisory-inner,
.about-container,
.properties-page,
.properties-luxury,
.blog-index,
.contact-page,
.builders-page,
main > section {
  max-width: var(--page-max-width);
  margin-left: auto;
  margin-right: auto;
  padding-left: var(--page-side-padding);
  padding-right: var(--page-side-padding);
}

/* Prevent accidental overflow that creates instability */
body {
  overflow-x: hidden;
}
/* ================= ABOUT US — FOUNDER SIGNATURE (FINAL) ================= */

.about-page .founder-signature {
  display: inline-block;
  margin-top: 10px;
  font-style: italic;
  font-weight: 700;
  font-size: 20px;              /* +2 points */
  font-family: "Georgia", "Times New Roman", serif;
  color: #1f4e5f;               /* bright, trusted blue-teal */
  letter-spacing: 0.4px;
}

/* ================= ABOUT US — FOUNDER TAGLINE (LUXURY) ================= */

.about-page .founder-tagline {
  font-style: italic;
  font-family: "Georgia", "Times New Roman", serif;
  font-size: 14px;              /* smaller, refined */
  color: #8b1e1e;               /* deep premium red */
  margin: 12px 0 4px 0;         /* tight spacing */
  line-height: 1.4;
  letter-spacing: 0.2px;
}
.blog-index-header {
  text-align: center;
  max-width: 880px;
  margin: 12px auto 32px;   /* 🔽 reduced top & bottom gap */
  padding-top: 8px;        /* 🔽 pulls content closer to header */
}

.blog-index-header h1 {
  margin-top: 0;
}

.blog-index-header p {
  font-size: 15px;
  line-height: 1.6;
  max-width: 720px;
  margin: 12px auto 0;     /* 🔽 tighter spacing under heading */
  color: #555;
}
/* ================= FOOTER DISCLAIMER (WRAPPED) ================= */

.footer-disclaimer {
  margin-top: 28px;
  padding-top: 18px;
}

.footer-divider {
  border: none;
  height: 1px;
  width: 100%;
  background: linear-gradient(
    to right,
    rgba(255,255,255,0),
    rgba(212,175,55,0.6),
    rgba(255,255,255,0)
  );
  margin-bottom: 18px;
}

.disclaimer-text {
  max-width: 1000px;
  column-count: 2;
  column-gap: 36px;
}

.disclaimer-text p {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(255,255,255,0.7);
  margin-bottom: 12px;
}

/* Mobile safety */
@media (max-width: 768px) {
  .disclaimer-text {
    column-count: 1;
  }
}
.footer-disclaimer {
  max-width: 100%;
  font-size: 12.5px;
  line-height: 1.45;
}
/* ===============================
   FOOTER STABILITY & ICON FIX
   =============================== */

.site-footer .footer-inner {
  align-items: flex-start;
}

.site-footer .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.site-footer .footer-social {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block;
}

/* Compact disclaimer fine-print */
.site-footer .footer-disclaimer {
  font-size: 12.5px;
  line-height: 1.45;
  opacity: 0.75;
}
.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block;
  opacity: 1;
}
/* ===============================
   GLOBAL FOOTER NORMALIZATION
   =============================== */

/* Ensure footer layout is consistent on ALL pages */
.site-footer {
  padding-bottom: 24px;
}

/* Lock footer layout */
.site-footer .footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

/* Right column structure */
.site-footer .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* FORCE social icons to always show */
.site-footer .footer-social {
  display: flex !important;
  gap: 12px;
  margin-top: 12px;
}

.site-footer .footer-social img {
  display: block !important;
  width: 20px;
  height: 20px;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Normalize disclaimer height everywhere */
.site-footer .footer-disclaimer {
  max-width: 520px;
  font-size: 12.5px;
  line-height: 1.45;
  opacity: 0.75;
  margin-top: 12px;
}
/* ===============================
   FOOTER HEIGHT & OVERFLOW FIX
   =============================== */

/* Allow footer to grow naturally */
.site-footer,
.site-footer.footer-fullwidth {
  height: auto !important;
  min-height: unset !important;
  overflow: visible !important;
}

/* Ensure inner footer does not clip content */
.site-footer .footer-inner {
  overflow: visible !important;
  align-items: flex-start;
}

/* Lock right column flow */
.site-footer .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Force social icons to stay inside visible area */
.site-footer .footer-social {
  display: flex;
  gap: 12px;
  margin-top: 12px;
}

.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block;
}
/* =====================================
   GLOBAL FOOTER NORMALIZATION (FINAL)
   ===================================== */

/* Remove any page-based footer height limits */
.site-footer,
body .site-footer,
body:not(.contact-page) .site-footer {
  height: auto !important;
  min-height: unset !important;
  overflow: visible !important;
}

/* Ensure footer content is never clipped */
.site-footer .footer-inner {
  overflow: visible !important;
  align-items: flex-start;
}

/* Lock right column flow */
.site-footer .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Force social icons visible everywhere */
.site-footer .footer-social {
  display: flex !important;
  gap: 12px;
  margin-top: 12px;
}

.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
/* ===============================
   FOOTER LAYOUT FIX (FINAL)
   =============================== */

/* Allow footer columns to grow naturally */
.site-footer .footer-inner {
  align-items: stretch !important;
}

/* Ensure right column can expand */
.site-footer .footer-right {
  height: auto !important;
  min-height: 100% !important;
  justify-content: space-between;
}

/* Lock social icons to bottom of right column */
.site-footer .footer-social {
  margin-top: 16px;
}

/* Safety: never clip footer content */
.site-footer,
.site-footer * {
  overflow: visible !important;
}
/* ==================================================
   FOOTER ARCHITECTURE FIX — FINAL & GLOBAL
   ================================================== */

/* Footer must be vertical stack */
.site-footer {
  display: block;
}

/* Inner footer: first row (left + right) */
.site-footer .footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 18px;
}

/* Left column */
.site-footer .footer-left {
  max-width: 480px;
}

/* Right column */
.site-footer .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Footer menu stays at top-right */
.site-footer .footer-menu {
  margin-bottom: 14px;
}

/* Copyright below menu */
.site-footer .footer-copy {
  margin-bottom: 12px;
  opacity: 0.85;
}

/* Social icons — FIXED POSITION */
.site-footer .footer-social {
  display: flex;
  gap: 12px;
}

/* Icons size consistency */
.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block;
}

/* ================= DISCLAIMER ROW ================= */

/* Disclaimer must be a NEW ROW */
.site-footer .footer-disclaimer {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1.6;
  opacity: 0.65;
}

/* Divider safety */
.site-footer .footer-divider {
  max-width: 1200px;
  margin: 0 auto 14px;
}

/* Prevent page scroll bugs */
body {
  overflow-x: hidden;
}
/* ==================================================
   FOOTER FINAL NORMALIZATION (DO NOT EDIT ABOVE)
   ================================================== */

.site-footer {
  display: block !important;
}

.site-footer .footer-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  max-width: 1200px;
  margin: 0 auto !important;
  padding-bottom: 16px !important;
}

.site-footer .footer-left {
  max-width: 480px;
}

.site-footer .footer-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

.site-footer .footer-menu {
  margin-bottom: 14px;
}

.site-footer .footer-copy {
  margin-bottom: 12px;
}

.site-footer .footer-social {
  display: flex !important;
  gap: 12px !important;
  margin-top: 0 !important;
}

.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block !important;
}

.site-footer .footer-disclaimer {
  max-width: 1200px;
  margin: 0 auto !important;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1.6;
  opacity: 0.65;
}
/* ==================================================
   FOOTER FINAL HARD OVERRIDE (FULLWIDTH + NORMAL)
   ================================================== */

footer.site-footer,
footer.site-footer.footer-fullwidth {
  display: block !important;
}

footer.site-footer .footer-inner,
footer.site-footer.footer-fullwidth .footer-inner {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-bottom: 16px !important;
}

footer.site-footer .footer-left,
footer.site-footer.footer-fullwidth .footer-left {
  max-width: 480px !important;
}

footer.site-footer .footer-right,
footer.site-footer.footer-fullwidth .footer-right {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
}

footer.site-footer .footer-social,
footer.site-footer.footer-fullwidth .footer-social {
  display: flex !important;
  gap: 12px !important;
  margin-top: 12px !important;
}

footer.site-footer .footer-social img,
footer.site-footer.footer-fullwidth .footer-social img {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
}

footer.site-footer .footer-disclaimer,
footer.site-footer.footer-fullwidth .footer-disclaimer {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding-top: 14px !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
  opacity: 0.65 !important;
}
/* ==================================================
   FOOTER FINAL NORMALIZATION — v3 OVERRIDE
   ================================================== */

footer.site-footer,
footer.site-footer.footer-fullwidth {
  display: block;
}

footer.site-footer .footer-inner,
footer.site-footer.footer-fullwidth .footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 16px;
}

footer.site-footer .footer-left,
footer.site-footer.footer-fullwidth .footer-left {
  max-width: 480px;
}

footer.site-footer .footer-right,
footer.site-footer.footer-fullwidth .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

footer.site-footer .footer-menu {
  margin-bottom: 14px;
}

footer.site-footer .footer-copy {
  margin-bottom: 12px;
}

footer.site-footer .footer-social {
  display: flex;
  gap: 12px;
}

footer.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block;
}

footer.site-footer .footer-disclaimer {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1.6;
  opacity: 0.65;
}
/* ==================================================
   FOOTER FINAL NORMALIZATION — ACTIVE v3
   ================================================== */

footer.site-footer,
footer.site-footer.footer-fullwidth {
  display: block;
}

footer.site-footer .footer-inner,
footer.site-footer.footer-fullwidth .footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1200px;
  margin: 0 auto;
  padding-bottom: 16px;
}

footer.site-footer .footer-left,
footer.site-footer.footer-fullwidth .footer-left {
  max-width: 480px;
}

footer.site-footer .footer-right,
footer.site-footer.footer-fullwidth .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

footer.site-footer .footer-menu {
  margin-bottom: 14px;
}

footer.site-footer .footer-copy {
  margin-bottom: 12px;
}

footer.site-footer .footer-social {
  display: flex;
  gap: 12px;
}

footer.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block;
}

footer.site-footer .footer-disclaimer {
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 14px;
  font-size: 13px;
  line-height: 1.6;
  opacity: 0.65;
}
/* ==================================================
   GLOBAL FOOTER VISIBILITY FIX (FINAL)
   ================================================== */

/* Never allow footer to be clipped by page wrappers */
.site-footer {
  position: relative;
  z-index: 1;
}

/* Neutralize overflow restrictions above footer */
.site-footer,
.site-footer * {
  overflow: visible;
}

/* Ensure parent containers don't clip footer */
.page-container,
main {
  overflow: visible !important;
  height: auto !important;
  min-height: unset !important;
}
/* ==================================================
   FINAL FOOTER CONTAINMENT FIX (GLOBAL)
   ================================================== */

/* Ensure page wrappers never clip footer */
.page-container,
main,
section {
  overflow: visible !important;
  height: auto !important;
  min-height: unset !important;
}

/* Footer must always expand naturally */
footer.site-footer,
footer.site-footer.footer-fullwidth {
  display: block;
  position: relative;
}

/* Footer inner layout */
footer.site-footer .footer-inner,
footer.site-footer.footer-fullwidth .footer-inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

/* Right column stacking */
footer.site-footer .footer-right,
footer.site-footer.footer-fullwidth .footer-right {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

/* Social icons always visible */
footer.site-footer .footer-social,
footer.site-footer.footer-fullwidth .footer-social {
  display: flex;
  gap: 12px;
}

/* Icon size lock */
footer.site-footer .footer-social img {
  width: 20px;
  height: 20px;
  display: block;
}
/* === FOOTER ACTIVE PAGE INDICATOR === */
.footer-menu a.active {
  color: #c79a3b !important;   /* same gold as header */
  font-weight: 600;
}
/* =========================
   FORCE UNIFORM PROJECT CARD HEIGHT (FINAL)
   ========================= */

.projects-inner,
.projects-last-row {
  align-items: stretch;
}

.project-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.project-card .project-body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.project-card .project-info {
  flex-grow: 1;
}
/* =========================
   SOLD OUT BLINK (EXPLICIT)
   ========================= */

.project-status.sold {
  color: #c62828;
  font-weight: 700;
}

.project-status.sold.blink-red {
  animation: blinkSold 1.2s infinite;
}

@keyframes blinkSold {
  0%   { opacity: 1; }
  50%  { opacity: 0.3; }
  100% { opacity: 1; }
}
/* =========================
   FORCE EQUAL PROJECT CARD HEIGHT (FINAL FIX)
   ========================= */

/* Desktop */
.project-card {
  min-height: 520px;
}

/* Tablet */
@media (max-width: 1024px) {
  .project-card {
    min-height: 500px;
  }
}

/* Mobile */
@media (max-width: 768px) {
  .project-card {
    min-height: auto; /* natural stacking on mobile */
  }
}
/* =========================
   PROJECT CARD HEIGHT — HARD LOCK (FINAL)
   ========================= */

/* Desktop & large screens */
.project-card {
  min-height: 600px;
  display: flex;
  flex-direction: column;
}

/* Ensure body stretches */
.project-card .project-body {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* Push status to bottom */
.project-card .project-status {
  margin-top: auto;
}

/* Tablet */
@media (max-width: 1024px) {
  .project-card {
    min-height: 560px;
  }
}

/* Mobile — natural flow */
@media (max-width: 768px) {
  .project-card {
    min-height: auto;
  }
}
/* =========================
   PROJECT CARD — HARD LOCK HEIGHT (NUCLEAR)
   ========================= */

.project-card {
  height: 600px !important;
  min-height: 600px !important;
  max-height: 600px !important;

  display: flex !important;
  flex-direction: column !important;
}

/* Stretch inner content */
.project-card .project-body {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Push status to absolute bottom */
.project-card .project-status {
  margin-top: auto !important;
}

/* Tablet */
@media (max-width: 1024px) {
  .project-card {
    height: 560px !important;
    min-height: 560px !important;
    max-height: 560px !important;
  }
}

/* Mobile — allow natural height */
@media (max-width: 768px) {
  .project-card {
    height: auto !important;
    min-height: auto !important;
    max-height: none !important;
  }
}
/* =========================
   SOLD OUT — BIG + BLINK (FINAL)
   ========================= */

.project-status.sold {
  font-size: 18px !important;
  font-weight: 800 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  color: #b00000 !important;
}

/* Blink animation */
.project-status.sold.blink-red {
  animation: soldBlinkHard 0.9s infinite !important;
}

@keyframes soldBlinkHard {
  0%   { opacity: 1; }
  50%  { opacity: 0.15; }
  100% { opacity: 1; }
}
/* =========================
   SOLD OUT POSITION FIX
   ========================= */

/* Stop pushing status to bottom */
.project-card .project-status {
  margin-top: 12px !important;
}
/* =========================
   SOLD OUT — SIZE & PRESENCE (REFINED)
   ========================= */

.project-status.sold {
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: 0.8px !important;
  text-transform: uppercase !important;
  color: #b00000 !important;
}

/* Blink stays intact */
.project-status.sold.blink-red {
  animation: soldBlinkHard 0.9s infinite !important;
}
/* === Mobile fix: project cards height issue === */
@media (max-width: 768px) {
  .projects-inner {
    grid-template-columns: 1fr;
  }

  .project-card {
    height: auto;
    min-height: unset;
    align-items: flex-start;
  }

  .project-card img {
    height: auto;
    max-height: 260px;
    object-fit: cover;
  }
}
/* =====================================================
   MOBILE OVERRIDE — FORCE SINGLE COLUMN PROJECT CARDS
   (Intentionally overrides all earlier mobile attempts)
   ===================================================== */
@media (max-width: 768px) {

  /* Force vertical flow */
  .projects-inner {
    display: block !important;
  }

  /* Kill all grid / flex inheritance */
  .project-card {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 0 24px 0 !important;
  }

  /* Normalize all children */
  .project-card > * {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }

  /* Image safety */
  .project-card img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: 240px !important;
    object-fit: cover !important;
  }

  /* Remove desktop centering hacks */
  .projects-inner::before,
  .projects-inner::after {
    display: none !important;
    content: none !important;
  }
}
/* =========================================
   MOBILE — ENSURE ALL PROJECT CARDS IDENTICAL
   ========================================= */
@media (max-width: 768px) {

  /* Remove any last-row or centering behavior */
  .projects-inner {
    justify-content: flex-start !important;
    align-items: stretch !important;
  }

  /* Ensure every card behaves the same */
  .project-card {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Last card should NOT look special */
  .project-card:last-child {
    margin-bottom: 24px !important;
  }
}
/* =========================================
   MOBILE — STACK ONLY LAST ROW PROJECT CARDS
   ========================================= */
@media (max-width: 768px) {

  .mobile-last-row {
    grid-column: 1 / -1 !important;
    width: 100% !important;
  }
}
/* =========================================
   MOBILE — STACK PROJECTS LAST ROW ONLY
   ========================================= */
@media (max-width: 768px) {

  .projects-last-row {
    display: block !important;
  }

  .projects-last-row .project-card {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-bottom: 24px !important;
  }
}
/* =========================================
   ABOUT PAGE — FOUNDER MESSAGE SPACING FIX
   Mobile-only, isolated, non-destructive
========================================= */

@media (max-width: 768px) {

  .about-section {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .about-container.about-two-col {
    gap: 24px;
  }

  .about-text p {
    margin-bottom: 12px;
    line-height: 1.55;
  }

  .about-quote {
    margin-bottom: 16px;
  }

  .founder-tagline {
    margin-top: 16px;
    margin-bottom: 12px;
  }

  .founder-signature {
    display: inline-block;
    margin-top: 4px;
  }

  .about-image img {
    max-height: 260px;
    object-fit: cover;
  }
}
@media (max-width: 768px) {

  /* About section side breathing space */
  .about-section {
    padding-left: 16px;
    padding-right: 16px;
  }

}
/* =========================================
   ABOUT PAGE — MOBILE GUTTERS (LOCKED)
   Applies to all About sections only
========================================= */

@media (max-width: 768px) {

  .about-section {
    padding-left: 16px;
    padding-right: 16px;
  }

}
/* =========================================
   ABOUT PAGE — MOBILE PAGE GUTTERS (FINAL)
   Fixes edge-touching across all sections
========================================= */

@media (max-width: 768px) {

  main.about-page {
    padding-left: 16px;
    padding-right: 16px;
  }

}
/* =========================================
   ABOUT PAGE — MOBILE IMAGE CONTAINMENT
   Keeps images inside cards & scales better
========================================= */

@media (max-width: 768px) {

  /* Image wrapper safety */
  .about-section .about-image {
    overflow: hidden;
    border-radius: 12px;
  }

  /* Image sizing */
  .about-section .about-image img {
    width: 100%;
    height: auto;
    max-height: 220px;
    object-fit: cover;
    display: block;
  }

}
/* =========================================
   ABOUT PAGE — MOBILE IMAGE VISIBILITY (FINAL)
   Full image readability on mobile
========================================= */

@media (max-width: 768px) {

  .about-section .about-image {
    overflow: visible;
    border-radius: 12px;
  }

  .about-section .about-image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    display: block;
  }

}

/* =========================================
   ABOUT PAGE — LAST SECTION IMAGE SIZE BOOST
   Mobile-only emphasis for final section
========================================= */

@media (max-width: 768px) {

  .about-page .about-section:last-of-type .about-image img {
    width: 100%;
    height: auto;
    transform: scale(1.15);
    transform-origin: center;
    display: block;
  }

}

/* =========================================
   ABOUT PAGE — SINGLE SECTION OVERFLOW FIX
   Final containment guard (LOCKED)
========================================= */

@media (max-width: 768px) {

  .about-section {
    overflow: hidden;
  }

}
/* =========================================
   ABOUT PAGE — FINAL MOBILE IMAGE ALIGNMENT FIX
   Forces image containers to stay inside cards
========================================= */

@media (max-width: 768px) {

  .about-section .about-image {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    left: 0;
    right: 0;
    transform: none;
    box-sizing: border-box;
  }

}
/* =========================================
   ABOUT PAGE — HARD MOBILE LAYOUT RESET
   (Stops ALL horizontal overflow definitively)
========================================= */

@media (max-width: 768px) {

  .about-container.about-two-col {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;
    transform: none;
    overflow: hidden;
    box-sizing: border-box;
  }

}
/* =========================================
   GLOBAL HORIZONTAL OVERFLOW SAFETY NET
   Final pre-launch containment (LOCKED)
========================================= */

html, body {
  max-width: 100%;
  overflow-x: hidden;
}
/* =========================================
   ABOUT PAGE — DISABLE DECORATIVE IMAGE ACCENT ON MOBILE
   (This is NOT overflow; this is intentional desktop styling)
========================================= */

@media (max-width: 768px) {

  .about-image::before,
  .about-image::after,
  .about-image .image-bg,
  .about-image .bg-accent {
    display: none !important;
  }

}
