/* fund.brdb.kr — 정책자금 자가진단 스타일.

   바른DB 토큰을 그대로 복사해 들여왔다. 공유 CSS 를 두면 두 사이트가
   한쪽 수정에 서로 영향받는다. 토큰 값은 같아도 파일은 분리한다. */

:root{
  --navy-900:#111c2b; --navy-800:#1b2a3d; --navy-700:#2c3f56; --navy-600:#3d5570;
  --emerald:#0f7a5f; --emerald-light:#7fc9ad; --emerald-soft:#e8f2ed;
  --emerald-line:#c3ded1; --emerald-ink:#0b5d48;
  --amber:#b4761a; --amber-soft:#fdf4e6; --amber-line:#ecd6ae; --amber-ink:#7a4f0d;
  --ink:#16202c; --body:#414d5c; --muted:#6a7684; --faint:#98a2ae;
  --line:#e3e6ea; --line-soft:#eef0f3; --surface:#f7f8f9;
  --paper:#ffffff; --tint:#fafbfc;
  --warn:#8a5a12; --warn-bg:#fdf9f0; --warn-line:#e8d9b8;
  --radius:7px; --radius-lg:13px;
  --shadow:0 1px 2px rgba(17,28,43,.05), 0 1px 3px rgba(17,28,43,.05);
  --shadow-md:0 4px 16px -6px rgba(17,28,43,.12), 0 2px 6px -2px rgba(17,28,43,.06);
  --shadow-lg:0 22px 48px -18px rgba(15,122,95,.28), 0 10px 24px -12px rgba(17,28,43,.16);
  --ease:cubic-bezier(.2,.7,.3,1);
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --navy-900:#eef4f9; --navy-800:#dce6ef; --navy-700:#c2ceda; --navy-600:#9fb3c6;
    --emerald:#2fd39a; --emerald-light:#8fe8cd; --emerald-ink:#64e3bb;
    --emerald-soft:rgba(47,228,168,.11); --emerald-line:rgba(47,228,168,.26);
    --amber:#ffc368; --amber-ink:#ffcf85;
    --amber-soft:rgba(255,195,104,.12); --amber-line:rgba(255,195,104,.28);
    --ink:#f2f6fa; --body:#c4d0da; --muted:#93a1b0; --faint:#6b7886;
    --line:rgba(255,255,255,.09); --line-soft:rgba(255,255,255,.055);
    --line-2:rgba(255,255,255,.16);
    --surface:#0f1620; --paper:#141d27; --tint:#10171f;
    --warn:#ffcf85; --warn-bg:rgba(255,195,104,.08); --warn-line:rgba(255,195,104,.22);
    --shadow:0 1px 2px rgba(0,0,0,.4);
    --shadow-md:0 10px 30px -14px rgba(0,0,0,.6), 0 2px 8px -3px rgba(0,0,0,.5);
    --shadow-lg:0 30px 64px -22px rgba(0,0,0,.72), 0 10px 26px -12px rgba(0,0,0,.6);
  }
}

*{box-sizing:border-box}
html,body{margin:0; padding:0}
body{font:15px/1.6 "Pretendard", -apple-system, BlinkMacSystemFont, "Malgun Gothic", sans-serif;
  color:var(--body); background:var(--surface)}
a{color:var(--emerald-ink); text-decoration:none}
a:hover{text-decoration:underline}
input,select,textarea{font:inherit; color:var(--ink); background:var(--paper);
  border:1px solid var(--line); border-radius:var(--radius); padding:11px 13px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--emerald);
  outline-offset:-1px; border-color:transparent}

.btn{display:inline-block; padding:11px 20px; border-radius:var(--radius);
  border:1px solid var(--navy-800); background:var(--navy-800); color:#fff;
  font:600 14px/1 inherit; cursor:pointer; text-decoration:none; transition:.15s var(--ease)}
.btn:hover{background:var(--navy-700); text-decoration:none}
.btn.accent{background:var(--emerald); border-color:var(--emerald)}
.btn.accent:hover{filter:brightness(1.05)}
.btn.small{padding:8px 15px; font-size:13.5px}

/* ──────────────────────────────────────────────────────────── 랜딩 */
body.pf{background:var(--surface); color:var(--body)}
.pf-wrap{max-width:1040px; margin:0 auto; padding:0 20px}

.pf-top{position:sticky; top:0; z-index:40; background:rgba(15,22,32,.88);
  backdrop-filter:saturate(1.4) blur(10px); border-bottom:1px solid var(--line)}
.pf-top .pf-wrap{display:flex; align-items:center; justify-content:space-between;
  height:58px; gap:12px}
.pf-mark{font-size:15px; color:var(--muted)}
.pf-mark b{color:var(--ink); font-weight:800}
.pf-tel{font-size:14px; font-weight:700; color:var(--emerald-ink)}
@media (max-width:520px){ .pf-tel{display:none} }

.pf-hero{position:relative; overflow:hidden; padding:54px 0 64px;
  background:
    radial-gradient(900px 420px at 72% -10%, rgba(47,228,168,.13), transparent 62%),
    linear-gradient(180deg, var(--paper), var(--surface));
  border-bottom:1px solid var(--line)}
.pf-eyebrow{display:inline-flex; align-items:center; gap:7px; margin:0 0 18px;
  padding:6px 13px; border-radius:999px; font-size:12.5px; font-weight:700;
  color:var(--emerald-ink); background:var(--emerald-soft);
  border:1px solid var(--emerald-line)}
.pf-dot{width:6px; height:6px; border-radius:50%; background:var(--emerald);
  box-shadow:0 0 0 4px rgba(47,228,168,.18)}
.pf-hero h1{margin:0 0 16px; font-size:40px; line-height:1.25; color:var(--ink);
  letter-spacing:-.03em; font-weight:800}
.pf-hero h1 em{font-style:normal; color:var(--emerald)}
@media (max-width:700px){ .pf-br{display:none} }
.pf-lead{margin:0 0 30px; max-width:620px; font-size:16px; line-height:1.75; color:var(--body)}
.pf-lead b{color:var(--ink); font-weight:700}

.pf-widget{margin:0 0 28px}
.pf-trust{display:flex; flex-wrap:wrap; gap:10px; margin:0; padding:0; list-style:none; max-width:720px}
.pf-trust li{flex:1; min-width:150px; padding:13px 15px; border-radius:var(--radius);
  background:var(--paper); border:1px solid var(--line)}
.pf-trust b{display:block; font-size:17px; color:var(--emerald-ink); font-weight:800}
.pf-trust span{display:block; margin-top:3px; font-size:12px; color:var(--muted)}

.pf-sec{padding:58px 0; border-bottom:1px solid var(--line-soft)}
.pf-sec.alt{background:var(--paper)}
.pf-sec h2{margin:0 0 12px; font-size:26px; color:var(--ink); letter-spacing:-.02em}
.pf-sub{margin:0 0 28px; max-width:680px; font-size:14.5px; line-height:1.8; color:var(--body)}

.pf-grid4{display:grid; grid-template-columns:repeat(4,1fr); gap:12px}
.pf-grid4 article{padding:20px; border-radius:var(--radius-lg); background:var(--surface);
  border:1px solid var(--line)}
.pf-sec.alt .pf-grid4 article{background:var(--paper)}
.pf-grid4 h3{margin:0 0 8px; font-size:15px; color:var(--emerald-ink); font-weight:800}
.pf-grid4 p{margin:0; font-size:13.5px; line-height:1.7; color:var(--body)}

.pf-timing{display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center}
.pf-timing p{margin:0 0 14px; font-size:14.5px; line-height:1.8; color:var(--body)}
.pf-timing p b{color:var(--ink)}
.pf-sample-head{font-size:11.5px; font-weight:800; color:var(--faint);
  letter-spacing:.04em; margin:0 0 9px}
.pf-sample-box{padding:18px; border-radius:var(--radius-lg); background:var(--amber-soft);
  border:1px solid var(--amber-line)}
.pf-sample-title{margin:0 0 10px; font-size:14.5px; font-weight:800; color:var(--amber-ink)}
.pf-sample-box ul{margin:0; padding-left:18px; font-size:13px; line-height:1.85; color:var(--body)}
.pf-sample-box ul b{color:var(--ink)}

.pf-steps{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;
  margin:0; padding:0; list-style:none}
.pf-steps li{padding:22px; border-radius:var(--radius-lg); background:var(--surface);
  border:1px solid var(--line)}
.pf-steps span{display:grid; place-items:center; width:30px; height:30px;
  margin-bottom:13px; border-radius:50%; font-size:14px; font-weight:800;
  color:#04231b; background:var(--emerald)}
.pf-steps b{display:block; font-size:15px; color:var(--ink); margin-bottom:5px}
.pf-steps em{font-style:normal; font-size:13px; color:var(--muted); line-height:1.65}

.pf-faq{margin:0; max-width:760px}
.pf-faq dt{margin:0 0 7px; font-size:15px; font-weight:700; color:var(--ink)}
.pf-faq dd{margin:0 0 24px; font-size:14px; line-height:1.8; color:var(--body)}

.pf-cta{padding:56px 0; text-align:center;
  background:radial-gradient(640px 240px at 50% 0%, rgba(47,228,168,.12), transparent 70%)}
.pf-cta h2{margin:0 0 7px; font-size:25px; color:var(--ink)}
.pf-cta p{margin:0 0 22px; font-size:14.5px; color:var(--muted)}

.pf-foot{padding:34px 0 46px; border-top:1px solid var(--line); background:var(--paper)}
.pf-disc{margin:0 0 16px; font-size:11.5px; line-height:1.75; color:var(--faint)}
.pf-biz{margin:0; font-size:11.5px; line-height:1.8; color:var(--faint)}
.pf-biz-pending{color:var(--amber-ink); font-weight:600}

@media (max-width:860px){
  .pf-grid4{grid-template-columns:1fr 1fr}
  .pf-timing{grid-template-columns:1fr; gap:24px}
  .pf-steps{grid-template-columns:1fr}
}
@media (max-width:560px){
  .pf-hero{padding:38px 0 46px}
  .pf-hero h1{font-size:29px}
  .pf-grid4{grid-template-columns:1fr}
  .pf-sec{padding:44px 0}
}

/* ──────────────────────────────────────────────────────────── 자가진단 */
.fund-wrap{max-width:720px; margin:0 auto}
.fund-flash{margin:0 0 16px; padding:12px 14px; border-radius:var(--radius);
  background:var(--emerald-soft); border:1px solid var(--emerald-line);
  color:var(--emerald-ink); font-size:14px; font-weight:600}
.fund-error{margin:0 0 14px; padding:11px 14px; border-radius:var(--radius);
  background:var(--warn-bg); border:1px solid var(--warn-line); color:var(--warn);
  font-size:13.5px}

.fund-start{background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:22px; box-shadow:var(--shadow-lg)}
.fund-lab{display:block; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:8px}
.fund-start-row{display:flex; gap:9px}
.fund-start-row input{flex:1; min-width:0; font-size:16px; letter-spacing:.04em}
.fund-start-row .btn{flex:none; white-space:nowrap}
.fund-hint{margin:12px 0 0; font-size:12.5px; color:var(--muted)}
.fund-link{background:none; border:0; padding:0; margin-left:6px; cursor:pointer;
  color:var(--emerald-ink); font-size:12.5px; font-weight:700;
  text-decoration:underline; text-underline-offset:3px}

.fund-found{margin:0 0 18px; padding:16px 18px; border-radius:var(--radius-lg);
  background:var(--emerald-soft); border:1px solid var(--emerald-line)}
.fund-found.none{background:var(--surface); border-color:var(--line)}
.fund-found-head{margin:0; font-size:12px; font-weight:800; letter-spacing:.04em;
  color:var(--emerald-ink)}
.fund-found.none .fund-found-head{color:var(--muted)}
.fund-found-head span{font-weight:600; color:var(--muted)}
.fund-found-name{margin:5px 0 2px; font-size:19px; font-weight:700; color:var(--ink)}
.fund-found-meta{margin:0; font-size:13.5px; color:var(--body)}
.fund-found-note{margin:9px 0 0; font-size:12px; color:var(--muted); line-height:1.6}
.fund-found-note.warn{color:var(--warn)}

.fund-form,.fund-lead{background:var(--paper); border:1px solid var(--line);
  border-radius:var(--radius-lg); padding:22px; box-shadow:var(--shadow-lg)}
.fund-row{display:flex; gap:14px; flex-wrap:wrap}
.fund-row>.fund-field{flex:1; min-width:180px}
.fund-field{margin-bottom:16px}
.fund-field>label{display:block; font-size:13px; font-weight:700; color:var(--ink); margin-bottom:7px}
.fund-field>label em{font-style:normal; font-weight:500; font-size:11.5px;
  color:var(--muted); margin-left:6px}
.fund-field input,.fund-field select,.fund-field textarea{width:100%}
.fund-field textarea{border:1px solid var(--line); border-radius:var(--radius);
  padding:10px 12px; font:inherit; font-size:14px; resize:vertical}

.fund-pills{display:flex; gap:8px}
.fund-pill input,.fund-sector input,.fund-check input{position:absolute; opacity:0;
  width:0; height:0}
.fund-pill span{display:block; padding:9px 18px; border-radius:999px; cursor:pointer;
  border:1px solid var(--line); font-size:13.5px; color:var(--body); transition:.15s var(--ease)}
.fund-pill input:checked+span{background:var(--emerald-soft); color:var(--emerald-ink);
  border-color:var(--emerald-line); font-weight:700}

.fund-sectors{display:grid; grid-template-columns:1fr 1fr; gap:7px}
.fund-sector span{display:block; padding:11px 13px; border-radius:var(--radius);
  border:1px solid var(--line); cursor:pointer; font-size:13px; color:var(--body);
  line-height:1.45; transition:.15s var(--ease)}
.fund-sector span:hover{border-color:var(--emerald-line)}
.fund-sector input:checked+span{background:var(--emerald-soft); color:var(--emerald-ink);
  border-color:var(--emerald); font-weight:700}
.fund-sector.dim span{color:var(--muted)}
.fund-sector:last-child{grid-column:1/-1}

.fund-checks{display:grid; gap:7px}
.fund-check span{display:block; padding:10px 13px; border-radius:var(--radius);
  border:1px solid var(--line); cursor:pointer; font-size:13px; color:var(--body)}
.fund-check input:checked+span{background:var(--amber-soft); color:var(--amber-ink);
  border-color:var(--amber-line); font-weight:700}
.fund-go{width:100%; margin-top:4px}

/* 결과 */
.fund-result{margin-top:26px; scroll-margin-top:72px}
.fund-sum{display:flex; flex-wrap:wrap; gap:8px 14px; align-items:baseline;
  padding:13px 16px; border-radius:var(--radius); background:var(--surface);
  border:1px solid var(--line); font-size:13px; color:var(--muted); margin-bottom:14px}
.fund-sum-name{font-size:15px; font-weight:700; color:var(--ink)}

/* 티저 — 합계 숫자. 자금명 대신 '건수·금액 규모'를 전면에 뗀다. */
.fund-tally{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:22px}
.fund-tally>div{padding:18px 20px; border-radius:var(--radius-lg); background:var(--paper);
  border:1px solid var(--line)}
.fund-tally-main{border-left:3px solid var(--emerald)}
.fund-tally-cap{border-left:3px solid var(--amber)}
.fund-tally-label{margin:0 0 6px; font-size:12px; font-weight:700; color:var(--muted);
  letter-spacing:.02em}
.fund-tally-num{margin:0; font-size:16px; color:var(--body)}
.fund-tally-num b{font-size:30px; font-weight:800; color:var(--ink); margin-right:4px}
.fund-tally-foot{margin:7px 0 0; font-size:11px; color:var(--faint); line-height:1.5}
@media (max-width:560px){ .fund-tally{grid-template-columns:1fr} }

.fund-urgent{padding:18px; border-radius:var(--radius-lg); margin-bottom:22px;
  background:var(--amber-soft); border:1px solid var(--amber-line)}
.fund-urgent-head{margin:0 0 10px; font-size:15px; font-weight:800; color:var(--amber-ink)}
.fund-urgent-head b{color:var(--amber-ink)}
.fund-urgent ul{margin:0; padding-left:18px; font-size:13.5px; color:var(--body); line-height:1.8}
.fund-urgent ul b{color:var(--ink)}
.fund-urgent ul span{color:var(--amber-ink)}
.fund-urgent-note{margin:11px 0 0; font-size:12px; color:var(--muted); line-height:1.65}

.fund-group{margin:24px 0 11px; font-size:13px; font-weight:800; color:var(--muted);
  letter-spacing:.03em}
.fund-group b{color:var(--emerald-ink); margin-left:3px}

.fund-card{padding:17px 18px; border-radius:var(--radius-lg); margin-bottom:10px;
  background:var(--paper); border:1px solid var(--line); border-left:3px solid var(--line-2)}
.fund-card.fit{border-left-color:var(--emerald)}
.fund-card.maybe{border-left-color:var(--amber)}
.fund-card.upcoming{opacity:.82}
.fund-card header{display:flex; flex-wrap:wrap; align-items:center; gap:8px}
.fund-card h4{margin:0; font-size:15.5px; color:var(--ink); font-weight:700}
.fund-kind{font-size:11px; font-weight:800; padding:3px 8px; border-radius:4px;
  background:var(--surface); color:var(--muted); border:1px solid var(--line)}
.fund-cap{margin-left:auto; font-size:12px; color:var(--muted)}
.fund-cap b{color:var(--amber-ink); font-weight:700; font-size:13px}
.fund-gist{margin:9px 0 0; font-size:13.5px; color:var(--body); line-height:1.65}
.fund-meta{display:flex; flex-wrap:wrap; gap:4px 16px; margin:10px 0 0; font-size:12.5px}
.fund-meta dt{color:var(--faint)}
.fund-meta dd{margin:0 0 0 5px; color:var(--body); font-weight:600}
.fund-note{margin:10px 0 0; padding:7px 10px; border-radius:var(--radius);
  background:var(--amber-soft); color:var(--amber-ink); font-size:12.5px; font-weight:700}
.fund-reasons{margin:9px 0 0; font-size:12.5px; color:var(--warn)}
.fund-check-line{margin:9px 0 0; font-size:11.5px; color:var(--faint); line-height:1.6; font-style:italic}

.fund-blocked{padding:18px; border-radius:var(--radius-lg); background:var(--surface);
  border:1px solid var(--line); font-size:13.5px; color:var(--body); line-height:1.7}
.fund-disc{margin:20px 0; font-size:11.5px; color:var(--faint); line-height:1.7}

.fund-lead{margin-top:14px}
.fund-lead-head{margin:0 0 4px; font-size:17px; font-weight:800; color:var(--ink)}
.fund-lead-sub{margin:0 0 18px; font-size:13px; color:var(--muted)}
.fund-agree{display:flex; gap:9px; align-items:flex-start; margin:4px 0 16px;
  font-size:11.5px; color:var(--muted); line-height:1.65; cursor:pointer}
.fund-agree input{accent-color:var(--emerald); width:17px; height:17px; flex:none; margin-top:1px}

/* 운영자 미정 — 상담 자리에 뜨는 안내 */
.fund-coming{margin-top:14px; padding:28px; border-radius:var(--radius-lg);
  background:var(--surface); border:2px dashed var(--line); text-align:center}
.fund-coming-head{margin:0 0 6px; font-size:16px; font-weight:800; color:var(--muted)}
.fund-coming-sub{margin:0; font-size:13px; color:var(--faint); line-height:1.7}

.fund-by{margin:14px 0 0; text-align:right; font-size:11px; color:var(--faint)}
.fund-by a{color:var(--muted)}

@media (max-width:560px){
  .fund-sectors{grid-template-columns:1fr}
  .fund-start-row{flex-direction:column}
  .fund-start-row .btn{width:100%}
}


/* 지원사업 공고 블록 */
.pf-sido{color:var(--emerald-ink)}
.pf-count{font-size:14px; font-weight:600; color:var(--muted); margin-left:6px}
.pf-notices{list-style:none; margin:0; padding:0; display:grid; gap:9px}
.pf-notices a{display:block; padding:14px 16px; border-radius:var(--radius);
  background:var(--paper); border:1px solid var(--line); color:var(--body);
  text-decoration:none; transition:.15s var(--ease)}
.pf-notices a:hover{border-color:var(--emerald-line); text-decoration:none}
.pf-notice-title{margin:0 0 6px; font-size:14px; font-weight:700; color:var(--ink);
  line-height:1.45}
.pf-notice-meta{margin:0; font-size:12px; color:var(--muted);
  display:flex; flex-wrap:wrap; gap:4px 10px}
.pf-notice-meta .pf-urgent{color:var(--amber-ink); font-weight:700}
