/* One structure for physical, STEM and catalogue products. */
body.site-fluid .unified-product-hero .stem-detail-hero-grid{align-items:center}
body.site-fluid .unified-product-hero .stem-detail-stage{position:relative;aspect-ratio:4/3;max-height:none;display:grid;place-items:center}
body.site-fluid .unified-product-hero .stem-detail-stage>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.unified-product-hero .stem-detail-photo figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px 22px;flex-wrap:wrap}
.unified-product-hero .stem-detail-photo figcaption a{font-size:var(--text-small);text-decoration:underline;text-underline-offset:4px}
.product-demonstration-grid{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.85fr);gap:var(--layout-gap);align-items:center}
.product-demonstration-media{margin:0;min-width:0}
.product-demo-stage{position:relative;aspect-ratio:var(--video-ratio,16/9);background:#17271f;border-radius:14px;overflow:hidden}
.product-demo-stage--portrait{width:min(100%,420px);margin-inline:auto;aspect-ratio:var(--video-ratio,9/16)}
.product-demo-stage>video{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.product-demonstration-media figcaption{font-size:var(--text-small);line-height:1.7;margin-top:16px;color:#52634f}
.product-demonstration-copy{min-width:0}
.product-demonstration-copy h2{margin-bottom:24px}
.product-demonstration-copy>p:not(.eyebrow){font-size:var(--text-body);line-height:1.8;color:#455c4c}
.product-demonstration-copy .text-link{margin-top:22px}
.product-demonstration-copy>.section-note{font-size:var(--text-small);margin-top:20px}
.product-image-gallery{max-width:1000px;margin-inline:auto}
.product-image-gallery .stem-detail-stage{position:relative;aspect-ratio:4/3;max-height:none}
.product-image-gallery .stem-detail-stage>a{position:absolute;inset:0;display:block;width:100%;height:100%}
.product-image-gallery .stem-detail-stage>a>img{display:block;width:100%;height:100%;object-fit:contain}
body.site-fluid .product-operation-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:28px;align-items:start;list-style:none;padding:0;margin:0}
body.site-fluid .product-operation-steps>li{min-width:0;border-top:1px solid #bbc8b5;padding-top:22px}
body.site-fluid .product-operation-steps .stem-step-number{display:block;margin-bottom:15px}
body.site-fluid .product-operation-steps h3{font-size:var(--title-sub);line-height:1.35;margin-bottom:14px}
body.site-fluid .product-operation-steps p{font-size:var(--text-body);line-height:1.8}
.product-specification-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:28px var(--layout-gap);align-items:start}
.product-specification .stem-facts:only-child{max-width:1100px;width:100%;justify-self:stretch}
.product-specification .product-planning-details{margin-top:28px}
/* The following full-width disclosure owns the shared separator. */
.product-specification-grid:has(+.product-planning-details)>.product-reference-notes{border-bottom:0}
.product-observation-notes{margin-top:28px}
.product-extra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:28px;margin-block:28px}
.product-extra-grid>figure{min-width:0;margin:0}
.product-extra-stage{position:relative;aspect-ratio:4/3;overflow:hidden;background:#e9e6de;border:1px solid #d2d2c6;border-radius:14px;isolation:isolate}
.product-extra-stage>img{display:block;width:100%;height:100%;object-fit:contain}
.product-extra-grid figcaption{font-size:var(--text-small);line-height:1.7;margin-top:14px;color:#52634f}
.product-specification .dimension-panel{margin:0}
body.site-fluid .product-specification .planning-rows{margin-bottom:24px}
@media(max-width:850px){body.site-fluid .product-operation-steps{grid-template-columns:1fr}.product-specification-grid,.product-extra-grid,.product-demonstration-grid{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){body.site-fluid .unified-product-hero .stem-detail-copy h1{font-size:clamp(34px,8vw,42px)}.product-specification .stem-facts>div{grid-template-columns:1fr;gap:8px}}

/* Six-role pilot: one full view and six labelled selectors, followed by a separate video. */
.product-six-gallery .stem-detail-stage{background:#e9e6de}
.product-six-gallery .stem-detail-stage>a{position:absolute;inset:0;display:block;width:100%;height:100%;cursor:zoom-in}
.product-six-gallery .stem-detail-stage>a>img{display:block;width:100%;height:100%;object-fit:contain}
.product-six-gallery[data-gallery-kind="catalogue-render"] .stem-detail-stage img,
.product-six-gallery[data-gallery-kind="reference-drawing"] .stem-detail-stage img{mix-blend-mode:multiply}
.product-image-enlarge{position:absolute;right:16px;bottom:16px;display:grid;place-items:center;width:44px;height:44px;border:1px solid #9caa9a;border-radius:50%;background:#f4f3e9e8;color:#20342b;font-size:26px}
.unified-product-hero .product-six-gallery figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:14px;min-height:3.4em;font-size:var(--text-small);line-height:1.7;align-items:start}
.product-image-count{font-variant-numeric:tabular-nums;white-space:nowrap;color:#435a49}
.product-image-thumbnails{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-top:8px}
.product-image-thumbnails>button{display:grid;grid-template-rows:auto 1fr;align-content:start;min-width:0;padding:4px 4px 8px;border:1px solid #aab8a3;border-radius:9px;background:#e9e6de;color:#20342b;font:inherit;cursor:pointer}
.product-image-thumbnails img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:contain;border-radius:5px}
.product-image-thumbnails button[data-gallery-kind="catalogue-render"] img,.product-image-thumbnails button[data-gallery-kind="reference-drawing"] img{mix-blend-mode:multiply}
body.site-fluid .product-image-thumbnails span{font-size:var(--text-small);line-height:1.4;padding-top:6px}
.product-image-thumbnails [aria-pressed="true"]{outline:2px solid #8d6c28;outline-offset:1px;background:#e7e1cf}
.product-image-thumbnails button:focus-visible,.product-six-gallery a:focus-visible{outline:3px solid #355e46;outline-offset:4px}
dialog.product-gallery-dialog{box-sizing:border-box;width:calc(100vw - 32px);max-width:1800px;max-height:94svh;padding:20px;border:1px solid #a9b4a2;border-radius:16px;background:#f4f3e9;color:#1c3025;overflow:auto}
.product-gallery-dialog::backdrop{background:#0a1514df}
.product-gallery-dialog-toolbar{display:flex;gap:16px;align-items:center;margin-bottom:16px}
.product-gallery-dialog-toolbar p{flex:1;margin:0;font-size:var(--text-small);line-height:1.5}
.product-gallery-dialog-toolbar button{min-width:48px;min-height:48px;padding:9px 14px;border:1px solid #9cab96;border-radius:8px;font:inherit;color:inherit;background:transparent;cursor:pointer}
.product-gallery-dialog-stage{height:calc(87svh - 100px);min-height:240px;display:grid;place-items:center;background:#e9e6de;border-radius:10px;overflow:hidden}
.product-gallery-dialog-stage img{display:block;max-width:100%;width:100%;height:100%;min-height:0;object-fit:contain}
@media(min-width:1101px){body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-hero-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:851px){
 body.site-fluid .product-six-gallery{width:100%;max-width:760px;justify-self:center}
 body.site-fluid:has(.product-six-gallery) .product-demonstration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 body.site-fluid:has(.product-six-gallery) .product-demonstration-media{width:100%;max-width:760px}
 body.site-fluid .unified-product-hero:has(.product-six-gallery){padding-top:22px;padding-bottom:36px}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .breadcrumbs{margin-bottom:12px}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-hero-grid{padding-top:20px}
 body.site-fluid .unified-product-hero .product-six-gallery .stem-detail-stage{aspect-ratio:auto;height:clamp(340px,calc(100svh - 500px),650px)}
 body.site-fluid .unified-product-hero .product-six-gallery figcaption{min-height:1.7em}
 .product-image-thumbnails img{height:clamp(52px,6svh,96px);aspect-ratio:auto}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-copy h1{font-size:clamp(42px,3.7vw,96px);margin:20px 0}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-lead{line-height:1.65}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-actions{margin-top:24px;gap:14px}
}
@media(max-width:850px){
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-hero-grid{gap:20px}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-copy{display:contents}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-copy>.eyebrow{order:0;margin-bottom:0}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-copy>h1{order:1;margin:0 0 6px}
 body.site-fluid .unified-product-hero .product-six-gallery{order:2}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-lead{order:3;margin-top:8px}
 body.site-fluid .unified-product-hero:has(.product-six-gallery) .stem-detail-actions{order:4;margin-top:0}
}
@media(max-width:1100px) and (min-width:851px){.product-image-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr))}.product-image-thumbnails img{aspect-ratio:2/1}}
@media(max-width:700px){.product-image-thumbnails{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.product-image-thumbnails img{aspect-ratio:3/2}dialog.product-gallery-dialog{width:calc(100vw - 20px);padding:12px}.product-gallery-dialog-toolbar{gap:8px;flex-wrap:wrap}.product-gallery-dialog-toolbar p{flex-basis:calc(100% - 130px);order:-1}.product-gallery-dialog-stage{height:65svh}}
.product-component-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:24px;margin-block:24px}
.product-component-grid figure{margin:0;min-width:0}.product-component-grid img{width:100%;height:220px;object-fit:contain;border-radius:12px;background:#e9e6de}
.product-component-grid figcaption{font-size:var(--text-small);line-height:1.6;margin-top:10px}

/* Product reading sections use the shared full width without empty viewport-height padding. */
body.site-fluid.page-stem-product main>.section{min-height:0;display:block;padding-block:clamp(44px,3.2vw,80px)}
body.site-fluid.page-stem-product .product-operation .section-heading{align-items:start}
body.site-fluid.page-stem-product .stem-facts{margin-top:0}
body.site-fluid.page-stem-product .product-dimension-scope{margin:0;grid-column:1/-1}
@media(min-width:1101px){
 body.site-fluid.page-stem-product .product-specification .stem-facts{grid-column:1/-1;max-width:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--layout-gap)}
 body.site-fluid.page-stem-product .product-specification .stem-facts>div{grid-template-columns:minmax(130px,.38fr) minmax(0,1fr);align-items:start}
}

/* Owner-approved video baseline: retain the live product page; change only its video section. */
body.site-fluid.page-stem-product .product-demonstration{background:#14251f;color:#f7f5ec}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-grid{grid-template-columns:minmax(0,1.55fr) minmax(0,.7fr);gap:clamp(30px,3.5vw,80px);align-items:center}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-media{width:100%;max-width:none;min-width:0;margin:0}
body.site-fluid.page-stem-product .product-demonstration .product-demo-stage{width:100%;max-width:min(100%,1000px,calc(70svh * var(--video-ratio,16 / 9)));height:auto;max-height:none;aspect-ratio:var(--video-ratio,16 / 9);margin-inline:auto;border-radius:18px;background:#0c1613;overflow:hidden}
body.site-fluid.page-stem-product .product-demonstration .product-demo-stage>video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:inherit}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-copy{min-width:0}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-copy>.eyebrow{color:#ccb373}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-copy h2{color:#f7f5ec;font-size:clamp(34px,2.8vw,60px);line-height:1.12;letter-spacing:-.03em;margin-bottom:24px;max-width:20ch}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-copy>p:not(.eyebrow){color:#c7d1c6;font-size:var(--text-body);line-height:1.65;max-width:38ch}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-copy .text-link{color:#eee7ce;margin-top:24px}
body.site-fluid.page-stem-product .product-demonstration .product-demonstration-media figcaption{color:#c4cfc2;margin-top:16px;line-height:1.6}
body.site-fluid.page-stem-product .product-demonstration:has(.product-demo-stage--portrait) .product-demonstration-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);max-width:1300px}
body.site-fluid.page-stem-product .product-demonstration .product-demo-stage--portrait{max-width:min(100%,420px,calc(64svh * var(--video-ratio,9 / 16)));aspect-ratio:var(--video-ratio,9 / 16)}
@media(min-width:851px) and (max-width:1600px) and (pointer:fine){
 body.site-fluid.page-stem-product .product-demonstration .product-demo-stage{max-width:min(100%,1000px,calc(88svh * var(--video-ratio,16 / 9)))}
 body.site-fluid.page-stem-product .product-demonstration .product-demo-stage--portrait{max-width:min(100%,420px,calc(88svh * var(--video-ratio,9 / 16)))}
}
@media(max-width:850px){
 body.site-fluid.page-stem-product .product-demonstration .product-demonstration-grid,
 body.site-fluid.page-stem-product .product-demonstration:has(.product-demo-stage--portrait) .product-demonstration-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 body.site-fluid.page-stem-product .product-demonstration .product-demo-stage--portrait{max-width:min(100%,calc(68svh * var(--video-ratio,9 / 16)))}
 body.site-fluid.page-stem-product .product-demonstration .product-demonstration-copy h2{font-size:34px}
 body.site-fluid.page-stem-product .product-demonstration .product-demonstration-copy>p:not(.eyebrow){max-width:none}
}
