.bcicf{
    --bc-red:#b91c1c;
    --bc-red-dark:#7f1d1d;
    --bc-red-soft:#fef2f2;
    --bc-ink:#111827;
    --bc-muted:#5f6b7a;
    --bc-line:#e5e7eb;
    --bc-soft:#f8fafc;
    --bc-green:#166534;
    --bc-green-soft:#f0fdf4;
    --bc-amber:#92400e;
    --bc-amber-soft:#fffbeb;
    color:var(--bc-ink);
    max-width:100%;
    margin:0 auto;
}

.bcicf *{box-sizing:border-box}

.bcicf-hero,
.bcicf-form,
.bcicf-results,
.bcicf-method{
    max-width:980px;
    margin:0 auto 24px;
}

.bcicf-hero{
    padding:30px;
    border:1px solid #fecaca;
    border-radius:20px;
    background:linear-gradient(135deg,#fff 0%,#fff7f7 100%);
}

.bcicf-kicker{
    display:inline-block;
    margin-bottom:8px;
    color:var(--bc-red);
    font-size:12px;
    font-weight:900;
    letter-spacing:1.15px;
    text-transform:uppercase;
}

.bcicf-hero h2,
.bcicf-results h3,
.bcicf-method h3{
    margin:0 0 10px;
    color:var(--bc-ink);
    line-height:1.15;
    letter-spacing:-.65px;
}

.bcicf-hero h2{font-size:clamp(29px,4vw,43px)}
.bcicf-results h3,.bcicf-method h3{font-size:26px}

.bcicf-hero>p,
.bcicf-results-head p,
.bcicf-method p{
    margin:0;
    color:var(--bc-muted);
}

.bcicf-hero-note{
    margin-top:18px;
    padding:13px 15px;
    border-left:4px solid var(--bc-red);
    border-radius:9px;
    background:#fff;
    color:#4b5563;
    font-size:13px;
}

.bcicf-form,
.bcicf-results,
.bcicf-method{
    padding:28px;
    border:1px solid var(--bc-line);
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 44px rgba(15,23,42,.06);
}

.bcicf-section-head{
    display:flex;
    gap:14px;
    align-items:flex-start;
    margin-bottom:20px;
}

.bcicf-step{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    flex:0 0 34px;
    border-radius:10px;
    background:var(--bc-red);
    color:#fff;
    font-weight:900;
}

.bcicf-section-head h3{
    margin:2px 0 3px;
    font-size:20px;
    line-height:1.25;
}

.bcicf-section-head p{
    margin:0;
    color:var(--bc-muted);
    font-size:13px;
}

.bcicf-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:16px;
}

.bcicf-field{
    display:block;
    margin:0;
    font-size:13px;
    font-weight:800;
}

.bcicf-field>span{
    display:block;
    margin-bottom:7px;
}

.bcicf-field>span b{color:var(--bc-red)}

.bcicf-field input,
.bcicf-field select{
    width:100%;
    min-height:48px;
    padding:10px 12px;
    border:1px solid #cbd5e1;
    border-radius:10px;
    outline:none;
    background:#fff;
    color:var(--bc-ink);
    font-size:15px;
    font-weight:500;
    transition:border-color .18s ease,box-shadow .18s ease;
}

.bcicf-field input:focus,
.bcicf-field select:focus{
    border-color:var(--bc-red);
    box-shadow:0 0 0 3px rgba(185,28,28,.11);
}

.bcicf-field input:disabled{
    background:#f8fafc;
    color:#94a3b8;
    cursor:not-allowed;
}

.bcicf-field small{
    display:block;
    margin-top:6px;
    color:#7b8491;
    font-size:11px;
    font-weight:500;
    line-height:1.45;
}

.bcicf-error{
    display:block;
    min-height:16px;
    margin-top:4px;
    color:var(--bc-red);
    font-size:11px;
    font-style:normal;
    font-weight:800;
}

.bcicf-divider{
    height:1px;
    margin:24px 0;
    background:var(--bc-line);
}

.bcicf-actions,
.bcicf-result-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:24px;
}

.bcicf-primary,
.bcicf-secondary,
.bcicf-result-actions button,
.bcicf-company-link{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:44px;
    padding:11px 16px;
    border-radius:9px;
    border:1px solid transparent;
    font:inherit;
    font-size:13px;
    font-weight:900;
    cursor:pointer;
    text-decoration:none!important;
    transition:transform .15s ease,background .15s ease,border-color .15s ease;
}

.bcicf-primary{
    background:var(--bc-red);
    color:#fff;
}

.bcicf-primary:hover{background:var(--bc-red-dark)}

.bcicf-secondary,
.bcicf-result-actions button{
    border-color:var(--bc-line);
    background:#fff;
    color:var(--bc-ink);
}

.bcicf-secondary:hover,
.bcicf-result-actions button:hover{
    border-color:#fecaca;
    background:#fff7f7;
}

.bcicf-primary:focus-visible,
.bcicf-secondary:focus-visible,
.bcicf-result-actions button:focus-visible,
.bcicf-company-link:focus-visible{
    outline:3px solid rgba(185,28,28,.22);
    outline-offset:2px;
}

.bcicf-results{min-height:170px}

.bcicf-empty{
    padding:24px 10px;
    text-align:center;
}

.bcicf-empty-icon{
    display:grid;
    place-items:center;
    width:52px;
    height:52px;
    margin:0 auto 12px;
    border-radius:15px;
    background:var(--bc-red-soft);
    color:var(--bc-red);
    font-size:25px;
    font-weight:900;
}

.bcicf-empty h3{font-size:22px}
.bcicf-empty p{margin:0;color:var(--bc-muted)}

.bcicf-results-head{
    display:flex;
    justify-content:space-between;
    gap:20px;
    align-items:flex-start;
    padding-bottom:18px;
    border-bottom:1px solid var(--bc-line);
}

.bcicf-updated{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:999px;
    background:var(--bc-soft);
    color:#64748b;
    font-size:11px;
    font-weight:800;
}

.bcicf-summary{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
    margin:18px 0;
}

.bcicf-summary-item{
    padding:12px 14px;
    border:1px solid var(--bc-line);
    border-radius:11px;
    background:var(--bc-soft);
}

.bcicf-summary-item span{
    display:block;
    color:#7b8491;
    font-size:10px;
    font-weight:900;
    letter-spacing:.7px;
    text-transform:uppercase;
}

.bcicf-summary-item strong{
    display:block;
    margin-top:3px;
    font-size:13px;
    line-height:1.35;
}

.bcicf-company-list{
    display:grid;
    gap:14px;
}

.bcicf-company{
    padding:20px;
    border:1px solid var(--bc-line);
    border-radius:16px;
    background:#fff;
}

.bcicf-company:first-child{
    border-color:#fca5a5;
    box-shadow:0 12px 32px rgba(185,28,28,.08);
}

.bcicf-company-top{
    display:flex;
    justify-content:space-between;
    gap:16px;
    align-items:flex-start;
}

.bcicf-rank{
    display:inline-block;
    margin-bottom:4px;
    color:var(--bc-red);
    font-size:11px;
    font-weight:900;
    letter-spacing:.8px;
    text-transform:uppercase;
}

.bcicf-company h4{
    margin:0;
    font-size:22px;
    line-height:1.2;
}

.bcicf-strength{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:999px;
    font-size:11px;
    font-weight:900;
}

.bcicf-strength-strong{background:var(--bc-green-soft);color:var(--bc-green)}
.bcicf-strength-good{background:#eff6ff;color:#1d4ed8}
.bcicf-strength-possible{background:var(--bc-amber-soft);color:var(--bc-amber)}

.bcicf-company-meta{
    display:flex;
    flex-wrap:wrap;
    gap:7px;
    margin:12px 0;
}

.bcicf-tag{
    padding:5px 8px;
    border-radius:999px;
    background:#f3f4f6;
    color:#4b5563;
    font-size:10px;
    font-weight:800;
}

.bcicf-company-reasons{
    margin:12px 0 14px;
    padding-left:20px;
}

.bcicf-company-reasons li{
    margin:6px 0;
    color:#374151;
    font-size:13px;
    line-height:1.5;
}

.bcicf-availability{
    margin:12px 0;
    padding:11px 13px;
    border-radius:9px;
    background:var(--bc-soft);
    color:#475569;
    font-size:12px;
}

.bcicf-company-link{
    background:var(--bc-ink);
    color:#fff!important;
}

.bcicf-company-link:hover{background:#263244}

.bcicf-company-disclaimer{
    margin:9px 0 0;
    color:#94a3b8;
    font-size:10px;
}

.bcicf-quote-checklist{
    margin-top:20px;
    padding:17px;
    border-left:4px solid var(--bc-red);
    border-radius:10px;
    background:#fff7f7;
}

.bcicf-quote-checklist h4{margin:0 0 5px;font-size:16px}
.bcicf-quote-checklist p{margin:0;color:#4b5563;font-size:13px}

.bcicf-disclaimer{
    margin:18px 0 0;
    color:#6b7280;
    font-size:11px;
    line-height:1.55;
}

.bcicf-method{box-shadow:none;background:var(--bc-soft)}

.bcicf-method-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    margin:18px 0;
}

.bcicf-method-grid>div{
    padding:15px;
    border:1px solid var(--bc-line);
    border-radius:12px;
    background:#fff;
}

.bcicf-method-grid strong{font-size:14px}
.bcicf-method-grid p{margin-top:5px;font-size:12px}

.bcicf-method details{
    border-top:1px solid var(--bc-line);
    padding-top:15px;
}

.bcicf-method summary{
    cursor:pointer;
    color:var(--bc-red);
    font-weight:900;
}

.bcicf-source-copy{
    padding-top:12px;
    font-size:12px;
}

.bcicf-source-copy ul{padding-left:20px}
.bcicf-source-copy a{color:var(--bc-red);text-decoration:underline}

@media(max-width:760px){
    .bcicf-hero,
    .bcicf-form,
    .bcicf-results,
    .bcicf-method{
        padding:20px;
        border-radius:16px;
    }

    .bcicf-grid,
    .bcicf-summary,
    .bcicf-method-grid{
        grid-template-columns:1fr;
    }

    .bcicf-results-head,
    .bcicf-company-top{
        flex-direction:column;
        align-items:flex-start;
    }

    .bcicf-actions,
    .bcicf-result-actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .bcicf-primary,
    .bcicf-secondary,
    .bcicf-result-actions button,
    .bcicf-company-link{
        width:100%;
    }
}

@media(max-width:420px){
    .bcicf-hero,
    .bcicf-form,
    .bcicf-results,
    .bcicf-method{
        padding:16px;
    }

    .bcicf-hero h2{font-size:29px}
    .bcicf-results h3,.bcicf-method h3{font-size:22px}
    .bcicf-company{padding:16px}
    .bcicf-company h4{font-size:20px}
}

@media print{
    .bcicf-form,
    .bcicf-hero,
    .bcicf-method,
    .bcicf-result-actions,
    .site-header,
    .topbar,
    .site-footer{display:none!important}

    .bcicf-results{
        max-width:none;
        border:0;
        box-shadow:none;
        padding:0;
    }

    .bcicf-company{break-inside:avoid}
}
