/* Karolina Bengtsson, r67. Programme: the photograph first and her name set under it, every section named in a left column.
   Libre Caslon Display for names and titles, Libre Caslon Text for reading, Hanken Grotesk for menus, dates and small text. All three under the SIL Open Font License, hosted here. */
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-latin.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Hanken Grotesk";src:url(../fonts/hanken-latin-ext.woff2) format("woff2");font-weight:400 500;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Caslon Display";src:url(../fonts/caslon-display-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Caslon Display";src:url(../fonts/caslon-display-latin-ext.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Caslon Text";src:url(../fonts/caslon-text-italic-latin.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Caslon Text";src:url(../fonts/caslon-text-italic-latin-ext.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Libre Caslon Text";src:url(../fonts/caslon-text-latin.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Libre Caslon Text";src:url(../fonts/caslon-text-latin-ext.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --paper:#fbfaf8;--ink:#151515;--mute:#6b6762;--faint:#efece7;--wine:#7b1e2a;
  --disp:"Libre Caslon Display","Big Caslon",Georgia,"Times New Roman",serif;
  --text:"Libre Caslon Text",Georgia,"Times New Roman",serif;
  --sans:"Hanken Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;
  --gut:clamp(20px,4vw,64px);
  --max:1440px;
  --gap:clamp(16px,2vw,32px);
  --sec:clamp(72px,9vw,136px);
  --blk:clamp(32px,4vw,56px);
  --bar-h:clamp(64px,6vw,84px);
  --fs-name:clamp(54px,9.4vw,150px);
  --fs-title:clamp(46px,6.6vw,100px);
  --fs-label:clamp(30px,2.9vw,44px);
  --fs-work:clamp(23px,2vw,29px);
  --fs-lead:clamp(19px,1.55vw,23px);
  --fs-read:clamp(17px,1.15vw,18px);
  --fs-ui:15.5px;
  --fs-small:13.5px;
  --indent:calc(25% + var(--gap) * .25);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--paper);scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.55;font-variant-numeric:lining-nums;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
img{display:block;max-width:100%;height:auto}
picture{display:contents}
a{color:inherit;text-decoration:none}
figure,blockquote,h1,h2,h3,p,ol,ul,dl,dd{margin:0;padding:0}
ol,ul{list-style:none}
b{font-weight:inherit}
i,em{font-family:var(--text);font-style:italic;font-weight:400}
cite{font-style:normal}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
summary{cursor:pointer;list-style:none}
summary::-webkit-details-marker{display:none}
[hidden]{display:none!important}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
h1[tabindex="-1"]:focus{outline:none}
.sr,.vh,.yt-play{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:fixed;left:-999px;top:8px;z-index:200;background:var(--ink);color:var(--paper);padding:10px 14px}
.skip:focus{left:8px}
::selection{background:var(--ink);color:var(--paper)}

/* type: Libre Caslon Display for names and titles, Libre Caslon Text for reading, Hanken Grotesk for everything read in passing */
h1,h2,h3,.ct,.pt{font-family:var(--disp);font-weight:400;letter-spacing:-.005em;text-wrap:balance}
.ct{font-size:var(--fs-label);line-height:1.05}
.ct a:hover{color:var(--wine)}
.pt{font-size:var(--fs-title);line-height:.95;letter-spacing:-.012em}
.big{font-family:var(--text);font-size:var(--fs-lead);line-height:1.5;max-width:34em}
.body{font-family:var(--text);font-size:var(--fs-read);line-height:1.68;max-width:38em}
.body+.body,.big+.body{margin-top:1em}
.cap,.sc{font-size:var(--fs-small);line-height:1.45;color:var(--mute)}
.note{font-size:var(--fs-small);color:var(--mute);max-width:44em}
.cmp{color:var(--mute)}
.lnk,a.ext,.q-a .rd,.rv-a .rd,.ct-l a,.ct-g a,.foot-ml a,.menu-m a,.kit-l a,.cal-note a,summary,.lu-tix,.page-index a,.foot-row a[data-top]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em;transition:color .2s}
.lnk:hover,a.ext:hover,.q-a:hover .rd,.rv-a:hover .rd,.ct-l a:hover,.ct-g a:hover,.foot-ml a:hover,.menu-m a:hover,.kit-l a:hover,.cal-note a:hover,summary:hover,.lu-tix:hover,.page-index a:hover{color:var(--wine)}
.lnk{display:inline-block;padding:3px 0;font-size:var(--fs-ui)}

/* frame: every section is a programme row, its name on the left and the content on the right */
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.sec{padding-top:var(--sec)}
.prow+.prow:not(.sec),.ind+.prow{margin-top:var(--sec)}
.prow+.ind,.ind+.ind{margin-top:var(--blk)}
.prow+.band,.revs+.press-ph{margin-top:var(--sec)}
.p-head{padding:clamp(28px,4.5vw,64px) 0 clamp(36px,5vw,72px)}
.p-head+.prow,.p-head+.ind{margin-top:0}
.page-index{display:flex;flex-wrap:wrap;gap:.2em 1.6em;margin-bottom:var(--blk);font-size:var(--fs-ui)}
.page-index a{padding:6px 0}
.prow-l>*+*{margin-top:clamp(20px,2.4vw,32px)}
.prow-l .z-sub{margin-top:.8em;font-size:var(--fs-small);color:var(--mute);max-width:18em}

/* header */
.bar{display:flex;align-items:center;gap:clamp(24px,3vw,44px);height:var(--bar-h);padding:0 var(--gut);max-width:var(--max);margin:0 auto}
.mark{font-family:var(--disp);font-size:clamp(21px,1.7vw,25px);line-height:1;margin-right:auto;white-space:nowrap}
.nav{display:flex;gap:clamp(18px,2vw,30px)}
.nav a,.langs a{display:inline-block;padding:12px 0;font-size:var(--fs-ui);line-height:1}
.nav a[aria-current],.langs a[aria-current]{text-decoration:underline;text-underline-offset:.32em;text-decoration-thickness:1px}
.nav a:hover,.langs a:hover{color:var(--wine)}
.langs{display:flex;gap:.9em;color:var(--mute);font-size:14px}
.langs a{font-size:inherit}
.langs a[aria-current]{color:var(--ink)}
.menu-btn{display:none;padding:12px 0 12px 16px;font-size:var(--fs-ui)}
.menu-btn .mb-c,.menu-open .menu-btn .mb-o{display:none}
.menu-open .menu-btn .mb-c{display:inline}
.sheetnav{position:fixed;inset:0;z-index:52;background:var(--paper);padding:clamp(84px,14vh,120px) var(--gut) calc(var(--gut) + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;overflow-y:auto}
.sheetnav nav{display:flex;flex-direction:column}
.sheetnav nav a{font-family:var(--disp);font-size:clamp(34px,9vw,44px);line-height:1.2;padding:.08em 0}
.sheetnav nav a[aria-current]{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.14em}
.sn-foot{display:flex;flex-direction:column;gap:1.4rem;margin-top:2.5rem}
.sn-foot .langs{font-size:var(--fs-ui)}
.menu-so{display:flex;flex-wrap:wrap;gap:0 1.2em;font-size:var(--fs-ui)}
.menu-so a{display:inline-block;padding:6px 0}
.menu-m{font-size:var(--fs-small);line-height:1.5;color:var(--mute)}
.menu-m a{color:var(--ink)}
.menu-ml{display:block;margin-bottom:.2em}
body.menu-open{overflow:hidden}

/* home: the photograph, and her name set under it */
.hero{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.hero .film{position:relative;overflow:hidden;background:var(--faint)}
.hero .film img{width:100%;height:auto}
.hero-cap{margin-top:10px;font-size:var(--fs-small);color:var(--mute)}
.hero-t{margin-top:clamp(22px,2.6vw,40px)}
.name{font-family:var(--disp);font-weight:400;font-size:var(--fs-name);line-height:.92;letter-spacing:-.015em}
.hero-r{margin-top:18px}
.hero-sub{font-size:var(--fs-ui);color:var(--mute);max-width:22em}
.hero-play{display:inline-flex;align-items:center;gap:14px;margin-top:16px;padding:4px 10px 4px 0}
.hp-i{position:relative;flex:none;width:48px;height:48px;border-radius:50%;background:var(--ink);transition:transform .2s,background .2s}
.hp-i::after{content:"";position:absolute;left:50%;top:50%;margin:-8px 0 0 -5px;border-left:14px solid var(--paper);border-top:8px solid transparent;border-bottom:8px solid transparent}
.hero-play:hover .hp-i{background:var(--wine)}
.hp-t{display:flex;flex-direction:column;line-height:1.35}
.hp-l{font-size:16px;font-weight:500}
.hp-s{font-size:var(--fs-small);color:var(--mute)}
.hp-s .dur{font-variant-numeric:tabular-nums}
.hero-play.is-live .hp-i::after{border:0;width:12px;height:16px;margin:-8px 0 0 -6px;background:linear-gradient(to right,var(--paper) 0 34%,transparent 34% 66%,var(--paper) 66%)}

/* home: the season */
.feat{display:grid;grid-template-columns:1fr;row-gap:.3em}
.f-date{order:1;font-family:var(--disp);font-size:clamp(22px,1.9vw,27px);line-height:1.15;text-wrap:balance}
.f-work{order:2;font-size:var(--fs-work);line-height:1.15;margin-top:.15em}
.f-work a:hover{color:var(--wine)}
.f-role{order:3;font-size:var(--fs-ui)}
.f-house{order:4}
.f-run{order:5}
.f-times{order:6}
.f-house,.f-run,.f-times{font-size:var(--fs-ui);color:var(--mute)}
.f-tix,.f-sold{order:7;justify-self:start;margin-top:.9em}
.f-tix{display:inline-block;background:var(--ink);color:var(--paper);padding:.72em 1.45em;font-size:var(--fs-ui);font-weight:500;line-height:1.2;transition:background .2s}
.f-tix:hover{background:var(--wine)}
.f-sold{font-size:var(--fs-ui);color:var(--mute)}
.lineup{margin-top:clamp(28px,3.2vw,44px)}
.lineup li{display:grid;grid-template-columns:1fr;row-gap:.2em;padding:clamp(16px,1.9vw,24px) 0}
.lineup li:first-child{padding-top:0}
.lu-when{font-family:var(--disp);font-size:clamp(20px,1.6vw,23px);line-height:1.2;text-wrap:balance}
.lu-work{font-size:var(--fs-work);line-height:1.15}
.lu-work a:hover{color:var(--wine)}
.lu-role{font-size:var(--fs-ui)}
.lu-house,.lu-count{font-size:var(--fs-ui);color:var(--mute)}
.lu-count:empty{display:none}
.lu-tix{justify-self:start;display:inline-block;margin-top:.3em;padding:6px 0;font-size:var(--fs-ui);font-weight:500}
.lu-sold{margin-top:.3em;font-size:var(--fs-ui);color:var(--mute)}
.season-more,.z-more,.next-row,.rep-more{margin-top:var(--blk)}

/* home: Zaide */
.z-lead .z-fr{aspect-ratio:16/9;overflow:hidden;background:var(--faint)}
.z-lead .z-fr img{width:100%;height:100%;object-fit:cover}
.z-lead figcaption{margin-top:10px}
.z-text{margin-top:var(--blk)}
.pull blockquote p{font-family:var(--text);font-style:italic;font-size:clamp(19px,1.5vw,22px);line-height:1.5;text-wrap:pretty}
.pull figcaption{margin-top:.9em;font-size:var(--fs-small);color:var(--mute)}

/* photographs and video stills */
.ph .fr{display:block;position:relative;overflow:hidden;background:var(--faint)}
.ph img{width:100%}
.ph figcaption{margin-top:12px;font-size:var(--fs-small);color:var(--mute);line-height:1.45}
.ph figcaption p{margin:0}
.ph figcaption .rt{font-family:var(--text);color:var(--ink);font-size:clamp(17px,1.25vw,19px);line-height:1.35;margin-top:.25em}
.ph figcaption .rr{color:var(--ink);font-size:var(--fs-small);margin-top:.2em}
.ph figcaption .rr.pr{color:var(--mute)}
.ph figcaption .stream{margin-top:.7em;display:flex;gap:1.3em;font-size:var(--fs-ui)}
.w169 .fr{aspect-ratio:16/9}
.p45 .fr{aspect-ratio:4/5}
.p34 .fr{aspect-ratio:3/4}
.sq .fr{aspect-ratio:1}
.w169 img,.p45 img,.sq img,.p34 img{height:100%;object-fit:cover}
a.fr{position:relative;display:block}
a.fr.yt::before{content:"";position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:rgba(255,255,255,.93);z-index:2;transition:transform .2s}
a.fr.yt::after{content:"";position:absolute;left:50%;top:50%;margin:-11px 0 0 -8px;border-left:22px solid var(--ink);border-top:11px solid transparent;border-bottom:11px solid transparent;z-index:3}
a.fr.yt:hover::before{transform:scale(1.06)}
a.fr.yt.is-live::after{border:0;width:18px;height:22px;margin:-11px 0 0 -9px;background:linear-gradient(to right,var(--ink) 0 34%,transparent 34% 66%,var(--ink) 66%)}

/* home: listen */
.g-listen{display:grid;grid-template-columns:1fr;row-gap:var(--blk)}
.g-listen .l3{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);column-gap:var(--gap);align-items:start}
.g-listen .l3 figcaption{margin-top:0}
.g-listen .l3 figcaption .rt{font-family:var(--disp);font-size:clamp(26px,2.4vw,34px);line-height:1.08;margin:.2em 0 .35em}
.g-listen .l3 figcaption .rr{font-size:var(--fs-ui)}
.g-listen .l3 .stream{margin-top:1em}

/* home: about */
.voice-t .big{max-width:32em}
.v-aw{margin-top:var(--blk)}
.v-aw li{display:grid;grid-template-columns:4.2em 1fr;column-gap:1em;padding:.5em 0}
.v-y{font-size:var(--fs-ui);color:var(--mute);font-variant-numeric:tabular-nums}
.v-n{font-family:var(--text);font-size:var(--fs-read)}
.v-d{font-size:var(--fs-small);color:var(--mute)}
.voice-side .lnk{margin-top:1.6em}

/* home: one review */
.q-one blockquote p{font-family:var(--disp);font-size:clamp(28px,3vw,44px);line-height:1.18;max-width:19em;text-wrap:pretty}
.q .q-tr{margin-top:1.1em;font-size:var(--fs-small);color:var(--mute)}
.q figcaption{margin-top:.3em;font-size:var(--fs-small);color:var(--mute);line-height:1.5}
.q figcaption b{color:var(--ink)}
.q figcaption i{display:block;color:var(--ink)}
.q .rd{display:block;margin-top:.35em;color:var(--ink)}
.q-a{text-decoration:none}
.reviews .lnk{margin-top:var(--blk)}

/* footer: the last row */
.foot{max-width:var(--max);margin:var(--sec) auto 0;padding:0 var(--gut) clamp(32px,4vw,56px)}
.foot-lab{font-family:var(--disp);font-size:var(--fs-label);line-height:1.05;margin-bottom:24px}
.foot-top{display:grid;grid-template-columns:1fr;row-gap:28px;min-width:0}
.foot-m{min-width:0}
.foot-m .cap{display:block;margin-bottom:.35em;font-size:var(--fs-small);color:var(--mute)}
.foot-ml{display:flex;flex-direction:column;gap:.25em;min-width:0;font-size:var(--fs-ui)}
.foot-ml a,.menu-m a,.ct-l a{overflow-wrap:anywhere}
.foot-nav,.foot-so{display:grid;grid-template-columns:1fr 1fr;row-gap:.45em;column-gap:1.5em;font-size:var(--fs-ui);color:var(--ink)}
.foot-nav a:hover,.foot-so a:hover{color:var(--wine)}
.foot-l{display:flex;gap:1.2em;font-size:var(--fs-small);color:var(--mute)}
.foot-l a:hover{color:var(--ink)}
.foot-row{margin-top:var(--blk);display:flex;flex-direction:column;gap:.3em;font-size:var(--fs-small);color:var(--mute)}
.foot-row .cap{font-size:var(--fs-small);color:var(--mute)}
.foot-row a[data-top]{color:var(--mute);padding:6px 0}
.foot-row a[data-top]:hover{color:var(--ink)}

/* the dock: her voice keeps playing while the visitor reads on, across pages */
.dock{position:fixed;z-index:50;right:var(--gut);bottom:24px;width:368px;max-width:calc(100vw - 2 * var(--gut));background:#141313;color:#f3f0ea;box-shadow:0 18px 50px rgba(0,0,0,.28);transform:translateY(calc(100% + 48px));transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.dock.is-in{transform:none}
.dk-v{aspect-ratio:16/9;background:#000}
.dk-v iframe{display:block;width:100%;height:100%;border:0}
.dk-b{display:flex;align-items:flex-start;gap:16px;padding:10px 16px 12px}
.dk-t{flex:1;min-width:0;line-height:1.3;padding-top:2px}
.dk-w{display:block;font-size:var(--fs-small);color:#aba59c}
.dk-p{display:block;font-family:var(--text);font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dk-c{display:flex;gap:16px;flex:none}
.dk-c button,.dk-c a{font-size:var(--fs-small);line-height:1.3;padding:10px 0;color:#f3f0ea;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.2em}
.dk-c button:hover,.dk-c a:hover{color:#fff}
.dock :focus-visible{outline-color:#fff}
body.dock-on{padding-bottom:calc(var(--dock-h,0px) + 48px)}
@media (prefers-reduced-motion:reduce){.dock{transition:none}}

/* biography */
.bio-q{margin-top:var(--blk);max-width:34em}
.bio-q blockquote p{font-family:var(--text);font-style:italic;font-size:var(--fs-lead);line-height:1.45}
.bio-q figcaption{margin-top:.8em;font-size:var(--fs-small);color:var(--mute)}
.facts{margin-top:var(--blk);display:grid;grid-template-columns:1fr;row-gap:.7em}
.facts div{display:grid;grid-template-columns:7.5em 1fr;column-gap:1em}
.facts dt{font-size:var(--fs-ui);color:var(--mute)}
.facts dd{font-size:var(--fs-ui)}
.bio-dl{margin-top:var(--blk)}
.aw-l li{display:grid;grid-template-columns:4.5em 1fr;column-gap:1em;row-gap:.15em;padding:.8em 0;align-items:baseline}
.aw-l li:first-child{padding-top:0}
.aw-y{font-size:var(--fs-ui);color:var(--mute);font-variant-numeric:tabular-nums}
.aw-n{font-size:clamp(21px,1.7vw,25px);line-height:1.2}
.aw-o{font-size:var(--fs-ui);margin-top:.2em}
.aw-p{grid-column:2;font-size:var(--fs-small);color:var(--mute);margin-top:.15em}

/* performances */
.prod{padding:0 0 var(--blk)}
.prod .work{font-size:var(--fs-work);line-height:1.15}
.prod .role{font-size:var(--fs-ui);margin-top:.3em}
.prod .house,.prod .addr,.prod .when{font-size:var(--fs-ui);color:var(--mute)}
.prod .addr{font-size:var(--fs-small)}
.prod .p-d{margin-top:.6em}
.prod .nx-s{font-size:var(--fs-ui);color:var(--mute)}
.prod .tix{margin-top:1.1em}
.prod .tix a{display:inline-block;background:var(--ink);color:var(--paper);padding:.62em 1.3em;text-decoration:none;font-size:var(--fs-ui);font-weight:500;line-height:1.2;transition:background .2s}
.prod .tix a:hover{background:var(--wine);color:var(--paper)}
.cal{margin-top:1.2em}
.cal-yr{font-size:var(--fs-small);color:var(--mute);margin:.9em 0 .2em}
.tile{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"wd d mo tx" "tm tm tm tx";column-gap:.32em;row-gap:.05em;align-items:baseline;padding:.55em 0;font-size:var(--fs-ui);line-height:1.35}
.tile .t-wd{grid-area:wd}
.tile .t-d{grid-area:d;font-variant-numeric:tabular-nums}
.tile .t-mo{grid-area:mo}
.tile .t-tm{grid-area:tm;color:var(--mute)}
.tile .t-tx{grid-area:tx;align-self:center;padding-left:1.2em;font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.22em}
.tile .t-tx.is-sold{text-decoration:none;color:var(--mute);font-weight:400}
.tile:hover,.tile:hover .t-tm{color:var(--wine)}
:lang(de) .tile .t-d::after{content:"."}
:lang(de) .tile .t-wd::after{content:","}
.prod.past{display:block;padding:clamp(12px,1.6vw,18px) 0}
.prod.past:first-child{padding-top:0}
.prod.past .work{font-size:clamp(19px,1.5vw,22px);line-height:1.25}
.prod.past .role{display:block;margin-top:.1em}
.prod.past .house,.prod.past .when{display:inline;font-size:var(--fs-small);color:var(--mute)}
.prod.past .when::before{content:", "}
.empty,.further{color:var(--mute);font-size:var(--fs-ui);margin-top:1em}
.cal-note{color:var(--mute);font-size:var(--fs-small);max-width:44em}
.perf-ph{margin-top:var(--sec)}

/* listen page */
.g-recs{display:grid;grid-template-columns:1fr;row-gap:var(--blk)}
.album,.concert{display:grid;grid-template-columns:1fr;row-gap:var(--blk)}
.al-t .cap{display:block}
.al-h{font-size:clamp(30px,2.9vw,44px);line-height:1.05;margin:.15em 0 .45em}
.al-t p+p{margin-top:.5em}
.al-t .body{font-size:var(--fs-ui);font-family:var(--sans);line-height:1.55}
.al-t .stream{display:flex;gap:1.4em;margin-top:.8em;font-size:var(--fs-ui)}

/* repertoire */
.rep-h{font-size:var(--fs-label);line-height:1.05}
.rep-c{font-size:clamp(22px,1.8vw,26px);line-height:1.2;margin:1.5em 0 .35em}
.rep-s .prow-b>.rep-c:first-child{margin-top:0}
.rep-s .row{display:grid;grid-template-columns:1fr;padding:.45em 0}
.rep-s dt{font-family:var(--text);font-size:var(--fs-read)}
.rep-s dd{font-size:var(--fs-ui);color:var(--mute)}
.rep-s dd b{color:var(--ink)}
.deb{color:var(--mute);font-size:var(--fs-small);margin-left:.4em}

/* press */
.kit-l li{display:flex;flex-wrap:wrap;gap:.3em 1em;padding:.45em 0;align-items:baseline}
.kit-l a{font-family:var(--text);font-size:var(--fs-lead)}
.kit-l .cap{font-size:var(--fs-small)}
.kit .note{margin-top:1.1em}
.z-press{margin-top:var(--blk);max-width:760px}
.rv{padding:clamp(26px,3vw,40px) 0}
.rv:first-child{padding-top:0}
.rv-w{margin-bottom:.7em}
.rv-w i{color:var(--ink)}
.rv-big{font-family:var(--disp);font-size:clamp(23px,2vw,30px);line-height:1.25;max-width:28em;text-wrap:pretty}
.rv-more{margin-top:1em}
.rv-more summary{display:inline-block;font-size:var(--fs-small);color:var(--mute)}
.rv-x{margin-top:1em;max-width:40em}
.rv-full{font-family:var(--text);font-size:var(--fs-read);line-height:1.6}
.rv-tr{display:block;margin-top:1em}
.rv-orig{margin-top:.5em;font-family:var(--text);font-size:var(--fs-ui);line-height:1.6;color:var(--mute)}
.rv-c{margin-top:1.1em;font-size:var(--fs-ui);color:var(--mute)}
.rv-a{text-decoration:none}
.rv-a .rd{display:block;margin-top:.25em;color:var(--ink)}
.rv-m{margin-top:.5em;font-size:var(--fs-small);color:var(--mute)}
.rv-m b{color:var(--ink)}
.pq-l li{padding:1.1em 0}
.pq-l li:first-child{padding-top:0}
.pq-l blockquote p{font-family:var(--text);font-style:italic;font-size:var(--fs-lead);line-height:1.4;max-width:34em}
.pq-l cite{display:block;margin-top:.5em;font-size:var(--fs-small);color:var(--mute)}
.p-rcd-t{font-family:var(--text);font-size:var(--fs-read);line-height:1.6;max-width:40em}

/* contact */
.ct-a{font-family:var(--text);font-size:var(--fs-lead);line-height:1.45}
.ct-l{margin-top:1.2em;font-size:var(--fs-ui);line-height:1.75}
.ct-g{margin-top:1.6em;font-size:var(--fs-ui)}
.ct-g .cap{display:block}

/* desktop */
@media (min-width:900px){
  .prow{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
  .prow-l{grid-column:1/4;align-self:start;position:sticky;top:28px}
  .prow-b{grid-column:4/13;min-width:0}
  .ind{margin-left:var(--indent)}
  .hero .film{aspect-ratio:2000/840}
  .hero .film img{height:100%;object-fit:cover;object-position:50% 42%}
  .hero-t{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap);align-items:end}
  .name{grid-column:1/10}
  .hero-r{grid-column:10/13;margin:0;padding-bottom:1.1em}
  .feat,.lineup li{grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,2fr);column-gap:var(--gap);align-items:baseline}
  .f-date{grid-column:1;grid-row:1/6}
  .f-work{grid-column:2;grid-row:1;margin-top:0}
  .f-role{grid-column:2;grid-row:2}
  .f-house{grid-column:2;grid-row:3}
  .f-run{grid-column:2;grid-row:4}
  .f-times{grid-column:2;grid-row:5}
  .f-tix,.f-sold{grid-column:3;grid-row:1;justify-self:end;margin-top:0}
  .lu-when{grid-column:1;grid-row:1/5}
  .lu-work{grid-column:2;grid-row:1}
  .lu-role{grid-column:2;grid-row:2}
  .lu-house{grid-column:2;grid-row:3}
  .lu-count{grid-column:2;grid-row:4}
  .lu-tix,.lu-sold{grid-column:3;grid-row:1;justify-self:end;margin-top:0}
  .ch-zaide .prow-b{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--gap);align-items:start}
  .z-text{margin-top:0}
  .g-listen{grid-template-columns:minmax(0,2fr) minmax(0,1fr);column-gap:var(--gap)}
  .g-listen .l3{grid-column:1/-1}
  .foot{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--gap)}
  .foot-lab{grid-column:1/4;margin:0}
  .foot-top{grid-column:4/13;grid-template-columns:minmax(0,5fr) minmax(0,4fr) minmax(0,3fr);column-gap:var(--gap);row-gap:1.6em;align-items:start}
  .foot-so{grid-template-columns:1fr}
  .foot-l{grid-column:1}
  .foot-row{grid-column:4/13;flex-direction:row;justify-content:space-between;align-items:baseline;gap:2em}
  .aw-l li{grid-template-columns:4.5em minmax(0,1fr) 13em;column-gap:var(--gap)}
  .aw-p{grid-column:3;justify-self:end;text-align:right;font-size:var(--fs-ui);margin-top:0}
  .prod{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr);column-gap:var(--gap);align-items:start}
  .prod .p-h{grid-column:1;grid-row:1/3}
  .prod .p-d{grid-column:2;grid-row:1;margin:.35em 0 0}
  .prod .cal{grid-column:2;grid-row:2;margin-top:.4em}
  .prod .cal-yr:first-child{margin-top:0}
  .tile{grid-template-columns:7.2em 1.6em minmax(0,1fr) 5.6em auto;grid-template-areas:"wd d mo tm tx"}
  .tile .t-d{text-align:right}
  .tile .t-wd{color:var(--mute)}
  .tile .t-tm{color:var(--ink);text-align:right}
  .g-recs{grid-template-columns:1fr 1fr;column-gap:var(--gap)}
  .album{grid-template-columns:minmax(0,4fr) minmax(0,5fr);column-gap:var(--gap);align-items:start}
  .concert{grid-template-columns:minmax(0,6fr) minmax(0,3fr);column-gap:var(--gap);align-items:start}
  .rep-s .row{grid-template-columns:11em minmax(0,1fr);column-gap:var(--gap)}
}
@media (min-width:900px) and (max-width:1099px){
  .bar{gap:20px}
  .nav{gap:16px}
  .nav a{font-size:14.5px}
  .langs{gap:.75em}
}
@media (max-width:899px){
  html{scroll-padding-top:calc(var(--bar-h) + 8px)}
  .bar{position:sticky;top:0;z-index:54;background:var(--paper)}
  .nav,.bar .langs{display:none}
  .menu-btn{display:inline-block;margin-left:auto}
  .mark{margin-right:0}
  .prow-l{margin-bottom:clamp(18px,5vw,26px)}
  .prow-l .ph{max-width:340px}
  .lineup .lu-count{font-size:var(--fs-small)}
  .g-listen .l2{max-width:420px}
}
@media (max-width:599px){
  .dock{left:0;right:0;bottom:0;width:auto;max-width:none;box-shadow:0 -10px 30px rgba(0,0,0,.18);padding-bottom:env(safe-area-inset-bottom)}
  body.dock-on{padding-bottom:var(--dock-h,0px)}
}
@media (max-width:480px){
  .aw-l li{grid-template-columns:1fr}
  .aw-p{grid-column:1}
  .aw-y{font-size:var(--fs-small)}
  .facts div{grid-template-columns:1fr}
  .g-listen .l3{grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
}
