/* ALCO: blue clinical identity, expressive home, restrained task pages. */
:root{--night:#0b2450;--electric:#8ebcf8;--sun:#f5df69;--ease:cubic-bezier(.16,1,.3,1)}
.header{transition:box-shadow .35s var(--ease)}
.header.is-scrolled{box-shadow:0 8px 28px #0b245012}
.navigation{min-height:96px}.original-logo{height:76px;width:126px}
.button{transition:background .25s,box-shadow .3s,transform .3s var(--ease);position:relative}
.button:hover{transform:translateY(-3px);box-shadow:0 8px 20px #173e7b22}.button:active{transform:translateY(0)}
#navigation>a:not(.button){position:relative;text-decoration:none;padding-block:8px}
#navigation>a:not(.button)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
#navigation>a:hover::after,#navigation>a[aria-current="page"]::after{transform:scaleX(1)}
.hero-world{background:var(--night);color:#fff;position:relative;overflow:hidden}
.hero-world::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:#ffffff24}
.home-page .hero{min-height:680px;padding-block:65px;grid-template-columns:1.1fr 1fr;gap:30px;position:relative}
.home-page .hero-copy{position:relative;z-index:2}
.home-page .hero h1{font-size:clamp(54px,5.5vw,80px);font-weight:500;letter-spacing:-.04em;line-height:1.04;margin-bottom:30px}
.home-page .hero h1 em{color:var(--electric)}
.home-page .hero p{color:#d1e1fa;max-width:430px;font-size:16px}
.home-page .hero .button{background:var(--sun);border-color:var(--sun);color:var(--night)}
.home-page .hero .button:hover{background:#fff1a9;box-shadow:0 10px 30px #0003}
.home-page .hero .text-link{color:#fff}
.home-page .hero-note{color:#b7cef0;margin-top:32px}.home-page .note-line{background:var(--sun)}
.lab-visual{position:relative;height:540px;isolation:isolate;min-width:0}
#lab-canvas{position:absolute;width:calc(100% + 140px);height:100%;left:-60px;top:-20px;z-index:-1;pointer-events:none}
.home-page .hero-photo{position:absolute;left:14%;right:0;top:145px;padding:0;transform:rotate(-3deg);transition:transform .8s var(--ease)}
.home-page .hero-photo img{height:295px;border-radius:14px;object-fit:cover;box-shadow:0 30px 70px #020c2370}
.home-page .hero-photo figcaption{position:relative;left:auto;right:auto;bottom:auto;border-radius:0;background:none;padding:22px 4px 0;font-size:19px;color:#edf4ff}
.home-page .hero-photo figcaption svg{color:var(--sun)}
.lab-visual:hover .hero-photo{transform:rotate(0deg) translateY(-5px)}
.visual-caption{position:absolute;top:77px;left:17%;font-size:12px;letter-spacing:.015em;color:#d1e1fa}
.motion-toggle{position:absolute;right:0;bottom:-18px;z-index:3;background:transparent;color:#bdd2f1;border:1px solid #ffffff40;border-radius:5px;padding:8px 12px;font-size:11px;min-height:36px}
.motion-toggle:hover{background:#ffffff14;color:#fff}
.home-page .quick{padding-block:32px;border-top:0;gap:40px}.quick>a{transition:color .2s}.quick a:hover strong{color:#2867b1;text-decoration:none}.quick strong span{display:inline-block;transition:transform .3s}.quick a:hover strong span{transform:translate(3px,-3px)}
.explore{padding-block:100px}.explore .section-heading{margin-bottom:48px}
.explore-list{border-top:1px solid var(--line)}
.explore-list>a{display:grid;grid-template-columns:1fr 1fr 40px;align-items:center;gap:25px;padding:28px 8px;text-decoration:none;border-bottom:1px solid var(--line);transition:background .25s;position:relative}
.explore-list>a>span:first-child{font-size:clamp(24px,2.6vw,36px);letter-spacing:-.025em;font-weight:500}
.explore-list>a>span:nth-child(2){font-size:14px;color:var(--muted)}
.explore-list>a>span:last-child{font-size:30px;color:var(--green);transition:transform .35s var(--ease)}
.explore-list>a:hover{background:#f0f5fb}.explore-list>a:hover>span:last-child{transform:rotate(45deg)}
.explore-all{display:inline-block;margin-top:26px}
.care-statement{background:#eaf2fc;padding:85px 0;overflow:hidden}
.care-statement>.wrap{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;align-items:center}
.care-statement h2{font-size:clamp(44px,5vw,68px);line-height:1.08;letter-spacing:-.04em}.care-statement h2 em{font-style:normal;color:#3874b6}
.care-statement p{max-width:430px;color:#405e85;margin:0 0 24px}
.home-page .home-intro{padding-block:90px}.home-map{padding-bottom:80px}
.map-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:30px}
.map-choices{display:flex;gap:12px;margin-bottom:20px}.map-choice{padding:16px 24px;background:white;border:1px solid #bdcde1;color:var(--green);border-radius:8px;text-align:left;font-size:18px;font-weight:600;transition:background .25s,color .25s}.map-choice span{display:block;font-size:12px;font-weight:400;margin-top:3px}.map-choice[aria-pressed="true"]{background:var(--green);color:white;border-color:var(--green)}.map-choice:hover{border-color:var(--green)}
.map-frame{display:block;width:100%;height:400px;border:0;border-radius:12px;background:#e5edf8;color:var(--green)}
.location-map{height:290px;margin-top:28px}.map-fallback{display:flex;justify-content:space-between;gap:15px;font-size:12px;color:var(--muted);margin-top:15px}.map-fallback a{font-weight:600;color:var(--green)}
.locations article{transition:transform .5s var(--ease)}
.access-links>a,.services>a{transition:background .25s}.access-links>a:hover{background:var(--light)}
.services>a:hover{background:var(--light)}
/* Content remains visible without JS; a single intro and small local feedback. */
@media(prefers-reduced-motion:no-preference){
 .home-page .hero-copy{animation:hero-arrive 1s var(--ease) both}
 .home-page .hero-photo{animation:photo-arrive 1.2s var(--ease) backwards}
 @keyframes hero-arrive{from{transform:translateY(22px);filter:blur(3px)}to{transform:translateY(0);filter:blur(0)}}
 @keyframes photo-arrive{from{clip-path:inset(0 0 100% 0 round 14px);transform:rotate(0deg) translateY(25px)}to{clip-path:inset(0 0 0 0 round 14px);transform:rotate(-3deg) translateY(0)}}
 .section-heading.is-entering h2,.care-statement.is-entering h2{animation:heading-arrive .85s var(--ease)}
 @keyframes heading-arrive{from{transform:translateY(18px)}to{transform:translateY(0)}}
}
@media(max-width:1100px){.home-page .hero h1{font-size:65px}.home-page .hero{gap:10px}.home-page .hero-photo{left:8%}.home-page .hero-photo img{height:275px}.care-statement>.wrap{gap:45px}}
@media(max-width:900px){.home-page .hero h1{font-size:54px}.home-page .hero{min-height:620px;grid-template-columns:1fr 1fr}.lab-visual{height:450px}.home-page .hero-photo{top:120px;left:2%}.home-page .hero-photo img{height:245px}.visual-caption{left:0;top:60px}.home-page .hero-photo figcaption{font-size:16px}.motion-toggle{bottom:-12px}.map-heading{align-items:start;flex-direction:column;gap:18px}.care-statement>.wrap{gap:32px}.home-page .quick{gap:15px}}
@media(max-width:600px){
 .navigation{min-height:86px}.original-logo{height:68px;width:112px}
 .home-page .hero{grid-template-columns:1fr;padding-block:40px 35px;gap:5px;min-height:0}
 .home-page .hero h1{font-size:clamp(40px,11.8vw,63px);line-height:1.07;margin-bottom:24px}
 .home-page .hero p{font-size:15px}.home-page .hero-note{font-size:11px;margin-top:25px}
 .lab-visual{height:400px;margin-top:5px}.home-page .hero-photo{left:9%;right:4%;top:90px}.home-page .hero-photo img{height:225px}.home-page .hero-photo figcaption{font-size:16px;padding-top:15px}.visual-caption{top:45px;left:10%;font-size:11px}.motion-toggle{bottom:-10px;font-size:10px;min-height:32px}#lab-canvas{left:-25px;width:calc(100% + 50px);top:-10px}
 .home-page .quick{padding-block:0;gap:0}.explore{padding-block:60px}.explore-list>a{grid-template-columns:1fr 30px;gap:7px;padding-block:22px}.explore-list>a>span:first-child{font-size:25px}.explore-list>a>span:nth-child(2){grid-row:2;font-size:12px}.explore-list>a>span:last-child{grid-column:2;grid-row:1 / 3;font-size:26px}.explore .section-heading{margin-bottom:30px}
 .care-statement{padding-block:55px}.care-statement>.wrap{grid-template-columns:1fr;gap:25px}.care-statement h2{font-size:46px}.care-statement p{font-size:15px}.home-page .home-intro{padding-block:55px}.home-map{padding-bottom:55px}.map-choices{gap:8px}.map-choice{flex:1;padding:12px;font-size:16px}.map-choice span{font-size:11px}.map-frame{height:320px}.location-map{height:260px}.map-fallback{flex-direction:column;gap:5px}.map-heading h2{font-size:34px}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.lab-visual:hover .hero-photo{transform:rotate(-3deg)}.button:hover{transform:none}}

.explore-list>a>span:first-child,.access-links>a>div{transition:transform .35s var(--ease)}.explore-list>a:hover>span:first-child,.access-links>a:hover>div{transform:translateX(8px)}
.full-scope{border-top:1px solid var(--line);margin-top:30px;padding-top:35px}.full-scope h2{font-size:28px}.full-scope .details-copy{max-width:850px;font-size:15px}
.address-phone{display:inline-block;font-weight:700;margin-top:8px}.map-location{display:flex;flex-direction:column;gap:8px;min-width:0}.map-phone{font-weight:700;font-size:16px;padding:7px 4px}.map-choices{gap:20px;margin-bottom:25px}
.signature-footer{padding:75px 0 0;background:#0b2450;color:#e4efff;border:0;overflow:hidden}.footer-invitation{display:flex;justify-content:space-between;align-items:center;gap:35px;padding-bottom:55px;border-bottom:1px solid #7895c344}.footer-invitation h2{font-size:clamp(38px,4.8vw,65px);line-height:1.08}.footer-invitation h2 span{color:#8ebcf8}.footer-mail{display:flex;align-items:center;gap:35px;font-size:22px;text-decoration:none}.footer-mail svg{width:65px;height:65px;stroke:#f5df69;stroke-width:1.5;fill:none;transition:transform .45s var(--ease)}.footer-mail:hover svg{transform:translate(6px,-6px)}.footer-columns{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:40px;padding:50px 0}.footer-columns h3{font-size:16px;color:#fff;margin:0 0 18px}.footer-columns p{font-size:13px;color:#bbd0ee}.footer-columns a{font-size:13px}.footer-columns .footer-phone{font-size:22px;font-weight:600;text-decoration:none;color:#fff;white-space:nowrap}.footer-columns .footer-phone:hover{text-decoration:underline}.footer-identity img{width:150px;height:auto;margin:-20px 0 -10px}.footer-links{display:flex;flex-direction:column;align-items:start;gap:9px}.footer-links h3{margin-bottom:9px}.footer-links a{text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-signature{position:relative;display:flex;gap:30px;align-items:baseline;padding:30px 0 48px;border-top:1px solid #7895c344;isolation:isolate}.footer-signature>span:first-child{font-size:clamp(72px,11vw,150px);line-height:1;font-weight:600;letter-spacing:-.04em;color:#8ebcf8}.footer-signature>span:nth-child(2){font-size:clamp(22px,4vw,54px);color:#bbd0ee;letter-spacing:-.035em}.footer-orbit{position:absolute;right:0;top:-12px;width:220px;height:180px;color:#7599d0;opacity:.6;z-index:-1}.footer-bottom{border-top:1px solid #7895c344;display:flex;justify-content:space-between;gap:20px;padding:22px 0;font-size:12px;color:#bbd0ee}.signature-footer a:focus-visible{outline-color:#f5df69}
@media(prefers-reduced-motion:no-preference){.footer-signature.is-entering .footer-orbit{animation:footer-orbit 4s var(--ease) both}.footer-signature.is-entering>span{animation:footer-type 1.3s var(--ease) both}@keyframes footer-orbit{from{transform:rotate(-65deg) scale(.75);opacity:.15}to{transform:rotate(0) scale(1);opacity:.6}}@keyframes footer-type{from{transform:translateY(22px);clip-path:inset(100% 0 0)}to{transform:translateY(0);clip-path:inset(0)}}}
@media(max-width:900px){.footer-columns{grid-template-columns:1fr 1fr;gap:35px}.footer-orbit{width:160px;opacity:.4}.footer-mail{font-size:18px;gap:18px}.footer-mail svg{width:45px;height:45px}}
@media(max-width:600px){.signature-footer{padding-top:50px}.footer-invitation{flex-direction:column;align-items:start;padding-bottom:35px;gap:25px}.footer-columns{gap:30px 20px;padding-block:35px}.footer-columns .footer-phone{font-size:18px}.footer-columns p,.footer-columns a{font-size:12px}.footer-identity{grid-column:1 / -1}.footer-identity img{width:125px}.footer-links{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr}.footer-links h3{grid-column:1 / -1}.footer-signature{gap:12px;padding:28px 0 35px;flex-wrap:wrap}.footer-signature>span:first-child{font-size:80px}.footer-signature>span:nth-child(2){font-size:28px}.footer-orbit{right:-30px;top:5px;width:125px}.footer-bottom{font-size:10px}.map-location{flex:1}.map-phone{font-size:15px}.map-location .map-choice{width:100%}.map-choices{gap:12px}}
