/* Album 29: two films share an offset editorial spread. */
.home-hero:focus,.home-hero:focus-visible{outline:none}
.home-hero+.home-information{padding-top:80px}
.home-information+.home-release{padding-top:90px}
.lyric-series{display:grid;grid-template-columns:minmax(200px,.72fr) minmax(0,2fr);gap:20px 50px;padding-top:20px;padding-bottom:38px}
.lyric-series-heading{grid-column:1;grid-row:1;display:flex;flex-direction:column;align-items:flex-start;gap:24px;margin:0}
.lyric-album-mark{display:flex;align-items:baseline;justify-content:flex-start;gap:5px;padding:0;color:var(--fg)}
.lyric-album-mark>.lyric-album-label{font:10px/1.5 var(--sans);letter-spacing:.1em;margin:0 10px 0 0}
.lyric-album-mark strong{font:400 46px/.9 var(--sans);letter-spacing:-.065em}
.lyric-album-mark>span{font:400 16px/1 ContentJP,'Yu Mincho',serif}
.lyric-kicker{display:none}
.lyric-series-title .display-heading{font-size:clamp(43px,4.6vw,65px);line-height:.92}
.lyric-series-title .display-heading>span{display:block}
.lyric-series-title .display-heading>span+span{margin-left:15%}
.lyric-series-grid{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.lyric-card{min-width:0}
.lyric-card:nth-child(even){margin-top:22px}
.lyric-player{width:100%;aspect-ratio:16/9;position:relative;background:#20201d;overflow:hidden}
.lyric-poster{display:block;position:relative;width:100%;height:100%;padding:0;background:transparent;color:#fff;cursor:pointer;overflow:hidden}
.lyric-poster img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.2,.7,.2,1),filter .4s}
.lyric-poster img.lyric-poster-fallback{filter:brightness(.8);object-position:center 44%}
.lyric-poster:hover img{transform:scale(1.035);filter:brightness(.8)}
.lyric-poster:focus-visible{outline:2px solid var(--bg);outline-offset:-5px}
.lyric-play-icon{position:absolute;left:50%;top:50%;translate:-50% -50%;width:58px;height:58px;display:grid;place-items:center;border:1px solid #ffffffe0;border-radius:50%;background:#10101030;backdrop-filter:blur(3px)}
.lyric-play-icon svg{width:24px;height:24px;margin-left:-3px}
.lyric-play-label{position:absolute;left:20px;bottom:18px;font:12px/1 var(--sans);letter-spacing:.03em;text-shadow:0 1px 8px #000}
.lyric-player iframe{width:100%;height:100%;border:0;position:absolute;inset:0}
.lyric-card-caption{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:14px;padding-top:16px}
.lyric-number{font:400 32px/.9 var(--serif);letter-spacing:-.045em}
.lyric-card h3{font:400 20px/1.5 ContentJP,'Yu Mincho',serif;margin:0}
.lyric-youtube{display:inline-flex;align-items:center;gap:18px;min-height:44px;font:12px/1.4 var(--sans);text-underline-offset:5px}
.lyric-youtube:hover{text-decoration:underline}
.lyric-news{white-space:normal;font-size:15px;line-height:2.1;color:var(--fg)}
.lyric-news>p{margin-bottom:24px}
.lyric-news h3{font-size:19px;font-weight:400;margin:46px 0 22px}
.lyric-news-schedule{list-style:none;padding:0;margin:0}
.lyric-news-schedule>li{display:grid;grid-template-columns:70px minmax(0,1fr);gap:18px;padding:20px 0;border-bottom:1px solid var(--fn)}
.lyric-news-ordinal{font-size:12px;color:var(--md);padding-top:3px}
.lyric-news-schedule time{display:block;font:13px/1.7 var(--sans)}
.lyric-news-schedule strong{display:block;font-size:17px;font-weight:400;margin:5px 0}
.lyric-news-schedule a{display:inline-flex;align-items:center;min-height:40px;font:12px/1.5 var(--sans);text-decoration:underline;text-underline-offset:4px}
.lyric-scheduled{font-size:12px;color:var(--md)}
.lyric-news-videos{display:grid;gap:32px}
.lyric-news-videos h4{font-size:18px;font-weight:400;margin-bottom:14px}
.lyric-news-videos .lyric-youtube{margin-top:8px}
@media(min-width:601px) and (max-width:1000px){
 .lyric-series{display:block}
 .lyric-series-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:30px;margin-bottom:24px}
 .lyric-series-grid{gap:26px}
 .lyric-card:nth-child(even){margin-top:22px}
 .lyric-card-caption{gap:12px}
 .lyric-card h3{font-size:21px}
 .lyric-card-caption .lyric-youtube{grid-column:2/-1;min-height:30px}
}
/* Mobile uses readable columns, generous touch targets and swipeable collections. */
@media(max-width:600px){
 .hero-name{top:48%}
 .hero-photo{transform:scale(1.06)}
 .home-release{padding-top:54px}
 .record-section-top{row-gap:17px}
 .record-section-top .display-heading{font-size:clamp(29px,8.7vw,36px)}
 .record-controls{gap:8px}
 .record-controls button{width:32px;min-height:44px}
 .release-platform-links{gap:25px}
 .release-platform-links>a{font-size:14px}
 .record-rail{gap:20px;padding:28px 22px 20px;scroll-padding-left:22px}
 .record-rail .small-release{flex-basis:calc(100vw - 82px);max-width:none}
 .record-art img{width:100%}
 .record-number{display:none}
 .record-rail .small-release-info{padding:17px 0 0;gap:5px 10px}
 .record-rail .small-release h3{font-size:15px;line-height:1.7}
 .record-rail .small-release p{font-size:11px}
 .section-bottom{padding:20px 0 62px}
 .lyric-series{display:block;padding-top:18px;padding-bottom:20px}
 .lyric-series-heading{display:flex;flex-direction:row;justify-content:space-between;gap:22px;margin-bottom:22px;align-items:end}
 .lyric-album-mark{width:94px;flex-wrap:wrap;justify-content:flex-start;gap:3px;padding:0}
 .lyric-album-mark>.lyric-album-label{flex:0 0 100%;text-align:left;font-size:9px;margin:0 0 9px;letter-spacing:.09em}
 .lyric-album-mark strong{font-size:56px;line-height:.8}
 .lyric-album-mark>span{font-size:15px}
 .lyric-kicker{font-size:9px;letter-spacing:.065em;margin-bottom:13px;max-width:170px}
 .lyric-series-title .display-heading{font-size:40px;line-height:.92}
 .lyric-series-title .display-heading>span+span{margin-left:8%}
 .lyric-series-grid{display:flex;flex-direction:row;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;margin:0 calc(-1 * var(--pad));padding:0 var(--pad) 8px;scroll-padding-left:var(--pad)}
 .lyric-series-grid::-webkit-scrollbar{display:none}
 .lyric-card,.lyric-card:nth-child(even){flex:0 0 calc(100vw - 88px);width:auto;margin:0;align-self:auto;scroll-snap-align:start}
 .lyric-card{position:relative}
 .lyric-card-caption{padding-top:15px;gap:12px;grid-template-columns:minmax(0,1fr) auto}
 .lyric-number{position:absolute;top:12px;right:12px;z-index:1;font:12px/1 var(--sans);letter-spacing:.03em;color:#fff;background:#1118;padding:7px 8px;pointer-events:none}
 .lyric-card:has(iframe) .lyric-number{display:none}
 .lyric-card h3{font-size:20px}
 .lyric-youtube{font-size:11px;gap:7px;min-height:44px}
 .lyric-play-icon{width:48px;height:48px}
 .lyric-play-label{left:15px;bottom:14px;font-size:11px}
 .home-hero+.home-information{padding-top:48px}
 .home-information+.home-release{padding-top:58px}
 .home-information{padding-top:0}
 .home-information .section-top{grid-template-columns:1fr auto;gap:12px 15px;align-items:end;margin-bottom:20px;padding-top:0}
 .home-information .section-index{grid-column:1/-1}
 .home-information .display-heading{grid-column:1/-1;font-size:clamp(45px,13vw,56px)}
 .home-information .text-link{grid-column:2;font-size:12px;min-height:40px;display:flex;align-items:center}
 .news-row{grid-template-columns:1fr auto 18px;gap:10px 15px;padding:23px 0;align-items:start}
 .news-date{grid-column:1;grid-row:1;font-size:13px}
 .news-tag{grid-column:2;grid-row:1;font-size:11px}
 .news-title{grid-column:1/3;grid-row:2;font-size:15px;line-height:1.8}
 .news-plus{grid-column:3;grid-row:1/span 2;align-self:center}
 .home-explore{padding-top:70px;padding-bottom:56px}
 .contents-root{margin:0 0 40px}
 .contents-root .display-heading{font-size:58px}
 .contents-root .section-index{font-size:11px;letter-spacing:.04em}
 .content-link{margin-bottom:66px}
 .content-video{display:grid;grid-template-columns:minmax(0,1fr) 16px;grid-template-rows:auto auto;column-gap:10px}
 .content-video .content-heading{grid-column:1/-1;grid-row:1;margin-left:6%;margin-bottom:24px}
 .content-video-image{grid-column:1;grid-row:2;width:100%;margin:0}
 .content-video-vertical{display:block;grid-column:2;grid-row:2;position:static;align-self:start;writing-mode:vertical-rl;font-size:clamp(10px,2.8vw,12px);line-height:1.3;letter-spacing:.05em}
 .content-video-image figcaption{padding-top:15px;gap:12px}
 .content-track{font-size:16px;line-height:1.7;max-width:100%}
 .content-live-meta{align-items:center;gap:12px}
 .content-live-meta>span:first-child{font-size:32px}
 .content-live-meta>span:last-child{font-size:11px;line-height:1.6}
 .content-interview{margin-bottom:66px}
 .interview-preview .content-interview-detail>p{font-size:11px;line-height:1.8}
 .interview-preview .content-interview-detail figcaption{font-size:11px;line-height:1.6}
 .interview-preview+.interview-preview .content-interview-headline{margin-left:0;font-size:22px;line-height:1.85}
 .interview-preview+.interview-preview .content-interview-headline.is-latin{justify-self:start;font-size:40px}
 .content-archive .content-heading{margin-left:6%}
 .content-archive-images{display:flex;gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:none;margin:30px calc(-1 * var(--pad)) 0;padding:0 var(--pad) 12px;scroll-padding-left:var(--pad)}
 .content-archive-images::-webkit-scrollbar{display:none}
 .archive-preview,.archive-preview+.archive-preview,.archive-preview:nth-child(3){flex:0 0 calc(100vw - 84px);width:auto;margin:0;scroll-snap-align:start}
 .content-archive-images figcaption{padding:14px 0 0;gap:12px;flex-wrap:wrap}
 .content-archive-images figcaption>span:first-child{font-size:26px}
 .content-archive-images figcaption>span+span{font-size:11px;line-height:1.6}
 .content-nolzy .content-heading{margin-left:6%}
 .content-nolzy-photo{width:86%;margin:30px 0 0 auto}
 .content-work-preview{margin:28px 0 0;gap:24px}
 .content-work-preview>a>span{font-size:12px;line-height:1.6}
 .contact-card{padding:30px 24px}
 .contact-card .profile-connections{padding-top:25px;margin-top:28px;border-top:1px solid var(--fn);gap:20px}
 .contact-card .profile-socials>div{gap:26px}
 .contact-card .profile-contact>a{font-size:13px;letter-spacing:0}
 .sv-head{padding-top:32px;padding-bottom:25px}
 .sv-title{font-size:clamp(40px,11.8vw,60px);line-height:1.08}
 .section-subtitle{font-size:12px;margin-top:13px}
 .sv-body{padding-top:28px}
 .df-row{display:grid;grid-template-columns:43px minmax(0,1fr);align-items:center;gap:10px;margin:3px 0}
 .df-tags{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;white-space:nowrap;padding:4px 0;gap:4px}
 .df-tags::-webkit-scrollbar{display:none}
 .df-tag{flex:0 0 auto;min-height:40px;padding:7px 11px}
 .filter-label{font-size:10px;letter-spacing:0}
 #video-list{grid-template-columns:1fr;gap:32px}
 .vid-title{font-size:16px;line-height:1.65}
 #info-detail-content>div>h2{font-size:22px!important;line-height:1.65!important;font-weight:500!important}
 .lyric-news{font-size:15px;line-height:2}
 .lyric-news h3{font-size:18px;margin:34px 0 18px}
 .lyric-news-schedule>li{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:18px 0}
 .lyric-news-ordinal{font-size:11px}
 .lyric-news-schedule strong{font-size:16px}
 .lyric-news-videos h4{font-size:17px}
}
@media(max-width:360px){
 .lyric-series-heading{gap:16px}
 .lyric-album-mark strong{font-size:52px}
 .lyric-series-title .display-heading{font-size:38px}
 .lyric-card h3{font-size:20px}
 .lyric-card-caption{gap:10px}
 .release-platform-links{gap:20px}
}
@media(prefers-reduced-motion:reduce){.lyric-poster img{transition:none}}

/* Information and Release share the same heading grid. */
.record-section-top{grid-template-columns:155px minmax(0,1fr) auto;gap:30px;align-items:center;margin-bottom:18px}
.record-section-top .section-index{margin:0;padding-top:22px;align-self:start}
.record-title-group{display:flex;align-items:flex-end;gap:clamp(44px,6vw,92px);min-width:0}
.record-section-top .display-heading{font-size:clamp(58px,7.5vw,110px);line-height:1.02;white-space:nowrap}
.record-title-group .release-platforms{flex:0 0 auto;padding-bottom:4px}
.record-section-top .record-controls{align-self:center}
@media(min-width:601px) and (max-width:1000px){
 .record-section-top{grid-template-columns:110px minmax(0,1fr) auto;gap:18px}
 .record-title-group{flex-wrap:wrap;gap:18px 28px}
 .record-title-group .release-platforms{padding:0}
 .record-section-top .record-controls{grid-column:3;grid-row:1;align-self:start;padding-top:15px}
}
@media(max-width:600px){
 .record-section-top{grid-template-columns:minmax(0,1fr) auto;gap:12px 15px}
 .record-section-top .section-index{grid-column:1/-1;grid-row:1;padding:0;font-size:12px}
 .record-title-group{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);gap:17px}
 .record-section-top .display-heading{font-size:clamp(45px,13vw,56px);line-height:1.02;padding-right:88px;white-space:normal}
 .record-title-group .release-platforms{grid-column:1;grid-row:2;padding:0}
 .record-section-top .record-controls{grid-column:2;grid-row:2;align-self:start;padding-top:3px;z-index:1}
}

.information-bottom{display:flex;justify-content:flex-end;margin-top:22px}
.information-bottom .text-link{display:inline-flex;align-items:center;min-height:44px;width:fit-content;font:14px/1.5 var(--sans);border-bottom:1px solid var(--fg)}
@media(max-width:600px){.information-bottom{margin-top:16px}.information-bottom .text-link{font-size:13px}}
