/* IG Theme Config - Custom Styles v10.7 */

/* Hide Kadence auto entry-hero (brown bars) on pages that have their own custom hero sections */
.parent-pageid-11 .entry-hero,
.blog .entry-hero,
.single-post .entry-hero,
.archive .entry-hero,
.category .entry-hero,
.tag .entry-hero,
.search .entry-hero {
  display: none !important;
}

/* === HEADER BRANDING === */
.site-branding {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
}
.site-branding .custom-logo-link,
.site-branding .site-logo-image,
.site-branding .logo-link,
#main-header .site-branding img:not(.custom-logo-fallback) {
  display: none !important;
}
.site-branding .site-title-wrap {
  display: block !important;
}
.site-branding .site-title {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 32px !important;
  font-weight: 300 !important;
  letter-spacing: 7px !important;
  white-space: nowrap !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  margin: 0 !important;
}
.site-branding .site-title a {
  color: #1C1A2B !important;
  text-decoration: none !important;
}
.site-branding .site-description {
  display: none !important;
}
.site-branding .site-title::after {
  content: "AT DOUGLAS ELLIMAN REAL ESTATE";
  display: block;
  text-align: center;
  /* re-center optically: trailing letter-spacing hangs 4.5px past the last glyph */
  padding-left: 4.5px;
  font-family: "Josefin Sans", sans-serif;
  font-size: 10px;
  font-weight: 400;
  letter-spacing: 4.5px;
  text-transform: uppercase;
  color: #1C1A2B;
  margin-top: 4px;
  white-space: nowrap;
}

/* === HEADER === */
.site-header .site-branding img.custom-logo {
  max-height: 40px;
  width: auto;
}
#main-header .site-header-wrap {
  padding: 8px 0;
}
/* Fix nav menu link colors */
.main-navigation .primary-menu-container > ul > li.menu-item > a,
.header-navigation .header-menu-container > ul > li.menu-item > a,
#main-header .primary-menu-container > ul > li.menu-item > a {
  color: #100B28 !important;
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 3px !important;
  font-size: 13px !important;
}
.main-navigation .primary-menu-container > ul > li.menu-item > a:hover,
#main-header .primary-menu-container > ul > li.menu-item > a:hover {
  color: #100B28 !important;
}
.main-navigation .primary-menu-container > ul > li.menu-item.current-menu-item > a,
#main-header .primary-menu-container > ul > li.menu-item.current-menu-item > a {
  color: #100B28 !important;
}
/* Rounded header buttons — Alligood Group style */
#main-header .header-html,
#main-header .header-html p {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
/* Header right actions container */
.header-right-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}
.header-signin-link {
  font-family: "Josefin Sans", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: #1C1A2B !important;
  text-decoration: none;
  transition: color 0.3s;
  white-space: nowrap;
}
.header-signin-link:hover {
  color: #535C70 !important;
}
#main-header .header-html a.header-phone-btn {
  color: #fff !important;
  font-family: "Josefin Sans", sans-serif;
  font-weight: 500;
  font-size: 12px;
  white-space: nowrap;
  padding: 11px 22px !important;
  border-radius: 50px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: all 0.3s;
  background: #100B28 !important;
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  line-height: 1;
  box-sizing: border-box;
}
#main-header .header-html a.header-phone-btn .phone-icon {
  flex-shrink: 0;
  display: block;
}
#main-header .header-html a.header-phone-btn .phone-label {
  display: block;
  line-height: 1;
  /* letter-spacing adds 2px after the last digit — pull it back so the text sits optically centered */
  margin-right: -2px;
  /* Josefin Sans renders high in a line-height:1 box — nudge down */
  transform: translateY(1px);
}
#main-header .header-html a.header-phone-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* === VIDEO HERO === */
.hero-video-section,
.video-hero-section {
  position: relative;
  width: 100%;
  height: 55vh;
  margin-left: 0;
  overflow: hidden;
  display: flex;
  align-items: stretch;
  justify-content: center;
}
.hero-video-section video,
.video-hero-section video {
  position: absolute;
  left: 50%;
  top: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
  object-fit: cover;
  z-index: 0;
}
.hero-video-overlay,
.video-hero-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.3) 50%, rgba(0,0,0,0.15) 100%);
  z-index: 1;
}
.hero-de-logo img {
  display: block !important;
  margin: 0 auto !important;
  filter: drop-shadow(0 2px 8px rgba(0,0,0,0.5));
  max-height: 95px !important;
  width: auto !important;
  opacity: 1 !important;
}
.hero-video-content,
.video-hero-content {
  position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;
  width: 100%;
  max-width: 100%;
  padding: 0 20px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.hero-de-logo,
.hero-bottom-content,
.hero-agent-brand {
  width: 100% !important;
  align-self: stretch !important;
  text-align: center !important;
}
.hero-video-content h1,
.video-hero-content h1 {
  font-family: "EB Garamond", Georgia, serif;
  font-size: clamp(20px, 2.8vw, 36px);
  font-weight: 400;
  letter-spacing: 0.04em;
  line-height: 1.4;
  margin-bottom: 20px;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 2px 2px 10px rgba(0,0,0,0.5);
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}
.hero-video-content p,
.video-hero-content p {
  font-family: "Josefin Sans", sans-serif;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 4px;
  margin-bottom: 32px;
  color: rgba(255,255,255,0.9);
  text-shadow: 0 1px 8px rgba(0,0,0,0.3);
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
}
.hero-cta-btn {
  display: inline-block;
  padding: 14px 40px;
  background: #100B28;
  color: #fff;
  text-decoration: none;
  font-family: "Josefin Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 3px;
  text-transform: uppercase;
  transition: all 0.3s ease;
  border: none;
  cursor: pointer;
}
.hero-cta-btn:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

/* === FIND YOUR NEXT HOME — Minimal Search === */
.has-palette-4-background-color:has([href="/buy/"]) .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* === SEARCH BY LIFESTYLE — Editorial === */
.wp-block-group:has(.community-card):not(#new-developments):not(.has-palette-6-background-color) > .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* === EXPLORE COMMUNITIES — Editorial === */
.has-palette-6-background-color:has(.community-card) > .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* === FEATURED PROPERTIES — Editorial === */
.has-palette-6-background-color:has(.featured-properties-grid) > .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* === WHY DOUGLAS ELLIMAN — Editorial === */
.has-palette-6-background-color:has(.wp-block-group.has-background) > .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* === LOCAL LIFESTYLE BAR === */
.local-lifestyle-bar .wp-block-columns {
  display: flex !important;
  justify-content: center !important;
  gap: 0 !important;
  max-width: 1100px !important;
  margin: 0 auto !important;
}
.local-lifestyle-bar .wp-block-column {
  position: relative !important;
  padding: 0 24px !important;
}
.local-lifestyle-bar .wp-block-column div[style*="border-radius:50%"] {
  transition: all 0.3s ease;
}
.local-lifestyle-bar .wp-block-column:hover div[style*="border-radius:50%"] {
  border-color: #100B28 !important;
  background: rgba(16,11,40,0.08);
}

/* === LIFESTYLE CARDS — Magazine Hover + Symmetry === */
.community-card {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}
.community-card img {
  transition: transform 0.6s ease !important;
}
.community-card:hover img {
  transform: scale(1.05) !important;
}
.community-card > div:last-child {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}
.community-card > div:last-child > p {
  min-height: 48px !important;
}
.community-card > div:last-child > a:last-child,
.community-card > div:last-child > span:last-child {
  margin-top: auto !important;
}

/* === BLOG / INSIGHTS SECTION === */
.wp-block-group:has(.blog-grid) > .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
.blog-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.blog-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}

/* === CTA VIDEO SECTION — Conversion Duo === */
.cta-video-section div[style*="gap"] a.hero-btn-primary {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  background: #100B28 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 36px !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease-in-out !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
  display: inline-block !important;
  text-decoration: none !important;
}
.cta-video-section div[style*="gap"] a.hero-btn-primary:hover {
  background: #323744 !important;
  transform: scale(1.02) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
}
.cta-video-section div[style*="gap"] a.hero-btn-secondary {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.85) !important;
  border-radius: 4px !important;
  padding: 16px 36px !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease-in-out !important;
  display: inline-block !important;
  text-decoration: none !important;
}
.cta-video-section div[style*="gap"] a.hero-btn-secondary:hover {
  background: #fff !important;
  color: #100B28 !important;
  border-color: #fff !important;
  transform: scale(1.02) !important;
}
/* Fallback for unclassed CTA buttons */
.cta-video-section div[style*="gap"] a:not(.hero-btn-primary):not(.hero-btn-secondary) {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.8) !important;
  border-radius: 4px !important;
  padding: 16px 36px !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease-in-out !important;
  display: inline-block !important;
  text-decoration: none !important;
}
.cta-video-section div[style*="gap"] a:not(.hero-btn-primary):not(.hero-btn-secondary):hover {
  background: #fff !important;
  color: #100B28 !important;
  transform: scale(1.02) !important;
}

/* === GLOBAL: All card CTA links → proper buttons === */
.community-card > div:last-child > a:last-child {
  background: #100B28 !important;
  color: #fff !important;
  border: none !important;
  padding: 12px 28px !important;
  border-radius: 4px !important;
  display: inline-block !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}
.community-card > div:last-child > a:last-child:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}
.service-card a:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}

/* === LOCAL LIFESTYLE BAR (legacy stat-item fallback) === */
.stat-item { text-align: center; }

/* === SECTION HEADINGS === */
.section-heading {
  text-align: center;
  margin-bottom: 48px;
}
.section-heading h2 {
  font-family: "Josefin Sans", sans-serif;
  font-size: 36px;
  font-weight: 300;
  letter-spacing: 4px;
  color: #1C1A2B;
  margin-bottom: 12px;
  text-transform: uppercase;
}
.section-heading .accent-line {
  width: 60px; height: 2px;
  background: #535C70;
  margin: 0 auto;
}

/* Hide Home from desktop nav — accessible via logo click */
@media (min-width: 769px) {
  #main-header li.menu-item-27 {
    display: none !important;
  }
}

/* === HERO BUTTONS — Conversion Duo === */
/* Primary Button — Solid Gold Action */
.hero-bottom-content div[style*="gap"] a.hero-btn-primary,
.hero-bottom-content a.hero-btn-primary {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  background: #100B28 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 4px !important;
  padding: 16px 36px !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease-in-out !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2) !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.hero-bottom-content div[style*="gap"] a.hero-btn-primary:hover,
.hero-bottom-content a.hero-btn-primary:hover {
  background: #323744 !important;
  transform: scale(1.02) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.3) !important;
  color: #fff !important;
}
/* Secondary Button — Ghost Explore */
.hero-bottom-content div[style*="gap"] a.hero-btn-secondary,
.hero-bottom-content a.hero-btn-secondary {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 500 !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  background: transparent !important;
  color: #fff !important;
  border: 1.5px solid rgba(255,255,255,0.85) !important;
  border-radius: 4px !important;
  padding: 16px 36px !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease-in-out !important;
  text-decoration: none !important;
  display: inline-block !important;
}
.hero-bottom-content div[style*="gap"] a.hero-btn-secondary:hover,
.hero-bottom-content a.hero-btn-secondary:hover {
  background: #fff !important;
  color: #100B28 !important;
  border-color: #fff !important;
  transform: scale(1.02) !important;
}
/* Fallback for any unclassed hero buttons */
.hero-bottom-content div[style*="gap"] a:not(.hero-btn-primary):not(.hero-btn-secondary),
.hero-bottom-content a.wp-block-button__link:not(.hero-btn-primary):not(.hero-btn-secondary) {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 2px !important;
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,0.8) !important;
  border-radius: 4px !important;
  padding: 16px 36px !important;
  text-transform: uppercase !important;
  transition: all 0.3s ease-in-out !important;
  text-decoration: none !important;
}
.hero-bottom-content div[style*="gap"] a:not(.hero-btn-primary):not(.hero-btn-secondary):hover,
.hero-bottom-content a.wp-block-button__link:not(.hero-btn-primary):not(.hero-btn-secondary):hover {
  background: #fff !important;
  color: #100B28 !important;
  border-color: #fff !important;
  transform: scale(1.02) !important;
}
@media (min-width: 769px) {
  .hero-bottom-content div[style*="gap"] {
    display: flex !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    gap: 16px !important;
    align-items: center !important;
  }
  .hero-de-logo {
    margin-bottom: 16px;
  }
  .hero-bottom-content {
    padding-bottom: 24px;
  }
}

/* === HAMBURGER MENU TOGGLE === */
.header-menu-toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
  margin-left: 8px;
  vertical-align: middle;
}
.header-menu-toggle span {
  display: block;
  width: 22px;
  height: 2px;
  background: #1C1A2B;
  transition: all 0.3s;
}
.header-menu-toggle:hover span {
  background: #535C70;
}

/* === KADENCE MOBILE MENU — white panel === */
.mobile-toggle-open .kadence-mobile-panel,
.kadence-mobile-panel,
#mobile-drawer .drawer-inner,
#mobile-drawer,
.popup-drawer .drawer-inner,
.popup-drawer {
  background: #fff !important;
  color: #1C1A2B !important;
}
#mobile-drawer .drawer-header,
.popup-drawer .drawer-header {
  background: #fff !important;
}
#mobile-drawer .mobile-drawer-nav a,
.popup-drawer .drawer-navigation a,
#mobile-drawer a {
  color: #1C1A2B !important;
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}
#mobile-drawer .mobile-drawer-nav a:hover,
.popup-drawer .drawer-navigation a:hover {
  color: #535C70 !important;
}
#mobile-drawer .drawer-header .drawer-toggle,
.popup-drawer .drawer-header .drawer-toggle {
  color: #1C1A2B !important;
}
#mobile-drawer .drawer-header .drawer-toggle svg,
.popup-drawer .drawer-header .drawer-toggle svg {
  color: #1C1A2B !important;
  fill: #1C1A2B !important;
}

/* === MEGA MENU OVERLAY === */
.ig-mega-menu {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100vh;
  background: #F4F4F2;
  z-index: 99999;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.ig-mega-menu.open {
  opacity: 1;
  visibility: visible;
}
.ig-mega-header {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 28px 40px;
  position: relative;
}
.ig-mega-brand {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 22px;
  font-weight: 300;
  letter-spacing: 7px;
  text-transform: uppercase;
  color: #100B28;
  margin: 0;
}
.ig-mega-close {
  position: absolute;
  right: 40px;
  top: 28px;
  background: none;
  border: none;
  font-size: 32px;
  color: #1C1A2B;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  transition: color 0.2s;
}
.ig-mega-close:hover {
  color: #100B28;
}
.ig-mega-body {
  display: flex;
  flex: 1;
  padding: 0 40px 40px;
  gap: 60px;
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
  box-sizing: border-box;
}
.ig-mega-photo {
  flex: 0 0 35%;
  max-width: 400px;
  border-radius: 4px;
  overflow: hidden;
}
.ig-mega-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.ig-mega-nav {
  flex: 1;
  display: flex;
  gap: 60px;
  padding-top: 20px;
}
.ig-mega-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.ig-mega-link-main {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px;
  font-weight: 500;
  color: #100B28;
  text-decoration: none;
  margin-top: 20px;
  transition: color 0.2s;
}
.ig-mega-link-main:first-child {
  margin-top: 0;
}
.ig-mega-link-main:hover {
  color: #100B28;
}
.ig-mega-group {
  display: flex;
  flex-direction: column;
  gap: 2px;
  margin-top: 20px;
}
.ig-mega-group .ig-mega-link-main {
  margin-top: 0;
  margin-bottom: 6px;
}
.ig-mega-group a:not(.ig-mega-link-main) {
  font-family: "Josefin Sans", sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #656978;
  text-decoration: none;
  letter-spacing: 0.5px;
  padding: 3px 0;
  transition: color 0.2s;
}
.ig-mega-group a:not(.ig-mega-link-main):hover {
  color: #100B28;
}
.ig-mega-footer {
  padding: 20px 40px 32px;
  text-align: center;
}
.ig-mega-social {
  display: flex;
  justify-content: center;
  gap: 16px;
}
.ig-mega-social a {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(28,26,43,0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  color: #1C1A2B;
  font-size: 16px;
  transition: all 0.2s;
}
.ig-mega-social a:hover {
  border-color: #100B28;
  color: #100B28;
}

/* Legacy slide-out kept for backwards compat */
.ig-slideout-panel {
  position: fixed;
  top: 0;
  right: -380px;
  width: 380px;
  height: 100vh;
  background: #fff;
  z-index: 99999;
  transition: right 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: -4px 0 24px rgba(0,0,0,0.15);
  overflow-y: auto;
  display: flex;
  flex-direction: column;
}
.ig-slideout-panel.open {
  right: 0;
}
.ig-slideout-backdrop {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.4);
  z-index: 99998;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s, visibility 0.35s;
}
.slideout-open .ig-slideout-backdrop {
  opacity: 1;
  visibility: visible;
}
body.slideout-open {
  overflow: hidden;
}
.ig-slideout-header {
  display: flex;
  justify-content: flex-end;
  padding: 20px 24px 0;
}
.ig-slideout-close {
  background: none;
  border: none;
  font-size: 32px;
  color: #1C1A2B;
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.ig-slideout-close:hover {
  color: #535C70;
}
.ig-slideout-nav {
  display: flex;
  flex-direction: column;
  padding: 24px 32px;
}
.ig-slideout-nav a {
  color: #1C1A2B;
  text-decoration: none;
  font-family: "Josefin Sans", sans-serif;
  font-size: 18px;
  font-weight: 400;
  padding: 14px 0;
  border-bottom: 1px solid #CFD2D8;
  letter-spacing: 2px;
  text-transform: uppercase;
  transition: color 0.2s;
}
.ig-slideout-nav a:hover {
  color: #535C70;
}
.ig-slideout-contact {
  padding: 24px 32px;
  margin-top: auto;
  border-top: 1px solid #CFD2D8;
}
.ig-slideout-phone {
  display: block;
  text-align: center;
  color: #1C1A2B;
  font-size: 18px;
  font-weight: 600;
  text-decoration: none;
  border: 2px solid #1C1A2B;
  border-radius: 50px;
  padding: 12px 24px;
  margin-bottom: 12px;
  transition: all 0.3s;
}
.ig-slideout-phone:hover {
  background: #1C1A2B;
  color: #fff;
}
.ig-slideout-text {
  display: block;
  text-align: center;
  color: #1C1A2B;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
  border: 2px solid #1C1A2B;
  border-radius: 50px;
  padding: 12px 24px;
  margin-bottom: 12px;
  transition: all 0.3s;
  text-transform: uppercase;
  letter-spacing: 1.5px;
}
.ig-slideout-text:hover {
  background: #1C1A2B;
  color: #fff;
}
/* Unified CTA button class - base for all primary CTAs */
.cta-button {
  display: inline-block;
  color: #fff;
  font-family: "Josefin Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 2px;
  background: #100B28;
  border: none;
  border-radius: 0;
  padding: 12px 28px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.cta-button:hover {
  opacity: 0.9;
  transform: translateY(-1px);
}

.ig-slideout-cta {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  background: #100B28;
  border-radius: 50px;
  padding: 14px 24px;
  margin-bottom: 20px;
  transition: opacity 0.3s;
}
.ig-slideout-cta:hover {
  opacity: 0.9;
}
.ig-slideout-contact p {
  color: rgba(28,26,43,0.6);
  font-size: 13px;
  line-height: 1.6;
  margin: 8px 0;
  text-align: center;
}
.ig-slideout-contact p a {
  color: #535C70;
  text-decoration: none;
}

/* === MOBILE CONTACT BAR === */
.ig-mobile-contact-bar {
  display: none;
  position: relative;
  z-index: 50;
  background: #fff;
  border-top: 1px solid rgba(16,11,40,0.35);
  box-shadow: 0 4px 12px rgba(10,7,25,0.06);
  align-items: stretch;
  gap: 7px;
  padding: 14px 10px 12px;
  box-sizing: border-box;
}
.ig-mcbar-ph { height: 0; }
.ig-mobile-contact-bar.ig-mcbar-fixed {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9990;
  transition: transform 0.3s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 4px 16px rgba(10,7,25,0.14);
}
.ig-mobile-contact-bar.ig-mcbar-fixed.ig-mcbar-hidden { transform: translateY(-100%); }
.ig-mcb-item {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  text-decoration: none;
  color: #535C70;
  border: 1px solid #535C70;
  border-radius: 12px;
  padding: 6px 0;
  min-height: 50px;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s, transform 0.1s;
}
.ig-mcb-item i { font-size: 19px; line-height: 1; color: #535C70; }
.ig-mcb-item span {
  font-family: "Josefin Sans", sans-serif;
  font-size: 10px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0.4px;
  color: #1C1A2B;
}
.ig-mcb-item:active { background: rgba(83,92,112,0.10); transform: scale(0.96); }
.ig-mcb-primary { flex: 1; background: #100B28; border-color: #100B28; }
.ig-mcb-primary i, .ig-mcb-primary span { color: #0A0719; }
.ig-mcb-primary:active { background: #323744; }

/* === STRATEGIC ADVANTAGE SECTION === */
.wp-block-group:has(.service-card) {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}
.wp-block-group:has(.service-card) > .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  color: #1C1A2B !important;
  margin-bottom: 16px !important;
}
.wp-block-group:has(.service-card) > .wp-block-columns {
  display: flex !important;
  gap: 32px !important;
  align-items: stretch !important;
}
.wp-block-group:has(.service-card) > .wp-block-columns > .wp-block-column {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  min-width: 0 !important;
}
.service-card {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 0% !important;
  height: 100% !important;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
}
.service-card img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  height: auto !important;
  max-height: 220px !important;
  border-radius: 8px 8px 0 0 !important;
  margin-bottom: 0 !important;
}
.service-card h3 {
  text-align: center !important;
  min-height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 24px 0 !important;
  margin: 0 !important;
  font-size: 20px;
  color: #1C1A2B;
}
.service-card p {
  text-align: center !important;
  max-width: 350px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 24px !important;
  color: #1C1A2B;
  font-size: 15px;
  line-height: 1.6;
}
.service-card a {
  margin-top: auto !important;
  text-align: center !important;
  display: block !important;
  padding: 16px 24px !important;
  color: #fff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  background: #100B28 !important;
  border-radius: 4px !important;
  margin: 0 24px 24px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}

/* === FEATURED PROPERTIES — IDX/REC Shell === */
.featured-properties-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 40px !important;
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.featured-property-card {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.featured-property-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.12);
}
/* Image container — forced 16:9 symmetry */
.featured-property-card .property-image {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}
.featured-property-card .property-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block;
}
/* Badge overlay — top left */
.featured-property-card .property-badge {
  position: absolute;
  top: 16px;
  left: 0;
  background: rgba(10,7,25,0.88);
  color: #fff;
  font-family: "Josefin Sans", sans-serif;
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 6px 16px 6px 12px;
  z-index: 2;
}
.featured-property-card .property-badge.gold {
  background: rgba(16,11,40,0.9);
}
/* Card content */
.featured-property-card .property-info {
  padding: 24px;
  display: flex;
  flex-direction: column;
  flex: 1;
}
/* Price — editorial serif */
.featured-property-card .property-price {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 28px;
  font-weight: 500;
  color: #100B28;
  margin: 0 0 8px;
  letter-spacing: 0.02em;
}
/* Address — clean uppercase sans */
.featured-property-card .property-address {
  font-family: "Josefin Sans", sans-serif;
  font-size: 12px;
  font-weight: 400;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #656978;
  margin: 0 0 16px;
  min-height: 36px;
  display: flex;
  align-items: flex-start;
}
/* Stats bar — beds | baths | sqft */
.featured-property-card .property-stats {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 14px 0;
  border-top: 1px solid #CFD2D8;
  border-bottom: 1px solid #CFD2D8;
  margin-bottom: 16px;
}
.featured-property-card .property-stats span {
  font-family: "Josefin Sans", sans-serif;
  font-size: 12px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  color: #1C1A2B;
  flex: 1;
  text-align: center;
}
.featured-property-card .property-stats span:not(:last-child) {
  border-right: 1px solid #CFD2D8;
}
.featured-property-card .property-stats strong {
  font-weight: 600;
  color: #100B28;
  display: block;
  font-size: 16px;
  margin-bottom: 2px;
}
/* Ghost button — appears on hover */
.featured-property-card .property-link {
  margin-top: auto;
  text-align: center;
}
.featured-property-card .property-link a {
  display: inline-block;
  font-family: "Josefin Sans", sans-serif;
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  background: #100B28;
  border: none;
  padding: 10px 24px;
  transition: all 0.3s ease;
}
.featured-property-card:hover .property-link a {
  opacity: 0.9;
  transform: translateY(-1px);
}
.featured-property-card .property-link a:hover {
  background: #100B28;
  color: #fff;
  border-color: #100B28;
}

/* === IDX Broker / Real Estate Candy Widget Overrides === */
.IDX-showcaseContainer,
.IDX-showcase {
  max-width: 1200px !important;
  margin: 0 auto !important;
}
.IDX-showcaseContainer .IDX-showcaseCell {
  background: #fff !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06) !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
  border: none !important;
}
.IDX-showcaseContainer .IDX-showcaseCell:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}
.IDX-showcaseContainer .IDX-showcasePhoto img {
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  width: 100% !important;
  height: auto !important;
}
.IDX-showcaseContainer .IDX-showcasePrice {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  color: #100B28 !important;
  letter-spacing: 0.02em !important;
}
.IDX-showcaseContainer .IDX-showcaseAddress {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #656978 !important;
}
.IDX-showcaseContainer .IDX-showcaseBeds,
.IDX-showcaseContainer .IDX-showcaseBaths,
.IDX-showcaseContainer .IDX-showcaseSqFt {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 12px !important;
  letter-spacing: 1.5px !important;
  color: #1C1A2B !important;
}
.IDX-showcaseContainer .IDX-showcaseDetails a,
.IDX-showcaseContainer a.IDX-showcaseLink {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background: #100B28 !important;
  color: #100B28 !important;
  border: 1px solid #100B28 !important;
  border-radius: 0 !important;
  padding: 10px 24px !important;
  transition: all 0.3s ease !important;
}
.IDX-showcaseContainer .IDX-showcaseDetails a:hover,
.IDX-showcaseContainer a.IDX-showcaseLink:hover {
  background: #100B28 !important;
  color: #fff !important;
}

/* === NEW DEVELOPMENTS — Symmetrical Pro === */
#new-developments .wp-block-columns {
  display: flex !important;
  gap: 40px !important;
}
#new-developments .wp-block-column {
  display: flex !important;
  flex: 1 !important;
}
#new-developments .wp-block-column > a {
  display: flex !important;
  flex: 1 !important;
}
#new-developments .community-card {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
#new-developments .community-card:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.12) !important;
}
/* Force 16:9 on placeholder hero images */
#new-developments .community-card > div:first-child {
  aspect-ratio: 16 / 9 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-direction: column !important;
}
/* Card content area */
#new-developments .community-card > div:last-child {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding: 28px !important;
}
/* Project name — serif */
#new-developments .community-card h3 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 24px !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  min-height: 32px !important;
}
/* Metadata line — uppercase sans */
#new-developments .community-card > div:last-child > p:first-child {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
  color: #100B28 !important;
}
/* Price line — muted gold */
#new-developments .community-card > div:last-child > p:nth-child(3) {
  color: #656978 !important;
}
/* Description — clamp to 3 lines */
#new-developments .community-card > div:last-child > p:nth-child(4) {
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 63px !important;
}
/* CTA link — ghost button pinned to bottom */
#new-developments .community-card > div:last-child > span:last-child {
  margin-top: auto !important;
  display: inline-block !important;
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #fff !important;
  background: #100B28 !important;
  border: none !important;
  padding: 10px 20px !important;
  transition: all 0.3s ease !important;
  text-align: center !important;
}
#new-developments .community-card:hover > div:last-child > span:last-child {
  background: #100B28 !important;
  color: #fff !important;
}
/* Section heading — serif treatment */
#new-developments > .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: clamp(28px, 4vw, 42px) !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

/* === HERO SEARCH BAR === */
.hero-search-bar {
  width: 100%;
  max-width: 620px !important;
}
.hero-search-bar > div {
  background: rgba(255,255,255,0.12) !important;
  border: 1.5px solid rgba(255,255,255,0.5) !important;
  border-radius: 4px !important;
  display: flex !important;
  backdrop-filter: blur(6px);
  padding: 10px 12px 10px 20px !important;
}
.hero-search-bar span {
  color: rgba(255,255,255,0.8) !important;
}
.hero-search-bar span[style*="border-radius:50%"] {
  border-radius: 4px !important;
}

/* === MEET IAN — Luxury Profile === */
.meet-ian-section {
  display: flex !important;
  min-height: 650px !important;
  overflow: hidden !important;
}
.meet-ian-photo {
  flex: 0 0 40% !important;
  max-width: 400px !important;
  position: relative !important;
  overflow: hidden !important;
  border-radius: 4px !important;
}
.meet-ian-photo img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  display: block !important;
}
.meet-ian-content {
  flex: 1 !important;
  background: linear-gradient(135deg, #E6E7EA 0%, #F4F4F2 100%) !important;
  padding: 72px 56px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  color: #1C1A2B !important;
}
.meet-ian-content h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 40px !important;
  font-weight: 300 !important;
  letter-spacing: 0.25em !important;
  text-transform: uppercase !important;
  color: #100B28 !important;
  margin: 0 0 8px !important;
}
.meet-ian-content .accent-line {
  width: 60px;
  height: 1px;
  background: #100B28;
  margin-bottom: 32px;
  opacity: 0.6;
}
.meet-ian-content .lead-paragraph {
  font-size: 17px !important;
  line-height: 1.8 !important;
  color: #1C1A2B !important;
  margin-bottom: 24px !important;
}
.meet-ian-content .lead-paragraph strong {
  color: #100B28 !important;
  font-weight: 600 !important;
}
.meet-ian-content .bio-text {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #1C1A2B !important;
  margin-bottom: 20px !important;
}
.meet-ian-content .pull-quote {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 24px !important;
  font-style: italic !important;
  color: #100B28 !important;
  line-height: 1.5 !important;
  border-left: 2px solid rgba(16,11,40,0.4);
  padding-left: 20px;
  margin: 0 0 32px !important;
}
.meet-ian-content .bio-buttons {
  display: flex !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin-top: 32px !important;
  margin-bottom: 28px !important;
}
.meet-ian-content .bio-buttons a {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  color: #fff !important;
  border: none !important;
  padding: 14px 28px !important;
  min-width: 160px !important;
  text-align: center !important;
  transition: all 0.3s ease !important;
  background: #100B28 !important;
  border-radius: 4px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
}
.meet-ian-content .bio-buttons a:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}
.meet-ian-content .bio-buttons a.primary-btn {
  background: #100B28 !important;
}
.meet-ian-content .bio-buttons a.primary-btn:hover {
  opacity: 0.9 !important;
}
.meet-ian-content .social-icons {
  display: flex !important;
  gap: 14px !important;
  align-items: center !important;
  justify-content: flex-start !important;
}
.meet-ian-content .social-icons a {
  width: 40px !important;
  height: 40px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(28,26,43,0.25) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}
.meet-ian-content .social-icons a:hover {
  border-color: #100B28 !important;
  background: rgba(16,11,40,0.1) !important;
}
.meet-ian-content .social-icons a svg {
  width: 16px !important;
  height: 16px !important;
  fill: #1C1A2B !important;
}
.meet-ian-content .social-icons a:hover svg {
  fill: #100B28 !important;
}
/* Font Awesome icons in social links */
.meet-ian-content .social-icons a i,
.meet-ian-content .social-icons a .fab,
.meet-ian-content .social-icons a .fa-brands {
  font-size: 16px !important;
  color: #1C1A2B !important;
  line-height: 1 !important;
}
.meet-ian-content .social-icons a:hover i,
.meet-ian-content .social-icons a:hover .fab {
  color: #100B28 !important;
}

/* Knight Frank global badge */
.meet-ian-content .knight-frank-badge {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
  padding-top: 20px !important;
  border-top: 1px solid rgba(28,26,43,0.12) !important;
}
.meet-ian-content .knight-frank-badge span {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 11px !important;
  letter-spacing: 1px !important;
  color: rgba(28,26,43,0.45) !important;
  text-transform: uppercase !important;
}

/* === GENERAL === */
body {
  font-family: Georgia, "Times New Roman", serif;
  padding: 0 25px;
  background: #ffffff;
}
.site { background: #ffffff !important; }
.entry-content { overflow-x: hidden; }

/* === THE GREENEN EDGE — Card Hover + Icon Polish === */
.has-palette-6-background-color:has(.wp-block-group.has-background) .wp-block-group.has-background {
  transition: transform 0.3s ease, box-shadow 0.3s ease !important;
}
.has-palette-6-background-color:has(.wp-block-group.has-background) .wp-block-group.has-background:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 32px rgba(0,0,0,0.1) !important;
}
.has-palette-6-background-color:has(.wp-block-group.has-background) .wp-block-group.has-background div[style*="border-radius:50%"] {
  transition: all 0.3s ease;
}
.has-palette-6-background-color:has(.wp-block-group.has-background) .wp-block-group.has-background:hover div[style*="border-radius:50%"] {
  border-color: #100B28 !important;
  background: rgba(16,11,40,0.08) !important;
}

/* === CONTACT PAGE === */
.contact-page-bg{background:#F4F4F2;padding:80px 0 60px}
.contact-page-wrap{max-width:1200px;margin:0 auto;padding:0 20px;display:flex;gap:48px;align-items:flex-start}
.contact-form-col{flex:1 1 55%;min-width:0}
.contact-info-col{flex:0 0 380px}
/* Form card — elevated white card on warm background */
.ghl-form-card{background:#fff;border-radius:8px;box-shadow:0 2px 20px rgba(0,0,0,0.06);padding:36px 32px;min-height:600px}
.ghl-form-card h2{font-family:'Cormorant Garamond',Georgia,serif !important;font-size:28px !important;font-weight:300 !important;letter-spacing:0.1em !important;text-transform:uppercase !important;color:#100B28 !important;margin:0 0 8px !important}
.ghl-form-card .form-subtitle{font-family:Georgia,serif;font-size:14px;color:#656978;margin:0 0 24px;line-height:1.5}
.ghl-form-card iframe{width:100%;height:843px;border:none;border-radius:3px}
/* Right column — single unified card */
.contact-sidebar{background:#fff;border-radius:8px;box-shadow:0 2px 20px rgba(0,0,0,0.06);padding:36px 28px}
.contact-sidebar .agent-photo{text-align:center;margin-bottom:24px}
.contact-sidebar .agent-photo img{width:130px;height:130px;border-radius:50%;object-fit:cover;object-position:center 15%;box-shadow:0 4px 15px rgba(0,0,0,0.1)}
.contact-sidebar .agent-name{font-family:'Josefin Sans',sans-serif;font-size:13px;color:#100B28;text-transform:uppercase;letter-spacing:2px;font-weight:600;margin:12px 0 4px;text-align:center}
.contact-sidebar .agent-title{font-family:Georgia,serif;font-size:14px;color:#1C1A2B;margin:0 0 6px;text-align:center}
.contact-sidebar .agent-tagline{font-family:Georgia,serif;font-size:13px;color:#656978;margin:0 0 24px;line-height:1.6;font-style:italic;text-align:center}
/* Contact details inside sidebar */
.contact-sidebar .info-divider{border:none;border-top:1px solid #CFD2D8;margin:20px 0}
.contact-details .info-label{font-family:'Josefin Sans',sans-serif !important;font-size:11px !important;text-transform:uppercase;letter-spacing:0.08em;color:#100B28 !important;margin:20px 0 4px;font-weight:600}
.contact-details .info-label:first-child{margin-top:0}
.contact-details .info-value{font-family:Georgia,serif !important;font-size:15px !important;color:#1C1A2B !important;margin:0 0 4px;line-height:1.6}
.contact-details .info-value a{color:#1C1A2B;text-decoration:none;transition:color 0.2s}
.contact-details .info-value a:hover{color:#100B28}
.contact-details .info-value.phone{font-size:18px !important;font-weight:700}
.contact-details .info-value.phone a{color:#100B28}
/* Contact page tweaks 2026-06-26: center heading + phone/email on one row */
.ghl-form-card h2{text-align:center !important}
.ghl-form-card .form-subtitle{text-align:center;max-width:560px;margin-left:auto;margin-right:auto}
.contact-sidebar .contact-row{display:flex;gap:28px;align-items:flex-start;flex-wrap:wrap}
.contact-sidebar .contact-row > div{min-width:0}
.contact-sidebar .contact-row .info-value{font-size:14px !important;white-space:nowrap}
.contact-sidebar .contact-row .info-value.phone{font-size:16px !important}
.contact-sidebar .agent-photo{display:flex;justify-content:center}
.contact-sidebar .agent-photo img{display:block;margin-left:auto;margin-right:auto;width:160px;height:160px;border:4px solid #fff;box-shadow:0 0 0 1px #100B28,0 6px 18px rgba(0,0,0,0.12)}
.contact-sidebar .agent-name::after{display:none}
.contact-sidebar .contact-lower{text-align:center}
.contact-sidebar .contact-lower .contact-social{justify-content:center}
.contact-sidebar .info-divider{border-top-color:#100B28}
.contact-sidebar .license{font-family:Georgia,serif;font-size:11px;color:#656978;text-align:center;margin:18px 0 0;padding-top:16px;border-top:1px solid #100B28;letter-spacing:0.04em}
.contact-sidebar .contact-phone{text-align:center;margin-bottom:4px}
.contact-sidebar .contact-lower .info-label{margin:0 0 4px;font-size:12px !important}
.contact-sidebar .contact-lower .info-value{font-size:16px !important;line-height:1.5;margin:0}
.contact-sidebar .contact-lower .info-divider{margin:18px 0}
.ghl-form-card .form-trust{text-align:center;font-family:Georgia,serif;font-size:12px;color:#656978;margin:14px 0 0;font-style:italic}
.contact-details .info-divider{border:none;border-top:1px solid #CFD2D8;margin:20px 0}
/* Social icons row */
.contact-social{display:flex;gap:10px;flex-wrap:wrap;margin-top:4px}
.contact-social a{width:34px;height:34px;border-radius:50%;border:1px solid rgba(28,26,43,0.2);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;transition:all 0.2s}
.contact-social a:hover{border-color:#100B28;background:rgba(16,11,40,0.08)}
.contact-social a svg{width:14px;height:14px;fill:#1C1A2B}
.contact-social a:hover svg{fill:#100B28}
/* License */
.contact-details .license{font-size:11px;color:#656978;margin-top:20px;padding-top:16px;border-top:1px solid #CFD2D8}
@media(max-width:768px){
  .contact-page-wrap{flex-direction:column;gap:32px;padding:0 16px}
  .contact-form-col,.contact-info-col{flex:1 1 100%}
  .contact-info-col{max-width:100%}
  .ghl-form-card{padding:24px 16px}
}

/* === INNER PAGE STYLING === */
/* Hero cover blocks on inner pages */
.wp-block-cover .wp-block-heading {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}
.wp-block-cover p {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
}
/* Section headings on inner pages */
.entry-content .wp-block-heading:not(.has-text-align-center) {
  font-family: "Cormorant Garamond", Georgia, serif;
  font-weight: 400;
  letter-spacing: 0.05em;
  color: #100B28;
}
.entry-content h2.wp-block-heading.has-text-align-center {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
}
/* Inner page body text */
.entry-content p {
  font-family: Georgia, "Times New Roman", serif;
  color: #1C1A2B;
  line-height: 1.8;
}
/* Inner page buttons — match homepage palette */
.wp-block-button__link {
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 400 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-size: 12px !important;
  transition: all 0.3s ease !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  background: #100B28 !important;
  border: none !important;
  color: #fff !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
  opacity: 0.9 !important;
  transform: translateY(-1px) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link {
  background: #100B28 !important;
  color: #1C1A2B !important;
  border: 1px solid #1C1A2B !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #1C1A2B !important;
  color: #fff !important;
}
/* CTA bars on inner pages — use driftwood charcoal instead of teal */
.wp-block-group.has-background[style*="background-color:#535C70"] {
  background: #100B28 !important;
}
/* CTA bar headings — serif */
.wp-block-group.has-background[style*="background-color:#535C70"] h2 {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-weight: 300 !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-size: clamp(24px, 3.5vw, 36px) !important;
}
/* Separator lines — driftwood instead of grey */
.wp-block-separator {
  border-color: #CFD2D8 !important;
  background-color: #CFD2D8 !important;
}
/* Inner page cover blocks — taller, consistent */
.entry-content > .wp-block-cover.alignfull {
  min-height: 380px !important;
}
/* Inner page list styling */
.entry-content ul.wp-block-list li {
  font-family: Georgia, "Times New Roman", serif;
  color: #1C1A2B;
  line-height: 1.8;
  margin-bottom: 8px;
}
/* Table styling on inner pages */
.entry-content .wp-block-table table {
  border-collapse: collapse;
}
.entry-content .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: #F4F4F2 !important;
}
.entry-content .wp-block-table th {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 13px !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #100B28 !important;
  background: #F4F4F2 !important;
}
.entry-content .wp-block-table td {
  font-family: Georgia, serif !important;
  font-size: 15px !important;
  color: #1C1A2B !important;
}
/* FAQ headings */
.entry-content h3.wp-block-heading[style*="color:#535C70"] {
  color: #100B28 !important;
  font-family: "Josefin Sans", sans-serif !important;
  font-weight: 500 !important;
}
/* Stats bars on inner pages */
.wp-block-group.has-background[style*="background-color:#1C1A2B"] p[style*="font-weight:700"] {
  font-family: "Cormorant Garamond", Georgia, serif !important;
}
/* Qualifications border accent */
.entry-content div[style*="border-left: 4px solid #535C70"] {
  border-left-color: #100B28 !important;
}

/* === FOOTER SOCIAL ICONS — classy (matches mega menu .ig-mega-social) === */
.ig-footer-soc {
  margin-top: 18px;
  display: flex;
  gap: 14px;
  justify-content: center;
  flex-wrap: wrap;
}
.ig-soc {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(28,26,43,0.2);
  background: transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: border-color 0.2s;
}
.ig-soc svg {
  width: 15px;
  height: 15px;
  fill: #1C1A2B;
  transition: fill 0.2s;
}
.ig-soc:hover { border-color: #100B28; }
.ig-soc:hover svg { fill: #100B28; }

/* === FOOTER FULL-WIDTH BEIGE === */
/* Kadence sets the beige background on .site-footer-row-container-inner,
   which is max-width:1200px — that boxes the color and shows body bg on the
   sides. Move the beige to the outer wrap so it stretches edge-to-edge. */
.site-top-footer-wrap {
  background: #ffffff !important;
}
.site-top-footer-wrap > .site-footer-row-container-inner {
  background: transparent !important;
}

/* === LIGHT FOOTER === */
.site-footer {
  border-top: 1px solid #CFD2D8;
}
.site-footer .footer-wrap {
  color: #1C1A2B;
}
/* Hide Kadence bottom footer — replaced by DE compliance bar */
.site-footer .site-bottom-footer-wrap,
.site-footer .footer-widget-area.site-bottom-footer-inner-wrap,
.site-bottom-footer-wrap,
.footer-bottom,
.site-info {
  display: none !important;
}

/* ============================================================
   MEGA MENU v15 — conversion layout, centered capped column
   Overrides earlier .ig-mega-* rules (later-in-file wins)
   ============================================================ */
.ig-mega-menu {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  background: #F4F4F2;
  z-index: 99999;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  display: block;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s ease, visibility 0.35s ease;
}
.ig-mega-menu.open { opacity: 1; visibility: visible; }
body.slideout-open { overflow: hidden; }
/* Hide LeadConnector chat bubble while the menu is open */
body.slideout-open chat-widget,
body.slideout-open #lc_text-widget,
body.slideout-open .lc_text-widget-frame,
body.slideout-open [id^="lc_text-widget"],
body.slideout-open [class*="leadconnector"] { display: none !important; }

.ig-mega-inner {
  max-width: 520px;
  margin: 0 auto;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  padding: 0 24px 36px;
  box-sizing: border-box;
}
.ig-mega-close {
  position: absolute;
  right: 22px;
  top: 18px;
  z-index: 5;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(28,26,43,0.22);
  background: #F4F4F2;
  color: #1C1A2B;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  transition: border-color 0.2s, color 0.2s;
}
.ig-mega-close:hover { border-color: #100B28; color: #100B28; }
.ig-mega-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px 0 16px;
  position: static;
}
.ig-mega-brand {
  font-family: "Josefin Sans", sans-serif !important;
  font-size: 18px;
  font-weight: 300;
  letter-spacing: 6px;
  text-transform: uppercase;
  color: #100B28;
  margin: 0;
}

/* Conversion block */
.ig-mega-cta { display: flex; flex-direction: column; gap: 8px; padding-bottom: 6px; }
.ig-cta-primary,
.ig-cta-secondary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border-radius: 10px;
  text-decoration: none;
  font-family: "Josefin Sans", sans-serif;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 2px;
  text-transform: uppercase;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.2s, color 0.2s, transform 0.1s, box-shadow 0.2s;
}
.ig-cta-primary { height: 54px; background: #100B28; color: #0A0719; }
.ig-cta-primary:hover { background: #323744; color: #0A0719; }
.ig-cta-primary:active { background: #0A0719; color: #fff; transform: scale(0.97); }
.ig-cta-secondary { height: 50px; background: transparent; color: #535C70; border: 1px solid #535C70; }
.ig-cta-secondary:hover { background: #535C70; color: #fff; }
.ig-cta-secondary:active { background: #3E4554; border-color: #3E4554; color: #fff; transform: scale(0.97); }
.ig-cta-primary:focus-visible,
.ig-cta-secondary:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(16,11,40,0.18); }
.ig-cta-primary i, .ig-cta-secondary i { font-size: 16px; }
.ig-cta-quick { display: flex; gap: 8px; margin-top: 2px; }
.ig-cta-quick a {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 56px;
  border: 1px solid #CFD2D8;
  border-radius: 10px;
  text-decoration: none;
  color: #535C70;
  -webkit-tap-highlight-color: transparent;
  transition: border-color 0.2s, background 0.2s, transform 0.1s, box-shadow 0.2s;
}
.ig-cta-quick a:hover { border-color: #100B28; background: rgba(16,11,40,0.08); }
.ig-cta-quick a:active { border-color: #100B28; background: rgba(16,11,40,0.16); transform: scale(0.97); }
.ig-cta-quick a:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(16,11,40,0.18); }
.ig-cta-quick a i { font-size: 18px; }
.ig-cta-quick a span { font-family: "Josefin Sans", sans-serif; font-size: 11px; letter-spacing: 1px; color: #1C1A2B; }

/* Nav list — left-aligned, large tap targets, accordions */
.ig-mega-nav2 { display: flex; flex-direction: column; padding-top: 10px; }
.ig-nav-link,
.ig-nav-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 54px;
  padding: 6px 4px;
  margin: 0;
  font-family: "Cormorant Garamond", Georgia, serif !important;
  font-size: 22px;
  font-weight: 500;
  color: #100B28;
  text-decoration: none;
  background: none;
  border: 0;
  border-top: 1px solid rgba(28,26,43,0.12);
  text-align: left;
  cursor: pointer;
  transition: color 0.2s;
}
.ig-mega-nav2 > .ig-nav-link:first-child { border-top: 0; }
@media (hover: hover) { .ig-nav-link:hover, .ig-nav-toggle:hover { color: #535C70; } .ig-nav-link:hover i, .ig-nav-toggle:hover i { color: #B09570; } }
.ig-nav-link:active, .ig-nav-toggle:active { color: #535C70; background: rgba(16,11,40,0.04); }
.ig-nav-link:focus-visible, .ig-nav-toggle:focus-visible { outline: none; box-shadow: inset 0 0 0 2px rgba(16,11,40,0.18); }
.ig-nav-group.open .ig-nav-toggle i { color: #B09570; }
.ig-nav-link, .ig-nav-toggle, .ig-nav-sub-in a { -webkit-tap-highlight-color: transparent; }
.ig-nav-toggle i { font-size: 14px; color: #100B28; transition: transform 0.25s ease; }
.ig-nav-group.open .ig-nav-toggle i { transform: rotate(180deg); }
.ig-nav-sub { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.28s ease; }
.ig-nav-group.open .ig-nav-sub { grid-template-rows: 1fr; }
.ig-nav-sub-in { overflow: hidden; min-height: 0; }
.ig-nav-sub-in a {
  display: block;
  min-height: 46px;
  line-height: 46px;
  padding: 0 4px 0 8px;
  font-family: "Josefin Sans", sans-serif;
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.4px;
  color: #1C1A2B;
  text-decoration: none;
  transition: color 0.2s;
}
.ig-nav-sub-in a { background: linear-gradient(#B09570,#B09570) no-repeat 0 50% / 0 14px; transition: color 0.2s, background-size 0.2s, background-color 0.2s; }
@media (hover: hover) { .ig-nav-sub-in a:hover { color: #100B28; background-size: 3px 14px; } }
.ig-nav-sub-in a:active { color: #100B28; background-size: 3px 14px; background-color: rgba(16,11,40,0.04); }
.ig-nav-sub-in a:focus-visible { outline: none; color: #100B28; background-size: 3px 14px; }
.ig-nav-sub-in a:last-child { margin-bottom: 6px; }
.ig-nav-sub-in a.ig-sub-all { color: #535C70; }

/* Footer */
.ig-mega-footer {
  padding: 18px 0 6px;
  margin-top: 6px;
  text-align: center;
  border-top: 1px solid rgba(28,26,43,0.12);
}
.ig-mega-social { display: flex; flex-wrap: wrap; justify-content: center; gap: 14px; }
.ig-mega-social > a {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  border: 1px solid rgba(28,26,43,0.2);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #1C1A2B;
  font-size: 15px;
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s;
}
.ig-mega-social > a:hover { border-color: #100B28; color: #100B28; }

/* ============================================================
   CTA THEME v16 — solid blue (teal) quick row + theme-5 rounded
   CTAs, larger type & icons (per Ian 6/30)
   ============================================================ */
.ig-cta-quick a {
  flex-direction: row;
  gap: 9px;
  height: 58px;
  border: 0;
  border-radius: 32px;
  background: #535C70;
  color: #fff;
}
.ig-cta-quick a i { font-size: 22px; color: #fff; }
.ig-cta-quick a span { font-size: 14px; letter-spacing: 0.5px; color: #fff; }
.ig-cta-quick a:hover { border-color: transparent; background: #323744; }
.ig-cta-quick a:active { border-color: transparent; background: #3E4554; transform: scale(0.97); }
.ig-cta-quick a:focus-visible { box-shadow: 0 0 0 3px rgba(83,92,112,0.22); }

.ig-cta-primary,
.ig-cta-secondary {
  border-radius: 32px;
  font-size: 13.5px;
  letter-spacing: 1.5px;
  gap: 10px;
  white-space: nowrap;
}
.ig-cta-primary i,
.ig-cta-secondary i { font-size: 20px; }
.ig-cta-primary { height: 58px; }
.ig-cta-secondary {
  height: 54px;
  background: #E8E9EE;
  color: #100B28;
  border: 0;
}
.ig-cta-secondary:hover { background: #CECED6; color: #0E0A23; }
.ig-cta-secondary:active { background: #B8B8C2; border-color: transparent; color: #0C091F; transform: scale(0.97); }

/* === HEADER FIT (2026-07-03): larger branding must not wrap the nav === */
#main-header #primary-menu {
  flex-wrap: nowrap !important;
}
#main-header #primary-menu > li.menu-item > a {
  white-space: nowrap;
}
@media (max-width: 1500px) {
  .site-branding .site-title {
    font-size: 29px !important;
    letter-spacing: 6px !important;
  }
  .site-branding .site-title::after {
    font-size: 9px !important;
    letter-spacing: 4px !important;
  }
  #main-header .primary-menu-container > ul > li.menu-item > a {
    letter-spacing: 2px !important;
  }
}
@media (max-width: 1280px) {
  .site-branding .site-title {
    font-size: 26px !important;
    letter-spacing: 5px !important;
  }
  #main-header .primary-menu-container > ul > li.menu-item > a {
    font-size: 12px !important;
    letter-spacing: 1.5px !important;
  }
  #main-header .header-html a.header-phone-btn {
    padding: 10px 16px !important;
    letter-spacing: 1.5px;
  }
}

/* ============================================================
   DESKTOP MEGA MENU (>=1025px) — multi-column overlay w/ headshot
   ============================================================ */
.ig-mega-desktop { display: none; }
@media (min-width: 1025px) {
  .ig-mega-menu .ig-mega-inner { display: none !important; }
  .ig-mega-desktop { display: flex !important; flex-direction: column; width: 100%; max-width: 1320px; margin: 0 auto; padding: 22px 48px 30px; box-sizing: border-box; min-height: 100vh; }
  .ig-megad-brandbar { text-align: center; padding: 4px 0 18px; }
  .ig-megad-brandbar p { font-family: "Josefin Sans", sans-serif; font-size: 22px; letter-spacing: 8px; color: #100B28; font-weight: 300; margin: 0; }
  .ig-megad-top { display: flex; gap: 46px; flex: 1; }
  .ig-megad-photo { flex: 0 0 280px; position: relative; border-radius: 6px; overflow: hidden; background: #100B28; min-height: 440px; }
  .ig-megad-photo img { width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; }
  .ig-megad-photo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(7,5,18,.55), transparent 45%); }
  .ig-megad-photo-cap { position: absolute; left: 22px; bottom: 20px; z-index: 2; }
  .ig-megad-photo-cap span { display: block; font-family: "Josefin Sans", sans-serif; font-size: 10px; letter-spacing: 2px; color: #535C70; }
  .ig-megad-photo-cap strong { font-family: "Cormorant Garamond", serif; font-size: 22px; font-weight: 500; color: #fff; }
  .ig-megad-cols { flex: 1; display: flex; gap: 38px; }
  .ig-megad-col { flex: 1; min-width: 0; }
  .ig-megad-col.ig-megad-contact { flex: 1.15; border-left: 1px solid #E3E4E8; padding-left: 34px; }
  .ig-megad-h { display: flex; align-items: baseline; gap: 10px; text-decoration: none; font-family: "Cormorant Garamond", serif; font-size: 22px; color: #100B28; margin-bottom: 5px; transition: color .2s; }
  .ig-megad-h em { display: none; }
  .ig-megad-h:hover { color: #535C70; }
  .ig-megad-grp { margin-bottom: 12px; display: flex; flex-direction: column; }
  .ig-megad-grp a:not(.ig-megad-h) { font-family: "Josefin Sans", sans-serif; font-size: 13px; color: #656978; text-decoration: none; letter-spacing: .4px; padding: 2px 0 2px 14px; background: linear-gradient(#B09570,#B09570) no-repeat 0 50% / 0 12px; transition: color .2s, background-size .2s; }
  .ig-megad-grid { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8px; }
  .ig-megad-grp a:not(.ig-megad-h):hover, .ig-megad-grp a:not(.ig-megad-h):focus-visible { color: #100B28; background-size: 3px 12px; outline: none; }
  .ig-megad-grp a:not(.ig-megad-h):active { color: #535C70; }
  .ig-megad-h:focus-visible { color: #535C70; outline: none; }
  @media (hover: none) { .ig-megad-grp a:not(.ig-megad-h):hover { background-size: 0 12px; } .ig-megad-grp a:not(.ig-megad-h):active { color: #100B28; background-size: 3px 12px; } }
  .ig-megad-grp .ig-sub-all { color: #535C70; font-weight: 500; }
  .ig-megad-quick { display: flex; gap: 8px; margin: 6px 0 20px; }
  .ig-megad-quick a { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 11px 0; background: #535C70; border: 1px solid #535C70; border-radius: 10px; text-decoration: none; transition: all .2s; }
  .ig-megad-quick a i { font-size: 16px; color: #fff; }
  .ig-megad-quick a span { font-family: "Josefin Sans", sans-serif; font-size: 10px; color: #fff; }
  .ig-megad-quick a:hover { background: #fff; border-color: #535C70; }
  .ig-megad-quick a:hover i, .ig-megad-quick a:hover span { color: #535C70; }
  .ig-megad-olabel { font-family: "Josefin Sans", sans-serif; font-size: 10px; letter-spacing: 2px; text-transform: uppercase; color: #100B28; margin: 0 0 6px; }
  .ig-megad-oaddr { font-family: Georgia, serif; font-size: 12.5px; color: #656978; line-height: 1.6; margin: 0 0 8px; }
  .ig-megad-ophone { font-family: "Josefin Sans", sans-serif; font-size: 13px; color: #100B28; margin: 0 0 18px; }
  .ig-megad-schedule { display: flex; align-items: center; justify-content: center; gap: 9px; height: auto; min-height: 56px; padding: 12px 14px; box-sizing: border-box; text-align: center; line-height: 1.3; background: #100B28; color: #fff; border-radius: 10px; text-decoration: none; font-family: "Josefin Sans", sans-serif; font-size: 11px; letter-spacing: 1.2px; text-transform: uppercase; margin-bottom: 9px; transition: background .2s; }
  .ig-megad-schedule i { font-size: 13px; flex: 0 0 auto; }
  .ig-megad-schedule:hover { background: #323744; }
  .ig-megad-worth { display: flex; align-items: center; justify-content: center; gap: 8px; height: 44px; background: #535C70; border: 1px solid #535C70; color: #fff; border-radius: 10px; text-decoration: none; font-family: "Josefin Sans", sans-serif; font-size: 11px; letter-spacing: 1.5px; text-transform: uppercase; transition: all .2s; }
  .ig-megad-worth:hover { background: #fff; border-color: #535C70; color: #535C70; }
  .ig-megad-footer { display: flex; align-items: center; justify-content: space-between; border-top: 1px solid #E3E4E8; margin-top: 24px; padding-top: 18px; }
  .ig-megad-soc { display: flex; gap: 12px; }
  .ig-megad-soc a { width: 32px; height: 32px; border: 1px solid #CFD2D8; border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #1C1A2B; text-decoration: none; font-size: 13px; transition: all .2s; }
  .ig-megad-soc a:hover { border-color: #100B28; color: #100B28; }
  .ig-megad-legal { font-family: "Josefin Sans", sans-serif; font-size: 11px; letter-spacing: .5px; color: #656978; }
  .ig-megad-legal a { color: #656978; text-decoration: none; }
  .ig-megad-legal a:hover { color: #100B28; }
}

/* === IG HEADING COLOR STANDARD — locked 2026-07-03 (Ian): all content headings Elliman blue #100B28. Inline-colored headings (white-on-dark heros, already-blue community pages) are preserved via :not([style*="color"]). === */
.entry-content h1:not([style*="color"]),
.entry-content h2:not([style*="color"]),
.entry-content h3:not([style*="color"]),
.entry-content h4:not([style*="color"]),
.entry-content .wp-block-heading:not([style*="color"]) {
  color: #100B28 !important;
}

/* === HERO HEADING EXCEPTION — added 2026-07-04 (Ian) ===
   The homepage hero <h1> sits on a dark video and must stay white.
   It carries no inline color, so the heading-color standard above
   (which only spares inline-colored headings) was forcing it Elliman
   blue. This re-forces white with higher specificity + !important. */
.entry-content .hero-video-section .hero-video-content h1,
.hero-video-section .hero-video-content h1 {
  color: #FFFFFF !important;
}

/* DE website review 2026-10-19 (Magaly Gomez, DE Marketing): agent lockup reads "at Douglas Elliman Real Estate";
   Douglas Elliman logo, linked to Monika's Elliman agent page, on its own thin bar above the header (desktop) and above the name (mobile),
   so it never competes with the navigation for width. */
.site-branding .site-title::after{letter-spacing:2.6px !important;padding-left:2.6px !important;font-size:9.5px !important}
.header-de-logo{display:inline-flex;align-items:center;line-height:0;flex-shrink:0}
.header-de-logo img{max-width:none !important;height:auto !important;display:block}
#main-header .site-top-header-wrap .site-header-row-container-inner{background:#fff;padding:10px 0 0}
#main-header .site-top-header-wrap .site-top-header-inner-wrap,#main-header .site-top-header-wrap .site-header-row,#main-header .site-top-header-wrap .site-header-section,#main-header .site-top-header-wrap .site-header-item,#main-header .site-top-header-wrap .header-html2,#main-header .site-top-header-wrap .site-container{min-height:0 !important;height:auto !important;line-height:0 !important}
#main-header .site-top-header-wrap .header-de-logo img{width:104px !important}
#mobile-header .site-top-header-wrap .site-header-row-container-inner{background:#fff;padding:8px 0 0}
#mobile-header .site-top-header-wrap .site-top-header-inner-wrap,#mobile-header .site-top-header-wrap .site-header-row,#mobile-header .site-top-header-wrap .site-header-section,#mobile-header .site-top-header-wrap .site-header-item,#mobile-header .site-top-header-wrap .mobile-html,#mobile-header .site-top-header-wrap .site-container{min-height:0 !important;height:auto !important;line-height:0 !important;padding-top:0;padding-bottom:0}
#mobile-header .site-top-header-wrap .mobile-html p{margin:0 !important}
#mobile-header .site-top-header-wrap .header-de-logo img{width:92px !important}
/* EHO symbol at the end of the disclaimer: the footer bar is Midnight, so show the symbol in white */
.de-compliance-bar img[alt="Equal Housing Opportunity"]{filter:brightness(0) invert(1);opacity:.85}
.mp-de-bar{background:#fff;padding:10px 0 0;text-align:center;line-height:0}
.mp-de-bar .header-de-logo img{width:104px !important}
@media (max-width:1024px){.mp-de-bar{display:none}}
/* 1025-1150 nav squeeze removed 2026-10-20: the name moved to its own row */



/* Split header, 2026-10-20 (Ian): agent lockup left, Douglas Elliman logo right and wider than the name (DE FL manual p.58).
   Replaces the thin 104px DE bar. Hero DE logo removed: the header now carries it, and DE's rules keep the logo off busy video. */
html body .mp-de-bar{background:#fff;padding:0;line-height:normal;border-bottom:1px solid #e6e1d6}
html body .mp-de-bar-in{display:flex;align-items:center;justify-content:space-between;gap:34px;max-width:1152px;margin:0 auto;padding:20px 24px 16px}
html body .mp-lockup{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#1c1a2b}
html body .mp-lockup-name{font:400 26px/1 "Josefin Sans",sans-serif;letter-spacing:6px;padding-left:6px;white-space:nowrap}
html body .mp-lockup-tag{font:400 9.5px/1 "Josefin Sans",sans-serif;letter-spacing:2.6px;padding-left:2.6px;margin-top:9px;white-space:nowrap}
html body .mp-de-bar .header-de-logo img{width:340px !important}
html body #masthead .site-main-header-wrap .site-header-main-section-left{display:none !important}
html body #masthead .site-main-header-wrap .site-main-header-inner-wrap{display:flex !important;justify-content:center !important;gap:30px;min-height:58px !important}
html body #masthead .site-main-header-wrap .site-header-main-section-center,
html body #masthead .site-main-header-wrap .site-header-main-section-right{flex:0 0 auto !important}
html body .hero-de-logo{display:none !important}
@media (max-width:1024px){
  html body .mp-de-bar{display:none}
  html body #mobile-header .site-top-header-wrap .site-header-row-container-inner{padding:0 !important;border-bottom:1px solid #e6e1d6}
  html body #mobile-header .site-top-header-wrap .site-header-section-center,
  html body #mobile-header .site-top-header-wrap .site-header-item,
  html body #mobile-header .site-top-header-wrap .mobile-html,
  html body #mobile-header .site-top-header-wrap .mobile-html-inner{width:100%;line-height:normal !important}
  html body #mobile-header .mp-de-bar-in{padding:16px 8px 12px;gap:26px}
  html body #mobile-header .mp-lockup-name{font-size:22px;letter-spacing:5px;padding-left:5px}
  html body #mobile-header .mp-lockup-tag{font-size:8.5px;letter-spacing:2.2px}
  html body #mobile-header .site-top-header-wrap .header-de-logo img{width:300px !important}
  html body #mobile-header .site-main-header-wrap .site-branding{display:none !important}
}
@media (max-width:600px){
  html body #mobile-header .mp-de-bar-in{flex-direction:column;gap:0;padding:16px 0 12px}
  html body #mobile-header .mp-de-bar-in::after{content:none}
  html body #mobile-header .mp-lockup{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid #b89b5e;border-image:linear-gradient(90deg,transparent 40%,#b89b5e 40%,#b89b5e 60%,transparent 60%) 1}
  html body #mobile-header .mp-lockup-name{font-size:19px;letter-spacing:4.5px;padding-left:4.5px}
  html body #mobile-header .mp-lockup-tag{font-size:8px;letter-spacing:2px;margin-top:7px}
  html body #mobile-header .site-top-header-wrap .header-de-logo img{width:270px !important}
}
html body .mp-lockup,html body .mp-lockup:hover,html body .mobile-html a.mp-lockup{text-decoration:none !important;border-bottom:0 none;box-shadow:none !important;color:#1c1a2b !important}

/* Footer marks 2026-10-20: official EHO + REALTOR block R, solid and matched (the block R square and the EHO house
   share one height), replacing faded hand-drawn look-alikes. Disclaimer EHO symbol a touch larger and fully opaque. */
html body .mp-footer-marks{display:flex;justify-content:center;align-items:flex-start;gap:22px;margin-top:18px;line-height:0}
html body .mp-footer-marks img{display:block;width:auto !important;filter:brightness(0);opacity:.82;border:0;box-shadow:none}
html body .mp-footer-marks img[alt="Equal Housing Opportunity"]{height:36px !important}
html body .mp-footer-marks img[alt="REALTOR"]{height:51px !important}
html body .de-compliance-bar img[alt="Equal Housing Opportunity"]{width:34px !important;opacity:1}

/* Footer marks matched 2026-10-20 (Ian: same size). The EHO house and the REALTOR block square render at the same
   height (38px); each carries its words underneath in the same type, like the official marks. */
html body .mp-footer-marks{align-items:flex-start;gap:26px}
html body .mp-mark{display:flex;flex-direction:column;align-items:center;width:74px}
html body .mp-footer-marks .mp-mark img{filter:brightness(0);opacity:.82}
html body .mp-footer-marks .mp-mark-eho img{height:48px !important;margin-top:-3px}
html body .mp-footer-marks .mp-mark-realtor img{height:54px !important}
html body .mp-mark-cap{font:700 7px/1.15 Helvetica,Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#000;opacity:.82;text-align:center;margin-top:-4px;white-space:nowrap}

/* BeachesMLS 20.3.3 (2026-10-20): listing firm on every IDX card, right under the price, at the listing-data size
   (14px, the beds/baths size) in a readily visible color. Grid notice no smaller than 12.5px. */
html body .impress-showcase-property .impress-courtesy{order:11;margin:0;padding:0 16px 14px;font:400 14px/1.35 "Josefin Sans",sans-serif;color:#3d3852;letter-spacing:.2px}
html body .ig-mls-disclaimer{font-size:12.5px !important;line-height:1.55 !important;color:#4a4560 !important}
html body .ig-mls-disclaimer p{font-size:inherit !important}

/* BeachesMLS 20.3.6/20.3.7 (2026-10-20): MLS-derived stats (mp-live medians, IDXAddons community info) and the IDXAddons
   map carry the BMLS logo and a source line right where the data shows, not only under the listings grid lower down. */
html body section:not(#listings):not(.hero):not(#faq):not(.nd-faq):has(.mp-live, [id^="IDX-cmtyinfo"], #rcCommunityMap)::after{
  content:"Source: BeachesMLS, Inc. via IDX. Market figures and map data are derived from MLS listings, are not verified for authenticity or accuracy and are not guaranteed. Copyright \00A9  2026 BeachesMLS, Inc.";
  display:block;max-width:1100px;margin:22px auto 0;padding:4px 16px 0 112px;min-height:40px;
  background:url("https://s3.amazonaws.com/staticos.idxbroker.com/mls-logos/a672-logoURL") 16px 0/80px auto no-repeat;
  font:400 12.5px/1.55 "Josefin Sans",sans-serif;color:#4a4560;text-align:left}
html body section.band:not(#listings):not(.hero):not(#faq):not(.nd-faq):has(.mp-live, [id^="IDX-cmtyinfo"], #rcCommunityMap)::after{color:#4a4560}

/* Leaf prose sections that only quote a live count or fee: short source line, same logo. */
html body section.nd-sec:not(#listings):not(.nd-faq):has(.mp-live)::after{content:"Source: BeachesMLS, Inc. via IDX. Deemed reliable but not guaranteed.";min-height:30px;padding-top:6px;background-size:60px auto;padding-left:92px}

/* 2026-10-21 final sweep: DE logo clearly larger than the agent name (DE manual p.58), about 15% wider at every width. */
html body .mp-de-bar .header-de-logo img{width:380px !important}
@media (max-width:1024px){html body #mobile-header .site-top-header-wrap .header-de-logo img{width:330px !important}}
@media (max-width:600px){html body #mobile-header .site-top-header-wrap .header-de-logo img{width:290px !important}}

/* 2026-10-21 (Ian: "font inside where you type is very faint"): Kadence gives every text input --global-palette5,
   which on this palette is ivory #F4F4F2, so typed text and placeholders were near-white on white fields
   (payment calculator, IDXAddons search, forms). Inputs read Midnight; placeholders a readable muted Midnight. */
html body :is(input[type=text],input[type=email],input[type=url],input[type=password],input[type=search],input[type=number],input[type=tel],input[type=date],input:not([type]),textarea,select){color:#1C1A2B}
html body :is(input,textarea)::placeholder{color:#6E6A80;opacity:1}

/* ===== IDX + search polish, 2026-10-21 (sweep: Operations/scripts/monika-idx-ui-2026-10-21/findings.md) ===== */
/* Crushed IDX buttons (16px tall, clipped text) */
html body #IDX-main .IDX-btn,html body .IDX-collapseButton,html body #IDX-resultsRefineSubmit{height:auto !important;min-height:44px;padding:12px 18px !important;line-height:1.2 !important;
  background:#100B28 !important;border-color:#100B28 !important;color:#F4F4F2 !important;font-family:"Josefin Sans",sans-serif !important;letter-spacing:1px;border-radius:4px}
html body #IDX-main .IDX-btn:hover,html body #IDX-resultsRefineSubmit:hover{background:#2a2546 !important}
/* Mobile sort select: was Midnight text on Midnight */
html body #IDX-srt,html body #IDX-main select{background-color:#fff !important;color:#1C1A2B !important}
/* Sign-up / login modal */
html body .ui-dialog .IDX-input,html body .ui-dialog input[type=text],html body .ui-dialog input[type=email],html body .ui-dialog input[type=password],html body .ui-dialog input[type=tel]{
  background:#fff !important;color:#1C1A2B !important;border:1px solid #6E6A80 !important;font-family:"Josefin Sans",sans-serif !important;min-height:44px}
html body .ui-dialog #IDX-submitBtn,html body .ui-dialog .IDX-btn-primary{background:#100B28 !important;border-color:#100B28 !important;color:#F4F4F2 !important;min-height:44px;font-family:"Josefin Sans",sans-serif !important;letter-spacing:1px}
html body .ui-dialog input[type=checkbox]{width:18px;height:18px}
html body .ui-dialog{top:24px !important;max-height:calc(100vh - 48px);overflow:auto}
/* Field borders to 3:1 */
html body #idxaddons-search-input,html body .ms-ctn,html body form.sx input,html body form.sx select,html body .select2-choice,html body .select2-container .select2-choice,
html body #home-valuation input,html body #home-valuation select{border-color:#6E6A80 !important}
/* Gold text contrast (was 2.85:1) */
html body .impress-cityname,html body .igs-new{color:#8A6F3E !important}
html body .igs-sale{background:#100B28 !important;color:#F4F4F2 !important}
/* Off-brand IDX colors */
html body .IDX-field-propStatus .IDX-text,html body .IDX-field-propStatus{color:#1C1A2B !important}
html body .marker-cluster,html body .marker-cluster div{background-color:rgba(16,11,40,.85) !important;color:#F4F4F2 !important}
html body #IDX-main .IDX-nav-tabs>li.active>a,html body #IDX-main .nav-tabs>li.active>a{border-bottom-color:#B89B5E !important;color:#100B28 !important}
html body #IDX-main a:not(.IDX-btn){color:#100B28}
/* Empty band under the breadcrumb on IDX pages */
html body.page-id-524 #primary{margin-top:16px !important}
html body.page-id-524 .entry-content-wrap{padding-top:0 !important}
/* Omnisearch placeholder + left-aligned suggestions */
html body #idxaddons-search-input::placeholder{opacity:1 !important;color:#6E6A80 !important}
html body .ms-res-ctn,html body .ms-res-item{text-align:left !important}
/* One type system: Josefin for forms, calculator; Cormorant for display */
html body form.sx,html body form.sx *,html body .phx-input,html body #IDX-mortgageCalculator,html body #IDX-mortgageCalculator *{font-family:"Josefin Sans",sans-serif !important}
/* Tap targets */
html body #mobile-toggle{min-width:44px;min-height:44px}
html body .impress-favorite,html body .IDX-saveProperty,html body [class*=heart]{min-width:40px;min-height:40px}
html body #ig-slideout .ig-cta-secondary{white-space:normal !important}
/* Leaf grids: space between card rows */
html body .mp-leaf-feed .impress-property-showcase .impress-row,html body .impress-property-showcase.impress-row{row-gap:24px}
html body .mp-leaf-feed .impress-showcase-property{margin-bottom:24px !important}

/* === Listing status tags (2026-10-22) ===
   One scheme on both card types, matching iangreenen.com: Active green, Under Contract / Pending gold,
   Sold charcoal, Coming Soon Midnight. IDX results pills (peaks template, .IDX-resultsStatus[data-type])
   were Midnight text on a Midnight pill after the 10/21 status-text rule; the IMPress showcase tags had
   Pending, Sold and Coming Soon all collapsed to Midnight. Contrast: all pairs >= 6:1. */
html body .IDX-resultsStatus .IDX-field-propStatus{
  background-color:#2F6B4A !important;color:#FFFFFF !important;
  font-family:"Josefin Sans",sans-serif !important;font-size:11px !important;font-weight:600 !important;
  letter-spacing:.12em !important;text-transform:uppercase !important;padding:5px 10px !important;line-height:1.2 !important}
html body .IDX-resultsStatus .IDX-field-propStatus .IDX-text{color:inherit !important;font:inherit !important;letter-spacing:inherit !important}
html body .IDX-resultsStatus[data-type*="Under Contract" i] .IDX-field-propStatus,
html body .IDX-resultsStatus[data-type*="Pending" i] .IDX-field-propStatus,
html body .IDX-resultsStatus[data-type*="Contingent" i] .IDX-field-propStatus,
html body .IDX-resultsStatus[data-type*="Backup" i] .IDX-field-propStatus{background-color:#B09570 !important;color:#100B28 !important}
html body .IDX-resultsStatus[data-type*="Sold" i] .IDX-field-propStatus,
html body .IDX-resultsStatus[data-type*="Closed" i] .IDX-field-propStatus,
html body .IDX-resultsStatus[data-type*="Leased" i] .IDX-field-propStatus{background-color:#4A4640 !important;color:#FFFFFF !important}
html body .IDX-resultsStatus[data-type*="Coming" i] .IDX-field-propStatus{background-color:#100B28 !important;color:#FFFFFF !important}

html body .impress-property-showcase .impress-showcase-property span.impress-status.igs-active{background:#2F6B4A !important;color:#FFFFFF !important}
html body .impress-property-showcase .impress-showcase-property span.impress-status.igs-pending{background:#B09570 !important;color:#100B28 !important}
html body .impress-property-showcase .impress-showcase-property span.impress-status.igs-sold{background:#4A4640 !important;color:#FFFFFF !important}
html body .impress-property-showcase .impress-showcase-property span.impress-status.igs-coming{background:#100B28 !important;color:#FFFFFF !important}
/* === end listing status tags === */

/* === IDX details page polish (2026-10-22) === */
/* Status badge next to MLS#: was a Midnight "Pending" link on a Midnight pill. Same scheme as the result cards. */
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus{
  background:#2F6B4A !important;color:#FFFFFF !important;border-radius:4px !important;padding:5px 12px !important;
  font-family:"Josefin Sans",sans-serif !important;font-size:11px !important;font-weight:600 !important;
  letter-spacing:.12em !important;text-transform:uppercase !important;line-height:1.3 !important}
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus .IDX-text,
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus a{color:inherit !important;text-decoration:none !important;font:inherit !important;letter-spacing:inherit !important}
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus:has(a[href*="Under" i]),
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus:has(a[href*="Pending" i]),
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus:has(a[href*="Contingent" i]){background:#B09570 !important;color:#100B28 !important}
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus:has(a[href*="Sold" i]),
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus:has(a[href*="Closed" i]){background:#4A4640 !important;color:#FFFFFF !important}
html body .IDX-detailsMainInfoRow-status .IDX-field-propStatus:has(a[href*="Coming" i]){background:#100B28 !important;color:#FFFFFF !important}

/* My Account (logged-in bar): was a white outline button; now the same Midnight metallic as every IDX button. */
html body #IDX-main #IDX-leadToolsBar #IDX-leadAccountLink>a{
  background:#100B28 linear-gradient(#A0A5B0 0%,#535C70 22%,#100B28 52%,#2D2842 100%) !important;
  color:#FFFFFF !important;border:1px solid #0E0A23 !important;border-radius:4px !important;
  text-transform:uppercase;letter-spacing:1px;transition:background .2s ease-in-out}
html body #IDX-main #IDX-leadToolsBar #IDX-leadAccountLink>a:hover{background:#2a2546 !important;color:#FFFFFF !important;opacity:1 !important}

/* Sticky action bar (Save / Share / Print / Contact): was a square full-bleed grey strip; now a defined card
   aligned to the content column. */
html body #IDX-detailsStickyBar{background:transparent !important;border:0 !important;padding:8px 0 !important}
html body #IDX-detailsStickyBar>.IDX-container{
  background:#F4F4F2 !important;border:1px solid #CFD2D8 !important;border-radius:10px !important;
  box-shadow:0 2px 10px rgba(16,11,40,.08) !important}
/* === end IDX details page polish === */
/* details polish 2 (2026-10-22): drop the full-width rule above (top nav) and the bar's own shadow below. */
html body #IDX-detailsStickyBar{box-shadow:none !important}
html body #IDX-detailsTopNav{border-bottom:0 !important}
