/* Bridge only — do not override Liquid animations when JS is present */
html, body {
  margin: 0;
  padding: 0;
}

.sct-skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 10000;
  padding: 0.75rem 1.25rem;
  background: #002244;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 4px 0;
}
.sct-skip-link:focus {
  left: 0;
  outline: 2px solid #fff;
  outline-offset: 2px;
}

img {
  max-width: 100%;
  height: auto;
}

a {
  text-decoration: none;
}

#lqd-wrap {
  position: relative;
  overflow: hidden;
}

/*
 * Overlay header (WP Elementor 2365). Top gap comes from spacer 0fba6e2
 * (min-height 70px / 20px mobile, data-lqd-hide-on-sticky) — not CSS top hacks.
 * When sticky engages, Liquid sets data-lqd-header-is-sticky; we collapse the
 * top-level spacer (Liquid’s hide-on-sticky CSS only targets .e-child).
 */
#lqd-page-header-wrap.lqd-site-header {
  position: absolute;
  inset-inline-start: 0;
  inset-inline-end: 0;
  top: 0 !important;
  z-index: 99;
  pointer-events: none;
}

#lqd-page-header-wrap[data-lqd-header-is-sticky="true"] .elementor-element-0fba6e2,
#lqd-page-header-wrap[data-lqd-header-is-sticky="true"] [data-lqd-hide-on-sticky="true"].e-parent,
#lqd-page-header-wrap:has([data-lqd-container-is-sticky="true"]) .elementor-element-0fba6e2,
#lqd-page-header-wrap:has([data-lqd-container-is-sticky="true"]) [data-lqd-hide-on-sticky="true"].e-parent {
  min-height: 0 !important;
  height: 0 !important;
  max-height: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

#lqd-page-header-wrap.lqd-site-header .elementor,
#lqd-page-header-wrap.lqd-site-header a,
#lqd-page-header-wrap.lqd-site-header button,
#lqd-page-header-wrap.lqd-site-header .lqd-trigger,
#lqd-page-header-wrap.lqd-site-header .lqd-menu-wrap {
  pointer-events: auto;
}

/* Sticky pin bar must stay above page sections */
#lqd-page-header-wrap .pin-spacer,
#lqd-page-header-wrap .elementor-element-20182cc,
.lqd-site-header .elementor-element-20182cc {
  z-index: 100 !important;
}

/*
 * Sticky pin: keep the same chrome as the static bar.
 * Only change position (pin near top); do not restyle bg/radius/width.
 */
.elementor-2365 .elementor-element-20182cc[data-lqd-container-is-sticky="true"],
.elementor-2365 .elementor-element-20182cc[data-lqd-is-sticky="true"],
#lqd-page-header-wrap:has([data-lqd-container-is-sticky="true"]) .elementor-element-20182cc {
  top: 16px !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 0 !important;
  overflow: visible;
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  filter: none !important;
}

/* Lock bar chrome to the static Elementor look in both states */
.elementor-2365 .elementor-element.elementor-element-d3354a2,
.elementor-2365 .elementor-element.elementor-element-d3354a2[data-lqd-container-is-sticky="true"],
.elementor [data-lqd-container-is-sticky="true"] .elementor-element.elementor-element-d3354a2,
.elementor-2365 .elementor-element-20182cc[data-lqd-container-is-sticky="true"] .elementor-element-d3354a2,
.elementor-2365 .elementor-element-20182cc[data-lqd-is-sticky="true"] .elementor-element-d3354a2,
#lqd-page-header-wrap:has([data-lqd-container-is-sticky="true"]) .elementor-element-d3354a2 {
  background-color: #00224499 !important;
  border-radius: 8px !important;
  box-shadow: none !important;
  border: 0 !important;
  filter: none !important;
}

@media (max-width: 767px) {
  .elementor-2365 .elementor-element-20182cc[data-lqd-container-is-sticky="true"],
  .elementor-2365 .elementor-element-20182cc[data-lqd-is-sticky="true"],
  #lqd-page-header-wrap:has([data-lqd-container-is-sticky="true"]) .elementor-element-20182cc {
    top: 12px !important;
    left: 0 !important;
    right: 0 !important;
    max-width: 100% !important;
    border-radius: 0 !important;
  }
}

/*
 * Do NOT force pin-spacer to height:0 / absolute — that broke GSAP pin math
 * (sticky nav jumped to top:-70). Header is already absolute overlay, so
 * pin-spacer inside it does not affect page document flow / CLS.
 */

/*
 * Header right cluster: phone text + circular message trigger.
 * Floating call FAB (73df59d) is reparented to <body> via sct-open-quote.js.
 */
.elementor-2365 .elementor-element-7648e5f {
  gap: 12px;
  align-items: center;
}

.elementor-2365 .elementor-element-4ca59bd .lqd-trigger {
  width: 45px;
  height: 45px;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 30px;
  color: #fff !important;
  font-size: 16px;
}

.elementor-2365 .elementor-element-4ca59bd .lqd-trigger svg,
.elementor-2365 .elementor-element-4ca59bd .lqd-trigger svg path {
  fill: #fff !important;
  color: #fff !important;
}

.elementor-2365 .elementor-element-4ca59bd .lqd-trigger:hover {
  color: var(--e-global-color-586305e, #ef513d);
  background: #fff;
  border-color: #fff;
}

/* Desktop/tablet: full wordmark; mobile icon stays hidden until ≤767px */
.elementor-2365 .elementor-element-2d8eed0 .lqd-logo-mobile-icon {
  display: none;
}

/* Viewport FAB — keep above sticky header after body reparent */
.elementor-2365 .elementor-element-73df59d {
  /* Avoid header overlap flash before the reparent script runs */
  visibility: hidden;
}

body > .elementor-element-73df59d,
.elementor-element-73df59d.elementor-fixed {
  position: fixed !important;
  right: 50px !important;
  bottom: 45px !important;
  top: auto !important;
  left: auto !important;
  z-index: 120 !important;
  width: auto !important;
  pointer-events: auto !important;
  visibility: visible !important;
}

/* Styles were scoped under .elementor-2365 — keep them after body reparent */
body > .elementor-element-73df59d .lqd-trigger {
  font-size: 16px;
  color: #fff;
}

body > .elementor-element-73df59d .lqd-trigger-icon {
  font-size: 25px;
}

body > .elementor-element-73df59d .lqd-trigger-bars-shape {
  background: var(--e-global-color-586305e, #003973);
  width: 57px;
  height: 57px;
  border-radius: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/*
 * Phone FAB modal (elementor-779): Liquid button uses lqd-btn-has-bg which
 * clears --lqd-btn-bg; the repeater bg-layer CSS (b2cba73) was never ported,
 * so the number rendered white-on-white and looked "missing".
 */
.elementor-repeater-item-b2cba73-bffc74f {
  background-color: var(--e-global-color-586305e, #003973) !important;
}

.elementor-779 .elementor-element-bffc74f .lqd-btn,
body > .elementor-element-73df59d .elementor-element-bffc74f .lqd-btn {
  background-color: var(--e-global-color-586305e, #003973) !important;
  color: #fff !important;
  gap: 10px;
  justify-content: center;
}

.elementor-779 .elementor-element-bffc74f .lqd-btn-txt,
.elementor-779 .elementor-element-bffc74f .lqd-btn-icon,
body > .elementor-element-73df59d .elementor-element-bffc74f .lqd-btn-txt,
body > .elementor-element-73df59d .elementor-element-bffc74f .lqd-btn-icon {
  color: #fff !important;
  visibility: visible !important;
  opacity: 1 !important;
}

@media (max-width: 767px) {
  body > .elementor-element-73df59d,
  .elementor-element-73df59d.elementor-fixed {
    right: 20px !important;
    bottom: 30px !important;
  }

  body > .elementor-element-73df59d .lqd-modal-inner {
    max-width: calc(100vw - 32px);
    margin-inline: 16px;
  }

  .elementor-779 .elementor-element-bffc74f,
  .elementor-779 .elementor-element-b9344fa {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/*
 * Hero split-text ships with opacity:0 + transform until GSAP runs.
 * That hides the LCP element for seconds — paint it immediately instead.
 */
.elementor-85 .elementor-element-ac2add2 .lqd-split-text-words {
  opacity: 1 !important;
  transform: none !important;
}

.elementor-85 .elementor-element-ac2add2 {
  position: relative !important;
  background: #091b32 url("/images/bgbanner.webp") 50% 50% / cover no-repeat !important;
  overflow: hidden !important;
}

.elementor-85 .elementor-element-ac2add2 > .e-con-inner {
  position: relative !important;
  z-index: 2 !important;
}

.elementor-85 .elementor-element-ac2add2 > .elementor-background-video-container {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  z-index: 0 !important;
  pointer-events: none !important;
  background: #091b32 url("/images/bgbanner.webp") 50% 50% / cover no-repeat !important;
  /* Kill Elementor’s default centering transform on wrappers */
  transform: none !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
}

.elementor-background-video-poster {
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: #091b32 url("/images/bgbanner.webp") 50% 50% / cover no-repeat !important;
  opacity: 1;
  transition: opacity 0.28s ease;
  pointer-events: none !important;
  transform: none !important;
}

.elementor-background-video-poster.is-faded {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity 0.28s ease, visibility 0s linear 0.28s;
}

.elementor-background-video-embed {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
  pointer-events: none !important;
  /* Above poster so fade-in never reveals the dark section fill */
  z-index: 3 !important;
  opacity: 0;
  transition: opacity 0.28s ease;
  /* Critical: Elementor sets translate(-50%,-50%) which shoved the video off-screen */
  transform: none !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  margin: 0 !important;
}

.elementor-background-video-embed.is-loading {
  opacity: 0;
}

.elementor-background-video-embed.is-ready {
  opacity: 1 !important;
}

/*
 * WP Elementor overlay (post-85): linear-gradient(107deg, #091B32 23%, #091B3200 100%).
 * Applied once above the local video — Elementor’s ::before sits under our z-index’d
 * embed, so a single ::after restores the WP wash without the old double veil.
 */
.elementor-85 .elementor-element-ac2add2 > .elementor-background-video-container::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  pointer-events: none !important;
  background-image: linear-gradient(107deg, #091B32 23%, #091B3200 100%) !important;
  background-color: transparent !important;
}

/* Keep Elementor section ::before from stacking a second identical wash */
.elementor-85 .elementor-element-ac2add2::before {
  background-image: none !important;
}

.elementor-background-video-container.is-poster-only .elementor-background-video-embed {
  display: none !important;
}

.elementor-background-video-container iframe,
.elementor-background-video-embed iframe {
  position: absolute !important;
  border: 0 !important;
  pointer-events: none !important;
  max-width: none !important;
}

/* Local hosted hero video — cover like a background image, never interactive */
.elementor-background-video-hosted,
.elementor-background-video-embed > video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 0 !important;
  pointer-events: none !important;
  max-width: none !important;
  transform: none !important;
  background: transparent !important;
}

/* Box icon backgrounds (Elementor repeater CSS not fully ported) */
.lqd-box-icon {
  position: relative;
  overflow: hidden;
  border-radius: var(--lqd-box-i-brrt, 30px) var(--lqd-box-i-brre, 30px) var(--lqd-box-i-brrb, 30px) var(--lqd-box-i-brrs, 30px);
}

.lqd-bg-layer-box-icon {
  background-color: var(--e-global-color-586305e, #003973);
}

/* SVG icons ship with hardcoded fill:#fff — keep navy wells for service boxes */
.lqd-box-icon svg:not([stroke]),
.lqd-box-icon svg:not([stroke]) .cls-1,
.lqd-box-icon svg:not([stroke]) path {
  fill: #fff !important;
}

/* Footer / contact outline icons */
.elementor-element-f253bc0 .lqd-box-icon,
.elementor-element-1b3d039 .lqd-box-icon,
.elementor-element-c5a89e8 .lqd-box-icon,
.elementor-element-b2143be .lqd-box-icon,
.elementor-element-351c8b0 .lqd-box-icon,
.elementor-element-2f54b55 .lqd-box-icon {
  color: #fff;
  z-index: 1;
}

.elementor-element-f253bc0 .lqd-box-icon svg,
.elementor-element-1b3d039 .lqd-box-icon svg,
.elementor-element-c5a89e8 .lqd-box-icon svg,
.elementor-element-b2143be .lqd-box-icon svg,
.elementor-element-351c8b0 .lqd-box-icon svg,
.elementor-element-2f54b55 .lqd-box-icon svg {
  position: relative;
  z-index: 1;
  fill: none !important;
  stroke: currentColor !important;
  color: #fff;
}

.elementor-element-f253bc0 .lqd-box-icon svg path,
.elementor-element-f253bc0 .lqd-box-icon svg circle,
.elementor-element-f253bc0 .lqd-box-icon svg rect,
.elementor-element-1b3d039 .lqd-box-icon svg path,
.elementor-element-1b3d039 .lqd-box-icon svg circle,
.elementor-element-1b3d039 .lqd-box-icon svg rect,
.elementor-element-c5a89e8 .lqd-box-icon svg path,
.elementor-element-c5a89e8 .lqd-box-icon svg circle,
.elementor-element-c5a89e8 .lqd-box-icon svg rect,
.elementor-element-b2143be .lqd-box-icon svg path,
.elementor-element-b2143be .lqd-box-icon svg circle,
.elementor-element-b2143be .lqd-box-icon svg rect,
.elementor-element-351c8b0 .lqd-box-icon svg path,
.elementor-element-351c8b0 .lqd-box-icon svg circle,
.elementor-element-351c8b0 .lqd-box-icon svg rect,
.elementor-element-2f54b55 .lqd-box-icon svg path,
.elementor-element-2f54b55 .lqd-box-icon svg circle,
.elementor-element-2f54b55 .lqd-box-icon svg rect {
  fill: none !important;
  stroke: currentColor !important;
}

/* Carousel nav arrows — Akar Icons font is not bundled; draw chevrons via CSS */
.elementor-widget-lqd-carousel .lqd-carousel-nav-btn {
  color: #fff !important;
  border: 1.5px solid rgba(255, 255, 255, 0.55) !important;
  background: rgba(0, 57, 115, 0.35) !important;
  width: 56px !important;
  height: 56px !important;
  border-radius: 999px !important;
  opacity: 1 !important;
}

.elementor-widget-lqd-carousel .lqd-carousel-nav-btn:hover,
.elementor-widget-lqd-carousel .lqd-carousel-nav-btn:focus-visible {
  border-color: #fff !important;
  background: rgba(239, 81, 61, 0.9) !important;
  color: #fff !important;
}

.elementor-widget-lqd-carousel .lqd-carousel-nav-btn:disabled {
  opacity: 0.4 !important;
  cursor: default;
}

.elementor-widget-lqd-carousel .lqd-carousel-nav-btn .akar-icons {
  display: block;
  width: 1.15em;
  height: 1.15em;
  font-size: inherit;
  line-height: 0;
  speak: never;
}

.elementor-widget-lqd-carousel .lqd-carousel-nav-btn .akar-icons::before {
  content: "" !important;
  display: block;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  -webkit-mask: no-repeat center / contain;
  mask: no-repeat center / contain;
}

.elementor-widget-lqd-carousel .lqd-carousel-nav-btn .ai-chevron-left::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M14.7 5.3a1 1 0 0 1 0 1.4L9.4 12l5.3 5.3a1 1 0 0 1-1.4 1.4l-6-6a1 1 0 0 1 0-1.4l6-6a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M14.7 5.3a1 1 0 0 1 0 1.4L9.4 12l5.3 5.3a1 1 0 0 1-1.4 1.4l-6-6a1 1 0 0 1 0-1.4l6-6a1 1 0 0 1 1.4 0z'/%3E%3C/svg%3E");
}

.elementor-widget-lqd-carousel .lqd-carousel-nav-btn .ai-chevron-right::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9.3 5.3a1 1 0 0 1 1.4 0l6 6a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4-1.4l5.3-5.3-5.3-5.3a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9.3 5.3a1 1 0 0 1 1.4 0l6 6a1 1 0 0 1 0 1.4l-6 6a1 1 0 0 1-1.4-1.4l5.3-5.3-5.3-5.3a1 1 0 0 1 0-1.4z'/%3E%3C/svg%3E");
}

/* Empty MetForm / CF7 shells (replaced forms use .elementor-widget-sct-quote) */
.elementor-widget-metform,
.elementor-widget-wpcf7 {
  display: none;
}

.elementor-widget-sct-quote {
  display: block !important;
}

/* Quote modal close X — CTA styles bleed into .lqd-modal-close-btn; keep compact */
.lqd-modal-5fa62d2 .lqd-modal-close-btn.elementor-element-5fa62d2 {
  inset-inline-end: 20px !important;
  top: 16px !important;
  z-index: 20 !important;
}

.lqd-modal-5fa62d2 .lqd-modal-close-btn .lqd-trigger {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  padding: 0 !important;
  background: transparent !important;
  justify-content: center !important;
  align-items: center !important;
  font-size: 16px !important;
}

.lqd-modal-5fa62d2 .lqd-modal-close-btn .lqd-trigger-bars-shape {
  width: 28px !important;
  height: 28px !important;
}

.lqd-modal-5fa62d2 .lqd-modal-close-btn .lqd-trigger-bar-close {
  width: 18px !important;
}

/* Contact modal / footer: keep form beside info on desktop (Elementor 40%) */
.elementor-73 .elementor-element-7657820.elementor-widget-sct-quote,
.elementor-73 .elementor-element-7657820 {
  width: var(--container-widget-width, 40%) !important;
  max-width: 40% !important;
  --container-widget-width: 40%;
  --container-widget-flex-grow: 0;
  flex-grow: 0;
}

@media (max-width: 1024px) {
  .elementor-73 .elementor-element-7657820.elementor-widget-sct-quote,
  .elementor-73 .elementor-element-7657820 {
    --container-widget-width: 48%;
    width: var(--container-widget-width, 48%) !important;
    max-width: 48% !important;
  }
}

@media (max-width: 880px) {
  .elementor-73 .elementor-element-f20ae41 > .e-con-inner {
    flex-direction: column !important;
  }

  .elementor-73 .elementor-element-7657820.elementor-widget-sct-quote,
  .elementor-73 .elementor-element-7657820 {
    width: 100% !important;
    max-width: 100% !important;
    --container-widget-width: 100%;
  }
}

/*
 * Mobile header + hero — compact bar, stacked CTAs, readable spacing.
 */
@media (max-width: 767px) {
  /* Compact top spacer */
  .elementor-2365 .elementor-element-0fba6e2 {
    --min-height: 12px !important;
    min-height: 12px !important;
  }

  /* Single clean header row: logo | burger | message */
  .elementor-2365 .elementor-element-d3354a2 {
    --padding-left: 12px !important;
    --padding-right: 12px !important;
    align-items: center !important;
  }

  .elementor-2365 .elementor-element-bff6232 {
    --width: auto !important;
    width: auto !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }

  /* Hide animated chevron on small screens — frees space for logo */
  .elementor-2365 .elementor-element-14ab48f {
    display: none !important;
  }

  .elementor-2365 .elementor-element-2d8eed0 {
    flex: 0 0 auto !important;
  }

  .elementor-2365 .elementor-element-2d8eed0 > .elementor-widget-container {
    padding: 12px 0 !important;
    border-width: 0 !important;
  }

  /* Mobile: favicon mark instead of full wordmark */
  .elementor-2365 .elementor-element-2d8eed0 .lqd-logo-dark,
  .elementor-2365 .elementor-element-2d8eed0 .lqd-logo-default {
    display: none !important;
  }

  .elementor-2365 .elementor-element-2d8eed0 .lqd-logo-mobile-icon {
    display: block !important;
    width: 36px !important;
    height: 36px !important;
    max-height: 36px !important;
    object-fit: contain;
  }

  /* Hamburger only — drop "Menu" label; push to right of left cluster */
  .elementor-2365 .elementor-element-a339b93 {
    flex: 0 0 auto !important;
    margin-inline-start: auto !important;
    width: auto !important;
  }

  .elementor-2365 .elementor-element-a339b93 .lqd-trigger-text {
    display: none !important;
  }

  .elementor-2365 .elementor-element-a339b93 .lqd-trigger {
    display: flex !important;
    width: 44px !important;
    height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
  }

  .elementor-2365 .elementor-element-a339b93 .lqd-trigger.hidden {
    display: flex !important;
  }

  /* Right cluster: message icon only, shrink maroon accent */
  .elementor-2365 .elementor-element-7648e5f {
    --width: auto !important;
    width: auto !important;
    flex: 0 0 auto !important;
    gap: 0 !important;
    justify-content: flex-end !important;
  }

  .elementor-2365 .elementor-element-fa07cdc {
    --width: 56px !important;
    width: 56px !important;
    min-width: 56px !important;
    border-radius: 0 8px 8px 0 !important;
  }

  .elementor-2365 .elementor-element-4ca59bd .lqd-trigger {
    width: 40px !important;
    height: 40px !important;
  }

  /* Hero: clear absolute header + comfortable side padding */
  .elementor-85 .elementor-element-ac2add2 {
    --min-height: 100svh !important;
    min-height: 100svh !important;
    --padding-top: 120px !important;
    --padding-bottom: 40px !important;
    --padding-left: 20px !important;
    --padding-right: 20px !important;
    padding-top: 120px !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
    padding-bottom: 40px !important;
  }

  .elementor-85 .elementor-element-86699b2 {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    --flex-direction: column !important;
    flex-direction: column !important;
    --flex-wrap: nowrap !important;
    align-items: stretch !important;
  }

  .elementor-85 .elementor-element-b013d35 h1,
  .elementor-85 .elementor-element-b013d35 .lqd-text-el {
    font-size: clamp(2.15rem, 10.5vw, 2.85rem) !important;
    line-height: 1.05 !important;
  }

  /* One word per line — items are adjacent spans with no spaces */
  .elementor-85 .elementor-element-b013d35 h1 .lqd-text-item {
    display: block !important;
  }

  .elementor-85 .elementor-element-4bb42e7 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-85 .elementor-element-4bb42e7 > .elementor-widget-container {
    margin-bottom: 28px !important;
  }

  .elementor-85 .elementor-element-4bb42e7 .lqd-text-el {
    font-size: 0.95rem !important;
    line-height: 1.55 !important;
  }

  /* Stack CTAs full-width */
  .elementor-85 .elementor-element-9f75a31,
  .elementor-85 .elementor-element-7b93ab4 {
    width: 100% !important;
    max-width: 100% !important;
  }

  .elementor-85 .elementor-element-9f75a31 .lqd-btn,
  .elementor-85 .elementor-element-7b93ab4 .lqd-btn {
    width: 100% !important;
    max-width: 100% !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }

  .elementor-85 .elementor-element-7b93ab4 .lqd-btn {
    margin-top: 4px !important;
    border: 1px solid rgba(255, 255, 255, 0.55) !important;
    padding-inline: 24px !important;
  }

  /* FAB: keep clear of home-indicator */
  body > .elementor-element-73df59d,
  .elementor-element-73df59d.elementor-fixed {
    right: 16px !important;
    bottom: 24px !important;
  }

  /* Quote modal close X — much smaller on mobile */
  .lqd-modal-5fa62d2 .lqd-modal-close-btn.elementor-element-5fa62d2 {
    inset-inline-end: 12px !important;
    top: 12px !important;
  }

  .lqd-modal-5fa62d2 .lqd-modal-close-btn .lqd-trigger {
    width: 36px !important;
    height: 36px !important;
    min-width: 36px !important;
    font-size: 14px !important;
  }

  .lqd-modal-5fa62d2 .lqd-modal-close-btn .lqd-trigger-bars-shape {
    width: 22px !important;
    height: 22px !important;
  }

  .lqd-modal-5fa62d2 .lqd-modal-close-btn .lqd-trigger-bar-close {
    width: 16px !important;
  }

  /* Footer: Designed by — left-aligned under copyright on mobile */
  .elementor-655 .elementor-element.elementor-element-5c9c76a,
  .elementor-655 .elementor-element.elementor-element-5c9c76a .elementor-widget-container,
  .elementor-655 .elementor-element.elementor-element-5c9c76a .lqd-text-el,
  .elementor-655 .elementor-element.elementor-element-5c9c76a a {
    text-align: left !important;
    justify-content: flex-start !important;
  }
}

/* Fallback if Liquid JS fails to boot: still show hero text */
html.lqd-js-failed .lqd-split-text-words,
html.lqd-js-failed .elementor-element-9f75a31,
html.lqd-js-failed .elementor-element-7b93ab4 {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
