.location-route{background:#eff5f7;color:#233c69;overflow-x:hidden}
.location-route main{position:relative;background:radial-gradient(ellipse at 87% 27%,#cae7ee99,transparent 55%),linear-gradient(#fcfdfd,#e6f1f5 76%,#eff5f7)}
.location-intro{position:relative;isolation:isolate;padding:150px 8vw 100px;min-height:690px;overflow:hidden}
.location-intro .back-link{display:inline-block;font-size:11px;margin-bottom:76px;opacity:.65}
.location-intro .eyebrow{margin-bottom:28px;font-size:9px;letter-spacing:.19em}
.location-intro h1{position:relative;z-index:1;font-size:clamp(48px,5.5vw,88px);font-weight:360;line-height:1.13;letter-spacing:-.05em;margin:0;max-width:1000px}
.location-intro h1 span{display:block}
.location-lead{font-size:16px;line-height:1.8;max-width:365px;margin:35px 0 0 36%;word-break:keep-all}
.location-origin{position:absolute;right:8vw;top:46%;font-size:10px;letter-spacing:.15em;writing-mode:vertical-rl;opacity:.55}
.location-orbit{position:absolute;z-index:-1;inset:-120px -28% auto auto;opacity:.25;width:1050px;height:1050px;pointer-events:none}
.location-directory{max-width:1550px;margin:auto;padding:0 8vw 90px}
.location-directory-top{display:flex;align-items:end;justify-content:space-between;gap:30px;border-bottom:1px solid #33557725;margin-bottom:42px;padding-bottom:25px}
.location-directory-top>.eyebrow{font-size:9px;letter-spacing:.16em;margin:0 0 13px}
.location-tabs{display:flex;gap:40px}
.location-tabs button{display:flex;align-items:center;gap:16px;border:0;border-bottom:1px solid transparent;padding:13px 0;background:none;color:inherit;font:inherit;font-size:18px;opacity:.43;cursor:pointer;transition:opacity .15s,border-color .15s}
.location-tabs button small,.location-tabs button span:first-child{font-variant-numeric:tabular-nums}
.location-tabs button>span:nth-child(2){display:grid;gap:6px;text-align:left}
.location-tabs strong{font-weight:450}.location-tabs small{font-size:8px;letter-spacing:.14em;opacity:.65}
.location-tab-number{font-size:9px;opacity:.5}.location-tab-arrow{font-size:14px;opacity:.6}
.location-tabs button[aria-selected=true],.location-tabs button:hover{opacity:1;border-color:#33557770}
.location-panel{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.65fr);align-items:center;gap:5vw;animation:location-arrive .15s ease-out both}
.location-panel[hidden]{display:none}
.location-details{padding:36px 0}
.location-index{font-size:9px;letter-spacing:.18em;opacity:.55;margin:0 0 20px}
.location-details h2{font-size:clamp(38px,3.7vw,59px);font-weight:370;margin:0;letter-spacing:-.055em;line-height:1.25}
.location-role{font-size:12px;line-height:1.7;margin:18px 0 46px;opacity:.65}
.location-label{font-size:9px;letter-spacing:.12em;opacity:.6;margin-bottom:16px}
.location-address address{font-size:15px;line-height:1.9;font-style:normal;word-break:keep-all}
.location-address address span{display:block}
.location-copy{margin-top:18px;display:flex;align-items:center;gap:26px;padding:8px 0;font:inherit;font-size:11px;border:0;background:transparent;color:inherit;cursor:pointer;border-bottom:1px solid #33557740}
.location-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.location-directions,.location-map-link{display:inline-flex;align-items:center;gap:24px;padding:15px 18px;font-size:11px;border:1px solid #33557725;border-radius:30px;transition:background .3s,transform .3s}
.location-directions{background:#fff8}.location-directions:hover,.location-map-link:hover{background:#fff;transform:translateY(-2px)}
.location-link-note{font-size:9px;line-height:1.6;opacity:.5;margin-top:14px}
.location-map{position:relative;margin:0;align-self:stretch;min-height:550px;isolation:isolate}
.location-map:before,.location-map:after{content:'';position:absolute;z-index:2;width:20px;height:20px;border-color:#36597888;pointer-events:none}
.location-map:before{left:0;top:0;border-left:1px solid;border-top:1px solid}.location-map:after{right:0;bottom:34px;border-right:1px solid;border-bottom:1px solid}
.location-map-frame{height:calc(100% - 35px);min-height:510px;overflow:hidden;background:#d9e9ee;border-radius:48% 48% 3px 3px;mask-image:linear-gradient(#000 85%,#0009);border:1px solid #496b8030}
.location-map iframe{display:block;width:100%;height:100%;min-height:510px;border:0;filter:grayscale(.92) saturate(.3) contrast(.85);mix-blend-mode:multiply;transition:filter .7s}
.location-map:focus-within iframe,.location-map:hover iframe{filter:grayscale(.3) saturate(.7) contrast(.95)}
.location-map figcaption{display:flex;justify-content:space-between;gap:20px;margin-top:18px;font-size:8px;letter-spacing:.06em;opacity:.7}
.location-status{min-height:20px;margin:22px 0 0;font-size:12px}
.location-visit{position:relative;max-width:1320px;margin:auto;padding:50px 8vw 140px}
.location-visit .eyebrow{font-size:9px;letter-spacing:.18em;opacity:.6}
.location-visit h2{font-size:clamp(30px,3.4vw,52px);line-height:1.2;font-weight:370;letter-spacing:-.05em;margin:22px 0}
.location-visit p:not(.eyebrow){font-size:14px;line-height:1.8;opacity:.75;max-width:440px}
.location-visit>div{display:flex;gap:30px;flex-wrap:wrap;margin-top:28px;font-size:12px}
.location-visit>div a{border-bottom:1px solid #33557740;padding-bottom:8px}
.location-route :is(a,button):focus-visible{outline:2px solid #527f9b;outline-offset:7px}
@keyframes location-arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@media(max-width:760px){
 .location-intro{padding:112px 26px 34px;min-height:0}.location-intro .back-link{margin-bottom:30px}
 .location-intro h1{font-size:clamp(39px,10.5vw,62px)}.location-intro .eyebrow{font-size:8px}
 .location-lead{margin:30px 0 0 13%;font-size:14px;max-width:310px}.location-origin{right:22px;top:40%;font-size:8px}
 .location-orbit{width:650px;height:650px;right:-55%;top:90px}
 .location-directory{padding:0 26px 45px}.location-directory-top{display:block;margin-bottom:20px;padding-bottom:15px}
 .location-directory-top>.eyebrow{margin-bottom:12px}.location-tabs{gap:25px;flex-wrap:wrap}.location-tabs button{font-size:16px;gap:10px}
 .location-panel{grid-template-columns:1fr;gap:25px}.location-details{padding:20px 0}.location-details h2{font-size:40px}
 .location-role{margin-bottom:30px}.location-map{min-height:400px}.location-map-frame,.location-map iframe{min-height:370px;height:370px}
 .location-map-frame{border-radius:45% 45% 2px 2px}.location-map figcaption{font-size:7px}
 .location-visit{padding:20px 26px 85px}.location-visit h2{font-size:33px;max-width:340px}
}
@media(prefers-reduced-motion:reduce){.location-panel{animation:none}.location-map iframe,.location-directions,.location-map-link{transition:none}}
