/* Hero Section */
.hero {
    height: 100vh;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding-top: 100px; /* Space for animation from top */
}

.hero-background {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -2;
}

.hero-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: brightness(0.4);
    transform: scale(1.05);
}

.hero-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(45deg, rgba(28, 45, 64, 0.8), rgba(49, 69, 43, 0.6));
    z-index: -1;
}

.hero-content {
    text-align: center;
    color: var(--text-light);
    z-index: 2;
    animation: heroFadeIn 2s ease-out;
}

.hero-title {
    font-family: 'Playwrite DE Grund', serif;
    font-size: 4rem;
    margin-bottom: 1rem;
    text-shadow: 3px 3px 6px var(--shadow-dark);
    opacity: 0;
    line-height: 1.2;
    animation: heroTitleEntrance 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.5s forwards;
}

.welcome-text {
    font-size: 0.5em;
    font-weight: 400;
    opacity: 0.8;
}

.kingdom-highlight {
    display: inline-block;
    transition: all 0.3s ease;
    font-family: 'Cinzel', serif;
    font-size: 1.3em;
    font-weight: 700;
    animation: starShine 4s ease-in-out 0s infinite;
}

/* .kingdom-highlight.kingdom-glow animation removed per user request */

.hero-subtitle {
    font-size: 1.5rem;
    margin-bottom: 2rem;
    opacity: 0.9;
}



/* Mystic Glow Effect for Hero Section */
.mystic-glow {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 5;
}

.glow-spark {
    position: absolute;
    bottom: 10%;
    width: 3px;
    height: 3px;
    background: radial-gradient(circle, #FFD700 0%, #FFFFE0 40%, transparent 70%);
    border-radius: 50%;
    animation: mysticFloat 4s infinite linear;
    box-shadow: 0 0 8px #FFD700, 0 0 16px #FFFFE0;
    opacity: 0;
}

.glow-spark.small {
    width: 2px;
    height: 2px;
    background: radial-gradient(circle, #FFF8DC 0%, #FFFACD 30%, transparent 60%);
    box-shadow: 0 0 6px #FFF8DC, 0 0 12px #FFFACD;
}

.glow-spark.medium {
    width: 4px;
    height: 4px;
    background: radial-gradient(circle, #FFFF00 0%, #FFD700 20%, #FFFFE0 50%, transparent 80%);
    box-shadow: 0 0 10px #FFFF00, 0 0 20px #FFD700;
}

/* Mystic Glow Positioning - Scattered across full width with staggered fade-in */
.glow-spark:nth-child(1) { left: 5%; animation-delay: 0.5s; animation-duration: 3.2s; }
.glow-spark:nth-child(2) { left: 12%; animation-delay: 0.8s; animation-duration: 4.0s; }
.glow-spark:nth-child(3) { left: 18%; animation-delay: 1.1s; animation-duration: 3.5s; }
.glow-spark:nth-child(4) { left: 25%; animation-delay: 0.3s; animation-duration: 2.8s; }
.glow-spark:nth-child(5) { left: 32%; animation-delay: 1.4s; animation-duration: 4.2s; }
.glow-spark:nth-child(6) { left: 38%; animation-delay: 0.6s; animation-duration: 3.6s; }
.glow-spark:nth-child(7) { left: 45%; animation-delay: 1.7s; animation-duration: 3.1s; }
.glow-spark:nth-child(8) { left: 52%; animation-delay: 0.9s; animation-duration: 3.8s; }
.glow-spark:nth-child(9) { left: 58%; animation-delay: 2.0s; animation-duration: 2.9s; }
.glow-spark:nth-child(10) { left: 65%; animation-delay: 0.2s; animation-duration: 3.7s; }
.glow-spark:nth-child(11) { left: 72%; animation-delay: 1.3s; animation-duration: 3.0s; }
.glow-spark:nth-child(12) { left: 78%; animation-delay: 0.7s; animation-duration: 4.1s; }
.glow-spark:nth-child(13) { left: 85%; animation-delay: 1.6s; animation-duration: 2.7s; }
.glow-spark:nth-child(14) { left: 92%; animation-delay: 1.0s; animation-duration: 3.9s; }
.glow-spark:nth-child(15) { left: 8%; animation-delay: 1.9s; animation-duration: 3.3s; }
.glow-spark:nth-child(16) { left: 28%; animation-delay: 0.4s; animation-duration: 3.4s; }
.glow-spark:nth-child(17) { left: 48%; animation-delay: 1.2s; animation-duration: 2.6s; }
.glow-spark:nth-child(18) { left: 68%; animation-delay: 0.1s; animation-duration: 3.8s; }
.glow-spark:nth-child(19) { left: 88%; animation-delay: 1.5s; animation-duration: 4.3s; }
.glow-spark:nth-child(20) { left: 15%; animation-delay: 1.8s; animation-duration: 3.2s; }