/* BillPaid homepage */
.bp-home { --ink: #2a1a4a; --purple: #6739b7; --deep: #23163f; --muted: #6b6480; color: var(--muted); }
.bp-home h1, .bp-home h2, .bp-home h3 { color: var(--ink); font-weight: 500; letter-spacing: -0.02em; }
.h-title { font-size: clamp(1.9rem, 3.4vw, 2.6rem); line-height: 1.2; text-align: center; margin-bottom: 16px; }
.h-lead { max-width: 820px; margin: 0 auto 24px; text-align: center; font-size: 1.05rem; }
.h-arrow { display: inline-block; width: 22px; height: 12px; position: relative; vertical-align: middle; }
.h-arrow::before { content: ""; position: absolute; left: 0; right: 2px; top: 5px; height: 2px; background: currentColor; }
.h-arrow::after { content: ""; position: absolute; right: 1px; top: 1px; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }

/* ---------- Hero ---------- */
.h-hero { position: relative; text-align: center; padding: 28px 16px 40px; overflow: hidden; }
.h-glow { position: absolute; inset: 0; pointer-events: none;
    background:
        radial-gradient(38% 34% at 30% 52%, rgba(214, 120, 240, .55), transparent 70%),
        radial-gradient(40% 36% at 55% 50%, rgba(170, 140, 245, .5), transparent 70%),
        radial-gradient(34% 30% at 75% 55%, rgba(246, 170, 200, .45), transparent 70%),
        radial-gradient(60% 50% at 50% 50%, rgba(240, 230, 255, .9), transparent 80%);
    filter: blur(20px); }
.h-hero-text { position: relative; height: 150px; }
.h-rot { position: absolute; inset: 0; opacity: 0; transform: translateY(14px); transition: opacity .6s, transform .6s; pointer-events: none; }
.h-rot.on { opacity: 1; transform: none; pointer-events: auto; }
.h-kicker { margin: 0; color: var(--ink); font-size: 1.3rem; }
.h-hero h1 { font-size: clamp(1.7rem, 3vw, 2.2rem); line-height: 1.2; margin: 4px 0 10px; }
.h-hero h1 em { font-style: normal; color: #8a4fd6; }
.h-sub { margin: 0; font-size: 1.05rem; }

.h-cradle { --s: 100px; --rot: 26deg; position: relative; display: flex; justify-content: center; align-items: flex-start; gap: 2px; height: calc(var(--s) * 3.3); margin-top: 6px; }
.h-ball { position: relative; width: var(--s); height: calc(var(--s) * 3); transform-origin: 50% 0; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; }
.h-str { position: absolute; top: 0; bottom: var(--s); left: 50%; width: 1px; background: linear-gradient(rgba(255,255,255,0), rgba(255,255,255,.95) 40%); }
.h-orb, .h-coin { position: relative; width: var(--s); height: var(--s); border-radius: 50%; display: grid; place-items: center; }
.h-orb {
    background: radial-gradient(circle at 32% 28%, #fff 0 18%, rgba(255,255,255,.6) 30%, transparent 55%), radial-gradient(circle at 50% 60%, var(--c1), var(--c2));
    box-shadow: inset -6px -10px 20px rgba(120, 60, 180, .25), inset 6px 6px 16px rgba(255,255,255,.8), 0 10px 24px -12px rgba(90, 40, 160, .45);
}
.h-orb img { width: 42%; height: 42%; opacity: .8; }
.h-orb.o0 { --c1: #f6e9ff; --c2: #d9b8f5; }
.h-orb.o1 { --c1: #fff1e6; --c2: #f0c3d6; }
.h-orb.o2 { --c1: #ffeef3; --c2: #eab3d2; }
.h-orb.o3 { --c1: #efeaff; --c2: #b9a5f2; }
.h-orb.o4 { --c1: #ffeef0; --c2: #efb6c6; }
.h-orb.o5 { --c1: #eafcff; --c2: #9fdde6; }
.h-ball small { position: absolute; bottom: calc(var(--s) * -0.32); font-size: .68rem; color: #7d55c7; white-space: nowrap; }
.h-coin { background: radial-gradient(circle at 35% 30%, #c79bf2, #6a2fc0 70%); box-shadow: 0 0 40px 10px rgba(220, 120, 255, .5), inset 0 -6px 12px rgba(0,0,0,.25); margin-right: calc(var(--s) * .9); }
.h-coin::before { content: ""; position: absolute; inset: 12%; border-radius: 50%; background: #fff; }
.h-coin img { position: relative; width: 48%; height: 48%; }
.h-ball.lead { margin-right: calc(var(--s) * -0.9); animation: cradleL 2.6s ease-in-out infinite; }
.h-ball.lead .h-str { left: calc(50% - var(--s) * .45); }
.h-ball.tail { animation: cradleR 2.6s ease-in-out infinite; }
@keyframes cradleL { 0%, 100% { transform: rotate(var(--rot)); } 25%, 75% { transform: rotate(0); } }
@keyframes cradleR { 0%, 25%, 75%, 100% { transform: rotate(0); } 50% { transform: rotate(calc(var(--rot) * -1)); } }

.h-scan { position: relative; display: inline-flex; align-items: center; gap: 12px; background: #fff; border: 1px solid #d6d0e2; border-radius: 12px; padding: 10px 18px 10px 10px; text-align: left; font-size: .88rem; color: var(--ink); line-height: 1.35; margin-top: 14px; }
.h-scan-ic { width: 48px; height: 48px; border-radius: 10px; background: #f3eefc; display: grid; place-items: center; }
.h-scan-ic img { width: 26px; height: 26px; }
.h-dots { position: relative; display: flex; justify-content: center; gap: 8px; margin-top: 16px; }
.h-dots button { width: 14px; height: 14px; border-radius: 99px; border: 0; padding: 0; background: #e2e0e6; cursor: pointer; transition: width .3s, background .3s; }
.h-dots button.on { width: 40px; background: #5b2ea6; }
@media (max-width: 760px) {
    .h-cradle { --s: 40px; --rot: 16deg; }
    .h-hero-text { height: 170px; }
    .h-ball small { font-size: .55rem; }
}

/* ---------- Product cards ---------- */
.h-products { padding: 70px 0 90px; }
.h-pcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.h-pcard { position: relative; background: #fff; border-radius: 14px; padding: 28px 32px 56px; box-shadow: 0 2px 14px rgba(40, 20, 80, .1); transition: transform .25s, box-shadow .25s; }
.h-pcard:hover { transform: translateY(-6px); box-shadow: 0 18px 40px -18px rgba(40, 20, 80, .35); }
.h-pcard .bp-art { width: 150px; display: block; margin: 0 auto 24px; }
.h-pcard h3 { font-size: 2rem; font-weight: 400; margin-bottom: 8px; }
.h-pcard p { margin: 0; font-size: .95rem; }
.h-pcard .h-arrow { position: absolute; right: 24px; bottom: 26px; color: var(--purple); }
@media (max-width: 960px) { .h-pcards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .h-pcards { grid-template-columns: 1fr 1fr; gap: 12px; } .h-pcard { padding: 18px 16px 44px; } .h-pcard h3 { font-size: 1.3rem; } .h-pcard .bp-art { width: 100%; margin-bottom: 12px; } }

/* ---------- Dark pinned section ---------- */
.h-dark { padding: 20px 0 60px; }
.h-dark.is-pinned { height: 340vh; padding: 0; }
.h-dark-sticky { max-width: 1260px; margin: 0 auto; padding: 0 20px; text-align: center; }
.h-dark.is-pinned .h-dark-sticky { position: sticky; top: 72px; height: calc(100vh - 72px); display: flex; flex-direction: column; justify-content: center; align-items: center; }
.h-dark-box {
    position: relative; overflow: hidden; background: var(--deep); color: #d9d2ea;
    border-radius: 32px; width: 100%; margin: 0 auto; height: min(560px, calc(100vh - 190px)); min-height: 440px;
    display: flex; flex-direction: column; align-items: center; padding: 36px 0 70px;
}
.h-rings { position: absolute; inset: -40%; background: repeating-radial-gradient(circle at 50% 55%, transparent 0 56px, rgba(255,255,255,.12) 57px 58px); pointer-events: none; }
.h-dark-box h2 { position: relative; color: #c9a8f5; font-size: clamp(1.6rem, 2.6vw, 2.1rem); line-height: 1.3; margin: 0 0 24px; transition: opacity .4s; }
.h-dark-view { position: relative; width: 100%; overflow: hidden; flex: 1; display: flex; align-items: center; transition: opacity .4s; }
.h-dark-track { display: flex; gap: 10px; padding: 0 40px; will-change: transform; }
.h-dslide { flex: 0 0 300px; color: #e6e0f2; }
.h-dslide h6 { color: #fff; font-size: 1rem; font-weight: 600; margin: 0 0 6px; }
.h-dslide .bp-art { width: 210px; display: block; margin: 0 auto 6px; }
.h-dslide p { margin: 0 auto; max-width: 240px; font-size: .9rem; line-height: 1.5; color: #cfc7e0; }
.h-dark-app { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); width: 72px; height: 72px; background: #fff; border-radius: 14px; display: grid; place-items: center; box-shadow: 0 10px 30px rgba(0,0,0,.25); }
.h-dark-app img { width: 48px; }
.h-dark-note { margin: 18px 0 0; color: #8f88a0; font-size: .9rem; line-height: 1.5; }
.h-dark.is-pinned .h-dark-box:not(.open) h2, .h-dark.is-pinned .h-dark-box:not(.open) .h-dark-view { opacity: 0; }
@media (max-width: 900px) {
    .h-dark-box { height: auto; min-height: 0; padding: 30px 0 110px; }
    .h-dark-view { overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
    .h-dark-view::-webkit-scrollbar { display: none; }
    .h-dark-track { padding: 0 20px; }
    .h-dslide { flex-basis: 240px; scroll-snap-align: center; }
}

/* ---------- Convenience + capsules ---------- */
.h-conv { padding: 80px 0 40px; overflow: hidden; }
.h-conv-art { max-width: 380px; margin: 0 auto; padding: 0 20px; }
.h-caprow { overflow: hidden; padding: 6px 0; }
.h-captrack { display: flex; align-items: center; gap: 14px; width: max-content; animation: capL 40s linear infinite; }
.h-caprow.rev .h-captrack { animation-name: capR; }
.h-caprow:hover .h-captrack { animation-play-state: paused; }
@keyframes capL { to { transform: translateX(-50%); } }
@keyframes capR { from { transform: translateX(-50%); } to { transform: none; } }
.h-cap { display: inline-flex; align-items: center; gap: 18px; height: 76px; padding: 0 36px 0 6px; border: 1px solid #2a1a4a; border-radius: 999px; color: var(--ink); font-size: .95rem; white-space: nowrap; background: #fff; transition: background .2s; }
.h-cap:hover { background: #f6f1fd; }
.h-cap i { width: 62px; height: 62px; border-radius: 50%; display: grid; place-items: center; }
.h-cap i img { width: 26px; height: 26px; }
.h-cap i.lav, .d-dot.lav { background: #ddd0f7; }
.h-cap i.peach { background: #fde3c4; }
.h-cap i.grey { background: #f1f0f3; }
.h-cap i.pink, .d-half.pink { background: #fbd4dc; }
.h-cap i.mint, .d-dot.mint { background: #9fd8d6; }
.d-dot { width: 36px; height: 36px; border-radius: 50%; flex: none; }
.d-half { width: 18px; height: 36px; border-radius: 0 36px 36px 0; flex: none; margin-left: -10px; }
@media (max-width: 600px) { .h-cap { height: 60px; gap: 12px; padding-right: 24px; font-size: .85rem; } .h-cap i { width: 48px; height: 48px; } }

/* ---------- Quick grid ---------- */
.h-quick { padding: 80px 0; }
.h-qgrid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 980px; margin: 30px auto 36px; }
.h-qcard { position: relative; height: 200px; background: #f7f7f8; border: 1px solid #ececf0; border-radius: 14px; padding: 22px; overflow: hidden; transition: background .2s, transform .2s; }
.h-qcard:hover { background: #f3eefc; transform: translateY(-4px); }
.h-qcard b { color: var(--ink); font-weight: 500; font-size: 1.3rem; }
.h-qcard .bp-art { position: absolute; right: -40px; bottom: -40px; width: 200px; transition: transform .3s; }
.h-qcard:hover .bp-art { transform: translate(-6px, -6px); }
.h-pill { display: inline-flex; align-items: center; gap: 12px; background: #5b2ea6; color: #fff; padding: 9px 22px; border-radius: 999px; font-size: .9rem; font-weight: 500; }
.h-pill:hover { background: #4a2490; color: #fff; }
@media (max-width: 760px) { .h-qgrid { grid-template-columns: 1fr 1fr; } .h-qcard { height: 160px; } }

/* ---------- Operators banner ---------- */
.h-ops { padding: 60px 0 40px; }
.h-ops-box { position: relative; background: #3f2172; border-radius: 0 0 28px 28px; max-width: 1140px; margin: 0 auto; padding: 90px 40px 60px; text-align: center; border-top-left-radius: 28px; border-top-right-radius: 28px; }
.h-ops-badge { position: absolute; left: 50%; top: -55px; transform: translateX(-50%); display: flex; align-items: center; gap: 6px; }
.h-ops-badge span { width: 110px; height: 110px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #e9ddfb); display: grid; place-items: center; box-shadow: 0 0 0 8px rgba(255,255,255,.08), 0 12px 30px rgba(0,0,0,.25); animation: spinY 6s linear infinite; }
.h-ops-badge span img { width: 60px; }
.h-ops-badge i { width: 22px; height: 70px; border-radius: 70px 0 0 70px; background: #9b6ee0; }
.h-ops-badge i:nth-child(1) { height: 46px; opacity: .6; }
.h-ops-badge i:nth-child(4), .h-ops-badge i:nth-child(5) { border-radius: 0 70px 70px 0; }
.h-ops-badge i:nth-child(5) { height: 46px; opacity: .6; }
@keyframes spinY { to { transform: rotateY(360deg); } }
.h-ops-box h2 { color: #fff; font-size: clamp(1.6rem, 3vw, 2.3rem); margin-bottom: 8px; }
.h-ops-box p { color: #ddd2f2; max-width: 600px; margin: 0 auto 32px; }
.h-ops-logos { display: flex; justify-content: center; flex-wrap: wrap; gap: 22px; }
.h-ops-logos span { width: 96px; height: 96px; border-radius: 50%; background: #fff; display: grid; place-items: center; transition: transform .25s; }
.h-ops-logos span:hover { transform: translateY(-6px) scale(1.05); }
.h-ops-logos img { width: 62%; height: 62%; object-fit: contain; }
@media (max-width: 600px) { .h-ops-box { padding: 80px 18px 40px; } .h-ops-logos { gap: 12px; } .h-ops-logos span { width: 72px; height: 72px; } }

/* ---------- Safe + circle carousel ---------- */
.h-safe { padding: 90px 0 60px; overflow: hidden; }
.h-circles { position: relative; height: 440px; margin-top: 30px; }
.h-circ { position: absolute; top: 0; left: 50%; width: 420px; height: 420px; margin-left: -210px; border-radius: 50%; overflow: hidden; background: #f3eefc; transition: transform .7s cubic-bezier(.3,.7,.2,1), opacity .7s; }
.h-circ img { width: 100%; height: 100%; object-fit: cover; object-position: top; }
.h-circ[data-pos="-1"] { transform: translateX(-118%) scale(.85); opacity: .9; }
.h-circ[data-pos="1"] { transform: translateX(118%) scale(.85); opacity: .9; }
.h-circ[data-pos="0"] { z-index: 2; }
.h-diamond { position: absolute; left: calc(50% - 260px); top: 30px; width: 30px; height: 30px; background: #7c84d8; transform: rotate(45deg); z-index: 3; animation: bpBob 4s ease-in-out infinite; }
.h-ball-o { position: absolute; left: calc(50% + 190px); bottom: 10px; width: 30px; height: 30px; border-radius: 50%; background: #e05a2b; z-index: 3; animation: bpBob 5s ease-in-out infinite reverse; }
.h-circ-nav { display: flex; justify-content: center; gap: 8px; margin-top: 20px; }
.h-circ-nav button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid #a9a3b6; background: #fff; color: var(--ink); cursor: pointer; }
.h-circ-nav button:hover { background: #f3eefc; }
@media (max-width: 600px) { .h-circles { height: 280px; } .h-circ { width: 260px; height: 260px; margin-left: -130px; } .h-diamond { left: 20px; } .h-ball-o { left: auto; right: 30px; } }

/* ---------- Feature capsules ---------- */
.h-feat { padding: 70px 0; }
.h-flist { max-width: 760px; margin: 30px auto 0; display: grid; gap: 4px; }
.h-frow { display: grid; grid-template-columns: 300px 1fr; align-items: center; border: 1px solid #b9b4c4; border-radius: 999px; background: #f7f7f8; overflow: hidden; }
.h-fpill { background: #fff; border: 1px solid #b9b4c4; border-radius: 999px; margin: -1px; height: 150px; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.h-fpill .bp-art { width: 110px; }
.h-fpill b { color: #4d2b8c; font-weight: 500; }
.h-frow p { margin: 0; padding: 0 44px; font-size: .9rem; }
@media (max-width: 640px) { .h-frow { grid-template-columns: 1fr; border-radius: 40px; } .h-frow p { padding: 16px 24px 22px; text-align: center; } .h-fpill { height: 130px; } }

/* ---------- Business stacked cards ---------- */
.h-biz { position: relative; padding: 70px 0 120px; }
.h-biz-bg { position: absolute; inset: 0; pointer-events: none;
    background: radial-gradient(30% 25% at 8% 20%, rgba(140, 220, 235, .5), transparent 70%), radial-gradient(30% 25% at 85% 15%, rgba(255, 200, 140, .45), transparent 70%), radial-gradient(30% 30% at 90% 70%, rgba(220, 180, 250, .5), transparent 70%), radial-gradient(28% 25% at 10% 80%, rgba(170, 225, 190, .45), transparent 70%); }
.h-biz-head { position: relative; text-align: right; max-width: 1060px; margin: 0 auto 30px; }
.h-biz-head span { color: var(--ink); font-size: 1.1rem; }
.h-biz-head h2 { font-size: clamp(1.9rem, 3.4vw, 2.6rem); line-height: 1.15; margin: 4px 0 0; }
.h-bcard {
    position: sticky; top: calc(96px + var(--i) * 18px); max-width: 1060px; margin: 0 auto 40px;
    display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 30px;
    background: #fff; border: 1px solid #8f8a9c; border-radius: 48px; padding: 48px 56px; min-height: 360px;
}
.h-bcard h3 { font-size: clamp(1.6rem, 2.6vw, 2rem); margin-bottom: 12px; }
.h-bcard p { max-width: 420px; }
.h-bcard a { color: var(--ink); font-weight: 500; display: inline-flex; gap: 12px; align-items: center; }
.h-bcard a:hover { color: var(--purple); }
.h-bcard .bp-art { width: 100%; max-width: 340px; justify-self: center; }
@media (max-width: 760px) { .h-bcard { grid-template-columns: 1fr; padding: 32px 26px; border-radius: 32px; top: calc(80px + var(--i) * 12px); } .h-bcard .bp-art { max-width: 220px; } .h-biz-head { text-align: left; } }

/* ---------- Orbit ---------- */
.h-orbit { position: relative; height: 560px; display: grid; place-items: center; overflow: hidden; }
.h-orbit-sys { position: absolute; inset: 0; display: grid; place-items: center; }
.h-ring { position: absolute; border: 1px solid #8a7fb0; border-radius: 50%; animation: orbit 30s linear infinite; }
.h-ring.r1 { width: 380px; height: 380px; top: 20px; }
.h-ring.r2 { width: 680px; height: 680px; top: -120px; animation-duration: 50s; animation-direction: reverse; }
.h-ring .sat { position: absolute; border-radius: 50%; }
.h-ring .coral { width: 18px; height: 18px; background: #f07a6a; left: 6%; top: 70%; }
.h-ring .teal { width: 30px; height: 30px; background: #4fc1c2; left: 22%; top: 88%; }
.h-ring .tag { width: 60px; height: 60px; background: #fff; border: 1px solid #ddd; right: 2%; top: 38%; display: grid; place-items: center; font-size: .75rem; font-weight: 700; color: var(--purple); box-shadow: 0 4px 12px rgba(0,0,0,.08); }
@keyframes orbit { to { transform: rotate(360deg); } }
.h-core { position: absolute; top: 100px; width: 150px; height: 150px; border-radius: 50%; background: radial-gradient(circle, #fff 0 40%, #f3dcf7 41% 55%, #f9ecfb 56% 70%, transparent 71%); display: grid; place-items: center; }
.h-core img { width: 70px; height: 70px; background: #fff; border-radius: 50%; padding: 8px; box-shadow: 0 0 0 6px #6739b7; }
.h-orbit-text { position: relative; margin-top: 230px; text-align: center; }
.h-orbit-text span { color: #e05a7a; letter-spacing: .06em; text-transform: uppercase; font-size: .95rem; }
.h-orbit-text h2 { font-size: 2rem; margin: 4px 0; }
.h-orbit-text p { margin: 0; font-size: .95rem; }
@media (max-width: 600px) { .h-ring.r1 { width: 280px; height: 280px; top: 50px; } .h-ring.r2 { width: 460px; height: 460px; top: -30px; } }

/* ---------- Trust banner + stats band ---------- */
.h-trust { position: relative; margin-top: 40px; }
.h-safe-banner { position: relative; z-index: 2; max-width: 1060px; margin: 0 auto -90px; display: flex; align-items: center; gap: 32px; padding: 30px 44px; border-radius: 24px; background: linear-gradient(100deg, #7b4fcf, #5d2fae 60%, #7a3fc7); color: #e9e0fb; overflow: hidden; }
.h-safe-banner::before { content: ""; position: absolute; left: -60px; top: -60px; width: 260px; height: 260px; border-radius: 50%; background: rgba(255,255,255,.08); }
.h-shield { position: relative; width: 120px; flex: none; }
.h-safe-banner h3 { color: #fff; font-size: 1.8rem; margin-bottom: 6px; }
.h-safe-banner p { margin: 0 0 12px; }
.h-badges { display: flex; gap: 14px; }
.h-badges img { height: 28px; background: #fff; border-radius: 6px; padding: 3px 8px; }
.h-band { position: relative; background: linear-gradient(180deg, #3a1f6b, #4b2a8c); padding: 140px 0 80px; color: #e4dbf5; overflow: hidden; }
.h-arcs { position: absolute; left: 50%; bottom: -520px; width: 1000px; height: 1000px; margin-left: -500px; border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 60px, rgba(255,255,255,.07) 61px 100px); pointer-events: none; animation: orbit 60s linear infinite; }
.h-band-logo { position: relative; display: inline-flex; align-items: center; gap: 12px; }
.h-band-logo img { width: 52px; height: 52px; background: #fff; border-radius: 50%; padding: 6px; }
.h-band-logo b { color: #fff; font-size: 2rem; font-weight: 600; }
.h-band-sub { position: relative; font-size: 1.1rem; margin: 8px 0 40px; }
.h-stats { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; max-width: 900px; margin: 0 auto 36px; }
.h-stats small { display: block; font-size: .9rem; }
.h-stats b { display: block; color: #fff; font-size: 1.9rem; font-weight: 500; }
.h-stats span { font-size: .9rem; }
.h-band-btn { position: relative; display: inline-block; background: #fff; color: var(--ink); padding: 10px 26px; border-radius: 999px; font-weight: 600; }
.h-band-btn:hover { background: #f1eafd; }
@media (max-width: 700px) { .h-safe-banner { flex-direction: column; text-align: center; padding: 28px 22px; margin: 0 16px -90px; } .h-badges { justify-content: center; } .h-stats { grid-template-columns: 1fr; } }

/* shared bits */
@keyframes bpBob { 50% { transform: translateY(-10px) rotate(45deg); } }
.h-ball-o { animation-name: bpBobRound; }
@keyframes bpBobRound { 50% { transform: translateY(-12px); } }
.bp-anim .bp-reveal { opacity: 0; transform: translateY(36px); transition: opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1); }
.bp-anim .bp-reveal.in { opacity: 1; transform: none; }
.h-pcards .bp-reveal:nth-child(2), .h-qgrid .bp-reveal:nth-child(2) { transition-delay: .08s; }
.h-pcards .bp-reveal:nth-child(3), .h-qgrid .bp-reveal:nth-child(3) { transition-delay: .16s; }
.h-pcards .bp-reveal:nth-child(4), .h-qgrid .bp-reveal:nth-child(4) { transition-delay: .24s; }
@media (prefers-reduced-motion: reduce) { .bp-home *, .bp-home *::before, .bp-home *::after { animation: none !important; transition: none !important; } }
.bp-home #services { background: #fff; }
.h-stats b span { font-size: inherit; }
