/* Generated from Resources/Private/Frontend/Css/site.css. */
/* Core content normalization migrated from the former fixes.css asset. */
main ul:not(.category-menu):not(.downloads):not(.download-list),
main ol {
  box-sizing: border-box;
  max-width: 46rem;
  margin: .75rem 0 1.35rem;
  padding-left: 1.45rem;
  list-style-position: outside;
}

main ul:not(.category-menu):not(.downloads):not(.download-list) {
  list-style-type: disc;
}

main ol {
  list-style-type: decimal;
}

main ul:not(.category-menu):not(.downloads):not(.download-list) li,
main ol li {
  margin: .35rem 0;
  padding-left: .2rem;
}

main ul:not(.category-menu):not(.downloads):not(.download-list) ul,
main ul:not(.category-menu):not(.downloads):not(.download-list) ol,
main ol ul,
main ol ol {
  margin-top: .35rem;
  margin-bottom: .35rem;
}

main li p {
  margin-top: .25rem;
  margin-bottom: .25rem;
}

main ul.downloads {
  box-sizing: border-box;
  list-style: none;
  max-width: 100%;
  margin: .5rem 0 1.25rem !important;
  padding-left: 0 !important;
}

main ul.downloads li {
  box-sizing: border-box;
  margin-left: 0;
  padding: .55rem .75rem;
  background: #f7fafc;
  border-radius: 4px;
}

#content {
  overflow-x: hidden;
}

.main {
  width: 100%;
  max-width: 880px;
  margin-left: auto;
  margin-right: 0;
  padding: 0;
}

.main h1,
.main h2,
.main h3,
.main h4,
.main h5 {
  overflow-wrap: anywhere;
}

main > header.mb-10 {
  margin-bottom: 2.25rem !important;
  padding-bottom: 1rem;
}

main > header:not([class*="mb-"]) {
  margin: 2.25rem 0 0;
  padding: clamp(.9rem, 1.6vw, 1.25rem) clamp(.9rem, 1.6vw, 1.25rem) .45rem;
  border-radius: 8px 0 0 0;
  background: #fff;
  box-shadow:
    -18px 0 32px -30px rgba(45, 55, 72, .34),
    0 -14px 26px -30px rgba(45, 55, 72, .22);
}

.ce-bodytext {
  max-width: 46rem;
}

.ce-bodytext ul:not(.downloads),
.ce-bodytext ol {
  max-width: 100%;
}

.ce-center .ce-bodytext {
  margin-left: auto;
  margin-right: auto;
}

.ce-bodytext p {
  margin-left: 0;
  margin-right: 0;
}

.ce-gallery {
  clear: both;
}

.ce-gallery .ce-row {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: flex-start;
}

.ce-center .ce-gallery .ce-row,
.ce-center .ce-gallery .ce-outer,
.ce-center .ce-gallery .ce-inner {
  justify-content: center;
  margin-left: auto;
  margin-right: auto;
}

.ce-left .ce-gallery .ce-row {
  justify-content: flex-start;
}

.ce-gallery .ce-column {
  flex: 0 1 300px;
  max-width: 100%;
}

.ce-textpic,
.main > .flex,
.main > p + .flex {
  background: #fff;
  padding: clamp(.9rem, 1.6vw, 1.25rem);
  border-radius: 8px 0 0 8px;
  box-shadow:
    -18px 0 32px -30px rgba(45, 55, 72, .34),
    0 -14px 26px -30px rgba(45, 55, 72, .22),
    0 18px 28px -32px rgba(45, 55, 72, .24);
}

main > header:not([class*="mb-"]) + .ce-textpic {
  margin-top: 0;
  padding-top: .35rem;
  border-radius: 0 0 0 8px;
  box-shadow:
    -18px 0 32px -30px rgba(45, 55, 72, .34),
    0 18px 28px -32px rgba(45, 55, 72, .24);
}

@media (min-width: 1180px) {
  .main:not(:has(#filterComposition)):not(:has(> .page-family--catalog)) {
    display: grid;
    grid-template-columns: minmax(8.5rem, 12rem) minmax(0, 1fr);
    column-gap: 2rem;
    align-items: start;
    max-width: 940px;
  }

  .main:not(:has(#filterComposition)):not(:has(> .page-family--catalog)) > header.mb-10 {
    grid-column: 1;
    grid-row: 1 / span 40;
    margin: 3.05rem 0 0 !important;
    padding-bottom: 0;
    border-bottom: 0;
  }

  .main:not(:has(#filterComposition)):not(:has(> .page-family--catalog)) > header.mb-10 ~ * {
    grid-column: 2;
  }

  .main:not(:has(#filterComposition)):not(:has(> .page-family--catalog)) > header:not(.mb-10) {
    grid-column: 2;
  }

}

@media (max-width: 767px) {
  .main {
    max-width: none;
    padding: 0;
  }

  main > header {
    margin-bottom: 2rem !important;
  }

  .ce-gallery .ce-column {
    flex-basis: min(100%, 300px);
  }

  .ce-textpic,
  .main > .flex,
  .main > p + .flex,
  main > header:not([class*="mb-"]) {
    padding: 0;
    border-radius: 0;
    box-shadow: none;
  }

  main > header:not([class*="mb-"]) + .ce-textpic {
    padding-top: 0;
    box-shadow: none;
  }

}


@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../Fonts/IBMPlexSans/ibm-plex-sans-latin-ext.woff2") format("woff2");
  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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "IBM Plex Sans";
  font-style: normal;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../Fonts/IBMPlexSans/ibm-plex-sans-latin.woff2") format("woff2");
  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: "IBM Plex Sans";
  font-style: italic;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../Fonts/IBMPlexSans/ibm-plex-sans-italic-latin-ext.woff2") format("woff2");
  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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "IBM Plex Sans";
  font-style: italic;
  font-weight: 300 700;
  font-stretch: 100%;
  font-display: swap;
  src: url("../Fonts/IBMPlexSans/ibm-plex-sans-italic-latin.woff2") format("woff2");
  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";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../Fonts/LibreCaslonDisplay/libre-caslon-display-latin-ext.woff2") format("woff2");
  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-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: "Libre Caslon Display";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../Fonts/LibreCaslonDisplay/libre-caslon-display-latin.woff2") format("woff2");
  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: "Material Icons";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("../Fonts/MaterialIcons/material-icons.woff2") format("woff2");
}

:root {
  --dk-font-display: "Libre Caslon Display", "Iowan Old Style", Baskerville, Georgia, serif;
  --dk-font-text: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --dk-type-xs: .8125rem;
  --dk-type-sm: .875rem;
  --dk-type-body: clamp(1rem, .2vw + .95rem, 1.0625rem);
  --dk-type-lead: clamp(1.0625rem, .35vw + 1rem, 1.1875rem);
  --dk-type-heading-sm: clamp(1.0625rem, .45vw + .98rem, 1.25rem);
  --dk-type-heading-md: clamp(1.25rem, .65vw + 1.08rem, 1.5rem);
  --dk-type-title: clamp(2.25rem, 2.4vw, 3.1rem);
  --dk-leading-body: 1.68;
  --dk-leading-heading: 1.16;
  --dk-color-ink: #20252e;
  --dk-color-text: #3d4652;
  --dk-color-muted: #6d7889;
  --dk-color-accent: #506a83;
  --dk-color-rule: #d8dee8;
  --dk-color-soft: #f5f7f9;
  --dk-color-paper: #ffffff;
  --dk-scrollbar-track: transparent;
  --dk-scrollbar-thumb: #d8dee8;
  --dk-scrollbar-thumb-active: #b8c2d0;
  --dk-scrollbar-size: 4px;
  --dk-focus-ring-color: rgba(32, 37, 46, .38);
  --dk-measure: 46rem;
  --dk-space-xs: .375rem;
  --dk-space-sm: .75rem;
  --dk-space-md: 1.25rem;
  --dk-space-lg: 2rem;
  --dk-space-xl: 3.25rem;
  --dk-duration-fast: 160ms;
  --dk-duration-slow: 420ms;
  --dk-navigation-panel-width: min(75vw, 24rem);
}

.site-shell,
.site-shell__content {
  min-width: 0;
}

.site-brand {
  position: absolute;
  z-index: 12;
  top: 1rem;
  left: 1rem;
  display: inline-flex;
  width: max-content;
  min-height: 2.5rem;
  align-items: center;
  gap: .7rem;
  color: var(--dk-color-ink);
  text-decoration: none;
  transition:
    color var(--dk-duration-fast) ease,
    opacity var(--dk-duration-fast) ease;
}

.site-brand__score-mark {
  display: inline-flex;
  width: 1.1rem;
  height: 1.75rem;
  flex: 0 0 auto;
  gap: .23rem;
  align-items: stretch;
  transform: skew(-18deg);
}

.site-brand__score-mark > span {
  width: 3px;
  background: currentColor;
}

.site-brand__name {
  font-family: var(--dk-font-display);
  font-size: 1.35rem;
  letter-spacing: -.025em;
  line-height: 1;
  white-space: nowrap;
}

.site-brand:hover,
.site-brand:focus-visible {
  color: var(--dk-color-accent);
}

body.navigation-is-open .site-brand {
  opacity: 0;
  pointer-events: none;
}

#navigation .submenu-header {
  display: block;
  width: 100%;
  min-width: 0;
  border: 0;
  background: transparent;
  text-align: left;
  overflow-wrap: break-word;
}

#navigation .inner-container,
#navigation ul.list-level-root,
#navigation ul.list-level-root li,
#navigation ul.list-level-root a,
#navigation ul.list-level-root ul.list-level-1 {
  box-sizing: border-box;
  min-width: 0;
  max-width: 100%;
}

#navigation .inner-container,
#navigation ul.list-level-root {
  width: 100%;
}

#navigation .inner-container {
  padding-inline: 20px;
}

#navigation ul.list-level-root {
  padding-inline: 24px;
}

#navigation ul.list-level-root ul.list-level-1 {
  padding-left: 16px;
  padding-right: 0;
}

#navigation ul.list-level-root a {
  overflow-wrap: break-word;
}

#navigation ul.list-level-root ul.list-level-1[hidden] {
  display: none;
}

#navigation ul.list-level-root ul.list-level-1.is-current:not([hidden]) {
  overflow: visible;
  max-height: none;
  min-height: 0;
  margin-top: 18px;
  opacity: 1;
  visibility: visible;
}

.navigation-toggle {
  border: 0;
}

.navigation-toggle__label {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (min-width: 1024px) {
  .site-shell {
    display: grid;
    width: 100%;
    min-height: 100vh;
    min-height: 100dvh;
  }

  .site-shell--landing {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }

  .site-shell--subpage {
    grid-template-columns: minmax(0, 2fr) minmax(20rem, 1fr);
  }

  .site-shell--subpage > .site-brand {
    position: fixed;
    top: clamp(1.5rem, 3vw, 2.75rem);
    left: calc(66.6667% + clamp(1.75rem, 3vw, 3.5rem));
  }

  .site-shell__content {
    position: relative;
    height: 100vh;
    height: 100dvh;
  }

  .site-shell__content > #portrait,
  .site-shell__content > #content,
  .site-shell > #navigation {
    position: relative;
    inset: auto;
    width: 100% !important;
    min-height: 100%;
    max-height: 100%;
    height: 100%;
  }
}

html,
body,
body.font-sans,
.font-sans {
  color: var(--dk-color-text);
  font-family: var(--dk-font-text);
}

body {
  font-size: var(--dk-type-body);
  font-weight: 400;
  line-height: var(--dk-leading-body);
}

/* Thin native thumb on a transparent track. */
#content,
#navigation {
  scrollbar-color: var(--dk-scrollbar-thumb) var(--dk-scrollbar-track);
  scrollbar-width: thin;
}

#content::-webkit-scrollbar,
#navigation::-webkit-scrollbar {
  width: var(--dk-scrollbar-size);
  height: var(--dk-scrollbar-size);
}

#content::-webkit-scrollbar-track,
#navigation::-webkit-scrollbar-track {
  border-radius: 0;
  background: var(--dk-scrollbar-track);
}

#content::-webkit-scrollbar-thumb,
#navigation::-webkit-scrollbar-thumb {
  border-radius: 0;
  background: var(--dk-scrollbar-thumb);
}

#content::-webkit-scrollbar-thumb:hover,
#content::-webkit-scrollbar-thumb:active,
#navigation::-webkit-scrollbar-thumb:hover,
#navigation::-webkit-scrollbar-thumb:active {
  background: var(--dk-scrollbar-thumb-active);
}

body.text-lg {
  font-size: var(--dk-type-body);
}

h1,
.main h1 {
  color: var(--dk-color-ink);
  font-family: var(--dk-font-display);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.05;
}

h2,
h3,
h4,
h5,
h6,
.main h2,
.main h3,
.main h4,
.main h5 {
  color: var(--dk-color-ink);
  font-family: var(--dk-font-text);
  font-weight: 500;
  letter-spacing: -.012em;
  line-height: var(--dk-leading-heading);
}

.main h2 {
  font-size: var(--dk-type-heading-md);
}

.main h3,
.main h4,
.main h5,
.main h6 {
  font-size: var(--dk-type-heading-sm);
}

.main h2,
.main h3,
.main h4,
.main h5,
.main h6 {
  margin-bottom: var(--dk-space-sm);
}

.main .article > h4:first-child,
.main .article > h5:first-child {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-heading-md);
  font-weight: 500;
}

.main p,
.main li,
.main dd,
.main dt {
  color: var(--dk-color-text);
  font-weight: 400;
  line-height: var(--dk-leading-body);
}

.main p {
  margin-bottom: .85rem;
}

.main .lead p,
.main p.lead {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-lead);
  font-weight: 400;
  line-height: 1.65;
}

.main small,
.main figcaption,
.main .text-sm {
  font-size: var(--dk-type-sm);
  font-weight: 400;
  line-height: 1.5;
}

.main .text-gray-400,
.main .text-gray-500,
.main .text-gray-600 {
  color: var(--dk-color-muted);
}

.main strong,
.main b,
.main .font-bold,
.main .text-bold {
  font-weight: 600;
}

.main input,
.main button,
.main select,
.main textarea {
  font-family: var(--dk-font-text);
  font-size: 1rem;
  font-weight: 400;
}

.main a:not([class]) {
  color: var(--dk-color-accent);
  text-decoration-color: color-mix(in srgb, currentColor 45%, transparent);
  text-decoration-thickness: .06em;
  text-underline-offset: .18em;
}

.main a:not([class]):hover {
  color: var(--dk-color-ink);
  text-decoration-color: currentColor;
}

main > header.mb-10 {
  border-bottom-color: var(--dk-color-rule);
  border-bottom-style: solid;
}

main > header.mb-10 h1.text-5xl {
  font-size: var(--dk-type-title);
  line-height: 1.02;
}

main > header.mb-10 h2,
main > header.mb-10 h3 {
  color: var(--dk-color-muted);
  font-family: var(--dk-font-display);
  font-size: clamp(1.45rem, 1.6vw, 1.9rem);
  font-weight: 400;
  letter-spacing: -.02em;
}

#navigation,
#navigation a,
#navigation .submenu-header {
  color: var(--dk-color-muted);
  font-family: var(--dk-font-text);
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: -.012em;
  line-height: 1.45;
}

#navigation .menu-meta,
#navigation .menu-meta a,
#navigation .menu-meta span {
  font-size: clamp(.68rem, .72vw, .78rem);
  font-weight: 400;
  letter-spacing: -.006em;
  line-height: 1.3;
}

#navigation .menu-meta {
  margin-top: .75rem;
  padding-block: .15rem;
}

#navigation .menu-meta .imprint {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .2rem;
}

#navigation .menu-meta .spacer-horizontal {
  width: auto;
  padding-inline: .18rem;
}

#navigation a:hover,
#navigation a:focus-visible,
#navigation .submenu-header:hover,
#navigation .submenu-header:focus-visible,
#navigation .is-current {
  color: var(--dk-color-paper);
}

.main li::marker {
  color: var(--dk-color-muted);
}

.main .catalog-item h2 {
  margin-bottom: var(--dk-space-xs);
  font-size: clamp(1.125rem, .4vw + 1.05rem, 1.3rem);
  font-weight: 500;
  line-height: 1.25;
}

.main .catalog-item p {
  margin-bottom: var(--dk-space-xs);
}

.main .catalog-item small,
.main .category-menu {
  font-size: var(--dk-type-sm);
}

.main:has(> .page-family--catalog) {
  display: block;
  max-width: none;
}

.page-family--catalog {
  width: min(100%, 56rem);
  margin-inline: auto;
  padding-block: clamp(1.75rem, 5vh, 3.75rem) var(--dk-space-xl);
}

.page-family--catalog > .page-header {
  width: 100%;
  margin: 0 0 clamp(2rem, 4vw, 3rem) !important;
  padding: 0 0 var(--dk-space-md);
  border-bottom: 1px solid var(--dk-color-rule);
}

.page-family--catalog .page-header__eyebrow {
  display: none;
  width: auto;
  margin: 0 0 var(--dk-space-xs) !important;
  color: var(--dk-color-muted);
  font-family: var(--dk-font-text);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  letter-spacing: .11em;
  line-height: 1.3;
  text-transform: uppercase;
}

.page-family--catalog:has(.catalog-disclosure__list--categories [aria-current="page"]) > .page-header .page-header__eyebrow {
  display: block;
}

.page-family--catalog > .page-header .page-title {
  max-width: 20ch;
  margin: 0;
  font-size: clamp(2.5rem, 4vw, 3.65rem);
  line-height: 1;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: manual;
  text-wrap: balance;
}

.catalog-layout,
.catalog-layout__main,
.catalog-layout__filters {
  min-width: 0;
}

.catalog-layout {
  display: flex;
  flex-direction: column;
  gap: var(--dk-space-xl);
}

.catalog-layout__main {
  order: 2;
}

.catalog-layout__filters {
  order: 1;
}

.catalog-disclosures {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr));
  gap: var(--dk-space-sm) var(--dk-space-md);
}

.catalog-disclosure {
  min-width: 0;
  border: 1px solid var(--dk-color-rule);
  border-radius: .25rem;
  background: var(--dk-color-soft);
  box-shadow: 0 3px 12px rgba(32, 37, 46, .07);
}

.catalog-disclosure__toggle {
  display: flex;
  width: 100%;
  min-height: 44px;
  align-items: center;
  justify-content: space-between;
  gap: var(--dk-space-sm);
  padding: var(--dk-space-sm) var(--dk-space-md);
  border: 0;
  border-radius: .2rem;
  outline: none;
  background: var(--dk-color-soft);
  box-shadow: 0 2px 7px rgba(32, 37, 46, .055);
  color: var(--dk-color-ink);
  font-family: var(--dk-font-text);
  font-size: var(--dk-type-heading-sm);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.3;
  text-align: left;
  transition:
    background-color var(--dk-duration-fast) ease,
    box-shadow var(--dk-duration-fast) ease;
}

.catalog-disclosure__toggle:hover {
  background: #eef2f5;
}

.catalog-disclosure__toggle:focus,
.catalog-disclosure__toggle:focus-visible {
  outline: none;
}

.catalog-disclosure__toggle:focus-visible {
  background: #eef2f5;
  box-shadow:
    inset 0 0 0 2px rgba(32, 37, 46, .24),
    0 2px 7px rgba(32, 37, 46, .07);
}

.catalog-disclosure__toggle[aria-expanded="true"] {
  border-radius: .2rem .2rem 0 0;
  background: #f8f9fa;
  box-shadow: 0 4px 12px rgba(32, 37, 46, .08);
}

.catalog-disclosure__toggle .material-icons {
  flex: 0 0 auto;
  color: var(--dk-color-accent);
  font-size: 1.2rem;
  transform: rotate(0) !important;
  transition: transform var(--dk-duration-fast) ease;
}

.catalog-disclosure__toggle[aria-expanded="true"] .material-icons {
  transform: rotate(180deg) !important;
}

.catalog-disclosure__list {
  width: 100%;
  height: auto !important;
  margin: 0;
  padding: var(--dk-space-xs);
  overflow: visible;
  border: 0;
  border-top: 1px solid var(--dk-color-rule);
  border-radius: 0 0 .2rem .2rem;
  background: var(--dk-color-paper);
  box-shadow:
    inset 0 8px 12px -14px rgba(32, 37, 46, .45),
    0 9px 16px -14px rgba(32, 37, 46, .4);
  float: none;
  list-style: none;
}

.catalog-disclosure__list[hidden] {
  display: none;
}

.catalog-disclosure__item {
  margin: 0;
  padding: 0;
}

.catalog-disclosure__item > a,
.catalog-disclosure__item > span {
  display: block;
  padding: .48rem var(--dk-space-sm);
  border: 0;
  border-radius: .15rem;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-sm);
  font-weight: 400;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.catalog-disclosure__item > a:hover,
.catalog-disclosure__item > a:focus-visible {
  outline: none;
  background: var(--dk-color-soft);
  box-shadow: inset 0 0 0 1px rgba(32, 37, 46, .16);
  color: var(--dk-color-ink);
}

.catalog-disclosure__item > [aria-current="page"] {
  background: #eef2f5;
  color: var(--dk-color-ink);
  font-weight: 500;
}

.catalog-category__heading {
  margin: clamp(2rem, 5vw, 3rem) 0 var(--dk-space-sm);
  padding-bottom: 0;
  border-bottom: 0;
  color: var(--dk-color-ink);
  font-family: var(--dk-font-display);
  font-size: clamp(1.65rem, 2.2vw, 2.15rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.1;
}

.catalog-section__heading {
  margin: 0 0 var(--dk-space-xs);
}

.catalog-section__toggle {
  display: flex;
  width: 100%;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: var(--dk-space-sm);
  padding: .7rem var(--dk-space-sm);
  border: 0;
  border-bottom: 1px solid var(--dk-color-rule);
  background: var(--dk-color-soft);
  color: var(--dk-color-ink);
  font-family: var(--dk-font-text);
  font-size: var(--dk-type-heading-sm);
  font-weight: 500;
  letter-spacing: -.01em;
  line-height: 1.3;
  text-align: left;
}

.catalog-section__toggle small {
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  font-weight: 400;
}

.catalog-section__toggle .material-icons {
  flex: 0 0 auto;
  color: var(--dk-color-accent);
  font-size: 1.2rem;
  transition: transform var(--dk-duration-fast) ease;
}

.catalog-section__toggle[aria-expanded="true"] .material-icons {
  transform: rotate(180deg);
}

.catalog-section__content {
  height: auto !important;
  margin: 0 0 var(--dk-space-sm);
  padding-inline: clamp(1rem, 2.5vw, 2rem);
  overflow: visible;
}

.catalog-section__content[hidden] {
  display: none;
}

.catalog-search {
  margin-bottom: var(--dk-space-lg);
}

.catalog-search label {
  display: block;
  margin-bottom: var(--dk-space-xs);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

#filterComposition {
  width: 100%;
  min-height: 48px;
  padding: .75rem .875rem;
  border: 1px solid var(--dk-color-rule);
  border-radius: 0;
  background: var(--dk-color-paper);
  box-shadow: none;
  color: var(--dk-color-ink);
}

#filterComposition:focus,
#filterComposition:focus-visible {
  outline: none;
}

#filterComposition:focus-visible {
  border-color: #9aa3af;
  box-shadow: inset 0 0 0 2px rgba(32, 37, 46, .2);
}

#found-items {
  width: auto;
  min-height: 1.4em;
  margin: var(--dk-space-xs) 0 0;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
}

.page-family--catalog p,
.page-family--catalog .list-of-compositions {
  width: auto;
  max-width: none;
}

.page-family--catalog .catalog-item .js-wrapper {
  margin: 0;
  padding: var(--dk-space-md) 0 var(--dk-space-lg);
  border-top: 0;
  border-left: 0;
}

.page-family--catalog .catalog-item + .catalog-item .js-wrapper {
  border-top: 1px solid rgba(80, 106, 131, .18);
}

.page-family--catalog .catalog-item h2,
.page-family--catalog .catalog-item h3,
.page-family--catalog .catalog-item h4,
.page-family--catalog .catalog-item__title {
  margin: 0 0 var(--dk-space-xs);
  color: var(--dk-color-ink);
  font-size: clamp(1.125rem, .45vw + 1.05rem, 1.3rem);
  font-weight: 500;
  letter-spacing: -.018em;
  line-height: 1.25;
}

.page-family--catalog .catalog-item p {
  margin: 0 0 .2rem !important;
  color: var(--dk-color-text);
  font-size: var(--dk-type-sm);
  line-height: 1.5;
}

.page-family--catalog .catalog-item__compound-note {
  color: var(--dk-color-ink);
  font-weight: 600;
}

.page-family--catalog .catalog-item__members span {
  color: var(--dk-color-muted);
}

.page-family--catalog .catalog-item__meta {
  display: flex;
  margin: var(--dk-space-sm) 0 0 !important;
  flex-wrap: wrap;
  align-items: center;
  gap: .3rem .65rem;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  line-height: 1.4;
}

.page-family--catalog .catalog-item__meta > * + * {
  padding-left: 0;
  border-left: 0;
}

.page-family--catalog .catalog-item__details {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding-block: 0;
  border-radius: 0;
  background: transparent;
  color: var(--dk-color-accent);
  font-weight: 500;
  text-decoration: none;
}

.page-family--catalog .catalog-item__details .material-icons {
  font-size: 1.15rem;
}

#content .main:has(> .composition-detail) {
  display: block;
  width: 100%;
  max-width: none;
  margin-inline: 0;
}

.composition-detail {
  width: min(100%, 54rem);
  margin-inline: auto;
  padding-block: clamp(1.75rem, 5vh, 3.75rem) var(--dk-space-xl);
}

.composition-detail__header {
  margin-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.composition-detail__context {
  margin: 0 0 var(--dk-space-md) !important;
}

.composition-detail__context a,
.composition-detail__back-link {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: .35rem;
  color: var(--dk-color-accent);
  font-size: var(--dk-type-sm);
  font-weight: 500;
  text-decoration: none;
}

.composition-detail__context .material-icons,
.composition-detail__back-link .material-icons {
  font-size: 1.15rem;
  transition: transform var(--dk-duration-fast) ease;
}

.composition-detail__context a:hover,
.composition-detail__context a:focus-visible,
.composition-detail__back-link:hover,
.composition-detail__back-link:focus-visible {
  color: var(--dk-color-ink);
}

.composition-detail__context a:hover .material-icons,
.composition-detail__context a:focus-visible .material-icons,
.composition-detail__back-link:hover .material-icons,
.composition-detail__back-link:focus-visible .material-icons {
  transform: translateX(-.2rem);
}

.composition-detail__title {
  max-width: 15ch;
  margin: 0;
  font-size: clamp(3rem, 6vw, 4.75rem);
  line-height: .96;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

.composition-detail__subtitle {
  max-width: 34ch;
  margin: var(--dk-space-sm) 0 0 !important;
  color: var(--dk-color-ink) !important;
  font-family: var(--dk-font-display);
  font-size: clamp(1.45rem, 2.1vw, 1.9rem);
  line-height: 1.2 !important;
}

.composition-detail__scoring {
  max-width: 42rem;
  margin: var(--dk-space-md) 0 0 !important;
  color: var(--dk-color-text) !important;
  font-size: var(--dk-type-lead);
  line-height: 1.5 !important;
}

.composition-detail__metadata {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr));
  gap: var(--dk-space-sm) var(--dk-space-lg);
  margin: var(--dk-space-lg) 0 0;
  padding: var(--dk-space-md) 0;
  border-top: 1px solid var(--dk-color-rule);
  border-bottom: 1px solid var(--dk-color-rule);
}

.composition-detail__metadata-item {
  min-width: 0;
}

.composition-detail__metadata dt {
  margin: 0 0 .2rem;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.composition-detail__metadata dd {
  margin: 0;
  color: var(--dk-color-ink);
  font-size: var(--dk-type-sm);
  font-variant-numeric: oldstyle-nums;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.composition-detail__body,
.composition-detail__footer {
  width: min(100%, 46rem);
  margin-inline: auto;
}

.composition-detail__body > * + * {
  margin-top: clamp(2.5rem, 6vw, 4rem);
}

.composition-detail__prose,
.composition-detail__prose p,
.composition-detail__prose ul,
.composition-detail__prose ol {
  width: 100%;
  max-width: 42rem;
}

.composition-detail__prose p:last-child,
.composition-detail__prose ul:last-child,
.composition-detail__prose ol:last-child {
  margin-bottom: 0;
}

.composition-detail__section {
  padding-top: var(--dk-space-lg);
  border-top: 1px solid var(--dk-color-rule);
}

.composition-detail__section > h2,
.composition-detail__related-content > header h2,
.composition-detail__related-content > header h3,
.composition-detail__related-content > header h4,
.composition-detail__related-content--downloads h2,
.composition-detail__related-content--downloads h3,
.composition-detail__related-content--downloads h4 {
  margin: 0 0 var(--dk-space-md);
  color: var(--dk-color-ink);
  font-family: var(--dk-font-display);
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.composition-detail .ap--wrapper {
  margin: 0;
  padding: var(--dk-space-md);
  border: 0;
  border-left: 3px solid var(--dk-color-accent);
  border-radius: 0;
  background: var(--dk-color-soft);
  box-shadow: none;
}

.composition-detail .ap--wrapper + .ap--wrapper {
  margin-top: var(--dk-space-md);
}

.composition-detail .js-audioplayer--toggle {
  width: 100%;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dk-color-ink);
  text-align: left;
}

.composition-detail .ap__toggle-title {
  margin: 0;
  font-size: var(--dk-type-heading-sm);
  font-weight: 500;
}

.composition-detail__movement-note {
  margin-bottom: var(--dk-space-lg);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-sm);
}

.composition-detail__movement-list {
  margin: 0;
  padding: 0;
  counter-reset: composition-movement;
  list-style: none;
}

.composition-detail__movement {
  position: relative;
  margin: 0;
  padding: var(--dk-space-lg) 0 var(--dk-space-lg) 3rem;
  border-top: 1px solid var(--dk-color-rule);
  counter-increment: composition-movement;
}

.composition-detail__movement::before {
  position: absolute;
  top: calc(var(--dk-space-lg) + .1rem);
  left: 0;
  color: var(--dk-color-muted);
  content: counter(composition-movement, decimal-leading-zero);
  font-family: var(--dk-font-display);
  font-size: var(--dk-type-heading-sm);
  font-variant-numeric: tabular-nums;
  line-height: 1.2;
}

.composition-detail__movement > h3 {
  margin: 0 0 var(--dk-space-xs);
  font-size: var(--dk-type-heading-md);
}

.composition-detail__movement-subtitle,
.composition-detail__movement-scoring {
  margin: 0 0 var(--dk-space-xs) !important;
  font-size: var(--dk-type-sm);
  line-height: 1.5 !important;
}

.composition-detail__movement-subtitle {
  color: var(--dk-color-muted) !important;
}

.composition-detail__metadata--compact {
  display: flex;
  margin-top: var(--dk-space-sm);
  padding: var(--dk-space-sm) 0 0;
  flex-wrap: wrap;
  gap: var(--dk-space-sm) var(--dk-space-lg);
  border-top-color: var(--dk-color-rule);
  border-bottom: 0;
}

.composition-detail__metadata--compact .composition-detail__metadata-item {
  flex: 0 1 auto;
}

.composition-detail__movement-instrumentation {
  margin-top: var(--dk-space-md);
}

.composition-detail__movement-instrumentation h4 {
  margin: 0 0 var(--dk-space-xs);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.composition-detail__movement-instrumentation .composition-detail__prose,
.composition-detail__movement-instrumentation p {
  font-size: var(--dk-type-sm);
  line-height: 1.5;
}

.composition-detail__related-content {
  min-width: 0;
  padding-top: var(--dk-space-lg);
  border-top: 1px solid var(--dk-color-rule);
}

.composition-detail__related-content .ce-textpic,
.composition-detail__related-content .ce-image,
.composition-detail__related-content .ce-uploads {
  margin-inline: 0;
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.composition-detail__related-content--text > header:has(+ .ce-image:empty),
.composition-detail__related-content--text > .ce-image:empty {
  display: none;
}

.composition-detail__related-content .ce-gallery,
.composition-detail__related-content .ce-bodytext {
  margin-inline: 0;
}

.composition-detail__related-content figure {
  margin-inline: 0;
}

.composition-detail__related-content img {
  height: auto;
}

.composition-detail__related-content .ce-uploads,
.composition-detail__related-content .pdf-downloads,
.composition-detail__related-content .downloads {
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.composition-detail__related-content .ce-uploads li,
.composition-detail__related-content .pdf-downloads li,
.composition-detail__related-content .downloads li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--dk-space-xs) var(--dk-space-md);
  margin: 0;
  padding: var(--dk-space-md) 0;
  border-top: 1px solid var(--dk-color-rule);
  border-radius: 0;
  background: transparent;
}

.composition-detail__related-content .ce-uploads li > div,
.composition-detail__related-content .pdf-downloads li > div,
.composition-detail__related-content .downloads li > div {
  min-width: 0;
}

.composition-detail__related-content .ce-uploads a,
.composition-detail__related-content .pdf-downloads a,
.composition-detail__related-content .downloads a {
  color: var(--dk-color-accent);
  font-weight: 500;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.composition-detail__related-content .ce-uploads a:hover,
.composition-detail__related-content .ce-uploads a:focus-visible,
.composition-detail__related-content .pdf-downloads a:hover,
.composition-detail__related-content .pdf-downloads a:focus-visible,
.composition-detail__related-content .downloads a:hover,
.composition-detail__related-content .downloads a:focus-visible {
  color: var(--dk-color-ink);
  text-decoration: underline;
  text-underline-offset: .18em;
}

.composition-detail__related-content .ce-uploads-filesize {
  color: var(--dk-color-muted);
  white-space: nowrap;
}

.composition-detail__footer {
  margin-top: clamp(3.5rem, 8vw, 6rem);
  padding-top: var(--dk-space-md);
}

@media (max-width: 40rem) {
  .composition-detail__title {
    font-size: clamp(2.65rem, 14vw, 4rem);
  }

  .composition-detail__movement {
    padding-left: 2.4rem;
  }

  .composition-detail__related-content .ce-uploads li,
  .composition-detail__related-content .pdf-downloads li,
  .composition-detail__related-content .downloads li {
    display: block;
  }

  .composition-detail__related-content .ce-uploads-filesize {
    display: block;
    margin: var(--dk-space-xs) 0 0;
  }
}

.main:not(:has(#filterComposition)):has(> .page-family--editorial) {
  display: block;
  max-width: none;
}

.page-family--editorial {
  width: min(100%, var(--dk-measure));
  margin-inline: auto;
  padding-block: clamp(1.75rem, 5vh, 3.75rem) var(--dk-space-xl);
}

.page-family--editorial > .page-header {
  width: min(100%, 42rem);
  margin: 0 auto clamp(2.25rem, 5vw, 3.5rem) !important;
  padding: 0 0 var(--dk-space-md);
  border-bottom: 1px solid var(--dk-color-rule);
}

.page-family--editorial > .page-header .page-title {
  max-width: 13ch;
  margin: 0;
  font-size: clamp(2.75rem, 4.4vw, 4rem);
  line-height: .98;
  text-wrap: balance;
}

.page-family--editorial > .page-header .page-title__continuation,
.page-family--editorial > .page-header .page-subtitle {
  max-width: 26ch;
  margin-top: var(--dk-space-xs);
}

.page-family--editorial .page-family__content > article,
.page-family--editorial .page-family__content > .ce-textpic,
.page-family--editorial .page-family__content > header,
.page-family--editorial .ce-bodytext {
  width: min(100%, 42rem);
  margin-inline: auto;
}

.page-family--editorial .page-family__content > header {
  margin-top: clamp(2.75rem, 6vw, 4.5rem);
  padding-top: var(--dk-space-lg);
  border-top: 1px solid var(--dk-color-rule);
}

.page-family--editorial .page-family__content > header:first-child {
  margin-top: 0;
  padding-top: 0;
  border-top: 0;
}

.page-family--editorial .page-family__content > header .content-heading {
  margin: 0 0 var(--dk-space-xs);
  font-family: var(--dk-font-display);
  font-size: clamp(1.85rem, 2.5vw, 2.5rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.page-family--editorial .page-family__content > header .content-subheading {
  margin: 0;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-body);
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1.5;
}

.page-family--editorial .page-family__content > header + .ce-textpic {
  margin-top: var(--dk-space-md);
}

.page-family--editorial .ce-textpic {
  margin-bottom: var(--dk-space-xl);
  padding: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.page-family--editorial .article {
  padding-bottom: var(--dk-space-lg);
}

.page-family--editorial .readable-text p,
.page-family--editorial .readable-text .p-format,
.page-family--editorial .ce-bodytext p {
  width: 100%;
  max-width: 42rem;
  margin-inline: auto;
  padding-inline: 0;
}

.page-family--editorial .readable-text > figure {
  width: min(100%, 38rem);
  margin: 0 auto clamp(2.25rem, 5vw, 3.5rem);
  padding: 0;
}

.page-family--editorial .readable-text > figure img,
.page-family--editorial .ce-gallery img {
  border-radius: 2px;
  box-shadow: 0 1.5rem 3.5rem -2.5rem rgba(32, 37, 46, .55);
}

.page-family--editorial .readable-text > figure + p {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-lead);
  line-height: 1.65;
}

/* Presentation for TYPO3's standard media partials belongs in the theme. */
.ce-gallery {
  margin-bottom: var(--dk-space-lg);
}

.image-caption,
.audio-caption,
.video-caption {
  margin-top: var(--dk-space-sm);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-sm);
  line-height: 1.45;
}

.audio-embed-item {
  margin-bottom: var(--dk-space-xs);
}

.page-family--editorial .ce-gallery {
  margin-top: var(--dk-space-lg);
}

.page-family--editorial .image-caption {
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  line-height: 1.45;
}

.page-family--chronology .chronology-list {
  width: min(100%, 42rem);
  margin-inline: auto;
}

.page-family--chronology .chronology-entry {
  width: 100%;
}

.page-family--chronology .chronology-entry + .chronology-entry {
  margin-top: clamp(3rem, 7vw, 4.75rem);
  padding-top: clamp(2rem, 5vw, 3.25rem);
  border-top: 1px solid var(--dk-color-rule);
}

.page-family--chronology .chronology-entry > header {
  margin: 0 0 var(--dk-space-md);
}

.page-family--chronology .chronology-entry .content-heading {
  max-width: 19ch;
  margin: 0 0 var(--dk-space-xs);
  font-family: var(--dk-font-display);
  font-size: clamp(1.95rem, 3vw, 2.75rem);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.06;
  text-wrap: balance;
}

.page-family--chronology .chronology-entry .content-subheading {
  max-width: 42rem;
  margin: 0;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-body);
  font-weight: 400;
  line-height: 1.5;
}

.page-family--chronology .chronology-entry > .ce-textpic {
  width: 100%;
  margin: 0;
}

.page-family--chronology .chronology-entry .ce-bodytext {
  width: 100%;
}

.page-family--chronology .chronology-entry .ce-bodytext > p:first-child {
  margin: 0 0 var(--dk-space-md);
  color: var(--dk-color-accent);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  letter-spacing: .075em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-family--chronology .chronology-entry .ce-bodytext > p:first-child strong {
  font-weight: 500;
}

.page-family--chronology .chronology-entry .ce-gallery {
  margin-top: clamp(1.5rem, 4vw, 2.5rem);
}

.page-family--chronology .chronology-entry .ce-gallery img {
  border: 1px solid var(--dk-color-rule);
  box-shadow: 0 1.25rem 3rem -2.25rem rgba(32, 37, 46, .48);
}

/* Privacy score ----------------------------------------------------------
 * Five independent permissions share the visual language of the archive:
 * quiet paper, editorial type, and score-like rules instead of a generic
 * cookie-banner overlay.
 */
body:not(.consent-manager-ready):not(:has(.page-family--privacy)) a[href*="facebook.com"],
body:not(.consent-manager-ready):not(:has(.page-family--privacy)) a[href*="facebook.net"] {
  visibility: hidden;
}

.privacy-consent-center[hidden],
.consent-embed__placeholder[hidden],
.consent-embed__content[hidden] {
  display: none !important;
}

.privacy-consent-center {
  position: fixed;
  z-index: 120;
  inset: 0;
  pointer-events: none;
}

.privacy-consent-center__panel {
  position: absolute;
  right: clamp(.75rem, 2vw, 1.5rem);
  bottom: clamp(.75rem, 2vw, 1.5rem);
  left: clamp(.75rem, 2vw, 1.5rem);
  width: min(56rem, calc(100% - clamp(1.5rem, 4vw, 3rem)));
  max-height: calc(100dvh - clamp(1.5rem, 4vw, 3rem));
  margin-inline: auto;
  overflow: auto;
  border: 1px solid var(--dk-color-rule);
  border-top: 3px solid var(--dk-color-accent);
  border-radius: .25rem;
  background: rgba(255, 255, 255, .985);
  box-shadow: 0 2rem 5rem -2.5rem rgba(32, 37, 46, .52);
  color: var(--dk-color-text);
  opacity: 0;
  pointer-events: auto;
  transform: translateY(1rem);
  transition:
    opacity var(--dk-duration-fast) ease,
    transform var(--dk-duration-slow) cubic-bezier(.22, 1, .36, 1);
  overscroll-behavior: contain;
}

.privacy-consent-center.is-open .privacy-consent-center__panel {
  opacity: 1;
  transform: translateY(0);
}

.privacy-consent-center__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--dk-space-md);
  padding: clamp(1rem, 3vw, 1.6rem) clamp(1rem, 3vw, 1.8rem) var(--dk-space-md);
}

.privacy-consent-center__eyebrow,
.consent-embed__eyebrow {
  display: block;
  margin-bottom: var(--dk-space-xs);
  color: var(--dk-color-accent);
  font-size: .67rem;
  font-weight: 600;
  letter-spacing: .12em;
  line-height: 1.35;
  text-transform: uppercase;
}

.privacy-consent-center__title {
  margin: 0;
  color: var(--dk-color-ink);
  font-family: var(--dk-font-display);
  font-size: clamp(1.65rem, 4vw, 2.25rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
  text-wrap: balance;
}

.privacy-consent-center__intro {
  max-width: 64ch;
  margin: var(--dk-space-xs) 0 0;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-sm);
  line-height: 1.55;
}

.privacy-consent-center__close {
  display: grid;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  place-items: center;
  border: 1px solid var(--dk-color-rule);
  border-radius: 0;
  background: transparent;
  color: var(--dk-color-muted);
  cursor: pointer;
  font-family: var(--dk-font-text);
  font-size: 1.35rem;
  line-height: 1;
}

.privacy-consent-center__close:hover {
  border-color: var(--dk-color-accent);
  color: var(--dk-color-ink);
}

.privacy-consent-center__services {
  border-top: 1px solid var(--dk-color-rule);
}

.privacy-service {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr) auto;
  gap: var(--dk-space-sm) var(--dk-space-md);
  align-items: center;
  min-height: 4.35rem;
  padding: .75rem clamp(1rem, 3vw, 1.8rem);
  border-bottom: 1px solid var(--dk-color-rule);
  cursor: pointer;
}

.privacy-service:hover {
  background: color-mix(in srgb, var(--dk-color-soft) 72%, transparent);
}

.privacy-service__number {
  color: var(--dk-color-muted);
  font-family: var(--dk-font-display);
  font-size: .78rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: .06em;
}

.privacy-service__copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: .1rem;
}

.privacy-service__name {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-sm);
  font-weight: 600;
  line-height: 1.35;
}

.privacy-service__description {
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  line-height: 1.45;
}

.privacy-service__control {
  position: relative;
  display: flex;
  align-items: center;
  gap: .6rem;
}

.privacy-service__state {
  width: 1.6rem;
  color: var(--dk-color-muted);
  font-size: .64rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-align: right;
  text-transform: uppercase;
}

.privacy-service__state[data-allowed="true"] {
  color: var(--dk-color-accent);
}

.privacy-service__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

.privacy-service__switch {
  position: relative;
  display: block;
  width: 2.6rem;
  height: 1.4rem;
  flex: 0 0 auto;
  border: 1px solid var(--dk-color-muted);
  border-radius: .15rem;
  background: var(--dk-color-paper);
  transition:
    border-color var(--dk-duration-fast) ease,
    background var(--dk-duration-fast) ease;
}

.privacy-service__switch > span {
  position: absolute;
  top: .19rem;
  left: .2rem;
  width: .9rem;
  height: .9rem;
  background: var(--dk-color-muted);
  transition:
    background var(--dk-duration-fast) ease,
    transform var(--dk-duration-fast) ease;
}

.privacy-service__input:checked + .privacy-service__switch {
  border-color: var(--dk-color-accent);
  background: color-mix(in srgb, var(--dk-color-accent) 12%, var(--dk-color-paper));
}

.privacy-service__input:checked + .privacy-service__switch > span {
  background: var(--dk-color-accent);
  transform: translateX(1.25rem);
}

.privacy-service__input:focus-visible + .privacy-service__switch {
  box-shadow: 0 0 0 2px var(--dk-focus-ring-color);
}

.privacy-consent-center__necessary {
  display: flex;
  gap: var(--dk-space-sm);
  align-items: flex-start;
  padding: .8rem clamp(1rem, 3vw, 1.8rem);
  background: var(--dk-color-soft);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  line-height: 1.5;
}

.privacy-consent-center__necessary strong {
  color: var(--dk-color-text);
  font-weight: 600;
}

.privacy-consent-center__necessary-mark {
  display: grid;
  width: 1.35rem;
  height: 1.35rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid var(--dk-color-accent);
  color: var(--dk-color-accent);
  font-size: .6rem;
  font-weight: 700;
}

.privacy-consent-center__footer {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dk-space-sm) var(--dk-space-md);
  align-items: center;
  justify-content: space-between;
  padding: var(--dk-space-md) clamp(1rem, 3vw, 1.8rem);
}

.privacy-consent-center__actions,
.consent-embed__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
}

.consent-button {
  min-height: 2.5rem;
  padding: .58rem .85rem;
  border: 1px solid var(--dk-color-ink);
  border-radius: .1rem;
  background: var(--dk-color-paper);
  color: var(--dk-color-ink);
  cursor: pointer;
  font: 600 var(--dk-type-xs)/1.3 var(--dk-font-text);
  letter-spacing: .025em;
  text-align: center;
}

.consent-button:hover {
  border-color: var(--dk-color-accent);
  color: var(--dk-color-accent);
}

.consent-button--primary {
  border-color: var(--dk-color-ink);
  background: var(--dk-color-ink);
  color: var(--dk-color-paper);
}

.consent-button--primary:hover {
  border-color: var(--dk-color-accent);
  background: var(--dk-color-accent);
  color: var(--dk-color-paper);
}

.consent-button--secondary {
  border-color: var(--dk-color-rule);
}

.consent-button--quiet {
  border-color: transparent;
  background: transparent;
  color: var(--dk-color-accent);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.privacy-consent-center__policy,
.consent-embed__policy {
  color: var(--dk-color-accent);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.consent-live-region {
  position: fixed;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.consent-embed,
.consent-embed__content {
  display: grid;
  width: 100%;
  height: 100%;
  place-items: stretch;
}

.consent-embed__placeholder {
  position: relative;
  display: flex;
  width: 100%;
  height: 100%;
  min-height: 11rem;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(1rem, 4vw, 1.6rem);
  overflow: hidden;
  background:
    linear-gradient(rgba(245, 247, 249, .9), rgba(245, 247, 249, .9)),
    repeating-linear-gradient(to bottom, transparent 0, transparent .34rem, rgba(80, 106, 131, .22) .36rem, transparent .38rem);
  color: var(--dk-color-text);
  text-align: center;
}

.consent-embed__placeholder::before {
  width: min(7rem, 35%);
  height: 1.4rem;
  margin-bottom: .45rem;
  background: repeating-linear-gradient(to bottom, var(--dk-color-rule) 0 1px, transparent 1px .28rem);
  content: "";
  opacity: .8;
}

.consent-embed__title {
  display: block;
  color: var(--dk-color-ink);
  font-family: var(--dk-font-display);
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.15;
}

.consent-embed__copy {
  max-width: 38ch;
  margin: .4rem auto .8rem;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  line-height: 1.45;
}

.consent-embed__actions {
  justify-content: center;
}

.consent-embed__actions .consent-button {
  min-height: 2.2rem;
  padding: .45rem .65rem;
  font-size: .68rem;
}

.consent-embed__policy {
  margin-top: .6rem;
  font-size: .65rem;
}

.consent-link-placeholder {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .45rem .75rem;
  align-items: center;
  max-width: 100%;
  padding: .55rem .7rem;
  border-left: 2px solid var(--dk-color-accent);
  background: var(--dk-color-soft);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  line-height: 1.45;
}

.consent-link-placeholder__copy strong {
  color: var(--dk-color-ink);
  font-weight: 600;
}

.consent-link-placeholder__actions {
  display: inline-flex;
  flex-wrap: wrap;
  gap: .45rem;
}

.consent-link-placeholder__button {
  padding: .25rem .4rem;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: var(--dk-color-accent);
  cursor: pointer;
  font: 600 .68rem/1.3 var(--dk-font-text);
}

.page-family--media,
.page-family--photos {
  width: min(100%, 58rem);
}

.page-family--media > .page-header,
.page-family--photos > .page-header {
  width: 100%;
}

.media-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(2.5rem, 6vw, 4rem) var(--dk-space-lg);
  align-items: stretch;
}

.media-entry {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
  padding-top: var(--dk-space-md);
  border-top: 1px solid var(--dk-color-rule);
}

.media-entry:first-child {
  border-top: 0;
}

.media-entry__header {
  margin: 0 0 var(--dk-space-sm);
}

.media-entry__title,
.main .media-entry__title {
  display: block;
  width: 100%;
  min-height: 1.35em;
  margin: 0;
  overflow: hidden;
  color: var(--dk-color-ink);
  font-family: var(--dk-font-text);
  font-size: var(--dk-type-heading-sm);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.media-entry__title[data-tooltip-ready="true"] {
  cursor: help;
}

.media-tooltip {
  position: fixed;
  z-index: 80;
  width: max-content;
  max-width: min(24rem, calc(100vw - 2rem));
  padding: .65rem .8rem;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: .4rem;
  background: rgba(32, 37, 46, .97);
  box-shadow: 0 1rem 2.5rem -1.2rem rgba(15, 18, 24, .7);
  color: var(--dk-color-paper);
  font-size: var(--dk-type-xs);
  font-weight: 450;
  letter-spacing: -.005em;
  line-height: 1.45;
  opacity: 0;
  pointer-events: none;
  transform: translateY(.25rem);
  transition:
    opacity var(--dk-duration-fast) ease,
    transform var(--dk-duration-fast) ease;
}

.media-tooltip::after {
  position: absolute;
  left: var(--media-tooltip-arrow-x, 50%);
  width: .65rem;
  height: .65rem;
  background: inherit;
  content: "";
  transform: translateX(-50%) rotate(45deg);
}

.media-tooltip[data-placement="top"]::after {
  bottom: -.32rem;
}

.media-tooltip[data-placement="bottom"]::after {
  top: -.32rem;
}

.media-tooltip.is-visible {
  opacity: 1;
  transform: translateY(0);
}

.media-entry__stage {
  display: grid;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--dk-color-rule);
  background: var(--dk-color-soft);
}

/* Shared file presentation -------------------------------------------------
 * The same row is used by Fluid Styled Content uploads, Guide PDFs,
 * composition scores/parts, and the custom Article content element.
 */
.download-list {
  width: 100%;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--dk-color-rule);
  list-style: none;
}

.download-list__item {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid var(--dk-color-rule);
}

.download-item,
.download-item__copy {
  min-width: 0;
}

.download-item__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--dk-space-md);
  align-items: center;
  min-height: 4.75rem;
  padding: var(--dk-space-md) 0;
  color: var(--dk-color-text);
  text-decoration: none;
}

.download-item__copy {
  display: flex;
  flex-direction: column;
  gap: .2rem;
}

.download-item__meta {
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.download-item__title {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-body);
  font-weight: 600;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.download-item__description {
  color: var(--dk-color-muted);
  font-size: var(--dk-type-sm);
  line-height: 1.5;
  white-space: pre-line;
}

.download-item__action {
  display: inline-flex;
  align-items: center;
  align-self: stretch;
  gap: var(--dk-space-xs);
  padding-left: var(--dk-space-md);
  border-left: 1px solid var(--dk-color-rule);
  color: var(--dk-color-accent);
  font-size: var(--dk-type-sm);
  font-weight: 600;
  white-space: nowrap;
}

.download-item__link:hover .download-item__title,
.download-item__link:hover .download-item__action,
.download-item__link:focus-visible .download-item__title,
.download-item__link:focus-visible .download-item__action {
  color: var(--dk-color-ink);
}

.document-article {
  width: 100%;
  margin: 0 0 var(--dk-space-xl);
}

.document-article__header {
  margin-bottom: var(--dk-space-lg);
}

.document-article__header .content-heading {
  margin: 0 0 var(--dk-space-xs);
  color: var(--dk-color-ink);
  font-size: var(--dk-type-heading-md);
  font-weight: 500;
  line-height: 1.3;
  text-wrap: balance;
}

.document-article__header .content-subheading {
  margin: 0;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-body);
  font-weight: 400;
  line-height: 1.5;
}

.document-article__file {
  margin-top: var(--dk-space-lg);
  border-top: 1px solid var(--dk-color-rule);
  border-bottom: 1px solid var(--dk-color-rule);
}

/* Contact and legal documents ------------------------------------------- */
.page-family--legal {
  --dk-legal-measure: 42rem;
}

.page-family--legal .page-family__content {
  width: min(100%, var(--dk-legal-measure));
  margin-inline: auto;
}

.page-family--legal .document-article {
  margin: 0;
  padding-block: clamp(1.5rem, 4vw, 2.25rem);
  border-top: 1px solid var(--dk-color-rule);
}

.page-family--legal .document-article:first-child {
  border-top: 0;
}

.page-family--legal .document-article:last-child {
  border-bottom: 1px solid var(--dk-color-rule);
}

.page-family--legal .document-article__header {
  margin-bottom: var(--dk-space-md);
}

.page-family--legal .document-article__header .content-heading {
  max-width: 32ch;
  font-size: var(--dk-type-heading-sm);
}

.page-family--legal .document-article p,
.page-family--legal .document-article li {
  max-width: 42rem;
  overflow-wrap: anywhere;
}

.page-family--legal .document-article p:first-of-type {
  margin-top: 0;
}

.page-family--legal .document-article p:last-child {
  margin-bottom: 0;
}

.page-family--legal .document-article :is(ul, ol) {
  margin-block: var(--dk-space-sm) var(--dk-space-md);
  padding-left: 1.35rem;
}

.page-family--legal .document-article a {
  text-decoration-thickness: 1px;
  text-underline-offset: .16em;
}

.page-family--contact .document-article {
  padding-top: var(--dk-space-lg);
}

.page-family--contact .document-article p:first-of-type strong {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-lead);
  font-weight: 500;
}

.page-family--contact .document-article a {
  color: var(--dk-color-accent);
  font-weight: 600;
}

.contact-fallback {
  margin-top: var(--dk-space-lg);
  padding: var(--dk-space-md);
  border-left: 2px solid var(--dk-color-accent);
  background: var(--dk-color-soft);
}

.contact-fallback p {
  margin: 0;
}

.contact-fallback__title {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-sm);
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.contact-fallback__title + p {
  margin-top: var(--dk-space-xs);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-sm);
  line-height: 1.55;
}

.page-family--privacy .document-article__header .content-heading {
  font-family: var(--dk-font-display);
  font-size: clamp(1.45rem, 2vw, 1.8rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.14;
}

@media (min-width: 720px) {
  .page-family--imprint .page-family__content {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: clamp(2rem, 5vw, 3.5rem);
  }

  .page-family--imprint .document-article:first-child {
    grid-column: 1 / -1;
  }

  .page-family--imprint .document-article:nth-last-child(2) {
    border-bottom: 1px solid var(--dk-color-rule);
  }
}

.page-family--video .media-entry__stage {
  height: auto;
  aspect-ratio: 16 / 9;
}

.media-entry__stage iframe,
.media-entry__stage video,
.media-entry__stage audio,
.media-entry__file {
  display: block;
  width: 100% !important;
  max-width: 100%;
  border: 0;
}

.media-entry__stage iframe,
.media-entry__stage video,
.media-entry__file {
  height: 100% !important;
}

.media-entry__credit {
  padding-top: var(--dk-space-sm);
  color: var(--dk-color-muted);
  font-size: var(--dk-type-sm);
  line-height: 1.55;
}

.media-entry__credit p {
  width: 100%;
  margin: 0;
  color: inherit;
  font-size: inherit;
  line-height: inherit;
}

.media-entry__credit a {
  overflow-wrap: anywhere;
}

.media-entry__unavailable {
  width: min(100% - 2rem, 22rem);
  color: var(--dk-color-muted);
  text-align: center;
}

.media-entry__unavailable span {
  color: var(--dk-color-ink);
  font-size: var(--dk-type-sm);
  font-weight: 500;
}

.media-entry__unavailable p {
  width: 100%;
  margin: var(--dk-space-xs) 0 0;
  font-size: var(--dk-type-xs);
  line-height: 1.5;
}

.photo-archive {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(16rem, 100%), 1fr));
  gap: clamp(2.25rem, 5vw, 3.5rem) clamp(1rem, 2.5vw, 1.5rem);
  align-items: start;
}

.photo-archive > header {
  grid-column: 1 / -1;
  margin: var(--dk-space-lg) 0 calc(-1 * var(--dk-space-md));
  padding-bottom: var(--dk-space-sm);
  border-bottom: 1px solid var(--dk-color-rule);
}

.photo-archive > header .content-heading {
  max-width: 28ch;
  margin: 0;
  font-family: var(--dk-font-display);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.1;
  text-wrap: balance;
}

.photo-entry {
  display: flex;
  flex-direction: column;
  min-width: 0;
  margin: 0;
}

.page-family--photos:not(.page-family--discography) .photo-archive > .photo-entry:first-child {
  display: grid;
  width: min(100%, 38rem);
  grid-column: 1 / -1;
  grid-template-columns: minmax(0, 2fr) minmax(13rem, 1fr);
  gap: clamp(1.25rem, 3vw, 2rem);
  align-items: end;
  justify-self: center;
}

.photo-entry__media {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(12rem, 100%), 1fr));
  gap: var(--dk-space-sm);
  min-width: 0;
  background: var(--dk-color-soft);
}

.photo-entry__image-link {
  position: relative;
  display: block;
  min-width: 0;
  overflow: hidden;
  border-radius: .35rem;
  background: var(--dk-color-soft);
}

.photo-entry__image {
  display: block;
  width: 100%;
  min-width: 0 !important;
  height: auto;
}

.page-family--photos:not(.page-family--discography) .photo-entry__media {
  background: transparent;
}

.page-family--photos:not(.page-family--discography) .photo-entry__image-link {
  aspect-ratio: 16 / 9;
  box-shadow: 0 .85rem 2rem -1.6rem rgba(32, 37, 46, .55);
}

.page-family--photos:not(.page-family--discography) .photo-entry__image-link::before {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(to top, rgba(20, 25, 32, .7), transparent);
  content: "";
  opacity: 0;
  transition: opacity var(--dk-duration-fast) ease;
}

.page-family--photos:not(.page-family--discography) .photo-entry__image-link::after {
  position: absolute;
  z-index: 2;
  right: .75rem;
  bottom: .65rem;
  color: var(--dk-color-paper);
  content: "View image  ↗";
  font-size: .68rem;
  font-weight: 500;
  letter-spacing: .04em;
  opacity: 0;
  transform: translateY(.3rem);
  transition:
    opacity var(--dk-duration-fast) ease,
    transform var(--dk-duration-fast) ease;
}

.page-family--photos:not(.page-family--discography) .photo-entry__image-link:hover::before,
.page-family--photos:not(.page-family--discography) .photo-entry__image-link:focus-visible::before,
.page-family--photos:not(.page-family--discography) .photo-entry__image-link:hover::after,
.page-family--photos:not(.page-family--discography) .photo-entry__image-link:focus-visible::after {
  opacity: 1;
}

.page-family--photos:not(.page-family--discography) .photo-entry__image-link:hover::after,
.page-family--photos:not(.page-family--discography) .photo-entry__image-link:focus-visible::after {
  transform: translateY(0);
}

.page-family--photos:not(.page-family--discography) .photo-entry__image {
  height: 100%;
  object-fit: cover;
  object-position: center 32%;
  transition: transform var(--dk-duration-slow) cubic-bezier(.22, 1, .36, 1);
}

.page-family--photos:not(.page-family--discography) .photo-entry__image-link:hover .photo-entry__image,
.page-family--photos:not(.page-family--discography) .photo-entry__image-link:focus-visible .photo-entry__image {
  transform: scale(1.025);
}

.photo-entry__caption {
  min-width: 0;
  padding-top: var(--dk-space-sm);
  border-top: 0;
}

.photo-entry__caption .content-heading {
  margin: 0 0 var(--dk-space-sm);
  color: var(--dk-color-ink);
  font-family: var(--dk-font-text);
  font-size: var(--dk-type-heading-sm);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.35;
  text-wrap: balance;
}

.photo-entry__description,
.photo-entry__description p,
.photo-entry__description ul,
.photo-entry__description ol {
  width: 100%;
  max-width: none;
}

.photo-entry__description p {
  margin: 0 0 var(--dk-space-xs);
  color: var(--dk-color-text);
  font-size: var(--dk-type-sm);
  line-height: 1.55;
}

.photo-entry__description p:last-child {
  margin-bottom: 0;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
}

.photo-entry__description a,
.photo-entry__description li {
  overflow-wrap: anywhere;
}

.photo-entry__downloads {
  margin-top: var(--dk-space-sm);
}

.photo-entry__download {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: var(--dk-space-xs);
  color: var(--dk-color-accent);
  font-size: var(--dk-type-xs);
  font-weight: 500;
}

.photo-entry__download .material-icons {
  font-size: 1rem;
}

.photo-entry__download:hover,
.photo-entry__download:focus-visible {
  color: var(--dk-color-ink);
}

.page-family--discography .photo-archive {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(3rem, 7vw, 5rem);
}

.page-family--discography .photo-entry,
.page-family--discography .photo-archive > .photo-entry:first-child {
  display: grid;
  grid-column: auto;
  grid-template-columns: minmax(13rem, 19rem) minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  padding-top: var(--dk-space-md);
  border-top: 1px solid var(--dk-color-rule);
}

.page-family--discography .photo-archive > .photo-entry:first-child {
  border-top: 0;
}

.page-family--discography .photo-entry__caption {
  padding-top: 0;
  border-top: 0;
}

.page-family--discography .photo-entry__caption .content-heading {
  margin-bottom: var(--dk-space-md);
  font-family: var(--dk-font-display);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.page-family--discography .photo-entry__description p {
  color: var(--dk-color-text);
  font-size: var(--dk-type-sm);
}

.page-family--discography .photo-entry__description ul,
.page-family--discography .photo-entry__description ol {
  margin: var(--dk-space-sm) 0 var(--dk-space-md);
  padding-left: 1.25rem;
  color: var(--dk-color-text);
  font-size: var(--dk-type-sm);
  line-height: 1.55;
}

/* Photo viewer: original images in a quiet, full-viewport viewing room. */
body.photo-viewer-is-open {
  overflow: hidden;
}

.photo-viewer[hidden] {
  display: none;
}

.photo-viewer {
  --dk-focus-ring-color: rgba(238, 241, 245, .72);
  position: fixed;
  z-index: 100;
  inset: 0;
  background:
    radial-gradient(circle at 50% 44%, rgba(80, 106, 131, .2), transparent 48%),
    rgba(15, 18, 24, .96);
  color: #eef1f5;
  opacity: 0;
  transition: opacity 220ms ease;
  backdrop-filter: blur(14px);
}

.photo-viewer.is-open {
  opacity: 1;
}

.photo-viewer__dialog {
  display: grid;
  width: 100%;
  height: 100%;
  height: 100dvh;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(.75rem, 2vh, 1.25rem);
  padding: clamp(.8rem, 2vw, 1.5rem);
}

.photo-viewer__toolbar,
.photo-viewer__footer {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: var(--dk-space-md);
}

.photo-viewer__identity {
  display: flex;
  min-width: 0;
  align-items: baseline;
  gap: var(--dk-space-sm);
}

.photo-viewer__eyebrow {
  color: #eef1f5;
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.photo-viewer__counter {
  color: #9eabba;
  font-size: var(--dk-type-xs);
  font-variant-numeric: tabular-nums;
}

.photo-viewer__close,
.photo-viewer__previous,
.photo-viewer__next {
  display: inline-flex;
  width: 2.75rem;
  height: 2.75rem;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(238, 241, 245, .18);
  border-radius: 50%;
  background: rgba(238, 241, 245, .07);
  color: #eef1f5;
  transition:
    border-color var(--dk-duration-fast) ease,
    background var(--dk-duration-fast) ease,
    transform var(--dk-duration-fast) ease;
}

.photo-viewer__close:hover,
.photo-viewer__close:focus-visible,
.photo-viewer__previous:hover,
.photo-viewer__previous:focus-visible,
.photo-viewer__next:hover,
.photo-viewer__next:focus-visible {
  border-color: rgba(238, 241, 245, .48);
  background: rgba(238, 241, 245, .14);
}

.photo-viewer__close:focus-visible,
.photo-viewer__previous:focus-visible,
.photo-viewer__next:focus-visible,
.photo-viewer__download:focus-visible {
  box-shadow: 0 0 0 2px rgba(238, 241, 245, .78) !important;
}

.photo-viewer__close:hover,
.photo-viewer__close:focus-visible {
  transform: rotate(6deg);
}

.photo-viewer__stage {
  display: grid;
  min-width: 0;
  min-height: 0;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: clamp(.5rem, 2vw, 1.5rem);
  align-items: center;
}

.photo-viewer__figure {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 0;
  height: 100%;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.photo-viewer__figure::after {
  position: absolute;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid rgba(238, 241, 245, .25);
  border-top-color: #eef1f5;
  border-radius: 50%;
  content: "";
  opacity: 0;
  animation: photo-viewer-spin .75s linear infinite;
  transition: opacity var(--dk-duration-fast) ease;
}

.photo-viewer.is-loading .photo-viewer__figure::after {
  opacity: 1;
}

.photo-viewer__image {
  width: auto;
  min-width: 0 !important;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  box-shadow: 0 1.5rem 4rem -1.5rem rgba(0, 0, 0, .75);
  opacity: 1;
  transition: opacity var(--dk-duration-fast) ease;
}

.photo-viewer.is-loading .photo-viewer__image {
  opacity: .22;
}

.photo-viewer__footer {
  padding-inline: clamp(0rem, 5vw, 5rem);
}

.photo-viewer__caption {
  max-width: 60ch;
  margin: 0;
  color: #d8dee8;
  font-family: var(--dk-font-display);
  font-size: clamp(1.05rem, 2vw, 1.35rem);
  letter-spacing: -.015em;
  line-height: 1.25;
}

.photo-viewer__download {
  display: inline-flex;
  min-height: 2.75rem;
  flex: 0 0 auto;
  align-items: center;
  gap: .4rem;
  color: #b8c4d1;
  font-size: var(--dk-type-xs);
  font-weight: 500;
  text-decoration: none;
}

.photo-viewer__download:hover,
.photo-viewer__download:focus-visible {
  color: #ffffff;
}

.photo-viewer__download .material-icons,
.photo-viewer__close .material-icons,
.photo-viewer__previous .material-icons,
.photo-viewer__next .material-icons {
  font-size: 1.25rem;
}

@keyframes photo-viewer-spin {
  to {
    transform: rotate(360deg);
  }
}

.page-family--interviews .page-family__content > div,
.page-family--interviews .page-family__content > section {
  width: min(100%, 42rem);
  margin-inline: auto !important;
}

.page-family--interviews .page-family__content > div {
  margin-block: 0 var(--dk-space-lg) !important;
}

.page-family--interviews .page-family__content > div h3 {
  margin: 0 0 var(--dk-space-sm);
  font-family: var(--dk-font-display);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 400;
  letter-spacing: -.02em;
  line-height: 1.15;
}

.page-family--interviews .page-family__content p {
  width: 100%;
  max-width: none;
  padding-inline: 0;
}

@media (max-width: 48rem) {
  .media-grid,
  .photo-archive {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-family--discography .photo-entry,
  .page-family--discography .photo-archive > .photo-entry:first-child {
    display: block;
    grid-column: auto;
  }

  .page-family--photos:not(.page-family--discography) .photo-archive > .photo-entry:first-child {
    display: flex;
    grid-column: auto;
  }

  .photo-entry__caption,
  .page-family--discography .photo-entry__caption {
    padding-top: var(--dk-space-sm);
  }

  .page-family--discography .photo-entry__caption {
    border-top: 1px solid var(--dk-color-rule);
  }

  .photo-viewer__dialog {
    gap: .65rem;
    padding: .75rem;
  }

  .photo-viewer__stage {
    position: relative;
    display: flex;
    justify-content: center;
  }

  .photo-viewer__previous,
  .photo-viewer__next {
    position: absolute;
    z-index: 2;
    top: 50%;
    background: rgba(15, 18, 24, .72);
    transform: translateY(-50%);
  }

  .photo-viewer__previous {
    left: .35rem;
  }

  .photo-viewer__next {
    right: .35rem;
  }

  .photo-viewer__footer {
    align-items: flex-end;
    padding-inline: 0;
  }

  .photo-viewer__caption {
    font-size: 1rem;
  }
}

@media (min-width: 48.001rem) {
  .media-grid > .media-entry:nth-child(2) {
    border-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .media-tooltip,
  .photo-viewer,
  .photo-viewer__image,
  .photo-viewer__close,
  .photo-viewer__previous,
  .photo-viewer__next,
  .page-family--photos:not(.page-family--discography) .photo-entry__image {
    transition: none;
  }
}

.page-family--guide .page-family__content--longform > section,
.page-family--guide .page-family__content--longform > .maxWidth720,
.page-family--guide .page-family__content--longform > .downloads {
  width: min(100%, 42rem);
  margin-inline: auto;
}

.page-family--guide .page-family__content--longform > .flex:first-child {
  width: min(100%, 42rem);
  margin-inline: auto;
  padding-bottom: 0;
}

.page-family--guide .page-family__content--longform > .flex:first-child .ce-textpic {
  margin-bottom: 0;
}

.page-family--guide .page-family__content--longform > .flex:first-child .ce-bodytext {
  padding-block: 0;
}

.page-family--guide .page-family__content--longform > section {
  margin-block: clamp(2rem, 5vw, 3.25rem);
}

:is(.page-family--guide, .page-family--interviews) .ap--wrapper {
  width: 100%;
  margin: 0 !important;
  padding: clamp(1rem, 3vw, 1.5rem);
  border-top: 1px solid var(--dk-color-rule);
  border-bottom: 1px solid var(--dk-color-rule);
  border-radius: 0;
  background: var(--dk-color-soft);
}

:is(.page-family--guide, .page-family--interviews) .js-audioplayer--toggle {
  width: 100%;
  min-height: 44px;
  gap: var(--dk-space-md);
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dk-color-ink);
  text-align: left;
}

:is(.page-family--guide, .page-family--interviews) .ap__toggle-title {
  margin: 0;
  color: var(--dk-color-ink);
  font-family: var(--dk-font-text);
  font-size: var(--dk-type-heading-sm);
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.3;
}

:is(.page-family--guide, .page-family--interviews) .js-audioplayer--toggle > .material-icons {
  flex: 0 0 auto;
  color: var(--dk-color-accent);
}

/* Audio player: a compact listening programme, shared by all page families. */
.ap--wrapper {
  overflow: hidden;
  padding: 0 !important;
  border: 1px solid #e0e5ec !important;
  border-radius: .7rem !important;
  background: #f7f8fa !important;
  box-shadow: 0 .9rem 2rem -1.8rem rgba(32, 37, 46, .42) !important;
}

.ap--wrapper .js-audioplayer--toggle {
  display: flex;
  width: 100%;
  min-height: 3.15rem;
  align-items: center;
  justify-content: space-between;
  gap: var(--dk-space-md);
  padding: .7rem .9rem;
  border: 0;
  background: transparent;
  color: var(--dk-color-ink);
  text-align: left;
}

.ap--wrapper .js-audioplayer--toggle[aria-expanded="true"] {
  border-bottom: 0;
}

.ap--wrapper .ap__toggle-title {
  margin: 0;
  color: inherit;
  font-family: var(--dk-font-text);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: -.015em;
  line-height: 1.3;
}

.ap--wrapper .js-audioplayer--toggle > .material-icons {
  flex: 0 0 auto;
  color: var(--dk-color-accent);
  transition: transform var(--dk-duration-fast) ease;
}

.ap--wrapper .js-audioplayer--toggle[aria-expanded="true"] > .material-icons {
  transform: rotate(180deg);
}

.ap__player {
  display: grid !important;
  height: 0 !important;
  max-height: 0 !important;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  overflow: hidden;
  margin: 0 .65rem;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  visibility: hidden;
  transition:
    max-height var(--dk-duration-slow) cubic-bezier(.22, 1, .36, 1),
    opacity var(--dk-duration-fast) ease;
}

.ap__player.is-open {
  height: auto !important;
  max-height: 90rem !important;
  gap: .8rem;
  margin-bottom: .65rem;
  padding: 0;
  opacity: 1;
  visibility: visible;
}

.ap__controls,
.ap__controls--wrapper,
.ap__playlist--wrapper {
  min-width: 0;
}

.ap__controls {
  display: grid;
  grid-template-areas:
    "now now"
    "transport volume"
    "timeline timeline";
  grid-template-columns: max-content minmax(7rem, 1fr);
  gap: .55rem .8rem;
  align-items: center;
}

.ap__control-helper-for-safari {
  margin: 0 !important;
}

.ap__eyebrow {
  display: block;
  margin-bottom: .28rem;
  color: var(--dk-color-muted);
  font-size: .625rem;
  font-weight: 600;
  letter-spacing: .11em;
  line-height: 1.2;
  text-transform: uppercase;
}

.ap__now-playing {
  grid-area: now;
  min-height: 0;
  padding: .05rem 0 .2rem;
  border: 0;
}

.ap__controls--song-name {
  color: var(--dk-color-muted);
  font-family: var(--dk-font-text);
  font-size: .9rem;
  font-weight: 450;
  letter-spacing: -.008em;
  line-height: 1.35;
}

.ap__controls--wrapper,
.ap__playlist--wrapper {
  padding: .65rem .7rem;
  border: 1px solid #e1e6ed;
  border-radius: .5rem;
  background: rgba(80, 106, 131, .055);
}

.ap__transport {
  grid-area: transport;
  display: flex;
  align-items: center;
  gap: .25rem;
}

.ap__transport button,
.ap__volume button {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dk-color-text);
}

.ap__transport-primary {
  position: relative;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 50% !important;
  background: var(--dk-color-ink) !important;
  box-shadow: 0 .45rem .9rem -.55rem rgba(32, 37, 46, .75);
  color: var(--dk-color-paper) !important;
}

.ap__transport-primary > .material-icons {
  position: absolute;
  font-size: 1.35rem;
}

.ap__transport-primary.is-paused .pause,
.ap__transport-primary.is-playing .play {
  opacity: 0;
  visibility: hidden;
}

.ap__transport-primary.is-paused .play,
.ap__transport-primary.is-playing .pause {
  opacity: 1;
  visibility: visible;
}

.ap__transport-secondary {
  width: 1.75rem;
  height: 1.75rem;
  border-radius: 50% !important;
}

.ap__transport-secondary > .material-icons {
  font-size: 1.1rem;
}

.ap__transport button:hover,
.ap__transport button:focus-visible,
.ap__volume button:hover,
.ap__volume button:focus-visible {
  color: var(--dk-color-accent);
}

.ap__transport-primary:hover,
.ap__transport-primary:focus-visible {
  background: var(--dk-color-accent) !important;
  color: var(--dk-color-paper) !important;
}

.ap__timeline {
  grid-area: timeline;
  display: grid;
  grid-template-columns: auto minmax(4rem, 1fr) auto;
  align-items: center;
  gap: .5rem;
}

.ap__controls--duration-current,
.ap__controls--duration-total {
  color: var(--dk-color-muted);
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
  line-height: 1;
}

.ap__controls--duration-slider {
  position: relative;
  height: 1.1rem;
}

.ap--wrapper progress,
.ap--wrapper input[type="range"] {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  width: 100%;
  margin: 0;
  transform: translateY(-50%);
}

.ap--wrapper progress {
  height: 2px;
  border: 0;
  background: transparent;
}

.ap--wrapper progress::-webkit-progress-bar {
  height: 2px;
  background: var(--dk-color-rule) !important;
}

.ap--wrapper progress.ap__progress-buffered::-webkit-progress-value {
  height: 2px;
  background: #aeb8c5 !important;
}

.ap--wrapper progress.ap__progress-played::-webkit-progress-value {
  height: 2px;
  background: var(--dk-color-accent) !important;
}

.ap--wrapper progress.ap__progress-buffered::-moz-progress-bar {
  height: 2px;
  background: #aeb8c5 !important;
}

.ap--wrapper progress.ap__progress-played::-moz-progress-bar {
  height: 2px;
  background: var(--dk-color-accent) !important;
}

.ap--wrapper input[type="range"] {
  z-index: 2;
  height: 1.1rem;
  appearance: none;
  background: transparent;
}

.ap--wrapper input[type="range"]::-webkit-slider-runnable-track {
  height: 2px;
  border: 0;
  background: transparent;
}

.ap--wrapper input[type="range"]::-webkit-slider-thumb {
  width: .72rem;
  height: .72rem;
  margin-top: -.32rem;
  border: 2px solid var(--dk-color-paper);
  border-radius: 50%;
  background: var(--dk-color-ink);
  box-shadow: 0 0 0 1px rgba(32, 37, 46, .18);
  transform: none;
  appearance: none;
}

.ap--wrapper input[type="range"]::-moz-range-track {
  height: 2px;
  border: 0;
  background: var(--dk-color-rule);
}

.ap--wrapper input[type="range"]::-moz-range-thumb {
  width: .72rem;
  height: .72rem;
  border: 2px solid var(--dk-color-paper);
  border-radius: 50%;
  background: var(--dk-color-ink);
  box-shadow: 0 0 0 1px rgba(32, 37, 46, .18);
}

.ap__volume {
  grid-area: volume;
  display: grid;
  grid-template-columns: 1.6rem minmax(3.5rem, 6.5rem) 1.1rem;
  align-items: center;
  gap: .3rem;
  justify-self: end;
  width: min(100%, 9.8rem);
}

.ap__volume-mute {
  width: 1.6rem;
  height: 1.6rem;
}

.ap__volume-mute > .material-icons,
.ap__volume-icon {
  font-size: .95rem;
}

.ap__volume-slider {
  position: relative;
  display: block;
  height: 1.1rem;
}

.ap__volume-slider::before {
  position: absolute;
  top: 50%;
  right: 0;
  left: 0;
  height: 2px;
  background: var(--dk-color-rule);
  content: "";
  transform: translateY(-50%);
}

.ap__playlist {
  border: 0;
}

.ap__playlist .ap__track-toggle {
  display: grid !important;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  gap: .5rem;
  width: 100%;
  align-items: start;
  margin: 0 !important;
  padding: .42rem .4rem;
  border: 0;
  border-radius: .35rem;
  color: var(--dk-color-text);
  cursor: pointer;
  text-align: left;
}

.ap__playlist .ap__track-icon {
  position: relative;
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  margin-top: .02rem;
  border-radius: 50%;
  background: var(--dk-color-accent);
  color: var(--dk-color-paper);
}

.ap__playlist .ap__track-toggle .material-icons {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: inherit;
  font-size: .9rem;
  line-height: 1;
  transition: opacity var(--dk-duration-fast) ease;
}

.ap__playlist .ap__track-toggle.is-paused .stop,
.ap__playlist .ap__track-toggle.is-playing .play {
  opacity: 0;
  visibility: hidden;
}

.ap__playlist .ap__track-toggle.is-paused .play,
.ap__playlist .ap__track-toggle.is-playing .stop {
  opacity: 1;
  visibility: visible;
}

.ap__playlist .playlist-song-meta {
  display: block;
  min-width: 0;
  text-align: left;
}

.ap__playlist .playlist-song-name {
  display: block;
  color: var(--dk-color-ink);
  font-size: .8rem;
  font-weight: 500;
  line-height: 1.25;
}

.ap__playlist .playlist-artist-album {
  display: block;
  margin-top: .15rem;
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  line-height: 1.3;
  white-space: pre-wrap;
}

.ap__playlist .ap__track-toggle + .ap__track-toggle {
  margin-top: .2rem !important;
}

.ap__playlist .ap__track-toggle:hover,
.ap__playlist .ap__track-toggle:focus-visible,
.ap__playlist .is-playing {
  background: rgba(255, 255, 255, .7);
}

.ap__playlist .ap__track-toggle:hover .playlist-song-name,
.ap__playlist .ap__track-toggle:focus-visible .playlist-song-name {
  color: var(--dk-color-accent);
}

@media (min-width: 48rem) {
  .ap__player.is-open {
    grid-template-columns: minmax(0, 1.05fr) minmax(13rem, .95fr);
    gap: .8rem;
  }

}

@media (max-width: 35rem) {
  .ap--wrapper .js-audioplayer--toggle {
    padding-inline: .7rem;
  }

  .ap__player.is-open {
    gap: .7rem;
  }
}

@media (max-width: 22rem) {
  .ap__controls {
    grid-template-areas:
      "now"
      "transport"
      "volume"
      "timeline";
    grid-template-columns: minmax(0, 1fr);
  }

  .ap__volume {
    justify-self: start;
  }
}

.page-family--guide .maxWidth720 > h4 {
  margin: 0 0 var(--dk-space-md);
  font-family: var(--dk-font-text);
  font-size: var(--dk-type-heading-md);
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1.25;
}

.chapter-navigation {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--dk-space-lg);
  width: min(100%, 42rem);
  margin: clamp(3rem, 7vw, 5rem) auto 0;
  padding-top: var(--dk-space-md);
  border-top: 1px solid var(--dk-color-rule);
}

.chapter-navigation__link {
  display: flex;
  min-width: 0;
  min-height: 44px;
  flex-direction: column;
  justify-content: center;
  gap: .2rem;
  color: var(--dk-color-text);
}

.chapter-navigation__link--previous {
  grid-column: 1;
  align-items: flex-start;
}

.chapter-navigation__link--next {
  grid-column: 2;
  align-items: flex-end;
  text-align: right;
}

.chapter-navigation__direction {
  color: var(--dk-color-muted);
  font-size: var(--dk-type-xs);
  font-weight: 500;
  letter-spacing: .08em;
  line-height: 1.2;
  text-transform: uppercase;
}

.chapter-navigation__title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: var(--dk-space-xs);
  font-size: var(--dk-type-sm);
  font-weight: 500;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.chapter-navigation__link--next .chapter-navigation__title {
  justify-content: flex-end;
}

.chapter-navigation__icon {
  flex: 0 0 auto;
  color: var(--dk-color-accent);
  font-size: 1.15rem;
}

.chapter-navigation__icon--previous {
  transform: rotate(90deg);
}

.chapter-navigation__icon--next {
  transform: rotate(270deg);
}

.chapter-navigation__link:hover,
.chapter-navigation__link:focus-visible {
  color: var(--dk-color-accent);
}

.landing-intro__name {
  margin-bottom: .6rem;
  color: var(--dk-color-ink);
  font-family: var(--dk-font-display);
  font-size: clamp(3rem, 3.1vw, 4rem);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: .98;
  text-wrap: balance;
}

.landing-intro__tagline {
  color: var(--dk-color-muted);
  font-family: var(--dk-font-text);
  font-size: clamp(.72rem, .72vw, .86rem);
  font-weight: 500;
  letter-spacing: .14em;
  line-height: 1.6;
  text-transform: uppercase;
}

.material-icons {
  font-family: "Material Icons";
  font-weight: normal;
  font-style: normal;
  font-size: 24px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
}

:focus {
  outline: none !important;
}

:focus-visible {
  outline: 2px solid var(--dk-focus-ring-color) !important;
  outline-offset: 3px !important;
}

:is(button, input, select, textarea, summary, [role="button"]):focus {
  outline: none !important;
}

:is(button, input, select, textarea, summary, [role="button"]):focus-visible {
  outline: none !important;
  box-shadow: 0 0 0 2px var(--dk-focus-ring-color) !important;
}

::selection {
  background: var(--dk-color-ink);
  color: var(--dk-color-paper);
}

@media (max-width: 1023.98px) {
  html,
  body {
    overflow-x: clip;
  }

  .site-shell--subpage::before {
    position: fixed;
    z-index: 9;
    inset: 0 0 auto;
    height: 4.5rem;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 .85rem 1.5rem -1.45rem rgba(32, 37, 46, .3);
    content: "";
    backdrop-filter: blur(10px);
  }

  .site-shell--subpage > .site-brand {
    position: fixed;
    top: .75rem;
  }

  .site-shell--subpage .site-shell__content > #content {
    padding-top: 4.5rem !important;
  }

  #navigation.site-navigation {
    --dk-focus-ring-color: rgba(255, 255, 255, .72);
    position: fixed;
    inset: 0 0 0 auto;
    width: var(--dk-navigation-panel-width) !important;
    min-height: 100vh;
    min-height: 100dvh;
    max-height: 100vh;
    max-height: 100dvh;
    background: var(--dk-color-ink);
    box-shadow: -1rem 0 2rem rgba(20, 25, 32, .18);
    transform: translateX(100%);
    transition: transform var(--dk-duration-slow) cubic-bezier(.22, 1, .36, 1);
  }

  #navigation.site-navigation.active {
    transform: translateX(0);
  }

  #navigation .inner-container {
    padding-inline: 12px;
  }

  #navigation ul.list-level-root {
    padding-inline: 16px;
  }

  #navigation,
  #navigation a,
  #navigation .submenu-header,
  #navigation .menu-meta,
  #navigation .menu-meta a,
  #navigation .menu-meta span {
    color: #c3ccd8;
  }

  #navigation .use-hover-with-pseudo::before {
    background-color: var(--dk-color-accent);
  }

  #navigation .menu-meta .imprint {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: .12rem;
    font-size: clamp(.58rem, 2.35vw, .68rem);
    white-space: nowrap;
  }

  #navigation .menu-meta .imprint a,
  #navigation .menu-meta .spacer-horizontal {
    width: auto;
    flex: 0 0 auto;
    font-size: inherit;
    overflow-wrap: normal;
  }

  #navigation .menu-meta .spacer-horizontal {
    padding-inline: .08rem;
  }

  #navigation li i::before,
  #navigation li i::after {
    background-color: #c3ccd8;
  }

  #toggle-nav.navigation-toggle {
    position: fixed;
    z-index: 13;
  }

  #toggle-nav.navigation-toggle.active {
    transform: translateX(calc(1px - var(--dk-navigation-panel-width)));
  }

  .landing-intro__name {
    font-size: clamp(2.55rem, 11vw, 3.35rem);
    letter-spacing: -.025em;
  }

  .landing-intro__tagline {
    font-size: .7rem;
    letter-spacing: .1em;
  }

  main > header.mb-10 h1.text-5xl {
    font-size: clamp(2rem, 8vw, 2.65rem);
  }
}

@media (max-width: 479.98px) {
  .privacy-consent-center__panel {
    right: .5rem;
    bottom: .5rem;
    left: .5rem;
    width: calc(100% - 1rem);
    max-height: calc(100dvh - 1rem);
  }

  .privacy-consent-center__header {
    gap: var(--dk-space-sm);
  }

  .privacy-service {
    grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    gap: var(--dk-space-xs) var(--dk-space-sm);
    padding-block: .7rem;
  }

  .privacy-service__description {
    font-size: .68rem;
  }

  .privacy-service__state {
    display: none;
  }

  .privacy-consent-center__footer,
  .privacy-consent-center__actions {
    align-items: stretch;
  }

  .privacy-consent-center__actions {
    width: 100%;
  }

  .privacy-consent-center__actions .consent-button {
    flex: 1 1 calc(50% - .55rem);
  }

  .privacy-consent-center__actions .consent-button--primary {
    flex-basis: 100%;
  }

  .consent-embed__placeholder {
    padding: .85rem;
  }

  .consent-embed__placeholder::before,
  .consent-embed__eyebrow,
  .consent-embed__policy {
    display: none;
  }

  .consent-embed__copy {
    margin-block: .3rem .55rem;
    line-height: 1.35;
  }

  .download-item__link {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--dk-space-sm);
  }

  .download-item__action {
    min-height: 2rem;
    padding: var(--dk-space-sm) 0 0;
    border-top: 1px solid var(--dk-color-rule);
    border-left: 0;
  }

  .chapter-navigation {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }

  .chapter-navigation__link--previous,
  .chapter-navigation__link--next {
    grid-column: 1;
    padding-block: var(--dk-space-sm);
  }

  .chapter-navigation__link--previous + .chapter-navigation__link--next {
    border-top: 1px solid var(--dk-color-rule);
  }
}

@media (min-width: 540px) and (max-width: 1023.98px) {
  :root {
    --dk-navigation-panel-width: min(50vw, 24rem);
  }
}

@media (min-width: 1180px) {
  .catalog-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(14rem, 16rem);
    gap: clamp(2rem, 4vw, 3.5rem);
    align-items: start;
  }

  .catalog-layout__main,
  .catalog-layout__filters {
    order: initial;
  }

  .catalog-disclosures {
    grid-template-columns: minmax(0, 1fr);
  }

  .main:not(:has(#filterComposition)) > header.mb-10 h1.text-5xl {
    font-size: clamp(1.65rem, 1.75vw, 2rem);
    line-height: 1.08;
  }
}

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

@media print {
  .privacy-consent-center {
    display: none !important;
  }
}
