/* 13th Year site motion (like the interactive guides). Everything is visible without JavaScript;
   html.mo is set by a tiny inline script, and reduced-motion visitors get no motion. */
.mo-progress{position:fixed;left:0;top:0;height:4px;width:100%;background:linear-gradient(90deg,#AF8F61,#D9B67E);transform:scaleX(0);transform-origin:0 50%;z-index:1000;pointer-events:none}
.mo .mo-r{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.7,.2,1)}
.mo .mo-r.mo-in{opacity:1;transform:none}
.mo .mo-wipe img{clip-path:inset(0 0 100% 0 round 16px);transition:clip-path 1.1s cubic-bezier(.6,.1,.2,1)}
.mo .mo-wipe.mo-in img{clip-path:inset(0 0 0 0 round 16px)}
@keyframes moUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
.mo :is(.hero,.edu-hero,.page-hero,.article-hero) :is(.eyebrow,h1,.lead,.hero-actions,.highlights,.hero-tag,.updated){animation:moUp .8s cubic-bezier(.2,.7,.2,1) both}
.mo :is(.hero,.edu-hero,.page-hero,.article-hero) h1{animation-delay:.08s}
.mo :is(.hero,.edu-hero,.page-hero,.article-hero) .lead{animation-delay:.18s}
.mo :is(.hero,.edu-hero,.page-hero,.article-hero) :is(.highlights,.hero-actions,.hero-tag,.updated){animation-delay:.3s}
/* cards lift and glow on hover */
:is(.card,.sol-card,.highlight,.insight-card,.team-card,.state-box,.sv-stats li){transition:transform .25s ease,box-shadow .25s ease}
:is(.card,.sol-card,.insight-card,.team-card,.state-box):hover{transform:translateY(-6px);box-shadow:0 22px 40px -22px rgba(20,42,64,.45)}
.highlight:hover,.sv-stats li:hover{transform:translateY(-4px)}
/* how it works: the line fills gold and each step lights up as you scroll */
.timeline::after{content:"";position:absolute;left:24px;right:24px;top:24px;border-top:2px solid #AF8F61;transform:scaleX(var(--tl,0));transform-origin:0 50%;transition:transform .35s ease}
.timeline li::before{transition:background .35s ease,transform .35s ease}
.timeline li.mo-on::before{background:#AF8F61;transform:scale(1.08)}
@media(max-width:980px){.timeline::after{display:none}}
.mo-scene{display:flex;justify-content:center;margin:6px 0 34px}
.mo-scene .scene{width:100%;max-width:300px;height:auto}
@media(max-width:600px){.mo-scene .scene{max-width:220px}}
@media (prefers-reduced-motion: reduce){.mo-progress{display:none}.timeline::after{display:none}}
