@charset "utf-8";
/* =========================================================
   심사·시험 준비사항 (process/review-test.html) — review-test.css
   로드 순서: style.css → sub.css → review-test.css
   인증 유형별 시험범위의 3종 색상·리본은 sub.css 공통
   ========================================================= */
.svi { display: block; flex: none; fill: none; stroke-linecap: round; stroke-linejoin: round; overflow: visible; }
.rv { padding: 120px 0 120px; }
.rv-head { text-align: center; }
.rv-head > p:last-child:not(.a2-label) { margin-top: 20px; font-size: 17px; line-height: 1.85; color: var(--sub); }

.rv-block { margin-top: 72px; }
.rv-block__head { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 2px solid var(--navy); }
.rv-block__title { font-size: 24px; font-weight: 800; letter-spacing: -.03em; color: var(--ink); }

/* 준비 항목 카드 : 2 x 2 */
.rv-cards { margin-top: 24px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.rv-card { position: relative; overflow: hidden; display: flex; flex-direction: column; padding: 36px 36px 34px; border: 1px solid #DCE3EE; border-radius: 22px; background: #fff; transition: transform .3s var(--ease), box-shadow .3s, border-color .3s; }
.rv-card::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, #2454C6, #6A9BFF); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }
.rv-card:hover { transform: translateY(-4px); border-color: #C9D6EA; box-shadow: 0 18px 40px rgba(16, 38, 76, .08); }
.rv-card:hover::before { transform: scaleX(1); }
.rv-card__top { display: flex; justify-content: space-between; align-items: flex-start; }
.rv-card__ico { display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: #EEF3FC; }
.rv-card__ico .svi { width: 44px; height: 44px; stroke-width: 2.7; }
.rv-card__no { font-size: 15px; font-weight: 800; letter-spacing: .1em; color: #8FA6D6; }
.rv-card__title { margin: 22px 0 0; font-size: 21px; font-weight: 800; letter-spacing: -.03em; color: var(--navy); }
.rv-card__desc { margin-top: 10px; font-size: 16px; line-height: 1.8; color: var(--sub); }
.rv-card__list { margin-top: 14px; display: grid; gap: 8px; }
.rv-card__list li { position: relative; padding-left: 26px; font-size: 15.5px; line-height: 1.6; color: var(--body); }
.rv-card__list li::before { content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px; border-radius: 50%; background: #EEF3FC url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18'%3E%3Cpath d='M5 9.3l2.6 2.6L13 6.5' fill='none' stroke='%232454C6' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 18px no-repeat; }
.rv-note { margin-top: 18px; font-size: 14px; line-height: 1.7; color: var(--muted); }
.rv-note--center { margin-top: 36px; text-align: center; }

/* 인증 유형별 시험범위 : 3종 색상 + 리본 */
.rv-type { padding: 110px 0 130px; background: #F4F6FA; }
.rv-scopes { margin-top: 56px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.rv-scope { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; padding: 72px 32px 40px; border: 2px solid var(--rb); border-radius: 22px; background: linear-gradient(160deg, #fff 0%, #fff 55%, var(--rb-tint) 100%); transition: transform .3s var(--ease), box-shadow .3s; }
.rv-scope:hover { transform: translateY(-4px); box-shadow: 0 20px 44px rgba(16, 38, 76, .1); }
.rv-scope__ico { display: inline-flex; align-items: center; justify-content: center; width: 88px; height: 88px; border-radius: 50%; background: var(--rb-tint2); box-shadow: 0 0 0 7px var(--rb-tint); }
.rv-scope__ico .svi { width: 50px; height: 50px; stroke-width: 2.6; }
.rv-scope--standard .rv-scope__ico .svi { filter: hue-rotate(-62deg) saturate(.85); }
.rv-scope__name { margin-top: 24px; font-size: 26px; font-weight: 800; letter-spacing: -.03em; color: var(--rb-dark); }
.rv-scope__desc { margin-top: 12px; font-size: 16px; line-height: 1.75; color: var(--body); word-break: keep-all; }

@media (max-width: 1024px) {
  .rv { padding: 88px 0 88px; }
  .rv-type { padding: 80px 0 96px; }
  .rv-scopes { grid-template-columns: 1fr; gap: 16px; max-width: 640px; margin-left: auto; margin-right: auto; }
  .rv-scope { display: grid; grid-template-columns: 1fr 88px; column-gap: 24px; align-items: center; text-align: left; padding: 64px 36px 32px 40px; }
  .rv-scope__ico { grid-column: 2; grid-row: 1 / span 2; }
  .rv-scope__name { grid-column: 1; grid-row: 1; }
  .rv-scope__desc { grid-column: 1; grid-row: 2; }
  .rv-scope__name { margin-top: 0; }
  .rv-scope__desc { margin-top: 6px; }
}

@media (max-width: 768px) {
  .rv { padding: 64px 0 64px; }
  .rv-head { text-align: left; }
  .rv-head > p:last-child:not(.a2-label) { font-size: 15px; }
  .rv-block { margin-top: 44px; }
  .rv-block__title { font-size: 20px; }
  .rv-cards { grid-template-columns: 1fr; gap: 12px; margin-top: 16px; }
  .rv-card { padding: 24px 20px; border-radius: 18px; }
  .rv-card__ico { width: 56px; height: 56px; }
  .rv-card__ico .svi { width: 32px; height: 32px; stroke-width: 3; }
  .rv-card__title { margin-top: 16px; font-size: 18px; }
  .rv-card__desc { font-size: 14px; }
  .rv-card__list li { font-size: 14px; }
  .rv-note { font-size: 13px; }
  .rv-note--center { text-align: left; }
  .rv-type { padding: 64px 0 72px; }
  .rv-scopes { margin-top: 32px; }
  .rv-scope { grid-template-columns: 1fr 60px; column-gap: 16px; padding: 70px 20px 24px 22px; border-radius: 18px; }
  .rv-scope__ico { width: 60px; height: 60px; box-shadow: 0 0 0 5px var(--rb-tint); }
  .rv-scope__ico .svi { width: 34px; height: 34px; stroke-width: 2.9; }
  .rv-scope__name { font-size: 20px; }
  .rv-scope__desc { font-size: 14px; }
}

/* 문단형 블록 : 시험데이터 준비 / 성능지표 및 시험방법 */
.rv-text { margin-top: 24px; display: flex; align-items: center; gap: 28px; padding: 32px 40px; border: 1px solid #DCE3EE; border-radius: 22px; background: #fff; }
.rv-text__ico { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 76px; height: 76px; border-radius: 50%; background: #EEF3FC; }
.rv-text__ico .svi { width: 44px; height: 44px; stroke-width: 2.7; }
.rv-text p { font-size: 17px; line-height: 1.85; color: var(--body); }
.rv-block + .rv-block { margin-top: 56px; }
@media (max-width: 768px) {
  .rv-text { flex-direction: column; align-items: flex-start; gap: 16px; margin-top: 16px; padding: 24px 20px; border-radius: 18px; }
  .rv-text__ico { width: 56px; height: 56px; }
  .rv-text__ico .svi { width: 32px; height: 32px; stroke-width: 3; }
  .rv-text p { font-size: 14px; }
  .rv-block + .rv-block { margin-top: 40px; }
}
