body.academy-shell {
  --text: #ecf5ff;
  --muted: #a7bdd9;
  --blue: #39a0ff;
  --blue2: #67d1ff;
  --blue3: #91e2ff;
  --glow: 0 0 0 1px rgba(78, 170, 255, 0.20), 0 0 50px rgba(57, 160, 255, 0.12), 0 18px 60px rgba(0, 0, 0, 0.34);
  --glow-strong: 0 0 0 1px rgba(97, 188, 255, 0.28), 0 0 70px rgba(57, 160, 255, 0.18), 0 24px 70px rgba(0, 0, 0, 0.42);
}

body.academy-shell .top-ambient,
body.academy-shell .mid-ambient,
body.academy-shell .bottom-ambient {
  background: transparent !important;
}

body.academy-shell .overlay {
  display: none !important;
}

.academy-site-header .container,
.academy-site-footer .container {
  width: min(1440px, calc(100% - 40px));
}

.academy-subnav-shell {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0 0 12px;
}

.academy-subnav-brand {
  color:#9db1cf;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.academy-subnav {
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
}

.academy-subnav-link {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:0 11px;
  border-radius:999px;
  color:#d7e4f6;
  font-size:12px;
  border:1px solid transparent;
  transition:.2s ease;
}

.academy-subnav-link:hover,
.academy-subnav-link.is-current {
  color:#fff;
  border-color:rgba(122,178,255,.16);
  background:rgba(14,28,58,.38);
}

.academy-page-flash {
  padding-top: 16px;
}

.academy-page-flash .alert {
  margin: 0;
}

body.academy-shell .hero {
  padding-top: 42px;
}

body.academy-shell .hero-grid,
body.academy-shell .split,
body.academy-shell .process-block,
body.academy-shell .process-block.reverse {
  gap: 24px;
}

body.academy-shell .hero-card,
body.academy-shell .card,
body.academy-shell .panel,
body.academy-shell .stat,
body.academy-shell .process-block,
body.academy-shell .trajectory-card,
body.academy-shell .faq-item,
body.academy-shell .process-image,
body.academy-shell .flash,
body.academy-shell .login-card,
body.academy-shell .module-card {
  background: linear-gradient(180deg, rgba(10, 20, 45, 0.88), rgba(6, 14, 30, 0.94));
  border: 1px solid rgba(113, 184, 255, 0.18);
  border-radius: 24px;
  box-shadow: var(--glow);
  color: var(--text);
}

body.academy-shell .module-card {
  opacity: 1;
  transform: none;
}

body.academy-shell .lesson-list {
  display: grid;
  gap: 18px;
}

body.academy-shell .module-card h3,
body.academy-shell .module-card h4 {
  margin: 0;
}

body.academy-shell .module-card h4 a {
  color: var(--text);
  text-decoration: none;
}

body.academy-shell .module-card h4 a:hover {
  color: #87deff;
}

body.academy-shell .module-card > h3 {
  margin-bottom: 12px;
}

body.academy-shell .module-card .lesson-list {
  margin-top: 18px;
}

body.academy-shell .lesson {
  display: grid;
  gap: 12px;
  padding: 18px 20px;
  border: 1px solid rgba(113, 184, 255, 0.14);
  border-radius: 18px;
  background: rgba(13, 24, 48, 0.72);
}

body.academy-shell .lesson ul {
  margin: 0;
  padding-left: 18px;
}

body.academy-shell .lesson .docs {
  display: grid;
  gap: 8px;
}

body.academy-shell .lesson .docs a {
  color: #87deff;
  text-decoration: none;
}

body.academy-shell .lesson .docs a:hover {
  text-decoration: underline;
}

body.academy-shell .process-block {
  padding: 24px;
}

body.academy-shell .page-content .process-sections {
  display: grid;
  gap: 20px;
}

body.academy-shell .page-content .process-block {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 20px;
  padding: 18px;
  align-items: center;
}

body.academy-shell .page-content .process-block.reverse {
  grid-template-columns: minmax(300px, 0.8fr) minmax(0, 1.2fr);
}

body.academy-shell .page-content .process-block.reverse .process-text {
  order: 2;
}

body.academy-shell .page-content .process-block.reverse .process-image {
  order: 1;
}

body.academy-shell .page-content .process-text {
  display: grid;
  gap: 10px;
  align-content: center;
  padding: 6px 10px 6px 12px;
}

body.academy-shell .page-content .process-text h3,
body.academy-shell .page-content .process-text .kicker {
  margin: 0;
}

body.academy-shell .page-content .process-text p {
  margin: 0;
}

body.academy-shell .page-content .process-image {
  display: grid;
  align-content: start;
  overflow: hidden;
  min-height: 0;
  padding: 0;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(8, 17, 39, 0.88), rgba(4, 10, 22, 0.94));
  box-shadow: none;
}

body.academy-shell .page-content .process-image img {
  display: block;
  width: 100%;
  height: 235px;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.academy-story-rows {
  display: grid;
  gap: 20px;
}

.academy-shell .academy-story-row {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(280px, 0.78fr);
  gap: 20px;
  padding: 18px;
  align-items: center;
}

.academy-shell .academy-story-row.reverse {
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
}

.academy-shell .academy-story-row.reverse .process-text {
  order: 2;
}

.academy-shell .academy-story-row.reverse .academy-story-visual {
  order: 1;
}

.academy-shell .academy-story-row .process-text {
  display: grid;
  gap: 10px;
  padding: 6px 8px;
  align-content: center;
}

.academy-shell .academy-story-row .process-text h3 {
  margin: 0;
}

.academy-home-refined .academy-story-row {
  display: grid;
  grid-template-columns: minmax(0, 1.22fr) minmax(280px, 0.78fr);
  gap: 20px;
  padding: 18px;
  align-items: center;
}

.academy-home-refined .academy-story-row.reverse {
  grid-template-columns: minmax(280px, 0.78fr) minmax(0, 1.22fr);
}

.academy-home-refined .academy-story-row.reverse .process-text {
  order: 2;
}

.academy-home-refined .academy-story-row.reverse .academy-story-visual {
  order: 1;
}

.academy-home-refined .academy-story-row .process-text {
  display: grid;
  gap: 10px;
  padding: 6px 8px;
  align-content: center;
}

.academy-home-refined .academy-story-row .process-text h3 {
  margin: 0;
}

.academy-story-visual {
  position: relative;
  display: grid;
  align-content: start;
  overflow: hidden;
  min-height: 0;
  padding: 0;
  border-radius: 22px;
  background:
    linear-gradient(180deg, rgba(8, 17, 39, 0.88), rgba(4, 10, 22, 0.94));
}

.academy-shell .academy-story-visual img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.academy-home-refined .academy-story-visual img {
  display: block;
  width: 100%;
  height: 220px;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.academy-story-caption {
  display: grid;
  gap: 4px;
  padding: 14px 16px 16px;
  border-top: 1px solid rgba(113, 184, 255, 0.12);
  background: linear-gradient(180deg, rgba(5, 13, 29, 0.32), rgba(5, 13, 29, 0.78));
}

.academy-story-caption strong {
  font-size: 15px;
  line-height: 1.2;
  color: #eff6ff;
}

.academy-story-caption span {
  color: #a7bdd9;
  font-size: 13px;
  line-height: 1.55;
}

body.academy-shell .section {
  padding-top: 34px;
  padding-bottom: 34px;
}

body.academy-shell .hero-card .cap,
body.academy-shell .card p,
body.academy-shell .panel p,
body.academy-shell .section-sub,
body.academy-shell .lead,
body.academy-shell li,
body.academy-shell .small,
body.academy-shell .muted,
body.academy-shell .process-text p {
  color: var(--muted) !important;
}

body.academy-shell .kicker {
  color: var(--blue2);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 11px;
}

body.academy-shell .h1,
body.academy-shell .section-title,
body.academy-shell h1,
body.academy-shell h2,
body.academy-shell h3,
body.academy-shell strong {
  color: var(--text);
}

body.academy-shell .section-title,
body.academy-shell h2 {
  font-size: var(--heading-section);
  line-height: 1.12;
  letter-spacing: -0.03em;
}

body.academy-shell h3 {
  font-size: var(--heading-card);
  line-height: 1.18;
  letter-spacing: -0.025em;
}

body.academy-shell .link {
  color: var(--blue3);
}

body.academy-shell .link:hover {
  color: #ffffff;
}

body.academy-shell .hero-actions {
  gap: 12px;
}

body.academy-shell .hero-note {
  border: 1px solid rgba(113, 184, 255, 0.14);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.03);
}

body.academy-shell .stats {
  gap: 16px;
}

body.academy-shell .stat {
  border-radius: 20px;
}

body.academy-shell .process-image img,
body.academy-shell .hero-card img {
  border-radius: 18px;
}

body.academy-shell input,
body.academy-shell textarea,
body.academy-shell select {
  background: rgba(7, 16, 32, 0.88);
  color: #e7f0ff;
  border: 1px solid rgba(113, 184, 255, 0.24);
  border-radius: 16px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

body.academy-shell select {
  color: #e7f0ff;
}

body.academy-shell select option {
  background: #ffffff;
  color: #0f172a;
}

body.academy-shell input::placeholder,
body.academy-shell textarea::placeholder {
  color: rgba(167, 189, 217, 0.72);
}

body.academy-shell input:focus,
body.academy-shell textarea:focus,
body.academy-shell select:focus {
  border-color: rgba(113, 184, 255, 0.52);
  box-shadow: 0 0 0 3px rgba(113, 184, 255, 0.14);
  outline: none;
}

body.academy-shell .brand img,
body.academy-shell .academy-brand img {
  max-width: none;
}

body.academy-shell .flash.error {
  background: rgba(161, 35, 63, 0.18);
  border: 1px solid rgba(255, 122, 155, 0.28);
  color: #ffd8e1;
  border-radius: 18px;
}

.academy-home-refined .academy-hero-copy,
.academy-login-refined .hero-grid > div:first-child,
.academy-dashboard-refined .hero-grid > div:first-child {
  display: grid;
  gap: 14px;
  align-content: start;
}

.academy-home-refined .academy-home-hero {
  display: grid;
  gap: 18px;
}

.academy-home-refined .academy-home-heading {
  max-width: none;
}

.academy-home-refined .academy-home-content {
  grid-template-columns: minmax(0, 1.2fr) minmax(520px, 0.8fr);
  gap: 20px;
  align-items: start;
}

.academy-home-refined .h1,
.academy-login-refined .h1,
.academy-dashboard-refined .h1 {
  margin: 0;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.04;
  letter-spacing: -0.045em;
  max-width: none;
  width: 100%;
}

.academy-home-refined .lead,
.academy-login-refined .lead,
.academy-dashboard-refined .lead {
  font-size: 16px;
  line-height: 1.74;
  max-width: 62ch;
}

.academy-copy-pill {
  padding: 22px 24px;
  border-radius: 20px;
  border: 1px solid rgba(113, 184, 255, 0.18);
  background: linear-gradient(180deg, rgba(10, 20, 45, 0.8), rgba(6, 14, 30, 0.9));
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.2);
}

.academy-home-refined .academy-home-heading .hero-tagline {
  margin: 0;
}

.academy-home-refined .academy-home-heading h1 {
  max-width: 100%;
}

.academy-copy-pill .lead:last-child,
.academy-copy-pill p:last-child {
  margin-bottom: 0;
}

.academy-long-copy {
  margin-top: 8px;
}

.academy-spotlight-card {
  align-self: stretch;
  overflow: hidden;
}

.academy-spotlight-media {
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(240,246,255,.93));
  min-height: 320px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.academy-spotlight-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.academy-spotlight-body {
  padding: 24px 22px 20px;
  background:
    radial-gradient(circle at 85% 30%, rgba(103,209,255,.08), transparent 22%),
    linear-gradient(180deg, rgba(3,10,24,.92), rgba(2,7,18,.96));
  display: grid;
  gap: 14px;
}

.academy-spotlight-body h2 {
  margin: 0;
  font-size: var(--heading-section);
  line-height: 1.12;
  letter-spacing: -.03em;
}

.academy-spotlight-body p {
  margin: 0;
  color: #dce8f8;
  line-height: 1.68;
}

.academy-rail-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 2px;
}

.academy-rail-chips span,
.academy-audience-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(113, 184, 255, 0.14);
  background: rgba(255, 255, 255, 0.04);
  color: #d8e6f8;
  font-size: 12px;
  letter-spacing: 0.01em;
}

.academy-compact-list {
  margin: 0;
  padding-left: 0;
  list-style: none;
  color: var(--muted);
  line-height: 1.65;
  display: grid;
  gap: 8px;
}

.academy-compact-list li {
  position: relative;
  padding-left: 18px;
}

.academy-compact-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 999px;
  background: linear-gradient(180deg, #6db7ff 0%, #33d3ff 100%);
  box-shadow: 0 0 10px rgba(61, 185, 255, 0.35);
}

.academy-side-mini-card {
  padding: 20px 22px;
  border-radius: 22px;
  border: 1px solid rgba(113, 184, 255, 0.18);
  background: linear-gradient(180deg, rgba(10, 20, 45, 0.88), rgba(6, 14, 30, 0.94));
  box-shadow: var(--glow);
  display: grid;
  gap: 12px;
}

.academy-spotlight-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.academy-stat-tile {
  min-height: 92px;
  padding: 14px 12px;
  border-radius: 18px;
  border: 1px solid rgba(113, 184, 255, 0.12);
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)),
    linear-gradient(180deg, rgba(10, 20, 45, 0.74), rgba(6, 14, 30, 0.88));
  display: grid;
  align-content: center;
  gap: 4px;
}

.academy-stat-tile strong {
  font-size: 24px;
  line-height: 1;
  color: #fff;
}

.academy-stat-tile span {
  color: #a9bed8;
  font-size: 12px;
  line-height: 1.35;
}

.academy-spotlight-bottom {
  margin-top: 2px;
}

.academy-spotlight-link {
  color: #dfeeff;
  font-size: 13px;
  font-weight: 600;
}

.academy-story-shell {
  display: grid;
  gap: 18px;
}

.academy-story-heading {
  display: grid;
  gap: 10px;
}

.academy-story-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 22px;
  align-items: start;
}

.academy-story-rail {
  display: grid;
  gap: 18px;
}

.academy-long-copy {
  margin-top: 0;
}

.academy-long-copy p {
  margin: 0 0 16px;
}

.academy-long-copy p:last-child {
  margin-bottom: 0;
}

.academy-home-refined .cards,
.academy-login-refined .cards,
.academy-dashboard-refined .cards {
  gap: 18px;
}

.academy-home-refined .card,
.academy-login-refined .card,
.academy-dashboard-refined .card {
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.academy-home-refined .card:hover,
.academy-login-refined .card:hover,
.academy-dashboard-refined .card:hover {
  transform: translateY(-3px);
  border-color: rgba(113, 184, 255, 0.26);
  box-shadow: var(--glow-strong);
}

.academy-home-refined .process-block,
.academy-login-refined .split,
.academy-dashboard-refined .split {
  align-items: stretch;
}

.academy-home-refined .process-text,
.academy-login-refined .panel,
.academy-dashboard-refined .panel {
  display: grid;
  gap: 12px;
  align-content: start;
}

.academy-home-refined #informatie .panel:first-child {
  padding: 28px;
}

.academy-home-refined .academy-info-panel {
  padding: 24px 28px;
}

.academy-info-list {
  margin: 0;
  padding-left: 22px;
  color: #d7e4f6;
  line-height: 1.85;
}

.academy-info-list li {
  padding-left: 4px;
}

.academy-home-refined #informatie form {
  display: grid;
  gap: 14px;
}

.academy-home-refined #informatie .form-group {
  margin: 0;
}

.academy-home-refined #informatie label {
  display: block;
  margin-bottom: 8px;
  color: #d8e6f8;
  font-size: 13px;
  font-weight: 600;
}

.academy-home-refined #informatie .form-control {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
}

.academy-login-refined .stats {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-login-refined .stat {
  min-height: 132px;
  padding: 22px;
}

.academy-login-refined #toegang .card,
.academy-login-refined #voor-wie .card {
  min-height: 100%;
}

.academy-dashboard-refined .stats {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-dashboard-refined .stat {
  min-height: 126px;
  padding: 20px 22px;
}

.academy-dashboard-refined #onderdelen .card {
  min-height: 100%;
}

.academy-dashboard-refined #onderdelen .card .body {
  display: grid;
  gap: 8px;
}

.academy-dashboard-refined #onderdelen .card .link {
  margin-top: auto;
}

@media (max-width: 980px) {
  .academy-subnav-shell {
    flex-direction: column;
    align-items: flex-start;
  }

  body.academy-shell .hero-grid,
  body.academy-shell .split,
  body.academy-shell .process-block,
  body.academy-shell .process-block.reverse {
    grid-template-columns: 1fr;
  }

  .academy-home-refined .academy-home-content,
  .academy-story-grid,
  .academy-shell .academy-story-row,
  .academy-shell .academy-story-row.reverse,
  .academy-home-refined .academy-story-row,
  .academy-home-refined .academy-story-row.reverse {
    grid-template-columns: 1fr;
  }

  .academy-shell .academy-story-row.reverse .process-text,
  .academy-shell .academy-story-row.reverse .academy-story-visual,
  .academy-home-refined .academy-story-row.reverse .process-text,
  .academy-home-refined .academy-story-row.reverse .academy-story-visual {
    order: initial;
  }

  body.academy-shell .page-content .process-block.reverse .process-text,
  body.academy-shell .page-content .process-block.reverse .process-image {
    order: initial;
  }

  .academy-spotlight-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .academy-login-refined .stats,
  .academy-dashboard-refined .stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  body.academy-shell .hero {
    padding-top: 28px;
  }

  body.academy-shell .process-block {
    padding: 18px;
  }

  .academy-home-refined .academy-story-row {
    gap: 16px;
    padding: 14px;
  }

  .academy-shell .academy-story-visual img,
  .academy-home-refined .academy-story-visual img {
    height: 210px;
  }

  .academy-home-refined .h1,
  .academy-login-refined .h1,
  .academy-dashboard-refined .h1 {
    font-size: clamp(28px, 8vw, 40px);
    max-width: none;
  }

  .academy-spotlight-stats {
    grid-template-columns: 1fr;
  }

  .academy-login-refined .stats,
  .academy-dashboard-refined .stats {
    grid-template-columns: 1fr;
  }
}
