html,body{overflow-x:hidden}
body{padding-bottom:calc(64px + env(safe-area-inset-bottom))}
button,a{touch-action:manipulation}
.hero__portrait{min-width:0}
.photo-placeholder{width:100%}
.calendar__head>span{width:44px;height:44px;display:grid;place-items:center;color:#a5aa9f}
.soft-button,.address-copy,.map-links a,.tabs button,.account button,.share-bar button,.music-button,.modal__close,.contact-list a,.lightbox>button{min-height:44px}
.address-copy{padding:7px 10px;line-height:1.7}
.map-links a{display:grid;place-items:center;padding:8px 4px}
.account button{min-width:48px;padding:9px 11px}
.music-button{width:44px;height:44px;top:max(14px,env(safe-area-inset-top));left:calc(50% + min(240px,50vw) - 54px)}
.modal__close{min-width:44px;padding:0;right:14px;top:10px}
.lightbox>button{min-width:44px}
.lightbox>[data-lightbox-close]{right:10px;top:max(8px,env(safe-area-inset-top))}
.lightbox #lightbox-image{width:100%;min-width:0;touch-action:pan-y}
.accordion__panel[aria-hidden="true"]{visibility:hidden}
.accordion__panel[aria-hidden="false"]{visibility:visible}
@supports (-webkit-touch-callout:none){
  input,select,textarea{font-size:16px!important}
}
@media(max-width:380px){
  .hero{padding-left:22px;padding-right:22px}
  .hero__wash{width:min(96vw,350px);height:min(96vw,350px);right:-45vw}
  .photo-placeholder{border-radius:160px 160px 12px 12px}
  .section{padding-left:22px;padding-right:22px}
  .gallery__grid{grid-template-rows:160px 110px 150px}
  .map-links{gap:5px}
  .map-links a{font-size:10px}
  .route-map{margin-left:-4px;margin-right:-4px}
  .modal__sheet{padding-left:22px;padding-right:22px}
  .lightbox{grid-template-columns:44px minmax(0,1fr) 44px}
  .lightbox #lightbox-image{height:66svh}
}
.section-kicker--long{font-size:8px;letter-spacing:.18em;line-height:1.5;white-space:nowrap}
