/* Shared product presentation. Product-specific layouts keep their own geometry. */
.product-visual-refresh {
  --product-ink:#171717;
  --product-soft:#f0f0f0;
  --product-blue:#0050a4;
  font-family:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
  color:var(--product-ink);
}
html body.product-visual-refresh,
html body.product-visual-refresh button,
html body.product-visual-refresh input,
html body.product-visual-refresh select,
html body.product-visual-refresh textarea {
  font-family:"Helvetica Neue",Arial,"PingFang SC","Microsoft YaHei",sans-serif;
}

body.product-visual-refresh .site-header.reference-header.inner-page-header .desktop-nav > a,
body.product-visual-refresh .site-header.reference-header.inner-page-header .header-product-nav > a,
body.product-visual-refresh .site-header.reference-header.inner-page-header .nav-menu > summary {
  font-size:15px;
  font-weight:500;
}

body.product-visual-refresh .site-header.reference-header.inner-page-header .nav-quote {
  font-weight:500;
  border-radius:999px;
}

.product-visual-refresh .product-tree-sidebar { border-right:0; }
.product-visual-refresh .product-tree-all,
.product-visual-refresh .product-tree-item,
.product-visual-refresh .product-tree-calibration-link {
  border:0;
  color:var(--product-ink);
  font-size:15px;
  font-weight:500;
  line-height:1.5;
}
.product-visual-refresh .product-tree-calibration-row { border:0; }
.product-visual-refresh .product-tree-all { margin-bottom:12px; }
.product-visual-refresh .product-tree-item { margin-bottom:4px; border-radius:6px; }
.product-visual-refresh .product-tree-item.is-current,
.product-visual-refresh .product-tree-calibration.is-current > .product-tree-calibration-row {
  background:var(--product-soft);
  color:var(--product-blue);
}
.product-visual-refresh .product-tree-item.is-current::before,
.product-visual-refresh .product-tree-calibration.is-current > .product-tree-calibration-row::before { display:none; }
.product-visual-refresh .product-tree-item:hover,
.product-visual-refresh .product-tree-calibration-link:hover { color:var(--product-blue); background:var(--product-soft); }

body.product-visual-refresh #main > .page-heading h1,
body.product-visual-refresh .product-workspace-content > .page-heading h1 {
  color:var(--product-ink);
  font-size:clamp(32px,3.4vw,48px);
  font-weight:500;
  letter-spacing:-.025em;
  line-height:1.12;
}
body.product-visual-refresh #main > .page-heading > p,
body.product-visual-refresh .product-workspace-content > .page-heading > p {
  max-width:65ch;
  margin-top:18px;
  color:var(--product-ink);
  font-size:17px;
  line-height:1.65;
}

.product-visual-refresh .uniform-product-card .feature-catalog-media {
  overflow:visible;
  background:#fff;
  text-decoration:none;
}
.product-visual-refresh .uniform-product-card .feature-catalog-media img {
  border-radius:10px;
  background:var(--product-soft);
}
.product-visual-refresh .uniform-product-card .feature-catalog-title {
  min-height:0;
  margin:16px 0 8px;
  padding:0;
  color:var(--product-ink);
  background:#fff;
  font-size:18px;
  font-weight:500;
  line-height:1.4;
  letter-spacing:0;
  transition:color .18s ease;
}
.product-visual-refresh .product-card-description {
  order:3;
  margin:0;
  color:var(--product-ink);
  font-size:16px;
  line-height:1.6;
}
.product-visual-refresh .feature-catalog-media:hover .feature-catalog-title,
.product-visual-refresh .feature-catalog-media:focus-visible .feature-catalog-title { color:var(--product-blue); }
.product-visual-refresh .feature-catalog-media:hover img,
.product-visual-refresh .feature-catalog-media:hover .feature-catalog-title span { transform:none; animation:none; }
.product-visual-refresh .feature-catalog-media:focus-visible { outline:2px solid var(--product-blue); outline-offset:6px; border-radius:10px; }
.product-visual-refresh .feature-catalog-grid { row-gap:38px; }

/* Product families use one readable three-column rhythm on desktop. The
   family anchors remain in the markup, but repeated subgroup labels add no
   value once the page title and left navigation identify the family. */
.product-visual-refresh .feature-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-visual-refresh .feature-catalog-scope .feature-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-visual-refresh .encoder-catalog-scope .feature-catalog-group .feature-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.product-visual-refresh .catalog-group-heading { display:none; }
.product-visual-refresh .feature-catalog-group { scroll-margin-top:125px; }

.product-visual-refresh .products-overview-image,
.product-visual-refresh .catalog-image,
.product-visual-refresh .detail-product-figure img,
.product-visual-refresh .line-scale-v2-hero-media,
.product-visual-refresh .application-story-hero,
.product-visual-refresh .application-story-detail,
.product-visual-refresh .alternative-layout > .product-image {
  border-radius:10px;
}
.product-visual-refresh .products-overview-card h2,
.product-visual-refresh .catalog-copy h3,
.product-visual-refresh .category-card.catalog-card h3 { color:var(--product-ink); font-weight:500; letter-spacing:0; }
.product-visual-refresh .products-overview-card p,
.product-visual-refresh .catalog-copy p,
.product-visual-refresh .category-card.catalog-card p { color:var(--product-ink); font-size:16px; line-height:1.65; }

.product-visual-refresh :is(.spec-table,.selection-table,.dot-review-table table) :is(th,td) {
  border-color:var(--product-soft);
}
.product-visual-refresh :is(.spec-table,.selection-table,.dot-review-table table) thead {
  background:var(--product-soft);
}
.product-visual-refresh :is(.spec-table,.selection-table,.dot-review-table table) tbody tr:nth-child(even) {
  background:#fff;
}
.product-visual-refresh .product-relationship-context { background:var(--product-soft); }
.product-visual-refresh .product-relationship-context.container { padding-inline:clamp(20px,4vw,48px); }
.product-visual-refresh .product-relationship-grid { border:0; }
.product-visual-refresh .product-relationship-group h2 { color:var(--product-ink); font-size:20px; font-weight:500; letter-spacing:0; }
.product-visual-refresh .product-relationship-group .related-link { border:0; background:transparent; font-size:16px; font-weight:400; }
.product-visual-refresh .category-relations-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:38px 56px; padding-right:64px; }
.product-visual-refresh .category-relation-column h2 { color:var(--product-ink); font-size:20px; font-weight:500; letter-spacing:0; }
.product-visual-refresh .category-relation-column .related-link { border:0; background:transparent; color:var(--product-blue); font-size:16px; }
.product-visual-refresh .footer-bottom,
.product-visual-refresh .category-partnership-sample { font-size:13px; }
.product-visual-refresh .selection-mobile-label { display:none; }

@media(max-width:900px) {
  body.product-visual-refresh #main > .page-heading h1,
  body.product-visual-refresh .product-workspace-content > .page-heading h1 { font-size:36px; }
  .product-visual-refresh .feature-catalog-grid,
  .product-visual-refresh .feature-catalog-scope .feature-catalog-grid,
  .product-visual-refresh .encoder-catalog-scope .feature-catalog-group .feature-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media(max-width:560px) {
  body.product-visual-refresh #main > .page-heading h1,
  body.product-visual-refresh .product-workspace-content > .page-heading h1 { font-size:32px; }
  body.product-visual-refresh #main > .page-heading > p,
  body.product-visual-refresh .product-workspace-content > .page-heading > p { font-size:16px; }
  .product-visual-refresh .uniform-product-card .feature-catalog-title { font-size:18px; }
  .product-visual-refresh .feature-catalog-grid,
  .product-visual-refresh .feature-catalog-scope .feature-catalog-grid,
  .product-visual-refresh .encoder-catalog-scope .feature-catalog-group .feature-catalog-grid { grid-template-columns:1fr; }
  .product-visual-refresh .product-card-description { font-size:16px; }
  .product-visual-refresh .site-header.reference-header.inner-page-header .header-context-inner { overflow:hidden; }
  .product-visual-refresh .header-context-inner > [aria-current] { min-width:0; overflow:hidden; text-overflow:ellipsis; }
  .product-visual-refresh .selection-table-scroll { overflow:visible; }
  .product-visual-refresh .selection-table { display:block; min-width:0; background:transparent; }
  .product-visual-refresh .selection-table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .product-visual-refresh .selection-table tbody { display:grid; gap:0; }
  .product-visual-refresh .selection-table tr { display:block; padding:22px 0; border-bottom:2px solid var(--product-soft); background:#fff; }
  .product-visual-refresh .selection-table :is(th,td) { display:block; width:100%; padding:0; border:0; font-size:16px; line-height:1.65; white-space:normal; overflow-wrap:anywhere; }
  .product-visual-refresh .selection-table td { margin-top:14px; }
  .product-visual-refresh .selection-mobile-label { display:block; margin-bottom:4px; color:var(--product-ink); font-size:14px; font-weight:500; }
  .product-visual-refresh .category-relations-grid { grid-template-columns:1fr; gap:30px; padding-right:0; }
}

@media(prefers-reduced-motion:reduce) {
  .product-visual-refresh .feature-catalog-title { transition:none; }
}
