.gallery-block { display: grid; place-items: center; width: 100%; margin: 0; padding-top: min(var(--pad-top), 18vw); padding-right: max(clamp(1.5rem, 7vw, 8rem), calc((100vw - 87.5rem) / 2)); padding-bottom: min(var(--pad-bottom), 18vw); padding-left: max(clamp(1.5rem, 7vw, 8rem), calc((100vw - 87.5rem) / 2)); background: var(--block-bg); }
.gallery-block img { display: block; width: min(var(--image-scale, 100%), 1400px); height: auto; }
.gallery-multi-block { display: grid; place-items: center; width: 100%; margin: 0; padding-top: min(var(--pad-top), 18vw); padding-right: max(clamp(1.5rem, 7vw, 8rem), calc((100vw - 87.5rem) / 2)); padding-bottom: min(var(--pad-bottom), 18vw); padding-left: max(clamp(1.5rem, 7vw, 8rem), calc((100vw - 87.5rem) / 2)); background: var(--block-bg); }
.gallery-multi-inner { display: grid; grid-template-columns: repeat(var(--image-count), minmax(0, 1fr)); align-items: var(--gallery-align, start); gap: var(--image-gap, 0); width: min(var(--gallery-scale, 100%), var(--gallery-max-width, 1400px)); }
.gallery-multi-inner.is-vertical { grid-template-columns: minmax(0, 1fr); }
.gallery-multi-inner img { display: block; width: 100%; height: auto; min-width: 0; }
.gallery-multi-inner > img,.gallery-composite-images > img { position: relative; z-index: var(--image-stack-order,1); transform: translateX(var(--image-overlap-shift,0px)); }
.gallery-multi-inner > img.is-image-overlap-vertical,.gallery-composite-images > img.is-image-overlap-vertical { transform: translateY(var(--image-overlap-shift,0px)); }
.gallery-multi-inner.is-uniform img { aspect-ratio: var(--gallery-ratio, 4 / 3); height: auto; object-fit: var(--gallery-fit, cover); background: var(--block-bg); }
.gallery-multi-inner.is-uniform:not(.is-vertical) { aspect-ratio: var(--gallery-row-aspect); align-items: stretch; }
.gallery-multi-inner.is-uniform:not(.is-vertical) img { height: 100%; aspect-ratio: auto; object-fit: var(--gallery-fit, cover); }
.gallery-multi-inner.is-uniform.is-vertical { aspect-ratio: var(--gallery-column-aspect); align-items: stretch; }
.gallery-multi-inner.is-uniform.is-vertical img { height: 100%; aspect-ratio: auto; object-fit: var(--gallery-fit, cover); }
.gallery-block,.gallery-multi-block,.gallery-composite-block,.gallery-text-block { --active-crop-top:var(--crop-top,0px); --active-crop-bottom:var(--crop-bottom,0px); margin-top:calc(0px - var(--active-crop-top)); margin-bottom:calc(0px - var(--active-crop-bottom)); overflow:hidden; clip-path:none; }
.gallery-block.has-vertical-crop,.gallery-multi-block.has-vertical-crop,.gallery-composite-block.has-vertical-crop,.gallery-text-block.has-vertical-crop { clip-path:inset(var(--active-crop-top) 0 var(--active-crop-bottom) 0); }
.gallery-composite-block { box-sizing: border-box; display: grid; place-items: center; width: 100%; min-height: 0; margin: 0; padding-top: min(var(--pad-top,120px),18vw); padding-right: max(clamp(1.5rem,7vw,8rem),calc((100vw - 87.5rem)/2)); padding-bottom: min(var(--pad-bottom,120px),18vw); padding-left: max(clamp(1.5rem,7vw,8rem),calc((100vw - 87.5rem)/2)); background-color: var(--block-bg); background-image: var(--section-bg-image); background-position: center; background-size: cover; color: var(--text-color,#111); }
.gallery-composite-block.is-fullscreen { --active-crop-top:0px; --active-crop-bottom:0px; min-height: 100svh; padding-top: var(--detail-nav-clearance, 6.35rem); padding-bottom: 0; }
.gallery-composite-inner { display: grid; align-content: center; gap: var(--content-gap,48px); width: 100%; max-width: 87.5rem; }
.gallery-composite-inner.is-row { align-items: center; }
.gallery-composite-inner.is-row.is-text-first { grid-template-columns: var(--section-row-columns,minmax(min(calc(var(--title-size,64px) * 4.5),34rem,45vw),var(--section-text-column,100fr)) minmax(0,var(--section-image-column,100fr))); }
.gallery-composite-inner.is-row.is-image-first { grid-template-columns: var(--section-row-columns,minmax(0,var(--section-image-column,100fr)) minmax(min(calc(var(--title-size,64px) * 4.5),34rem,45vw),var(--section-text-column,100fr))); }
.gallery-composite-inner.is-row.is-single { grid-template-columns: minmax(0,1fr); }
.gallery-composite-inner.is-row.is-multi-child { grid-template-columns: var(--section-row-columns,repeat(auto-fit,minmax(min(18rem,100%),1fr))); }
.gallery-composite-inner.is-image-first .gallery-composite-text { order: 2; }
.gallery-composite-inner.is-image-first .gallery-composite-images { order: 1; }
.gallery-composite-block.is-fullscreen .gallery-composite-inner { min-height: calc(100svh - var(--detail-nav-clearance, 6.35rem)); align-content: center; justify-items: stretch; }
.gallery-composite-text { width: 100%; text-align: var(--text-align,left); }
.gallery-composite-english { margin-bottom: .45em; font-family: Futura,"Century Gothic","Avenir Next",Avenir,Arial,sans-serif; font-size: var(--english-title-size,24px); font-weight: 700; line-height: 1; letter-spacing: -.05em; white-space: pre-line; }
.gallery-composite-text h2 { margin: 0; font-size: var(--title-size,64px); font-weight: var(--title-weight,700); line-height: 1.04; letter-spacing: -.045em; white-space: pre-line; }
.gallery-composite-text p { margin: var(--title-subtitle-gap,24px) 0 0; font-size: var(--subtitle-size,20px); font-weight: var(--subtitle-weight,400); line-height: 1.7; white-space: pre-line; opacity: .76; }
.gallery-composite-images { display: grid; grid-template-columns: repeat(var(--section-image-count),minmax(0,1fr)); align-items: var(--section-image-align,start); gap: var(--section-image-gap,24px); width: min(var(--section-image-scale,100%),87.5rem); margin: 0 auto; }
.gallery-composite-inner.is-row .gallery-composite-images { width: 100%; }
.gallery-composite-images.is-vertical { grid-template-columns: minmax(0,1fr); }
.gallery-composite-images img { display: block; width: 100%; height: auto; min-width: 0; border-radius: var(--section-image-radius,0); overflow: hidden; }
.gallery-composite-images.has-single-image img { border-radius: 0; }
.gallery-composite-images.is-uniform img { aspect-ratio: var(--section-image-ratio,4 / 3); object-fit: var(--section-image-fit,contain); background: var(--block-bg); }
.gallery-composite-images.is-uniform:not(.is-vertical) { aspect-ratio: var(--section-row-aspect); align-items: stretch; }
.gallery-composite-images.is-uniform:not(.is-vertical) img { height: 100%; aspect-ratio: auto; }
.gallery-composite-images.is-uniform.is-vertical { aspect-ratio: var(--section-column-aspect); align-items: stretch; }
.gallery-composite-images.is-uniform.is-vertical img { height: 100%; aspect-ratio: auto; }
.detail-reveal-ready .detail-reveal-item { opacity: 0; transform: translate3d(0,48px,0); transition: opacity .72s cubic-bezier(.22,1,.36,1) var(--detail-reveal-delay,0ms),transform .82s cubic-bezier(.22,1,.36,1) var(--detail-reveal-delay,0ms); will-change: opacity,transform; }
.detail-reveal-ready .detail-reveal-item.is-visible { opacity: 1; transform: translate3d(0,0,0); }
@media(max-width:700px){.detail-reveal-ready .detail-reveal-item{transform:translate3d(0,30px,0);transition-duration:.62s,.72s}}
@media(prefers-reduced-motion:reduce){.detail-reveal-ready .detail-reveal-item,.detail-reveal-ready .detail-reveal-item.is-visible{opacity:1;transform:none;transition:none;will-change:auto}}
@media(max-width:1000px){.gallery-composite-inner.is-row.is-text-first,.gallery-composite-inner.is-row.is-image-first,.gallery-composite-inner.is-row.is-multi-child{grid-template-columns:minmax(0,1fr)}}
@media(max-width:700px){
  .gallery-composite-block{--active-crop-top:var(--mobile-crop-top,var(--crop-top,0px));--active-crop-bottom:var(--mobile-crop-bottom,var(--crop-bottom,0px));padding-top:var(--mobile-pad-top,min(var(--pad-top,120px),18vw));padding-bottom:var(--mobile-pad-bottom,min(var(--pad-bottom,120px),18vw))}
  .gallery-composite-block.is-fullscreen{min-height:100svh;padding-top:var(--mobile-pad-top,var(--detail-nav-clearance,5rem));padding-bottom:var(--mobile-pad-bottom,0)}
  .gallery-composite-block.is-fullscreen .gallery-composite-inner{min-height:calc(100svh - var(--mobile-pad-top,var(--detail-nav-clearance,5rem)) - var(--mobile-pad-bottom,0px))}
  .gallery-composite-inner{gap:var(--mobile-content-gap,var(--content-gap,48px))}
  .gallery-composite-block.mobile-layout-column .gallery-composite-inner,.gallery-composite-block.mobile-layout-auto .gallery-composite-inner{grid-template-columns:minmax(0,1fr)!important}
  .gallery-composite-block.mobile-layout-row .gallery-composite-inner{grid-template-columns:var(--section-row-columns,minmax(0,1fr))!important}
  .gallery-composite-block.mobile-order-text-first .gallery-composite-text{order:1}
  .gallery-composite-block.mobile-order-text-first .gallery-composite-images{order:2}
  .gallery-composite-block.mobile-order-image-first .gallery-composite-images{order:1}
  .gallery-composite-block.mobile-order-image-first .gallery-composite-text{order:2}
  .gallery-composite-text{text-align:var(--mobile-text-align,var(--text-align,left))!important}
  .gallery-composite-english{font-size:var(--mobile-english-title-size,min(var(--english-title-size,24px),8vw))}
  .gallery-composite-text h2{font-size:var(--mobile-title-size,min(var(--title-size,64px),12vw))}
  .gallery-composite-text p{font-size:var(--mobile-subtitle-size,min(var(--subtitle-size,20px),5vw))}
  .gallery-composite-images{width:var(--mobile-image-scale,100%)!important}
  .gallery-composite-images.mobile-images-auto,.gallery-composite-images.mobile-images-column{grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;aspect-ratio:auto!important}
  .gallery-composite-images.mobile-images-auto>img,.gallery-composite-images.mobile-images-column>img{transform:translateY(var(--image-overlap-shift,0px))}
  .gallery-composite-images.mobile-images-row>img{transform:translateX(var(--image-overlap-shift,0px))}
  .gallery-composite-images.mobile-images-auto img,.gallery-composite-images.mobile-images-column img{height:auto!important;aspect-ratio:var(--section-image-ratio,auto)}
  .gallery-composite-images.mobile-images-row{grid-template-columns:var(--mobile-image-columns,minmax(0,1fr))!important;grid-template-rows:auto!important}
}
.gallery-text-block { width: 100%; margin: 0; padding-top: min(var(--pad-top, 128px), 18vw); padding-right: max(clamp(1.5rem, 7vw, 8rem), calc((100vw - 87.5rem) / 2)); padding-bottom: min(var(--pad-bottom, 128px), 18vw); padding-left: max(clamp(1.5rem, 7vw, 8rem), calc((100vw - 87.5rem) / 2)); background: var(--block-bg); color: var(--text-color, #111); }
.gallery-text-inner { width: 100%; max-width: 87.5rem; margin: 0 auto; text-align: var(--text-align,left); }
.gallery-english-title { max-width: 100%; margin: 0 0 var(--english-title-gap, 16px); font-family: Futura, "Century Gothic", "Avenir Next", Avenir, Arial, sans-serif; font-size: var(--english-title-size, 24px); font-weight: 700; line-height: var(--english-title-line-height, 1); letter-spacing: -.05em; overflow-wrap: normal; white-space: pre-line; }
.gallery-text-block h2 { max-width: 100%; margin: 0; font-size: var(--title-size, 64px); font-weight: var(--title-weight, 700); line-height: var(--title-line-height, 1.04); letter-spacing: -.045em; overflow-wrap: normal; white-space: pre-line; }
.gallery-text-block p { max-width: 100%; margin: var(--title-subtitle-gap, 24px) 0 0; font-size: var(--subtitle-size, 20px); font-weight: var(--subtitle-weight, 400); line-height: var(--subtitle-line-height, 1.7); overflow-wrap: normal; white-space: pre-line; opacity: .7; }
@media(max-width:700px){.gallery-english-title{font-size:min(var(--english-title-size,24px),8vw)}.gallery-text-block h2{font-size:min(var(--title-size,64px),12vw)}.gallery-text-block p{font-size:min(var(--subtitle-size,20px),5vw)}}
@media(max-width:700px){body.has-mobile-detail-design .gallery-text-block{padding-top:var(--pad-top,128px);padding-bottom:var(--pad-bottom,128px)}body.has-mobile-detail-design .gallery-english-title{font-size:var(--english-title-size,24px)}body.has-mobile-detail-design .gallery-text-block h2{font-size:var(--title-size,64px)}body.has-mobile-detail-design .gallery-text-block p{font-size:var(--subtitle-size,20px)}}
.gallery-block,.gallery-multi-block,.gallery-composite-block,.gallery-text-block { margin-top:calc(0px - var(--active-crop-top)); margin-bottom:calc(0px - var(--active-crop-bottom)); }
