/* Product page visual fixes shared across legacy product pages. */
.legacy-content .fade-in,
.legacy-content .rv,
.legacy-content .fade-in.visible,
.legacy-content .rv.v {
  opacity: 1;
  transform: none;
  animation-play-state: running;
}

.legacy-content .phr-bg,
.legacy-content .phr-img,
.legacy-content .hero-bg,
.legacy-content .product-hero-media {
  opacity: 1 !important;
  visibility: visible !important;
}

.legacy-content .hero-img-bg,
.legacy-content .hero-bg img,
.legacy-content .phr-bg img,
.legacy-content .phr-img img,
.legacy-content .product-hero-media img,
.legacy-content .product-hero-media video {
  opacity: 0.72 !important;
  visibility: visible !important;
}

.legacy-content > .phr,
.legacy-content > .hero,
.legacy-content .phr:first-of-type,
.legacy-content .hero:first-of-type {
  position: relative !important;
  min-height: 100vh !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  text-align: center !important;
  background: #05080c !important;
}

.legacy-content .phr-bg,
.legacy-content .phr-img,
.legacy-content .hero-bg,
.legacy-content .hero-img-bg,
.legacy-content > .hero > video,
.legacy-content .hero:first-of-type > video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  z-index: 0 !important;
}

.legacy-content .phr-bg img,
.legacy-content .phr-img img,
.legacy-content .hero-bg img,
.legacy-content .hero-img-bg,
.legacy-content > .hero > video,
.legacy-content .hero:first-of-type > video {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
  display: block !important;
}

.legacy-content .phr::after,
.legacy-content .hero::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  pointer-events: none !important;
  background: rgba(0, 0, 0, 0.18) !important;
}

.legacy-content .phr-inner,
.legacy-content .hero-ct,
.legacy-content .hero-content {
  position: relative !important;
  z-index: 2 !important;
  width: min(900px, calc(100% - 48px)) !important;
  max-width: 900px !important;
  margin: 0 auto !important;
  padding: 120px 24px 80px !important;
  text-align: center !important;
}

.legacy-content .phr-btns,
.legacy-content .hero-btns {
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
}

.legacy-content .cta-section .fade-in,
.legacy-content .cta-s .fade-in,
.legacy-content .download-cta .fade-in,
.legacy-content .final-cta .fade-in,
.legacy-content .contact-cta .fade-in,
.legacy-content section[class*="cta"] .fade-in {
  opacity: 1 !important;
  transform: none !important;
}

.legacy-content .cta-section,
.legacy-content .cta-s,
.legacy-content .download-cta,
.legacy-content .final-cta,
.legacy-content .contact-cta,
.legacy-content section[class*="cta"] {
  text-align: center;
}

.legacy-content .cta-section h2,
.legacy-content .cta-s h2,
.legacy-content .download-cta h2,
.legacy-content .final-cta h2,
.legacy-content .contact-cta h2,
.legacy-content section[class*="cta"] h2 {
  display: block !important;
}

.legacy-content .cta-section p,
.legacy-content .cta-s p,
.legacy-content .download-cta p,
.legacy-content .final-cta p,
.legacy-content .contact-cta p,
.legacy-content section[class*="cta"] p {
  display: block !important;
}

.legacy-content .cta-section a,
.legacy-content .cta-s a,
.legacy-content .download-cta a,
.legacy-content .final-cta a,
.legacy-content .contact-cta a,
.legacy-content section[class*="cta"] a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

.legacy-content .cta-section a:hover,
.legacy-content .cta-s a:hover,
.legacy-content .download-cta a:hover,
.legacy-content .final-cta a:hover,
.legacy-content .contact-cta a:hover,
.legacy-content section[class*="cta"] a:hover {
  transform: translateY(-1px) !important;
}

.legacy-content .download-cta .download-cta-primary,
.legacy-content .download-cta .download-cta-secondary {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 44px !important;
  padding: 0 24px !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
  transition: background 180ms ease, border-color 180ms ease, color 180ms ease, box-shadow 180ms ease, transform 180ms ease !important;
}

.legacy-content .download-cta .download-cta-primary {
  background: #0b1118 !important;
  border: 1px solid #0b1118 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.legacy-content .download-cta .download-cta-primary:hover {
  background: #1a2430 !important;
  border-color: #1a2430 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 10px 26px rgba(11, 17, 24, 0.22) !important;
}

.legacy-content .download-cta .download-cta-secondary {
  background: #fff !important;
  border: 1px solid rgba(11, 17, 24, 0.18) !important;
  color: #0b1118 !important;
  -webkit-text-fill-color: #0b1118 !important;
}

.legacy-content .download-cta .download-cta-secondary:hover {
  background: #f4f6f8 !important;
  border-color: rgba(11, 17, 24, 0.3) !important;
  color: #0b1118 !important;
  -webkit-text-fill-color: #0b1118 !important;
  box-shadow: 0 10px 24px rgba(11, 17, 24, 0.12) !important;
}

.legacy-content .tab-btns,
.legacy-content .case-tabs,
.legacy-content .sub-tabs,
.legacy-content .gauss-tabs,
.legacy-content .scene-tabs {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  width: fit-content !important;
  max-width: calc(100% - 40px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.legacy-content .tab-btn,
.legacy-content .case-tab,
.legacy-content .sub-tab,
.legacy-content .gauss-tab,
.legacy-content .scene-tab {
  white-space: nowrap !important;
}

.legacy-content .tab-btn:not(.on):not(.active):hover,
.legacy-content .case-tab:not(.on):not(.active):hover,
.legacy-content .sub-tab:not(.on):not(.active):hover,
.legacy-content .gauss-tab:not(.on):not(.active):hover,
.legacy-content .scene-tab:not(.on):not(.active):hover {
  color: #0b1118 !important;
  background: rgba(255, 255, 255, 0.9) !important;
}

.legacy-content .tab-btn.on:hover,
.legacy-content .tab-btn.active:hover,
.legacy-content .case-tab.on:hover,
.legacy-content .case-tab.active:hover,
.legacy-content .sub-tab.on:hover,
.legacy-content .sub-tab.active:hover,
.legacy-content .gauss-tab.on:hover,
.legacy-content .gauss-tab.active:hover,
.legacy-content .scene-tab.on:hover,
.legacy-content .scene-tab.active:hover {
  color: #fff !important;
}

.legacy-content .tab-panel:not(.on):not(.active) {
  display: none !important;
}

.legacy-content .tab-panel.on,
.legacy-content .tab-panel.active {
  display: block !important;
}

.legacy-content .sec-title,
.legacy-content .section-title,
.legacy-content .title-block,
.legacy-content .section-header,
.legacy-content .feature-header,
.legacy-content .sec-sub,
.legacy-content .section-desc,
.legacy-content .section-sub,
.legacy-content .cap-desc,
.legacy-content .gif-desc {
  text-align: center;
}

.legacy-content .title-block,
.legacy-content .section-header,
.legacy-content .feature-header {
  margin-left: auto !important;
  margin-right: auto !important;
  margin-bottom: 36px !important;
}

.legacy-content .sec-title,
.legacy-content .section-title,
.legacy-content .feature-header h3 {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  line-height: 1.15 !important;
}

.legacy-content .sec-title:not(:has(+ .sec-sub)),
.legacy-content .section-title:not(:has(+ .section-desc)):not(:has(+ .section-sub)) {
  margin-bottom: 36px !important;
}

.legacy-content .sec-sub,
.legacy-content .section-desc,
.legacy-content .section-sub,
.legacy-content .cap-desc,
.legacy-content .gif-desc {
  max-width: 900px;
  margin-left: auto !important;
  margin-right: auto !important;
  line-height: 1.7 !important;
}

.legacy-content .title-block .sec-sub,
.legacy-content .section-header .section-desc,
.legacy-content .feature-header p {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.legacy-content .cap-desc,
.legacy-content .gif-desc {
  margin-top: 0 !important;
  margin-bottom: 28px !important;
}

.legacy-content .tab-btns,
.legacy-content .case-tabs,
.legacy-content .sub-tabs,
.legacy-content .gauss-tabs,
.legacy-content .scene-tabs {
  margin-top: 0 !important;
  margin-bottom: 32px !important;
}

.legacy-content .title-block + .tab-btns,
.legacy-content .title-block + .case-tabs,
.legacy-content .title-block + .sub-tabs,
.legacy-content .title-block + .gauss-tabs,
.legacy-content .title-block + .scene-tabs,
.legacy-content .sec-sub + .tab-btns,
.legacy-content .section-desc + .tab-btns {
  margin-top: -4px !important;
}

.legacy-content .sec-sub + .full-media,
.legacy-content .section-desc + .full-media,
.legacy-content .sec-sub + .media-wrap,
.legacy-content .section-desc + .media-wrap,
.legacy-content .sec-sub + .video-wrap,
.legacy-content .section-desc + .video-wrap,
.legacy-content .sec-sub + .image-wrap,
.legacy-content .section-desc + .image-wrap,
.legacy-content .sec-sub + .cap-media-wrap,
.legacy-content .section-desc + .cap-media-wrap {
  margin-top: 40px !important;
}

.legacy-content .feature-header + .feature-media,
.legacy-content .feature-header + .video-container,
.legacy-content .feature-header + .flow-grid,
.legacy-content .section-header + .products-grid,
.legacy-content .section-header + .scenes-grid,
.legacy-content .tab-btns + .tab-content,
.legacy-content .case-tabs + .case-content,
.legacy-content .sub-tabs + .tab-content,
.legacy-content .gauss-tabs + .tab-content,
.legacy-content .scene-tabs + .tab-content {
  margin-top: 0 !important;
}

.legacy-content .feature-block {
  margin-bottom: 88px !important;
}

.legacy-content .feature-block:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 900px) {
  .legacy-content .title-block,
  .legacy-content .section-header,
  .legacy-content .feature-header {
    margin-bottom: 28px !important;
  }

  .legacy-content .tab-btns,
  .legacy-content .case-tabs,
  .legacy-content .sub-tabs,
  .legacy-content .gauss-tabs,
  .legacy-content .scene-tabs {
    margin-bottom: 24px !important;
  }

  .legacy-content .sec-sub + .full-media,
  .legacy-content .section-desc + .full-media,
  .legacy-content .sec-sub + .media-wrap,
  .legacy-content .section-desc + .media-wrap,
  .legacy-content .sec-sub + .video-wrap,
  .legacy-content .section-desc + .video-wrap,
  .legacy-content .sec-sub + .image-wrap,
  .legacy-content .section-desc + .image-wrap,
  .legacy-content .sec-sub + .cap-media-wrap,
  .legacy-content .section-desc + .cap-media-wrap {
    margin-top: 28px !important;
  }

  .legacy-content .feature-block {
    margin-bottom: 64px !important;
  }
}

.legacy-content video,
.legacy-content .full-media,
.legacy-content .card-media,
.legacy-content .case-media,
.legacy-content .case-video,
.legacy-content .media-wrap,
.legacy-content .video-wrap,
.legacy-content .image-wrap,
.legacy-content .data-img-wrap,
.legacy-content .cap-media-wrap,
.legacy-content .video-container,
.legacy-content .feature-media,
.legacy-content .gif-single,
.legacy-content .constraint-main,
.legacy-content .constraint-thumbs img,
.legacy-content .video-container video,
.legacy-content .feature-media video,
.legacy-content .feature-media img {
  border-radius: 0 !important;
}

.legacy-content .video-container,
.legacy-content .feature-media {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.legacy-content .video-container video,
.legacy-content .feature-media video {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  object-fit: cover !important;
  background: transparent !important;
}

.legacy-content .full-media,
.legacy-content .media-wrap,
.legacy-content .video-wrap,
.legacy-content .image-wrap,
.legacy-content .data-img-wrap,
.legacy-content .cap-media-wrap,
.legacy-content .gif-single,
.legacy-content .constraint-split {
  max-width: min(1160px, calc(100vw - 240px));
  margin-left: auto !important;
  margin-right: auto !important;
}

.legacy-content .full-media > img,
.legacy-content .full-media > video,
.legacy-content .media-wrap > img,
.legacy-content .media-wrap > video,
.legacy-content .video-wrap > video,
.legacy-content .image-wrap > img,
.legacy-content .data-img-wrap img,
.legacy-content .cap-media-wrap video,
.legacy-content .gif-single video {
  width: 100% !important;
  height: auto !important;
  display: block !important;
}

@media (max-width: 900px) {
  .legacy-content .full-media,
  .legacy-content .media-wrap,
  .legacy-content .video-wrap,
  .legacy-content .image-wrap,
  .legacy-content .data-img-wrap,
  .legacy-content .cap-media-wrap,
  .legacy-content .gif-single,
  .legacy-content .constraint-split {
    max-width: calc(100vw - 40px);
  }
}

/* ===== Product page visual normalization ===== */
.legacy-page {
  --product-heading: #071018;
  --product-body: #334155;
  --product-muted: #64748b;
  --product-line: rgba(11, 17, 24, 0.12);
  --product-pill-active: #071018;
}

.legacy-page .legacy-content *,
.legacy-page .ft * {
  border-radius: 0 !important;
}

.legacy-page .legacy-content :is(
  .bn,
  .b2,
  .btn,
  .btn-primary,
  .btn-secondary,
  .download-cta-primary,
  .download-cta-secondary,
  .cta-btn,
  .tab-btn,
  .case-tab,
  .sub-tab,
  .gauss-tab,
  .scene-tab,
  .reb-bh,
  .reb-b,
  .product-tab-buttons button,
  button[class*="tab"],
  a[class*="btn"]
) {
  border-radius: 999px !important;
}

.legacy-page .legacy-content :is(
  .tab-btns,
  .case-tabs,
  .sub-tabs,
  .gauss-tabs,
  .scene-tabs,
  .reb-tabs-h,
  .product-tab-buttons
) {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  width: fit-content !important;
  max-width: calc(100% - 40px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 6px !important;
  border: 1px solid var(--product-line) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.86) !important;
  box-shadow: none !important;
}

.legacy-page .legacy-content :is(
  .tab-btn,
  .case-tab,
  .sub-tab,
  .gauss-tab,
  .scene-tab,
  .reb-bh,
  .reb-b,
  .product-tab-buttons button
) {
  min-height: 38px !important;
  padding: 0 22px !important;
  border: 0 !important;
  background: transparent !important;
  color: var(--product-body) !important;
  -webkit-text-fill-color: var(--product-body) !important;
  font-size: 14px !important;
  line-height: 38px !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  transition: background-color .18s ease, color .18s ease !important;
}

.legacy-page .legacy-content :is(
  .tab-btn.on,
  .tab-btn.active,
  .case-tab.on,
  .case-tab.active,
  .sub-tab.on,
  .sub-tab.active,
  .gauss-tab.on,
  .gauss-tab.active,
  .scene-tab.on,
  .scene-tab.active,
  .reb-bh.on,
  .reb-b.on,
  .product-tab-buttons button.is-active
) {
  background: var(--product-pill-active) !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.legacy-page .legacy-content :is(
  .tab-btn:not(.on):not(.active):hover,
  .case-tab:not(.on):not(.active):hover,
  .sub-tab:not(.on):not(.active):hover,
  .gauss-tab:not(.on):not(.active):hover,
  .scene-tab:not(.on):not(.active):hover,
  .reb-bh:not(.on):hover,
  .reb-b:not(.on):hover,
  .product-tab-buttons button:not(.is-active):hover
) {
  background: rgba(11, 17, 24, 0.06) !important;
  color: var(--product-heading) !important;
  -webkit-text-fill-color: var(--product-heading) !important;
}

.legacy-page .legacy-content :is(
  .sec-title,
  .section-title,
  .title-block h2,
  .section-header h2,
  .feature-header h2
) {
  color: var(--product-heading) !important;
  -webkit-text-fill-color: var(--product-heading) !important;
  font-size: clamp(36px, 5vw, 64px) !important;
  line-height: 1.12 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.legacy-page .legacy-content :is(
  .mesh-h h3,
  .opgs-t h3,
  .up-ct h3,
  .gif-text h4,
  .feature-header h3,
  .cap-card h3,
  .capability-card h3,
  .detail-card h3,
  .related-card h3
) {
  color: var(--product-heading) !important;
  -webkit-text-fill-color: var(--product-heading) !important;
  font-size: 28px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.legacy-page .legacy-content :is(
  .sec-sub,
  .section-desc,
  .section-sub,
  .define-text,
  .cap-desc,
  .gif-desc,
  .up-ct p,
  .gif-text p,
  .opgs-t p,
  .reb-pair p,
  .case-desc,
  .feature-header p
) {
  color: var(--product-body) !important;
  -webkit-text-fill-color: var(--product-body) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
}

.legacy-page .legacy-content :is(.icon-card .t1, .capability-card h3, .detail-card h3) {
  color: var(--product-heading) !important;
  -webkit-text-fill-color: var(--product-heading) !important;
}

.legacy-page .legacy-content :is(.icon-card .t2, .capability-card p, .detail-card p, .related-card p) {
  color: var(--product-muted) !important;
  -webkit-text-fill-color: var(--product-muted) !important;
  font-size: 14px !important;
  line-height: 1.65 !important;
}

.legacy-page .legacy-content :is(.dark-section, .section-deep) :is(
  .sec-title,
  .section-title,
  .title-block h2,
  .section-header h2,
  .mesh-h h3,
  .feature-header h3
) {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
}

.legacy-page .legacy-content :is(.dark-section, .section-deep) :is(
  .sec-sub,
  .section-desc,
  .section-sub,
  .cap-desc,
  .gif-desc,
  .feature-header p
) {
  color: rgba(255, 255, 255, 0.68) !important;
  -webkit-text-fill-color: rgba(255, 255, 255, 0.68) !important;
}

.legacy-page .legacy-content :is(.cta-section, .cta-s, .download-cta, .final-cta, .contact-cta, section[class*="cta"]) :is(h2, h3) {
  color: var(--product-heading) !important;
  -webkit-text-fill-color: var(--product-heading) !important;
}

.legacy-page .legacy-content :is(.cta-section, .cta-s, .download-cta, .final-cta, .contact-cta, section[class*="cta"]) p {
  color: var(--product-body) !important;
  -webkit-text-fill-color: var(--product-body) !important;
}

/* Responsive: download-cta inline style overrides */
@media (max-width: 640px) {
  .legacy-content .download-cta {
    padding: 60px 20px !important;
  }

  .legacy-content .download-cta h2 {
    font-size: 32px !important;
  }

  .legacy-content .download-cta p {
    font-size: 14px !important;
    margin-bottom: 24px !important;
  }

  .legacy-content .download-cta-actions {
    flex-direction: column !important;
    align-items: center !important;
    gap: 12px !important;
  }

  .legacy-content .fc2[style*="width"] {
    width: 100% !important;
    max-width: 100% !important;
  }
}
