/* Location landing pages: shared hero, service sidebar and editorial content. */
.page-locations .page-hero{background:#120F43;padding:32px 0 60px;border-bottom:1px solid #494164}
.page-locations .page-hero:before{background:none}
.page-locations .breadcrumbs{color:#d6cedf;font-size:.76rem;margin-bottom:34px}
.page-locations .page-hero>.container>.layout-row{display:grid;grid-template-columns:1.08fr .92fr;gap:clamp(32px,5vw,64px);align-items:center}
.page-locations .page-hero h1{font-size:clamp(2rem,3.1vw,2.8rem);line-height:1.17;letter-spacing:-.04em;text-wrap:balance;color:#fff}
.page-locations .page-hero h1:before{content:'';display:block;width:46px;height:2px;background:#dfbc81;margin-bottom:24px}
.page-locations .page-hero .prose{font-size:1rem;line-height:1.8;color:#e0d9e9}
.page-locations .page-hero .layout-stack{gap:24px}
.page-locations .page-hero .button-row{display:flex;flex-wrap:wrap;gap:12px;height:auto}
.page-locations .page-hero .button-row>.block{height:auto;flex:0 1 auto}
.page-locations .button{min-height:52px;border-radius:6px;font-size:.85rem;padding:15px 20px}
.page-locations .page-hero .button{background:#e4bd7b;color:#171331;border:1px solid #e4bd7b}
.page-locations .page-hero .button-row>.block:nth-child(2) .button{background:transparent;color:#f4eadc;border-color:#b09a7b}
.page-locations .page-hero .button:hover{background:#f0d4a7;color:#171331}
.page-locations .page-hero .block-image{position:relative;padding:0 0 15px 15px}
.page-locations .page-hero .block-image:before{content:'';position:absolute;inset:20px 20px 0 0;border:1px solid #ae8e61;border-radius:10px}
.page-locations .page-hero .block-image figure{position:relative;border-radius:10px;overflow:hidden;background:#eeeae1}
.page-locations .page-hero .block-image img{width:100%;height:auto;max-height:410px;aspect-ratio:auto;object-fit:contain}
.page-locations .content-section:has(.contains-sidebar){padding-block:60px 80px;background:radial-gradient(ellipse at 0 0,#e8dcc655,transparent 45%),#f7f5f0;color:var(--text)}
.page-locations .content-section>.container>.contains-sidebar{display:grid;grid-template-columns:300px minmax(0,1fr);gap:40px;align-items:start}
.page-locations .contains-sidebar>.layout:first-child{align-self:start;position:sticky;top:116px;min-width:0;height:auto}
.page-locations .related-panel{padding:0;background:none;border:0;border-radius:0;height:auto}
.page-locations .related-panel>.layout{gap:24px}
.page-locations .related-panel>.layout>.layout{padding:26px;background:#fff;border:1px solid #ded4c3;border-radius:12px;gap:22px;box-shadow:0 18px 36px -30px #2c1c4266}
.page-locations .related-panel>.layout>.layout:last-child{background:radial-gradient(ellipse at 100% 0,#59446788,transparent 70%),linear-gradient(135deg,#1b1733,#30233e);border-color:#4e3a53;color:#e8e1ef}
.page-locations .related-panel .layout{height:auto}
.page-locations .related-panel h2{font-size:1.3rem;line-height:1.35;letter-spacing:-.03em;color:var(--ink)}
.page-locations .related-panel>.layout>.layout:last-child h2{color:#fff;font-size:1.45rem}
.page-locations .related-panel h2:before{content:'';display:block;width:30px;height:2px;background:#b18a51;margin-bottom:16px}
.page-locations .related-panel .link-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.page-locations .related-panel .link-list li{margin:0;padding:0;border:0}
.page-locations .related-panel .link-list a{display:flex;gap:12px;align-items:center;padding:12px;background:#f8f5ef;border:1px solid #e7ddcf;border-radius:7px;font-size:.88rem;font-weight:600;line-height:1.5;text-decoration:none;transition:background .2s,border-color .2s}
.page-locations .related-panel .link-list a:hover{background:#efe3cf;border-color:#b59b73;color:var(--ink)}
.page-locations .related-panel .link-list .ui-icon{width:19px;height:19px;flex:none;color:#916b35;stroke-width:1.5}
.page-locations .related-panel .link-list span{min-width:0;overflow-wrap:anywhere}
.page-locations .related-panel .block-list:last-child{padding-top:18px;border-top:1px solid #e3d8c7}
.page-locations .related-panel .block-list:last-child .link-list{gap:16px}
.page-locations .related-panel .block-list:last-child li,.page-locations .related-panel .block-list:last-child a{display:flex;gap:12px;align-items:start;background:none;border:0;padding:0;font-size:.79rem;font-weight:500;line-height:1.65}
.page-locations .related-panel .block-list:last-child .ui-icon{margin-top:2px;width:17px;height:17px}
.page-locations .related-panel .prose{font-size:.9rem;line-height:1.8;color:#ded4e8}
.page-locations .related-panel .button{background:#e4bd7b;color:#19152f;border:1px solid #e4bd7b;width:100%;justify-content:space-between;font-size:.82rem;padding:14px 16px}
.page-locations .related-panel .block-image img{width:auto;max-width:100%;height:auto;max-height:150px;object-fit:contain;margin:auto}
.page-locations .contains-sidebar>.layout:last-child{min-width:0;height:auto;padding:clamp(26px,3vw,42px);gap:22px;background:white;border:1px solid #ded4c3;border-radius:14px;box-shadow:0 18px 40px -34px #2c1c4255}
.page-locations .contains-sidebar>.layout:last-child .layout{height:auto;gap:22px}
.page-locations .contains-sidebar>.layout:last-child>.layout:not(.button-row){margin-top:12px;padding-top:32px;border-top:1px solid #e5dccd}
.page-locations .contains-sidebar>.layout:last-child .block-heading :is(h2,h3){display:flex;align-items:flex-start;gap:16px;color:var(--ink);font-size:clamp(1.35rem,2vw,1.75rem);line-height:1.35;letter-spacing:-.03em;text-wrap:pretty}
.page-locations .location-heading-icon{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid #deccac;border-radius:11px;background:linear-gradient(135deg,#fbf5e9,#eee1ca);color:#8d652f}
.page-locations .location-heading-icon .ui-icon{width:24px;height:24px;stroke-width:1.45}
.page-locations .location-heading-label{align-self:center;min-width:0}
.page-locations .contains-sidebar>.layout:last-child .prose{font-size:1rem;line-height:1.9;color:#635b6d;overflow-wrap:anywhere}
.page-locations .contains-sidebar>.layout:last-child .prose p{line-height:1.9}
.page-locations .contains-sidebar>.layout:last-child .prose a{color:var(--ink);text-decoration-color:#c0a171;text-underline-offset:3px}
.page-locations .contains-sidebar>.layout:last-child .button-row{justify-content:flex-start;margin:4px 0 8px;gap:12px;flex-wrap:wrap}
.page-locations .contains-sidebar>.layout:last-child .button-row>.block{height:auto}
.page-locations .contains-sidebar>.layout:last-child .button{background:#211a40;color:white;border:1px solid #211a40}
.page-locations .contains-sidebar>.layout:last-child .button:hover{background:#403052}
.page-locations .contains-sidebar .content-card{height:auto;display:grid;grid-template-columns:32px minmax(0,1fr);align-items:start;gap:16px;padding:24px;background:linear-gradient(125deg,#f8f3e9,#faf8f4);border:1px solid #e4d6bc;border-left:3px solid #bd955b;border-radius:8px}
.page-locations .contains-sidebar .content-card .card-media{padding:0}
.page-locations .contains-sidebar .benefit-icon{display:grid;place-items:center;width:32px;height:32px;color:#99713a}
.page-locations .contains-sidebar .benefit-icon .ui-icon{width:25px;height:25px}
.page-locations .contains-sidebar .content-card .card-body{padding:0;min-width:0;gap:12px}
.page-locations .contains-sidebar .content-card .card-body .prose{font-size:.94rem;line-height:1.85;color:#655744}
.page-locations .contains-sidebar .content-card .text-link{font-size:.83rem;color:var(--ink)}
@media(max-width:1100px){
 .page-locations .content-section>.container>.contains-sidebar{grid-template-columns:260px minmax(0,1fr);gap:26px}
 .page-locations .related-panel>.layout>.layout{padding:22px}
 .page-locations .contains-sidebar>.layout:last-child{padding:28px}
}
@media(max-width:900px){
 .page-locations .page-hero>.container>.layout-row{grid-template-columns:1fr;gap:34px}
 .page-locations .page-hero .block-image{max-width:620px;margin:auto}
 .page-locations .content-section>.container>.contains-sidebar{grid-template-columns:1fr;gap:32px}
 .page-locations .contains-sidebar>.layout:first-child{position:static;order:2;width:100%}
 .page-locations .contains-sidebar>.layout:last-child{order:1;width:100%}
 .page-locations .related-panel>.layout{display:grid;grid-template-columns:1fr 1fr;align-items:start}
}
@media(max-width:600px){
 .page-locations .page-hero{padding:26px 0 40px}
 .page-locations .page-hero h1{font-size:2rem}
 .page-locations .page-hero .button-row{flex-direction:column;flex-wrap:nowrap;align-items:stretch}
 .page-locations .page-hero .button-row>.block{width:100%;flex:none}
 .page-locations .page-hero .button{width:100%;justify-content:space-between}
 .page-locations .content-section:has(.contains-sidebar){padding-block:32px 48px}
 .page-locations .contains-sidebar>.layout:last-child{padding:26px 20px;gap:20px}
 .page-locations .contains-sidebar>.layout:last-child .block-heading :is(h2,h3){gap:12px;font-size:1.28rem}
 .page-locations .location-heading-icon{width:36px;height:36px;flex-basis:36px;border-radius:9px}
 .page-locations .location-heading-icon .ui-icon{width:21px;height:21px}
 .page-locations .contains-sidebar>.layout:last-child .prose{font-size:.96rem;line-height:1.85}
 .page-locations .contains-sidebar .content-card{grid-template-columns:1fr;padding:20px;gap:10px}
 .page-locations .related-panel>.layout{display:flex;flex-direction:column}
 .page-locations .related-panel>.layout>.layout{width:100%}
}
@media(prefers-reduced-motion:reduce){.page-locations .related-panel .link-list a{transition:none}}
