:root{--bg:#07070b;--panel:#0e0e15;--text:#f4f3f7;--muted:#a7a4b0;--cyan:#00d9ff;--pink:#ff2ea6;--line:rgba(255,255,255,.14);--display:"Barlow Condensed",sans-serif;--body:"Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--body);overflow-x:hidden}a{color:inherit;text-decoration:none}.noise{position:fixed;inset:0;pointer-events:none;opacity:.055;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}.site-header{height:72px;position:absolute;top:0;left:0;right:0;z-index:15;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;border-bottom:1px solid rgba(255,255,255,.2)}.brand{font-family:var(--display);font-weight:900;line-height:.75;letter-spacing:.05em;font-size:22px;display:grid}.brand small{font-size:12px;letter-spacing:.31em;color:var(--cyan)}nav{display:flex;gap:34px}nav a{font-family:var(--display);font-size:14px;font-weight:700;letter-spacing:.15em;position:relative}nav a:after{content:"";position:absolute;left:0;bottom:-7px;height:2px;width:0;background:var(--pink);transition:.25s}nav a:hover:after{width:100%}.menu-toggle{display:none;background:none;border:0;color:white}.hero{height:min(900px,100svh);min-height:680px;position:relative;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0 0 0 34%;background:url('assets/guest-all.jpg') 50% 23%/cover no-repeat;filter:saturate(.55) contrast(1.08)}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,var(--bg) 0%,transparent 42%),linear-gradient(0deg,var(--bg),transparent 30%)}.hero-shade{position:absolute;inset:0;background:radial-gradient(circle at 68% 38%,transparent 0 21%,rgba(7,7,11,.25) 55%,rgba(7,7,11,.88) 100%);z-index:1}.hero-lines{position:absolute;z-index:2;inset:0;background:linear-gradient(115deg,transparent 0 72%,rgba(0,217,255,.5) 72.1% 72.25%,transparent 72.35%),linear-gradient(115deg,transparent 0 77%,rgba(255,46,166,.5) 77.1% 77.25%,transparent 77.35%)}.hero-content{position:relative;z-index:3;padding:17vh 6vw 8vh;max-width:950px}.eyebrow,.kicker{font-family:var(--display);font-weight:700;letter-spacing:.3em;font-size:13px}.eyebrow:before,.kicker:before{content:"";display:inline-block;width:52px;height:2px;background:var(--cyan);vertical-align:middle;margin-right:16px}.eyebrow span{color:var(--pink)}h1{font-family:var(--display);font-size:clamp(68px,10.5vw,154px);line-height:.71;letter-spacing:-.035em;margin:48px 0 38px;font-weight:900;font-style:italic}h1 span{display:block}h1 span:nth-child(2){color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.8)}h1 em{display:block;color:var(--pink);font-size:.41em;letter-spacing:.05em;line-height:1.6}.hero-copy{font-size:clamp(18px,2vw,28px);font-weight:600;line-height:1.55;border-left:3px solid var(--cyan);padding-left:18px}.hero-copy strong{font-size:1.2em}.hero-date{display:flex;align-items:center;gap:14px;font-family:var(--display);margin-top:35px}.hero-date span{font-size:46px;font-weight:900}.hero-date b{color:var(--pink);font-size:19px}.hero-date i{width:1px;height:28px;background:var(--line)}.hero-date strong{font-size:23px;letter-spacing:.08em}.vertical-copy{position:absolute;z-index:3;right:2vw;top:50%;writing-mode:vertical-rl;font:600 11px var(--display);letter-spacing:.35em;color:rgba(255,255,255,.6)}.scroll-link{position:absolute;bottom:24px;left:6vw;font:600 11px var(--display);letter-spacing:.3em;display:flex;align-items:center;gap:15px}.scroll-link i{width:60px;height:1px;background:var(--cyan)}.section{position:relative;padding:120px max(6vw,24px);border-top:1px solid var(--line)}.section-index{position:absolute;right:4vw;top:25px;font:900 72px var(--display);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09)}.section-heading h2{font:900 clamp(54px,8vw,110px)/.85 var(--display);letter-spacing:-.02em;margin:22px 0}.section-heading h2 span{color:var(--pink)}.kicker{color:var(--muted)}.intro{display:grid;grid-template-columns:1.1fr .9fr;gap:8vw;align-items:end;min-height:540px;background:linear-gradient(135deg,#07070b 55%,#0b1116)}.intro-copy{font-size:17px;line-height:2;color:#d4d1da;max-width:620px}.intro-copy p:first-child{font-weight:700;color:#fff;font-size:20px}.guests{padding-bottom:150px}.guest-list{margin-top:70px}.guest-card{display:grid;grid-template-columns:minmax(270px,.8fr) 1.2fr;max-width:1200px;margin:0 auto 100px;position:relative}.guest-card:nth-child(even){grid-template-columns:1.2fr minmax(270px,.8fr)}.guest-card:nth-child(even) .guest-visual{order:2}.guest-visual{position:relative;height:700px;background:#16161e;overflow:hidden}.guest-visual:before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(0deg,rgba(7,7,11,.75),transparent 45%)}.guest-visual img{width:100%;height:100%;object-fit:cover;object-position:center 18%;filter:saturate(.72);transition:.7s}.guest-card:hover img{transform:scale(1.025);filter:saturate(1)}.guest-number{position:absolute;z-index:2;bottom:15px;left:22px;font:900 92px/.8 var(--display);color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.5)}.guest-body{align-self:center;padding:60px;background:var(--panel);border:1px solid var(--line)}.guest-role{font:700 12px var(--display);letter-spacing:.25em;color:var(--cyan)}.guest-name{font:900 clamp(44px,6vw,82px)/1 var(--display);margin:12px 0 20px}.guest-profile{color:var(--muted);line-height:1.9;margin-bottom:35px}.works-label{font:700 12px var(--display);letter-spacing:.18em;border-bottom:1px solid var(--line);padding-bottom:12px}.works{display:grid;gap:8px;margin-top:15px}.work-link{min-height:48px;padding:11px 15px;border:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:13px;transition:.2s}.work-link:after{content:"↗";color:var(--pink);font-size:18px}.work-link:hover{background:var(--pink);border-color:var(--pink);color:#fff}.work-link:hover:after{color:#fff}.work-link.disabled{opacity:.55;cursor:not-allowed}.entrance{background:var(--cyan);color:#03050a}.entrance .kicker{color:#243a40}.entrance .kicker:before{background:#03050a}.entrance-grid{display:grid;grid-template-columns:.75fr 1.25fr;gap:7vw}.price{font-family:var(--display);display:flex;align-items:baseline;gap:8px}.price small{font-family:var(--body);font-size:14px}.price strong{font-size:78px}.price span{font-weight:800}.benefits{align-self:center}.benefit{display:flex;gap:28px;align-items:center;padding:30px 0;border-bottom:1px solid rgba(3,5,10,.25)}.benefit-no{font:900 46px var(--display);color:transparent;-webkit-text-stroke:1px rgba(3,5,10,.45)}.benefit p{font:700 11px var(--display);letter-spacing:.17em;margin:0 0 5px}.benefit h3{font-size:20px;margin:0}.notes{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px;list-style:none;padding:25px 0 0;margin:0;font-size:12px}.notes li:before{content:"※";margin-right:5px}.option{background:linear-gradient(140deg,#09090e,#12101a)}.heading-note{color:var(--muted)}.option-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:60px}.option-card{background:#0b0b11;border:1px solid var(--line);padding:34px 30px;min-height:390px}.option-title{display:flex;align-items:baseline;gap:13px;border-bottom:1px solid var(--line);padding-bottom:20px}.option-title span{font:800 15px var(--display);color:var(--pink)}.option-title h3{font:800 29px var(--display);margin:0;letter-spacing:.04em}.option-card dl{margin:22px 0}.option-card dl div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px dotted rgba(255,255,255,.17)}.option-card dt{font-weight:600}.option-card dd{margin:0;color:var(--cyan);font:700 16px var(--display);white-space:nowrap}.option-disclaimer{text-align:right;color:var(--muted);font-size:11px}.howto{background:linear-gradient(rgba(7,7,11,.72),rgba(7,7,11,.88)),url('assets/guest-all.jpg') center 36%/cover fixed}.howto-panel{max-width:1100px;margin:auto;background:rgba(8,8,13,.0);backdrop-filter:blur(12px);border:1px solid var(--line);display:grid;grid-template-columns:.8fr 1.2fr;align-items:center;padding:60px}.howto h2{font:900 58px/1.1 var(--display);margin:15px 0}.howto-panel>p{font-size:18px;line-height:2;border-left:1px solid var(--cyan);padding-left:50px}.howto-panel strong{color:var(--cyan)}.info-wrap{max-width:1000px;margin:65px auto 0}.info-list{margin:0}.info-list div{display:grid;grid-template-columns:180px 1fr;align-items:center;padding:28px 0;border-bottom:1px solid var(--line)}.info-list dt{font:700 14px var(--display);letter-spacing:.2em;color:var(--cyan)}.info-list dd{margin:0;font-size:21px;font-weight:700}.info-list dd strong{font:800 42px var(--display)}.info-list dd span{font:800 16px var(--display);color:var(--pink);margin-left:12px}.info-notes{margin-left:180px;color:var(--muted);font-size:12px;padding-top:20px}footer{min-height:270px;background:#030306;padding:70px 6vw 35px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border-top:1px solid var(--line)}footer .brand{font-size:32px}footer .brand small{font-size:15px}footer p{font:700 17px var(--display);letter-spacing:.18em;color:var(--pink)}footer>small{margin-top:35px;color:#696772;font-size:10px}.reveal{opacity:0;transform:translateY(25px);transition:opacity .7s,transform .7s}.reveal.is-visible{opacity:1;transform:none}
@media(max-width:850px){.site-header{height:62px}.menu-toggle{display:grid;gap:7px;padding:10px}.menu-toggle span{display:block;width:25px;height:1px;background:#fff;transition:.2s}nav{display:none;position:absolute;top:62px;left:0;right:0;background:rgba(7,7,11,.97);padding:25px 5vw;flex-direction:column;gap:22px}.site-header.open nav{display:flex}.site-header.open .menu-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.site-header.open .menu-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.hero{min-height:720px}.hero-photo{inset:0;background-position:48% 28%;opacity:.62}.hero-photo:after{background:linear-gradient(90deg,rgba(7,7,11,.85),transparent 85%),linear-gradient(0deg,var(--bg),transparent 40%)}.hero-content{padding:19vh 6vw 7vh}.eyebrow{font-size:11px}h1{font-size:clamp(61px,20vw,105px);margin:56px 0 40px}.hero-copy{font-size:17px}.vertical-copy{display:none}.intro,.entrance-grid,.howto-panel{grid-template-columns:1fr}.section{padding:90px 6vw}.intro{gap:15px}.section-index{font-size:50px}.guest-card,.guest-card:nth-child(even){grid-template-columns:1fr;margin-bottom:60px}.guest-card:nth-child(even) .guest-visual{order:0}.guest-visual{height:600px}.guest-body{padding:35px 28px}.option-grid{grid-template-columns:1fr}.option-card{min-height:auto}.howto{background-attachment:scroll}.howto-panel{padding:38px 28px;gap:15px}.howto-panel>p{padding:25px 0 0;border-left:0;border-top:1px solid var(--cyan);font-size:16px}.info-list div{grid-template-columns:110px 1fr}.info-notes{margin-left:0}.notes{grid-template-columns:1fr}}
@media(max-width:520px){.hero-date{gap:9px;flex-wrap:wrap}.hero-date span{font-size:39px}.hero-date strong{font-size:19px}.hero-date i{height:23px}.guest-visual{height:510px}.guest-number{font-size:68px}.guest-name{font-size:52px}.section-heading h2{font-size:55px}.price strong{font-size:63px}.benefit{align-items:flex-start}.benefit h3{font-size:16px}.benefit-no{font-size:38px}.option-card{padding:28px 22px}.option-title h3{font-size:25px}.info-list div{grid-template-columns:90px 1fr}.info-list dd{font-size:17px}.info-list dd strong{font-size:34px}}
@media(max-width:360px){.howto-panel{padding-inline:16px}.topup-list li{grid-template-columns:40px minmax(0,1fr) auto;gap:4px;padding:10px 8px}.topup-list li>b{font-size:18px}.topup-list del{font-size:8px}.topup-list strong{font-size:17px}.topup-list li>em{font-size:8px;padding:4px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.guest-visual img{transition:none}}


/* Brand refresh — supplied Linge2 / X77 artwork */
:root{--cyan:#17cfe8;--pink:#ff079f;--purple:#b900ef;--hot:#ff3bba}
body{background:
  radial-gradient(circle at 88% 9%,rgba(185,0,239,.12),transparent 24%),
  radial-gradient(circle at 8% 42%,rgba(255,7,159,.08),transparent 22%),
  var(--bg)}
.site-header{height:94px;padding:0 3.5vw;background:linear-gradient(180deg,rgba(7,7,11,.9),rgba(7,7,11,.25));border-color:rgba(255,7,159,.28)}
.brand{display:block;line-height:1}
.brand img{display:block;width:158px;height:auto;filter:drop-shadow(0 5px 15px rgba(255,0,157,.22))}
footer .brand img{width:220px}
nav a:hover{color:#fff}
nav a:after{height:3px;background:linear-gradient(90deg,var(--purple),var(--pink))}
.hero-photo{inset:0 0 0 34%;background-position:50% 100%;filter:saturate(.72) contrast(1.06)}
.hero-shade{background:
  linear-gradient(90deg,var(--bg) 0%,rgba(7,7,11,.82) 28%,transparent 62%),
  linear-gradient(0deg,var(--bg) 0%,transparent 28%),
  radial-gradient(circle at 72% 32%,transparent 0 21%,rgba(7,7,11,.18) 58%,rgba(7,7,11,.75) 100%)}
.hero-lines{opacity:.75;background:
  linear-gradient(115deg,transparent 0 72%,rgba(23,207,232,.55) 72.1% 72.25%,transparent 72.35%),
  linear-gradient(115deg,transparent 0 77%,rgba(255,7,159,.72) 77.1% 77.35%,transparent 77.45%),
  radial-gradient(circle at 91% 19%,rgba(185,0,239,.38),transparent 10%)}
h1 em{background:linear-gradient(90deg,var(--purple),var(--pink),#ff76cb);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 36px rgba(255,7,159,.25)}
.hero-copy strong{font-family:"Dela Gothic One",var(--body);font-weight:400;background:linear-gradient(90deg,#fff 8%,#ffc4e7);-webkit-background-clip:text;background-clip:text;color:transparent}
.section-heading h2 span{background:linear-gradient(115deg,var(--purple),var(--pink));-webkit-background-clip:text;background-clip:text;color:transparent}
.guests .section-heading h2{font-family:"Dela Gothic One",var(--body);font-size:clamp(44px,6.5vw,86px);letter-spacing:-.045em;line-height:1.08}
.guest-body{border-color:rgba(255,7,159,.22);background:
  linear-gradient(145deg,rgba(185,0,239,.07),transparent 45%),
  var(--panel);box-shadow:0 25px 80px rgba(0,0,0,.3)}
.guest-role{color:var(--pink);font-family:"Dela Gothic One",var(--body);font-size:11px;letter-spacing:.08em}
.socials{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 28px}
.social-link{min-height:54px;flex:1 1 190px;display:grid;grid-template-columns:38px 1fr auto;align-items:center;gap:11px;padding:7px 13px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.035);font-size:12px;font-weight:700;transition:.25s}
.social-link img{width:38px;height:38px;object-fit:contain;border-radius:8px}
.social-link i{font-style:normal;color:var(--pink);font-size:18px}
.social-link small{color:#7d7984;font-size:10px}
.social-link:not(.disabled):hover{border-color:var(--pink);background:rgba(255,7,159,.09);transform:translateY(-2px)}
.social-link.disabled{opacity:.66}
.social-fallback{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--purple),var(--pink))}
.works{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.work-card{display:block;border:1px solid var(--line);overflow:hidden;background:#09090e;transition:.25s;min-width:0}
.work-media{display:block;aspect-ratio:16/10;overflow:hidden;background:linear-gradient(145deg,#191520,#0b0b11)}
.work-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s}
.work-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:
  radial-gradient(circle at 75% 20%,rgba(255,7,159,.22),transparent 27%),
  linear-gradient(135deg,rgba(185,0,239,.14),rgba(23,207,232,.07))}
.work-placeholder b{font:800 20px var(--display);letter-spacing:.15em;color:rgba(255,255,255,.28)}
.work-placeholder small{font-size:9px;color:#77737d}
.work-meta{display:flex;flex-direction:column;gap:5px;padding:12px}
.work-meta b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.work-meta small{font-size:10px;color:var(--pink);font-weight:700}
.work-meta i{font-style:normal}
.work-card:not(.disabled):hover{border-color:var(--pink);transform:translateY(-3px);box-shadow:0 12px 25px rgba(255,7,159,.13)}
.work-card:not(.disabled):hover .work-media img{transform:scale(1.05)}
.work-card.disabled{opacity:.62;cursor:not-allowed}
.money-ticket{display:block;width:min(100%,470px);margin:30px 0 0;box-shadow:0 16px 35px rgba(2,62,72,.22);transform:rotate(-1.5deg);border:5px solid rgba(255,255,255,.6)}
.entrance{background:
  radial-gradient(circle at 6% 92%,rgba(185,0,239,.18),transparent 25%),
  linear-gradient(120deg,#36e1ee,#10bedc);overflow:hidden}
.entrance:after{content:"OPTION MONEY";position:absolute;right:-20px;bottom:-34px;font:900 120px/1 var(--display);color:rgba(255,255,255,.13);white-space:nowrap;pointer-events:none}
.option-card{border-color:rgba(255,7,159,.18)}
.option-card:nth-child(2){border-color:rgba(185,0,239,.25)}
footer{background:
  radial-gradient(circle at 50% 100%,rgba(185,0,239,.14),transparent 40%),
  #030306}

@media(max-width:850px){
  .site-header{height:74px;padding:0 5vw;background:rgba(7,7,11,.9);backdrop-filter:blur(10px)}
  .brand img{width:122px}
  nav{top:74px}
  .hero{height:auto;min-height:900px}
  .hero-photo{inset:74px 0 auto;height:48vh;min-height:340px;background-position:center bottom;opacity:.88}
  .hero-photo:after{background:linear-gradient(0deg,var(--bg) 0%,transparent 40%),linear-gradient(90deg,rgba(7,7,11,.12),transparent 50%,rgba(7,7,11,.12))}
  .hero-shade{background:linear-gradient(0deg,var(--bg) 0 43%,transparent 68%),linear-gradient(90deg,rgba(7,7,11,.18),transparent)}
  .hero-content{padding:calc(max(48vh,340px) + 112px) 6vw 90px;max-width:none}
  .hero-content .eyebrow{position:absolute;top:350px;left:-6vw;padding:6px 9px;background:rgba(7,7,11,.68);backdrop-filter:blur(4px)}
  h1{font-size:clamp(55px,18vw,88px);margin:0 0 28px;line-height:.75}
  .hero-copy{font-size:16px}
  .scroll-link{bottom:22px}
  .guests .section-heading h2{font-size:clamp(39px,11vw,64px)}
  .works{grid-template-columns:repeat(3,minmax(0,1fr))}
  .money-ticket{margin:15px 0 40px}
}
@media(max-width:620px){
  .hero{min-height:860px}
  .hero-photo{height:43vh;min-height:310px}
  .hero-content{padding-top:calc(max(43vh,310px) + 102px)}
  .works{grid-template-columns:1fr}
  .work-card{display:grid;grid-template-columns:128px 1fr}
  .work-media{aspect-ratio:16/10}
  .work-meta{justify-content:center;padding:13px}
  .social-link{flex-basis:100%}
}
@media(max-width:420px){
  .hero{min-height:820px}
  .hero-photo{height:39vh;min-height:285px;background-size:auto 100%;background-repeat:no-repeat;background-color:#e2e4e7}
  .hero-content{padding-top:calc(max(39vh,285px) + 100px)}
  h1{font-size:53px}
  .hero-date span{font-size:36px}
  .brand img{width:112px}
}


/* 240 × 338 portrait works and HOW TO ticket placement */
.work-media{aspect-ratio:240/338}
.howto-detail{display:grid;grid-template-columns:minmax(220px,360px) 1fr;align-items:center;gap:42px;border-left:1px solid var(--cyan);padding-left:42px}
.howto-detail .money-ticket{width:100%;margin:0;transform:rotate(-1.2deg);border-width:4px}
.howto-detail p{margin:0;font-size:18px;line-height:2}
.howto-detail strong{color:var(--cyan)}
@media(max-width:850px){
  .howto-detail{grid-template-columns:1fr;border-left:0;border-top:1px solid var(--cyan);padding:28px 0 0;gap:24px}
  .howto-detail .money-ticket{width:min(100%,480px);margin:0 auto}
  .howto-detail p{font-size:16px}
}
@media(max-width:620px){
  .work-card{grid-template-columns:120px 1fr}
  .work-media{aspect-ratio:240/338}
}


/* Editorial pass: expanded HOW TO content */
.howto-panel{grid-template-columns:1fr;gap:42px;max-width:1200px;padding:clamp(34px,5vw,68px)}
.howto-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:30px}
.howto-heading .kicker{margin:0 0 8px}
.howto-heading h2{margin:0;text-align:right;font-size:clamp(42px,5.2vw,70px)}
.howto-detail{grid-template-columns:minmax(280px,.82fr) minmax(0,1.18fr);gap:clamp(38px,5vw,72px);padding-left:0;border-left:0;align-items:start}
.ticket-motion{position:relative;isolation:isolate;margin-top:8px;animation:ticketFloat 4.8s cubic-bezier(.45,.05,.55,.95) infinite;filter:drop-shadow(0 24px 35px rgba(0,207,232,.2))}
.ticket-motion:before{content:"1 TICKET = ¥500";display:block;margin:0 0 12px;font:800 13px var(--display);letter-spacing:.18em;color:var(--cyan);text-align:center}
.ticket-motion:after{content:"";position:absolute;z-index:2;inset:32px 3% 3%;pointer-events:none;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.5) 47%,transparent 63%);transform:translateX(-145%) skewX(-12deg);animation:ticketShine 4.8s ease-in-out infinite;mix-blend-mode:screen}
.ticket-motion .money-ticket{position:relative;z-index:1;width:100%;margin:0;transform:rotate(-1.2deg);border:4px solid rgba(255,255,255,.7);box-shadow:0 10px 0 rgba(0,0,0,.12)}
.howto-copy{min-width:0}
.howto-copy>p{margin:0 0 16px;color:#d8d5dd;font-size:15px;line-height:1.95}
.howto-copy .howto-lead{font-size:17px;color:#fff}
.howto-copy strong{color:var(--cyan)}
.topup-block{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.15)}
.topup-title{display:flex;align-items:center;gap:13px;margin:0 0 12px;font-weight:800;font-size:15px}
.topup-title span{display:inline-block;padding:5px 8px;background:linear-gradient(90deg,var(--purple),var(--pink));font:800 10px var(--display);letter-spacing:.14em}
.topup-list{list-style:none;display:grid;gap:8px;margin:0;padding:0}
.topup-list li{display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:14px;padding:13px 15px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.035)}
.topup-list li>b{font:800 24px var(--display);color:#fff}
.topup-list li>span{display:flex;align-items:baseline;gap:10px;min-width:0}
.topup-list del{font-size:11px;color:#86828e;text-decoration-color:var(--pink)}
.topup-list strong{font:800 23px var(--display);white-space:nowrap}
.topup-list em{font-style:normal;font-size:10px;font-weight:800;color:#09090d;background:var(--cyan);padding:5px 7px;white-space:nowrap}
.howto-copy .refund-note{margin:14px 0 0;font-size:11px;color:#9995a0}
@keyframes ticketFloat{0%,100%{transform:translateY(0) rotate(-.7deg)}50%{transform:translateY(-11px) rotate(.8deg)}}
@keyframes ticketShine{0%,35%{transform:translateX(-145%) skewX(-12deg);opacity:0}50%{opacity:.75}68%,100%{transform:translateX(145%) skewX(-12deg);opacity:0}}

@media(max-width:850px){
  .howto-panel{gap:30px}
  .howto-heading{display:block}
  .howto-heading h2{text-align:left;margin-top:14px}
  .howto-detail{grid-template-columns:1fr;padding-top:0;border-top:0;gap:32px}
  .ticket-motion{width:min(100%,540px);margin:0 auto}
  .howto-detail .money-ticket{width:100%}
}
@media(max-width:520px){
  .howto-panel{padding:32px 20px}
  .howto-heading h2{font-size:37px;line-height:1.35}
  .howto-copy .howto-lead{font-size:16px}
  .topup-list li{grid-template-columns:45px minmax(0,1fr) auto;gap:6px;padding:12px}
  .topup-list li>b{font-size:20px;grid-row:auto}
  .topup-list li>span{gap:6px;flex-wrap:nowrap}
  .topup-list strong{font-size:19px}
  .topup-list li>em{grid-column:auto;justify-self:end;font-size:9px;padding:5px 6px}
}
@media(max-width:360px){.howto-panel{padding-inline:16px}.topup-list li{grid-template-columns:40px minmax(0,1fr) auto;gap:4px;padding:10px 8px}.topup-list li>b{font-size:18px}.topup-list del{font-size:8px}.topup-list strong{font-size:17px}.topup-list li>em{font-size:8px;padding:4px}}
@media(prefers-reduced-motion:reduce){
  .ticket-motion,.ticket-motion:after{animation:none}
}

.howto-heading h2 span{white-space:nowrap}
@media(max-width:520px){.howto-heading h2{font-size:29px}.howto-heading h2 span{white-space:nowrap}}


/* Vertical hero eyebrow */
.hero-content .eyebrow{
  position:absolute;
  z-index:4;
  top:128px;
  left:1.7vw;
  margin:0;
  padding:14px 9px;
  display:flex;
  align-items:center;
  gap:11px;
  writing-mode:vertical-rl;
  text-orientation:mixed;
  white-space:nowrap;
  background:rgba(7,7,11,.7);
  border-left:1px solid rgba(255,7,159,.55);
  backdrop-filter:blur(5px);
}
.hero-content .eyebrow:before{
  width:2px;
  height:46px;
  margin:0 0 2px;
}
.hero-content .eyebrow span{display:inline-block}
@media(max-width:850px){
  .hero-content .eyebrow{
    top:94px;
    right:10px;
    left:auto;
    padding:11px 7px;
    font-size:10px;
    background:rgba(7,7,11,.74);
    border-left:0;
    border-right:1px solid rgba(255,7,159,.65);
  }
  .hero-content .eyebrow:before{height:35px}
}


/* SPECIAL GACHA */
.gacha{
  isolation:isolate;
  overflow:hidden;
  background:
    linear-gradient(90deg,rgba(7,7,11,.94) 0%,rgba(7,7,11,.78) 48%,rgba(7,7,11,.58) 100%),
    url("assets/gacha-machine.png") center 44%/cover no-repeat;
}
.gacha:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  background:
    linear-gradient(180deg,rgba(7,7,11,.32),transparent 22%,transparent 78%,rgba(7,7,11,.48)),
    radial-gradient(circle at 18% 35%,rgba(255,7,159,.13),transparent 34%);
  pointer-events:none;
}
.gacha-grid{position:relative;z-index:1;display:block;width:100%;max-width:1180px;margin:0 auto}
.gacha-content{
  width:100%;
  padding:clamp(32px,5vw,68px);
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(135deg,rgba(8,7,12,.9),rgba(13,9,17,.78));
  box-shadow:0 28px 90px rgba(0,0,0,.42);
  backdrop-filter:blur(4px);
}
.gacha-content h2{margin:18px 0 22px;font:900 clamp(64px,8vw,112px)/.78 var(--display);letter-spacing:-.035em}
.gacha-content h2 span{color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.84);text-shadow:0 0 35px rgba(255,7,159,.18)}
.gacha-lead{width:100%;margin:0 0 28px;font-size:17px;line-height:1.9;color:#e1dee5}
.gacha-price{display:flex;align-items:baseline;gap:10px;width:100%;margin:0 0 15px;padding:17px 20px;border-left:4px solid var(--pink);background:linear-gradient(90deg,rgba(255,7,159,.18),rgba(255,7,159,.02))}
.gacha-price small{font:800 14px var(--display);letter-spacing:.18em;color:var(--pink)}
.gacha-price strong{font:900 clamp(54px,6vw,82px)/.8 var(--display);color:#fff}
.gacha-price span{font-size:17px;font-weight:800}
.gacha-payment{width:100%;margin:0 0 30px;padding:12px 15px;border:1px solid rgba(23,207,232,.34);background:rgba(8,19,24,.7);font-size:14px;line-height:1.7;color:#d7f5f8}
.gacha-payment:before{content:"PAYMENT";margin-right:12px;font:800 12px var(--display);letter-spacing:.13em;color:var(--cyan)}
.gacha-prizes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.gacha-prizes article{position:relative;padding:20px 18px;border:1px solid rgba(255,255,255,.18);background:rgba(7,7,11,.68);overflow:hidden}
.gacha-prizes article:after{content:"";position:absolute;right:-18px;bottom:-18px;width:65px;height:65px;border:1px solid rgba(255,7,159,.22);border-radius:50%}
.gacha-prizes article>span{font:800 12px var(--display);letter-spacing:.18em;color:var(--pink)}
.gacha-prizes h3{margin:5px 0 13px;font-size:18px}
.gacha-prizes p{display:grid;gap:6px;margin:0}
.gacha-prizes b{font-size:13px;font-weight:700;color:#fff}
.gacha-prizes b:before{content:"◆";margin-right:6px;font-size:8px;color:var(--cyan)}
.gacha-more{width:100%;margin:12px 0 22px;padding:12px 14px;text-align:center;background:linear-gradient(90deg,var(--purple),var(--pink));font-weight:800;font-size:14px;letter-spacing:.04em}
.gacha-notes{display:grid;grid-template-columns:1fr 1fr;gap:7px 28px;width:100%;margin:0;padding:0;list-style:none;color:#bbb7c0;font-size:12px;line-height:1.65}
.gacha-notes li:before{content:"※";margin-right:5px;color:var(--cyan)}
@media(max-width:980px){
  .gacha-prizes{grid-template-columns:1fr}
  .gacha-prizes article{display:grid;grid-template-columns:70px 95px 1fr;align-items:center;padding:13px 15px}
  .gacha-prizes h3{margin:0}
  .gacha-prizes p{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
  .gacha{
    background:
      linear-gradient(180deg,rgba(7,7,11,.7),rgba(7,7,11,.9)),
      url("assets/gacha-machine.png") center 36%/cover no-repeat;
  }
  .gacha-content{padding:28px 22px;background:rgba(8,7,12,.84)}
  .gacha-content h2{font-size:clamp(58px,18vw,88px)}
  .gacha-content h2 span{display:block}
  .gacha-lead{font-size:16px}
  .gacha-price strong{font-size:65px}
  .gacha-notes{grid-template-columns:1fr}
}
@media(max-width:420px){
  .gacha-prizes article{grid-template-columns:55px 82px 1fr;padding:12px 10px}
  .gacha-prizes h3{font-size:15px}
  .gacha-prizes b{font-size:11px}
  .gacha-price{padding-inline:13px}
  .gacha-price strong{font-size:57px}
  .gacha-payment{font-size:13px}
}

/* Two-stage event and advance ticket links */
.event-title{font-size:clamp(84px,10.4vw,152px);line-height:.82;font-style:normal}
.event-title .event-title-ja{font-family:"Dela Gothic One",var(--body);font-size:.43em;line-height:1.25;letter-spacing:-.055em;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.35px rgba(255,255,255,.94);text-shadow:0 0 24px rgba(255,255,255,.12)}
.event-title .event-title-ja small{font-size:.52em;letter-spacing:-.03em}
.event-title em{font-size:.56em;line-height:1.05;margin-top:.12em}
.event-title .event-title-x{margin-top:.2em;font-size:.34em;line-height:1.15;letter-spacing:.025em;color:#fff;-webkit-text-stroke:0}
.hero-sessions{display:grid;gap:4px}
.hero-sessions strong{font-size:20px;line-height:1.15;letter-spacing:.06em}
.full-day-price{display:flex;align-items:center;gap:12px;width:max-content;max-width:100%;margin:4px 0 0;padding:10px 14px;border:1px solid rgba(3,5,10,.32);font-size:13px}
.full-day-price b{font-size:12px}
.full-day-price strong{font:900 23px var(--display)}
.session-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:8px}
.session-list article{position:relative;display:grid;gap:3px;padding:18px;border:1px solid rgba(3,5,10,.28);background:rgba(255,255,255,.25)}
.session-list small{font:800 11px var(--display);letter-spacing:.15em}
.session-list strong{font:900 23px var(--display)}
.session-list em{font-style:normal;font-size:12px;font-weight:800}
.session-list span{position:absolute;top:12px;right:12px;padding:5px 8px;background:#07070b;color:#fff;font-size:11px;font-weight:800}
.advance-sales{margin-top:30px;padding:24px;border:1px solid rgba(3,5,10,.28);background:rgba(255,255,255,.22)}
.advance-sales>p:not(.advance-title){margin:0 0 16px;font-size:13px;line-height:1.7}
.advance-title{display:flex;align-items:center;gap:12px;margin:0 0 8px;font-size:18px;font-weight:900}
.advance-title span{padding:6px 8px;background:#07070b;color:var(--cyan);font:800 11px var(--display);letter-spacing:.14em}
.advance-links{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.advance-link{position:relative;display:grid;gap:2px;min-height:82px;padding:15px 42px 15px 16px;background:#07070b;color:#fff;border:1px solid #07070b;transition:transform .2s,background .2s}
.advance-link:after{content:"↗";position:absolute;right:16px;top:50%;translate:0 -50%;font-size:22px;color:var(--pink)}
.advance-link b{font:800 12px var(--display);letter-spacing:.15em;color:var(--cyan)}
.advance-link span{font-size:14px;font-weight:800}
.advance-link small{font-size:10px;color:#8d8993}
.advance-link:not(.disabled):hover{transform:translateY(-2px);background:#21101d}
.advance-link.disabled{cursor:not-allowed;opacity:.68}
.advance-link.disabled:after{content:"—";color:#77737d}
.info-sessions{display:flex;flex-wrap:wrap;gap:12px 26px}
.info-sessions strong{font-size:34px}
.info-notes p{margin:0 0 7px}
@media(max-width:850px){
  .event-title{font-size:clamp(68px,19vw,94px);line-height:.84}
  .event-title .event-title-ja{font-size:.43em}
  .event-title .event-title-x{font-size:.34em}
  .hero-sessions strong{font-size:17px}
}
@media(max-width:620px){
  .session-list,.advance-links{grid-template-columns:1fr}
  .session-list strong{font-size:21px}
  .advance-sales{padding:20px 16px}
  .info-sessions{display:grid;gap:4px}
  .info-sessions strong{font-size:24px}
}
@media(max-width:420px){
  .event-title{font-size:clamp(61px,18vw,76px)}
  .event-title .event-title-ja{font-size:.42em}
  .event-title .event-title-x{font-size:.35em}
  .hero-copy strong{font-size:1.08em}
  .hero-date{align-items:flex-start}
  .hero-sessions{width:100%;margin-top:5px;padding-left:0}
  .full-day-price{width:100%;justify-content:space-between}
  .price strong{font-size:57px}
}
