/* assets/css/custom.css */
.fade-in {
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}
.fade-in.appear {
    opacity: 1;
    transform: translateY(0);
}
.reveal-bar {
    transform-origin: left;
    transform: scaleX(0);
    animation: expandBar 1s cubic-bezier(0.85, 0, 0.15, 1) forwards;
}
@keyframes expandBar {
    to { transform: scaleX(1); }
}
.reveal-text {
    opacity: 0;
    clip-path: inset(0 100% 0 0);
    animation: wipeText 1.2s cubic-bezier(0.85, 0, 0.15, 1) 0.4s forwards;
}
@keyframes wipeText {
    to { opacity: 1; clip-path: inset(0 0 0 0); }
}
[x-cloak] { display: none !important; }