/* ============================================
   DANSEREAU GROUP - LUXURY BLACK & WHITE REDESIGN
   Font: Inter | Palette: Black & White
   ============================================ */

/* --- FONT AWESOME 6 CDN --- */
@import url("https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.1/css/all.min.css");

/* --- GOOGLE FONT IMPORT --- */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&display=swap');

/* --- GLOBAL RESETS --- */
body,
body * {
  font-family: 'Inter', sans-serif !important;
}
/* Restore icon font families - higher specificity than body * */
html body .fab,
html body .fab::before,
html body i.fab,
html body i.fab::before {
  font-family: "Font Awesome 5 Brands" !important;
}
html body .fas,
html body .fas::before,
html body i.fas,
html body i.fas::before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}
html body .far,
html body .far::before,
html body i.far,
html body i.far::before {
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}
html body [class*="eicon"],
html body [class*="eicon"]::before {
  font-family: "eicons" !important;
}
html body [class*="dashicons"],
html body [class*="dashicons"]::before {
  font-family: "dashicons" !important;
}
html body [class*="houzez-icon"],
html body [class*="houzez-icon"]::before {
  font-family: "houzez-icon" !important;
}
html body [class*="flaticon"],
html body [class*="flaticon"]::before {
  font-family: "flaticon" !important;
}

/* Remove ALL Elementor animations */
.elementor-element[class*="animation"],
.elementor [class*="animated"],
.elementor-element.elementor-invisible {
  animation: none !important;
  -webkit-animation: none !important;
  opacity: 1 !important;
  visibility: visible !important;
  transition: none !important;
}

/* Kill scroll-triggered animations */
[data-settings*="animation"],
[data-settings*="_animation"] {
  animation: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* --- BODY --- */
body {
  background-color: #ffffff;
  color: #111111;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* --- HEADER / NAVIGATION --- */
.elementor-element-6a39aacd,
header.elementor-section {
  background: #ffffff !important;
  border-bottom: 1px solid #e5e5e5 !important;
  box-shadow: none !important;
  padding: 15px 0 !important;
}

/* Nav menu links */
.elementor-nav-menu a,
.elementor-nav-menu .menu-item a,
.houzez-menu a,
nav a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  transition: color 0.2s ease !important;
}

.elementor-nav-menu a:hover,
nav a:hover {
  color: #666666 !important;
}

/* Active nav indicator */
.elementor-nav-menu .current-menu-item a {
  color: #000000 !important;
  font-weight: 600 !important;
}

/* Nav underline - make it minimal black */
.elementor-nav-menu .current-menu-item a::after,
.elementor-nav-menu a::after {
  background-color: #000000 !important;
}

/* --- HERO SECTION --- */
.elementor-element-7110cf4 {
  position: relative;
}

.elementor-element-7110cf4::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.4) 0%,
    rgba(0,0,0,0.55) 100%
  ) !important;
  pointer-events: none;
}

/* Hero heading */
.elementor-element-7110cf4 h2,
.elementor-element-7110cf4 h1 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 200 !important;
  letter-spacing: 8px !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  font-size: 52px !important;
  line-height: 1.2 !important;
}

/* Hero subtitle/description */
.elementor-element-7110cf4 p,
.elementor-element-7110cf4 .elementor-text-editor p {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  letter-spacing: 1px !important;
  line-height: 1.8 !important;
  color: rgba(255,255,255,0.85) !important;
}

/* --- CTA BUTTONS (GLOBAL) --- */
.elementor-button,
.elementor-button-wrapper a,
a.elementor-button {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  border: 1px solid #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  padding: 14px 36px !important;
  border-radius: 0 !important;
  transition: all 0.3s ease !important;
}

.elementor-button:hover,
.elementor-button-wrapper a:hover {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}

/* Dark section buttons */
.elementor-element-abb1a9f .elementor-button,
section:not([class*="7110cf4"]) .elementor-button {
  border-color: #000000 !important;
  color: #000000 !important;
}

section:not([class*="7110cf4"]) .elementor-button:hover {
  background: #000000 !important;
  color: #ffffff !important;
}

/* --- ABOUT SECTION --- */
.elementor-element-abb1a9f {
  background: #ffffff !important;
  padding: 100px 0 !important;
}

.elementor-element-abb1a9f h2 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #888888 !important;
  margin-bottom: 8px !important;
}

.elementor-element-abb1a9f h1 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 600 !important;
  font-size: 36px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  line-height: 1.3 !important;
}

.elementor-element-abb1a9f p {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 15px !important;
  line-height: 1.9 !important;
  color: #444444 !important;
}

/* About section contact info */
.elementor-element-abb1a9f .elementor-icon-list-text,
.elementor-element-abb1a9f .elementor-icon-list-item {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 14px !important;
  color: #333333 !important;
}

.elementor-element-abb1a9f .elementor-icon-list-icon i,
.elementor-element-abb1a9f .elementor-icon-list-icon svg {
  color: #111111 !important;
  fill: #111111 !important;
}

/* Social icons - luxury circle style */
.elementor-social-icon {
  background: transparent !important;
  border: 1.5px solid #333333 !important;
  border-radius: 50% !important;
  color: #333333 !important;
  width: 42px !important;
  height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}

.elementor-social-icon:hover {
  background: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}

.elementor-social-icon i,
.elementor-social-icon svg {
  color: #333333 !important;
  fill: #333333 !important;
}

.elementor-social-icon:hover i,
.elementor-social-icon:hover svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* --- STATS / NUMBERS SECTION --- */
.elementor-element-b7f2733,
.elementor-element-43bcaf6 {
  background: #f8f8f8 !important;
  padding: 80px 0 !important;
}

.elementor-element-b7f2733 h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 32px !important;
  letter-spacing: 1px !important;
  color: #111111 !important;
}

/* Counter numbers */
.elementor-counter-number-wrapper,
.elementor-counter .elementor-counter-number-wrapper {
  font-family: 'Inter', sans-serif !important;
  font-weight: 200 !important;
  font-size: 48px !important;
  color: #111111 !important;
}

.elementor-counter-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #666666 !important;
}

/* --- MEET THE TEAM SECTION --- */
.elementor-element-5dd6544 {
  background: #000000 !important;
  padding: 100px 0 !important;
}

.elementor-element-5dd6544 h2,
.elementor-element-5dd6544 h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
}

.elementor-element-5113ce3 {
  background: #000000 !important;
}

.elementor-element-5113ce3 h2,
.elementor-element-5113ce3 h3,
.elementor-element-5113ce3 p,
.elementor-element-5113ce3 span {
  font-family: 'Inter', sans-serif !important;
  color: #ffffff !important;
}

/* Team member names */
.elementor-element-5113ce3 h2 {
  font-weight: 500 !important;
  font-size: 18px !important;
  letter-spacing: 1px !important;
}

/* Team member roles */
.elementor-element-5113ce3 h3,
.elementor-element-5113ce3 p {
  font-weight: 300 !important;
  font-size: 13px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.7) !important;
}

/* Team images - clean grayscale effect */
.elementor-element-5113ce3 img,
.elementor-element-5dd6544 img {
  filter: grayscale(30%) !important;
  transition: filter 0.4s ease !important;
}

.elementor-element-5113ce3 img:hover,
.elementor-element-5dd6544 img:hover {
  filter: grayscale(0%) !important;
}

/* --- AREAS WE SERVE SECTION --- */
.elementor-element-1a67fd9 {
  background: #ffffff !important;
  padding: 100px 0 !important;
}

.elementor-element-1a67fd9 h2,
.elementor-element-1a67fd9 h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* Area cards */
.elementor-element-b84b556,
.elementor-element-c6a085d {
  background: #ffffff !important;
}

.elementor-element-b84b556 h2,
.elementor-element-b84b556 h3,
.elementor-element-c6a085d h2,
.elementor-element-c6a085d h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 16px !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* --- TESTIMONIALS / REVIEWS --- */
.elementor-element-d7848ed {
  background: #f8f8f8 !important;
  padding: 100px 0 !important;
}

.elementor-element-d7848ed h2,
.elementor-element-d7848ed h3 {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* Video testimonials section */
.elementor-element-1fa23d3 {
  background: #ffffff !important;
  padding: 80px 0 !important;
}

.elementor-element-1fa23d3 h2,
.elementor-element-1fa23d3 h3,
.elementor-element-1fa23d3 span {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* --- WORK TOGETHER / CTA SECTION --- */
[class*="elementor-element"] h2[class*="work"],
h2:has(+ *:contains("WORK TOGETHER")) {
  font-family: 'Inter', sans-serif !important;
  font-weight: 200 !important;
  letter-spacing: 6px !important;
  text-transform: uppercase !important;
}

/* --- GLOBAL HEADING OVERRIDES --- */
h1, h2, h3, h4, h5, h6,
.elementor-heading-title,
.elementor-widget-heading .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
}

/* --- GLOBAL PARAGRAPH/TEXT --- */
p, span, li, a, div,
.elementor-text-editor p,
.elementor-widget-text-editor {
  font-family: 'Inter', sans-serif !important;
}

/* --- REMOVE COLORED ACCENTS --- */
.elementor-icon i,
.elementor-icon svg {
  color: #111111 !important;
  fill: #111111 !important;
}

/* White icons on dark backgrounds */
.elementor-section[style*="background-color: rgb(0, 0, 0)"] .elementor-icon i,
[class*="5dd6544"] .elementor-icon i,
[class*="5dd6544"] .elementor-icon svg {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* --- REMOVE PHONE FLOATING BUTTON COLOR --- */
.fab-button,
[class*="fab"],
a[href*="tel:"] .elementor-icon {
  background: #000000 !important;
  color: #ffffff !important;
}

/* --- CLEAN UP SPACING --- */
.elementor-section {
  transition: none !important;
}

/* --- LUXURY DIVIDERS --- */
.elementor-divider-separator {
  border-color: #e0e0e0 !important;
}

/* --- WIDGET TITLE OVERRIDES (Playfair to Inter) --- */
.widget-title,
.elementor-widget-heading .elementor-heading-title[class*="playfair"],
[style*="Playfair"] {
  font-family: 'Inter', sans-serif !important;
}

/* Force remove any inline Playfair Display */
[style*="font-family"][style*="Playfair"] {
  font-family: 'Inter', sans-serif !important;
}

/* ============================================
   REFINEMENTS - PASS 2
   ============================================ */

/* --- FIX NAV SPACING --- */
.elementor-nav-menu a,
.elementor-nav-menu .menu-item a {
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  padding: 0 12px !important;
}

/* --- FIX "CLICK HERE" BUTTONS IN WORK TOGETHER --- */
.elementor-button {
  background: transparent !important;
}

/* --- HEADER STICKY/TRANSPARENT FIX --- */
.houzez-header-elementor header,
header.elementor-section {
  background: #ffffff !important;
}

/* --- FLOATING PHONE BUTTON --- */
.whatsapp-btn,
.fab-btn,
a.fab-btn,
[class*="call-btn"],
.elementor-widget-call-to-action {
  background: #000000 !important;
}

/* --- ENSURE ALL TEXT IS INTER --- */
.elementor-widget-text-editor,
.elementor-text-editor,
.elementor-widget-heading,
.elementor-heading-title,
.elementor-widget-counter,
.elementor-counter,
.elementor-widget-icon-list,
.elementor-icon-list-text {
  font-family: 'Inter', sans-serif !important;
}

/* --- GOOGLE REVIEWS SECTION CLEANUP --- */
.elementor-element-d7848ed {
  background: #fafafa !important;
}

/* --- AREAS SECTION - clean up image overlays --- */
.elementor-element-1a67fd9 img,
.elementor-element-b84b556 img,
.elementor-element-c6a085d img {
  filter: grayscale(20%) !important;
  transition: filter 0.3s ease !important;
}

.elementor-element-1a67fd9 img:hover,
.elementor-element-b84b556 img:hover,
.elementor-element-c6a085d img:hover {
  filter: grayscale(0%) !important;
}

/* --- CLEAN UP READ MORE BUTTON IN ABOUT SECTION --- */
.elementor-element-abb1a9f .elementor-button {
  border-color: #000000 !important;
  color: #000000 !important;
  background: transparent !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  padding: 12px 32px !important;
}

.elementor-element-abb1a9f .elementor-button:hover {
  background: #000000 !important;
  color: #ffffff !important;
}

/* --- VIDEO TESTIMONIALS HEADING --- */
.elementor-element-1fa23d3 h2,
.elementor-element-1fa23d3 h3 {
  font-weight: 200 !important;
  letter-spacing: 5px !important;
}

/* --- REMOVE BOX SHADOWS --- */
.elementor-section,
.elementor-widget,
.elementor-element {
  box-shadow: none !important;
}

/* ============================================
   FINAL FIXES (PASS 4)
   ============================================ */

/* Footer social icons - ensure icon font is visible */
.elementor-location-footer .elementor-social-icon i {
  font-size: 16px !important;
  color: #ffffff !important;
  line-height: 1 !important;
}

.elementor-location-footer .elementor-social-icon:hover i {
  color: #000000 !important;
}

/* Footer social icon sizing */
.elementor-location-footer .elementor-social-icon {
  width: 40px !important;
  height: 40px !important;
  line-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* About section social icons too */
.elementor-element-abb1a9f .elementor-social-icon {
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-abb1a9f .elementor-social-icon i {
  font-size: 16px !important;
  color: #ffffff !important;
}

/* Copyright bar social icons */
.elementor-element-4c7f556 .elementor-social-icon {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.2) !important;
  border-radius: 0 !important;
  width: 36px !important;
  height: 36px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.elementor-element-4c7f556 .elementor-social-icon i {
  font-size: 14px !important;
  color: rgba(255,255,255,0.5) !important;
}

.elementor-element-4c7f556 .elementor-social-icon:hover {
  border-color: #ffffff !important;
}

.elementor-element-4c7f556 .elementor-social-icon:hover i {
  color: #ffffff !important;
}

/* Logo in footer - invert for dark bg */
.elementor-location-footer img[src*="logo"],
.elementor-element-575bc721 .elementor-image img {
  filter: invert(1) brightness(2) !important;
}

/* Floating call button - clean black */
.fab-button, .fab-btn,
a[href*="tel:"].fab-btn,
.houzez-floating-button,
#fab-btn,
.elementor-widget [class*="call"],
.bt-call-btn {
  background-color: #000000 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Ensure hero buttons are visible and correct */
.elementor-element-7110cf4 .elementor-button {
  border: 1px solid #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 14px 36px !important;
  border-radius: 0 !important;
}

.elementor-element-7110cf4 .elementor-button:hover {
  background: #ffffff !important;
  color: #000000 !important;
}

/* ============================================
   COMPREHENSIVE FIX - PASS 5
   Icons, Hero, CTA Tiles, Area Tiles, Mobile
   ============================================ */

/* ---- HERO BUTTONS ---- */
/* Left button (MEET ANGELA) - ghost/outline */
.elementor-element-7110cf4 .elementor-button,
.elementor-element-7110cf4 .elementor-button-link,
.elementor-element-37c8f0b .elementor-button,
.elementor-element-7110cf4 .elementor-button-wrapper .elementor-button {
  border: 1.5px solid #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  border-radius: 0 !important;
  display: inline-block !important;
  transition: all 0.3s ease !important;
}
/* Right button (EXCLUSIVE PROPERTIES) - filled white, black text */
.elementor-element-124d7d2 .elementor-button,
.elementor-element-124d7d2 .elementor-button-wrapper .elementor-button,
.elementor-element-124d7d2 a.elementor-button {
  border: 1.5px solid #ffffff !important;
  background: #ffffff !important;
  color: #000000 !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  padding: 16px 40px !important;
  border-radius: 0 !important;
  display: inline-block !important;
  transition: all 0.3s ease !important;
}
/* Left hover - fill white */
.elementor-element-7110cf4 .elementor-button:hover,
.elementor-element-37c8f0b .elementor-button:hover {
  background: #ffffff !important;
  color: #000000 !important;
}
/* Right hover - ghost */
.elementor-element-124d7d2 .elementor-button:hover,
.elementor-element-124d7d2 .elementor-button-wrapper .elementor-button:hover,
.elementor-element-124d7d2 a.elementor-button:hover {
  background: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}

/* Hero button text */
.elementor-element-7110cf4 .elementor-button .elementor-button-text,
.elementor-element-7110cf4 .elementor-button-content-wrapper,
.elementor-element-37c8f0b .elementor-button-text {
  color: #ffffff !important;
}
/* Right button text - black on white (high specificity) */
.elementor-element-7110cf4 .elementor-element-124d7d2 .elementor-button .elementor-button-text,
.elementor-element-7110cf4 .elementor-element-124d7d2 .elementor-button .elementor-button-content-wrapper,
html body .elementor-element-124d7d2 .elementor-button .elementor-button-text {
  color: #000000 !important;
}
.elementor-element-7110cf4 .elementor-element-124d7d2 .elementor-button:hover .elementor-button-text,
.elementor-element-7110cf4 .elementor-element-124d7d2 .elementor-button:hover .elementor-button-content-wrapper,
html body .elementor-element-124d7d2 .elementor-button:hover .elementor-button-text {
  color: #ffffff !important;
}

.elementor-element-7110cf4 .elementor-button:hover .elementor-button-text {
  color: #000000 !important;
}

/* ---- HERO TEXT - BRIGHTER WHITE ---- */
.elementor-element-5ac6824 .elementor-heading-title,
.elementor-element-7110cf4 h2,
.elementor-element-7110cf4 h1 {
  color: #ffffff !important;
  font-weight: 300 !important;
  font-size: 56px !important;
  letter-spacing: 10px !important;
  text-shadow: 0 2px 20px rgba(0,0,0,0.3) !important;
}

/* Hero subtitle - pop more */
.elementor-element-c44ed0e p,
.elementor-element-7110cf4 .elementor-text-editor p {
  color: #ffffff !important;
  font-weight: 300 !important;
  font-size: 16px !important;
  letter-spacing: 1px !important;
  text-shadow: 0 1px 10px rgba(0,0,0,0.3) !important;
  opacity: 0.9 !important;
}

/* Stronger hero overlay for text readability */
.elementor-element-7110cf4 > .elementor-background-overlay,
.elementor-element-7110cf4::before {
  background: linear-gradient(
    to bottom,
    rgba(0,0,0,0.45) 0%,
    rgba(0,0,0,0.6) 100%
  ) !important;
  opacity: 1 !important;
}

/* Remove the ::after overlay (use background-overlay instead) */
.elementor-element-7110cf4::after {
  display: none !important;
}

/* ---- FIX CONTACT INFO ICONS (About section) ---- */
.elementor-element-abb1a9f .elementor-icon-list-icon i,
.elementor-element-abb1a9f .elementor-icon-list-icon svg {
  color: #000000 !important;
  fill: #000000 !important;
  font-size: 18px !important;
}

.elementor-element-abb1a9f .elementor-icon-list-icon {
  min-width: 24px !important;
}

/* ---- FIX SOCIAL MEDIA ICONS (About section) ---- */
.elementor-element-abb1a9f .elementor-social-icon {
  background: transparent !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  transition: background 0.3s ease !important;
}

.elementor-element-abb1a9f .elementor-social-icon:hover {
  background: #333333 !important;
}

.elementor-element-abb1a9f .elementor-social-icon i {
  color: #ffffff !important;
  font-size: 18px !important;
}

/* ---- AREA TILES - HIDE "CLICK HERE" BUTTON, MAKE WHOLE TILE CLICKABLE ---- */
.elementor-widget-call-to-action .elementor-cta__button {
  display: none !important;
}

/* Make the entire CTA card clickable with overlay hover effect */
.elementor-widget-call-to-action .elementor-cta {
  cursor: pointer !important;
  position: relative !important;
  overflow: hidden !important;
}

/* CTA card overlay for better text readability */
.elementor-widget-call-to-action .elementor-cta__bg-overlay {
  background: rgba(0,0,0,0.4) !important;
  transition: background 0.4s ease !important;
}

.elementor-widget-call-to-action .elementor-cta:hover .elementor-cta__bg-overlay {
  background: rgba(0,0,0,0.55) !important;
}

/* CTA card title - clean white text */
.elementor-widget-call-to-action .elementor-cta__title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 18px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  text-shadow: 0 1px 8px rgba(0,0,0,0.4) !important;
}

/* CTA card description */
.elementor-widget-call-to-action .elementor-cta__description {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  color: rgba(255,255,255,0.85) !important;
}

/* ---- CTA TILES (Ready to Sell, Find A Home, Ready to Buy) ---- */
/* These are also call-to-action widgets in section 243b954 */
.elementor-element-243b954 .elementor-widget-call-to-action .elementor-cta__title {
  font-size: 22px !important;
  letter-spacing: 2px !important;
  font-weight: 300 !important;
}

.elementor-element-243b954 .elementor-widget-call-to-action .elementor-cta__bg-overlay {
  background: rgba(0,0,0,0.35) !important;
}

.elementor-element-243b954 .elementor-widget-call-to-action .elementor-cta:hover .elementor-cta__bg-overlay {
  background: rgba(0,0,0,0.5) !important;
}

/* ---- "LET'S WORK TOGETHER" HEADING ---- */
.elementor-element-56a96cf h2,
.elementor-element-56a96cf h3,
.elementor-element-56a96cf .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 200 !important;
  letter-spacing: 6px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
}

/* ---- OPTIMIZED SPACING & MARGINS ---- */
/* Section padding consistency */
.elementor-top-section {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* Hero - no extra padding (full height) */
.elementor-element-7110cf4 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Header - tighter */
.elementor-element-6a39aacd {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
}

/* Footer sections */
.elementor-element-575bc721 {
  padding-top: 60px !important;
  padding-bottom: 40px !important;
}

.elementor-element-4c7f556 {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}

/* About section */
.elementor-element-abb1a9f {
  padding-top: 100px !important;
  padding-bottom: 100px !important;
}

/* Stats section */
.elementor-element-b7f2733,
.elementor-element-43bcaf6 {
  padding-top: 60px !important;
  padding-bottom: 60px !important;
}

/* Team section */
.elementor-element-5dd6544,
.elementor-element-5113ce3 {
  padding-top: 80px !important;
  padding-bottom: 80px !important;
}

/* ---- FONT SIZE & WEIGHT OPTIMIZATION ---- */
/* About "About" label */
.elementor-element-abb1a9f h2:first-of-type {
  font-size: 12px !important;
  font-weight: 400 !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: #999999 !important;
  margin-bottom: 8px !important;
}

/* About "ANGELA DANSEREAU" */
.elementor-element-abb1a9f h1 {
  font-size: 34px !important;
  font-weight: 600 !important;
  letter-spacing: 3px !important;
  color: #111111 !important;
  margin-bottom: 24px !important;
}

/* About body text */
.elementor-element-abb1a9f .elementor-text-editor p {
  font-size: 15px !important;
  line-height: 1.85 !important;
  color: #555555 !important;
  font-weight: 300 !important;
  margin-bottom: 16px !important;
}

/* Stats numbers */
.elementor-counter-number-wrapper {
  font-size: 44px !important;
  font-weight: 200 !important;
  color: #111111 !important;
}

.elementor-counter-title {
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #666666 !important;
  margin-top: 8px !important;
}

/* Team names */
.elementor-element-5113ce3 h2 {
  font-size: 16px !important;
  font-weight: 500 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
}

/* Team roles */
.elementor-element-5113ce3 h3 {
  font-size: 12px !important;
  font-weight: 300 !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.6) !important;
}

/* Google Reviews heading */
.elementor-element-d7848ed .elementor-heading-title {
  font-weight: 200 !important;
  letter-spacing: 5px !important;
}

/* Video Testimonials heading */
.elementor-element-1fa23d3 .elementor-heading-title {
  font-weight: 200 !important;
  letter-spacing: 5px !important;
}

/* ---- TEXT POP OVER IMAGES ---- */
/* All CTA overlays - ensure good contrast */
.elementor-cta__bg-overlay {
  background: rgba(0,0,0,0.4) !important;
}

/* Hover state - darken for even more contrast */
.elementor-cta:hover .elementor-cta__bg-overlay {
  background: rgba(0,0,0,0.55) !important;
}

/* All text over images - add subtle text shadow */
.elementor-cta__title,
.elementor-cta__content-item {
  text-shadow: 0 1px 6px rgba(0,0,0,0.4) !important;
}

/* ---- COMPREHENSIVE MOBILE OPTIMIZATION ---- */
@media (max-width: 1024px) {
  /* Nav - tighter on tablet */
  .elementor-nav-menu a,
  .elementor-nav-menu .menu-item a {
    font-size: 10px !important;
    letter-spacing: 1px !important;
    padding: 0 8px !important;
  }
  
  /* Hero heading */
  .elementor-element-5ac6824 .elementor-heading-title,
  .elementor-element-7110cf4 h2 {
    font-size: 40px !important;
    letter-spacing: 6px !important;
  }
  
  /* Hero subtitle */
  .elementor-element-c44ed0e p {
    font-size: 14px !important;
  }
  
  /* Section padding */
  .elementor-top-section {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  
  /* Stats numbers */
  .elementor-counter-number-wrapper {
    font-size: 36px !important;
  }
}

@media (max-width: 767px) {
  /* ---- MOBILE HEADER ---- */
  .elementor-element-6a39aacd {
    padding: 10px 0 !important;
  }
  
  /* Mobile hamburger menu icon */
  .elementor-menu-toggle {
    color: #000000 !important;
  }
  
  /* Mobile dropdown menu */
  .elementor-nav-menu--dropdown a {
    font-family: 'Inter', sans-serif !important;
    font-size: 12px !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    color: #111111 !important;
    padding: 12px 20px !important;
  }
  
  /* ---- MOBILE HERO ---- */
  .elementor-element-5ac6824 .elementor-heading-title,
  .elementor-element-7110cf4 h2,
  .elementor-element-7110cf4 h1 {
    font-size: 28px !important;
    letter-spacing: 4px !important;
    line-height: 1.3 !important;
  }
  
  .elementor-element-c44ed0e p,
  .elementor-element-7110cf4 .elementor-text-editor p {
    font-size: 13px !important;
    letter-spacing: 0.5px !important;
    line-height: 1.7 !important;
    padding: 0 16px !important;
  }
  
  /* Mobile hero buttons - stack and center */
  .elementor-element-7110cf4 .elementor-button {
    font-size: 10px !important;
    letter-spacing: 2px !important;
    padding: 14px 28px !important;
    margin-bottom: 12px !important;
  }
  
  /* ---- MOBILE SECTIONS ---- */
  .elementor-top-section {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  
  /* About heading */
  .elementor-element-abb1a9f h1 {
    font-size: 24px !important;
    letter-spacing: 2px !important;
  }
  
  .elementor-element-abb1a9f .elementor-text-editor p {
    font-size: 14px !important;
    line-height: 1.75 !important;
  }
  
  .elementor-element-abb1a9f {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
  }
  
  /* Stats section */
  .elementor-counter-number-wrapper {
    font-size: 32px !important;
  }
  
  .elementor-counter-title {
    font-size: 11px !important;
    letter-spacing: 1.5px !important;
  }
  
  /* Team names */
  .elementor-element-5113ce3 h2 {
    font-size: 14px !important;
  }
  
  .elementor-element-5113ce3 h3 {
    font-size: 11px !important;
  }
  
  /* Area tiles */
  .elementor-widget-call-to-action .elementor-cta__title {
    font-size: 16px !important;
    letter-spacing: 2px !important;
  }
  
  /* CTA tiles */
  .elementor-element-243b954 .elementor-widget-call-to-action .elementor-cta__title {
    font-size: 18px !important;
  }
  
  /* "Let's Work Together" */
  .elementor-element-56a96cf .elementor-heading-title {
    font-size: 24px !important;
    letter-spacing: 3px !important;
  }
  
  /* Google Reviews heading */
  .elementor-element-d7848ed .elementor-heading-title {
    font-size: 28px !important;
    letter-spacing: 3px !important;
  }
  
  /* Footer */
  .elementor-element-575bc721 {
    padding-top: 40px !important;
    padding-bottom: 30px !important;
  }
  
  .elementor-location-footer .elementor-heading-title {
    font-size: 14px !important;
    letter-spacing: 1.5px !important;
    margin-bottom: 16px !important;
  }
  
  .elementor-location-footer input[type="text"],
  .elementor-location-footer input[type="email"] {
    padding: 12px 14px !important;
    font-size: 13px !important;
  }
  
  /* Footer nav */
  .elementor-location-footer .elementor-nav-menu a {
    font-size: 10px !important;
    letter-spacing: 1px !important;
    padding: 8px 10px !important;
  }
  
  /* Footer social icons */
  .elementor-location-footer .elementor-social-icon {
    width: 36px !important;
    height: 36px !important;
  }
  
  .elementor-location-footer .elementor-social-icon i {
    font-size: 14px !important;
  }
  
  /* Headings global mobile */
  h1, .elementor-size-default {
    word-wrap: break-word !important;
  }
  
  /* Read More button */
  .elementor-element-abb1a9f .elementor-button {
    font-size: 10px !important;
    padding: 12px 24px !important;
    letter-spacing: 2px !important;
  }
}

@media (max-width: 480px) {
  /* Extra small screens */
  .elementor-element-5ac6824 .elementor-heading-title,
  .elementor-element-7110cf4 h2 {
    font-size: 22px !important;
    letter-spacing: 3px !important;
  }
  
  .elementor-element-7110cf4 .elementor-button {
    font-size: 9px !important;
    padding: 12px 20px !important;
    letter-spacing: 1.5px !important;
  }
  
  .elementor-element-abb1a9f h1 {
    font-size: 20px !important;
  }
  
  .elementor-counter-number-wrapper {
    font-size: 28px !important;
  }
}

/* ============================================
   SOCIAL ICON COLOR FIX - PASS 6
   Override Elementor's social network colors
   ============================================ */

/* Force ALL social icons to black/white - ultra-specific */
.elementor-social-icon.elementor-social-icon-youtube,
.elementor-social-icon.elementor-social-icon-instagram,
.elementor-social-icon.elementor-social-icon-facebook,
.elementor-social-icon.elementor-social-icon-twitter,
.elementor-social-icon.elementor-social-icon-linkedin,
.elementor-social-icon.elementor-social-icon-tiktok,
.elementor-social-icon.elementor-social-icon-pinterest,
.elementor-social-icon[class*="elementor-social-icon-"] {
  background-color: transparent !important;
  border-radius: 50% !important;
}

.elementor-social-icon.elementor-social-icon-youtube:hover,
.elementor-social-icon.elementor-social-icon-instagram:hover,
.elementor-social-icon.elementor-social-icon-facebook:hover,
.elementor-social-icon.elementor-social-icon-twitter:hover,
.elementor-social-icon.elementor-social-icon-linkedin:hover,
.elementor-social-icon[class*="elementor-social-icon-"]:hover {
  background-color: #333333 !important;
}

/* Footer social icons - outlined style */
.elementor-location-footer .elementor-social-icon.elementor-social-icon-youtube,
.elementor-location-footer .elementor-social-icon.elementor-social-icon-instagram,
.elementor-location-footer .elementor-social-icon.elementor-social-icon-facebook,
.elementor-location-footer .elementor-social-icon.elementor-social-icon-twitter,
.elementor-location-footer .elementor-social-icon.elementor-social-icon-linkedin,
.elementor-location-footer .elementor-social-icon[class*="elementor-social-icon-"] {
  background-color: transparent !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
}

.elementor-location-footer .elementor-social-icon[class*="elementor-social-icon-"]:hover {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}

.elementor-location-footer .elementor-social-icon[class*="elementor-social-icon-"]:hover i {
  color: #000000 !important;
}

/* Also override via repeater item classes for About section */
.elementor-element-abb1a9f .elementor-social-icons-wrapper .elementor-icon.elementor-social-icon,
.elementor-element-abb1a9f .elementor-grid-item .elementor-icon.elementor-social-icon {
  background-color: transparent !important;
  width: 44px !important;
  height: 44px !important;
  border-radius: 50% !important;
}

.elementor-element-abb1a9f .elementor-icon.elementor-social-icon:hover {
  background-color: #333333 !important;
}

/* Contact info icons - ensure visible at right size */
.elementor-element-abb1a9f .elementor-icon-list-item .elementor-icon-list-icon i.fas,
.elementor-element-abb1a9f .elementor-icon-list-item .elementor-icon-list-icon i.far,
.elementor-element-abb1a9f .elementor-icon-list-item .elementor-icon-list-icon i.fab {
  color: #000000 !important;
  font-size: 16px !important;
}

/* ===== AREA TILES - Reduce spacing between rows ===== */
.elementor-element-b84b556,
.elementor-element-c6a085d {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.elementor-element-b84b556 {
  margin-bottom: 15px !important;
}
/* Tighten the areas heading section */
.elementor-element-1a67fd9 {
  margin-bottom: 20px !important;
  padding-bottom: 0 !important;
}
/* Area tile hover effect - luxury feel */
.elementor-widget-call-to-action .elementor-cta {
  transition: transform 0.4s ease, box-shadow 0.4s ease !important;
}
.elementor-widget-call-to-action .elementor-cta:hover {
  transform: scale(1.02) !important;
  box-shadow: 0 8px 30px rgba(0,0,0,0.15) !important;
}

/* ===== ABOUT SECTION - Centered, polished ===== */
.elementor-element-abb1a9f {
  padding: 80px 60px !important;
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.elementor-element-abb1a9f .elementor-widget-text-editor {
  max-width: 700px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}
.elementor-element-abb1a9f .elementor-widget-text-editor p {
  font-size: 15px !important;
  line-height: 1.8 !important;
  color: #444444 !important;
  letter-spacing: 0.3px !important;
}
.elementor-element-abb1a9f .elementor-heading-title {
  text-align: center !important;
  letter-spacing: 4px !important;
  font-weight: 300 !important;
  margin-bottom: 25px !important;
}
/* About section icon list - centered */
.elementor-element-abb1a9f .elementor-icon-list-items {
  justify-content: center !important;
}
.elementor-element-abb1a9f .elementor-icon-list-item {
  justify-content: center !important;
}
/* About section social icons */
.elementor-element-abb1a9f .elementor-widget-social-icons {
  text-align: center !important;
}
.elementor-element-abb1a9f .elementor-social-icons-wrapper {
  justify-content: center !important;
}

/* ===== SOCIAL ICONS - Luxury circle style (like apexre.io) ===== */
.elementor-social-icon {
  background-color: transparent !important;
  border: 1.5px solid currentColor !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  font-size: 16px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}
/* About section social icons - dark outline */
.elementor-element-abb1a9f .elementor-social-icon {
  border-color: #333333 !important;
  color: #333333 !important;
}
.elementor-element-abb1a9f .elementor-social-icon i {
  color: #333333 !important;
}
.elementor-element-abb1a9f .elementor-social-icon:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
  color: #ffffff !important;
}
.elementor-element-abb1a9f .elementor-social-icon:hover i {
  color: #ffffff !important;
}
/* Footer social icons - white outline */
footer .elementor-social-icon,
.elementor-element-575bc721 .elementor-social-icon,
.elementor-element-4c7f556 .elementor-social-icon {
  border-color: rgba(255,255,255,0.5) !important;
  color: #ffffff !important;
}
footer .elementor-social-icon i,
.elementor-element-575bc721 .elementor-social-icon i,
.elementor-element-4c7f556 .elementor-social-icon i {
  color: #ffffff !important;
}
footer .elementor-social-icon:hover,
.elementor-element-575bc721 .elementor-social-icon:hover,
.elementor-element-4c7f556 .elementor-social-icon:hover {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}
footer .elementor-social-icon:hover i,
.elementor-element-575bc721 .elementor-social-icon:hover i,
.elementor-element-4c7f556 .elementor-social-icon:hover i {
  color: #000000 !important;
}

/* ===== FOOTER - Clean luxury style inspired by apexre.io ===== */
.elementor-element-575bc721 {
  padding: 60px 40px 40px !important;
}
/* Footer divider line */
.elementor-element-575bc721::before {
  content: '' !important;
  display: block !important;
  width: 90% !important;
  max-width: 1200px !important;
  height: 1px !important;
  background: rgba(255,255,255,0.15) !important;
  margin: 0 auto 50px !important;
}
/* Footer contact info styling */
.elementor-element-575bc721 .elementor-icon-list-item .elementor-icon-list-text {
  font-size: 14px !important;
  letter-spacing: 0.5px !important;
  color: rgba(255,255,255,0.8) !important;
}
/* Footer newsletter heading */
.elementor-element-575bc721 .elementor-heading-title {
  font-size: 14px !important;
  letter-spacing: 4px !important;
  font-weight: 500 !important;
  color: #ffffff !important;
}
/* Footer nav links */
.elementor-element-575bc721 .elementor-nav-menu a,
.elementor-element-575bc721 nav a {
  font-size: 12px !important;
  letter-spacing: 2px !important;
  color: rgba(255,255,255,0.7) !important;
  transition: color 0.3s ease !important;
}
.elementor-element-575bc721 .elementor-nav-menu a:hover,
.elementor-element-575bc721 nav a:hover {
  color: #ffffff !important;
}
/* Copyright bar */
.elementor-element-4c7f556 {
  padding: 25px 40px !important;
  border-top: 1px solid rgba(255,255,255,0.1) !important;
}
.elementor-element-4c7f556 .elementor-heading-title {
  font-size: 11px !important;
  letter-spacing: 3px !important;
  color: rgba(255,255,255,0.5) !important;
  font-weight: 400 !important;
}

/* ===== FIND US ON SOCIAL section ===== */
.elementor-element-abb1a9f .elementor-widget-heading .elementor-heading-title {
  font-size: 32px !important;
  letter-spacing: 6px !important;
}

/* ===== OVERALL LUXURY POLISH ===== */
/* Section spacing consistency */
.elementor-section {
  transition: none !important;
}
/* Smooth scroll behavior */
html {
  scroll-behavior: smooth !important;
}
/* Links - no underline unless hover */
a {
  text-decoration: none !important;
  transition: all 0.3s ease !important;
}
/* Stats section polish */
.elementor-element-b7f2733,
.elementor-element-43bcaf6 {
  padding: 60px 0 !important;
}
/* Reviews section */
.elementor-element-d7848ed {
  padding: 80px 0 !important;
}
/* Work Together section */
.elementor-element-56a96cf {
  letter-spacing: 6px !important;
}

/* ===== CTA TILES (Ready to Sell, etc.) - luxury hover ===== */
.elementor-element-243b954 .elementor-widget-call-to-action .elementor-cta {
  transition: all 0.4s ease !important;
}
.elementor-element-243b954 .elementor-widget-call-to-action .elementor-cta:hover {
  transform: scale(1.03) !important;
  box-shadow: 0 10px 40px rgba(0,0,0,0.2) !important;
}


/* ===== HERO BUTTONS - Updated ===== */
/* Left button (MEET THE TEAM) - ghost/outline style */
.elementor-element-37c8f0b .elementor-button,
.elementor-element-37c8f0b a.elementor-button {
  border: 1.5px solid #ffffff !important;
  background: transparent !important;
  color: #ffffff !important;
  padding: 15px 40px !important;
  font-size: 12px !important;
  letter-spacing: 3px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase !important;
}
.elementor-element-37c8f0b .elementor-button:hover,
.elementor-element-37c8f0b a.elementor-button:hover {
  background: #ffffff !important;
  color: #000000 !important;
  border-color: #ffffff !important;
}
/* Right button (EXCLUSIVE PROPERTIES) - filled white, black text */
.elementor-element-124d7d2 .elementor-button,
.elementor-element-124d7d2 a.elementor-button {
  border: 1.5px solid #ffffff !important;
  background: #ffffff !important;
  color: #000000 !important;
  padding: 15px 40px !important;
  font-size: 12px !important;
  letter-spacing: 3px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
  text-transform: uppercase !important;
}
.elementor-element-124d7d2 .elementor-button:hover,
.elementor-element-124d7d2 a.elementor-button:hover {
  background: transparent !important;
  color: #ffffff !important;
  border-color: #ffffff !important;
}


/* ===== FOOTER SOCIAL ICONS - DEFINITIVE FIX ===== */
html body .elementor-location-footer .elementor-element .elementor-social-icon,
html body .elementor-location-footer .elementor-element .elementor-social-icon[class*="elementor-social-icon-"],
html body .elementor-element-575bc721 .elementor-element .elementor-social-icon,
html body .elementor-element-4c7f556 .elementor-element .elementor-social-icon {
  border: 1.5px solid rgba(255,255,255,0.4) !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 50% !important;
}
html body .elementor-location-footer .elementor-element .elementor-social-icon i,
html body .elementor-location-footer .elementor-element .elementor-social-icon svg,
html body .elementor-element-575bc721 .elementor-social-icon i,
html body .elementor-element-4c7f556 .elementor-social-icon i {
  color: rgba(255,255,255,0.8) !important;
  fill: rgba(255,255,255,0.8) !important;
}
html body .elementor-location-footer .elementor-element .elementor-social-icon:hover {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}
html body .elementor-location-footer .elementor-element .elementor-social-icon:hover i,
html body .elementor-location-footer .elementor-element .elementor-social-icon:hover svg {
  color: #000000 !important;
  fill: #000000 !important;
}


/* ===== HEADER LOGO - Smaller ===== */
.elementor-element-6a39aacd img,
header .site-logo img,
header .custom-logo,
header .elementor-widget-theme-site-logo img,
header .elementor-widget-image img {
  max-width: 320px !important;
  width: auto !important;
  height: auto !important;
}

/* ===== NAV MENU - More spacing ===== */
.elementor-nav-menu--main .elementor-item {
  padding: 0 20px !important;
  letter-spacing: 2px !important;
}

/* ===== ABOUT SECTION - Remove black box, left align ===== */
/* Remove black border from headshot */
.elementor-element-50a1c85 img,
.elementor-element-abb1a9f .elementor-widget-image img {
  border: none !important;
  border-radius: 4px !important;
  max-height: 420px !important;
  object-fit: cover !important;
  object-position: top center !important;
  width: 100% !important;
}
/* Clip the dark backdrop at bottom of headshot */
.elementor-element-50a1c85 .elementor-widget-container,
.elementor-element-abb1a9f .elementor-widget-image .elementor-widget-container {
  overflow: hidden !important;
  max-height: 420px !important;
  border-radius: 4px !important;
}

/* Left-align the about section text column */
.elementor-element-62e5e48 .elementor-widget-text-editor,
.elementor-element-abb1a9f .elementor-widget-text-editor {
  text-align: left !important;
  max-width: none !important;
  margin-left: 0 !important;
}
.elementor-element-62e5e48 .elementor-widget-text-editor p,
.elementor-element-abb1a9f .elementor-widget-text-editor p {
  text-align: left !important;
}
/* Left-align headings in about section */
.elementor-element-62e5e48 .elementor-heading-title,
.elementor-element-abb1a9f .elementor-heading-title {
  text-align: left !important;
}
/* Left-align contact info */
.elementor-element-abb1a9f .elementor-icon-list-items {
  justify-content: flex-start !important;
}
.elementor-element-abb1a9f .elementor-icon-list-item {
  justify-content: flex-start !important;
}
/* Left-align social icons */
.elementor-element-abb1a9f .elementor-social-icons-wrapper {
  justify-content: flex-start !important;
}
/* Left-align the Read More button */
.elementor-element-b508689 {
  text-align: left !important;
}

/* ===== AREA TILES - Even tighter spacing ===== */
.elementor-element-b84b556 {
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
}
.elementor-element-c6a085d {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
/* Also reduce the heading section gap above tiles */
.elementor-element-1a67fd9 {
  margin-bottom: 15px !important;
  padding-bottom: 0 !important;
}


/* =============================================
   FONT AWESOME 6 + SOCIAL ICONS FIX
   ============================================= */

/* Update icon font families to support FA6 */
html body .fa-brands,
html body .fa-brands::before,
html body .fab,
html body .fab::before,
html body i.fab,
html body i.fab::before,
html body i.fa-brands,
html body i.fa-brands::before {
  font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands" !important;
}
html body .fa-solid,
html body .fa-solid::before,
html body .fas,
html body .fas::before,
html body i.fas,
html body i.fas::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
}
html body .fa-regular,
html body .fa-regular::before,
html body .far,
html body .far::before,
html body i.far,
html body i.far::before {
  font-family: "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
  font-weight: 400 !important;
}

/* "Find Us On SOCIAL" section - single row layout */
.elementor-element-8f82918 .elementor-social-icons-wrapper.elementor-grid,
.elementor-element-8f82918 .elementor-social-icons-wrapper {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
  justify-content: center !important;
  grid-template-columns: unset !important;
}

/* Ensure all social icon wrappers on the page use flex row */
.elementor-widget-social-icons .elementor-social-icons-wrapper.elementor-grid {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 12px !important;
}

/* Social icon consistent sizing */
.elementor-element-8f82918 .elementor-social-icon {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: transparent !important;
  border: 1.5px solid #333333 !important;
  border-radius: 50% !important;
  transition: all 0.3s ease !important;
}
.elementor-element-8f82918 .elementor-social-icon:hover {
  background: #000000 !important;
  border-color: #000000 !important;
}
.elementor-element-8f82918 .elementor-social-icon:hover i {
  color: #ffffff !important;
}

/* Icon font size inside social circles */
.elementor-element-8f82918 .elementor-social-icon i {
  font-size: 20px !important;
  color: #333333 !important;
  line-height: 1 !important;
}


/* =============================================
   COMPREHENSIVE SOCIAL ICON + LAYOUT FIXES
   ============================================= */

/* --- HIDE DARK MARBLE BACKGROUND BEHIND HEADSHOT --- */
.elementor-element-667f855 .elementor-background-slideshow,
.elementor-element-667f855 .elementor-background-slideshow__slide__image {
  display: none !important;
}

/* --- SVG SOCIAL ICONS (replaces broken Font Awesome rendering) --- */

/* Base: hide FA glyph, prepare for SVG background */
html body .elementor-element .elementor-social-icon i,
html body .elementor-element .elementor-social-icon i.fab,
html body .elementor-element .elementor-social-icon i.fa-brands {
  font-size: 0 !important;
  width: 20px !important;
  height: 20px !important;
  display: inline-block !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Override ALL social icon background colors to transparent with circle border */
html body .elementor-element .elementor-widget-container .elementor-social-icon,
html body .elementor-element .elementor-social-icon[class*="elementor-social-icon-"] {
  background-color: transparent !important;
  background: transparent !important;
  border: 1.5px solid #333333 !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}
html body .elementor-element .elementor-social-icon:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
}
html body .elementor-element .elementor-social-icon:hover i {
  filter: brightness(0) invert(1) !important;
}

/* Facebook */
html body .elementor-element .elementor-social-icon-facebook i,

/* Instagram */
html body .elementor-element .elementor-social-icon-instagram i,

/* YouTube */
html body .elementor-element .elementor-social-icon-youtube i,

/* TikTok */
html body .elementor-element .elementor-social-icon-tiktok i,

/* LinkedIn */
html body .elementor-element .elementor-social-icon-linkedin i,

/* Twitter/X */
html body .elementor-element .elementor-social-icon-twitter i,

/* Footer icons: white SVG versions */
html body .elementor-location-footer .elementor-element .elementor-social-icon {
  border-color: rgba(255,255,255,0.4) !important;
}
html body .elementor-location-footer .elementor-element .elementor-social-icon:hover {
  background-color: rgba(255,255,255,0.15) !important;
  border-color: rgba(255,255,255,0.7) !important;
}


/* =====================================================
   LUXURY FOOTER REDESIGN
   Clean, centered, editorial layout
   ===================================================== */

/* --- FOOTER BASE --- */
footer,
.elementor-location-footer,
footer.elementor-section {
  background: #0a0a0a !important;
  padding: 0 !important;
}

/* Main footer section container */
html body .elementor-element-575bc721 {
  background: #0a0a0a !important;
  padding: 80px 60px 50px !important;
}

/* Force single-column centered layout */
html body .elementor .elementor-element.elementor-element-575bc721 > .elementor-container,
html body .elementor-element-575bc721 > .elementor-container.elementor-column-gap-default {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  gap: 0 !important;
  flex-wrap: wrap !important;
}

/* All columns become full-width centered */
html body .elementor .elementor-element-575bc721 .elementor-column,
html body .elementor-element-575bc721 .elementor-column.elementor-col-20,
html body .elementor-element-575bc721 .elementor-element[class*="elementor-col-"] {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  flex-basis: 100% !important;
  text-align: center !important;
}

/* Hide unused columns (1, 2, 3) */
html body .elementor .elementor-element.elementor-element-2619c3d1,
html body .elementor .elementor-element.elementor-element-5419d257,
html body .elementor .elementor-element.elementor-element-3c14d7be {
  display: none !important;
}

/* --- COLUMN 0: LOGO + CONTACT --- */
html body .elementor-element-51414c07 {
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  margin-bottom: 40px !important;
}

html body .elementor-element-51414c07 .elementor-widget-wrap {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Logo */
html body .elementor-element-2177978f {
  margin-bottom: 32px !important;
}
html body .elementor-element-2177978f img {
  max-width: 220px !important;
  filter: brightness(0) invert(1) !important;
  opacity: 0.95 !important;
}

/* Contact info list - horizontal layout */
html body .elementor-element-4655752f .elementor-icon-list-items {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 8px 32px !important;
}

html body .elementor-element-4655752f .elementor-icon-list-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}

html body .elementor-element-4655752f .elementor-icon-list-icon {
  width: auto !important;
}

html body .elementor-element-4655752f .elementor-icon-list-icon i,
html body .elementor-element-4655752f .elementor-icon-list-icon svg {
  color: rgba(255,255,255,0.35) !important;
  fill: rgba(255,255,255,0.35) !important;
  font-size: 14px !important;
  width: 14px !important;
  height: 14px !important;
}

html body .elementor-element-4655752f .elementor-icon-list-text {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  color: rgba(255,255,255,0.55) !important;
  letter-spacing: 0.5px !important;
}

html body .elementor-element-4655752f a:hover .elementor-icon-list-text {
  color: #ffffff !important;
}

/* --- COLUMN 4: NEWSLETTER + SOCIAL + NAV --- */
html body .elementor-element-2083910f {
  padding-top: 0 !important;
}

html body .elementor-element-2083910f .elementor-widget-wrap {
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Newsletter heading */
html body .elementor-element-7f41f82a {
  margin-bottom: 20px !important;
}

html body .elementor-element-7f41f82a .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 4px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.45) !important;
}

/* Newsletter form */
html body .elementor-element-7b40f083 {
  width: 100% !important;
  max-width: 480px !important;
  margin-bottom: 40px !important;
}

html body .elementor-element-7b40f083 .elementor-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
}

html body .elementor-element-7b40f083 .elementor-field-group {
  padding: 0 !important;
  margin: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  flex-basis: 100% !important;
}

html body .elementor-location-footer .elementor-field-textual,
html body .elementor-element-7b40f083 input[type="text"],
html body .elementor-element-7b40f083 input[type="email"] {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.12) !important;
  border-radius: 0 !important;
  padding: 14px 18px !important;
  color: #ffffff !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 13px !important;
  letter-spacing: 0.5px !important;
  transition: border-color 0.3s ease !important;
  width: 100% !important;
}

html body .elementor-location-footer .elementor-field-textual:focus,
html body .elementor-element-7b40f083 input:focus {
  border-color: rgba(255,255,255,0.35) !important;
  outline: none !important;
}

html body .elementor-location-footer .elementor-field-textual::placeholder {
  color: rgba(255,255,255,0.3) !important;
  font-weight: 300 !important;
  letter-spacing: 1px !important;
}

/* Subscribe button */
html body .elementor-location-footer .elementor-button,
html body .elementor-element-7b40f083 button {
  background: #ffffff !important;
  color: #0a0a0a !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 40px !important;
  font-family: 'Inter', sans-serif !important;
  font-weight: 500 !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
  width: 100% !important;
}

html body .elementor-location-footer .elementor-button span,
html body .elementor-location-footer .elementor-button .elementor-button-text,
html body .elementor-element-7b40f083 button span {
  color: #0a0a0a !important;
  font-size: 11px !important;
  letter-spacing: 3px !important;
  font-weight: 500 !important;
}

html body .elementor-location-footer .elementor-button:hover {
  background: rgba(255,255,255,0.85) !important;
}

/* --- FOOTER NAV MENU --- */
html body .elementor-element-d2b3ce2 {
  margin-bottom: 0 !important;
  padding-bottom: 40px !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

html body .elementor-element-d2b3ce2 .elementor-nav-menu {
  display: flex !important;
  justify-content: center !important;
  gap: 40px !important;
}

html body .elementor-element-d2b3ce2 .elementor-nav-menu li a {
  font-family: 'Inter', sans-serif !important;
  font-weight: 400 !important;
  font-size: 11px !important;
  letter-spacing: 2.5px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.4) !important;
  text-decoration: none !important;
  transition: color 0.3s ease !important;
}

html body .elementor-element-d2b3ce2 .elementor-nav-menu li a:hover {
  color: #ffffff !important;
}

/* Remove nav menu hamburger/toggle on desktop */
html body .elementor-element-d2b3ce2 .elementor-menu-toggle {
  display: none !important;
}

/* --- COPYRIGHT SECTION --- */
html body .elementor-element-4c7f556 {
  background: #0a0a0a !important;
  padding: 24px 60px !important;
}

html body .elementor-element-31f8544 .elementor-heading-title {
  font-family: 'Inter', sans-serif !important;
  font-weight: 300 !important;
  font-size: 11px !important;
  letter-spacing: 1.5px !important;
  color: rgba(255,255,255,0.2) !important;
  text-align: center !important;
}

/* --- FOOTER GLOBAL TEXT OVERRIDES --- */
footer p,
footer span,
footer a,
footer li,
.elementor-location-footer p,
.elementor-location-footer a,
.elementor-location-footer span {
  font-family: 'Inter', sans-serif !important;
  color: rgba(255,255,255,0.55) !important;
}

footer a:hover,
.elementor-location-footer a:hover {
  color: #ffffff !important;
}

/* Remove any widget titles that shouldn't show */
html body .elementor-element-282f0276,
html body .elementor-element-65439ac3 {
  display: none !important;
}

/* --- FOOTER SOCIAL ICONS (Nucleo SVGs) --- */
/* Hide duplicate icon widgets */
html body .elementor .elementor-element.elementor-element-da8d2c6 {
  display: none !important;
}
html body .elementor .elementor-element.elementor-element-7cd1fff7 {
  display: none !important;
}

/* Social icons wrapper - centered row */
html body .elementor-element-58a88eb {
  margin-bottom: 32px !important;
}

html body .elementor-element-58a88eb .elementor-social-icons-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 16px !important;
  grid-template-columns: unset !important;
}

/* Icon container circles */
html body .elementor-location-footer .elementor-social-icon,
html body .elementor-element-58a88eb .elementor-social-icon {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
  padding: 0 !important;
}

html body .elementor-location-footer .elementor-social-icon:hover {
  border-color: rgba(255,255,255,0.5) !important;
  background: rgba(255,255,255,0.05) !important;
}

/* Icon (i) elements - FA icon styling */
html body .elementor-location-footer .elementor-social-icon i {
  font-size: 0 !important;
  width: 18px !important;
  height: 18px !important;
  display: inline-block !important;
  background-size: contain !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
  opacity: 0.65 !important;
  transition: opacity 0.3s ease !important;
}

html body .elementor-location-footer .elementor-social-icon:hover i {
  opacity: 1 !important;
  filter: none !important;
}

/* Facebook - Nucleo icon */

/* Instagram - Nucleo icon */

/* YouTube - Nucleo icon */

/* LinkedIn - Nucleo icon */



/* --- SOCIAL ICON STYLING (Font Awesome, no SVG) --- */
/* Body/About section social icons */
html body .elementor-element .elementor-social-icon {
  background-color: transparent !important;
  background: transparent !important;
  border: 1.5px solid #333333 !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: all 0.3s ease !important;
}

html body .elementor-element .elementor-social-icon:hover {
  background-color: #000000 !important;
  border-color: #000000 !important;
}

html body .elementor-element .elementor-social-icon i {
  font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
  font-size: 18px !important;
  color: #333333 !important;
  -webkit-text-fill-color: #333333 !important;
  transition: color 0.3s ease !important;
}

html body .elementor-element .elementor-social-icon:hover i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Footer social icons - white on dark */
html body .elementor-location-footer .elementor-social-icon {
  background: transparent !important;
  border: 1px solid rgba(255,255,255,0.15) !important;
  border-radius: 50% !important;
  width: 44px !important;
  height: 44px !important;
  min-width: 44px !important;
}

html body .elementor-location-footer .elementor-social-icon:hover {
  border-color: rgba(255,255,255,0.5) !important;
  background: rgba(255,255,255,0.05) !important;
}

html body .elementor-location-footer .elementor-social-icon i {
  font-family: "Font Awesome 6 Brands", "Font Awesome 5 Brands", "Font Awesome 6 Free", "Font Awesome 5 Free" !important;
  font-size: 18px !important;
  color: rgba(255,255,255,0.6) !important;
  -webkit-text-fill-color: rgba(255,255,255,0.6) !important;
}

html body .elementor-location-footer .elementor-social-icon:hover i {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Find Us On Social - single row */
.elementor-element-8f82918 .elementor-social-icons-wrapper.elementor-grid,
.elementor-element-8f82918 .elementor-social-icons-wrapper {
  display: inline-flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 14px !important;
  justify-content: center !important;
  grid-template-columns: unset !important;
}

/* Footer social icons - single row */
html body .elementor-element-58a88eb .elementor-social-icons-wrapper {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  gap: 16px !important;
  grid-template-columns: unset !important;
}

/* Hide duplicate/broken icon widgets */
html body .elementor .elementor-element.elementor-element-da8d2c6 {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}
html body .elementor .elementor-element.elementor-element-7cd1fff7 {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
}

/* Hide dark marble background behind headshot */
.elementor-element-667f855 .elementor-background-slideshow,
.elementor-element-667f855 .elementor-background-slideshow__slide__image {
  display: none !important;
}
