.reveal { opacity: 0; transform: translateY(20px); transition: opacity 0.6s ease-out, transform 0.6s ease-out; }
.reveal.visible { opacity: 1; transform: translateY(0); }

.mobile-link { opacity: 0; transform: translateY(8px); transition: opacity 0.3s ease-out, transform 0.3s ease-out; }
.mobile-menu-open .mobile-link { opacity: 1; transform: translateY(0); }
.mobile-menu-open .mobile-link:nth-child(1) { transition-delay: 0.05s; }
.mobile-menu-open .mobile-link:nth-child(2) { transition-delay: 0.10s; }
.mobile-menu-open .mobile-link:nth-child(3) { transition-delay: 0.15s; }
.mobile-menu-open .mobile-link:nth-child(4) { transition-delay: 0.20s; }
.mobile-menu-open .mobile-link:nth-child(5) { transition-delay: 0.25s; }

.hero-bg {
    position: absolute; inset: 0; z-index: 0;
    background-image: url('public/hero.png');
    background-size: cover; background-position: center;
}

.toast {
    position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%) translateY(100px);
    background: #2C302E; color: #F4F2EE; padding: 14px 28px; border-radius: 12px;
    font-size: 14px; z-index: 9999; opacity: 0;
    transition: transform 0.4s ease-out, opacity 0.4s ease-out;
    box-shadow: 0 4px 24px rgba(44,48,46,0.2);
    pointer-events: none; white-space: nowrap;
}
.toast.show { transform: translateX(-50%) translateY(0); opacity: 1; }

.card-lift { transition: transform 0.35s ease-out, box-shadow 0.35s ease-out; }
.card-lift:hover { transform: translateY(-4px); }

.form-input:focus { border-color: #C27E3E; }
