/*!
Theme Name: Kava Child
Theme URI:
Author: Zemez
Author URI:
Description: Kava child theme.
Template: kava
Version: 1.0.1
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
Text Domain: kava-child
*/

/* ==========================================================================
   TPG Responsive Fixes — 2026-03-16 (v2: corrected selectors)
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. PREVENT HORIZONTAL OVERFLOW
   -------------------------------------------------------------------------- */
html, body {
  overflow-x: hidden;
}

/* --------------------------------------------------------------------------
   2. GLOBAL SIDE PADDING — ALL VIEWPORTS
   Problem: e-con-full parent containers have --padding-left/right: 0vw.
   Elementor applies padding via CSS custom properties on .e-con elements.
   e-con-full has NO .e-con-inner child — content is direct.
   Only target .e-parent (top-level) to avoid breaking nested containers.
   -------------------------------------------------------------------------- */

/* All parent containers get side padding via Elementor's CSS custom properties.
   Works for both e-con-full and e-con-boxed (Elementor uses these vars on all .e-con). */
.e-con.e-parent {
  --padding-left: 3vw !important;
  --padding-right: 3vw !important;
}

/* Exceptions: header and hero slider containers stay edge-to-edge.
   Footer background bleeds edge-to-edge but content gets padding via e-con-inner. */
.elementor-12 .e-con.e-parent,
.elementor-1186 .e-con.e-parent,
.elementor-30 .e-con.e-parent,
.e-con.e-parent[data-id="b206400"],
.e-con.e-parent[data-id="34aed88"],
.e-con.e-parent[data-id="f45daf9"] {
  --padding-left: 0px !important;
  --padding-right: 0px !important;
}

/* Footer content padding — applied on e-con-inner so background color
   still extends full width while content has breathing room. */
.elementor-30 .e-con.e-parent > .e-con-inner {
  padding-left: 3vw !important;
  padding-right: 3vw !important;
}

/* Search box height fix — the nav bar container uses --min-height: 13.4vh
   and --container-widget-height: 100%, making the search field stretch to
   the full nav height. Fix the entire height chain from widget down to input. */
.elementor-12 .elementor-element.elementor-element-e41683c {
  height: auto !important;
  align-self: center !important;
}
/* The widget container has the gold border. Set it to 40px, full width,
   and make everything inside fill it naturally. */
.elementor-12 .elementor-element.elementor-element-e41683c > .elementor-widget-container {
  height: 40px !important;
  border-width: 2px !important;
  border-style: solid !important;
  border-color: #7B5912 !important;
  border-radius: 4px !important;
  position: relative !important;
}
.elementor-12 .elementor-element.elementor-element-e41683c .elementor-jet-search,
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search {
  height: 100% !important;
  width: 100% !important;
}
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__form {
  height: 100% !important;
  width: 100% !important;
  position: relative !important;
}
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__label {
  height: 100% !important;
}
/* Barcode icon — left-aligned inside input field */
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__field {
  height: 100% !important;
  width: 100% !important;
  padding-left: 32px !important;
  font-size: 13px !important;
}
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__form::before {
  content: "" !important;
  position: absolute !important;
  left: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 18px !important;
  height: 18px !important;
  z-index: 1 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237B5912' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 5v-2h4'/%3E%3Cpath d='M3 19v2h4'/%3E%3Cpath d='M21 5v-2h-4'/%3E%3Cpath d='M21 19v2h-4'/%3E%3Cline x1='7' y1='8' x2='7' y2='16'/%3E%3Cline x1='11' y1='8' x2='11' y2='16'/%3E%3Cline x1='15' y1='8' x2='15' y2='16'/%3E%3Cline x1='19' y1='8' x2='19' y2='16'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-size: contain !important;
}
/* Submit button — right-aligned, properly sized */
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__submit {
  position: absolute !important;
  right: 0 !important;
  top: 0 !important;
  height: 100% !important;
  padding: 5px 8px !important;
}
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__submit-icon {
  font-size: 16px !important;
}
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__submit-icon svg {
  width: 16px !important;
  height: 16px !important;
}

/* =============================================
   HEADER — Match shop.theportlandgroup.com
   Row 2: Social bar (d148e97) — 41px
   Row 3: Logo+Search (c0c60a5) — 100px
   Row 4: Nav (f45daf9) — 40px
   Promo banner (Row 1) intentionally omitted.
   Register/Login/Cart intentionally omitted.
   ============================================= */

/* Row 2: Social bar — was 3vh (~65px), target 41px */
.elementor-12 .elementor-element.elementor-element-d148e97 {
  --min-height: 41px !important;
  min-height: 41px !important;
  max-height: 41px !important;
}

/* Row 3: Logo + Search — was 10vh (~190px), target 100px */
.elementor-12 .elementor-element.elementor-element-c0c60a5 {
  --min-height: 100px !important;
  min-height: 100px !important;
  max-height: 100px !important;
  background-color: rgb(250, 250, 250) !important;
}

/* Row 3: Search input — add gold border to match shop */
.elementor-12 .elementor-element.elementor-element-e41683c .jet-search__field {
  border: 1px solid #AA822C !important;
  border-radius: 3px !important;
}

/* Row 3: Logo — scale SVG to match shop's 300x25px proportions */
.elementor-12 .elementor-element.elementor-element-5ae2c91 img {
  max-width: 330px !important;
  max-height: 28px !important;
  width: auto !important;
  height: auto !important;
}

/* Row 4: Nav bar — was 4.6vh (~65px), target 40px */
.elementor-12 .elementor-element.elementor-element-f45daf9 {
  --min-height: 40px !important;
  min-height: 40px !important;
  max-height: 40px !important;
}

/* Row 4: Nav links — color to dark gold, weight 700 */
.elementor-12 .elementor-element.elementor-element-eb4e198 .jet-mega-menu-item__link--top-level .jet-mega-menu-item__label {
  color: #7B5912 !important;
  font-weight: 700 !important;
}

/* ================================================
   TYPOGRAPHY STANDARD — TPG InfoSite
   Established: 2026-03-28

   ARCHITECTURE NOTE:
   Elementor writes font sizes as inline styles on widgets.
   Inline styles override stylesheet rules regardless of specificity.
   Global bare selectors (h1, h2, p) cannot win here.
   All type enforcement must be scoped per-widget with !important.
   The clamp() rules below ARE the type system — do not replace them
   with unscoped global rules.

   TIER REFERENCE (use these ranges when adding new clamp rules):
   ┌──────────────┬───────────────────────┬──────────────────────┐
   │ Tier         │ clamp() range         │ Used for             │
   ├──────────────┼───────────────────────┼──────────────────────┤
   │ Small/label  │ clamp(12px, 0.9vw,    │ Badges, captions,    │
   │              │ 14px)                 │ footer, forms        │
   ├──────────────┼───────────────────────┼──────────────────────┤
   │ Body         │ clamp(15px, 1.1vw,    │ All body copy,       │
   │              │ 18px)                 │ descriptions         │
   ├──────────────┼───────────────────────┼──────────────────────┤
   │ Sub-heading  │ clamp(20px, 1.8vw,    │ Section subheadings, │
   │              │ 28px)                 │ hero subtitles       │
   ├──────────────┼───────────────────────┼──────────────────────┤
   │ Heading      │ clamp(24px, 2vw,      │ H2 section headings  │
   │              │ 32px)                 │                      │
   ├──────────────┼───────────────────────┼──────────────────────┤
   │ Display      │ Caro's domain —       │ Slider headlines,    │
   │              │ do not set here       │ banner titles        │
   └──────────────┴───────────────────────┴──────────────────────┘

   FLOORS: Body never below 15px. Nothing ever below 12px.
   Nav: already protected via clamp(13px, 1vw, 16px) at nav section.
   Banner/display text: Caro owns this — do not add rules for it here.
   Font family: pending Caro confirmation — do not add font-family rules yet.
   ================================================ */

/* Kill Elementor global Text role (1.15vw — no floor) */
:root {
  --e-global-typography-text-font-size: 16px;
}

/* --------------------------------------------------------------------------
   3. FONT CLAMPING
   Per-widget clamp() rules enforce type tiers. Do not replace with global
   selectors — they cannot beat Elementor inline styles.

   Jet Headlines ARE safe to clamp globally — they're only used for large hero
   text, never body copy.
   -------------------------------------------------------------------------- */

/* Jet Headlines — floor at 20px, scale with viewport, cap at 32px */ /* tier: heading */
.jet-headline__first .jet-headline__label,
.jet-headline__second .jet-headline__label {
  font-size: clamp(20px, 2vw, 32px) !important;
}

/* Safety net — catches text-editor widgets not yet individually clamped.
   Scoped to text-editor only; excludes heading widgets entirely
   (headings are either display-tier/Caro's domain or already clamped). */
.elementor-widget-text-editor .elementor-widget-container p {
  font-size: clamp(15px, 1.1vw, 18px) !important;
  line-height: 1.6 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}
.elementor-widget-text-editor .elementor-widget-container li {
  font-size: clamp(15px, 1.1vw, 18px) !important;
  line-height: 1.6 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}

/* --------------------------------------------------------------------------
   4. TABLET (768px – 1024px)
   -------------------------------------------------------------------------- */

@media (max-width: 1024px) {

  /* Side padding increases at tablet (exclude header/footer) */
  .e-con.e-parent {
    --padding-left: 30px !important;
    --padding-right: 30px !important;
  }
  .elementor-12 .e-con.e-parent,
  .elementor-1186 .e-con.e-parent {
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }

  /* Hero slider — reduce height at tablet */
  .elementor-9 .elementor-element.elementor-element-b206400 {
    --min-height: 400px !important;
    max-height: 400px !important;
  }
  .jet-slider .slider-pro,
  .elementor-widget-jet-slider .slider-pro {
    max-height: 400px !important;
  }
  .elementor-widget-jet-slider .sp-mask,
  .elementor-widget-jet-slider .jet-slider__item.sp-slide {
    max-height: 400px !important;
    height: 400px !important;
  }

  /* Internal page banners — tablet */
  .elementor-element.elementor-element-01ae492,
  .elementor-element.elementor-element-e729616,
  .elementor-element.elementor-element-6cb221b,
  .elementor-element.elementor-element-79c7c44b,
  .elementor-element.elementor-element-4905fdb1,
  .elementor-246 .elementor-element.elementor-element-7a7fb32 {
    --min-height: 280px !important;
    max-height: 280px !important;
  }

  /* Grid layouts: 4-col → 2-col at tablet (Meet the Team, etc.) */
  .e-grid.e-con {
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Home page 3-card flex layout → 2 columns */
  .elementor-9 .elementor-element.elementor-element-6dd1411 {
    flex-wrap: wrap !important;
  }
  .elementor-9 .elementor-element.elementor-element-2a54408,
  .elementor-9 .elementor-element.elementor-element-5315d72,
  .elementor-9 .elementor-element.elementor-element-6a4acb4 {
    --width: 50% !important;
    flex: 0 0 50% !important;
    max-width: 50% !important;
  }

  /* Map section (global — all pages with maps) */
  .jet-map-listing {
    height: 60vh !important;
  }
  /* Homepage map — override global */
  .elementor-9 .elementor-element.elementor-element-5bb4f94 {
    --min-height: 380px !important;
    max-height: 380px !important;
  }
  .elementor-9 .elementor-element.elementor-element-acc0c02 .jet-map-listing {
    height: 380px !important;
    max-height: 380px !important;
  }

  /* Footer map — tablet */
  .elementor-element-7b57a58 {
    --min-height: 300px !important;
    max-height: 300px !important;
  }
  .elementor-element-96b8e05 .jet-map-listing {
    height: 300px !important;
    max-height: 300px !important;
  }

  /* Accordion titles */
  .e-n-accordion-item-title-text {
    font-size: 15px !important;
  }

  /* Form elements */
  .jet-form-builder__field:not(.checkradio-field) {
    font-size: 14px !important;
  }
  .jet-form-builder__action-button {
    font-size: 14px !important;
  }

  /* --- Footer responsive: tablet --- */

  /* Columns wrap + padding */
  .elementor-30 .e-con.e-parent > .e-con-inner {
    flex-wrap: wrap !important;
    padding-left: 30px !important;
    padding-right: 30px !important;
  }

  /* Hide social media description text */
  .elementor-30 .elementor-element.elementor-element-d629e35,
  .elementor-30 .elementor-element.elementor-element-828d8fc,
  .elementor-30 .elementor-element.elementor-element-ae10e57 {
    display: none !important;
  }

  /* Hide the map section entirely at tablet */
  .elementor-30 .elementor-element.elementor-element-7b57a58 {
    display: none !important;
  }

  /* Logo + mission column: full width, centered */
  .elementor-30 .elementor-element.elementor-element-c2502e5 {
    --width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    align-items: center !important;
    margin-bottom: 25px !important;
  }

  /* Footer top-level columns: full width stacking.
     Target direct children of the main row container (7970f09)
     and e-con-inner, NOT nested containers like social icon links. */
  .elementor-30 .e-con-inner > .e-con.e-child,
  .elementor-30 .elementor-element.elementor-element-7970f09 > .e-con.e-child {
    --width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 20px !important;
  }

  /* Social section: heading on top, icons in a row below */
  .elementor-30 .elementor-element.elementor-element-e24537c {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 12px !important;
    overflow: visible !important;
  }
  /* "Stay Connected" heading: full width so it sits above the icons */
  .elementor-30 .elementor-element.elementor-element-2fe09f7 {
    --width: 100% !important;
    flex: 0 0 100% !important;
    margin-bottom: 4px !important;
  }
  /* Social link containers: small inline icons */
  .elementor-30 .elementor-element.elementor-element-e24537c > a.e-con.e-child {
    --width: auto !important;
    flex: 0 0 auto !important;
    max-width: none !important;
    width: 24px !important;
    height: 24px !important;
    overflow: visible !important;
  }
  .elementor-30 .elementor-element.elementor-element-e24537c .elementor-widget-image img {
    width: 24px !important;
    height: 24px !important;
  }

  /* Hide spacer between Resources and Contact — reduces the white gap */
  .elementor-30 .elementor-element.elementor-element-ea10dc7 {
    display: none !important;
  }

  /* Tighten spacing: reduce bottom margin on Contact section */
  .elementor-30 .elementor-element.elementor-element-dc3948a {
    margin-bottom: 8px !important;
    --padding-right: 0px !important;
  }

  /* Space before Stay Connected — ::before pseudo-element as spacer */
  .elementor-30 .elementor-element.elementor-element-2fe09f7::before {
    content: "" !important;
    display: block !important;
    height: 20px !important;
    width: 100% !important;
  }

  /* Hide "View Branch Profiles" button at tablet — out of place when stacked */
  .elementor-30 .elementor-element.elementor-element-2ab7924 {
    display: none !important;
  }

  /* Contact phone row: stack vertically */
  .elementor-30 .elementor-element.elementor-element-63af846 {
    flex-direction: column !important;
    align-items: flex-start !important;
  }

  /* Row container: allow wrapping */
  .elementor-30 .elementor-element.elementor-element-7970f09 {
    flex-wrap: wrap !important;
  }

  /* Prevent content clipping but contain overflow */
  .elementor-30,
  .elementor-30 .e-con,
  .elementor-30 .e-con-inner {
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }
}

/* --------------------------------------------------------------------------
   5. MOBILE (≤767px)
   -------------------------------------------------------------------------- */

@media (max-width: 767px) {

  /* Side padding at mobile (exclude header/footer) */
  .e-con.e-parent {
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }
  .elementor-12 .e-con.e-parent,
  .elementor-1186 .e-con.e-parent {
    --padding-left: 0px !important;
    --padding-right: 0px !important;
  }

  /* Hero slider — reduce height at mobile */
  .elementor-9 .elementor-element.elementor-element-b206400 {
    --min-height: 300px !important;
    max-height: 300px !important;
  }
  .jet-slider .slider-pro,
  .elementor-widget-jet-slider .slider-pro {
    max-height: 300px !important;
  }
  .elementor-widget-jet-slider .sp-mask,
  .elementor-widget-jet-slider .jet-slider__item.sp-slide {
    max-height: 300px !important;
    height: 300px !important;
  }

  /* Internal page banners — mobile */
  .elementor-element.elementor-element-01ae492,
  .elementor-element.elementor-element-e729616,
  .elementor-element.elementor-element-6cb221b,
  .elementor-element.elementor-element-79c7c44b,
  .elementor-element.elementor-element-4905fdb1,
  .elementor-246 .elementor-element.elementor-element-7a7fb32 {
    --min-height: 200px !important;
    max-height: 200px !important;
  }

  /* Slider headlines */
  .jet-headline__first .jet-headline__label,
  .jet-headline__second .jet-headline__label {
    font-size: clamp(18px, 5vw, 28px) !important; /* tier: sub-heading (mobile-scaled, wider vw for small screens) */
  }

  /* Grid layouts: single column */
  .e-grid.e-con {
    --e-con-grid-template-columns: repeat(1, 1fr) !important;
  }

  /* Flex-row parent containers stack vertically */
  .e-con.e-parent[style*="--flex-direction:row"] {
    flex-wrap: wrap !important;
  }
  .e-con.e-parent[style*="--flex-direction:row"] > .e-con.e-child {
    --width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
  }

  /* Home page 3-card layout → single column */
  .elementor-9 .elementor-element.elementor-element-2a54408,
  .elementor-9 .elementor-element.elementor-element-5315d72,
  .elementor-9 .elementor-element.elementor-element-6a4acb4 {
    --width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
  }

  /* Heading scale for mobile */
  h1, .h1-style { font-size: 28px !important; }
  h2, .h2-style { font-size: 22px !important; }
  h3, .h3-style { font-size: 18px !important; }

  /* Map (global — all pages with maps) */
  .jet-map-listing {
    height: 45vh !important;
  }
  /* Homepage map — override global */
  .elementor-9 .elementor-element.elementor-element-5bb4f94 {
    --min-height: 280px !important;
    max-height: 280px !important;
  }
  .elementor-9 .elementor-element.elementor-element-acc0c02 .jet-map-listing {
    height: 280px !important;
    max-height: 280px !important;
  }

  /* Footer map — mobile */
  .elementor-element-7b57a58 {
    --min-height: 240px !important;
    max-height: 240px !important;
  }
  .elementor-element-96b8e05 .jet-map-listing {
    height: 240px !important;
    max-height: 240px !important;
  }

  /* --- Footer responsive: mobile --- */
  .elementor-30 .e-con-inner {
    flex-direction: column !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .elementor-30 .elementor-widget-text-editor {
    font-size: 13px !important;
  }

  /* Footer top-level columns: full width (same scoping as tablet) */
  .elementor-30 .e-con-inner > .e-con.e-child,
  .elementor-30 .elementor-element.elementor-element-7970f09 > .e-con.e-child {
    --width: 100% !important;
    flex: 0 0 100% !important;
    max-width: 100% !important;
    margin-bottom: 15px !important;
  }

  /* Center logo + mission */
  .elementor-30 .elementor-element.elementor-element-c2502e5 {
    text-align: center !important;
    align-items: center !important;
  }

  /* Social icons: same 24px at mobile */
  .elementor-30 .elementor-element.elementor-element-e24537c > .e-con.e-child {
    width: 24px !important;
    height: 24px !important;
  }
  .elementor-30 .elementor-element.elementor-element-e24537c .elementor-widget-image img {
    width: 24px !important;
    height: 24px !important;
  }

  /* Hide the injected "Find a Branch" button at mobile (redundant with Locations link) */
  .tpg-find-branch-mobile {
    display: none !important;
  }

  /* Spacers — shrink at mobile */
  .elementor-widget-spacer .elementor-spacer-inner {
    min-height: 15vh !important;
  }
}

/* --------------------------------------------------------------------------
   5b. HERO BANNER TEXT — STANDARDIZED SIZES
   Badge (small label): clamp(15px, 1.3vw, 20px)
   Subtitle (large text): clamp(22px, 2vw, 30px)
   Matched to /branches sizing + 2px
   -------------------------------------------------------------------------- */

/* Hero badges */
.elementor-191 .elementor-element.elementor-element-3fda711,
.elementor-2304 .elementor-element.elementor-element-4c4a6032,
.elementor-2672 .elementor-element.elementor-element-4c4a6032,
.elementor-2877 .elementor-element.elementor-element-4204b411,
.elementor-268 .elementor-element.elementor-element-e8984f6,
.elementor-459 .elementor-element.elementor-element-1e9c8cf,
.elementor-2247 .elementor-element.elementor-element-3fda711,
.elementor-2534 .elementor-element.elementor-element-3fda711,
.elementor-1969 .elementor-element.elementor-element-4204b411,
.elementor-2543 .elementor-element.elementor-element-4c4a6032,
.elementor-246 .elementor-element.elementor-element-9997a52 {
  font-size: clamp(15px, 1.3vw, 20px) !important; /* tier: intentional — badge, between small and body */
}

/* Hero subtitles */
.elementor-191 .elementor-element.elementor-element-dcc8dbd,
.elementor-2304 .elementor-element.elementor-element-2186ea6e,
.elementor-2672 .elementor-element.elementor-element-2186ea6e,
.elementor-2877 .elementor-element.elementor-element-582fbd49,
.elementor-268 .elementor-element.elementor-element-4107258,
.elementor-459 .elementor-element.elementor-element-101dd85,
.elementor-2247 .elementor-element.elementor-element-dcc8dbd,
.elementor-2534 .elementor-element.elementor-element-dcc8dbd,
.elementor-1969 .elementor-element.elementor-element-582fbd49,
.elementor-2543 .elementor-element.elementor-element-2186ea6e,
.elementor-246 .elementor-element.elementor-element-b517e7c {
  font-size: clamp(22px, 2vw, 30px) !important; /* tier: sub-heading */
}

/* --------------------------------------------------------------------------
   6. BANNER STANDARDIZATION
   Standard: Meet the Team (459)
   Section heading: system font, 3.2vw, #7B5912
   Section description: system font, 1.6vw, #000000
   -------------------------------------------------------------------------- */

/* --- Section headings (first h2 below hero) ---
   Some pages share element IDs (template reuse):
   84b5d52 = About Us, TPG Gives Back
   35e7e143 = Careers, Line Card
   60629bca = Trainings, Counter Days
   718f411 = Family History
   d2872e0 = Contact Us
*/
.elementor-191 .elementor-element.elementor-element-84b5d52 .elementor-heading-title,
.elementor-268 .elementor-element.elementor-element-718f411 .elementor-heading-title,
.elementor-459 .elementor-element.elementor-element-929995c .elementor-heading-title,
.elementor-1969 .elementor-element.elementor-element-60629bca .elementor-heading-title,
.elementor-2247 .elementor-element.elementor-element-84b5d52 .elementor-heading-title,
.elementor-2304 .elementor-element.elementor-element-35e7e143 .elementor-heading-title,
.elementor-2534 .elementor-element.elementor-element-84b5d52 .elementor-heading-title,
.elementor-2543 .elementor-element.elementor-element-35e7e143 .elementor-heading-title,
.elementor-2672 .elementor-element.elementor-element-d2872e0 .elementor-heading-title,
.elementor-2877 .elementor-element.elementor-element-60629bca .elementor-heading-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-size: clamp(24px, 2vw, 32px) !important; /* tier: heading */
  font-weight: normal !important;
  color: #AA822C !important;
  text-align: left !important;
}

/* --- Section descriptions (text below heading) ---
   7f26347 = About Us
   a5b73f5 = Family History
   5ce2465 = Trainings, Counter Days
   3e5071a4 = Careers, Line Card
   189729e = TPG Gives Back
   b17f574 = Contact Us
*/
.elementor-191 .elementor-element.elementor-element-7f26347,
.elementor-268 .elementor-element.elementor-element-a5b73f5,
.elementor-1969 .elementor-element.elementor-element-5ce2465,
.elementor-2304 .elementor-element.elementor-element-3e5071a4,
.elementor-191 .elementor-element.elementor-element-189729e,
.elementor-2534 .elementor-element.elementor-element-189729e,
.elementor-2543 .elementor-element.elementor-element-3e5071a4,
.elementor-2672 .elementor-element.elementor-element-b17f574,
.elementor-2877 .elementor-element.elementor-element-5ce2465 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
  font-weight: normal !important;
  color: #000000 !important;
  text-align: left !important;
}

/* Family History: override to center alignment (client preference) */
.elementor-268 .elementor-element.elementor-element-718f411 .elementor-heading-title,
.elementor-268 .elementor-element.elementor-element-a5b73f5 {
  text-align: center !important;
}

/* --------------------------------------------------------------------------
   7a. HOME #2 HERO RESTRUCTURE (post-1182)
   Typography hierarchy: label → hero statement → secondary → descriptor
   -------------------------------------------------------------------------- */

/* Badge: "Get to Know Us" — 13px, light weight, white, letter-spaced */
.elementor-1182 .elementor-element.elementor-element-f67678c {
  font-size: 13px !important;
  font-weight: 300 !important;
  color: #FFFFFF !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  background-color: transparent !important;
}

/* "Since 1930" — hero anchor statement, 40px, bold, white
   This is now in second_part of jet-headline 6930187 (first_part is empty)
   display-tier: Caro to confirm — custom font retained pending review */
.elementor-1182 .elementor-element.elementor-element-6930187 .jet-headline__second .jet-headline__label {
  font-family: "textraheavy", Sans-serif !important;
  font-size: 40px !important;
  font-weight: 900 !important;
  color: #FFFFFF !important;
  text-transform: none !important;
}
/* Hide the empty first_part and the space between parts */
.elementor-1182 .elementor-element.elementor-element-6930187 .jet-headline__first,
.elementor-1182 .elementor-element.elementor-element-6930187 .jet-headline__space {
  display: none !important;
}

/* "Supplying New England's Best" — secondary headline, 26px, regular, white
   Now in first_part of jet-headline 9090729 (second_part is empty)
   display-tier: Caro to confirm — custom font retained pending review */
.elementor-1182 .elementor-element.elementor-element-9090729 .jet-headline__first .jet-headline__label {
  font-family: "textamedium", Sans-serif !important;
  font-size: 26px !important;
  font-weight: normal !important;
  color: #FFFFFF !important;
  text-transform: none !important;
}
/* Hide the empty second_part and space */
.elementor-1182 .elementor-element.elementor-element-9090729 .jet-headline__second,
.elementor-1182 .elementor-element.elementor-element-9090729 .jet-headline__space {
  display: none !important;
}
/* Tighten gap between "Since 1930" and "Supplying..." — one visual unit */
.elementor-1182 .elementor-element.elementor-element-9090729 {
  margin-top: -8px !important;
}

/* "Wholesale HVAC & Plumbing - Always in Stock" — descriptor, 17px, italic, light */
.elementor-1182 .elementor-element.elementor-element-80030de {
  font-size: 17px !important;
  font-weight: 300 !important;
  font-style: italic !important;
  color: #E8E4DE !important;
}

/* --------------------------------------------------------------------------
   7. HOME PAGE SPECIFIC (post-9)
   -------------------------------------------------------------------------- */

/* "13 Ways to Buy" section typography — match card heading font */
.elementor-9 .elementor-element.elementor-element-f8145d2 .elementor-heading-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: normal !important;
}
.elementor-9 .elementor-element.elementor-element-c7f584f {
  margin-top: -10px !important;
}
.elementor-9 .elementor-element.elementor-element-c7f584f .elementor-heading-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: normal !important;
  color: #A1A2A4 !important;
}
/* Remove bold from "The Portland Group" in the body paragraph */
.elementor-9 .elementor-element.elementor-element-2e7e982 strong {
  font-weight: normal !important;
}

/* --- Accordion branch listings: replace text labels with icons --- */

/* Accordion panels: CSS grid to pair icon+value on same row.
   [role="region"] IS the e-con container — no extra wrapper. */
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item > [role="region"] {
  display: grid !important;
  grid-template-columns: 20px 1fr !important;
  gap: 4px 8px !important;
  align-items: center !important;
}

/* Hide label text, show icon via ::before */
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item > [role="region"] > .elementor-widget-text-editor:nth-child(odd) {
  font-size: 0 !important;
  line-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  height: 20px !important;
  margin: 0 !important;
  padding: 0 !important;
}
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item > [role="region"] > .elementor-widget-text-editor:nth-child(odd) p {
  font-size: 0 !important;
  line-height: 0 !important;
}

/* Value text: grid column 2, cap size at 14px, floor at 13px */
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item > [role="region"] > .elementor-widget-text-editor:nth-child(even) {
  margin: 0 !important;
  padding: 0 !important;
  font-size: clamp(14px, 1.1vw, 16px) !important; /* tier: body (bumped from 13-14px to match page text) */
}

/* 1st label (location) → map pin */
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item > [role="region"] > .elementor-widget-text-editor:nth-child(1)::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat center / contain !important;
  flex-shrink: 0 !important;
}

/* 3rd label (phone) → phone icon */
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item > [role="region"] > .elementor-widget-text-editor:nth-child(3)::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.8.3 1.6.57 2.36a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.76.27 1.56.45 2.36.57A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain !important;
  flex-shrink: 0 !important;
}

/* 5th label (email) → envelope icon */
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item > [role="region"] > .elementor-widget-text-editor:nth-child(5)::before {
  content: "" !important;
  display: inline-block !important;
  width: 16px !important;
  height: 16px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain !important;
  flex-shrink: 0 !important;
}

/* Service card layout — equalize height + push button to bottom-right
   Row: 6dd1411
   Outer wrappers: 2a54408, 5315d72, 6a4acb4 (33.33% columns)
   Inner cards: 5770e19, aef6979, 3d72ef2 (white bg, 22px radius)
   Buttons: bc5f3a4, a281b49, 4f336f7 */

/* Outer wrappers must stretch to row height */
.elementor-9 .elementor-element.elementor-element-2a54408,
.elementor-9 .elementor-element.elementor-element-5315d72,
.elementor-9 .elementor-element.elementor-element-6a4acb4 {
  align-self: stretch !important;
}

/* Inner cards fill wrapper height */
.elementor-9 .elementor-element.elementor-element-5770e19,
.elementor-9 .elementor-element.elementor-element-aef6979,
.elementor-9 .elementor-element.elementor-element-3d72ef2 {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
}

/* Service card CTA buttons: pin to bottom-right via margin-top auto */
.elementor-9 .elementor-element.elementor-element-bc5f3a4,
.elementor-9 .elementor-element.elementor-element-a281b49,
.elementor-9 .elementor-element.elementor-element-4f336f7 {
  margin-top: auto !important;
  align-self: flex-end !important;
  text-align: right !important;
}

/* =============================================
   HOMEPAGE BUTTONS — standardize size & padding
   3 Elementor buttons + 1 JetFormBuilder submit
   ============================================= */

/* Elementor buttons — homepage service cards */
.elementor-9 .elementor-element.elementor-element-bc5f3a4 .elementor-button,
.elementor-9 .elementor-element.elementor-element-a281b49 .elementor-button,
.elementor-9 .elementor-element.elementor-element-4f336f7 .elementor-button {
  font-size: 15px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  padding: 12px 24px !important;
}

/* JetFormBuilder submit — newsletter SIGN UP (widget 827ea98) */
.elementor-9 .elementor-element.elementor-element-827ea98 .jet-form-builder__action-button {
  font-size: 15px !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  text-transform: none !important;
}

/* Gold gradient section text */
.elementor-9 .elementor-element.elementor-element-8bc9ba8 .elementor-heading-title {
  font-size: clamp(20px, 1.8vw, 28px) !important; /* tier: sub-heading */
  font-weight: normal !important;
}
/* Bold only "Over 96 Years Supplying" (first line before the <br>) */
.elementor-9 .elementor-element.elementor-element-8bc9ba8 .elementor-heading-title::first-line {
  font-weight: bold !important;
}
/* Homepage — service card body text, textabold inline style override
   2acbd46, ea6693b, 57c9ea7 = body text in the three service cards
   Must match Elementor's specificity: .elementor-9 .elementor-element.elementor-element-XXX */
.elementor-9 .elementor-element.elementor-element-2acbd46,
.elementor-9 .elementor-element.elementor-element-2acbd46 p,
.elementor-9 .elementor-element.elementor-element-ea6693b,
.elementor-9 .elementor-element.elementor-element-ea6693b p,
.elementor-9 .elementor-element.elementor-element-57c9ea7,
.elementor-9 .elementor-element.elementor-element-57c9ea7 p {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}

/* Homepage — body text below headings, textamedium inline style override
   2e7e982 = map area paragraph, c0fbd45 = second body text block */
.elementor-9 .elementor-element.elementor-element-2e7e982,
.elementor-9 .elementor-element.elementor-element-2e7e982 p,
.elementor-9 .elementor-element.elementor-element-c0fbd45,
.elementor-9 .elementor-element.elementor-element-c0fbd45 p {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}

/* Homepage — "For nearly a century..." body paragraph */
.elementor-9 .elementor-element.elementor-element-9c3ff85,
.elementor-9 .elementor-element.elementor-element-9c3ff85 p {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}

/* Card descriptions — bumped from 1vw to 1.15vw, removed 16px ceiling */
.elementor-9 .elementor-element.elementor-element-2acbd46,
.elementor-9 .elementor-element.elementor-element-ea6693b,
.elementor-9 .elementor-element.elementor-element-57c9ea7 {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* "Over 96 Years" heading pair */
.elementor-9 .elementor-element.elementor-element-f8145d2 .elementor-heading-title,
.elementor-9 .elementor-element.elementor-element-c7f584f .elementor-heading-title {
  font-size: clamp(22px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* Body text below headings */
.elementor-9 .elementor-element.elementor-element-2e7e982,
.elementor-9 .elementor-element.elementor-element-c0fbd45 {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* Newsletter section */
.elementor-9 .elementor-element.elementor-element-1132fee {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* Gold section heading font floor — Home #2 uses 3.4vw */
.elementor-1182 .elementor-element.elementor-element-5d4cdab .elementor-heading-title {
  font-size: clamp(24px, 2vw, 32px) !important; /* tier: heading */
}

/* Gold section body — Home #2 body text at 1.76vw */
.elementor-1182 .elementor-element.elementor-element-cf13ad6 {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* --- "Over 96 Years" gold section — two-column alignment ---
   Home (9): row=4a115b3, left=5d9c969, right=50eea6d
   Home #2 (1182): row=5dd0129, left=ffa38a0, right=542b319 */

/* Row container: vertically center both columns
   Home=4a115b3, Home#2=5dd0129, AboutUs+GivesBack=2aa13f5 */
.elementor-element.elementor-element-4a115b3,
.elementor-element.elementor-element-5dd0129,
.elementor-element.elementor-element-2aa13f5 {
  align-items: center !important;
}

/* Left column: right-align and shrink so text hugs the divider
   Home=5d9c969, Home#2=ffa38a0, AboutUs+GivesBack=bcfc59b */
.elementor-element.elementor-element-5d9c969,
.elementor-element.elementor-element-ffa38a0,
.elementor-element.elementor-element-bcfc59b {
  text-align: right !important;
  align-items: flex-end !important;
  justify-content: center !important;
  --width: 30% !important;
  padding-right: 0 !important;
}
.elementor-element.elementor-element-5d9c969 .elementor-widget-heading,
.elementor-element.elementor-element-ffa38a0 .elementor-widget-heading,
.elementor-element.elementor-element-bcfc59b .elementor-widget-heading {
  margin-left: auto !important;
  margin-right: 0 !important;
}
.elementor-element.elementor-element-5d9c969 .elementor-heading-title,
.elementor-element.elementor-element-ffa38a0 .elementor-heading-title,
.elementor-element.elementor-element-bcfc59b .elementor-heading-title {
  text-align: right !important;
}

/* Right column: stop text 100px before right edge
   Home=50eea6d, Home#2=542b319 */
.elementor-element.elementor-element-50eea6d,
.elementor-element.elementor-element-542b319 {
  padding-right: 100px !important;
}

/* Right column body text font floor
   Home=9c3ff85 (already clamped above), Home#2=cf13ad6 (already clamped above)
   AboutUs+GivesBack=0251040 */
.elementor-element.elementor-element-0251040 {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* Left column heading — match Home's 2.5vw/44px
   AboutUs+GivesBack headings: c868389, f2addd1 */
.elementor-element.elementor-element-c868389 .elementor-heading-title,
.elementor-element.elementor-element-f2addd1 .elementor-heading-title {
  font-size: clamp(20px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* --------------------------------------------------------------------------
   8. SLIDER TEMPLATES (1374, 2504, 2493, 2612)
   -------------------------------------------------------------------------- */

.elementor-1374 .e-con,
.elementor-2504 .e-con,
.elementor-2493 .e-con,
.elementor-2612 .e-con {
  max-width: 100vw;
  overflow: hidden;
}

/* ==========================================================================
   SLIDER TYPOGRAPHY — Slides 1 (1374), 2 (2504), 4 (2612)
   ========================================================================== */

/* --- Eyebrow text (short label at top) --- */
.elementor-1374 .elementor-element.elementor-element-fb6b4c7,
.elementor-2504 .elementor-element.elementor-element-5732a7f2,
.elementor-2612 .elementor-element.elementor-element-19a36cfa {
  font-size: 14px !important;
  font-weight: bold !important;
  color: #FFFFFF !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* --- Headlines: both first and second parts visible, 64px bold italic --- */
/* Show both headline parts — first and second on separate lines */
.elementor-1374 .elementor-element.elementor-element-6ef1882 .jet-headline__first,
.elementor-1374 .elementor-element.elementor-element-6ef1882 .jet-headline__second,
.elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__first,
.elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__second,
.elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__first,
.elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__second {
  display: block !important;
}
/* Hide the space separator between parts */
.elementor-1374 .elementor-element.elementor-element-6ef1882 .jet-headline__space,
.elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__space,
.elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__space {
  display: none !important;
}

.elementor-1374 .elementor-element.elementor-element-6ef1882 .jet-headline__first .jet-headline__label,
.elementor-1374 .elementor-element.elementor-element-6ef1882 .jet-headline__second .jet-headline__label,
.elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__first .jet-headline__label,
.elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__second .jet-headline__label,
.elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__first .jet-headline__label,
.elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__second .jet-headline__label {
  font-size: 64px !important;
  font-weight: bold !important;
  font-style: italic !important;
  color: #FFFFFF !important;
  white-space: nowrap !important;
}

/* Slider1: hide the sub-headline (460b53a) — content moved to descriptor */
.elementor-1374 .elementor-element.elementor-element-460b53a {
  display: none !important;
}

/* --- Subtitle / tagline --- */
.elementor-1374 .elementor-element.elementor-element-2649081 {
  font-size: 18px !important;
  font-style: italic !important;
  font-weight: normal !important;
  color: #FFFFFF !important;
}
.elementor-2504 .elementor-element.elementor-element-2fb550d,
.elementor-2612 .elementor-element.elementor-element-3e94d9ee {
  font-size: 18px !important;
  font-style: italic !important;
  font-weight: normal !important;
  color: #333300 !important;
  white-space: nowrap !important;
}

/* --- Slide 2 & 3: dark text on light backgrounds --- */
/* Eyebrows: brand gold */
.elementor-2504 .elementor-element.elementor-element-5732a7f2,
.elementor-2612 .elementor-element.elementor-element-19a36cfa {
  color: #7B5912 !important;
}
/* Headlines: dark charcoal */
.elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__first .jet-headline__label,
.elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__second .jet-headline__label,
.elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__first .jet-headline__label,
.elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__second .jet-headline__label {
  color: #1a1a1a !important;
}

/* Hero slider — cap max height at wide viewports (was 70vh ≈ 963px at 1440+).
   Must override BOTH the parent container's --min-height: 70vh (set by Elementor
   on b206400) AND the inline height: 70vh on .sp-mask / .sp-slide elements. */
.elementor-9 .elementor-element.elementor-element-b206400 {
  --min-height: auto !important;
  max-height: 600px !important;
  background-color: transparent !important;
}
.elementor-widget-jet-slider .slider-pro {
  max-height: 600px !important;
}
.elementor-widget-jet-slider .sp-mask,
.elementor-widget-jet-slider .jet-slider__item.sp-slide {
  max-height: 600px !important;
}

/* --------------------------------------------------------------------------
   INTERNAL PAGE BANNERS — cap max height (was 60vh ≈ 823px at 1440+)
   Per-page targeting (Option B) to avoid collateral on non-banner containers.
   01ae492 = About Us + TPG Gives Back (shared container)
   e729616 = Family History
   6cb221b = Meet the Team
   79c7c44b = Counter Days
   7a7fb32 = Branches archive (JetEngine template)
   4905fdb1 = Line Card
   -------------------------------------------------------------------------- */
.elementor-element.elementor-element-01ae492,
.elementor-element.elementor-element-e729616,
.elementor-element.elementor-element-6cb221b,
.elementor-element.elementor-element-79c7c44b,
.elementor-element.elementor-element-4905fdb1,
.elementor-246 .elementor-element.elementor-element-7a7fb32 {
  --min-height: 400px !important;
  max-height: 400px !important;
}

/* Slider arrows: hidden by default, show on hover */
.elementor-9 .elementor-element.elementor-element-65bdf20 .jet-slider__arrow {
  opacity: 0 !important;
  transition: opacity 0.3s ease !important;
}
.elementor-9 .elementor-element.elementor-element-65bdf20:hover .jet-slider__arrow {
  opacity: 1 !important;
}

/* Slider body text baseline */
.elementor-1374 .elementor-widget-text-editor,
.elementor-2504 .elementor-widget-text-editor,
.elementor-2493 .elementor-widget-text-editor,
.elementor-2612 .elementor-widget-text-editor {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* --- Responsive: tablet --- */
@media (max-width: 1024px) {
  .elementor-1374 .elementor-element.elementor-element-6ef1882 .jet-headline__label,
  .elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__label,
  .elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__label {
    font-size: 40px !important;
  }
  .elementor-1374 .elementor-element.elementor-element-2649081,
  .elementor-2504 .elementor-element.elementor-element-2fb550d,
  .elementor-2612 .elementor-element.elementor-element-3e94d9ee {
    font-size: 15px !important;
  }
}

/* --- Responsive: mobile --- */
@media (max-width: 767px) {
  .elementor-1374 .elementor-element.elementor-element-6ef1882 .jet-headline__label,
  .elementor-2504 .elementor-element.elementor-element-18ec9b3f .jet-headline__label,
  .elementor-2612 .elementor-element.elementor-element-6d8e23f .jet-headline__label {
    font-size: 32px !important;
  }
  .elementor-1374 .elementor-element.elementor-element-fb6b4c7,
  .elementor-2504 .elementor-element.elementor-element-5732a7f2,
  .elementor-2612 .elementor-element.elementor-element-19a36cfa {
    font-size: 12px !important;
  }
  .elementor-1374 .elementor-element.elementor-element-2649081,
  .elementor-2504 .elementor-element.elementor-element-2fb550d,
  .elementor-2612 .elementor-element.elementor-element-3e94d9ee {
    font-size: 14px !important;
  }
}

/* --------------------------------------------------------------------------
   9. MEET THE TEAM (post-459) — specific grid/card fixes
   -------------------------------------------------------------------------- */

/* Team card grid: override 0 padding on outer container */
.elementor-459 .elementor-element.elementor-element-0865852 {
  --padding-left: 3vw !important;
  --padding-right: 3vw !important;
}

/* Team member names (1.6vw → clamp) */
.elementor-459 .elementor-widget-heading .elementor-heading-title {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: intentional — name labels, slightly above body */
}

/* Team member locations (1.35vw → clamp) */
.elementor-459 .elementor-widget-text-editor {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* Meet the Team: reduce bottom padding on paragraph section (was 7.8vw) */
.elementor-459 .elementor-element.elementor-element-786ff03 {
  --padding-bottom: 40px !important;
}

/* Hero subtitle on Meet the Team — match standardized size */
.elementor-459 .elementor-element.elementor-element-101dd85 {
  font-size: clamp(22px, 2vw, 30px) !important; /* tier: sub-heading */
}

/* Hero badge on Meet the Team — match standardized size */
.elementor-459 .elementor-element.elementor-element-1e9c8cf {
  font-size: clamp(15px, 1.3vw, 20px) !important; /* tier: intentional — badge, between small and body */
}

/* Section heading — Meet the Team hero */
.elementor-459 .elementor-element.elementor-element-929995c .elementor-heading-title {
  font-size: clamp(24px, 2vw, 32px) !important; /* tier: heading */
}

/* Team card photo containers — ensure text box renders above in Safari */
.elementor-459 .elementor-element.elementor-element-b4db73b,
.elementor-459 .elementor-element.elementor-element-6e43576,
.elementor-459 .elementor-element.elementor-element-956734e,
.elementor-459 .elementor-element.elementor-element-cbc8dc5,
.elementor-459 .elementor-element.elementor-element-09884b2,
.elementor-459 .elementor-element.elementor-element-9fd1129,
.elementor-459 .elementor-element.elementor-element-fc1f7da,
.elementor-459 .elementor-element.elementor-element-3cfc180,
.elementor-459 .elementor-element.elementor-element-474a5d7,
.elementor-459 .elementor-element.elementor-element-dabe045,
.elementor-459 .elementor-element.elementor-element-1333469 {
  position: relative !important;
  z-index: 0 !important;
  overflow: visible !important;
}

/* Team card text containers — fix Safari overlap issue
   margin-top: -4.5vw grows too large at wide viewports (-115px at 2560px),
   causing name/location to hide behind photos in Safari.
   Cap to fixed -40px and ensure z-index so text always sits above photo. */
.elementor-459 .elementor-element.elementor-element-52f10d8,
.elementor-459 .elementor-element.elementor-element-260d33e,
.elementor-459 .elementor-element.elementor-element-24af8f4,
.elementor-459 .elementor-element.elementor-element-32ab56e,
.elementor-459 .elementor-element.elementor-element-af7a032,
.elementor-459 .elementor-element.elementor-element-dc02ca9,
.elementor-459 .elementor-element.elementor-element-043a8bc,
.elementor-459 .elementor-element.elementor-element-5b5c15f,
.elementor-459 .elementor-element.elementor-element-b1d959d,
.elementor-459 .elementor-element.elementor-element-8e58a86,
.elementor-459 .elementor-element.elementor-element-6f03a6e {
  margin-top: -40px !important;
  z-index: 1 !important;
  position: relative !important;
}

/* Description paragraph + all body text on Meet the Team */
.elementor-459 .elementor-element.elementor-element-158c13f,
.elementor-459 .elementor-widget-text-editor {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}

/* Team member names — larger than locations */
.elementor-459 .elementor-widget-heading .elementor-heading-title {
  font-size: clamp(18px, 1.3vw, 22px) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 600 !important;
}

/* Team member location links — make clickable visible (scoped to team grid only) */
.elementor-459 .elementor-element-2218736 .elementor-widget-text-editor a {
  color: #608BB3 !important;
  text-decoration: none !important;
}
.elementor-459 .elementor-element-2218736 .elementor-widget-text-editor a:hover {
  text-decoration: underline !important;
}

@media (max-width: 1024px) {
  .elementor-459 .elementor-element.elementor-element-0865852 {
    --padding-left: 30px !important;
    --padding-right: 30px !important;
  }

  /* Grid → 2 columns at tablet */
  .elementor-459 .elementor-element.elementor-element-2218736 {
    --e-con-grid-template-columns: repeat(2, 1fr) !important;
  }
}

@media (max-width: 767px) {
  .elementor-459 .elementor-element.elementor-element-0865852 {
    --padding-left: 20px !important;
    --padding-right: 20px !important;
  }

  /* Grid → 1 column at mobile */
  .elementor-459 .elementor-element.elementor-element-2218736 {
    --e-con-grid-template-columns: repeat(1, 1fr) !important;
  }
}

/* --------------------------------------------------------------------------
   10. HEADER (post-12) — social icon minimum size
   -------------------------------------------------------------------------- */

/* Social icons — crisp fixed size, prevent stretching */
.elementor-12 .elementor-element.elementor-element-d148e97 .elementor-widget-image img {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  object-fit: contain !important;
}
/* Non-social header images (logo etc.) keep flexible sizing */
.elementor-12 .elementor-widget-image img,
.elementor-1186 .elementor-widget-image img {
  min-width: 16px;
  min-height: 16px;
}

/* Nav menu font — top-level items clamped, dropdown items slightly larger */
.elementor-12 .jet-mega-menu-item__link--top-level .jet-mega-menu-item__label,
.elementor-1186 .jet-mega-menu-item__link--top-level .jet-mega-menu-item__label {
  font-size: clamp(13px, 1vw, 16px) !important; /* tier: small/label (nav) */
}
.elementor-12 .jet-mega-menu-item__link--sub-level .jet-mega-menu-item__label,
.elementor-1186 .jet-mega-menu-item__link--sub-level .jet-mega-menu-item__label {
  font-size: clamp(14px, 1.1vw, 17px) !important; /* tier: body (nav dropdown) */
}

/* --------------------------------------------------------------------------
   11. FOOTER (post-30) — text readability
   -------------------------------------------------------------------------- */

/* Social icons at desktop: constrain to reasonable size */
.elementor-30 .elementor-element.elementor-element-e24537c .elementor-widget-image img {
  width: 18px !important;
  height: 18px !important;
  object-fit: contain !important;
}

/* Contact grid: column layout with spacing */
.elementor-30 .elementor-element.elementor-element-1c75585 {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

/* Phone and email rows: horizontal layout with icon + text */
.elementor-30 .elementor-element.elementor-element-63af846,
.elementor-30 .elementor-element.elementor-element-88fc39c {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 5px !important;
  height: auto !important;
  flex: 0 0 auto !important;
}

/* Phone/email icons: small, inline */
.elementor-30 .elementor-element.elementor-element-daafa71,
.elementor-30 .elementor-element.elementor-element-b97344e {
  width: 16px !important;
  min-width: 16px !important;
  flex: 0 0 16px !important;
}

/* View Branch Profiles button: visible, compact, left-aligned */
.elementor-30 .elementor-element.elementor-element-2ab7924 {
  margin: 4px 0 !important;
  align-self: flex-start !important;
}
.elementor-30 .elementor-element.elementor-element-2ab7924 .elementor-button {
  padding: 6px 16px !important;
  font-size: 12px !important;
}
.elementor-30 .elementor-element.elementor-element-2ab7924 .elementor-button-wrapper {
  display: inline-block !important;
  text-align: left !important;
}

/* Contact text: line-height */
.elementor-30 .elementor-element.elementor-element-58c1269 p,
.elementor-30 .elementor-element.elementor-element-5b07c0d p {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.6 !important;
}

/* Footer mission statement (0.8vw) — floor at 13px */
.elementor-30 .elementor-element.elementor-element-73523ee {
  font-size: clamp(13px, 0.8vw, 15px) !important; /* tier: small/label */
}

/* Footer nav links and headings (1vw) — floor at 14px */
.elementor-30 .elementor-element.elementor-element-46095a5,
.elementor-30 .elementor-element.elementor-element-58c1269,
.elementor-30 .elementor-element.elementor-element-5b07c0d {
  font-size: clamp(13px, 1vw, 15px) !important; /* tier: small/label */
}

/* Footer small text — copyright, links (0.85vw) — floor at 13px */
.elementor-30 .elementor-element.elementor-element-d629e35,
.elementor-30 .elementor-element.elementor-element-828d8fc,
.elementor-30 .elementor-element.elementor-element-ae10e57,
.elementor-30 .elementor-element.elementor-element-1dae885 {
  font-size: clamp(13px, 0.85vw, 16px) !important; /* tier: small/label */
}

/* =============================================
   FOOTER MAP — height constraints
   Widget: jet-engine-maps-listing 96b8e05
   Container: 7b57a58
   Sitewide footer template — data-id selectors
   are specific enough, no page scope needed
   ============================================= */
.elementor-element-7b57a58 {
  --min-height: 380px !important;
  max-height: 380px !important;
  overflow: hidden !important;
}
.elementor-element-96b8e05 .jet-map-listing {
  height: 380px !important;
  max-height: 380px !important;
}

/* =============================================
   COUNTER DAY EVENT CARDS — tighten field spacing
   Kit default widget-spacing is 20px between each field.
   Reduce to 6px for compact card layout.
   ============================================= */
.elementor-3278 .elementor-element.elementor-element-c19e7b6 {
  --widgets-spacing: 6px 0px !important;
  --widgets-spacing-row: 6px !important;
  --kit-widget-spacing: 6px !important;
  gap: 6px !important;
}
.elementor-3278 .elementor-element.elementor-element-c19e7b6 .elementor-widget {
  margin-bottom: 0px !important;
}

/* =============================================
   COUNTER DAY EVENT CARDS — layout fixes
   Listing template 3278, grid on page 2877
   ============================================= */

/* Card grid: fix 10-row grid → auto rows */
.elementor-3278 .elementor-element.elementor-element-e06e251 {
  --e-con-grid-template-rows: auto !important;
}

/* Spacing between event cards */
.jet-listing-grid--3278 .jet-listing-grid__item {
  margin-bottom: 30px !important;
}

/* --------------------------------------------------------------------------
   12. MYSTERY ARROWS — hide potential culprits
   These may be: Elementor motion-effects handles, JetTricks scroll nav,
   or the fullscreen slider icon leaking out of its hidden container.
   -------------------------------------------------------------------------- */

/* Slider fullscreen icon that may render outside its container */
.jet-slider__fullscreen-icon,
[class*="jet-slider__fullscreen-icon"],
[class*="jet-slider__arrow-icon"] {
  display: none !important;
}

/* JetTricks view-more arrows if they leak */
.jet-view-more__icon {
  display: none !important;
}

/* Kava theme back-to-top if it shows arrows */
.totop-button svg,
.totop-button .totop-icon {
  visibility: visible;
}

/* Elementor motion effects layer pseudo-elements (can create visual artifacts) */
.elementor-motion-effects-layer::before,
.elementor-motion-effects-layer::after {
  display: none !important;
}

/* --------------------------------------------------------------------------
   13. BRANCH FILTER PILL BUTTONS
   Converts raw radio/checkbox inputs into styled pill toggles.
   Gold (#7B5912) active state, light gray inactive, white text when active.
   -------------------------------------------------------------------------- */

/* --- Layout: horizontal row with wrapping --- */
.jet-radio-list-wrapper,
.jet-checkboxes-list-wrapper {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.jet-radio-list__row,
.jet-checkboxes-list__row {
  display: inline-flex !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Hide native inputs --- */
.jet-radio-list__input,
.jet-checkboxes-list__input {
  position: absolute !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  pointer-events: none !important;
}

/* --- Hide the decorator (checkbox/radio circle + SVG check) --- */
.jet-radio-list__decorator,
.jet-checkboxes-list__decorator {
  display: none !important;
}

/* --- Pill button base (inactive state) --- */
.jet-radio-list__button,
.jet-checkboxes-list__button {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 8px 20px !important;
  border: 1.5px solid #C4C4C4 !important;
  border-radius: 999px !important;
  background-color: #FFFFFF !important;
  color: #231F20 !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-size: 13px !important;
  font-weight: normal !important;
  letter-spacing: 0.3px !important;
  line-height: 1.3 !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
  user-select: none !important;
}

/* --- Hover state --- */
.jet-radio-list__button:hover,
.jet-checkboxes-list__button:hover {
  border-color: #7B5912 !important;
  color: #7B5912 !important;
}

/* --- Active/checked state: gold fill, white text --- */
.jet-radio-list__input:checked ~ .jet-radio-list__button,
.jet-checkboxes-list__input:checked ~ .jet-checkboxes-list__button {
  background-color: #7B5912 !important;
  border-color: #7B5912 !important;
  color: #FFFFFF !important;
}

/* --- Label text inside pills --- */
.jet-radio-list__label,
.jet-checkboxes-list__label {
  color: inherit !important;
  font-size: inherit !important;
  font-family: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* --- Label container (the clickable area) --- */
.jet-radio-list__item,
.jet-checkboxes-list__item {
  display: inline-flex !important;
  position: relative !important;
  cursor: pointer !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Responsive: slightly smaller pills on mobile --- */
@media (max-width: 767px) {
  .jet-radio-list__button,
  .jet-checkboxes-list__button {
    padding: 6px 14px !important;
    font-size: 12px !important;
  }
}

/* --------------------------------------------------------------------------
   14. HERO BANNER BORDER-RADIUS NORMALIZATION
   Standard across all content pages: 26px. Branch templates (246, 233)
   use 12px — normalize them to match.
   -------------------------------------------------------------------------- */

/* Branches archive hero — border radius only (height now handled by internal
   page banners section above; was 60vh, capped to 400px) */
.elementor-246 .elementor-element.elementor-element-7a7fb32 {
  --border-radius: 26px 26px 26px 26px !important;
}

/* Branch single template image container */
.elementor-233 .elementor-element.elementor-element-cb9d101 {
  --border-radius: 26px 26px 26px 26px !important;
}

/* --------------------------------------------------------------------------
   15. BRANCHES ARCHIVE (246) — FONT STANDARDIZATION
   The branches page was built with rem units; all other pages use vw.
   Standardize to match Meet the Team pattern.
   -------------------------------------------------------------------------- */

/* Badge: 1.76rem → clamped */
.elementor-246 .elementor-element.elementor-element-9997a52 {
  font-size: clamp(14px, 1.2vw, 18px) !important; /* tier: intentional — badge, slightly wider range than standard small */
}

/* Hero headline: 4.07rem → clamped */
.elementor-246 .elementor-element.elementor-element-b517e7c {
  font-size: clamp(20px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* Section heading (gold h2): 4.1rem → clamped */
.elementor-246 .elementor-element.elementor-element-ae07900 .elementor-heading-title {
  font-size: clamp(24px, 2vw, 32px) !important; /* tier: heading */
  color: #AA822C !important;
}

/* Section description: system font, clamped body text */
.elementor-246 .elementor-element.elementor-element-fb8d5a6 {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* --------------------------------------------------------------------------
   16. BELOW-HERO SPACING
   Hero wrapper padding-bottom reduced from 4.17vw (~80px) to 60px.
   Section-below-hero padding-top normalized to 0 so total gap = 60px.
   -------------------------------------------------------------------------- */

/* Hero wrappers: kill top gap (was 2.1vw), reduce bottom (was 4.17vw → 60px) */
.elementor-element.elementor-element-0865852,
.elementor-element.elementor-element-b696907,
.elementor-element.elementor-element-bae5ae3,
.elementor-element.elementor-element-709747ae,
.elementor-element.elementor-element-1732425d,
.elementor-246 .elementor-element.elementor-element-7389556 {
  --padding-top: 20px !important;
  --padding-bottom: 40px !important;
}
.elementor-246 .elementor-element.elementor-element-678f3c1 {
  --padding-top: 0px !important;
}

/* /branches: hide service radio filter row and reduce bottom padding */
.elementor-246 .elementor-element.elementor-element-3baab64 {
  display: none !important;
}
.elementor-246 .elementor-element.elementor-element-8f8e43a {
  --padding-bottom: 10px !important;
  --padding-top: 0px !important;
  --padding-bottom: 40px !important;
}

/* Section-below-hero: consistent 20px top padding across all pages */
.elementor-element.elementor-element-0181c1e,
.elementor-element.elementor-element-fb68d2,
.elementor-element.elementor-element-2be9736b,
.elementor-element.elementor-element-2c4e8845,
.elementor-element.elementor-element-41b63b7,
.elementor-element.elementor-element-786ff03 {
  --padding-top: 0px !important;
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.elementor-element.elementor-element-0181c1e > .e-con-inner,
.elementor-element.elementor-element-fb68d2 > .e-con-inner,
.elementor-element.elementor-element-2be9736b > .e-con-inner,
.elementor-element.elementor-element-2c4e8845 > .e-con-inner,
.elementor-element.elementor-element-41b63b7 > .e-con-inner,
.elementor-element.elementor-element-786ff03 > .e-con-inner {
  padding-top: 0 !important;
}

/* TPG Gives Back: reduce spacing, top-align image with heading */
.elementor-2534 .elementor-element.elementor-element-2d510de {
  --padding-top: 0px !important;
  padding-top: 0 !important;
}
.elementor-2534 .elementor-element.elementor-element-eb005ad {
  align-items: flex-start !important;
}
/* =============================================
   SITEWIDE — Force system font on all text-editor widgets
   Per-page scoping beats Elementor's per-widget
   typography_font_family inline settings.
   ============================================= */
.elementor-268 .elementor-widget-text-editor,
.elementor-459 .elementor-widget-text-editor,
.elementor-1969 .elementor-widget-text-editor,
.elementor-2247 .elementor-widget-text-editor,
.elementor-2304 .elementor-widget-text-editor,
.elementor-2445 .elementor-widget-text-editor,
.elementor-2534 .elementor-widget-text-editor,
.elementor-2543 .elementor-widget-text-editor,
.elementor-2672 .elementor-widget-text-editor,
.elementor-2877 .elementor-widget-text-editor,
.elementor-2949 .elementor-widget-text-editor {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}
/* TPG Gives Back: normalize body text size */
.elementor-2534 .elementor-widget-text-editor {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* TPG Gives Back: reduce gap between Tripling heading and text */
.elementor-2534 .elementor-element.elementor-element-9762713 {
  gap: 0 !important;
  --gap: 0px !important;
}
.elementor-2534 .elementor-element.elementor-element-3181422 {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
.elementor-2534 .elementor-element.elementor-element-b5df11c {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* TPG Gives Back: hide "Previous Years" heading */
.elementor-2534 .elementor-element.elementor-element-7003e32 {
  display: none !important;
}

/* TPG Gives Back: standardize section headings */
.elementor-2534 .elementor-element.elementor-element-0328e17 .elementor-heading-title,
.elementor-2534 .elementor-element.elementor-element-77c582b .elementor-heading-title,
.elementor-2534 .elementor-element.elementor-element-1ab5acf .elementor-heading-title,
.elementor-2534 .elementor-element.elementor-element-81ce8ca .elementor-heading-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-size: clamp(24px, 2vw, 32px) !important; /* tier: heading */
  color: #AA822C !important;
  text-align: left !important;
}

/* --------------------------------------------------------------------------
   17. "FIND A BRANCH" MOBILE REPLACEMENT LINK
   Hidden at desktop. Visible at tablet/mobile when the map is hidden.
   -------------------------------------------------------------------------- */

.tpg-find-branch-mobile {
  display: none;
}

@media (max-width: 1024px) {
  .tpg-find-branch-mobile {
    display: block;
    text-align: center;
    padding: 15px 20px;
    background-color: #F7F6F5;
  }
  .tpg-find-branch-mobile a {
    display: inline-block;
    padding: 10px 28px;
    background-color: #7B5912;
    color: #FFFFFF;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif;
    font-size: 14px;
    letter-spacing: 0.5px;
    border-radius: 999px;
    text-decoration: none;
    transition: background-color 0.2s ease;
  }
  .tpg-find-branch-mobile a:hover {
    background-color: #5a4210;
  }
}

/* ==========================================================================
   18. BRANCHES V2 CARD REDESIGN (page-id-2949)
   Scoped to /branches-v2/ only. Original /branches/ unchanged.
   Listing template 241 element IDs:
     161e4c6 = location name heading (hide)
     6e9ade8 = address row (A. label → pin icon)
     5b83a39 = Google Maps link (move to bottom)
     0230c85 = phone row (P. label → phone icon)
     294f243 = email row (E. label → envelope icon)
     01664b8 = manager row (Manager: → person icon)
     8f964a8 = Read More row
     8701828 = "A." label, 46998f3 = "P." label, 6e1f940 = "E." label, 1eeff11 = "Manager:" label
   ========================================================================== */

/* --- White card container: flexbox column, consistent padding --- */
.page-id-2949 .elementor-element.elementor-element-4bd0c30 {
  display: flex !important;
  flex-direction: column !important;
  --padding-top: 26px !important;
  --padding-bottom: 0px !important;
  --padding-left: 16px !important;
  --padding-right: 16px !important;
}

/* --- Hide location name heading (redundant with image) --- */
.page-id-2949 .elementor-element.elementor-element-161e4c6 {
  display: none !important;
}

/* --- Field rows: consistent flexbox layout --- */
.page-id-2949 .elementor-element.elementor-element-6e9ade8,
.page-id-2949 .elementor-element.elementor-element-0230c85,
.page-id-2949 .elementor-element.elementor-element-294f243,
.page-id-2949 .elementor-element.elementor-element-01664b8 {
  display: flex !important;
  flex-direction: row !important;
  align-items: flex-start !important;
  --gap: 10px !important;
  --column-gap: 10px !important;
  --row-gap: 0px !important;
  gap: 10px !important;
  margin-bottom: 18px !important;
  --margin-bottom: 18px !important;
  flex: 0 0 auto !important;
  --padding-top: 0px !important;
  --padding-bottom: 0px !important;
  --padding-left: 0px !important;
  --padding-right: 0px !important;
}

/* --- Icon column: fixed 20px wide so icons don't clip, labels hidden --- */
.page-id-2949 .elementor-element.elementor-element-8701828,
.page-id-2949 .elementor-element.elementor-element-46998f3,
.page-id-2949 .elementor-element.elementor-element-6e1f940,
.page-id-2949 .elementor-element.elementor-element-1eeff11 {
  font-size: 0 !important;
  width: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  flex: 0 0 20px !important;
  height: 20px !important;
  overflow: visible !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: center !important;
  padding: 2px 0 0 0 !important;
  margin: 0 !important;
}

/* Map pin for address */
.page-id-2949 .elementor-element.elementor-element-8701828::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* Phone icon */
.page-id-2949 .elementor-element.elementor-element-46998f3::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.8.3 1.6.57 2.36a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.76.27 1.56.45 2.36.57A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* Envelope icon */
.page-id-2949 .elementor-element.elementor-element-6e1f940::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16c1.1 0 2 .9 2 2v12c0 1.1-.9 2-2 2H4c-1.1 0-2-.9-2-2V6c0-1.1.9-2 2-2z'/%3E%3Cpolyline points='22,6 12,13 2,6'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* Person icon */
.page-id-2949 .elementor-element.elementor-element-1eeff11::before {
  content: "" !important;
  display: block !important;
  width: 16px !important;
  height: 16px !important;
  flex-shrink: 0 !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23c9a96e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") no-repeat center / contain !important;
}

/* --- Text values: consistent start position --- */
.page-id-2949 .elementor-element.elementor-element-1e0e81e,
.page-id-2949 .elementor-element.elementor-element-67235a4,
.page-id-2949 .elementor-element.elementor-element-56208c2,
.page-id-2949 .elementor-element.elementor-element-a058c97 {
  flex: 1 !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* --- Email text: wrap within card boundary --- */
.page-id-2949 .elementor-element.elementor-element-56208c2 {
  word-break: break-all !important;
}

/* --- Content area grows to push CTAs to bottom --- */
.page-id-2949 .elementor-element.elementor-element-01664b8 {
  flex-grow: 1 !important;
}

/* --- Hide both original CTA rows and arrow image --- */
.page-id-2949 .elementor-element.elementor-element-5b83a39,
.page-id-2949 .elementor-element.elementor-element-8f964a8,
.page-id-2949 .elementor-element.elementor-element-1ca9bbf {
  display: none !important;
}

/* --- CTA bar: single ::after, justified text pushes labels to edges --- */
.page-id-2949 .elementor-element.elementor-element-4bd0c30::after {
  content: "Google\a0 Maps \a0\a0\a0\a0 Read\a0 More" !important;
  display: block !important;
  border-top: 1px solid #E0D8CC !important;
  padding: 12px 0 16px 0 !important;
  margin-top: auto !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-size: 13px !important;
  color: #608BB3 !important;
  text-decoration: none !important;
  text-align: justify !important;
  text-align-last: justify !important;
  background-image:
    linear-gradient(#608BB3, #608BB3),
    linear-gradient(#608BB3, #608BB3) !important;
  background-size:
    83px 1px,
    63px 1px !important;
  background-position:
    left bottom,
    right bottom !important;
  background-repeat: no-repeat !important;
}

/* ==========================================================================
   Branch Single: Hide title / formally / year block above banner
   Container 90ef9d4 in template 233 holds only these three heading widgets.
   Data stays in the DB — this just hides the rendered output.
   ========================================================================== */
.elementor-element-90ef9d4 {
  display: none !important;
}

/* Branch template (233): reset all section spacing, then add back what's needed */
.single-branches .elementor-233 .e-con.e-parent {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.single-branches .elementor-233 .e-con.e-parent > .e-con-inner {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Add controlled spacing between sections */
.single-branches .elementor-233 .e-con.e-parent + .e-con.e-parent {
  margin-top: 20px !important;
}

/* Keep side padding on sections that had it */
.single-branches .elementor-233 .elementor-element-2d01fd4 > .e-con-inner,
.single-branches .elementor-233 .elementor-element-62f3e81 > .e-con-inner {
  padding-left: 5px !important;
  padding-right: 5px !important;
}

/* Map section bottom spacing */
.single-branches .elementor-233 .elementor-element-4a4ab99 {
  padding-bottom: 30px !important;
}

/* Branch body text: clamp with 14px floor instead of fixed 20-24px */
.single-branches .elementor-233 .elementor-widget-text-editor {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
  line-height: 1.5 !important;
}

/* Branch 4-column: top-align icons with text */
.single-branches .elementor-233 .elementor-widget-icon {
  --container-widget-align-self: flex-start !important;
  align-self: flex-start !important;
  height: auto !important;
}

/* Branch 4-column labels: bold */
.single-branches .elementor-233 .elementor-element-c973f77,
.single-branches .elementor-233 .elementor-element-ed322df,
.single-branches .elementor-233 .elementor-element-fa25f18,
.single-branches .elementor-233 .elementor-element-d97cba9 {
  font-weight: bold !important;
}

/* Branch nav links (<< About us / Family History >>) — were 29px */
.single-branches .elementor-233 .elementor-widget-text-editor p a,
.single-branches .elementor-233 .elementor-element-9b1caa6,
.single-branches .elementor-233 .elementor-element-14bf9a3 {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* Branch location review — was 24px */
.single-branches .elementor-233 .elementor-element-f19993d {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* =============================================
   PAGE NAVIGATION LINKS (prev/next above footer)
   Standardized font across all pages
   ============================================= */
.elementor-element-f4e97c7 .elementor-widget-text-editor,
.elementor-element-4dbd460 .elementor-widget-text-editor,
.elementor-element-c14f5fd .elementor-widget-text-editor,
.elementor-element-fc5372e .elementor-widget-text-editor,
.elementor-element-d1c426d .elementor-widget-text-editor,
.elementor-element-15ed2d7 .elementor-widget-text-editor,
.elementor-element-2bf63f16 .elementor-widget-text-editor,
.elementor-element-57df1f4c .elementor-widget-text-editor,
.elementor-element-5e62c1de .elementor-widget-text-editor,
.elementor-element-253bae71 .elementor-widget-text-editor,
.elementor-element-a7bafda .elementor-widget-text-editor,
.elementor-element-6efc9aa .elementor-widget-text-editor,
.elementor-element-e23bdb4 .elementor-widget-text-editor,
.elementor-element-a8773b7 .elementor-widget-text-editor {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

/* Branch single template — testimonial left column padding reduction */
.elementor-element-3fc84cc {
  padding-right: 24px !important;
}


/* ==========================================================================
   Site-Wide Type Scale: Hero Headlines
   Replaces unclamped 3.0-3.2vw / 4.1rem / 2.9rem with floored clamp().
   ========================================================================== */

/* Hero headlines — large page titles (were 3.0-3.2vw, ~58-61px at 1920) */
.elementor-element-84b5d52 .elementor-heading-title,  /* About Us, Tech Support, TPG Gives Back */
.elementor-element-35e7e143 .elementor-heading-title, /* Careers, Line Card */
.elementor-element-60629bca .elementor-heading-title, /* Counter Days, Trainings */
.elementor-element-929995c .elementor-heading-title,  /* Meet the Team */
.elementor-element-ae07900 .elementor-heading-title   /* Branches archive */ {
  font-size: clamp(24px, 2vw, 32px) !important; /* tier: heading */
}

/* Hero subtitles — secondary hero text (were 3.0-3.2vw) */
.elementor-element-c868389 .elementor-heading-title,  /* About Us, Tech Support, TPG Gives Back */
.elementor-element-1e18e8f9 .elementor-heading-title, /* Careers */
.elementor-element-f2addd1 .elementor-heading-title,  /* About Us, TPG Gives Back */
.elementor-element-c1a7473 .elementor-heading-title,  /* About Us */
.elementor-element-01de3bc .elementor-heading-title,  /* About Us */
.elementor-element-1ab5acf .elementor-heading-title,  /* TPG Gives Back */
.elementor-element-81ce8ca .elementor-heading-title,  /* TPG Gives Back */
.elementor-element-6793fe3 .elementor-heading-title   /* Trainings */ {
  font-size: clamp(20px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* Hero section subtitles — second-tier (were 3.1vw) */
.elementor-element-f630069 .elementor-heading-title   /* Counter Days, Trainings */ {
  font-size: clamp(22px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* Contact hero headings — were 2.9rem / 2.5vw */
.elementor-element-cd7addd .elementor-heading-title,  /* Contact */
.elementor-element-d2872e0 .elementor-heading-title   /* Contact Us */ {
  font-size: clamp(28px, 2.2vw, 36px) !important; /* tier: intentional — contact hero, above heading tier */
}
.elementor-element-209b954 .elementor-heading-title,  /* Contact */
.elementor-element-e1326c4 .elementor-heading-title,  /* Contact */
.elementor-element-f841e2e .elementor-heading-title,  /* Contact Us */
.elementor-element-76f9af3 .elementor-heading-title   /* Contact Us */ {
  font-size: clamp(20px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* Home "Over 96 Years" — was 2.5vw */
.elementor-element-8bc9ba8 .elementor-heading-title {
  font-size: clamp(20px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* Family History main heading — was 2.5vw */
.elementor-element-718f411 .elementor-heading-title,
.elementor-element-306587a .elementor-heading-title {
  font-size: clamp(22px, 1.8vw, 28px) !important; /* tier: sub-heading */
}

/* /branches card image container — reduce height and top-align */
.elementor-element-772fbe6 {
  min-height: 225px !important;
  background-position: center top !important;
}

/* =============================================
   ABOUT US — Normalize section spacing
   Pattern: bottom-padding only, 40px consistent.
   Eliminates double-stacked padding between sections.
   ============================================= */

/* Intro section (0181c1e): was 5vw (~72px) bottom */
.elementor-191 .elementor-element.elementor-element-0181c1e {
  --padding-bottom: 40px !important;
  --padding-block-end: 40px !important;
  padding-block-end: 40px !important;
}

/* Four Generations (4e5a9af): was 4.17vw top AND bottom — stacked with intro */
.elementor-191 .elementor-element.elementor-element-4e5a9af {
  --padding-top: 20px !important;
  --padding-bottom: 40px !important;
  --padding-block-start: 20px !important;
  --padding-block-end: 40px !important;
  padding-block-start: 20px !important;
  padding-block-end: 40px !important;
}

/* Leadership Cards (775c95e): was 0 top/bottom — abrupt gap */
.elementor-191 .elementor-element.elementor-element-775c95e {
  --padding-top: 20px !important;
  --padding-bottom: 40px !important;
  --padding-block-start: 20px !important;
  --padding-block-end: 40px !important;
  padding-block-start: 20px !important;
  padding-block-end: 40px !important;
}

/* History + Video (2d510de): was 4.17vw top/bottom */
.elementor-191 .elementor-element.elementor-element-2d510de {
  --padding-top: 20px !important;
  --padding-bottom: 40px !important;
  --padding-block-start: 20px !important;
  --padding-block-end: 40px !important;
  padding-block-start: 20px !important;
  padding-block-end: 40px !important;
}

/* About Us — clamp uncapped vw font sizes
   Heading 84b5d52: was 3.1vw (40-80px uncapped)
   Body 7f26347: was 1.6vw (20-41px uncapped)
   Four Gen headings c868389, f2addd1: was 3vw
   Four Gen body 0251040: was 1.45vw
   Leadership names ea6097e, 781f174, 04dfe44: was 2vw
   Leadership titles 2939b2b, 2ccaaee, e4cf770: was 1.6vw/1.6rem
   History headings c1a7473, 01de3bc: was 3vw
   History body 189729e: was 1.5vw
   Post nav 0311f13, f6f7cd9: was 1.5vw */
/* Page heading — "Built on Passion" stays at heading tier */
.elementor-191 .elementor-element.elementor-element-84b5d52 .elementor-heading-title {
  font-size: clamp(24px, 2vw, 32px) !important; /* tier: heading */
}
/* Section headings — match Home's "Over 95 Years" sub-heading tier */
.elementor-191 .elementor-element.elementor-element-c868389 .elementor-heading-title,
.elementor-191 .elementor-element.elementor-element-f2addd1 .elementor-heading-title,
.elementor-191 .elementor-element.elementor-element-c1a7473 .elementor-heading-title,
.elementor-191 .elementor-element.elementor-element-01de3bc .elementor-heading-title {
  font-size: clamp(20px, 1.8vw, 28px) !important; /* tier: sub-heading */
}
/* Body text — standardize with system font + weight 400 */
.elementor-191 .elementor-element.elementor-element-7f26347,
.elementor-191 .elementor-element.elementor-element-0251040,
.elementor-191 .elementor-element.elementor-element-189729e {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, sans-serif !important;
  font-weight: 400 !important;
}
.elementor-191 .elementor-element.elementor-element-ea6097e .elementor-heading-title,
.elementor-191 .elementor-element.elementor-element-781f174 .elementor-heading-title,
.elementor-191 .elementor-element.elementor-element-04dfe44 .elementor-heading-title {
  font-size: clamp(22px, 1.8vw, 28px) !important; /* tier: sub-heading (leadership names) */
}
.elementor-191 .elementor-element.elementor-element-2939b2b,
.elementor-191 .elementor-element.elementor-element-2ccaaee,
.elementor-191 .elementor-element.elementor-element-e4cf770 {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body (leadership titles — was 34px, oversized) */
}
.elementor-191 .elementor-element.elementor-element-0311f13,
.elementor-191 .elementor-element.elementor-element-f6f7cd9 {
  font-size: 15px !important; /* post nav — fixed, not content */
}

/* About Us — leadership card text containers: cap vw/vh values */
.elementor-191 .elementor-element.elementor-element-9e3c2d8,
.elementor-191 .elementor-element.elementor-element-286c3af,
.elementor-191 .elementor-element.elementor-element-62d340e {
  --min-height: auto !important;
  --padding-top: 20px !important;
  --padding-bottom: 20px !important;
  --padding-left: 20px !important;
  --padding-right: 20px !important;
  padding: 20px !important;
}

/* About Us — history section child: cap vw padding */
.elementor-191 .elementor-element.elementor-element-ba04a83 {
  --padding-top: 20px !important;
  --padding-bottom: 20px !important;
  padding-block-start: 20px !important;
  padding-block-end: 20px !important;
}

/* About Us: hide empty heading container after moving headings to text container */
.elementor-element-ba04a83:empty,
.elementor-element-ba04a83 {
  display: none !important;
}

/* /branches card: hide branch name heading (already shown in card image) */
.elementor-element-161e4c6 {
  display: none !important;
}

/* /branches card text */
.elementor-element-4bd0c30 .elementor-widget-text-editor {
  font-size: clamp(13px, 1vw, 15px) !important; /* tier: small/label (bumped from 12-14) */
}
.elementor-element-4bd0c30 .jet-listing-dynamic-link__label {
  font-size: clamp(13px, 1vw, 15px) !important; /* tier: small/label (bumped from 12-14) */
}

/* /branches card: size the emoji icon labels */
.elementor-element-8701828,
.elementor-element-46998f3,
.elementor-element-6e1f940 {
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  flex: 0 0 24px !important;
  font-size: 16px !important;
}

/* /branches card: manager icon sizing and bold name */
.elementor-element-1eeff11 {
  width: 24px !important;
  min-width: 24px !important;
  max-width: 24px !important;
  flex: 0 0 24px !important;
  font-size: 16px !important;
}
.elementor-element-a058c97 {
  font-weight: bold !important;
}

/* /branches card: reduce white box height and anchor links at bottom */
.elementor-element-4bd0c30 {
  min-height: 230px !important;
  display: flex !important;
  flex-direction: column !important;
}
.elementor-element-8f964a8 {
  margin-top: auto !important;
}

/* /branches card grid: responsive stacking */
@media (max-width: 1024px) {
  .elementor-246 .elementor-element.elementor-element-fdfaba2 > .jet-listing-grid > .jet-listing-grid__items {
    --columns: 2 !important;
  }
}
@media (max-width: 767px) {
  .elementor-246 .elementor-element.elementor-element-fdfaba2 > .jet-listing-grid > .jet-listing-grid__items {
    --columns: 1 !important;
  }
}

/* /branches card: align manager row with others (had 30px left padding) */
.elementor-element-01664b8 {
  padding-left: 0 !important;
}

/* /branches card: spacing between address, phone, email, manager rows */
.elementor-element-6e9ade8,
.elementor-element-0230c85,
.elementor-element-294f243,
.elementor-element-01664b8 {
  margin-bottom: 15px !important;
}

/* /branches card: align Google Maps and Read More links at bottom */
.elementor-element-8f964a8 {
  flex-direction: row !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 10px 0 !important;
}
/* Hide the arrow image between links */
.elementor-element-1ca9bbf {
  display: none !important;
}
.elementor-element-31eff2c .jet-listing-dynamic-link__label,
.elementor-element-25c5dd8 .jet-listing-dynamic-link__label {
  font-size: clamp(12px, 0.9vw, 14px) !important; /* tier: small/label */
}

/* =============================================
   HOMEPAGE MAP — height constraints
   Widget: jet-engine-maps-listing acc0c02
   Container: 5bb4f94
   ============================================= */
.elementor-9 .elementor-element.elementor-element-5bb4f94 {
  --min-height: 570px !important;
  max-height: 570px !important;
}
.elementor-9 .elementor-element.elementor-element-acc0c02 .jet-map-listing {
  height: 570px !important;
  max-height: 570px !important;
}

/* Home: accordion branch titles and "See All Branches" — cap at 16px */
.elementor-9 .elementor-element.elementor-element-f340ee9 .e-n-accordion-item-title-text,
.elementor-9 .elementor-element.elementor-element-0128e7d {
  font-size: clamp(15px, 1.1vw, 18px) !important; /* tier: body */
}

/* Home: newsletter signup row — reduce height, equalize column widths */
.elementor-9 .elementor-element.elementor-element-552dc3b {
  --padding-top: 15px !important;
  --padding-bottom: 15px !important;
}
.elementor-9 .elementor-element.elementor-element-552dc3b .wp-block-columns {
  justify-content: center !important;
}
.elementor-9 .elementor-element.elementor-element-552dc3b .wp-block-column:not(:last-child) {
  flex-basis: 0 !important;
  flex-grow: 1 !important;
  max-width: calc(50% - 225px) !important;
}
.elementor-9 .elementor-element.elementor-element-552dc3b .wp-block-column:last-child {
  flex-basis: auto !important;
  flex-grow: 0 !important;
}
/* Newsletter text: push down */
.elementor-9 .elementor-element.elementor-element-1132fee {
  margin-bottom: 0 !important;
  padding-top: 8px !important;
}
/* Form container: pull up */
.elementor-9 .elementor-element.elementor-element-02e762e {
  margin-top: -18px !important;
}
.elementor-9 .elementor-element.elementor-element-552dc3b .jet-form-builder__field {
  height: 36px !important;
  padding: 4px 10px !important;
  color: #231F20 !important;
  font-size: 13px !important;
}
.elementor-9 .elementor-element.elementor-element-552dc3b select.jet-form-builder__field {
  color: #231F20 !important;
}
.elementor-9 .elementor-element.elementor-element-552dc3b .jet-form-builder__action-button {
  height: 36px !important;
  padding: 0 16px !important;
  color: #FFFFFF !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Home: nudge branch accordion content (icon+text) 10px right, 8px down from divider */
.elementor-element-f340ee9 .e-con.e-child {
  padding-left: 10px !important;
  padding-top: 8px !important;
}
