/* akcs-cc-forms: the home page's free-assessment box and the call-to-action bar (includes/leads.php). */
.akcs-lead { background: #f2f6fb; border-top: 1px solid #dde6f0; border-bottom: 1px solid #dde6f0; padding: 48px 20px; scroll-margin-top: 20px; }
.akcs-lead-in { max-width: 1100px; margin: 0 auto; display: grid; grid-template-columns: 5fr 6fr; gap: 40px; align-items: start; }
.akcs-lead h2 { margin: 0 0 12px; font-size: 2em; line-height: 1.2; color: #12385f; }
.akcs-lead-copy p { font-size: 1.08em; line-height: 1.55; margin: 0 0 14px; }
.akcs-lead-points { list-style: none; margin: 0 0 18px; padding: 0; }
.akcs-lead-points li { position: relative; padding-left: 28px; margin: 6px 0; font-weight: 600; }
.akcs-lead-points li::before { content: ""; position: absolute; left: 4px; top: .3em; width: 12px; height: 7px; border-left: 3px solid #1e8a3e; border-bottom: 3px solid #1e8a3e; transform: rotate(-45deg); }
.akcs-lead-alt { font-size: .98em !important; color: #3c4650; }
.akcs-lead-form { background: #fff; border: 1px solid #dde6f0; border-radius: 8px; padding: 24px; box-shadow: 0 6px 22px rgba(18, 56, 95, .08); }
.akcs-lead-form .akcs-form { max-width: none; }
.akcs-lead-form .akcs-submit { width: 100%; font-size: 1.08em; }
/* The row after the hero is pulled up (negative margin) to overlap it; it would cover this box. */
.akcs-lead + .fl-row > .fl-row-content-wrap { margin-top: 0 !important; }
@media (max-width: 860px) {
    .akcs-lead { padding: 32px 16px; }
    .akcs-lead-in { grid-template-columns: 1fr; gap: 20px; }
    .akcs-lead h2 { font-size: 1.6em; }
    .akcs-lead-form { padding: 18px; }
}

.akcs-cta { position: fixed; z-index: 9990; right: 20px; bottom: 20px; display: flex; gap: 10px; transition: opacity .2s, transform .2s; }
.akcs-cta a { display: inline-block; padding: 12px 20px; border-radius: 999px; font-weight: 600; text-decoration: none !important; box-shadow: 0 4px 14px rgba(0, 0, 0, .22); line-height: 1.2; }
.akcs-cta-go { background: #c8102e; color: #fff !important; }
.akcs-cta-call { background: #12385f; color: #fff !important; display: none !important; }
.akcs-cta.akcs-cta-hide { opacity: 0; transform: translateY(12px); pointer-events: none; }
@media (max-width: 767px) {
    .akcs-cta { left: 0; right: 0; bottom: 0; gap: 0; background: #fff; box-shadow: 0 -2px 10px rgba(0, 0, 0, .15); }
    .akcs-cta a { flex: 1; text-align: center; border-radius: 0; box-shadow: none; padding: 15px 8px; }
    .akcs-cta-call { display: inline-block !important; }
    .akcs-cta.akcs-cta-hide { opacity: 1; transform: none; pointer-events: auto; }
    body.akcs-has-cta { padding-bottom: 52px; }
}
@media print { .akcs-cta { display: none !important; } }

/* Home hero (AKCS_CC_LEAD_AFTER_ROW): slow zoom on the existing photo plus drifting brand-colour glows.
   No extra downloads; only transform is animated, so it runs on the GPU without repainting. */
.fl-node-63ca68835bb73 { position: relative; overflow: hidden; }
/* .fl-row.fl-node-… outranks BB's clearfix (.fl-row:before { display: table }), which loads later. */
.fl-row.fl-node-63ca68835bb73::before {
    content: ""; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0;
    background: url(/wp-content/uploads/2023/03/digital-background2-1024x683.jpg) center / cover no-repeat;
    animation: akcs-hero-zoom 30s ease-in-out infinite alternate; will-change: transform;
}
.fl-node-63ca68835bb73 > .fl-row-content-wrap { background-image: none !important; z-index: 1; overflow: hidden; }
.fl-node-63ca68835bb73 > .fl-row-content-wrap::before {
    content: ""; position: absolute; top: -40%; left: -40%; width: 180%; height: 180%; z-index: 1; pointer-events: none;
    background:
        radial-gradient(circle at 35% 40%, rgba(15, 117, 188, .45), transparent 22%),
        radial-gradient(circle at 65% 60%, rgba(200, 16, 46, .28), transparent 20%),
        radial-gradient(circle at 55% 30%, rgba(80, 200, 255, .22), transparent 16%);
    animation: akcs-hero-drift 22s ease-in-out infinite alternate; will-change: transform;
}
@keyframes akcs-hero-zoom { from { transform: scale(1); } to { transform: scale(1.15) translate3d(-2%, -1.5%, 0); } }
@keyframes akcs-hero-drift {
    0% { transform: translate3d(-10%, 6%, 0) rotate(0deg); }
    50% { transform: translate3d(6%, -4%, 0) rotate(12deg); }
    100% { transform: translate3d(10%, 8%, 0) rotate(-8deg); }
}
@media (prefers-reduced-motion: reduce) {
    .fl-row.fl-node-63ca68835bb73::before, .fl-node-63ca68835bb73 > .fl-row-content-wrap::before { animation: none; }
}
