/* Product reading sequence: finish / space / product / connection / evidence. */
.product-page .kj-inpage { flex-wrap: wrap; row-gap: 4px; overflow: visible; }
.product-page .kj-inpage a { min-height: 44px; display: inline-flex; align-items: center; }
.product-page .kj-inpage a:focus-visible,
.product-sample-image:focus-visible,
.product-install-links a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.product-scene { padding-block: clamp(24px,4vw,64px); }
.product-scene .page-figure { max-width: 1020px; margin-inline: auto; }
.product-scene .page-figure img { aspect-ratio: auto; height: auto; max-height: 800px; object-fit: contain; }
.product-page .section-title { text-wrap: balance; }
.product-sample-pair { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(32px,6vw,100px); align-items: start; }
.product-sample-pair figure { min-width: 0; margin: 0; }
.product-sample-pair figure:nth-child(2) { padding-top: 72px; }
.product-sample-image { display: grid; place-items: center; position: relative; width: 100%; padding: 24px 0; border: 0; background: none; color: inherit; cursor: zoom-in; }
.product-sample-image img { display: block; width: 100%; max-width: 490px; max-height: 490px; object-fit: contain; }
.product-sample-image span { position: absolute; right: 0; bottom: 0; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid currentColor; opacity: .65; }
.product-sample-pair figcaption { margin-top: 28px; max-width: 440px; }
.product-sample-pair h3 { margin: 10px 0 14px; font-size: clamp(24px,2.3vw,36px); line-height: 1.2; font-weight: 500; }
.product-sample-pair p { line-height: 1.7; }
.product-install-links { border-top: 1px solid var(--line,#d3d0c9); }
.product-install-links a { display: grid; grid-template-columns: 44px 1fr 24px; gap: 24px; align-items: start; padding: 32px 0; border-bottom: 1px solid var(--line,#d3d0c9); color: inherit; text-decoration: none; }
.product-install-links h3 { margin: 0 0 12px; font-size: clamp(24px,3vw,40px); line-height: 1.2; font-weight: 500; }
.product-install-links p { margin: 0; max-width: 650px; line-height: 1.7; }
.product-install-links svg { width: 24px; height: 24px; margin-top: 8px; transition: transform 200ms ease; }
.product-install-links a:hover svg { transform: translateX(5px); }
.product-install-entry .note { max-width: 850px; margin-top: 28px; }
.product-page .kj-table-scroll { max-width: 100%; }
.product-page .kj-catalogue-table td, .product-page .kj-catalogue-table th { white-space: normal; }
@media(min-width:1200px) {
  .product-page .kj-named-finish-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .product-page .kj-spc-finish-grid { grid-template-columns: repeat(7,minmax(0,1fr)); }
}
@media(max-width:680px) {
  .product-page .page-intro { padding-bottom: 24px; }
  .product-page .kj-inpage { gap: 4px 18px; font-size: 13px; }
  .product-sample-pair { grid-template-columns: 1fr; gap: 50px; }
  .product-sample-pair figure:nth-child(2) { padding-top: 0; }
  .product-sample-image img { max-width: 380px; max-height: 350px; }
  .product-sample-pair figcaption { margin-top: 20px; }
  .product-install-links a { grid-template-columns: 26px minmax(0,1fr) 18px; gap: 14px; padding-block: 26px; }
  .product-install-links svg { width: 18px; }
  .product-install-links h3 { font-size: 24px; }
  .product-scene .page-figure { margin: 0; }
}
@media(prefers-reduced-motion:reduce) { .product-install-links svg { transition: none; } }
