.academy-page { position: relative; z-index: 1; }
.academy-shell { width: min(var(--maxw), calc(100% - 48px)); margin-inline: auto; }

.academy-hero { position: relative; min-height: 980px; padding: 150px 0 80px; overflow: hidden; }
.academy-hero__mesh { position: absolute; inset: 0; pointer-events: none; background: radial-gradient(42% 42% at 25% 15%,rgba(0,149,183,.15),transparent 68%),radial-gradient(38% 38% at 75% 18%,rgba(122,63,209,.13),transparent 68%); }
.academy-hero__grid { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 70px; align-items: center; }
.academy-hero__copy h1 { font-size: clamp(44px,5.2vw,68px); line-height: 1.04; letter-spacing: -.035em; }
.academy-hero__copy > p { max-width: 650px; margin-top: 24px; color: var(--muted); font-size: clamp(16px,1.6vw,19px); line-height: 1.7; }
.academy-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
.academy-trust { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 46px; list-style: none; }
.academy-trust li { position: relative; padding-left: 20px; color: var(--muted); font-size: 12px; }
.academy-trust li::before { content: "✓"; position: absolute; left: 0; color: var(--leaf); }

.academy-visual { position: relative; height: 470px; }
.academy-visual__paths { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.academy-visual__paths .path { fill: none; stroke-width: 2; filter: drop-shadow(0 0 7px currentColor); }
.path--teal { stroke: var(--teal); color: var(--teal); }.path--leaf { stroke: var(--leaf); color: var(--leaf); }.path--purple { stroke: var(--purple); color: var(--purple); }.path--amber { stroke: var(--amber); color: var(--amber); }
.academy-visual__node { position: absolute; z-index: 2; display: grid; justify-items: center; width: 110px; color: var(--muted); text-align: center; }
.academy-visual__node > img { width: 54px; height: 54px; margin-bottom: 9px; }
.academy-visual__node b { color: var(--text); font-size: 13px; }.academy-visual__node small { font-size: 11px; }
.academy-visual__node--people { --c:var(--teal); left: 7%; top: 1%; }.academy-visual__node--standards { --c:var(--leaf); right: 5%; top: 1%; }.academy-visual__node--process { --c:var(--purple); left: 3%; top: 36%; }.academy-visual__node--systems { --c:var(--amber); right: 1%; top: 36%; }
.academy-book { position: absolute; left: 50%; bottom: 35px; width: 270px; height: 90px; transform: translateX(-50%); }
.academy-book span { position: absolute; bottom: 0; width: 51%; height: 70px; border: 2px solid var(--teal); background: linear-gradient(160deg,rgba(0,149,183,.12),transparent); box-shadow: 0 0 26px rgba(0,149,183,.18); }
.academy-book span:first-child { right: 49%; transform: skewY(9deg); border-radius: 45% 0 0 10px; }.academy-book span:last-child { left: 49%; transform: skewY(-9deg); border-color: var(--leaf); border-radius: 0 45% 10px 0; }

.academy-hero--compact { min-height: 760px; }
.academy-visual--book::before { content:""; position:absolute; left:50%; bottom:18px; width:330px; height:150px; transform:translateX(-50%); border-radius:50%; background:radial-gradient(ellipse,rgba(0,205,236,.18),rgba(102,187,21,.08) 42%,transparent 72%); filter:blur(12px); }
.academy-visual--book .academy-visual__node { z-index:3; }
/* Der globale Icon-Filter (brightness(0) invert(1)) faerbt alles am Element weiss,
   auch Rahmen, Hintergrund und Glow. Die Plakette liegt deshalb im ::before des
   Elternknotens, sonst wird aus dem farbigen Ring eine weisse Scheibe. */
.academy-visual--book .academy-visual__node > img { position:relative; z-index:1; width:60px; height:60px; padding:7px; }
.academy-visual--book .academy-visual__node::before { content:""; position:absolute; top:0; left:50%; width:60px; height:60px; transform:translateX(-50%); border:1px solid var(--c); border-radius:50%; background:rgba(7,11,21,.9); box-shadow:0 0 18px color-mix(in srgb,var(--c) 48%,transparent),0 0 42px color-mix(in srgb,var(--c) 20%,transparent); }
.academy-visual--book .academy-visual__node--people { left:6%; top:0; }.academy-visual--book .academy-visual__node--standards { right:6%; top:0; }.academy-visual--book .academy-visual__node--process { left:1%; top:32%; }.academy-visual--book .academy-visual__node--systems { right:1%; top:32%; }
.academy-visual--book .academy-visual__paths .path { stroke-linecap:round; stroke-width:2.2; }
.academy-visual--book .academy-beam { fill:none; stroke:#9ff7df; stroke-width:1.4; opacity:.58; filter:drop-shadow(0 0 9px #41e8cf); }.academy-visual--book .academy-beam--soft { opacity:.24; stroke-width:1; }
.academy-visual--book .academy-sparks { fill:#8ef4c4; filter:drop-shadow(0 0 7px #55e9cf); }
.academy-visual--book .academy-book-glow { filter:blur(7px); }
.academy-visual--book .academy-book-page { stroke-width:2.2; filter:drop-shadow(0 0 10px currentColor); }.academy-visual--book .academy-book-page--left { stroke:var(--teal); color:var(--teal); }.academy-visual--book .academy-book-page--right { stroke:var(--leaf); color:var(--leaf); }
.academy-visual--book .academy-book-detail { fill:none; stroke:rgba(177,225,237,.38); stroke-width:1.2; }.academy-visual--book .academy-book-spine { fill:none; stroke:#8ef4c4; stroke-width:2; filter:drop-shadow(0 0 8px #55e9cf); }

.academy-pillars { position: relative; display: grid; grid-template-columns: repeat(4,1fr); margin-top: 70px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: rgba(7,11,21,.58); }
.academy-pillars > div { padding: 24px; }.academy-pillars > div + div { border-left: 1px solid var(--line); }
.academy-pillars b,.academy-pillars span { display: block; }.academy-pillars b { font-size: 18px; }.academy-pillars span { margin-top: 5px; color: var(--muted); font-size: 12px; }

.academy-offers { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.academy-offer { position: relative; min-height: 210px; display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding: 28px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--panel); transition: transform .35s var(--ease),border-color .3s,background .3s; }
.academy-offer::before { content:""; position:absolute; inset:0 auto 0 0; width:3px; background:var(--c); }.academy-offer:hover { transform:translateY(-5px); border-color:color-mix(in srgb,var(--c) 40%,var(--line-strong)); background:var(--panel-2); }
.academy-offer__icon { width: 48px; height: 48px; }
.academy-offer h3 { margin-bottom: 8px; font-size: 18px; }.academy-offer p { color: var(--muted); font-size: 13.5px; line-height: 1.6; }.academy-offer .badge-soon { margin: 0 0 10px; }
.academy-offer > a { position: absolute; right: 24px; bottom: 20px; font-size: 22px; color: var(--muted); }.academy-offer > a:hover { color: var(--text); }

.academy-impact { padding-top: 90px; padding-bottom: 90px; }
.academy-benefits { display: grid; grid-template-columns: repeat(4,1fr); }
.academy-benefits article { display: grid; grid-template-columns: 46px 1fr; gap: 16px; padding: 8px 24px; }.academy-benefits article + article { border-left: 1px solid var(--line); }
.academy-benefits article > span { width: 46px; height: 46px; display: grid; place-items: center; border-radius: 50%; color: var(--c); background: color-mix(in srgb,var(--c) 13%,transparent); font-size: 12px; font-weight: 700; }
.academy-benefits article > img { width:46px; height:46px; }
.academy-benefits h3 { margin-bottom: 5px; font-size: 16px; }.academy-benefits p { color: var(--muted); font-size: 12.5px; line-height: 1.55; }

.academy-steps { position: relative; display: grid; grid-template-columns: repeat(4,1fr); gap: 28px; list-style: none; }
.academy-steps::before { content:""; position:absolute; left:12%; right:12%; top:24px; height:1px; background:linear-gradient(90deg,var(--teal),var(--leaf),var(--purple),var(--amber)); }
.academy-steps li { position: relative; text-align: center; }.academy-steps li > span { position: relative; z-index: 1; width: 48px; height: 48px; display: grid; place-items: center; margin: 0 auto 28px; border-radius: 50%; color: var(--c); border: 1px solid var(--c); background: var(--bg); box-shadow: 0 0 18px color-mix(in srgb,var(--c) 24%,transparent); font-weight: 700; }
.academy-steps h3 { font-size: 16px; }.academy-steps p { max-width: 220px; margin: 8px auto 0; color: var(--muted); font-size: 13px; line-height: 1.55; }
.academy-steps--glow::before { box-shadow:0 0 10px rgba(95,215,255,.35); }
.academy-steps--glow li > span { box-shadow:0 0 12px color-mix(in srgb,var(--c) 80%,transparent),0 0 32px color-mix(in srgb,var(--c) 38%,transparent),inset 0 0 14px color-mix(in srgb,var(--c) 22%,transparent); font-weight:800; text-shadow:0 0 12px currentColor; }

.academy-final { padding-top: 70px; }.academy-final__inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 34px 38px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: linear-gradient(145deg,rgba(0,149,183,.08),rgba(122,63,209,.05)); }
.academy-final__inner > div:first-child { display: flex; align-items: center; gap: 18px; }.academy-final__icon { width: 52px; height: 52px; flex: 0 0 auto; }
.academy-final h2 { font-size: 22px; }.academy-final p { margin-top: 5px; color: var(--muted); font-size: 14px; }.academy-final .academy-actions { margin: 0; flex: 0 0 auto; }

@media (max-width: 980px) { .academy-hero__grid { grid-template-columns: 1fr; }.academy-visual { max-width: 620px; width: 100%; margin: auto; }.academy-pillars,.academy-benefits { grid-template-columns: repeat(2,1fr); }.academy-pillars > div:nth-child(3),.academy-benefits article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.academy-pillars > div:nth-child(4),.academy-benefits article:nth-child(4) { border-top: 1px solid var(--line); }.academy-offers { grid-template-columns: repeat(2,1fr); }.academy-final__inner { align-items: flex-start; flex-direction: column; } }
@media (max-width: 720px) { .academy-shell { width: calc(100% - 40px); }.academy-hero { min-height: 0; padding: 118px 0 76px; }.academy-hero__copy h1 { font-size: 38px; }.academy-visual { height: 390px; margin-top: 10px; }.academy-visual__node { width: 92px; }.academy-visual__node > span { width: 46px; height: 46px; }.academy-visual__paths { top: 12px; }.academy-book { width: 220px; bottom: 8px; }.academy-pillars { grid-template-columns: 1fr; margin-top: 44px; }.academy-pillars > div + div,.academy-pillars > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.academy-offers,.academy-benefits,.academy-steps { grid-template-columns: 1fr; }.academy-offer { min-height: 190px; }.academy-benefits article { padding: 22px 0; }.academy-benefits article + article,.academy-benefits article:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }.academy-steps { gap: 0; }.academy-steps::before { left: 23px; right: auto; top: 24px; bottom: 80px; width: 1px; height: auto; background: linear-gradient(var(--teal),var(--leaf),var(--purple),var(--amber)); }.academy-steps li { display: grid; grid-template-columns: 48px 1fr; gap: 18px; padding-bottom: 32px; text-align: left; }.academy-steps li > span { margin: 0; }.academy-steps h3,.academy-steps p { max-width: none; margin-left: 0; }.academy-final { padding-top: 40px; }.academy-final__inner { padding: 28px 22px; }.academy-final__inner > div:first-child { align-items: flex-start; }.academy-final .academy-actions { width: 100%; }.academy-final .btn { flex: 1; } }

@media (max-width: 720px) { .academy-visual__node > img { width: 46px; height: 46px; } }
@media (max-width: 720px) { .academy-visual--book .academy-visual__node > img { width:50px; height:50px; padding:6px; }.academy-visual--book::before { width:260px; } }
@media (prefers-reduced-motion: reduce) { .academy-visual__paths .path { filter: none; }.academy-book span { box-shadow: none; } }
