.access-main { overflow: hidden; background: var(--bg-about); }
.access-heading { position: relative; overflow: hidden; padding: 48px 0 31px; background: var(--bg-about); }
.access-heading::after { content: ""; position: absolute; top: 8px; right: 28px; width: 122px; height: 176px; background: url("../assets/images/deco-feature-right.png") center / contain no-repeat; opacity: .72; pointer-events: none; }
.access-heading .container { position: relative; z-index: 1; }
.access-heading .section-title { margin: 0; font-size: 28px; }
.access-heading-en { margin: 11px 0 0; color: var(--olive); text-align: center; font-size: 11px; letter-spacing: .18em; }
.access-heading .features-title-decoration { margin-top: 15px; margin-bottom: 0; }
.access-content { position: relative; padding-top: 58px; padding-bottom: 90px; text-align: center; scroll-margin-top: 90px; }
.access-content .eyebrow { color: var(--olive); }
.studio-name { margin: 8px 0 16px; color: var(--olive); font-size: 25px; letter-spacing: .12em; }
.studio-address { margin: 0; font-style: normal; font-size: 16px; line-height: 2; }
.map-button { margin-top: 28px; min-width: 280px; }
.map-frame { width: min(760px, 100%); height: 430px; margin: 48px auto 42px; overflow: hidden; border: 1px solid rgba(138,121,38,.35); }
.map-frame iframe { width: 100%; height: 100%; display: block; border: 0; }
.access-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.access-gallery .image-frame { aspect-ratio: 4 / 3; }
.access-gallery img { width: 100%; height: 100%; object-fit: cover; }
.secondary-studio { margin-top: 92px; padding-top: 70px; border-top: 1px solid rgba(138,121,38,.28); scroll-margin-top: 90px; }
.secondary-studio .studio-name { font-weight: 400; }
.secondary-studio .map-frame { margin-bottom: 0; }
.mobile-only { display: none; }

@media screen and (max-width: 767px) {
  .access-heading { padding: 38px 0 27px; }
  .access-heading::after { top: 12px; right: 0; width: 72px; height: 128px; opacity: .45; }
  .access-heading .section-title { font-size: 24px; }
  .access-content { padding-top: 42px; padding-bottom: 58px; }
  .studio-name { font-size: 22px; }
  .studio-address { font-size: 14px; }
  .mobile-only { display: initial; }
  .map-button { width: 100%; min-width: 0; }
  .map-frame { height: 330px; margin-top: 36px; margin-bottom: 28px; }
  .access-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .secondary-studio { margin-top: 62px; padding-top: 52px; }
}
