/* Spatial windows belong to the page sections, never to the rotating object. */
.motion-ready .journey{display:none}
.optical-window{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:10;display:none}
.motion-ready .optical-window{display:block}
.lens-object{position:absolute;left:0;top:0;width:702px;height:635px;transform-origin:0 0;will-change:transform}
.lens-object .journey-spin{animation-duration:95s}
.lens-object .journey-piece{background:rgb(217 188 145 / .12);backdrop-filter:brightness(1.3) saturate(.85);-webkit-backdrop-filter:brightness(1.3) saturate(.85);clip-path:none}
.lens-object .left{mask-image:url('./assets/split-o-left.png');-webkit-mask-image:url('./assets/split-o-left.png');transform:translateX(calc(var(--split,0px)*-1))}
.lens-object .right{mask-image:url('./assets/split-o-right.png');-webkit-mask-image:url('./assets/split-o-right.png');transform:translateX(var(--split,0px))}
.lens-object .journey-piece:after{display:none}
.lens-edge{position:absolute;inset:0;background:conic-gradient(from var(--light-angle,0deg),transparent 0deg,#f9dfb580 48deg,transparent 100deg,transparent 200deg,#e5c39160 245deg,transparent 300deg);mask-size:100% 100%;mask-repeat:no-repeat;-webkit-mask-size:100% 100%;opacity:.6}
.lens-edge.left{mask-image:url('./assets/split-o-left-edge.png');-webkit-mask-image:url('./assets/split-o-left-edge.png')}
.lens-edge.right{mask-image:url('./assets/split-o-right-edge.png');-webkit-mask-image:url('./assets/split-o-right-edge.png')}
@property --light-angle{syntax:'<angle>';initial-value:0deg;inherits:true}
.lens-object .journey-spin{animation:atmoz-orbit 95s linear infinite,edge-light 95s linear infinite}
@keyframes edge-light{to{--light-angle:-360deg}}
[data-material="statement"] .journey-piece{background:rgb(211 209 198 / .07);backdrop-filter:saturate(.2) contrast(1.23) brightness(1.14);-webkit-backdrop-filter:saturate(.2) contrast(1.23) brightness(1.14)}
[data-material="talent"] .journey-piece{background:#ddd1bb12;backdrop-filter:blur(.6px) brightness(1.2);-webkit-backdrop-filter:blur(.6px) brightness(1.2)}
[data-material="curation"] .journey-piece{background:#ba894326;backdrop-filter:sepia(.28) brightness(1.25);-webkit-backdrop-filter:sepia(.28) brightness(1.25)}
[data-material="programming"] .journey-piece{background:#ddd0b80c;backdrop-filter:contrast(1.3) brightness(.9);-webkit-backdrop-filter:contrast(1.3) brightness(.9)}
[data-material="artists"]{z-index:2}
[data-material="artists"] .journey-piece{background:#d4c1a936;backdrop-filter:brightness(1.15);-webkit-backdrop-filter:brightness(1.15)}
[data-material="story"] .journey-piece{background:#d4d0c615;backdrop-filter:saturate(.1) brightness(1.1);-webkit-backdrop-filter:saturate(.1) brightness(1.1)}
[data-material="contact"] .journey-piece,[data-material="footer"] .journey-piece{background:rgb(238 234 225 / var(--tint,.35));backdrop-filter:none;-webkit-backdrop-filter:none}
[data-material="story"] .lens-edge,[data-material="contact"] .lens-edge{opacity:.22}
.opening-photo img,.statement-photo img{filter:brightness(.63) saturate(.68);object-position:center;image-rendering:auto}
.opening-shade{background:linear-gradient(90deg,#08070588,transparent 60%,#08070533),linear-gradient(0deg,#0c0c0a,transparent 30%,#0c0c0a66)}
.statement-photo img{filter:brightness(.4) saturate(.65)}
body:after{content:'';position:fixed;inset:0;pointer-events:none;z-index:25;background:url('./assets/grain.png') repeat;opacity:.035}
.artists .section-heading,.artist-grid,.roster-top,.roster-bottom{z-index:4}
@media(max-width:700px){.lens-object .journey-spin{animation-duration:140s,140s}.lens-object .journey-piece{backdrop-filter:brightness(1.13);-webkit-backdrop-filter:brightness(1.13)}.lens-edge{opacity:.4}body:after{opacity:.025}}
@media(prefers-reduced-motion:reduce){.optical-window{display:none!important}}

/* Consolidated edit: quiet service information and real roster content. */
.services .section-heading{grid-template-columns:1fr 3fr;margin-bottom:42px}
.services .section-heading h2{font-size:clamp(26px,2.6vw,40px)}
.services-layout{display:grid;grid-template-columns:1fr 1.65fr;gap:8%;align-items:center}
.services-visual{margin:0;max-width:380px;position:relative;z-index:3}
.services-visual img{width:100%;aspect-ratio:1.35;object-fit:cover;filter:brightness(.8)}
.services-grid{display:block}
.services .service{padding:0!important;border-top:1px solid var(--line)}
.services .service-info{padding:20px 0}
.services .service-title h3{font-size:18px}
.services .service p{margin:8px 0 0;max-width:none;font-size:15px}
.services-note{margin-top:38px;padding-top:20px}
.artist-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}
.artist-grid[data-count="1"]{max-width:760px}
.artist-grid[data-count="1"] .artist-portrait{aspect-ratio:3/2}
.artist-portrait img{object-position:center 35%;filter:saturate(.5) brightness(.88)}
.artist-card:hover img{filter:saturate(.65) brightness(.96)}
.artist-caption h3{font-size:20px;letter-spacing:.12em}
.artist-caption p{font-size:14px;max-width:58ch;line-height:1.7;margin-top:9px}
.roster-bottom{justify-content:flex-end}
@media(max-width:700px){.services-layout{grid-template-columns:1fr;gap:28px}.services-visual{max-width:none}.services-visual img{aspect-ratio:2.2}.services .section-heading{grid-template-columns:1fr;gap:20px}.artist-grid{grid-template-columns:1fr}.artist-portrait{aspect-ratio:4/5}.artist-grid[data-count="1"] .artist-portrait{aspect-ratio:4/5}.artist-caption p{font-size:13px}.services .service-info{padding:18px 0}}
.artist-caption p{white-space:pre-line}
.artist-caption p:empty{display:none}
@media(min-width:1051px){.artist-grid[data-count="3"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* Clear reading order: services, venue choices, then imagery. */
.services .section-heading{display:block;margin-bottom:38px}
.services .section-heading h2{margin-top:24px}
.services-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;position:relative;z-index:4}
.services .service-info{padding:23px 0 0}
.services .service p{max-width:33ch}
.services [data-material]{z-index:2}
.services [data-material] .journey-piece{background:rgb(217 188 145 / .06)}
.venue-gallery{margin-top:64px;position:relative;z-index:4}
.venue-gallery h3{font-size:12px;font-weight:400}
.venue-categories{display:flex;flex-wrap:wrap;gap:10px 30px;margin:14px 0 26px}
.venue-categories button{padding:10px 0;min-height:44px;color:#a39a8c;border-bottom:1px solid transparent;letter-spacing:.04em;font-size:15px;transition:color .25s,border-color .25s}
.venue-categories button[aria-pressed="true"]{color:var(--ink);border-bottom-color:var(--accent)}
.venue-images{position:relative;aspect-ratio:2.8;background:#171510;overflow:hidden}
.venue-images img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(.77) saturate(.65);opacity:0;transition:opacity .55s ease;pointer-events:none}
.venue-images img.active{opacity:1}
.story-copy h2.section-label{font-size:12px;line-height:1.6;letter-spacing:.16em;margin:0 0 34px;color:var(--muted)}
.story-copy p{font-size:17px!important;max-width:48ch!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:900px){.services-grid{gap:24px}.venue-images{aspect-ratio:2}.artists .section-heading{grid-template-columns:1fr 2fr}.artists .section-intro{grid-column:2}}
@media(max-width:700px){.services-grid{grid-template-columns:1fr;gap:20px}.services .service-info{padding:18px 0 0}.services .service p{max-width:none}.venue-gallery{margin-top:44px}.venue-categories{gap:5px 22px}.venue-categories button{font-size:13px}.venue-images{aspect-ratio:1.4}.artists .section-heading{display:block}.artists .section-heading h2{margin-top:24px}.artists .section-intro{margin-top:22px;max-width:32ch}.story-copy p{font-size:16px!important}}
@media(prefers-reduced-motion:reduce){.venue-images img,.venue-categories button{transition:none}}

/* Natural document flow: no pinned statement or extra animation spacer. */
.statement,.motion-off .statement{height:auto;min-height:0}
.statement-panel{position:relative;top:auto;height:100svh;min-height:520px}
.footer-words{white-space:nowrap;letter-spacing:.08em;font-size:10px}
@media(max-width:700px){.statement-panel{min-height:500px}.opening-index{bottom:135px;max-width:180px;letter-spacing:.15em}}
.site-footer .footer-words{display:block}
@media(max-width:700px){.site-footer .footer-words{flex-basis:100%;margin:0;font-size:10px}}

.services .section-heading h2.section-label{margin:0;font-size:12px;line-height:1.6;letter-spacing:.16em;color:var(--muted)}

/* Artists heading follows the section label on the left. */
.artists .section-heading{display:grid;grid-template-columns:minmax(0,2fr) minmax(220px,1fr);gap:22px 60px}
.artists .section-heading>.section-label{grid-column:1/-1}
.artists .section-heading h2{grid-column:1;margin:0}
.artists .section-heading>.section-intro{grid-column:2;align-self:end}
@media(max-width:700px){.artists .section-heading{grid-template-columns:1fr;gap:22px}.artists .section-heading>.section-intro{grid-column:1;margin:0}.artists .section-heading h2{margin:0}}
/* Editorial roster: native swipe track, no autoplay or directory chrome. */
.roster-carousel{position:relative;z-index:4;min-width:0}
.roster-controls{display:flex;justify-content:flex-end;gap:14px;margin:0 0 24px}
.roster-controls button{font-size:25px;min-width:44px;min-height:44px;color:var(--muted);border-bottom:1px solid var(--line)}
.roster-controls button:hover{color:var(--ink)}
.roster-controls button[hidden]{display:none}
#artist-grid{display:flex;gap:30px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;max-width:none;overscroll-behavior-x:contain;position:relative;z-index:4}
#artist-grid::-webkit-scrollbar{display:none}
#artist-grid .artist-card{flex:0 0 calc((100% - 60px)/3);min-width:0;scroll-snap-align:start}
#artist-grid .artist-portrait{aspect-ratio:4/5}
#artist-grid .artist-caption{padding-bottom:12px}
@media(min-width:701px) and (max-width:1050px){#artist-grid .artist-card{flex-basis:calc((100% - 30px)/2)}}
@media(max-width:700px){#artist-grid{gap:22px}#artist-grid .artist-card{flex-basis:100%}.roster-controls{margin-bottom:18px}}
.venue-categories .autoplay-toggle,.roster-controls .autoplay-toggle{font-size:10px;letter-spacing:.05em;color:var(--muted);min-height:44px;width:auto;border:0;padding:8px 0}
.venue-categories .autoplay-toggle{margin-left:auto}
.autoplay-toggle[hidden]{display:none!important}
