/* Readability and content-detail safeguards */
:root{--serif:"Libre Baskerville",Georgia,"Times New Roman",serif;--sans:"DM Sans",Arial,"Helvetica Neue",sans-serif}
body{font-family:var(--sans)}
h1,h2,h3,.home-grid strong,.album h2,.archive-card h2{font-family:var(--serif);font-weight:400}
.maker a{display:inline-flex;align-items:center;border-radius:2px}.maker a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
.home-title h1,.page-hero h1,.album-hero h1{line-height:.92;overflow-wrap:anywhere;text-wrap:balance}
.intro h2,.stage-hero h1,.inquiry-banner h2,.contact-aside h2{text-wrap:balance}
.home-title h1,.page-hero h1,.album-hero h1{letter-spacing:-.045em;line-height:1.04}
.intro h2,.story h2,.milestones h2,.listen h2,.all-tracks h2,.stage-sections h2,.inquiry-banner h2,.contact-aside h2{line-height:1.18;letter-spacing:-.025em}
.about-gallery{display:grid;grid-template-columns:minmax(220px,.72fr) minmax(0,1.3fr) minmax(220px,.8fr);gap:clamp(20px,3vw,48px);align-items:end;padding-top:20px}
.about-gallery-heading{align-self:start;padding-top:clamp(8px,4vw,64px)}
.about-gallery-heading h2{font-size:clamp(2rem,4vw,4.5rem);line-height:1.12;letter-spacing:-.035em;margin:.65rem 0 0}
.about-gallery figure{margin:0}
.about-gallery img{display:block;width:100%;height:auto;object-fit:cover;background:#ddd}
.about-gallery-primary img{aspect-ratio:4/5}
.about-gallery-secondary img{aspect-ratio:4/3}
.about-gallery figcaption{font-size:.72rem;line-height:1.45;letter-spacing:.04em;text-transform:uppercase;margin-top:12px;opacity:.68}
.events{padding-top:0}
.events-heading{display:grid;grid-template-columns:minmax(160px,.4fr) 1fr;gap:30px;align-items:end;margin-bottom:28px}
.events-heading h2{font-size:clamp(2.4rem,5vw,5.5rem);line-height:1.08;letter-spacing:-.04em;margin:0}
.event-card{display:grid;grid-template-columns:minmax(280px,.8fr) minmax(0,1.2fr);background:#e8e2d8;margin-bottom:clamp(70px,10vw,140px)}
.event-poster{display:block;background:#161616}
.event-poster img{display:block;width:100%;height:100%;min-height:580px;object-fit:cover}
.event-content{padding:clamp(30px,5vw,72px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center}
.event-status{font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;margin:0 0 24px}
.event-content time{font-size:.92rem;letter-spacing:.04em;text-transform:uppercase}
.event-content time span{display:block;font-family:var(--serif);font-size:clamp(4rem,8vw,8rem);line-height:.82;letter-spacing:-.06em}
.event-content h3{font-size:clamp(2rem,4vw,4.2rem);line-height:1.08;letter-spacing:-.035em;margin:28px 0 18px}
.event-content>p:not(.event-status){max-width:620px;line-height:1.65}
.event-content dl{width:100%;margin:25px 0 32px;border-top:1px solid rgba(0,0,0,.18)}
.event-content dl div{display:grid;grid-template-columns:110px 1fr;gap:18px;padding:12px 0;border-bottom:1px solid rgba(0,0,0,.18)}
.event-content dt{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.event-content dd{margin:0}
.event-past{background:#282725;color:#f4f0e8}.event-past .event-content dl,.event-past .event-content dl div{border-color:rgba(255,255,255,.2)}.event-past .text-link{color:inherit}
.past-heading{margin-top:0}
.archive-detail{max-width:980px}
.archive-detail h1{font-size:clamp(2.8rem,7vw,6.5rem);line-height:.98;letter-spacing:-.055em;text-wrap:balance;margin:20px 0 55px}
.archive-detail>img{width:100%;max-height:660px;object-fit:cover;margin-bottom:45px}
.archive-detail .lede{max-width:760px}
@media(max-width:850px){.about-gallery{grid-template-columns:1fr 1fr}.about-gallery-heading{grid-column:1/-1;max-width:620px}.about-gallery-primary img,.about-gallery-secondary img{aspect-ratio:4/5}.events-heading{grid-template-columns:1fr}.event-card{grid-template-columns:1fr}.event-poster img{height:auto;min-height:0;max-height:760px;object-fit:contain}.event-content{padding:38px 28px 46px}}
@media(max-width:560px){.home-title h1,.page-hero h1,.album-hero h1{line-height:1.06;letter-spacing:-.035em}.about-gallery{grid-template-columns:1fr}.about-gallery-heading{grid-column:auto}.about-gallery-primary img,.about-gallery-secondary img{aspect-ratio:auto}.archive-detail h1{font-size:2.75rem;line-height:1}}

/* Navigation and language clarity */
.languages span{position:relative;color:#fff;padding-bottom:7px}
.languages span::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent)}
.languages a{padding-bottom:7px;opacity:.68}.languages a:hover,.languages a:focus-visible{opacity:1}

/* Homepage editorial pathways */
.home-portals{padding-top:clamp(45px,7vw,90px)}
.home-portals-heading{display:grid;grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);gap:clamp(28px,6vw,90px);align-items:start;margin-bottom:clamp(38px,6vw,75px)}
.home-portals-heading h2{font-size:clamp(2.6rem,5.5vw,5.8rem);line-height:1.04;letter-spacing:-.045em;text-wrap:balance;margin:0;max-width:950px}
.home-portals-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(270px,.65fr);gap:clamp(18px,2.2vw,32px)}
.home-portal{position:relative;overflow:hidden;color:inherit;text-decoration:none;background:#e4ddd2;isolation:isolate}
.home-portal-copy{position:relative;z-index:2;padding:clamp(26px,4vw,52px)}
.home-portal-copy>span{display:block;font-size:.66rem;letter-spacing:.14em;margin-bottom:clamp(40px,7vw,90px);opacity:.65}
.home-portal-copy h3{font-size:clamp(2rem,4vw,4.6rem);line-height:1.03;letter-spacing:-.04em;margin:0 0 18px;text-wrap:balance}
.home-portal-copy p{max-width:510px;line-height:1.65;margin:0 0 32px}
.home-portal-copy b{display:flex;justify-content:space-between;align-items:center;border-top:1px solid currentColor;padding-top:16px;font-size:.69rem;letter-spacing:.11em;text-transform:uppercase;font-weight:600}
.home-portal-copy i{font-family:var(--sans);font-size:1.25rem;font-style:normal;transition:transform .2s ease}
.home-portal:hover i,.home-portal:focus-visible i{transform:translateX(7px)}
.home-portal-music{grid-row:span 2;min-height:760px;background:#201e1b;color:#f5f0e7;display:flex;flex-direction:column}
.home-portal-music .home-portal-covers{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:clamp(26px,4vw,52px) clamp(26px,4vw,52px) 0;align-items:end}
.home-portal-covers img{width:100%;aspect-ratio:1;object-fit:cover;box-shadow:0 16px 38px rgba(0,0,0,.3)}
.home-portal-covers img:nth-child(2){transform:translateY(22px)}
.home-portal-music .home-portal-copy{margin-top:auto}
.home-portal-stage,.home-portal-archive{min-height:364px;color:#fff;display:flex;align-items:flex-end}
.home-portal-stage>img,.home-portal-archive>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .6s ease}
.home-portal-stage::after,.home-portal-archive::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 10%,rgba(0,0,0,.86) 100%);z-index:-1}
.home-portal-stage:hover>img,.home-portal-stage:focus-visible>img,.home-portal-archive:hover>img,.home-portal-archive:focus-visible>img{transform:scale(1.025)}
.home-portal-stage .home-portal-copy,.home-portal-archive .home-portal-copy{width:100%;padding:clamp(24px,3vw,38px)}
.home-portal-stage .home-portal-copy>span,.home-portal-archive .home-portal-copy>span{margin-bottom:35px}
.home-portal-stage h3,.home-portal-archive h3{font-size:clamp(1.8rem,2.8vw,3rem)}
.home-portal-stage p,.home-portal-archive p{font-size:.9rem;margin-bottom:22px}

/* Biography as an editorial reference page */
.bio-jump{display:flex;flex-wrap:wrap;gap:10px;border-top:1px solid #bbb;border-bottom:1px solid #bbb;padding-top:18px;padding-bottom:18px}
.bio-jump a{color:inherit;text-decoration:none;font-size:.74rem;text-transform:uppercase;letter-spacing:.09em;padding:8px 14px;border:1px solid #aaa;border-radius:999px}
.bio-jump a:hover,.bio-jump a:focus-visible{border-color:var(--accent);color:var(--accent)}
.story{max-width:1000px}.story p{max-width:790px;line-height:1.78}.story h2{max-width:820px}
.milestones li{grid-template-columns:150px 1fr}.milestones time{font-family:var(--serif);font-size:1.1rem}
.bio-resources{display:grid;grid-template-columns:minmax(230px,.7fr) minmax(0,1.3fr);gap:clamp(40px,8vw,120px);background:#e8e2d8}
.bio-resources h2{font-size:clamp(2.3rem,4.8vw,5rem);line-height:1.08;margin:.7rem 0 0}
.bio-resource-links{border-top:1px solid #aaa}.bio-resource-links a{display:grid;grid-template-columns:1fr auto;gap:20px;color:inherit;text-decoration:none;padding:25px 4px;border-bottom:1px solid #aaa;align-items:center}.bio-resource-links a:hover,.bio-resource-links a:focus-visible{color:var(--accent)}

/* Music page and persistent player */
.music-guidance{display:grid;grid-template-columns:minmax(160px,.4fr) minmax(0,1fr);gap:35px;border-top:1px solid #bbb}.music-guidance h2{font-size:clamp(2.2rem,4vw,4.4rem);line-height:1.12;margin:0}.music-guidance>p:last-child{grid-column:2;max-width:650px;line-height:1.7}
body{padding-bottom:86px}
.site-player{position:fixed;z-index:1000;left:0;right:0;bottom:0;min-height:76px;background:#151515;color:#fff;display:grid;grid-template-columns:38px 48px minmax(170px,.6fr) minmax(220px,1fr) 38px;align-items:center;gap:14px;padding:10px clamp(18px,4vw,60px);box-shadow:0 -8px 30px rgba(0,0,0,.18)}
.site-player button{color:inherit;background:transparent;border:1px solid #777;cursor:pointer;width:36px;height:36px;border-radius:50%}.site-player-toggle{width:46px!important;height:46px!important;border-color:var(--accent)!important}.site-player button:hover,.site-player button:focus-visible{border-color:var(--accent);color:var(--accent)}
.site-player-meta{min-width:0;display:flex;flex-direction:column}.site-player-meta strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.site-player-state{font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:#aaa;margin-bottom:3px}.site-player[data-state="loading"] .site-player-state{color:#e5a45e}.site-player[data-state="error"] .site-player-state{color:#ff8b7a}.site-player[data-state="playing"] .site-player-state{color:var(--accent)}
.site-player-progress{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.site-player-progress input{width:100%;accent-color:var(--accent)}.site-player-progress span{font-size:.68rem;color:#bbb;white-space:nowrap}
.track-play.is-loading{border-color:var(--accent);color:var(--accent);animation:playerPulse .8s ease-in-out infinite alternate}@keyframes playerPulse{to{opacity:.45}}

/* A calmer, purpose-led On Stage page */
.events{max-width:1180px}.events-heading{display:flex;justify-content:space-between;align-items:end;border-bottom:1px solid #bbb;padding-bottom:18px}.events-heading h2{font-size:clamp(2rem,3.6vw,3.8rem)}
.event-card{grid-template-columns:minmax(260px,420px) minmax(0,1fr);margin-bottom:72px;background:#ebe6dd;box-shadow:none}
.event-poster img{min-height:0;height:auto;aspect-ratio:4/5;object-fit:cover}.event-content{padding:clamp(28px,4vw,55px)}
.event-content time{display:flex;align-items:baseline;gap:10px}.event-content time span{display:inline;font-size:2.8rem;line-height:1;letter-spacing:-.04em}.event-content h3{font-size:clamp(2rem,3.4vw,3.5rem);margin:20px 0 12px}.event-content dl{margin:18px 0 25px}.event-content dl div{grid-template-columns:90px 1fr;padding:9px 0}
.event-past{grid-template-columns:220px minmax(0,1fr);max-width:850px;margin-left:auto;background:#292826}.event-past .event-poster img{aspect-ratio:4/5}.event-past .event-content{padding:30px 38px}.event-past .event-content h3{font-size:2rem}.event-past .event-content time span{font-size:2rem}
.presenter-panel{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(0,1.15fr);gap:clamp(45px,8vw,110px);background:#e8e2d8}.presenter-intro h2{font-size:clamp(2.35rem,4.8vw,5rem);line-height:1.08;margin:.7rem 0 1.4rem}.presenter-intro>p{line-height:1.7}.engagement-list{border-top:1px solid #aaa}.engagement-list article{display:grid;grid-template-columns:40px minmax(150px,.55fr) 1fr;gap:18px;padding:24px 0;border-bottom:1px solid #aaa}.engagement-list article>span{color:var(--accent);font-size:.72rem}.engagement-list h3{font-size:1.35rem;margin:0}.engagement-list p{margin:0;line-height:1.55}.engagement-list aside{margin-top:28px;padding:22px;border:1px solid #aaa}.engagement-list aside p{margin:.6rem 0 0}

/* Archive purpose */
.archive-purpose{display:grid;grid-template-columns:minmax(250px,.9fr) minmax(0,1.1fr);gap:clamp(35px,8vw,110px);border-top:1px solid #bbb;border-bottom:1px solid #bbb}.archive-purpose h2{font-size:clamp(2.2rem,4vw,4.4rem);line-height:1.1;margin:0}.archive-purpose p{font-size:1.08rem;line-height:1.75;margin:0;max-width:650px}
.contact-aside a{color:inherit;text-underline-offset:4px}

/* Lightweight audiovisual archive */
.video-library{border-top:1px solid #bbb}
.video-library-heading{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(280px,.65fr);gap:clamp(35px,8vw,120px);align-items:end;margin-bottom:clamp(35px,6vw,70px)}
.video-library-heading h2{font-size:clamp(2.8rem,5.5vw,5.8rem);line-height:1.04;letter-spacing:-.045em;margin:0}.video-library-heading>p{line-height:1.7;max-width:520px;margin:0}
.video-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(35px,5vw,75px) clamp(18px,2.5vw,34px)}
.video-card{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,1fr);gap:clamp(18px,2.5vw,34px);align-items:end}
.video-card.video-featured{grid-column:1/-1;grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr)}
.video-poster,.video-card iframe{position:relative;display:block;width:100%;aspect-ratio:16/9;border:0;background:#171717;padding:0;overflow:hidden;cursor:pointer}
.video-poster img{width:100%;height:100%;object-fit:cover;filter:saturate(.75) contrast(1.05);transition:transform .5s ease,filter .3s ease}
.video-poster span{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;display:grid;place-items:center;padding-left:4px;background:rgba(20,20,20,.86);color:#fff;border:1px solid rgba(255,255,255,.7)}
.video-poster:hover img,.video-poster:focus-visible img{transform:scale(1.025);filter:saturate(1) contrast(1.05)}
.video-card>div>p{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 12px}.video-card h3{font-size:clamp(1.35rem,2.2vw,2.35rem);line-height:1.12;margin:0 0 18px}.video-card h3 em{font-weight:inherit}.video-card small{opacity:.65;line-height:1.5}.video-consent-note{font-size:.68rem;opacity:.6;margin:28px 0 0}

@media(max-width:850px){.video-library-heading{grid-template-columns:1fr}.video-library-grid{grid-template-columns:1fr 1fr}.video-card,.video-card.video-featured{grid-template-columns:1fr;align-items:start}.video-card.video-featured{grid-column:1/-1}}
@media(max-width:560px){.video-library-grid{grid-template-columns:1fr}.video-card.video-featured{grid-column:auto}.video-poster span{width:54px;height:54px}}

@media(max-width:850px){.home-portals-heading{grid-template-columns:1fr;gap:8px}.home-portals-grid{grid-template-columns:1fr 1fr}.home-portal-music{grid-column:1/-1;grid-row:auto;min-height:0}.home-portal-stage,.home-portal-archive{min-height:440px}.bio-resources,.music-guidance,.presenter-panel,.archive-purpose{grid-template-columns:1fr}.music-guidance>p:last-child{grid-column:auto}.event-card,.event-past{grid-template-columns:1fr;max-width:none}.event-poster img,.event-past .event-poster img{max-height:680px;object-fit:contain;aspect-ratio:auto}.engagement-list article{grid-template-columns:35px 1fr}.engagement-list article p{grid-column:2}.site-player{grid-template-columns:42px 1fr 34px}.site-player-prev,.site-player-progress{display:none}.site-player-meta{grid-column:2}.site-player-toggle{grid-column:1;grid-row:1}.site-player-next{grid-column:3;grid-row:1}}
@media(max-width:560px){body{padding-bottom:78px}.home-portals-grid{grid-template-columns:1fr}.home-portal-music{grid-column:auto}.home-portal-music .home-portal-covers{gap:5px}.home-portal-covers img:nth-child(2){transform:translateY(10px)}.home-portal-stage,.home-portal-archive{min-height:390px}.home-portal-copy>span{margin-bottom:34px}.bio-jump{gap:7px}.milestones li{grid-template-columns:90px 1fr}.events-heading{display:block}.event-content,.event-past .event-content{padding:28px 22px}.presenter-panel{padding-left:22px;padding-right:22px}.site-player{min-height:70px;padding:8px 12px;gap:9px}.site-player-meta strong{font-size:.86rem}}
