/* kardis 공통 스타일 — 시안 A(서체·보고서 구조) + C(색) + B(검토 도구 페이지의 격자) 혼합 */
:root{
  --paper:#FFFFFF; --sheet:#F7F8F5; --sage:#E9EFE7; --sage-2:#D9E3D5;
  --ink:#10201A; --ink-2:#4E6158; --rule:#CFD9CB; --rule-2:#A9B8A5;
  --green:#123B2A; --green-2:#1E5A40; --green-3:#2F7D5B; --ochre:#D9A441; --ochre-2:#8A5E0C; --ochre-bg:#FBF1DC;
  --pass:#0E5E3B; --pass-bg:#E4F0E8; --part:#8A5E0C; --part-bg:#FBF1DC; --fail:#9B2C2C; --fail-bg:#F8E5E5;
  --dark:#0F2A1E; --dark-2:#163A2A; --grid:#2A5240; --on-dark:#E8F0EA; --on-dark-2:#A6BDB0;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans KR","Noto Sans CJK KR","Apple SD Gothic Neo","Malgun Gothic",system-ui,sans-serif;font-size:16px;line-height:1.75;word-break:keep-all;overflow-wrap:break-word;font-variant-numeric:tabular-nums}
a{color:inherit;text-decoration:none}
.serif,h1,h2,.brand{font-family:"Noto Serif KR","Noto Serif CJK KR",serif}
.wrap{max-width:1160px;margin:0 auto;padding-left:22px;padding-right:22px}
.hide-m{display:none}

/* 상단 */
.top{position:sticky;top:0;z-index:20;background:var(--paper);border-bottom:1px solid var(--rule)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{font-weight:700;font-size:22px;color:var(--green);letter-spacing:.02em}
.menu{display:none;gap:26px;font-size:15px;color:var(--ink-2)}
.menu a.on{color:var(--green);font-weight:700;border-bottom:2px solid var(--ochre);padding-bottom:2px}
.menu a:hover{color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 20px;border:1px solid var(--green);font-weight:700;font-size:15px;line-height:1;color:var(--green);background:var(--paper);white-space:nowrap}
.btn.fill{background:var(--green);color:var(--paper)}
.btn.fill:hover{background:var(--green-2)}
.btn.sm{padding:9px 14px;font-size:14px}
.btn.ochre{background:var(--ochre);border-color:var(--ochre);color:var(--dark)}

/* 모바일 메뉴 */
.mnav{display:flex;gap:4px;overflow-x:auto;border-bottom:1px solid var(--rule);background:var(--sheet);padding:0 14px;scrollbar-width:none}
.mnav a{flex:none;padding:10px 8px;font-size:14px;color:var(--ink-2)}
.mnav a.on{color:var(--green);font-weight:700;border-bottom:2px solid var(--ochre)}

/* 섹션 공통 */
section{padding:60px 0;border-top:1px solid var(--rule)}
section:first-of-type{border-top:0}
h1{font-weight:700;font-size:32px;line-height:1.3;letter-spacing:-.01em;margin:0 0 18px;color:var(--green)}
h2{font-weight:700;font-size:27px;line-height:1.35;letter-spacing:-.01em;margin:0 0 10px;color:var(--green)}
h3{font-size:18px;line-height:1.4;margin:0 0 6px;font-weight:700}
.lead{font-size:17px;color:var(--ink-2);margin:0 0 30px;max-width:38em}
p.muted,.muted{color:var(--ink-2)}
small,.small{font-size:13px}

/* 도장(판정) */
.stamp{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.06em;padding:2px 9px;border:1px solid currentColor;white-space:nowrap}
.stamp.pass{color:var(--pass);background:var(--pass-bg)}
.stamp.part{color:var(--part);background:var(--part-bg)}
.stamp.fail{color:var(--fail);background:var(--fail-bg)}

/* 보고서 시트 */
.sheet{background:var(--sheet);border:1px solid var(--rule);padding:20px 20px 16px;box-shadow:0 1px 0 var(--rule-2)}
.sheet-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px;border-bottom:2px solid var(--green);padding-bottom:10px;margin-bottom:4px}
.sheet-h b{font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-size:17px;color:var(--green)}
.sheet-h span{font-size:13px;color:var(--ink-2)}
.dim{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--rule);font-size:15px}
.dim small{display:block;color:var(--ink-2);font-size:13px;line-height:1.5}
.sheet .sfoot{font-size:12px;color:var(--ink-2);margin:12px 0 0;border-top:1px dashed var(--rule-2);padding-top:8px}

/* 장부형 목록 */
.ledger{border-top:2px solid var(--green)}
.ledger .item{display:grid;grid-template-columns:1fr;gap:4px;padding:16px 0;border-bottom:1px solid var(--rule)}
.ledger .item h3{font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-size:18px}
.ledger .item p{margin:0;color:var(--ink-2);font-size:15px}
.ledger .k{font-size:13px;color:var(--ochre-2);font-weight:700}

/* 근거 띠 */
.strip{background:var(--green);color:var(--sage)}
.strip .wrap{display:grid;gap:16px;padding-top:26px;padding-bottom:26px;font-size:15px}
.strip b{display:block;font-family:"Noto Serif KR","Noto Serif CJK KR",serif;font-size:30px;font-weight:700;line-height:1.1;color:var(--paper)}
.strip small{display:block;opacity:.75;font-size:13px}

/* 카드(흰 바탕) — 모서리는 작게, 그림자 없음 */
.box{background:var(--paper);border:1px solid var(--rule);padding:20px}
.box p{margin:0;color:var(--ink-2);font-size:15px}
.grid{display:grid;gap:12px;grid-template-columns:1fr}

/* 표 */
table.t{width:100%;border-collapse:collapse;font-size:14px}
table.t th,table.t td{text-align:left;padding:9px 10px;border-bottom:1px solid var(--rule);vertical-align:top}
table.t th{color:var(--ink-2);font-weight:500;border-bottom:2px solid var(--green)}
table.t td.n{text-align:right;white-space:nowrap}

footer{border-top:1px solid var(--rule);padding:36px 0 56px;font-size:14px;color:var(--ink-2)}
.foot{display:grid;gap:22px}
footer h4{margin:0 0 6px;font-size:14px;color:var(--ink)}
footer p{margin:0 0 6px}
footer a{color:var(--green)}

:focus-visible{outline:3px solid var(--ochre);outline-offset:2px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media (min-width:880px){
  .hide-m{display:block}
  .menu{display:flex}
  .mnav{display:none}
  section{padding:88px 0}
  h1{font-size:46px}
  h2{font-size:32px}
  .ledger{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
  .ledger .item{grid-template-columns:120px 1fr;gap:16px;padding:18px 0}
  .strip .wrap{grid-template-columns:repeat(3,1fr);gap:40px;padding-top:30px;padding-bottom:30px}
  .grid.c2{grid-template-columns:repeat(2,1fr)}
  .grid.c3{grid-template-columns:repeat(3,1fr)}
  .grid.c4{grid-template-columns:repeat(4,1fr)}
  .foot{grid-template-columns:1.2fr 1fr 1.4fr}
}
