/* Generated 390px mobile baseline; rebuild with build-mobile-rem.py. */
.facility-page main{overflow: hidden; background: rgb(255, 255, 255);}
.facility-hero{position: relative; height: clamp(38.125rem, 72vh, 47.5rem); min-height: 38.125rem; overflow: hidden; background: rgb(16, 26, 40); color: rgb(255, 255, 255);}
.facility-hero-media{position: absolute; inset: 0; margin: 0;}
.facility-hero-media::after{content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(6, 14, 24, 0.82) 0%, rgba(8, 18, 30, 0.56) 42%, rgba(8, 18, 30, 0.14) 76%), linear-gradient(0deg, rgba(6, 14, 24, 0.48) 0%, rgba(6, 14, 24, 0) 48%);}
.facility-hero-media img{width: 100%; height: 100%; object-fit: cover; object-position: center 48%; filter: saturate(0.82) contrast(1.04);}
.facility-hero > .wrap{position: relative; z-index: 1; display: flex; height: 100%; align-items: flex-end; padding-bottom: 5.875rem;}
.facility-hero-copy{max-width: 49.375rem;}
.facility-hero-label, .facility-section-label, .facility-zone-label, .facility-visit-label{display: block; color: rgb(143, 183, 255); font-size: max(10px,0.6875rem); font-weight: 760; letter-spacing: 0.1em; text-transform: uppercase;}
.facility-hero h1{margin-top: 1.25rem; font-size: clamp(3rem, 4.2vw, 4.25rem); line-height: 1.18; letter-spacing: -0.06em; font-weight: 650; text-wrap: balance; word-break: keep-all;}
.facility-hero-lead{max-width: 40.625rem; margin-top: 1.5625rem; color: rgba(255, 255, 255, 0.76); font-size: max(13px,1.0625rem); line-height: 1.8; word-break: keep-all;}
.facility-overview{padding: 7.875rem 0 7rem; background: rgb(255, 255, 255);}
.facility-overview-head{display: grid; grid-template-columns: minmax(20rem, 0.84fr) minmax(31.25rem, 1.16fr); gap: 8vw; align-items: end;}
.facility-section-label{margin-bottom: 1.375rem; color: rgb(40, 100, 184);}
.facility-overview h2{font-size: clamp(2.5rem, 3.4vw, 3.375rem); line-height: 1.28; letter-spacing: -0.055em; font-weight: 650; text-wrap: balance; word-break: keep-all;}
.facility-overview-copy{padding-top: 1.75rem; border-top: 1px solid rgb(32, 40, 50);}
.facility-overview-copy p{color: rgb(89, 99, 110); font-size: max(13px,0.9375rem); line-height: 1.9; word-break: keep-all;}
.facility-overview-copy p + p{margin-top: 0.875rem;}
.facility-index{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 5.375rem; border-top: 1px solid rgb(207, 212, 217); border-bottom: 1px solid rgb(207, 212, 217);}
.facility-index a{position: relative; padding: 1.875rem 1.625rem 1.8125rem; transition: background 0.25s, color 0.25s;}
.facility-index a + a{border-left: 1px solid rgb(223, 227, 230);}
.facility-index a::after{content: ""; position: absolute; left: 1.625rem; right: 1.625rem; bottom: -1px; height: 0.125rem; background: rgb(47, 107, 255); transform: scaleX(0); transform-origin: left center; transition: transform 0.25s;}
.facility-index a:hover, .facility-index a:focus-visible{background: rgb(246, 248, 251); color: rgb(31, 94, 196);}
.facility-index a:hover::after, .facility-index a:focus-visible::after{transform: scaleX(1);}
.facility-index span{display: block; margin-bottom: 0.5625rem; color: rgb(139, 147, 156); font-size: 0.625rem; font-weight: 740; letter-spacing: 0.07em; text-transform: uppercase;}
.facility-index strong{font-size: max(13px,1.0625rem); font-weight: 650; letter-spacing: -0.025em;}
.facility-zones{background: rgb(255, 255, 255);}
.facility-zone{position: relative; padding: 7.625rem 0;}
.facility-zone-dark{background: linear-gradient(130deg, rgb(12, 21, 32) 0%, rgb(18, 36, 57) 100%); color: rgb(255, 255, 255);}
.facility-zone-soft{background: rgb(242, 244, 246);}
.facility-zone-grid{display: grid; grid-template-columns: minmax(0, 1.18fr) minmax(21.875rem, 0.82fr); gap: clamp(3.75rem, 8vw, 7.375rem); align-items: center;}
.facility-zone.is-reverse .facility-zone-grid{grid-template-columns: minmax(21.875rem, 0.82fr) minmax(0, 1.18fr);}
.facility-zone.is-reverse .facility-zone-media{order: 2;}
.facility-zone.is-reverse .facility-zone-copy{order: 1;}
.facility-zone-media{position: relative; margin: 0; overflow: hidden; background: rgb(223, 228, 232);}
.facility-zone-media::after{content: ""; position: absolute; inset: 0; border: 1px solid rgba(13, 23, 48, 0.08); pointer-events: none;}
.facility-zone-media img{width: 100%; aspect-ratio: 1.45 / 1; object-fit: cover; object-position: center center; transition: transform 0.8s cubic-bezier(0.22, 0.61, 0.36, 1);}
.facility-zone-media:hover img{transform: scale(1.025);}
.facility-zone-copy{max-width: 28.75rem;}
.facility-zone-label{margin-bottom: 1.4375rem; color: rgb(40, 100, 184);}
.facility-zone-dark .facility-zone-label{color: rgb(143, 183, 255);}
.facility-zone h2{font-size: clamp(2.25rem, 3vw, 2.9375rem); line-height: 1.32; letter-spacing: -0.052em; font-weight: 650; text-wrap: balance; word-break: keep-all;}
.facility-zone-copy > div{margin-top: 1.9375rem; padding-top: 1.6875rem; border-top: 1px solid rgb(37, 46, 55);}
.facility-zone-dark .facility-zone-copy > div{border-top-color: rgba(255, 255, 255, 0.24);}
.facility-zone-copy p{color: rgb(94, 104, 114); font-size: max(13px,0.9375rem); line-height: 1.9; word-break: keep-all;}
.facility-zone-copy p + p{margin-top: 0.875rem;}
.facility-zone-dark .facility-zone-copy p{color: rgba(235, 241, 248, 0.72);}
.facility-visit{padding: 7.625rem 0; background: radial-gradient(circle at 90% 10%, rgba(88, 139, 204, 0.24), rgba(88, 139, 204, 0) 42%), linear-gradient(135deg, rgb(233, 238, 244) 0%, rgb(245, 247, 249) 58%, rgb(230, 237, 245) 100%);}
.facility-visit-inner{display: grid; grid-template-columns: minmax(0, 1fr) 25rem; gap: 9vw; align-items: end;}
.facility-visit-label{margin-bottom: 1.3125rem; color: rgb(40, 100, 184);}
.facility-visit h2{font-size: clamp(2.625rem, 3.7vw, 3.625rem); line-height: 1.28; letter-spacing: -0.058em; font-weight: 650; text-wrap: balance; word-break: keep-all;}
.facility-visit-copy{padding-top: 1.625rem; border-top: 1px solid rgb(32, 42, 52);}
.facility-visit-copy p{color: rgb(89, 99, 110); font-size: max(13px,0.9375rem); line-height: 1.85; word-break: keep-all;}
.facility-visit-actions{display: flex; align-items: center; gap: 0.625rem; margin-top: 1.8125rem;}
.facility-visit-actions a{display: inline-flex; height: 3.25rem; align-items: center; justify-content: center; padding: 0 1.5rem; border: 1px solid rgb(181, 190, 200); border-radius: 1.625rem; font-size: max(10px,0.8125rem); font-weight: 720; transition: transform 0.2s, background 0.2s, border-color 0.2s, color 0.2s;}
.facility-visit-actions .primary{border-color: rgb(47, 107, 255); background: rgb(47, 107, 255); color: rgb(255, 255, 255);}
.facility-visit-actions a:hover{transform: translateY(-0.125rem);}
.facility-visit-actions .primary:hover{border-color: rgb(31, 82, 214); background: rgb(31, 82, 214);}
.facility-visit-actions .tel:hover{border-color: rgb(119, 130, 142); background: rgb(255, 255, 255);}
.facility-page .next-page{border-top: 1px solid rgb(227, 230, 233);}
.facility-page .breadcrumb{top: 1.6875rem;}
.facility-page .page-progress i{background: rgb(47, 107, 255);}
.facility-hero h1, .facility-hero-lead, .facility-overview h2, .facility-overview-copy p, .facility-zone h2, .facility-zone-copy p, .facility-visit h2, .facility-visit-copy p{overflow-wrap: break-word;}
.facility-hero{height: 40rem; min-height: 40rem;}
.facility-overview-head, .facility-visit-inner{grid-template-columns: 1fr; gap: 3rem;}
.facility-overview-copy, .facility-visit-copy{max-width: 43.125rem;}
.facility-index{margin-top: 4rem; grid-template-columns: repeat(2, minmax(0, 1fr));}
.facility-index a:nth-child(3){border-left: 0;}
.facility-index a:nth-child(n+3){border-top: 1px solid rgb(223, 227, 230);}
.facility-zone-grid, .facility-zone.is-reverse .facility-zone-grid{grid-template-columns: 1fr; gap: 3.375rem;}
.facility-zone.is-reverse .facility-zone-media, .facility-zone.is-reverse .facility-zone-copy{order: initial;}
.facility-zone-media{width: 90%;}
.facility-zone.is-reverse .facility-zone-media{margin-left: auto;}
.facility-zone-copy{max-width: 43.125rem;}
.facility-hero{height: 33.125rem; min-height: 33.125rem;}
.facility-hero > .wrap{padding-bottom: 3.625rem;}
.facility-hero-media img{object-position: 58% center;}
.facility-hero h1{margin-top: 1rem; font-size: 2.5625rem; line-height: 1.23;}
.facility-hero-lead{margin-top: 1.1875rem; font-size: max(13px,0.875rem); line-height: 1.7;}
.facility-overview{padding: 5.125rem 0 4.5rem;}
.facility-overview h2{font-size: 2.125rem; line-height: 1.34;}
.facility-overview-copy{padding-top: 1.4375rem;}
.facility-overview-copy p{font-size: max(10px,0.8125rem); line-height: 1.85;}
.facility-index{margin-top: 3.125rem;}
.facility-index a{padding: 1.4375rem 1.125rem 1.375rem;}
.facility-index a::after{left: 1.125rem; right: 1.125rem;}
.facility-index strong{font-size: max(13px,0.9375rem);}
.facility-zone{padding: 4.875rem 0 5.25rem;}
.facility-zone-grid, .facility-zone.is-reverse .facility-zone-grid{gap: 2.4375rem;}
.facility-zone-media, .facility-zone.is-reverse .facility-zone-media{width: calc(100% + 2.5rem); margin-left: -1.25rem;}
.facility-zone h2{font-size: 2rem; line-height: 1.38;}
.facility-zone-label{margin-bottom: 1rem; font-size: 0.625rem;}
.facility-zone-copy > div{margin-top: 1.5rem; padding-top: 1.3125rem;}
.facility-zone-copy p{font-size: max(10px,0.8125rem); line-height: 1.85;}
.facility-visit{padding: 5.125rem 0;}
.facility-visit-inner{gap: 2.375rem;}
.facility-visit h2{font-size: 2.25rem; line-height: 1.34;}
.facility-visit-copy p{font-size: max(10px,0.8125rem);}
.facility-visit-actions{align-items: stretch; flex-direction: column;}
.facility-visit-actions a{width: 100%;}
.facility-hero{height: 31.25rem; min-height: 31.25rem;}
.facility-hero h1{font-size: 2.25rem;}
.facility-hero-label{font-size: 0.5625rem;}
.facility-index{grid-template-columns: 1fr;}
.facility-index a + a, .facility-index a:nth-child(3){border-left: 0; border-top: 1px solid rgb(223, 227, 230);}
@media (prefers-reduced-motion: reduce){.facility-zone-media img{transition: none;}
.facility-visit-actions a{transition: none;}}
