:root {
  --qw-paper: #fbfbfa;
  --qw-paper-light: #fbfbfa;
  --qw-ink: #181715;
  --qw-muted: #5f5a53;
  --qw-line: rgba(24,23,21,.14);
  --qw-line-strong: rgba(24,23,21,.24);
  --qw-sage: #dfe08c;
  --qw-clay: #b17968;
  --qw-card: rgba(255,255,255,.08);
  --qw-shadow: 0 20px 60px rgba(0,0,0,.14);
  --qw-header-height: 78px;
  --qw-layout-width: 1320px;
  --qw-layout-gutter: clamp(20px,2.4vw,36px);
}

html { scroll-behavior: smooth; }
body { overflow-x: clip; }
body.qw-menu-open,
body.qw-dialog-open { overflow: hidden; }

/* Clean header/menu is isolated in assets/css/menu-clean.css. */

/* Editorial sections. */
.qw-content-section {
  padding-top: clamp(92px,10vw,156px);
  padding-bottom: clamp(96px,11vw,170px);
  background: var(--qw-paper);
  scroll-margin-top: 88px;
}
.qw-content-section:nth-of-type(even) { background: var(--qw-paper); }
.qw-intro-section { padding-top: clamp(98px,12vw,180px); padding-bottom: clamp(98px,12vw,180px); }
.qw-section-heading {
  width: min(calc(100% - 2 * var(--qw-layout-gutter)), var(--qw-layout-width)) !important;
  display: grid !important;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--qw-layout-gutter) !important;
  align-items: start !important;
  margin-bottom: clamp(42px,5vw,68px);
}
.qw-section-heading h2 {
  grid-column: 1 / 7;
  margin: 0;
  font-size: clamp(3rem,5vw,5.2rem) !important;
}
.qw-section-note {
  grid-column: 8 / 13;
  max-width: 31rem;
  margin: 12px 0 0;
  color: var(--qw-muted);
  font-size: clamp(1rem,1.35vw,1.25rem);
  line-height: 1.5;
}
.qw-editorial-list { border-bottom: 1px solid var(--qw-line); }
.qw-list-row { grid-template-columns: minmax(110px,.55fr) minmax(240px,1.25fr) minmax(180px,1fr) !important; gap: clamp(18px,4vw,70px); padding: 1.35rem 0; border-top: 1px solid var(--qw-line); }
.qw-list-row p { margin: 0; }
.qw-fact-row,
.qw-composer-row { grid-template-columns: minmax(72px,.35fr) minmax(0,1.65fr) !important; gap: clamp(18px,4vw,60px); padding: 1.45rem 0; border-top: 1px solid var(--qw-line); }
.qw-fact-row:last-child,
.qw-composer-row:last-child { border-bottom: 1px solid var(--qw-line); }
.qw-fact-row p,
.qw-composer-row p { margin: 0; }
.qw-small-label { color: var(--qw-muted); font-size: .78rem; letter-spacing: .05em; }
.qw-biography-layout .wp-block-column:last-child,
.qw-repertoire-layout .wp-block-column:last-child { max-width: 760px; }
.qw-contact-section { background: var(--qw-paper); }
.qw-legal-section { background: var(--qw-paper); }
.qw-legal-section h3 { font-size: clamp(1.5rem,2.4vw,2.2rem); }

/* Konzertliste aus dem separaten Inhalts-Plugin. */
.qw-concert-section { background: var(--qw-paper); }
.qw-concert-section__content {
  width: min(calc(100% - 2 * var(--qw-layout-gutter)), var(--qw-layout-width)) !important;
}
.qw-concerts__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0 0 38px;
}
.qw-concerts__toolbar button,
.qw-concerts__toolbar a {
  min-height: 40px;
  padding: 9px 14px;
  border: 1px solid var(--qw-line);
  border-radius: 999px;
  color: var(--qw-muted);
  background: transparent;
  font: inherit;
  font-size: .75rem;
  line-height: 1;
  text-decoration: none;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.qw-concerts__toolbar button:hover,
.qw-concerts__toolbar a:hover,
.qw-concerts__toolbar .is-active {
  color: var(--qw-ink);
  background: #fff;
  border-color: var(--qw-line-strong);
}
.qw-concerts__list { border-top: 1px solid var(--qw-line-strong); }
.qw-concert-row {
  position: relative;
  display: grid;
  grid-template-columns: 2fr 4fr 3fr auto;
  gap: var(--qw-layout-gutter);
  align-items: center;
  width: 100%;
  min-height: 0;
  padding: 22px 0;
  border-bottom: 1px solid var(--qw-line);
  color: var(--qw-ink);
  background: transparent;
  text-align: left;
  text-decoration: none;
  transition: padding .2s ease, background-color .2s ease, opacity .2s ease;
}
.qw-concert-row:hover,
.qw-concert-row:focus-visible {
  color: var(--qw-ink);
  background: rgba(255,255,255,.48);
  padding-inline: 14px;
}
.qw-concert-row[hidden] { display: none; }
.qw-concert-row__date { font-size: .88rem; letter-spacing: -.01em; }
.qw-concert-row__main { display: grid; gap: 6px; }
.qw-concert-row__title {
  max-width: 26ch;
  margin: 0;
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: clamp(1.3rem,2.5vw,1.95rem);
  font-weight: 400;
  line-height: 1.1;
  letter-spacing: -.03em;
}
.qw-concert-row__subtitle { margin: 0; color: var(--qw-muted); font-size: .75rem; }
.qw-concert-row__program { margin: 0; color: var(--qw-muted); font-size: .72rem; opacity: .82; }
.qw-concert-row__place { font-size: .82rem; color: var(--qw-ink); }
.qw-concert-row__open {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--qw-line-strong);
  border-radius: 50%;
  color: var(--qw-ink);
  background: transparent;
  font-size: 1rem;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.qw-concert-row:hover .qw-concert-row__open,
.qw-concert-row:focus-visible .qw-concert-row__open,
.qw-concert-row.is-first-visible .qw-concert-row__open {
  background: var(--qw-sage);
  border-color: var(--qw-sage);
}
.qw-concert-row:hover .qw-concert-row__open,
.qw-concert-row:focus-visible .qw-concert-row__open { transform: rotate(45deg); }
.qw-concerts--past .qw-concert-row { opacity: .68; }
.qw-concerts--past .qw-concert-row:hover,
.qw-concerts--past .qw-concert-row:focus-visible { opacity: 1; }
.qw-concerts__empty {
  padding: 30px 0;
  margin: 0;
  border-bottom: 1px solid var(--qw-line);
  color: var(--qw-muted);
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: 1.5rem;
}
.qw-concerts__empty[hidden] { display: none; }

/* Nächstes Konzert im Hero. */
.qw-next-concert {
  position: absolute;
  z-index: 4;
  left: max(var(--qw-layout-gutter), calc((100vw - var(--qw-layout-width))/2));
  bottom: 42px;
  width: min(430px, calc(100vw - 2 * var(--qw-layout-gutter)));
  padding: 22px 22px 24px;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 26px;
  color: #fff;
  background: rgba(255,255,255,.16);
  box-shadow: 0 12px 36px rgba(0,0,0,.14);
  backdrop-filter: blur(18px) saturate(1.1);
  -webkit-backdrop-filter: blur(18px) saturate(1.1);
}
.qw-next-concert p,
.qw-next-concert h2 { margin: 0; color: inherit; }
.qw-next-concert__eyebrow { margin-bottom: 18px !important; font-size: .68rem; letter-spacing: .09em; text-transform: uppercase; color: rgba(255,255,255,.72); }
.qw-next-concert__date { font-size: clamp(1.9rem,4vw,2.75rem); line-height: 1; letter-spacing: -.04em; }
.qw-next-concert__title { margin-top: 12px !important; font-family: var(--wp--preset--font-family--editorial-serif); font-size: clamp(1.3rem,2.2vw,1.95rem); font-weight: 400; line-height: 1.08; }
.qw-next-concert__place { margin-top: 8px !important; font-size: .8rem; color: rgba(255,255,255,.8); }
.qw-next-concert > a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-top: 22px;
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255,255,255,.4);
  color: #fff;
  text-decoration: none;
  font-size: .8rem;
}
.qw-next-concert > a span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.qw-next-concert > a:hover span,
.qw-next-concert > a:focus-visible span { background: var(--qw-sage); border-color: var(--qw-sage); color: var(--qw-ink); transform: rotate(45deg); }

/* Fotofreies seitliches Konzert-Detailpanel. */
.qw-concert-dialog {
  width: min(620px,100vw);
  max-width: none;
  height: 100vh;
  height: 100dvh;
  max-height: none;
  margin: 0 0 0 auto;
  padding: 0;
  border: 0;
  border-radius: 18px 0 0 0;
  color: var(--qw-ink);
  background: var(--qw-paper-light);
  box-shadow: -20px 0 70px rgba(0,0,0,.16);
}
.qw-concert-dialog[open] { animation: qw-panel-in .4s cubic-bezier(.2,.75,.2,1) both; }
.qw-concert-dialog::backdrop {
  background: rgba(5,7,6,.46);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
}
.qw-concert-dialog__scroll {
  height: 100%;
  overflow-y: auto;
  padding: 104px clamp(30px,4vw,52px) 56px;
}
.qw-concert-dialog__close {
  position: fixed;
  z-index: 3;
  top: 18px;
  right: 18px;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  padding: 0;
  border: 3px solid var(--qw-clay);
  border-radius: 50%;
  color: var(--qw-ink);
  background: #fff;
  box-shadow: inset 0 0 0 5px var(--qw-paper-light), inset 0 0 0 6px rgba(24,23,21,.24);
  font-size: 1.55rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .25s ease;
}
.qw-concert-dialog__close:hover { transform: rotate(6deg) scale(1.03); }
.qw-concert-detail__eyebrow {
  margin: 0 0 22px;
  color: var(--qw-muted);
  font-size: .72rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.qw-concert-detail__title {
  max-width: none;
  margin: 0;
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: clamp(2.15rem,2.5vw,3.1rem);
  font-weight: 400;
  line-height: 1.01;
  letter-spacing: -.03em;
  overflow-wrap: break-word;
  word-break: normal;
  hyphens: auto;
}
.qw-concert-detail__type { margin: 14px 0 0; color: var(--qw-muted); font-size: .9rem; }
.qw-concert-detail__description {
  max-width: 32rem;
  margin-top: 26px;
  color: var(--qw-muted);
  font-size: 1rem;
  line-height: 1.55;
}
.qw-concert-detail__description > :first-child { margin-top: 0; }
.qw-concert-detail__facts { margin-top: 32px; }
.qw-concert-detail__item { padding: 17px 0; border-top: 1px solid var(--qw-line); }
.qw-concert-detail__item > span {
  display: block;
  margin-bottom: 7px;
  color: var(--qw-muted);
  font-size: .7rem;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.qw-concert-detail__item > div { font-size: 1rem; line-height: 1.5; }
.qw-concert-detail__external a {
  display: inline-flex;
  margin-top: 24px;
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid currentColor;
}
@keyframes qw-panel-in { from { transform: translateX(28px); opacity: 0; } to { transform: translateX(0); opacity: 1; } }

/* Archiv und einzelne Konzertseiten. */
.qw-past-concerts-page,
.qw-single-concert-page { min-height: 100vh; padding: 150px var(--qw-layout-gutter) 110px; background: var(--qw-paper); }
.qw-past-concerts-page__inner,
.qw-single-concert-page__inner { width: min(100%,var(--qw-layout-width)); margin: 0 auto; }
.qw-past-concerts-page h1 { margin: 0 0 70px; font-size: clamp(3.5rem,7vw,7rem); }
.qw-single-concert-page .qw-concert-detail { max-width: 900px; }
.qw-single-concert-page .qw-concert-detail__title { max-width: 15ch; }

.qw-site-footer { padding: 2rem var(--wp--custom--gutter) 2.4rem; color: rgba(255,255,255,.82); background: #191816; }
.qw-site-footer a { color: inherit; }
.qw-site-footer__inner { gap: 1rem; }
.qw-footer-note { margin: 0; font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.qw-site-footer .wp-block-navigation-item__content { font-size: .72rem; }
.wp-site-blocks { padding: 0; }
.wp-block-button.is-style-outline > .wp-block-button__link { color: var(--qw-ink); background: transparent; border-color: var(--qw-ink); }

@media (max-width: 1160px) {
.qw-section-heading h2 { grid-column: 1 / 7; }
  .qw-section-note { grid-column: 7 / 13; }
}

@media (max-width: 760px) {
  :root { --qw-header-height: 68px; --qw-layout-gutter: 18px; }
.qw-section-heading { grid-template-columns: 1fr; gap: 16px !important; }
  .qw-section-heading h2,
  .qw-section-note { grid-column: auto; }
  .qw-concerts__toolbar { margin-bottom: 30px; }
  .qw-concert-row { grid-template-columns: minmax(0,1fr) auto; gap: 12px 18px; padding: 22px 0; }
  .qw-concert-row:hover,
  .qw-concert-row:focus-visible { padding-inline: 10px; }
  .qw-concert-row__date,
  .qw-concert-row__main,
  .qw-concert-row__place { grid-column: 1; }
  .qw-concert-row__date { color: var(--qw-muted); font-size: .78rem; }
  .qw-concert-row__title { font-size: clamp(1.35rem,7vw,2rem); }
  .qw-concert-row__place { font-size: .8rem; }
  .qw-concert-row__open { grid-column: 2; grid-row: 1 / 4; align-self: center; }
  .qw-next-concert { left: 18px; right: 18px; bottom: 18px; width: auto; padding: 22px; border-radius: 22px; }
  .qw-next-concert__eyebrow { margin-bottom: 16px !important; }
  .qw-next-concert__date { font-size: 2rem; }
  .qw-next-concert__title { font-size: 1.65rem; }
  .qw-next-concert > a { margin-top: 18px; }
  .qw-concert-dialog { width: 100vw; border-radius: 0; }
  .qw-concert-dialog__scroll { padding: 88px 22px 48px; }
  .qw-concert-dialog__close { width: 54px; height: 54px; top: 14px; right: 14px; border-width: 3px; }
  .qw-concert-detail__title { font-size: clamp(2.15rem,10.5vw,3.15rem); }
  .qw-past-concerts-page,
  .qw-single-concert-page { padding-top: 120px; }
  .qw-content-section { padding-inline: 0; }
  .qw-content-section > .alignwide { width: 100%; }
  .qw-fact-row,
  .qw-composer-row { grid-template-columns: 48px minmax(0,1fr) !important; gap: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}

/* v0.4.0 — feinere Konzertliste und dreisprachige Biografie. */
.qw-concerts__list { border-top-color: rgba(24,23,21,.19); }
.qw-concert-row {
  grid-template-columns: minmax(100px,1.15fr) minmax(0,4.85fr) minmax(170px,2.35fr) 44px;
  gap: clamp(18px,2.3vw,34px);
  padding: 19px 0;
  border-bottom-color: rgba(24,23,21,.115);
  transition: background-color .22s ease, opacity .22s ease;
}
.qw-concert-row:hover,
.qw-concert-row:focus-visible { padding-inline: 0; background: rgba(255,255,255,.42); }
.qw-concert-row__main { gap: 5px; transition: transform .25s cubic-bezier(.2,.75,.2,1); }
.qw-concert-row:hover .qw-concert-row__main,
.qw-concert-row:focus-visible .qw-concert-row__main { transform: translateX(5px); }
.qw-concert-row__date { font-size: .82rem; }
.qw-concert-row__title {
  max-width: 34ch;
  font-size: clamp(1.2rem,2vw,1.72rem);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.qw-concert-row__subtitle,
.qw-concert-row__program { font-size: .73rem; line-height: 1.4; }
.qw-concert-row__place { font-size: .79rem; line-height: 1.45; }
.qw-concert-row__open { width: 44px; height: 44px; border-color: rgba(24,23,21,.2); }
.qw-concert-row__open .qw-arrow-icon { width: 17px; height: 17px; transform: rotate(45deg); }
.qw-concert-row:hover .qw-concert-row__open,
.qw-concert-row:focus-visible .qw-concert-row__open { transform: none; }
.qw-concert-row:hover .qw-concert-row__open .qw-arrow-icon,
.qw-concert-row:focus-visible .qw-concert-row__open .qw-arrow-icon { transform: rotate(0deg); }
.qw-next-concert > a span.qw-next-concert__arrow { width: 28px; height: 28px; }
.qw-next-concert__arrow .qw-arrow-icon { width: 11px; height: 11px; transform: rotate(45deg); }
.qw-next-concert > a:hover span.qw-next-concert__arrow,
.qw-next-concert > a:focus-visible span.qw-next-concert__arrow { transform: none; }
.qw-next-concert > a:hover .qw-arrow-icon,
.qw-next-concert > a:focus-visible .qw-arrow-icon { transform: rotate(0deg); }
.qw-concert-detail__external a { align-items: center; gap: 9px; }
.qw-concert-detail__external-arrow { display: block; width: 15px; height: 15px; }

.qw-biography {
  padding-top: clamp(92px,10vw,156px);
  padding-bottom: clamp(96px,11vw,170px);
  background: var(--qw-paper);
  scroll-margin-top: 88px;
}
.qw-biography__inner {
  width: min(calc(100% - 2 * var(--qw-layout-gutter)), var(--qw-layout-width));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12,minmax(0,1fr));
  gap: var(--qw-layout-gutter);
  align-items: start;
}
.qw-biography__aside { grid-column: 1 / 4; position: sticky; top: 112px; }
.qw-biography__aside h2 {
  margin: 0;
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: clamp(3rem,5vw,5.2rem);
  font-weight: 400;
  line-height: .95;
  letter-spacing: -.04em;
}
.qw-biography__identity { margin: 18px 0 0; color: var(--qw-muted); font-size: .76rem; letter-spacing: .035em; }
.qw-biography__languages { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 34px; }
.qw-biography__languages button {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid var(--qw-line);
  border-radius: 999px;
  color: var(--qw-muted);
  background: transparent;
  font: inherit;
  cursor: pointer;
  transition: color .2s ease, background-color .2s ease, border-color .2s ease;
}
.qw-biography__languages button span { font-size: .7rem; letter-spacing: .08em; }
.qw-biography__languages button small { font-size: .7rem; }
.qw-biography__languages button:hover,
.qw-biography__languages button:focus-visible,
.qw-biography__languages button.is-active { color: var(--qw-ink); background: #fff; border-color: var(--qw-line-strong); }
.qw-biography__content { grid-column: 5 / 12; min-width: 0; }
.qw-biography__panel[hidden] { display: none; }
.qw-biography__prose-wrap { position: relative; overflow: visible; }
.qw-biography__prose-wrap.is-collapsed { max-height: var(--qw-bio-collapsed-height,580px); overflow: hidden; }
.qw-biography__prose-wrap.is-collapsed::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 150px;
  pointer-events: none;
  background: linear-gradient(to bottom,rgba(251,251,250,0),var(--qw-paper) 84%);
}
.qw-biography__prose {
  max-width: 68ch;
  color: #302e2a;
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: clamp(1.03rem,1.18vw,1.15rem);
  line-height: 1.72;
  letter-spacing: -.006em;
}
.qw-biography__prose > p:first-child {
  margin-top: 0;
  color: var(--qw-ink);
  font-size: clamp(1.18rem,1.48vw,1.36rem);
  line-height: 1.58;
}
.qw-biography__prose p { margin: 0 0 1.22em; }
.qw-biography__prose ul { margin: 1.4em 0 1.8em; padding: 0; list-style: none; }
.qw-biography__prose li { position: relative; margin: 0 0 .72em; padding-left: 1.15em; }
.qw-biography__prose li::before { content: ""; position: absolute; left: 0; top: .72em; width: 4px; height: 4px; border-radius: 50%; background: currentColor; opacity: .55; }
.qw-biography__more {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  margin-top: 28px;
  padding: 0 0 5px;
  border: 0;
  border-bottom: 1px solid rgba(24,23,21,.35);
  color: var(--qw-ink);
  background: transparent;
  font: inherit;
  font-size: .8rem;
  cursor: pointer;
}
.qw-biography__more[hidden] { display: none; }
.qw-biography__more span { font-size: 1.1rem; font-weight: 300; line-height: 1; }

@media (max-width: 900px) {
  .qw-biography__aside { grid-column: 1 / 5; }
  .qw-biography__content { grid-column: 5 / 13; }
}
@media (max-width: 760px) {
  .qw-concert-row { grid-template-columns: minmax(0,1fr) 44px; gap: 10px 16px; padding: 18px 0; }
  .qw-concert-row:hover,
  .qw-concert-row:focus-visible { padding-inline: 0; }
  .qw-concert-row__title { font-size: clamp(1.28rem,6vw,1.65rem); }
  .qw-biography__inner { display: grid; grid-template-columns: 1fr; gap: 42px; }
  .qw-biography__aside,
  .qw-biography__content { grid-column: 1; }
  .qw-biography__aside { position: static; }
  .qw-biography__languages { margin-top: 26px; }
  .qw-biography__prose { max-width: 100%; font-size: 1.03rem; line-height: 1.68; }
}


/* v0.4.1 — Headerkorrektur, einheitliche Weißfläche und verfeinerte Konzertdaten. */
html,body{margin:0;background:var(--qw-paper)}
.wp-site-blocks{margin:0!important;padding:0!important}
.wp-site-blocks>*{margin-block-start:0!important;margin-block-end:0!important}
body.qw-editorial-theme>.wp-site-blocks>header.wp-block-template-part,.wp-site-blocks>header.wp-block-template-part:has(.qw-site-header){height:0!important;margin:0!important}
.qw-site-main,.qw-site-main>.wp-block-post-content,.qw-site-main>.wp-block-post-content>*:first-child{margin-block-start:0!important}
.qw-image-section{margin-block:0!important}

/* Legacy header/menu rules removed in v0.6.4. */

.qw-content-section,.qw-concert-section,.qw-biography,.qw-contact-section,.qw-legal-section,.qw-past-concerts-page,.qw-single-concert-page{background:var(--qw-paper)}
.qw-content-section:nth-of-type(even){background:var(--qw-paper)}

.qw-concerts__toolbar{display:flex;align-items:center;gap:10px}
.qw-concerts__toolbar button,.qw-concerts__toolbar a{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:0;min-height:42px;margin:0;padding:10px 16px;appearance:none;-webkit-appearance:none;line-height:1}
.qw-concert-row{grid-template-columns:minmax(96px,1.05fr) minmax(0,4.75fr) minmax(170px,2.25fr) 54px;gap:clamp(20px,2.6vw,40px);padding:22px 0}
.qw-concert-row__date{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"day month" "day year";align-items:center;column-gap:10px;width:max-content;min-width:84px;color:var(--qw-ink);font-variant-numeric:tabular-nums}
.qw-concert-row__day{grid-area:day;font-family:var(--wp--preset--font-family--editorial-serif);font-size:clamp(1.9rem,2.6vw,2.55rem);font-weight:400;line-height:.9;letter-spacing:-.055em}
.qw-concert-row__month{grid-area:month;align-self:end;font-size:.68rem;font-weight:600;line-height:1;letter-spacing:.14em;text-transform:uppercase}
.qw-concert-row__year{grid-area:year;align-self:start;margin-top:5px;color:var(--qw-muted);font-size:.66rem;line-height:1;letter-spacing:.08em}
.qw-concert-row__open{width:52px;height:52px}
.qw-concert-row__open .qw-arrow-icon{width:22px;height:22px;transform:rotate(45deg)}
.qw-concert-row:hover .qw-concert-row__open .qw-arrow-icon,.qw-concert-row:focus-visible .qw-concert-row__open .qw-arrow-icon{transform:rotate(0deg)}

.qw-biography__identity{display:none}
.qw-biography__languages{margin-top:28px}
.qw-biography__prose-wrap.is-collapsed::after{background:linear-gradient(to bottom,rgba(251,251,250,0),var(--qw-paper) 84%)}

@media(max-width:760px){
  .qw-concert-row{grid-template-columns:minmax(0,1fr) 52px;gap:12px 16px;padding:20px 0}
  .qw-concert-row__date{grid-column:1;min-width:0}
  .qw-concert-row__open{grid-column:2;grid-row:1/4}
  .qw-concert-row__day{font-size:2rem}
}

/* v0.6.8 footer links after legal pages became standalone pages. */
.qw-footer-links{display:flex;flex-wrap:wrap;gap:clamp(18px,2.4vw,34px);align-items:center}.qw-footer-links p{margin:0}.qw-footer-links a{color:inherit;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.22);padding-bottom:3px}.qw-footer-links a:hover{border-bottom-color:currentColor}

/* v0.8.0 — legal pages and global footer layout. */
.qw-site-footer__inner {
  width: min(calc(100% - 2 * var(--qw-layout-gutter, 36px)), var(--qw-layout-width, 1320px)) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(18px, 3vw, 42px) !important;
}
.qw-footer-note { margin: 0 !important; white-space: nowrap !important; }
.qw-footer-links {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: clamp(18px, 2vw, 34px) !important;
  margin: 0 !important;
  white-space: nowrap !important;
}
@media (max-width: 640px) {
  .qw-site-footer__inner { flex-direction: column !important; align-items: flex-start !important; }
  .qw-footer-note { white-space: normal !important; }
}
.qw-legal-page {
  max-width: 820px !important;
  margin-inline: 0 auto !important;
  color: var(--qw-ink);
}
.qw-legal-page h2 {
  margin: clamp(42px, 5vw, 64px) 0 clamp(12px, 1.5vw, 18px) !important;
  font-family: var(--wp--preset--font-family--editorial-serif);
  font-size: clamp(1.75rem, 2.8vw, 2.65rem) !important;
  line-height: 1.05 !important;
  letter-spacing: -.04em !important;
}
.qw-legal-page p {
  margin: 0 0 1.15rem !important;
  max-width: 70ch;
  color: var(--qw-muted);
  font-size: clamp(.98rem, 1.05vw, 1.08rem);
  line-height: 1.68;
}
.qw-legal-page p strong { color: var(--qw-ink); }
.qw-legal-page a { color: inherit; text-underline-offset: .18em; }
body.page:not(.home) main.wp-block-group > h1,
body.privacy-policy:not(.home) main.wp-block-group > h1 {
  margin: 0 0 clamp(42px, 5vw, 70px) !important;
  font-size: clamp(3.1rem, 6vw, 6.2rem) !important;
  line-height: .92 !important;
  letter-spacing: -.055em !important;
}
