
:root{--paper:#f0f0eb;--ink:#22251f;--muted:#62665b;--line:#c5c6bd;--dark:#242720;--ivory:#f5efe4;--gutter:clamp(24px,6vw,100px);--serif:Georgia,"Times New Roman",serif;--sans:Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:35px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}body.dialog-open{overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid currentColor;outline-offset:6px}img{display:block;max-width:100%;height:auto}h1,h2,h3,h4,p{margin:0}::selection{background:#4b5846;color:#fff}.skip-link{position:fixed;top:10px;left:10px;z-index:100;padding:14px;background:white;color:black;transform:translateY(-150%)}.skip-link:focus{transform:none}
.site-header{position:absolute;inset:0 0 auto;z-index:10;min-height:100px;padding:22px var(--gutter);display:flex;justify-content:space-between;align-items:center;color:var(--ivory);gap:24px}.header-home{display:flex;align-items:center;gap:24px}.header-home>span:first-child{font:italic 34px/1 var(--serif);letter-spacing:-2px}.header-caption{font-size:.75rem;letter-spacing:2px;line-height:1.4}.desktop-nav{display:flex;gap:clamp(22px,2.4vw,40px);font-size:.875rem;letter-spacing:.06em}.desktop-nav a{position:relative;padding:12px 0}.desktop-nav a::after{content:"";position:absolute;left:0;right:0;bottom:5px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s}.desktop-nav a:hover::after,.desktop-nav a:focus-visible::after{transform:scaleX(1)}.menu-toggle{display:none}
.hero{position:relative;isolation:isolate;min-height:800px;height:100svh;max-height:1200px;overflow:hidden;background:var(--dark);color:var(--ivory)}.hero-portrait{position:absolute;inset:0 0 0 auto;width:68%;z-index:-3;overflow:hidden}.hero-portrait img{height:100%;width:100%;object-fit:cover;object-position:50% 39%;animation:portrait-enter 1.8s ease-out both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,var(--dark) 0%,rgba(36,39,32,.98) 20%,rgba(36,39,32,.76) 31%,rgba(36,39,32,0) 60%),linear-gradient(0deg,rgba(18,20,16,.65),transparent 24%,transparent 86%,rgba(20,23,18,.16))}.hero-logo{position:absolute;left:var(--gutter);top:19%;width:clamp(280px,36vw,500px);margin:0;animation:soft-enter 1.15s .1s both}.hero-logo img{width:100%;height:auto}.hero-release{position:absolute;left:var(--gutter);bottom:13%;animation:soft-enter 1s .35s both}.eyebrow{font-size:.75rem;font-weight:400;letter-spacing:.17em;line-height:1.5}.hero-release h2{font:italic clamp(38px,4.2vw,62px)/1.1 var(--serif);margin:15px 0 24px}.hero-actions{display:flex;gap:32px;font-size:.875rem;letter-spacing:.05em}.hero-actions a{border-bottom:1px solid rgba(245,239,228,.6);padding:0 0 9px;display:flex;align-items:center;gap:25px}.hero-actions span{font-size:20px;line-height:1}.hero-social{position:absolute;right:var(--gutter);bottom:37px;display:flex;gap:27px;font-size:.875rem}.hero-social a:hover{text-decoration:underline;text-underline-offset:5px}.hero-scroll{position:absolute;left:var(--gutter);bottom:30px;display:flex;align-items:center;gap:20px;font-size:.75rem;letter-spacing:2px}.scroll-line{display:block;position:relative;height:40px;width:1px;background:rgba(245,239,228,.7)}.scroll-line::after{position:absolute;content:"";bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid;border-bottom:1px solid;transform:rotate(45deg)}
.section{max-width:1600px;padding-left:var(--gutter);padding-right:var(--gutter);margin:auto}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px}.section-head .eyebrow{color:var(--muted);margin-bottom:9px}.section-head h2,.profile-copy>h2{font:normal clamp(54px,5.9vw,84px)/1.1 var(--serif);letter-spacing:-.035em}.section-number{font-size:.75rem;color:var(--muted);letter-spacing:.1em;padding-bottom:10px}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:38px;border-bottom:1px solid currentColor;padding-bottom:10px;font-size:.875rem;letter-spacing:.04em;white-space:nowrap}.text-link span{font-size:23px;line-height:1}.news-section{padding-top:100px;padding-bottom:60px}.news-list{border-top:1px solid var(--ink)}.news-row{display:grid;grid-template-columns:110px 90px minmax(0,1fr) 26px;align-items:center;gap:25px;min-height:110px;border-bottom:1px solid var(--line);padding:26px 2px}.news-row time{font-size:.8125rem;letter-spacing:.03em;color:var(--muted)}.news-category{font-size:.75rem;letter-spacing:.07em}.news-row h3{font-size:1rem;font-weight:400;line-height:1.8;overflow-wrap:anywhere}.row-arrow{font-size:26px;text-align:right;transition:transform .25s}.news-row:hover .row-arrow{transform:translate(3px,-3px)}.news-row:hover h3{text-decoration:underline;text-underline-offset:5px}
.music-section{padding-top:60px;padding-bottom:110px}.music-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px}.cover-link{display:block;position:relative;overflow:hidden;aspect-ratio:1;background:#ddd}.cover-link img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,filter .4s}.cover-action{position:absolute;inset:auto 18px 18px auto;display:grid;place-items:center;min-width:108px;height:44px;background:var(--ivory);color:var(--ink);font-size:.875rem;letter-spacing:.05em;opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}.cover-link:hover img,.cover-link:focus-visible img{transform:scale(1.025);filter:brightness(.85)}.cover-link:hover .cover-action,.cover-link:focus-visible .cover-action{opacity:1;transform:none}.release-meta{display:flex;justify-content:space-between;gap:15px;font-size:.75rem;letter-spacing:.04em;color:var(--muted);margin:21px 0 8px}.release-card h3{font:normal clamp(25px,2.5vw,36px)/1.2 var(--serif);letter-spacing:-.02em}.release-card h3 a{display:flex;justify-content:space-between;align-items:center;gap:12px}.release-card h3 span{font:normal 22px var(--sans)}.streaming-links{display:flex;justify-content:center;align-items:center;gap:32px;margin-top:60px;font-size:.875rem}.streaming-links>span{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.streaming-links a:hover{text-decoration:underline;text-underline-offset:5px}
.video-section{background:#1c211b;color:var(--ivory)}.video-inner{padding-top:90px;padding-bottom:100px}.video-section .eyebrow{color:#bebfb5}.video-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:45px;align-items:start}.video-secondary{margin-top:80px}.video-image{position:relative;aspect-ratio:16/9;overflow:hidden;background:#333}.video-image img{width:100%;height:100%;object-fit:contain;object-position:center;transition:filter .3s}.video-card:hover img{filter:brightness(.92)}.play-button{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:66px;height:66px;border:1px solid rgba(255,255,255,.9);border-radius:50%;background:rgba(24,28,22,.25);color:#fff;z-index:1;transition:background .3s,transform .3s}.play-button svg{width:25px;height:25px;margin-left:-2px}.video-card:hover .play-button{background:rgba(24,28,22,.7);transform:translate(-50%,-50%) scale(1.07)}.video-secondary .play-button{width:54px;height:54px}.video-caption{margin-top:19px;display:flex;align-items:baseline;justify-content:space-between;gap:18px}.video-caption h3{font:normal clamp(27px,3vw,42px)/1.1 var(--serif)}.video-caption>span{font-size:.75rem;color:#c4c6bc;white-space:nowrap}.video-caption>span>span{margin-left:8px}
.live-section{padding-top:100px;padding-bottom:100px}.tour-heading{padding:17px 0 57px;text-align:center}.tour-heading .eyebrow{font-size:.875rem;letter-spacing:.07em}.tour-heading h3{font:italic clamp(48px,7.9vw,118px)/1.15 var(--serif);letter-spacing:-.045em;margin:9px 0 20px}.tour-year{font-size:.75rem;letter-spacing:.18em;color:var(--muted)}.live-list{border-top:1px solid var(--ink)}.live-row{display:grid;grid-template-columns:1.1fr 1.7fr .9fr auto;align-items:center;gap:28px;padding:32px 0;border-bottom:1px solid var(--line)}.live-date{display:flex;align-items:baseline;gap:14px}.live-date time{font:normal clamp(36px,3.6vw,54px)/1 var(--serif);letter-spacing:-.03em;font-variant-numeric:lining-nums}.live-date>span{font-size:.75rem;letter-spacing:.03em}.city{font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.live-venue h4{font-size:22px;font-weight:400;line-height:1.5;margin-top:5px}.live-time{font-size:.75rem;line-height:1.9;color:var(--muted)}.ticket-link{display:flex;justify-content:space-between;align-items:center;gap:38px;border:1px solid var(--ink);font-size:.875rem;letter-spacing:.05em;padding:14px 19px;transition:color .25s,background .25s}.ticket-link span{font-size:22px;line-height:1}.ticket-link:hover{background:var(--ink);color:var(--paper)}.tour-details{display:flex;width:max-content;margin:30px 0 0 auto}
.profile-section{display:grid;grid-template-columns:1fr 1fr;background:#e7e8e0;max-width:1800px;margin:auto}.profile-photo{height:100%;min-height:660px;overflow:hidden}.profile-photo img{width:100%;height:100%;object-fit:cover;object-position:47% 50%}.profile-copy{padding:76px clamp(28px,5.5vw,90px) 80px}.profile-copy>.eyebrow{color:var(--muted);margin-bottom:10px}.profile-copy>h2{font-size:clamp(52px,5.5vw,76px)}.profile-copy h3{font:italic 46px/1.1 var(--serif);letter-spacing:-.04em;margin:33px 0 25px}.profile-copy>p:not(.eyebrow){font-size:1rem;line-height:2;margin-bottom:18px}.profile-links{display:flex;flex-wrap:wrap;gap:22px;font-size:.875rem;margin-top:32px}.profile-links a{border-bottom:1px solid var(--line);padding-bottom:5px}
.site-footer{padding:65px var(--gutter) 28px;background:#242720;color:var(--ivory)}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:50px;max-width:1400px;margin:auto}.footer-logo{width:145px;height:auto}.footer-contact{margin-right:auto;margin-left:9vw}.footer-contact .eyebrow{margin-bottom:16px;color:#c3c5ba}.footer-contact>a{display:flex;gap:30px;font-size:clamp(17px,1.9vw,25px);line-height:1.5}.back-top{display:flex;align-items:center;gap:28px;font-size:.75rem;letter-spacing:.08em;white-space:nowrap}.back-top span{font-size:26px}.footer-bottom{max-width:1400px;margin:55px auto 0;border-top:1px solid #51554b;padding-top:22px;display:flex;justify-content:space-between;font-size:.875rem;color:#c3c5ba}.footer-bottom small{font-size:.75rem}
 dialog{border:0;color:var(--ivory);background:#1c211b;padding:0;box-shadow:0 12px 100px #0008}dialog:not([open]){display:none}dialog::backdrop{background:rgba(10,13,9,.9)}.close-button{border:0;background:none;padding:10px 0 10px 20px;display:flex;gap:18px;align-items:center;font-size:.875rem;letter-spacing:.06em;min-height:44px}.close-button span{font-size:30px;line-height:1}.video-dialog{width:min(1100px,94vw);max-width:94vw;max-height:94svh;padding:15px 24px 22px;overflow:auto}.video-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:2px 0 12px}.video-dialog h2{font:normal 27px var(--serif)}.video-frame{aspect-ratio:16/9;background:#000}.video-frame iframe{width:100%;height:100%;border:0;display:block}.video-fallback{display:block;margin-top:17px;font-size:.875rem;text-align:right}.menu-dialog{inset:0;width:100%;height:100%;max-width:none;max-height:100svh;margin:0;padding:20px 30px 45px}.menu-dialog-top{display:flex;justify-content:space-between;align-items:center}.menu-dialog h2{font:italic 25px var(--serif)}.menu-dialog nav{display:flex;flex-direction:column;margin-top:35px}.menu-dialog nav a{font:normal clamp(35px,7svh,55px)/1.2 var(--serif);padding:8px 0;width:max-content}.menu-social{display:flex;gap:28px;font-size:.875rem;margin-top:35px}
@keyframes soft-enter{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes portrait-enter{from{opacity:.4;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}
@media(min-width:1700px){.hero-portrait{width:65%}.hero-logo{left:calc((100vw - 1500px)/2);width:500px}.hero-release,.hero-scroll{left:calc((100vw - 1500px)/2)}}
@media(max-width:1050px){.header-caption{display:none}.hero-logo{top:22%;width:39vw}.hero-release{bottom:15%}.news-row{grid-template-columns:95px 75px minmax(0,1fr) 24px;gap:18px}.music-grid{gap:23px}.video-grid{gap:26px}.video-caption{display:block}.video-caption>span{display:block;margin-top:7px}.live-row{grid-template-columns:1.05fr 1.5fr .9fr auto;gap:22px}.ticket-link{gap:22px;padding:12px 14px}.profile-copy{padding:55px 35px}.profile-photo{min-height:680px}.footer-contact{margin-left:3vw}.footer-top{gap:28px}}
@media(max-width:760px){html{scroll-padding-top:25px}.site-header{min-height:80px;padding:20px var(--gutter);flex-wrap:wrap}.header-home>span:first-child{font-size:30px}.header-caption{display:block;letter-spacing:1px}.header-home{gap:15px}.desktop-nav{width:100%;justify-content:space-between;flex-wrap:wrap;gap:10px}.js .desktop-nav{display:none}.js .menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:0;padding:10px 0 10px 12px;font-size:.75rem;letter-spacing:.08em}.menu-lines{width:24px;height:12px;border-top:1px solid;border-bottom:1px solid;display:block}.hero{min-height:800px;max-height:1000px;height:100svh}.hero-portrait{width:100%;height:90%;top:0}.hero-portrait img{object-position:61% 42%}.hero-shade{background:linear-gradient(0deg,#242720 0%,rgba(36,39,32,.92) 8%,rgba(36,39,32,.55) 25%,rgba(36,39,32,0) 64%),linear-gradient(90deg,rgba(36,39,32,.32),transparent 70%)}.hero-logo{width:57vw;max-width:290px;left:var(--gutter);top:auto;bottom:29%;animation-duration:.8s}.hero-release{bottom:10%;left:var(--gutter)}.hero-release h2{font-size:39px;margin:10px 0 18px}.hero-release .eyebrow{letter-spacing:.08em}.hero-actions{gap:25px;letter-spacing:0}.hero-actions a{gap:22px}.hero-social{right:var(--gutter);bottom:23px;font-size:.75rem;gap:19px}.hero-scroll{bottom:22px;gap:12px}.scroll-line{height:27px}.hero-scroll>span:first-child{display:none}.section-head{margin-bottom:32px}.section-head h2{font-size:56px}.section-head .eyebrow{letter-spacing:.1em}.text-link{gap:20px;padding-bottom:7px;font-size:.75rem}.text-link span{font-size:20px}.news-section{padding-top:65px;padding-bottom:35px}.news-row{grid-template-columns:110px 1fr 24px;gap:7px 10px;padding:22px 0;min-height:115px}.news-row time{font-size:.75rem}.news-row h3{grid-column:1/3;line-height:1.85;padding-top:4px}.row-arrow{grid-column:3;grid-row:1/3;align-self:center;font-size:24px}.music-section{padding-top:35px;padding-bottom:65px}.music-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 20px}.release-card:first-child{grid-column:1/-1}.release-card h3{font-size:25px}.release-card:first-child h3{font-size:35px}.release-meta{letter-spacing:0;margin:16px 0 6px;gap:5px;flex-wrap:wrap}.release-card h3 span{font-size:20px}.cover-action{opacity:1;transform:none;min-width:90px;height:38px;inset:auto 11px 11px auto;font-size:.75rem}.streaming-links{gap:20px 24px;flex-wrap:wrap;margin-top:36px}.streaming-links>span{width:100%;text-align:center}.video-inner{padding-top:65px;padding-bottom:65px}.video-grid{grid-template-columns:1fr;gap:35px}.video-secondary{margin-top:0;width:79%;margin-left:auto}.video-caption{display:flex;align-items:center}.video-caption h3{font-size:32px}.video-caption>span{margin:0;white-space:normal;text-align:right}.video-secondary .video-caption{display:block}.video-secondary .video-caption>span{margin-top:6px;text-align:left}.play-button{width:54px;height:54px}.video-secondary .play-button{width:46px;height:46px}.live-section{padding-top:65px;padding-bottom:65px}.tour-heading{padding:18px 0 37px}.tour-heading h3{font-size:clamp(40px,8.8vw,66px);letter-spacing:-.045em;margin:14px 0 16px}.tour-heading .eyebrow{font-size:.75rem;letter-spacing:.02em}.tour-year{letter-spacing:.1em}.live-row{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:18px 24px;padding:27px 0}.live-date time{font-size:41px}.live-date{gap:10px}.live-venue h4{font-size:19px}.ticket-link{padding:10px 12px;gap:20px;width:100%;justify-self:start}.tour-details{font-size:.875rem;margin-top:25px}.profile-section{grid-template-columns:1fr}.profile-photo{height:auto;min-height:0;aspect-ratio:1.18}.profile-photo img{object-position:50% 50%}.profile-copy{padding:48px var(--gutter) 60px}.profile-copy>h2{font-size:56px}.profile-copy h3{margin:25px 0 22px;font-size:42px}.site-footer{padding-top:48px}.footer-top{display:grid;grid-template-columns:1fr auto;align-items:start;gap:36px 22px}.footer-logo{width:104px}.footer-contact{grid-column:1/-1;grid-row:2;margin:0}.footer-contact>a{font-size:21px;width:max-content;max-width:100%;overflow-wrap:anywhere;gap:20px}.back-top{gap:14px;margin-top:20px}.footer-bottom{margin-top:40px}.video-dialog{padding:10px 12px 18px;width:96vw;max-width:96vw}.video-dialog h2{font-size:23px}}
@media(max-width:370px){.header-caption{display:none}.hero-actions{gap:20px}.hero-actions a{gap:16px}.release-card h3{font-size:21px}.release-card h3 span{font-size:17px}.music-grid{gap:28px 14px}.live-date{gap:7px;flex-wrap:wrap}.live-date time{font-size:36px}.live-row{gap:16px}.video-caption{display:block}.video-caption>span{margin-top:7px;text-align:left}.hero-logo{bottom:30%}.hero-social{gap:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}

.hero-content{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:35px;min-height:800px;height:100%;padding:125px var(--gutter) 120px}.hero-logo{position:static;top:auto;bottom:auto;left:auto;width:min(36vw,44svh,450px);flex-shrink:0}.hero-release{position:static;bottom:auto;left:auto;flex-shrink:0}@media(min-width:1700px){.hero-content{padding-left:calc((100vw - 1500px)/2)}.hero-logo{width:min(36vw,44svh,450px)}}@media(max-width:760px){.hero-content{justify-content:flex-end;padding:150px var(--gutter) 105px;gap:28px}.hero-logo{width:57vw;max-width:290px}.hero-release{position:static}}

.hero{height:auto;min-height:max(800px,100svh);max-height:none}.hero-content{height:auto;min-height:max(800px,100svh)}

.profile-section{position:relative}.anchor-marker{position:absolute;top:0;left:0}.art-credit{font-size:.75rem;color:var(--muted);margin-top:10px}.profile-copy>.profile-english{color:var(--muted);font-family:var(--serif);font-style:italic}

/* Shared navigation and the Japanese / English page pairs. */
[hidden]{display:none!important}
.header-tools{display:flex;align-items:center;gap:24px;flex-shrink:0}
.language-nav{display:flex;align-items:center;gap:0;font-size:.8125rem;letter-spacing:.08em}
.language-nav a{display:grid;place-items:center;min-width:40px;min-height:44px;position:relative;opacity:.6}
.language-nav a[aria-current]{opacity:1}
.language-nav a[aria-current]::after{content:"";height:1px;width:20px;position:absolute;bottom:8px;background:currentColor}
.language-nav a:hover{opacity:1}
.desktop-nav{gap:clamp(16px,1.9vw,30px)}
.desktop-nav a[aria-current]::after{transform:scaleX(1)}
.menu-dialog>.language-nav{width:max-content;margin-top:28px}
.menu-dialog nav:not(.language-nav) a{font-size:clamp(31px,6svh,49px);padding:7px 0}
.menu-dialog .language-nav{flex-direction:row}
.menu-dialog .language-nav a{font:normal .875rem var(--sans);padding:0}

/* Discography and photograph archives. */
.archive-page .site-header{background:var(--dark)}
.archive-main{padding-top:150px;padding-bottom:100px;min-height:75svh}
.archive-back{font-size:.875rem;letter-spacing:.06em;display:inline-block;padding:12px 0}
.archive-back:hover{text-decoration:underline;text-underline-offset:5px}
.archive-heading{margin:35px 0 55px}
.archive-heading .eyebrow{color:var(--muted);margin-bottom:13px}
.archive-heading h1{font:normal clamp(74px,9vw,132px)/1.05 var(--serif);letter-spacing:-.045em}
.archive-description{margin-top:24px;color:var(--muted);line-height:1.8;max-width:680px}
.archive-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid var(--line);margin-bottom:38px;padding:0 0 20px}
.filter-buttons{display:flex;gap:clamp(10px,2vw,25px);flex-wrap:wrap}
.filter-buttons button{border:0;background:none;min-height:44px;padding:10px 6px;position:relative;font-size:.875rem;letter-spacing:.07em;color:var(--muted)}
.filter-buttons button[aria-pressed="true"]{color:var(--ink)}
.filter-buttons button[aria-pressed="true"]::after{content:"";position:absolute;height:1px;bottom:3px;left:6px;right:6px;background:currentColor}
.archive-count{font-size:.8125rem;color:var(--muted);white-space:nowrap;font-variant-numeric:tabular-nums;margin-left:auto}
.discography-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:50px 28px}
.discography-grid h2{font:normal clamp(24px,2.3vw,32px)/1.35 var(--serif);letter-spacing:-.02em;overflow-wrap:anywhere}
.discography-grid h2 a{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.discography-grid h2 span{font:normal 20px var(--sans);flex-shrink:0}
.discography-grid .release-meta{margin-top:17px;gap:8px}
.release-artist{font-size:.8125rem;color:var(--muted);margin-top:9px}

.gallery-section{padding-top:20px;padding-bottom:100px}
.gallery-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px;align-items:start}
.gallery-preview .gallery-card:nth-child(2){padding-top:64px}
.gallery-preview .gallery-image{aspect-ratio:2/3}
.gallery-preview .gallery-image img{width:100%;height:100%;object-fit:cover}
.gallery-grid{columns:3;column-gap:30px}
.gallery-card{margin:0 0 35px;break-inside:avoid;min-width:0}
.gallery-image{display:block;position:relative;overflow:hidden;background:#d8dcd1}
.gallery-image img{width:100%;height:auto;transition:transform .5s,filter .3s}
.gallery-image:hover img,.gallery-image:focus-visible img{transform:scale(1.025);filter:brightness(.93)}
.photo-expand{position:absolute;right:14px;bottom:14px;background:var(--ivory);width:36px;height:36px;display:grid;place-items:center;font-size:21px;line-height:1;opacity:0;transition:opacity .25s}
.gallery-image:hover .photo-expand,.gallery-image:focus-visible .photo-expand{opacity:1}
.gallery-card figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:13px;font-size:.875rem;line-height:1.5}
.gallery-card figcaption span:last-child{font-size:.75rem;letter-spacing:.04em;color:var(--muted);white-space:nowrap}
.photo-credit{margin-top:5px;font-size:.75rem;color:var(--muted)}

.photo-dialog{width:min(1200px,96vw);max-width:96vw;max-height:96svh;padding:14px 24px 20px;overflow:auto}
.photo-dialog-top{display:flex;justify-content:space-between;align-items:center;gap:20px;padding-bottom:12px}
.photo-dialog h2{font:normal clamp(22px,2.5vw,30px)/1.2 var(--serif)}
.photo-stage{display:grid;place-items:center;min-height:120px;background:#171b16}
.photo-stage img{width:100%;height:68svh;object-fit:contain}
.photo-stage p{font-size:1rem;padding:40px 20px}
.photo-dialog-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:16px}
#photo-caption{font-size:.8125rem;line-height:1.8;color:#d1d3c7}
#photo-original{font-size:.8125rem;text-decoration:underline;text-underline-offset:4px;display:inline-block;padding-top:5px}
.photo-controls{display:flex;align-items:center;gap:12px;flex-shrink:0}
.photo-controls button{border:1px solid #7c8072;background:none;min-width:44px;min-height:44px;font-size:24px;line-height:1}
.photo-controls button:hover{background:var(--ivory);color:var(--ink)}
.photo-controls button:disabled{opacity:.4;cursor:default}
#photo-count{min-width:60px;text-align:center;font-size:.8125rem;font-variant-numeric:tabular-nums}
html[lang="en"] .profile-copy>p:not(.eyebrow){line-height:1.85}

@media(max-width:1100px){.discography-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:42px 24px}.gallery-card figcaption{flex-wrap:wrap;gap:3px 12px}}
@media(max-width:980px){.site-header{flex-wrap:wrap;min-height:85px}.header-caption{display:none}.js .desktop-nav{display:none}.desktop-nav{width:100%;order:3;flex-wrap:wrap;justify-content:space-between}.js .menu-toggle{display:flex;align-items:center;gap:13px;background:none;border:0;padding:10px 0 10px 12px;font-size:.75rem;letter-spacing:.08em}.menu-lines{width:24px;height:12px;border-top:1px solid;border-bottom:1px solid;display:block}.gallery-grid{columns:2}.gallery-preview{gap:22px}.gallery-preview .gallery-card:nth-child(2){padding-top:40px}}
@media(max-width:760px){.header-tools{gap:16px}.site-header{flex-wrap:wrap;padding-top:16px;padding-bottom:16px}.header-caption{display:none}.archive-main{padding-top:118px;padding-bottom:65px}.archive-heading{margin:28px 0 32px}.archive-heading h1{font-size:clamp(66px,15vw,90px)}.archive-description{margin-top:18px;font-size:1rem}.archive-toolbar{margin-bottom:28px;gap:8px;align-items:flex-end;flex-wrap:wrap;padding-bottom:15px}.filter-buttons{gap:12px}.filter-buttons button{font-size:.8125rem;letter-spacing:.03em;padding-left:2px;padding-right:2px}.filter-buttons button[aria-pressed="true"]::after{left:2px;right:2px}.archive-count{font-size:.75rem;padding-bottom:12px}.discography-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 18px}.discography-grid h2{font-size:25px}.discography-grid .release-meta{font-size:.75rem;flex-wrap:wrap;gap:4px 8px}.gallery-section{padding-top:0;padding-bottom:58px}.gallery-preview{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-preview .gallery-card:nth-child(2){padding-top:32px}.gallery-preview .gallery-card:last-child{grid-column:1/-1;max-width:67%;margin:0 auto}.gallery-card{margin-bottom:28px}.gallery-grid{column-gap:18px}.gallery-card figcaption{font-size:.8125rem}.photo-expand{opacity:1;width:30px;height:30px;right:10px;bottom:10px;font-size:19px}.photo-dialog{padding:10px 13px 16px}.photo-dialog-top{gap:14px}.photo-stage img{height:62svh}.photo-dialog-bottom{align-items:flex-start;gap:12px;flex-wrap:wrap}.photo-controls{margin-left:auto;gap:8px}#photo-caption,#photo-original{font-size:.75rem}}
@media(max-width:400px){.header-tools{gap:6px}.language-nav a{min-width:35px}.filter-buttons{gap:8px}.discography-grid h2{font-size:22px}.discography-grid{gap:30px 14px}.gallery-grid{columns:1}.gallery-preview{display:block}.gallery-preview .gallery-card:nth-child(2){padding-top:0}.gallery-preview .gallery-card:last-child{max-width:none;margin:0}.photo-stage img{height:57svh}}
@media(prefers-reduced-motion:reduce){.gallery-image img,.photo-expand{transition:none}}

/* NEWS: edge-to-edge, slowly refracted olive-gray light; text stays on a still layer. */
.news-section{
 position:relative;isolation:isolate;overflow:hidden;max-width:none;
 --ink:var(--ivory);--muted:#dbd9ce;--line:rgba(245,239,228,.26);
 color:var(--ink);padding-top:100px;padding-bottom:92px;
 padding-inline:max(var(--gutter),calc((100% - 1600px)/2 + var(--gutter)));
 background:radial-gradient(ellipse at 18% 72%,#505247 0%,transparent 48%),radial-gradient(ellipse at 76% 18%,#4c4f43 0%,transparent 46%),#252620;
}
.news-water{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;pointer-events:none;z-index:0;transition:opacity 1.2s ease}
.news-section.has-news-water .news-water{opacity:1}
.news-section::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(27,29,23,.22),rgba(27,29,23,.12) 32%,rgba(27,29,23,.28))}
.news-section>.section-head,.news-section>.news-list{position:relative;z-index:2}
.news-section .section-head h2{color:var(--ink)}
.news-section .news-list{border-top-color:rgba(245,239,228,.52)}
.news-section .news-row{border-bottom-color:var(--line);transition:background-color .25s ease}
.news-section .news-row:hover,.news-section .news-row:focus-visible{background-color:rgba(245,239,228,.065)}
.news-section .news-row:focus-visible{outline:2px solid var(--ivory);outline-offset:5px}
.news-section .news-category{color:var(--ivory);border-color:rgba(245,239,228,.5)}
@media(max-width:760px){.news-section{padding-top:64px;padding-bottom:80px}}
@media(prefers-reduced-motion:reduce){.news-water,.news-section .news-row{transition:none}}

/* Supplied wordmark, matching portrait tone, and recognizable service marks. */
.header-home .header-logo{width:60px;height:50px;object-fit:contain;display:block}
.profile-copy .profile-logo{width:110px;height:92px;object-fit:contain;filter:brightness(0);display:block}
@media(min-width:981px){.home-page .site-header{background:#252620}.hero{background-color:#252620}}
.service-icon{display:inline-block;width:23px;height:23px;background:currentColor;mask:var(--service-icon) center/contain no-repeat;-webkit-mask:var(--service-icon) center/contain no-repeat;flex:none}
.icon-amazonmusic{--service-icon:url("/assets/icons/amazonmusic.svg")}
.icon-x{--service-icon:url("/assets/icons/x.svg")}
.icon-instagram{--service-icon:url("/assets/icons/instagram.svg")}
.icon-linktree{--service-icon:url("/assets/icons/linktree.svg")}
.icon-youtube{--service-icon:url("/assets/icons/youtube.svg")}
.icon-spotify{--service-icon:url("/assets/icons/spotify.svg")}
.icon-applemusic{--service-icon:url("/assets/icons/applemusic.svg")}
.social-icon-link{display:inline-flex!important;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:0!important;text-decoration:none;transition:opacity .2s}
.social-icon-link:hover{opacity:.6}.hero-social,.profile-links,.menu-social,.streaming-links{gap:12px;align-items:center}.hero-social{display:flex}.streaming-links{flex-wrap:wrap}.profile-links{display:flex;flex-wrap:wrap}
.video-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:28px}.video-secondary{margin-top:0;width:100%}.video-image.youtube-hq img{object-fit:cover}.video-caption{flex-wrap:wrap;gap:8px}
.detail-dialog{width:min(640px,calc(100% - 32px));max-height:85dvh;padding:32px;background:var(--paper);color:var(--ink);border:0;overflow:auto}
.detail-dialog::backdrop{background:rgba(0,0,0,.72)}.detail-dialog>.close-button{display:block;margin-left:auto;margin-bottom:28px;color:inherit}.detail-dialog h2{font-size:clamp(24px,4vw,36px);line-height:1.5;margin:14px 0 24px}.detail-dialog p{line-height:1.9}.detail-dialog .eyebrow{font-size:12px}.detail-cta{display:inline-block;margin-top:28px;padding:14px 0;border-bottom:1px solid currentColor}.detail-cta::after{content:' ↗'}
.service-choices{display:grid;margin-top:24px}.service-choice{display:flex;align-items:center;gap:18px;padding:20px 4px;border-top:1px solid #ccc}.service-choice::after{content:'↗';margin-left:auto}.past-shows-link{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:56px;padding-top:28px;border-top:1px solid #ccc}.past-shows-link>span{font-size:11px;letter-spacing:.12em}.past-row{display:grid;grid-template-columns:160px 1fr;gap:24px;padding:28px 0;border-top:1px solid #ccc}.past-row time{font-size:14px;letter-spacing:.08em}.past-row h2{font-family:inherit;font-size:20px;line-height:1.5;font-weight:400}.past-row p{font-size:13px;margin:8px 0 0;opacity:.65}
@media(max-width:760px){.video-grid{grid-template-columns:1fr;gap:36px}.video-secondary{width:100%;margin:0}.past-row{grid-template-columns:1fr;gap:10px}.past-shows-link{align-items:flex-start;flex-direction:column}.detail-dialog{padding:24px}.hero-social{gap:6px}.header-home .header-logo{width:48px;height:40px}.profile-copy{padding-top:48px;padding-bottom:48px}}

/* Owner-supplied tour artwork: preserve the full portrait and red lettering. */
.live-section .tour-heading{position:relative;aspect-ratio:4/5;width:100%;max-width:680px;margin:0 auto 56px;padding:0;background:#fff url('/assets/tour-ember-to-ember.jpg') center/contain no-repeat}
.live-section .tour-heading>*{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:760px){.live-section .tour-heading{margin-bottom:32px}}

/* A single desktop hero tone; feather the photograph itself into that tone. */
@media(min-width:981px){
 .home-page .site-header,.home-page .hero{background:#252620}
 .home-page .hero{--dark:#252620}
 .home-page .hero-shade{background:none}
 .home-page .hero-portrait{mask-image:linear-gradient(to right,transparent 0%,#000 36%),linear-gradient(to bottom,transparent 0px,#000 180px);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 36%),linear-gradient(to bottom,transparent 0px,#000 180px);-webkit-mask-composite:source-in}
}
.past-detail-link{display:inline-block;padding:4px 0;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}.past-detail-link:hover{opacity:.65}

/* Quiet, continuous scroll cue; section entrances are triggered in script.js. */
.hero-scroll{min-width:44px;min-height:44px}
.scroll-line{background:rgba(245,239,228,.22)}
.scroll-line::before{content:"";position:absolute;inset:0;background:currentColor;transform-origin:top;animation:scroll-flow 2.6s cubic-bezier(.65,0,.35,1) infinite}
.scroll-line::after{animation:scroll-tip 2.6s ease-in-out infinite}
@keyframes scroll-flow{0%{transform:scaleY(0);transform-origin:top;opacity:0}15%{opacity:1}48%{transform:scaleY(1);transform-origin:top}49%{transform-origin:bottom}85%,100%{transform:scaleY(0);transform-origin:bottom;opacity:0}}
@keyframes scroll-tip{0%,35%,100%{transform:translateY(0) rotate(45deg);opacity:.45}60%{transform:translateY(5px) rotate(45deg);opacity:1}}
@media(prefers-reduced-motion:reduce){.scroll-line{background:currentColor}.scroll-line::before{display:none}.scroll-line::after{animation:none;opacity:1}}

/* Give the biography ending, social links, and contact area separate space. */
.profile-copy{padding-bottom:104px}
.profile-copy .profile-links{margin-top:44px;gap:18px}
.profile-copy .profile-links a{padding-bottom:0}
.site-footer{padding-top:88px;padding-bottom:36px}
.footer-top{display:grid;grid-template-columns:auto minmax(0,1fr) auto;column-gap:clamp(40px,6vw,96px);row-gap:40px;align-items:center}
.footer-contact{min-width:0;margin:0}
.footer-contact>a{width:fit-content;max-width:100%;overflow-wrap:anywhere}
.footer-bottom{margin-top:72px;padding-top:26px;gap:20px}
@media(max-width:760px){
 .profile-copy{padding-bottom:76px}
 .profile-copy .profile-links{margin-top:36px;gap:16px}
 .site-footer{padding-top:64px;padding-bottom:28px}
 .footer-top{grid-template-columns:minmax(0,1fr) auto;gap:44px 24px;align-items:start}
 .footer-contact{grid-column:1/-1;grid-row:2}
 .footer-contact>a{font-size:clamp(17px,4.8vw,21px);gap:16px}
 .footer-bottom{margin-top:52px;padding-top:24px;flex-wrap:wrap}
}
.gallery-photographer{font-size:14px;line-height:1.6;letter-spacing:.025em;margin:0 0 28px;color:var(--ink)}
.gallery-section .section-head{margin-bottom:22px}

/* Frame the profile photograph independently of the biography length. */
.profile-section{align-items:start;padding:80px var(--gutter) 96px;column-gap:clamp(36px,5vw,80px)}
.profile-section .profile-photo{height:auto;min-height:0;aspect-ratio:4/3;margin:0;align-self:start}
.profile-section .profile-photo img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.profile-section .profile-copy{padding:0;min-width:0}
@media(max-width:760px){
 .profile-section{padding:48px var(--gutter) 72px;row-gap:40px}
 .profile-section .profile-photo{width:100%;aspect-ratio:4/3}
 .profile-section .profile-copy{padding:0}
}

/* Minimal scroll cue: a short highlight travels along a fine vertical track. */
.hero-scroll{gap:18px;letter-spacing:.22em}
.hero-scroll .scroll-line{height:52px;width:1px;overflow:hidden;background:rgba(245,239,228,.18)}
.hero-scroll .scroll-line::before{inset:0 auto auto 0;width:1px;height:16px;background:currentColor;transform-origin:center;animation:scroll-highlight 2.8s cubic-bezier(.65,0,.35,1) infinite}
.hero-scroll .scroll-line::after{display:none}
@keyframes scroll-highlight{0%{transform:translateY(-18px);opacity:0}18%{opacity:1}72%{opacity:1}88%,100%{transform:translateY(56px);opacity:0}}
@media(max-width:760px){.hero-scroll .scroll-line{height:40px}.hero-scroll{bottom:18px}}
@media(prefers-reduced-motion:reduce){.hero-scroll .scroll-line{background:rgba(245,239,228,.7)}.hero-scroll .scroll-line::before{display:none}}
.profile-copy>h2{margin-bottom:32px}

/* Interface typography: Manrope with clear Japanese Gothic fallbacks. */
@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/manrope-400.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/manrope-500.woff2') format('woff2')}
@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url('/assets/fonts/manrope-600.woff2') format('woff2')}
:root{--sans:Manrope,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
.desktop-nav{font-weight:500;font-size:14px;letter-spacing:.09em;gap:clamp(18px,2vw,32px)}
.menu-dialog h2{font:500 14px/1.4 var(--sans);letter-spacing:.16em;text-transform:uppercase}
.menu-dialog nav:not(.language-nav) a{font-family:var(--sans);font-weight:400;font-style:normal;letter-spacing:-.035em;line-height:1.2;font-size:clamp(32px,6svh,52px);padding:9px 0}
.menu-toggle,.close-button,.language-nav,.text-link,.ticket-link,.detail-cta,.hero-actions,.back-top,.filter-buttons button{font-family:var(--sans);font-weight:500;font-size:14px;letter-spacing:.06em}
.eyebrow,.release-meta,.news-category,.news-row time{font-family:var(--sans);font-weight:500;letter-spacing:.09em}
.detail-dialog h2{font-family:var(--sans);font-weight:500;font-style:normal;letter-spacing:.015em;line-height:1.55;font-size:clamp(24px,3.5vw,32px);text-wrap:balance}
html[lang="en"] .detail-dialog h2{letter-spacing:-.025em;line-height:1.35}
.detail-dialog p{font-weight:400;line-height:1.95}
.video-dialog h2,.photo-dialog h2{font-family:var(--sans);font-weight:500;font-style:normal;letter-spacing:-.02em}
.service-choice{font-weight:500;font-size:16px;letter-spacing:.01em}
.footer-contact>a{font-weight:400;letter-spacing:-.025em}
@media(max-width:760px){.text-link,.ticket-link,.back-top{font-size:14px;letter-spacing:.025em}.menu-toggle{font-size:13px}}

/* Photographic interlude: stage heat and open-air stills in an uneven rhythm. */
.photo-interlude{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);align-items:start;gap:clamp(20px,4vw,72px);padding:72px var(--gutter) 100px;background:#1c211b;max-width:1800px;margin:auto}
.editorial-photo{position:relative;display:block;min-width:0;overflow:hidden;background:#111;color:#fff}
.editorial-photo:first-child{margin-left:calc(-1 * var(--gutter));margin-top:0}
.editorial-photo:last-child{margin-top:clamp(60px,10vw,160px)}
.editorial-photo img{display:block;width:100%;height:auto;transition:transform 1.2s cubic-bezier(.22,1,.36,1)}
.editorial-photo:first-child img{aspect-ratio:3/2;object-fit:cover}
.editorial-photo-label{position:absolute;bottom:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:48px 24px 20px;background:linear-gradient(transparent,rgba(0,0,0,.6));font-size:14px;letter-spacing:.035em}
.editorial-photo:hover img{transform:scale(1.025)}
.home-page .gallery-preview{grid-template-columns:1.15fr .8fr 1fr;gap:clamp(20px,3vw,48px);align-items:start;padding-bottom:64px}
.home-page .gallery-preview .gallery-card:nth-child(2){margin-top:100px}
.home-page .gallery-preview .gallery-card:nth-child(3){margin-top:42px}
@media(max-width:760px){
 .photo-interlude{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;padding-top:32px;padding-bottom:40px}
 .editorial-photo:first-child img{aspect-ratio:3/4;object-fit:cover;object-position:52% center}
 .editorial-photo:last-child{margin-top:72px}
 .editorial-photo-label{padding:32px 12px 12px;font-size:12px}
 .home-page .gallery-preview{grid-template-columns:1fr 1fr;gap:24px 18px;padding-bottom:24px}
 .home-page .gallery-preview .gallery-card:first-child{grid-column:1/-1;width:80%}
 .home-page .gallery-preview .gallery-card:nth-child(2){margin-top:0}
 .home-page .gallery-preview .gallery-card:nth-child(3){margin-top:48px}
}
@media(prefers-reduced-motion:reduce){.editorial-photo img{transition:none}.editorial-photo:hover img{transform:none}}

/* News-specific artwork, kept whole so poster lettering remains visible. */
.news-detail-image{margin:0 0 28px;background:transparent}
.news-detail-image img{display:block;width:auto;max-width:100%;height:auto;max-height:420px;margin:0 auto;object-fit:contain}
.news-detail-video{aspect-ratio:16/9;width:100%;margin:0 0 28px;background:#171916}
.news-detail-video iframe{display:block;width:100%;height:100%;border:0}
@media(max-width:760px){.news-detail-image{margin-bottom:24px}.news-detail-image img{max-height:52svh}}

/* Five photographs in the home gallery; two wide scenes and three portraits. */
.home-page .gallery-preview{grid-template-columns:repeat(6,minmax(0,1fr));gap:32px;align-items:start;padding-bottom:24px}
.home-page .gallery-preview .gallery-card:nth-child(n){grid-column:span 2;width:100%;margin-top:0}
.home-page .gallery-preview .gallery-card:nth-child(-n+2){grid-column:span 3}
@media(max-width:760px){.home-page .gallery-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.home-page .gallery-preview .gallery-card:nth-child(n){grid-column:span 1}.home-page .gallery-preview .gallery-card:first-child{grid-column:1/-1}}

/* Fixed fine arrow: a deliberate downward draw, then a quiet pause. */
.hero-scroll{gap:20px;font-size:12px;font-weight:500;letter-spacing:.2em}
.hero-scroll .scroll-line{width:1px;height:46px;overflow:visible;background:rgba(245,239,228,.22);animation:none;transform:none}
.hero-scroll .scroll-line::before{display:block;content:"";position:absolute;inset:0;width:1px;height:100%;background:currentColor;transform-origin:top;animation:arrow-draw 3.8s cubic-bezier(.65,0,.25,1) infinite}
.hero-scroll .scroll-line::after{display:block;content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);animation:arrow-arrive 3.8s ease infinite;opacity:.25}
@keyframes arrow-draw{0%,8%{transform:scaleY(0);opacity:0}12%{opacity:1}42%,72%{transform:scaleY(1);opacity:1}92%,100%{transform:scaleY(1);opacity:0}}
@keyframes arrow-arrive{0%,30%,100%{opacity:.25}45%,72%{opacity:1}}
.hero-scroll:hover .scroll-line::before,.hero-scroll:focus-visible .scroll-line::before{animation:none;transform:scaleY(1);opacity:1}
.hero-scroll:hover .scroll-line::after,.hero-scroll:focus-visible .scroll-line::after{animation:none;opacity:1}
@media(max-width:760px){.hero-scroll .scroll-line{height:36px}}
@media(prefers-reduced-motion:reduce){.hero-scroll .scroll-line{background:currentColor}.hero-scroll .scroll-line::before{display:none}.hero-scroll .scroll-line::after{animation:none;opacity:1}}
.footer-bottom{justify-content:flex-end;text-align:right}

/* A drawn arrow with a long stem and generous, sharply angled head. */
.scroll-arrow-mark{display:block;flex:none;width:28px;height:54px;overflow:visible;stroke:currentColor;stroke-width:1.2;stroke-linecap:butt;stroke-linejoin:miter}
.scroll-arrow-mark .arrow-outline{opacity:.24}
.scroll-arrow-mark .arrow-ink{stroke-dasharray:1;stroke-dashoffset:0;animation:arrow-ink-draw 3.8s cubic-bezier(.65,0,.25,1) infinite}
@keyframes arrow-ink-draw{0%,8%{stroke-dashoffset:1;opacity:0}14%{opacity:1}48%,75%{stroke-dashoffset:0;opacity:1}94%,100%{stroke-dashoffset:0;opacity:0}}
.hero-scroll:hover .arrow-ink,.hero-scroll:focus-visible .arrow-ink{animation:none;stroke-dashoffset:0;opacity:1}
@media(max-width:760px){.scroll-arrow-mark{width:24px;height:46px}}
@media(prefers-reduced-motion:reduce){.scroll-arrow-mark .arrow-ink{animation:none;stroke-dashoffset:0;opacity:1}}

/* Hotel-inspired scroll signpost: small type, a quiet ring, a fixed arrow. */
.hero-scroll.hotel-scroll{left:50%;right:auto;bottom:32px;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;gap:16px;min-height:48px;white-space:nowrap;font-family:var(--sans);font-size:12px;font-weight:400;letter-spacing:.18em}
.hero-scroll.hotel-scroll .scroll-word{display:block;opacity:.85}
.scroll-medallion{display:block;flex:none;width:48px;height:48px;stroke:currentColor;stroke-width:.8}
.scroll-ring-base{opacity:.25}
.scroll-ring-draw{opacity:0;stroke-dasharray:1;stroke-dashoffset:1;transform:rotate(-90deg);transform-origin:24px 24px;animation:hotel-ring 5.2s cubic-bezier(.45,0,.25,1) infinite}
.scroll-direction{stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter}
@keyframes hotel-ring{0%,10%{stroke-dashoffset:1;opacity:0}18%{opacity:.65}65%,80%{stroke-dashoffset:0;opacity:.65}100%{stroke-dashoffset:0;opacity:0}}
.hotel-scroll:hover .scroll-ring-draw,.hotel-scroll:focus-visible .scroll-ring-draw{animation:none;stroke-dashoffset:0;opacity:1}
@media(max-width:760px){.hero-scroll.hotel-scroll{left:var(--gutter);bottom:18px;transform:none;gap:0}.hero-scroll.hotel-scroll .scroll-word{display:none}.scroll-medallion{width:44px;height:44px}}
@media(prefers-reduced-motion:reduce){.scroll-ring-draw{animation:none;stroke-dashoffset:0;opacity:.65}}

/* Alternate hotel-style cue: vertical typography and a fine, flowing stroke. */
.hero-scroll.hotel-scroll-vertical{left:50%;right:auto;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:18px;min-width:44px;min-height:44px;font-size:12px;font-weight:400;letter-spacing:.2em}
.hotel-scroll-vertical .vertical-scroll-label{display:block;writing-mode:vertical-rl;line-height:1;opacity:.8}
.vertical-scroll-stroke{display:block;position:relative;width:1px;height:42px;background:rgba(245,239,228,.22)}
.vertical-scroll-stroke::before{content:"";position:absolute;inset:0;background:currentColor;transform-origin:top;animation:vertical-stroke 3.6s cubic-bezier(.65,0,.35,1) infinite}
.vertical-scroll-stroke::after{content:"";position:absolute;bottom:0;left:-2.5px;width:6px;height:6px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:rotate(45deg);opacity:.7}
@keyframes vertical-stroke{0%,8%{transform:scaleY(0);transform-origin:top;opacity:0}18%{opacity:.85}52%{transform:scaleY(1);transform-origin:top}53%{transform-origin:bottom}90%,100%{transform:scaleY(0);transform-origin:bottom;opacity:0}}
.hotel-scroll-vertical:hover .vertical-scroll-stroke::before,.hotel-scroll-vertical:focus-visible .vertical-scroll-stroke::before{animation:none;transform:scaleY(1);opacity:1}
@media(max-width:760px){.hero-scroll.hotel-scroll-vertical{left:var(--gutter);bottom:20px;transform:none;justify-content:center;gap:0}.hotel-scroll-vertical .vertical-scroll-label{display:none}.vertical-scroll-stroke{height:30px}}
@media(prefers-reduced-motion:reduce){.vertical-scroll-stroke::before{animation:none;transform:none;opacity:.8}}

/* Alternate horizontal hotel cue: spaced type, a fine rule, and a small chevron. */
.hero-scroll.hotel-scroll-minimal{left:50%;right:auto;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-width:120px;min-height:56px;font-size:12px;font-weight:400;letter-spacing:.3em}
.hotel-scroll-minimal .minimal-scroll-label{display:block;padding-left:.3em;line-height:1;opacity:.85}
.minimal-scroll-rule{display:block;width:96px;height:1px;position:relative;overflow:hidden;background:rgba(245,239,228,.2)}
.minimal-scroll-rule::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,currentColor,transparent);transform:translateX(-100%);animation:hotel-rule 4.2s cubic-bezier(.6,0,.25,1) infinite}
.minimal-scroll-chevron{display:block;opacity:.75;flex:none}
@keyframes hotel-rule{0%,12%{transform:translateX(-110%);opacity:0}25%{opacity:.9}72%,100%{transform:translateX(110%);opacity:0}}
.hotel-scroll-minimal:hover .minimal-scroll-rule,.hotel-scroll-minimal:focus-visible .minimal-scroll-rule{background:currentColor}
@media(max-width:760px){.hero-scroll.hotel-scroll-minimal{left:var(--gutter);bottom:18px;transform:none;min-width:44px;min-height:44px;gap:9px}.hotel-scroll-minimal .minimal-scroll-label{display:none}.minimal-scroll-rule{width:28px}}
@media(prefers-reduced-motion:reduce){.minimal-scroll-rule::after{animation:none;transform:none;opacity:.6}}

/* Responsive polish: artwork and release information share one clear baseline. */
.hero-release{display:flex;align-items:center;gap:24px;max-width:100%}
.hero-artwork{width:clamp(112px,12vw,172px);height:auto;aspect-ratio:1;flex:none;box-shadow:0 8px 32px #0003}
.hero-release-copy{min-width:0}
.hero-release h2{margin:10px 0 18px}
.close-button,.detail-dialog>.close-button{display:inline-flex;align-items:center;justify-content:center;flex:none;gap:12px;min-height:44px;padding:9px 14px;border:1px solid currentColor;line-height:1;white-space:nowrap}
.close-button span{display:grid;place-items:center;width:18px;height:18px;font-size:24px;line-height:18px;letter-spacing:0}
.close-button:focus-visible{outline-offset:3px}
.detail-dialog>.close-button{display:flex;width:max-content;margin-left:auto}
.photo-dialog-top h2,.video-dialog-top h2{min-width:0;overflow-wrap:anywhere}
.home-page .gallery-preview .gallery-card:nth-child(n){padding-top:0;max-width:none;margin:0}
.home-page .gallery-preview{row-gap:40px}
@media(min-width:761px){.profile-section{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.profile-photo{position:sticky;top:40px}}
@media(max-width:760px){
 .hero-portrait img{object-position:33% 42%}
 .hero-release{gap:16px;bottom:100px;right:var(--gutter)}
 .hero-artwork{width:clamp(80px,23vw,120px)}
 .hero-release .eyebrow{font-size:10px;letter-spacing:.04em}
 .hero-release h2{font-size:34px;margin:8px 0 10px}
 .hero-actions{gap:6px 16px;flex-wrap:wrap;font-size:11px}
 .hero-actions a{gap:10px;padding:4px 0 6px}
 .hero-actions span{font-size:16px}
 .hero-logo{bottom:34%;width:53vw}
 .menu-dialog{padding:20px var(--gutter) 32px;overflow-y:auto}
 .menu-dialog nav:not(.language-nav){margin-top:24px}
 .menu-dialog nav:not(.language-nav) a{font-size:clamp(30px,5.5svh,46px);padding:7px 0}
 .menu-social{margin-top:24px}
 .menu-dialog>.language-nav{margin-top:20px}
 .section-head{gap:16px;flex-wrap:wrap}
 .home-page .gallery-preview{display:grid;gap:28px 18px}
 .home-page .gallery-preview .gallery-card:nth-child(4){grid-column:1/-1;grid-row:3}
 .home-page .gallery-preview .gallery-card:nth-child(5){grid-column:1/-1;width:65%;justify-self:center}
 .photo-dialog-top,.video-dialog-top{align-items:flex-start;gap:12px}
 .photo-dialog h2,.video-dialog h2{font-size:20px;line-height:1.4}
 .close-button{font-size:12px;gap:8px;padding:9px 10px}
}
@media(max-width:360px){.hero-release{gap:12px}.hero-artwork{width:80px}.hero-release h2{font-size:30px}.hero-actions{gap:4px 12px}.hero-release .eyebrow{font-size:9px}.hero-logo{bottom:35%}}

.home-page .gallery-preview .gallery-card:nth-child(4) .gallery-image{aspect-ratio:4/3}
@media(min-width:761px){.home-page .gallery-preview{grid-template-columns:repeat(12,minmax(0,1fr));align-items:center}.home-page .gallery-preview .gallery-card:nth-child(n){grid-column:span 3}.home-page .gallery-preview .gallery-card:nth-child(-n+2),.home-page .gallery-preview .gallery-card:nth-child(4){grid-column:span 6}}

.songwriting-home{margin-top:64px;padding-top:40px;border-top:1px solid var(--line)}
.songwriting-home .section-head{align-items:center;margin-bottom:24px}
.songwriting-home .section-head h3{font:400 24px/1.4 var(--sans);letter-spacing:.03em}
.songwriting-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.songwriting-card{padding:28px;border:1px solid var(--line);display:flex;flex-direction:column;min-width:0}
.songwriting-card[hidden]{display:none}
.songwriting-artist{font-size:14px;letter-spacing:.06em;color:var(--muted);margin-bottom:14px}
.songwriting-card h2,.songwriting-card h4{font:400 clamp(24px,2.4vw,32px)/1.35 var(--sans);margin:0 0 20px;overflow-wrap:anywhere}
.songwriting-credit,.songwriting-note{font-size:13px;line-height:1.8}
.songwriting-note{color:var(--muted);margin-top:8px}
.songwriting-card time{font-size:12px;letter-spacing:.04em;margin-top:20px}
.songwriting-links{display:flex;flex-wrap:wrap;gap:12px 24px;padding-top:24px;margin-top:auto;font-size:12px}
.songwriting-links a{padding:6px 0;border-bottom:1px solid currentColor}
@media(max-width:760px){.songwriting-grid{grid-template-columns:1fr}.songwriting-card{padding:24px}.songwriting-home{margin-top:48px}.discography-grid .songwriting-card{grid-column:1/-1}}

@media(min-width:1101px){.discography-grid .songwriting-card{grid-column:span 2}}
@media(min-width:761px) and (max-width:1100px){.discography-grid .songwriting-card{grid-column:1/-1}}

/* Artwork belongs to songwriting cards; the hero release remains text-only. */
.hero-release{display:block}
.hero-release .eyebrow{font-size:12px}
.hero-release h2{font-size:clamp(38px,4.2vw,62px)}
.hero-actions{font-size:14px;gap:32px}
.songwriting-card{display:grid;grid-template-columns:minmax(96px,.65fr) minmax(0,1fr);gap:24px;align-items:start}
.songwriting-artwork{display:block;aspect-ratio:1;background:#e3e4dc}
.songwriting-artwork img{width:100%;height:100%;object-fit:contain}
.songwriting-copy{min-width:0;display:flex;flex-direction:column;height:100%}
.songwriting-copy h2,.songwriting-copy h4{font-size:clamp(22px,2vw,28px)}
@media(max-width:760px){.hero-release h2{font-size:39px}.hero-actions{gap:25px;font-size:13px}.hero-actions a{gap:18px}.hero-release .eyebrow{letter-spacing:.08em}.songwriting-card{grid-template-columns:88px minmax(0,1fr);gap:16px;padding:20px}.songwriting-copy h2,.songwriting-copy h4{font-size:22px}.songwriting-credit,.songwriting-note{font-size:12px}.songwriting-links{gap:8px;padding-top:18px}}
@media(max-width:360px){.songwriting-card{grid-template-columns:1fr}.songwriting-artwork{width:120px}.hero-release .eyebrow{font-size:11px}}

/* News categories: a consistent outlined label beside each date. */
.news-category{display:inline-flex;align-items:center;justify-content:center;width:max-content;min-width:74px;padding:4px 9px;border:1px solid var(--muted);font-size:12px;line-height:1.4;letter-spacing:.06em;white-space:nowrap}

/* Full biography is available on demand without requiring JavaScript. */
.profile-bio{margin-top:28px}
.profile-bio summary{display:flex;align-items:center;justify-content:space-between;gap:28px;width:max-content;min-height:44px;padding:10px 0;border-bottom:1px solid currentColor;cursor:pointer;font:500 14px/1.5 var(--sans);list-style:none}
.profile-bio summary::-webkit-details-marker{display:none}
.profile-bio summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.bio-close-label,.profile-bio[open] .bio-open-label{display:none}
.profile-bio[open] .bio-close-label{display:inline}
.bio-toggle-mark{width:14px;height:14px;position:relative;flex:none}
.bio-toggle-mark::before,.bio-toggle-mark::after{content:"";position:absolute;background:currentColor}
.bio-toggle-mark::before{left:0;right:0;top:6px;height:1px}
.bio-toggle-mark::after{top:0;bottom:0;left:6px;width:1px}
.profile-bio[open] .bio-toggle-mark::after{display:none}
.profile-bio-body{padding-top:28px}
.profile-bio-body p{font-size:16px;line-height:2;margin-bottom:18px}
.profile-bio-body p:last-child{margin-bottom:0}
html[lang="en"] .profile-bio-body p{line-height:1.85}

.gallery-photographer a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.gallery-photographer a:hover{opacity:.65}

.photo-dialog-credit{font-size:12px;line-height:1.7;margin-top:6px;color:#d1d3c7}.photo-dialog-credit a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}

/* Compact language selection keeps all five locales accessible at any width. */
.media-section{padding-top:16px;padding-bottom:100px}
.media-preview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
.media-preview-card{position:relative;display:block;padding:25px 34px 48px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--line)}
.media-preview-date{display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-bottom:27px;font:400 24px/1.3 var(--serif);font-variant-numeric:lining-nums tabular-nums}
.media-preview-card h3{font:400 23px/1.55 var(--sans);letter-spacing:-.025em}
.media-preview-arrow{position:absolute;right:0;bottom:20px;font-size:25px;transition:transform .2s}
.media-preview-card:hover .media-preview-arrow{transform:translate(3px,-3px)}
.media-preview-card:focus-visible{outline:2px solid currentColor;outline-offset:5px}
@media(max-width:760px){.media-section{padding-top:0;padding-bottom:64px}.media-preview{grid-template-columns:minmax(0,1fr);gap:0}.media-preview-card{padding:25px 34px 28px 0}.media-preview-card+.media-preview-card{border-top:0}.media-preview-date{margin-bottom:18px}.media-preview-card h3{font-size:21px}.media-preview-arrow{bottom:26px}}
.media-row{display:grid;grid-template-columns:205px minmax(0,1fr);gap:48px;padding:36px 0 40px;border-bottom:1px solid var(--line);scroll-margin-top:32px}
.media-row:first-child{padding-top:0}
.media-date{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font:400 28px/1.35 var(--serif);font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.02em}
.media-date-end{font-size:23px}
.media-date-note,.media-date-unknown{font:400 12px/1.7 var(--sans);letter-spacing:0;color:var(--muted)}
.media-copy{min-width:0}
.media-meta{display:flex;align-items:center;flex-wrap:wrap;gap:10px 14px;margin:0 0 18px;font-size:12px;line-height:1.5}
.media-category{display:inline-flex;justify-content:center;align-items:center;min-width:66px;min-height:26px;border:1px solid var(--muted);padding:3px 8px;font-size:11px;letter-spacing:.06em}
.media-outlet{color:var(--muted);letter-spacing:.03em}
.media-upcoming{display:inline-flex;align-items:center;gap:7px;color:#4d5e39;font-size:11px;letter-spacing:.03em}
.media-upcoming::before{content:"";width:4px;height:4px;border-radius:50%;background:currentColor;flex:none}
.media-copy h2{font:400 clamp(21px,2.2vw,28px)/1.55 var(--sans);letter-spacing:-.02em;overflow-wrap:break-word}
.media-airtime{font-size:12px;line-height:1.7;margin-top:12px}
.media-description{max-width:760px;font-size:14px;line-height:1.95;color:var(--muted);margin-top:12px}
.media-link{display:inline-flex;align-items:center;justify-content:space-between;gap:30px;min-height:44px;margin-top:17px;border-bottom:1px solid currentColor;font-size:12px;line-height:1.5;letter-spacing:.03em}
.media-link span{font-size:19px;transition:transform .2s}
.media-link:hover span{transform:translate(2px,-2px)}
.media-link:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.media-copy h3{font:400 clamp(21px,2.2vw,28px)/1.55 var(--sans);letter-spacing:-.02em;overflow-wrap:break-word}
@media(max-width:760px){
 .media-row{grid-template-columns:minmax(0,1fr);gap:17px;padding:28px 0 32px}
 .media-date{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:5px 8px;font-size:25px}
 .media-date-end{font-size:22px}
 .media-date-note{width:100%}
 .media-meta{gap:8px 12px;margin-bottom:12px}
 .media-copy h2{font-size:21px;line-height:1.55}
 .media-description{font-size:13px;line-height:1.9}
 .media-link{margin-top:12px}
}
.language-switch{position:relative;flex:none;color:inherit}
.language-toggle{position:relative;z-index:21;display:inline-flex;align-items:center;justify-content:space-between;gap:14px;min-width:64px;min-height:44px;padding:8px 3px;background:none;border:0;border-radius:0;font:500 12px/1.4 var(--sans);letter-spacing:.1em;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
.language-toggle::after{content:"";position:absolute;left:3px;right:3px;bottom:5px;height:1px;background:currentColor;opacity:.28;transform:scaleX(.5);transform-origin:left;transition:transform .25s ease,opacity .25s ease}
.language-toggle[aria-expanded="true"]::after,.language-toggle:focus-visible::after{transform:scaleX(1);opacity:.75}
.language-toggle:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.language-indicator{position:relative;width:10px;height:10px;flex:none;pointer-events:none;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.language-indicator::before,.language-indicator::after{content:"";position:absolute;left:0;top:4.5px;width:10px;height:1px;background:currentColor}
.language-indicator::after{transform:rotate(90deg)}
.language-toggle[aria-expanded="true"] .language-indicator{transform:rotate(45deg)}
.language-switch>.language-nav{position:absolute;right:0;top:calc(100% + 12px);z-index:20;display:flex;flex-direction:column;align-items:stretch;gap:0;width:218px;max-width:calc(100vw - 48px);padding:10px 20px;background:var(--ivory);color:var(--ink);border:0;border-top:1px solid #c5c6bd;box-shadow:0 14px 36px #11150f26}
.language-toggle[hidden],.language-switch>.language-nav[hidden]{display:none}
.language-switch.is-open>.language-nav{animation:language-enter .22s cubic-bezier(.22,1,.36,1) both}
.language-switch>.language-nav a{display:flex;align-items:center;justify-content:flex-start;gap:16px;min-height:50px;padding:12px 0;font:400 12px/1.4 var(--sans);letter-spacing:.01em;opacity:1;border-bottom:1px solid #22251f1c;transition:color .2s ease}
.language-switch>.language-nav a:last-child{border-bottom:0}
.language-switch>.language-nav .language-code{justify-content:flex-start;width:25px;font-size:12px;font-weight:600;letter-spacing:.09em;opacity:1}
.language-switch>.language-nav .language-name{color:var(--muted);transition:color .2s ease}
.language-switch>.language-nav a[aria-current] .language-name{color:var(--ink)}
.language-switch>.language-nav a[aria-current]::after{content:"";position:static;flex:none;margin-left:auto;width:4px;height:4px;border-radius:50%;background:currentColor}
.language-switch>.language-nav a:focus-visible{outline:1px solid currentColor;outline-offset:4px}
.language-switch:not([data-enhanced])>.language-nav{position:static;flex-direction:row;flex-wrap:wrap;width:auto;max-width:380px;padding:0;background:none;color:inherit;box-shadow:none;border:0;gap:4px 16px}
.language-switch:not([data-enhanced])>.language-nav a{gap:8px;border:0}
.language-switch:not([data-enhanced]) .language-name{color:inherit}
@media(hover:hover){.language-toggle:hover::after{transform:scaleX(1);opacity:.75}.language-switch>.language-nav a:hover .language-name{color:var(--ink)}}
@keyframes language-enter{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.language-switch.is-open>.language-nav{animation:none}.language-toggle::after,.language-indicator,.language-name{transition:none}}
.menu-dialog>.language-nav{display:flex;flex-direction:row;flex-wrap:wrap;gap:8px 18px;width:100%;max-width:480px;margin-top:24px}
.menu-dialog>.language-nav a{min-width:44px;min-height:44px;font-size:14px;line-height:1.4;letter-spacing:0;padding:4px 0}
html[lang="zh-Hans"]{--sans:Manrope,"PingFang SC","Microsoft YaHei","Noto Sans CJK SC",sans-serif}
html[lang="zh-Hant"]{--sans:Manrope,"PingFang TC","Microsoft JhengHei","Noto Sans CJK TC",sans-serif}
html[lang="ko"]{--sans:Manrope,"Apple SD Gothic Neo","Malgun Gothic","Noto Sans CJK KR",sans-serif;word-break:keep-all;overflow-wrap:break-word}
:is(html[lang^="zh"],html[lang="ko"]) :is(.section-head h2,.profile-copy>h2,.archive-heading h1){font-family:var(--sans);font-weight:400;letter-spacing:-.035em;font-size:clamp(40px,5vw,72px);line-height:1.25}
:is(html[lang^="zh"],html[lang="ko"]) .profile-copy p{line-height:1.95}
:is(html[lang^="zh"],html[lang="ko"]) .desktop-nav{letter-spacing:.025em}
.festival-list{margin:0 0 80px}
.festival-row{grid-template-columns:minmax(140px,.7fr) minmax(0,2fr) auto;gap:32px}
.festival-row h3{font:400 clamp(22px,2.3vw,30px)/1.35 var(--sans);letter-spacing:-.025em}
.festival-row .live-venue p{margin-top:10px;font-size:14px;line-height:1.65;color:var(--muted)}
@media(max-width:760px){
 .js .site-header{flex-wrap:nowrap}
 .header-tools{gap:12px}
 .language-toggle{min-width:54px;gap:12px}
 .language-switch>.language-nav{right:0;width:208px}
 .menu-dialog>.language-nav{gap:8px 16px}
 .festival-list{margin-bottom:48px}
 .festival-row{grid-template-columns:minmax(0,1fr);gap:20px;padding:28px 0}
 .festival-row .ticket-link{width:max-content;max-width:100%;gap:36px}
 .festival-row h3{font-size:23px}
 :is(html[lang^="zh"],html[lang="ko"]) .section-head h2{font-size:40px}
 :is(html[lang^="zh"],html[lang="ko"]) .archive-heading h1{font-size:44px}
}

/* Media calendar shares the site's restrained typography and fine rules. */
.media-month-note{display:none}
.is-calendar .media-month-note{display:block}
.media-archive{padding-top:118px}
.media-archive .archive-back{padding:6px 0}
.media-archive .archive-heading{margin:12px 0 20px}
.media-archive .archive-heading h1{font-size:clamp(64px,6vw,80px)}
.media-view-controls{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:22px}
.media-view-switch{display:flex;border:1px solid var(--ink)}
.media-view-switch button{min-height:44px;padding:10px 22px;border:0;background:transparent;font-size:14px;line-height:1.4;color:var(--ink)}
.media-view-switch button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.media-view-switch button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.media-timezone{font-size:12px;color:var(--muted);text-align:right}
.media-explorer .archive-toolbar{margin-bottom:18px;padding-bottom:14px}
.media-explorer.is-calendar .media-calendar-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.5fr);align-items:start;gap:40px}
.media-calendar,.media-results{min-width:0}
.media-month-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px;min-height:44px}
.media-month-nav h2{font:400 28px/1.3 var(--serif);letter-spacing:-.025em}
.media-month-nav>div{display:flex;align-items:center;gap:4px}
.media-month-nav button{display:inline-grid;place-items:center;min-width:44px;min-height:44px;padding:5px 10px;background:transparent;border:1px solid transparent;font-size:25px;line-height:1}
.media-month-nav [data-month="today"]{font:400 14px/1.4 var(--sans);padding:8px 12px;white-space:nowrap}
.media-month-nav button:hover,.media-month-nav button:focus-visible{border-color:var(--ink)}
.media-month-table{width:100%;border-collapse:collapse;table-layout:fixed}
.media-month-table th{height:32px;font:400 12px/1.4 var(--sans);color:var(--muted);text-align:center}
.media-month-table td{border:1px solid var(--line);padding:0;vertical-align:top}
.media-month-padding{background:#22251f04}
.media-day{display:flex;flex-direction:column;gap:12px;width:100%;min-height:84px;padding:9px 8px;border:0;background:transparent;color:var(--ink);text-align:left;cursor:pointer}
.media-day-date{display:flex;width:100%;justify-content:space-between;align-items:center;gap:3px}
.media-day-number{font:400 19px/1.35 var(--serif);font-variant-numeric:lining-nums tabular-nums}
.media-day-count{display:grid;place-items:center;width:17px;min-height:17px;border-radius:50%;font:500 12px/1 var(--sans);background:#22251f12}
.media-day-events{display:flex;flex-direction:column;gap:5px;width:100%;min-width:0}
.media-day-event{display:block;font:400 12px/1.4 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-left:5px;border-left:2px solid #687751}
.media-event-tv{border-color:#526b81}.media-event-web{border-color:#9a7354}
.media-day:hover{background:#22251f08}
.media-day[aria-current="date"] .media-day-number{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.media-day[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.media-day[aria-pressed="true"] .media-day-count{background:#ffffff24}
.media-day[aria-pressed="true"] .media-day-event{border-color:#d1d5c4}
.media-day:focus-visible{outline:2px solid var(--ink);outline-offset:3px;position:relative;z-index:1}
.media-agenda-heading{font:400 25px/1.45 var(--sans);letter-spacing:-.035em;padding:7px 0 22px;border-bottom:1px solid var(--ink)}
.media-calendar-back{display:none}
.media-results,.media-calendar{scroll-margin-top:24px}
.is-calendar .media-results .media-row{display:block;padding:26px 0;border:0}
.is-calendar .media-results .media-row+.media-row{border-top:1px solid var(--line)}
.is-calendar .media-results .media-date{display:none}
.is-calendar .media-results .media-date:has(.media-month-note){display:flex;margin-bottom:14px}
.is-calendar .media-results .media-copy h3{font-size:23px;line-height:1.5}
.media-category{font-size:12px}
.media-description{font-size:16px;line-height:1.85}
.media-preview-date .media-upcoming{font-family:var(--sans)}
.media-airtime{font-size:14px;line-height:1.7}
.media-actions{display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.calendar-save{max-width:100%}
.google-calendar-link{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-height:44px;padding:11px 14px;border:1px solid var(--ink);font:400 14px/1.5 var(--sans);transition:background .2s,color .2s}
.google-calendar-link svg{flex:none}
.google-calendar-link:hover{background:var(--ink);color:var(--paper)}
.google-calendar-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.calendar-save-note{max-width:340px;font-size:12px;line-height:1.8;color:var(--muted);margin-top:10px}
.media-empty{padding:30px 0;font-size:16px;line-height:1.8;color:var(--muted)}
.media-undated{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.media-undated summary{padding:18px 0;font-size:14px;line-height:1.7;cursor:pointer}
.media-undated [data-undated-items]{padding-top:24px}
.media-undated .media-row:last-child{border-bottom:0}
@media(max-width:1000px){.media-explorer.is-calendar .media-calendar-layout{grid-template-columns:minmax(0,1fr);gap:32px}.media-day{min-height:88px}.media-results .media-actions{align-items:flex-start}.is-calendar .media-results .media-row{max-width:760px}.is-calendar .media-calendar-back{display:flex;align-items:center;gap:18px;min-height:44px;margin-bottom:14px;padding:8px 0;background:transparent;border:0;font-size:14px;line-height:1.5}.media-calendar-back span{font-size:20px}}
@media(max-width:760px){
 .media-archive{padding-top:112px}
 .media-archive .archive-heading{margin:12px 0 20px}
 .media-archive .archive-heading h1{font-size:56px}
 .media-view-controls{align-items:center;gap:12px;margin-bottom:18px}
 .media-view-switch button{padding:10px 15px}
 .media-timezone{max-width:95px;line-height:1.6}
 .media-month-nav{margin-bottom:12px}
 .media-month-nav h2{font-size:25px}
 .media-month-table th{height:30px}
 .media-day{padding:6px 2px;min-height:58px;gap:0}
 .media-day-date{flex-direction:column;gap:5px}
 .media-day-number{font-size:18px}
 .media-day-events{display:none}
 .media-day-count{width:16px;min-height:16px}
 .media-agenda-heading{font-size:23px;padding:0 0 17px}
 .media-description{font-size:16px}
 .media-undated{margin-top:26px}
}

/* Compact region labels alongside the native language names. */
.language-code{display:inline-flex;align-items:center;justify-content:center;flex:none;width:22px;font:500 10px/1 var(--sans);letter-spacing:.06em;opacity:.65}
.menu-dialog>.language-nav{gap:0 24px;border-top:1px solid #f5efe42e;padding-top:10px}
.menu-dialog>.language-nav a{display:inline-flex;align-items:center;gap:10px;font-size:12px}
.menu-dialog>.language-nav .language-code{font-size:11px;font-weight:600;letter-spacing:.08em;opacity:1}
.menu-dialog>.language-nav a[aria-current]::after{height:3px;width:3px;left:9px;bottom:3px;border-radius:50%}
@media(max-width:760px){.menu-dialog>.language-nav{gap:0 18px}.menu-dialog>.language-nav a{font-size:12px}}

/* One schedule for stage appearances, broadcasts and press. */
.schedule-section{position:relative}
.schedule-shortcuts{display:flex;gap:12px 26px;flex-wrap:wrap;margin:-6px 0 28px}
.schedule-shortcuts a{font:500 13px/1.4 var(--sans);letter-spacing:.05em;padding:10px 0;border-bottom:1px solid transparent}
.schedule-shortcuts a:hover,.schedule-shortcuts a:focus-visible{border-color:currentColor}
.schedule-section .media-preview{grid-template-columns:repeat(4,minmax(0,1fr));gap:26px}
.schedule-section .media-preview-card h3{font-size:21px}
.schedule-section .media-preview-date{font-size:23px}
.release-story{margin-top:18px;border-top:1px solid var(--line)}
.release-story summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:46px;padding:10px 0;cursor:pointer;font-size:.875rem;line-height:1.6}
.release-story summary::-webkit-details-marker{display:none}
.release-story summary:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.release-story-mark{position:relative;flex:0 0 12px;width:12px;height:12px}
.release-story-mark::before,.release-story-mark::after{content:"";position:absolute;background:currentColor;inset:5px 0 auto;height:1px}
.release-story-mark::after{transform:rotate(90deg);transition:transform .2s}
.release-story[open] .release-story-mark::after{transform:rotate(0deg)}
.release-story-body p{font-size:1rem;line-height:1.9;margin:8px 0 4px;overflow-wrap:anywhere}
@media(prefers-reduced-motion:reduce){.release-story-mark::after{transition:none}}
.schedule-tour{margin-top:72px}
.tour-visual{display:grid;grid-template-columns:minmax(0,520px) minmax(0,220px);justify-content:center;align-items:center;gap:clamp(32px,5vw,72px);margin-bottom:56px}
.live-section .tour-visual .tour-heading{margin:0;max-width:none}
.tour-message{display:block;min-width:0}
.tour-message-image{position:relative;aspect-ratio:9/16;overflow:hidden;background:#242720}
.tour-message-image img{width:100%;height:100%;object-fit:contain;display:block}
.tour-message .play-button{width:54px;height:54px;background:#15171170}
.tour-message-caption{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;font-size:.875rem;line-height:1.7}
.tour-message-caption time{color:var(--muted);font-variant-numeric:tabular-nums}
.tour-message:hover .play-button{background:#151711b3}
.video-dialog.is-portrait{width:min(460px,94vw)}
.video-dialog.is-portrait h2{font-size:18px;line-height:1.5}
.video-dialog.is-portrait .video-frame{aspect-ratio:auto;height:min(68svh,680px)}
.video-frame video{display:block;width:100%;height:100%;object-fit:contain}
.video-live-group{margin-top:56px;padding-top:30px;border-top:1px solid #ffffff30}
.video-group-title{font:500 14px/1.5 var(--sans);letter-spacing:.12em;margin:0 0 24px}
.video-live-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
.video-live .video-caption{display:block}
.video-live .video-caption h4{font:500 clamp(18px,1.7vw,23px)/1.5 var(--sans);letter-spacing:.01em;margin:0}
.video-live .video-caption>span{display:block;margin-top:6px}
@media(max-width:760px){
 .tour-visual{grid-template-columns:1fr;gap:24px;margin-bottom:32px}
 .tour-message{display:grid;grid-template-columns:112px minmax(0,1fr);gap:20px;align-items:center}
 .tour-message-caption{display:flex;flex-direction:column;gap:8px;margin:0}
 .tour-message .play-button{width:44px;height:44px}
 .video-live-group{margin-top:40px;padding-top:24px}
 .video-live-grid{grid-template-columns:1fr;gap:32px}
}
.media-archive .archive-heading{display:flex;align-items:center;justify-content:space-between;gap:22px}
.media-archive .archive-heading h1{font-size:clamp(50px,6vw,80px)}
.schedule-download{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid var(--ink);padding:13px 18px;min-height:48px;font:400 14px/1.5 var(--sans);max-width:100%;transition:background .2s,color .2s}
.schedule-download>span:last-child{font-size:20px;flex:none}
.schedule-download:hover{color:var(--paper);background:var(--ink)}
.schedule-download:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.media-event-live{border-color:#a86148}
.media-month-nav select,.schedule-period select{min-height:44px;padding:8px 28px 8px 10px;font:400 14px/1.5 var(--sans);border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);max-width:100%}
.schedule-period{display:flex;align-items:center;gap:14px;margin:0 0 24px;font-size:14px}
.schedule-period[hidden]{display:none}
.detail-dialog .calendar-import-title{font-size:clamp(22px,4vw,28px);text-wrap:balance;letter-spacing:0}
.calendar-subscribe-link{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;margin:24px 0 20px;min-height:56px;background:var(--ink);color:var(--paper);font:400 15px/1.6 var(--sans);border:1px solid var(--ink)}
.calendar-subscribe-link>span{flex:none;font-size:22px}
.calendar-subscribe-link:hover{background:transparent;color:var(--ink)}
.calendar-subscribe-link:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.calendar-file-options{margin-top:28px;border-top:1px solid var(--line)}
.calendar-file-options>summary{padding:18px 0;cursor:pointer;font-size:14px;line-height:1.6}
.calendar-file-options>.calendar-download-options{margin-top:4px}
.calendar-download-options{display:grid;gap:12px;margin:24px 0 28px}
.calendar-download-options>a{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--ink);padding:16px 18px;min-height:56px;font-size:15px;line-height:1.6}
.calendar-download-options>a:hover{background:#22251f0a}
.calendar-download-options small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.calendar-download-options>a>span:last-child{font-size:25px}
.calendar-import-links{display:flex;flex-wrap:wrap;gap:8px 24px;margin-top:12px;font-size:14px}
.calendar-import-links>a{padding:10px 0;border-bottom:1px solid var(--line)}
.detail-dialog .calendar-import-note{font-size:12px;color:var(--muted);margin-top:24px}
@media(max-width:1100px){.schedule-section .media-preview{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}}
@media(max-width:760px){
 .schedule-section .media-preview{grid-template-columns:minmax(0,1fr)}
 .schedule-shortcuts{gap:10px 24px;margin-bottom:16px}
 .schedule-tour{margin-top:44px}
 .media-archive .archive-heading{flex-direction:column;align-items:flex-start;gap:20px;margin-bottom:24px}
 .schedule-download{width:100%;gap:16px}
 .media-explorer .filter-buttons{flex-wrap:wrap;gap:8px 18px}
 .media-explorer .filter-buttons button{font-size:12px;min-height:44px;padding:8px 0}
 .media-month-nav{align-items:flex-start;flex-direction:column;gap:10px}
 .media-month-nav>div{width:100%;justify-content:space-between}
 .media-month-nav select{min-width:82px}
 .media-month-nav h2{font-size:25px}
 .calendar-download-options>a{font-size:14px;padding:13px 14px}
}

/* Cover previews: a quiet central control, plus a single compact player. */
.preview-cover{position:relative;min-width:0;isolation:isolate}
.preview-cover>.songwriting-artwork{width:100%}
.preview-button{--preview-progress:0;position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);display:grid;place-items:center;width:60px;height:60px;border:1px solid #fff9;border-radius:50%;background:#181b18a8;color:#fff;box-shadow:0 3px 22px #0002;backdrop-filter:blur(8px);cursor:pointer;transition:background .2s,border-color .2s}
.preview-button:hover{background:#181b18d9;border-color:#fff}
.preview-button:focus-visible,.player-toggle:focus-visible,.player-close:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.preview-button>svg:not(.preview-ring),.player-toggle>svg{grid-area:1/1;width:24px;height:24px}
.preview-pause-icon,.preview-spinner{display:none}
.preview-button[data-state="playing"]>.preview-play-icon{display:none}
.preview-button[data-state="playing"]>.preview-pause-icon,.music-player[data-state="playing"] .preview-pause-icon{display:block}
.music-player[data-state="playing"] .preview-play-icon,[data-state="loading"]>.preview-play-icon,.music-player[data-state="loading"] .preview-play-icon{display:none}
.preview-spinner{grid-area:1/1;width:20px;height:20px;border:1px solid #fff5;border-top-color:currentColor;border-radius:50%;animation:preview-spin .8s linear infinite}
[data-state="loading"]>.preview-spinner,.music-player[data-state="loading"] .preview-spinner{display:block}
.preview-ring{position:absolute;inset:-1px;width:60px;height:60px;transform:rotate(-90deg);pointer-events:none}
.preview-ring circle{fill:none;stroke:currentColor;stroke-width:1.5;stroke-dasharray:var(--preview-progress) 100;transition:stroke-dasharray .2s linear}
.music-player{position:fixed;right:24px;bottom:24px;z-index:45;display:grid;grid-template-columns:44px minmax(0,1fr) 40px;gap:9px 12px;width:min(420px,calc(100% - 32px));padding:18px 16px 14px;background:#252620;color:#f5f3ec;border:1px solid #ffffff30;box-shadow:0 10px 40px #0003;isolation:isolate}
.player-toggle,.player-close{display:grid;place-items:center;align-self:start;width:44px;height:44px;border:1px solid #fff5;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.player-close{border:0;font-size:27px;font-weight:300;line-height:1}
.player-copy{align-self:center;min-width:0}
.player-copy p{margin:0;font:500 14px/1.5 var(--sans);overflow-wrap:anywhere}
.player-copy #preview-status{margin-top:3px;font-size:12px;color:#deded2}
.player-timeline{grid-column:1/-1;display:flex;align-items:center;gap:12px}
.player-timeline progress{appearance:none;flex:1;min-width:0;height:2px;border:0;background:#ffffff30;color:var(--paper)}
.player-timeline progress::-webkit-progress-bar{background:#ffffff30}
.player-timeline progress::-webkit-progress-value{background:var(--paper)}
.player-timeline progress::-moz-progress-bar{background:var(--paper)}
.preview-time{font:400 11px/1.5 var(--sans);font-variant-numeric:tabular-nums}
.preview-source{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px}
.preview-source small{max-width:180px;font:400 11px/1.5 var(--sans);color:#deded2}
.preview-source a{flex:none;display:block;min-height:37px}
.preview-source img{width:110px;height:37px;object-fit:contain}
@keyframes preview-spin{to{transform:rotate(360deg)}}
/* The YouTube player is lazy, muted, and confined to the thumbnail frame. */
.video-hover-frame{position:absolute;inset:0;width:100%;height:100%;border:0;opacity:0;pointer-events:none;transition:opacity .35s ease}
.video-card.is-previewing .video-hover-frame{opacity:1}
.video-card.is-previewing .play-button{opacity:0}
@media(min-width:761px) and (hover:hover) and (pointer:fine){.video-image{min-height:200px;width:100%}.video-card{min-width:0}}
/* Fewer repeated arrows; links retain their underline/focus treatment. */
.news-row{grid-template-columns:110px 90px minmax(0,1fr)}
@media(max-width:1050px){.news-row{grid-template-columns:95px 75px minmax(0,1fr)}}
@media(max-width:760px){
 .news-row{grid-template-columns:110px minmax(0,1fr)}
 .news-row h3{grid-column:1/-1}
 .preview-button,.preview-ring{width:52px;height:52px}
 .songwriting-card .preview-button,.songwriting-card .preview-ring{width:44px;height:44px}
 .music-player{right:16px;bottom:max(12px,env(safe-area-inset-bottom));gap:8px 10px;padding:14px 12px 12px}
}
@media(prefers-reduced-motion:reduce){.preview-button,.preview-ring,.video-hover-frame{transition:none}.preview-spinner{animation:none}}

/* A quiet signup invitation, sharing the site's existing type and spacing. */
.hero-newsletter{display:table;margin-top:22px;padding:8px 0 7px;border-bottom:1px solid #f5efe45c;font:400 14px/1.6 var(--sans);letter-spacing:.015em;transition:border-color .2s}
.hero-newsletter:hover{border-color:currentColor}
.newsletter-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,112px);padding-top:100px;padding-bottom:108px;align-items:start}
.newsletter-intro h2{font:400 clamp(30px,3.4vw,48px)/1.4 var(--serif);letter-spacing:-.02em;text-wrap:balance}
.newsletter-intro p{max-width:29em;margin-top:23px;font-size:16px;line-height:1.9;color:var(--muted)}
.newsletter-form{min-width:0}
.newsletter-submit{display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;width:100%;min-height:54px;margin-top:0;padding:14px 22px;background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:0;font:400 15px/1.6 var(--sans);letter-spacing:.02em;transition:background .2s,color .2s}
.newsletter-submit:hover{background:transparent;color:var(--ink)}
.newsletter-submit:focus-visible{outline:2px solid var(--ink);outline-offset:4px}
.newsletter-submit:disabled{cursor:default;background:var(--ink);color:var(--paper);opacity:.68}
.newsletter-note{margin-top:16px;font-size:14px;line-height:1.8;color:var(--muted);overflow-wrap:anywhere}
.newsletter-privacy{margin-top:22px;font-size:14px;line-height:1.8;color:var(--muted)}
.newsletter-privacy summary{width:fit-content;max-width:100%;min-height:36px;padding:6px 0;cursor:pointer;text-underline-offset:4px}
.newsletter-privacy summary:hover{text-decoration:underline}
.newsletter-privacy p{margin:9px 0;overflow-wrap:anywhere}
.newsletter-privacy a{text-decoration:underline;text-underline-offset:4px}
.newsletter-status{border-left:2px solid var(--muted);padding-left:12px;margin:0 0 22px;font-size:14px;line-height:1.7;color:var(--ink)}
@media(max-width:1000px){.newsletter-section{gap:44px}}
@media(max-width:760px){.hero-newsletter{margin-top:12px;font-size:14px}.newsletter-section{grid-template-columns:minmax(0,1fr);padding-top:64px;padding-bottom:70px;gap:32px}.newsletter-intro h2{font-size:32px}.newsletter-intro p{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.hero-newsletter,.newsletter-submit{transition:none}}

/* The film replaces only the hero background; navigation stays interactive. */
.site-intro{position:absolute;inset:0;z-index:-1;overflow:hidden;background:#050608;color:#f5efe4;opacity:0;pointer-events:none;transition:opacity var(--intro-fade,1000ms) cubic-bezier(.4,0,.2,1)}
.site-intro[hidden],.intro-controls[hidden]{display:none}
html[data-intro="playing"] .site-intro{opacity:1}
.site-intro video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.site-intro::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#05060894,transparent 70%),linear-gradient(0deg,#050608c7,transparent 48%,#05060852);pointer-events:none}
.site-intro.is-leaving{opacity:0;pointer-events:none}
.intro-controls{position:absolute;left:var(--gutter);bottom:max(24px,env(safe-area-inset-bottom));z-index:2;display:flex;align-items:center;color:var(--ivory);transition:opacity 250ms ease}
html[data-intro="revealing"] .intro-controls{opacity:0;pointer-events:none}
.intro-skip{display:grid;place-items:center;min-width:64px;min-height:48px;padding:8px 0;background:transparent;border:0;color:inherit;font:500 14px/1.5 var(--sans);letter-spacing:.15em;text-shadow:0 1px 12px #000}
.intro-skip span{padding:4px 0;border-bottom:1px solid #f5efe470}
.intro-skip:hover span{border-color:currentColor}
.intro-skip:focus-visible{outline:1px solid currentColor;outline-offset:5px}
.intro-progress{position:absolute;inset:auto 0 0;height:1px;z-index:2;background:#f5efe426;pointer-events:none}
.intro-progress span{display:block;width:100%;height:100%;background:#f5efe4b3;transform:scaleX(var(--intro-progress,0));transform-origin:left}
@media(max-width:760px){.site-intro::after{background:linear-gradient(0deg,#050608d9,transparent 70%),linear-gradient(180deg,#05060880,transparent 30%)}.intro-controls{left:auto;right:var(--gutter);top:96px;bottom:auto}}
@media(max-width:400px){.header-tools{position:relative}.language-switch[data-enhanced]{position:static}}
@media(prefers-reduced-motion:reduce){.site-intro,.intro-controls{transition:none}}

/* Individual news and release pages continue the archive's typography. */
.detail-page{max-width:1240px;padding-top:160px;padding-bottom:100px}
.detail-page>.archive-back{display:inline-flex;margin-bottom:44px;min-height:44px;align-items:center}
.detail-page h1{font:400 clamp(28px,3.5vw,48px)/1.45 var(--sans);letter-spacing:-.025em;overflow-wrap:anywhere}
.news-page>article{max-width:820px;margin:0 auto}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px;font-size:14px;color:var(--muted);margin:0 0 22px}
.article-meta .news-category{color:var(--muted)}
.article-body{font-size:16px;line-height:2;overflow-wrap:anywhere}
.article-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin-top:32px}
.article-actions a,.release-listen{display:inline-flex;align-items:center;min-height:44px;border-bottom:1px solid currentColor;font-size:14px;letter-spacing:.04em}
.article-actions .detail-cta{margin:0}
.detail-permalink{color:var(--muted)}
.news-page .news-detail-image{margin:32px 0}
.news-page .news-detail-image img{width:100%;max-height:720px;object-fit:contain;background:transparent}
.news-page .news-detail-video{margin:32px 0;aspect-ratio:16/9;position:relative;background:var(--dark);overflow:hidden}
.news-video-poster{position:absolute;inset:0;display:block;color:var(--ivory)}
.news-video-poster img{width:100%;height:100%;object-fit:cover}
.news-video-poster .play-button{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
.news-detail-video iframe{display:block;width:100%;height:100%;border:0}
.release-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px;align-items:start}
.release-detail-art{width:100%;max-width:480px;margin:0 auto}
.release-detail-copy{padding:12px 0}
.release-detail-copy h1{font-family:var(--serif);font-size:clamp(34px,4vw,58px);line-height:1.15;margin:12px 0 24px}
.release-detail-artist{font-size:16px;line-height:1.5}
.release-detail-copy .article-meta{gap:12px 24px}
.release-track-count{font-size:14px;color:var(--muted)}
.release-detail-story{margin-top:32px}
.release-detail-story h2{font:400 16px/1.5 var(--sans);margin-bottom:12px}
.release-detail-copy .article-body+.article-body{margin-top:18px}
.release-card-actions{margin-top:12px}
.release-card h2 a:hover,.release-card h3 a:hover,.songwriting-copy h2 a:hover{text-decoration:underline;text-underline-offset:5px}
@media(min-width:981px){
 html{scroll-padding-top:120px}
 .site-header{position:fixed;z-index:30}
}
@media(max-width:980px){
 html{scroll-padding-top:105px}
 .js .site-header{position:fixed;top:0;left:0;right:0;z-index:30;background:#252620}
 .detail-page{padding-top:124px}
 .release-detail-grid{gap:36px}
}
@media(max-width:760px){
 .news-row{grid-template-columns:minmax(0,1fr);gap:10px;align-items:start;padding:24px 0}
 .news-row>time{grid-column:1;grid-row:1;justify-self:start}
 .news-row>.news-category{grid-column:1;grid-row:2;justify-self:start;justify-content:center;text-align:center}
 .news-row>h3{grid-column:1;grid-row:3;padding-top:2px}
 .news-page .article-meta,#detail-body>.article-meta{flex-direction:column;align-items:flex-start;gap:10px}
 .detail-page{padding-top:112px;padding-bottom:64px}
 .detail-page>.archive-back{margin-bottom:28px}
 .detail-page h1{font-size:26px;line-height:1.55}
 .release-detail-grid{grid-template-columns:minmax(0,1fr);gap:28px}
 .release-detail-art{max-width:420px}
 .release-detail-copy{padding:0}
 .release-detail-copy h1{font-size:38px;line-height:1.2}
 .news-page .news-detail-image,.news-page .news-detail-video{margin:24px 0}
 .article-meta{margin-bottom:18px}
 .article-actions{gap:14px 24px;margin-top:24px}
}

/* Older news stays available through a native keyboard-accessible disclosure. */
.news-archive{position:relative;z-index:1;margin-top:1.5rem}.news-archive>summary{cursor:pointer;width:fit-content;min-height:44px;padding:12px 0;font-size:1rem;color:inherit}.news-archive>summary:focus-visible{outline:2px solid currentColor;outline-offset:6px}.news-archive-count{opacity:.7}.news-archive[open]>.news-list{margin-top:.75rem}
