/* Page Hero Sections - Animated Green Glass Background */

/* Hero Section with animated background for pricing and how-it-works pages */
.hero {
    min-height: 60vh;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 180px 20px 100px 20px;
    background:
        repeating-linear-gradient(
            135deg,
            rgba(160, 255, 90, 0.12),
            rgba(160, 255, 90, 0.12) 1px,
            transparent 1px,
            transparent 8px
        ),
        linear-gradient(
            to bottom,
            rgba(120, 200, 120, 0.10),
            rgba(0, 0, 0, 0.15)
        ),
        #111612;
    position: relative;
}

/* Vignette / depth fade for lime energy */
.hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(
            circle at center,
            rgba(0, 0, 0, 0) 0%,
            rgba(0, 0, 0, 0.35) 70%,
            rgba(0, 0, 0, 0.65) 100%
        );
    pointer-events: none;
    z-index: 0;
}

/* Animated sheen for movement (very subtle) */
.hero::before {
    content: "";
    position: absolute;
    inset: -50%;
    background:
        linear-gradient(
            120deg,
            transparent 45%,
            rgba(180, 255, 120, 0.08) 50%,
            transparent 55%
        );
    animation: limeSheen 18s linear infinite;
    pointer-events: none;
    z-index: 0;
}

@keyframes limeSheen {
    from { transform: translateX(-30%) translateY(-30%); }
    to   { transform: translateX(30%) translateY(30%); }
}

/* Ensure hero content is above background effects */
.hero > * {
    position: relative;
    z-index: 1;
}

.hero-content-centered {
    position: relative;
    z-index: 1;
}

.hero-title {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 900;
    color: #036666;
    margin-bottom: 24px;
    line-height: 1.1;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
}

.hero-subtitle {
    font-size: clamp(1.1rem, 2vw, 1.5rem);
    color: #e6f4ef;
    opacity: 0.9;
    max-width: 700px;
    margin: 0 auto;
}

/* Mobile responsive */
@media (max-width: 768px) {
    .hero {
        padding: 140px 20px 80px 20px;
    }
}
