/* Image framing and shared controls, preserving original photography and logos. */
:root{--control-radius:9px;--control-shadow:0 5px 14px #087eb81c;--control-focus:#7ed3f5}
.button,.button.small{min-height:46px;border-radius:var(--control-radius);padding:13px 21px;gap:22px;line-height:1.35;font-weight:700;letter-spacing:.01em;box-shadow:var(--control-shadow);transition:background-color .18s,box-shadow .18s,transform .18s,border-color .18s}
.button:hover{transform:translateY(-2px);box-shadow:0 8px 21px #087eb82b}.button:active{transform:translateY(0);box-shadow:0 2px 7px #087eb81a}.button span{font-size:19px;line-height:1;flex-shrink:0;transition:transform .18s}.button:hover span{transform:translate(2px,-2px)}.button:focus-visible,.text-link:focus-visible,.filter:focus-visible,.dialog-close:focus-visible{outline:3px solid var(--control-focus);outline-offset:4px}.button.outline,.hero .button.outline{box-shadow:none;border-width:1px;background:#ffffffd9}.button.outline:hover{background:#edf9ff;border-color:#65bfe5}.button.small{min-height:43px;padding:10px 17px;gap:18px}
.text-link{min-height:40px;align-items:center;line-height:1.5;border-bottom-color:#c8e6f4;transition:color .18s,border-color .18s}.text-link span{font-size:17px;line-height:1}.text-link:hover{color:#056897;border-color:#168fc4}.filter{min-height:42px;padding:11px 16px;border-radius:7px;line-height:1.35;transition:background-color .18s,border-color .18s,box-shadow .18s}.filter.active{background:#087eb8;border-color:#087eb8;box-shadow:0 3px 9px #087eb81a}.filter:not(.active):hover{background:#eff9ff;border-color:#91cfe8}.menu{min-height:42px;min-width:76px;border-radius:7px}.dialog-close{width:42px;height:42px;display:grid;place-items:center;line-height:1;border-color:#d8eaf4;box-shadow:0 3px 12px #173e5710;color:#235f7e}.dialog-close:hover{background:#edf9ff}
.service-card,.product-card{border-color:#dfedf5;border-radius:12px;box-shadow:0 5px 21px #15496a06;transition:box-shadow .22s,transform .22s}.service-card:hover,.product-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #15496a0d}.service-image,.product-image,.model-image{background:linear-gradient(180deg,#fff,#fafcfe);overflow:hidden;border-bottom:1px solid #edf4f8}.service-image{height:260px;padding:26px}.product-image{height:300px;padding:28px}.service-image img,.product-image img,.model-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;mix-blend-mode:normal;filter:drop-shadow(0 5px 5px #153e5708)}.service-card:hover .service-image img{transform:none}.product-image>span{top:16px;left:16px;border:1px solid #d9eaf3;border-radius:5px;padding:4px 10px;font-size:9px;line-height:1.4;background:#f4fbff;color:#326b88}.product-image img[src*="ge-tec7"],.model-image img[src*="ge-tec7"]{object-fit:cover;object-position:77% center}.product-card .card-body{display:flex;flex-direction:column;min-height:230px}.product-card .card-body p{min-height:0;flex:1}.product-card .card-body .text-link{width:100%;margin-top:auto}.product-stage{border-radius:14px;background:white;border-color:#dfedf5;box-shadow:0 10px 35px #164e7006;padding:35px}.product-stage img{display:block;width:100%;height:auto;max-height:370px;object-fit:contain}.hero-photo{filter:drop-shadow(0 12px 15px #164e700b);mix-blend-mode:normal}.hero .image-caption{border-radius:20px;padding:5px 12px;font-size:9px}.page-hero-grid>img{border-radius:12px}.page-hero-grid>img[src*="biomedical"]{box-shadow:0 10px 28px #173e5714}.model-reference{border-radius:12px}.model-image{height:245px;padding:22px}.dialog-image{padding:30px;border-right:1px solid #e2eff6}.dialog-body .button{width:100%;margin-top:18px}.dialog-body .subtle{font-size:10px;margin-top:18px}.dialog-image img{filter:drop-shadow(0 7px 7px #153e5709)}
.featured-client-logos>div{min-height:162px;border-radius:12px;border-color:#e0edf5;box-shadow:none;gap:18px}.featured-client-logos img{object-fit:contain;max-width:100%;height:70px}.featured-client-logos span{color:#5c788b;font-size:10px}.client-directory .client-card{border-radius:12px;border-color:#deedf5}.client-logo-frame{padding:23px;background:white;height:134px}.client-logo-frame img{object-fit:contain;height:78px;filter:none}.client-card-caption{padding:21px}.client-source{min-height:34px;display:flex;align-items:end}.client-card.name-card{box-shadow:none}.contact-card{border-radius:12px}.contact-card .button{margin-top:18px}form{border-radius:12px;padding:34px}input,textarea,select{border-radius:7px;border-color:#cedfe9;min-height:45px}input:hover,textarea:hover,select:hover{border-color:#93cbe3}input:focus,textarea:focus,select:focus{outline:2px solid #63c4eb;outline-offset:1px;border-color:#168fc4}.form-actions{gap:22px}.form-actions>.button{min-width:230px}.copy-email{min-height:34px}
@media(max-width:780px){.button,.hero .button{min-height:46px;padding:13px 18px;font-size:12px;gap:20px}.button.small{min-height:42px;padding:11px 16px}.hero .actions{gap:12px}.hero-photo{padding:10px 30px 35px;height:280px}.hero .image-caption{font-size:8px}.product-image{height:290px;padding:24px}.service-image{height:255px;padding:24px}.product-card .card-body{min-height:0}.product-card .card-body p{margin-bottom:20px}.model-image{height:265px}.dialog-image{border-right:0;border-bottom:1px solid #e2eff6;padding:24px}.featured-client-logos>div{min-height:142px;padding:20px 14px}.featured-client-logos img{height:62px}.client-logo-frame{height:115px;padding:18px}.client-logo-frame img{height:72px}.client-card-caption{padding:16px}.client-source{font-size:9px;min-height:34px}form{padding:24px}.form-actions{align-items:stretch;gap:14px}.form-actions>.button{width:100%;min-width:0}.form-actions>.text-link{justify-content:center;width:100%;min-height:42px}.product-stage{padding:25px}}
@media(prefers-reduced-motion:reduce){.button,.button span,.filter,.text-link,.service-card,.product-card{transition:none}.button:hover,.service-card:hover,.product-card:hover{transform:none}}
