/* Display the product scene at full width, rather than fitting a long poster. */
.product-scene{position:relative;overflow:hidden;aspect-ratio:var(--scene-ratio,1);background:#edf3f3}
.product-scene>img{position:absolute;top:0;left:0;display:block;width:100%;height:auto!important;max-height:none!important;margin:0;object-fit:fill;transform:translateY(var(--scene-shift,0%))}
.catalog-image.product-scene{display:block;min-height:0;aspect-ratio:var(--scene-ratio,1);align-self:center}
.catalog-image.product-scene figcaption{top:16px;left:16px;bottom:auto;display:flex;align-items:center;gap:15px;right:16px;justify-content:space-between;background:none;padding:0}
.catalog-image figcaption>span,.catalog-image figcaption>a{font-size:10px;line-height:1.6;padding:7px 10px;background:#fcfbf8e8;color:#37423a;backdrop-filter:blur(6px)}
.catalog-image figcaption>a:hover{background:#fff;color:var(--red)}
#product-dialog{width:min(1020px,94vw);max-height:90svh}
#product-dialog .dialog-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;padding:36px}
.detail-media,.detail-copy{min-width:0}
.detail-media{align-self:start}
.detail-visual{width:100%}
.detail-original{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 0;border-bottom:1px solid #292c2826;font-size:11px;line-height:1.8;color:#626c62}
.detail-original:hover{color:var(--red)}
.detail-copy>.eyebrow{font-size:9px;letter-spacing:1px;line-height:1.8;color:#687266;margin:0 35px 0 0}
#product-dialog .detail-copy h2{font-size:29px;line-height:1.4;margin:18px 0}
.detail-copy>p:not(.eyebrow){font-size:13px;line-height:1.9;color:#686c64}
#product-dialog #detail-specs{grid-template-columns:64px minmax(0,1fr);font-size:12px;line-height:1.8;gap:13px 16px;margin:24px 0 18px}
#product-dialog .detail-note{font-size:11px!important}
#product-dialog .detail-source{font-size:12px}
#product-dialog .detail-source[hidden]{display:none!important}
#product-dialog .detail-copy .button{width:100%;padding:15px 20px;font-size:13px}
#product-dialog .dialog-close{width:36px;height:36px;top:8px;right:8px;background:#fcfbf8ef}
@media(max-width:1000px){#product-dialog .dialog-content{padding:28px;gap:25px}.catalog-image.product-scene{min-height:0}.catalog-image figcaption>span,.catalog-image figcaption>a{font-size:9px;padding:6px 8px;letter-spacing:0}.catalog-image.product-scene figcaption{left:12px;right:12px;top:12px;gap:8px}}
@media(max-width:650px){.catalog-image.product-scene{min-height:0;max-height:none;aspect-ratio:var(--scene-ratio,1)}#product-dialog .dialog-content{display:block;padding:22px}.detail-copy{margin-top:28px}.detail-copy>.eyebrow{margin-right:0}#product-dialog .detail-copy h2{font-size:27px;margin:18px 0}.detail-original{padding:12px 0}.detail-copy>p:not(.eyebrow){font-size:13px}.catalog-image.product-scene figcaption{top:10px;left:10px;right:10px}}

/* Render saved crops directly; never crop the same image a second time in CSS. */
.catalog-media{min-width:0;align-self:start}
.catalog-brands{display:flex;flex-wrap:wrap;gap:10px 16px;margin:0 4% 20px;padding:0 0 22px;border-bottom:1px solid #d9d8d1}.catalog-brands a{padding:10px 18px;border:1px solid #d9d8d1;border-radius:3px;font-size:12px;line-height:1.6}.catalog-brands a[aria-current]{background:#292c28;border-color:#292c28;color:#fcfbf8}.catalog-brands a:hover{border-color:var(--red)}@media(max-width:650px){.catalog-brands{margin:0 7% 12px;gap:8px}.catalog-brands a{font-size:11px;padding:9px 12px}}
.product-scene.product-photo{aspect-ratio:4/3;background:#f7f8f8}
.product-scene.product-photo>img{position:static;width:100%;height:100%!important;object-fit:scale-down;transform:none}
.catalog-image.product-photo figcaption{top:12px}
.series-thumbnail.series-photo{aspect-ratio:4/3;background:#f7f8f8}
.series-thumbnail.series-photo img{object-fit:contain;object-position:center}
.product-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}
.product-gallery a{display:block;text-decoration:none;color:inherit;min-width:0}
.product-gallery img{width:100%;height:auto;aspect-ratio:1;object-fit:contain;background:white;border:1px solid #dddcd6;transition:border-color .2s}
.product-gallery a:hover img,.product-gallery a:focus-visible img{border-color:var(--red)}
.product-gallery span{display:block;font-size:10px;text-align:center;margin-top:7px;line-height:1.6}
.gallery-note{font-size:11px;line-height:1.8;color:#77776c;margin-top:14px}
.gallery-link{display:flex;justify-content:space-between;font-size:12px;padding:16px 0;border-bottom:1px solid #d9d8d1}
.product-story-images{padding:80px 6vw;background:#eeede8}
.product-story-heading{max-width:1000px;margin:0 auto 40px}
.product-story-heading h2{font-size:clamp(26px,3vw,44px);line-height:1.4;font-weight:500;margin-top:20px}
.product-story-stack{max-width:790px;margin:auto;background:#fff}
.product-story-stack a{display:block;width:100%;color:inherit}
.product-story-stack img{display:block;width:100%;height:auto;max-width:100%;margin-inline:auto}
#product-image-dialog{padding:24px;border:0;background:#fcfbf8;max-width:min(900px,94vw);width:fit-content;max-height:94svh;color:#292c28}
#product-image-dialog::backdrop{background:#111b}
#product-image-dialog>img{display:block;max-width:100%;width:auto;max-height:calc(90svh - 135px);height:auto;object-fit:contain;margin:auto}
#product-image-caption{text-align:center;margin:14px 40px;font-size:13px}
.image-lightbox-close{position:absolute;top:5px;right:7px;width:36px;height:36px;border:0;background:#fffdf4;cursor:pointer;font-size:26px;border-radius:50%}
.image-lightbox-controls{display:flex;align-items:center;justify-content:center;gap:24px;font-size:12px}
.image-lightbox-controls button{border:1px solid #ccc;background:none;width:44px;height:36px;cursor:pointer}
@media(max-width:650px){.product-gallery{gap:6px}.product-gallery span{font-size:9px}.product-story-images{padding:48px 18px}.product-story-heading{margin-bottom:24px}#product-image-dialog{padding:16px 10px}.catalog-image.product-photo{aspect-ratio:4/3}}

/* Keep the complete wire image below the product count, at its natural ratio. */
.catalog-hero-art{display:flex;flex-direction:column;min-height:0;padding-top:24px}
.catalog-hero-art>.catalog-count{position:static;display:block;padding-inline:28px}
.catalog-hero-art>.eyebrow{position:static;margin:20px 28px 24px}
.catalog-hero-art>img{position:static;display:block;width:100%;height:auto;max-height:none;aspect-ratio:1387/1134;object-fit:contain;flex-shrink:0;margin-top:auto}

/* Give the about-page products a real image area on desktop and mobile. */
.q-series-grid>a{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:18px}
.q-series-grid .q-series-number{position:static;grid-column:1;grid-row:1}
.q-series-grid .q-series-visual{display:block;grid-column:1/-1;grid-row:2;width:100%;min-width:0;aspect-ratio:4/3;background:#fff}
.q-series-grid .q-series-visual img{display:block;width:100%;height:100%;max-height:none;object-fit:scale-down;grid-column:auto;grid-row:auto}
.q-series-grid>a>div{grid-column:1/-1;grid-row:3}
.q-series-grid b{grid-column:2;grid-row:1}
@media(min-width:651px) and (max-width:1000px){.q-series-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.q-series-grid>a{padding:18px;gap:16px}.q-series-grid h3{font-size:22px;margin:0 0 10px}.q-series-grid p{font-size:12px}}
