/* ==========================================================================
   Hero Section Component
   ========================================================================== */

.hero {
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: var(--color-deep-ocean);
}

.hero--medium {
    min-height: 70vh;
}

.hero--small {
    min-height: 50vh;
}

/* Background Image */
.hero__background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
}

/* Background Overlay */
.hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        135deg,
        rgba(var(--color-deep-ocean-rgb), 0.85) 0%,
        rgba(var(--color-deep-ocean-rgb), 0.6) 50%,
        rgba(var(--color-deep-ocean-rgb), 0.75) 100%
    );
}

.hero__overlay--darker {
    background: linear-gradient(
        135deg,
        rgba(var(--color-deep-ocean-rgb), 0.92) 0%,
        rgba(var(--color-deep-ocean-rgb), 0.75) 50%,
        rgba(var(--color-deep-ocean-rgb), 0.88) 100%
    );
}

/* Decorative Elements */
.hero__decoration {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0.1;
}

.hero__decoration::before {
    content: '';
    position: absolute;
    top: 20%;
    left: -10%;
    width: 400px;
    height: 400px;
    border: 1px solid var(--color-aged-gold);
    border-radius: 50%;
}

.hero__decoration::after {
    content: '';
    position: absolute;
    bottom: 10%;
    right: -5%;
    width: 300px;
    height: 300px;
    border: 1px solid var(--color-aged-gold);
    border-radius: 50%;
}

/* Content */
.hero__content {
    position: relative;
    z-index: 1;
    text-align: center;
    padding: var(--space-8);
    max-width: 900px;
}

.hero__subtitle {
    font-family: var(--font-primary);
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--color-aged-gold);
    text-transform: uppercase;
    letter-spacing: var(--tracking-widest);
    margin-bottom: var(--space-4);
}

.hero__title {
    font-family: var(--font-script);
    font-size: var(--text-5xl);
    font-weight: var(--font-normal);
    color: var(--color-mist-white);
    line-height: var(--leading-tight);
    margin-bottom: var(--space-6);
}

.hero__tagline {
    font-family: var(--font-display);
    font-size: var(--text-2xl);
    font-weight: var(--font-normal);
    color: var(--color-mist-white);
    opacity: 0.9;
    margin-bottom: var(--space-8);
    font-style: italic;
}

.hero__description {
    font-family: var(--font-primary);
    font-size: var(--text-lg);
    color: var(--color-mist-white);
    opacity: 0.8;
    line-height: var(--leading-relaxed);
    max-width: 600px;
    margin: 0 auto var(--space-8);
}

.hero__cta {
    display: flex;
    gap: var(--space-4);
    justify-content: center;
    flex-wrap: wrap;
}

/* Scroll Indicator */
.hero__scroll {
    position: absolute;
    bottom: var(--space-8);
    left: 50%;
    transform: translateX(-50%);
    text-align: center;
    color: var(--color-mist-white);
    opacity: 0.6;
    transition: opacity var(--transition-base);
    cursor: pointer;
}

.hero__scroll:hover {
    opacity: 1;
}

.hero__scroll-text {
    font-family: var(--font-primary);
    font-size: var(--text-xs);
    text-transform: uppercase;
    letter-spacing: var(--tracking-wider);
    display: block;
    margin-bottom: var(--space-2);
}

.hero__scroll-icon {
    font-size: 1.5rem;
    animation: scrollBounce 2s infinite;
}

@keyframes scrollBounce {
    0%, 20%, 50%, 80%, 100% {
        transform: translateY(0);
    }
    40% {
        transform: translateY(8px);
    }
    60% {
        transform: translateY(4px);
    }
}

/* Responsive */
@media (max-width: 768px) {
    .hero {
        min-height: 90vh;
    }

    .hero__content {
        padding: var(--space-6);
    }

    .hero__decoration::before,
    .hero__decoration::after {
        display: none;
    }
}
