: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 Black","Inter Tight",Inter,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 / HERO PRELOADER — v18.8
   LOADING: one solid white OT on pure black.
   READY: that same OT expands from the exact viewport centre. Its solid white fill
   becomes a transparent window onto the already-playing hero while a thin white OT
   outline remains visible. At the same time the black curtain continuously fades away.
   No hold, no late jump, no second reveal phase. */
body.intro-active{overflow:hidden}
/* While the loader is up, absolutely nothing from the page UI may sit above it. */
body.intro-active .site-header,
body.intro-active .nav,
body.intro-active .scroll-progress,
body.intro-active .page-curtain,
body.intro-active .otek-menu,
body.intro-active .next-strip,
body.intro-active .ticker-wrap{
  visibility:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.intro{position:fixed;inset:0;z-index:30000;overflow:hidden;background:transparent;opacity:1;visibility:visible;pointer-events:auto;isolation:isolate;transform:translateZ(0)}
.intro-curtain{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;overflow:visible;pointer-events:none}
.intro-curtain-fill{opacity:1;will-change:opacity}
.intro-svg-logo{font-family:"Inter Tight",Inter,Arial,sans-serif;font-weight:900;font-size:clamp(68px,8vw,116px);letter-spacing:-.11em}

/* Only this logo is visible while loading. It becomes the expanding white outline. */
.intro-visible-logo{
  opacity:0;
  fill:#fff;
  fill-opacity:1;
  stroke:#fff;
  stroke-width:0;
  stroke-opacity:0;
  paint-order:stroke fill;
  will-change:font-size,opacity,fill-opacity,stroke-opacity,stroke-width;
  animation:otekIntroLogoIn .46s cubic-bezier(.22,.61,.36,1) .06s forwards
}

/* The reveal mask is invisible during loading and shares the exact same centre/typography. */
.intro-mask-logo{opacity:0;will-change:font-size,opacity}
.intro-mask-grow{transform:none}

.intro-loading{position:absolute;left:50%;top:calc(50% + 88px);z-index:2;display:flex;flex-direction:column;align-items:center;gap:11px;width:clamp(92px,9vw,132px);opacity:0;transform:translate(-50%,6px);animation:otekIntroLoadingIn .42s ease .30s forwards;transition:opacity .22s ease,transform .28s ease;pointer-events:none}
.intro-loading-text{font:700 8px/1 var(--ui);letter-spacing:.28em;padding-left:.28em;color:rgba(255,255,255,.66)}
.intro-loading-track{position:relative;display:block;width:100%;height:1px;overflow:hidden;background:rgba(255,255,255,.16)}
.intro-loading-track i{position:absolute;inset:0 auto 0 0;width:42%;background:#fff;transform:translateX(-120%);animation:otekIntroProgress 1.05s cubic-bezier(.65,0,.35,1) infinite}

/* READY: every part starts together. */
.intro.is-opening{pointer-events:none}
.intro.is-opening .intro-loading{opacity:0;transform:translate(-50%,10px);animation:none}
.intro.is-opening .intro-visible-logo{animation:otekIntroVisibleLogoOpen 1.58s cubic-bezier(.18,.74,.18,1) forwards}
.intro.is-opening .intro-mask-logo{animation:otekIntroMaskLogoOpen 1.58s cubic-bezier(.18,.74,.18,1) forwards}
.intro.is-opening .intro-curtain-fill{animation:otekIntroCurtainOpen 1.58s cubic-bezier(.30,.02,.18,1) forwards}

.intro.is-simple-opening{pointer-events:none}
.intro.is-simple-opening .intro-visible-logo{opacity:0;transition:opacity .24s ease}
.intro.is-simple-opening .intro-curtain-fill{opacity:0;transition:opacity .34s ease}
.intro.hidden{opacity:0;visibility:hidden;pointer-events:none}

@keyframes otekIntroLogoIn{from{opacity:0}to{opacity:1}}
@keyframes otekIntroLoadingIn{to{opacity:1;transform:translate(-50%,0)}}
@keyframes otekIntroProgress{0%{transform:translateX(-120%)}55%{transform:translateX(105%)}100%{transform:translateX(245%)}}

/*
   The logo itself never "disappears first". It expands continuously.
   Solid white fill drains away while a clean white outline stays behind,
   then the outline fades only at the very end.
*/
@keyframes otekIntroVisibleLogoOpen{
  0%{
    font-size:clamp(68px,8vw,116px);
    opacity:1;
    fill-opacity:1;
    stroke-opacity:0;
    stroke-width:0
  }
  10%{
    opacity:1;
    fill-opacity:.78;
    stroke-opacity:.52;
    stroke-width:1.15px
  }
  24%{
    opacity:1;
    fill-opacity:.42;
    stroke-opacity:.90;
    stroke-width:1.4px
  }
  40%{
    opacity:.98;
    fill-opacity:0;
    stroke-opacity:.94;
    stroke-width:1.6px
  }
  58%{
    opacity:.78;
    fill-opacity:0;
    stroke-opacity:.72;
    stroke-width:1.75px
  }
  72%{
    opacity:.36;
    fill-opacity:0;
    stroke-opacity:.34;
    stroke-width:1.9px
  }
  82%{
    opacity:0;
    fill-opacity:0;
    stroke-opacity:0;
    stroke-width:2px
  }
  100%{
    font-size:240vmax;
    opacity:0;
    fill-opacity:0;
    stroke-opacity:0;
    stroke-width:2px
  }
}

/* The interior of OT becomes transparent progressively from the first part of the zoom. */
@keyframes otekIntroMaskLogoOpen{
  0%{font-size:clamp(68px,8vw,116px);opacity:0}
  10%{opacity:.12}
  26%{opacity:.38}
  48%{opacity:.66}
  70%{opacity:.86}
  88%{opacity:.97}
  100%{font-size:240vmax;opacity:1}
}

/* Black background dissolves continuously WITH the OT expansion — never holds at 100%. */
@keyframes otekIntroCurtainOpen{
  0%{opacity:1}
  12%{opacity:.96}
  28%{opacity:.86}
  46%{opacity:.70}
  64%{opacity:.49}
  80%{opacity:.27}
  92%{opacity:.10}
  100%{opacity:0}
}

/* 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)}
.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;border:0;border-radius:0;background:var(--accent);color:#070707;font:400 clamp(20px,2.1vw,30px)/1 var(--display);text-align:left;appearance:none;-webkit-appearance:none;cursor:pointer;transform:rotate(-4deg);overflow-wrap:anywhere;transition:transform .28s cubic-bezier(.16,1,.3,1),filter .22s ease}
.stamp:hover{transform:rotate(-4deg) translateY(-3px);filter:brightness(1.06)}
.stamp:active{transform:rotate(-4deg) translateY(0) scale(.98)}
.stamp:focus-visible{outline:2px solid #fff;outline-offset:4px}

/* 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}
}

/* V23 - clearer mobile header/nav */
@media(max-width:820px){
  .site-header{
    min-height:76px!important;
    padding:8px 16px 7px!important;
    align-content:center!important;
    row-gap:7px!important;
  }
  .site-brand{
    font-size:clamp(2rem,9.2vw,2.8rem)!important;
    line-height:.9!important;
  }
  .site-nav-links{
    justify-content:center!important;
    gap:clamp(8px,2.4vw,16px)!important;
    padding:0!important;
  }
  .site-nav-links a{
    min-height:36px!important;
    padding:8px 6px!important;
    font-size:clamp(.72rem,3.05vw,.9rem)!important;
    line-height:1!important;
    letter-spacing:.04em!important;
  }
  .header-socials{
    align-self:start!important;
  }
  .language-current{
    min-width:54px!important;
    min-height:42px!important;
    padding:0 12px!important;
    font-size:.92rem!important;
  }
}

@media(max-width:430px){
  .site-header{
    min-height:74px!important;
    padding-inline:14px!important;
  }
  .site-nav-links a{
    font-size:clamp(.66rem,2.9vw,.8rem)!important;
    padding-inline:4px!important;
  }
}

/* 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,.reveal-title{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(28px);transition:opacity .58s ease,transform .72s var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
.reveal.in{opacity:1;transform:none}
.reveal-title{opacity:0;transform:translateY(22px);transition:opacity .5s ease,transform .72s var(--ease-premium);transition-delay:var(--reveal-delay,0ms)}
.reveal-title.in{opacity:1;transform:none}
/* The CMS preview must never hide a headline: the editor has to see and click
   every piece of text, including sections far below the iframe fold. */
.studio-preview .reveal,.studio-preview .reveal-title{opacity:1!important;transform:none!important}
.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-scale:1.035;transform:scale(var(--media-scale));transition:transform .8s var(--ease-premium)}
.film-frame:hover img{--media-scale:1.065;transform: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{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.035);transition:transform .85s var(--ease-premium)}
.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-mobile-nav-gap:0px;
  --header-nav-padding-x:11px;
  --header-mobile-nav-padding-x:0px;
  --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,.94);
  border-bottom:1px solid rgba(255,255,255,.09);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  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}

/* ABOUT ME */
.about-page{background:#050505;color:var(--fg)}
.about-main{
  min-height:100svh;
  padding:calc(var(--header-height) + clamp(58px,7vw,100px)) var(--page-pad) clamp(72px,8vw,120px);
}
.about-page-hero,.about-page-proof,.about-page-story-wrap{width:min(1420px,100%);margin-inline:auto}
.about-page-hero{margin-bottom:clamp(38px,5vw,70px)}
.about-page-eyebrow{
  display:block;
  margin-bottom:clamp(24px,3vw,42px);
  color:var(--accent);
  font:800 9px/1.3 var(--ui);
  letter-spacing:var(--ls-small);
  text-transform:uppercase;
}
.about-page-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);
  gap:clamp(34px,6vw,96px);
  align-items:end;
}
.about-page-copy{min-width:0}
.about-page-copy h1{
  margin:0;
  font:400 clamp(86px,14.5vw,220px)/var(--lh-about-title) var(--display);
  letter-spacing:var(--ls-about-title);
  text-transform:uppercase;
  overflow-wrap:anywhere;
}
.about-page-copy p{
  max-width:690px;
  margin:clamp(24px,3vw,42px) 0 0;
  color:#aaa9a3;
  font:500 clamp(14px,1.12vw,18px)/1.7 var(--body);
  letter-spacing:.01em;
}
.about-page-portrait{
  position:relative;
  min-width:0;
  border:1px solid rgba(255,255,255,.12);
  background:#101010;
  overflow:hidden;
}
.about-page-portrait::after{
  content:"";
  position:absolute;
  left:0;right:0;bottom:0;
  height:34%;
  background:linear-gradient(180deg,rgba(5,5,5,0),rgba(5,5,5,.58));
  pointer-events:none;
}
.about-page-portrait img{width:100%;aspect-ratio:4/5;height:auto;object-fit:cover}
.about-page-proof{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:clamp(20px,4vw,72px);
  padding:clamp(24px,3vw,38px) 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.about-page-proof p{
  max-width:820px;
  margin:0;
  color:#b8b8b2;
  font:800 clamp(10px,.9vw,13px)/1.65 var(--ui);
  letter-spacing:.13em;
  text-transform:uppercase;
}
.about-page-contact{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 18px;
  border:1px solid rgba(255,255,255,.24);
  color:#f1f1ed;
  font:800 8px/1 var(--ui);
  letter-spacing:.14em;
  text-align:center;
  text-transform:uppercase;
  transition:background .22s ease,border-color .22s ease,color .22s ease,transform .3s var(--ease-premium);
}
.about-page-contact:hover{background:var(--fg);border-color:var(--fg);color:#080808;transform:translateY(-2px)}
.about-page-story-wrap{margin-top:clamp(54px,7vw,96px)}
.about-page-story{grid-template-columns:repeat(2,minmax(0,1fr))}
.about-page .about-story-item p{white-space:pre-line}

@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(10px,4vw,24px);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}
  .about-main{padding-top:calc(var(--header-mobile-height) + 48px)}
  .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}
  .about-page-hero-grid{grid-template-columns:1fr;gap:30px}
  .about-page-portrait{width:min(520px,100%)}
  .about-page-proof{align-items:flex-start;flex-direction:column}
  .about-page-story{grid-template-columns:1fr}
}
@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)}
  .about-main{padding-left:16px;padding-right:16px;padding-bottom:72px}
  .about-page-copy h1{font-size:clamp(68px,22vw,104px);overflow-wrap:normal}
  .about-page-copy p{font-size:14px;line-height:1.68}
  .about-page-proof p{font-size:9px;letter-spacing:.11em}
  .about-page-contact{width:100%;min-height:44px}
  .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:7px}
  .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}
}


/* V18.1 — production performance hardening */
@supports (content-visibility:auto){
  .about,.home-highlights,.home-music,.japan,.national,.newsletter,.site-footer,
  .about-page-story-wrap,.music-releases,.music-coming,.news-list,.contact-details{
    content-visibility:auto;
    contain-intrinsic-size:auto 900px;
  }
}
/* If a browser/user setting disables animation machinery, content stays readable. */
@media(max-width:820px){
  .site-header{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
}


/* v18.6 loader accessibility */
@media (prefers-reduced-motion:reduce){
  .intro-visible-logo,.intro-loading,.intro-loading-track i,.intro-mask-logo,.intro-curtain-fill{animation:none!important}
  .intro-visible-logo{opacity:1}
  .intro-loading{opacity:1;transform:translate(-50%,0)}
  .intro-mask-logo{opacity:0}
  .intro.is-opening .intro-visible-logo{opacity:0;transition:opacity .18s ease}
  .intro.is-opening .intro-curtain-fill{opacity:0;transition:opacity .22s ease}
}

/* v18.9 — HOME header reveal
   Keep the header completely absent during LOADING, then fade it in immediately as soon as the hero is ready, while the OT reveal
   is still running. This avoids the old
   pop-in that happened only after the intro node was removed. */
body.intro-active .site-header{
  transform:translate3d(0,-10px,0)!important;
  transition:opacity .30s ease,transform .38s cubic-bezier(.16,1,.3,1)!important;
}
body.intro-active.site-ready .site-header{
  z-index:30010!important;
  visibility:visible!important;
  opacity:1!important;
  pointer-events:auto!important;
  transform:translate3d(0,0,0)!important;
}


/* =========================================================
   v19.0 — TABLET / MOBILE HERO BELOW FIXED HEADER
   The persistent navigation must not cover the top of HOME.
   On touch/tablet widths the hero begins physically below the
   fixed header, so hero video and DJ / PRODUCER metadata are
   visible from their first pixel instead of sitting underneath it.
   ========================================================= */

/* Tablet / compact desktop: keep the 72px desktop header, but make it
   part of the first-screen composition instead of overlaying the film. */
@media (min-width:821px) and (max-width:1100px){
  .hero{
    margin-top:var(--header-height);
    height:calc(100svh - var(--header-height));
    min-height:548px;
  }
  .hero-meta{
    top:clamp(16px,2vw,24px);
  }
}

/* Mobile/tablet navigation uses the taller two-row 96px header. */
@media (max-width:820px){
  .hero{
    margin-top:var(--header-mobile-height);
    height:calc(100svh - var(--header-mobile-height));
    min-height:544px;
  }
  .hero-meta{
    top:clamp(14px,2.6vw,20px);
  }
}

/* Short phones: never let legacy 88svh / 600px rules push the hero
   back underneath the navigation. */
@media (max-width:520px){
  .hero{
    height:calc(100svh - var(--header-mobile-height));
    min-height:504px;
  }
  .hero-meta{
    top:14px;
  }
}

/* Landscape phones have little vertical room; keep metadata readable
   without stealing a large portion of the hero. */
@media (max-width:820px) and (max-height:560px){
  .hero{
    min-height:calc(100svh - var(--header-mobile-height));
  }
  .hero-meta{top:10px}
}


/* =========================================================
   v20.0 — MOBILE MAX PERFORMANCE
   ========================================================= */
@media (max-width:820px){
  /* Keep the branded intro, but do not spend ~1.6 s on the exit animation on phones. */
  .intro.is-opening .intro-visible-logo{animation-duration:1.10s}
  .intro.is-opening .intro-mask-logo{animation-duration:1.10s}
  .intro.is-opening .intro-curtain-fill{animation-duration:1.10s}

  /* Video filters force expensive full-screen GPU compositing on many mobile browsers.
     The existing vignette already supplies the intended contrast. */
  .hero-media{filter:none!important}
  .hero-video{transform:scale(1.02)}

  /* Avoid unnecessary hover transition work on touch devices. */
  .media-poster,.national-shot img{transition:none}
}

/* YouTube is intentionally mounted only when its section approaches the viewport.
   Keep the local/remote poster visible until the player is ready. */
.youtube-player{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;z-index:2}

/* =========================================================
   v20.1 — MOBILE DISPLAY HEADLINES
   Never split a word in the middle on narrow screens.
   Whole words may move to the next line, but forms such as
   NARODO/WY, JAPONI/A or FESTI/VAL are forbidden.
   ========================================================= */
@media (max-width:820px){
  .hero-tag,
  .now-copy h1,
  .about-copy h2,
  .japan-lead h2,
  .national-title,
  .booking h2,
  .newsletter-title,
  .contact-title,
  .news-hero h1,
  .shows-title-wrap h1,
  .music-hero h1{
    overflow-wrap:normal!important;
    word-wrap:normal!important;
    word-break:normal!important;
    -webkit-hyphens:none!important;
    hyphens:none!important;
  }

  /* These two one-word / long-word titles were oversized for a
     320–430 px viewport. Keep the headliner scale while ensuring
     every individual word fits inside the padded content width. */
  .japan-lead h2{
    font-size:clamp(66px,19.5vw,104px)!important;
  }
  .national-title{
    font-size:clamp(54px,17.5vw,92px)!important;
  }
}

@media (max-width:360px){
  .japan-lead h2{font-size:clamp(62px,19vw,68px)!important}
  .national-title{font-size:clamp(52px,17vw,60px)!important}
}


/* =========================================================
   v20.2 — AUTOPLAY HARDENING + ABOUT READ MORE
   ========================================================= */
/* Never expose a browser-native play overlay when autoplay is restricted.
   The poster stays visible until the ambient movie is genuinely PLAYING. */
.hero-video,
.media-stage>video{
  opacity:0;
  transition:opacity .28s ease;
}
.hero-video.is-playing,
.media-stage>video.is-playing{opacity:1}
.hero-video::-webkit-media-controls,
.media-stage>video::-webkit-media-controls{display:none!important}
.hero-video::-webkit-media-controls-start-playback-button,
.media-stage>video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}

/* YouTube loops use the same policy: keep the poster over the iframe until
   PlayerState.PLAYING. If Safari blocks autoplay, the visitor sees a clean image,
   not a YouTube play button; the next normal touch/swipe retries playback. */
.media-stage.media-youtube>.media-poster{
  z-index:3;
  opacity:1;
  pointer-events:none;
  transition:opacity .28s ease;
}
.media-stage.media-youtube>.youtube-player{z-index:2!important}
.media-stage.media-youtube.is-playing>.media-poster{opacity:0}

/* The ABOUT story button scrolls here; this is only a subtle destination cue. */
#aboutStorySection{scroll-margin-top:calc(var(--header-height) + 14px)}
#aboutStorySection.story-arrival{animation:otekStoryArrival .82s cubic-bezier(.16,1,.3,1) both}
@keyframes otekStoryArrival{
  0%{opacity:.28;transform:translateY(18px)}
  100%{opacity:1;transform:translateY(0)}
}
@media(max-width:820px){
  #aboutStorySection{scroll-margin-top:calc(var(--header-mobile-height) + 14px)}
  .stamp{touch-action:manipulation}
}
@media(prefers-reduced-motion:reduce){
  #aboutStorySection.story-arrival{animation:none}
}


/* =========================================================
   v20.3 — PGE / YOUTUBE MOBILE CLEANUP
   - editor target remains clickable in phone/tablet Studio preview
   - YouTube iframe is cropped to COVER the media slot (no letterbox bars)
   - transparent click layer opens the original video on YouTube
   ========================================================= */
.studio-preview #nationalTitle,
.studio-preview .national-title{
  position:relative!important;
  z-index:20!important;
  pointer-events:auto!important;
  cursor:crosshair!important;
}

/* The YT.Player API inserts an iframe inside .youtube-player.  The player
   viewport itself has to stay 16:9; stretching a 16:9 movie inside the
   16:10 mobile card is what creates the black bars. */
.media-stage.media-youtube>.youtube-player{
  position:absolute!important;
  inset:0!important;
  overflow:hidden!important;
  z-index:2!important;
  pointer-events:none!important;
}
.media-stage.media-youtube>.youtube-player>iframe{
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:100%!important;
  height:103.5%!important;
  max-width:none!important;
  max-height:none!important;
  transform:translate(-50%,-50%) scale(1.025)!important;
  transform-origin:center!important;
  border:0!important;
  pointer-events:none!important;
}

/* Whole movie remains a clean link while the iframe itself is non-interactive. */
.media-youtube-link{
  position:absolute;
  inset:0;
  z-index:6;
  display:block;
  background:transparent;
  cursor:pointer;
  text-indent:-9999px;
  overflow:hidden;
  white-space:nowrap;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.studio-preview .media-youtube-link{display:none!important}

@media(max-width:820px){
  /* Mobile card is 16:10. 111.111% × 100% gives the nested iframe a true
     16:9 viewport and then a tiny overscan removes antialiasing seams. */
  .media-stage.media-youtube>.youtube-player>iframe{
    width:111.1112%!important;
    height:100%!important;
    transform:translate(-50%,-50%) scale(1.025)!important;
  }
  .studio-preview #nationalTitle,
  .studio-preview .national-title{
    isolation:isolate;
  }
}


/* =========================================================
   v20.4 — STUDIO PHONE/TABLET EDIT TARGET FIX
   Keep the PGE title layer physically above its media while editing.
   Public site rendering is unchanged.
   ========================================================= */
.studio-preview .national-lead{
  position:relative!important;
  z-index:30!important;
}
.studio-preview .national-title-wrap{
  position:relative!important;
  z-index:31!important;
  pointer-events:auto!important;
}
.studio-preview #nationalTitle{
  position:relative!important;
  z-index:32!important;
  pointer-events:auto!important;
}
.studio-preview .national-media{
  position:relative!important;
  z-index:1!important;
}


/* =========================================================
   v20.5 — STUDIO PICK SAFETY
   Public site: unchanged. In Studio, the PGE media internals are not allowed
   to intercept a pointer intended for the editable title above them.
   ========================================================= */
.studio-preview .national-lead,
.studio-preview .national-title-wrap,
.studio-preview #nationalTitle{
  pointer-events:auto!important;
}
.studio-preview .national-media .media-poster,
.studio-preview .national-media video,
.studio-preview .national-media iframe,
.studio-preview .national-media .youtube-player,
.studio-preview .national-media .media-youtube-link{
  pointer-events:none!important;
}


/* =========================================================
   V20.9 — MOBILE / MEDIA PERFORMANCE HARDENING
   ========================================================= */
html,body{max-width:100%;overflow-x:clip}
main,.section,.section>*,.now-layout,.about-layout,.about-page-hero-grid,.japan-lead,.national-lead,.home-music-inner,.newsletter-inner{min-width:0;max-width:100%}
.hero-video::-webkit-media-controls,.media-stage>video::-webkit-media-controls{display:none!important;-webkit-appearance:none}
.hero-video::-webkit-media-controls-start-playback-button,.media-stage>video::-webkit-media-controls-start-playback-button{display:none!important;-webkit-appearance:none}
.hero-video{will-change:transform}
.media-stage>video{will-change:auto}

@media(max-width:820px){
  /* Full-screen CSS filters over a decoding video are expensive on iPhone GPUs.
     Preserve the entrance scale, but remove the always-on filter pass. */
  .hero-media{filter:none!important;transition:transform 1.35s var(--ease-premium)!important}
  .site-ready .hero-media{filter:none!important}
  .section,.home-highlights,.home-music,.newsletter,.home-contact-cta{overflow-x:clip}
  .national-title{max-width:100%;font-size:clamp(56px,15.8vw,92px)!important;line-height:.84!important;overflow-wrap:normal;word-break:normal}
  .japan-lead h2{max-width:100%;font-size:clamp(72px,21vw,126px)!important;overflow-wrap:normal;word-break:normal}
  .now-copy h1,.about-copy h2,.about-page-copy h1,.shows-title-wrap h1,.news-hero h1,.music-hero h1,.newsletter-title{max-width:100%;word-break:normal}
}

@media(max-width:520px){
  .hero{width:100%;max-width:100vw}
  .hero-tag{max-width:calc(100vw - 32px);overflow-wrap:normal;word-break:normal}
  .national-title{font-size:clamp(52px,15.5vw,76px)!important}
  .japan-lead h2{font-size:clamp(66px,20vw,96px)!important}
  .contact-title,.shows-title-wrap h1,.news-hero h1,.music-hero h1{overflow-wrap:normal;word-break:normal}
  .footer-brand,.footer-tagline,.footer-cta-link,.contact-email{max-width:100%;overflow-wrap:anywhere}
}


/* =========================================================
   V21.1 — MINIMAL / CLEARER LAYOUT PASS
   Inspired by lean DJ portfolio pages: darker booking, fewer effects,
   cleaner sections, and less motion on the public site.
   ========================================================= */
:root{
  --bg:#050505;
  --fg:#f3f3ed;
  --muted:#9a9a94;
  --line:rgba(255,255,255,.13);
}

.scroll-progress,.page-curtain,.ticker-wrap{display:none!important}

.reveal,.reveal-title,.japan-shot,.national-shot,
.hero-tag,.hero-meta,.hero-scroll{
  transition:none!important;
  filter:none!important;
}
.reveal,.reveal-title,.japan-shot,.national-shot{
  opacity:1!important;
  transform:none!important;
}
.section::before,.national::before,.newsletter::before,.contact-main::before{display:none!important}

.site-header{background:rgba(5,5,5,.96);border-bottom:1px solid rgba(255,255,255,.12)}
.site-nav-links a,.header-social{transition:color .14s ease!important;transform:none!important}

.hero-vignette{background:linear-gradient(180deg,rgba(0,0,0,.35),rgba(0,0,0,.08) 42%,rgba(0,0,0,.78))}
.hero-tag{max-width:min(1120px,88vw);font-size:clamp(54px,7vw,108px);letter-spacing:-.055em}
.hero-meta,.hero-scroll{opacity:1;transform:none}

.section{padding:clamp(66px,7vw,108px) var(--page-pad);border-bottom:1px solid var(--line)}
.section-head{margin-bottom:clamp(24px,3vw,42px);color:#85857f}
.now-layout,.about-layout,.japan-lead,.national-lead{
  gap:clamp(28px,4.5vw,72px);
  align-items:end;
}
.now-copy h1,.about-copy h2,.japan-lead h2,.national-title{
  font-size:clamp(52px,8.4vw,132px);
  line-height:.86!important;
  letter-spacing:-.055em!important;
}
.now-copy p,.about-copy p,.japan-copy p,.national-copy p{
  color:#aaa9a3;
  font-size:clamp(13px,1vw,16px);
  line-height:1.68;
}
.cta,.home-music-cta,.about-page-contact,.ticket-btn{
  border-radius:0;
  box-shadow:none!important;
  transition:background .14s ease,color .14s ease,border-color .14s ease!important;
  transform:none!important;
}

.next-strip{
  min-height:58px;
  background:#050505;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  letter-spacing:.09em;
}
.next-strip::before{display:none}
.next-strip:hover{color:var(--fg);border-color:var(--line)}
.next-strip:hover .strip-label,.next-strip:hover .strip-main,.next-strip:hover .strip-arrow{transform:none;color:inherit}
.strip-label{color:var(--accent)}

.home-highlights{background:#050505;border-top:1px solid var(--line)}
.home-highlights-inner{padding:clamp(18px,2vw,26px) 0}
.home-highlights p{
  max-width:1180px;
  margin:0 auto;
  text-align:left;
  color:#d8d8d2;
  letter-spacing:.11em;
}
.home-music{background:#080808;padding:clamp(38px,4.5vw,66px) var(--page-pad)}
.home-music-inner{
  grid-template-columns:minmax(110px,.28fr) minmax(0,1fr) auto;
  align-items:center;
}
.home-music-title{font-size:clamp(30px,4.2vw,62px);line-height:.95;letter-spacing:-.045em}

.national{
  background:#050505;
  color:var(--fg);
}
.national .section-head{color:#85857f}
.national-copy p{color:#aaa9a3}
.national-year{color:var(--accent)}
.national-actions .ghost{background:transparent;color:var(--fg);border:1px solid rgba(255,255,255,.24)}
.national-media .media-caption,.national-shot figcaption{border-color:rgba(255,255,255,.16);color:#85857f}
.national-shot img{background:#101010}

.home-contact-cta{
  background:#050505;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:clamp(28px,3.5vw,46px) var(--page-pad);
}
.home-contact-cta>a{font-family:var(--ui);font-size:clamp(18px,1.8vw,26px);font-weight:900;letter-spacing:.02em}
.home-contact-cta>a:hover{transform:none}

.newsletter{
  background:#080808;
  padding:clamp(64px,7vw,108px) var(--page-pad);
  text-align:left;
}
.newsletter-inner{align-items:flex-start}
.newsletter-title{font-size:clamp(48px,7vw,108px);letter-spacing:-.055em}
.newsletter-text{margin-left:0;margin-right:0;text-align:left}
.newsletter-form{margin-top:clamp(28px,3.5vw,46px)}
.newsletter-submit:hover{transform:none}

.contact-page{
  background:#050505;
  color:var(--fg);
}
.contact-page .site-header{background:rgba(5,5,5,.96);border-color:rgba(255,255,255,.12)}
.contact-main{
  align-items:flex-start;
  text-align:left;
  min-height:auto;
  padding:calc(var(--header-height) + clamp(54px,6vw,86px)) var(--page-pad) clamp(60px,7vw,100px)!important;
  background:#050505;
  color:var(--fg);
}
.contact-hero{
  align-items:flex-start;
  width:min(1180px,100%);
}
.contact-eyebrow{color:var(--accent);margin-bottom:clamp(16px,2vw,26px)}
.contact-title{
  max-width:1050px;
  font-size:clamp(54px,9.5vw,148px);
  line-height:.86!important;
  letter-spacing:-.055em;
  text-align:left;
  white-space:normal;
}
.contact-description{
  width:min(620px,100%);
  margin:clamp(20px,2.5vw,34px) 0 0;
  color:#aaa9a3;
  text-align:left;
  letter-spacing:.01em;
  font-family:var(--body);
  text-transform:none;
}
.contact-accent-rule{
  width:100%;
  max-width:1180px;
  height:1px;
  margin-top:clamp(30px,4vw,56px);
  background:rgba(255,255,255,.16);
}
.contact-details{
  width:min(1180px,100%);
  margin-top:0;
  border-top:0;
  border-bottom:1px solid var(--line);
}
.contact-detail{
  grid-template-columns:minmax(96px,.2fr) minmax(0,1fr);
  min-height:auto;
  padding:clamp(24px,3vw,42px) 0;
  border-top:1px solid var(--line);
}
.contact-detail+.contact-detail{border-top:1px solid var(--line)}
.contact-detail-index{
  color:var(--accent);
  justify-self:start;
}
.contact-detail-main{
  grid-column:2;
  align-items:flex-start;
}
.contact-detail-label{color:#85857f;margin-bottom:10px}
.contact-email{
  color:var(--fg);
  font-family:var(--ui);
  font-size:clamp(30px,4.4vw,64px);
  font-weight:900;
  letter-spacing:-.035em;
  border-bottom:1px solid currentColor;
}
.contact-email:hover{transform:none}
.contact-location{
  color:var(--fg);
  font-family:var(--ui);
  font-size:clamp(28px,3.6vw,54px);
  font-weight:900;
  letter-spacing:-.035em;
}
.contact-note{
  width:min(620px,100%);
  margin:clamp(24px,3vw,38px) 0 0;
  color:#85857f;
  text-align:left;
}
.contact-page .site-footer{
  --footer-fg:var(--fg);
  --footer-muted:#85857f;
  --footer-line:rgba(255,255,255,.13);
  --footer-bg:#050505;
}

@media(max-width:820px){
  .section{padding:58px var(--page-pad)}
  .hero-tag{font-size:clamp(46px,13vw,84px)}
  .now-layout,.about-layout,.japan-lead,.national-lead{grid-template-columns:1fr;align-items:start}
  .home-music-inner{grid-template-columns:1fr;align-items:start}
  .newsletter{text-align:left}
  .contact-main{padding-top:calc(var(--header-mobile-height) + 42px)!important}
  .contact-detail{grid-template-columns:1fr}
  .contact-detail-index{margin-bottom:14px}
  .contact-detail-main{grid-column:1}
}

@media(max-width:520px){
  .section{padding:52px 16px}
  .home-highlights,.home-music,.newsletter,.home-contact-cta{padding-left:16px;padding-right:16px}
  .contact-main{padding:calc(var(--header-mobile-height) + 34px) 16px 58px!important}
  .contact-title{font-size:clamp(52px,16vw,82px)}
  .contact-email{font-size:clamp(27px,8vw,39px)}
  .newsletter-form{grid-template-columns:1fr}
}


/* =========================================================
   V22.0 - FULL PRO LAYOUT REBUILD
   A stronger, darker, faster editorial system for the whole site.
   ========================================================= */
:root{
  --bg:#050505;
  --surface:#0a0a0a;
  --surface-2:#101010;
  --surface-3:#151515;
  --fg:#f4f1e9;
  --soft:#cfc9bb;
  --muted:#8b867b;
  --quiet:#5f5b53;
  --line:rgba(244,241,233,.15);
  --line-strong:rgba(244,241,233,.28);
  --accent:#ff4b16;
  --gold:#d7b56d;
  --page-pad:clamp(18px,4.5vw,72px);
  --max:1480px;
  --fs-hero:8.75rem;
  --fs-page:8rem;
  --fs-section:5.75rem;
  --fs-card:3rem;
  --fs-copy:1rem;
}

html{background:#050505;color-scheme:dark}
body{
  background:
    linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 88px 88px,
    linear-gradient(180deg,#050505 0%,#080808 42%,#050505 100%);
  color:var(--fg);
}
body,
button,
input,
textarea,
select{letter-spacing:0}
main{background:transparent}
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible{
  outline:1px solid var(--accent);
  outline-offset:4px;
}

.scroll-progress,
.page-curtain,
.ticker-wrap{display:none!important}
.reveal,
.reveal-title,
.japan-shot,
.national-shot,
.hero-tag,
.hero-meta,
.hero-scroll{
  opacity:1!important;
  transform:none!important;
  clip-path:none!important;
  filter:none!important;
  transition:none!important;
}
.section::before,
.national::before,
.newsletter::before,
.contact-main::before,
.about-page-portrait::after{display:none!important}

.site-header{
  position:fixed;
  z-index:10020;
  top:18px;
  left:var(--page-pad);
  right:var(--page-pad);
  min-height:66px;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:18px;
  padding:0 16px;
  border:1px solid var(--line);
  background:rgba(5,5,5,.82)!important;
  color:var(--fg);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  box-shadow:0 18px 60px rgba(0,0,0,.32);
}
.site-brand{
  display:inline-flex;
  align-items:center;
  min-width:54px;
  height:42px;
  color:var(--fg);
  font:900 1.55rem/1 var(--ui);
  letter-spacing:0!important;
}
.site-nav-links{
  min-width:0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:4px;
}
.site-nav-links a{
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 12px;
  border:1px solid transparent;
  color:#aaa59a;
  font:850 .64rem/1 var(--ui);
  letter-spacing:.08em!important;
  text-transform:uppercase;
  white-space:nowrap;
  transition:color .16s ease,border-color .16s ease,background .16s ease!important;
}
.site-nav-links a:hover,
.site-nav-links a.active{
  color:var(--fg);
  border-color:rgba(244,241,233,.22);
  background:rgba(244,241,233,.06);
}
.site-nav-links a.active{
  border-color:var(--accent);
  color:#fff;
}
.header-socials{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  min-width:0;
}
.header-social{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid rgba(244,241,233,.18);
  color:#aaa59a;
  transition:color .16s ease,border-color .16s ease,background .16s ease!important;
}
.header-social:hover{color:var(--fg);border-color:var(--accent);background:rgba(255,75,22,.12)}
.header-language,
.header-language-mobile{display:flex;align-items:center}
.header-language{
  gap:6px;
  margin-left:5px;
  padding-left:11px;
  border-left:1px solid rgba(244,241,233,.13);
  color:#777168;
  font:850 .62rem/1 var(--ui);
}
.language-option,
.language-current,
.language-menu button{
  border:0;
  background:transparent;
  color:inherit;
  padding:0;
  cursor:pointer;
  text-transform:uppercase;
}
.language-option.active{color:var(--fg)}
.header-language-mobile{display:none}

.hero{
  height:100svh;
  min-height:720px;
  isolation:isolate;
  border-bottom:1px solid var(--line);
  background:#000;
}
.hero::after{
  content:"";
  position:absolute;
  left:var(--page-pad);
  right:var(--page-pad);
  bottom:96px;
  z-index:2;
  height:1px;
  background:linear-gradient(90deg,var(--accent),rgba(244,241,233,.32),transparent);
}
.hero-media{
  transform:none!important;
  filter:saturate(.92) contrast(1.05) brightness(.72)!important;
}
.hero-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.58) 36%,rgba(0,0,0,.18) 70%,rgba(0,0,0,.72) 100%),
    linear-gradient(180deg,rgba(0,0,0,.50) 0%,rgba(0,0,0,.05) 38%,rgba(0,0,0,.82) 100%)!important;
}
.hero-meta{
  top:auto;
  bottom:126px;
  left:var(--page-pad);
  right:var(--page-pad);
  color:#d8d2c4;
  font:850 .68rem/1.35 var(--ui);
  letter-spacing:.11em!important;
  text-transform:uppercase;
}
.hero-tag{
  left:var(--page-pad);
  right:var(--page-pad);
  bottom:166px;
  max-width:980px;
  color:#fff;
  font-family:var(--display);
  font-size:var(--fs-hero)!important;
  line-height:.86!important;
  letter-spacing:0!important;
  text-transform:uppercase;
  text-wrap:balance;
}
.hero-scroll{
  right:var(--page-pad);
  bottom:30px;
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  border:1px solid rgba(244,241,233,.30);
  color:var(--fg);
  background:rgba(5,5,5,.40);
  font:850 .66rem/1 var(--ui);
  letter-spacing:.11em!important;
  text-transform:uppercase;
}
.hero-scroll::before{display:none!important}
.hero-scroll:hover{border-color:var(--accent);background:rgba(255,75,22,.16)}

.next-strip{
  min-height:78px;
  display:grid;
  grid-template-columns:minmax(120px,.25fr) minmax(0,1fr) auto;
  gap:22px;
  padding:0 var(--page-pad);
  border-top:0;
  border-bottom:1px solid var(--line);
  background:var(--fg);
  color:#080808;
  font:850 .72rem/1.25 var(--ui);
  letter-spacing:.06em!important;
  text-transform:uppercase;
}
.strip-label{color:var(--accent);font-weight:900}
.strip-main{font-size:.92rem;color:#080808}
.strip-arrow{font-size:1.5rem;color:#080808}

.section,
.home-music,
.newsletter,
.home-contact-cta,
.about-main,
.shows-main,
.music-main,
.news-main,
.privacy-main,
.contact-main{
  position:relative;
}
.section{
  padding:108px var(--page-pad);
  border-bottom:1px solid var(--line);
  background:rgba(5,5,5,.84);
}
.section-head,
.now-layout,
.about-layout,
.japan-lead,
.japan-feature,
.japan-gallery,
.national-lead,
.national-media,
.national-gallery,
.home-music-inner,
.newsletter-inner,
.home-highlights-inner,
.home-contact-cta{
  width:min(var(--max),100%);
  margin-inline:auto;
}
.section-head{
  display:grid;
  grid-template-columns:1fr auto;
  margin-bottom:34px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font:850 .67rem/1.3 var(--ui);
  letter-spacing:.10em!important;
  text-transform:uppercase;
}
.eyebrow,
.index,
.section-head span,
.home-music-label,
.newsletter-eyebrow,
.about-page-eyebrow,
.contact-eyebrow,
.music-hero>.eyebrow,
.news-hero>.eyebrow,
.shows-title-wrap .eyebrow{
  color:var(--accent)!important;
  font:850 .67rem/1.3 var(--ui)!important;
  letter-spacing:.10em!important;
  text-transform:uppercase;
}

.now-layout,
.about-layout,
.japan-lead,
.national-lead{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:34px;
  align-items:stretch;
}
.now-copy,
.about-copy,
.japan-copy,
.national-copy{
  min-width:0;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(16,16,16,.94),rgba(9,9,9,.94));
}
.now-copy h1,
.about-copy h2,
.japan-lead h2,
.national-title,
.shows-title-wrap h1,
.music-hero h1,
.news-hero h1,
.about-page-copy h1,
.contact-title,
.privacy-head h1{
  margin:0;
  color:#fff;
  font-family:var(--display);
  font-weight:400;
  font-size:var(--fs-section)!important;
  line-height:.92!important;
  letter-spacing:0!important;
  text-transform:uppercase;
  overflow-wrap:break-word;
}
.now-copy h1,
.japan-lead h2,
.national-title{font-size:var(--fs-section)!important}
.now-copy p,
.about-copy p,
.japan-copy p,
.national-copy p,
.music-hero p,
.news-hero p,
.about-page-copy p,
.contact-description,
.privacy-intro,
.privacy-section p{
  max-width:680px;
  color:#b2ab9f;
  font:500 var(--fs-copy)/1.72 var(--body);
  letter-spacing:0!important;
  text-transform:none;
}
.about-copy .muted{color:var(--gold);font-weight:700}
.cta,
.home-music-cta,
.about-page-contact,
.ticket-btn,
.music-listen,
.newsletter-submit,
.contact-form-submit{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:max-content;
  max-width:100%;
  padding:0 18px;
  border:1px solid rgba(244,241,233,.26);
  border-radius:0;
  background:transparent;
  color:var(--fg);
  box-shadow:none!important;
  font:900 .68rem/1.1 var(--ui);
  letter-spacing:.10em!important;
  text-transform:uppercase;
  transition:background .16s ease,border-color .16s ease,color .16s ease!important;
}
.cta:hover,
.home-music-cta:hover,
.about-page-contact:hover,
a.ticket-btn:hover,
.music-listen:hover,
.newsletter-submit:hover,
.contact-form-submit:hover{
  border-color:var(--accent);
  background:var(--accent);
  color:#080808;
  transform:none!important;
}

.film-frame,
.media-card,
.portrait,
.about-page-portrait,
.music-art,
.news-thumb{
  overflow:hidden;
  border:1px solid var(--line);
  background:#111;
}
.film-frame{
  min-height:520px;
  display:grid;
  grid-template-rows:minmax(0,1fr) auto;
}
.media-stage,
.media-stage-wide,
.media-stage-cinematic{
  min-height:460px;
  aspect-ratio:16/9;
  background:#101010;
}
.media-stage img,
.media-stage video,
.youtube-player,
.portrait img,
.about-page-portrait img,
.music-art img,
.news-thumb img,
.japan-shot img,
.national-shot img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.frame-label,
.media-caption,
.japan-shot figcaption,
.national-shot figcaption{
  min-height:44px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:0 14px;
  border-top:1px solid var(--line);
  color:var(--muted)!important;
  font:850 .62rem/1.25 var(--ui)!important;
  letter-spacing:.10em!important;
  text-transform:uppercase;
}

.about-layout{grid-template-columns:minmax(0,1fr) minmax(360px,.8fr)}
.portrait-stack{position:relative;min-width:0}
.portrait{aspect-ratio:4/5}
.stamp{
  position:absolute;
  right:18px;
  bottom:18px;
  width:auto;
  height:auto;
  display:inline-flex;
  align-items:center;
  min-height:46px;
  padding:0 16px;
  border:1px solid rgba(244,241,233,.30);
  border-radius:0;
  background:rgba(5,5,5,.72);
  color:var(--fg);
  font:900 .68rem/1 var(--ui);
  letter-spacing:.10em!important;
  text-transform:uppercase;
  transform:none;
}

.home-highlights{
  padding:0 var(--page-pad);
  border-bottom:1px solid var(--line);
  background:#0d0d0d;
}
.home-highlights-inner{padding:0}
.home-highlights p{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  margin:0;
  color:var(--fg);
  text-align:left;
  font:900 .68rem/1.35 var(--ui);
  letter-spacing:.08em!important;
  text-transform:uppercase;
}
.home-highlights p span{
  min-height:104px;
  display:flex;
  align-items:center;
  padding:18px;
  border-left:1px solid var(--line);
  color:#d9d2c4;
}
.home-highlights p span:first-child{border-left:0;color:var(--accent)}

.home-music{
  padding:54px var(--page-pad);
  border-bottom:1px solid var(--line);
  background:#070707;
}
.home-music-inner{
  display:grid;
  grid-template-columns:180px minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  padding:26px;
  border:1px solid var(--line);
  background:linear-gradient(90deg,rgba(255,75,22,.08),rgba(255,255,255,.025) 46%,rgba(255,255,255,.02));
}
.home-music-meta,
.home-music-subtitle{
  color:var(--muted);
  font:850 .65rem/1.35 var(--ui);
  letter-spacing:.10em!important;
  text-transform:uppercase;
}
.home-music-title{
  margin:0;
  color:#fff;
  font:400 3rem/.94 var(--display);
  letter-spacing:0!important;
  text-transform:uppercase;
}

.japan{background:#080808!important}
.japan-lead{margin-bottom:34px}
.japan-lead h2,
.national-title-wrap{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:300px;
  padding:34px;
  border:1px solid var(--line);
  background:#0e0e0e;
}
.japan-copy,
.national-copy{gap:18px}
.japan-years,
.national-year{
  color:var(--gold)!important;
  font:900 1.02rem/1 var(--ui);
  letter-spacing:.10em!important;
}
.japan-gallery,
.national-gallery{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}
.japan-shot,
.national-shot{
  margin:0;
  border:1px solid var(--line);
  background:#0c0c0c;
}
.japan-shot:nth-child(n),
.national-shot:nth-child(n){
  grid-column:auto;
  margin-top:0;
}
.japan-shot-media,
.national-shot img{
  aspect-ratio:4/5!important;
}
.japan-shot:hover img,
.national-shot:hover img,
.music-release:hover .music-art img,
.news-card:hover .news-thumb img{
  transform:none!important;
}
.national{
  background:#090909!important;
  color:var(--fg)!important;
}
.national-actions{gap:10px}
.national-actions .ghost{background:transparent;color:var(--fg)}

.home-contact-cta{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:22px;
  padding:34px var(--page-pad);
  border-bottom:1px solid var(--line);
  background:var(--fg);
  color:#080808;
  font:900 .68rem/1.25 var(--ui);
  letter-spacing:.10em!important;
  text-transform:uppercase;
}
.home-contact-cta>span{color:#5d564a}
.home-contact-cta>a{
  color:#080808;
  font:900 1.5rem/1 var(--ui);
  letter-spacing:0!important;
}
.home-contact-cta>a:hover{color:var(--accent);transform:none}

.newsletter{
  padding:104px var(--page-pad);
  border-bottom:1px solid var(--line);
  background:#070707;
  text-align:left;
}
.newsletter-inner{
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(340px,.75fr);
  gap:34px;
  align-items:end;
}
.newsletter-eyebrow{grid-column:1/-1;margin:0}
.newsletter-title{
  margin:0;
  color:#fff;
  font:400 var(--fs-section)/.92 var(--display);
  letter-spacing:0!important;
  text-transform:uppercase;
}
.newsletter-text,
.newsletter-consent{
  max-width:640px;
  margin:0;
  color:#aaa398;
  text-align:left;
  font:500 1rem/1.7 var(--body);
  letter-spacing:0!important;
  text-transform:none;
}
.newsletter-form{
  grid-column:2;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  margin:0;
}
.newsletter-input,
.contact-field input,
.contact-field textarea{
  width:100%;
  border:1px solid rgba(244,241,233,.18);
  border-radius:0;
  background:#0f0f0f;
  color:var(--fg);
  outline:none;
  font:650 .9rem/1.3 var(--body);
  letter-spacing:0!important;
}
.newsletter-input{height:58px;padding:0 16px;text-transform:none}
.newsletter-input:focus,
.contact-field input:focus,
.contact-field textarea:focus{
  border-color:var(--accent);
  background:#131313;
}
.newsletter-submit{width:100%;background:var(--fg);color:#080808;border-color:var(--fg)}
.newsletter-status,
.contact-form-status{
  min-height:20px;
  color:var(--muted);
  font:850 .66rem/1.4 var(--ui);
  letter-spacing:.08em!important;
  text-transform:uppercase;
}

.shows-page,
.music-page,
.news-page,
.about-page,
.contact-page,
.privacy-page{
  background:#050505!important;
  color:var(--fg)!important;
}
.shows-main,
.music-main,
.news-main,
.about-main,
.contact-main,
.privacy-main{
  min-height:70svh;
  padding:132px var(--page-pad) 90px!important;
}
.shows-title-wrap,
.music-hero,
.news-hero,
.about-page-hero,
.about-page-proof,
.about-page-story-wrap,
.music-releases,
.music-coming,
.news-list,
.tour-controls,
.tour-list,
.tour-past,
.tour-note,
.tour-footer,
.privacy-shell,
.contact-hero,
.contact-details,
.contact-note,
.contact-form-section{
  width:min(var(--max),100%)!important;
  margin-inline:auto!important;
}

.shows-title-wrap,
.music-hero,
.news-hero{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.45fr)!important;
  grid-template-areas:"eyebrow copy" "title copy"!important;
  gap:22px 42px!important;
  align-items:end!important;
  margin-bottom:40px!important;
  padding-bottom:26px!important;
  border-bottom:1px solid var(--line)!important;
}
.shows-title-wrap .eyebrow,
.music-hero>.eyebrow,
.news-hero>.eyebrow{grid-area:eyebrow!important;margin:0!important}
.shows-title-wrap h1,
.music-hero h1,
.news-hero h1{
  grid-area:title!important;
  font-size:var(--fs-page)!important;
}
.shows-title-wrap p,
.music-hero p,
.news-hero p{
  grid-area:copy!important;
  align-self:end!important;
  max-width:420px!important;
  margin:0!important;
}

.tour-controls{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px!important;
}
.tour-year-select,
.tour-year-menu,
.tour-year-option{
  border-radius:0!important;
  box-shadow:none!important;
}
.tour-year-select{
  background:#0f0f0f!important;
  border-color:var(--line)!important;
}
.tour-list{
  display:grid;
  gap:12px;
  border:0!important;
}
.tour-row{
  min-height:124px;
  display:grid!important;
  grid-template-columns:170px minmax(0,1fr) minmax(200px,.45fr) 150px!important;
  gap:24px!important;
  padding:22px!important;
  border:1px solid var(--line)!important;
  background:linear-gradient(90deg,#0c0c0c,#111 52%,#0b0b0b)!important;
  transform:none!important;
}
.tour-row.is-next{border-color:rgba(255,75,22,.72)!important;background:linear-gradient(90deg,rgba(255,75,22,.13),#101010 42%,#0b0b0b)!important}
.tour-row:hover{border-color:var(--line-strong)!important;transform:none!important}
.tour-row::before{background:var(--accent)!important;width:3px!important;transform:none!important}
.tour-date-main,
.tour-name{
  color:#fff;
  font-family:var(--display)!important;
  letter-spacing:0!important;
}
.tour-date-main{font-size:1.55rem!important}
.tour-name{font-size:2.45rem!important;line-height:.98!important}
.tour-place,
.tour-date-year,
.tour-weekday,
.tour-controls-meta,
.tour-note,
.tour-past-note{
  color:var(--muted)!important;
  letter-spacing:.08em!important;
}
.tour-next-badge{background:var(--accent)!important;color:#080808!important}
.tour-footer{
  margin-top:38px!important;
  padding-top:20px!important;
  border-top:1px solid var(--line)!important;
}

.music-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  border:0!important;
}
.music-release{
  position:relative;
  min-height:420px;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr auto;
  gap:16px!important;
  padding:16px!important;
  border:1px solid var(--line)!important;
  background:#0d0d0d!important;
  opacity:1!important;
}
.music-release:first-child:last-child{
  grid-column:1/-1;
  min-height:520px;
  grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr)!important;
  grid-template-rows:1fr auto!important;
  grid-template-areas:"art copy" "art action"!important;
  gap:28px!important;
  padding:22px!important;
}
.music-index{
  position:absolute;
  top:16px;
  left:16px;
  z-index:2;
  min-height:32px;
  display:inline-flex;
  align-items:center;
  padding:0 10px;
  background:#080808;
  border:1px solid var(--line);
  color:var(--accent)!important;
}
.music-art{aspect-ratio:1!important}
.music-release:first-child:last-child .music-art{grid-area:art;height:100%;aspect-ratio:auto!important}
.music-release-copy{align-self:end}
.music-release:first-child:last-child .music-release-copy{grid-area:copy;justify-content:end}
.music-meta{color:var(--muted)!important;letter-spacing:.08em!important}
.music-release h2{
  color:#fff;
  font-size:3.4rem!important;
  line-height:.96!important;
  letter-spacing:0!important;
}
.music-release-copy p{color:#aaa398!important;letter-spacing:.08em!important}
.music-listen{width:100%;justify-self:stretch}
.music-release:first-child:last-child .music-listen{grid-area:action;width:max-content}
.music-coming{
  display:grid!important;
  grid-template-columns:minmax(0,.35fr) minmax(0,1fr)!important;
  gap:28px!important;
  margin-top:28px!important;
  padding:28px!important;
  border:1px solid var(--line);
  background:#0b0b0b;
}
.music-coming-line{height:1px;background:var(--accent);margin-top:18px}
.music-coming-copy{grid-column:auto!important}
.music-coming-copy h2{font-size:3rem!important;letter-spacing:0!important}

.news-list{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  border:0!important;
}
.news-filter{
  grid-column:1/-1;
  padding:0 0 14px!important;
  border-bottom:1px solid var(--line)!important;
}
.news-card{
  min-height:430px;
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:auto 1fr auto;
  gap:16px!important;
  padding:16px!important;
  border:1px solid var(--line)!important;
  background:#0d0d0d!important;
  opacity:1!important;
  transform:none!important;
}
.news-card:hover{border-color:var(--line-strong)!important}
.news-thumb{aspect-ratio:16/10!important;border-radius:0!important}
.news-card-copy{align-self:end}
.news-card-meta{color:var(--muted)!important;letter-spacing:.08em!important}
.news-card h2{
  color:#fff;
  font-size:1.65rem!important;
  line-height:1.12!important;
  letter-spacing:0!important;
}
.news-read{color:var(--accent)!important;letter-spacing:.08em!important}
.news-arrow{align-self:end;justify-self:end;color:var(--accent)!important;transform:none!important}
.news-card.no-thumb{padding-left:16px!important}

.about-main{background:#050505}
.about-page-hero-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(360px,.72fr)!important;
  gap:34px!important;
  align-items:stretch!important;
}
.about-page-copy,
.about-page-portrait,
.about-page-proof,
.about-story-item{
  border:1px solid var(--line);
  background:#0d0d0d;
}
.about-page-copy{
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  padding:34px;
}
.about-page-copy h1{font-size:var(--fs-page)!important}
.about-page-proof{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:22px!important;
  align-items:center!important;
  padding:24px!important;
}
.about-page-proof p{margin:0!important;color:var(--gold)!important}
.about-page-story{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  border:0!important;
}
.about-story-title{color:var(--accent)!important;letter-spacing:.10em!important}
.about-story-item{
  padding:24px!important;
  border-right:1px solid var(--line)!important;
}
.story-year{color:var(--accent);font:900 .68rem/1 var(--ui);letter-spacing:.10em!important}
.about-story-item h3{
  color:#fff;
  font-size:2rem!important;
  line-height:1.05!important;
  letter-spacing:0!important;
}
.about-story-item p{color:#aaa398!important}

.contact-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(380px,.58fr)!important;
  gap:22px 34px!important;
  align-items:start!important;
  background:#050505!important;
  color:var(--fg)!important;
}
.contact-hero{
  grid-column:1;
  display:flex;
  min-height:520px;
  flex-direction:column;
  justify-content:flex-end;
  align-items:flex-start!important;
  padding:34px;
  border:1px solid var(--line);
  background:linear-gradient(180deg,#111,#090909);
}
.contact-title{
  max-width:100%;
  font-size:var(--fs-page)!important;
  text-align:left!important;
}
.contact-description{
  margin:24px 0 0!important;
  text-align:left!important;
}
.contact-accent-rule{display:none}
.contact-details{
  grid-column:2;
  margin-top:0!important;
  border:1px solid var(--line)!important;
  background:#0d0d0d;
}
.contact-detail{
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:18px!important;
  padding:28px!important;
  border-top:1px solid var(--line)!important;
}
.contact-detail:first-child{border-top:0!important}
.contact-detail-index,
.contact-detail-label{
  color:var(--accent)!important;
  font:900 .68rem/1.3 var(--ui)!important;
  letter-spacing:.10em!important;
  text-transform:uppercase;
}
.contact-detail-main{grid-column:1!important;align-items:flex-start!important}
.contact-email,
.contact-location{
  color:#fff!important;
  font-family:var(--display)!important;
  font-size:2.2rem!important;
  line-height:1!important;
  letter-spacing:0!important;
  border-bottom:1px solid rgba(244,241,233,.36);
}
.contact-location{border-bottom:0}
.contact-form-section{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:minmax(0,.48fr) minmax(0,.72fr);
  gap:34px;
  padding:34px;
  border:1px solid var(--line);
  background:#0b0b0b;
}
.contact-form-copy h2{
  margin:14px 0 18px;
  color:#fff;
  font:400 3.4rem/.96 var(--display);
  letter-spacing:0!important;
  text-transform:uppercase;
}
.contact-form-copy p{max-width:420px;color:var(--muted);line-height:1.7}
.contact-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.contact-field{
  display:grid;
  gap:8px;
  color:var(--muted);
  font:850 .66rem/1.3 var(--ui);
  letter-spacing:.09em!important;
  text-transform:uppercase;
}
.contact-field-message{grid-column:1/-1}
.contact-field input{height:56px;padding:0 15px}
.contact-field textarea{min-height:164px;resize:vertical;padding:15px}
.contact-form-hp{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
}
.contact-form-submit{grid-column:1;width:100%;background:var(--fg);color:#080808;border-color:var(--fg)}
.contact-form-status{grid-column:2;align-self:center}
.contact-note{
  grid-column:1/-1;
  max-width:680px!important;
  margin:0!important;
  color:var(--muted)!important;
}

.privacy-shell{
  max-width:940px!important;
  padding:34px;
  border:1px solid var(--line);
  background:#0d0d0d;
}
.privacy-head{
  border-color:var(--line)!important;
}
.privacy-head h1{font-size:4.5rem!important}
.privacy-section{
  padding:22px 0;
  border-bottom:1px solid var(--line);
}
.privacy-section h2{
  margin:0 0 10px;
  color:var(--accent);
  font:900 .76rem/1.2 var(--ui);
  letter-spacing:.10em!important;
}
.privacy-contact{border-color:var(--line)!important}

.site-footer{
  width:100%;
  margin:0;
  border-top:1px solid var(--line);
  background:#050505!important;
  color:var(--fg)!important;
}
.site-footer-inner{
  width:min(var(--max),100%);
  margin:auto;
  padding:54px var(--page-pad) 34px!important;
}
.footer-top,
.footer-cols,
.footer-bottom{
  border-color:var(--line)!important;
}
.footer-brand{
  color:#fff;
  font-family:var(--display);
  letter-spacing:0!important;
}
.footer-tagline,
.footer-note,
.footer-bottom,
.footer-links a,
.footer-col-title{color:var(--muted)!important}
.footer-cta-link{color:#fff!important;letter-spacing:0!important}

@media(max-width:1180px){
  :root{
    --fs-hero:6.4rem;
    --fs-page:6rem;
    --fs-section:4.5rem;
    --fs-card:2.4rem;
  }
  .site-nav-links a{padding-inline:9px}
  .now-layout,
  .about-layout,
  .japan-lead,
  .national-lead,
  .contact-main,
  .contact-form-section{gap:22px!important}
  .tour-row{grid-template-columns:145px minmax(0,1fr) minmax(160px,.42fr) 132px!important}
  .music-list,
  .news-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:900px){
  :root{
    --fs-hero:5rem;
    --fs-page:4.7rem;
    --fs-section:3.6rem;
  }
  .site-header{
    top:0;
    left:0;
    right:0;
    grid-template-columns:auto 1fr;
    gap:10px;
    padding:10px 14px;
    min-height:0;
    border-left:0;
    border-right:0;
    border-top:0;
  }
  .site-nav-links{
    grid-column:1/-1;
    justify-content:flex-start;
    overflow-x:auto;
    padding-bottom:2px;
    scrollbar-width:none;
  }
  .site-nav-links::-webkit-scrollbar{display:none}
  .header-socials{justify-self:end}
  .header-social{display:none}
  .header-language-desktop{display:none}
  .header-language-mobile{display:flex;position:relative}
  .language-current{
    min-height:34px;
    display:inline-flex;
    align-items:center;
    gap:6px;
    padding:0 10px;
    border:1px solid rgba(244,241,233,.18);
    color:var(--fg);
    font:850 .65rem/1 var(--ui);
  }
  .language-menu{
    position:absolute;
    top:calc(100% + 6px);
    right:0;
    display:none;
    min-width:72px;
    border:1px solid var(--line);
    background:#0a0a0a;
  }
  .header-language-mobile.open .language-menu{display:grid}
  .language-menu button{min-height:38px;color:var(--muted)}
  .language-menu button.active{color:var(--fg)}
  .hero{min-height:690px}
  .hero-tag{bottom:150px}
  .hero-meta{bottom:112px}
  .next-strip{grid-template-columns:1fr auto;min-height:88px}
  .strip-label{grid-column:1/-1}
  .section{padding:76px var(--page-pad)}
  .now-layout,
  .about-layout,
  .japan-lead,
  .national-lead,
  .newsletter-inner,
  .shows-title-wrap,
  .music-hero,
  .news-hero,
  .about-page-hero-grid,
  .contact-main,
  .contact-form-section{
    grid-template-columns:1fr!important;
    grid-template-areas:none!important;
  }
  .shows-title-wrap .eyebrow,
  .shows-title-wrap h1,
  .shows-title-wrap p,
  .music-hero>.eyebrow,
  .music-hero h1,
  .music-hero p,
  .news-hero>.eyebrow,
  .news-hero h1,
  .news-hero p{
    grid-column:1!important;
    grid-area:auto!important;
  }
  .film-frame,
  .media-stage,
  .media-stage-wide,
  .media-stage-cinematic{min-height:320px}
  .home-highlights p{grid-template-columns:1fr 1fr}
  .home-highlights p span{min-height:82px}
  .home-music-inner{grid-template-columns:1fr}
  .japan-gallery,
  .national-gallery,
  .about-page-story{grid-template-columns:1fr 1fr!important}
  .contact-hero,
  .contact-details,
  .contact-note,
  .contact-form-section{grid-column:1!important}
  .contact-hero{min-height:380px}
  .tour-row,
  .tour-list-past .tour-row-past{
    grid-template-columns:104px minmax(0,1fr) auto!important;
    gap:14px!important;
    padding:18px!important;
  }
  .tour-place{display:none}
  .tour-place-mobile{display:block}
  .ticket-btn{grid-column:3;grid-row:1}
  .music-release:first-child:last-child{
    grid-template-columns:1fr!important;
    grid-template-areas:none!important;
    min-height:0;
  }
  .music-release:first-child:last-child .music-art,
  .music-release:first-child:last-child .music-release-copy,
  .music-release:first-child:last-child .music-listen{grid-area:auto}
  .music-release:first-child:last-child .music-art{aspect-ratio:1!important}
  .newsletter-form{grid-column:1}
}

@media(max-width:560px){
  :root{
    --fs-hero:3.65rem;
    --fs-page:3.55rem;
    --fs-section:2.85rem;
    --fs-copy:.95rem;
    --page-pad:16px;
  }
  .site-header{padding-inline:12px}
  .site-nav-links a{min-height:34px;padding:0 8px;font-size:.58rem}
  .hero{min-height:640px}
  .hero::after{bottom:88px}
  .hero-tag{bottom:136px;max-width:calc(100vw - 32px)}
  .hero-meta{bottom:104px;display:grid;gap:6px}
  .hero-meta span,
  .hero-meta span:last-child{max-width:100%;text-align:left}
  .hero-scroll{left:16px;right:auto;bottom:24px}
  .next-strip{padding:14px 16px}
  .section{padding:58px 16px}
  .now-copy,
  .about-copy,
  .japan-lead h2,
  .national-title-wrap,
  .japan-copy,
  .national-copy,
  .about-page-copy,
  .contact-hero,
  .contact-form-section,
  .privacy-shell{padding:22px}
  .film-frame,
  .media-stage,
  .media-stage-wide,
  .media-stage-cinematic{min-height:240px}
  .home-highlights p{grid-template-columns:1fr}
  .home-highlights p span{border-left:0;border-top:1px solid var(--line)}
  .home-highlights p span:first-child{border-top:0}
  .home-music{padding:42px 16px}
  .home-music-inner{padding:20px}
  .home-music-title{font-size:2.2rem}
  .japan-gallery,
  .national-gallery,
  .about-page-story,
  .music-list,
  .news-list{grid-template-columns:1fr!important}
  .home-contact-cta{grid-template-columns:1fr;align-items:start;padding:26px 16px}
  .newsletter{padding:64px 16px}
  .newsletter-title{font-size:var(--fs-section)}
  .shows-main,
  .music-main,
  .news-main,
  .about-main,
  .contact-main,
  .privacy-main{padding:128px 16px 64px!important}
  .tour-row,
  .tour-list-past .tour-row-past{grid-template-columns:1fr!important}
  .ticket-btn{grid-column:1;grid-row:auto;justify-self:start}
  .tour-date-main{font-size:1.35rem!important}
  .tour-name{font-size:2rem!important}
  .music-release{min-height:0}
  .music-release h2{font-size:2.35rem!important}
  .music-coming{grid-template-columns:1fr!important}
  .news-card{min-height:0}
  .about-page-proof{grid-template-columns:1fr!important}
  .contact-form{grid-template-columns:1fr}
  .contact-field-message,
  .contact-form-submit,
  .contact-form-status{grid-column:1}
  .contact-email,
  .contact-location{font-size:1.85rem!important}
  .privacy-head{display:grid!important;gap:10px!important}
  .privacy-head h1{font-size:3.15rem!important}
  .site-footer-inner{padding:44px 16px 30px!important}
}

@media(prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.001ms!important;
    animation-iteration-count:1!important;
    scroll-behavior:auto!important;
    transition-duration:.001ms!important;
  }
}


/* =========================================================
   V22.1 - REFINEMENT / CLEAN ARTIST SITE PASS
   Pomarancz jako akcent, mniej ramek, prostszy footer/contact/news.
   ========================================================= */

/* Header: active page returns to a clean orange underline. */
.site-nav-links a{
  position:relative!important;
  border-color:transparent!important;
  background:transparent!important;
  color:#aaa59a;
}
.site-nav-links a:hover{
  color:var(--fg)!important;
  background:transparent!important;
  border-color:transparent!important;
}
.site-nav-links a.active{
  color:#fff!important;
  background:transparent!important;
  border-color:transparent!important;
}
.site-nav-links a::after{
  content:"";
  position:absolute;
  left:10px;
  right:10px;
  bottom:0;
  height:2px;
  background:var(--accent);
  transform:scaleX(0);
  transform-origin:center;
  transition:transform .2s ease;
}
.site-nav-links a.active::after,
.site-nav-links a:hover::after{transform:scaleX(1)}

/* Home: next show stays readable on default and hover. */
.next-strip{
  background:#080808!important;
  color:var(--fg)!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:inset 3px 0 0 var(--accent);
}
.next-strip:hover{
  background:#0d0d0d!important;
  color:var(--fg)!important;
  border-color:rgba(244,241,233,.26)!important;
}
.next-strip:hover .strip-label,
.next-strip:hover .strip-main,
.next-strip:hover .strip-arrow{
  color:inherit!important;
  transform:none!important;
}
.strip-label{color:var(--accent)!important}
.strip-main,.strip-arrow{color:var(--fg)!important}

/* Home proof strip: no random first orange item. */
.home-highlights{background:#090909!important}
.home-highlights p span,
.home-highlights p span:first-child{
  color:#d9d2c4!important;
}
.home-highlights p span{
  position:relative;
}
.home-highlights p span::before{
  content:"";
  width:7px;
  height:7px;
  margin-right:12px;
  flex:0 0 7px;
  border-radius:50%;
  background:var(--accent);
  box-shadow:0 0 18px rgba(255,75,22,.22);
}

/* Footer: compact, minimal, no heavy directory feel. */
.site-footer{
  background:#060606!important;
}
.site-footer-inner{
  padding-top:34px!important;
  padding-bottom:26px!important;
}
.footer-top{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  gap:22px!important;
  padding-bottom:22px!important;
}
.footer-brand{
  font-family:var(--ui)!important;
  font-size:1.35rem!important;
  font-weight:900!important;
}
.footer-tagline{
  max-width:420px;
  margin-top:8px!important;
  font-size:.78rem!important;
  line-height:1.5!important;
}
.footer-col-title,
.footer-note,
.footer-bottom span:nth-child(2),
.footer-top-link{
  display:none!important;
}
.footer-cols{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:22px!important;
  padding:20px 0!important;
}
.footer-col:nth-child(3){display:none!important}
.footer-links{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:14px 18px!important;
  margin:0!important;
  padding:0!important;
}
.footer-links li{margin:0!important}
.footer-links a{
  color:#918b80!important;
  font-size:.68rem!important;
  letter-spacing:.08em!important;
}
.footer-links a:hover,
.footer-links a.active{color:var(--fg)!important}
.footer-socials{gap:8px!important}
.footer-socials .social-icon{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  min-height:32px!important;
  border-radius:0!important;
}
.footer-bottom{
  padding-top:16px!important;
  font-size:.68rem!important;
}

/* About page: remove CTA feel, balance the hero card, reduce empty slab. */
.about-page-hero-grid{
  grid-template-columns:minmax(0,.92fr) minmax(420px,1.08fr)!important;
}
.about-page-copy{
  min-height:520px;
  justify-content:center!important;
  gap:22px;
}
.about-page-copy::before{
  content:"ARTIST PROFILE";
  width:max-content;
  max-width:100%;
  padding-bottom:8px;
  border-bottom:1px solid var(--accent);
  color:var(--accent);
  font:900 .68rem/1 var(--ui);
  letter-spacing:.1em;
}
.about-page-copy h1{
  font-size:clamp(4.4rem,7.2vw,7.6rem)!important;
}
.about-page-copy p{
  max-width:620px!important;
}
.about-page-proof{
  grid-template-columns:1fr!important;
  padding:20px 24px!important;
  background:#090909!important;
}
.about-page-proof p{
  color:#d9d2c4!important;
  font:850 .74rem/1.55 var(--ui)!important;
  letter-spacing:.08em!important;
  text-transform:uppercase;
}
.about-page-contact{display:none!important}

/* Tour: booking CTA as a visible rectangle. */
.tour-footer{
  display:block!important;
  margin-top:30px!important;
  padding-top:0!important;
  border-top:0!important;
}
.tour-footer a{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  min-height:74px!important;
  padding:0 24px!important;
  border:1px solid var(--line-strong)!important;
  background:#0d0d0d!important;
  color:#fff!important;
  font:900 .76rem/1.2 var(--ui)!important;
  letter-spacing:.1em!important;
  text-transform:uppercase!important;
  box-shadow:inset 3px 0 0 var(--accent);
}
.tour-footer a::after{
  content:"->";
  color:var(--accent);
  font-size:1.05rem;
}
.tour-footer a:hover{
  border-color:var(--accent)!important;
  background:#111!important;
}

/* News: compact press list with sharper small thumbnails/logos. */
.news-list{
  grid-template-columns:1fr!important;
  gap:10px!important;
}
.news-filter{
  margin-bottom:4px!important;
}
.news-card{
  min-height:0!important;
  grid-template-columns:82px minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  align-items:center!important;
  gap:18px!important;
  padding:14px 16px!important;
  background:#0b0b0b!important;
}
.news-thumb{
  width:82px!important;
  height:82px!important;
  aspect-ratio:1!important;
  display:grid!important;
  place-items:center!important;
  background:#f4f1e9!important;
  border:1px solid rgba(244,241,233,.18)!important;
}
.news-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  padding:10px!important;
  filter:none!important;
}
.news-card-copy{
  align-self:center!important;
  gap:7px!important;
}
.news-card h2{
  font-size:clamp(1rem,1.55vw,1.38rem)!important;
  line-height:1.18!important;
}
.news-card-meta{
  font-size:.58rem!important;
}
.news-read{
  font-size:.58rem!important;
}
.news-arrow{
  align-self:center!important;
  font-size:1.35rem!important;
}
.news-card.no-thumb{
  grid-template-columns:minmax(0,1fr) auto!important;
  padding-left:16px!important;
}

/* Contact: one focused booking screen, no form, no extra labels. */
.contact-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:16px!important;
  align-content:start!important;
  min-height:calc(100svh - var(--header-height))!important;
}
.contact-hero{
  min-height:0!important;
  display:grid!important;
  gap:18px!important;
  padding:34px!important;
}
.contact-eyebrow{
  margin:0!important;
}
.contact-title{
  max-width:980px!important;
  font-size:clamp(4.1rem,8vw,8rem)!important;
}
.contact-description,
.contact-accent-rule,
.contact-detail-index,
.contact-detail-label,
.contact-note,
.contact-form-section{
  display:none!important;
}
.contact-details{
  grid-column:1!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr)!important;
  gap:0!important;
  border:1px solid var(--line)!important;
}
.contact-detail{
  min-height:176px!important;
  display:flex!important;
  align-items:center!important;
  padding:30px!important;
  border-top:0!important;
  border-left:1px solid var(--line)!important;
}
.contact-detail:first-child{
  border-left:0!important;
}
.contact-detail-main{
  width:100%;
}
.contact-email,
.contact-location{
  border-bottom:0!important;
  font-size:clamp(2rem,4.2vw,4.4rem)!important;
  line-height:.98!important;
}
.contact-email{
  color:#fff!important;
}
.contact-email::after{
  content:"";
  display:block;
  width:100%;
  height:1px;
  margin-top:10px;
  background:var(--accent);
}
.contact-location{
  color:#d9d2c4!important;
}

@media(max-width:900px){
  .footer-top,
  .footer-cols,
  .contact-details{
    grid-template-columns:1fr!important;
  }
  .footer-cols{
    align-items:flex-start!important;
  }
  .about-page-hero-grid{
    grid-template-columns:1fr!important;
  }
  .about-page-copy{
    min-height:0;
  }
  .contact-detail,
  .contact-detail:first-child{
    border-left:0!important;
    border-top:1px solid var(--line)!important;
  }
  .contact-detail:first-child{
    border-top:0!important;
  }
  .news-card{
    grid-template-columns:68px minmax(0,1fr) auto!important;
    gap:12px!important;
  }
  .news-thumb{
    width:68px!important;
    height:68px!important;
  }
}

@media(max-width:560px){
  .next-strip{
    min-height:78px;
  }
  .home-highlights p span{
    min-height:68px;
  }
  .footer-top,
  .footer-cols{
    gap:16px!important;
  }
  .footer-links{
    gap:12px!important;
  }
  .about-page-copy h1,
  .contact-title{
    font-size:clamp(3.2rem,17vw,5.2rem)!important;
  }
  .about-page-proof p{
    font-size:.66rem!important;
  }
  .tour-footer a{
    min-height:64px!important;
    padding-inline:18px!important;
  }
  .news-card{
    grid-template-columns:58px minmax(0,1fr)!important;
  }
  .news-arrow{
    display:none!important;
  }
  .news-thumb{
    width:58px!important;
    height:58px!important;
  }
  .news-thumb img{
    padding:8px!important;
  }
  .contact-hero,
  .contact-detail{
    padding:22px!important;
  }
  .contact-detail{
    min-height:126px!important;
  }
  .contact-email,
  .contact-location{
    font-size:clamp(1.7rem,8.5vw,3rem)!important;
  }
}

/* =========================================================
   V22.2 - CONTACT CENTERING / LOGO FOOTER
   ========================================================= */

.contact-main{
  justify-items:center!important;
  align-content:center!important;
  text-align:center!important;
  padding-bottom:clamp(54px,7vw,110px)!important;
}
.contact-hero{
  width:min(1120px,100%)!important;
  margin-inline:auto!important;
  justify-items:center!important;
  text-align:center!important;
  padding:clamp(30px,4vw,56px)!important;
}
.contact-eyebrow{
  width:max-content!important;
  margin-inline:auto!important;
}
.contact-title{
  margin-inline:auto!important;
  text-align:center!important;
}
.contact-details{
  width:min(1120px,100%)!important;
  margin-inline:auto!important;
}
.contact-detail{
  justify-content:center!important;
  text-align:center!important;
}
.contact-detail-main{
  display:grid!important;
  justify-items:center!important;
}
.contact-email,
.contact-location{
  text-align:center!important;
}
.contact-email::after{
  margin-inline:auto!important;
}

.site-footer{
  border-top:1px solid rgba(244,241,233,.12)!important;
}
.site-footer-inner{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  gap:24px!important;
  padding:46px var(--page-pad) 26px!important;
  text-align:center!important;
}
.footer-top{
  display:flex!important;
  width:100%!important;
  justify-content:center!important;
  align-items:center!important;
  padding:0!important;
  border:0!important;
}
.footer-identity{
  display:grid!important;
  width:100%!important;
  justify-items:center!important;
  align-items:center!important;
  gap:10px!important;
}
.footer-brand{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin-inline:auto!important;
  width:min(270px,70vw)!important;
  height:auto!important;
  color:#fff!important;
}
.footer-logo-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
}
.footer-brand-text{
  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;
}
.footer-tagline,
.footer-cta,
.footer-note,
.footer-col-title,
.footer-bottom span:nth-child(2),
.footer-top-link{
  display:none!important;
}
.footer-cols{
  order:2!important;
  display:flex!important;
  flex-direction:column-reverse!important;
  align-items:center!important;
  justify-content:center!important;
  gap:22px!important;
  width:100%!important;
  padding:0!important;
  border:0!important;
}
.footer-col{
  width:100%!important;
}
.footer-col:nth-child(3){
  display:none!important;
}
.footer-socials{
  justify-content:center!important;
  gap:10px!important;
}
.footer-socials .social-icon{
  width:36px!important;
  height:36px!important;
  min-width:36px!important;
  min-height:36px!important;
  border-color:rgba(244,241,233,.2)!important;
  color:#f4f1e9!important;
  background:transparent!important;
}
.footer-socials .social-icon:hover{
  border-color:var(--accent)!important;
  color:#fff!important;
  background:rgba(255,75,22,.12)!important;
  transform:translateY(-2px)!important;
}
.footer-links{
  justify-content:center!important;
  align-items:center!important;
  flex-direction:row!important;
  flex-wrap:wrap!important;
  gap:12px 22px!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.footer-links li{
  width:auto!important;
  margin:0!important;
}
.footer-links a{
  color:#9d968a!important;
  font-size:.68rem!important;
  letter-spacing:.1em!important;
}
.footer-links a:hover,
.footer-links a.active{
  color:#fff!important;
}
.footer-bottom{
  order:3!important;
  width:100%!important;
  justify-content:center!important;
  padding-top:0!important;
  border:0!important;
  color:#6f695f!important;
  display:none!important;
}

@media(max-width:900px){
  .contact-main{
    align-content:start!important;
    padding-top:calc(var(--header-mobile-height) + 44px)!important;
  }
  .contact-details{
    grid-template-columns:1fr!important;
  }
}

@media(max-width:560px){
  .contact-main{
    padding-inline:16px!important;
  }
  .contact-hero{
    padding:20px 0 16px!important;
  }
  .contact-title{
    font-size:clamp(3.1rem,15vw,4.9rem)!important;
  }
  .contact-detail{
    min-height:112px!important;
    padding:20px!important;
  }
  .footer-brand{
    width:min(220px,74vw)!important;
  }
  .footer-links{
    gap:10px 14px!important;
  }
}

/* =========================================================
   V22.6 - HOME MARQUEE / TOUR PHOTO / CONTACT CLEANUP
   ========================================================= */

.hero-scroll{
  display:none!important;
}

.next-strip{
  min-height:48px!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:12px!important;
  padding:8px var(--page-pad)!important;
  background:#0e0e0e!important;
  border-top:1px solid rgba(255,75,22,.55)!important;
  border-bottom:1px solid rgba(255,75,22,.36)!important;
  box-shadow:inset 4px 0 0 var(--accent),0 0 28px rgba(255,75,22,.08)!important;
}
.next-strip .strip-label{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:0 10px!important;
  background:var(--accent)!important;
  color:#080808!important;
  font:950 .62rem/1 var(--ui)!important;
  letter-spacing:.08em!important;
  white-space:nowrap!important;
}
.next-strip .strip-main{
  color:#fff!important;
  font:900 clamp(.8rem,1.05vw,1rem)/1.2 var(--ui)!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.next-strip .strip-arrow{
  color:var(--accent)!important;
}
.next-strip:hover{
  border-color:var(--accent)!important;
  background:#141414!important;
}

.home-highlights{
  height:50px!important;
  min-height:50px!important;
  max-height:50px!important;
  padding:0!important;
  overflow:hidden!important;
  background:#050505!important;
  border-block:1px solid rgba(255,75,22,.28)!important;
}
.home-highlights-inner{
  height:48px!important;
  min-height:48px!important;
  max-height:48px!important;
  width:100%!important;
  max-width:none!important;
  padding:0!important;
}
.home-highlights p{
  display:flex!important;
  width:max-content!important;
  grid-template-columns:none!important;
  gap:0!important;
  margin:0!important;
  animation:otekHighlightsMarquee 28s linear infinite;
  will-change:transform;
}
.home-highlights:hover p{
  animation-play-state:paused;
}
.home-highlights p span,
.home-highlights p span:first-child{
  min-height:48px!important;
  display:inline-flex!important;
  align-items:center!important;
  flex:0 0 auto!important;
  padding:0 clamp(18px,2.3vw,38px)!important;
  border:0!important;
  border-right:1px solid rgba(244,241,233,.13)!important;
  color:#f4f1e9!important;
  font:950 .72rem/1 var(--ui)!important;
  letter-spacing:.1em!important;
  white-space:nowrap!important;
}
.home-highlights p span::before{
  width:6px!important;
  height:6px!important;
  margin-right:11px!important;
  flex-basis:6px!important;
}
@keyframes otekHighlightsMarquee{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(-50%,0,0)}
}

.japan{
  padding-top:clamp(54px,6vw,92px)!important;
}
.japan .section-head,
.national .section-head{
  margin-bottom:16px!important;
}
.japan-lead{
  align-items:center!important;
  margin-bottom:clamp(28px,4vw,52px)!important;
}
.japan-lead h2{
  width:100%!important;
  padding:clamp(18px,2.4vw,34px)!important;
  border:1px solid rgba(244,241,233,.18)!important;
  background:#0d0d0d!important;
  font-size:clamp(4rem,12vw,11rem)!important;
  line-height:.86!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.japan-copy{
  padding-bottom:0!important;
}
.media-caption,
.japan-shot figcaption,
.national-shot figcaption{
  display:none!important;
}

.shows-main{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,.38fr)!important;
  gap:18px clamp(22px,3vw,44px)!important;
  align-items:start!important;
}
.shows-title-wrap{
  grid-column:1/-1!important;
}
.tour-controls,
.tour-list,
.tour-empty,
.tour-note,
.tour-past,
.tour-footer{
  grid-column:1!important;
  width:100%!important;
}
.tour-visual{
  grid-column:2!important;
  grid-row:2 / span 6!important;
  position:sticky!important;
  top:calc(var(--header-height) + 24px)!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  border:1px solid rgba(244,241,233,.14)!important;
  background:#090909!important;
}
.tour-visual img{
  width:100%!important;
  height:min(68svh,760px)!important;
  object-fit:cover!important;
  object-position:50% 48%!important;
  filter:saturate(1.05) contrast(1.04)!important;
}
.tour-row,
.tour-list-past .tour-row-past{
  min-height:82px!important;
  grid-template-columns:118px minmax(0,1.15fr) minmax(140px,.55fr) 112px!important;
  gap:14px!important;
  padding:14px 16px!important;
  background:#0b0b0b!important;
}
.tour-row::before{
  width:2px!important;
}
.tour-row.is-next{
  background:linear-gradient(90deg,rgba(255,75,22,.12),#101010 46%,#090909)!important;
}
.tour-date-main{
  font-family:var(--ui)!important;
  font-size:1.1rem!important;
  letter-spacing:.01em!important;
}
.tour-name,
.tour-list-past .tour-row-past .tour-name{
  font-family:var(--ui)!important;
  font-size:clamp(1rem,1.55vw,1.45rem)!important;
  line-height:1.08!important;
  letter-spacing:.02em!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.tour-place,
.tour-place-mobile{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}
.ticket-btn{
  min-height:38px!important;
  padding-inline:12px!important;
}
.tour-past-toggle{
  min-height:56px!important;
  padding:0 16px!important;
}
.tour-past-label{
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.tour-list-past .tour-row-past{
  opacity:.68!important;
}

.news-thumb{
  background:#111!important;
  border:1px solid rgba(244,241,233,.12)!important;
}
.news-thumb img{
  padding:0!important;
  object-fit:cover!important;
}

.contact-main{
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:18px!important;
  min-height:calc(100svh - var(--header-height))!important;
  padding:calc(var(--header-height) + 42px) var(--page-pad) 72px!important;
  text-align:center!important;
}
.contact-hero{
  width:min(980px,100%)!important;
  min-height:0!important;
  display:grid!important;
  justify-items:center!important;
  gap:14px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.contact-eyebrow{
  display:none!important;
}
.contact-title{
  max-width:100%!important;
  margin:0!important;
  font-size:clamp(4.4rem,11vw,9.5rem)!important;
  line-height:.86!important;
  letter-spacing:0!important;
  text-align:center!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.contact-description{
  display:block!important;
  max-width:560px!important;
  margin:0!important;
  color:#a9a298!important;
  text-align:center!important;
  font:700 .82rem/1.55 var(--ui)!important;
}
.contact-details{
  width:min(980px,100%)!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:8px!important;
  margin:10px auto 0!important;
  border:0!important;
  background:transparent!important;
}
.contact-detail{
  min-height:0!important;
  display:grid!important;
  justify-items:center!important;
  padding:8px!important;
  border:0!important;
}
.contact-detail-main{
  display:grid!important;
  justify-items:center!important;
  gap:0!important;
}
.contact-detail-index,
.contact-detail-label,
.contact-note{
  display:none!important;
}
.contact-email{
  display:inline-block!important;
  color:#fff!important;
  font-family:var(--ui)!important;
  font-size:clamp(1.8rem,4vw,4.1rem)!important;
  font-weight:950!important;
  letter-spacing:.02em!important;
  line-height:1.04!important;
  border:0!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
}
.contact-email::after{
  width:100%!important;
  margin-top:12px!important;
}
.contact-location{
  color:#928b81!important;
  font-family:var(--ui)!important;
  font-size:.78rem!important;
  font-weight:900!important;
  line-height:1.2!important;
  letter-spacing:.12em!important;
  border:0!important;
}

@media(max-width:980px){
  .shows-main{
    grid-template-columns:1fr!important;
  }
  .tour-visual{
    grid-column:1!important;
    grid-row:auto!important;
    position:relative!important;
    top:auto!important;
    order:2!important;
    margin-bottom:6px!important;
  }
  .tour-visual img{
    height:auto!important;
    aspect-ratio:16/10!important;
    object-position:50% 52%!important;
  }
}

@media(max-width:820px){
  .next-strip{
    display:flex!important;
    align-items:center!important;
    height:56px!important;
    min-height:56px!important;
    max-height:56px!important;
    padding:8px 16px!important;
    gap:9px!important;
  }
  .next-strip .strip-label{
    min-height:24px!important;
    padding-inline:8px!important;
    font-size:.5rem!important;
  }
  .next-strip .strip-main{
    flex:1 1 auto!important;
    min-width:0!important;
    font-size:.68rem!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .next-strip .strip-arrow{
    flex:0 0 auto!important;
    width:auto!important;
  }
  .shows-title-wrap h1{
    font-size:clamp(3.6rem,18vw,6.4rem)!important;
    line-height:.9!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
  }
  .tour-row,
  .tour-list-past .tour-row-past{
    grid-template-columns:72px minmax(0,1fr)!important;
    gap:10px!important;
    padding:13px!important;
  }
  .tour-date-main{
    font-size:.92rem!important;
  }
  .tour-date-year,
  .tour-weekday{
    font-size:.62rem!important;
  }
  .tour-name,
  .tour-list-past .tour-row-past .tour-name{
    font-size:clamp(.98rem,4.6vw,1.35rem)!important;
    line-height:1.14!important;
  }
  .tour-place-mobile{
    font-size:.62rem!important;
    line-height:1.4!important;
  }
  .ticket-btn{
    grid-column:2!important;
    min-height:34px!important;
    margin-top:6px!important;
    font-size:.58rem!important;
  }
  .japan-lead h2{
    font-size:clamp(3.2rem,17vw,5.4rem)!important;
    padding:18px!important;
  }
  .contact-main{
    min-height:auto!important;
    justify-content:flex-start!important;
    padding:calc(var(--header-mobile-height) + 36px) 16px 56px!important;
  }
  .contact-title{
    font-size:clamp(3.2rem,17vw,5.2rem)!important;
  }
  .contact-description{
    font-size:.74rem!important;
  }
  .contact-email{
    font-size:clamp(1.55rem,7.7vw,2.7rem)!important;
  }
}

@media(max-width:560px){
  .next-strip{
    display:flex!important;
    padding:8px 16px!important;
  }
  .next-strip .strip-label{
    max-width:112px!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .home-highlights p span,
  .home-highlights p span:first-child{
    min-height:44px!important;
    padding-inline:18px!important;
    font-size:.62rem!important;
  }
  .tour-visual img{
    aspect-ratio:4/5!important;
  }
  .tour-past-toggle{
    min-height:50px!important;
  }
}

/* =========================================================
   V22.10 - QA FIXES: HEADER / JAPAN / NEWSLETTER / TOUR / CONTACT
   ========================================================= */

.site-header{
  top:0!important;
  left:0!important;
  right:0!important;
  width:100%!important;
  max-width:none!important;
  min-height:72px!important;
  margin:0!important;
  padding:0 clamp(18px,3.2vw,64px)!important;
  border-top:0!important;
  border-left:0!important;
  border-right:0!important;
  border-bottom:1px solid rgba(244,241,233,.14)!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  box-shadow:0 18px 60px rgba(0,0,0,.28)!important;
}
.site-nav-links{
  position:absolute!important;
  left:50%!important;
  top:0!important;
  height:100%!important;
  transform:translateX(-50%)!important;
  justify-self:center!important;
  justify-content:center!important;
}
.site-nav-links a{
  padding-inline:var(--header-nav-padding-x,11px)!important;
}

.next-strip{
  min-height:68px!important;
  padding-block:12px!important;
  gap:16px!important;
  background:#0b0b0b!important;
  border-top:1px solid rgba(255,75,22,.72)!important;
  border-bottom:1px solid rgba(255,75,22,.45)!important;
  box-shadow:inset 5px 0 0 var(--accent),0 0 36px rgba(255,75,22,.10)!important;
}
.next-strip .strip-label{
  min-height:32px!important;
  padding-inline:14px!important;
  color:#070707!important;
  font-size:.72rem!important;
  letter-spacing:.06em!important;
}
.next-strip .strip-main{
  font-size:clamp(.92rem,1.25vw,1.18rem)!important;
}

.japan{
  padding-top:clamp(34px,4.6vw,70px)!important;
}
.japan-lead{
  grid-template-columns:minmax(0,.72fr) minmax(340px,.58fr)!important;
  gap:clamp(18px,2.6vw,38px)!important;
  align-items:center!important;
  margin-bottom:clamp(24px,3vw,42px)!important;
}
.japan-lead h2{
  display:block!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  font-size:clamp(4.4rem,7.8vw,8.6rem)!important;
  line-height:.88!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
.japan-copy{
  min-height:auto!important;
  padding:clamp(22px,2.8vw,36px)!important;
  border:1px solid rgba(244,241,233,.15)!important;
  background:linear-gradient(180deg,#111,#0b0b0b)!important;
}
.japan-years{
  font-size:clamp(1.2rem,2vw,1.7rem)!important;
  line-height:1!important;
}

.newsletter{
  padding:clamp(64px,8vw,116px) var(--page-pad)!important;
  text-align:center!important;
}
.newsletter-inner{
  width:min(980px,100%)!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:24px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.newsletter-eyebrow{
  margin:0!important;
}
.newsletter-title{
  max-width:920px!important;
  margin:0 auto!important;
  font-size:clamp(3.4rem,7.2vw,7.6rem)!important;
  line-height:.9!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-wrap:balance!important;
}
.newsletter-text,
.newsletter-consent{
  max-width:680px!important;
  margin-inline:auto!important;
  text-align:center!important;
}
.newsletter-form{
  width:min(720px,100%)!important;
  display:grid!important;
  grid-template-columns:1fr!important;
  gap:14px!important;
  margin:10px auto 0!important;
}
.newsletter-submit{
  width:100%!important;
}

.about-page-copy::before{
  content:"PROFIL ARTYSTY"!important;
}
html[lang="en"] .about-page-copy::before{
  content:"ARTIST PROFILE"!important;
}

.shows-main{
  grid-template-columns:minmax(0,.94fr) minmax(420px,.56fr)!important;
  gap:18px clamp(28px,3.8vw,58px)!important;
}
.tour-visual{
  grid-column:2!important;
  grid-row:2 / span 6!important;
  align-self:start!important;
}
.tour-visual img{
  height:min(76svh,860px)!important;
  object-position:50% 48%!important;
}
.tour-row,
.tour-list-past .tour-row-past{
  min-height:76px!important;
  padding:12px 15px!important;
}
.tour-name,
.tour-list-past .tour-row-past .tour-name,
.tour-place,
.tour-place-mobile{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

.news-hero h1{
  font-size:clamp(3.4rem,7vw,5.8rem)!important;
  letter-spacing:0!important;
  overflow-wrap:normal!important;
  word-break:keep-all!important;
  hyphens:none!important;
  text-wrap:balance!important;
}

.contact-main{
  min-height:100svh!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  padding:calc(72px + clamp(48px,6vw,86px)) var(--page-pad) clamp(70px,8vw,110px)!important;
  text-align:center!important;
}
.contact-hero{
  width:min(980px,100%)!important;
  display:grid!important;
  justify-items:center!important;
  gap:18px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
.contact-title{
  max-width:980px!important;
  margin:0 auto!important;
  color:#fff!important;
  font-size:clamp(3.2rem,7.2vw,7rem)!important;
  line-height:.92!important;
  letter-spacing:0!important;
  text-align:center!important;
  text-transform:none!important;
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance!important;
}
.contact-description,
.contact-accent-rule,
.contact-detail-location,
.contact-location{
  display:none!important;
}
.contact-details{
  width:min(820px,100%)!important;
  display:flex!important;
  justify-content:center!important;
  margin:18px auto 0!important;
  border:0!important;
  background:transparent!important;
}
.contact-detail{
  width:100%!important;
  padding:0!important;
  border:0!important;
}
.contact-email{
  max-width:100%!important;
  font-size:clamp(1.55rem,3.1vw,3.2rem)!important;
  line-height:1.08!important;
  text-align:center!important;
  overflow-wrap:anywhere!important;
}

@media(max-width:980px){
  .site-header{
    min-height:82px!important;
    padding:10px 16px!important;
    grid-template-columns:auto 1fr auto!important;
  }
  .site-nav-links{
    position:static!important;
    height:auto!important;
    transform:none!important;
    grid-column:1 / -1!important;
    width:100%!important;
    justify-content:center!important;
    padding-bottom:0!important;
  }
  .shows-main{
    grid-template-columns:1fr!important;
  }
  .tour-visual{
    grid-column:1!important;
    grid-row:auto!important;
    order:0!important;
    position:relative!important;
    top:auto!important;
    margin:0 0 12px!important;
  }
  .tour-visual img{
    height:auto!important;
    aspect-ratio:16/10!important;
    object-position:50% 48%!important;
  }
}

@media(max-width:820px){
  .site-header{
    min-height:86px!important;
  }
  .site-nav-links{
    justify-content:flex-start!important;
    overflow-x:auto!important;
    scrollbar-width:none!important;
  }
  .site-nav-links a{
    min-height:30px!important;
    padding-inline:9px!important;
    font-size:.57rem!important;
  }
  .next-strip{
    height:64px!important;
    min-height:64px!important;
    max-height:64px!important;
    gap:10px!important;
    padding:10px 16px!important;
  }
  .next-strip .strip-label{
    flex:0 0 auto!important;
    max-width:none!important;
    min-height:28px!important;
    padding-inline:10px!important;
    font-size:.56rem!important;
    overflow:visible!important;
    text-overflow:clip!important;
  }
  .next-strip .strip-main{
    font-size:clamp(.72rem,3.8vw,1rem)!important;
    line-height:1.08!important;
  }
  .japan{
    padding-top:52px!important;
  }
  .japan-lead{
    grid-template-columns:1fr!important;
    gap:16px!important;
  }
  .japan-lead h2{
    font-size:clamp(3.1rem,16vw,5.4rem)!important;
    white-space:normal!important;
  }
  .japan-copy{
    padding:20px!important;
  }
  .newsletter-title{
    font-size:clamp(2.7rem,12vw,5rem)!important;
  }
  .shows-title-wrap h1,
  .news-hero h1{
    font-size:clamp(2.8rem,12vw,5rem)!important;
    line-height:.94!important;
    letter-spacing:0!important;
    overflow-wrap:normal!important;
    word-break:keep-all!important;
    hyphens:none!important;
  }
  .contact-main{
    min-height:100svh!important;
    justify-content:center!important;
    padding:calc(86px + 42px) 18px 64px!important;
  }
  .contact-title{
    font-size:clamp(2.85rem,12vw,4.8rem)!important;
  }
  .contact-email{
    font-size:clamp(1.45rem,6.5vw,2.35rem)!important;
  }
}

@media(max-width:560px){
  .site-nav-links{
    justify-content:flex-start!important;
  }
  .next-strip{
    height:66px!important;
    min-height:66px!important;
    max-height:66px!important;
  }
  .tour-visual img{
    aspect-ratio:16/10!important;
  }
  .news-hero h1{
    font-size:clamp(2.45rem,11vw,4rem)!important;
  }
}

/* =========================================================
   V22.12 - MOBILE NAV / FULL NEXT SHOW / TOUR HOVER / CONTACT TYPE
   ========================================================= */

.contact-title{
  width:100%!important;
  max-width:100%!important;
  margin-inline:auto!important;
  font-family:var(--ui)!important;
  font-weight:950!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  font-size:clamp(2.55rem,5.9vw,6.4rem)!important;
  line-height:.95!important;
}
.contact-hero{
  grid-template-columns:minmax(0,1fr)!important;
  justify-items:stretch!important;
}

.tour-row,
.tour-list-past .tour-row-past{
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease!important;
  transform:none!important;
}
.tour-row:hover,
.tour-row:focus-within{
  transform:none!important;
  border-color:var(--accent)!important;
  background:linear-gradient(105deg,rgba(255,75,22,.10),#111 46%,#0b0b0b 100%)!important;
  box-shadow:inset 0 0 0 1px rgba(255,75,22,.62)!important;
}
.tour-row:hover::before,
.tour-row:focus-within::before{
  background:var(--accent)!important;
}
.tour-list-past .tour-row-past:hover,
.tour-list-past .tour-row-past:focus-within{
  transform:none!important;
  border-color:rgba(255,75,22,.56)!important;
  background:#0d0d0d!important;
  box-shadow:inset 0 0 0 1px rgba(255,75,22,.34)!important;
}

@media(max-width:820px){
  .site-nav-links a[href="/contact"],
  .site-nav-links a[href="./contact"],
  .site-nav-links a[href="contact"]{
    display:none!important;
  }
  .site-nav-links{
    justify-content:space-between!important;
    gap:0!important;
    overflow:visible!important;
  }
  .site-nav-links a{
    flex:0 1 auto!important;
    padding-inline:4px!important;
    font-size:clamp(.48rem,2.55vw,.61rem)!important;
    letter-spacing:.06em!important;
  }
  .contact-title{
    font-size:clamp(1.82rem,7.5vw,3rem)!important;
    letter-spacing:0!important;
  }
}

/* V22.16 - CENTER MOBILE TOP NAV */
@media(max-width:820px){
  .site-nav-links{
    justify-content:center!important;
  }
}

/* V23.1 - final mobile nav readability */
@media(max-width:820px){
  .site-header{
    min-height:76px!important;
    padding:8px 14px 7px!important;
    row-gap:7px!important;
  }
  .site-brand{
    font-size:clamp(2rem,9.2vw,2.8rem)!important;
    line-height:.9!important;
  }
  .site-nav-links{
    justify-content:space-between!important;
    gap:clamp(8px,2.4vw,16px)!important;
    overflow:visible!important;
    padding:0!important;
  }
  .site-nav-links a{
    min-height:36px!important;
    padding:8px 5px!important;
    font-size:clamp(.66rem,2.9vw,.86rem)!important;
    line-height:1!important;
    letter-spacing:.04em!important;
  }
  .language-current{
    min-width:54px!important;
    min-height:42px!important;
    padding:0 12px!important;
    font-size:.92rem!important;
  }
}

@media(max-width:560px){
  .next-strip{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    align-items:center!important;
    height:auto!important;
    min-height:92px!important;
    max-height:none!important;
    gap:7px 10px!important;
    padding:12px 16px!important;
  }
  .next-strip .strip-label{
    grid-column:1!important;
    grid-row:1!important;
    align-self:center!important;
  }
  .next-strip .strip-main{
    grid-column:1 / 3!important;
    grid-row:2!important;
    white-space:normal!important;
    overflow:visible!important;
    text-overflow:clip!important;
    font-size:clamp(.7rem,3.25vw,.88rem)!important;
    line-height:1.18!important;
  }
  .next-strip .strip-arrow{
    grid-column:3!important;
    grid-row:1 / 3!important;
    align-self:center!important;
  }
  .contact-title{
    font-size:clamp(1.58rem,6.45vw,2.35rem)!important;
  }
}

/* =========================================================
   V22.15 - RESTORE CONTACT IN MOBILE NAV / LIGHTER HERO
   ========================================================= */

.hero-media{
  filter:saturate(1.04) contrast(1.02) brightness(.94)!important;
}
.hero-vignette{
  background:
    linear-gradient(90deg,rgba(0,0,0,.48) 0%,rgba(0,0,0,.22) 34%,rgba(0,0,0,.08) 70%,rgba(0,0,0,.38) 100%),
    linear-gradient(180deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.03) 42%,rgba(0,0,0,.48) 100%)!important;
}

@media(max-width:820px){
  .site-nav-links a[href="/contact"],
  .site-nav-links a[href="./contact"],
  .site-nav-links a[href="contact"]{
    display:inline-flex!important;
  }
  .site-nav-links a[href="/about"],
  .site-nav-links a[href="./about"],
  .site-nav-links a[href="about"]{
    display:none!important;
  }
  .site-nav-links{
    justify-content:flex-start!important;
    gap:clamp(7px,2vw,10px)!important;
    overflow:visible!important;
  }
  .site-nav-links a{
    flex:0 0 auto!important;
    padding-inline:2px!important;
    font-size:clamp(.47rem,2.48vw,.59rem)!important;
    letter-spacing:.045em!important;
  }
}

/* V22.17 - FINAL MOBILE NAV CENTERING */
@media(max-width:820px){
  .site-nav-links{
    justify-content:center!important;
  }
}

/* =========================================================
   V23.2 - COMPACT, CLEAR MOBILE TOP NAV
   ========================================================= */
@media(max-width:820px){
  .site-header{
    min-height:72px!important;
    height:auto!important;
    padding:7px 14px 6px!important;
    align-content:center!important;
    row-gap:5px!important;
    grid-template-columns:auto 1fr auto!important;
  }
  .site-brand{
    align-self:center!important;
    font-size:clamp(1.95rem,8.7vw,2.7rem)!important;
    line-height:.86!important;
    letter-spacing:-.08em!important;
  }
  .header-socials{
    align-self:center!important;
    justify-self:end!important;
  }
  .header-language-mobile{
    margin-left:0!important;
  }
  .language-current{
    min-width:52px!important;
    min-height:40px!important;
    padding:0 11px!important;
    border-width:2px!important;
    font-size:.9rem!important;
    font-weight:900!important;
  }
  .site-nav-links{
    grid-column:1 / -1!important;
    width:100%!important;
    justify-content:space-between!important;
    align-items:center!important;
    gap:var(--header-mobile-nav-gap, 0px)!important;
    padding:0!important;
    margin-top:0!important;
    overflow:visible!important;
  }
  .site-nav-links a{
    flex:0 1 auto!important;
    min-height:34px!important;
    padding:7px var(--header-mobile-nav-padding-x,0px)!important;
    font-size:clamp(.68rem,2.95vw,.86rem)!important;
    line-height:1!important;
    letter-spacing:.045em!important;
    color:rgba(245,245,239,.78)!important;
  }
  .site-nav-links a.active{
    color:#fff!important;
  }
}
@media(max-width:390px){
  .site-header{
    min-height:70px!important;
    padding-inline:12px!important;
  }
  .site-nav-links a{
    font-size:clamp(.62rem,2.75vw,.76rem)!important;
    padding-inline:var(--header-mobile-nav-padding-x,0px)!important;
  }
  .language-current{
    min-width:49px!important;
    min-height:38px!important;
    padding-inline:9px!important;
  }
}

/* =========================================================
   V23.6 - REAL MOBILE NAV TEXT CENTERING
   The nav text itself is centered as one compact group.
   ========================================================= */
@media(max-width:820px){
  .site-nav-links a.nav-link-about,
  .site-nav-links a[href="/about.html"],
  .site-nav-links a[href="./about.html"],
  .site-nav-links a[href="about.html"]{
    display:none!important;
  }
  .site-nav-links{
    width:max-content!important;
    max-width:calc(100vw - 28px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    justify-content:center!important;
    justify-self:center!important;
    justify-items:center!important;
    gap:var(--header-mobile-nav-gap,16px)!important;
    overflow:visible!important;
  }
  .site-nav-links a{
    flex:0 0 auto!important;
    width:auto!important;
    min-width:0!important;
    padding-left:var(--header-mobile-nav-padding-x,0px)!important;
    padding-right:var(--header-mobile-nav-padding-x,0px)!important;
    text-align:center!important;
  }
}
