:root {
  color-scheme: light;
  font-family: Arial, Helvetica, sans-serif;
  color: #252525;
  background: #fcfcfc;
  -webkit-font-smoothing: antialiased;
}

* { box-sizing: border-box; }
body { margin: 0; font-size: 1rem; line-height: 1.45; }
h1, h2, p { margin: 0; }

.studio {
  width: min(100%, 67.25rem);
  margin: 0 auto;
  padding: clamp(1.5rem, 3.7vw, 2.5rem) 0 3rem;
}

.intro { margin: 0 4.74% clamp(1.75rem, 5.2vw, 3.5rem); text-align: center; }
.intro h1 {
  font-size: clamp(1.25rem, 3.35vw, 2.25rem);
  line-height: 1.35;
  font-weight: 700;
  font-style: italic;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .14em;
}
/* Show only y=227..769 of the unchanged 1076x1818 flyer image. */
.chamber-photo { display: block; width: 100%; height: auto; aspect-ratio: 1076 / 542; object-fit: cover; object-position: 50% 17.78996865%; }
.chamber-photo:not(.full-photo) { clip-path: inset(0 .5%); }
.chamber-photo.full-photo { object-fit: contain; object-position: center; }
.gallery { position: relative; touch-action: pan-y pinch-zoom; background: #fcfcfc; }
.gallery-button { position: absolute; z-index: 1; display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid #d2d2d2; border-radius: 4px; background: #fff; color: #252525; font-family: inherit; cursor: pointer; }
.gallery-button:hover { background: #f0f0f0; }
.gallery-prev, .gallery-next { top: 55.9%; transform: translateY(-50%); width: max(44px, 9.3%); height: auto; aspect-ratio: 1; padding: 0; border: 0; background: transparent; font-size: clamp(2.75rem, 8.4vw, 5.65rem); line-height: 1; }
.gallery-prev { left: 2%; }
.gallery-next { right: .55%; }
.gallery-prev, .gallery-next { overflow: hidden; }
/* Live buttons sit over the two arrow graphics already present in the flyer. */
.gallery:has(.chamber-photo:not(.full-photo)) .gallery-prev,
.gallery:has(.chamber-photo:not(.full-photo)) .gallery-next { background: transparent; }
.gallery:has(.chamber-photo:not(.full-photo)) .gallery-prev span,
.gallery:has(.chamber-photo:not(.full-photo)) .gallery-next span { visibility: hidden; }
.gallery-play { right: 4.74%; bottom: .35rem; padding: .2rem .4rem; min-width: 44px; min-height: 44px; font-size: .75rem; }
.gallery-count { position: absolute; left: 4.74%; bottom: .35rem; padding: .2rem .4rem; border-radius: 3px; color: #333; background: #fff; font-size: .75rem; font-variant-numeric: tabular-nums; }
.gallery-error { position: absolute; left: 50%; top: .6rem; transform: translateX(-50%); width: max-content; max-width: calc(100% - 1.2rem); padding: .5rem .75rem; background: #fff; color: #333; text-align: center; font-size: .875rem; }
.gallery [hidden] { display: none; }
.gallery-button:focus-visible { outline: 2px solid #175cd3; outline-offset: 3px; }
.visually-hidden { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; }

.offers { margin: clamp(2rem, 5.6vw, 3.75rem) 4.74% 0; text-align: center; font-size: clamp(1.125rem, 3.35vw, 2.25rem); line-height: 1.35; }
.offer { display: block; }
.offer + .offer { margin-top: clamp(2rem, 5.2vw, 3.5rem); }
.offer-copy { max-width: 56ch; margin: 0 auto; }
.offer-copy h2 { display: inline; font-size: inherit; font-weight: 500; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .14em; }
.offer-copy p { display: inline; font-size: inherit; }
.duration { font-size: inherit; }
.price { margin-top: 0; text-align: center; color: #c43b3b; font-size: inherit; font-weight: 700; }
.price strong, .price span { display: inline; font-size: inherit; font-weight: inherit; }

.contact { display: flex; flex-direction: column; align-items: flex-start; text-align: left; margin: clamp(3rem, 8vw, 5.5rem) 4.74% 0; font-style: normal; font-size: clamp(1.125rem, 3.35vw, 2.25rem); font-weight: 500; }
.contact a { display: inline-flex; align-items: center; min-height: 44px; max-width: 100%; padding: .15rem 0; color: inherit; text-decoration: none; }
.contact a:hover { text-decoration: underline; text-underline-offset: .16em; }
a:focus-visible { outline: 2px solid #175cd3; outline-offset: 5px; }

@media (max-width: 32rem) {
  .flyer-break { display: none; }
}
