/* Venue polish: original Senja lettering, approved registered artwork and one
   continuous paper surface. Every rule remains isolated from the homepage. */
html.venue-root,html.venue-root body{height:auto;min-height:100%;overflow:visible}
.venue-page{--venue-gap:clamp(3.5rem,5.5vw,5.5rem);--copy-gap:1.5rem;--stone-linen:#d3ccc2;--clay-pink:#deb0a8;--amber-cedar:#c27d4a;position:relative;isolation:isolate;background:var(--paper);color:var(--ink);font-size:1rem;line-height:1.65}
.venue-page :is(h1,h2,h3,p,figure){margin:0;font-weight:400}
.venue-page a{color:inherit;text-decoration:none}
.venue-page a:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.venue-page .ink-word{max-width:100%}
.venue-page .display{font-size:clamp(2rem,3.15vw,3.15rem);line-height:1.16;letter-spacing:0}
.venue-page .kicker,.venue-page .section-label{font-size:.875rem;line-height:1.6}
.venue-page .section-label{margin-bottom:var(--copy-gap)}
.venue-page .kicker{color:var(--muted)}
.venue-page img,.venue-page picture{display:block;width:100%}
.venue-page img{height:auto}

/* One full-width masthead, with a shared inner alignment for all its contents.
   Its real height is measured for keyboard skip-link clearance. */
.venue-header{position:sticky;top:0;z-index:10;background:var(--paper);padding-top:env(safe-area-inset-top)}
.venue-masthead{max-width:1700px;margin:auto;padding:clamp(.9rem,1.5vw,1.5rem) max(var(--gutter),env(safe-area-inset-right)) .75rem max(var(--gutter),env(safe-area-inset-left));display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 2rem}
.home-mark{display:flex;align-items:center;flex:none;min-height:44px;padding-block:10px}
.home-mark .wordmark{display:block}
.venue-place{flex:1;text-align:right;font-size:.8125rem;color:var(--muted)}
.venue-controls{flex:0 0 auto;max-width:100%;margin-left:auto;padding-bottom:1.25rem}
.venue-controls[hidden]{display:none}
.venue-light-status{font:12px/1.45 Arial,sans-serif;color:var(--muted);padding-top:4px}
.venue-page .venue-appearance{position:static;right:auto;top:auto;transform:none;gap:.5rem;max-width:100%;align-items:flex-start;padding:0;margin:0}
.venue-page .venue-appearance svg[hidden]{display:none}
.venue-page .venue-appearance .ink-word{max-width:none}
.venue-header[data-sticky="false"]{position:static}
.skip-link{position:fixed;top:1rem;left:1rem;z-index:20;transform:translateY(-200%);padding:.65rem 1rem;background:var(--paper);font:1rem/1.5 Arial,sans-serif}
.skip-link:focus{transform:none}
#venue-main{scroll-margin-top:calc(var(--venue-header-height,100px) + 12px)}

.venue-hero{padding-top:clamp(.5rem,1.5vw,1.5rem);display:grid;grid-template-columns:minmax(0,1fr)}
.hero-heading{grid-area:1/1;align-self:start;z-index:1;padding:.5rem var(--gutter) clamp(1rem,2vw,2rem);text-align:center;pointer-events:none}
.hero-heading .hero-lead{font-size:clamp(2.15rem,5vw,4.6rem);max-width:64rem;margin:1rem auto 0;line-height:1.1}
.hero-scene{grid-area:2/1;width:100%;margin:0!important}
.hero-intro{grid-column:1;max-width:46rem;margin:.75rem auto 0;padding:0 var(--gutter);text-align:center;color:var(--muted)}
.hero-intro p+p{margin-top:.65rem}
.section{max-width:1540px;margin:0 auto;padding-inline:var(--gutter)}
.scene{min-width:0}
.scene figcaption{font-size:.875rem;line-height:1.5;color:var(--muted);padding-top:.75rem;max-width:48rem}
.hall-section{padding-block:var(--venue-gap)}
.hall-scene{max-width:1140px;margin-inline:auto!important}
.hall-copy{max-width:1140px;margin:var(--copy-gap) auto 0;display:grid;grid-template-columns:1fr 3.4fr;align-items:baseline;gap:2rem}
.hall-copy .section-label{margin:0}
.facts{list-style:none;margin:1.5rem 0 0;padding:0;font-size:.875rem;line-height:1.65}
.facts li+li{margin-top:.65rem}
.hall-facts{display:flex;flex-wrap:wrap;align-items:baseline;gap:.85rem 1.75rem;margin:0;justify-content:flex-end}
.hall-facts li+li{margin:0}
.hall-facts .capacity{font-size:1.125rem;line-height:1.45;white-space:normal}
.garden-section{max-width:1700px;padding-inline:0;padding-bottom:0}
.garden-editorial{max-width:1540px;margin:auto;padding:var(--copy-gap) var(--gutter) 0;display:grid;grid-template-columns:1fr 1.4fr 1.2fr;align-items:start;gap:clamp(2rem,4vw,4rem)}
.garden-editorial .section-label{margin:0}
.garden-copy{max-width:32rem}
.ceremonies{max-width:26rem}
.ceremonies .display{font-size:clamp(1.9rem,2.6vw,2.6rem);margin-bottom:1rem}
.evening-chapter,.sound-atmosphere{position:relative}
.sound-atmosphere{isolation:isolate}
.sound-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,5rem);align-items:center;padding-block:var(--venue-gap)}
.sound-copy{grid-column:1;grid-row:1}
.sound-scene{grid-column:2;grid-row:1}
.sound-copy .facts{max-width:27rem}
.led-dimensions{font-size:.875rem;color:var(--muted);margin-top:1.25rem!important}
.live-section{padding-top:calc(var(--venue-gap)*.25);padding-bottom:var(--venue-gap)}
.live-copy{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.25rem clamp(2rem,7vw,7rem);margin-bottom:var(--copy-gap)}
.live-copy .section-label{grid-column:1/-1;margin-bottom:0}
.live-copy .display{grid-column:1;grid-row:2/4;max-width:34rem}
.live-copy>p:not(.display){max-width:29rem}
.live-copy .fact{font-size:.875rem;grid-column:2}
.beyond-section{padding-top:0;padding-bottom:var(--venue-gap);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(3rem,8vw,8rem);align-items:center}
.beyond-copy .display{max-width:31rem}
.venue-ending{max-width:1410px;margin:auto;border-top:1px solid var(--rule);text-align:center;padding:clamp(3rem,5vw,5rem) var(--gutter) max(2.5rem,env(safe-area-inset-bottom))}
.venue-ending>.display{font-size:clamp(1.8rem,2.6vw,2.6rem);max-width:58rem;margin:1.5rem auto 1.25rem}
.venue-email{display:inline-flex;align-items:center;min-height:44px;font-size:1rem}
.venue-ending .progress-entry{color:inherit;text-decoration:none;border-radius:2px;padding-block:.25em;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.venue-ending .progress-entry:focus-visible{outline:2px solid currentColor;outline-offset:5px}
#taking-shape{scroll-margin-top:calc(var(--venue-header-height,100px) + 12px)}
.ending-home{display:flex;align-items:center;justify-content:center;width:52px;min-height:60px;margin:2rem auto 0}
.ending-home .brand-symbol{width:29px;display:block}
@media(hover:hover){.venue-email:hover{text-decoration:underline;text-underline-offset:5px}}

/* These two alpha ramps form ONE outer mask on the complete composition.
   Source images, character patches and phase blending stay registered and
   unfiltered. Transparency reveals the current paper, never a fixed white wash.
   Very narrow interior ramps preserve the ceiling ridge and edge-seat guests. */
.venue-page .journey-art{--edge-top:1%;--edge-bottom:3%;--edge-side:1%;position:relative;isolation:isolate;width:100%;overflow:hidden;
 mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.45) calc(var(--edge-top)*.5),#000 var(--edge-top),#000 calc(100% - var(--edge-bottom)),rgba(0,0,0,.3) calc(100% - var(--edge-bottom)*.4),transparent),linear-gradient(to right,transparent,#000 var(--edge-side),#000 calc(100% - var(--edge-side)),transparent);
 -webkit-mask-image:linear-gradient(to bottom,transparent,rgba(0,0,0,.45) calc(var(--edge-top)*.5),#000 var(--edge-top),#000 calc(100% - var(--edge-bottom)),rgba(0,0,0,.3) calc(100% - var(--edge-bottom)*.4),transparent),linear-gradient(to right,transparent,#000 var(--edge-side),#000 calc(100% - var(--edge-side)),transparent);
 mask-composite:intersect;-webkit-mask-composite:source-in}
.hero-scene .journey-art{--edge-top:4%;--edge-bottom:4%;--edge-side:0%}
/* Crop only excess upper sky on wide screens. Move the entire registered
   composition together: the building, pavilion and people are never recropped
   independently. The figure supplies a new paper fade at the cropped top. */
@media(min-width:1001px){
 .hero-scene{display:flow-root;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 3rem);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 3rem)}
 .hero-scene .journey-art{margin-top:-14vw;--edge-top:0%}
}
.garden-scene .journey-art{--edge-top:4%;--edge-bottom:10%;--edge-side:1.5%}
.hall-scene .journey-art,.sound-scene .journey-art,.live-scene .journey-art{--edge-top:.7%;--edge-bottom:2.5%;--edge-side:.7%}
.beyond-scene .journey-art{--edge-top:1%;--edge-bottom:3%;--edge-side:1%}
.venue-page .journey-art img{width:100%;height:100%;aspect-ratio:auto;object-fit:fill;object-position:center;mix-blend-mode:normal}
.journey-fallback{display:block}
.journey-stage{position:absolute;inset:0;pointer-events:none}
.journey-refreshed-surface{position:absolute;inset:0;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;pointer-events:none}
.venue-page .journey-layer{position:absolute;inset:0}
.venue-page .journey-art .journey-equipment{position:absolute;inset:0;pointer-events:none;mix-blend-mode:multiply}
.journey-art[data-ready="true"]>.journey-equipment-fallback{display:none}
.journey-group{position:absolute;mask-size:100% 100%;-webkit-mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-repeat:no-repeat;pointer-events:none}

@media(max-width:1000px) and (min-width:701px){.garden-editorial{grid-template-columns:1fr 1.5fr}.ceremonies{grid-column:2}.hall-copy{grid-template-columns:1fr 2fr}.hall-facts{justify-content:flex-start;gap:.75rem 1.5rem}.sound-section{gap:2rem}}
@media(max-width:900px){.venue-place{display:none}}
@media(max-width:700px){
 .venue-page{--venue-gap:3rem;--gutter:1.5rem;--copy-gap:1.25rem}
 .venue-masthead{padding-top:1rem;padding-bottom:.5rem;gap:.5rem 1rem}
 .home-mark .wordmark{width:112px}
 .venue-page .venue-appearance{gap:0}
 .venue-hero{padding-top:.5rem}
 .hero-heading{padding-top:0;padding-bottom:1rem}
 .hero-heading .hero-lead{font-size:clamp(2.05rem,9.1vw,2.65rem);max-width:22rem;margin-top:.75rem}
 .hero-intro{margin:.9rem 0 0;text-align:left}
 .hero-intro p{font-size:1rem;max-width:30rem}
 .hero-intro p+p{margin-top:.75rem}
 .hall-scene,.sound-scene,.live-scene,.beyond-scene{margin-inline:calc(-1*var(--gutter))!important}
 .scene figcaption{padding-inline:var(--gutter)}
 .hall-copy{display:block;margin-top:var(--copy-gap)}
 .hall-copy .section-label{margin-bottom:var(--copy-gap)}
 .hall-facts{display:block;margin-top:0}
 .hall-facts li+li{margin-top:.65rem}
 .hall-facts .capacity{font-size:1.125rem;margin-bottom:.25rem}
 .garden-editorial{display:block;padding-top:var(--copy-gap)}
 .garden-editorial .section-label{margin-bottom:var(--copy-gap)}
 .ceremonies{padding-top:2rem}
 .ceremonies .display{font-size:2.1rem}
 .sound-section,.live-section,.beyond-section{display:flex;flex-direction:column;align-items:stretch;gap:var(--copy-gap)}
 .sound-section{padding-top:var(--venue-gap);padding-bottom:var(--venue-gap)}
 .sound-scene,.live-scene{order:0}
 .sound-copy,.live-copy{order:1}
 .venue-page .display{font-size:2.1rem}
 .live-section{padding-top:0}
 .live-copy{display:block;margin-bottom:0}
 .live-copy .display{margin-bottom:1.25rem}
 .live-copy .fact{margin-top:1.5rem}
 .beyond-copy .display{max-width:24rem}
 .venue-ending{margin-inline:var(--gutter);padding:2.5rem 0 2rem}
 .venue-ending>.display{font-size:1.8rem;margin-block:1.5rem;line-height:1.35}
}
/* On small phones, scale the supplied wordmark proportionally and retain its
   clear space, regular label text and all 44px interaction targets. */
@media(max-width:375px){.venue-masthead{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));column-gap:1rem}.home-mark .wordmark{width:104px}}
@media(max-height:500px){.venue-header{position:static}}
@media(prefers-reduced-motion:reduce){.venue-page *, .venue-page *::before,.venue-page *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{html.venue-root{background:var(--paper)}.venue-page{print-color-adjust:exact;-webkit-print-color-adjust:exact}.venue-header{position:static}.venue-controls,.journey-stage{display:none}.venue-header,.section,.venue-ending{break-inside:avoid}}

/* 23 Sep 2026: phones and tablets get the same top crop as desktop, so the hero opens on the venue
   rather than the shophouse row. Crops .journey-art as one box, so the phase stack stays registered. */
@media(max-width:1000px){.hero-scene{display:flow-root;overflow:hidden;mask-image:linear-gradient(to bottom,transparent,#000 2.5rem);-webkit-mask-image:linear-gradient(to bottom,transparent,#000 2.5rem)}.hero-scene .journey-art{margin-top:-26vw;--edge-top:0%}}
