@charset "utf-8";
/* ============================================================
   business v3 — Interactive Phase Filter  (scope: .bzf)
   ============================================================ */
.bzf{--ink:#1b2535;--mut:#6b7686;--line:#e4e9f0;--bg:#f6f8fb;--brand:#1f6fb2;
	max-width:100%;margin:0;padding:6px 0 60px;color:var(--ink);
	font-family:'Pretendard','Noto Sans KR',sans-serif;-webkit-font-smoothing:antialiased;}
.bzf *{box-sizing:border-box;}

.bzf-lead{font-size:17px;line-height:1.85;color:#3a4453;margin:8px 0 40px;
	padding:22px 26px;background:linear-gradient(180deg,#f6f9fc,#eef3f9);
	border:1px solid var(--line);border-left:4px solid var(--brand);border-radius:12px;}
.bzf-lead b{color:var(--brand);font-weight:700;}

.bzf-block{margin:48px 0 0;}
.bzf-head{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.bzf-step{flex:none;font:700 12px/1 'Pretendard',sans-serif;letter-spacing:.06em;color:#fff;
	background:var(--brand);padding:7px 11px;border-radius:6px;}
.bzf-head h3{font-size:24px;font-weight:800;margin:0;letter-spacing:-.02em;}
.bzf-guide{color:var(--mut);font-size:14.5px;line-height:1.7;margin:0 0 20px;}
.bzf-guide b{color:#27406a;}

/* ---- 단계 축 (선택 버튼) ---- */
.bzf-axis{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;}
.bzf-stage{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
	min-height:96px;padding:14px 8px;cursor:pointer;text-align:center;
	background:#fff;border:1.5px solid var(--line);border-radius:14px;
	transition:transform .18s,box-shadow .18s,border-color .18s,background .18s;}
.bzf-stage .num{font:800 13px/1 'Pretendard',sans-serif;color:#9aa6b6;letter-spacing:.04em;
	background:#eef2f7;border-radius:20px;padding:4px 10px;transition:.18s;}
.bzf-stage b{font-size:14.5px;font-weight:700;letter-spacing:-.02em;line-height:1.25;}
.bzf-stage small{font-size:11px;color:#a6b0bd;letter-spacing:.02em;}
.bzf-stage:hover{transform:translateY(-3px);box-shadow:0 10px 22px rgba(31,111,178,.12);border-color:#bcd2e6;}
.bzf-stage.is-active{background:var(--brand);border-color:var(--brand);box-shadow:0 12px 26px rgba(31,111,178,.30);}
.bzf-stage.is-active b,.bzf-stage.is-active small{color:#fff;}
.bzf-stage.is-active .num{background:rgba(255,255,255,.22);color:#fff;}
.bzf-stage.is-all{background:#eef3f9;}
.bzf-stage.is-all .num{background:#dde7f1;color:#5d6e82;}
.bzf-stage.is-all.is-active{background:#27406a;border-color:#27406a;}

/* ---- 단계 상세 패널 ---- */
.bzf-detail{display:none;margin-top:16px;padding:20px 24px;border-radius:14px;
	background:#fff;border:1px solid var(--line);border-top:3px solid var(--brand);
	animation:bzfIn .28s ease;}
.bzf-detail.is-open{display:block;}
@keyframes bzfIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.bzf-detail-h{font-size:16px;font-weight:800;margin-bottom:12px;color:#22324a;display:flex;align-items:center;gap:10px;}
.bzf-detail-h .dn{font:800 13px/1 sans-serif;color:#fff;background:var(--brand);padding:5px 9px;border-radius:6px;}
.bzf-detail-h b{color:var(--brand);}
.bzf-detail ul{display:grid;grid-template-columns:repeat(2,1fr);gap:8px 28px;margin:0;padding:0;list-style:none;}
.bzf-detail li{position:relative;padding-left:18px;font-size:14px;line-height:1.6;color:#46505f;}
.bzf-detail li::before{content:"";position:absolute;left:2px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--brand);}

/* ---- 그룹 헤더 ---- */
.bzf-grouph{display:flex;align-items:baseline;gap:10px;margin:30px 0 16px;font-size:17px;font-weight:800;color:#22324a;
	padding-left:14px;border-left:5px solid var(--brand);}
.bzf-grouph.grp-cycle{border-left-color:#0f9b8e;}
.bzf-grouph small{font-size:13px;font-weight:500;color:var(--mut);}

/* ---- 프로그램 카드 그리드 ---- */
.bzf-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.bzf-card{position:relative;display:flex;flex-direction:column;padding:22px 22px 20px;
	background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;
	transition:transform .2s,box-shadow .2s,opacity .2s,filter .2s;}
.bzf-card::before{content:"";position:absolute;left:0;top:0;width:100%;height:4px;background:var(--c);}
.bzf-tag{align-self:flex-start;font-size:11.5px;font-weight:700;letter-spacing:.01em;color:var(--c);
	background:color-mix(in srgb,var(--c) 12%,#fff);padding:5px 11px;border-radius:30px;margin-bottom:11px;}
.bzf-card h4{font-size:18px;font-weight:800;margin:0 0 9px;letter-spacing:-.02em;}
.bzf-desc{font-size:13.5px;line-height:1.65;color:#56616f;margin:0 0 12px;}
.bzf-items{list-style:none;margin:0 0 16px;padding:0;display:flex;flex-direction:column;gap:6px;}
.bzf-items li{position:relative;padding-left:16px;font-size:12.8px;line-height:1.55;color:#5d6878;}
.bzf-items li::before{content:"";position:absolute;left:1px;top:8px;width:5px;height:5px;border-radius:1px;background:var(--c);opacity:.7;}
.bzf-cov{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin-top:auto;}
.bzf-cov .seg{height:7px;border-radius:3px;background:#eceff3;}
.bzf-cov .seg.on{background:var(--c);}
.bzf-covlabel{margin-top:8px;font-size:12px;font-weight:600;color:#7a8595;}

/* hover */
.bzf-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(28,37,53,.12);border-color:color-mix(in srgb,var(--c) 40%,#fff);}

/* 필터 활성 상태 */
.bzf[data-filter] .bzf-card.is-dim{opacity:.38;filter:grayscale(.55);transform:none;box-shadow:none;}
.bzf[data-filter] .bzf-card.is-hit{box-shadow:0 14px 32px color-mix(in srgb,var(--c) 22%,transparent);
	border-color:var(--c);transform:translateY(-3px);}
.bzf[data-filter] .bzf-card.is-hit::after{content:"지원";position:absolute;top:14px;right:14px;
	font-size:10.5px;font-weight:800;letter-spacing:.04em;color:#fff;background:var(--c);padding:4px 9px;border-radius:20px;}
/* 지원 뱃지 제거 — 사업소개(business_v2, .biz2-bzf)에서만 (요청 0715) */
.biz2-bzf[data-filter] .bzf-card.is-hit::after{content:none;}

.bzf-foot{margin-top:24px;padding:14px 18px;background:#fff8ec;border:1px solid #f3e2bf;border-radius:10px;
	font-size:13px;color:#7a5e21;line-height:1.6;}
.bzf-foot b{color:#a06f15;}

/* ---- 반응형 ---- */
@media (max-width:1024px){
	.bzf-axis{grid-template-columns:repeat(4,1fr);}
	.bzf-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:680px){
	.bzf-lead{font-size:15px;padding:18px;}
	.bzf-head h3{font-size:20px;}
	.bzf-axis{grid-template-columns:repeat(3,1fr);gap:8px;}
	.bzf-stage{min-height:84px;}
	.bzf-detail ul{grid-template-columns:1fr;}
	.bzf-grid{grid-template-columns:1fr;}
}
