@charset "utf-8";
/* 디자인펀치 SEO 진단 — 시안형 기획안 공통 스타일 */

:root {
  --color-mint:#1BF0B0;
  --color-blue:#0F766E;
  --color-mint-deep:#00a37a;
  --color-blue-deep:#0F766E;
  --color-grad:linear-gradient(100deg, #1BF0B0 0%, #0F766E 60%);
  --color-ink:#0B0F14;
  --color-text:#16202a;
  --color-sub:#4f5d69;
  --color-muted:#7d8a96;
  --color-line:#e2e8ee;
  --color-line-strong:#cfd8e0;
  --color-bg:#ffffff;
  --color-bg-soft:#f4f8fa;
  --color-bg-tint:#eefbf7;
  --color-good:#12a86b;
  --color-good-bg:#e7f8f0;
  --color-review:#c27a00;
  --color-review-bg:#fff5e0;
  --color-improve:#e5483b;
  --color-improve-bg:#fdecea;
  --color-na:#8a96a3;
  --color-na-bg:#eef1f4;
  --font-main:'Pretendard Variable', Pretendard, -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Malgun Gothic', sans-serif;
  --transition-base:all .3s ease;
  --container:80rem;
  --container-narrow:60rem;
  --header-h:4.5rem;
  --radius-l:1.5rem;
  --radius-m:1rem;
  --radius-s:.625rem;
  --shadow-card:0 .75rem 2.5rem rgba(11, 15, 20, .06);
  --shadow-float:0 1.5rem 4rem rgba(0, 72, 96, .12);
  --color-heading:#0B0F14;
  --color-surface:#ffffff;
  --color-panel:#0B0F14;
  --color-header-bg:rgba(255, 255, 255, .86);
  --color-glass:rgba(255, 255, 255, .9);
}

*, *::before, *::after {box-sizing:border-box;}
html {font-size:100%; scroll-behavior:smooth; scroll-padding-top:calc(var(--header-h) + 1rem);}
body {margin:0; font-family:var(--font-main); color:var(--color-text); background:var(--color-bg); line-height:1.6; word-break:keep-all; overflow-wrap:break-word; -webkit-font-smoothing:antialiased;}
h1, h2, h3, h4, h5, p, ul, ol, dl, dd, figure, fieldset {margin:0; padding:0;}
ul, ol {list-style:none;}
a {color:inherit; text-decoration:none;}
img {display:block; max-width:100%; height:auto;}
button, input, textarea, select {font:inherit; color:inherit;}
button {cursor:pointer; background:none; border:0; padding:0;}
fieldset {border:0; min-width:0;}
[hidden] {display:none;}
:focus-visible {outline:3px solid var(--color-blue); outline-offset:2px;}

.sr_only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0;}
.nowrap {white-space:nowrap;}
.br_pc {display:inline;}
.inner {max-width:var(--container); margin:0 auto; padding:0 2.5rem;}
.inner_narrow {max-width:var(--container-narrow); margin:0 auto; padding:0 2.5rem;}

/* ---------- 버튼 ---------- */
.btn {display:inline-flex; align-items:center; justify-content:center; gap:.5rem; min-height:3.25rem; padding:0 1.625rem; border-radius:999px; border:1px solid transparent; font-size:1rem; font-weight:700; line-height:1.2; white-space:nowrap; transition:var(--transition-base);}
.btn_primary {background:var(--color-grad); color:#fff; box-shadow:0 .5rem 1.5rem rgba(15, 118, 110, .28);}
.btn_primary:hover {transform:translateY(-2px); box-shadow:0 .75rem 2rem rgba(15, 118, 110, .36);}
.btn_dark {background:var(--color-panel); color:#fff;}
.btn_dark:hover {background:#1d2731;}
.btn_line {background:var(--color-surface); color:var(--color-text); border-color:var(--color-line-strong);}
.btn_line:hover {border-color:var(--color-heading);}
.btn_ghost_white {background:rgba(255, 255, 255, .08); color:#fff; border-color:rgba(255, 255, 255, .35);}
.btn_ghost_white:hover {background:rgba(255, 255, 255, .16);}
.btn_s {min-height:2.5rem; padding:0 1.125rem; font-size:.875rem;}
.btn_block {width:100%;}
.btn_arrow::after {content:""; width:.5rem; height:.5rem; border-top:2px solid currentColor; border-right:2px solid currentColor; transform:rotate(45deg); margin-left:.125rem;}
.btn[disabled] {opacity:.55; cursor:not-allowed; transform:none;}

/* ---------- 헤더 ---------- */
.header {position:fixed; top:0; left:0; right:0; z-index:100; height:var(--header-h); background:var(--color-header-bg); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); border-bottom:1px solid transparent; transition:var(--transition-base);}
.header.is-scrolled {border-bottom-color:var(--color-line); box-shadow:0 .25rem 1.25rem rgba(11, 15, 20, .04);}
.header_inner {display:flex; align-items:center; justify-content:space-between; gap:2rem; height:100%; max-width:var(--container); margin:0 auto; padding:0 2.5rem;}
.header_logo {display:flex; align-items:center; gap:.625rem; font-size:1.125rem; font-weight:800; letter-spacing:-.02em; color:var(--color-heading);}
.header_logo_mark {display:grid; place-items:center; width:2rem; height:2rem; border-radius:.625rem; background:var(--color-grad); color:#fff; font-size:.75rem; font-weight:900; letter-spacing:0;}
.header_logo em {font-style:normal; color:var(--color-blue-deep);}
.gnb {display:flex; align-items:center; gap:.25rem;}
.gnb_link {display:block; padding:.5rem 1rem; border-radius:999px; font-size:.9375rem; font-weight:600; color:var(--color-sub); transition:var(--transition-base);}
.gnb_link:hover {color:var(--color-heading); background:var(--color-bg-soft);}
.gnb_link.is-active {color:var(--color-heading); background:var(--color-bg-tint);}
.header_util {display:flex; align-items:center; gap:.75rem;}
.header_menu_btn {display:none; width:2.75rem; height:2.75rem; border-radius:.75rem; position:relative;}
.header_menu_btn span {position:absolute; left:.75rem; right:.75rem; height:2px; background:var(--color-heading); border-radius:2px; transition:var(--transition-base);}
.header_menu_btn span:nth-child(1) {top:.9375rem;}
.header_menu_btn span:nth-child(2) {top:1.3125rem;}
.header_menu_btn span:nth-child(3) {top:1.6875rem;}
.header.is-open .header_menu_btn span:nth-child(1) {top:1.3125rem; transform:rotate(45deg);}
.header.is-open .header_menu_btn span:nth-child(2) {opacity:0;}
.header.is-open .header_menu_btn span:nth-child(3) {top:1.3125rem; transform:rotate(-45deg);}
.mnav {display:none;}

/* ---------- 공통 섹션 ---------- */
.page {padding-top:var(--header-h);}
.section {padding:7.5rem 0;}
.section_soft {background:var(--color-bg-soft);}
.section_head {margin-bottom:3.5rem;}
.section_head_center {text-align:center;}
.section_head_row {display:flex; align-items:flex-end; justify-content:space-between; gap:2rem;}
.eyebrow {display:inline-flex; align-items:center; gap:.5rem; font-size:.875rem; font-weight:700; letter-spacing:.04em; color:var(--color-blue-deep); margin-bottom:1rem;}
.eyebrow::before {content:""; width:.5rem; height:.5rem; border-radius:50%; background:var(--color-grad);}
.section_title {font-size:2.75rem; font-weight:800; line-height:1.3; letter-spacing:-.03em; color:var(--color-heading);}
.section_lead {margin-top:1.25rem; font-size:1.125rem; line-height:1.7; color:var(--color-sub);}
.section_head_center .section_lead {max-width:46rem; margin-left:auto; margin-right:auto;}
.text_grad {background:var(--color-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.text_point {color:var(--color-blue-deep);}

/* 서브 비주얼 */
.subvisual {position:relative; padding:6rem 0 5rem; background:var(--color-bg-soft); overflow:hidden;}
.subvisual::before {content:""; position:absolute; right:-10rem; top:-12rem; width:40rem; height:40rem; border-radius:50%; background:radial-gradient(circle, rgba(27, 240, 176, .28), rgba(15, 118, 110, 0) 65%);}
.subvisual::after {content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(11, 15, 20, .04) 1px, transparent 1px), linear-gradient(90deg, rgba(11, 15, 20, .04) 1px, transparent 1px); background-size:3.5rem 3.5rem; -webkit-mask-image:linear-gradient(180deg, #000, transparent 85%); mask-image:linear-gradient(180deg, #000, transparent 85%); pointer-events:none;}
.subvisual .inner {position:relative; z-index:1;}
.subvisual_grid {display:grid; grid-template-columns:1.1fr .9fr; gap:4rem; align-items:center;}
.subvisual_title {font-size:3.25rem; font-weight:800; line-height:1.25; letter-spacing:-.035em; color:var(--color-heading);}
.subvisual_lead {margin-top:1.5rem; font-size:1.125rem; line-height:1.75; color:var(--color-sub);}
.subvisual_media {border-radius:var(--radius-l); overflow:hidden; box-shadow:var(--shadow-float); aspect-ratio:4 / 3;}
.subvisual_media img {width:100%; height:100%; object-fit:cover;}
.subvisual_compact {padding:4.5rem 0 3.5rem;}

/* 카드 */
.card {background:var(--color-surface); border:1px solid var(--color-line); border-radius:var(--radius-l); padding:2rem;}
.card_shadow {border-color:transparent; box-shadow:var(--shadow-card);}

/* 태그·뱃지 */
.chip {display:inline-flex; align-items:center; gap:.375rem; padding:.375rem .875rem; border-radius:999px; font-size:.8125rem; font-weight:700; line-height:1.3; background:var(--color-bg-soft); color:var(--color-sub);}
.chip_seo {background:#e3f3f1; color:var(--color-blue-deep);}
.chip_geo {background:#e4faf2; color:var(--color-mint-deep);}
.chip_aeo {background:#efeafd; color:#6a4bd6;}
.chip_sample {background:var(--color-panel); color:#fff;}
.status {display:inline-flex; align-items:center; gap:.375rem; padding:.3125rem .75rem; border-radius:999px; font-size:.8125rem; font-weight:700; line-height:1.3; white-space:nowrap;}
.status_icon {font-size:.6875rem;}
.status_good {background:var(--color-good-bg); color:var(--color-good);}
.status_review {background:var(--color-review-bg); color:var(--color-review);}
.status_improve {background:var(--color-improve-bg); color:var(--color-improve);}
.status_na {background:var(--color-na-bg); color:var(--color-na);}
.priority {display:inline-flex; padding:.25rem .625rem; border-radius:.375rem; border:1px solid var(--color-line-strong); font-size:.75rem; font-weight:600; color:var(--color-sub); white-space:nowrap;}

/* 리스트 */
.dot_list > li {position:relative; padding-left:1rem; font-size:.9375rem; line-height:1.65; color:var(--color-sub);}
.dot_list > li + li {margin-top:.375rem;}
.dot_list > li::before {content:""; position:absolute; left:0; top:.625rem; width:.3125rem; height:.3125rem; border-radius:50%; background:var(--color-blue);}
.check_list > li {position:relative; padding-left:1.5rem; font-size:.9375rem; line-height:1.65; color:var(--color-sub);}
.check_list > li + li {margin-top:.5rem;}
.check_list > li::before {content:""; position:absolute; left:.125rem; top:.375rem; width:.375rem; height:.6875rem; border-right:2px solid var(--color-mint-deep); border-bottom:2px solid var(--color-mint-deep); transform:rotate(45deg);}

/* ---------- 폼 공통 ---------- */
.form_label {display:block; margin-bottom:.625rem; font-size:.9375rem; font-weight:700; color:var(--color-heading);}
.form_req {color:var(--color-mint-deep); font-size:.8125rem; font-weight:700;}
.form_opt {color:var(--color-muted); font-size:.8125rem; font-weight:500;}
.input {display:block; width:100%; min-height:3.5rem; padding:0 1.125rem; border:1px solid var(--color-line-strong); border-radius:var(--radius-s); background:var(--color-surface); font-size:1rem; transition:border-color .2s, box-shadow .2s;}
.input::placeholder {color:#a3adb7;}
.input:focus {outline:none; border-color:var(--color-blue); box-shadow:0 0 0 4px rgba(15, 118, 110, .16);}
.input[aria-invalid="true"] {border-color:var(--color-improve);}
.textarea {min-height:9rem; padding:1rem 1.125rem; resize:vertical; line-height:1.6;}
.field_error {margin-top:.5rem; font-size:.875rem; font-weight:600; color:var(--color-improve);}
.field + .field {margin-top:1.25rem;}
.field_grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.25rem;}
.field_grid .field + .field {margin-top:0;}
.form_help {margin-top:.5rem; font-size:.875rem; color:var(--color-muted);}
.check_label {display:flex; align-items:flex-start; gap:.625rem; font-size:.9375rem; line-height:1.5; color:var(--color-text); cursor:pointer;}
.check_label input {flex:none; width:1.25rem; height:1.25rem; margin:.125rem 0 0; accent-color:var(--color-mint-deep);}
.consent {padding:1.125rem 1.25rem; border:1px solid var(--color-line); border-radius:var(--radius-m); background:var(--color-bg-soft);}
.consent_gap {margin-top:1.25rem;}
.consent_row {display:flex; align-items:center; justify-content:space-between; gap:1rem;}
.consent_toggle {flex:none; font-size:.8125rem; font-weight:600; color:var(--color-sub); text-decoration:underline; text-underline-offset:3px;}
.consent_detail {margin-top:1rem; padding-top:1rem; border-top:1px solid var(--color-line);}
.info_dl {display:grid; grid-template-columns:5.5rem 1fr; gap:.5rem 1rem; font-size:.875rem; line-height:1.6;}
.info_dl dt {font-weight:700; color:var(--color-text);}
.info_dl dd {color:var(--color-sub);}
.consent_link {display:inline-block; margin-top:.75rem; font-size:.8125rem; color:var(--color-blue-deep); text-decoration:underline; text-underline-offset:3px;}
.hp_field {position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

/* ---------- 메인 히어로 ---------- */
.hero {position:relative; padding:5.5rem 0 7rem; background:linear-gradient(180deg, #f2fbf8 0%, #f4f8fa 55%, #fff 100%); overflow:hidden;}
.hero::before {content:""; position:absolute; left:-14rem; top:-10rem; width:44rem; height:44rem; border-radius:50%; background:radial-gradient(circle, rgba(27, 240, 176, .3), rgba(27, 240, 176, 0) 65%);}
.hero::after {content:""; position:absolute; right:-12rem; top:6rem; width:40rem; height:40rem; border-radius:50%; background:radial-gradient(circle, rgba(15, 118, 110, .22), rgba(15, 118, 110, 0) 65%);}
.hero_grid {position:relative; z-index:1; display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 33rem); gap:4.5rem; align-items:start;}
.hero_copy {padding-top:2.5rem;}
.hero_badge {display:inline-flex; align-items:center; gap:.5rem; padding:.5rem 1rem; border-radius:999px; background:var(--color-surface); border:1px solid rgba(0, 163, 122, .25); font-size:.875rem; font-weight:700; color:var(--color-mint-deep); box-shadow:0 .25rem 1rem rgba(0, 163, 122, .08);}
.hero_badge i {width:.5rem; height:.5rem; border-radius:50%; background:var(--color-mint); box-shadow:0 0 0 4px rgba(27, 240, 176, .25); animation:pulse 2s infinite;}
.hero_title {margin-top:1.75rem; font-size:3.5rem; font-weight:800; line-height:1.24; letter-spacing:-.04em; color:var(--color-heading);}
.hero_desc {margin-top:1.75rem; font-size:1.0625rem; line-height:1.8; color:var(--color-sub);}
.hero_desc strong {color:var(--color-heading);}
.hero_tags {display:grid; gap:.75rem; margin-top:2.25rem;}
.hero_tag {display:flex; align-items:center; gap:1rem; padding:1rem 1.25rem; border-radius:var(--radius-m); background:var(--color-glass); border:1px solid var(--color-line); font-size:.9375rem; color:var(--color-sub);}
.hero_tag strong {flex:none; display:grid; place-items:center; width:3.25rem; height:2rem; border-radius:.5rem; font-size:.8125rem; font-weight:800; letter-spacing:.02em;}
.hero_tag_seo strong {background:#e3f3f1; color:var(--color-blue-deep);}
.hero_tag_geo strong {background:#e4faf2; color:var(--color-mint-deep);}
.hero_tag_aeo strong {background:#efeafd; color:#6a4bd6;}
@keyframes pulse {0%, 100% {box-shadow:0 0 0 4px rgba(27, 240, 176, .25);} 50% {box-shadow:0 0 0 8px rgba(27, 240, 176, .08);}}

/* 진단 신청 카드 */
.audit_card {position:relative; padding:2.25rem; border-radius:var(--radius-l); background:var(--color-surface); box-shadow:var(--shadow-float); border:1px solid rgba(15, 118, 110, .12);}
.audit_card_head {display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.75rem;}
.audit_card_title {font-size:1.375rem; font-weight:800; letter-spacing:-.02em; color:var(--color-heading);}
.stepper {display:flex; align-items:center; gap:.5rem;}
.stepper_item {display:flex; align-items:center; gap:.375rem; font-size:.8125rem; font-weight:700; color:var(--color-muted);}
.stepper_item b {display:grid; place-items:center; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--color-bg-soft); font-size:.75rem;}
.stepper_item.is-active {color:var(--color-heading);}
.stepper_item.is-active b {background:var(--color-grad); color:#fff;}
.stepper_item.is-done b {background:var(--color-panel); color:#fff;}
.stepper_line {width:1rem; height:1px; background:var(--color-line-strong);}
.audit_step + .audit_step {margin-top:0;}
.url_field {position:relative;}
.url_field .input {padding-left:3rem; font-size:1.0625rem;}
.url_field::before {content:""; position:absolute; left:1.125rem; top:1.125rem; width:1.25rem; height:1.25rem; background:no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237d8a96' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3a14 14 0 0 1 0 18M12 3a14 14 0 0 0 0 18'/%3E%3C/svg%3E");}
.mode {display:grid; gap:.75rem; margin-top:1.5rem;}
.mode_opt {position:relative; display:block; cursor:pointer;}
.mode_opt input {position:absolute; opacity:0;}
.mode_box {display:flex; gap:1rem; align-items:flex-start; padding:1.125rem 1.25rem; border:1.5px solid var(--color-line); border-radius:var(--radius-m); transition:var(--transition-base);}
.mode_box::before {content:""; flex:none; width:1.25rem; height:1.25rem; margin-top:.125rem; border-radius:50%; border:2px solid var(--color-line-strong); background:var(--color-surface); transition:var(--transition-base);}
.mode_opt input:checked + .mode_box {border-color:var(--color-blue); background:#f1f9f8;}
.mode_opt input:checked + .mode_box::before {border:6px solid var(--color-blue-deep);}
.mode_opt input:focus-visible + .mode_box {outline:3px solid var(--color-blue); outline-offset:2px;}
.mode_text strong {display:block; font-size:1rem; font-weight:700; color:var(--color-heading);}
.mode_text small {display:block; margin-top:.25rem; font-size:.875rem; line-height:1.55; color:var(--color-sub);}
.mode_time {display:inline-block; margin-right:.375rem; padding:.0625rem .5rem; border-radius:.375rem; background:var(--color-bg-soft); font-size:.75rem; font-weight:700; color:var(--color-sub);}
.audit_desc {margin-bottom:1.25rem; font-size:.875rem; color:var(--color-sub);}
.audit_actions {display:flex; gap:.75rem; margin-top:1.75rem;}
.audit_actions .btn {flex:1;}
.audit_actions .btn_line {flex:0 0 auto;}
.audit_help {display:grid; gap:.375rem; margin-top:1.5rem; padding-top:1.25rem; border-top:1px dashed var(--color-line-strong);}
.audit_help li {position:relative; padding-left:1.25rem; font-size:.8125rem; color:var(--color-muted);}
.audit_help li::before {content:"✓"; position:absolute; left:0; color:var(--color-mint-deep); font-weight:700;}
.audit_summary {display:flex; align-items:center; gap:.75rem; padding:.875rem 1rem; margin-bottom:1.25rem; border-radius:var(--radius-s); background:var(--color-bg-soft); font-size:.875rem; color:var(--color-sub);}
.audit_summary strong {color:var(--color-heading); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.audit_summary button {margin-left:auto; flex:none; font-size:.8125rem; font-weight:700; color:var(--color-blue-deep); text-decoration:underline; text-underline-offset:3px;}

/* 진단 영역 */
.area_grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1.5rem;}
.area_card {position:relative; display:flex; flex-direction:column; padding:2.5rem 2.25rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line); overflow:hidden; transition:var(--transition-base);}
.area_card:hover {transform:translateY(-.375rem); box-shadow:var(--shadow-card); border-color:transparent;}
.area_card_key {font-size:3.5rem; font-weight:900; letter-spacing:-.04em; line-height:1;}
.area_card_seo .area_card_key {color:var(--color-blue-deep);}
.area_card_geo .area_card_key {color:var(--color-mint-deep);}
.area_card_aeo .area_card_key {color:#6a4bd6;}
.area_card_name {margin-top:1rem; font-size:1.25rem; font-weight:800; color:var(--color-heading);}
.area_card_text {margin-top:1rem; font-size:.9375rem; line-height:1.75; color:var(--color-sub);}
.area_card_meta {display:flex; flex-wrap:wrap; gap:.5rem; margin-top:auto; padding-top:1.75rem;}
.area_note {margin-top:2rem; text-align:center; font-size:.9375rem; color:var(--color-muted);}

/* 제공 내용 */
.benefit_wrap {display:grid; grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr); gap:4rem; align-items:center;}
.benefit_media {position:relative; border-radius:var(--radius-l); overflow:hidden; aspect-ratio:4 / 5; box-shadow:var(--shadow-float);}
.benefit_media img {width:100%; height:100%; object-fit:cover;}
.benefit_media_badge {position:absolute; left:1.5rem; bottom:1.5rem; right:1.5rem; display:flex; align-items:center; gap:1rem; padding:1.125rem 1.25rem; border-radius:var(--radius-m); background:var(--color-glass); backdrop-filter:blur(10px);}
.benefit_media_badge b {display:grid; place-items:center; flex:none; width:3rem; height:3rem; border-radius:.75rem; background:var(--color-panel); color:var(--color-mint); font-size:.8125rem; font-weight:800;}
.benefit_media_badge p {font-size:.875rem; line-height:1.55; color:var(--color-sub);}
.benefit_media_badge strong {display:block; font-size:.9375rem; color:var(--color-heading);}
.benefit_list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.25rem;}
.benefit_item {padding:1.75rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px solid var(--color-line);}
.benefit_num {display:inline-block; font-size:.875rem; font-weight:800; color:var(--color-blue-deep);}
.benefit_title {margin-top:.75rem; font-size:1.1875rem; font-weight:800; color:var(--color-heading);}
.benefit_text {margin-top:.625rem; font-size:.9375rem; line-height:1.7; color:var(--color-sub);}

/* 결과 예시 미리보기 */
.preview {display:grid; grid-template-columns:minmax(0, 22rem) minmax(0, 1fr); gap:1.5rem; align-items:stretch;}
.preview_score {display:flex; flex-direction:column; align-items:center; justify-content:center; padding:2.5rem 2rem; border-radius:var(--radius-l); background:var(--color-panel); color:#fff; text-align:center;}
.preview_score .ring_label {color:rgba(255, 255, 255, .7);}
.preview_score .ring_num {color:#fff;}
.preview_score_band {margin-top:1.25rem; font-size:1rem; font-weight:700; color:var(--color-mint);}
.preview_score_sub {display:grid; grid-template-columns:repeat(2, 1fr); gap:.75rem; width:100%; margin-top:1.75rem;}
.preview_score_sub div {padding:.875rem; border-radius:var(--radius-s); background:rgba(255, 255, 255, .06); border:1px solid rgba(255, 255, 255, .1);}
.preview_score_sub span {display:block; font-size:.75rem; font-weight:700; color:rgba(255, 255, 255, .6);}
.preview_score_sub b {display:block; margin-top:.25rem; font-size:1.5rem; font-weight:800; color:#fff;}
.preview_note {margin-top:1.25rem; font-size:.8125rem; color:rgba(255, 255, 255, .5);}
.preview_check {position:relative; padding:2.25rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line);}
.preview_check_head {display:flex; flex-wrap:wrap; align-items:center; gap:.625rem; padding-bottom:1.25rem; border-bottom:1px solid var(--color-line);}
.preview_check_title {font-size:1.25rem; font-weight:800; color:var(--color-heading);}
.preview_check .detail_dl {margin-top:1.25rem;}
.preview_tag {position:absolute; right:1.5rem; top:1.5rem;}
.preview_foot {display:flex; justify-content:center; margin-top:2.5rem;}

/* 상세 dl */
.detail_dl {display:grid; grid-template-columns:8.5rem 1fr; gap:.875rem 1.5rem; font-size:.9375rem; line-height:1.7;}
.detail_dl dt {font-weight:700; color:var(--color-heading);}
.detail_dl dd {color:var(--color-sub);}
.detail_dl dd ul {display:grid; gap:.25rem;}
.detail_dl code, .evidence {font-family:'SFMono-Regular', Consolas, monospace; font-size:.8125rem; padding:.125rem .375rem; border-radius:.25rem; background:var(--color-bg-soft); color:var(--color-text); word-break:break-all;}

/* 업무 방식 */
.process {display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:1rem; counter-reset:proc;}
.process_item {position:relative; padding:2rem 1.5rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px solid var(--color-line);}
.process_item::after {content:""; position:absolute; top:2.75rem; right:-.75rem; width:.5rem; height:.5rem; border-top:2px solid var(--color-line-strong); border-right:2px solid var(--color-line-strong); transform:rotate(45deg); z-index:1;}
.process_item:last-child::after {display:none;}
.process_num {display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--color-grad); font-size:.8125rem; font-weight:800; color:#fff;}
.process_title {margin-top:1.25rem; font-size:1.0625rem; font-weight:800; line-height:1.45; color:var(--color-heading);}
.process_text {margin-top:.75rem; font-size:.875rem; line-height:1.7; color:var(--color-sub);}
.process_foot {display:flex; justify-content:center; margin-top:2.5rem;}

/* CTA 밴드 */
.cta_band {position:relative; padding:6rem 0; background:var(--color-panel); color:#fff; overflow:hidden;}
.cta_band::after {content:""; position:absolute; left:50%; top:-20rem; width:50rem; height:40rem; transform:translateX(-50%); background:radial-gradient(ellipse, rgba(27, 240, 176, .25), rgba(15, 118, 110, 0) 65%);}
.cta_band .inner {position:relative; z-index:1; text-align:center;}
.cta_band_title {font-size:2.5rem; font-weight:800; line-height:1.35; letter-spacing:-.03em;}
.cta_band_text {max-width:44rem; margin:1.25rem auto 0; font-size:1.0625rem; line-height:1.75; color:rgba(255, 255, 255, .72);}
.cta_band_btns {display:flex; justify-content:center; flex-wrap:wrap; gap:.75rem; margin-top:2.5rem;}

/* ---------- 진단 항목 페이지 ---------- */
.stat_strip {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; margin-top:3rem;}
.stat_item {padding:1.5rem 1.75rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px solid var(--color-line);}
.stat_item_num {font-size:2.25rem; font-weight:900; line-height:1.1; letter-spacing:-.03em; color:var(--color-heading);}
.stat_item_num small {font-size:1rem; font-weight:700; margin-left:.25rem; color:var(--color-sub);}
.stat_item_label {margin-top:.5rem; font-size:.875rem; color:var(--color-sub);}
.tabs {display:flex; gap:.5rem; padding:.375rem; border-radius:999px; background:var(--color-bg-soft); width:max-content; max-width:100%; margin:0 auto 3rem; overflow-x:auto;}
.tabs_btn {flex:none; min-height:2.75rem; padding:0 1.5rem; border-radius:999px; font-size:.9375rem; font-weight:700; color:var(--color-sub); transition:var(--transition-base);}
.tabs_btn.is-active {background:var(--color-surface); color:var(--color-heading); box-shadow:0 .25rem .75rem rgba(11, 15, 20, .08);}
.tab_panel_desc {max-width:48rem; margin:0 auto 2.5rem; text-align:center; font-size:1rem; line-height:1.75; color:var(--color-sub);}
.cat_grid {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1.25rem;}
.cat_grid_2 {grid-template-columns:repeat(2, minmax(0, 1fr));}
.cat_card {display:flex; flex-direction:column; padding:2rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line);}
.cat_card_ref {background:var(--color-bg-soft); border-style:dashed;}
.cat_card_head {display:flex; align-items:center; justify-content:space-between; gap:.75rem;}
.cat_card_count {font-size:.8125rem; font-weight:700; color:var(--color-muted);}
.cat_card_title {margin-top:1rem; font-size:1.1875rem; font-weight:800; line-height:1.4; color:var(--color-heading);}
.cat_card_desc {margin-top:.5rem; font-size:.875rem; line-height:1.65; color:var(--color-muted);}
.cat_card_list {display:grid; gap:.5rem; margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--color-line);}
.cat_card_list li {display:flex; align-items:center; justify-content:space-between; gap:.75rem; font-size:.9375rem; color:var(--color-text);}
.weight {flex:none; display:inline-flex; gap:.125rem;}
.weight i {width:.375rem; height:.75rem; border-radius:1px; background:var(--color-line);}
.weight i.is-on {background:var(--color-blue);}
.weight_legend {display:flex; align-items:center; justify-content:flex-end; gap:.5rem; margin-bottom:1rem; font-size:.8125rem; color:var(--color-muted);}
.glossary {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.25rem; margin-top:3rem;}
.glossary_item {padding:2rem; border-radius:var(--radius-l); background:var(--color-panel); color:rgba(255, 255, 255, .72); font-size:.9375rem; line-height:1.75;}
.glossary_item strong {display:block; margin-bottom:.75rem; font-size:1.125rem; color:#fff;}
.glossary_note {margin-top:1.25rem; text-align:center; font-size:.875rem; color:var(--color-muted);}

/* 점수 계산 방식 */
.method_grid {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:1.5rem;}
.method_points {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:.75rem; margin-top:1.5rem;}
.method_point {padding:1.25rem 1rem; border-radius:var(--radius-m); text-align:center;}
.method_point b {display:block; font-size:1.75rem; font-weight:900; line-height:1.1;}
.method_point span {display:block; margin-top:.375rem; font-size:.8125rem; font-weight:700;}
.method_point_good {background:var(--color-good-bg); color:var(--color-good);}
.method_point_review {background:var(--color-review-bg); color:var(--color-review);}
.method_point_improve {background:var(--color-improve-bg); color:var(--color-improve);}
.method_point_na {background:var(--color-na-bg); color:var(--color-na);}
.method_formula {margin-top:1.5rem; padding:1.25rem 1.5rem; border-radius:var(--radius-m); background:var(--color-bg-soft); font-size:.9375rem; line-height:1.7; color:var(--color-sub);}
.method_formula b {color:var(--color-heading);}
.band_table {width:100%; margin-top:1.5rem; border-collapse:collapse; font-size:.9375rem;}
.band_table th, .band_table td {padding:.875rem 1rem; border-bottom:1px solid var(--color-line); text-align:left; vertical-align:top;}
.band_table th {font-size:.8125rem; font-weight:700; color:var(--color-muted); background:var(--color-bg-soft);}
.band_table td:first-child {white-space:nowrap; font-weight:800; color:var(--color-heading);}
.band_table td:nth-child(2) {white-space:nowrap; font-weight:700;}
.card_title {font-size:1.375rem; font-weight:800; color:var(--color-heading);}
.card_text {margin-top:.75rem; font-size:.9375rem; line-height:1.7; color:var(--color-sub);}

/* 범위와 한계 */
.limit_list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem;}
.limit_list li {display:flex; gap:1rem; padding:1.5rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px solid var(--color-line); font-size:.9375rem; line-height:1.7; color:var(--color-sub);}
.limit_list li::before {content:""; flex:none; width:1.375rem; height:1.375rem; margin-top:.125rem; border-radius:50%; background:var(--color-bg-tint) no-repeat center / .75rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300a37a' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M12 7v6M12 17h.01'/%3E%3C/svg%3E");}

/* ---------- 진단 진행 ---------- */
.progress_panel {padding:2.75rem; border-radius:var(--radius-l); background:var(--color-surface); box-shadow:var(--shadow-float);}
.progress_head {display:flex; align-items:center; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;}
.progress_url {display:flex; align-items:center; gap:.75rem; min-width:0; font-size:1rem; color:var(--color-sub);}
.progress_url strong {overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--color-heading);}
.progress_bar {position:relative; height:.625rem; margin-top:2rem; border-radius:999px; background:var(--color-bg-soft); overflow:hidden;}
.progress_bar span {position:absolute; left:0; top:0; bottom:0; width:0; border-radius:inherit; background:var(--color-grad); transition:width .6s ease;}
.progress_meta {display:flex; justify-content:space-between; gap:1rem; margin-top:.75rem; font-size:.875rem; color:var(--color-muted);}
.progress_meta b {color:var(--color-heading);}
.steps {display:grid; gap:.75rem; margin-top:2rem;}
.step {display:flex; align-items:center; gap:1rem; padding:1.125rem 1.25rem; border-radius:var(--radius-m); border:1px solid var(--color-line); background:var(--color-surface); transition:var(--transition-base);}
.step_mark {flex:none; display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--color-bg-soft); font-size:.875rem; font-weight:800; color:var(--color-muted);}
.step_body {flex:1; min-width:0;}
.step_label {display:block; font-size:.9375rem; font-weight:700; color:var(--color-text);}
.step_detail {display:block; margin-top:.125rem; font-size:.8125rem; color:var(--color-muted);}
.step_state {flex:none; font-size:.8125rem; font-weight:700; color:var(--color-muted);}
.step.is-running {border-color:var(--color-blue); background:#f1f9f8;}
.step.is-running .step_mark {background:var(--color-surface); border:2px solid var(--color-blue); border-right-color:transparent; color:transparent; animation:spin 1s linear infinite;}
.step.is-running .step_state {color:var(--color-blue-deep);}
.step.is-done .step_mark {background:var(--color-grad); color:#fff;}
.step.is-done .step_state {color:var(--color-mint-deep);}
.step.is-failed {border-color:var(--color-improve); background:var(--color-improve-bg);}
.step.is-failed .step_mark {background:var(--color-improve); color:#fff;}
.step.is-failed .step_state {color:var(--color-improve);}
@keyframes spin {to {transform:rotate(360deg);}}
.progress_status {margin-top:1.5rem; font-size:.9375rem; font-weight:600; color:var(--color-sub);}
.progress_actions {display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1.5rem;}
.demo_bar {display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:.75rem; margin-top:2rem; font-size:.8125rem; color:var(--color-muted);}
.demo_bar button {font-weight:700; color:var(--color-sub); text-decoration:underline; text-underline-offset:3px;}
.error_panel {padding:2.75rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-improve); box-shadow:var(--shadow-card);}
.error_badge {display:inline-flex; align-items:center; gap:.5rem; padding:.375rem .875rem; border-radius:999px; background:var(--color-improve-bg); color:var(--color-improve); font-size:.8125rem; font-weight:800;}
.error_badge span {display:grid; place-items:center; width:1.125rem; height:1.125rem; border-radius:50%; background:var(--color-improve); color:#fff; font-size:.6875rem;}
.error_title {margin-top:1.25rem; font-size:1.75rem; font-weight:800; color:var(--color-heading);}
.error_text {margin-top:.75rem; font-size:1rem; line-height:1.7; color:var(--color-sub);}
.error_hint {margin-top:.5rem; font-size:.9375rem; color:var(--color-sub);}
.error_note {margin-top:1.5rem; padding:1rem 1.25rem; border-radius:var(--radius-s); background:var(--color-bg-soft); font-size:.875rem; line-height:1.65; color:var(--color-muted);}

/* ---------- 진단 결과 ---------- */
.result_head {display:flex; align-items:flex-end; justify-content:space-between; gap:2rem; flex-wrap:wrap;}
.result_head_btns {display:flex; flex-wrap:wrap; gap:.625rem;}
.result_meta {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1px; margin-top:2.5rem; border-radius:var(--radius-m); overflow:hidden; background:var(--color-line); border:1px solid var(--color-line);}
.result_meta div {padding:1.125rem 1.25rem; background:var(--color-surface); min-width:0;}
.result_meta dt {font-size:.8125rem; font-weight:700; color:var(--color-muted);}
.result_meta dd {margin-top:.25rem; font-size:.9375rem; font-weight:600; color:var(--color-heading); word-break:break-all;}
.result_note {margin-top:1rem; font-size:.875rem; color:var(--color-muted);}
.result_section {padding:5rem 0 0;}
.result_section:last-child {padding-bottom:7rem;}
.block_title {font-size:1.75rem; font-weight:800; letter-spacing:-.02em; color:var(--color-heading);}
.block_desc {margin-top:.75rem; font-size:.9375rem; line-height:1.7; color:var(--color-sub);}
.block_head {margin-bottom:2rem;}
.block_head_row {display:flex; align-items:flex-end; justify-content:space-between; gap:1.5rem; flex-wrap:wrap;}

.overview {display:grid; grid-template-columns:minmax(0, 24rem) minmax(0, 1fr); gap:1.5rem; margin-top:2rem;}
.score_box {display:flex; flex-direction:column; align-items:center; padding:2.5rem 2rem; border-radius:var(--radius-l); background:var(--color-panel); color:#fff; text-align:center;}
.ring {position:relative; width:12.5rem; height:12.5rem;}
.ring svg {width:100%; height:100%; transform:rotate(-90deg);}
.ring_track {fill:none; stroke:rgba(255, 255, 255, .1); stroke-width:10;}
.ring_value {fill:none; stroke:url(#ringGrad); stroke-width:10; stroke-linecap:round; transition:stroke-dashoffset 1.2s cubic-bezier(.2, .8, .2, 1);}
.ring_center {position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center;}
.ring_num {font-size:3.75rem; font-weight:900; line-height:1; letter-spacing:-.04em;}
.ring_label {margin-top:.5rem; font-size:.8125rem; font-weight:600; color:rgba(255, 255, 255, .6);}
.ring_light .ring_track {stroke:var(--color-bg-soft);}
.ring_light .ring_num {color:var(--color-heading);}
.ring_light .ring_label {color:var(--color-muted);}
.score_band {margin-top:1.25rem; padding:.5rem 1rem; border-radius:999px; background:rgba(27, 240, 176, .12); font-size:.9375rem; font-weight:800; color:var(--color-mint);}
.score_counts {margin-top:1rem; font-size:.8125rem; color:rgba(255, 255, 255, .55);}
.score_tags {display:flex; flex-wrap:wrap; justify-content:center; gap:.375rem; margin-top:1rem;}
.score_subs {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:.625rem; width:100%; margin-top:1.75rem;}
.score_sub {display:block; padding:1rem; border-radius:var(--radius-m); background:rgba(255, 255, 255, .06); border:1px solid rgba(255, 255, 255, .1); text-align:left; transition:var(--transition-base);}
.score_sub:hover {background:rgba(255, 255, 255, .12);}
.score_sub_k {display:block; font-size:.75rem; font-weight:800; letter-spacing:.06em; color:var(--color-mint);}
.score_sub_v {display:block; margin-top:.25rem; font-size:1.75rem; font-weight:900; line-height:1.1; color:#fff;}
.score_sub_n {display:block; margin-top:.25rem; font-size:.75rem; color:rgba(255, 255, 255, .55);}
.summary_box {padding:2.5rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line);}
.summary_headline {font-size:1.375rem; font-weight:800; line-height:1.5; color:var(--color-heading);}
.summary_box .check_list {margin-top:1.5rem;}
.disclaimer {margin-top:1.75rem; padding:1.125rem 1.25rem; border-radius:var(--radius-s); background:var(--color-bg-soft); font-size:.8125rem; line-height:1.7; color:var(--color-muted);}
.disclaimer strong {color:var(--color-sub);}

.cats {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem; margin-top:1.5rem;}
.cat {padding:1.5rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px solid var(--color-line);}
.cat_name {font-size:.9375rem; font-weight:700; color:var(--color-text);}
.cat_score {margin-top:.5rem; font-size:2rem; font-weight:900; line-height:1.1; color:var(--color-heading);}
.cat_score small {font-size:.875rem; font-weight:600; color:var(--color-muted);}
.bar {height:.5rem; margin-top:1rem; border-radius:999px; background:var(--color-bg-soft); overflow:hidden;}
.bar span {display:block; height:100%; width:0; border-radius:inherit; background:var(--color-grad); transition:width 1s ease;}
.bar_low span {background:linear-gradient(90deg, #ff9a8f, var(--color-improve));}
.bar_mid span {background:linear-gradient(90deg, #ffd27a, #f0a400);}
.cat_counts {margin-top:.75rem; font-size:.8125rem; color:var(--color-muted);}

.prio_list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1rem;}
.prio {display:flex; flex-direction:column; padding:1.75rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line); position:relative;}
.prio_rank {font-size:.8125rem; font-weight:800; color:var(--color-blue-deep);}
.prio_title {margin-top:.75rem; font-size:1.1875rem; font-weight:800; line-height:1.4; color:var(--color-heading);}
.prio_badges {display:flex; flex-wrap:wrap; gap:.375rem; margin-top:.875rem;}
.prio_text {margin-top:1rem; font-size:.9375rem; line-height:1.7; color:var(--color-sub);}
.prio_rec {margin-top:.75rem; padding:.875rem 1rem; border-radius:var(--radius-s); background:var(--color-bg-tint); font-size:.875rem; line-height:1.65; color:var(--color-text);}
.prio_rec b {color:var(--color-mint-deep);}
.prio .btn {margin-top:auto; align-self:flex-start;}
.prio_body {flex:1; margin-bottom:1.25rem;}
.empty {padding:2rem; border-radius:var(--radius-m); background:var(--color-bg-soft); text-align:center; font-size:.9375rem; color:var(--color-sub);}

.ready_grid {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1.25rem;}
.ready {padding:2rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line);}
.ready_head {display:flex; align-items:center; gap:1.5rem;}
.ready_head .ring {width:7.5rem; height:7.5rem; flex:none;}
.ready_head .ring_num {font-size:2.25rem;}
.ready_head .ring_label {margin-top:.25rem; font-size:.75rem;}
.ready_name {font-size:1.25rem; font-weight:800; color:var(--color-heading);}
.ready_band {display:inline-block; margin-top:.5rem; font-size:.875rem; font-weight:700;}
.ready_desc {margin-top:.5rem; font-size:.875rem; line-height:1.65; color:var(--color-sub);}
.ready_counts {display:flex; flex-wrap:wrap; gap:.375rem; margin-top:1.25rem;}
.ready_sub {margin-top:1.5rem; padding-top:1.25rem; border-top:1px solid var(--color-line);}
.ready_sub_title {font-size:.875rem; font-weight:800; color:var(--color-heading); margin-bottom:.75rem;}
.ready_cats li {display:flex; justify-content:space-between; gap:1rem; padding:.625rem 0; font-size:.9375rem; color:var(--color-text); border-bottom:1px dashed var(--color-line);}
.ready_cats li:last-child {border-bottom:0;}
.ready_cats small {flex:none; font-size:.8125rem; color:var(--color-muted);}
.ready_prio li + li {margin-top:.5rem;}
.ready_prio button {display:flex; align-items:center; gap:.625rem; width:100%; text-align:left; font-size:.9375rem; color:var(--color-text);}
.ready_prio button:hover span:last-child {text-decoration:underline;}
.ready_geo .ready_band {color:var(--color-mint-deep);}
.ready_aeo .ready_band {color:#6a4bd6;}

/* 사이트 페이지 점검 */
.site_stats {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1rem;}
.site_stat {padding:1.25rem 1.5rem; border-radius:var(--radius-m); background:var(--color-bg-soft);}
.site_stat_label {font-size:.8125rem; font-weight:700; color:var(--color-muted);}
.site_stat_value {margin-top:.375rem; font-size:1.625rem; font-weight:900; color:var(--color-heading);}
.sub_title {margin:2.5rem 0 1rem; font-size:1.125rem; font-weight:800; color:var(--color-heading);}
.finding_list {display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:1rem;}
.finding {padding:1.5rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px solid var(--color-line);}
.finding_head {display:flex; flex-wrap:wrap; align-items:center; gap:.5rem;}
.finding_title {font-size:1rem; font-weight:800; color:var(--color-heading); margin-right:auto;}
.finding p {margin-top:.75rem; font-size:.875rem; line-height:1.65; color:var(--color-sub);}
.table_wrap {overflow-x:auto; border-radius:var(--radius-m); border:1px solid var(--color-line); background:var(--color-surface);}
.table {width:100%; min-width:46rem; border-collapse:collapse; font-size:.875rem;}
.table th, .table td {padding:.875rem 1rem; border-bottom:1px solid var(--color-line); text-align:left; vertical-align:top;}
.table th {font-size:.8125rem; font-weight:700; color:var(--color-muted); background:var(--color-bg-soft); white-space:nowrap;}
.table tr:last-child td {border-bottom:0;}
.table_url {display:block; color:var(--color-heading); font-weight:600; word-break:break-all;}
.table_tag {display:inline-block; margin-top:.25rem; padding:.125rem .5rem; border-radius:.375rem; background:var(--color-bg-tint); font-size:.75rem; font-weight:700; color:var(--color-mint-deep);}
.table_num {font-weight:800; color:var(--color-heading); white-space:nowrap;}

/* 결과 CTA */
.result_cta {display:grid; grid-template-columns:minmax(0, 1fr) auto; gap:2rem; align-items:center; padding:2.5rem 3rem; border-radius:var(--radius-l); background:var(--color-panel); color:#fff; position:relative; overflow:hidden;}
.result_cta::before {content:""; position:absolute; right:-8rem; top:-10rem; width:28rem; height:28rem; border-radius:50%; background:radial-gradient(circle, rgba(27, 240, 176, .28), rgba(15, 118, 110, 0) 65%);}
.result_cta > * {position:relative;}
.result_cta_title {font-size:1.5rem; font-weight:800; line-height:1.4;}
.result_cta_text {margin-top:.625rem; font-size:.9375rem; line-height:1.7; color:rgba(255, 255, 255, .7);}
.result_cta_btns {display:flex; flex-wrap:wrap; gap:.625rem; justify-content:flex-end;}
.pdf_note {display:flex; gap:1rem; align-items:flex-start; grid-column:1 / -1; padding:1.125rem 1.25rem; border-radius:var(--radius-m); background:rgba(255, 255, 255, .06); border:1px solid rgba(255, 255, 255, .1);}
.pdf_note_icon {flex:none; display:grid; place-items:center; width:2.75rem; height:2.75rem; border-radius:.625rem; background:var(--color-grad); color:#fff; font-size:.75rem; font-weight:900;}
.pdf_note p {font-size:.875rem; line-height:1.7; color:rgba(255, 255, 255, .7);}
.pdf_note strong {color:#fff;}

/* 항목별 결과 */
.filter {display:flex; flex-wrap:wrap; gap:.5rem;}
.filter_btn {display:inline-flex; align-items:center; gap:.375rem; min-height:2.5rem; padding:0 1rem; border-radius:999px; border:1px solid var(--color-line-strong); background:var(--color-surface); font-size:.875rem; font-weight:700; color:var(--color-sub); transition:var(--transition-base);}
.filter_btn b {font-weight:800; color:var(--color-muted);}
.filter_btn.is-active {background:var(--color-panel); border-color:var(--color-heading); color:#fff;}
.filter_btn.is-active b {color:var(--color-mint);}
.detail_tools {display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; margin-bottom:1.5rem;}
.detail_tools_btns {display:flex; gap:.5rem;}
.dcat {border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line); overflow:hidden;}
.dcat + .dcat {margin-top:1rem;}
.dcat_head {display:flex; align-items:center; gap:1rem; width:100%; padding:1.5rem 1.75rem; text-align:left; background:var(--color-surface); transition:background .2s;}
.dcat_head:hover {background:var(--color-bg-soft);}
.dcat_name {font-size:1.125rem; font-weight:800; color:var(--color-heading);}
.dcat_meta {margin-left:auto; font-size:.8125rem; font-weight:600; color:var(--color-muted); text-align:right;}
.dcat_arrow {flex:none; width:.625rem; height:.625rem; border-right:2px solid var(--color-sub); border-bottom:2px solid var(--color-sub); transform:rotate(45deg); transition:transform .3s; margin:0 .25rem .25rem;}
.dcat.is-open .dcat_arrow {transform:rotate(-135deg); margin-bottom:-.25rem;}
.dcat_body {padding:0 1.75rem 1.25rem;}
.dcat:not(.is-open) .dcat_body {display:none;}
.dcheck {border-top:1px solid var(--color-line);}
.dcheck_head {display:flex; align-items:center; gap:.875rem; width:100%; padding:1.125rem 0; text-align:left;}
.dcheck_title {flex:none; font-size:1rem; font-weight:700; color:var(--color-heading);}
.dcheck_summary {flex:1; min-width:0; font-size:.875rem; color:var(--color-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.dcheck_plus {flex:none; position:relative; width:1.75rem; height:1.75rem; border-radius:50%; background:var(--color-bg-soft);}
.dcheck_plus::before, .dcheck_plus::after {content:""; position:absolute; left:50%; top:50%; width:.625rem; height:2px; background:var(--color-sub); transform:translate(-50%, -50%); transition:transform .3s;}
.dcheck_plus::after {transform:translate(-50%, -50%) rotate(90deg);}
.dcheck.is-open .dcheck_plus::after {transform:translate(-50%, -50%) rotate(0);}
.dcheck_body {padding:0 0 1.5rem;}
.dcheck:not(.is-open) .dcheck_body {display:none;}
.dcheck_body .detail_dl {padding:1.5rem; border-radius:var(--radius-m); background:var(--color-bg-soft);}
.dcheck.is-hidden, .dcat.is-hidden {display:none;}
.dcheck.is-flash {animation:flash 1.6s ease;}
@keyframes flash {0%, 100% {background:transparent;} 20% {background:#e9f6f4;}}
.service_tags {display:flex; flex-wrap:wrap; gap:.375rem;}

.good_list {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.625rem;}
.good_list li {display:flex; align-items:center; gap:.625rem; padding:.875rem 1rem; border-radius:var(--radius-s); background:var(--color-good-bg); font-size:.9375rem; font-weight:600; color:var(--color-text);}
.good_list li::before {content:"●"; font-size:.625rem; color:var(--color-good);}

.proposals {display:grid; gap:1.25rem;}
.proposal {padding:2.25rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line);}
.proposal_head {display:flex; align-items:flex-start; justify-content:space-between; gap:1.5rem;}
.proposal_no {flex:none; font-size:.875rem; font-weight:800; color:var(--color-blue-deep);}
.proposal_title {margin-top:.375rem; font-size:1.375rem; font-weight:800; color:var(--color-heading);}
.proposal_summary {margin-top:.625rem; font-size:.9375rem; line-height:1.7; color:var(--color-sub);}
.flow {display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:1rem; margin-top:1.75rem;}
.flow_step {padding:1.25rem; border-radius:var(--radius-m); background:var(--color-bg-soft);}
.flow_label {display:flex; align-items:center; gap:.5rem; font-size:.875rem; font-weight:800; color:var(--color-heading); margin-bottom:.75rem;}
.flow_label i {display:grid; place-items:center; width:1.5rem; height:1.5rem; border-radius:50%; background:var(--color-panel); color:var(--color-mint); font-size:.75rem; font-style:normal;}
.flow_step .dot_list > li {font-size:.875rem;}

.limits {display:grid; gap:.625rem;}
.limits li {position:relative; padding:1rem 1.25rem 1rem 2.75rem; border-radius:var(--radius-s); background:var(--color-bg-soft); font-size:.9375rem; line-height:1.65; color:var(--color-sub);}
.limits li::before {content:"i"; position:absolute; left:1rem; top:1.125rem; display:grid; place-items:center; width:1.125rem; height:1.125rem; border-radius:50%; background:var(--color-line-strong); color:#fff; font-size:.6875rem; font-weight:800;}

/* ---------- 상담 문의 ---------- */
.inquiry_grid {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 22rem); gap:2rem; align-items:start;}
.inquiry_form {padding:2.75rem; border-radius:var(--radius-l); background:var(--color-surface); box-shadow:var(--shadow-float);}
.attach_box {padding:1.25rem; margin-bottom:1.75rem; border-radius:var(--radius-m); background:var(--color-bg-tint); border:1px solid rgba(0, 163, 122, .2);}
.attach_box p {margin-top:.5rem; padding-left:1.875rem; font-size:.8125rem; color:var(--color-sub);}
.privacy_box {margin-top:1.75rem; padding:1.5rem; border-radius:var(--radius-m); background:var(--color-bg-soft);}
.privacy_box_title {font-size:.9375rem; font-weight:800; color:var(--color-heading); margin-bottom:1rem;}
.privacy_box .check_label {margin-top:1.25rem; padding-top:1.25rem; border-top:1px solid var(--color-line);}
.form_result {margin-top:1.5rem; padding:1rem 1.25rem; border-radius:var(--radius-s); font-size:.9375rem; font-weight:600;}
.form_result.is-ok {background:var(--color-good-bg); color:var(--color-good);}
.form_result.is-fail {background:var(--color-improve-bg); color:var(--color-improve);}
.form_submit {margin-top:1.75rem;}
.contact_side {display:grid; gap:1rem; position:sticky; top:calc(var(--header-h) + 1.5rem);}
.contact_card {display:block; padding:1.75rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line); transition:var(--transition-base);}
a.contact_card:hover {border-color:var(--color-blue); transform:translateY(-.25rem);}
.contact_card_label {font-size:.8125rem; font-weight:700; color:var(--color-muted);}
.contact_card_value {margin-top:.5rem; font-size:1.25rem; font-weight:800; color:var(--color-heading); word-break:break-all;}
.contact_card_dark {background:var(--color-panel); border-color:var(--color-heading); color:#fff;}
.contact_card_dark .contact_card_label {color:var(--color-mint);}
.contact_card_dark p {margin-top:.75rem; font-size:.875rem; line-height:1.7; color:rgba(255, 255, 255, .7);}
.why_wrap {display:grid; grid-template-columns:minmax(0, .85fr) minmax(0, 1.15fr); gap:4rem; align-items:center;}
.why_media {border-radius:var(--radius-l); overflow:hidden; aspect-ratio:4 / 5; box-shadow:var(--shadow-float);}
.why_media img {width:100%; height:100%; object-fit:cover;}
.why_list {display:grid; gap:1rem; margin-top:2.5rem;}
.why_item {display:flex; gap:1.25rem; padding:1.5rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px solid var(--color-line);}
.why_item .process_num {flex:none;}
.why_item strong {display:block; font-size:1.0625rem; font-weight:800; color:var(--color-heading);}
.why_item p {margin-top:.375rem; font-size:.9375rem; line-height:1.65; color:var(--color-sub);}

/* ---------- 푸터 ---------- */
.footer {padding:4rem 0 3rem; background:#0b0f14; color:rgba(255, 255, 255, .6); font-size:.875rem;}
.footer_top {display:flex; justify-content:space-between; gap:2rem; flex-wrap:wrap; padding-bottom:2rem; border-bottom:1px solid rgba(255, 255, 255, .08);}
.footer_logo {display:flex; align-items:center; gap:.625rem; font-size:1.125rem; font-weight:800; color:#fff;}
.footer_links {display:flex; gap:1.25rem; margin-top:1.25rem;}
.footer_links a {color:rgba(255, 255, 255, .75);}
.footer_links a:first-child {font-weight:700; color:#fff;}
.footer_family {display:flex; flex-wrap:wrap; gap:.5rem; align-items:flex-start;}
.footer_family a {padding:.5rem .875rem; border-radius:999px; border:1px solid rgba(255, 255, 255, .15); font-size:.8125rem; color:rgba(255, 255, 255, .75); transition:var(--transition-base);}
.footer_family a:hover {border-color:var(--color-mint); color:#fff;}
.footer_info {display:grid; gap:.375rem; margin-top:2rem; line-height:1.7;}
.footer_info span + span::before {content:""; display:inline-block; width:1px; height:.75rem; margin:0 .75rem; background:rgba(255, 255, 255, .2); vertical-align:middle;}
.footer_info strong {color:#fff; margin-right:.75rem;}
.footer_cert {display:flex; flex-wrap:wrap; gap:.5rem 1.5rem; margin-top:1.5rem; font-size:.8125rem; color:rgba(255, 255, 255, .45);}
.footer_copy {margin-top:1.5rem; font-size:.8125rem; color:rgba(255, 255, 255, .35);}

/* 상단 이동 */
.top_btn {position:fixed; right:1.5rem; bottom:1.5rem; z-index:90; display:grid; place-items:center; width:3rem; height:3rem; border-radius:50%; background:var(--color-panel); color:#fff; box-shadow:0 .5rem 1.5rem rgba(11, 15, 20, .2); opacity:0; visibility:hidden; transform:translateY(.5rem); transition:var(--transition-base);}
.top_btn.is-show {opacity:1; visibility:visible; transform:none;}
.top_btn::before {content:""; width:.625rem; height:.625rem; border-left:2px solid var(--color-mint); border-top:2px solid var(--color-mint); transform:rotate(45deg); margin-top:.25rem;}

/* 스크롤 등장 */
.reveal {opacity:0; transform:translateY(1.5rem); transition:opacity .8s ease, transform .8s ease;}
.reveal.is-in {opacity:1; transform:none;}
@media (prefers-reduced-motion:reduce) {
  html {scroll-behavior:auto;}
  .reveal {opacity:1; transform:none; transition:none;}
}

/* ---------- 반응형 ---------- */
@media (max-width:1440px) {
  html {font-size:90%;}
}

@media (max-width:1200px) {
  .process {grid-template-columns:repeat(3, minmax(0, 1fr));}
  .process_item::after {display:none;}
  .flow {grid-template-columns:repeat(2, minmax(0, 1fr));}
}

@media (max-width:1024px) {
  html {font-size:100%;}
  :root {--header-h:4rem;}
  .inner, .inner_narrow, .header_inner {padding:0 1.5rem;}
  .gnb, .header_util .btn {display:none;}
  .header_menu_btn {display:block;}
  .mnav {display:block; position:fixed; top:var(--header-h); left:0; right:0; bottom:0; z-index:99; padding:1.5rem; background:var(--color-surface); overflow-y:auto; opacity:0; visibility:hidden; transform:translateY(-.5rem); transition:var(--transition-base);}
  .header.is-open + .mnav {opacity:1; visibility:visible; transform:none;}
  .mnav_link {display:flex; align-items:center; justify-content:space-between; min-height:3.75rem; padding:0 .5rem; border-bottom:1px solid var(--color-line); font-size:1.25rem; font-weight:800; color:var(--color-heading);}
  .mnav_link.is-active {color:var(--color-blue-deep);}
  .mnav .btn {margin-top:2rem;}
  .section {padding:5rem 0;}
  .section_title {font-size:2.25rem;}
  .hero {padding:3.5rem 0 5rem;}
  .hero_grid, .subvisual_grid, .benefit_wrap, .why_wrap, .overview, .preview, .inquiry_grid, .method_grid {grid-template-columns:minmax(0, 1fr);}
  .hero_copy {padding-top:0;}
  .hero_title {font-size:2.75rem;}
  .subvisual_title {font-size:2.5rem;}
  .subvisual_media {aspect-ratio:16 / 9;}
  .benefit_media, .why_media {aspect-ratio:16 / 9;}
  .area_grid, .cat_grid, .prio_list {grid-template-columns:minmax(0, 1fr);}
  .cats, .site_stats {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .result_meta {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .good_list {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .result_cta {grid-template-columns:minmax(0, 1fr); padding:2rem;}
  .result_cta_btns {justify-content:flex-start;}
  .contact_side {position:static; grid-template-columns:repeat(2, minmax(0, 1fr));}
  .contact_card_dark {grid-column:1 / -1;}
}

@media (max-width:768px) {
  .inner, .inner_narrow, .header_inner {padding:0 1rem;}
  .br_pc {display:none;}
  .section {padding:4rem 0;}
  .section_head {margin-bottom:2.25rem;}
  .section_head_row {flex-direction:column; align-items:flex-start;}
  .section_title {font-size:1.75rem;}
  .section_lead {font-size:1rem;}
  .hero_title {font-size:2.125rem;}
  .hero_desc {font-size:1rem;}
  .subvisual {padding:3.5rem 0 3rem;}
  .subvisual_title {font-size:2rem;}
  .subvisual_lead {font-size:1rem;}
  .audit_card, .progress_panel, .error_panel, .inquiry_form, .summary_box, .proposal {padding:1.5rem;}
  .audit_card_head {flex-direction:column; align-items:flex-start;}
  .field_grid, .benefit_list, .glossary, .limit_list, .finding_list, .ready_grid, .stat_strip, .contact_side, .flow {grid-template-columns:minmax(0, 1fr);}
  .process {grid-template-columns:minmax(0, 1fr);}
  .cats, .good_list {grid-template-columns:minmax(0, 1fr);}
  .site_stats {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .method_points {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .result_meta {grid-template-columns:minmax(0, 1fr);}
  .detail_dl, .info_dl {grid-template-columns:minmax(0, 1fr); gap:.25rem;}
  .detail_dl dd + dt {margin-top:.75rem;}
  .dcat_head {padding:1.25rem; flex-wrap:wrap;}
  .dcat_meta {margin-left:0; width:100%; order:3; text-align:left;}
  .dcat_arrow {margin-left:auto;}
  .dcat_body {padding:0 1.25rem 1rem;}
  .dcheck_head {flex-wrap:wrap; gap:.5rem .75rem;}
  .dcheck_summary {flex-basis:100%; order:3; white-space:normal;}
  .dcheck_plus {margin-left:auto;}
  .cta_band {padding:4rem 0;}
  .cta_band_title, .block_title {font-size:1.5rem;}
  .ready_head {flex-direction:column; align-items:flex-start;}
  .btn {min-height:2.75rem;}
  .audit_actions {flex-direction:column-reverse;}
  .audit_actions .btn_line {flex:1;}
  .tabs {width:100%;}
  .tabs_btn {flex:1; padding:0 1rem;}
  .result_head_btns .btn, .result_cta_btns .btn, .cta_band_btns .btn {flex:1;}
}

/* 보정 */
.table_gap {margin-top:1rem;}
.contact_card_dark strong {color:#fff;}
.subvisual_title .chip {vertical-align:middle; margin-left:.5rem; font-size:.875rem;}
.score_box .ring_label {max-width:8.5rem; text-align:center; line-height:1.4;}

/* =========================================================
   시안 B — 블랙 테마 (html[data-theme="dark"])
   ========================================================= */
:root[data-theme="dark"] {
  --color-heading:#ffffff;
  --color-text:#e6edf2;
  --color-sub:#a9b6c0;
  --color-muted:#77858f;
  --color-line:#1d272e;
  --color-line-strong:#2d3a43;
  --color-bg:#000000;
  --color-bg-soft:#0a0f12;
  --color-bg-tint:rgba(27, 240, 176, .08);
  --color-surface:#0e1418;
  --color-panel:#121b21;
  --color-header-bg:rgba(0, 0, 0, .72);
  --color-glass:rgba(10, 15, 18, .85);
  --color-mint-deep:#1BF0B0;
  --color-blue-deep:#0F766E;
  --color-good:#3ee08f;
  --color-good-bg:rgba(62, 224, 143, .12);
  --color-review:#ffc53d;
  --color-review-bg:rgba(255, 197, 61, .12);
  --color-improve:#ff7a6b;
  --color-improve-bg:rgba(255, 122, 107, .12);
  --color-na:#9aa7b2;
  --color-na-bg:rgba(154, 167, 178, .12);
  --shadow-card:0 .75rem 2.5rem rgba(0, 0, 0, .5);
  --shadow-float:0 1.5rem 4rem rgba(0, 0, 0, .6);
  color-scheme:dark;
}
[data-theme="dark"] body {background:var(--color-bg);}
[data-theme="dark"] .header.is-scrolled {box-shadow:0 .25rem 1.25rem rgba(0, 0, 0, .6);}
[data-theme="dark"] .hero {background:radial-gradient(ellipse at 20% 0%, rgba(27, 240, 176, .14), transparent 55%), radial-gradient(ellipse at 90% 30%, rgba(15, 118, 110, .14), transparent 55%), #000;}
[data-theme="dark"] .hero::before {background:radial-gradient(circle, rgba(27, 240, 176, .18), rgba(27, 240, 176, 0) 65%);}
[data-theme="dark"] .hero::after {background:radial-gradient(circle, rgba(15, 118, 110, .16), rgba(15, 118, 110, 0) 65%);}
[data-theme="dark"] .hero_badge {border-color:rgba(27, 240, 176, .4); box-shadow:none;}
[data-theme="dark"] .subvisual {background:#05090b;}
[data-theme="dark"] .subvisual::after {background-image:linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);}
[data-theme="dark"] .section_soft {background:#070b0e; border-top:1px solid #10171c; border-bottom:1px solid #10171c;}
[data-theme="dark"] .audit_card, [data-theme="dark"] .progress_panel, [data-theme="dark"] .inquiry_form {border:1px solid rgba(15, 118, 110, .22); box-shadow:0 0 0 1px rgba(27, 240, 176, .04), 0 1.5rem 4rem rgba(0, 0, 0, .7), 0 0 4rem rgba(15, 118, 110, .08);}
[data-theme="dark"] .input {background:#080c0f;}
[data-theme="dark"] .input::placeholder {color:#56646e;}
[data-theme="dark"] .mode_opt input:checked + .mode_box {background:rgba(15, 118, 110, .07);}
[data-theme="dark"] .mode_opt input:checked + .mode_box::before {border-color:var(--color-blue);}
[data-theme="dark"] .stepper_item.is-done b {background:var(--color-mint); color:#000;}
[data-theme="dark"] .chip_seo, [data-theme="dark"] .hero_tag_seo strong {background:rgba(15, 118, 110, .12); color:#0F766E;}
[data-theme="dark"] .chip_geo, [data-theme="dark"] .hero_tag_geo strong {background:rgba(27, 240, 176, .12); color:#1BF0B0;}
[data-theme="dark"] .chip_aeo, [data-theme="dark"] .hero_tag_aeo strong {background:rgba(160, 135, 255, .14); color:#b4a2ff;}
[data-theme="dark"] .area_card_aeo .area_card_key, [data-theme="dark"] .ready_aeo .ready_band {color:#b4a2ff;}
[data-theme="dark"] .chip_sample {background:var(--color-grad); color:#fff;}
[data-theme="dark"] .btn_line {background:transparent;}
[data-theme="dark"] .btn_line:hover {background:rgba(255, 255, 255, .05); border-color:#fff;}
[data-theme="dark"] .btn_dark {background:#fff; color:#000;}
[data-theme="dark"] .btn_dark:hover {background:#dfe7ec;}
[data-theme="dark"] .area_card:hover {border-color:rgba(15, 118, 110, .35); box-shadow:0 0 3rem rgba(15, 118, 110, .08);}
[data-theme="dark"] .preview_score, [data-theme="dark"] .score_box, [data-theme="dark"] .result_cta, [data-theme="dark"] .glossary_item, [data-theme="dark"] .contact_card_dark {border:1px solid rgba(15, 118, 110, .2); background:linear-gradient(160deg, #0f1a20 0%, #070b0e 100%);}
[data-theme="dark"] .cta_band {background:#000; border-top:1px solid #10171c;}
[data-theme="dark"] .cta_band::before {opacity:.12;}
[data-theme="dark"] .tabs_btn.is-active {background:#1a242b; box-shadow:none;}
[data-theme="dark"] .filter_btn {background:transparent;}
[data-theme="dark"] .filter_btn.is-active {background:var(--color-grad); border-color:transparent; color:#fff;}
[data-theme="dark"] .filter_btn.is-active b {color:#000;}
[data-theme="dark"] .dcheck_body .detail_dl, [data-theme="dark"] .flow_step, [data-theme="dark"] .limits li {background:#0a1013;}
[data-theme="dark"] .step.is-running {background:rgba(15, 118, 110, .08);}
[data-theme="dark"] .step.is-running .step_mark {background:transparent;}
[data-theme="dark"] .ring_light .ring_track {stroke:#1d272e;}
[data-theme="dark"] .weight i {background:#26323a;}
[data-theme="dark"] .limit_list li::before {background-color:rgba(27, 240, 176, .1);}
[data-theme="dark"] .top_btn {background:#121b21; border:1px solid #2d3a43;}
[data-theme="dark"] .footer {background:#000; border-top:1px solid #10171c;}
[data-theme="dark"] .subvisual_media, [data-theme="dark"] .benefit_media, [data-theme="dark"] .why_media {box-shadow:0 0 0 1px rgba(255, 255, 255, .06), 0 1.5rem 4rem rgba(0, 0, 0, .6);}
[data-theme="dark"] .subvisual_media img, [data-theme="dark"] .benefit_media img, [data-theme="dark"] .why_media img {filter:brightness(.82) saturate(.9);}

/* 시안 비교 스위치 */
.theme_switch {position:fixed; left:50%; bottom:1.5rem; z-index:95; display:flex; align-items:center; gap:.25rem; padding:.3125rem; border-radius:999px; background:rgba(11, 15, 20, .9); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px); box-shadow:0 .75rem 2rem rgba(0, 0, 0, .3); transform:translateX(-50%); border:1px solid rgba(255, 255, 255, .12);}
.theme_switch_label {padding:0 .75rem 0 .875rem; font-size:.75rem; font-weight:700; color:rgba(255, 255, 255, .55); white-space:nowrap;}
.theme_switch_btn {display:flex; align-items:center; gap:.5rem; min-height:2.5rem; padding:0 1rem; border-radius:999px; font-size:.8125rem; font-weight:700; color:rgba(255, 255, 255, .7); white-space:nowrap; transition:var(--transition-base);}
.theme_switch_btn i {width:.875rem; height:.875rem; border-radius:50%; border:1px solid rgba(255, 255, 255, .4);}
.theme_switch_btn[data-theme-set="light"] i {background:#f4f8fa;}
.theme_switch_btn[data-theme-set="dark"] i {background:#000;}
.theme_switch_btn.is-active {background:var(--color-grad); color:#fff;}
.theme_switch_btn.is-active i {border-color:rgba(0, 0, 0, .4);}
@media (max-width:768px) {
  .theme_switch {bottom:1rem;}
  .theme_switch_label {display:none;}
  .theme_switch_btn {padding:0 .875rem;}
}

/* =========================================================
   줄바꿈·가독성 보정
   - 제목: 줄 길이 균형(balance) / 본문: 마지막 줄 한두 어절 방지(pretty)
   - 본문 한 줄 길이는 약 40~46자 이내로 제한
   ========================================================= */
h1, h2, h3, h4, h5, .section_title, .subvisual_title, .hero_title, .cta_band_title, .block_title, .card_title,
.area_card_name, .benefit_title, .process_title, .cat_card_title, .prio_title, .proposal_title, .summary_headline,
.result_cta_title, .error_title, .why_item strong, .finding_title, .ready_name {text-wrap:balance;}
p, li, dd, .dcheck_summary {text-wrap:pretty;}
.section_lead, .subvisual_lead, .cta_band_text, .hero_desc {max-width:42em;}
.section_head_center .section_lead, .cta_band_text {margin-left:auto; margin-right:auto;}
.block_desc {max-width:56em;}
.stepper_item, .theme_switch_btn, .status, .chip, .priority, .btn {white-space:nowrap;}
.mode_time {white-space:nowrap;}
.hero_desc strong, .subvisual_lead strong, .section_lead strong {white-space:nowrap;}
.result_head > div:first-child {flex:1 1 auto; min-width:0;}
.subvisual_title .chip {white-space:nowrap;}
.result_meta dd {word-break:normal; overflow-wrap:anywhere;}
.result_meta {grid-template-columns:minmax(0, 1.15fr) minmax(0, 1.15fr) minmax(0, .9fr) minmax(0, 1.3fr);}
.contact_card_value {font-size:1.125rem; overflow-wrap:anywhere;}
.ready_prio button {align-items:flex-start;}
.ready_prio button .status {flex:none;}
.ready_prio button span:last-child {padding-top:.25rem; text-wrap:balance;}
.table_url {word-break:normal; overflow-wrap:anywhere;}
.evidence {word-break:normal; overflow-wrap:anywhere;}
@media (max-width:1024px) {
  .result_meta {grid-template-columns:repeat(2, minmax(0, 1fr));}
}
@media (max-width:768px) {
  .result_meta {grid-template-columns:minmax(0, 1fr);}
  .hero_desc strong, .subvisual_lead strong, .section_lead strong {white-space:normal;}
}
.table td:not(:first-child):not(:last-child), .table th {white-space:nowrap;}
.step_label {text-wrap:balance;}
.step_state {white-space:nowrap;}
@media (max-width:768px) {
  .band_table th, .band_table td {padding:.75rem .625rem; font-size:.8125rem;}
  .band_table td:nth-child(2) {white-space:normal;}
  .band_table td:first-child {white-space:nowrap;}
  .ready_cats li {flex-direction:column; gap:.125rem;}
  .contact_card_value {font-size:1rem;}
  .step {align-items:flex-start;}
  .step_state {padding-top:.5rem;}
}
.step_sub {display:block; margin-top:.25rem; font-size:.8125rem; font-weight:500; line-height:1.55; color:var(--color-muted);}

/* 진단 후 받을 수 있는 것 — 호버 시 컬러 반전 */
.benefit_item {transition:background-color .35s ease, border-color .35s ease, transform .35s ease, box-shadow .35s ease;}
.benefit_item .benefit_num, .benefit_item .benefit_title, .benefit_item .benefit_text {transition:color .35s ease;}
.benefit_item:hover {background:var(--color-ink); border-color:var(--color-ink); transform:translateY(-.375rem); box-shadow:0 1.25rem 2.5rem rgba(11, 15, 20, .18);}
.benefit_item:hover .benefit_num {color:var(--color-mint);}
.benefit_item:hover .benefit_title {color:#fff;}
.benefit_item:hover .benefit_text {color:rgba(255, 255, 255, .72);}
[data-theme="dark"] .benefit_item:hover {background:#fff; border-color:#fff; box-shadow:0 1.25rem 2.5rem rgba(15, 118, 110, .15);}
[data-theme="dark"] .benefit_item:hover .benefit_num {color:#0F766E;}
[data-theme="dark"] .benefit_item:hover .benefit_title {color:#0B0F14;}
[data-theme="dark"] .benefit_item:hover .benefit_text {color:#4f5d69;}
@media (hover:none) {
  .benefit_item:hover {transform:none;}
}

/* 로고 (DP 마크 제거) */
.header_logo {font-size:1.1875rem; letter-spacing:-.03em;}
.header_logo em {margin-left:.25rem;}
.footer_logo {font-size:1.125rem;}
