/* Entertainment: IP development, channels and contact */
/* Share the hero gutters with the full-width marquee, including the desktop inset. */
.stage-hero {
 --stage-gutter:clamp(24px,6vw,96px);
 --stage-left-gutter:var(--stage-gutter);
 padding-left:var(--stage-left-gutter);
}
.stage-hero .marquee {
 margin-left:calc(-1 * var(--stage-left-gutter));
 margin-right:calc(-1 * var(--stage-gutter));
}
@media(min-width:1281px){.stage-hero{--stage-left-gutter:250px}}
.en-lower { color:#f6f2fa; background:#0d0912; }
.en-wrap { max-width:1240px; padding:0 48px; margin:auto; }
.en-section { padding:96px 0; scroll-margin-top:90px; }
.en-eyebrow { color:#d692c9; font:11px var(--en); letter-spacing:.18em; margin:0 0 26px; }
.en-heading { display:grid; grid-template-columns:1.2fr 1fr; gap:60px; align-items:end; margin-bottom:54px; }
.en-lower h2 { font-size:clamp(30px,3.6vw,50px); line-height:1.5; letter-spacing:.02em; margin:0; font-weight:500; }
.en-heading h2 span { color:#b9a6d0; }
.en-lead { font-size:15px; line-height:2.1; color:#c3b9cd; margin:0 0 5px; }
.en-story { display:grid; grid-template-columns:1fr 1.4fr; border:1px solid #473049; border-radius:18px; background:radial-gradient(ellipse at 0 30%,#6b26552b,transparent 65%); }
.en-story-title { padding:48px 32px; min-width:0; }
.en-story-title>span { display:inline-block; padding:0 .12em .08em; margin-left:-.04em; font:italic 800 clamp(28px,3vw,42px) var(--en); letter-spacing:-.03em; background:linear-gradient(110deg,#f179b7,#b69aff); color:transparent; background-clip:text; }
.en-story-title p { font-size:23px; line-height:1.8; margin:22px 0 16px; }
.en-story-title small { font-size:12px; color:#baafc5; }
.en-paths { border-left:1px solid #352739; padding:0 32px; min-width:0; }
.en-paths article { display:flex; gap:24px; padding:30px 0; }
.en-paths article+article { border-top:1px solid #352739; }
.en-number { font:16px var(--en); color:#ed8bc7; padding-top:5px; }
.en-paths h3 { margin:0 0 10px; font-size:21px; font-weight:500; }
.en-paths p { margin:0 0 12px; font-size:14px; line-height:1.9; color:#c3b9cd; }
.en-paths small { font-size:11px; letter-spacing:.04em; color:#d895cc; }
.en-social-section { background:#130e1b; }
.en-channels { display:grid; grid-template-columns:1.15fr 1fr; gap:36px; }
.en-feature { display:flex; flex-direction:column; justify-content:space-between; padding:32px; min-height:380px; border:1px solid #644565; border-radius:18px; background:radial-gradient(ellipse at 80% 0%,#623e8066,transparent 65%),linear-gradient(135deg,#422038,#191323); transition:border-color .25s,transform .25s; }
.en-channel-top { display:flex; justify-content:space-between; gap:20px; font:10px var(--en); letter-spacing:.14em; color:#dfc3e5; }
.en-channel-top>span:last-child { font-size:22px; }
.en-play { display:grid; place-items:center; width:64px; height:64px; border:1px solid #dca4d280; border-radius:50%; margin:28px 0; color:#f2c6e7; font-size:22px; padding-left:4px; }
.en-feature h3,.en-social-list h3 { font:400 30px var(--en); letter-spacing:-.025em; margin:0 0 12px; }
.en-feature p { color:#d2c1d9; font-size:14px; margin:0 0 24px; }
.en-channel-cta { display:flex; justify-content:space-between; font-size:12px; padding-top:18px; border-top:1px solid #ffffff24; }
.en-feature:hover { border-color:#d994d2; transform:translateY(-3px); }
.en-social-list { display:flex; flex-direction:column; }
.en-social-list a { flex:1; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:26px 8px; border-bottom:1px solid #49354f; transition:padding .25s,background .25s; }
.en-social-list a:first-child { border-top:1px solid #49354f; }
.en-social-list p { margin:0; font-size:12px; color:#bcb0c8; }
.en-social-list a>span { font-size:24px; color:#d892c9; }
.en-social-list a:hover { padding-left:18px; padding-right:18px; background:#c482e30a; }
.en-note { font-size:11px; color:#a99bb5; line-height:1.8; margin-top:22px; }
.en-contact { padding:110px 0; text-align:center; background:radial-gradient(ellipse at 50% 100%,#58264840,transparent 70%); border-top:1px solid #39253d; }
.en-contact>div>p:not(.en-eyebrow) { font-size:14px; line-height:2.2; color:#c3b9cd; margin:28px 0 36px; }
.en-contact-button { display:inline-flex; align-items:center; gap:46px; background:#f1e8f4; color:#211229; border-radius:50px; padding:21px 30px; font-size:14px; transition:background .2s,transform .2s; }
.en-contact-button:hover { background:#e7c4ec; transform:translateY(-2px); }
.en-lower a:focus-visible { outline:3px solid #ed99d4; outline-offset:6px; }
@media(max-width:760px) { .en-wrap{padding:0 24px}.en-section{padding:64px 0}.en-heading{grid-template-columns:1fr;gap:24px;margin-bottom:34px}.en-story,.en-channels{grid-template-columns:1fr}.en-story-title{padding:30px 22px}.en-paths{border-left:0;border-top:1px solid #473049;padding:0 22px}.en-paths article{gap:18px}.en-story-title p{font-size:21px}.en-channels{gap:28px}.en-feature{padding:24px;min-height:330px}.en-contact{padding:76px 0}.en-contact-button{padding:20px 22px;gap:22px;font-size:13px}.en-contact br{display:none}.en-contact h2{max-width:12em;margin:auto}.en-lead{font-size:14px} }
@media(prefers-reduced-motion:reduce){.en-lower a{transition:none!important;transform:none!important}}

/* Featured IP: keep the supplied artwork uncropped. */
.en-ip { margin:0 0 64px; border:1px solid #4c3a50; border-radius:18px; overflow:hidden; background:#1b1421; scroll-margin-top:105px; }
.en-ip-meta { display:flex; justify-content:space-between; gap:16px; padding:18px 28px; font-size:11px; letter-spacing:.1em; color:#e1c7e3; }
.en-ip-meta span:last-child { font-family:var(--en); }
.en-ip-art { display:block; width:100%; height:auto; }
.en-ip-copy { display:grid; grid-template-columns:1fr 1.2fr; gap:48px; padding:40px 40px 32px; }
.en-ip-copy .en-eyebrow { margin-bottom:14px; }
.en-ip h3 { font-size:clamp(27px,3vw,38px); line-height:1.5; margin:0 0 16px; font-weight:500; }
.en-ip-tagline { font-size:20px; line-height:1.7; color:#d6b4d1; margin:0; }
.en-ip-intro p { font-size:14px; line-height:2.1; margin:0 0 18px; color:#d5cbdc; }
.en-ip-characters { display:grid; grid-template-columns:1fr 1fr; gap:40px; margin:0 40px; border-top:1px solid #4c3a50; padding-top:28px; }
.en-ip-characters>div>span { font:10px var(--en); letter-spacing:.12em; color:#c398c4; }
.en-ip h4 { font-size:21px; font-weight:500; margin:12px 0; }
.en-ip h4 small { font-size:12px; color:#bfb1c8; margin-left:10px; font-weight:400; }
.en-ip-characters p { font-size:13px; line-height:2; color:#d5cbdc; margin:0; }
.en-ip-secret { padding:22px 26px; margin:30px 40px 40px; background:#d495ca0b; border-left:2px solid #bc7bad; font-size:13px; line-height:2; color:#d5cbdc; }
.en-ip-secret span { display:block; color:#edc6e3; font-size:15px; margin-bottom:6px; }
.en-channel-heading { margin-bottom:24px; }
@media(max-width:760px){.en-ip{margin-bottom:44px}.en-ip-meta{padding:16px;font-size:9px;letter-spacing:.03em}.en-ip-copy{grid-template-columns:1fr;gap:24px;padding:28px 22px 24px}.en-ip-characters{grid-template-columns:1fr;gap:28px;margin:0 22px}.en-ip-secret{margin:26px 22px 28px;padding:16px}.en-ip-intro p:last-child{margin-bottom:0}.en-ip-tagline br{display:none}}

/* Acey artist and releases */
.acey-feature { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; gap:0; margin-top:32px; border:1px solid #49334b; border-radius:18px; overflow:hidden; background:#17101e; }
.acey-feature>img { display:block; width:100%; height:auto; align-self:center; }
.acey-copy { padding:clamp(26px,3.2vw,46px); align-self:center; min-width:0; }
.acey-label { font:10px var(--en); letter-spacing:.18em; color:#df97ca; margin:0 0 14px; }
.acey-copy h3 { font:400 clamp(48px,5vw,72px) var(--en); letter-spacing:-.04em; line-height:1.1; margin:0 0 22px; }
.acey-bio { font-size:14px; line-height:2; color:#d0c5d8; margin:0 0 28px; }
.acey-releases h4 { font:10px var(--en); letter-spacing:.18em; color:#b8a3c4; margin:0 0 12px; }
.acey-releases a { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:20px 0; border-top:1px solid #49334b; transition:color .2s,background .2s; }
.acey-releases a:last-child { border-bottom:1px solid #49334b; }
.acey-releases a>span:first-child { font:400 19px var(--en); }
.acey-releases small { font-size:10px; color:#c38cb7; margin-right:16px; }
.acey-listen { font-size:12px; color:#ddaccf; white-space:nowrap; }
.acey-releases a:hover { background:#d595cd0b; color:#efaddb; }
.acey-releases a:focus-visible { outline:3px solid #ed99d4; outline-offset:4px; }
.acey-streaming { font-size:12px; color:#e5d7ec; margin:24px 0 8px; }
.acey-note { font-size:10px; color:#b6a6c1; margin:0; line-height:1.8; }
@media(max-width:800px){.acey-feature{grid-template-columns:1fr}.acey-copy{padding:28px 24px}.acey-feature{margin-top:20px}.acey-releases a>span:first-child{font-size:18px}.acey-releases small{margin-right:10px}}
@media(prefers-reduced-motion:reduce){.acey-releases a{transition:none}}

.en-ip-official{margin:0 40px 36px;padding-top:28px;border-top:1px solid #4c3a50;display:flex;align-items:center;justify-content:space-between;gap:28px}.en-ip-official .en-eyebrow{display:block;margin-bottom:12px;font-size:10px}.en-ip-official p{font-size:14px;line-height:1.8;margin:0 0 12px;color:#e1d7e7}.en-ip-official small{font-size:11px;color:#baa9c6}.en-ip-official a{display:grid;grid-template-columns:1fr auto;gap:10px 28px;padding:20px 24px;border:1px solid #b88bad;border-radius:12px;font-size:14px;background:#302039;white-space:nowrap;transition:background .2s}.en-ip-official a small{grid-column:1/-1;font:11px var(--en);color:#d3b7d5}.en-ip-official a:hover{background:#47304f}@media(max-width:760px){.en-ip-official{margin:0 22px 28px;flex-direction:column;align-items:stretch}.en-ip-official a{white-space:normal}}
/* Slow, continuous gradient shared across the Entertainment page. */
.en-flow-bg{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:#0b0712}
.en-flow-bg::before,.en-flow-bg::after{content:"";position:absolute;inset:-25%;will-change:transform;background:radial-gradient(ellipse at 20% 30%,rgba(203,40,143,.72),transparent 36%),radial-gradient(ellipse at 78% 65%,rgba(91,51,211,.78),transparent 40%),radial-gradient(ellipse at 45% 85%,rgba(20,131,181,.58),transparent 34%);animation:en-gradient-drift 18s ease-in-out -5s infinite alternate}
.en-flow-bg::after{background:radial-gradient(ellipse at 75% 20%,rgba(132,72,210,.42),transparent 45%),radial-gradient(ellipse at 25% 75%,rgba(30,103,164,.35),transparent 48%);animation:en-gradient-drift-back 23s ease-in-out -9s infinite alternate}
@keyframes en-gradient-drift{0%{transform:translate(-18%,-10%) scale(1)}50%{transform:translate(4%,12%) scale(1.12)}100%{transform:translate(20%,-8%) scale(1.03)}}
@keyframes en-gradient-drift-back{from{transform:translate(18%,10%) rotate(-12deg)}to{transform:translate(-20%,-12%) rotate(15deg)}}
body[data-world="stage"] .stage-hero{background:transparent}
body[data-world="stage"] .en-lower{background:rgba(9,5,16,.38)}
body[data-world="stage"] .en-social-section{background:rgba(16,9,26,.48)}
body[data-world="stage"] .en-contact{background:rgba(16,9,26,.25)}
body[data-world="stage"] .en-ip,body[data-world="stage"] .acey-feature{background:rgba(21,13,30,.92)}
@media(prefers-reduced-motion:reduce){.en-flow-bg::before,.en-flow-bg::after{animation:none;will-change:auto}}

.en-pointer-waves{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:1;mix-blend-mode:screen}

/* 輪郭線が文字内部で交差しない書体と、余裕のある行間。 */
.stage-hero h1{font-family:Arial,Helvetica,sans-serif;font-weight:700;font-style:italic;font-synthesis:none;font-size:clamp(48px,10.4vw,180px);line-height:1.04;letter-spacing:-.015em;padding-right:.12em}
.stage-hero h1 span{-webkit-text-stroke:1.5px #fff;color:transparent}
@media(max-width:600px){.stage-hero h1{font-size:clamp(38px,10.2vw,62px);line-height:1.08}.stage-hero h1 span{-webkit-text-stroke:1px #fff}}

/* 想像力を、映像と制作ツールの両面から支える。 */
.en-concept{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(40px,6vw,88px);align-items:start;padding-bottom:52px}
.en-concept-copy h2{font-size:clamp(24px,2.6vw,36px);font-weight:500;line-height:1.6;letter-spacing:.025em;margin:0 0 24px}
.en-concept-copy p{font-size:14px;line-height:2.1;color:#d0c6da;margin:0}
.en-concept-services{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}
.en-concept-services article{border-top:1px solid #ffffff30;padding-top:24px;min-width:0}
.en-concept-services article>span{font:9px var(--en);letter-spacing:.09em;color:#eea5d4}
.en-concept-services h3{font-size:17px;line-height:1.7;letter-spacing:0;margin:16px 0 12px}
.en-concept-services p{font-size:13px;line-height:2}
.en-concept-services .en-concept-formats{font-size:11px;color:#e4b6da;margin-top:18px;line-height:1.9}
.en-concept-link{display:inline-flex;gap:28px;align-items:center;border-bottom:1px solid #d9a2cb;padding:14px 0;font-size:13px;margin-top:24px;color:#fff}
.en-concept-link:hover{color:#efa6d5}.en-concept-link:focus-visible{outline:2px solid #efa6d5;outline-offset:6px}
@media(max-width:800px){.en-concept{grid-template-columns:1fr;gap:36px}.en-concept-copy h2{font-size:26px}.en-concept-services{gap:24px}}
@media(max-width:520px){.en-concept-services{grid-template-columns:1fr}.en-concept-copy p{font-size:13px}.en-concept-copy h2{font-size:24px}}

/* 横長のアーティスト写真を生かしたLILIのプロフィール。 */
.lili-feature{grid-column:1 / -1;margin-top:40px;border:1px solid #49334b;border-radius:18px;overflow:hidden;background:rgba(21,13,30,.92)}
.lili-feature>img{display:block;width:100%;height:auto}.lili-details{display:grid;grid-template-columns:1.15fr 1fr;align-items:center}
.lili-feature h3 small{display:inline-block;font:400 12px var(--jp);letter-spacing:.1em;color:#d0c5d8;margin-left:18px}
.lili-tagline{font-size:17px;line-height:1.8;margin:0 0 18px;color:#f1daeb}.lili-feature .acey-bio{margin:0}
.lili-music{padding:clamp(26px,3.2vw,46px);border-left:1px solid #49334b;margin:32px 0}
.lili-latest{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:4px 0 24px;border-bottom:1px solid #49334b}
.lili-latest h4{font-size:36px;font-weight:500;line-height:1.5;margin:0}.lili-latest>span{font:9px var(--en);letter-spacing:.08em;color:#efaddb;border:1px solid #875f7f;border-radius:20px;padding:8px 10px}
.lili-music-label{font:10px var(--en);letter-spacing:.14em;color:#b8a3c4;margin:26px 0 14px}.lili-music ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:14px 20px;color:#d0c5d8;font-size:13px;line-height:1.8}
@media(max-width:800px){.lili-details{grid-template-columns:1fr}.lili-feature{margin-top:28px}.lili-music{border-left:0;border-top:1px solid #49334b;margin:0 24px 28px;padding:26px 0 0}.lili-tagline{font-size:16px}}

/* 黒川詩音：共通の紹介枠で楽曲と再生実績を伝える。 */
.shion-feature .acey-copy h3{font-family:var(--jp);font-size:clamp(30px,3.6vw,46px);line-height:1.4;letter-spacing:.04em;margin-bottom:12px}.shion-roman{font:10px var(--en);letter-spacing:.2em;color:#b8a3c4;margin:0 0 28px}.shion-plays{display:flex;align-items:baseline;flex-wrap:wrap;gap:18px;margin:24px 0 0;color:#e5c5dd}.shion-plays strong{font:400 48px var(--en);letter-spacing:-.04em}.shion-plays strong span{font:400 18px var(--jp);margin-left:6px;letter-spacing:0}.shion-plays>span{font-size:12px}

/* 正方形ジャケットはAceyと同じ左右構成に。 */
.lili-profile{display:grid;grid-template-columns:1fr 1fr;align-items:center}.lili-profile .lili-details{display:block}.lili-profile .acey-copy{padding-bottom:20px}.lili-profile .lili-music{border:0;margin:0;padding-top:0}.lili-profile .lili-tagline{font-size:15px}.lili-profile .acey-bio{font-size:13px;line-height:1.9}.lili-release-row{display:flex;align-items:baseline;gap:16px;border-top:1px solid #49334b;padding:17px 0}.lili-release-row:last-of-type{border-bottom:1px solid #49334b}.lili-release-row small{font:10px var(--en);color:#c38cb7}.lili-release-row h4{font-size:19px;font-weight:400;line-height:1.5;margin:0}.lili-profile .lili-music-label{margin-top:22px}
@media(max-width:800px){.lili-profile{grid-template-columns:1fr}.lili-profile .lili-music{margin:0;padding:0 24px 28px}}

/* ジャケット周囲に余白を設け、紹介文との間隔を整える。 */
.acey-feature>img,.lili-profile>img{width:calc(100% - 64px);margin:32px;align-self:center;border-radius:10px}
@media(max-width:800px){.acey-feature>img,.lili-profile>img{width:calc(100% - 48px);margin:24px 24px 0}}

/* くまとろの次の展開を予告。 */
.en-kumatoro-preview{margin:48px 0 64px}.en-kumatoro-preview img{display:block;width:100%;height:auto;border-radius:18px;border:1px solid #49334b}.en-kumatoro-preview figcaption{text-align:center;font:400 clamp(19px,2.6vw,32px)/1.5 var(--en);letter-spacing:.24em;color:#efc7e4;padding:30px 16px}
@media(max-width:800px){.en-kumatoro-preview{margin:32px 0 40px}.en-kumatoro-preview img{border-radius:12px}.en-kumatoro-preview figcaption{padding:24px 8px}}

/* Keep song names and listening links readable in narrow artist cards. */
@media(max-width:1100px){
 .acey-releases a{flex-direction:column;align-items:flex-start;gap:12px;line-height:1.6}
 .acey-listen{padding-left:26px;white-space:normal}
}
