/* 特色款・霓虹夜色：深紫黑底、桃紅與青色霓虹字、招牌微微閃爍，往下捲時區塊標題一盞一盞亮起來。 */
.s-neon { --bg: #0d0a16; --bg2: #151022; --fg: #ece8f6; --muted: #a59fba; --line: #2a2240; --accent: #ff3fa4; --on-accent: #0d0a16; --card: #161126;
  --radius: 14px; --radius-btn: 999px; --head-weight: 800; --h1: clamp(2.6rem, 9vw, 6rem); color-scheme: dark; --glow-a: #ff3fa4; --glow-b: #2ee6ff; }
.s-neon .top { background: rgba(13, 10, 22, .85); border-bottom: 1px solid var(--line); }
.s-neon .brand b { text-shadow: 0 0 8px var(--glow-a); }
.hero-neon { min-height: min(86vh, 760px); display: grid; align-items: center; text-align: center; position: relative;
  background: linear-gradient(rgba(13, 10, 22, .72), rgba(13, 10, 22, .9)), var(--hero, none) center / cover, #0d0a16; }
.hero-neon::after { content: ""; position: absolute; inset: auto 0 0; height: 120px; background: linear-gradient(transparent, var(--bg)); }
.neon-in { position: relative; z-index: 1; padding-block: 60px; }
.neon-sign { color: #fff; letter-spacing: .08em;
  text-shadow: 0 0 4px #fff, 0 0 12px var(--glow-a), 0 0 28px var(--glow-a), 0 0 60px var(--glow-a); }
.s-neon .hero-en { color: var(--glow-b); letter-spacing: .5em; text-shadow: 0 0 10px var(--glow-b); }
.s-neon .hero-lede { color: #cfc8e4; margin-inline: auto; }
.s-neon .hero-act { justify-content: center; }
@media (prefers-reduced-motion: no-preference) { .neon-sign { animation: flicker 6s infinite; } }
@keyframes flicker { 0%, 18%, 22%, 25%, 53%, 57%, 100% { opacity: 1; } 20%, 24%, 55% { opacity: .55; } }
.s-neon .btn { background: transparent; color: #fff; border: 2px solid var(--glow-a); box-shadow: 0 0 12px var(--glow-a), inset 0 0 12px rgba(255, 63, 164, .4); }
.s-neon .btn-2 { border-color: var(--glow-b); box-shadow: 0 0 12px var(--glow-b), inset 0 0 12px rgba(46, 230, 255, .3); }
.s-neon .sec-h { text-align: center; }
.s-neon .sec-h span { color: #fff; text-shadow: 0 0 6px var(--glow-b), 0 0 20px var(--glow-b); }
.s-neon .sec:nth-of-type(even) .sec-h span { text-shadow: 0 0 6px var(--glow-a), 0 0 20px var(--glow-a); }
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .s-neon .sec-h span { animation: lightup linear both; animation-timeline: view(); animation-range: entry 10% cover 35%; }
  }
}
@keyframes lightup { from { color: #3a3150; text-shadow: none; } 60% { color: #6d6390; text-shadow: none; } }
.s-neon .card, .s-neon .person, .s-neon .ev-card { background: var(--card); border: 1px solid var(--line); }
.s-neon .card:hover { border-color: var(--glow-a); box-shadow: 0 0 18px rgba(255, 63, 164, .35); }
.s-neon .card .price { color: var(--glow-b); text-shadow: 0 0 8px rgba(46, 230, 255, .6); }
.s-neon .grp-h { color: var(--glow-b); }
.s-neon .pic { border: 1px solid var(--line); background: var(--card); }
.s-neon .pic img { filter: saturate(1.15) contrast(1.05); }
.s-neon .day { border-color: var(--line); }
.s-neon .day i { border-color: var(--glow-a); color: #fff; }
.s-neon .person .ini { background: transparent; color: var(--glow-a); border: 2px solid var(--glow-a); box-shadow: 0 0 10px var(--glow-a); }
.s-neon .notice { background: transparent; color: var(--glow-b); border-block: 1px solid var(--line); }
.s-neon .info b { color: var(--muted); }
.s-neon .foot { background: #08060e; border-top: 1px solid var(--line); }
.s-neon .foot-name { color: #fff; text-shadow: 0 0 8px var(--glow-a); }
