/* Component: Hero */
.fg-hero--fullscreen {
    height: 100svh;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: relative;
    overflow: hidden;
}
.fg-hero-content { position: relative; z-index: 2; text-align: center; }
.fg-hero-title {
    font-size: clamp(3rem, 8vw, 6rem);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: -0.02em;
    line-height: 0.95;
    opacity: 0;
}
.fg-hero-subtitle {
    font-size: clamp(1.4rem, 3vw, 2.2rem);
    margin-top: 2rem;
    opacity: 0;
}
.fg-hero-cta { margin-top: 3rem; opacity: 0; }
.fg-hero-scroll {
    position: absolute;
    bottom: 3rem; left: 50%;
    transform: translateX(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
    opacity: 0;
}
.fg-hero-scroll span {
    font-size: 0.7rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    opacity: 0.6;
}
.fg-hero-scroll-line {
    width: 1px; height: 40px;
    background: currentColor;
    opacity: 0.4;
    animation: fgScrollPulse 2s ease-in-out infinite;
}
@keyframes fgScrollPulse {
    0%, 100% { transform: scaleY(1); opacity: 0.4; }
    50% { transform: scaleY(0.5); opacity: 0.15; }
}
