/* Shared free-course CTA for the Bodily Truth image hero. */
#sec-002 .homepage-hero-course-cta {
    width: min(42rem, calc(100% - 2rem));
    margin-inline: auto;
}

#sec-002 .homepage-hero-course-intro {
    margin: 0 auto 1.15rem;
    color: rgba(252, 251, 249, 0.96);
    font-family: "Playfair Display", serif;
    font-size: clamp(1.06rem, 1.55vw, 1.3rem);
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.015em;
    text-shadow: 0 2px 6px rgba(0, 0, 0, 0.24);
}

#sec-002 .homepage-hero-course-button {
    margin: 0;
    transition: transform 160ms ease, background-color 160ms ease, box-shadow 160ms ease;
}

#sec-002 .homepage-hero-course-button:hover {
    transform: translateY(-2px);
    box-shadow: rgba(0, 0, 0, 0.13) 8px 10px 12px 0 !important;
}

#sec-002 .homepage-hero-course-meta {
    margin: 0.9rem 0 0;
    color: rgba(252, 251, 249, 0.92);
    font-family: "Source Sans Pro", sans-serif;
    font-size: clamp(0.82rem, 1vw, 0.95rem);
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.085em;
    text-shadow: 0 1px 4px rgba(0, 0, 0, 0.32);
}

#sec-002 .homepage-hero-course-meta span {
    display: inline-block;
    margin-inline: 0.38rem;
    color: rgba(233, 220, 207, 0.96);
}

@media all and (min-width: 768px) and (max-width: 1180px) {
    #sec-002 .homepage-hero-principle,
    #sec-002 .homepage-hero-subprinciple {
        transform: translateY(-50px);
    }
}

@media all and (max-width: 767px) {
    #sec-002 .homepage-hero-course-cta {
        width: min(100%, 33rem);
    }

    #sec-002 .homepage-hero-course-intro {
        font-size: 1rem;
        line-height: 1.45;
    }

    #sec-002 .homepage-hero-course-button {
        padding-inline: 1.6rem;
        font-size: 1rem;
    }

    #sec-002 .homepage-hero-course-meta {
        font-size: 0.78rem;
        letter-spacing: 0.055em;
    }
}

@media (prefers-reduced-motion: reduce) {
    #sec-002 .homepage-hero-course-button {
        transition: none;
    }

    #sec-002 .homepage-hero-course-button:hover {
        transform: none;
    }
}
