
/* Crisp SVG linework inherits each course's existing palette. */
body.page-id-7 #training .course-art::before{content:none}
body.page-id-7 #training .course-art .art-graphic{
 color:var(--tile-art);fill:none;stroke:currentColor;stroke-width:1.8;
 stroke-linecap:round;stroke-linejoin:round;shape-rendering:geometricPrecision;
 filter:none;overflow:visible;isolation:auto;
}
body.page-id-7 #training .course-art .art-graphic :is(path,circle,rect,ellipse,line,polyline,polygon){
 vector-effect:non-scaling-stroke;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;
}
body.page-id-7 #training .course-art .art-graphic .ink{fill:currentColor;fill-opacity:.14;stroke:currentColor}
body.page-id-7 #training .course-art .art-graphic .blue{fill:currentColor;fill-opacity:.28;stroke:currentColor}
body.page-id-7 #training .course-art .art-graphic .pale{fill:currentColor;fill-opacity:.12;stroke:currentColor}
body.page-id-7 #training .course-art .art-graphic .paper{fill:currentColor;fill-opacity:.06;stroke:currentColor}
body.page-id-7 #training .course-art .art-graphic .warm{fill:var(--tile-mark);fill-opacity:1;stroke:var(--tile-mark)}
body.page-id-7 #training .course-art .art-graphic .white,
body.page-id-7 #training .course-art .art-graphic .line{fill:none;stroke:currentColor}
body.page-id-7 #training .course-art .art-graphic .hair{fill:none;stroke:currentColor;stroke-width:1.35;opacity:.8}
body.page-id-7 #training .course-art .art-graphic .dot{fill:var(--tile-mark);fill-opacity:1;stroke:none}
/* Reference assembly paths and travel times, with a shorter hold between loops. */
body.page-id-7 #training .da-course-motion .art-graphic .part{
 transform-box:fill-box;transform-origin:center;
 animation:da-sketch-build-rise 5.5s cubic-bezier(.23,1,.32,1) infinite;
 animation-delay:var(--delay,0s);animation-play-state:paused;
}
body.page-id-7 #training .da-course-motion .art-graphic .from-left{animation-name:da-sketch-build-left}
body.page-id-7 #training .da-course-motion .art-graphic .from-right{animation-name:da-sketch-build-right}
body.page-id-7 #training .da-course-motion .art-graphic .reveal{animation-name:da-sketch-build-line;transform:none}
body.page-id-7 #training .da-course-motion .art-graphic .turn{animation-name:da-sketch-build-turn}
body.page-id-7 #training .da-course-motion .art-graphic .signal{animation-name:da-sketch-signal-flow;animation-duration:7s;transform-box:fill-box}
body.page-id-7 #training .da-course-motion.course-icon-moving .art-graphic .part{animation-play-state:running}
@keyframes da-sketch-build-rise{0%,14%{transform:translateY(19px);opacity:.12}38%,72%{transform:translateY(0);opacity:1}96%,100%{transform:translateY(19px);opacity:.12}}
@keyframes da-sketch-build-left{0%,14%{transform:translateX(-22px);opacity:.12}38%,72%{transform:translateX(0);opacity:1}96%,100%{transform:translateX(-22px);opacity:.12}}
@keyframes da-sketch-build-right{0%,14%{transform:translateX(22px);opacity:.12}38%,72%{transform:translateX(0);opacity:1}96%,100%{transform:translateX(22px);opacity:.12}}
@keyframes da-sketch-build-line{0%,18%{clip-path:inset(0 100% 0 0);opacity:.1}52%,72%{clip-path:inset(0 0 0 0);opacity:1}96%,100%{clip-path:inset(0 100% 0 0);opacity:.1}}
@keyframes da-sketch-build-turn{0%,14%{transform:rotate(-38deg) scale(.94);opacity:.2}46%,72%{transform:rotate(0) scale(1);opacity:1}96%,100%{transform:rotate(-38deg) scale(.94);opacity:.2}}
@keyframes da-sketch-signal-flow{0%,12%{transform:translateX(-23px);opacity:0}38%,60%{opacity:1}86%,100%{transform:translateX(23px);opacity:0}}
@media(max-width:640px){
 body.page-id-7 #training .course-art .art-graphic :is(path,circle,rect,ellipse,line,polyline,polygon){stroke-width:1.3}
 body.page-id-7 #training .course-art .art-graphic .hair{stroke-width:1.1;opacity:.85}
}
@media(prefers-reduced-motion:reduce){
 body.page-id-7 #training .da-course-motion .art-graphic > .part{animation:none!important;transform:none!important;opacity:1!important;clip-path:none!important}
}

/* Floating knowledge layers stay behind the text and share the existing palette. */
body.page-id-7 #expertise .retention-ambient{pointer-events:none;opacity:.28}
body.page-id-7 #expertise .retention-ambient .da-expertise-float{
 display:block;width:100%;height:100%;overflow:visible;
 transform-box:fill-box;transform-origin:center;
 animation:da-expertise-hover 12s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite;
 animation-play-state:paused;
}
body.page-id-7 #expertise .retention-ambient .da-ambient-plane,
body.page-id-7 #expertise .retention-ambient .da-ambient-core{
 transform-box:fill-box;transform-origin:center;
 animation:da-expertise-layer 8s var(--ease-in-out,cubic-bezier(.77,0,.175,1)) infinite;
 animation-play-state:paused;
}
body.page-id-7 #expertise .retention-ambient .da-ambient-plane:nth-child(2){animation-delay:-2.6s}
body.page-id-7 #expertise .retention-ambient .da-ambient-plane:nth-child(3){animation-delay:-5.2s}
body.page-id-7 #expertise .retention-ambient .da-ambient-core{animation-delay:-1.3s;animation-duration:6s}
body.page-id-7 #expertise .retention-ambient .da-expertise-float path{
 fill:var(--tile-art);fill-opacity:.12;stroke:var(--tile-art);stroke-width:1.25;
 stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke;
}
body.page-id-7 #expertise .retention-ambient .da-expertise-float .warm{fill:var(--tile-mark);fill-opacity:.3;stroke:var(--tile-mark)}
body.page-id-7 #expertise .retention-ambient.expertise-float-moving :is(.da-expertise-float,.da-ambient-plane,.da-ambient-core){animation-play-state:running}
@keyframes da-expertise-hover{0%,100%{transform:translate3d(0,8px,0) rotate(-3deg)}50%{transform:translate3d(14px,-16px,0) rotate(2deg)}}
@keyframes da-expertise-layer{0%,100%{transform:translateY(0)}50%{transform:translateY(-2.4px)}}
@media(max-width:640px){body.page-id-7 #expertise .retention-ambient{opacity:.46}}
@media(prefers-reduced-motion:reduce){body.page-id-7 #expertise .retention-ambient :is(.da-expertise-float,.da-ambient-plane,.da-ambient-core){animation:none!important;transform:none!important}}
