/* ==========================================================================
   Triavo static mirror: mobile cleanup (Oct 27, 2026)
   Phone stacking is scoped to max-width:767px; the ALL WIDTHS block holds desktop fixes.
   Each block is labelled; delete a block to revert that change.
   ========================================================================== */

/* ---- All widths: safe, non-visual fixes ---------------------------------- */
img { max-width: 100%; height: auto; }

/* [VIDEOS] "Stay Informed with Our Newest Health Videos" footer section.
   The YouTube slider was a WordPress shortcode and can't run on the static
   site, so the whole section is hidden. Delete this rule to bring it back. */
.elementor-31 .elementor-element-64240b4 { display: none !important; }

/* [LISTING FILTERS] WP Grid Builder facets (filters / pagination) need
   WordPress admin-ajax and render as empty labels on the static site. */
.elementor-widget-wpgb-facet,
.elementor-104 .elementor-element-28964e0,
.elementor-104 .elementor-element-18a40c8,
.elementor-104 .elementor-element-5140b37,
.elementor-widget-search .e-search.hidden { display: none !important; }

/* Contact details: no glow anywhere */
.elementor-181 .elementor-element-400a451 *,
.elementor-181 .elementor-element-17e1c5e * { text-shadow: none !important; }
a[href^="tel:"], a[href^="mailto:"] { overflow-wrap: anywhere; }
a.tm-tel, .elementor-widget-text-editor a.break-word { color: inherit; text-decoration: underline; }

/* Testimonials "show more" button (JS adds it; mobile only) */
.tm-more-wrap { display: none; }

/* ==========================================================================
   ALL WIDTHS: desktop cleanup pass (Oct 28, 2026)
   Lifted from the phone block below where the finding said so. Phone-only
   stacking (100% widths, 16px gutters) stays inside the media query.
   ========================================================================== */

/* Elementor runtime is frozen (not loaded), so nothing may stay hidden
   waiting for an entrance animation. */
.elementor-invisible { visibility: visible !important; }
.elementor .animated { animation: none !important; }

/* ---- [GREY BAND + BOXED CARD] (H3) ---------------------------------------- */
body.page-template-default .entry-hero.page-hero-section,
body.single-listing .entry-hero,
body.single-team-member .entry-hero { display: none !important; }
body.page-template-default .content-area,
body.single-listing .content-area,
body.single-team-member .content-area { margin-top: 0 !important; margin-bottom: 0 !important; }
body.page-template-default .content-container.site-container,
body.single-listing .content-container.site-container,
body.single-team-member .content-container.site-container { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
body.page-template-default .entry.single-entry,
body.single-listing .entry.single-entry,
body.single-team-member .entry.single-entry { margin: 0 !important; box-shadow: none !important; border-radius: 0 !important; }
body.page-template-default .entry-content-wrap,
body.single-listing .entry-content-wrap,
body.single-team-member .entry-content-wrap { padding: 0 !important; }
body.page-template-default .entry-content,
body.single-listing .entry-content { margin: 0 !important; }

/* ---- [FORMS] visible fields + navy Send button (H4) ------------------------ */
.elementor-form input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=hidden]),
.elementor-form textarea, .elementor-form select, .elementor-form .elementor-field-textual {
  border: 1px solid #8a94a6 !important; background: #fff !important; color: #1b1b1b !important;
  border-radius: 4px !important; min-height: 44px; padding: 10px 12px !important; font-size: 16px !important;
}
.elementor-form textarea { min-height: 110px; }
.elementor-form input:focus, .elementor-form textarea:focus, .elementor-form select:focus {
  outline: 2px solid #1d3775 !important; outline-offset: 1px; border-color: #1d3775 !important;
}
.elementor-form .elementor-button[type=submit], .elementor-form button.elementor-button {
  min-height: 48px; background: #1d3775 !important; color: #fff !important; border: 0 !important;
  border-radius: 4px !important; font-size: 16px !important; font-weight: 600 !important; cursor: pointer;
}
.elementor-form .elementor-button[type=submit] * { color: #fff !important; }
.elementor-form .elementor-button[type=submit]:hover { background: #142a5c !important; }
/* Forms sitting on a navy section (listing detail pages): light button */
body.single-listing .elementor-form .elementor-button[type=submit] { background: #8DBF21 !important; color: #10203f !important; }
body.single-listing .elementor-form .elementor-button[type=submit] * { color: #10203f !important; }
.elementor-form .elementor-field-group .elementor-field-label { margin-bottom: 4px; }

/* ---- [EMPTY PANELS] (H5, H7) -------------------------------------------------- */
/* Media carousels: slide images are broken in the source (url(&)), hide everywhere */
.elementor-widget-media-carousel { display: none !important; }
/* Listings: empty WP Grid Builder map panel; grid takes the full width */
.elementor-104 .elementor-element-8f7bd83 { display: none !important; }
.elementor-104 .elementor-element-d60d2ba { min-height: 0 !important; --min-height: 0px; }
.elementor-104 .elementor-element-0591a06 { --width: 100% !important; width: 100% !important; max-width: 100% !important; }

/* ---- [TESTIMONIALS H1] no mid-word break (H8) ------------------------------- */
.elementor-1067 .elementor-element-e91a56b .elementor-heading-title,
.elementor h1.elementor-heading-title, .elementor h2.elementor-heading-title {
  word-break: normal !important; overflow-wrap: normal !important; hyphens: manual !important;
}
@media (min-width: 768px) {
  .elementor-1067 .elementor-element-e91a56b .elementor-heading-title { font-size: clamp(40px, 4.4vw, 64px) !important; }
}

/* ---- [HOME HERO] photo + navy overlay (H10) --------------------------------- */
.elementor-15 .elementor-element.elementor-element-56fe602 {
  background-color: #1d3775 !important;
  background-image: url("/wp-content/uploads/2025/04/743A0083.jpg") !important;
  background-size: cover !important; background-position: center 35% !important; background-repeat: no-repeat !important;
  --overlay-opacity: 0.78; position: relative;
}
.elementor-15 .elementor-element.elementor-element-56fe602::before {
  content: "" !important; position: absolute; inset: 0; background: #1d3775 !important; opacity: 0.78 !important; z-index: 0; pointer-events: none;
}
.elementor-15 .elementor-element.elementor-element-56fe602 > .e-con-inner { position: relative; z-index: 1; }
.elementor-15 .elementor-element-56fe602 h1, .elementor-15 .elementor-element-56fe602 h2,
.elementor-15 .elementor-element-56fe602 p { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,.25); }
@media (min-width: 768px) {
  .elementor-15 .elementor-element.elementor-element-56fe602 { --min-height: 560px; min-height: 560px; }
}


/* ---- [ELEMENTOR FREEZE] (H1, M2, M14, L11) -------------------------------
   Elementor / Elementor Pro / Happy Addons runtime scripts are no longer
   loaded. Everything they used to drive is static CSS below. */
/* Sticky header at all widths (CSS only) */
.elementor-location-header { position: sticky !important; top: 0; z-index: 1000; background: #fff; }
.elementor-location-header > .e-con { position: relative !important; top: auto !important; }
.elementor-sticky__spacer { display: none !important; }
#masthead, .site-header { position: static !important; }
.elementor-location-header > .e-con { box-shadow: 0 1px 0 rgba(29,55,117,.12); }
/* Dead popup (2013) and Elementor lightbox: never shown */
.elementor-location-popup, [data-elementor-type="popup"] { display: none !important; }

/* Nested testimonial carousels: static row of cards */
.elementor-widget-n-carousel .e-n-carousel { overflow: visible !important; }
.elementor-widget-n-carousel .swiper-wrapper {
  display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px;
  transform: none !important; width: 100% !important; height: auto !important;
}
.elementor-widget-n-carousel .swiper-slide { width: auto !important; height: auto !important; margin: 0 !important; display: flex; }
.elementor-widget-n-carousel .swiper-slide > .e-con { width: 100% !important; height: 100%; }
.elementor-widget-n-carousel .swiper-pagination, .elementor-widget-n-carousel .elementor-swiper-button { display: none !important; }
@media (max-width: 1024px) { .elementor-widget-n-carousel .swiper-wrapper { grid-template-columns: 1fr; gap: 16px; } }

/* ---- [STORY TIMELINE] (H6) ----------------------------------------------- */
.ha-horizontal-timeline .slick-prev, .ha-horizontal-timeline .slick-next,
.ha-horizontal-timeline .ha-horizontal-timeline-arrow { display: none !important; }
.ha-horizontal-timeline .ha-horizontal-timeline-wrapper { display: block !important; }
.ha-horizontal-timeline .ha-horizontal-timeline-inner { padding: 0 !important; }
.ha-horizontal-timeline .ha-horizontal-timeline-top-inner { display: none !important; }
@media (min-width: 768px) {
  .ha-horizontal-timeline .ha-horizontal-timeline-block {
    display: grid !important; grid-template-columns: minmax(0, 1fr) 360px; grid-template-rows: auto 1fr;
    column-gap: 48px; row-gap: 8px; width: 100% !important; max-width: 1000px; margin: 0 auto !important;
    padding: 32px 0 !important; border-bottom: 1px solid #e2e6ee; float: none !important;
  }
  .ha-horizontal-timeline .ha-horizontal-timeline-block:last-child { border-bottom: 0; }
  .ha-horizontal-timeline .ha-horizontal-timeline-content,
  .ha-horizontal-timeline .ha-horizontal-timeline-inner { display: contents !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-icon-box { grid-column: 1; grid-row: 1; padding: 0 !important; margin: 0 !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-date { font-size: 40px !important; line-height: 1.1; font-weight: 700; color: #1d3775 !important; position: static !important; display: block; transform: none !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-title { grid-column: 1; grid-row: 2; align-self: start; margin: 0 !important; font-size: 22px !important; line-height: 1.4 !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-image { grid-column: 2; grid-row: 1 / span 2; margin: 0 !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-image img { width: 360px !important; height: 270px !important; object-fit: cover; border-radius: 6px; display: block; }
}

/* ---- [PORTFOLIO] one static grid of all exited deals (H9) ------------------ */
.elementor-177 .elementor-loop-container.tm-portfolio-static { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { .elementor-177 .elementor-loop-container.tm-portfolio-static { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.elementor-177 .elementor-loop-container .elementor-widget-image img { width: 100% !important; height: 170px !important; object-fit: contain !important; background: #fff; }
.elementor-177 .elementor-loop-container .e-loop-item > a { height: 100%; }

/* ---- [NAV] Free Consultation CTA + labels (M1) ---------------------------- */
.elementor-nav-menu .menu-item-static-cta > a.elementor-item.tm-nav-cta {
  background: #1d3775; color: #fff !important; border-radius: 4px; padding: 10px 16px !important; margin-left: 8px; font-weight: 600;
}
.elementor-nav-menu .menu-item-static-cta > a.elementor-item.tm-nav-cta:hover { background: #142a5c; color: #fff !important; }
.elementor-nav-menu .menu-item-static-cta > a.tm-nav-cta::after, .elementor-nav-menu .menu-item-static-cta > a.tm-nav-cta::before { display: none !important; }
.elementor-345 .elementor-element.elementor-element-2e7d19ea { --e-nav-menu-horizontal-menu-item-margin: 3px; }
.elementor-345 .elementor-element-2e7d19ea .elementor-nav-menu--main > .elementor-nav-menu { flex-wrap: nowrap !important; align-items: center; }
.elementor-345 .elementor-element-2e7d19ea .elementor-nav-menu--main .elementor-item { white-space: nowrap; }
@media (min-width: 1025px) and (max-width: 1300px) {
  .elementor-345 .elementor-element-2e7d19ea .elementor-nav-menu--main .elementor-item { font-size: 14px !important; padding-left: 4px !important; padding-right: 4px !important; }
  .elementor-345 .elementor-element-2e7d19ea .elementor-nav-menu--main .elementor-item.tm-nav-cta { padding: 8px 10px !important; margin-left: 4px; }
  .elementor-345 .elementor-element-4c0fbb3 { display: none !important; }
}
@media (min-width: 1025px) and (max-width: 1150px) {
  .elementor-345 .elementor-element-2e7d19ea .elementor-nav-menu--main .elementor-item { font-size: 13px !important; padding-left: 3px !important; padding-right: 3px !important; }
  .elementor-345 .elementor-element-bffec13 img { max-width: 96px !important; }
}

/* ---- [CONTRAST] (M3) ------------------------------------------------------- */
.elementor-345 .elementor-element.elementor-element-2e7d19ea .elementor-nav-menu--main .elementor-item.elementor-item-active:not(.tm-nav-cta) { color: #4E7A10 !important; }
.elementor-31 .elementor-nav-menu--main .elementor-item.elementor-item-active { color: #1d3775 !important; text-decoration: underline; text-underline-offset: 4px; }
.elementor-15 .elementor-element.elementor-element-8ab6850 .elementor-icon-box-description,
.elementor-15 .elementor-element.elementor-element-36321cf .elementor-icon-box-description,
.elementor-15 .elementor-element.elementor-element-d04454d .elementor-icon-box-description,
.elementor-1536 .elementor-element.elementor-element-7a855eb .elementor-heading-title,
.elementor-173 .elementor-element.elementor-element-47c39a5 .elementor-heading-title,
.elementor-173 .elementor-element.elementor-element-3bb1a29 .elementor-icon-box-description,
.elementor-173 .elementor-element.elementor-element-9a174db .elementor-icon-box-description,
.elementor-173 .elementor-element.elementor-element-a19f53e .elementor-icon-box-description,
.elementor-177 .elementor-element.elementor-element-c153fca .elementor-heading-title,
.elementor-1982 .elementor-element.elementor-element-3bb1a29 .elementor-icon-box-description,
.elementor-1982 .elementor-element.elementor-element-9a174db .elementor-icon-box-description,
.elementor-1982 .elementor-element.elementor-element-a19f53e .elementor-icon-box-description,
.elementor-1997 .elementor-element.elementor-element-3bb1a29 .elementor-icon-box-description,
.elementor-1997 .elementor-element.elementor-element-9a174db .elementor-icon-box-description,
.elementor-1997 .elementor-element.elementor-element-a19f53e .elementor-icon-box-description,
.elementor-31 .elementor-element.elementor-element-72db783 .elementor-heading-title { color: #666 !important; }

/* ---- [LISTING DETAIL] shorter hero, H1, sold note (M5) --------------------- */
.elementor-1659 .elementor-element.elementor-element-2b58d869 { --min-height: 460px !important; min-height: 460px !important; }
.elementor-822 .elementor-element.elementor-element-778bd88 { --min-height: 0px !important; min-height: 0 !important; }
body.single-listing h1.elementor-heading-title { margin: 0; }
.elementor-1659 .elementor-element.elementor-element-12c8b353 { --min-height: 460px !important; min-height: 460px !important; }
.elementor-822 .elementor-element.elementor-element-32bfdf7 { --min-height: 0px !important; min-height: 0 !important; }
body.single-listing .elementor-1659 .elementor-element-12f688dc img[src*="/uploads/2024/"],
body.single-listing .elementor-1659 .elementor-element-12f688dc img[src*="/uploads/2025/02/"] {
  opacity: 1 !important; width: auto !important; max-width: 70% !important; max-height: 240px; object-fit: contain; background: #fff; border-radius: 6px; padding: 16px;
}
.tm-sold-note { margin-top: 24px; max-width: 560px; }
.tm-sold-note .tm-sold-text { color: #fff; font: 400 17px/1.6 Montserrat, sans-serif; margin: 0 0 16px; }
.tm-sold-note a.tm-sold-cta { display: inline-block; background: #8DBF21; color: #10203f; font: 600 16px/1.2 Montserrat, sans-serif; padding: 14px 22px; border-radius: 4px; text-decoration: none; margin: 0 16px 10px 0; }
.tm-sold-note a.tm-sold-cta:hover { background: #a3d43a; }
.tm-sold-note a.tm-sold-link { color: #fff; text-decoration: underline; font: 500 15px/1.2 Montserrat, sans-serif; }

/* Images that failed to load (js/static-mirror-mobile.js marks them) */
.tm-img-broken { display: none !important; }

/* END ALL WIDTHS */

/* ==========================================================================
   PHONE (<= 767px)
   ========================================================================== */
@media (max-width: 767px) {

  html, body { overflow-x: hidden; }
  body { -webkit-text-size-adjust: 100%; }

  /* ---- [GREY BAND] Kadence page-title hero is empty on Elementor pages ---- */
  body.page-template-default .entry-hero.page-hero-section { display: none !important; }
  .entry-hero .entry-header { min-height: 0 !important; }
  .entry-hero .entry-hero-container-inner { padding-top: 0 !important; }
  .entry-hero.listing-archive-hero-section .entry-header { padding: 24px 0 8px !important; }
  body.page-template-default .content-area,
  body.single-listing .content-area,
  body.single-team-member .content-area { margin-top: 0 !important; margin-bottom: 0 !important; }

  /* ---- [PADDING] Collapse stacked Kadence + Elementor side padding ---------- */
  body.page-template-default .content-container.site-container,
  body.single-listing .content-container.site-container,
  body.single-team-member .content-container.site-container { padding-left: 0 !important; padding-right: 0 !important; }
  body.page-template-default .entry-content-wrap,
  body.single-listing .entry-content-wrap,
  body.single-team-member .entry-content-wrap { padding: 0 !important; }
  body.page-template-default .entry.single-entry,
  body.single-listing .entry.single-entry,
  body.single-team-member .entry.single-entry { margin: 0 !important; box-shadow: none !important; }

  .e-con-boxed > .e-con-inner { max-width: 100% !important; width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
  .elementor .e-con.e-parent { --padding-left: 16px; --padding-right: 16px; padding-left: 16px !important; padding-right: 16px !important; }
  .elementor .e-con.e-child { padding-left: 0 !important; padding-right: 0 !important; }
  .elementor .e-con.e-child[data-settings*="background_background"] { padding-left: 16px !important; padding-right: 16px !important; }
  .elementor .elementor-widget:not(.elementor-widget-heading:has(span.elementor-heading-title), .elementor-widget-form) > .elementor-widget-container { padding-left: 0 !important; padding-right: 0 !important; }
  .elementor-widget__width-initial:is(.elementor-widget-text-editor, .elementor-widget-heading):not(:has(span.elementor-heading-title)) { --container-widget-width: 100% !important; width: 100% !important; max-width: 100% !important; }
  .elementor-element.e-con-full { --width: 100%; }

  /* Readable body copy */
  .elementor-widget-text-editor, .elementor-widget-text-editor p,
  .elementor-icon-box-description, .elementor-image-box-description { font-size: 16px !important; line-height: 1.55 !important; }

  /* Never break words letter by letter */
  .elementor h1, .elementor h2, .elementor h3, .elementor h4, .elementor h5, .elementor h6,
  .elementor p, .elementor span, .elementor a, .elementor li {
    overflow-wrap: break-word; word-break: normal !important; hyphens: manual !important; -webkit-hyphens: manual !important;
  }
  .elementor-heading-title { overflow-wrap: normal; }

  /* ---- [STAT CARDS] Counter cards ("80+", "100+", "$400M+") --------------- */
  .e-con:has(> .elementor-widget-counter) { padding: 20px 16px !important; min-height: 0 !important; }
  .elementor-widget-counter { width: 100% !important; max-width: 100% !important; }
  .elementor-counter .elementor-counter-number-wrapper {
    font-size: clamp(34px, 11vw, 46px) !important; white-space: nowrap !important; justify-content: flex-start;
    overflow-wrap: normal !important; word-break: normal !important;
  }
  .elementor-counter .elementor-counter-title, .elementor-counter .elementor-counter-title * {
    white-space: normal !important; overflow-wrap: normal !important; word-break: normal !important; hyphens: none !important;
  }
  .e-con:has(.elementor-widget-counter) { --gap: 12px; }

  /* ---- [M&A BLOCK / STEP CARDS] force horizontal, full-width text -------- */
  .elementor * { writing-mode: horizontal-tb !important; letter-spacing: normal; }
  .elementor-widget-button .elementor-button { white-space: normal; }
  .elementor-widget-button.elementor-widget__width-initial,
  .elementor-widget-button.elementor-widget__width-auto { width: auto !important; max-width: 100% !important; }
  .elementor-button .elementor-button-text { white-space: nowrap; }
  .elementor-widget-icon-box .elementor-icon-box-wrapper { text-align: left; }
  .elementor-widget-icon-box .elementor-icon-box-title { overflow-wrap: normal !important; }

  /* ---- [FORMS] ------------------------------------------------------------ */
  .elementor-form .elementor-field-group { width: 100% !important; max-width: 100% !important; flex-basis: 100% !important; }
  .elementor-form input:not([type=checkbox]):not([type=radio]):not([type=submit]),
  .elementor-form textarea, .elementor-form select, .elementor-field-textual {
    font-size: 16px !important; width: 100% !important; min-height: 44px; border: 1px solid #8a94a6 !important;
    background: #fff !important; color: #1b1b1b !important; border-radius: 4px; padding: 10px 12px !important;
  }
  .elementor-form textarea { min-height: 110px; }
  .elementor .elementor-widget.elementor-widget-form > .elementor-widget-container { padding: 16px 16px 20px !important; }
  .elementor-form label, .elementor-field-label { font-size: 15px !important; color: #1b1b1b !important; }
  .elementor-form .elementor-field-type-submit, .elementor-form .e-form__buttons { width: 100% !important; flex-basis: 100% !important; }
  .elementor-form .elementor-button[type=submit], .elementor-form button.elementor-button {
    width: 100% !important; min-height: 48px; background: #1d3775 !important; color: #fff !important;
    border: 0 !important; border-radius: 4px; font-size: 16px !important; font-weight: 600;
  }
  .elementor-form .elementor-button[type=submit] * { color: #fff !important; }

  /* ---- [HEADER] one sticky header, bigger logo + hamburger ---------------- */
  .elementor-location-header { position: sticky !important; top: 0; z-index: 1000; background: #fff; }
  .elementor-location-header > .e-con { position: relative !important; top: auto !important; }
  .elementor-sticky__spacer { display: none !important; }
  #masthead, .site-header { position: static !important; }
  .elementor-location-header .elementor-widget-image img { width: 104px !important; max-width: 104px !important; height: auto !important; }
  .elementor-location-header .elementor-widget-icon .elementor-icon {
    min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center;
    font-size: 30px !important;
  }
  .elementor-location-header .elementor-widget-icon .elementor-icon svg { width: 30px; height: 30px; }
  .elementor-location-header .elementor-element-22263400 { padding-top: 8px !important; padding-bottom: 8px !important; }

  /* Happy Addons scroll-to-top: keep clear of the Tidio bubble */
  .ha-scroll-to-top-wrap .ha-scroll-to-top-button, .ha-scroll-to-top-button { bottom: 96px !important; right: 18px !important; left: auto !important; }

  /* ---- [FOOTER] ------------------------------------------------------------ */
  .elementor-31 .elementor-element-ccceaae { padding-top: 24px !important; padding-bottom: 24px !important; --gap: 8px; }
  .elementor-31 .elementor-element-ccceaae > .e-con-inner { gap: 8px !important; }
  .elementor-31 .elementor-nav-menu--main .elementor-item {
    padding: 11px 0 !important; min-height: 44px; display: flex !important; align-items: center; font-size: 16px !important;
  }
  .elementor-31 .elementor-element-e288018 a, .elementor-31 .elementor-element-e288018 div { font-size: 15px; line-height: 1.5; }
  .elementor-31 .elementor-element-e288018 a { display: inline-block; padding: 8px 0; color: inherit; }
  .elementor-31 .elementor-element-10d5bb95 img { max-width: 140px !important; }
  .elementor-31 .elementor-element-10d5bb95, .elementor-31 .elementor-element-5f7ad051 { margin-top: 0 !important; padding-top: 0 !important; }
  .elementor-31 .elementor-element-ccceaae > .e-con-inner { padding-top: 0 !important; padding-bottom: 0 !important; }
  .elementor-31 .elementor-element-40b15865, .elementor-31 .elementor-element-3f26191a { padding-top: 0 !important; padding-bottom: 0 !important; gap: 4px !important; }
  .elementor-31 .elementor-element-5f7ad051 { gap: 12px !important; }
  .elementor-31 .elementor-element-e288018 p:empty, .elementor-31 .elementor-element-e288018 p:last-child { display: none; }
  .elementor-31 .ha-social-icon { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }

  /* ---- [CONTACT PAGE] ------------------------------------------------------ */
  .elementor-181 .elementor-element-400a451 h4,
  .elementor-181 .elementor-element-400a451 .elementor-widget-text-editor,
  .elementor-181 .elementor-element-400a451 p { text-align: left !important; font-size: 17px !important; line-height: 1.5 !important; }
  .elementor-181 .elementor-element-400a451 a[href^="mailto:"] { overflow-wrap: anywhere; word-break: normal !important; }
  .elementor-181 .elementor-element-17e1c5e h3 { font-size: 18px !important; line-height: 1.45 !important; text-align: left !important; }
  .elementor-181 .elementor-spacer-inner { height: 16px !important; }

  /* ---- [APPROACH] step cards full width, tighter ---------------------------- */
  .e-con:has(> .elementor-widget-icon-box) { width: 100% !important; max-width: 100% !important; --width: 100%; padding: 20px 16px !important; }
  .elementor-widget-icon-box .elementor-icon-box-description { text-align: left !important; }
  .elementor-widget-spacer .elementor-spacer-inner { max-height: 24px; }
  /* Media carousels need the Elementor runtime; on the static site they are empty boxes */
  .elementor-widget-media-carousel { display: none !important; }

  /* ---- [HOME SECTORS] 2-column grid, tighter cards ------------------------- */
  .elementor-15 .elementor-element-5d80f95d > .e-con-inner {
    display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important;
  }
  .elementor-15 .elementor-element-5d80f95d > .e-con-inner > .e-con { padding: 10px !important; min-height: 0 !important; --gap: 6px; gap: 6px !important; }
  .elementor-15 .elementor-element-5d80f95d .elementor-widget-image img { width: 100% !important; height: 96px !important; object-fit: cover; border-radius: 4px; }
  .elementor-15 .elementor-element-5d80f95d .elementor-icon-box-title { font-size: 17px !important; line-height: 1.2 !important; margin: 4px 0 !important; }
  .elementor-15 .elementor-element-5d80f95d .elementor-icon-box-description { font-size: 13.5px !important; line-height: 1.45 !important; }
  .tm-img-broken { display: none !important; }

  /* ---- [PORTFOLIO + LISTING GRIDS] ---------------------------------------- */
  .elementor-widget-loop-grid .elementor-loop-container { --grid-column-gap: 12px; --grid-row-gap: 16px; }
  .elementor-177 .elementor-widget-loop-grid .elementor-loop-container { grid-template-columns: 1fr 1fr !important; }
  .elementor-widget-loop-grid .elementor-widget-image img,
  .elementor-loop-container .elementor-widget-image img {
    width: 100% !important; height: auto !important; max-height: 150px !important; object-fit: contain !important; aspect-ratio: auto;
  }
  .elementor-177 .elementor-loop-container .elementor-widget-image img { max-height: 120px !important; }
  .elementor-177 .elementor-loop-container .elementor-heading-title { font-size: 15px !important; line-height: 1.3 !important; }
  .elementor-177 h1.elementor-heading-title, .elementor-177 h2.elementor-heading-title { overflow-wrap: normal !important; word-break: normal !important; }
  h1.elementor-heading-title { font-size: clamp(30px, 9vw, 40px) !important; line-height: 1.15 !important; }

  /* Listings page: empty 500px image column + tall min-height on phones */
  .elementor-104 .elementor-element-8f7bd83 { display: none !important; }
  .elementor-104 .elementor-element-d60d2ba { min-height: 0 !important; }

  /* Kadence listing archives (status / category pages) */
  .kadence-posts-list .entry-content-wrap { padding: 18px !important; }
  .kadence-posts-list .post-thumbnail img, .kadence-posts-list img { max-height: 160px; object-fit: contain; width: 100%; }
  .kadence-posts-list .entry-title { font-size: 20px !important; }

  /* ---- [LISTING DETAIL] shrink the oversized placeholder logo hero ---------- */
  body.single-listing #inner-wrap .elementor-widget-image img,
  body.single-listing #inner-wrap .elementor-widget-theme-post-featured-image img { max-height: 140px !important; width: auto !important; object-fit: contain; margin: 0 auto; display: block; }
  body.single-listing #inner-wrap .e-con.e-parent:first-child { min-height: 0 !important; }
  body.single-listing #inner-wrap .e-con:has(> .elementor-widget-image) { min-height: 0 !important; padding-top: 24px !important; padding-bottom: 24px !important; }

  /* ---- [TESTIMONIALS] ------------------------------------------------------ */
  .tm-collapsed { display: none !important; }
  .tm-more-wrap { display: flex; justify-content: center; padding: 8px 16px 32px; }
  .tm-more-btn {
    background: #1d3775; color: #fff; border: 0; border-radius: 4px; min-height: 48px; padding: 12px 24px;
    font: 600 16px/1.2 Montserrat, sans-serif; width: 100%; max-width: 340px; cursor: pointer;
  }
  .elementor-widget-ha-testimonial .ha-testimonial__content { font-size: 15px !important; line-height: 1.55 !important; }
  .e-con:has(> .elementor-widget-ha-testimonial) { padding-top: 28px !important; padding-bottom: 28px !important; min-height: 0 !important; }

  /* ---- [STORY] timeline: slider never initialises on static, so show it as
     a clean vertical list and drop the overlapping arrows ------------------ */
  .ha-horizontal-timeline .slick-prev, .ha-horizontal-timeline .slick-next,
  .ha-horizontal-timeline .ha-horizontal-timeline-arrow { display: none !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-block { width: 100% !important; padding: 0 0 20px !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-inner { padding: 0 !important; }
  .ha-horizontal-timeline .ha-horizontal-timeline-image img { width: 100% !important; max-height: 220px; object-fit: cover; border-radius: 4px; }
}
