.bcifs{
    --bcifs-red:#b91c1c;
    --bcifs-red-dark:#7f1d1d;
    --bcifs-red-soft:#fff1f2;
    --bcifs-ink:#111827;
    --bcifs-text:#334155;
    --bcifs-muted:#64748b;
    --bcifs-line:#e2e8f0;
    --bcifs-soft:#f8fafc;
    --bcifs-white:#fff;
    --bcifs-green:#047857;
    --bcifs-shadow:0 18px 55px rgba(15,23,42,.09);
    width:100%;
    max-width:1040px;
    margin:0 auto;
    color:var(--bcifs-ink);
    font-family:inherit;
    line-height:1.6;
}

.bcifs *{box-sizing:border-box}
.bcifs button,.bcifs input,.bcifs select{font:inherit}

.bcifs-hero{
    position:relative;
    overflow:hidden;
    padding:34px;
    margin:0 0 24px;
    border:1px solid #fecaca;
    border-radius:22px;
    background:
        radial-gradient(circle at 90% 10%,rgba(255,255,255,.18),transparent 25%),
        linear-gradient(135deg,#7f1d1d,#b91c1c 58%,#991b1b);
    color:#fff;
    box-shadow:var(--bcifs-shadow);
}

.bcifs-kicker{
    display:inline-block;
    margin-bottom:8px;
    color:#fecaca;
    font-size:12px;
    font-weight:900;
    letter-spacing:1.45px;
    text-transform:uppercase;
}

.bcifs-hero h2{
    margin:0 0 12px;
    color:#fff;
    font-size:clamp(31px,5vw,50px);
    line-height:1.05;
    letter-spacing:-1.5px;
}

.bcifs-hero>p{
    max-width:800px;
    margin:0;
    color:#fee2e2;
    font-size:16px;
}

.bcifs-hero-note{
    margin-top:22px;
    padding:14px 16px;
    border:1px solid rgba(255,255,255,.22);
    border-radius:12px;
    background:rgba(255,255,255,.09);
    color:#fff;
    font-size:13px;
}

.bcifs-form,
.bcifs-results,
.bcifs-research{
    border:1px solid var(--bcifs-line);
    border-radius:20px;
    background:#fff;
    box-shadow:var(--bcifs-shadow);
}

.bcifs-form{padding:28px}

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

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

.bcifs-section-head h3,
.bcifs-results h3{
    margin:0 0 4px;
    color:var(--bcifs-ink);
    font-size:24px;
    line-height:1.2;
    letter-spacing:-.45px;
}

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

.bcifs-divider{
    height:1px;
    margin:30px 0;
    background:var(--bcifs-line);
}

.bcifs-age-panel{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(250px,.9fr);
    gap:18px;
    align-items:stretch;
}

.bcifs-field{
    display:flex;
    flex-direction:column;
    gap:7px;
    min-width:0;
    margin:0;
    color:var(--bcifs-ink);
    font-size:13px;
    font-weight:800;
}

.bcifs-field>span,
.bcifs-field legend{
    font-size:13px;
    font-weight:900;
}

.bcifs-field b{color:var(--bcifs-red)}

.bcifs-field input,
.bcifs-field select{
    width:100%;
    min-height:48px;
    border:1px solid #cbd5e1;
    border-radius:11px;
    outline:0;
    background:#fff;
    color:var(--bcifs-ink);
    padding:11px 13px;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

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

.bcifs-field small{
    color:var(--bcifs-muted);
    font-size:11px;
    font-weight:500;
    line-height:1.45;
}

.bcifs-error{
    min-height:16px;
    color:#b91c1c;
    font-size:11px;
    font-style:normal;
    font-weight:800;
}

.bcifs-field.has-error input,
.bcifs-field.has-error select{
    border-color:#dc2626;
    background:#fff7f7;
}

.bcifs-age-input-wrap{
    display:flex;
    align-items:stretch;
    width:100%;
}

.bcifs-age-input-wrap input{
    border-radius:11px 0 0 11px;
    border-right:0;
    font-size:24px;
    font-weight:900;
}

.bcifs-age-suffix{
    display:flex;
    align-items:center;
    padding:0 14px;
    border:1px solid #cbd5e1;
    border-radius:0 11px 11px 0;
    background:#f8fafc;
    color:var(--bcifs-muted);
    white-space:nowrap;
    font-size:12px;
    font-weight:800;
}

.bcifs-age-profile{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:20px;
    border:1px solid #fecaca;
    border-radius:15px;
    background:#fff7f7;
}

.bcifs-age-profile>span{
    color:var(--bcifs-red);
    font-size:11px;
    font-weight:900;
    letter-spacing:1px;
    text-transform:uppercase;
}

.bcifs-age-profile strong{
    margin:3px 0 5px;
    font-size:20px;
}

.bcifs-age-profile small{
    color:var(--bcifs-text);
    font-size:12px;
    line-height:1.5;
}

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

.bcifs-check-field{
    grid-column:1/-1;
    padding:16px;
    border:1px solid var(--bcifs-line);
    border-radius:14px;
    background:var(--bcifs-soft);
}

.bcifs-check-field legend{
    padding:0 6px;
}

.bcifs-check{
    display:flex;
    align-items:flex-start;
    gap:10px;
    margin:8px 0;
    padding:10px 11px;
    border:1px solid transparent;
    border-radius:10px;
    background:#fff;
    cursor:pointer;
}

.bcifs-check:hover{border-color:#fecaca}

.bcifs-check input{
    width:18px;
    min-height:18px;
    height:18px;
    margin:2px 0 0;
    padding:0;
    accent-color:var(--bcifs-red);
}

.bcifs-check>span{
    display:flex;
    flex-direction:column;
    gap:1px;
}

.bcifs-check strong{
    font-size:12px;
    line-height:1.35;
}

.bcifs-check small{
    color:var(--bcifs-muted);
    font-size:11px;
    font-weight:500;
}

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

.bcifs-primary,
.bcifs-secondary{
    min-height:44px;
    border-radius:10px;
    padding:10px 16px;
    font-weight:900;
    cursor:pointer;
    transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease;
}

.bcifs-primary{
    border:1px solid var(--bcifs-red);
    background:var(--bcifs-red);
    color:#fff;
    box-shadow:0 10px 25px rgba(185,28,28,.18);
}

.bcifs-primary:hover{background:var(--bcifs-red-dark);transform:translateY(-1px)}

.bcifs-secondary{
    border:1px solid #cbd5e1;
    background:#fff;
    color:var(--bcifs-ink);
}

.bcifs-secondary:hover{border-color:#fecaca;background:#fff7f7;color:var(--bcifs-red)}

.bcifs-primary:focus-visible,
.bcifs-secondary:focus-visible,
.bcifs-company a:focus-visible,
.bcifs-research summary:focus-visible{
    outline:3px solid rgba(185,28,28,.25);
    outline-offset:2px;
}

.bcifs-form-note{
    margin:12px 0 0;
    color:var(--bcifs-muted);
    font-size:11px;
}

.bcifs-results{
    margin-top:26px;
    padding:28px;
    scroll-margin-top:110px;
}

.bcifs-results[hidden]{display:none!important}

.bcifs-results-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    margin-bottom:20px;
}

.bcifs-results-head .bcifs-kicker{color:var(--bcifs-red)}
.bcifs-result-actions{margin-top:0;flex-shrink:0}

.bcifs-profile-strip{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    margin-bottom:22px;
    padding:14px;
    border:1px solid var(--bcifs-line);
    border-radius:13px;
    background:var(--bcifs-soft);
}

.bcifs-profile-strip span{
    display:inline-flex;
    gap:5px;
    align-items:center;
    padding:7px 9px;
    border:1px solid #e2e8f0;
    border-radius:999px;
    background:#fff;
    color:var(--bcifs-text);
    font-size:11px;
}

.bcifs-company-list{
    display:grid;
    gap:16px;
}

.bcifs-company{
    overflow:hidden;
    border:1px solid var(--bcifs-line);
    border-radius:16px;
    background:#fff;
}

.bcifs-company-top{
    display:grid;
    grid-template-columns:44px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    padding:18px 20px 12px;
}

.bcifs-rank{
    display:grid;
    place-items:center;
    width:40px;
    height:40px;
    border-radius:12px;
    background:var(--bcifs-red-soft);
    color:var(--bcifs-red);
    font-size:18px;
    font-weight:900;
}

.bcifs-company-title h4{
    margin:0;
    color:var(--bcifs-ink);
    font-size:20px;
    line-height:1.25;
}

.bcifs-company-title p{
    margin:3px 0 0;
    color:var(--bcifs-muted);
    font-size:11px;
}

.bcifs-fit{
    text-align:right;
}

.bcifs-fit span{
    display:block;
    color:var(--bcifs-muted);
    font-size:10px;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.7px;
}

.bcifs-fit strong{
    color:var(--bcifs-green);
    font-size:20px;
}

.bcifs-tags{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    padding:0 20px 14px;
}

.bcifs-tags span{
    padding:5px 8px;
    border-radius:999px;
    background:#f1f5f9;
    color:#475569;
    font-size:10px;
    font-weight:800;
}

.bcifs-company-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    padding:16px 20px;
    border-top:1px solid var(--bcifs-line);
    background:#fcfdff;
}

.bcifs-company-grid h5{
    margin:0 0 8px;
    color:var(--bcifs-ink);
    font-size:12px;
    text-transform:uppercase;
    letter-spacing:.55px;
}

.bcifs-company-grid ul{
    margin:0;
    padding-left:18px;
    color:var(--bcifs-text);
    font-size:12px;
}

.bcifs-company-grid li+li{margin-top:7px}

.bcifs-availability{
    padding:12px 20px;
    border-top:1px solid var(--bcifs-line);
    color:var(--bcifs-muted);
    font-size:11px;
}

.bcifs-company-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:14px 20px;
    border-top:1px solid var(--bcifs-line);
}

.bcifs-company-bottom span{
    color:var(--bcifs-muted);
    font-size:11px;
}

.bcifs-company-bottom a{
    color:var(--bcifs-red);
    font-size:12px;
    font-weight:900;
    white-space:nowrap;
}

.bcifs-checklist{
    margin-top:20px;
    padding:20px;
    border:1px solid #bbf7d0;
    border-radius:14px;
    background:#f0fdf4;
}

.bcifs-checklist h4{
    margin:0 0 8px;
    color:#14532d;
    font-size:17px;
}

.bcifs-checklist ul{
    margin:0;
    padding-left:20px;
    color:#166534;
    font-size:12px;
}

.bcifs-checklist li+li{margin-top:7px}

.bcifs-disclaimer{
    margin-top:18px;
    padding:15px 16px;
    border-left:4px solid #f59e0b;
    border-radius:9px;
    background:#fffbeb;
    color:#78350f;
    font-size:11px;
}

.bcifs-research{
    margin-top:24px;
    box-shadow:none;
}

.bcifs-research summary{
    cursor:pointer;
    padding:17px 20px;
    color:var(--bcifs-ink);
    font-size:13px;
    font-weight:900;
}

.bcifs-research>div{
    padding:0 20px 18px;
    color:var(--bcifs-muted);
    font-size:11px;
}

.bcifs-research p{margin-top:0}
.bcifs-research ul{margin:8px 0 0;padding-left:20px}
.bcifs-research li+li{margin-top:6px}

@media(max-width:760px){
    .bcifs-hero,.bcifs-form,.bcifs-results{padding:22px}
    .bcifs-age-panel,.bcifs-grid,.bcifs-company-grid{grid-template-columns:1fr}
    .bcifs-check-field{grid-column:auto}
    .bcifs-results-head{flex-direction:column}
    .bcifs-result-actions{width:100%}
    .bcifs-result-actions .bcifs-secondary{flex:1}
    .bcifs-company-bottom{align-items:flex-start;flex-direction:column}
    .bcifs-company-bottom a{white-space:normal}
}

@media(max-width:520px){
    .bcifs{line-height:1.55}
    .bcifs-hero{padding:20px 18px;border-radius:16px}
    .bcifs-hero h2{font-size:34px}
    .bcifs-form,.bcifs-results{padding:18px;border-radius:16px}
    .bcifs-section-head h3,.bcifs-results h3{font-size:21px}
    .bcifs-section-head{gap:10px}
    .bcifs-step{width:34px;height:34px;flex-basis:34px}
    .bcifs-form-actions{display:grid;grid-template-columns:1fr}
    .bcifs-primary,.bcifs-secondary{width:100%}
    .bcifs-company-top{grid-template-columns:38px minmax(0,1fr);padding:15px}
    .bcifs-rank{width:36px;height:36px}
    .bcifs-fit{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--bcifs-line);text-align:left}
    .bcifs-tags,.bcifs-company-grid,.bcifs-availability,.bcifs-company-bottom{padding-left:15px;padding-right:15px}
    .bcifs-age-input-wrap{display:grid;grid-template-columns:minmax(0,1fr) auto}
    .bcifs-age-suffix{padding:0 10px}
}

@media print{
    body *{visibility:hidden!important}
    .bcifs-results,.bcifs-results *{visibility:visible!important}
    .bcifs-results{position:absolute;left:0;top:0;width:100%;margin:0;padding:0;border:0;box-shadow:none}
    .bcifs-result-actions,.bcifs-company-bottom a{display:none!important}
    .bcifs-company{break-inside:avoid;box-shadow:none}
}
