/* LUNATe official site - index styles v1 */
:root{
  --bg:#02060c;
  --bg2:#07101b;
  --line:rgba(210,226,255,.22);
  --text:#f4f7ff;
  --sub:#aeb8cc;
  --blue:#7ea8ff;
  --card:rgba(4,10,18,.62);
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--text);
  background:
    radial-gradient(circle at 82% 8%, rgba(70,108,185,.10), transparent 22%),
    radial-gradient(circle at 18% 28%, rgba(12,28,60,.16), transparent 32%),
    linear-gradient(180deg,#010205 0%,#02050a 46%,#010205 100%);
  font-family:"Times New Roman","Yu Mincho","Hiragino Mincho ProN",serif;
  letter-spacing:.045em;
}
body:before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  background-image:radial-gradient(circle,rgba(255,255,255,.28) 1px,transparent 1.7px);
  background-size:118px 118px;
  opacity:.055;
  z-index:-1;
}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 38px}
.header{
  position:relative;
  z-index:10;
  padding-top:26px;
}
.header .inner{
  height:48px;
  border-bottom:1px solid rgba(225,235,255,.34);
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
}
.logo img{
  display:block;
  width:138px;
  max-height:38px;
  object-fit:contain;
  filter:drop-shadow(0 0 8px rgba(235,242,255,.18));
}
.nav{
  display:flex;
  align-items:center;
  gap:16px;
  font:11px/1 Georgia,serif;
  letter-spacing:.32em;
  color:#dfe6f4;
  padding-top:6px;
}
.nav a{opacity:.86}
.nav a:hover{opacity:1;text-shadow:0 0 12px rgba(160,190,255,.45)}
.social{display:flex;gap:10px;margin-left:8px;letter-spacing:.08em;color:#c7d1e7;white-space:nowrap}

.nav-icons{
  display:flex;
  align-items:center;
  gap:10px;
  margin-left:8px;
  letter-spacing:.12em;
  white-space:nowrap;
}

.nav-icons a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:20px;
  height:20px;
  border:1px solid rgba(225,235,255,.28);
  border-radius:50%;
  font-size:9px;
  line-height:1;
  color:#dfe6f4;
  background:rgba(255,255,255,.035);
}

.nav-icons a:hover{
  color:#fff;
  border-color:rgba(225,235,255,.58);
  box-shadow:0 0 14px rgba(130,170,255,.24);
}

@media(max-width:900px){
  .nav .nav-icons{
    margin:12px 0 0;
    padding-top:12px;
    border-top:1px solid rgba(225,235,255,.14);
    width:100%;
    display:flex;
    gap:14px;
  }
}

.hero{
  position:relative;
  min-height:720px;
  overflow:hidden;
  margin-top:-74px;
}
.hero:before{
  content:"";
  position:absolute;
  left:calc(50% - 640px);
  top:58px;
  width:760px;
  height:760px;
  border-radius:50%;
  background:
    radial-gradient(circle at 88% 13%,rgba(255,255,255,.95) 0,rgba(255,255,255,.48) 5%,transparent 17%),
    radial-gradient(circle at center,#000 0 63%,transparent 64%),
    url("../assets/eclipse.jpg") center/cover no-repeat;
  opacity:.9;
  filter:contrast(1.12);
  box-shadow:
    inset -34px -18px 80px rgba(160,190,255,.28),
    0 0 64px rgba(125,168,255,.18);
  z-index:2;
}
.hero-img{
  position:absolute;
  right:0;
  top:88px;
  bottom:0;
  width:74%;
  height:auto;
  background:url("../assets/hero_live.jpg") center 40%/cover no-repeat;
  filter:saturate(.72) contrast(1.12) brightness(.76);
  opacity:.92;
  z-index:0;
  -webkit-mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 7%, black 22%, black 86%, transparent 100%);
  mask-image:linear-gradient(90deg, transparent 0%, rgba(0,0,0,.12) 7%, black 22%, black 86%, transparent 100%);
}
.hero-img:after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 38% 10%, rgba(255,255,255,.34), transparent 18%),
    linear-gradient(90deg,
      rgba(2,6,12,.32) 0%,
      rgba(2,6,12,.18) 34%,
      rgba(2,6,12,.08) 58%,
      rgba(2,6,12,.42) 100%);
}
.hero .shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(90deg,
      rgba(2,6,12,.90) 0%,
      rgba(2,6,12,.62) 36%,
      rgba(2,6,12,.22) 58%,
      rgba(2,6,12,.76) 100%),
    linear-gradient(180deg,
      rgba(2,6,12,.20) 0%,
      rgba(2,6,12,.04) 46%,
      #02060c 100%);
  z-index:1;
}
.hero-content{
  position:relative;
  z-index:3;
  padding-top:206px;
  width:520px;
}
.hero h1{
  margin:0 0 26px;
  font-weight:400;
  font-size:92px;
  line-height:1.0;
  letter-spacing:.035em;
  text-shadow:0 0 22px rgba(225,235,255,.18);
}
.hero h1 .line{
  display:block;
}
.hero h1 .line-2{
  padding-left:.55em;
}
.hero h1 .line-3{
  padding-left:1.1em;
}
.en{
  font-style:italic;
  color:#d8deec;
  font-size:13px;
  margin-bottom:7px;
  letter-spacing:.08em;
}
.cover{
  color:#c5cedd;
  font-size:11px;
  margin-bottom:30px;
  letter-spacing:.18em;
}
.actions{display:flex;gap:18px}
.btn{
  min-width:136px;height:42px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(225,235,255,.52);
  background:rgba(255,255,255,.045);
  font:700 8px Georgia,serif;
  letter-spacing:.26em;
  transition:.2s ease;
}
.btn.primary{background:#f7f9ff;color:#050914}
.btn:hover{transform:translateY(-2px);box-shadow:0 0 24px rgba(130,170,255,.26)}
.scroll{
  position:absolute;right:calc(50% - 615px);bottom:118px;z-index:3;
  writing-mode:vertical-rl;color:#98a4bb;font:10px Georgia,serif;letter-spacing:.35em;
}
.scroll:after{content:"";display:block;width:1px;height:82px;background:rgba(210,226,255,.45);margin:18px auto 0}

.section{
  position:relative;
  padding:22px 0;
}
.section-line{border-top:1px solid rgba(210,226,255,.16)}
.eyebrow{
  font:10px Georgia,serif;
  text-transform:uppercase;
  letter-spacing:.42em;
  color:var(--blue);
  margin-bottom:28px;
}
.band-block{
  display:grid;
  grid-template-columns:330px 1fr;
  gap:64px;
  align-items:start;
}
.band-copy h2{
  margin:0 0 20px;
  font-weight:400;
  font-size:40px;
  line-height:1.9;
}
.band-copy h2 span{color:var(--blue)}
.band-copy p{
  color:#b9c3d5;
  font-size:13px;
  line-height:2.1;
  margin:0;
}

.concept-moon{
  display:grid;
  grid-template-columns:1fr 54px 1fr;
  align-items:center;
  gap:28px;
  max-width:620px;
  margin:0 auto 64px;
  padding:12px 0 6px;
}
.concept-moon-item{
  text-align:center;
}
.concept-moon-visual{
  width:min(170px,100%);
  aspect-ratio:1;
  border-radius:50%;
  margin:0 auto 20px;
  position:relative;
}
.concept-moon-visual.full{
  background:
    radial-gradient(circle at 40% 34%, rgba(255,255,255,.95) 0%, rgba(207,221,250,.92) 22%, rgba(105,128,170,.88) 57%, rgba(34,47,78,.95) 100%);
  box-shadow:
    0 0 34px rgba(155,190,255,.22),
    inset -18px -22px 42px rgba(18,26,45,.38),
    inset 16px 12px 28px rgba(255,255,255,.18);
}
.concept-moon-visual.full:before,
.concept-moon-visual.full:after{
  content:"";
  position:absolute;
  border-radius:50%;
  background:rgba(42,57,92,.22);
  filter:blur(.2px);
}
.concept-moon-visual.full:before{
  width:34px;
  height:34px;
  left:34%;
  top:26%;
}
.concept-moon-visual.full:after{
  width:24px;
  height:24px;
  right:30%;
  bottom:28%;
}
.concept-moon-visual.new{
  background:
    radial-gradient(circle at 83% 17%, rgba(255,255,255,.9) 0%, rgba(255,255,255,.34) 7%, transparent 18%),
    radial-gradient(circle at center,#000 0 63%,transparent 64%),
    url("../assets/eclipse.jpg") center/cover no-repeat;
  box-shadow:
    inset -16px 0 34px rgba(145,180,255,.18),
    0 0 38px rgba(125,168,255,.22);
}
.concept-moon-eq{
  color:#eef4ff;
  font-size:34px;
  line-height:1;
  opacity:.9;
  text-align:center;
  margin-top:-38px;
  text-shadow:0 0 18px rgba(165,195,255,.22);
}
.concept-moon-label{
  color:#dbe6fb;
  font:11px/1.9 Georgia,serif;
  letter-spacing:.34em;
  text-transform:uppercase;
}
.concept-moon-label span{
  display:block;
  color:#8fb3ff;
  font-size:10px;
  letter-spacing:.42em;
  margin-bottom:4px;
}

.members{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:16px;
}
.member{
  position:relative;
  height:305px;
  border:1px solid var(--line);
  background:rgba(5,12,22,.62);
  overflow:hidden;
  padding:20px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  cursor:pointer;
  transition:border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}
.member img{
  position:absolute;inset:0;
  width:100%;height:100%;object-fit:cover;
  opacity:.5;filter:saturate(.68) contrast(1.08) brightness(.78);
  transition:opacity .28s ease, filter .28s ease, transform .45s ease;
}
.member:after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 22%,rgba(2,6,12,.96) 100%);
  transition:opacity .28s ease, background .28s ease;
}
.member .num,.member h3,.member p{position:relative;z-index:1}
.member .num{font-size:26px;font-style:italic;color:#d7deef}
.member h3{margin:10px 0 6px;font-weight:400;font-size:23px}
.member p{margin:0;color:#aeb8cc;font:10px Georgia,serif;letter-spacing:.34em}
.member:hover,
.member.is-active,
.member:focus-visible{
  border-color:rgba(207,225,255,.42);
  box-shadow:0 0 0 1px rgba(207,225,255,.08), 0 12px 28px rgba(0,0,0,.22);
  transform:translateY(-2px);
}
.member:hover img,
.member.is-active img,
.member:focus-visible img{
  opacity:.98;
  filter:none;
  transform:scale(1.03);
}
.member:hover:after,
.member.is-active:after,
.member:focus-visible:after{
  opacity:.34;
}
.member:focus-visible{outline:none;}

.live-section{
  padding-top:82px;
}
.latest-next{
  display:grid;
  gap:62px;
}
.latest-live{
  display:block;
  border-top:1px solid rgba(210,226,255,.16);
  padding-top:44px;
}
.latest-live-card{
  position:relative;
  display:grid;
  grid-template-columns:180px 1fr;
  gap:36px;
  align-items:start;
  min-height:270px;
}
.latest-live-card:before{
  content:"";
  position:absolute;
  left:-150px;
  top:14px;
  width:340px;
  height:340px;
  border-radius:50%;
  background:url("../assets/eclipse.jpg") center/cover no-repeat;
  opacity:.58;
  box-shadow:0 0 46px rgba(140,180,255,.25);
  transform:rotate(180deg);
}
.latest-datebox{
  position:relative;
  z-index:1;
  width:155px;
  height:205px;
  border:1px solid rgba(210,226,255,.25);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:rgba(2,6,12,.08);
}
.latest-datebox small{font-size:11px;color:#aeb8cc}
.latest-datebox .mon{font-size:20px;color:var(--blue);font-style:italic;letter-spacing:.18em}
.latest-datebox .day{font-size:86px;line-height:.96}
.latest-datebox .dow{font-size:13px;letter-spacing:.22em}
.latest-summary{
  position:relative;
  z-index:1;
  padding-top:8px;
}
.latest-kicker{
  color:var(--blue);
  font:10px Georgia,serif;
  letter-spacing:.34em;
  margin-bottom:14px;
}
.latest-summary h2{
  font-weight:400;
  font-size:34px;
  margin:0 0 8px;
}
.latest-meta{
  font:11px Georgia,serif;
  color:#9da8be;
  letter-spacing:.28em;
  margin:12px 0 18px;
}
.latest-setlist{
  position:relative;
  z-index:1;
  color:#e6ecf8;
  font:13px/2.05 Georgia,serif;
  letter-spacing:.14em;
}
.report-inline{
  margin-top:24px;
  padding-top:22px;
  border-top:1px solid rgba(210,226,255,.12);
  display:grid;
  grid-template-columns:1fr 260px;
  gap:22px;
  align-items:start;
}
.report-inline .report-photo{
  height:132px;
  border:1px solid rgba(210,226,255,.12);
  background:url("../assets/movie_thumb.jpg") center/cover no-repeat;
  filter:saturate(.72) contrast(1.08) brightness(.68);
}
.report-inline h3{
  font-weight:400;
  font-size:18px;
  margin:0 0 10px;
}
.report-text{
  color:#c5cedd;
  font-size:12px;
  line-height:1.9;
  margin:0 0 16px;
}

.live-card{
  position:relative;
  display:grid;
  grid-template-columns:180px 1fr 330px;
  gap:36px;
  align-items:center;
  border-top:1px solid rgba(210,226,255,.16);
  padding:44px 0 0;
  min-height:270px;
}
.live-card:before{
  content:"";
  position:absolute;
  left:-150px;top:14px;
  width:340px;height:340px;border-radius:50%;
  background:url("../assets/eclipse.jpg") center/cover no-repeat;
  opacity:.58;
  box-shadow:0 0 46px rgba(140,180,255,.25);
}
.datebox{
  position:relative;
  z-index:1;
  border:1px solid rgba(210,226,255,.25);
  width:155px;height:205px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
}
.datebox small{font-size:11px;color:#aeb8cc}
.datebox .mon{font-size:20px;color:var(--blue);font-style:italic;letter-spacing:.18em}
.datebox .day{font-size:86px;line-height:.96}
.datebox .dow{font-size:13px;letter-spacing:.22em}
.badge{
  display:inline-block;
  border:1px solid rgba(110,150,255,.55);
  color:var(--blue);
  padding:5px 10px;
  margin-bottom:16px;
  font:10px Georgia,serif;
  letter-spacing:.28em;
}
.live-info h2{font-size:38px;font-weight:400;margin:0 0 8px}
.area{font:11px Georgia,serif;color:#9da8be;letter-spacing:.28em;margin-bottom:22px}
.details{font:11px Georgia,serif;color:#b8c2d5;letter-spacing:.2em;margin-bottom:22px}
.venue{
  position:relative;
  z-index:1;
  height:178px;
  border:1px solid rgba(210,226,255,.1);
  background:url("../assets/venue.jpg") center/cover no-repeat;
  filter:brightness(.42) contrast(1.08);
}
.right-link{
  text-align:right;
  color:#d8e2f5;
  font:10px Georgia,serif;
  letter-spacing:.3em;
  margin-top:18px;
}
.media{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:42px;
  border-top:1px solid rgba(210,226,255,.16);
  padding-top:38px;
}
.media-card{
  border:1px solid rgba(210,226,255,.2);
  background:rgba(4,10,18,.45);
  height:154px;
  display:grid;
  grid-template-columns:150px 1fr 48px;
  gap:22px;
  padding:16px;
  align-items:center;
}
.thumb{
  height:122px;
  border:1px solid rgba(210,226,255,.12);
  background:center/cover no-repeat;
}
.thumb.sound{background-image:url("../assets/eclipse.jpg")}
.thumb.movie{background-image:url("../assets/movie_thumb.jpg")}
.media-card h3{font-weight:400;font-size:18px;margin:0 0 8px}
.media-card p{margin:0;color:#b8c2d5;font-size:12px;line-height:1.8}
.play{
  width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;
  border:1px solid rgba(220,235,255,.45);
}

.extra{
  padding-top:92px;
}
.past-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
  align-items:stretch;
}
.past{
  border:1px solid rgba(210,226,255,.19);
  background:rgba(4,10,18,.42);
  min-height:250px;
  padding:26px;
}
.past .date{color:var(--blue);font:12px Georgia,serif;letter-spacing:.25em}
.past h3{font-size:20px;font-weight:400;margin:16px 0 8px}
.past .set{margin-top:20px;color:#d9e0ef;font:12px/1.9 Georgia,serif;letter-spacing:.13em}
.gallery-lead{
  display:grid;
  grid-template-columns:1.35fr .95fr;
  gap:22px;
  align-items:stretch;
}
.gallery-main{
  position:relative;
  min-height:380px;
  border:1px solid rgba(210,226,255,.22);
  overflow:hidden;
  background:url("../assets/gallery_main.jpg") center center/cover no-repeat;
  filter:saturate(.72) contrast(1.08) brightness(.78);
}
.gallery-main:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 45%, rgba(2,6,12,.82) 100%);
}
.gallery-copy{
  position:absolute;
  left:24px;
  bottom:22px;
  z-index:1;
}
.gallery-copy .title{
  font-weight:400;
  font-size:25px;
  margin:0 0 8px;
}
.gallery-copy .sub{
  color:#b8c2d5;
  font:11px Georgia,serif;
  letter-spacing:.22em;
}
.gallery-side{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.gallery-tile{
  position:relative;
  min-height:180px;
  border:1px solid rgba(210,226,255,.22);
  overflow:hidden;
  background:center/cover no-repeat;
  filter:saturate(.72) contrast(1.1) brightness(.76);
  transition:.22s ease;
}
.gallery-tile:hover,
.gallery-main:hover{
  filter:saturate(.82) contrast(1.08) brightness(.92);
}
.gallery-tile:after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 48%, rgba(2,6,12,.66) 100%);
}
.gallery-tile .cap{
  position:absolute;
  left:14px;
  bottom:12px;
  z-index:1;
  font:10px Georgia,serif;
  letter-spacing:.24em;
  color:#dfe6f4;
}
.gallery-tile.one{background-image:url("../assets/gallery_new_01.jpg")}
.gallery-tile.two{background-image:url("../assets/gallery_new_02.jpg")}
.gallery-tile.three{background-image:url("../assets/gallery_new_03.jpg")}
.gallery-tile.four{background-image:url("../assets/gallery_new_04.jpg")}
.gallery-tile.five{background-image:url("../assets/gallery_new_05.jpg")}
.archive-row{
  display:grid;
  grid-template-columns:260px 1fr;
  gap:52px;
  align-items:start;
}
.archive-text h2{font-weight:400;font-size:27px;margin:0 0 16px}
.archive-text p{font-size:13px;line-height:2;color:#b8c2d5}

.movie-feature{
  border:1px solid rgba(210,226,255,.20);
  background:rgba(4,10,18,.46);
  padding:18px;
}
.movie-feature-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:16px;
}
.movie-feature-title{
  font-weight:400;
  font-size:24px;
  margin:0;
}
.movie-feature-sub{
  color:#aeb8cc;
  font:11px Georgia,serif;
  letter-spacing:.22em;
}
.youtube-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  border:1px solid rgba(210,226,255,.12);
  overflow:hidden;
}
.youtube-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.video-card-link{
  display:block;
  transition:.2s ease;
}
.video-card-link:hover{
  transform:translateY(-2px);
  box-shadow:0 0 24px rgba(125,168,255,.16);
}

.video-list{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}
.video{
  border:1px solid rgba(210,226,255,.18);
  background:rgba(4,10,18,.42);
  padding:12px;
}
.video .vthumb{
  height:96px;
  position:relative;
  background:center/cover no-repeat;
  filter:brightness(.72);
}
.video .vthumb:after{
  content:"▽";
  position:absolute;left:50%;top:50%;
  transform:translate(-50%,-50%);
  width:34px;height:34px;border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  display:grid;place-items:center;
  background:rgba(0,0,0,.35);
}
.video p{font-size:10px;line-height:1.7;color:#c8d2e4;margin:10px 0 0}

footer{
  padding:88px 0 34px;
  border-top:1px solid rgba(210,226,255,.16);
}
.footer-inner{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:40px;
}
.footer-logo img{width:210px}
.tag{font-size:12px;color:#aeb8cc;font-style:italic;margin-top:10px}
.footnav{display:flex;gap:22px;font:10px Georgia,serif;letter-spacing:.32em}
.copy{text-align:center;color:#667287;font-size:10px;margin-top:38px}

@media(max-width:1100px){
  .past-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:900px){

  .wrap{padding:0 22px}
  .header .inner{height:auto;padding-bottom:16px;display:block}
  .nav{margin-top:14px;flex-wrap:wrap;gap:10px;letter-spacing:.16em}
  .hero{min-height:760px;margin-top:0}
  .hero:before{left:-210px;top:82px;width:620px;height:620px}
  .hero-img{left:0;right:0;top:92px;bottom:0;width:100%;height:auto;opacity:.72;background-position:58% center;-webkit-mask-image:none;mask-image:none}
  .hero-content{padding-top:190px;width:100%}
  .hero h1{font-size:66px}
  .hero h1 .line-2{padding-left:.35em}
  .hero h1 .line-3{padding-left:.7em}
  .band-block,.live-card,.media,.archive-row,.latest-live-card,.report-inline{grid-template-columns:1fr}
  .concept-moon{grid-template-columns:1fr;gap:18px;margin:0 auto 42px}
  .concept-moon-eq{margin-top:0}
  .concept-moon-visual{width:142px}
  .members{grid-template-columns:repeat(2,1fr)}
  .past-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .video-list{grid-template-columns:repeat(2,1fr)}
  .gallery-lead{grid-template-columns:1fr}
  .gallery-main{min-height:260px}
  .gallery-side{grid-template-columns:1fr 1fr}
  .gallery-tile{min-height:145px}
  .movie-feature-head{display:block}
  .movie-feature-sub{margin-top:8px}
  .footer-inner{display:block}
  .footnav{margin-top:32px;flex-wrap:wrap}
}


/* v20: HERO image-fixed with new visual and HTML overlay */
.hero.hero-v20{
  margin-top:0 !important;
  min-height:0 !important;
  padding:18px 0 0;
  overflow:visible;
  background:
    linear-gradient(180deg,
      #010205 0%,
      #010307 68%,
      rgba(1,3,7,0) 100%);
}
.hero.hero-v20:before,
.hero.hero-v20 .hero-img,
.hero.hero-v20 .shade,
.hero.hero-v20 .hero-content,
.hero.hero-v20 .scroll{
  display:none !important;
}
.hero-v20-wrap{max-width:1280px;padding:0 18px !important;}
.hero-v20-visual{
  position:relative;
  width:100%;
  background:#010205;
  overflow:hidden;
  box-shadow:0 10px 40px rgba(0,0,0,.20);
}
.hero-v20-visual:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  z-index:1;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    inset 0 -120px 160px rgba(1,3,7,.42),
    inset 42px 0 90px rgba(1,3,7,.18),
    inset -42px 0 90px rgba(1,3,7,.16);
}
.hero-v20-visual:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:18%;
  pointer-events:none;
  z-index:1;
  background:linear-gradient(180deg, rgba(1,3,7,0) 0%, rgba(1,3,7,.78) 100%);
}
.hero-v20-visual img{
  display:block;
  width:100%;
  height:auto;
}
.hero-v20-copy{
  position:absolute;
  left:6.8%;
  top:18.2%;
  width:40%;
  z-index:3;
}
.hero-v20-title{
  margin:0;
  color:#f4f6fb;
  font-size:102px;
  line-height:0.97;
  font-weight:400;
  letter-spacing:.01em;
  text-shadow:0 0 24px rgba(180,205,255,.14);
}
.hero-v20-title span{display:block;}
.hero-v20-title .indent-1{margin-left:28px;}
.hero-v20-title .indent-2{margin-left:58px;}
.hero-v20-en{
  margin:28px 0 8px;
  color:#d9dfeb;
  font:italic 14px/1.7 Georgia,serif;
}
.hero-v20-sub{
  margin:0 0 28px;
  color:#d9dfeb;
  font:12px/1.6 Georgia,serif;
  letter-spacing:.08em;
}
.hero-v20-actions{display:flex;gap:16px;flex-wrap:wrap;}
.hero-v20-actions .btn{
  min-width:138px;
  text-align:center;
}
.hero-v20-scroll{
  position:absolute;
  right:4.6%;
  bottom:20.5%;
  z-index:3;
  writing-mode:vertical-rl;
  color:#cfd7e5;
  font-size:10px;
  letter-spacing:.32em;
  white-space:nowrap;
  z-index:2;
}
.hero-v20-scroll:after{
  content:"";
  display:block;
  width:1px;
  height:74px;
  margin:12px auto 0;
  background:rgba(226,235,247,.65);
}
@media (max-width: 1200px){
  .hero-v20-title{font-size:82px}
}
@media (max-width: 900px){
  .hero.hero-v20{padding-top:10px}
  .hero-v20-wrap{padding:0 16px}
  .hero-v20-copy{
    left:7.5%;
    top:12%;
    width:38%;
  }
  .hero-v20-title{font-size:58px}
  .hero-v20-en{margin-top:20px;font-size:12px}
  .hero-v20-sub{font-size:11px;margin-bottom:18px}
  .hero-v20-actions{gap:10px}
  .hero-v20-actions .btn{min-width:118px;padding:12px 16px;font-size:11px}
  .hero-v20-scroll{right:3.6%;bottom:16%;font-size:10px}
  .hero-v20-scroll:after{height:62px;margin-top:10px}
}
@media (max-width: 640px){
  .hero.hero-v20{padding-top:8px}
  .hero-v20-visual:after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(180deg, rgba(2,6,12,.10) 0%, rgba(2,6,12,.24) 55%, rgba(2,6,12,.62) 100%);
    pointer-events:none;
  }
  .hero-v20-copy{
    left:7.2%;
    top:10%;
    width:52%;
  }
  .hero-v20-title{font-size:38px;line-height:0.98}
  .hero-v20-title .indent-1{margin-left:12px}
  .hero-v20-title .indent-2{margin-left:28px}
  .hero-v20-en{margin-top:14px;font-size:10px;line-height:1.5}
  .hero-v20-sub{font-size:10px;margin-bottom:14px}
  .hero-v20-actions .btn{min-width:96px;padding:10px 12px;font-size:10px}
  .hero-v20-scroll{display:none}
}
/* v27: Full Moon / New Moon graphic image version */
.concept-moon.concept-moon-image{
  display:block;
  max-width:680px;
  margin:0 auto 64px;
  padding:0;
}
.concept-moon.concept-moon-image img{
  display:block;
  width:100%;
  height:auto;
  border:0;
  filter:brightness(.92) contrast(1.04) saturate(.9);
  opacity:.96;
  mix-blend-mode:screen;
}
@media(max-width:900px){
  .concept-moon.concept-moon-image{
    max-width:100%;
    margin:0 auto 42px;
  }
}


/* v29: mobile NEXT LIVE layout fix */
@media(max-width:900px){
  .live-card{
    display:grid !important;
    grid-template-columns:150px 1fr !important;
    grid-template-areas:
      "date info"
      "venue venue" !important;
    gap:24px 22px !important;
    align-items:start !important;
    min-height:auto !important;
    padding-top:34px !important;
  }

  .live-card:before{
    left:-88px !important;
    top:12px !important;
    width:260px !important;
    height:260px !important;
  }

  .live-card .datebox{
    grid-area:date;
    width:150px !important;
    height:200px !important;
    margin:0 !important;
  }

  .live-card .live-info{
    grid-area:info;
    padding-top:14px;
    min-width:0;
  }

  .live-info h2{
    font-size:30px !important;
    line-height:1.22 !important;
    margin-bottom:12px !important;
    word-break:keep-all;
  }

  .live-info .area{
    margin-bottom:18px !important;
  }

  .live-info .details{
    line-height:1.9 !important;
    letter-spacing:.14em !important;
  }

  .live-card .venue{
    grid-area:venue;
    width:100%;
    height:190px !important;
    margin-top:12px;
  }
}

@media(max-width:520px){
  .live-card{
    grid-template-columns:138px 1fr !important;
    gap:20px 18px !important;
  }

  .live-card:before{
    left:-92px !important;
    top:18px !important;
    width:245px !important;
    height:245px !important;
  }

  .live-card .datebox{
    width:138px !important;
    height:188px !important;
  }

  .datebox .day{
    font-size:74px !important;
  }

  .live-info h2{
    font-size:26px !important;
    line-height:1.25 !important;
  }

  .live-info .details{
    font-size:10px !important;
    line-height:1.95 !important;
  }
}


/* v30: mobile NEXT LIVE stack layout like LATEST LIVE */
@media(max-width:900px){
  .live-card{
    display:block !important;
    position:relative !important;
    min-height:auto !important;
    padding-top:34px !important;
  }

  .live-card:before{
    left:-150px !important;
    top:18px !important;
    width:340px !important;
    height:340px !important;
  }

  .live-card .datebox{
    position:relative !important;
    z-index:1 !important;
    width:155px !important;
    height:205px !important;
    margin:0 0 34px 0 !important;
  }

  .live-card .live-info{
    position:relative !important;
    z-index:1 !important;
    padding-top:0 !important;
    min-width:0 !important;
  }

  .live-info h2{
    font-size:34px !important;
    line-height:1.22 !important;
    margin:0 0 12px !important;
    word-break:keep-all;
  }

  .live-info .area{
    margin-bottom:20px !important;
  }

  .live-info .details{
    font-size:11px !important;
    line-height:2 !important;
    letter-spacing:.18em !important;
  }

  .live-card .venue{
    display:block !important;
    width:100% !important;
    height:190px !important;
    margin-top:34px !important;
  }
}

@media(max-width:520px){
  .live-card:before{
    left:-155px !important;
    top:20px !important;
    width:330px !important;
    height:330px !important;
  }

  .live-card .datebox{
    width:155px !important;
    height:205px !important;
    margin-bottom:34px !important;
  }

  .live-info h2{
    font-size:32px !important;
    line-height:1.25 !important;
  }

  .live-info .details{
    font-size:10px !important;
    line-height:2 !important;
  }
}



/* v31: mobile hero copy + band message tune */
@media (max-width: 640px){
  .hero-v20-copy{
    left:5.8% !important;
    top:8.6% !important;
    width:40% !important;
  }
  .hero-v20-title{
    font-size:32px !important;
    line-height:0.94 !important;
  }
  .hero-v20-title .indent-1{margin-left:8px !important;}
  .hero-v20-title .indent-2{margin-left:16px !important;}
  .hero-v20-en{
    margin-top:10px !important;
    font-size:9px !important;
    line-height:1.45 !important;
  }
  .hero-v20-sub{
    font-size:9px !important;
    margin-bottom:12px !important;
  }
  .hero-v20-actions{
    gap:8px !important;
  }
  .hero-v20-actions .btn{
    min-width:84px !important;
    padding:8px 10px !important;
    font-size:9px !important;
  }

  .band-block{
    gap:28px !important;
  }
  .band-copy h2{
    font-size:26px !important;
    line-height:1.72 !important;
    letter-spacing:.01em !important;
    margin-bottom:16px !important;
  }
  .band-copy p{
    font-size:12px !important;
    line-height:1.95 !important;
  }
}

@media (max-width: 420px){
  .hero-v20-copy{
    left:5.2% !important;
    top:7.8% !important;
    width:41% !important;
  }
  .hero-v20-title{
    font-size:28px !important;
    line-height:0.94 !important;
  }
  .hero-v20-title .indent-1{margin-left:6px !important;}
  .hero-v20-title .indent-2{margin-left:12px !important;}
  .hero-v20-en,
  .hero-v20-sub{
    font-size:8px !important;
  }

  .band-copy h2{
    font-size:22px !important;
    line-height:1.68 !important;
  }
  .band-copy p{
    font-size:11px !important;
    line-height:1.9 !important;
  }
}


/* v32: mobile menu + hero adjustment */
.menu-toggle{
  display:none;
  width:42px;
  height:36px;
  border:1px solid rgba(225,235,255,.35);
  background:rgba(5,12,22,.38);
  color:#fff;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:6px;
  padding:0;
}
.menu-toggle span{
  display:block;
  width:20px;
  height:1px;
  background:#e6edf8;
  transition:.22s ease;
}
.menu-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(38deg);}
.menu-toggle.is-open span:nth-child(2){opacity:0;}
.menu-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-38deg);}
.social a{color:inherit;text-decoration:none}

@media(max-width:900px){
  .header .inner{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    align-items:center !important;
    gap:12px !important;
    padding-bottom:14px !important;
  }
  .menu-toggle{
    display:flex;
    grid-column:2;
    grid-row:1;
  }
  .nav{
    grid-column:1 / -1;
    grid-row:2;
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:0 !important;
    margin-top:8px !important;
    max-height:0;
    overflow:hidden;
    opacity:0;
    border-top:1px solid rgba(225,235,255,.18);
    transition:max-height .28s ease, opacity .22s ease;
  }
  .nav.is-open{
    max-height:360px;
    opacity:1;
    padding-top:12px;
  }
  .nav > a{
    display:block;
    width:100%;
    padding:12px 0;
    letter-spacing:.28em;
  }
  .nav > span:not(.social){
    display:none;
  }
  .nav .social{
    margin:12px 0 0;
    padding-top:12px;
    border-top:1px solid rgba(225,235,255,.14);
    width:100%;
    display:flex;
    gap:18px;
    letter-spacing:.24em;
  }
}

@media(max-width:640px){
  .hero-v20-copy{
    left:5.6% !important;
    top:7.5% !important;
    width:43% !important;
  }
  .hero-v20-title{
    font-size:30px !important;
    line-height:.92 !important;
  }
  .hero-v20-title .indent-1{margin-left:8px !important;}
  .hero-v20-title .indent-2{margin-left:16px !important;}
  .hero-v20-en{
    margin-top:9px !important;
    font-size:7px !important;
    line-height:1.35 !important;
  }
  .hero-v20-sub{
    font-size:7px !important;
    margin-bottom:8px !important;
  }
  .hero-v20-actions{
    display:flex !important;
    gap:6px !important;
  }
  .hero-v20-actions .btn{
    min-width:68px !important;
    height:24px !important;
    padding:0 8px !important;
    font-size:7px !important;
    letter-spacing:.18em !important;
  }
}

@media(max-width:420px){
  .hero-v20-copy{
    left:5.2% !important;
    top:7.2% !important;
    width:44% !important;
  }
  .hero-v20-title{
    font-size:28px !important;
    line-height:.92 !important;
  }
  .hero-v20-en{
    display:none;
  }
  .hero-v20-sub{
    font-size:7px !important;
    margin-top:8px !important;
    margin-bottom:8px !important;
  }
  .hero-v20-actions .btn{
    min-width:64px !important;
    height:23px !important;
    padding:0 7px !important;
    font-size:7px !important;
  }

  .band-copy h2{
    font-size:20px !important;
    line-height:1.62 !important;
  }
}


/* v12 movie lightbox */
.media-card-button{
  width:100%;
  text-align:left;
  color:inherit;
  font:inherit;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
}
.media-card-button:hover{
  transform:translateY(-2px);
  box-shadow:0 0 30px rgba(125,168,255,.16);
}
.media-card-button:focus-visible{
  outline:1px solid rgba(225,235,255,.68);
  outline-offset:4px;
}
body.is-movie-lightbox-open{
  overflow:hidden;
}
.movie-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:34px;
}
.movie-lightbox.is-open{
  display:flex;
}
.movie-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 50% 18%, rgba(95,132,205,.16), transparent 34%),
    rgba(0,3,8,.86);
  backdrop-filter:blur(8px);
}
.movie-lightbox-panel{
  position:relative;
  z-index:1;
  width:min(1040px, 92vw);
  border:1px solid rgba(210,226,255,.28);
  background:rgba(2,6,12,.94);
  box-shadow:
    0 34px 90px rgba(0,0,0,.62),
    0 0 54px rgba(125,168,255,.14),
    inset 0 0 0 1px rgba(255,255,255,.025);
  padding:22px;
}
.movie-lightbox-panel:before{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  background:linear-gradient(135deg, rgba(255,255,255,.16), transparent 22%, transparent 76%, rgba(126,168,255,.12));
  opacity:.5;
}
.movie-lightbox-close{
  position:absolute;
  right:-14px;
  top:-14px;
  width:42px;
  height:42px;
  border:1px solid rgba(225,235,255,.38);
  border-radius:50%;
  background:rgba(3,8,16,.96);
  color:#f4f7ff;
  font:24px/1 Georgia,serif;
  cursor:pointer;
  z-index:3;
}
.movie-lightbox-close:hover,
.movie-lightbox-close:focus-visible{
  box-shadow:0 0 18px rgba(130,170,255,.30);
  outline:none;
}
.movie-lightbox-head{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
  color:#dfe6f4;
}
.movie-lightbox-head span{
  color:var(--blue);
  font:10px Georgia,serif;
  letter-spacing:.42em;
}
.movie-lightbox-head strong{
  font-weight:400;
  font-size:20px;
  letter-spacing:.14em;
}
.movie-lightbox-frame{
  position:relative;
  width:100%;
  aspect-ratio:16/9;
  background:#000;
  border:1px solid rgba(210,226,255,.14);
  overflow:hidden;
}
.movie-lightbox-frame iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
@media(max-width:700px){
  .movie-lightbox{
    padding:18px;
  }
  .movie-lightbox-panel{
    width:96vw;
    padding:14px;
  }
  .movie-lightbox-head{
    display:block;
  }
  .movie-lightbox-head strong{
    display:block;
    margin-top:8px;
    font-size:16px;
  }
  .movie-lightbox-close{
    right:6px;
    top:6px;
  }
}


/* v13 movie lightbox center position fix */
.movie-lightbox{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw!important;
  height:100vh!important;
  z-index:99999!important;
  display:none!important;
  padding:0!important;
}
.movie-lightbox.is-open{
  display:block!important;
}
.movie-lightbox-backdrop{
  position:fixed!important;
  top:0!important;
  right:0!important;
  bottom:0!important;
  left:0!important;
  width:100vw!important;
  height:100vh!important;
}
.movie-lightbox-panel{
  position:fixed!important;
  left:50%!important;
  top:50%!important;
  transform:translate(-50%,-50%)!important;
  width:min(1040px,92vw)!important;
  max-height:86vh!important;
  overflow:visible!important;
}
.movie-lightbox-frame{
  width:100%!important;
  aspect-ratio:16/9!important;
}
.movie-lightbox-frame iframe{
  display:block!important;
}
@media(max-width:700px){
  .movie-lightbox-panel{
    width:94vw!important;
    max-height:88vh!important;
  }
}
