
.hero-pattern {
    background:
        radial-gradient(circle at 15% 20%, rgba(102, 135, 102, 0.12), transparent 35%),
        radial-gradient(circle at 85% 70%, rgba(102, 135, 102, 0.10), transparent 35%);
}
.hero-gradient {
    background:
        radial-gradient(
            circle at 20% 20%,
            rgba(255,255,255,.95),
            transparent 35%
        ),
        linear-gradient(
            135deg,
            #eef7f0 0%,
            #f7faf8 48%,
            #f1f5f2 100%
        );
}
.soft-shadow {
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.08);
}

.story-line {
    position: relative;
}

.story-line::before {
    content: "";
    position: absolute;
    left: 15px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #d1dfd1;
}

@media (max-width: 767px) {
    .story-line::before {
        left: 11px;
    }
}
    
body {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
                 Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans",
                 "Helvetica Neue", sans-serif;
    background-color: #FAF6F0;
}

.text-dark {
    color: #1C1F1E;
}

.bg-eucalyptus {
    background-color: #2D5A43;
}

.text-eucalyptus {
    color: #2D5A43;
}

.border-eucalyptus {
    border-color: #2D5A43;
}

html {
    scroll-behavior: smooth;
}

.text-balance {
    text-wrap: balance;
}

.section-padding {
    padding-top: 5rem;
    padding-bottom: 5rem;
}

@media (min-width: 768px) {
    .section-padding {
        padding-top: 7rem;
        padding-bottom: 7rem;
    }
}

.experience-card {
    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;
}

.experience-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 20px 50px rgba(15, 23, 42, .09);
}

.faq-answer {
    display: none;
}

.faq-item.active .faq-answer {
    display: block;
}

.faq-item.active .faq-icon {
    transform: rotate(45deg);
}

.faq-icon {
    transition: transform .2s ease;
}

.floating-cta {
    box-shadow:
        0 10px 30px rgba(39, 74, 52, .25);
}

/*****************************
Active navigation item - START*
******************************/
.nav-link.active {
    color: #2D5A43;
    font-weight: 700;
}

/* Optional subtle underline */
.nav-link.active::after {
    content: "";
    display: block;
    height: 2px;
    width: 100%;
    margin-top: 3px;
    background: #2D5A43;
    border-radius: 999px;
}

/* Mobile active navigation item */
.mobile-nav-link.active {
    color: #2D5A43;
    background-color: #f2f7f3;
    font-weight: 700;
}

/*****************************
Active navigation item - END *
******************************/