/* Native Elementor parity layer for Kinetic Corridors.
 *
 * Source markup is mapped to Elementor Containers plus core Heading, Text
 * Editor, Image, Button, Toggle and Video widgets. Elementor's public wrapper
 * boxes are flattened so the theme's original direct-child layout selectors
 * keep working. Editor mode retains those boxes for selection and editing. */

.family-kinetic:not(.elementor-editor-active) .tpi-native-widget:not(.tpi-native-toggle),
.family-kinetic:not(.elementor-editor-active) .tpi-native-widget:not(.tpi-native-toggle) > .elementor-widget-container,
.family-kinetic:not(.elementor-editor-active) .tpi-native-button .elementor-button-wrapper,
.family-kinetic:not(.elementor-editor-active) .tpi-native-button .elementor-button-content-wrapper,
.family-kinetic:not(.elementor-editor-active) .tpi-native-button .elementor-button-text {
  display: contents !important;
}

.family-kinetic .tpi-native-widget {
  margin: 0;
  padding: 0;
}

/* The language switcher remains a real Elementor Shortcode widget box on the
 * public page and in the editor. This preserves its selectable hit target and
 * avoids the Header overlay drift caused by display:contents wrappers. */
.family-kinetic .site-header__actions > .tpi-language-switcher-widget,
.family-kinetic:not(.elementor-editor-active)
  .site-header__actions > .tpi-native-widget.tpi-language-switcher-widget {
  --container-widget-width: auto;
  --container-widget-flex-grow: 0;
  display: flex !important;
  width: auto;
  min-width: 66px;
  height: 44px;
  min-height: 44px;
  flex: 0 0 auto;
  align-self: center;
  margin: 0;
  padding: 0;
}

.family-kinetic .tpi-language-switcher-widget > .elementor-widget-container,
.family-kinetic .tpi-language-switcher-widget .elementor-shortcode,
.family-kinetic .tpi-language-switcher,
.family-kinetic .tpi-language-switcher ul {
  display: flex;
  align-items: center;
  height: 100%;
  margin: 0;
  padding: 0;
}

.family-kinetic .tpi-language-switcher ul {
  gap: 2px;
  list-style: none;
}

.family-kinetic .tpi-language-switcher a {
  display: grid;
  min-width: 30px;
  min-height: 30px;
  place-items: center;
  border: 1px solid transparent;
  color: var(--ink-soft);
  font: 600 .66rem/1 "IBM Plex Mono", monospace;
  letter-spacing: .06em;
}

.family-kinetic .tpi-language-switcher a:hover,
.family-kinetic .tpi-language-switcher a:focus-visible,
.family-kinetic .tpi-language-switcher .is-current a {
  border-color: var(--line);
  color: var(--ink);
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .tpi-language-switcher-widget {
  position: relative;
  display: flex !important;
  width: 66px !important;
  height: 44px !important;
  min-height: 44px !important;
  flex: 0 0 66px;
}

/* Elementor's active kit contributes 10px Container padding and a 20px gap.
 * Reset only imported source Containers; the theme supplies intentional space. */
.family-kinetic .tpi-native-container {
  --display: block;
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --margin-top: 0px;
  --margin-right: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
}

/* Restore native browser flow where the source element had no explicit layout.
 * This prevents Elementor's default flex-column container from blockifying
 * inline icons and changing text baselines by roughly one pixel per row. */
.family-kinetic :is(
  .site-header,
  .site-footer,
  .footer-brand,
  .kinetic-hero,
  .kinetic-page-hero,
  .track-hero,
  .theme-picture,
  .kinetic-page-hero__grid > div:first-child,
  .track-hero__grid > div:first-child,
  .journey,
  .capability-index,
  .compliance,
  .sustainability,
  .faq,
  .faq-list-compact,
  .next-steps,
  .planning-support,
  .quote-section,
  .kinetic-hero__content,
  .kinetic-hero__notice,
  .capability-index__intro,
  .compliance__layout > div:first-child,
  .sustainability__intro,
  .sustainability__items,
  .faq__layout > div:first-child,
  .quote-section__layout > aside,
  .quote-section__form,
  .milestone-ledger,
  .document-ledger
).tpi-native-container {
  display: block;
}

.family-kinetic :is(
  .capability-index__grid,
  .compliance__ledger,
  .sustainability__items,
  .corridor-selector__grid,
  .corridor-cards,
  .people-section__cards,
  .intent-cards,
  .expertise-kinetic__grid
) > article.tpi-native-container {
  display: block;
}

.family-kinetic :is(
  .journey__rail,
  .kinetic-checks,
  .plan-intro,
  .next-steps,
  .contact-process,
  .tracking-support,
  .quote-section__layout
) .tpi-native-tag-li {
  display: list-item;
}

.family-kinetic :is(
  .film-split__media,
  .corridor-focus > .tpi-native-tag-figure,
  .sustainability .tpi-native-tag-figure,
  .kinetic-page-hero .tpi-native-tag-figure,
  .case-story__layout .tpi-native-tag-figure,
  .track-hero .tpi-native-tag-figure
) {
  display: block;
}

.family-kinetic :is(.tpi-native-tag-dl, .tpi-native-tag-dt, .tpi-native-tag-dd) {
  display: block;
}

/* Elementor Containers default to column. These source elements are flex rows
 * unless an existing responsive theme rule explicitly changes the direction. */
.family-kinetic :is(
  .primary-navigation,
  .site-header__actions,
  .button-row,
  .concept-notice,
  .kinetic-hero__proofs,
  .modes-rail article,
  .corridor-focus__copy .tpi-native-tag-dl > div,
  .quote-section__layout > aside .tpi-native-tag-li,
  .kinetic-checks .tpi-native-tag-li,
  .route-cta .shell,
  .site-footer__bottom,
  .contact-methods .tpi-native-tag-dl > div
).tpi-native-container {
  --flex-direction: row;
}

.family-kinetic .modes-rail article.tpi-native-container,
.family-kinetic .route-cta .shell.tpi-native-container,
.family-kinetic .corridor-focus__copy .tpi-native-tag-dl > div.tpi-native-container,
.family-kinetic .contact-methods .tpi-native-tag-dl > div.tpi-native-container {
  flex-wrap: nowrap;
}
.family-kinetic .modes-rail article > .tpi-native-container {
  --width: auto;
  width: auto;
}
.family-kinetic :is(
  .corridor-focus__copy,
  .contact-methods,
  .case-meta
) :is(.tpi-native-tag-dt, .tpi-native-tag-dd) {
  --width: auto;
  width: auto;
  flex: 0 1 auto;
}

.family-kinetic .tpi-native-button .elementor-button-text,
.family-kinetic .tpi-native-button .elementor-button-content-wrapper {
  font: inherit;
}

.family-kinetic .tpi-native-button .elementor-button {
  width: auto;
  align-self: flex-start;
  border-radius: 0;
}

/* Chromium can drop inherited paint from display:contents descendants. Keep
 * the native ghost label and icon explicit while preserving both theme inks. */
.family-kinetic:not(.elementor-editor-active)
  .tpi-native-button.button--ghost
  .elementor-button-text > span {
  color: var(--ink) !important;
}

/* Direct-child aliases. display:contents removes a public layout box, but it
 * does not alter selector ancestry in the DOM. These rules point the original
 * Kinetic selectors through Elementor's editable widget wrapper. */
.family-kinetic .primary-navigation > .elementor-widget-text-editor > a {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 0 16px;
  color: var(--ink);
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.family-kinetic .primary-navigation > .elementor-widget-text-editor > a::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -1px;
  height: 2px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s;
}
.family-kinetic .primary-navigation > .elementor-widget-text-editor > a:hover::after,
.family-kinetic .primary-navigation > .elementor-widget-text-editor > a:focus-visible::after { transform: scaleX(1); }
.family-kinetic .primary-navigation > .elementor-widget-text-editor > .primary-navigation__track {
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

.family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > p:not(.eyebrow),
.family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
  width: min(470px, 40%);
  margin: 26px 0 0;
  color: var(--ink);
  font-size: .96rem;
}
.family-kinetic .kinetic-hero__proofs > .elementor-widget-text-editor > span,
.family-kinetic .kinetic-hero__proofs > .elementor-widget-text-editor > .elementor-widget-container > span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--ink);
  font-size: .67rem;
  font-weight: 700;
  text-transform: uppercase;
}

.family-kinetic .modes-rail article > .elementor-widget-text-editor > .dashicons,
.family-kinetic .modes-rail article > .elementor-widget-text-editor > .elementor-widget-container > .dashicons {
  display: inline-block;
  width: 28px;
  height: 28px;
  color: var(--blue-bright);
  font-size: 28px;
}
.family-kinetic .modes-rail article:nth-child(2) > .elementor-widget-text-editor > .dashicons { color: var(--signal); }
.family-kinetic .modes-rail article:nth-child(3) > .elementor-widget-text-editor > .dashicons { color: var(--green); }
.family-kinetic .modes-rail article:nth-child(4) > .elementor-widget-text-editor > .dashicons { color: #ffbc4a; }
.family-kinetic .modes-rail__inner > .elementor-widget-text-editor > a,
.family-kinetic .modes-rail__inner > .elementor-widget-text-editor > .elementor-widget-container > a {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 22px 18px;
  border-right: 1px solid #29425a;
  color: #fff;
  font-size: .69rem;
  font-weight: 700;
  text-transform: uppercase;
}

.family-kinetic .section-lead > .elementor-widget-text-editor > p,
.family-kinetic .section-lead > .elementor-widget-text-editor > .elementor-widget-container > p {
  max-width: 470px;
  margin: 0;
}

.family-kinetic .capability-index__intro > .elementor-widget-text-editor > p:not(.eyebrow),
.family-kinetic .capability-index__intro > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
  margin-top: 28px;
}
.family-kinetic .capability-index__grid article > .elementor-widget-text-editor > .dashicons:not(.capability-index__go),
.family-kinetic .capability-index__grid article > .elementor-widget-text-editor > .elementor-widget-container > .dashicons:not(.capability-index__go) {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin: 30px 0;
  color: var(--blue);
  font-size: 30px;
}

.family-kinetic .kinetic-page-hero__grid > div:first-child > .elementor-widget-text-editor > p:not(.eyebrow),
.family-kinetic .kinetic-page-hero__grid > div:first-child > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
  max-width: 530px;
  margin-top: 28px;
}
.family-kinetic .case-story__layout > div > .elementor-widget-text-editor > p:not(.eyebrow),
.family-kinetic .case-story__layout > div > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
  margin: 28px 0;
}

.family-kinetic .contact-card > .elementor-widget-text-editor > strong,
.family-kinetic .contact-card > .elementor-widget-text-editor > .elementor-widget-container > strong {
  display: block;
  padding: 13px 0;
  color: inherit;
  text-transform: uppercase;
}
.family-kinetic .contact-card > .elementor-widget-text-editor > span,
.family-kinetic .contact-card > .elementor-widget-text-editor > .elementor-widget-container > span {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 11px 0;
  border-top: 1px solid rgba(140,165,187,.35);
  font-size: .68rem;
}

.family-kinetic .footer-brand > .elementor-widget-text-editor > small,
.family-kinetic .footer-brand > .elementor-widget-text-editor > .elementor-widget-container > small {
  display: inline;
}

.family-kinetic .trust-strip .shell > .elementor-widget-text-editor > span,
.family-kinetic .trust-strip .shell > .elementor-widget-text-editor > .elementor-widget-container > span {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 20px;
  border-right: 1px solid var(--line);
  font-size: .66rem;
  font-weight: 700;
  text-transform: uppercase;
}
.family-kinetic .trust-strip .shell > .elementor-widget-text-editor:last-child > span { border-right: 0; }

.family-kinetic .corridor-cards article > .elementor-widget-text-editor > span,
.family-kinetic .corridor-cards article > .elementor-widget-text-editor > .elementor-widget-container > span {
  color: var(--blue);
  font: 600 .62rem "IBM Plex Mono", monospace;
}
.family-kinetic :is(.milestone-ledger, .document-ledger) > div > .elementor-widget-text-editor > span,
.family-kinetic :is(.milestone-ledger, .document-ledger) > div > .elementor-widget-text-editor > .elementor-widget-container > span {
  grid-row: 1 / 3;
  color: var(--blue);
}
.family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-li > .elementor-widget-text-editor > span,
.family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-li > .elementor-widget-text-editor > .elementor-widget-container > span {
  color: var(--blue);
  font: 600 .62rem "IBM Plex Mono", monospace;
}
.family-kinetic .intent-cards > article > .elementor-widget-text-editor > .dashicons,
.family-kinetic .intent-cards > article > .elementor-widget-text-editor > .elementor-widget-container > .dashicons {
  display: inline-block;
  width: 34px;
  height: 34px;
  color: var(--blue);
  font-size: 34px;
}

/* Light/dark image classes are present on both the Image widget and img. */
.family-kinetic:not(.elementor-editor-active) .tpi-native-widget.theme-image__dark {
  display: none !important;
}
html[data-theme="dark"] .family-kinetic:not(.elementor-editor-active) .tpi-native-widget.theme-image__light {
  display: none !important;
}
html[data-theme="dark"] .family-kinetic:not(.elementor-editor-active) .tpi-native-widget.theme-image__dark {
  display: contents !important;
}

/* The core hosted Video wrapper should occupy the source figure exactly. */
.family-kinetic .film-split__media .tpi-native-video,
.family-kinetic .film-split__media .tpi-native-video .elementor-wrapper,
.family-kinetic .film-split__media .tpi-native-video video {
  width: 100%;
  height: 100%;
}
.family-kinetic .film-split__media .tpi-native-video video {
  display: block;
  object-fit: cover;
}

/* Elementor only permits a limited set of Container HTML tags. The mapper
 * keeps the original tag as a marker class; these aliases restore tag-based
 * Kinetic selectors without returning to raw HTML widgets. */
.family-kinetic .journey__rail > .tpi-native-tag-li {
  position: relative;
  min-height: 250px;
  padding: 24px 22px 22px;
  border-right: 1px solid var(--line);
}
.family-kinetic .journey__rail > .tpi-native-tag-li:last-child { border-right: 0; }
.family-kinetic .journey__rail > .tpi-native-tag-li > .dashicons:not(.journey__arrow) {
  width: 32px;
  height: 32px;
  margin-bottom: 28px;
  color: var(--blue);
  font-size: 32px;
}
.family-kinetic .journey__rail > .tpi-native-tag-li > .elementor-widget-text-editor > .dashicons:not(.journey__arrow),
.family-kinetic .journey__rail > .tpi-native-tag-li > .elementor-widget-text-editor > .elementor-widget-container > .dashicons:not(.journey__arrow) {
  display: inline-block;
  width: 32px;
  height: 32px;
  margin-bottom: 28px;
  color: var(--blue);
  font-size: 32px;
}

.family-kinetic .corridor-focus > .tpi-native-tag-figure,
.family-kinetic .sustainability .tpi-native-tag-figure,
.family-kinetic .kinetic-page-hero .tpi-native-tag-figure,
.family-kinetic .case-story__layout .tpi-native-tag-figure,
.family-kinetic .track-hero .tpi-native-tag-figure {
  position: relative;
  min-width: 0;
  margin: 0;
}
.family-kinetic .corridor-focus > .tpi-native-tag-figure { overflow: hidden; }
.family-kinetic .sustainability .tpi-native-tag-figure { min-height: 540px; }

.family-kinetic :is(
  .corridor-focus > .tpi-native-tag-figure,
  .sustainability .tpi-native-tag-figure,
  .kinetic-page-hero .tpi-native-tag-figure,
  .case-story__layout .tpi-native-tag-figure,
  .track-hero .tpi-native-tag-figure
) .concept-notice {
  position: absolute;
  right: 14px;
  bottom: 14px;
  max-width: 400px;
}
.family-kinetic .corridor-focus > .tpi-native-tag-figure .concept-notice { right: 16px; bottom: 16px; max-width: 410px; }
.family-kinetic .sustainability .tpi-native-tag-figure .concept-notice { max-width: 360px; }
.family-kinetic .track-hero .tpi-native-tag-figure .concept-notice { max-width: 390px; }

.family-kinetic .corridor-focus__copy .tpi-native-tag-dl {
  margin: 30px 0;
  border-top: 1px solid #35506a;
}
.family-kinetic .corridor-focus__copy .tpi-native-tag-dl > div {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 12px 0;
  border-bottom: 1px solid #35506a;
}
.family-kinetic .corridor-focus__copy .tpi-native-tag-dt {
  color: #7891a8;
  font: 600 .61rem "IBM Plex Mono", monospace;
  text-transform: uppercase;
}
.family-kinetic .corridor-focus__copy .tpi-native-tag-dd { color: #fff; font-size: .67rem; }

.family-kinetic .case-meta .tpi-native-tag-dt {
  color: #7891a8;
  font: 600 .57rem "IBM Plex Mono", monospace;
  text-transform: uppercase;
}
.family-kinetic .case-meta .tpi-native-tag-dd {
  margin-top: 5px;
  color: #fff;
  font-size: .65rem;
}
.family-kinetic .case-meta :is(.tpi-native-tag-dt, .tpi-native-tag-dd) {
  padding: 0;
  border: 0;
}

.family-kinetic .quote-section__layout > aside .tpi-native-tag-ul,
.family-kinetic .tracking-support .tpi-native-tag-ul {
  list-style: none;
  margin: 32px 0 0;
  padding: 0;
}
.family-kinetic .quote-section__layout > aside .tpi-native-tag-li {
  display: flex;
  gap: 8px;
  padding: 10px 0;
  color: #d6e1ec;
  border-bottom: 1px solid #29425a;
  font-size: .7rem;
}
.family-kinetic .kinetic-checks .tpi-native-tag-li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid var(--line);
  font-size: .72rem;
  font-weight: 600;
}
.family-kinetic .tracking-support .tpi-native-tag-ul {
  margin-top: 30px;
  border-top: 1px solid #35506a;
}
.family-kinetic .tracking-support .tpi-native-tag-li {
  padding: 12px 0;
  border-bottom: 1px solid #35506a;
  color: #cbd7e2;
  font-size: .7rem;
}

.family-kinetic .plan-intro.tpi-native-tag-ul { list-style: none; }
.family-kinetic .plan-intro > .tpi-native-tag-li {
  padding: 12px 10px 12px 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-size: .67rem;
  font-weight: 700;
  white-space: nowrap;
  text-transform: uppercase;
}
.family-kinetic .plan-intro > .tpi-native-tag-li:nth-child(odd) { border-right: 1px solid var(--line); }
.family-kinetic .plan-intro > .tpi-native-tag-li:nth-child(even) { padding-left: 12px; }

.family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-ol {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--line);
}
.family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-li {
  min-height: 230px;
  padding: 24px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-li:last-child { border-right: 0; }

.family-kinetic .contact-methods .tpi-native-tag-dl {
  margin: 0;
  border-top: 1px solid var(--line);
}
.family-kinetic .contact-methods .tpi-native-tag-dl > div {
  display: flex;
  justify-content: space-between;
  gap: 25px;
  padding: 15px 0;
  border-bottom: 1px solid var(--line);
}
.family-kinetic .contact-methods .tpi-native-tag-dt {
  color: var(--ink-soft);
  font: 600 .61rem "IBM Plex Mono", monospace;
  text-transform: uppercase;
}
.family-kinetic .contact-methods .tpi-native-tag-dd {
  color: var(--signal);
  font-size: .64rem;
  font-weight: 700;
  text-transform: uppercase;
}

/* Elementor Free's Toggle is the native editable equivalent of details. */
.family-kinetic .tpi-native-toggle { width: 100%; }
.family-kinetic :is(.faq, .faq-list-compact) .elementor-toggle-item {
  border: 0;
  border-top: 1px solid var(--line);
}
.family-kinetic :is(.faq, .faq-list-compact) .elementor-toggle-item:last-child {
  border-bottom: 1px solid var(--line);
}
.family-kinetic .faq .elementor-tab-title {
  min-height: 72px;
  padding: 0;
  display: flex;
  align-items: center;
  font-size: .74rem;
  font-weight: 700;
}
.family-kinetic .faq-list-compact .elementor-tab-title {
  min-height: 68px;
  padding: 0;
  display: flex;
  align-items: center;
  font-size: .72rem;
  font-weight: 700;
}
.family-kinetic :is(.faq, .faq-list-compact) .elementor-toggle-title {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 18px;
  color: inherit;
}
.family-kinetic :is(.faq, .faq-list-compact) .elementor-tab-content {
  padding: 0 34px 20px 0;
  border: 0;
  color: inherit;
  font-size: .72rem;
}
.family-kinetic :is(.faq, .faq-list-compact) .elementor-tab-content p { margin: 0; }

@media (max-width: 1180px) {
  .family-kinetic .primary-navigation > .elementor-widget-text-editor > a {
    padding-inline: 9px;
    font-size: .875rem;
  }
  .family-kinetic .modes-rail__inner > .elementor-widget-text-editor > a {
    grid-column: 1 / -1;
    min-height: 60px;
  }
  .family-kinetic .journey__rail > .tpi-native-tag-li:nth-child(3) { border-right: 0; }
  .family-kinetic .sustainability .tpi-native-tag-figure {
    grid-column: 1 / -1;
    min-height: 440px;
  }
}

@media (max-width: 960px) {
  .family-kinetic .primary-navigation.tpi-native-container {
    --flex-direction: column !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    gap: 0 !important;
    overflow-x: hidden;
  }
  .family-kinetic .primary-navigation > .elementor-widget-text-editor > a,
  .family-kinetic .primary-navigation .tpi-wordpress-menu ul.menu > li > a {
    width: 100%;
    height: auto;
    min-height: 56px;
    display: flex;
    align-items: center;
    padding: 0 12px;
    border-bottom: 1px solid var(--line);
    font-size: 1.125rem;
  }
  .family-kinetic .primary-navigation > .elementor-widget-text-editor > a::after { display: none; }
  .family-kinetic .primary-navigation > .elementor-widget-text-editor > .primary-navigation__track {
    border-left: 0;
    border-right: 0;
  }
}

@media (max-width: 860px) {
  .family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > p:not(.eyebrow),
  .family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
    width: min(100%, 550px);
  }
  .family-kinetic .route-cta .shell.tpi-native-container {
    --flex-direction: column;
    flex-direction: column !important;
  }
  .family-kinetic .journey__rail > .tpi-native-tag-li:nth-child(3) { border-right: 1px solid var(--line); }
  .family-kinetic .journey__rail > .tpi-native-tag-li:nth-child(even) { border-right: 0; }
  .family-kinetic .corridor-focus > .tpi-native-tag-figure { min-height: 520px; }
  .family-kinetic .sustainability .tpi-native-tag-figure { grid-column: auto; }
  .family-kinetic .kinetic-page-hero .tpi-native-tag-figure,
  .family-kinetic .track-hero .tpi-native-tag-figure { min-height: 460px; }
  .family-kinetic .case-story__layout .tpi-native-tag-figure { min-height: 500px; }
}

@media (min-width: 961px) {
  .family-kinetic .primary-navigation .tpi-wordpress-menu ul.menu > li > a {
    display: inline-flex;
    align-items: center;
    column-gap: .2325em;
    padding-top: 1px;
  }
}

@media (min-width: 961px) and (max-width: 1280px) {
  .family-kinetic .primary-navigation {
    gap: 16px !important;
  }
}

@media (max-width: 620px) {
  .family-kinetic .journey__rail > .tpi-native-tag-li {
    min-height: 190px;
    padding: 20px 18px;
    border-right: 0 !important;
  }
  .family-kinetic .journey__rail > .tpi-native-tag-li > .dashicons:not(.journey__arrow) { margin-bottom: 18px; }
  .family-kinetic .corridor-focus > .tpi-native-tag-figure { min-height: 390px; }
  .family-kinetic .sustainability .tpi-native-tag-figure { min-height: 340px; }
  .family-kinetic .kinetic-page-hero .tpi-native-tag-figure { min-height: 330px; }
  .family-kinetic .track-hero .tpi-native-tag-figure { min-height: 340px; }
  .family-kinetic .case-story__layout .tpi-native-tag-figure { min-height: 340px; }
  .family-kinetic :is(
    .kinetic-page-hero .tpi-native-tag-figure,
    .track-hero .tpi-native-tag-figure,
    .case-story__layout .tpi-native-tag-figure
  ) .concept-notice {
    left: 8px;
    right: 8px;
    width: auto;
    max-width: none;
  }
  .family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-ol { grid-template-columns: 1fr; }
  .family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-li {
    min-height: 190px;
    border-right: 0;
  }
}

@media (max-width: 520px) {
  .family-kinetic .tpi-native-button .elementor-button {
    width: 100%;
    align-self: stretch;
  }
  .family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > p:not(.eyebrow),
  .family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
    font-size: .86rem;
  }
  .family-kinetic .modes-rail article > .elementor-widget-text-editor > .dashicons,
  .family-kinetic .modes-rail article > .elementor-widget-text-editor > .elementor-widget-container > .dashicons {
    width: 23px;
    height: 23px;
    font-size: 23px;
  }
  .family-kinetic .modes-rail__inner > .elementor-widget-text-editor > a,
  .family-kinetic .modes-rail__inner > .elementor-widget-text-editor > .elementor-widget-container > a {
    padding-inline: 14px;
  }
  .family-kinetic .trust-strip .shell > .elementor-widget-text-editor > span,
  .family-kinetic .trust-strip .shell > .elementor-widget-text-editor > .elementor-widget-container > span {
    min-height: 62px;
    padding: 14px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }
  .family-kinetic .journey__rail > .tpi-native-tag-li {
    min-height: 190px;
    padding: 20px 18px;
    border-right: 0 !important;
  }
  .family-kinetic .journey__rail > .tpi-native-tag-li > .elementor-widget-text-editor > .dashicons:not(.journey__arrow),
  .family-kinetic .journey__rail > .tpi-native-tag-li > .elementor-widget-text-editor > .elementor-widget-container > .dashicons:not(.journey__arrow) {
    margin-bottom: 18px;
  }
}

@media (max-width: 620px) {
  .family-kinetic .plan-intro > .tpi-native-tag-li {
    white-space: normal !important;
    overflow-wrap: anywhere;
  }
}

@media (max-width: 520px) {
  .family-kinetic .kinetic-hero__content h1 span {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .family-kinetic .contact-methods__grid > *,
  .family-kinetic .contact-methods__grid h2,
  .family-kinetic .contact-methods__grid p {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
  }
}

@media (min-width: 861px) {
  .family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > p:not(.eyebrow),
  .family-kinetic .kinetic-hero__content > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
    margin-top: 16px;
  }
  .family-kinetic .modes-rail__inner > .elementor-widget-text-editor > a,
  .family-kinetic .modes-rail__inner > .elementor-widget-text-editor > .elementor-widget-container > a {
    padding-top: 16px;
    padding-bottom: 16px;
  }
  .family-kinetic .journey__rail > .tpi-native-tag-li {
    min-height: 135px;
    padding: 11px 12px;
  }
  .family-kinetic .journey__rail > .tpi-native-tag-li > .elementor-widget-text-editor > .dashicons:not(.journey__arrow),
  .family-kinetic .journey__rail > .tpi-native-tag-li > .elementor-widget-text-editor > .elementor-widget-container > .dashicons:not(.journey__arrow) {
    width: 25px;
    height: 25px;
    margin-bottom: 7px;
    font-size: 25px;
  }
  .family-kinetic .capability-index__intro > .elementor-widget-text-editor > p:not(.eyebrow),
  .family-kinetic .capability-index__intro > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
    margin-top: 18px;
  }
  .family-kinetic .kinetic-page-hero__grid > div:first-child > .elementor-widget-text-editor > p:not(.eyebrow),
  .family-kinetic .kinetic-page-hero__grid > div:first-child > .elementor-widget-text-editor > .elementor-widget-container > p:not(.eyebrow) {
    margin-top: 18px;
  }
  .family-kinetic .capability-index__grid article > .elementor-widget-text-editor > .dashicons:not(.capability-index__go),
  .family-kinetic .capability-index__grid article > .elementor-widget-text-editor > .elementor-widget-container > .dashicons:not(.capability-index__go) {
    width: 25px;
    height: 25px;
    margin: 7px 0;
    font-size: 25px;
  }
  .family-kinetic .corridor-focus > .tpi-native-tag-figure {
    min-height: 0;
    height: 100%;
  }
  .family-kinetic .corridor-focus__copy .tpi-native-tag-dl { margin: 10px 0; }
  .family-kinetic .corridor-focus__copy .tpi-native-tag-dl > div { padding: 8px 0; }
  .family-kinetic .sustainability .tpi-native-tag-figure { min-height: 320px; }
  .family-kinetic .faq .elementor-tab-title { min-height: 46px; }
  .family-kinetic :is(.faq, .faq-list-compact) .elementor-tab-content { padding-bottom: 14px; }
  .family-kinetic .faq-list-compact .elementor-tab-title { min-height: 68px; }
  .family-kinetic :is(.next-steps, .contact-process) .tpi-native-tag-li {
    min-height: 230px;
    padding: 24px;
  }
}

/* Header/Footer site-part previews are rendered again by Elementor's client
 * without the server-only tpi-native-container/tpi-native-widget markers.
 * Keep Elementor's real edit boxes tangible, but mirror the published native
 * layout only inside Kinetic's dedicated Header/Footer editing canvas. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic .site-main {
  overflow: visible;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(.site-header, .trust-strip, .site-footer).tpi-native-node[data-element_type="container"],
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(.site-header, .trust-strip, .site-footer)
  .tpi-native-node[data-element_type="container"] {
  --padding-top: 0px;
  --padding-right: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --margin-top: 0px;
  --margin-right: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --row-gap: 0px;
  --column-gap: 0px;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(.site-header, .trust-strip, .site-footer)
  .tpi-native-node[data-element_type="widget"] {
  margin: 0;
  padding: 0;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(.site-header, .site-footer, .footer-brand).tpi-native-node[data-element_type="container"] {
  --display: block !important;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(.primary-navigation, .site-header__actions, .site-footer__bottom).tpi-native-node[data-element_type="container"] {
  --flex-direction: row !important;
}

/* Keep the theme helper tangible so its overlay has a real containing box.
 * The menu helper is positioned per breakpoint below. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .ui-wrapper:has(> .theme-toggle) {
  display: block !important;
  position: relative !important;
  width: 44px !important;
  height: 44px !important;
  flex: 0 0 44px;
  margin: 0 !important;
  padding: 0 !important;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header .menu-toggle {
  width: 46px !important;
  height: 46px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header .theme-toggle {
  display: grid !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Keep every nav Text Editor selectable while passing the published direct-
 * child link layout through Elementor's editor-only inner wrappers. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .primary-navigation > .elementor-widget-text-editor {
  --container-widget-width: auto;
  --container-widget-flex-grow: 0;
  width: auto;
  height: 100%;
  min-width: 0;
  flex: 0 1 auto;
  align-self: stretch;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor {
  height: 100%;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(
    .primary-navigation > .elementor-widget-text-editor > a,
    .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > a,
    .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > a
  ) {
  position: relative;
  display: inline-flex;
  align-items: center;
  height: 100%;
  gap: 5px;
  padding: 0 16px;
  color: var(--ink);
  font-size: .69rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(
    .primary-navigation > .elementor-widget-text-editor > a,
    .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > a,
    .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > a
  )::after {
  content: "";
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: -1px;
  height: 2px;
  background: var(--blue);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(
    .primary-navigation > .elementor-widget-text-editor > a,
    .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > a,
    .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > a
  ):is(:hover, :focus-visible)::after {
  transform: scaleX(1);
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  :is(
    .primary-navigation > .elementor-widget-text-editor > .primary-navigation__track,
    .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > .primary-navigation__track,
    .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > .primary-navigation__track
  ) {
  border-left: 1px solid var(--line);
  border-right: 1px solid var(--line);
}

/* The source button class stays on the selectable widget box in edit mode.
 * Neutralize that outer box and transfer its visual treatment to the link. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .tpi-native-button {
  --container-widget-width: auto;
  --container-widget-flex-grow: 0;
  width: auto;
  min-height: 0 !important;
  flex: 0 0 auto;
  gap: 0;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .tpi-native-button > .elementor-button-wrapper,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .tpi-native-button > .elementor-widget-container > .elementor-button-wrapper {
  display: contents !important;
}

:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .tpi-native-button) > .elementor-button.elementor-button,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .tpi-native-button) > .elementor-button-wrapper > .elementor-button.elementor-button,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-header__actions > .tpi-native-button) > .elementor-widget-container > .elementor-button-wrapper > .elementor-button.elementor-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-height: 44px;
  gap: 18px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  box-shadow: none;
  transition: color .2s, background .2s, border-color .2s, transform .2s;
}

:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--primary) > .elementor-button.elementor-button,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--primary) > .elementor-button-wrapper > .elementor-button.elementor-button,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--primary) > .elementor-widget-container > .elementor-button-wrapper > .elementor-button.elementor-button {
  border-color: var(--button-primary-bg);
  background: var(--button-primary-bg);
  color: #fff;
}

:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--primary) > .elementor-button.elementor-button:hover,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--primary) > .elementor-button-wrapper > .elementor-button.elementor-button:hover,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--primary) > .elementor-widget-container > .elementor-button-wrapper > .elementor-button.elementor-button:hover {
  border-color: #0647bd;
  background: #0647bd;
}

:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--ghost) > .elementor-button.elementor-button,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--ghost) > .elementor-button-wrapper > .elementor-button.elementor-button,
:where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button.button--ghost) > .elementor-widget-container > .elementor-button-wrapper > .elementor-button.elementor-button {
  border-color: var(--control-border);
  background: rgba(255, 255, 255, .45);
  color: var(--ink);
}

html[data-theme="dark"]
  :where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .tpi-native-button.button--ghost) > .elementor-button.elementor-button,
html[data-theme="dark"]
  :where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .tpi-native-button.button--ghost) > .elementor-button-wrapper > .elementor-button.elementor-button,
html[data-theme="dark"]
  :where(body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .tpi-native-button.button--ghost) > .elementor-widget-container > .elementor-button-wrapper > .elementor-button.elementor-button {
  background: rgba(4, 24, 45, .52);
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .tpi-native-button .elementor-button :is(.elementor-button-content-wrapper, .elementor-button-text) {
  display: contents !important;
}

/* Trust-strip Text Editors gain two inner boxes only in the editor. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .trust-strip .shell > .elementor-widget-text-editor > .elementor-widget-container,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .trust-strip .shell > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .trust-strip .shell > .elementor-widget-text-editor > .elementor-text-editor {
  height: 100%;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .trust-strip .shell > .elementor-widget-text-editor > .elementor-widget-container
  > .elementor-text-editor > span,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .trust-strip .shell > .elementor-widget-text-editor > .elementor-text-editor > span {
  display: flex;
  align-items: center;
  height: 100%;
  gap: 10px;
  padding: 20px;
  border-right: 1px solid var(--line);
  font-size: .66rem;
  font-weight: 700;
  text-transform: uppercase;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .trust-strip .shell > :nth-last-child(1 of .elementor-widget-text-editor)
  > .elementor-widget-container > .elementor-text-editor > span,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .trust-strip .shell > :nth-last-child(1 of .elementor-widget-text-editor)
  > .elementor-text-editor > span {
  border-right: 0;
}

/* Footer bottom keeps selectable widgets, sized like its public inline items. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__bottom > .tpi-native-node[data-element_type="widget"] {
  --container-widget-width: auto;
  --container-widget-flex-grow: 0;
  width: auto;
  flex: 0 0 auto;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__bottom > .elementor-widget-text-editor
  > .elementor-widget-container > .elementor-text-editor,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__bottom > .elementor-widget-text-editor > .elementor-text-editor {
  min-height: 0;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__bottom > .elementor-widget-text-editor
  > .elementor-widget-container > .elementor-text-editor > span,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__bottom > .elementor-widget-text-editor > .elementor-text-editor > span {
  display: block;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .footer-brand > .elementor-widget-text-editor
  > .elementor-widget-container > .elementor-text-editor > small,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .footer-brand > .elementor-widget-text-editor > .elementor-text-editor > small {
  display: inline;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .footer-brand > .elementor-widget-text-editor
  > .elementor-widget-container > .elementor-text-editor > p:not(.eyebrow),
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .footer-brand > .elementor-widget-text-editor > .elementor-text-editor > p:not(.eyebrow) {
  line-height: var(--tpi-footer-leading);
}

/* A tangible Text Editor box otherwise keeps Elementor's 16px/1.55 line box,
 * even though the published footer item itself is 12px. Match the source item
 * line box while retaining the widget hit target and edit overlay. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-text-editor,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor {
  font-size: var(--tpi-footer-link-size);
  line-height: var(--tpi-footer-leading);
}

/* Public footer menus are direct flex children. Preserve the selectable WP
 * widget box in the editor while giving its real links the same vertical flow. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-wp-widget-nav_menu {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-text-editor > .eyebrow,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > .eyebrow {
  line-height: 1.35 !important;
}

/* A direct source eyebrow carries a 14px bottom margin as a flex item. In the
 * editor that margin is trapped inside the tangible widget, so transfer it to
 * the widget box and remove the extra parent line box. */
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor:has(> .elementor-text-editor > .eyebrow),
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor:has(> .elementor-widget-container > .elementor-text-editor > .eyebrow) {
  margin-bottom: 14px;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-text-editor:has(> .eyebrow),
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor:has(> .eyebrow) {
  line-height: 0;
  min-height: 0;
}

body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-text-editor > .eyebrow,
body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
  .site-footer__top > .tpi-native-node[data-element_type="container"]:not(.footer-brand)
  > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > .eyebrow {
  margin-bottom: 0;
}

/* Editor overlays are sibling divs. Select only the final two real footer
 * Containers when applying the tablet row offset. */
@media (max-width: 1180px) {
  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .site-footer__top
    > :nth-last-child(-n + 2 of .tpi-native-node[data-element_type="container"]) {
    margin-top: 26px;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    :is(
      .primary-navigation > .elementor-widget-text-editor > a,
      .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > a,
      .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > a
    ) {
    padding-inline: 9px;
    font-size: .875rem;
  }
}

@media (min-width: 961px) {
  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .site-header__inner > .ui-wrapper:has(> .menu-toggle) {
    display: none !important;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .site-header .menu-toggle {
    display: none !important;
  }
}

@media (max-width: 960px) {
  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .site-header__inner > .ui-wrapper:has(> .menu-toggle) {
    display: block !important;
    position: relative !important;
    width: 44px !important;
    height: 44px !important;
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    align-self: center;
    margin: 0 !important;
    padding: 0 !important;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .site-header .menu-toggle {
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .primary-navigation.tpi-native-node[data-element_type="container"] {
    --flex-direction: column !important;
    --row-gap: 0px;
    --column-gap: 0px;
    flex-wrap: nowrap !important;
    gap: 0 !important;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .primary-navigation > .elementor-widget-text-editor {
    --container-widget-width: 100%;
    width: 100%;
    height: auto;
    flex-basis: auto;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container,
  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor,
  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor {
    height: auto;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    :is(
      .primary-navigation > .elementor-widget-text-editor > a,
      .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > a,
      .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > a
    ) {
    width: 100%;
    min-height: 56px;
    padding: 0 12px;
    border-bottom: 1px solid var(--line);
    font-size: 1.125rem;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    :is(
      .primary-navigation > .elementor-widget-text-editor > a,
      .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > a,
      .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > a
    )::after {
    display: none;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    :is(
      .primary-navigation > .elementor-widget-text-editor > .primary-navigation__track,
      .primary-navigation > .elementor-widget-text-editor > .elementor-text-editor > .primary-navigation__track,
      .primary-navigation > .elementor-widget-text-editor > .elementor-widget-container > .elementor-text-editor > .primary-navigation__track
    ) {
    border-left: 0;
    border-right: 0;
  }
}

@media (max-width: 520px) {
  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .site-header .menu-toggle {
    width: 44px !important;
    height: 44px !important;
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .trust-strip .shell > .elementor-widget-text-editor
    > .elementor-widget-container > .elementor-text-editor > span,
  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .trust-strip .shell > .elementor-widget-text-editor > .elementor-text-editor > span {
    min-height: 62px;
    padding: 14px;
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  body.tpi-elementor-site-part-preview.elementor-editor-active.family-kinetic
    .site-footer__top
    > :nth-last-child(-n + 2 of .tpi-native-node[data-element_type="container"]) {
    margin-top: 0;
  }
}
