/* Real, licensed reference-product thumbnails. */
.product-gallery{margin:23px 0 18px}
.product-gallery-label{display:flex;gap:10px;align-items:center;justify-content:space-between;font-size:8px;letter-spacing:.055em;font-weight:600;color:#4c6244;margin-bottom:11px}
.product-gallery-label span:last-child{font-weight:400;letter-spacing:0;color:#56684c}
.product-thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.product-thumbs:has(> :only-child){grid-template-columns:minmax(0,1fr)}
.product-thumb{min-width:0;display:block;position:relative;background:#fff;border:1px solid #cbd3c5;transition:border-color .18s;overflow:hidden}
.product-thumb:hover{border-color:var(--blue)}
.product-thumb img{width:100%;height:136px;object-fit:contain;display:block;padding:7px;background:#f7f7f3}
.product-thumb-caption{display:flex;justify-content:space-between;align-items:center;gap:7px;padding:10px;font-size:9px;line-height:1.5;background:#f8f9f4;color:#42543d;min-height:45px}
.product-thumb-caption>span:last-child{font-size:20px;color:var(--blue);font-family:var(--sans);line-height:1}
.product-photo-note{font-size:9px;line-height:1.75;color:#53654b;margin-top:10px}
.photo-needed{font-size:10px;line-height:1.75;padding:15px;border:1px dashed #b9c6b2;color:#53654b;background:#edf0e7;margin:23px 0 18px}
.photo-needed strong{display:block;font-weight:500;color:#465b40;margin-bottom:3px}
.rooftop-content .product-gallery{max-width:430px}
.custom-support-copy .product-gallery-label{color:#bdd0ce}
.custom-support-copy .product-gallery-label span:last-child{color:#a4bfbe}
.custom-support-copy .product-photo-note{color:#afc4c8}
.custom-support-copy .product-thumbs{max-width:470px}
.custom-support-copy .photo-needed{background:#1b3544;border-color:#557380;color:#bed0d7}
.custom-support-copy .photo-needed strong{color:#d9e3e5}
.product-gallery-intro{font-size:11px;line-height:1.85;color:#526348;border-left:2px solid #9ead93;padding:10px 16px;margin:0 0 30px;max-width:890px}
.product-gallery-intro strong{font-weight:500;color:#3c543b}
.product-photo-dialog{width:min(820px,calc(100vw - 72px));max-width:none;max-height:calc(100dvh - 72px);border:1px solid #fff8;padding:0;overflow:auto;border-radius:7px;background:#f5f5f0;color:#24332c;box-shadow:0 22px 70px #17263244}
.product-photo-dialog::backdrop{background:rgba(21,35,43,.38)}
.photo-dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding:21px 24px 17px;background:#f5f5f0;position:sticky;top:0;z-index:2;border-bottom:1px solid #d7ded2}
.photo-dialog-heading small{display:block;color:#526348;font-size:9px;letter-spacing:.09em;margin-bottom:7px}
.photo-dialog-heading h2{font-family:var(--display);font-size:30px;font-weight:500;line-height:1.05;margin:0}
.photo-dialog-close{width:44px;height:44px;flex:0 0 44px;border:1px solid #c9d2c2;background:#fff;color:#293b2d;font-size:26px;line-height:1;border-radius:50%;display:grid;place-items:center;padding:0}
.photo-dialog-close:hover{background:#e5eddd}
.photo-dialog-image-wrap{background:#fff;padding:16px;display:flex;justify-content:center;align-items:center}
#product-photo-full{display:block;width:auto;max-width:100%;height:auto;max-height:min(55dvh,570px);object-fit:contain}
.photo-dialog-details{padding:19px 24px 24px;border-top:1px solid #d7ded2}
#product-photo-caption{font-size:12px;line-height:1.8;max-width:710px}
.photo-dialog-attribution{display:flex;flex-wrap:wrap;gap:5px 13px;font-size:10px;line-height:1.8;color:#526348;margin-top:12px}
.photo-dialog-attribution a{text-decoration:underline;text-underline-offset:3px}
.photo-dialog-attribution a:hover{color:var(--blue)}
@media(max-width:1100px){.product-thumb img{height:118px}.product-thumb-caption{font-size:8px;padding:8px}.product-gallery-label{font-size:7px}.product-photo-note{font-size:8px}}
@media(max-width:1000px){.product-thumb img{height:150px}.product-thumb-caption{font-size:10px;padding:11px}.product-gallery-label{font-size:9px}.product-photo-note{font-size:9px}}
@media(max-width:760px){.product-thumb img{height:120px}.product-thumb-caption{font-size:9px}.product-gallery-intro{font-size:10px;padding:9px 13px;margin-bottom:25px}.product-photo-dialog{width:calc(100vw - 30px);max-height:calc(100dvh - 40px)}.photo-dialog-header{padding:15px 17px;gap:15px}.photo-dialog-heading h2{font-size:28px}.photo-dialog-heading small{font-size:8px}.photo-dialog-image-wrap{padding:12px}#product-photo-full{max-height:48dvh}.photo-dialog-details{padding:17px}.photo-dialog-attribution{font-size:9px}.photo-dialog-close{width:44px;height:44px}.product-gallery-label{font-size:8px}}
@media(max-width:540px){.product-thumb img{height:145px}.product-thumb-caption{font-size:10px}.product-gallery{margin-top:24px}.product-gallery-label{font-size:9px}}
@media(prefers-reduced-motion:reduce){.product-thumb{transition:none}}

.product-thumb:focus-visible,.product-photo-dialog a:focus-visible,.product-photo-dialog button:focus-visible,.product-gallery-intro a:focus-visible{outline:3px solid #1459eb;outline-offset:3px;box-shadow:0 0 0 6px #f5f5f0}
/* Original illustrative concept layouts, clearly labeled and expanded over the page. */
.product-thumb img{background:#f5f5f0;aspect-ratio:3/2;height:auto;padding:0}
.function-card>.product-gallery,.embed-card>.product-gallery{margin-top:0;margin-bottom:26px}
.rooftop-illustration>.product-gallery{width:100%;margin:0}
.rooftop-illustration .product-photo-note{margin-bottom:0}
.technical-custom-visual{background:#f5f5f0!important}
.technical-custom-visual .product-thumb{height:100%;display:flex;flex-direction:column;border:0;justify-content:center}
.technical-custom-visual .product-thumb img{object-fit:contain!important;aspect-ratio:3/2;height:auto!important;min-height:0!important}
.technical-custom-visual .product-thumb-caption{display:none}
.technical-custom-visual figcaption{background:#f5f5f0;color:#465747!important;border-color:#bfcbbb!important}
.technical-custom-visual figcaption span{color:#526348!important}
.pipe-hero .technical-hero{background:#f5f5f0;color:#43543f}
.pipe-hero .technical-hero .hero-image{object-fit:contain;padding:58px 0}
.pipe-hero .technical-hero:after{display:none}
.pipe-hero .technical-hero .image-top,.pipe-hero .technical-hero figcaption{color:#465747;border-color:#bdcbb7}
.pipe-hero .technical-hero figcaption span:last-child{color:#526348}
.embed-hero-visual{background:#f5f5f0;color:#465747}
.embed-hero-diagram{object-fit:contain;height:auto;padding:30px 0}
.embed-hero-visual figcaption{border-color:#bdcbb7}
.embed-hero-visual figcaption span{color:#526348}
.illustration-notes{max-width:980px;min-height:65vh;padding-top:75px;padding-bottom:75px}
.illustration-notes h1{font-family:var(--display);font-size:clamp(46px,6vw,80px);line-height:1;margin-bottom:32px}
.illustration-notes p{font-size:14px;line-height:1.9;max-width:780px;margin:20px 0;color:#526348}
.illustration-notes .button{margin-top:25px}
@media(max-width:760px){.technical-custom-visual{min-height:0!important}.technical-custom-visual .product-thumb{height:auto}.pipe-hero .technical-hero{height:370px}.pipe-hero .technical-hero figcaption{font-size:7px}}
.technical-custom-visual:after{display:none}.technical-custom-visual .product-thumb img{position:static;inset:auto}.technical-custom-visual figcaption{pointer-events:none}
