:root {
  --paper: #fff9ed;
  --paper-strong: #fff3d7;
  --cream: #f4e7cc;
  --sage: #e6efd8;
  --leaf: #6f985f;
  --forest: #254531;
  --moss: #496a3f;
  --sun: #f2c75b;
  --apricot: #e79a5f;
  --berry: #c66f96;
  --sky: #8db9c7;
  --accent-1: #8DDF78;
  --accent-2: #4EAF73;
  --accent-3: #B969C9;
  --accent-4: #D9547D;
  --accent-5: #FFE21F;
  --accent-6: #2F9DD8;
  --accent-7: #1E315A;
  --accent-8: #EF334A;
  --accent-9: #F6A623;
  --accent: var(--accent-2);
  --accent-contrast: #253328;
  --text: #253328;
  --soft: #667064;
  --line: #ded0b5;
  --white: #fffdf8;
  --shadow: 0 16px 34px rgba(54, 42, 25, .11);
  --shadow-soft: 0 10px 24px rgba(54, 42, 25, .075);
  --radius: 8px;
  --container: 1120px;
  --container-narrow: 820px;
  --section-space: clamp(2.6rem, 5vw, 4.35rem);
  --section-gap: clamp(.9rem, 2vw, 1.25rem);
}

* { box-sizing: border-box; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  color: var(--text);
  background:
    radial-gradient(circle at 16px 16px, rgba(111, 152, 95, .10) 0 2px, transparent 2px 100%) 0 0 / 44px 44px,
    linear-gradient(180deg, #fffaf0 0%, #f8edd8 48%, #fff9ed 100%);
  line-height: 1.62;
}

a { color: #315f3f; text-underline-offset: .2em; }
img { display: block; max-width: 100%; }
p { margin: 0 0 .9rem; }
p:last-child { margin-bottom: 0; }
ul, ol { margin-top: .45rem; }

.skip-link {
  position: absolute;
  left: -999px;
  top: 1rem;
  z-index: 40;
  padding: .7rem .9rem;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.skip-link:focus { left: 1rem; }

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .55rem max(clamp(.9rem, 2.5vw, 1.5rem), calc((100vw - var(--container)) / 2));
  background: rgba(255, 249, 237, .95);
  border-bottom: 1px solid rgba(94, 75, 45, .16);
  backdrop-filter: blur(12px);
}
.brand {
  display: flex;
  align-items: center;
  gap: .8rem;
  min-width: 260px;
  color: var(--forest);
  text-decoration: none;
}
.brand__logo {
  width: clamp(72px, 7vw, 96px);
  height: clamp(72px, 7vw, 96px);
  object-fit: contain;
  padding: .22rem;
  background: var(--white);
  border: 3px solid rgba(242, 199, 91, .9);
  border-radius: var(--radius);
  box-shadow: 4px 4px 0 rgba(37, 69, 49, .12);
}
.brand strong { display: block; line-height: 1.05; }
.brand small { display: block; margin-top: .12rem; color: var(--moss); line-height: 1.1; }
.main-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: .18rem .34rem;
}
.main-nav a,
.nav-item > a {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: .38rem .55rem;
  border-radius: var(--radius);
  color: var(--forest);
  text-decoration: none;
  font-weight: 740;
}
.main-nav a:hover,
.nav-item:hover > a { background: var(--sage); }
.nav-item { position: relative; }
.nav-submenu {
  position: absolute;
  top: calc(100% + .35rem);
  left: 0;
  z-index: 25;
  min-width: 230px;
  display: grid;
  gap: .18rem;
  padding: .45rem;
  border: 1px solid rgba(94, 75, 45, .16);
  border-radius: var(--radius);
  background: rgba(255, 253, 248, .98);
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity .16s ease, transform .16s ease, visibility .16s ease;
}
.nav-item:hover .nav-submenu,
.nav-item:focus-within .nav-submenu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.nav-submenu a {
  justify-content: flex-start;
  white-space: nowrap;
}
.nav-toggle {
  display: none;
  min-height: 42px;
  padding: .55rem .75rem;
  border: 1px solid var(--forest);
  border-radius: var(--radius);
  background: var(--white);
  color: var(--forest);
  font: inherit;
  font-weight: 800;
}

.idea-stamp {
  position: fixed;
  right: clamp(.75rem, 2vw, 1.35rem);
  bottom: clamp(.75rem, 2vw, 1.35rem);
  z-index: 18;
  width: 148px;
  min-height: 148px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: .25rem;
  padding: 1rem;
  border: 3px solid rgba(198, 111, 150, .82);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 253, 248, .94) 0 56%, rgba(255, 244, 207, .92) 57% 100%);
  color: #7a3151;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 14px 28px rgba(54, 42, 25, .16), inset 0 0 0 2px rgba(255, 253, 248, .9);
  transform: rotate(-7deg);
}

.idea-stamp::before {
  content: "";
  position: absolute;
  inset: 10px;
  border: 1px dashed rgba(198, 111, 150, .68);
  border-radius: 50%;
}

.idea-stamp span,
.idea-stamp strong {
  position: relative;
  line-height: 1.05;
}

.idea-stamp span {
  font-size: .72rem;
  font-weight: 850;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.idea-stamp strong {
  max-width: 110px;
  font-size: 1.12rem;
  font-weight: 920;
}

.idea-stamp:hover,
.idea-stamp:focus-visible {
  background: #fffdf8;
  transform: rotate(-4deg) translateY(-2px);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible,
summary:focus-visible {
  outline: 3px solid var(--sun);
  outline-offset: 3px;
}

h1, h2, h3 {
  margin: 0 0 .78rem;
  color: var(--forest);
  line-height: 1.08;
  letter-spacing: 0;
}
h1 { max-width: 720px; font-size: clamp(2rem, 4.8vw, 3.9rem); }
h2 { font-size: clamp(1.55rem, 3vw, 2.35rem); }
h3 { font-size: clamp(1.08rem, 1.5vw, 1.28rem); }
.lead, .hero p, .page-title p:not(.eyebrow) { color: #334635; font-size: 1.08rem; }

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: 0 0 .65rem;
  color: var(--moss);
  font-size: .82rem;
  font-weight: 860;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.eyebrow::before {
  content: "";
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
  background: var(--sun);
  border: 1px solid rgba(37, 69, 49, .2);
  border-radius: 55% 45% 50% 50%;
}

.hero {
  position: relative;
  overflow: hidden;
  padding: clamp(2.1rem, 4.6vw, 3.8rem) 1rem clamp(1.6rem, 3vw, 2.4rem);
  background:
    linear-gradient(118deg, rgba(255, 249, 237, .96), rgba(246, 236, 208, .9) 46%, rgba(230, 239, 216, .88)),
    url("/assets/img/paper-garden.svg") center / cover;
}
.hero__brandmark {
  position: absolute;
  right: clamp(1rem, 4vw, 3rem);
  bottom: -46px;
  width: clamp(170px, 22vw, 280px);
  opacity: .08;
  pointer-events: none;
  transform: rotate(-4deg);
}
.hero__brandmark img { width: 100%; }
.logo-badge {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: .7rem;
  padding: .38rem .7rem .38rem .38rem;
  border: 1px solid rgba(198, 79, 143, .22);
  border-radius: 999px;
  background: rgba(255, 253, 248, .86);
  box-shadow: var(--shadow-soft);
  color: #74304f;
  font-weight: 850;
}
.logo-badge img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}
.hero-badge {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  margin-bottom: .7rem;
  padding: .42rem .75rem;
  border: 1px solid rgba(198, 79, 143, .22);
  border-radius: 999px;
  background: rgba(255, 253, 248, .86);
  box-shadow: var(--shadow-soft);
  color: #74304f;
  font-weight: 850;
}
.hero::before {
  content: "";
  position: absolute;
  left: clamp(1rem, 5vw, 4rem);
  bottom: -72px;
  width: 180px;
  height: 180px;
  background: radial-gradient(circle, var(--sun) 0 5px, transparent 6px 100%) 0 0 / 28px 28px;
  opacity: .22;
  transform: rotate(6deg);
}
.hero::after {
  content: "";
  position: absolute;
  right: 5vw;
  top: 84px;
  width: 132px;
  height: 92px;
  border: 2px dashed rgba(37, 69, 49, .22);
  border-radius: 54% 46% 58% 42%;
  background: rgba(141, 185, 199, .22);
  opacity: .55;
  transform: rotate(8deg);
}
.hero--small {
  background: linear-gradient(120deg, color-mix(in srgb, var(--group-color, var(--sage)) 24%, var(--paper)), var(--paper));
}
.hero__inner {
  position: relative;
  z-index: 1;
  max-width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .82fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: center;
}
.hero__text { max-width: 680px; }
.hero__text p { max-width: 620px; }
.hero__inner > img {
  width: 100%;
  height: clamp(250px, 30vw, 360px);
  object-fit: cover;
  border: 5px solid #fff8e8;
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1.35rem;
}
.button {
  min-height: 45px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .72rem 1rem;
  border: 0;
  border-radius: var(--radius);
  background: var(--forest);
  color: white;
  box-shadow: 4px 4px 0 rgba(37, 69, 49, .14);
  cursor: pointer;
  font: inherit;
  font-weight: 790;
  text-decoration: none;
}
.button:hover { transform: translateY(-1px); }
.button--light, .button--secondary { background: var(--sun); color: #2f2b17; }
.button--ghost, .button--text {
  background: var(--white);
  color: var(--forest);
  border: 1px solid rgba(37, 69, 49, .28);
}
.button--small { min-height: 38px; padding: .5rem .8rem; }

.info-bar {
  padding: 0 1rem var(--section-gap);
  background: linear-gradient(180deg, rgba(255, 249, 237, .98), rgba(255, 249, 237, .88));
}
.info-bar__inner {
  max-width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: .75rem;
}
.info-bar article {
  position: relative;
  min-height: 126px;
  display: flex;
  align-items: flex-start;
  gap: .75rem;
  padding: .95rem;
  background: var(--white);
  border: 1px solid rgba(122, 92, 52, .16);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.info-bar article {
  border-top: 5px solid var(--accent);
  background:
    radial-gradient(circle at 92% 16%, color-mix(in srgb, var(--accent) 16%, transparent), transparent 52px),
    rgba(255, 253, 248, .9);
}
.info-bar article > span {
  background: color-mix(in srgb, var(--accent) 20%, white);
  border-color: color-mix(in srgb, var(--accent) 38%, white);
}
.info-bar article div { min-width: 0; }
.info-bar__item { grid-column: span 2; }
.info-bar__item--hours { grid-column: span 4; }
.info-bar__item--phone { grid-column: span 2; }
.info-bar__item--address { grid-column: span 3; }
.info-bar__item--signup { grid-column: span 3; }
.info-bar article > span,
.card-icon,
.feature > span {
  min-width: 34px;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  display: inline-grid;
  place-items: center;
  border-radius: var(--radius);
  background: var(--sun);
  color: #2f2b17;
  font-size: .78rem;
  font-weight: 850;
}
.info-bar article > span,
.card-icon,
.feature > span {
  background: color-mix(in srgb, var(--accent) 22%, white);
  border: 1px solid color-mix(in srgb, var(--accent) 42%, white);
  color: var(--forest);
}
.info-bar strong { color: var(--forest); }
.info-bar p { color: var(--soft); font-size: .94rem; line-height: 1.35; }
.info-bar__item--linked { cursor: pointer; }
.info-bar__item--linked:hover,
.info-bar__item--linked:focus-within {
  z-index: 1;
  border-color: color-mix(in srgb, var(--accent) 48%, var(--line));
  box-shadow: 0 16px 32px rgba(54, 42, 25, .13);
  transform: translateY(-2px);
}
.info-bar__stretched-link {
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
}
.info-bar__stretched-link:focus-visible {
  outline: 4px solid color-mix(in srgb, var(--accent) 62%, white);
  outline-offset: 3px;
}
.info-bar__link-label {
  display: inline-block;
  margin-top: .45rem;
  color: var(--forest);
  font-size: .78rem;
  font-weight: 820;
}
.info-bar__line { display: block; }
.info-bar__item--hours .info-bar__line,
.info-bar__item--address .info-bar__line { white-space: nowrap; }

.section, .builder-section {
  position: relative;
  padding: var(--section-space) 1rem;
}
.section__inner, .builder-section__inner {
  max-width: var(--container);
  margin: 0 auto;
}
.section__inner.narrow, .narrow, .builder-section__inner--narrow { max-width: var(--container-narrow); }
.builder-section__inner--wide { max-width: var(--container); }
.page-title {
  padding: clamp(1.7rem, 4vw, 3rem) 1rem clamp(1rem, 2vw, 1.5rem);
  background: linear-gradient(135deg, rgba(255, 249, 237, .96), rgba(230, 239, 216, .9));
}
.page-title__inner { max-width: var(--container); margin: 0 auto; }
.page-title h1 { font-size: clamp(2rem, 4vw, 3.4rem); }
.page-title p:not(.eyebrow) { max-width: 720px; }
.section--tint, .builder-section--tint { background: linear-gradient(180deg, #edf4df, #f8f1de); }
.section--paper, .builder-section--paper { background: var(--cream); }
.section--contact, .builder-section--contact { background: linear-gradient(135deg, #e7f0dc, #fff4d6); }
.builder-section--sun { background: linear-gradient(110deg, #fff4cf, #f7e0c6); }
.builder-section--pad-small { padding-top: 1.4rem; padding-bottom: 1.4rem; }
.builder-section--pad-large { padding-top: clamp(2.8rem, 6vw, 5rem); padding-bottom: clamp(2.8rem, 6vw, 5rem); }
.builder-section--soft { border-radius: 0 0 48% 48% / 0 0 3% 3%; }

.text-section .section__inner { font-size: 1.08rem; }
.text-card,
.card,
.team-card,
.event,
.contact-card,
.contact-grid > div,
.contact-grid form,
.builder-column--bg-paper,
.builder-column--bg-tint,
.builder-faq details,
.download-list li {
  background: rgba(255, 253, 248, .9);
  border: 1px solid rgba(122, 92, 52, .16);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}
.text-card {
  padding: clamp(1.15rem, 2.2vw, 1.65rem);
  border-left: 7px solid var(--leaf);
}
.text-section:nth-of-type(odd) .text-card { border-left-color: var(--apricot); }
.text-card p, .builder-text p { max-width: 68ch; }
.text-section--image .section__inner {
  display: grid;
  grid-template-columns: minmax(280px, .9fr) minmax(0, 1.1fr);
  gap: clamp(1.2rem, 3vw, 2rem);
  align-items: center;
}
.text-section--image img,
.builder-image img {
  width: 100%;
  max-height: 420px;
  object-fit: cover;
  border: 6px solid #fff8e8;
  border-radius: var(--radius);
  box-shadow: 0 14px 30px rgba(54, 42, 25, .12);
}
.text-section--image img { min-height: 300px; }

.card-grid, .group-grid, .team-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: .95rem;
}
.quick-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.card {
  position: relative;
  padding: 1rem;
  border-top: 5px solid var(--accent);
  background:
    radial-gradient(circle at calc(100% - 18px) 18px, color-mix(in srgb, var(--accent) 14%, transparent), transparent 48px),
    rgba(255, 253, 248, .9);
}
.card::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 1rem;
  width: 46px;
  height: 5px;
  background: var(--accent);
  border-radius: 0 0 6px 6px;
}
.card:nth-child(2)::before { background: var(--leaf); }
.card:nth-child(3)::before { background: var(--berry); }
.card:nth-child(4)::before { background: var(--sky); }
.card:nth-child(9n + 1) { --accent: var(--accent-1); --accent-contrast: #253328; }
.card:nth-child(9n + 2) { --accent: var(--accent-2); --accent-contrast: #253328; }
.card:nth-child(9n + 3) { --accent: var(--accent-3); --accent-contrast: #253328; }
.card:nth-child(9n + 4) { --accent: var(--accent-4); --accent-contrast: #fffdf8; }
.card:nth-child(9n + 5) { --accent: var(--accent-5); --accent-contrast: #253328; }
.card:nth-child(9n + 6) { --accent: var(--accent-6); --accent-contrast: #253328; }
.card:nth-child(9n + 7) { --accent: var(--accent-7); --accent-contrast: #fffdf8; }
.card:nth-child(9n + 8) { --accent: var(--accent-8); --accent-contrast: #fffdf8; }
.card:nth-child(9n) { --accent: var(--accent-9); --accent-contrast: #253328; }
.quick-card { overflow: hidden; padding: 0; }
.quick-card a {
  min-height: 100%;
  display: grid;
  gap: .45rem;
  padding: 1rem;
  color: inherit;
  text-decoration: none;
}
.quick-card a:hover {
  background: color-mix(in srgb, var(--accent) 12%, #fffdf8);
}
.quick-card strong {
  color: color-mix(in srgb, var(--accent) 58%, var(--forest));
  font-size: .92rem;
}
.quick-card .card-icon {
  background: color-mix(in srgb, var(--accent) 24%, white);
  border-color: color-mix(in srgb, var(--accent) 42%, white);
}
.info-bar__item:nth-child(9n + 1),
.group-card:nth-child(9n + 1),
.team-card:nth-child(9n + 1),
.themed-collage:nth-child(9n + 1) { --accent: var(--accent-1); --accent-contrast: #253328; }
.info-bar__item:nth-child(9n + 2),
.group-card:nth-child(9n + 2),
.team-card:nth-child(9n + 2),
.themed-collage:nth-child(9n + 2) { --accent: var(--accent-2); --accent-contrast: #253328; }
.info-bar__item:nth-child(9n + 3),
.group-card:nth-child(9n + 3),
.team-card:nth-child(9n + 3),
.themed-collage:nth-child(9n + 3) { --accent: var(--accent-3); --accent-contrast: #253328; }
.info-bar__item:nth-child(9n + 4),
.group-card:nth-child(9n + 4),
.team-card:nth-child(9n + 4),
.themed-collage:nth-child(9n + 4) { --accent: var(--accent-4); --accent-contrast: #fffdf8; }
.info-bar__item:nth-child(9n + 5),
.group-card:nth-child(9n + 5),
.team-card:nth-child(9n + 5),
.themed-collage:nth-child(9n + 5) { --accent: var(--accent-5); --accent-contrast: #253328; }
.info-bar__item:nth-child(9n + 6),
.group-card:nth-child(9n + 6),
.team-card:nth-child(9n + 6),
.themed-collage:nth-child(9n + 6) { --accent: var(--accent-6); --accent-contrast: #253328; }
.info-bar__item:nth-child(9n + 7),
.group-card:nth-child(9n + 7),
.team-card:nth-child(9n + 7),
.themed-collage:nth-child(9n + 7) { --accent: var(--accent-7); --accent-contrast: #fffdf8; }
.info-bar__item:nth-child(9n + 8),
.group-card:nth-child(9n + 8),
.team-card:nth-child(9n + 8),
.themed-collage:nth-child(9n + 8) { --accent: var(--accent-8); --accent-contrast: #fffdf8; }
.info-bar__item:nth-child(9n),
.group-card:nth-child(9n),
.team-card:nth-child(9n),
.themed-collage:nth-child(9n) { --accent: var(--accent-9); --accent-contrast: #253328; }

.features-section {
  overflow: hidden;
  background:
    radial-gradient(circle at 9% 18%, rgba(242, 199, 91, .18), transparent 220px),
    radial-gradient(circle at 92% 12%, rgba(111, 152, 95, .18), transparent 260px),
    linear-gradient(180deg, #fffaf0 0%, #eef5e4 48%, #fff7e7 100%);
}
.features-section .section__inner { position: relative; max-width: var(--container); }
.features-section .section__inner::before,
.features-section .section__inner::after {
  content: "";
  position: absolute;
  pointer-events: none;
  opacity: .24;
}
.features-section .section__inner::before {
  right: -36px;
  top: -20px;
  width: 180px;
  height: 120px;
  border: 2px dashed rgba(73, 106, 63, .28);
  border-radius: 54% 46% 58% 42%;
  transform: rotate(8deg);
}
.features-section .section__inner::after {
  left: -54px;
  bottom: -34px;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle, rgba(231, 154, 95, .72) 0 3px, transparent 4px 100%) 0 0 / 24px 24px;
}
.features-heading {
  position: relative;
  z-index: 1;
  max-width: 760px;
  margin-bottom: clamp(1.2rem, 3vw, 1.8rem);
}
.feature-bento {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: minmax(168px, auto);
  gap: clamp(.85rem, 1.8vw, 1.15rem);
}
.feature-bento__card {
  min-height: 100%;
  grid-column: span 3;
  display: flex;
  flex-direction: column;
  gap: .55rem;
  padding: clamp(1rem, 2vw, 1.18rem);
  background:
    radial-gradient(circle at 90% 14%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 64px),
    rgba(255, 253, 248, .9);
  border: 1px solid color-mix(in srgb, var(--accent) 20%, rgba(122, 92, 52, .15));
  border-top: 6px solid var(--accent);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.feature-bento__card--hero {
  position: relative;
  grid-column: span 6;
  grid-row: span 2;
  min-height: 352px;
  justify-content: flex-end;
  overflow: hidden;
  padding: clamp(1.3rem, 3vw, 1.65rem);
  background:
    linear-gradient(140deg, rgba(37, 69, 49, .95), rgba(73, 106, 63, .88)),
    url("/storage/uploads/legacy-nature.jpg") center / cover;
  border-color: rgba(255, 253, 248, .42);
  color: #fffdf8;
  box-shadow: 0 18px 42px rgba(37, 69, 49, .22);
}
.feature-bento__card--hero.feature-bento__card--image-bg {
  background:
    linear-gradient(140deg, rgba(37, 69, 49, .88), rgba(73, 106, 63, .68)),
    var(--feature-bg) center / cover;
}
.feature-bento__card--hero::before {
  content: "";
  position: absolute;
  inset: 1rem 1rem auto auto;
  width: 86px;
  height: 86px;
  background: rgba(255, 253, 248, .16);
  border: 1px solid rgba(255, 253, 248, .28);
  border-radius: 56% 44% 52% 48%;
}
.feature-bento__card--hero > * { position: relative; z-index: 1; }
.feature-bento__image {
  width: 100%;
  margin: 0 0 .9rem;
  overflow: hidden;
  border-radius: 20px;
  background: rgba(255,255,255,.18);
}
.feature-bento__image img {
  width: 100%;
  height: 150px;
  display: block;
  object-fit: cover;
}
.feature-bento__card--hero .feature-bento__image {
  margin-bottom: 1rem;
  border: 5px solid rgba(255,255,255,.28);
  box-shadow: 0 14px 30px rgba(29, 54, 39, .20);
}
.feature-bento__card--hero .feature-bento__image img {
  height: clamp(170px, 24vw, 250px);
}
.feature-bento__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .6rem;
  margin-bottom: .15rem;
}
.feature-bento__icon {
  min-width: 42px;
  height: 42px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(37, 69, 49, .16);
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 22%, white);
  color: #2f2b17;
  font-size: .76rem;
  font-weight: 850;
}
.feature-bento__card:nth-child(9n + 1) { --accent: var(--accent-1); --accent-contrast: #253328; }
.feature-bento__card:nth-child(9n + 2) { --accent: var(--accent-2); --accent-contrast: #253328; }
.feature-bento__card:nth-child(9n + 3) { --accent: var(--accent-3); --accent-contrast: #253328; }
.feature-bento__card:nth-child(9n + 4) { --accent: var(--accent-4); --accent-contrast: #fffdf8; }
.feature-bento__card:nth-child(9n + 5) { --accent: var(--accent-5); --accent-contrast: #253328; }
.feature-bento__card:nth-child(9n + 6) { --accent: var(--accent-6); --accent-contrast: #253328; }
.feature-bento__card:nth-child(9n + 7) { --accent: var(--accent-7); --accent-contrast: #fffdf8; }
.feature-bento__card:nth-child(9n + 8) { --accent: var(--accent-8); --accent-contrast: #fffdf8; }
.feature-bento__card:nth-child(9n) { --accent: var(--accent-9); --accent-contrast: #253328; }
.feature-bento__card--hero .feature-bento__icon {
  width: 54px;
  height: 54px;
  background: rgba(255, 253, 248, .92);
  color: var(--forest);
}
.feature-bento__badge,
.group-card span,
.event span,
.team-meta span {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 28px;
  padding: .24rem .58rem;
  border-radius: 999px;
  font-size: .86rem;
  font-weight: 800;
}
.feature-bento__badge {
  background: color-mix(in srgb, var(--accent) 18%, white);
  color: var(--forest);
  border: 1px solid color-mix(in srgb, var(--accent) 38%, white);
}
.feature-bento__card--hero h3 { color: #fffdf8; font-size: clamp(1.65rem, 3vw, 2.25rem); }
.feature-bento__card p { color: var(--soft); font-size: .98rem; line-height: 1.55; }
.feature-bento__card--hero p { max-width: 45ch; color: rgba(255, 253, 248, .92); font-size: 1.04rem; }
.feature-bento__collage {
  margin: 0 0 .7rem;
}
.feature-bento__card--hero .feature-bento__collage {
  max-width: 460px;
}
.feature-bento__actions { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: .55rem; }
.feature-bento__link {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: .5rem .75rem;
  border-radius: var(--radius);
  background: #fffdf8;
  color: var(--forest);
  box-shadow: 3px 3px 0 rgba(255, 253, 248, .22);
  font-weight: 830;
  text-decoration: none;
}
.feature-bento__link--quiet {
  background: rgba(255, 253, 248, .16);
  color: #fffdf8;
  border: 1px solid rgba(255, 253, 248, .42);
  box-shadow: none;
}
@media (hover: hover) and (pointer: fine) {
  .feature-bento__card:hover,
  .group-card:hover,
  .team-card:hover,
  .card:hover {
    transform: translateY(-3px);
    box-shadow: 0 18px 36px rgba(54, 42, 25, .12);
    border-color: color-mix(in srgb, var(--accent) 46%, var(--line));
  }
  .themed-collage:hover {
    border-color: color-mix(in srgb, var(--accent) 46%, var(--line));
    box-shadow: 0 18px 36px rgba(54, 42, 25, .12);
  }
}

.group-grid { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.group-card {
  display: grid;
  grid-template-rows: 176px 1fr;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 70px),
    var(--white);
  border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-top: 6px solid var(--accent);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  transition: transform .2s ease, box-shadow .2s ease;
}
.group-card img { width: 100%; height: 176px; object-fit: cover; }
.group-card div {
  position: relative;
  display: grid;
  align-content: start;
  gap: .35rem;
  padding: 1rem;
  border-top: 7px solid color-mix(in srgb, var(--accent) 78%, var(--group-color, var(--leaf)));
}
.group-card span {
  margin-bottom: .15rem;
  background: color-mix(in srgb, var(--accent) 20%, white);
  border: 1px solid color-mix(in srgb, var(--accent) 42%, white);
  color: var(--forest);
}
.group-card__team {
  display: block;
  margin: .15rem 0 .5rem;
  color: var(--moss);
  font-weight: 760;
  line-height: 1.35;
}
.group-card a { font-weight: 820; }
.group-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr);
  gap: clamp(1rem, 3vw, 1.5rem);
  align-items: start;
}
.group-facts dl { display: grid; gap: .65rem; margin: 0; }
.group-facts dt { color: var(--forest); font-weight: 850; }
.group-facts dd { margin: 0; color: var(--soft); }

.team-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.team-card {
  --team-color: var(--leaf);
  min-height: 100%;
  display: grid;
  align-items: start;
  gap: .85rem;
  padding: 1rem;
  text-align: center;
  border-top: 7px solid color-mix(in srgb, var(--accent) 78%, var(--team-color));
  background:
    radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 68px),
    rgba(255, 253, 248, .9);
  transition: transform .2s ease, box-shadow .2s ease;
}
.team-card--lead {
  --team-color: var(--sun);
  background:
    radial-gradient(circle at 88% 10%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 72px),
    linear-gradient(135deg, #fffdf8, #fff4cf);
}
.team-photo {
  position: relative;
  width: 118px;
  height: 118px;
  display: inline-block;
  margin: .15rem auto 0;
  border-radius: 50%;
  text-decoration: none;
}
.team-photo::after {
  content: "Vergroessern";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%) translateY(4px);
  opacity: 0;
  pointer-events: none;
  padding: .18rem .45rem;
  border-radius: 999px;
  background: var(--forest);
  color: white;
  font-size: .72rem;
  font-weight: 760;
  transition: opacity .18s ease, transform .18s ease;
}
.team-photo:hover::after,
.team-photo:focus-visible::after { opacity: 1; transform: translateX(-50%) translateY(0); }
.team-card img {
  width: 118px;
  height: 118px;
  object-fit: cover;
  border: 6px solid #fff8e8;
  border-radius: 50%;
  background: var(--paper);
  box-shadow: 5px 5px 0 color-mix(in srgb, var(--team-color) 26%, transparent);
  transition: transform .22s ease, box-shadow .22s ease;
}
.team-photo:hover img,
.team-photo:focus-visible img {
  transform: scale(1.08);
  box-shadow: 7px 7px 0 color-mix(in srgb, var(--team-color) 34%, transparent), 0 10px 24px rgba(54, 42, 25, .16);
}
.team-card__body { display: grid; gap: .45rem; }
.team-card h3 { margin: 0; }
.team-meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .35rem;
}
.team-meta span {
  background: color-mix(in srgb, var(--team-color) 18%, #fffaf0);
  border: 1px solid color-mix(in srgb, var(--team-color) 42%, #fffaf0);
  color: var(--forest);
  font-size: .9rem;
  font-weight: 760;
}
.team-meta--special span {
  background: #fff4cf;
  border-color: rgba(242, 199, 91, .75);
  color: #4b421c;
}
.team-note { margin: .05rem 0 0; color: var(--soft); font-size: .96rem; }

.kindergarten-hero {
  padding: 1.5rem 1rem var(--section-gap);
  background:
    radial-gradient(circle at 15% 18%, rgba(244, 196, 84, .20), transparent 30%),
    linear-gradient(180deg, #fff9ed 0%, #f4f8ef 100%);
}
.kindergarten-hero__inner {
  max-width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 360px);
  gap: 1.5rem;
  align-items: end;
}
.kindergarten-hero__text { max-width: 760px; }
.kindergarten-hero h1 {
  margin: .2rem 0 .75rem;
  font-size: clamp(2.35rem, 5vw, 4.6rem);
}
.kindergarten-hero__text > p {
  max-width: 680px;
  color: #4f5f4e;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  line-height: 1.65;
}
.kindergarten-hero__facts {
  display: flex;
  flex-wrap: wrap;
  gap: .55rem;
  margin-top: 1rem;
}
.kindergarten-hero__facts span,
.kindergarten-hero__note {
  border: 1px solid rgba(37, 69, 49, .14);
  background: rgba(255,255,255,.76);
  box-shadow: 0 12px 30px rgba(61, 92, 64, .08);
}
.kindergarten-hero__facts span {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: .5rem .8rem;
  border-radius: 999px;
  color: var(--muted);
  font-weight: 800;
}
.kindergarten-hero__facts strong {
  margin-right: .3rem;
  color: var(--green);
}
.kindergarten-hero__note {
  min-height: 210px;
  display: grid;
  align-content: end;
  gap: .25rem;
  padding: 1.25rem;
  border-radius: 26px 26px 36px 18px;
  transform: rotate(-1.2deg);
}
.kindergarten-hero__note strong {
  color: var(--green);
  font-size: 1.55rem;
}
.kindergarten-hero__note span {
  color: var(--muted);
  font-weight: 700;
}
.kindergarten-hero__image {
  width: 100%;
  height: clamp(260px, 34vw, 420px);
  object-fit: cover;
  border: 8px solid rgba(255, 248, 232, .95);
  border-radius: 28px 28px 40px 18px;
  box-shadow: 0 18px 44px rgba(61, 92, 64, .16);
}
.section-heading {
  max-width: 760px;
  margin-bottom: 1.2rem;
}
.section-heading h2 { margin: .15rem 0 .45rem; }
.section-heading p:not(.eyebrow) {
  margin: 0;
  color: var(--muted);
  font-size: 1.06rem;
  line-height: 1.6;
}
.kindergarten-space { background: #fff9ed; }
.kindergarten-space__lead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, 390px);
  gap: 1rem;
  align-items: end;
  margin-bottom: 1.2rem;
}
.kindergarten-space__lead .section-heading {
  margin-bottom: 0;
}
.kindergarten-space__image {
  margin: 0;
}
.kindergarten-space__image img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  border: 7px solid #fff;
  border-radius: 24px 18px 30px 20px;
  box-shadow: 0 16px 34px rgba(61, 92, 64, .12);
}
.kindergarten-space__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .9rem;
}
.kindergarten-space__grid article {
  min-height: 210px;
  padding: 1rem;
  border: 1px solid rgba(37, 69, 49, .12);
  border-radius: 22px;
  background: linear-gradient(180deg, #fff, #f9f6ea);
  box-shadow: 0 14px 34px rgba(61, 92, 64, .08);
}
.kindergarten-space__grid h3 { margin-top: 0; }
.kindergarten-space__grid p {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.58;
}
.kindergarten-freedom {
  background: linear-gradient(180deg, #f4f8ef, #fff9ed);
}
.kindergarten-freedom__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(280px, .65fr);
  gap: 1rem;
  align-items: stretch;
}
.kindergarten-freedom .text-card { max-width: none; }
.kindergarten-play-card {
  padding: 1.2rem;
  border: 1px solid rgba(37, 69, 49, .14);
  border-radius: 28px 18px 30px 20px;
  background: #fff;
  box-shadow: var(--shadow);
}
.kindergarten-play-card h3 { margin-top: 0; }
.kindergarten-play-card ul {
  display: grid;
  gap: .55rem;
  margin: 0;
  padding: 0;
  list-style: none;
}
.kindergarten-play-card li {
  padding: .7rem .75rem;
  border-radius: 16px;
  background: #f4f8ef;
  color: #4f5f4e;
  font-weight: 750;
}
.kindergarten-groups .group-grid,
.kindergarten-team .team-grid { margin-top: .3rem; }

.concept-nature-text-grid,
.concept-nature-info-grid {
  display: grid;
  grid-template-columns: minmax(0, .98fr) minmax(320px, .78fr);
  gap: 1.35rem;
  align-items: start;
}

.concept-nature-concept .section-heading {
  max-width: 900px;
}

.concept-nature-principles {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .75rem;
}

.concept-nature-principles article {
  padding: .9rem .95rem;
  border-radius: var(--radius);
  background: rgba(255, 253, 248, .72);
  border: 1px solid rgba(75, 103, 65, .15);
}

.concept-nature-principles strong { color: var(--forest); }
.concept-nature-principles p { margin: .25rem 0 0; }

.concept-nature-learning {
  background:
    radial-gradient(circle at 18px 18px, rgba(111, 152, 95, .10) 0 2px, transparent 2px 100%) 0 0 / 44px 44px,
    linear-gradient(180deg, #fff7e7, #f7efe0);
}

.concept-nature-learning .section-heading {
  max-width: 860px;
}

.concept-nature-learning .kindergarten-space__grid {
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  margin: 0 auto;
  max-width: 1120px;
}

.concept-nature-learning .kindergarten-space__grid article {
  min-height: 260px;
}

.concept-nature-wald { background: #fffdf8; }

.concept-nature-info-grid {
  grid-template-columns: minmax(190px, .68fr) minmax(0, 1.28fr) minmax(245px, .9fr);
  margin-top: 1.4rem;
  align-items: stretch;
}

.concept-nature-info-grid > * {
  min-height: 100%;
}

.concept-nature-schedule dl {
  display: grid;
  gap: .65rem;
  margin: 0;
}

.concept-nature-schedule dl div {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .8rem 0;
  border-bottom: 1px solid rgba(75, 103, 65, .18);
}

.concept-nature-schedule dt { font-weight: 800; color: var(--forest); }
.concept-nature-schedule dd { margin: 0; color: var(--soft); }

.concept-nature-important {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid rgba(75, 103, 65, .18);
}

.concept-nature-important strong { color: var(--forest); }
.concept-nature-important p { margin-bottom: 0; }
.concept-nature-quote cite { display: block; margin-top: .8rem; font-size: 1rem; font-style: normal; }

.team-card,
.team-card__body,
.team-meta {
  min-width: 0;
}
.team-meta span {
  max-width: 100%;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.25;
  text-align: center;
}

.event-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .9rem;
}
.event {
  min-height: 100%;
  display: grid;
  grid-template-columns: 1fr;
  align-content: start;
  gap: .75rem;
  padding: 1rem;
  border-left: 6px solid var(--leaf);
}
.event--empty { grid-column: 1 / -1; }
.event:nth-child(2n) { border-left-color: var(--apricot); }
.event:nth-child(3n) { border-left-color: var(--berry); }
.event time {
  width: max-content;
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: .2rem .55rem;
  border-radius: 999px;
  background: var(--paper-strong);
  color: var(--forest);
  font-weight: 860;
}
.event span { background: var(--paper-strong); }
.event p { color: var(--soft); font-size: .96rem; }
.event small {
  display: block;
  margin: .15rem 0 .25rem;
  color: var(--soft);
  font-weight: 750;
}
.section-action { margin-top: 1rem; }

.current-hero {
  padding: clamp(2rem, 4vw, 3.5rem) 1rem clamp(1.5rem, 3vw, 2.4rem);
  background:
    linear-gradient(118deg, rgba(255, 249, 237, .96), rgba(244, 248, 239, .94)),
    url("/assets/img/paper-garden.svg") center / cover;
}

.current-hero h1 {
  margin-bottom: .6rem;
}

.current-hero p:not(.eyebrow) {
  max-width: 720px;
  color: #4f5f4e;
  font-size: clamp(1.05rem, 1.8vw, 1.24rem);
}

.current-jump-nav {
  display: flex;
  flex-wrap: wrap;
  gap: .6rem;
  margin-top: 1.1rem;
}

.current-jump-nav a,
.current-calendar-link {
  text-decoration: none;
}

.current-section-head {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 1rem;
  margin-bottom: 1.2rem;
}

.current-section-head .section-heading {
  margin-bottom: 0;
}

.current-section--entries {
  background: #fff9ed;
}

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

.current-entry-card {
  display: grid;
  align-content: start;
  gap: .45rem;
  min-height: 100%;
}

.current-entry-card__meta {
  display: flex;
  justify-content: space-between;
  gap: .7rem;
  color: var(--soft);
  font-size: .9rem;
  font-weight: 780;
}

.current-entry-card__meta span {
  color: var(--moss);
}

.signup-hero {
  padding: clamp(2rem, 4.5vw, 3.7rem) 1rem clamp(1.6rem, 3vw, 2.5rem);
  background:
    linear-gradient(118deg, rgba(255, 249, 237, .96), rgba(244, 248, 239, .94)),
    url("/assets/img/paper-garden.svg") center / cover;
}

.signup-hero__inner,
.signup-portal__inner,
.signup-arrival__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: 1.25rem;
  align-items: center;
}

.signup-hero h1 {
  margin-bottom: .7rem;
}

.signup-hero p:not(.eyebrow) {
  max-width: 720px;
  color: #4f5f4e;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

.signup-hero img {
  width: 100%;
  height: clamp(250px, 30vw, 390px);
  object-fit: cover;
  border: 8px solid rgba(255, 248, 232, .95);
  border-radius: 28px 28px 40px 18px;
  box-shadow: 0 18px 44px rgba(61, 92, 64, .16);
}

.signup-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
  margin-top: 1rem;
}

.signup-hero__note {
  min-height: 220px;
  display: grid;
  align-content: end;
  gap: .3rem;
  padding: 1.25rem;
  border: 1px solid rgba(37, 69, 49, .14);
  border-radius: 26px 26px 36px 18px;
  background: rgba(255,255,255,.76);
  box-shadow: 0 12px 30px rgba(61, 92, 64, .08);
}

.signup-hero__note strong {
  color: var(--moss);
  font-size: 1.55rem;
}

.signup-portal {
  background: #fff9ed;
}

.signup-steps {
  display: grid;
  gap: .75rem;
  padding: 1.1rem;
  border: 1px solid rgba(37, 69, 49, .14);
  border-radius: 22px;
  background: #fff;
  box-shadow: var(--shadow);
}

.signup-steps article {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: .75rem;
  padding: .8rem;
  border-radius: var(--radius);
  background: #f4f8ef;
}

.signup-steps article > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--sun);
  color: var(--forest);
  font-weight: 900;
}

.signup-steps h3,
.signup-steps p {
  margin-bottom: .2rem;
}

.signup-arrival {
  background: linear-gradient(180deg, #f4f8ef, #fff9ed);
}

.signup-name-note {
  margin-top: .9rem;
  padding: .8rem;
  border-radius: var(--radius);
  background: #fff4cf;
  color: #4b421c;
  font-weight: 850;
}

.signup-info {
  background: #fffdf8;
}

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

.signup-contact {
  background: #fff9ed;
}

.topic-hero {
  padding: clamp(2rem, 4.5vw, 3.6rem) 1rem clamp(1.6rem, 3vw, 2.4rem);
  background:
    linear-gradient(118deg, rgba(255, 249, 237, .96), rgba(244, 248, 239, .94)),
    url("/assets/img/paper-garden.svg") center / cover;
}

.topic-hero__inner,
.board-grid,
.parent-council-grid,
.meals-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .72fr);
  gap: 1.25rem;
  align-items: center;
}

.topic-hero p:not(.eyebrow) {
  max-width: 720px;
  color: #4f5f4e;
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
}

.topic-hero img {
  width: 100%;
  height: clamp(250px, 30vw, 390px);
  object-fit: cover;
  border: 8px solid rgba(255, 248, 232, .95);
  border-radius: 28px 28px 40px 18px;
  box-shadow: 0 18px 44px rgba(61, 92, 64, .16);
}

.meals-grid {
  align-items: stretch;
}

.meals-grid__wide {
  grid-column: 1 / -1;
}

.board-grid {
  align-items: start;
}

.parent-council-grid {
  align-items: start;
}

.board-people dl {
  display: grid;
  gap: .65rem;
  margin: 0;
}

.board-people dl div {
  padding: .72rem;
  border-radius: var(--radius);
  background: #f4f8ef;
}

.board-people dt {
  color: var(--moss);
  font-weight: 850;
}

.board-people dd {
  margin: .1rem 0 0;
  color: var(--forest);
  font-weight: 760;
}

.topic-check-list {
  display: grid;
  gap: .6rem;
  padding: 0;
  list-style: none;
}

.topic-check-list li {
  padding: .75rem .85rem;
  border-radius: var(--radius);
  background: #f4f8ef;
  color: #4f5f4e;
  font-weight: 750;
}

.quote-band {
  padding-top: calc(var(--section-space) * .72);
  padding-bottom: calc(var(--section-space) * .72);
  background:
    radial-gradient(circle at 18% 10%, rgba(242, 199, 91, .18), transparent 220px),
    linear-gradient(110deg, #fffaf0, #f8f1de);
}
.quote-band blockquote {
  position: relative;
  margin: 0;
  padding: clamp(1.3rem, 3vw, 1.8rem);
  background: #fff4a8;
  border: 1px solid rgba(153, 126, 43, .2);
  border-radius: var(--radius);
  color: var(--forest);
  box-shadow: 0 18px 34px rgba(54, 42, 25, .14), 8px 8px 0 rgba(242, 199, 91, .22);
  font-size: clamp(1.12rem, 2.2vw, 1.45rem);
  line-height: 1.38;
  transform: rotate(-1.7deg);
}
.quote-band blockquote::after {
  content: "";
  position: absolute;
  left: 50%;
  top: -14px;
  width: 74px;
  height: 26px;
  transform: translateX(-50%) rotate(2deg);
  background: rgba(255, 253, 248, .72);
  border: 1px solid rgba(122, 92, 52, .12);
  box-shadow: 0 4px 10px rgba(54, 42, 25, .08);
}
.quote-band blockquote::before {
  content: "Kindermund";
  display: block;
  margin: 0 auto 1.15rem;
  color: var(--moss);
  font-size: .82rem;
  font-weight: 850;
  text-align: center;
  text-transform: uppercase;
}

.concept-nature-quote {
  background:
    linear-gradient(180deg, #f4f8ef, #fffaf0);
}

.concept-nature-quote .section__inner {
  text-align: center;
}

.concept-nature-quote blockquote {
  padding: clamp(1.25rem, 3vw, 2rem) clamp(1.2rem, 4vw, 2.4rem);
  background: rgba(255, 253, 248, .88);
  border: 1px solid rgba(75, 103, 65, .18);
  border-left: 7px solid var(--leaf);
  border-radius: 22px;
  color: var(--forest);
  box-shadow: 0 16px 34px rgba(61, 92, 64, .10);
  font-size: clamp(1.1rem, 2vw, 1.42rem);
  line-height: 1.48;
  transform: none;
}

.concept-nature-quote blockquote::before,
.concept-nature-quote blockquote::after {
  content: none;
}

.concept-nature-quote blockquote p {
  margin: 0;
}

.concept-nature-quote cite {
  color: var(--soft);
  font-weight: 800;
}

.gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: .85rem;
}
.gallery-collection {
  display: grid;
  gap: clamp(1rem, 2.4vw, 1.5rem);
}
.gallery-collection--multiple {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
  align-items: start;
}
.gallery-collection--count-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gallery-collection--count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.gallery-collection--count-4 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gallery-collection__item {
  min-width: 0;
}
.gallery-collection--multiple .gallery-collection__item {
  padding: clamp(.8rem, 1.8vw, 1.1rem);
  border: 1px solid rgba(75, 103, 65, .16);
  border-radius: clamp(18px, 2vw, 24px);
  background:
    radial-gradient(circle at 96% 0, rgba(242, 201, 100, .14), transparent 9rem),
    rgba(255, 253, 248, .92);
  box-shadow: var(--shadow-soft);
}
.gallery-collection__header {
  margin-bottom: .85rem;
}
.gallery-collection__header h3 {
  margin: 0 0 .25rem;
  color: var(--forest);
  font-size: clamp(1.15rem, 2vw, 1.4rem);
}
.gallery-collection__header p {
  margin: 0;
  color: var(--soft);
  line-height: 1.5;
}
.gallery-collection--multiple .gallery-collection__grid {
  grid-template-columns: repeat(auto-fill, minmax(105px, 1fr));
  gap: .55rem;
}
.gallery-collection--multiple .gallery img {
  border-width: 4px;
  border-radius: 15px;
}
.section-heading {
  max-width: 760px;
  margin-bottom: 1.25rem;
}
.section-heading p:not(.eyebrow) {
  color: var(--soft);
}
.gallery-category-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
.themed-collage {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 100%;
  padding: .75rem;
  border: 1px solid color-mix(in srgb, var(--accent) 22%, rgba(122, 92, 52, .16));
  border-top: 6px solid var(--accent);
  border-radius: var(--radius);
  background:
    radial-gradient(circle at 92% 12%, color-mix(in srgb, var(--accent) 12%, transparent), transparent 62px),
    rgba(255, 253, 248, .92);
  box-shadow: var(--shadow-soft);
}
.themed-collage__logo {
  position: absolute;
  right: .75rem;
  top: .75rem;
  z-index: 2;
  width: 52px;
  height: 52px;
  object-fit: contain;
  padding: .25rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 10%, rgba(255,255,255,.9));
  box-shadow: var(--shadow-soft);
}
.themed-collage__grid {
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  grid-template-rows: repeat(2, 88px);
  gap: .35rem;
}
.themed-collage__item {
  position: relative;
  overflow: hidden;
  border-radius: 7px;
  background: color-mix(in srgb, var(--accent) 12%, var(--paper-strong));
}
.themed-collage__item--1 {
  grid-row: span 2;
}
.themed-collage__more {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  padding: .5rem;
  color: white;
  font-weight: 800;
  font-size: clamp(.82rem, 2vw, 1rem);
  text-align: center;
  background:
    linear-gradient(135deg, rgba(25, 53, 35, .36), rgba(25, 53, 35, .68)),
    color-mix(in srgb, var(--accent) 30%, transparent);
  text-shadow: 0 1px 12px rgba(0, 0, 0, .4);
}
.themed-collage__hidden {
  display: none;
}
.themed-collage__item img,
.themed-collage__fallback img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.themed-collage__item:hover img,
.themed-collage__item:focus-visible img {
  transform: scale(1.04);
}
.themed-collage__body {
  padding: .75rem .15rem .1rem;
}
.themed-collage__body h3 {
  margin-bottom: .35rem;
}
.themed-collage__body p {
  color: var(--soft);
  font-size: .95rem;
  line-height: 1.45;
}
.themed-collage--compact .themed-collage__grid {
  grid-template-rows: repeat(2, 72px);
}
.feature-bento__card--hero .themed-collage {
  background: rgba(255, 253, 248, .18);
  border-color: rgba(255,255,255,.32);
}
.feature-bento__card--hero .themed-collage__body h3,
.feature-bento__card--hero .themed-collage__body p {
  display: none;
}
.team-preview {
  background:
    radial-gradient(circle at 14% 10%, rgba(198, 79, 143, .13), transparent 230px),
    linear-gradient(180deg, #fffaf0, #f4f8ef);
}
.team-preview__inner,
.instagram-teaser__inner {
  display: grid;
  grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr);
  gap: clamp(1rem, 3vw, 1.5rem);
  align-items: center;
}
.team-preview__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .9rem;
}
.team-placeholder {
  padding: 1rem;
  border: 1px solid rgba(122, 92, 52, .16);
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow-soft);
  text-align: center;
}
.team-placeholder img {
  width: 92px;
  height: 92px;
  object-fit: contain;
  margin: 0 auto .75rem;
}
.instagram-teaser {
  background: linear-gradient(135deg, #fff4cf, #fff9ed 44%, #f5e6ef);
}
.instagram-teaser__inner {
  grid-template-columns: auto minmax(0, 44rem);
  justify-content: center;
  gap: clamp(1.25rem, 4vw, 3rem);
  padding-block: clamp(1.5rem, 4vw, 3rem);
}
.instagram-teaser__mark {
  display: grid;
  place-items: center;
  width: clamp(5rem, 10vw, 7.5rem);
  aspect-ratio: 1;
  border-radius: 2rem;
  color: #fff;
  background: linear-gradient(145deg, #7044b8, #c94f8f 55%, #ec8f3a);
  box-shadow: 0 18px 45px rgba(122, 63, 120, .22);
  transform: rotate(-4deg);
}
.instagram-teaser__mark svg { width: 54%; fill: none; stroke: currentColor; stroke-width: 1.7; }
.instagram-teaser__copy { max-width: 44rem; }
.instagram-teaser__copy h2 { margin-bottom: .55rem; }
.instagram-teaser__copy p:not(.eyebrow) { max-width: 40rem; margin-bottom: 1.15rem; }
.instagram-cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: .85rem;
}
.instagram-card {
  overflow: hidden;
  border: 1px solid rgba(122, 92, 52, .16);
  border-radius: var(--radius);
  background: rgba(255,253,248,.92);
  box-shadow: var(--shadow-soft);
}
.instagram-card img {
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.instagram-card div {
  padding: .8rem;
}
.instagram-card time {
  display: block;
  margin-bottom: .25rem;
  color: #7a3151;
  font-size: .82rem;
  font-weight: 830;
}
.instagram-card p {
  color: var(--soft);
  font-size: .94rem;
  line-height: 1.45;
}
.insights-section { background: #fff9ed; }
.gallery--home {
  margin-top: 1rem;
}
.gallery a {
  overflow: hidden;
  border-radius: var(--radius);
}
.gallery a:nth-child(3n + 1) { transform: rotate(-1deg); }
.gallery a:nth-child(3n + 2) { transform: rotate(1deg); }
.gallery img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 6px solid #fff8e8;
  border-radius: var(--radius);
  box-shadow: 0 10px 24px rgba(54, 42, 25, .12);
  transition: transform .22s ease;
}
.gallery a:hover img,
.gallery a:focus-visible img { transform: scale(1.05); }

.download-list {
  display: grid;
  gap: .75rem;
  padding: 0;
  list-style: none;
}
.download-list li { padding: .9rem; }
.download-list small { display: block; color: var(--soft); }

.builder-section--vis-desktop,
.builder-section--vis-mobile { display: block; }
.builder-row {
  display: grid;
  gap: clamp(.9rem, 2vw, 1.4rem);
  margin-bottom: clamp(.9rem, 2vw, 1.4rem);
}
.builder-row:last-child { margin-bottom: 0; }
.builder-row--1 { grid-template-columns: 1fr; }
.builder-row--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.builder-row--33-66 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
.builder-row--66-33 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
.builder-row--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.builder-row--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.builder-column { min-width: 0; display: grid; align-content: start; gap: 1rem; }
.builder-column--align-center { align-content: center; }
.builder-column--align-bottom { align-content: end; }
.builder-column--bg-paper { background: rgba(255, 253, 248, .88); }
.builder-column--bg-tint { background: rgba(230, 239, 216, .75); }
.builder-column--pad-small { padding: .75rem; }
.builder-column--pad-medium { padding: 1rem; }
.builder-align-left { text-align: left; }
.builder-align-center { text-align: center; }
.builder-align-right { text-align: right; }
.builder-heading h1,
.builder-heading h2,
.builder-heading h3 { max-width: none; }
.builder-text { font-size: 1.04rem; }
.builder-text ul,
.builder-text ol { padding-left: 1.25rem; }
.builder-image { margin: 0; }
.builder-image--round img { aspect-ratio: 1; max-height: 320px; border-radius: 50%; }
.builder-image--card {
  padding: .65rem;
  background: var(--white);
  border: 1px solid rgba(122, 92, 52, .16);
  border-radius: var(--radius);
  box-shadow: var(--shadow-soft);
}
.builder-image--card img { border: 0; box-shadow: none; }
.builder-image--full img { max-height: none; }
.builder-image figcaption { margin-top: .35rem; color: var(--soft); font-size: .92rem; text-align: center; }
.builder-video {
  padding: 1rem;
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: var(--radius);
}
.builder-card { height: 100%; }
.builder-text-link { color: var(--forest); font-weight: 820; }
.builder-faq { display: grid; gap: .6rem; }
.builder-faq details { padding: .75rem .9rem; }
.builder-faq summary { color: var(--forest); cursor: pointer; font-weight: 850; }
.builder-divider { height: 0; margin: 0; border: 0; }
.builder-divider--small { height: .6rem; }
.builder-divider--medium { height: 1.4rem; }
.builder-divider--large { height: 2.4rem; }
.builder-divider--line { height: 1px; background: var(--line); }

.contact-grid {
  max-width: var(--container);
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}
.contact-grid > div,
.contact-grid form { padding: clamp(1rem, 2.3vw, 1.45rem); }
form { display: grid; gap: .9rem; }
label { display: grid; gap: .35rem; font-weight: 740; }
input, textarea, select {
  width: 100%;
  min-height: 46px;
  padding: .75rem;
  background: #fffefb;
  border: 1px solid #b5bfae;
  border-radius: var(--radius);
  color: var(--text);
  font: inherit;
}
textarea { min-height: 140px; }
form button { justify-self: start; }
.check, .privacy-check { display: flex; align-items: flex-start; gap: .5rem; font-weight: 520; line-height: 1.42; }
.check input, .privacy-check input { width: auto; min-height: 0; margin-top: .28rem; flex: 0 0 auto; }
.hp { position: absolute; left: -9999px; }
.notice {
  max-width: 920px;
  margin: 1rem auto;
  padding: 1rem;
  background: #fff4cf;
  border: 1px solid var(--sun);
  border-radius: var(--radius);
}

.site-footer {
  display: block;
  padding: clamp(2rem, 4vw, 3rem) 1rem;
  background:
    radial-gradient(circle at 12% 0, rgba(242, 199, 91, .18), transparent 250px),
    radial-gradient(circle at 92% 20%, rgba(111, 152, 95, .25), transparent 280px),
    #193523;
  color: white;
}
.site-footer__inner {
  max-width: var(--container);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) auto auto;
  gap: clamp(1rem, 3vw, 2rem);
  align-items: start;
}
.site-footer__brand { display: grid; gap: .55rem; }
.site-footer__brand strong { font-size: 1.18rem; }
.site-footer__contact { color: rgba(255, 255, 255, .82); }
.site-footer a { color: white; }
.site-footer nav {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: .55rem;
}
.site-footer nav a,
.site-footer .footer-cookie-link {
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  padding: .35rem .65rem;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .2);
  border-radius: 999px;
  color: white;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
}
.site-footer nav a:hover,
.site-footer .footer-cookie-link:hover { background: rgba(255, 255, 255, .16); }
.site-footer .footer-cookie-link:focus-visible { outline: 3px solid rgba(246, 198, 78, .75); outline-offset: 3px; }
.site-footer__social {
  display: flex;
  justify-content: flex-end;
}
.social-icon {
  min-width: 44px;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  padding: .45rem .75rem;
  color: white;
  background: rgba(255, 255, 255, .1);
  border: 1px solid rgba(255, 255, 255, .22);
  border-radius: 999px;
  text-decoration: none;
  transition: transform .18s ease, background .18s ease, border-color .18s ease;
}
.social-icon:hover {
  transform: translateY(-1px);
  background: rgba(255, 255, 255, .18);
  border-color: rgba(255, 255, 255, .36);
}
.social-icon svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.social-icon span {
  font-size: .92rem;
  font-weight: 700;
}

.lightbox {
  position: fixed;
  inset: 0;
  z-index: 50;
  display: grid;
  place-items: center;
  padding: 1rem 4.5rem;
  background: rgba(15, 25, 18, .9);
}
.lightbox img {
  max-width: min(1100px, 100%);
  max-height: 88vh;
  border-radius: var(--radius);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .35);
}
.has-lightbox { overflow: hidden; }
.lightbox figure { display: grid; justify-items: center; gap: .55rem; max-width: min(1100px, 100%); margin: 0; }
.lightbox figure img { width: auto; height: auto; }
.lightbox figcaption { max-width: 70ch; color: #fff; font-size: .9rem; text-align: center; }
.lightbox__count { position: fixed; bottom: 1rem; left: 50%; transform: translateX(-50%); padding: .3rem .6rem; border-radius: .4rem; background: rgba(0,0,0,.48); color: #fff; font-size: .8rem; font-weight: 750; }
.lightbox button {
  position: fixed;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: var(--radius);
  background: white;
  color: var(--forest);
  cursor: pointer;
  font-size: 2rem;
}
.lightbox__close { top: 1rem; right: 1rem; }
.lightbox__prev,
.lightbox__next { top: 50%; transform: translateY(-50%); }
.lightbox__prev { left: 1rem; }
.lightbox__next { right: 1rem; }
@media (max-width: 600px) {
  .lightbox { padding: 4rem .75rem 4.5rem; }
  .lightbox button { width: 44px; height: 44px; }
  .lightbox__prev { left: .5rem; }
  .lightbox__next { right: .5rem; }
  .lightbox__close { top: .65rem; right: .65rem; }
}

@media (max-width: 900px) {
  .site-header { align-items: flex-start; }
  .brand { min-width: 0; }
  .nav-toggle { display: inline-flex; }
  .main-nav {
    display: none;
    position: absolute;
    left: 1rem;
    right: 1rem;
    top: 70px;
    justify-content: stretch;
    padding: .7rem;
    background: var(--paper);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    box-shadow: var(--shadow);
  }
  .main-nav.is-open { display: grid; }
  .nav-item,
  .nav-item > a { width: 100%; }
  .nav-submenu {
    position: static;
    min-width: 0;
    margin: .15rem 0 .35rem .65rem;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    background: rgba(244, 248, 239, .72);
  }
  .nav-submenu a { white-space: normal; }
  .hero__inner,
  .contact-grid,
  .text-section--image .section__inner,
  .group-detail { grid-template-columns: 1fr; }
  .hero__inner > img { height: 260px; }
  .builder-row--2,
  .builder-row--33-66,
  .builder-row--66-33,
  .builder-row--3,
  .builder-row--4 { grid-template-columns: 1fr; }
  .builder-section--vis-desktop { display: none; }
  .event-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .current-section-head { display: grid; align-items: start; }
  .current-entry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .signup-hero__inner,
  .signup-portal__inner,
  .signup-arrival__inner { grid-template-columns: 1fr; }
  .signup-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .kindergarten-hero__inner,
  .kindergarten-freedom__inner,
  .kindergarten-space__lead,
  .concept-nature-text-grid,
  .concept-nature-info-grid { grid-template-columns: 1fr; }
  .concept-nature-principles,
  .concept-nature-learning .kindergarten-space__grid { grid-template-columns: 1fr; max-width: none; }
  .kindergarten-space__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .feature-bento__card,
  .feature-bento__card--hero { grid-column: auto; }
  .feature-bento__card--hero { min-height: 300px; }
  .gallery-category-grid,
  .instagram-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gallery-collection--multiple { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-preview__inner,
  .instagram-teaser__inner { grid-template-columns: 1fr; }
  .info-bar__inner,
  .quick-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .info-bar__item,
  .info-bar__item--hours,
  .info-bar__item--phone,
  .info-bar__item--address,
  .info-bar__item--signup { grid-column: auto; }
  .info-bar__item--hours .info-bar__line,
  .info-bar__item--address .info-bar__line { white-space: normal; }
}

@media (max-width: 520px) {
  .site-header { padding-inline: .9rem; }
  .brand__logo { width: 54px; height: 54px; }
  .brand strong { font-size: .96rem; }
  .brand { min-width: 0; gap: .55rem; }
  h1 { font-size: 2rem; }
  .section, .builder-section { padding-left: .9rem; padding-right: .9rem; }
  .section__inner,
  .kindergarten-hero__inner,
  .text-card,
  .kindergarten-play-card,
  .kindergarten-space__grid article,
  .concept-nature-principles article {
    min-width: 0;
  }
  .hero { padding: 1.25rem .9rem 1rem; }
  .hero__actions,
  .feature-bento__actions { display: grid; grid-template-columns: 1fr; }
  .idea-stamp {
    width: 118px;
    min-height: 118px;
    right: .55rem;
    bottom: .55rem;
    padding: .8rem;
  }
  .idea-stamp strong {
    max-width: 88px;
    font-size: .95rem;
  }
  .idea-stamp span {
    font-size: .62rem;
  }
  .event-list,
  .current-entry-grid,
  .signup-info-grid,
  .gallery-category-grid,
  .instagram-cards,
  .team-preview__cards,
  .topic-hero__inner,
  .board-grid,
  .parent-council-grid,
  .meals-grid,
  .card-grid,
  .group-grid,
  .team-grid,
  .gallery,
  .gallery-collection--multiple,
  .info-bar__inner,
  .quick-grid,
  .feature-bento,
  .kindergarten-space__grid { grid-template-columns: 1fr; }
  .kindergarten-hero { padding-left: .9rem; padding-right: .9rem; }
  .kindergarten-hero h1 {
    max-width: 100%;
    font-size: clamp(2.25rem, 12vw, 3rem);
    overflow-wrap: anywhere;
  }
  .concept-nature-hero .kindergarten-hero h1 {
    font-size: clamp(2rem, 10vw, 2.55rem);
  }
  .concept-nature-hero .kindergarten-hero__text > p {
    font-size: 1rem;
    line-height: 1.58;
  }
  .kindergarten-hero__text > p,
  .section-heading p:not(.eyebrow),
  .text-card p,
  .kindergarten-play-card p,
  .kindergarten-space__grid p {
    overflow-wrap: anywhere;
  }
  .concept-nature-hero .kindergarten-hero__facts {
    display: grid;
    grid-template-columns: 1fr;
  }
  .concept-nature-hero .kindergarten-hero__facts span {
    width: 100%;
    justify-content: flex-start;
  }
  .kindergarten-hero__note { min-height: 150px; transform: none; }
  .kindergarten-hero__image,
  .kindergarten-space__image img { height: 220px; }
  .kindergarten-hero__facts { display: grid; }
  .feature-bento__card { padding: 1rem; }
  .feature-bento__card--hero { min-height: 330px; }
  .concept-nature-concept .text-card,
  .concept-nature-concept .kindergarten-play-card,
  .concept-nature-learning .kindergarten-space__grid article {
    min-height: 0;
  }
  .concept-nature-quote blockquote {
    text-align: left;
    border-left-width: 5px;
  }
  .signup-hero h1 {
    font-size: clamp(2rem, 10vw, 2.55rem);
  }
  .signup-hero__actions {
    display: grid;
  }
  .signup-hero img {
    height: 220px;
  }
  .meals-grid__wide {
    grid-column: auto;
  }
  .topic-hero img {
    height: 220px;
  }
  .team-photo,
  .team-card img { width: 96px; height: 96px; }
  .site-footer__inner { grid-template-columns: 1fr; gap: 1rem; }
  .site-footer nav { justify-content: flex-start; }
  .site-footer__social { justify-content: flex-start; }
  .lightbox { padding: 4rem .9rem; }
  .lightbox__prev { left: .5rem; }
  .lightbox__next { right: .5rem; }
}

@media (min-width: 901px) {
  .builder-section--vis-mobile { display: none; }
}

@media print {
  .site-header, .site-footer, .hero__actions, form { display: none; }
  body { background: white; color: black; }
  .section, .builder-section, .hero { padding: 1rem 0; }
  .text-card, .card, .event { box-shadow: none; border-color: #999; }
}
.current-event-list {
  display: grid;
  grid-template-columns: 1fr;
  gap: .5rem;
  max-width: 68rem;
}
.current-event-list .current-event {
  display: grid;
  grid-template-columns: 9rem minmax(0, 1fr) 7.25rem;
  align-items: center;
  column-gap: 1rem;
  min-height: 76px;
  padding: .55rem .8rem .55rem 1rem;
  border: 1px solid rgba(72, 94, 73, .14);
  border-left: 3px solid var(--leaf);
  border-radius: .65rem;
  background: rgba(255, 255, 255, .86);
  box-shadow: 0 3px 12px rgba(54, 72, 55, .045);
  transition: border-color .18s ease, box-shadow .18s ease;
}
.current-event-list .current-event:nth-child(n) { border-left-color: var(--leaf); }
.current-event-list .current-event:hover { border-color: rgba(72, 94, 73, .24); box-shadow: 0 5px 16px rgba(54, 72, 55, .07); }
.current-event-list .current-event--closure { border-left-color: var(--berry); background: rgba(255, 250, 251, .92); }
.current-event-list .current-event--closure:nth-child(n) { border-left-color: var(--berry); }
.current-event__date {
  width: 100%;
  min-height: 0;
  display: flex;
  align-items: baseline;
  gap: .35rem;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--forest);
  white-space: nowrap;
}
.current-event__day { font-size: 1.18rem; line-height: 1; font-weight: 820; letter-spacing: -.025em; }
.current-event__month { font-size: .72rem; line-height: 1; font-weight: 850; letter-spacing: .08em; }
.current-event__content { min-width: 0; align-self: center; }
.current-event__content h3 { margin: 0; color: var(--ink); font-size: clamp(1.05rem, 1.5vw, 1.18rem); line-height: 1.25; font-weight: 730; overflow-wrap: anywhere; }
.current-event__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .55rem; margin-top: .28rem; }
.current-event__meta span { display: inline-flex; align-items: center; min-height: 0; padding: 0; border-radius: 0; font-size: .72rem; line-height: 1.35; font-weight: 730; }
.current-event__category { padding: .08rem .38rem !important; border-radius: .32rem !important; color: #674f32; background: #fff1cb !important; }
.current-event__time { color: #65736a; background: transparent !important; font-weight: 650 !important; }
.current-event__toggle {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .35rem;
  min-width: 7rem;
  min-height: 36px;
  padding: .35rem .55rem;
  border: 1px solid rgba(67, 103, 76, .28);
  border-radius: .45rem;
  background: transparent;
  color: var(--forest);
  font: inherit;
  font-size: .76rem;
  font-weight: 780;
  cursor: pointer;
}
.current-event__toggle:hover { background: #f0f5ed; }
.current-event__toggle:focus-visible { outline: 3px solid rgba(111, 152, 95, .32); outline-offset: 2px; }
.current-event__toggle-icon { width: .8rem; font-size: 1rem; line-height: 1; text-align: center; }
.current-event__panel {
  grid-column: 2 / 4;
  display: grid;
  grid-template-rows: 0fr;
  opacity: 0;
  transition: grid-template-rows .22s ease, opacity .18s ease, margin-top .22s ease;
}
.current-event__panel.is-open { grid-template-rows: 1fr; opacity: 1; margin-top: .25rem; }
.current-event__panel-inner { min-height: 0; overflow: hidden; color: var(--soft); font-size: .88rem; line-height: 1.5; }
.current-event__panel-inner p { display: block; max-width: 46rem; margin: .1rem 0 .3rem; color: inherit; font-size: inherit; }
.current-event__panel-inner a { display: inline-block; margin-bottom: .15rem; font-weight: 780; }
.current-entry-card>img{width:100%;height:11rem;object-fit:cover;border-radius:1rem}.news-detail article>time{color:#607066}.news-detail__image{width:100%;max-height:32rem;object-fit:cover;border-radius:1.25rem;margin:1rem 0}.rich-content{font-size:1.08rem;line-height:1.75}.rich-content h2,.rich-content h3{margin-top:1.5em}.linked-event{margin-top:2rem;padding:1.25rem;border-radius:1rem;background:#f2f7ee;border-left:5px solid var(--leaf)}.linked-event h2{font-size:1.3rem}.back-link{display:inline-block;margin-bottom:1rem}
@media (max-width: 900px) {
  .current-event-list .current-event { grid-template-columns: 7rem minmax(0, 1fr) 6.75rem; column-gap: .75rem; }
  .current-event__toggle { min-width: 6.5rem; }
}
@media (max-width: 600px) {
  .current-event-list .current-event { grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .65rem; min-height: 0; padding: .65rem .7rem; }
  .current-event__date { grid-column: 1; grid-row: 1; }
  .current-event__toggle { grid-column: 2; grid-row: 1; min-width: 44px; min-height: 44px; padding: .35rem; }
  .current-event__toggle span:first-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .current-event__toggle-icon { font-size: 1.2rem; }
  .current-event__content { grid-column: 1 / -1; grid-row: 2; }
  .current-event__content h3 { font-size: 1rem; }
  .current-event__panel { grid-column: 1 / -1; grid-row: 3; }
  .current-entry-card>img{height:9rem}
}
@media (prefers-reduced-motion: reduce) {
  .current-event-list .current-event, .current-event__panel { transition: none; }
}

/* Redaktionelle Beitragsdetailseite */
.news-detail { padding: clamp(2rem, 5vw, 4.5rem) 0 clamp(3rem, 7vw, 6rem); }
.news-detail__container { width: min(100%, 1240px); margin-inline: auto; padding-inline: 24px; }
.news-article { width: min(100%, 920px); margin-inline: auto; padding: clamp(1.5rem, 4vw, 3.25rem); border: 1px solid rgba(122, 92, 52, .14); border-left: 3px solid rgba(111, 152, 95, .7); border-radius: clamp(1rem, 2vw, 1.5rem); background: #fffdf8; box-shadow: 0 10px 32px rgba(75, 61, 43, .07); }
.news-article__header { margin-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.news-article__back { display: inline-flex; margin-bottom: 1.4rem; color: var(--forest); font-size: .9rem; font-weight: 760; text-decoration-color: transparent; text-underline-offset: .28em; transition: transform .18s ease, text-decoration-color .18s ease; }
.news-article__back:hover { transform: translateX(-3px); text-decoration-color: currentColor; }
.news-article__back:focus-visible { outline: 3px solid rgba(111, 152, 95, .3); outline-offset: 4px; border-radius: .2rem; }
.news-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem .8rem; margin-bottom: .85rem; }
.news-article__meta span { padding: .2rem .55rem; border-radius: .4rem; background: #ffedaa; color: #624c27; font-size: .76rem; line-height: 1.3; font-weight: 790; }
.news-article__meta time { color: #69756c; font-size: .88rem; font-weight: 650; }
.news-article h1 { max-width: 18ch; margin: 0; color: var(--ink); font-size: clamp(2.15rem, 5vw, 4rem); line-height: 1.04; letter-spacing: -.025em; text-wrap: balance; overflow-wrap: anywhere; }
.news-article__lead { max-width: 65ch; margin: 1.1rem 0 0; color: var(--soft); font-size: clamp(1.05rem, 1.8vw, 1.25rem); line-height: 1.55; }
.news-article__hero { margin: clamp(1.5rem, 4vw, 2.5rem) 0 0; }
.news-article__hero img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 1rem; background: var(--paper-strong); }
.news-article__prose { max-width: 72ch; color: #38443c; font-size: clamp(1.05rem, 1.5vw, 1.16rem); line-height: 1.75; }
.news-article__prose > *:first-child { margin-top: 0; }
.news-article__prose p { margin: 0 0 1.25em; }
.news-article__prose h2 { margin: 1.8em 0 .55em; font-size: clamp(1.55rem, 3vw, 2.1rem); line-height: 1.18; text-wrap: balance; }
.news-article__prose h3 { margin: 1.55em 0 .5em; font-size: clamp(1.25rem, 2.3vw, 1.55rem); line-height: 1.25; }
.news-article__prose ul, .news-article__prose ol { margin: 0 0 1.35em; padding-left: 1.35em; }
.news-article__prose li + li { margin-top: .35em; }
.news-article__prose blockquote { margin: 1.6em 0; padding: .3em 0 .3em 1.15em; border-left: 3px solid var(--sun); color: #59655d; font-style: italic; }
.news-article__prose a { color: var(--forest); font-weight: 720; text-decoration-thickness: .09em; text-underline-offset: .18em; }
.news-article__prose img { max-width: 100%; height: auto; border-radius: .8rem; }
.news-related-event { display: flex; align-items: center; justify-content: space-between; gap: 1.25rem; margin-top: clamp(2rem, 5vw, 3.5rem); padding: 1.1rem 1.25rem; border: 1px solid rgba(111, 152, 95, .22); border-left: 3px solid var(--leaf); border-radius: .8rem; background: #f6f9f2; }
.news-related-event .eyebrow { margin-bottom: .2rem; }
.news-related-event h2 { margin: 0; font-size: 1.25rem; }
.news-related-event p { margin: .25rem 0 0; color: var(--soft); font-size: .9rem; }
.news-related-event .button { flex: 0 0 auto; }
.news-gallery { margin-top: clamp(2.5rem, 6vw, 4rem); padding-top: clamp(2rem, 4vw, 3rem); border-top: 1px solid rgba(122, 92, 52, .14); }
.news-gallery header { margin-bottom: 1.1rem; }
.news-gallery header .eyebrow { margin-bottom: .25rem; }
.news-gallery h2 { margin: 0; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.news-gallery header > p:last-child { margin: .3rem 0 0; color: var(--soft); }
.news-gallery__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.news-gallery__grid--1 { grid-template-columns: minmax(0, 34rem); }
.news-gallery__grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.news-gallery__grid a { display: block; overflow: hidden; border: 1px solid rgba(122, 92, 52, .15); border-radius: .8rem; background: var(--paper-strong); box-shadow: 0 4px 12px rgba(75, 61, 43, .06); }
.news-gallery__grid a:focus-visible { outline: 3px solid rgba(111, 152, 95, .4); outline-offset: 3px; }
.news-gallery__grid img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .22s ease; }
.news-gallery__grid a:hover img { transform: scale(1.025); }
.news-article-nav { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 1rem; margin-top: clamp(2.5rem, 6vw, 4rem); padding-top: 1.25rem; border-top: 1px solid rgba(122, 92, 52, .14); }
.news-article-nav a { min-width: 0; color: var(--forest); text-decoration: none; }
.news-article-nav small, .news-article-nav strong { display: block; }
.news-article-nav small { margin-bottom: .25rem; color: #768179; font-size: .75rem; }
.news-article-nav strong { overflow-wrap: anywhere; font-size: .9rem; line-height: 1.3; }
.news-article-nav__overview { padding: .45rem .65rem; border: 1px solid rgba(67, 103, 76, .25); border-radius: .45rem; font-size: .78rem; font-weight: 760; white-space: nowrap; }
.news-article-nav__next { text-align: right; }
.news-article-nav a:focus-visible { outline: 3px solid rgba(111, 152, 95, .3); outline-offset: 4px; border-radius: .2rem; }
@media (max-width: 768px) {
  .news-detail { padding-top: 1.5rem; }
  .news-detail__container { padding-inline: 16px; }
  .news-article { padding: clamp(1.15rem, 5vw, 1.5rem); border-radius: 1rem; }
  .news-article h1 { max-width: none; font-size: clamp(2rem, 10vw, 3rem); }
  .news-related-event { align-items: flex-start; flex-direction: column; }
  .news-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
  .news-article-nav { grid-template-columns: 1fr; }
  .news-article-nav__overview { justify-self: start; grid-row: 1; }
  .news-article-nav__next { text-align: left; }
}
@media (max-width: 360px) {
  .news-gallery__grid { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .news-article__back, .news-gallery__grid img { transition: none; }
}

/* Dreispaltiger Aktuelles-Bereich auf der Startseite */
.home-updates { background: #fff9ed; }
.home-updates__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.home-update-card { min-width: 0; overflow: hidden; display: flex; flex-direction: column; border: 1px solid rgba(122, 92, 52, .15); border-radius: var(--radius); background: #fff; box-shadow: var(--shadow-soft); }
.home-update-card--events { padding: 1.1rem; border-top: 4px solid var(--leaf); }
.home-update-card--events header { display: flex; align-items: center; gap: .7rem; margin-bottom: .65rem; }
.home-update-card header .eyebrow { margin: 0 0 .05rem; }
.home-update-card h3 { margin: 0; font-size: 1.18rem; line-height: 1.25; overflow-wrap: anywhere; }
.home-event-list { display: grid; margin-bottom: .7rem; }
.home-event-list__item { display: grid; grid-template-columns: 4.7rem minmax(0, 1fr); gap: .55rem; align-items: baseline; padding: .58rem 0; border-top: 1px solid rgba(122, 92, 52, .12); }
.home-event-list__item time { color: var(--forest); font-size: .78rem; line-height: 1.2; font-weight: 820; white-space: nowrap; }
.home-event-list__item span { color: var(--ink); font-size: .88rem; line-height: 1.32; font-weight: 690; overflow-wrap: anywhere; }
.home-update-card__empty { color: var(--soft); font-size: .9rem; }
.home-update-card__link { display: inline-block; margin-top: auto; color: var(--forest); font-size: .82rem; font-weight: 790; text-decoration-thickness: .08em; text-underline-offset: .2em; }
.home-update-card--news>img { display: block; width: 100%; aspect-ratio: 16 / 8; object-fit: cover; background: var(--paper-strong); }
.home-update-card__body { flex: 1; display: flex; flex-direction: column; padding: 1rem 1.05rem 1.1rem; }
.home-update-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .6rem; margin-bottom: .55rem; }
.home-update-card__meta span { padding: .12rem .38rem; border-radius: .35rem; background: #ffefb7; color: #654f2d; font-size: .68rem; font-weight: 780; }
.home-update-card__meta time { color: #748078; font-size: .74rem; font-weight: 650; }
.home-update-card--news p { display: -webkit-box; overflow: hidden; margin: .55rem 0 .85rem; color: var(--soft); font-size: .88rem; line-height: 1.5; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.home-update-card--empty { justify-content: center; padding: 1.1rem; min-height: 15rem; background: rgba(255,255,255,.62); }
@media (max-width: 900px) {
  .home-updates__grid { grid-template-columns: 1fr 1fr; }
  .home-update-card--events { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  .home-updates__grid { grid-template-columns: 1fr; }
  .home-update-card--events { grid-column: auto; }
  .home-update-card--news>img { aspect-ratio: 16 / 7; }
}

/* Buchungszeiten und Elternbeiträge */
.signup-fees{background:linear-gradient(180deg,#fffdf7,#f8f3e7)}.signup-fees__intro{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:.8rem}.signup-fees__intro h2{margin:0}.signup-fees__since{flex:0 0 auto;padding:.3rem .55rem;border-radius:.45rem;background:#edf4e9;color:var(--forest);font-size:.76rem;font-weight:760}.signup-fees__lead{max-width:78ch;margin:.5rem 0;color:var(--soft);line-height:1.65}.signup-fees__table-wrap{overflow:hidden;margin-top:1.4rem;border:1px solid rgba(122,92,52,.16);border-radius:1rem;background:rgba(255,255,255,.82);box-shadow:0 6px 20px rgba(75,61,43,.05)}.signup-fees__table{width:100%;border-collapse:collapse}.signup-fees__table th,.signup-fees__table td{padding:.8rem 1rem;border-bottom:1px solid rgba(122,92,52,.11);text-align:left}.signup-fees__table thead th{background:#edf4e9;color:var(--forest);font-size:.82rem;font-weight:800}.signup-fees__table thead th:last-child,.signup-fees__table td{text-align:right}.signup-fees__table tbody tr:last-child th,.signup-fees__table tbody tr:last-child td{border-bottom:0}.signup-fees__table tbody th{color:var(--ink);font-size:.94rem;font-weight:680}.signup-fees__table td strong{color:var(--forest);font-size:1.04rem}.signup-fees__table td span{margin-left:.3rem;color:#748078;font-size:.75rem}.signup-fees__notes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin-top:1rem}.signup-fees__notes article{display:grid;grid-template-columns:2.6rem minmax(0,1fr);gap:.75rem;padding:1rem;border:1px solid rgba(111,152,95,.2);border-radius:.85rem;background:rgba(255,255,255,.72)}.signup-fees__note-icon{display:grid;place-items:center;width:2.6rem;height:2.6rem;border-radius:.7rem;background:#ffefb6;color:#785d2c}.signup-fees__note-icon svg{width:1.35rem;height:1.35rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.signup-fees__notes h3{margin:0 0 .3rem;font-size:1.05rem}.signup-fees__notes p{margin:0;color:var(--soft);font-size:.88rem;line-height:1.55}.signup-fees__contact{margin:1rem 0 0;color:var(--soft);font-size:.9rem}.signup-fees__contact a{color:var(--forest);font-weight:760}.signup-fees .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.signup-fees>.section__inner{display:grid;grid-template-columns:minmax(0,2fr) minmax(16rem,1fr);column-gap:1rem;align-items:start}.signup-fees__intro,.signup-fees__lead,.signup-fees__contact{grid-column:1/-1}.signup-fees__table-wrap{grid-column:1;margin-top:1.4rem}.signup-fees__notes{grid-column:2;grid-row:4;grid-template-columns:1fr;align-self:stretch;margin-top:1.4rem}.signup-fees__notes article{align-content:start}.signup-fees__contact{margin-top:1rem}
@media(max-width:900px){.signup-fees>.section__inner{grid-template-columns:1fr}.signup-fees__intro,.signup-fees__lead,.signup-fees__table-wrap,.signup-fees__notes,.signup-fees__contact{grid-column:1}.signup-fees__notes{grid-row:auto;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem}}
@media(max-width:700px){.signup-fees__intro{align-items:flex-start;flex-direction:column}.signup-fees__notes{grid-template-columns:1fr}.signup-fees__table-wrap{overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.signup-fees__table,.signup-fees__table tbody{display:grid;gap:.5rem}.signup-fees__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.signup-fees__table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;padding:.75rem .85rem;border:1px solid rgba(122,92,52,.14);border-radius:.7rem;background:rgba(255,255,255,.82)}.signup-fees__table th,.signup-fees__table td{padding:0;border:0!important}.signup-fees__table td{display:grid;justify-items:end}.signup-fees__table td span{margin:.05rem 0 0}}

/* Pädagogisches Konzept */
.concept-page-hero{padding:clamp(3rem,8vw,6.5rem) 0;background:radial-gradient(circle at 85% 20%,rgba(246,198,78,.2),transparent 18rem),linear-gradient(145deg,#f2f7ef,#fff9ed)}.concept-page-hero h1{max-width:14ch;margin-bottom:1rem;font-size:clamp(2.5rem,6vw,5rem);line-height:1.02;text-wrap:balance}.concept-page-hero p:not(.eyebrow){max-width:68ch;color:var(--soft);font-size:clamp(1.05rem,2vw,1.25rem);line-height:1.65}.concept-page-hero .button{margin-top:.8rem}.concept-page-foundation__grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(16rem,.65fr);gap:clamp(1.5rem,5vw,4rem);align-items:center}.concept-page-foundation h2{margin-top:0}.concept-page-foundation p{color:var(--soft);line-height:1.7}.concept-page-foundation blockquote{margin:0;padding:1.4rem;border:1px solid rgba(111,152,95,.2);border-left:4px solid var(--leaf);border-radius:1rem;background:#f7faF4;color:var(--forest);font-size:1.2rem;font-weight:720;line-height:1.5}.concept-page-pillars__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.8rem}.concept-page-pillars article,.concept-page-areas__grid article{padding:1rem;border:1px solid rgba(122,92,52,.14);border-radius:.85rem;background:rgba(255,255,255,.78)}.concept-page-pillars article>span{display:inline-block;margin-bottom:.8rem;color:var(--leaf);font-size:.75rem;font-weight:850}.concept-page-pillars h3,.concept-page-areas h3{margin:0 0 .45rem;font-size:1.08rem}.concept-page-pillars p,.concept-page-areas p{margin:0;color:var(--soft);font-size:.9rem;line-height:1.55}.concept-page-areas__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.concept-page-care{background:#fff9ed}.concept-page-care__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.concept-page-care article{padding:clamp(1.25rem,3vw,2rem);border-radius:1rem;background:#fff;border:1px solid rgba(122,92,52,.14);box-shadow:var(--shadow-soft)}.concept-page-care h2{margin-top:0}.concept-page-care p:not(.eyebrow){color:var(--soft);line-height:1.65}.concept-page-download{text-align:center}.concept-page-download .text-card{padding:clamp(1.5rem,4vw,2.5rem)}.concept-page-download small{display:block;margin-top:.65rem;color:#748078}
@media(max-width:900px){.concept-page-pillars__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-page-areas__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.concept-page-foundation__grid,.concept-page-care__grid{grid-template-columns:1fr}.concept-page-pillars__grid,.concept-page-areas__grid{grid-template-columns:1fr}.concept-page-hero{padding-top:2.5rem}}
.news-pagination{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid rgba(122,92,52,.14)}.news-pagination a,.news-pagination .is-current{display:inline-grid;place-items:center;min-width:2.35rem;min-height:2.35rem;padding:.3rem .55rem;border:1px solid rgba(67,103,76,.23);border-radius:.5rem;color:var(--forest);background:#fff;text-decoration:none;font-size:.82rem;font-weight:760}.news-pagination a:hover{background:#edf4e9}.news-pagination a:focus-visible{outline:3px solid rgba(111,152,95,.3);outline-offset:2px}.news-pagination .is-current{border-color:var(--leaf);background:var(--leaf);color:#fff}.news-pagination__pages{display:flex;align-items:center;justify-content:center;gap:.35rem}.news-pagination__direction:first-child{justify-self:start}.news-pagination__direction:last-child{justify-self:end}.news-pagination__pages+ .news-pagination__direction{justify-self:end}@media(max-width:600px){.news-pagination{grid-template-columns:1fr 1fr}.news-pagination__pages{grid-column:1/-1;grid-row:1;flex-wrap:wrap}.news-pagination__direction{grid-row:2}.news-pagination__direction:last-child{justify-self:end}}
.craft-hero{padding:clamp(3rem,8vw,6rem) 0;background:linear-gradient(145deg,#fff1c8,#fff9ed 55%,#f0f7ed)}.craft-hero h1{font-size:clamp(2.5rem,6vw,4.8rem);text-wrap:balance}.craft-hero p:not(.eyebrow){max-width:65ch;color:var(--soft);font-size:1.1rem;line-height:1.65}.craft-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.craft-card{overflow:hidden;border:1px solid rgba(122,92,52,.15);border-radius:1rem;background:#fff;box-shadow:var(--shadow-soft)}.craft-card>img{width:100%;aspect-ratio:4/3;object-fit:cover}.craft-card>div{padding:1rem}.craft-card time{color:#748078;font-size:.75rem}.craft-card h2{margin:.3rem 0;font-size:1.25rem}.craft-card p{color:var(--soft);font-size:.9rem;line-height:1.5}.craft-card a{color:var(--forest);font-weight:800}.craft-detail{padding:clamp(2rem,5vw,4rem) 0}.craft-detail__container{width:min(100%,1080px);margin:auto;padding:0 24px}.craft-detail article>header>a{color:var(--forest);font-weight:750}.craft-detail h1{max-width:18ch;font-size:clamp(2.4rem,6vw,4.5rem);line-height:1.03;text-wrap:balance}.craft-detail__hero{width:100%;max-height:560px;aspect-ratio:16/9;object-fit:cover;border-radius:1.1rem;margin-top:1.5rem}.craft-detail__text{max-width:72ch;margin:2rem 0;font-size:1.08rem;line-height:1.72}.craft-detail__heading{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:3rem 0 1rem;border-top:1px solid rgba(122,92,52,.15);padding-top:2rem}.craft-detail__heading h2{margin:0}.craft-steps{display:grid;gap:.85rem;list-style:none;padding:0;counter-reset:none}.craft-step{position:relative;display:grid;grid-template-columns:2.4rem minmax(180px,1fr) minmax(0,2fr);gap:1rem;align-items:start;padding:1rem;border:1px solid rgba(122,92,52,.14);border-radius:1rem;background:#fffdf8}.craft-step__number{display:grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--leaf);color:#fff;font-weight:850}.craft-step__image{display:block;overflow:hidden;border-radius:.75rem}.craft-step__image img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}.craft-step__image:hover img{transform:scale(1.025)}.craft-step__image--empty{min-height:120px;background:#f1f4ed}.craft-step__copy h3{margin:.1rem 0 .5rem;font-size:1.2rem}.craft-step__copy div{color:var(--soft);line-height:1.65}.craft-step__copy p{margin:.2rem 0 .8rem}@media(max-width:800px){.craft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.craft-step{grid-template-columns:2.4rem minmax(0,1fr)}.craft-step__image{grid-column:2}.craft-step__copy{grid-column:2}}@media(max-width:520px){.craft-grid{grid-template-columns:1fr}.craft-detail__container{padding:0 16px}.craft-step{grid-template-columns:2.2rem minmax(0,1fr);padding:.75rem}.craft-print{width:auto}}
@media print{.site-footer,.idea-stamp,.craft-print,.craft-detail article>header>a,.site-header .main-nav,.site-header .nav-toggle{display:none!important}.site-header{display:flex!important;position:static;padding:0 0 .6rem;margin-bottom:1rem;border-bottom:1px solid #bbb;box-shadow:none;background:#fff}.site-header .brand{color:#000}.site-header .brand img{display:block!important;width:58px;height:58px;object-fit:contain}.craft-detail{padding:0}.craft-detail__container{width:100%;max-width:none;padding:0}.craft-detail__hero{width:100%;height:auto;max-height:260px;object-fit:contain}.craft-detail__heading{margin:1.5rem 0 .75rem;padding-top:1rem}.craft-steps{gap:.5rem}.craft-step{display:grid;grid-template-columns:2rem minmax(0,1fr) minmax(0,2fr);gap:.65rem;align-items:start;padding:.65rem;break-inside:avoid;page-break-inside:avoid;border:1px solid #bbb;box-shadow:none;background:#fff}.craft-step__number{width:2rem;height:2rem;color:#000;background:#fff;border:1px solid #777}.craft-step__image{grid-column:2;display:block;overflow:visible;background:transparent}.craft-step__image img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain;border-radius:.35rem}.craft-step__image--empty{display:none}.craft-step__copy{grid-column:3}.craft-step__copy h3{margin-top:0}.craft-detail h1{font-size:30pt}.lightbox{display:none!important}}
.craft-detail article>header>a{display:block;width:max-content;max-width:100%}.craft-detail article>header>a+.eyebrow{display:block;margin-top:.75rem}

/* Datenschutz und Einwilligung */
.privacy-page{padding:clamp(2.5rem,6vw,5rem) 0;background:linear-gradient(180deg,#f3f8f0,#fffdf8 22rem)}.privacy-page__header{max-width:52rem;margin-bottom:2rem}.privacy-page__header h1{margin:.2rem 0 .8rem;font-size:clamp(2.4rem,6vw,4.4rem)}.privacy-page__header>p:not(.eyebrow){color:var(--soft);font-size:1.08rem}.privacy-page__date{font-size:.85rem!important}.privacy-page__content{display:grid;gap:.8rem}.privacy-page__content section{padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(122,92,52,.14);border-radius:1rem;background:rgba(255,255,255,.86)}.privacy-page__content h2{margin:0 0 .55rem;font-size:1.25rem}.privacy-page__content p{margin:0;color:var(--soft);line-height:1.68}.privacy-page__content code{padding:.08rem .3rem;border-radius:.25rem;background:#edf4e9;color:var(--forest)}
.footer-cookie-link{padding:0;border:0;background:none;color:inherit;font:inherit;text-decoration:underline;cursor:pointer}.consent-banner{position:fixed;z-index:1000;right:clamp(.75rem,3vw,2rem);bottom:clamp(.75rem,3vw,2rem);left:clamp(.75rem,3vw,2rem);display:flex;align-items:center;justify-content:space-between;gap:1.2rem;max-width:74rem;margin:auto;padding:1.1rem 1.25rem;border:1px solid rgba(67,103,76,.22);border-radius:1rem;background:#fffdf8;box-shadow:0 18px 55px rgba(37,51,40,.2)}.consent-banner[hidden],.consent-modal[hidden]{display:none}.consent-banner p{margin:.25rem 0;font-size:.9rem;line-height:1.45}.consent-banner a{color:var(--forest);font-size:.82rem}.consent-banner__actions,.consent-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem}.consent-banner .button,.consent-modal .button{min-height:44px;white-space:nowrap}.consent-modal{position:fixed;z-index:1100;inset:0;display:grid;place-items:center;padding:1rem}.consent-modal__backdrop{position:absolute;inset:0;background:rgba(26,36,29,.58)}.consent-modal__dialog{position:relative;width:min(100%,39rem);max-height:calc(100vh - 2rem);overflow:auto;padding:clamp(1.2rem,4vw,2rem);border-radius:1rem;background:#fffdf8;box-shadow:0 24px 70px rgba(0,0,0,.28)}.consent-modal__close{position:absolute;top:.7rem;right:.7rem;width:44px;height:44px;border:0;border-radius:50%;background:#edf4e9;font-size:1.6rem;cursor:pointer}.consent-option{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:.75rem 0;padding:1rem;border:1px solid rgba(122,92,52,.15);border-radius:.8rem;background:#fff}.consent-option p{margin:.25rem 0 0;color:var(--soft);font-size:.86rem}.consent-option input{width:1.4rem;height:1.4rem;accent-color:var(--leaf)}.has-consent-modal{overflow:hidden}
@media(max-width:760px){.consent-banner{align-items:stretch;flex-direction:column}.consent-banner__actions{display:grid;grid-template-columns:1fr}.consent-banner__actions .button{width:100%}.consent-modal__actions{display:grid}.consent-option{align-items:flex-start}.privacy-page{padding-top:2rem}}

/* Cookie-Einstellungen gehört optisch zur Footer-Linkleiste. */
.site-footer .footer-cookie-link{min-height:36px;display:inline-flex;align-items:center;padding:.35rem .65rem;border:1px solid rgba(255,255,255,.2);border-radius:999px;background:rgba(255,255,255,.08);color:#fff;font:inherit;text-decoration:none;cursor:pointer}

/* Semantisch gegliedertes Impressum */
.legal-page{padding:clamp(2.5rem,6vw,5rem) 0;background:linear-gradient(180deg,#fff6dc,#fffdf8 22rem)}.legal-page__header{max-width:52rem;margin-bottom:2rem}.legal-page__header h1{margin:.2rem 0 .8rem;font-size:clamp(2.4rem,6vw,4.4rem)}.legal-page__header>p:not(.eyebrow){color:var(--soft);font-size:1.08rem}.legal-page__content{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.legal-page__content section{padding:clamp(1rem,3vw,1.5rem);border:1px solid rgba(122,92,52,.14);border-radius:1rem;background:rgba(255,255,255,.86)}.legal-page__content section:last-child{grid-column:1/-1}.legal-page__content h2{margin:0 0 .55rem;font-size:1.2rem}.legal-page__content p{margin:0;color:var(--soft);line-height:1.68}.legal-page__content a{color:var(--forest);font-weight:700}@media(max-width:650px){.legal-page__content{grid-template-columns:1fr}.legal-page__content section:last-child{grid-column:auto}.legal-page{padding-top:2rem}}

/* Wiederkehrende Hero-Signatur auf allen Inhaltsseiten */
:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero){position:relative;isolation:isolate;overflow:hidden}
:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero)::before{content:"";position:absolute;z-index:-1;top:clamp(1rem,4vw,2.5rem);right:clamp(1rem,6vw,6rem);width:clamp(9rem,19vw,15rem);aspect-ratio:1;background:url('/assets/img/logo.webp') center/contain no-repeat;opacity:.055;pointer-events:none;transform:rotate(6deg)}
:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero)::after{content:"";position:absolute;z-index:-1;right:clamp(-3.5rem,-2vw,-1rem);bottom:clamp(-4rem,-4vw,-1.5rem);width:clamp(10rem,22vw,18rem);height:clamp(6rem,13vw,10rem);border:2px dashed rgba(67,103,76,.2);border-radius:50%;pointer-events:none;transform:rotate(-14deg)}
:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero)>*{position:relative;z-index:1}
:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero){background-image:radial-gradient(circle at 7% 22%,rgba(246,198,78,.18) 0 2.8rem,transparent 2.9rem),radial-gradient(ellipse at 88% 18%,rgba(201,79,143,.1) 0 4rem,transparent 4.1rem),radial-gradient(circle at 78% 88%,rgba(141,185,199,.13) 0 2rem,transparent 2.1rem)}
@media(max-width:650px){:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero)::before{top:.8rem;right:-1.5rem;width:9rem;opacity:.045}:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero)::after{right:-4rem;bottom:-2.5rem}}
@media(prefers-reduced-motion:reduce){:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero)::before,:is(.page-title,.kindergarten-hero,.signup-hero,.topic-hero,.concept-page-hero,.privacy-page,.legal-page,.craft-hero)::after{transform:none}}

/* Kundenrunde Juli 2026: runde Marke, klickbare Inhalte und Video-Beiträge */
.brand__logo{border-radius:50%;overflow:hidden}
.feature-bento__content-link,.current-entry-card__content-link,.home-update-card__content-link{display:block;color:inherit;text-decoration:none;border-radius:.45rem}
.feature-bento__content-link:hover h3,.current-entry-card__content-link:hover h3,.home-update-card__content-link:hover h3{text-decoration:underline;text-decoration-thickness:.09em;text-underline-offset:.13em}
.feature-bento__content-link:focus-visible,.current-entry-card__content-link:focus-visible,.home-update-card__content-link:focus-visible{outline:3px solid var(--sun);outline-offset:4px}
.feature-bento__open{display:inline-flex;margin-top:.3rem;color:inherit;font-size:.82rem;font-weight:820}
.news-video-thumb{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;border-radius:1rem;background:linear-gradient(145deg,#315d43,#1e3828)}
.news-video-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.news-video-thumb__fallback{display:block;width:100%;height:100%;background:radial-gradient(circle at 50% 46%,rgba(255,255,255,.18) 0 2.6rem,transparent 2.7rem),linear-gradient(145deg,#477755,#233f2d)}
.news-video-thumb__badge{position:absolute;right:.65rem;bottom:.65rem;display:inline-flex;align-items:center;gap:.3rem;padding:.34rem .55rem;border-radius:999px;background:rgba(24,36,28,.86);color:#fff;font-size:.72rem;font-weight:850;box-shadow:0 4px 14px rgba(0,0,0,.2);backdrop-filter:blur(7px)}
.home-update-card__media.news-video-thumb,.current-entry-card__media.news-video-thumb{border-radius:.9rem}
.news-article__hero--video{overflow:hidden;background:#1c2820}
.news-article__hero--video video{display:block;width:100%;max-height:min(72vh,680px);background:#101712}
.parent-council-photo{margin:1.25rem 0 0}.parent-council-photo a{display:block;overflow:hidden;border-radius:1rem}.parent-council-photo img{display:block;width:100%;max-height:34rem;object-fit:cover;transition:transform .2s ease}.parent-council-photo a:hover img{transform:scale(1.015)}.parent-council-photo figcaption{margin-top:.5rem;color:var(--soft);font-size:.84rem;line-height:1.5}
.concept-learning-craft{overflow:hidden;padding:0!important}.concept-learning-craft>img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.concept-learning-craft>div{padding:1rem}.concept-learning-craft span{display:inline-flex;margin-bottom:.4rem;padding:.2rem .45rem;border-radius:999px;background:#fff0bf;color:#6e551a;font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.05em}.concept-learning-craft h3 a{color:inherit;text-decoration:none}.concept-learning-craft h3 a:hover{text-decoration:underline}.concept-learning-craft>div>a{color:var(--forest);font-weight:820}

/* Öffentlicher Smartphone-Upload: bewusst eigenständig und besonders einfach. */
.public-upload-page{min-height:100dvh;margin:0;overflow-x:hidden;background:radial-gradient(circle at 92% 0,rgba(242,199,91,.26),transparent 16rem),radial-gradient(circle at 0 100%,rgba(111,152,95,.2),transparent 18rem),#f3f7ef}
.public-upload{width:min(calc(100% - 1.5rem),40rem);max-width:100%;margin-inline:auto;padding:max(1rem,env(safe-area-inset-top)) 0 max(2rem,env(safe-area-inset-bottom))}
.public-upload__header,.public-upload__form,.public-upload__success{border:1px solid rgba(67,103,76,.16);background:rgba(255,253,248,.96);box-shadow:0 16px 50px rgba(39,65,45,.1)}
.public-upload__header{padding:clamp(1rem,5vw,2rem);border-radius:1.4rem 1.4rem .7rem .7rem}
.public-upload__brand{display:flex;align-items:center;gap:.65rem;width:max-content;margin-bottom:1.5rem;color:var(--forest);font-weight:850;line-height:1.08;text-decoration:none}.public-upload__brand img{width:56px;height:56px;padding:.14rem;border:2px solid var(--sun);border-radius:50%;background:#fff;object-fit:contain}
.public-upload__header h1{max-width:11ch;margin:.15rem 0 .75rem;font-size:clamp(2rem,9vw,3.6rem);line-height:.98;overflow-wrap:anywhere}.public-upload__header>p:last-child{margin:0;color:var(--soft);line-height:1.58;overflow-wrap:anywhere}
.public-upload__form{display:grid;min-width:0;gap:1rem;margin-top:.65rem;padding:clamp(1rem,5vw,1.5rem);border-radius:.7rem .7rem 1.4rem 1.4rem}
.public-upload__form>label:not(.public-upload__picker):not(.public-upload__consent){display:grid;gap:.35rem;color:var(--forest);font-size:.82rem;font-weight:800}.public-upload__form>label small{color:var(--soft);font-weight:650}
.public-upload__form input:not([type=checkbox]),.public-upload__form textarea{width:100%;min-height:50px;padding:.75rem;border:1px solid rgba(67,103,76,.24);border-radius:.75rem;background:#fff;font:inherit}.public-upload__form textarea{min-height:6.5rem;resize:vertical}
.public-upload__picker{position:relative;display:grid;min-width:0;max-width:100%;justify-items:center;gap:.35rem;min-height:13rem;padding:1.25rem;border:2px dashed rgba(67,103,76,.42);border-radius:1rem;background:#edf5e9;color:var(--forest);text-align:center;cursor:pointer}.public-upload__picker:active{background:#e1efdc}.public-upload__picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.public-upload__picker-icon{display:grid;place-items:center;width:4rem;height:4rem;margin-top:.5rem;border-radius:50%;background:var(--forest);color:#fff;font-size:2.25rem;line-height:1}.public-upload__picker strong{font-size:1.08rem}.public-upload__picker small{max-width:28rem;line-height:1.45;overflow-wrap:anywhere}
.public-upload__selection{display:grid;gap:.45rem}.public-upload__selection>div{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.55rem .65rem;border-radius:.65rem;background:#f5f7f2}.public-upload__selection strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}.public-upload__selection small{color:var(--soft);font-size:.72rem}
.public-upload__consent{display:flex;align-items:flex-start;gap:.65rem;padding:.75rem;border-radius:.75rem;background:#fff7dc;color:var(--soft);font-size:.75rem;line-height:1.48}.public-upload__consent input{flex:0 0 auto;width:1.35rem;height:1.35rem;margin-top:.08rem;accent-color:var(--forest)}.public-upload__consent a{color:var(--forest);font-weight:800}
.public-upload__submit{width:100%;min-height:54px;font-size:1rem}.public-upload__submit:disabled{opacity:.7;cursor:wait}.public-upload__error{margin-top:.65rem;padding:.8rem 1rem;border:1px solid #e4a8b0;border-radius:.75rem;background:#fff0f2;color:#8d2836;font-weight:730}
.public-upload__success{display:grid;justify-items:center;gap:.35rem;margin-top:.65rem;padding:clamp(1.5rem,7vw,3rem);border-radius:.7rem 1.4rem 1.4rem;text-align:center}.public-upload__success>span{display:grid;place-items:center;width:4rem;height:4rem;border-radius:50%;background:#e4f2df;color:#315d43;font-size:2rem;font-weight:900}.public-upload__success h2{margin:.45rem 0 0}.public-upload__success p{max-width:30rem;margin:.2rem 0 1rem;color:var(--soft)}
.hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
@media(max-width:520px){.public-upload{width:min(calc(100% - 1rem),40rem)}.public-upload__header{padding:1rem}.public-upload__form{padding:.8rem}.public-upload__picker{min-height:12rem;padding:1rem .65rem}.public-upload__selection>div{grid-template-columns:auto minmax(0,1fr)}.public-upload__selection small{grid-column:2}}
