/* Location page: full-bleed map band, scoped away from shared home styles. */
.location-page{min-height:calc(100svh - var(--header-mobile));padding-top:var(--header-mobile);background:var(--paper);color:var(--ink);overflow:clip}
.location-page .location-page-intro{padding:76px 0 52px}
.location-page .location-page-intro .display{color:var(--forest)}
.location-page .location-page-intro .lead{max-width:58ch;margin:23px 0 0}
.location-page .location-map-band{position:relative;background:var(--forest);overflow:clip}
.location-page .location-map-frame{position:relative;width:100%;height:clamp(430px,54vw,700px);background:#dfe7df}
.location-page .location-map-frame iframe{display:block;width:100%;height:100%;border:0}
.location-page .location-map-overlay{position:absolute;inset:0;display:flex;align-items:flex-end;pointer-events:none;padding:32px clamp(17px,4.5vw,70px)}
.location-page .location-map-card{width:min(390px,100%);padding:29px 30px 30px;background:rgba(241,234,223,.97);color:var(--ink);box-shadow:0 18px 60px rgba(18,31,27,.22);pointer-events:auto}
.location-page .location-map-card .eyebrow{margin-bottom:10px;color:var(--rose-gold)}
.location-page .location-map-card h2{margin:0;font-size:clamp(1.65rem,3vw,2.25rem);line-height:1.03;letter-spacing:-.035em;font-weight:560;color:var(--forest)}
.location-page .location-map-card address{margin:18px 0 0;color:var(--muted);font-size:.98rem;line-height:1.65;font-style:normal}
.location-page .location-map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.location-page .location-map-actions .btn{gap:10px}
.location-page .location-map-actions .btn-primary{background:var(--forest);color:#fff}
.location-page .location-map-actions .btn-ghost{border-color:var(--forest);color:var(--forest)}
.location-page .location-map-actions .btn-ghost:hover{background:rgba(38,60,52,.08)}

@media (min-width:980px){
  .location-page{min-height:calc(100svh - var(--header-desktop));padding-top:var(--header-desktop)}
  .location-page .location-page-intro{padding:94px 0 58px}
  .location-page .location-map-overlay{padding-bottom:42px}
}

@media (max-width:679px){
  .location-page .location-page-intro{padding:58px 0 42px}
  .location-page .location-page-intro .display{font-size:clamp(2.65rem,13vw,4rem)}
  .location-page .location-map-frame{height:clamp(390px,112vw,520px)}
  .location-page .location-map-overlay{position:relative;inset:auto;padding:0}
  .location-page .location-map-card{width:100%;padding:30px 17px 34px;box-shadow:none}
}

@media (prefers-reduced-motion:reduce){
  .location-page .location-map-frame iframe{scroll-behavior:auto}
}
