#festival2026{font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-weight:400}
#festival2026 .f-hero{min-height:0;padding-top:44px;padding-bottom:48px;background:#f6f7f4;gap:56px}
#festival2026 .f-hero::before{display:none}
#festival2026 .f-hero-label{margin-top:0}
#festival2026 .f-theme{font-family:"Shippori Mincho","Noto Serif JP",serif;font-weight:700}
#festival2026 .f-theme strong{font-family:inherit;font-size:clamp(32px,4vw,48px);font-weight:700;letter-spacing:.02em}
#festival2026 .f-theme span{font-weight:700}
#festival2026 .f-hero-art>a{transform:none;box-shadow:0 8px 28px rgba(17,74,40,.1)}
#festival2026 .f-section-english{font-family:"Cormorant Garamond","Times New Roman",serif;font-size:15px;font-weight:600}
#festival2026 .f-section-heading h2{font-family:"Shippori Mincho","Noto Serif JP",serif;font-weight:700}
#festival2026 .f-section-nav{top:108px}
#festival2026 section[id]{scroll-margin-top:190px}
@media(max-width:767px){#festival2026 .f-hero{padding:30px 20px 36px;gap:32px}#festival2026 .f-section-nav{top:64px}#festival2026 section[id]{scroll-margin-top:140px}}
@media(min-width:768px) and (max-width:1023px){#festival2026 .f-section-nav{top:76px}}

/* Show both stage photographs in full, using the original PDF image bytes. */
#festival2026 .f-photo-pair{grid-template-columns:1.65fr 1fr;align-items:start}
#festival2026 .f-photo-pair .f-photo-link{height:clamp(220px,28vw,360px);display:flex;align-items:center;justify-content:center;background:#f6f7f4}
#festival2026 .f-photo-pair .f-photo img{width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}
@media(max-width:767px){#festival2026 .f-photo-pair{grid-template-columns:1fr;gap:24px}#festival2026 .f-photo-pair .f-photo-link{height:auto;padding:0}#festival2026 .f-photo-pair .f-photo img{max-height:340px;width:auto;height:auto}}
#festival2026 .f-venue-photos .f-photo--vr-full img{width:100%;height:auto;max-height:none;object-fit:contain}


#festival2026 a[data-festival-zoom]{cursor:zoom-in}
#festival2026 a[data-festival-zoom]:focus-visible{outline:3px solid #114a28;outline-offset:4px}

#festival2026 .f-map-zoom{appearance:none;padding:0;font:inherit;cursor:zoom-in;position:relative;transform-origin:center;transition:transform .24s ease,box-shadow .24s ease}
#festival2026 .f-map-zoom.is-enlarged{transform:scale(1.18);z-index:2;cursor:zoom-out;box-shadow:0 5px 18px rgba(17,74,40,.16)}
#festival2026 .f-map-zoom:focus-visible{outline:3px solid #114a28;outline-offset:4px}
@media(prefers-reduced-motion:reduce){#festival2026 .f-map-zoom{transition:none}}

/* Show the complete restaurant photograph above the menu. */
#festival2026 .f-menu.f-menu--restaurant{grid-template-columns:1fr;grid-template-rows:auto auto 1fr}
#festival2026 .f-menu--restaurant .f-photo{grid-column:1;grid-row:2;height:auto}
#festival2026 .f-menu--restaurant .f-photo-link{position:relative;width:100%;aspect-ratio:1447/1087;height:auto;min-height:0;margin-left:auto;margin-right:auto}
#festival2026 .f-menu--restaurant .f-photo-link img{position:absolute;left:50%;top:50%;width:calc(100% * 1087 / 1447);max-width:none;height:auto;min-height:0;object-fit:contain;transform:translate(-50%,-50%) rotate(-90deg)}
#festival2026 .f-menu--restaurant .f-menu-body{grid-column:1;grid-row:3}
