/* Original building-and-map composition, isolated from the hero and service pages. */
.location-restored{padding:0 0 var(--space-20);position:relative;background:#0a0a0f;color:#f2f2f4;scroll-margin-top:88px}
.location-restored .location-anchor{position:absolute;top:0;scroll-margin-top:88px}
.location-restored .location__silhouette{position:relative;width:100%;height:clamp(340px,46vw,620px);overflow:hidden;background:#05050a}
.location-restored .location__silhouette>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 50%;filter:saturate(1.05) contrast(1.02)}
.location-restored .location__silhouette-gradient{position:absolute;inset:0;background:linear-gradient(0deg,#0a0a0fe6 0%,transparent 45%,#0a0a0f40 100%),linear-gradient(90deg,#0a0a0f66,transparent 40%);pointer-events:none}
.location-restored .location__silhouette-caption{position:absolute;left:max(56px,calc((100% - 1328px)/2));bottom:var(--space-10);right:var(--space-6);display:flex;flex-direction:column;gap:var(--space-1)}
.location-restored .location__silhouette-label{font-size:var(--text-sm);font-weight:600;letter-spacing:.14em;text-transform:uppercase;text-shadow:0 2px 8px #0009}
.location-restored .location__silhouette-sub{font-size:var(--text-xs);color:#c3bec9;letter-spacing:.14em;text-transform:uppercase}
.location-restored .location__inner{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:var(--space-12);align-items:center;padding-top:var(--space-16)}
.location-restored .location__copy{min-width:0}
.location-restored .eyebrow{color:#be8ded;margin-bottom:var(--space-4)}
.location-restored h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.12}
.location-restored .location__body{font-size:var(--text-sm);line-height:1.8;color:#b6b0bd;margin-top:var(--space-6);max-width:52ch}
.location-restored .location__facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-6);padding-block:var(--space-6);margin-top:var(--space-6);border-block:1px solid #ffffff20}
.location-restored .location__facts dt{font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:#b6b0bd;margin-bottom:var(--space-2)}
.location-restored .location__facts dd{font-size:var(--text-sm);line-height:1.65;margin:0;overflow-wrap:anywhere}
.location-restored .location__facts a{text-decoration:underline;text-underline-offset:4px}
.location-restored .location__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-6)}
.location-restored .location__actions>a{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-4);min-height:48px;padding:var(--space-3) var(--space-5);border:1px solid #ffffff40;border-radius:9999px;font-size:var(--text-xs);font-weight:600;color:#fff}
.location-restored .location__actions>a:hover{background:#ffffff0d;border-color:#be8ded}
.location-restored a:focus-visible{outline:2px solid #be8ded;outline-offset:4px}
.location-restored .location__map-panel{min-width:0;border:1px solid #ffffff24;border-radius:12px;overflow:hidden;background:#121118}
.location-restored .location__map-wrap{width:100%;aspect-ratio:4/3;background:#19181f}
.location-restored iframe{display:block;width:100%;height:100%;border:0}
.location-restored .location__map-label{display:flex;gap:var(--space-4);align-items:center;padding:var(--space-5);border-top:1px solid #ffffff20}
.location-restored .location__map-label>img{flex-shrink:0}
.location-restored .location__map-label>div{min-width:0}
.location-restored .location__map-label strong{display:block;font-size:var(--text-sm)}
.location-restored .location__map-label span{display:block;font-size:var(--text-xs);color:#b6b0bd;margin-top:var(--space-1)}
@media(max-width:1000px){.location-restored .location__inner{grid-template-columns:1fr;gap:var(--space-8)}.location-restored .location__body{max-width:65ch}}
@media(max-width:800px){.location-restored{padding-bottom:var(--space-12)}.location-restored .location__silhouette-caption{left:var(--space-5);bottom:var(--space-6)}.location-restored .location__silhouette-label{font-size:var(--text-xs);letter-spacing:.1em}.location-restored .location__inner{padding-top:var(--space-10)}}
@media(max-width:420px){.location-restored .location__actions{flex-direction:column}.location-restored .location__actions>a{justify-content:space-between}.location-restored .location__facts{column-gap:var(--space-4)}}
