:root{
  --bg:#050505;
  --fg:#f4f4ef;
  --muted:#8a8a85;
  --line:rgba(255,255,255,.16);
  --accent:#ff4b16;
  --page-pad:clamp(18px,4.5vw,72px);
  --display:"Archivo Black",Arial,sans-serif;
  --ui:"Inter Tight",Inter,Arial,sans-serif;
  --body:Inter,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--bg)}
body{margin:0;min-width:280px;background:var(--bg);color:var(--fg);font-family:var(--body);-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.otek-menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,textarea,select{font:inherit}
img{display:block;width:100%;max-width:100%}
[hidden]{display:none!important}
::selection{background:var(--accent);color:#fff}

/* INTRO */
.intro{position:fixed;inset:0;z-index:11000;display:flex;align-items:center;justify-content:center;background:#000;transition:opacity .65s ease,visibility .65s ease}
.intro.hidden{opacity:0;visibility:hidden;pointer-events:none}
.intro-logo{font:900 clamp(30px,4vw,52px)/1 var(--ui);letter-spacing:-.1em}

/* NAV + FULLSCREEN MENU */
.nav{position:fixed;inset:0 0 auto 0;z-index:10001;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:clamp(16px,1.8vw,28px) var(--page-pad);mix-blend-mode:difference;color:#fff;transition:background .22s ease,backdrop-filter .22s ease}
.nav.is-scrolled{mix-blend-mode:normal;background:rgba(5,5,5,.84);backdrop-filter:blur(12px)}
.otek-menu-open .nav{mix-blend-mode:normal;background:transparent;backdrop-filter:none}
.ot-home,.nav-brand{display:inline-flex;align-items:center;min-width:0;font:900 clamp(26px,2.5vw,34px)/1 var(--ui);letter-spacing:-.11em;white-space:nowrap}
.shows-nav .nav-brand{font-size:clamp(22px,2vw,30px)}
.menu-trigger{display:flex;align-items:center;gap:11px;flex:0 0 auto;border:0;padding:8px 0;background:none;color:inherit;cursor:pointer;font:800 10px/1 var(--ui);letter-spacing:.14em}
.menu-lines{position:relative;display:block;width:25px;height:14px;flex:0 0 25px}
.menu-lines i{position:absolute;left:0;top:3px;width:25px;height:2px;background:currentColor;transition:transform .32s ease,top .32s ease,width .32s ease}
.menu-lines i:last-child{top:10px;width:16px;left:9px}
.otek-menu-open .menu-lines i:first-child{top:7px;transform:rotate(45deg)}
.otek-menu-open .menu-lines i:last-child{top:7px;width:25px;left:0;transform:rotate(-45deg)}

.otek-menu{position:fixed;inset:0;z-index:10000;overflow:hidden;background:#080808;color:#f5f5ef;visibility:hidden;opacity:0;pointer-events:none;transition:opacity .32s ease,visibility .32s ease}
.otek-menu-open .otek-menu{visibility:visible;opacity:1;pointer-events:auto}
.otek-menu-kicker{position:absolute;left:var(--page-pad);top:clamp(78px,12vh,120px);z-index:2;max-width:70vw;font:700 9px/1.3 var(--ui);letter-spacing:.18em;color:#666;overflow-wrap:anywhere}
.otek-menu-links{position:absolute;left:var(--page-pad);right:var(--page-pad);top:50%;z-index:2;display:flex;flex-direction:column;transform:translateY(-50%)}
.otek-menu-links a{display:grid;grid-template-columns:2.5ch minmax(0,1fr);align-items:start;gap:clamp(12px,1.5vw,22px);width:max-content;max-width:100%;opacity:0;transform:translateY(28px);transition:opacity .48s cubic-bezier(.16,1,.3,1),transform .48s cubic-bezier(.16,1,.3,1)}
.otek-menu-open .otek-menu-links a{opacity:1;transform:none}
.otek-menu-open .otek-menu-links a:nth-child(2){transition-delay:.045s}
.otek-menu-open .otek-menu-links a:nth-child(3){transition-delay:.09s}
.otek-menu-open .otek-menu-links a:nth-child(4){transition-delay:.135s}
.otek-menu-open .otek-menu-links a:nth-child(5){transition-delay:.18s}
.otek-menu-open .otek-menu-links a:nth-child(6){transition-delay:.225s}
.otek-menu-links small{padding-top:.95em;font:700 9px/1 var(--ui);color:#555}
.otek-menu-links strong{display:block;min-width:0;font:900 clamp(42px,min(8.1vw,11.5vh),138px)/.82 var(--ui);letter-spacing:-.075em;white-space:normal;overflow-wrap:anywhere;transition:color .18s ease,transform .18s ease}
.otek-menu-links a:hover strong{color:#777;transform:translateX(12px)}
.otek-menu-ghost{position:absolute;right:-3vw;bottom:-13vh;max-width:80vw;font:900 min(48vw,680px)/.8 var(--ui);letter-spacing:-.13em;color:rgba(255,255,255,.025);white-space:nowrap;pointer-events:none}
.otek-menu-foot{position:absolute;left:var(--page-pad);right:var(--page-pad);bottom:clamp(20px,3vw,34px);z-index:2;display:flex;justify-content:space-between;gap:24px;font:700 8px/1.4 var(--ui);letter-spacing:.16em;color:#555}
.otek-menu-foot span{min-width:0;overflow-wrap:anywhere}

/* HERO */
.hero{position:relative;height:100svh;min-height:620px;overflow:hidden;background:#000}
.hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 51%;transform:scale(1.015);will-change:transform}
.hero-vignette{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.32),transparent 35%,rgba(0,0,0,.64)),radial-gradient(circle at center,transparent 40%,rgba(0,0,0,.22));pointer-events:none}
.hero-meta{position:absolute;left:var(--page-pad);right:var(--page-pad);top:clamp(72px,8.5vw,102px);display:flex;justify-content:space-between;gap:24px;font:600 9px/1.4 var(--ui);letter-spacing:.15em}
.hero-meta span{min-width:0;max-width:46%;overflow-wrap:anywhere}
.hero-meta span:last-child{text-align:right}
.hero-tag{position:absolute;left:var(--page-pad);right:var(--page-pad);bottom:clamp(62px,6vw,92px);max-width:min(1000px,82vw);font:400 clamp(52px,7.5vw,120px)/.84 var(--display);letter-spacing:-.065em;text-transform:uppercase;overflow-wrap:anywhere;text-wrap:balance}
.hero-scroll{position:absolute;right:var(--page-pad);bottom:clamp(22px,2.5vw,34px);max-width:48vw;text-align:right;font:600 9px/1.35 var(--ui);letter-spacing:.14em;overflow-wrap:anywhere}

/* STRIP + TICKER */
.next-strip{min-height:68px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(16px,2vw,30px);align-items:center;padding:12px var(--page-pad);background:#0a0a0a;font:600 10px/1.35 var(--ui);letter-spacing:.11em}
.strip-label{color:var(--accent);font-weight:700;white-space:nowrap}
.strip-main{min-width:0;overflow-wrap:anywhere}
.strip-arrow{font-size:22px;line-height:1}
.ticker-wrap{overflow:hidden;border-bottom:1px solid var(--line);background:var(--accent);color:#090909}
.ticker{white-space:nowrap;width:max-content;padding:14px 0;font-family:"Archivo Black";font-size:24px;line-height:1;letter-spacing:-.03em;animation:tick 28s linear infinite}
@keyframes tick{to{transform:translateX(-50%)}}

/* SHARED SECTIONS */
.section{padding:clamp(84px,9vw,132px) var(--page-pad);border-bottom:1px solid var(--line)}
.section-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:clamp(34px,4vw,62px);font:600 9px/1.4 var(--ui);letter-spacing:.14em;color:#777}
.section-head>*{min-width:0;overflow-wrap:anywhere}
.now-copy h1,.about-copy h2,.booking h2,.show-big-date,.shows-title-wrap h1{margin:0;font-family:var(--display);font-weight:400;letter-spacing:-.07em;line-height:.84}
.now-copy h1,.show-big-date,.event-name,.about-copy h2,.booking h2,.booking-mail,.shows-title-wrap h1,.tour-date,.tour-name{overflow-wrap:anywhere}
.now-copy h1{font-size:clamp(58px,8.2vw,132px);margin-bottom:clamp(20px,2.4vw,30px);white-space:pre-line}
.now-copy p,.about-copy p{max-width:500px;margin:0 0 18px;font-size:clamp(14px,1.05vw,16px);line-height:1.65;color:#bdbdb8;overflow-wrap:anywhere}
.cta{display:inline-flex;align-items:center;justify-content:center;max-width:100%;margin-top:18px;padding:13px 16px;background:var(--accent);color:#090909;font:700 10px/1.2 var(--ui);letter-spacing:.12em;text-align:center;overflow-wrap:anywhere}
.cta:hover{filter:brightness(1.08)}

/* LIVE */
.now-layout{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(44px,6vw,98px);align-items:center}
.now-copy,.film-frame{min-width:0}
.film-frame{position:relative;display:block;overflow:hidden}
.film-frame img{aspect-ratio:16/10;object-fit:cover;transition:transform .7s ease}
.film-frame:hover img{transform:scale(1.03)}
.frame-label{display:flex;justify-content:space-between;gap:20px;padding-top:11px;font:600 9px/1.45 var(--ui);letter-spacing:.13em;color:#858580}
.frame-label span{min-width:0;overflow-wrap:anywhere}
.frame-label span:last-child{text-align:right}

/* NEXT SHOW */
.next-show{padding-top:clamp(82px,8vw,118px);padding-bottom:clamp(82px,8vw,118px)}
.show-big-date{font-size:clamp(78px,14vw,230px);color:#2a2a28;margin-bottom:clamp(20px,2.5vw,34px)}
.event-row{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(150px,1fr) auto;gap:clamp(20px,2.5vw,38px);align-items:end;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:clamp(22px,2.4vw,32px) 0}
.event-row>*{min-width:0}
.event-name{font:400 clamp(36px,5vw,78px)/.9 var(--display);letter-spacing:-.055em}
.event-place{white-space:pre-line;font:600 10px/1.65 var(--ui);letter-spacing:.12em;color:#9c9c96}
.ghost{background:#f3f3ef}
.all-shows{display:inline-block;max-width:100%;margin-top:24px;border-bottom:1px solid #777;padding-bottom:4px;font:600 10px/1.3 var(--ui);letter-spacing:.12em;overflow-wrap:anywhere}

/* ABOUT */
.about-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(54px,8vw,126px);align-items:center}
.about-copy,.portrait-stack{min-width:0}
.about-copy h2{font-size:clamp(76px,11vw,178px);margin-bottom:clamp(24px,2.8vw,38px)}
.about-copy .muted{color:#70706d}
.portrait-stack{position:relative;width:min(100%,690px);margin-left:auto}
.portrait img{aspect-ratio:4/5;object-fit:cover}
.stamp{position:absolute;right:clamp(-18px,-1vw,-8px);bottom:26px;max-width:85%;padding:12px 16px;background:var(--accent);color:#070707;font:400 clamp(20px,2.1vw,30px)/1 var(--display);transform:rotate(-4deg);overflow-wrap:anywhere}

/* BOOKING */
.booking{min-height:max(70svh,640px);display:flex;flex-direction:column;padding:clamp(54px,5vw,76px) var(--page-pad) clamp(28px,3vw,40px);background:#f1f1ed;color:#080808}
.booking-top,.booking-foot{display:flex;justify-content:space-between;gap:24px;font:600 9px/1.45 var(--ui);letter-spacing:.14em;color:#555}
.booking-top>*{min-width:0;overflow-wrap:anywhere}
.booking h2{font-size:clamp(78px,14vw,220px);margin:clamp(70px,12vh,145px) 0 clamp(24px,2.3vw,34px);text-wrap:balance}
.booking-mail{display:block;width:max-content;max-width:100%;border-bottom:3px solid #080808;font:400 clamp(28px,4.6vw,72px)/1.03 var(--display);letter-spacing:-.05em}
.booking-foot{margin-top:auto;padding-top:24px;border-top:1px solid rgba(0,0,0,.2)}
.footer-social-block{display:flex;align-items:center;gap:18px;min-width:0}
.footer-social-label{font:600 9px/1.4 var(--ui);letter-spacing:.14em;color:#555;overflow-wrap:anywhere}
.social-icons{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.social-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 42px;border:1px solid rgba(0,0,0,.28);border-radius:50%;color:#080808;font-size:17px;transition:background .18s ease,color .18s ease,transform .18s ease}
.social-icon:hover{background:#080808;color:#f1f1ed;transform:translateY(-2px)}

/* SHOWS PAGE */
.shows-page{background:#050505}
.shows-nav{mix-blend-mode:normal;background:linear-gradient(180deg,rgba(5,5,5,.92),rgba(5,5,5,.5) 70%,transparent);backdrop-filter:blur(10px)}
.back{max-width:60vw;font:700 9px/1.3 var(--ui);letter-spacing:.14em;text-align:right;overflow-wrap:anywhere}
.shows-main{padding:clamp(120px,11vw,165px) var(--page-pad) clamp(38px,4vw,60px)}
.shows-title-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.65fr);grid-template-areas:"eyebrow description" "title description";align-items:end;column-gap:clamp(36px,6vw,90px);padding-bottom:clamp(42px,5vw,66px)}
.shows-title-wrap .eyebrow{grid-area:eyebrow;margin-bottom:16px;font:600 9px/1.4 var(--ui);letter-spacing:.14em;color:#777}
.shows-title-wrap h1{grid-area:title;font-size:clamp(82px,14vw,220px)}
.shows-title-wrap p{grid-area:description;max-width:360px;margin:0 0 8px auto;color:#7d7d78;font-size:clamp(11px,1vw,14px);line-height:1.65;overflow-wrap:anywhere}
.tour-list{border-top:1px solid var(--line)}
.tour-row{display:grid;grid-template-columns:minmax(120px,.85fr) minmax(0,2fr) minmax(160px,1.1fr) auto;gap:clamp(18px,2.4vw,34px);align-items:center;padding:clamp(24px,2.5vw,34px) 0;border-bottom:1px solid var(--line)}
.tour-row>*{min-width:0}
.tour-date{font:400 clamp(28px,3.5vw,54px)/.92 var(--display);letter-spacing:-.05em}
.tour-name{font:400 clamp(30px,3.5vw,54px)/.92 var(--display);letter-spacing:-.05em}
.tour-place{white-space:pre-line;font:600 9px/1.65 var(--ui);letter-spacing:.12em;color:#888883}
.ticket-btn{display:inline-flex;justify-self:start;max-width:100%;padding:11px 14px;background:var(--accent);color:#080808;font:700 10px/1.2 var(--ui);letter-spacing:.12em;text-align:center;overflow-wrap:anywhere}
.tour-note{padding-top:18px;font:600 9px/1.6 var(--ui);color:#555;letter-spacing:.12em;overflow-wrap:anywhere}
.tour-footer{display:flex;justify-content:space-between;gap:24px;margin-top:clamp(90px,10vw,150px);padding-top:22px;border-top:1px solid var(--line);font:600 9px/1.5 var(--ui);letter-spacing:.12em;color:#666}
.tour-footer>*{min-width:0;overflow-wrap:anywhere}

/* MOTION */
.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.reveal.in{opacity:1;transform:none}

/* EDITOR TARGETING */
.studio-preview [data-edit],.studio-preview [data-style-key]{cursor:crosshair}
.studio-preview [data-edit]:hover,.studio-preview [data-style-key]:hover{outline:2px solid var(--accent)!important;outline-offset:4px}
.studio-preview .otek-menu-links a{pointer-events:auto}

/* TABLET */
@media(max-width:1050px){
  .now-layout{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px}
  .about-layout{gap:54px}
  .event-row{grid-template-columns:minmax(0,1.5fr) minmax(150px,.9fr) auto}
  .tour-row{grid-template-columns:minmax(110px,.8fr) minmax(0,1.7fr) minmax(140px,1fr) auto}
}

@media(max-width:820px){
  :root{--page-pad:18px}
  .nav{padding-top:16px;padding-bottom:16px}
  .menu-trigger{font-size:9px}
  .otek-menu-kicker{top:82px}
  .otek-menu-links strong{font-size:clamp(46px,11vw,78px);line-height:.86}
  .otek-menu-ghost{font-size:72vw;right:-6vw;bottom:0}

  .hero{min-height:640px;height:92svh}
  .hero-meta{top:66px;font-size:8px}
  .hero-tag{bottom:76px;max-width:92vw;font-size:clamp(56px,15vw,92px);line-height:.83}
  .hero-scroll{left:var(--page-pad);right:auto;bottom:24px;max-width:72vw;text-align:left;font-size:8px}

  .section{padding:82px var(--page-pad)}
  .section-head{margin-bottom:34px}
  .now-layout,.about-layout{grid-template-columns:1fr;gap:40px}
  .now-copy h1{font-size:clamp(54px,14vw,86px)}
  .film-frame img{aspect-ratio:4/5}
  .portrait-stack{width:100%;margin:0}

  .event-row{grid-template-columns:1fr;gap:16px;align-items:start}
  .event-name{font-size:clamp(40px,10vw,66px)}
  .event-row .cta{width:max-content;margin-top:4px}
  .show-big-date{font-size:clamp(70px,18vw,118px)}

  .booking{min-height:68svh;padding-left:var(--page-pad);padding-right:var(--page-pad)}
  .booking h2{font-size:clamp(74px,18vw,120px);margin-top:12vh}
  .booking-mail{font-size:clamp(26px,7vw,42px)}
  .booking-foot{flex-direction:column;align-items:flex-start;gap:22px}
  .footer-social-block{flex-direction:column;align-items:flex-start;gap:12px}

  .shows-main{padding-top:108px}
  .shows-title-wrap{grid-template-columns:1fr;grid-template-areas:"eyebrow" "title" "description";gap:0}
  .shows-title-wrap h1{font-size:clamp(76px,22vw,130px)}
  .shows-title-wrap p{max-width:100%;margin:24px 0 0}
  .tour-row{grid-template-columns:1fr;gap:10px}
  .tour-date{font-size:32px}
  .tour-name{font-size:clamp(36px,10vw,58px)}
  .ticket-btn{margin-top:6px;width:max-content}
  .tour-footer{flex-direction:column;gap:14px}
}

/* SMALL MOBILE */
@media(max-width:520px){
  :root{--page-pad:16px}
  .ot-home{font-size:27px}
  .menu-trigger{gap:8px}
  .menu-trigger>span:first-child{display:none}
  .otek-menu-kicker{top:78px;max-width:86vw}
  .otek-menu-links{top:49%}
  .otek-menu-links a{grid-template-columns:2ch minmax(0,1fr);gap:11px}
  .otek-menu-links small{font-size:8px;padding-top:.9em}
  .otek-menu-links strong{font-size:clamp(44px,15.5vw,70px);line-height:.9;white-space:normal;overflow-wrap:anywhere}
  .otek-menu-foot{flex-direction:column;gap:7px;bottom:18px}
  .otek-menu-foot span:last-child{text-align:left}
  .otek-menu-ghost{font-size:92vw;bottom:2vh}

  .hero{height:88svh;min-height:600px}
  .hero-media{object-position:center center}
  .hero-meta{top:62px;gap:14px}
  .hero-meta span{max-width:52%}
  .hero-tag{font-size:clamp(50px,15.5vw,78px);right:16px;bottom:72px}

  .next-strip{min-height:88px;grid-template-columns:minmax(0,1fr) auto;gap:6px 14px;padding:14px var(--page-pad)}
  .strip-label{grid-column:1;font-size:9px}
  .strip-main{grid-column:1;white-space:normal;font-size:10px}
  .strip-arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:28px}
  .ticker{font-size:18px;padding:11px 0}

  .section{padding:74px var(--page-pad)}
  .now-copy h1{font-size:clamp(48px,14.5vw,72px);line-height:.86}
  .now-copy p,.about-copy p{font-size:14px;line-height:1.58}
  .cta{padding:12px 14px;font-size:9px}
  .frame-label{gap:12px;font-size:8px}

  .show-big-date{font-size:clamp(64px,18vw,96px)}
  .event-name{font-size:clamp(36px,11vw,54px)}
  .event-place{font-size:9px}

  .about-copy h2{font-size:clamp(68px,21vw,105px)}
  .stamp{right:8px;bottom:14px;max-width:88%;font-size:20px;padding:10px 12px}

  .booking{padding-top:48px;padding-bottom:22px}
  .booking-top{gap:12px}
  .booking h2{font-size:clamp(66px,20vw,104px);margin-top:12vh}
  .booking-mail{font-size:clamp(23px,7.4vw,36px);border-bottom-width:2px}
  .social-icon{width:44px;height:44px;flex-basis:44px;font-size:18px}

  .shows-nav{padding-left:16px;padding-right:16px}
  .back{font-size:8px}
  .shows-main{padding-left:16px;padding-right:16px}
  .shows-title-wrap h1{font-size:clamp(70px,23vw,112px);line-height:.78}
  .tour-place{font-size:8px}
}

@media(max-width:360px){
  .hero-meta span:last-child{display:none}
  .hero-meta span:first-child{max-width:100%}
  .booking-top{flex-direction:column}
  .booking-mail{font-size:clamp(21px,7vw,30px)}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
  .reveal{opacity:1;transform:none}
}

/* =========================================================
   V13 — PREMIUM MOTION PASS
   References: premium artist-site motion language.
   The red ticker animation above is intentionally untouched.
   ========================================================= */
:root{
  --ease-premium:cubic-bezier(.16,1,.3,1);
  --ease-snappy:cubic-bezier(.2,.8,.2,1);
  --menu-ghost-y:0px;
  --menu-ghost-r:0deg;
}

/* page chrome */
.scroll-progress{position:fixed;z-index:12000;left:0;top:0;width:100%;height:2px;pointer-events:none;transform-origin:left center;transform:scaleX(0);background:var(--accent);will-change:transform}
.page-curtain{position:fixed;z-index:11900;inset:0;background:var(--accent);pointer-events:none;transform:scaleY(0);transform-origin:bottom;transition:transform .48s var(--ease-premium)}
body.page-leaving .page-curtain{transform:scaleY(1);transform-origin:top}

/* refined fixed navigation */
.nav{transform:translateY(0);transition:transform .52s var(--ease-premium),background .32s ease,backdrop-filter .32s ease}
.nav.is-hidden{transform:translateY(-115%)}
.otek-menu-open .nav{transform:none!important}
.ot-home,.nav-brand{transition:transform .35s var(--ease-premium),letter-spacing .35s var(--ease-premium),opacity .25s ease}
.ot-home:hover,.nav-brand:hover{transform:translateY(-2px);letter-spacing:-.075em}
.menu-trigger{position:relative;transition:opacity .2s ease,transform .35s var(--ease-premium)}
.menu-trigger:hover{transform:translateY(-2px)}
.menu-trigger::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:right;transition:transform .35s var(--ease-premium)}
.menu-trigger:hover::after{transform:scaleX(1);transform-origin:left}
.menu-lines i{transform-origin:center;transition:transform .42s var(--ease-premium),top .42s var(--ease-premium),width .42s var(--ease-premium),left .42s var(--ease-premium)}
.menu-trigger:hover .menu-lines i:first-child{width:18px;left:7px}
.menu-trigger:hover .menu-lines i:last-child{width:25px;left:0}
.otek-menu-open .menu-trigger:hover .menu-lines i{width:25px;left:0}

/* fullscreen menu — more cinematic, still fully CMS-driven */
.otek-menu{opacity:1;clip-path:circle(0 at calc(100% - max(34px,var(--page-pad))) 34px);visibility:hidden;transition:clip-path .78s var(--ease-premium),visibility .78s step-end;background:radial-gradient(circle at 82% 14%,rgba(255,255,255,.035),transparent 27%),#080808}
.otek-menu::before{content:"";position:absolute;left:0;top:0;width:3px;height:100%;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .8s .12s var(--ease-premium)}
.otek-menu-open .otek-menu{visibility:visible;clip-path:circle(150vmax at calc(100% - max(34px,var(--page-pad))) 34px);pointer-events:auto;transition:clip-path .82s var(--ease-premium),visibility 0s}
.otek-menu-open .otek-menu::before{transform:scaleY(1)}
.otek-menu-kicker{opacity:0;transform:translateY(10px);transition:opacity .45s .26s ease,transform .6s .26s var(--ease-premium)}
.otek-menu-open .otek-menu-kicker{opacity:1;transform:none}
.otek-menu-links a{position:relative;padding:clamp(2px,.35vh,6px) 0;transform:translateY(42px) skewY(1.8deg);filter:blur(5px);transition:opacity .55s var(--ease-premium),transform .62s var(--ease-premium),filter .55s ease}
.otek-menu-open .otek-menu-links a{filter:none;transform:none}
.otek-menu-open .otek-menu-links a:nth-child(1){transition-delay:.16s}
.otek-menu-open .otek-menu-links a:nth-child(2){transition-delay:.205s}
.otek-menu-open .otek-menu-links a:nth-child(3){transition-delay:.25s}
.otek-menu-open .otek-menu-links a:nth-child(4){transition-delay:.295s}
.otek-menu-open .otek-menu-links a:nth-child(5){transition-delay:.34s}
.otek-menu-open .otek-menu-links a:nth-child(6){transition-delay:.385s}
.otek-menu-open .otek-menu-links a:nth-child(7){transition-delay:.43s}
.otek-menu-open .otek-menu-links a:nth-child(8){transition-delay:.475s}
.otek-menu-links small{transition:color .25s ease,transform .35s var(--ease-premium)}
.otek-menu-links strong{position:relative;transform-origin:left center;transition:color .28s ease,transform .45s var(--ease-premium),letter-spacing .45s var(--ease-premium)}
.otek-menu-links strong::before{content:"";position:absolute;left:-20px;top:50%;width:8px;height:8px;border-radius:50%;background:var(--accent);opacity:0;transform:translate(-10px,-50%) scale(.4);transition:opacity .28s ease,transform .4s var(--ease-premium)}
.otek-menu-links:hover a{opacity:.26!important}
.otek-menu-links a:hover{opacity:1!important}
.otek-menu-links a:hover small{color:var(--accent);transform:translateX(3px)}
.otek-menu-links a:hover strong{color:var(--fg);transform:translateX(18px);letter-spacing:-.065em}
.otek-menu-links a:hover strong::before{opacity:1;transform:translate(0,-50%) scale(1)}
.otek-menu-ghost{transform:translate3d(0,var(--menu-ghost-y),0) rotate(var(--menu-ghost-r));transition:transform .75s var(--ease-premium),color .4s ease;will-change:transform}
.otek-menu-open .otek-menu-ghost{color:rgba(255,255,255,.032)}
.otek-menu-foot{opacity:0;transform:translateY(10px);transition:opacity .45s .4s ease,transform .6s .4s var(--ease-premium)}
.otek-menu-open .otek-menu-foot{opacity:1;transform:none}

/* hero entrance */
.hero-media{transform:scale(1.075);filter:saturate(.88) contrast(1.03);transition:transform 1.7s var(--ease-premium),filter 1.2s ease}
.site-ready .hero-media{transform:scale(1.015);filter:saturate(1) contrast(1)}
.hero-vignette{opacity:.8;transition:opacity 1.2s ease}
.site-ready .hero-vignette{opacity:1}
.hero-meta,.hero-scroll{opacity:0;transform:translateY(12px);transition:opacity .65s ease,transform .8s var(--ease-premium)}
.site-ready .hero-meta{opacity:1;transform:none;transition-delay:.18s}
.site-ready .hero-scroll{opacity:1;transform:none;transition-delay:.42s}
.hero-tag{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(28px);transition:opacity .5s ease,clip-path 1.05s var(--ease-premium),transform 1.05s var(--ease-premium)}
.site-ready .hero-tag{opacity:1;clip-path:inset(0);transform:none;transition-delay:.26s}
.hero-scroll{padding-left:42px}
.hero-scroll::before{content:"";position:absolute;left:0;top:50%;width:28px;height:1px;background:currentColor;transform-origin:left;animation:otekPulseLine 1.8s ease-in-out infinite}
@keyframes otekPulseLine{0%,100%{transform:scaleX(.35);opacity:.35}50%{transform:scaleX(1);opacity:1}}

/* interactive strip */
.next-strip{position:relative;isolation:isolate;overflow:hidden;transition:color .4s var(--ease-premium),border-color .4s ease}
.next-strip::before{content:"";position:absolute;z-index:-1;inset:0;background:var(--accent);transform:scaleY(0);transform-origin:bottom;transition:transform .48s var(--ease-premium)}
.next-strip:hover{color:#090909;border-color:var(--accent)}
.next-strip:hover::before{transform:scaleY(1)}
.next-strip:hover .strip-label{color:#090909}
.strip-label,.strip-main,.strip-arrow{transition:transform .45s var(--ease-premium),color .3s ease}
.next-strip:hover .strip-label,.next-strip:hover .strip-main{transform:translateX(6px)}
.next-strip:hover .strip-arrow{transform:translateX(7px)}

/* premium section rhythm + reveals */
.section{position:relative}
.section::before{content:"";position:absolute;top:0;left:var(--page-pad);right:var(--page-pad);height:1px;background:linear-gradient(90deg,var(--accent),transparent 22%);transform:scaleX(0);transform-origin:left;transition:transform 1.05s var(--ease-premium)}
.section.section-seen::before{transform:scaleX(1)}
.reveal{opacity:0;transform:translateY(42px) scale(.992);filter:blur(7px);transition:opacity .78s ease,transform .95s var(--ease-premium),filter .7s ease;transition-delay:var(--reveal-delay,0ms)}
.reveal.in{opacity:1;transform:none;filter:none}
.reveal-title{opacity:0;clip-path:inset(0 0 100% 0);transform:translateY(26px);transition:opacity .5s ease,clip-path 1.02s var(--ease-premium),transform 1.02s var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
.reveal-title.in{opacity:1;clip-path:inset(0);transform:none}
.section-head .eyebrow,.section-head .index{transition:color .25s ease}
.section:hover .section-head .eyebrow{color:var(--fg)}

/* CTAs and editorial links */
.cta,.ticket-btn{position:relative;overflow:hidden;isolation:isolate;transition:color .35s ease,transform .4s var(--ease-premium),box-shadow .4s var(--ease-premium)}
.cta::before,.ticket-btn::before{content:"";position:absolute;z-index:-1;inset:0;background:#f3f3ef;transform:translateY(102%);transition:transform .42s var(--ease-premium)}
.cta:hover,.ticket-btn:hover{filter:none;transform:translateY(-3px);box-shadow:0 10px 30px rgba(0,0,0,.14)}
.cta:hover::before,.ticket-btn:hover::before{transform:none}
.ghost::before{background:var(--accent)}
.all-shows{position:relative;border:0;padding-bottom:6px}
.all-shows::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:1px;background:currentColor;transform-origin:right;transition:transform .4s var(--ease-premium)}
.all-shows:hover::after{transform:scaleX(.25)}

/* media movement */
.film-frame,.portrait{overflow:hidden}
.film-frame{transition:transform .65s var(--ease-premium)}
.film-frame:hover{transform:translateY(-6px)}
.film-frame img,.portrait img{--media-y:0px;--media-scale:1.035;transform:translate3d(0,var(--media-y),0) scale(var(--media-scale));will-change:transform;transition:transform .8s var(--ease-premium),filter .5s ease}
.film-frame:hover img{--media-scale:1.065;transform:translate3d(0,var(--media-y),0) scale(var(--media-scale))}
.portrait-stack{transition:transform .7s var(--ease-premium)}
.portrait-stack:hover{transform:rotate(.35deg) translateY(-4px)}
.portrait-stack:hover .portrait img{--media-scale:1.06}
.stamp{transition:transform .5s var(--ease-premium),box-shadow .4s ease}
.portrait-stack:hover .stamp{transform:rotate(-1.5deg) translate(-6px,-5px);box-shadow:0 12px 35px rgba(0,0,0,.24)}

/* next show / tour editorial hover */
.event-row{position:relative;transition:padding-left .5s var(--ease-premium),border-color .3s ease}
.event-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .45s var(--ease-premium)}
.event-row:hover{padding-left:16px;border-color:rgba(255,255,255,.3)}
.event-row:hover::before{transform:scaleY(1)}
.show-big-date{transition:color .55s var(--ease-premium),transform .65s var(--ease-premium)}
.next-show:hover .show-big-date{color:#373734;transform:translateX(5px)}
.tour-row{position:relative;transition:padding-left .45s var(--ease-premium),padding-right .45s var(--ease-premium),background .35s ease}
.tour-row::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);transform:scaleY(0);transform-origin:top;transition:transform .42s var(--ease-premium)}
.tour-row:hover{padding-left:14px;padding-right:14px;background:rgba(255,255,255,.025)}
.tour-row:hover::before{transform:scaleY(1)}

/* booking finish */
.booking-mail{position:relative;border-bottom:0;padding-bottom:6px;transition:color .35s ease,transform .45s var(--ease-premium)}
.booking-mail::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:#080808;transform-origin:left;transition:transform .48s var(--ease-premium),background .35s ease}
.booking-mail:hover{color:var(--accent);transform:translateX(8px)}
.booking-mail:hover::after{background:var(--accent);transform:scaleX(.62)}
.social-icon{transition:background .25s ease,color .25s ease,transform .38s var(--ease-premium),border-color .25s ease}
.social-icon:hover{transform:translateY(-5px) scale(1.06);border-color:#080808}

/* motion safety + mobile restraint */
@media(max-width:820px){
  .otek-menu{clip-path:circle(0 at calc(100% - 34px) 28px)}
  .otek-menu-open .otek-menu{clip-path:circle(170vmax at calc(100% - 34px) 28px)}
  .otek-menu-links strong::before{left:-13px;width:6px;height:6px}
  .event-row:hover,.tour-row:hover{padding-left:0;padding-right:0}
  .event-row::before,.tour-row::before{display:none}
  .film-frame:hover,.portrait-stack:hover{transform:none}
  .booking-mail:hover{transform:none}
}
@media(max-width:520px){
  .hero-scroll{padding-left:36px}
  .hero-scroll::before{width:23px}
  .otek-menu-links:hover a{opacity:1!important}
  .otek-menu-links a:hover strong{transform:none;letter-spacing:-.075em}
  .otek-menu-links strong::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .scroll-progress,.page-curtain{display:none}
  .hero-scroll::before{animation:none}
  .site-ready .hero-media,.hero-media{transform:scale(1.015)!important}
  .hero-tag,.hero-meta,.hero-scroll,.otek-menu-kicker,.otek-menu-foot,.reveal,.reveal-title{opacity:1!important;transform:none!important;clip-path:none!important;filter:none!important}
}

/* =========================================================
   V13 — JAPAN / WORLDWIDE STORY
   Fully CMS-driven. Gallery gracefully collapses when empty.
   ========================================================= */
.japan{background:#090909;overflow:hidden}
.japan-lead{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(260px,.55fr);gap:clamp(36px,6vw,96px);align-items:end;margin-bottom:clamp(46px,6vw,92px)}
.japan-lead>*{min-width:0}
.japan-lead h2{margin:0;font-family:var(--display);font-weight:400;font-size:clamp(92px,16vw,250px);line-height:.76;letter-spacing:-.085em;overflow-wrap:anywhere;text-transform:uppercase}
.japan-copy{display:flex;flex-direction:column;align-items:flex-start;gap:18px;padding-bottom:clamp(2px,1vw,16px)}
.japan-years{font:800 clamp(14px,1.3vw,19px)/1 var(--ui);letter-spacing:.12em;color:var(--accent);overflow-wrap:anywhere}
.japan-copy p{max-width:500px;margin:0;color:#aaa9a4;font-size:clamp(14px,1.05vw,16px);line-height:1.65;overflow-wrap:anywhere}
.japan-cta{margin-top:4px}
.japan-gallery{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(10px,1.25vw,20px);align-items:start}
.japan-gallery.is-empty{display:none}
.japan-shot{min-width:0;margin:0;opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .95s var(--ease-premium)}
.japan.section-seen .japan-shot{opacity:1;transform:none}
.japan.section-seen .japan-shot:nth-child(2){transition-delay:.07s}
.japan.section-seen .japan-shot:nth-child(3){transition-delay:.14s}
.japan.section-seen .japan-shot:nth-child(4){transition-delay:.21s}
.japan.section-seen .japan-shot:nth-child(5){transition-delay:.28s}
.japan.section-seen .japan-shot:nth-child(6){transition-delay:.35s}
.japan-shot:nth-child(4n+1){grid-column:span 7}
.japan-shot:nth-child(4n+2){grid-column:span 5;margin-top:clamp(28px,6vw,88px)}
.japan-shot:nth-child(4n+3){grid-column:span 5}
.japan-shot:nth-child(4n+4){grid-column:span 7;margin-top:clamp(18px,4vw,62px)}
.japan-shot-media{position:relative;overflow:hidden;background:#111}
.japan-shot:nth-child(4n+1) .japan-shot-media,.japan-shot:nth-child(4n+4) .japan-shot-media{aspect-ratio:16/10}
.japan-shot:nth-child(4n+2) .japan-shot-media,.japan-shot:nth-child(4n+3) .japan-shot-media{aspect-ratio:4/5}
.japan-shot img{--media-y:0px;display:block;width:100%;height:100%;object-fit:cover;transform:translate3d(0,var(--media-y),0) scale(1.035);transition:transform .85s var(--ease-premium),filter .5s ease;will-change:transform}
.japan-shot:hover img{transform:translate3d(0,var(--media-y),0) scale(1.065)}
.japan-shot figcaption{display:flex;justify-content:space-between;gap:18px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);font:700 8px/1.35 var(--ui);letter-spacing:.14em;color:#777}
.japan-shot figcaption span{min-width:0;overflow-wrap:anywhere}
.japan-shot figcaption span:last-child{text-align:right}
.japan-shot.is-missing{display:none}

@media(max-width:820px){
  .japan-lead{grid-template-columns:1fr;gap:24px;margin-bottom:48px}
  .japan-lead h2{font-size:clamp(86px,24vw,150px);line-height:.78}
  .japan-copy{max-width:620px;padding-bottom:0}
  .japan-gallery{gap:10px}
  .japan-shot:nth-child(n){margin-top:0}
}
@media(max-width:520px){
  .japan-lead h2{font-size:clamp(74px,25vw,118px)}
  .japan-copy{gap:14px}
  .japan-gallery{grid-template-columns:1fr;gap:28px}
  .japan-shot:nth-child(n){grid-column:1}
  .japan-shot:nth-child(n) .japan-shot-media{aspect-ratio:4/5}
  .japan-shot:nth-child(3n+1) .japan-shot-media{aspect-ratio:16/11}
  .japan-shot figcaption{font-size:8px}
}
@media(prefers-reduced-motion:reduce){
  .japan-shot{opacity:1!important;transform:none!important}
}

/* Short landscape screens: keep the 5-item menu clear of kicker/footer. */
@media(max-height:480px) and (min-width:521px){
  .otek-menu-kicker{display:none}
  .otek-menu-links{top:48%}
  .otek-menu-links strong{font-size:min(7.5vw,9.5vh);line-height:.82}
  .otek-menu-links small{padding-top:.65em}
  .otek-menu-foot{bottom:10px}
}

/* =========================================================
   V14 — STRUCTURE / EDITABLE TYPOGRAPHY / STORY / CONTACT
   ========================================================= */
:root{
  --ls-nav-brand:-.11em;--ls-nav-menu:.14em;--ls-menu-item:-.075em;--ls-small:.14em;
  --ls-hero-title:-.065em;--lh-hero-title:.84;--ls-strip:.11em;--ls-ticker:-.03em;
  --ls-live-title:-.07em;--lh-live-title:.84;--ls-about-title:-.07em;--lh-about-title:.84;
  --ls-about-body:0em;--lh-about-body:1.65;--ls-japan-title:-.085em;--lh-japan-title:.76;
  --ls-national-title:-.075em;--lh-national-title:.8;--ls-shows-title:-.07em;--lh-shows-title:.84;
  --ls-tour-name:-.05em;--lh-tour-name:.92;--ls-contact-title:-.075em;--lh-contact-title:.82;--ls-contact-email:-.05em;
}

/* Fixed means fixed: V14 deliberately removes the auto-hide state. */
.nav,.nav.is-hidden{transform:none!important;mix-blend-mode:normal;background:linear-gradient(180deg,rgba(5,5,5,.78),rgba(5,5,5,.28) 68%,transparent);backdrop-filter:none}
.nav.is-scrolled{background:rgba(5,5,5,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.07)}
.otek-menu-open .nav{background:transparent!important;box-shadow:none!important;backdrop-filter:none!important}
.ot-home,.nav-brand{letter-spacing:var(--ls-nav-brand)}
.menu-trigger{letter-spacing:var(--ls-nav-menu)}
.otek-menu-links strong{letter-spacing:var(--ls-menu-item)}
.otek-menu-links a:hover strong{letter-spacing:calc(var(--ls-menu-item) + .01em)}
.otek-menu-kicker,.otek-menu-foot,.hero-meta,.hero-scroll,.section-head,.frame-label,.japan-shot figcaption,.national-shot figcaption,.media-caption,.contact-eyebrow,.contact-block>span,.contact-socials>span{letter-spacing:var(--ls-small)}
.hero-tag{letter-spacing:var(--ls-hero-title);line-height:var(--lh-hero-title)}
.next-strip{letter-spacing:var(--ls-strip)}
.ticker{letter-spacing:var(--ls-ticker)}
.now-copy h1{letter-spacing:var(--ls-live-title);line-height:var(--lh-live-title)}
.about-copy h2{letter-spacing:var(--ls-about-title);line-height:var(--lh-about-title)}
.about-copy p{letter-spacing:var(--ls-about-body);line-height:var(--lh-about-body)}
.japan-lead h2{letter-spacing:var(--ls-japan-title);line-height:var(--lh-japan-title)}
.shows-title-wrap h1{letter-spacing:var(--ls-shows-title);line-height:var(--lh-shows-title)}
.tour-name,.tour-date{letter-spacing:var(--ls-tour-name);line-height:var(--lh-tour-name)}
#now,#about,#japan,#national{scroll-margin-top:82px}

/* Reusable silent loop media. Poster remains behind video/YouTube as a fallback. */
.media-stage{position:relative;overflow:hidden;background:#101010;isolation:isolate;aspect-ratio:16/10}
.media-stage-wide{aspect-ratio:16/9}
.media-stage-cinematic{aspect-ratio:16/8.8}
.media-stage>.media-poster,.media-stage>video,.media-stage>iframe{position:absolute;inset:0;display:block;width:100%;height:100%;border:0}
.media-stage>.media-poster{z-index:0;object-fit:cover;transform:scale(1.01)}
.media-stage>video{z-index:1;object-fit:cover;background:#000}
.media-stage>iframe{z-index:2;pointer-events:none;width:148%;height:148%;inset:-24%;background:transparent;border:0}.media-card.has-youtube .media-caption{display:none}.media-stage.media-youtube{overflow:hidden;background:#000}.media-stage.media-youtube>.media-poster{transform:scale(1.06)}
.media-card{min-width:0}
.media-caption{display:flex;justify-content:space-between;gap:18px;padding-top:10px;border-top:1px solid rgba(255,255,255,.18);font:700 8px/1.35 var(--ui);color:#777}
.media-caption span{min-width:0;overflow-wrap:anywhere}.media-caption span:last-child{text-align:right}
.film-frame .media-stage{aspect-ratio:16/10}
.film-frame:hover .media-poster{transform:scale(1.045)}
.media-poster{transition:transform .8s var(--ease-premium),filter .5s ease}

/* ABOUT — longer story, while ABOUT stays off the main menu. */
.about-story-wrap{margin-top:clamp(70px,9vw,132px);border-top:1px solid var(--line)}
.about-story-title{padding:18px 0 24px;font:800 10px/1.2 var(--ui);letter-spacing:var(--ls-small);color:var(--accent)}
.about-story{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.about-story-item{min-width:0;padding:clamp(25px,3vw,42px) clamp(18px,3vw,44px) clamp(32px,4vw,54px) 0;border-bottom:1px solid var(--line)}
.about-story-item:nth-child(odd){border-right:1px solid var(--line)}
.about-story-item:nth-child(even){padding-left:clamp(18px,3vw,44px)}
.story-year{margin-bottom:clamp(22px,3vw,38px);font:800 11px/1 var(--ui);letter-spacing:.16em;color:var(--accent)}
.about-story-item h3{margin:0 0 14px;font:400 clamp(28px,3.4vw,50px)/.95 var(--display);letter-spacing:-.055em}
.about-story-item p{max-width:620px;margin:0;color:#9c9c97;font-size:clamp(13px,1vw,15px);line-height:1.68}

/* JAPAN — featured motion slot above the existing editable gallery. */
.japan-feature{margin-bottom:clamp(40px,5vw,72px)}

/* PGE NARODOWY / Roztańczony Narodowy */
.national{background:#f1f1ed;color:#080808;overflow:hidden}
.national::before{background:linear-gradient(90deg,var(--accent),transparent 22%)}
.national .section-head{color:#777}
.national-lead{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:clamp(40px,6vw,100px);align-items:end;margin-bottom:clamp(46px,6vw,86px)}
.national-title-wrap{min-width:0}
.national-title{margin:0;font:400 clamp(76px,13vw,205px)/var(--lh-national-title) var(--display);letter-spacing:var(--ls-national-title);overflow-wrap:anywhere;text-transform:uppercase}
.national-year{margin-top:14px;font:900 clamp(18px,2vw,30px)/1 var(--ui);letter-spacing:.13em;color:var(--accent)}
.national-copy{min-width:0;padding-bottom:8px}
.national-copy p{max-width:560px;margin:0;color:#555550;font-size:clamp(14px,1.05vw,16px);line-height:1.68}
.national-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.national-actions .cta{margin-top:0}
.national-actions .ghost{background:#080808;color:#f1f1ed}
.national-media .media-caption{border-color:rgba(0,0,0,.18);color:#666}
.national-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(12px,1.5vw,24px);margin-top:clamp(32px,4vw,56px)}
.national-shot{min-width:0;margin:0}
.national-shot img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#ddd;--media-y:0px;transform:translate3d(0,var(--media-y),0) scale(1.02);transition:transform .8s var(--ease-premium)}
.national-shot:hover img{transform:translate3d(0,var(--media-y),0) scale(1.05)}
.national-shot figcaption{display:flex;justify-content:space-between;gap:15px;padding-top:10px;border-top:1px solid rgba(0,0,0,.18);font:700 8px/1.35 var(--ui);color:#666}
.national-shot figcaption span:last-child{text-align:right}

/* One next-show element on HOME only; TOUR remains the full date page. */
.home-contact-cta{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(30px,4vw,54px) var(--page-pad);background:#080808;border-bottom:1px solid var(--line);font:700 9px/1.35 var(--ui);letter-spacing:var(--ls-small)}
.home-contact-cta>span{color:#666}
.home-contact-cta>a{font-size:clamp(18px,2.2vw,30px);font-family:var(--display);letter-spacing:-.045em;transition:color .25s ease,transform .35s var(--ease-premium)}
.home-contact-cta>a:hover{color:var(--accent);transform:translateX(6px)}

/* CONTACT — dedicated subpage */
.contact-page{background:#f1f1ed;color:#080808}
.contact-page .nav{color:#080808;background:rgba(241,241,237,.9);box-shadow:0 1px 0 rgba(0,0,0,.08)}
.contact-page .nav.is-scrolled{background:rgba(241,241,237,.95);box-shadow:0 1px 0 rgba(0,0,0,.12)}
.contact-page.otek-menu-open .nav{color:#fff}
.contact-main{min-height:100svh;display:flex;flex-direction:column;padding:clamp(120px,11vw,170px) var(--page-pad) clamp(28px,3vw,42px)}
.contact-eyebrow{font:800 9px/1.3 var(--ui);color:#777;margin-bottom:clamp(20px,3vw,34px)}
.contact-title{max-width:1100px;margin:0;font:400 clamp(82px,15vw,230px)/var(--lh-contact-title) var(--display);letter-spacing:var(--ls-contact-title);overflow-wrap:anywhere;text-transform:uppercase}
.contact-description{max-width:520px;margin:clamp(26px,3vw,42px) 0 clamp(58px,7vw,100px);font-size:clamp(14px,1.1vw,17px);line-height:1.65;color:#555550}
.contact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(240px,.8fr);gap:clamp(30px,5vw,80px);padding:clamp(26px,3vw,40px) 0;border-top:1px solid rgba(0,0,0,.2);border-bottom:1px solid rgba(0,0,0,.2)}
.contact-block{display:grid;gap:12px;min-width:0}.contact-block>span,.contact-socials>span{font:700 9px/1.35 var(--ui);color:#777}
.contact-email{width:max-content;max-width:100%;font:400 clamp(34px,5.5vw,82px)/1 var(--display);letter-spacing:var(--ls-contact-email);overflow-wrap:anywhere;border-bottom:3px solid #080808;padding-bottom:5px}
.contact-email:hover{color:var(--accent);border-color:var(--accent)}
.contact-block strong{font:400 clamp(26px,3.2vw,48px)/1.02 var(--display);letter-spacing:-.045em;overflow-wrap:anywhere}
.contact-socials{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(34px,5vw,64px)}
.contact-page .social-icon{color:#080808;border-color:rgba(0,0,0,.28)}
.contact-page .social-icon:hover{background:#080808;color:#f1f1ed}
.contact-footer{display:flex;justify-content:space-between;gap:20px;margin-top:auto;padding-top:clamp(50px,7vw,100px);font:700 9px/1.35 var(--ui);letter-spacing:var(--ls-small);color:#777}
.contact-footer a{color:#080808}

/* TOUR: stable top chrome, no BACK dead-end. */
.shows-nav{background:rgba(5,5,5,.9);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.07)}

@media(max-width:820px){
  .about-story{grid-template-columns:1fr}
  .about-story-item:nth-child(n){padding-left:0;padding-right:0;border-right:0}
  .national-lead{grid-template-columns:1fr;gap:28px}
  .national-title{font-size:clamp(72px,20vw,130px)}
  .national-copy{padding-bottom:0}
  .media-stage-cinematic{aspect-ratio:16/10}
  .contact-grid{grid-template-columns:1fr;gap:30px}
  .contact-main{padding-top:110px}
}
@media(max-width:520px){
  .otek-menu-links a:hover strong{letter-spacing:var(--ls-menu-item)}
  .film-frame .media-stage,.media-stage,.media-stage-wide,.media-stage-cinematic{aspect-ratio:4/5}
  .japan-feature .media-stage{aspect-ratio:16/11}
  .national-media .media-stage{aspect-ratio:16/10}
  .national-gallery{grid-template-columns:1fr;gap:28px}
  .national-shot img{aspect-ratio:16/10}
  .home-contact-cta{align-items:flex-start;flex-direction:column;gap:12px}
  .contact-title{font-size:clamp(70px,23vw,112px)}
  .contact-description{margin-bottom:50px}
  .contact-email{font-size:clamp(27px,8vw,40px);border-bottom-width:2px}
  .contact-footer{flex-direction:column;gap:12px}
}

@media (max-width: 520px) {
  .menu-trigger > span:first-child { display: inline !important; }
}

/* V14.1 — NEWSLETTER / MAILING LIST */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.newsletter{position:relative;overflow:hidden;padding:clamp(92px,10vw,150px) var(--page-pad);background:#0a0a0a;border-bottom:1px solid var(--line);text-align:center;isolation:isolate}
.newsletter::before{content:"";position:absolute;left:50%;top:42%;width:min(880px,85vw);height:min(520px,60vw);transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(255,75,22,.13),rgba(255,75,22,0) 67%);filter:blur(8px);z-index:-1;pointer-events:none}
.newsletter-inner{width:min(1040px,100%);margin:0 auto;display:flex;flex-direction:column;align-items:center}
.newsletter-eyebrow{font:700 9px/1.35 var(--ui);letter-spacing:var(--ls-small);color:var(--accent);margin-bottom:clamp(24px,3vw,38px)}
.newsletter-title{max-width:980px;margin:0;font:400 clamp(64px,9.6vw,154px)/var(--lh-newsletter-title, .88) var(--display);letter-spacing:var(--ls-newsletter-title, -.07em);text-transform:uppercase;text-wrap:balance;overflow-wrap:anywhere}
.newsletter-text{max-width:720px;margin:clamp(24px,3vw,38px) auto 0;font:500 clamp(12px,1.15vw,16px)/var(--lh-newsletter-body,1.45) var(--ui);letter-spacing:var(--ls-newsletter-body,.055em);text-transform:uppercase;color:#9c9c97;text-wrap:balance}
.newsletter-form{width:min(900px,100%);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:clamp(38px,5vw,64px)}
.newsletter-input{min-width:0;height:70px;border:1px solid rgba(255,255,255,.18);border-radius:0;background:rgba(255,255,255,.025);color:#f4f4ef;padding:0 22px;outline:none;font:600 12px/1 var(--ui);letter-spacing:.1em;text-transform:uppercase;transition:border-color .2s ease,background .2s ease}
.newsletter-input::placeholder{color:#5f5f5b;opacity:1}
.newsletter-input:focus{border-color:rgba(255,255,255,.62);background:rgba(255,255,255,.045)}
.newsletter-submit{height:70px;min-width:210px;border:0;border-radius:0;background:var(--accent);color:#090909;padding:0 26px;cursor:pointer;font:800 10px/1 var(--ui);letter-spacing:.18em;text-transform:uppercase;transition:transform .25s ease,filter .2s ease,opacity .2s ease}
.newsletter-submit:hover{transform:translateY(-2px);filter:brightness(1.08)}
.newsletter-submit:disabled{opacity:.55;cursor:wait;transform:none}
.newsletter-status{min-height:18px;margin-top:14px;font:800 9px/1.4 var(--ui);letter-spacing:.12em;color:#777;text-transform:uppercase}
.newsletter-status.ok{color:var(--accent)}
.newsletter-status.error{color:#ff7b64}
.newsletter-consent{max-width:720px;margin:10px auto 0;font:500 9px/1.55 var(--ui);letter-spacing:.03em;color:#5e5e5a}

/* V14.1 — CONTACT: everything centered */
.contact-main{align-items:center;text-align:center}
.contact-title{margin-left:auto;margin-right:auto;text-align:center}
.contact-description{margin-left:auto;margin-right:auto;text-align:center}
.contact-grid{width:min(900px,100%);grid-template-columns:1fr;justify-items:center;text-align:center;gap:clamp(30px,4vw,52px)}
.contact-block{justify-items:center;width:100%}
.contact-email{margin-inline:auto}
.contact-socials{width:100%;justify-content:center;flex-direction:column;gap:16px;text-align:center}
.contact-socials .social-icons{justify-content:center}
.contact-footer{width:100%;justify-content:center;align-items:center;flex-wrap:wrap;text-align:center}

@media(max-width:620px){
  .newsletter{padding-top:78px;padding-bottom:82px}
  .newsletter-title{font-size:clamp(52px,18vw,88px)}
  .newsletter-form{grid-template-columns:1fr;gap:10px}
  .newsletter-input,.newsletter-submit{height:62px;width:100%;min-width:0}
  .newsletter-input{text-align:center;padding-inline:16px}
  .newsletter-consent{max-width:330px}
}

/* =========================================================
   V15 — GLOBAL FIXED HEADER / CLEAN NAVIGATION / NEWS
   ========================================================= */
:root{
  --header-height:72px;
  --header-mobile-height:96px;
  --header-nav-gap:34px;
  --header-social-gap:12px;
  --header-icon-size:16px;
  --header-nav-size:11px;
  --header-bg-alpha:.78;
  --ls-header-nav:.12em;
  --ls-news-title:-.07em;
  --lh-news-title:.84;
  --ls-news-card-title:-.025em;
  --lh-news-card-title:1.08;
}

.site-header{
  position:fixed;
  z-index:12000;
  inset:0 0 auto 0;
  height:var(--header-height);
  display:grid;
  grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr);
  align-items:center;
  gap:24px;
  padding:0 var(--page-pad);
  color:#fff;
  background:rgba(5,5,5,var(--header-bg-alpha));
  border-bottom:1px solid rgba(255,255,255,.09);
  backdrop-filter:blur(16px) saturate(115%);
  -webkit-backdrop-filter:blur(16px) saturate(115%);
  isolation:isolate;
}
.site-brand{
  justify-self:start;
  display:inline-flex;
  align-items:center;
  font:900 clamp(25px,2.25vw,33px)/1 var(--ui);
  letter-spacing:var(--ls-nav-brand,-.11em);
  white-space:nowrap;
  transition:opacity .2s ease,transform .35s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.site-brand:hover{opacity:.72;transform:translateY(-1px)}
.site-nav-links{
  justify-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:var(--header-nav-gap);
  min-width:0;
}
.site-nav-links a{
  position:relative;
  display:inline-flex;
  align-items:center;
  height:var(--header-height);
  white-space:nowrap;
  font:800 var(--header-nav-size)/1 var(--ui);
  letter-spacing:var(--ls-header-nav);
  color:rgba(255,255,255,.62);
  transition:color .2s ease,transform .3s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.site-nav-links a:hover{color:#fff;transform:translateY(-1px)}
.site-nav-links a.active{color:#fff}
.site-nav-links[data-active-style="underline"] a::after{
  content:"";
  position:absolute;
  left:0;right:calc(var(--ls-header-nav) * -1);
  bottom:0;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .35s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.site-nav-links[data-active-style="underline"] a.active::after{transform:scaleX(1)}
.site-nav-links[data-active-style="dot"] a.active::after{
  content:"";position:absolute;left:50%;bottom:10px;width:5px;height:5px;border-radius:50%;background:var(--accent);transform:translateX(-50%)
}
.header-socials{
  justify-self:end;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:var(--header-social-gap);
  min-width:0;
}
.header-social{
  width:30px;height:30px;
  display:grid;place-items:center;
  color:rgba(255,255,255,.7);
  font-size:var(--header-icon-size);
  line-height:1;
  transition:color .2s ease,transform .3s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.header-social:hover{color:var(--accent);transform:translateY(-2px)}

/* Fixed header must never disappear or be transformed by page motion. */
.site-header,.site-header *{visibility:visible}
.page-leaving .site-header{opacity:1!important;transform:none!important}

/* Subpages begin below the persistent header. */
.shows-main,.news-main{padding-top:calc(var(--header-height) + clamp(58px,7vw,100px))!important}
.contact-main{padding-top:calc(var(--header-height) + 34px)!important}

/* CONTACT — centered and immediately readable after entering the page. */
.contact-page .site-header{background:rgba(5,5,5,.94)}
.contact-main{
  min-height:100svh;
  justify-content:center;
  gap:0;
  padding-bottom:clamp(28px,4vw,54px)!important;
}
.contact-eyebrow{margin-bottom:clamp(16px,2vw,24px)}
.contact-title{font-size:clamp(64px,11vw,166px);max-width:1040px}
.contact-description{margin-top:clamp(18px,2.2vw,30px);margin-bottom:clamp(32px,4vw,54px)}
.contact-grid{padding:clamp(22px,2.6vw,34px) 0;gap:clamp(22px,3vw,36px)}
.contact-email{font-size:clamp(30px,4.7vw,68px)}
.contact-socials{margin-top:clamp(26px,3.5vw,46px)}
.contact-footer{margin-top:clamp(28px,4vw,50px);padding-top:0}

/* NEWS */
.news-page{background:#070707;color:var(--fg)}
.news-main{min-height:100svh;padding-left:var(--page-pad);padding-right:var(--page-pad);padding-bottom:clamp(72px,8vw,120px)}
.news-hero{width:min(1180px,100%);margin:0 auto clamp(42px,5vw,72px)}
.news-hero>.eyebrow{display:block;margin-bottom:clamp(20px,2.5vw,34px);font:700 9px/1.3 var(--ui);letter-spacing:var(--ls-small);color:var(--accent)}
.news-hero h1{margin:0;font:400 clamp(80px,14vw,220px)/var(--lh-news-title) var(--display);letter-spacing:var(--ls-news-title);text-transform:uppercase;overflow-wrap:anywhere}
.news-hero p{max-width:650px;margin:clamp(20px,2vw,30px) 0 0;color:#8f8f8a;font-size:clamp(13px,1vw,16px);line-height:1.65}
.news-list{width:min(1180px,100%);margin:0 auto;border-top:1px solid var(--line)}
.news-filter{padding:17px 0;border-bottom:1px solid var(--line);font:800 9px/1 var(--ui);letter-spacing:.16em;color:var(--accent)}
.news-card{
  display:grid;
  grid-template-columns:clamp(86px,7.5vw,104px) minmax(0,1fr) auto;
  gap:clamp(18px,2.5vw,38px);
  align-items:center;
  padding:clamp(17px,2vw,26px) 0;
  border-bottom:1px solid var(--line);
  transition:opacity .22s ease,transform .38s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.news-list:hover .news-card{opacity:.48}.news-list .news-card:hover{opacity:1;transform:translateX(7px)}
.news-thumb{width:100%;aspect-ratio:1;overflow:hidden;background:#111;border:1px solid rgba(255,255,255,.06);border-radius:9px}
.news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .55s var(--ease-premium,cubic-bezier(.16,1,.3,1))}
.news-card:hover .news-thumb img{transform:scale(1.045)}
.news-card-copy{min-width:0;display:grid;gap:9px}
.news-card-meta{display:flex;gap:14px;align-items:center;flex-wrap:wrap;font:700 8px/1.3 var(--ui);letter-spacing:.13em;color:#6d6d69}
.news-card-meta span:first-child{color:var(--accent)}
.news-card h2{max-width:900px;margin:0;font:700 clamp(19px,2.15vw,32px)/var(--lh-news-card-title) var(--ui);letter-spacing:var(--ls-news-card-title);overflow-wrap:anywhere}
.news-read{font:700 8px/1 var(--ui);letter-spacing:.13em;color:#777}
.news-arrow{align-self:center;font-size:clamp(24px,2.8vw,40px);line-height:1;color:#444;transition:color .2s ease,transform .3s ease}
.news-card:hover .news-arrow{color:var(--accent);transform:translate(3px,-3px)}

.news-card.no-thumb{grid-template-columns:minmax(0,1fr) auto;padding-left:clamp(118px,10vw,142px)}
.news-card.no-thumb .news-card-copy{padding-left:0}

@media(max-width:820px){
  .site-header{
    height:var(--header-mobile-height);
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-rows:48px 1fr;
    gap:0 12px;
    padding:env(safe-area-inset-top,0px) max(16px,var(--page-pad)) 0;
  }
  .site-brand{grid-column:1;grid-row:1;font-size:25px}
  .header-socials{grid-column:2;grid-row:1}
  .header-social{width:27px;height:27px}
  .site-nav-links{grid-column:1 / -1;grid-row:2;width:100%;gap:clamp(16px,5.5vw,34px);align-self:stretch}
  .site-nav-links a{height:100%;font-size:min(var(--header-nav-size),10px)}
  .site-nav-links[data-active-style="dot"] a.active::after{bottom:5px}
  .shows-main,.news-main{padding-top:calc(var(--header-mobile-height) + 48px)!important}
  .contact-main{padding-top:calc(var(--header-mobile-height) + 26px)!important}
  .news-card{grid-template-columns:92px minmax(0,1fr) auto;gap:16px}
  .news-card.no-thumb{grid-template-columns:minmax(0,1fr) auto;padding-left:108px}
}
@media(max-width:520px){
  .site-header{padding-left:16px;padding-right:16px}
  .header-socials{gap:7px}
  .header-social{width:25px;height:25px;font-size:min(var(--header-icon-size),15px)}
  .site-nav-links{gap:clamp(11px,4.7vw,22px)}
  .site-nav-links a{font-size:min(var(--header-nav-size),9px);letter-spacing:min(var(--ls-header-nav),.12em)}
  .news-main{padding-left:16px;padding-right:16px}
  .news-hero h1{font-size:clamp(70px,25vw,112px)}
  .news-card{grid-template-columns:82px minmax(0,1fr);gap:14px;padding:15px 0}
  .news-card.no-thumb{grid-template-columns:minmax(0,1fr);padding-left:0;text-align:center}
  .news-card.no-thumb .news-card-meta{justify-content:center}
  .news-thumb{aspect-ratio:1}
  .news-arrow{display:none}
  .news-card h2{font-size:clamp(15px,4.5vw,19px)}
  .news-read{display:none}
  .contact-title{font-size:clamp(60px,21vw,96px)}
  .contact-main{padding-left:16px;padding-right:16px}
}
@media(max-width:340px){
  .site-nav-links{gap:10px}
  .site-nav-links a{font-size:8px;letter-spacing:.08em}
  .header-socials{gap:4px}.header-social{width:23px}
}

/* V15.2 — clean cinematic YouTube loops */
.media-stage.media-youtube::after{content:"";position:absolute;inset:0;z-index:3;pointer-events:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}

/* =========================================================
   V15.3 — LANGUAGE SWITCHER / STABLE TICKER
   ========================================================= */
.header-language-desktop{
  display:flex;
  align-items:center;
  gap:7px;
  margin-left:8px;
  padding-left:15px;
  border-left:1px solid rgba(255,255,255,.14);
  white-space:nowrap;
}
.header-language-desktop span{font:700 9px/1 var(--ui);color:rgba(255,255,255,.28)}
.language-option{
  appearance:none;border:0;background:transparent;color:rgba(255,255,255,.45);
  padding:8px 1px;cursor:pointer;font:800 9px/1 var(--ui);letter-spacing:.12em;
  transition:color .2s ease,transform .25s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.language-option:hover{color:#fff;transform:translateY(-1px)}
.language-option.active{color:var(--accent)}
.header-language-mobile{display:none;position:relative;margin-left:4px}
.language-current{
  min-width:45px;height:29px;display:flex;align-items:center;justify-content:center;gap:7px;
  padding:0 8px;border:1px solid rgba(255,255,255,.13);border-radius:6px;background:rgba(255,255,255,.045);
  color:#fff;cursor:pointer;font:800 9px/1 var(--ui);letter-spacing:.1em;
}
.language-current i{font-size:7px;color:rgba(255,255,255,.5);transition:transform .2s ease}
.header-language-mobile.open .language-current i{transform:rotate(180deg)}
.language-menu{
  position:absolute;right:0;top:calc(100% + 7px);min-width:62px;padding:5px;
  background:rgba(8,8,8,.98);border:1px solid rgba(255,255,255,.12);border-radius:8px;
  box-shadow:0 16px 40px rgba(0,0,0,.38);opacity:0;visibility:hidden;transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;z-index:30;
}
.header-language-mobile.open .language-menu{opacity:1;visibility:visible;transform:none}
.language-menu button{
  width:100%;border:0;background:transparent;color:rgba(255,255,255,.55);padding:9px 10px;border-radius:5px;
  text-align:center;cursor:pointer;font:800 9px/1 var(--ui);letter-spacing:.12em;
}
.language-menu button:hover{background:rgba(255,255,255,.06);color:#fff}.language-menu button.active{color:var(--accent)}

.ticker{will-change:transform;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation-play-state:running}

@media(max-width:820px){
  .header-language-desktop{display:none}
  .header-language-mobile{display:block}
  .header-socials{overflow:visible}
}
@media(max-width:390px){
  .header-socials{gap:3px}
  .header-social{width:22px;height:25px;font-size:min(var(--header-icon-size),14px)}
  .language-current{min-width:41px;padding:0 6px;gap:5px}
}


/* =========================================================
   V15.4 — CONTACT / BOOK OTEK. premium editorial rebuild
   ========================================================= */
.contact-page{background:#f1f1ed;color:#080808}
.contact-page .site-header{background:rgba(5,5,5,.96)}
.contact-main{
  position:relative;
  min-height:100svh;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding:calc(var(--header-height) + clamp(58px,6vw,92px)) var(--page-pad) clamp(54px,6vw,88px)!important;
  overflow:hidden;
}
.contact-main::before{
  content:"";
  position:absolute;
  width:min(760px,65vw);
  aspect-ratio:1;
  top:calc(var(--header-height) - 280px);
  right:-310px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,75,22,.075),rgba(255,75,22,0) 67%);
  pointer-events:none;
}
.contact-hero{position:relative;z-index:1;width:min(1420px,100%);display:flex;flex-direction:column;align-items:center}
.contact-eyebrow{
  margin:0 0 clamp(22px,2.7vw,38px);
  font:800 9px/1.3 var(--ui);
  letter-spacing:var(--ls-small);
  color:#6f6f6a;
  text-transform:uppercase;
}
.contact-title{
  width:100%;
  max-width:none;
  margin:0;
  font:400 clamp(78px,13.2vw,210px)/var(--lh-contact-title) var(--display);
  letter-spacing:var(--ls-contact-title);
  text-align:center;
  text-transform:uppercase;
  white-space:nowrap;
  overflow-wrap:normal;
}
.contact-description{
  width:min(900px,100%);
  max-width:none;
  margin:clamp(28px,3vw,44px) auto 0;
  font:500 clamp(13px,1.15vw,17px)/1.55 var(--ui);
  letter-spacing:.04em;
  color:#5d5d58;
  text-align:center;
  text-wrap:balance;
}
.contact-accent-rule{
  width:clamp(54px,5vw,82px);
  height:3px;
  margin-top:clamp(34px,4vw,58px);
  background:var(--accent);
}
.contact-details{
  position:relative;
  z-index:1;
  width:min(1120px,100%);
  margin-top:clamp(44px,5vw,74px);
  border-top:1px solid rgba(8,8,8,.18);
  border-bottom:1px solid rgba(8,8,8,.18);
}
.contact-detail{
  position:relative;
  display:grid;
  grid-template-columns:170px minmax(0,1fr) 170px;
  align-items:center;
  min-height:clamp(150px,14vw,210px);
  padding:clamp(30px,3.3vw,48px) 0;
}
.contact-detail+.contact-detail{border-top:1px solid rgba(8,8,8,.14)}
.contact-detail-index{
  grid-column:1;
  align-self:start;
  justify-self:start;
  padding-top:5px;
  font:800 8px/1.3 var(--ui);
  letter-spacing:.16em;
  color:var(--accent);
  text-transform:uppercase;
}
.contact-detail-main{grid-column:2;display:flex;flex-direction:column;align-items:center;min-width:0}
.contact-detail-label{
  margin-bottom:clamp(14px,1.5vw,20px);
  font:800 9px/1.35 var(--ui);
  letter-spacing:var(--ls-small);
  color:#74746f;
  text-transform:uppercase;
}
.contact-email{
  display:inline-block;
  width:max-content;
  max-width:100%;
  margin:0 auto;
  padding:0 0 8px;
  border-bottom:3px solid currentColor;
  font:400 clamp(36px,5vw,72px)/.98 var(--display);
  letter-spacing:var(--ls-contact-email);
  color:#080808;
  overflow-wrap:anywhere;
  transition:color .22s ease,border-color .22s ease,transform .35s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.contact-email:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-3px)}
.contact-location{
  display:block;
  max-width:100%;
  font:400 clamp(31px,4vw,58px)/1 var(--display);
  letter-spacing:-.05em;
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.contact-note{
  position:relative;
  z-index:1;
  width:min(690px,100%);
  margin:clamp(32px,4vw,56px) auto 0;
  font:500 clamp(11px,.9vw,13px)/1.65 var(--ui);
  letter-spacing:.025em;
  color:#777772;
  text-align:center;
  text-wrap:balance;
}

@media(max-width:820px){
  .contact-main{padding-top:calc(var(--header-mobile-height) + 44px)!important}
  .contact-title{font-size:clamp(66px,18vw,132px)}
  .contact-detail{grid-template-columns:1fr;min-height:0;padding:34px 0 38px}
  .contact-detail-index{grid-column:1;justify-self:center;align-self:auto;padding:0;margin-bottom:22px}
  .contact-detail-main{grid-column:1}
  .contact-email{font-size:clamp(31px,7.4vw,54px)}
  .contact-location{font-size:clamp(28px,7vw,48px)}
}
@media(max-width:520px){
  .contact-main{padding:calc(var(--header-mobile-height) + 34px) 16px 54px!important}
  .contact-main::before{width:110vw;right:-65vw;top:20px}
  .contact-eyebrow{margin-bottom:22px}
  .contact-title{font-size:clamp(58px,18.5vw,92px);white-space:normal;line-height:.86}
  .contact-description{font-size:12px;line-height:1.6;margin-top:26px}
  .contact-accent-rule{margin-top:32px;height:2px}
  .contact-details{margin-top:38px}
  .contact-detail{padding:30px 0 34px}
  .contact-detail-index{margin-bottom:18px}
  .contact-email{font-size:clamp(27px,8.4vw,40px);border-bottom-width:2px;padding-bottom:6px}
  .contact-location{font-size:clamp(26px,8vw,38px)}
  .contact-note{margin-top:30px;font-size:10px}
}

/* =========================================================
   V16.1 — HERO VIDEO
   ========================================================= */
:root{
  --hero-pos-x:50%;
  --hero-pos-y:50%;
  --hero-mobile-pos-x:50%;
  --hero-mobile-pos-y:50%;
  --hero-overlay-strength:.46;
}
.hero-media{object-position:var(--hero-pos-x) var(--hero-pos-y)}
.hero-poster{z-index:0}
.hero-video{z-index:1;pointer-events:none;background:transparent}
.hero-vignette{
  z-index:2;
  background:
    linear-gradient(180deg,rgba(0,0,0,var(--hero-overlay-strength)),transparent 38%,rgba(0,0,0,var(--hero-overlay-strength))),
    radial-gradient(circle at center,transparent 35%,rgba(0,0,0,.24));
}
.hero-meta,.hero-tag,.hero-scroll{z-index:3}
.hero-tag{text-shadow:0 3px 38px rgba(0,0,0,.22)}
@media(max-width:820px){
  .hero-media{object-position:var(--hero-mobile-pos-x) var(--hero-mobile-pos-y)}
}

/* Security honeypot: invisible to humans, useful against basic form bots. */
.newsletter-hp{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}

/* ============================================================
   GLOBAL FOOTER (V17)
   Editorial footer shared by HOME / TOUR / NEWS / CONTACT.
   Colours follow the page theme: dark by default, light on CONTACT.
   ============================================================ */
.site-footer{
  --footer-fg:var(--fg);
  --footer-muted:#7d7d78;
  --footer-line:rgba(255,255,255,.14);
  --footer-bg:#050505;
  position:relative;
  z-index:2;
  background:var(--footer-bg);
  color:var(--footer-fg);
  border-top:1px solid var(--footer-line);
}
.contact-page .site-footer{
  --footer-fg:#080808;
  --footer-muted:#77776f;
  --footer-line:rgba(8,8,8,.16);
  --footer-bg:#e9e9e4;
}
.site-footer-inner{
  width:min(1420px,100%);
  margin:0 auto;
  padding:clamp(34px,4vw,56px) var(--page-pad) clamp(20px,2.2vw,30px);
  display:flex;
  flex-direction:column;
  gap:clamp(24px,3vw,40px);
}

/* --- top row: brand + booking CTA --- */
.footer-top{
  display:flex;
  flex-wrap:wrap;
  align-items:flex-end;
  justify-content:space-between;
  gap:clamp(20px,2.4vw,36px);
}
.footer-identity{min-width:0;max-width:min(560px,100%)}
.footer-brand{
  display:inline-block;
  font:900 clamp(38px,5.5vw,78px)/.86 var(--ui);
  letter-spacing:-.075em;
  text-transform:uppercase;
  transition:color .22s ease;
}
.footer-brand:hover{color:var(--accent)}
.footer-tagline{
  margin:clamp(9px,1vw,14px) 0 0;
  max-width:42ch;
  font:600 clamp(10px,.85vw,12px)/1.6 var(--ui);
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--footer-muted);
}
.footer-cta{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0}
.footer-cta-link{
  display:inline-block;
  max-width:100%;
  padding-bottom:6px;
  border-bottom:2px solid currentColor;
  font:800 clamp(15px,1.7vw,25px)/1.1 var(--ui);
  letter-spacing:-.02em;
  overflow-wrap:anywhere;
  transition:color .22s ease,border-color .22s ease,transform .3s cubic-bezier(.16,1,.3,1);
}
.footer-cta-link:hover{color:var(--accent);border-color:var(--accent);transform:translateY(-2px)}

/* --- middle: link columns --- */
.footer-cols{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:clamp(22px,2.6vw,38px);
  padding-top:clamp(20px,2.5vw,30px);
  border-top:1px solid var(--footer-line);
}
.footer-col{display:flex;flex-direction:column;gap:12px;min-width:0}
.footer-col-title{
  font:800 8px/1.3 var(--ui);
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--accent);
}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.footer-links a{
  position:relative;
  display:inline-block;
  font:700 clamp(11px,.95vw,13px)/1.2 var(--ui);
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--footer-fg);
  transition:color .2s ease,padding-left .25s ease;
}
.footer-links a::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:0;
  height:1px;
  background:var(--accent);
  transform:translateY(-50%);
  transition:width .25s ease;
}
.footer-links a:hover,.footer-links a.active{color:var(--accent)}
.footer-links a:hover{padding-left:16px}
.footer-links a:hover::before{width:10px}
.footer-links a.active::after{
  content:"";
  display:inline-block;
  width:4px;
  height:4px;
  margin-left:8px;
  border-radius:50%;
  background:var(--accent);
  vertical-align:middle;
}
.footer-socials{display:flex;flex-wrap:wrap;gap:8px}
.footer-socials .social-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  border:1px solid var(--footer-line);
  border-radius:50%;
  font-size:14px;
  color:var(--footer-fg);
  transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease;
}
.footer-socials .social-icon:hover{
  background:var(--accent);
  border-color:var(--accent);
  color:#fff;
  transform:translateY(-2px);
}
.footer-note{
  margin:0;
  font:500 clamp(11px,.95vw,13px)/1.55 var(--ui);
  letter-spacing:.04em;
  color:var(--footer-muted);
  overflow-wrap:anywhere;
}

/* --- bottom legal bar --- */
.footer-bottom{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:clamp(14px,1.8vw,20px);
  border-top:1px solid var(--footer-line);
  font:700 9px/1.5 var(--ui);
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--footer-muted);
}
.footer-bottom>*{min-width:0;overflow-wrap:anywhere}
.footer-top-link{transition:color .2s ease}
.footer-top-link:hover{color:var(--accent)}

@media(max-width:820px){
  .footer-top{flex-direction:column;align-items:flex-start}
  .footer-cols{grid-template-columns:1fr 1fr}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:10px}
}
@media(max-width:520px){
  .footer-cols{grid-template-columns:1fr}
}

/* Display headings: break a word only as a genuine last resort.
   `overflow-wrap:anywhere` also shrinks the element's min-content width, which makes the
   grid column collapse and splits words mid-letter — "KONCERTY" became "KONCE / RTY" and
   "13.02.2027" became "13.02.20 / 27". `break-word` looks identical when a word really
   cannot fit, but does not affect intrinsic sizing, so the column keeps its natural
   width and the word stays whole. */
.now-copy h1,.show-big-date,.event-name,.about-copy h2,.booking h2,.booking-mail,
.shows-title-wrap h1,.tour-date,.tour-name{overflow-wrap:break-word}

/* ============================================================
   TOUR — PAST SHOWS (V17)
   A quiet toggle under the upcoming list. The page still leads with what is
   next; played dates are proof of track record, so they stay one click away.
   ============================================================ */
.tour-past{margin-top:clamp(30px,3.5vw,48px)}
.tour-past-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 0;
  border:0;
  background:none;
  color:#7d7d78;
  font:700 9px/1.4 var(--ui);
  letter-spacing:.14em;
  text-transform:uppercase;
  cursor:pointer;
  transition:color .22s ease;
}
.tour-past-toggle:hover,
.tour-past-toggle:focus-visible{color:var(--fg)}
.tour-past-toggle:focus-visible{outline:1px solid var(--accent);outline-offset:4px}
.tour-past-label{border-bottom:1px solid currentColor;padding-bottom:3px}
.tour-past-count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:19px;
  height:19px;
  padding:0 5px;
  border:1px solid var(--line);
  border-radius:999px;
  font-size:8px;
  letter-spacing:.06em;
  color:#8a8a85;
}
.tour-past-chevron{
  font-size:11px;
  line-height:1;
  transition:transform .28s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.tour-past-toggle.is-open .tour-past-chevron{transform:rotate(180deg)}
.tour-past-toggle.is-open{color:var(--fg)}

.tour-past-panel{
  max-height:0;
  padding-top:0;
  overflow:hidden;
  opacity:0;
  transform:translateY(-12px);
  transition:max-height .7s var(--ease-premium,cubic-bezier(.16,1,.3,1)),padding-top .55s var(--ease-premium,cubic-bezier(.16,1,.3,1)),opacity .38s ease,transform .55s var(--ease-premium,cubic-bezier(.16,1,.3,1));
  will-change:max-height,opacity,transform;
}
.tour-past-panel.is-open{
  padding-top:clamp(14px,1.8vw,24px);
  opacity:1;
  transform:none;
}
.tour-past-panel .tour-row-past{
  transform:translateY(10px);
  transition:opacity .38s ease,transform .55s var(--ease-premium,cubic-bezier(.16,1,.3,1));
}
.tour-past-panel.is-open .tour-row-past{transform:none}
.tour-past-panel.is-open .tour-row-past:nth-child(2){transition-delay:35ms}
.tour-past-panel.is-open .tour-row-past:nth-child(3){transition-delay:70ms}
.tour-past-panel.is-open .tour-row-past:nth-child(4){transition-delay:105ms}
.tour-past-panel.is-open .tour-row-past:nth-child(n+5){transition-delay:140ms}
.tour-list-past{border-top:1px solid var(--line)}
/* Played dates read as archive: dimmed, no accent button, no hover lift. */
.tour-row-past{opacity:.62;transition:opacity .25s ease}
.tour-row-past:hover{opacity:1}
.ticket-btn-ghost{
  background:transparent;
  border:1px solid var(--line);
  color:#c9c9c3;
}
.ticket-btn-ghost:hover{color:#080808}
.tour-past-note{
  padding-top:16px;
  font:600 9px/1.6 var(--ui);
  letter-spacing:.12em;
  color:#555;
  overflow-wrap:anywhere;
}
.tour-past-note:empty{display:none}

/* A date must never break mid-number. The row's first column was minmax(120px,.85fr),
   which lets it shrink far below the date's own width — that is what split "13.02.2027"
   into "13.02.20 / 27". Pinning the column to min-content and forbidding the wrap keeps
   the date whole; the (multi-word) event name column absorbs the difference. */
.tour-date{white-space:nowrap}
.tour-row{grid-template-columns:minmax(min-content,.85fr) minmax(0,2fr) minmax(160px,1.1fr) auto}
@media(max-width:820px){
  .tour-row{grid-template-columns:1fr}
  .tour-date{white-space:normal}
}

/* TOUR headline spans the full width, so a long single word ("KONCERTY") can never be
   split mid-letter by a narrow grid column. The description drops underneath and stays
   right-aligned, keeping the original editorial balance. */
.shows-title-wrap{
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"eyebrow" "title" "description";
  align-items:start;
}
.shows-title-wrap h1{max-width:100%}
.shows-title-wrap p{
  max-width:min(420px,100%);
  margin:clamp(20px,2.2vw,32px) 0 0 auto;
  text-align:right;
}
@media(max-width:820px){
  .shows-title-wrap p{max-width:100%;margin:24px 0 0;text-align:left}
}

/* ============================================================
   TOUR — LOCKED COLUMN ALIGNMENT
   Every desktop/tablet row uses the exact same four column tracks.
   Separate .tour-row grids previously recalculated their tracks per show,
   so event names / places visibly drifted left and right depending on text.
   ============================================================ */
@media(min-width:821px){
  .tour-list{
    display:grid;
    grid-template-columns:minmax(190px,20%) minmax(0,1fr) minmax(180px,24%) minmax(118px,190px);
    column-gap:clamp(18px,2.4vw,34px);
  }
  .tour-row{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:subgrid;
    column-gap:inherit;
    width:100%;
  }
  .tour-date{grid-column:1}
  .tour-name{grid-column:2}
  .tour-place{grid-column:3}
  .ticket-btn{grid-column:4;justify-self:end}
}
@media(max-width:820px){
  .tour-list{display:block}
  .tour-row{display:grid;grid-template-columns:1fr}
  .tour-date,.tour-name,.tour-place,.ticket-btn{grid-column:auto}
}
@media(min-width:821px){
  /* Keep columns locked even while hovering a row. */
  .tour-row:hover{padding-left:0;padding-right:0}
}

/* ============================================================
   GLOBAL FOOTER — FULL WIDTH + LOWER PROFILE
   Keep every existing element, use the whole viewport width,
   and reduce vertical space instead of squeezing content inward.
   ============================================================ */
.site-footer{width:100%;max-width:none;margin:0}
.site-footer-inner{
  width:100%;
  max-width:none;
  margin:0;
  padding:clamp(20px,2.2vw,32px) var(--page-pad) clamp(12px,1.4vw,20px);
  gap:clamp(15px,1.8vw,24px);
}
.footer-top{gap:clamp(16px,2vw,28px);align-items:flex-end}
.footer-identity{max-width:min(680px,58vw)}
.footer-brand{font-size:clamp(32px,4vw,58px);line-height:.9}
.footer-tagline{
  margin:6px 0 0;
  max-width:54ch;
  font-size:clamp(9px,.72vw,11px);
  line-height:1.45;
}
.footer-cta{gap:7px}
.footer-cta-link{
  padding-bottom:4px;
  font-size:clamp(14px,1.35vw,20px);
}
.footer-cols{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(16px,2vw,28px);
  padding-top:clamp(12px,1.4vw,18px);
}
.footer-col{gap:8px}
.footer-col-title{font-size:7.5px}
.footer-links{gap:5px}
.footer-links a{font-size:clamp(10px,.8vw,12px);line-height:1.15}
.footer-socials{gap:7px}
.footer-socials .social-icon{width:30px;height:30px;font-size:12px}
.footer-note{font-size:clamp(10px,.8vw,12px);line-height:1.4}
.footer-bottom{
  gap:10px;
  padding-top:clamp(9px,1vw,13px);
  font-size:8px;
  line-height:1.35;
}
@media(max-width:820px){
  .site-footer-inner{padding:20px var(--page-pad) 14px;gap:16px}
  .footer-top{flex-direction:row;align-items:flex-end}
  .footer-identity{max-width:58%}
  .footer-cols{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding-top:12px}
  .footer-bottom{flex-direction:row;align-items:center;gap:8px}
}
@media(max-width:620px){
  .site-footer-inner{padding:18px var(--page-pad) 12px}
  .footer-top{flex-direction:column;align-items:flex-start;gap:12px}
  .footer-identity{max-width:100%}
  .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px}
  .footer-bottom{flex-direction:row;align-items:flex-start;justify-content:space-between;gap:8px;font-size:7.5px}
}
@media(max-width:390px){
  .footer-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
  .footer-brand{font-size:30px}
  .footer-bottom{flex-wrap:wrap}
}

/* ============================================================
   TOUR — PAST SHOWS: QUIETER ARCHIVE / UPCOMING STAYS PRIMARY
   Played dates remain aligned with the main TOUR grid, but read as
   secondary history: smaller type, tighter rows and a muted grey tone.
   ============================================================ */
.tour-list-past{
  border-top-color:rgba(255,255,255,.10);
}
.tour-list-past .tour-row-past{
  opacity:1;
  padding-top:clamp(17px,1.75vw,24px);
  padding-bottom:clamp(17px,1.75vw,24px);
  color:#777772;
  border-bottom-color:rgba(255,255,255,.10);
  transition:background .25s ease,color .25s ease;
}
.tour-list-past .tour-row-past::before{display:none}
.tour-list-past .tour-row-past:hover{
  opacity:1;
  color:#999994;
  background:rgba(255,255,255,.012);
}
.tour-list-past .tour-date{
  font-size:clamp(21px,2.55vw,39px);
  color:#82827d;
}
.tour-list-past .tour-name{
  font-size:clamp(22px,2.55vw,39px);
  color:#888883;
}
.tour-list-past .tour-place{
  font-size:8px;
  color:#666662;
}
.tour-list-past .ticket-btn{
  padding:8px 11px;
  font-size:8px;
  color:#777772;
  border-color:rgba(255,255,255,.16);
  background:transparent;
}
.tour-list-past .ticket-btn:hover{
  color:#b2b2ac;
  border-color:rgba(255,255,255,.30);
  background:rgba(255,255,255,.025);
}

@media(max-width:820px){
  .tour-list-past .tour-row-past{padding:18px 0;gap:7px}
  .tour-list-past .tour-date{font-size:24px}
  .tour-list-past .tour-name{font-size:clamp(28px,8vw,42px)}
  .tour-list-past .tour-place{font-size:7.5px}
  .tour-list-past .ticket-btn{justify-self:start;margin-top:3px}
}

/* ============================================================
   FOOTER SOCIAL ICONS — KEEP TRUE CIRCLES
   The compact footer reduced width/height but inherited the old 42px
   flex-basis from .social-icon, which could turn circles into ovals.
   Lock all footer icons to a square footprint at every breakpoint.
   ============================================================ */
.footer-socials .social-icon{
  width:30px;
  height:30px;
  min-width:30px;
  min-height:30px;
  flex:0 0 30px;
  aspect-ratio:1 / 1;
  box-sizing:border-box;
  border-radius:50%;
  line-height:1;
}
.footer-socials .social-icon i{
  display:block;
  line-height:1;
}


/* ============================================================
   HOME — ACHIEVEMENT STRIP + LATEST MUSIC
   Compact proof points and a small music teaser between STORY and WORLDWIDE.
   ============================================================ */
.home-highlights{
  padding:0 var(--page-pad);
  border-bottom:1px solid var(--line);
  background:#080808;
}
.home-highlights-inner{
  width:100%;
  padding:clamp(20px,2.2vw,30px) 0;
}
.home-highlights p{
  margin:0;
  color:#b3b3ad;
  font:800 clamp(9px,.86vw,12px)/1.65 var(--ui);
  letter-spacing:.135em;
  text-transform:uppercase;
  text-align:center;
  text-wrap:balance;
}
.home-music{
  padding:clamp(54px,6vw,88px) var(--page-pad);
  border-bottom:1px solid var(--line);
  background:#050505;
}
.home-music-inner{
  display:grid;
  grid-template-columns:minmax(120px,.34fr) minmax(0,1.5fr) auto;
  align-items:end;
  gap:clamp(24px,4vw,70px);
}
.home-music-label{
  align-self:start;
  padding-top:8px;
  color:var(--accent);
  font:800 9px/1.3 var(--ui);
  letter-spacing:var(--ls-small);
  text-transform:uppercase;
}
.home-music-copy{min-width:0}
.home-music-meta{
  margin-bottom:11px;
  color:#6f6f6a;
  font:800 8px/1.35 var(--ui);
  letter-spacing:.16em;
  text-transform:uppercase;
}
.home-music-title{
  margin:0;
  max-width:920px;
  font:600 clamp(38px,5.4vw,82px)/.91 var(--display);
  letter-spacing:-.055em;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
.home-music-subtitle{
  margin:11px 0 0;
  color:#858580;
  font:800 9px/1.35 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.home-music-subtitle:empty{display:none}
.home-music-cta{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:0 17px;
  border:1px solid rgba(255,255,255,.24);
  font:800 8px/1 var(--ui);
  letter-spacing:.14em;
  text-transform:uppercase;
  white-space:nowrap;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .3s var(--ease-premium);
}
.home-music-cta:hover{background:var(--fg);border-color:var(--fg);color:#080808;transform:translateY(-2px)}

@media(max-width:820px){
  .home-highlights p{text-align:left}
  .home-music-inner{grid-template-columns:1fr;align-items:start;gap:20px}
  .home-music-label{padding-top:0}
  .home-music-cta{justify-self:start;margin-top:4px}
}

/* ============================================================
   MUSIC / RELEASES — V16.5 POLISHED GRID
   Every section uses the same four-column spine:
   index / artwork / release copy / action.  The coming-soon block starts
   exactly where release titles start, creating one strong vertical axis.
   ============================================================ */
.music-page{background:#050505;color:var(--fg)}
.music-main{
  --music-index:44px;
  --music-art:clamp(96px,8vw,132px);
  --music-action:clamp(170px,13vw,205px);
  --music-gap:clamp(18px,2.35vw,36px);
  min-height:100svh;
  padding:calc(var(--header-height) + clamp(54px,6.5vw,92px)) var(--page-pad) clamp(72px,8vw,120px);
}
.music-hero,.music-releases,.music-coming{width:min(1420px,100%);margin-inline:auto}
.music-hero{
  margin-bottom:clamp(48px,5.5vw,78px);
  display:grid;
  grid-template-columns:var(--music-index) var(--music-art) minmax(0,1fr) var(--music-action);
  column-gap:var(--music-gap);
  align-items:end;
}
.music-hero>.eyebrow{
  grid-column:1/3;
  grid-row:1;
  margin-bottom:15px;
  color:var(--accent);
  font:700 9px/1.3 var(--ui);
  letter-spacing:var(--ls-small);
}
.music-hero h1{
  grid-column:1/4;
  grid-row:2;
  margin:0;
  font:400 clamp(82px,13vw,205px)/.79 var(--display);
  letter-spacing:-.073em;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
.music-hero p{
  grid-column:4;
  grid-row:2;
  align-self:end;
  max-width:100%;
  margin:0 0 8px;
  color:#858580;
  font:500 clamp(11px,.9vw,14px)/1.65 var(--ui);
  letter-spacing:.015em;
}
.music-list{border-top:1px solid var(--line)}
.music-release{
  display:grid;
  grid-template-columns:var(--music-index) var(--music-art) minmax(0,1fr) var(--music-action);
  align-items:center;
  gap:var(--music-gap);
  padding:clamp(22px,2.25vw,32px) 0;
  border-bottom:1px solid var(--line);
  transition:opacity .28s ease,background .25s ease;
}
.music-list:hover .music-release{opacity:.52}
.music-list .music-release:hover{opacity:1;background:rgba(255,255,255,.012)}
.music-index{font:800 8px/1 var(--ui);letter-spacing:.16em;color:#555}
.music-art{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:#101010;border:1px solid rgba(255,255,255,.09)}
.music-art img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s var(--ease-premium)}
.music-release:hover .music-art img{transform:scale(1.035)}
.music-art-empty{display:grid;place-items:center;background:linear-gradient(145deg,#151515,#0a0a0a)}
.music-art-empty::before{content:"";position:absolute;inset:13%;border:1px solid rgba(255,255,255,.075);transform:rotate(45deg)}
.music-art-empty span{position:relative;z-index:1;color:#d8d8d2;font:900 clamp(19px,1.8vw,28px)/1 var(--ui);letter-spacing:-.08em}
.music-release-copy{min-width:0;display:flex;flex-direction:column;gap:8px}
.music-meta{display:flex;align-items:center;gap:13px;flex-wrap:wrap;color:#656560;font:800 8px/1.3 var(--ui);letter-spacing:.16em;text-transform:uppercase}
.music-meta span:first-child{color:var(--accent)}
.music-release h2{
  margin:0;
  max-width:820px;
  font:600 clamp(28px,3.35vw,52px)/.94 var(--display);
  letter-spacing:-.05em;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
.music-release-copy p{margin:0;color:#7d7d78;font:800 9px/1.35 var(--ui);letter-spacing:.14em;text-transform:uppercase}
.music-release-copy p:empty{display:none}
.music-listen{
  justify-self:stretch;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:0 14px;
  border:1px solid rgba(255,255,255,.22);
  font:800 8px/1.15 var(--ui);
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
  white-space:normal;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .3s var(--ease-premium);
}
.music-listen:hover{background:var(--fg);border-color:var(--fg);color:#080808;transform:translateY(-2px)}
.music-coming{
  padding:clamp(52px,6vw,86px) 0 0;
  display:grid;
  grid-template-columns:var(--music-index) var(--music-art) minmax(0,1fr) var(--music-action);
  column-gap:var(--music-gap);
  align-items:start;
}
.music-coming-line{
  grid-column:1/3;
  height:1px;
  margin-top:15px;
  background:linear-gradient(90deg,var(--accent),rgba(255,255,255,.12));
}
.music-coming-copy{grid-column:3/5;min-width:0}
.music-coming-copy h2{
  margin:0;
  max-width:900px;
  font:600 clamp(34px,4.7vw,72px)/.92 var(--display);
  letter-spacing:-.053em;
  text-transform:uppercase;
}
.music-coming-copy p{margin:15px 0 0;color:#686863;font:800 8px/1.45 var(--ui);letter-spacing:.17em;text-transform:uppercase}

@media(max-width:980px) and (min-width:821px){
  .music-main{--music-action:150px;--music-art:104px}
  .music-hero p{font-size:11px}
}
@media(max-width:820px){
  .music-main{--music-index:30px;--music-art:88px;--music-gap:14px}
  .music-hero{grid-template-columns:1fr;display:grid}
  .music-hero>.eyebrow,.music-hero h1,.music-hero p{grid-column:1;grid-row:auto}
  .music-hero p{max-width:560px;margin:22px 0 0}
  .music-release{grid-template-columns:var(--music-index) var(--music-art) minmax(0,1fr)}
  .music-listen{grid-column:3;justify-self:start;width:auto;margin-top:2px;padding-inline:13px}
  .music-release h2{font-size:clamp(27px,6.8vw,48px)}
  .music-coming{grid-template-columns:var(--music-index) var(--music-art) minmax(0,1fr);gap:var(--music-gap)}
  .music-coming-line{grid-column:1/3}
  .music-coming-copy{grid-column:3}
}
@media(max-width:520px){
  .music-main{--music-index:24px;--music-art:70px;--music-gap:10px;padding-top:calc(var(--header-mobile-height) + 42px)}
  .music-hero{margin-bottom:40px}
  .music-hero h1{font-size:clamp(70px,23vw,112px)}
  .music-release{padding:17px 0;align-items:start}
  .music-index{padding-top:4px;font-size:7px}
  .music-meta{gap:8px;font-size:7px;letter-spacing:.11em}
  .music-release h2{font-size:clamp(23px,7.4vw,38px)}
  .music-release-copy p{font-size:7px;letter-spacing:.11em}
  .music-listen{min-height:36px;padding:0 11px;font-size:7px;letter-spacing:.1em}
  .music-coming{grid-template-columns:1fr;gap:20px;padding-top:42px}
  .music-coming-line{grid-column:1;width:82px}
  .music-coming-copy{grid-column:1}
}


/* ============================================================
   TOUR — V16.7 MAINSTAGE DATES
   Middle ground between compact artist tour lists and premium event cards.
   Date controls order automatically; year filter is generated from dates.
   ============================================================ */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.shows-main{padding-bottom:clamp(52px,5vw,76px)}
.shows-title-wrap{padding-bottom:clamp(32px,4vw,52px)}
.tour-controls{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 18px}
.tour-year-select-wrap{position:relative;display:inline-flex;min-width:clamp(190px,17vw,250px)}
.tour-year-select{appearance:none;width:100%;min-height:54px;padding:0 52px 0 18px;border:1px solid rgba(255,255,255,.22);border-radius:0;background:#0b0b0b;color:#f1f1ed;font:800 11px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;outline:none;transition:border-color .2s ease,background .2s ease}
.tour-year-select:hover,.tour-year-select:focus{border-color:rgba(255,255,255,.5);background:#101010}
.tour-year-chevron{position:absolute;right:18px;top:50%;transform:translateY(-50%);pointer-events:none;color:#777;font:700 12px/1 var(--ui)}
.tour-controls-meta{color:#565651;font:800 8px/1 var(--ui);letter-spacing:.16em;text-transform:uppercase}
.tour-list{display:grid;gap:10px;border-top:0}
.tour-row{position:relative;display:grid;grid-template-columns:minmax(150px,.68fr) minmax(0,1.55fr) minmax(190px,.82fr) minmax(145px,.55fr);gap:clamp(20px,2.7vw,46px);align-items:center;min-height:132px;padding:clamp(20px,2vw,28px) clamp(20px,2vw,30px);border:1px solid rgba(255,255,255,.105);background:linear-gradient(105deg,#0b0b0b 0%,#101010 58%,#0b0b0b 100%);overflow:hidden;transition:border-color .25s ease,transform .3s var(--ease-premium),background .25s ease}
.tour-row::before{content:"";position:absolute;inset:0 auto 0 0;width:2px;background:transparent;transition:background .22s ease}
.tour-row:hover{border-color:rgba(255,255,255,.24);background:linear-gradient(105deg,#0c0c0c 0%,#141414 58%,#0c0c0c 100%);transform:translateY(-2px)}
.tour-row:hover::before,.tour-row.is-next::before{background:var(--accent)}
.tour-row.is-next{border-color:rgba(255,255,255,.18);background:linear-gradient(105deg,rgba(255,75,22,.07),#111 38%,#0b0b0b 100%)}
.tour-date{display:grid;align-content:center;gap:5px;overflow:visible!important;overflow-wrap:normal!important;font-family:var(--ui);letter-spacing:normal}
.tour-date-top{display:flex;align-items:center;gap:8px;min-height:15px}
.tour-next-badge{display:inline-flex!important;align-items:center;padding:6px 9px;background:var(--accent);color:#080808;font:900 9px/1 var(--ui);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;visibility:visible!important}
.tour-weekday{color:#777;font:800 8px/1 var(--ui);letter-spacing:.16em}
.tour-date-main{color:#f1f1ed;font:800 clamp(20px,1.6vw,27px)/1 var(--ui);letter-spacing:.01em;white-space:nowrap}
.tour-date-year{color:#64645f;font:750 9px/1 var(--ui);letter-spacing:.15em}
.tour-show-info{min-width:0}
.tour-name{margin:0;color:#f1f1ed;font:600 clamp(30px,3.15vw,50px)/var(--lh-tour-name) var(--display);letter-spacing:var(--ls-tour-name);text-transform:uppercase;overflow-wrap:break-word}
.tour-place{white-space:pre-line;color:#777772;font:750 9px/1.55 var(--ui);letter-spacing:.13em;text-transform:uppercase}
.tour-place-mobile{display:none;white-space:pre-line}
.ticket-btn{justify-self:stretch;display:inline-flex;align-items:center;justify-content:center;min-height:48px;max-width:none;padding:0 16px;border:1px solid rgba(255,255,255,.22);background:transparent;color:#f1f1ed;font:850 8px/1.25 var(--ui);letter-spacing:.13em;text-transform:uppercase;text-align:center;transition:background .22s ease,border-color .22s ease,color .22s ease,transform .25s var(--ease-premium)}
a.ticket-btn:hover{border-color:var(--accent);background:var(--accent);color:#080808;transform:translateY(-1px)}
.ticket-btn-free{border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.035);color:#7a7a75;cursor:default;user-select:none}
.tour-empty{padding:38px 22px;border:1px solid rgba(255,255,255,.09);color:#666;font:800 9px/1.4 var(--ui);letter-spacing:.14em;text-align:center;text-transform:uppercase}
.tour-note{padding:18px 0 0;color:#555;font-size:8px}
.tour-past{margin-top:clamp(30px,3.5vw,48px)}
.tour-list-past{gap:7px}
.tour-list-past .tour-row-past{grid-template-columns:minmax(140px,.68fr) minmax(0,1.55fr) minmax(190px,.82fr) minmax(120px,.55fr);min-height:92px;padding:15px 20px;border-color:rgba(255,255,255,.07);background:#080808;opacity:.52;transform:none}
.tour-list-past .tour-row-past:hover{opacity:.82;border-color:rgba(255,255,255,.13);background:#0b0b0b;transform:none}
.tour-list-past .tour-row-past .tour-name{font-size:clamp(21px,2vw,31px);color:#aaa}
.tour-list-past .tour-row-past .tour-date-main{font-size:17px;color:#8e8e89}
.tour-list-past .tour-row-past .tour-weekday,.tour-list-past .tour-row-past .tour-date-year,.tour-list-past .tour-row-past .tour-place{color:#555}
.tour-list-past .ticket-btn-ghost{min-height:38px;border-color:rgba(255,255,255,.12);color:#777;background:transparent}
.tour-list-past .ticket-btn-ghost:hover{border-color:rgba(255,255,255,.3);background:#151515;color:#bbb}

@media(max-width:1050px){
  .tour-row{grid-template-columns:minmax(130px,.65fr) minmax(0,1.5fr) minmax(150px,.75fr) minmax(125px,.52fr);gap:20px;padding-inline:20px}
  .tour-list-past .tour-row-past{grid-template-columns:minmax(120px,.65fr) minmax(0,1.5fr) minmax(150px,.75fr) minmax(110px,.52fr)}
}
@media(max-width:820px){
  .tour-controls{margin-bottom:12px}.tour-year-select-wrap{width:100%;min-width:0}.tour-controls-meta{display:none}
  .tour-row,.tour-list-past .tour-row-past{grid-template-columns:96px minmax(0,1fr) auto;gap:14px;min-height:0;padding:18px 16px;align-items:center}
  .tour-date{grid-column:1}.tour-show-info{grid-column:2}.tour-place{display:none}.tour-place-mobile{display:block;margin-top:8px;color:#666;font:750 7px/1.45 var(--ui);letter-spacing:.11em;text-transform:uppercase}.ticket-btn{grid-column:3;grid-row:1;min-width:96px;min-height:42px;padding-inline:10px}
  .tour-date-main{font-size:18px}.tour-name{font-size:clamp(27px,7vw,43px)}
  .tour-list-past .tour-row-past .tour-name{font-size:clamp(20px,5.5vw,29px)}
  .tour-list-past .tour-row-past .tour-date-main{font-size:15px}
}
@media(max-width:560px){
  .tour-row,.tour-list-past .tour-row-past{grid-template-columns:78px minmax(0,1fr);gap:13px;padding:16px 14px}
  .ticket-btn{grid-column:2;grid-row:auto;justify-self:start;min-width:0;width:auto;min-height:36px;margin-top:2px;padding:0 11px;font-size:7px}
  .tour-next-badge{display:inline-flex!important;visibility:visible!important;padding:5px 7px;font-size:8px}.tour-date-top{min-height:auto;display:flex!important;flex-wrap:wrap;align-items:center}.tour-weekday{font-size:7px}.tour-date-main{font-size:16px}.tour-date-year{font-size:7px}
  .tour-name{font-size:clamp(25px,8vw,37px)}
}


/* ============================================================
   TOUR — V16.7.2 PREMIUM YEAR DROPDOWN + SOFTER HOVER
   Custom dropdown opens vertically below ALL DATES.
   ============================================================ */
.tour-controls{position:relative;overflow:visible;z-index:30}
.tour-year-select-wrap{
  position:relative;
  z-index:40;
  display:block;
  width:clamp(220px,18vw,290px);
  min-width:0;
}
.tour-year-select{
  -webkit-appearance:none;
  appearance:none;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  width:100%;
  min-height:56px;
  margin:0;
  padding:0 20px 0 22px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:0;
  background:linear-gradient(110deg,#0a0a0a 0%,#111 100%);
  box-shadow:inset 3px 0 0 var(--accent);
  color:#f1f1ed;
  text-align:left;
  cursor:pointer;
  outline:none;
  transition:border-color .34s ease,background .34s ease,box-shadow .34s ease;
}
.tour-year-select:hover,
.tour-year-select:focus-visible,
.tour-year-select-wrap.is-open .tour-year-select{
  border-color:rgba(255,255,255,.42);
  background:linear-gradient(110deg,#0d0d0d 0%,#151515 100%);
  box-shadow:inset 3px 0 0 var(--accent),0 0 0 1px rgba(255,255,255,.025);
}
.tour-year-current{
  font:850 10px/1 var(--ui);
  letter-spacing:.15em;
  text-transform:uppercase;
}
.tour-year-chevron{
  position:relative;
  right:auto;
  top:auto;
  width:8px;
  height:8px;
  flex:0 0 8px;
  border-right:1.5px solid #777;
  border-bottom:1.5px solid #777;
  transform:rotate(45deg) translate(-1px,-1px);
  transform-origin:center;
  pointer-events:none;
  transition:transform .38s var(--ease-premium),border-color .3s ease;
}
.tour-year-select-wrap.is-open .tour-year-chevron{
  transform:rotate(225deg) translate(-1px,-1px);
  border-color:#f1f1ed;
}
.tour-year-menu{
  position:absolute;
  z-index:100;
  left:0;
  right:0;
  top:calc(100% + 7px);
  width:100%;
  margin:0;
  padding:0;
  border:1px solid rgba(255,255,255,.20);
  border-radius:0;
  background:rgba(8,8,8,.985);
  box-shadow:inset 3px 0 0 rgba(255,75,22,.72),0 18px 48px rgba(0,0,0,.55);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(-8px);
  clip-path:inset(0 0 100% 0);
  transform-origin:top;
  transition:opacity .25s ease,transform .36s var(--ease-premium),clip-path .36s var(--ease-premium),visibility 0s linear .36s;
}
.tour-year-select-wrap.is-open .tour-year-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translateY(0);
  clip-path:inset(0 0 0 0);
  transition:opacity .24s ease,transform .36s var(--ease-premium),clip-path .36s var(--ease-premium),visibility 0s;
}
.tour-year-option{
  -webkit-appearance:none;
  appearance:none;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  min-height:48px;
  margin:0;
  padding:0 20px 0 22px;
  border:0;
  border-bottom:1px solid rgba(255,255,255,.075);
  border-radius:0;
  background:#0a0a0a;
  color:#74746f;
  font:820 10px/1 var(--ui);
  letter-spacing:.14em;
  text-align:left;
  text-transform:uppercase;
  cursor:pointer;
  outline:none;
  box-shadow:none;
  transition:color .28s ease,background .28s ease,padding-left .34s var(--ease-premium);
}
.tour-year-option:last-child{border-bottom:0}
.tour-year-option::after{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:transparent;
  flex:0 0 5px;
  transition:background .28s ease,box-shadow .28s ease;
}
.tour-year-option:hover,
.tour-year-option:focus-visible{
  background:#121212;
  color:#f1f1ed;
  padding-left:27px;
}
.tour-year-option.is-selected{
  background:linear-gradient(90deg,rgba(255,75,22,.10),rgba(255,75,22,.02) 48%,transparent);
  color:#f1f1ed;
}
.tour-year-option.is-selected::after{
  background:var(--accent);
  box-shadow:0 0 10px rgba(255,75,22,.48);
}

/* Keep concert card dimensions fixed on hover. Only a subtle, slower lift remains. */
.tour-row{
  --tour-row-pad-x:clamp(20px,2vw,30px);
  padding-left:var(--tour-row-pad-x)!important;
  padding-right:var(--tour-row-pad-x)!important;
  transition:border-color .42s ease,transform .58s var(--ease-premium),background .46s ease!important;
  will-change:transform;
}
.tour-row:hover{
  padding-left:var(--tour-row-pad-x)!important;
  padding-right:var(--tour-row-pad-x)!important;
  transform:translateY(-1px)!important;
}
.tour-list-past .tour-row-past{
  --tour-row-pad-x:20px;
}
.tour-list-past .tour-row-past:hover{
  padding-left:var(--tour-row-pad-x)!important;
  padding-right:var(--tour-row-pad-x)!important;
  transform:none!important;
}

@media(max-width:1050px){
  .tour-row{--tour-row-pad-x:20px}
}
@media(max-width:820px){
  .tour-year-select-wrap{width:100%}
  .tour-row,.tour-list-past .tour-row-past{--tour-row-pad-x:16px}
  .tour-year-menu{top:calc(100% + 6px)}
}
@media(max-width:560px){
  .tour-row,.tour-list-past .tour-row-past{--tour-row-pad-x:14px}
  .tour-year-select{min-height:50px;padding:0 16px 0 18px}
  .tour-year-option{min-height:44px;padding-left:18px;padding-right:16px}
  .tour-year-option:hover,.tour-year-option:focus-visible{padding-left:23px}
}


/* ===== PRIVACY — compact legal page ===== */
.privacy-page{background:#050505;color:#f1f1ed}
.privacy-page .site-header{background:rgba(5,5,5,var(--header-bg-alpha,.78))}
.privacy-main{min-height:62vh;padding:calc(var(--header-height,72px) + 58px) clamp(22px,4vw,64px) 58px}
.privacy-shell{width:min(760px,100%);margin:0 auto}
.privacy-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.14)}
.privacy-head h1{margin:0;font-family:"Inter Tight",Inter,sans-serif;font-size:clamp(30px,3.2vw,44px);font-weight:900;letter-spacing:-.045em;line-height:.95}
.privacy-head p{margin:0 0 2px;color:#777;font-size:9px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}
.privacy-intro{max-width:680px;margin:22px 0 0;color:#aaa;font-size:13px;line-height:1.7}
.privacy-sections{margin-top:12px}
.privacy-section{display:grid;grid-template-columns:190px 1fr;gap:28px;padding:18px 0;border-top:1px solid rgba(255,255,255,.09)}
.privacy-section:first-child{border-top:0}
.privacy-section h2{margin:1px 0 0;color:#f1f1ed;font-size:10px;font-weight:800;letter-spacing:.14em;line-height:1.4;text-transform:uppercase}
.privacy-section p{margin:0;color:#8d8d8d;font-size:12.5px;line-height:1.68}
.privacy-contact{display:flex;align-items:center;justify-content:space-between;gap:22px;margin-top:8px;padding:18px 0;border-top:1px solid rgba(255,255,255,.14)}
.privacy-contact span{color:#777;font-size:9px;font-weight:800;letter-spacing:.14em;text-transform:uppercase}
.privacy-contact a{color:#f1f1ed;font-size:12px;font-weight:800;letter-spacing:.08em;text-decoration:none}
.privacy-contact a:hover{color:var(--accent,#ff4b16)}
@media(max-width:820px){
  .privacy-main{padding:calc(var(--header-mobile-height,96px) + 34px) 20px 42px}
  .privacy-head{display:block}
  .privacy-head h1{font-size:32px}
  .privacy-head p{margin-top:8px;white-space:normal}
  .privacy-intro{font-size:12.5px}
  .privacy-section{grid-template-columns:1fr;gap:7px;padding:16px 0}
  .privacy-section p{font-size:12px}
  .privacy-contact{align-items:flex-start;flex-direction:column;gap:7px;padding:16px 0}
}
