:root {
  --space: #edf4f8;
  --space-2: #dceaf2;
  --panel: #fffdf9;
  --ink: #1b2a3d;
  --muted: #607184;
  --gold: #ad7929;
  --gold-soft: #8d611f;
  --cyan: #2d7f9b;
  --line: rgba(30, 55, 82, .17);
  --font: "Noto Sans JP", sans-serif;
  --latin: "Inter", sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
[id] { scroll-margin-top: 96px; }
body { margin: 0; background: radial-gradient(circle at 8% 18%,rgba(255,255,255,.82) 0 1px,transparent 1.5px) 0 0/190px 190px,radial-gradient(circle at 74% 12%,rgba(173,121,41,.35) 0 1px,transparent 1.5px) 0 0/270px 270px,linear-gradient(180deg,#91b6d1 0,#dbe8f0 27%,#fff9ef 63%,#f1f7fa 100%); color: var(--ink); font-family: var(--font); line-height: 1.8; overflow-x: hidden; }
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 84% 8%,rgba(255,244,214,.42),transparent 24%),radial-gradient(circle at 12% 38%,rgba(255,255,255,.34),transparent 28%); }
body.lightbox-open { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
.site-header { min-height: 76px; padding: 0 4vw; display: flex; align-items: center; justify-content: space-between; gap: 2rem; background: rgba(248,251,252,.86); backdrop-filter: blur(18px); border-bottom: 1px solid var(--line); position: sticky; top: 0; z-index: 20; }
.brand { display: flex; align-items: baseline; gap: .7rem; text-decoration: none; font-family: var(--latin); }
.brand-main { font-size: 1.8rem; font-weight: 500; letter-spacing: .1em; }
.brand-sub { color: var(--cyan); font-size: .9rem; font-weight: 500; letter-spacing: .1em; }
.global-nav { display: flex; gap: 1.6rem; font-size: .82rem; font-weight: 600; }
.global-nav a { text-decoration: none; color: #344b61; }
.global-nav a:hover { color: var(--cyan); }
.menu-button { display: none; color: var(--ink); border: 1px solid var(--line); background: transparent; padding: .5rem .8rem; }
.intro { min-height: 74vh; padding: clamp(5rem,10vw,9rem) max(5vw,calc((100vw - 1180px)/2)); display: grid; grid-template-columns: minmax(0,1fr) minmax(310px,.65fr); align-items: center; gap: 4rem; border-bottom: 1px solid var(--line); background: radial-gradient(circle at 78% 34%,rgba(69,126,160,.2),transparent 31%),radial-gradient(circle at 10% 92%,rgba(240,188,112,.28),transparent 34%),linear-gradient(145deg,rgba(145,183,211,.7),rgba(255,249,237,.88)); }
.eyebrow { margin: 0 0 1rem; font-family: var(--latin); color: var(--cyan); font-size: .76rem; font-weight: 700; letter-spacing: .22em; }
.intro h1 { margin: 0; max-width: 820px; font-size: clamp(2.5rem,6vw,5.7rem); line-height: 1.18; letter-spacing: -.055em; }
.lead { max-width: 650px; margin: 2rem 0 0; color: var(--muted); font-size: 1.05rem; }
.orbit-legend { display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; margin-top: 2rem; color: var(--muted); font: 600 .7rem/1 var(--latin); letter-spacing: .12em; }
.planet-dot, .satellite-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 14px var(--gold); }
.satellite-dot { margin-left: 1rem; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); }
.orbit-map { position: relative; min-height: 390px; aspect-ratio: 1; display: grid; place-items: center; }
.orbit { position: absolute; top: 50%; left: 50%; border: 1px solid rgba(38,72,102,.26); border-radius: 50%; }
.orbit-planet-inner { z-index: 3; width: 48%; height: 29%; transform: translate(-50%,-50%) rotate(17deg); }
.orbit-planet-outer { z-index: 2; width: 72%; height: 44%; transform: translate(-50%,-50%) rotate(-13deg); }
.orbit-satellite-path { z-index: 1; width: 96%; height: 63%; transform: translate(-50%,-50%) rotate(25deg); border-color: rgba(45,127,155,.42); border-style: dashed; }
.core { position: relative; z-index: 5; width: 120px; height: 120px; border-radius: 50%; display: grid; place-content: center; text-align: center; background: radial-gradient(circle at 35% 30%,#fffdf8,#bcd2e1 72%); border: 1px solid rgba(41,75,104,.25); box-shadow: 0 0 55px rgba(255,243,205,.65); }
.core strong { font: 700 .88rem/1.2 var(--latin); letter-spacing: .12em; }
.core span { color: var(--cyan); font: 600 .58rem/1.5 var(--latin); letter-spacing: .16em; }
.orbital { position: absolute; width: 46px; height: 46px; border-radius: 50%; display: grid; place-items: center; z-index: 2; font: 700 .68rem/1 var(--latin); }
.planet-one { top: 9%; left: 79%; transform: translate(-50%,-50%) rotate(-17deg); background: radial-gradient(circle at 34% 30%,#f8fbeb 0 8%,#6ea8c4 9% 42%,#4d8b75 43% 55%,#2c6587 56% 100%); color: #fff; border: 1px solid rgba(38,84,109,.35); box-shadow: 0 0 0 4px rgba(223,235,242,.88),0 0 24px rgba(84,148,177,.34); text-shadow: 0 1px 4px rgba(14,45,64,.7); }
.planet-two { top: 97%; left: 33%; width: 42px; height: 42px; transform: translate(-50%,-50%) rotate(13deg); background: radial-gradient(circle at 34% 30%,#f3c28f,#c96f49 44%,#8e402f 100%); color: #fff8ee; border: 1px solid rgba(132,60,40,.3); box-shadow: 0 0 0 4px rgba(239,236,226,.9),0 0 24px rgba(190,101,67,.3); text-shadow: 0 1px 4px rgba(77,31,23,.6); }
.satellite-one { top: 41%; left: 1%; width: 30px; height: 22px; border-radius: 4px; background: linear-gradient(145deg,#f7f2df,#b7893e); color: #234c62; border: 1px solid rgba(96,70,27,.35); box-shadow: 0 0 20px rgba(45,127,155,.3); transform: translate(-50%,-50%) rotate(-8deg); font-size: .58rem; }
.satellite-one::before, .satellite-one::after { content: ""; position: absolute; top: 4px; width: 18px; height: 12px; border: 1px solid rgba(27,73,96,.4); background: repeating-linear-gradient(90deg,#4c8eaa 0 4px,#b8d8e4 4px 6px); }
.satellite-one::before { right: calc(100% + 3px); }
.satellite-one::after { left: calc(100% + 3px); }
.section { max-width: 1180px; margin: 0 auto; padding: clamp(5rem,9vw,9rem) 1.5rem; }
.section-heading { margin-bottom: 2.7rem; }
.section-heading h2 { margin: 0; font-size: clamp(2rem,4vw,3.5rem); line-height: 1.25; letter-spacing: -.035em; }
.section-heading > p:last-child:not(.eyebrow) { color: var(--muted); }
.system-lead { max-width: 860px; line-height: 2; }
.system-lead strong { color: var(--ink); font-size: 1.08em; }
.latest-card { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); border: 1px solid var(--line); background: linear-gradient(145deg,rgba(255,255,255,.9),rgba(246,238,221,.88)); box-shadow: 0 28px 70px rgba(52,76,98,.14); }
.latest-card.poster-layout { grid-template-columns: minmax(300px,.8fr) minmax(340px,1.2fr); }
.teaser-stage { position: relative; min-height: 480px; display: grid; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 50%,rgba(119,217,238,.18),transparent 22%), radial-gradient(circle at 62% 35%,rgba(158,140,255,.22),transparent 34%), #080b18; }
.latest-visual { text-decoration: none; }
.latest-visual img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.poster-layout .latest-visual { min-height: 0; background: #f7f6f2; }
.poster-layout .latest-visual img { height: auto; min-height: 0; aspect-ratio: 1122 / 1402; object-fit: contain; }
.teaser-stage.latest-visual::before { display: none; }
.teaser-stage.latest-visual::after { content: ""; position: absolute; inset: 0; width: auto; height: auto; border-radius: 0; transform: none; opacity: 1; background: linear-gradient(180deg,transparent 72%,rgba(21,45,68,.2)); box-shadow: none; }
.media-badge { position: absolute; z-index: 2; left: 1.2rem; bottom: 1.2rem; padding: .55rem .8rem; background: rgba(25,48,70,.88); border: 1px solid rgba(255,244,214,.68); color: #fff8e8; font: 700 .68rem/1 var(--latin); letter-spacing: .14em; }
.teaser-stage::before, .teaser-stage::after { content: ""; position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #fff; box-shadow: 90px -80px #fff, -140px 100px rgba(255,255,255,.7), 180px 120px rgba(119,217,238,.8), -210px -110px rgba(255,255,255,.45); }
.teaser-stage::after { transform: translate(40px,70px); opacity: .55; }
.teaser-orbit { position: absolute; width: 66%; height: 42%; border: 1px solid rgba(119,217,238,.35); border-radius: 50%; transform: rotate(-22deg); }
.teaser-copy { position: relative; text-align: center; }
.teaser-copy span, .teaser-copy small { display: block; color: var(--muted); font: 600 .68rem/1.5 var(--latin); letter-spacing: .2em; }
.teaser-copy strong { display: block; margin: .8rem 0; font: 700 clamp(1.8rem,4vw,3.2rem)/1 var(--latin); letter-spacing: .08em; }
.latest-body { padding: clamp(2rem,5vw,4.5rem); align-self: center; }
.series-label { margin: 0; color: var(--cyan); font-size: .76rem; font-weight: 700; letter-spacing: .09em; }
.latest-body h3 { margin: .7rem 0 1.4rem; font-size: clamp(1.7rem,3vw,2.65rem); line-height: 1.45; }
.latest-body h3 span { font-size: .64em; color: var(--gold-soft); }
.latest-body > p:not(.series-label) { color: var(--muted); }
.event-meta { margin: 1.8rem 0; border-top: 1px solid var(--line); }
.event-meta div { display: grid; grid-template-columns: 5rem 1fr; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.event-meta dt { font-weight: 700; }
.event-meta dd { margin: 0; }
.button { display: inline-flex; gap: 1rem; justify-content: space-between; align-items: center; min-width: 240px; margin-top: .8rem; padding: .9rem 1.1rem; border: 1px solid var(--cyan); background: rgba(119,217,238,.08); text-decoration: none; font-weight: 700; }
.button:hover { background: var(--cyan); color: #f8fcff; }
.system-section { max-width: none; padding-left: max(1.5rem,calc((100vw - 1180px)/2)); padding-right: max(1.5rem,calc((100vw - 1180px)/2)); border-top: 1px solid var(--line); }
.orbit-group { margin-top: 4rem; padding: clamp(2rem,5vw,4rem); border: 1px solid var(--line); background: rgba(255,253,249,.74); backdrop-filter: blur(12px); box-shadow: 0 18px 48px rgba(48,74,96,.08); }
.planet-group { box-shadow: inset 3px 0 0 var(--gold); }
.satellite-group { box-shadow: inset 3px 0 0 var(--cyan); }
.group-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; align-items: end; margin-bottom: 2.5rem; }
.group-intro h3 { margin: 0; font-size: clamp(1.7rem,3vw,2.7rem); }
.group-intro > p { margin: 0; color: var(--muted); }
.series-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.series-card { position: relative; display: flex; flex-direction: column; min-height: 520px; overflow: hidden; background: rgba(255,255,255,.9); border: 1px solid var(--line); text-decoration: none; transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.series-card:hover { transform: translateY(-5px); border-color: rgba(213,170,91,.7); }
.classification { position: absolute; top: 1rem; left: 1rem; z-index: 2; padding: .4rem .7rem; background: rgba(255,253,248,.9); border: 1px solid rgba(173,121,41,.5); color: var(--gold-soft); font: 700 .67rem/1 var(--latin); letter-spacing: .1em; }
.series-thumb { height: 285px; overflow: hidden; }
.series-thumb img { width: 100%; height: 100%; object-fit: cover; opacity: .84; transition: transform .45s ease,opacity .45s ease; }
.series-card:hover .series-thumb img { transform: scale(1.035); opacity: 1; }
.series-content { padding: 2rem; display: flex; flex: 1; flex-direction: column; }
.series-content p { min-height: 2rem; margin: 0; color: var(--muted); font-size: .82rem; }
.series-content h3 { margin: .8rem 0 2rem; font-size: 1.55rem; line-height: 1.5; }
.text-link { margin-top: auto; padding-top: 1rem; border-top: 1px solid var(--line); font-weight: 700; font-size: .9rem; }
.satellite-list { border-top: 1px solid rgba(119,217,238,.45); }
.satellite-list > a, .satellite-list > div { display: grid; grid-template-columns: 5rem 1fr auto; gap: 1.5rem; align-items: center; padding: 1.5rem .3rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.satellite-list > a:hover strong { color: var(--cyan); }
.sat-mark { width: 3.5rem; height: 3.5rem; border: 1px solid rgba(119,217,238,.55); border-radius: 50%; display: grid; place-items: center; color: var(--cyan); font: 700 .7rem/1 var(--latin); }
.satellite-list small { display: block; color: var(--cyan); font: 600 .67rem/1.5 var(--latin); letter-spacing: .14em; }
.satellite-list strong { display: block; font-size: 1.15rem; }
.satellite-list p { margin: .15rem 0 0; color: var(--muted); font-size: .85rem; }
.archive-section { border-top: 1px solid var(--line); }
.archive-list { border-top: 1px solid rgba(30,55,82,.38); }
.archive-list > a, .archive-list > div { display: grid; grid-template-columns: 9rem 1fr auto; gap: 2rem; align-items: center; padding: 1.4rem .2rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.archive-list a:hover strong { color: var(--cyan); }
.archive-list time, .archive-list span { font-size: .78rem; font-family: var(--latin); color: var(--muted); }
.official-links-section { border-top: 1px solid var(--line); }
.official-link-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.official-link-card { min-height: 190px; padding: clamp(1.5rem,4vw,2.5rem); display: flex; flex-direction: column; justify-content: space-between; border: 1px solid var(--line); background: rgba(255,255,255,.78); text-decoration: none; box-shadow: 0 16px 42px rgba(48,74,96,.08); transition: transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.official-link-card:hover { transform: translateY(-4px); border-color: var(--cyan); box-shadow: 0 22px 52px rgba(48,74,96,.14); }
.official-link-card small { color: var(--cyan); font: 700 .7rem/1.4 var(--latin); letter-spacing: .14em; }
.official-link-card strong { margin: .8rem 0 1.4rem; font-size: clamp(1.25rem,2.4vw,1.8rem); }
.official-link-card span { color: var(--muted); font-size: .88rem; }
.suzuri-link { background: linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,244,220,.82)); }
.site-footer { padding: 3rem max(1.5rem,calc((100vw - 1180px)/2)); background: rgba(218,232,241,.9); border-top: 1px solid var(--line); display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: end; }
.site-footer > div:first-child { display: flex; flex-direction: column; }
.site-footer strong { font: 700 1.3rem/1.2 var(--latin); letter-spacing: .12em; }
.site-footer span, .site-footer small { color: #637587; font-size: .72rem; }
.footer-links { display: flex; gap: 1.4rem; font-size: .8rem; }
.site-footer small { grid-column: 1/-1; }
.sub-main { min-height: 70vh; }
.sub-hero { padding: clamp(4.5rem,9vw,8rem) max(1.5rem,calc((100vw - 1180px)/2)); border-bottom: 1px solid var(--line); background: radial-gradient(circle at 82% 25%,rgba(119,217,238,.15),transparent 30%),var(--space-2); }
.breadcrumb { margin: 0 0 3.5rem; display: flex; align-items: center; flex-wrap: wrap; gap: .7rem; color: var(--muted); font-size: 1rem; line-height: 1.5; }
.breadcrumb a { display: inline-flex; align-items: center; gap: .4rem; padding: .58rem .9rem; border: 1px solid currentColor; border-radius: 999px; background: rgba(255,255,255,.58); color: var(--cyan); font-weight: 700; text-decoration: none; box-shadow: 0 5px 16px rgba(48,74,96,.08); transition: transform .2s ease,background .2s ease; }
.breadcrumb a::before { content: "←"; font-family: var(--latin); }
.breadcrumb a:hover { transform: translateX(-3px); background: rgba(255,255,255,.9); }
.sub-hero-grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(260px,.55fr); gap: clamp(2rem,7vw,6rem); align-items: end; }
.sub-hero h1 { margin: 0; font-size: clamp(2.5rem,6vw,5.2rem); line-height: 1.25; letter-spacing: -.05em; }
.sub-hero .lead { margin-top: 1.5rem; }
.sub-visual { min-height: 300px; overflow: hidden; border: 1px solid var(--line); background: #e7f0f5; }
.sub-visual img { width: 100%; height: 100%; object-fit: cover; opacity: .88; }
.series-stamp { display: inline-block; margin-top: 2rem; padding: .55rem .8rem; border: 1px solid currentColor; font: 700 .68rem/1 var(--latin); letter-spacing: .14em; }
.sub-visual.snow { display: grid; place-content: center; background: radial-gradient(circle at 50% 50%,rgba(119,217,238,.3),transparent 20%),linear-gradient(145deg,#0d1c38,#384b76); font-size: clamp(4rem,10vw,8rem); }
.detail-grid { display: grid; grid-template-columns: minmax(0,.7fr) minmax(0,1.3fr); gap: clamp(2.5rem,8vw,7rem); }
.detail-grid h2 { margin: 0; font-size: clamp(1.8rem,3.5vw,3rem); line-height: 1.35; }
.detail-copy { color: #34485b; }
.detail-copy p:first-child { margin-top: 0; }
.history { margin-top: 3rem; border-top: 1px solid rgba(30,55,82,.38); }
.history article { display: grid; grid-template-columns: 7rem 1fr; gap: 1.5rem; padding: 1.6rem 0; border-bottom: 1px solid var(--line); }
.history time { color: var(--gold); font: 700 .9rem/1.8 var(--latin); }
.history h3 { margin: 0 0 .5rem; font-size: 1.2rem; }
.history p { margin: 0 0 .9rem; color: var(--muted); }
.notice { margin-top: 2rem; padding: 1.3rem 1.5rem; border-left: 3px solid var(--cyan); background: rgba(119,217,238,.08); color: var(--muted); }
.schedule-card { margin: 1.8rem 0 .5rem; border-top: 1px solid var(--line); }
.schedule-card div { display: grid; grid-template-columns: 5.5rem 1fr; gap: 1rem; padding: .65rem 0; border-bottom: 1px solid var(--line); }
.schedule-card dt { color: var(--cyan); font-weight: 700; }
.schedule-card dd { margin: 0; }
.media-section, .record-section, .promo-section, .artist-section, .story-section { border-top: 1px solid var(--line); }
.featured-video { display: block; width: 100%; height: auto; max-height: none; aspect-ratio: 16 / 9; object-fit: contain; background: #000; border: 1px solid var(--line); }
.poster-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1.5rem; align-items: start; }
.poster-grid figure, .video-grid figure, .artist-grid figure { margin: 0; border: 1px solid var(--line); background: rgba(255,255,255,.82); overflow: hidden; box-shadow: 0 12px 34px rgba(48,74,96,.08); }
.poster-grid img { width: 100%; height: auto; }
figcaption { padding: .75rem 1rem; color: var(--muted); font-size: .78rem; }
.video-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.video-grid video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.artist-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.artist-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.story-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.story-grid img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border: 1px solid var(--line); }
.story-image-link { position: relative; display: block; overflow: hidden; color: #fff; text-decoration: none; cursor: zoom-in; }
.story-image-link img { transition: transform .3s ease,filter .3s ease; }
.story-image-link span { position: absolute; right: .8rem; bottom: .8rem; padding: .45rem .7rem; border-radius: 999px; background: rgba(24,42,67,.78); color: #fff; font-size: .78rem; font-weight: 700; backdrop-filter: blur(6px); }
.story-image-link:hover img { transform: scale(1.025); filter: brightness(.94); }
.story-image-link:focus-visible { outline: 3px solid #2d7f9b; outline-offset: 4px; }
.story-lightbox { width: min(96vw,1500px); max-width: none; max-height: 96vh; margin: 0; padding: 3.2rem 1rem 1rem; border: 0; background: transparent; overflow: visible; }
.story-lightbox[open] { position: fixed; top: 50%; left: 50%; display: grid; place-items: center; transform: translate(-50%,-50%); }
.story-lightbox::backdrop { background: rgba(8,15,29,.88); backdrop-filter: blur(8px); }
.story-lightbox img { display: block; width: auto; max-width: 100%; max-height: calc(96vh - 5rem); margin: auto; border-radius: 18px; box-shadow: 0 24px 80px rgba(0,0,0,.45); }
.story-lightbox-close { position: absolute; top: 0; right: 1rem; min-width: 5rem; padding: .6rem .9rem; border: 1px solid rgba(255,255,255,.7); border-radius: 999px; background: rgba(24,42,67,.9); color: #fff; font: 700 .86rem/1.2 var(--font); cursor: pointer; }
.setlist { counter-reset: songs; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(30,55,82,.38); }
.setlist li { position: relative; padding: 1rem 1rem 1rem 3.6rem; border-bottom: 1px solid var(--line); color: #34485b; }
.setlist li::before { counter-increment: songs; content: counter(songs,decimal-leading-zero); position: absolute; left: .6rem; color: var(--cyan); font: 700 .72rem/2.4 var(--latin); }
.history-kicker { margin-bottom: .3rem !important; color: var(--cyan) !important; font: 700 .68rem/1.5 var(--latin); letter-spacing: .14em; }
.history-links { display: flex; flex-wrap: wrap; align-items: center; gap: 1.2rem; }
.history-links .button { margin-top: .3rem; }
.value-section { border-top: 1px solid var(--line); }
.value-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1rem; }
.value-grid-three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.value-grid article { position: relative; min-height: 210px; padding: 1.5rem; border: 1px solid var(--line); background: rgba(255,255,255,.72); box-shadow: 0 12px 34px rgba(48,74,96,.07); }
.value-grid article > span { color: var(--gold); font: 700 .72rem/1 var(--latin); letter-spacing: .12em; }
.club-crest { display: block; width: min(100%,180px); aspect-ratio: 1; margin: 1rem auto .8rem; border-radius: 12px; object-fit: contain; box-shadow: 0 10px 24px rgba(39,70,59,.12); }
.club-crest + h3 { margin-top: .8rem; }
.value-grid h3 { margin: 2rem 0 .55rem; font-size: 1.15rem; }
.value-grid p { margin: 0; color: var(--muted); font-size: .88rem; }
.value-grid .value-label { margin: -.3rem 0 .8rem; color: var(--cyan); font-weight: 700; }
.record-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .8rem; margin: 1.4rem 0; }
.record-stats div { padding: 1rem; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.64); }
.record-stats strong, .record-stats span { display: block; }
.record-stats strong { margin-bottom: .25rem; color: var(--gold-soft); font-size: 1.05rem; }
.record-stats span { color: var(--muted); font-size: .76rem; line-height: 1.6; }
.next-orbit { margin-top: 1.5rem; padding: 1.6rem 1.8rem; border: 1px dashed var(--gold); border-radius: 16px; background: rgba(255,255,255,.5); }
.next-orbit h3 { margin: 0 0 .4rem; }
.next-orbit p:last-child { margin: 0; color: var(--muted); }

/* Planet series identities */
.comic-series {
  --ink: #273c28;
  --muted: #5d6a4f;
  --gold: #d48713;
  --gold-soft: #a95c0a;
  --cyan: #287b9b;
  --line: rgba(58,81,42,.19);
  background: linear-gradient(180deg,#dff2ff 0,#fff8d7 34%,#f7f1dc 100%);
}
.comic-series::before { background: radial-gradient(circle at 12% 18%,rgba(255,255,255,.8),transparent 24%),radial-gradient(circle at 86% 72%,rgba(246,193,58,.2),transparent 30%); }
.comic-series .site-header { background: rgba(255,250,224,.92); }
.comic-series .sub-hero { background: radial-gradient(circle at 12% 8%,rgba(255,255,255,.86),transparent 25%),linear-gradient(155deg,#bde5fa 0,#eef7d7 48%,#ffe1aa 100%); }
.comic-series .sub-hero-grid { grid-template-columns: minmax(0,.8fr) minmax(420px,1.2fr); align-items: center; }
.comic-series .sub-hero h1 { color: #314b2e; text-shadow: 0 2px 0 rgba(255,255,255,.6); }
.comic-series .breadcrumb a { color: #2f6f43; }
.comic-series .sub-visual { min-height: 0; aspect-ratio: 16/10; border: 8px solid rgba(255,255,255,.78); border-radius: 26px; box-shadow: 0 24px 60px rgba(75,95,54,.2); transform: rotate(1.2deg); }
.comic-series .sub-visual img { opacity: 1; object-position: center; }
.series-slideshow { position: relative; }
.series-slideshow .slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0; transform: scale(1.035); transition: opacity .9s ease,transform 5.8s ease; }
.series-slideshow .slide.is-active { z-index: 1; opacity: 1; transform: scale(1); }
.slide-status { position: absolute; left: 1rem; bottom: 1rem; z-index: 3; display: flex; gap: .4rem; padding: .45rem .55rem; border-radius: 999px; background: rgba(20,35,27,.56); backdrop-filter: blur(5px); }
.slide-status span { width: 7px; height: 7px; border-radius: 50%; background: rgba(255,255,255,.48); transition: background .25s ease,transform .25s ease; }
.slide-status span.is-active { background: #fff; transform: scale(1.25); }
.slideshow-toggle { position: absolute; right: 1rem; bottom: 1rem; z-index: 3; min-width: 3.8rem; padding: .42rem .65rem; border: 1px solid rgba(255,255,255,.68); border-radius: 999px; background: rgba(20,35,27,.62); color: #fff; font: 700 .68rem/1.2 var(--font); cursor: pointer; backdrop-filter: blur(5px); }
.slideshow-toggle:hover { background: rgba(20,35,27,.84); }
.comic-series .media-section { position: relative; }
.comic-series .media-section::before { content: "♪"; position: absolute; right: 5%; top: 2rem; color: rgba(212,135,19,.16); font-size: clamp(6rem,14vw,12rem); line-height: 1; }
.comic-series .featured-video { border: 8px solid #fff7d0; border-radius: 20px; box-shadow: 0 24px 60px rgba(64,82,39,.18); }
.comic-series .media-section .featured-video,
.ai-yuki-series .media-section .featured-video,
.komegaku-series .media-section .featured-video { width: min(100%,820px); margin-inline: auto; }
.comic-series .history article { padding: 2rem; border: 1px solid var(--line); border-radius: 18px; background: rgba(255,255,255,.7); }
.comic-series .button { border-radius: 999px; background: #df8b18; border-color: #df8b18; color: #fff; }
.comic-series .button:hover { background: #2f6f43; border-color: #2f6f43; }

.komegaku-series {
  --ink: #173f35;
  --muted: #596d66;
  --gold: #a9822f;
  --gold-soft: #8b6822;
  --cyan: #24745d;
  --line: rgba(25,77,61,.2);
  background: linear-gradient(180deg,#f7f2df 0,#fffdf8 45%,#eef5ef 100%);
}
.komegaku-series::before { background: repeating-linear-gradient(90deg,transparent 0 79px,rgba(25,77,61,.025) 80px),radial-gradient(circle at 88% 22%,rgba(169,130,47,.14),transparent 30%); }
.komegaku-series .site-header { background: rgba(18,57,47,.95); border-color: rgba(255,255,255,.12); }
.komegaku-series .site-header a, .komegaku-series .menu-button { color: #fffaf0; }
.komegaku-series .brand-sub, .komegaku-series .global-nav a:hover { color: #e7c96f; }
.komegaku-series .sub-hero {
  position: relative;
  isolation: isolate;
  color: #173f35;
  background: url("assets/komegaku-series.webp") center 38% / cover no-repeat;
}
.komegaku-series .sub-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: rgba(255,255,255,.22);
}
.komegaku-series .sub-hero > * { position: relative; z-index: 1; }
.komegaku-series .sub-hero-grid { grid-template-columns: minmax(0,640px); min-height: clamp(360px,47vw,590px); align-items: center; }
.komegaku-series .sub-hero .lead { color: #425e55; }
.komegaku-series .sub-hero h1,
.komegaku-series .sub-hero .lead,
.komegaku-series .sub-hero .eyebrow,
.komegaku-series .sub-hero .series-stamp {
  -webkit-text-stroke: 1px #fff;
  paint-order: stroke fill;
  text-shadow: none;
}
.komegaku-series .sub-hero h1 { -webkit-text-stroke-width: 2px; }
.komegaku-series .sub-hero .breadcrumb, .komegaku-series .sub-hero .eyebrow { color: #8b6822; }
.komegaku-series .breadcrumb a { color: #173f35; background: rgba(255,255,255,.7); border-color: rgba(23,63,53,.28); }
.komegaku-series .breadcrumb a:hover { background: rgba(255,255,255,.94); }
.komegaku-series .sub-visual { min-height: 0; aspect-ratio: 16/9; border: 6px solid #cfb86c; box-shadow: 18px 18px 0 rgba(7,37,29,.32); }
.komegaku-series .sub-visual img { opacity: 1; }
.komegaku-series .featured-video { border: 10px solid #174d3f; box-shadow: 0 22px 55px rgba(13,58,46,.18); }
.komegaku-trailer-list { display: grid; gap: 2.5rem; }
.komegaku-trailer-card { width: min(100%,820px); margin: 0 auto; overflow: hidden; border: 8px solid #174d3f; background: #174d3f; box-shadow: 0 22px 55px rgba(13,58,46,.18); }
.komegaku-trailer-card .featured-video { width: 100%; margin: 0; border: 0; box-shadow: none; }
.komegaku-trailer-card figcaption { padding: 1rem 1.25rem 1.15rem; color: #fffaf0; border-top: 3px solid #cfb86c; background: #174d3f; font-size: clamp(1rem,2vw,1.2rem); font-weight: 700; letter-spacing: .04em; text-align: center; }
.komegaku-series .detail-grid > div:first-child { padding-left: 1.5rem; border-left: 5px solid #b28d36; }
.komegaku-series .history article { padding: 2rem; background: rgba(255,255,255,.72); border: 1px solid var(--line); box-shadow: 10px 10px 0 rgba(30,89,71,.08); }
.komegaku-series .button { background: #164c3e; border-color: #164c3e; color: #fff; }
.komegaku-series .button:hover { background: #b28d36; border-color: #b28d36; }
.komegaku-series .value-grid article { border-top: 4px solid #b28d36; box-shadow: 8px 8px 0 rgba(30,89,71,.07); }
.komegaku-series .club-crest { border: 1px solid rgba(169,130,47,.35); background: #f6ecd5; }
/* Ai-yuki — winter night and warm window light */
.ai-yuki-series {
  --ink: #f8f4ec;
  --muted: #cbd4e5;
  --gold: #f2c779;
  --gold-soft: #f0bd68;
  --cyan: #9cd8f0;
  --line: rgba(210,228,247,.2);
  background:
    radial-gradient(circle at 8% 11%,rgba(255,255,255,.92) 0 1px,transparent 1.8px) 0 0/145px 145px,
    radial-gradient(circle at 72% 16%,rgba(245,211,145,.72) 0 1px,transparent 1.7px) 0 0/220px 220px,
    radial-gradient(circle at 35% 68%,rgba(173,218,244,.58) 0 1px,transparent 1.8px) 0 0/185px 185px,
    linear-gradient(180deg,#081226 0,#101f3c 42%,#172c49 72%,#0b172c 100%);
}
.ai-yuki-series::before { background: radial-gradient(circle at 78% 8%,rgba(160,205,239,.16),transparent 24%),radial-gradient(circle at 12% 62%,rgba(242,199,121,.1),transparent 26%); }
.ai-yuki-series .site-header { background: linear-gradient(105deg,rgba(250,232,174,.96),rgba(214,168,72,.94) 48%,rgba(247,220,145,.96)); border-color: rgba(255,247,215,.72); box-shadow: 0 10px 34px rgba(1,6,18,.2); }
.ai-yuki-series .site-header a,.ai-yuki-series .menu-button { color: #17324b; }
.ai-yuki-series .brand-sub { color: #365770; }
.ai-yuki-series .global-nav a:hover { color: #fff8e8; }
.ai-yuki-series .menu-button { border-color: rgba(23,50,75,.46); }
.ai-yuki-series .sub-hero { position: relative; overflow: hidden; color: #fff9ed; border-color: rgba(210,228,247,.2); background: radial-gradient(circle at 20% 16%,rgba(111,170,215,.26),transparent 28%),radial-gradient(circle at 78% 75%,rgba(242,199,121,.12),transparent 24%),linear-gradient(145deg,#071126,#142846 62%,#0b1930); }
.ai-yuki-series .sub-hero::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle,rgba(255,255,255,.9) 0 1px,transparent 1.6px) 18px 26px/126px 126px,radial-gradient(circle,rgba(156,216,240,.68) 0 1px,transparent 1.6px) 0 0/196px 196px; opacity: .55; }
.ai-yuki-series .sub-hero > * { position: relative; }
.ai-yuki-series .sub-hero-grid { grid-template-columns: minmax(280px,.62fr) minmax(0,1.38fr); align-items: center; }
.ai-yuki-series .sub-hero h1 { color: #fffaf0; text-shadow: 0 4px 26px rgba(4,10,25,.58); }
.ai-yuki-series .eyebrow { color: #f2c779; }
.ai-yuki-series .sub-hero .lead { color: #e8d7b9; }
.ai-yuki-series .breadcrumb { color: #cbd7e7; }
.ai-yuki-series .breadcrumb a { color: #08152a; border-color: rgba(255,244,220,.82); background: #f2c779; box-shadow: 0 7px 22px rgba(3,9,22,.3); }
.ai-yuki-series .breadcrumb a:hover { background: #fff4dc; }
.ai-yuki-series .sub-visual { min-height: 0; aspect-ratio: 16 / 9; border: 6px solid rgba(255,248,232,.82); border-radius: 24px; box-shadow: 0 26px 70px rgba(1,6,18,.5),0 0 34px rgba(242,199,121,.13); }
.ai-yuki-series .sub-visual img { opacity: 1; }
.ai-yuki-series .ai-yuki-slideshow .slide { opacity: 0; transform: scale(1.025); transition: opacity 1.8s ease-in-out,transform 6.5s ease; }
.ai-yuki-series .ai-yuki-slideshow .slide.is-active { opacity: 1; transform: scale(1); }
.ai-yuki-series .ai-yuki-slideshow .slide-status { background: rgba(6,16,36,.62); }
.ai-yuki-series .ai-yuki-slideshow .slideshow-toggle { background: rgba(6,16,36,.68); }
.ai-yuki-series .section { border-color: rgba(210,228,247,.18); }
.ai-yuki-series .section-heading > p:last-child:not(.eyebrow),.ai-yuki-series .detail-copy { color: var(--muted); }
.ai-yuki-series .detail-grid > div:first-child { align-self: start; padding-left: 1.5rem; border-left: 4px solid #f2c779; }
.ai-yuki-series .schedule-card { padding: .2rem 1.2rem; border: 1px solid rgba(242,199,121,.34); border-radius: 18px; background: rgba(7,18,39,.58); box-shadow: 0 18px 42px rgba(1,6,18,.22); }
.ai-yuki-series .schedule-card div { border-color: rgba(210,228,247,.16); }
.ai-yuki-series .schedule-card dt { color: #f2c779; }
.ai-yuki-series .notice { border-left-color: #f2c779; background: rgba(242,199,121,.1); color: #e8dfcf; }
.ai-yuki-series .listening-section { background: linear-gradient(180deg,rgba(17,36,65,.7),rgba(8,20,43,.48)); }
.ai-yuki-series .listening-section .value-grid article { color: #173753; border-radius: 50% 50% 18px 18px / 26px 26px 18px 18px; border: 1px solid rgba(226,247,255,.92); border-top: 3px solid #d6a848; background: linear-gradient(180deg,#def4fc 0,#c8eaf7 58%,#b9dfef 100%); box-shadow: 0 20px 46px rgba(1,6,18,.24),inset 0 1px 0 rgba(255,255,255,.8); }
.ai-yuki-series .value-grid article > span { color: #4a86a6; }
.ai-yuki-series .value-grid h3 { color: #173753; }
.ai-yuki-series .value-grid p { color: #365c73; }
.ai-yuki-series .story-section { background: linear-gradient(180deg,rgba(8,20,43,.18),rgba(5,14,31,.56)); }
.ai-yuki-series .story-grid { gap: 1.25rem; }
.ai-yuki-series .story-grid img { aspect-ratio: 16 / 9; border: 3px solid rgba(255,248,232,.76); border-radius: 18px; box-shadow: 0 18px 46px rgba(1,6,18,.42); }
.ai-yuki-series .story-image-link span { background: rgba(5,15,33,.8); color: #fff8e8; }
.ai-yuki-series .site-footer { background: linear-gradient(115deg,#f1d78d,#c9973f 52%,#e7c66f); border-top-color: rgba(255,247,215,.86); }
.ai-yuki-series .site-footer strong,.ai-yuki-series .site-footer a { color: #17324b; }
.ai-yuki-series .site-footer span,.ai-yuki-series .site-footer small { color: #28475e; }
.ai-yuki-series .back-to-top { background: #d8a956; color: #08152a; box-shadow: 0 10px 30px rgba(1,6,18,.38); }
.ai-yuki-series .back-to-top:hover { background: #fff4dc; }

/* AI music ogiri — Japanese stage identity */
.ogiri-series {
  --ink: #181310;
  --muted: #655b52;
  --gold: #e4b928;
  --gold-soft: #aa7710;
  --cyan: #b51f24;
  --line: rgba(39,25,19,.22);
  --serif: "Noto Serif JP",serif;
  background:
    repeating-linear-gradient(135deg,rgba(112,89,64,.025) 0 1px,transparent 1px 12px),
    linear-gradient(180deg,#f9f5ea 0,#fff 46%,#f4ecda 100%);
}
.ogiri-series::before {
  background:
    radial-gradient(circle at 14% 14%,rgba(228,185,40,.18),transparent 22%),
    radial-gradient(circle at 88% 70%,rgba(181,31,36,.1),transparent 28%);
}
.ogiri-series .site-header { background: rgba(23,18,15,.96); border-color: rgba(228,185,40,.32); }
.ogiri-series .site-header a,.ogiri-series .menu-button { color: #fffaf0; }
.ogiri-series .brand-sub,.ogiri-series .global-nav a:hover { color: #f0c93c; }
.ogiri-series .menu-button { border-color: rgba(255,250,240,.5); }
.ogiri-series .sub-hero {
  position: relative;
  overflow: hidden;
  color: #fffaf0;
  background:
    linear-gradient(108deg,rgba(13,10,8,.96) 0 48%,rgba(119,9,15,.92) 48% 100%),
    #1a1110;
  border-bottom: 8px solid #dfb72d;
}
.ogiri-series .sub-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(45deg,transparent 0 38px,rgba(255,255,255,.025) 38px 40px);
}
.ogiri-series .sub-hero > * { position: relative; }
.ogiri-series .breadcrumb { color: #e8d9bd; }
.ogiri-series .breadcrumb a { color: #1b1510; background: #f2c735; border-color: #f2c735; box-shadow: 6px 6px 0 #9e151b; }
.ogiri-series .breadcrumb a:hover { background: #fff3b1; }
.ogiri-series .sub-hero-grid { grid-template-columns: minmax(0,.72fr) minmax(430px,1.28fr); align-items: center; }
.ogiri-series .sub-hero .eyebrow { color: #f2c735; }
.ogiri-series .sub-hero h1 { font-family: var(--serif); font-weight: 900; letter-spacing: .03em; text-shadow: 4px 4px 0 #8f1218; }
.ogiri-series .sub-hero .lead { color: #f5ead5; font-family: var(--serif); font-weight: 600; }
.ogiri-series .sub-visual { min-height: 0; aspect-ratio: 16/10; border: 10px solid #19120f; outline: 4px solid #dfb72d; box-shadow: 18px 18px 0 rgba(8,5,4,.5); }
.ogiri-series .sub-visual img { opacity: 1; object-position: center; }
.ogiri-series .section-heading h2,.ogiri-series .detail-grid h2 { font-family: var(--serif); font-weight: 900; letter-spacing: .04em; }
.ogiri-series .detail-grid > div:first-child { padding: 1.25rem 0 1.25rem 1.6rem; border-left: 7px solid #b51f24; box-shadow: inset 4px 0 0 #e4b928; }
.ogiri-series .detail-copy { color: #3d342e; }
.ogiri-series .schedule-card { border: 3px solid #1b1510; background: #1b1510; color: #fffaf0; box-shadow: 8px 8px 0 #d9ad20; }
.ogiri-series .schedule-card div { padding: .8rem 1rem; border-color: rgba(255,250,240,.22); }
.ogiri-series .schedule-card dt { color: #efc833; }
.ogiri-series .button { border: 0; background: #b51f24; color: #fff; box-shadow: 6px 6px 0 #1b1510; }
.ogiri-series .button:hover { background: #e4b928; color: #1b1510; }
.ogiri-series .record-section { max-width: none; padding-left: max(1.5rem,calc((100vw - 1180px)/2)); padding-right: max(1.5rem,calc((100vw - 1180px)/2)); background: linear-gradient(145deg,#9d1118,#c5272c); color: #fffaf0; border-top: 8px solid #181310; border-bottom: 8px solid #e4b928; }
.ogiri-series .record-section .eyebrow { color: #f5d24c; }
.ogiri-series .record-section .section-heading > p:last-child:not(.eyebrow) { color: #fffaf0; font-weight: 600; }
.ogiri-series .record-section .poster-grid figure { border: 8px solid #181310; background: #181310; box-shadow: 12px 12px 0 rgba(70,2,6,.45); }
.ogiri-series .record-section figcaption { color: #fffaf0; font-family: var(--serif); font-size: .9rem; font-weight: 700; text-align: center; }
.ogiri-series .promo-section { position: relative; }
.ogiri-series .promo-section::before { content: "十八人十八色"; position: absolute; right: 1.5rem; top: 2rem; color: rgba(181,31,36,.07); font: 900 clamp(3rem,8vw,7rem)/1 var(--serif); writing-mode: vertical-rl; letter-spacing: .12em; pointer-events: none; }
.ogiri-series .promo-section > * { position: relative; }
.ogiri-series .video-grid { max-width: 1060px; margin-inline: auto; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 2.5rem 2rem; }
.ogiri-series .video-grid figure { border: 4px solid #1b1510; background: #1b1510; box-shadow: 7px 7px 0 rgba(181,31,36,.24); }
.ogiri-series .video-grid figcaption { padding: 1rem 1.2rem; color: #f1cc40; font-weight: 700; }
.ogiri-series .site-footer { background: #181310; border-top-color: #e4b928; }
.ogiri-series .site-footer strong,.ogiri-series .site-footer a { color: #fffaf0; }
.ogiri-series .site-footer span,.ogiri-series .site-footer small { color: #c9bda9; }
.ogiri-series .back-to-top { background: #b51f24; box-shadow: 0 10px 30px rgba(67,4,8,.32); }
.ogiri-series .back-to-top:hover { background: #e4b928; color: #181310; }

/* Kuse-tsuyo Band — punk flyer identity */
.kuse-series {
  --ink: #171313;
  --muted: #5e514a;
  --gold: #f5c928;
  --gold-soft: #b52160;
  --cyan: #008f87;
  --line: rgba(23,19,19,.25);
  background:
    radial-gradient(circle at 12% 8%,rgba(0,143,135,.16) 0 2px,transparent 2.5px) 0 0/74px 74px,
    radial-gradient(circle at 80% 60%,rgba(181,33,96,.13) 0 1.5px,transparent 2px) 0 0/53px 53px,
    #efe2c5;
}
.kuse-series::before { background: linear-gradient(112deg,transparent 0 69%,rgba(245,201,40,.12) 69% 72%,transparent 72%),repeating-linear-gradient(-8deg,transparent 0 46px,rgba(23,19,19,.025) 47px 49px); }
.kuse-series .site-header { background: rgba(18,15,15,.97); border-bottom: 4px solid #f5c928; }
.kuse-series .site-header a,.kuse-series .menu-button { color: #fff8e6; }
.kuse-series .brand-main { font-weight: 700; letter-spacing: .06em; }
.kuse-series .brand-sub,.kuse-series .global-nav a:hover { color: #ff3b88; }
.kuse-series .menu-button { border: 2px solid #fff8e6; box-shadow: 3px 3px 0 #008f87; font-weight: 800; }
.kuse-series .sub-hero { position: relative; overflow: hidden; color: #fff8e6; border-bottom: 10px solid #171313; background: linear-gradient(128deg,#008f87 0 34%,#b52160 34% 67%,#f06b22 67%); }
.kuse-series .sub-hero::before { content: "LIVE!  NO RULES!  LIVE!  NO RULES!"; position: absolute; left: -2%; bottom: -1rem; width: 110%; color: rgba(23,19,19,.13); font: 900 clamp(3.5rem,9vw,8.5rem)/1 var(--latin); letter-spacing: -.05em; transform: rotate(-4deg); white-space: nowrap; pointer-events: none; }
.kuse-series .sub-hero > * { position: relative; }
.kuse-series .breadcrumb { color: #fff8e6; }
.kuse-series .breadcrumb a { color: #171313; border: 3px solid #171313; border-radius: 0; background: #f5c928; box-shadow: 6px 6px 0 #171313; transform: rotate(-1deg); }
.kuse-series .breadcrumb a:hover { background: #fff8e6; transform: translateX(-3px) rotate(-1deg); }
.kuse-series .sub-hero-grid { grid-template-columns: minmax(0,.68fr) minmax(440px,1.32fr); align-items: center; }
.kuse-series .sub-hero .eyebrow { display: inline-block; padding: .45rem .7rem; color: #171313; background: #f5c928; font-weight: 900; transform: rotate(-2deg); }
.kuse-series .sub-hero h1 { font-weight: 900; line-height: 1.08; letter-spacing: -.06em; text-transform: uppercase; text-shadow: 4px 4px 0 #171313,8px 8px 0 #ff3b88; transform: rotate(-1deg); }
.kuse-series .sub-hero .lead { display: inline-block; margin-top: 2rem; padding: .45rem .8rem; color: #fff; background: #171313; font-size: 1rem; font-weight: 800; box-shadow: 5px 5px 0 #f5c928; transform: rotate(1deg); }
.kuse-series .sub-visual { min-height: 0; aspect-ratio: 16/9; overflow: hidden; border: 8px solid #171313; background: #171313; box-shadow: 14px 14px 0 #f5c928,-9px -9px 0 #fff8e6; transform: rotate(1.5deg); clip-path: polygon(1% 2%,99% 0,100% 97%,2% 100%,0 46%); }
.kuse-series .sub-visual img { opacity: 1; object-position: center; }
.kuse-series .section-heading h2,.kuse-series .detail-grid h2 { font-weight: 900; letter-spacing: -.045em; }
.kuse-series .detail-grid > div:first-child { align-self: start; padding: 1.5rem; color: #fff8e6; background: #171313; box-shadow: 9px 9px 0 #ff3b88; transform: rotate(-1deg); }
.kuse-series .detail-grid > div:first-child .eyebrow { color: #f5c928; }
.kuse-series .detail-copy { color: #332c28; font-weight: 500; }
.kuse-series .schedule-card { border: 4px solid #171313; background: #fff8e6; box-shadow: 8px 8px 0 #008f87; }
.kuse-series .schedule-card div { padding: .8rem 1rem; border-color: #171313; }
.kuse-series .schedule-card dt { color: #b52160; font-weight: 900; }
.kuse-series .button { border: 4px solid #171313; border-radius: 0; background: #ff3b88; color: #171313; box-shadow: 7px 7px 0 #171313; font-weight: 900; transform: rotate(-.5deg); }
.kuse-series .button:hover { background: #f5c928; color: #171313; transform: translate(-2px,-2px) rotate(-.5deg); }
.kuse-series .participant-movie-section { position: relative; border-top: 10px solid #171313; background: linear-gradient(135deg,rgba(255,248,230,.68),rgba(245,201,40,.18)); }
.kuse-series .participant-movie-section::before { content: "PLAY IT LOUD"; position: absolute; right: 2%; top: 2.5rem; color: rgba(181,33,96,.09); font: 900 clamp(3.5rem,10vw,8rem)/1 var(--latin); transform: rotate(5deg); pointer-events: none; }
.kuse-series .participant-movie-section > * { position: relative; }
.kuse-series .participant-movie-section .eyebrow { color: #b52160; }
.kuse-series .participant-movie-card { width: min(100%,820px); margin: 2.2rem auto 0; border: 7px solid #171313; background: #171313; box-shadow: 13px 13px 0 #008f87,-8px -8px 0 #ff3b88; transform: rotate(-.35deg); }
.kuse-series .participant-movie-card .featured-video { border: 0; max-height: none; }
.kuse-series .participant-movie-card figcaption { display: grid; grid-template-columns: auto minmax(0,1fr) auto minmax(0,1fr); align-items: baseline; gap: .6rem 1rem; padding: 1rem 1.2rem 1.15rem; color: #fff8e6; }
.kuse-series .participant-movie-card figcaption span { color: #f5c928; font: 900 .72rem/1 var(--latin); letter-spacing: .14em; }
.kuse-series .participant-movie-card figcaption strong { font-size: clamp(1rem,2.2vw,1.35rem); }
.kuse-series .participant-movie-cta { margin-top: 2rem; }
.kuse-series .artist-section { max-width: none; padding-left: max(1.5rem,calc((100vw - 1180px)/2)); padding-right: max(1.5rem,calc((100vw - 1180px)/2)); color: #fff8e6; border-block: 10px solid #f5c928; background: #171313; }
.kuse-series .artist-section .eyebrow { color: #ff3b88; }
.kuse-series .artist-section .section-heading > p:last-child:not(.eyebrow) { color: #ded3bd; }
.kuse-series .artist-grid { gap: 1.7rem 1.35rem; }
.kuse-series .artist-grid figure { border: 5px solid #fff8e6; background: #fff8e6; box-shadow: 8px 8px 0 #008f87; transform: rotate(-.7deg); }
.kuse-series .artist-grid figure:nth-child(3n+2) { box-shadow: 8px 8px 0 #ff3b88; transform: rotate(.8deg); }
.kuse-series .artist-grid figure:nth-child(3n) { box-shadow: 8px 8px 0 #f5c928; transform: rotate(-.25deg); }
.kuse-series .artist-grid img { opacity: 1; filter: saturate(1.08) contrast(1.04); }
.kuse-series .band-image-link span { border: 2px solid #171313; border-radius: 0; background: #ff3b88; color: #171313; font-weight: 900; box-shadow: 3px 3px 0 #171313; transform: rotate(-2deg); }
.kuse-series .band-image-link:focus-visible { outline-color: #f5c928; }
.kuse-series .artist-grid figcaption { min-height: 3.5rem; display: grid; place-items: center; padding: .85rem .7rem; color: #171313; font-size: .86rem; font-weight: 900; line-height: 1.4; text-align: center; }
.kuse-series .setlist-section { position: relative; }
.kuse-series .setlist-section::before { content: "SET LIST"; position: absolute; right: 2%; top: 4rem; color: rgba(181,33,96,.08); font: 900 clamp(4rem,12vw,10rem)/1 var(--latin); transform: rotate(6deg); pointer-events: none; }
.kuse-series .setlist-section > * { position: relative; }
.kuse-series .setlist-section .eyebrow { color: #b52160; }
.kuse-series .setlist { gap: .85rem 1.1rem; border-top: 0; }
.kuse-series .setlist li { min-height: 4.5rem; display: flex; align-items: center; padding: .9rem 1rem .9rem 4rem; border: 3px solid #171313; background: #fff8e6; color: #171313; font-weight: 800; box-shadow: 5px 5px 0 #171313; transform: rotate(-.35deg); }
.kuse-series .setlist li:nth-child(even) { background: #f5c928; transform: rotate(.35deg); }
.kuse-series .setlist li:nth-child(4n) { background: #50c7bd; }
.kuse-series .setlist li:nth-child(5n) { background: #ff82ad; }
.kuse-series .setlist li::before { left: .8rem; color: #b52160; font-size: .82rem; font-weight: 900; }
.kuse-series .site-footer { background: #171313; border-top: 8px solid #ff3b88; }
.kuse-series .site-footer strong,.kuse-series .site-footer a { color: #fff8e6; }
.kuse-series .site-footer span,.kuse-series .site-footer small { color: #cfc3ad; }
.kuse-series .back-to-top { border-radius: 0; background: #ff3b88; color: #171313; box-shadow: 6px 6px 0 #171313; transform: translateY(14px) rotate(3deg); }
.kuse-series .back-to-top.is-visible { transform: translateY(0) rotate(3deg); }
.kuse-series .back-to-top:hover { background: #f5c928; color: #171313; }

.back-to-top { position: fixed; right: clamp(1rem,3vw,2rem); bottom: clamp(1rem,3vw,2rem); z-index: 40; width: 58px; height: 58px; border: 1px solid rgba(255,255,255,.65); border-radius: 50%; display: grid; place-content: center; gap: 1px; background: #265f78; color: #fff; box-shadow: 0 10px 30px rgba(32,60,78,.24); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(14px); transition: opacity .25s ease,transform .25s ease,visibility .25s ease,background .25s ease; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top:hover { background: #a97524; }
.back-to-top span { font-size: 1.15rem; line-height: 1; }
.back-to-top small { font: 700 .56rem/1 var(--latin); letter-spacing: .1em; }
.comic-series .back-to-top { background: #df8b18; }
.comic-series .back-to-top:hover { background: #2f6f43; }
.komegaku-series .back-to-top { background: #164c3e; }
.komegaku-series .back-to-top:hover { background: #b28d36; }
@media (max-width: 850px) {
  .site-header { min-height: 64px; }
  .value-grid, .value-grid-three { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .menu-button { display: block; }
  .global-nav { display: none; position: absolute; top: 64px; left: 0; right: 0; padding: 1.3rem 4vw; flex-direction: column; background: #f6fafc; border-top: 1px solid var(--line); box-shadow: 0 18px 34px rgba(48,74,96,.14); }
  .global-nav.is-open { display: flex; }
  .intro, .latest-card, .group-intro, .sub-hero-grid, .detail-grid { grid-template-columns: 1fr; }
  .comic-series .sub-hero-grid { grid-template-columns: 1fr; }
  .ogiri-series .sub-hero-grid { grid-template-columns: 1fr; }
  .ogiri-series .global-nav { background: #181310; border-top-color: rgba(228,185,40,.3); }
  .kuse-series .sub-hero-grid { grid-template-columns: 1fr; }
  .kuse-series .global-nav { background: #171313; border-top-color: #f5c928; }
  .ai-yuki-series .sub-hero-grid { grid-template-columns: 1fr; }
  .ai-yuki-series .global-nav { background: #081226; border-top-color: rgba(242,199,121,.28); }
  .latest-card.poster-layout { grid-template-columns: 1fr; }
  .orbit-map { max-width: 430px; width: 100%; margin: auto; }
  .teaser-stage, .latest-visual img { min-height: 340px; }
  .series-grid { grid-template-columns: 1fr; }
  .video-grid, .artist-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .brand-sub { display: none; }
  .brand-main { font-size: 1.4rem; }
  .intro { padding-top: 4rem; }
  .intro h1 { font-size: 2.65rem; }
  .orbit-map { min-height: 300px; }
  .latest-body { padding: 1.5rem; }
  .teaser-stage, .latest-visual img { min-height: 260px; }
  .orbit-group { padding: 1.4rem; }
  .satellite-list > a, .satellite-list > div { grid-template-columns: 4rem 1fr; gap: 1rem; }
  .satellite-list b { display: none; }
  .archive-list > a, .archive-list > div { grid-template-columns: 1fr; gap: .4rem; }
  .official-link-grid { grid-template-columns: 1fr; }
  .site-footer { grid-template-columns: 1fr; }
  .footer-links { flex-wrap: wrap; }
  .history article { grid-template-columns: 1fr; }
  .value-grid, .value-grid-three, .record-stats { grid-template-columns: 1fr; }
  .poster-grid, .video-grid, .artist-grid, .story-grid, .setlist { grid-template-columns: 1fr; }
  .ogiri-series .video-grid { grid-template-columns: 1fr; gap: 1.75rem; }
  .kuse-series .participant-movie-card figcaption { grid-template-columns: auto minmax(0,1fr); }
  .kuse-series .artist-grid figure { transform: none; }
  .kuse-series .artist-grid figure:nth-child(3n+2),.kuse-series .artist-grid figure:nth-child(3n) { transform: none; }
  .back-to-top { width: 52px; height: 52px; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { transition-duration: .01ms !important; } }
