/**
 * Equipmentor responsive layer — fluid tokens, layout modes, shared components.
 * Extends style.css; does not duplicate page-specific absolute coordinates.
 */

:root {
  --eq-stage-w: 1920;
  --eq-fluid-bp: 1080px;
  --eq-mobile-bp: 768px;
  --eq-touch-min: 2.75rem;
  --eq-page-gutter: clamp(1rem, 4vw, 3.75rem);
  --eq-section-gap: clamp(2.5rem, 6vw, 5rem);
  --eq-type-display: clamp(2rem, 4.8vw, 4rem);
  --eq-type-title: clamp(1.5rem, 3.2vw, 2.25rem);
  --eq-type-body: clamp(0.9375rem, 1.6vw, 1.125rem);
  --eq-type-small: clamp(0.8125rem, 1.2vw, 0.9375rem);
  --eq-line-tight: 1.15;
  --eq-line-body: 1.45;
  --eq-radius-lg: clamp(1rem, 2vw, 1.875rem);
  --eq-nav-height: clamp(3.5rem, 8vw, 4.75rem);
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
}

.hero__bg-img,
.product-banner__bg,
.site-footer__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ─── Desktop scale mode: hero must not expand beyond the scaled stage height ─── */
/* Keep full-viewport cover during preloader so sibling sections stay hidden */
body:not(.is-fluid-layout):not(.is-preloading) .hero {
  min-height: 0;
  height: auto;
}

/*
 * Catalog/product banners must stay in 1920-stage pixels.
 * min-height: 30vw shrinks with the viewport WHILE filters/grid stay at Figma tops
 * (732 / 831 / 911), which opens a large white gap at 1280–1600.
 */
body:not(.is-fluid-layout) .catalog-page .product-banner,
body:not(.is-fluid-layout) .product-page .product-banner {
  min-height: 0;
  height: 480px;
  padding: 0;
}

body:not(.is-fluid-layout) .catalog-page .product-banner__title,
body:not(.is-fluid-layout) .product-page .product-banner__title {
  font-size: 4rem;
}

/* Pull catalog chrome up under the 480px banner (Figma tops assumed a taller hero). */
body:not(.is-fluid-layout) .catalog-page .catalog-filters {
  top: 560px;
}

body:not(.is-fluid-layout) .catalog-page .catalog-toolbar {
  top: 659px;
}

body:not(.is-fluid-layout) .catalog-page .catalog-grid {
  top: 739px;
}

body:not(.is-fluid-layout) .partners-page .industries-sidebar {
  top: 560px;
}

body:not(.is-fluid-layout) .partners-page .industries-grid {
  top: 600px;
}

body:not(.is-fluid-layout) .industries-page:not(.partners-page) .industries-sidebar {
  top: 560px;
}

body:not(.is-fluid-layout) .industries-page:not(.partners-page) .industries-grid {
  top: 600px;
}

/* ─── Desktop density refinements (scale handles most; these polish mid-range) ─── */

@media (max-width: 1680px) {
  .site-nav__links {
    gap: clamp(0.875rem, 1.5vw, 1.75rem);
  }

  .site-nav__actions {
    gap: clamp(1.25rem, 2vw, 2.5rem);
  }
}

@media (max-width: 1440px) {
  .site-nav__links {
    gap: clamp(0.625rem, 1.15vw, 1.25rem);
    font-size: clamp(0.875rem, 1.05vw, 1.0625rem);
  }

  .site-nav__actions {
    gap: clamp(1rem, 1.6vw, 1.75rem);
  }

  body.page-home .contact__title {
    font-size: clamp(2.5rem, 4vw, 4rem);
  }
}

@media (max-width: 1366px) {
  .site-nav__links {
    gap: clamp(0.5rem, 0.95vw, 0.875rem);
    font-size: clamp(0.8125rem, 0.98vw, 1rem);
  }

  .site-nav__actions {
    gap: 0.875rem;
  }

  .site-nav__cta {
    width: auto;
    min-width: 7.5rem;
    padding-inline: 0.875rem;
    font-size: 0.9375rem;
  }
}

@media (max-width: 1280px) {
  .site-nav__pill {
    padding-inline: clamp(0.75rem, 1.6vw, 1.625rem);
  }

  .site-nav__inner {
    column-gap: 12px;
  }

  .site-nav__links {
    gap: 0.5rem;
    font-size: 0.8125rem;
  }

  .site-nav__actions {
    gap: 0.75rem;
  }
}

/* ─── Fluid layout: tablet + mobile ─── */

html.is-fluid-layout {
  scroll-behavior: smooth;
}

html.is-fluid-layout body {
  overflow-x: hidden;
}

html.is-fluid-layout .hero__viewport,
html.is-fluid-layout .discovery__viewport,
html.is-fluid-layout .equipment__viewport,
html.is-fluid-layout .services__viewport,
html.is-fluid-layout .applications__viewport,
html.is-fluid-layout .cta__viewport,
html.is-fluid-layout .section-six__viewport,
html.is-fluid-layout .product-page__viewport,
html.is-fluid-layout .catalog-page__viewport {
  display: block;
  width: 100%;
  height: auto !important;
  overflow: visible;
}

html.is-fluid-layout .hero__stage,
html.is-fluid-layout .discovery__stage,
html.is-fluid-layout .equipment__stage,
html.is-fluid-layout .services__stage,
html.is-fluid-layout .applications__stage,
html.is-fluid-layout .cta__stage,
html.is-fluid-layout .section-six__stage,
html.is-fluid-layout .product-page__stage,
html.is-fluid-layout .catalog-page__stage {
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  transform: none !important;
  margin: 0 auto;
}

html.is-fluid-layout .catalog-page__stage > *,
html.is-fluid-layout .product-page__stage > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  margin-inline: auto;
}

html.is-fluid-layout .catalog-page__stage .product-banner,
html.is-fluid-layout .product-page__stage .product-banner {
  min-height: clamp(14rem, 42vw, 22rem);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  display: grid;
  place-items: center;
}

html.is-fluid-layout .product-banner__bg {
  position: absolute;
  inset: 0;
}

html.is-fluid-layout .product-banner__title {
  position: relative;
  width: min(100%, 52rem);
  margin: 0 auto;
  text-align: center;
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
  white-space: normal !important;
}

html.is-fluid-layout .product-banner__bar {
  display: none;
}

/* ─── Global chrome (header + FAB) ─── */

html.is-fluid-layout .site-chrome {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  margin: 0;
  margin-left: 0;
  transform: none !important;
  pointer-events: auto;
  z-index: 200;
}

html.is-fluid-layout .site-nav {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
  padding: 0.75rem var(--eq-page-gutter);
  visibility: visible;
  opacity: 1;
}

html.is-fluid-layout .site-nav__pill {
  border-radius: 999px;
  padding: 0.625rem 0.875rem;
}

html.is-fluid-layout .site-nav__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  column-gap: 0;
  min-height: var(--eq-nav-height);
  gap: 0.75rem;
}

html.is-fluid-layout .site-nav__logo,
html.is-fluid-layout .site-nav__actions {
  grid-column: auto;
}

html.is-fluid-layout .site-nav__actions {
  margin-left: auto;
}

html.is-fluid-layout .site-nav__links {
  position: fixed;
  inset: calc(var(--eq-nav-height) + 1rem) var(--eq-page-gutter) auto;
  left: var(--eq-page-gutter);
  right: var(--eq-page-gutter);
  top: calc(var(--eq-nav-height) + 0.5rem);
  transform: none;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  max-width: none;
  width: auto;
  min-width: 0;
  grid-column: auto;
  padding: 0.75rem;
  border-radius: var(--eq-radius-lg);
  background: rgba(10, 10, 10, 0.92);
  color: #fff;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
  transform: translateY(-8px);
  z-index: 190;
}

html.is-fluid-layout body.is-nav-open .site-nav__links {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: none;
}

html.is-fluid-layout .site-nav__links a {
  display: block;
  padding: 0.875rem 1rem;
  font-size: 1rem;
  line-height: 1.3;
  border-radius: 0.75rem;
  min-height: var(--eq-touch-min);
}

html.is-fluid-layout .site-nav__links a:hover,
html.is-fluid-layout .site-nav__links a:focus-visible {
  background: rgba(255, 255, 255, 0.08);
}

/* Fluid / tablet+mobile panel: show nested WP menu items inline */
html.is-fluid-layout .site-nav__item,
html.is-fluid-layout .site-nav__item--has-children {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: 100%;
  position: relative;
  padding-bottom: 0;
  margin-bottom: 0;
}

html.is-fluid-layout .site-nav__item--has-children > .site-nav__submenu::before {
  display: none;
}

html.is-fluid-layout .site-nav__item--has-children > a::after {
  margin-left: auto;
  margin-top: 0;
  transform: translateY(0.05em) rotate(45deg);
}

html.is-fluid-layout .site-nav__submenu,
html.is-fluid-layout .site-nav__submenu--nested,
html.is-fluid-layout .site-nav__item--has-children > .site-nav__submenu {
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  display: flex !important;
  flex-direction: column;
  gap: 0.15rem;
  width: 100%;
  min-width: 0;
  max-width: none;
  margin: 0.15rem 0 0.35rem;
  padding: 0 0 0 0.75rem;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none !important;
  color: inherit;
}

html.is-fluid-layout .site-nav__submenu a,
html.is-fluid-layout .site-nav__submenu .site-nav__sublink {
  color: rgba(255, 255, 255, 0.92);
  font-size: 0.9375rem;
  padding: 0.7rem 0.9rem;
  white-space: normal;
}

html.is-fluid-layout .site-nav__submenu--nested {
  padding-left: 0.85rem;
  margin-left: 0.35rem;
  border-left: 1px solid rgba(255, 255, 255, 0.16);
}

html.is-fluid-layout .site-nav__toggle {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.3125rem;
  width: var(--eq-touch-min);
  height: var(--eq-touch-min);
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(6, 46, 98, 0.08);
  flex-shrink: 0;
  transition: background-color 0.28s ease;
}

html.is-fluid-layout.is-header-scrolled .site-nav__toggle,
html.is-fluid-layout body.is-header-scrolled .site-nav__toggle {
  background: rgba(255, 255, 255, 0.12);
}

html.is-fluid-layout .site-nav__toggle-bar {
  display: block;
  width: 1.125rem;
  height: 2px;
  margin: 0 auto;
  background: var(--color-navy, #062e62);
  border-radius: 1px;
  transition: transform 0.25s ease, opacity 0.25s ease, background-color 0.28s ease;
}

html.is-fluid-layout.is-header-scrolled .site-nav__toggle-bar,
html.is-fluid-layout body.is-header-scrolled .site-nav__toggle-bar {
  background: #fff;
}

html.is-fluid-layout body.is-nav-open .site-nav__toggle-bar:nth-child(1) {
  transform: translateY(7px) rotate(45deg);
}

html.is-fluid-layout body.is-nav-open .site-nav__toggle-bar:nth-child(2) {
  opacity: 0;
  transform: scaleX(0);
}

html.is-fluid-layout body.is-nav-open .site-nav__toggle-bar:nth-child(3) {
  transform: translateY(-7px) rotate(-45deg);
}

.site-nav__toggle {
  display: none;
}

html.is-fluid-layout .site-nav__cta,
html.is-fluid-layout .site-nav__cart {
  min-width: var(--eq-touch-min);
  min-height: var(--eq-touch-min);
}

html.is-fluid-layout .site-fab {
  right: max(1rem, env(safe-area-inset-right));
  bottom: max(1rem, env(safe-area-inset-bottom));
  transform: none !important;
  width: auto;
  min-height: 0;
  gap: 0.75rem;
}

html.is-fluid-layout .site-fab__btn {
  width: clamp(2.75rem, 10vw, 3.25rem);
  height: clamp(2.75rem, 10vw, 3.25rem);
}

/* ─── Shared sections: tabs, grids, FAQ, contact, footer ─── */

html.is-fluid-layout .catalog-tabs {
  display: none !important;
}

html.is-fluid-layout .catalog-cat-tree__link,
html.is-fluid-layout .catalog-cat-tree__toggle {
  min-height: var(--eq-touch-min);
}

html.is-fluid-layout .catalog-filters,
html.is-fluid-layout .careers-filters,
html.is-fluid-layout .catalog-grid,
html.is-fluid-layout .catalog-toolbar {
  position: relative !important;
  width: 100% !important;
  padding-inline: var(--eq-page-gutter);
}

html.is-fluid-layout .catalog-page .eq-pagination {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  margin-top: 1.75rem;
  padding-inline: var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .industries-page .eq-pagination {
  width: min(100%, 1660.692px) !important;
  max-width: 1660.692px;
  margin-inline: auto;
}

html.is-fluid-layout .careers-page .eq-pagination {
  margin-top: 1.5rem;
}

html.is-fluid-layout .careers-layout {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  display: flex;
  flex-direction: column;
  gap: var(--eq-section-gap);
  width: 100% !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
}

html.is-fluid-layout .careers-intro {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 1660.692px;
  margin: 0 auto;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
  box-sizing: border-box;
}

html.is-fluid-layout .careers-intro__title {
  font-size: clamp(1.5rem, 3.2vw, 2.25rem);
}

html.is-fluid-layout .careers-intro__grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1rem, 2vw, 1.75rem);
}

html.is-fluid-layout .careers-layout__main {
  width: 100%;
}

html.is-fluid-layout .careers-filters {
  padding-inline: 0;
}

html.is-fluid-layout .careers-filters .catalog-filters__list {
  padding-top: 0;
}

html.is-fluid-layout .careers-tabs__list {
  gap: 0.625rem;
}

html.is-fluid-layout .careers-tabs__tab {
  flex: 1 1 calc(50% - 0.5rem);
  min-width: 8.5rem;
  min-height: var(--eq-touch-min);
  justify-content: center;
}

html.is-fluid-layout .careers-jobs-list {
  gap: var(--eq-section-gap);
}

html.is-fluid-layout .careers-jobs__grid,
html.is-fluid-layout .catalog-grid,
html.is-fluid-layout .site-footer__columns,
html.is-fluid-layout .contact__inner,
html.is-fluid-layout .about-stats__grid,
html.is-fluid-layout .services-page__grid {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
}

html.is-fluid-layout .services-listing-grid {
  display: grid !important;
  gap: var(--eq-section-gap);
}

html.is-fluid-layout .services-listing-page .catalog-page__stage {
  height: auto !important;
}

html.is-fluid-layout .services-listing-intro,
html.is-fluid-layout .services-listing-grid {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: min(100%, 1660.692px) !important;
  max-width: 1660.692px;
  margin-inline: auto;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
}

html.is-fluid-layout .services-listing-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3.125rem);
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
}

html.is-fluid-layout .services-listing-intro__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .services-listing-intro__text {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .services-listing-page .industry-card {
  width: 100%;
  height: auto;
}

html.is-fluid-layout .services-listing-page .industry-card__link {
  min-height: 0;
  padding: 1.125rem;
}

html.is-fluid-layout .services-listing-page .industry-card__visual {
  height: clamp(11rem, 38vw, 15.5rem);
}

html.is-fluid-layout .services-listing-page .industry-card__body {
  padding: 1rem 0.25rem 0;
}

html.is-fluid-layout .services-listing-page .industry-card__cta-arrow {
  right: 0;
  left: auto;
  bottom: 0;
}

html.is-fluid-layout .service-detail-offerings {
  position: relative !important;
  top: auto !important;
  width: min(100%, 1660.692px) !important;
  max-width: 1660.692px;
  margin-inline: auto;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
}

html.is-fluid-layout .service-detail-offerings__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .service-sub-services__grid,
html.is-fluid-layout .service-packages__grid {
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
}

@media (min-width: 768px) and (max-width: 1079.98px) {
  html.is-fluid-layout .service-sub-services__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .service-packages__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1080px) {
  html.is-fluid-layout .service-sub-services__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  html.is-fluid-layout .service-packages__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

html.is-fluid-layout .careers-job__row {
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  padding: 1.5rem 0;
}

html.is-fluid-layout .careers-job__title {
  max-width: none;
  font-size: var(--eq-type-title);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .careers-job__apply {
  min-height: var(--eq-touch-min);
  padding: 0.5rem 0;
  font-size: 0.9375rem;
}

html.is-fluid-layout .faq {
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .faq__intro,
html.is-fluid-layout .faq__list {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100%;
}

html.is-fluid-layout .faq__item-trigger {
  display: flex;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: 0.75rem;
  overflow: hidden;
  max-width: 100%;
  min-height: var(--eq-touch-min);
  padding-block: 0.75rem;
}

html.is-fluid-layout .faq__item-head {
  display: flex;
  flex: 1 1 auto;
  flex-shrink: 1;
  flex-wrap: nowrap;
  align-items: flex-start;
  gap: clamp(0.65rem, 2.5vw, 1.25rem);
  width: auto !important;
  max-width: 100%;
  min-width: 0;
}

html.is-fluid-layout .faq__item-num {
  flex-shrink: 0;
  font-size: clamp(1.125rem, 4vw, 1.5rem);
  min-width: 1.75rem;
}

html.is-fluid-layout .faq__item-question {
  flex: 1 1 auto;
  min-width: 0;
  width: auto !important;
  max-width: 100%;
  font-size: clamp(1rem, 4.2vw, 1.5rem);
  line-height: 1.35;
  white-space: normal !important;
  overflow-wrap: anywhere;
}

html.is-fluid-layout .faq__item-rule {
  display: none;
  flex: 0 0 0;
  width: 0;
  margin: 0;
}

html.is-fluid-layout .faq__item-icon {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  flex: 0 0 2rem;
  width: 2rem !important;
  height: 2rem !important;
  margin-left: auto;
}

html.is-fluid-layout .faq__item-icon img {
  width: 100%;
  height: 100%;
}

html.is-fluid-layout .faq__item-answer {
  max-width: 100%;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .faq__item-body {
  padding: 1.25rem 0;
}

html.is-fluid-layout .faq__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .faq__subtitle {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .contact {
  padding: var(--eq-section-gap) 0;
}

html.is-fluid-layout .contact__shell {
  position: relative;
  left: auto;
  width: calc(100% - var(--eq-page-gutter) * 2);
  margin-inline: auto;
  height: auto;
  border-radius: var(--eq-radius-lg);
}

html.is-fluid-layout .contact__inner {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  height: auto;
  flex-direction: column;
  gap: 2rem;
  padding: clamp(1.5rem, 5vw, 3rem);
}

html.is-fluid-layout .contact__copy,
html.is-fluid-layout .contact__aside {
  width: 100%;
  max-width: none;
}

html.is-fluid-layout .contact__title {
  font-size: var(--eq-type-display);
}

html.is-fluid-layout .contact__desc {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .contact__submit,
html.is-fluid-layout input.contact__submit {
  width: 100%;
  max-width: 18rem;
  min-height: var(--eq-touch-min);
}

html.is-fluid-layout .site-footer {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 3rem;
  min-height: 0;
  overflow: hidden;
}

html.is-fluid-layout .catalog-page__stage .site-footer,
html.is-fluid-layout .catalog-page__stage .contact__shell {
  left: auto !important;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  top: auto !important;
}

html.is-fluid-layout .catalog-page__soft-bg {
  display: none !important;
}

/*
 * Product page: do NOT keep the 1900×570 artboard in fluid mode.
 * aspect-ratio + absolute columns collapses to ~100px on phones and clips
 * Navigation / Quick Links / Contact (titles look like “[ Navigation ]”).
 */
html.is-fluid-layout .product-page__stage .site-footer {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 3rem !important;
  overflow: visible !important;
  border-radius: 0;
}

html.is-fluid-layout .site-footer__bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0;
}

html.is-fluid-layout .site-footer__watermark {
  display: none !important;
}

html.is-fluid-layout .site-footer__mark,
html.is-fluid-layout .site-footer__brand {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: 8rem;
  height: auto !important;
  margin: 0 auto 0.5rem;
  display: block;
}

html.is-fluid-layout .site-footer__brand {
  max-width: 12rem;
  margin-top: 1.25rem;
}

html.is-fluid-layout .product-page__stage .site-footer__bg {
  position: absolute !important;
  inset: 0 !important;
  margin: 0;
  border-radius: 0;
}

html.is-fluid-layout .product-page__stage .site-footer__watermark {
  display: none !important;
}

html.is-fluid-layout .product-page__stage .site-footer__mark,
html.is-fluid-layout .product-page__stage .site-footer__brand {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: auto !important;
  max-width: 8rem;
  margin: 0 auto 0.5rem;
}

html.is-fluid-layout .product-page__stage .site-footer__brand {
  max-width: 12rem;
  margin-top: 1.25rem;
}

html.is-fluid-layout .product-page__stage .site-footer__columns {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  margin: 1.5rem 0 0 !important;
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  z-index: 2;
}

html.is-fluid-layout .product-page__stage .site-footer__col-title {
  white-space: normal;
  font-size: var(--eq-type-title);
  line-height: 1.3;
}

html.is-fluid-layout .product-page__stage .site-footer__links {
  gap: 0.875rem;
  margin-top: 0.75rem;
}

html.is-fluid-layout .product-page__stage .site-footer__links a {
  font-size: var(--eq-type-body);
  line-height: 1.4;
  min-height: var(--eq-touch-min);
  display: inline-flex;
  align-items: center;
}

html.is-fluid-layout .site-footer__columns {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 1.75rem;
  margin-top: 1.5rem;
}

html.is-fluid-layout .site-footer__col-title {
  font-size: var(--eq-type-title);
  line-height: 1.3;
  white-space: normal;
}

html.is-fluid-layout .site-footer__links {
  gap: 0.875rem;
  margin-top: 0.75rem;
}

html.is-fluid-layout .faq__item,
html.is-fluid-layout .faq__item-divider,
html.is-fluid-layout .faq__item-body,
html.is-fluid-layout .faq__item-trigger {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

html.is-fluid-layout .site-footer__links a {
  font-size: var(--eq-type-body);
  line-height: 1.4;
  min-height: var(--eq-touch-min);
  display: inline-flex;
  align-items: center;
}

html.is-fluid-layout .legal-document,
html.is-fluid-layout .privacy-page .privacy-policy,
html.is-fluid-layout .refund-returns-page .legal-document,
html.is-fluid-layout .supplier-page .supplier-registration,
html.is-fluid-layout .career-detail-page .career-detail,
html.is-fluid-layout .eq-404-page .eq-404 {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .eq-404-page .eq-404 {
  left: auto !important;
  margin: clamp(1.5rem, 4vw, 3rem) auto;
  max-width: 44rem;
  padding: clamp(2rem, 5vw, 3.5rem) clamp(1.25rem, 4vw, 2.5rem);
  border-radius: 20px;
  box-shadow: 0 12px 32px rgba(6, 46, 98, 0.06);
}

html.is-fluid-layout .eq-404-page .eq-404__code {
  font-size: clamp(4.5rem, 18vw, 7.5rem);
}

html.is-fluid-layout .eq-404-page .eq-404__title {
  font-size: var(--eq-type-display, clamp(1.75rem, 5vw, 2.5rem));
}

html.is-fluid-layout .eq-404-page .eq-404__copy {
  font-size: var(--eq-type-body, 1rem);
  margin-bottom: 1.75rem;
}

html.is-fluid-layout .eq-404-page .eq-404__actions {
  flex-direction: column;
  width: 100%;
  margin-bottom: 1.75rem;
}

html.is-fluid-layout .eq-404-page .eq-404__btn {
  width: 100%;
  min-height: var(--eq-touch-min, 48px);
}

html.is-fluid-layout .eq-404-page .eq-404__search {
  max-width: none;
  padding-top: 1.5rem;
}

html.is-fluid-layout .eq-404-page .eq-404__search .woocommerce-product-search {
  flex-direction: column;
}

html.is-fluid-layout .eq-404-page .eq-404__search .woocommerce-product-search .search-field,
html.is-fluid-layout .eq-404-page .eq-404__search .woocommerce-product-search button {
  width: 100%;
  min-height: var(--eq-touch-min, 48px);
}

html.is-fluid-layout .supplier-page .supplier-registration__form {
  width: 100%;
  max-width: 760px;
  padding: 28px 24px 24px;
}

html.is-fluid-layout .legal-document__heading,
html.is-fluid-layout .privacy-page .privacy-policy__heading {
  font-size: var(--eq-type-display);
}

html.is-fluid-layout .legal-document__section p,
html.is-fluid-layout .legal-document__section li {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

/* ─── Catalog / shop grids ─── */

html.is-fluid-layout .catalog-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 2rem);
  left: auto !important;
  top: auto !important;
  width: 100% !important;
}

/* Beat desktop shop-loop gap (86px) which is more specific */
html.is-fluid-layout .catalog-page .wc-catalog-loop .catalog-grid,
html.is-fluid-layout .catalog-page .wc-catalog-loop .catalog-grid.wc-shop-grid,
html.is-fluid-layout .wc-shop-grid {
  gap: 0.75rem !important;
}

html.is-fluid-layout .catalog-grid.is-list {
  grid-template-columns: 1fr !important;
  gap: 0.625rem !important;
}

html.is-fluid-layout .catalog-grid.is-list .catalog-card,
html.is-fluid-layout .catalog-grid.is-list .catalog-card.related__card {
  aspect-ratio: auto !important;
  height: auto !important;
}

html.is-fluid-layout .catalog-card,
html.is-fluid-layout .related__card-link {
  width: 100% !important;
}

html.is-fluid-layout .catalog-card.related__card,
html.is-fluid-layout .catalog-card.related__card.catalog-card--priced,
html.is-fluid-layout .catalog-card.related__card.catalog-card--quote,
html.is-fluid-layout .catalog-card--priced,
html.is-fluid-layout .catalog-card--quote {
  height: auto !important;
  overflow: visible;
}

html.is-fluid-layout .catalog-card--priced .related__card-caption,
html.is-fluid-layout .catalog-card .related__card-caption,
html.is-fluid-layout .catalog-card .catalog-card__caption {
  height: auto !important;
  overflow: visible;
}

html.is-fluid-layout .catalog-filters {
  position: relative !important;
  width: 100% !important;
  top: auto !important;
  left: auto !important;
  margin: 1.25rem 0 1.5rem;
  box-sizing: border-box;
}

html.is-fluid-layout .catalog-filters__list {
  display: flex;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 1rem;
}

html.is-fluid-layout .catalog-filter {
  width: 100%;
}

html.is-fluid-layout .catalog-filter__trigger {
  min-height: var(--eq-touch-min);
  padding: 1rem 1.125rem;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .catalog-filter__panel {
  padding-inline: 1.125rem;
}

html.is-fluid-layout .catalog-filter.is-open .catalog-filter__panel {
  padding: 0 1.125rem 1.125rem;
}

html.is-fluid-layout .catalog-cat-tree__link {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .catalog-toolbar {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.25rem;
  height: auto !important;
  min-height: 0;
  margin: 0 0 1.75rem;
  box-sizing: border-box;
}

html.is-fluid-layout .catalog-toolbar__view-label,
html.is-fluid-layout .catalog-toolbar__view,
html.is-fluid-layout .catalog-toolbar__sort-label,
html.is-fluid-layout .catalog-toolbar__sort-wrap {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
}

html.is-fluid-layout .catalog-toolbar__view-label,
html.is-fluid-layout .catalog-toolbar__sort-label {
  font-size: var(--eq-type-small);
  line-height: var(--eq-line-tight);
  white-space: nowrap;
}

html.is-fluid-layout .catalog-toolbar__view {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

html.is-fluid-layout .catalog-toolbar__view-btn {
  width: 2rem;
  height: 2rem;
}

html.is-fluid-layout .catalog-toolbar__sort-wrap {
  flex: 1 1 12rem;
  min-width: min(100%, 12rem);
  max-width: 100%;
}

html.is-fluid-layout .catalog-toolbar__sort {
  height: auto;
  min-height: var(--eq-touch-min);
  padding: 0.75rem 1rem;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .catalog-toolbar__sort-menu {
  position: absolute;
  left: 0;
  right: 0;
  top: calc(100% + 0.35rem);
  width: 100%;
}

html.is-fluid-layout .wc-catalog-loop {
  position: relative !important;
  width: 100%;
  padding-inline: var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .wc-catalog-loop .catalog-grid {
  padding-inline: 0 !important;
}

/* ─── Careers apply modal ─── */

html.is-fluid-layout .careers-apply {
  padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
}

html.is-fluid-layout .careers-apply__dialog {
  max-width: min(100%, 70rem);
  padding: clamp(1.5rem, 5vw, 2.75rem);
  border-radius: var(--eq-radius-lg);
}

html.is-fluid-layout .careers-apply__layout {
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

html.is-fluid-layout .careers-apply__layout--form-only {
  max-width: none;
}

html.is-fluid-layout .career-detail-page .product-banner__title--industry {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  padding: 0.75rem var(--eq-page-gutter) 0;
  font-size: clamp(1.75rem, 5vw, 3rem);
  transform: none;
  text-align: center;
}

html.is-fluid-layout .career-detail__meta {
  margin-bottom: 1.5rem;
}

html.is-fluid-layout .career-detail__section-title,
html.is-fluid-layout .career-detail__content h2 {
  font-size: clamp(1.35rem, 3.5vw, 1.75rem);
}

html.is-fluid-layout .career-detail__overview,
html.is-fluid-layout .career-detail__content {
  font-size: clamp(1rem, 2.4vw, 1.25rem);
}

html.is-fluid-layout .career-detail__actions {
  margin-top: 2rem;
}

html.is-fluid-layout .career-detail-page .catalog-page__stage .site-footer {
  position: relative;
}

html.is-fluid-layout .careers-apply__details {
  padding: 1.15rem 1rem;
  border-radius: var(--eq-radius-md);
}

html.is-fluid-layout .careers-apply__details-list li {
  font-size: 1.05rem;
}

html.is-fluid-layout .careers-apply__title {
  font-size: var(--eq-type-title);
}

html.is-fluid-layout .careers-apply__steps {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

html.is-fluid-layout .careers-apply__review-row {
  grid-template-columns: 1fr;
  gap: 4px;
}

html.is-fluid-layout .careers-apply__actions {
  flex-direction: column-reverse;
}

html.is-fluid-layout .careers-apply__btn {
  width: 100%;
}

/* ─── HOME PAGE — Mobile motion fallback (no pinned scrub) ─── */

html.is-fluid-layout.is-mobile-motion .discovery__scroll,
html.is-fluid-layout.is-mobile-motion .equipment__scroll,
html.is-fluid-layout.is-mobile-motion .services__scroll,
html.is-fluid-layout.is-mobile-motion .applications__scroll,
html.is-fluid-layout.is-mobile-motion .cta__scroll {
  height: auto !important;
}

html.is-fluid-layout.is-mobile-motion .discovery__pin,
html.is-fluid-layout.is-mobile-motion .equipment__pin,
html.is-fluid-layout.is-mobile-motion .services__pin,
html.is-fluid-layout.is-mobile-motion .applications__pin,
html.is-fluid-layout.is-mobile-motion .cta__pin {
  position: relative !important;
  height: auto !important;
}

html.is-fluid-layout.is-mobile-motion .discovery,
html.is-fluid-layout.is-mobile-motion .equipment,
html.is-fluid-layout.is-mobile-motion .services,
html.is-fluid-layout.is-mobile-motion .applications,
html.is-fluid-layout.is-mobile-motion .cta,
html.is-fluid-layout.is-mobile-motion .section-six {
  position: relative !important;
  height: auto !important;
}

html.is-fluid-layout.is-mobile-motion .discovery__stage > *,
html.is-fluid-layout.is-mobile-motion .equipment__stage > *,
html.is-fluid-layout.is-mobile-motion .services__stage > *,
html.is-fluid-layout.is-mobile-motion .applications__stage > *,
html.is-fluid-layout.is-mobile-motion .cta__stage > *,
html.is-fluid-layout.is-mobile-motion .section-six__stage > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  transform: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

html.is-fluid-layout.is-mobile-motion .hero__curtain {
  display: none !important;
}

html.is-fluid-layout.is-mobile-motion .hero__content,
html.is-fluid-layout.is-mobile-motion .hero__partners {
  opacity: 1 !important;
  visibility: visible !important;
}

html.is-fluid-layout .hero {
  min-height: auto;
}

html.is-fluid-layout .hero__stage {
  min-height: clamp(24rem, 70vh, 36rem);
}

html.is-fluid-layout .hero__headline,
html.is-fluid-layout .hero__subheadline {
  font-size: clamp(2rem, 8vw, 3.5rem);
  line-height: var(--eq-line-tight);
}

/* ─── WooCommerce ─── */

html.is-fluid-layout .wc-order-received-content,
html.is-fluid-layout .woocommerce-notices-wrapper {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .order-received-page .catalog-page__stage .contact,
html.is-fluid-layout .order-received-page .catalog-page__stage .site-footer {
  position: relative !important;
  width: auto !important;
  left: auto !important;
  top: auto !important;
}

html.is-fluid-layout .wc-order-received-content .eq-order-received__overview,
html.is-fluid-layout .wc-order-received-content .woocommerce-order-overview {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
  html.is-fluid-layout .wc-order-received-content .eq-order-received__overview,
  html.is-fluid-layout .wc-order-received-content .woocommerce-order-overview {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  html.is-fluid-layout .wc-order-received-content .eq-order-received__overview:has(> li:nth-child(5)),
  html.is-fluid-layout .wc-order-received-content .woocommerce-order-overview:has(> li:nth-child(5)) {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

html.is-fluid-layout .wc-order-received-content .eq-order-received__body {
  grid-template-columns: minmax(0, 1.4fr) minmax(260px, 0.8fr);
  gap: 1.25rem;
}

@media (max-width: 1079.98px) {
  html.is-fluid-layout .wc-order-received-content .eq-order-received__body,
  html.is-fluid-layout .wc-order-received-content .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }

  html.is-fluid-layout .wc-order-received-content .eq-order-received__body .woocommerce-order-details,
  html.is-fluid-layout .wc-order-received-content .eq-order-received__body .woocommerce-customer-details {
    grid-column: 1 / -1;
  }
}

html.is-fluid-layout .product-page__stage .product-gallery {
  position: sticky !important;
  top: calc(var(--eq-header-clearance, 0px) + var(--eq-header-gap, 0.5rem)) !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  align-self: start;
}

html.is-fluid-layout .product-page__stage .product-summary {
  position: relative !important;
  width: 100% !important;
  left: auto !important;
  top: auto !important;
}

html.is-fluid-layout .cart-page .cart-table,
html.is-fluid-layout .checkout-page .checkout-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
}

html.is-fluid-layout .woocommerce table.shop_table {
  display: block;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

html.is-fluid-layout .woocommerce .button,
html.is-fluid-layout .woocommerce button,
html.is-fluid-layout .woocommerce input[type="submit"] {
  min-height: var(--eq-touch-min);
}

/* ─── Tablet portrait refinements ─── */

@media (min-width: 768px) and (max-width: 1079.98px) {
  html.is-fluid-layout .catalog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .services-listing-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .site-footer__columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .contact__inner {
    flex-direction: row;
    flex-wrap: wrap;
  }

  html.is-fluid-layout .contact__copy {
    flex: 1 1 16rem;
  }

  html.is-fluid-layout .contact__aside {
    flex: 1 1 20rem;
  }
}

/* ─── Mobile refinements ─── */

@media (max-width: 767.98px) {
  html.is-fluid-layout .catalog-grid {
    grid-template-columns: 1fr;
  }

  html.is-fluid-layout .catalog-page .wc-catalog-loop .catalog-grid,
  html.is-fluid-layout .catalog-page .wc-catalog-loop .catalog-grid.wc-shop-grid,
  html.is-fluid-layout .wc-shop-grid {
    gap: 0.5rem !important;
  }

  html.is-fluid-layout .catalog-grid.is-list {
    gap: 0.5rem !important;
  }

  /* Tighter caption under product image on mobile */
  html.is-fluid-layout .catalog-card .related__card-caption,
  html.is-fluid-layout .catalog-card .catalog-card__caption {
    min-height: 0 !important;
    padding: 0.65rem 0.85rem !important;
  }

  html.is-fluid-layout .related__card-link {
    gap: 0.5rem !important;
  }

  html.is-fluid-layout .catalog-toolbar {
    gap: 0.875rem 1rem;
    margin-bottom: 2rem;
  }

  html.is-fluid-layout .catalog-filters {
    margin: 1.5rem 0 1.75rem;
  }

  html.is-fluid-layout .catalog-toolbar__sort-label {
    flex: 1 1 100%;
  }

  html.is-fluid-layout .catalog-toolbar__sort-wrap {
    flex: 1 1 100%;
  }

  html.is-fluid-layout .catalog-filters,
  html.is-fluid-layout .catalog-toolbar,
  html.is-fluid-layout .wc-catalog-loop {
    padding-inline: var(--eq-page-gutter);
  }

  html.is-fluid-layout .product-banner__title {
    font-size: clamp(1.5rem, 7vw, 2.25rem);
    line-height: var(--eq-line-tight);
    padding-inline: 0;
  }

  html.is-fluid-layout .catalog-page__stage .product-banner {
    min-height: clamp(11rem, 48vw, 16rem);
    padding-block: clamp(2.5rem, 10vw, 3.5rem);
  }

  html.is-fluid-layout .services-listing-grid {
    grid-template-columns: 1fr;
  }

  /* Mobile CTA is icon-only circle — do not set width:auto (stretches to ellipse) */

  html.is-fluid-layout .careers-jobs__head {
    flex-wrap: wrap;
  }

  html.is-fluid-layout .careers-jobs__location {
    font-size: clamp(1.375rem, 6vw, 2rem);
    line-height: var(--eq-line-tight);
  }

  html.is-fluid-layout .careers-intro__grid {
    grid-template-columns: 1fr;
  }

  html.is-fluid-layout .industries-page .industries-sidebar {
    padding: 1.5rem var(--eq-page-gutter) 1.25rem;
  }

  html.is-fluid-layout .industries-page .industries-sidebar__head {
    margin-bottom: 1.35rem;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer {
    z-index: 5;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer.is-filters-open {
    z-index: 1200;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__filter-btn {
    display: inline-flex;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__filter-close {
    display: inline-flex;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__panel-head {
    display: flex;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__panel {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    z-index: 1210;
    width: min(20.5rem, calc(100vw - 2.5rem));
    max-width: 100%;
    margin: 0;
    padding: 1.15rem 1.1rem 1.5rem;
    background: #fff;
    box-shadow: -12px 0 36px rgba(6, 46, 98, 0.16);
    transform: translate3d(104%, 0, 0);
    visibility: hidden;
    pointer-events: none;
    transition: transform 0.32s cubic-bezier(0.22, 1, 0.36, 1), visibility 0.32s;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__panel.is-open,
  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer.is-filters-open .industries-sidebar__panel {
    transform: translate3d(0, 0, 0) !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__scrim {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1200;
    border: 0;
    margin: 0;
    padding: 0;
    background: rgba(10, 18, 36, 0.42);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.28s ease, visibility 0.28s ease;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__scrim.is-open,
  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer.is-filters-open .industries-sidebar__scrim {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__rule {
    width: 100%;
    margin-top: 0.85rem;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__body {
    margin-top: 1rem;
  }

  html.is-fluid-layout .industries-page .industries-sidebar.is-filter-drawer .industries-sidebar__filters {
    max-height: none;
    gap: 1rem;
    padding-right: 0;
    overflow: visible;
  }

  html.is-fluid-layout .industries-page .industries-grid {
    gap: 1rem;
    padding-inline: var(--eq-page-gutter);
  }

  html.is-fluid-layout .industries-page .industry-card__body {
    padding: 1rem 1rem 1.15rem;
  }

  html.is-fluid-layout .industries-page .industry-card__visual {
    height: clamp(9.5rem, 42vw, 13rem);
  }
}

/* ─── Ultra-small phones ─── */

@media (max-width: 360px) {
  :root {
    --eq-page-gutter: 0.875rem;
  }
}

/* ─── Prevent horizontal scroll globally ─── */

html.is-fluid-layout .catalog-page,
html.is-fluid-layout .product-page,
html.is-fluid-layout .page-home {
  overflow-x: hidden;
}

/* ─── CF7 touch + readability ─── */

html.is-fluid-layout .wpcf7-form-control.contact__input,
html.is-fluid-layout .wpcf7-form-control.contact__textarea,
html.is-fluid-layout .contact__input,
html.is-fluid-layout .contact__textarea {
  font-size: 1rem;
}

html.is-fluid-layout .wpcf7-not-valid-tip,
html.is-fluid-layout .wpcf7-response-output {
  font-size: 0.875rem;
}

/* ─── Reduced motion: disable layout transitions ─── */

@media (prefers-reduced-motion: reduce) {
  html.is-fluid-layout .site-nav__links,
  html.is-fluid-layout .careers-apply,
  html.is-fluid-layout .careers-apply__dialog,
  html.is-fluid-layout .site-nav__toggle-bar {
    transition: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   Milestone extensions — inner pages, homepage sections, WooCommerce
   ═══════════════════════════════════════════════════════════════════ */

html.is-fluid-layout {
  scroll-padding-top: calc(var(--eq-nav-height) + 0.5rem);
}

/* ─── About page ─── */

html.is-fluid-layout .about-page .product-banner__title--about {
  width: min(100%, 52rem) !important;
  max-width: 100%;
  font-size: var(--eq-type-display);
}

html.is-fluid-layout .about-approach,
html.is-fluid-layout .about-stats,
html.is-fluid-layout .about-lab,
html.is-fluid-layout .about-partners {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
  overflow: visible;
}

html.is-fluid-layout .about-approach {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  align-items: start;
}

html.is-fluid-layout .about-approach__copy,
html.is-fluid-layout .about-approach__visual {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  flex-shrink: 1;
}

html.is-fluid-layout .about-approach__title {
  width: auto !important;
  max-width: 100%;
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .about-approach__body {
  width: 100% !important;
  max-width: 100%;
}

html.is-fluid-layout .about-approach__body p {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .about-approach__body p + p {
  margin-top: 1.25rem;
}

html.is-fluid-layout .about-approach__visual {
  border-radius: var(--eq-radius-lg);
  aspect-ratio: 16 / 10;
  overflow: hidden;
}

html.is-fluid-layout .about-approach__img,
html.is-fluid-layout .about-lab__img {
  position: absolute;
  inset: 0;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  border-radius: var(--eq-radius-lg);
}

html.is-fluid-layout .about-stats__head {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  max-width: 40rem;
  margin-inline: auto;
}

html.is-fluid-layout .about-stats__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .about-stats__intro {
  width: 100% !important;
  max-width: 100%;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .about-stats {
  gap: clamp(1.5rem, 4vw, 3rem);
}

html.is-fluid-layout .about-stats__grid {
  position: relative !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1rem, 3vw, 1.5rem);
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
}

html.is-fluid-layout .about-stat-card {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  overflow: visible;
}

html.is-fluid-layout .about-stat-card__body {
  height: auto;
  padding: 1.15rem 1.1rem 1.35rem;
}

html.is-fluid-layout .about-stat-card__title {
  margin-left: 0;
  gap: 0.65rem;
}

html.is-fluid-layout .about-stat-card__title--offset {
  padding-left: 0;
}

html.is-fluid-layout .about-stat-card__content {
  margin-top: 1.35rem;
}

html.is-fluid-layout .about-stat-card__value-group {
  min-height: 0;
}

html.is-fluid-layout .about-stat-card__value {
  font-size: clamp(2rem, 8vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
}

html.is-fluid-layout .about-stat-card__unit {
  font-size: clamp(1rem, 3.5vw, 1.25rem);
  line-height: 1.2;
}

html.is-fluid-layout .about-lab {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  align-items: start;
}

html.is-fluid-layout .about-lab__visual,
html.is-fluid-layout .about-lab__copy {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
}

html.is-fluid-layout .about-lab__visual {
  aspect-ratio: 16 / 10;
  border-radius: var(--eq-radius-lg);
  overflow: hidden;
}

html.is-fluid-layout .about-lab__fade {
  display: none;
}

html.is-fluid-layout .about-lab__copy {
  gap: 1.25rem;
}

html.is-fluid-layout .about-lab__text {
  gap: 1rem;
}

html.is-fluid-layout .about-lab__title {
  width: auto !important;
  max-width: 100%;
  font-size: var(--eq-type-title);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .about-lab__body {
  width: 100% !important;
  max-width: 100%;
}

html.is-fluid-layout .about-lab__body p {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .about-lab__cta {
  min-height: var(--eq-touch-min);
  padding-inline: 1.5rem;
  align-self: flex-start;
}

html.is-fluid-layout .about-partners .hero__partners-track {
  width: max-content;
}

html.is-fluid-layout .about-partners {
  overflow-x: hidden;
}

html.is-fluid-layout .about-page .faq,
html.is-fluid-layout .about-page .contact,
html.is-fluid-layout .about-page .site-footer {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
}

/* ─── Industry detail + services inner ─── */

html.is-fluid-layout .industry-detail-intro,
html.is-fluid-layout .industry-detail-columns,
html.is-fluid-layout .industry-detail-feature,
html.is-fluid-layout .industry-detail-care,
html.is-fluid-layout .industry-detail-equipment,
html.is-fluid-layout .industry-detail-section-head,
html.is-fluid-layout .services-feature,
html.is-fluid-layout .services-page .industry-detail-intro {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  padding-inline: var(--eq-page-gutter);
}

html.is-fluid-layout .industry-detail-intro {
  padding-block: var(--eq-section-gap);
}

html.is-fluid-layout .industry-detail-intro__title,
html.is-fluid-layout .industry-detail-section-head__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .industry-detail-columns {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.5rem;
  height: auto !important;
  min-height: 0;
  padding-bottom: var(--eq-section-gap);
}

html.is-fluid-layout .industry-detail-column {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  padding-top: 1.25rem;
}

html.is-fluid-layout .industry-detail-column p {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .industry-detail-equipment {
  padding-block: var(--eq-section-gap);
  padding-inline: var(--eq-page-gutter);
}

html.is-fluid-layout .industry-detail-equipment__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
  max-width: 18ch;
}

html.is-fluid-layout .industry-detail-equipment__carousel {
  gap: 0.75rem;
}

html.is-fluid-layout .industry-detail-equipment__nav {
  width: 2.5rem;
  height: 2.5rem;
}

html.is-fluid-layout .industry-detail-equipment__track {
  gap: 1rem;
}

html.is-fluid-layout .industry-detail-section-head {
  padding-top: calc(var(--eq-section-gap) * 0.5);
  padding-bottom: var(--eq-section-gap);
  margin-bottom: var(--eq-section-gap);
}

html.is-fluid-layout .industry-detail-feature__img,
html.is-fluid-layout .industry-detail-care__img,
html.is-fluid-layout .industry-detail-equipment__img {
  width: 100%;
  height: auto;
  border-radius: var(--eq-radius-lg);
}

html.is-fluid-layout .industry-detail-care {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  padding-block: var(--eq-section-gap);
}

html.is-fluid-layout .industry-detail-care__card {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  margin-bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem 1.35rem 1.35rem;
  box-sizing: border-box;
  overflow: visible;
}

html.is-fluid-layout .industry-detail-care__icon,
html.is-fluid-layout .industry-detail-care__card-title,
html.is-fluid-layout .industry-detail-care__card-text {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  max-width: 100%;
}

html.is-fluid-layout .industry-detail-care__icon {
  width: 4.5rem;
  height: auto;
  margin-bottom: 1rem;
}

html.is-fluid-layout .industry-detail-care__card-title {
  margin: 0 0 0.65rem;
  font-size: clamp(1.15rem, 2.2vw, 1.6rem);
  line-height: 1.25;
}

html.is-fluid-layout .industry-detail-care__card-text {
  margin: 0;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .industry-detail-equipment__grid {
  display: block;
}

html.is-fluid-layout .services-feature {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  padding-block: var(--eq-section-gap);
}

/* ─── Services detail (hero + capability blocks + offerings) ─── */

html.is-fluid-layout .services-hero {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .services-hero__media {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  aspect-ratio: 16 / 10;
  border-radius: var(--eq-radius-lg);
  overflow: hidden;
}

html.is-fluid-layout .services-hero__media--right {
  display: none;
}

html.is-fluid-layout .services-hero__media--left img,
html.is-fluid-layout .services-hero__media--right img {
  position: absolute !important;
  inset: 0;
  left: 0 !important;
  top: 0 !important;
  width: 100% !important;
  max-width: none;
  height: 100% !important;
  object-fit: cover;
}

html.is-fluid-layout .services-hero__content {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 40rem;
  margin-inline: auto;
  align-items: stretch;
  text-align: center;
}

html.is-fluid-layout .services-hero__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .services-hero__eyebrow {
  font-size: var(--eq-type-small);
  line-height: 1.3;
  letter-spacing: 0.06em;
}

html.is-fluid-layout .services-hero__body p {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .services-hero__body p + p {
  margin-top: 1.25rem;
}

html.is-fluid-layout .services-hero__cta {
  min-height: var(--eq-touch-min);
  width: auto;
  max-width: 100%;
  align-self: center;
}

html.is-fluid-layout .services-blocks {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .services-blocks__inner {
  width: 100% !important;
  max-width: 100%;
  gap: var(--eq-section-gap);
}

html.is-fluid-layout .services-block,
html.is-fluid-layout .services-block--reverse {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 1.5rem !important;
  width: 100% !important;
  max-width: 100%;
}

html.is-fluid-layout .services-block__copy,
html.is-fluid-layout .services-block__visual {
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  flex-shrink: 1;
}

html.is-fluid-layout .services-block__visual {
  aspect-ratio: 16 / 10;
  border-radius: var(--eq-radius-lg);
}

html.is-fluid-layout .services-block__title,
html.is-fluid-layout .service-detail-offerings__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .services-block__text p {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .service-detail-offerings {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100%;
  margin: 0;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

/* ─── Industry detail — empower / stats / care visual ─── */

html.is-fluid-layout .industry-detail-empower,
html.is-fluid-layout .industry-detail-stats {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .industry-detail-empower__title,
html.is-fluid-layout .industry-detail-empower__text,
html.is-fluid-layout .industry-detail-stats__visual,
html.is-fluid-layout .industry-detail-stats__copy,
html.is-fluid-layout .industry-detail-stats__card,
html.is-fluid-layout .industry-detail-stats__text,
html.is-fluid-layout .industry-detail-stats__cta,
html.is-fluid-layout .industry-detail-stats__value,
html.is-fluid-layout .industry-detail-stats__unit,
html.is-fluid-layout .industry-detail-stats__label,
html.is-fluid-layout .industry-detail-stats__desc {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
}

html.is-fluid-layout .industry-detail-empower__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .industry-detail-empower__text {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .industry-detail-stats__visual {
  aspect-ratio: 4 / 5;
  border-radius: var(--eq-radius-lg);
  overflow: hidden;
}

html.is-fluid-layout .industry-detail-stats__copy {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding: 1.5rem;
  border-radius: var(--eq-radius-lg);
}

html.is-fluid-layout .industry-detail-stats__text {
  font-size: clamp(1.25rem, 4.5vw, 1.75rem);
  line-height: 1.35;
}

html.is-fluid-layout .industry-detail-stats__cta {
  width: auto !important;
  min-height: var(--eq-touch-min);
  padding: 0.75rem 1.5rem;
  align-self: flex-start;
}

html.is-fluid-layout .industry-detail-stats__card {
  padding: 1.5rem;
  border-radius: var(--eq-radius-lg);
  min-height: 0;
}

html.is-fluid-layout .industry-detail-stats__value {
  font-size: clamp(2rem, 8vw, 3.5rem);
  line-height: 1.05;
}

html.is-fluid-layout .industry-detail-care__visual {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  aspect-ratio: 16 / 10;
  border-radius: var(--eq-radius-lg);
  overflow: hidden;
}

html.is-fluid-layout .contact__grid-lines {
  display: none !important;
}

/* ─── Industries / Partners listing (absolute stage → fluid stack) ─── */

html.is-fluid-layout .industries-page .catalog-page__stage {
  height: auto !important;
}

html.is-fluid-layout .industries-sidebar,
html.is-fluid-layout .industries-grid {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: min(100%, 1660.692px) !important;
  max-width: 1660.692px;
  margin-inline: auto;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
}

html.is-fluid-layout .industries-sidebar__filters {
  width: 100%;
  max-width: none;
  max-height: min(60vh, 687px);
  gap: 0.85rem;
}

html.is-fluid-layout .industries-sidebar__option .catalog-filter__text {
  max-width: none;
  white-space: normal;
}

html.is-fluid-layout .industries-grid {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  width: 100% !important;
  padding-top: 0;
}

@media (min-width: 768px) and (max-width: 1079.98px) {
  html.is-fluid-layout .industries-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

html.is-fluid-layout .industries-page .industry-card {
  width: 100%;
  height: auto;
  min-height: 0;
}

html.is-fluid-layout .industries-page .industry-card__link {
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
}

html.is-fluid-layout .industries-page .industry-card__visual {
  height: clamp(11rem, 38vw, 15.5rem);
}

/* Partners logos: keep contain + padding in fluid layout too. */
html.is-fluid-layout .partners-page .industry-card__visual {
  height: clamp(10rem, 36vw, 14.5rem);
  padding: clamp(1.25rem, 3vw, 2.25rem) clamp(1.25rem, 3.5vw, 2.5rem);
  background: #f7f7f7;
}

html.is-fluid-layout .partners-page .industry-card__img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  object-position: center;
}

html.is-fluid-layout .partners-page .industry-card__tone {
  display: none;
}

html.is-fluid-layout .industries-page .industry-card__body {
  position: relative;
  left: auto;
  top: auto;
  width: auto;
  flex: 1;
  padding: 1rem 0.25rem 0;
}

html.is-fluid-layout .industries-page .industry-card__cta-arrow {
  left: auto;
  right: 0;
  top: auto;
  bottom: 0;
}

html.is-fluid-layout .industries-page .catalog-page__soft-bg {
  display: none;
}

html.is-fluid-layout .industries-page .product-banner__title--industry {
  width: min(100%, 52rem) !important;
  max-width: 100%;
  font-size: var(--eq-type-display);
}

html.is-fluid-layout .industries-sidebar {
  z-index: 1;
}

html.is-fluid-layout .industries-sidebar__title {
  font-size: clamp(1.5rem, 5vw, 2.25rem);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .industries-sidebar__head {
  width: 100%;
}

html.is-fluid-layout .industries-sidebar__rule {
  width: 100%;
  max-width: 100%;
}

html.is-listing-filters-open,
html.is-listing-filters-open body {
  overflow: hidden;
}

html.is-fluid-layout .industries-page .industry-card,
html.is-fluid-layout .industries-page .industry-card__link {
  min-height: 0;
  height: auto;
}

html.is-fluid-layout .industries-page .industry-card__body {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.4rem;
  padding: 1.1rem 1.15rem 1.25rem;
}

html.is-fluid-layout .industries-page .industry-card__copy {
  flex: 1 1 100%;
}

html.is-fluid-layout .industries-page .industry-card__title {
  font-size: clamp(1.05rem, 4vw, 1.375rem);
  line-height: 1.3;
}

html.is-fluid-layout .industries-page .industry-card__desc {
  font-size: var(--eq-type-body);
}

html.is-fluid-layout .industries-page .industry-card__cta-text {
  flex: 0 0 auto;
  width: fit-content;
  max-width: calc(100% - 1.75rem);
  margin: 0;
  padding-right: 0;
}

html.is-fluid-layout .industries-page .industry-card__cta-arrow {
  position: static;
  left: auto;
  right: auto;
  top: auto;
  bottom: auto;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
}

html.is-fluid-layout .industries-page .industries-grid {
  gap: 1.25rem;
  width: 100% !important;
  padding-inline: var(--eq-page-gutter);
}

html.is-fluid-layout .industries-page .industries-sidebar__option .catalog-filter__text {
  max-width: none;
}

/* ─── Catalog layout (equipment / industries listing) ─── */

html.is-fluid-layout .catalog-layout {
  display: flex;
  flex-direction: column;
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .catalog-layout__sidebar {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
}

html.is-fluid-layout .catalog-filters__item {
  min-height: var(--eq-touch-min);
}

html.is-fluid-layout .catalog-toolbar {
  position: relative !important;
  top: auto !important;
  width: 100% !important;
  padding-inline: var(--eq-page-gutter);
}

/* ─── Product detail ─── */

html.is-fluid-layout .product-page__stage .product-hero {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-areas:
    "intro"
    "gallery"
    "buy";
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  align-items: stretch;
}

html.is-fluid-layout .product-page__stage .product-hero__media {
  grid-area: gallery;
  height: auto;
  min-height: 0;
}

html.is-fluid-layout .product-page__stage .product-detail {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .product-page__stage .product-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .product-gallery {
  position: sticky !important;
  top: calc(var(--eq-header-clearance, 0px) + var(--eq-header-gap, 0.5rem)) !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  align-self: start;
}

html.is-fluid-layout .product-summary,
html.is-fluid-layout .product-tabs,
html.is-fluid-layout .product-related {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
}

html.is-fluid-layout .product-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.5rem;
  height: auto !important;
  min-height: 3.75rem;
}

html.is-fluid-layout .product-tabs__tab,
html.is-fluid-layout .product-tabs--has-accessories .product-tabs__tab {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  bottom: auto !important;
  width: auto !important;
  min-width: 8.5rem;
  flex: 1 1 8.5rem;
  height: 3.5rem;
  padding: 0 1rem;
}

html.is-fluid-layout .product-tabs__label {
  position: static;
  left: auto;
  top: auto;
  transform: none;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  text-align: center;
  white-space: normal;
}

html.is-fluid-layout .product-tabs__divider {
  position: relative !important;
  left: auto !important;
  bottom: auto !important;
  width: 100% !important;
  margin-top: 0;
  order: 99;
}

html.is-fluid-layout .product-overview,
html.is-fluid-layout .product-specs {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100%;
}

html.is-fluid-layout .product-intro__title,
html.is-fluid-layout .product-overview__title {
  width: 100%;
  max-width: 100%;
  font-size: var(--eq-type-title);
  line-height: var(--eq-line-tight);
  overflow-wrap: anywhere;
}

html.is-fluid-layout .product-overview__subtitle,
html.is-fluid-layout .product-overview__heading {
  width: 100%;
  max-width: 100%;
  font-size: var(--eq-type-title);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .product-overview__body {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .related__title,
html.is-fluid-layout .woocommerce-Reviews-title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .product-specs__head-label:first-child,
html.is-fluid-layout .product-specs__benefits-title,
html.is-fluid-layout .product-specs__accessories-title {
  left: 1rem;
  padding-left: 1rem;
}

html.is-fluid-layout .product-specs__head-label:last-child {
  left: 48%;
  padding-left: 1rem;
}

html.is-fluid-layout .product-specs__label {
  flex: 0 0 48%;
  max-width: 48%;
  padding-left: 1rem;
  box-sizing: border-box;
}

html.is-fluid-layout .product-specs__value {
  flex: 1 1 52%;
  padding-left: 1rem;
  padding-right: 1rem;
  box-sizing: border-box;
}

html.is-fluid-layout .product-specs__rows::before,
html.is-fluid-layout .product-specs__accessories::before {
  left: 48%;
}

html.is-fluid-layout .product-specs__accessories::before {
  top: 4.5rem;
}

html.is-fluid-layout .product-overview__list {
  width: 100%;
  max-width: 100%;
  padding-left: 1.25rem;
}

html.is-fluid-layout .eq-accessories-popup__inner {
  width: min(36rem, calc(100% - 1.5rem));
}

html.is-fluid-layout .product-summary__title {
  font-size: var(--eq-type-display);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .product-gallery__main {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  height: auto;
  min-height: clamp(16rem, 40vw, 28rem);
}

html.is-fluid-layout .product-gallery__photo {
  position: relative;
  inset: auto;
  width: 100%;
  min-height: clamp(16rem, 40vw, 28rem);
}

html.is-fluid-layout .product-gallery__main img,
html.is-fluid-layout .product-gallery__img {
  position: relative;
  width: 100%;
  height: auto;
  max-height: clamp(16rem, 40vw, 28rem);
  left: auto;
  top: auto;
  object-fit: contain;
}

html.is-fluid-layout .product-summary .single_add_to_cart_button,
html.is-fluid-layout .product-summary .button {
  min-height: var(--eq-touch-min);
  width: 100%;
  max-width: 20rem;
}

html.is-fluid-layout .related__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

/* ═══════════════════════════════════════════════════════════════════
   HOME PAGE — Fluid stack (≤1079px base)
   Unpins scroll sections and resets absolute Figma coordinates.
   ═══════════════════════════════════════════════════════════════════ */

html.is-fluid-layout .page-home {
  overflow-x: hidden;
}

html.is-fluid-layout .hero__scroll,
html.is-fluid-layout .discovery__scroll,
html.is-fluid-layout .equipment__scroll,
html.is-fluid-layout .services__scroll,
html.is-fluid-layout .applications__scroll,
html.is-fluid-layout .cta__scroll {
  height: auto !important;
}

html.is-fluid-layout .discovery__pin,
html.is-fluid-layout .equipment__pin,
html.is-fluid-layout .services__pin,
html.is-fluid-layout .applications__pin,
html.is-fluid-layout .cta__pin {
  position: relative !important;
  height: auto !important;
  min-height: 0 !important;
}

html.is-fluid-layout .discovery,
html.is-fluid-layout .equipment,
html.is-fluid-layout .services,
html.is-fluid-layout .applications,
html.is-fluid-layout .cta,
html.is-fluid-layout .section-six {
  position: relative !important;
  height: auto !important;
  min-height: 0;
  overflow: hidden;
}

html.is-fluid-layout .hero__stage > *,
html.is-fluid-layout .discovery__stage > *,
html.is-fluid-layout .equipment__stage > *,
html.is-fluid-layout .services__stage > *,
html.is-fluid-layout .applications__stage > *,
html.is-fluid-layout .applications__rig > *,
html.is-fluid-layout .cta__stage > *,
html.is-fluid-layout .section-six__stage > * {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  min-height: 0;
  transform: none !important;
}

html.is-fluid-layout .hero__curtain,
html.is-fluid-layout .hero__intro-logo,
html.is-fluid-layout .cta__curtain {
  display: none !important;
}

html.is-fluid-layout .hero__content,
html.is-fluid-layout .hero__partners {
  visibility: visible !important;
  opacity: 1 !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .hero__headline,
html.is-fluid-layout .hero__headline-row,
html.is-fluid-layout .hero__subheadline {
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
}

html.is-fluid-layout .hero__headline-text {
  white-space: normal;
  font-size: clamp(1.75rem, 7vw, 3rem);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .hero__subheadline {
  margin-top: 0.75rem;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .hero__partners {
  margin-top: 1.5rem;
  padding-top: 0;
}

html.is-fluid-layout .hero__partners-track {
  width: max-content;
}

html.is-fluid-layout .discovery__hero-inner,
html.is-fluid-layout .discovery__hero-content {
  display: flex;
  flex-direction: column;
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  transform: none !important;
  overflow: visible !important;
}

html.is-fluid-layout .discovery__heading,
html.is-fluid-layout .discovery__logo,
html.is-fluid-layout .discovery__subtext,
html.is-fluid-layout .discovery__subtext p {
  opacity: 1 !important;
  visibility: visible !important;
  clip-path: none !important;
  overflow: visible !important;
}

html.is-fluid-layout .discovery__heading,
html.is-fluid-layout .equipment__heading,
html.is-fluid-layout .services__heading,
html.is-fluid-layout .applications__title {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  margin: 0;
  font-size: clamp(1.75rem, 6vw, 3rem);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .equipment__heading {
  padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
  text-align: center;
  transform: none !important;
}

html.is-fluid-layout .discovery__subtext,
html.is-fluid-layout .discovery__subtext p {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none;
  height: auto !important;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .discovery__logo,
html.is-fluid-layout .discovery__logo-mask,
html.is-fluid-layout .discovery__logo-bg {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 28rem;
  margin-inline: auto;
  height: auto !important;
  aspect-ratio: 920 / 736;
}

html.is-fluid-layout .discovery__logo-video,
html.is-fluid-layout .discovery__logo-fallback {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html.is-fluid-layout .equipment__cards-wrap,
html.is-fluid-layout .equipment__cards-clip {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  overflow: visible !important;
  padding: 0 var(--eq-page-gutter) var(--eq-section-gap);
}

html.is-fluid-layout .equipment__cards-track {
  display: grid !important;
  grid-template-columns: 1fr;
  gap: 1.25rem;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  transform: none !important;
}

html.is-fluid-layout .equipment__card {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none;
  height: auto !important;
  min-height: 0;
  transform: none !important;
}

html.is-fluid-layout .equipment__card--repeat {
  display: none !important;
}

html.is-fluid-layout .equipment__card-link {
  position: relative !important;
  display: block;
  width: 100%;
  height: auto;
}

html.is-fluid-layout .equipment__card-visual {
  position: relative !important;
  width: 100%;
  height: clamp(12rem, 42vw, 18rem);
}

html.is-fluid-layout .equipment__card-caption {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  margin-top: 0.75rem;
  border-radius: var(--eq-radius-lg);
}

html.is-fluid-layout .equipment__card-title {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  padding: 1rem 1.25rem;
  font-size: clamp(1rem, 3.5vw, 1.5rem);
  line-height: 1.3;
}

html.is-fluid-layout .equipment__card-photo {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
}

html.is-fluid-layout .equipment__card-photo--contain .equipment__card-img,
html.is-fluid-layout .equipment__card-photo--crop-a .equipment__card-img,
html.is-fluid-layout .equipment__card-photo--crop-b .equipment__card-img {
  position: absolute;
  inset: 0;
  width: 100% !important;
  height: 100% !important;
  left: 0 !important;
  top: 0 !important;
  max-width: none;
  object-fit: contain;
}

html.is-fluid-layout .services__rig {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  padding-bottom: var(--eq-section-gap);
}

html.is-fluid-layout .services__hero,
html.is-fluid-layout .services__list {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
  box-sizing: border-box;
}

html.is-fluid-layout .services__intro {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  margin-top: 1rem;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .services__rows {
  display: flex;
  flex-direction: column;
  gap: 0;
  width: 100%;
}

html.is-fluid-layout .services__row-group {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0;
  padding-block: 1.25rem;
}

html.is-fluid-layout .services__row {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding-top: 1rem;
}

html.is-fluid-layout .services__row-title,
html.is-fluid-layout .services__row-desc,
html.is-fluid-layout .services__row-cta {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: none;
  white-space: normal;
}

html.is-fluid-layout .services__row-title {
  font-size: clamp(1.25rem, 4.5vw, 2rem);
  line-height: var(--eq-line-tight);
}

html.is-fluid-layout .services__row-desc {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .services__row-cta {
  align-self: flex-start;
  min-height: var(--eq-touch-min);
}

html.is-fluid-layout .services__row-group:nth-child(n) .services__row-cta {
  left: auto !important;
}

html.is-fluid-layout .services__product-float {
  display: none !important;
}

html.is-fluid-layout .applications__rig {
  display: flex;
  flex-direction: column;
  gap: var(--eq-section-gap);
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .applications__hero-rail,
html.is-fluid-layout .applications__hero-sticky {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
}

html.is-fluid-layout .applications__desc {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  margin-top: 1rem;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .applications__cta {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  margin-top: 1.25rem;
  min-height: var(--eq-touch-min);
}

html.is-fluid-layout .applications__cards {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100% !important;
  position: relative !important;
  top: auto !important;
  left: auto !important;
  height: auto !important;
}

html.is-fluid-layout .applications__card {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
}

html.is-fluid-layout .applications__card-photo {
  position: relative !important;
  width: 100%;
  height: auto;
  aspect-ratio: 362 / 477;
}

html.is-fluid-layout .applications__card-photo img {
  position: relative !important;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

html.is-fluid-layout .applications__card-label {
  font-size: clamp(0.875rem, 2.5vw, 1.25rem);
  height: auto;
  min-height: var(--eq-touch-min);
  padding: 0.75rem 1rem;
}

html.is-fluid-layout .applications__block--products {
  padding: var(--eq-section-gap) var(--eq-page-gutter);
}

html.is-fluid-layout .applications__block--products .applications__title {
  font-size: clamp(1.75rem, 6vw, 3rem);
}

html.is-fluid-layout .applications__block--products .applications__desc {
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
}

html.is-fluid-layout .applications__block--products {
  position: relative !important;
  width: 100% !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .applications__products-intro {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  margin-bottom: 1.5rem;
}

html.is-fluid-layout .applications__products-track,
html.is-fluid-layout .applications__product-row {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  width: 100% !important;
  max-width: 100%;
  padding: 0;
  overflow: visible !important;
}

html.is-fluid-layout .applications__product {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  flex: none !important;
}

html.is-fluid-layout .applications__product-caption {
  opacity: 1 !important;
}

html.is-fluid-layout .cta__viewport {
  transform: none !important;
}

html.is-fluid-layout .cta__stage {
  min-height: clamp(20rem, 55vh, 32rem);
}

html.is-fluid-layout .cta__content,
html.is-fluid-layout .cta__copy {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  height: auto !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .cta__heading,
html.is-fluid-layout .cta__heading-text,
html.is-fluid-layout .cta__heading-text--dark,
html.is-fluid-layout .cta__heading-reveal,
html.is-fluid-layout .cta__heading-cover {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  transform: none !important;
  clip-path: none !important;
}

html.is-fluid-layout .cta__heading-text--dark,
html.is-fluid-layout .cta__heading-reveal,
html.is-fluid-layout .cta__heading-cover {
  display: none !important;
}

html.is-fluid-layout .cta__heading-text--light {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  font-size: clamp(1.75rem, 6vw, 3.25rem);
  line-height: var(--eq-line-tight);
  text-align: center;
}

html.is-fluid-layout .cta__desc {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: 40rem;
  margin: 1rem auto 0;
  text-align: center;
  font-size: var(--eq-type-body);
  line-height: var(--eq-line-body);
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto;
}

html.is-fluid-layout .cta__cta {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  bottom: auto !important;
  display: inline-flex;
  margin: 1.5rem auto 0;
  min-height: var(--eq-touch-min);
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  pointer-events: auto;
}

html.is-fluid-layout .section-six__stage {
  padding: 0;
}

html.is-fluid-layout .section-six .faq {
  position: relative !important;
  width: 100% !important;
  height: auto !important;
}

html.is-fluid-layout .section-six .faq__item {
  width: 100% !important;
}

html.is-fluid-layout .section-six .faq__item-head,
html.is-fluid-layout .section-six .faq__item-question,
html.is-fluid-layout .section-six .faq__item-answer {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: auto !important;
  max-width: 100%;
}

/* ─── Cart / checkout ─── */

html.is-fluid-layout .wc-cart-content .woocommerce-cart-form,
html.is-fluid-layout .wc-cart-content .cart-collaterals {
  float: none !important;
  width: 100% !important;
  max-width: 100%;
}

html.is-fluid-layout .wc-cart-content .cart-collaterals {
  margin-top: 1.5rem;
}

html.is-fluid-layout .wc-checkout-layout {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

html.is-fluid-layout .wc-checkout-layout__billing,
html.is-fluid-layout .wc-checkout-layout__summary {
  flex: none;
  width: 100% !important;
  max-width: 100%;
}

html.is-fluid-layout .wc-account-content,
html.is-fluid-layout .wc-shop-content,
html.is-fluid-layout .wc-cart-content,
html.is-fluid-layout .wc-checkout-content {
  position: relative !important;
  top: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100%;
  height: auto !important;
  padding: var(--eq-section-gap) var(--eq-page-gutter);
  box-sizing: border-box;
}

html.is-fluid-layout .cart-page .woocommerce-cart-form .button,
html.is-fluid-layout .checkout-page #place_order {
  width: 100%;
  max-width: 22rem;
  min-height: var(--eq-touch-min);
}

/* ─── Tablet landscape + portrait (768–1079) ─── */

@media (min-width: 768px) and (max-width: 1079.98px) {
  html.is-fluid-layout .about-approach,
  html.is-fluid-layout .about-lab,
  html.is-fluid-layout .services-feature,
  html.is-fluid-layout .services-block,
  html.is-fluid-layout .services-block--reverse,
  html.is-fluid-layout .industry-detail-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .services-block,
  html.is-fluid-layout .services-block--reverse {
    display: grid;
    flex-direction: unset;
    align-items: center;
  }

  html.is-fluid-layout .services-block--reverse .services-block__visual {
    order: -1;
  }

  html.is-fluid-layout .services-hero__media--right {
    display: block;
  }

  html.is-fluid-layout .services-hero {
    grid-template-columns: minmax(0, 0.35fr) minmax(0, 1fr) minmax(0, 0.35fr);
    align-items: stretch;
  }

  html.is-fluid-layout .services-hero__media--left {
    grid-column: 1;
  }

  html.is-fluid-layout .services-hero__content {
    grid-column: 2;
  }

  html.is-fluid-layout .services-hero__media--right {
    grid-column: 3;
  }

  html.is-fluid-layout .about-stats__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .industry-detail-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .catalog-grid,
  html.is-fluid-layout .related__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .industry-detail-equipment__nav {
    width: 2.25rem;
    height: 2.25rem;
  }

  html.is-fluid-layout .careers-jobs__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html.is-fluid-layout .careers-intro__grid {
    grid-template-columns: 1fr;
  }

  html.is-fluid-layout .product-page__stage .product-hero {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    grid-template-areas:
      "intro gallery"
      "buy gallery";
    align-items: stretch;
  }

  html.is-fluid-layout .product-page__stage .product-hero__media {
    height: 100%;
  }

  html.is-fluid-layout .product-page__stage .product-layout {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
  }

  html.is-fluid-layout .product-page__stage .product-detail {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: start;
  }

  html.is-fluid-layout .discovery__hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    align-items: center;
    gap: var(--eq-section-gap);
  }

  html.is-fluid-layout .discovery__heading {
    grid-column: 1;
  }

  html.is-fluid-layout .discovery__logo {
    grid-column: 2;
    grid-row: 1 / span 2;
    max-width: none;
  }

  html.is-fluid-layout .discovery__subtext {
    grid-column: 1;
  }

  html.is-fluid-layout .equipment__cards-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  html.is-fluid-layout .services__hero {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
    gap: 1.5rem;
    align-items: start;
  }

  html.is-fluid-layout .services__heading {
    grid-column: 1;
  }

  html.is-fluid-layout .services__intro {
    grid-column: 2;
    margin-top: 0;
  }

  html.is-fluid-layout .services__list {
    grid-column: 1 / -1;
    padding-top: 0;
  }

  html.is-fluid-layout .applications__rig {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: start;
  }

  html.is-fluid-layout .applications__hero-rail {
    grid-column: 1;
  }

  html.is-fluid-layout .applications__cards {
    grid-column: 2;
  }

  html.is-fluid-layout .applications__products-track,
  html.is-fluid-layout .applications__product-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ═══════════════════════════════════════════════════════════════════
   HOME PAGE — Fluid fallback (≤1079px) without waiting for JS class
   Forces stages out of 1920px scaled desktop layout on tablets/phones.
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1079.98px) {
  body.page-home {
    overflow-x: hidden;
  }

  body.page-home .site-chrome {
    position: sticky !important;
    top: 0;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
    pointer-events: auto;
    z-index: 300;
  }

  body.page-home .site-nav {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
  }

  body.page-home .hero__viewport,
  body.page-home .discovery__viewport,
  body.page-home .equipment__viewport,
  body.page-home .services__viewport,
  body.page-home .applications__viewport,
  body.page-home .cta__viewport,
  body.page-home .section-six__viewport {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
  }

  body.page-home .hero__stage,
  body.page-home .discovery__stage,
  body.page-home .equipment__stage,
  body.page-home .services__stage,
  body.page-home .applications__stage,
  body.page-home .cta__stage,
  body.page-home .section-six__stage {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    transform: none !important;
  }

  body.page-home .hero__scroll,
  body.page-home .discovery__scroll,
  body.page-home .equipment__scroll,
  body.page-home .services__scroll,
  body.page-home .applications__scroll,
  body.page-home .cta__scroll {
    height: auto !important;
  }

  body.page-home .discovery__pin,
  body.page-home .equipment__pin,
  body.page-home .services__pin,
  body.page-home .applications__pin,
  body.page-home .cta__pin {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
  }

  body.page-home .discovery,
  body.page-home .equipment,
  body.page-home .services,
  body.page-home .applications,
  body.page-home .cta,
  body.page-home .section-six {
    position: relative !important;
    height: auto !important;
    overflow: hidden;
  }

  body.page-home .hero__curtain,
  body.page-home .hero__intro-logo,
  body.page-home .cta__curtain {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   GLOBAL — Mobile navigation (≤767px)
   Works with or without html.is-fluid-layout (media-query fallback).
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 767.98px) {
  /* Clear fixed chrome: nav padding + pill padding + inner height */
  body.is-chrome-visible:not(.page-home) {
    padding-top: calc(var(--eq-nav-height) + 2.75rem);
  }

  .site-chrome {
    position: fixed !important;
    top: 0;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
    pointer-events: auto;
    z-index: 300;
  }

  .site-nav {
    position: relative !important;
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: auto !important;
    padding: 0.625rem var(--eq-page-gutter);
    visibility: visible;
    opacity: 1;
  }

  .site-nav__pill {
    width: 100%;
    border-radius: 999px;
    padding: 0.7rem 0.875rem;
    overflow: visible;
  }

  /* 3-column grid: [hamburger] [logo] [actions]
     1fr on each side guarantees the logo is always at the true container centre */
  .site-nav__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: var(--eq-nav-height);
    gap: 0;
  }

  /* col 1 — hamburger (direct child, first item) */
  .site-nav__toggle {
    display: inline-flex !important;
    justify-self: start;
    margin-right: 0;
  }

  /* col 2 — logo, true centre */
  .site-nav__logo {
    position: static;
    left: auto;
    top: auto;
    transform: none;
    max-width: min(48vw, 11rem);
    min-width: 0;
    height: auto;
    z-index: 2;
    margin: 0;
    pointer-events: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: visible;
  }

  /* col 3 — search + login, right-aligned */
  .site-nav__actions {
    justify-self: end;
    width: auto;
  }

  .site-nav__logo-stack {
    width: min(168px, 44vw);
    height: 2.5rem;
    overflow: visible;
  }

  .site-nav__logo-img {
    max-width: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
    transform-origin: center center;
  }

  .site-nav__logo-img--top {
    left: 0 !important;
    top: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }

  .site-nav__logo-img--scrolled {
    object-fit: contain;
    object-position: center center;
  }

  .site-nav__links {
    position: fixed;
    left: var(--eq-page-gutter);
    right: var(--eq-page-gutter);
    top: calc(var(--eq-nav-height) + 0.5rem);
    transform: none;
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    width: auto;
    max-width: none;
    max-height: calc(100dvh - var(--eq-nav-height) - 1.5rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 0.75rem;
    border-radius: var(--eq-radius-lg);
    background: rgba(10, 10, 10, 0.92);
    color: #fff;
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.28s ease, transform 0.28s ease, visibility 0.28s ease;
    transform: translateY(-8px);
    z-index: 290;
    white-space: normal;
  }

  body.is-nav-open .site-nav__links {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: none;
  }

  .site-nav__links a {
    display: block;
    padding: 0.875rem 1rem;
    font-size: 1rem;
    line-height: 1.3;
    border-radius: 0.75rem;
    min-height: var(--eq-touch-min);
    white-space: normal;
  }

  .site-nav__links a:hover,
  .site-nav__links a:focus-visible {
    background: rgba(255, 255, 255, 0.08);
  }

  .site-nav__toggle {
    flex-direction: column;
    justify-content: center;
    gap: 0.3125rem;
    width: var(--eq-touch-min);
    height: var(--eq-touch-min);
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(6, 46, 98, 0.08);
    flex-shrink: 0;
    margin-right: 0;
    transition: background-color 0.28s ease;
  }

  html.is-header-scrolled .site-nav__toggle,
  body.is-header-scrolled .site-nav__toggle {
    background: rgba(255, 255, 255, 0.12);
  }

  .site-nav__toggle-bar {
    display: block;
    width: 1.125rem;
    height: 2px;
    margin: 0 auto;
    background: var(--color-navy, #062e62);
    border-radius: 1px;
    transition: transform 0.25s ease, opacity 0.25s ease, background-color 0.28s ease;
  }

  html.is-header-scrolled .site-nav__toggle-bar,
  body.is-header-scrolled .site-nav__toggle-bar {
    background: #fff;
  }

  body.is-nav-open .site-nav__toggle-bar:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  body.is-nav-open .site-nav__toggle-bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
  }

  body.is-nav-open .site-nav__toggle-bar:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .site-nav__actions {
    position: relative;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 0.35rem;
    flex-shrink: 0;
    width: auto;
    margin-left: 0;
    justify-content: flex-end;
  }

  .site-nav__cta,
  html.is-fluid-layout .site-nav__cta {
    position: relative;
    z-index: 3;
    box-sizing: border-box;
    width: var(--eq-touch-min) !important;
    height: var(--eq-touch-min) !important;
    min-width: var(--eq-touch-min) !important;
    max-width: var(--eq-touch-min) !important;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    border-radius: 50%;
    font-size: 0;
    gap: 0;
    flex-shrink: 0;
    align-self: center;
    overflow: hidden;
  }

  .site-nav__cta-label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .site-nav__cta-icon {
    display: block;
    width: 1.25rem;
    height: 1.25rem;
    max-width: 1.25rem;
    max-height: 1.25rem;
    object-fit: contain;
    flex-shrink: 0;
    filter: none;
  }

  html.is-header-scrolled .site-nav__cta-icon,
  body.is-header-scrolled .site-nav__cta-icon {
    filter: brightness(0) invert(1);
  }

  .site-nav__cart,
  .site-nav__search-toggle {
    box-sizing: border-box;
    width: var(--eq-touch-min);
    height: var(--eq-touch-min);
    min-width: var(--eq-touch-min);
    min-height: var(--eq-touch-min);
    max-width: var(--eq-touch-min);
    aspect-ratio: 1 / 1;
    padding: 0;
    flex-shrink: 0;
    align-self: center;
  }

  .site-nav__search-toggle img {
    width: 1.375rem;
    height: 1.375rem;
    max-width: 1.375rem;
    max-height: 1.375rem;
    object-fit: contain;
    flex-shrink: 0;
  }

  .site-fab {
    right: max(1rem, env(safe-area-inset-right));
    bottom: max(1rem, env(safe-area-inset-bottom));
    transform: none !important;
    z-index: 280;
  }
}

/* ─── Mobile: hide cart from header, show as FAB (≤767px) ─── */

@media (max-width: 767.98px) {
  /* Remove cart icon from the sticky header on mobile */
  .site-nav__cart {
    display: none !important;
  }

  /* Cart FAB button — hidden on desktop, shown only on mobile */
  .site-fab__btn--cart {
    display: flex;
    background: var(--color-navy, #062e62);
    box-shadow:
      0 8px 20px rgba(6, 46, 98, 0.28),
      0 3px 6px -2px rgba(0, 0, 0, 0.12);
  }

  .site-fab__btn--cart img {
    width: 22px;
    height: 22px;
    filter: brightness(0) invert(1);
  }

  .site-fab__btn--cart:hover {
    box-shadow:
      0 12px 28px rgba(6, 46, 98, 0.42),
      0 4px 8px -2px rgba(0, 0, 0, 0.14);
  }
}

/* On desktop the cart FAB button must stay hidden */
@media (min-width: 768px) {
  .site-fab__btn--cart {
    display: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   HOME PAGE — Mobile (≤767px)
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 767.98px) {
  /* ── Home: page shell ── */
  html.eq-mobile-layout,
  html.eq-mobile-layout body.page-home,
  body.page-home,
  html.is-fluid-layout .page-home {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    touch-action: auto !important;
    overscroll-behavior: auto;
  }

  body.page-home.is-chrome-visible,
  body.page-home.is-preloading,
  body.page-home:not(.is-chrome-visible) {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: auto !important;
    touch-action: auto !important;
  }

  /* Beat desktop hide rules that keep nav/hero invisible before intro */
  body.page-home .site-nav,
  body.page-home .site-fab,
  body.page-home:not(.is-chrome-visible) .site-nav,
  body.page-home:not(.is-chrome-visible) .site-fab,
  body.page-home.is-preloading .site-nav,
  body.page-home.is-preloading .site-fab {
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.page-home .hero__content,
  body.page-home .hero__partners,
  body.page-home:not(.is-chrome-visible) .hero__content,
  body.page-home:not(.is-chrome-visible) .hero__partners,
  body.page-home.is-preloading .hero__content,
  body.page-home.is-preloading .hero__partners {
    visibility: visible !important;
    opacity: 1 !important;
  }

  /* ── Home: navigation + FAB ── */
  body.page-home .site-chrome {
    position: fixed !important;
    top: 0;
    left: 0 !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    margin-left: 0 !important;
    transform: none !important;
    pointer-events: auto;
    z-index: 300;
  }

  body.page-home .site-nav {
    padding: 0.625rem var(--eq-page-gutter);
  }

  /* Home page nav — same 3-col grid, no overrides needed beyond base mobile rules */
  body.page-home .site-nav__logo-stack {
    width: min(168px, 44vw);
    height: 2.5rem;
    overflow: visible;
  }

  body.page-home .site-nav__logo-img {
    max-width: 100%;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center center;
  }

  body.page-home .site-nav__cta,
  html.is-fluid-layout body.page-home .site-nav__cta {
    box-sizing: border-box;
    width: var(--eq-touch-min) !important;
    height: var(--eq-touch-min) !important;
    min-width: var(--eq-touch-min) !important;
    max-width: var(--eq-touch-min) !important;
    aspect-ratio: 1 / 1;
    padding: 0 !important;
    border-radius: 50%;
    flex-shrink: 0;
  }

  body.page-home .site-nav__links {
    max-height: calc(100dvh - var(--eq-nav-height) - 1.5rem);
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }

  body.page-home .site-fab {
    z-index: 280;
  }

  /* ── Home: shared stage resets ── */
  body.page-home .hero__viewport,
  body.page-home .discovery__viewport,
  body.page-home .equipment__viewport,
  body.page-home .services__viewport,
  body.page-home .applications__viewport,
  body.page-home .cta__viewport,
  body.page-home .section-six__viewport {
    display: block;
    width: 100%;
    height: auto !important;
    overflow: visible;
  }

  body.page-home .hero__stage,
  body.page-home .discovery__stage,
  body.page-home .equipment__stage,
  body.page-home .services__stage,
  body.page-home .applications__stage,
  body.page-home .cta__stage,
  body.page-home .section-six__stage {
    width: 100% !important;
    height: auto !important;
    min-height: 0;
    transform: none !important;
    display: flex;
    flex-direction: column;
  }

  body.page-home .hero__bg,
  body.page-home .hero__overlay,
  body.page-home .discovery__bg,
  body.page-home .equipment__bg,
  body.page-home .services__bg,
  body.page-home .applications__bg,
  body.page-home .cta__bg,
  body.page-home .cta__bg-overlay {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0;
  }

  body.page-home .hero__bg-img,
  body.page-home .cta__bg-image {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
  }

  /* Force visible content when scroll motion is disabled on mobile */
  body.page-home .discovery.has-motion:not(.is-revealed) .discovery__heading,
  body.page-home .discovery.has-motion:not(.is-revealed) .discovery__logo,
  body.page-home .discovery.has-motion:not(.is-revealed) .discovery__subtext,
  body.page-home .discovery.has-motion:not(.is-revealed) .discovery__subtext p,
  body.page-home .equipment.has-motion:not(.is-revealed) .equipment__heading,
  body.page-home .equipment.has-motion:not(.is-revealed) .equipment__card,
  body.page-home .services.has-motion:not(.is-revealed) .services__heading,
  body.page-home .services.has-motion:not(.is-revealed) .services__intro,
  body.page-home .services.has-motion:not(.is-revealed) .services__row-title,
  body.page-home .services.has-motion:not(.is-revealed) .services__row-desc,
  body.page-home .services.has-motion:not(.is-revealed) .services__row-cta,
  body.page-home .services.has-motion:not(.is-revealed) .services__row-divider,
  body.page-home .section-six.has-motion:not(.is-revealed) .faq__title,
  body.page-home .section-six.has-motion:not(.is-revealed) .faq__subtitle,
  body.page-home .section-six.has-motion:not(.is-revealed) .faq__item,
  body.page-home .section-six.has-motion:not(.is-revealed) .contact,
  body.page-home .section-six.has-motion:not(.is-revealed) .site-footer {
    opacity: 1 !important;
    visibility: visible !important;
  }

  /* ── Home: hero ── */
  body.page-home .hero {
    min-height: 0;
    background: var(--color-navy);
  }

  body.page-home .hero__stage {
    position: relative !important;
    min-height: clamp(26rem, 88vh, 36rem);
    padding-top: calc(var(--eq-nav-height) + 0.5rem);
    box-sizing: border-box;
  }

  body.page-home .hero__content,
  body.page-home .hero__partners {
    position: relative !important;
    z-index: 1;
    visibility: visible !important;
    opacity: 1 !important;
    width: 100% !important;
    height: auto !important;
    padding: var(--eq-section-gap) var(--eq-page-gutter);
    box-sizing: border-box;
  }

  body.page-home .hero__headline,
  body.page-home .hero__headline-row,
  body.page-home .hero__subheadline {
    width: 100% !important;
    height: auto !important;
    margin: 0;
  }

  body.page-home .hero__headline-bar {
    display: none;
  }

  body.page-home .hero__headline-row {
    justify-content: flex-start;
    overflow: visible !important;
    max-width: 100%;
  }

  body.page-home .hero__headline-text,
  body.page-home .hero__subheadline {
    white-space: normal;
    text-align: left;
    font-size: clamp(1.625rem, 8vw, 2.5rem);
    line-height: var(--eq-line-tight);
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
  }

  body.page-home .hero__subheadline {
    margin-top: 0.75rem;
    font-size: var(--eq-type-body);
    line-height: var(--eq-line-body);
  }

  body.page-home .hero__partners {
    margin-top: 0;
    padding-top: 0;
    overflow: hidden;
  }

  body.page-home .hero__partners-track {
    display: flex;
    width: max-content;
  }

  body.page-home .hero__partners-set {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: nowrap;
  }

  body.page-home .hero__partners-set img {
    width: auto !important;
    height: clamp(1.25rem, 4vw, 2rem) !important;
    max-width: 6.5rem;
  }

  body.page-home .hero__curtain,
  body.page-home .hero__intro-logo {
    display: none !important;
  }

  /* ── Home: discovery ── */
  body.page-home .discovery__hero-content,
  body.page-home .discovery__hero-inner {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    display: flex;
    flex-direction: column;
    gap: var(--eq-section-gap);
    padding: var(--eq-section-gap) var(--eq-page-gutter);
    box-sizing: border-box;
    overflow: visible !important;
  }

  body.page-home .discovery__heading,
  body.page-home .discovery__logo,
  body.page-home .discovery__subtext,
  body.page-home .discovery__subtext p {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    opacity: 1 !important;
    visibility: visible !important;
    clip-path: none !important;
    overflow: visible !important;
    transform: none !important;
    text-align: left;
  }

  body.page-home .discovery__logo,
  body.page-home .discovery__logo-mask,
  body.page-home .discovery__logo-bg {
    max-width: 18rem;
    margin-inline: 0;
    aspect-ratio: 920 / 736;
  }

  /* ── Home: equipment ── */
  body.page-home .equipment__heading {
    text-align: left;
    padding-inline: var(--eq-page-gutter);
    clip-path: none !important;
    opacity: 1 !important;
    overflow: visible !important;
  }

  body.page-home .equipment__cards-wrap,
  body.page-home .equipment__cards-clip {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    clip-path: none !important;
    padding: 0 var(--eq-page-gutter) var(--eq-section-gap);
    box-sizing: border-box;
  }

  body.page-home .equipment__cards-track {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 1.25rem;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
  }

  body.page-home .equipment__card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    transform: none !important;
    opacity: 1 !important;
  }

  body.page-home .equipment__card--repeat {
    display: none !important;
  }

  body.page-home .equipment__card-link {
    position: relative !important;
    display: flex;
    flex-direction: column;
    width: 100%;
    height: auto;
    border-radius: var(--eq-radius-lg);
    overflow: hidden;
    background: #eee;
  }

  body.page-home .equipment__card-visual,
  body.page-home .equipment__card-caption {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    border-radius: 0;
    background: transparent;
  }

  body.page-home .equipment__card-visual {
    aspect-ratio: 5 / 4;
    min-height: 12rem;
  }

  body.page-home .equipment__card-caption {
    margin: 0;
    padding: 0.875rem 1rem 1.125rem;
  }

  body.page-home .equipment__card-title {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    margin: 0;
    padding: 0;
    font-size: clamp(1rem, 4vw, 1.25rem) !important;
    line-height: 1.3 !important;
  }

  /* ── Home: services ── */
  body.page-home .services__rig {
    position: relative !important;
    padding-bottom: var(--eq-section-gap);
  }

  body.page-home .services__hero {
    display: block;
    padding: var(--eq-section-gap) var(--eq-page-gutter) 0;
  }

  body.page-home .services__heading,
  body.page-home .services__intro {
    color: #fff;
  }

  body.page-home .services__list {
    padding: 1.5rem var(--eq-page-gutter) 0;
  }

  body.page-home .services__row-group {
    position: relative !important;
    padding-block: 1.25rem;
  }

  body.page-home .services__row-divider {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    width: 100% !important;
    margin-block: 0;
    height: 1px;
  }

  /* One rule between items — drop the stacked top+bottom pair */
  body.page-home .services__row-divider--bottom {
    display: none !important;
  }

  body.page-home .services__row-group:first-child > .services__row-divider:first-child {
    display: block;
    margin-bottom: 1rem;
  }

  body.page-home .services__row-group:not(:first-child) > .services__row-divider:first-child {
    margin-top: 0.25rem;
    margin-bottom: 1rem;
  }

  body.page-home .services__row {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    padding-top: 0.5rem;
  }

  body.page-home .services__row-title {
    white-space: normal;
    font-size: clamp(1.25rem, 5vw, 1.75rem);
    line-height: var(--eq-line-tight);
  }

  body.page-home .services__row-desc {
    font-size: var(--eq-type-body);
    line-height: var(--eq-line-body);
  }

  body.page-home .services__row-cta {
    align-self: flex-start;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto;
    min-height: var(--eq-touch-min);
  }

  body.page-home .services__product-float {
    display: none !important;
  }

  /* ── Home: applications (dedicated mobile stack) ── */
  body.page-home .applications__scroll,
  body.page-home .applications__pin,
  body.page-home .applications__viewport,
  body.page-home .applications__stage,
  body.page-home .applications__rig {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    transform: none !important;
  }

  body.page-home .applications {
    overflow: visible !important;
  }

  body.page-home .applications__rig {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: var(--eq-section-gap) var(--eq-page-gutter);
  }

  body.page-home .applications__bg {
    display: none !important;
  }

  body.page-home .applications__hero-rail,
  body.page-home .applications__hero-sticky {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0;
    padding: 0;
    overflow: visible !important;
    pointer-events: auto;
    transform: none !important;
    order: 1;
    z-index: 2;
  }

  body.page-home .applications__hero-sticky--apps .applications__title,
  body.page-home .applications__hero-sticky--apps .applications__desc,
  body.page-home .applications__hero-sticky--apps .applications__cta,
  body.page-home .applications__title,
  body.page-home .applications__desc,
  body.page-home .applications__cta {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0;
    transform: none !important;
    text-align: left;
    opacity: 1 !important;
    visibility: visible !important;
    clip-path: none !important;
  }

  body.page-home .applications__hero-sticky--apps .applications__title,
  body.page-home .applications__rig > .applications__hero-rail .applications__title {
    font-size: clamp(1.5rem, 7vw, 2.25rem) !important;
    line-height: 1.15 !important;
    margin-bottom: 0;
    z-index: 1;
  }

  body.page-home .applications__hero-sticky--apps .applications__desc,
  body.page-home .applications__desc {
    margin-top: 0.75rem !important;
    margin-bottom: 0 !important;
    font-size: var(--eq-type-body) !important;
    line-height: var(--eq-line-body) !important;
    overflow: visible !important;
  }

  body.page-home .applications__hero-sticky--apps .applications__cta,
  body.page-home .applications__cta {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100%;
    margin-top: 1rem !important;
    margin-bottom: 0.5rem !important;
    min-height: var(--eq-touch-min);
  }

  body.page-home .applications__cards {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 2rem !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: auto !important;
    pointer-events: auto;
    order: 2;
    z-index: 1;
    margin-top: 0.5rem;
  }

  body.page-home .applications__card {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column;
    gap: 0.75rem;
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto;
  }

  body.page-home .applications__card-photo {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    border-radius: var(--eq-radius-lg);
    overflow: hidden;
  }

  body.page-home .applications__card-photo img {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
  }

  body.page-home .applications__card-label {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: var(--eq-touch-min);
    margin: 0;
    padding: 0.75rem 1rem;
    font-size: clamp(0.9375rem, 4vw, 1.125rem) !important;
    line-height: 1.3;
    white-space: normal !important;
    border-radius: 999px;
    text-align: center;
  }

  body.page-home .applications__products-track,
  body.page-home .applications__product-row {
    grid-template-columns: 1fr;
  }

  body.page-home .applications__product-caption {
    opacity: 1 !important;
  }

  body.page-home .applications__product-link {
    display: flex;
    flex-direction: column;
    gap: 0;
    border-radius: var(--eq-radius-lg);
    overflow: hidden;
    background: #2a2a2a;
  }

  body.page-home .applications__product-visual,
  body.page-home .applications__product-caption {
    border-radius: 0 !important;
    background: transparent !important;
  }

  body.page-home .applications__product-caption {
    padding: 0.875rem 1rem 1.125rem;
  }

  body.page-home .applications__product-title {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    white-space: normal !important;
    font-size: clamp(0.9375rem, 4vw, 1.125rem) !important;
    line-height: 1.3 !important;
  }

  body.page-home .applications__block--products {
    position: relative !important;
    z-index: 2;
    margin-top: 0;
    padding: var(--eq-section-gap) var(--eq-page-gutter);
    overflow: visible !important;
  }

  body.page-home .applications__products-intro {
    text-align: left;
    margin-bottom: 1.5rem;
    overflow: visible !important;
  }

  body.page-home .applications__block--products .applications__title,
  body.page-home .applications__block--products .applications__desc {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    text-align: left;
    opacity: 1 !important;
    transform: none !important;
    clip-path: none !important;
  }

  body.page-home .applications__scroll {
    margin-bottom: 0;
    padding-bottom: 0.5rem;
  }

  /* ── Home: CTA ── */
  body.page-home .cta__stage {
    position: relative !important;
    min-height: clamp(18rem, 50vh, 28rem);
    overflow: hidden;
  }

  body.page-home .cta__content,
  body.page-home .cta__copy {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    padding: var(--eq-section-gap) var(--eq-page-gutter);
    box-sizing: border-box;
    pointer-events: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
  }

  body.page-home .cta__heading,
  body.page-home .cta__heading-text,
  body.page-home .cta__heading-text--light,
  body.page-home .cta__desc {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    transform: none !important;
    clip-path: none !important;
    text-align: left;
    margin: 0;
    opacity: 1 !important;
    visibility: visible !important;
  }

  body.page-home .cta__heading {
    margin-bottom: 0.75rem;
  }

  body.page-home .cta__heading-text--dark,
  body.page-home .cta__heading-reveal,
  body.page-home .cta__heading-cover,
  body.page-home .cta__curtain {
    display: none !important;
  }

  body.page-home .cta__heading-text--light {
    display: block !important;
    font-size: clamp(1.5rem, 7vw, 2.25rem);
    line-height: 1.2;
  }

  body.page-home .cta__desc {
    margin-top: 0.75rem;
    font-size: var(--eq-type-body);
    line-height: var(--eq-line-body);
    pointer-events: auto;
  }

  body.page-home .cta__cta {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    bottom: auto !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 1.25rem 0 0;
    min-height: var(--eq-touch-min);
    opacity: 1 !important;
    visibility: visible !important;
    transform: none !important;
    pointer-events: auto;
  }

  /* ── Home: section six (FAQ / contact / footer) ── */
  body.page-home .section-six__stage {
    display: flex;
    flex-direction: column;
    gap: 0;
    padding: 0;
  }

  body.page-home .section-six .faq,
  body.page-home .section-six .contact,
  body.page-home .section-six .site-footer {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0;
  }

  body.page-home .faq {
    padding: var(--eq-section-gap) var(--eq-page-gutter);
    order: 1;
  }

  body.page-home .faq__intro,
  body.page-home .faq__list {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    margin: 0;
  }

  body.page-home .faq__title {
    font-size: clamp(1.5rem, 7vw, 2.25rem);
    line-height: 1.2;
  }

  body.page-home .faq__list {
    margin-top: 1.5rem;
  }

  body.page-home .faq__item {
    width: 100% !important;
    max-width: 100%;
  }

  body.page-home .faq__item-body {
    padding: 1rem 0;
  }

  body.page-home .faq__item,
  body.page-home .faq__item-divider,
  body.page-home .faq__item-body,
  body.page-home .faq__item-trigger {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box;
  }

  body.page-home .faq__item-trigger {
    display: flex !important;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0.75rem;
    overflow: hidden;
  }

  body.page-home .faq__item-head {
    display: flex !important;
    flex: 1 1 auto !important;
    flex-shrink: 1 !important;
    flex-wrap: nowrap;
    gap: 0.75rem;
    align-items: flex-start;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
  }

  body.page-home .faq__item-num {
    flex-shrink: 0;
    font-size: 1.125rem !important;
    min-width: 1.75rem;
  }

  body.page-home .faq__item-question {
    white-space: normal !important;
    font-size: clamp(0.9375rem, 4vw, 1.125rem) !important;
    line-height: 1.35;
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
  }

  body.page-home .faq__item-rule {
    display: none !important;
    width: 0 !important;
    margin: 0 !important;
    flex: 0 0 0 !important;
  }

  body.page-home .faq__item-icon {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    flex: 0 0 2rem !important;
    flex-shrink: 0 !important;
    width: 2rem !important;
    height: 2rem !important;
    margin-left: auto;
  }

  body.page-home .faq__item-icon img {
    width: 100% !important;
    height: 100% !important;
  }

  body.page-home .faq__item-answer {
    padding-left: 0 !important;
    max-width: none;
    font-size: var(--eq-type-body);
    line-height: var(--eq-line-body);
  }

  body.page-home .cta__viewport {
    transform: none !important;
  }

  body.page-home .contact {
    order: 2;
    padding: 0 0 var(--eq-section-gap);
  }

  body.page-home .contact__shell {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: calc(100% - var(--eq-page-gutter) * 2) !important;
    height: auto !important;
    margin-inline: auto;
    border-radius: var(--eq-radius-lg);
  }

  body.page-home .contact__grid-lines {
    display: none;
  }

  body.page-home .contact__inner {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    flex-direction: column;
    gap: 1.5rem;
    padding: clamp(1.25rem, 5vw, 2rem);
  }

  body.page-home .contact__copy,
  body.page-home .contact__aside {
    width: 100% !important;
    max-width: none;
  }

  body.page-home .contact__title {
    font-size: clamp(1.75rem, 7vw, 2.5rem);
    line-height: var(--eq-line-tight);
  }

  body.page-home .contact__desc {
    font-size: var(--eq-type-body);
    line-height: var(--eq-line-body);
  }

  body.page-home .contact__submit,
  body.page-home input.contact__submit {
    width: 100%;
    max-width: none;
  }

  body.page-home .section-six .site-footer {
    order: 3;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    height: auto !important;
    padding: var(--eq-section-gap) var(--eq-page-gutter) 2.5rem;
    margin: 0;
  }

  body.page-home .section-six .site-footer__bg {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
  }

  body.page-home .section-six .site-footer__columns {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    margin-top: 1rem;
  }

  body.page-home .section-six .site-footer__watermark {
    display: none !important;
  }

  body.page-home .section-six .site-footer__mark,
  body.page-home .section-six .site-footer__brand {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: auto !important;
    max-width: 7.5rem;
    height: auto;
    margin: 0 auto 0.25rem;
    opacity: 1 !important;
  }

  body.page-home .section-six .site-footer__col-title {
    font-size: 1.125rem !important;
    line-height: 1.3 !important;
    white-space: normal !important;
    margin-bottom: 0.25rem !important;
  }

  body.page-home .section-six .site-footer__links {
    gap: 0.15rem !important;
    margin-top: 0.25rem !important;
  }

  body.page-home .section-six .site-footer__links a {
    font-size: 0.9375rem !important;
    line-height: 1.35 !important;
    min-height: 2.25rem;
    padding-block: 0.25rem;
  }
}

/* ─── Shared mobile refinements (non–page-home) ─── */

@media (max-width: 767.98px) {
  html.is-fluid-layout .about-stats__grid,
  html.is-fluid-layout .related__grid {
    grid-template-columns: 1fr;
  }

  html.is-fluid-layout .industry-detail-equipment__carousel {
    gap: 0.5rem;
  }

  /* Long product names need a tighter mobile scale than short section titles */
  html.is-fluid-layout .product-intro__title,
  html.is-fluid-layout .product-overview__title {
    font-size: clamp(1.25rem, 5.2vw, 1.5rem);
    line-height: 1.2;
  }

  html.is-fluid-layout .product-overview__subtitle,
  html.is-fluid-layout .product-overview__heading {
    font-size: clamp(1.125rem, 4.2vw, 1.375rem);
    line-height: 1.25;
  }
}

/* ═══════════════════════════════════════════════════════════════════
   HOME PAGE — Desktop polish (≥1080px)
   ═══════════════════════════════════════════════════════════════════ */

@media (min-width: 1080px) {
  body.page-home {
    overflow-x: hidden;
  }

  body.page-home .site-nav__links {
    gap: clamp(1.25rem, 1.8vw, 3.125rem);
  }

  body.page-home .contact__title {
    font-size: clamp(2.75rem, 3.2vw, 4rem);
  }
}

@media (min-width: 1080px) and (max-width: 1439.98px) {
  body.page-home .hero__headline-text {
    font-size: clamp(2rem, 2.6vw, 3rem);
  }

  body.page-home .hero__subheadline {
    font-size: clamp(0.9375rem, 1.1vw, 1.125rem);
  }

  body.page-home .discovery__heading,
  body.page-home .equipment__heading,
  body.page-home .services__heading,
  body.page-home .applications__title,
  body.page-home .faq__title {
    font-size: clamp(2.5rem, 3.4vw, 4rem);
  }
}

@media (min-width: 1440px) and (max-width: 1679.98px) {
  body.page-home .site-nav__links {
    gap: clamp(1.75rem, 2vw, 2.75rem);
  }
}

@media (min-width: 1680px) {
  body.page-home .hero__viewport,
  body.page-home .discovery__viewport,
  body.page-home .equipment__viewport,
  body.page-home .services__viewport,
  body.page-home .applications__viewport,
  body.page-home .cta__viewport,
  body.page-home .section-six__viewport {
    max-width: 1920px;
    margin-inline: auto;
  }
}
