/* TEFWEBS page transitions: two panels sweep up over the page, then away on the next page. */
html::before,html::after{content:"";position:fixed;inset:0;z-index:99998;pointer-events:none;transform:translateY(100%);will-change:transform}
html::before{background:linear-gradient(180deg,#FF7A59,#ff9a7d)}
html::after{z-index:99999;display:grid;place-items:center;background:radial-gradient(60rem 30rem at 50% 0%,rgba(124,58,237,.45),transparent 70%),#05020d;font:800 clamp(1.6rem,5vw,3rem)/1 Inter,-apple-system,Segoe UI,sans-serif;letter-spacing:.06em;color:#FAFAFA;content:"TEFWEBS"}
/* arriving: panels start covering the screen, then lift away */
html.pt-cover::before,html.pt-cover::after{transform:translateY(0);animation:ptOut .75s cubic-bezier(.76,0,.24,1) forwards}
html.pt-cover::after{animation-delay:.12s;animation-name:ptOut,ptLogo;animation-duration:.75s,.5s;animation-fill-mode:forwards,forwards}
html.pt-cover::before{animation-delay:.24s}
@keyframes ptOut{to{transform:translateY(-101%)}}
@keyframes ptLogo{to{opacity:0}}
/* leaving: JS adds .pt-leave to <html>, panels rise from the bottom */
html.pt-leave::before,html.pt-leave::after{animation:ptIn .6s cubic-bezier(.76,0,.24,1) forwards}
html.pt-leave::after{animation-delay:.08s}
@keyframes ptIn{from{transform:translateY(100%)}to{transform:translateY(0)}}
html.pt-leave body{pointer-events:none}
@media (prefers-reduced-motion:reduce){html::before,html::after{display:none!important}}
