/* Product story only. `clip` keeps the surface artwork contained without
   creating the scroll container that overflow:hidden gives a sticky child. */
.page-surface.has-product-scroll{overflow:visible;overflow:clip}
#products .product-scroll-spacer,#products .product-scroll-hint{display:none}
#products.is-scroll-ready .product-sticky{position:sticky;top:var(--product-top,120px)}
#products.is-scroll-ready .product-scroll-spacer{display:block;height:var(--product-travel,0px);pointer-events:none}
#products.is-scroll-ready .book-heading{min-height:0;margin-bottom:clamp(20px,3vh,36px)}
#products.is-scroll-ready .book-heading>img{height:90px}
#products.is-scroll-ready .product-panel{min-height:var(--product-panel-height,350px)}
#products.is-scroll-ready .product-tabs{margin-top:clamp(25px,4vh,48px)}
#products.is-scroll-ready .product-tabs button:before{inset:-18px 0}
#products.is-scroll-ready .product-scroll-hint{display:flex;justify-content:space-between;gap:14px;margin-top:17px;color:#795f83;font-size:10px;line-height:1.6;letter-spacing:.025em}
#products #product-position{color:#8a139f;white-space:nowrap;font-weight:700;letter-spacing:.1em;font-variant-numeric:tabular-nums}
#products.is-scroll-ready .reveal{animation:none;opacity:1;transform:none}
#products .product-tabs button:focus-visible{outline:3px solid #b7862c;outline-offset:6px}
#products.is-product-flow .product-sticky{position:static}
#products.is-product-flow .product-scroll-spacer,#products.is-product-flow .product-tabs{display:none}
#products.is-product-flow .product-panel{margin-bottom:24px;animation:none}
@media(max-width:600px){
 #products.is-scroll-ready .book-heading{margin-bottom:18px}
 #products.is-scroll-ready .book-heading>img{height:65px}
 #products.is-scroll-ready .book-stage{width:min(170px,22svh)}
 #products.is-scroll-ready .product-layout{gap:18px}
 #products.is-scroll-ready .product-panel{padding:21px}
 #products.is-scroll-ready .product-panel h3{font-size:25px}
 #products.is-scroll-ready .product-panel>p{font-size:13px}
 #products.is-scroll-ready .product-tabs{margin-top:24px}
 #products.is-scroll-ready .product-scroll-hint{font-size:9px;margin-top:14px}
}
@media(prefers-reduced-motion:reduce){
 #products .book-stage,#products .book-cover,#products .product-panel{animation:none!important;transition:none!important}
}
.motion-paused #products .book-stage.is-turning .book-cover{animation:none!important}
@media print{
 .page-surface.has-product-scroll{overflow:visible}
 #products.is-scroll-ready .product-sticky{position:static}
 #products.is-scroll-ready .product-scroll-spacer,#products.is-scroll-ready .product-tabs,#products.is-scroll-ready .product-scroll-hint{display:none}
 #products .product-panel[hidden]{display:block!important}
 #products .product-panel{break-inside:avoid;min-height:0!important;margin-bottom:20px}
}
