:root{--red:#e56540;--accent-fill:#b94325;--black:#101010;--white:#f4f1ec;--muted:#a4a29f}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--black);color:var(--white);font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a,input,textarea,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:5px}.skip{position:fixed;top:-100px;background:white;color:black;padding:16px;z-index:10}.skip:focus{top:0}header{height:92px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #333}.logo{font-size:29px;font-weight:950;letter-spacing:-2px}.logo span{font-size:12px;vertical-align:top;letter-spacing:0;margin-left:4px}nav{display:flex;gap:35px;font-size:13px}nav a:hover,.text-link:hover{color:var(--red)}.small-button{border:1px solid #777;padding:12px 21px;background:transparent;color:inherit;cursor:pointer;font-size:13px}.hero{min-height:680px;padding:32px 5% 58px;position:relative;overflow:hidden}.hero-top{display:flex;justify-content:space-between;font-size:10px;letter-spacing:2px;position:relative;z-index:2}.hero-top i{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--red);margin-right:8px}h1{font-size:clamp(85px,13vw,190px);line-height:.87;letter-spacing:-.075em;margin:75px 0 48px;position:relative;z-index:2;font-weight:900}em{font-style:normal;color:var(--red)}.hero-bottom{display:flex;align-items:center;gap:65px;position:relative;z-index:2}.hero-bottom p{line-height:1.6;font-size:14px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:65px;background:var(--red);color:white;padding:20px 26px;border:0;font-size:14px;font-weight:bold;cursor:pointer}.button:hover{background:#a93920}.button span{font-size:24px}.vertical{margin-left:auto;font-size:10px;letter-spacing:2px}.orb{position:absolute;width:540px;height:540px;border-radius:50%;right:-40px;top:65px;background:repeating-radial-gradient(ellipse at 38% 50%,transparent 0 8px,#e5654066 9px 10px,transparent 11px 18px);transform:rotate(-25deg) scaleX(.85);box-shadow:inset -55px -10px 120px #e5654040;opacity:.8}.hero-label{position:absolute;right:100px;top:300px;font-size:24px;letter-spacing:8px;transform:rotate(-90deg);opacity:.4}.ticker{background:var(--red);padding:19px 0;white-space:nowrap;overflow:hidden;font-size:22px;font-weight:bold;letter-spacing:1px}.ticker span{margin:0 40px}.section{padding:100px 7%;scroll-margin-top:20px}.section-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:45px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);margin:0 0 25px}h2{font-size:clamp(46px,6vw,80px);letter-spacing:-.055em;line-height:1.02;margin:0}h3{font-size:25px;letter-spacing:-.6px;margin:15px 0}.section-head>p{font-size:14px;line-height:1.6;color:var(--muted)}.empty-event{display:flex;align-items:center;gap:48px;border-top:1px solid #555;border-bottom:1px solid #555;padding:36px 0}.date-block{font-size:50px;font-weight:bold;color:var(--red)}.date-block span{display:block;font-size:9px;letter-spacing:1px;margin-top:8px;color:var(--muted)}.tag{font-size:9px;letter-spacing:1.5px}.empty-event p{color:var(--muted);line-height:1.6;font-size:14px}.empty-event>a{margin-left:auto;font-size:38px}.note{font-size:12px;line-height:1.7;color:var(--muted);margin-top:22px}.about{background:#191919;display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center}.portrait-placeholder{height:440px;background:var(--red);padding:25px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.portrait-placeholder>div{font-size:300px;line-height:.8;font-weight:900;letter-spacing:-25px;color:var(--black);align-self:center}.portrait-placeholder>div span{font-size:110px;letter-spacing:0}.portrait-placeholder>p{font-size:14px;font-weight:bold;line-height:1.2;letter-spacing:1px}.intro{font-size:19px;line-height:1.6;margin-top:30px}.muted{color:var(--muted);font-size:14px;line-height:1.7}.text-link{display:inline-block;margin-top:25px;border-bottom:1px solid #555;padding-bottom:10px;font-size:14px}.media-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px}.media{padding:24px;min-height:370px;display:flex;flex-direction:column;justify-content:flex-end;background:#202020;overflow:hidden}.media .tag{align-self:flex-start;margin-bottom:auto}.graphic{font-size:140px;align-self:center;line-height:1.5}.media h3{font-size:22px}.media p{font-size:13px;color:var(--muted);line-height:1.5}.photo .graphic{color:var(--red)}.reel{background:var(--red)}.reel .graphic{color:var(--black);transform:rotate(-15deg)}.reel p{color:#fff}.video{background:#e7e4df;color:var(--black)}.video p{color:#555}.video .graphic{color:var(--red)}.booking{display:grid;grid-template-columns:1fr 1fr;gap:7%;background:#1b1b1b}.booking h2{font-size:clamp(40px,5vw,68px)}.booking p{line-height:1.7}.booking-note{font-size:12px;max-width:320px;color:var(--muted);margin-top:35px}form label{font-size:12px;display:block;line-height:1.5}input,textarea{display:block;width:100%;margin-top:9px;margin-bottom:23px;padding:14px 12px;border:1px solid #535353;background:#141414;color:white;border-radius:0}input:focus,textarea:focus{outline:2px solid var(--red)}input::placeholder,textarea::placeholder{color:#929292}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}form>.button{width:100%}#result{margin-top:25px}#copy-status{font-size:13px}.faq h2{margin-bottom:45px}details{border-top:1px solid #444;padding:24px 0}details:last-child{border-bottom:1px solid #444}summary{cursor:pointer;font-size:17px}details p{max-width:760px;line-height:1.7;color:var(--muted);font-size:14px}footer{border-top:1px solid #444;padding:45px 5%;display:flex;align-items:center;gap:35px;flex-wrap:wrap}footer p{font-size:10px;letter-spacing:2px;margin-right:auto}footer button{background:none;border:0;color:var(--muted);cursor:pointer;padding:8px;font-size:12px}footer small{font-size:10px;color:var(--muted)}dialog{max-width:560px;background:#191919;color:var(--white);border:1px solid #555;padding:40px}dialog::backdrop{background:#000b}dialog h2{font-size:36px}dialog p{line-height:1.7}#close-legal{float:right;background:none;border:0;color:white;font-size:24px;cursor:pointer}@media(max-width:760px){header{height:76px}.logo{font-size:24px}nav{gap:15px;font-size:11px}nav a:nth-child(2){display:none}.small-button{padding:10px 12px}.hero{min-height:620px;padding-top:25px}.hero-top{font-size:8px;letter-spacing:1px}.hero-top>span:nth-child(2){display:none}h1{margin-top:110px;font-size:clamp(73px,16vw,120px)}.orb{width:390px;height:390px;right:-200px}.hero-label,.vertical{display:none}.hero-bottom{align-items:flex-start;gap:18px;flex-direction:column}.hero-bottom p{font-size:13px}.hero-bottom .button{padding:13px 22px}.ticker{font-size:16px}.section{padding:65px 6%}.section-head{display:block}.section-head>p{margin-top:24px}.empty-event{gap:22px}.date-block{font-size:35px}.date-block span{font-size:7px}h3{font-size:20px}.empty-event p{font-size:12px}.about,.booking{grid-template-columns:1fr;gap:40px}.portrait-placeholder{height:340px}.portrait-placeholder>div{font-size:230px}.media-grid{grid-template-columns:1fr}.media{min-height:310px}.graphic{font-size:110px}.form-row{grid-template-columns:1fr;gap:0}footer{gap:20px}footer p{width:55%;font-size:8px}dialog{margin:20px}summary{font-size:15px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Motion layer: preserves the original layout, palette and native scrolling. */
:root { --motion-ease: cubic-bezier(.22, 1, .36, 1); }
.button, .small-button, .media, .empty-event > a, .text-link, nav a, footer button {
  transition: transform 280ms var(--motion-ease), background-color 240ms ease,
    color 240ms ease, border-color 240ms ease;
}
.button span { display: inline-block; transition: transform 280ms var(--motion-ease); }
/* Decorative backgrounds stay static: no per-frame gradient-layer retargeting. */
.media { transition: translate 280ms var(--motion-ease); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .button:hover, .small-button:hover { transform: translateY(-2px); }
  .button:hover span { transform: translate(2px, -2px); }
  .small-button:hover { border-color: var(--white); }
  .media:hover { translate: 0 -3px; }
  .text-link:hover, .empty-event > a:hover { transform: translateY(-2px); }
  footer button:hover { color: var(--white); }
}
@media (prefers-reduced-motion: no-preference) {
  .button:active, .small-button:active { transform: translateY(0); transition-duration: 100ms; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .button, .small-button, .button span, .media, .empty-event > a,
  .text-link, nav a, footer button, .orb, .portrait-placeholder > div { transition: none; }
  .orb, .portrait-placeholder > div { translate: none !important; }
}

/* Upcoming dates retain the original open rows and red/black palette. */
.availability-note { color:var(--muted); font-size:13px; line-height:1.6; }
.date-month { margin:50px 0; }
.month-title { display:flex; align-items:baseline; justify-content:space-between; font-size:30px; margin:0 0 22px; }
.month-title span { color:var(--muted); font-size:13px; font-weight:normal; letter-spacing:2px; }
.event-row { display:grid; grid-template-columns:115px 1fr 25px; gap:25px; align-items:center; min-height:108px; border-top:1px solid #444; padding:23px 0; }
.event-row:last-child { border-bottom:1px solid #444; }
.event-row time { color:var(--red); font-size:30px; font-weight:bold; letter-spacing:-1px; font-variant-numeric:tabular-nums; }
.event-info h4 { font-size:21px; margin:0; letter-spacing:-.3px; }
.event-info p { font-size:12px; letter-spacing:1.4px; color:var(--muted); margin:10px 0 0; }
.event-status { font-size:26px; color:var(--red); }
.book-date { display:inline-block; color:var(--white); background:transparent; border:1px solid var(--red); padding:12px 17px; font-size:13px; font-weight:bold; letter-spacing:.5px; cursor:pointer; transition:background-color .2s ease,transform .25s var(--motion-ease); }
.book-date:disabled { cursor:default; }
.book-date:not(:disabled):hover { background:var(--red); transform:translateY(-2px); }
.book-date:focus-visible { outline:2px solid var(--white); outline-offset:4px; }
.ticker { position:relative; padding:19px 0; }
.ticker-track { display:flex; width:max-content; animation:ticker-right 42s linear infinite; animation-play-state:paused; }
.ticker-group { flex:none; min-width:100vw; white-space:nowrap; }
.ticker-running .ticker-track { animation-play-state:running; }
.ticker-toggle { position:absolute; right:10px; top:50%; transform:translateY(-50%); border:1px solid #fff7; background:var(--red); color:white; width:30px; height:30px; font-size:16px; cursor:pointer; }
@keyframes ticker-right { from { transform:translate3d(-50%,0,0); } to { transform:translate3d(0,0,0); } }
@media(max-width:760px) {
  .event-row { grid-template-columns:70px 1fr 16px; gap:12px; min-height:96px; padding:20px 0; }
  .event-row time { font-size:25px; }
  .event-info h4 { font-size:16px; line-height:1.4; overflow-wrap:anywhere; }
  .book-date { font-size:11px; padding:12px 10px; }
  .month-title { font-size:26px; }
}
@media(prefers-reduced-motion:reduce) {
  .ticker-track { animation:none; transform:none; }
  .book-date { transition:none; }
  .book-date:not(:disabled):hover { transform:none; }
}

/* Give the uppercase navigation a dedicated row on small screens. */
@media(max-width:760px) {
  header { height:auto; min-height:76px; flex-wrap:wrap; gap:16px; padding:16px 5%; }
  header nav { order:3; width:100%; justify-content:center; gap:28px; }
  header nav a, header .small-button { white-space:nowrap; }
  header nav a:nth-child(2) { display:inline; }
}

.portrait-photo { height:440px; overflow:hidden; background:var(--black); }
.portrait-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 60%; transform:scale(1.12); transform-origin:50% 60%; }
@media(max-width:760px) { .portrait-photo { height:340px; } }

/* A static portrait replaces the decorative hero graphic. */
.hero { isolation:isolate; }
.hero h1 { font-size:clamp(76px,9vw,135px); line-height:.97; letter-spacing:-.06em; margin-top:85px; }
.hero-photo { position:absolute; z-index:-1; inset:0 0 0 44%; overflow:hidden; pointer-events:none; }
.hero-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:50% 59%; transform:scale(1.12); transform-origin:50% 59%; }
.hero-photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,var(--black) 0%,rgba(16,16,16,.6) 20%,rgba(16,16,16,.08) 65%),linear-gradient(0deg,var(--black) 0%,transparent 22%,transparent 78%,rgba(16,16,16,.65) 100%); }
@media(max-width:760px) {
  .hero h1 { font-size:clamp(54px,12.5vw,92px); margin-top:110px; }
  .hero-photo { left:10%; }
  .hero-photo::after { background:linear-gradient(90deg,rgba(16,16,16,.9),rgba(16,16,16,.35)),linear-gradient(0deg,var(--black),transparent 58%,rgba(16,16,16,.55)); }
}

.instagram-card { display:block; min-width:0; overflow:hidden; background:#1c1c1c; transition:translate .28s var(--motion-ease); }
.instagram-image { position:relative; aspect-ratio:4/5; overflow:hidden; }
.instagram-image img { width:100%; height:100%; display:block; object-fit:cover; }
.instagram-open { position:absolute; right:14px; bottom:14px; background:var(--red); padding:7px 13px; font-size:26px; }
.instagram-caption { padding:24px; }
.instagram-caption .eyebrow { margin-bottom:16px; }
.instagram-caption h3 { font-size:20px; margin:0 0 12px; }
.instagram-caption > span { color:var(--muted); font-size:12px; }
.live-sets { background:#151515; }
.set-player { aspect-ratio:16/9; background:#080808; overflow:hidden; }
.set-player iframe { display:block; width:100%; height:100%; border:0; }
.set-load { width:100%; height:100%; position:relative; display:flex; align-items:center; justify-content:center; border:1px solid #444; color:var(--white); background:radial-gradient(ellipse at 80% 20%,#542c20,transparent 65%),#111; cursor:pointer; }
.set-art { font-size:clamp(40px,8vw,110px); line-height:.95; text-align:left; font-weight:900; letter-spacing:-.06em; margin-right:12%; }
.set-play { display:grid; place-items:center; border:1px solid var(--red); width:90px; height:90px; border-radius:50%; color:var(--red); font-size:46px; }
.set-cta { position:absolute; left:5%; bottom:8%; font-size:12px; letter-spacing:2px; }
.set-details { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-top:25px; }
.set-details .eyebrow { margin-bottom:10px; }
.set-details h3 { margin:0; }
.hero-film { inset:0; }
.hero-film video { display:block; width:100%; height:100%; object-fit:cover; object-position:57% center; }
.hero-film::after { background:linear-gradient(90deg,rgba(16,16,16,.95) 0%,rgba(16,16,16,.65) 35%,rgba(16,16,16,.18) 75%),linear-gradient(0deg,var(--black) 0%,rgba(16,16,16,.6) 10%,transparent 32%,transparent 72%,rgba(16,16,16,.65) 91%,var(--black) 100%); }
.hero-video-toggle { position:absolute; bottom:20px; right:5%; z-index:3; font-size:10px; background:#101010aa; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) { .instagram-card:hover { translate:0 -4px; } .set-load:hover .set-play { background:var(--red); color:white; } }
@media(max-width:760px) {
  header nav { gap:18px; font-size:10px; }
  .hero-film { left:0; }
  .hero-film::after { background:linear-gradient(90deg,rgba(16,16,16,.8),rgba(16,16,16,.35)),linear-gradient(0deg,var(--black),transparent 45%,transparent 65%,var(--black)); }
  .set-art { font-size:36px; }
  .set-play { width:52px; height:52px; font-size:30px; }
  .set-cta { font-size:8px; letter-spacing:1px; }
  .set-details { display:block; }
}
@media(prefers-reduced-motion:reduce) { .instagram-card { transition:none; } }

/* Warm ember accents echo the live-set lighting; deep clay keeps white button labels readable. */
.button, .instagram-open, .ticker, .ticker-toggle { background:var(--accent-fill); }
.book-date:not(:disabled):hover, .set-load:hover .set-play { background:var(--accent-fill); }

/* ÄNDERUNG 2026-11-10: SVG-Logo, fehlende Pfeilglyphen, Social-Icons und Rechtstexte. */
.brand-logo { display:inline-flex; align-items:center; min-height:44px; flex-shrink:0; }
.brand-logo img { display:block; width:170px; height:auto; }
.arrow-icon { display:inline-block; width:1em; height:1em; fill:none; stroke:currentColor; stroke-width:1.8; vertical-align:-.12em; }
.button .arrow-icon { width:24px; height:24px; }
.event-status .arrow-icon { width:26px; height:26px; }
.social-links { display:flex; gap:10px; flex-wrap:wrap; }
.social-links a { width:44px; height:44px; display:inline-flex; align-items:center; justify-content:center; border:1px solid #555; color:var(--white); transition:transform .2s ease,color .2s ease,border-color .2s ease; }
.social-links svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
@media(hover:hover) { .social-links a:hover { color:var(--red); border-color:var(--red); transform:scale(1.06); } }
.legal-links { display:flex; gap:16px; flex-wrap:wrap; }
.legal-links a { min-height:44px; display:inline-flex; align-items:center; color:var(--muted); font-size:12px; }
.legal-links a:hover { color:var(--red); }
.legal-page { max-width:1000px; margin:auto; }
.legal-page h1 { font-size:clamp(36px,6vw,70px); line-height:1.05; margin:20px 0 45px; letter-spacing:-.04em; overflow-wrap:anywhere; }
.legal-page h2 { font-size:25px; letter-spacing:-.02em; margin:38px 0 16px; line-height:1.25; }
.legal-page p,.legal-page li,.legal-page address { font-size:16px; line-height:1.75; font-style:normal; color:var(--white); }
.legal-page a:not(.small-button), #youtube-consent p a { text-decoration:underline; text-underline-offset:4px; }
.legal-page li { margin-bottom:12px; }
.legal-note { border-left:2px solid var(--red); padding:12px 20px; background:#191919; }
.consent-actions { display:flex; flex-wrap:wrap; gap:12px; }
#youtube-consent { max-width:600px; }
#youtube-consent h2 { font-size:30px; }
#youtube-revoke { margin-top:22px; }
[hidden] { display:none!important; }
@media(max-width:760px) { .brand-logo img { width:145px; } .legal-header nav { width:auto; order:initial; } footer .social-links,footer .legal-links { width:100%; } .legal-page { padding-top:45px; } }
@media(prefers-reduced-motion:reduce) { .social-links a { transition:none; } .social-links a:hover { transform:none; } }

/* Keep all footer links visible despite the legacy mobile navigation rule. */
.social-links a:nth-child(2), .legal-links a:nth-child(2) { display:inline-flex; }

/* Ticket links only change rows with a supplied ticket destination. */
.event-row.has-tickets { grid-template-columns:115px minmax(0,1fr) auto; }
.ticket-button { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:11px 14px; border:1px solid var(--red); color:var(--white); font-size:12px; font-weight:bold; letter-spacing:.5px; transition:background-color .2s ease,transform .25s var(--motion-ease); }
.ticket-button .arrow-icon { width:18px; height:18px; }
@media(hover:hover) { .ticket-button:hover { background:var(--accent-fill); transform:translateY(-2px); } }
@media(max-width:760px) { .event-row.has-tickets { grid-template-columns:70px minmax(0,1fr); } .has-tickets .ticket-button { grid-column:2; justify-self:start; } }
@media(prefers-reduced-motion:reduce) { .ticket-button { transition:none; } .ticket-button:hover { transform:none; } }

/* Static, softly diffused stage-light tones; no animated blur or scroll work. */
#dates {
 background-color:var(--black);
 background-image:linear-gradient(180deg,#101010 0%,transparent 9%,transparent 91%,#101010 100%),radial-gradient(ellipse 75% 24% at 100% 14%,rgba(144,61,37,.25),transparent 74%),radial-gradient(ellipse 65% 21% at -10% 50%,rgba(99,43,34,.22),transparent 76%),radial-gradient(ellipse 70% 25% at 100% 80%,rgba(116,70,37,.20),transparent 75%);
}

/* Language controls and factual DJ profile, added 2026-11-10. */
.month-title { text-transform:uppercase; }
.profile-tags,.recent-sets ul { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.profile-tags { margin:25px 0; }
.profile-tags li { padding:9px 11px; border:1px solid #555; color:var(--white); font-size:11px; letter-spacing:.7px; }
.recent-sets h3 { margin:20px 0 10px; font-size:12px; letter-spacing:1.5px; color:var(--red); }
.recent-sets ul { margin:0; gap:8px 18px; font-size:14px; color:var(--muted); line-height:1.5; }
header { gap:20px; }
header > nav { gap:22px; flex-wrap:wrap; }
header > .small-button { margin-left:auto; white-space:nowrap; }
.language-switch { display:flex; flex-shrink:0; gap:4px; }
.language-switch button { width:44px; min-height:44px; border:1px solid #555; background:transparent; color:var(--white); font-size:12px; cursor:pointer; }
.language-switch button[aria-pressed="true"] { background:var(--accent-fill); border-color:var(--accent-fill); font-weight:bold; }
.language-switch button:hover { border-color:var(--red); }
.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:1150px) {
 header { height:auto; min-height:92px; padding:16px 5%; flex-wrap:wrap; gap:12px; }
 header > nav { order:4; width:100%; justify-content:center; gap:12px 24px; }
 header > nav a { display:inline-flex!important; align-items:center; min-height:44px; white-space:normal; }
 .legal-header > nav { width:auto; margin-left:auto; order:initial; }
}

/* Mobile navigation: one shared set of links and language buttons. */
.header-panel { display:flex; flex:1; align-items:center; justify-content:flex-end; gap:24px; min-width:0; }
.header-panel nav { gap:22px; }
.header-panel > .small-button { white-space:nowrap; }
.menu-toggle,.menu-close,.menu-language-label { display:none; }
.hero-film { background: #101010 url('assets/hero-tribu-20261112.webp') 57% center / cover no-repeat; }
.hero-film video { opacity:0; }
.hero-film.hero-has-frame video { opacity:1; }
.hero-film.hero-motion-reduced video { opacity:0; }
.hero-video-toggle { min-height:44px; }
@media(min-width:761px) and (max-width:1150px) {
 .header-panel { flex-wrap:wrap; gap:8px 20px; }
 .header-panel > nav { flex-basis:100%; order:2; justify-content:flex-end; }
 .header-panel > nav a { min-height:44px; display:inline-flex; align-items:center; }
 .legal-header .header-panel > nav { flex-basis:auto; order:0; }
}
@media(max-width:760px) {
 header.nav-ready { height:76px; min-height:76px; padding:10px 6%; flex-wrap:nowrap; position:relative; z-index:20; }
 header.nav-ready > .brand-logo img { width:145px; }
 .menu-toggle,.menu-close { display:flex; width:48px; height:48px; flex:none; border:1px solid #555; background:var(--black); color:var(--white); cursor:pointer; align-items:center; justify-content:center; }
 .menu-toggle { margin-left:auto; flex-direction:column; gap:5px; }
 .menu-toggle span { width:22px; height:2px; background:currentColor; }
 .menu-close { position:absolute; right:6%; top:14px; }
 .menu-close svg { width:26px; height:26px; stroke:currentColor; stroke-width:1.8; fill:none; }
 header.nav-ready .header-panel { position:fixed; inset:0; height:100vh; height:100dvh; background:#141414; padding:90px 8% max(28px,env(safe-area-inset-bottom)); display:flex; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:12px; overflow-y:auto; overscroll-behavior:contain; visibility:hidden; opacity:0; transform:translateY(-12px); pointer-events:none; transition:opacity 180ms ease-out,transform 180ms ease-out,visibility 0s linear 180ms; z-index:30; }
 header.menu-open .header-panel { visibility:visible; opacity:1; transform:translateY(0); pointer-events:auto; transition-delay:0s; }
 header.menu-open .menu-toggle { visibility:hidden; }
 .header-panel > nav { display:flex; flex-direction:column; order:0; width:100%; gap:0; font-size:clamp(19px,5vw,25px); }
 .header-panel > nav a,.header-panel > nav a:nth-child(2) { display:flex!important; align-items:center; min-height:56px; padding:12px 0; border-bottom:1px solid #353535; line-height:1.3; }
 .header-panel > .small-button { margin:6px 0 12px; min-height:52px; display:flex; align-items:center; justify-content:space-between; font-size:18px; }
 .header-panel .menu-language-label { display:block; margin:10px 0 0; padding-top:22px; border-top:1px solid #555; color:var(--muted); font-size:11px; letter-spacing:2px; }
 .header-panel .language-switch { margin:0; gap:10px; }
 .language-switch button { width:54px; height:48px; }
 .menu-locked { overflow:hidden; }
 .hero { min-height:max(600px,calc(100svh - 76px)); padding:26px 6% 88px; }
 .hero h1 { font-size:clamp(40px,11.8vw,76px); margin:74px 0 36px; overflow-wrap:normal; }
 .hero-bottom { gap:20px; }
 .hero-bottom p { font-size:15px; line-height:1.7; margin:0; }
 .hero-bottom .button { min-height:54px; padding:16px 20px; gap:28px; max-width:100%; }
 .hero-film,.hero-film video { object-position:57% center; background-position:57% center; }
 .section { padding:58px 6%; }
 .section-head { margin-bottom:32px; }
 h2 { font-size:clamp(36px,10.5vw,56px); }
 .about-copy,.booking > *,form,.event-info { min-width:0; }
 .portrait-photo { height:auto; aspect-ratio:1; }
 .profile-tags { margin:24px 0; }
 .date-month { margin:36px 0; }
 .event-row time { font-size:23px; }
 .event-row { grid-template-columns:68px minmax(0,1fr) 20px; gap:10px; }
 .event-row.has-tickets { grid-template-columns:68px minmax(0,1fr); }
 .book-date { min-height:44px; display:inline-flex; align-items:center; line-height:1.4; }
 .event-status { min-width:20px; }
 .event-status a { min-height:44px; display:inline-flex; align-items:center; }
 .ticker-toggle { width:44px; height:44px; }
 .instagram-caption { padding:20px; }
 input,textarea { font-size:16px; min-height:48px; }
 .booking h2 { font-size:clamp(34px,9.5vw,50px); overflow-wrap:normal; }
 .button { gap:20px; }
 .text-link { min-height:44px; }
 .set-art { font-size:clamp(27px,8vw,45px); margin-right:7%; }
 .set-play { flex-shrink:0; }
 dialog { max-height:calc(100dvh - 32px); overflow-y:auto; padding:24px; margin:auto 16px; }
 dialog h2,#youtube-consent h2 { font-size:26px; }
 .consent-actions > button { min-height:48px; }
 footer { padding:32px 6%; }
 .legal-page p,.legal-page li,.legal-page address { overflow-wrap:anywhere; }
}
@media(prefers-reduced-motion:reduce) {
 header.nav-ready .header-panel { transition:none; transform:none; }
}
@media(max-width:600px) {
 header .brand-logo img { width:137px; }
 header > .language-switch { margin-left:auto; }
 header > .small-button { order:3; margin:0; min-height:44px; }
 header > nav { justify-content:flex-start; gap:2px 18px; font-size:11px; }
 .legal-header > nav { order:3; width:100%; margin:0; }
 .hero h1 { overflow-wrap:anywhere; }
 .book-date { letter-spacing:0; }
}
