/*
 * V108 shared header refinement.
 * - Desktop: one measured row for logo, primary navigation and six readable languages.
 * - Mobile: one compact readable language row and a smaller, higher navigation panel.
 * - WhatsApp: removed from header geometry and exposed as a draggable, product-toned page action.
 */

html body .header-whatsapp[href] {
  position: fixed !important;
  top: auto !important;
  right: 18px !important;
  bottom: max(18px, env(safe-area-inset-bottom)) !important;
  left: auto !important;
  z-index: 90 !important;
  box-sizing: border-box !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: inline-flex !important;
  flex: none !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.28) !important;
  border-radius: 17px !important;
  background-color: #a31c31 !important;
  background-image: linear-gradient(135deg, rgba(255, 255, 255, 0.08), rgba(0, 0, 0, 0.18)) !important;
  box-shadow:
    0 10px 24px rgba(7, 31, 70, 0.22),
    0 2px 7px rgba(7, 31, 70, 0.16),
    inset 0 0 0 1px rgba(255, 255, 255, 0.18) !important;
  opacity: 0.82 !important;
  visibility: visible !important;
  direction: ltr !important;
  text-align: center !important;
  white-space: nowrap !important;
  touch-action: none !important;
  user-select: none !important;
  -webkit-user-select: none !important;
  -webkit-user-drag: none !important;
  cursor: grab !important;
  transform: none !important;
  transition:
    transform 160ms ease,
    opacity 160ms ease,
    background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 160ms ease !important;
}

html body .header-whatsapp[href][data-product-theme="waterjet"] {
  background-color: #a31c31 !important;
  border-color: rgba(179, 38, 58, 0.52) !important;
}

html body .header-whatsapp[href][data-product-theme="airjet"] {
  background-color: #0d4e96 !important;
  border-color: rgba(31, 104, 184, 0.5) !important;
}

html body .header-whatsapp[href] > span {
  position: absolute !important;
  display: block !important;
  width: 1px !important;
  height: 1px !important;
  min-height: 0 !important;
  max-height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

html body .header-whatsapp[href] > strong,
html body .header-whatsapp[href]::after {
  display: none !important;
  content: none !important;
}

html body .header-whatsapp[href]::before {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  right: auto !important;
  bottom: auto !important;
  left: 50% !important;
  display: block !important;
  width: 31px !important;
  height: 31px !important;
  flex: none !important;
  background: url("/assets/whatsapp-glyph-white-2026.svg") 50% 50% / 100% 100% no-repeat !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none !important;
}

html body .header-whatsapp[href]:focus-visible {
  outline: 3px solid rgba(255, 255, 255, 0.96) !important;
  outline-offset: 3px !important;
}

html body .header-whatsapp[href]:is(.is-drag-pending, .is-dragging) {
  transform: none !important;
  transition: none !important;
}

html body .header-whatsapp[href].is-dragging {
  cursor: grabbing !important;
  opacity: 0.92 !important;
  will-change: left, top;
}

@media (hover: hover) and (pointer: fine) {
  html body .header-whatsapp[href]:not(.is-drag-pending):not(.is-dragging):is(:hover, :focus-visible) {
    opacity: 0.96 !important;
    transform: scale(1.035) !important;
    box-shadow:
      0 13px 28px rgba(7, 31, 70, 0.25),
      0 3px 8px rgba(7, 31, 70, 0.18),
      inset 0 0 0 1px rgba(255, 255, 255, 0.2) !important;
  }
}

@media (min-width: 1121px) {
  :root {
    --header-height: 64px;
  }

  html body .site-header[data-header] {
    display: block !important;
    width: 100% !important;
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
    padding: 0 !important;
    direction: ltr !important;
    overflow: visible !important;
  }

  html body .site-header[data-header] .header-inner {
    width: min(1360px, calc(100% - 32px)) !important;
    height: calc(var(--header-height) - 1px) !important;
    min-height: calc(var(--header-height) - 1px) !important;
    margin: 0 auto !important;
    padding: 5px 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-rows: 1fr !important;
    grid-template-areas: "brand navigation languages" !important;
    column-gap: clamp(10px, 1.15vw, 18px) !important;
    row-gap: 0 !important;
    align-items: center !important;
    direction: ltr !important;
    overflow: visible !important;
  }

  html body .site-header[data-header] .header-inner > .brand {
    grid-area: brand !important;
    justify-self: start !important;
    min-width: 0 !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav {
    grid-area: navigation !important;
    justify-self: end !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(8px, 1.2vw, 18px) !important;
    direction: ltr !important;
    overflow: visible !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 8px 3px !important;
    font-size: clamp(12px, 1vw, 14px) !important;
    line-height: 1.1 !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html[lang="ar"] body .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    direction: rtl !important;
    unicode-bidi: plaintext;
  }

  html body .site-header[data-header] .header-inner > .site-language-row--desktop {
    grid-area: languages !important;
    justify-self: end !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 3px !important;
    display: grid !important;
    grid-template-columns: repeat(6, auto) !important;
    gap: 3px !important;
  }

  html body .site-header[data-header] .site-language-row--desktop .site-language-option {
    min-height: 26px !important;
    height: 26px !important;
    padding-inline: clamp(3px, 0.35vw, 6px) !important;
    font-size: clamp(9.5px, 0.78vw, 10.5px) !important;
    line-height: 1 !important;
    white-space: nowrap !important;
  }
}

@media (min-width: 1121px) and (max-width: 1199px) {
  html[lang="ru"] body.product-page .site-header[data-header] .header-inner > .site-nav {
    gap: 6px !important;
  }

  html[lang="ru"] body.product-page .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    padding-inline: 2px !important;
    font-size: 10.8px !important;
  }
}

@media (max-width: 1120px) {
  :root {
    --header-height: 50px;
    --site-language-row-space: 26px;
  }

  html body:not(.product-page) {
    --site-language-row-space: 0px;
  }

  html body .site-header[data-header] .header-inner {
    width: calc(100% - 16px) !important;
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
    margin: 0 auto !important;
    padding: 1px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(112px, 1fr) 34px !important;
    grid-template-rows: calc(var(--header-height) - 2px) !important;
    column-gap: 6px !important;
    align-items: center !important;
    direction: ltr !important;
    overflow: visible !important;
  }

  html body .site-header[data-header] .header-inner > .brand {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
  }

  html body .site-header[data-header] .header-inner > .menu-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
    width: 34px !important;
    min-width: 34px !important;
    max-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    display: flex !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
    position: absolute !important;
    top: calc(var(--header-height) + 28px) !important;
    right: 8px !important;
    left: auto !important;
    width: clamp(154px, 44vw, 180px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 16px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: calc(100svh - var(--header-height) - 40px) !important;
    margin: 0 !important;
    padding: 4px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 3px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid rgba(102, 130, 163, 0.2) !important;
    border-radius: 12px !important;
    background: rgba(237, 244, 251, 0.76) !important;
    box-shadow: 0 10px 24px rgba(7, 31, 70, 0.14) !important;
    backdrop-filter: blur(12px) saturate(116%) !important;
    -webkit-backdrop-filter: blur(12px) saturate(116%) !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav:is(.is-open, [data-open="true"]) {
    display: flex !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 4px 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    color: #15324f !important;
    border: 1px solid rgba(27, 66, 111, 0.1) !important;
    border-radius: 8px !important;
    background: rgba(255, 255, 255, 0.82) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.68) !important;
    font-size: clamp(10px, 2.65vw, 11.5px) !important;
    font-weight: 750 !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
    text-overflow: clip !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav > .nav-product-link--waterjet {
    border-inline-start: 3px solid rgba(179, 38, 58, 0.82) !important;
    background: rgba(255, 249, 250, 0.86) !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav > .nav-product-link--airjet {
    border-inline-start: 3px solid rgba(31, 104, 184, 0.82) !important;
    background: rgba(248, 252, 255, 0.88) !important;
  }

  html[lang="ar"] body .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    direction: rtl !important;
    unicode-bidi: plaintext;
    justify-content: flex-end !important;
    text-align: right !important;
  }

  html[lang="tr"] body .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp),
  html[lang="id"] body .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    font-size: clamp(8.8px, 2.4vw, 10.5px) !important;
  }

  html[lang="ru"] body .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    font-size: clamp(8.3px, 2.25vw, 10.2px) !important;
  }

  html[lang="ru"] body.product-page .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    white-space: normal !important;
    overflow-wrap: normal !important;
    text-wrap: balance;
  }

  html body:not(.product-page) .home-hero > .site-language-row--mobile {
    top: 4px !important;
    right: auto !important;
    left: 4px !important;
    width: min(720px, calc(100vw - 8px)) !important;
    height: 22px !important;
    max-height: 22px !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: 22px !important;
    gap: 1px !important;
    margin: 0 !important;
  }

  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 2px !important;
    font-size: clamp(8.2px, 2.2vw, 10px) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option::before {
    inset: 2px 0 !important;
  }

  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option[lang="ru"],
  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option[lang="id"] {
    font-size: clamp(8px, 2.05vw, 9.4px) !important;
  }

  html body.product-page {
    --site-language-row-space: 26px !important;
  }

  html body.product-page .site-header[data-header] {
    height: calc(var(--header-height) + var(--site-language-row-space)) !important;
    min-height: calc(var(--header-height) + var(--site-language-row-space)) !important;
  }

  html body.product-page .site-language-row--mobile {
    width: calc(100% - 8px) !important;
    height: 24px !important;
    max-height: 24px !important;
    margin: 1px auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: 22px !important;
    gap: 1px !important;
    overflow: visible !important;
  }

  html body.product-page .site-language-row--mobile .site-language-option {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    padding-inline: 2px !important;
    font-size: clamp(8.2px, 2vw, 9px) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body.product-page .site-language-row--mobile .site-language-option[lang="ru"],
  html body.product-page .site-language-row--mobile .site-language-option[lang="id"] {
    font-size: clamp(8px, 1.9vw, 8.6px) !important;
  }

  html body.product-page .site-header[data-header] .header-inner > .site-nav {
    top: calc(var(--header-height) + var(--site-language-row-space) + 4px) !important;
  }

  html body.product-page .site-header[data-header].is-site-language-row-hidden {
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
  }

  html body.product-page .site-header[data-header].is-site-language-row-hidden .site-language-row--mobile {
    height: 0 !important;
    max-height: 0 !important;
    margin-block: 0 !important;
    opacity: 0 !important;
    transform: translateY(-4px) !important;
    pointer-events: none !important;
  }

  html body.product-page .site-header[data-header].is-site-language-row-hidden .header-inner > .site-nav {
    top: calc(var(--header-height) + 4px) !important;
  }
}

@media (max-width: 760px) {
  html body .header-whatsapp[href] {
    right: 10px !important;
    bottom: max(12px, env(safe-area-inset-bottom)) !important;
    width: 48px !important;
    min-width: 48px !important;
    max-width: 48px !important;
    height: 48px !important;
    min-height: 48px !important;
    max-height: 48px !important;
    padding: 0 !important;
    border-radius: 15px !important;
  }

  html body .header-whatsapp[href]::before {
    width: 29px !important;
    height: 29px !important;
  }
}

@media (max-width: 520px) {
  html body:not(.product-page) .home-hero .hero-content {
    margin-top: clamp(44px, 6svh, 52px) !important;
  }
}

@media (max-width: 390px) {
  :root {
    --header-height: 44px;
  }

  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option,
  html body.product-page .site-language-row--mobile .site-language-option {
    font-size: 9px !important;
  }

  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option[lang="ru"],
  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option[lang="id"],
  html body.product-page .site-language-row--mobile .site-language-option[lang="ru"],
  html body.product-page .site-language-row--mobile .site-language-option[lang="id"] {
    font-size: 8.7px !important;
    letter-spacing: -0.01em !important;
  }
}

@media (max-width: 340px) {
  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option,
  html body.product-page .site-language-row--mobile .site-language-option {
    font-size: 8.8px !important;
    letter-spacing: -0.015em !important;
  }

  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option[lang="ru"],
  html body:not(.product-page) .home-hero > .site-language-row--mobile .site-language-option[lang="id"],
  html body.product-page .site-language-row--mobile .site-language-option[lang="ru"],
  html body.product-page .site-language-row--mobile .site-language-option[lang="id"] {
    font-size: 8.6px !important;
  }
}

/* Arabic's legacy locale sheet repeats the old two-row header with higher
   specificity. Reassert the shared physical layout while retaining RTL copy. */
@media (min-width: 1121px) {
  html body.page-ar .site-header[data-header] {
    display: block !important;
    width: 100% !important;
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
    padding: 0 !important;
    direction: ltr !important;
  }

  html body.page-ar .site-header[data-header] .header-inner {
    width: min(1360px, calc(100% - 32px)) !important;
    height: calc(var(--header-height) - 1px) !important;
    min-height: calc(var(--header-height) - 1px) !important;
    margin: 0 auto !important;
    padding: 5px 0 !important;
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) auto !important;
    grid-template-rows: 1fr !important;
    grid-template-areas: "brand navigation languages" !important;
    column-gap: clamp(10px, 1.15vw, 18px) !important;
    row-gap: 0 !important;
    align-items: center !important;
    direction: ltr !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .brand {
    grid-area: brand !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .site-nav {
    grid-area: navigation !important;
    justify-self: end !important;
    position: static !important;
    inset: auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: 36px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: clamp(8px, 1.2vw, 18px) !important;
    direction: ltr !important;
    overflow: visible !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    flex: 0 1 auto !important;
    min-width: 0 !important;
    max-width: none !important;
    padding: 8px 3px !important;
    font-size: clamp(12px, 1vw, 14px) !important;
    line-height: 1.1 !important;
    direction: rtl !important;
    white-space: nowrap !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .site-language-row--desktop {
    grid-area: languages !important;
    justify-self: end !important;
    height: 34px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 3px !important;
    display: grid !important;
    grid-template-columns: repeat(6, auto) !important;
    gap: 3px !important;
  }
}

@media (max-width: 1120px) {
  html body:not(.product-page) .site-header[data-header] .header-inner > .site-nav {
    top: calc(var(--header-height) + 28px) !important;
  }

  html body.page-ar .site-header[data-header] .header-inner {
    width: calc(100% - 16px) !important;
    height: var(--header-height) !important;
    min-height: var(--header-height) !important;
    margin: 0 auto !important;
    padding: 1px 0 !important;
    display: grid !important;
    grid-template-columns: minmax(112px, 1fr) 34px !important;
    grid-template-rows: calc(var(--header-height) - 2px) !important;
    column-gap: 6px !important;
    direction: ltr !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .menu-toggle {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: end !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .site-nav {
    grid-column: 1 / 3 !important;
    grid-row: 1 !important;
    position: absolute !important;
    top: calc(var(--header-height) + 28px) !important;
    right: 8px !important;
    left: auto !important;
    width: clamp(154px, 44vw, 180px) !important;
    min-width: 0 !important;
    max-width: calc(100vw - 16px) !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 4px !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 3px !important;
    direction: ltr !important;
    border-radius: 12px !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .site-nav:is(.is-open, [data-open="true"]) {
    display: flex !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .site-nav > a:not(.nav-whatsapp) {
    width: 100% !important;
    min-height: 36px !important;
    height: 36px !important;
    padding: 4px 8px !important;
    justify-content: flex-end !important;
    font-size: clamp(10px, 2.65vw, 11.5px) !important;
    line-height: 1.12 !important;
    direction: rtl !important;
    text-align: right !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
  }

  html body.page-ar:not(.product-page) .site-header[data-header] .header-inner > .site-nav {
    top: calc(var(--header-height) + 28px) !important;
  }
}

/* V109: deliberate two-line mobile hero titles without breaking product terms. */
@media (max-width: 760px) {
  html body:not(.product-page) .home-hero h1 {
    font-size: clamp(22px, 6.4vw, 25px) !important;
    line-height: 1.12 !important;
    text-wrap: initial !important;
  }

  html body:not(.product-page) .home-hero h1 .home-hero-title-line {
    display: block;
    white-space: nowrap;
  }

  html body.page-ar:not(.product-page) .home-hero h1 {
    font-size: clamp(22px, 6.4vw, 25px) !important;
    line-height: 1.14 !important;
  }

  html body.page-tr:not(.product-page) .home-hero h1 {
    font-size: clamp(20px, 5.8vw, 22.5px) !important;
  }

  html body.page-vi:not(.product-page) .home-hero h1,
  html body.page-id:not(.product-page) .home-hero h1 {
    font-size: clamp(18px, 5.25vw, 20.5px) !important;
  }

  html body.page-ru:not(.product-page) .home-hero h1 {
    font-size: clamp(17px, 5vw, 19.5px) !important;
    letter-spacing: -0.028em !important;
  }

  html body :is(
    .section-header,
    .knowledge-hub-heading,
    .buyer-knowledge__intro,
    .company-panel,
    .company-copy,
    .contact-copy
  ) > h2,
  html body .section-header h2 {
    font-size: clamp(17.5px, 4.8vw, 20px) !important;
    line-height: 1.18 !important;
  }

  /* Every semantic H2 shares this compact mobile level. The ID in :is()
     deliberately outranks legacy ID-specific type rules loaded earlier. */
  html body :is(
    #products-title,
    #waterjet-guides-title,
    #airjet-guides-title,
    #capabilities-title,
    #company-title,
    #contact-title,
    #airjet-applications-title,
    #airjet-components-title,
    #airjet-faq-title,
    #airjet-guide-title,
    #airjet-quote-title,
    #airjet-specifications-title,
    #airjet-views-title,
    #buyer-data-title,
    #comparison-cta-title,
    #comparison-table-title,
    #quick-answer-title,
    #waterjet-applications-title,
    #waterjet-components-title,
    #waterjet-faq-title,
    #waterjet-guide-title,
    #waterjet-quote-title,
    #waterjet-shedding-title,
    #waterjet-specifications-title,
    #waterjet-views-title
  ) {
    font-size: clamp(17.5px, 4.8vw, 20px) !important;
    line-height: 1.18 !important;
  }

  html body #products.section-products .section-header #products-title {
    font-size: clamp(17.5px, 4.8vw, 20px) !important;
    line-height: 1.18 !important;
  }

  html body :is(
    .product-copy,
    .detail-header,
    .capability-title,
    .buyer-guide-card
  ) > h3 {
    font-size: clamp(16px, 4.25vw, 18px) !important;
    line-height: 1.22 !important;
  }

  /* Russian needs a slightly tighter scale to keep the two complete loom
     names intact while preserving H1 > H2 > H3 at 320px. */
  html body.page-ru :is(
    .section-header,
    .knowledge-hub-heading,
    .buyer-knowledge__intro,
    .company-panel,
    .company-copy,
    .contact-copy
  ) > h2,
  html body.page-ru .section-header h2,
  html body.page-ru :is(
    #products-title,
    #waterjet-guides-title,
    #airjet-guides-title,
    #capabilities-title,
    #company-title,
    #contact-title
  ) {
    font-size: clamp(16.5px, 4.55vw, 18.5px) !important;
  }

  html body.page-ru #products.section-products .section-header #products-title {
    font-size: clamp(16.5px, 4.55vw, 18.5px) !important;
  }

  html body #products.section-products .product-grid
  .product-card .product-copy h3,
  html body #capabilities.section-capabilities .capability-title h3,
  html body .integrated-guide-hubs .buyer-guide-card h3 {
    font-size: clamp(16px, 4.25vw, 18px) !important;
    line-height: 1.22 !important;
  }

  html body.page-ru :is(
    .product-copy,
    .detail-header,
    .capability-title,
    .buyer-guide-card
  ) > h3 {
    font-size: clamp(15.5px, 4.15vw, 17px) !important;
  }

  html body.page-ru #products.section-products .product-grid
  .product-card .product-copy h3,
  html body.page-ru #capabilities.section-capabilities .capability-title h3,
  html body.page-ru .integrated-guide-hubs .buyer-guide-card h3 {
    font-size: clamp(15.5px, 4.15vw, 17px) !important;
  }
}

/* V110: keep each desktop loom name on its own line without splitting terms. */
@media (min-width: 1121px) {
  html body:not(.product-page) .home-hero h1 .home-hero-title-line {
    display: block;
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body .header-whatsapp[href] {
    transition: none !important;
  }
}

/* V109: keep the homepage language row visible until the hero leaves view. */
@media (max-width: 1120px) {
  html body:not(.product-page) .site-header[data-header] > .home-language-row-pinned {
    position: absolute !important;
    top: calc(var(--header-height) + 4px) !important;
    right: auto !important;
    left: 4px !important;
    z-index: 2 !important;
    box-sizing: border-box !important;
    width: calc(100vw - 8px) !important;
    height: 22px !important;
    max-height: 22px !important;
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
    grid-template-rows: 22px !important;
    gap: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    direction: ltr !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transform: translateY(0) !important;
    transition:
      opacity 160ms ease,
      visibility 160ms ease,
      transform 180ms ease !important;
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option {
    position: relative !important;
    z-index: 0 !important;
    isolation: isolate;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 22px !important;
    min-height: 22px !important;
    padding: 0 2px !important;
    color: rgba(255, 255, 255, 0.97) !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: transparent !important;
    box-shadow: none !important;
    font-size: clamp(8.2px, 2.2vw, 10px) !important;
    font-weight: 780 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.42) !important;
    white-space: nowrap !important;
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option::before {
    content: "" !important;
    position: absolute !important;
    inset: 2px 0 !important;
    z-index: -1 !important;
    display: block !important;
    border: 1px solid rgba(216, 231, 251, 0.72) !important;
    border-radius: 6px !important;
    background: rgba(8, 31, 72, 0.62) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.12),
      0 2px 7px rgba(1, 12, 32, 0.16) !important;
    -webkit-backdrop-filter: blur(8px) saturate(112%);
    backdrop-filter: blur(8px) saturate(112%);
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option.is-active::before {
    border-color: rgba(255, 198, 208, 0.8) !important;
    background: rgba(174, 8, 34, 0.88) !important;
    box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.2),
      0 3px 9px rgba(117, 0, 24, 0.24) !important;
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option[lang="ar"] {
    direction: rtl !important;
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option:is([lang="ru"], [lang="id"]) {
    font-size: clamp(8px, 2.05vw, 9.4px) !important;
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned.is-home-hero-language-hidden {
    opacity: 0 !important;
    visibility: hidden !important;
    transform: translateY(-6px) !important;
    pointer-events: none !important;
  }

  html body .site-header[data-header] .header-inner > .site-nav {
    z-index: 5 !important;
  }
}

@media (min-width: 1121px) {
  html body .site-header[data-header] > .home-language-row-pinned {
    display: none !important;
  }
}

@media (max-width: 390px) {
  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option {
    font-size: 9px !important;
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option:is([lang="ru"], [lang="id"]) {
    font-size: 8.7px !important;
    letter-spacing: -0.01em !important;
  }
}

@media (max-width: 340px) {
  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option {
    font-size: 8.8px !important;
    letter-spacing: -0.015em !important;
  }

  html body:not(.product-page) .site-header[data-header]
  > .home-language-row-pinned .site-language-option:is([lang="ru"], [lang="id"]) {
    font-size: 8.6px !important;
  }
}

/* V109: one themed mobile navigation surface with recessed separators. */
html body .site-header[data-header] {
  --mobile-menu-accent-rgb: 103, 116, 132;
  --mobile-menu-surface: rgba(238, 241, 245, 0.92);
}

html body .site-header[data-header][data-product-theme="waterjet"] {
  --mobile-menu-accent-rgb: 103, 116, 132;
  --mobile-menu-surface: rgba(238, 241, 245, 0.92);
}

html body .site-header[data-header][data-product-theme="airjet"] {
  --mobile-menu-accent-rgb: 103, 116, 132;
  --mobile-menu-surface: rgba(238, 241, 245, 0.92);
}

@media (max-width: 1120px) {
  html body .site-header[data-header] .header-inner > .site-nav {
    right: 10px !important;
    left: auto !important;
    width: calc((100vw - 10px) / 3) !important;
    min-width: 0 !important;
    max-width: none !important;
    gap: 0 !important;
    padding: 5px 7px !important;
    border: 1px solid rgba(var(--mobile-menu-accent-rgb), 0.28) !important;
    border-radius: 14px !important;
    background: var(--mobile-menu-surface) !important;
    box-shadow:
      inset 0 2px 5px rgba(var(--mobile-menu-accent-rgb), 0.1),
      inset 0 1px 0 rgba(255, 255, 255, 0.44),
      0 10px 24px rgba(7, 31, 70, 0.14) !important;
    transition:
      background-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
      border-color 280ms cubic-bezier(0.22, 1, 0.36, 1),
      box-shadow 280ms cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  html body.page-ar .site-header[data-header] .header-inner > .site-nav {
    right: 10px !important;
    left: auto !important;
    width: calc((100vw - 10px) / 3) !important;
    min-width: 0 !important;
    max-width: none !important;
    gap: 0 !important;
    padding: 5px 7px !important;
  }

  html body.page-tr .site-header[data-header] .header-inner > .site-nav {
    width: clamp(156px, 43vw, 180px) !important;
  }

  html body.page-ru .site-header[data-header] .header-inner > .site-nav {
    width: clamp(144px, 41vw, 170px) !important;
  }

  html body.page-id .site-header[data-header] .header-inner > .site-nav {
    width: clamp(138px, 38vw, 160px) !important;
  }

  html body .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp) {
    position: relative !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  html body .site-header[data-header] .header-inner
  > .site-nav > :is(.nav-product-link--waterjet, .nav-product-link--airjet) {
    border-inline-start: 0 !important;
    background: transparent !important;
  }

  html body .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp)
  + a:not(.nav-whatsapp)::before {
    content: "" !important;
    position: absolute !important;
    top: -1px !important;
    right: 8px !important;
    left: 8px !important;
    height: 2px !important;
    display: block !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(var(--mobile-menu-accent-rgb), 0.22) !important;
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.5) !important;
    pointer-events: none !important;
  }

  html body .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp):is(:hover, :focus-visible) {
    background: rgba(var(--mobile-menu-accent-rgb), 0.055) !important;
  }

  html body .section-products .mobile-product-tabs-placeholder {
    display: block !important;
    width: 100% !important;
    height: 0;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    pointer-events: none !important;
  }

  html body.is-mobile-product-tabs-docked .section-products .mobile-product-tabs-placeholder {
    height: var(--mobile-product-tabs-space, 40px) !important;
  }

  html body.is-mobile-product-tabs-docked .section-products .product-tabs {
    position: fixed !important;
    top: var(--mobile-product-tabs-top, calc(var(--header-height) + 4px)) !important;
    right: auto !important;
    left: var(--mobile-product-tabs-left, 18px) !important;
    z-index: 999 !important;
    width: var(--mobile-product-tabs-width, calc(100vw - 36px)) !important;
    margin: 0 !important;
  }

  html body.is-mobile-product-tabs-docked.is-mobile-nav-open
  .site-header[data-header] .header-inner > .site-nav {
    position: fixed !important;
    top: calc(var(--mobile-product-tabs-bottom, 80px) + 8px) !important;
    right: 18px !important;
    left: auto !important;
    z-index: 85 !important;
    max-height: calc(100svh - var(--mobile-product-tabs-bottom, 80px) - 16px) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body:not(.product-page) .site-header[data-header] > .home-language-row-pinned,
  html body .site-header[data-header] .header-inner > .site-nav {
    transition: none !important;
  }
}

/*
 * V115: product navigation is a stable route control.
 * Header labels never resize or shift. V121 keeps them neutral on first load
 * and uses product color only after a visitor explicitly chooses a machine.
 */
html body .site-header[data-header] .site-nav > .nav-product-link {
  --nav-product-rgb: 31, 104, 184;
  --nav-product-ink: #15324f;
  isolation: isolate;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--nav-product-ink) !important;
  transform: none !important;
  transform-origin: center;
  transition: none !important;
}

html body .site-header[data-header] .site-nav > .nav-product-link--waterjet {
  --nav-product-rgb: 179, 38, 58;
  --nav-product-selected-ink: #98283a;
}

html body .site-header[data-header] .site-nav > .nav-product-link--airjet {
  --nav-product-rgb: 31, 104, 184;
  --nav-product-selected-ink: #1f68b8;
}

html body .site-header[data-header] .site-nav > .nav-product-link.is-user-selected-product {
  --nav-product-ink: var(--nav-product-selected-ink);
}

html body .site-header[data-header] .site-nav > .nav-product-link::after {
  display: none !important;
}

html body .site-header[data-header] .site-nav
> .nav-product-link:is(.is-current-product, [aria-current="true"], [aria-current="page"]) {
  color: var(--nav-product-ink) !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

@media (hover: hover) and (pointer: fine) {
  html body .site-header[data-header] .site-nav
  > .nav-product-link:not(.is-current-product):not([aria-current]):hover {
    color: var(--nav-product-ink) !important;
    background: transparent !important;
  }
}

html body .site-header[data-header] .site-nav > .nav-product-link:focus-visible {
  outline: 2px solid rgba(var(--nav-product-rgb), 0.62) !important;
  outline-offset: 2px !important;
}

@media (min-width: 1121px) {
  html body .site-header[data-header] .header-inner > .site-nav > .nav-product-link {
    padding-inline: 6px !important;
  }

  html body .site-header[data-header] .site-nav
  > .nav-product-link:is(.is-current-product, [aria-current="true"], [aria-current="page"]) {
    transform: none !important;
  }
}

@media (max-width: 1120px) {
  html body .site-header[data-header] .header-inner > .site-nav
  > .nav-product-link:is(.is-current-product, [aria-current="true"], [aria-current="page"]) {
    color: var(--nav-product-ink) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
  }

  html body:not(.product-page) .section-products .product-tabs
  .product-tab[data-product-tab] > span,
  html body:not(.product-page) .section-products .product-tabs
  .product-tab[data-product-tab] > strong {
    font-size: clamp(10px, 2.7vw, 11px) !important;
    line-height: 1.08 !important;
    letter-spacing: 0.01em !important;
    white-space: nowrap !important;
  }

  html body.page-ru:not(.product-page) .section-products .product-tabs
  .product-tab[data-product-tab] > :is(span, strong) {
    font-size: clamp(8.8px, 2.5vw, 10.2px) !important;
    letter-spacing: -0.03em !important;
  }

  html body.page-id:not(.product-page) .section-products .product-tabs
  .product-tab[data-product-tab] > :is(span, strong) {
    font-size: clamp(9.5px, 2.6vw, 10.3px) !important;
    letter-spacing: -0.02em !important;
  }
}

html body .section-products .mobile-product-tabs-placeholder {
  display: block !important;
  width: min(1120px, 100%) !important;
  height: 0;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  pointer-events: none !important;
}

html body.is-mobile-product-tabs-docked .section-products .mobile-product-tabs-placeholder {
  height: var(--mobile-product-tabs-space, 52px) !important;
}

html body.is-mobile-product-tabs-docked .section-products .product-tabs {
  position: fixed !important;
  top: var(--mobile-product-tabs-top, calc(var(--header-height) + 6px)) !important;
  right: auto !important;
  left: var(--mobile-product-tabs-left, 18px) !important;
  z-index: 44 !important;
  box-sizing: border-box !important;
  width: var(--mobile-product-tabs-width, calc(100vw - 36px)) !important;
  margin: 0 !important;
  direction: ltr !important;
  border-color: rgba(122, 142, 166, 0.22) !important;
  background: rgba(241, 245, 249, 0.92) !important;
  box-shadow:
    0 9px 22px rgba(7, 31, 70, 0.11),
    inset 0 1px 0 rgba(255, 255, 255, 0.78) !important;
  backdrop-filter: blur(16px) saturate(118%) !important;
  -webkit-backdrop-filter: blur(16px) saturate(118%) !important;
}

html[lang="ar"] body .section-products .product-tab > :is(span, strong) {
  direction: rtl;
  unicode-bidi: plaintext;
}

@media (prefers-reduced-motion: reduce) {
  html body .site-header[data-header] .site-nav > .nav-product-link,
  html body .site-header[data-header] .site-nav > .nav-product-link::after {
    transition: none !important;
  }
}

/* V114: readable mobile navigation and a stable cross-locale type hierarchy.
   Locale-specific widths absorb long traditional industry terms; labels stay
   complete and single-line even at 320px. */
@media (max-width: 1120px) {
  html body .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp) {
    padding-inline: 4px !important;
    font-size: clamp(10.5px, 2.75vw, 11.5px) !important;
    line-height: 1.12 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    overflow-wrap: normal !important;
    text-overflow: clip !important;
  }

  html body.page-vi .site-header[data-header] .header-inner > .site-nav {
    width: clamp(116px, 36vw, 150px) !important;
  }

  html[lang="vi"] body.product-page .site-header[data-header] .header-inner > .site-nav {
    width: clamp(116px, 36vw, 150px) !important;
  }

  html body.page-tr .site-header[data-header] .header-inner > .site-nav {
    width: clamp(166px, 48vw, 188px) !important;
  }

  html[lang="tr"] body.product-page .site-header[data-header] .header-inner > .site-nav {
    width: clamp(166px, 48vw, 188px) !important;
  }

  html body.page-ru .site-header[data-header] .header-inner > .site-nav {
    width: clamp(154px, 44vw, 176px) !important;
  }

  html[lang="ru"] body.product-page .site-header[data-header] .header-inner > .site-nav {
    width: clamp(196px, 62vw, 220px) !important;
  }

  html[lang="id"] body.product-page .site-header[data-header] .header-inner > .site-nav {
    width: clamp(138px, 38vw, 160px) !important;
  }

  html body.page-tr .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp),
  html body.page-ru .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp),
  html body.page-id .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp) {
    font-size: clamp(9.5px, 2.45vw, 10.25px) !important;
  }

  html[lang="tr"] body.product-page .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp),
  html[lang="ru"] body.product-page .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp),
  html[lang="id"] body.product-page .site-header[data-header] .header-inner
  > .site-nav > a:not(.nav-whatsapp) {
    font-size: clamp(9.5px, 2.45vw, 10.25px) !important;
    white-space: nowrap !important;
    overflow-wrap: normal !important;
    text-wrap: nowrap !important;
  }

  html body:not(.product-page) :is(
    .home-hero > .site-language-row--mobile,
    .site-header[data-header] > .home-language-row-pinned
  ) .site-language-option,
  html body.product-page .site-language-row--mobile .site-language-option {
    font-size: clamp(9.4px, 2.5vw, 10px) !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  }

  html body:not(.product-page) :is(
    .home-hero > .site-language-row--mobile,
    .site-header[data-header] > .home-language-row-pinned
  ) .site-language-option:is([lang="ru"], [lang="id"]),
  html body.product-page .site-language-row--mobile
  .site-language-option:is([lang="ru"], [lang="id"]) {
    font-size: clamp(9.15px, 2.4vw, 9.8px) !important;
    letter-spacing: -0.01em !important;
  }
}

@media (max-width: 340px) {
  html body:not(.product-page) :is(
    .home-hero > .site-language-row--mobile,
    .site-header[data-header] > .home-language-row-pinned
  ) .site-language-option,
  html body.product-page .site-language-row--mobile .site-language-option {
    font-size: 9.3px !important;
  }

  html body:not(.product-page) :is(
    .home-hero > .site-language-row--mobile,
    .site-header[data-header] > .home-language-row-pinned
  ) .site-language-option:is([lang="ru"], [lang="id"]),
  html body.product-page .site-language-row--mobile
  .site-language-option:is([lang="ru"], [lang="id"]) {
    font-size: 9.1px !important;
  }
}

/* V121: both header controls start neutral; only the explicitly chosen
   product takes its identity color, without changing control geometry. */
html body .site-header[data-header] .header-inner
> .site-nav > .nav-product-link--waterjet {
  color: var(--nav-product-ink) !important;
  transform: none !important;
}

html body .site-header[data-header] .header-inner
> .site-nav > .nav-product-link--airjet {
  color: var(--nav-product-ink) !important;
  transform: none !important;
}

/* V120: uniform text-only header interaction across products and locales.
   Use each link's current text color; never show a filled selection box. */
html[lang] body .site-header[data-header] .header-inner
> .site-nav[data-nav] > a:not(.nav-whatsapp),
html[lang] body .site-header[data-header] .header-inner
> .site-nav[data-nav] > a:not(.nav-whatsapp):is(:hover, :focus, :active, .is-active, .active) {
  color: var(--nav-product-ink, #15324f) !important;
  background: transparent !important;
  border-color: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  -webkit-tap-highlight-color: transparent;
}

html[lang] body .site-header[data-header] .header-inner
> .site-nav[data-nav] > a:not(.nav-whatsapp):focus:not(:focus-visible) {
  outline: none !important;
}

html[lang] body .site-header[data-header] .header-inner
> .site-nav[data-nav] > a:not(.nav-whatsapp):focus-visible {
  outline: 2px solid currentColor !important;
  outline-offset: 3px !important;
}

/* V118: align the compact menu with the two physical rightmost language
   controls while preserving readable single-line labels in long locales. */
html body .site-header[data-header],
html body .site-header[data-header][data-product-theme="waterjet"],
html body .site-header[data-header][data-product-theme="airjet"] {
  --mobile-menu-surface: rgba(238, 241, 245, 0.78);
}

@media (max-width: 1120px) {
  html[lang] body .site-header[data-header] .header-inner > .site-nav[data-nav] {
    right: var(--mobile-menu-right-absolute, 4px) !important;
    left: auto !important;
    width: max(
      var(--mobile-menu-pair-width, calc((100vw - 10px) / 3)),
      var(--mobile-menu-locale-min, 0px)
    ) !important;
    -webkit-backdrop-filter: blur(14px) saturate(112%) !important;
    backdrop-filter: blur(14px) saturate(112%) !important;
  }

  html[lang="vi"] body .site-header[data-header] {
    --mobile-menu-locale-min: clamp(116px, 36vw, 150px);
  }

  html[lang="tr"] body .site-header[data-header] {
    --mobile-menu-locale-min: clamp(166px, 48vw, 188px);
  }

  html[lang="ru"] body .site-header[data-header] {
    --mobile-menu-locale-min: clamp(154px, 44vw, 176px);
  }

  html[lang="ru"] body.product-page .site-header[data-header] {
    --mobile-menu-locale-min: clamp(196px, 62vw, 220px);
  }

  html[lang="id"] body .site-header[data-header] {
    --mobile-menu-locale-min: clamp(138px, 38vw, 160px);
  }

  html[lang] body.is-mobile-product-tabs-docked.is-mobile-nav-open
  .site-header[data-header] .header-inner > .site-nav[data-nav] {
    right: var(--mobile-menu-right-fixed, 4px) !important;
    left: auto !important;
  }
}
