.gold-gradient-text {
    background: linear-gradient(90deg, #d4af35 0%, #f8e4a1 40%, #ffe066 60%, #d4af35 100%);
    background-size: 200% auto;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    animation: shimmer 3s linear infinite;
}

@keyframes shimmer {
    0%   { background-position: 0% center; }
    100% { background-position: 200% center; }
}

@keyframes glow-pulse {
    0%, 100% { text-shadow: 0 0 6px rgba(212,175,53,0.2), 0 0 14px rgba(212,175,53,0.1); }
    50%       { text-shadow: 0 0 12px rgba(212,175,53,0.4), 0 0 28px rgba(212,175,53,0.2); }
}

@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-12px); }
}

@keyframes fadeInScale {
    from { opacity: 0; transform: scale(0.7); }
    to   { opacity: 1; transform: scale(1); }
}

.logo-header {
    animation: glow-pulse 3s ease-in-out infinite;
    filter: drop-shadow(0 0 4px rgba(212,175,53,0.25));
}

.logo-hero {
    animation: float 4s ease-in-out infinite, glow-pulse 3s ease-in-out infinite, fadeInScale 0.8s ease-out both;
    display: inline-block;
    filter: drop-shadow(0 0 8px rgba(212,175,53,0.3));
}

@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(28px); }
    to   { opacity: 1; transform: translateY(0); }
}

.fade-in-up { animation: fadeInUp 0.7s ease-out both; }
.fade-in-up.d1 { animation-delay: 0.1s; }
.fade-in-up.d2 { animation-delay: 0.25s; }
.fade-in-up.d3 { animation-delay: 0.4s; }

body {
    min-height: max(884px, 100dvh);
}
