.AcademyLessonMain { width:min(960px, calc(100% - 40px)); margin:0 auto; padding-top:30px; }
.LessonBreadcrumbs { display:flex; gap:12px; align-items:center; color:var(--academy-muted); font-size:.88rem; }
.LessonBreadcrumbs a, .LessonFooter a { color:var(--academy-lime); text-decoration:none; }
.LessonBreadcrumbs a:hover, .LessonBreadcrumbs a:focus-visible, .LessonFooter a:hover, .LessonFooter a:focus-visible { text-decoration:underline; }
.LessonHeader { max-width:760px; margin:0 auto; padding:72px 0 54px; border-bottom:1px solid var(--academy-line); }
.LessonHeader h1 { margin:0; color:var(--academy-paper); font-family:'Orbitron',sans-serif; font-size:clamp(2.5rem, 6vw, 5rem); font-weight:400; line-height:1.08; }
.LessonLead { max-width:700px; margin:24px 0 0; color:var(--academy-muted); font-size:1.2rem; line-height:1.65; }
.LessonMeta { display:flex; flex-wrap:wrap; gap:10px; margin-top:28px; color:var(--academy-cyan); font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
.LessonMeta span { padding:7px 9px; border:1px solid rgba(117,214,210,.35); }
.LessonLayout { display:block; max-width:760px; margin:0 auto; padding-top:42px; }
.LessonContents { display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; padding-bottom:20px; border-bottom:1px solid var(--academy-line); }
.LessonContents .AcademyOverline { width:100%; margin-bottom:0; }
.LessonContents a { color:var(--academy-muted); font-size:.9rem; text-decoration:none; }
.LessonContents a:hover, .LessonContents a:focus-visible { color:var(--academy-lime); }
.LessonBlock { padding-bottom:76px; }
.LessonBlock h2 { margin:0 0 22px; color:var(--academy-paper); font-family:'Orbitron',sans-serif; font-size:clamp(1.5rem, 3vw, 2.3rem); font-weight:400; line-height:1.2; }
.LessonBlock > p:not(.AcademyOverline), .LessonBlock > .LessonCallout { color:var(--academy-muted); line-height:1.75; }
.LessonBlock strong { color:var(--academy-paper); }
.LessonCallout { display:grid; gap:10px; margin-top:28px; padding:24px; border-left:3px solid var(--academy-coral); background:var(--academy-panel); }
.LessonParts { display:grid; grid-template-columns:repeat(2, 1fr); gap:10px; }
.LessonParts article { padding:22px; background:var(--academy-panel); }
.LessonParts span { color:var(--academy-coral); font-family:'Orbitron',sans-serif; }
.LessonParts h3 { margin:16px 0 8px; color:var(--academy-paper); font-size:1.15rem; font-weight:400; }
.LessonParts p { margin:0; color:var(--academy-muted); font-size:.92rem; line-height:1.55; }
.TransmissionChoices { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 18px; }
.TransmissionChoice { padding:11px 15px; border:1px solid rgba(117,214,210,.4); background:transparent; color:var(--academy-muted); font:inherit; cursor:pointer; }
.TransmissionChoice:hover, .TransmissionChoice:focus-visible, .TransmissionChoice.is-selected { border-color:var(--academy-lime); color:var(--academy-lime); }
.TransmissionChoice:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.TransmissionDiagram { padding:24px; border:1px solid rgba(117,214,210,.25); background:rgba(9,20,22,.35); }
.TransmissionSignalHeader { display:flex; justify-content:space-between; gap:16px; align-items:baseline; color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.7rem; }
.TransmissionSignalHeader small { color:var(--academy-muted); font-family:'Exo',sans-serif; font-size:.82rem; }
.TransmissionWave { display:grid; grid-template-columns:repeat(8, 1fr); align-items:center; height:250px; margin:18px 0; border-bottom:1px solid rgba(117,214,210,.3); background:repeating-linear-gradient(90deg, transparent 0, transparent calc(6.25% - 1px), rgba(117,214,210,.12) calc(6.25% - 1px), rgba(117,214,210,.12) 6.25%); }
.TransmissionWave i { display:block; height:48px; border-top:3px solid var(--academy-lime); border-bottom:3px solid var(--academy-lime); }
.TransmissionWave i:nth-child(2), .TransmissionWave i:nth-child(5), .TransmissionWave i:nth-child(7) { height:92px; border-color:var(--academy-coral); }
.TransmissionTrace { display:none; }
.TransmissionWaveBaseband .TransmissionTrace { display:block; grid-column:1 / -1; width:100%; height:100%; overflow:visible; }
.TransmissionWaveModulated .TransmissionTrace { display:block; grid-column:1 / -1; width:100%; height:100%; overflow:hidden; }
.TransmissionWaveBaseband .TransmissionTrace { overflow:hidden; }
.TransmissionWaveBaseband .TransmissionTrace path { fill:none; stroke:var(--academy-lime); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:none; }
.TransmissionWaveBaseband .TransmissionTraceBottom { stroke:var(--academy-coral); }
.TransmissionWaveBaseband .TransmissionBitLabels { fill:var(--academy-paper); font:700 18px 'Orbitron', sans-serif; text-anchor:middle; }
.TransmissionWaveBaseband .TransmissionBitLabels text:nth-child(even) { fill:var(--academy-coral); }
.TransmissionWaveModulated { background:repeating-linear-gradient(90deg, transparent 0, transparent calc(6.25% - 1px), rgba(117,214,210,.12) calc(6.25% - 1px), rgba(117,214,210,.12) 6.25%); }
.TransmissionWaveModulated .TransmissionTraceTop, .TransmissionWaveModulated .TransmissionTraceBottom { display:none; }
.TransmissionWaveModulated .TransmissionBitLabels { display:none; }
.TransmissionWaveModulated .TransmissionModulatedData { display:block; fill:none; stroke:var(--academy-lime); stroke-width:2.5; }
.TransmissionWaveModulated .TransmissionCarrier { display:block; fill:none; stroke:rgba(117,214,210,.7); stroke-width:1.5; }
.TransmissionWaveModulated .TransmissionFusion { display:block; fill:none; stroke:var(--academy-cyan); stroke-width:2; stroke-dasharray:5 4; }
.TransmissionWaveModulated .TransmissionModulatedSignal { display:block; fill:none; stroke:var(--academy-coral); stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.TransmissionModulatedData, .TransmissionCarrier, .TransmissionModulatedSignal { display:none; }
.TransmissionFusion { display:none; }
.TransmissionStageLabel { display:none; fill:var(--academy-muted); font:700 9px 'Orbitron', sans-serif; letter-spacing:1px; }
.TransmissionWaveModulated .TransmissionStageLabel { display:block; }
.TransmissionWaveModulated .TransmissionReferenceLabel { fill:var(--academy-lime); }
.TransmissionWaveModulated .TransmissionBitLabels { transform:translateY(-2px); }
@media (prefers-reduced-motion: reduce) { .TransmissionWaveBaseband .TransmissionTraceTrack { transform:translateX(0); } .TransmissionWaveBaseband .TransmissionTraceTrack animateTransform { display:none; } }
.TransmissionLegend { display:grid; gap:7px; color:var(--academy-muted); font-size:.86rem; line-height:1.5; }
.TransmissionLegend span:first-child { color:var(--academy-paper); }
.TransmissionAnimationButton { justify-self:end; margin-top:5px; padding:8px 12px; border:1px solid rgba(117,214,210,.4); background:transparent; color:var(--academy-muted); font:inherit; font-size:.78rem; cursor:pointer; }
.TransmissionAnimationButton:hover, .TransmissionAnimationButton:focus-visible { border-color:var(--academy-lime); color:var(--academy-lime); }
.TransmissionAnimationButton:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.MediumChoices { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 18px; }
.MediumChoice { padding:11px 15px; border:1px solid rgba(117,214,210,.4); background:transparent; color:var(--academy-muted); font:inherit; cursor:pointer; }
.MediumChoice:hover, .MediumChoice:focus-visible, .MediumChoice.is-selected { border-color:var(--academy-lime); color:var(--academy-lime); }
.MediumChoice:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.MediumDiagram { padding:24px; border:1px solid rgba(117,214,210,.25); background:rgba(9,20,22,.35); }
.MediumSignalHeader { display:flex; justify-content:space-between; gap:16px; align-items:baseline; color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.7rem; }
.MediumSignalHeader small { color:var(--academy-muted); font-family:'Exo',sans-serif; font-size:.82rem; }
.MediumPath { display:flex; align-items:center; gap:0; height:120px; margin:18px 0; }
.MediumPath span { position:relative; display:block; flex:1; height:10px; background:var(--academy-copper, #d77b4a); }
.MediumPath span::after { content:''; position:absolute; top:50%; right:-9px; width:18px; height:18px; border-top:3px solid currentColor; border-right:3px solid currentColor; color:var(--academy-coral); transform:translateY(-50%) rotate(45deg); }
.MediumPath span:last-child::after { display:none; }
.MediumPathCopper { position:relative; background:linear-gradient(180deg, transparent 47%, rgba(215,123,74,.22) 48%, rgba(215,123,74,.22) 52%, transparent 53%); }
.MediumPathCopper span { height:8px; overflow:hidden; border-top:2px solid #f0a06d; border-bottom:2px solid #9f4f2d; background:linear-gradient(180deg, #e58b57, #b85f37); box-shadow:0 0 12px rgba(229,139,87,.45); }
.MediumPathCopper span::before { content:''; position:absolute; top:0; left:-35%; width:35%; height:100%; background:linear-gradient(90deg, transparent, var(--academy-lime), #fff4bf, var(--academy-lime), transparent); box-shadow:0 0 12px var(--academy-lime); animation:copperPulse 1.8s linear infinite; }
.MediumPathCopper span:nth-child(2)::before { animation-delay:.36s; }
.MediumPathCopper span:nth-child(3)::before { animation-delay:.72s; }
.MediumPathCopper span:nth-child(4)::before { animation-delay:1.08s; }
.MediumPathCopper span:nth-child(5)::before { animation-delay:1.44s; }
.MediumPathCopper span::after { color:var(--academy-coral); }
.MediumPathFiber span { height:6px; overflow:hidden; background:var(--academy-cyan); box-shadow:0 0 14px rgba(117,214,210,.8); }
.MediumPathFiber span::before { content:''; position:absolute; top:0; left:-45%; width:45%; height:100%; background:linear-gradient(90deg, transparent, #fff, var(--academy-lime), #fff, transparent); box-shadow:0 0 16px #fff; animation:fiberPulse 1.15s linear infinite; }
.MediumPathFiber span:nth-child(2)::before { animation-delay:.23s; }
.MediumPathFiber span:nth-child(3)::before { animation-delay:.46s; }
.MediumPathFiber span:nth-child(4)::before { animation-delay:.69s; }
.MediumPathFiber span:nth-child(5)::before { animation-delay:.92s; }
.MediumPathFiber span::after { color:var(--academy-lime); }
.MediumPathWireless { position:relative; justify-content:space-around; gap:10%; overflow:hidden; background:radial-gradient(ellipse at center, transparent 0 25%, rgba(117,214,210,.14) 26% 27%, transparent 28% 42%, rgba(117,214,210,.11) 43% 44%, transparent 45%); }
.MediumPathWireless::before { content:''; position:absolute; inset:-55% -20%; border:2px solid rgba(117,214,210,.7); border-radius:50%; transform:scale(.2); opacity:0; animation:wirelessWave 2.4s ease-out infinite; pointer-events:none; }
.MediumPathWireless::after { content:''; position:absolute; inset:-55% -20%; border:2px solid rgba(117,214,210,.45); border-radius:50%; transform:scale(.2); opacity:0; animation:wirelessWave 2.4s ease-out 1.2s infinite; pointer-events:none; }
.MediumPathWireless span { z-index:1; flex:0 0 14px; height:72px; background:var(--academy-coral); transform:skewY(-18deg); box-shadow:0 0 12px rgba(255,126,104,.7); }
.MediumPathWireless span::after { display:none; }
@keyframes copperPulse { from { transform:translateX(0); } to { transform:translateX(385%); } }
@keyframes fiberPulse { from { transform:translateX(0); } to { transform:translateX(320%); } }
@keyframes wirelessWave { 0% { transform:scale(.2); opacity:0; } 18% { opacity:.75; } 100% { transform:scale(1); opacity:0; } }
@media (prefers-reduced-motion: reduce) { .MediumPathCopper span::before, .MediumPathFiber span::before, .MediumPathWireless::before, .MediumPathWireless::after { animation:none; } .MediumPathCopper span::before, .MediumPathFiber span::before { left:32%; } }
.MediumFacts { display:grid; gap:7px; color:var(--academy-muted); font-size:.86rem; line-height:1.5; }
.MediumFacts strong { color:var(--academy-paper); }
.CableChoices { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 18px; }
.CableChoice { padding:11px 15px; border:1px solid rgba(117,214,210,.4); background:transparent; color:var(--academy-muted); font:inherit; cursor:pointer; }
.CableChoice:hover, .CableChoice:focus-visible, .CableChoice.is-selected { border-color:var(--academy-lime); color:var(--academy-lime); }
.CableChoice:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.CableDiagram { padding:24px; border:1px solid rgba(117,214,210,.25); background:rgba(9,20,22,.35); }
.CableHeader { display:flex; justify-content:space-between; gap:16px; align-items:baseline; color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.7rem; }
.CableHeader small { color:var(--academy-muted); font-family:'Exo',sans-serif; font-size:.82rem; }
.CableVisual { margin:18px 0; border:1px solid rgba(117,214,210,.2); background:#091416; overflow:hidden; }
.CableVisual img { display:block; width:100%; height:auto; }
.CableFacts { display:grid; gap:7px; color:var(--academy-muted); font-size:.86rem; line-height:1.5; }
.CableFacts strong { color:var(--academy-paper); }
.AdslControls { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 18px; }
.AdslChoice { padding:11px 13px; border:1px solid rgba(117,214,210,.4); background:transparent; color:var(--academy-muted); font:inherit; cursor:pointer; }
.AdslChoice:hover, .AdslChoice:focus-visible, .AdslChoice.is-selected { border-color:var(--academy-lime); color:var(--academy-lime); }
.AdslChoice:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.AdslResult { display:grid; gap:8px; padding:24px; border-left:3px solid var(--academy-lime); background:rgba(9,20,22,.35); }
.AdslResultLabel { color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.68rem; letter-spacing:.08em; }
.AdslResult strong { color:var(--academy-paper); font-family:'Orbitron',sans-serif; font-size:1.25rem; font-weight:400; }
.AdslResult p { margin:0; color:var(--academy-muted); line-height:1.65; }
.AdslResult small { color:var(--academy-coral); font-size:.88rem; }
.AccessChoices { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 18px; }
.AccessChoice { padding:11px 16px; border:1px solid rgba(117,214,210,.4); background:transparent; color:var(--academy-muted); font:inherit; cursor:pointer; }
.AccessChoice:hover, .AccessChoice:focus-visible, .AccessChoice.is-selected { border-color:var(--academy-lime); color:var(--academy-lime); }
.AccessChoice:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.AccessPath { display:grid; grid-template-columns:minmax(110px, 1fr) 24px minmax(110px, 1fr) 24px minmax(110px, 1fr) 24px minmax(110px, 1fr); gap:8px; align-items:center; padding:24px; border:1px solid rgba(117,214,210,.25); background:rgba(9,20,22,.35); }
.AccessNode { display:grid; gap:6px; min-height:112px; align-content:center; padding:12px 9px; border:1px solid rgba(241,199,91,.65); background:rgba(241,199,91,.1); text-align:center; }
.AccessNode span { color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.62rem; letter-spacing:.06em; }
.AccessNode strong { color:var(--academy-paper); font-size:.83rem; font-weight:400; }
.AccessNode small { color:var(--academy-muted); font-size:.72rem; line-height:1.35; }
.AccessPath > i { position:relative; display:block; height:3px; background:var(--academy-cyan); }
.AccessPath > i::after { content:''; position:absolute; top:-5px; right:-1px; border-width:6px 0 6px 9px; border-style:solid; border-color:transparent transparent transparent var(--academy-cyan); }
.AccessResult { display:grid; gap:8px; margin-top:18px; padding:22px 24px; border-left:3px solid var(--academy-lime); background:rgba(9,20,22,.35); }
.AccessResultLabel { color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.68rem; letter-spacing:.08em; }
.AccessResult strong { color:var(--academy-paper); font-family:'Orbitron',sans-serif; font-size:1.2rem; font-weight:400; }
.AccessResult p { margin:0; color:var(--academy-muted); line-height:1.65; }
.AccessSpectrum { display:grid; grid-template-columns:1fr auto 1fr; gap:8px; align-items:stretch; margin-top:18px; }
.AccessSpectrumBand, .AccessSpectrumFilter { display:grid; gap:6px; align-content:center; min-height:76px; padding:14px; text-align:center; }
.AccessSpectrumBand { border:1px solid rgba(117,214,210,.55); background:rgba(117,214,210,.1); }
.AccessSpectrumBand span, .AccessSpectrumFilter strong { color:var(--academy-paper); font-family:'Orbitron',sans-serif; font-size:.72rem; font-weight:400; }
.AccessSpectrumBand small, .AccessSpectrumFilter small { color:var(--academy-muted); font-size:.75rem; }
.AccessVoiceBand { border-color:rgba(241,199,91,.65); background:rgba(241,199,91,.1); }
.AccessSpectrumFilter { border:1px dashed var(--academy-coral); background:rgba(255,111,97,.1); }
.AccessMetrics { display:grid; grid-template-columns:repeat(4, 1fr); gap:8px; margin-top:18px; }
.AccessMetrics div { display:grid; gap:6px; padding:16px 12px; border-top:2px solid var(--academy-cyan); background:var(--academy-panel); text-align:center; }
.AccessMetrics span { color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.62rem; letter-spacing:.06em; }
.AccessMetrics strong { color:var(--academy-paper); font-family:'Orbitron',sans-serif; font-size:1rem; font-weight:400; }
.AccessMetrics small { color:var(--academy-muted); font-size:.75rem; }
@media (max-width:800px) { .AccessMetrics { grid-template-columns:repeat(2, 1fr); } }
.LessonExperiment { padding:30px; border:1px solid var(--academy-line); background:linear-gradient(120deg, rgba(22,48,57,.92), rgba(16,33,37,.92)); }
.ExperimentControls { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0 34px; }
.ExperimentChoice, .CheckOptions button { padding:11px 13px; border:1px solid rgba(117,214,210,.4); background:transparent; color:var(--academy-muted); font:inherit; cursor:pointer; }
.ExperimentChoice:hover, .ExperimentChoice:focus-visible, .ExperimentChoice.is-selected, .CheckOptions button:hover, .CheckOptions button:focus-visible { border-color:var(--academy-lime); color:var(--academy-lime); }
.ExperimentChoice:focus-visible, .CheckOptions button:focus-visible, #SendMessageButton:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.ExperimentStage { padding:30px 0 10px; overflow:visible; }
.ExperimentPath { position:relative; height:2px; background:var(--academy-line); }
.ExperimentPacket { position:absolute; top:50%; left:0; padding:5px 7px; transform:translate(-50%, -50%); background:var(--academy-coral); color:var(--academy-ink); font-size:.65rem; font-weight:700; }
.ExperimentPacket.is-moving { animation:lesson-packet 4s linear forwards, experiment-packet-pulse .7s ease-in-out infinite; }
.ExperimentStations { display:grid; grid-template-columns:repeat(4, 1fr); gap:10px; margin-top:23px; }
.ExperimentStation { display:grid; gap:7px; color:var(--academy-muted); }
.ExperimentStation > span { width:max-content; padding:5px 7px; border:1px solid var(--academy-cyan); color:var(--academy-cyan); font-family:'Orbitron',sans-serif; font-size:.62rem; }
.ExperimentStation.is-active > span { border-color:var(--academy-lime); color:var(--academy-lime); }
.ExperimentStation.is-reached > span { border-color:var(--academy-cyan); color:var(--academy-paper); }
.ExperimentStation.is-passing > span { animation:experiment-station-pulse .7s ease-out; }
.ExperimentStation strong { font-size:.9rem; font-weight:400; }
.ExperimentStation small { line-height:1.4; }
#SendMessageButton { margin-top:25px; border:0; font:inherit; cursor:pointer; }
.LessonStatus { min-height:1.4em; margin:15px 0 0; color:var(--academy-cyan) !important; font-size:.9rem; }
.CheckOptions { display:grid; gap:9px; }
.CheckOptions button { text-align:left; }
.CheckOptions button.is-correct { border-color:var(--academy-lime); color:var(--academy-lime); }
.CheckOptions button.is-wrong { border-color:var(--academy-coral); color:var(--academy-coral); }
.QuizHeading { display:flex; align-items:end; justify-content:space-between; gap:24px; margin-bottom:26px; }
.QuizHeading h2 { margin-bottom:10px; }
.QuizHeading p { margin:0; color:var(--academy-muted); line-height:1.6; }
.QuizScore { flex:0 0 auto; padding:10px 12px; border:1px solid var(--academy-lime); color:var(--academy-lime); font-family:'Orbitron',sans-serif; font-size:.8rem; font-weight:400; white-space:nowrap; }
.QuizQuestion { margin-bottom:16px; color:var(--academy-paper); font-size:1.1rem; line-height:1.5; }
.CheckOptions button:disabled { cursor:default; opacity:.95; }
.QuizNext { margin-top:18px; border:0; font:inherit; cursor:pointer; }
.QuizNext[hidden] { display:none; }
.QuizNext:focus-visible { outline:2px solid var(--academy-coral); outline-offset:3px; }
.LessonFooter { display:grid; grid-template-columns:minmax(0, 1fr) auto auto; gap:12px 24px; align-items:center; padding:25px 0 50px; border-top:1px solid var(--academy-line); }
.LessonFooter a { white-space:nowrap; }
.LessonCatalogueLink { justify-self:start; }
.LessonPreviousLink, .LessonNextLink { justify-self:end; }

@keyframes lesson-packet { 0%, 15% { left:calc(12.5% - 65.75px); } 30%, 45% { left:calc(37.5% - 63.25px); } 60%, 75% { left:calc(62.5% - 55.75px); } 90%, 100% { left:calc(87.5% - 58.25px); } }
@keyframes experiment-packet-pulse { 0%, 100% { box-shadow:0 0 0 rgba(255,111,97,0); } 50% { box-shadow:0 0 18px rgba(255,111,97,.7); } }
@keyframes experiment-station-pulse { 0% { transform:translateY(0); box-shadow:0 0 0 rgba(174,239,91,0); } 45% { transform:translateY(-3px); box-shadow:0 0 18px rgba(174,239,91,.65); } 100% { transform:translateY(0); box-shadow:0 0 0 rgba(174,239,91,0); } }

@media (prefers-reduced-motion:reduce) {
  .ExperimentPacket.is-moving, .ExperimentStation.is-passing > span { animation:none; }
}

@media (max-width:800px) {
  .LessonLayout { padding-top:35px; }
}

@media (max-width:560px) {
  .QuizHeading { align-items:flex-start; flex-direction:column; gap:16px; }
}

@media (max-width:560px) {
  .AcademyLessonMain { width:min(100% - 24px, 1120px); }
  .LessonHeader { padding-top:50px; }
  .LessonHeader h1 { font-size:2.35rem; }
  .LessonLead { font-size:1rem; }
  .LessonParts, .ExperimentStations { grid-template-columns:1fr; }
  .TransmissionDiagram { padding:14px 10px; }
  .TransmissionSignalHeader { display:grid; gap:6px; }
  .TransmissionWave { height:190px; }
  .MediumDiagram { padding:14px 10px; }
  .MediumSignalHeader { display:grid; gap:6px; }
  .MediumPath { height:96px; }
  .CableDiagram { padding:14px 10px; }
  .CableHeader { display:grid; gap:6px; }
  .CableVisual img { min-height:0; height:auto; object-fit:contain; object-position:center; }
  .AccessPath { grid-template-columns:1fr; gap:8px; padding:14px 10px; }
  .AccessNode { min-height:0; }
  .AccessPath > i { width:3px; height:24px; justify-self:center; }
  .AccessPath > i::after { top:auto; right:-4px; bottom:-1px; border-width:9px 5px 0; border-color:var(--academy-cyan) transparent transparent; }
  .AccessSpectrum, .AccessMetrics { grid-template-columns:1fr; }
  .ExperimentStage { position:relative; padding-right:42px; }
  .ExperimentPath { display:block; position:absolute; top:var(--packet-path-start, 30px); right:15px; bottom:auto; width:2px; height:calc(var(--packet-path-end, 100%) - var(--packet-path-start, 30px)); }
  .ExperimentPacket { left:auto; right:15px; top:var(--packet-step-0, 0px); transform:translate(50%, -50%); }
  .ExperimentPacket.is-moving { animation:lesson-packet-mobile 4s linear forwards, experiment-packet-pulse .7s ease-in-out infinite; }
  .ExperimentStations { gap:15px; }
  .LessonExperiment { padding:22px; }
  .LessonFooter { grid-template-columns:1fr; gap:14px; }
  .LessonCatalogueLink, .LessonPreviousLink, .LessonNextLink { justify-self:start; }
}

@keyframes lesson-packet-mobile { 0%, 15% { top:var(--packet-step-0, 0px); } 30%, 45% { top:var(--packet-step-1, 33.33%); } 60%, 75% { top:var(--packet-step-2, 66.66%); } 90%, 100% { top:var(--packet-step-3, 100%); } }
