/* Native scroll reveals the catalog around the original product photograph. */
.product-reveal{position:relative;--reveal-progress:0;--reveal-copy:1;--reveal-tiles:0;--reveal-photo-width:780px;--reveal-photo-top:43%;--reveal-photo-height:62%;--reveal-nav:76px}
.reveal-anchor{display:block;scroll-margin-top:0}
.reveal-heading{font:400 clamp(24px,3vw,40px)/1.5 var(--font-display);letter-spacing:-.045em}
.reveal-heading em{color:#c7f403;font-style:normal}
.reveal-caption{display:none}
.product-reveal.is-reveal-ready{height:230svh}
.is-reveal-ready .reveal-stage{height:calc(100svh - var(--reveal-nav));min-height:0;position:sticky;top:var(--reveal-nav);overflow:clip;background:#1d1d1b}
.is-reveal-ready .reveal-anchor{position:absolute;top:calc(100% - 100svh + var(--reveal-nav));left:0;width:1px;height:1px}
.is-reveal-ready .hero-commercial.hero-cinematic{position:absolute;inset:0;height:100%;padding:0;overflow:visible}
.is-reveal-ready .hero-commercial:after{display:none}
.is-reveal-ready .hero-commercial .hero-identity{position:absolute;top:18px;left:0;width:100%;opacity:var(--reveal-copy);transform:translateY(calc(var(--reveal-progress) * -40px))}
.is-reveal-ready .hero-commercial .hero-brand{font-size:clamp(65px,10vw,140px)}
.is-reveal-ready .hero-commercial .hero-products{position:absolute;top:var(--reveal-photo-top);left:50%;width:var(--reveal-photo-width);height:var(--reveal-photo-height);margin:0;aspect-ratio:auto;transform:translate(-50%,-50%);overflow:hidden;border-radius:calc(var(--reveal-progress) * 18px);background:radial-gradient(ellipse,#c7f4030a,transparent 70%);display:flex;align-items:center;justify-content:center}
.is-reveal-ready .hero-product-composition{width:100%;max-width:none;max-height:100%;object-fit:contain;flex-shrink:0}
.is-reveal-ready .hero-commercial .hero-copy{position:absolute;bottom:25px;left:0;width:100%;opacity:var(--reveal-copy)}
.is-reveal-ready .hero-commercial h1{font-size:clamp(22px,2.4vw,32px)}
.is-reveal-ready .hero-commercial .hero-badge{display:none}
.is-reveal-ready .hero-commercial .button-row{margin-top:18px}
.is-reveal-ready .hero-commercial .hero-copy.is-hidden{visibility:hidden}
.is-reveal-ready .reveal-gallery{position:absolute;inset:0;max-width:none;padding:0;opacity:var(--reveal-tiles);pointer-events:none}
.is-reveal-ready .reveal-gallery.is-visible{pointer-events:auto}
.is-reveal-ready .reveal-gallery .section-heading{position:absolute;top:25px;left:0;right:0;display:block;text-align:center;margin:0;transform:translateY(calc((1 - var(--reveal-tiles)) * 20px))}
.is-reveal-ready .reveal-gallery .eyebrow{font-size:9px;margin-bottom:12px;justify-content:center}
.is-reveal-ready .reveal-gallery .product-grid{position:absolute;inset:125px 7% 32px;display:grid;grid-template-columns:minmax(160px,220px) 1fr minmax(160px,220px);grid-template-rows:1fr 1fr;align-items:center;gap:18px 30px;margin:0}
.is-reveal-ready .reveal-gallery .product-tile{transform:translate(calc((1 - var(--reveal-tiles)) * -90px),calc((1 - var(--reveal-tiles)) * 30px))}
.is-reveal-ready .reveal-gallery .product-tile:nth-child(1){grid-column:1;grid-row:1}
.is-reveal-ready .reveal-gallery .product-tile:nth-child(2){grid-column:3;grid-row:1}
.is-reveal-ready .reveal-gallery .product-tile:nth-child(3){grid-column:1;grid-row:2}
.is-reveal-ready .reveal-gallery .product-tile:nth-child(4){grid-column:3;grid-row:2}
.is-reveal-ready .reveal-gallery .product-tile:nth-child(even){transform:translate(calc((1 - var(--reveal-tiles)) * 90px),calc((1 - var(--reveal-tiles)) * 30px))}
.is-reveal-ready .reveal-gallery .product-tile-visual{width:100%;height:clamp(120px,21svh,200px);aspect-ratio:auto;border-radius:8px;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
.is-reveal-ready .reveal-gallery .product-tile-heading{margin:10px 0 0;min-height:0}
.is-reveal-ready .reveal-gallery .product-tile-heading h3{font-size:12px;line-height:1.7}
.is-reveal-ready .reveal-gallery .product-tile>p{display:none}
.is-reveal-ready .reveal-gallery .product-tile-cta{font-size:10px;padding-bottom:4px;margin-top:6px}
.is-reveal-ready .reveal-caption{display:block;position:absolute;left:35%;right:35%;bottom:13%;text-align:center;font-size:9px;letter-spacing:.14em;color:#969c89;opacity:var(--reveal-tiles);pointer-events:none}
@media(max-width:849px){
 .product-reveal{--reveal-nav:68px}
 .product-reveal.is-reveal-ready{height:210svh}
 .is-reveal-ready .reveal-stage{min-height:0}
 .is-reveal-ready .hero-commercial .hero-identity{top:32px}
 .is-reveal-ready .hero-commercial .hero-brand{font-size:12vw}
 .is-reveal-ready .hero-commercial .hero-copy{bottom:60px;padding:0 15px}
 .is-reveal-ready .hero-commercial h1{font-size:clamp(18px,4.5vw,29px)}
 .is-reveal-ready .reveal-gallery .section-heading{top:20px}
 .is-reveal-ready .reveal-heading{font-size:clamp(20px,4.7vw,32px)}
 .is-reveal-ready .reveal-gallery .eyebrow{font-size:8px;margin-bottom:8px}
 .is-reveal-ready .reveal-gallery .product-grid{inset:34% 7% 25px;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;align-items:end;max-width:calc(36svh + 16px);margin-inline:auto}
 .is-reveal-ready .reveal-gallery .product-tile:nth-child(2){grid-column:2}
 .is-reveal-ready .reveal-gallery .product-tile:nth-child(4){grid-column:2}
 .is-reveal-ready .reveal-gallery .product-tile-visual{height:clamp(110px,18svh,170px)}
 .is-reveal-ready .reveal-gallery .product-tile-heading{min-height:32px;align-items:flex-start}
 .is-reveal-ready .reveal-gallery .product-tile-heading h3{font-size:10px;line-height:1.6}
 .is-reveal-ready .reveal-gallery .product-tile-heading>.product-arrow{width:12px;height:12px}
 .is-reveal-ready .reveal-gallery .product-tile-cta{font-size:9px;margin-top:5px}
 .is-reveal-ready .reveal-caption{display:none}
}
@media(prefers-reduced-motion:reduce){
 .product-reveal.is-reveal-ready{height:auto}
 .product-reveal .hero-product-composition{animation:none}
}

/* Constrain image grid items to their visible frame, including narrow app panels. */
.is-reveal-ready .product-tile-visual>img,.is-reveal-ready .supplied-bands-preview{min-width:0;min-height:0;max-height:100%}
.is-reveal-ready .supplied-bands-preview img{min-height:0;flex:1 1 0;object-fit:contain}
