/* Fuzetech Phase 2.5 — dark automotive design system */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("fonts/InterVariable.woff2") format("woff2-variations"),
    url("fonts/InterVariable.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --fz-bg: #070B12;
  --fz-surface: #0E1520;
  --fz-surface-2: #121A27;
  --fz-ink: #F4F7FB;
  --fz-muted: #9AA8B8;
  --fz-line: rgba(255, 255, 255, 0.1);
  --fz-line-strong: rgba(255, 255, 255, 0.18);
  --fz-accent: #2B6CFF;
  --fz-accent-2: #4D86FF;
  --fz-accent-soft: rgba(43, 108, 255, 0.16);
  --fz-max: 72rem;
  --fz-radius: 2px;
  --fz-header-h: 68px;
  --fz-font: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

html {
  scroll-behavior: smooth;
}

body.home,
body.page,
.site,
#page,
.site-content,
.ast-container,
.entry-content {
  background: var(--fz-bg);
  color: var(--fz-ink);
}

body,
body.home,
body.page,
.site,
.site-header,
.site-footer,
.ftg,
.ftg *,
.entry-content,
.main-header-menu,
.ast-builder-html-element,
.ast-custom-button,
.menu-link,
.elementor,
.elementor *,
h1,
h2,
h3,
h4,
h5,
h6,
button,
input,
select,
textarea,
.bs,
.bs *,
.ab,
.ab *,
.rs,
.rs *,
.ct,
.ct *,
.ac,
.ac *,
.ds,
.ds *,
.ew,
.ew *,
.mp,
.mp *,
.op,
.op *,
.sa,
.sa *,
.pp,
.pp *,
.ev,
.ev * {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}
.bs *::before,
.bs *::after,
.ab *::before,
.ab *::after,
.rs *::before,
.rs *::after,
.ct *::before,
.ct *::after,
.ftg *::before,
.ftg *::after,
.elementor *::before,
.elementor *::after {
  font-family: inherit !important;
}
.eicon,
[class^="eicon-"],
[class*=" eicon-"],
.fa,
.fas,
.far,
.fab,
.fal,
.fat,
.dashicons,
.dashicons-before::before {
  font-family: eicons, "Font Awesome 5 Free", "Font Awesome 6 Free", FontAwesome, dashicons !important;
}

body.fz-nav-open {
  overflow: hidden;
}

/* Typography — technical automotive, not SaaS */
.ftg {
  --ink: var(--fz-ink);
  --ink2: var(--fz-accent-2);
  --muted: var(--fz-muted);
  --line: var(--fz-line);
  --bg: var(--fz-bg);
  --surface: var(--fz-surface);
  --max: var(--fz-max);
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  font-weight: 400;
  color: var(--fz-ink);
  line-height: 1.55;
  background: var(--fz-bg);
}

.ftg *,
.ftg *::before,
.ftg *::after {
  box-sizing: border-box;
}

.ftg a {
  color: var(--fz-accent-2);
  text-underline-offset: 0.15em;
}

.ftg .wrap {
  width: min(100% - 2rem, var(--fz-max));
  margin-inline: auto;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.ftg .section,
.ftg .fz-lead,
.ftg .fz-faq,
.ftg .svc-ov-grid,
.ftg .fz-faq-grid,
.ftg .fz-lead-grid,
.ftg .fz-lead-form,
.ftg .fz-lead-main,
.ftg .wws-grid {
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
}

.ftg .eyebrow {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--fz-accent-2);
}

.ftg h1,
.ftg h2,
.ftg h3 {
  letter-spacing: 0.02em;
  line-height: 1.15;
  color: #fff;
  font-weight: 700;
}

.ftg h2 {
  margin: 0 0 0.65rem;
  font-size: clamp(1.45rem, 2.8vw, 2rem);
  text-transform: uppercase;
}

.ftg .sub {
  margin: 0 0 1.5rem;
  max-width: 42rem;
  color: var(--fz-muted);
}

.ftg .section {
  padding: 4rem 0;
  border-top: 0;
}

.ftg .section.alt {
  background: var(--fz-surface);
}

.ftg .cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.7rem;
}

.ftg .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  padding: 0.78rem 1.2rem;
  border: 1px solid transparent;
  border-radius: var(--fz-radius);
  font-weight: 700;
  font-size: 0.88rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background 0.18s, border-color 0.18s, color 0.18s;
}

.ftg .btn-primary {
  background: var(--fz-accent);
  color: #fff;
  border-color: var(--fz-accent);
}

.ftg .btn-primary:hover {
  background: var(--fz-accent-2);
  color: #fff;
}

.ftg .btn-ghost {
  background: transparent;
  color: #fff;
  border-color: var(--fz-line-strong);
}

.ftg .btn-ghost:hover {
  border-color: #fff;
  background: rgba(255, 255, 255, 0.05);
  color: #fff;
}

/* ===== HEADER / NAV ===== */
.site-header,
.site-header *,
.site-footer,
.site-footer *,
.ast-primary-header-bar,
.main-header-bar,
.ast-main-header-wrap,
.ast-sticky-active .main-header-bar,
#ast-desktop-header .ast-primary-header-bar,
#ast-mobile-header .ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar,
.ast-mobile-popup-drawer,
.ast-mobile-popup-drawer * {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}

.site-header,
.ast-primary-header-bar,
.main-header-bar,
.ast-main-header-wrap,
.ast-sticky-active .main-header-bar,
#ast-desktop-header .ast-primary-header-bar,
#ast-mobile-header .ast-primary-header-bar,
.ast-above-header-bar,
.ast-below-header-bar {
  background: rgba(7, 11, 18, 0.92) !important;
  border-bottom: 1px solid var(--fz-line) !important;
  box-shadow: none !important;
}

body.home:not(.fz-scrolled) .site-header,
body.home:not(.fz-scrolled) .ast-primary-header-bar,
body.home:not(.fz-scrolled) .main-header-bar,
body.home:not(.fz-scrolled) #ast-desktop-header .ast-primary-header-bar,
body.home:not(.fz-scrolled) #ast-mobile-header .ast-primary-header-bar {
  background: transparent !important;
  border-bottom-color: transparent !important;
}

body.fz-scrolled .site-header,
body.fz-scrolled .ast-primary-header-bar,
body.fz-scrolled .main-header-bar,
body.fz-scrolled #ast-desktop-header .ast-primary-header-bar,
body.fz-scrolled #ast-mobile-header .ast-primary-header-bar {
  background: rgba(7, 11, 18, 0.97) !important;
  border-bottom: 1px solid var(--fz-line) !important;
  backdrop-filter: blur(8px);
}

.ast-builder-grid-row,
.ast-header-break-point .main-header-bar {
  min-height: var(--fz-header-h);
}

.site-branding img.custom-logo,
.custom-logo-link img {
  max-height: 42px !important;
  width: auto !important;
}

.main-header-menu > li > a,
.ast-builder-menu .menu-link,
.ast-header-button-1 .ast-custom-button,
.ast-button-wrap .ast-custom-button,
.ast-mobile-menu-buttons .menu-toggle,
.menu-toggle .mobile-menu-toggle-icon,
.ast-mobile-svg {
  color: #fff !important;
  fill: #fff !important;
}

.ast-builder-menu .menu-link,
.main-header-menu .menu-link,
.main-header-menu a,
#ast-desktop-header .menu-link,
#ast-mobile-header .menu-link {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}

.main-header-menu > li > a {
  font-size: 0.76rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 0.55rem 0.65rem !important;
}

.main-header-menu > li > a:hover,
.main-header-menu > li.current-menu-item > a,
.main-header-menu > li.current-menu-ancestor > a,
.ast-builder-menu .menu-link:hover {
  color: var(--fz-accent-2) !important;
}

.main-header-menu .sub-menu {
  background: var(--fz-surface) !important;
  border: 1px solid var(--fz-line-strong) !important;
  border-radius: var(--fz-radius) !important;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.45) !important;
  padding: 0.35rem 0 !important;
  min-width: 17rem;
}

.main-header-menu .sub-menu a {
  color: #fff !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.04em !important;
  text-transform: none !important;
  padding: 0.65rem 1rem !important;
  border-bottom: 1px solid var(--fz-line);
}

.main-header-menu .sub-menu a:hover {
  background: var(--fz-accent-soft) !important;
  color: #fff !important;
}

.ast-header-button-1 .ast-custom-button,
.ast-button-wrap .ast-custom-button {
  border: 1px solid var(--fz-accent) !important;
  background: var(--fz-accent) !important;
  border-radius: var(--fz-radius) !important;
  padding: 0.55rem 0.95rem !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.ast-header-button-1 .ast-custom-button:hover,
.ast-button-wrap .ast-custom-button:hover {
  background: var(--fz-accent-2) !important;
  border-color: var(--fz-accent-2) !important;
  color: #fff !important;
}

.ast-header-button-1 .menu-link {
  display: none !important;
}

.ast-header-html-1,
.ast-builder-html-element {
  color: #fff !important;
  font-size: 0.8rem;
  letter-spacing: 0.04em;
}

.ast-header-html-1 a {
  color: #fff !important;
  text-decoration: none;
}

.ast-header-html-1 a:hover {
  color: var(--fz-accent-2) !important;
}

/* Mobile nav panel (Astra header-break-point flyout + popup drawer) */
.ast-mobile-header-content,
.ast-mobile-header-content .main-header-menu,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
.ast-mobile-popup-content,
.content-wrap.ast-mobile-popup-content,
.ast-mobile-popup-drawer,
.ast-header-break-point .main-header-bar-navigation,
.ast-header-break-point .main-navigation {
  background: #070B12 !important;
  color: #fff !important;
}

.ast-mobile-header-content {
  border-top: 1px solid var(--fz-line);
  padding: 0.35rem 0 1rem !important;
  max-height: min(80vh, 36rem);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.ast-mobile-popup-drawer .ast-mobile-popup-header {
  border-bottom: 1px solid var(--fz-line);
  padding: 0.85rem 1rem;
  background: #070B12 !important;
}

.ast-builder-menu-mobile .main-header-menu > li > a,
.ast-mobile-popup-drawer .menu-link,
.ast-mobile-header-content .menu-link,
.ast-header-break-point .main-header-menu .menu-link {
  color: #fff !important;
  padding: 0.95rem 1rem !important;
  border-bottom: 1px solid var(--fz-line) !important;
  font-size: 0.92rem !important;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-weight: 600;
  min-height: 48px;
  background: transparent !important;
}

.ast-mobile-popup-drawer .menu-link:hover,
.ast-builder-menu-mobile .main-header-menu > li.current-menu-item > a,
.ast-mobile-header-content .main-header-menu > li.current-menu-item > a,
.ast-mobile-header-content .menu-link:hover {
  color: var(--fz-accent-2) !important;
  background: var(--fz-accent-soft) !important;
}

.ast-mobile-popup-drawer .sub-menu .menu-link,
.ast-mobile-header-content .sub-menu .menu-link,
.ast-header-break-point .main-header-menu .sub-menu .menu-link {
  padding-left: 1.5rem !important;
  font-size: 0.84rem !important;
  text-transform: none;
  letter-spacing: 0.03em;
  font-weight: 500;
  color: var(--fz-muted) !important;
  background: #0a1018 !important;
}

.ast-mobile-header-content .ast-button-wrap,
.ast-mobile-header-content .ast-header-button-1,
.ast-mobile-header-content .ast-builder-html-element {
  padding: 0.85rem 1rem;
}

.ast-mobile-header-content .ast-custom-button {
  width: 100%;
  justify-content: center;
}

.menu-toggle,
.ast-mobile-menu-trigger-fill {
  border: 1px solid var(--fz-line-strong) !important;
  border-radius: var(--fz-radius) !important;
  padding: 0.45rem 0.55rem !important;
  background: transparent !important;
}

.ast-header-break-point .main-header-menu .menu-item-has-children > .menu-link .icon-arrow,
.ast-mobile-header-content .ast-menu-toggle {
  color: #fff !important;
  fill: #fff !important;
}

/* ===== HOMEPAGE: kill Astra content-width boxing ===== */
body.home #content,
body.home #primary,
body.home .site-content,
body.home .content-area,
body.home #content .ast-container,
body.home article.ast-article-single,
body.home .entry-content,
body.home .entry-content > *,
body.home .entry-content > .wp-block-html,
body.home .ftg,
body.home .ftg section {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.home .entry-content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.home .ftg {
  overflow: visible;
  background: transparent;
}

body.home .ftg .wrap {
  width: min(100% - 2rem, var(--fz-max));
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
}

/* ===== HERO ===== */
body.home .ftg .hero,
body.home .entry-content .hero,
body.home .ftg section.hero {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-top: calc(-1 * var(--fz-header-h)) !important;
  margin-bottom: 0 !important;
  min-height: 90vh !important;
  height: auto !important;
  max-height: none !important;
  display: flex;
  align-items: stretch;
  background: #070B12 url(/wp-content/uploads/2026/06/homepage-hero.jpg) 58% center / cover no-repeat;
  padding: 0 !important;
  overflow: hidden;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.ftg .hero-vid {
  position: absolute !important;
  inset: 0 !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: 58% center !important;
  z-index: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  pointer-events: none;
  background: transparent;
}

.ftg .hero-ov {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}

.ftg .hero-ov-left {
  background: linear-gradient(90deg, rgba(4, 8, 14, 0.94) 0%, rgba(4, 8, 14, 0.78) 22%, rgba(4, 8, 14, 0.38) 46%, rgba(4, 8, 14, 0.1) 64%, rgba(4, 8, 14, 0) 78%);
}

.ftg .hero-ov-top {
  background: linear-gradient(180deg, rgba(4, 8, 14, 0.55) 0%, rgba(4, 8, 14, 0.18) 10%, transparent 22%);
}

.ftg .hero-ov-bottom {
  background: linear-gradient(to bottom, transparent 48%, rgba(7, 11, 18, 0.28) 68%, rgba(7, 11, 18, 0.72) 86%, #070B12 100%);
}

.ftg .hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: min(100% - 2.5rem, var(--fz-max)) !important;
  max-width: var(--fz-max) !important;
  margin: 0 auto !important;
  padding: calc(var(--fz-header-h) + 2.5rem) 0 4.5rem;
  min-height: 90vh;
  box-sizing: border-box;
}

.ftg .hero-body {
  max-width: 50rem !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0;
  opacity: 1;
}

.ftg .hero h1,
body.home .entry-content .hero h1 {
  margin: 0 0 1.15rem;
  max-width: 46rem;
  font-size: clamp(2.35rem, 4.2vw, 3.35rem);
  text-transform: none;
  letter-spacing: -0.03em;
  line-height: 1.1;
  font-weight: 700;
  color: #FFFFFF !important;
  opacity: 1;
}

.ftg .hero .lead {
  margin: 0 0 1.7rem;
  max-width: 40rem;
  color: rgba(214, 222, 232, 0.9);
  font-size: clamp(1.05rem, 1.5vw, 1.2rem);
  font-weight: 400;
  line-height: 1.55;
}

.ftg .hero .cta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  column-gap: 1rem;
  row-gap: 1.35rem;
}

.ftg .hero .btn {
  position: relative;
  overflow: visible;
  min-height: 52px;
  padding: 0.88rem 1.45rem;
  font-size: 0.88rem;
  letter-spacing: 0.07em;
  transform: translateY(0) scale(1);
  transition:
    background-color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1),
    border-color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1),
    color 0.22s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1),
    box-shadow 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ftg .hero .btn::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 1px;
  pointer-events: none;
  transition: width 0.22s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ftg .hero .btn-primary {
  background: var(--fz-accent);
  border-color: var(--fz-accent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.ftg .hero .btn-primary::before {
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.55));
}

.ftg .hero .btn-ghost {
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(7, 11, 18, 0.18);
  box-shadow: none;
}

.ftg .hero-signal {
  display: none !important;
}

.ftg .hero .btn-services,
.ftg .hero .cta-label-mob,
.fz-sticky-cta,
.fz-sheet {
  display: none;
}

.ftg .hero-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: auto;
  max-width: max-content;
  margin: 0;
  min-height: 0;
  color: rgba(244, 247, 251, 0.72);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.32);
  box-shadow: none;
  padding: 0 0 3px;
}

.ftg .hero .cta-row::after {
  content: "";
  flex: 1 0 100%;
  order: 1;
  height: 0;
}

.ftg .hero .cta-row .hero-more {
  order: 2;
  margin-left: 0.15rem;
  margin-right: auto;
}

.ftg .hero-more:hover,
.ftg .hero-more:focus-visible {
  color: #fff;
  border-bottom-color: var(--fz-accent-2);
  box-shadow: none;
}

.ftg .hero .btn-ghost::before {
  background: linear-gradient(90deg, rgba(43, 108, 255, 0), var(--fz-accent));
}

.ftg .hero .btn:focus {
  outline: none;
}

.ftg .hero .btn:focus-visible {
  outline: 2px solid #9EC0FF;
  outline-offset: 3px;
}

.ftg .hero .btn-ghost:focus-visible {
  outline-color: var(--fz-accent-2);
}

.ftg .hero .btn:active {
  transform: translateY(0) scale(0.98);
  transition-duration: 80ms;
}

@media (hover: hover) and (pointer: fine) {
  .ftg .hero .btn-primary:hover {
    background: #3B7AFF;
    border-color: #3B7AFF;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.22);
  }

  .ftg .hero .btn-ghost:hover {
    border-color: var(--fz-accent);
    background: rgba(43, 108, 255, 0.08);
    color: #fff;
    transform: translateY(-2px);
  }

  .ftg .hero .btn:hover::before {
    width: 100%;
  }

  .ftg .hero .btn:hover:active {
    transform: translateY(0) scale(0.98);
    transition-duration: 80ms;
  }
}

@media (prefers-reduced-motion: reduce) {
  .ftg .hero .btn,
  .ftg .hero .btn::before {
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
  }

  .ftg .hero .btn:hover,
  .ftg .hero .btn:active,
  .ftg .hero .btn:hover:active {
    transform: none;
  }

  .ftg .hero .btn::before,
  .ftg .hero .btn:hover::before {
    width: 0;
  }
}

.ftg .hero-trust {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin-top: 5.5rem;
  padding-top: 1.15rem;
}

.ftg .hero-trust-item {
  display: flex;
  align-items: flex-start;
  gap: 0.7rem;
  padding: 0.15rem 1rem 0.15rem 0;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.ftg .hero-trust-item:last-child {
  border-right: 0;
  padding-right: 0;
}

.ftg .hero-trust-item:first-child {
  padding-left: 0;
}

.ftg .hero-trust-item .mark {
  flex: 0 0 auto;
  width: 1.15rem;
  height: 1.15rem;
  margin-top: 0.12rem;
  border: 1px solid var(--fz-accent);
  background: transparent;
}

.ftg .hero-trust-item strong {
  display: block;
  color: #fff;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.2rem;
}

.ftg .hero-trust-item span:not(.mark) {
  display: block;
  color: rgba(196, 206, 218, 0.78);
  font-size: 0.8rem;
  line-height: 1.35;
}

body.home .ftg .hero + .section {
  border-top: 0;
  margin-top: 0;
  padding-top: 2.75rem;
}

/* ===== WHO WE HELP ===== */
.ftg .wws .wws-ey,
.ftg .svc-ey {
  text-align: center;
}

.ftg .wws-h2,
.ftg .svc-ov-title {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  margin-top: 0;
}

.ftg .wws-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.15rem;
}

.ftg .wws-card {
  display: flex;
  flex-direction: column;
  background: var(--fz-surface);
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 14px;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition:
    border-color 0.25s ease,
    transform 0.22s ease,
    box-shadow 0.25s ease;
}

.ftg a.wws-card:hover,
.ftg a.wws-card:focus-visible {
  border-color: rgba(77, 134, 255, 0.55);
  transform: translateY(-4px);
  box-shadow:
    0 16px 48px rgba(43, 108, 255, 0.18),
    0 0 0 1px rgba(77, 134, 255, 0.2);
  outline: none;
}

.ftg .wws-img {
  position: relative;
  display: block;
  flex-shrink: 0;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #0a1018;
}

.ftg .wws-media {
  position: absolute;
  inset: 0;
  background: #0a1018 center/cover no-repeat;
  transition: transform 0.45s ease;
}

.ftg .wws-img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(5, 10, 20, 0.18);
  pointer-events: none;
  transition: background 0.25s ease;
}

.ftg a.wws-card:hover .wws-media,
.ftg a.wws-card:focus-visible .wws-media {
  transform: scale(1.04);
}

.ftg a.wws-card:hover .wws-img::after,
.ftg a.wws-card:focus-visible .wws-img::after {
  background: rgba(5, 10, 20, 0.08);
}

.ftg .wws-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 1.5rem 1.75rem 1.75rem;
}

.ftg .wws-card h3 {
  margin: 0 0 0.45rem;
  font-size: 1.05rem;
  letter-spacing: -0.02em;
}

.ftg .wws-card p {
  margin: 0;
  color: var(--fz-muted);
  font-size: 0.92rem;
  line-height: 1.55;
  flex: 1;
}

.ftg .wws-more {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin-top: 1.1rem;
  color: var(--fz-accent-2);
  font-size: 0.82rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}

.ftg .wws-arr {
  display: inline-block;
  transition: transform 0.22s ease;
}

.ftg a.wws-card:hover .wws-arr,
.ftg a.wws-card:focus-visible .wws-arr {
  transform: translateX(4px);
}

/* ===== SERVICE OVERLAY CARDS ===== */
.ftg .svc-ov-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
}

.ftg .svc-ov {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 200px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  overflow: hidden;
  text-decoration: none;
  color: #fff;
  background: #0a1018;
  cursor: pointer;
  transition:
    border-color 0.22s ease,
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.ftg .svc-ov-media {
  position: absolute;
  inset: 0;
  background: #0a1018 center 38%/cover no-repeat;
  transition: transform 0.5s ease;
  z-index: 0;
}

.ftg .svc-ov::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: rgba(5, 10, 20, 0.42);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.3s ease, backdrop-filter 0.3s ease;
}

.ftg a.svc-ov:hover,
.ftg a.svc-ov:focus-visible {
  border-color: var(--fz-accent);
  transform: translateY(-3px);
  box-shadow: 0 10px 36px rgba(43, 108, 255, 0.12);
  outline: none;
}

.ftg a.svc-ov:hover .svc-ov-media,
.ftg a.svc-ov:focus-visible .svc-ov-media {
  transform: scale(1.04);
}

.ftg a.svc-ov:hover::before,
.ftg a.svc-ov:focus-visible::before {
  background: rgba(5, 10, 20, 0.28);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}

.ftg .svc-ov-body {
  position: relative;
  z-index: 2;
  padding: 1.1rem 1rem;
  text-align: center;
}

.ftg .svc-ov h3 {
  margin: 0 0 0.4rem;
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #fff;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.7);
}

.ftg .svc-ov p {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.78rem;
  line-height: 1.45;
  text-shadow: 0 1px 6px rgba(0, 0, 0, 0.65);
}

/* ===== SERVICE CARDS ===== */
.ftg .svc-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.9rem;
}

.ftg .svc-card {
  display: flex;
  flex-direction: column;
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius);
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: border-color 0.18s, transform 0.18s;
}

.ftg a.svc-card:hover {
  border-color: var(--fz-accent);
  transform: translateY(-2px);
}

.ftg .svc-card .media {
  aspect-ratio: 16 / 10;
  background: #0a1018 center/cover no-repeat;
  border-bottom: 1px solid var(--fz-line);
}

.ftg .svc-card .body {
  padding: 1rem 1rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  flex: 1;
}

.ftg .svc-card h3 {
  margin: 0;
  font-size: 0.92rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.ftg .svc-card p {
  margin: 0;
  color: var(--fz-muted);
  font-size: 0.88rem;
  flex: 1;
}

.ftg .svc-card .more {
  margin-top: 0.35rem;
  color: var(--fz-accent-2);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-decoration: none;
}

/* ===== EQUIPMENT ===== */
.ftg .equip {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 1rem;
  align-items: stretch;
}

.ftg .equip-hero {
  position: relative;
  min-height: 28rem;
  background: #0a1018 center/cover no-repeat;
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius);
  overflow: hidden;
}

.ftg .equip-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(7, 11, 18, 0.88));
}

.ftg .equip-hero .cap {
  position: absolute;
  left: 1.1rem;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 1;
  color: #fff;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.ftg .equip-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.85rem;
}

.ftg .equip-tile {
  min-height: 13.5rem;
  background: #0a1018 center/cover no-repeat;
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius);
  position: relative;
  overflow: hidden;
}

.ftg .equip-tile::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(7, 11, 18, 0.9));
}

.ftg .equip-tile span {
  position: absolute;
  left: 0.85rem;
  right: 0.85rem;
  bottom: 0.85rem;
  z-index: 1;
  color: #fff;
  font-size: 0.75rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 700;
}

/* ===== PROCESS ===== */
.ftg .process {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  position: relative;
}

.ftg .process::before {
  content: "";
  position: absolute;
  top: 2.1rem;
  left: 8%;
  right: 8%;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--fz-accent), transparent);
  opacity: 0.55;
}

.ftg .step {
  padding: 0.5rem 0.85rem 0.25rem;
  text-align: left;
  position: relative;
}

.ftg .step .num {
  display: block;
  color: var(--fz-accent-2);
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  margin-bottom: 0.85rem;
}

.ftg .step .icon {
  width: 2.2rem;
  height: 2.2rem;
  border: 1px solid var(--fz-accent);
  display: grid;
  place-items: center;
  margin-bottom: 0.85rem;
  color: var(--fz-accent-2);
  font-size: 0.75rem;
  font-weight: 800;
  background: var(--fz-bg);
  position: relative;
  z-index: 1;
}

.ftg .step h3 {
  margin: 0 0 0.4rem;
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--fz-accent-2);
}

.ftg .step p {
  margin: 0;
  color: var(--fz-muted);
  font-size: 0.86rem;
}

/* ===== INTERACTIVE PROCESS TIMELINE ===== */
.fz-tl-sprite {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

.fz-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.ftg .fz-timeline {
  --tl-muted: #8a94a6;
  --tl-mono: var(--fz-font);
  padding: 1.5rem 0 2.5rem;
}

.ftg .fz-timeline h2 {
  font-size: 1.5rem;
  font-weight: 800;
  letter-spacing: -0.025em;
  line-height: 0.95;
  text-transform: uppercase;
}

.ftg .fz-timeline .fz-tl-lead {
  margin: 0.5rem 0 0;
  max-width: 32rem;
  color: var(--tl-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

.fz-tl-ico {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex-shrink: 0;
}

.fz-tl-rail-desk {
  display: none;
  position: relative;
  margin-top: 2rem;
}

.fz-tl-track {
  position: absolute;
  left: 1.75rem;
  right: 1.75rem;
  top: 1.75rem;
  height: 1px;
  background: var(--fz-line);
}

.fz-tl-progress {
  display: block;
  height: 1px;
  width: 0;
  background: var(--fz-accent);
  box-shadow: 0 0 8px rgba(43, 108, 255, 0.6);
  transition: width 0.5s ease-out;
}

.fz-tl-steps {
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
  padding: 0;
  list-style: none;
}

.fz-tl-tab {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
  color: inherit;
  cursor: pointer;
  font: inherit;
  transition: transform 0.18s ease;
}

.fz-tl-dot {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  border: 1px solid var(--fz-line);
  border-radius: 50%;
  background: var(--fz-surface);
  color: var(--tl-muted);
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  font-family: var(--tl-mono);
  transition: border-color 0.18s ease, background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.fz-tl-tab.is-done .fz-tl-dot {
  border-color: rgba(43, 108, 255, 0.7);
  background: var(--fz-surface);
  color: var(--fz-accent);
}

.fz-tl-tab.is-active .fz-tl-dot {
  border-color: var(--fz-accent);
  background: var(--fz-accent);
  color: #fff;
  box-shadow: 0 0 0 5px rgba(43, 108, 255, 0.15), 0 0 22px rgba(43, 108, 255, 0.45);
}

.fz-tl-tab .fz-tl-ico {
  width: 1.5rem;
  height: 1.5rem;
  color: var(--tl-muted);
  transition: color 0.18s ease;
}

.fz-tl-tab.is-active .fz-tl-ico {
  color: var(--fz-accent);
}

.fz-tl-lab {
  font-family: var(--tl-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--tl-muted);
  transition: color 0.18s ease;
}

.fz-tl-tab.is-active .fz-tl-lab {
  color: var(--fz-accent);
}

@media (hover: hover) and (pointer: fine) {
  .fz-tl-tab:not(.is-active):hover {
    transform: translateY(-1px);
    color: inherit;
    background: none;
  }

  .fz-tl-tab:not(.is-active):hover .fz-tl-dot {
    background: var(--fz-surface);
    border-color: rgba(244, 247, 251, 0.38);
    color: rgba(244, 247, 251, 0.92);
    box-shadow: none;
  }

  .fz-tl-tab:not(.is-active):hover .fz-tl-ico,
  .fz-tl-tab:not(.is-active):hover .fz-tl-lab {
    color: rgba(244, 247, 251, 0.82);
  }
}

.ftg .fz-timeline .fz-tl-tab,
.ftg .fz-timeline .fz-tl-tab:hover,
.ftg .fz-timeline .fz-tl-tab:focus,
.ftg .fz-timeline .fz-tl-tab:focus-visible,
.ftg .fz-timeline .fz-tl-tab:active {
  background: none;
  background-color: transparent;
  color: inherit;
  box-shadow: none;
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.fz-tl-tab::-moz-focus-inner {
  border: 0;
  background: transparent;
}

.fz-tl-tab:focus-visible .fz-tl-dot {
  outline: 2px solid var(--fz-accent);
  outline-offset: 4px;
}

.fz-tl-rail-mob {
  display: block;
  margin-top: 1.25rem;
}

.fz-tl-mob-scroll {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  overflow-x: auto;
  margin: 0 -1rem;
  padding: 0 1rem;
  scrollbar-width: none;
}

.fz-tl-mob-scroll::-webkit-scrollbar {
  display: none;
}

.fz-tl-mtab {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: 1px solid var(--fz-line);
  border-radius: 50%;
  background: var(--fz-surface);
  color: var(--tl-muted);
  font-family: var(--tl-mono);
  font-size: 0.875rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  cursor: pointer;
  transition: border-color 0.3s, background 0.3s, color 0.3s, box-shadow 0.3s;
}

.fz-tl-mtab.is-done {
  border-color: rgba(43, 108, 255, 0.6);
  background: transparent;
  color: var(--fz-accent);
}

.fz-tl-mtab.is-active {
  border-color: var(--fz-accent);
  background: var(--fz-accent);
  color: #fff;
  box-shadow: 0 0 18px rgba(43, 108, 255, 0.45);
}

.ftg .fz-timeline .fz-tl-mtab:hover,
.ftg .fz-timeline .fz-tl-mtab:focus,
.ftg .fz-timeline .fz-tl-mtab:focus-visible,
.ftg .fz-timeline .fz-tl-mtab:active {
  background: var(--fz-surface);
  background-color: var(--fz-surface);
  color: var(--tl-muted);
  outline: none;
  -webkit-tap-highlight-color: transparent;
}

.ftg .fz-timeline .fz-tl-mtab.is-done:hover,
.ftg .fz-timeline .fz-tl-mtab.is-done:focus,
.ftg .fz-timeline .fz-tl-mtab.is-done:active {
  background: var(--fz-surface);
  color: var(--fz-accent);
}

.ftg .fz-timeline .fz-tl-mtab.is-active:hover,
.ftg .fz-timeline .fz-tl-mtab.is-active:focus,
.ftg .fz-timeline .fz-tl-mtab.is-active:active {
  background: var(--fz-accent);
  color: #fff;
}

.fz-tl-mtab:focus-visible {
  outline: 2px solid var(--fz-accent);
  outline-offset: 2px;
}

.fz-tl-mob-meta {
  display: flex;
  align-items: center;
  min-height: 1.5rem;
  margin-top: 0.75rem;
}

.fz-tl-mob-cur {
  display: none;
  align-items: center;
  gap: 0.5rem;
  color: var(--fz-accent);
  font-family: var(--tl-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}

.fz-tl-mob-cur.is-on {
  display: inline-flex;
}

.fz-tl-mob-line {
  margin-top: 0.65rem;
  height: 1px;
  width: 100%;
  background: var(--fz-line);
}

.fz-tl-rule {
  margin-top: 1.25rem;
  height: 1px;
  background: var(--fz-line);
}

.fz-tl-detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  align-items: center;
  margin-top: 1.25rem;
}

.fz-tl-panel {
  display: none;
  gap: 1rem;
}

.fz-tl-panel.is-active {
  display: flex;
}

.fz-tl-panel[hidden] {
  display: none !important;
}

.fz-tl-index {
  font-family: var(--tl-mono);
  font-size: 1.875rem;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
  line-height: 1;
  color: var(--fz-accent);
}

.fz-tl-copy {
  border-left: 1px solid var(--fz-line);
  padding-left: 1rem;
  min-height: 8.5rem;
}

.fz-tl-kicker {
  display: block;
  font-family: var(--tl-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--fz-accent);
}

.ftg .fz-timeline .fz-tl-copy h3 {
  margin: 0.4rem 0 0;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.fz-tl-copy p {
  margin: 0.5rem 0 0;
  max-width: 28rem;
  color: var(--tl-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}

.fz-tl-next {
  display: inline-flex;
  align-items: center;
  gap: 0.75rem;
  min-height: 2.75rem;
  margin-top: 0.9rem;
  padding: 0.6rem 1rem;
  border: 1px solid var(--fz-line);
  background: transparent;
  color: var(--fz-ink);
  font-family: var(--tl-mono);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: border-color 0.3s, color 0.3s;
}

.fz-tl-next-k {
  color: var(--tl-muted);
}

.ftg .fz-timeline .fz-tl-next:hover,
.ftg .fz-timeline .fz-tl-next:focus,
.ftg .fz-timeline .fz-tl-next:focus-visible,
.ftg .fz-timeline .fz-tl-next:active {
  background: transparent;
  background-color: transparent;
  border-color: var(--fz-accent);
  color: var(--fz-accent);
}

.fz-tl-next:hover .fz-tl-next-k,
.fz-tl-next:focus-visible .fz-tl-next-k {
  color: var(--fz-accent);
}

.fz-tl-next:focus {
  outline: none;
}

.fz-tl-next:focus-visible {
  outline: 2px solid var(--fz-accent);
  outline-offset: 2px;
}

.fz-tl-arr {
  width: 1rem;
  height: 1rem;
  transition: transform 0.3s;
}

.fz-tl-next:hover .fz-tl-arr {
  transform: translateX(4px);
}

.fz-tl-visual {
  display: none;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  max-height: 11rem;
}

.fz-tl-visual img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 11rem;
  object-fit: contain;
  opacity: 0.8;
  mix-blend-mode: lighten;
}

.fz-tl-hi {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem 1.5rem;
  margin: 1.25rem 0 0;
  padding: 0;
  list-style: none;
}

.fz-tl-hi h3 {
  margin: 0.5rem 0 0;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.fz-tl-hi p {
  margin: 0.25rem 0 0;
  color: var(--tl-muted);
  font-size: 0.75rem;
  line-height: 1.55;
}

.fz-tl-hi .fz-tl-ico {
  color: var(--fz-accent);
}

@media (min-width: 640px) {
  .ftg .fz-timeline {
    padding: 3rem 0;
  }

  .ftg .fz-timeline h2 {
    font-size: 2.25rem;
  }

  .ftg .fz-timeline .fz-tl-lead {
    font-size: 1rem;
  }

  .fz-tl-index {
    font-size: 3rem;
  }

  .fz-tl-copy {
    padding-left: 1.25rem;
    min-height: 9.5rem;
  }

  .ftg .fz-timeline .fz-tl-copy h3 {
    font-size: 1.875rem;
  }

  .fz-tl-copy p,
  .fz-tl-hi p {
    font-size: 1rem;
  }

  .fz-tl-hi p {
    font-size: 0.875rem;
  }
}

@media (min-width: 768px) {
  .fz-tl-rail-desk {
    display: block;
  }

  .fz-tl-rail-mob {
    display: none;
  }

  .fz-tl-rule {
    margin-top: 2.5rem;
  }

  .fz-tl-detail {
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 2rem;
  }

  .fz-tl-visual {
    display: flex;
  }
}

@media (min-width: 1024px) {
  .fz-tl-detail {
    gap: 2.5rem;
  }

  .fz-tl-visual,
  .fz-tl-visual img {
    max-height: 13rem;
  }

  .fz-tl-hi {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
  }

  .fz-tl-hi li {
    padding-right: 1.5rem;
  }

  .fz-tl-hi li + li {
    padding-left: 1.5rem;
    border-left: 1px solid var(--fz-line);
  }

  .fz-tl-hi .fz-tl-ico {
    width: 1.5rem;
    height: 1.5rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fz-tl-progress,
  .fz-tl-dot,
  .fz-tl-tab,
  .fz-tl-tab .fz-tl-ico,
  .fz-tl-lab,
  .fz-tl-mtab,
  .fz-tl-next,
  .fz-tl-arr {
    transition: none;
  }
}

/* ===== TRUST STRIP ===== */
.ftg .trust {
  background: var(--fz-surface-2);
  border-block: 1px solid var(--fz-line);
}

.ftg .trust-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}

.ftg .trust-item {
  padding: 1.35rem 1rem;
  text-align: left;
  border-right: 1px solid var(--fz-line);
}

.ftg .trust-item:last-child {
  border-right: 0;
}

.ftg .trust-item .label {
  display: block;
  color: var(--fz-accent-2);
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
  margin-bottom: 0.45rem;
}

.ftg .trust-item .title {
  display: block;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ftg .trust-item .desc {
  display: block;
  margin-top: 0.35rem;
  color: var(--fz-muted);
  font-size: 0.84rem;
}

/* ===== WHO WE SERVE ===== */
.ftg .audience-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  gap: 0.85rem;
}

.ftg .aud {
  position: relative;
  min-height: 12.5rem;
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius);
  overflow: hidden;
  background: var(--fz-surface) center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  text-decoration: none;
  color: #fff;
}

.ftg .aud::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 11, 18, 0.15), rgba(7, 11, 18, 0.88));
}

.ftg .aud.featured {
  min-height: 26.5rem;
  grid-row: span 2;
}

.ftg .aud .body {
  position: relative;
  z-index: 1;
  padding: 1.1rem;
}

.ftg .aud h3 {
  margin: 0 0 0.3rem;
  font-size: 0.95rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.ftg .aud p {
  margin: 0;
  color: rgba(244, 247, 251, 0.78);
  font-size: 0.86rem;
}

.ftg .aud-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 0.85rem;
}

.ftg .aud-chip {
  border: 1px solid var(--fz-line);
  background: var(--fz-surface);
  padding: 0.95rem 0.9rem;
  border-radius: var(--fz-radius);
}

.ftg .aud-chip strong {
  display: block;
  color: #fff;
  font-size: 0.84rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 0.25rem;
}

.ftg .aud-chip span {
  color: var(--fz-muted);
  font-size: 0.82rem;
}

/* ===== SERVICE AREA / TYPOGRAPHIC COVERAGE ===== */
.ftg .fz-cover-kicker {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem 1.5rem;
  flex-wrap: wrap;
}

.ftg .fz-cover-kicker .eyebrow {
  margin-bottom: 0;
}

.ftg .fz-cover-where {
  margin: 0;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #565f70;
}

.ftg .fz-cover h2 {
  margin: 1.15rem 0 0.85rem;
  font-size: clamp(1.7rem, 4.2vw, 3.75rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 0.98;
}

.ftg .fz-cover-lead {
  max-width: 42rem;
  margin-bottom: 0;
  font-size: 0.95rem;
  line-height: 1.65;
}

.ftg .fz-cover-places {
  margin: 2rem 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--fz-line);
}

.ftg .fz-cover-places li {
  margin: 0;
  border-bottom: 1px solid var(--fz-line);
}

.ftg .fz-cover-loc {
  display: flex;
  align-items: center;
  gap: 1rem;
  min-height: 56px;
  padding: 0.85rem 0;
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}

.ftg .fz-cover-loc.is-end {
  flex-direction: row-reverse;
  text-align: right;
}

.ftg .fz-cover .fz-cover-loc,
.ftg .fz-cover .fz-cover-loc:hover,
.ftg .fz-cover .fz-cover-loc:focus,
.ftg .fz-cover .fz-cover-loc:focus-visible,
.ftg .fz-cover .fz-cover-loc:active {
  background: none;
  background-color: transparent;
  color: inherit;
  box-shadow: none;
  outline: none;
}

.ftg .fz-cover-loc:focus-visible {
  outline: 2px solid var(--fz-accent);
  outline-offset: 4px;
}

.ftg .fz-cover-place {
  flex: 0 1 auto;
  min-width: 0;
  font-size: clamp(1.25rem, 3vw, 2.875rem);
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.08;
  text-transform: uppercase;
  color: var(--fz-muted);
  transition: color 0.2s;
}

.ftg .fz-cover-rule {
  flex: 1 1 2.5rem;
  height: 1px;
  min-width: 1.5rem;
  background: var(--fz-line);
  transition: background-color 0.2s;
}

@media (hover: hover) and (pointer: fine) {
  .ftg .fz-cover-loc:hover .fz-cover-place {
    color: #fff;
  }

  .ftg .fz-cover-loc:hover .fz-cover-rule {
    background: var(--fz-accent);
  }
}

.ftg .fz-cover-foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 1.5rem;
  margin-top: 2rem;
}

.ftg .fz-cover-note {
  margin: 0;
  max-width: 28rem;
  color: var(--fz-muted);
  font-size: 0.92rem;
  line-height: 1.6;
}

.ftg .fz-cover-go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 48px;
  padding: 0.7rem 1.15rem;
  border: 1px solid var(--fz-accent);
  border-radius: var(--fz-radius);
  color: #fff;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.ftg .fz-cover-go:hover,
.ftg .fz-cover-go:focus-visible {
  background: var(--fz-accent);
  border-color: var(--fz-accent);
  color: #fff;
}

@media (max-width: 639px) {
  .ftg .fz-cover h2 {
    font-size: clamp(1.55rem, 7.2vw, 2.1rem);
  }

  .ftg .fz-cover-place {
    font-size: clamp(1.2rem, 6.4vw, 1.7rem);
  }

  .ftg .fz-cover-go {
    width: 100%;
  }
}

/* ===== FAQ ===== */
.ftg .fz-faq {
  background: var(--fz-bg);
}

.ftg .fz-faq h2 {
  margin: 0 0 0.85rem;
  max-width: 18ch;
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.05;
  text-transform: uppercase;
}

.ftg .fz-faq-lead {
  max-width: 42rem;
  margin-bottom: 0;
  font-size: 0.95rem;
  line-height: 1.65;
}

.ftg .fz-faq-rule,
.ftg .fz-tl-rule {
  display: none !important;
}

.ftg .fz-faq-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  min-width: 0;
}

.ftg .fz-faq-col {
  min-width: 0;
  border-top: 1px solid var(--fz-line);
}

.ftg .fz-faq-item {
  border-bottom: 1px solid var(--fz-line);
  background: transparent;
  transition: border-color 180ms ease;
}

.ftg .fz-faq-item.is-open {
  border-bottom-color: #2b6cff;
  background: transparent;
}

.ftg .fz-faq-q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  min-height: 56px;
  padding: 0.95rem 0.15rem;
  border: 0;
  border-radius: 0;
  background: none;
  color: rgba(255, 255, 255, 0.86);
  font-family: inherit;
  font-size: 0.95rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  line-height: 1.35;
  text-align: left;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  transition: color 180ms ease;
}

.ftg .fz-faq .fz-faq-q,
.ftg .fz-faq .fz-faq-q:hover,
.ftg .fz-faq .fz-faq-q:focus,
.ftg .fz-faq .fz-faq-q:focus-visible,
.ftg .fz-faq .fz-faq-q:active {
  background: none;
  background-color: transparent;
  box-shadow: none;
  outline: none;
}

.ftg .fz-faq .fz-faq-q:hover,
.ftg .fz-faq .fz-faq-q:focus,
.ftg .fz-faq .fz-faq-q:focus-visible,
.ftg .fz-faq .fz-faq-q:active {
  color: #fff;
}

.ftg .fz-faq-q:focus-visible {
  outline: 2px solid var(--fz-accent);
  outline-offset: 3px;
}

.ftg .fz-faq-qtxt {
  flex: 1 1 auto;
  min-width: 0;
  color: inherit;
  transition: color 180ms ease;
}

.ftg .fz-faq-item.is-open .fz-faq-q,
.ftg .fz-faq-item.is-open .fz-faq-qtxt {
  color: #fff;
}

.ftg .fz-faq-ico {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.7rem;
  height: 1.7rem;
  border: 1px solid rgba(154, 168, 184, 0.45);
  border-radius: 999px;
  color: rgba(154, 168, 184, 0.95);
  transition: border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.ftg .fz-faq-ico svg {
  display: block;
  overflow: visible;
}

.ftg .fz-faq-plus,
.ftg .fz-faq-minus {
  transform-origin: 10px 10px;
  transition: opacity 180ms ease, transform 220ms ease;
}

.ftg .fz-faq-minus {
  opacity: 0;
}

.ftg .fz-faq-item.is-open .fz-faq-plus {
  opacity: 0;
  transform: rotate(90deg);
}

.ftg .fz-faq-item.is-open .fz-faq-minus {
  opacity: 1;
}

.ftg .fz-faq-item.is-open .fz-faq-ico {
  border-color: #2b6cff;
  color: #2b6cff;
  background: transparent;
}

.ftg .fz-faq-a {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 220ms ease;
}

.ftg .fz-faq-item.is-open .fz-faq-a {
  grid-template-rows: 1fr;
}

.ftg .fz-faq-a[hidden] {
  display: none;
}

.ftg .fz-faq-a-inner {
  overflow: hidden;
  min-height: 0;
  padding: 0 2.7rem 0 0.15rem;
  opacity: 0;
  transform: translateY(5px);
  transition: opacity 220ms ease, transform 220ms ease, padding-bottom 220ms ease;
}

.ftg .fz-faq-item.is-open .fz-faq-a-inner {
  padding-bottom: 1rem;
  opacity: 1;
  transform: translateY(0);
}

.ftg .fz-faq-a-inner p {
  margin: 0;
  max-width: 40rem;
  color: var(--fz-muted);
  font-size: 0.9rem;
  line-height: 1.65;
}

@media (hover: hover) and (pointer: fine) {
  .ftg .fz-faq-item:not(.is-open):hover {
    border-color: rgba(255, 255, 255, 0.22);
  }

  .ftg .fz-faq-item:not(.is-open):hover .fz-faq-q,
  .ftg .fz-faq-item:not(.is-open):hover .fz-faq-qtxt {
    color: #fff;
  }

  .ftg .fz-faq-item:not(.is-open):hover .fz-faq-ico {
    border-color: #2b6cff;
    color: #2b6cff;
  }
}

/* One-time section entrance (enabled via JS class) */
.ftg .fz-faq.fz-faq-motion:not(.is-inview) .eyebrow,
.ftg .fz-faq.fz-faq-motion:not(.is-inview) h2,
.ftg .fz-faq.fz-faq-motion:not(.is-inview) .fz-faq-lead,
.ftg .fz-faq.fz-faq-motion:not(.is-inview) .fz-faq-rule,
.ftg .fz-faq.fz-faq-motion:not(.is-inview) .fz-faq-item {
  opacity: 0;
  transform: translateY(10px);
}

.ftg .fz-faq.fz-faq-motion.is-inview .eyebrow,
.ftg .fz-faq.fz-faq-motion.is-inview h2,
.ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-lead,
.ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-rule,
.ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-item {
  opacity: 1;
  transform: translateY(0);
  transition:
    opacity 400ms ease,
    transform 400ms ease;
  transition-delay: var(--fz-faq-delay, 0ms);
}

.ftg .fz-faq.fz-faq-motion.is-inview .eyebrow {
  --fz-faq-delay: 0ms;
}

.ftg .fz-faq.fz-faq-motion.is-inview h2 {
  --fz-faq-delay: 40ms;
}

.ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-lead {
  --fz-faq-delay: 70ms;
}

.ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-rule {
  --fz-faq-delay: 95ms;
}

@media (min-width: 901px) {
  .ftg .fz-faq-grid {
    grid-template-columns: 1fr 1fr;
    column-gap: 2.25rem;
  }

  .ftg .fz-faq-col {
    border-top: 0;
  }

  .ftg .fz-faq-col .fz-faq-item:first-child {
    border-top: 1px solid var(--fz-line);
  }

  .ftg .fz-faq-item.is-open {
    border-top-color: rgba(43, 108, 255, 0.35);
  }
}

@media (max-width: 639px) {
  .ftg .fz-faq h2 {
    max-width: none;
    font-size: clamp(1.85rem, 8vw, 2.25rem);
  }

  .ftg .fz-faq-q {
    font-size: 0.9rem;
    padding: 0.9rem 0;
  }

  .ftg .fz-faq-a-inner {
    padding-right: 0.15rem;
  }
}

/* ===== CONTACT / LEAD FORM ===== */
.ftg .fz-lead {
  background: var(--fz-bg);
  overflow-x: clip;
}

.ftg .fz-lead-head {
  max-width: 40rem;
  margin-bottom: 1.75rem;
}

.ftg .fz-lead-head h2 {
  margin: 0 0 0.85rem;
  font-size: clamp(2rem, 4.2vw, 3.4rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 0.98;
  text-transform: uppercase;
}

.ftg .fz-lead-intro {
  margin: 0;
  max-width: 38rem;
}

.ftg .fz-lead-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
  gap: 1.15rem 1.5rem;
  align-items: start;
  width: 100%;
}

.ftg .fz-lead-main,
.ftg .fz-lead-aside,
.ftg .fz-lead-field,
.ftg .fz-lead-row,
.ftg .fz-lead-types,
.ftg .fz-lead-services {
  min-width: 0;
  max-width: 100%;
}

.ftg .fz-lead-form,
.ftg .fz-lead-success {
  border: 1px solid var(--fz-line);
  border-radius: 1rem;
  background: #0d1420;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.ftg .fz-lead-card,
.ftg .fz-lead-panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  position: relative;
  overflow: visible;
  padding: 0;
}

.ftg .fz-lead-form {
  padding: 1.25rem 1.15rem 1.35rem;
}

.ftg .fz-lead-success {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3.5rem 1.5rem;
  text-align: center;
}

.ftg .fz-lead-success[hidden] {
  display: none;
}

.ftg .fz-lead-success-ico {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 4rem;
  height: 4rem;
  border-radius: 999px;
  background: rgba(43, 108, 255, 0.15);
  color: var(--fz-accent);
}

.ftg .fz-lead-success-title {
  margin: 1.25rem 0 0;
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ftg .fz-lead-success-copy {
  margin: 0.75rem 0 0;
  max-width: 28rem;
  color: var(--fz-muted);
  font-size: 0.95rem;
  line-height: 1.6;
}

.ftg .fz-lead-fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  min-width: 0;
}

.ftg .fz-lead-fieldset + .fz-lead-field,
.ftg .fz-lead-fieldset + .fz-lead-row,
.ftg .fz-lead-field + .fz-lead-fieldset,
.ftg .fz-lead-row + .fz-lead-field,
.ftg .fz-lead-row + .fz-lead-row,
.ftg .fz-lead-field + .fz-lead-field,
.ftg .fz-lead-field + .fz-lead-row {
  margin-top: 1.25rem;
}

.ftg .fz-lead-legend,
.ftg .fz-lead-label {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0 0 0.55rem;
  color: var(--fz-muted);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.ftg .fz-lead-req {
  color: var(--fz-accent);
}

.ftg .fz-lead-opt {
  color: rgba(154, 168, 184, 0.7);
  font-weight: 500;
  letter-spacing: normal;
  text-transform: none;
}

.ftg .fz-lead-types {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.5rem;
}

.ftg .fz-lead-type,
.ftg .fz-lead-svc,
.ftg .fz-lead-go,
.ftg .fz-lead-action {
  font-family: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.ftg .fz-lead-type {
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  border: 1px solid var(--fz-line);
  border-radius: 0.75rem;
  background: #141c2b;
  color: #f4f7fb;
  font-size: 0.88rem;
  font-weight: 650;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.ftg .fz-lead-type.is-active {
  border-color: var(--fz-accent);
  background: var(--fz-accent);
  color: #fff;
}

.ftg .fz-lead-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.15rem;
}

.ftg .fz-lead-iconfield {
  position: relative;
}

.ftg .fz-lead-ico {
  position: absolute;
  left: 0.9rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--fz-muted);
  pointer-events: none;
  display: inline-flex;
}

.ftg .fz-lead-iconfield input,
.ftg .fz-lead-field textarea {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 0.75rem 0.9rem 0.75rem 2.85rem;
  border: 1px solid var(--fz-line);
  border-radius: 0.75rem;
  background: rgba(255, 255, 255, 0.04);
  color: #fff;
  font: inherit;
  font-size: 0.92rem;
  box-sizing: border-box;
}

.ftg .fz-lead-field textarea {
  padding-left: 0.9rem;
  min-height: 5.5rem;
  resize: vertical;
}

.ftg .fz-lead-iconfield input::placeholder,
.ftg .fz-lead-field textarea::placeholder {
  color: rgba(154, 168, 184, 0.7);
}

.ftg .fz-lead-iconfield input:focus,
.ftg .fz-lead-field textarea:focus {
  outline: none;
  border-color: var(--fz-accent);
  box-shadow: 0 0 0 3px rgba(43, 108, 255, 0.28);
}

.ftg .fz-lead-services {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}

.ftg .fz-lead-svc {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 56px;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--fz-line);
  border-radius: 0.75rem;
  background: rgba(20, 28, 43, 0.55);
  color: #f4f7fb;
  text-align: left;
  font-size: 0.86rem;
  font-weight: 550;
  line-height: 1.25;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
  box-sizing: border-box;
}

.ftg .fz-lead-svc.is-active {
  border-color: var(--fz-accent);
  background: rgba(43, 108, 255, 0.12);
}

.ftg .fz-lead-check {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.25rem;
  height: 1.25rem;
  border: 1px solid var(--fz-line);
  border-radius: 0.35rem;
  color: transparent;
}

.ftg .fz-lead-svc.is-active .fz-lead-check {
  border-color: var(--fz-accent);
  background: var(--fz-accent);
  color: #fff;
}

.ftg .fz-lead-svc-ico {
  flex: 0 0 auto;
  color: var(--fz-muted);
  display: inline-flex;
}

.ftg .fz-lead-svc.is-active .fz-lead-svc-ico {
  color: var(--fz-accent);
}

.ftg .fz-lead-svc-label {
  min-width: 0;
  flex: 1 1 auto;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.ftg .fz-lead-submit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.9rem 1.1rem;
  margin-top: 1.35rem;
  width: 100%;
}

.ftg .fz-lead-go {
  flex: 1 1 14rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  min-height: 56px;
  width: 100%;
  max-width: 100%;
  padding: 0.85rem 1.25rem;
  border: 0;
  border-radius: 0.75rem;
  background: var(--fz-accent);
  color: #fff;
  font-size: 0.84rem;
  font-weight: 750;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transition: filter 180ms ease;
  box-sizing: border-box;
}

.ftg .fz-lead-go:hover,
.ftg .fz-lead-go:focus-visible {
  filter: brightness(1.08);
  color: #fff;
}

.ftg .fz-lead-go:disabled {
  opacity: 0.7;
  cursor: wait;
}

.ftg .fz-lead-secure {
  display: inline-flex;
  align-items: flex-start;
  gap: 0.45rem;
  margin: 0;
  color: var(--fz-muted);
  font-size: 0.78rem;
  line-height: 1.45;
  flex: 1 1 12rem;
}

.ftg .fz-lead-secure svg {
  flex: 0 0 auto;
  margin-top: 0.1rem;
}

.ftg .fz-lead-aside {
  display: grid;
  gap: 2rem;
  position: sticky;
  top: 5.5rem;
}

.ftg .fz-lead-panel {
  opacity: 0;
  transform: translateY(14px);
  transition: opacity 420ms ease, transform 420ms ease;
}

.ftg .fz-lead-aside.is-in .fz-lead-panel {
  opacity: 1;
  transform: none;
}

.ftg .fz-lead-aside.is-in .fz-lead-back {
  transition-delay: 90ms;
}

.ftg .fz-lead-gauge {
  display: none !important;
}

.ftg .fz-lead-fast-top {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.45rem 0.85rem;
}

.ftg .fz-lead-live {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  color: rgba(154, 168, 184, 0.95);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.ftg .fz-lead-live-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 999px;
  background: #3dd68c;
  box-shadow: 0 0 0 0 rgba(61, 214, 140, 0.55);
  animation: fz-lead-pulse 1.8s ease-out infinite;
}

@keyframes fz-lead-pulse {
  0% { box-shadow: 0 0 0 0 rgba(61, 214, 140, 0.5); }
  70% { box-shadow: 0 0 0 8px rgba(61, 214, 140, 0); }
  100% { box-shadow: 0 0 0 0 rgba(61, 214, 140, 0); }
}

.ftg .fz-lead-card-ey {
  margin: 0;
  color: rgba(154, 168, 184, 0.95);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.ftg .fz-lead-card-title {
  margin: 0.7rem 0 0;
  font-size: 1.55rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.ftg .fz-lead-card-copy {
  margin: 0.55rem 0 0;
  color: var(--fz-muted);
  font-size: 0.92rem;
  line-height: 1.55;
}

.ftg .fz-lead-actions {
  display: grid;
  gap: 0.65rem;
  margin-top: 1.15rem;
}

.ftg .fz-lead-action {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 0.65rem;
  min-height: 54px;
  padding: 0.75rem 1.15rem;
  border: 1px solid rgba(154, 168, 184, 0.22);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.03);
  color: #f4f7fb;
  font-size: 0.92rem;
  font-weight: 650;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.ftg .fz-lead-action-ico {
  display: inline-flex;
  flex: 0 0 auto;
}

.ftg .fz-lead-action-label {
  flex: 1 1 auto;
  min-width: 0;
}

.ftg .fz-lead-action-go {
  flex: 0 0 auto;
  opacity: 0.55;
  transform: translateX(0);
  transition: transform 180ms ease, opacity 180ms ease;
}

.ftg .fz-lead-action.is-primary {
  border-color: transparent;
  background: var(--fz-accent);
  color: #fff;
  box-shadow: 0 10px 24px rgba(43, 108, 255, 0.22);
}

.ftg .fz-lead-action:hover,
.ftg .fz-lead-action:focus-visible {
  transform: translateY(-2px);
  color: #fff;
  border-color: rgba(154, 168, 184, 0.4);
  background: rgba(255, 255, 255, 0.06);
}

.ftg .fz-lead-action.is-primary:hover,
.ftg .fz-lead-action.is-primary:focus-visible {
  filter: brightness(1.06);
  background: var(--fz-accent);
  border-color: transparent;
  box-shadow: 0 14px 28px rgba(43, 108, 255, 0.3);
}

.ftg .fz-lead-action:hover .fz-lead-action-go,
.ftg .fz-lead-action:focus-visible .fz-lead-action-go {
  opacity: 1;
  transform: translateX(3px);
}

.ftg .fz-lead-action:active {
  transform: translateY(0);
}

.ftg .fz-lead-benefits {
  list-style: none;
  margin: 0.85rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.35rem;
}

.ftg .fz-lead-benefit {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  margin: 0;
  padding: 0.55rem 0;
  border-radius: 0;
  color: rgba(244, 247, 251, 0.92);
  font-size: 0.92rem;
  line-height: 1.45;
  min-width: 0;
  cursor: pointer;
  outline: none;
  background: transparent;
  opacity: 0;
  transform: translateX(10px);
  transition: color 180ms ease, transform 180ms ease, opacity 360ms ease;
}

.ftg .fz-lead-aside.is-in .fz-lead-benefit {
  opacity: 1;
  transform: none;
}

.ftg .fz-lead-aside.is-in .fz-lead-benefit:nth-child(1) { transition-delay: 120ms; }
.ftg .fz-lead-aside.is-in .fz-lead-benefit:nth-child(2) { transition-delay: 170ms; }
.ftg .fz-lead-aside.is-in .fz-lead-benefit:nth-child(3) { transition-delay: 220ms; }
.ftg .fz-lead-aside.is-in .fz-lead-benefit:nth-child(4) { transition-delay: 270ms; }
.ftg .fz-lead-aside.is-in .fz-lead-benefit:nth-child(5) { transition-delay: 320ms; }
.ftg .fz-lead-aside.is-in .fz-lead-benefit:nth-child(6) { transition-delay: 370ms; }

.ftg .fz-lead-benefit:hover,
.ftg .fz-lead-benefit:focus-visible {
  background: transparent;
  color: #fff;
}

.ftg .fz-lead-benefit.is-on {
  background: transparent;
  color: #fff;
}

.ftg .fz-lead-tick {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.3rem;
  height: 1.3rem;
  margin-top: 0.08rem;
  border-radius: 999px;
  border: 1px solid rgba(154, 168, 184, 0.4);
  background: transparent;
  color: transparent;
  transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.ftg .fz-lead-benefit.is-on .fz-lead-tick,
.ftg .fz-lead-benefit:hover .fz-lead-tick,
.ftg .fz-lead-benefit:focus-visible .fz-lead-tick {
  border-color: var(--fz-accent);
  background: var(--fz-accent);
  color: #fff;
}

.ftg .fz-lead-benefit.is-on .fz-lead-tick {
  transform: none;
}

.ftg .fz-lead-benefit:hover .fz-lead-tick,
.ftg .fz-lead-benefit:focus-visible .fz-lead-tick {
  transform: scale(1.06);
}

.ftg .fz-lead-benefit-text {
  min-width: 0;
}

.ftg .fz-lead .form-status {
  margin: 1rem 0 0;
  font-size: 0.88rem;
}

.ftg .fz-lead .form-status.ok {
  color: #7dffb3;
}

.ftg .fz-lead .form-status.err {
  color: #ff8f8f;
}

@media (max-width: 1024px) {
  .ftg .fz-lead-services {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  .ftg .fz-lead-grid {
    grid-template-columns: 1fr;
  }

  .ftg .fz-lead-aside {
    position: static;
    width: 100%;
  }

  .ftg .fz-lead-types {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 639px) {
  .ftg .fz-lead-grid,
  .ftg .fz-lead-main,
  .ftg .fz-lead-form,
  .ftg .fz-lead-success {
    width: 100%;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
  }

  .ftg .fz-lead-row,
  .ftg .fz-lead-services {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .ftg .fz-lead-types {
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
  }

  .ftg .fz-lead-type {
    font-size: 0.82rem;
    padding: 0.55rem 0.45rem;
  }

  .ftg .fz-lead-form {
    padding: 1rem 0.85rem 1.1rem;
    border-radius: 0.85rem;
  }

  .ftg .fz-lead-aside {
    gap: 1.65rem;
    margin-top: 0.35rem;
  }

  .ftg .fz-lead-benefit {
    padding: 0.5rem 0;
  }

  .ftg .fz-lead-head {
    margin-bottom: 1.25rem;
  }

  .ftg .fz-lead-head h2 {
    font-size: clamp(1.7rem, 8.5vw, 2.25rem);
  }

  .ftg .fz-lead-iconfield input {
    padding-left: 2.65rem;
    font-size: 16px; /* prevent iOS zoom */
  }

  .ftg .fz-lead-field textarea {
    font-size: 16px;
  }

  .ftg .fz-lead-svc {
    min-height: 52px;
    font-size: 0.84rem;
  }

  .ftg .fz-lead-svc-ico {
    display: none;
  }

  .ftg .fz-lead-submit {
    flex-direction: column;
    align-items: stretch;
  }

  .ftg .fz-lead-go {
    flex: 0 0 auto;
  }

  .ftg .fz-lead-secure {
    flex: 0 0 auto;
  }

  .ftg .fz-lead-action {
    width: 100%;
    box-sizing: border-box;
  }
}

@media (max-width: 380px) {
  .ftg .fz-lead-types {
    grid-template-columns: 1fr;
  }
}

.ftg .form-status.ok {
  color: #6dffa8;
}

.ftg .form-status.err {
  color: #ff8f8f;
}

/* ===== FOOTER ===== */
.site-footer,
.ast-footer-overlay,
.site-primary-footer-wrap,
.site-below-footer-wrap,
.ast-builder-grid-row-container.site-footer-focus-item {
  background: #070B12 !important;
  color: #fff !important;
}

.site-primary-footer-wrap {
  border-top: 0;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.site-primary-footer-inner-wrap.ast-builder-grid-row,
.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap {
  grid-template-columns: 1fr !important;
  gap: 0 !important;
}

.site-footer-primary-section-2:empty,
.site-footer-primary-section-3:empty,
.site-footer-primary-section-4:empty,
.site-footer-primary-section-5:empty,
.site-footer-primary-section-6:empty {
  display: none !important;
}

.site-footer .footer-widget-area,
.site-footer .footer-widget-area-inner,
.site-footer .widget_block,
.site-footer .widget.widget_block {
  width: 100% !important;
  max-width: none !important;
}

.site-below-footer-wrap,
.ast-footer-copyright,
.site-footer .footer-nav-wrap {
  display: none !important;
}

.site-footer .fz-ft,
.site-footer .fz-ft * {
  font-family: inherit;
}

.fz-ft {
  position: relative;
  overflow: hidden;
  background: #070B12;
  color: #fff;
}

.fz-ft::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 3.4rem;
  background: #05080d;
  pointer-events: none;
  z-index: 0;
}

.fz-ft-inner {
  position: relative;
  z-index: 1;
  width: min(1180px, calc(100% - 2.5rem));
  margin: 0 auto;
  padding: 2.75rem 0 0;
}

.fz-ft-grid {
  display: grid;
  grid-template-columns: 1.35fr 1fr 0.9fr 0.95fr;
  gap: 2rem 2.25rem;
  padding-bottom: 2.25rem;
}

.site-footer .footer-widget-area,
.site-footer .footer-widget-area-inner,
.site-footer .widget_block,
.site-footer .widget.widget_block,
.site-footer .fz-ft,
.site-footer .fz-ft-brand,
.site-footer .fz-ft-col,
.site-footer .fz-ft-bottom {
  text-align: left !important;
}

.fz-ft-logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: fit-content;
  max-width: 100%;
  line-height: 0;
  margin: 0;
}

.fz-ft-logo img {
  display: block;
  width: auto;
  max-width: min(100%, 200px);
  height: 40px;
  object-fit: contain;
  object-position: left center;
}

.fz-ft-name {
  margin: 0.7rem 0 0.45rem;
  color: #fff;
  font-size: 0.95rem;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0.01em;
}

.fz-ft-blurb {
  margin: 0 0 1.25rem;
  max-width: 22rem;
  color: #9aa8b8;
  font-size: 0.9rem;
  line-height: 1.6;
  font-style: normal;
}

.fz-ft-plain {
  color: #9aa8b8;
  font-style: normal;
  text-decoration: none;
}

.fz-ft-copy-brand {
  color: inherit;
  text-decoration: none !important;
}

.fz-ft-copy-brand:hover,
.fz-ft-copy-brand:focus-visible {
  color: #fff;
}

.fz-ft-contact {
  display: grid;
  gap: 0.85rem;
  margin: 0;
  font-style: normal;
}

.fz-ft-meta {
  display: grid;
  gap: 0.2rem;
}

.fz-ft-k {
  color: rgba(154, 168, 184, 0.85);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.fz-ft-v {
  color: #fff !important;
  font-size: 0.95rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: color 180ms ease;
}

.fz-ft-v:hover,
.fz-ft-v:focus-visible {
  color: #2b6cff !important;
}

.fz-ft-h {
  margin: 0 0 0.9rem !important;
  color: #fff !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  font-family: inherit !important;
}

.fz-ft-acc {
  display: none;
}

.fz-ft-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.fz-ft-list a,
.fz-ft-list li {
  color: #9aa8b8;
  font-size: 0.88rem;
  line-height: 1.35;
}

.fz-ft-list a {
  position: relative;
  display: inline-block;
  padding-bottom: 1px;
  text-decoration: none !important;
  transition: color 180ms ease;
}

.fz-ft-list a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 100%;
  bottom: 0;
  height: 1px;
  background: #2b6cff;
  transition: right 180ms ease;
}

.fz-ft-list a:hover,
.fz-ft-list a:focus-visible {
  color: #fff;
}

.fz-ft-list a:hover::after,
.fz-ft-list a:focus-visible::after {
  right: 0;
}

.fz-ft-list a:focus-visible,
.fz-ft-acc:focus-visible,
.fz-ft-legal a:focus-visible,
.fz-ft-v:focus-visible {
  outline: 2px solid #2b6cff;
  outline-offset: 3px;
}

.fz-ft-mark {
  position: absolute;
  left: 50%;
  bottom: 2.4rem;
  transform: translateX(-50%);
  z-index: 0;
  width: 100%;
  text-align: center;
  color: rgba(255, 255, 255, 0.028);
  font-size: clamp(4.5rem, 14vw, 9.5rem);
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1;
  pointer-events: none;
  user-select: none;
  white-space: nowrap;
}

.fz-ft-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  margin: 0;
  padding: 0.95rem 0 1.15rem;
  border-top: 0;
  background: transparent;
}

.fz-ft-copy {
  margin: 0;
  color: rgba(154, 168, 184, 0.9);
  font-size: 0.8rem;
  line-height: 1.4;
}

.fz-ft-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
}

.fz-ft-legal a {
  color: #9aa8b8 !important;
  font-size: 0.8rem;
  text-decoration: none !important;
  transition: color 180ms ease;
}

.fz-ft-legal a:hover,
.fz-ft-legal a:focus-visible {
  color: #fff !important;
}

.site-footer .footer-widget-area:empty {
  display: none;
}

@media (max-width: 900px) {
  .fz-ft-inner {
    width: min(100% - 1.5rem, 1180px);
    padding-top: 1.75rem;
  }

  .fz-ft-grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding-bottom: 1.25rem;
  }

  .fz-ft-brand {
    padding-bottom: 1.25rem;
    margin-bottom: 0.25rem;
    border-bottom: 0;
    text-align: left !important;
  }

  .fz-ft-logo {
    margin: 0 0 1rem;
  }

  .fz-ft-logo img {
    height: 34px;
    max-width: min(100%, 180px);
  }

  .fz-ft-blurb,
  .fz-ft-contact,
  .fz-ft-meta,
  .fz-ft-name {
    text-align: left;
  }

  .fz-ft-h {
    display: none !important;
  }

  .fz-ft-acc {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    width: 100%;
    min-height: 48px;
    padding: 0.7rem 0;
    border: 0;
    border-bottom: 0;
    border-radius: 0;
    background: transparent !important;
    background-color: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
    font: inherit;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    text-align: left;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
  }

  .fz-ft-acc:hover,
  .fz-ft-acc:focus,
  .fz-ft-acc:focus-visible,
  .fz-ft-acc:active {
    background: transparent !important;
    background-color: transparent !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  .fz-ft-col.is-open .fz-ft-acc {
    color: #fff;
    border-bottom-color: transparent;
  }

  .fz-ft-acc-ico {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.55rem;
    height: 1.55rem;
    border: 1px solid rgba(154, 168, 184, 0.45);
    border-radius: 999px;
    color: #9aa8b8;
    transition: border-color 180ms ease, color 180ms ease;
  }

  .fz-ft-col.is-open .fz-ft-acc-ico {
    border-color: #2b6cff;
    color: #2b6cff;
  }

  .fz-ft-plus,
  .fz-ft-minus {
    transform-origin: 10px 10px;
    transition: opacity 180ms ease;
  }

  .fz-ft-minus {
    opacity: 0;
  }

  .fz-ft-col.is-open .fz-ft-plus {
    opacity: 0;
  }

  .fz-ft-col.is-open .fz-ft-minus {
    opacity: 1;
  }

  .fz-ft-list {
    display: block;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    margin: 0;
    padding: 0;
    border-bottom: 0;
    transition: max-height 220ms ease, opacity 220ms ease;
  }

  .fz-ft-col.is-open .fz-ft-list {
    max-height: 28rem;
    opacity: 1;
    border-bottom-color: transparent;
    padding-bottom: 0.35rem;
  }

  .fz-ft-list li {
    padding: 0.55rem 0;
    opacity: 1;
    transform: none;
  }

  .fz-ft-list li + li {
    border-top: 0;
  }

  .fz-ft-mark {
    display: none;
  }

  .fz-ft-bottom {
    display: grid;
    gap: 0.65rem;
    justify-content: stretch;
    margin: 0;
    padding: 1rem 0 1.15rem;
    background: #05080d;
  }

  .fz-ft-legal {
    order: -1;
  }

  .fz-ft-copy {
    font-size: 0.78rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fz-ft-list a,
  .fz-ft-list a::after,
  .fz-ft-v,
  .fz-ft-legal a,
  .fz-ft-acc-ico,
  .fz-ft-plus,
  .fz-ft-minus,
  .fz-ft-list {
    transition: none !important;
  }
}

/* Interior page compatibility (not redesigned yet) */
.ftg .page-hero {
  background: linear-gradient(145deg, #070B12, #121A27);
  color: #fff;
  padding: 5.5rem 0 3rem;
  border-bottom: 1px solid var(--fz-line);
}

.ftg .page-hero h1 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  color: #fff;
}

.ftg .page-hero .lead {
  margin: 0;
  max-width: 40rem;
  color: rgba(244, 247, 251, 0.84);
}

.ftg .card {
  display: block;
  padding: 1.15rem 1.1rem;
  background: var(--fz-surface);
  border: 1px solid var(--fz-line);
  border-radius: var(--fz-radius);
  text-decoration: none;
  color: inherit;
}

.ftg .card h3 {
  margin: 0 0 0.4rem;
  font-size: 1.02rem;
}

.ftg .card p,
.ftg .list {
  margin: 0;
  color: var(--fz-muted);
  font-size: 0.94rem;
}

.ftg .grid {
  display: grid;
  gap: 1rem;
}

.ftg .grid-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ftg .grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ftg .grid-4 {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ftg .crumbs {
  font-size: 0.85rem;
  color: var(--fz-muted);
  margin: 0 0 1rem;
}

.ftg .crumbs a {
  color: var(--fz-muted);
  text-decoration: none;
}

.ftg .answer {
  margin: 0 0 1.75rem;
  padding: 1rem 1.1rem;
  background: var(--fz-surface);
  border-left: 3px solid var(--fz-accent);
  color: var(--fz-ink);
}

.ftg .final {
  background: var(--fz-surface-2);
  color: #fff;
  padding: 3.25rem 0;
  text-align: center;
  border-top: 1px solid var(--fz-line);
}

.ftg .final h2 {
  color: #fff;
  margin: 0 0 0.55rem;
}

.ftg .final p {
  margin: 0 auto 1.25rem;
  max-width: 34rem;
  color: rgba(244, 247, 251, 0.8);
}

/* ===== RESPONSIVE ===== */
@media (max-width: 1100px) {
  .ftg .svc-grid,
  .ftg .svc-ov-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .ftg .process {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1rem;
  }

  .ftg .process::before {
    display: none;
  }

  .ftg .audience-grid {
    grid-template-columns: 1fr 1fr;
  }

  .ftg .aud.featured {
    grid-row: auto;
    min-height: 16rem;
  }

  .ftg .aud-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .ftg .wws-grid {
    grid-template-columns: 1fr;
  }

  .ftg .equip,
  .ftg .area {
    grid-template-columns: 1fr;
  }

  .ftg .trust-row,
  .ftg .grid-3,
  .ftg .grid-4 {
    grid-template-columns: 1fr 1fr;
  }

  .ftg .trust-item {
    border-right: 0;
    border-bottom: 1px solid var(--fz-line);
  }

  .ftg .equip-hero {
    min-height: 18rem;
  }
}

@media (max-width: 921px) {
  #ast-mobile-header .ast-builder-grid-row {
    min-height: 56px;
  }

  #ast-mobile-header .site-branding img.custom-logo,
  #ast-mobile-header .custom-logo-link img {
    max-height: 34px !important;
  }

  .fz-call-num {
    display: none;
  }

  .fz-call-short {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: 0 0.85rem;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 2px;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: #fff !important;
  }

  .menu-toggle,
  .ast-mobile-menu-trigger-fill {
    border-color: rgba(255, 255, 255, 0.22) !important;
    padding: 0.38rem 0.48rem !important;
  }

  #ast-mobile-header .ast-header-button-1 {
    display: none !important;
  }

  body.home .ftg .hero,
  body.home .ftg section.hero {
    min-height: 88svh !important;
    margin-top: -56px !important;
  }

  .ftg .hero-vid,
  .ftg .hero {
    background-position: 60% 22%;
    object-position: 60% 22%;
  }

  .ftg .hero-inner {
    width: min(100% - 1.75rem, var(--fz-max)) !important;
    min-height: 88svh;
    justify-content: flex-end;
    padding: calc(56px + 0.4rem) 0 clamp(3.25rem, 10vh, 6rem);
  }

  .ftg .hero-body {
    position: relative;
    z-index: 1;
    max-width: 40rem !important;
    padding: 0.35rem 0 0;
    background: none;
  }

  .ftg .hero-body::before {
    content: "";
    position: absolute;
    z-index: -1;
    pointer-events: none;
    top: -18%;
    right: -22%;
    bottom: -10%;
    left: -24%;
    background:
      radial-gradient(
        ellipse 78% 72% at 24% 38%,
        rgba(3, 7, 12, 0.9) 0%,
        rgba(3, 7, 12, 0.78) 28%,
        rgba(3, 7, 12, 0.46) 52%,
        rgba(3, 7, 12, 0.16) 70%,
        rgba(3, 7, 12, 0) 86%
      );
    filter: blur(14px);
  }

  .ftg .hero-ov-left {
    background: linear-gradient(
      100deg,
      rgba(3, 7, 12, 0.28) 0%,
      rgba(3, 7, 12, 0.1) 34%,
      rgba(3, 7, 12, 0) 64%
    );
  }

  .ftg .hero-ov-top {
    background: linear-gradient(180deg, rgba(4, 8, 14, 0.32) 0%, rgba(4, 8, 14, 0.08) 14%, transparent 26%);
  }

  .ftg .hero-ov-bottom {
    background: linear-gradient(to bottom, transparent 56%, rgba(7, 11, 18, 0.22) 76%, rgba(7, 11, 18, 0.72) 90%, #070B12 100%);
  }

  .ftg .hero h1,
  body.home .entry-content .hero h1 {
    font-size: clamp(38px, 10vw, 48px);
    max-width: 16ch;
    line-height: 1.05;
    letter-spacing: -0.03em;
    font-weight: 700;
    color: #FFFFFF !important;
    opacity: 1;
    margin: 0 0 0.7rem;
    text-shadow:
      0 2px 3px rgba(0, 0, 0, 0.95),
      0 5px 12px rgba(0, 0, 0, 0.75),
      0 10px 28px rgba(0, 0, 0, 0.45);
    -webkit-text-stroke: 0;
  }

  .ftg .hero .lead {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    max-width: 34rem;
    margin: 0 0 0.7rem;
    color: rgba(255, 255, 255, 0.95);
    text-shadow:
      0 2px 4px rgba(0, 0, 0, 0.95),
      0 5px 14px rgba(0, 0, 0, 0.7);
  }

  .ftg .hero-signal {
    display: none !important;
  }

  .ftg .hero .cta-label-desk {
    display: none;
  }

  .ftg .hero .cta-label-mob {
    display: inline;
  }

  .ftg .hero .cta-row {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    gap: 0.75rem;
    row-gap: 1.1rem;
    width: 100%;
  }

  .ftg .hero .btn-services {
    display: none;
  }

  .ftg .hero .btn-call {
    display: inline-flex;
    min-height: 50px;
    border-color: rgba(125, 168, 255, 0.55);
    background: rgba(7, 11, 18, 0.28);
    color: #fff;
  }

  .ftg .hero .btn {
    flex: 0 0 auto;
    width: 100%;
    padding: 0.7rem 0.9rem;
    font-size: 0.8rem;
    letter-spacing: 0.08em;
    -webkit-tap-highlight-color: rgba(43, 108, 255, 0.22);
  }

  .ftg .hero .btn-primary {
    min-height: 52px;
  }

  .ftg .hero .btn-primary:active {
    background: #1f5ae6;
    border-color: #1f5ae6;
    transform: scale(0.985);
    transition-duration: 60ms;
  }

  .ftg .hero .btn-call:active {
    background: rgba(7, 11, 18, 0.5);
    border-color: var(--fz-accent-2);
    transform: scale(0.985);
    transition-duration: 60ms;
  }

  .ftg .hero-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    align-self: flex-start;
    width: auto;
    max-width: max-content;
    min-height: auto;
    margin: 0.35rem auto 0 0.15rem;
    padding: 0 0 3px;
    color: rgba(244, 247, 251, 0.58);
    font-size: 0.72rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid rgba(255, 255, 255, 0.22);
    box-shadow: none;
  }

  .ftg .hero .cta-row::after {
    display: none;
  }

  .ftg .hero-more:hover,
  .ftg .hero-more:focus-visible {
    color: rgba(244, 247, 251, 0.88);
    border-bottom-color: var(--fz-accent-2);
    box-shadow: none;
  }

  body.home .ftg .hero + .section {
    padding-top: 2.25rem;
  }
}

@media (max-width: 640px) {
  body.home .ftg .hero,
  body.home .ftg section.hero {
    min-height: 86svh !important;
  }

  .ftg .hero-inner {
    min-height: 86svh;
    padding: calc(56px + 0.25rem) 0 clamp(2.75rem, 8vh, 5rem);
  }

  .ftg .hero-vid,
  .ftg .hero {
    object-position: 64% 18%;
    background-position: 64% 18%;
  }

  .ftg .hero-ov-left {
    background: linear-gradient(
      100deg,
      rgba(3, 7, 12, 0.24) 0%,
      rgba(3, 7, 12, 0.08) 36%,
      rgba(3, 7, 12, 0) 66%
    );
  }

  .ftg .hero-ov-bottom {
    background: linear-gradient(to bottom, transparent 52%, rgba(7, 11, 18, 0.2) 74%, rgba(7, 11, 18, 0.7) 90%, #070B12 100%);
  }

  .ftg .hero h1,
  body.home .entry-content .hero h1 {
    font-size: clamp(38px, 10vw, 46px);
    max-width: none;
    line-height: 1.04;
    color: #FFFFFF !important;
    opacity: 1;
  }

  .ftg .hero .lead {
    font-size: 16px;
    margin-bottom: 0.65rem;
  }

  .ftg .hero .btn:active {
    transform: scale(0.98);
    transition-duration: 60ms;
  }

  .ftg .svc-grid,
  .ftg .svc-ov-grid,
  .ftg .wws-grid,
  .ftg .process,
  .ftg .trust-row,
  .ftg .audience-grid,
  .ftg .aud-list,
  .ftg .equip-grid,
  .ftg .form-grid,
  .ftg .grid-2,
  .ftg .grid-3,
  .ftg .grid-4 {
    grid-template-columns: 1fr;
  }

  .ftg .cta-row {
    flex-direction: column;
    align-items: stretch;
  }

  .ftg .hero .cta-row .hero-more {
    width: auto;
    align-self: flex-start;
  }

  .ftg .btn {
    width: 100%;
  }

  .ftg .section {
    padding: 3rem 0;
  }

  .site-branding img.custom-logo,
  .custom-logo-link img {
    max-height: 36px !important;
  }
}

@media (max-width: 921px) and (max-height: 700px) {
  body.home .ftg .hero,
  body.home .ftg section.hero {
    min-height: 100svh !important;
  }

  .ftg .hero-inner {
    min-height: 100svh;
    padding-bottom: calc(0.9rem + env(safe-area-inset-bottom, 0px));
  }
}

@media (max-width: 379px) {
  .ftg .wrap {
    width: min(100% - 1.25rem, var(--fz-max));
  }

  .ftg .hero h1,
  body.home .entry-content .hero h1 {
    font-size: 36px;
    color: #FFFFFF !important;
    opacity: 1;
  }

  .ftg .hero .lead {
    font-size: 15px;
  }

  .ftg .hero .btn {
    width: 100%;
    flex: 0 0 auto;
  }
}

/* Prevent horizontal overflow without boxing the hero */
html,
body {
  overflow-x: hidden;
}

.site,
#page {
  max-width: 100%;
}

body.home .site,
body.home #page,
body.home .site-content {
  overflow: visible;
}

@media (min-width: 922px) {
  .fz-call-short {
    display: none;
  }
}

@media (max-width: 921px) {
  .fz-sticky-cta {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 0.5rem;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 90;
    padding: 0.5rem 0.75rem calc(0.5rem + env(safe-area-inset-bottom, 0px));
    background: rgba(7, 11, 18, 0.96);
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    transform: translateY(110%);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.22s cubic-bezier(0.22, 0.61, 0.36, 1), visibility 0.22s;
  }

  .fz-sticky-cta.is-on {
    transform: translateY(0);
    visibility: visible;
    pointer-events: auto;
  }

  body.fz-nav-open .fz-sticky-cta,
  body.fz-sheet-open .fz-sticky-cta {
    visibility: hidden;
    pointer-events: none;
    transform: translateY(110%);
  }

  .fz-sticky-cta a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0.55rem 0.55rem;
    font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
  }

  .fz-sticky-cta a.call {
    color: #fff;
    background: transparent;
    border: 1px solid rgba(125, 168, 255, 0.5);
  }

  .fz-sticky-cta a.book {
    color: #fff;
    background: var(--fz-accent);
    border: 1px solid var(--fz-accent);
  }

  body.fz-sticky-on {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }

  .fz-sheet {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 130;
  }

  .fz-sheet.is-open {
    display: block;
  }

  .fz-sheet-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.48);
  }

  .fz-sheet-panel {
    position: absolute;
    left: 0.7rem;
    right: 0.7rem;
    bottom: calc(0.7rem + env(safe-area-inset-bottom, 0px));
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    padding: 0.55rem;
    background: #0c121c;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 2px;
  }

  .fz-sheet-panel a,
  .fz-sheet-panel .fz-sheet-cancel {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 50px;
    margin: 0;
    padding: 0 0.8rem;
    font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    border-radius: 2px;
    cursor: pointer;
  }

  .fz-sheet-panel a {
    color: #fff;
    background: var(--fz-accent);
    border: 1px solid var(--fz-accent);
  }

  .fz-sheet-panel a.fz-sheet-text {
    background: transparent;
    border-color: rgba(125, 168, 255, 0.55);
  }

  .fz-sheet-panel .fz-sheet-cancel {
    color: rgba(244, 247, 251, 0.72);
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.14);
  }
}

@media (max-width: 359px) {
  .fz-sticky-cta a {
    font-size: 0.64rem;
    letter-spacing: 0.05em;
    padding: 0.5rem 0.4rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .fz-sticky-cta {
    transition: none;
  }

  .ftg .wws-card,
  .ftg .wws-media,
  .ftg .wws-img::after,
  .ftg .wws-arr,
  .ftg .svc-ov,
  .ftg .svc-ov-media,
  .ftg .svc-ov::before,
  .ftg .fz-cover-place,
  .ftg .fz-cover-rule,
  .ftg .fz-cover-go,
  .ftg .fz-faq-item,
  .ftg .fz-faq-q,
  .ftg .fz-faq-qtxt,
  .ftg .fz-faq-ico,
  .ftg .fz-faq-plus,
  .ftg .fz-faq-minus,
  .ftg .fz-faq-a,
  .ftg .fz-faq-a-inner,
  .ftg .fz-faq.fz-faq-motion.is-inview .eyebrow,
  .ftg .fz-faq.fz-faq-motion.is-inview h2,
  .ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-lead,
  .ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-rule,
  .ftg .fz-faq.fz-faq-motion.is-inview .fz-faq-item,
  .ftg .fz-lead-panel,
  .ftg .fz-lead-benefit,
  .ftg .fz-lead-action,
  .ftg .fz-lead-action-go,
  .ftg .fz-lead-live-dot,
  .ftg .fz-lead-tick {
    transition: none !important;
    transition-delay: 0ms !important;
    animation: none !important;
  }

  .ftg .fz-faq.fz-faq-motion:not(.is-inview) .eyebrow,
  .ftg .fz-faq.fz-faq-motion:not(.is-inview) h2,
  .ftg .fz-faq.fz-faq-motion:not(.is-inview) .fz-faq-lead,
  .ftg .fz-faq.fz-faq-motion:not(.is-inview) .fz-faq-rule,
  .ftg .fz-faq.fz-faq-motion:not(.is-inview) .fz-faq-item,
  .ftg .fz-faq-a-inner,
  .ftg .fz-faq-item.is-open .fz-faq-a-inner,
  .ftg .fz-faq-item.is-open .fz-faq-plus,
  .ftg .fz-lead-panel,
  .ftg .fz-lead-benefit {
    opacity: 1;
    transform: none;
  }

  .ftg .fz-faq-item.is-open .fz-faq-plus {
    opacity: 0;
  }

  .ftg .fz-faq-item.is-open .fz-faq-minus {
    opacity: 1;
  }

  .ftg a.wws-card:hover,
  .ftg a.wws-card:focus-visible,
  .ftg a.svc-ov:hover,
  .ftg a.svc-ov:focus-visible,
  .ftg a.wws-card:hover .wws-media,
  .ftg a.wws-card:focus-visible .wws-media,
  .ftg a.wws-card:hover .wws-arr,
  .ftg a.svc-ov:hover .svc-ov-media,
  .ftg a.svc-ov:focus-visible .svc-ov-media {
    transform: none;
  }
}

/* ===== ELEMENTOR SERVICE PAGES: match Phase 2.5 ===== */
body.elementor-page,
body.elementor-page .elementor,
body.elementor-page .elementor-widget,
body.elementor-page .elementor-heading-title,
body.elementor-page .elementor-button,
body.elementor-page .elementor-icon-box-title,
body.elementor-page .elementor-icon-box-description,
body.elementor-page .elementor-tab-title,
body.elementor-page .elementor-accordion-title,
body.elementor-page .elementor-toggle-title,
body.elementor-page .elementor-widget-text-editor,
body.elementor-page .elementor-widget-text-editor p,
body.page-id-15 .elementor,
body.page-child.parent-pageid-15 .elementor {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}

/* Custom service templates (Elementor HTML/CSS embeds: .ac / .mp / .ds / .ew / .pp / .ev / .op / .sa) */
body.elementor-page .ac,
body.elementor-page .ac *,
body.elementor-page .mp,
body.elementor-page .mp *,
body.elementor-page .ds,
body.elementor-page .ds *,
body.elementor-page .ew,
body.elementor-page .ew *,
body.elementor-page .pp,
body.elementor-page .pp *,
body.elementor-page .ev,
body.elementor-page .ev *,
body.elementor-page .op,
body.elementor-page .op *,
body.elementor-page .sa,
body.elementor-page .sa * {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
}

body.elementor-page .ac,
body.elementor-page .mp,
body.elementor-page .ds,
body.elementor-page .ew,
body.elementor-page .pp,
body.elementor-page .ev,
body.elementor-page .op,
body.elementor-page .sa {
  color: var(--fz-ink) !important;
  background: var(--fz-bg) !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

/* Inner content column only — backgrounds stay full-bleed */
body.elementor-page .acc,
body.elementor-page .mpc,
body.elementor-page .dsc,
body.elementor-page .ewc,
body.elementor-page .ppc,
body.elementor-page .evc,
body.elementor-page .opc,
body.elementor-page .sac {
  max-width: var(--fz-max) !important;
  width: 100% !important;
  margin-inline: auto !important;
  padding-inline: clamp(1rem, 3vw, 1.75rem) !important;
  box-sizing: border-box !important;
}

body.elementor-page .ac-hero,
body.elementor-page .mp-hero,
body.elementor-page .ds-hero,
body.elementor-page .ew-hero,
body.elementor-page .pp-hero,
body.elementor-page .ev-hero,
body.elementor-page .op-hero,
body.elementor-page .sa-hero {
  min-height: auto !important;
  padding: calc(var(--fz-header-h) + 2.5rem) 0 3.5rem !important;
  align-items: flex-start !important;
  background-color: var(--fz-bg) !important;
}

body.elementor-page .ac-hero-body,
body.elementor-page .mp-hero-body,
body.elementor-page .ds-hero-body,
body.elementor-page .ew-hero-body,
body.elementor-page .pp-hero-body,
body.elementor-page .ev-hero-body,
body.elementor-page .op-hero-body,
body.elementor-page .sa-hero-body {
  max-width: min(100%, 40rem) !important;
}

/* Hide eyebrows / section kickers sitewide */
.ftg .eyebrow,
.ftg .page-hero .eyebrow,
.fz-makes-eye,
.fz-svd-eye,
.fz-tl-kicker,
.bs-partner-eye,
body.elementor-page .ac-eye,
body.elementor-page .mp-eye,
body.elementor-page .ds-eye,
body.elementor-page .ew-eye,
body.elementor-page .pp-eye,
body.elementor-page .ev-eye,
body.elementor-page .op-eye,
body.elementor-page .sa-eye,
body.elementor-page .ac-lbl,
body.elementor-page .mp-lbl,
body.elementor-page .ds-lbl,
body.elementor-page .ew-lbl,
body.elementor-page .pp-lbl,
body.elementor-page .ev-lbl,
body.elementor-page .op-lbl,
body.elementor-page .sa-lbl,
body.elementor-page .fz-makes .fz-makes-eye,
body.elementor-page .fz-svd .fz-svd-eye {
  display: none !important;
}

body.elementor-page .ac-hero h1,
body.elementor-page .mp-hero h1,
body.elementor-page .ds-hero h1,
body.elementor-page .ew-hero h1,
body.elementor-page .pp-hero h1,
body.elementor-page .ev-hero h1,
body.elementor-page .op-hero h1,
body.elementor-page .sa-hero h1 {
  font-size: clamp(2.1rem, 4.2vw, 3.2rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  margin-bottom: 0.75rem !important;
  max-width: 100% !important;
}

body.elementor-page .ac-hero h1 span,
body.elementor-page .mp-hero h1 span,
body.elementor-page .ds-hero h1 span,
body.elementor-page .ew-hero h1 span,
body.elementor-page .pp-hero h1 span,
body.elementor-page .ev-hero h1 span,
body.elementor-page .op-hero h1 span,
body.elementor-page .sa-hero h1 span {
  color: var(--fz-accent-2) !important;
  display: inline !important;
}

body.elementor-page .ac-hero-sub,
body.elementor-page .mp-hero-sub,
body.elementor-page .ds-hero-sub,
body.elementor-page .ew-hero-sub,
body.elementor-page .pp-hero-sub,
body.elementor-page .ev-hero-sub,
body.elementor-page .op-hero-sub,
body.elementor-page .sa-hero-sub {
  font-size: clamp(1.05rem, 1.6vw, 1.2rem) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: rgba(244, 247, 251, 0.78) !important;
  margin-bottom: 1rem !important;
  max-width: 36rem !important;
}

body.elementor-page .ac-hero-p,
body.elementor-page .mp-hero-p,
body.elementor-page .ds-hero-p,
body.elementor-page .ew-hero-p,
body.elementor-page .pp-hero-p,
body.elementor-page .ev-hero-p,
body.elementor-page .op-hero-p,
body.elementor-page .sa-hero-p {
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
  color: var(--fz-muted) !important;
  max-width: 38rem !important;
  margin-bottom: 1.5rem !important;
}

body.elementor-page .ac-hero-btns,
body.elementor-page .mp-hero-btns,
body.elementor-page .ds-hero-btns,
body.elementor-page .ew-hero-btns,
body.elementor-page .pp-hero-btns,
body.elementor-page .ev-hero-btns,
body.elementor-page .op-hero-btns,
body.elementor-page .sa-hero-btns {
  gap: 0.7rem !important;
  margin-bottom: 1.25rem !important;
}

body.elementor-page .ac-btn-blue,
body.elementor-page .ac-btn-ghost,
body.elementor-page .mp-btn-blue,
body.elementor-page .mp-btn-ghost,
body.elementor-page .ds-btn-blue,
body.elementor-page .ds-btn-ghost,
body.elementor-page .ew-btn-blue,
body.elementor-page .ew-btn-ghost,
body.elementor-page .pp-btn-blue,
body.elementor-page .pp-btn-ghost,
body.elementor-page .ev-btn-blue,
body.elementor-page .ev-btn-ghost,
body.elementor-page .op-btn-blue,
body.elementor-page .op-btn-ghost,
body.elementor-page .sa-btn-blue,
body.elementor-page .sa-btn-ghost {
  border-radius: var(--fz-radius) !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 1.25rem !important;
  box-shadow: none !important;
  transform: none !important;
}

body.elementor-page .ac-btn-blue,
body.elementor-page .mp-btn-blue,
body.elementor-page .ds-btn-blue,
body.elementor-page .ew-btn-blue,
body.elementor-page .pp-btn-blue,
body.elementor-page .ev-btn-blue,
body.elementor-page .op-btn-blue,
body.elementor-page .sa-btn-blue {
  background: var(--fz-accent) !important;
}

body.elementor-page .ac-btn-blue:hover,
body.elementor-page .mp-btn-blue:hover,
body.elementor-page .ds-btn-blue:hover,
body.elementor-page .ew-btn-blue:hover,
body.elementor-page .pp-btn-blue:hover,
body.elementor-page .ev-btn-blue:hover,
body.elementor-page .op-btn-blue:hover,
body.elementor-page .sa-btn-blue:hover {
  background: var(--fz-accent-2) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.elementor-page .ac-btn-ghost,
body.elementor-page .mp-btn-ghost,
body.elementor-page .ds-btn-ghost,
body.elementor-page .ew-btn-ghost,
body.elementor-page .pp-btn-ghost,
body.elementor-page .ev-btn-ghost,
body.elementor-page .op-btn-ghost,
body.elementor-page .sa-btn-ghost {
  border-radius: var(--fz-radius) !important;
  border-color: var(--fz-line-strong) !important;
}

body.elementor-page .ac-sec,
body.elementor-page .mp-sec,
body.elementor-page .ds-sec,
body.elementor-page .ew-sec,
body.elementor-page .pp-sec,
body.elementor-page .ev-sec,
body.elementor-page .op-sec,
body.elementor-page .sa-sec {
  padding: 4rem 0 !important;
}

body.elementor-page .ac-alt,
body.elementor-page .mp-alt,
body.elementor-page .ds-alt,
body.elementor-page .ew-alt,
body.elementor-page .pp-alt,
body.elementor-page .ev-alt,
body.elementor-page .op-alt,
body.elementor-page .sa-alt {
  background: var(--fz-surface) !important;
}

body.elementor-page .ac-sec h2,
body.elementor-page .mp-sec h2,
body.elementor-page .ds-sec h2,
body.elementor-page .ew-sec h2,
body.elementor-page .pp-sec h2,
body.elementor-page .ev-sec h2,
body.elementor-page .op-sec h2,
body.elementor-page .sa-sec h2 {
  font-size: clamp(1.45rem, 2.8vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  margin-bottom: 0.85rem !important;
  max-width: 40rem !important;
}

body.elementor-page .ac-intro,
body.elementor-page .ac-sec p,
body.elementor-page .mp-intro,
body.elementor-page .mp-sec p,
body.elementor-page .ds-intro,
body.elementor-page .ds-sec p,
body.elementor-page .ew-intro,
body.elementor-page .ew-sec p,
body.elementor-page .pp-intro,
body.elementor-page .pp-sec p,
body.elementor-page .ev-intro,
body.elementor-page .ev-sec p,
body.elementor-page .op-intro,
body.elementor-page .op-sec p,
body.elementor-page .sa-intro,
body.elementor-page .sa-sec p {
  font-size: 1.02rem !important;
  line-height: 1.65 !important;
  color: var(--fz-muted) !important;
  max-width: 42rem !important;
}

body.elementor-page .ac-sec h3,
body.elementor-page .mp-sec h3,
body.elementor-page .ds-sec h3,
body.elementor-page .ew-sec h3,
body.elementor-page .pp-sec h3,
body.elementor-page .ev-sec h3,
body.elementor-page .op-sec h3,
body.elementor-page .sa-sec h3 {
  font-size: clamp(1.05rem, 1.6vw, 1.25rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.25 !important;
}

body.elementor-page .elementor-heading-title,
body.elementor-page h1.elementor-heading-title,
body.elementor-page h2.elementor-heading-title,
body.elementor-page h3.elementor-heading-title,
body.elementor-page h4.elementor-heading-title {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  word-break: normal;
  overflow-wrap: anywhere;
  hyphens: manual;
  max-width: 100%;
}

body.elementor-page h1.elementor-heading-title,
body.elementor-page .elementor-widget-heading h1 {
  font-size: clamp(2.1rem, 4vw, 3.1rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
}

body.elementor-page h2.elementor-heading-title,
body.elementor-page .elementor-widget-heading h2 {
  font-size: clamp(1.45rem, 2.6vw, 2rem) !important;
  font-weight: 700 !important;
}

body.elementor-page h3.elementor-heading-title,
body.elementor-page .elementor-widget-heading h3 {
  font-size: clamp(1.1rem, 1.8vw, 1.35rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
}

body.elementor-page .elementor-widget-text-editor,
body.elementor-page .elementor-widget-text-editor p,
body.elementor-page .elementor-icon-box-description,
body.elementor-page .elementor-tab-content,
body.elementor-page .elementor-toggle-content,
body.elementor-page .elementor-accordion-content {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  font-size: clamp(0.98rem, 1.15vw, 1.08rem) !important;
  line-height: 1.65 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: var(--fz-muted) !important;
  max-width: 42rem;
}

body.elementor-page .elementor-widget-text-editor p + p {
  margin-top: 0.85em;
}

/* Service pages: kill Elementor boxed containers that leave empty side gutters */
body.page-id-15 .elementor-top-section > .elementor-container,
body.page-child.parent-pageid-15 .elementor-top-section > .elementor-container,
body.elementor-page .elementor-section.elementor-section-full_width > .elementor-container,
body.page-id-15 .e-con.e-parent,
body.page-child.parent-pageid-15 .e-con.e-parent {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.page-id-15 .elementor-column,
body.page-child.parent-pageid-15 .elementor-column,
body.page-id-15 .elementor-widget-wrap,
body.page-child.parent-pageid-15 .elementor-widget-wrap,
body.page-id-15 .elementor-widget,
body.page-child.parent-pageid-15 .elementor-widget,
body.page-id-15 .elementor-widget-container,
body.page-child.parent-pageid-15 .elementor-widget-container {
  max-width: none !important;
  width: 100% !important;
}

body.page-id-15 .elementor-section.elementor-section-boxed > .elementor-container,
body.page-child.parent-pageid-15 .elementor-section.elementor-section-boxed > .elementor-container {
  max-width: none !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.elementor-page .elementor-button,
body.elementor-page .elementor-button-link {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.07em !important;
  text-transform: uppercase !important;
  border-radius: 2px !important;
  padding: 0.85rem 1.25rem !important;
  line-height: 1.2 !important;
}

body.elementor-page .elementor-button-wrapper {
  max-width: 100%;
}

body.elementor-page .elementor-icon-box-title {
  font-size: clamp(1.02rem, 1.5vw, 1.18rem) !important;
  font-weight: 650 !important;
  letter-spacing: -0.01em !important;
  color: var(--fz-ink) !important;
  line-height: 1.25 !important;
}

body.elementor-page .elementor-icon-list-text,
body.elementor-page .elementor-icon-list-item {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 0.98rem !important;
  line-height: 1.45 !important;
  color: var(--fz-muted) !important;
}

body.elementor-page .elementor-accordion-title,
body.elementor-page .elementor-toggle-title,
body.elementor-page .elementor-tab-title {
  font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  line-height: 1.35 !important;
}

body.elementor-page .elementor-top-section .elementor-widget-wrap,
body.elementor-page .elementor-top-section .elementor-element {
  min-width: 0;
  max-width: 100%;
}

body.elementor-page .elementor-top-section .elementor-heading-title span {
  display: inline;
  white-space: normal;
}

.elementor-kit-1659 {
  --e-global-typography-primary-font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --e-global-typography-secondary-font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --e-global-typography-text-font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --e-global-typography-accent-font-family: Inter, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
}

@media (max-width: 921px) {
  body.elementor-page .ac-hero,
  body.elementor-page .mp-hero,
  body.elementor-page .ds-hero,
  body.elementor-page .ew-hero,
  body.elementor-page .pp-hero,
  body.elementor-page .ev-hero,
  body.elementor-page .op-hero,
  body.elementor-page .sa-hero {
    padding: calc(var(--fz-header-h) + 1.4rem) 0 2.4rem !important;
  }

  body.elementor-page .ac-hero h1,
  body.elementor-page .mp-hero h1,
  body.elementor-page .ds-hero h1,
  body.elementor-page .ew-hero h1,
  body.elementor-page .pp-hero h1,
  body.elementor-page .ev-hero h1,
  body.elementor-page .op-hero h1,
  body.elementor-page .sa-hero h1,
  body.elementor-page h1.elementor-heading-title,
  body.elementor-page .elementor-widget-heading h1 {
    font-size: clamp(1.85rem, 7.2vw, 2.45rem) !important;
  }

  body.elementor-page .ac-hero-body,
  body.elementor-page .mp-hero-body,
  body.elementor-page .ds-hero-body,
  body.elementor-page .ew-hero-body,
  body.elementor-page .pp-hero-body,
  body.elementor-page .ev-hero-body,
  body.elementor-page .op-hero-body,
  body.elementor-page .sa-hero-body,
  body.elementor-page .ac-hero-p,
  body.elementor-page .mp-hero-p,
  body.elementor-page .ds-hero-p,
  body.elementor-page .ew-hero-p,
  body.elementor-page .pp-hero-p,
  body.elementor-page .ev-hero-p,
  body.elementor-page .op-hero-p,
  body.elementor-page .sa-hero-p,
  body.elementor-page .ac-intro,
  body.elementor-page .mp-intro,
  body.elementor-page .ds-intro,
  body.elementor-page .ew-intro,
  body.elementor-page .pp-intro,
  body.elementor-page .ev-intro,
  body.elementor-page .op-intro,
  body.elementor-page .sa-intro,
  body.elementor-page .elementor-widget-text-editor,
  body.elementor-page .elementor-widget-text-editor p {
    max-width: none !important;
  }

  body.elementor-page .ac-btn-blue,
  body.elementor-page .ac-btn-ghost,
  body.elementor-page .mp-btn-blue,
  body.elementor-page .mp-btn-ghost,
  body.elementor-page .ds-btn-blue,
  body.elementor-page .ds-btn-ghost,
  body.elementor-page .ew-btn-blue,
  body.elementor-page .ew-btn-ghost,
  body.elementor-page .pp-btn-blue,
  body.elementor-page .pp-btn-ghost,
  body.elementor-page .ev-btn-blue,
  body.elementor-page .ev-btn-ghost,
  body.elementor-page .op-btn-blue,
  body.elementor-page .op-btn-ghost,
  body.elementor-page .sa-btn-blue,
  body.elementor-page .sa-btn-ghost,
  body.elementor-page .elementor-button,
  body.elementor-page .elementor-button-link {
    width: 100%;
    justify-content: center;
    text-align: center;
  }

  body.elementor-page .ac-sec,
  body.elementor-page .mp-sec,
  body.elementor-page .ds-sec,
  body.elementor-page .ew-sec,
  body.elementor-page .pp-sec,
  body.elementor-page .ev-sec,
  body.elementor-page .op-sec,
  body.elementor-page .sa-sec {
    padding: 3rem 0 !important;
  }
}


/* -- FZ Need Calibration interactive (ADAS page) -- */
body.elementor-page .fz-need:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec),
body.elementor-page .fz-need:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) *,
body.elementor-page .fz-makes:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec),
body.elementor-page .fz-makes:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) *,
body.elementor-page section.ac-sec[aria-labelledby="faq-heading"],
body.elementor-page section.ac-sec[aria-labelledby="faq-heading"] * {
  font-family: var(--fz-font) !important;
}

body.elementor-page .fz-need:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) {
  --need-bg: #070b12;
  --need-surface: #0e1520;
  --need-accent: #2b6cff;
  --need-text: #ffffff;
  --need-muted: #9aa6b8;
  --need-line: rgba(255, 255, 255, 0.07);
  --need-radius: 12px;
  background: var(--need-bg) !important;
  overflow-x: clip;
  padding-top: 3.25rem !important;
  padding-bottom: 3.25rem !important;
}

.fz-need :is(.acc,.dsc) {
  max-width: min(100% - 2rem, 85rem);
}

.fz-need-head {
  text-align: center !important;
  margin: 0 auto 1.5rem !important;
  max-width: 44rem;
  width: 100%;
}

.fz-need-head h2 {
  margin: 0 auto !important;
  font-family: var(--fz-font) !important;
  font-size: clamp(1.45rem, 2.8vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  text-transform: none;
  text-align: center !important;
  color: var(--need-text) !important;
  max-width: none !important;
}

.fz-need-accent {
  color: var(--need-accent);
  font-family: inherit !important;
  font-weight: inherit !important;
}

.fz-need-sub {
  margin: 0.7rem auto 0 !important;
  max-width: 32rem !important;
  color: var(--need-muted) !important;
  font-family: var(--fz-font) !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

.fz-need-shell {
  display: grid;
  grid-template-columns: 18.75rem minmax(0, 1fr);
  gap: 0;
  align-items: start;
  max-width: 87.5rem;
  margin: 0 auto;
  border: 1px solid var(--need-line);
  border-radius: var(--need-radius);
  background: var(--need-surface);
  overflow: hidden;
  min-width: 0;
  min-height: 0;
  height: auto;
  box-shadow: none;
}

.fz-need-nav {
  display: flex;
  flex-direction: column;
  align-self: start;
  gap: 0;
  margin: 0;
  padding: 0.5rem 0;
  background: transparent;
  border-right: 1px solid var(--need-line);
  overflow: visible;
  min-width: 0;
  min-height: 0;
  height: auto;
}

.fz-need-tab {
  position: relative;
  display: grid;
  grid-template-columns: 1.15rem minmax(0, 1fr) 1rem;
  align-items: start;
  gap: 0.7rem;
  width: 100%;
  min-height: 3.5rem;
  height: auto;
  margin: 0;
  /* Beat Elementor .ac * { padding: 0 } reset */
  padding: 0.85rem 1.05rem 0.85rem 1.05rem !important;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0;
  background: transparent;
  color: rgba(244, 247, 251, 0.62);
  font-family: var(--fz-font) !important;
  font-size: 1.03125rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  text-align: left;
  cursor: pointer;
  transition: background 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  overflow: visible;
}

.fz-need-tab + .fz-need-tab {
  border-top: 1px solid rgba(255, 255, 255, 0.05);
}

.fz-need-tab-ico,
.fz-need-chev {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-self: start;
  width: 1.125rem;
  height: 1.125rem;
  margin-top: 0.15rem;
  color: rgba(154, 166, 184, 0.8);
  flex-shrink: 0;
  line-height: 0;
  overflow: visible;
}

.fz-need-chev {
  width: 0.85rem;
  height: 0.85rem;
  opacity: 0.9;
  margin-top: 0.28rem;
  transform: none;
}

.fz-need-tab-ico svg,
.fz-need-chev svg,
.fz-need-step-ico svg,
.fz-need-step-arrow svg {
  width: 100%;
  height: 100%;
  display: block;
  stroke-width: 1.75;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.fz-need-tab-label {
  line-height: 1.25;
  font-size: 1.03125rem;
}

.fz-need-tab.is-active {
  background: rgba(43, 108, 255, 0.12);
  border-left-color: #2b6cff;
  color: #fff;
  box-shadow: none;
}

.fz-need-tab.is-active .fz-need-tab-ico {
  color: var(--need-accent);
}

.fz-need-tab.is-active .fz-need-chev {
  color: rgba(255, 255, 255, 0.75);
}

.fz-need-tab:focus-visible {
  outline: 2px solid var(--need-accent);
  outline-offset: -2px;
}

@media (hover: hover) and (pointer: fine) {
  .fz-need-tab:not(.is-active):hover {
    background: rgba(43, 108, 255, 0.07);
    color: rgba(255, 255, 255, 0.92);
    border-left-color: rgba(43, 108, 255, 0.35);
  }
  .fz-need-tab:not(.is-active):hover .fz-need-tab-ico,
  .fz-need-tab:not(.is-active):hover .fz-need-chev {
    color: var(--need-accent);
  }
}

.fz-need-stage {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-self: start;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 1.875rem 2.125rem 2rem;
  background: var(--need-surface);
}

.fz-need-panel {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.2s ease, transform 0.2s ease;
  min-height: 0;
  height: auto;
}

.fz-need-panel[hidden] {
  display: none !important;
}

.fz-need-panel.is-enter {
  opacity: 0;
  transform: translateY(4px);
}

.fz-need-detail {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 26.25rem;
  gap: 2.625rem;
  align-items: center;
}

.fz-need-copy::before {
  content: "SELECTED REPAIR";
  display: block;
  margin: 0 0 0.55rem;
  font-family: var(--fz-font) !important;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--need-accent);
}

.fz-need-copy h3 {
  margin: 0 0 0.75rem !important;
  font-family: var(--fz-font) !important;
  font-size: clamp(1.35rem, 2.2vw, 2.1rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  color: var(--need-text) !important;
  max-width: 22rem !important;
}

.fz-need-copy p {
  margin: 0 !important;
  max-width: 37.5rem !important;
  color: var(--need-muted) !important;
  font-family: var(--fz-font) !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
}

.fz-need-photo {
  margin: 0;
  justify-self: end;
  width: 100%;
  max-width: 26.25rem;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #05080d;
  aspect-ratio: 16 / 9;
  position: relative;
}

.fz-need-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.fz-need-divider {
  display: none;
  height: 0;
  margin: 0;
  background: transparent;
}

.fz-need-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem 0.75rem;
  align-items: start;
  margin: 2rem 0 0;
  padding: 1.625rem 0 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  list-style: none;
  min-height: 0;
  height: auto;
}

.fz-need-step-arrow {
  display: none !important;
}

.fz-need-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-align: center;
  min-width: 0;
  min-height: 0;
  height: auto;
  padding: 0 0.35rem;
}

/* Connector line + arrowhead between steps (does not cut through icon circles) */
.fz-need-step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 0.82rem;
  left: calc(50% + 1.2rem);
  width: calc(100% - 2.4rem);
  height: 1px;
  background: rgba(43, 108, 255, 0.45);
  pointer-events: none;
  z-index: 0;
}

.fz-need-step:not(:last-child)::before {
  content: "";
  position: absolute;
  top: 0.55rem;
  left: calc(50% + 100% - 1.35rem);
  width: 0.45rem;
  height: 0.45rem;
  border-right: 1.5px solid rgba(43, 108, 255, 0.7);
  border-top: 1.5px solid rgba(43, 108, 255, 0.7);
  transform: rotate(45deg);
  pointer-events: none;
  z-index: 0;
}

.fz-need-step-ico {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  border: 1px solid rgba(43, 108, 255, 0.45);
  border-radius: 50%;
  color: var(--need-accent);
  background: var(--need-surface);
  box-shadow: 0 0 0 5px var(--need-surface);
}

.fz-need-step-ico svg {
  width: 0.9rem;
  height: 0.9rem;
}

.fz-need-step-num {
  position: relative;
  z-index: 1;
  font-family: var(--fz-font) !important;
  font-size: 0.65rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  color: var(--need-accent);
  font-variant-numeric: tabular-nums;
}

.fz-need-step-label {
  position: relative;
  z-index: 1;
  font-family: var(--fz-font) !important;
  font-size: 0.74rem;
  font-weight: 500;
  line-height: 1.3;
  color: #fff;
  max-width: 100%;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .fz-need-tab,
  .fz-need-panel {
    transition: none !important;
  }
}

/* Desktop layout refinements */
@media (min-width: 1024px) {
  body.elementor-page .fz-need:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) {
    padding-top: 3.75rem !important;
    padding-bottom: 3.75rem !important;
  }

  .fz-need :is(.acc,.dsc) {
    max-width: min(100% - 2rem, 87.5rem);
  }

  .fz-need-head {
    margin: 0 auto 2.75rem !important;
    max-width: 48rem;
  }

  body.elementor-page .fz-need .fz-need-head h2,
  body.elementor-page .fz-need h2#need-heading,
  .fz-need-head h2 {
    font-size: clamp(40px, 4vw, 54px) !important;
    line-height: 1.02 !important;
    letter-spacing: -0.035em !important;
    text-transform: none !important;
    max-width: 18ch !important;
  }

  .fz-need-sub {
    margin-top: 0.85rem !important;
    max-width: 36rem !important;
    font-size: 1.1875rem !important;
    line-height: 1.5 !important;
  }

  .fz-need-shell {
    grid-template-columns: 300px minmax(0, 1fr);
    max-width: 1400px;
    margin-inline: auto;
    align-items: start;
    gap: 1.15rem;
    background: transparent;
    border: 0;
    border-radius: 0;
    overflow: visible;
  }

  .fz-need-nav {
    align-self: start;
    height: auto;
    min-height: 0;
    padding: 0.4rem 0;
    border: 1px solid var(--need-line);
    border-radius: 12px;
    background: var(--need-surface);
  }

  .fz-need-stage,
  .fz-need-panel {
    align-self: start;
    height: auto;
    min-height: 0;
  }

  .fz-need-stage {
    border: 1px solid var(--need-line);
    border-radius: 12px;
    background: var(--need-surface);
    padding: 1.875rem 2.125rem 2rem !important;
  }

  .fz-need-detail {
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 42px;
    align-items: center;
  }

  .fz-need-photo {
    max-width: 420px;
  }

  .fz-need-steps {
    margin-top: 32px;
    padding-top: 26px;
  }
}

@media (min-width: 1024px) and (max-width: 1100px) {
  .fz-need-shell {
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 1rem;
  }

  .fz-need-detail {
    grid-template-columns: minmax(0, 1fr) minmax(0, 22rem);
    gap: 1.75rem;
  }
}

/* Mobile + tablet: horizontal pill tabs (<1024). Desktop sidebar ≥1024. */
@media (max-width: 1023px) {
  body.elementor-page .fz-need:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) {
    padding: 2.75rem 1.5rem !important;
    overflow-x: clip;
  }

  .fz-need :is(.acc,.dsc),
  body.elementor-page .fz-need :is(.acc,.dsc) {
    max-width: 100% !important;
    width: 100% !important;
    /* Section already provides the viewport gutter — avoid double padding */
    padding-inline: 0 !important;
    margin-inline: 0 !important;
  }

  .fz-need-head {
    margin: 0 auto 1.35rem !important;
    max-width: 100%;
    padding: 0 0.15rem;
  }

  .fz-need-head h2,
  body.elementor-page .fz-need .fz-need-head h2,
  body.elementor-page .fz-need h2#need-heading {
    font-size: clamp(1.875rem, 8vw, 2.375rem) !important;
    line-height: 1.05 !important;
    letter-spacing: -0.02em !important;
    text-transform: none !important;
    max-width: none !important;
    margin-bottom: 0 !important;
    padding-inline: 0.15rem !important;
  }

  .fz-need-sub {
    margin-top: 0.65rem !important;
    max-width: 21.25rem !important;
    font-size: 1.0625rem !important;
    line-height: 1.5 !important;
    padding-inline: 0.15rem !important;
  }

  .fz-need-shell,
  body.elementor-page .fz-need .fz-need-shell {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    /* Keep the card edge fully visible — never clip against section overflow */
    margin: 0 !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
    border-radius: 14px !important;
    /* Clip children to radius; pill inset comes from tab margins + scroll fix */
    overflow: hidden !important;
    background: var(--need-surface) !important;
  }

  .fz-need-nav,
  body.elementor-page .fz-need .fz-need-nav {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center;
    align-self: stretch !important;
    gap: 8px;
    margin: 0 !important;
    /* Vertical pad only — horizontal inset via first/last tab margins
       (overflow-x scroll can collapse padding-inline against the first pill) */
    padding: 1.15rem 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 14px 14px 0 0 !important;
    background: var(--need-surface) !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior-x: contain;
    /* Keep active-pill scrollIntoView from eating the left gutter */
    scroll-padding-inline: 1.35rem;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
    -ms-overflow-style: none;
    min-width: 0;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .fz-need-nav::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }

  .fz-need-tab,
  .fz-need-tab.is-active,
  body.elementor-page .fz-need .fz-need-tab {
    position: relative;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    flex-basis: auto !important;
    grid-template-columns: none !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 0.5rem !important;
    width: auto !important;
    min-width: max-content !important;
    max-width: none !important;
    height: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-left: 1px solid rgba(255, 255, 255, 0.08) !important;
    border-radius: 999px !important;
    background: rgba(255, 255, 255, 0.04) !important;
    color: rgba(244, 247, 251, 0.72) !important;
    box-shadow: none !important;
    white-space: nowrap !important;
    scroll-snap-align: start;
    overflow: visible !important;
  }

  /* Keep blue pill border clear of the card edge while scrolling */
  .fz-need-tab:first-child,
  body.elementor-page .fz-need .fz-need-tab:first-child {
    margin-left: 1.35rem !important;
  }

  .fz-need-tab:last-child,
  body.elementor-page .fz-need .fz-need-tab:last-child {
    margin-right: 1.35rem !important;
  }

  .fz-need-tab,
  body.elementor-page .fz-need .fz-need-tab {
    scroll-margin-inline: 1.35rem;
  }

  .fz-need-tab + .fz-need-tab {
    border-top: 0 !important;
  }

  .fz-need-tab.is-active,
  body.elementor-page .fz-need .fz-need-tab.is-active {
    background: rgba(43, 108, 255, 0.18) !important;
    border: 1px solid #2b6cff !important;
    color: #fff !important;
    box-shadow: none !important;
    width: auto !important;
  }

  .fz-need-tab.is-active .fz-need-tab-ico {
    color: #2b6cff !important;
  }

  .fz-need-tab .fz-need-chev {
    display: none !important;
  }

  .fz-need-tab-ico,
  body.elementor-page .fz-need .fz-need-tab-ico {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    flex-shrink: 0 !important;
    width: 1.1rem !important;
    height: 1.1rem !important;
    margin: 0 !important;
    line-height: 0 !important;
  }

  .fz-need-tab-ico svg,
  body.elementor-page .fz-need .fz-need-tab-ico svg {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
  }

  .fz-need-tab-label,
  body.elementor-page .fz-need .fz-need-tab-label {
    display: inline-flex !important;
    align-items: center !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
  }

  .fz-need-stage,
  body.elementor-page .fz-need .fz-need-stage {
    /* Vertical rhythm only — horizontal inset applied on children
       so .ac * { padding:0 } and display:contents cannot collapse it */
    padding: 1.35rem 0 1.5rem !important;
    margin-top: 0 !important;
    border-radius: 0 0 14px 14px !important;
    background: var(--need-surface) !important;
    width: 100% !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
  }

  .fz-need-panel {
    margin-top: 0;
  }

  .fz-need-detail,
  body.elementor-page .fz-need .fz-need-detail {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 0;
    align-items: stretch;
    /* Primary mobile text gutter — SELECTED REPAIR / title / body */
    padding: 0 1.35rem !important;
    box-sizing: border-box !important;
  }

  .fz-need-copy {
    display: contents;
  }

  .fz-need-copy::before {
    order: 0;
    margin: 0 0 0.625rem !important;
    padding: 0 !important;
    font-size: 0.75rem !important;
    letter-spacing: 0.18em !important;
  }

  .fz-need-copy h3 {
    order: 1;
    max-width: none !important;
    margin: 0.5rem 0 0 !important;
    padding: 0 !important;
    font-size: 1.5rem !important;
    line-height: 1.2 !important;
    letter-spacing: -0.02em !important;
  }

  .fz-need-photo,
  body.elementor-page .fz-need .fz-need-photo {
    order: 2;
    justify-self: stretch;
    width: 100% !important;
    max-width: 100% !important;
    margin: 1.1rem 0 0 !important;
    aspect-ratio: 16 / 10;
    max-height: 240px;
    border-radius: 10px;
  }

  .fz-need-photo img {
    width: 100%;
    height: 100%;
    max-height: 240px;
    object-fit: cover;
  }

  .fz-need-copy p {
    order: 3;
    max-width: none !important;
    margin: 1.15rem 0 0 !important;
    padding: 0 !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
    text-align: left !important;
    color: var(--need-muted) !important;
  }

  .fz-need-divider {
    display: none !important;
    margin: 0 !important;
  }

  .fz-need-steps,
  body.elementor-page .fz-need .fz-need-steps {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 1.35rem 1rem !important;
    margin: 1.35rem 0 0 !important;
    /* Match detail horizontal gutter; beat .ac * { padding: 0 } */
    padding: 1.25rem 1.35rem 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
    box-sizing: border-box !important;
  }

  .fz-need-step:not(:last-child)::before,
  .fz-need-step:not(:last-child)::after,
  .fz-need-step-arrow {
    display: none !important;
  }

  .fz-need-step {
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
    gap: 0.4rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
  }

  .fz-need-step-ico {
    width: 1.6rem;
    height: 1.6rem;
    box-shadow: none;
  }

  .fz-need-step-label {
    -webkit-line-clamp: 3;
    text-align: left;
    font-size: 0.78rem;
  }
}

@media (max-width: 430px) {
  body.elementor-page .fz-need:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) {
    padding-left: 1.35rem !important;
    padding-right: 1.35rem !important;
  }

  .fz-need-tab:first-child,
  body.elementor-page .fz-need .fz-need-tab:first-child {
    margin-left: 1.25rem !important;
  }

  .fz-need-tab:last-child,
  body.elementor-page .fz-need .fz-need-tab:last-child {
    margin-right: 1.25rem !important;
  }

  /* Stage stays vertical-only; inset lives on detail/steps */
  .fz-need-stage,
  body.elementor-page .fz-need .fz-need-stage {
    padding: 1.5rem 0 !important;
  }

  .fz-need-detail,
  body.elementor-page .fz-need .fz-need-detail {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .fz-need-steps,
  body.elementor-page .fz-need .fz-need-steps {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }

  .fz-need-head h2,
  body.elementor-page .fz-need .fz-need-head h2,
  body.elementor-page .fz-need h2#need-heading {
    font-size: clamp(1.7rem, 7.2vw, 2.1rem) !important;
  }
}

/* ── Vehicle Makes logo carousel ── */
body.elementor-page .fz-makes:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) {
  background: #070b12 !important;
  padding: 4.25rem 0 !important;
  overflow-x: clip;
}

.fz-makes-head {
  text-align: center !important;
  margin: 0 auto 1.85rem !important;
  max-width: 42rem;
  padding: 0 1rem;
}

body.elementor-page .fz-makes .fz-makes-eye,
.fz-makes-eye {
  display: none !important;
}

.fz-makes-head h2,
body.elementor-page .fz-makes h2#makes-heading {
  display: block !important;
  margin: 0.5rem auto 0 !important;
  max-width: none !important;
  padding: 0 !important;
  font-family: var(--fz-font) !important;
  font-size: clamp(1.9rem, 3.2vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  text-align: center !important;
  color: #f4f7fb !important;
  background: transparent !important;
  border: 0 !important;
}

body.elementor-page .fz-makes .fz-makes-support,
.fz-makes-support {
  margin: 0.55rem auto 0 !important;
  max-width: 34rem !important;
  font-family: var(--fz-font) !important;
  font-size: 0.95rem !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
  text-align: center !important;
  color: #9aa8b8 !important;
}

.fz-makes-band {
  position: relative;
  margin: 0 auto;
  max-width: 100%;
  background: transparent;
  border: 0;
  outline: none;
}

.fz-makes-viewport {
  overflow: hidden;
  padding: 0.15rem 0 0.25rem;
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
  mask-image: linear-gradient(90deg, transparent 0%, #000 5%, #000 95%, transparent 100%);
}

.fz-makes-rail {
  display: flex;
  width: max-content;
  align-items: center;
  animation: fz-makes-scroll 36s linear infinite;
  will-change: transform;
}

.fz-makes-band:hover .fz-makes-rail,
.fz-makes-band:focus-within .fz-makes-rail,
.fz-makes-band.is-paused .fz-makes-rail {
  animation-play-state: paused;
}

.fz-makes-track {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0;
  padding: 0 0.35rem;
  list-style: none;
  flex-shrink: 0;
}

.fz-makes-track li {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 7.75rem;
  height: 4rem;
  padding: 0;
}

.fz-makes-track img {
  display: block;
  width: auto;
  height: auto;
  max-width: 6.875rem;
  max-height: 2.5rem;
  object-fit: contain;
  opacity: 0.72;
  filter: grayscale(1) brightness(0) invert(1);
  transition: opacity 0.2s ease, transform 0.2s ease;
}

/* Optical size balance for oversized wordmarks */
.fz-makes-track img[src*="toyota"],
.fz-makes-track img[src*="chrysler"],
.fz-makes-track img[src*="lincoln"],
.fz-makes-track img[src*="porsche"] {
  max-height: 2rem;
  max-width: 6.25rem;
}

.fz-makes-track img[src*="gmc"],
.fz-makes-track img[src*="ram"],
.fz-makes-track img[src*="bmw"],
.fz-makes-track img[src*="mercedes"] {
  max-height: 2.65rem;
}

@media (hover: hover) and (pointer: fine) {
  .fz-makes-track li:hover img {
    opacity: 1;
    transform: scale(1.04);
  }
}

.fz-makes-cta-wrap {
  display: flex;
  justify-content: center;
  margin-top: 1.75rem;
}

.fz-makes-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.7rem 1.5rem;
  border: 1px solid #2b6cff;
  border-radius: 4px;
  color: #fff !important;
  background: transparent;
  font-family: var(--fz-font) !important;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.12em;
  text-decoration: none !important;
  text-transform: uppercase;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.fz-makes-cta:hover,
.fz-makes-cta:focus-visible {
  background: #2b6cff;
  color: #fff !important;
}

.fz-makes-cta:focus-visible {
  outline: 2px solid #2b6cff;
  outline-offset: 3px;
}

@keyframes fz-makes-scroll {
  from { transform: translate3d(0, 0, 0); }
  to { transform: translate3d(-50%, 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .fz-makes-rail {
    animation: none;
    flex-wrap: wrap;
    width: 100%;
    max-width: var(--fz-max, 72rem);
    margin: 0 auto;
    justify-content: center;
    row-gap: 0.75rem;
  }

  .fz-makes-track[aria-hidden="true"] {
    display: none;
  }

  .fz-makes-track {
    flex-wrap: wrap;
    justify-content: center;
    gap: 1rem 1.25rem;
  }

  .fz-makes-viewport {
    -webkit-mask-image: none;
    mask-image: none;
  }
}

@media (max-width: 1024px) {
  .fz-makes-track {
    gap: 0.7rem;
  }

  .fz-makes-track li {
    width: 7.25rem;
    height: 3.6rem;
  }

  .fz-makes-track img {
    max-width: 5.75rem;
    max-height: 2.25rem;
  }
}

@media (max-width: 768px) {
  body.elementor-page .fz-makes:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec) {
    padding: 3.75rem 0 !important;
  }

  .fz-makes-head {
    margin-bottom: 1.75rem !important;
  }

  .fz-makes-track {
    gap: 0.55rem;
  }

  .fz-makes-track li {
    width: 6.25rem;
    height: 3.25rem;
  }

  .fz-makes-track img {
    max-width: 5rem;
    max-height: 1.95rem;
  }

  .fz-makes-rail {
    animation-duration: 32s;
  }
}

@media (max-width: 390px) {
  .fz-makes-track {
    gap: 0.4rem;
  }

  .fz-makes-track li {
    width: 5.35rem;
    height: 2.85rem;
  }

  .fz-makes-track img {
    max-width: 4.35rem;
    max-height: 1.75rem;
  }
}

/* ── ADAS FAQ (details accordion) ── */
body.elementor-page section.ac-sec[aria-labelledby="faq-heading"] {
  background: #070b12 !important;
}

body.elementor-page #faq-heading {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 40rem !important;
  font-family: var(--fz-font) !important;
  font-size: clamp(1.45rem, 2.8vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.15 !important;
  color: var(--fz-ink) !important;
}

body.elementor-page section[aria-labelledby="faq-heading"] > .acc > .ac-intro {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 36rem !important;
  font-family: var(--fz-font) !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: var(--fz-muted) !important;
}

body.elementor-page .ac-faq-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.65rem !important;
  max-width: 46rem !important;
  margin: 1.75rem auto 0 !important;
  padding: 0 !important;
}

body.elementor-page details.ac-q {
  margin: 0 !important;
  border: 1px solid rgba(43, 108, 255, 0.18) !important;
  border-radius: 3px !important;
  background: #0e1520 !important;
  overflow: hidden;
  transition: border-color 0.2s ease, background 0.2s ease;
}

body.elementor-page details.ac-q[open] {
  border-color: rgba(43, 108, 255, 0.4) !important;
  background: #0e1520 !important;
}

body.elementor-page summary.ac-qs {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 1rem !important;
  margin: 0 !important;
  padding: 1.05rem 1.15rem !important;
  list-style: none !important;
  cursor: pointer !important;
  color: #f4f7fb !important;
  font-family: var(--fz-font) !important;
  font-size: 1.02rem !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.01em !important;
}

body.elementor-page summary.ac-qs::-webkit-details-marker {
  display: none !important;
}

body.elementor-page summary.ac-qs::marker {
  content: "" !important;
}

body.elementor-page summary.ac-qs:hover {
  color: #fff !important;
}

body.elementor-page summary.ac-qs:focus-visible {
  outline: 2px solid #2b6cff !important;
  outline-offset: -2px !important;
}

body.elementor-page .ac-q-icon {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 1.75rem !important;
  height: 1.75rem !important;
  border-radius: 2px !important;
  border: 1px solid rgba(43, 108, 255, 0.35) !important;
  background: rgba(43, 108, 255, 0.1) !important;
  color: #4d86ff !important;
  font-size: 1.05rem !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
}

body.elementor-page details.ac-q[open] .ac-q-icon {
  background: rgba(43, 108, 255, 0.28) !important;
  color: #fff !important;
  transform: rotate(45deg) !important;
}

body.elementor-page .ac-qa {
  padding: 0 1.15rem 1.15rem !important;
  border-top: 0 !important;
}

body.elementor-page .ac-qa [itemprop="text"],
body.elementor-page .ac-qa p {
  margin: 0 !important;
  padding-top: 0.15rem !important;
  color: var(--fz-muted) !important;
  font-family: var(--fz-font) !important;
  font-size: 1.02rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  max-width: none !important;
}

@media (max-width: 560px) {
  body.elementor-page summary.ac-qs {
    padding: 0.95rem 1rem !important;
    font-size: 0.95rem !important;
    min-height: 3.1rem;
  }

  body.elementor-page .ac-qa {
    padding: 0 1rem 1rem !important;
  }

  body.elementor-page .ac-faq-list {
    gap: 0.55rem !important;
    margin-top: 1.35rem !important;
  }
}

/* ── Static vs Dynamic ADAS Calibration ── */
body.elementor-page .fz-svd.ac-sec,
body.elementor-page .fz-svd.ac-sec * {
  font-family: var(--fz-font) !important;
  box-sizing: border-box;
}

body.elementor-page .fz-svd.ac-sec {
  --svd-muted: #9aa8b8;
  background: #070b12 !important;
  padding: 4.25rem 0 !important;
  overflow-x: clip;
}

.fz-svd .acc.fz-svd-shell,
.fz-svd .fz-svd-shell {
  max-width: 1280px !important;
  width: 100%;
  margin-inline: auto !important;
  padding-inline: 24px !important;
  min-width: 0;
}

.fz-svd-head {
  text-align: center !important;
  margin: 0 auto 2.25rem !important;
  max-width: 760px;
}

body.elementor-page .fz-svd .fz-svd-eye,
.fz-svd-eye {
  display: none !important;
}

.fz-svd-head h2,
body.elementor-page .fz-svd h2#svd-heading {
  margin: 0 auto !important;
  max-width: none !important;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.025em !important;
  line-height: 1.12 !important;
  text-transform: none !important;
  text-align: center !important;
  color: #f4f7fb !important;
}

body.elementor-page .fz-svd .fz-svd-support,
.fz-svd-support {
  margin: 0.9rem auto 0 !important;
  max-width: 760px !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  text-align: center !important;
  color: var(--svd-muted) !important;
}

.fz-svd-compare {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 56px;
  align-items: start;
  min-width: 0;
  margin: 0 0 64px !important;
  padding: 0;
}

.fz-svd-vs {
  position: absolute;
  top: 5.5rem;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin: 0;
  padding: 0;
  transform: translateX(-50%);
  pointer-events: none;
}

.fz-svd-vs span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border-radius: 999px;
  border: 1px solid rgba(43, 108, 255, 0.32);
  background: #0a1018;
  color: #2b6cff;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  box-shadow: 0 0 0 6px #070b12;
}

.fz-svd-col {
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  overflow-wrap: anywhere;
}

.fz-svd-label {
  margin: 0;
}

.fz-svd-title,
body.elementor-page .fz-svd .fz-svd-title {
  display: block !important;
  margin: 0 !important;
  font-size: clamp(1.5rem, 2.2vw, 1.875rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  text-transform: none !important;
  color: #ffffff !important;
}

.fz-svd-sub {
  margin: 0.4rem 0 0 !important;
  font-size: 1.0625rem !important;
  font-weight: 450 !important;
  line-height: 1.4 !important;
  color: var(--svd-muted) !important;
}

.fz-svd-photo {
  margin: 1.375rem 0 0;
  width: 100%;
  max-width: 100%;
  overflow: hidden;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: #0e1520;
  aspect-ratio: 16 / 9;
  max-height: 350px;
}

.fz-svd-photo img {
  display: block;
  width: 100%;
  height: 100%;
  max-height: 350px;
  object-fit: cover;
  object-position: center;
}

.fz-svd-body {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin-top: 1.125rem;
}

body.elementor-page .fz-svd .fz-svd-desc,
.fz-svd-desc {
  margin: 0 !important;
  max-width: 35rem !important;
  font-size: 1.0625rem !important;
  font-weight: 400 !important;
  line-height: 1.65 !important;
  color: var(--svd-muted) !important;
  overflow-wrap: anywhere;
}

.fz-svd-points {
  list-style: none;
  margin: 1.25rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.75rem;
  min-width: 0;
  max-width: 35rem;
}

.fz-svd-points li {
  display: flex !important;
  align-items: flex-start;
  gap: 0.625rem;
  margin: 0;
  padding: 0 !important;
  border: 0;
  background: transparent;
  min-width: 0;
  font-size: 1rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  color: #e8eef7 !important;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

.fz-svd-points li::before {
  content: "";
  flex: 0 0 auto;
  width: 0.7rem;
  height: 0.7rem;
  margin-top: 0.28rem;
  background:
    no-repeat center / 0.7rem 0.7rem
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M2.2 6.2l2.4 2.4 5.2-5.2' stroke='%232B6CFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  border: 0;
  transform: none;
}

body.elementor-page .fz-svd .fz-svd-callout,
.fz-svd-callout {
  display: flex !important;
  justify-content: center;
  margin: 0 !important;
  padding: 48px 0 0 !important;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 0;
  background: transparent;
  text-align: center !important;
  position: static !important;
  transform: none !important;
}

.fz-svd-callout-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  max-width: 720px;
  margin: 0 auto;
  text-align: center !important;
}

.fz-svd-callout h3,
body.elementor-page .fz-svd .fz-svd-callout h3 {
  margin: 0 0 0.75rem !important;
  width: 100%;
  font-size: clamp(1.5rem, 2.4vw, 2rem) !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
  line-height: 1.2 !important;
  color: #f4f7fb !important;
  text-transform: none !important;
  text-align: center !important;
}

body.elementor-page .fz-svd .fz-svd-callout p,
.fz-svd-callout p {
  margin: 0 auto 1.35rem !important;
  width: 100%;
  max-width: 40rem !important;
  font-size: 1.0625rem !important;
  line-height: 1.65 !important;
  color: var(--svd-muted) !important;
  text-align: center !important;
}

body.elementor-page .fz-svd .fz-svd-cta.ac-btn-blue,
.fz-svd-cta {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  align-self: center;
  width: auto !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0 auto !important;
  padding: 0 22px !important;
  gap: 0;
  font-size: 0.75rem !important;
  letter-spacing: 0.06em !important;
  text-decoration: none !important;
  white-space: nowrap;
}

@media (max-width: 1100px) {
  .fz-svd-compare {
    gap: 40px;
  }

  .fz-svd-vs {
    top: 5.25rem;
  }

  .fz-svd-photo,
  .fz-svd-photo img {
    max-height: 320px;
  }
}

/* Stack early if columns would get too narrow */
@media (max-width: 900px) {
  body.elementor-page .fz-svd.ac-sec {
    padding: 3.5rem 0 !important;
  }

  .fz-svd .acc.fz-svd-shell,
  .fz-svd .fz-svd-shell {
    padding-inline: 20px !important;
  }

  .fz-svd-head {
    margin-bottom: 1.75rem !important;
  }

  .fz-svd-head h2,
  body.elementor-page .fz-svd h2#svd-heading {
    font-size: clamp(2rem, 8vw, 2.625rem) !important;
  }

  .fz-svd-compare {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    gap: 3.5rem;
    margin-bottom: 48px !important;
  }

  .fz-svd-vs {
    display: none !important;
  }

  .fz-svd-title,
  body.elementor-page .fz-svd .fz-svd-title {
    font-size: 1.625rem !important;
  }

  .fz-svd-photo {
    aspect-ratio: 16 / 10;
    max-height: none;
  }

  .fz-svd-photo img {
    max-height: none;
  }

  .fz-svd-desc,
  body.elementor-page .fz-svd .fz-svd-desc,
  .fz-svd-points {
    max-width: none !important;
  }

  body.elementor-page .fz-svd .fz-svd-callout,
  .fz-svd-callout {
    margin: 0 !important;
    padding-top: 28px !important;
  }
}

@media (max-width: 430px) {
  .fz-svd-compare {
    gap: 3rem;
  }

  .fz-svd-title,
  body.elementor-page .fz-svd .fz-svd-title {
    font-size: 1.5rem !important;
  }

  body.elementor-page .fz-svd .fz-svd-desc,
  .fz-svd-desc,
  .fz-svd-points li {
    font-size: 1rem !important;
  }

  .fz-svd-callout h3,
  body.elementor-page .fz-svd .fz-svd-callout h3 {
    font-size: 1.4rem !important;
  }
}

/* ── ADAS page CTA: soft dark→blue fade at top only ── */
body.elementor-page section.ac-cta {
  position: relative !important;
  border-top: 0 !important;
  /* Existing CTA blues (#1e3a8a → #1e40af); top hard edge handled by ::before */
  background: linear-gradient(180deg, #1e3a8a 0%, #1e40af 42%, #1e40af 100%) !important;
  overflow: hidden;
}

body.elementor-page section.ac-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: unset !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: auto !important;
  width: 100% !important;
  height: 200px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  background: linear-gradient(
    to bottom,
    #070b12 0%,
    rgba(7, 11, 18, 0.82) 18%,
    rgba(7, 11, 18, 0.45) 48%,
    rgba(7, 11, 18, 0.14) 72%,
    transparent 100%
  ) !important;
  pointer-events: none !important;
  z-index: 1 !important;
}

body.elementor-page section.ac-cta .ac-cta-body,
body.elementor-page section.ac-cta .acc {
  position: relative !important;
  z-index: 2 !important;
}

@media (max-width: 768px) {
  body.elementor-page section.ac-cta::before {
    height: 120px !important;
  }
}

/* ============================================================
   ADAS Calibration page — visual unification (page-id-2615)
   Same system: dark navy, restrained blue, shared type/spacing.
   Different compositions; no content/order changes.
   ============================================================ */
body.page-id-2615 {
  --adas-bg: #070b12;
  --adas-surface: #0e1520;
  --adas-surface-2: #121a27;
  --adas-ink: #f4f7fb;
  --adas-muted: #9aa8b8;
  --adas-accent: #2b6cff;
  --adas-accent-2: #4d86ff;
  --adas-line: rgba(255, 255, 255, 0.08);
  --adas-line-strong: rgba(255, 255, 255, 0.12);
  --adas-radius: 10px;
  --adas-sec-y: clamp(3.75rem, 7.5vw, 6.75rem);
  /* Tighter type scale — site root is ~17px; avoid oversized rem ceilings */
  --adas-h1: clamp(2.05rem, 3.2vw, 2.75rem); /* ~35–47px */
  --adas-h2: clamp(1.55rem, 2.4vw, 2.15rem); /* ~26–37px */
  --adas-h3: clamp(1.2rem, 1.5vw, 1.4rem); /* ~20–24px */
  --adas-body: clamp(0.94rem, 0.95vw, 1rem); /* ~16–17px */
  --adas-small: 0.8125rem; /* ~14px */
  --adas-eye: 0.72rem; /* ~12px */
  --adas-intro-max: 42rem;
}

body.page-id-2615 .ac {
  background: var(--adas-bg) !important;
  color: var(--adas-ink) !important;
}

/* Shared section rhythm */
body.page-id-2615 .ac > section.ac-sec,
body.page-id-2615.elementor-page .ac section.ac-sec {
  padding-top: var(--adas-sec-y) !important;
  padding-bottom: var(--adas-sec-y) !important;
  background-color: var(--adas-bg) !important;
}

body.page-id-2615 .ac > section.ac-sec.ac-alt,
body.page-id-2615.elementor-page .ac section.ac-sec.ac-alt {
  background-color: var(--adas-surface) !important;
}

body.page-id-2615.elementor-page .fz-need:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec),
body.page-id-2615.elementor-page .fz-makes:is(.ac-sec,.ds-sec,.mp-sec,.op-sec,.pp-sec,.ew-sec,.sa-sec,.ev-sec),
body.page-id-2615.elementor-page .fz-svd.ac-sec,
body.page-id-2615.elementor-page section.ac-sec[aria-labelledby="faq-heading"] {
  padding-top: var(--adas-sec-y) !important;
  padding-bottom: var(--adas-sec-y) !important;
  background: var(--adas-bg) !important;
}

/* Shared H2 / intro / eyebrow language */
body.page-id-2615.elementor-page .ac-sec > .acc > h2,
body.page-id-2615.elementor-page .ac-sec h2,
body.page-id-2615.elementor-page .ac-what-text h2,
body.page-id-2615.elementor-page .fz-need-head h2,
body.page-id-2615.elementor-page .fz-need h2#need-heading,
body.page-id-2615.elementor-page .fz-makes h2#makes-heading,
body.page-id-2615.elementor-page .fz-svd h2#svd-heading,
body.page-id-2615.elementor-page #faq-heading,
body.page-id-2615.elementor-page #related-heading,
body.page-id-2615.elementor-page #systems-heading,
body.page-id-2615.elementor-page #what-is-heading {
  font-family: var(--fz-font) !important;
  font-size: var(--adas-h2) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.1 !important;
  text-transform: none !important;
  color: var(--adas-ink) !important;
  max-width: min(100%, 40rem) !important;
}

body.page-id-2615.elementor-page .fz-need-head h2,
body.page-id-2615.elementor-page .fz-makes-head h2,
body.page-id-2615.elementor-page .fz-svd-head h2,
body.page-id-2615.elementor-page #faq-heading,
body.page-id-2615.elementor-page section[aria-labelledby="related-heading"] h2,
body.page-id-2615.elementor-page section[aria-labelledby="systems-heading"] h2 {
  max-width: min(100%, 36rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.page-id-2615.elementor-page .ac-intro,
body.page-id-2615.elementor-page .fz-need-sub,
body.page-id-2615.elementor-page .fz-makes-support,
body.page-id-2615.elementor-page .fz-svd-support,
body.page-id-2615.elementor-page section[aria-labelledby="faq-heading"] > .acc > .ac-intro,
body.page-id-2615.elementor-page .ac-what-text p {
  font-size: var(--adas-body) !important;
  line-height: 1.65 !important;
  color: var(--adas-muted) !important;
  max-width: var(--adas-intro-max) !important;
}

body.page-id-2615.elementor-page .fz-makes-eye,
body.page-id-2615.elementor-page .fz-svd-eye,
body.page-id-2615.elementor-page .ac-what-panel h3 {
  font-size: var(--adas-eye) !important;
  font-weight: 600 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  color: var(--adas-accent) !important;
}

/* Hero: keep photo treatment, align type slightly */
body.page-id-2615.elementor-page .ac-hero {
  background-color: var(--adas-bg) !important;
}

body.page-id-2615.elementor-page .ac-hero h1 {
  font-size: var(--adas-h1) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
}

body.page-id-2615.elementor-page .ac-hero-sub {
  font-size: clamp(1rem, 1.3vw, 1.125rem) !important;
  line-height: 1.4 !important;
}

body.page-id-2615.elementor-page .ac-hero-p {
  font-size: var(--adas-body) !important;
  max-width: 38rem !important;
}

/* What Is — surface panel less “card SaaS” */
body.page-id-2615.elementor-page .ac-what-panel {
  background: var(--adas-surface) !important;
  border: 1px solid var(--adas-line) !important;
  border-radius: var(--adas-radius) !important;
  box-shadow: none !important;
}

body.page-id-2615.elementor-page .ac-what-text p {
  margin-bottom: 1rem !important;
}

/* Systems grid — restrained tiles, no lift/glow */
body.page-id-2615.elementor-page .ac-sys-card {
  background: rgba(7, 11, 18, 0.55) !important;
  border: 1px solid var(--adas-line) !important;
  border-radius: var(--adas-radius) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.page-id-2615.elementor-page .ac-sys-card:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.page-id-2615.elementor-page .ac-sys-card-top {
  background: transparent !important;
  border-bottom: 1px solid var(--adas-line) !important;
  padding: 1.35rem 1.25rem 1.1rem !important;
}

body.page-id-2615.elementor-page .ac-sys-card:hover .ac-sys-ico {
  background: rgba(43, 108, 255, 0.16) !important;
}

body.page-id-2615.elementor-page .ac-sys-card-top h3 {
  font-size: var(--adas-h3) !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  color: var(--adas-ink) !important;
}

body.page-id-2615.elementor-page .ac-sys-card-body {
  padding: 1rem 1.25rem 1.25rem !important;
}

body.page-id-2615.elementor-page .ac-sys-card-body li {
  font-size: var(--adas-small) !important;
  color: var(--adas-muted) !important;
}

body.page-id-2615.elementor-page .ac-sys-card-body li::before {
  background: var(--adas-accent) !important;
  width: 4px !important;
  height: 4px !important;
}

/* Need Calibration — match radius / type; keep interaction */
body.page-id-2615.elementor-page .fz-need-shell {
  border-radius: var(--adas-radius) !important;
  border-color: var(--adas-line) !important;
  background: var(--adas-surface) !important;
  box-shadow: none !important;
}

body.page-id-2615.elementor-page .fz-need-photo,
body.page-id-2615.elementor-page .fz-need-photo img {
  border-radius: var(--adas-radius) !important;
}

body.page-id-2615.elementor-page .fz-need-tab.is-active {
  background: rgba(43, 108, 255, 0.1) !important;
}

/* Makes — already minimal; align type/spacing only (handled above) */
body.page-id-2615.elementor-page .fz-makes-band,
body.page-id-2615.elementor-page .fz-makes-viewport {
  border: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Static vs Dynamic — method titles stay subordinate to section H2 */
body.page-id-2615.elementor-page .fz-svd-photo {
  border-radius: var(--adas-radius) !important;
  border-color: var(--adas-line) !important;
}

body.page-id-2615.elementor-page .fz-svd-title {
  font-size: var(--adas-h3) !important;
  line-height: 1.2 !important;
}

body.page-id-2615.elementor-page .fz-svd-sub {
  font-size: var(--adas-small) !important;
}

body.page-id-2615.elementor-page .fz-svd-desc,
body.page-id-2615.elementor-page .fz-svd-callout p {
  font-size: var(--adas-body) !important;
}

body.page-id-2615.elementor-page .fz-svd-points li {
  font-size: var(--adas-small) !important;
}

body.page-id-2615.elementor-page .fz-svd-callout h3,
body.page-id-2615.elementor-page #svd-callout-heading {
  font-size: clamp(1.25rem, 1.8vw, 1.5rem) !important;
  line-height: 1.2 !important;
}

body.page-id-2615.elementor-page .fz-need-copy h3 {
  font-size: var(--adas-h3) !important;
}

body.page-id-2615.elementor-page .fz-need-copy p,
body.page-id-2615.elementor-page .fz-need-sub {
  font-size: var(--adas-body) !important;
}

/* FAQ — line accordion, not boxed cards */
body.page-id-2615.elementor-page .ac-faq-list {
  gap: 0 !important;
  max-width: 46rem !important;
  border-top: 1px solid var(--adas-line) !important;
}

body.page-id-2615.elementor-page details.ac-q {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--adas-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
  box-shadow: none !important;
}

body.page-id-2615.elementor-page details.ac-q[open] {
  border-color: transparent !important;
  border-bottom: 1px solid var(--adas-line) !important;
  background: transparent !important;
}

body.page-id-2615.elementor-page summary.ac-qs {
  padding: 1.05rem 0.15rem 1.05rem 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--adas-ink) !important;
  background: transparent !important;
}

body.page-id-2615.elementor-page summary.ac-qs:hover {
  color: #fff !important;
}

body.page-id-2615.elementor-page .ac-q-icon {
  width: 1.5rem !important;
  height: 1.5rem !important;
  border-radius: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--adas-accent) !important;
  font-size: 1.25rem !important;
  font-weight: 400 !important;
}

body.page-id-2615.elementor-page details.ac-q[open] .ac-q-icon {
  background: transparent !important;
  color: var(--adas-accent-2) !important;
  transform: rotate(45deg) !important;
}

body.page-id-2615.elementor-page .ac-qa {
  padding: 0 2rem 1.25rem 0 !important;
  border-top: 0 !important;
  margin: 0 !important;
  font-size: var(--adas-body) !important;
  color: var(--adas-muted) !important;
  line-height: 1.7 !important;
  background: transparent !important;
}

/* Related services — quieter tiles */
body.page-id-2615.elementor-page .ac-rel {
  background: var(--adas-surface) !important;
  border: 1px solid var(--adas-line) !important;
  border-radius: var(--adas-radius) !important;
  box-shadow: none !important;
}

body.page-id-2615.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* Final CTA — dark → blue → dark (top + bottom fades) */
body.page-id-2615.elementor-page section.ac-cta {
  position: relative !important;
  padding: clamp(4rem, 7vw, 5.5rem) 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  /* Continuous vertical fade; strong blue held behind CTA content */
  background: linear-gradient(
    180deg,
    #070b12 0%,
    #0b1429 8%,
    #122657 16%,
    #1b3a8a 26%,
    #1e40af 34%,
    #2b6cff 42%,
    #2b6cff 58%,
    #1e40af 68%,
    #1b3a8a 78%,
    #0b1429 90%,
    #070b12 100%
  ) !important;
  overflow: hidden;
}

/* Gradient owns both ends — disable the old top-only overlay */
body.page-id-2615.elementor-page section.ac-cta::before,
body.page-id-2615.elementor-page section.ac-cta::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.page-id-2615.elementor-page section.ac-cta .ac-cta-body,
body.page-id-2615.elementor-page section.ac-cta .acc {
  position: relative !important;
  z-index: 2 !important;
}

body.page-id-2615.elementor-page section.ac-cta h2 {
  font-size: var(--adas-h2) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.12 !important;
  max-width: min(100%, 22rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.page-id-2615.elementor-page section.ac-cta p {
  font-size: var(--adas-body) !important;
  max-width: 34rem !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

/* Let CTA blue→dark flow into the bar/footer with no hard line */
body.page-id-2615.elementor-page .ac-bar {
  background: var(--adas-bg) !important;
  border-top: 0 !important;
  box-shadow: none !important;
}

/* Images — consistent radius */
body.page-id-2615.elementor-page .ac img,
body.page-id-2615.elementor-page .fz-need-photo img,
body.page-id-2615.elementor-page .fz-svd-photo img {
  border-radius: var(--adas-radius);
}

/* Mobile / tablet rhythm */
@media (max-width: 1024px) {
  body.page-id-2615 {
    --adas-sec-y: clamp(3.5rem, 6vw, 5.25rem);
    --adas-h1: clamp(1.95rem, 3.4vw, 2.45rem);
    --adas-h2: clamp(1.5rem, 2.8vw, 2rem);
    --adas-h3: clamp(1.15rem, 1.8vw, 1.3rem);
  }
}

@media (max-width: 768px) {
  body.page-id-2615 {
    --adas-sec-y: clamp(3.5rem, 8vw, 4.5rem);
    --adas-h1: clamp(1.9rem, 7vw, 2.25rem);
    --adas-h2: clamp(1.45rem, 5.5vw, 1.85rem);
    --adas-h3: 1.2rem;
    --adas-body: 0.97rem;
  }

  body.page-id-2615.elementor-page .acc,
  body.page-id-2615.elementor-page .fz-svd-shell,
  body.page-id-2615.elementor-page .fz-need :is(.acc,.dsc),
  body.page-id-2615.elementor-page .fz-makes :is(.acc,.dsc) {
    padding-inline: 20px !important;
  }

  body.page-id-2615.elementor-page .ac-sys-grid {
    grid-template-columns: 1fr !important;
    gap: 0.85rem !important;
  }

  body.page-id-2615.elementor-page .ac-what {
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
  }

  body.page-id-2615.elementor-page .ac-rel-grid {
    grid-template-columns: 1fr !important;
  }

  body.page-id-2615.elementor-page .ac-sec > .acc > h2,
  body.page-id-2615.elementor-page .ac-sec h2,
  body.page-id-2615.elementor-page .fz-need-head h2,
  body.page-id-2615.elementor-page .fz-makes-head h2,
  body.page-id-2615.elementor-page .fz-svd-head h2,
  body.page-id-2615.elementor-page #faq-heading {
    max-width: none !important;
  }
}

@media (max-width: 430px) {
  body.page-id-2615 {
    --adas-sec-y: 3.5rem;
    --adas-h1: clamp(1.8rem, 7.5vw, 2.1rem);
    --adas-h2: clamp(1.4rem, 6.5vw, 1.7rem);
  }
}

/* ============================================================
   Service cluster — shared visual system (all /services/* pages)
   Mirrors the polished ADAS language: type, spacing, FAQ lines,
   dual-fade CTA. Prefixes: ac ds mp op ew pp sa ev
   ============================================================ */
body.parent-pageid-15 {
  --svc-bg: #070b12;
  --svc-surface: #0e1520;
  --svc-ink: #f4f7fb;
  --svc-muted: #9aa8b8;
  --svc-accent: #2b6cff;
  --svc-accent-2: #4d86ff;
  --svc-line: rgba(255, 255, 255, 0.08);
  --svc-radius: 10px;
  --svc-sec-y: clamp(3.75rem, 7.5vw, 6.75rem);
  --svc-h1: clamp(2.05rem, 3.2vw, 2.75rem);
  --svc-h2: clamp(1.55rem, 2.4vw, 2.15rem);
  --svc-h3: clamp(1.2rem, 1.5vw, 1.4rem);
  --svc-body: clamp(0.94rem, 0.95vw, 1rem);
  --svc-eye: 0.72rem;
  --svc-intro-max: 42rem;
}

body.parent-pageid-15 :is(.ac, .ds, .mp, .op, .ew, .pp, .sa, .ev) {
  background: var(--svc-bg) !important;
  color: var(--svc-ink) !important;
}

body.parent-pageid-15 :is(.ac-sec, .ds-sec, .mp-sec, .op-sec, .ew-sec, .pp-sec, .sa-sec, .ev-sec) {
  padding-top: var(--svc-sec-y) !important;
  padding-bottom: var(--svc-sec-y) !important;
  background-color: var(--svc-bg) !important;
}

body.parent-pageid-15 :is(.ac-alt, .ds-alt, .mp-alt, .op-alt, .ew-alt, .pp-alt, .sa-alt, .ev-alt) {
  background-color: var(--svc-surface) !important;
}

body.parent-pageid-15 :is(.ac-sec, .ds-sec, .mp-sec, .op-sec, .ew-sec, .pp-sec, .sa-sec, .ev-sec) h2 {
  font-family: var(--fz-font) !important;
  font-size: var(--svc-h2) !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.12 !important;
  text-transform: none !important;
  color: var(--svc-ink) !important;
  max-width: min(100%, 40rem) !important;
}

body.parent-pageid-15 :is(.ac-sec, .ds-sec, .mp-sec, .op-sec, .ew-sec, .pp-sec, .sa-sec, .ev-sec) h3 {
  font-size: var(--svc-h3) !important;
  font-weight: 650 !important;
  letter-spacing: -0.015em !important;
  line-height: 1.25 !important;
  color: var(--svc-ink) !important;
}

body.parent-pageid-15 :is(.ac-intro, .ds-intro, .mp-intro, .op-intro, .ew-intro, .pp-intro, .sa-intro, .ev-intro),
body.parent-pageid-15 :is(.ac-what-text, .ds-what-text, .mp-what-text, .op-what-text, .ew-what-text, .pp-what-text, .sa-what-text, .ev-what-text) p {
  font-size: var(--svc-body) !important;
  line-height: 1.65 !important;
  color: var(--svc-muted) !important;
  max-width: var(--svc-intro-max) !important;
}

body.parent-pageid-15 :is(.ac-hero, .ds-hero, .mp-hero, .op-hero, .ew-hero, .pp-hero, .sa-hero, .ev-hero) h1 {
  font-size: var(--svc-h1) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.08 !important;
}

body.parent-pageid-15 :is(.ac-hero-p, .ds-hero-p, .mp-hero-p, .op-hero-p, .ew-hero-p, .pp-hero-p, .sa-hero-p, .ev-hero-p),
body.parent-pageid-15 :is(.ac-hero-sub, .ds-hero-sub, .mp-hero-sub, .op-hero-sub, .ew-hero-sub, .pp-hero-sub, .sa-hero-sub, .ev-hero-sub) {
  font-size: var(--svc-body) !important;
  line-height: 1.55 !important;
}

/* FAQ — line accordion across all service prefixes */
body.parent-pageid-15 :is(.ac-faq-list, .ds-faq-list, .mp-faq-list, .op-faq-list, .ew-faq-list, .pp-faq-list, .sa-faq-list, .ev-faq-list) {
  gap: 0 !important;
  max-width: 46rem !important;
  margin-inline: auto !important;
  border-top: 1px solid var(--svc-line) !important;
}

body.parent-pageid-15 :is(details.ac-q, details.ds-q, details.mp-q, details.op-q, details.ew-q, details.pp-q, details.sa-q, details.ev-q) {
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--svc-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.parent-pageid-15 :is(details.ac-q, details.ds-q, details.mp-q, details.op-q, details.ew-q, details.pp-q, details.sa-q, details.ev-q)[open] {
  background: transparent !important;
  border-bottom: 1px solid var(--svc-line) !important;
}

body.parent-pageid-15 :is(summary.ac-qs, summary.ds-qs, summary.mp-qs, summary.op-qs, summary.ew-qs, summary.pp-qs, summary.sa-qs, summary.ev-qs) {
  padding: 1.05rem 0.15rem 1.05rem 0 !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  color: var(--svc-ink) !important;
  background: transparent !important;
}

body.parent-pageid-15 :is(.ac-q-icon, .ds-q-icon, .mp-q-icon, .op-q-icon, .ew-q-icon, .pp-q-icon, .sa-q-icon, .ev-q-icon) {
  width: 1.5rem !important;
  height: 1.5rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--svc-accent) !important;
}

body.parent-pageid-15 :is(.ac-qa, .ds-qa, .mp-qa, .op-qa, .ew-qa, .pp-qa, .sa-qa, .ev-qa) {
  padding: 0 2rem 1.2rem 0 !important;
  border-top: 0 !important;
  font-size: var(--svc-body) !important;
  color: var(--svc-muted) !important;
  line-height: 1.7 !important;
  background: transparent !important;
}

/* Center FAQ + related heads over the centered accordion / related tiles */
body.parent-pageid-15 :is(.fz-need-head h2, .fz-makes-head h2) {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

body.parent-pageid-15 :is(h2[id^="faq-"], h2#faq-heading, h2#related-heading) {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: min(100%, 36rem) !important;
}

body.parent-pageid-15 section[aria-labelledby^="faq"] > :is(.acc, .dsc, .mpc, .opc, .ewc, .ppc, .sac, .evc) > :is(.ac-intro, .ds-intro, .mp-intro, .op-intro, .ew-intro, .pp-intro, .sa-intro, .ev-intro),
body.parent-pageid-15 section[aria-labelledby="related-heading"] > :is(.acc, .dsc, .mpc, .opc, .ewc, .ppc, .sac, .evc) > :is(.ac-intro, .ds-intro, .mp-intro, .op-intro, .ew-intro, .pp-intro, .sa-intro, .ev-intro) {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Dual-fade CTA — dark → blue → dark on every service page */
body.parent-pageid-15 :is(section.ac-cta, section.ds-cta, section.mp-cta, section.op-cta, section.ew-cta, section.pp-cta, section.sa-cta, section.ev-cta) {
  position: relative !important;
  padding: clamp(4rem, 7vw, 5.5rem) 0 !important;
  border-top: 0 !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
  background: linear-gradient(
    180deg,
    #070b12 0%,
    #0b1429 8%,
    #122657 16%,
    #1b3a8a 26%,
    #1e40af 34%,
    #2b6cff 42%,
    #2b6cff 58%,
    #1e40af 68%,
    #1b3a8a 78%,
    #0b1429 90%,
    #070b12 100%
  ) !important;
  overflow: hidden;
}

body.parent-pageid-15 :is(section.ac-cta, section.ds-cta, section.mp-cta, section.op-cta, section.ew-cta, section.pp-cta, section.sa-cta, section.ev-cta)::before,
body.parent-pageid-15 :is(section.ac-cta, section.ds-cta, section.mp-cta, section.op-cta, section.ew-cta, section.pp-cta, section.sa-cta, section.ev-cta)::after {
  content: none !important;
  display: none !important;
}

body.parent-pageid-15 :is(.ac-cta-body, .ds-cta-body, .mp-cta-body, .op-cta-body, .ew-cta-body, .pp-cta-body, .sa-cta-body, .ev-cta-body),
body.parent-pageid-15 :is(section.ac-cta, section.ds-cta, section.mp-cta, section.op-cta, section.ew-cta, section.pp-cta, section.sa-cta, section.ev-cta) :is(.acc, .dsc, .mpc, .opc, .ewc, .ppc, .sac, .evc) {
  position: relative !important;
  z-index: 2 !important;
  text-align: center !important;
}

body.parent-pageid-15 :is(section.ac-cta, section.ds-cta, section.mp-cta, section.op-cta, section.ew-cta, section.pp-cta, section.sa-cta, section.ev-cta) h2 {
  font-size: var(--svc-h2) !important;
  letter-spacing: -0.03em !important;
  line-height: 1.12 !important;
  max-width: min(100%, 22rem) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: #fff !important;
}

body.parent-pageid-15 :is(section.ac-cta, section.ds-cta, section.mp-cta, section.op-cta, section.ew-cta, section.pp-cta, section.sa-cta, section.ev-cta) p {
  font-size: var(--svc-body) !important;
  max-width: 34rem !important;
  margin-left: auto !important;
  margin-right: auto !important;
  color: rgba(255, 255, 255, 0.72) !important;
}

body.parent-pageid-15 :is(.ac-bar, .ds-bar, .mp-bar, .op-bar, .ew-bar, .pp-bar, .sa-bar, .ev-bar) {
  background: var(--svc-bg) !important;
  border-top: 0 !important;
  box-shadow: none !important;
}

/* Soften service/why cards cluster-wide */
body.parent-pageid-15 :is(.ac-sys-card, .ds-card, .mp-card, .op-card, .ew-card, .pp-card, .sa-card, .ev-card, .ds-svc-card, .mp-svc-card) {
  border-radius: var(--svc-radius) !important;
  border-color: var(--svc-line) !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (max-width: 1024px) {
  body.parent-pageid-15 {
    --svc-sec-y: clamp(3.5rem, 6vw, 5.25rem);
    --svc-h1: clamp(1.95rem, 3.4vw, 2.45rem);
    --svc-h2: clamp(1.5rem, 2.8vw, 2rem);
    --svc-h3: clamp(1.15rem, 1.8vw, 1.3rem);
  }
}

@media (max-width: 768px) {
  body.parent-pageid-15 {
    --svc-sec-y: clamp(3.5rem, 8vw, 4.5rem);
    --svc-h1: clamp(1.9rem, 7vw, 2.25rem);
    --svc-h2: clamp(1.45rem, 5.5vw, 1.85rem);
    --svc-h3: 1.2rem;
    --svc-body: 0.97rem;
  }

  body.parent-pageid-15 :is(.acc, .dsc, .mpc, .opc, .ewc, .ppc, .sac, .evc) {
    padding-inline: 20px !important;
  }
}

@media (max-width: 430px) {
  body.parent-pageid-15 {
    --svc-sec-y: 3.5rem;
    --svc-h1: clamp(1.8rem, 7.5vw, 2.1rem);
    --svc-h2: clamp(1.4rem, 6.5vw, 1.7rem);
  }
}

/* ── Diagnostic Scanning page (2618) ── */
body.page-id-2618.elementor-page .fz-need .fz-need-head h2,
body.page-id-2618.elementor-page .fz-need h2#reveal-heading {
  max-width: 28ch !important;
  font-size: var(--svc-h2, clamp(1.45rem, 2.8vw, 2rem)) !important;
  line-height: 1.15 !important;
}

body.page-id-2618.elementor-page :is(.ds-scan-card, .ds-when-card, .ds-process-step, .ds-what-panel) {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2618.elementor-page .ds-when-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(43, 108, 255, 0.28) !important;
}

body.page-id-2618.elementor-page .ac-rel {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2618.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.parent-pageid-15 .ds .fz-need-sub {
  margin: 0.65rem auto 0 !important;
  max-width: 42rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── Service page motion (hero + scroll reveal) ── */
body.parent-pageid-15 [data-fz-hero-in] {
  opacity: 0;
  transform: translateY(18px);
}

body.parent-pageid-15 [data-fz-hero-in].is-in {
  opacity: 1;
  transform: none;
  transition: opacity 0.7s ease, transform 0.7s ease;
}

body.parent-pageid-15 [data-fz-reveal] {
  opacity: 0;
  transform: translateY(16px);
  transition:
    opacity 0.55s ease,
    transform 0.55s ease;
  transition-delay: 0ms;
}

body.parent-pageid-15 [data-fz-reveal][data-fz-reveal-delay="1"] {
  transition-delay: 70ms;
}
body.parent-pageid-15 [data-fz-reveal][data-fz-reveal-delay="2"] {
  transition-delay: 140ms;
}
body.parent-pageid-15 [data-fz-reveal][data-fz-reveal-delay="3"] {
  transition-delay: 210ms;
}
body.parent-pageid-15 [data-fz-reveal][data-fz-reveal-delay="4"] {
  transition-delay: 280ms;
}
body.parent-pageid-15 [data-fz-reveal][data-fz-reveal-delay="5"] {
  transition-delay: 350ms;
}

body.parent-pageid-15 [data-fz-reveal].is-inview {
  opacity: 1;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  body.parent-pageid-15 [data-fz-hero-in],
  body.parent-pageid-15 [data-fz-hero-in].is-in,
  body.parent-pageid-15 [data-fz-reveal],
  body.parent-pageid-15 [data-fz-reveal].is-inview {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ── Module Programming page (2616) ── */
body.page-id-2616.elementor-page .fz-need .fz-need-head h2,
body.page-id-2616.elementor-page .fz-need h2#cover-heading {
  max-width: 28ch !important;
  font-size: var(--svc-h2, clamp(1.45rem, 2.8vw, 2rem)) !important;
  line-height: 1.15 !important;
}

body.page-id-2616.elementor-page :is(.mp-prog-card, .mp-when-card, .mp-process-step, .mp-what-panel) {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2616.elementor-page .mp-when-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(43, 108, 255, 0.28) !important;
}

body.page-id-2616.elementor-page .ac-rel {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2616.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.parent-pageid-15 .mp .fz-need-sub {
  margin: 0.65rem auto 0 !important;
  max-width: 42rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── OEM Programming page (2617) ── */
body.page-id-2617.elementor-page .fz-need .fz-need-head h2,
body.page-id-2617.elementor-page .fz-need h2#path-heading {
  max-width: 28ch !important;
  font-size: var(--svc-h2, clamp(1.45rem, 2.8vw, 2rem)) !important;
  line-height: 1.15 !important;
}

body.page-id-2617.elementor-page :is(.op-cover-card, .op-when-card, .op-process-step, .op-what-panel) {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2617.elementor-page .op-when-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(43, 108, 255, 0.28) !important;
}

body.page-id-2617.elementor-page .ac-rel {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2617.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.parent-pageid-15 .op .fz-need-sub {
  margin: 0.65rem auto 0 !important;
  max-width: 42rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── Pre & Post Repair Scanning page (2620) ── */
body.page-id-2620.elementor-page .fz-need .fz-need-head h2,
body.page-id-2620.elementor-page .fz-need h2#path-heading {
  max-width: 32ch !important;
  font-size: var(--svc-h2, clamp(1.45rem, 2.8vw, 2rem)) !important;
  line-height: 1.15 !important;
}

body.page-id-2620.elementor-page :is(.pp-cover-card, .pp-when-card, .pp-process-step, .pp-what-panel) {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2620.elementor-page .pp-when-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(43, 108, 255, 0.28) !important;
}

body.page-id-2620.elementor-page .ac-rel {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2620.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.parent-pageid-15 .pp .fz-need-sub {
  margin: 0.65rem auto 0 !important;
  max-width: 42rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── Electrical Wiring & Harness page (2619) ── */
body.page-id-2619.elementor-page .fz-need .fz-need-head h2,
body.page-id-2619.elementor-page .fz-need h2#cause-heading {
  max-width: 28ch !important;
  font-size: var(--svc-h2, clamp(1.45rem, 2.8vw, 2rem)) !important;
  line-height: 1.15 !important;
}

body.page-id-2619.elementor-page :is(.ew-cover-card, .ew-when-card, .ew-process-step, .ew-what-panel) {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2619.elementor-page .ew-when-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(43, 108, 255, 0.28) !important;
}

body.page-id-2619.elementor-page .ac-rel {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2619.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.parent-pageid-15 .ew .fz-need-sub {
  margin: 0.65rem auto 0 !important;
  max-width: 42rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── SRS / Airbag Systems page (2621) ── */
body.page-id-2621.elementor-page .fz-need .fz-need-head h2,
body.page-id-2621.elementor-page .fz-need h2#scan-heading {
  max-width: 28ch !important;
  font-size: var(--svc-h2, clamp(1.45rem, 2.8vw, 2rem)) !important;
  line-height: 1.15 !important;
}

body.page-id-2621.elementor-page :is(.sa-cover-card, .sa-when-card, .sa-process-step, .sa-what-panel) {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2621.elementor-page .sa-when-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(43, 108, 255, 0.28) !important;
}

body.page-id-2621.elementor-page .ac-rel {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2621.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.parent-pageid-15 .sa .fz-need-sub {
  margin: 0.65rem auto 0 !important;
  max-width: 42rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── EV Services page (2622) ── */
body.page-id-2622.elementor-page .fz-need .fz-need-head h2,
body.page-id-2622.elementor-page .fz-need h2#diff-heading {
  max-width: 28ch !important;
  font-size: var(--svc-h2, clamp(1.45rem, 2.8vw, 2rem)) !important;
  line-height: 1.15 !important;
}

body.page-id-2622.elementor-page :is(.ev-cover-card, .ev-when-card, .ev-process-step, .ev-what-panel) {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2622.elementor-page .ev-when-card:hover {
  transform: none !important;
  box-shadow: none !important;
  border-color: rgba(43, 108, 255, 0.28) !important;
}

body.page-id-2622.elementor-page .ac-rel {
  background: #0e1520 !important;
  border: 1px solid rgba(255, 255, 255, 0.07) !important;
  border-radius: 10px !important;
  box-shadow: none !important;
}

body.page-id-2622.elementor-page .ac-rel:hover {
  border-color: rgba(43, 108, 255, 0.28) !important;
  transform: none !important;
  box-shadow: none !important;
}

body.parent-pageid-15 .ev .fz-need-sub {
  margin: 0.65rem auto 0 !important;
  max-width: 42rem;
  text-align: center;
  color: rgba(255, 255, 255, 0.55) !important;
}

/* ── For Body Shops page (2652) ── */
.bs [hidden]{display:none!important}
.bs,.bs *{box-sizing:border-box}
.bs{
  --bs-max: min(100% - 2.5rem, 72rem);
  --bs-sec-y: clamp(3.75rem, 7vw, 6.25rem);
  --bs-h1: clamp(2.05rem, 3.2vw, 2.75rem);
  --bs-h2: clamp(1.55rem, 2.4vw, 2.15rem);
  --bs-h3: clamp(1.15rem, 1.5vw, 1.35rem);
  --bs-body: clamp(0.95rem, 0.95vw, 1.02rem);
  margin:0;
  padding-top:88px;
  background:#070B12;
  color:#F5F7FA;
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
body.page-id-2652 .bs,
body.page-id-2652 .bs input,
body.page-id-2652 .bs select,
body.page-id-2652 .bs textarea,
body.page-id-2652 .bs button,
body.page-id-2652 .bs .bs-btn,
body.page-id-2652 .bs .bs-chip,
body.page-id-2652 .bs .bs-submit,
body.page-id-2652 .bs p,
body.page-id-2652 .bs li,
body.page-id-2652 .bs label,
body.page-id-2652 .bs h1,
body.page-id-2652 .bs h2,
body.page-id-2652 .bs h3,
body.page-id-2652 .bs .bs-card-title,
body.page-id-2652 .bs .bs-faq summary{
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif)!important;
}
body.page-id-2652 .bs .bs-btn,
body.page-id-2652 .bs .bs-chip,
body.page-id-2652 .bs .bs-submit,
body.page-id-2652 .bs button{
  letter-spacing:normal!important;
  text-transform:none!important;
}
.bs a{text-decoration:none;color:#2B6CFF}
.bs a:hover{color:#5c8dff}
.bs ::selection{background:#2B6CFF;color:#fff}
.bs input,.bs select,.bs textarea{font-family:inherit}
.bs input::placeholder,.bs textarea::placeholder{color:#5c6579}
.bs-wrap{width:var(--bs-max);max-width:72rem;margin:0 auto;padding:0}
/* Astra page-builder content-width boxes every .bs child — force full-bleed shells */
body.page-id-2652 .bs > .bs-promo,
body.page-id-2652 .bs > .bs-pitch,
body.page-id-2652 .bs > .bs-sec,
body.page-id-2652 .bs > .bs-final{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
}
body.page-id-2652 .site-footer,
body.page-id-2652 .site-footer .fz-ft,
body.page-id-2652 .site-primary-footer-wrap,
body.page-id-2652 .ast-footer-overlay,
body.page-id-2652 .site-footer .footer-widget-area,
body.page-id-2652 .site-footer .footer-widget-area-inner,
body.page-id-2652 .site-footer .widget_block,
body.page-id-2652 .site-footer .widget.widget_block,
body.page-id-2652 .site-footer .ast-builder-grid-row-container,
body.page-id-2652 .site-footer .ast-builder-grid-row-container-inner,
body.page-id-2652 .site-footer .site-primary-footer-inner-wrap,
body.page-id-2652 .site-footer .ast-builder-footer-grid-columns,
body.page-id-2652 .site-footer .site-footer-primary-section-1,
body.page-id-2652 .site-footer .site-footer-section{
  width:100%!important;
  max-width:none!important;
  margin-left:0!important;
  margin-right:0!important;
  left:auto!important;
  right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
body.page-id-2652 .site-footer .fz-ft-inner{
  width:min(1180px,calc(100% - 2.5rem))!important;
  max-width:1180px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  padding-left:0!important;
  padding-right:0!important;
}
.bs-promo{
  background:linear-gradient(90deg,#1e57e0 0%,#2B6CFF 45%,#3d7bff 100%);
  padding:10px 20px;
  width:100%;
  border-bottom:1px solid rgba(255,255,255,.12);
}
.bs-promo-inner{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:.65rem 1rem;
  flex-wrap:wrap;
  text-align:center;
  width:min(100%,72rem);
  margin:0 auto;
}
.bs-promo-amt{
  font-size:.95rem;
  font-weight:800;
  letter-spacing:-.02em;
  color:#fff;
  line-height:1;
  white-space:nowrap;
}
.bs-promo-copy{
  font-size:.875rem;
  font-weight:600;
  color:rgba(255,255,255,.95);
  line-height:1.35;
}
.bs-promo-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:.8125rem;
  font-weight:700;
  color:#123a9e;
  background:#fff;
  border:1px solid #fff;
  border-radius:6px;
  padding:.35rem .85rem;
  min-height:2rem;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
  transition:background .18s,color .18s,border-color .18s;
}
.bs-promo-cta:hover,
.bs-promo-cta:focus-visible{
  color:#0d2c78;
  background:#f0f4ff;
  border-color:#f0f4ff;
}
.bs-hero{padding:clamp(2.25rem,4.5vw,3.5rem) 0 clamp(2rem,4vw,3rem);display:flex;gap:clamp(1.5rem,3vw,2.75rem);align-items:flex-start;flex-wrap:wrap}
.bs-hero-copy{flex:1.15 1 22rem;min-width:0;max-width:36rem}
.bs-hero h1{font-weight:700;font-size:var(--bs-h1);line-height:1.12;letter-spacing:-.03em;margin:0 0 .85rem;color:#F5F7FA;text-wrap:pretty}
.bs-hero h1 .bs-rot{display:inline;color:#2B6CFF;min-height:0}
.bs-hero h1 .bs-h1-break{display:block}
.bs-lead{font-size:var(--bs-body);line-height:1.55;color:#9AA8B8;max-width:36rem;margin:0 0 1.15rem}
.bs-cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:1.15rem}
.bs-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:12px 22px;min-height:48px;border-radius:8px;font-size:.9375rem;font-weight:600;line-height:1.2;border:1px solid transparent;cursor:pointer;transition:background .18s,border-color .18s,color .18s;box-sizing:border-box;text-decoration:none;white-space:nowrap}
a.bs-btn.bs-btn-solid,a.bs-btn.bs-btn-solid:hover,a.bs-btn.bs-btn-solid:focus-visible{background:#2B6CFF;color:#fff;border-color:#2B6CFF}
a.bs-btn.bs-btn-solid:hover{background:#1e57e0}
a.bs-btn.bs-btn-soft,a.bs-btn.bs-btn-soft:hover,a.bs-btn.bs-btn-soft:focus-visible{border-color:rgba(43,108,255,.55);background:rgba(43,108,255,.12);color:#F5F7FA}
a.bs-btn.bs-btn-soft:hover{background:rgba(43,108,255,.2)}
a.bs-btn.bs-btn-ghost,a.bs-btn.bs-btn-ghost:hover,a.bs-btn.bs-btn-ghost:focus-visible{border-color:rgba(255,255,255,.28);color:#F5F7FA;background:transparent}
a.bs-btn.bs-btn-ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.04)}
.bs-btn:focus-visible{outline:2px solid #9EC0FF;outline-offset:3px}
.bs-proof{display:flex;gap:1rem 1.5rem;flex-wrap:wrap;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08);font-size:.8125rem;color:#9AA8B8}
.bs-card{flex:0 1 22.5rem;align-self:flex-start;min-width:0;max-width:22.5rem;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0E1520;padding:1rem 1.1rem}
.bs-card h2,.bs-card .bs-card-title{font-weight:700;font-size:1rem;margin:0;color:#F5F7FA;letter-spacing:-.02em}
.bs-progress-label{font-size:.7rem;font-family:var(--fz-font);color:#2B6CFF}
.bs-card-sub{font-size:.78rem;color:#9AA8B8;margin:2px 0 8px;line-height:1.35}
.bs-bar{height:2px;border-radius:2px;background:rgba(255,255,255,.08);margin-bottom:.75rem;overflow:hidden}
.bs-bar > span{display:block;height:2px;border-radius:2px;background:#2B6CFF;width:0%;transition:width 260ms ease}
.bs-fields{display:flex;flex-direction:column;gap:10px}
.bs-label{display:block;font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:#9AA8B8;margin-bottom:5px;font-weight:600}
.bs-label em{font-style:normal;text-transform:none;letter-spacing:0;color:#5c6579;font-weight:400}
.bs-input,.bs-textarea{width:100%;box-sizing:border-box;background:#070B12;border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:10px 12px;font-size:.9rem;color:#F5F7FA;outline:none;box-shadow:none;-webkit-appearance:none;appearance:none;color-scheme:dark}
.bs-input:focus,.bs-textarea:focus{border-color:#2B6CFF;background:#070B12;color:#F5F7FA;box-shadow:none}
body.page-id-2652 .bs .bs-input,
body.page-id-2652 .bs .bs-textarea{
  background-color:#070B12!important;
  color:#F5F7FA!important;
  -webkit-text-fill-color:#F5F7FA!important;
}
.bs-input:-webkit-autofill,
.bs-input:-webkit-autofill:hover,
.bs-input:-webkit-autofill:focus,
.bs-input:-webkit-autofill:active,
.bs-textarea:-webkit-autofill,
.bs-textarea:-webkit-autofill:hover,
.bs-textarea:-webkit-autofill:focus,
.bs-textarea:-webkit-autofill:active{
  -webkit-text-fill-color:#F5F7FA!important;
  caret-color:#F5F7FA!important;
  color:#F5F7FA!important;
  background-color:#070B12!important;
  background-image:none!important;
  box-shadow:inset 0 0 0 1000px #070B12!important;
  transition:background-color 99999s ease-in-out 0s;
}
.bs-textarea{resize:vertical;min-height:52px;max-height:7rem}
.bs-row{display:flex;gap:10px;flex-wrap:wrap}
.bs-row > *{flex:1 1 8rem;min-width:0}
.bs-chips{display:flex;gap:6px;flex-wrap:wrap}
.bs-chip{font-size:.78rem;padding:8px 11px;min-height:36px;border-radius:8px;cursor:pointer;border:1px solid rgba(255,255,255,.12);background:transparent;color:#9AA8B8;line-height:1.2;box-sizing:border-box}
.bs-chip.is-on{border-color:#2B6CFF;background:rgba(43,108,255,.12);color:#F5F7FA}
.bs-summary{border:1px solid rgba(43,108,255,.28);background:rgba(43,108,255,.07);border-radius:8px;padding:10px 12px;font-size:.8125rem;line-height:1.45;color:#c3cbdb}
.bs-summary[hidden]{display:none!important}
.bs-submit{width:100%;background:rgba(43,108,255,.45);color:#fff!important;padding:12px 14px;min-height:44px;border-radius:8px;font-size:.9rem;font-weight:600;text-align:center;cursor:pointer;border:0;transition:background .2s ease;box-sizing:border-box;line-height:1.2}
.bs-submit.is-ready,.bs-submit:not(:disabled){background:#2B6CFF;color:#fff!important}
.bs-submit:hover:not(:disabled){background:#1e57e0;color:#fff!important}
.bs-submit:disabled{cursor:not-allowed;background:rgba(43,108,255,.45);color:#fff!important}
.bs-submit:focus-visible{outline:2px solid #9EC0FF;outline-offset:3px}
.bs-form-note{font-size:.75rem;line-height:1.4;color:#5c6579;text-align:center;margin-top:2px}
.bs-form-note a{color:#9AA8B8;font-weight:600}
.bs-success{text-align:center;padding:1.5rem 0}
.bs-success-icon{width:46px;height:46px;border-radius:50%;background:rgba(43,108,255,.15);border:1px solid #2B6CFF;color:#2B6CFF;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-size:1.25rem}
.bs-success h3{font-weight:700;font-size:1.15rem;margin:0 0 10px;letter-spacing:-.02em}
.bs-success p{font-size:.9375rem;line-height:1.6;color:#9AA8B8;margin:0 0 1.25rem}
.bs-success button{font-size:.875rem;color:#2B6CFF;font-weight:600;cursor:pointer;background:none;border:0;padding:0}
.bs-pitch{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.bs-pitch-grid{width:var(--bs-max);max-width:72rem;margin:0 auto;padding:var(--bs-sec-y) 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.75rem)}
.bs-pitch h3{font-weight:700;font-size:var(--bs-h3);color:#F5F7FA;margin:0 0 10px;letter-spacing:-.02em}
.bs-pitch p{font-size:var(--bs-body);line-height:1.65;color:#9AA8B8;margin:0;max-width:36ch}
.bs-sec{padding:var(--bs-sec-y) 0;border-top:1px solid rgba(255,255,255,.08)}
.bs-sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:1.5rem;flex-wrap:wrap;margin-bottom:2rem}
.bs-sec h2{font-weight:700;font-size:var(--bs-h2);margin:0 0 10px;color:#F5F7FA;max-width:28ch;letter-spacing:-.03em;line-height:1.12}
.bs-sec-head p,.bs-sec-intro p,.bs-sec > .bs-wrap > p{font-size:var(--bs-body);color:#9AA8B8;margin:0;max-width:42rem;line-height:1.65}
.bs-sec-intro{max-width:38rem;margin:0 0 2.25rem}
.bs-sec-link{font-size:.9375rem;font-weight:600;color:#2B6CFF;white-space:nowrap}
ul.bs-svc-list{display:grid;grid-template-columns:1fr 1fr;column-gap:clamp(2rem,5vw,4.5rem);row-gap:0;margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.12)}
.bs-svc-list li{border-bottom:1px solid rgba(255,255,255,.08);min-width:0}
.bs .bs-svc-list a,
.bs .bs-svc-list a:hover,
.bs .bs-svc-list a:focus-visible{display:block;padding:1.15rem 0 1.2rem;color:#F5F7FA;text-decoration:none;background:transparent}
.bs .bs-svc-list strong{display:block;font-weight:650;font-size:1.02rem;color:#F5F7FA;margin:0 0 .35rem;letter-spacing:-.015em}
.bs .bs-svc-list a:hover strong,.bs .bs-svc-list a:focus-visible strong{color:#5c8dff}
.bs .bs-svc-list span{display:block;font-size:.9rem;line-height:1.55;color:#9AA8B8;font-weight:400;max-width:42ch}
.bs-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(.75rem,2vw,1.25rem)}
.bs-step{display:flex;flex-direction:column;padding:0;min-width:0}
.bs-step-num{font-weight:700;font-size:clamp(2.5rem,4.5vw,3.5rem);line-height:.9;color:rgba(43,108,255,.2);letter-spacing:-.03em}
.bs-step-line{display:flex;align-items:center;gap:0;margin:14px 0 1rem}
.bs-step-line i{width:9px;height:9px;border-radius:50%;background:#2B6CFF;flex-shrink:0}
.bs-step-line b{flex:1;height:1px;background:rgba(43,108,255,.35)}
.bs-step:last-child .bs-step-line b{background:transparent}
.bs-step h3{font-weight:650;font-size:1rem;color:#F5F7FA;margin:0 0 8px;letter-spacing:-.015em}
.bs-step p{font-size:.9rem;line-height:1.6;color:#9AA8B8;max-width:28ch;margin:0}
.bs-doc{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(16rem,22rem);gap:clamp(1.75rem,3.5vw,3.5rem);align-items:start}
.bs-doc-copy{min-width:0}
.bs-check{display:flex;flex-direction:column;gap:12px;margin:1.5rem 0 0;padding:0}
.bs-check li{display:flex;gap:12px;align-items:flex-start;font-size:var(--bs-body);color:#F5F7FA;list-style:none;line-height:1.5}
.bs-check li::before{content:"✓";color:#2B6CFF;flex-shrink:0}
.bs-record{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0E1520;overflow:hidden}
.bs-record-top{background:rgba(43,108,255,.12);border-bottom:1px solid rgba(255,255,255,.08);padding:10px 1.15rem;font-size:.7rem;letter-spacing:.1em;color:#2B6CFF;font-weight:600}
.bs-record-body{padding:1.35rem 1.15rem}
.bs-record-brand{font-weight:700;font-size:.9rem;letter-spacing:.06em;margin-bottom:1.15rem}
.bs-record-k{font-size:.72rem;color:#9AA8B8;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.bs-record-v{font-size:.9375rem;color:#F5F7FA;margin-bottom:1rem;font-family:var(--fz-font)}
.bs-record-rows{display:flex;flex-direction:column;gap:10px;border-top:1px solid rgba(255,255,255,.08);padding-top:1rem}
.bs-record-rows div{display:flex;justify-content:space-between;gap:12px;font-size:.8125rem;font-family:var(--fz-font)}
.bs-record-rows span:first-child{color:#9AA8B8}
.bs-record-rows span:last-child{color:#2B6CFF;font-weight:600}
.bs-partner-box{border:1px solid rgba(43,108,255,.35);border-radius:10px;background:linear-gradient(160deg,rgba(43,108,255,.16) 0%,rgba(43,108,255,.03) 60%),#0E1520;padding:clamp(1.5rem,3.5vw,2.75rem);display:grid;grid-template-columns:minmax(0,1.2fr) minmax(17rem,23rem);gap:clamp(1.5rem,3vw,2.75rem);align-items:center}
.bs-partner-copy{min-width:0}
.bs-partner-eye{font-size:.72rem;letter-spacing:.1em;color:#2B6CFF;font-weight:600;margin-bottom:12px}
.bs-partner-copy h2{font-weight:700;font-size:var(--bs-h2);line-height:1.12;margin:0 0 14px;color:#F5F7FA;max-width:22ch;letter-spacing:-.03em}
.bs-partner-copy > p{font-size:var(--bs-body);line-height:1.65;color:#9AA8B8;margin:0 0 1.35rem;max-width:42rem}
.bs-partner-stats{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.1);padding-top:1.25rem}
.bs-partner-amt{font-weight:700;font-size:clamp(2.25rem,4vw,3rem);line-height:1;color:#2B6CFF;letter-spacing:-.03em}
.bs-partner-amt + div{font-size:.875rem;color:#F5F7FA;font-weight:600;margin-top:4px}
.bs-partner-terms{display:flex;flex-direction:column;gap:8px;min-width:12rem;margin:0;padding:0}
.bs-partner-terms li{display:flex;gap:10px;font-size:.875rem;line-height:1.5;color:#9AA8B8;list-style:none}
.bs-partner-terms li::before{content:"✓";color:#2B6CFF;flex-shrink:0}
.bs-partner-form{min-width:0;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#070B12;padding:clamp(1.25rem,2.5vw,1.65rem)}
.bs-partner-form .bs-input,.bs-partner-form .bs-textarea{background:#0E1520}
.bs-fine{font-size:.78rem;line-height:1.6;color:#5c6579;max-width:56rem;margin-top:1rem}
.bs-areas{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(14rem,18rem);gap:clamp(1.5rem,3vw,2.75rem);align-items:center}
.bs-map{min-width:0;border-radius:10px;border:1px solid rgba(255,255,255,.08);background:#0E1520;overflow:hidden;padding:1rem .75rem .75rem}
.bs-map-svg{display:block;width:100%;height:auto;max-height:22rem}
.bs-map-county{fill:rgba(43,108,255,.10);stroke:rgba(43,108,255,.45);stroke-width:1.2;stroke-linejoin:round;transition:fill .2s ease,stroke .2s ease}
.bs-map-county:hover{fill:rgba(43,108,255,.22);stroke:#2B6CFF}
.bs-map-hd{fill:rgba(43,108,255,.28)}
.bs-map-hd-line{stroke:#2B6CFF;stroke-width:1;stroke-opacity:.4}
.bs-map-label{fill:#9AA8B8;font-family:var(--fz-font);font-size:13px;letter-spacing:.06em;pointer-events:none}
.bs-map-label-hd{fill:#2B6CFF;font-weight:500}
.bs-area-list{min-width:0;display:flex;flex-direction:column;margin:0;padding:0}
.bs-area-list li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:var(--bs-body);color:#F5F7FA;list-style:none}
.bs-faq{max-width:46rem;margin:0 auto}
.bs-faq h2{margin-bottom:1.5rem;text-align:center;max-width:none}
.bs-faq details{border-bottom:1px solid rgba(255,255,255,.08)}
.bs-faq summary{padding:1.1rem 0;display:flex;justify-content:space-between;align-items:center;gap:1rem;cursor:pointer;font-weight:600;font-size:1rem;color:#F5F7FA;list-style:none;letter-spacing:-.01em;pointer-events:auto;-webkit-user-select:none;user-select:none}
.bs-faq summary::-webkit-details-marker,.bs-faq summary::marker{display:none;content:""}
.bs-faq summary::after{content:"+";color:#2B6CFF;font-size:1.25rem;flex-shrink:0;line-height:1}
.bs-faq details[open] summary::after{content:"−"}
.bs-faq details:not([open]) > *:not(summary){display:none!important}
.bs-faq details p{padding:0 0 1.2rem;font-size:var(--bs-body);line-height:1.7;color:#9AA8B8;max-width:40rem;margin:0}
.bs-final{padding:clamp(3.5rem,7vw,5.5rem) 1.25rem;background:linear-gradient(180deg,#070B12 0%,#0d1c3d 50%,#070B12 100%);text-align:center;border-top:0}
.bs-final-inner{max-width:36rem;margin:0 auto}
.bs-final h2{font-weight:700;font-size:var(--bs-h2);margin:0 0 1rem;color:#F5F7FA;text-wrap:pretty;max-width:18ch;margin-left:auto;margin-right:auto;letter-spacing:-.03em;line-height:1.12}
.bs-final p{font-size:var(--bs-body);line-height:1.7;color:#c3cbdb;margin:0 0 1.75rem}
.bs-final .bs-cta-row{justify-content:center;margin:0}
.bs-status{font-size:.8125rem;margin-top:8px;min-height:1.2em;color:#9AA8B8}
.bs-status.err{color:#ff8f8f}
body.page-id-2652 .entry-header,
body.page-id-2652 .ast-archive-description,
body.page-id-2652 .page-header,
body.page-id-2652 h1.entry-title{display:none!important}
body.page-id-2652 #content,
body.page-id-2652 .site-content,
body.page-id-2652 #content .ast-container,
body.page-id-2652 .entry-content{padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important}
body.page-id-2652 .site-content > .ast-container{padding-left:0!important;padding-right:0!important}
@media (max-width:1100px){
  .bs-pitch-grid,
  .bs-doc,
  .bs-partner-box,
  .bs-areas,
  .bs-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  body.page-id-2652 .bs{
    --bs-max: min(100% - 2.5rem, 72rem);
    --bs-sec-y: clamp(2.25rem,7vw,3.25rem);
    --bs-h1: clamp(1.55rem,6.4vw,1.95rem);
    --bs-h2: clamp(1.28rem,5vw,1.6rem);
    --bs-h3: 1.05rem;
    /* Mobile Astra header is ~74px; 56 left the promo under the bar */
    padding-top:80px;
  }
  .bs-wrap,
  .bs-pitch-grid{width:var(--bs-max);max-width:72rem;margin-left:auto;margin-right:auto}
  .bs-pitch-grid,
  .bs-doc,
  .bs-partner-box,
  .bs-areas,
  .bs-steps,
  ul.bs-svc-list{grid-template-columns:1fr}
  .bs-promo{padding:14px 20px 16px}
  .bs-promo-inner{
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-align:center;
  }
  .bs-promo-amt{
    font-size:1.65rem;
    letter-spacing:-.03em;
    line-height:1;
  }
  .bs-promo-copy{
    font-size:.9rem;
    font-weight:500;
    line-height:1.4;
    max-width:18.5rem;
    color:rgba(255,255,255,.92);
  }
  .bs-promo-cta{
    width:100%;
    max-width:18.5rem;
    min-height:44px;
    padding:11px 16px;
    font-size:.9rem;
    border-radius:8px;
  }
  .bs-hero{
    flex-direction:column;
    align-items:stretch;
    justify-content:flex-start;
    padding:1.35rem 0 1.75rem;
    gap:1.25rem;
  }
  .bs-hero-copy{flex:none;width:100%;max-width:none}
  .bs-hero h1{margin-bottom:.65rem;line-height:1.18}
  .bs-lead{margin:0 0 .9rem;font-size:.9rem;line-height:1.5}
  .bs-cta-row{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:1rem}
  .bs-btn{width:100%;min-height:42px;padding:10px 16px;white-space:normal;font-size:.875rem}
  .bs-proof{gap:.55rem .9rem;padding-top:.75rem;font-size:.75rem;justify-content:flex-start}
  .bs-card{
    flex:none;
    align-self:center;
    width:100%;
    max-width:100%;
    margin-left:auto;
    margin-right:auto;
    padding:.9rem .95rem;
    box-sizing:border-box;
  }
  .bs-fields{gap:8px}
  .bs-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .bs-chip{min-height:34px;padding:6px 10px;font-size:.75rem;width:100%}
  .bs-partner-form{width:100%;max-width:none;margin-left:auto;margin-right:auto}
  .bs-map-svg{max-height:14rem}
  .bs-faq h2{text-align:center;margin-bottom:1rem}
  .bs-faq summary{padding:.85rem 0;font-size:.92rem;gap:.75rem}
  .bs-faq details p{padding:0 0 .9rem;font-size:.88rem;line-height:1.55}
  .bs-final{padding:2.5rem 1.25rem}
  .bs-final .bs-cta-row{flex-direction:column;align-items:stretch}
  .bs-sec-head{margin-bottom:1.25rem}
  .bs-pitch-grid{padding-top:2.25rem;padding-bottom:2.25rem;gap:1.35rem}
}
@media (max-width:520px){
  .bs-proof{display:none}
  .bs-hero-copy{max-width:none}
}

/* -- Resources section (2651 + children) -- */
.rs,.rs *{box-sizing:border-box}
.rs{
  --rs-max:min(100% - 2.5rem,72rem);
  --rs-sec-y:clamp(3.5rem,7vw,6rem);
  --rs-h1:clamp(2.05rem,3.2vw,2.75rem);
  --rs-h2:clamp(1.45rem,2.3vw,2.05rem);
  --rs-body:clamp(.95rem,.95vw,1.02rem);
  margin:0;
  padding-top:88px;
  background:#070B12;
  color:#F5F7FA;
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif);
  overflow-x:clip;
  -webkit-font-smoothing:antialiased;
}
body.page-id-2651 .rs,
body.parent-pageid-2651 .rs,
body.page-id-2651 .rs a,
body.parent-pageid-2651 .rs a,
body.page-id-2651 .rs button,
body.parent-pageid-2651 .rs button,
body.page-id-2651 .rs h1,
body.parent-pageid-2651 .rs h1,
body.page-id-2651 .rs h2,
body.parent-pageid-2651 .rs h2,
body.page-id-2651 .rs h3,
body.parent-pageid-2651 .rs h3,
body.page-id-2651 .rs p,
body.parent-pageid-2651 .rs p,
body.page-id-2651 .rs li,
body.parent-pageid-2651 .rs li,
body.page-id-2651 .rs summary,
body.parent-pageid-2651 .rs summary{
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif)!important;
}
body.page-id-2651 .entry-header,
body.parent-pageid-2651 .entry-header,
body.page-id-2651 .ast-archive-description,
body.parent-pageid-2651 .ast-archive-description,
body.page-id-2651 .page-header,
body.parent-pageid-2651 .page-header,
body.page-id-2651 h1.entry-title,
body.parent-pageid-2651 h1.entry-title{display:none!important}
body.page-id-2651 #content,
body.parent-pageid-2651 #content,
body.page-id-2651 .site-content,
body.parent-pageid-2651 .site-content,
body.page-id-2651 #content .ast-container,
body.parent-pageid-2651 #content .ast-container,
body.page-id-2651 .entry-content,
body.parent-pageid-2651 .entry-content{
  padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important
}
body.page-id-2651 .site-content > .ast-container,
body.parent-pageid-2651 .site-content > .ast-container{padding-left:0!important;padding-right:0!important}
body.page-id-2651 .rs > .rs-hero,
body.parent-pageid-2651 .rs > .rs-hero,
body.page-id-2651 .rs > .rs-sec,
body.parent-pageid-2651 .rs > .rs-sec,
body.page-id-2651 .rs > .rs-cta,
body.parent-pageid-2651 .rs > .rs-cta,
body.page-id-2651 .rs > .rs-xnav,
body.parent-pageid-2651 .rs > .rs-xnav{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
.rs-wrap{width:var(--rs-max);max-width:72rem;margin:0 auto}
.rs-crumbs{margin:0 0 1rem;font-size:.85rem;color:#9AA8B8}
.rs-crumbs a{color:#9AA8B8;text-decoration:none}
.rs-crumbs a:hover{color:#F5F7FA}
.rs-hero{
  padding:clamp(1.75rem,4vw,3rem) 0 clamp(2rem,4vw,2.75rem);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg,#070B12 0%,#0E1520 58%,#121A27 100%);
}
.rs-hero h1{
  margin:0 0 .75rem;font-size:var(--rs-h1);font-weight:700;letter-spacing:-.03em;line-height:1.12;color:#F5F7FA
}
.rs-lead{margin:0 0 1.25rem;max-width:40rem;font-size:var(--rs-body);line-height:1.55;color:#9AA8B8}
.rs-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 1.15rem}
.rs-tab{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.55rem 1rem;min-height:40px;border:1px solid rgba(255,255,255,.14);
  border-radius:8px;color:#F5F7FA;text-decoration:none;font-size:.875rem;font-weight:600;
  background:transparent;transition:background .18s,border-color .18s,color .18s
}
.rs-tab:hover{border-color:rgba(43,108,255,.55);background:rgba(43,108,255,.12);color:#F5F7FA}
.rs-tab.is-on{border-color:#2B6CFF;background:rgba(43,108,255,.18);color:#fff}
.rs-catnav{display:flex;flex-wrap:wrap;gap:.65rem 1.1rem;margin:.25rem 0 0}
.rs-catnav a{color:#9AA8B8;text-decoration:none;font-size:.84rem;font-weight:600}
.rs-catnav a:hover{color:#4d86ff}
.rs-hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.rs-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:12px 22px;min-height:48px;border-radius:8px;font-size:.9375rem;font-weight:600;
  line-height:1.2;border:1px solid transparent;text-decoration:none;box-sizing:border-box;
  transition:background .18s,border-color .18s,color .18s
}
a.rs-btn.rs-btn-solid,a.rs-btn.rs-btn-solid:hover,a.rs-btn.rs-btn-solid:focus-visible{background:#2B6CFF;color:#fff;border-color:#2B6CFF}
a.rs-btn.rs-btn-solid:hover{background:#1e57e0}
a.rs-btn.rs-btn-soft,a.rs-btn.rs-btn-soft:hover,a.rs-btn.rs-btn-soft:focus-visible{
  border-color:rgba(43,108,255,.55);background:rgba(43,108,255,.12);color:#F5F7FA
}
a.rs-btn.rs-btn-ghost,a.rs-btn.rs-btn-ghost:hover,a.rs-btn.rs-btn-ghost:focus-visible{
  border-color:rgba(255,255,255,.28);color:#F5F7FA;background:transparent
}
a.rs-btn.rs-btn-ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.04)}
.rs-sec{padding:var(--rs-sec-y) 0;border-top:1px solid rgba(255,255,255,.06)}
.rs-sec.rs-alt{background:#0E1520}
.rs-sec h2{margin:0 0 .65rem;font-size:var(--rs-h2);font-weight:700;letter-spacing:-.02em;color:#F5F7FA}
.rs-intro{margin:0 0 1.5rem;max-width:42rem;color:#9AA8B8;font-size:var(--rs-body);line-height:1.55}
.rs-dest{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.rs-dest-card{
  display:flex;flex-direction:column;gap:.55rem;padding:1.2rem 1.15rem;
  border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0E1520;
  text-decoration:none;color:inherit;transition:border-color .18s,background .18s
}
.rs-sec.rs-alt .rs-dest-card{background:#121A27}
.rs-dest-card:hover{border-color:rgba(43,108,255,.45);background:#121A27}
.rs-dest-card h3{margin:0;font-size:1.05rem;color:#F5F7FA}
.rs-dest-card p{margin:0;flex:1;color:#9AA8B8;font-size:.9rem;line-height:1.5}
.rs-dest-go{font-size:.84rem;font-weight:700;color:#2B6CFF}
.rs-feature{
  display:grid;gap:.55rem;padding:1.35rem 1.25rem;border:1px solid rgba(255,255,255,.1);
  border-radius:10px;background:#121A27;text-decoration:none;color:inherit;
  transition:border-color .18s
}
.rs-feature:hover{border-color:rgba(43,108,255,.45)}
.rs-feature-k{font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2B6CFF}
.rs-feature strong{font-size:1.15rem;color:#F5F7FA;letter-spacing:-.02em}
.rs-feature > span:not(.rs-feature-k):not(.rs-feature-go){color:#9AA8B8;font-size:.92rem;line-height:1.5;max-width:40rem}
.rs-feature-go{font-size:.84rem;font-weight:700;color:#2B6CFF}
.rs-shop-row{display:flex;align-items:flex-end;justify-content:space-between;gap:1.25rem;flex-wrap:wrap}
.rs-shop-row .rs-intro{margin-bottom:0}
.rs-empty{
  padding:1.5rem 1.25rem;border:1px dashed rgba(255,255,255,.16);border-radius:10px;
  background:rgba(14,21,32,.6);margin-bottom:1.75rem
}
.rs-empty h2{margin:0 0 .5rem}
.rs-empty p{margin:0;color:#9AA8B8;max-width:40rem;line-height:1.55}
.rs-disclaimer{
  padding:1rem 1.1rem;border-left:3px solid #2B6CFF;background:#0E1520;
  color:#9AA8B8;font-size:.9rem;line-height:1.55
}
.rs-disclaimer strong{color:#F5F7FA}
.rs-related-h{margin:0 0 .4rem;font-size:1rem;color:#F5F7FA}
.rs-related{list-style:none;margin:0;padding:0;display:grid;gap:.55rem}
.rs-related a{color:#4d86ff;text-decoration:none;font-weight:600;font-size:.92rem}
.rs-related a:hover{color:#9EC0FF}
.rs-faq-list{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.1)}
.rs-q{border-bottom:1px solid rgba(255,255,255,.1);margin:0}
.rs-qs{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 0;cursor:pointer;list-style:none;font-size:1rem;font-weight:600;
  color:#F5F7FA;line-height:1.35
}
.rs-qs::-webkit-details-marker{display:none}
.rs-q-icon{
  flex:0 0 auto;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.18);border-radius:6px;font-size:1rem;line-height:1;color:#9AA8B8
}
.rs-q[open] .rs-q-icon{color:#2B6CFF;border-color:rgba(43,108,255,.45)}
.rs-q[open] .rs-qs{color:#fff}
.rs-qa{padding:0 0 1.05rem;color:#9AA8B8;font-size:.94rem;line-height:1.6;max-width:46rem}
.rs-cta{
  position:relative;overflow:hidden;padding:clamp(3.25rem,7vw,5rem) 1.25rem;
  background:linear-gradient(180deg,#1e3a8a 0%,#1e40af 42%,#1e40af 100%);
  text-align:center;border-top:0
}
.rs-cta::before{
  content:"";position:absolute;top:0;left:0;right:0;height:160px;
  background:linear-gradient(to bottom,#070b12 0%,rgba(7,11,18,.82) 18%,rgba(7,11,18,.45) 48%,rgba(7,11,18,.14) 72%,transparent 100%);
  pointer-events:none;z-index:1
}
.rs-cta-body{position:relative;z-index:2;width:min(100%,40rem);margin:0 auto}
.rs-cta h2{margin:0 0 .65rem;font-size:var(--rs-h2);color:#fff}
.rs-cta p{margin:0 auto 1.25rem;color:rgba(244,247,251,.86);line-height:1.55}
.rs-cta .rs-hero-cta{justify-content:center}
.rs-xnav{border-top:1px solid rgba(255,255,255,.08);background:#070B12;padding:1rem 0 1.35rem}
.rs-xnav-inner{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem}
.rs-xnav a{color:#9AA8B8;text-decoration:none;font-size:.84rem;font-weight:600}
.rs-xnav a:hover{color:#4d86ff}
@media (max-width:820px){
  .rs{padding-top:80px}
  .rs-dest{grid-template-columns:1fr}
  .rs-hero-cta{flex-direction:column;align-items:stretch}
  .rs-btn{width:100%}
  .rs-shop-row{align-items:stretch}
  .rs-cta::before{height:110px}
  .rs-tabs{gap:8px}
  .rs-tab{flex:1 1 100%;padding:.65rem .85rem;font-size:.875rem;min-height:42px}
}
@media (min-width:520px) and (max-width:820px){
  .rs-tab{flex:1 1 calc(33.333% - 8px);font-size:.8rem;padding:.55rem .6rem}
}

/* -- About page (14) -- */
.ab,.ab *{box-sizing:border-box}
.ab{
  --ab-max:min(100% - 2.5rem,72rem);
  --ab-sec-y:clamp(3.5rem,7vw,6rem);
  --ab-h1:clamp(2.05rem,3.2vw,2.75rem);
  --ab-h2:clamp(1.45rem,2.3vw,2.05rem);
  --ab-body:clamp(.95rem,.95vw,1.02rem);
  margin:0;padding-top:88px;background:#070B12;color:#F5F7FA;
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif);
  overflow-x:clip;-webkit-font-smoothing:antialiased
}
body.page-id-14 .ab,
body.page-id-14 .ab a,
body.page-id-14 .ab h1,
body.page-id-14 .ab h2,
body.page-id-14 .ab h3,
body.page-id-14 .ab p,
body.page-id-14 .ab li,
body.page-id-14 .ab dt,
body.page-id-14 .ab dd,
body.page-id-14 .ab summary{
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif)!important
}
body.page-id-14 .entry-header,
body.page-id-14 .ast-archive-description,
body.page-id-14 .page-header,
body.page-id-14 h1.entry-title{display:none!important}
body.page-id-14 #content,
body.page-id-14 .site-content,
body.page-id-14 #content .ast-container,
body.page-id-14 .entry-content{
  padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important
}
body.page-id-14 .site-content > .ast-container{padding-left:0!important;padding-right:0!important}
body.page-id-14 .ab > .ab-hero,
body.page-id-14 .ab > .ab-sec,
body.page-id-14 .ab > .ab-cta{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
.ab-wrap{width:var(--ab-max);max-width:72rem;margin:0 auto}
.ab-crumbs{margin:0 0 1rem;font-size:.85rem;color:#9AA8B8}
.ab-crumbs a{color:#9AA8B8;text-decoration:none}
.ab-crumbs a:hover{color:#F5F7FA}
.ab-hero{
  padding:clamp(1.75rem,4vw,3rem) 0 clamp(2.25rem,4.5vw,3.25rem);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg,#070B12 0%,#0E1520 55%,#121A27 100%)
}
.ab-brand{
  margin:0 0 .55rem;font-size:clamp(1.15rem,2vw,1.45rem);font-weight:800;
  letter-spacing:-.03em;color:#2B6CFF;line-height:1.1
}
.ab-hero h1{
  margin:0 0 .85rem;font-size:var(--ab-h1);font-weight:700;letter-spacing:-.03em;
  line-height:1.12;color:#F5F7FA;max-width:22ch;text-wrap:pretty
}
.ab-lead{margin:0 0 1.35rem;max-width:40rem;font-size:var(--ab-body);line-height:1.55;color:#9AA8B8}
.ab-hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.ab-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:12px 22px;min-height:48px;border-radius:8px;font-size:.9375rem;font-weight:600;
  line-height:1.2;border:1px solid transparent;text-decoration:none;box-sizing:border-box;
  transition:background .18s,border-color .18s,color .18s
}
a.ab-btn.ab-btn-solid,a.ab-btn.ab-btn-solid:hover,a.ab-btn.ab-btn-solid:focus-visible{background:#2B6CFF;color:#fff;border-color:#2B6CFF}
a.ab-btn.ab-btn-solid:hover{background:#1e57e0}
a.ab-btn.ab-btn-ghost,a.ab-btn.ab-btn-ghost:hover,a.ab-btn.ab-btn-ghost:focus-visible{
  border-color:rgba(255,255,255,.28);color:#F5F7FA;background:transparent
}
a.ab-btn.ab-btn-ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.04)}
.ab-sec{padding:var(--ab-sec-y) 0;border-top:1px solid rgba(255,255,255,.06)}
.ab-sec.ab-alt{background:#0E1520}
.ab-sec h2{margin:0 0 .65rem;font-size:var(--ab-h2);font-weight:700;letter-spacing:-.02em;color:#F5F7FA}
.ab-intro{margin:0 0 1.35rem;max-width:42rem;color:#9AA8B8;font-size:var(--ab-body);line-height:1.55}
.ab-copy{margin:0;max-width:42rem;color:#9AA8B8;font-size:var(--ab-body);line-height:1.55}
.ab-split{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(1.5rem,4vw,3rem);align-items:start}
.ab-facts{margin:0;display:grid;gap:1rem}
.ab-facts > div{padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}
.ab-facts > div:first-child{padding-top:0;border-top:0}
.ab-facts dt{margin:0 0 .25rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2B6CFF}
.ab-facts dd{margin:0;font-size:.95rem;font-weight:600;color:#F5F7FA;line-height:1.4}
.ab-steps{list-style:none;margin:0;padding:0;display:grid;gap:0;counter-reset:abstep}
.ab-steps li{
  display:grid;grid-template-columns:auto 1fr;gap:.35rem 1rem;padding:1.15rem 0;
  border-top:1px solid rgba(255,255,255,.1);align-items:start
}
.ab-steps li:first-child{border-top:0;padding-top:0}
.ab-steps li::before{
  counter-increment:abstep;content:counter(abstep, decimal-leading-zero);
  font-family:var(--fz-font);
  font-size:.8rem;font-weight:700;color:#2B6CFF;padding-top:.2rem
}
.ab-steps strong{display:block;grid-column:2;color:#F5F7FA;font-size:1.02rem;letter-spacing:-.01em}
.ab-steps span{grid-column:2;color:#9AA8B8;font-size:.92rem;line-height:1.55;margin-top:.2rem}
.ab-serve,.ab-areas{list-style:none;margin:0;padding:0;display:grid;gap:0}
.ab-serve{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:2rem}
.ab-areas{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem}
.ab-serve li,.ab-areas li{
  padding:.85rem 0;border-top:1px solid rgba(255,255,255,.1);
  color:#F5F7FA;font-weight:600;font-size:.98rem;line-height:1.35
}
.ab-serve li:nth-child(-n+2),.ab-areas li:nth-child(-n+3){border-top:0;padding-top:0}
.ab-linkrow{display:flex;flex-wrap:wrap;gap:.85rem 1.25rem;margin:1.35rem 0 0}
.ab-linkrow a{color:#4d86ff;text-decoration:none;font-weight:700;font-size:.9rem}
.ab-linkrow a:hover{color:#9EC0FF}
.ab-faq-list{display:flex;flex-direction:column;border-top:1px solid rgba(255,255,255,.1)}
.ab-q{border-bottom:1px solid rgba(255,255,255,.1);margin:0}
.ab-qs{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;
  padding:1rem 0;cursor:pointer;list-style:none;font-size:1rem;font-weight:600;
  color:#F5F7FA;line-height:1.35
}
.ab-qs::-webkit-details-marker{display:none}
.ab-q-icon{
  flex:0 0 auto;width:1.5rem;height:1.5rem;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(255,255,255,.18);border-radius:6px;font-size:1rem;line-height:1;color:#9AA8B8
}
.ab-q[open] .ab-q-icon{color:#2B6CFF;border-color:rgba(43,108,255,.45)}
.ab-qa{padding:0 0 1.05rem;color:#9AA8B8;font-size:.94rem;line-height:1.6;max-width:46rem}
.ab-cta{
  position:relative;overflow:hidden;padding:clamp(3.25rem,7vw,5rem) 1.25rem;
  background:linear-gradient(180deg,#1e3a8a 0%,#1e40af 42%,#1e40af 100%);text-align:center
}
.ab-cta::before{
  content:"";position:absolute;top:0;left:0;right:0;height:160px;
  background:linear-gradient(to bottom,#070b12 0%,rgba(7,11,18,.82) 18%,rgba(7,11,18,.45) 48%,rgba(7,11,18,.14) 72%,transparent 100%);
  pointer-events:none;z-index:1
}
.ab-cta-body{position:relative;z-index:2;width:min(100%,40rem);margin:0 auto}
.ab-cta h2{margin:0 0 .65rem;font-size:var(--ab-h2);color:#fff}
.ab-cta p{margin:0 auto 1.25rem;color:rgba(244,247,251,.86);line-height:1.55}
.ab-cta .ab-hero-cta{justify-content:center}
@media (max-width:820px){
  .ab{padding-top:80px}
  .ab-split,.ab-serve,.ab-areas{grid-template-columns:1fr}
  .ab-serve li,.ab-areas li{border-top:1px solid rgba(255,255,255,.1);padding:.85rem 0}
  .ab-serve li:first-child,.ab-areas li:first-child{border-top:0;padding-top:0}
  .ab-hero h1{max-width:none}
  .ab-hero-cta{flex-direction:column;align-items:stretch}
  .ab-btn{width:100%}
  .ab-cta::before{height:110px}
}

/* ── Contact page (16) ── */
.ct,.ct *{box-sizing:border-box}
.ct{
  --ct-max:min(100% - 2.5rem,72rem);
  --ct-sec-y:clamp(3.5rem,7vw,6rem);
  --ct-h1:clamp(2.05rem,3.2vw,2.75rem);
  --ct-h2:clamp(1.45rem,2.3vw,2.05rem);
  --ct-body:clamp(.95rem,.95vw,1.02rem);
  margin:0;padding-top:88px;background:#070B12;color:#F5F7FA;
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif);
  overflow-x:clip;-webkit-font-smoothing:antialiased
}
.ct [hidden]{display:none!important}
body.page-id-16 .ct,
body.page-id-16 .ct a,
body.page-id-16 .ct h1,
body.page-id-16 .ct h2,
body.page-id-16 .ct h3,
body.page-id-16 .ct p,
body.page-id-16 .ct li,
body.page-id-16 .ct dt,
body.page-id-16 .ct dd,
body.page-id-16 .ct label,
body.page-id-16 .ct legend,
body.page-id-16 .ct button,
body.page-id-16 .ct input,
body.page-id-16 .ct textarea{
  font-family:var(--fz-font,Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif)!important
}
body.page-id-16 .entry-header,
body.page-id-16 .ast-archive-description,
body.page-id-16 .page-header,
body.page-id-16 h1.entry-title{display:none!important}
body.page-id-16 #content,
body.page-id-16 .site-content,
body.page-id-16 #content .ast-container,
body.page-id-16 .entry-content{
  padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important
}
body.page-id-16 .site-content > .ast-container{padding-left:0!important;padding-right:0!important}
body.page-id-16 .ct > .ct-hero,
body.page-id-16 .ct > .ct-sec,
body.page-id-16 .ct > .ct-cta{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important
}
.ct-wrap{width:var(--ct-max);max-width:72rem;margin:0 auto}
.ct-crumbs{margin:0 0 1rem;font-size:.85rem;color:#9AA8B8}
.ct-crumbs a{color:#9AA8B8;text-decoration:none}
.ct-crumbs a:hover{color:#F5F7FA}
.ct-hero{
  padding:clamp(1.75rem,4vw,3rem) 0 clamp(2.25rem,4.5vw,3.25rem);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg,#070B12 0%,#0E1520 55%,#121A27 100%)
}
.ct-hero h1{
  margin:0 0 .85rem;font-size:var(--ct-h1);font-weight:700;letter-spacing:-.03em;
  line-height:1.12;color:#F5F7FA;max-width:18ch;text-wrap:pretty
}
.ct-lead{margin:0 0 1.35rem;max-width:40rem;font-size:var(--ct-body);line-height:1.55;color:#9AA8B8}
.ct-hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.ct-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:12px 22px;min-height:48px;border-radius:8px;font-size:.9375rem;font-weight:600;
  line-height:1.2;border:1px solid transparent;text-decoration:none;box-sizing:border-box;
  transition:background .18s,border-color .18s,color .18s
}
a.ct-btn.ct-btn-solid,a.ct-btn.ct-btn-solid:hover,a.ct-btn.ct-btn-solid:focus-visible{background:#2B6CFF;color:#fff;border-color:#2B6CFF}
a.ct-btn.ct-btn-solid:hover{background:#1e57e0}
a.ct-btn.ct-btn-ghost,a.ct-btn.ct-btn-ghost:hover,a.ct-btn.ct-btn-ghost:focus-visible{
  border-color:rgba(255,255,255,.28);color:#F5F7FA;background:transparent
}
a.ct-btn.ct-btn-ghost:hover{border-color:rgba(255,255,255,.5);background:rgba(255,255,255,.04)}
.ct-sec{padding:var(--ct-sec-y) 0;border-top:1px solid rgba(255,255,255,.06)}
.ct-sec.ct-alt{background:#0E1520}
.ct-sec h2{margin:0 0 .65rem;font-size:var(--ct-h2);font-weight:700;letter-spacing:-.02em;color:#F5F7FA}
.ct-intro{margin:0 0 1.35rem;max-width:42rem;color:#9AA8B8;font-size:var(--ct-body);line-height:1.55}
.ct-split{display:grid;grid-template-columns:1fr minmax(18rem,24rem);gap:clamp(1.75rem,4vw,3rem);align-items:start}
.ct-facts{margin:0;display:grid;gap:1rem}
.ct-facts > div{padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}
.ct-facts > div:first-child{padding-top:0;border-top:0}
.ct-facts dt{margin:0 0 .25rem;font-size:.75rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#2B6CFF}
.ct-facts dd{margin:0;font-size:.98rem;font-weight:600;color:#F5F7FA;line-height:1.4}
.ct-facts dd a{color:#F5F7FA;text-decoration:none}
.ct-facts dd a:hover{color:#9EC0FF}
.ct-card{border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0E1520;padding:1.15rem 1.15rem 1.25rem}
.ct-card-title{margin:0;font-size:1.05rem;font-weight:700;color:#F5F7FA;letter-spacing:-.02em}
.ct-card-sub{margin:.3rem 0 1rem;font-size:.84rem;color:#9AA8B8;line-height:1.4}
.ct-form{display:grid;gap:8px}
.ct-label{margin-top:.35rem;font-size:.78rem;font-weight:600;color:#9AA8B8}
.ct-opt{font-weight:500;color:#6b7787}
body.page-id-16 .ct .ct-input,
body.page-id-16 .ct .ct-textarea{
  width:100%!important;min-height:44px!important;padding:10px 12px!important;border-radius:8px!important;
  border:1px solid rgba(255,255,255,.14)!important;background:#121A27!important;color:#F5F7FA!important;
  font-size:.95rem!important;line-height:1.4!important;box-shadow:none!important
}
body.page-id-16 .ct .ct-textarea{min-height:5.5rem!important;resize:vertical}
body.page-id-16 .ct .ct-input:focus,
body.page-id-16 .ct .ct-textarea:focus{outline:2px solid #9EC0FF!important;outline-offset:2px;border-color:#2B6CFF!important}
body.page-id-16 .ct .ct-input::placeholder,
body.page-id-16 .ct .ct-textarea::placeholder{color:#5c6579!important}
.ct-fieldset{margin:.35rem 0 0;padding:0;border:0}
.ct-fieldset legend{margin:0 0 .45rem;font-size:.78rem;font-weight:600;color:#9AA8B8}
.ct-chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}
body.page-id-16 .ct .ct-chip{
  min-height:40px!important;padding:8px 10px!important;border-radius:8px!important;border:1px solid rgba(255,255,255,.14)!important;
  background:transparent!important;color:#F5F7FA!important;font-size:.8rem!important;font-weight:600!important;cursor:pointer;
  letter-spacing:normal!important;text-transform:none!important;box-shadow:none!important
}
body.page-id-16 .ct .ct-chip.is-active,
body.page-id-16 .ct .ct-chip[aria-pressed="true"]{border-color:#2B6CFF!important;background:rgba(43,108,255,.16)!important;color:#fff!important}
body.page-id-16 .ct .ct-submit{
  margin-top:.35rem;min-height:48px;border:0;border-radius:8px;background:#2B6CFF!important;color:#fff!important;
  font-size:.95rem;font-weight:700;cursor:pointer;letter-spacing:normal!important;text-transform:none!important
}
.ct-submit:disabled{opacity:.55;cursor:not-allowed}
.ct-form-note{margin:.15rem 0 0;font-size:.8rem;color:#9AA8B8}
.ct-form-note a{color:#4d86ff;text-decoration:none;font-weight:600}
.ct-form-note a:hover{color:#9EC0FF}
.ct .form-status{margin:0;min-height:1.1em;font-size:.82rem;color:#9AA8B8}
.ct .form-status.err{color:#ff8a8a}
.ct-success h3{margin:0 0 .45rem;color:#F5F7FA}
.ct-success p{margin:0 0 .55rem;color:#9AA8B8;line-height:1.5}
.ct-areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem;gap:0}
.ct-areas li{padding:.85rem 0;border-top:1px solid rgba(255,255,255,.1);color:#F5F7FA;font-weight:600;font-size:.98rem}
.ct-areas li:nth-child(-n+3){border-top:0;padding-top:0}
.ct-cta{
  position:relative;overflow:hidden;padding:clamp(3.25rem,7vw,5rem) 1.25rem;
  background:linear-gradient(180deg,#1e3a8a 0%,#1e40af 42%,#1e40af 100%);text-align:center
}
.ct-cta::before{
  content:"";position:absolute;top:0;left:0;right:0;height:160px;
  background:linear-gradient(to bottom,#070b12 0%,rgba(7,11,18,.82) 18%,rgba(7,11,18,.45) 48%,rgba(7,11,18,.14) 72%,transparent 100%);
  pointer-events:none;z-index:1
}
.ct-cta-body{position:relative;z-index:2;width:min(100%,40rem);margin:0 auto}
.ct-cta h2{margin:0 0 .65rem;font-size:var(--ct-h2);color:#fff}
.ct-cta p{margin:0 auto 1.25rem;color:rgba(244,247,251,.86);line-height:1.55}
.ct-cta .ct-hero-cta{justify-content:center}
@media (max-width:820px){
  .ct{padding-top:80px}
  .ct-split,.ct-areas{grid-template-columns:1fr}
  .ct-areas li{border-top:1px solid rgba(255,255,255,.1);padding:.85rem 0}
  .ct-areas li:first-child{border-top:0;padding-top:0}
  .ct-hero h1{max-width:none}
  .ct-hero-cta{flex-direction:column;align-items:stretch}
  .ct-btn,.ct-submit{width:100%}
  .ct-cta::before{height:110px}
}
/* Legal pages: privacy (2686) and terms (2687) */
.lg,.lg *{box-sizing:border-box}
.lg{
  margin:0;padding-top:88px;background:#070B12;color:#F5F7FA;
  font-family:Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif;
}
body.page-id-2686 .entry-header,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .entry-header,
body.page-id-2686 h1.entry-title,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) h1.entry-title{display:none!important}
body.page-id-2686 #content,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) #content,
body.page-id-2686 .site-content,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .site-content,
body.page-id-2686 .ast-container,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .ast-container,
body.page-id-2686 .entry-content,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .entry-content{
  padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important
}
body.page-id-2686 .lg h1,
body.page-id-2686 .lg h2,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .lg h1,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .lg h2,
body.page-id-2686 .lg h3,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .lg h3,
body.page-id-2686 .lg p,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .lg p,
body.page-id-2686 .lg li,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .lg li,
body.page-id-2686 .lg a,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .lg a{
  font-family:Inter,"Segoe UI","Helvetica Neue",Arial,sans-serif!important
}
.lg-wrap{width:min(100% - 2.5rem,42rem);margin:0 auto}
.lg-hero{
  padding:clamp(1.75rem,4vw,3rem) 0 clamp(1.5rem,3vw,2rem);
  border-bottom:1px solid rgba(255,255,255,.08);
  background:linear-gradient(160deg,#070B12 0%,#0E1520 55%,#121A27 100%)
}
.lg-crumbs{margin:0 0 1rem;font-size:.85rem;color:#9AA8B8}
.lg-crumbs a{color:#9AA8B8;text-decoration:none}
.lg-crumbs a:hover{color:#F5F7FA}
.lg h1{
  margin:0 0 .75rem;max-width:16ch;
  font-size:clamp(2.05rem,3.2vw,2.75rem)!important;
  font-weight:700!important;letter-spacing:-.03em;line-height:1.12;
  color:#F5F7FA!important
}
.lg-lead{margin:0;color:#9AA8B8;font-size:1.02rem;line-height:1.55}
.lg-sec{padding:clamp(2rem,4vw,3rem) 0 clamp(3rem,6vw,4.5rem)}
.lg h2{
  margin:2rem 0 .55rem;font-size:1.35rem!important;font-weight:700!important;
  letter-spacing:-.02em;line-height:1.25;color:#F5F7FA!important
}
.lg h2:first-child{margin-top:0}
.lg p,.lg li{color:#C5D0DC;font-size:1rem;line-height:1.65}
.lg p{margin:0 0 .9rem}
.lg ul{margin:0 0 1rem;padding:0 0 0 1.15rem}
.lg li{margin:0 0 .4rem}
.lg a{color:#9EC0FF;text-decoration:underline;text-underline-offset:.15em}
.lg a:hover{color:#F5F7FA}
.lg-updated{margin-top:1.5rem;color:#9AA8B8;font-size:.9rem}
@media (max-width:820px){
  .lg{padding-top:80px}
  .lg h1{max-width:none}
}
body.page-id-2686 article,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) article,
body.page-id-2686 .ast-article-single,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .ast-article-single,
body.page-id-2686 .content-area,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .content-area{
  background:#070B12!important;
  padding:0!important;
  margin:0!important;
  max-width:none!important;
  width:100%!important
}
body.page-id-2686 .entry-content,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .entry-content,
body.page-id-2686 .lg,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .lg{
  width:100%!important;
  max-width:none!important;
  margin:0!important
}
.lg-wrap{width:min(100% - 3rem,72rem)!important;margin:0 auto}
.lg-hero{border:0!important;background:#070B12!important}
.lg h1{max-width:22ch!important}
html,
body.page-id-2686,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873),
body.page-id-2686.ast-separate-container,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873).ast-separate-container,
body.page-id-2686.ast-separate-container article.ast-article-single,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873).ast-separate-container article.ast-article-single,
body.page-id-2686 .site,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) .site,
body.page-id-2686 #page,
body:is(.page-id-2687,.page-id-2871,.page-id-2872,.page-id-2873) #page{
  background:#070B12!important;
  background-color:#070B12!important;
  border:0!important;
  box-shadow:none!important
}
.fz-sms{
  display:flex;gap:.7rem;align-items:flex-start;
  margin:1rem 0 0;max-width:42rem;
  color:#9AA8B8;font-size:.84rem;font-weight:400;line-height:1.5;
  letter-spacing:0;text-transform:none
}
.fz-sms input{
  width:1.1rem;height:1.1rem;margin:.2rem 0 0;flex:0 0 auto;accent-color:#2B6CFF
}
.fz-sms a{color:#9EC0FF}
.ct-form .fz-sms,.bs-fields .fz-sms,.fz-lead-form .fz-sms{grid-column:1 / -1}

/* fz-hero-vid-stack-fix: keep hero video visible under overlays */
body.home .ftg section.hero { isolation: isolate; }
body.home .ftg .hero-vid {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: block !important;
  pointer-events: none !important;
}
body.home .ftg .hero-ov { z-index: 1 !important; }
body.home .ftg .hero-inner { z-index: 2 !important; position: relative !important; }

/* ===== Audience pages (2792/2793/2794) — page-id scoped only; mirrors body-shops shell ===== */
body.page-id-2792 .bs > .bs-pitch,
body.page-id-2792 .bs > .bs-sec,
body.page-id-2792 .bs > .bs-final,
body.page-id-2793 .bs > .bs-pitch,
body.page-id-2793 .bs > .bs-sec,
body.page-id-2793 .bs > .bs-final,
body.page-id-2794 .bs > .bs-pitch,
body.page-id-2794 .bs > .bs-sec,
body.page-id-2794 .bs > .bs-final{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
body.page-id-2792 .entry-header,
body.page-id-2792 .page-header,
body.page-id-2792 h1.entry-title,
body.page-id-2793 .entry-header,
body.page-id-2793 .page-header,
body.page-id-2793 h1.entry-title,
body.page-id-2794 .entry-header,
body.page-id-2794 .page-header,
body.page-id-2794 h1.entry-title{display:none!important}
body.page-id-2792 #content,
body.page-id-2792 .site-content,
body.page-id-2792 #content .ast-container,
body.page-id-2792 .entry-content,
body.page-id-2793 #content,
body.page-id-2793 .site-content,
body.page-id-2793 #content .ast-container,
body.page-id-2793 .entry-content,
body.page-id-2794 #content,
body.page-id-2794 .site-content,
body.page-id-2794 #content .ast-container,
body.page-id-2794 .entry-content{
  padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important;
}
body.page-id-2792 .site-content > .ast-container,
body.page-id-2793 .site-content > .ast-container,
body.page-id-2794 .site-content > .ast-container{padding-left:0!important;padding-right:0!important}
body.page-id-2792 .bs .bs-steps,
body.page-id-2793 .bs .bs-steps,
body:is(.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs .bs-steps,
body.page-id-2794 .bs .bs-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){
  body.page-id-2792 .bs .bs-steps,
  body.page-id-2793 .bs .bs-steps,
  body:is(.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs .bs-steps,
  body.page-id-2794 .bs .bs-steps{grid-template-columns:1fr 1fr}
}
@media (max-width:700px){
  body.page-id-2792 .bs .bs-steps,
  body.page-id-2793 .bs .bs-steps,
  body:is(.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs .bs-steps,
  body.page-id-2794 .bs .bs-steps{grid-template-columns:1fr}
}


/* ===== Header fit fix: desktop header 922-1439px (added 2026-09-24, staging). >=1440px and mobile header (<=921px) untouched. ===== */
/* 922-1439: content-sized side columns + no wrapping (no size changes) so phone/button stay on one line. */
@media (min-width: 922px) and (max-width: 1439px) {
  #ast-desktop-header .ast-builder-grid-row {
    grid-template-columns: auto minmax(0, 1fr) auto !important;
  }
  #ast-desktop-header .site-header-primary-section-center {
    justify-content: center;
    min-width: 0;
  }
  #ast-desktop-header .site-header-primary-section-left-center,
  #ast-desktop-header .site-header-primary-section-right-center {
    padding: 0 !important;
  }
  #ast-desktop-header .main-header-menu {
    flex-wrap: nowrap !important;
  }
  #ast-desktop-header .main-header-menu > li > a {
    white-space: nowrap !important;
  }
  #ast-desktop-header .site-header-primary-section-right {
    flex-wrap: nowrap !important;
    white-space: nowrap;
  }
  #ast-desktop-header .ast-header-html-1 {
    flex-shrink: 0;
  }
  #ast-desktop-header .fz-header-call,
  #ast-desktop-header .ast-custom-button {
    white-space: nowrap !important;
  }
  #ast-desktop-header .ast-header-button-1 {
    flex-shrink: 0;
  }
}

/* 922-1279: slightly tighter spacing. */
@media (min-width: 922px) and (max-width: 1279px) {
  #ast-desktop-header .site-primary-header-wrap {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  #ast-desktop-header .ast-builder-grid-row {
    column-gap: 14px !important;
  }
  #ast-desktop-header .main-header-menu > li > a {
    padding-left: 0.5rem !important;
    padding-right: 0.5rem !important;
  }
  #ast-desktop-header .ast-header-html-1 {
    padding: 0 6px !important;
  }
  #ast-desktop-header .ast-header-button-1 {
    padding-left: 4px !important;
  }
}

/* 922-1179: slightly smaller logo/nav/button type. */
@media (min-width: 922px) and (max-width: 1179px) {
  #ast-desktop-header .site-branding img.custom-logo,
  #ast-desktop-header .custom-logo-link img {
    max-height: 36px !important;
  }
  #ast-desktop-header .main-header-menu > li > a {
    font-size: 0.72rem !important;
    letter-spacing: 0.05em !important;
    padding-left: 0.4rem !important;
    padding-right: 0.4rem !important;
  }
  #ast-desktop-header .ast-header-html-1 .fz-header-call {
    font-size: 14px !important;
  }
  #ast-desktop-header .ast-header-button-1 .ast-custom-button {
    font-size: 0.68rem !important;
    letter-spacing: 0.06em !important;
    padding: 0.5rem 0.75rem !important;
  }
}

/* 922-1023: compact. */
@media (min-width: 922px) and (max-width: 1023px) {
  #ast-desktop-header .site-primary-header-wrap {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  #ast-desktop-header .ast-builder-grid-row {
    column-gap: 8px !important;
  }
  #ast-desktop-header .site-branding img.custom-logo,
  #ast-desktop-header .custom-logo-link img {
    max-height: 30px !important;
  }
  #ast-desktop-header .site-branding .ast-builder-layout-element,
  #ast-desktop-header .site-header-primary-section-left > .ast-builder-layout-element {
    padding-right: 4px !important;
  }
  #ast-desktop-header .main-header-menu > li > a {
    font-size: 0.69rem !important;
    letter-spacing: 0.02em !important;
    padding-left: 0.3rem !important;
    padding-right: 0.3rem !important;
  }
  #ast-desktop-header .ast-header-html-1 {
    padding: 0 4px !important;
  }
  #ast-desktop-header .ast-header-html-1 .fz-header-call {
    font-size: 13px !important;
    letter-spacing: 0.02em !important;
  }
  #ast-desktop-header .ast-header-button-1 .ast-custom-button {
    font-size: 0.64rem !important;
    letter-spacing: 0.04em !important;
    padding: 0.45rem 0.6rem !important;
  }
}

/* ===== Dealerships page (2814) — page-id scoped only; same shell as audience pages 2792-2794 ===== */
body.page-id-2814 .bs > .bs-pitch,
body.page-id-2814 .bs > .bs-sec,
body.page-id-2814 .bs > .bs-final{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.page-id-2814 .entry-header,
body.page-id-2814 .page-header,
body.page-id-2814 h1.entry-title{display:none!important}
body.page-id-2814 #content,
body.page-id-2814 .site-content,
body.page-id-2814 #content .ast-container,
body.page-id-2814 .entry-content{padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important}
body.page-id-2814 .site-content > .ast-container{padding-left:0!important;padding-right:0!important}
body.page-id-2814 .bs .bs-steps{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){body.page-id-2814 .bs .bs-steps{grid-template-columns:1fr 1fr}}
@media (max-width:700px){body.page-id-2814 .bs .bs-steps{grid-template-columns:1fr}}

/* ===== format-fix 2026-09-25 (staging): service pages rebuilt on the body-shops (bs) shell =====
   Pages: 2766 2759 2760 2761 2827 2828 2829 2841 2842 2843 (brand drafts added 2026-09-25). Centered .bs-wrap container, full-bleed section bands,
   centered section intros. REVERT: restore ftg-design.css.bak-formatfix-20260925. */
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .entry-content > .bs,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs > .bs-sec,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs > .bs-svc-bg,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs > .bs-final{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs > .bs-wrap,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs .bs-wrap{
  width:var(--bs-max)!important;max-width:72rem!important;margin-left:auto!important;margin-right:auto!important;
}
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .entry-header,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .page-header,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) h1.entry-title{display:none!important}
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) #content,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .site-content,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) #content .ast-container,
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .entry-content{
  padding:0!important;margin:0!important;max-width:none!important;background:#070B12!important;
}
body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .site-content > .ast-container{padding-left:0!important;padding-right:0!important}

.bs.bs-svc{position:relative;isolation:isolate;--bs-g:clamp(1rem,2vw,1.25rem)}
.bs-svc .bs-svc-bg{position:absolute;left:0;right:0;top:0;height:46rem;z-index:-1;pointer-events:none;
  background:
    radial-gradient(circle at 82% 18%,rgba(43,108,255,.16) 0%,transparent 42%),
    linear-gradient(rgba(59,130,246,.05) 1px,transparent 1px) 0 0/64px 64px,
    linear-gradient(90deg,rgba(59,130,246,.05) 1px,transparent 1px) 0 0/64px 64px;
  -webkit-mask-image:linear-gradient(180deg,#000 55%,transparent);mask-image:linear-gradient(180deg,#000 55%,transparent)}
.bs-svc .bs-svc-hero{align-items:center;justify-content:space-between;padding-top:clamp(2.5rem,5vw,4.5rem);padding-bottom:clamp(2.5rem,5vw,4.5rem)}
.bs-svc .bs-hero-copy{flex:1.3 1 24rem;max-width:40rem}
.bs-svc .bs-partner-eye{text-transform:uppercase}
.bs-svc .bs-lead.bs-sub{font-weight:600;color:#c3cbdb;font-size:clamp(1.02rem,1.3vw,1.15rem);line-height:1.45;margin-bottom:.8rem}
.bs-svc .bs-lead a{color:#9EC0FF}
.bs-svc .bs-svc-panel{flex:0 1 23rem;max-width:24rem;width:100%;align-self:center}
.bs-svc .bs-svc-panel .bs-record-top{text-transform:uppercase}
.bs-svc .bs-svc-panel .bs-check{margin:0}
.bs-svc .bs-svc-area{font-size:.8125rem;line-height:1.5;color:#9AA8B8;margin:1.1rem 0 0;padding-top:1rem;border-top:1px solid rgba(255,255,255,.08)}
.bs-svc .bs-svc-panel-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:1rem}
.bs-svc .bs-svc-panel-links .bs-btn{flex:1 1 auto;min-height:44px;padding:10px 14px;font-size:.875rem}

/* centered section intros (matches body-shops centered headings) */
.bs-svc .bs-sec-intro{max-width:44rem;margin:0 auto 2.25rem;text-align:center}
.bs-svc .bs-sec-intro h2,.bs-svc .bs-sec-intro p{margin-left:auto;margin-right:auto}
.bs-svc .bs-sec-intro p + p{margin-top:.75rem}
.bs-svc .bs-svc-quote .bs-sec-intro{margin-bottom:0}
/* section kickers stay hidden, matching the sitewide 'Hide eyebrows / section kickers' rule (old .ac-lbl was hidden too) */
.bs-svc .bs-svc-lbl{display:none!important}

/* card grid: centered rows, orphans centered */
.bs-svc .bs-svc-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--bs-g)}
.bs-svc .bs-svc-grid > *{flex:0 1 calc((100% - 2 * var(--bs-g)) / 3);min-width:0}
.bs-svc .bs-svc-grid.bs-svc-cols-2 > *{flex-basis:calc((100% - var(--bs-g)) / 2)}
.bs-svc .bs-svc-card{background:#0E1520;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:clamp(1.25rem,2.2vw,1.75rem);transition:border-color .2s ease,background-color .2s ease}
.bs-svc .bs-svc-card:hover{border-color:rgba(43,108,255,.35);background-color:#101a28}
.bs-svc .bs-svc-card h2{font-size:var(--bs-h3);line-height:1.25;margin:0 0 .75rem;max-width:none;letter-spacing:-.02em}
.bs-svc .bs-svc-card p{font-size:.9375rem;line-height:1.65;color:#9AA8B8;margin:0 0 .75rem}
.bs-svc .bs-svc-card p:last-child{margin-bottom:0}
.bs-svc .bs-svc-factor strong{display:block;color:#F5F7FA;font-weight:650;font-size:1rem;margin-bottom:.35rem}

.bs.bs-svc .bs-wrap.bs-faq{max-width:46rem!important}
.bs-svc .bs-faq h2{margin-bottom:.75rem}
.bs.bs-svc .bs-faq > .bs-faq-intro{text-align:center;font-size:var(--bs-body);line-height:1.65;color:#9AA8B8;max-width:36rem;margin:0 auto 1.5rem}
.bs-svc .bs-final p a{color:#9EC0FF}

/* motion (same as service-page rules; covers parent-0 cost page too) */
.bs-svc [data-fz-hero-in]{opacity:0;transform:translateY(18px)}
.bs-svc [data-fz-hero-in].is-in{opacity:1;transform:none;transition:opacity .7s ease,transform .7s ease}
.bs-svc [data-fz-reveal]{opacity:0;transform:translateY(16px);transition:opacity .55s ease,transform .55s ease,border-color .2s ease,background-color .2s ease}
.bs-svc [data-fz-reveal][data-fz-reveal-delay="1"]{transition-delay:70ms}
.bs-svc [data-fz-reveal][data-fz-reveal-delay="2"]{transition-delay:140ms}
.bs-svc [data-fz-reveal][data-fz-reveal-delay="3"]{transition-delay:210ms}
.bs-svc [data-fz-reveal][data-fz-reveal-delay="4"]{transition-delay:280ms}
.bs-svc [data-fz-reveal][data-fz-reveal-delay="5"]{transition-delay:350ms}
.bs-svc [data-fz-reveal].is-inview{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .bs-svc [data-fz-hero-in],.bs-svc [data-fz-reveal]{opacity:1!important;transform:none!important;transition:none!important}
}

@media (max-width:1100px){
  .bs-svc .bs-svc-grid > *,.bs-svc .bs-svc-grid.bs-svc-cols-2 > *{flex-basis:calc((100% - var(--bs-g)) / 2)}
}
@media (max-width:820px){
  body:is(.page-id-2766,.page-id-2759,.page-id-2760,.page-id-2761,.page-id-2827,.page-id-2828,.page-id-2829,.page-id-2841,.page-id-2842,.page-id-2843,.page-id-2864,.page-id-2865,.page-id-2866,.page-id-2867,.page-id-2868,.page-id-2869,.page-id-2870) .bs{
    --bs-sec-y:clamp(2.25rem,7vw,3.25rem);
    --bs-h1:clamp(1.55rem,6.4vw,1.95rem);
    --bs-h2:clamp(1.28rem,5vw,1.6rem);
    --bs-h3:1.05rem;
    padding-top:80px;
  }
  .bs-svc .bs-hero-copy{max-width:none;flex-basis:100%}
  .bs-svc .bs-svc-panel{flex:1 1 100%;max-width:none}
  .bs-svc .bs-svc-grid > *,.bs-svc .bs-svc-grid.bs-svc-cols-2 > *{flex-basis:100%}
  .bs-svc .bs-cta-row .bs-btn{flex:1 1 auto}
}

/* format-fix: non-builder service cluster: section bands full width (inner .acc stays centered) */
body.parent-pageid-15 .entry-content > :is(.ac,.mp,.ds,.op,.ew,.pp,.sa,.ev) > section,
body.page-id-15 .entry-content > .sd > *{
  width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;
}

/* warranty 2026-09-25: 7th homepage benefit stagger (matches 1-6) */
.ftg .fz-lead-aside.is-in .fz-lead-benefit:nth-child(7) { transition-delay: 420ms; }

/* publish7 2026-09-25: spacing between article cards and related list on /resources/articles/ */
.rs .rs-dest + .rs-related-h{margin-top:2.5rem}
.sd .sd-cta p a{color:#bfdbfe;text-decoration:underline;text-underline-offset:2px}

/* === Who We Serve + Resources + Services: compact dropdown (menu items 2678, 2679, 2669) — 2026-09-25 === */
#ast-desktop-header .ast-builder-menu-1 .main-header-menu > #menu-item-2678 > .sub-menu,
#ast-desktop-header .ast-builder-menu-1 .main-header-menu > #menu-item-2679 > .sub-menu,
#ast-desktop-header .ast-builder-menu-1 .main-header-menu > #menu-item-2669 > .sub-menu{
  width:16.5rem!important;min-width:0!important;max-width:calc(100vw - 2rem)!important;
}
#ast-desktop-header .ast-builder-menu-1 .main-header-menu > #menu-item-2678 > .sub-menu > li > a,
#ast-desktop-header .ast-builder-menu-1 .main-header-menu > #menu-item-2679 > .sub-menu > li > a,
#ast-desktop-header .ast-builder-menu-1 .main-header-menu > #menu-item-2669 > .sub-menu > li > a{white-space:nowrap}

/* === Home "every customer" section: 5 cards, balanced 3+2 (#who-we-help only) — 2026-09-25 === */
@media (min-width: 901px) {
  .ftg #who-we-help .wws-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .ftg #who-we-help .wws-grid > .wws-card { grid-column: span 2; }
  .ftg #who-we-help .wws-grid > .wws-card:nth-child(4) { grid-column: 2 / span 2; }
  .ftg #who-we-help .wws-grid > .wws-card:nth-child(5) { grid-column: 4 / span 2; }
}
@media (min-width: 601px) and (max-width: 900px) {
  .ftg #who-we-help .wws-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ftg #who-we-help .wws-grid > .wws-card { grid-column: span 2; }
  .ftg #who-we-help .wws-grid > .wws-card:nth-child(5) { grid-column: 2 / span 2; }
}
/* Lead form "requesting service as": 5 options -> 3+2 on desktop, 2+2+1 (last full) on narrow */
@media (min-width: 901px) {
  .ftg #fz-schedule-form .fz-lead-types { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .ftg #fz-schedule-form .fz-lead-types > .fz-lead-type { grid-column: span 2; }
  .ftg #fz-schedule-form .fz-lead-types > .fz-lead-type:nth-child(n+4) { grid-column: span 3; }
}
@media (max-width: 900px) {
  .ftg #fz-schedule-form .fz-lead-types > .fz-lead-type:nth-child(5):last-child { grid-column: 1 / -1; }
}

/* === Free quote form [fz_quote_form] (.fzq) + homepage section (.fzq-sec) + Contact page redesign (.bs-contact) — 2026-09-25 === */
.fzq-sec{background:var(--fz-bg);}
.fzq{position:relative;box-sizing:border-box;width:100%;max-width:46rem;margin:0 auto;padding:2rem 2rem 1.75rem;border:1px solid var(--fz-line);border-radius:1rem;background:var(--fz-surface);box-shadow:0 24px 60px rgba(0,0,0,.35);color:var(--fz-ink);font-family:var(--fz-font);text-align:left;}
.fzq *,.fzq *::before,.fzq *::after{box-sizing:border-box;}
.fzq .fzq-head{text-align:center;margin:0 0 1.5rem;}
.fzq .fzq-title{margin:0 0 .6rem;color:#fff;font-size:clamp(1.55rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em;line-height:1.08;text-transform:uppercase;text-align:center;}
.fzq .fzq-sub{margin:0 auto;max-width:34rem;color:var(--fz-muted);font-size:.98rem;line-height:1.55;text-align:center;}
.fzq .fzq-form{margin:0;padding:0;border:0;background:none;}
.fzq .fzq-form[hidden],.fzq .fzq-success[hidden],.fzq [hidden]{display:none!important;}
.fzq .fzq-group{margin:0 0 1.1rem;padding:0;border:0;min-width:0;}
.fzq .fzq-label{display:block;margin:0 0 .45rem;padding:0;color:var(--fz-muted);font-size:.72rem;font-weight:700;letter-spacing:.12em;line-height:1.3;text-transform:uppercase;}
.fzq .fzq-req{color:var(--fz-accent-2);}
.fzq .fzq-opt{color:rgba(154,168,184,.75);font-weight:600;letter-spacing:.04em;text-transform:none;}
.fzq .fzq-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem;}
.fzq .fzq-field{margin:0 0 1rem;min-width:0;}
.fzq .fzq-input{display:block;width:100%;max-width:100%;min-height:50px;margin:0;padding:.75rem .95rem;border:1px solid var(--fz-line-strong);border-radius:.75rem;background:rgba(255,255,255,.04);color:#fff;font:inherit;font-size:1rem;line-height:1.35;box-shadow:none;transition:border-color 160ms ease,box-shadow 160ms ease;}
.fzq .fzq-input::placeholder{color:rgba(154,168,184,.65);}
.fzq .fzq-input:focus{outline:none;border-color:var(--fz-accent);box-shadow:0 0 0 3px rgba(43,108,255,.28);background:rgba(255,255,255,.05);}
.fzq .fzq-textarea{min-height:72px;resize:vertical;}
.fzq .fzq-field.is-invalid .fzq-input{border-color:#ff7a7a;box-shadow:0 0 0 3px rgba(255,122,122,.16);}
.fzq .fzq-err{margin:.35rem 0 0;color:#ff9a9a;font-size:.8rem;font-weight:600;line-height:1.35;}
.fzq .fzq-err:empty{display:none;}
.fzq .fzq-chips{display:flex;flex-wrap:wrap;gap:.5rem;margin:0;padding:0;border-radius:.8rem;}
.fzq .fzq-chips.is-invalid{box-shadow:0 0 0 2px rgba(255,122,122,.45);padding:.35rem;}
.fzq .fzq-chip,.fzq .fzq-chip:visited{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:44px;margin:0;padding:.55rem .95rem;border:1px solid var(--fz-line-strong);border-radius:999px;background:#141c2b;color:#f4f7fb;font:inherit;font-size:.88rem;font-weight:600;letter-spacing:0;line-height:1.2;text-transform:none;cursor:pointer;box-shadow:none;transition:background-color 160ms ease,border-color 160ms ease,color 160ms ease;-webkit-tap-highlight-color:transparent;}
.fzq .fzq-chips-type .fzq-chip{min-height:38px;padding:.4rem .85rem;font-size:.82rem;}
.fzq .fzq-chip:hover,.fzq .fzq-chip:focus{background:#1a2438;border-color:rgba(77,134,255,.55);color:#fff;outline:none;}
.fzq .fzq-chip:focus-visible{box-shadow:0 0 0 3px rgba(43,108,255,.35);}
.fzq .fzq-chips-type .fzq-chip.is-on,.fzq .fzq-chips-type .fzq-chip.is-on:hover{background:var(--fz-accent);border-color:var(--fz-accent);color:#fff;}
.fzq .fzq-chips-work .fzq-chip.is-on,.fzq .fzq-chips-work .fzq-chip.is-on:hover{background:rgba(43,108,255,.16);border-color:var(--fz-accent);color:#fff;}
.fzq .fzq-chips-work .fzq-chip::before{content:"";width:.95rem;height:.95rem;flex:0 0 auto;border:1.5px solid rgba(154,168,184,.7);border-radius:50%;}
.fzq .fzq-chips-work .fzq-chip.is-on::before{border-color:var(--fz-accent);background:var(--fz-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center/70% no-repeat;}
.fzq .fzq-more{margin:0 0 1rem;padding:0;border:0;}
.fzq .fzq-more > summary{display:inline-flex;align-items:center;gap:.45rem;margin:0 0 .25rem;padding:.25rem 0;color:var(--fz-accent-2);font-size:.9rem;font-weight:650;cursor:pointer;list-style:none;}
.fzq .fzq-more > summary::-webkit-details-marker{display:none;}
.fzq .fzq-more > summary::before{content:"+";display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;border:1px solid rgba(77,134,255,.6);border-radius:50%;font-size:.95rem;line-height:1;}
.fzq .fzq-more[open] > summary::before{content:"\2212";}
.fzq .fzq-more[open] > summary{margin-bottom:.8rem;}
.fzq .fzq-sms{display:flex;align-items:flex-start;gap:.6rem;margin:.1rem 0 1rem;color:rgba(154,168,184,.9);font-size:.72rem;line-height:1.5;text-transform:none;letter-spacing:0;font-weight:400;}
.fzq .fzq-sms input{flex:0 0 auto;width:18px;height:18px;margin:.1rem 0 0;accent-color:var(--fz-accent);}
.fzq .fzq-sms a{color:var(--fz-accent-2);text-decoration:underline;}
.fzq .fzq-status{margin:0 0 .75rem;min-height:0;font-size:.88rem;font-weight:600;color:var(--fz-muted);text-align:center;}
.fzq .fzq-status:empty{display:none;}
.fzq .fzq-status.is-err{color:#ff9a9a;}
.fzq .fzq-go,.fzq .fzq-go:visited{display:flex;align-items:center;justify-content:center;width:100%;min-height:58px;margin:0;padding:.9rem 1.25rem;border:0;border-radius:.8rem;background:var(--fz-accent);color:#fff;font:inherit;font-size:1rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;box-shadow:0 10px 30px rgba(43,108,255,.28);transition:filter 160ms ease,transform 160ms ease,box-shadow 160ms ease;}
.fzq .fzq-go:hover,.fzq .fzq-go:focus-visible{background:var(--fz-accent);color:#fff;filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 14px 36px rgba(43,108,255,.38);outline:none;}
.fzq .fzq-go[disabled]{opacity:.7;cursor:wait;transform:none;}
.fzq .fzq-call{margin:.9rem 0 0;color:var(--fz-muted);font-size:.92rem;text-align:center;}
.fzq .fzq-call a{color:#fff;font-weight:700;text-decoration:underline;text-decoration-color:rgba(77,134,255,.7);text-underline-offset:3px;white-space:nowrap;}
.fzq .fzq-call a:hover{color:var(--fz-accent-2);}
.fzq .fzq-hp{position:absolute!important;left:-9999px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;}
.fzq .fzq-success{padding:1.5rem .5rem .75rem;text-align:center;outline:none;}
.fzq .fzq-success-ico{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin:0 0 1rem;border-radius:50%;background:rgba(43,108,255,.16);color:var(--fz-accent-2);}
.fzq .fzq-success-title{margin:0 auto;max-width:28rem;color:#fff;font-size:1.3rem;font-weight:750;line-height:1.35;}
@media (max-width: 639px){
  .fzq{padding:1.4rem 1.05rem 1.3rem;border-radius:.9rem;}
  .fzq .fzq-row{grid-template-columns:1fr;}
  .fzq .fzq-head{margin-bottom:1.2rem;}
  .fzq .fzq-sub{font-size:.92rem;}
  .fzq .fzq-chip{font-size:.85rem;padding:.5rem .8rem;}
  .fzq .fzq-chips-type{gap:.4rem;}
  .fzq .fzq-chips-type .fzq-chip{padding:.35rem .7rem;font-size:.8rem;}
}

/* Contact page (page 16) */
body.page-id-16 .bs-contact{overflow-x:clip;}
body.page-id-16 .bs-contact > .bs-sec,
body.page-id-16 .bs-contact > .bs-final,
body.page-id-16 .bs-contact > .bs-wrap{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important;}
body.page-id-16 .bs-contact > .bs-wrap{width:min(100% - 2.5rem, 72rem)!important;margin-left:auto!important;margin-right:auto!important;}
.bs-contact .bs-contact-hero{display:block;grid-template-columns:none;text-align:center;padding-bottom:3rem;}
.bs-contact .bs-contact-hero .bs-hero-copy{max-width:48rem;margin:0 auto;text-align:center;}
.bs-contact .bs-contact-hero h1{margin-left:auto;margin-right:auto;text-align:center;}
.bs-contact .bs-contact-hero .bs-lead{margin-left:auto;margin-right:auto;max-width:40rem;text-align:center;}
.bs-contact .bs-contact-hero .bs-cta-row{justify-content:center;}
.bs-contact .bs-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) 20rem;gap:1.75rem;align-items:start;max-width:68rem;margin:0 auto;}
.bs-contact .bs-contact-main .fzq{max-width:none;}
.bs-contact .bs-contact-card{position:sticky;top:110px;margin:0;}
.bs-contact .bs-contact-list{list-style:none;margin:0 0 1.1rem;padding:0;display:grid;gap:1rem;}
.bs-contact .bs-contact-list li{display:flex;flex-direction:column;gap:.15rem;margin:0;padding:0 0 1rem;border-bottom:1px solid var(--fz-line);}
.bs-contact .bs-contact-list li:last-child{border-bottom:0;padding-bottom:0;}
.bs-contact .bs-contact-k{color:var(--fz-muted);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;}
.bs-contact .bs-contact-v{color:#fff;font-size:1.05rem;font-weight:700;overflow-wrap:anywhere;text-decoration:none;}
.bs-contact a.bs-contact-v:hover{color:var(--fz-accent-2);}
.bs-contact .bs-contact-note{color:var(--fz-muted);font-size:.85rem;}
.bs-contact .bs-contact-check{margin:0;}
.bs-contact .bs-sec-intro{text-align:center;margin-left:auto;margin-right:auto;}
.bs-contact .bs-contact-steps .bs-steps{grid-template-columns:repeat(3,minmax(0,1fr));}
.bs-contact .bs-contact-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.55rem;max-width:56rem;margin:0 auto 1rem;padding:0;list-style:none;}
.bs-contact .bs-contact-chips li{margin:0;padding:.5rem .95rem;border:1px solid var(--fz-line-strong);border-radius:999px;background:var(--fz-surface);color:#e6ebf2;font-size:.9rem;font-weight:550;line-height:1.2;transition:border-color 160ms ease,background-color 160ms ease,transform 160ms ease;}
.bs-contact .bs-contact-chips li::before{content:none;}
.bs-contact .bs-contact-chips li:hover{border-color:rgba(77,134,255,.55);background:#141c2b;transform:translateY(-2px);}
.bs-contact .bs-contact-counties li{border-color:rgba(77,134,255,.45);background:rgba(43,108,255,.1);color:#fff;font-weight:650;}
.bs-contact .bs-contact-area-note{margin:1.25rem auto 0;max-width:40rem;color:var(--fz-muted);text-align:center;}
.bs-contact .bs-contact-area-note a{color:var(--fz-accent-2);text-decoration:underline;text-underline-offset:3px;}
.bs-contact .bs-contact-area-note strong{color:#d1d5db;}
@media (max-width: 900px){
  .bs-contact .bs-contact-grid{grid-template-columns:1fr;}
  .bs-contact .bs-contact-card{position:static;}
  .bs-contact .bs-contact-steps .bs-steps{grid-template-columns:1fr;}
}
/* === Contact page polish v2 (2026-09-25) === */
.bs-contact .bs-contact-hero{padding:clamp(3rem,6vw,5rem) 0 clamp(2.75rem,5vw,4rem);}
.bs-contact .bs-contact-hero .bs-hero-copy{max-width:58rem;}
.bs-contact .bs-contact-hero h1{text-wrap:balance;max-width:none;}
.fzq .fzq-title,.fzq h2,.fzq h3{text-wrap:balance;}
.bs-contact .bs-contact-steps .bs-steps{max-width:68rem;margin:0 auto;gap:1.25rem;}
.bs-contact .bs-contact-steps .bs-step{padding:1.5rem 1.5rem 1.6rem;border:1px solid var(--fz-line,rgba(255,255,255,.08));border-radius:14px;background:var(--fz-surface,#0f1520);transition:opacity .55s ease,transform .55s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease;}
.bs-contact .bs-contact-steps .bs-step.is-inview:hover{transform:translateY(-4px);border-color:rgba(77,134,255,.5);background:#121a28;box-shadow:0 14px 34px rgba(0,0,0,.35);}
.bs-contact .bs-contact-steps .bs-step p{max-width:none;}
.bs-contact .bs-contact-steps .bs-step:last-child .bs-step-line b{background:rgba(43,108,255,.35);}
.bs-contact .bs-contact-steps .bs-step-line b{transform-origin:left center;transform:scaleX(0);transition:transform .8s ease .35s;}
.bs-contact .bs-contact-steps .bs-step.is-inview .bs-step-line b{transform:scaleX(1);}
.bs-contact .bs-contact-chips{max-width:64rem;}
.bs-contact .bs-contact-area p.bs-contact-area-note{display:block;width:100%;max-width:40rem!important;margin:1.25rem auto 0!important;text-align:center!important;}
@media (min-width:901px) and (max-width:1100px){.bs-contact .bs-contact-grid{grid-template-columns:minmax(0,1fr) 17.5rem;gap:1.25rem;}}
@media (prefers-reduced-motion:reduce){.bs-contact .bs-contact-steps .bs-step-line b{transform:none!important;transition:none!important;}}
.bs-contact .bs-contact-steps .bs-step[data-fz-reveal-delay="2"]{transition-delay:140ms;}
.bs-contact .bs-contact-steps .bs-step[data-fz-reveal-delay="3"]{transition-delay:280ms;}
.bs-contact .bs-contact-steps .bs-step.is-inview:hover{transition-delay:0s;}
.fzq .fzq-head .fzq-title{max-width:none!important;margin-left:auto!important;margin-right:auto!important;}
.bs-contact .bs-contact-hero .bs-cta-row{margin-top:1.6rem;}
/* === Homepage #schedule: restored Text-the-VIN aside beside [fz_quote_form] + Contact VIN link (2026-09-25) === */
.ftg .fzq-sec-split .fzq-split{max-width:72rem;margin:0 auto;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:1.15rem 2.5rem;}
.ftg .fzq-sec-split .fz-lead-main .fzq{max-width:none;margin:0;}
.ftg .fzq-sec-split .fz-lead-aside{padding-top:1.25rem;}
@media (max-width:900px){.ftg .fzq-sec-split .fzq-split{grid-template-columns:1fr;gap:2.25rem;max-width:46rem;}.ftg .fzq-sec-split .fz-lead-aside{padding-top:0;}}
.bs-contact .bs-contact-note a.bs-contact-sms{color:var(--fz-accent-2);font-weight:600;text-decoration:underline;text-underline-offset:3px;}
.bs-contact .bs-contact-note a.bs-contact-sms:hover{color:#fff;}
@media (min-width:901px) and (max-width:1100px){.ftg .fzq-sec-split .fzq-split{grid-template-columns:minmax(0,2.1fr) minmax(0,1fr);gap:1.15rem 1.5rem;}}

/* === containers 2026-09-25: Services hub + service pages container/placement (see elfix REVERT.md) === */
/* hero inner uses the same centered container as the sections below (was shrink-wrapped and floating mid-page) */
body.parent-pageid-15 :is(.ac-hero,.mp-hero,.ds-hero,.op-hero,.ew-hero,.pp-hero,.sa-hero,.ev-hero) > :is(.acc,.mpc,.dsc,.opc,.ewc,.ppc,.sac,.evc){width:100%}
/* heroes 2026-09-25: older service heroes sized like the newer service/brand heroes (2827, 2841-2843): no full-screen min-height, same clamp padding; transparent-header pages add the header height */
body.parent-pageid-15 :is(.ac-hero,.mp-hero,.ds-hero,.op-hero,.ew-hero,.pp-hero,.sa-hero,.ev-hero){min-height:0!important;padding-top:clamp(2.5rem,5vw,4.5rem)!important;padding-bottom:clamp(2.5rem,5vw,4.5rem)!important}
body.parent-pageid-15.ast-theme-transparent-header :is(.ac-hero,.mp-hero,.ds-hero,.op-hero,.ew-hero,.pp-hero,.sa-hero,.ev-hero){padding-top:calc(88px + clamp(2.5rem,5vw,4.5rem))!important}
@media (max-width:921px){body.parent-pageid-15.ast-theme-transparent-header :is(.ac-hero,.mp-hero,.ds-hero,.op-hero,.ew-hero,.pp-hero,.sa-hero,.ev-hero){padding-top:calc(76px + clamp(2.5rem,5vw,4.5rem))!important}}
/* heroes 2026-09-25: 2615 "Core ADAS procedures" heading, no "on-"/"site" wrap at desktop */
body.page-id-2615 #core-proc-heading{max-width:none!important;hyphens:manual}
/* restore the templates' intended paragraph spacing (Astra .entry-content p{margin-bottom:0} was overriding it) */
body.parent-pageid-15 :is(.ac-hero-sub,.mp-hero-sub,.ds-hero-sub,.op-hero-sub,.ew-hero-sub,.pp-hero-sub,.sa-hero-sub,.ev-hero-sub){margin-bottom:22px}
body.parent-pageid-15 :is(.ac-hero-p,.mp-hero-p,.ds-hero-p,.op-hero-p,.ew-hero-p,.pp-hero-p,.sa-hero-p,.ev-hero-p){margin-bottom:32px}
body.parent-pageid-15 :is(.ac-intro,.mp-intro,.ds-intro,.op-intro,.ew-intro,.pp-intro,.sa-intro,.ev-intro){margin-bottom:40px}
.bs.bs-svc .bs-lead:not(.bs-sub){margin-bottom:1.15rem}
@media (max-width:820px){.bs.bs-svc .bs-lead:not(.bs-sub){margin-bottom:.9rem}}
/* one inner container width across the service cluster, matching Body Shops (1224px content) */
@media (min-width:1024px){
  body.parent-pageid-15 :is(.acc,.mpc,.dsc,.opc,.ewc,.ppc,.sac,.evc),
  body.parent-pageid-15 .fz-need :is(.acc,.dsc),
  body.parent-pageid-15 .fz-svd .acc.fz-svd-shell,
  body.page-id-15 .sd .sdc{max-width:1280px!important;padding-inline:28px!important}
}

/* about-fullbleed 2026-10-03: About (14) bands run edge to edge; inner content uses the Body Shops (2652) width: min(100% - 2.5rem, 72rem) = 1224px at 1440 */
body.page-id-14 .fza > section{width:100%!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
body.page-id-14 .fza .fzc{width:min(100% - 2.5rem, 72rem)!important;max-width:72rem!important;margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
