/* Friedensprogramm visual layer for Hadron 3 / Quark2 */

:root,
:root[data-theme="light"] {
  --q2-accent: #356F82;
  --q2-accent-contrast: #ffffff;
  --q2-link: #356F82;
  --q2-focus-ring: color-mix(in oklab, #356F82 40%, transparent);

  --q2-bg: #F2F7F6;
  --q2-bg-elev: #FCFDFC;
  --q2-bg-muted: #E6F0EE;

  --q2-text: #4B5C61;
  --q2-text-strong: #294F58;
  --q2-text-muted: #75878B;
  --q2-text-inverse: #ffffff;

  --q2-nav-bg: rgba(252, 253, 252, 0.94);
  --q2-nav-border: rgba(53, 111, 130, 0.12);
  --q2-border-ring: rgba(53, 111, 130, 0.10);
  --q2-border-strong: rgba(53, 111, 130, 0.18);
  --q2-divider: rgba(53, 111, 130, 0.11);

  --pico-h1-color: #294F58;
  --pico-h2-color: #294F58;
  --pico-h3-color: #315E68;
  --pico-h4-color: #315E68;
}

body {
  color: var(--q2-text);
  background: var(--q2-bg);
}

h1,
h2,
h3,
h4,
h5,
h6,
.display,
.h-display {
  color: var(--q2-text-strong);
}

h1 {
  color: #294F58;
}

h2::before {
  background: var(--q2-accent);
}

/* Replace Quark2's black active-navigation pill with the Friedensprogramm accent. */
.dropmenu a.active,
.dropmenu a.active:hover,
body.header-dark:not(.scrolled) #header .dropmenu > ul > li > a.active,
body.header-light:not(.scrolled) #header .dropmenu > ul > li > a.active {
  background: var(--q2-accent);
  color: #ffffff;
}

.dropmenu a:hover:not(.active) {
  background: var(--q2-bg-muted);
  color: var(--q2-text-strong);
}

/* Branding */
.navbar-brand {
  color: var(--q2-text-strong);
  gap: 0.75rem;
}

.navbar-brand img {
  height: 42px;
  width: auto;
}

.navbar-brand .title {
  color: var(--q2-text-strong);
  font-weight: 650;
}

/* Slightly softer page surface and more breathing room. */
#body-wrapper .container > .card,
#body-wrapper article.card {
  background: var(--q2-bg-elev);
  border: 1px solid rgba(53, 111, 130, 0.08);
}

/* Links carry the brand colour without becoming visually loud. */
a:not(.navbar-brand):not(.active) {
  color: var(--q2-link);
}

/* Footer should feel related to the page rather than a grey add-on. */
#footer {
  background: #E6F0EE;
  color: var(--q2-text);
}

/* Mobile menu */
.overlay {
  background: var(--q2-bg-elev);
}

.overlay .overlay-menu a.active {
  color: var(--q2-accent);
}

@media (max-width: 840px) {
  .navbar-brand img {
    height: 36px;
  }
}

/* --- Friedensprogramm header treatment --- */
#header,
body.header-fixed #header,
body.header-animated #header,
body.scrolled #header {
  background: #356F82 !important;
  border-bottom: 0 !important;
  box-shadow: 0 2px 10px rgba(20, 58, 68, 0.12);
}

#header .navbar-brand,
#header .navbar-brand .title,
#header .navbar-brand a,
#header .dropmenu > ul > li > a,
#header .dropmenu a {
  color: #ffffff !important;
}

#header .navbar-brand .title {
  font-size: 1.42rem;
  line-height: 1.1;
  font-weight: 700;
  letter-spacing: 0.01em;
}

#header .dropmenu > ul > li > a {
  font-size: 1.08rem;
  font-weight: 600;
  letter-spacing: 0.005em;
  border-radius: 0.45rem;
}

#header .dropmenu a.active,
#header .dropmenu a.active:hover {
  background: rgba(255,255,255,0.20) !important;
  color: #ffffff !important;
}

#header .dropmenu a:hover:not(.active) {
  background: rgba(255,255,255,0.11) !important;
  color: #ffffff !important;
}

/* Turn any monochrome/brand-coloured uploaded logo into white in the coloured header. */
#header .navbar-brand img,
#header .logo img {
  height: 54px;
  width: auto;
  max-width: 88px;
  filter: brightness(0) invert(1);
  opacity: 1;
}

/* Quark/Hadron mobile hamburger on the coloured header. */
.mobile-menu .button_container span {
  background: #ffffff !important;
}

/* Mobile overlay keeps the brand colour and readable white navigation. */
.overlay {
  background: #356F82;
}
.overlay .overlay-menu a,
.overlay .navbar-brand,
.overlay .navbar-brand .title {
  color: #ffffff !important;
}
.overlay .mobile-logo img {
  filter: brightness(0) invert(1);
}

@media (max-width: 840px) {
  #header .navbar-brand .title {
    font-size: 1.24rem;
  }
  #header .navbar-brand img,
  #header .logo img {
    height: 46px;
    max-width: 74px;
  }
}



/* --- v1.2: clearer logo badge + more open typography --- */
:root,
:root[data-theme="light"] {
  --pico-font-family-display: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --pico-font-family-sans-serif: Inter, "Segoe UI", Roboto, Arial, sans-serif;
}

html,
body,
button,
input,
select,
textarea,
.navbar,
.dropmenu,
#header,
#footer {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
.display,
.h-display {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  letter-spacing: -0.015em;
}

#header .navbar-brand .title {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1.58rem;
  font-weight: 650;
  letter-spacing: -0.015em;
}

#header .dropmenu > ul > li > a {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 1.1rem;
  font-weight: 550;
  letter-spacing: 0;
}

/* Keep the original blue-green dove and give it a white circular field. */
#header .navbar-brand img,
#header .logo img {
  width: 64px;
  height: 64px;
  max-width: 64px;
  object-fit: contain;
  box-sizing: border-box;
  padding: 9px;
  background: #ffffff;
  border-radius: 50%;
  filter: none !important;
  opacity: 1;
  box-shadow: 0 0 0 1px rgba(255,255,255,.25), 0 2px 8px rgba(20,58,68,.16);
}

/* Some Hadron logo settings add an invert-color class; do not invert our badge. */
#header .navbar-brand img.invert-color,
#header .logo img.invert-color,
html[data-theme="light"] #header .navbar-brand img.invert-color,
html[data-theme="dark"] #header .navbar-brand img.invert-color {
  filter: none !important;
}

@media (max-width: 840px) {
  #header .navbar-brand .title {
    font-size: 1.34rem;
  }

  #header .navbar-brand img,
  #header .logo img {
    width: 54px;
    height: 54px;
    max-width: 54px;
    padding: 8px;
  }
}


/* --- v1.3: restore readable heading weight and strengthen the dove --- */
h1,
.display,
.h-display {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.025em !important;
}

h1 {
  font-size: clamp(2.65rem, 5vw, 4.15rem) !important;
}

h2,
h3,
h4 {
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  font-weight: 600 !important;
}

#header .navbar-brand img,
#header .logo img {
  width: 70px;
  height: 70px;
  max-width: 70px;
  padding: 6px;
}

@media (max-width: 840px) {
  h1 {
    font-size: clamp(2.2rem, 9vw, 3.1rem) !important;
  }
  #header .navbar-brand img,
  #header .logo img {
    width: 58px;
    height: 58px;
    max-width: 58px;
    padding: 5px;
  }
}


/* --- v1.4: logo outline and badge visibility --- */
#header .navbar-brand img,
#header .logo img {
  width: 78px;
  height: 78px;
  max-width: 78px;
  padding: 4px;
  background: #ffffff;
  border-radius: 50%;
  border: 2px solid rgba(41,79,88,.18);
  box-shadow: 0 3px 10px rgba(20,58,68,.18);
}

@media (max-width: 840px) {
  #header .navbar-brand img,
  #header .logo img {
    width: 64px;
    height: 64px;
    max-width: 64px;
    padding: 4px;
  }
}


/* --- v1.5: readable logo outline + calmer type scale --- */
html,
body {
  font-size: 17px;
}

body,
p,
li,
dd,
dt {
  line-height: 1.65;
}

#body-wrapper p,
#body-wrapper li {
  font-size: 1.06rem;
}

h1,
.display,
.h-display {
  font-size: clamp(2.25rem, 3.8vw, 3.25rem) !important;
  line-height: 1.12 !important;
  font-weight: 600 !important;
  letter-spacing: -0.02em !important;
}

h2 {
  font-size: clamp(1.65rem, 2.5vw, 2.05rem) !important;
  line-height: 1.18 !important;
}

#header .navbar-brand img,
#header .logo img {
  width: 76px;
  height: 76px;
  max-width: 76px;
  padding: 4px;
  background: #ffffff;
  border-radius: 50%;
  border: 2px solid #d5e4e8;
  box-shadow: 0 3px 10px rgba(20,58,68,.18);
  filter: none !important;
}

@media (max-width: 840px) {
  html,
  body {
    font-size: 16.5px;
  }
  h1,
  .display,
  .h-display {
    font-size: clamp(2.05rem, 8vw, 2.75rem) !important;
  }
  #header .navbar-brand img,
  #header .logo img {
    width: 62px;
    height: 62px;
    max-width: 62px;
  }
}


/* --- v1.6: use user-provided dove artwork in white circle --- */
#header .navbar-brand img,
#header .logo img {
  width: 80px;
  height: 80px;
  max-width: 80px;
  object-fit: contain;
  padding: 7px;
  background: #ffffff;
  border-radius: 50%;
  border: 2px solid #d5e4e8;
  box-shadow: 0 3px 10px rgba(20,58,68,.18);
  filter: none !important;
}

@media (max-width: 840px) {
  #header .navbar-brand img,
  #header .logo img {
    width: 66px;
    height: 66px;
    max-width: 66px;
    padding: 6px;
  }
}

/* --- v1.7: photographic homepage hero --- */
.fp-hero {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  isolation: isolate;
  background: #dfeceb;
}

.fp-hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 53%;
  z-index: -3;
}

.fp-hero-wash {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(90deg, rgba(25, 67, 74, 0.24) 0%, rgba(25, 67, 74, 0.07) 48%, rgba(25, 67, 74, 0) 76%);
}

.fp-hero-inner {
  min-height: 520px;
  display: flex;
  align-items: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.fp-hero-panel {
  width: min(560px, 88vw);
  padding: clamp(1.6rem, 3vw, 2.35rem);
  background: rgba(255, 255, 255, 0.90);
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 16px;
  box-shadow: 0 14px 40px rgba(30, 70, 78, 0.18);
  backdrop-filter: blur(4px);
}

.fp-hero-kicker {
  margin: 0 0 .55rem;
  color: #356F82;
  font-size: .92rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fp-hero-panel h1 {
  margin: 0 0 1rem;
  max-width: 12ch;
  color: #294F58;
  font-size: clamp(2.15rem, 4vw, 3.15rem) !important;
  line-height: 1.08 !important;
}

.fp-hero-lead {
  margin: 0 0 1.35rem;
  max-width: 44ch;
  color: #44565c;
  font-size: 1.12rem;
  line-height: 1.55;
}

.fp-button {
  display: inline-block;
  padding: .72rem 1.1rem;
  border-radius: .55rem;
  background: #356F82;
  color: #fff !important;
  font-weight: 650;
  text-decoration: none;
  box-shadow: 0 2px 6px rgba(20,58,68,.14);
}

.fp-button:hover,
.fp-button:focus {
  background: #294F58;
  color: #fff !important;
}

.fp-photo-credit {
  position: absolute;
  right: .9rem;
  bottom: .55rem;
  margin: 0;
  padding: .24rem .45rem;
  border-radius: .35rem;
  background: rgba(255,255,255,.78);
  color: #42575e;
  font-size: .72rem;
  line-height: 1.25;
}

.fp-photo-credit a {
  color: #294F58 !important;
}

/* The hero supplies the homepage H1. Suppress an old Markdown H1 if still present. */
.fp-home-content > h1:first-child {
  display: none;
}

.fp-home-content {
  padding-top: .5rem;
}

@media (max-width: 840px) {
  .fp-hero,
  .fp-hero-inner {
    min-height: 430px;
  }
  .fp-hero-inner {
    align-items: flex-end;
    padding: 1.25rem 1rem 2.35rem;
  }
  .fp-hero-panel {
    width: 100%;
    padding: 1.35rem;
    background: rgba(255,255,255,.92);
  }
  .fp-hero-panel h1 {
    max-width: 15ch;
    font-size: clamp(2rem, 8vw, 2.65rem) !important;
  }
  .fp-hero-lead {
    font-size: 1.03rem;
  }
  .fp-photo-credit {
    right: .55rem;
    bottom: .35rem;
    font-size: .65rem;
  }
}

/* --- v1.9: composed homepage --- */
.fp-home {
  --fp-deep: #294F58;
  --fp-accent: #356F82;
  --fp-accent-2: #5E8F86;
  --fp-pale: #EAF3F1;
  --fp-pale-blue: #EDF4F6;
  --fp-ink: #4B5C61;
  color: var(--fp-ink);
}

.fp-section {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  padding: clamp(4rem, 7vw, 6.5rem) 1.25rem;
}

.fp-section-inner {
  width: min(1120px, 100%);
  margin: 0 auto;
}

.fp-section-heading {
  max-width: 760px;
  margin-bottom: 2.25rem;
}

.fp-section-heading h2,
.fp-course-copy h2,
.fp-cta h2 {
  margin: .3rem 0 .85rem;
  color: var(--fp-deep);
  font-size: clamp(1.9rem, 3vw, 2.55rem) !important;
  line-height: 1.16 !important;
}

.fp-section-heading > p:last-child,
.fp-course-copy > p,
.fp-cta p {
  font-size: 1.08rem;
}

.fp-eyebrow {
  margin: 0;
  color: var(--fp-accent);
  font-size: .84rem !important;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.fp-intro {
  background: #ffffff;
}

.fp-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
}

.fp-feature-card {
  position: relative;
  min-height: 240px;
  margin: 0;
  padding: 1.65rem;
  overflow: hidden;
  background: linear-gradient(145deg, #ffffff 0%, #F4F8F7 100%);
  border: 1px solid rgba(53, 111, 130, .12);
  border-radius: 18px;
  box-shadow: 0 10px 26px rgba(31, 77, 87, .07);
}

.fp-feature-card::after {
  content: "";
  position: absolute;
  right: -40px;
  bottom: -55px;
  width: 150px;
  height: 150px;
  border-radius: 50%;
  background: rgba(53, 111, 130, .07);
}

.fp-feature-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.9rem;
  height: 2.9rem;
  margin-bottom: 2rem;
  border-radius: 50%;
  background: var(--fp-accent);
  color: #fff;
  font-size: .86rem;
  font-weight: 750;
}

.fp-feature-card h3 {
  margin: 0 0 .65rem;
  color: var(--fp-deep);
  font-size: 1.45rem !important;
}

.fp-feature-card p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 1rem !important;
  line-height: 1.6;
}

.fp-topics {
  color: #fff;
  background: linear-gradient(135deg, #2F6F7F 0%, #3D7B78 100%);
}

.fp-section-heading-light h2,
.fp-section-heading-light p,
.fp-topics .fp-eyebrow {
  color: #fff !important;
}

.fp-topic-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: .85rem;
}

.fp-topic-card {
  min-height: 136px;
  padding: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 14px;
  background: rgba(255,255,255,.10);
  backdrop-filter: blur(2px);
  transition: transform .18s ease, background .18s ease;
}

.fp-topic-card:nth-child(even) {
  background: rgba(255,255,255,.16);
}

.fp-topic-card:hover {
  transform: translateY(-3px);
  background: rgba(255,255,255,.21);
}

.fp-topic-number {
  color: rgba(255,255,255,.65);
  font-size: .76rem;
  font-weight: 750;
  letter-spacing: .08em;
}

.fp-topic-name {
  color: #fff;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.2;
}

.fp-course {
  background: var(--fp-pale-blue);
}

.fp-course-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(2.5rem, 6vw, 6rem);
  align-items: center;
}

.fp-course-copy p:last-child {
  margin-bottom: 0;
}

.fp-course-steps {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: .9rem;
}

.fp-course-steps li {
  display: grid;
  grid-template-columns: 3rem 1fr;
  gap: 1rem;
  align-items: center;
  padding: 1rem 1.1rem;
  background: rgba(255,255,255,.82);
  border: 1px solid rgba(53,111,130,.11);
  border-radius: 14px;
}

.fp-course-steps li > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--fp-deep);
  color: #fff;
  font-weight: 750;
}

.fp-course-steps strong,
.fp-course-steps small {
  display: block;
}

.fp-course-steps strong {
  color: var(--fp-deep);
  font-size: 1.04rem;
}

.fp-course-steps small {
  margin-top: .15rem;
  color: #607177;
  font-size: .9rem;
  line-height: 1.35;
}

.fp-cta {
  background: #244B54;
  color: #fff;
}

.fp-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2.5rem;
  align-items: center;
}

.fp-cta h2,
.fp-cta p,
.fp-eyebrow-light {
  color: #fff !important;
}

.fp-cta h2 {
  max-width: 760px;
}

.fp-cta p {
  max-width: 720px;
  margin-bottom: 0;
  color: rgba(255,255,255,.86) !important;
}

.fp-button-light {
  white-space: nowrap;
  background: #fff;
  color: #244B54 !important;
}

.fp-button-light:hover,
.fp-button-light:focus {
  background: #EAF3F1;
  color: #244B54 !important;
}

@media (max-width: 900px) {
  .fp-topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .fp-course-layout,
  .fp-cta-inner {
    grid-template-columns: 1fr;
  }
  .fp-cta-actions {
    justify-self: start;
  }
}

@media (max-width: 700px) {
  .fp-section {
    padding: 3.5rem 1rem;
  }
  .fp-feature-grid,
  .fp-topic-grid {
    grid-template-columns: 1fr;
  }
  .fp-feature-card {
    min-height: 0;
  }
  .fp-topic-card {
    min-height: 100px;
  }
}


/* --- v2.0: homepage route actions --- */
.fp-section-action {
  margin-top: 2rem;
  text-align: center;
}

.fp-cta-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem;
}

.fp-button-outline {
  background: transparent !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.72) !important;
}

.fp-button-outline:hover {
  background: rgba(255,255,255,.10) !important;
}

/* --- v2.1: desktop header width + concise navigation + calmer hero title --- */
#header .navbar {
  width: min(1480px, calc(100% - 2.5rem));
  max-width: none !important;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 1.5rem;
}

#header .navbar-section.logo {
  flex: 0 0 auto;
  min-width: 0;
}

#header .navbar-section.desktop-menu {
  flex: 1 1 auto;
  min-width: 0;
  justify-content: flex-end;
}

#header .dropmenu > ul.navigation {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-end;
  gap: .15rem;
  margin: 0;
}

#header .dropmenu > ul.navigation > li {
  flex: 0 0 auto;
}

#header .dropmenu > ul.navigation > li > a {
  padding: .62rem .68rem;
  font-size: 1rem;
  white-space: nowrap;
}

#header .navbar-brand .title {
  font-size: 1.48rem;
  white-space: nowrap;
}

.fp-hero-panel {
  width: min(640px, 90vw);
}

.fp-hero-panel h1 {
  max-width: 15ch;
  font-size: clamp(2.15rem, 3.35vw, 2.8rem) !important;
  line-height: 1.1 !important;
}

@media (max-width: 1120px) and (min-width: 841px) {
  #header .navbar {
    width: calc(100% - 1.5rem);
    gap: .75rem;
  }
  #header .navbar-brand .title {
    font-size: 1.28rem;
  }
  #header .navbar-brand img,
  #header .logo img {
    width: 68px;
    height: 68px;
    max-width: 68px;
  }
  #header .dropmenu > ul.navigation > li > a {
    padding: .55rem .5rem;
    font-size: .92rem;
  }
}

/* --- v2.2: tighten transition from hero into first homepage section --- */
.fp-home .fp-intro {
  padding-top: 3rem;
}

@media (max-width: 700px) {
  .fp-home .fp-intro {
    padding-top: 2.25rem;
  }
}

/* --- v2.3: remove Hadron's default section band between hero and homepage content --- */
#body-wrapper.section:has(.fp-home),
#body-wrapper:has(.fp-home) {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

#body-wrapper:has(.fp-home) > .container {
  padding-top: 0 !important;
}


/* --- v2.4: homepage bypasses Hadron body-wrapper entirely --- */
/* The homepage body is rendered directly by the child template, so no
   Hadron .section/.container spacer can appear between hero and content. */
.fp-home {
  margin-top: 0 !important;
}

@media (max-width: 840px) {
  .fp-home {
    margin-top: 0 !important;
  }
  .fp-home .fp-intro {
    padding-top: 2.25rem;
  }
}


/* --- v2.5: dedicated 10 Themen page --- */
.fp-themes-page {
  background: #f6f9f8;
}

.fp-themes-intro {
  background: linear-gradient(180deg, #eef5f3 0%, #f8fbfa 100%);
  padding: clamp(3rem, 6vw, 5.5rem) 1rem clamp(2.75rem, 5vw, 4.5rem);
}

.fp-themes-intro-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .95fr);
  gap: clamp(2rem, 5vw, 5rem);
  align-items: center;
}

.fp-themes-intro-copy h1 {
  max-width: 17ch;
  margin-bottom: 1.35rem;
  font-size: clamp(2.2rem, 4vw, 3.45rem) !important;
  line-height: 1.08 !important;
}

.fp-themes-intro-copy p {
  max-width: 66ch;
  font-size: 1.08rem;
}

.fp-themes-image {
  margin: 0;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 18px 45px rgba(35, 74, 84, .16);
  background: #fff;
}

.fp-themes-image img {
  display: block;
  width: 100%;
  height: auto;
}

.fp-themes-list {
  padding: clamp(3.25rem, 6vw, 5.75rem) 1rem;
  background: #ffffff;
}

.fp-themes-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.15rem;
}

.fp-theme-detail-card {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
  padding: 1.5rem 1.6rem;
  border: 1px solid rgba(53, 111, 130, .13);
  border-radius: 16px;
  background: linear-gradient(135deg, #fbfdfc 0%, #f1f7f5 100%);
}

.fp-theme-detail-card:nth-child(4n+2),
.fp-theme-detail-card:nth-child(4n+3) {
  background: linear-gradient(135deg, #f6fafb 0%, #edf4f7 100%);
}

.fp-theme-detail-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.25rem;
  height: 4.25rem;
  border-radius: 50%;
  background: #356F82;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 750;
  letter-spacing: .05em;
}

.fp-theme-detail-card h2 {
  margin: .15rem 0 .45rem;
  font-size: 1.42rem !important;
  color: #294F58 !important;
}

.fp-theme-detail-card p {
  margin: 0;
  color: #53666c;
  font-size: 1rem !important;
  line-height: 1.55;
}

.fp-source-note {
  margin: 1.75rem 0 0;
  font-size: .9rem !important;
  color: #718187;
}

.fp-themes-cta {
  background: #244B54;
  color: #fff;
  padding: 3.5rem 1rem;
}

.fp-themes-cta-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 2.5rem;
  align-items: center;
}

.fp-themes-cta h2,
.fp-themes-cta p {
  color: #fff !important;
}

.fp-themes-cta p {
  margin-bottom: 0;
  max-width: 700px;
  color: rgba(255,255,255,.86) !important;
}

@media (max-width: 900px) {
  .fp-themes-intro-grid,
  .fp-themes-cta-inner {
    grid-template-columns: 1fr;
  }
  .fp-themes-card-grid {
    grid-template-columns: 1fr;
  }
  .fp-themes-image {
    max-width: 760px;
  }
}

@media (max-width: 600px) {
  .fp-themes-intro {
    padding-top: 2.4rem;
  }
  .fp-theme-detail-card {
    grid-template-columns: 3.45rem minmax(0,1fr);
    padding: 1.15rem;
    gap: .95rem;
  }
  .fp-theme-detail-number {
    width: 3.45rem;
    height: 3.45rem;
  }
  .fp-theme-detail-card h2 {
    font-size: 1.25rem !important;
  }
}


/* --- v2.6: calmer site-wide heading scale --- */
h1,
.display,
.h-display {
  font-size: clamp(1.95rem, 3vw, 2.6rem) !important;
  line-height: 1.14 !important;
  font-weight: 600 !important;
}

h2 {
  font-size: clamp(1.4rem, 2.2vw, 1.8rem) !important;
  line-height: 1.2 !important;
}

h3 {
  font-size: clamp(1.15rem, 1.7vw, 1.4rem) !important;
  line-height: 1.25 !important;
}

.fp-hero-panel h1 {
  font-size: clamp(1.9rem, 3vw, 2.45rem) !important;
  line-height: 1.12 !important;
}

.fp-section-heading h2,
.fp-course-copy h2,
.fp-cta h2,
.fp-themes-cta h2 {
  font-size: clamp(1.45rem, 2.25vw, 1.85rem) !important;
}

.fp-feature-card h3 {
  font-size: 1.25rem !important;
}

.fp-themes-intro-copy h1 {
  font-size: clamp(1.9rem, 3.1vw, 2.55rem) !important;
  line-height: 1.12 !important;
}

.fp-theme-detail-card h2 {
  font-size: 1.24rem !important;
}

@media (max-width: 700px) {
  h1,
  .display,
  .h-display {
    font-size: clamp(1.8rem, 7vw, 2.2rem) !important;
  }
  h2 {
    font-size: clamp(1.3rem, 5.5vw, 1.6rem) !important;
  }
  h3 {
    font-size: 1.18rem !important;
  }
  .fp-hero-panel h1,
  .fp-themes-intro-copy h1 {
    font-size: clamp(1.8rem, 7vw, 2.2rem) !important;
  }
}


/* --- v2.7: Für Organisationen --- */
.fp-org-page { background: #f5f9f8; }
.fp-org-intro { padding: clamp(3rem, 6vw, 5.5rem) 0 3rem; background: #ffffff; }
.fp-org-intro-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(280px,.8fr); gap: clamp(2rem,5vw,4.5rem); align-items: start; }
.fp-org-lead { font-size: 1.18rem; line-height: 1.65; max-width: 60ch; }
.fp-org-highlight { background: #356F82; color: #fff; padding: 2rem; border-radius: 1rem; box-shadow: 0 14px 32px rgba(24,67,78,.15); }
.fp-org-highlight-label { display:block; text-transform:uppercase; letter-spacing:.11em; font-size:.76rem; font-weight:700; opacity:.78; margin-bottom:.55rem; }
.fp-org-highlight strong { display:block; font-size:1.45rem; line-height:1.2; margin-bottom:.8rem; }
.fp-org-highlight p { margin:0; color:rgba(255,255,255,.9); }
.fp-org-cards { padding: 3.5rem 0 4.25rem; }
.fp-org-card-grid { display:grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap:1.2rem; }
.fp-org-card { background:#fff; border:1px solid rgba(53,111,130,.11); border-radius:1rem; padding:1.6rem 1.7rem; box-shadow:0 7px 22px rgba(35,73,82,.06); }
.fp-org-card-number { display:inline-flex; align-items:center; justify-content:center; min-width:2.5rem; height:2rem; padding:0 .65rem; border-radius:999px; background:#e4f0f1; color:#356F82; font-weight:750; font-size:.78rem; letter-spacing:.06em; margin-bottom:1rem; }
.fp-org-card h2 { font-size:1.28rem !important; margin:.1rem 0 .6rem; }
.fp-org-card p { margin:0; }
.fp-org-training { background:#e8f1ef; padding:4rem 0; }
.fp-org-training-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(280px,.85fr); gap:clamp(2rem,5vw,4rem); align-items:start; }
.fp-org-training-note { background:#fff; border-left:4px solid #356F82; padding:1.5rem 1.6rem; border-radius:.75rem; }
.fp-org-training-note h3 { margin-top:0; font-size:1.12rem !important; }
.fp-org-role { background:#fff; padding:4rem 0 4.5rem; }
.fp-org-role-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.fp-org-role-grid > div { border-top:3px solid #356F82; background:#f7faf9; padding:1.3rem; border-radius:.55rem; }
.fp-org-role-grid strong { display:block; color:#294F58; margin-bottom:.35rem; }
.fp-org-role-grid span { color:#5b696d; font-size:.98rem; line-height:1.5; }
.fp-org-cta { background:#294F58; color:#fff; padding:4rem 0; }
.fp-org-cta h2, .fp-org-cta p { color:#fff; }

@media (max-width: 820px) {
  .fp-org-intro-grid,
  .fp-org-training-grid { grid-template-columns:1fr; }
  .fp-org-card-grid { grid-template-columns:1fr; }
  .fp-org-role-grid { grid-template-columns:1fr; }
  .fp-org-intro { padding-top:2.3rem; }
}


/* --- v2.8: keep emphasis text intact in organisation highlight --- */
.fp-org-highlight strong,
.fp-org-highlight-label {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}


/* --- v2.9: never hyphenate headings --- */
h1, h2, h3, h4, h5, h6,
.fp-org-page h1,
.fp-org-page h2,
.fp-org-page h3,
.fp-org-highlight strong,
.fp-org-highlight-label {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}


/* --- v3.2: editable Markdown-driven designed layouts --- */
.fp-markdown-page {
  --fp-deep: #294F58;
  --fp-accent: #356F82;
  --fp-pale: #EAF3F1;
  --fp-pale-blue: #EDF4F6;
  --fp-ink: #4B5C61;
  color: var(--fp-ink);
  overflow: hidden;
}

.fp-md-section {
  width: 100%;
  margin: 0;
  padding: clamp(3.2rem, 6vw, 5rem) 0;
  box-sizing: border-box;
}

.fp-shell {
  width: min(1120px, calc(100% - 3rem));
  margin: 0 auto;
  box-sizing: border-box;
}
.fp-shell-narrow { max-width: 860px; }
.fp-shell > :first-child { margin-top: 0; }
.fp-shell > :last-child { margin-bottom: 0; }
.fp-shell p { line-height: 1.68; }
.fp-shell h1 { max-width: 820px; }
.fp-shell h2 { margin-top: 0; }
.fp-markdown-page a { text-underline-offset: .18em; }

/* Stand-alone Markdown links become buttons. */
.fp-shell > p > a:only-child,
.fp-hero-markdown > p > a:only-child {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .78rem 1.15rem;
  border-radius: 7px;
  background: #356F82;
  color: #fff !important;
  text-decoration: none;
  font-weight: 700;
  line-height: 1.2;
}
.fp-shell > p > a:only-child:hover,
.fp-hero-markdown > p > a:only-child:hover { background:#294F58; }

/* Homepage */
.fp-hero-markdown > p:first-child strong {
  display:block; margin-bottom:.35rem; color:#356F82; font-size:.84rem;
  font-weight:750; letter-spacing:.09em; text-transform:uppercase;
}
.fp-hero-markdown h1 { margin:0 0 .75rem; }
.fp-hero-markdown h1 + p { font-size:1.08rem; line-height:1.55; }
.fp-home .fp-intro { background:#fff; }
.fp-home .fp-intro .fp-shell > ul {
  padding:0; list-style:none; display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem;
}
.fp-home .fp-intro .fp-shell > ul > li {
  min-height:220px; padding:1.55rem; border:1px solid rgba(53,111,130,.12);
  border-radius:18px; background:linear-gradient(145deg,#fff 0%,#f4f8f7 100%);
  box-shadow:0 10px 26px rgba(31,77,87,.07);
}
.fp-home .fp-intro .fp-shell > ul strong { display:block; color:#294F58; font-size:1.23rem; margin-bottom:.55rem; }
.fp-home .fp-topics { color:#fff; background:linear-gradient(135deg,#2F6F7F 0%,#3D7B78 100%); }
.fp-home .fp-topics h2, .fp-home .fp-topics p { color:#fff; }
.fp-home .fp-topics .fp-shell > ol {
  padding:0; list-style:none; display:grid; grid-template-columns:repeat(5,minmax(0,1fr));
  gap:.85rem; counter-reset:fp-topic;
}
.fp-home .fp-topics .fp-shell > ol > li {
  counter-increment:fp-topic; min-height:125px; padding:1rem; display:flex;
  flex-direction:column; justify-content:space-between; border:1px solid rgba(255,255,255,.2);
  border-radius:14px; background:rgba(255,255,255,.11); color:#fff; font-weight:700;
}
.fp-home .fp-topics .fp-shell > ol > li::before {
  content:counter(fp-topic, decimal-leading-zero); color:rgba(255,255,255,.67);
  font-size:.76rem; letter-spacing:.08em;
}
.fp-home .fp-topics .fp-shell > p > a:only-child { background:#fff; color:#244B54 !important; }
.fp-home .fp-course { background:#EDF4F6; }
.fp-home .fp-course .fp-shell > ol {
  max-width:760px; padding:0; list-style:none; display:grid; gap:.9rem; counter-reset:fp-step;
}
.fp-home .fp-course .fp-shell > ol > li {
  counter-increment:fp-step; position:relative; padding:1.15rem 1.2rem 1.15rem 5rem;
  background:#fff; border:1px solid rgba(53,111,130,.11); border-radius:14px;
}
.fp-home .fp-course .fp-shell > ol > li::before {
  content:counter(fp-step); position:absolute; left:1.1rem; top:50%; transform:translateY(-50%);
  width:3rem; height:3rem; display:grid; place-items:center; border-radius:50%;
  background:#294F58; color:#fff; font-weight:750;
}
.fp-home .fp-course .fp-shell > ol strong { color:#294F58; }

/* Shared dark CTA sections */
.fp-home .fp-cta, .fp-program-cta, .fp-courses-cta, .fp-about-cta { background:#244B54; color:#fff; }
.fp-home .fp-cta h2, .fp-home .fp-cta p,
.fp-program-cta h2, .fp-program-cta p,
.fp-courses-cta h2, .fp-courses-cta p,
.fp-about-cta h2, .fp-about-cta p { color:#fff !important; }
.fp-home .fp-cta .fp-shell > p > a:only-child,
.fp-program-cta .fp-shell > p > a:only-child,
.fp-courses-cta .fp-shell > p > a:only-child,
.fp-about-cta .fp-shell > p > a:only-child { background:#fff; color:#244B54 !important; margin-right:.5rem; }

/* 10 Themen */
.fp-themes-intro { background:linear-gradient(180deg,#eef5f3 0%,#f8fbfa 100%); }
.fp-themes-intro .fp-shell > p:has(> img) {
  float:right; width:min(44%,500px); margin:0 0 2rem 3rem;
}
.fp-themes-intro .fp-shell > p > img {
  display:block; width:100%; border-radius:22px; box-shadow:0 18px 45px rgba(35,74,84,.16);
}
.fp-themes-list { clear:both; background:#fff; }
.fp-themes-list .fp-shell > ol {
  padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.15rem; counter-reset:fp-theme;
}
.fp-themes-list .fp-shell > ol > li {
  counter-increment:fp-theme; position:relative; min-height:145px; padding:1.5rem 1.6rem 1.5rem 6.8rem;
  border:1px solid rgba(53,111,130,.13); border-radius:16px;
  background:linear-gradient(135deg,#fbfdfc 0%,#f1f7f5 100%);
}
.fp-themes-list .fp-shell > ol > li::before {
  content:counter(fp-theme, decimal-leading-zero); position:absolute; left:1.45rem; top:1.45rem;
  width:4.25rem; height:4.25rem; display:grid; place-items:center; border-radius:50%;
  background:#356F82; color:#fff; font-weight:750;
}
.fp-themes-list .fp-shell > ol strong { display:block; color:#294F58; font-size:1.22rem; margin-bottom:.35rem; }
.fp-themes-list .fp-shell > p em { color:#718187; font-size:.9rem; }
.fp-themes-cta { background:#244B54; color:#fff; }
.fp-themes-cta h2, .fp-themes-cta p { color:#fff !important; }
.fp-themes-cta .fp-shell > p > a:only-child { background:#fff; color:#244B54 !important; margin-right:.5rem; }

/* Organisation page */
.fp-org-intro { background:#fff; }
.fp-org-intro .fp-shell > blockquote {
  margin-top:2rem; padding:1.7rem 1.8rem; border:0; border-radius:1rem;
  background:#356F82; color:#fff; box-shadow:0 14px 32px rgba(24,67,78,.15);
}
.fp-org-intro .fp-shell > blockquote p { color:#fff; margin:.35rem 0; }
.fp-org-intro .fp-shell > blockquote strong { font-size:1.35rem; }
.fp-org-cards { background:#f5f9f8; }
.fp-org-cards .fp-shell > ul {
  padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1.2rem; counter-reset:fp-org-card;
}
.fp-org-cards .fp-shell > ul > li {
  counter-increment:fp-org-card; padding:1.55rem 1.65rem; background:#fff;
  border:1px solid rgba(53,111,130,.11); border-radius:1rem; box-shadow:0 7px 22px rgba(35,73,82,.06);
}
.fp-org-cards .fp-shell > ul > li::before {
  content:counter(fp-org-card, decimal-leading-zero); display:inline-flex; padding:.35rem .7rem;
  margin-bottom:.85rem; border-radius:999px; background:#e4f0f1; color:#356F82;
  font-size:.78rem; font-weight:750;
}
.fp-org-cards .fp-shell > ul strong { display:block; color:#294F58; font-size:1.22rem; margin-bottom:.4rem; }
.fp-org-training { background:#e8f1ef; }
.fp-org-training .fp-shell > blockquote {
  margin-top:1.7rem; padding:1.35rem 1.5rem; border:0; border-left:4px solid #356F82;
  border-radius:.75rem; background:#fff;
}
.fp-org-training .fp-shell > blockquote p { margin:.3rem 0; }
.fp-org-role { background:#fff; }
.fp-org-role .fp-shell > ul {
  padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
}
.fp-org-role .fp-shell > ul > li {
  padding:1.3rem; border-top:3px solid #356F82; border-radius:.55rem; background:#f7faf9;
}
.fp-org-role .fp-shell > ul strong { display:block; color:#294F58; margin-bottom:.35rem; }
.fp-org-cta { background:#294F58; color:#fff; }
.fp-org-cta h2, .fp-org-cta p { color:#fff !important; }
.fp-org-cta .fp-shell > p > a:only-child { background:#fff; color:#244B54 !important; }

/* Program page */
.fp-program-intro { background:#fff; }
.fp-program-stats { background:#356F82; color:#fff; }
.fp-program-stats h2, .fp-program-stats p { color:#fff !important; }
.fp-program-stats .fp-shell > ul {
  max-width:900px; margin-left:auto; margin-right:auto; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
}
.fp-program-stats .fp-shell > ul > li {
  padding:1.25rem; text-align:center; border:1px solid rgba(255,255,255,.22);
  border-radius:14px; background:rgba(255,255,255,.10);
}
.fp-program-stats .fp-shell > ul strong { display:block; color:#fff; font-size:1.65rem; margin-bottom:.15rem; }
.fp-program-flow { background:#EDF4F6; }
.fp-program-flow .fp-shell > ol, .fp-program-settings .fp-shell > ul {
  padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
}
.fp-program-flow .fp-shell > ol { counter-reset:fp-flow; }
.fp-program-flow .fp-shell > ol > li, .fp-program-settings .fp-shell > ul > li {
  padding:1.35rem; border-radius:14px; background:#fff; border:1px solid rgba(53,111,130,.11);
}
.fp-program-flow .fp-shell > ol > li { counter-increment:fp-flow; }
.fp-program-flow .fp-shell > ol > li::before {
  content:counter(fp-flow); display:grid; place-items:center; width:2.8rem; height:2.8rem;
  margin-bottom:.8rem; border-radius:50%; background:#294F58; color:#fff; font-weight:750;
}
.fp-program-flow .fp-shell strong, .fp-program-settings .fp-shell strong { display:block; color:#294F58; margin-bottom:.35rem; }
.fp-program-themes { background:#fff; }
.fp-program-themes .fp-shell > p strong { color:#294F58; }
.fp-program-settings { background:#EAF3F1; }

/* Courses */
.fp-courses-intro { background:#fff; }
.fp-courses-offers { background:#f5f9f8; }
.fp-courses-offers .fp-shell > ul {
  padding:0; list-style:none; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem;
}
.fp-courses-offers .fp-shell > ul > li {
  padding:1.6rem; border-radius:1rem; background:#fff; border:1px solid rgba(53,111,130,.11);
  box-shadow:0 8px 24px rgba(35,73,82,.06);
}
.fp-courses-offers .fp-shell > ul strong { display:block; color:#294F58; font-size:1.22rem; margin-bottom:.45rem; }
.fp-courses-offers .fp-shell > ul > li a {
  display:inline-flex; margin-top:.75rem; padding:.68rem .95rem; border-radius:7px;
  background:#356F82; color:#fff !important; text-decoration:none; font-weight:700;
}
.fp-courses-offers .fp-shell > ul > li a:hover { background:#294F58; }
.fp-courses-expect { background:#EDF4F6; }
.fp-courses-expect .fp-shell > ul {
  max-width:900px; margin-left:auto; margin-right:auto; padding:0; list-style:none;
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
}
.fp-courses-expect .fp-shell > ul > li { padding:1.25rem; border-radius:14px; background:#fff; text-align:center; }
.fp-courses-expect .fp-shell > ul strong { display:block; color:#294F58; font-size:1.15rem; }
.fp-courses-participation { background:#fff; }

/* About */
.fp-about-intro, .fp-about-foundation, .fp-contact-intro { background:#fff; }
.fp-about-work { background:#EDF4F6; }
.fp-about-work .fp-shell > ul {
  padding:0; list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem;
}
.fp-about-work .fp-shell > ul > li {
  padding:1.35rem; background:#fff; border-radius:14px; border-top:3px solid #356F82;
}
.fp-about-work .fp-shell > ul strong { display:block; color:#294F58; margin-bottom:.35rem; }

/* Contact */
.fp-contact-details { background:#EDF4F6; }
.fp-contact-details .fp-shell > blockquote,
.fp-contact-note .fp-shell > blockquote {
  max-width:760px; margin-left:auto; margin-right:auto; padding:1.4rem 1.5rem;
  border:0; border-left:4px solid #356F82; border-radius:.75rem; background:#fff;
}
.fp-contact-note { background:#fff; }

/* Headings never auto-hyphenate. */
h1, h2, h3, h4, h5, h6,
.fp-org-highlight strong, .fp-org-highlight-label {
  hyphens:none !important; -webkit-hyphens:none !important;
  word-break:normal !important; overflow-wrap:normal !important;
}

@media (max-width: 900px) {
  .fp-home .fp-topics .fp-shell > ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fp-themes-list .fp-shell > ol,
  .fp-org-cards .fp-shell > ul,
  .fp-courses-offers .fp-shell > ul { grid-template-columns:1fr; }
  .fp-program-flow .fp-shell > ol,
  .fp-program-settings .fp-shell > ul,
  .fp-program-stats .fp-shell > ul,
  .fp-org-role .fp-shell > ul,
  .fp-courses-expect .fp-shell > ul,
  .fp-about-work .fp-shell > ul { grid-template-columns:1fr; }
}

@media (max-width: 700px) {
  .fp-shell { width:min(100% - 2rem, 1120px); }
  .fp-md-section { padding:2.8rem 0; }
  .fp-home .fp-intro .fp-shell > ul,
  .fp-home .fp-topics .fp-shell > ol { grid-template-columns:1fr; }
  .fp-home .fp-intro .fp-shell > ul > li { min-height:0; }
  .fp-themes-intro .fp-shell > p:has(> img) { float:none; width:100%; margin:1.5rem 0 0; }
  .fp-themes-list .fp-shell > ol > li { padding:1.25rem 1.2rem 1.25rem 5.5rem; }
  .fp-themes-list .fp-shell > ol > li::before { left:1rem; top:1.15rem; width:3.65rem; height:3.65rem; }
}

/* --- v3.3: homepage CTA buttons side by side with breathing room --- */
.fp-home .fp-cta .fp-shell > p:has(> a:only-child) {
  display: inline-flex;
  margin: .75rem .75rem 0 0;
}
.fp-home .fp-cta .fp-shell > p:has(> a:only-child) > a {
  margin-right: 0 !important;
}

/* --- v3.4: consistent CTA button groups across all designed pages --- */
.fp-home .fp-cta .fp-shell > p:has(> a:only-child),
.fp-program-cta .fp-shell > p:has(> a:only-child),
.fp-themes-cta .fp-shell > p:has(> a:only-child),
.fp-courses-cta .fp-shell > p:has(> a:only-child),
.fp-org-cta .fp-shell > p:has(> a:only-child),
.fp-about-cta .fp-shell > p:has(> a:only-child) {
  display: inline-flex;
  margin: .8rem .8rem 0 0 !important;
  vertical-align: top;
}

.fp-home .fp-cta .fp-shell > p:has(> a:only-child) > a,
.fp-program-cta .fp-shell > p:has(> a:only-child) > a,
.fp-themes-cta .fp-shell > p:has(> a:only-child) > a,
.fp-courses-cta .fp-shell > p:has(> a:only-child) > a,
.fp-org-cta .fp-shell > p:has(> a:only-child) > a,
.fp-about-cta .fp-shell > p:has(> a:only-child) > a {
  margin-right: 0 !important;
}

@media (max-width: 520px) {
  .fp-home .fp-cta .fp-shell > p:has(> a:only-child),
  .fp-program-cta .fp-shell > p:has(> a:only-child),
  .fp-themes-cta .fp-shell > p:has(> a:only-child),
  .fp-courses-cta .fp-shell > p:has(> a:only-child),
  .fp-org-cta .fp-shell > p:has(> a:only-child),
  .fp-about-cta .fp-shell > p:has(> a:only-child) {
    margin-right: .55rem !important;
  }
}


/* --- v3.5: site-wide footer for secondary/legal pages --- */
.fp-site-footer {
  background:#294F58;
  color:rgba(255,255,255,.9);
  border-top:1px solid rgba(255,255,255,.08);
}
.fp-footer-inner {
  width:min(100% - 3rem, 1120px);
  margin:0 auto;
  min-height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.25rem 2rem;
  padding:1.15rem 0;
}
.fp-footer-brand {
  font-size:.92rem;
  white-space:nowrap;
}
.fp-footer-nav {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:.55rem 1.3rem;
}
.fp-footer-nav a {
  color:#fff !important;
  text-decoration:none;
  font-size:.92rem;
  font-weight:600;
}
.fp-footer-nav a:hover,
.fp-footer-nav a:focus {
  text-decoration:underline;
  text-underline-offset:.2em;
}
@media (max-width:700px) {
  .fp-footer-inner {
    width:min(100% - 2rem, 1120px);
    flex-direction:column;
    align-items:flex-start;
    padding:1.25rem 0 1.35rem;
  }
  .fp-footer-nav {
    justify-content:flex-start;
  }
}


/* --- v3.7: lighter visual system + stacked brand/navigation header --- */
:root,
:root[data-theme="light"] {
  --q2-accent: #356F82;
  --q2-link: #356F82;
  --q2-bg: #FFFFFF;
  --q2-bg-elev: #FFFFFF;
  --q2-bg-muted: #F3F8F7;
  --q2-text: #4B5C61;
  --q2-text-strong: #294F58;
  --q2-nav-bg: #FFFFFF;
  --q2-nav-border: #DDE8E5;
  --q2-border-ring: #D8E5E2;
  --q2-border-strong: #CADCD8;
  --q2-divider: #E2ECE9;
}

html,
body {
  background: #FFFFFF;
}

/* Light, open header */
#header,
body.header-fixed #header,
body.header-animated #header,
body.scrolled #header {
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid #DDE8E5 !important;
  box-shadow: 0 3px 14px rgba(41,79,88,.06) !important;
}

#header .navbar-brand,
#header .navbar-brand .title,
#header .navbar-brand a,
#header .dropmenu > ul > li > a,
#header .dropmenu a {
  color: #294F58 !important;
}

/* Logo/title above menu on desktop */
@media (min-width: 841px) {
  #header .navbar {
    width: min(1180px, calc(100% - 2.5rem));
    flex-direction: column;
    align-items: stretch;
    gap: 0;
    padding: .7rem 0 .42rem;
  }

  #header .navbar-section.logo {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  #header .navbar-brand {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .18rem;
    text-align: center;
  }

  #header .navbar-brand img,
  #header .logo img {
    width: 72px;
    height: 72px;
    max-width: 72px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #header .navbar-brand .title {
    font-size: 1.32rem;
    color: #294F58 !important;
    line-height: 1.05;
  }

  #header .navbar-section.desktop-menu {
    width: 100%;
    justify-content: center;
    margin-top: .55rem;
    padding-top: .38rem;
    border-top: 1px solid #E5EEEC;
  }

  #header .dropmenu > ul.navigation {
    justify-content: center;
    gap: .3rem;
  }

  #header .dropmenu > ul.navigation > li > a {
    padding: .58rem .76rem;
    font-size: .98rem;
    color: #355861 !important;
  }

  #header .dropmenu a.active,
  #header .dropmenu a.active:hover {
    background: #EAF3F1 !important;
    color: #294F58 !important;
  }

  #header .dropmenu a:hover:not(.active) {
    background: #F3F8F7 !important;
    color: #294F58 !important;
  }
}

/* Mobile header stays compact; hamburger remains visible */
@media (max-width: 840px) {
  #header .navbar {
    width: calc(100% - 5.5rem);
    min-height: 84px;
    margin-left: 1rem;
    margin-right: auto;
    padding: .45rem 0;
    justify-content: flex-start;
  }

  #header .navbar-section.logo {
    width: auto;
  }

  #header .navbar-brand {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: .7rem;
  }

  #header .navbar-brand img,
  #header .logo img {
    width: 54px;
    height: 54px;
    max-width: 54px;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  #header .navbar-brand .title {
    font-size: 1.18rem;
    color: #294F58 !important;
  }

  .mobile-menu .button_container {
    background: #F1F7F5 !important;
    border: 1px solid #C8DCD7 !important;
    border-radius: 50% !important;
    box-shadow: 0 2px 8px rgba(41,79,88,.08);
  }

  .mobile-menu .button_container span {
    background: #356F82 !important;
  }

  .overlay {
    background: #FBFDFC !important;
  }

  .overlay .overlay-menu a,
  .overlay .navbar-brand,
  .overlay .navbar-brand .title {
    color: #294F58 !important;
  }

  .overlay .overlay-menu a.active {
    color: #356F82 !important;
  }

  .overlay .mobile-logo img,
  .overlay .navbar-brand img {
    filter: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
}

/* Softer global section palette */
.fp-markdown-page,
.fp-home,
.fp-themes-page,
.fp-org-page {
  background: #FFFFFF;
}

.fp-home .fp-intro,
.fp-program-intro,
.fp-program-themes,
.fp-courses-intro,
.fp-courses-participation,
.fp-org-intro,
.fp-org-role,
.fp-about-intro,
.fp-about-foundation,
.fp-contact-intro,
.fp-contact-note,
.fp-themes-list {
  background: #FFFFFF !important;
}

.fp-home .fp-course,
.fp-program-flow,
.fp-courses-expect,
.fp-about-work,
.fp-contact-details,
.fp-program-settings,
.fp-org-training,
.fp-org-cards,
.fp-courses-offers {
  background: #F3F8F7 !important;
}

.fp-themes-intro {
  background: linear-gradient(180deg, #F4F9F7 0%, #FFFFFF 100%) !important;
}

/* Former dark topic block becomes light with outlined cards */
.fp-home .fp-topics {
  background: #EAF3F1 !important;
  color: #4B5C61 !important;
}

.fp-home .fp-topics h2,
.fp-home .fp-topics p,
.fp-home .fp-topics .fp-eyebrow {
  color: #294F58 !important;
}

.fp-home .fp-topics .fp-shell > ol > li {
  background: #FFFFFF !important;
  border: 1px solid #CADCD8 !important;
  color: #294F58 !important;
  box-shadow: 0 5px 16px rgba(41,79,88,.045);
}

.fp-home .fp-topics .fp-shell > ol > li::before {
  color: #6C9298 !important;
}

.fp-home .fp-topics .fp-shell > p > a:only-child {
  background: #356F82 !important;
  color: #FFFFFF !important;
}

/* Cards: white, outlined, very restrained shadow */
.fp-feature-card,
.fp-home .fp-intro .fp-shell > ul > li,
.fp-theme-detail-card,
.fp-themes-list .fp-shell > ol > li,
.fp-org-cards .fp-shell > ul > li,
.fp-program-flow .fp-shell > ol > li,
.fp-program-settings .fp-shell > ul > li,
.fp-courses-offers .fp-shell > ul > li,
.fp-courses-expect .fp-shell > ul > li,
.fp-about-work .fp-shell > ul > li,
.fp-org-role .fp-shell > ul > li {
  background: #FFFFFF !important;
  border-color: #D3E1DE !important;
  box-shadow: 0 5px 16px rgba(41,79,88,.045) !important;
}

/* Former dark information/CTA blocks become pale */
.fp-program-stats {
  background: #E7F1F5 !important;
  color: #294F58 !important;
}

.fp-program-stats h2,
.fp-program-stats p {
  color: #294F58 !important;
}

.fp-program-stats .fp-shell > ul > li {
  background: #FFFFFF !important;
  border: 1px solid #CBDDE1 !important;
}

.fp-program-stats .fp-shell > ul strong {
  color: #356F82 !important;
}

.fp-org-intro .fp-shell > blockquote {
  background: #EEF6F3 !important;
  color: #294F58 !important;
  border: 1px solid #CFE0DB !important;
  border-left: 4px solid #356F82 !important;
  box-shadow: none !important;
}

.fp-org-intro .fp-shell > blockquote p {
  color: #4B5C61 !important;
}

.fp-org-intro .fp-shell > blockquote strong {
  color: #294F58 !important;
}

/* All closing call-to-actions: warm/light instead of dark */
.fp-home .fp-cta,
.fp-program-cta,
.fp-courses-cta,
.fp-about-cta,
.fp-themes-cta,
.fp-org-cta {
  background: #FAF8F2 !important;
  color: #4B5C61 !important;
  border-top: 1px solid #ECE7DA;
  border-bottom: 1px solid #ECE7DA;
}

.fp-home .fp-cta h2,
.fp-home .fp-cta p,
.fp-program-cta h2,
.fp-program-cta p,
.fp-courses-cta h2,
.fp-courses-cta p,
.fp-about-cta h2,
.fp-about-cta p,
.fp-themes-cta h2,
.fp-themes-cta p,
.fp-org-cta h2,
.fp-org-cta p {
  color: #294F58 !important;
}

.fp-home .fp-cta .fp-shell > p > a:only-child,
.fp-program-cta .fp-shell > p > a:only-child,
.fp-courses-cta .fp-shell > p > a:only-child,
.fp-about-cta .fp-shell > p > a:only-child,
.fp-themes-cta .fp-shell > p > a:only-child,
.fp-org-cta .fp-shell > p > a:only-child {
  background: #356F82 !important;
  color: #FFFFFF !important;
  border: 1px solid #356F82 !important;
}

/* Light footer */
.fp-site-footer,
#footer {
  background: #EAF3F1 !important;
  color: #4B5C61 !important;
  border-top: 1px solid #D1E0DC !important;
}

.fp-footer-nav a {
  color: #356F82 !important;
}

.fp-footer-brand {
  color: #53666C;
}

/* Keep accent circles/numbers, but reduce their visual weight */
.fp-theme-detail-number,
.fp-themes-list .fp-shell > ol > li::before,
.fp-program-flow .fp-shell > ol > li::before,
.fp-home .fp-course .fp-shell > ol > li::before {
  background: #5F8994 !important;
}

/* Outlined secondary feel for cards and text panels */
.fp-org-training .fp-shell > blockquote,
.fp-contact-details .fp-shell > blockquote,
.fp-contact-note .fp-shell > blockquote {
  box-shadow: none !important;
  border-color: #356F82 !important;
}

/* Hero remains the principal source of strong colour */
.fp-hero-wash {
  background: linear-gradient(
    90deg,
    rgba(41,79,88,.16) 0%,
    rgba(41,79,88,.04) 48%,
    rgba(41,79,88,0) 76%
  ) !important;
}

.fp-hero-panel {
  background: rgba(255,255,255,.94) !important;
  box-shadow: 0 12px 34px rgba(41,79,88,.12) !important;
}


/* --- v3.8: keep secondary pages out of header; compact short cards --- */

/* Card grids should not stretch short items to the height of the longest card. */
.fp-home .fp-intro .fp-shell > ul,
.fp-home .fp-topics .fp-shell > ol,
.fp-program-settings .fp-shell > ul,
.fp-program-stats .fp-shell > ul,
.fp-courses-expect .fp-shell > ul,
.fp-about-work .fp-shell > ul,
.fp-org-role .fp-shell > ul,
.fp-org-cards .fp-shell > ul {
  align-items: start;
}

/* Short homepage feature cards: natural height and lighter spacing. */
.fp-home .fp-intro .fp-shell > ul > li {
  min-height: 0 !important;
  padding: 1.15rem 1.25rem !important;
}

.fp-home .fp-intro .fp-shell > ul strong {
  margin-bottom: .35rem !important;
}

/* The 10 topic tiles only contain a label; don't make them look like large panels. */
.fp-home .fp-topics .fp-shell > ol > li {
  min-height: 78px !important;
  padding: .8rem .9rem !important;
  justify-content: space-between;
}

/* Small fact/summary cards elsewhere should also fit their content. */
.fp-program-stats .fp-shell > ul > li,
.fp-program-settings .fp-shell > ul > li,
.fp-courses-expect .fp-shell > ul > li,
.fp-about-work .fp-shell > ul > li,
.fp-org-role .fp-shell > ul > li {
  min-height: 0 !important;
  padding: 1rem 1.15rem !important;
}

/* Organisation overview cards have more copy, but still should not be oversized. */
.fp-org-cards .fp-shell > ul > li {
  min-height: 0 !important;
  padding: 1.2rem 1.25rem !important;
}

/* Keep substantial cards (course offers and 10-theme descriptions) comfortably padded. */
.fp-courses-offers .fp-shell > ul > li,
.fp-themes-list .fp-shell > ol > li {
  align-self: start;
}

/* Slightly reduce empty vertical space between sections after the lighter redesign. */
@media (min-width: 701px) {
  .fp-md-section {
    padding-top: 3.15rem;
    padding-bottom: 3.15rem;
  }
}


/* --- v3.9: no Markdown bullets/markers around visual card grids --- */
.fp-home .fp-intro .fp-shell > ul,
.fp-home .fp-topics .fp-shell > ol,
.fp-home .fp-course .fp-shell > ol,
.fp-themes-list .fp-shell > ol,
.fp-org-cards .fp-shell > ul,
.fp-org-role .fp-shell > ul,
.fp-program-stats .fp-shell > ul,
.fp-program-flow .fp-shell > ol,
.fp-program-settings .fp-shell > ul,
.fp-courses-offers .fp-shell > ul,
.fp-courses-expect .fp-shell > ul,
.fp-about-work .fp-shell > ul {
  list-style: none !important;
  list-style-type: none !important;
  padding-left: 0 !important;
}

.fp-home .fp-intro .fp-shell > ul > li::marker,
.fp-home .fp-topics .fp-shell > ol > li::marker,
.fp-home .fp-course .fp-shell > ol > li::marker,
.fp-themes-list .fp-shell > ol > li::marker,
.fp-org-cards .fp-shell > ul > li::marker,
.fp-org-role .fp-shell > ul > li::marker,
.fp-program-stats .fp-shell > ul > li::marker,
.fp-program-flow .fp-shell > ol > li::marker,
.fp-program-settings .fp-shell > ul > li::marker,
.fp-courses-offers .fp-shell > ul > li::marker,
.fp-courses-expect .fp-shell > ul > li::marker,
.fp-about-work .fp-shell > ul > li::marker {
  content: "" !important;
  font-size: 0 !important;
}

/* Some browser/theme combinations position list markers outside the card.
   Ensure card items themselves never reserve marker space. */
.fp-home .fp-intro .fp-shell > ul > li,
.fp-home .fp-topics .fp-shell > ol > li,
.fp-home .fp-course .fp-shell > ol > li,
.fp-themes-list .fp-shell > ol > li,
.fp-org-cards .fp-shell > ul > li,
.fp-org-role .fp-shell > ul > li,
.fp-program-stats .fp-shell > ul > li,
.fp-program-flow .fp-shell > ol > li,
.fp-program-settings .fp-shell > ul > li,
.fp-courses-offers .fp-shell > ul > li,
.fp-courses-expect .fp-shell > ul > li,
.fp-about-work .fp-shell > ul > li {
  list-style: none !important;
  list-style-type: none !important;
}


/* --- v4.0: footer rendered explicitly in the page flow --- */
.fp-site-footer {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  background: #EAF3F1 !important;
  color: #4B5C61 !important;
  border-top: 1px solid #D1E0DC !important;
  visibility: visible !important;
  opacity: 1 !important;
}

.fp-footer-inner {
  width: min(calc(100% - 3rem), 1120px);
  margin: 0 auto;
  min-height: 76px;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  padding: 1.15rem 0;
}

.fp-footer-nav {
  display: flex !important;
  flex-wrap: wrap;
  gap: .55rem 1.3rem;
}

@media (max-width: 700px) {
  .fp-footer-inner {
    width: min(calc(100% - 2rem), 1120px);
    flex-direction: column;
    align-items: flex-start;
    padding: 1.2rem 0 1.35rem;
  }
}
\n\n/* --- v4.1: styled Grav contact form on /kontakt --- */\n.fp-contact-form-wrap {\n  margin-top: 1.5rem;\n  padding: clamp(1.1rem, 2vw, 1.6rem);\n  background: #fff;\n  border: 1px solid #d6e3e1;\n  border-radius: 14px;\n  box-shadow: 0 5px 16px rgba(41,79,88,.045);\n}\n\n.fp-contact-form-wrap .form-wrapper,\n.fp-contact-form-wrap form {\n  width: 100%;\n  margin: 0;\n}\n\n.fp-contact-form-wrap .form-field {\n  margin-bottom: 1.05rem;\n}\n\n.fp-contact-form-wrap label {\n  color: #294f58;\n  font-weight: 650;\n}\n\n.fp-contact-form-wrap input[type=\"text\"],\n.fp-contact-form-wrap input[type=\"email\"],\n.fp-contact-form-wrap select,\n.fp-contact-form-wrap textarea {\n  width: 100%;\n  box-sizing: border-box;\n  border: 1px solid #cbdcda;\n  border-radius: 9px;\n  background: #fff;\n  color: #4b5c61;\n  padding: .72rem .82rem;\n  font: inherit;\n}\n\n.fp-contact-form-wrap textarea {\n  min-height: 180px;\n  resize: vertical;\n}\n\n.fp-contact-form-wrap input:focus,\n.fp-contact-form-wrap select:focus,\n.fp-contact-form-wrap textarea:focus {\n  outline: 2px solid rgba(53,111,130,.18);\n  outline-offset: 1px;\n  border-color: #356f82;\n}\n\n.fp-contact-form-wrap input[type=\"checkbox\"] {\n  accent-color: #356f82;\n  margin-right: .45rem;\n}\n\n.fp-contact-form-wrap button[type=\"submit\"],\n.fp-contact-form-wrap input[type=\"submit\"] {\n  border: 1px solid #356f82;\n  border-radius: 9px;\n  background: #356f82;\n  color: #fff;\n  padding: .72rem 1.15rem;\n  font: inherit;\n  font-weight: 700;\n  cursor: pointer;\n}\n\n.fp-contact-form-wrap button[type=\"submit\"]:hover,\n.fp-contact-form-wrap input[type=\"submit\"]:hover {\n  filter: brightness(.95);\n}\n\n.fp-contact-form-wrap .form-message,\n.fp-contact-form-wrap .alert {\n  border-radius: 9px;\n}\n

/* --- v4.3: make privacy and content links visibly clickable --- */
.fp-contact-note a,
.fp-contact-form-wrap a,
.fp-markdown-page a[href="/datenschutz"],
.fp-markdown-page a[href$="/datenschutz"] {
  color: #356F82 !important;
  text-decoration: underline !important;
  text-decoration-thickness: 1.5px;
  text-underline-offset: 3px;
  font-weight: 600;
}

.fp-contact-note a:hover,
.fp-contact-form-wrap a:hover,
.fp-markdown-page a[href="/datenschutz"]:hover,
.fp-markdown-page a[href$="/datenschutz"]:hover {
  color: #294F58 !important;
  text-decoration-thickness: 2px;
}


/* --- v4.4: expandable theme quotes + homepage participant voices --- */

/* Theme cards become lightweight, accessible expanders. */
.fp-themes-list .fp-shell > ol > li.fp-theme-expandable {
  position: relative;
  cursor: pointer;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.fp-themes-list .fp-shell > ol > li.fp-theme-expandable:hover,
.fp-themes-list .fp-shell > ol > li.fp-theme-expandable:focus-visible {
  border-color: #9ebdb7 !important;
  box-shadow: 0 8px 22px rgba(41,79,88,.08) !important;
}

.fp-themes-list .fp-shell > ol > li.fp-theme-expandable:focus-visible {
  outline: 2px solid rgba(53,111,130,.28);
  outline-offset: 3px;
}

.fp-theme-quote-hint {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  margin-top: .85rem;
  color: #356F82;
  font-size: .9rem;
  font-weight: 700;
}

.fp-theme-quote-hint::after {
  content: "+";
  display: inline-grid;
  place-items: center;
  width: 1.35rem;
  height: 1.35rem;
  border: 1px solid #bfd3ce;
  border-radius: 50%;
  line-height: 1;
  transition: transform .18s ease;
}

.fp-theme-expandable.is-open .fp-theme-quote-hint::after {
  content: "−";
}

.fp-themes-list .fp-shell > ol > li > blockquote {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  margin: 0 !important;
  padding: 0 1rem !important;
  border: 0 !important;
  background: transparent !important;
  color: #4B5C61 !important;
  transition: max-height .28s ease, opacity .2s ease, margin .28s ease, padding .28s ease;
}

.fp-themes-list .fp-shell > ol > li.is-open > blockquote {
  max-height: 18rem;
  opacity: 1;
  margin: 1rem 0 0 !important;
  padding: 1rem 1rem .95rem !important;
  border-left: 3px solid #8fb2aa !important;
  background: #F5F9F8 !important;
  border-radius: 0 10px 10px 0;
}

.fp-themes-list blockquote p {
  margin: 0 0 .55rem !important;
}

.fp-themes-list blockquote p:first-child {
  color: #294F58;
  font-size: 1.02rem;
  line-height: 1.55;
}

.fp-themes-list blockquote p:last-child {
  margin-bottom: 0 !important;
  color: #6a7b7f;
  font-size: .84rem;
}

.fp-themes-list blockquote a {
  color: #356F82 !important;
  text-decoration: underline !important;
  text-underline-offset: 2px;
}

/* Homepage participant voices: no carousel, no heavy media. */
.fp-home .fp-voices {
  background: #FFFFFF !important;
}

.fp-home .fp-voices .fp-shell > h2 {
  text-align: center;
  margin-bottom: .6rem;
}

.fp-home .fp-voices .fp-shell > h2 + p {
  max-width: 720px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  color: #5d6f73;
}

.fp-home .fp-voices .fp-shell > ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 2rem 0 0 !important;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.fp-home .fp-voices .fp-shell > ul > li {
  list-style: none !important;
  background: #F7FAF9;
  border: 1px solid #D6E3E1;
  border-radius: 14px;
  padding: 1.15rem 1.2rem;
  color: #4B5C61;
  box-shadow: 0 5px 16px rgba(41,79,88,.04);
}

.fp-home .fp-voices .fp-shell > ul > li::marker {
  content: "";
}

.fp-home .fp-voices .fp-shell > ul strong {
  display: block;
  color: #294F58;
  font-size: 1.03rem;
  line-height: 1.5;
  font-weight: 600;
  margin-bottom: .65rem;
}

.fp-home .fp-voices .fp-shell > ul em {
  color: #6a7b7f;
  font-size: .9rem;
}

@media (max-width: 850px) {
  .fp-home .fp-voices .fp-shell > ul {
    grid-template-columns: 1fr;
  }

  .fp-theme-quote-hint {
    margin-top: .7rem;
  }
}


/* --- v4.6: tighten header spacing without changing homepage structure --- */

/* Desktop: reduce space above the dove/logo by roughly half. */
@media (min-width: 841px) {
  #header .navbar {
    padding-top: .35rem !important;
    padding-bottom: .3rem !important;
  }

  #header .navbar-section.desktop-menu {
    margin-top: .3rem !important;
    padding-top: .25rem !important;
  }

  /* Reduce the gap between the bottom of the menu and page content. */
  #body-wrapper,
  .body-wrapper,
  main.fp-home,
  main.fp-markdown-page {
    margin-top: 0 !important;
  }

  #body-wrapper > section:first-child,
  .body-wrapper > section:first-child,
  main.fp-home > section:first-child,
  main.fp-markdown-page > section:first-child {
    padding-top: 1.55rem !important;
  }
}

/* Mobile: keep the same principle, but preserve enough room for the hamburger. */
@media (max-width: 840px) {
  #header .navbar {
    min-height: 72px !important;
    padding-top: .25rem !important;
    padding-bottom: .25rem !important;
  }

  #header .navbar-brand img,
  #header .logo img {
    width: 50px !important;
    height: 50px !important;
  }

  #body-wrapper > section:first-child,
  .body-wrapper > section:first-child,
  main.fp-home > section:first-child,
  main.fp-markdown-page > section:first-child {
    padding-top: 1.25rem !important;
  }
}


/* --- v4.7: reduce only the gap below the navigation --- */
@media (min-width: 841px) {
  #body-wrapper > section:first-child,
  .body-wrapper > section:first-child,
  main.fp-home > section:first-child,
  main.fp-markdown-page > section:first-child {
    padding-top: .45rem !important;
  }
}

@media (max-width: 840px) {
  #body-wrapper > section:first-child,
  .body-wrapper > section:first-child,
  main.fp-home > section:first-child,
  main.fp-markdown-page > section:first-child {
    padding-top: .55rem !important;
  }
}


/* --- v4.8: compact Stimmen zum Kurs cards on homepage --- */
.fp-home .fp-voices-inline {
  margin-top: 2.5rem;
  padding-top: 2.2rem;
  border-top: 1px solid #DCE8E5;
}

.fp-home .fp-voices-inline > h2 {
  text-align: center;
  margin-bottom: .55rem;
}

.fp-home .fp-voices-intro {
  max-width: 720px;
  margin: 0 auto 1.6rem;
  text-align: center;
  color: #5D6F73;
}

.fp-home .fp-voices-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  align-items: start;
}

.fp-home .fp-voice-card {
  background: #FFFFFF;
  border: 1px solid #D6E3E1;
  border-radius: 14px;
  padding: 1.15rem 1.2rem;
  box-shadow: 0 5px 16px rgba(41,79,88,.04);
}

.fp-home .fp-voice-card blockquote {
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.fp-home .fp-voice-card blockquote p {
  margin: 0 0 .75rem;
  color: #294F58;
  font-size: 1rem;
  line-height: 1.55;
  font-weight: 600;
}

.fp-home .fp-voice-card cite {
  display: block;
  color: #6A7B7F;
  font-size: .88rem;
  font-style: normal;
}

@media (max-width: 850px) {
  .fp-home .fp-voices-grid {
    grid-template-columns: 1fr;
  }

  .fp-home .fp-voices-inline {
    margin-top: 2rem;
    padding-top: 1.75rem;
  }
}


/* --- v4.9: gentle colour variation --- */
:root {
  --fp-tint-sage: #EEF6F0;
  --fp-tint-sky: #EEF6FA;
  --fp-tint-cream: #FCF6E8;
  --fp-tint-blush: #FBF1ED;
  --fp-tint-lilac: #F5F1F8;
  --fp-tint-mint: #EEF8F6;
  --fp-tint-border: rgba(53,111,130,.16);
}

/* Homepage feature cards: three related but distinct tints */
.fp-home .fp-intro .fp-shell > ul > li:nth-child(1) {
  background: var(--fp-tint-sky) !important;
}
.fp-home .fp-intro .fp-shell > ul > li:nth-child(2) {
  background: var(--fp-tint-cream) !important;
}
.fp-home .fp-intro .fp-shell > ul > li:nth-child(3) {
  background: var(--fp-tint-sage) !important;
}

/* Homepage 10-topic tiles: a restrained rotating palette */
.fp-home .fp-topics .fp-shell > ol > li:nth-child(5n+1) {
  background: var(--fp-tint-sky) !important;
}
.fp-home .fp-topics .fp-shell > ol > li:nth-child(5n+2) {
  background: var(--fp-tint-sage) !important;
}
.fp-home .fp-topics .fp-shell > ol > li:nth-child(5n+3) {
  background: var(--fp-tint-cream) !important;
}
.fp-home .fp-topics .fp-shell > ol > li:nth-child(5n+4) {
  background: var(--fp-tint-blush) !important;
}
.fp-home .fp-topics .fp-shell > ol > li:nth-child(5n) {
  background: var(--fp-tint-lilac) !important;
}

/* Homepage course steps */
.fp-home .fp-course .fp-shell > ol > li:nth-child(1) {
  background: var(--fp-tint-sage) !important;
}
.fp-home .fp-course .fp-shell > ol > li:nth-child(2) {
  background: var(--fp-tint-sky) !important;
}
.fp-home .fp-course .fp-shell > ol > li:nth-child(3) {
  background: var(--fp-tint-cream) !important;
}

/* Stimmen: warm, human variation without becoming a rainbow */
.fp-home .fp-voice-card:nth-child(1) {
  background: var(--fp-tint-cream) !important;
}
.fp-home .fp-voice-card:nth-child(2) {
  background: var(--fp-tint-sky) !important;
}
.fp-home .fp-voice-card:nth-child(3) {
  background: var(--fp-tint-sage) !important;
}

/* 10 Themen detail cards */
.fp-themes-list .fp-shell > ol > li:nth-child(5n+1) {
  background: var(--fp-tint-sky) !important;
}
.fp-themes-list .fp-shell > ol > li:nth-child(5n+2) {
  background: var(--fp-tint-sage) !important;
}
.fp-themes-list .fp-shell > ol > li:nth-child(5n+3) {
  background: var(--fp-tint-cream) !important;
}
.fp-themes-list .fp-shell > ol > li:nth-child(5n+4) {
  background: var(--fp-tint-blush) !important;
}
.fp-themes-list .fp-shell > ol > li:nth-child(5n) {
  background: var(--fp-tint-lilac) !important;
}

/* Keep the expanded quotation panel clearly distinct from its card. */
.fp-themes-list .fp-shell > ol > li.is-open > blockquote {
  background: rgba(255,255,255,.72) !important;
}

/* Program overview cards */
.fp-program-settings .fp-shell > ul > li:nth-child(1),
.fp-program-flow .fp-shell > ol > li:nth-child(1) {
  background: var(--fp-tint-sage) !important;
}
.fp-program-settings .fp-shell > ul > li:nth-child(2),
.fp-program-flow .fp-shell > ol > li:nth-child(2) {
  background: var(--fp-tint-sky) !important;
}
.fp-program-settings .fp-shell > ul > li:nth-child(3),
.fp-program-flow .fp-shell > ol > li:nth-child(3) {
  background: var(--fp-tint-cream) !important;
}

/* Course offers: subtly distinguish the different formats/locations */
.fp-courses-offers .fp-shell > ul > li:nth-child(1) {
  background: var(--fp-tint-sage) !important;
  border-color: #BFD9D0 !important;
}
.fp-courses-offers .fp-shell > ul > li:nth-child(2) {
  background: var(--fp-tint-sky) !important;
  border-color: #C4DAE5 !important;
}
.fp-courses-offers .fp-shell > ul > li:nth-child(3) {
  background: var(--fp-tint-cream) !important;
  border-color: #E8DDC1 !important;
}

.fp-courses-expect .fp-shell > ul > li:nth-child(1) {
  background: var(--fp-tint-lilac) !important;
}
.fp-courses-expect .fp-shell > ul > li:nth-child(2) {
  background: var(--fp-tint-sky) !important;
}
.fp-courses-expect .fp-shell > ul > li:nth-child(3) {
  background: var(--fp-tint-sage) !important;
}

/* Organisation / About cards */
.fp-org-cards .fp-shell > ul > li:nth-child(4n+1),
.fp-about-work .fp-shell > ul > li:nth-child(4n+1) {
  background: var(--fp-tint-sage) !important;
}
.fp-org-cards .fp-shell > ul > li:nth-child(4n+2),
.fp-about-work .fp-shell > ul > li:nth-child(4n+2) {
  background: var(--fp-tint-sky) !important;
}
.fp-org-cards .fp-shell > ul > li:nth-child(4n+3),
.fp-about-work .fp-shell > ul > li:nth-child(4n+3) {
  background: var(--fp-tint-cream) !important;
}
.fp-org-cards .fp-shell > ul > li:nth-child(4n),
.fp-about-work .fp-shell > ul > li:nth-child(4n) {
  background: var(--fp-tint-blush) !important;
}

/* A little warmth in selected pale sections */
.fp-program-stats {
  background: #EDF6F8 !important;
}
.fp-org-training {
  background: #F8F3EB !important;
}
.fp-contact-details {
  background: #F1F7F5 !important;
}

/* Maintain a consistent outline so the varied cards still belong together */
.fp-home .fp-intro .fp-shell > ul > li,
.fp-home .fp-topics .fp-shell > ol > li,
.fp-home .fp-course .fp-shell > ol > li,
.fp-home .fp-voice-card,
.fp-themes-list .fp-shell > ol > li,
.fp-program-settings .fp-shell > ul > li,
.fp-program-flow .fp-shell > ol > li,
.fp-courses-offers .fp-shell > ul > li,
.fp-courses-expect .fp-shell > ul > li,
.fp-org-cards .fp-shell > ul > li,
.fp-about-work .fp-shell > ul > li {
  border-width: 1px !important;
}

/* --- v4.10: disable automatic hyphenation site-wide --- */
/* Keep normal line wrapping, but never insert language-based hyphens. */
body,
body * {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  -ms-hyphens: none !important;
}


/* --- v4.12: tighter space below navigation --- */
/* Remove the child theme's extra bottom padding from the navbar.
   Leave only a small 5px gap before the first page-content section. */
@media (min-width: 841px) {
  #header .navbar {
    padding-bottom: 0 !important;
  }

  #body-wrapper > section:first-child,
  .body-wrapper > section:first-child,
  main.fp-home > section:first-child,
  main.fp-markdown-page > section:first-child {
    padding-top: 5px !important;
  }
}

@media (max-width: 840px) {
  #header .navbar {
    padding-bottom: 0 !important;
  }

  #body-wrapper > section:first-child,
  .body-wrapper > section:first-child,
  main.fp-home > section:first-child,
  main.fp-markdown-page > section:first-child {
    padding-top: 5px !important;
  }
}


/* --- v4.14: remove navbar bottom border --- */
#header,
body.header-fixed #header,
body.header-animated #header,
body.scrolled #header {
  border-bottom: none !important;
}


/* --- v4.15: remove remaining separator beneath navigation --- */
/* Hadron/earlier child-theme rules also added a subtle header shadow.
   Remove that, and explicitly prevent a top border/shadow on the content wrapper. */
#header,
body.header-fixed #header,
body.header-animated #header,
body.scrolled #header {
  border-bottom: none !important;
  box-shadow: none !important;
}

#body-wrapper,
.body-wrapper,
main.fp-home,
main.fp-markdown-page {
  border-top: none !important;
  box-shadow: none !important;
}


/* --- v4.16: remove Hadron's large top spacer on ordinary pages --- */
/* Pages such as Impressum/Datenschutz use the generic .content-item route,
   so the large gap was coming from Hadron's #body-wrapper.section padding,
   not from the navbar. */
#body-wrapper.section:has(.content-item),
#body-wrapper:has(.content-item) {
  padding-top: 5px !important;
}

#body-wrapper:has(.content-item) > .container {
  padding-top: 0 !important;
}

#body-wrapper .content-item {
  margin-top: 0 !important;
}

#body-wrapper .content-item > :first-child {
  margin-top: 0 !important;
}


/* --- v4.18: smaller homepage hero text card --- */
.fp-hero-panel {
  width: min(500px, 82vw) !important;
  padding: clamp(1.15rem, 2vw, 1.55rem) !important;
}

.fp-hero-panel h1 {
  max-width: 13ch !important;
  font-size: clamp(2rem, 3vw, 2.55rem) !important;
  margin-bottom: .75rem !important;
}

.fp-hero-lead {
  font-size: 1.04rem !important;
  line-height: 1.48 !important;
  margin-bottom: 1rem !important;
}

@media (max-width: 640px) {
  .fp-hero-panel {
    width: min(92vw, 500px) !important;
    padding: 1.1rem 1.15rem !important;
  }
}


/* --- v4.19: stabilise fixed header while scrolling --- */
/* Hadron/Quark can alter the fixed header when the body gains/loses .scrolled.
   Keep the header geometry identical in both states to prevent the visible jump. */
#header,
body.header-fixed #header,
body.header-animated #header,
body.scrolled #header,
body.header-fixed.scrolled #header,
body.header-animated.scrolled #header {
  transform: none !important;
  -webkit-transform: none !important;
  transition: none !important;
  animation: none !important;
  top: 0 !important;
}

#header .navbar,
body.scrolled #header .navbar,
body.header-fixed.scrolled #header .navbar {
  transform: none !important;
  transition: none !important;
}

@media (min-width: 841px) {
  #header .navbar,
  body.scrolled #header .navbar,
  body.header-fixed.scrolled #header .navbar {
    padding-top: .35rem !important;
    padding-bottom: 0 !important;
  }

  #header .navbar-section.desktop-menu,
  body.scrolled #header .navbar-section.desktop-menu,
  body.header-fixed.scrolled #header .navbar-section.desktop-menu {
    margin-top: .3rem !important;
    padding-top: .25rem !important;
  }

  #header .navbar-brand img,
  #header .logo img,
  body.scrolled #header .navbar-brand img,
  body.scrolled #header .logo img {
    width: 72px !important;
    height: 72px !important;
    max-width: 72px !important;
  }
}

@media (max-width: 840px) {
  #header .navbar,
  body.scrolled #header .navbar,
  body.header-fixed.scrolled #header .navbar {
    min-height: 72px !important;
    padding-top: .25rem !important;
    padding-bottom: 0 !important;
  }

  #header .navbar-brand img,
  #header .logo img,
  body.scrolled #header .navbar-brand img,
  body.scrolled #header .logo img {
    width: 50px !important;
    height: 50px !important;
    max-width: 50px !important;
  }
}


/* --- v4.20: use a stable sticky header instead of Hadron's fixed/animated header --- */
/* A sticky header stays in normal document flow, so crossing Hadron's scroll
   threshold cannot cause the small layout jump seen with a fixed header. */
#header,
body.header-fixed #header,
body.header-animated #header,
body.scrolled #header,
body.header-fixed.scrolled #header,
body.header-animated.scrolled #header {
  position: sticky !important;
  position: -webkit-sticky !important;
  top: 0 !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  transform: none !important;
  -webkit-transform: none !important;
  transition: none !important;
  animation: none !important;
  will-change: auto !important;
  z-index: 1000 !important;
}

/* Prevent inherited fixed-header compensation from introducing a one-time jump. */
body.header-fixed,
body.header-animated,
body.header-fixed.scrolled,
body.header-animated.scrolled {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* --- v4.22: keep 10-Themen quotations collapsed on mobile until tapped --- */
@media (max-width: 840px) {
  .fp-themes-list .fp-shell > ol > li > blockquote {
    max-height: 0 !important;
    overflow: hidden !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 1rem !important;
    border: 0 !important;
  }
  .fp-themes-list .fp-shell > ol > li.is-open > blockquote {
    max-height: 24rem !important;
    overflow: hidden !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    margin: 1rem 0 0 !important;
    padding: 1rem 1rem .95rem !important;
    border-left: 3px solid #8fb2aa !important;
    background: rgba(255,255,255,.72) !important;
    border-radius: 0 10px 10px 0;
  }
}


/* --- v4.23: force mobile hamburger visible on current uncached CSS --- */
@media (max-width: 840px) {
  .mobile-menu {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    right: 1rem !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 2005 !important;
    width: 48px !important;
    height: 48px !important;
    pointer-events: auto !important;
  }

  .mobile-menu .button_container {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    top: auto !important;
    right: auto !important;
    width: 48px !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
  }

  .mobile-menu .button_container span {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    left: 11px !important;
    width: 26px !important;
    height: 3px !important;
    background: #356F82 !important;
    border-radius: 2px !important;
  }

  .mobile-menu .button_container span:nth-of-type(1) {
    top: 14px !important;
  }

  .mobile-menu .button_container span:nth-of-type(2) {
    top: 22px !important;
  }

  .mobile-menu .button_container span:nth-of-type(3) {
    top: 30px !important;
  }

  #header {
    position: sticky !important;
  }

  #header .navbar {
    padding-right: 4.5rem !important;
    box-sizing: border-box !important;
    width: 100% !important;
    margin-left: 0 !important;
  }
}


/* --- v4.24: anchor mobile hamburger to the top-right of the viewport --- */
@media (max-width: 840px) {
  .mobile-menu {
    position: fixed !important;
    top: 12px !important;
    right: 12px !important;
    left: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 3005 !important;
    width: 48px !important;
    height: 48px !important;
  }
}

/* --- v4.25: keep first mobile menu item below the logo/header area --- */
@media (max-width: 840px) {
  .overlay .overlay-menu {
    padding-top: 96px !important;
    box-sizing: border-box !important;
  }
}


/* --- v4.28: Videos submenu navigation --- */
@media (min-width: 841px) {
  #header .navigation > li.has-submenu {
    position: relative;
  }

  #header .navigation > li.has-submenu > .fp-submenu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    min-width: 235px;
    margin: 0;
    padding: .5rem 0;
    list-style: none;
    background: #fff;
    border-radius: 0 0 10px 10px;
    box-shadow: 0 10px 25px rgba(0,0,0,.12);
    z-index: 3100;
  }

  #header .navigation > li.has-submenu:hover > .fp-submenu,
  #header .navigation > li.has-submenu:focus-within > .fp-submenu {
    display: block;
  }

  #header .fp-submenu li {
    display: block;
    margin: 0;
  }

  #header .fp-submenu a {
    display: block;
    padding: .7rem 1rem;
    white-space: nowrap;
    border-radius: 0;
  }
}

@media (max-width: 840px) {
  .overlay .fp-submenu {
    display: block !important;
    position: static !important;
    margin: .25rem 0 .7rem !important;
    padding: 0 !important;
    list-style: none !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .overlay .fp-submenu li {
    margin: 0 !important;
  }

  .overlay .fp-submenu a {
    display: block !important;
    padding: .35rem 1rem !important;
    font-size: .82em !important;
    opacity: .92;
  }
}


/* --- v4.29: corrected nested Videos submenu --- */
@media (min-width: 841px) {
  #header .navigation > li.has-submenu { position: relative; }

  #header .navigation > li.has-submenu > .fp-submenu {
    display:none;
    position:absolute;
    top:100%;
    left:0;
    min-width:265px;
    margin:0;
    padding:.45rem 0;
    list-style:none;
    background:#fff;
    border-radius:0 0 10px 10px;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
    z-index:3200;
  }

  #header .navigation > li.has-submenu:hover > .fp-submenu,
  #header .navigation > li.has-submenu:focus-within > .fp-submenu {
    display:block;
  }

  #header .fp-submenu > li {
    display:block;
    position:relative;
    margin:0;
  }

  #header .fp-submenu a {
    display:block;
    padding:.7rem 1rem;
    white-space:nowrap;
    border-radius:0;
  }

  #header .fp-submenu > li.has-submenu > .fp-submenu {
    display:none;
    position:absolute;
    top:0;
    left:100%;
    min-width:255px;
    margin:0;
    padding:.45rem 0;
    list-style:none;
    background:#fff;
    box-shadow:0 10px 25px rgba(0,0,0,.12);
    z-index:3210;
  }

  #header .fp-submenu > li.has-submenu:hover > .fp-submenu,
  #header .fp-submenu > li.has-submenu:focus-within > .fp-submenu {
    display:block;
  }
}

@media (max-width: 840px) {
  .overlay .fp-submenu {
    display:block !important;
    position:static !important;
    margin:.2rem 0 .55rem !important;
    padding:0 !important;
    list-style:none !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .overlay .fp-submenu.level-1 a {
    padding:.3rem 1rem !important;
    font-size:.86em !important;
  }
  .overlay .fp-submenu.level-2 a {
    padding:.28rem 1.65rem !important;
    font-size:.8em !important;
  }
}

/* --- v4.34: privacy / analytics consent banner --- */
.fp-consent-banner {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 5000;
  padding: 0.8rem;
  background: rgba(25, 44, 50, 0.97);
  color: #fff;
  box-shadow: 0 -8px 30px rgba(0, 0, 0, 0.18);
}

.fp-consent-banner[hidden] {
  display: none !important;
}

.fp-consent-inner {
  width: min(1120px, calc(100% - 1rem));
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}

.fp-consent-copy {
  flex: 1 1 auto;
  min-width: 0;
}

.fp-consent-copy strong {
  display: block;
  margin-bottom: 0.2rem;
  font-size: 1rem;
}

.fp-consent-copy p {
  margin: 0;
  color: #fff;
  font-size: 0.92rem;
  line-height: 1.45;
}

.fp-consent-copy a,
.fp-consent-copy a:visited {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.fp-consent-actions {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.fp-consent-button {
  appearance: none;
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 5px;
  padding: 0.62rem 0.9rem;
  font: inherit;
  font-weight: 600;
  line-height: 1.15;
  cursor: pointer;
}

.fp-consent-secondary {
  background: transparent;
  color: #fff;
}

.fp-consent-primary {
  background: #fff;
  color: #26383d;
  border-color: #fff;
}

.fp-consent-button:hover,
.fp-consent-button:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

#fp-consent-settings {
  cursor: pointer;
}

@media (max-width: 760px) {
  .fp-consent-banner {
    padding: 0.75rem 0.55rem;
  }

  .fp-consent-inner {
    width: min(100%, 620px);
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }

  .fp-consent-actions {
    width: 100%;
  }

  .fp-consent-button {
    flex: 1 1 50%;
  }
}
