.academy-page {
  --academy-max: 1240px;
  background: #0b0c0b;
}

.text-acid { color: var(--acid); }

.academy-page .site-header {
  transform: translateY(-110%);
  transition: transform .26s ease, padding .24s ease, background .24s ease;
}

.academy-page .site-header.is-visible,
.academy-page .site-header:focus-within {
  transform: translateY(0);
}

.program-page .site-header {
  transform: translateY(0);
}

.academy-page:has(.hub-hero) .site-header,
.academy-page:has(.placeholder-hero) .site-header {
  transform: translateY(0);
}

.academy-page .brand img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform: scale(1.32);
}

.academy-page .brand {
  width: 112px;
  height: 68px;
  padding: 0;
  border-radius: 0;
  background: transparent;
  overflow: visible;
  align-self: center;
}

.academy-page .main-nav {
  gap: 22px;
}

.program-page .header-inner {
  grid-template-columns: 112px auto minmax(0, 1fr) auto;
}

.academy-page .program-breadcrumbs {
  display: flex;
  gap: 8px;
  align-items: center;
  color: #aeb1ab;
  font-size: .72rem;
}

.academy-page .program-breadcrumbs a {
  color: #fff;
}

.reading-progress {
  position: fixed;
  inset: 0 0 auto;
  z-index: 60;
  height: 3px;
  background: transparent;
}

.reading-progress span {
  display: block;
  width: 100%;
  height: 100%;
  background: var(--acid);
  transform: scaleX(0);
  transform-origin: left;
}

.program-hero {
  min-height: 850px;
  padding: 142px 0 92px;
  border-bottom: 1px solid var(--line);
  background:
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    radial-gradient(circle at 76% 28%, rgba(130,240,0,.13), transparent 25%),
    radial-gradient(circle at 18% 80%, rgba(255,49,92,.12), transparent 25%),
    #0b0c0b;
  background-size: 80px 80px, 80px 80px, auto, auto, auto;
}

.program-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  gap: 64px;
  align-items: center;
}

.program-badge,
.status-pill {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid rgba(130,240,0,.65);
  color: var(--acid);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.program-badge::before,
.status-pill.open::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--acid);
  box-shadow: 0 0 18px rgba(130,240,0,.8);
}

.program-hero h1 {
  max-width: 820px;
  margin: 28px 0 26px;
  font-size: clamp(4rem, 8vw, 8.2rem);
  line-height: .87;
}

.program-hero .hero-lead {
  max-width: 720px;
  font-size: clamp(1.04rem, 1.5vw, 1.32rem);
}

.program-meta-line {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin: 34px 0 16px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
  color: #f5f5f0;
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.program-card {
  position: relative;
  padding: 34px;
  border: 1px solid rgba(255,255,255,.28);
  background: linear-gradient(155deg, rgba(255,255,255,.11), rgba(255,255,255,.025));
  box-shadow: 22px 22px 0 rgba(130,240,0,.14);
  overflow: hidden;
}

.program-card::after {
  content: "BUP";
  position: absolute;
  right: -10px;
  bottom: -36px;
  color: rgba(130,240,0,.08);
  font: 700 10rem/1 "Oswald", sans-serif;
}

.hub-hero-grid,
.placeholder-grid,
.media-band-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr);
  gap: 64px;
  align-items: center;
}

.academy-hub-dynamic {
  min-height: 820px;
  padding: 150px 0 96px;
  overflow: hidden;
  background:
    radial-gradient(circle at 76% 34%, rgba(130,240,0,.16), transparent 30%),
    radial-gradient(circle at 90% 70%, rgba(25,183,229,.14), transparent 24%),
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px),
    #090a09;
  background-size: auto, auto, 72px 72px, 72px 72px, auto;
}

.hub-hero-copy h1 { margin: 26px 0; font-size: clamp(4.3rem,8vw,8rem); line-height:.88; }
.academy-socials { display:flex; flex-wrap:wrap; gap:18px; margin-top:30px; }
.academy-socials a { color:#fff; border-bottom:1px solid var(--acid); padding-bottom:4px; font-weight:700; }

.academy-hero-collage { position:relative; min-height:560px; perspective:1100px; }
.collage-card { position:absolute; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.28); background:#111; box-shadow:0 28px 70px rgba(0,0,0,.48); }
.collage-card img { width:100%; height:100%; object-fit:cover; }
.collage-main { inset:20px 4% 50px 8%; transform:rotate(-3deg); animation:academy-float 5.5s ease-in-out infinite; }
.collage-lesson { width:48%; height:185px; right:-5%; top:-5px; transform:rotate(6deg); animation:academy-float 4.7s ease-in-out -1.2s infinite; }
.collage-analytics { width:46%; height:160px; left:-5%; bottom:0; transform:rotate(-6deg); animation:academy-float 5.2s ease-in-out -2s infinite; }
.collage-sticker { position:absolute; right:2%; bottom:6%; z-index:5; padding:18px 22px; color:#090a09; background:var(--acid); font:700 1.2rem/1.1 "Oswald",sans-serif; text-transform:uppercase; transform:rotate(4deg); animation:sticker-pulse 2.7s ease-in-out infinite; }

.academy-media-band { overflow:hidden; }
.channel-poster { position:relative; display:block; transform:rotate(2deg); transition:transform .25s ease; }
.channel-poster:hover { transform:rotate(0) scale(1.015); }
.channel-poster img { display:block; width:100%; border:1px solid rgba(255,255,255,.25); }
.channel-poster span { position:absolute; right:16px; bottom:16px; padding:10px 14px; color:#080908; background:var(--acid); font-weight:800; }

.social-reels { overflow:hidden; }
.social-reels-grid { display:grid; grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr); gap:80px; align-items:center; }
.social-reels-copy h2 { margin:14px 0 22px; font-size:clamp(3.4rem,6vw,6.5rem); }
.social-reels-copy p { max-width:560px; margin-bottom:28px; }
.reel-wall { position:relative; min-height:650px; perspective:1000px; }
.reel-frame { position:absolute; width:43%; aspect-ratio:9/16; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.28); background:#050505; box-shadow:0 28px 60px rgba(0,0,0,.48); }
.reel-frame img { width:100%; height:100%; object-fit:cover; }
.reel-frame-1 { left:4%; top:2%; transform:rotate(-7deg); animation:reel-drift-a 6s ease-in-out infinite; }
.reel-frame-2 { left:31%; top:13%; z-index:2; transform:rotate(2deg); animation:reel-drift-b 5.4s ease-in-out -1s infinite; }
.reel-frame-3 { right:1%; top:3%; transform:rotate(7deg); animation:reel-drift-a 6.4s ease-in-out -2s infinite reverse; }
.reel-frame-4 { left:30%; bottom:0; z-index:3; width:36%; transform:rotate(-2deg); animation:reel-drift-b 5.8s ease-in-out -3s infinite; }
.reel-live-mark { position:absolute; z-index:5; right:3%; bottom:8%; padding:10px 13px; color:#080908; background:var(--acid); font-size:.67rem; font-weight:900; letter-spacing:.12em; transform:rotate(4deg); }

@keyframes reel-drift-a { 0%,100%{translate:0 0} 50%{translate:8px -15px} }
@keyframes reel-drift-b { 0%,100%{translate:0 0} 50%{translate:-7px 13px} }

.placeholder-hero { min-height:100vh; padding:150px 0 90px; }
.placeholder-visual { margin:0; min-height:590px; overflow:hidden; border:1px solid rgba(255,255,255,.25); transform:rotate(2deg); }
.placeholder-visual img { width:100%; height:100%; min-height:590px; object-fit:cover; }
.placeholder-grid .lead-panel { max-width:560px; }

.curriculum-open { display:grid; gap:14px; }
.lesson-card {
  display:grid;
  grid-template-columns:90px minmax(0,1fr) minmax(190px,280px);
  gap:28px;
  align-items:start;
  padding:28px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(115deg,rgba(255,255,255,.055),rgba(255,255,255,.015));
  transition:transform .22s ease,border-color .22s ease,background .22s ease;
}
.lesson-card:hover { transform:translateX(8px); border-color:rgba(130,240,0,.65); background:linear-gradient(115deg,rgba(130,240,0,.09),rgba(255,255,255,.02)); }
.lesson-card.featured { border-color:rgba(130,240,0,.55); }
.lesson-number { color:var(--acid); font:700 3.2rem/1 "Oswald",sans-serif; }
.lesson-meta { display:block; margin-bottom:9px; color:#8f948c; font-size:.66rem; font-weight:800; letter-spacing:.12em; }
.lesson-main h3 { margin:0 0 13px; font-size:clamp(1.45rem,2.2vw,2.25rem); }
.lesson-main p { margin:7px 0; color:#c2c5bf; font-size:.88rem; }
.lesson-main p b { color:#fff; }
.lesson-result { align-self:center; padding:16px; border-left:2px solid var(--acid); color:#f5f6f2; font-size:.82rem; line-height:1.45; }

.academy-visual-flow { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:34px; }
.academy-visual-flow figure { position:relative; min-height:260px; margin:0; overflow:hidden; border:1px solid rgba(255,255,255,.2); }
.academy-visual-flow img { width:100%; height:100%; object-fit:cover; transition:transform .5s ease; }
.academy-visual-flow figure:hover img { transform:scale(1.07); }
.academy-visual-flow figcaption { position:absolute; inset:auto 10px 10px; padding:9px 11px; color:#090a09; background:var(--acid); font-size:.7rem; font-weight:800; }

.teacher-photo { overflow:hidden; }
.teacher-photo img { width:100%; height:100%; object-fit:cover; }
.academy-social-panel { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:28px; padding:28px; border:1px solid rgba(130,240,0,.45); background:rgba(130,240,0,.06); }
.academy-social-panel h3 { margin:8px 0; font-size:2rem; }
.academy-social-panel p { max-width:680px; margin:0; }

.academy-character-strip {
  display: grid;
  grid-template-columns: .8fr 1.4fr .8fr;
  gap: 14px;
  margin-top: 24px;
}
.academy-character-strip figure {
  position: relative;
  min-height: 420px;
  margin: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.18);
}
.academy-character-strip img {
  width: 100%;
  height: 100%;
  min-height: 420px;
  object-fit: cover;
  transition: transform .55s ease;
}
.academy-character-strip figure:hover img { transform: scale(1.055); }
.academy-character-strip figcaption {
  position: absolute;
  inset: auto 0 0;
  display: grid;
  gap: 4px;
  padding: 20px;
  color: #fff;
  background: linear-gradient(transparent, rgba(0,0,0,.94));
}
.academy-character-strip figcaption b { color: var(--acid); font: 700 1.7rem/1 "Oswald",sans-serif; text-transform: uppercase; }
.academy-character-strip figcaption span { font-size: .75rem; }

@keyframes academy-float { 0%,100%{translate:0 0} 50%{translate:0 -14px} }
@keyframes sticker-pulse { 0%,100%{scale:1} 50%{scale:1.045} }

.program-card-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 26px;
}

.program-card-head strong {
  color: var(--acid);
  font: 700 2.4rem/1 "Oswald", sans-serif;
}

.program-card dl {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 124px 1fr;
  margin: 0;
}

.program-card dt,
.program-card dd {
  margin: 0;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}

.program-card dt {
  color: #7f837c;
  font-size: .7rem;
  text-transform: uppercase;
}

.program-card dd {
  color: #f2f3ef;
  font-size: .86rem;
}

.academy-section {
  padding: 118px 0;
  border-top: 1px solid var(--line);
}

.academy-section.alt {
  background: #111210;
}

.academy-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr);
  gap: 60px;
  align-items: end;
  margin-bottom: 58px;
}

.academy-heading h2 {
  margin: 12px 0 0;
  font-size: clamp(3rem, 5.8vw, 6rem);
}

.academy-heading > p {
  max-width: 520px;
  margin: 0 0 10px;
  font-size: 1.02rem;
}

.program-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border: 1px solid var(--line);
}

.program-tile {
  position: relative;
  min-height: 340px;
  padding: 28px;
  border-right: 1px solid var(--line);
  background: #141613;
  color: #fff;
  display:flex;
  flex-direction:column;
  gap:16px;
  text-decoration:none;
}

.program-tile:last-child { border-right: 0; }
.program-tile.current { background: var(--acid); color: #080908; }
.program-tile.muted { opacity: .74; }
.program-tile .tile-code { font: 700 3.8rem/1 "Oswald", sans-serif; }
.program-tile h3 { margin: 28px 0 0; font-size: 2rem; }
.program-tile p { min-height:0; margin:0; }
.program-tile.current p { color: #1b2811; }
.program-tile .status-pill { position:static; margin-top:auto; align-self:flex-start; }
.program-tile.current .status-pill { color: #080908; border-color: #080908; }

.split-qualifier,
.method-grid,
.timeline-support,
.video-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.qualifier-card,
.method-card,
.support-card {
  padding: 34px;
  border: 1px solid var(--line);
  background: #151714;
}

.qualifier-card.positive { box-shadow: inset 5px 0 var(--acid); }
.qualifier-card.negative { box-shadow: inset 5px 0 var(--red); }
.qualifier-card h3,
.method-card h3,
.support-card h3 { margin: 0 0 26px; font-size: 2rem; }

.plain-list,
.check-grid {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.plain-list li {
  position: relative;
  padding-left: 28px;
  color: #c9cbc6;
}

.plain-list li::before {
  content: "→";
  position: absolute;
  left: 0;
  color: var(--acid);
}

.negative .plain-list li::before { color: var(--red); }

.mistake-list {
  counter-reset: mistakes;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding: 0;
  list-style: none;
  border: 1px solid var(--line);
}

.mistake-list li {
  counter-increment: mistakes;
  min-height: 300px;
  padding: 26px;
  border-right: 1px solid var(--line);
}

.mistake-list li:last-child { border-right: 0; }
.mistake-list li::before {
  content: "0" counter(mistakes);
  display: block;
  margin-bottom: 54px;
  color: var(--acid);
  font: 700 2.8rem/1 "Oswald", sans-serif;
}

.mistake-list strong { display: block; margin-bottom: 13px; color: #fff; }
.core-quote {
  margin: 54px 0 0;
  color: #fff;
  font: 700 clamp(3rem, 6vw, 6.4rem)/.95 "Oswald", sans-serif;
  text-transform: uppercase;
}
.core-quote span { color: var(--acid); }

.artifact-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: var(--line);
}

.artifact-card {
  min-height: 240px;
  padding: 24px;
  background: #111210;
}

.artifact-card:nth-child(3n+1) { box-shadow: inset 0 4px var(--acid); }
.artifact-card:nth-child(3n+2) { box-shadow: inset 0 4px var(--red); }
.artifact-card:nth-child(3n+3) { box-shadow: inset 0 4px var(--cyan); }
.artifact-card strong { display: block; margin: 42px 0 14px; color: #fff; font-size: 1.06rem; }
.artifact-index { color: #696d66; font: 700 2.2rem/1 "Oswald", sans-serif; }

.curriculum {
  border-top: 1px solid var(--line);
}

.curriculum-module { border-bottom: 1px solid var(--line); }
.curriculum-trigger {
  display: grid;
  width: 100%;
  grid-template-columns: 115px 1fr auto 42px;
  gap: 20px;
  align-items: center;
  padding: 23px 0;
  border: 0;
  color: #fff;
  background: transparent;
  text-align: left;
  cursor: pointer;
}
.curriculum-trigger:hover { color: var(--acid); }
.curriculum-trigger .module-code { color: var(--acid); font-size: .68rem; letter-spacing: .12em; }
.curriculum-trigger .module-title { font: 700 1.65rem/1 "Oswald", sans-serif; text-transform: uppercase; }
.curriculum-trigger .module-size { color: #8b8e88; font-size: .78rem; }
.curriculum-trigger .module-plus { font-size: 1.7rem; text-align: right; }
.curriculum-body[hidden] { display: none; }
.lesson-row {
  display: grid;
  grid-template-columns: 70px 1.35fr 1fr 140px;
  gap: 20px;
  padding: 20px 0 20px 115px;
  border-top: 1px solid rgba(255,255,255,.08);
}
.lesson-row strong { color: #fff; }
.lesson-row span,
.lesson-row small { color: #8f938c; }

.method-stages {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 60px;
  border: 1px solid var(--line);
}
.method-stage { min-height: 270px; padding: 24px; border-right: 1px solid var(--line); }
.method-stage:last-child { border-right: 0; }
.method-stage b { color: var(--acid); font: 700 3rem/1 "Oswald", sans-serif; }
.method-stage h3 { margin: 54px 0 14px; font-size: 1.35rem; }

.competency-card {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: 54px;
  align-items: center;
  padding: 44px;
  border: 1px solid var(--line);
  background: #0c0d0c;
}
.competency-card strong { display: block; color: var(--acid); font: 700 clamp(5rem, 10vw, 10rem)/.8 "Oswald", sans-serif; }
.competency-map {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: 7px;
}
.competency-map i {
  aspect-ratio: 1;
  border: 1px solid rgba(255,255,255,.17);
  transform: rotate(45deg);
}
.competency-map i.active { border-color: var(--acid); background: rgba(130,240,0,.72); }

.teacher-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.teacher-card { border: 1px solid var(--line); background: #151714; }
.teacher-photo {
  display: grid;
  min-height: 250px;
  place-items: center;
  border-bottom: 1px solid var(--line);
  color: rgba(255,255,255,.3);
  background:
    radial-gradient(circle at 50% 35%, rgba(130,240,0,.24), transparent 29%),
    linear-gradient(135deg, #1d211b, #0c0d0c);
  font: 700 5rem/1 "Oswald", sans-serif;
}
.teacher-card:nth-child(2) .teacher-photo { background: radial-gradient(circle at 50% 35%, rgba(25,183,229,.24), transparent 29%), linear-gradient(135deg, #192023, #0c0d0c); }
.teacher-card:nth-child(3) .teacher-photo { background: radial-gradient(circle at 50% 35%, rgba(255,49,92,.24), transparent 29%), linear-gradient(135deg, #23181b, #0c0d0c); }
.teacher-copy { padding: 26px; }
.teacher-copy h3 { margin: 0 0 10px; font-size: 2rem; }
.teacher-copy .role { color: var(--acid); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; }

.training-timeline {
  counter-reset: timeline;
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}
.training-timeline li {
  counter-increment: timeline;
  display: grid;
  grid-template-columns: 78px 1fr;
  padding: 24px 0;
  border-top: 1px solid var(--line);
}
.training-timeline li::before {
  content: "0" counter(timeline);
  color: var(--acid);
  font: 700 2rem/1 "Oswald", sans-serif;
}
.training-timeline strong { display: block; margin-bottom: 8px; color: #fff; }

.attestation-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.attestation-panel { padding: 34px; border: 1px solid var(--line); }
.attestation-panel h3 { margin: 0 0 24px; font-size: 2rem; }
.check-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.check-grid li { color: #e7e8e4; }
.check-grid li::before { content: "✓"; margin-right: 10px; color: var(--acid); }
.criteria-table { width: 100%; border-collapse: collapse; }
.criteria-table th,
.criteria-table td { padding: 15px 12px; border-top: 1px solid var(--line); text-align: left; vertical-align: top; }
.criteria-table th { width: 32%; color: #fff; }
.criteria-table td { color: #aeb1ab; }

.case-empty {
  display: grid;
  grid-template-columns: .7fr 1.3fr;
  gap: 44px;
  padding: 42px;
  border: 1px dashed rgba(255,255,255,.32);
}
.case-empty strong { color: var(--yellow); font: 700 4rem/1 "Oswald", sans-serif; }

.pricing-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr));
  gap: 20px;
}

.price-card-academy {
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  margin: 0 auto;
  border: 1px solid rgba(130,240,0,.72);
  background: #121411;
}
.price-amount { padding: 44px; background: var(--acid); color: #080908; }
.price-amount small { display: block; margin-bottom: 20px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.price-amount strong { display: block; font: 700 clamp(4rem, 8vw, 7.4rem)/.85 "Oswald", sans-serif; }
.price-amount span { display: block; margin-top: 18px; font-weight: 700; }
.price-content { padding: 44px; }
.price-content .plain-list { margin-bottom: 28px; }

.video-shell {
  position: relative;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(130,240,0,.7);
  background: #000;
  box-shadow: 16px 16px 0 rgba(130,240,0,.12);
}
.video-shell iframe { width: 100%; height: 100%; border: 0; }
.lead-panel { padding: 26px; border: 1px solid var(--line); background: #151714; }
.lead-panel h3 { margin: 0 0 12px; font-size: 2.1rem; }
.academy-form { display: grid; gap: 10px; margin-top: 17px; }
.academy-form .interest-grid,.academy-form .program-options{display:flex;flex-wrap:wrap;gap:8px}
.academy-form .waitlist-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.academy-form .waitlist-options label{cursor:pointer}
.academy-form .waitlist-options input{position:absolute;width:1px;min-height:1px;opacity:0;pointer-events:none}
.academy-form .waitlist-options span{display:flex;height:100%;min-height:52px;align-items:center;padding:10px 13px;border:1px solid #ff9fba;border-radius:11px;background:#ffd3df;color:#35101b;font-size:.76rem;font-weight:800;transition:border-color .18s,background .18s,transform .18s}
.academy-form .waitlist-options label:hover span{border-color:#ff5f8e;background:#ffc0d2;transform:translateY(-1px)}
.academy-form .waitlist-options input:checked+span{border-color:#76ff00;background:#76ff00;color:#071006}
.academy-form .interest-grid label,.academy-form .program-options label{cursor:pointer}
.academy-form .interest-grid input,.academy-form .program-options input{position:absolute;opacity:0;pointer-events:none}
.academy-form .interest-grid span,.academy-form .program-options span{display:flex;min-height:42px;align-items:center;padding:9px 14px;border:1px solid rgba(255,255,255,.18);border-radius:11px;background:#101513;color:#e7ede9;font-weight:750}
.academy-form .interest-grid input:checked+span,.academy-form .program-options input:checked+span{border-color:#76ff00;background:#76ff00;color:#071006}
.academy-success-dialog{width:min(560px,calc(100% - 28px));border:1px solid rgba(255,255,255,.2);border-radius:22px;background:#101513;color:#fff;padding:34px;text-align:center}
.academy-success-dialog::backdrop{background:rgba(0,0,0,.78);backdrop-filter:blur(8px)}
.academy-success-dialog>span{color:#76ff00;font-size:.72rem;font-weight:900;letter-spacing:.12em}
.academy-success-dialog h2{font-size:clamp(2rem,5vw,3.2rem);margin:10px 0}
.academy-success-dialog p{color:#c9d2cd;line-height:1.6}
.academy-success-close{position:absolute;top:12px;right:12px;width:36px;height:36px;border:1px solid rgba(255,255,255,.2);border-radius:50%;background:#1b211e;color:#fff;font-size:22px}
@media(max-width:560px){.lead-panel{padding:20px 14px}.academy-form{gap:9px;margin-top:14px}.academy-form .waitlist-options{grid-template-columns:1fr 1fr}}
.academy-form label:not(.consent-line) { display: grid; gap: 7px; color: #e6e7e3; font-size: .76rem; }
.academy-form input,
.academy-form select,
.academy-form textarea {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid rgba(255,255,255,.28);
  color: #fff;
  background: #0c0d0c;
  font: inherit;
}
.academy-form textarea { min-height: 88px; resize: vertical; }
.consent-line { display: flex; gap: 10px; align-items: flex-start; color: #aeb1ab; font-size: .74rem; }
.consent-line input { width: 18px; min-height: 18px; margin-top: 1px; }
.form-status { min-height: 22px; margin: 0; color: var(--acid); font-size: .8rem; }

.waitlist-options {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 9px;
}
.waitlist-options label {
  display: flex;
  gap: 9px;
  padding: 12px;
  border: 1px solid var(--line);
}

.academy-faq { border-top: 1px solid var(--line); }
.academy-faq details { border-bottom: 1px solid var(--line); }
.academy-faq summary {
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding: 22px 0;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  cursor: pointer;
}
.academy-faq summary::after { content: "+"; color: var(--acid); font-size: 1.5rem; }
.academy-faq details[open] summary::after { content: "−"; }
.academy-faq p { max-width: 850px; padding: 0 0 22px; }

.academy-final {
  padding: 120px 0;
  text-align: center;
  background:
    radial-gradient(circle at 50% 100%, rgba(130,240,0,.2), transparent 35%),
    #080908;
}
.academy-final h2 { max-width: 1050px; margin: 0 auto 38px; }
.academy-final .hero-actions { justify-content: center; }
.legal-disclaimer { max-width: 940px; margin: 30px auto 0; color: #7f837c; font-size: .72rem; }

.mobile-enroll-bar {
  display: none;
  position: fixed;
  z-index: 55;
  inset: auto 0 0;
  grid-template-columns: 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 10px 14px;
  border-top: 1px solid var(--line);
  background: rgba(7,8,7,.96);
}
.mobile-enroll-bar strong { display: block; color: #fff; }
.mobile-enroll-bar small { color: #8e928b; }

.hub-hero,
.placeholder-hero {
  min-height: 720px;
  padding: 170px 0 110px;
  display: grid;
  align-items: center;
  background:
    radial-gradient(circle at 70% 25%, rgba(130,240,0,.15), transparent 25%),
    linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px),
    #0b0c0b;
  background-size: auto, 80px 80px, 80px 80px, auto;
}
.hub-hero h1,
.placeholder-hero h1 { margin: 25px 0; }

@media (max-width: 1050px) {
  .program-hero-grid,
  .academy-heading,
  .competency-card,
  .hub-hero-grid,
  .placeholder-grid,
  .media-band-grid { grid-template-columns: 1fr; }
  .academy-hero-collage { min-height: 520px; max-width: 700px; width: 100%; }
  .social-reels-grid { grid-template-columns:1fr; gap:40px; }
  .reel-wall { max-width:760px; width:100%; }
  .program-strip,
  .teacher-grid { grid-template-columns: 1fr; }
  .program-tile { min-height: 280px; border-right: 0; border-bottom: 1px solid var(--line); }
  .program-tile:last-child { border-bottom: 0; }
  .mistake-list,
  .method-stages { grid-template-columns: repeat(2, 1fr); }
  .mistake-list li,
  .method-stage { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .artifact-grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 820px) {
  .academy-page { padding-bottom: 76px; }
  .academy-page .site-header { transform: none; position: absolute; }
  .program-page .header-inner { grid-template-columns: 1fr auto; }
  .academy-page .main-nav { top: 92px; }
  .program-breadcrumbs { display: none; }
  .program-hero { min-height: 0; padding: 122px 0 74px; }
  .program-hero-grid { gap: 42px; }
  .program-card { padding: 24px; box-shadow: 9px 9px 0 rgba(130,240,0,.14); }
  .program-card dl { grid-template-columns: 105px 1fr; }
  .academy-section { padding: 82px 0; }
  .academy-heading { gap: 20px; margin-bottom: 40px; }
  .split-qualifier,
  .method-grid,
  .timeline-support,
  .video-grid,
  .attestation-grid,
  .price-card-academy,
  .case-empty { grid-template-columns: 1fr; }
  .artifact-grid { grid-template-columns: repeat(2, 1fr); }
  .lesson-card { grid-template-columns:64px 1fr; gap:18px; }
  .lesson-result { grid-column:2; }
  .academy-visual-flow { grid-template-columns:1fr; }
  .academy-social-panel { display:block; }
  .academy-social-panel .hero-actions { margin-top:22px; }
  .academy-character-strip { grid-template-columns:1fr 1fr; }
  .academy-character-strip figure:nth-child(2) { grid-column:1 / -1; grid-row:2; }
  .lesson-row {
    grid-template-columns: 44px 1fr;
    padding-left: 0;
  }
  .lesson-row span,
  .lesson-row small { grid-column: 2; }
  .curriculum-trigger { grid-template-columns: 74px 1fr 32px; }
  .curriculum-trigger .module-size { display: none; }
  .competency-map { grid-template-columns: repeat(10, 1fr); }
  .mobile-enroll-bar { display: grid; }
}

@media (max-width: 560px) {
  .program-hero h1 { font-size: clamp(3.5rem, 18vw, 5.4rem); }
  .program-meta-line { display: grid; grid-template-columns: 1fr 1fr; }
  .mistake-list,
  .method-stages,
  .artifact-grid { grid-template-columns: 1fr; }
  .mistake-list li,
  .method-stage,
  .artifact-card { min-height: 0; }
  .mistake-list li::before,
  .method-stage h3,
  .artifact-card strong { margin-top: 20px; margin-bottom: 12px; }
  .check-grid,
  .waitlist-options { grid-template-columns: 1fr; }
  .price-amount,
  .price-content,
  .competency-card,
  .case-empty { padding: 26px; }
  .competency-map { gap: 5px; }
  .academy-hub-dynamic { padding-top:120px; }
  .hub-hero-copy h1 { font-size:clamp(3.7rem,18vw,5rem); }
  .academy-hero-collage { min-height:390px; }
  .collage-main { inset:30px 0 30px 0; }
  .collage-lesson { width:54%; height:120px; }
  .collage-analytics { width:55%; height:110px; }
  .lesson-card { grid-template-columns:1fr; padding:22px; }
  .lesson-result { grid-column:1; }
  .lesson-number { font-size:2.4rem; }
  .placeholder-visual,
  .placeholder-visual img { min-height:360px; }
  .academy-character-strip { grid-template-columns:1fr; }
  .academy-character-strip figure:nth-child(2) { grid-column:auto; grid-row:auto; }
  .reel-wall { min-height:500px; }
  .reel-frame { width:48%; }
  .reel-frame-2 { left:27%; }
  .reel-frame-3 { right:-8%; }
  .reel-frame-4 { left:29%; width:42%; }
}

.program-strip[data-academy-catalog]:has(.public-course-tile) { grid-template-columns:minmax(0,1fr); border:0; gap:16px; }
.public-course-tile { min-width:0; }
.public-course-group-label{grid-column:1/-1;display:flex;align-items:end;justify-content:space-between;gap:16px;padding:18px 2px 10px;border-bottom:1px solid var(--line)}.public-course-group-label span{color:var(--acid);font-size:.75rem;font-weight:900;letter-spacing:.12em}.public-course-group-label small{color:#8b8e88}
.program-tile.public-course-tile { display:grid; gap:0; min-height:0; padding:0; overflow:hidden; border:1px solid var(--line); text-decoration:none; }
.public-course-tile.with-preview { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); }
.public-course-body { min-width:0; padding:28px; }
.public-course-tile .public-course-preview { position:relative; align-self:stretch; margin:0; min-width:0; overflow:hidden; background:#080a08; }
.public-course-tile .public-course-preview img { display:block; width:100%; height:100%; object-fit:contain; }
.public-course-tile .tile-code { font:800 .72rem/1.25 "Manrope",sans-serif; letter-spacing:.11em; }
.public-course-tile h3 { margin:16px 0; font-size:clamp(1.8rem,3vw,2.5rem); }
.public-course-tile p { min-height:0; margin:0; line-height:1.65; }
.public-course-tile.role-bonus { background:#111713; }
.public-course-tile.role-bonus.current { color:#fff; background:#111713; }
.public-course-new { position:absolute; top:14px; right:14px; z-index:2; padding:7px 9px; border-radius:999px; background:var(--acid); color:#080908; font-size:.68rem; font-weight:900; text-transform:uppercase; }
.public-course-facts { display:flex; align-items:center; flex-wrap:wrap; gap:12px 24px; margin-top:24px; }
.public-course-readiness { flex-basis:100%; line-height:1.6; color:inherit; }
.public-course-tile .public-course-price { display:block; margin:0; font-size:1.5rem; font-weight:800; white-space:nowrap; }
.public-course-tile .status-pill { position:static; inset:auto; margin:0; }
.public-course-action { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-top:24px; padding-top:16px; border-top:1px solid currentColor; font-weight:800; }
.public-course-action>span { font-size:1.6rem; }
.public-course-tile:hover .public-course-action { text-decoration:underline; text-underline-offset:4px; }
.public-course-tile:focus-visible { outline:3px solid #18bee5; outline-offset:4px; }
.public-course-outline { display:grid; gap:10px; margin-top:22px; }
.public-course-program { border:1px solid var(--line); background:#10120f; }
.public-course-program summary { display:grid; grid-template-columns:110px minmax(0,1fr) auto 24px; align-items:center; gap:18px; min-height:72px; padding:14px 18px; cursor:pointer; list-style:none; }
.public-course-program summary::-webkit-details-marker { display:none; }
.public-course-program summary:focus-visible { outline:3px solid var(--acid); outline-offset:2px; }
.public-course-program summary>span { color:var(--acid); font:700 1.15rem/1 "Oswald",sans-serif; }
.public-course-program summary>strong { overflow-wrap:anywhere; }
.public-course-program summary>small { color:#8b8e88; }
.public-course-program summary>.public-course-toggle { font:500 1.7rem/1 "Manrope",sans-serif; text-align:center; }
.public-course-toggle::before { content:'+'; }
.public-course-program[open] .public-course-toggle::before { content:'−'; }
.public-course-program { scroll-margin-top:120px; }
.public-course-program>div { padding:0 18px 18px; border-top:1px solid var(--line); }
.public-course-program ol { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.public-course-program li { display:grid; grid-template-columns:1fr; gap:6px; padding:12px 0; border-bottom:1px solid var(--line); }
.public-course-program li.has-preview { grid-template-columns:minmax(128px,170px) minmax(0,1fr); align-items:start; gap:15px; }
.public-course-program li:last-child { border-bottom:0; }
.public-course-program li span,.public-course-empty { color:#8b8e88; font-size:.82rem; line-height:1.5; }
.public-lesson-copy { display:grid; align-content:start; gap:5px; min-width:0; }
.public-lesson-preview { position:relative; overflow:hidden; aspect-ratio:16/9; margin:0; border:1px solid rgba(255,255,255,.14); background:#080a08; }
.public-lesson-preview::after { content:"ПРЕВЬЮ"; position:absolute; left:6px; bottom:6px; padding:3px 5px; color:#080a08; background:var(--acid); font-size:.52rem; font-weight:900; letter-spacing:.08em; }
.public-lesson-preview img { width:100%; height:100%; object-fit:cover; }
.public-course-modules { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding-top:18px; }
.public-course-modules>section { min-width:0; padding:16px; border:1px solid var(--line); background:#151813; }
.public-course-modules>section>span { color:var(--acid); font-size:.68rem; font-weight:800; letter-spacing:.13em; }
.public-course-modules h4 { margin:7px 0 13px; font-size:1.15rem; }
.public-course-modules li { grid-template-columns:1fr; gap:4px; }
@media (max-width: 760px) {
  .program-strip[data-academy-catalog] { grid-template-columns:1fr; }
  .public-course-tile.with-preview { grid-template-columns:minmax(0,1fr); }
  .public-course-tile .public-course-preview { aspect-ratio:16/9; }
  .public-course-body { padding:22px; }
  .public-course-group-label { align-items:start; flex-direction:column; gap:8px; }
  .public-course-program summary { grid-template-columns:minmax(0,1fr) auto 24px; gap:10px; }
  .public-course-program summary>span:first-child { grid-column:1/3; }
  .public-course-program summary>strong { grid-column:1/3; grid-row:2; }
  .public-course-program summary>.public-course-toggle { grid-column:3; grid-row:1/3; }
  .public-course-program summary>small { grid-column:1/3; grid-row:3; }
  .public-course-program li { grid-template-columns:1fr; gap:5px; }
  .public-course-program li.has-preview { grid-template-columns:minmax(104px,32vw) minmax(0,1fr); gap:11px; }
  .public-course-modules { grid-template-columns:1fr; }
}
@media (max-width: 390px) {
  .public-course-program summary { padding:13px; }
  .public-course-program>div { padding:0 13px 13px; }
  .public-course-program li.has-preview { grid-template-columns:minmax(0,1fr); gap:12px; }
}
@media (max-width: 520px) {
  .public-course-program li.has-preview { grid-template-columns:minmax(0,1fr); gap:12px; }
}

@media (prefers-reduced-motion: reduce) {
  .academy-page *,
  .academy-page *::before,
  .academy-page *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
