

.highlight-text {
    font-style: italic;
    color: var(--color-gold);
}

.hero-content p {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 2rem;
    max-width: 80%;
}

.btn-primary {
    background-color: var(--color-green);
    color: #fff;
    padding: 1rem 2rem;
    border-radius: 50px;
    transition: background 0.3s ease;
    display: inline-block;
}

.btn-primary:hover {
    background-color: var(--color-gold);
}

.btn-link {
    margin-left: 1.5rem;
    text-decoration: underline;
    color: var(--color-green);
    border: green 1px solid;
    padding: 1rem 2rem;
    border-radius: 50px;
    transition: background 0.3s ease;
    display: inline-block;
    text-decoration: none;
}

.btn-link:hover {
    background-color: var(--color-gold);
    color: white;
}

.hero-visual {
    flex: 1;
    position: relative;
    height: 100vh;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.mandala-wrapper {
    position: absolute;
    top: 50%;
    right: -10%;
    transform: translateY(-50%);
    width: 700px;
    height: 700px;
    z-index: 1;
    opacity: 0.15;
    transition: transform 0.1s linear;
}

.mandala-svg {
    width: 100%;
    height: 100%;
    background-image: url('/assets/img/mandala.webp');
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: rotateMandala 330s linear infinite;
}

.professional-photo {
    position: relative;
    z-index: 5;
    width: 100%;
    max-width: 500px;
    margin-bottom: -30px;
}

.professional-photo img {
    display: block;
    filter: drop-shadow(10px 10px 20px rgba(42, 92, 85, 0.2));
}

@keyframes rotateMandala {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 992px) {
    .hero-section {
        padding-top: 100px;
        min-height: auto;
        overflow: hidden;
    }

    .hero-container {
        padding-top: 100px;
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 20px;
        height: auto;
        /* Reset rigid height */
        min-height: auto;
        /* Allow content to dictate size */
        padding-bottom: 0;
        contain: none;
        /* Mobile content dictates size */
    }

    .hero-content {
        order: 1;
        padding: 0 20px;
    }

    .hero-content h1 {
        font-size: 2.2rem;
    }

    .hero-cta {
        display: flex;
        flex-direction: column;
        gap: 15px;
        align-items: center;
        width: 100%;
        max-width: 300px;
        /* Prevent full width stretching if not needed */
        margin: 0 auto;
    }

    .btn-link {
        margin-left: 0;
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
        /* Ensure padding doesn't overflow width */
    }

    .btn-primary {
        display: block;
        width: 100%;
        text-align: center;
        box-sizing: border-box;
    }

    .hero-visual {
        order: 2;
        position: relative;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: flex-end;
        /* Anchor to bottom */
        height: auto;
        min-height: 350px;
        /* Ensure enough space */
        margin-top: 40px;
    }

    .professional-photo {
        width: auto;
        height: auto;
        max-height: 400px;
        z-index: 2;
        position: relative;
        aspect-ratio: 4/5;
        margin-bottom: -30px;
        /* Slight overlap with next section */
    }

    .mandala-wrapper {
        position: absolute;
        width: 280px;
        height: 280px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0.15;
        z-index: 1;
    }
}