/*
Theme Name:   Dalicia Emerson
Theme URI:    https://daliciaemerson.com
Description:  Kadence child theme for Dalicia Emerson — NWA Luxury REALTOR®, Coldwell Banker Harris McHaney & Faucette.
Author:       Dalicia Emerson
Template:     kadence
Version:      2.9.4
License:      Private
Text Domain:  daliciaemerson
*/

/* ══════════════════════════════════════════════════════════════════════════
   BRAND TOKENS
   ══════════════════════════════════════════════════════════════════════════ */
:root {
  /* ── Brand colors ─────────────────────────────────────────────── */
  --de-navy:         #1a2b4a;
  --de-navy-deep:    #111e35;
  --de-navy-ink:     #071525;
  --de-charcoal:     #1c1c1e;
  --de-black:        #0a0a0a;

  --de-gold:         #c9a84c;
  --de-gold-light:   #e8c97a;
  --de-gold-warm:    #d4af5a;
  --de-gold-faint:   rgba(201, 168, 76, 0.12);
  --de-accent-hover: var(--de-gold-light);

  /* ── Status ─────────────────────────────────────────────── */
  --de-success-bg:     #edfaf0;
  --de-success-text:   #1a6630;
  --de-success-border: #9ddcaa;
  --de-error-bg:       #fef2f2;
  --de-error-text:     #991b1b;
  --de-error-border:   #f5a5a5;

  /* ── Focus ──────────────────────────────────────────────── */
  --de-focus-ring-color:         var(--de-navy);
  --de-focus-ring-color-on-dark: var(--de-gold-light);
  --de-focus-ring: 0 0 0 2px var(--de-white), 0 0 0 4px var(--de-focus-ring-color);

  --de-white:        #ffffff;
  --de-gray-light:   #f5f5f3;
  --de-gray-warm:    #f8f7f5;
  --de-gray-mid:     #8a8a8a;
  --de-gray-border:  #e0e0dc;
  --de-border-light: #e8e8e4;
  --de-border-cream: #e8e4de;

  /* ── Semantic aliases ──────────────────────────────────────────── */
  --de-text:          #1a2b4a;
  --de-text-muted:    #5a6a7a;
  --de-text-slate:    #6b7280;
  --de-on-dark:       rgba(255, 255, 255, 0.92);
  --de-on-dark-muted: rgba(255, 255, 255, 0.78);
  --de-overlay:       rgba(26, 43, 74, 0.58);

  /* ── Typography ────────────────────────────────────────────────── */
  --de-font-serif: 'Playfair Display', Georgia, serif;
  --de-font-sans:  'Inter', 'Helvetica Neue', Arial, sans-serif;

  /* ── Type scale ─────────────────────────────────────────────────── */
  --de-text-3xs:  0.72rem;
  --de-text-2xs:  0.78rem;
  --de-text-xs:   0.85rem;
  --de-text-sm:   0.92rem;
  --de-text-base: 1rem;
  --de-text-lg:   1.1rem;
  --de-text-xl:   1.35rem;
  --de-h3:        1.6rem;
  --de-h2:        clamp(1.9rem, 3vw, 2.4rem);
  --de-h1:        clamp(2.4rem, 5vw, 3.6rem);
  --de-display:   clamp(2.8rem, 6vw, 4.4rem);

  /* ── Spacing scale ───────────────────────────────────────────────── */
  --de-space-1:  4px;
  --de-space-2:  8px;
  --de-space-3:  12px;
  --de-space-4:  16px;
  --de-space-5:  24px;
  --de-space-6:  32px;
  --de-space-7:  48px;
  --de-space-8:  64px;
  --de-space-9:  96px;
  --de-gutter:   32px;

  /* ── Layout ────────────────────────────────────────────────────── */
  --de-max-width:       1280px;
  --de-max-width-prose: 72ch;
  --de-header-h:        110px;

  /* ── Border radius ─────────────────────────────────────────────── */
  --de-radius:     4px;
  --de-radius-lg:  8px;
  --de-radius-xl:  12px;
  --de-radius-2xl: 20px;

  /* ── Shadows ───────────────────────────────────────────────────── */
  --de-shadow-card:  0 2px 12px rgba(26, 43, 74, 0.08);
  --de-shadow-agent: 0 14px 36px rgba(7, 21, 37, 0.16);

  /* ── Motion ────────────────────────────────────────────────────── */
  --de-transition: 0.22s ease;
  --de-ease:       cubic-bezier(0.4, 0, 0.2, 1);

  /* ── Typography utilities ──────────────────────────────────────── */
  --de-track-toc:   0.14em;
  --de-track-label: 0.08em;
  --de-weight-bold: 700;

  /* ── Gradients ─────────────────────────────────────────────────── */
  --de-navy-grad: linear-gradient(135deg, #1a2744 0%, #2c3e6b 100%);

  /* ── Composites ────────────────────────────────────────────────── */
  --de-border-gold: 1px solid var(--de-gold);
}

/* Dark-section focus ring override — switches ring color to gold-light */
.de-social-proof,
.de-footer,
.de-hero,
.de-trust-bar {
  --de-focus-ring-color: var(--de-focus-ring-color-on-dark);
}


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

html { scroll-behavior: smooth; }

body {
  font-family: var(--de-font-sans);
  color: var(--de-text);
  background: var(--de-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, video, iframe, embed { max-width: 100%; height: auto; display: block; }
a { text-decoration: none; color: inherit; }

/* Push page content below fixed header */
.site-content,
.wp-site-blocks > *:first-child {
  padding-top: var(--de-header-h);
}

/* Front page + full-width hero templates: hero handles its own top padding */
body.home .site-content,
body.home .wp-site-blocks > *:first-child {
  padding-top: 0;
}

body:has(.de-hero--relocation) .site-content,
body:has(.de-hero--relocation) .wp-site-blocks > *:first-child,
body:has(.de-hero--relocation) .site-main,
body:has(.de-hero--relocation) .entry-content,
body:has(.de-hero--relocation) #main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Kadence entry-content width reset for full-width sections */
body.home .entry-content,
.de-homepage {
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   ACCESSIBILITY
   ══════════════════════════════════════════════════════════════════════════ */
.de-skip-link {
  position: absolute;
  top: -100%;
  left: 16px;
  z-index: 10000;
  padding: var(--de-space-3) var(--de-space-5);
  background: var(--de-navy);
  color: var(--de-white);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-sm);
  font-weight: 600;
  border-radius: 0 0 var(--de-radius) var(--de-radius);
  transition: top 0.2s;
}
.de-skip-link:focus { top: 0; }

.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}


/* ══════════════════════════════════════════════════════════════════════════
   HEADER & NAVIGATION
   ══════════════════════════════════════════════════════════════════════════ */
.de-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 999;
  height: var(--de-header-h);
  display: flex;
  align-items: center;
  background: var(--de-white);
  border-bottom: 1px solid var(--de-gray-border);
  box-shadow: 0 2px 16px rgba(26, 43, 74, 0.08);
  transition:
    background var(--de-transition),
    border-color var(--de-transition),
    box-shadow var(--de-transition);
}

.de-header--transparent {
  background: transparent;
  border-bottom-color: transparent;
  box-shadow: none;
}

.de-header--scrolled {
  background: var(--de-white);
  border-bottom-color: var(--de-gray-border);
  box-shadow: 0 2px 20px rgba(26, 43, 74, 0.12);
}

.de-header__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
  padding: 0 var(--de-space-7);
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--de-space-6);
}

/* ── Logo ──────────────────────────────────────────────────────────────── */
.de-header__logo {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.de-header__logo-img {
  height: 40px;
  width: auto;
}

.de-header__logo--light { display: none; }
.de-header__logo--dark  { display: block; }

.de-header--transparent:not(.de-header--scrolled) .de-header__logo--light { display: block; }
.de-header--transparent:not(.de-header--scrolled) .de-header__logo--dark  { display: none; }

.de-header__logo-text {
  font-family: var(--de-font-serif);
  font-size: var(--de-text-sm);
  font-weight: 700;
  color: var(--de-navy);
  line-height: 1.2;
  transition: color var(--de-transition);
}
.de-header__logo-text span {
  display: block;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
}
.de-header--transparent:not(.de-header--scrolled) .de-header__logo-text { color: var(--de-white); }

/* AREC compliance: brokerage name beneath logo/agent name */
.de-header__brokerage {
  display: block;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  color: #888;
  letter-spacing: 0.05em;
  margin-top: 2px;
  white-space: nowrap;
  text-decoration: none;
  transition: color var(--de-transition);
}
.de-header__brokerage:hover { color: var(--de-gold); }
.de-header--transparent:not(.de-header--scrolled) .de-header__brokerage {
  color: rgba(255,255,255,0.72);
}
.de-header--transparent:not(.de-header--scrolled) .de-header__brokerage:hover {
  color: var(--de-white);
}

/* ── Primary Nav ───────────────────────────────────────────────────────── */
.de-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex: 1;
  justify-content: center;
}

.de-nav__item { position: relative; }

.de-nav__link {
  display: flex;
  align-items: center;
  gap: var(--de-space-1);
  padding: var(--de-space-2) var(--de-space-3);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-sm);
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--de-navy);
  border-radius: var(--de-radius);
  transition: color var(--de-transition), background var(--de-transition);
  white-space: nowrap;
  cursor: pointer;
  border: none;
  background: none;
}
.de-nav__link:hover,
.de-nav__link:focus-visible {
  color: var(--de-gold);
  background: var(--de-gold-faint);
  outline: none;
}

.de-header--transparent:not(.de-header--scrolled) .de-nav__link {
  color: rgba(255, 255, 255, 0.92);
}
.de-header--transparent:not(.de-header--scrolled) .de-nav__link:hover,
.de-header--transparent:not(.de-header--scrolled) .de-nav__link:focus-visible {
  color: var(--de-gold-light);
  background: rgba(255, 255, 255, 0.10);
}

.de-nav__chevron {
  width: 14px;
  height: 14px;
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.de-nav__item--cities[aria-expanded="true"] .de-nav__chevron { transform: rotate(180deg); }

/* ── Cities Dropdown ───────────────────────────────────────────────────── */
.de-nav__dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%) translateY(-6px);
  background: var(--de-white);
  border: 1px solid var(--de-gray-border);
  border-radius: var(--de-radius-lg);
  box-shadow: 0 12px 48px rgba(26, 43, 74, 0.16);
  padding: var(--de-space-3);
  min-width: 220px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition:
    opacity 0.18s ease,
    transform 0.18s ease,
    visibility 0.18s ease;
}
.de-nav__item--cities[aria-expanded="true"] .de-nav__dropdown,
.de-nav__dropdown:focus-within {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}

.de-nav__dropdown a {
  display: block;
  padding: var(--de-space-2) var(--de-space-4);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  font-weight: 500;
  color: var(--de-navy);
  border-radius: var(--de-radius);
  transition: color var(--de-transition), background var(--de-transition);
  white-space: nowrap;
}
.de-nav__dropdown a:hover,
.de-nav__dropdown a:focus-visible {
  color: var(--de-gold);
  background: var(--de-gold-faint);
  outline: none;
}

/* ── Header Right: Phone + CTA ─────────────────────────────────────────── */
.de-header__cta {
  display: flex;
  align-items: center;
  gap: var(--de-space-4);
  flex-shrink: 0;
}

.de-header__phone {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  font-weight: 700;
  color: var(--de-navy);
  letter-spacing: 0.02em;
  white-space: nowrap;
  transition: color var(--de-transition);
}
.de-header__phone:hover { color: var(--de-gold); }
.de-header--transparent:not(.de-header--scrolled) .de-header__phone { color: rgba(255, 255, 255, 0.92); }
.de-header--transparent:not(.de-header--scrolled) .de-header__phone:hover { color: var(--de-gold-light); }

.de-header__btn {
  padding: var(--de-space-3) var(--de-space-5);
  background: var(--de-gold);
  color: var(--de-navy);
  border-radius: var(--de-radius);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  font-weight: 700;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transition: background var(--de-transition), transform 0.15s ease;
}
.de-header__btn:hover { background: var(--de-accent-hover); transform: translateY(-1px); color: var(--de-navy); }

/* ── Hamburger ─────────────────────────────────────────────────────────── */
/* Mobile nav styles live in header.php <style> block — class names are
   .de-hamburger, .de-mobile-nav-overlay, .de-mobile-nav, .de-mobile-nav--open */


/* ══════════════════════════════════════════════════════════════════════════
   HERO
   ══════════════════════════════════════════════════════════════════════════ */
.de-hero {
  position: relative;
  min-height: 92vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: stretch;
  overflow: hidden;
  background-color: var(--de-navy-deep);
}

.de-hero__bg {
  position: absolute;
  inset: 0;
  background-image: url('/wp-content/themes/daliciaemerson/assets/images/nwa-hero-bentonville.jpg');
  background-size: cover;
  background-position: center 30%;
  background-repeat: no-repeat;
}

.de-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(26, 43, 74, 0.65) 0%,
    rgba(26, 43, 74, 0.40) 50%,
    rgba(26, 43, 74, 0.82) 100%
  );
}

.de-hero__inner {
  position: relative;
  z-index: 2;
  max-width: var(--de-max-width);
  margin: 0 auto;
  /* hero height is set by content and viewport — not section rhythm */
  padding: 140px 40px 80px;
  width: 100%;
}

.de-hero__eyebrow {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
  margin-bottom: var(--de-space-5);
}
.de-hero__accent { color: var(--de-gold); }

.de-hero__headline {
  font-family: var(--de-font-serif);
  font-size: clamp(2.4rem, 5.5vw, 4.2rem);
  font-weight: 700;
  line-height: 1.12;
  color: var(--de-white);
  max-width: 760px;
  margin-bottom: var(--de-space-5);
}
.de-hero__headline em { font-style: normal; color: var(--de-gold-light); }

.de-hero__subheadline {
  font-family: var(--de-font-sans);
  font-size: clamp(1rem, 2vw, 1.2rem);
  font-weight: 400;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.88);
  max-width: 600px;
  margin-bottom: var(--de-space-7);
}

/* ── Hero CTA Buttons ──────────────────────────────────────────────────── */
.de-hero__ctas {
  display: flex;
  flex-wrap: wrap;
  gap: var(--de-space-4);
  margin-bottom: var(--de-space-6);
}


/* ── IDX Search Box ────────────────────────────────────────────────────── */
.de-hero__search {
  background: rgba(255, 255, 255, 0.97);
  border-radius: var(--de-radius-lg);
  padding: var(--de-space-5) var(--de-space-6) var(--de-space-5);
  max-width: 680px;
  box-shadow: 0 8px 48px rgba(26, 43, 74, 0.30);
}

.de-hero__search-label {
  display: block;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gray-mid);
  margin-bottom: var(--de-space-3);
}

/* IDX vendor overrides — our !important rules own
   the same contrast bar as native CSS. Text must pass
   4.5:1 against its background. */
/* Showcase IDX widget overrides inside hero */
.de-hero__search .showcaseidx-search-widget input,
.de-hero__search .showcaseidx-search-widget select {
  border-color: var(--de-gray-border) !important;
  border-radius: var(--de-radius) !important;
  font-family: var(--de-font-sans) !important;
  color: var(--de-navy) !important;
}
.de-hero__search .showcaseidx-search-widget button,
.de-hero__search .showcaseidx-search-widget [type="submit"] {
  background: var(--de-gold) !important;
  color: var(--de-navy) !important;
  border-color: var(--de-gold) !important;
  border-radius: var(--de-radius) !important;
}
.de-hero__search .showcaseidx-search-widget button:hover,
.de-hero__search .showcaseidx-search-widget [type="submit"]:hover {
  background: var(--de-accent-hover) !important;
  border-color: var(--de-accent-hover) !important;
}

/* ── Credential Bar ─────────────────────────────────────────────────────── */
.de-credential-bar {
  position: relative;
  z-index: 2;
  background: var(--de-navy-grad);
  border-top: none;
  border-bottom: 2px solid var(--de-gold);
  backdrop-filter: none;
  padding: 18px 40px;
  margin-top: auto;
}

.de-credential-bar__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0;
}

.de-credential-bar__item {
  display: flex;
  align-items: center;
  gap: var(--de-space-3);
  padding: var(--de-space-2) var(--de-space-6);
  color: #ffffff;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  white-space: nowrap;
  position: relative;
}
.de-credential-bar__item + .de-credential-bar__item::before {
  content: '';
  position: absolute;
  left: 0; top: 50%;
  transform: translateY(-50%);
  height: 18px; width: 1px;
  background: rgba(255, 255, 255, 0.25);
}
.de-credential-bar__icon { color: var(--de-gold); flex-shrink: 0; }

.de-idx-search {
  background: var(--de-gray-warm);
  padding: 52px 40px 44px;
  border-bottom: 1px solid var(--de-border-cream);
}

/* ══════════════════════════════════════════════════════════════════════════
   AGENT IDENTITY STRIP
   ══════════════════════════════════════════════════════════════════════════ */
.de-agent-strip {
  background: var(--de-white);
  border-bottom: 1px solid var(--de-gray-border);
  padding: 18px 40px;
}

.de-agent-strip__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--de-space-4);
}

.de-agent-strip__identity { display: flex; align-items: center; gap: var(--de-space-4); }

.de-agent-strip__photo {
  width: 52px; height: 52px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--de-gold);
  flex-shrink: 0;
}

.de-agent-strip__name {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  font-weight: 700;
  color: var(--de-navy);
  line-height: 1.2;
}

.de-agent-strip__title {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-2xs);
  color: var(--de-gray-mid);
  line-height: 1.4;
}

.de-agent-strip__contact { display: flex; align-items: center; gap: var(--de-space-5); flex-wrap: wrap; }

.de-agent-strip__phone {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  font-weight: 700;
  color: var(--de-navy);
  letter-spacing: 0.02em;
  transition: color var(--de-transition);
  display: inline-flex;
  align-items: center;
  padding: var(--de-space-4) 0;
}
.de-agent-strip__phone:hover { color: var(--de-gold); }

.de-agent-strip__cta {
  background: var(--de-gold);
  color: var(--de-navy);
  padding: var(--de-space-4) var(--de-space-5);
  border-radius: var(--de-radius);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  font-weight: 600;
  letter-spacing: 0.04em;
  transition: background var(--de-transition);
}
.de-agent-strip__cta:hover { background: var(--de-accent-hover); color: var(--de-navy); }


/* ══════════════════════════════════════════════════════════════════════════
   SECTION SHARED STYLES
   ══════════════════════════════════════════════════════════════════════════ */
.de-section-eyebrow {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
  margin-bottom: var(--de-space-3);
}

.de-section-heading {
  font-family: var(--de-font-serif);
  font-size: clamp(1.8rem, 3.5vw, 2.8rem);
  font-weight: 700;
  color: var(--de-navy);
  line-height: 1.18;
  margin-bottom: var(--de-space-3);
}

.de-section-subtext {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  color: var(--de-text-muted);
  line-height: 1.65;
  max-width: 560px;
  margin-bottom: var(--de-space-7);
}


/* ══════════════════════════════════════════════════════════════════════════
   BUTTONS (general use)
   ══════════════════════════════════════════════════════════════════════════ */
.de-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--de-space-4) var(--de-space-6);
  border-radius: var(--de-radius);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: background 150ms ease, color 150ms ease, opacity 150ms ease;
}

/* ── Three canonical button variants ─────────────────────────────────── */
/* Primary — gold fill, navy text */
.de-btn--primary { background: var(--de-gold); color: var(--de-navy); }
.de-btn--primary:hover { background: var(--de-accent-hover); color: var(--de-navy); }
.de-btn--primary:focus-visible { outline: none; box-shadow: var(--de-focus-ring); }
.de-btn--primary:active { opacity: 0.9; }
.de-btn--primary:disabled,
.de-btn--primary[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }

/* Secondary — navy outline, transparent fill, navy text */
.de-btn--secondary { background: transparent; color: var(--de-navy); border: 2px solid var(--de-navy); }
.de-btn--secondary:hover { background: var(--de-navy); color: var(--de-white); }
.de-btn--secondary:focus-visible { outline: none; box-shadow: var(--de-focus-ring); }
.de-btn--secondary:active { opacity: 0.9; }
.de-btn--secondary:disabled,
.de-btn--secondary[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }

/* Secondary on dark — white outline, transparent fill, white text */
.de-btn--secondary--on-dark { background: transparent; color: var(--de-white); border: 2px solid rgba(255, 255, 255, 0.72); }
.de-btn--secondary--on-dark:hover { background: var(--de-white); border-color: var(--de-white); color: var(--de-navy); }
.de-btn--secondary--on-dark:focus-visible { outline: 2px solid var(--de-white); outline-offset: 2px; }
.de-btn--secondary--on-dark:active { opacity: 0.9; }
.de-btn--secondary--on-dark:disabled,
.de-btn--secondary--on-dark[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }

/* Text — no fill or border; navy text with gold underline on light bg */
.de-btn--text { background: none; border: none; color: var(--de-navy); text-decoration: underline; text-decoration-color: var(--de-gold); text-underline-offset: 3px; padding: 0; font-family: var(--de-font-sans); font-size: inherit; font-weight: 600; cursor: pointer; transition: color 150ms ease, text-decoration-color 150ms ease, opacity 150ms ease; }
.de-btn--text:hover { text-decoration-color: var(--de-navy); }
.de-btn--text:focus-visible { outline: none; box-shadow: var(--de-focus-ring); }
.de-btn--text:active { opacity: 0.9; }
.de-btn--text:disabled,
.de-btn--text[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; pointer-events: none; }

.de-social-proof .de-btn--text,
.de-footer .de-btn--text { color: var(--de-gold-light); }

.de-btn--full {
  display: flex;
  width: 100%;
  justify-content: center;
  text-align: center;
}


/* ══════════════════════════════════════════════════════════════════════════
   FEATURED LISTINGS
   ══════════════════════════════════════════════════════════════════════════ */
.de-listings {
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  background: var(--de-white);
}

.de-listings__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
}

.de-listings__footer { text-align: center; margin-top: var(--de-space-7); }

/* ── Showcase IDX /properties/ page fixes ────────────────────────────── */

/* Hide the "Search" page title */
body:has(#showcaseidx-wrapper) .entry-title,
body:has(.showcaseidx-app) .entry-title {
  display: none !important;
}

/* Remove gap: entry-content padding */
body:has(#showcaseidx-wrapper) .entry-content,
body:has(.showcaseidx-app) .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Remove gap: site-main padding */
body:has(#showcaseidx-wrapper) .site-main,
body:has(.showcaseidx-app) .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Remove gap: site-content padding (replaces header-offset on IDX pages) */
body:has(#showcaseidx-wrapper) .site-content,
body:has(.showcaseidx-app) .site-content {
  padding-top: var(--de-header-h) !important;
}

/* Strip any margin/padding on the IDX widget itself */
#showcaseidx-wrapper,
.showcaseidx-wrapper,
.showcaseidx-app,
[id^="showcaseidx"] {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Scoped to /properties/ only — fires when any Showcase IDX element is on the page */
body:has(.showcaseidx-app) .entry-title,
body:has(#showcaseidx-wrapper) .entry-title,
body:has([class*="showcaseidx"]) .entry-title {
  display: none !important;
}

body:has(.showcaseidx-app) .entry-content,
body:has(#showcaseidx-wrapper) .entry-content,
body:has([class*="showcaseidx"]) .entry-content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body:has(.showcaseidx-app) .site-main,
body:has(#showcaseidx-wrapper) .site-main,
body:has([class*="showcaseidx"]) .site-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ── IDX filter bar: force single row ────────────────────────────────── */
.showcaseidx-search-controls,
.idx-search-controls,
[class*="showcaseidx"] .filters-row,
[class*="showcaseidx"] .search-controls {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  gap: var(--de-space-2) !important;
}

/* ── IDX map: cap height ──────────────────────────────────────────────── */
.showcaseidx-map-container,
#showcaseidx-map,
.idx-map-wrap {
  max-height: 600px !important;
}

/* Showcase IDX hotsheets brand overrides */
.de-listings .showcaseidx-listing-card {
  border-radius: var(--de-radius-lg) !important;
  border: 1px solid var(--de-gray-border) !important;
  overflow: hidden;
}
.de-listings .showcaseidx-listing-card .property-price {
  color: var(--de-navy) !important;
  font-family: var(--de-font-serif) !important;
  font-weight: 700 !important;
}
/* IDX vendor overrides — our !important rules own
   the same contrast bar as native CSS. Text must pass
   4.5:1 against its background. */
.de-listings .showcaseidx-listing-card .btn,
.de-listings .showcaseidx-listing-card [class*="btn-"] {
  background: var(--de-gold) !important;
  border-color: var(--de-gold) !important;
  color: var(--de-navy) !important;
  border-radius: var(--de-radius) !important;
}
.de-listings .showcaseidx-listing-card .btn:hover,
.de-listings .showcaseidx-listing-card [class*="btn-"]:hover {
  background: var(--de-accent-hover) !important;
  border-color: var(--de-accent-hover) !important;
}


/* ══════════════════════════════════════════════════════════════════════════
   VALUE PROPOSITION CARDS
   ══════════════════════════════════════════════════════════════════════════ */
.de-value-props {
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  background: var(--de-gray-light);
}

.de-value-props__inner { max-width: var(--de-max-width); margin: 0 auto; }

.de-value-props__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--de-space-5);
  margin-top: var(--de-space-7);
}

.de-value-card {
  background: var(--de-white);
  border-radius: var(--de-radius-lg);
  padding: var(--de-space-5);
  text-decoration: none;
  display: block;
  border-top: 3px solid transparent;
  transition: transform var(--de-transition), box-shadow var(--de-transition), border-top-color var(--de-transition);
}
.de-value-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 48px rgba(26, 43, 74, 0.12);
  border-top-color: var(--de-gold);
}

.de-value-card__icon { font-size: var(--de-h2); margin-bottom: var(--de-space-4); display: block; line-height: 1; }

.de-value-card__title {
  font-family: var(--de-font-serif);
  font-size: var(--de-text-xl);
  font-weight: 700;
  color: var(--de-navy);
  margin-bottom: var(--de-space-3);
  line-height: 1.25;
}

.de-value-card__body {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-sm);
  color: var(--de-text-muted);
  line-height: 1.68;
  margin-bottom: var(--de-space-5);
}

.de-value-card__link {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
}


/* ══════════════════════════════════════════════════════════════════════════
   CITY GRID
   ══════════════════════════════════════════════════════════════════════════ */
.de-cities {
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  background: var(--de-white);
}

.de-cities__inner { max-width: var(--de-max-width); margin: 0 auto; }

.de-cities__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: var(--de-space-4);
  margin-top: var(--de-space-7);
}

.de-card--city {
  position: relative;
  display: block;
  border-radius: 8px;
  overflow: hidden;
  height: 220px;
  text-decoration: none;
  background: var(--de-navy-deep);
}
.de-card--city:hover .de-card--city__bg { transform: scale(1.05); }
.de-card--city:hover .de-card--city__name { color: var(--de-gold-light); }

.de-card--city__bg {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.45s ease;
}

.de-card--city__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.15) 60%, transparent 100%);
}

.de-card--city__content {
  position: absolute;
  bottom: 14px;
  left: 14px;
  right: 14px;
  z-index: 2;
}

.de-card--city__name {
  display: block;
  font-family: var(--de-font-serif);
  font-size: var(--de-text-lg);
  font-weight: 700;
  color: var(--de-gold);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-shadow: 0 1px 4px rgba(0,0,0,0.8);
}

.de-card--city__tags,
.de-card--city__sub {
  display: block;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  color: var(--de-white);
  opacity: 0.85;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  margin-top: var(--de-space-1);
  text-shadow: 0 1px 3px rgba(0,0,0,0.8);
}


/* ══════════════════════════════════════════════════════════════════════════
   SOCIAL PROOF
   ══════════════════════════════════════════════════════════════════════════ */
/* ── Social Proof / Testimonials Section ──────────────────── */
.de-social-proof {
  background: var(--de-navy);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
}
.de-social-proof__container {
  max-width: var(--de-max-width);
  margin: 0 auto;
  text-align: center;
}
.de-social-proof__heading {
  font-family: var(--de-font-serif);
  font-size: clamp(1.8rem, 3vw, 2.4rem);
  color: #ffffff;
  margin-bottom: var(--de-space-7);
  font-weight: 700;
}
.de-social-proof__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--de-space-5);
  margin-bottom: var(--de-space-7);
}
.de-testimonial-card {
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  border-radius: 12px;
  padding: var(--de-space-6) var(--de-space-6);
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: var(--de-space-4);
}
.de-testimonial-card__stars {
  color: var(--de-gold);
  font-size: var(--de-text-sm);
  letter-spacing: 2px;
}
.de-testimonial-card__quote {
  color: rgba(255,255,255,0.88);
  font-size: var(--de-text-sm);
  line-height: 1.75;
  font-style: normal;
  flex-grow: 1;
  margin: 0;
}
.de-testimonial-card__author {
  display: flex;
  flex-direction: column;
  gap: var(--de-space-1);
  padding-top: var(--de-space-4);
  border-top: 1px solid rgba(201,168,76,0.30);
}
.de-testimonial-card__name {
  color: #ffffff;
  font-weight: 700;
  font-size: var(--de-text-xs);
  letter-spacing: 0.04em;
}
.de-testimonial-card__label {
  color: var(--de-gold);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}
.de-social-proof__cta {
  text-align: center;
}
.de-social-proof__cta .de-btn--text { font-style: italic; }

@media (max-width: 640px) {
  .de-social-proof__grid {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: row;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    gap: var(--de-space-4);
    padding-bottom: var(--de-space-4);
    scrollbar-width: none;
  }
  .de-social-proof__grid::-webkit-scrollbar {
    display: none;
  }
  .de-testimonial-card {
    min-width: 100%;
    max-width: 100%;
    scroll-snap-align: start;
    flex-shrink: 0;
  }
  .de-testimonial-card__quote {
    font-size: var(--de-text-xs);
    line-height: 1.65;
  }
}


/* ══════════════════════════════════════════════════════════════════════════
   THANK YOU PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.de-thankyou-page {
  min-height: 70vh;
  display: flex;
  align-items: center;
}
.de-thankyou {
  width: 100%;
  padding: 80px 40px;
  background: var(--de-gray-warm);
}
.de-thankyou__inner {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}
.de-thankyou__icon {
  width: 72px;
  height: 72px;
  background: var(--de-navy);
  color: var(--de-gold);
  font-size: var(--de-h2);
  font-weight: 700;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto var(--de-space-5);
}
.de-thankyou__heading {
  font-family: var(--de-font-serif);
  font-size: clamp(1.8rem, 4vw, 2.4rem);
  color: var(--de-navy);
  margin-bottom: var(--de-space-4);
}
.de-thankyou__sub {
  font-size: var(--de-text-lg);
  color: rgba(26,43,74,0.70);
  line-height: 1.7;
  margin-bottom: var(--de-space-7);
}
.de-thankyou__urgent {
  background: var(--de-navy);
  padding: var(--de-space-6);
  border-radius: 8px;
  margin-bottom: var(--de-space-6);
}
.de-thankyou__urgent p {
  color: rgba(255,255,255,0.75);
  font-size: var(--de-text-sm);
  margin-bottom: var(--de-space-4);
}
.de-thankyou__home {
  display: inline-block;
  font-size: var(--de-text-xs);
  color: rgba(26,43,74,0.55);
  text-decoration: none;
  transition: color 0.18s ease;
}
.de-thankyou__home:hover {
  color: var(--de-navy);
}


/* ══════════════════════════════════════════════════════════════════════════
   FOOTER
   ══════════════════════════════════════════════════════════════════════════ */

.de-footer {
  background: var(--de-navy-ink);
  border-top: 2px solid var(--de-gold);
  position: relative;
}

.de-footer__main {
  max-width: 1320px;
  margin: 0 auto;
  padding: var(--de-space-8) var(--de-space-8) var(--de-space-8);
}

.de-footer__inner {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(240px, 0.8fr) minmax(390px, 1.25fr);
  column-gap: clamp(64px, 8vw, 150px);
  align-items: start;
}

/* Brand Column */
.de-footer__col--brand {
  position: relative;
}

.de-footer__brand {
  display: flex;
  flex-direction: column;
}

.de-footer__brand-identity {
  display: flex;
  align-items: center;
  gap: var(--de-space-4);
  margin-bottom: var(--de-space-5);
}

.de-footer__monogram {
  display: block;
  width: 56px;
  height: 56px;
  object-fit: contain;
  flex-shrink: 0;
}

.de-footer__brand-name {
  font-family: var(--de-font-serif);
  font-size: var(--de-text-xl);
  font-weight: 700;
  color: #ffffff;
  margin: 0 0 var(--de-space-1);
  line-height: 1.15;
}

.de-footer__brand-tagline {
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
  margin: 0;
}

.de-footer__brand-copy {
  font-size: var(--de-text-sm);
  line-height: 1.65;
  color: rgba(255,255,255,0.58);
  margin: 0 0 var(--de-space-5);
}

.de-footer__brand-divider {
  border: none;
  border-top: 1px solid rgba(201,168,76,0.24);
  margin: 0 0 var(--de-space-4);
}

/* Credentials */
.de-footer__credentials {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--de-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--de-space-1);
}

.de-footer__credentials li {
  font-size: var(--de-text-2xs);
  color: rgba(255,255,255,0.58);
  line-height: 1.6;
}

/* Social Icons */
.de-footer__social {
  display: flex;
  gap: var(--de-space-3);
}

.de-footer__social-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(201,168,76,0.75);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: background 0.18s ease, border-color 0.18s ease;
  overflow: hidden;
}
.de-footer__social-btn:hover {
  background: rgba(201,168,76,0.15);
  border-color: var(--de-gold);
}
.de-footer__social-btn img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  opacity: 0.80;
  transition: opacity 0.18s ease;
}
.de-footer__social-btn:hover img {
  opacity: 1;
}

/* Column Headings */
.de-footer__col-heading {
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0 0 var(--de-space-3);
}

.de-footer__col-bar {
  width: 42px;
  height: 2px;
  background: var(--de-gold);
  margin-bottom: var(--de-space-5);
}

/* Quick Links Nav */
.de-footer__nav {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.de-footer__link {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: var(--de-text-sm);
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  padding: var(--de-space-2) 0;
  min-height: 44px;
  transition: color 0.18s ease;
}
.de-footer__link:hover {
  color: #ffffff;
}

.de-footer__chevron {
  font-size: var(--de-text-lg);
  color: rgba(201,168,76,0.55);
  line-height: 1;
  flex-shrink: 0;
  transition: color 0.18s ease;
}
.de-footer__link:hover .de-footer__chevron {
  color: var(--de-gold);
}

/* Contact Column */
.de-footer__contact-list {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--de-space-5);
  display: flex;
  flex-direction: column;
  gap: var(--de-space-3);
}

.de-footer__contact-item {
  display: flex;
  align-items: center;
  gap: var(--de-space-3);
  min-height: 44px;
}

.de-footer__contact-icon {
  color: var(--de-gold);
  flex-shrink: 0;
  display: flex;
}

.de-footer__contact-link {
  font-size: var(--de-text-sm);
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  transition: color 0.18s ease;
  word-break: break-word;
  align-self: stretch;
  display: flex;
  align-items: center;
}
.de-footer__contact-link:hover {
  color: #ffffff;
}

.de-footer__phone {
  font-weight: 600;
}

.de-footer__contact-item .de-btn--text { align-self: stretch; display: flex; align-items: center; font-size: var(--de-text-sm); }

.de-footer__col-divider {
  border: none;
  border-top: 1px solid rgba(201,168,76,0.24);
  margin: 0 0 var(--de-space-5);
}

/* Office Sub-section */
.de-footer__office-heading {
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: #ffffff;
  margin: 0 0 var(--de-space-2);
}

.de-footer__office-bar {
  width: 34px;
  height: 2px;
  background: var(--de-gold);
  margin-bottom: var(--de-space-4);
}

.de-footer__office-brokerage {
  font-size: var(--de-text-sm);
  line-height: 1.65;
  color: rgba(255,255,255,0.78);
  margin: 0 0 var(--de-space-3);
}

.de-footer__office-link {
  display: block;
  padding: var(--de-space-3) 0;
  color: rgba(255,255,255,0.78);
  text-decoration: none;
  transition: color 0.18s ease;
}
.de-footer__office-link:hover {
  color: #ffffff;
}

.de-footer__office-address {
  font-size: var(--de-text-sm);
  line-height: 1.65;
  color: rgba(255,255,255,0.58);
  margin: 0 0 var(--de-space-4);
  display: flex;
  gap: var(--de-space-2);
  align-items: flex-start;
}

.de-footer__map-pin {
  color: var(--de-gold);
  flex-shrink: 0;
  margin-top: var(--de-space-1);
  display: flex;
}

/* Bottom Bar */
.de-footer__bottom {
  border-top: 1px solid rgba(201,168,76,0.24);
  min-height: 96px;
  display: flex;
  align-items: center;
}

.de-footer__bottom-inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: var(--de-space-5) var(--de-space-8);
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--de-space-5);
}

.de-footer__copyright {
  font-size: var(--de-text-3xs);
  color: rgba(255,255,255,0.58);
  margin: 0;
}

.de-footer__legal {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  align-items: center;
}

.de-footer__legal li {
  display: flex;
  align-items: center;
}

.de-footer__legal li + li::before {
  content: '';
  display: inline-block;
  width: 1px;
  height: 12px;
  background: rgba(255,255,255,0.25);
  margin: 0 var(--de-space-4);
}

.de-footer__legal a {
  font-size: var(--de-text-3xs);
  color: rgba(255,255,255,0.58);
  text-decoration: none;
  transition: color 0.18s ease;
  white-space: nowrap;
  min-height: 44px;
  display: flex;
  align-items: center;
}
.de-footer__legal a:hover {
  color: rgba(255,255,255,0.85);
}

.de-footer__brokerage-credit {
  font-size: var(--de-text-3xs);
  color: rgba(255,255,255,0.58);
  margin: 0;
  text-align: right;
}

/* Focus states */
.de-footer__social-btn:focus-visible,
.de-footer__link:focus-visible,
.de-footer__contact-link:focus-visible,
.de-footer__office-link:focus-visible,
.de-footer__legal a:focus-visible {
  outline: none;
  box-shadow: var(--de-focus-ring);
  border-radius: 2px;
}

/* ── Footer Responsive: 1024px — 2 columns ─────────────────── */
@media (max-width: 1024px) {
  .de-footer__col--brand {
    position: static;
  }
  .de-footer__monogram {
    position: static;
    top: auto;
    margin-bottom: var(--de-space-3);
  }
  .de-footer__main {
    padding: var(--de-space-8) var(--de-space-6) var(--de-space-7);
  }
  .de-footer__inner {
    grid-template-columns: 1fr 1fr;
    column-gap: var(--de-space-7);
    row-gap: var(--de-space-7);
  }
  .de-footer__col--contact {
    grid-column: 1 / -1;
  }
  .de-footer__bottom-inner {
    padding: var(--de-space-5) var(--de-space-6);
    flex-wrap: wrap;
  }
}

/* ── Footer Responsive: 700px — 1 column ──────────────────── */
@media (max-width: 700px) {
  .de-footer__monogram {
    width: 60px;
    height: 60px;
  }
  .de-footer__main {
    padding: var(--de-space-7) var(--de-space-5) var(--de-space-7);
  }
  .de-footer__inner {
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: var(--de-space-7);
  }
  .de-footer__col--contact {
    grid-column: auto;
  }
  .de-footer__bottom {
    min-height: auto;
  }
  .de-footer__bottom-inner {
    padding: var(--de-space-5);
    grid-template-columns: 1fr;
    justify-items: center;
    text-align: center;
    gap: var(--de-space-4);
  }
  .de-footer__copyright,
  .de-footer__brokerage-credit {
    text-align: center;
  }
  .de-footer__legal li + li::before {
    display: none;
  }
  .de-footer__legal {
    flex-wrap: wrap;
    justify-content: center;
    gap: var(--de-space-2) var(--de-space-4);
  }
}


/* ══════════════════════════════════════════════════════════════════════════
   FORMS — Lead Capture
   ══════════════════════════════════════════════════════════════════════════ */
.de-form { width: 100%; }

.de-form__group { margin-bottom: var(--de-space-4); }

.de-form__label {
  display: block;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  font-weight: 600;
  color: var(--de-navy);
  margin-bottom: var(--de-space-2);
  letter-spacing: 0.02em;
}

.de-form__required { color: var(--de-gold); margin-left: 2px; }

.de-form__input,
.de-form__textarea,
.de-form__select {
  width: 100%;
  padding: var(--de-space-3) var(--de-space-4);
  border: 1px solid var(--de-gray-border);
  border-radius: var(--de-radius);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  color: var(--de-navy);
  background: var(--de-white);
  transition: border-color var(--de-transition), box-shadow var(--de-transition);
  appearance: none;
}
.de-form__input:focus,
.de-form__textarea:focus,
.de-form__select:focus {
  outline: none;
  box-shadow: var(--de-focus-ring);
  border-color: var(--de-gold);
}

.de-form__textarea { resize: vertical; min-height: 110px; }

.de-form__status {
  margin-top: var(--de-space-4);
  padding: var(--de-space-4) var(--de-space-4);
  border-radius: var(--de-radius);
  font-size: var(--de-text-xs);
  font-weight: 600;
  font-family: var(--de-font-sans);
}
.de-form__status:empty { display: none; }
.de-form__status--success { background: var(--de-success-bg); color: var(--de-success-text); border: 1px solid var(--de-success-border); }
.de-form__status--error   { background: var(--de-error-bg);   color: var(--de-error-text);   border: 1px solid var(--de-error-border); }

.de-form__privacy { font-family: var(--de-font-sans); font-size: var(--de-text-sm); color: var(--de-text-muted); line-height: 1.5; margin: var(--de-space-3) 0 0; }
.de-form__privacy a { color: var(--de-navy); text-decoration: underline; text-decoration-color: var(--de-navy); text-underline-offset: 3px; }
.de-form__privacy a:focus-visible { outline: none; box-shadow: var(--de-focus-ring); }
@media (max-width: 768px) {
  .de-form__privacy { font-size: max(12px, var(--de-text-sm)); }
  /* Inline padding grows the tap target without shifting the line */
  .de-form__privacy a { padding-block: var(--de-space-3); }
}

.de-form__field-error { display: none; font-size: var(--de-text-xs); color: var(--de-error-text); margin-top: var(--de-space-1); }
.de-form__field-error:not(:empty) { display: block; }


/* ══════════════════════════════════════════════════════════════════════════
   PAGE TEMPLATE: CITY PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.de-city-stats {
  display: flex;
  flex-wrap: wrap;
  background: var(--de-navy);
  padding: 28px 40px;
}

.de-city-stats__item {
  flex: 1;
  min-width: 180px;
  padding: var(--de-space-3) var(--de-space-6);
  text-align: center;
  position: relative;
}
.de-city-stats__item + .de-city-stats__item::before {
  content: '';
  position: absolute;
  left: 0; top: 20%; bottom: 20%;
  width: 1px;
  background: rgba(255, 255, 255, 0.18);
}

.de-city-stats__number {
  font-family: var(--de-font-serif);
  font-size: var(--de-h2);
  font-weight: 700;
  color: var(--de-gold-light);
  line-height: 1;
  margin-bottom: var(--de-space-2);
}

.de-city-stats__label {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}


.de-city-idx {
  background: var(--de-white);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  width: 100%;
  max-width: 100%;
}
.de-city-idx__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
  width: 100%;
}


/* ══════════════════════════════════════════════════════════════════════════
   PAGE TEMPLATE: LUXURY HOMES — Credentials Bar
   ══════════════════════════════════════════════════════════════════════════ */
.de-creds-bar { background: var(--de-gold); padding: 20px 40px; }

.de-creds-bar__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--de-space-6);
}

.de-cred-item {
  display: flex;
  align-items: center;
  gap: var(--de-space-3);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-white);
  white-space: nowrap;
}
.de-cred-item__icon { font-size: var(--de-text-base); }


/* ══════════════════════════════════════════════════════════════════════════
   PAGE TEMPLATE: WALMART RELOCATION — Trust Stats
   ══════════════════════════════════════════════════════════════════════════ */
.de-trust-stats {
  background: var(--de-gray-light);
  border-top: 3px solid var(--de-gold);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
}

.de-trust-stats__grid {
  max-width: var(--de-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--de-space-7);
  text-align: center;
}

.de-trust-stat__number {
  font-family: var(--de-font-serif);
  font-size: var(--de-display);
  font-weight: 700;
  color: var(--de-navy);
  line-height: 1;
  margin-bottom: var(--de-space-2);
}

.de-trust-stat__label { font-family: var(--de-font-sans); font-size: var(--de-text-xs); color: var(--de-text-muted); line-height: 1.5; }
.de-trust-stat__sub { font-size: var(--de-text-3xs); color: var(--de-gray-mid); margin-top: var(--de-space-1); }


/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Tablet ≤ 1024px ───────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .de-nav,
  .de-header__phone,
  .de-header__btn { display: none; }

  .de-header__hamburger { display: flex; }

  .de-value-props__grid { grid-template-columns: repeat(2, 1fr); }
  .de-cities__grid { grid-template-columns: repeat(2, 1fr); }
  .de-city-layout { grid-template-columns: 1fr; }

  .de-trust-stats__grid { gap: var(--de-space-5); }
}

/* ── Mobile ≤ 768px ────────────────────────────────────────────────────── */
@media (max-width: 768px) {
  :root { --de-header-h: 60px; }

  .de-header__inner { padding: 0 var(--de-space-5); }

  .de-hero { min-height: 100svh; }
  .de-hero__inner { padding: 100px 24px 64px; }
  .de-hero__search { padding: var(--de-space-4) var(--de-space-5) var(--de-space-4); max-width: 100%; }

  .de-hero__actions .de-btn { width: 100%; }

  .de-credential-bar { padding: var(--de-space-4) var(--de-space-5); text-align: center; }
  .de-credential-bar__inner { flex-direction: column; gap: var(--de-space-1); align-items: center; }
  .de-credential-bar__item { padding: var(--de-space-1) var(--de-space-4); white-space: normal; text-align: center; justify-content: center; }
  .de-credential-bar__item + .de-credential-bar__item::before { display: none; }

  .de-agent-strip { padding: var(--de-space-4) var(--de-space-5); }
  .de-agent-strip__inner { justify-content: flex-start; }

  .de-listings { padding-block: var(--de-space-7); padding-inline: var(--de-space-4); }
  .de-value-props { padding-block: var(--de-space-7); padding-inline: var(--de-space-4); }
  .de-value-props__grid { grid-template-columns: 1fr; }
  .de-cities { padding-block: var(--de-space-7); padding-inline: var(--de-space-4); }
  .de-cities__grid { grid-template-columns: repeat(2, 1fr); gap: var(--de-space-3); }
  .de-city-layout { padding: var(--de-space-7) var(--de-space-5); }
  .de-city-stats { padding: var(--de-space-5) var(--de-space-5); flex-direction: column; }
  .de-city-stats__item + .de-city-stats__item::before { display: none; }

  .de-trust-stats { padding-block: var(--de-space-7); padding-inline: var(--de-space-4); }
  .de-trust-stats__grid { grid-template-columns: 1fr; gap: var(--de-space-6); }

  .de-creds-bar { padding: var(--de-space-4) var(--de-space-5); }
  .de-creds-bar__inner { gap: var(--de-space-5); justify-content: flex-start; }

  .de-hero__bg { background-position: 70% 30%; }

  .de-container { padding: 0 var(--de-space-5); }
  .de-about-page__layout { padding-block: var(--de-space-7); padding-inline: var(--de-space-4); }
  .de-article { padding: var(--de-space-7) var(--de-space-5); }
  .de-hero--luxury .de-container,
  .de-hero--corporate .de-container,
  .de-hero--about .de-container { padding-left: var(--de-space-5); padding-right: var(--de-space-5); }
  .de-hero--luxury,
  .de-hero--corporate,
  .de-hero--about { min-height: 38vh; padding-bottom: var(--de-space-6); }

  .de-social-proof__testimonials {
    padding-bottom: var(--de-space-6);
    border-bottom: 1px solid rgba(255,255,255,0.12);
  }

  .de-form__input,
  .de-form__textarea,
  .de-form__select { font-size: var(--de-text-base); }

  html { overflow-x: hidden; max-width: 100vw; }
  body { overflow-x: hidden; max-width: 100vw; }
}

/* ── Small Mobile ≤ 480px ──────────────────────────────────────────────── */
@media (max-width: 480px) {
  .de-credential-bar__inner { flex-direction: column; gap: var(--de-space-1); align-items: center; text-align: center; }
  .de-cities__grid { grid-template-columns: 1fr; }
  .de-agent-strip__contact { flex-direction: column; align-items: flex-start; gap: var(--de-space-3); }
  .de-listings__footer { text-align: left; }
  .de-footer__brand-identity { flex-direction: column; align-items: flex-start; gap: var(--de-space-2); }
  .de-lead-form .de-btn { width: 100%; }
}


/* ══════════════════════════════════════════════════════════════════════════
   UTILITY: CONTAINER
   ══════════════════════════════════════════════════════════════════════════ */
.de-container {
  max-width: var(--de-max-width);
  margin: 0 auto;
  padding: 0 var(--de-space-7);
  width: 100%;
}

/* Button size modifier */
.de-btn--lg {
  padding: var(--de-space-4) var(--de-space-7);
  font-size: var(--de-text-base);
}


/* ══════════════════════════════════════════════════════════════════════════
   LONG-FORM CONTENT (Relocation Hub, Blog, Articles)
   ══════════════════════════════════════════════════════════════════════════ */
.de-article {
  padding: var(--de-space-8) var(--de-space-7);
  /* ~65-75ch is the typographic optimum for long-form reading */
  max-width: 72ch;
  margin: 0 auto;
}

.de-content-section {
  margin-bottom: var(--de-space-8);
}
.de-content-section:last-child { margin-bottom: 0; }

.de-content-section h2 {
  font-family: var(--de-font-serif);
  font-size: clamp(1.5rem, 3vw, 2.1rem);
  font-weight: 700;
  color: var(--de-navy);
  line-height: 1.2;
  margin-bottom: var(--de-space-5);
  margin-top: 0;
  padding-top: var(--de-space-7);
  border-top: 2px solid var(--de-gray-border);
}

.de-content-section:first-child h2,
.de-content-section h2:first-child {
  border-top: none;
  padding-top: 0;
}

.de-content-section h3 {
  font-family: var(--de-font-serif);
  font-size: var(--de-text-xl);
  font-weight: 700;
  color: var(--de-navy);
  margin-top: var(--de-space-6);
  margin-bottom: var(--de-space-3);
}

.de-content-section p {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  line-height: 1.78;
  color: #2e3a4e;
  margin-bottom: var(--de-space-4);
}

.de-content-section strong { color: var(--de-navy); }

/* !important fights .entry-content p styles injected by Gutenberg */
.de-lede {
  font-size: var(--de-text-lg) !important;
  line-height: 1.72 !important;
  color: var(--de-navy) !important;
  font-weight: 400;
  border-left: 3px solid var(--de-gold);
  padding-left: var(--de-space-5);
  margin-bottom: var(--de-space-6) !important;
}


/* ── Table of Contents ─────────────────────────────────────────────────── */
.de-toc {
  background: var(--de-gray-light);
  border-left: 4px solid var(--de-gold);
  padding: var(--de-space-6) var(--de-space-7);
}

.de-toc__label {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
  margin-bottom: var(--de-space-3);
}

.de-toc__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--de-space-2) var(--de-space-6);
  counter-reset: toc;
}

.de-toc__list li {
  counter-increment: toc;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
}

.de-toc__list a {
  color: var(--de-navy);
  font-weight: 600;
  transition: color var(--de-transition);
}
.de-toc__list a:hover { color: var(--de-gold); }


/* ── CTA Section (bottom of template) ─────────────────────────────────── */
.de-cta-section {
  background: var(--de-navy);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
}

.de-cta-section__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--de-space-8);
  align-items: start;
}

.de-cta-section__copy h2 {
  font-family: var(--de-font-serif);
  font-size: clamp(1.6rem, 3vw, 2.2rem);
  font-weight: 700;
  color: var(--de-white);
  margin-bottom: var(--de-space-4);
  line-height: 1.2;
}

.de-cta-section__copy p {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-sm);
  line-height: 1.70;
  color: rgba(255, 255, 255, 0.80);
  margin-bottom: var(--de-space-5);
}
.de-cta-section__byline {
  font-size: var(--de-text-2xs);
  color: rgba(255, 255, 255, 0.45);
  margin-top: var(--de-space-5);
  margin-bottom: 0;
}

.de-contact-list {
  list-style: none;
  padding: 0;
  margin: var(--de-space-6) 0 0;
}

.de-contact-list li { margin-bottom: var(--de-space-3); }

.de-contact-list__link {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  font-weight: 700;
  color: var(--de-gold-light);
  transition: color var(--de-transition);
  display: block;
  padding: var(--de-space-4) 0;
}
.de-contact-list__link:hover { color: var(--de-white); }

.de-cta-section__form {
  background: var(--de-white);
  border-radius: var(--de-radius-lg);
  padding: var(--de-space-6) var(--de-space-6);
}


/* ── Contact Sidebar Section (2fr copy + 1fr agent card + disclosure form) */
.de-contact-sidebar {
  background: var(--de-navy-grad);
  border-top: 2px solid var(--de-gold);
  border-bottom: 2px solid var(--de-gold);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
}
.de-contact-sidebar__inner {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: var(--de-space-8);
  align-items: start;
}

/* Copy column */
.de-contact-sidebar__eyebrow {
  margin: 0 0 var(--de-space-4);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
}
.de-contact-sidebar__heading {
  margin: 0 0 var(--de-space-5);
  max-width: 15ch;
  font-family: var(--de-font-serif);
  font-size: clamp(2.3rem, 4.2vw, 3.4rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: -0.01em;
  color: var(--de-white);
}
.de-contact-sidebar__lede {
  margin: 0;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-lg);
  line-height: 1.75;
  color: var(--de-gold-light);
  border-left: 3px solid var(--de-gold);
  padding-left: var(--de-space-5);
}
.de-contact-sidebar__body {
  margin: var(--de-space-5) 0 0;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  line-height: 1.75;
  color: rgba(255, 255, 255, 0.78);
}

/* Sidebar column */
.de-contact-sidebar__sidebar {
  display: flex;
  flex-direction: column;
  gap: var(--de-space-4);
  max-width: 290px;
  margin-left: auto;
  width: 100%;
}

/* OR divider */
.de-contact-sidebar__divider {
  display: flex;
  align-items: center;
  gap: var(--de-space-4);
}
.de-contact-sidebar__divider-rule {
  flex: 1;
  height: 1px;
  background: rgba(255, 255, 255, 0.22);
}
.de-contact-sidebar__divider-label {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
}

/* Disclosure button */
.de-contact-sidebar__disclosure {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--de-space-3);
  width: 100%;
  min-height: 52px;
  padding: var(--de-space-4) var(--de-space-4);
  cursor: pointer;
  border: var(--de-border-gold);
  border-radius: var(--de-radius-md);
  background: transparent;
  color: var(--de-gold);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  font-weight: 700;
  transition: background var(--de-transition), color var(--de-transition);
}
.de-contact-sidebar__disclosure:hover,
.de-contact-sidebar__disclosure[aria-expanded="true"] {
  background: var(--de-gold);
  color: var(--de-navy-ink);
}
.de-contact-sidebar__chevron {
  flex-shrink: 0;
  transition: transform 0.24s ease;
}
.de-contact-sidebar__disclosure[aria-expanded="true"] .de-contact-sidebar__chevron {
  transform: rotate(180deg);
}

/* Collapsible form */
.de-contact-sidebar__form-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.24s ease;
}
.de-contact-sidebar__form-wrap.is-open {
  grid-template-rows: 1fr;
}
.de-contact-sidebar__form-inner {
  overflow: hidden;
  min-height: 0;
}

/* Lead form panel */
.de-lead-form-panel {
  background: var(--de-white);
  border-radius: var(--de-radius-lg);
  padding: var(--de-space-5) var(--de-space-5) var(--de-space-5);
}
.de-lead-form-panel__heading {
  margin: 0 0 var(--de-space-1);
  font-family: var(--de-font-serif);
  font-size: var(--de-text-lg);
  font-weight: 700;
  color: var(--de-navy);
  line-height: 1.2;
}
.de-lead-form-panel__intro {
  margin: 0 0 var(--de-space-4);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  line-height: 1.5;
  color: var(--de-text-slate);
}

/* Responsive */
@media (max-width: 900px) {
  .de-contact-sidebar__inner { grid-template-columns: 1fr; gap: var(--de-space-7); }
  .de-contact-sidebar__sidebar { max-width: 100%; margin-left: 0; }
}
@media (max-width: 640px) {
  .de-contact-sidebar { padding: var(--de-space-8) var(--de-space-5); }
  .de-contact-sidebar__heading { font-size: clamp(1.9rem, 7vw, 2.6rem); }
}


/* ── Inline CTA (mid-article) ──────────────────────────────────────────── */
.de-content-section--cta-inline {
  background: var(--de-gray-light);
  border-radius: var(--de-radius-lg);
  padding: var(--de-space-7) var(--de-space-6);
  margin-top: var(--de-space-8);
  border-top: 3px solid var(--de-gold);
}

.de-inline-cta h2 {
  font-family: var(--de-font-serif);
  font-size: var(--de-h3);
  font-weight: 700;
  color: var(--de-navy);
  margin-bottom: var(--de-space-4);
  border-top: none !important;
  padding-top: 0 !important;
}

.de-inline-cta p {
  font-size: var(--de-text-sm);
  color: var(--de-text-muted);
}

.de-inline-cta__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--de-space-4);
  margin-top: var(--de-space-5);
  margin-bottom: var(--de-space-5);
}

.de-inline-cta__license {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  color: var(--de-gray-mid);
  letter-spacing: 0.04em;
}


/* ══════════════════════════════════════════════════════════════════════════
   HERO VARIANT: HOME PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.de-hero--home {
  min-height: 100svh;
}

.de-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--de-space-4);
  margin-top: var(--de-space-6);
}

@media (max-width: 480px) {
  .de-hero__actions { flex-direction: column; }
}


/* ══════════════════════════════════════════════════════════════════════════
   HERO VARIANT: CITY PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.de-hero--city {
  min-height: 50vh;
  justify-content: flex-end;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  padding-bottom: var(--de-space-7);
}

.de-hero--city .de-hero__overlay {
  background: rgba(26, 43, 74, 0.52);
}

.de-hero--city .de-container {
  position: relative;
  z-index: 2;
  padding-top: var(--de-header-h);
}

.de-hero--city .de-hero__title {
  font-family: var(--de-font-serif);
  font-size: clamp(1.8rem, 4vw, 3rem);
  font-weight: 700;
  color: #ffffff;
  line-height: 1.15;
  margin-bottom: var(--de-space-3);
  text-shadow: 0 2px 16px rgba(0, 0, 0, 0.8);
}

.de-hero--city .de-hero__subtitle {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  color: var(--de-gold);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.8);
}

@media (max-width: 768px) {
  .de-hero--city { min-height: 40vh; }
  .de-hero--city .de-container { padding-top: calc(var(--de-header-h) + 24px); }
}


/* ══════════════════════════════════════════════════════════════════════════
   HERO VARIANT: RELOCATION (interior page, no background image)
   ══════════════════════════════════════════════════════════════════════════ */
.de-hero--relocation {
  min-height: 52vh;
  background-image: url('/wp-content/themes/daliciaemerson/assets/images/nwa-relocation-hero.jpg');
  justify-content: center;
}

.de-hero--relocation .de-hero__headline {
  font-size: clamp(1.9rem, 4vw, 3rem);
}


/* ══════════════════════════════════════════════════════════════════════════
   RESPONSIVE: NEW UTILITY CLASSES
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  .de-container { padding: 0 var(--de-space-5); }
  .de-article { padding: var(--de-space-7) var(--de-space-5); }
  .de-toc { padding: var(--de-space-5) var(--de-space-5); }
  .de-toc__list { flex-direction: column; gap: var(--de-space-2); }
  .de-cta-section { padding-block: var(--de-space-7); padding-inline: var(--de-space-4); }
  .de-cta-section__inner { grid-template-columns: 1fr; gap: var(--de-space-7); }
  .de-inline-cta__actions { flex-direction: column; }
  .de-btn--lg { width: 100%; justify-content: center; }
  .de-content-section--cta-inline { padding: var(--de-space-6) var(--de-space-5); }
}


/* ══════════════════════════════════════════════════════════════════════
   TEXT VISIBILITY FIX — ALL TEMPLATES
   ══════════════════════════════════════════════════════════════════════ */

/* ── Section titles (home.php) ──────────────────────────────────────── */
.de-section-title {
  font-family: var(--de-font-serif);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  font-weight: 700;
  color: var(--de-navy);
  line-height: 1.2;
  margin-bottom: var(--de-space-6);
}
#featured-listings-heading {
  display: inline-block;
}
#featured-listings-heading::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--de-gold);
  margin-top: var(--de-space-3);
}
#communities-heading {
  display: inline-block;
}
#communities-heading::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--de-gold);
  margin-top: var(--de-space-3);
}
.de-cta-section .de-section-title {
  color: var(--de-white);
}



/* ── Hero base: title + subtitle (luxury, corporate heroes) ─────────── */
.de-hero__title {
  font-family: var(--de-font-serif);
  font-size: clamp(2rem, 4.5vw, 3.4rem);
  font-weight: 700;
  color: var(--de-white);
  line-height: 1.12;
  margin-bottom: var(--de-space-4);
}
.de-hero__title span { display: block; color: var(--de-gold-light); }
.de-hero__subtitle {
  font-family: var(--de-font-sans);
  font-size: clamp(1.1rem, 2vw, 1.4rem);
  color: rgba(255, 255, 255, 1);
  line-height: 1.65;
  margin-bottom: var(--de-space-6);
}

/* ── Hero variants: luxury + corporate ──────────────────────────────── */
.de-hero--luxury,
.de-hero--corporate,
.de-hero--about {
  min-height: 45vh;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding-bottom: var(--de-space-8);
  background-color: var(--de-navy-deep);
  overflow: hidden;
}
.de-hero--about .de-hero__eyebrow {
  color: var(--de-gold);
  opacity: 1;
}
.de-hero--about .de-hero__title {
  color: #ffffff;
  opacity: 1;
  text-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.de-hero--about .de-hero__subtitle {
  color: rgba(255,255,255,0.90);
  opacity: 1;
}
.de-hero--luxury .de-container,
.de-hero--corporate .de-container,
.de-hero--about .de-container,
.de-hero--relocation .de-container {
  position: relative;
  z-index: 2;
  padding-top: var(--de-header-h);
}
.de-hero__bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  z-index: 0;
}
.de-hero__overlay--dark {
  position: absolute;
  inset: 0;
  background: rgba(17, 30, 53, 0.65);
  z-index: 1;
}

.de-btn--large { padding: var(--de-space-4) var(--de-space-7); font-size: var(--de-text-base); }

/* ── Luxury: credentials bar ────────────────────────────────────────── */
.de-credentials-bar { background: var(--de-gold); padding: var(--de-space-4) var(--de-space-7); }
.de-credentials-bar__inner {
  max-width: var(--de-max-width);
  margin: 0 auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: var(--de-space-5);
  overflow-x: auto;
}
.de-credential {
  display: flex;
  align-items: center;
  gap: var(--de-space-2);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-white);
  white-space: nowrap;
}
.de-credential__icon { font-size: var(--de-text-base); }
.de-credential:not(:last-child)::after {
  content: '';
  display: block;
  width: 1px;
  height: 16px;
  background: rgba(255,255,255,0.4);
  margin-left: var(--de-space-5);
}

/* ── Luxury: sections and grids ─────────────────────────────────────── */
.de-section { padding-block: var(--de-space-9); }
.de-section h2 {
  font-family: var(--de-font-serif);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 700;
  color: var(--de-navy);
  margin-bottom: var(--de-space-4);
}
.de-section p {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-sm);
  color: var(--de-text-muted);
  line-height: 1.7;
  margin-bottom: var(--de-space-4);
}
.de-section--alt { background: var(--de-charcoal); }
.de-section--alt h2 {
  color: #ffffff;
}
.de-section--alt p {
  color: rgba(255,255,255,0.75);
}
.de-section--alt .de-feature-grid__text p {
  color: rgba(255,255,255,0.75);
}
.de-section--alt .de-feature-list li {
  color: rgba(255,255,255,0.80);
  border-bottom: 1px solid rgba(255,255,255,0.10);
}
.de-section--alt .de-feature-list li::before {
  color: var(--de-gold);
}
.de-section--luxury-dark { background: var(--de-navy); }
.de-section--luxury-dark h2 { color: var(--de-white); }
.de-section__intro {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-base);
  color: var(--de-text-muted);
  line-height: 1.65;
  max-width: 640px;
  margin-bottom: var(--de-space-6);
}
#luxury-listings {
  background: var(--de-white);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  text-align: center;
}
#luxury-listings-heading {
  font-size: clamp(2rem, 3.5vw, 2.8rem);
  color: var(--de-navy);
  letter-spacing: -0.01em;
  margin-bottom: var(--de-space-3);
  display: inline-block;
}
#luxury-listings-heading::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--de-gold);
  margin: var(--de-space-3) auto 0;
}
.de-luxury-idx-wrap {
  margin-top: var(--de-space-7);
}
#luxury-listings .de-section__intro {
  font-size: var(--de-text-lg);
  color: var(--de-navy);
  opacity: 0.7;
  max-width: 600px;
  margin: 0 auto var(--de-space-7);
  text-align: center;
}
.de-section--luxury-dark .de-section__intro,
.de-text-light { color: rgba(255, 255, 255, 0.80); }
.de-feature-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--de-space-8);
  align-items: center;
}
.de-feature-grid__text p { color: var(--de-text-muted); line-height: 1.7; margin-bottom: var(--de-space-4); }
.de-feature-list { list-style: none; padding: 0; margin: 0; }
.de-feature-list li {
  padding: var(--de-space-2) 0 var(--de-space-2) var(--de-space-5);
  position: relative;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-sm);
  color: var(--de-text-muted);
  border-bottom: 1px solid var(--de-gray-border);
}
.de-feature-list li::before { content: '✓'; position: absolute; left: 0; color: var(--de-gold); font-weight: 700; }
.de-card--place-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--de-space-5);
  margin-top: var(--de-space-6);
}
.de-card--place__name { font-family: var(--de-font-serif); font-size: var(--de-text-xl); font-weight: 700; color: var(--de-gold); margin-bottom: var(--de-space-3); }
.de-card--place__desc { font-size: var(--de-text-xs); color: var(--de-text-muted); line-height: 1.6; margin-bottom: var(--de-space-3); }
.de-card--place__link { font-size: var(--de-text-xs); font-weight: 700; color: var(--de-gold); display: block; padding: var(--de-space-4) 0; }
.de-card--place__link:hover { color: var(--de-gold-light); }

/* ── Walmart: employer / timeline / relocation grids ────────────────── */
.de-walmart-page__layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--de-space-7);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  max-width: var(--de-max-width);
  margin: 0 auto;
}
.de-employer-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--de-space-5); margin-top: var(--de-space-5); }
.de-employer-card {
  background: var(--de-gray-light);
  border-radius: var(--de-radius-lg);
  padding: var(--de-space-5);
  border-top: 3px solid var(--de-gold);
}
.de-employer-card h3 { font-family: var(--de-font-serif); font-size: var(--de-text-lg); font-weight: 700; color: var(--de-navy); margin-bottom: var(--de-space-3); }
.de-employer-card p { font-size: var(--de-text-xs); color: var(--de-text-muted); line-height: 1.6; margin: 0; }
.de-timeline { list-style: none; padding: 0; margin: var(--de-space-5) 0 0; }
.de-timeline__step { display: flex; gap: var(--de-space-5); padding: var(--de-space-5) 0; border-bottom: 1px solid var(--de-gray-border); }
.de-timeline__step:last-child { border-bottom: none; }
.de-timeline__marker {
  flex-shrink: 0;
  width: 36px; height: 36px;
  border-radius: 50%;
  background: var(--de-gold);
  color: var(--de-navy);
  font-weight: 700;
  font-size: var(--de-text-sm);
  display: flex;
  align-items: center;
  justify-content: center;
}
.de-timeline__step h3 { font-family: var(--de-font-serif); font-size: var(--de-text-base); font-weight: 700; color: var(--de-navy); margin-bottom: var(--de-space-2); }
.de-timeline__step p { font-size: var(--de-text-xs); color: var(--de-text-muted); line-height: 1.6; margin: 0; }
.de-relocation-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--de-space-4); margin-top: var(--de-space-5); }
.de-relocation-option { background: var(--de-white); border: 1px solid var(--de-gray-border); border-radius: var(--de-radius-lg); padding: var(--de-space-5) var(--de-space-5); }
.de-relocation-option h3 { font-family: var(--de-font-serif); font-size: var(--de-text-base); font-weight: 700; color: var(--de-navy); margin-bottom: var(--de-space-3); }
.de-relocation-option p { font-size: var(--de-text-xs); color: var(--de-text-muted); margin-bottom: var(--de-space-2); line-height: 1.5; }
/* ── Stat block + Stats bar ─────────────────────────────────────────── */
.de-stats-bar { background: var(--de-navy); padding: var(--de-space-5) 0; }
.de-stats-bar__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.de-stat { display: flex; flex-direction: column; align-items: center; padding: var(--de-space-3) var(--de-space-6); position: relative; }
.de-stat + .de-stat::before { content: ''; position: absolute; left: 0; top: 20%; bottom: 20%; width: 1px; background: rgba(255,255,255,0.18); }
.de-stat__value { font-family: var(--de-font-serif); font-size: 1.8rem; font-weight: 700; color: var(--de-gold-light); line-height: 1; margin-bottom: var(--de-space-1); }
.de-stat__label { font-family: var(--de-font-sans); font-size: var(--de-text-3xs); font-weight: 600; letter-spacing: 0.10em; text-transform: uppercase; color: rgba(255,255,255,0.62); }
.de-stat--sm .de-stat__value { font-size: 1.5rem; }
.de-stat--lg .de-stat__value { font-size: 2.8rem; }
/* Stats-bar modifiers */
.de-stats-bar--contained { background: none; padding: 0; max-width: var(--de-max-width-prose); }
.de-stats-bar--no-dividers .de-stat + .de-stat::before { display: none; }
.de-stats-bar--gold-rule { border-bottom: 2px solid var(--de-gold-warm); }
/* Stat block: tone + boxed */
.de-stat--light .de-stat__value { color: var(--de-navy); }
.de-stat--light .de-stat__label { color: var(--de-text-muted); }
.de-stat--boxed { background: var(--de-gray-light); border-top: 3px solid var(--de-gold); border-radius: var(--de-radius-lg); padding: var(--de-space-5); text-align: center; }

/* ── City page: layout + content ────────────────────────────────────── */
.de-city-page__layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--de-space-7);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  max-width: var(--de-max-width);
  margin: 0 auto;
}
.de-city-page__content h2,
.de-city-page__body h2 { font-family: var(--de-font-serif); font-size: var(--de-text-xl); font-weight: 700; color: var(--de-navy); margin-bottom: var(--de-space-3); }
.de-city-page__content p,
.de-city-page__body p { font-family: var(--de-font-sans); font-size: var(--de-text-sm); color: var(--de-text-muted); line-height: 1.7; margin-bottom: var(--de-space-4); }

/* City page body (editor content) — scoped so the neighborhood intro is unaffected.
   Also used by relocation-spoke.php for its editor content. */
.de-city-page__body > h2:first-child { margin-top: 0; }
.de-city-page__body h3 { font-family: var(--de-font-serif); font-size: var(--de-text-lg); font-weight: var(--de-weight-bold); color: var(--de-navy); margin-top: var(--de-space-6); margin-bottom: var(--de-space-2); }
.de-city-page__body ul { list-style: disc; padding-left: var(--de-space-5); margin: 0 0 var(--de-space-4); }
.de-city-page__body li { font-family: var(--de-font-sans); font-size: var(--de-text-sm); color: var(--de-text-muted); line-height: 1.7; margin-bottom: var(--de-space-2); }
.de-city-page__body li::marker { color: var(--de-gold); }
.de-city-page__body strong { color: var(--de-navy); font-weight: 600; }
.de-city-page__body a { color: var(--de-navy); text-decoration: underline; text-decoration-color: var(--de-gold); text-underline-offset: 3px; font-weight: 600; transition: text-decoration-color var(--de-transition); }
.de-city-page__body a:hover { text-decoration-color: var(--de-navy); }
.de-city-page__body a:focus-visible { outline: none; box-shadow: var(--de-focus-ring); }
@media (max-width: 768px) {
  .de-city-page__body h3 { margin-top: var(--de-space-5); }
}
.de-sidebar-form { background: var(--de-white); border: 1px solid var(--de-gray-border); border-radius: var(--de-radius-lg); padding: var(--de-space-6); margin-top: var(--de-space-5); }
.de-sidebar-form h3 { font-family: var(--de-font-serif); font-size: var(--de-text-lg); font-weight: 700; color: var(--de-navy); margin-bottom: var(--de-space-4); }

/* ── Contact page: page hero ────────────────────────────────────────── */
.de-page-hero--compact { background: var(--de-navy); padding: 80px 0 56px; }
.de-page-hero--compact h1 { font-family: var(--de-font-serif); font-size: clamp(2rem, 4vw, 3rem); font-weight: 700; color: var(--de-white); margin-bottom: 16px; }
.de-page-hero__subtitle { font-family: var(--de-font-sans); font-size: var(--de-text-base); color: rgba(255,255,255,0.80); line-height: 1.65; }

/* ── Contact page: layout + cards ───────────────────────────────────── */
.de-contact-page__layout {
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: var(--de-space-8);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  max-width: var(--de-max-width);
  margin: 0 auto;
}
.de-contact-page__form-col h2 { font-family: var(--de-font-serif); font-size: var(--de-h3); font-weight: 700; color: var(--de-navy); margin-bottom: var(--de-space-5); }
.de-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: var(--de-space-4); }
.de-form__disclaimer { font-family: var(--de-font-sans); font-size: var(--de-text-2xs); color: var(--de-gray-mid); margin-top: var(--de-space-3); line-height: 1.5; }
.de-contact-expectations, .de-service-area { background: var(--de-gray-light); border-radius: var(--de-radius-lg); padding: var(--de-space-5) var(--de-space-5); margin-bottom: var(--de-space-4); }
.de-contact-expectations h3, .de-service-area h3 { font-family: var(--de-font-serif); font-size: var(--de-text-base); font-weight: 700; color: var(--de-navy); margin-bottom: var(--de-space-3); }
.de-contact-expectations ul { list-style: none; padding: 0; margin: 0; }
.de-contact-expectations li { font-family: var(--de-font-sans); font-size: var(--de-text-xs); color: var(--de-text-muted); padding: var(--de-space-2) 0; border-bottom: 1px solid var(--de-gray-border); line-height: 1.5; }
.de-contact-expectations li:last-child { border-bottom: none; }
.de-service-area p { font-family: var(--de-font-sans); font-size: var(--de-text-xs); color: var(--de-text-muted); line-height: 1.6; margin: 0; }

/* ── CTA section contact links ──────────────────────────────────────── */
.de-cta-section .de-contact-list a,
.de-cta-section .de-contact-list__link { color: var(--de-gold-light); font-weight: 700; font-size: var(--de-text-base); transition: color var(--de-transition); }
.de-cta-section .de-contact-list a:hover,
.de-cta-section .de-contact-list__link:hover { color: var(--de-white); }

/* ── Responsive ─────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .de-walmart-page__layout,
  .de-city-page__layout,
  .de-contact-page__layout { grid-template-columns: 1fr; }
  .de-feature-grid { grid-template-columns: 1fr; gap: var(--de-space-6); }
  .de-credentials-bar { padding: var(--de-space-4) var(--de-space-5); }
  .de-credentials-bar__inner { gap: var(--de-space-4); }
}
@media (max-width: 768px) {
  .de-employer-grid,
  .de-relocation-grid,
  .de-card--place-grid { grid-template-columns: 1fr; }
  .de-walmart-page__layout {
    grid-template-columns: 1fr;
    gap: var(--de-space-6);
  }
  .de-walmart-page__layout,
  .de-city-page__layout,
  .de-contact-page__layout { padding-block: var(--de-space-7); padding-inline: var(--de-space-4); }
  .de-page-hero--compact { padding: var(--de-space-8) 0 var(--de-space-6); }
  .de-form__row { grid-template-columns: 1fr; }
}

/* ══════════════════════════════════════════════════════════════════════════
   REVIEWS PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.de-page-hero {
  background: var(--de-navy);
  padding: 80px 40px 64px;
  text-align: center;
}
.de-page-hero h1 {
  color: #ffffff;
  font-family: var(--de-font-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  margin-bottom: var(--de-space-3);
}
.de-page-hero__sub {
  color: rgba(255,255,255,0.70);
  font-size: var(--de-text-lg);
}
.de-reviews-section {
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  background: var(--de-gray-warm);
}
.de-reviews-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--de-space-5);
}
.de-review-card {
  background: #ffffff;
  border-radius: var(--de-radius-lg);
  padding: var(--de-space-5);
  box-shadow: 0 2px 12px rgba(26,43,74,0.08);
  display: flex;
  flex-direction: column;
  gap: var(--de-space-3);
}
.de-review-card__stars {
  color: var(--de-gold);
  font-size: var(--de-text-base);
  letter-spacing: 2px;
}
.de-review-card__text {
  color: var(--de-navy);
  font-size: var(--de-text-sm);
  line-height: 1.7;
  flex-grow: 1;
}
.de-review-card__name {
  color: var(--de-gold);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
}
@media (max-width: 1024px) {
  .de-reviews-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
  .de-reviews-grid { grid-template-columns: 1fr; }
}

.de-reviews__cta { text-align: center; }
.de-reviews__cta h2 { color: var(--de-white); margin-bottom: var(--de-space-4); }
.de-reviews__cta p { color: var(--de-on-dark-muted); margin-bottom: var(--de-space-6); }

/* ══════════════════════════════════════════════════════════════════════════
   ABOUT PAGE
   ══════════════════════════════════════════════════════════════════════════ */
.de-about-page__layout {
  display: grid;
  grid-template-columns: 1fr 340px;
  gap: var(--de-space-7);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
}
.de-about-page__body {
  font-size: var(--de-text-base);
  line-height: 1.8;
  color: var(--de-text);
}
.de-about-creds-pair {
  display: flex;
  gap: var(--de-space-4);
  margin: var(--de-space-7) 0 var(--de-space-6);
}
.de-about-creds-pair__img {
  width: calc(50% - 8px);
  height: 240px;
  object-fit: cover;
  border-radius: 4px;
  display: block;
}
@media (max-width: 640px) {
  .de-about-creds-pair {
    flex-direction: column;
  }
  .de-about-creds-pair__img {
    width: 100%;
    height: auto;
  }
}

.de-about-float-img {
  float: left;
  width: 320px;
  height: auto;
  margin: var(--de-space-1) var(--de-space-6) var(--de-space-5) 0;
  border-radius: 4px;
  display: block;
}
@media (max-width: 640px) {
  .de-about-float-img {
    float: none;
    width: 100%;
    margin: 0 0 var(--de-space-5);
  }
}

.de-about-page__body h2 {
  font-family: var(--de-font-serif);
  font-size: var(--de-h2);
  color: var(--de-navy);
  margin: 0 0 var(--de-space-5);
  padding-bottom: var(--de-space-4);
  border-bottom: 3px solid var(--de-gold-warm);
}
.de-about-page__body h3 {
  font-family: var(--de-font-serif);
  color: var(--de-navy);
  margin: var(--de-space-7) 0 var(--de-space-4);
  text-transform: uppercase;
  letter-spacing: 0.10em;
  font-size: var(--de-text-3xs);
}
.de-about-page__body ul {
  list-style: none;
  padding: 0;
  margin: 0 0 var(--de-space-6);
  display: flex;
  flex-direction: column;
  gap: var(--de-space-3);
}
.de-about-page__body ul li {
  padding: var(--de-space-3) var(--de-space-4);
  background: var(--de-gray-warm);
  border-left: 3px solid var(--de-gold-warm);
  border-radius: 0 4px 4px 0;
  font-size: var(--de-text-sm);
  color: var(--de-navy);
  font-weight: 500;
}
.de-about-page__body p:last-of-type {
  background: var(--de-navy);
  color: #ffffff;
  padding: var(--de-space-5) var(--de-space-6);
  border-radius: 8px;
  font-size: var(--de-text-base);
  line-height: 1.7;
}
.de-about-page__body p:last-of-type a {
  color: var(--de-gold);
  font-weight: 700;
}
.de-about-page__sidebar {
  position: sticky;
  top: 130px;
  align-self: start;
}
@media (max-width: 1024px) {
  .de-about-page__layout {
    grid-template-columns: 1fr;
  }
  .de-about-page__sidebar {
    position: static;
  }
}


/* ══════════════════════════════════════════════════════════════════════════
   ABOUT PAGE: QUOTE CALLOUT
   ══════════════════════════════════════════════════════════════════════════ */
.de-about-quote {
  background: var(--de-gray-warm);
  padding-block: var(--de-space-9); padding-inline: var(--de-gutter);
  text-align: center;
  border-bottom: 1px solid var(--de-border-cream);
}
.de-about-quote__text {
  font-family: var(--de-font-serif);
  font-size: clamp(1.2rem, 2.5vw, 1.6rem);
  color: var(--de-navy);
  font-style: italic;
  line-height: 1.6;
  max-width: 72ch; /* typographic optimum for pull-quote text */
  margin: 0 auto var(--de-space-4);
}
.de-about-quote__cite {
  font-size: var(--de-text-xs);
  color: var(--de-gold);
  font-weight: 600;
  letter-spacing: 0.06em;
  font-style: normal;
}

@media (max-width: 768px) {
  .de-about-quote {
    padding: var(--de-space-7) var(--de-space-5);
  }
}

/* ══════════════════════════════════════════════════════════════════════════
   ABOUT PAGE: AGENT CONTACT CARD
   ══════════════════════════════════════════════════════════════════════════ */

.de-agent-contact-card {
  width: 100%;
  max-width: 390px;
  margin: 0 auto;
  background: #ffffff;
  color: #111827;
  border: 1px solid var(--de-gold);
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(7, 21, 37, 0.16);
}

/* Headshot */
.de-agent-contact-card__photo-wrap {
  width: 100%;
  aspect-ratio: 4 / 4.6;
}

.de-agent-contact-card__photo {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 12%;
  display: block;
}

/* Identity */
.de-agent-contact-card__identity {
  position: relative;
  z-index: 1;
  padding: var(--de-space-8) var(--de-space-5) var(--de-space-4);
  text-align: center;
  border-bottom: 1px solid rgba(201, 168, 76, 0.20);
}

.de-agent-contact-card__monogram {
  position: absolute;
  top: -18px;
  left: 50%;
  transform: translateX(-50%);
  width: 72px;
  height: 72px;
  object-fit: contain;
  display: block;
}

.de-agent-contact-card__name {
  font-family: var(--de-font-serif);
  font-size: var(--de-text-xl);
  font-weight: 700;
  color: var(--de-navy-ink);
  margin: 0 0 var(--de-space-1);
  line-height: 1.2;
}

.de-agent-contact-card__title-tag {
  font-family: var(--de-font-sans);
  font-size: var(--de-text-3xs);
  font-weight: 600;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  color: var(--de-gold);
  margin: 0;
}

/* Contact rows */
.de-agent-contact-card__contact {
  padding: var(--de-space-4) var(--de-space-5) var(--de-space-2);
  display: flex;
  flex-direction: column;
}

.de-agent-contact-card__row {
  display: flex;
  align-items: flex-start;
  gap: var(--de-space-3);
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  color: #111827;
  text-decoration: none;
  padding: var(--de-space-2) 0;
  min-height: 44px;
  transition: color 0.18s ease;
  word-break: break-word;
  overflow-wrap: break-word;
}

a.de-agent-contact-card__row:hover {
  color: var(--de-gold);
}

.de-agent-contact-card__row--static {
  color: var(--de-text-slate);
  font-size: var(--de-text-xs);
}

.de-agent-contact-card__row-icon {
  color: var(--de-gold);
  flex-shrink: 0;
  margin-top: 2px;
  display: flex;
}

/* Divider */
.de-agent-contact-card__divider {
  height: 1px;
  background: rgba(201, 168, 76, 0.20);
  margin: 0 var(--de-space-5);
}

/* CTA button */
.de-agent-contact-card__cta {
  padding: var(--de-space-4) var(--de-space-5);
}

.de-agent-contact-card__cta-btn {
  display: block;
  width: 100%;
  text-align: center;
  padding: var(--de-space-3) var(--de-space-4);
  border: 1px solid var(--de-gold);
  border-radius: 6px;
  font-family: var(--de-font-sans);
  font-size: var(--de-text-xs);
  font-weight: 600;
  color: var(--de-gold);
  text-decoration: none;
  line-height: 1.5;
  min-height: 44px;
  transition: background 0.18s ease, color 0.18s ease;
}
.de-agent-contact-card__cta-btn:hover {
  background: var(--de-gold);
  color: var(--de-navy);
}
.de-agent-contact-card__cta-main {
  display: block;
  font-size: var(--de-text-xs);
  font-weight: 700;
}
.de-agent-contact-card__cta-sub {
  display: block;
  font-size: var(--de-text-3xs);
  font-weight: 400;
  margin-top: var(--de-space-1);
}

/* Social links */
.de-agent-contact-card__social {
  display: flex;
  justify-content: center;
  gap: var(--de-space-3);
  padding: var(--de-space-1) var(--de-space-5) var(--de-space-5);
}

.de-agent-contact-card__social-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid rgba(201, 168, 76, 0.50);
  display: flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  overflow: hidden;
  transition: background 0.18s ease, border-color 0.18s ease;
}
.de-agent-contact-card__social-btn:hover {
  background: var(--de-gold-faint);
  border-color: var(--de-gold);
}
.de-agent-contact-card__social-btn img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  opacity: 0.85;
  transition: opacity 0.18s ease;
}
.de-agent-contact-card__social-btn:hover img {
  opacity: 1;
}

/* Focus states */
.de-agent-contact-card__cta-btn:focus-visible,
.de-agent-contact-card__social-btn:focus-visible,
a.de-agent-contact-card__row:focus-visible {
  outline: none;
  box-shadow: var(--de-focus-ring);
  border-radius: 4px;
}

/* Responsive */
@media (max-width: 700px) {
  .de-agent-contact-card {
    max-width: 360px;
  }
}

