/* Public pages keep native scrolling while hiding the visual scrollbar track. */
.content-dialog, .content-dialog *, .lightbox, .lightbox * { scrollbar-width: none !important; }
.content-dialog::-webkit-scrollbar, .content-dialog *::-webkit-scrollbar, .lightbox::-webkit-scrollbar, .lightbox *::-webkit-scrollbar { display: none; width: 0; height: 0; }
.content-dialog {
  --dialog-gutter: 52px;
  width: min(1120px, calc(100% - 40px));
  max-width: calc(100% - 40px);
  padding: 48px var(--dialog-gutter) 46px;
  scrollbar-width: none;
}
.content-dialog:has(> .dialog-content) { padding: 0; }
.content-dialog > .dialog-content { padding: 34px var(--dialog-gutter) 46px; }
.content-dialog:is(#ueber-uns, .legal-dialog) > .dialog-content {
  max-width: calc(78ch + 2 * var(--dialog-gutter));
  margin-inline: auto;
  font-family: var(--sans);
}
.content-dialog .dialog-toolbar { padding-inline: 26px; }
.content-dialog .dialog-signature { min-width: 0; }
.content-dialog .dialog-kicker { margin-bottom: 14px; }
.content-dialog > .dialog-content > h2 { margin-bottom: 28px; line-height: 1.08; }
.content-dialog .prose,
.content-dialog .dialog-intro {
  max-width: 65ch;
  font: 16px/1.85 var(--sans);
  overflow-wrap: anywhere;
}
.content-dialog .dialog-intro { margin-bottom: 30px; }
.contact-dialog .contact-personal-note { margin-top: 26px; padding-top: 20px; border-top: 1px solid #bdcbb266; color: var(--muted); }
.content-dialog .prose > :first-child,
.content-dialog .dialog-intro > :first-child { margin-top: 0; }
.content-dialog .prose > :last-child,
.content-dialog .dialog-intro > :last-child { margin-bottom: 0; }
.content-dialog .prose p + p,
.content-dialog .dialog-intro p + p { margin-top: 1.15em; }
.content-dialog .prose :is(ul, ol) { margin-block: 1.15em; padding-left: 1.4em; }
.content-dialog .prose li + li { margin-top: .45em; }
.content-dialog .prose :is(h2, h3, h4) { margin: 1.4em 0 .6em; line-height: 1.15; }
.content-dialog > .dialog-content > p:not(.dialog-kicker):not(.news-dialog-date) {
  max-width: 65ch;
  font: 16px/1.85 var(--sans);
  overflow-wrap: anywhere;
}
.content-dialog#ueber-uns .prose,
.content-dialog.legal-dialog .prose { max-width: 78ch; }
.content-dialog > .button,
.content-dialog > .dialog-content > .button { margin-top: 28px; }
.content-dialog .club-note { margin-top: 34px; padding-top: 30px; }
.content-dialog .club-note > h3 { margin: 0 0 22px; font-size: 34px; line-height: 1.12; }
.content-dialog .club-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 32px;
  margin: 0 0 24px;
}
.content-dialog .club-facts > div { min-width: 0; }
.content-dialog .club-facts dt { margin-bottom: 6px; line-height: 1.6; }
.content-dialog .club-facts dd { font-size: 15px; line-height: 1.7; overflow-wrap: anywhere; }
.about-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 310px);
  align-items: start;
  gap: 32px;
}
.about-layout > .about-story { min-width: 0; }
.about-layout.about-layout--text-only { grid-template-columns: minmax(0, 1fr); gap: 0; }
#ueber-uns .about-layout { position: relative; isolation: isolate; }
#ueber-uns .about-layout::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -35px -12px -35px 18%;
  pointer-events: none;
  background-image: url("retouched/family-cutout.webp?v=restored-20261030");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: contain;
  opacity: .46;
}
#ueber-uns .about-layout::after { content: ''; position: absolute; z-index: 0; left: 0; bottom: 0; width: 29%; height: 18%; background: left bottom / contain no-repeat url('illustrations/sleeping-cat.webp'); opacity: .16; pointer-events: none; }
#ueber-uns .about-story {
  position: relative;
  z-index: 1;
  isolation: isolate;
  line-height: 1.85;
  text-shadow: none;
}
#ueber-uns .about-story::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: -18px -20px;
  border-radius: 28px;
  background: linear-gradient(105deg, #fffaf0ed 0%, #fffaf0bf 52%, #fffaf070 100%);
  filter: blur(14px);
  pointer-events: none;
}
#ueber-uns .about-story > p + p { margin-top: 1.2em; }
#ueber-uns .about-story > p:first-child {
  max-width: 42ch;
  color: var(--ink);
  font: 23px/1.4 var(--serif);
  letter-spacing: -.015em;
  margin-bottom: 1em;
}
#ueber-uns .about-story > p:last-child {
  color: var(--ink);
  font: 23px/1.4 var(--serif);
  letter-spacing: -.015em;
  padding-top: .35em;
}
.about-layout > .family-group {
  align-self: start;
  width: 100%;
  margin: 0;
}
@media (max-width: 800px) {
  .content-dialog { --dialog-gutter: 36px; }
  .about-layout { grid-template-columns: minmax(0, 1fr) 250px; gap: 28px; }
}
@media (max-width: 700px) {
  .about-layout { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .about-layout > .family-group { grid-row: 1; justify-self: center; width: min(100%, 340px); }
}
@media (max-width: 600px) {
  .content-dialog { --dialog-gutter: 24px; width: calc(100% - 16px); max-width: calc(100% - 16px); padding-block: 42px 34px; }
  .content-dialog:has(> .dialog-content) { padding: 0; }
  .content-dialog > .dialog-content { padding-block: 28px 34px; }
  .content-dialog .dialog-toolbar { padding-inline: 17px; }
  .content-dialog > .dialog-content > h2 { margin-bottom: 24px; }
  .content-dialog .prose,
  .content-dialog .dialog-intro,
  .content-dialog > .dialog-content > p:not(.dialog-kicker):not(.news-dialog-date) { font-size: 15px; line-height: 1.85; }
  .content-dialog .club-note { margin-top: 30px; padding-top: 26px; }
  .content-dialog .club-note > h3 { font-size: 31px; margin-bottom: 20px; }
  #ueber-uns .about-layout::before { inset: 0 -16px 0 -12px; background-size: contain; background-position: right center; opacity: .34; }
  #ueber-uns .about-layout::after { width: 42%; height: 13%; opacity: .12; }
  #ueber-uns .about-story::before { inset: -12px -10px; background: #fffaf0b8; filter: blur(10px); }
  #ueber-uns .about-story > p:first-child,
  #ueber-uns .about-story > p:last-child { font-size: 21px; }
  .content-dialog .club-facts { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .content-dialog > .button,
  .content-dialog > .dialog-content > .button { margin-top: 26px; }
}
