.detail-main{max-width:1600px;margin:auto;min-height:65vh;padding-bottom:85px}
.page-breadcrumb{padding:29px 0 0;font-size:11px;color:var(--muted);display:flex;gap:13px;align-items:center;flex-wrap:wrap}
.page-breadcrumb a{border-bottom:1px solid var(--line)}
.page-hero{padding:66px 0 58px;max-width:1000px}
.page-hero>.eyebrow{color:var(--muted);margin-bottom:23px}
.page-hero h1,.album-heading h1{font-family:var(--serif);font-size:clamp(48px,6.8vw,105px);line-height:1.02;letter-spacing:-.04em;overflow-wrap:break-word}
.page-lead{font-family:var(--serif);font-size:clamp(23px,2.6vw,35px);line-height:1.5;max-width:810px;margin-top:28px}
.page-section{border-top:1px solid var(--line);padding:35px 0 42px;display:grid;grid-template-columns:minmax(150px,1fr) minmax(0,3fr);gap:40px}
.page-section>h2{font-family:var(--serif);font-size:27px;line-height:1.25}
.prose{max-width:760px;font-size:15px;line-height:1.9}
.prose p+p{margin-top:22px}.prose h2,.prose h3{font-family:var(--serif);font-size:27px;margin:32px 0 15px;line-height:1.3}
.page-link{display:inline-flex;align-items:center;gap:28px;font-size:12px;padding-bottom:5px;border-bottom:1px solid currentColor;line-height:1.6}
.page-link:hover{color:var(--accent)}.page-actions{display:flex;gap:30px;flex-wrap:wrap;margin-top:30px}
.page-columns{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.page-art{max-width:470px;background:#dadcd0;padding:25px}.page-art img{width:100%;height:auto}
.project-list{list-style:none;margin:0;padding:0}.project-list>li,.project-list>article{border-bottom:1px solid var(--line);padding:25px 0}.project-list>li:first-child,.project-list>article:first-child{padding-top:0}
.project-list h2,.project-list h3{font-family:var(--serif);font-size:31px;line-height:1.2;margin:9px 0 14px}
.project-list p{max-width:700px;line-height:1.85;font-size:14px}.project-list .eyebrow{font-size:10px;color:var(--muted)}.project-list .page-link{margin-top:20px}.project-list .writing-status{margin-top:15px;font-size:10px;color:var(--muted)}
.work-table{list-style:none;margin:0;padding:0}.work-table>li{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:25px;border-bottom:1px solid var(--line);padding:19px 0}.work-table>li:first-child{padding-top:0}.work-table .work-composer{font-size:12px;color:var(--muted)}.work-table h3{font-family:var(--serif);font-size:24px;line-height:1.35}.work-table .work-setting{font-size:11px;color:var(--muted);margin-top:7px}
.excerpt{border:0;border-left:2px solid var(--accent);padding:0 0 0 27px;margin:28px 0;font-family:var(--serif);font-size:25px;line-height:1.8}.excerpt p+p{margin-top:20px}
.article-meta,.page-caption{font-size:11px;color:var(--muted);line-height:1.7;margin-top:16px}
.album-overview{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(40px,6.7vw,100px);padding:55px 0 70px;align-items:center}
.album-cover-wrap{background:#dadcd0;padding:30px;width:100%;max-width:560px}
.album-cover-wrap>img,.album-cover-wrap>.cropped-cover{width:100%;height:auto;display:block}.album-cover-wrap>.cropped-cover{aspect-ratio:1;position:relative;overflow:hidden}.album-cover-wrap .cropped-cover img{position:absolute;height:auto;max-width:none}
.album-heading>.eyebrow{margin-bottom:24px;color:var(--muted)}.album-heading h1{font-size:clamp(38px,4.7vw,72px)}
.album-heading .album-subtitle{font-size:14px;margin-top:16px;color:var(--muted)}.album-heading .album-intro{font-family:var(--serif);font-size:22px;line-height:1.65;margin-top:26px;max-width:600px}
.album-heading .listening-options{margin-top:27px}.album-heading .listening-options>h3{font-family:var(--sans);font-size:10px}
.album-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:40px;row-gap:58px;padding:0 0 50px}
.album-grid-card{min-width:0}.album-grid-art{display:block;padding:18px;background:#dadcd0;aspect-ratio:1;overflow:hidden}.album-grid-art>img{width:100%;height:100%;object-fit:contain;transition:transform .4s}.album-grid-art .cropped-cover{display:block;position:relative;width:100%;height:100%;overflow:hidden}.album-grid-art:hover>img{transform:scale(1.025)}
.album-grid-card .eyebrow{font-size:9px;color:var(--muted);margin-top:18px}.album-grid-card h2{font-family:var(--serif);font-size:29px;line-height:1.2;margin-top:10px}.album-grid-card h2 a{display:flex;justify-content:space-between;gap:20px}.album-grid-card h2 a:hover{color:var(--accent)}
.track-list{counter-reset:track;list-style:none;margin:0;padding:0;max-width:850px}.track-list li{counter-increment:track;display:grid;grid-template-columns:27px minmax(0,1fr) auto;gap:15px;align-items:baseline;border-bottom:1px solid var(--line);padding:14px 0;font-size:14px;line-height:1.6}.track-list li:before{content:counter(track,decimal-leading-zero);font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.track-duration{font-size:10px;color:var(--muted);font-variant-numeric:tabular-nums}.track-group{margin-bottom:30px}.track-group>summary{font-family:var(--serif);font-size:25px;cursor:pointer;padding-bottom:18px}.track-caption{font-size:10px;color:var(--muted);margin-top:18px;line-height:1.7}.track-caption a{border-bottom:1px solid var(--line);margin-left:10px}
.programme-list{list-style:none;padding:0;margin:0}.programme-list li{font-family:var(--serif);font-size:24px;line-height:1.5;border-bottom:1px solid var(--line);padding:18px 0}.programme-list li:first-child{padding-top:0}.programme-list li>span{display:block;font-family:var(--sans);font-size:11px;color:var(--muted);margin-bottom:7px}
.recording-pager{display:grid;grid-template-columns:1fr 1fr;gap:35px;border-top:1px solid var(--ink);padding-top:30px;margin-top:25px}.recording-pager>a{display:flex;flex-direction:column;gap:13px;font-family:var(--serif);font-size:25px;line-height:1.3}.recording-pager>a:last-child{text-align:right;align-items:flex-end}.recording-pager span{font-family:var(--sans);font-size:10px;color:var(--muted)}
.homepage-page-link{margin-top:27px}.works-intro>.homepage-page-link{display:inline-flex;color:#d3d7ca}.writing-row .page-link{margin-top:17px;font-size:11px}
.reveal-ready{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal-ready.is-revealed{opacity:1;transform:none}
.detail-main{animation:page-enter .42s ease-out}@keyframes page-enter{from{opacity:.3;transform:translateY(8px)}to{opacity:1;transform:none}}
html:lang(zh) .page-hero h1,html:lang(zh) .album-heading h1{letter-spacing:.015em;line-height:1.25}html:lang(zh) .page-lead{line-height:1.8}html:lang(zh) .prose,html:lang(zh) .album-intro{line-height:1.95}html:lang(zh) .excerpt{font-size:24px;line-height:2}
html:lang(de) .page-hero h1,html:lang(de) .album-heading h1{hyphens:auto}
@media(max-width:1000px){.page-section{grid-template-columns:1fr 2.4fr;gap:30px}.album-overview{gap:35px}.album-cover-wrap{padding:20px}.album-heading .album-intro{font-size:19px}.album-grid{column-gap:25px}.page-columns{gap:35px}}
@media(max-width:760px){.detail-main{padding-bottom:50px}.page-breadcrumb{padding-top:23px;font-size:10px}.page-hero{padding:43px 0 38px}.page-hero h1{font-size:48px}.page-lead{font-size:25px;margin-top:22px}.page-section{grid-template-columns:1fr;gap:23px;padding:27px 0 35px}.page-section>h2{font-size:25px}.prose{font-size:14px;line-height:1.9}.page-columns{grid-template-columns:1fr;gap:28px}.page-art{padding:20px;max-width:420px}.album-overview{grid-template-columns:1fr;gap:33px;padding:34px 0 43px}.album-cover-wrap{padding:22px;max-width:440px}.album-heading h1{font-size:42px}.album-heading .album-intro{font-size:22px}.album-heading>.eyebrow{margin-bottom:18px}.album-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:31px 18px}.album-grid-art{padding:8px}.album-grid-card h2{font-size:22px}.album-grid-card .eyebrow{font-size:8px;letter-spacing:0}.album-grid-card h2 a{gap:8px}.album-grid-card h2 span{font-size:16px}.track-list li{font-size:12px;gap:9px;grid-template-columns:20px minmax(0,1fr) auto;padding:13px 0}.track-duration{font-size:9px}.work-table>li{grid-template-columns:1fr;gap:8px}.work-table h3{font-size:24px}.programme-list li{font-size:22px}.recording-pager{gap:22px}.recording-pager>a{font-size:21px}.excerpt{padding-left:20px;font-size:24px}.page-actions{gap:20px}.project-list h2,.project-list h3{font-size:29px}html:lang(zh) .page-hero h1{font-size:43px}html:lang(zh) .album-heading h1{font-size:36px}html:lang(zh) .excerpt{font-size:22px}}
@media(prefers-reduced-motion:reduce){.detail-main{animation:none}.reveal-ready{opacity:1;transform:none;transition:none}.album-grid-art>img{transition:none}}
/* Layout for the catalogue and long-form editorial pages. */
.page-section.prose{display:block;max-width:850px;margin-left:auto;margin-right:auto}.page-section.prose>h2{margin:0 0 25px}.page-section.prose>.page-link{margin-top:25px}.page-section>.small-note{grid-column:2;font-size:11px;color:var(--muted)}
.page-local-nav{display:flex;gap:38px;flex-wrap:wrap;padding:25px 0 35px}
#solo,#chamber,#compositions{display:block}#solo>h2,#chamber>h2,#compositions>h2{font-family:var(--serif);font-size:47px;margin:12px 0 35px}#solo>.page-section,#chamber>.page-section{padding-top:25px;padding-bottom:32px}#solo>.page-section>h3,#chamber>.page-section>h3{font-family:var(--serif);font-size:25px}
.work-table>.work-entry{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:8px 25px;padding:20px 0;border-bottom:1px solid var(--line)}.work-table>.work-entry:first-child{padding-top:0}.work-entry>.work-setting{grid-column:2}.work-entry .work-title{font-size:25px;color:var(--ink)}.work-entry a:hover{color:var(--accent)}
.project-facts{margin:0}.project-facts>div{display:grid;grid-template-columns:1fr 2fr;gap:25px;border-bottom:1px solid var(--line);padding:15px 0;font-size:14px}.project-facts dt{color:var(--muted);font-size:11px}.project-facts dd{margin:0}
@media(max-width:760px){.page-section>.small-note{grid-column:1}.page-local-nav{gap:24px}.work-table>.work-entry{display:block}.work-table>.work-entry>h3{margin-top:8px}.project-facts>div{font-size:13px}#solo>h2,#chamber>h2,#compositions>h2{font-size:37px;margin:12px 0 29px}}
.detail-main .small-note{color:var(--muted)}
.excerpt[lang^="zh"]{font-family:CormorantGaramond,NotoSerifSC,serif}
.writing-original[lang^="zh"]{font-family:Inter,NotoSansSC,sans-serif}
.artist-links{display:flex;gap:30px;align-items:start;justify-content:flex-end;flex-wrap:wrap}.artist-links .text-link{gap:19px}
@media(max-width:760px){.artist-links{flex-direction:column;gap:15px}.artist-links .text-link{font-size:11px;gap:15px}}
.reading-notes{font-family:Inter,NotoSansSC,Arial,sans-serif}.reading-notes>ul{padding-left:22px;margin:22px 0 0}.reading-notes>ul>li{padding:0 0 27px}.reading-notes>ul>li:last-child{padding-bottom:0}.reading-notes li>.page-link{margin-top:12px;font-size:11px}
.writing-title[lang^="zh"],.novel-title[lang^="zh"]{font-family:CormorantGaramond,NotoSerifSC,serif}.sonata-original{margin-top:22px;font-size:15px;font-family:CormorantGaramond,NotoSerifSC,serif;color:var(--muted)}.sonata-title{hyphens:none!important}.work-title a:hover{color:var(--accent)}
.score-document{margin:24px 0;max-width:100%;background:#fff;border:1px solid var(--line)}.score-document object{display:block;width:100%;aspect-ratio:210/297;height:auto;min-height:420px;max-height:1000px;border:0}
@media(max-width:760px){.sonata-title{font-size:42px!important}.sonata-original{font-size:13px;line-height:1.6}}
.detail-main{font-family:Inter,NotoSansSC,Arial,sans-serif}.detail-main .page-lead{font-family:CormorantGaramond,NotoSerifSC,Georgia,serif}.sonata-movements{padding:0;margin:0;list-style:none}.sonata-movements li{display:flex;gap:30px;align-items:baseline;border-bottom:1px solid var(--line);padding:15px 0;font-family:var(--serif);font-size:23px}.sonata-movements li:first-child{padding-top:0}.sonata-movements li>span:first-child{font-family:var(--sans);font-size:11px;min-width:20px;color:var(--muted)}
.research-hero h1{font-size:clamp(40px,4.8vw,74px);line-height:1.13}.research-original{margin-top:25px;font-family:var(--serif);font-size:20px;line-height:1.5;max-width:900px}.research-hero .page-lead{font-size:clamp(22px,2.25vw,31px)}.research-hero .page-caption{margin-top:20px}
@media(max-width:760px){.research-hero h1{font-size:35px!important}.research-original{font-size:17px;hyphens:auto;overflow-wrap:break-word}}
.research-hero h1{hyphens:none!important}
.page-section,.page-section>*,.prose{min-width:0}
@media(max-width:760px){.page-section{grid-template-columns:minmax(0,1fr)}}
