/* 찬스노트 디자인 — OceanWP 위에 얹는 모양.
   2026-10-25 사용자 선택 'B · 산뜻한 정보형': 흰 바탕 + 파란 포인트 한 가지, 둥근 카드, 제목·본문 모두 고딕(Pretendard).
   면은 옅은 회색(#f2f4f6·#f9fafb)과 1px 선으로 나누고 그림자·그러데이션은 쓰지 않는다. 급한 마감(오늘·3일 이내)만 빨강.
   (이전 '공문서형' — 흑백·인주색·명조·각진 모서리 — 은 git 기록에 남아 있다.) 크기는 다섯 단계만 쓴다. */

:root {
  --cn-bg: #ffffff;
  --cn-page: #f7f9fc;         /* 목록·검색 화면의 바탕(그 위에 흰 카드) */
  --cn-surface: #f2f4f6;      /* 한 단계 다른 면(안내·고지·체크 목록) */
  --cn-surface-2: #e5e8eb;    /* 선·끝난 상태 */
  --cn-line: #e5e8eb;
  --cn-band-a: #ffffff;       /* 목록 카드 */
  --cn-band-b: #ffffff;
  --cn-ink: #191f28;          /* 본문 */
  --cn-muted: #4e5968;        /* 보조 설명만(2026-10-25 휴대폰에서 흐리다는 의견으로 #6b7684 → 더 진하게) */
  --cn-seal: #3182f6;         /* 파란 포인트 — 버튼·링크 강조·접수 중 상태 */
  --cn-seal-dark: #1b64da;
  --cn-seal-soft: #e8f3ff;
  --cn-seal-ink: #ffffff;
  --cn-urgent: #f04452;       /* 오늘 마감·3일 이내만 */
  --cn-field-ink: #3182f6;    /* 접수 상태 상자(파란 면, 흰 글자) */
  --cn-field-ink-text: #ffffff;
  --cn-footer: #191f28;

  --cn-sans: "Pretendard Variable", Pretendard, -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", "Malgun Gothic", system-ui, sans-serif;
  --cn-serif: var(--cn-sans); /* B 방향: 명조를 쓰지 않는다(예전 규칙이 --cn-serif 를 부르면 고딕이 나오게) */

  --cn-small: 15px;
  --cn-body: clamp(17px, 15.6px + 0.28vw, 19px);
  --cn-lead: clamp(19px, 16.8px + 0.6vw, 24px);
  --cn-head: clamp(24px, 17.6px + 1.6vw, 34px);
  --cn-display: clamp(32px, 14px + 4.6vw, 80px);

  --cn-measure: 760px;
  --cn-wide: 1200px;
  --cn-gutter: clamp(20px, 4vw, 48px);
  --cn-radius: 16px;          /* 카드·상자 */
  --cn-radius-sm: 12px;       /* 버튼·입력 칸·작은 표시 */
}

/* ---------- 바탕 ---------- */
body, body #outer-wrap, body #wrap, body #main, body #content-wrap, .site-content {
  background: var(--cn-bg);
}
html body {
  color: var(--cn-ink);
  font-family: var(--cn-sans);
  font-size: var(--cn-body);
  line-height: 1.75;
  letter-spacing: -0.01em;
  word-break: keep-all;
  overflow-wrap: anywhere;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
body a { color: var(--cn-ink); text-decoration-thickness: 0.08em; text-underline-offset: 0.18em; }
body a:hover, body a:focus-visible { color: var(--cn-seal); }
:focus-visible { outline: 3px solid var(--cn-seal); outline-offset: 3px; }
::selection { background: var(--cn-ink); color: #fff; }

.cn-wrap { max-width: var(--cn-wide); margin-inline: auto; padding-inline: var(--cn-gutter); box-sizing: border-box; }

/* ---------- 머리(이름·메뉴): 장식 없는 한 줄 ---------- */
#top-bar-wrap { border: 0; }
#top-bar-wrap:empty, #top-bar-wrap:not(:has(a, p, span:not(:empty))) { display: none; }
/* OceanWP 의 모든 .container 를 같은 폭·같은 좌우 여백으로(화면 폭마다 좌우 여백이 달라지지 않게) */
body .container { width: auto; max-width: var(--cn-wide); padding-inline: var(--cn-gutter); box-sizing: border-box; }
#site-header.minimal-header, #site-header {
  background: var(--cn-bg);
  border-bottom: 0;
  box-shadow: none;
}
#site-header-inner.container { max-width: var(--cn-wide); width: auto; padding-inline: var(--cn-gutter); }
#site-logo #site-logo-inner a.site-logo-text, #site-logo a.site-title {
  font-family: var(--cn-serif);
  font-weight: 800;
  font-size: var(--cn-lead);
  letter-spacing: -0.03em;
  color: var(--cn-ink) !important;  /* OceanWP 가 인라인 색을 넣는다 */
  text-decoration: none;
}
#site-navigation-wrap .dropdown-menu > li > a {
  font-family: var(--cn-sans);
  font-weight: 600;
  font-size: var(--cn-small);
  color: var(--cn-ink);
  letter-spacing: -0.01em;
}
#site-navigation-wrap .dropdown-menu > li > a:hover { color: var(--cn-seal); }
.oceanwp-mobile-menu-icon a, #mobile-dropdown a { color: var(--cn-ink); font-family: var(--cn-sans); }
#mobile-dropdown { background: var(--cn-bg); box-shadow: none; border: 0; }

/* OceanWP 의 띠 제목(목록·분류 화면) */
.page-header { background: var(--cn-surface); border: 0; padding-block: clamp(40px, 6vw, 72px); }
.page-header .page-header-title {
  font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); letter-spacing: -0.03em; line-height: 1.3; color: var(--cn-ink);
}
.site-breadcrumbs, .site-breadcrumbs a { font-size: var(--cn-small); color: var(--cn-muted); }

/* ---------- 한 칸 배치 ---------- */
body.content-full-width #content-wrap.container, body #content-wrap.container { max-width: var(--cn-wide); width: auto; padding-inline: var(--cn-gutter); }
body.content-full-width .content-area { width: 100%; float: none; border: 0; padding: 0; }
body.single-post .content-area .site-content { max-width: var(--cn-measure); margin-inline: auto; }
/* OceanWP 의 'content-max-width'(글 안 요소마다 700px·가운데)를 풀어, 글 칸 안의 왼쪽 끝을 하나로 맞춘다 */
body.single-post.content-max-width .entry-header,
body.single-post.content-max-width ul.meta,
body.single-post.content-max-width .entry-content h2,
body.single-post.content-max-width .entry-content h3,
body.single-post.content-max-width .entry-content p { max-width: none; margin-left: 0; margin-right: 0; padding-left: 0; padding-right: 0; }
body.single-post.content-max-width .entry-content ul.wp-block-list { max-width: none; margin: 0 0 1.5em 1.15em; padding: 0; }
body.single-post.content-max-width .entry-content .cg-notice ul,
body.single-post.content-max-width .entry-content .cg-table ul { max-width: none; margin: 0 0 0 1.15em; padding: 0; }

/* ---------- 글 화면 ---------- */
body.single-post #main #content-wrap { padding-top: clamp(40px, 7vw, 96px); padding-bottom: clamp(64px, 9vw, 128px); }
body.single-post .entry-header { margin: 0 0 20px; }
/* 글 제목: 왼쪽 정렬, 글 칸 안에서 두 줄 안팎(공고 제목은 길다 — 30~40자) */
body.single-post h1.single-post-title {
  font-family: var(--cn-serif);
  font-weight: 800;
  font-size: clamp(28px, 16px + 2.2vw, 46px);
  line-height: 1.3;
  letter-spacing: -0.035em;
  color: var(--cn-ink);
  margin: 0; padding: 0; border: 0;
  text-align: left;
  text-wrap: balance;
}
/* 날짜·갱신일·분류: 아이콘 없이 작은 글자 한 줄 */
.single-post ul.meta, .blog-entry ul.meta {
  display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 4px 20px;
  margin: 0 0 40px; padding: 0; border: 0;
  font-size: var(--cn-small); color: var(--cn-muted); letter-spacing: 0;
}
.single-post ul.meta li, .blog-entry ul.meta li { margin: 0; padding: 0; line-height: 1.6; }
.single-post ul.meta li::after, .blog-entry ul.meta li::after { display: none; }
.single-post ul.meta li i, .blog-entry ul.meta li i { display: none; }
.single-post ul.meta li a, .blog-entry ul.meta li a { color: var(--cn-muted); }
.single-post ul.meta li.meta-mod-date > time::before { content: "갱신 "; }

.single-post .entry-content { font-size: var(--cn-body); line-height: 1.8; color: var(--cn-ink); }
.single-post .entry-content > p { margin: 0 0 1.4em; }
.single-post .entry-content h2.wp-block-heading {
  font-family: var(--cn-serif);
  font-weight: 800;
  font-size: var(--cn-head);
  line-height: 1.35;
  letter-spacing: -0.03em;
  margin: clamp(44px, 6vw, 72px) 0 17.6px;
  color: var(--cn-ink);
}
.single-post .entry-content h3.wp-block-heading {
  font-family: var(--cn-sans);
  font-weight: 700;
  font-size: var(--cn-lead);
  line-height: 1.45;
  letter-spacing: -0.02em;
  margin: 2.2em 0 0.5em;
  color: var(--cn-ink);
}
.single-post .entry-content ul.wp-block-list { margin: 0 0 1.5em 1.15em; padding: 0; }
.single-post .entry-content ul.wp-block-list li { margin: 0 0 0.55em; padding-left: 0.2em; }
.single-post .entry-content ul.wp-block-list li::marker { color: var(--cn-muted); }
.single-post .entry-content small { font-size: var(--cn-small); color: var(--cn-muted); }

/* 접수 상태: 도장처럼 찍힌 단색 면(색이 아니라 글자로 뜻을 전한다) */
.single-post .entry-content .cg-status {
  margin: 0 0 44px;
  padding: 21.6px 24px 20px;
  border: 0; border-radius: var(--cn-radius);
  background: var(--cn-field-ink); color: var(--cn-field-ink-text);
}
.single-post .entry-content .cg-status p { margin: 0; color: inherit; }
.single-post .entry-content .cg-status strong { font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-lead); letter-spacing: -0.02em; display: block; margin-bottom: 5.6px; }
.single-post .entry-content .cg-status small { color: rgba(255,255,255,.78); }
.single-post .entry-content .cg-status a { color: inherit; }
.single-post .entry-content .cg-status--closing_today { background: var(--cn-seal); color: var(--cn-seal-ink); }
.single-post .entry-content .cg-status--closed,
.single-post .entry-content .cg-status--cancelled,
.single-post .entry-content .cg-status--stale,
.single-post .entry-content .cg-status--unknown { background: var(--cn-surface-2); color: var(--cn-ink); }
.single-post .entry-content .cg-status--closed small,
.single-post .entry-content .cg-status--cancelled small,
.single-post .entry-content .cg-status--stale small,
.single-post .entry-content .cg-status--unknown small { color: var(--cn-muted); }

/* 핵심 정보 표: 공문서 서식처럼(표는 선을 써도 되는 곳) */
.single-post .entry-content .cg-table-scroll { border: 0; border-radius: var(--cn-radius); margin: 24px 0 32px; background: var(--cn-bg); }
.single-post .entry-content .cg-table { font-size: var(--cn-body); line-height: 1.65; border-top: 2px solid var(--cn-ink); }
.single-post .entry-content .cg-table caption {
  font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-lead); letter-spacing: -0.02em;
  padding: 0 0 12px; text-align: left; color: var(--cn-ink); caption-side: top;
}
.single-post .entry-content .cg-table th, .single-post .entry-content .cg-table td {
  padding: 13.6px 16px; border-bottom: 1px solid var(--cn-surface-2); vertical-align: top;
}
.single-post .entry-content .cg-table thead th { background: var(--cn-surface); font-weight: 700; color: var(--cn-ink); }
.single-post .entry-content .cg-table tbody th { background: var(--cn-surface); font-weight: 700; color: var(--cn-ink); }
.single-post .entry-content .cg-table td small { display: block; margin-top: 5.6px; }

/* 찬스고 안내·고지: 한 단계 다른 면 */
.single-post .entry-content .cg-cta {
  margin: clamp(48px, 7vw, 72px) 0 24px; padding: clamp(24px, 3vw, 36px);
  border: 0; border-radius: var(--cn-radius); background: var(--cn-surface);
}
.single-post .entry-content .cg-cta h2.wp-block-heading { margin-top: 0; font-size: var(--cn-lead); }
.single-post .entry-content .cg-cta a {
  display: inline-flex; align-items: center; min-height: 48px; padding: 11.2px 20.8px; margin: 4px 8px 4px 0;
  background: var(--cn-ink); color: #fff; text-decoration: none; font-weight: 700; border-radius: var(--cn-radius);
  transition: background-color .18s ease, transform .18s ease;
}
.single-post .entry-content .cg-cta a:hover, .single-post .entry-content .cg-cta a:focus-visible { background: var(--cn-seal); color: #fff; transform: translateY(-1px); }
.single-post .entry-content .cg-cta a:active { transform: translateY(0); }
.single-post .entry-content .cg-notice {
  margin: 24px 0 0; padding: 20px 24px; border: 0; border-radius: var(--cn-radius);
  background: var(--cn-surface); font-size: var(--cn-small); line-height: 1.75; color: var(--cn-ink);
}
.single-post .entry-content .cg-notice h2.wp-block-heading { margin-top: 0; font-size: var(--cn-lead); }

/* 함께 보면 좋은 지원사업: 다음에 읽을 글 목록(큰 명조 제목) */
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) { list-style: none; margin-left: 0; display: grid; gap: 4px; }
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) > li {
  margin: 0; padding: 17.6px 20px; background: var(--cn-band-a);
}
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) > li:nth-child(even) { background: var(--cn-band-b); }
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) > li > a {
  font-family: var(--cn-serif); font-weight: 600; font-size: var(--cn-lead); line-height: 1.45; letter-spacing: -0.02em; text-decoration: none;
}

/* ---------- 첫 화면 머리글 ---------- */
.cn-masthead { background: var(--cn-bg); padding-block: clamp(40px, 7vw, 104px) clamp(40px, 6vw, 88px); }
.cn-masthead__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 40px; align-items: center; }
@media (min-width: 900px) {
  /* 왼쪽 7: 문장 · 오른쪽 5: 어보(첫 화면의 40% 남짓) */
  .cn-masthead.has-plate .cn-masthead__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); }
}
.cn-masthead__title {
  font-family: var(--cn-serif); font-weight: 800; font-size: clamp(34px, 12px + 4.2vw, 72px); line-height: 1.2; letter-spacing: -0.04em;
  margin: 0 0 32px; color: var(--cn-ink); text-wrap: balance;
}
.cn-masthead__standfirst { font-size: var(--cn-lead); line-height: 1.65; color: var(--cn-ink); max-width: 30em; margin: 0 0 32px; }
.cn-masthead__action { margin: 0; }

/* 그림: 사각 그대로, 설명은 그림 바로 아래 작은 글자 */
.cn-masthead__plate, .cn-band, .cn-method__plate, .cn-footer__plate { margin: 0; }
.cn-masthead__plate img, .cn-band img, .cn-method__plate img, .cn-footer__plate img { display: block; width: 100%; max-width: none; border-radius: var(--cn-radius); background: var(--cn-surface-2); }
.cn-masthead__plate img, .cn-method__plate img { height: auto; }
.cn-masthead__plate figcaption, .cn-band figcaption, .cn-method__plate figcaption, .cn-footer__plate figcaption {
  margin-top: 10px; font-size: var(--cn-small); line-height: 1.55; color: var(--cn-muted);
}
/* 화면 폭 전체의 책가도 띠 */
.cn-band img { height: clamp(240px, 38vw, 560px); object-fit: cover; object-position: 50% 45%; }
.cn-band figcaption { max-width: var(--cn-wide); margin-inline: auto; padding-inline: var(--cn-gutter); box-sizing: border-box; }

/* 원문 공고에서 시작합니다: 왼쪽 목판, 오른쪽 세 가지 약속 */
.cn-method { padding-block: clamp(80px, 9vw, 112px) clamp(88px, 10vw, 136px); }
.cn-method__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: 32px; align-items: center; }
@media (min-width: 900px) {
  .cn-method.has-plate .cn-method__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); gap: clamp(32px, 5vw, 80px); }
}
.cn-method__title { font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); line-height: 1.3; letter-spacing: -0.03em; margin: 0 0 28px; color: var(--cn-ink); }
.cn-method .cn-facts { grid-template-columns: minmax(0, 1fr); gap: 24px; }
.cn-method .cn-facts li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; }
@media (min-width: 560px) { .cn-method .cn-facts li { grid-template-columns: 6.5em minmax(0, 1fr); gap: 4px 24px; align-items: baseline; } }
.cn-method .cn-facts strong { font-size: var(--cn-lead); margin: 0; }
.cn-method .cn-facts span { font-size: var(--cn-body); color: var(--cn-ink); max-width: none; }
.cn-button {
  display: inline-flex; align-items: center; min-height: 52px; padding: 12.8px 24px;
  background: var(--cn-seal); color: var(--cn-seal-ink) !important; text-decoration: none; font-weight: 700; font-size: var(--cn-body);
  border-radius: var(--cn-radius); transition: background-color .18s ease, transform .18s ease;
}
.cn-button:hover, .cn-button:focus-visible { background: var(--cn-ink); color: #fff !important; transform: translateY(-1px); }
.cn-button:active { transform: translateY(0); }
.cn-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px clamp(24px, 4vw, 56px); }
.cn-facts li { margin: 0; padding: 0; }
.cn-facts strong { display: block; font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); line-height: 1.25; letter-spacing: -0.03em; margin-bottom: 6.4px; }
.cn-facts span { display: block; font-size: var(--cn-small); color: var(--cn-muted); line-height: 1.6; max-width: 20em; }
.cn-section-title {
  font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); letter-spacing: -0.03em; line-height: 1.3;
  margin: 0 auto; padding-top: 0; padding-bottom: 16px; scroll-margin-top: 24px;
}

/* ---------- 글 목록: 장부처럼 한 줄씩(카드 없음) ---------- */
body.blog #content-wrap, body.archive #content-wrap { padding-top: 0; padding-bottom: clamp(64px, 9vw, 128px); }
body.blog .content-area, body.archive .content-area { padding-top: 0; }
.blog-entry.large-entry, article.blog-entry {
  margin: 0 0 4px; padding: clamp(24px, 3.2vw, 38.4px) clamp(20px, 3vw, 40px); border: 0; background: var(--cn-band-a);
}
article.blog-entry:nth-of-type(even) { background: var(--cn-band-b); }
.blog-entry .blog-entry-inner { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9.6px; }
.blog-entry h2.blog-entry-title { margin: 0; font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); line-height: 1.35; letter-spacing: -0.03em; }
.blog-entry h2.blog-entry-title a { color: var(--cn-ink); text-decoration: none; }
.blog-entry h2.blog-entry-title a:hover, .blog-entry h2.blog-entry-title a:focus-visible { color: var(--cn-seal); }
.blog-entry ul.meta { margin: 0; }
.blog-entry .blog-entry-summary { max-width: var(--cn-measure); }
.blog-entry .blog-entry-summary p { margin: 0; color: var(--cn-ink); font-size: var(--cn-body); line-height: 1.75; }
.blog-entry .blog-entry-readmore { margin: 4px 0 0; }
.blog-entry .blog-entry-readmore a { font-weight: 700; font-size: var(--cn-small); color: var(--cn-ink); text-decoration: underline; }
.blog-entry .blog-entry-readmore a i { display: none; }
.oceanwp-pagination ul li a, .oceanwp-pagination ul li span { border: 0; border-radius: var(--cn-radius); background: var(--cn-surface); color: var(--cn-ink); }
.oceanwp-pagination ul li span.current { background: var(--cn-ink); color: #fff; }

/* ---------- 바닥: 먹색 면, 이름을 먼저 ---------- */
.cn-footer { background: var(--cn-field-ink); color: var(--cn-field-ink-text); padding-block: clamp(56px, 9vw, 112px) clamp(32px, 4vw, 48px); }
.cn-footer a { color: #fff; }
.cn-footer a:hover, .cn-footer a:focus-visible { color: #fff; text-decoration-color: var(--cn-seal); }
.cn-footer__name { font-family: var(--cn-serif); font-weight: 800; font-size: clamp(52px, 16px + 10vw, 160px); line-height: 1; letter-spacing: -0.05em; margin: 0 0 clamp(32px, 5vw, 64px); color: #fff; }
.cn-footer__row { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 32px clamp(32px, 6vw, 96px); align-items: start; }
.cn-footer__about p { margin: 0 0 16px; font-size: var(--cn-body); line-height: 1.75; color: #fff; max-width: 36em; }
.cn-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: 10.4px; }
.cn-footer__links a { font-family: var(--cn-serif); font-weight: 600; font-size: var(--cn-lead); text-decoration: none; }
.cn-footer__links a:hover { text-decoration: underline; }
.cn-footer__plate { margin-bottom: clamp(40px, 6vw, 72px); }
.cn-footer__plate img { height: clamp(140px, 16vw, 240px); object-fit: cover; object-position: 50% 40%; background: #2a2a2a; }
.cn-footer__plate figcaption { color: rgba(255,255,255,.72); }
.cn-footer__credits { margin: clamp(32px, 4vw, 48px) 0 0; font-size: var(--cn-small); line-height: 1.6; color: rgba(255,255,255,.72); max-width: 40em; }
#footer.site-footer { background: var(--cn-field-ink); }
#footer #footer-bottom { background: var(--cn-field-ink); border: 0; padding-block: 20px 32px; }
#footer #footer-bottom #copyright, #footer #footer-bottom #copyright a { color: rgba(255,255,255,.72); font-size: var(--cn-small); text-align: left; }
#footer #footer-bottom .container { max-width: var(--cn-wide); width: auto; padding-inline: var(--cn-gutter); }
#footer #footer-widgets { display: none; }
#scroll-top { background: var(--cn-ink); border-radius: var(--cn-radius); box-shadow: none; }

/* ---------- 휴대폰 ---------- */
@media (max-width: 720px) {
  .blog-entry h2.blog-entry-title { font-size: var(--cn-lead); line-height: 1.45; }
  .cn-facts { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  .cn-facts strong { font-size: var(--cn-lead); }
  .cn-footer__row { grid-template-columns: minmax(0, 1fr); }
  .single-post .entry-content .cg-status { padding: 18.4px 18.4px 16.8px; }
  .single-post .entry-content .cg-table th, .single-post .entry-content .cg-table td { padding: 12px 11.2px; }
  .cn-button { width: 100%; justify-content: center; }
}

/* 움직임을 줄이도록 설정한 사람에게는 이동을 없앤다 */
@media (prefers-reduced-motion: reduce) {
  .cn-button, .single-post .entry-content .cg-cta a { transition: none; transform: none !important; }
}

/* ---------- 움직임(스크립트가 html 에 cn-js 를 붙였을 때만 — 스크립트가 안 되면 처음부터 다 보인다) ---------- */
.cn-js .cn-rise { opacity: 0; transform: translateY(24px); transition: opacity .7s cubic-bezier(.2,.7,.2,1), transform .7s cubic-bezier(.2,.7,.2,1); transition-delay: calc(var(--cn-i, 0) * 70ms); }
.cn-js .cn-rise.is-in { opacity: 1; transform: none; }
/* 글 본문은 짧고 가볍게(움직임 없이 흐림만, 0.3초) — 화면 아래 30% 에서 미리 시작하므로 읽을 때는 이미 보인다 */
.cn-js .cn-rise.cn-rise--early { transform: none; transition: opacity .3s ease; transition-delay: 0s; }
.cn-js .cn-band.cn-rise { opacity: 1; transform: none; }
.cn-js .cn-band img { clip-path: inset(0 100% 0 0); transition: clip-path 1.2s cubic-bezier(.65,0,.35,1); }
.cn-js .cn-band.is-in img { clip-path: inset(0 0 0 0); }
.cn-masthead__title .cn-mask { display: block; overflow: hidden; padding-bottom: .06em; }
.cn-masthead__title .cn-mask > span { display: block; }
/* 첫 화면 제목은 움직이지 않는다: 제목에 등장 움직임(숨겼다 보이기·살짝 내려앉기)을 주면 Chrome 이 첫 화면을 1초 넘게 늦게 그린다
   (2026-10-22 Lighthouse: 움직임 있을 때 휴대폰 성능 60 · 없을 때 99). 움직임은 아래로 내려가며 보이는 부분에만 */
@media (prefers-reduced-motion: reduce) {
  .cn-js .cn-rise, .cn-js .cn-masthead__title .cn-mask > span { opacity: 1; transform: none; transition: none; }
  .cn-js .cn-band img { clip-path: none; transition: none; }
}

/* ---------- 마감일 칸(글 목록 왼쪽)과 남은 날수 ---------- */
.blog-entry .cn-deadline { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.15em 0.6em; font-variant-numeric: tabular-nums; }
.blog-entry .cn-deadline__date { font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); line-height: 1.1; letter-spacing: -0.02em; color: var(--cn-ink); }
.blog-entry .cn-deadline__label { font-size: var(--cn-small); color: var(--cn-muted); }
.blog-entry .cn-deadline .cg-dday { font-size: var(--cn-small); font-weight: 700; color: var(--cn-ink); }
.blog-entry .cn-deadline.cn-is-soon .cg-dday, .blog-entry .cn-deadline.cn-is-today .cg-dday { color: var(--cn-seal); }
.blog-entry .cn-deadline--none .cn-deadline__label, .blog-entry .cn-deadline--many .cn-deadline__label { color: var(--cn-muted); }
.single-post .entry-content .cg-status .cg-dday { font-weight: 700; }
.single-post .entry-content .cg-status .cn-status-action { margin: 18px 0 0; }
.single-post .entry-content .cg-status .cn-button { min-height: 48px; font-size: var(--cn-body); }
.single-post .entry-content .cg-status .cn-button:hover, .single-post .entry-content .cg-status .cn-button:focus-visible { background: #fff; color: var(--cn-ink) !important; }
.single-post .entry-content .cg-status--closing_today .cn-button, .single-post .entry-content .cg-status.cn-is-soon .cn-button { background: #fff; color: var(--cn-ink) !important; }
.single-post .entry-content .cg-status--closing_today .cn-button:hover, .single-post .entry-content .cg-status.cn-is-soon .cn-button:hover { background: var(--cn-ink); color: #fff !important; }
.single-post .entry-content .cg-status--closed .cn-button, .single-post .entry-content .cg-status--cancelled .cn-button,
.single-post .entry-content .cg-status--stale .cn-button, .single-post .entry-content .cg-status--unknown .cn-button { background: var(--cn-ink); color: #fff !important; }
.single-post .entry-content .cg-status.cn-is-soon { background: var(--cn-seal); color: var(--cn-seal-ink); }   /* 3일 이내: 인주색 도장 */
.single-post .entry-content .cg-status.cn-is-soon small { color: rgba(255,255,255,.85); }

@media (min-width: 900px) {
  /* 왼쪽 칸 = 마감일, 오른쪽 = 제목·날짜·요약(한 축에 맞춰 정렬) */
  .blog-entry .blog-entry-inner { grid-template-columns: 176px minmax(0, 1fr); column-gap: clamp(24px, 4vw, 56px); }
  .blog-entry .blog-entry-inner > * { grid-column: 2; }
  .blog-entry .blog-entry-inner > .cn-deadline { grid-column: 1; grid-row: 1 / span 4; flex-direction: column; align-items: flex-start; gap: 6px; }
  .cn-section-title { padding-left: calc(var(--cn-gutter) + 176px + clamp(24px, 4vw, 56px) + clamp(20px, 3vw, 40px)); }
}
@media (max-width: 899px) {
  /* 휴대폰·태블릿: 마감일은 제목 아래 한 줄(제목 위 작은 표시는 쓰지 않는다) */
  .blog-entry .blog-entry-inner > .cn-deadline { order: 2; }
  .blog-entry .blog-entry-inner > header { order: 1; }
  .blog-entry .blog-entry-inner > ul.meta { order: 3; }
  .blog-entry .blog-entry-inner > .blog-entry-summary { order: 4; }
  .blog-entry .blog-entry-inner > .blog-entry-readmore { order: 5; }
  .blog-entry .cn-deadline__date { font-size: var(--cn-lead); }
}

/* ---------- OceanWP 의 더 구체적인 규칙 이기기(목록 날짜 12px·자세히 보기 11px·제목 24px·바닥 12px) ---------- */
body .blog-entry.post ul.meta, body .blog-entry.post ul.meta li, body .blog-entry.post ul.meta li *,
body.single-post ul.meta, body.single-post ul.meta li, body.single-post ul.meta li * { font-size: var(--cn-small); line-height: 1.6; }
body .blog-entry.post .blog-entry-readmore { display: none; }   /* 제목이 곧 링크 — '자세히 보기'는 되풀이 */
body .blog-entry.post .blog-entry-header .blog-entry-title,
body .blog-entry.post .blog-entry-header .blog-entry-title a { font-size: var(--cn-head); line-height: 1.35; }
body #footer #footer-bottom, body #footer #footer-bottom * { font-size: var(--cn-small); }
@media (max-width: 720px) {
  body .blog-entry.post .blog-entry-header .blog-entry-title,
  body .blog-entry.post .blog-entry-header .blog-entry-title a { font-size: var(--cn-lead); line-height: 1.45; }
}

/* 휴대폰·태블릿: '원문 공고에서 시작합니다'는 글 먼저, 목판 그림은 그 아래(그림 설명이 다음 제목 위에 붙지 않게) */
@media (max-width: 899px) {
  .cn-method__text { order: 1; }
  .cn-method__plate { order: 2; }
}

/* ---------- 글 첫 화면의 접수 상태: 관인처럼 찍힌 먹색 면에 마감일을 큰 글자로 ---------- */
body.single-post .entry-content .cg-status { padding: clamp(22px, 3.4vw, 40px); }
body.single-post .entry-content .cg-status.has-stamp { display: grid; grid-template-columns: minmax(0, 1fr); }
body.single-post .entry-content .cg-status .cn-stamp { margin: 0 0 16px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; }
body.single-post .entry-content .cg-status .cn-stamp__date {
  font-family: var(--cn-serif); font-weight: 800; font-size: clamp(56px, 30px + 4vw, 88px); line-height: .95; letter-spacing: -0.04em;
  font-variant-numeric: tabular-nums;
}
body.single-post .entry-content .cg-status .cn-stamp__label { font-size: var(--cn-lead); font-weight: 700; line-height: 1.3; }
@media (min-width: 600px) {
  body.single-post .entry-content .cg-status.has-stamp { grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(24px, 4vw, 48px); align-items: start; }
  body.single-post .entry-content .cg-status.has-stamp > .cn-stamp { grid-row: 1 / span 2; flex-direction: column; align-items: flex-start; gap: 10px; margin: 0; }
}

/* 체크 목록(대상·서류·제외 조건·팁): 서식 칸처럼 한 단계 다른 면 위에 */
body.single-post.content-max-width .entry-content h2.wp-block-heading + ul.wp-block-list:not(:has(> li > a:only-child)) {
  background: var(--cn-surface); margin: 0 0 1.5em; padding: clamp(20px, 2.6vw, 28px) clamp(20px, 2.6vw, 32px) clamp(20px, 2.6vw, 28px) calc(clamp(20px, 2.6vw, 32px) + 1.15em);
}
body.single-post.content-max-width .entry-content h2.wp-block-heading + ul.wp-block-list:not(:has(> li > a:only-child)) > li:last-child { margin-bottom: 0; }
/* 함께 보면 좋은 지원사업(링크만 있는 목록)은 왼쪽 들여쓰기 없이 띠로 */
body.single-post.content-max-width .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) { margin: 0 0 1.5em; padding: 0; }
body.single-post.content-max-width ul.meta { justify-content: flex-start; }
/* 상태 제목 다음 줄바꿈(<br>)이 빈 줄을 만들지 않게, 버튼 글자에는 밑줄 없이 */
body.single-post .entry-content .cg-status strong + br { display: none; }
body .cn-button, body.single-post .entry-content .cg-cta a { text-decoration: none; }
/* 방문한 날 이미 마감일이 지났는데 아직 상태가 바뀌기 전(하루 한 번 원문 확인): 끝난 것처럼 회색 면으로 */
body.single-post .entry-content .cg-status.cn-is-over { background: var(--cn-surface-2); color: var(--cn-ink); }
body.single-post .entry-content .cg-status.cn-is-over small { color: var(--cn-muted); }
body.single-post .entry-content .cg-status.cn-is-over .cn-button { background: var(--cn-ink); color: #fff !important; }

/* ---------- 광고 칸(글 화면에만, 소제목 사이에만): 위에 '광고' 한 단어, 글과 넉넉히 떨어지게. 채워지지 않으면 통째로 숨김 ---------- */
body.single-post .entry-content .cn-ad { margin: clamp(56px, 6vw, 72px) 0; padding: 0; clear: both; }   /* 아래가 80~96px 이면 PC 에서 빈 화면이 생겼다(2026-10-24) */
body.single-post.content-max-width .entry-content .cn-ad .cn-ad__label { margin: 0 0 8px; font-size: var(--cn-small); line-height: 1.4; color: var(--cn-muted); letter-spacing: 0; }
body.single-post .entry-content .cn-ad:has(ins.adsbygoogle[data-ad-status="unfilled"]) { display: none; }
body.single-post .entry-content .cn-ad__preview {
  display: flex; align-items: center; justify-content: center; min-height: 250px; padding: 24px;
  background: var(--cn-surface-2); color: var(--cn-muted); font-size: var(--cn-small); text-align: center;
}

/* ---------- 띠 제목(분류·검색·필수 페이지·404) 아래 한 줄 ---------- */
body .page-header .page-subheading { margin: 12px 0 0; font-size: var(--cn-lead); line-height: 1.55; color: var(--cn-ink); max-width: 36em; }
body .page-header .site-breadcrumbs { font-size: var(--cn-small); }

/* ---------- 필수 페이지(소개·개인정보처리방침·이용약관·쿠키·광고 안내): 글 화면과 같은 읽기 칸 ---------- */
body.page:not(.home) .content-area .site-content { max-width: var(--cn-measure); margin-inline: auto; }
body.page .single-page-article .entry { font-size: var(--cn-body); line-height: 1.8; color: var(--cn-ink); padding-block: clamp(40px, 6vw, 80px) clamp(64px, 9vw, 120px); }
body.page .single-page-article .entry > * { max-width: none; margin-left: 0; margin-right: 0; }
body.page .single-page-article .entry h2 { font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); line-height: 1.35; letter-spacing: -0.03em; margin: clamp(44px, 6vw, 72px) 0 16px; color: var(--cn-ink); }
body.page .single-page-article .entry h3 { font-family: var(--cn-sans); font-weight: 700; font-size: var(--cn-lead); line-height: 1.45; letter-spacing: -0.02em; margin: 2em 0 .5em; color: var(--cn-ink); }
body.page .single-page-article .entry p { margin: 0 0 1.2em; }
body.page .single-page-article .entry ul, body.page .single-page-article .entry ol { margin: 0 0 1.5em 1.15em; padding: 0; }
body.page .single-page-article .entry li { margin: 0 0 .55em; padding-left: .2em; }
body.page .single-page-article .entry li::marker { color: var(--cn-muted); }
body.page .single-page-article .entry .cg-table-scroll { overflow-x: auto; margin: 24px 0 32px; }
body.page .single-page-article .entry .cg-table { width: 100%; border-collapse: collapse; border-top: 2px solid var(--cn-ink); font-size: var(--cn-body); line-height: 1.65; }
body.page .single-page-article .entry .cg-table th, body.page .single-page-article .entry .cg-table td { padding: 12.8px 14.4px; border-bottom: 1px solid var(--cn-surface-2); vertical-align: top; text-align: left; }
body.page .single-page-article .entry .cg-table thead th { background: var(--cn-surface); font-weight: 700; }
body.page .single-page-article .entry code { font-family: var(--cn-sans); font-size: .92em; background: var(--cn-surface); padding: 1px 5px; }
/* 시험 사이트의 초안 표시: 채워야 할 칸은 인주색 글자로(운영 사이트에는 채운 뒤 올리므로 보이지 않음) */
.cn-draft-banner { margin: 0 0 32px !important; padding: 14px 18px; background: var(--cn-ink); color: #fff; font-size: var(--cn-small); line-height: 1.6; }
mark.cn-draft-note { background: transparent; color: var(--cn-seal); font-weight: 700; padding: 0; }

/* ---------- 검색 결과: 글 목록과 같은 띠(선 없이), 제목이 곧 링크 ---------- */
body.search .site-content article.post { border: 0; margin: 0 0 4px; padding: clamp(24px, 3.2vw, 38.4px) clamp(20px, 3vw, 40px); background: var(--cn-band-a); }
body.search .site-content article.post:nth-of-type(even) { background: var(--cn-band-b); }
body.search .search-entry-header .search-entry-title, body.search .search-entry-header .search-entry-title a {
  margin: 0 0 10px; font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); line-height: 1.35; letter-spacing: -0.03em; color: var(--cn-ink); text-decoration: none;
}
body.search .search-entry-header .search-entry-title a:hover { color: var(--cn-seal); }
body.search .search-entry-summary, body.search .search-entry-summary p { margin: 0; font-size: var(--cn-body); line-height: 1.75; color: var(--cn-ink); max-width: var(--cn-measure); }
body.search .search-entry-readmore { display: none; }   /* 제목이 곧 링크 — '자세히 보기'는 되풀이 */
body.search #content-wrap { padding-top: clamp(40px, 6vw, 72px); }
@media (max-width: 720px) {
  body.search .search-entry-header .search-entry-title, body.search .search-entry-header .search-entry-title a { font-size: var(--cn-lead); line-height: 1.45; }
}

/* ---------- 없는 주소(404)·검색 결과 없음: 왼쪽 정렬, 버튼은 첫 화면 버튼과 같게 ---------- */
body.error404 .error404-content, body.search-no-results .page-content { max-width: var(--cn-measure); margin: 0 auto; padding-block: clamp(40px, 6vw, 88px); text-align: left; }
body.error404 .error404-content .error-title { font-family: var(--cn-serif); font-weight: 800; font-size: var(--cn-head); line-height: 1.35; letter-spacing: -0.03em; color: var(--cn-ink); text-align: left; margin: 0 0 16px; }
body.error404 .error404-content .error-text, body.search-no-results .page-content p { font-size: var(--cn-body); line-height: 1.75; color: var(--cn-ink); text-align: left; margin: 0 0 28px; }
body.error404 .error404-content form, body.search-no-results .page-content form { max-width: 520px; margin: 0 0 32px; text-align: left; }
body.error404 .error404-content form label, body.search-no-results .page-content form label { display: block; font-weight: 700; font-size: var(--cn-body); margin: 0 0 8px; text-align: left; color: var(--cn-ink); }
body .searchform input[type="search"], body .searchform input[type="text"] { border: 2px solid var(--cn-ink); border-radius: 0; min-height: 52px; font-size: var(--cn-body); color: var(--cn-ink); background: #fff; box-shadow: none; }
body .searchform input[type="search"]:focus, body .searchform input[type="text"]:focus { outline: 3px solid var(--cn-seal); outline-offset: 2px; }
body.error404 .error404-content .error-btn {
  display: inline-flex; align-items: center; min-height: 52px; padding: 12.8px 24px; border-radius: 0;
  background: var(--cn-seal); color: #fff; font-size: var(--cn-body); font-weight: 700; letter-spacing: 0; text-transform: none; text-decoration: none;
}
body.error404 .error404-content .error-btn:hover, body.error404 .error404-content .error-btn:focus-visible { background: var(--cn-ink); color: #fff; }

/* Font Awesome 을 빼서(속도) 아이콘 두 개를 글자로: 휴대폰 메뉴는 '메뉴' 글자만, 맨 위로 버튼은 화살표 글자 */
.oceanwp-mobile-menu-icon a i.fa-bars { display: none; }
#scroll-top i.fa-angle-up { font-family: var(--cn-sans); font-style: normal; font-size: 20px; line-height: 1; }
#scroll-top i.fa-angle-up::before { content: "↑"; }
.blog-entry-readmore i.fa-angle-right, .search-entry-readmore i.fa-angle-right { display: none; }

/* 글 제목 아래 날짜 줄: 휴대폰에서 갱신일까지 있으면 분류는 늘 다음 줄 — 글꼴이 늦게 와 글자 폭이 바뀌어도 줄 수가 같게(밀림 방지) */
@media (max-width: 560px) {
  body.single-post ul.meta:has(li.meta-mod-date) li.meta-cat { flex-basis: 100%; }
}
/* OceanWP 가 글 안 모든 링크에 밑줄을 매우 구체적인 규칙으로 걸어서(:not() 두 겹) 버튼만 예외로 */
body .cn-button, body.single-post .entry-content .cg-cta a { text-decoration: none !important; }
/* 책가도 띠를 받는 동안은 그림의 바탕색(짙은 남색)으로 — 회색 빈 칸처럼 보이지 않게 */
.cn-band img { background: #23243a; }

/* ---------- 2026-10-24 다듬기(실제 AI 글을 1440·768·390 폭으로 점검) ---------- */
/* 상태 상자의 남은 날수는 따로 한 줄 — 문장 끝에 붙이면 휴대폰에서 '남음'만 다음 줄로 떨어졌다 */
body.single-post .entry-content .cg-status .cg-dday:not(:empty) { display: block; margin-top: 2px; font-weight: 700; white-space: nowrap; }
body.single-post .entry-content .cg-status .cg-dday + br { display: none; }
/* 찬스고 안내·고지 상자: 안쪽 첫 문단의 위 여백이 상자 여백에 더해져 위가 비어 보이던 것 / 제목과 상자 사이가 70px 넘게 벌어지던 것(여백 겹침) */
body.single-post .entry-content .cg-cta > :first-child, body.single-post .entry-content .cg-notice > :first-child { margin-top: 0; }
body.single-post .entry-content .cg-cta > :last-child, body.single-post .entry-content .cg-notice > :last-child { margin-bottom: 0; }
body.single-post .entry-content h2.wp-block-heading + .cg-cta, body.single-post .entry-content h2.wp-block-heading + .cg-notice { margin-top: 0; }
body.single-post .entry-content .cg-cta p { margin: 0 0 16px; }
/* 글 맨 아래 고지: 항목 사이를 띄우고, 첨부 파일 이름은 들여 쓴 작은 목록으로 */
body.single-post .entry-content .cg-notice { padding: clamp(20px, 2.6vw, 28px) clamp(20px, 2.6vw, 32px); line-height: 1.7; }
body.single-post.content-max-width .entry-content .cg-notice > ul { margin: 0 0 16px 1.15em; }
body.single-post .entry-content .cg-notice > ul > li { margin: 0 0 10px; padding-left: 0.2em; }
body.single-post .entry-content .cg-notice > ul > li::marker { color: var(--cn-muted); }
body.single-post.content-max-width .entry-content .cg-notice ul.cg-files { margin: 6px 0 0 1.1em; padding: 0; list-style: circle; }
body.single-post .entry-content .cg-notice ul.cg-files li { margin: 0 0 4px; color: var(--cn-ink); word-break: break-all; }
body.single-post .entry-content .cg-notice ul.cg-files small { display: block; color: var(--cn-muted); word-break: keep-all; }
body.single-post .entry-content .cg-notice p { margin: 0 0 4px; }
/* PC: 긴 공고 제목(30~40자)이 본문 폭 760px 에 갇혀 3줄이 되던 것 — 제목만 본문 왼쪽 끝에 맞춘 채 오른쪽 여백까지(최대 1000px) 넓힌다 */
@media (min-width: 900px) {
  body.single-post .entry-header {
    width: clamp(100%, min(calc(50vw + var(--cn-measure) / 2 - var(--cn-gutter) - 8px), calc((var(--cn-wide) + var(--cn-measure)) / 2 - var(--cn-gutter))), 1000px);
    max-width: none;
  }
}
/* 칸이 셋 이상인 넓은 표(모음·비교 글)는 작은 글 단계로 — 본문 크기(19px)면 760px 안의 다섯 칸이 비좁아 '접수 / 중'처럼 갈렸다 */
body.single-post .entry-content .cg-table:has(thead th:nth-child(3)) { font-size: var(--cn-small); line-height: 1.6; }
body.single-post .entry-content .cg-table:has(thead th:nth-child(3)) th, body.single-post .entry-content .cg-table:has(thead th:nth-child(3)) td { padding: 12px 12.8px; }
body.single-post .entry-content .cg-table .cg-nowrap { white-space: nowrap; }
/* 기본 스타일(chancego-blog.css)의 '표 머리 칸은 한 줄'을 넓은 표에서는 풀어 준다 — 비교 표의 머리 칸은 긴 공고 이름이라 PC 에서도 표가 옆으로 넘쳤다(917px/760px) */
body.single-post .entry-content .cg-table:has(thead th:nth-child(3)) thead th { white-space: normal; }
/* 띠 제목(소개·필수 페이지·404): 띠 제목을 본문 칸(760px)의 왼쪽 끝에 맞춘다 — 띠는 넓은 폭(왼쪽 168px), 본문은 가운데 칸(340px)이라 왼쪽 끝이 어긋났다.
   검색 결과·분류 목록은 목록이 넓어 그대로. 오른쪽 경로 표시는 띠 안쪽 여백을 무시하고 바깥 끝(right:0)에 붙어 있었다 */
body.page:not(.home) .page-header .container, body.error404 .page-header .container { max-width: calc(var(--cn-measure) + 2 * var(--cn-gutter)); }
@media (min-width: 960px) { body .page-header .site-breadcrumbs { right: var(--cn-gutter); } }   /* OceanWP 는 959px 이하에서 흐름대로 둔다(거기에 right 를 주면 왼쪽으로 밀려 화면 끝에 붙음) */
html body .page-header .page-header-title { font-size: var(--cn-head); }
html body .site-breadcrumbs, html body .site-breadcrumbs a, html body .oceanwp-mobile-menu-icon a, html body .oceanwp-mobile-menu-icon a .oceanwp-text { font-size: var(--cn-small); }
/* 404: 검색 칸과 버튼 사이 92px(OceanWP 의 버튼 위 여백 60px + 검색 칸 아래 32px — 버튼은 inline-flex 라 여백이 겹치지 않음) */
body.error404 .error404-content .error-btn { margin-top: 0; }
/* 글 제목 아래 분류 링크: OceanWP 가 페이지 안에 넣는 '.single-post ul.meta li a { 14px }' 이 같은 우선순위로 뒤에 와서 이기므로 한 단계 더 구체적으로 */
html body.single-post ul.meta li a, html body .blog-entry.post ul.meta li a { font-size: var(--cn-small); }

/* 휴대폰: 칸이 셋 이상인 표(모음·비교 글)는 옆으로 밀어야 다 보인다 — 표 위에 한 줄로 알려 준다(2026-10-23, 비교 글 화면 점검) */
@media (max-width: 720px) {
  body.single-post .entry-content .cg-table-scroll:has(thead th:nth-child(3))::before {
    content: "표를 옆으로 밀면 나머지 칸이 보입니다 →";
    display: block; margin: 0 0 8px; font-size: var(--cn-small); line-height: 1.5; color: var(--cn-muted);
  }
}

/* =====================================================================
   B · 산뜻한 정보형(2026-10-25) — 위 규칙 위에 덮는 부분. 위의 색·글꼴은 변수로 이미 바뀌었고,
   여기서는 모양(굵기·선·둥근 모서리·카드)과 예전에 먹색 면이던 곳의 색을 정한다.
   ===================================================================== */
/* 제목 굵기: 고딕에서 800 은 무거워 700 으로 */
#site-logo #site-logo-inner a.site-logo-text, #site-logo a.site-title { font-weight: 800; color: var(--cn-seal-dark) !important; letter-spacing: -0.04em; }
body.single-post h1.single-post-title, .single-post .entry-content h2.wp-block-heading, .page-header .page-header-title,
.cn-method__title, .cn-section-title, .blog-entry h2.blog-entry-title, .cn-facts strong,
body.page .single-page-article .entry h2, body.error404 .error404-content .error-title,
body.search .search-entry-header .search-entry-title, body.search .search-entry-header .search-entry-title a,
.single-post .entry-content .cg-table caption, .single-post .entry-content .cg-status strong { font-weight: 700; }
body.single-post h1.single-post-title { letter-spacing: -0.03em; }
.single-post .entry-content h2.wp-block-heading { letter-spacing: -0.025em; }
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) > li > a,
.cn-footer__links a { font-weight: 600; }

/* 머리: 흰 바탕 + 아래 1px 선 */
#site-header.minimal-header, #site-header { border-bottom: 1px solid var(--cn-line); }
#site-navigation-wrap .dropdown-menu > li > a { color: #4e5968; }
#site-navigation-wrap .dropdown-menu > li > a:hover, #site-navigation-wrap .dropdown-menu > li.current-menu-item > a { color: var(--cn-seal); }
body a:hover, body a:focus-visible { color: var(--cn-seal-dark); }
::selection { background: var(--cn-seal-soft); color: var(--cn-ink); }

/* 띠 제목: 옅은 바탕 */
.page-header { background: var(--cn-page); border-bottom: 1px solid var(--cn-line); }

/* 목록·검색: 옅은 바탕 위 흰 카드(선 1px, 둥근 모서리, 사이 12px) */
body.blog, body.archive, body.search, body.blog #outer-wrap, body.blog #wrap, body.blog #main, body.blog #content-wrap,
body.archive #outer-wrap, body.archive #wrap, body.archive #main, body.archive #content-wrap,
body.search #outer-wrap, body.search #wrap, body.search #main, body.search #content-wrap { background: var(--cn-page); }
body.blog #content-wrap, body.archive #content-wrap { padding-top: clamp(24px, 4vw, 48px); }
.blog-entry.large-entry, article.blog-entry, body.search .site-content article.post {
  margin: 0 0 12px; background: #fff; border: 1px solid var(--cn-line); border-radius: var(--cn-radius);
  transition: border-color .18s ease;
}
article.blog-entry:nth-of-type(even), body.search .site-content article.post:nth-of-type(even) { background: #fff; }
article.blog-entry:hover, body.search .site-content article.post:hover { border-color: #c9d4e2; }
.blog-entry h2.blog-entry-title a:hover, .blog-entry h2.blog-entry-title a:focus-visible { color: var(--cn-seal-dark); }
/* 목록 왼쪽 마감일: 날짜는 굵은 고딕, 남은 날수는 작은 둥근 표시 */
.blog-entry .cn-deadline__date { font-weight: 700; letter-spacing: -0.02em; }
.blog-entry .cn-deadline .cg-dday:not(:empty) {
  display: inline-block; padding: 2px 10px; border-radius: 99px; background: var(--cn-seal-soft); color: var(--cn-seal-dark); line-height: 1.6;
}
.blog-entry .cn-deadline.cn-is-soon .cg-dday, .blog-entry .cn-deadline.cn-is-today .cg-dday { background: #ffeeee; color: #d22030; }
.oceanwp-pagination ul li a, .oceanwp-pagination ul li span { border-radius: var(--cn-radius-sm); background: #fff; border: 1px solid var(--cn-line); }
.oceanwp-pagination ul li span.current { background: var(--cn-seal); border-color: var(--cn-seal); color: #fff; }

/* 글 화면의 접수 상태: 파란 면(오늘·3일 이내는 빨강, 끝난 것은 회색) */
.single-post .entry-content .cg-status { border-radius: var(--cn-radius); }
.single-post .entry-content .cg-status small { color: rgba(255,255,255,.88); }
.single-post .entry-content .cg-status--closing_today, .single-post .entry-content .cg-status.cn-is-soon { background: var(--cn-urgent); }
body.single-post .entry-content .cg-status .cn-stamp__date { font-weight: 800; letter-spacing: -0.03em; }
.single-post .entry-content .cg-status .cn-button { background: #fff; color: var(--cn-ink) !important; }
.single-post .entry-content .cg-status .cn-button:hover, .single-post .entry-content .cg-status .cn-button:focus-visible { background: var(--cn-seal-soft); color: var(--cn-seal-dark) !important; }
.single-post .entry-content .cg-status--closed .cn-button, .single-post .entry-content .cg-status--cancelled .cn-button,
.single-post .entry-content .cg-status--stale .cn-button, .single-post .entry-content .cg-status--unknown .cn-button,
body.single-post .entry-content .cg-status.cn-is-over .cn-button { background: var(--cn-seal); color: #fff !important; }

/* 핵심 정보 표: 둥근 테두리 안에, 머리 칸은 옅은 회색 */
.single-post .entry-content .cg-table-scroll, body.page .single-page-article .entry .cg-table-scroll {
  border: 1px solid var(--cn-line); border-radius: var(--cn-radius); overflow-x: auto;
}
.single-post .entry-content .cg-table, body.page .single-page-article .entry .cg-table { border-top: 0; margin: 0; }
.single-post .entry-content .cg-table caption { padding: 18px 20px 6px; }
.single-post .entry-content .cg-table thead th, .single-post .entry-content .cg-table tbody th,
body.page .single-page-article .entry .cg-table thead th { background: #f9fafb; color: #4e5968; }
.single-post .entry-content .cg-table th, .single-post .entry-content .cg-table td { border-bottom: 1px solid var(--cn-line); }
.single-post .entry-content .cg-table tbody tr:last-child th, .single-post .entry-content .cg-table tbody tr:last-child td { border-bottom: 0; }

/* 체크 목록·안내·고지: 옅은 회색 둥근 상자(찬스고 안내만 옅은 파랑) */
body.single-post.content-max-width .entry-content h2.wp-block-heading + ul.wp-block-list:not(:has(> li > a:only-child)),
.single-post .entry-content .cg-cta, .single-post .entry-content .cg-notice { background: var(--cn-surface); border-radius: var(--cn-radius); }
.single-post .entry-content .cg-cta { background: var(--cn-seal-soft); }
.single-post .entry-content .cg-cta a { background: var(--cn-seal); border-radius: var(--cn-radius-sm); }
.single-post .entry-content .cg-cta a:hover, .single-post .entry-content .cg-cta a:focus-visible { background: var(--cn-seal-dark); }
/* 함께 보면 좋은 지원사업: 흰 카드 목록 */
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) { gap: 8px; }
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) > li,
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) > li:nth-child(even) {
  background: #fff; border: 1px solid var(--cn-line); border-radius: var(--cn-radius);
}
.single-post .entry-content h2.wp-block-heading + ul.wp-block-list:has(> li > a:only-child) > li > a:hover { color: var(--cn-seal-dark); }

/* 버튼·입력 칸 */
.cn-button, body.error404 .error404-content .error-btn { border-radius: var(--cn-radius-sm); background: var(--cn-seal); }
.cn-button:hover, .cn-button:focus-visible, body.error404 .error404-content .error-btn:hover, body.error404 .error404-content .error-btn:focus-visible { background: var(--cn-seal-dark); }
body .searchform input[type="search"], body .searchform input[type="text"] { border: 1px solid #d1d6db; border-radius: var(--cn-radius-sm); }
body .searchform input[type="search"]:focus, body .searchform input[type="text"]:focus { border-color: var(--cn-seal); outline: 3px solid var(--cn-seal-soft); }
#scroll-top { background: var(--cn-seal); border-radius: 99px; }
.single-post .entry-content .cn-ad__preview { border-radius: var(--cn-radius); }
.cn-draft-banner { background: var(--cn-seal-soft); color: var(--cn-seal-dark); border-radius: var(--cn-radius-sm); }
mark.cn-draft-note { color: #d22030; }
body.page .single-page-article .entry code { border-radius: 6px; }

/* 바닥: 짙은 남색 면(흰 글자) — 상태 상자 색(파랑)과 따로 */
.cn-footer, #footer.site-footer, #footer #footer-bottom { background: var(--cn-footer); }
.cn-footer__name { font-weight: 800; letter-spacing: -0.04em; font-size: clamp(44px, 14px + 8vw, 128px); }
.cn-footer a:hover, .cn-footer a:focus-visible { text-decoration-color: #64a8ff; }

/* 첫 화면 */
.cn-masthead__title { font-weight: 800; letter-spacing: -0.035em; }
.cn-masthead__plate img, .cn-method__plate img, .cn-footer__plate img { border-radius: var(--cn-radius); }
.cn-band img { border-radius: 0; }
.cn-footer__name a { text-decoration: none; color: #fff; }
/* 그림(코드로 그린 SVG, 2026-10-25): 칸 폭에 맞게, 글꼴은 본문과 같은 고딕 */
.cn-ill { margin: 0; }
.cn-ill svg { display: block; width: 100%; height: auto; font-family: var(--cn-sans); }
.cn-method__plate.cn-ill svg { max-width: 560px; }
@media (max-width: 899px) { .cn-masthead__plate.cn-ill svg { max-width: 520px; margin-inline: auto; } }
/* 책가도 띠를 뺀 뒤 첫 화면과 다음 칸 사이가 비어 보이지 않게 */
.cn-method { padding-block: clamp(48px, 6vw, 80px) clamp(56px, 7vw, 96px); }
/* 휴대폰에서 글씨가 가늘어 흐려 보이지 않게: 본문을 아주 조금 굵게(Pretendard 가변 글꼴 450 — 기기 기본 글꼴은 400 그대로) */
@media (max-width: 720px) { html body { font-weight: 450; } }
