/* Feste Rosé-Lichtfläche: Inhalte scrollen nativ über dem Hintergrund. */
:root {
  --glass-shadow: 0 22px 50px rgba(89, 51, 75, .11),
    0 4px 10px rgba(89, 51, 75, .045),
    inset 0 1px 0 rgba(255, 255, 255, .98),
    inset 0 -1px 0 rgba(169, 111, 139, .13);
}
body { background: #faf4f6; isolation: isolate; }
body::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background:
    radial-gradient(ellipse at 83% 14%, rgba(226, 153, 182, .35), transparent 48%),
    radial-gradient(ellipse at 12% 63%, rgba(238, 183, 206, .38), transparent 46%),
    radial-gradient(ellipse at 89% 92%, rgba(192, 211, 205, .29), transparent 43%),
    linear-gradient(135deg, #fcf9fa, #f7edf2 56%, #f8f5f7);
}
.site-header { background: rgba(255, 248, 252, .77); }
.services-grid { background: none; }
.service-card:not(.featured), .family-points article,
.approach-list details, .partners-section, .contact-card {
  background: linear-gradient(135deg, rgba(255,255,255,.80), rgba(255,243,249,.51));
  border-color: rgba(255,255,255,.94);
  box-shadow: var(--glass-shadow);
}
.transition-card {
  background: linear-gradient(120deg, rgba(255,255,255,.74), rgba(246,219,232,.48));
}
.photo-note {
  background: linear-gradient(135deg, rgba(255,255,255,.83), rgba(255,236,246,.64));
  box-shadow: 0 20px 40px #46243829, inset 0 1px 0 #fff, inset 0 -1px 0 #cdaabb33;
}
.hero-visual figure {
  box-shadow: 0 28px 58px #57304824, 0 6px 14px #5730480a, inset 0 1px 0 #fff;
}
.service-symbol, .note-icon, .round-link {
  background: linear-gradient(135deg, #ffffffe0, #f0cee19e);
  box-shadow: inset 0 2px 2px #ffffffeb, inset 0 -2px 3px #b67e9d1f, 0 7px 14px #66435612;
}
.featured {
  background: linear-gradient(140deg, rgba(54,89,94,.94), rgba(36,51,63,.94));
  box-shadow: 0 24px 48px #263c4430, inset 0 1px 0 #fff9, inset 0 -1px 0 #152d4459;
}
.featured .service-symbol { background: linear-gradient(135deg, #ffffff30, #e5b3cc16); }
.principle-strip { background: rgba(255,255,255,.32); }
.school-section {
  background: linear-gradient(120deg, rgba(255,255,255,.36), rgba(245,212,229,.28));
}
.contact-section {
  background: linear-gradient(120deg, rgba(242,207,224,.43), rgba(255,255,255,.25));
  border-top: 1px solid #ffffffc4;
}
.about-section {
  background: linear-gradient(135deg, rgba(32,57,65,.96), rgba(64,48,65,.94));
}
.team-note { background: linear-gradient(135deg, #ffffff1f, #dfbdd411); }
.approach-list details[open] { background: linear-gradient(135deg, #ffffffe8, #fff0f7b3); }
.js .site-header nav.is-open { background: rgba(255,247,251,.97); }
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .service-card, .family-points article {
    transition: transform .25s ease, box-shadow .25s ease;
  }
  .service-card:hover, .family-points article:hover {
    transform: translateY(-4px);
    box-shadow: 0 28px 58px #59334b24, 0 7px 16px #59334b0a, inset 0 1px 0 #fff;
  }
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .site-header, .photo-note, .service-card:not(.featured), .contact-card,
  .partners-section, .family-points article, .approach-list details { background: #fff7fb; }
}
@media (prefers-reduced-transparency: reduce) {
  .site-header, .photo-note, .service-card:not(.featured), .contact-card,
  .partners-section, .family-points article, .approach-list details { background: #fff7fb; }
}
@media print {
  body { background: white; }
  body::before { display: none; }
  .service-card, .family-points article, .approach-list details,
  .partners-section, .contact-card, .hero-visual figure, .photo-note { box-shadow: none; transform: none; }
}
