/* ─── Figma frame 1:197 — 1920×970 fixed canvas ─── */
:root {
  --hero-w: 1920px;
  --hero-h: 970px;
  --site-scale: 1;
  --stage-height: 970px;

  --color-navy: #062e62;
  --color-red: #ed0308;
  --color-red-border: #ffb8b2;
  --color-whatsapp: #25d366;
  --color-nav-glass: rgba(10, 10, 10, 0.5);
  --color-overlay-final: rgba(0, 0, 0, 0.7);

  --btn-transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
  --btn-shadow-hover: 0 8px 24px rgba(237, 3, 8, 0.38);
  --btn-shadow-active: 0 4px 12px rgba(237, 3, 8, 0.28);

  --font-display: "Neue Reman Gt", "Archivo Expanded", sans-serif;
  --font-body: "Onest", sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #0b0606;
}

body {
  background: #000;
  overflow-x: hidden;
}

/* Center 1920px Figma stages in the browser viewport (equal side margins) */
.hero__viewport,
.discovery__viewport,
.equipment__viewport,
.services__viewport,
.applications__viewport,
.cta__viewport,
.section-six__viewport,
.product-page__viewport,
.catalog-page__viewport {
  display: flex;
  justify-content: center;
}

.hero__stage,
.discovery__stage,
.equipment__stage,
.services__stage,
.applications__stage,
.cta__stage,
.section-six__stage,
.product-page__stage,
.catalog-page__stage {
  flex-shrink: 0;
}

img {
  display: block;
  max-width: none;
}

a {
  color: inherit;
  text-decoration: none;
}

button {
  border: none;
  background: none;
  cursor: pointer;
  font: inherit;
  color: inherit;
}

/* Viewport wrapper — height set by JS scale */
.hero {
  width: 100%;
  min-height: 100vh;
  background: var(--color-navy);
}

.hero__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

/* Fixed Figma artboard */
.hero__stage {
  position: relative;
  width: 1920px;
  height: 970px;
  transform-origin: top center;
  isolation: isolate;
}

/* ─── Background 1:198 ─── */
.hero__bg {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.hero__bg-img {
  position: absolute;
  inset: 0;
  width: 1920px;
  height: 970px;
  object-fit: cover;
  object-position: center;
}

.hero__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.5);
  pointer-events: none;
}

/* ─── Curtain columns ─── */
.hero__curtain {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  overflow: hidden;
  will-change: clip-path;
}

.hero__curtain-sheen {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 140px;
  opacity: 0;
  pointer-events: none;
  z-index: 1;
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(27, 255, 255, 0.06) 28%,
    rgba(27, 255, 255, 0.28) 50%,
    rgba(27, 255, 255, 0.06) 72%,
    transparent 100%
  );
  filter: blur(6px);
  will-change: transform, opacity;
}

.hero__curtain-col {
  position: absolute;
  top: 0;
  width: 387.826px;
  height: 970px;
  background: var(--color-navy);
  transform-origin: center bottom;
  will-change: transform, opacity;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.hero__curtain-col[data-col="0"] { left: 0; }
.hero__curtain-col[data-col="1"] { left: 383.04px; top: -3.03px; height: 973.025px; }
.hero__curtain-col[data-col="2"] { left: 766.09px; }
.hero__curtain-col[data-col="3"] { left: 1149.13px; }
.hero__curtain-col[data-col="4"] { left: 1532.17px; }

/* ─── Intro logo (Frame 1 only) ─── */
.hero__intro-logo {
  position: absolute;
  z-index: 3;
  left: 861px;
  top: 419px;
  width: 197.602px;
  height: 131.813px;
  pointer-events: none;
}

.hero__intro-logo.is-hidden {
  display: none !important;
}

.hero__intro-logo-inner {
  position: relative;
  width: 100%;
  height: 100%;
}

.hero__intro-mask {
  position: absolute;
  left: 0;
  top: 21.8px;
  width: 197.602px;
  height: 88.203px;
  overflow: visible;
}

.hero__intro-ecg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.hero__intro-ecg-trail,
.hero__intro-ecg-line {
  fill: none;
  stroke: #1bffff;
  stroke-width: 1.36749;
  stroke-miterlimit: 10;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.hero__intro-ecg-trail {
  opacity: 0.22;
  stroke-dasharray: 6 14;
  animation: hero-ecg-trail 1.35s linear infinite;
}

.hero__intro-ecg-line {
  filter: drop-shadow(0 0 5px rgba(27, 255, 255, 0.55));
  stroke-dasharray: 14 360;
  animation: hero-ecg-pulse 1.35s linear infinite;
}

.hero__intro-ellipse img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.hero__intro-ellipse {
  position: absolute;
  top: 0;
  width: 127.161px;
  height: 131.813px;
  animation: hero-intro-ellipse-breathe 2.6s ease-in-out infinite;
}

.hero__intro-ellipse--right { left: 70.44px; }
.hero__intro-ellipse--left {
  left: 0;
  transform: scaleY(-1) rotate(180deg);
  animation-delay: -1.3s;
}

@keyframes hero-ecg-pulse {
  0% {
    stroke-dashoffset: 374;
    opacity: 0.35;
  }

  12% {
    opacity: 1;
  }

  100% {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

@keyframes hero-ecg-trail {
  0% {
    stroke-dashoffset: 40;
    opacity: 0.08;
  }

  100% {
    stroke-dashoffset: -40;
    opacity: 0.28;
  }
}

@keyframes hero-intro-ellipse-breathe {
  0%,
  100% {
    opacity: 0.72;
  }

  50% {
    opacity: 1;
  }
}

/* ─── Global sticky chrome (single nav + FABs) ─── */
:root {
  --site-scale: 1;
}

.site-chrome {
  position: fixed;
  top: 0;
  left: 50%;
  width: 1920px;
  margin-left: -960px;
  height: 970px;
  transform: scale(var(--site-scale));
  transform-origin: top center;
  z-index: 100;
  pointer-events: none;
}

.site-nav {
  position: absolute;
  left: 60px;
  top: 13.41px;
  width: 1800px;
  height: 79.474px;
  pointer-events: auto;
  visibility: hidden;
  opacity: 0;
}

.site-nav__pill {
  width: 100%;
  height: 100%;
  padding: 14px 26px 14px 15px;
  border-radius: 300px;
  background: var(--color-nav-glass);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}

.site-nav__inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 52px;
}

.site-nav__logo {
  flex-shrink: 0;
  width: 65px;
  height: 52px;
  margin-right: 0;
}

.site-nav__logo img {
  width: 65px;
  height: 52px;
  object-fit: contain;
}

.site-nav__links {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 50px;
  flex-shrink: 0;
  width: max-content;
  max-width: calc(100% - 280px);
  margin: 0;
  transform: translate(-50%, -50%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 18px;
  line-height: 23px;
  color: #fff;
  white-space: nowrap;
}

.site-nav__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
  flex-shrink: 0;
  width: auto;
  margin-left: auto;
}

.site-nav__cart {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.site-nav__cart:hover {
  transform: scale(1.1);
  opacity: 0.85;
}

.site-nav__cart:active {
  transform: scale(0.94);
}

.site-nav__cart:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
  border-radius: 4px;
}

.site-nav__cart img {
  width: 32px;
  height: 32px;
}

.site-nav__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 157px;
  height: 41px;
  padding: 6px 12px;
  border-radius: 32px;
  border: 0.5px solid var(--color-red-border);
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  white-space: nowrap;
  transition: var(--btn-transition);
}

.site-nav__cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.site-nav__cta:active {
  transform: translateY(0);
  filter: brightness(0.96);
  box-shadow: var(--btn-shadow-active);
}

.site-nav__cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.site-fab {
  position: fixed;
  z-index: 1000;
  right: calc((100vw - min(100vw, 1920px)) / 2 + 7.541px);
  bottom: calc(11.128px * var(--site-scale));
  display: flex;
  flex-direction: column;
  gap: 9.955px;
  width: 46.459px;
  min-height: calc(102.872px * var(--site-scale));
  pointer-events: none;
  visibility: hidden;
  opacity: 0;
  transform: scale(var(--site-scale));
  transform-origin: bottom right;
}

.site-fab__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 46.459px;
  height: 46.459px;
  border-radius: 50%;
  flex-shrink: 0;
  pointer-events: auto;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.site-fab__btn:hover {
  transform: scale(1.06);
}

.site-fab__btn--whatsapp:hover {
  box-shadow:
    0 12px 28px rgba(37, 211, 102, 0.45),
    0 8.296px 12.444px -2.489px rgba(0, 0, 0, 0.1);
}

.site-fab__btn--phone:hover {
  box-shadow:
    0 8px 22px rgba(0, 0, 0, 0.14),
    0 3.318px 4.978px -3.318px rgba(0, 0, 0, 0.1);
}

.site-fab__btn:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.site-fab__btn:active {
  transform: scale(0.96);
}

.site-fab__btn--whatsapp {
  background: var(--color-whatsapp);
  box-shadow:
    0 8.296px 12.444px -2.489px rgba(0, 0, 0, 0.1),
    0 3.318px 4.978px -3.318px rgba(0, 0, 0, 0.1);
}

.site-fab__btn--phone {
  background: #fff;
  box-shadow:
    0 3.318px 4.978px -3.318px rgba(0, 0, 0, 0.1),
    0 0 0 1px rgba(0, 0, 0, 0.04);
}

.site-fab__btn img {
  object-fit: contain;
}

.site-fab__btn--whatsapp img {
  width: 23.229px;
  height: 23.229px;
}

.site-fab__btn--phone img {
  width: 19.911px;
  height: 19.911px;
}

.hero.is-final ~ .site-chrome .site-nav,
body.is-chrome-visible .site-nav {
  visibility: visible;
  opacity: 1;
  transform: none !important;
}

body.is-chrome-visible .site-fab {
  visibility: visible;
  opacity: 1;
  transform: scale(var(--site-scale));
}

/* ─── Navigation (removed from hero — global site-nav used) ─── */

/* ─── Hero copy 1:199 — Frame 4: 757.393×176 ─── */
.hero__content {
  position: absolute;
  z-index: 5;
  left: 581.297px;
  top: 426.677px;
  width: 757.393px;
  height: 176px;
  display: flex;
  flex-direction: column;
  visibility: hidden;
  opacity: 0;
}

/* Headline block 1:201 — 747.627×118 */
.hero__headline {
  width: 757.393px;
  height: 118px;
  flex-shrink: 0;
}

.hero__headline-row {
  position: relative;
  width: 747.627px;
  height: 58.673px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__headline-row--1 {
  height: 58.673px;
}

.hero__headline-bar {
  position: absolute;
  left: 19.648px;
  top: 0;
  width: 704.543px;
  height: 55.747px;
  background: var(--color-red);
  transform-origin: left center;
  transform: scaleX(0);
  opacity: 0;
  z-index: 0;
}

.hero__headline-text {
  position: relative;
  z-index: 1;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 48.557px;
  line-height: 58.673px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
}

/* Subheadline 1:202 — y:128, 757.393×48, gap 10px from headline */
.hero__subheadline {
  width: 757.393px;
  height: 48px;
  margin-top: 10px;
  flex-shrink: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  color: #fff;
}

.hero__subheadline.is-final {
  font-weight: 500;
}

/* Partners 1:229 — y:655 (52.323px below content bottom) */
.hero__partners {
  position: absolute;
  z-index: 6;
  left: 392.492px;
  top: 655px;
  width: 1135px;
  height: 49.721px;
  overflow: hidden;
  visibility: hidden;
  opacity: 0;
}

.hero__partners-track {
  display: flex;
  width: max-content;
  height: 49.721px;
  will-change: transform;
}

.hero__partners-set {
  display: flex;
  align-items: center;
  gap: 50px;
  padding-right: 50px;
  opacity: 0.4;
  flex-shrink: 0;
  height: 49.721px;
}

.hero__partners-set img {
  object-fit: contain;
  flex-shrink: 0;
}

.hero__partners-set img:nth-child(1) { width: 136.85px; height: 30.423px; }
.hero__partners-set img:nth-child(2) { width: 111.491px; height: 32.365px; }
.hero__partners-set img:nth-child(3) { width: 127.33px; height: 24.997px; }
.hero__partners-set img:nth-child(4) { width: 124.327px; height: 21.292px; }
.hero__partners-set img:nth-child(5) { width: 97.499px; height: 49.721px; }
.hero__partners-set img:nth-child(6) { width: 109.006px; height: 43.482px; }
.hero__partners-set img:nth-child(7) { width: 129.223px; height: 48.328px; }

/* ─── Section 2 — Figma frames 1:240 → 1:416 (1920×970) ─── */
.discovery {
  width: 100%;
  background: #0b0606;
}

.discovery__scroll {
  position: relative;
}

.discovery__pin {
  width: 100%;
  height: var(--stage-height);
  min-height: var(--stage-height);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  background: linear-gradient(180deg, #1a1a1a 0%, #0b0606 100%);
}

.discovery__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
}

.discovery__stage {
  position: relative;
  width: 1920px;
  height: 970px;
  transform-origin: top center;
  isolation: isolate;
  overflow: visible;
}

/* Figma node 1:427 / 1:251 — always-visible dark gradient */
.discovery__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: linear-gradient(180deg, #1a1a1a 0%, #0b0606 100%);
}

.discovery__hero-content {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: visible;
}

.discovery__heading,
.discovery__subtext,
.discovery__logo,
.discovery__services-inner {
  will-change: transform;
  backface-visibility: hidden;
}

/* Frame 3 — services interlude (same bg, no black overlay) */
.discovery__services {
  position: absolute;
  inset: 0;
  z-index: 3;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.discovery__services-inner {
  position: absolute;
  left: 63.77px;
  top: 886px;
  width: 472.23px;
  height: 118px;
  overflow: hidden;
}

.discovery__services-base,
.discovery__services-reveal p {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 58.673px;
  white-space: nowrap;
}

.discovery__services-base {
  color: #727272;
}

.discovery__services-reveal {
  position: absolute;
  left: -12.51px;
  top: -6.5px;
  width: 0;
  height: 0;
  overflow: hidden;
}

.discovery__services-reveal p {
  position: absolute;
  left: 12.51px;
  top: 6.5px;
  color: #fff;
}

/* Heading — node 1:429 */
.discovery__heading {
  position: absolute;
  z-index: 4;
  left: 136.99px;
  top: 301.85px;
  width: 615.11px;
  height: 201.45px;
  overflow: visible;
}

.discovery__heading-base {
  margin: 0;
  width: 615.11px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 66.7px;
  color: #727272;
}

.discovery__heading-reveal {
  position: absolute;
  left: -6.5px;
  top: 0.45px;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.discovery__heading-reveal-text {
  position: absolute;
  left: 6.5px;
  top: -0.45px;
  margin: 0;
  width: 615.11px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 66.7px;
  color: #fff;
}

.discovery__heading-reveal::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    108deg,
    transparent 34%,
    rgba(255, 255, 255, 0.22) 50%,
    transparent 66%
  );
  transform: translateX(var(--shine-x, -45%));
  pointer-events: none;
  mix-blend-mode: soft-light;
}

/* Subtext — node 1:434 */
.discovery__subtext {
  position: absolute;
  z-index: 4;
  left: 1262px;
  top: 646px;
  width: 544.45px;
  height: 253px;
  overflow: hidden;
}

.discovery__subtext-base {
  position: absolute;
  left: 0;
  top: 126.5px;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #727272;
  width: 542.05px;
}

.discovery__subtext-base p {
  margin: 0 0 18px;
  width: 542.05px;
}

.discovery__subtext-base p:last-child {
  margin-bottom: 0;
}

.discovery__subtext-reveal {
  position: absolute;
  left: 2.39px;
  top: -18.7px;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.discovery__subtext-reveal-inner {
  position: absolute;
  left: -2.39px;
  top: 145.2px;
  transform: translateY(-50%);
  width: 542.05px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #d9d9d9;
}

.discovery__subtext-reveal-inner p {
  margin: 0 0 18px;
  width: 542.05px;
}

.discovery__subtext-reveal-inner p:last-child {
  margin-bottom: 0;
}

/* Center logo — node 1:439 */
.discovery__logo {
  position: absolute;
  z-index: 1;
  left: 730.07px;
  top: 424.86px;
  width: 459.87px;
  height: 368.22px;
  pointer-events: none;
}

.discovery__logo-mask {
  position: absolute;
  inset: 0;
  -webkit-mask-image: url("../assets/images/discovery-logo-cutout.svg");
  mask-image: url("../assets/images/discovery-logo-cutout.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  -webkit-mask-position: center;
  mask-position: center;
}

.discovery__logo-bg {
  position: absolute;
  inset: -18%;
  animation: discovery-logo-pan 14s ease-in-out infinite alternate;
}

.discovery__logo-video,
.discovery__logo-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.discovery__logo-fallback {
  display: none;
}

.discovery__logo-video.is-unavailable {
  display: none;
}

.discovery__logo-video.is-unavailable + .discovery__logo-fallback {
  display: block;
}

.discovery__logo-tint {
  position: absolute;
  inset: 0;
  background: rgba(237, 3, 8, 0.48);
  mix-blend-mode: multiply;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .discovery__logo-bg {
    animation: none;
    inset: -10%;
  }
}

@keyframes discovery-logo-pan {
  0% {
    transform: scale(1.06) translate(-1.5%, -1%);
  }

  100% {
    transform: scale(1.16) translate(1.5%, 1%);
  }
}

.discovery.is-final .discovery__services {
  opacity: 0 !important;
  visibility: hidden !important;
}

.discovery.is-final .discovery__heading-base,
.discovery.is-final .discovery__subtext-base {
  visibility: hidden;
}

.discovery.is-final .discovery__heading-reveal {
  width: 621.61px;
  height: 201.45px;
}

.discovery.is-final .discovery__subtext-reveal {
  width: 519.61px;
  height: 283.44px;
}

/* ─── Equipment section — Figma nodes 1:537–1:1029 ─── */
.equipment {
  width: 100%;
  background: #fcfcfc;
}

.equipment__scroll {
  position: relative;
}

.equipment__pin {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: visible;
  background: #fcfcfc;
}

.equipment__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: visible;
  transform: translate3d(0, var(--equipment-slide-y, 970px), 0);
}

.equipment__stage {
  position: relative;
  width: 1920px;
  height: 970px;
  transform-origin: top center;
  isolation: isolate;
  overflow: visible;
}

.equipment__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: #fcfcfc;
}

.equipment__heading,
.equipment__card,
.equipment__cards-track {
  will-change: transform, opacity;
  backface-visibility: hidden;
}

/* Heading — node 1:555 / 1:679 */
.equipment__heading {
  position: absolute;
  z-index: 4;
  left: 62.42px;
  top: 426px;
  width: 631.156px;
  height: 118px;
  overflow: visible;
}

.equipment__heading-base {
  margin: 0;
  width: 631.156px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 58.673px;
  color: #c2c2c2;
}

.equipment__heading-reveal {
  position: absolute;
  left: -3.42px;
  top: 0;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.equipment__heading-reveal-text {
  position: absolute;
  left: 3.42px;
  top: 0;
  margin: 0;
  width: 631.156px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 58.673px;
  color: #000;
}

/* Cards — single unified track */
.equipment__cards-wrap {
  position: absolute;
  z-index: 3;
  left: 62px;
  top: 265px;
  width: 1868px;
  height: 487px;
  pointer-events: none;
}

.equipment__cards-clip {
  position: absolute;
  left: -3px;
  top: 0;
  width: 1861px;
  height: 487px;
  overflow: hidden;
}

.equipment__cards-track {
  position: absolute;
  left: 0;
  top: 0;
  width: 3888px;
  height: 487px;
}

.equipment__card {
  position: absolute;
  top: 0;
  left: 0;
  width: 464px;
  height: 487px;
  pointer-events: auto;
  z-index: 1;
}

.equipment__card.is-hover {
  z-index: 4;
}

.equipment__card-link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  outline: none;
}

.equipment__card-visual {
  position: absolute;
  left: -0.59px;
  top: 0;
  width: 463.854px;
  height: 371.642px;
  border-radius: 20px;
  background: #eee;
  backdrop-filter: blur(27px);
  -webkit-backdrop-filter: blur(27px);
  overflow: hidden;
  transition: transform 0.28s ease, background-color 0.28s ease;
}

.equipment__card.is-hover .equipment__card-visual {
  transform: scale(1.02);
  background: #e4e4e4;
}

.equipment__card-caption {
  position: absolute;
  left: -0.59px;
  top: 381.64px;
  width: 463.854px;
  height: 95.375px;
  border-radius: 20px;
  background: #eee;
  backdrop-filter: blur(27px);
  -webkit-backdrop-filter: blur(27px);
}

.equipment__card-title {
  position: absolute;
  left: 31.57px;
  top: 19.69px;
  margin: 0;
  width: 399.543px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 28px;
  color: #000;
}

.equipment__card-name {
  color: var(--color-red);
}

/* Product photo frames — Figma nodes 1:957–1:977 / Component 2 */
.equipment__card-photo {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.equipment__card-photo--contain {
  left: 78.15px;
  top: 46.34px;
  width: 307.553px;
  height: 278.969px;
}

.equipment__card-photo--crop-a {
  left: 78.15px;
  top: 46.34px;
  width: 307.553px;
  height: 278.969px;
}

.equipment__card-photo--crop-b {
  left: 44.85px;
  top: 68.8px;
  width: 374.146px;
  height: 262.018px;
}

.equipment__card-img {
  position: absolute;
  pointer-events: none;
  max-width: none;
  transition: opacity 0.22s ease;
}

.equipment__card.is-hover .equipment__card-img {
  opacity: 0.92;
}

.equipment__card-photo--contain .equipment__card-img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.equipment__card-photo--crop-a .equipment__card-img {
  width: 144.99%;
  height: 115.39%;
  left: -22.5%;
  top: -7.7%;
}

.equipment__card-photo--crop-b .equipment__card-img {
  width: 125.63%;
  height: 129.52%;
  left: -12.81%;
  top: -20.1%;
}

/* Carousel phase removed — unified cards track above */

.equipment.is-final .equipment__heading {
  opacity: 0 !important;
  visibility: hidden !important;
}

.equipment.is-final .equipment__cards-track {
  transform: translate3d(-1393px, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  .equipment__viewport {
    transform: none;
  }
}

/* ─── Section 4 — Figma frames 1:1222 → 1:1663 (1920×1911, +120px bottom inset) ─── */
.services {
  width: 100%;
  background: #141212;
}

.services__scroll {
  position: relative;
}

.services__pin {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  background: #141212;
}

.services__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  transform: translate3d(0, var(--services-slide-y, 970px), 0);
}

.services__stage {
  position: relative;
  width: 1920px;
  height: 970px;
  transform-origin: top center;
  isolation: isolate;
  overflow: hidden;
}

.services__rig {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 1911px;
  will-change: transform;
}

.services__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 1911px;
  z-index: 0;
  background: #141212;
}

.services__hero,
.services__list,
.services__row {
  will-change: transform, opacity;
  backface-visibility: hidden;
}

/* Hero block — nodes 1:1259 / 1:1695 */
.services__hero {
  position: absolute;
  z-index: 2;
  left: 63.77px;
  top: 526px;
  width: 1770.26px;
  height: 347.53px;
}

.services__heading {
  position: absolute;
  left: 0;
  top: 0;
  width: 472.23px;
  height: 118px;
  overflow: visible;
}

.services__heading-base {
  margin: 0;
  width: 472.23px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 58.673px;
  color: #727272;
  white-space: normal;
}

.services__heading-reveal {
  position: absolute;
  left: -12.51px;
  top: -6.5px;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.services__heading-reveal-text {
  position: absolute;
  left: 12.51px;
  top: 6.5px;
  margin: 0;
  width: 472.23px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: 58.673px;
  color: #fff;
  white-space: normal;
}

.services__intro {
  position: absolute;
  left: 1228.21px;
  top: 232.53px;
  width: 542.05px;
  height: 115px;
  overflow: visible;
}

.services__intro-base {
  margin: 0;
  width: 542.05px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: #727272;
}

.services__intro-reveal {
  position: absolute;
  left: -17.1px;
  top: -3.45px;
  width: 0;
  height: 0;
  overflow: hidden;
  pointer-events: none;
}

.services__intro-reveal-text {
  position: absolute;
  left: 17.1px;
  top: 3.45px;
  margin: 0;
  width: 542.05px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: #fff;
}

/* Service rows — node 1:1704 */
.services__list {
  position: absolute;
  z-index: 3;
  left: 60px;
  top: 648.37px;
  width: 1800px;
  height: 1145px;
  padding-bottom: 120px;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.services__rows {
  display: flex;
  flex-direction: column;
  width: 100%;
}

/* Figma row groups — 223px rhythm (1:1705–1:1737), last 133px */
.services__row-group {
  position: relative;
  width: 100%;
  height: 223px;
  flex-shrink: 0;
  z-index: 1;
}

.services__row-group:hover,
.services__row-group.is-active {
  z-index: 5;
}

.services__row-group--last {
  height: 133px;
}

.services__row {
  position: absolute;
  left: 0;
  top: 90px;
  width: 1800px;
  height: 43px;
  cursor: default;
}

.services__row-divider {
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background: rgba(255, 255, 255, 0.18);
  transform-origin: left center;
}

.services__row-group > .services__row-divider:first-child {
  top: 0;
}

.services__row-divider--bottom {
  bottom: 0;
  top: auto;
}

.services__row-title {
  position: absolute;
  left: 0;
  top: 0;
  margin: 0;
  max-width: 960px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 36px;
  line-height: 43px;
  color: #fff;
  white-space: nowrap;
}

.services__row-desc {
  position: absolute;
  left: 1018.19px;
  top: -5.5px;
  margin: 0;
  width: 340px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.35;
  color: #fff;
}

.services__row-cta {
  position: absolute;
  top: 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 157px;
  height: 41px;
  padding: 6px 12px;
  border-radius: 32px;
  border: 0.5px solid var(--color-red-border);
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  white-space: nowrap;
  transition: var(--btn-transition);
}

.services__row-cta:hover,
.services__row-group:hover .services__row-cta:hover {
  transform: scale(1.05) translateY(-2px);
  filter: brightness(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.services__row-cta:active,
.services__row-group:hover .services__row-cta:active {
  transform: scale(1.02) translateY(0);
  filter: brightness(0.96);
  box-shadow: var(--btn-shadow-active);
}

.services__row-cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.services__row-group:nth-child(1) .services__row-cta {
  left: 1642.76px;
}

.services__row-group:nth-child(2) .services__row-cta {
  left: 1642.13px;
}

.services__row-group:nth-child(2) .services__row-desc {
  top: -5px;
}

.services__row-group:nth-child(3) .services__row-cta {
  left: 1637.13px;
}

.services__row-group:nth-child(3) .services__row-desc {
  top: -5px;
}

.services__row-group:nth-child(4) .services__row-cta {
  left: 1643.61px;
  top: 3.5px;
}

.services__row-group:nth-child(4) .services__row-desc {
  top: -4px;
}

.services__row-group:nth-child(5) .services__row-cta {
  left: 1645.33px;
}

.services__row-group:nth-child(5) .services__row-desc {
  top: -6px;
}

.services__row-group:hover .services__row-cta,
.services__row-group.is-active .services__row-cta {
  transform: scale(1.02);
  filter: brightness(1.05);
}

/* Floating product preview — Figma prototype hover */
.services__product-float {
  position: absolute;
  z-index: 6;
  left: 1120px;
  top: 700px;
  width: 320px;
  height: 280px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translate3d(0, 16px, 0) scale(0.94);
  transition:
    opacity 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.45s cubic-bezier(0.4, 0, 0.2, 1),
    visibility 0.45s;
}

.services__product-float.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translate3d(0, 0, 0) scale(1);
}

.services__product-card {
  position: relative;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  background: #eee;
  overflow: hidden;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.45);
}

.services__product-photo {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.services__product-photo--crop-b {
  left: 24px;
  top: 36px;
  width: 272px;
  height: 190px;
}

.services__product-photo--contain {
  left: 36px;
  top: 36px;
  width: 248px;
  height: 224px;
}

.services__product-photo--crop-a {
  left: 36px;
  top: 36px;
  width: 248px;
  height: 224px;
}

.services__product-photo--crop-b .services__product-img {
  width: 125.63%;
  height: 129.52%;
  left: -12.81%;
  top: -20.1%;
}

.services__product-photo--contain .services__product-img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  left: 0;
  top: 0;
}

.services__product-photo--crop-a .services__product-img {
  width: 144.99%;
  height: 115.39%;
  left: -22.5%;
  top: -7.7%;
}

.services__product-img {
  position: absolute;
  pointer-events: none;
  max-width: none;
}

.services.is-final .services__list {
  pointer-events: auto;
}

.services.is-final .services__row-group {
  pointer-events: auto;
}

.services.is-final .services__viewport {
  transform: translate3d(0, 0, 0);
}

.services.is-final .services__hero {
  top: 200px;
}

.services.is-final .services__heading-reveal,
.services.is-final .services__intro-reveal {
  overflow: visible;
  width: auto !important;
  height: auto !important;
}

.services.is-final .services__list {
  top: 648.37px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.is-services-preview .applications {
  display: none !important;
}

body.is-services-preview .services__pin {
  height: min(1911px, calc(1911 / 1920 * 100vw));
  min-height: 0;
  overflow: visible;
}

body.is-services-preview .services__viewport {
  height: min(1911px, calc(1911 / 1920 * 100vw));
  overflow: visible;
  transform: translate3d(0, 0, 0) !important;
}

body.is-services-preview .services__stage {
  height: 1911px;
  overflow: visible;
}

body.is-services-preview .services__scroll {
  min-height: 0;
}

body.is-services-preview .services__hero {
  top: 200px;
}

body.is-services-preview .services__list {
  top: 648.37px;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

body.is-services-preview .services__row-group {
  opacity: 1;
  transform: none;
}

body.is-services-preview .services__heading-reveal,
body.is-services-preview .services__intro-reveal {
  overflow: visible;
  width: auto !important;
  height: auto !important;
}

body.is-services-preview .services__heading-base,
body.is-services-preview .services__intro-base {
  visibility: hidden;
}

@media (prefers-reduced-motion: reduce) {
  .services__viewport {
    transform: none;
  }
}

/* ─── Section 5 — Figma frame 1:1781 (1920×6956) ─── */
.applications {
  width: 100%;
  background: #141212;
}

.applications__scroll {
  position: relative;
}

.applications__pin {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}

.applications__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  transform: translate3d(0, var(--applications-slide-y, 970px), 0);
}

.applications__stage {
  position: relative;
  width: 1920px;
  height: 6956px;
  transform-origin: top center;
  isolation: isolate;
  overflow: hidden;
}

.applications__rig {
  position: absolute;
  inset: 0;
  will-change: transform;
}

.applications__bg {
  position: absolute;
  left: 0;
  width: 1920px;
  pointer-events: none;
}

.applications__bg--white {
  top: -31.13px;
  height: 3129.13px;
  background: #fff;
  z-index: 0;
}

.applications__bg--dark {
  top: 4073.43px;
  height: 2882.67px;
  background: #141212;
  opacity: 0;
  z-index: 0;
}

.applications__hero-rail {
  position: absolute;
  z-index: 3;
  pointer-events: none;
}

.applications__hero-rail--apps {
  left: calc(50% - 365px);
  top: 486px;
  bottom: 0;
  width: 751px;
}

.applications__hero-rail--products {
  left: 50%;
  top: 4926px;
  bottom: 0;
  width: 846px;
  transform: translateX(-50%);
  z-index: 4;
}

.applications__hero-rail--products.is-hidden {
  visibility: hidden !important;
  display: none !important;
  pointer-events: none !important;
}

.applications__hero-sticky {
  position: relative;
  width: 751px;
  height: 494px;
  overflow: visible;
  pointer-events: auto;
  will-change: transform;
}

.applications__hero-sticky--products {
  width: 846px;
  opacity: 0;
}

.applications__title {
  position: absolute;
  top: calc(50% + 205px);
  left: calc(50% - 375.5px);
  transform: translateY(-50%);
  margin: 0;
  width: 751px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 120px;
  line-height: normal;
  color: #000;
}

.applications__hero-sticky--products .applications__title {
  left: calc(50% - 422.95px);
  width: auto;
  white-space: nowrap;
}

.applications__title--light {
  color: #fff;
}

.applications__desc {
  position: absolute;
  bottom: -75.5px;
  left: 50%;
  transform: translate(-50%, 50%);
  margin: 0;
  width: 750.865px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #000;
  text-align: center;
}

.applications__hero-sticky--products .applications__desc {
  left: calc(50% + 0.55px);
}

.applications__desc--light {
  color: #fff;
}

.applications__cta {
  position: absolute;
  bottom: -180px;
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 195px;
  height: 41px;
  padding: 6px 12px;
  border-radius: 32px;
  border: 0.5px solid var(--color-red-border);
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: var(--btn-transition);
}

.applications__cta:hover {
  transform: translateX(-50%) translateY(-2px);
  filter: brightness(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.applications__cta:active {
  transform: translateX(-50%) translateY(0);
  filter: brightness(0.96);
  box-shadow: var(--btn-shadow-active);
}

.applications__cta:focus-visible {
  outline: 2px solid var(--color-red);
  outline-offset: 3px;
}

.applications__cards {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.applications__card {
  position: absolute;
  width: 361.616px;
  display: flex;
  flex-direction: column;
  gap: 4.894px;
  opacity: 0;
  will-change: transform, opacity;
}

.applications__card--1 {
  left: 361.805px;
  top: 1865px;
}

.applications__card--2 {
  left: 1354.738px;
  top: 2319.9px;
}

.applications__card--3 {
  left: 180.996px;
  top: 2608.38px;
}

.applications__card--4 {
  left: 1112.502px;
  top: 3063.45px;
}

.applications__card-photo {
  width: 100%;
  height: 476.707px;
  border-radius: 30px;
  overflow: hidden;
}

.applications__card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}

.applications__card--4 .applications__card-photo img {
  object-position: center;
}

.applications__card-label {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 61.17px;
  border-radius: 186.849px;
  background: #070371;
  backdrop-filter: blur(17.315px);
  -webkit-backdrop-filter: blur(17.315px);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 22.84px;
  color: #fff;
}

.applications__fade {
  position: absolute;
  left: 0;
  width: 1920px;
  pointer-events: none;
  z-index: 1;
}

.applications__fade--mid {
  top: 4073.43px;
  height: 2882.67px;
  background: linear-gradient(180deg, rgba(20, 18, 18, 0) 0%, #141212 26.64%);
  opacity: 0;
}

.applications__fade--bottom {
  top: 5661.08px;
  height: 1295.03px;
  background: linear-gradient(180deg, rgba(20, 18, 18, 0) 0%, #141212 14.83%);
  opacity: 0;
}

.applications__products {
  position: absolute;
  left: 0;
  top: 6118px;
  width: 1920px;
  height: 497.018px;
  z-index: 6;
  overflow: visible;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.applications__products-track {
  position: absolute;
  top: 10px;
  left: 728.073px;
  width: 463.854px;
  height: 477.018px;
  overflow: visible;
  will-change: left;
}

.applications__product {
  position: absolute;
  left: 0;
  top: 0;
  width: 463.854px;
  height: 477.018px;
  margin: 0;
  pointer-events: auto;
  z-index: 1;
  will-change: transform;
}

.applications__product.is-hover {
  z-index: 3;
}

.applications__product-link {
  display: block;
  width: 100%;
  height: 100%;
  color: inherit;
  text-decoration: none;
  cursor: pointer;
  outline: none;
}

.applications__product-visual {
  position: absolute;
  left: 0;
  top: 0;
  width: 463.854px;
  height: 371.642px;
  border-radius: 20px;
  background: #eee;
  overflow: hidden;
  transition: background-color 0.2s ease;
}

.applications__product.is-hover .applications__product-visual,
.applications__products.is-spread .applications__product-visual {
  background: #212121;
}

.applications__product-caption {
  position: absolute;
  left: 0;
  top: 381.64px;
  width: 463.854px;
  height: 95.375px;
  border-radius: 20px;
  background: #eee;
  pointer-events: none;
  opacity: 0;
  transition: background-color 0.2s ease, opacity 0.15s ease;
}

.applications__product.is-hover .applications__product-caption,
.applications__products.is-spread .applications__product-caption {
  background: #212121;
}

.applications__product-title {
  position: absolute;
  left: 32.16px;
  top: 19.69px;
  margin: 0;
  width: 399.543px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  line-height: 28px;
  color: #000;
  text-align: left;
  transition: color 0.2s ease;
}

.applications__product.is-hover .applications__product-title,
.applications__products.is-spread .applications__product-title {
  color: #fff;
}

.applications__product-name {
  color: var(--color-red);
}

.applications__product-photo {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
  opacity: 1;
  transition: opacity 0.2s ease;
}

.applications__product-photo--empty {
  opacity: 0;
}

.applications__product-photo--contain {
  left: 78.15px;
  top: 46.34px;
  width: 307.553px;
  height: 278.969px;
}

.applications__product-photo--crop-a {
  left: 78.81px;
  top: 46.34px;
  width: 307.553px;
  height: 278.969px;
}

.applications__product-photo--crop-b {
  left: 45.52px;
  top: 68.8px;
  width: 374.146px;
  height: 234.044px;
}

.applications__product-img {
  position: absolute;
  pointer-events: none;
  max-width: none;
  transition: opacity 0.2s ease;
}

.applications__product-photo--contain .applications__product-img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.applications__product-photo--crop-a .applications__product-img {
  width: 144.99%;
  height: 115.39%;
  left: -22.5%;
  top: -7.7%;
}

.applications__product-photo--crop-b .applications__product-img {
  width: 125.63%;
  height: 129.52%;
  left: -12.81%;
  top: -22.5%;
}

.applications__product-plus-mark {
  position: absolute;
  left: 393.72px;
  top: 20.69px;
  width: 50px;
  height: 48px;
  border-radius: 8px;
  background: var(--color-red);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease;
  z-index: 2;
}

.applications__product.is-hover .applications__product-plus-mark,
.applications__products.is-spread .applications__product-plus-mark {
  opacity: 1;
}

.applications__product-plus-mark::before,
.applications__product-plus-mark::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
  border-radius: 1px;
}

.applications__product-plus-mark::before {
  width: 18px;
  height: 2px;
}

.applications__product-plus-mark::after {
  width: 2px;
  height: 18px;
}

.applications.is-final .applications__hero-rail--products {
  visibility: hidden !important;
  display: none !important;
  pointer-events: none !important;
}

.applications.is-final .applications__viewport {
  transform: translate3d(0, 0, 0);
}

.applications.is-final .applications__pin {
  background: #141212;
}

@media (prefers-reduced-motion: reduce) {
  .applications__viewport {
    transform: none;
  }
}

/* ─── Section 5 — CTA (Figma frames 1:1303 → 1:1412) ─── */
.cta {
  width: 100%;
  background: #fff;
}

.cta__scroll {
  position: relative;
}

.cta__pin {
  width: 100%;
  height: 100vh;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  overflow: hidden;
  background: #141212;
}

.cta__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  transform: translate3d(0, var(--cta-slide-y, 970px), 0);
}

.cta__stage {
  position: relative;
  width: 1920px;
  height: 970px;
  transform-origin: top center;
  isolation: isolate;
  overflow: hidden;
}

.cta__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.cta__bg-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.cta__bg-overlay {
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.7);
}

.cta__curtain {
  position: absolute;
  top: 0;
  left: 0;
  width: 1920px;
  height: 970px;
  background: #141212;
  z-index: 2;
  will-change: transform, width, left;
}

.cta__content {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.cta__copy {
  position: relative;
  width: 1073.838px;
  height: 271.674px;
  --cta-heading-offset: 1.67px;
}

.cta__heading {
  position: absolute;
  inset: 0;
  margin: 0;
}

.cta__heading-text {
  position: absolute;
  left: 50%;
  top: calc(50% - var(--cta-heading-offset, 1.67px));
  transform: translate(-50%, -50%);
  width: 1073.838px;
  height: 169.18px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  text-align: center;
}

.cta__heading-text--light {
  color: #141212;
  clip-path: inset(0 100% 0 0);
}

.cta__heading-text--dark {
  color: #fff;
  clip-path: inset(0 0 0 0);
}

.cta__heading-reveal {
  position: absolute;
  top: calc(50% - var(--cta-heading-offset, 1.67px));
  transform: translateY(-50%);
  height: 169.18px;
  overflow: hidden;
  pointer-events: none;
}

.cta__heading-reveal-text {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 1073.838px;
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  text-align: center;
  color: #fff;
}

.cta__heading-cover {
  position: absolute;
  top: calc(50% - var(--cta-heading-offset, 1.67px));
  transform: translateY(-50%);
  height: 223.551px;
  background: #141212;
  pointer-events: none;
}

.cta__desc {
  position: absolute;
  left: 50%;
  bottom: 84.29px;
  top: auto;
  transform: translate(-50%, 50%);
  width: 886.033px;
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  text-align: center;
  color: #000;
  opacity: 0;
  pointer-events: none;
}

.cta__cta {
  position: absolute;
  left: 50%;
  top: 230.84px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 211px;
  height: 41px;
  padding: 6px 12px;
  border-radius: 32px;
  border: 0.5px solid var(--color-red-border);
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: #fff;
  white-space: nowrap;
  opacity: 0;
  pointer-events: auto;
  transition: var(--btn-transition);
}

.cta__cta:hover {
  transform: translateX(-50%) translateY(-2px);
  filter: brightness(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.cta__cta:active {
  transform: translateX(-50%) translateY(0);
  filter: brightness(0.96);
  box-shadow: var(--btn-shadow-active);
}

.cta__cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.cta.is-final .cta__copy {
  --cta-heading-offset: 74.84px;
}

.cta.is-final .cta__viewport {
  transform: translate3d(0, 0, 0);
}

.cta.is-final .cta__heading-text--light {
  clip-path: none;
}

.cta.is-final .cta__heading-text--dark {
  clip-path: inset(0 0 0 100%);
}

.cta.is-final .cta__heading-reveal,
.cta.is-final .cta__heading-cover,
.cta.is-final .cta__curtain {
  opacity: 0;
  visibility: hidden;
}

.cta.is-final .cta__desc,
.cta.is-final .cta__cta {
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .cta__viewport {
    transform: none;
  }
}

/* ─── Final state (frame 7) — no GSAP transforms ─── */
.hero.is-final .hero__intro-logo,
.hero.is-final .hero__curtain,
.hero__curtain.is-hidden {
  display: none !important;
}

.hero.is-final .hero__overlay {
  background: var(--color-overlay-final);
}

.hero.is-final .hero__content,
.hero.is-final .hero__partners {
  visibility: visible;
  opacity: 1;
  transform: none !important;
}

.hero.is-final .hero__headline-bar {
  transform: none;
  opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
  .hero__partners-track {
    animation: none !important;
  }

  .hero__intro-ecg-trail,
  .hero__intro-ecg-line,
  .hero__intro-ellipse {
    animation: none !important;
  }

  .hero__intro-ecg-line {
    stroke-dasharray: none;
    opacity: 1;
  }

  .hero__intro-ecg-trail {
    display: none;
  }
}

/* ─── Section 6 — FAQ, Contact, Footer (Figma 1:1437 — 1920×2644) ─── */
.section-six {
  width: 100%;
  background: #fff;
}

.section-six__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.section-six__stage {
  position: relative;
  width: 1920px;
  height: 2644px;
  transform-origin: top center;
  background: #fff;
}

.faq {
  position: absolute;
  left: 0;
  top: 0;
  width: 1920px;
  height: 1175px;
}

.faq__intro {
  position: absolute;
  left: 60px;
  top: 243.38px;
  width: 1144px;
  display: flex;
  flex-direction: column;
  gap: 30px;
}

.faq__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  color: #141212;
}

.faq__subtitle {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #000;
}

.faq__list {
  position: absolute;
  left: 60px;
  top: 391.77px;
  width: 1806px;
}

.faq__item {
  position: relative;
  width: 1806px;
}

.faq__item--last {
  min-height: 86.604px;
}

.faq__item + .faq__item > .faq__item-divider:first-child {
  display: none;
}

.faq__item-divider {
  width: 1799.938px;
  height: 1px;
  background: #d9d9d9;
}

.faq__item-body {
  padding: 50px 0;
}

.faq__item--last .faq__item-body {
  padding-bottom: 0;
}

.faq__item-trigger {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
  color: inherit;
  transition: opacity 0.2s ease;
}

.faq__item-trigger:hover .faq__item-question {
  color: var(--color-red);
}

.faq__item-trigger:hover .faq__item-rule {
  opacity: 0.75;
}

.faq__item-trigger:hover .faq__item-icon {
  transform: scale(1.08);
}

.faq__item.is-open .faq__item-trigger:hover .faq__item-icon {
  transform: rotate(45deg) scale(1.08);
}

.faq__item-trigger:focus-visible {
  outline: 2px solid var(--color-red);
  outline-offset: 4px;
  border-radius: 4px;
}

.faq__item-head {
  display: flex;
  align-items: center;
  gap: 45.754px;
  flex-shrink: 0;
}

.faq__item-num {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  line-height: normal;
  color: var(--color-red);
  min-width: 32px;
}

.faq__item-question {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  line-height: normal;
  color: #141212;
  white-space: nowrap;
  transition: color 0.2s ease;
}

.faq__item-rule {
  flex: 1;
  height: 2px;
  margin: 0 24px;
  background: var(--color-red);
  transform: translateY(0.5px);
  transition: opacity 0.2s ease;
}

.faq__item-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36.604px;
  height: 36.604px;
  flex-shrink: 0;
  transition: transform 0.45s cubic-bezier(0.45, 0, 0.2, 1);
}

.faq__item-icon img {
  display: block;
  width: 36.604px;
  height: 36.604px;
}

.faq__item.is-open .faq__item-icon {
  transform: rotate(45deg);
}

.faq__item-panel {
  height: 0;
  overflow: hidden;
}

.faq__item-panel[hidden] {
  display: block;
}

.faq__item-answer {
  padding: 24px 0 0 77.754px;
  max-width: 980px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.45;
  color: #000;
}

.contact {
  position: absolute;
  left: 0;
  top: 1175px;
  width: 1920px;
  height: 879px;
}

.contact__shell {
  position: absolute;
  left: 10px;
  top: 0;
  width: 1900px;
  height: 879px;
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(ellipse 1900px 879px at 50% 0%, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
}

.contact__grid-lines {
  position: absolute;
  left: 210px;
  top: -2px;
  width: 1477px;
  height: 531px;
  opacity: 0.3;
  mix-blend-mode: plus-lighter;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    90deg,
    #d63614 0,
    #d63614 1px,
    transparent 1px,
    transparent 347.75px
  );
}

.contact__inner {
  position: absolute;
  left: 114px;
  top: 185px;
  width: 1668px;
  height: 509px;
  display: flex;
  gap: 202px;
}

.contact__copy {
  width: 607px;
  flex-shrink: 0;
}

.contact__title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  color: #fff;
}

.contact__desc {
  margin-top: 8px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: 25.2px;
  color: #fff;
}

.contact__aside {
  flex: 1;
  min-width: 0;
  max-width: 859px;
}

.contact__form {
  width: 100%;
}

.contact__field {
  display: block;
  margin-bottom: 24.68px;
}

.contact__label {
  display: block;
  padding-left: 17.28px;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 17.279px;
  line-height: 20.734px;
  letter-spacing: -0.6911px;
  text-transform: uppercase;
  color: #fff;
}

.contact__input,
.contact__textarea {
  display: block;
  width: 100%;
  margin-top: 7.41px;
  padding: 17.28px;
  border: 0;
  background: transparent;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 500;
  font-size: 19.747px;
  line-height: normal;
  letter-spacing: -0.7899px;
  color: #fff;
  outline: none;
  appearance: none;
  -webkit-appearance: none;
  box-shadow: none;
}

.contact__textarea {
  line-height: 23.697px;
  resize: none;
  overflow-y: hidden;
  scrollbar-width: none;
  min-height: 24.684px;
}

.contact__textarea::-webkit-scrollbar {
  display: none;
}

.contact__input::placeholder,
.contact__textarea::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.contact__line {
  display: block;
  height: 1.234px;
  margin-top: 9.86px;
  background: #fff;
}

.contact__submit,
input.contact__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 270.289px;
  height: 50.602px;
  margin-top: 24.68px;
  padding: 7.405px 14.81px;
  border: 0.617px solid var(--color-red-border);
  border-radius: 39.494px;
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, #fff 0%, #fff 100%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 22.216px;
  line-height: normal;
  color: var(--color-red);
  cursor: pointer;
  transition: var(--btn-transition);
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.contact__submit:hover,
input.contact__submit:hover {
  transform: translateY(-2px);
  filter: brightness(1.04);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.16);
}

.contact__submit:active,
input.contact__submit:active {
  transform: translateY(0);
  filter: brightness(0.98);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.contact__submit:focus-visible,
input.contact__submit:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.contact__legal {
  margin-top: 15.58px;
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: 14.81px;
  line-height: 17.772px;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #fff;
}

.contact__legal a {
  color: #fff;
  font-weight: 500;
  text-decoration: none;
}

.contact__legal a:hover {
  text-decoration: underline;
}

.contact__form .wpcf7,
.contact__form .wpcf7 form {
  width: 100%;
  margin: 0;
}

.contact__form .wpcf7-form {
  margin: 0;
}

.contact__form .wpcf7-form p {
  margin: 0;
}

.contact__form .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}

.contact__form .wpcf7-form-control.contact__input,
.contact__form .wpcf7-form-control.contact__textarea {
  width: 100%;
  max-width: none;
  box-shadow: none;
  appearance: none;
  -webkit-appearance: none;
}

.contact__form .wpcf7-spinner {
  margin-left: 12px;
}

.contact__form .wpcf7-not-valid-tip {
  display: block;
  margin-top: 6px;
  padding-left: 17.28px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  color: #ffb4b4;
}

.contact__form .wpcf7-response-output {
  margin: 16px 0 0;
  padding: 12px 17.28px;
  border: 0;
  border-radius: 8px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 14px;
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.contact__form-missing {
  margin: 0;
  font-family: "IBM Plex Mono", monospace;
  font-size: 16px;
  color: rgba(255, 255, 255, 0.72);
}

.site-footer {
  position: absolute;
  left: 10px;
  top: 2064px;
  width: 1900px;
  height: 570px;
  color: #fff;
}

.site-footer__bg {
  position: absolute;
  inset: 0;
  overflow: hidden;
  border-radius: 0;
}

.site-footer__bg-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.site-footer__watermark {
  position: absolute;
  left: 685px;
  top: 114.32px;
  width: 530px;
  height: 424px;
  object-fit: contain;
  pointer-events: none;
}

.site-footer__mark {
  position: absolute;
  left: 108px;
  top: 100.4px;
  width: 159px;
  height: 127px;
  object-fit: contain;
}

.site-footer__columns {
  position: absolute;
  left: 435.039px;
  top: 105.8px;
  display: flex;
  gap: 178.605px;
}

.site-footer__col {
  display: flex;
  flex-direction: column;
}

.site-footer__col-title {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 32.149px;
  line-height: 59.833px;
  white-space: nowrap;
}

.site-footer__links {
  display: flex;
  flex-direction: column;
  gap: 17.861px;
  margin-top: 14.32px;
  padding-left: 0;
}

.site-footer__links a {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 21.433px;
  line-height: normal;
  color: #fff;
  text-decoration: none;
}

.site-footer__links a:hover {
  opacity: 0.85;
}

.site-footer__links--contact {
  padding-left: 0;
}

.site-footer__brand {
  position: absolute;
  left: 1500.97px;
  top: 390.08px;
  width: 349.033px;
  height: 79.976px;
  object-fit: contain;
}

/* ─── Product Detail page — Figma frame 64:2689 (1920×6162) ─── */
.product-page {
  width: 100%;
  background: #fff;
}

.product-page__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.product-page__stage {
  position: relative;
  width: 1920px;
  height: 6162px;
  transform-origin: top center;
  background: #fff;
}

/* Banner — node 64:2690, covers the gallery so the product reveals from behind it */
.product-banner {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
  width: 1920px;
  height: 582px;
  overflow: hidden;
  background: var(--color-navy);
}

.product-banner__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 38%;
}

.product-banner__bar {
  position: absolute;
  left: 50%;
  top: 307.07px;
  width: 1170.905px;
  height: 76.928px;
  transform: translateX(-50%);
  background: var(--color-red);
}

.product-banner__title {
  position: absolute;
  left: 50%;
  top: 236px;
  width: 1170.905px;
  margin: 0;
  transform: translateX(-50%);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  text-align: center;
  color: #fff;
}

/* Gallery — node 69:3109, slides down from behind the banner on scroll */
.product-gallery {
  position: absolute;
  left: 707px;
  top: -132px;
  z-index: 4;
  width: 596px;
  height: 765px;
  will-change: transform;
}

.product-gallery__main {
  position: absolute;
  left: 43.7px;
  top: 162.67px;
  width: 508.995px;
  height: 461.69px;
}

.product-gallery__photo {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.product-gallery__img {
  position: absolute;
  width: 144.99%;
  height: 115.39%;
  left: -22.5%;
  top: -7.7%;
  object-fit: cover;
}

.product-gallery__photo--contain .product-gallery__img {
  inset: 0;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  object-fit: contain;
}

.product-gallery__thumbs {
  position: absolute;
  left: 50%;
  top: 651.63px;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.product-gallery__nav {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36.825px;
  height: 36.825px;
  padding: 6px;
  border-radius: 18.412px;
  background: var(--color-red);
  flex-shrink: 0;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.product-gallery__nav--prev img {
  transform: rotate(180deg);
}

.product-gallery__nav:hover {
  transform: scale(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.product-gallery__nav:active {
  transform: scale(0.95);
}

.product-gallery__thumb {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100px;
  height: 100px;
  background: #e8e8e8;
  border: 1px solid transparent;
  flex-shrink: 0;
  cursor: pointer;
  transition: border-color 0.25s ease, background-color 0.25s ease, transform 0.25s ease;
}

.product-gallery__thumb:hover {
  transform: translateY(-2px);
  background: #f2f2f2;
}

.product-gallery__thumb.is-active {
  background: #fff;
  border-color: rgba(2, 2, 2, 0.6);
}

.product-gallery__thumb-photo {
  position: relative;
  display: block;
  overflow: hidden;
}

.product-gallery__thumb-photo--crop {
  width: 74.321px;
  height: 67.414px;
}

.product-gallery__thumb-photo--crop img {
  position: absolute;
  width: 144.99%;
  height: 115.39%;
  left: -22.5%;
  top: -7.7%;
  object-fit: cover;
  max-width: none;
}

.product-gallery__thumb-photo--contain {
  width: 50px;
  height: 72px;
}

.product-gallery__thumb-photo--contain img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Intro — node 72:3144 */
.product-intro {
  position: absolute;
  left: 60px;
  top: 748px;
  z-index: 3;
  width: 550px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.product-intro__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 48px;
  line-height: normal;
  color: #000;
}

.product-intro__title-name {
  color: var(--color-red);
}

.product-intro__desc {
  display: flex;
  flex-direction: column;
  gap: 24px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 20px;
  line-height: normal;
  color: #000;
}

.product-intro__desc p {
  margin: 0;
}

/* Purchase card — node 69:3113 */
.product-buy {
  position: absolute;
  left: 1420.7px;
  top: 748.43px;
  z-index: 3;
  width: 439.41px;
}

.product-buy__card {
  border: 1px solid #cfcfcf;
  border-radius: 10px;
  padding: 24px 23px 26px;
  background: #fff;
}

.product-buy__row {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 38.66px;
  letter-spacing: -0.32px;
  color: #000;
}

.product-buy__accent {
  color: var(--color-red);
}

.product-buy__catalog {
  font-weight: 400;
}

.product-buy__catalog .product-buy__accent {
  font-weight: 600;
}

.product-buy__divider {
  height: 1px;
  margin: 12px 0;
  background: #e2e2e2;
}

.product-buy__price strong {
  font-weight: 600;
}

.product-buy__price s {
  font-size: 14px;
  color: #827e7e;
}

.product-buy__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 41px;
  margin-top: 8px;
  padding: 6px 12px;
  border-radius: 32px;
  border: 0.5px solid var(--color-red-border);
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  white-space: nowrap;
  transition: var(--btn-transition);
}

.product-buy__cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.product-buy__cta:active {
  transform: translateY(0);
  filter: brightness(0.96);
  box-shadow: var(--btn-shadow-active);
}

.product-buy__divider--specs {
  margin-top: 16px;
}

.product-buy__specs {
  margin: 0;
}

.product-buy__spec {
  display: flex;
  gap: 6px;
  font-size: 18px;
  line-height: 38.66px;
  letter-spacing: -0.32px;
  color: #000;
}

.product-buy__spec dt {
  font-family: var(--font-display);
  font-weight: 600;
}

.product-buy__spec dd {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 300;
}

.product-buy__quote {
  display: inline-flex;
  align-items: center;
  gap: 13px;
  margin-top: 4px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  color: #2d3682;
  transition: opacity 0.2s ease, transform 0.25s ease;
}

.product-buy__quote img {
  transform: rotate(180deg);
}

.product-buy__quote:hover {
  opacity: 0.8;
  transform: translateX(4px);
}

/* Tabs — node 72:3185 */
.product-tabs {
  position: absolute;
  left: 60px;
  top: 1357px;
  z-index: 3;
  width: 1800px;
  height: 133px;
}

.product-tabs__divider {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 1799.69px;
  height: 1.268px;
  background: #d7d7d7;
}

.product-tabs__tab {
  position: absolute;
  bottom: 0;
  height: 62px;
  border: 1.268px solid #d7d7d7;
  border-radius: 10.142px 10.142px 0 0;
  background: #f5f5f5;
  cursor: pointer;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}

.product-tabs__tab:nth-child(1) { left: 0; width: 402px; }
.product-tabs__tab:nth-child(2) { left: 419px; width: 448px; }
.product-tabs__tab:nth-child(3) { left: 885px; width: 449px; }
.product-tabs__tab:nth-child(4) { left: 1352px; width: 448px; }

.product-tabs__tab:hover {
  background: #fff;
}

.product-tabs__tab.is-active {
  background: #fff;
  border-color: var(--color-red);
}

.product-tabs__num {
  position: absolute;
  left: 17.75px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: 16.48px;
  line-height: 19.016px;
  text-transform: uppercase;
  color: #acacac;
}

.product-tabs__label {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 19.016px;
  white-space: nowrap;
  color: #0e202a;
  transition: color 0.2s ease;
}

.product-tabs__tab:hover .product-tabs__label {
  color: var(--color-red);
}

/* Overview column — node 72:3206 */
.product-overview {
  position: absolute;
  left: 60px;
  top: 1571px;
  z-index: 2;
  width: 926px;
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.product-overview__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 48px;
  line-height: normal;
  color: #000;
}

.product-overview__subtitle {
  margin: -2px 0 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 32px;
  line-height: normal;
  color: #000;
}

.product-overview__body {
  display: flex;
  flex-direction: column;
  gap: 26px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 20px;
  line-height: normal;
  color: #000;
}

.product-overview__body p {
  margin: 0;
}

.product-overview__body strong {
  font-weight: 700;
}

.product-overview__block {
  display: flex;
  flex-direction: column;
  gap: 26px;
}

.product-overview__heading {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 32px;
  line-height: normal;
  color: var(--color-red);
}

.product-overview__list {
  margin: 0;
  padding-left: 30px;
  width: 896px;
  list-style: disc;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 20px;
  line-height: 45px;
  color: #000;
}

.product-overview__red {
  color: var(--color-red);
}

.product-overview__closing {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 20px;
  line-height: normal;
  color: #000;
}

.product-overview__closing strong {
  font-weight: 700;
}

/* Specification panel — node 80:3433 */
.product-specs {
  position: absolute;
  left: 1062.92px;
  top: 1571px;
  z-index: 2;
  width: 797.45px;
  border: 1px solid #cfcfcf;
  border-radius: 15px;
  background: #fff;
  overflow: hidden;
}

.product-specs__head {
  position: relative;
  display: flex;
  height: 54px;
  align-items: center;
  border-bottom: 1px solid #d7d7d7;
}

.product-specs__head-label {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 19.016px;
  text-transform: capitalize;
  color: var(--color-red);
}

.product-specs__head-label:first-child {
  position: absolute;
  left: 48px;
}

.product-specs__head-label:last-child {
  position: absolute;
  left: 406px;
}

.product-specs__rows {
  position: relative;
  padding-top: 8px;
}

.product-specs__rows::before {
  content: "";
  position: absolute;
  left: 368.4px;
  top: 0;
  bottom: 0;
  width: 1px;
  background: #d7d7d7;
}

.product-specs__row {
  display: flex;
  align-items: flex-start;
  padding: 8px 0;
  margin: 0 1px;
  border-bottom: 1px solid #ececec;
}

.product-specs__label {
  flex: 0 0 321px;
  padding-left: 46.8px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 16px;
  line-height: 20px;
  color: #000;
}

.product-specs__value {
  flex: 1;
  padding-left: 83.5px;
  padding-right: 44px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 16px;
  line-height: 20px;
  color: #000;
}

.product-specs__benefits {
  position: relative;
  padding-top: 32px;
}

.product-specs__benefits-title {
  margin: 0 0 18px;
  padding-left: 47px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 19.016px;
  color: var(--color-red);
}

.product-specs__benefits .product-specs__row--head {
  border-top: 1px solid #ececec;
  padding-top: 18px;
  padding-bottom: 14px;
}

.product-specs__row--head .product-specs__label,
.product-specs__value--head {
  font-weight: 700;
}

.product-specs__row--last {
  border-bottom: none;
  padding-bottom: 24px;
}

/* Related products — node 80:3434 */
.related {
  position: absolute;
  left: 60px;
  top: 3939px;
  z-index: 2;
  width: 1797.64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

.related__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 78.842px;
  line-height: 83.185px;
  letter-spacing: -0.788px;
  text-align: center;
  color: #000;
}

.related__cards {
  display: flex;
  gap: 16px;
  width: 100%;
}

.related__card {
  position: relative;
  width: 437.41px;
  height: 459.09px;
  flex-shrink: 0;
}

.related__card-link {
  display: block;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.related__card-visual {
  position: absolute;
  left: -0.55px;
  top: 0;
  width: 437.27px;
  height: 350.34px;
  border-radius: 18.854px;
  background: #eee;
  overflow: hidden;
  transition: transform 0.28s ease, background-color 0.28s ease, box-shadow 0.28s ease;
}

.related__card:hover .related__card-visual,
.related__card.is-hover .related__card-visual {
  transform: scale(1.02);
  background: #e4e4e4;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
}

.related__card-caption {
  position: absolute;
  left: -0.55px;
  top: 359.77px;
  width: 437.27px;
  height: 89.91px;
  border-radius: 18.854px;
  background: #eee;
}

.related__card-title {
  position: absolute;
  left: 29.76px;
  top: 18.56px;
  margin: 0;
  width: 376.65px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22.625px;
  line-height: 26.395px;
  color: #000;
}

.related__card-name {
  color: var(--color-red);
}

.related__card-photo {
  position: absolute;
  overflow: hidden;
  pointer-events: none;
}

.related__card-photo--contain {
  left: 73.12px;
  top: 43.68px;
  width: 289.93px;
  height: 262.98px;
}

.related__card-photo--crop-a {
  left: 50%;
  top: 43.68px;
  width: 289.93px;
  height: 262.98px;
  transform: translateX(-50%);
}

.related__card-photo--crop-b {
  left: 50%;
  top: 64.86px;
  width: 352.71px;
  height: 247.71px;
  transform: translateX(-50%);
}

.related__card-img {
  position: absolute;
  pointer-events: none;
  max-width: none;
}

.related__card-photo--contain .related__card-img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.related__card-photo--crop-a .related__card-img {
  width: 144.99%;
  height: 115.39%;
  left: -22.5%;
  top: -7.7%;
}

.related__card-photo--crop-b .related__card-img {
  width: 125.63%;
  height: 129.15%;
  left: -12.81%;
  top: -20.04%;
}

.related__plus {
  position: absolute;
  left: 366px;
  top: 20.86px;
  width: 50px;
  height: 48px;
  border-radius: 8px;
  background: var(--color-red);
  z-index: 2;
}

.related__plus::before,
.related__plus::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: #fff;
  transform: translate(-50%, -50%);
  border-radius: 1px;
}

.related__plus::before {
  width: 21px;
  height: 3.4px;
}

.related__plus::after {
  width: 3.4px;
  height: 21px;
}

/* Shared contact + footer repositioned for the product page */
.product-page__stage .contact {
  top: 4693px;
}

.product-page__stage .site-footer {
  top: 5582px;
}

/* ─── Equipment catalog page — Figma frame 47:6727 (1920×4669) ─── */
.catalog-page {
  width: 100%;
  background: #fff;
}

.catalog-page__viewport {
  position: relative;
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.catalog-page__stage {
  position: relative;
  width: 1920px;
  height: 4669px;
  transform-origin: top center;
  background: #fff;
}

.catalog-tabs {
  position: absolute;
  left: 60px;
  top: 732px;
  z-index: 4;
  width: 1800px;
  height: 110px;
}

.catalog-tabs__divider {
  position: absolute;
  left: 3.625px;
  top: 109.922px;
  width: 1791.84px;
  height: 1px;
  background: #d7d7d7;
}

.catalog-tabs__tab {
  position: absolute;
  top: 0;
  height: 62px;
  border: 1.268px solid #d7d7d7;
  border-radius: 10.142px 10.142px 0 0;
  background: #f5f5f5;
  cursor: pointer;
  text-transform: capitalize;
  transition: background-color 0.25s ease, border-color 0.25s ease;
}

.catalog-tabs__tab:nth-child(1) { left: 0; width: 289px; }
.catalog-tabs__tab:nth-child(2) { left: 302px; width: 290px; }
.catalog-tabs__tab:nth-child(3) { left: 605px; width: 292px; }
.catalog-tabs__tab:nth-child(4) { left: 910px; width: 288px; }
.catalog-tabs__tab:nth-child(5) { left: 1211px; width: 288px; }
.catalog-tabs__tab:nth-child(6) { left: 1512px; width: 288px; }

.catalog-tabs__tab:hover {
  background: #fff;
}

.catalog-tabs__tab.is-active {
  background: #fff;
  border-color: var(--color-red);
}

.catalog-tabs__num {
  position: absolute;
  left: 17.75px;
  top: 50%;
  transform: translateY(-50%);
  font-family: "IBM Plex Mono", monospace;
  font-weight: 400;
  font-size: 16.48px;
  line-height: 19.016px;
  text-transform: uppercase;
  color: #acacac;
}

.catalog-tabs__label {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 19.016px;
  text-transform: capitalize;
  white-space: nowrap;
  color: #0e202a;
  transition: color 0.2s ease;
}

.catalog-tabs__tab:hover .catalog-tabs__label {
  color: var(--color-red);
}

.catalog-filters {
  position: absolute;
  left: 60px;
  top: 809px;
  z-index: 3;
  width: 392px;
  will-change: transform;
}

.catalog-filters.is-sticky-active {
  z-index: 5;
}

.catalog-filters__list {
  display: flex;
  flex-direction: column;
  gap: 17px;
  padding-top: 99px;
}

.catalog-filter {
  border: 0.914px solid rgba(0, 0, 0, 0.1);
  border-radius: 18.281px;
  background: #f2f2f2;
  overflow: hidden;
  transition: background-color 0.28s ease;
}

.catalog-filter.is-active {
  background: var(--color-red);
}

.catalog-filter__trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 83.6px;
  padding: 28px 25px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  line-height: 26.395px;
  color: #000;
  transition: color 0.25s ease;
}

.catalog-filter.is-active .catalog-filter__trigger {
  color: #fff;
}

.catalog-filter__trigger img {
  flex-shrink: 0;
  transition: transform 0.28s ease, filter 0.28s ease;
}

.catalog-filter.is-active .catalog-filter__trigger img {
  filter: brightness(0) invert(1);
}

.catalog-filter.is-open .catalog-filter__trigger img {
  transform: rotate(90deg);
}

.catalog-filter__panel {
  overflow: hidden;
  height: 0;
  opacity: 0;
  padding: 0 25px;
  pointer-events: none;
}

.catalog-filter.is-open .catalog-filter__panel {
  height: auto;
  opacity: 1;
  padding: 0 25px 24px;
  pointer-events: auto;
}

.catalog-filter__rule {
  height: 1px;
  margin-bottom: 18px;
  background: rgba(255, 255, 255, 0.35);
}

.catalog-filter__option {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  cursor: pointer;
}

.catalog-filter__option:last-child {
  margin-bottom: 0;
}

.catalog-filter__option input {
  position: absolute;
  opacity: 0;
  width: 20px;
  height: 20px;
  margin: 0;
  cursor: pointer;
}

.catalog-filter__box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 2px;
  flex-shrink: 0;
}

.catalog-filter__box img {
  display: none;
  width: 16px;
  height: 16px;
}

.catalog-filter__option input:checked + .catalog-filter__box {
  background: #fff;
}

.catalog-filter__option input:checked + .catalog-filter__box img {
  display: block;
}

.catalog-filter__text {
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 18px;
  line-height: 26.395px;
  color: #fff;
}

.catalog-toolbar {
  position: absolute;
  left: 507px;
  top: 908px;
  z-index: 4;
  width: 1343px;
  height: 55px;
}

.catalog-toolbar__view-label {
  position: absolute;
  left: 4.86px;
  top: 28.3px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  line-height: 26.395px;
  color: #000;
}

.catalog-toolbar__view {
  position: absolute;
  left: 120px;
  top: 21.93px;
  display: flex;
  gap: 13.6px;
}

.catalog-toolbar__view-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 25.37px;
  height: 25.37px;
  padding: 0;
  border-radius: 2px;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.catalog-toolbar__view-btn:hover {
  transform: scale(1.08);
}

.catalog-toolbar__view-btn.is-active {
  opacity: 1;
}

.catalog-toolbar__view-btn:not(.is-active) {
  opacity: 0.45;
}

.catalog-toolbar__grid-icon {
  display: block;
  width: 25.37px;
  height: 25.37px;
  background:
    linear-gradient(#000, #000) 0 0 / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 9.05px 0 / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 18.1px 0 / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 0 9.05px / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 9.05px 9.05px / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 18.1px 9.05px / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 0 18.1px / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 9.05px 18.1px / 7.27px 7.27px no-repeat,
    linear-gradient(#000, #000) 18.1px 18.1px / 7.27px 7.27px no-repeat;
}

.catalog-toolbar__list-icon {
  display: block;
  width: 25.37px;
  height: 25.37px;
  background:
    linear-gradient(#000 0 0) 0 0 / 7.27px 7.27px,
    linear-gradient(#000 0 0) 9.05px 0 / 16.32px 7.27px,
    linear-gradient(#000 0 0) 0 9.05px / 7.27px 7.27px,
    linear-gradient(#000 0 0) 9.05px 9.05px / 16.32px 7.27px,
    linear-gradient(#000 0 0) 0 18.1px / 7.27px 7.27px,
    linear-gradient(#000 0 0) 9.05px 18.1px / 16.32px 7.27px;
  background-repeat: no-repeat;
}

.catalog-toolbar__sort-label {
  position: absolute;
  left: 841.84px;
  top: 19.5px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 24px;
  line-height: 26.395px;
  color: #000;
  white-space: nowrap;
}

.catalog-toolbar__sort-wrap {
  position: absolute;
  right: 0;
  top: 0;
  width: 392px;
  height: 55px;
  z-index: 6;
}

.catalog-toolbar__sort {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  height: 55px;
  padding: 15px 25px;
  border: 0.914px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  background: #f8f8f8;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 24px;
  line-height: 26.395px;
  color: #000;
  transition: var(--btn-transition);
}

.catalog-toolbar__sort-value {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding-right: 12px;
}

.catalog-toolbar__sort.is-open img {
  transform: rotate(-90deg);
}

.catalog-toolbar__sort-menu {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 8;
  width: 100%;
  margin: 0;
  padding: 8px 0;
  list-style: none;
  border: 0.914px solid rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.1);
}

.catalog-toolbar__sort-menu:not([hidden]) {
  display: block;
}

.catalog-toolbar__sort-option {
  display: block;
  width: 100%;
  padding: 12px 25px;
  border: 0;
  background: transparent;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  text-align: left;
  color: #000;
  cursor: pointer;
  transition: background-color 0.2s ease, color 0.2s ease;
}

.catalog-toolbar__sort-option:hover,
.catalog-toolbar__sort-option.is-selected {
  background: #f8f8f8;
  color: var(--color-red);
}

.catalog-toolbar__sort img {
  transform: rotate(90deg);
  flex-shrink: 0;
}

.catalog-toolbar__sort:hover {
  background: #fff;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.06);
}

.catalog-grid {
  position: absolute;
  left: 507px;
  top: 988px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: 86px 16px;
  width: 1349.82px;
}

.catalog-grid.is-list {
  flex-direction: column;
  gap: 24px;
}

.catalog-grid.is-list .catalog-card {
  width: 100%;
  height: auto;
}

.catalog-grid.is-list .related__card-link {
  display: flex;
  align-items: stretch;
  min-height: 180px;
}

.catalog-grid.is-list .related__card-visual {
  position: relative;
  left: 0;
  top: 0;
  width: 220px;
  height: 180px;
  flex-shrink: 0;
}

.catalog-grid.is-list .related__card-caption,
.catalog-grid.is-list .catalog-card__caption {
  position: relative;
  left: 0;
  top: 0;
  width: auto;
  height: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px 30px;
  border-radius: 0 18.854px 18.854px 0;
}

.catalog-card.related__card {
  width: 437.41px;
  height: 459.09px;
}

.catalog-card--priced {
  height: 493px;
}

.catalog-card--priced .related__card-caption {
  top: 345.71px;
  height: 147.29px;
}

.catalog-card__caption {
  display: flex;
  flex-direction: column;
  gap: 17px;
  justify-content: center;
}

.catalog-card--priced .related__card-title {
  position: relative;
  left: 0;
  top: 0;
  width: calc(100% - 60px);
  margin: 18px 30px 0;
  padding: 0;
}

.catalog-card--priced .catalog-card__divider {
  margin-top: 0;
}

.catalog-card__divider {
  width: calc(100% - 60px);
  height: 1px;
  margin: 0 30px;
  background: #d7d7d7;
}

.catalog-card__price {
  margin: 0;
  padding: 0 30px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 19.296px;
  line-height: 21.222px;
  color: #000;
}

.catalog-card__price strong {
  color: var(--color-red);
  font-weight: 700;
}

.catalog-card__price s {
  font-weight: 500;
  font-size: 12.864px;
  color: #acacac;
}

.is-catalog-price-page .catalog-card {
  transition: height 0.28s ease;
}

.is-catalog-price-page .catalog-card .related__card-caption {
  transition: top 0.28s ease, height 0.28s ease;
}

.is-catalog-price-page .catalog-card__divider,
.is-catalog-price-page .catalog-card__price {
  display: none;
  opacity: 0;
  overflow: hidden;
  transition: opacity 0.28s ease;
}

.is-catalog-price-page .catalog-card:hover,
.is-catalog-price-page .catalog-card:focus-within {
  height: 493px;
}

.is-catalog-price-page .catalog-card:hover .related__card-caption,
.is-catalog-price-page .catalog-card:focus-within .related__card-caption {
  top: 345.71px;
  height: 147.29px;
}

.is-catalog-price-page .catalog-card:hover .related__card-title,
.is-catalog-price-page .catalog-card:focus-within .related__card-title {
  position: relative;
  left: 0;
  top: 0;
  width: calc(100% - 60px);
  margin: 18px 30px 0;
  padding: 0;
}

.is-catalog-price-page .catalog-card:hover .catalog-card__divider,
.is-catalog-price-page .catalog-card:focus-within .catalog-card__divider,
.is-catalog-price-page .catalog-card:hover .catalog-card__price,
.is-catalog-price-page .catalog-card:focus-within .catalog-card__price {
  display: block;
  opacity: 1;
}

.is-catalog-price-page .catalog-grid.is-list .catalog-card:hover,
.is-catalog-price-page .catalog-grid.is-list .catalog-card:focus-within {
  height: auto;
}

.is-catalog-price-page .catalog-grid.is-list .catalog-card:hover .related__card-caption,
.is-catalog-price-page .catalog-grid.is-list .catalog-card:focus-within .related__card-caption {
  top: auto;
  height: auto;
}

.is-catalog-price-page .catalog-grid.is-list .catalog-card__divider,
.is-catalog-price-page .catalog-grid.is-list .catalog-card__price {
  display: none;
  opacity: 0;
}

.is-catalog-price-page .catalog-grid.is-list .catalog-card:hover .catalog-card__divider,
.is-catalog-price-page .catalog-grid.is-list .catalog-card:focus-within .catalog-card__divider,
.is-catalog-price-page .catalog-grid.is-list .catalog-card:hover .catalog-card__price,
.is-catalog-price-page .catalog-grid.is-list .catalog-card:focus-within .catalog-card__price {
  display: block;
  opacity: 1;
}

.catalog-card--quote {
  height: 493px;
}

.catalog-card--quote .related__card-caption {
  top: 359.77px;
  height: 133.23px;
}

.catalog-card--quote .related__card-title {
  position: relative;
  left: 0;
  top: 0;
  width: calc(100% - 60px);
  margin: 18px 30px 0;
  padding: 0;
}

.catalog-card--quote .catalog-card__divider {
  margin-top: 0;
}

.is-catalog-quote-page .catalog-card {
  transition: height 0.28s ease;
}

.is-catalog-quote-page .catalog-card .related__card-caption {
  transition: height 0.28s ease;
}

.is-catalog-quote-page .catalog-card__divider {
  display: none;
  opacity: 0;
  height: 1px;
  margin: 0 30px;
  overflow: hidden;
  transition: opacity 0.28s ease;
}

.is-catalog-quote-page .catalog-card:hover .catalog-card__divider,
.is-catalog-quote-page .catalog-card:focus-within .catalog-card__divider {
  display: block;
  opacity: 1;
}

.is-catalog-quote-page .catalog-card:hover,
.is-catalog-quote-page .catalog-card:focus-within {
  height: 493px;
}

.is-catalog-quote-page .catalog-card:hover .related__card-caption,
.is-catalog-quote-page .catalog-card:focus-within .related__card-caption {
  height: 133.23px;
}

.is-catalog-quote-page .catalog-card:hover .related__card-title,
.is-catalog-quote-page .catalog-card:focus-within .related__card-title {
  position: relative;
  left: 0;
  top: 0;
  width: calc(100% - 60px);
  margin: 18px 30px 0;
  padding: 0;
}

.catalog-card__quote {
  position: absolute;
  left: 29.99px;
  top: 473px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 377px;
  height: 41px;
  padding: 6px 12px;
  border: 0.5px solid var(--color-red-border);
  border-radius: 32px;
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 18px;
  line-height: normal;
  color: #fff;
  white-space: nowrap;
  transition: var(--btn-transition);
}

.is-catalog-quote-page .catalog-card__quote {
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  pointer-events: none;
  transition:
    opacity 0.28s ease,
    visibility 0.28s ease,
    transform 0.28s ease,
    filter 0.28s ease,
    box-shadow 0.28s ease;
}

.is-catalog-quote-page .catalog-card:hover .catalog-card__quote,
.is-catalog-quote-page .catalog-card:focus-within .catalog-card__quote {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.catalog-card__quote:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.catalog-card__quote:active {
  transform: translateY(0);
  filter: brightness(0.96);
  box-shadow: var(--btn-shadow-active);
}

.catalog-card__quote:focus-visible {
  outline: 2px solid var(--color-red);
  outline-offset: 3px;
}

.catalog-grid.is-list .catalog-card--quote {
  height: auto;
}

.catalog-grid.is-list .catalog-card--quote .related__card-caption {
  top: auto;
  height: auto;
}

.is-catalog-quote-page .catalog-grid.is-list .catalog-card:hover,
.is-catalog-quote-page .catalog-grid.is-list .catalog-card:focus-within {
  height: auto;
}

.is-catalog-quote-page .catalog-grid.is-list .catalog-card:hover .related__card-caption,
.is-catalog-quote-page .catalog-grid.is-list .catalog-card:focus-within .related__card-caption {
  height: auto;
}

.catalog-grid.is-list .catalog-card__quote {
  position: relative;
  left: 0;
  top: 0;
  width: 100%;
  max-width: 377px;
  margin: 0 30px 24px;
}

.is-catalog-quote-page .catalog-grid.is-list .catalog-card__quote {
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  pointer-events: none;
}

.is-catalog-quote-page .catalog-grid.is-list .catalog-card:hover .catalog-card__quote,
.is-catalog-quote-page .catalog-grid.is-list .catalog-card:focus-within .catalog-card__quote {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

.catalog-page__soft-bg {
  position: absolute;
  left: 0;
  top: 2840px;
  width: 1920px;
  height: 997px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, #f7f7f7 28%, #f7f7f7 100%);
  pointer-events: none;
}

.catalog-grid.is-list .catalog-card--priced {
  height: auto;
}

.catalog-grid.is-list .catalog-card--priced .related__card-caption {
  top: auto;
  height: auto;
}

.catalog-grid.is-list .related__card-title {
  position: relative;
  left: 0;
  top: 0;
  width: auto;
  margin: 0;
  padding: 0;
}

.catalog-grid.is-list .catalog-card__divider {
  width: 100%;
  margin: 0;
}

.catalog-grid.is-list .catalog-card__price {
  padding: 0;
  margin: 0;
}

.catalog-grid.is-list .catalog-card--priced .related__card-title {
  width: auto;
  margin: 0;
  padding: 0;
}

.catalog-page__stage .contact {
  top: 3199px;
}

.catalog-page__stage .site-footer {
  top: 4088px;
}

.catalog-page__stage.is-layout-ready .contact,
.catalog-page__stage.is-layout-ready .site-footer,
.catalog-page__stage.is-layout-ready .catalog-page__soft-bg {
  transition: top 0.35s ease;
}

@media (prefers-reduced-motion: reduce) {
  .faq__item-icon {
    transition: none;
  }
}

/* ─── Industries page — Figma frame 63:1095 (1920×4149) ─── */
.industries-page .catalog-page__stage {
  height: 4149px;
}

.industries-page .product-banner__title--industry,
.industry-detail-page .product-banner__title--industry {
  width: 949.438px;
  white-space: normal;
}

.industries-page .product-banner__bar--industry,
.industry-detail-page .product-banner__bar--industry {
  left: calc(50% + 107.35px);
  width: 367.369px;
  transform: none;
}

.industries-page .catalog-page__stage .contact {
  top: 2679px;
}

.industries-page .catalog-page__stage .site-footer {
  top: 3568px;
}

.industries-page .catalog-page__soft-bg {
  top: 2320px;
}

.industries-sidebar {
  position: absolute;
  left: 60px;
  top: 687.5px;
  z-index: 4;
  width: 361px;
}

.industries-sidebar__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 48px;
  line-height: normal;
  color: var(--color-red);
}

.industries-sidebar__rule {
  width: 360.972px;
  height: 1px;
  margin-top: 28.17px;
  background: #d7d7d7;
}

.industries-sidebar__body {
  position: relative;
  margin-top: 36.83px;
}

.industries-sidebar__track {
  position: absolute;
  left: 350.9px;
  top: -23.93px;
  width: 6.415px;
  height: 687.047px;
  border-radius: 300px;
  background: #d9d4d4;
  pointer-events: none;
}

.industries-sidebar__thumb {
  width: 100%;
  height: 91.974px;
  border-radius: 300px;
  background: var(--color-red);
  transition: transform 0.35s ease;
}

.industries-sidebar__filters {
  display: flex;
  flex-direction: column;
  gap: 50px;
  width: max-content;
  max-width: calc(100% - 24px);
}

.industries-sidebar__option {
  gap: 15px;
  margin-bottom: 0;
}

.industries-sidebar__option .catalog-filter__box {
  border-color: #000;
}

.industries-sidebar__option input:checked + .catalog-filter__box {
  background: transparent;
}

.industries-sidebar__option .catalog-filter__text {
  font-weight: 300;
  font-size: 20px;
  line-height: 26.395px;
  color: #000;
}

.industries-grid {
  position: absolute;
  left: 475.94px;
  top: 728.5px;
  z-index: 3;
  display: grid;
  grid-template-columns: repeat(3, 439.409px);
  gap: 50px 33px;
  width: 1384.226px;
}

.industry-card {
  position: relative;
  width: 439.409px;
  height: 548.587px;
}

.industry-card__link {
  position: relative;
  display: block;
  width: 100%;
  height: 100%;
  border: 1px solid #cfcfcf;
  border-radius: 10px;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background: #fff;
  transition: box-shadow 0.28s ease, transform 0.28s ease;
}

.industry-card__link:hover {
  transform: translateY(-4px);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.1);
}

.industry-card__visual {
  position: relative;
  width: 100%;
  height: 314.728px;
  overflow: hidden;
  border-radius: 10px 10px 0 0;
}

.industry-card__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.industry-card__link:hover .industry-card__img {
  transform: scale(1.03);
}

.industry-card__tone {
  position: absolute;
  inset: 0;
  background: #473535;
  mix-blend-mode: color;
  pointer-events: none;
}

.industry-card__body {
  position: absolute;
  left: 34.2px;
  top: 341px;
  width: 371px;
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.industry-card__copy {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.industry-card__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 38.66px;
  letter-spacing: -0.3181px;
  color: #000;
}

.industry-card__desc {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #797b7e;
}

.industry-card__cta-text {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #2d3682;
}

.industry-card__cta-arrow {
  position: absolute;
  left: 189px;
  top: 162px;
  width: 24px;
  height: 24px;
  pointer-events: none;
  transition: transform 0.28s ease;
}

.industry-card__link:hover .industry-card__cta-arrow {
  transform: translateX(4px);
}

@media (prefers-reduced-motion: reduce) {
  .industry-card__link,
  .industry-card__img,
  .industries-sidebar__thumb,
  .industry-card__cta-arrow {
    transition: none;
  }
}

/* ─── Industry detail page — Figma frame 44:1200 (1920×9417) ─── */
.industry-detail-page .catalog-page__stage {
  height: 9417px;
}

.industry-detail-intro {
  position: absolute;
  left: 60px;
  top: 732.329px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 24px;
  width: 1800px;
}

.industry-detail-intro__eyebrow {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 19.365px;
  letter-spacing: 1.3832px;
  text-transform: uppercase;
  color: var(--color-red);
}

.industry-detail-intro__title {
  margin: 0;
  max-width: 1516.592px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 78.842px;
  line-height: 83.185px;
  letter-spacing: -0.7884px;
  color: #000;
}

.industry-detail-columns {
  position: absolute;
  left: 0;
  top: 1021.803px;
  z-index: 3;
  width: 1920px;
  height: 168.749px;
}

.industry-detail-column {
  position: absolute;
  top: 0;
  width: 887.095px;
  height: 168.749px;
  border-top: 1.383px solid #dadee3;
}

.industry-detail-column--left {
  left: 60px;
}

.industry-detail-column--right {
  left: 972.904px;
}

.industry-detail-column p {
  position: absolute;
  left: 0;
  right: 0;
  top: 112.73px;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 22.131px;
  line-height: 35.963px;
  color: #797b7e;
}

.industry-detail-feature {
  position: absolute;
  left: 60px;
  top: 1259.711px;
  z-index: 3;
  width: 1800px;
  height: 737.093px;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}

.industry-detail-feature__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
}

.industry-detail-partners,
.about-partners {
  position: absolute;
  z-index: 3;
  width: 1900px;
  height: 93.004px;
  overflow: hidden;
  background: var(--color-red);
}

.industry-detail-partners {
  left: 10px;
  top: 2146.804px;
}

.about-partners {
  left: 9.641px;
  top: 1458px;
}

.about-partners .hero__partners-set,
.industry-detail-partners .hero__partners-set {
  opacity: 1;
}

.industry-detail-partners .hero__partners-track,
.about-partners .hero__partners-track {
  height: 49.721px;
  margin-top: 22px;
}

.industry-detail-section-head {
  position: absolute;
  left: 0;
  top: 2390.595px;
  z-index: 3;
  width: 1920px;
  text-align: center;
}

.industry-detail-section-head__eyebrow {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 19.365px;
  letter-spacing: 1.3832px;
  text-transform: uppercase;
  color: var(--color-red);
}

.industry-detail-section-head__title {
  margin: 23.879px auto 0;
  max-width: 880.213px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 78.842px;
  line-height: 83.185px;
  letter-spacing: -0.7884px;
  color: #000;
}

.industry-detail-care {
  position: absolute;
  left: 60px;
  top: 2681.069px;
  z-index: 3;
  width: 1800px;
  height: 871.409px;
}

.industry-detail-care__visual {
  position: absolute;
  left: 0;
  top: 0;
  width: 887.096px;
  height: 871.409px;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}

.industry-detail-care__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
}

.industry-detail-care__card {
  position: absolute;
  width: 430.643px;
  height: 414.957px;
  border: 1.383px solid #dadee3;
  background: #fff;
}

.industry-detail-care__card--1 {
  left: 912.904px;
  top: 0;
}

.industry-detail-care__card--2 {
  left: 1369.356px;
  top: 0;
}

.industry-detail-care__card--3 {
  left: 912.904px;
  top: 456.453px;
}

.industry-detail-care__card--4 {
  left: 1369.356px;
  top: 456.453px;
}

.industry-detail-care__icon {
  position: absolute;
  left: 42.879px;
  top: 49.795px;
  width: 90.379px;
  height: 74.692px;
  object-fit: contain;
}

.industry-detail-care__card-title {
  position: absolute;
  left: 42.879px;
  right: 99.38px;
  top: 258.509px;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 31.813px;
  line-height: 38.66px;
  letter-spacing: -0.3181px;
  color: #000;
}

.industry-detail-care__card-text {
  position: absolute;
  left: 42.879px;
  right: 62.74px;
  top: 331.268px;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 22.131px;
  line-height: 35.963px;
  color: #797b7e;
}

.industry-detail-equipment {
  position: absolute;
  left: 0;
  right: 0;
  top: 3703.045px;
  z-index: 3;
  width: 1797.639px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
}

.industry-detail-equipment__title {
  margin: 0;
  max-width: 1240.73px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 78.842px;
  line-height: 83.185px;
  letter-spacing: -0.7884px;
  text-align: center;
  color: #000;
}

.industry-detail-equipment__row {
  display: flex;
  gap: 16px;
  width: 100%;
}

.industry-detail-equipment__row--center {
  justify-content: center;
}

.industry-detail-empower {
  position: absolute;
  left: 0;
  top: 5059.146px;
  z-index: 2;
  width: 1920px;
  height: 775.629px;
  background: #2d3682;
}

.industry-detail-empower__title {
  position: absolute;
  left: 99.199px;
  top: 187.816px;
  width: 1584.818px;
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 75.391px;
  line-height: 79.544px;
  letter-spacing: -0.7539px;
  color: #f9fcff;
}

.industry-detail-empower__text {
  position: absolute;
  left: 972.148px;
  top: 476.723px;
  width: 898.018px;
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 24px;
  line-height: 34.389px;
  color: #d0d5db;
}

.industry-detail-stats {
  position: absolute;
  left: 0;
  top: 5834.788px;
  z-index: 2;
  width: 1920px;
  height: 1031.668px;
  background: #2d3682;
}

.industry-detail-stats__visual {
  position: absolute;
  left: 99.199px;
  top: 0;
  width: 558.239px;
  height: 833.27px;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}

.industry-detail-stats__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 30px;
}

.industry-detail-stats__copy {
  position: absolute;
  left: 682.117px;
  top: 0;
  width: 701.337px;
  height: 833.27px;
  border-radius: 30px;
  background: #ff3c40;
}

.industry-detail-stats__text {
  position: absolute;
  left: 52.906px;
  right: 86.99px;
  top: 260.5px;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 36px;
  line-height: 42.404px;
  letter-spacing: -0.3703px;
  color: #f9fcff;
}

.industry-detail-stats__cta {
  position: absolute;
  left: 52.906px;
  top: 685.132px;
  width: 185.172px;
  height: 68.778px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 39.68px;
  border: 1.323px solid #fff;
  background: #ff3c40;
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 19.84px;
  line-height: 26.453px;
  color: #f9fcff;
  text-decoration: none;
  transition: transform 0.28s ease, filter 0.28s ease, box-shadow 0.28s ease;
}

.industry-detail-stats__cta:hover {
  transform: scale(1.03);
  filter: brightness(1.06);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.14);
}

.industry-detail-stats__cta:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 3px;
}

.industry-detail-stats__card {
  position: absolute;
  left: 1394px;
  width: 465px;
  height: 411px;
  border-radius: 30px;
  background: #f0f5f7;
}

.industry-detail-stats__card--1 {
  top: 0.212px;
}

.industry-detail-stats__card--2 {
  top: 422.212px;
}

.industry-detail-stats__card--2 .industry-detail-stats__desc {
  right: 39.95px;
}

.industry-detail-stats__value {
  position: absolute;
  left: 33.35px;
  top: 85.85px;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 75.391px;
  line-height: 79.544px;
  letter-spacing: -0.7539px;
  color: #000;
}

.industry-detail-stats__label {
  position: absolute;
  left: 33.35px;
  top: 248.526px;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 30.421px;
  line-height: 36.968px;
  letter-spacing: -0.3042px;
  color: #000;
}

.industry-detail-stats__desc {
  position: absolute;
  left: 33.35px;
  right: 29.68px;
  top: 315.24px;
  margin: 0;
  transform: translateY(-50%);
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 21.162px;
  line-height: 34.389px;
  color: #797b7e;
}

.industry-detail-page .faq {
  position: absolute;
  left: 0;
  top: 7016.455px;
  z-index: 3;
  width: 1920px;
  height: 781px;
  background: #fff;
}

.industry-detail-page .faq__intro {
  top: 0;
}

.industry-detail-page .faq__list {
  top: 148.383px;
}

.industry-detail-page .catalog-page__stage .contact {
  top: 7948.072px;
}

.industry-detail-page .catalog-page__stage .site-footer {
  top: 8837.072px;
}

.industry-detail-page .contact--project .contact__title {
  line-height: 1.03;
}

@media (prefers-reduced-motion: reduce) {
  .industry-detail-partners .hero__partners-track,
  .about-partners .hero__partners-track {
    animation: none !important;
  }
}

/* ─── About page — Figma frame 38:8556 (1920×6179) ─── */
.about-page .catalog-page__stage {
  height: 6169px;
}

.about-page .product-banner__title--about {
  width: 1103.344px;
  white-space: normal;
  z-index: 2;
}

.about-page .product-banner__bar--about {
  z-index: 1;
  height: 76.928px;
  transform: none;
}

.about-approach {
  position: absolute;
  left: 58.641px;
  top: 682px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 1860px;
  height: 625.386px;
}

.about-approach__copy {
  display: flex;
  flex-direction: column;
  gap: 23px;
  width: 850.248px;
  flex-shrink: 0;
}

.about-approach__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  color: #000;
}

.about-approach__body {
  width: 778.07px;
}

.about-approach__body p {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #181818;
}

.about-approach__body p + p {
  margin-top: 36px;
}

.about-approach__visual {
  position: relative;
  width: 984.688px;
  height: 625.386px;
  margin: 0;
  border-radius: 20px;
  overflow: hidden;
  flex-shrink: 0;
}

.about-approach__img {
  position: absolute;
  top: 0;
  left: -1.25%;
  width: 113.3%;
  height: 100%;
  object-fit: cover;
}

.about-stats {
  position: absolute;
  left: 0;
  right: 0;
  top: 1701px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 84px;
  width: 1800px;
  margin: 0 auto;
}

.about-stats__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
  width: 1209px;
  text-align: center;
}

.about-stats__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  color: #000;
}

.about-stats__intro {
  margin: 0;
  width: 951.375px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #181818;
}

.about-stats__grid {
  position: relative;
  width: 1800px;
  height: 654.31px;
}

.about-stat-card {
  position: absolute;
  width: 439.72px;
  height: 447.414px;
  background: #fff;
  border: 1px solid rgba(0, 0, 0, 0.21);
  overflow: hidden;
}

.about-stat-card--1 {
  left: 1.293px;
  top: 0;
}

.about-stat-card--2 {
  left: 451.293px;
  top: 206.898px;
}

.about-stat-card--3 {
  left: 908.984px;
  top: 0;
}

.about-stat-card--4 {
  left: 1358.984px;
  top: 206.898px;
}

.about-stat-card__body {
  height: 100%;
  padding: 11.93px 30.03px 30.04px 30.04px;
}

.about-stat-card__title {
  display: flex;
  align-items: center;
  gap: 15.62px;
  margin-left: -16.38px;
  min-height: 23.276px;
}

.about-stat-card__title--offset {
  margin-left: 0;
  padding-left: 34.62px;
}

.about-stat-card__marker {
  flex-shrink: 0;
  width: 18.103px;
  height: 18.103px;
}

.about-stat-card__title span {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18.103px;
  line-height: 21.724px;
  letter-spacing: -0.7241px;
  text-transform: uppercase;
  color: #686868;
  white-space: nowrap;
}

.about-stat-card__content {
  margin-top: 156.464px;
}

.about-stat-card__value-group {
  min-height: 111.207px;
}

.about-stat-card__value {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 69.828px;
  line-height: 77.586px;
  letter-spacing: -2.5862px;
  color: var(--color-red);
}

.about-stat-card__unit {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 23.276px;
  line-height: 32.586px;
  color: #686868;
}

.about-stat-card__divider {
  height: 1.293px;
  margin-top: 28.443px;
  background: #e6e6e6;
}

.about-stat-card__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  min-height: 54.31px;
  margin-top: 28.443px;
}

.about-stat-card__desc {
  margin: 0;
  width: 141.93px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 15.517px;
  line-height: 18.621px;
  color: #5e5e5e;
}

.about-stat-card__icon {
  flex-shrink: 0;
  width: 51.724px;
  height: 51.724px;
}

.about-stat-card__icon--1 {
  width: 50.431px;
  height: 42.672px;
}

.about-stat-card__corner {
  position: absolute;
  right: -1px;
  bottom: -1px;
  width: 20.69px;
  height: 20.69px;
  pointer-events: none;
}

.about-lab {
  position: absolute;
  left: 9.641px;
  top: 2800.301px;
  z-index: 3;
  width: 1897.332px;
  height: 827.131px;
}

.about-lab__visual {
  position: absolute;
  inset: 0;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
}

.about-lab__img {
  position: absolute;
  top: -3.26%;
  left: 0;
  width: 100%;
  height: 130.42%;
  object-fit: cover;
}

.about-lab__fade {
  position: absolute;
  inset: 0;
  border-radius: 30px;
  background: linear-gradient(
    90deg,
    #fff 32.963%,
    rgba(255, 255, 255, 0) 86.295%
  );
  pointer-events: none;
}

.about-lab__copy {
  position: absolute;
  left: 48.043px;
  top: 146.566px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 850.248px;
}

.about-lab__text {
  display: flex;
  flex-direction: column;
  gap: 23px;
}

.about-lab__title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  color: #000;
}

.about-lab__body {
  width: 778.07px;
}

.about-lab__body p {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  color: #181818;
}

.about-lab__body p + p {
  margin-top: 36px;
}

.about-lab__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 227px;
  height: 41px;
  padding: 6px 12px;
  border-radius: 32px;
  border: 0.5px solid var(--color-red-border);
  background:
    radial-gradient(ellipse at center top, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(90deg, var(--color-red) 0%, var(--color-red) 100%);
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 18px;
  color: #fff;
  white-space: nowrap;
  transition: var(--btn-transition);
}

.about-lab__cta:hover {
  transform: translateY(-2px);
  filter: brightness(1.1);
  box-shadow: var(--btn-shadow-hover);
}

.about-lab__cta:active {
  transform: translateY(0);
  filter: brightness(0.96);
  box-shadow: var(--btn-shadow-active);
}

.about-lab__cta:focus-visible {
  outline: 2px solid var(--color-red);
  outline-offset: 3px;
}

.about-page .faq {
  position: absolute;
  left: 0;
  top: 3778.383px;
  z-index: 3;
  width: 1920px;
  height: 782px;
  background: #fff;
}

.about-page .faq__intro {
  top: 0;
}

.about-page .faq__list {
  top: 148.383px;
}

.about-page .catalog-page__stage .contact {
  top: 4710px;
}

.about-page .contact--project .contact__title {
  line-height: 1.03;
}

.about-page .catalog-page__stage .site-footer {
  top: 5599px;
}

/* ─── Careers page — Figma frame 38:11040 (1920×4411) ─── */
/* ─── Careers page — Figma frame 38:11040 (1920×4411) ─── */
.careers-page .product-banner__title--careers {
  width: 846.275px;
  white-space: normal;
  z-index: 2;
}

.careers-page .product-banner__bar--careers {
  z-index: 1;
  height: 76.928px;
  transform: none;
}

.careers-page .catalog-tabs {
  left: 129.654px;
  top: 732px;
  width: 1660.692px;
  height: 62.118px;
}

.careers-page .catalog-tabs__divider {
  left: 0;
  top: 60.85px;
  width: 1660.692px;
}

.careers-tabs.catalog-tabs .catalog-tabs__tab[data-department="all"] {
  left: 0;
  width: 402px;
}

.careers-tabs.catalog-tabs .catalog-tabs__tab[data-department="engineering"] {
  left: 419px;
  width: 403px;
}

.careers-tabs.catalog-tabs .catalog-tabs__tab[data-department="laboratory"] {
  left: 838px;
  width: 403px;
}

.careers-tabs.catalog-tabs .catalog-tabs__tab[data-department="management"] {
  left: 1258px;
  width: 402px;
}

.careers-tabs .catalog-tabs__tab[data-department="all"] .catalog-tabs__label {
  left: calc(50% - 16px);
  transform: translateY(-50%);
}

.careers-tabs .catalog-tabs__tab[data-department="engineering"] .catalog-tabs__label {
  left: calc(50% - 54px);
  transform: translateY(-50%);
}

.careers-tabs .catalog-tabs__tab[data-department="laboratory"] .catalog-tabs__label {
  left: calc(50% - 52px);
  transform: translateY(-50%);
}

.careers-tabs .catalog-tabs__tab[data-department="management"] .catalog-tabs__label {
  left: calc(50% - 61.5px);
  transform: translateY(-50%);
}

.careers-tabs .catalog-tabs__tab {
  z-index: 1;
}

.careers-tabs .catalog-tabs__tab.is-active {
  z-index: 2;
}

.catalog-tabs__label--upper {
  text-transform: uppercase;
}

.careers-jobs {
  position: absolute;
  left: 0;
  right: 0;
  z-index: 3;
  width: 1660.692px;
  margin: 0 auto;
}

.careers-jobs--1 {
  top: 892.998px;
}

.careers-jobs--2 {
  top: 1427px;
}

.careers-jobs.is-hidden {
  display: none;
}

.careers-jobs__head {
  display: flex;
  align-items: center;
  gap: 11.5px;
  min-height: 45.637px;
  margin-bottom: 51.976px;
}

.careers-jobs__pin {
  flex-shrink: 0;
  width: 21.436px;
  height: 28.032px;
}

.careers-jobs__location {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 35.496px;
  line-height: 45.637px;
  color: #0e202a;
}

.careers-jobs__grid {
  display: flex;
  gap: 83.668px;
}

.careers-jobs__col {
  flex: 1;
  min-width: 0;
  max-width: 788.512px;
}

.careers-jobs__col.is-hidden {
  display: none;
}

.careers-job__rule {
  height: 1.268px;
  background: #dcdcdc;
}

.careers-job__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 46.563px 0 47.172px;
}

.careers-job__row.is-hidden {
  display: none;
}

.careers-job__row.is-hidden + .careers-job__rule {
  display: none;
}

.careers-job__title {
  margin: 0;
  max-width: 494px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 25.354px;
  line-height: 31.693px;
  color: #0e202a;
}

.careers-job__apply {
  display: inline-flex;
  align-items: center;
  gap: 4.5px;
  flex-shrink: 0;
  margin-top: 2px;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 16.48px;
  line-height: 20.283px;
  text-transform: uppercase;
  color: #2d3682;
  white-space: nowrap;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.careers-job__apply img {
  width: 15.212px;
  height: 15.212px;
}

.careers-job__apply:hover {
  opacity: 0.8;
  transform: translateX(2px);
}

.careers-job__apply:focus-visible {
  outline: 2px solid #2d3682;
  outline-offset: 3px;
  border-radius: 4px;
}

.careers-page .faq {
  position: absolute;
  left: 0;
  top: 2010.554px;
  z-index: 3;
  width: 1920px;
  height: 782px;
  background: #fff;
}

.careers-page .faq__intro {
  top: 0;
}

.careers-page .faq__list {
  top: 148.383px;
}

.careers-page .catalog-page__stage .contact {
  top: 2942.171px;
}

.careers-page .contact--project .contact__title {
  line-height: 1.03;
}

.careers-page .catalog-page__stage .site-footer {
  top: 3831.171px;
}

.careers-page .catalog-page__stage {
  height: 4401px;
}

/* ─── Services page — Figma frame 47:3084 (1920×8626) ─── */
.services-page .catalog-page__stage {
  height: 8626px;
}

.services-page .services-partners {
  left: 10px;
  top: 980.989px;
}

.services-page .industry-detail-intro {
  top: 1224.329px;
}

.services-page .industry-detail-columns {
  top: 1513.803px;
}

.services-page .services-feature {
  top: 1751.711px;
}

.services-page .industry-detail-equipment {
  top: 4870.045px;
}

.services-page .faq {
  position: absolute;
  left: 0;
  top: 6225.153px;
  z-index: 3;
  width: 1920px;
  height: 781px;
  background: #fff;
}

.services-page .faq__intro {
  top: 0;
}

.services-page .faq__list {
  top: 148.383px;
}

/* Site-wide FAQ alignment — Figma 1:1508 / 1:1511 (homepage + all catalog pages) */
.section-six .faq__intro,
.catalog-page__stage .faq__intro {
  left: 60px;
  width: 1144px;
}

.section-six .faq__list,
.catalog-page__stage .faq__list {
  left: 60px;
  width: 1806px;
}

/* Shared contact + footer inset — Figma 1:1437 (homepage + catalog + product pages) */
.section-six .contact__shell,
.section-six .site-footer,
.catalog-page__stage .contact__shell,
.catalog-page__stage .site-footer,
.product-page__stage .contact__shell,
.product-page__stage .site-footer {
  left: 10px;
  width: 1900px;
}

.section-six .site-footer__columns,
.catalog-page__stage .site-footer__columns,
.product-page__stage .site-footer__columns {
  left: 435.039px;
}

.services-page .catalog-page__stage .contact {
  top: 7156.77px;
}

.services-page .contact--project .contact__title {
  line-height: 1.03;
}

.services-page .catalog-page__stage .site-footer {
  top: 8045.77px;
}

.services-hero {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 1920px;
  height: 970px;
  background: #fff;
}

.services-hero__media {
  position: absolute;
  top: 0.782px;
  width: 343px;
  height: 970px;
  margin: 0;
  overflow: hidden;
}

.services-hero__media--left {
  left: 0;
}

.services-hero__media--right {
  left: 1577px;
}

.services-hero__media--left img {
  position: absolute;
  top: 0;
  left: -258.15%;
  width: 502.75%;
  max-width: none;
  height: 100%;
  object-fit: cover;
}

.services-hero__media--right img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.services-hero__content {
  position: absolute;
  left: 431px;
  top: 280.282px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: 1058px;
}

.services-hero__eyebrow {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 18px;
  line-height: 19.365px;
  letter-spacing: 1.3832px;
  text-transform: uppercase;
  text-align: center;
  color: var(--color-red);
}

.services-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 30px;
  width: 100%;
}

.services-hero__text {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 23px;
  width: 100%;
}

.services-hero__title {
  margin: 0;
  width: 100%;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 64px;
  line-height: normal;
  text-align: center;
  color: #000;
}

.services-hero__body {
  width: 100%;
}

.services-hero__body p {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 18px;
  line-height: normal;
  text-align: center;
  color: #181818;
}

.services-hero__body p + p {
  margin-top: 36px;
}

.services-hero__cta {
  width: 195px;
}

.services-blocks {
  position: absolute;
  left: 0;
  top: 2639.589px;
  z-index: 3;
  width: 1920px;
  height: 2079.475px;
  padding: 150px 60px;
  background: #eee;
}

.services-blocks__inner {
  display: flex;
  flex-direction: column;
  gap: 100px;
  width: 1771.34px;
}

.services-block {
  display: flex;
  align-items: center;
  gap: 84px;
  width: 100%;
}

.services-block--reverse {
  flex-direction: row-reverse;
}

.services-block__copy {
  display: flex;
  flex-direction: column;
  gap: 32px;
  width: 850.248px;
  flex-shrink: 0;
}

.services-block__text {
  display: flex;
  flex-direction: column;
  gap: 23px;
}

.services-block__visual {
  width: 837.092px;
  height: 797.214px;
  margin: 0;
  border-radius: 30px;
  overflow: hidden;
  flex-shrink: 0;
}

.services-block__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ─── Privacy Policy page — Figma frame 38:9761 (1920×6097) ─── */
.privacy-page .catalog-page__stage {
  height: 6097px;
}

.privacy-page .product-banner__title--privacy {
  width: 846.275px;
  white-space: normal;
  z-index: 2;
}

.privacy-page .product-banner__bar--privacy {
  z-index: 1;
  transform: none;
}

.privacy-policy {
  position: absolute;
  left: 55.898px;
  top: 671.833px;
  z-index: 3;
  width: 1804.102px;
  color: #181818;
}

.privacy-policy__heading {
  margin: 0 0 24px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 48px;
  line-height: normal;
  color: var(--color-red);
}

.privacy-policy__updated {
  margin: 0 0 24px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 24px;
  line-height: normal;
}

.privacy-policy__section {
  margin-bottom: 24px;
}

.privacy-policy__section-title,
.privacy-policy__label {
  margin: 0 0 24px;
  font-family: var(--font-body);
  font-weight: 700;
  font-size: 24px;
  line-height: normal;
}

.privacy-policy__section p {
  margin: 0 0 24px;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 24px;
  line-height: normal;
}

.privacy-policy__section ul {
  margin: 0 0 24px;
  padding-left: 36px;
  list-style: disc;
}

.privacy-policy__section li {
  margin-bottom: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 24px;
  line-height: normal;
}

.privacy-policy__contacts {
  list-style: none;
  padding-left: 0;
}

.privacy-policy__contacts a {
  color: #181818;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.privacy-policy__contacts a:hover {
  color: var(--color-red);
}

.privacy-page .catalog-page__stage .contact {
  top: 4628px;
}

.privacy-page .contact--scientific .contact__title {
  line-height: 1.03;
}

.privacy-page .catalog-page__stage .site-footer {
  top: 5517px;
}

/* ─── Homepage motion refinements (page-home only) ─── */
.page-home {
  --motion-ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --motion-ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --motion-hover: 0.48s var(--motion-ease-out);
}

.page-home .site-nav__cta,
.page-home .site-fab__btn,
.page-home .services__row-cta,
.page-home .applications__cta,
.page-home .cta__cta,
.page-home .contact__submit {
  transition:
    transform var(--motion-hover),
    box-shadow var(--motion-hover),
    filter var(--motion-hover);
}

.page-home .site-nav__cta:active,
.page-home .services__row-cta:active,
.page-home .applications__cta:active,
.page-home .cta__cta:active,
.page-home .contact__submit:active {
  transition-duration: 0.18s;
}

.page-home .equipment__card-visual {
  transition: background-color var(--motion-hover);
  transform-origin: center center;
}

.page-home .equipment__card.is-hover .equipment__card-visual {
  transform: none;
}

.page-home .equipment__card-img {
  transition: none;
}

.page-home .applications__product-visual {
  transform-origin: center center;
  transition: background-color var(--motion-hover);
}

.page-home .applications__product.is-hover .applications__product-visual {
  transform: none;
}

.page-home .applications__product-img {
  transition: none;
}

.page-home .services__product-float {
  transition: none;
}

.page-home .services__product-float.is-visible {
  visibility: visible;
}

.page-home .services__row-group {
  transition: opacity 0.35s var(--motion-ease-out);
}

.page-home .faq__item-icon {
  transition: none;
}

.page-home .faq__item-trigger:hover .faq__item-question,
.page-home .faq__item-trigger:hover .faq__item-rule,
.page-home .faq__item-trigger:hover .faq__item-icon {
  transition:
    color 0.32s var(--motion-ease-out),
    opacity 0.32s var(--motion-ease-out);
}

.page-home .cta__desc,
.page-home .cta__cta {
  will-change: opacity, transform;
}

.page-home .section-six__stage .faq__intro,
.page-home .section-six__stage .faq__list {
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
  .page-home .equipment__card-visual,
  .page-home .applications__product-visual,
  .page-home .site-nav__cta,
  .page-home .cta__desc,
  .page-home .cta__cta {
    transition: none !important;
  }
}
