:root{--tfc-ease:cubic-bezier(.22,1,.36,1);--tfc-fast:180ms;--tfc-medium:420ms;--tfc-slow:680ms}html{scroll-behavior:smooth}body{animation:tfc-page-in var(--tfc-slow) var(--tfc-ease) both;transition:opacity var(--tfc-fast) ease,transform var(--tfc-fast) ease}body.tfc-page-leaving{opacity:0;transform:translateY(5px);pointer-events:none}a,button,input,select,textarea,.btn,.action,.chip,.quick,.open,.topbtn{transition:transform var(--tfc-fast) var(--tfc-ease),box-shadow var(--tfc-fast) ease,background-color var(--tfc-fast) ease,color var(--tfc-fast) ease,border-color var(--tfc-fast) ease,opacity var(--tfc-fast) ease}button:not(:disabled):hover,.btn:not(:disabled):hover,.action:not(:disabled):hover,.chip:hover,.quick:hover,.open:hover,.topbtn:hover{transform:translateY(-2px)}button:not(:disabled):active,.btn:not(:disabled):active,.action:not(:disabled):active,.chip:active,.quick:active,.open:active,.topbtn:active{transform:translateY(0) scale(.985)}input:focus,select:focus,textarea:focus{transition-duration:var(--tfc-fast)}.tfc-reveal{opacity:0;transform:translateY(18px);filter:blur(2px);transition:opacity var(--tfc-medium) var(--tfc-ease),transform var(--tfc-medium) var(--tfc-ease),filter var(--tfc-medium) ease;transition-delay:var(--tfc-delay,0ms)}.tfc-reveal.is-visible{opacity:1;transform:none;filter:none}.modal,.drawer,.confirm-card,.panel,.overlay,.confirm-overlay{will-change:transform,opacity}.card,.metric,.stepcard,.locked,.summary-card,.product,.tier-box,.advisor,.workspace{transition:transform var(--tfc-medium) var(--tfc-ease),box-shadow var(--tfc-medium) ease,border-color var(--tfc-medium) ease,background-color var(--tfc-medium) ease}.card:hover,.metric:hover,.stepcard:hover,.summary-card:hover,.product:hover,.tier-box:hover{transform:translateY(-3px)}.bar,.mini-progress i,.ring{transition:width var(--tfc-slow) var(--tfc-ease),background var(--tfc-medium) ease}.toast{transition:opacity var(--tfc-fast) ease,transform var(--tfc-medium) var(--tfc-ease)!important}

/* Explicit animation replay for the single-page Home / Apply views. */
#app.tfc-spa-enter>.landing .nav,#app.tfc-spa-enter>.page .lightnav{animation:tfc-spa-down 520ms var(--tfc-ease) both}
#app.tfc-spa-enter>.landing .hero>*{animation:tfc-spa-up 640ms var(--tfc-ease) both}
#app.tfc-spa-enter>.landing .hero>*:nth-child(1){animation-delay:70ms}
#app.tfc-spa-enter>.landing .hero>*:nth-child(2){animation-delay:125ms}
#app.tfc-spa-enter>.landing .hero>*:nth-child(3){animation-delay:180ms}
#app.tfc-spa-enter>.landing .hero>*:nth-child(4){animation-delay:235ms}
#app.tfc-spa-enter>.landing .hero>*:nth-child(5){animation-delay:290ms}
#app.tfc-spa-enter>.page .formwrap>*{animation:tfc-spa-up 560ms var(--tfc-ease) both}
#app.tfc-spa-enter>.page .formwrap>*:nth-child(1){animation-delay:70ms}
#app.tfc-spa-enter>.page .formwrap>*:nth-child(2){animation-delay:120ms}
#app.tfc-spa-enter>.page .formwrap>*:nth-child(3){animation-delay:170ms}
#app.tfc-spa-enter>.page .formwrap>*:nth-child(4){animation-delay:220ms}
#app.tfc-spa-enter>.page .formwrap>*:nth-child(5){animation-delay:270ms}
#app.tfc-spa-enter>.page .formwrap>*:nth-child(6){animation-delay:320ms}

@keyframes tfc-page-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes tfc-spa-up{from{opacity:0;transform:translateY(22px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes tfc-spa-down{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.tfc-reveal{opacity:1!important;transform:none!important;filter:none!important}body.tfc-page-leaving{opacity:1;transform:none}}
