/* ==========================================
   LANDING PAGE ENHANCEMENTS (REMOVABLE)
   To revert: remove the <link> to this file
   in Index.cshtml @section Styles
   ========================================== */

/* ===== DECORATIVE DOT PATTERN ON PAGE BG ===== */
.bp-page {
    background-image: radial-gradient(circle, rgba(23,114,69,0.04) 1px, transparent 1px);
    background-size: 24px 24px;
}

/* ===== HERO CARD — gradient border + floating shapes ===== */
.bp-card--hero {
    position: relative;
    overflow: hidden;
    border: none;
    background: linear-gradient(white, white) padding-box,
                linear-gradient(135deg, #177245 0%, #e8f5ee 50%, #ffc857 100%) border-box;
    border: 2px solid transparent;
}

.bp-card--hero::before {
    content: "";
    position: absolute;
    top: -60px;
    right: -60px;
    width: 250px;
    height: 250px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(23,114,69,0.07) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    animation: floatOrb 6s ease-in-out infinite alternate;
}

.bp-card--hero::after {
    content: "";
    position: absolute;
    bottom: -50px;
    left: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(255,200,87,0.1) 0%, transparent 70%);
    pointer-events: none;
    z-index: 0;
    animation: floatOrb 8s ease-in-out infinite alternate-reverse;
}

.bp-card--hero > * { position: relative; z-index: 1; }

@keyframes floatOrb {
    0% { transform: translate(0, 0); }
    100% { transform: translate(15px, -15px); }
}

/* ===== STATS STRIP — animated shimmer ===== */
.bp-stats-strip {
    position: relative;
    overflow: hidden;
}

.bp-stats-strip::after {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 50%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,0.1), transparent);
    animation: statsShimmer 3.5s ease-in-out infinite;
    pointer-events: none;
}

@keyframes statsShimmer {
    0% { left: -50%; }
    100% { left: 150%; }
}

/* Stat numbers — count-up glow */
.bp-stat__num {
    text-shadow: 0 0 20px rgba(255,255,255,0.2);
}

/* ===== STEP CARDS — gradient badge + connecting dashed line ===== */
.bp-step__num {
    background: linear-gradient(135deg, #177245, #1a9e5e) !important;
    color: #fff !important;
    box-shadow: 0 2px 8px rgba(23,114,69,0.3);
}

.bp-steps { position: relative; }

@media (min-width: 769px) {
    .bp-steps::before {
        content: "";
        position: absolute;
        top: 28px;
        left: 12.5%;
        right: 12.5%;
        height: 2px;
        background: repeating-linear-gradient(90deg, #cbe6d7 0px, #cbe6d7 6px, transparent 6px, transparent 12px);
        z-index: 0;
        pointer-events: none;
    }
    .bp-step { z-index: 1; }
}

/* Step card hover — icon pulses */
.bp-step:hover .bp-step__icon {
    animation: iconBounce 0.5s ease;
}

@keyframes iconBounce {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.2); }
}

/* ===== SERVICE CARDS — top accent line slide-in + icon flip ===== */
.bp-svc {
    position: relative;
    overflow: hidden;
}

.bp-svc::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, #177245, #ffc857);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.bp-svc:hover::before {
    transform: scaleX(1);
}

.bp-svc__icon {
    transition: all 0.3s ease !important;
}

.bp-svc:hover .bp-svc__icon {
    background: #177245;
    color: #fff;
    box-shadow: 0 4px 16px rgba(23,114,69,0.25);
    transform: rotateY(180deg);
}

/* ==========================================
   WHY CARDS — FIXED: no shrink, top line hidden on hover,
   image lifts, card gets green glow
   ========================================== */
.bp-why-grid {
    overflow-x: auto !important;
    overflow-y: visible !important;
    padding-top: 12px;
    padding-bottom: 12px;
    margin: 0 -8px;
    padding-left: 8px;
    padding-right: 8px;
}

.bp-why {
    position: relative;
    overflow: hidden;
    border-top: 3px solid var(--bp-green);
    transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1),
                box-shadow 0.35s ease,
                border-color 0.35s ease !important;
}

/* On hover: top border stays green, card lifts slightly, glow appears */
.bp-why:hover {
    transform: translateY(-4px) !important;
    box-shadow: 0 8px 24px rgba(23,114,69,0.12), 0 0 0 2px rgba(23,114,69,0.15) !important;
    background: linear-gradient(180deg, #e8f5ee 0%, #fff 40%) !important;
    border-top-color: var(--bp-green) !important;
}

/* Image lift reduced */
.bp-why:hover img {
    transform: translateY(-3px) scale(1.05);
}

/* Image lift + slight scale on hover */
.bp-why img {
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), filter 0.3s ease;
}

.bp-why:hover img {
    transform: translateY(-6px) scale(1.08);
    filter: drop-shadow(0 8px 12px rgba(23,114,69,0.15));
}

/* Title turns green on hover */
.bp-why:hover h4 {
    color: #177245;
    transition: color 0.3s ease;
}

/* Decorative checkmark watermark */
.bp-why::after {
    content: "\2713";
    position: absolute;
    bottom: 6px;
    right: 8px;
    font-size: 3rem;
    color: rgba(23,114,69,0.04);
    font-weight: 900;
    pointer-events: none;
    transition: color 0.3s ease;
}

.bp-why:hover::after {
    color: rgba(23,114,69,0.1);
}

/* ===== TESTIMONIAL — large quote watermark + author highlight ===== */
.bp-testi {
    position: relative;
    overflow: hidden;
    border-left: 4px solid transparent;
    transition: border-color 0.3s ease, transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.35s ease !important;
}

.bp-testi:hover {
    border-left-color: #177245;
}

.bp-testi::before {
    content: "\201C";
    position: absolute;
    top: 4px;
    right: 14px;
    font-size: 5.5rem;
    color: rgba(23,114,69,0.04);
    font-family: Georgia, serif;
    line-height: 1;
    pointer-events: none;
    transition: color 0.3s ease;
}

.bp-testi:hover::before {
    color: rgba(23,114,69,0.08);
}

.bp-testi:hover .bp-testi__author img {
    border-color: #177245;
    box-shadow: 0 0 0 3px rgba(23,114,69,0.15);
    transition: all 0.3s ease;
}

/* ===== FAQ — bouncy icon + number pulse ===== */
.bp-faq__q i {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1) !important;
}

.bp-faq.is-open .bp-faq__q::before {
    animation: faqPulse 0.4s ease;
}

@keyframes faqPulse {
    0% { transform: scale(1); }
    50% { transform: scale(1.2); }
    100% { transform: scale(1); }
}

/* FAQ hover — subtle bg shift */
.bp-faq:hover {
    background: #fff;
}

/* ===== PROMO CARD — floating circles + subtle glow ===== */
.bp-card--promo {
    position: relative;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(23,114,69,0.2) !important;
    background: linear-gradient(135deg, #1a8a52 0%, #177245 40%, #0f5a36 100%) !important;
}

.bp-card--promo .bp-promo { position: relative; z-index: 2; }
.bp-card--promo .bp-promo__text h3 { color: #fff !important; text-shadow: 0 2px 4px rgba(0,0,0,0.2); font-size: 1.15rem !important; }
.bp-card--promo .bp-promo__text p { color: #fff !important; text-shadow: 0 1px 2px rgba(0,0,0,0.15); }
.bp-card--promo .bp-btn--white { box-shadow: 0 4px 12px rgba(0,0,0,0.15); font-weight: 800 !important; }

.bp-card--promo::before {
    content: "₹  $  €";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    font-size: 3.5rem;
    font-weight: 900;
    color: rgba(255,255,255,0.06);
    letter-spacing: 20px;
    pointer-events: none;
    z-index: 1;
}

.bp-card--promo::after {
    content: "";
    position: absolute;
    top: -40px;
    left: -40px;
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background: rgba(255,255,255,0.05);
    pointer-events: none;
    z-index: 0;
}

/* ===== CONTACT CARD — decorative corner + form hover ===== */
.bp-card:last-child {
    position: relative;
    overflow: hidden;
}

.bp-card:last-child::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 160px;
    height: 160px;
    background: radial-gradient(circle at top right, rgba(23,114,69,0.04) 0%, transparent 70%);
    pointer-events: none;
}

/* Contact form inputs — green underline animation on focus */
.bp-contact__form input:focus,
.bp-contact__form textarea:focus,
.bp-contact__form select:focus {
    border-color: #177245 !important;
    box-shadow: 0 0 0 3px rgba(23,114,69,0.08), 0 4px 12px rgba(23,114,69,0.06) !important;
}

/* ==========================================
   CARD BACKGROUNDS — SVG scattered finance symbols
   Every card gets unique tint + variety of symbols
   ========================================== */

.bp-card {
    transition: box-shadow 0.35s ease, transform 0.35s ease;
    position: relative;
    overflow: hidden;
}

.bp-card:hover {
    box-shadow: 0 8px 32px rgba(15,23,42,0.07), 0 0 0 1px rgba(23,114,69,0.05);
}

/* HERO — ₹ $ € £ ¥ % § scattered across card */
.bp-card--hero {
    background-color: #f7fcf9 !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='500'%3E%3Ctext x='40' y='70' font-size='48' fill='%23177245' opacity='.06' font-weight='800' transform='rotate(-15 40 70)'%3E₹%3C/text%3E%3Ctext x='220' y='130' font-size='32' fill='%23177245' opacity='.05' font-weight='800' transform='rotate(12 220 130)'%3E$%3C/text%3E%3Ctext x='420' y='60' font-size='40' fill='%23d4a017' opacity='.06' font-weight='800' transform='rotate(-8 420 60)'%3E€%3C/text%3E%3Ctext x='600' y='150' font-size='36' fill='%23177245' opacity='.04' font-weight='800' transform='rotate(18 600 150)'%3E£%3C/text%3E%3Ctext x='100' y='250' font-size='28' fill='%23d4a017' opacity='.05' font-weight='800' transform='rotate(22 100 250)'%3E%%25%3C/text%3E%3Ctext x='340' y='320' font-size='52' fill='%23177245' opacity='.035' font-weight='800' transform='rotate(-6 340 320)'%3E₹%3C/text%3E%3Ctext x='550' y='350' font-size='30' fill='%23177245' opacity='.05' font-weight='800' transform='rotate(14 550 350)'%3E¥%3C/text%3E%3Ctext x='160' y='420' font-size='34' fill='%23d4a017' opacity='.04' font-weight='800' transform='rotate(-10 160 420)'%3E$%3C/text%3E%3Ctext x='650' y='280' font-size='26' fill='%23177245' opacity='.05' font-weight='800' transform='rotate(8 650 280)'%3E§%3C/text%3E%3Ctext x='480' y='450' font-size='38' fill='%23177245' opacity='.04' font-weight='800' transform='rotate(-12 480 450)'%3E€%3C/text%3E%3C/svg%3E") !important;
    background-size: 100% 100% !important;
    background-repeat: no-repeat !important;
}

/* HOW IT WORKS — ⚙ → ✓ ★ arrows gears */
.bp-card:nth-child(3) {
    background-color: #f5f9ff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='350'%3E%3Ctext x='25' y='55' font-size='38' fill='%232563eb' opacity='.05' transform='rotate(-12 25 55)'%3E⚙%3C/text%3E%3Ctext x='180' y='100' font-size='32' fill='%23177245' opacity='.06' transform='rotate(10 180 100)'%3E→%3C/text%3E%3Ctext x='350' y='55' font-size='34' fill='%23177245' opacity='.05' transform='rotate(-6 350 55)'%3E✓%3C/text%3E%3Ctext x='500' y='120' font-size='40' fill='%232563eb' opacity='.04' transform='rotate(15 500 120)'%3E⚙%3C/text%3E%3Ctext x='70' y='220' font-size='28' fill='%23177245' opacity='.05' transform='rotate(18 70 220)'%3E★%3C/text%3E%3Ctext x='280' y='280' font-size='36' fill='%232563eb' opacity='.04' transform='rotate(-8 280 280)'%3E→%3C/text%3E%3Ctext x='460' y='260' font-size='30' fill='%23177245' opacity='.05' transform='rotate(6 460 260)'%3E✓%3C/text%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
}

/* SERVICES — ₹ $ € £ ¥ % § scattered */
.bp-card:nth-child(4) {
    background-color: #f7fcf9;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='450'%3E%3Ctext x='35' y='75' font-size='42' fill='%23177245' opacity='.05' font-weight='800' transform='rotate(-14 35 75)'%3E₹%3C/text%3E%3Ctext x='240' y='55' font-size='28' fill='%23177245' opacity='.06' transform='rotate(10 240 55)'%3E§%3C/text%3E%3Ctext x='440' y='95' font-size='36' fill='%23d4a017' opacity='.05' font-weight='800' transform='rotate(-8 440 95)'%3E$%3C/text%3E%3Ctext x='120' y='200' font-size='30' fill='%23177245' opacity='.05' transform='rotate(16 120 200)'%3E€%3C/text%3E%3Ctext x='380' y='240' font-size='44' fill='%23177245' opacity='.04' font-weight='800' transform='rotate(-10 380 240)'%3E%%25%3C/text%3E%3Ctext x='540' y='300' font-size='32' fill='%23d4a017' opacity='.05' font-weight='800' transform='rotate(12 540 300)'%3E£%3C/text%3E%3Ctext x='60' y='370' font-size='26' fill='%23177245' opacity='.06' transform='rotate(-6 60 370)'%3E¥%3C/text%3E%3Ctext x='300' y='400' font-size='38' fill='%23177245' opacity='.04' font-weight='800' transform='rotate(8 300 400)'%3E₹%3C/text%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
}

/* MOST REQUESTED — ▲ ★ ₹ $ growth symbols */
.bp-card:nth-child(5) {
    background-color: #fffcf5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='450'%3E%3Ctext x='45' y='65' font-size='34' fill='%23d97706' opacity='.06' transform='rotate(-10 45 65)'%3E▲%3C/text%3E%3Ctext x='230' y='90' font-size='40' fill='%23177245' opacity='.05' font-weight='800' transform='rotate(12 230 90)'%3E₹%3C/text%3E%3Ctext x='460' y='55' font-size='28' fill='%23d97706' opacity='.06' transform='rotate(-6 460 55)'%3E★%3C/text%3E%3Ctext x='90' y='220' font-size='32' fill='%23177245' opacity='.05' transform='rotate(15 90 220)'%3E$%3C/text%3E%3Ctext x='350' y='280' font-size='44' fill='%23d97706' opacity='.04' transform='rotate(-12 350 280)'%3E▲%3C/text%3E%3Ctext x='520' y='340' font-size='30' fill='%23177245' opacity='.05' font-weight='800' transform='rotate(8 520 340)'%3E€%3C/text%3E%3Ctext x='180' y='380' font-size='26' fill='%23d97706' opacity='.06' transform='rotate(-8 180 380)'%3E★%3C/text%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
}

/* WHY TRUST — ✓ ✦ ♦ ★ shields trust */
.bp-card:nth-child(6) {
    background-color: #f5faf7;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='350'%3E%3Ctext x='35' y='55' font-size='36' fill='%23177245' opacity='.05' transform='rotate(-12 35 55)'%3E✓%3C/text%3E%3Ctext x='200' y='85' font-size='30' fill='%23177245' opacity='.06' transform='rotate(10 200 85)'%3E✦%3C/text%3E%3Ctext x='400' y='50' font-size='38' fill='%23177245' opacity='.04' transform='rotate(-6 400 50)'%3E♦%3C/text%3E%3Ctext x='530' y='110' font-size='32' fill='%23d4a017' opacity='.05' transform='rotate(14 530 110)'%3E✓%3C/text%3E%3Ctext x='90' y='200' font-size='26' fill='%23177245' opacity='.06' transform='rotate(18 90 200)'%3E★%3C/text%3E%3Ctext x='310' y='260' font-size='40' fill='%23177245' opacity='.035' transform='rotate(-9 310 260)'%3E✦%3C/text%3E%3Ctext x='480' y='280' font-size='28' fill='%23177245' opacity='.05' transform='rotate(6 480 280)'%3E♦%3C/text%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
}

/* TESTIMONIALS — " " ★ ★ quotes stars */
.bp-card:nth-child(7) {
    background-color: #fefaf5;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='350'%3E%3Ctext x='35' y='70' font-size='56' fill='%23177245' opacity='.04' font-family='Georgia'%3E\u201C%3C/text%3E%3Ctext x='230' y='55' font-size='26' fill='%23d97706' opacity='.06' transform='rotate(12 230 55)'%3E★%3C/text%3E%3Ctext x='440' y='85' font-size='50' fill='%23177245' opacity='.035' font-family='Georgia' transform='rotate(-6 440 85)'%3E\u201D%3C/text%3E%3Ctext x='120' y='200' font-size='24' fill='%23d97706' opacity='.05' transform='rotate(10 120 200)'%3E★%3C/text%3E%3Ctext x='350' y='260' font-size='54' fill='%23177245' opacity='.03' font-family='Georgia'%3E\u201C%3C/text%3E%3Ctext x='520' y='230' font-size='28' fill='%23d97706' opacity='.05' transform='rotate(-14 520 230)'%3E★%3C/text%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
}

/* FAQ — ? ! ✦ scattered */
.bp-card:nth-child(9) {
    background-color: #f8f5ff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Ctext x='40' y='65' font-size='44' fill='%236d28d9' opacity='.05' font-weight='800' transform='rotate(-14 40 65)'%3E?%3C/text%3E%3Ctext x='200' y='95' font-size='32' fill='%23177245' opacity='.05' transform='rotate(10 200 95)'%3E!%3C/text%3E%3Ctext x='400' y='55' font-size='40' fill='%236d28d9' opacity='.04' font-weight='800' transform='rotate(-7 400 55)'%3E?%3C/text%3E%3Ctext x='530' y='140' font-size='28' fill='%23177245' opacity='.05' transform='rotate(12 530 140)'%3E✦%3C/text%3E%3Ctext x='90' y='230' font-size='36' fill='%236d28d9' opacity='.04' font-weight='800' transform='rotate(16 90 230)'%3E?%3C/text%3E%3Ctext x='320' y='320' font-size='48' fill='%236d28d9' opacity='.03' font-weight='800' transform='rotate(-10 320 320)'%3E?%3C/text%3E%3Ctext x='480' y='290' font-size='30' fill='%23177245' opacity='.05' transform='rotate(8 480 290)'%3E!%3C/text%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
}

/* CONTACT — ✉ ☎ @ ₹ $ */
.bp-card:nth-child(10) {
    background-color: #f5f9ff;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='600' height='400'%3E%3Ctext x='35' y='65' font-size='36' fill='%23177245' opacity='.05' transform='rotate(-12 35 65)'%3E✉%3C/text%3E%3Ctext x='230' y='85' font-size='40' fill='%23177245' opacity='.04' font-weight='800' transform='rotate(10 230 85)'%3E₹%3C/text%3E%3Ctext x='440' y='55' font-size='32' fill='%232563eb' opacity='.05' transform='rotate(-8 440 55)'%3E☎%3C/text%3E%3Ctext x='120' y='220' font-size='30' fill='%23177245' opacity='.05' transform='rotate(14 120 220)'%3E@%3C/text%3E%3Ctext x='370' y='280' font-size='42' fill='%232563eb' opacity='.04' transform='rotate(-10 370 280)'%3E✉%3C/text%3E%3Ctext x='530' y='320' font-size='34' fill='%23177245' opacity='.05' font-weight='800' transform='rotate(12 530 320)'%3E$%3C/text%3E%3Ctext x='60' y='350' font-size='28' fill='%232563eb' opacity='.05' transform='rotate(-6 60 350)'%3E☎%3C/text%3E%3C/svg%3E");
    background-size: 100% 100%; background-repeat: no-repeat;
}

/* STATS STRIP — ₹ $ € £ ¥ scattered in green bar */
.bp-stats-strip {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='700' height='100'%3E%3Ctext x='35' y='55' font-size='40' fill='white' opacity='.07' font-weight='800' transform='rotate(-10 35 55)'%3E₹%3C/text%3E%3Ctext x='150' y='75' font-size='32' fill='white' opacity='.06' font-weight='800' transform='rotate(6 150 75)'%3E$%3C/text%3E%3Ctext x='280' y='45' font-size='36' fill='white' opacity='.05' font-weight='800' transform='rotate(-5 280 45)'%3E€%3C/text%3E%3Ctext x='400' y='70' font-size='34' fill='white' opacity='.06' font-weight='800' transform='rotate(10 400 70)'%3E£%3C/text%3E%3Ctext x='520' y='50' font-size='38' fill='white' opacity='.05' font-weight='800' transform='rotate(-12 520 50)'%3E¥%3C/text%3E%3Ctext x='640' y='65' font-size='30' fill='white' opacity='.06' font-weight='800' transform='rotate(8 640 65)'%3E₹%3C/text%3E%3C/svg%3E") !important;
    background-repeat: repeat-x !important;
    background-size: 700px 100% !important;
}

/* Ensure card content stays above bg symbols */
.bp-card > * { position: relative; z-index: 1; }

/* ===== FLOATING DECORATIVE SHAPES ===== */
.bp-page > .container {
    position: relative;
}

.bp-page > .container::before {
    content: "";
    position: absolute;
    top: 350px;
    left: -90px;
    width: 220px;
    height: 220px;
    border-radius: 50%;
    border: 2px dashed rgba(23,114,69,0.1);
    pointer-events: none;
    z-index: 0;
    animation: floatDecor 8s ease-in-out infinite alternate;
}

.bp-page > .container::after {
    content: "";
    position: absolute;
    top: 1400px;
    right: -70px;
    width: 180px;
    height: 180px;
    border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
    background: rgba(255,200,87,0.06);
    pointer-events: none;
    z-index: 0;
    animation: floatDecor 10s ease-in-out infinite alternate-reverse;
}

@keyframes floatDecor {
    0% { transform: translateY(0) rotate(0deg); }
    100% { transform: translateY(-25px) rotate(10deg); }
}

/* ===== SECTION CARD HEADERS — green underline accent ===== */
.bp-card__header h2 {
    position: relative;
    display: inline-block;
}

.bp-card__header h2::after {
    content: "";
    position: absolute;
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    width: 48px;
    height: 3px;
    border-radius: 3px;
    background: linear-gradient(90deg, #177245, #ffc857);
}

/* ===== SMOOTH SCROLL ===== */
html { scroll-behavior: smooth; }

/* ===== BOUNCY HOVER for all inner cards ===== */
.bp-step, .bp-svc, .bp-testi {
    transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.3s ease, border-color 0.3s ease !important;
}

/* ===== BADGE ANIMATION on hero ===== */
.bp-hero__badge {
    animation: badgeFadeIn 0.8s ease-out;
}

@keyframes badgeFadeIn {
    0% { opacity: 0; transform: translateY(-10px); }
    100% { opacity: 1; transform: translateY(0); }
}

/* ===== HERO CTA BUTTONS — subtle pulse on primary ===== */
.bp-hero__ctas .bp-btn--primary {
    animation: ctaPulse 3s ease-in-out infinite;
}

@keyframes ctaPulse {
    0%, 100% { box-shadow: 0 4px 16px rgba(23,114,69,0.2); }
    50% { box-shadow: 0 4px 24px rgba(23,114,69,0.35); }
}

.bp-hero__ctas .bp-btn--primary:hover {
    animation: none;
}

/* ===== STATS — individual stat hover lift ===== */
.bp-stat {
    transition: transform 0.3s ease;
    border-radius: 8px;
    padding: 8px;
}

.bp-stat:hover {
    transform: translateY(-3px);
    background: rgba(255,255,255,0.08);
}
