/* Unified motion language: decorative orbit, calm entry, clear interaction. */
.site-brand__logo{animation:brand-breathe 6s ease-in-out infinite;transform-origin:center}
@keyframes brand-breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.ui-icon,.hub-icon,.portal-icon,.lesson-number{position:relative;isolation:isolate}
.ui-icon:after,.hub-icon:after,.portal-icon:after,.lesson-number:after{content:'';position:absolute;inset:-5px;border:1px dashed currentColor;opacity:.24;border-radius:50%;pointer-events:none;animation:decorative-orbit 22s linear infinite}
@keyframes decorative-orbit{to{transform:rotate(360deg)}}
.motion-card{transition:border-color .25s,box-shadow .25s,transform .25s;transform-origin:center}
.motion-card.motion-enter{animation:platform-enter .55s cubic-bezier(.22,1,.36,1) both}
@keyframes platform-enter{from{opacity:.4;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(hover:hover){.motion-card:hover{border-color:#b6a0c6;box-shadow:0 10px 26px #4324550c}.motion-card:is(a,button):hover{transform:translateY(-3px)}}
.motion-selected{animation:selection-settle .3s ease-out}
@keyframes selection-settle{from{box-shadow:0 0 0 4px #c6b0d755}to{box-shadow:0 0 0 0 transparent}}
.page-orbit{position:relative;display:grid;place-items:center;width:72px;height:72px;flex:0 0 72px;margin:8px 8px 16px;color:#a58db7;pointer-events:none}
.page-orbit:before,.page-orbit:after{content:'';position:absolute;inset:4px;border:1px solid #c3add2;border-radius:50%;animation:decorative-orbit 24s linear infinite}
.page-orbit:after{inset:-3px;border-style:dashed;transform:scaleX(.88);animation-direction:reverse;opacity:.7}
.page-orbit img{width:25px;height:42px;object-fit:contain;animation:brand-breathe 6s ease-in-out infinite}
.page-orbit i{position:absolute;width:7px;height:7px;border-radius:50%;background:#c6a96c;top:0;left:50%;transform-origin:0 36px;animation:decorative-orbit 20s linear infinite}
.motion-heading-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 0;color:#685576;font-size:13px}
.motion-heading-row .page-orbit{margin:8px;flex-shrink:0}.motion-heading-row p{font-size:13px;letter-spacing:.08em;color:#685576;margin:0}
@media(max-width:700px){.page-orbit{width:60px;height:60px;flex-basis:60px}.page-orbit img{width:22px;height:36px}.page-orbit i{transform-origin:0 30px}.motion-heading-row{gap:10px;margin:4px 0}.motion-heading-row p{font-size:12px}.motion-card.motion-enter{animation-duration:.4s}}
@media(prefers-reduced-motion:reduce){.site-brand__logo,.page-orbit *,.page-orbit:before,.page-orbit:after,.ui-icon:after,.hub-icon:after,.portal-icon:after,.lesson-number:after,.motion-card,.motion-selected{animation:none!important;transition:none!important;transform:none!important}}
.motion-paused .site-brand__logo,.motion-paused .page-orbit *,.motion-paused .page-orbit:before,.motion-paused .page-orbit:after,.motion-paused .ui-icon:after,.motion-paused .hub-icon:after,.motion-paused .portal-icon:after,.motion-paused .lesson-number:after,.motion-paused .motion-card,.motion-paused .motion-selected{animation:none!important;transition:none!important;transform:none!important}
@media print{.motion-heading-row{display:none}.motion-card{animation:none!important;transform:none!important;box-shadow:none}.ui-icon:after,.hub-icon:after,.portal-icon:after,.lesson-number:after{display:none}}
