/* ==================================================================
   Schriften liegen auf dem eigenen Server. Es werden keine Daten an
   Dritte übertragen, deshalb ist auch kein Hinweis in der
   Datenschutzerklärung nötig.
   ================================================================== */
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-moda-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-moda-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-moda-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}
@font-face{font-family:"Bodoni Moda";src:url(/assets/fonts/bodoni-moda-latin-400-italic.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-latin-400-normal.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-latin-500-normal.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}
@font-face{font-family:"Archivo";src:url(/assets/fonts/archivo-latin-600-normal.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}

/* ==================================================================
   danielauner.com — Stylesheet
   Monochrom. Die Fotografie trägt die Farbe.
   Bodoni Moda (Auszeichnung) · Archivo (Text und Navigation)
   ================================================================== */

:root{
  --paper:#FBFAF9;
  --paper-2:#EFEDE9;
  --ink:#0E0E0E;
  --ink-soft:#33322F;
  --grey:#75736F;
  --line:#E2E0DC;
  --serif:"Bodoni Moda",Didot,Georgia,serif;
  --sans:"Archivo",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --wrap:1320px;
  --narrow:760px;
  --pad:clamp(1.15rem,4.5vw,4rem);
}

*,*::before,*::after{box-sizing:border-box}

/* Farbschema festnageln — sonst dunkelt der Browser die Seite selbst ab
   und die Schrift verschwindet. Jeder Abschnitt bekommt eigenen Grund. */
html{
  -webkit-text-size-adjust:100%;
  color-scheme:light;
  background:var(--paper);
}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:var(--sans);font-size:1rem;line-height:1.62;
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
main{background:var(--paper);color:var(--ink)}
section{background:var(--paper);color:var(--ink);padding-block:clamp(2.4rem,5vw,4.2rem)}
section.invert{background:var(--ink);color:var(--paper)}
section.hero{padding:0}

img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--pad)}
.narrow{max-width:var(--narrow)}
.skip{position:absolute;left:-9999px}
.skip:focus{left:1rem;top:1rem;z-index:200;background:var(--ink);color:var(--paper);padding:.7rem 1rem}
:focus-visible{outline:1px solid currentColor;outline-offset:4px}

/* ---------- Kopfzeile ---------- */
.top{position:sticky;top:0;z-index:30;background:var(--paper);border-bottom:1px solid var(--line)}
.top--over{position:absolute;inset:0 0 auto;background:transparent;border:0;color:#fff}
.top__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:4.6rem}
.mark{font-family:var(--serif);font-weight:600;font-size:1.1rem;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.nav{display:none;gap:1.9rem;align-items:center}
.nav a:hover,.nav a[aria-current="page"]{border-color:currentColor}
.lang{display:flex;gap:.4rem;font-size:.66rem;letter-spacing:.12em;font-weight:600;margin:0}
.lang a{opacity:.5}
.lang a:hover{opacity:.85}
.lang a[aria-current="true"]{opacity:1;text-decoration:underline;text-underline-offset:4px}
.lang span{opacity:.3}

.burger{width:2.75rem;height:2.75rem;display:grid;place-items:center;background:none;border:0;
        cursor:pointer;margin-right:-.6rem;color:inherit}
.burger i{display:block;width:22px;height:1px;background:currentColor;position:relative;transition:background .25s}
.burger i::before,.burger i::after{content:"";position:absolute;left:0;width:22px;height:1px;
  background:currentColor;transition:transform .25s}
.burger i::before{top:-6px}.burger i::after{top:6px}
.burger[aria-expanded="true"] i{background:transparent}
.burger[aria-expanded="true"] i::before{transform:translateY(6px) rotate(45deg)}
.burger[aria-expanded="true"] i::after{transform:translateY(-6px) rotate(-45deg)}
@media(min-width:1080px){.burger{display:none}.nav{display:flex}}

.drawer{position:fixed;inset:0;z-index:40;background:var(--ink);color:var(--paper);
  padding:5.5rem var(--pad) 3rem;opacity:0;pointer-events:none;transition:opacity .3s;overflow-y:auto}
.drawer.is-open{opacity:1;pointer-events:auto}
.drawer a{display:block;font-family:var(--serif);font-size:1.85rem;line-height:1.32;padding:.25rem 0}
.drawer .grp{font-size:.6rem;letter-spacing:.22em;text-transform:uppercase;color:#8A8781;
  margin:1.8rem 0 .4rem;font-family:var(--sans);font-weight:600}
.drawer .lang{margin-top:2rem;font-family:var(--sans)}
.drawer .lang a{display:inline;font-family:var(--sans);font-size:.8rem;padding:0}
.drawer__close{position:absolute;top:1rem;right:var(--pad)}

/* ---------- Hero ---------- */
.hero{position:relative;min-height:76svh;display:flex;align-items:flex-end;background:#111;overflow:hidden}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.hero__bg::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.5) 0%,rgba(0,0,0,0) 30%,rgba(0,0,0,.08) 55%,rgba(0,0,0,.74) 100%)}
.hero__in{position:relative;z-index:2;color:#fff;width:100%;padding-bottom:clamp(2.5rem,6vw,4.5rem)}
.hero h1{font-family:var(--serif);font-weight:600;margin:0;
  font-size:clamp(2.8rem,10vw,7.2rem);line-height:.94;letter-spacing:-.015em}
.hero .role{margin:1rem 0 0;font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;font-weight:500;opacity:.92}
.hero__credit{position:absolute;right:var(--pad);bottom:.9rem;z-index:2;color:rgba(255,255,255,.5);
  font-size:.58rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------- Seitenkopf für Unterseiten ---------- */
.pagehead{padding-block:clamp(1.8rem,4vw,3rem) clamp(1.1rem,2vw,1.6rem)}
.pagehead .kick{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--grey);font-weight:600;margin:0}
.pagehead h1{font-family:var(--serif);font-weight:600;line-height:1.02;letter-spacing:-.01em;
  font-size:clamp(2.2rem,6.5vw,4.2rem);margin:.8rem 0 0}
.pagehead .sub{margin:1.1rem 0 0;font-size:clamp(1.02rem,2vw,1.2rem);color:var(--grey);max-width:52ch}

/* ---------- Laufband nächstes Konzert ---------- */
.next{background:var(--ink);color:var(--paper)}
.next__in{display:flex;align-items:center;gap:1rem;min-height:3.1rem;font-size:.8rem;
  white-space:nowrap;overflow:hidden}
.next__tag{font-size:.58rem;letter-spacing:.24em;text-transform:uppercase;opacity:.55;flex:none}
.next__txt{overflow:hidden;text-overflow:ellipsis}
.next__go{margin-left:auto;flex:none;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;
  font-weight:600;border-bottom:1px solid currentColor;padding-bottom:1px}

/* ---------- Überschriften in Abschnitten ---------- */
.head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;
  border-bottom:1px solid currentColor;padding-bottom:.6rem;margin-bottom:1.6rem}
.head h2{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,3.6vw,2.3rem);margin:0;line-height:1}
.head a{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;color:var(--grey);flex:none}
.head a:hover{color:inherit}
h3.sub-h{font-family:var(--serif);font-weight:500;font-size:clamp(1.3rem,2.8vw,1.7rem);
  margin:2rem 0 .7rem;line-height:1.15}

/* ---------- Fließtext ---------- */
.prose{max-width:66ch}
.prose p{margin:0 0 1.2rem;color:var(--ink-soft)}
.prose p.lead{font-family:var(--serif);font-size:clamp(1.2rem,2.6vw,1.55rem);line-height:1.4;color:var(--ink)}
.prose strong{font-weight:600;color:var(--ink)}
.prose em{font-style:italic}
.prose ul{margin:0 0 1.4rem;padding-left:1.1rem;color:var(--ink-soft)}
.prose li{margin-bottom:.45rem}
.prose a:not(.more):not(.btn){border-bottom:1px solid var(--grey)}
.prose a:not(.more):not(.btn):hover{border-color:var(--ink)}

.more{display:inline-block;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;
  font-weight:600;border-bottom:1px solid currentColor;padding-bottom:2px}
.btn{display:inline-block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  border:1px solid currentColor;padding:.85rem 1.6rem;transition:background .2s,color .2s}
.btn:hover{background:var(--ink);color:var(--paper)}
section.invert .btn:hover{background:var(--paper);color:var(--ink)}

/* ---------- Termine ---------- */
.agenda{list-style:none;margin:0;padding:0}
.agenda li{display:grid;grid-template-columns:1fr;gap:.25rem;padding-block:1.5rem;border-bottom:1px solid var(--line)}
.agenda .d{font-family:var(--serif);font-size:1.7rem;line-height:1;margin:0 0 .55rem}
.agenda .d small{font-family:var(--sans);font-size:.58rem;letter-spacing:.16em;color:var(--grey);
  margin-left:.6rem;font-weight:600}
.agenda h3{font-size:1.02rem;font-weight:600;margin:0 0 .25rem;line-height:1.35}
.agenda .where{font-size:.86rem;color:var(--grey);margin:0}
.agenda .prog{font-family:var(--serif);font-style:italic;font-size:.92rem;color:var(--grey);margin:.4rem 0 0}
.agenda .tick{display:inline-block;margin-top:.9rem;font-size:.63rem;letter-spacing:.18em;
  text-transform:uppercase;font-weight:600;border-bottom:1px solid var(--ink);padding-bottom:2px}
.agenda .flag{display:inline-block;margin-top:.7rem;font-size:.58rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--grey)}
.agenda .empty{padding:2.5rem 0;color:var(--grey);border:0}
@media(min-width:820px){
  .agenda li{grid-template-columns:11rem 1fr auto;gap:0 3rem;align-items:baseline}
  .agenda .d{font-size:2rem;margin:0}
  .agenda .tick{margin:0;white-space:nowrap}
}
.filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}
.filters button{font:inherit;font-size:.64rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  background:none;border:1px solid var(--line);padding:.55rem 1rem;cursor:pointer;color:var(--grey)}
.filters button[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}

/* ---------- Zweispaltiger Projektblock ---------- */
.proj{display:grid;gap:1.75rem;align-items:center}
@media(min-width:900px){
  .proj{grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,6rem)}
  .proj--flip .proj__txt{order:2}
}
.proj__img{margin:0;background:var(--paper-2);overflow:hidden}
.proj__img img{width:100%;height:100%;object-fit:cover}
.kick{font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;color:var(--grey);font-weight:600;margin:0}
.proj h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.08;margin:.7rem 0 1.1rem}
.proj p{margin:0 0 1.1rem;max-width:48ch;color:var(--ink-soft)}

/* ---------- Zitat ---------- */
.quote blockquote{font-family:var(--serif);font-weight:500;font-size:clamp(1.5rem,4.2vw,3rem);
  line-height:1.24;margin:0 auto;max-width:24ch;text-align:center}
.quote cite{display:block;margin-top:1.5rem;font-family:var(--sans);font-style:normal;text-align:center;
  font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;opacity:.6}

/* ---------- Raster ---------- */
.grid2{display:grid;gap:2rem}
.grid3{display:grid;gap:2rem}
.grid4{display:grid;gap:1.75rem}
@media(min-width:700px){.grid2{grid-template-columns:repeat(2,1fr);gap:2.5rem 3rem}
  .grid3{grid-template-columns:repeat(2,1fr);gap:2.5rem 3rem}
  .grid4{grid-template-columns:repeat(2,1fr);gap:2.25rem 3rem}}
@media(min-width:1050px){.grid3{grid-template-columns:repeat(3,1fr)}.grid4{grid-template-columns:repeat(4,1fr)}}

.card{border-top:1px solid currentColor;padding-top:1rem}
.card h3{font-family:var(--serif);font-weight:500;font-size:1.3rem;margin:0 0 .55rem;line-height:1.15}
.card p{font-size:.88rem;color:var(--grey);margin:0 0 .95rem}
section.invert .card p{color:rgba(251,250,249,.72)}
.card .more{font-size:.62rem}

/* ---------- Werkliste (Repertoire) ---------- */
.works{list-style:none;margin:0;padding:0}
.works li{padding-block:.85rem;border-bottom:1px solid var(--line);display:grid;gap:.15rem}
.works b{font-weight:600;font-size:.95rem}
.works span{font-size:.86rem;color:var(--grey)}
@media(min-width:760px){.works li{grid-template-columns:18rem 1fr;gap:0 2rem;align-items:baseline}}

/* ---------- Diskografie ---------- */
.discs{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}
@media(min-width:760px){.discs{grid-template-columns:repeat(4,1fr);gap:2rem}}
.disc__img{display:block;aspect-ratio:1/1;background:var(--paper-2);margin-bottom:.7rem;overflow:hidden}
.disc__img img{display:block;width:100%;height:100%;object-fit:contain}
.disc h3{font-size:.92rem;font-weight:600;margin:0 0 .15rem;line-height:1.3}
.disc p{font-size:.78rem;color:var(--grey);margin:0}

/* ---------- Kontaktkarten ---------- */
.contact{display:grid;gap:2rem}
@media(min-width:760px){.contact{grid-template-columns:repeat(2,1fr);gap:2.5rem 3rem}}
.ccard{border-top:1px solid var(--ink);padding-top:1.1rem}
.ccard h3{font-family:var(--serif);font-weight:500;font-size:1.35rem;margin:0 0 .6rem}
.ccard p{margin:0 0 .5rem;font-size:.93rem;color:var(--ink-soft)}
.ccard .who{font-size:.8rem;color:var(--grey)}

/* ---------- Fuß ---------- */
.foot{background:var(--paper);border-top:1px solid var(--line);padding-block:3.5rem 2rem;font-size:.88rem}
.foot__grid{display:grid;gap:2.25rem}
@media(min-width:760px){.foot__grid{grid-template-columns:1.5fr 1fr 1fr}}
.foot h4{font-size:.58rem;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);margin:0 0 .85rem;font-weight:600}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:.4rem}
.foot a{border-bottom:1px solid transparent}
.foot a:hover{border-color:var(--ink)}
.foot__legal{display:flex;flex-wrap:wrap;gap:1.25rem;font-size:.72rem;color:var(--grey);
  border-top:1px solid var(--line);margin-top:2.75rem;padding-top:1.4rem}

/* ---------- Bewegung ---------- */
.rise{opacity:0;transform:translateY(16px);transition:opacity .8s ease,transform .8s ease}
.rise.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .rise{opacity:1;transform:none}
}

/* ==================================================================
   Interaktion und Feinschliff
   ================================================================== */

/* --- Bilder: Kopf nicht anschneiden --------------------------------
   object-position wird pro Bild gesetzt; Standard ist der obere
   Bildbereich, weil bei Hochformaten sonst der Kopf wegfällt.        */
.proj__img img,.disc__img img{object-position:50% 25%}
@media(max-width:700px){
  .proj__img img{object-position:50% 20%}
}

/* --- Textumbruch auf schmalen Schirmen ----------------------------- */
h1,h2,h3,.hero h1,.pagehead h1{overflow-wrap:break-word;hyphens:none}
.prose p,.card p,.agenda h3,.agenda .where{overflow-wrap:break-word;hyphens:none}
/* Silbentrennung bleibt überall abgeschaltet */
*{hyphens:none;-webkit-hyphens:none}
.pagehead h1,.hero h1{text-wrap:balance}
.pagehead .sub,.head h2{text-wrap:pretty}

/* --- Reaktion auf den Zeiger --------------------------------------
   Jede Karte hebt sich beim Überfahren, ein feiner Farbverlauf folgt
   dem Zeiger. Auf Berührungsgeräten bleibt alles ruhig.              */
@media(hover:hover) and (pointer:fine){
  .card,.ccard,.disc,.ens{
    position:relative;transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s;
  }
  /* Beim Überfahren rückt die Karte auf und die Oberkante wird kräftiger */
  .card:hover,.ccard:hover,.ens:hover{transform:translateY(-3px);border-top-width:2px;margin-top:-1px}

  /* Bilder: langsames Heranfahren */
  .proj__img,.disc__img{overflow:hidden}
  .proj__img img,.disc__img img{transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .7s}
  .proj:hover .proj__img img{transform:scale(1.035)}
  .disc:hover .disc__img img{transform:scale(1.05)}

  /* Terminzeilen */
  .agenda li{transition:background .35s,padding-left .35s}
  .agenda li:hover{padding-left:.9rem}

  /* Verweise: Unterstrich wächst von links */
  .more,.foot a,.prose a:not(.btn){
    background-image:linear-gradient(currentColor,currentColor);
    background-size:0% 1px;background-repeat:no-repeat;background-position:0 100%;
    transition:background-size .35s cubic-bezier(.2,.7,.2,1);
    border-bottom-color:transparent!important;padding-bottom:2px;
  }
  .more:hover,.foot a:hover,.prose a:not(.btn):hover{background-size:100% 1px}

  /* Navigation */
  .nav a{transition:opacity .25s}
  .nav:hover a{opacity:.45}
  .nav:hover a:hover,.nav a[aria-current="page"]{opacity:1}

  .btn{transition:background .3s,color .3s,letter-spacing .3s}
  .btn:hover{letter-spacing:.2em}
}

/* --- Feiner Rahmen um Bildflächen, wirkt gefasster ------------------ */
.proj__img,.disc__img{position:relative}
.proj__img::after,.disc__img::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(14,14,14,.07);
}

/* --- Auftritt beim Laden ------------------------------------------- */
@keyframes aufblenden{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.hero h1{animation:aufblenden .95s cubic-bezier(.2,.7,.2,1) both}
.hero .role{animation:aufblenden .95s cubic-bezier(.2,.7,.2,1) .18s both}
.pagehead .kick{animation:aufblenden .7s ease both}
.pagehead h1{animation:aufblenden .8s cubic-bezier(.2,.7,.2,1) .08s both}
.pagehead .sub{animation:aufblenden .8s cubic-bezier(.2,.7,.2,1) .16s both}

/* --- Lesefortschritt am oberen Rand -------------------------------- */
.fortschritt{position:fixed;top:0;left:0;height:2px;width:0;background:var(--ink);z-index:60;
  transition:width .12s linear}
section.invert ~ .fortschritt{background:var(--paper)}

@media(prefers-reduced-motion:reduce){
  .hero h1,.hero .role,.pagehead .kick,.pagehead h1,.pagehead .sub{animation:none}
  .fortschritt{display:none}
}

/* ==================================================================
   Blog
   ================================================================== */
.posts{list-style:none;margin:0;padding:0}
.posts li{border-top:1px solid var(--line)}
.posts li:last-child{border-bottom:1px solid var(--line)}
.posts a{display:grid;gap:.4rem;padding-block:1.7rem;transition:padding-left .35s,background .35s}
@media(hover:hover){.posts a:hover{padding-left:.9rem}}
.posts .nr{font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--grey);font-weight:600}
.posts h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.25rem,3vw,1.75rem);line-height:1.2;margin:0}
.posts p{font-size:.9rem;color:var(--grey);margin:0;max-width:60ch}
@media(min-width:820px){
  .posts a{grid-template-columns:5rem 1fr;gap:0 2.5rem;align-items:baseline}
  .posts .nr{grid-row:span 2}
}
.artikel p{font-size:1.14rem;line-height:1.78;max-width:62ch}
.artikel p:first-of-type{font-family:var(--serif);font-size:clamp(1.3rem,2.8vw,1.65rem);line-height:1.42;color:var(--ink)}
.artikel blockquote{font-family:var(--serif);font-style:italic;font-size:1.35rem;line-height:1.45;
  margin:2rem 0;padding-left:1.3rem;border-left:2px solid var(--ink);color:var(--ink)}


/* ---------- Videos im eigenen Fenster ---------------------------
   Das YouTube-Fenster wird erst nach einem Klick geladen. Vorher
   fließen keine Daten zu Google.                                   */
.video{margin:0 0 2.2rem}
.video__rahmen{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden;cursor:pointer}
.video__rahmen img{width:100%;height:100%;object-fit:cover;opacity:.72;transition:opacity .4s,transform 1s}
.video__rahmen:hover img{opacity:.9;transform:scale(1.02)}
.video__play{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none}
.video__play span{
  width:4.6rem;height:4.6rem;border:1px solid rgba(251,250,249,.85);border-radius:50%;
  display:grid;place-items:center;color:#FBFAF9;font-size:.95rem;padding-left:.25rem;
  background:rgba(14,14,14,.28);transition:background .3s,transform .3s;
}
.video__rahmen:hover .video__play span{background:rgba(14,14,14,.5);transform:scale(1.06)}
.video__rahmen iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video--audio .video__rahmen{aspect-ratio:auto;min-height:9rem}
.video h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.1rem,2.4vw,1.45rem);line-height:1.2;margin:.9rem 0 .3rem}
.video p{font-size:.88rem;color:var(--grey);margin:0}
.video__hinweis{font-size:.72rem;color:var(--grey);margin:.5rem 0 0}


/* ==================================================================
   Startseite am Telefon
   Der Name darf unter keinen Umständen getrennt werden. Das Bild
   füllt die Fläche, der Schriftzug sitzt darüber am unteren Rand.
   ================================================================== */
.hero h1{
  hyphens:none;-webkit-hyphens:none;
  word-break:keep-all;overflow-wrap:normal;
  text-wrap:nowrap;
}
.hero h1 span{display:block;white-space:nowrap}

@media(max-width:520px){
  .hero{min-height:70svh}
  .hero h1{font-size:clamp(2.4rem,13vw,4rem);letter-spacing:-.01em}
  .hero .role{font-size:.62rem;letter-spacing:.22em}
  .hero__in{padding-bottom:2rem}
  .hero__credit{font-size:.52rem;right:auto;left:var(--pad);bottom:.6rem}
  .next__in{font-size:.72rem;gap:.6rem}
  .next__tag{font-size:.52rem;letter-spacing:.18em}
  .top__in{height:3.9rem}
  .mark{font-size:.95rem}
  .lang{font-size:.6rem}
  .pagehead h1{font-size:clamp(1.9rem,8vw,2.6rem)}
  .head h2{font-size:clamp(1.3rem,5.5vw,1.8rem)}
  .prose p,.artikel p{font-size:1.02rem;line-height:1.68}
  .works li{grid-template-columns:1fr;gap:.2rem}
  .grid2,.grid3,.grid4,.cols{gap:1.5rem}
  section{padding-block:2rem}
}

/* Sehr schmale Geräte: Schriftzug bleibt in einer Zeile lesbar */
@media(max-width:360px){
  .hero h1{font-size:2.1rem}
}


/* Breites Hero-Bild ab Tablet, Hochformat am Telefon */
@media(min-width:760px){
}


/* ==================================================================
   Rechtsläufige Schrift (Arabisch)
   ================================================================== */
[dir="rtl"]{direction:rtl}
[dir="rtl"] .top__in,[dir="rtl"] .next__in,[dir="rtl"] .head{flex-direction:row-reverse}
[dir="rtl"] .next__go{margin-left:0;margin-right:auto}
[dir="rtl"] .hero__credit{right:auto;left:var(--pad)}
[dir="rtl"] .prose,[dir="rtl"] .works li,[dir="rtl"] .card,[dir="rtl"] .ccard{text-align:right}
[dir="rtl"] .prose ul{padding-left:0;padding-right:1.1rem}
[dir="rtl"] .artikel blockquote,[dir="rtl"] .prose blockquote{border-left:0;border-right:2px solid var(--ink);padding-left:0;padding-right:1.3rem}
[dir="rtl"] .card,[dir="rtl"] .ens{border-top:1px solid currentColor}
[dir="rtl"] .kick,[dir="rtl"] .pagehead .sub{text-align:right}
/* Arabische Schrift: Systemschrift, damit Ligaturen sitzen */
[lang="ar"]{font-family:"Noto Naskh Arabic","Geeza Pro","Segoe UI",Tahoma,sans-serif;line-height:1.85}
[lang="ar"] h1,[lang="ar"] h2,[lang="ar"] h3,[lang="ar"] .mark{font-family:inherit;font-weight:600}
/* Ostasiatische Schriften: Systemschrift */
[lang="ja"]{font-family:"Hiragino Sans","Yu Gothic","Noto Sans JP","Meiryo",sans-serif}
[lang="zh"]{font-family:"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Noto Sans SC",sans-serif}
[lang="ja"] h1,[lang="ja"] h2,[lang="ja"] h3,[lang="zh"] h1,[lang="zh"] h2,[lang="zh"] h3{font-family:inherit;font-weight:600;letter-spacing:.02em}
[lang="ja"] .hero h1,[lang="zh"] .hero h1,[lang="ar"] .hero h1{font-size:clamp(2.2rem,7vw,4.5rem)}


/* Das Querformat liegt still hinter dem Zitatband */
.quote--bild{position:relative;overflow:hidden}
.quote--bild::before{
  content:"";position:absolute;inset:0;
  background:url(/assets/img/hero-wide.b781d9a6.jpg) center/cover no-repeat;
  opacity:.20;filter:grayscale(.4);
}
.quote--bild::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(14,14,14,.92) 0%,rgba(14,14,14,.55) 60%,rgba(14,14,14,.85) 100%);
}
.quote--bild > *{position:relative;z-index:2}
@media(max-width:700px){.quote--bild::before{opacity:.14}}


/* Echter Player auf der Seite, nicht erst nach einem Klick */
.player{position:relative;aspect-ratio:16/9;background:var(--ink);overflow:hidden;margin:0}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.videoliste{display:grid;gap:2rem}
@media(min-width:820px){.videoliste{grid-template-columns:repeat(2,1fr);gap:2.2rem 2.5rem}}
.videoliste h3{font-family:var(--serif);font-weight:500;font-size:clamp(1.05rem,2.2vw,1.32rem);
  line-height:1.25;margin:.85rem 0 .25rem}
.videoliste p{font-size:.86rem;color:var(--grey);margin:0}
.audio .player{aspect-ratio:auto;height:9.5rem}

/* ==================================================================
   Videoplayer auf der Seite
   Der Player läuft eingebettet; man verlässt die Website nicht.
   ================================================================== */
.videoliste{display:grid;gap:2rem}
@media(min-width:760px){.videoliste{grid-template-columns:repeat(2,1fr);gap:2rem}}
@media(min-width:1180px){.videoliste{grid-template-columns:repeat(3,1fr);gap:2rem 1.8rem}}
.videoliste article{margin:0}
.player{
  position:relative;aspect-ratio:16/9;background:var(--ink);
  overflow:hidden;box-shadow:inset 0 0 0 1px rgba(14,14,14,.08);
}
.player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.videoliste h3{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.05rem,2.2vw,1.35rem);line-height:1.25;margin:.9rem 0 .3rem;
}
.videoliste p{font-size:.86rem;line-height:1.5;color:var(--grey);margin:0}

/* Tonaufnahmen: flacher Rahmen, weil es nichts zu sehen gibt */
.videoliste article.audio .player{aspect-ratio:16/5}
@media(max-width:600px){.videoliste article.audio .player{aspect-ratio:16/7}}

/* ==================================================================
   Aufklappmenü in der Kopfzeile
   Ohne diese Regeln liegen alle Untermenüs offen nebeneinander.
   ================================================================== */
.nav .has-sub{position:relative}

.nav .has-sub > button::after{
  content:"";width:4px;height:4px;flex:none;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:rotate(45deg) translate(-1px,-1px);transition:transform .25s;
}
.nav .has-sub > button:hover{border-bottom-color:currentColor}

.nav .sub{
  position:absolute;top:100%;left:-1.1rem;z-index:40;
  min-width:16rem;padding:.7rem 0;
  background:var(--paper);color:var(--ink);
  border:1px solid var(--line);box-shadow:0 18px 40px rgba(14,14,14,.10);
  opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s ease,transform .2s ease,visibility .2s;
}
.nav .has-sub:hover > .sub,
.nav .has-sub:focus-within > .sub{opacity:1;visibility:visible;transform:none}
.nav .has-sub:hover > button::after,
.nav .has-sub:focus-within > button::after{transform:rotate(-135deg) translate(-2px,-2px)}

.nav .sub a{
  display:block;padding:.5rem 1.15rem;border:0;white-space:nowrap;
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:500;
}
.nav .sub a:hover{background:var(--paper-2)}

/* Über dem Foto steht die Kopfzeile hell — das Aufklappfeld bleibt weiß */
.top--over .nav .sub{color:var(--ink)}
.top--over .nav .sub a{color:var(--ink)}

/* Unter 1080 px ist die Kopfzeile ausgeblendet; das Schubladenmenü
   zeigt dort ohnehin alle Punkte untereinander. */
@media(max-width:1079px){.nav .has-sub{display:none}}


/* Bildausschnitt des Hauptbildes je Bildschirmbreite.
   Steht bewusst am Ende, damit keine frühere Regel dagegenhält. */
@media(min-width:760px){.hero__bg img{object-position:50% 20%}}
@media(max-width:700px){.hero__bg img{object-position:50% 12%}}


/* ==================================================================
   Kopfzeile: alle Punkte in einer Zeile, auf gleicher Höhe
   Punkte mit Untermenü sind <button>, die übrigen <a>. Beide werden
   hier auf dieselbe Box gebracht, sonst sitzen sie unterschiedlich hoch.
   ================================================================== */
.top__in{align-items:center}
.mark{line-height:1;display:inline-flex;align-items:center}

.nav{align-items:center}
.nav .has-sub{display:inline-flex;align-items:center}

.nav > a,
.nav .has-sub > button{
  appearance:none;background:none;margin:0;
  font-family:inherit;color:inherit;cursor:pointer;
  display:inline-flex;align-items:center;gap:.38rem;
  height:1.5rem;line-height:1;
  padding:0;border:0;border-bottom:1px solid transparent;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;font-weight:500;
  white-space:nowrap;
}
.nav > a:hover,
.nav > a[aria-current="page"],
.nav .has-sub > button:hover{border-bottom-color:currentColor}

/* Der Pfeil sitzt in der Mitte der Zeile, nicht auf der Grundlinie */
.nav .has-sub > button::after{
  content:"";width:4px;height:4px;flex:none;position:relative;top:-1px;
  border-right:1px solid currentColor;border-bottom:1px solid currentColor;
  transform:rotate(45deg);transition:transform .25s;
}
.nav .has-sub:hover > button::after,
.nav .has-sub:focus-within > button::after{transform:rotate(-135deg);top:1px}

.lang{align-items:center;line-height:1}

/* App-Bild neben dem Text */
.app-bild{margin:0;background:var(--paper-2);overflow:hidden}
.app-bild img{width:100%;height:auto;display:block}
@media(min-width:900px){.app-bild{order:2;position:sticky;top:6rem}}

/* Tabellen in den Datenschutztexten */
.gdpr-tab{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.86rem}
.gdpr-tab th,.gdpr-tab td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left;vertical-align:top}
.gdpr-tab th{background:var(--paper-2);font-weight:600}

/* Datenschutztexte der Apps: etwas engerer Satz, lange Dokumente */
.gdpr p{font-size:.94rem;line-height:1.62;margin-bottom:.7rem}
.gdpr h3.sub-h{margin:1.8rem 0 .6rem;font-size:1.15rem}

/* Bucheinband */
.buch{margin:0;position:sticky;top:6rem}
.buch img{width:100%;height:auto;display:block;
  box-shadow:0 22px 50px rgba(14,14,14,.16), 0 2px 6px rgba(14,14,14,.10)}
@media(max-width:899px){.buch{position:static;max-width:20rem;margin:0 auto 1.5rem}}


/* ==================================================================
   Startbild
   Die Vorlage ist 1500 px breit. Über die volle Bildschirmbreite
   gestreckt wird sie sichtbar unscharf. Deshalb bleibt sie zentriert
   und auf ihre natürliche Breite begrenzt; daneben steht der Grundton.
   ================================================================== */
@media(min-width:900px){
  .hero__bg{left:50%;transform:translateX(-50%);width:min(100%,1500px)}
  .hero__bg::after{border-radius:0}
  .hero{background:#131313}
}
@media(min-width:1700px){
  .hero__bg{width:1500px}
}

/* Sprachumschaltung: ostasiatische Namen dürfen nicht umbrechen */
.lang a{white-space:nowrap}
.lang{flex-wrap:nowrap}
@media(max-width:520px){.lang{font-size:.55rem;gap:.3rem}}

/* Pressefotos mit Vorschau */
.pressegitter{display:grid;gap:1.6rem;margin-top:1.6rem}
@media(min-width:640px){.pressegitter{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.pressegitter{grid-template-columns:repeat(3,1fr)}}
.pressebild{margin:0}
.pressebild img{width:100%;height:auto;display:block;background:var(--paper-2);
  box-shadow:inset 0 0 0 1px rgba(14,14,14,.08);transition:opacity .3s}
.pressebild a:hover img{opacity:.86}
.pressebild figcaption{font-size:.78rem;line-height:1.45;color:var(--grey);margin-top:.5rem}
.pressebild figcaption a{border-bottom:1px solid var(--ink);color:var(--ink)}

/* ==================================================================
   Weiterführende Verweise am Seitenfuß
   ================================================================== */
.weiter{border-top:1px solid var(--line);padding-block:2rem 2.6rem}
.weiter .kick{margin-bottom:1rem}
.weiter__g{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:700px){.weiter__g{grid-template-columns:repeat(3,1fr)}}
.weiter__k{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  background:var(--paper);padding:1.15rem 1.3rem;border:0;
  font-family:var(--serif);font-size:clamp(1rem,2.2vw,1.25rem);line-height:1.2;
  transition:background .3s,padding-left .3s}
.weiter__k::after{content:"→";font-family:var(--sans);font-size:.9rem;opacity:.45}
@media(hover:hover){.weiter__k:hover{background:var(--paper-2);padding-left:1.6rem}
  .weiter__k:hover::after{opacity:1}}

/* ==================================================================
   Belegband auf der Startseite
   Was ein Intendant in den ersten Sekunden braucht: mit wem, wo, wofür.
   ================================================================== */
.rang{padding-block:clamp(2.6rem,6vw,4.5rem)}
.rang__q{font-family:var(--serif);font-weight:500;font-style:normal;
  font-size:clamp(1.6rem,4.5vw,2.8rem);line-height:1.15;margin:0 0 2.2rem;max-width:22ch}
.rang__q cite{display:block;font-family:var(--sans);font-style:normal;
  font-size:.68rem;letter-spacing:.22em;text-transform:uppercase;opacity:.6;margin-top:.9rem}
.rang__g{display:grid;gap:1.8rem}
@media(min-width:820px){.rang__g{grid-template-columns:repeat(3,1fr);gap:2.4rem}}
.rang__g h4{font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;
  font-weight:600;opacity:.6;margin:0 0 .6rem;padding-bottom:.5rem;
  border-bottom:1px solid currentColor}
.rang__g p{font-size:.9rem;line-height:1.6;margin:0;opacity:.92}
.rang__m{margin:2rem 0 0}

/* ==================================================================
   Übergang vom Hauptbild in den Hintergrund
   Die Vorlage ist 1500 px breit und wird nicht gestreckt. Damit an
   ihren Rändern keine Kante entsteht, blendet das Bild dort weich aus
   und der Grundton setzt den Studiohintergrund farblich fort.
   ================================================================== */
@media(min-width:900px){
  .hero{
    background:
      radial-gradient(130% 110% at 50% 30%,
        #4a4a4a 0%, #3a3a3a 28%, #2a2a2a 52%, #1c1c1c 76%, #121212 100%);
  }
  .hero__bg img{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0, rgba(0,0,0,.35) 3%, #000 14%, #000 86%, rgba(0,0,0,.35) 97%, transparent 100%);
    mask-image:linear-gradient(90deg,
      transparent 0, rgba(0,0,0,.35) 3%, #000 14%, #000 86%, rgba(0,0,0,.35) 97%, transparent 100%);
  }
  /* Der dunkle Verlauf für die Schrift bleibt über der gesamten Breite */
  .hero__bg::after{inset:0 auto 0 50%;transform:translateX(-50%);width:100vw}
}

/* Sehr breite Schirme: der Verlauf greift weiter aus */
@media(min-width:1700px){
  .hero__bg img{
    -webkit-mask-image:linear-gradient(90deg,
      transparent 0, rgba(0,0,0,.3) 4%, #000 18%, #000 82%, rgba(0,0,0,.3) 96%, transparent 100%);
    mask-image:linear-gradient(90deg,
      transparent 0, rgba(0,0,0,.3) 4%, #000 18%, #000 82%, rgba(0,0,0,.3) 96%, transparent 100%);
  }
}

/* Vorstellungsabsatz: ruhig, nicht als Schlagzeile */
.vorst{padding-block:clamp(2rem,4vw,3rem) 0}
.vorst p{font-size:1.02rem;line-height:1.7;color:var(--ink-soft);max-width:64ch}

/* ==================================================================
   Die Violine: Aufmacher und Bildergalerie
   ================================================================== */
.viokopf{margin:0;aspect-ratio:21/9;overflow:hidden;background:var(--paper-2)}
.viokopf img{width:100%;height:100%;object-fit:cover;object-position:50% 55%;display:block}
@media(max-width:700px){.viokopf{aspect-ratio:3/2}}

.viog{display:grid;gap:1.8rem}
@media(min-width:700px){.viog{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1080px){.viog{grid-template-columns:repeat(3,1fr)}}
.viog__b{margin:0}
.viog__b img{width:100%;height:auto;display:block;background:var(--paper-2);
  box-shadow:inset 0 0 0 1px rgba(14,14,14,.08)}
.viog__b figcaption{font-size:.84rem;line-height:1.55;color:var(--grey);margin-top:.6rem;max-width:44ch}
/* Der Diamant bekommt mehr Raum */
.viog__b:nth-child(2){grid-column:span 1}
@media(min-width:1080px){.viog__b:nth-child(1){grid-column:span 2}}

/* ==================================================================
   Auftakt der Startseite
   Kennzeile links, ein groß gesetzter Satz, darunter die Sachangaben
   zweispaltig. Der Block bekommt damit eine Achse und einen Einstieg,
   statt als Fließtext im Weiß zu schwimmen.
   ================================================================== */
.auftakt{padding-block:clamp(3rem,7vw,5.5rem) clamp(2.6rem,6vw,4.5rem)}
.auftakt__g{display:grid;gap:1.4rem}
@media(min-width:900px){
  .auftakt__g{grid-template-columns:minmax(6rem,1fr) minmax(0,5fr);gap:0 3rem;align-items:start}
}
.auftakt__k{
  margin:0;font-size:.66rem;letter-spacing:.26em;text-transform:uppercase;
  color:var(--grey);padding-top:.55rem;
}
@media(min-width:900px){
  .auftakt__k{border-top:1px solid var(--ink);padding-top:.7rem}
  .auftakt__t{border-top:1px solid var(--line);padding-top:.7rem}
}
.auftakt__lead{
  font-family:var(--serif);font-weight:500;
  font-size:clamp(1.75rem,4.4vw,3.1rem);line-height:1.12;letter-spacing:-.008em;
  margin:0 0 1.6rem;max-width:20ch;text-wrap:balance;
}
.auftakt__s{display:grid;gap:1.1rem}
@media(min-width:820px){.auftakt__s{grid-template-columns:repeat(2,1fr);gap:2.2rem}}
.auftakt__s p{margin:0;font-size:.96rem;line-height:1.68;color:var(--ink-soft);max-width:42ch}
.auftakt__s a{border-bottom:1px solid var(--line);white-space:nowrap}
.auftakt__s a:hover{border-bottom-color:var(--ink)}

/* ==================================================================
   Ensembles: Auswahl statt Wiederholung
   ================================================================== */
.ewahl__g{display:grid;gap:1px;background:var(--line);border:1px solid var(--line)}
@media(min-width:820px){.ewahl__g{grid-template-columns:repeat(2,1fr)}}
.ewahl{display:block;background:var(--paper);border:0;transition:background .3s}
.ewahl:hover{background:var(--paper-2)}
.ewahl__b{margin:0;aspect-ratio:4/3;overflow:hidden;background:var(--paper-2)}
.ewahl__b img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s ease}
.ewahl:hover .ewahl__b img{transform:scale(1.035)}
.ewahl__t{padding:1.4rem 1.5rem 1.6rem}
.ewahl__t h2{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.25rem,2.6vw,1.6rem);line-height:1.2;margin:0 0 .5rem}
.ewahl__t p{font-size:.9rem;line-height:1.6;color:var(--grey);margin:0 0 .9rem;max-width:46ch}
.ewahl__m{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  border-bottom:1px solid var(--ink);padding-bottom:.15rem}

/* Bilder ohne festes Seitenverhältnis nicht beschneiden */
.proj__img:not([style*="aspect-ratio"]) img{height:auto;object-fit:initial}

/* ==================================================================
   Journal
   Ein chronologischer Strom in der Anmutung der übrigen Website —
   nicht in der eines sozialen Netzwerks.
   ================================================================== */
.jstrom{display:grid;gap:0}
.jkarte{border-top:1px solid var(--line);padding:2.2rem 0}
.jkarte:first-child{border-top:0;padding-top:0}
@media(min-width:820px){
  .jkarte{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:2.4rem;align-items:start}
  .jkarte:has(.jkarte__b) .jkarte__t{padding-top:.2rem}
}
.jkarte__b{display:block;margin:0 0 1.1rem;overflow:hidden;background:var(--paper-2)}
@media(min-width:820px){.jkarte__b{margin:0}}
.jkarte__b img{width:100%;height:auto;display:block;transition:transform 1.1s ease}
.jkarte__b:hover img{transform:scale(1.03)}
.jkarte__t h2{font-family:var(--serif);font-weight:500;
  font-size:clamp(1.3rem,2.8vw,1.8rem);line-height:1.2;margin:.35rem 0 .7rem}
.jkarte__t h2 a{border:0}
.jkarte__t h2 a:hover{border-bottom:1px solid var(--ink)}
.jkarte__x p{font-size:.95rem;line-height:1.65;color:var(--ink-soft);margin:0 0 .6rem}
.jkarte__m{display:flex;align-items:center;gap:1.4rem;margin:1rem 0 0}

.jbild{margin:0 0 1.8rem;background:var(--paper-2)}
.jbild img{width:100%;height:auto;display:block}
.jfuss{display:flex;align-items:center;gap:1.6rem;
  margin-top:2.5rem;padding-top:1.2rem;border-top:1px solid var(--line)}

/* Der Teilen-Knopf sieht aus wie ein Verweis, nicht wie eine Schaltfläche */
.jshare{appearance:none;background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--sans);font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:.15rem}
.jshare:hover{opacity:.65}

/* Journalstreifen auf der Startseite */
.jvor__g{display:grid;gap:1.6rem}
@media(min-width:760px){.jvor__g{grid-template-columns:repeat(3,1fr);gap:2rem}}
.jvor__b{display:block;margin-bottom:.8rem;overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.jvor__b img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s}
.jvor__b:hover img{transform:scale(1.04)}
.jvor h3{font-family:var(--serif);font-weight:500;font-size:1.05rem;line-height:1.25;margin:.3rem 0 0}
.jvor h3 a{border:0}
.jvor h3 a:hover{border-bottom:1px solid var(--ink)}

/* Der Journalstreifen verschwindet, solange keine Beiträge da sind */
.jvor__s{padding-top:0}
.jvor__s[hidden]{display:none}

/* Angepinnter Beitrag */
.jfest{font-weight:600;color:var(--ink)}

/* ==================================================================
   Verweis auf einen fremden Artikel — als Kachel mit Vorschaubild.
   Das Bild wird beim Speichern einmal geholt und liegt auf dem
   eigenen Server; die verlinkte Seite wird beim Lesen nicht abgerufen.
   ================================================================== */
.jquelle{display:block;margin-top:2rem;border:1px solid var(--line);
  background:var(--paper);transition:background .3s,border-color .3s;overflow:hidden}
.jquelle:hover{background:var(--paper-2);border-color:var(--ink)}
@media(min-width:560px){
  .jquelle--bild{display:grid;grid-template-columns:minmax(0,11rem) minmax(0,1fr);align-items:stretch}
}
.jquelle__b{display:block;overflow:hidden;background:var(--paper-2);aspect-ratio:4/3}
.jquelle__b img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s ease}
.jquelle:hover .jquelle__b img{transform:scale(1.04)}
.jquelle__x{display:block;padding:1.1rem 1.3rem}
.jquelle__h{display:block;font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;
  color:var(--grey);margin-bottom:.45rem}
.jquelle__t{display:block;font-family:var(--serif);font-size:1.12rem;line-height:1.28;
  margin-bottom:.4rem}
.jquelle__d{display:block;font-size:.86rem;line-height:1.55;color:var(--grey);max-width:44ch}

/* Fußzeile des Beitrags: Rückweg links, Teilen rechts */
.jfuss{justify-content:space-between}

/* ==================================================================
   Journal — Einzelbeitrag
   Der Fließtext stand in einer zu schmalen Spalte, weil sich zwei
   Begrenzungen addierten. Hier gilt eine eigene, angenehme Zeilenlänge.
   ================================================================== */
.jseite__kopf{padding-block:clamp(2.5rem,6vw,4.5rem) 0}
.jseite__kopf .kick{margin-bottom:.9rem}
.jseite__kopf h1{max-width:18ch;margin:0}
.jseite__in{max-width:38rem}
.jseite__in > .prose p,
.jseite__in .artikel p{font-family:var(--sans);font-size:1.05rem;line-height:1.72;
  color:var(--ink-soft);max-width:36rem;margin:0 0 1.15rem}
.jseite__in .artikel p:first-child{font-size:1.18rem;line-height:1.62;color:var(--ink)}
.jseite__in .jbild{margin-bottom:2rem}
.jseite__in .player{margin-bottom:2rem}

/* Fußzeile des Beitrags */
.jfuss{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap;
  margin-top:3rem;padding-top:1.1rem;border-top:1px solid var(--line)}
.jtrenn{color:var(--line)}

/* Liste: Text nicht über die ganze Breite laufen lassen */
.jkarte__x p{max-width:38rem}
.jkarte__m{gap:1rem}

/* Rahmen des Einzelbeitrags */
.jseite{display:block}
