/* A quiet, editorial setting for the artist and his music. */
:root{--paper:#f2efe7;--white:#faf8f2;--ink:#292c27;--muted:#6c7066;--line:#d6d8cb;--night:#27372f;--night-soft:#34473b;--gold:#c3cbae;--gold-ink:#596b50}
body{background:var(--paper);font-size:15px;line-height:1.9}
.site-header{background:rgba(242,239,231,.97);border:0}
.header-inner{max-width:1440px;width:calc(100% - 112px);min-height:96px}
.wordmark>span:first-child{font-size:26px}.wordmark-en{border:0;padding-left:0;letter-spacing:3px;font-size:10px}
.header-inner nav{gap:34px;font-size:13px}.header-inner nav a{position:relative}.header-inner nav a:after{content:'';position:absolute;height:1px;left:0;bottom:2px;width:0;background:var(--ink);transition:width .2s}.header-inner nav a:hover:after{width:100%}
.portrait-hero{width:calc(100% - 112px);max-width:1440px;margin:0 auto;grid-template-columns:1fr 1.04fr;background:transparent;color:var(--ink);min-height:720px;position:relative;gap:0}
.hero-photo{grid-column:2;grid-row:1;position:relative}.hero-photo:after{content:'LIANG DI / BARITONE';position:absolute;bottom:24px;right:22px;writing-mode:vertical-rl;letter-spacing:3px;color:white;font-size:10px;text-shadow:0 1px 5px #222}
.hero-photo img{height:720px;object-position:50% 28%}
.hero-profile{grid-column:1;grid-row:1;background:none;padding:62px 64px 24px 0}
.hero-profile>div:first-child{padding:0 0 42px}.hero-profile .eyebrow{color:var(--gold-ink);margin-bottom:40px;font-size:10px;letter-spacing:3px}
.hero-profile h1{font-size:clamp(68px,6.8vw,105px);letter-spacing:8px;line-height:1.12}
.hero-profile h1 span{display:block;margin:16px 0 0;font:italic clamp(42px,4.3vw,66px)/1.2 Georgia,serif;color:var(--ink);letter-spacing:-2px}
.hero-role{color:var(--muted);font-size:14px;letter-spacing:6px;margin-top:24px}.hero-rule{margin:30px 0;background:var(--gold-ink);width:64px}
.hero-school{font-size:15px}.hero-school-original{font-size:16px;color:var(--muted)}.hero-description{font-size:14px;color:var(--muted);max-width:26em;margin:18px 0 30px}
.solid-link{background:var(--night);border:1px solid var(--night);color:#f5f5e9;padding:12px 24px;font-size:13px}.solid-link:hover{background:#41543e;color:white}.hero-bottom{border-color:var(--line);color:var(--muted);font-size:10px}.hero-bottom a{color:var(--ink);font-size:12px}
.page-section{width:calc(100% - 160px);max-width:1280px;padding:110px 0}h2{font-size:clamp(32px,3.4vw,48px);line-height:1.4;letter-spacing:1px}.eyebrow{font-size:10px;letter-spacing:3px}
.biography{grid-template-columns:1fr 1.7fr;gap:12%;position:relative}.biography .section-heading:after{content:'01 / BIOGRAPHY';display:block;margin-top:70px;font:italic 13px Georgia,serif;color:var(--muted)}
.biography-copy .intro-copy{font-family:var(--serif);font-size:25px;line-height:1.8}.biography-copy p{font-size:14px;line-height:2.1;margin-bottom:24px}.bio-toggle{border:0;border-bottom:1px solid var(--gold-ink);padding:8px 0;background:none;color:var(--ink);font:inherit;font-size:13px;cursor:pointer}.bio-extra[hidden]{display:none}
.concerts-section>.section-top{padding:0;min-height:0;background:none;color:var(--ink);margin-bottom:56px}.concerts-section>.section-top .eyebrow{color:var(--gold-ink)}.concerts-section>.section-top .section-aside{color:var(--muted)}
.recital-grid{grid-template-columns:1.08fr .92fr;gap:70px}.recital-card:nth-child(2){padding-top:110px}.recital-image{height:500px;background:#dedfd4;padding:28px}.recital-image img{object-fit:contain;transition:transform .35s}.recital-card:hover img{transform:scale(1.025)}.recital-copy{padding-top:26px}.recital-copy h3{font-size:34px}.recital-original{font-style:italic;font-size:18px}.card-date{font-size:11px}.venue{font-size:12px}.card-link{border-color:var(--line);font-size:12px}.stage-history{margin-top:72px;padding-top:45px}.stage-history h3{font-size:26px}
.teaching-section{background:var(--night);color:#f3f0e6}.teaching-inner{width:calc(100% - 160px);max-width:1280px;padding:100px 0;grid-template-columns:1.1fr 1fr;gap:12%}.teaching-intro h2{font-size:clamp(34px,3.4vw,48px)}.teaching-intro .eyebrow{color:#bac5a7}.teaching-intro>p:last-child{color:#cad0be;font-size:13px}.teaching-points article{border-color:#506052;padding:22px 0;gap:24px}.teaching-points h3{font-size:21px}.teaching-points p{color:#d3d8ca;font-size:13px}.item-number{color:#bcc6a8}
.education-section{grid-template-columns:1fr 1.7fr;gap:12%}.education-timeline{border-color:var(--line)}.education-entry{padding-bottom:40px}.education-entry h3{font-size:28px}.education-entry p{font-size:13px}.education-date{font-size:12px}.degree{font-size:15px!important}
.musicianship-grid{gap:45px}.musicianship-grid h3{font-size:26px}.musicianship-grid p{font-size:13px}.musicianship-grid article+article{padding-left:35px}
.artist-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}.artist-gallery figure:nth-child(3n+2){margin-top:70px}.artist-gallery img{aspect-ratio:4/5;object-fit:cover;transition:filter .3s}.artist-gallery a:hover img{filter:brightness(.85)}.artist-gallery figcaption{font-size:11px;letter-spacing:1px}.artist-gallery figure:nth-child(n+4) img{aspect-ratio:4/3}
.contact-section{grid-template-columns:1fr 1.7fr;gap:12%;padding:110px 0}.contact-section h2{font-size:48px}.contact-section p{font-size:13px}.contact-email{font:clamp(20px,2.5vw,36px)/1.5 Georgia,serif;overflow-wrap:anywhere}.contact-details>div{font-size:12px}.site-footer{padding:34px 56px;background:var(--night);color:#e5e8dd}.site-footer>span{color:#c4ccba;font-size:10px}.footer-identity span{color:#c4ccba}.site-footer>a:last-child{font-size:11px}.site-footer>a[href='/admin']{font-size:11px!important}
.event-main{max-width:1280px}.event-navigation{font-size:12px}.event-hero{background:var(--night);color:#f6f3eb}.event-poster{background:#dfe0d6;padding:38px}.event-poster figcaption{color:var(--muted)}.event-title-panel{padding:65px 52px}.event-title-panel .eyebrow{color:#bcc6ad}.event-title-panel h1{font-size:46px}.event-description,.event-venue,.event-date,.event-subtitle{color:#d4dacb}.event-title-panel .solid-link{border-color:#b6c0a6}.event-facts{gap:60px}.programme-row{padding:32px 0}.programme-row h3{font-size:25px}.programme-original{background:transparent}.photo-reserved{background:var(--night)}
.photo-viewer{border:0;padding:0;width:min(1100px,94vw);max-width:94vw;max-height:92vh;background:#1d2520;color:white;overflow:auto}.photo-viewer::backdrop{background:rgba(16,21,18,.88)}.viewer-top{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;font-size:13px}.viewer-close{background:none;border:1px solid #83907c;color:white;padding:8px 15px;font:inherit;cursor:pointer}.viewer-image{display:block;max-height:78vh;width:100%;object-fit:contain}.viewer-source{display:block;padding:14px 22px;font-size:12px}.viewer-lock{overflow:hidden}
@media(min-width:1500px){.portrait-hero{grid-template-columns:1fr 1.04fr}.hero-photo img{height:760px}.portrait-hero{min-height:760px}}
@media(max-width:1050px){.header-inner,.portrait-hero{width:calc(100% - 64px)}.hero-profile{padding-right:32px}.hero-profile h1{font-size:70px}.hero-photo img{height:650px}.portrait-hero{min-height:650px}.page-section,.teaching-inner{width:calc(100% - 80px)}.recital-grid{gap:35px}.recital-image{height:410px;padding:22px}.recital-copy h3{font-size:28px}.event-title-panel{padding:40px 30px}}
@media(max-width:760px){.header-inner{width:calc(100% - 40px);min-height:78px}.header-inner nav{gap:16px;font-size:12px}.wordmark-en{display:none}.portrait-hero{width:100%;grid-template-columns:1fr;min-height:0;margin:0}.hero-photo{grid-column:1;grid-row:1;margin:0 20px}.hero-photo img{height:min(70vh,620px);min-height:380px;object-position:50% 22%}.hero-profile{grid-column:1;grid-row:2;padding:42px 26px 30px}.hero-profile>div:first-child{padding:0 0 26px}.hero-profile .eyebrow{margin-bottom:24px}.hero-profile h1{font-size:66px;letter-spacing:6px}.hero-profile h1 span{font-size:46px;margin-top:12px}.hero-role{margin-top:16px}.hero-rule{margin:22px 0}.hero-description{max-width:100%}.hero-bottom{margin-top:4px}.page-section{width:calc(100% - 48px);padding:64px 0}.biography,.education-section,.contact-section{grid-template-columns:1fr;gap:30px}.biography .section-heading:after{display:none}.biography-copy .intro-copy{font-size:21px}.recital-grid{grid-template-columns:1fr;gap:46px}.recital-card:nth-child(2){padding-top:0}.recital-image{height:460px;padding:24px}.recital-image img{height:100%;max-height:100%}.recital-copy h3{font-size:29px}.concerts-section>.section-top{margin-bottom:30px}.stage-history{margin-top:44px}.teaching-inner{width:calc(100% - 48px);grid-template-columns:1fr;padding:64px 0;gap:32px}.teaching-points article{padding:20px 0}.musicianship-grid{grid-template-columns:1fr;gap:28px}.musicianship-grid article+article{padding:28px 0 0}.artist-gallery{grid-template-columns:1fr 1fr;gap:18px}.artist-gallery figure:nth-child(3n+2){margin-top:0}.artist-gallery figure:nth-child(2n){margin-top:36px}.artist-gallery figcaption{font-size:10px}.contact-section h2{font-size:38px}.contact-email{font-size:clamp(19px,5.2vw,28px)}.site-footer{padding:28px 24px}.event-poster{padding:24px}.event-title-panel{padding:36px 28px}.event-title-panel h1{font-size:34px}.event-facts{gap:28px}.programme-row h3{font-size:23px}}
@media(max-width:380px){.header-inner nav{gap:11px}.wordmark>span:first-child{font-size:22px}.hero-photo img{min-height:340px}.hero-profile h1{font-size:60px}.recital-image{height:390px}.artist-gallery{grid-template-columns:1fr}.artist-gallery figure:nth-child(2n){margin-top:0}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
