:root{--motion-instant:100ms;--motion-fast:140ms;--motion-routine:220ms;--motion-arrive:420ms;--motion-ease:cubic-bezier(.16,1,.3,1);--motion-standard:cubic-bezier(.4,0,.2,1)}
@view-transition{navigation:auto}
::view-transition-old(root){animation:sp-page-out 130ms ease-in both}
::view-transition-new(root){animation:sp-page-in 260ms var(--motion-ease) both}
@keyframes sp-page-out{to{opacity:.72}}
@keyframes sp-page-in{from{opacity:.35}to{opacity:1}}

.site-scroll-progress{position:fixed;top:0;left:0;z-index:5000;width:100%;height:3px;pointer-events:none;transform:scaleX(var(--scroll-progress,0));transform-origin:left;background:var(--blue,#2463eb);box-shadow:0 1px 5px rgba(36,99,235,.2)}

button,.button,.primary-button,.secondary-button,.settings-button,.cta-primary,.cta-secondary,[role="button"]{transition:transform var(--motion-fast) ease,box-shadow var(--motion-routine) ease,background-color var(--motion-routine) ease,border-color var(--motion-routine) ease,color var(--motion-routine) ease}
button:not(:disabled):active,.button:active,.primary-button:active,.secondary-button:active,.settings-button:active,.cta-primary:active,.cta-secondary:active,[role="button"]:active{transform:translateY(1px) scale(.96);transition-duration:var(--motion-instant)}
button:disabled,[aria-disabled="true"]{transform:none!important}
button svg,.button svg,.primary-button svg,.secondary-button svg,.settings-button svg,.cta-primary svg,.cta-secondary svg,[role="button"] svg{transition:transform var(--motion-fast) var(--motion-standard)}
button:not(:disabled):active svg,.button:active svg,.primary-button:active svg,.secondary-button:active svg,[role="button"]:active svg{transform:scale(.92)}
input[type="checkbox"],input[type="radio"]{transition:transform var(--motion-fast) var(--motion-standard),box-shadow var(--motion-fast) ease}
input[type="checkbox"]:active,input[type="radio"]:active{transform:scale(.88)}

@media (hover:hover) and (pointer:fine){
  button:not(:disabled):hover,.button:hover,.primary-button:hover,.secondary-button:hover,.settings-button:hover,.cta-primary:hover,.cta-secondary:hover,[role="button"]:not([aria-disabled="true"]):hover{transform:translateY(-1px)}
  button:not(:disabled):hover svg,.button:hover svg,.primary-button:hover svg,.secondary-button:hover svg,.settings-button:hover svg,.cta-primary:hover svg,.cta-secondary:hover svg,[role="button"]:not([aria-disabled="true"]):hover svg{transform:scale(1.06)}
  .details-link:hover svg,.apply-final-button:hover svg,.helpful-link-button:hover svg{transform:translateX(3px)}
}

.scholarship-card,.category-card,.student-card,.settings-card,.creator-card,.scan-card,.message-card,.info-card{transition:transform var(--motion-routine) var(--motion-ease),box-shadow var(--motion-routine) ease,border-color var(--motion-routine) ease}
@media (hover:hover) and (pointer:fine){.scholarship-card:hover,.category-card:hover,.student-card:hover,.creator-card:hover,.scan-card:hover,.info-card:hover{transform:translateY(-2px)}}

html.motion-enabled .motion-reveal{visibility:hidden;opacity:0;clip-path:inset(0 0 10% 0)}
html.motion-enabled .motion-reveal.is-visible{visibility:visible;opacity:1;clip-path:inset(0);transition:opacity var(--motion-arrive) var(--motion-ease),clip-path var(--motion-arrive) var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
html.motion-enabled .motion-text-reveal{visibility:hidden;opacity:0;clip-path:inset(0 0 35% 0);transform:translate3d(0,8px,0)}
html.motion-enabled .motion-text-reveal.is-visible{visibility:visible;opacity:1;clip-path:inset(0);transform:none;transition:opacity 360ms var(--motion-ease),clip-path var(--motion-arrive) var(--motion-ease),transform var(--motion-arrive) var(--motion-ease);transition-delay:var(--motion-delay,0ms)}
html.motion-enabled .motion-intro{visibility:hidden;opacity:0;transform:translate3d(0,12px,0)}
html.motion-enabled .motion-intro.is-visible{visibility:visible;opacity:1;transform:none;transition:opacity var(--motion-arrive) var(--motion-ease),transform var(--motion-arrive) var(--motion-ease);transition-delay:var(--motion-delay,0ms)}

dialog[open],.modal.active,.visitor-auth-dialog[open]{animation:sp-dialog-in 220ms var(--motion-ease) both}
@keyframes sp-dialog-in{from{opacity:.2;transform:translateY(8px) scale(.99)}to{opacity:1;transform:none}}
dialog[open]::backdrop{animation:sp-backdrop-in 180ms ease-out both}
@keyframes sp-backdrop-in{from{opacity:0}to{opacity:1}}

@media (prefers-reduced-motion:reduce){
  @view-transition{navigation:none}
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0ms!important}
  .site-scroll-progress{display:none}
  html.motion-enabled .motion-reveal,html.motion-enabled .motion-text-reveal,html.motion-enabled .motion-intro{visibility:visible!important;opacity:1!important;clip-path:none!important;transform:none!important}
}
