/* Keep the legacy gradient first for Safari 15.5 and other older browsers. */
/* Fixed page structure from the 1920 × 5257 product artboard. */
.page-products .hero-content { top:calc(286 * var(--u)); }
.page-products .hero-badge { margin-top:calc(71 * var(--u)); }
.page-products .badge-copy { top:calc(-23 * var(--u)); }
.page-products .hero-art img { position:absolute; left:-43.382%; top:-8.73976%; width:146.3954688%; max-width:none; height:126.2341584%; object-fit:fill; }
.page-products .hero-art:after { background:linear-gradient(180deg,#0000004d,transparent 26.7446%),linear-gradient(90deg,#001526e6,#001526b0 23.4719%,#0015261a 61.4848%); }
.product-catalog-section { position:relative; min-height:calc(877 * var(--u)); padding:calc(359 * var(--u)) calc(200 * var(--u)) calc(100 * var(--u)); color:#fff; background:linear-gradient(180deg,#000b1f 43.75%,#034071); background:linear-gradient(180deg in srgb,#000b1f 43.75%,#034071); }
.product-catalog-section>h2 { position:absolute; top:calc(100 * var(--u)); left:calc(200 * var(--u)); right:calc(200 * var(--u)); text-align:center; font:400 calc(82 * var(--u))/calc(80 * var(--u)) var(--heading); letter-spacing:0; text-transform:uppercase; white-space:pre-line; }
.product-catalog-subtitle { position:absolute; top:calc(270 * var(--u)); left:calc(200 * var(--u)); right:calc(200 * var(--u)); text-align:center; font:400 calc(24 * var(--u))/calc(29 * var(--u)) var(--serif); text-transform:uppercase; white-space:pre-line; }
.product-catalog-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:calc(10 * var(--u)); }
.product-catalog-item { position:relative; min-height:calc(97 * var(--u)); padding:calc(15 * var(--u)) calc(15 * var(--u)) calc(13 * var(--u)); border-radius:calc(10 * var(--u)); background:#29598780; scroll-margin-top:calc(30 * var(--u)); }
.product-catalog-item>a { display:block; min-height:calc(97 * var(--u)); margin:calc(-15 * var(--u)) calc(-15 * var(--u)) calc(-13 * var(--u)); padding:calc(15 * var(--u)) calc(15 * var(--u)) calc(13 * var(--u)); border-radius:inherit; }
.product-catalog-item-wide { grid-column:span 2; }
.product-catalog-item-highlight { background:linear-gradient(90deg,#183a67,#1db4bf); }
.product-catalog-number { display:block; color:#1db4bf; font:300 calc(16 * var(--u))/calc(19 * var(--u)) var(--body); }
.product-catalog-name { display:block; margin-top:calc(10 * var(--u)); color:#fff; font:400 calc(16 * var(--u))/calc(19 * var(--u)) var(--body); white-space:pre-line; overflow-wrap:break-word; }
.product-catalog-item>a:hover { background:#ffffff0d; }
.product-catalog-item:target { outline:calc(2 * var(--u)) solid #1db4bf; outline-offset:calc(3 * var(--u)); }
.product-features { display:flex; flex-direction:column; gap:calc(40 * var(--u)); padding:0 calc(102 * var(--u)) calc(100 * var(--u)); background:linear-gradient(180deg,#034071 60.5769%,#000); }
.product-feature { position:relative; height:calc(800 * var(--u)); flex:none; color:#000; background:#fff; border-radius:calc(40 * var(--u)); overflow:hidden; scroll-margin-top:0; }
.product-feature::after { content:""; position:absolute; z-index:1; inset:0; background:linear-gradient(90deg,#fff 34.7%,#fff0 49.7%); pointer-events:none; }
.product-feature-inner { position:relative; margin:0 calc(98 * var(--u)); height:100%; }
.product-feature-copy { position:absolute; z-index:2; left:0; top:0; width:calc(492 * var(--u)); height:100%; padding-top:calc(139 * var(--u)); }
.product-feature-number { position:absolute; left:0; top:calc(100 * var(--u)); font:400 calc(24 * var(--u))/calc(29 * var(--u)) var(--serif); }
/* Copy grows in normal flow; longer titles move the description below them. */
.product-feature-copy>h2 { position:static; width:calc(510 * var(--u)); height:auto; max-height:none; overflow:visible; font:400 calc(64 * var(--u))/calc(60 * var(--u)) var(--heading); letter-spacing:0; text-transform:uppercase; white-space:pre-line; overflow-wrap:break-word; }
.product-feature-summary { position:static; margin-top:calc(22 * var(--u)); max-height:none; overflow:visible; color:#1db4bf; font:400 calc(24 * var(--u))/calc(28 * var(--u)) var(--body); white-space:pre-line; }
.product-feature-metrics { position:absolute; top:calc(584 * var(--u)); left:0; width:calc(448 * var(--u)); display:grid; grid-template-columns:calc(110 * var(--u)) calc(110 * var(--u)) calc(132 * var(--u)); gap:calc(48 * var(--u)); text-align:center; }
.product-feature-2 .product-feature-metrics { top:calc(600 * var(--u)); grid-template-columns:calc(63 * var(--u)) calc(157 * var(--u)) calc(104 * var(--u)); gap:calc(50 * var(--u)); }
.product-feature-value { font:400 calc(32 * var(--u))/calc(38 * var(--u)) var(--body); white-space:nowrap; color:transparent; background:linear-gradient(90deg,#1db4bf,#0052ff); -webkit-background-clip:text; background-clip:text; }
.product-feature-label { margin-top:calc(6 * var(--u)); font:300 calc(14 * var(--u))/calc(16 * var(--u)) var(--body); white-space:pre-line; }
.product-feature-image { position:absolute; z-index:0; left:calc(418 * var(--u)); top:0; width:calc(1200 * var(--u)); height:100%; overflow:hidden; background:#e7edf0; }
.product-feature-image>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
@media(min-width:1024px) {
  .product-feature-2 .product-feature-summary { margin-top:calc(20 * var(--u)); }
  .product-features { --u:min(calc(100vw / 1920),calc((100svh - 160px) / 800)); --product-stack-top:clamp(54px,7vh,80px); --product-stack-peek:clamp(16px,2.5vh,24px); }
  .product-features.is-stack-enabled { padding-bottom:calc(100 * var(--u) + var(--product-stack-top)); }
  /* A real flex item gives the final card room to stick before the section exits. */
  .product-features.is-stack-enabled::after { content:""; flex:none; height:var(--product-stack-runway,60vh); }
  .product-features.is-stack-enabled .product-feature { position:sticky; top:calc(var(--product-stack-top) + var(--stack-index,0) * var(--product-stack-peek) + var(--stack-first-extra,0px)); scroll-margin-top:calc(var(--product-stack-top) + var(--stack-index,0) * var(--product-stack-peek) + var(--stack-first-extra,0px)); }
  .product-features.is-stack-enabled .product-feature:nth-child(n+2) { --stack-first-extra:clamp(16px,2.5vh,20px); }
  .product-features.is-stack-enabled .product-feature:nth-child(1) { z-index:1; }
  .product-features.is-stack-enabled .product-feature:nth-child(2) { z-index:2; }
  .product-features.is-stack-enabled .product-feature:nth-child(3) { z-index:3; }
}
/* Cards enter at full opacity. Earlier layers retain a visible upper edge. */
.product-features.is-stack-enabled .product-feature { transform:translateY(var(--stack-lift,0px)) scale(var(--stack-scale,1)); transform-origin:center top; opacity:var(--stack-opacity,1); }
@media(max-width:1023px) {
  .page-products .hero-content { top:auto; }
  .page-products .hero-badge { margin-top:48px; }
  .page-products .badge-copy { top:-12px; }
  .page-products .hero-art img { left:0; top:0; width:100%; height:100%; object-fit:cover; object-position:65% center; }
  .product-catalog-section { min-height:0; padding:65px 24px 60px; }
  .product-catalog-section>h2 { position:static; font-size:clamp(42px,7vw,64px); line-height:1; white-space:pre-line; }
  .product-catalog-subtitle { position:static; margin-top:22px; font-size:20px; line-height:1.3; }
  .product-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:36px; }
  .product-catalog-item { min-height:116px; padding:14px; border-radius:10px; scroll-margin-top:20px; }
  .product-catalog-item>a { min-height:116px; margin:-14px; padding:14px; }
  .product-catalog-number { font-size:14px; line-height:18px; }
  .product-catalog-name { margin-top:8px; font-size:14px; line-height:20px; }
  .product-catalog-item-wide { grid-column:span 2; }
  .product-catalog-item:target { outline:2px solid #1db4bf; outline-offset:3px; }
  .product-features { gap:24px; padding:0 20px 60px; }
  .product-feature { height:auto; padding:0; border-radius:20px; }
  .product-feature::after { display:none; }
  .product-feature-inner { margin:0; height:auto; display:flex; flex-direction:column; gap:0; }
  .product-feature-copy { position:static; width:100%; height:auto; padding:38px 24px 0; }
  .product-feature-number { position:static; font-size:21px; line-height:26px; }
  .product-feature-copy>h2 { position:static; width:100%; height:auto; margin-top:10px; max-height:none; overflow:visible; font-size:clamp(40px,7vw,60px); line-height:1; }
  .product-feature-summary { position:static; margin-top:24px; max-height:none; overflow:visible; font-size:20px; line-height:1.4; white-space:normal; }
  .product-feature-metrics,.product-feature-2 .product-feature-metrics { position:static; width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:36px; }
  .product-feature-value { font-size:clamp(23px,4.7vw,32px); line-height:1.2; }
  .product-feature-label { margin-top:9px; font-size:12px; line-height:17px; white-space:normal; }
  .product-feature-image { position:relative; left:auto; top:auto; width:100%; height:auto; aspect-ratio:5/3; margin-top:28px; }

}
@media(min-width:600px) and (max-width:1023px) { .product-catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(prefers-reduced-motion:reduce) { .product-features .product-feature { transform:none; opacity:1; } }

/* Supplied exports already include the left fade and full card composition. */
.page-products .hero.is-image-frame .hero-art img { inset:0; width:100%; height:100%; object-fit:cover; }
.page-products .hero.is-image-frame .hero-art:after { display:none; }
.product-feature.is-image-frame::after { display:none; }
.product-feature.is-image-frame .product-feature-image { left:calc(-98 * var(--u)); right:calc(-98 * var(--u)); width:auto; background:#fff; }
.product-feature.is-image-frame .product-feature-image>img { object-fit:fill; }
.product-feature.is-image-contain .product-feature-image>img { object-fit:contain; }
.product-features:has(.is-image-frame) .product-feature { width:calc(1716 * var(--u)); max-width:100%; align-self:center; }
.product-catalog-section.is-heading-only { min-height:0; padding:calc(100 * var(--u)) calc(200 * var(--u)); }
.product-catalog-section.is-heading-only>h2 { position:static; }
.product-catalog-section.is-heading-only .product-catalog-subtitle { position:static; margin-top:24px; }
.product-catalog-section.is-heading-only .product-catalog-grid { display:none; }
@media(max-width:1023px) {
  .product-features:has(.is-image-frame) .product-feature { width:100%; }
  .product-feature.is-image-frame .product-feature-image { position:relative; left:auto; right:auto; width:100%; aspect-ratio:1716/800; margin-top:28px; }
  .product-feature.is-image-only .product-feature-image { margin-top:0; }
  .product-catalog-section.is-heading-only { padding:60px 24px; }
}
