/* Gallery base layout. Final v33 inset photo controls are in refinement.css. */
.solution-viewer{--solution-height:clamp(540px,51vw,650px);--solution-photo-height:var(--solution-height);margin-top:30px}
.solution-viewer [hidden]{display:none!important}
.solution-picker{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #c6cebd;margin-bottom:0}
.solution-picker a{display:flex;align-items:center;justify-content:center;gap:11px;padding:19px 8px;min-height:72px;position:relative;color:#3f5747;text-decoration:none;border-bottom:3px solid transparent;font:600 15px/1.35 Inter,Arial,sans-serif;transition:background .18s,color .18s,border-color .18s}
.solution-picker a+a{border-left:1px solid #d6dccf}
.solution-picker .icon{width:25px;height:25px;flex-shrink:0;stroke-width:1.4}
.solution-picker a:hover{background:#e9edde;color:#173d30}
.solution-picker a[aria-selected=true]{background:#173d30;color:#fffef5;border-bottom-color:#d7ed9e}
.solution-picker a:focus-visible{z-index:2;outline:2px solid #ad4828;outline-offset:-5px}
.solution-frame{position:relative}
.is-interactive .solution-frame{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;margin-inline:calc(-1 * min(52px,var(--gutter)))}
.solution-direction{display:flex;align-items:center;justify-content:center;width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:#173d3008;color:#173d308c;align-self:start;margin-top:calc(var(--solution-photo-height)/2 - 22px);cursor:pointer;transition:background .18s,color .18s}
.solution-direction svg{width:22px;height:22px;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.solution-direction:hover{background:#173d3014;color:#173d30}
.solution-direction:focus-visible{outline:2px solid #ad4828;outline-offset:0;color:#173d30}
.solution-stage{position:relative;min-width:0;touch-action:pan-y pinch-zoom}
.solution-slide{position:relative;min-height:var(--solution-height);margin:0 0 25px;background:#173d30;overflow:hidden;scroll-margin-top:85px}
.solution-image{display:block;width:100%;height:var(--solution-photo-height);object-fit:cover;object-position:50% 46%}
.solution-slide[data-solution-slide="0"] .solution-image{object-position:50% 50%}
.solution-caption{position:absolute;left:0;bottom:0;width:min(510px,50%);padding:27px 32px;background:#143b2ff5;border-top-right-radius:22px;color:#fffef5}
.solution-label{display:flex;flex-wrap:wrap;gap:6px 12px;margin:0 0 14px;font:12px/1.5 Inter,Arial,sans-serif;color:#d6e3ca}
.solution-label>span{color:#e6d39f}
.solution-caption h3{font:550 clamp(32px,3.5vw,45px)/1.04 var(--display);letter-spacing:-.04em;color:#fffef5;margin:0 0 14px;max-width:430px}
.solution-caption>p:last-of-type{font:15px/1.65 Inter,Arial,sans-serif;color:#e5ebda;margin:0;max-width:390px}
.solution-count{display:block;font:12px/1.4 Mono,monospace;color:#fffef5;margin-top:19px}
.solution-count i{font-style:normal;color:#b9cbb0}
.is-interactive .solution-stage{height:var(--solution-height);overflow:hidden;background:#173d30}
.is-interactive .solution-slide{position:absolute;inset:0;margin:0;min-height:0;height:100%}
.is-interactive .solution-slide.is-current{animation:solution-arrival .3s ease-out both}
.solution-announcement{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.solution-viewer+.product-provenance{margin-top:14px}
@keyframes solution-arrival{from{opacity:.45}to{opacity:1}}
@media(max-width:1000px) and (min-width:721px){.solution-picker a{font-size:13px;gap:7px}.solution-picker .icon{width:22px;height:22px}.solution-caption{width:54%;padding:24px}.solution-caption h3{font-size:35px}}
@media(max-width:720px){
 .solution-viewer{--solution-photo-height:calc((100vw - 88px) * .666667);margin-top:23px}
 .is-interactive .solution-frame{gap:0;margin-inline:-22px}
 .solution-picker a{flex-direction:column;justify-content:flex-start;gap:8px;padding:14px 4px 12px;font-size:12px;text-align:center;min-height:88px}
 .solution-picker a>span{max-width:66px;line-height:1.4}.solution-picker .icon{width:23px;height:23px}
 .solution-slide,.is-interactive .solution-stage,.is-interactive .solution-slide{height:auto;min-height:0}
 .is-interactive .solution-slide{position:relative}
 .solution-image{height:auto;aspect-ratio:3/2;object-position:center!important}
 .solution-caption{position:relative;width:100%;height:auto;min-height:240px;padding:23px 20px;border-radius:0}
 .solution-caption h3{font-size:29px;line-height:1.08;margin-bottom:11px}.solution-caption>p:last-of-type{font-size:14px;line-height:1.6}
 .solution-label{margin-bottom:11px;font-size:12px;gap:6px 11px}.solution-count{margin-top:15px}
 .solution-slide{scroll-margin-top:72px}.solution-viewer+.product-provenance{font-size:12px}
}
@media(max-width:360px){.solution-caption{padding:21px 16px}.solution-caption h3{font-size:27px}.solution-picker a{padding-inline:3px}.solution-picker a>span{max-width:50px}}
.motion-paused .solution-slide.is-current{animation:none}.motion-paused .solution-direction,.motion-paused .solution-picker a{transition:none}
@media(prefers-reduced-motion:reduce){.is-interactive .solution-slide.is-current{animation:none}.solution-direction,.solution-picker a{transition:none}}
@media print{.solution-direction,.solution-picker{display:none!important}.is-interactive .solution-frame{display:block;margin:0}.is-interactive .solution-stage{height:auto;overflow:visible;background:none}.is-interactive .solution-slide,.solution-viewer .solution-slide[hidden]{display:block!important;position:relative;min-height:0;height:auto;margin-bottom:20px;break-inside:avoid}.solution-image{height:260px}.solution-caption{position:relative;width:100%;height:auto;min-height:0;color:#173d30;background:#eef1e7;padding:15px}.solution-caption h3,.solution-caption>p:last-of-type,.solution-label,.solution-label>span{color:#173d30}.solution-count{display:none}}
