/*
 * Public Design System 0.32.37
 * Ergänzende, rein visuelle Ebene. Inhalte, Bilder und redaktionelle Abläufe
 * bleiben unverändert und werden bewusst nicht über CSS verborgen oder ersetzt.
 */

body.public-site {
  --modern-ink: #172820;
  --modern-muted: #5b6b62;
  --modern-line: rgba(18, 61, 43, .14);
  --modern-paper: #f8f8f4;
  --modern-soft: #edf4ee;
  --modern-radius-sm: 12px;
  --modern-radius: 20px;
  --modern-radius-lg: 30px;
  --modern-shadow: 0 14px 40px rgba(12, 43, 30, .10);
  --modern-shadow-hover: 0 20px 52px rgba(12, 43, 30, .16);
  --modern-ui: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --modern-gutter: clamp(16px, 3.2vw, 38px);
  --modern-section: clamp(42px, 7vw, 92px);
  color: var(--modern-ink);
  background-color: var(--paper, var(--modern-paper));
  font-family: var(--site-font, var(--modern-ui));
  line-height: 1.62;
  text-rendering: optimizeLegibility;
}

body.public-site :where(h1, h2, h3, h4) {
  font-family: var(--modern-ui);
  font-weight: 760;
  letter-spacing: -.036em;
  line-height: 1.08;
  text-wrap: balance;
}

body.public-site :where(p, li) { text-wrap: pretty; }
body.public-site :where(a) { text-underline-offset: .16em; }
body.public-site :where(img) { max-width: 100%; }
body.public-site .container { padding-inline: var(--modern-gutter); }

body.public-site :where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--gold, #bd912f);
  outline-offset: 3px;
}

body.public-site .site-utility {
  border-bottom-color: rgba(255, 255, 255, .18);
  letter-spacing: .045em;
}

body.public-site .site-header {
  border-bottom: 1px solid var(--modern-line);
  box-shadow: 0 8px 22px rgba(11, 42, 29, .035);
}

body.public-site .site-brand { min-width: 0; }
body.public-site .site-logo {
  box-shadow: 0 6px 16px rgba(12, 43, 30, .10);
  border-radius: 50%;
}

body.public-site .site-headline {
  min-width: 0;
  font-family: var(--modern-ui);
  font-size: clamp(.98rem, 1.4vw, 1.18rem);
  font-weight: 780;
  letter-spacing: -.025em;
}

body.public-site .site-nav > a,
body.public-site .site-nav > details > summary {
  min-height: 42px;
  border-radius: 999px;
  font-family: var(--modern-ui);
  font-size: .81rem;
  font-weight: 760;
  letter-spacing: -.01em;
  transition: color .18s ease, background-color .18s ease, transform .18s ease;
}

body.public-site .site-nav > a:hover,
body.public-site .site-nav > details > summary:hover {
  color: var(--green, #0d684d);
  background: rgba(13, 104, 77, .08);
  transform: translateY(-1px);
}

body.public-site .site-nav > a.active {
  background: var(--green, #0d684d);
  color: #fff;
  box-shadow: 0 7px 16px rgba(13, 104, 77, .22);
}

body.public-site .site-subnav-shell {
  border-bottom-color: rgba(170, 126, 38, .48);
  box-shadow: 0 6px 18px rgba(15, 46, 32, .04);
}

body.public-site .site-subnav a {
  min-height: 38px;
  border-radius: 10px 10px 0 0;
  font-family: var(--modern-ui);
  font-size: .78rem;
  font-weight: 750;
}

body.public-site .site-menu-toggle {
  border-color: var(--modern-line);
  border-radius: 50%;
  box-shadow: 0 6px 16px rgba(12, 43, 30, .08);
}

body.public-site .btn,
body.public-site .button,
body.public-site button[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 999px;
  font-family: var(--modern-ui);
  font-size: .86rem;
  font-weight: 780;
  letter-spacing: -.01em;
  transition: transform .18s ease, box-shadow .18s ease, background-color .18s ease;
}

body.public-site .btn:hover,
body.public-site .button:hover,
body.public-site button[type="submit"]:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 22px rgba(12, 43, 30, .16);
}

body.public-site .btn.outline {
  border-width: 1.5px;
  background: transparent;
}

body.public-site .card,
body.public-site .refresh-news-card,
body.public-site .builder-post-card,
body.public-site .builder-event-card,
body.public-site .builder-person,
body.public-site .builder-download,
body.public-site .builder-tabs {
  border-color: var(--modern-line);
  border-radius: var(--modern-radius);
  box-shadow: 0 8px 25px rgba(11, 42, 29, .055);
}

body.public-site .refresh-hero {
  padding-block: clamp(18px, 3vw, 38px) clamp(32px, 5vw, 66px);
}

body.public-site .refresh-hero-stage {
  overflow: clip;
  border-radius: var(--modern-radius-lg);
  box-shadow: var(--modern-shadow);
}

body.public-site .refresh-hero-copy {
  max-width: 710px;
  padding: clamp(24px, 4.5vw, 58px);
}

body.public-site .refresh-hero-copy h1 {
  max-width: 12ch;
  font-size: clamp(2.6rem, 5vw, 5.55rem);
  letter-spacing: -.055em;
}

body.public-site .refresh-hero-copy p {
  max-width: 58ch;
  color: rgba(255, 255, 255, .89);
  font-size: clamp(.96rem, 1.25vw, 1.08rem);
}

body.public-site .refresh-spotlight,
body.public-site .refresh-quick-card,
body.public-site .refresh-community-card {
  border-radius: var(--modern-radius);
  box-shadow: 0 10px 28px rgba(12, 43, 30, .07);
}

body.public-site .refresh-quick-card,
body.public-site .refresh-community-card {
  border-color: var(--modern-line);
  background: rgba(255, 255, 255, .90);
}

body.public-site .refresh-news-head,
body.public-site .page-heading,
body.public-site .builder-section-head {
  gap: clamp(14px, 2vw, 28px);
}

body.public-site .refresh-news-head h2,
body.public-site .page-heading h1,
body.public-site .builder-section-head h2 {
  font-size: clamp(1.85rem, 3.4vw, 3.25rem);
}

body.public-site .refresh-news-grid {
  gap: clamp(16px, 2.4vw, 28px);
}

body.public-site .refresh-news-card,
body.public-site .builder-post-card {
  overflow: hidden;
  background: rgba(255, 255, 255, .96);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

body.public-site .refresh-news-card:hover,
body.public-site .builder-post-card:hover {
  border-color: rgba(13, 104, 77, .28);
  box-shadow: var(--modern-shadow-hover);
  transform: translateY(-4px);
}

body.public-site .refresh-news-media,
body.public-site .builder-post-card > img {
  background: var(--modern-soft);
}

body.public-site .refresh-news-body { padding: clamp(19px, 2.5vw, 30px); }
body.public-site .refresh-news-card.is-featured .refresh-news-body { padding: clamp(23px, 3vw, 36px); }
body.public-site .refresh-news-meta { gap: 8px; color: var(--modern-muted); }
body.public-site .refresh-news-meta span { letter-spacing: .045em; }
body.public-site .refresh-news-body h3 { font-size: clamp(1.22rem, 2vw, 1.56rem); }
body.public-site .refresh-news-card.is-featured h3 { max-width: 24ch; }
body.public-site .refresh-news-body > p { color: var(--modern-muted); font-size: .95rem; line-height: 1.68; }

body.public-site .refresh-event-list {
  overflow: hidden;
  border: 1px solid var(--modern-line);
  border-radius: var(--modern-radius);
  background: rgba(255, 255, 255, .72);
}

body.public-site .refresh-event-row {
  min-height: 91px;
  padding: 19px clamp(16px, 2.4vw, 28px);
  border-bottom-color: var(--modern-line);
  transition: background-color .18s ease, padding-left .18s ease;
}

body.public-site .refresh-event-row:hover {
  padding-left: calc(clamp(16px, 2.4vw, 28px) + 5px);
  background: rgba(13, 104, 77, .055);
}

body.public-site .refresh-event-day b { font-family: var(--modern-ui); }
body.public-site .refresh-event-main strong { font-family: var(--modern-ui); }

body.public-site .article,
body.public-site .article .card {
  border-radius: var(--modern-radius);
}

body.public-site .article-cover,
body.public-site .page-hero-media {
  overflow: hidden;
  border-radius: var(--modern-radius-lg);
  box-shadow: var(--modern-shadow);
}

body.public-site .builder-output { padding-block: var(--modern-section); }
body.public-site .builder-public-grid { gap: clamp(18px, 2.6vw, 32px); }
body.public-site .builder-public-block h2 { font-size: clamp(1.7rem, 2.8vw, 2.75rem); }

body.public-site .builder-image,
body.public-site .builder-gallery figure,
body.public-site .builder-video,
body.public-site .builder-image-text {
  overflow: hidden;
  border-color: var(--modern-line);
  border-radius: var(--modern-radius);
  box-shadow: 0 8px 25px rgba(11, 42, 29, .055);
}

body.public-site .builder-image-text > div { padding: clamp(22px, 4vw, 48px); }
body.public-site .builder-image-text figure img { object-position: center; }
body.public-site .builder-gallery img { transition: transform .28s ease; }
body.public-site .builder-gallery figure:hover img { transform: scale(1.025); }

body.public-site .builder-callout,
body.public-site .builder-quote,
body.public-site .builder-section {
  border-radius: var(--modern-radius);
}

body.public-site .builder-callout {
  border-left-width: 5px;
  box-shadow: 0 8px 26px rgba(11, 42, 29, .045);
}

body.public-site .builder-quote {
  border-left-width: 5px;
  box-shadow: 0 8px 26px rgba(11, 42, 29, .055);
}

body.public-site .builder-section.tone-light {
  border-color: var(--modern-line);
  box-shadow: 0 10px 28px rgba(11, 42, 29, .045);
}

body.public-site .builder-section.tone-soft { background: var(--modern-soft); }
body.public-site .builder-section-column {
  border: 1px solid rgba(13, 104, 77, .12);
  border-radius: var(--modern-radius-sm);
  box-shadow: 0 6px 18px rgba(11, 42, 29, .045);
}

body.public-site .builder-section-column > img { border-radius: 9px; }

body.public-site .builder-tabs { overflow: hidden; background: rgba(255, 255, 255, .94); }
body.public-site .builder-tab-list { padding: 10px 10px 0; background: var(--modern-soft); }
body.public-site .builder-tab-list button {
  min-height: 42px;
  border-radius: 10px 10px 0 0;
  font-family: var(--modern-ui);
  font-size: .86rem;
}

body.public-site .builder-tab-list button[aria-selected="true"] {
  border-bottom-color: var(--gold, #bd912f);
}

body.public-site .builder-tab-panels { padding: clamp(18px, 3vw, 32px); }

body.public-site .builder-post-card > img { height: 215px; }
body.public-site .builder-post-card > div { padding: 22px; }
body.public-site .builder-post-card h3 { font-size: 1.22rem; }

body.public-site .builder-event-card {
  padding: clamp(16px, 2vw, 22px);
  background: rgba(255, 255, 255, .95);
}

body.public-site .builder-event-card time {
  border-radius: 14px;
  box-shadow: inset 0 -3px 0 rgba(0, 0, 0, .10);
}

body.public-site .builder-download {
  padding: clamp(15px, 2vw, 21px);
  background: rgba(255, 255, 255, .94);
}

body.public-site .builder-file-badge {
  border-radius: 12px;
  font-family: var(--modern-ui);
}

body.public-site .builder-people { gap: clamp(15px, 2vw, 24px); }
body.public-site .builder-person {
  overflow: hidden;
  background: rgba(255, 255, 255, .96);
  transition: transform .22s ease, box-shadow .22s ease;
}

body.public-site .builder-person:hover {
  transform: translateY(-3px);
  box-shadow: var(--modern-shadow);
}

/* Personenfotos werden nie neu zugeordnet; der Ausschnitt beginnt oben statt Gesichter zu beschneiden. */
body.public-site .builder-person > img,
body.public-site .builder-person-placeholder {
  height: 248px;
  object-position: center top;
  background: var(--modern-soft);
}

body.public-site .builder-person > div { padding: 20px; }
body.public-site .builder-person h3 { font-size: 1.24rem; }
body.public-site .builder-person-role { color: var(--green, #0d684d); }

body.public-site .builder-accordion details {
  border-color: var(--modern-line);
  border-radius: 14px;
  background: rgba(255, 255, 255, .94);
}

body.public-site .builder-accordion summary { min-height: 58px; padding-block: 18px; }
body.public-site .builder-accordion details[open] summary { background: var(--modern-soft); }

body.public-site .page-title-section {
  border-bottom-width: 3px;
  background: linear-gradient(135deg, var(--modern-soft), rgba(255, 255, 255, .96));
}

body.public-site .page-title-section h1 { max-width: 18ch; }

@media (max-width: 1040px) {
  body.public-site .site-nav {
    left: 50%;
    right: auto;
    width: min(680px, calc(100vw - 28px));
    max-height: min(72vh, 620px);
    border: 1px solid var(--modern-line);
    border-radius: 0 0 var(--modern-radius) var(--modern-radius);
    box-shadow: var(--modern-shadow-hover);
    transform: translateX(-50%);
  }

  body.public-site .site-nav > a,
  body.public-site .site-nav > details > summary {
    min-height: 48px;
    border-radius: 12px;
  }
}

@media (max-width: 760px) {
  body.public-site {
    --modern-radius: 16px;
    --modern-radius-lg: 22px;
  }

  body.public-site .site-utility { font-size: .62rem; }
  body.public-site .site-headline { font-size: .9rem; }
  body.public-site .refresh-hero-copy h1 { max-width: 10.5ch; }
  body.public-site .refresh-hero-stage { min-height: 480px; }
  body.public-site .refresh-news-card.is-featured h3 { font-size: 1.55rem; }
  body.public-site .refresh-event-row:hover { padding-left: 16px; }
  body.public-site .builder-output { padding-block: 38px; }
  body.public-site .builder-image-text > div { padding: 24px; }
  body.public-site .builder-person > img,
  body.public-site .builder-person-placeholder { height: 225px; }
  body.public-site .builder-people.style-compact .builder-person > img,
  body.public-site .builder-people.style-compact .builder-person-placeholder { height: 100%; object-position: center top; }
  body.public-site .btn,
  body.public-site .button,
  body.public-site button[type="submit"] { min-height: 46px; }
}

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

@media (prefers-contrast: more) {
  body.public-site .card,
  body.public-site .refresh-news-card,
  body.public-site .builder-post-card,
  body.public-site .builder-event-card,
  body.public-site .builder-person,
  body.public-site .builder-download,
  body.public-site .builder-tabs { border-width: 2px; }
}

@media print {
  body.public-site {
    color: #000;
    background: #fff !important;
  }

  body.public-site .refresh-hero-stage,
  body.public-site .article-cover,
  body.public-site .page-hero-media,
  body.public-site .card,
  body.public-site .refresh-news-card,
  body.public-site .builder-post-card,
  body.public-site .builder-event-card,
  body.public-site .builder-person,
  body.public-site .builder-download,
  body.public-site .builder-tabs {
    box-shadow: none !important;
  }
}
\n\n/* 0.32.38 – Responsive polish: robust grids, touch targets and long-content handling. */
body.public-site :where(.card,.refresh-news-card,.builder-post-card,.builder-event-card,.builder-person,.builder-download,.builder-section-column) {
  min-width: 0;
}
body.public-site :where(.card,.refresh-news-card,.builder-post-card,.builder-event-card,.builder-person,.builder-download) {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
@media (hover:hover) and (pointer:fine) {
  body.public-site :where(.card,.refresh-news-card,.builder-post-card,.builder-event-card,.builder-download):hover {
    transform: translateY(-2px);
    box-shadow: var(--modern-shadow-hover);
  }
}
body.public-site :where(h1,h2,h3,h4,p,a,li,figcaption,.builder-person-role) {
  overflow-wrap: anywhere;
}
body.public-site :where(img,video,iframe) { max-width: 100%; }
body.public-site :where(.btn,.button,button[type="submit"],input[type="submit"]) {
  min-height: 44px;
  align-items: center;
  justify-content: center;
  text-wrap: balance;
}
body.public-site :where(input,select,textarea,button) { font: inherit; }
body.public-site :where(input,select,textarea):focus-visible {
  outline: 3px solid color-mix(in srgb, var(--gold, #bd912f) 72%, white);
  outline-offset: 2px;
}
body.public-site .builder-gallery { align-items: stretch; }
body.public-site .builder-gallery figure { height: 100%; }
body.public-site .builder-gallery img { width: 100%; height: 100%; object-fit: cover; }
body.public-site .builder-post-card,
body.public-site .builder-person { height: 100%; }
body.public-site .builder-post-card > div,
body.public-site .builder-person > div { min-width: 0; }
@media (max-width:560px) {
  body.public-site .container,
  body.public-site .site-headline,
  body.public-site .site-nav { max-width: calc(100vw - 20px); }
  body.public-site .builder-public-grid,
  body.public-site .builder-people,
  body.public-site .builder-gallery { grid-template-columns: minmax(0,1fr); }
  body.public-site .site-head-actions { gap: 6px; }
  body.public-site .site-head-actions a { min-height: 40px; display:inline-flex; align-items:center; }
}
