:root {
    --kpf-public-primary: #0D3B66;
    --kpf-public-primary-rgb: 13, 59, 102;
    --kpf-public-action: #2F80ED;
    --kpf-public-action-rgb: 47, 128, 237;
    --kpf-public-accent: #D4A12A;
    --kpf-public-ink: #071739;
    --kpf-public-text: #1F2937;
    --kpf-public-muted: #6B7280;
    --kpf-public-soft: #F4F8FC;
    --kpf-public-surface: #FFFFFF;
    --kpf-public-border: #DCE5EE;
    --kpf-public-shadow: 0 18px 48px rgba(15, 23, 42, .08);
    --primary: var(--kpf-public-primary);
    --primary-soft: #EAF2FE;
    --dark: var(--kpf-public-ink);
    --muted: var(--kpf-public-muted);
    --bg-soft: var(--kpf-public-soft);
}

html {
    scroll-behavior: smooth;
}

body {
    background: #fff;
    color: var(--kpf-public-text);
    font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    letter-spacing: 0;
}

.nav-blur {
    background: rgba(255, 255, 255, .92);
    border-bottom: 1px solid rgba(13, 59, 102, .08);
    box-shadow: 0 10px 30px rgba(15, 23, 42, .06);
}

.navbar-brand .bg-danger-subtle {
    background: rgba(var(--kpf-public-action-rgb), .12) !important;
    color: var(--kpf-public-action) !important;
}

.navbar-brand span {
    color: var(--kpf-public-ink);
    font-weight: 800;
}

.nav-link {
    color: rgba(7, 23, 57, .68);
    font-weight: 650;
}

.nav-link:hover {
    color: var(--kpf-public-action);
}

.btn-nav,
.btn-primary-soft,
.contact-card .btn.btn-primary-soft,
.pricing-cta .btn-primary-soft {
    background: linear-gradient(135deg, var(--kpf-public-primary), var(--kpf-public-action));
    border: 0;
    color: #fff;
    box-shadow: 0 14px 28px rgba(var(--kpf-public-primary-rgb), .18);
}

.btn-nav:hover,
.btn-primary-soft:hover,
.contact-card .btn.btn-primary-soft:hover,
.pricing-cta .btn-primary-soft:hover {
    background: linear-gradient(135deg, var(--kpf-public-primary), var(--kpf-public-action));
    color: #fff;
    filter: brightness(1.05);
    transform: translateY(-1px);
}

.btn-login-nav {
    border-color: rgba(var(--kpf-public-primary-rgb), .26);
    color: var(--kpf-public-primary);
    background: #fff;
    font-weight: 750;
}

.btn-login-nav:hover {
    background: rgba(var(--kpf-public-action-rgb), .10);
    border-color: rgba(var(--kpf-public-action-rgb), .35);
    color: var(--kpf-public-action);
}

.hero-fluid {
    background: #fff;
}

.hero-row {
    min-height: 720px;
}

.hero-left {
    background:
        radial-gradient(circle at 14% 18%, rgba(var(--kpf-public-action-rgb), .22), transparent 30%),
        radial-gradient(circle at 58% 18%, rgba(212, 161, 42, .16), transparent 26%),
        linear-gradient(135deg, var(--kpf-public-primary), var(--kpf-public-action));
    color: #fff;
}

.hero-right {
    position: relative;
}

.hero-bg {
    filter: saturate(1.05) contrast(1.03);
}

.hero-label,
.hero-pill,
.section-label,
.pricing-chip,
.badge-soft {
    letter-spacing: 0;
}

.hero-label,
.hero-pill {
    background: rgba(255, 255, 255, .13);
    border: 1px solid rgba(255, 255, 255, .18);
}

.hero-title {
    font-weight: 900;
    letter-spacing: 0;
    max-width: 760px;
}

.hero-subtitle {
    max-width: 760px;
    color: rgba(255, 255, 255, .80);
}

.hero-actions .btn-light {
    color: var(--kpf-public-primary);
    font-weight: 800;
    box-shadow: 0 14px 28px rgba(15, 23, 42, .16);
}

.hero-actions .btn-outline-light:hover {
    color: var(--kpf-public-primary);
}

.hero-overlay {
    background:
        linear-gradient(90deg, rgba(13, 59, 102, .18), transparent 48%),
        radial-gradient(circle at left, rgba(47, 128, 237, .20), transparent 44%);
}

.hero-info-card {
    border: 1px solid rgba(13, 59, 102, .10);
    border-radius: 18px;
    box-shadow: 0 22px 50px rgba(15, 23, 42, .18);
}

.hero-info-label,
.section-label,
#recursos .section-label,
.nr-section .section-label,
.pricing-secondary-link {
    color: var(--kpf-public-action);
}

.py-6,
#recursos,
#faq {
    background: #fff;
}

#como-funciona {
    background: linear-gradient(180deg, #fff 0%, #F7FAFD 100%) !important;
}

#recursos {
    padding: 72px 0;
}

#recursos h3,
.pricing-section h3 {
    color: var(--kpf-public-ink);
}

#recursos .feature-card,
.steps-box,
.step-bullet,
.contact-card,
.pricing-card {
    background: var(--kpf-public-surface);
    border: 1px solid var(--kpf-public-border);
    box-shadow: var(--kpf-public-shadow);
}

#recursos .feature-card {
    border-radius: 20px;
}

#recursos .feature-card .feature-icon,
.nr-list i,
.pricing-features li i,
.pricing-unit i,
.kpf-public-icon {
    background: rgba(var(--kpf-public-action-rgb), .12);
    color: var(--kpf-public-action);
    box-shadow: none;
}

#recursos .feature-card:hover {
    background: #fff;
    border-color: rgba(var(--kpf-public-action-rgb), .32);
    box-shadow: 0 18px 42px rgba(15, 23, 42, .10);
}

#recursos .feature-card:hover .feature-icon,
.nr-list li:hover i,
.pricing-features li:hover i {
    background: var(--kpf-public-action);
    color: #fff;
    box-shadow: 0 10px 20px rgba(var(--kpf-public-action-rgb), .24);
}

.steps-timeline::before {
    background: linear-gradient(to bottom, var(--kpf-public-action), rgba(var(--kpf-public-action-rgb), .12));
}

.step-index {
    background: var(--kpf-public-action);
    box-shadow: 0 8px 18px rgba(var(--kpf-public-action-rgb), .24);
}

.step-title,
.nr-title {
    color: var(--kpf-public-ink);
}

.nr-section::before {
    background: #F2F7FC;
}

.nr-section::after {
    box-shadow: inset 0 0 0 999px rgba(13, 59, 102, .20);
}

.nr-list li {
    color: var(--kpf-public-text);
    border: 1px solid rgba(13, 59, 102, .08);
}

.nr-note {
    color: #047857;
}

.contact-card {
    border-radius: 22px;
}

.contact-card .form-control,
.contact-card textarea {
    border-color: var(--kpf-public-border);
}

.contact-card .form-control:focus,
.contact-card textarea:focus {
    border-color: rgba(var(--kpf-public-action-rgb), .55);
    box-shadow: 0 0 0 3px rgba(var(--kpf-public-action-rgb), .13);
}

.pricing-section {
    background:
        radial-gradient(circle at 10% 10%, rgba(var(--kpf-public-action-rgb), .10), transparent 28%),
        linear-gradient(180deg, #F7FAFD 0%, #FFFFFF 100%);
    padding: 80px 0;
}

.pricing-card {
    border-radius: 26px;
}

.pricing-card::before {
    background: linear-gradient(120deg, rgba(var(--kpf-public-action-rgb), .12), rgba(var(--kpf-public-action-rgb), .80), rgba(var(--kpf-public-action-rgb), .12));
}

.pricing-card::after {
    background: rgba(var(--kpf-public-action-rgb), .08);
}

.pricing-featured-badge,
.billing-toggle button.active {
    background: var(--kpf-public-action);
    box-shadow: 0 12px 26px rgba(var(--kpf-public-action-rgb), .26);
}

.pricing-chip,
.pricing-unit,
.pricing-features li {
    background: rgba(var(--kpf-public-action-rgb), .06);
    border-color: rgba(var(--kpf-public-action-rgb), .14);
}

.pricing-value .currency,
.pricing-value.animating .amount {
    color: var(--kpf-public-action);
}

.pricing-value.animating .amount {
    text-shadow: 0 8px 22px rgba(var(--kpf-public-action-rgb), .24);
}

.pricing-card-selected {
    border-color: var(--kpf-public-action);
    box-shadow: 0 32px 80px rgba(var(--kpf-public-action-rgb), .16);
}

.plan-select-btn {
    border-color: rgba(var(--kpf-public-action-rgb), .42);
    color: var(--kpf-public-action);
}

.plan-select-btn:hover {
    background: rgba(var(--kpf-public-action-rgb), .10);
    border-color: var(--kpf-public-action);
    color: var(--kpf-public-action);
}

@keyframes pulseBorder {
    0% { box-shadow: 0 0 0 0 rgba(var(--kpf-public-action-rgb), .22); }
    70% { box-shadow: 0 0 0 12px rgba(var(--kpf-public-action-rgb), 0); }
    100% { box-shadow: 0 0 0 0 rgba(var(--kpf-public-action-rgb), 0); }
}

.faq-item {
    border-bottom-color: rgba(13, 59, 102, .12);
}

.faq-q {
    color: var(--kpf-public-ink);
}

footer {
    background: var(--kpf-public-primary);
}

@media (max-width: 991.98px) {
    .hero-row {
        min-height: auto;
    }

    .hero-left {
        padding: 44px 24px;
    }

    .hero-right {
        min-height: 220px;
    }

    .nr-section::before,
    .nr-section::after {
        background: #F2F7FC;
    }
}
