/* Content stays visible before JavaScript and when animation is unavailable. */
.sp-page { --sp-motion-ease:cubic-bezier(.16,1,.3,1); }
.sp-chapters a, .ws-chapters a { position:relative; transition:color .18s ease,background-color .18s ease; }
.sp-chapters a::after, .ws-chapters a::after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:var(--c-deeper); transform:scaleX(0); transform-origin:left; transition:transform .24s var(--sp-motion-ease); }
.sp-chapters a[aria-current="location"], .ws-chapters a[aria-current="location"] { color:var(--c-deeper); background:#eaf8f8; }
.sp-chapters a[aria-current="location"]::after, .ws-chapters a[aria-current="location"]::after { transform:scaleX(1); }
.sp-next a i { display:inline-block; transition:transform .22s var(--sp-motion-ease); }
.sp-next a:hover i, .sp-next a:focus-visible i { transform:translate(3px,-3px); }
.sp-faq summary::after { transition:transform .2s var(--sp-motion-ease); }
.sp-motion-replay { display:inline-flex; align-items:center; gap:8px; margin-top:14px; padding:8px 0; border:0; border-bottom:1px solid currentColor; border-radius:0; color:#0f5f66; background:transparent; font:inherit; font-size:13px; cursor:pointer; }
.sp-motion-replay svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; }
.sp-motion-replay:focus-visible { outline:3px solid var(--c-orange); outline-offset:5px; }
.sp-motion-replay[hidden] { display:none; }
@media (prefers-reduced-motion:reduce) {
  .sp-chapters a::after, .ws-chapters a::after, .sp-next a i, .sp-faq summary::after { transition:none; }
  .sp-next a:hover i, .sp-next a:focus-visible i { transform:none; }
}

/* Respect data-saving and hidden tabs in CSS as well as in the scheduler. */
html[data-motion="off"] .sp-page main *, html[data-motion="off"] .sp-page main *::before, html[data-motion="off"] .sp-page main *::after {animation:none !important;transition:none !important;scroll-behavior:auto !important;}
.sp-study-return{display:flex;align-items:center;gap:12px;grid-column:1/-1;color:#0f5f66;font-size:13px;transform-origin:right;}
.sp-study-return::before{content:'↶';font-size:24px;}
.sp-study-return::after{content:'';height:1px;flex:1;background:#8cb8b9;}
.ws-career .sp-motion-replay{color:#0f5f66;}
