@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@400;500;600;700;800&family=Inter:wght@400;500;600&display=swap');
:root{--bg:#03090d;--panel:#071219;--panel2:#0a1820;--text:#f8fbfc;--muted:#9fb0b9;--cyan:#59d1da;--cyan2:#1aa9ba;--pink:#f50058;--pink2:#bd0046;--line:rgba(255,255,255,.12);--max:1280px;--radius:24px;--shadow:0 35px 90px rgba(0,0,0,.45)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#07141b 0,transparent 35%),var(--bg);color:var(--text);font-family:Inter,Arial,sans-serif;overflow-x:hidden}body.modal-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit}.skip-link{position:fixed;left:1rem;top:-5rem;z-index:999;background:#fff;color:#000;padding:.7rem 1rem}.skip-link:focus{top:1rem}.scroll-progress{position:fixed;z-index:200;left:0;top:0;height:3px;width:0;background:linear-gradient(90deg,var(--cyan),var(--pink));box-shadow:0 0 16px var(--pink)}
.site-header{position:fixed;z-index:30;left:50%;top:18px;transform:translateX(-50%);width:min(calc(100% - 36px),var(--max));padding:14px 22px;display:flex;align-items:center;justify-content:space-between;border:1px solid transparent;border-radius:18px;transition:.35s}.site-header.scrolled{background:rgba(3,9,13,.76);border-color:var(--line);box-shadow:0 18px 55px rgba(0,0,0,.3);backdrop-filter:blur(18px)}.brand img{width:122px;height:auto;filter:drop-shadow(0 8px 20px #000)}.main-nav{display:flex;gap:32px;font-family:'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.15em}.main-nav a{position:relative;padding:.4rem 0;color:#e8eff2}.main-nav a:after{content:"";position:absolute;left:0;bottom:0;width:0;height:2px;background:linear-gradient(90deg,var(--cyan),var(--pink));transition:.3s}.main-nav a:hover:after{width:100%}.menu-toggle{display:none;background:none;border:0;width:40px;height:40px}.menu-toggle span{display:block;height:2px;background:var(--cyan);margin:8px}
.hero{min-height:100svh;position:relative;display:grid;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0;background-image:linear-gradient(90deg,rgba(2,7,10,.99) 0%,rgba(2,7,10,.86) 34%,rgba(2,7,10,.28) 73%),linear-gradient(0deg,var(--bg),transparent 40%),var(--hero-url);background-size:cover;background-position:center;transform:scale(1.025);animation:heroZoom 20s ease-out both}.hero-grain{position:absolute;inset:0;opacity:.12;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E")}.hero-light{position:absolute;border-radius:50%;filter:blur(80px);opacity:.34;animation:floatLight 9s ease-in-out infinite alternate}.hero-light-a{width:32vw;height:32vw;background:var(--cyan);right:6%;top:7%}.hero-light-b{width:27vw;height:27vw;background:var(--pink);right:20%;bottom:3%;animation-delay:-3s}.hero-content{position:relative;z-index:3;width:min(var(--max),100%);padding:170px 40px 105px;margin:auto}.eyebrow{font-family:'Barlow Condensed';font-weight:700;text-transform:uppercase;letter-spacing:.3em;color:var(--cyan);margin:0 0 15px;font-size:.9rem}.hero h1{margin:0;font-family:'Barlow Condensed';font-size:clamp(5rem,11vw,10rem);line-height:.76;text-transform:uppercase;letter-spacing:.055em;text-shadow:0 18px 50px rgba(0,0,0,.45)}.hero h1 span,.hero h1 strong{display:block}.hero h1 strong{color:var(--cyan);font-weight:500}.hero-tagline{text-transform:uppercase;letter-spacing:.2em;color:#d9e2e5;margin:36px 0 28px}.play-cta{display:flex;align-items:center;gap:18px;background:none;color:#fff;border:0;text-transform:uppercase;letter-spacing:.13em;font-family:'Barlow Condensed';font-size:1.25rem;cursor:pointer}.play-icon,.poster-play{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#ff216e,var(--pink2));box-shadow:0 0 0 1px rgba(255,255,255,.4),0 0 42px rgba(245,0,88,.58),inset 0 0 20px rgba(255,255,255,.14);transition:.3s}.play-cta:hover .play-icon{transform:scale(1.09);box-shadow:0 0 0 8px rgba(245,0,88,.1),0 0 60px rgba(245,0,88,.78)}.hero-meta{position:absolute;z-index:3;right:38px;bottom:30px;display:flex;gap:22px;color:rgba(255,255,255,.55);font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.15em;font-size:.82rem}.hero-meta span+span:before{content:"•";margin-right:22px;color:var(--pink)}.scroll-cue{position:absolute;z-index:3;bottom:24px;left:50%;width:26px;height:42px;border:1px solid rgba(255,255,255,.35);border-radius:20px}.scroll-cue span{display:block;width:4px;height:8px;background:var(--cyan);border-radius:8px;margin:8px auto;animation:scrollDot 1.6s infinite}
.section{padding:120px 40px;border-top:1px solid var(--line);max-width:var(--max);margin:auto;position:relative}.section:before{content:"";position:absolute;left:40px;right:40px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--cyan),var(--pink),transparent);opacity:.18}.section-grid,.about-section{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.85fr);gap:76px;align-items:center}.glow-card{position:relative}.glow-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;background:linear-gradient(135deg,rgba(89,209,218,.7),transparent 38%,transparent 65%,rgba(245,0,88,.55));z-index:-1;filter:blur(14px);opacity:.28}.video-card,.about-image{border-radius:var(--radius);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);background:#020609}.poster-button{display:block;position:relative;width:100%;padding:0;border:0;background:#000;cursor:pointer;overflow:hidden}.poster-button img,.about-image img{display:block;width:100%;height:auto;transition:transform .8s ease,filter .6s}.poster-overlay{position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.64),transparent 55%)}.poster-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font-size:1.4rem}.poster-label{position:absolute;left:24px;bottom:20px;text-transform:uppercase;letter-spacing:.15em;font-family:'Barlow Condensed';font-size:.85rem}.poster-button:hover img{transform:scale(1.025);filter:saturate(1.08)}.poster-button:hover .poster-play{transform:translate(-50%,-50%) scale(1.1)}.section-copy h2,.section-heading h2,.download-intro h2{font-family:'Barlow Condensed';font-size:clamp(3rem,5.5vw,5.2rem);text-transform:uppercase;line-height:.88;letter-spacing:.035em;margin:.2em 0}.section-copy h2 em,.section-heading h2 em,.download-intro h2 em{font-style:normal;color:var(--cyan);font-weight:500}.section-copy p,.download-intro p{color:var(--muted);line-height:1.85;max-width:55ch}.film-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:25px}.film-facts span{padding:8px 12px;border:1px solid var(--line);border-radius:100px;color:#d8e3e7;font-size:.8rem}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;border:1px solid var(--pink);border-radius:10px;padding:15px 22px;background:transparent;color:#fff;text-transform:uppercase;letter-spacing:.09em;cursor:pointer;transition:.28s}.btn-primary{background:linear-gradient(135deg,#ff1966,var(--pink2));box-shadow:0 14px 35px rgba(245,0,88,.22)}.btn:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(245,0,88,.23)}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:46px}.gallery-grid-v2{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:72px;gap:13px}.gallery-tile{position:relative;padding:0;border:0;background:#111;border-radius:14px;overflow:hidden;cursor:pointer;min-height:0}.gallery-tile img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s,filter .55s}.gallery-tile:hover img{transform:scale(1.055);filter:saturate(1.18) contrast(1.03)}.tile-shine{position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.13),transparent 35%);opacity:0;transition:.35s}.gallery-tile:hover .tile-shine{opacity:1}.tile-number{position:absolute;right:10px;bottom:8px;color:#fff;font:600 .75rem 'Barlow Condensed';letter-spacing:.15em;text-shadow:0 2px 8px #000}.tile-1{grid-column:span 4;grid-row:span 4}.tile-2{grid-column:span 3;grid-row:span 3}.tile-3{grid-column:span 5;grid-row:span 3}.tile-4{grid-column:span 3;grid-row:span 4}.tile-5{grid-column:span 4;grid-row:span 3}.tile-6{grid-column:span 5;grid-row:span 4}.tile-7{grid-column:span 4;grid-row:span 3}.tile-8{grid-column:span 4;grid-row:span 3}.empty-state{padding:40px;border:1px dashed var(--line);color:var(--muted);border-radius:var(--radius)}
.downloads-section{display:grid;grid-template-columns:.9fr 1.45fr;gap:68px;align-items:center}.download-intro{display:flex;gap:25px;align-items:flex-start}.download-symbol{flex:none;width:88px;height:88px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--cyan);font-size:2.5rem;background:rgba(89,209,218,.08);box-shadow:0 0 35px rgba(89,209,218,.12)}.download-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.download-card{position:relative;display:flex;gap:18px;align-items:center;border:1px solid var(--line);border-radius:17px;padding:27px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.012));overflow:hidden;transition:.3s}.download-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 20%,rgba(89,209,218,.15),transparent 42%),radial-gradient(circle at 90% 90%,rgba(245,0,88,.13),transparent 42%);opacity:.8}.download-card>*{position:relative}.download-icon{width:52px;height:52px;border-radius:50%;display:grid;place-items:center;border:1px solid var(--cyan);font-size:1.65rem;color:var(--cyan)}.download-card strong,.download-card small,.download-card b{display:block}.download-card small{text-transform:uppercase;letter-spacing:.12em;color:var(--cyan);font-family:'Barlow Condensed'}.download-card strong{margin:5px 0;font-size:1rem}.download-card b{color:var(--muted);font-size:.82rem;font-weight:500}.download-card i{margin-left:auto;font-style:normal;font-size:1.5rem;color:var(--pink)}.download-card:hover{border-color:rgba(245,0,88,.65);transform:translateY(-4px);box-shadow:0 20px 55px rgba(0,0,0,.3)}
.about-image{position:relative}.about-image img{height:450px;object-fit:cover}.image-caption{position:absolute;left:20px;bottom:18px;background:rgba(3,9,13,.7);backdrop-filter:blur(10px);border:1px solid var(--line);padding:10px 14px;border-radius:100px;font:600 .85rem 'Barlow Condensed';text-transform:uppercase;letter-spacing:.12em}.values{display:grid;gap:10px;margin-top:26px}.values span{display:flex;gap:12px;border-top:1px solid var(--line);padding:13px 0;color:#dce7eb;text-transform:uppercase;font-family:'Barlow Condensed';letter-spacing:.12em}.values b{color:var(--pink)}.archive-note{color:var(--muted);max-width:35ch;line-height:1.7}.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.archive-card{position:relative;min-height:230px;border:1px solid var(--line);border-radius:20px;padding:28px;background:linear-gradient(145deg,#09151d,#040b0f);overflow:hidden}.archive-glow{position:absolute;width:180px;height:180px;border-radius:50%;background:var(--pink);filter:blur(70px);opacity:.15;right:-40px;top:-50px}.archive-card small,.archive-card span,.archive-card p,.archive-card b{position:relative;display:block}.archive-card small{color:var(--cyan);text-transform:uppercase;letter-spacing:.17em}.archive-card span{font-family:'Barlow Condensed';font-size:4.2rem;letter-spacing:.1em;margin-top:10px}.archive-card p{color:var(--muted)}.archive-card b{position:absolute;left:28px;bottom:25px;color:#6d7c84;text-transform:uppercase;letter-spacing:.12em;font:500 .8rem 'Barlow Condensed'}
.site-footer{max-width:var(--max);margin:auto;border-top:1px solid var(--line);padding:48px 40px;display:flex;align-items:center;gap:30px;color:var(--muted)}.site-footer img{width:120px}.site-footer nav{margin-left:auto;display:flex;gap:20px}.site-footer a:hover{color:var(--cyan)}
.modal{position:fixed;z-index:100;inset:0;background:rgba(0,0,0,.94);display:none;align-items:center;justify-content:center;padding:52px;backdrop-filter:blur(12px)}.modal.is-open{display:flex;animation:fade .25s}.modal-close{position:absolute;z-index:4;top:18px;right:25px;width:48px;height:48px;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:rgba(0,0,0,.4);color:#fff;font-size:2rem;cursor:pointer}.player-shell{width:min(94vw,1500px);box-shadow:0 0 90px rgba(89,209,218,.18)}.player-title{display:flex;justify-content:space-between;align-items:end;padding:0 0 12px;font-family:'Barlow Condensed';text-transform:uppercase;letter-spacing:.15em}.player-title span{font-size:1.35rem}.player-title small{color:var(--cyan)}.player-shell video{display:block;width:100%;max-height:84vh;background:#000;border-radius:12px}.gallery-modal{padding-top:82px}.gallery-modal figure{position:relative;margin:0;display:grid;place-items:center;max-width:90vw}.gallery-modal img{max-width:88vw;max-height:80vh;object-fit:contain;opacity:1;transition:opacity .2s}.gallery-modal.loading img{opacity:.18}.image-loader{display:none;position:absolute;width:48px;height:48px;border:3px solid rgba(255,255,255,.18);border-top-color:var(--cyan);border-radius:50%;animation:spin .8s linear infinite}.gallery-modal.loading .image-loader{display:block}.gallery-topbar{position:absolute;left:28px;right:88px;top:20px;display:flex;justify-content:space-between;align-items:center;color:var(--muted)}.gallery-topbar>div{display:flex;gap:10px}.gallery-topbar button,.gallery-topbar a{border:1px solid var(--line);background:rgba(255,255,255,.04);color:#fff;padding:9px 13px;border-radius:8px;font-size:.8rem;cursor:pointer}.gallery-topbar button.active{border-color:var(--pink);color:var(--pink)}.gallery-nav{position:absolute;z-index:3;top:50%;transform:translateY(-50%);border:1px solid var(--line);border-radius:50%;background:rgba(0,0,0,.45);color:#fff;font-size:2.8rem;width:56px;height:56px;cursor:pointer;display:grid;place-items:center}.gallery-nav.prev{left:18px}.gallery-nav.next{right:18px}.gallery-progress{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);width:min(440px,60vw);height:3px;background:rgba(255,255,255,.15);border-radius:5px;overflow:hidden}.gallery-progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--cyan),var(--pink));transition:width .3s}
.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s,transform .8s}.reveal.visible{opacity:1;transform:none}.magnetic{will-change:transform}
.cursor-dot,.cursor-ring{position:fixed;z-index:9999;pointer-events:none;border-radius:50%;display:none}.cursor-dot{width:6px;height:6px;background:var(--pink)}.cursor-ring{width:32px;height:32px;border:1px solid rgba(89,209,218,.7);transition:width .2s,height .2s,border-color .2s}.cursor-ring.hover{width:48px;height:48px;border-color:var(--pink)}
@keyframes heroZoom{from{transform:scale(1.09)}to{transform:scale(1.025)}}@keyframes floatLight{to{transform:translate(30px,20px) scale(1.1)}}@keyframes scrollDot{0%{transform:translateY(0);opacity:1}80%{transform:translateY(17px);opacity:0}100%{opacity:0}}@keyframes fade{from{opacity:0}to{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}
@media(pointer:fine) and (min-width:900px){.cursor-dot,.cursor-ring{display:block}body,a,button{cursor:none}}
@media(max-width:980px){.gallery-grid-v2{grid-template-columns:repeat(6,1fr);grid-auto-rows:68px}.gallery-tile{grid-column:span 3!important;grid-row:span 3!important}.gallery-tile:nth-child(3n+1){grid-column:span 6!important}.downloads-section{grid-template-columns:1fr}.download-cards{max-width:800px}}
@media(max-width:850px){.site-header{top:10px;width:calc(100% - 20px);padding:12px 15px}.brand img{width:95px}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:72px;right:0;left:0;padding:25px;border:1px solid var(--line);border-radius:16px;background:rgba(3,9,13,.96);backdrop-filter:blur(20px);flex-direction:column}.main-nav.open{display:flex}.hero-content{padding:145px 22px 105px}.hero-bg{background-position:60% center}.hero h1{font-size:clamp(4.4rem,21vw,7rem)}.hero-meta{display:none}.section{padding:82px 20px}.section:before{left:20px;right:20px}.section-grid,.about-section{grid-template-columns:1fr;gap:42px}.film-section .section-copy{order:-1}.section-heading{align-items:flex-start;flex-direction:column}.gallery-grid-v2{grid-template-columns:repeat(2,1fr);grid-auto-rows:145px;gap:10px}.gallery-tile,.gallery-tile:nth-child(3n+1){grid-column:span 1!important;grid-row:span 1!important}.gallery-tile:nth-child(5n+1){grid-column:span 2!important}.download-intro{flex-direction:column}.download-cards{grid-template-columns:1fr}.archive-grid{grid-template-columns:1fr}.site-footer{padding:35px 20px;align-items:flex-start;flex-wrap:wrap}.site-footer nav{width:100%;margin:0}.modal{padding:14px}.player-title{padding-right:48px}.gallery-topbar{left:14px;right:68px;top:17px}.gallery-topbar>div{gap:5px}.gallery-topbar button,.gallery-topbar a{padding:8px;font-size:.7rem}.gallery-nav{width:42px;height:42px;font-size:2rem}.gallery-nav.prev{left:6px}.gallery-nav.next{right:6px}.play-icon{width:64px;height:64px}.cursor-dot,.cursor-ring{display:none}}
@media(max-width:520px){.hero h1{font-size:4.6rem}.hero-tagline{font-size:.75rem}.section-copy h2,.section-heading h2,.download-intro h2{font-size:3.2rem}.gallery-grid-v2{grid-auto-rows:112px}.download-card{padding:20px}.about-image img{height:300px}.gallery-topbar button{font-size:0;width:38px}.gallery-topbar button:before{content:'▶';font-size:.8rem}.gallery-topbar button.active:before{content:'■'}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}.cursor-dot,.cursor-ring{display:none!important}}

/* =========================================================
   TANZWERK OBING · VERSION 3 — PREMIUM EXPERIENCE
   ========================================================= */
.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(.9) contrast(1.05);animation:heroZoom 16s ease-out both}
.hero-vignette{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(1,7,10,.94) 0%,rgba(2,9,13,.7) 35%,rgba(2,8,12,.16) 69%,rgba(2,8,12,.38) 100%),linear-gradient(0deg,rgba(2,8,12,.94) 0%,transparent 44%)}
.rhythm-lines{position:absolute;left:50%;bottom:42px;z-index:3;display:flex;align-items:end;gap:5px;height:38px;opacity:.28;transform:translateX(-50%);pointer-events:none}
.rhythm-lines i{display:block;width:2px;height:calc(7px + (var(--i) % 6)*5px);border-radius:4px;background:linear-gradient(to top,var(--pink),var(--cyan));animation:rhythmPulse 1.35s ease-in-out infinite;animation-delay:calc(var(--i)*-.065s);transform-origin:bottom}
.play-cta>span:last-child{display:flex;flex-direction:column;align-items:flex-start;gap:2px}.play-cta b{font:600 1rem/1 'Barlow Condensed',sans-serif;letter-spacing:.16em;text-transform:uppercase}.play-cta small{font:500 .66rem/1 Inter,sans-serif;color:var(--muted);letter-spacing:.04em}
.play-icon{position:relative;box-shadow:0 0 0 0 rgba(245,0,88,.45),0 0 48px rgba(245,0,88,.28);animation:playPulse 2.4s ease-out infinite}.play-icon:after{content:'';position:absolute;inset:-8px;border:1px solid rgba(245,0,88,.28);border-radius:50%;animation:ringPulse 2.4s ease-out infinite}
.page-noise{position:fixed;inset:0;z-index:9997;pointer-events:none;opacity:.022;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}

.gallery-grid-v3{display:grid;grid-template-columns:repeat(12,1fr);grid-auto-rows:82px;gap:10px;margin-top:36px}.gallery-grid-v3 .gallery-tile{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.085);border-radius:14px;background:#08131a;min-height:0;isolation:isolate;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s}.gallery-grid-v3 .gallery-tile img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .45s}.gallery-grid-v3 .gallery-tile:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(0,0,0,.66));opacity:.7;transition:opacity .35s}.gallery-grid-v3 .gallery-tile:hover{transform:translateY(-5px);border-color:rgba(89,209,218,.45);box-shadow:0 24px 70px rgba(0,0,0,.4),0 0 0 1px rgba(245,0,88,.08)}.gallery-grid-v3 .gallery-tile:hover img{transform:scale(1.055);filter:brightness(1.07) saturate(1.05)}.gallery-grid-v3 .tile-number{z-index:2}.tile-open{position:absolute;left:15px;bottom:13px;z-index:3;color:#fff;font:600 .67rem/1 Inter,sans-serif;letter-spacing:.08em;text-transform:uppercase;opacity:0;transform:translateY(7px);transition:.35s}.gallery-tile:hover .tile-open{opacity:1;transform:none}
.gallery-grid-v3 .tile-1{grid-column:span 4;grid-row:span 4}.gallery-grid-v3 .tile-2{grid-column:span 3;grid-row:span 2}.gallery-grid-v3 .tile-3{grid-column:span 5;grid-row:span 3}.gallery-grid-v3 .tile-4{grid-column:span 3;grid-row:span 3}.gallery-grid-v3 .tile-5{grid-column:span 4;grid-row:span 3}.gallery-grid-v3 .tile-6{grid-column:span 5;grid-row:span 3}.gallery-grid-v3 .tile-7{grid-column:span 4;grid-row:span 3}.gallery-grid-v3 .tile-8{grid-column:span 4;grid-row:span 2}.gallery-grid-v3 .tile-9{grid-column:span 4;grid-row:span 2}.gallery-grid-v3 .tile-10{grid-column:span 4;grid-row:span 3}

.quote-section{position:relative;max-width:1180px;margin:0 auto;padding:125px 44px;text-align:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line);overflow:hidden}.quote-section:before{content:'';position:absolute;width:520px;height:220px;left:50%;top:50%;transform:translate(-50%,-50%);background:radial-gradient(ellipse,rgba(245,0,88,.12),transparent 70%);filter:blur(18px);pointer-events:none}.quote-mark{position:absolute;left:50%;top:36px;transform:translateX(-50%);font:800 7rem/1 Georgia,serif;color:rgba(89,209,218,.12)}.quote-section blockquote{position:relative;margin:0;color:#fff;font:700 clamp(2rem,4.2vw,4.6rem)/.98 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.025em}.quote-section blockquote em{font-style:normal;color:var(--cyan)}.quote-section p{position:relative;margin:30px 0 0;color:var(--muted);font:600 .76rem/1 Inter,sans-serif;letter-spacing:.28em;text-transform:uppercase}
.archive-card.has-content{border-color:rgba(89,209,218,.3)}.archive-card.has-content b{color:var(--cyan)}

.modal{background:transparent}.modal-backdrop{position:absolute;inset:0;background:rgba(0,3,6,.78);backdrop-filter:blur(20px) saturate(.72);-webkit-backdrop-filter:blur(20px) saturate(.72)}.player-shell,.gallery-modal figure,.gallery-topbar,.gallery-nav,.modal-close{z-index:2}.player-shell{box-shadow:0 40px 130px rgba(0,0,0,.75),0 0 0 1px rgba(255,255,255,.07);transform:scale(.965) translateY(14px);transition:transform .48s cubic-bezier(.2,.8,.2,1)}.player-modal.is-open .player-shell{transform:none}.player-title{background:linear-gradient(90deg,rgba(6,16,22,.98),rgba(12,22,28,.92))}

@keyframes rhythmPulse{0%,100%{transform:scaleY(.35);opacity:.45}50%{transform:scaleY(1);opacity:1}}@keyframes playPulse{0%{box-shadow:0 0 0 0 rgba(245,0,88,.38),0 0 48px rgba(245,0,88,.25)}70%{box-shadow:0 0 0 18px rgba(245,0,88,0),0 0 58px rgba(245,0,88,.34)}100%{box-shadow:0 0 0 0 rgba(245,0,88,0),0 0 48px rgba(245,0,88,.25)}}@keyframes ringPulse{0%{transform:scale(.86);opacity:0}25%{opacity:1}100%{transform:scale(1.28);opacity:0}}

@media(max-width:980px){.gallery-grid-v3{grid-template-columns:repeat(6,1fr);grid-auto-rows:92px}.gallery-grid-v3 .gallery-tile{grid-column:span 3!important;grid-row:span 3!important}.gallery-grid-v3 .gallery-tile:nth-child(4n+1){grid-column:span 6!important}}
@media(max-width:850px){.rhythm-lines{bottom:28px}.gallery-grid-v3{grid-template-columns:repeat(2,1fr);grid-auto-rows:145px;gap:9px}.gallery-grid-v3 .gallery-tile,.gallery-grid-v3 .gallery-tile:nth-child(4n+1){grid-column:span 1!important;grid-row:span 1!important}.gallery-grid-v3 .gallery-tile:nth-child(5n+1){grid-column:span 2!important}.tile-open{display:none}.quote-section{padding:92px 22px}.page-noise{display:none}}
@media(max-width:520px){.play-cta small{font-size:.6rem}.gallery-grid-v3{grid-auto-rows:116px}.quote-section blockquote{font-size:2.4rem}.quote-mark{font-size:5rem}}
@media(prefers-reduced-motion:reduce){.rhythm-lines,.play-icon:after{display:none}.play-icon{animation:none}.hero-video{animation:none}}


/* =========================================================
   TANZWERK OBING · VERSION 5 / UPDATE 2.0 — CINEMATIC
   ========================================================= */

:root {
  --gold: #d9b76c;
  --gold-soft: rgba(217,183,108,.16);
}

body {
  background:
    radial-gradient(circle at 70% 12%, rgba(89,209,218,.055), transparent 28%),
    radial-gradient(circle at 25% 42%, rgba(245,0,88,.045), transparent 32%),
    #02080c;
}

.intro-curtain {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background: #010609;
  transition: opacity .85s ease, visibility .85s;
}

.intro-curtain.done {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.intro-stage {
  position: relative;
  width: min(520px, 86vw);
  min-height: 280px;
  display: grid;
  place-items: center;
  overflow: hidden;
}

.intro-stage img {
  width: 190px;
  z-index: 2;
  filter: drop-shadow(0 0 38px rgba(245,0,88,.28));
  animation: introLogo .9s both;
}

.intro-line {
  position: absolute;
  bottom: 68px;
  width: 170px;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--cyan), var(--pink), transparent);
  animation: introLine 1.15s .1s both;
}

.intro-stage small {
  position: absolute;
  bottom: 39px;
  font: 600 .68rem Inter, sans-serif;
  letter-spacing: .38em;
  text-transform: uppercase;
  color: var(--muted);
  animation: fade .8s .32s both;
}

.intro-spot {
  position: absolute;
  top: -35%;
  width: 28%;
  height: 150%;
  filter: blur(28px);
  opacity: .19;
  transform-origin: top;
}

.intro-spot-a {
  left: 27%;
  background: linear-gradient(to bottom, rgba(89,209,218,.9), transparent 72%);
  transform: rotate(13deg);
}

.intro-spot-b {
  right: 27%;
  background: linear-gradient(to bottom, rgba(245,0,88,.9), transparent 72%);
  transform: rotate(-13deg);
}

.site-header {
  gap: 16px;
}

.brand-note {
  margin-right: auto;
  font: 600 .61rem Inter, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.42);
}

.cinematic-hero {
  min-height: 100svh;
}

.hero-colorwash {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    radial-gradient(circle at 74% 24%, rgba(89,209,218,.21), transparent 28%),
    radial-gradient(circle at 60% 72%, rgba(245,0,88,.22), transparent 34%),
    linear-gradient(90deg, rgba(0,0,0,.88) 0%, rgba(0,0,0,.3) 50%, rgba(0,0,0,.2) 100%);
  mix-blend-mode: screen;
  pointer-events: none;
}

.stage-beams {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
  pointer-events: none;
  mix-blend-mode: screen;
  opacity: .12;
}

.stage-beams i {
  position: absolute;
  top: -24%;
  width: 13%;
  height: 130%;
  filter: blur(28px);
  transform-origin: top;
}

.stage-beams i:nth-child(1) {
  left: 43%;
  background: linear-gradient(to bottom, rgba(89,209,218,.75), transparent 74%);
  transform: rotate(12deg);
  animation: beamMove 15s ease-in-out infinite alternate;
}

.stage-beams i:nth-child(2) {
  left: 60%;
  background: linear-gradient(to bottom, rgba(245,0,88,.78), transparent 74%);
  transform: rotate(-9deg);
  animation: beamMove 18s -4s ease-in-out infinite alternate-reverse;
}

.stage-beams i:nth-child(3) {
  left: 75%;
  background: linear-gradient(to bottom, rgba(217,183,108,.46), transparent 74%);
  transform: rotate(8deg);
  animation: beamMove 21s -7s ease-in-out infinite alternate;
}

.stage-beams i:nth-child(4) {
  left: 86%;
  background: linear-gradient(to bottom, rgba(89,209,218,.48), transparent 74%);
  transform: rotate(-7deg);
  animation: beamMove 17s -10s ease-in-out infinite alternate-reverse;
}

.hero-orbit {
  position: absolute;
  z-index: 2;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: 50%;
  pointer-events: none;
}

.orbit-a {
  width: 620px;
  height: 620px;
  right: 11%;
  top: 5%;
  animation: orbitSpin 42s linear infinite;
}

.orbit-b {
  width: 390px;
  height: 390px;
  right: 25%;
  top: 29%;
  border-color: rgba(89,209,218,.07);
  animation: orbitSpin 28s linear infinite reverse;
}

.hero-intro {
  max-width: 490px;
  margin: 0 0 28px;
  color: rgba(230,240,244,.72);
  font-size: clamp(.92rem, 1.3vw, 1.05rem);
  line-height: 1.72;
}

.play-cta {
  min-width: 300px;
}

.play-cta small {
  color: rgba(255,255,255,.54);
}

.year-rail {
  max-width: var(--max);
  margin: -32px auto 0;
  position: relative;
  z-index: 8;
  padding: 0 40px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
}

.year-rail > span {
  font: 600 .69rem Inter, sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: var(--muted);
}

.year-rail > div {
  display: flex;
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--line);
  background: rgba(4,12,16,.72);
  backdrop-filter: blur(18px);
  border-radius: 999px;
}

.year-rail a {
  min-width: 66px;
  text-align: center;
  padding: 10px 15px;
  border-radius: 999px;
  font: 700 1rem 'Barlow Condensed';
  letter-spacing: .08em;
  transition: .3s;
}

.year-rail a:hover,
.year-rail a.active {
  background: linear-gradient(135deg, rgba(89,209,218,.2), rgba(245,0,88,.18));
  color: #fff;
  box-shadow:
    inset 0 0 0 1px rgba(89,209,218,.25),
    0 8px 25px rgba(0,0,0,.22);
}

.premium-grid {
  align-items: center;
}

.poster-premium .poster-sweep {
  position: absolute;
  inset: -50% -120%;
  background: linear-gradient(115deg, transparent 38%, rgba(255,255,255,.13) 48%, transparent 58%);
  transform: rotate(6deg);
  transition: transform .9s ease;
}

.poster-premium:hover .poster-sweep {
  transform: translateX(115%) rotate(6deg);
}

.stats-section {
  max-width: var(--max);
  margin: 0 auto;
  padding: 36px 40px 96px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.stat-item {
  padding: 20px 28px;
  border-right: 1px solid var(--line);
}

.stat-item:last-child {
  border-right: 0;
}

.stat-item strong {
  display: block;
  font: 700 clamp(3rem, 6vw, 5.7rem) 'Barlow Condensed', sans-serif;
  line-height: .86;
  color: #fff;
  letter-spacing: -.03em;
}

.stat-item:nth-child(even) strong {
  color: var(--cyan);
}

.stat-item span {
  display: block;
  margin-top: 14px;
  font: 600 .7rem Inter, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--muted);
}

.editorial-gallery {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: 82px;
  gap: 12px;
}

.editorial-gallery .gallery-tile {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 16px;
  background: #08131a;
  min-height: 0;
  transition:
    transform .48s cubic-bezier(.2,.8,.2,1),
    box-shadow .45s,
    border-color .35s;
}

.editorial-gallery .gallery-tile img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .8s cubic-bezier(.2,.8,.2,1), filter .5s;
}

.editorial-gallery .gallery-tile::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,.8));
  opacity: .72;
}

.editorial-gallery .gallery-tile:hover {
  transform: translateY(-7px) scale(1.006);
  border-color: rgba(89,209,218,.48);
  box-shadow:
    0 26px 80px rgba(0,0,0,.45),
    0 0 55px rgba(245,0,88,.07);
}

.editorial-gallery .gallery-tile:hover img {
  transform: scale(1.07);
  filter: brightness(1.08) saturate(1.12);
}

.editorial-gallery .tile-1 { grid-column: span 4; grid-row: span 5; }
.editorial-gallery .tile-2 { grid-column: span 3; grid-row: span 2; }
.editorial-gallery .tile-3 { grid-column: span 5; grid-row: span 3; }
.editorial-gallery .tile-4 { grid-column: span 3; grid-row: span 3; }
.editorial-gallery .tile-5 { grid-column: span 4; grid-row: span 4; }
.editorial-gallery .tile-6 { grid-column: span 5; grid-row: span 3; }
.editorial-gallery .tile-7 { grid-column: span 4; grid-row: span 3; }
.editorial-gallery .tile-8 { grid-column: span 4; grid-row: span 2; }
.editorial-gallery .tile-9 { grid-column: span 4; grid-row: span 2; }
.editorial-gallery .tile-10 { grid-column: span 4; grid-row: span 3; }
.editorial-gallery .tile-11 { grid-column: span 5; grid-row: span 4; }
.editorial-gallery .tile-12 { grid-column: span 3; grid-row: span 4; }

.tile-caption {
  position: absolute;
  left: 16px;
  bottom: 14px;
  z-index: 4;
  font: 600 .66rem Inter, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: rgba(255,255,255,.74);
  opacity: 0;
  transform: translateY(6px);
  transition: .35s;
}

.gallery-tile:hover .tile-caption {
  opacity: 1;
  transform: none;
}

.premium-downloads .download-card {
  min-height: 250px;
  padding: 30px;
  align-items: flex-start;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.018)),
    rgba(4,12,16,.84);
}

.download-card-glow {
  position: absolute;
  right: -80px;
  bottom: -100px;
  width: 240px;
  height: 240px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(245,0,88,.21), transparent 66%);
  transition: transform .55s ease, opacity .55s;
}

.download-card:nth-child(2) .download-card-glow {
  background: radial-gradient(circle, rgba(89,209,218,.2), transparent 66%);
}

.download-card:hover .download-card-glow {
  transform: scale(1.2) translate(-8px, -10px);
}

.premium-downloads .download-card p {
  color: var(--muted);
  font-size: .83rem;
  margin: 8px 0 18px;
}

.premium-downloads .download-card i {
  position: absolute;
  left: 30px;
  bottom: 26px;
  font-style: normal;
  color: var(--cyan);
  font: 700 .7rem Inter, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.value-network {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.value-network span {
  position: relative;
  padding-left: 38px;
}

.value-network span::after {
  content: '';
  position: absolute;
  left: 5px;
  top: 50%;
  width: 20px;
  height: 1px;
  background: linear-gradient(90deg, var(--pink), var(--cyan));
}

.archive-heading {
  align-items: end;
}

.archive-note {
  max-width: 320px;
  color: var(--muted);
  line-height: 1.7;
}

.timeline-archive {
  position: relative;
  display: grid;
  gap: 32px;
  padding-left: 56px;
}

.timeline-line {
  position: absolute;
  left: 18px;
  top: 20px;
  bottom: 20px;
  width: 2px;
  background: rgba(255,255,255,.08);
}

.timeline-line span {
  display: block;
  width: 100%;
  height: 0;
  background: linear-gradient(to bottom, var(--cyan), var(--pink), var(--gold));
  box-shadow: 0 0 24px rgba(89,209,218,.35);
}

.archive-story {
  position: relative;
  min-height: 250px;
  display: grid;
  grid-template-columns: minmax(250px, .95fr) 1.05fr;
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(4,12,16,.72);
  transition: transform .4s, border-color .35s, box-shadow .4s;
}

.archive-story:hover {
  transform: translateY(-6px);
  border-color: rgba(89,209,218,.4);
  box-shadow: 0 24px 70px rgba(0,0,0,.4);
}

.archive-story.is-active {
  border-color: var(--pink);
  box-shadow: 0 0 0 1px rgba(245,0,88,.16), 0 20px 65px rgba(245,0,88,.08);
}

.archive-marker {
  position: absolute;
  left: -47px;
  top: 44px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 3px solid #02080c;
  background: var(--cyan);
  box-shadow: 0 0 0 1px rgba(89,209,218,.5), 0 0 22px rgba(89,209,218,.45);
}

.archive-story.is-active .archive-marker {
  background: var(--pink);
  box-shadow: 0 0 0 1px rgba(245,0,88,.5), 0 0 22px rgba(245,0,88,.45);
}

.archive-cover {
  position: relative;
  min-height: 250px;
  overflow: hidden;
}

.archive-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}

.archive-story:hover .archive-cover img {
  transform: scale(1.05);
}

.archive-cover-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, transparent 45%, rgba(2,8,12,.88));
}

.archive-copy {
  padding: 38px 42px;
  align-self: center;
}

.archive-copy small {
  font: 700 .62rem Inter, sans-serif;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cyan);
}

.archive-copy strong {
  display: block;
  margin: 7px 0 10px;
  font: 700 clamp(4rem, 7vw, 7rem) 'Barlow Condensed', sans-serif;
  line-height: .85;
  color: #fff;
}

.archive-copy p {
  color: var(--muted);
}

.archive-copy b {
  display: inline-block;
  margin-top: 20px;
  font: 700 .69rem Inter, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cyan);
}

.finale-section {
  position: relative;
  min-height: 86svh;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: #02070a;
}

.finale-section video,
.finale-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.finale-bg {
  background-image: var(--finale-url);
  background-size: cover;
  background-position: center;
  transform: scale(1.04);
  animation: slowZoom 18s ease-in-out infinite alternate;
}

.finale-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2,7,10,.55), rgba(2,7,10,.86)),
    radial-gradient(circle at 50% 50%, rgba(245,0,88,.13), transparent 45%);
}

.finale-content {
  position: relative;
  z-index: 2;
  width: min(900px, 88vw);
  text-align: center;
}

.finale-content p {
  margin: 0 0 18px;
  font: 600 .72rem Inter, sans-serif;
  letter-spacing: .22em;
  text-transform: uppercase;
  color: rgba(255,255,255,.58);
}

.finale-content h2 {
  margin: 0;
  font: 700 clamp(4rem, 10vw, 10rem) 'Barlow Condensed', sans-serif;
  line-height: .86;
  text-transform: uppercase;
  color: #fff;
}

.finale-content h2 em {
  color: var(--cyan);
  font-style: normal;
}

.finale-content span {
  display: block;
  margin-top: 28px;
  font: 600 .68rem Inter, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--gold);
}

.prelude-modal {
  z-index: 350;
}

.prelude-shell {
  position: relative;
  width: min(1080px, 92vw);
  min-height: 680px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.1);
  box-shadow: 0 40px 120px rgba(0,0,0,.62);
}

.prelude-backdrop {
  position: absolute;
  inset: -4%;
  background-image: var(--prelude-url);
  background-size: cover;
  background-position: center;
  filter: blur(12px) brightness(.55);
  transform: scale(1.08);
}

.prelude-shade {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(2,7,10,.97) 0%, rgba(2,7,10,.78) 44%, rgba(2,7,10,.2) 100%),
    radial-gradient(circle at 70% 35%, rgba(245,0,88,.17), transparent 30%);
}

.prelude-content {
  position: relative;
  z-index: 2;
  width: min(510px, 82%);
  padding: 90px 70px;
}

.prelude-content h2 {
  margin: 0 0 22px;
  font: 700 clamp(4rem, 8vw, 7rem) 'Barlow Condensed', sans-serif;
  line-height: .86;
  text-transform: uppercase;
  color: #fff;
}

.prelude-content h2 em {
  color: var(--cyan);
  font-style: normal;
}

.prelude-content > p {
  color: rgba(230,240,244,.72);
  line-height: 1.7;
}

.prelude-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 22px 0;
}

.prelude-meta span {
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 99px;
  background: rgba(255,255,255,.04);
  font: 700 .61rem Inter, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: #e5eef1;
}

.mobile-dock {
  display: none;
}

.main-nav a.active {
  color: var(--cyan);
}

.main-nav a.active::after {
  width: 100%;
}

@keyframes introLogo {
  from { opacity: 0; transform: translateY(14px) scale(.96); }
  to { opacity: 1; transform: none; }
}

@keyframes introLine {
  from { width: 0; opacity: 0; }
  to { width: 170px; opacity: 1; }
}

@keyframes beamMove {
  to { transform: translateX(90px) rotate(6deg); }
}

@keyframes orbitSpin {
  to { transform: rotate(360deg); }
}

@keyframes slowZoom {
  from { transform: scale(1.03); }
  to { transform: scale(1.1); }
}

@media (max-width: 980px) {
  .stats-section {
    grid-template-columns: repeat(2, 1fr);
  }

  .stat-item:nth-child(2) {
    border-right: 0;
  }

  .stat-item:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }

  .editorial-gallery {
    grid-template-columns: repeat(6, 1fr);
    grid-auto-rows: 98px;
  }

  .editorial-gallery .gallery-tile {
    grid-column: span 3 !important;
    grid-row: span 3 !important;
  }

  .editorial-gallery .gallery-tile:nth-child(4n+1) {
    grid-column: span 6 !important;
  }

  .archive-story {
    grid-template-columns: 1fr;
  }

  .archive-cover-shade {
    background: linear-gradient(180deg, transparent 40%, rgba(2,8,12,.92));
  }

  .archive-copy {
    margin-top: -90px;
    position: relative;
    z-index: 2;
  }
}

@media (max-width: 850px) {
  body {
    padding-bottom: 74px;
  }

  .brand-note {
    display: none;
  }

  .year-rail {
    margin: -18px auto 0;
    padding: 0 20px;
    align-items: flex-start;
    flex-direction: column;
  }

  .year-rail > div {
    max-width: 100%;
    overflow-x: auto;
  }

  .year-rail a {
    min-width: 62px;
  }

  .hero-intro {
    max-width: 330px;
  }

  .stats-section {
    padding: 30px 20px 70px;
  }

  .stat-item {
    padding: 20px 18px;
  }

  .editorial-gallery {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-rows: 150px;
    gap: 9px;
  }

  .editorial-gallery .gallery-tile,
  .editorial-gallery .gallery-tile:nth-child(4n+1) {
    grid-column: span 1 !important;
    grid-row: span 1 !important;
  }

  .editorial-gallery .gallery-tile:nth-child(5n+1) {
    grid-column: span 2 !important;
  }

  .timeline-archive {
    padding-left: 34px;
  }

  .timeline-line {
    left: 8px;
  }

  .archive-marker {
    left: -35px;
  }

  .archive-story {
    min-height: 0;
  }

  .archive-copy {
    padding: 28px 24px;
  }

  .mobile-dock {
    position: fixed;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    left: 10px;
    right: 10px;
    bottom: 10px;
    z-index: 80;
    padding: 7px;
    border: 1px solid rgba(255,255,255,.13);
    border-radius: 18px;
    background: rgba(3,9,13,.86);
    backdrop-filter: blur(20px);
    box-shadow: 0 18px 50px rgba(0,0,0,.42);
  }

  .mobile-dock a {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: center;
    padding: 7px 4px;
    border-radius: 12px;
    color: var(--muted);
    font: 600 .62rem Inter, sans-serif;
  }

  .mobile-dock a span {
    font-size: 1rem;
    color: #d8e3e6;
  }

  .mobile-dock a.active {
    color: #fff;
    background: linear-gradient(135deg, rgba(89,209,218,.15), rgba(245,0,88,.13));
  }

  .mobile-dock a.active span {
    color: var(--cyan);
  }

  .site-footer {
    padding-bottom: 105px;
  }

  .stage-beams {
    opacity: .08;
  }

  .prelude-shell {
    min-height: 72svh;
  }

  .prelude-content {
    padding: 70px 30px;
    width: 88%;
  }
}

@media (max-width: 520px) {
  .intro-stage img {
    width: 150px;
  }

  .year-rail > span {
    display: none;
  }

  .year-rail {
    align-items: center;
  }

  .stats-section {
    grid-template-columns: 1fr 1fr;
  }

  .stat-item strong {
    font-size: 3.35rem;
  }

  .editorial-gallery {
    grid-auto-rows: 118px;
  }

  .value-network {
    grid-template-columns: 1fr;
  }

  .finale-content h2 {
    font-size: clamp(3.7rem, 16vw, 6.2rem);
  }

  .prelude-content h2 {
    font-size: 4.2rem;
  }

  .prelude-meta {
    gap: 7px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-curtain {
    display: none;
  }

  .stage-beams,
  .hero-orbit {
    display: none;
  }

  [data-parallax] {
    transform: none !important;
  }
}


/* =========================================================
   TANZWERK OBING · VERSION 6 — SMART CINEMA
   ========================================================= */

.utility-actions {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 75;
  display: flex;
  flex-direction: column;
  gap: 9px;
}

.utility-button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 50%;
  background: rgba(3,10,14,.76);
  backdrop-filter: blur(18px);
  color: #f5f8f9;
  font: 500 1.25rem Inter, sans-serif;
  cursor: pointer;
  box-shadow: 0 14px 40px rgba(0,0,0,.34);
  transition: transform .3s, border-color .3s, background .3s, box-shadow .3s;
}

.utility-button:hover {
  transform: translateY(-3px);
  border-color: rgba(89,209,218,.48);
  background: rgba(7,22,28,.9);
  box-shadow: 0 18px 50px rgba(0,0,0,.44), 0 0 28px rgba(89,209,218,.1);
}

.utility-button.install-button {
  color: var(--cyan);
}

.resume-note {
  margin: 4px 0 20px;
  padding: 13px 15px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
  border: 1px solid rgba(89,209,218,.2);
  border-radius: 12px;
  background: rgba(89,209,218,.07);
}

.resume-note span {
  font: 700 .58rem Inter, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cyan);
}

.resume-note strong {
  color: #fff;
  font-size: .86rem;
}

.resume-note button {
  padding: 7px 9px;
  border: 0;
  border-radius: 7px;
  background: rgba(255,255,255,.07);
  color: rgba(255,255,255,.72);
  font-size: .7rem;
  cursor: pointer;
}

.resume-note button:hover {
  color: #fff;
  background: rgba(245,0,88,.15);
}

.chapter-panel {
  padding: 18px 18px 8px;
  border-top: 1px solid rgba(255,255,255,.08);
  background: #061016;
}

.chapter-heading {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 12px;
}

.chapter-heading span {
  font: 700 .72rem Inter, sans-serif;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cyan);
}

.chapter-heading small {
  color: var(--muted);
  font-size: .7rem;
}

.chapter-list {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding-bottom: 10px;
  scrollbar-width: thin;
}

.chapter-list button {
  min-width: 190px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 9px;
  align-items: center;
  padding: 11px 13px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 10px;
  background: rgba(255,255,255,.035);
  color: #fff;
  text-align: left;
  cursor: pointer;
  transition: .28s;
}

.chapter-list button:hover,
.chapter-list button.active {
  border-color: rgba(89,209,218,.4);
  background: linear-gradient(135deg, rgba(89,209,218,.12), rgba(245,0,88,.08));
}

.chapter-list button span {
  color: var(--pink);
  font: 700 .66rem Inter, sans-serif;
}

.chapter-list button strong {
  font-size: .76rem;
  font-weight: 600;
}

.gallery-topbar [data-gallery-favorite].active {
  color: #fff;
  border-color: rgba(245,0,88,.55);
  background: rgba(245,0,88,.14);
}

.favorite-toast {
  position: absolute;
  left: 50%;
  bottom: 30px;
  z-index: 8;
  padding: 10px 15px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 999px;
  background: rgba(4,12,16,.88);
  color: #fff;
  font: 600 .72rem Inter, sans-serif;
  opacity: 0;
  transform: translate(-50%, 14px);
  pointer-events: none;
  transition: opacity .3s, transform .3s;
  box-shadow: 0 14px 45px rgba(0,0,0,.4);
}

.favorite-toast.show {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (max-width: 850px) {
  .utility-actions {
    right: 14px;
    bottom: 92px;
  }

  .utility-button {
    width: 42px;
    height: 42px;
  }

  .resume-note {
    grid-template-columns: 1fr auto;
  }

  .resume-note span {
    grid-column: 1 / -1;
  }

  .chapter-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 4px;
  }
}

@media (max-width: 520px) {
  .utility-actions {
    right: 11px;
  }

  .resume-note {
    grid-template-columns: 1fr;
  }

  .resume-note button {
    justify-self: start;
  }

  .chapter-list button {
    min-width: 165px;
  }

  .gallery-topbar {
    align-items: flex-start;
  }

  .gallery-topbar > div {
    gap: 5px;
  }

  .gallery-topbar button,
  .gallery-topbar a {
    padding: 7px 8px;
    font-size: .62rem;
  }
}

/* =========================================================
   VERSION 6.1 — MOBILE POLISH
   Korrektur für schmale iPhone-Displays
   ========================================================= */

@media (max-width: 430px) {
  html,
  body {
    max-width: 100%;
    overflow-x: clip;
  }

  .site-header {
    top: 9px;
    width: calc(100% - 20px);
    min-height: 88px;
    padding: 10px 14px;
    border-radius: 18px;
  }

  .brand img {
    width: 88px;
  }

  .hero-content {
    width: 100%;
    max-width: 100%;
    padding: 132px 16px 112px;
  }

  .eyebrow {
    font-size: .78rem;
    letter-spacing: .27em;
  }

  .hero h1 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(3.85rem, 17.2vw, 4.65rem);
    line-height: .79;
    letter-spacing: .025em;
  }

  .hero h1 span,
  .hero h1 strong {
    max-width: 100%;
  }

  .hero-tagline {
    margin: 28px 0 24px;
    font-size: .82rem;
    letter-spacing: .18em;
  }

  .hero-intro {
    max-width: 330px;
    margin-bottom: 23px;
    font-size: .9rem;
    line-height: 1.65;
  }

  .play-cta {
    min-width: 0;
    width: 100%;
    gap: 14px;
    font-size: 1.05rem;
    letter-spacing: .11em;
  }

  .play-icon {
    flex: 0 0 auto;
    width: 60px;
    height: 60px;
  }

  .utility-actions {
    right: 12px;
    bottom: 158px;
  }

  .utility-button {
    width: 40px;
    height: 40px;
  }

  .scroll-cue {
    bottom: 92px;
  }

  .mobile-dock {
    left: 10px;
    right: 10px;
    bottom: max(10px, env(safe-area-inset-bottom));
  }
}

@media (max-width: 370px) {
  .hero-content {
    padding-left: 14px;
    padding-right: 14px;
  }

  .hero h1 {
    font-size: clamp(3.55rem, 16.7vw, 4.05rem);
    letter-spacing: .015em;
  }

  .play-cta {
    font-size: .98rem;
  }
}


/* =========================================================
   VERSION 6.2 — MOBILE GALLERY FIX
   Ruhige Werkzeugleiste und vollständig sichtbare Bildpfeile
   ========================================================= */

@media (max-width: 620px) {
  .gallery-modal {
    padding: 72px 12px 94px;
    align-items: center;
  }

  .gallery-modal figure {
    width: 100%;
    max-width: 100%;
    margin: 0;
  }

  .gallery-modal img {
    max-width: 100%;
    max-height: calc(100svh - 190px);
  }

  .gallery-topbar {
    left: max(16px, env(safe-area-inset-left));
    right: 72px;
    top: max(15px, env(safe-area-inset-top));
    min-height: 44px;
    align-items: center;
  }

  .gallery-topbar > span {
    max-width: calc(100vw - 110px);
    font-size: .82rem;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  .gallery-topbar > div {
    position: fixed;
    z-index: 6;
    left: max(12px, env(safe-area-inset-left));
    right: max(12px, env(safe-area-inset-right));
    bottom: max(18px, calc(env(safe-area-inset-bottom) + 10px));
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 7px;
    padding: 8px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 16px;
    background: rgba(3,10,14,.88);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    box-shadow: 0 15px 45px rgba(0,0,0,.45);
  }

  .gallery-topbar button,
  .gallery-topbar a {
    min-width: 0;
    height: 48px;
    padding: 5px 3px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    border: 0;
    border-radius: 11px;
    background: transparent;
    font-size: .58rem;
    line-height: 1;
    white-space: nowrap;
  }

  /* Alte pauschale Play-Symbole aus der bisherigen Handy-Regel neutralisieren. */
  .gallery-topbar button::before,
  .gallery-topbar a::before {
    display: block;
    font-size: 1.08rem;
    line-height: 1;
  }

  .gallery-topbar [data-gallery-favorite]::before { content: '♡'; }
  .gallery-topbar [data-gallery-favorite].active::before { content: '♥'; }
  .gallery-topbar [data-gallery-share]::before { content: '↗'; }
  .gallery-topbar [data-gallery-slideshow]::before { content: '▶'; }
  .gallery-topbar [data-gallery-slideshow].active::before { content: '■'; }
  .gallery-topbar #galleryDownload::before { content: '↓'; }

  .gallery-topbar [data-gallery-favorite] {
    font-size: 0;
  }
  .gallery-topbar [data-gallery-favorite]::after {
    content: 'Favorit';
    font-size: .58rem;
  }

  .gallery-topbar [data-gallery-share] {
    font-size: 0;
  }
  .gallery-topbar [data-gallery-share]::after {
    content: 'Teilen';
    font-size: .58rem;
  }

  .gallery-topbar [data-gallery-slideshow] {
    font-size: 0;
  }
  .gallery-topbar [data-gallery-slideshow]::after {
    content: 'Diashow';
    font-size: .58rem;
  }

  .gallery-topbar #galleryDownload {
    font-size: 0;
  }
  .gallery-topbar #galleryDownload::after {
    content: 'Download';
    font-size: .58rem;
  }

  .gallery-topbar button:active,
  .gallery-topbar a:active,
  .gallery-topbar button.active {
    background: rgba(89,209,218,.1);
  }

  .gallery-modal .modal-close {
    top: max(10px, env(safe-area-inset-top));
    right: max(12px, env(safe-area-inset-right));
    width: 44px;
    height: 44px;
    border-color: rgba(255,255,255,.22);
    background: rgba(3,10,14,.76);
    font-size: 1.65rem;
    line-height: 1;
  }

  .gallery-nav {
    z-index: 5;
    top: 50%;
    width: 46px;
    height: 58px;
    border-radius: 16px;
    background: rgba(1,7,10,.66);
    border-color: rgba(255,255,255,.16);
    font-size: 2.2rem;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
  }

  .gallery-nav.prev {
    left: max(10px, env(safe-area-inset-left));
  }

  .gallery-nav.next {
    right: max(10px, env(safe-area-inset-right));
  }

  .gallery-progress {
    bottom: max(84px, calc(env(safe-area-inset-bottom) + 76px));
    width: min(58vw, 300px);
  }

  .favorite-toast {
    bottom: max(102px, calc(env(safe-area-inset-bottom) + 94px));
  }
}

@media (max-width: 380px) {
  .gallery-topbar > div {
    gap: 4px;
    padding: 6px;
  }

  .gallery-topbar button,
  .gallery-topbar a {
    height: 44px;
  }

  .gallery-nav {
    width: 42px;
    height: 54px;
  }
}
