.academy-page {
  background:
    radial-gradient(circle at 12% 22%, rgba(239, 89, 174, 0.18), transparent 24rem),
    radial-gradient(circle at 88% 34%, rgba(255, 197, 87, 0.14), transparent 25rem),
    radial-gradient(circle at 50% 70%, rgba(77, 109, 197, 0.18), transparent 30rem),
    var(--night);
}

.academy-orbits {
  position: fixed;
  inset: 0;
  z-index: 3;
  overflow: hidden;
  pointer-events: none;
  contain: layout paint;
}

.academy-float {
  position: absolute;
  top: 0;
  left: 0;
  width: clamp(44px, 5.5vw, 78px);
  height: auto;
  opacity: .78;
  filter: drop-shadow(0 0 18px rgba(255, 214, 135, 0.35));
  will-change: transform, opacity;
  transform: translate3d(12vw, 18vh, 0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.academy-float-one { animation: academy-drift-a 98s ease-in-out -18s infinite both; }
.academy-float-two { animation: academy-drift-b 112s ease-in-out -58s infinite both; }
.academy-float-three { animation: academy-drift-a 126s ease-in-out -88s infinite reverse both; }
.academy-float-logo {
  width: clamp(42px, 4.7vw, 70px);
  animation: academy-logo-orbit 172s ease-in-out -104s infinite both;
  filter: brightness(.9) saturate(.92) drop-shadow(0 0 12px rgba(255, 235, 190, .38));
}
.kids-energy-float {
  width: clamp(52px, 6vw, 82px);
  animation: kids-energy-journey 156s ease-in-out -46s infinite both;
  filter: drop-shadow(0 0 10px rgba(227, 0, 255, .36)) drop-shadow(0 10px 22px rgba(7, 1, 15, .32));
}

.samuel-float {
  width: clamp(56px, 6.2vw, 88px);
  opacity: 0;
  animation: samuel-gentle-journey 174s ease-in-out -66s infinite both;
  filter: drop-shadow(0 0 10px rgba(255, 220, 137, .34)) drop-shadow(0 10px 20px rgba(7, 1, 15, .3));
}

@keyframes academy-drift-a {
  0%, 100% { opacity: 0; transform: translate3d(-14vw, 82vh, 0) rotate(-7deg) scale(.72); }
  8% { opacity: .78; }
  42% { opacity: .78; transform: translate3d(48vw, 28vh, 0) rotate(6deg) scale(1); }
  72% { opacity: 0; transform: translate3d(112vw, 58vh, 0) rotate(12deg) scale(.8); }
}

@keyframes academy-drift-b {
  0%, 100% { opacity: 0; transform: translate3d(108vw, 12vh, 0) rotate(8deg) scale(.7); }
  8% { opacity: .74; }
  43% { opacity: .74; transform: translate3d(51vw, 68vh, 0) rotate(-4deg) scale(1); }
  73% { opacity: 0; transform: translate3d(-14vw, 34vh, 0) rotate(-11deg) scale(.78); }
}

@keyframes academy-logo-orbit {
  0%, 100% { opacity: 0; transform: translate3d(-12vw, 24vh, 0) rotate(-8deg) scale(.72); }
  9% { opacity: .72; }
  38% { opacity: .72; transform: translate3d(38vw, 74vh, 0) rotate(8deg) scale(.9); }
  66% { opacity: .72; transform: translate3d(76vw, 26vh, 0) rotate(354deg) scale(1); }
  86% { opacity: 0; transform: translate3d(112vw, 62vh, 0) rotate(372deg) scale(.78); }
}

@keyframes kids-energy-journey {
  0%, 100% { opacity: 0; transform: translate3d(-18vw, 69vh, 0) rotate(-3deg) scale(.82); }
  8% { opacity: .66; }
  24% { opacity: .66; transform: translate3d(24vw, 48vh, 0) rotate(2deg) scale(.92); }
  34% { transform: translate3d(39vw, 39vh, 0) rotate(-2deg) scale(.96); }
  38% { transform: translate3d(43vw, 34vh, 0) rotate(3deg) scale(1); }
  42% { transform: translate3d(47vw, 40vh, 0) rotate(-3deg) scale(.97); }
  51% { transform: translate3d(61vw, 29vh, 0) rotate(5deg) scale(1.02); }
  59% { transform: translate3d(72vw, 35vh, 0) rotate(-5deg) scale(.98); }
  69% { transform: translate3d(58vw, 55vh, 0) rotate(2deg) scale(.88); }
  79% { opacity: .66; transform: translate3d(77vw, 67vh, 0) rotate(-2deg) scale(1.02); }
  91% { opacity: 0; transform: translate3d(112vw, 47vh, 0) rotate(4deg) scale(.84); }
}

@keyframes samuel-gentle-journey {
  0%, 100% { opacity: 0; transform: translate3d(-12vw, 58vh, 0) rotate(-2deg) scale(.82); }
  8% { opacity: .86; }
  24% { opacity: .86; transform: translate3d(18vw, 29vh, 0) rotate(2deg) scale(.92); }
  42% { opacity: .86; transform: translate3d(42vw, 64vh, 0) rotate(-1deg) scale(1); }
  61% { opacity: .86; transform: translate3d(68vw, 22vh, 0) rotate(2deg) scale(.94); }
  79% { opacity: .86; transform: translate3d(88vw, 70vh, 0) rotate(-2deg) scale(1.02); }
  92% { opacity: 0; transform: translate3d(108vw, 42vh, 0) rotate(1deg) scale(.86); }
}

.academy-page main,
.academy-page .footer { position: relative; z-index: 2; }

/* Einheitliche, ruhige Ausrichtung aller Überschriften der Akademie-Seite. */
.academy-page main :is(h1, h2, h3, h4, h5, h6) {
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
  text-wrap: balance;
}

.academy-page main .eyebrow {
  justify-content: center;
  text-align: center;
}

.academy-film {
  position: relative;
  isolation: isolate;
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
  padding: clamp(9rem, 13vw, 11rem) 0 clamp(2.5rem, 6vw, 5rem);
  text-align: center;
}

.academy-film::before {
  position: absolute;
  top: 16%;
  left: 50%;
  z-index: -2;
  width: min(94vw, 920px);
  aspect-ratio: 1.6;
  content: "";
  pointer-events: none;
  border-radius: 42% 58% 38% 62% / 57% 34% 66% 43%;
  background: radial-gradient(ellipse, rgba(238, 83, 177, .2), rgba(255, 208, 103, .12) 46%, transparent 72%);
  filter: blur(24px);
  transform: translateX(-50%) rotate(-2deg);
}

.academy-film-heading {
  width: min(880px, 100%);
  margin: 0 auto clamp(2rem, 4vw, 3.5rem);
}

.academy-film-heading .eyebrow {
  justify-content: center;
}

.academy-film-heading .eyebrow::before {
  display: none;
}

.academy-film-heading h1 {
  margin: .75rem 0 1.25rem;
  font-size: clamp(2.7rem, 6vw, 5.8rem);
  line-height: .98;
  text-wrap: balance;
}

.academy-film-heading > p:last-child {
  width: min(720px, 100%);
  margin: 0 auto;
  color: var(--ink-soft);
  font-family: var(--serif);
  font-size: clamp(1.1rem, 2vw, 1.45rem);
  line-height: 1.55;
  text-wrap: balance;
}

.academy-film-frame {
  position: relative;
  width: min(100%, 1040px);
  margin: 0 auto;
  padding: clamp(.65rem, 1.5vw, 1rem);
  border: 2px solid rgba(255, 235, 180, .62);
  border-radius: 6.4rem 1.3rem 7.5rem 2.2rem / 2.1rem 6.8rem 2.8rem 7.4rem;
  background:
    radial-gradient(circle at 9% 15%, rgba(255, 223, 133, .36), transparent 25%),
    radial-gradient(circle at 92% 88%, rgba(234, 84, 178, .34), transparent 28%),
    linear-gradient(137deg, rgba(255,255,255,.18), rgba(111,43,145,.28));
  box-shadow:
    16px 20px 0 -7px rgba(218, 79, 168, .24),
    -17px -13px 0 -8px rgba(255, 214, 119, .24),
    0 30px 75px rgba(7, 1, 15, .46),
    0 0 90px rgba(255, 202, 99, .17);
  transform: rotate(-.4deg);
}

.academy-film-frame::after {
  position: absolute;
  inset: clamp(.35rem, .8vw, .65rem);
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 2.2rem 6rem 1.4rem 6.8rem / 5.6rem 1.7rem 6.4rem 2.5rem;
  box-shadow: inset 0 0 42px rgba(42, 7, 65, .24);
  transform: rotate(.7deg);
}

.academy-film-video {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 5.4rem .8rem 6.5rem 1.45rem / 1.45rem 5.9rem 2rem 6.2rem;
  background: #090311;
  box-shadow: 0 18px 48px rgba(20, 5, 37, .42);
}

.academy-gerald-lotta {
  position: relative;
  isolation: isolate;
  display: grid;
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
  padding: clamp(1.5rem, 4vw, 3rem) 0 clamp(4rem, 8vw, 7rem);
  place-items: center;
}

.academy-gerald-lotta::before {
  position: absolute;
  inset: 4% 16% 8%;
  z-index: -2;
  content: "";
  pointer-events: none;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255, 205, 105, .2), rgba(221, 78, 170, .12) 48%, transparent 74%);
  filter: blur(22px);
}

.gerald-lotta-frame {
  position: relative;
  isolation: isolate;
  width: min(100%, 560px);
  margin: 0;
  padding: clamp(.7rem, 1.7vw, 1rem);
  border: 2px solid rgba(255, 232, 171, .7);
  border-radius: 5.8rem 1.2rem 6.8rem 2rem / 1.8rem 6.2rem 2.6rem 7rem;
  background:
    radial-gradient(circle at 10% 14%, rgba(255, 226, 143, .48), transparent 27%),
    radial-gradient(circle at 90% 86%, rgba(234, 84, 178, .38), transparent 29%),
    linear-gradient(142deg, rgba(255,255,255,.2), rgba(103, 42, 143, .28));
  box-shadow:
    14px 18px 0 -6px rgba(218, 79, 168, .25),
    -14px -11px 0 -6px rgba(255, 215, 124, .26),
    0 30px 76px rgba(7, 1, 15, .44),
    0 0 88px rgba(255, 201, 99, .17);
  transform: rotate(-.45deg);
}

.gerald-lotta-frame::after {
  position: absolute;
  inset: .42rem;
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.42);
  border-radius: 1.8rem 5.4rem 1.3rem 6rem / 5.1rem 1.4rem 5.8rem 2rem;
  box-shadow: inset 0 0 38px rgba(31, 5, 52, .18);
  transform: rotate(.6deg);
}

.gerald-lotta-frame img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 4.9rem .75rem 5.9rem 1.35rem / 1.25rem 5.4rem 1.8rem 6.1rem;
  box-shadow: 0 18px 48px rgba(18, 4, 33, .35);
}

.academy-motivation {
  position: relative;
  isolation: isolate;
  width: min(1180px, calc(100% - 3rem));
  margin: 0 auto;
  padding: clamp(4rem, 8vw, 7rem) 0 clamp(5rem, 10vw, 9rem);
}

.academy-motivation::before {
  position: absolute;
  inset: 5% -3%;
  z-index: -3;
  content: "";
  pointer-events: none;
  border-radius: 57% 43% 62% 38% / 39% 61% 42% 58%;
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 232, 157, .86) 0 1.5px, transparent 3px),
    radial-gradient(circle at 88% 26%, rgba(239, 139, 207, .82) 0 2px, transparent 3.5px),
    radial-gradient(circle at 76% 83%, rgba(255, 211, 116, .72) 0 1.5px, transparent 3px),
    radial-gradient(ellipse at 24% 48%, rgba(225, 82, 174, .16), transparent 45%),
    radial-gradient(ellipse at 74% 48%, rgba(255, 205, 99, .12), transparent 46%);
  filter: drop-shadow(0 0 52px rgba(221, 84, 175, .14));
}

.motivation-copy {
  position: relative;
  width: 100%;
  padding: clamp(1.8rem, 4vw, 3.5rem);
  border: 1px solid rgba(255, 237, 189, .26);
  border-radius: 2.8rem 1.3rem 3.8rem 1.7rem / 1.7rem 3.4rem 1.4rem 3.5rem;
  background: linear-gradient(145deg, rgba(255,255,255,.1), rgba(111,43,145,.11));
  box-shadow: 0 28px 70px rgba(7, 1, 15, .28), inset 0 0 52px rgba(255,255,255,.025);
}

.motivation-copy::before {
  position: absolute;
  top: -1.65rem;
  left: clamp(1rem, 3vw, 2.5rem);
  content: "“";
  color: rgba(255, 211, 112, .48);
  font-family: var(--serif);
  font-size: clamp(5rem, 9vw, 8rem);
  line-height: 1;
  text-shadow: 0 0 28px rgba(255, 202, 99, .18);
}

.motivation-copy .eyebrow {
  position: relative;
  margin-left: clamp(2.5rem, 7vw, 5rem);
}

.motivation-copy h2 {
  width: 100%;
  max-width: none;
  margin-bottom: clamp(1.8rem, 4vw, 3.2rem);
  font-size: clamp(2.35rem, 5vw, 5.15rem);
  line-height: 1.03;
  text-wrap: balance;
}

.motivation-name {
  position: relative;
  display: flex;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto clamp(2.1rem, 5vw, 3.8rem);
  padding: .7rem clamp(1rem, 3vw, 2rem) .85rem;
  align-items: center;
  gap: clamp(.55rem, 1.5vw, 1rem);
  color: #fff7e2;
  border: 1px solid rgba(255, 232, 170, .48);
  border-radius: 62% 38% 56% 44% / 43% 57% 41% 59%;
  background: linear-gradient(120deg, rgba(220, 74, 168, .38), rgba(113, 51, 164, .45) 53%, rgba(255, 199, 87, .22));
  box-shadow: 0 13px 34px rgba(8, 2, 18, .3), 0 0 34px rgba(241, 137, 207, .18);
  transform: rotate(-1.2deg);
}

.motivation-name::after {
  position: absolute;
  right: 8%;
  bottom: -.48rem;
  left: 10%;
  height: .34rem;
  content: "";
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, #f18fcf 15%, #ffd77e 55%, transparent);
  filter: blur(.4px);
  transform: rotate(1.8deg);
}

.motivation-name strong {
  font-family: var(--heading);
  font-size: clamp(1.75rem, 4vw, 3.25rem);
  font-weight: 400;
  line-height: 1.05;
  text-align: center;
  text-shadow: 0 0 24px rgba(255, 213, 116, .26);
}

.motivation-name span {
  flex: 0 0 auto;
  color: var(--gold-bright);
  font-size: clamp(1.25rem, 2.5vw, 2rem);
}

.motivation-text {
  width: 100%;
}

.motivation-text p {
  max-width: none;
  margin-right: 0;
  margin-left: 0;
  color: var(--ink-soft);
  font-size: clamp(1.05rem, 1.7vw, 1.2rem);
  line-height: 1.8;
}

.motivation-text strong {
  color: #fff5da;
  font-weight: 650;
}

.motivation-signature {
  display: block;
  margin-top: 2rem;
  padding-top: 1.35rem;
  border-top: 1px solid rgba(255, 226, 158, .2);
  text-align: center;
}

.motivation-signature span {
  color: #cfc3d9;
  font-size: .92rem;
}

.motivation-portrait {
  position: relative;
  isolation: isolate;
  display: grid;
  width: min(100%, 690px);
  margin: clamp(3rem, 7vw, 5.5rem) auto 0;
  padding: clamp(1.2rem, 3vw, 2.3rem);
  place-items: center;
  border: 2px solid rgba(255, 233, 173, .58);
  border-radius: 8.8rem 1.5rem 10rem 2.7rem / 2.8rem 9.4rem 3.5rem 10.2rem;
  background:
    radial-gradient(circle at 18% 16%, rgba(255, 225, 142, .38), transparent 28%),
    radial-gradient(circle at 82% 84%, rgba(234, 83, 178, .34), transparent 30%),
    linear-gradient(142deg, rgba(255,255,255,.17), rgba(111,43,145,.24));
  box-shadow:
    13px 18px 0 -6px rgba(219, 78, 169, .23),
    -13px -11px 0 -6px rgba(255, 213, 116, .24),
    0 30px 72px rgba(7, 1, 15, .4),
    0 0 76px rgba(255, 202, 99, .14);
  transform: rotate(1.25deg);
}

.motivation-portrait::after {
  position: absolute;
  inset: .7rem;
  z-index: -1;
  content: "";
  border-radius: 2rem 6rem 1.3rem 6.5rem / 5.8rem 1.4rem 6.8rem 2.1rem;
  background: radial-gradient(ellipse at 50% 48%, rgba(255, 240, 195, .27), rgba(210, 77, 172, .13) 58%, transparent 78%);
  box-shadow: inset 0 0 46px rgba(45, 8, 67, .22);
  transform: rotate(-1.8deg);
}

.motivation-portrait img {
  display: block;
  width: min(100%, 500px);
  height: auto;
  filter: saturate(1.03) drop-shadow(0 25px 42px rgba(7, 1, 15, .45));
  transform: rotate(-.65deg);
}

.academy-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .88fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  width: min(1180px, calc(100% - 3rem));
  min-height: 92svh;
  margin: 0 auto;
  padding: 9rem 0 5rem;
}

.academy-hero::before {
  position: absolute;
  top: 9%;
  right: -12%;
  width: 62%;
  aspect-ratio: 1;
  content: "";
  pointer-events: none;
  background: radial-gradient(circle, rgba(255, 211, 115, .18), rgba(219, 79, 164, .08) 38%, transparent 70%);
  filter: blur(18px);
}

.academy-hero-banner {
  position: relative;
  z-index: 1;
  grid-column: 1 / -1;
  display: grid;
  width: min(92%, 1080px);
  margin: clamp(.6rem, 1.5vw, 1.2rem) auto clamp(1.2rem, 3vw, 2.6rem);
  padding: clamp(1.2rem, 3.2vw, 3rem);
  place-items: center;
  border: 2px solid rgba(255, 237, 189, .5);
  border-radius: 4.8rem 1.8rem 5.8rem 2.4rem / 2.5rem 5.5rem 2.8rem 4.8rem;
  background:
    radial-gradient(circle at 10% 16%, rgba(255, 220, 132, .3), transparent 23%),
    radial-gradient(circle at 90% 82%, rgba(232, 83, 176, .24), transparent 28%),
    linear-gradient(137deg, rgba(255,255,255,.18), rgba(109,43,143,.2));
  box-shadow:
    var(--shadow),
    14px 18px 0 -5px rgba(218, 79, 168, .2),
    -15px -12px 0 -7px rgba(255, 214, 119, .2),
    0 0 76px rgba(255, 202, 99, .18),
    0 0 120px rgba(215, 72, 161, .1);
  transform: rotate(-.35deg);
}

.academy-hero-banner::after {
  position: absolute;
  inset: clamp(.5rem, 1.15vw, 1rem);
  content: "";
  pointer-events: none;
  border: 1px solid rgba(255,255,255,.34);
  border-radius: 2.4rem 4.8rem 2rem 5.2rem / 4.4rem 2rem 5rem 2.5rem;
  box-shadow: inset 0 0 48px rgba(74, 16, 101, .18);
  transform: rotate(.8deg);
}

.academy-hero-banner img {
  display: block;
  width: min(84%, 850px);
  max-height: 62svh;
  object-fit: contain;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 2.5rem 1.2rem 3.4rem 1.6rem / 1.5rem 3.2rem 1.7rem 2.8rem;
  box-shadow: 0 18px 48px rgba(20, 5, 37, .32), 0 0 26px rgba(255, 226, 159, .13);
  transform: rotate(.35deg);
}

.academy-hero-copy,
.academy-logo-card { position: relative; z-index: 1; min-width: 0; }

.academy-hero #academy-title { font-size: clamp(3.2rem, 6.2vw, 6.8rem); }
.academy-hero #academy-title em {
  display: block;
  color: var(--gold-bright);
  font-weight: 400;
  text-shadow: 0 0 32px rgba(255, 196, 94, .2);
}
.academy-lead {
  max-width: 40rem;
  color: #fff8e8;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.3vw, 1.9rem);
  line-height: 1.4;
}
.academy-hero-copy > p:not(.eyebrow, .academy-lead) { max-width: 42rem; color: var(--ink-soft); font-size: 1.08rem; }

.academy-logo-card {
  overflow: hidden;
  padding: clamp(1.6rem, 4vw, 3rem);
  color: #321b39;
  border: 1px solid rgba(255,255,255,.66);
  border-radius: 2.5rem;
  background: linear-gradient(145deg, rgba(255,255,255,.98), rgba(255,248,232,.94));
  box-shadow: var(--shadow), 0 0 55px rgba(255, 202, 99, .14);
  text-align: center;
}
.academy-logo-card img { width: min(100%, 440px); margin: 0 auto 1rem; }
.academy-logo-card p { margin-bottom: .75rem; color: #613957; font-family: var(--serif); font-size: 1.08rem; }
.academy-logo-card span {
  display: inline-flex;
  padding: .55rem .85rem;
  color: #5d2852;
  border: 1px solid rgba(147, 48, 110, .2);
  border-radius: 999px;
  background: rgba(235, 126, 179, .11);
  font-size: .82rem;
  font-weight: 750;
}

.academy-purpose { padding: 7rem 0; }
.purpose-intro {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 4.5rem) clamp(1rem, 3vw, 2.5rem);
}
.purpose-intro::before {
  position: absolute;
  inset: -5% -3%;
  z-index: -3;
  content: "";
  pointer-events: none;
  border-radius: 42% 58% 47% 53% / 56% 42% 58% 44%;
  background:
    radial-gradient(circle at 13% 18%, rgba(255, 238, 174, .9) 0 1.5px, transparent 2.8px),
    radial-gradient(circle at 85% 24%, rgba(239, 144, 211, .82) 0 1.8px, transparent 3px),
    radial-gradient(circle at 76% 82%, rgba(255, 215, 122, .72) 0 1.5px, transparent 2.8px),
    radial-gradient(ellipse at 23% 50%, rgba(224, 83, 175, .2), transparent 43%),
    radial-gradient(ellipse at 71% 46%, rgba(255, 207, 101, .15), transparent 48%),
    radial-gradient(ellipse at 50% 50%, rgba(119, 57, 166, .2), transparent 70%);
  filter: drop-shadow(0 0 42px rgba(218, 88, 177, .18));
}
.purpose-character {
  --purpose-gold: rgba(255, 211, 112, .72);
  --purpose-pink: rgba(229, 86, 174, .48);
  position: relative;
  isolation: isolate;
  width: min(100%, 470px);
  margin: 0 auto;
  padding: clamp(.55rem, 1vw, .85rem);
}
.purpose-character::before {
  position: absolute;
  inset: -6%;
  z-index: -2;
  content: "";
  border-radius: 46% 54% 43% 57% / 56% 42% 58% 44%;
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 236, 168, .96) 0 2px, transparent 3px),
    radial-gradient(circle at 90% 18%, rgba(241, 143, 209, .9) 0 2px, transparent 3px),
    conic-gradient(from 210deg, transparent, var(--purpose-pink), var(--purpose-gold), rgba(139, 78, 196, .5), transparent);
  filter: blur(15px);
  transform: rotate(-1.2deg);
}
.purpose-character::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  border-radius: 48% 52% 41% 59% / 55% 44% 56% 45%;
  background: radial-gradient(ellipse, rgba(255, 238, 184, .42), rgba(205, 93, 186, .2) 52%, transparent 74%);
  box-shadow: 0 0 42px var(--purpose-pink), 0 0 70px rgba(255, 208, 105, .38);
  transform: rotate(.9deg) scale(1.04);
}
.purpose-character img {
  display: block;
  width: 100%;
  border-radius: 45% 55% 39% 61% / 52% 46% 54% 48%;
  filter: saturate(1.04) drop-shadow(0 24px 44px rgba(7, 1, 15, .34));
  -webkit-mask-image: radial-gradient(ellipse 100% 97% at 50% 49%, #000 55%, rgba(0,0,0,.98) 70%, rgba(0,0,0,.62) 84%, transparent 100%);
  mask-image: radial-gradient(ellipse 100% 97% at 50% 49%, #000 55%, rgba(0,0,0,.98) 70%, rgba(0,0,0,.62) 84%, transparent 100%);
}
.purpose-heading { min-width: 0; }
.purpose-heading .eyebrow { margin-bottom: 1rem; }
.purpose-heading h2 { margin-bottom: 0; }
.purpose-heading > p:last-child { max-width: 42rem; margin: 1.5rem 0 0; color: var(--ink-soft); font-size: 1.07rem; }
.purpose-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 4rem; }
.purpose-card {
  min-height: 330px;
  padding: 2rem;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 1.8rem;
  background: linear-gradient(145deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
  box-shadow: 0 24px 60px rgba(6, 1, 14, .22);
}
.purpose-card img { width: 76px; margin-bottom: 2rem; }
.purpose-card h3 { margin-bottom: .65rem; color: var(--gold-bright); font-size: 1.55rem; font-weight: 400; }
.purpose-card p { margin: 0; color: var(--ink-soft); }

.meeting-section {
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  gap: clamp(2.5rem, 7vw, 7rem);
  align-items: center;
  padding: 7rem 0;
}
.meeting-image {
  overflow: hidden;
  border: 1px solid rgba(255, 237, 189, .3);
  border-radius: 2.3rem;
  background: rgba(255,255,255,.06);
  box-shadow: var(--shadow);
}
.meeting-image img { aspect-ratio: 1.34; object-fit: cover; }
.meeting-image a { display: block; padding: 1rem 1.25rem; color: #fff0c7; font-size: .9rem; text-align: center; text-decoration: none; }
.meeting-copy > p:not(.eyebrow) { color: var(--ink-soft); font-size: 1.04rem; }
.meeting-badges { display: flex; flex-wrap: wrap; gap: .65rem; margin-top: 2rem; }
.meeting-badges span {
  padding: .55rem .8rem;
  color: #fff6dc;
  border: 1px solid rgba(255, 224, 157, .25);
  border-radius: 999px;
  background: rgba(255,255,255,.06);
  font-size: .82rem;
}

.appointments { padding: 7rem 0; }
.appointments-heading { max-width: 760px; margin-bottom: 3rem; }
.appointments-heading > p:last-child { color: var(--ink-soft); font-size: 1.06rem; }
.appointments-list { display: grid; gap: 1rem; }
.appointment-empty,
.appointment-card {
  position: relative;
  overflow: hidden;
  padding: clamp(2rem, 5vw, 4rem);
  border: 1px solid rgba(255, 237, 189, .28);
  border-radius: 2rem;
  background: linear-gradient(135deg, rgba(109,43,143,.58), rgba(34,14,61,.88));
  box-shadow: var(--shadow);
}
.appointment-empty { min-height: 280px; }
.appointment-empty > * { position: relative; z-index: 1; max-width: 650px; }
.empty-star { position: absolute; right: 3rem; top: 1rem; color: rgba(255,229,161,.13); font-size: 13rem; line-height: 1; }
.appointment-format { margin-bottom: .65rem; color: var(--gold-bright); font-size: .78rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.appointment-empty h3,
.appointment-card h3 { margin-bottom: .7rem; color: #fff8e8; font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 400; }
.appointment-empty p:last-child,
.appointment-card p { color: var(--ink-soft); }
.appointment-card time { display: block; margin-bottom: .8rem; color: #fff8e8; font-family: var(--serif); font-size: 1.2rem; }

.academy-people { padding: 7rem 0 10rem; }
.people-card {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(2.5rem, 7vw, 6rem);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 2.5rem;
  background:
    radial-gradient(circle at 88% 25%, rgba(255, 210, 112, .18), transparent 16rem),
    linear-gradient(145deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  text-align: center;
}
.people-card .eyebrow::before { display: none; }
.people-card p { max-width: 720px; margin-right: auto; margin-left: auto; color: var(--ink-soft); font-size: 1.06rem; }
.people-card .people-note { margin-top: 1.5rem; color: var(--gold-bright); font-family: var(--serif); font-size: 1.18rem; }
.people-card .people-team-name { margin-top: .65rem; color: var(--gold-bright); font-weight: 750; }
.team-photo {
  position: relative;
  isolation: isolate;
  width: min(100%, 520px);
  margin: 2.2rem auto 3rem;
  padding: clamp(.55rem, 1.4vw, .9rem);
  border-radius: 46% 54% 42% 58% / 52% 43% 57% 48%;
  background: transparent;
  transform: rotate(-.7deg);
}
.team-photo::before {
  position: absolute;
  inset: -4%;
  z-index: -2;
  pointer-events: none;
  content: "";
  border-radius: 42% 58% 48% 52% / 57% 45% 55% 43%;
  background:
    radial-gradient(circle at 10% 24%, rgba(255, 235, 170, .95) 0 2px, transparent 3px),
    radial-gradient(circle at 92% 18%, rgba(236, 157, 255, .9) 0 2px, transparent 3px),
    radial-gradient(circle at 88% 82%, rgba(255, 204, 101, .88) 0 2px, transparent 3px),
    conic-gradient(from 215deg, rgba(255, 206, 102, .72), rgba(218, 79, 168, .6), rgba(133, 83, 204, .66), rgba(255, 220, 132, .7));
  filter: blur(13px);
  opacity: .82;
  transform: rotate(1.5deg);
}
.team-photo::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  border-radius: 51% 49% 57% 43% / 45% 56% 44% 55%;
  background: radial-gradient(ellipse at center, rgba(255, 213, 116, .78), rgba(200, 94, 188, .46) 48%, transparent 73%);
  box-shadow: 0 0 34px rgba(219, 91, 177, .34), 0 0 58px rgba(255, 205, 101, .25);
  transform: rotate(-1.1deg) scale(1.025);
}
.team-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 38%;
  border-radius: 45% 55% 40% 60% / 50% 42% 58% 50%;
  filter: saturate(1.04) drop-shadow(0 22px 46px rgba(5, 1, 12, .34));
  -webkit-mask-image: radial-gradient(ellipse 100% 98% at 50% 49%, #000 58%, rgba(0,0,0,.98) 73%, rgba(0,0,0,.6) 86%, transparent 100%);
  mask-image: radial-gradient(ellipse 100% 98% at 50% 49%, #000 58%, rgba(0,0,0,.98) 73%, rgba(0,0,0,.6) 86%, transparent 100%);
  transform: rotate(.7deg);
}
.team-photo-wide {
  width: min(100%, 590px);
  margin-top: -1.2rem;
  transform: rotate(.65deg);
}
.team-photo-wide.team-photo-first {
  margin-top: 2.2rem;
}
.team-photo-after-title {
  margin-top: 1.4rem;
}
.team-photo-wide::before {
  transform: rotate(-1.6deg);
}
.team-photo-wide::after {
  transform: rotate(1.2deg) scale(1.025);
}
.team-photo-wide img {
  aspect-ratio: 4 / 3;
  object-position: center;
  border-radius: 55% 45% 51% 49% / 44% 56% 46% 54%;
  transform: rotate(-.65deg);
}
.people-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin: 2.4rem 0 2rem;
  text-align: left;
}
.person-block {
  position: relative;
  min-width: 0;
  padding: clamp(1.5rem, 3vw, 2.2rem);
  border: 1px solid rgba(255, 237, 189, .22);
  border-radius: 1.7rem;
  background: linear-gradient(145deg, rgba(109, 43, 143, .3), rgba(255, 255, 255, .035));
  box-shadow: 0 18px 48px rgba(7, 1, 15, .18);
}
.person-block-christin { grid-column: 1; grid-row: 1; }
.person-block-sigrid { grid-column: 1; grid-row: 2; }
.person-block-lotta { grid-column: 2; grid-row: 1; }
.person-block-beate { grid-column: 2; grid-row: 2; }
.person-photo {
  position: relative;
  isolation: isolate;
  width: min(88%, 250px);
  margin: 0 auto 1.8rem;
  padding: .48rem;
  transform: rotate(1deg);
}
.person-photo::before {
  position: absolute;
  inset: -7%;
  z-index: -2;
  content: "";
  border-radius: 46% 54% 43% 57% / 55% 42% 58% 45%;
  background: conic-gradient(from 205deg, rgba(255, 210, 109, .86), rgba(221, 83, 177, .75), rgba(135, 83, 210, .82), rgba(255, 229, 160, .88));
  filter: blur(10px);
  opacity: .82;
  transform: rotate(-2deg);
}
.person-photo::after {
  position: absolute;
  inset: -.1rem;
  z-index: -1;
  content: "";
  border: 1px solid rgba(255, 239, 191, .6);
  border-radius: 54% 46% 58% 42% / 43% 57% 45% 55%;
  background: linear-gradient(145deg, rgba(255, 222, 133, .54), rgba(191, 78, 190, .42));
  box-shadow: 0 0 28px rgba(226, 105, 196, .3), 0 0 46px rgba(255, 211, 109, .2);
  transform: rotate(1.8deg);
}
.person-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  object-position: center;
  border-radius: 48% 52% 44% 56% / 54% 43% 57% 46%;
  filter: saturate(1.04) drop-shadow(0 16px 30px rgba(6, 1, 14, .3));
  transform: rotate(-1deg);
}
.person-photo-placeholder {
  display: grid;
  width: 100%;
  aspect-ratio: 3 / 4;
  place-items: center;
  overflow: hidden;
  border-radius: 48% 52% 44% 56% / 54% 43% 57% 46%;
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 235, 174, .15), transparent 28%),
    linear-gradient(145deg, rgba(93, 47, 137, .52), rgba(28, 12, 48, .82));
  box-shadow: inset 0 0 42px rgba(255, 218, 135, .08);
  transform: rotate(-1deg);
}
.person-photo-placeholder span {
  color: rgba(255, 226, 157, .58);
  font-size: 2.1rem;
  filter: drop-shadow(0 0 15px rgba(255, 206, 101, .5));
}
.person-block h3 {
  margin: 0 0 .85rem;
  color: #fff8e8;
  font-family: var(--serif);
  font-size: clamp(1.35rem, 2.3vw, 1.8rem);
  font-weight: 400;
}
.people-card .person-block p { margin: 0; font-size: 1rem; }
.people-card .people-together { margin-top: 0; }

.kids-energy-logo {
  display: grid;
  width: 92px;
  height: 92px;
  margin: 0 auto 1.35rem;
  place-items: center;
  border: 1px solid rgba(255,237,189,.24);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,224,151,.14), rgba(255,255,255,.035) 68%);
  box-shadow: 0 0 34px rgba(255,188,84,.12);
  transition: transform 180ms ease, border-color 180ms ease;
}
.kids-energy-logo:hover,
.kids-energy-logo:focus-visible { transform: translateY(-2px); border-color: rgba(255,229,161,.62); }
.kids-energy-logo:focus-visible { outline: 3px solid rgba(255,229,161,.95); outline-offset: 3px; }
.kids-energy-logo img { width: 74px; height: 74px; object-fit: contain; }
.kids-energy-link { margin-top: .75rem; }

.academy-page .footer > small a { color: #a99db8; }

@media (max-width: 900px) {
  .academy-hero,
  .purpose-intro,
  .meeting-section { grid-template-columns: 1fr; }
  .academy-motivation { width: min(760px, calc(100% - 3rem)); }
  .motivation-portrait { width: min(100%, 560px); }
  .academy-hero { min-height: auto; padding-top: 8.5rem; }
  .academy-hero-copy { text-align: center; }
  .academy-hero-copy .eyebrow::before { display: none; }
  .academy-hero-copy > p { margin-right: auto; margin-left: auto; }
  .academy-hero .hero-actions { justify-content: center; }
  .academy-logo-card { width: min(100%, 620px); margin: 0 auto; }
  .purpose-character { width: min(82vw, 430px); }
  .people-grid { grid-template-columns: 1fr; }
  .person-block-christin,
  .person-block-sigrid,
  .person-block-lotta,
  .person-block-beate { grid-column: auto; grid-row: auto; }
  .purpose-heading { text-align: center; }
  .purpose-heading .eyebrow::before { display: none; }
  .purpose-heading > p:last-child { margin-right: auto; margin-left: auto; }
  .purpose-grid { grid-template-columns: 1fr; }
  .purpose-card { min-height: 0; }
  .meeting-copy { order: -1; }
}

@media (max-width: 520px) {
  .academy-film { width: calc(100% - 2rem); padding-top: 7.5rem; }
  .academy-film-heading h1 { font-size: clamp(2.45rem, 12vw, 3.7rem); }
  .academy-film-frame {
    padding: .45rem;
    border-radius: 3.2rem .75rem 4rem 1.1rem / 1.1rem 3.6rem 1.45rem 4rem;
    box-shadow: 9px 12px 0 -5px rgba(218, 79, 168, .24), -9px -8px 0 -5px rgba(255, 214, 119, .24), 0 24px 54px rgba(7, 1, 15, .42);
  }
  .academy-film-frame::after { border-radius: 1.2rem 3.2rem .8rem 3.6rem / 3rem .9rem 3.4rem 1.3rem; }
  .academy-film-video { border-radius: 2.7rem .45rem 3.4rem .75rem / .75rem 3.1rem 1rem 3.3rem; }
  .academy-motivation { width: calc(100% - 2rem); padding: 4rem .25rem; }
  .motivation-copy { padding: 1.6rem 1.25rem 1.8rem; border-radius: 2rem .9rem 2.6rem 1.15rem / 1.15rem 2.4rem .95rem 2.5rem; }
  .motivation-copy h2 { font-size: clamp(2.2rem, 11.5vw, 3.4rem); }
  .motivation-copy > p:not(.eyebrow) { font-size: 1rem; }
  .motivation-portrait {
    width: min(88vw, 380px);
    padding: .5rem;
    border-radius: 3.6rem .7rem 4.4rem 1.1rem / 1.2rem 4rem 1.5rem 4.6rem;
    box-shadow: 8px 11px 0 -5px rgba(219, 78, 169, .23), -8px -7px 0 -5px rgba(255, 213, 116, .24), 0 24px 52px rgba(7, 1, 15, .4);
  }
  .academy-hero { width: calc(100% - 2rem); gap: 2rem; padding: 7.5rem 0 4rem; }
  .academy-hero-banner {
    width: 96%;
    padding: 1rem .75rem;
    border-radius: 2.5rem 1rem 3rem 1.25rem / 1.4rem 2.8rem 1.5rem 2.4rem;
    box-shadow: var(--shadow), 8px 10px 0 -4px rgba(218, 79, 168, .2), -7px -7px 0 -4px rgba(255, 214, 119, .2);
  }
  .academy-hero-banner img { width: 89%; border-radius: 1.5rem .7rem 2rem .9rem / .9rem 1.9rem 1rem 1.6rem; }
  .academy-hero #academy-title { font-size: clamp(2.5rem, 13vw, 3.8rem); }
  .academy-logo-card { padding: 1.25rem; border-radius: 1.5rem; }
  .academy-purpose,
  .meeting-section,
  .appointments { padding: 4.5rem 0; }
  .purpose-grid { margin-top: 2rem; }
  .purpose-character { width: min(88vw, 380px); }
  .purpose-card { padding: 1.5rem; border-radius: 1.35rem; }
  .meeting-image,
  .appointment-empty,
  .appointment-card,
  .people-card { border-radius: 1.5rem; }
  .academy-people { padding: 4.5rem 0 6rem; }
  .team-photo { width: min(94%, 430px); margin: 1.8rem auto 2.5rem; }
  .academy-float { width: clamp(36px, 12vw, 52px); }
  .academy-float-logo { width: clamp(34px, 9vw, 46px); }
  .kids-energy-float { width: clamp(46px, 14vw, 62px); }
  .samuel-float { width: clamp(48px, 13vw, 60px); }
}

@media (prefers-reduced-motion: reduce) {
  .academy-float { animation: none !important; opacity: .7; }
  .academy-float-one { transform: translate3d(8vw, 20vh, 0) rotate(-6deg); }
  .academy-float-two { transform: translate3d(78vw, 34vh, 0) rotate(5deg); }
  .academy-float-three { transform: translate3d(16vw, 72vh, 0) rotate(7deg); }
  .academy-float-logo { transform: translate3d(72vw, 76vh, 0) rotate(-4deg); }
  .kids-energy-float { transform: translate3d(48vw, 56vh, 0) rotate(3deg); }
  .samuel-float { transform: translate3d(80vw, 62vh, 0) rotate(-2deg); opacity: .72; }
}
