/* --- Animated Gradient Background --- */
.section-bg-animated {
    /* Mimics: from-sage-100 via-white to-sky-100 */
    background: linear-gradient(-45deg, #eef2ec, #ffffff, #e0f2fe, #f4f7f5);
    background-size: 400% 400%;
    animation: gradientPan 15s ease infinite;
}
.give-section {
    background: linear-gradient(135deg, #fff1f2 0%, #ffffff 50%, #f0f9ff 100%);
    padding-top: 6rem;
    padding-bottom: 6rem;
}
.top-icon {
    color: #5c8272;
    font-size: 3.75rem;
    line-height: 1;
}
@keyframes gradientPan {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

/* --- Typography Colors --- */
h2.main-heading {
    color: #2d3f37;
    font-weight: 700;
    letter-spacing: -0.5px;
    font-family: var(--font-02);
    font-size: 3.75rem;
}

p.sub-heading {
    color: #3d574d;
    font-size: 1.5rem;
    font-family: var(--font-01);
}

p.quote-text {
    color: #3d574d;
    font-family: var(--font-02);
    font-weight: 500;
    font-size: 1.125rem;
}

/* --- Video Placeholder Card --- */
.video-card-wrapper {
    border-radius: 1.5rem; /* rounded-3xl approx */
    overflow: hidden;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.15); /* shadow-2xl */
    background-color: #ffffff;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    cursor: pointer;
}

.video-card-wrapper:hover {
    transform: translateY(-5px);
    box-shadow: 0 30px 60px -12px rgba(0, 0, 0, 0.2);
}

.video-placeholder-bg {
    /* Mimics: from-sage-200 to-sky-200 */
    background: linear-gradient(135deg, #d2e3d8 0%, #bae6fd 100%);
    /* Forces 16:9 Aspect Ratio */
    aspect-ratio: 16 / 9;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* --- Play Button Animation --- */
.play-btn-circle {
    width: 80px;
    height: 80px;
    border-radius: 50%;
    background-color: rgba(92, 130, 114, 0.2);
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
    transition: all 0.3s ease;
    position: relative;
}

.play-btn-circle i {
    color: #5c8272;
    font-size: 2.5rem;
    line-height: 1;
}

/* Pulse Ring Effect */
.play-btn-circle::after {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    border-radius: 50%;
    border: 2px solid #5c8272;
    animation: pulseRing 2s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}

@keyframes pulseRing {
    0% { transform: scale(1); opacity: 0.8; }
    100% { transform: scale(1.6); opacity: 0; }
}

/* Hover Scale */
.video-card-wrapper:hover .play-btn-circle {
    transform: scale(1.1);
    background-color: rgba(92, 130, 114, 0.3);
}

.video-card-wrapper:hover .play-btn-circle::after {
    display: none; /* Hide pulse on hover for cleaner look */
}

/* --- Custom Modal Styling --- */
.modal-content {
    background-color: transparent;
    border: none;
}

.modal-header {
    border-bottom: none;
    padding-bottom: 0;
}

.btn-close-white {
    filter: invert(1) grayscale(100%) brightness(200%);
    opacity: 0.8;
}
@media(max-width: 767.98px){
	h2.main-heading{
		font-size: 2.75rem;
	}
}