/* Shared editorial photography and restrained biological motion. */
.site-photo{position:relative;display:block;min-width:0;margin:0;overflow:hidden;background:#0b2b47}
.site-photo img{display:block;width:100%;height:100%;object-fit:cover}
.site-photo figcaption{position:absolute;right:14px;bottom:14px;z-index:1;padding:6px 10px;background:rgba(4,26,45,.7);color:#e5f2f5;font-size:.64rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;backdrop-filter:blur(5px)}
.hero-photo{height:clamp(390px,38vw,520px);border:1px solid rgba(157,227,231,.35);border-radius:4px;box-shadow:0 28px 70px rgba(0,12,30,.28)}
.hero-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(150deg,rgba(11,54,80,.02) 50%,rgba(5,38,60,.25));pointer-events:none}
.hero-photo img{object-position:center 35%}
.hero-journey .hero-photo img{object-position:center 43%}
.hero-models .hero-photo img{object-position:center 48%}
.hero-apply .hero-photo img{object-position:center 42%}
.partner-hero-visual{pointer-events:auto}
.partner-hero-visual .hero-photo{width:100%}
.mobile-deployment-photo{height:100%;min-height:400px}
.mobile-deployment-photo img{object-position:center}
.mobile-deployment-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,28,45,.22),transparent 62%);pointer-events:none}
.home-clinical-photo{height:210px;margin:0 0 32px}
.home-clinical-photo img{object-position:center 37%}
.interior .page-hero{isolation:isolate}
.interior .page-hero .hero-layout{position:relative;z-index:2}
.site-bio-motion{position:absolute;z-index:1;right:-4%;top:2%;width:min(57vw,720px);height:100%;opacity:.21;pointer-events:none}
.site-bio-motion svg{width:100%;height:100%;overflow:visible}
.site-bio-motion .bio-orbit{fill:none;stroke:#83e4e5;stroke-width:1;stroke-dasharray:5 11;animation:site-bio-orbit 28s linear infinite;transform-origin:310px 310px}
.site-bio-motion .bio-cell{fill:rgba(74,208,212,.16);stroke:#89e7e5;stroke-width:1.5;transform-origin:310px 310px;animation:site-bio-breathe 8s ease-in-out infinite}
.site-bio-motion .bio-nucleus{fill:rgba(65,174,218,.27);stroke:#8cdef3;stroke-width:2;transform-origin:310px 310px;animation:site-bio-breathe 8s ease-in-out infinite reverse}
.site-bio-motion .dna{fill:none;stroke:#9ce6f0;stroke-width:3;stroke-linecap:round;transform-origin:310px 310px;animation:site-dna-drift 9s ease-in-out infinite}
.site-bio-motion .bio-satellites circle{fill:rgba(77,210,217,.55);stroke:#9deae9;stroke-width:1;animation:site-bio-breathe 5s ease-in-out infinite}
.site-bio-motion .bio-satellites circle:nth-child(2n){animation-delay:-2s}
@keyframes site-bio-orbit{to{transform:rotate(360deg)}}
@keyframes site-bio-breathe{0%,100%{transform:scale(.975);opacity:.65}50%{transform:scale(1.025);opacity:1}}
@keyframes site-dna-drift{0%,100%{transform:translate(-5px,-3px) rotate(-2deg)}50%{transform:translate(6px,4px) rotate(2deg)}}
.site-medical-motion{position:absolute;z-index:0;inset:0;width:100%;height:100%;color:#77d6df;opacity:.12;pointer-events:none}
.site-medical-motion .medical-lines{fill:none;stroke:currentColor;stroke-width:1.25;animation:site-medical-drift 30s ease-in-out infinite alternate}
.site-medical-motion .medical-pulse{stroke-width:1.6;stroke-dasharray:8 18;animation:site-medical-flow 20s linear infinite}
.site-footer{position:relative;isolation:isolate;overflow:hidden}
.site-footer>.shell{position:relative;z-index:1}
.site-footer .site-medical-motion{opacity:.075}
.closing-band,.section-dark:has(.closing-layout){position:relative;isolation:isolate;overflow:hidden}
.closing-band>.shell,.section-dark:has(.closing-layout)>.shell{position:relative;z-index:1}
.partner-closing-art{display:none}
@keyframes site-medical-drift{from{transform:translateX(-12px)}to{transform:translateX(12px)}}
@keyframes site-medical-flow{to{stroke-dashoffset:-260}}
@media(max-width:900px){.site-bio-motion{top:3%;right:-19%;width:82vw;height:57%;opacity:.14}.hero-photo{height:410px}}
@media(max-width:640px){.hero-photo{height:330px}.site-bio-motion{right:-45%;top:0;width:100vw;height:45%;opacity:.11}.mobile-deployment-photo{min-height:270px}.home-clinical-photo{height:185px;margin-bottom:25px}.site-photo figcaption{right:9px;bottom:9px;font-size:.58rem}}
@media(prefers-reduced-motion:reduce){.site-bio-motion *, .site-medical-motion *{animation:none!important}}
.apply-closing{background:#0a2946;color:#fff}
.apply-closing .closing-layout p{max-width:450px}
/* Align every Models development connector to its two dots, with no loose tail. */
#development .path-rail.three{position:relative;grid-template-columns:repeat(3,minmax(0,1fr));border:0;overflow:visible}
#development .path-rail.three li,#development .path-rail.three li:not(:first-child){min-width:0;min-height:225px;padding:55px 35px 0 0;border:0}
#development .path-rail.three li:not(:first-child){padding-left:27px}
#development .path-rail.three li::before,#development .path-rail.three li:not(:first-child)::before{z-index:1;top:7px;left:0;width:17px;height:17px;border:3px solid #fff;background:#0869ad;box-shadow:0 0 0 1px #0869ad}
#development .path-rail.three li:not(:first-child)::before{left:27px}
#development .path-rail.three li:not(:last-child)::after{content:"";position:absolute;z-index:0;top:15px;left:8px;right:-35px;height:1px;background:#8eb7c8}
#development .path-rail.three li:not(:first-child)::after{left:35px}
#development .path-rail.three li>span{margin-bottom:21px;color:#0869ad;font-size:.72rem;letter-spacing:.1em}
#development .path-rail.three h3{max-width:250px;margin:0 0 14px;font-size:clamp(1.28rem,1.6vw,1.58rem);line-height:1.22}
#development .path-rail.three p{max-width:290px;font-size:.83rem;line-height:1.6}
@media(max-width:900px){
  #development .path-rail.three{grid-template-columns:1fr;padding-left:32px}
  #development .path-rail.three li,#development .path-rail.three li:not(:first-child){min-height:0;padding:0 0 34px 20px;border:0}
  #development .path-rail.three li::before,#development .path-rail.three li:not(:first-child)::before{top:0;left:-32px}
  #development .path-rail.three li:not(:last-child)::after,#development .path-rail.three li:not(:first-child):not(:last-child)::after{top:8px;left:-24px;right:auto;width:1px;height:100%}
  #development .path-rail.three li>span{margin-bottom:12px}
  #development .path-rail.three h3,#development .path-rail.three p{max-width:650px}
}
