/* Consistent framing and typography for all product and project photos. */
#product-carousel{scroll-margin-top:20px}
#product-carousel .carousel-tile{border:1px solid #d6e3ea;background:#fff;overflow:hidden;border-radius:3px;transition:border-color .2s}
#product-carousel .carousel-tile:hover{border-color:#4b879e}
#product-carousel .carousel-tile:focus-visible{outline:3px solid #23748d;outline-offset:3px}
#product-carousel .carousel-tile-frames{height:165px;background:#f4f8fa;border-bottom:1px solid #e7eef1}
#product-carousel .batch-frame{object-fit:contain;padding:6px;box-sizing:border-box;transform:none}
#product-carousel .carousel-caption{height:112px;padding:10px 11px;box-sizing:border-box;animation-duration:.35s;animation-timing-function:ease-out}
#product-carousel .carousel-tile-category{font-family:inherit;font-size:10px;line-height:1.5;font-weight:600;letter-spacing:.04em;color:#49768a;margin:0 0 3px;padding:0}
#product-carousel .carousel-tile-label{font-family:inherit;font-size:14px;font-weight:650;line-height:1.5;letter-spacing:0;padding:0;margin:0 0 4px;height:42px;min-height:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:#133f55}
#product-carousel .carousel-tile-description{font-family:inherit;font-size:11px;line-height:1.65;font-weight:400;color:#526574;margin:0;padding:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#product-carousel .carousel-source-note{max-width:1400px;margin:8px auto 0;font-size:11px;line-height:1.7;color:#567181}
@keyframes five-caption-a{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@keyframes five-caption-b{from{opacity:.3;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:1000px){#product-carousel .carousel-tile-frames{height:145px}#product-carousel .carousel-caption{height:126px;padding:9px}#product-carousel .carousel-tile-label{font-size:13px;height:39px}}
@media(max-width:700px){#product-carousel .carousel-tile-frames{height:110px}#product-carousel .carousel-caption{height:128px;padding:7px}#product-carousel .carousel-tile-category{font-size:9px}#product-carousel .carousel-tile-label{font-size:12px;height:36px}#product-carousel .carousel-tile-description{font-size:10px;line-height:1.6;-webkit-line-clamp:3}#product-carousel .carousel-topline{display:block}#product-carousel .carousel-topline p{margin-bottom:5px}}
@media(prefers-reduced-motion:reduce){#product-carousel .carousel-caption{animation:none!important}#product-carousel .batch-frame{transition:none}}
/* A blue light sweep distinguishes the product heading from the red emergency signal. */
#product-carousel .carousel-topline{align-items:center;gap:18px}
#product-carousel .carousel-section-title{font-family:inherit;font-size:22px;font-weight:650;line-height:1.5;letter-spacing:.02em;margin:0;display:flex;align-items:baseline;gap:12px;color:#0b536d}
#product-carousel .carousel-section-title>span{position:relative;display:inline-block;padding-bottom:4px;animation:product-heading-glow 3.4s ease-in-out infinite}
#product-carousel .carousel-section-title>span:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:3px;background:linear-gradient(90deg,#4f91a126,#26aaca,#c4f0fa,#4f91a126);background-size:220% 100%;border-radius:2px;animation:product-heading-sweep 4s linear infinite}
#product-carousel .carousel-section-title small{font-size:11px;font-weight:400;letter-spacing:0;color:#567181;white-space:nowrap}
@keyframes product-heading-glow{0%,100%{color:#0b536d;text-shadow:0 0 0 transparent}45%{color:#047c9b;text-shadow:0 0 11px #64c6df70}}
@keyframes product-heading-sweep{from{background-position:220% 0}to{background-position:0 0}}
@media(max-width:700px){#product-carousel .carousel-section-title{font-size:19px;margin-bottom:10px;gap:9px}#product-carousel .carousel-section-title small{font-size:10px}}
@media(prefers-reduced-motion:reduce){#product-carousel .carousel-section-title>span,#product-carousel .carousel-section-title>span:after{animation:none}}
