:root{
  --ink:#171a1d;
  --ink-soft:#424950;
  --muted:#6f767b;
  --paper:#f5f1e9;
  --paper-deep:#ece5da;
  --surface:#fbf9f5;
  --navy:#182631;
  --navy-2:#223744;
  --gold:#a78652;
  --gold-light:#c8ac7b;
  --line:rgba(23,26,29,.14);
  --line-light:rgba(255,255,255,.15);
  --max:1160px;
  --narrow:840px;
  --serif:Baskerville,"Iowan Old Style","Palatino Linotype",Palatino,"Book Antiqua",Georgia,serif;
  --sans:"Avenir Next",Avenir,"Helvetica Neue",Helvetica,Arial,sans-serif;
  --shadow:0 24px 70px rgba(31,35,38,.10);
  --shadow-soft:0 12px 36px rgba(31,35,38,.07);
  --radius:2px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-weight:400;line-height:1.7;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.menu-open{overflow:hidden}
::selection{background:var(--gold-light);color:var(--ink)}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
button,input,textarea{font:inherit;color:inherit}
button{border-radius:0}
h1,h2,h3,p{margin-top:0}
h1,h2,h3{font-family:var(--serif);font-weight:400}
:focus-visible{outline:2px solid var(--gold);outline-offset:4px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:rgba(245,241,233,.94);border-bottom:1px solid rgba(23,26,29,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.nav-wrap{width:min(var(--max),calc(100% - 64px));margin:0 auto;min-height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px}
.brand{display:inline-flex;flex-direction:column;line-height:1;white-space:nowrap}
.brand span{font-family:var(--serif);font-size:27px;letter-spacing:.015em}
.brand small{font-size:9px;line-height:1;letter-spacing:.30em;text-transform:uppercase;color:var(--gold);margin-top:9px}
.nav{display:flex;justify-content:flex-end;align-items:center;gap:30px;padding-top:1px;font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.nav-link{position:relative;padding:10px 0 8px;color:var(--ink-soft);transition:color .2s ease}
.nav-link:after{content:"";position:absolute;left:0;bottom:3px;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}
.nav-link:hover,.nav-link.active{color:var(--ink)}
.nav-link:hover:after,.nav-link.active:after{transform:scaleX(1);transform-origin:left}
.lang-switcher{display:flex;align-items:center;gap:9px;font-size:9px;letter-spacing:.16em;border-left:1px solid var(--line);padding-left:20px}
.lang-link{color:var(--muted);transition:color .2s ease}
.lang-link:not(:last-child):after{content:"·";margin-left:9px;color:#b7b0a6}
.lang-link:hover,.lang-link.active{color:var(--ink)}
.lang-link.active{font-weight:600}
.menu-toggle{display:none;border:0;background:none;padding:10px;cursor:pointer}
.menu-toggle span{display:block;width:25px;height:1px;background:var(--ink);margin:6px 0;transition:transform .25s ease,opacity .2s ease}
.menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle.open span:nth-child(2){opacity:0}
.menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

main{min-height:65vh;overflow:hidden}
.section-width,.page{width:min(var(--max),calc(100% - 64px));margin-left:auto;margin-right:auto}
.narrow{width:min(var(--narrow),calc(100% - 64px));margin-left:auto;margin-right:auto}

/* Home hero */
.hero{position:relative;width:min(1333px,100%);margin:0 auto 112px;overflow:hidden;background:#f3f3f3}
.hero:after{content:none}
.hero>img{width:100%;aspect-ratio:1333/756;height:auto;min-height:0;object-fit:cover;object-position:center center;image-rendering:auto;filter:none}
.hero-title{position:absolute;left:8.3%;right:auto;top:47%;bottom:auto;transform:translateY(-50%);color:#161616;max-width:none;padding:0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;text-shadow:none}
.hero-title:before{content:none}
.hero-title h1{font-family:var(--sans);font-size:clamp(25px,2.7vw,38px);font-weight:400;line-height:1.2;letter-spacing:.105em;margin:0 0 7px;text-transform:uppercase}
.hero-title p{font-family:var(--sans);font-size:clamp(13px,1.25vw,18px);letter-spacing:.035em;text-transform:none;margin:0;color:#161616}

/* Home biography */
.split{width:min(1080px,calc(100% - 64px));margin:0 auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,430px);gap:100px;align-items:center;padding:132px 0}
.copy{max-width:585px}
.copy h2,.section-width>h2,.page>h1,.press-photos h2,.audio-section h2{font-weight:400}
.copy h2,.section-width>h2{font-family:var(--serif);font-size:clamp(34px,3.1vw,48px);line-height:1.06;margin-bottom:31px;letter-spacing:-.01em}
.copy h2:before,.listen-section>h2:before,.concert-section>h2:before,.home-contact>h2:before{display:block;font-family:var(--sans);font-size:9px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px}
.home-bio .copy h2:before{content:"Profile"}
.copy p{font-size:14px;line-height:1.95;margin-bottom:20px;color:var(--ink-soft)}
.home-bio>img{width:100%;max-width:430px;justify-self:end;box-shadow:var(--shadow);aspect-ratio:421/549;object-fit:cover}
.text-link,.download-link{display:inline-block;position:relative;font-size:12px;letter-spacing:.04em;color:var(--ink);border-bottom:1px solid rgba(167,134,82,.65);line-height:1.55;padding-bottom:2px;transition:border-color .2s ease,color .2s ease}
.text-link:hover,.download-link:hover{color:var(--gold);border-color:var(--gold)}

/* Listening section: stage-like dark band */
.listen-section{margin:0 auto;padding-top:98px;padding-bottom:108px;background:var(--navy);color:#f8f4ec;box-shadow:0 0 0 100vmax var(--navy);clip-path:inset(0 -100vmax)}
.listen-section>h2{color:#fff;margin-bottom:42px}
.listen-section>h2:before{content:"Selected recordings";color:var(--gold-light)}
.featured-player{display:grid;grid-template-columns:minmax(0,1.72fr) minmax(290px,.72fr);gap:22px;align-items:stretch}
.smart-video{position:relative;aspect-ratio:16/9;background:#0d151b;overflow:hidden;cursor:pointer;box-shadow:0 22px 60px rgba(0,0,0,.22)}
.smart-video>img{width:100%;height:100%;object-fit:cover;object-position:center center;image-rendering:auto;filter:saturate(.82) contrast(1.06);transition:transform .5s ease,filter .4s ease}
.smart-video:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,12,15,.18),transparent 45%);pointer-events:none}
.smart-video:hover>img{transform:scale(1.012);filter:saturate(.92) contrast(1.06)}
.smart-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:4}
.video-play{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:68px;border:1px solid rgba(255,255,255,.58);border-radius:50%;background:rgba(16,28,36,.72);backdrop-filter:blur(5px);cursor:pointer;transition:transform .22s ease,background .22s ease,border-color .22s ease}
.video-play span{position:absolute;left:50%;top:50%;display:block;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:13px solid #fff;margin:0;transform:translate(-40%,-50%)}
.smart-video:hover .video-play{transform:translate(-50%,-50%) scale(1.06);background:var(--gold);border-color:var(--gold)}
.playlist{display:flex;flex-direction:column;gap:0;background:transparent;border-top:1px solid var(--line-light);border-bottom:1px solid var(--line-light)}
.playlist-item{border:0;border-bottom:1px solid var(--line-light);background:transparent;color:#fff;padding:13px 4px;text-align:left;display:grid;flex:1;grid-template-columns:112px minmax(0,1fr);gap:15px;align-items:center;cursor:pointer;min-height:0;transition:background .2s ease,padding-left .2s ease}
.playlist-item:last-child{border-bottom:0}
.playlist-item:hover,.playlist-item.active{background:rgba(255,255,255,.055);padding-left:10px}
.playlist-item.active{box-shadow:inset 2px 0 0 var(--gold-light)}
.playlist-item img{width:112px;aspect-ratio:16/9;object-fit:cover;object-position:center center;image-rendering:auto;filter:saturate(.84) contrast(1.03)}
.playlist-item span{display:flex;flex-direction:column;gap:7px;min-width:0}
.playlist-item b{font-family:var(--serif);font-size:13px;font-weight:400;line-height:1.32;color:#fff}
.playlist-item small{font-size:9px;letter-spacing:.12em;color:rgba(255,255,255,.52)}

/* Featured concerts */
.concert-section{text-align:center;padding-top:118px;padding-bottom:126px;margin-bottom:0}
.concert-section h2{text-align:left;margin-bottom:8px}
.concert-section h2:before{content:"On stage"}
.eyebrow{text-align:left;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0 0 42px}
.event-images{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;align-items:stretch;justify-items:stretch;margin-bottom:40px}
.event-images a{position:relative;width:100%;display:flex;align-items:center;justify-content:center;min-height:275px;background:var(--surface);border:1px solid rgba(23,26,29,.07);padding:30px;box-shadow:var(--shadow-soft);transition:transform .25s ease,box-shadow .25s ease}
.event-images a:after{content:"View calendar";position:absolute;left:18px;bottom:14px;font-size:8px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:0;transform:translateY(4px);transition:opacity .2s ease,transform .2s ease}
.event-images a:hover{transform:translateY(-4px);box-shadow:0 20px 46px rgba(31,35,38,.12)}
.event-images a:hover:after{opacity:1;transform:none}
.event-images img{max-width:100%;max-height:225px;object-fit:contain}
.calendar-link{font-size:11px;letter-spacing:.08em}

/* Home contact */
.home-contact{position:relative;margin:0 auto 130px;padding:72px 74px 70px;max-width:820px;text-align:center;background:var(--surface);border:1px solid rgba(23,26,29,.08);box-shadow:var(--shadow-soft)}
.home-contact:before{content:"";position:absolute;top:0;left:50%;width:1px;height:28px;background:var(--gold);transform:translateY(-14px)}
.home-contact h2{text-align:center;font-size:42px;margin-bottom:15px}
.home-contact h2:before{content:"Bookings & enquiries"}
.home-contact p{font-size:13px;color:var(--muted);margin-bottom:34px}

/* Forms */
.contact-form{display:grid;gap:22px}
.contact-form.compact{max-width:520px;margin:25px auto 0}
.contact-form label{display:block;text-align:left}
.contact-form label span{display:block;font-size:9px;letter-spacing:.17em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.contact-form input,.contact-form textarea{width:100%;border:1px solid rgba(23,26,29,.16);background:rgba(255,255,255,.45);border-radius:0;padding:13px 14px;outline:none;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}
.contact-form textarea{min-height:150px;resize:vertical;line-height:1.55;font:inherit}
.contact-form input:focus,.contact-form textarea:focus{border-color:var(--gold);background:#fff;box-shadow:0 0 0 3px rgba(167,134,82,.08)}
.contact-form button{justify-self:start;background:var(--navy);color:#fff;border:1px solid var(--navy);padding:13px 28px;min-width:126px;cursor:pointer;font-size:9px;letter-spacing:.18em;text-transform:uppercase;transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease}
.contact-form.compact button{justify-self:center}
.contact-form button:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-1px)}
.contact-form button:disabled{opacity:.5;cursor:default;transform:none}
.form-status{font-size:11px;min-height:20px;margin:0;color:var(--muted)}
.message-field{display:none}.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Generic subpages */
.subpage main{background:linear-gradient(180deg,var(--paper) 0%,#f8f5ef 100%)}
.page{padding-top:90px;padding-bottom:132px}
.page>h1{font-size:clamp(46px,5.4vw,72px);line-height:1;text-align:center;margin:0 auto 92px;letter-spacing:-.015em}
.page>h1:after{content:"";display:block;width:42px;height:1px;background:var(--gold);margin:28px auto 0}

/* Biography */
.bio-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,380px);gap:100px;align-items:start}
.bio-layout article{padding-top:8px}
.bio-layout article h2{font-family:var(--sans);font-size:10px;letter-spacing:.19em;text-transform:uppercase;color:var(--gold);margin-bottom:27px}
.bio-layout article p{font-family:var(--serif);font-size:17px;line-height:1.84;margin-bottom:22px;color:#34383b}
.bio-portrait{width:100%;max-width:380px;justify-self:end;box-shadow:var(--shadow);position:sticky;top:126px}
.download-link{margin-top:18px;font-family:var(--sans)}
.download-row{display:flex;gap:22px;flex-wrap:wrap}
.press-photos{margin-top:138px;text-align:center}
.press-photos h2{font-size:40px;margin-bottom:11px}
.press-photos>p{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:42px}
.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.photo-tile{margin:0;position:relative;aspect-ratio:1;background:#e5e0d8;overflow:hidden}
.photo-tile img{width:100%;height:100%;object-fit:cover;filter:saturate(.88);transition:transform .5s ease,filter .35s ease}
.photo-tile:hover img{transform:scale(1.025);filter:saturate(1)}
.download-badge{position:absolute;right:12px;bottom:12px;width:36px;height:36px;border-radius:50%;background:rgba(245,241,233,.94);display:grid;place-items:center;font-size:15px;color:var(--navy);box-shadow:0 3px 15px rgba(0,0,0,.13);transition:transform .2s ease,background .2s ease}
.download-badge:hover{transform:translateY(-2px);background:#fff}

/* Agenda */
.agenda-page{width:min(930px,calc(100% - 64px))}
.agenda-page>h1{margin-bottom:78px}
.year{margin-bottom:92px;position:relative}
.year>h2{text-align:left;font-family:var(--sans);font-weight:500;font-size:10px;letter-spacing:.24em;color:var(--gold);margin:0 0 25px;padding-bottom:13px;border-bottom:1px solid var(--line)}
.event{position:relative;text-align:left;padding:26px 22px 27px 126px;margin:0;border-bottom:1px solid var(--line);min-height:118px;transition:background .2s ease}
.event:hover{background:rgba(255,255,255,.38)}
.event:last-child{border-bottom:1px solid var(--line)}
.event-date{position:absolute;left:20px;top:29px;width:84px;font-size:9px;line-height:1.45;letter-spacing:.10em;text-transform:uppercase;color:var(--gold)}
.event h3{font-size:22px;line-height:1.18;margin-bottom:7px;color:var(--ink)}
.event-place{font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft)}
.event p{font-size:12px;color:var(--muted);margin:5px 0 0}
.event-link{display:inline-block;margin-top:12px;font-size:9px;letter-spacing:.10em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid rgba(167,134,82,.5);line-height:1.5;padding-bottom:2px}
.event-link:hover{color:var(--navy);border-color:var(--navy)}

/* Media */
.media-page{width:min(1180px,calc(100% - 64px))}
.media-page:before{content:"";position:fixed;z-index:-1;inset:92px 0 0;background:linear-gradient(180deg,var(--navy) 0 50%,var(--paper) 50%)}
.media-page>h1{color:#fff;margin-bottom:82px}
.media-page>h1:after{background:var(--gold-light)}
.video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:58px 30px}
.video-card{background:var(--surface);box-shadow:var(--shadow-soft);padding-bottom:22px;overflow:hidden}
.video-card .smart-video{box-shadow:none}
.video-card h3{font-size:18px;line-height:1.35;margin:20px 24px 4px}
.video-card>span{display:block;font-size:9px;letter-spacing:.12em;color:var(--muted);margin:0 24px}

/* Press */
.press-page{max-width:900px}
.press-page>h1{margin-bottom:86px}
.press-quote{text-align:left;margin:0 auto 34px;max-width:790px;background:rgba(255,255,255,.43);border:1px solid rgba(23,26,29,.08);padding:44px 48px 40px;box-shadow:0 8px 28px rgba(31,35,38,.04)}
.press-quote:nth-of-type(even){transform:translateX(28px)}
.press-quote:nth-of-type(odd){transform:translateX(-28px)}
.press-quote blockquote{font-family:var(--serif);font-size:21px;line-height:1.65;font-style:normal;margin:0 0 24px;color:#2a2d2f}
.press-quote blockquote:before{content:"“";display:block;font-size:52px;line-height:.6;color:var(--gold);margin-bottom:14px}
.press-quote p,.press-quote cite{font-size:9px;line-height:1.65;letter-spacing:.08em;text-transform:uppercase;display:block;margin:3px 0;color:var(--muted);font-style:normal}
.press-quote cite{color:var(--gold)}

/* Contact page */
.contact-layout{max-width:980px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:95px;align-items:start}
.contact-layout>div{background:var(--surface);padding:45px 46px 48px;border:1px solid rgba(23,26,29,.08);box-shadow:var(--shadow-soft)}
.contact-layout>div>p{font-family:var(--serif);font-size:19px;line-height:1.7;margin-bottom:34px}
.contact-layout img{width:390px;max-width:100%;box-shadow:var(--shadow)}

/* Footer */
.site-footer{width:min(var(--max),calc(100% - 64px));margin:0 auto;padding:34px 0 42px;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}
.socials{display:flex;gap:12px;align-items:center}
.socials a{width:35px;height:35px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;color:var(--ink-soft);transition:color .2s ease,border-color .2s ease,transform .2s ease,background .2s ease}
.socials a:hover{color:#fff;background:var(--navy);border-color:var(--navy);transform:translateY(-2px)}
.socials svg{width:16px;height:16px;display:block}
.socials a[aria-disabled="true"]{opacity:.38;cursor:default}

/* Tablet */
@media(max-width:1000px){
  .nav-wrap{width:calc(100% - 44px);grid-template-columns:auto 1fr auto;min-height:80px;gap:20px}
  .brand span{font-size:24px}
  .menu-toggle{display:block;justify-self:end;grid-column:2}
  .nav{display:none;position:fixed;z-index:55;top:80px;left:0;right:0;height:calc(100vh - 80px);background:rgba(245,241,233,.985);padding:52px 30px 40px;flex-direction:column;justify-content:flex-start;align-items:center;gap:11px;box-shadow:none;font-family:var(--serif);font-size:31px;letter-spacing:0;text-transform:none;overflow:auto}
  .nav.open{display:flex}
  .nav-link{padding:7px 0;color:var(--ink)}
  .nav-link:after{bottom:4px}
  .lang-switcher{grid-column:3;border-left:0;padding-left:0}
  .split{grid-template-columns:minmax(0,1fr) minmax(290px,36%);gap:58px}
  .featured-player{grid-template-columns:minmax(0,1.55fr) 300px}
  .playlist-item{grid-template-columns:90px minmax(0,1fr)}
  .playlist-item img{width:90px}
  .bio-layout{gap:60px;grid-template-columns:minmax(0,1.4fr) minmax(260px,34%)}
  .contact-layout{gap:55px;grid-template-columns:minmax(0,1fr) 340px}
}

/* Mobile */
@media(max-width:700px){
  .section-width,.page,.narrow,.agenda-page,.media-page,.site-footer{width:calc(100% - 36px)}
  .nav-wrap{width:calc(100% - 30px);min-height:72px;gap:10px}
  .brand span{font-size:21px}
  .brand small{font-size:8px;letter-spacing:.24em;margin-top:7px}
  .nav{top:72px;height:calc(100vh - 72px);font-size:30px;padding-top:42px}
  .lang-switcher{gap:5px;font-size:8px;padding-left:0}
  .lang-link:not(:last-child):after{margin-left:5px}
  .menu-toggle{padding:8px}

  .hero{width:100%;margin-bottom:64px;background:#eee}
  .hero>img{width:100%;height:auto;min-height:0;aspect-ratio:4/3;object-fit:cover;object-position:center center;filter:none}
  .hero:after{content:none}
  .hero-title{left:24px;right:24px;top:auto;bottom:24px;transform:none;max-width:none;padding:0;background:none;border:0;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;text-shadow:none;color:#161616}
  .hero-title:before{content:none}
  .hero-title h1{font-family:var(--sans);font-size:clamp(20px,7vw,28px);line-height:1.15;letter-spacing:.075em;margin-bottom:5px;color:#161616}
  .hero-title p{font-family:var(--sans);font-size:13px;letter-spacing:.035em;text-transform:none;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.72);background:rgba(0,0,0,.16);padding:1px 5px 2px;margin-left:-5px;width:max-content}

  .split{width:calc(100% - 36px);grid-template-columns:1fr;gap:42px;padding:84px 0 88px}
  .copy h2,.section-width>h2{font-size:37px}
  .copy p{font-size:14px;line-height:1.85}
  .home-bio>img{justify-self:center;width:100%;max-width:460px;order:-1}

  .listen-section{padding-top:73px;padding-bottom:78px}
  .listen-section>h2{margin-bottom:31px}
  .featured-player{grid-template-columns:1fr;gap:22px}
  .playlist{border-top:0}
  .playlist-item{grid-template-columns:106px minmax(0,1fr);padding:12px 4px}
  .playlist-item img{width:106px}
  .playlist-item b{font-size:13px}

  .concert-section{padding-top:84px;padding-bottom:90px}
  .eyebrow{margin-bottom:30px}
  .event-images{grid-template-columns:1fr;gap:18px;margin-bottom:34px}
  .event-images a{min-height:250px;padding:28px}
  .event-images img{max-height:230px}

  .home-contact{width:calc(100% - 36px);margin-bottom:88px;padding:52px 23px 48px}
  .home-contact h2{font-size:38px}

  .page{padding-top:66px;padding-bottom:92px}
  .page>h1{font-size:48px;margin-bottom:66px}
  .page>h1:after{margin-top:22px}

  .bio-layout{grid-template-columns:1fr;gap:42px}
  .bio-portrait{justify-self:center;order:-1;width:100%;max-width:400px;position:static}
  .bio-layout article p{font-size:16px;line-height:1.76}
  .press-photos{margin-top:91px}
  .press-photos h2{font-size:35px}
  .gallery{grid-template-columns:repeat(2,1fr);gap:8px}

  .agenda-page>h1{margin-bottom:56px}
  .year{margin-bottom:72px}
  .event{padding:26px 7px 27px 7px;min-height:0}
  .event-date{position:static;width:auto;margin-bottom:9px;font-size:9px}
  .event h3{font-size:21px}
  .event-place{font-size:10px}
  .event p{font-size:12px}

  .media-page:before{inset:72px 0 0;background:linear-gradient(180deg,var(--navy) 0 360px,var(--paper) 360px)}
  .media-page>h1{margin-bottom:61px}
  .video-grid{grid-template-columns:1fr;gap:30px}
  .video-card h3{font-size:17px;margin:18px 19px 4px}
  .video-card>span{margin:0 19px}

  .press-page>h1{margin-bottom:61px}
  .press-quote{padding:34px 25px 31px;margin-bottom:20px}
  .press-quote:nth-of-type(even),.press-quote:nth-of-type(odd){transform:none}
  .press-quote blockquote{font-size:19px;line-height:1.58}

  .contact-layout{grid-template-columns:1fr;gap:32px}
  .contact-layout>div{padding:34px 24px 38px}
  .contact-layout>div>p{font-size:18px}
  .contact-layout img{width:100%;max-height:610px;object-fit:cover;object-position:center 30%}

  .site-footer{padding:28px 0 34px;flex-direction:column;gap:22px;text-align:center}
}

@media(max-width:390px){
  .brand span{font-size:19px}
  .brand small{letter-spacing:.20em}
  .hero-title h1{font-size:20px}
  .playlist-item{grid-template-columns:94px minmax(0,1fr)}
  .playlist-item img{width:94px}
  .gallery{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{transition:none!important;animation:none!important}
}

/* Language-aware microcopy */
html[lang="nl"] .home-bio .copy h2:before{content:"Profiel"}
html[lang="en"] .home-bio .copy h2:before{content:"Profile"}
html[lang="de"] .home-bio .copy h2:before{content:"Profil"}
html[lang="nl"] .listen-section>h2:before{content:"Geselecteerde opnamen"}
html[lang="en"] .listen-section>h2:before{content:"Selected recordings"}
html[lang="de"] .listen-section>h2:before{content:"Ausgewählte Aufnahmen"}
html[lang="nl"] .concert-section h2:before{content:"Op het podium"}
html[lang="en"] .concert-section h2:before{content:"On stage"}
html[lang="de"] .concert-section h2:before{content:"Auf der Bühne"}
html[lang="nl"] .home-contact h2:before{content:"Boekingen & contact"}
html[lang="en"] .home-contact h2:before{content:"Bookings & enquiries"}
html[lang="de"] .home-contact h2:before{content:"Buchungen & Kontakt"}
html[lang="nl"] .event-images a:after{content:"Bekijk agenda"}
html[lang="en"] .event-images a:after{content:"View calendar"}
html[lang="de"] .event-images a:after{content:"Kalender ansehen"}

/* Media page background is tied to a dedicated body class for predictable rendering. */
.media-page:before{display:none}
.media-shell main{background:linear-gradient(180deg,var(--navy) 0 390px,var(--paper) 390px 100%)}
@media(max-width:700px){.media-shell main{background:linear-gradient(180deg,var(--navy) 0 325px,var(--paper) 325px 100%)}}


/* ======================================================================
   Premium polish v8 — spacing, interaction and concert / agenda refinement
   ====================================================================== */

/* More deliberate vertical rhythm on the homepage */
.home-bio{padding-top:116px;padding-bottom:122px}
.home-bio .copy h2{margin-bottom:27px}
.listen-section{padding-top:92px;padding-bottom:102px}
.listen-section>h2{margin-bottom:38px}
.concert-section{padding-top:104px;padding-bottom:112px}
.concert-section h2{margin-bottom:7px}
.concert-section .eyebrow{margin-bottom:36px}
.home-contact{margin-bottom:112px;padding-top:66px;padding-bottom:64px}

/* Fine-grained link interactions — movement stays almost imperceptible */
.nav-link{transition:color .22s ease,opacity .22s ease}
.nav-link:hover{opacity:.84}
.text-link,.download-link{transition:color .22s ease,border-color .22s ease,transform .22s ease}
.text-link:hover,.download-link:hover{transform:translateX(2px)}
.lang-link{transition:color .22s ease,opacity .22s ease}
.lang-link:hover{opacity:.72}

/* Video interactions: more tactile, less abrupt */
.smart-video{transition:box-shadow .35s ease,transform .35s ease}
.smart-video:hover{box-shadow:0 26px 66px rgba(0,0,0,.27)}
.smart-video:hover>img{transform:scale(1.018);filter:saturate(.96) contrast(1.065)}
.video-play{box-shadow:0 7px 22px rgba(0,0,0,.14)}
.playlist-item{transition:background .24s ease,padding-left .24s ease,box-shadow .24s ease}
.playlist-item img{transition:transform .35s ease,filter .3s ease}
.playlist-item:hover img,.playlist-item.active img{transform:scale(1.025);filter:saturate(.96) contrast(1.04)}
.video-card{transition:transform .3s ease,box-shadow .3s ease}
.video-card:hover{transform:translateY(-3px);box-shadow:0 18px 46px rgba(31,35,38,.10)}
.video-card .smart-video:hover{box-shadow:none}

/* Featured concert art: gallery-like framing and understated motion */
.event-images{gap:24px;margin-bottom:36px}
.event-images a{overflow:hidden;min-height:286px;padding:32px;background:linear-gradient(180deg,#fcfaf6 0%,#f8f4ed 100%);border-color:rgba(23,26,29,.085);box-shadow:0 10px 30px rgba(31,35,38,.055);transition:transform .32s cubic-bezier(.2,.7,.2,1),box-shadow .32s ease,border-color .32s ease}
.event-images a:before{content:"";position:absolute;z-index:2;left:0;top:0;width:100%;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .32s ease}
.event-images a:after{left:20px;bottom:15px;opacity:.58;transform:none;transition:opacity .25s ease,color .25s ease}
.event-images a:hover{transform:translateY(-3px);border-color:rgba(167,134,82,.22);box-shadow:0 18px 44px rgba(31,35,38,.10)}
.event-images a:hover:before{transform:scaleX(1)}
.event-images a:hover:after{opacity:1;color:var(--ink)}
.event-images img{max-height:225px;transition:transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease;filter:saturate(.96) contrast(1.025)}
.event-images a:hover img{transform:scale(1.018);filter:saturate(1) contrast(1.035)}
.calendar-link{margin-top:2px}

/* Agenda: editorial year separators and calmer event cards */
.agenda-page{width:min(960px,calc(100% - 64px))}
.agenda-page>h1{margin-bottom:72px}
.year{margin-bottom:86px}
.year>h2{display:flex;align-items:center;gap:18px;font-family:var(--serif);font-weight:400;font-size:36px;line-height:1;letter-spacing:-.01em;color:var(--ink);margin:0 0 20px;padding:0;border:0}
.year>h2:after{content:"";height:1px;background:linear-gradient(90deg,rgba(167,134,82,.62),rgba(23,26,29,.08));flex:1;margin-top:5px}
.event{display:grid;grid-template-columns:92px minmax(0,1fr);column-gap:25px;align-items:start;padding:24px 22px;margin:0 0 5px;border:1px solid transparent;border-bottom-color:var(--line);min-height:0;background:transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease,transform .25s ease}
.event-date{position:static;grid-column:1;grid-row:1 / span 5;width:auto;padding-top:4px;font-size:9px;line-height:1.5;letter-spacing:.12em;color:var(--gold)}
.event h3,.event-place,.event p,.event-link{grid-column:2}
.event h3{font-size:22px;line-height:1.2;margin:0 0 7px;transition:color .2s ease}
.event-place{font-size:10px;letter-spacing:.08em}
.event p{font-size:12px;line-height:1.65;margin-top:5px}
.event:hover{background:rgba(255,255,255,.48);border-color:rgba(23,26,29,.075);box-shadow:0 8px 25px rgba(31,35,38,.035);transform:translateY(-1px)}
.event:has(.event-link){margin:6px 0;background:rgba(255,255,255,.53);border-color:rgba(167,134,82,.16);box-shadow:0 8px 27px rgba(31,35,38,.04)}
.event:has(.event-link):before{content:"";position:absolute;left:-1px;top:13px;bottom:13px;width:2px;background:var(--gold);opacity:.72}
.event:has(.event-link):hover{background:rgba(255,255,255,.82);border-color:rgba(167,134,82,.28);box-shadow:0 13px 32px rgba(31,35,38,.065)}
.event-link{justify-self:start;margin-top:11px;padding-bottom:2px;transition:color .22s ease,border-color .22s ease,transform .22s ease}
.event-link:hover{transform:translateX(2px)}

/* Contact and social details */
.contact-form button{box-shadow:0 7px 17px rgba(24,38,49,.10);transition:background .22s ease,color .22s ease,border-color .22s ease,transform .22s ease,box-shadow .22s ease}
.contact-form button:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(24,38,49,.14)}
.socials a{transition:color .24s ease,border-color .24s ease,transform .24s ease,background .24s ease,box-shadow .24s ease}
.socials a:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(24,38,49,.12)}

@media(max-width:700px){
  .home-bio{padding-top:78px;padding-bottom:84px}
  .listen-section{padding-top:69px;padding-bottom:73px}
  .concert-section{padding-top:78px;padding-bottom:82px}
  .concert-section .eyebrow{margin-bottom:27px}
  .event-images{gap:16px;margin-bottom:31px}
  .event-images a{min-height:242px;padding:25px}
  .event-images a:after{opacity:.72;bottom:12px}
  .home-contact{margin-bottom:78px;padding-top:48px;padding-bottom:45px}

  .agenda-page>h1{margin-bottom:50px}
  .year{margin-bottom:62px}
  .year>h2{font-size:31px;gap:14px;margin-bottom:15px}
  .event{display:block;padding:22px 17px 23px;margin-bottom:5px;border-left-color:transparent;border-right-color:transparent}
  .event-date{display:block;padding-top:0;margin-bottom:8px}
  .event h3{font-size:21px;margin-bottom:6px}
  .event:has(.event-link){padding-left:20px;padding-right:17px;border-left-color:rgba(167,134,82,.18);border-right-color:rgba(167,134,82,.18)}
  .event:has(.event-link):before{top:12px;bottom:12px}

  /* Touch screens should not depend on hover for legibility. */
  .text-link:hover,.download-link:hover,.event-link:hover{transform:none}
  .video-card:hover,.event-images a:hover,.event:hover{transform:none}
}

@media(max-width:700px){
  /* On phones the hero is the only opening portrait: avoid two photos in succession. */
  .home-bio>img{display:none}
  .home-bio{gap:0}
}


/* Press-photo viewer and download */
.photo-open{display:block;width:100%;height:100%;padding:0;border:0;background:transparent;cursor:zoom-in;text-align:inherit}
.photo-open img{display:block}
.photo-tile .download-badge{border:0;cursor:pointer;z-index:2;font-family:inherit}
.photo-modal{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;padding:28px;visibility:hidden;opacity:0;transition:opacity .22s ease,visibility .22s ease}
.photo-modal.open{visibility:visible;opacity:1}
.photo-modal-backdrop{position:absolute;inset:0;background:rgba(10,16,21,.88);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px)}
.photo-modal-dialog{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:min(92vw,1080px);max-height:92vh}
.photo-modal-image{display:block;max-width:100%;max-height:calc(92vh - 88px);width:auto;height:auto;object-fit:contain;box-shadow:0 24px 70px rgba(0,0,0,.36);background:#111}
.photo-modal-actions{display:flex;justify-content:center;padding-top:17px}
.photo-modal-download{border:1px solid rgba(255,255,255,.42);background:#f5f1e9;color:#16232d;padding:12px 19px 11px;font:500 10px/1 var(--sans);letter-spacing:.10em;text-transform:uppercase;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease}
.photo-modal-download:hover{background:#fff;transform:translateY(-1px);border-color:#fff}
.photo-modal-download span{margin-left:7px;font-size:14px}
.photo-modal-close{position:absolute;right:-46px;top:-5px;width:38px;height:38px;border:1px solid rgba(255,255,255,.32);border-radius:50%;background:rgba(12,20,26,.58);color:#fff;font:300 26px/34px Arial,sans-serif;cursor:pointer;z-index:2;transition:background .2s ease,border-color .2s ease}
.photo-modal-close:hover{background:rgba(255,255,255,.12);border-color:rgba(255,255,255,.7)}
body.photo-modal-open{overflow:hidden}
@media(max-width:760px){
 .photo-modal{padding:18px 12px 22px}
 .photo-modal-dialog{max-width:100%;max-height:94vh}
 .photo-modal-image{max-height:calc(94vh - 82px)}
 .photo-modal-close{right:4px;top:4px;background:rgba(12,20,26,.72)}
 .photo-modal-download{padding:12px 17px 11px}
}
