/* =====================================================================
   news-view-free-diagnosis.php 전용 — 무료 진단 서비스 신청 안내 (css/news-view-free-diagnosis.css)
   - 공용 토큰(tokens.css)만 참조한다. 이 페이지를 위해 새로 만든 토큰은 없다.
   - 기사 머리·본문 문단·체크 목록(.news-view__point)·노트(.note)·폼 입력(.form-label·.input·.select·
     .opt-row·.agree-row·.honeypot)은 on-sub.css 공용 규칙을 그대로 쓴다.
   - .news-view__body p(16px·행간 2·p+p 여백)가 본문 안 모든 p에 걸리므로, 보조 문구는
     .news-view__body를 앞에 붙여 명시도를 맞춘다.
   ===================================================================== */

/* 키 비주얼 — 홍보 공지라 다른 기사의 회색 .news-view__sub 대신 쓴다.
   바로 위 페이지 히어로(네이비)와 구분되도록 더 밝은 블루 축으로 칠한다 */
.dg-kv{margin:0 0 24px;padding:34px 36px;border-radius:var(--radius);color:#fff;background:linear-gradient(135deg,var(--navy-bright) 0%,var(--primary) 100%);box-shadow:var(--shadow-card)}
.dg-kv__eyebrow{font-size:12.5px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:color-mix(in srgb,#fff 78%,transparent)}
.dg-kv__title{margin:12px 0 22px;font-size:clamp(21px,2.6vw,28px);font-weight:900;line-height:1.5;word-break:keep-all}
.dg-kv__hl{color:var(--highlight-dark)}
.dg-kv__desc{margin-bottom:22px}
.dg-kv__chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.dg-kv__chips li{position:relative;padding:7px 14px 7px 32px;font-size:13.5px;font-weight:700;border-radius:20px;background:color-mix(in srgb,#fff 14%,transparent);border:1px solid color-mix(in srgb,#fff 28%,transparent)}
.dg-kv__chips li::before{content:"";position:absolute;left:12px;top:50%;width:13px;height:13px;transform:translateY(-50%);background:currentColor;-webkit-mask:var(--icon-check) center/contain no-repeat;mask:var(--icon-check) center/contain no-repeat}
.dg-kv__foot{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:26px;padding-top:22px;border-top:1px solid color-mix(in srgb,#fff 24%,transparent)}
.dg-kv__meta{display:flex;flex-wrap:wrap;gap:8px 28px}
.dg-kv__meta dt{font-size:12.5px;font-weight:700;color:color-mix(in srgb,#fff 75%,transparent)}
.dg-kv__meta dd{margin-top:2px;font-size:17px;font-weight:900}
.dg-kv__cta{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:40px;background:#fff;color:var(--primary);font-size:15px;font-weight:800;transition:.2s}
.dg-kv__cta::after{content:"";width:16px;height:16px;background:currentColor;-webkit-mask:var(--icon-arrow-down) center/contain no-repeat;mask:var(--icon-arrow-down) center/contain no-repeat}
@media (hover:hover){.dg-kv__cta:hover{background:var(--info-bg);color:var(--primary-deep)}}
.dg-kv__cta:focus-visible{outline:3px solid #fff;outline-offset:3px}

/* 본문 소제목 — 기사 제목이 h1이므로 섹션은 h2 */
#apply{scroll-margin-top:calc(var(--head-h) + 24px)}
.dg-h2{margin:52px 0 18px;font-size:clamp(19px,2.2vw,23px);font-weight:900;color:var(--ink);line-height:1.4}

/* 항목 → 설명 목록 (요약·진단 내용·서비스 개요). service-price .terms-dl과 같은 idiom */
.dg-dl{margin:26px 0;border-top:2px solid var(--navy)}
.dg-dl > div{display:grid;grid-template-columns:180px 1fr;gap:24px;padding:16px 8px;border-bottom:1px solid var(--line);align-items:start}
.dg-dl dt{font-size:15px;font-weight:800;color:var(--ink);line-height:1.7}
.dg-dl dd{font-size:15px;color:var(--gray);line-height:1.75}
.dg-dl dd b{color:var(--primary);font-weight:800}
.dg-h2 + .dg-dl{margin-top:0}
/* 본문 첫 요약 목록은 기사 머리의 네이비 하단선과 겹치지 않게 윗선을 뺀다 */
.news-view__body > .dg-dl:first-child{margin-top:-14px;border-top:0}

/* 운영 영향 없음 카드 4종 */
.dg-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;list-style:none;margin:0;padding:0}
.dg-cards li{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:22px 24px}
.dg-cards__en{display:block;font-size:12px;font-weight:800;color:var(--primary);text-transform:uppercase;letter-spacing:.6px}
.dg-cards h3{margin:8px 0 6px;font-size:17px;font-weight:800;color:var(--ink);line-height:1.4}
.news-view__body .dg-cards p{font-size:14.5px;color:var(--gray);line-height:1.75}

/* 진행 절차 — 좁은 본문 폭(880px)에서는 공용 .steps가 3+1로 접히므로 2×2 격자로 둔다 */
.dg-steps{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;list-style:none;margin:0;padding:0}
.dg-steps li{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);padding:20px 22px}
.dg-steps__no{display:inline-block;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(150deg,var(--navy),var(--primary));padding:5px 12px;border-radius:8px}
.dg-steps b{display:block;margin:12px 0 4px;font-size:17px;font-weight:800;color:var(--ink)}
.news-view__body .dg-steps p{font-size:14.5px;color:var(--gray);line-height:1.75}

/* 준비 사항·유의 사항 노트 */
.dg-note{margin:28px 0}
.dg-note > b{color:var(--ink);font-weight:800}
.dg-list{margin:8px 0 0;padding:0;list-style:none}
.dg-list li{position:relative;padding-left:14px}
.dg-list li::before{content:"";position:absolute;left:2px;top:.8em;width:4px;height:4px;border-radius:50%;background:var(--gray)}

/* 신청서 */
.dg-form{padding:28px 30px;background:#fff;border:1px solid var(--line);border-radius:var(--radius)}
.dg-form > .form-row:first-child .form-label{margin-top:0}
/* legend는 위 여백이 먹지 않으므로 여백을 fieldset 쪽에 준다 */
.dg-field{margin:20px 0 0;padding:0;border:0;min-width:0}
.dg-field legend.form-label{margin:0 0 8px;padding:0}
.opt-hint{font-weight:500;color:var(--gray);font-size:13px}
.news-view__body .dg-lead{margin:0 0 14px;font-size:14px;color:var(--gray);line-height:1.6}
.news-view__body .dg-hint{margin-top:10px;font-size:13px;color:var(--gray);line-height:1.6}
.news-view__body .dg-privacy{margin-top:8px;font-size:13px;color:var(--gray);line-height:1.6}

@media (max-width:768px){
  .dg-kv{padding:26px 22px}
  .dg-kv__cta{width:100%;justify-content:center}
  .dg-dl > div{grid-template-columns:1fr;gap:4px;padding:14px 4px}
  .dg-cards,.dg-steps{grid-template-columns:1fr}
  .dg-form{padding:22px 18px}
}
