:root{--bg:#1a1a1f;--bg-header:#222228;--panel:#26262c;--panel2:#303038;--line:#3c3c46;--line-strong:#565660;--text:#ffffff;--muted:#9b9ba6;--gold-ink:#1a1408;--neon:#c13ae8;--neon-dim:#7a2aa0;color-scheme:dark;font-family:Arial,Helvetica,sans-serif;font-size:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--bg);color:var(--text);line-height:1.6}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--neon);outline-offset:7px}::selection{background:var(--neon-dim);color:white}.wrap{width:min(1320px,88%);margin-inline:auto}.header{min-height:102px;padding:22px 6%;display:flex;align-items:center;justify-content:space-between;gap:24px;background:var(--bg-header);border-bottom:1px solid var(--line)}.brand{font-family:Georgia,serif;font-size:26px;line-height:.9;letter-spacing:-1px}.brand>span{display:block;margin-left:18px}.brand-dot{color:var(--neon)}nav{display:flex;gap:40px;font-size:14px}nav a{transition:color .2s}nav a:hover,.contact-links a:hover,.text-link:hover{color:#de8df5}nav a:last-child span{margin-left:16px;color:var(--neon)}.hero{padding-top:40px}.hero-top{display:flex;justify-content:space-between;gap:20px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:12px;font-weight:500;color:var(--muted)}.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(80px,12.8vw,184px);line-height:.98;font-weight:400;letter-spacing:-.06em;margin:70px 0 44px}.hero h1 em{font-weight:400;margin-left:21%;font-style:italic}.hero h1 em span{color:var(--neon)}.hero-bottom{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:64px}.hero-bottom>p{font-size:18px;line-height:1.7;color:#d3d3da}.actions{display:flex;gap:12px}.button{padding:16px 23px;display:flex;align-items:center;justify-content:space-between;gap:32px;font-size:14px;border:1px solid var(--line-strong);transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px);background:var(--panel2)}.button.primary{background:var(--neon);border-color:var(--neon);color:var(--gold-ink);font-weight:700}.button.primary:hover{background:#d76af3}.button span{font-size:21px}.hero-foot{border-top:1px solid var(--line);padding:22px 0;display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:.08em}.hero-foot a{font-size:23px;color:white}.section{padding-top:106px;padding-bottom:106px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:50px;margin-bottom:50px}.accent{color:#d779f2}.section-heading h2{font-family:Georgia,serif;font-size:clamp(34px,4vw,54px);line-height:1.15;font-weight:400;letter-spacing:-.035em;margin:18px 0 0;max-width:600px}.section-heading>p{max-width:345px;color:var(--muted);font-size:14px;margin:0}.formats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.format{background:var(--panel);border:1px solid var(--line);padding:28px;display:flex;flex-direction:column;transition:background .25s,border-color .25s,transform .25s}.format:hover{border-color:var(--neon-dim);background:var(--panel2);transform:translateY(-5px)}.format-top{display:flex;justify-content:space-between;align-items:center}.format-title{padding:60px 0 28px}.format-title h3{font-size:clamp(20px,2.35vw,34px);letter-spacing:-.05em;margin:0;font-weight:500}.format:nth-child(2) h3{font-family:Georgia,serif;font-style:italic;font-size:clamp(28px,3vw,42px);line-height:1.3}.format-title>p{font-size:14px;color:var(--muted);margin:4px 0 0}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.tags span{font-size:12px;border:1px solid var(--line-strong);border-radius:20px;padding:3px 9px;color:#c8c8d2}.format-desc{color:var(--muted);font-size:16px;line-height:1.7}.format-desc p{margin:0 0 16px}.format-link{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:14px}.about{background:var(--bg-header);border-block:1px solid var(--line)}.venue{display:grid;grid-template-columns:1fr 1fr;gap:100px;padding:52px 0;border-top:1px solid var(--line)}.venue:last-child{padding-bottom:0}.venue h3{font-family:Georgia,serif;font-size:clamp(38px,5vw,66px);font-weight:400;line-height:1.1;letter-spacing:-.04em;max-width:340px;margin:20px 0 30px}.venue:nth-of-type(2) h3{font-style:italic}.text-link{font-size:14px;color:var(--muted)}.venue-copy p{color:#b7b7c1;margin:0 0 20px}.venue-copy p:first-child{color:white;font-size:20px}.contacts{display:grid;grid-template-columns:1fr 1fr;gap:20px}.contact{padding:32px;background:var(--panel);border:1px solid var(--line)}.contact h3{font-family:Georgia,serif;font-size:30px;font-weight:400;margin:15px 0}.contact>p{color:var(--muted)}.contact-links{display:flex;gap:24px;flex-wrap:wrap;font-size:14px}.contact-links a{padding-block:6px}.contact-strip{display:grid;grid-template-columns:1fr 1.2fr 1fr;margin-top:50px;padding-top:35px;border-top:1px solid var(--line);gap:32px}.contact-strip>div+div{border-left:1px solid var(--line);padding-left:30px}.contact-value{display:block;font-family:Georgia,serif;font-size:25px;margin-top:16px}.contact-value.email{font-family:Arial,sans-serif;font-size:18px;overflow-wrap:anywhere}.contact-strip p{color:var(--muted);font-size:13px}.footer{padding-top:35px;padding-bottom:35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:30px;font-size:12px;color:var(--muted)}.footer-brand{font-size:16px;color:white}.footer-brand span{display:block;color:var(--muted);font-size:12px}.footer p{margin:3px 0}.skip{position:fixed;top:-100px;background:var(--panel);padding:15px;z-index:10}.skip:focus{top:10px}@media(min-width:1500px){.hero h1{font-size:190px}}@media(max-width:1000px){.hero-bottom{align-items:flex-start;flex-direction:column}.format{padding:20px}.venue{gap:45px}.contact-strip{grid-template-columns:1fr 1fr}.contact-strip>div:last-child{border-left:0;padding-left:0}.section-heading{gap:30px}.section-heading>p{max-width:290px}.footer{align-items:flex-start}}@media(max-width:700px){html{scroll-padding-top:25px}.header{align-items:flex-start;gap:20px;flex-direction:column;padding-block:23px}.brand{font-size:24px}nav{width:100%;justify-content:space-between;gap:15px;font-size:13px}nav a:last-child span{margin-left:3px}.hero{padding-top:26px}.hero-top{flex-direction:column;gap:9px}.eyebrow{font-size:12px;letter-spacing:.12em}.hero h1{font-size:clamp(58px,15vw,105px);margin:55px 0 35px}.hero h1 em{margin-left:9%}.hero-bottom{gap:20px;margin-bottom:40px}.hero-bottom>p{font-size:16px}.actions{width:100%;flex-wrap:wrap}.button{flex:1;white-space:nowrap;padding:14px;gap:14px;font-size:13px}.hero-foot{font-size:11px;letter-spacing:0}.hero-foot>span:last-child{display:none}.section{padding-block:65px}.section-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:30px}.section-heading>p{max-width:100%;font-size:16px}.formats{grid-template-columns:1fr}.format{padding:26px}.format-title{padding:35px 0 22px}.format-title h3{font-size:34px}.format:nth-child(2) h3{font-size:42px}.venue{grid-template-columns:1fr;gap:30px;padding-block:35px}.venue h3{max-width:none;font-size:43px}.contacts,.contact-strip{grid-template-columns:1fr}.contact{padding:25px}.contact-strip>div+div{padding:24px 0 0;border-left:0;border-top:1px solid var(--line)}.footer{flex-direction:column;gap:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Editorial nightlife imagery */
.hero{position:relative;isolation:isolate;padding-inline:3%;width:min(1400px,94%)}
.hero-visual{position:absolute;inset:0 0 69px;z-index:-1;overflow:hidden;background:var(--bg)}
.hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 57%;opacity:.68}
.hero-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(26,26,31,.48),rgba(26,26,31,.1) 40%,rgba(26,26,31,.82) 85%,var(--bg)),linear-gradient(90deg,rgba(26,26,31,.45),transparent 75%)}
.hero-top .eyebrow{color:#d0c5d7}.hero h1{text-shadow:0 4px 36px rgba(0,0,0,.2)}
.hero-bottom>p{color:#eee8f1}.hero .secondary{background:rgba(26,26,31,.65);border-color:#77717f}.hero .secondary:hover{background:var(--panel2)}
.format-visual{margin:0 0 24px;overflow:hidden;border:1px solid var(--line);background:var(--panel);height:clamp(220px,28vw,380px)}
.format-visual img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 55%}
@media(max-width:700px){.hero{width:100%;padding-inline:6%}.hero-visual{inset:0 0 64px}.hero-visual img{object-position:58% center;opacity:.6}.hero-visual::after{background:linear-gradient(180deg,rgba(26,26,31,.38),rgba(26,26,31,.15) 40%,var(--bg) 97%)}.format-visual{height:230px}.format-visual img{object-position:45% center}}

/* Refined editorial details */
.header{position:relative}.header::after{content:"";position:absolute;bottom:-1px;left:6%;width:65px;height:2px;background:var(--neon)}
.header-caption{margin-right:auto;margin-left:42px;font-size:12px;letter-spacing:.09em}.header-caption>span{color:var(--muted);font-size:11px}nav{align-items:center}nav small{color:var(--muted);font-size:10px;margin-right:8px}nav a{position:relative}nav a:not(:last-child)::after{content:"";position:absolute;bottom:-9px;left:0;width:0;height:1px;background:var(--neon);transition:width .25s}nav a:hover::after{width:100%}nav a:last-child{padding:11px 16px;border:1px solid var(--line-strong)}
.hero-editorial{position:relative}.hero-side-note{position:absolute;right:0;top:12px;writing-mode:vertical-rl;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:#c7bdcd}.hero-edition{position:absolute;left:0;bottom:18px;font-family:Georgia,serif;font-style:italic;font-size:20px;color:#dfd4e4}.hero-edition>span{font-family:Arial,sans-serif;font-size:10px;font-style:normal;letter-spacing:.1em;color:#bdb0c6}.hero-foot-mark{display:flex;align-items:center;gap:22px}.hero-foot-mark>span{font-size:26px;color:#cf74eb}.hero-foot a{border:1px solid var(--line-strong);border-radius:50%;width:40px;height:40px;text-align:center;transition:border-color .2s}.hero-foot a:hover{border-color:var(--neon)}.hero-visual{bottom:85px}.hero h1{margin-bottom:55px}.section-heading .accent{display:inline-flex;align-items:center;gap:12px}.section-heading .accent::before{content:"";width:28px;height:1px;background:var(--neon)}
.format-visual{position:relative;height:340px;margin-bottom:32px}.format-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,15,20,.85),rgba(15,15,20,.1) 90%)}.format-visual img{object-position:center 60%}.format-visual figcaption{position:absolute;z-index:1;inset:36px;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;gap:20px}.format-visual figcaption>.eyebrow{color:#d4bddd}.format-visual figcaption>span:last-child{font-family:Georgia,serif;font-size:clamp(27px,3vw,42px);line-height:1.25;letter-spacing:-.02em}.format-visual figcaption em{color:#e3bbee}
.format{padding:0;overflow:hidden;position:relative}.format-cover{height:190px;position:relative;overflow:hidden;background:var(--panel2)}.format-cover::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,15,.15),rgba(26,26,31,.2) 30%,var(--panel))}.format-cover img{display:block;width:100%;height:100%;object-fit:cover;object-position:20% 70%;opacity:.7;transition:transform .6s,opacity .6s}.format--el-moro .format-cover img{object-position:45% 40%}.format--shakerando .format-cover img{object-position:85% 85%;transform:scale(1.3)}.format:hover .format-cover img{transform:scale(1.06);opacity:.95}.format--shakerando:hover .format-cover img{transform:scale(1.36)}.format-cover-index{position:absolute;z-index:1;top:15px;left:26px;font-family:Georgia,serif;font-size:56px;font-style:italic;color:rgba(255,255,255,.65);line-height:1.1}.format-cover-label{position:absolute;z-index:1;bottom:18px;left:26px;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:#d1bdd9}.format-body{padding:12px 26px 26px;display:flex;flex:1;flex-direction:column}.format-top .eyebrow{font-size:10px}.age-badge{font-size:12px;padding:3px 10px;border:1px solid var(--line-strong);border-radius:20px;color:#ddd4e2}.format-title{padding:22px 0}.format-title h3{letter-spacing:-.035em}.format--shakerando h3{font-weight:700;font-size:clamp(20px,2.1vw,30px)}.format--el-moro h3{color:#eed8f4}.format-desc{font-size:15px}.format-link{align-items:center;gap:12px;font-size:13px}.link-circle{display:grid;place-items:center;border:1px solid var(--line-strong);border-radius:50%;width:32px;height:32px;flex-shrink:0;font-size:18px;transition:background .2s,border-color .2s}.format:hover .link-circle{background:var(--neon-dim);border-color:var(--neon)}
.about{background:linear-gradient(120deg,var(--bg-header),var(--bg) 85%)}.venue{grid-template-columns:1fr 1.1fr;gap:75px}.venue-heading{border-left:1px solid var(--neon-dim);padding-left:30px;align-self:start}.venue-index{display:flex;justify-content:space-between;align-items:center;gap:20px}.venue-index>span:last-child{font-family:Georgia,serif;font-size:52px;font-style:italic;line-height:1;color:#5d5068}.venue h3{margin-top:28px;margin-bottom:18px}.venue-signature{color:#c4a2d0;font-size:13px}.venue-address{margin-top:46px;padding-top:22px;border-top:1px solid var(--line)}.venue-address .eyebrow{display:block;font-size:10px;margin-bottom:9px}.venue-address a{display:flex;justify-content:space-between;gap:14px}.venue-copy p{font-size:16px}.venue-copy p:first-child{font-family:Georgia,serif;font-size:25px;line-height:1.45}.venue-copy .venue-highlight{padding:18px 0 18px 22px;border-left:2px solid var(--neon-dim);color:#e7d8ee;font-style:italic}.contact{position:relative;background:linear-gradient(135deg,var(--panel),var(--bg-header));transition:border-color .25s}.contact:hover{border-color:var(--line-strong)}.contact-heading{display:flex;justify-content:space-between;align-items:center}.contact-number{font-family:Georgia,serif;font-style:italic;font-size:30px;color:#706079}.contact-links{gap:18px}.contact> .contact-links{margin-top:27px;padding-top:17px;border-top:1px solid var(--line)}.contact h3{font-size:34px}.contact-strip .eyebrow{font-size:10px}.contact-strip .contact-value:hover{color:#e2b3f0}.footer-wordmark{padding-block:35px 55px;font-family:Georgia,serif;font-size:clamp(40px,8.5vw,122px);line-height:1.1;letter-spacing:-.055em;color:#635a6a;border-top:1px solid var(--line)}.footer-wordmark em{color:#a793b1}.footer{border-top:0;padding-top:0}
@media(max-width:1100px){.header-caption{display:none}.hero-edition{bottom:8px;font-size:16px}.hero-edition>span{font-size:9px}.format-body{padding:12px 20px 22px}.format-title h3{font-size:27px}.format--shakerando h3{font-size:23px}.venue{gap:40px}}
@media(max-width:700px){.header nav{align-items:center;gap:10px}.header nav small{display:none}.header nav a:last-child{padding:8px 10px}.hero-side-note,.hero-edition{display:none}.hero h1{margin-bottom:35px}.hero-foot-mark{display:none!important}.hero-visual{bottom:84px}.format-visual{height:280px}.format-visual figcaption{inset:24px}.format-visual figcaption>span:last-child{font-size:29px}.format-visual img{object-position:45% center}.format-cover{height:200px}.format-body{padding:12px 25px 25px}.format-title h3,.format--shakerando h3{font-size:34px}.format-desc{font-size:16px}.venue{grid-template-columns:1fr;gap:28px}.venue-heading{padding-left:22px}.venue h3{font-size:45px}.venue-address{margin-top:28px}.venue-copy p:first-child{font-size:23px}.contact h3{font-size:29px}.footer-wordmark{font-size:clamp(32px,8.4vw,58px);padding-block:25px 35px}.section-heading h2{font-size:38px}}
@media(prefers-reduced-motion:reduce){.format:hover .format-cover img{transform:none}.format--shakerando .format-cover img{transform:none}}

/* Cinematic image sequence and moving editorial gallery. */
.motion-control{position:sticky;top:12px;height:0;z-index:5;display:flex;justify-content:flex-end;padding-right:14px;pointer-events:none}.motion-control label{pointer-events:auto;display:flex;align-items:center;gap:9px;background:rgba(26,26,31,.94);border:1px solid var(--line-strong);padding:9px 13px;border-radius:24px;font-size:12px;box-shadow:0 3px 15px #0003;transform:translateY(12px);cursor:pointer}.motion-control input{accent-color:var(--neon);width:16px;height:16px;margin:0}.motion-control input:focus-visible{outline:2px solid var(--neon);outline-offset:4px}
.hero-slideshow img{position:absolute;inset:0;opacity:0;animation:hero-sequence 24s linear infinite;will-change:opacity,transform}.hero-slideshow img:nth-child(1){animation-delay:-2s}.hero-slideshow img:nth-child(2){animation-delay:6s}.hero-slideshow img:nth-child(3){animation-delay:14s;object-position:35% center}.hero-slideshow::after{z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(26,26,31,.48),rgba(26,26,31,.2) 40%,rgba(26,26,31,.86) 85%,var(--bg)),linear-gradient(90deg,rgba(26,26,31,.4),transparent 75%)}
@keyframes hero-sequence{0%{opacity:0;transform:scale(1)}8.33%{opacity:.7}33.33%{opacity:.7}41.67%{opacity:0;transform:scale(1.07)}100%{opacity:0;transform:scale(1.07)}}
.atmosphere{padding:0 0 75px;overflow:hidden}.atmosphere-label{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:24px}.atmosphere-label>span:last-child{font-family:Georgia,serif;font-style:italic;color:var(--muted)}.atmosphere-window{overflow:hidden}.atmosphere-track{display:flex;width:max-content;animation:gallery-travel 130s linear infinite}.atmosphere-group{display:flex;gap:20px;padding-right:20px}.atmosphere-group figure{width:clamp(260px,32vw,480px);margin:0;position:relative;height:340px;overflow:hidden;background:var(--panel)}.atmosphere-group figure:nth-child(even){width:clamp(250px,25vw,380px)}.atmosphere-group img{width:100%;height:100%;display:block;object-fit:cover}.atmosphere-group figcaption{position:absolute;inset:auto 0 0;display:flex;gap:20px;align-items:center;padding:50px 22px 22px;background:linear-gradient(transparent,rgba(15,15,20,.88));font-size:13px}.atmosphere-group figcaption>span{color:#d7a7ea;font-family:Georgia,serif;font-size:22px;font-style:italic}.atmosphere-note{font-size:12px;color:var(--muted);margin-top:16px}.atmosphere-window:hover .atmosphere-track{animation-play-state:paused}@keyframes gallery-travel{to{transform:translateX(-50%)}}
body:has(#pause-motion:checked) .hero-slideshow img,body:has(#pause-motion:checked) .atmosphere-track{animation-play-state:paused}
@media(max-width:700px){.motion-control{top:7px;padding-right:8px}.motion-control label{font-size:11px;padding:7px 10px;transform:translateY(8px)}.hero-top{padding-top:40px}.atmosphere{padding-bottom:50px}.atmosphere-label{align-items:flex-start;flex-direction:column;gap:8px}.atmosphere-group figure,.atmosphere-group figure:nth-child(even){height:280px;width:270px}.atmosphere-group{gap:14px;padding-right:14px}.atmosphere-track{animation-duration:150s}.atmosphere-group figcaption{padding:45px 18px 18px;font-size:12px;gap:12px}}
@media(prefers-reduced-motion:reduce){.hero-slideshow img{animation:none;transform:none;opacity:0;will-change:auto}.hero-slideshow img:first-child{opacity:.65}.atmosphere-track{animation:none;transform:none}.atmosphere-group[aria-hidden="true"]{display:none}.atmosphere-window{overflow-x:auto}.motion-control{display:none}}

/* Scroll-driven enhancement; older browsers retain the existing animation. */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .hero { view-timeline-name: --hero-scroll; view-timeline-axis: block; }
    .hero-slideshow { animation: hero-parallax linear both; animation-timeline: --hero-scroll; animation-range: exit 0% exit 100%; }
    @keyframes hero-parallax { from { transform: translateY(0); } to { transform: translateY(110px); } }
    .hero { overflow: clip; }
    .hero-editorial h1 { animation: title-drift linear both; animation-timeline: --hero-scroll; animation-range: exit 0% exit 85%; }
    @keyframes title-drift { from { transform: translateY(0); } to { transform: translateY(-35px); } }

    .format-visual { view-timeline-name: --banner-scroll; view-timeline-axis: block; }
    .format-visual img { height: 130%; position: absolute; top: -15%; animation: banner-parallax linear both; animation-timeline: --banner-scroll; animation-range: entry 0% exit 100%; }
    @keyframes banner-parallax { from { transform: translateY(-6%) scale(1.04); } to { transform: translateY(6%) scale(1.12); } }
    .format-cover { view-timeline-name: --cover-scroll; view-timeline-axis: block; }
    .format-cover img { height: 125%; position: absolute; top: -12.5%; animation: cover-parallax linear both; animation-timeline: --cover-scroll; animation-range: entry 0% exit 100%; transition: opacity .6s; }
    @keyframes cover-parallax { from { transform: translateY(-5%) scale(1.04); } to { transform: translateY(5%) scale(1.12); } }
    .section-heading, .venue-heading, .contact { animation: scroll-arrive linear both; animation-timeline: view(); animation-range: entry 0% entry 70%; }
    @keyframes scroll-arrive { from { opacity: .65; translate: 0 24px; } to { opacity: 1; translate: 0 0; } }

    .atmosphere { height: 330vh; height: 330svh; padding: 0; overflow: visible; view-timeline-name: --gallery-scroll; view-timeline-axis: block; }
    .atmosphere-sticky { position: sticky; top: max(75px, 14vh); top: max(75px, 14svh); overflow: clip; padding-block: 22px; }
    .atmosphere-group[aria-hidden="true"] { display: none; }
    .atmosphere-group { padding-inline: 6vw; }
    .atmosphere-track { animation: gallery-scroll linear both; animation-timeline: --gallery-scroll; animation-range: contain 0% contain 100%; }
    .atmosphere-window:hover .atmosphere-track { animation-play-state: running; }
    @keyframes gallery-scroll { from { transform: translateX(0); } to { transform: translateX(min(0px, calc(100vw - 100%))); } }
    .atmosphere-group figure { height: clamp(250px, 45vh, 430px); height: clamp(250px, 45svh, 430px); }
    .atmosphere-group img { animation: gallery-image-drift linear both; animation-timeline: --gallery-scroll; animation-range: contain 0% contain 100%; }
    @keyframes gallery-image-drift { from { transform: scale(1.14); } to { transform: scale(1); } }

    body:has(#pause-motion:checked) .hero-slideshow,
    body:has(#pause-motion:checked) .hero-editorial h1,
    body:has(#pause-motion:checked) .format-visual img,
    body:has(#pause-motion:checked) .format-cover img,
    body:has(#pause-motion:checked) .section-heading,
    body:has(#pause-motion:checked) .venue-heading,
    body:has(#pause-motion:checked) .contact,
    body:has(#pause-motion:checked) .atmosphere-track,
    body:has(#pause-motion:checked) .atmosphere-group img { animation: none; }
    body:has(#pause-motion:checked) .atmosphere-window { overflow-x: auto; }
    @media (max-width:700px) {
      .atmosphere { height: 300vh; height: 300svh; }
      .atmosphere-sticky { top: 75px; }
      @keyframes hero-parallax { from { transform: translateY(0); } to { transform: translateY(45px); } }
      @keyframes title-drift { from { transform: translateY(0); } to { transform: translateY(-15px); } }
    }
    @media (max-height:600px) {
      .atmosphere { height: auto; padding-bottom: 45px; }
      .atmosphere-sticky { position: static; }
      .atmosphere-track, .atmosphere-group img { animation: none; }
      .atmosphere-window { overflow-x: auto; }
    }
  }
}

/* Additional scroll compositions: cinema reveal, stacking cards, layered photos. */
.cinema-scroll{margin-bottom:32px}.cinema-scroll .format-visual{margin-bottom:0}
.venue-mosaic{position:relative;min-height:290px;margin-top:30px;margin-bottom:24px;isolation:isolate}
.venue-mosaic figure{margin:0;overflow:hidden;border:1px solid var(--line-strong);background:var(--panel);box-shadow:0 16px 35px #0004}
.venue-mosaic img{display:block;width:100%;height:100%;object-fit:cover}
.mosaic-main{width:83%;height:240px;transform:rotate(-3deg)}
.mosaic-detail{position:absolute;right:0;bottom:0;width:48%;height:160px;transform:rotate(5deg)}
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion:no-preference) {
    .cinema-scroll{height:145svh;view-timeline-name:--cinema-scroll;view-timeline-axis:block;position:relative}
    .cinema-scroll .format-visual{position:sticky;top:10svh;height:72svh;border:0;animation:cinema-open linear both;animation-timeline:--cinema-scroll;animation-range:entry 20% contain 80%}
    .cinema-scroll .format-visual img{animation:cinema-zoom linear both;animation-timeline:--cinema-scroll;animation-range:entry 20% contain 100%}
    .cinema-scroll figcaption{animation:cinema-copy linear both;animation-timeline:--cinema-scroll;animation-range:entry 65% contain 60%}
    @keyframes cinema-open{from{clip-path:inset(12% 24% round 180px)}to{clip-path:inset(0% 0% round 0px)}}
    @keyframes cinema-zoom{from{transform:scale(1.28)}to{transform:scale(1)}}
    @keyframes cinema-copy{from{opacity:.1;translate:0 25px}to{opacity:1;translate:0 0}}
    .venue{view-timeline-name:--venue-scene;view-timeline-axis:block}
    .mosaic-main{animation:mosaic-main-travel linear both;animation-timeline:--venue-scene;animation-range:entry 0% exit 80%}
    .mosaic-detail{animation:mosaic-detail-travel linear both;animation-timeline:--venue-scene;animation-range:entry 0% exit 80%}
    @keyframes mosaic-main-travel{from{transform:translateY(22px) rotate(-5deg)}to{transform:translateY(-18px) rotate(2deg)}}
    @keyframes mosaic-detail-travel{from{transform:translateY(40px) rotate(8deg)}to{transform:translateY(-36px) rotate(-4deg)}}
    @media(min-width:950px) and (min-height:800px){
      .formats{display:block;padding-bottom:55px;isolation:isolate}
      .formats .format{position:sticky;top:85px;display:grid;grid-template-columns:.9fr 1.1fr;min-height:530px;background:var(--panel);margin-bottom:55px;box-shadow:0 -12px 45px #0006;transform:none;overflow:hidden}
      .formats .format:nth-child(2){top:110px}.formats .format:nth-child(3){top:135px;margin-bottom:0}
      .formats .format-cover{height:auto;min-height:530px}
      .formats .format-cover img{object-position:center;height:125%;opacity:.85}
      .formats .format-cover::after{background:linear-gradient(180deg,#1a1a1f22,#1a1a1f88)}
      .formats .format-cover-index{font-size:90px;top:30px;left:30px}
      .formats .format-cover-label{left:30px;bottom:32px}
      .formats .format-body{padding:32px 40px}
      .formats .format-title h3{font-size:clamp(32px,4vw,56px)}
      .formats .format-title{padding:24px 0}
      .formats .format-desc{font-size:16px}
    }
    body:has(#pause-motion:checked) .cinema-scroll .format-visual,
    body:has(#pause-motion:checked) .cinema-scroll .format-visual img,
    body:has(#pause-motion:checked) .cinema-scroll figcaption,
    body:has(#pause-motion:checked) .mosaic-main,
    body:has(#pause-motion:checked) .mosaic-detail{animation:none}
    body:has(#pause-motion:checked) .formats .format{position:relative;top:auto}
    @media(max-width:700px){
      .cinema-scroll{height:115svh}.cinema-scroll .format-visual{top:95px;height:62svh}
      @keyframes cinema-open{from{clip-path:inset(8% 10% round 100px)}to{clip-path:inset(0% 0% round 0px)}}
      @keyframes mosaic-main-travel{from{transform:translateY(12px) rotate(-3deg)}to{transform:translateY(-10px) rotate(1deg)}}
      @keyframes mosaic-detail-travel{from{transform:translateY(18px) rotate(5deg)}to{transform:translateY(-16px) rotate(-3deg)}}
    }
    @media(max-height:650px){
      .cinema-scroll{height:auto}.cinema-scroll .format-visual{position:relative;top:auto;height:340px;animation:none}
      .cinema-scroll .format-visual img,.cinema-scroll figcaption{animation:none}
    }
  }
}
@media(prefers-reduced-motion:reduce){.mosaic-main,.mosaic-detail{transform:none}}

/* Mobile navigation: direct section access and native swipe gallery. */
.mobile-gallery-link,.gallery-swipe-hint{display:none}
.atmosphere-window:focus-visible{outline:2px solid var(--neon);outline-offset:-3px}
@media(max-width:700px){
  html{scroll-padding-top:132px}
  body{overflow-wrap:break-word}
  .header{position:sticky;top:0;z-index:10;min-height:0;padding:14px 5% 8px;gap:12px;background:rgba(34,34,40,.98);box-shadow:0 6px 18px #0003}
  .header .brand{font-size:22px;min-height:40px;display:block;padding-right:155px}
  .header .brand>span{margin-left:14px}
  .header nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;width:100%;align-items:stretch}
  .header nav a,.header nav a:last-child{display:flex;align-items:center;justify-content:center;text-align:center;min-height:44px;padding:8px 3px;font-size:12px;line-height:1.3;border:1px solid transparent;border-radius:5px}
  .header nav a:last-child{border-color:var(--line-strong)}
  .header nav a:last-child>span{display:none}
  .header nav a:hover,.header nav a:focus-visible{background:var(--panel2);color:white}
  .header nav a::after{display:none}
  .header .mobile-gallery-link{display:flex}
  .motion-control{position:fixed;top:12px;right:5%;width:auto;padding:0;z-index:11}
  .motion-control label{transform:none;min-height:44px;padding:8px 11px;font-size:11px;border-radius:7px;box-shadow:none}
  .motion-control input{width:18px;height:18px}
  .skip{z-index:20}
  .hero-top{padding-top:0}
  .hero h1{font-size:clamp(52px,14vw,98px)}
  .hero-bottom{margin-bottom:28px}
  .actions{display:grid;grid-template-columns:1fr;width:100%;gap:10px}
  .actions .button{min-height:50px;font-size:15px;padding:12px 18px}
  .section{padding-block:48px}
  .section-heading h2{font-size:clamp(30px,8vw,38px)}
  .section-heading>p{line-height:1.65}
  .cinema-scroll{height:auto!important;margin-bottom:24px}
  .cinema-scroll .format-visual{position:relative!important;top:auto!important;height:300px;animation:none!important;clip-path:none}
  .cinema-scroll .format-visual img,.cinema-scroll figcaption{animation:none!important}
  .cinema-scroll .format-visual figcaption{inset:22px}
  .format-visual figcaption>span:last-child{font-size:27px}
  .formats .format{position:relative;top:auto;margin-bottom:0;min-width:0}
  .formats .format-title h3{font-size:clamp(26px,8vw,34px)}
  .format-link{min-height:52px;font-size:14px}
  .atmosphere{height:auto!important;overflow:hidden;padding:8px 0 42px}
  .atmosphere-sticky{position:static;top:auto;padding-block:0;overflow:visible}
  .atmosphere-label{margin-bottom:10px}
  .gallery-swipe-hint{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px;color:var(--muted);margin-top:0;margin-bottom:18px}
  .gallery-swipe-hint span{font-size:23px;color:#d779f2}
  .atmosphere-window{overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;scroll-padding-inline:6vw;scrollbar-width:thin;scrollbar-color:var(--neon-dim) var(--panel);padding-bottom:12px}
  .atmosphere-track{animation:none!important;transform:none}
  .atmosphere-group{gap:14px;padding-inline:6vw}
  .atmosphere-group[aria-hidden="true"]{display:none}
  .atmosphere-group figure,.atmosphere-group figure:nth-child(even){width:80vw;max-width:420px;height:300px;scroll-snap-align:start}
  .atmosphere-group img{animation:none!important;transform:none}
  .atmosphere-group figcaption{font-size:14px;line-height:1.4}
  .atmosphere-note{line-height:1.6}
  .venue{gap:25px;padding-block:30px}
  .venue-heading{padding-left:16px;min-width:0}
  .venue h3{font-size:clamp(32px,10vw,45px)}
  .venue-address a{min-height:48px;align-items:center;line-height:1.5}
  .venue-copy{min-width:0}
  .contact{padding:22px}
  .contact-links{gap:8px 12px}
  .contact-links a{display:inline-flex;align-items:center;min-height:44px;padding:8px 10px;border:1px solid var(--line);border-radius:5px}
  .contact-value{min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere}
  .contact-value.email{font-size:16px}
  .footer>a{min-height:44px;display:flex;justify-content:center;flex-direction:column}
  .footer{padding-bottom:max(24px,env(safe-area-inset-bottom))}
}

/* Mobile: retain touch navigation while restoring scroll-led scenes. */
.gallery-scroll-hint{display:none}
@supports (animation-timeline: view()) {
  @media (max-width:700px) and (min-height:651px) and (prefers-reduced-motion:no-preference) {
    .cinema-scroll{height:125svh!important;view-timeline-name:--cinema-scroll}
    .cinema-scroll .format-visual{position:sticky!important;top:132px!important;height:60svh;animation:cinema-open linear both!important;animation-timeline:--cinema-scroll!important;animation-range:entry 20% contain 80%!important}
    .cinema-scroll .format-visual img{animation:cinema-zoom linear both!important;animation-timeline:--cinema-scroll!important;animation-range:entry 20% contain 100%!important}
    .cinema-scroll figcaption{animation:cinema-copy linear both!important;animation-timeline:--cinema-scroll!important;animation-range:entry 65% contain 60%!important}
    .atmosphere{height:430svh!important;overflow:visible;padding:8px 0 42px}
    .atmosphere-sticky{position:sticky;top:128px;padding-block:12px;overflow:clip}
    .atmosphere-window{overflow:hidden;scroll-snap-type:none;padding-bottom:0}
    .atmosphere-track{animation:gallery-scroll linear both!important;animation-timeline:--gallery-scroll!important;animation-range:contain 0% contain 100%!important;}
    .atmosphere-group figure,.atmosphere-group figure:nth-child(even){height:clamp(240px,42svh,350px);width:80vw;scroll-snap-align:none}
    .atmosphere-group img{animation:gallery-image-drift linear both!important;animation-timeline:--gallery-scroll!important;animation-range:contain 0% contain 100%!important;}
    .gallery-swipe-hint{display:none}.gallery-scroll-hint{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:14px;margin-top:0;margin-bottom:16px}
    body:has(#pause-motion:checked) .cinema-scroll .format-visual,
    body:has(#pause-motion:checked) .cinema-scroll .format-visual img,
    body:has(#pause-motion:checked) .cinema-scroll figcaption,
    body:has(#pause-motion:checked) .atmosphere-track,
    body:has(#pause-motion:checked) .atmosphere-group img{animation:none!important;transform:none}
    body:has(#pause-motion:checked) .atmosphere-window{overflow-x:auto;scroll-snap-type:x proximity}
    body:has(#pause-motion:checked) .gallery-scroll-hint{display:none}
    body:has(#pause-motion:checked) .gallery-swipe-hint{display:flex}
  }
}

/* Mobile format stack: persistent title tabs with readable card bodies. */
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .formats{display:block;isolation:isolate;padding-bottom:24px}
  .formats .format{position:sticky;top:120px;display:flex;flex-direction:column;margin-bottom:28px;background:var(--panel);box-shadow:0 -8px 24px #0005;overflow:hidden;transform:none}
  .formats .format:nth-child(2){top:170px}
  .formats .format:nth-child(3){top:220px;margin-bottom:0}
  .formats .format-cover{height:150px;flex-shrink:0;margin-top:50px}
  .formats .format-cover-index{font-size:42px;top:15px;left:20px}
  .formats .format-cover-label{bottom:14px;left:20px}
  .formats .format-body{padding:14px 20px 20px}
  .formats .format-title{padding:0 0 14px}
  .formats .format-title h3{position:absolute;top:0;left:0;right:0;height:50px;display:flex;align-items:center;margin:0;padding:0 20px;background:var(--panel2);border-bottom:1px solid var(--line-strong);font-size:24px;line-height:1;letter-spacing:-.025em}
  .formats .format-title p{margin-top:12px;font-size:14px}
  .formats .format-top{margin-bottom:0}
  .formats .format-desc{font-size:15px;line-height:1.55}
  .formats .format-desc p{margin-bottom:12px}
  .formats .tags{margin-bottom:14px}
  .formats .format-link{padding-top:12px;min-height:48px}
  body:has(#pause-motion:checked) .formats .format{position:relative;top:auto}
}
/* When vertical space is limited, keep all text reachable inside each card. */
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .formats .format{max-height:calc(100svh - 132px)}
  .formats .format:nth-child(2){max-height:calc(100svh - 182px)}
  .formats .format:nth-child(3){max-height:calc(100svh - 232px)}
  .formats .format-body{overflow-y:auto;overscroll-behavior-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--neon-dim) var(--panel)}
  body:has(#pause-motion:checked) .formats .format{max-height:none}
}
@media(max-width:700px) and (max-height:700px) and (prefers-reduced-motion:no-preference){
  .formats .format-cover{height:85px}
  .formats .format-cover-index{font-size:28px;top:8px}
  .formats .format-cover-label{font-size:9px;bottom:8px}
}
.format-body:focus-visible{outline:2px solid var(--neon);outline-offset:-3px}
@media(max-width:700px) and (max-height:500px){
  .formats .format,.formats .format:nth-child(2),.formats .format:nth-child(3){position:relative;top:auto;max-height:none}
}

/* Mobile editorial alignment: one consistent text edge and calmer spacing. */
@media(max-width:700px){
  .hero{padding-inline:6%;padding-top:24px}
  .hero-top{gap:8px;max-width:100%;padding-right:0}
  .hero-top .eyebrow{font-size:11px;letter-spacing:.1em;line-height:1.6}
  .hero-top .eyebrow:first-child{color:#e7ddeb}
  .hero-top .eyebrow:last-child{color:#bcaac7;font-size:10px;letter-spacing:.12em}
  .hero h1{margin:42px 0 26px;font-size:clamp(54px,15vw,100px);line-height:1.02;letter-spacing:-.055em}
  .hero h1 em{margin-left:0}
  .hero-bottom{gap:22px;align-items:stretch}
  .hero-bottom>p{margin:0;max-width:31ch;font-size:16px;line-height:1.65;color:#e5dce9}
  .hero-bottom>p br{display:none}
  .hero-foot{gap:16px;padding-block:18px}
  .hero-foot>span:first-child{max-width:25ch;font-size:12px;line-height:1.5;color:#bdb0c6}
  .hero-foot>a{flex-shrink:0}
  .section-heading{gap:16px;margin-bottom:28px;align-items:flex-start}
  .section-heading>div{width:100%}
  .section-heading .eyebrow{font-size:11px;letter-spacing:.13em}
  .section-heading h2{font-size:clamp(32px,8.7vw,42px);line-height:1.12;letter-spacing:-.035em;margin-top:14px;max-width:15ch;text-wrap:balance}
  .section-heading>p{font-size:15px;line-height:1.7;max-width:36ch;margin:0;color:#b0a6b8}
  .cinema-scroll .format-visual figcaption{inset:24px 22px;justify-content:flex-end;gap:16px}
  .format-visual figcaption>.eyebrow{font-size:10px;line-height:1.5;letter-spacing:.1em}
  .format-visual figcaption>span:last-child{font-size:clamp(24px,6.8vw,32px);line-height:1.22;max-width:20ch;text-wrap:balance}
  .format-visual figcaption br{display:none}
  .format-visual::after{background:linear-gradient(180deg,rgba(15,15,20,.08) 10%,rgba(15,15,20,.36) 45%,rgba(15,15,20,.93))}
  .formats .format-body{padding-inline:20px}
  .formats .format-top{align-items:center;gap:14px}
  .formats .format-top .eyebrow{letter-spacing:.1em;font-size:10px;line-height:1.5}
  .formats .format-title p{line-height:1.5;font-size:14px;color:#d3bedc}
  .formats .format-cover-label{display:none}
  .formats .format-desc{font-size:15px;line-height:1.65;color:#bdb4c4}
  .formats .format-desc p{margin-bottom:16px}
  .formats .tags{gap:6px;margin-bottom:16px}
  .formats .format-link{font-size:13px;line-height:1.5;gap:16px}
  .atmosphere-label{gap:5px;margin-bottom:14px}
  .atmosphere-label>.eyebrow{font-size:11px;letter-spacing:.1em;line-height:1.55}
  .atmosphere-label>span:last-child{font-size:18px;line-height:1.3}
  .gallery-scroll-hint,.gallery-swipe-hint{font-size:12px;line-height:1.5;margin-bottom:16px;gap:12px}
  .atmosphere-group figcaption{display:grid;grid-template-columns:30px minmax(0,1fr);align-items:end;gap:12px;padding:55px 20px 20px;font-size:15px;line-height:1.4;text-wrap:balance}
  .atmosphere-group figcaption>span{font-size:25px;line-height:1.2;align-self:start}
  .atmosphere-note{max-width:88%;font-size:11px;line-height:1.55;margin-top:14px;color:#a89bac}
  .venue-heading{padding-left:0;border-left:none}
  .venue-index{padding-bottom:12px;border-bottom:1px solid var(--line);align-items:center}
  .venue-index>.eyebrow{font-size:11px;letter-spacing:.12em}
  .venue-index>span:last-child{font-size:34px}
  .venue h3{margin:20px 0 12px;font-size:clamp(36px,10vw,46px);line-height:1.08;max-width:12ch;text-wrap:balance}
  .venue-signature{font-size:12px;line-height:1.6;margin:0 0 24px}
  .venue-address{margin-top:26px;padding-top:18px}
  .venue-address a{font-size:14px;max-width:100%}
  .venue-copy p:first-child{font-size:23px;line-height:1.4;text-wrap:pretty}
  .venue-copy p{font-size:16px;line-height:1.7;margin-bottom:20px}
  .venue-copy .venue-highlight{padding:14px 0 14px 16px}
  .contact h3{font-size:30px;line-height:1.15;margin:14px 0 12px;text-wrap:balance}
  .contact>p{font-size:14px;line-height:1.65;margin:0}
  .contact-heading .eyebrow{font-size:11px}
  .contact-strip{gap:24px;margin-top:32px;padding-top:24px}
  .contact-strip .contact-value{margin-top:8px}
  .contact-strip p{margin:6px 0 12px;font-size:13px;line-height:1.55}
  .footer{gap:14px}.footer p{line-height:1.7}
}
@media(max-width:700px) and (prefers-reduced-motion:no-preference){
  .formats .format-title h3{padding-inline:20px;font-size:22px;letter-spacing:.015em;line-height:1.1}
  .formats .format--el-moro .format-title h3{font-size:26px;letter-spacing:0}
}

/* Header spacing after removal of the motion control. */
@media(max-width:700px){.header .brand{padding-right:0}}

/* Refined navigation, preserving the mobile stack's header clearance. */
.header{padding:22px 6%;gap:30px;background:rgba(34,34,40,.96);border-bottom:1px solid #ffffff12;box-shadow:none}
.header::after{display:none}
.header .brand{font-size:27px;line-height:.94;letter-spacing:-.8px;flex-shrink:0}
.header .brand>span{margin-left:17px}
.header-caption{display:block;margin-left:0;margin-right:auto;padding-left:26px;border-left:1px solid var(--line);font-size:11px;letter-spacing:.12em;text-transform:uppercase;line-height:1.7;color:#ded3e4}
.header-caption>span{display:block;font-size:10px;letter-spacing:.07em;color:var(--muted)}
.header nav{display:flex;gap:8px;align-items:center}
.header nav a{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 18px;border:1px solid transparent;border-radius:6px;font-size:14px;line-height:1.3;color:#c9c3d0;transition:background .2s,color .2s,border-color .2s}
.header nav a::after{display:none}
.header nav a:hover{background:#ffffff07;color:white;border-color:var(--line)}
.header nav a:focus-visible{outline:2px solid var(--neon);outline-offset:3px;background:var(--panel2);color:white}
.header nav .nav-contact{margin-left:10px;padding:10px 20px;border-color:#a654bc66;background:#7a2aa026;color:#f2dff8;gap:20px}
.header nav .nav-contact span{margin:0;color:#d882ef}
.header nav .nav-contact:hover{background:#7a2aa04d;border-color:var(--neon-dim)}
@media(min-width:701px) and (max-width:1000px){.header{gap:20px}.header-caption{display:none}.header nav{margin-left:auto}.header nav a{padding-inline:13px}}
@media(max-width:700px){
  .header{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr auto;padding:12px 6% 8px;gap:10px 20px;min-height:0;background:rgba(34,34,40,.97);box-shadow:0 5px 20px #0003;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
  .header .brand{font-size:21px;min-height:40px;padding:0;align-self:center}
  .header .brand>span{margin-left:14px}
  .header-caption{display:block;margin:0;padding:0;border:0;text-align:right;font-size:9px;letter-spacing:.08em;line-height:1.6;align-self:center}
  .header-caption>span{font-size:9px;letter-spacing:.02em}
  .header nav{grid-column:1/-1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;width:100%;padding-top:5px;border-top:1px solid #ffffff0b}
  .header nav a,.header nav a:last-child{min-height:44px;padding:8px 3px;font-size:12px;line-height:1.2;border-radius:5px;white-space:nowrap}
  .header nav .nav-contact{margin-left:0;gap:5px;background:#7a2aa030;border-color:#a654bc55;color:#f2dff8}
  .header nav .nav-contact span{display:inline;font-size:13px;margin:0}
  .header nav a:active{background:var(--panel2);color:white}
}

/* Mobile hamburger; without JavaScript, the section links stay visible. */
.nav-toggle{display:none}
@media(max-width:700px){
  .header .header-caption{display:none}
  .header.nav-ready{grid-template-columns:1fr auto;gap:0;padding-block:12px}
  .nav-ready .nav-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;width:44px;height:44px;padding:10px;border:1px solid #a654bc55;border-radius:6px;background:#7a2aa026;color:#f2dff8;cursor:pointer}
  .nav-toggle span{display:block;width:20px;height:1px;background:currentColor;transition:transform .2s,opacity .2s}
  .nav-toggle:focus-visible{outline:2px solid var(--neon);outline-offset:3px}
  .menu-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg)}
  .menu-open .nav-toggle span:nth-child(2){opacity:0}
  .menu-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg)}
  .header.nav-ready nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:12px 6% 18px;grid-template-columns:1fr;gap:5px;border-top:1px solid var(--line);border-bottom:1px solid var(--line-strong);background:var(--bg-header);box-shadow:0 18px 28px #0005;max-height:calc(100svh - 80px);overflow-y:auto}
  .header.nav-ready.menu-open nav{display:grid}
  .header.nav-ready nav a,.header.nav-ready nav a:last-child{justify-content:space-between;min-height:48px;padding:12px 15px;font-size:15px}
  .header.nav-ready nav .nav-contact{margin-top:5px}
}

/* Two club portraits: mirrored reveals and gently moving image layers. */
@supports(animation-timeline:view()){
  @media(prefers-reduced-motion:no-preference){
    .venue{view-timeline-name:--club-reveal;view-timeline-axis:block}
    .venue-heading{animation:club-heading-in linear both;animation-timeline:--club-reveal;animation-range:entry 5% entry 75%}
    .venue-copy{animation:club-copy-in linear both;animation-timeline:--club-reveal;animation-range:entry 15% entry 90%}
    .venue-mosaic{animation:club-image-unfold linear both;animation-timeline:--club-reveal;animation-range:entry 10% entry 95%}
    .venue .mosaic-main{animation:club-photo-float linear both;animation-timeline:--club-reveal;animation-range:entry 0% exit 80%}
    .venue .mosaic-detail{animation:club-detail-float linear both;animation-timeline:--club-reveal;animation-range:entry 0% exit 80%}
    @keyframes club-heading-in{from{opacity:.45;translate:-18px 22px}to{opacity:1;translate:0 0}}
    @keyframes club-copy-in{from{opacity:.45;translate:18px 30px}to{opacity:1;translate:0 0}}
    @keyframes club-heading-reverse{from{opacity:.45;translate:18px 22px}to{opacity:1;translate:0 0}}
    @keyframes club-copy-reverse{from{opacity:.45;translate:-18px 30px}to{opacity:1;translate:0 0}}
    @keyframes club-image-unfold{from{clip-path:inset(0 45% 0 0);opacity:.4}to{clip-path:inset(-15% -10% -15% -10%);opacity:1}}
    @keyframes club-image-unfold-reverse{from{clip-path:inset(0 0 0 45%);opacity:.4}to{clip-path:inset(-15% -10% -15% -10%);opacity:1}}
    @keyframes club-photo-float{from{transform:translateY(20px) rotate(-4deg) scale(.97)}to{transform:translateY(-16px) rotate(2deg) scale(1)}}
    @keyframes club-detail-float{from{transform:translateY(34px) rotate(7deg)}to{transform:translateY(-25px) rotate(-3deg)}}
    @keyframes club-photo-float-reverse{from{transform:translateY(20px) rotate(4deg) scale(.97)}to{transform:translateY(-16px) rotate(-2deg) scale(1)}}
    @keyframes club-detail-float-reverse{from{transform:translateY(34px) rotate(-7deg)}to{transform:translateY(-25px) rotate(3deg)}}
    @media(max-width:700px){
      .venue-copy{animation-timeline:view();animation-range:entry 0% entry 45%}
      .venue-mosaic{animation-timeline:view();animation-range:entry 0% entry 80%}
      .venue .mosaic-main,.venue .mosaic-detail{animation-timeline:--club-reveal}
    }
  }
}

/* Arrow glyphs: white PNGs used as masks so they follow the text color. */
.arrow{display:inline-block;width:1em;height:1em;flex:0 0 auto;color:inherit;background:currentColor;vertical-align:-0.14em;line-height:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.arrow-ne{-webkit-mask-image:url("/static/images/arrow-ne.png");mask-image:url("/static/images/arrow-ne.png")}
.arrow-down{-webkit-mask-image:url("/static/images/arrow-down.png");mask-image:url("/static/images/arrow-down.png")}
.arrow-up{-webkit-mask-image:url("/static/images/arrow-up.png");mask-image:url("/static/images/arrow-up.png")}
.arrow-h{-webkit-mask-image:url("/static/images/arrow-h.png");mask-image:url("/static/images/arrow-h.png")}
.button .arrow{width:18px;height:18px}
.nav-contact .arrow{width:13px;height:13px;vertical-align:0}
.link-circle .arrow{width:14px;height:14px}
.hero-foot a{display:inline-flex;align-items:center;justify-content:center}
.hero-foot .arrow{width:16px;height:16px}
.gallery-scroll-hint .arrow,.gallery-swipe-hint .arrow{width:22px;height:22px;vertical-align:0}
.venue-address .arrow{width:14px;height:14px}
.contact-links a{display:inline-flex;align-items:center;gap:6px}
.contact-links .arrow{width:12px;height:12px;vertical-align:0}
.footer>a:last-child{display:inline-flex;align-items:center;gap:6px}
.footer>a:last-child .arrow{width:12px;height:12px;vertical-align:0}
