.pano-hero {
  gap:18px
}
.pano-logo {
  display:flex;
  align-items:center;
  flex:0 0 auto
}
.pano-logo img {
  display:block;
  width:clamp(112px,14vw,180px);
  max-height:62px;
  object-fit:contain
}
.pano-brand-copy {
  margin-right:auto
}
.pano-map-button {
  border:1px solid #444;
  background:transparent;
  color:#fff;
  border-radius:999px;
  padding:12px 18px;
  font-weight:700;
  cursor:pointer
}
.pano-map-button:hover {
  background:#e44832;
  border-color:#e44832
}
.pano-hotspot {
  width:68px;
  height:56px;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  overflow:visible!important
}
.pano-hotspot:before {
  display:none!important
}
.pano-hotspot img {
  width:68px;
  height:56px;
  object-fit:contain;
  filter:drop-shadow(0 5px 5px rgba(0,0,0,.55));
  transition:transform .18s
}
.pano-hotspot:hover img {
  transform:scale(1.16)
}
.pano-hotspot:after {
  content:attr(aria-label);
  position:absolute;
  left:50%;
  bottom:calc(100% + 9px);
  transform:translateX(-50%) translateY(4px);
  width:max-content;
  max-width:260px;
  padding:8px 11px;
  border-radius:7px;
  background:#111e;
  color:#fff;
  font:600 12px/1.25 Arial;
  opacity:0;
  pointer-events:none;
  transition:.18s;
  white-space:normal
}
.pano-hotspot:hover:after,.pano-hotspot:focus-visible:after {
  opacity:1;
  transform:translateX(-50%) translateY(0)
}
.pano-hotspot-photo {
  width:42px;
  height:42px;
  border-radius:50%;
  background:#e44832!important;
  color:#fff;
  font-size:22px;
  box-shadow:0 4px 16px #0008!important
}
.pano-hotspot-photo span {
  display:block
}
.pano-hotspot-photo:hover {
  background:#fff!important;
  color:#111
}
.pano-map-panel {
  position:fixed;
  z-index:40;
  inset:24px;
  background:#f2efe8;
  color:#171917;
  border-radius:14px;
  box-shadow:0 20px 70px #000a;
  display:flex;
  flex-direction:column;
  opacity:0;
  visibility:hidden;
  transform:scale(.98);
  transition:opacity .2s,transform .2s,visibility .2s
}
.pano-map-panel.open {
  opacity:1;
  visibility:visible;
  transform:none
}
.pano-map-panel header {
  height:78px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 22px
}
.pano-map-panel header p {
  font-size:9px;
  letter-spacing:.16em;
  margin:0
}
.pano-map-panel header h2 {
  font:28px Georgia;
  margin:3px 0
}
.pano-map-panel header button,.pano-photo-viewer>button {
  border:0;
  background:transparent;
  font-size:36px;
  cursor:pointer
}
.pano-map-panel #panoMap {
  flex:1;
  min-height:300px;
  border-radius:0 0 14px 14px
}
.pano-map-panel .leaflet-marker-icon {
  cursor:pointer
}
.pano-photo-viewer {
  position:fixed;
  z-index:60;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:60px;
  background:#000d;
  opacity:0;
  visibility:hidden;
  transition:.2s
}
.pano-photo-viewer.open {
  opacity:1;
  visibility:visible
}
.pano-photo-viewer>button {
  position:absolute;
  right:24px;
  top:16px;
  color:#fff
}
.pano-photo-viewer figure {
  margin:0;
  max-width:min(1000px,95vw);
  max-height:88vh;
  text-align:center
}
.pano-photo-viewer img {
  display:block;
  max-width:100%;
  max-height:78vh;
  margin:auto;
  object-fit:contain;
  box-shadow:0 10px 50px #000
}
.pano-photo-viewer figcaption {
  padding:13px;
  color:#fff;
  font-weight:700
}
.pano-library {
  will-change:transform
}
.pano-scrim {
  position:fixed!important
}
.pano-app.library-open .pano-stage {
  transform:none!important
}
@media(max-width:700px) {
  .pano-hero {
    gap:9px;
    padding-left:12px;
    padding-right:12px
  }
  .pano-logo img {
    width:95px
  }
  .pano-brand-copy .pano-kicker {
    display:none
  }
  .pano-brand-copy h1 {
    font-size:20px;
    white-space:nowrap
  }
  .pano-map-button {
    padding:10px 12px
  }
  .pano-map-button span {
    display:none
  }
  .pano-map-panel {
    inset:0;
    border-radius:0
  }
  .pano-map-panel #panoMap {
    border-radius:0
  }
  .pano-photo-viewer {
    padding:45px 12px
  }
  .pano-hotspot {
    transform:translate(-50%,-50%) scale(.78)!important
  }
}
