@charset "utf-8";
/* =========================================================
   인포그래픽 (CSS로 그린 UI 목업) — 실사 이미지 대체 + 모션
   참고: hdesign 인포그래픽(겹친 카드 · 알약 라벨 · 스켈레톤 · 강조 통계 카드)
   ========================================================= */
:root {
  --ig-panel:linear-gradient(140deg, #e3f6fc 0%, #e6f9f2 55%, #eef4fb 100%);
  --ig-card:#ffffff;
  --ig-skel:#e6edf2;
  --ig-skel-strong:#d3dee6;
  --ig-shadow:0 1rem 2.5rem rgba(0, 72, 96, .12);
  --ig-ease:cubic-bezier(.2, .8, .2, 1);
}
:root[data-theme="dark"] {
  --ig-panel:linear-gradient(140deg, rgba(15, 118, 110, .1) 0%, rgba(27, 240, 176, .07) 55%, rgba(255, 255, 255, .03) 100%);
  --ig-card:#111a20;
  --ig-skel:#1c272e;
  --ig-skel-strong:#26343c;
  --ig-shadow:0 1rem 2.5rem rgba(0, 0, 0, .55);
}

/* ---------- 기본 부품 ---------- */
.ig_panel {position:relative; border-radius:var(--radius-l); background:var(--ig-panel); overflow:hidden; isolation:isolate;}
.ig_panel::before {content:""; position:absolute; inset:-30%; z-index:-1; background:radial-gradient(circle at 30% 30%, rgba(27, 240, 176, .22), transparent 40%), radial-gradient(circle at 75% 70%, rgba(15, 118, 110, .2), transparent 42%); animation:igAurora 14s ease-in-out infinite alternate;}
[data-theme="dark"] .ig_panel {border:1px solid rgba(15, 118, 110, .16);}
.ig_card {position:relative; border-radius:1rem; background:var(--ig-card); box-shadow:var(--ig-shadow); padding:1.25rem 1.375rem;}
[data-theme="dark"] .ig_card {border:1px solid var(--color-line);}
.ig_label {display:block; font-size:.6875rem; font-weight:800; letter-spacing:.08em; color:var(--color-blue-deep); text-transform:uppercase;}
.ig_pill {position:absolute; z-index:3; display:inline-flex; align-items:center; gap:.625rem; padding:.625rem 1.125rem; border-radius:999px; background:var(--color-ink); color:#fff; font-size:.875rem; font-weight:800; white-space:nowrap; box-shadow:0 .5rem 1.25rem rgba(11, 15, 20, .25);}
.ig_pill i {position:relative; width:1rem; height:2px; background:var(--color-mint); animation:igNudge 1.6s ease-in-out infinite;}
.ig_pill i::after {content:""; position:absolute; right:-1px; top:-3px; width:.5rem; height:.5rem; border-top:2px solid var(--color-mint); border-right:2px solid var(--color-mint); transform:rotate(45deg);}
[data-theme="dark"] .ig_pill {background:var(--color-grad); color:#fff;}
[data-theme="dark"] .ig_pill i {background:#000;}
[data-theme="dark"] .ig_pill i::after {border-color:#000;}
.ig_skel {position:relative; display:block; height:.5rem; border-radius:999px; background:var(--ig-skel); overflow:hidden;}
.ig_skel::after {content:""; position:absolute; inset:0; background:linear-gradient(90deg, transparent, rgba(255, 255, 255, .7), transparent); transform:translateX(-100%); animation:igShimmer 2.4s ease-in-out infinite;}
[data-theme="dark"] .ig_skel::after {background:linear-gradient(90deg, transparent, rgba(255, 255, 255, .08), transparent);}
.ig_skel + .ig_skel {margin-top:.5rem;}
.ig_skel_70 {width:70%;}
.ig_skel_50 {width:50%;}
.ig_skel_85 {width:85%;}
.ig_row {display:flex; align-items:center; gap:.625rem; padding:.625rem .75rem; border-radius:.625rem; background:var(--color-bg-soft); font-size:.8125rem; font-weight:600; color:var(--color-text);}
.ig_row + .ig_row {margin-top:.5rem;}
.ig_row .status {margin-left:auto; padding:.1875rem .5rem; font-size:.6875rem;}
.ig_stat {border-radius:1rem; padding:1.5rem; background:linear-gradient(150deg, #0F766E 0%, #0aa58a 100%); color:#fff; box-shadow:0 1rem 2.5rem rgba(15, 118, 110, .3);}
.ig_stat .ig_label {color:rgba(255, 255, 255, .85);}
.ig_stat_num {margin-top:.75rem; font-size:3rem; font-weight:900; line-height:1; letter-spacing:-.03em;}
.ig_stat_num small {font-size:1.125rem; font-weight:800; margin-left:.25rem;}
.ig_stat_text {margin-top:.75rem; font-size:.8125rem; line-height:1.6; color:rgba(255, 255, 255, .88);}
.ig_dot {display:inline-flex; gap:.3125rem;}
.ig_dot i {width:.5rem; height:.5rem; border-radius:50%; background:var(--ig-skel-strong);}
.ig_dot i:nth-child(1) {background:#ff7a6b;}
.ig_dot i:nth-child(2) {background:#ffc53d;}
.ig_dot i:nth-child(3) {background:#3ee08f;}
.ig_url {display:flex; align-items:center; gap:.5rem; padding:.625rem .875rem; border-radius:999px; background:var(--color-bg-soft); font-size:.8125rem; font-weight:600; color:var(--color-sub);}
.ig_url::before {content:""; width:.875rem; height:.875rem; border-radius:50%; border:2px solid var(--color-muted); flex:none;}
.ig_caret {display:inline-block; width:1px; height:1em; margin-left:1px; background:var(--color-blue); vertical-align:-.15em; animation:igCaret 1s steps(1) infinite;}
.ig_mini_ring {position:relative; width:5.5rem; height:5.5rem; flex:none;}
.ig_mini_ring svg {width:100%; height:100%; transform:rotate(-90deg);}
.ig_mini_ring circle {fill:none; stroke-width:12;}
.ig_mini_ring .t {stroke:var(--ig-skel);}
.ig_mini_ring .v {stroke:url(#igGrad); stroke-linecap:round; stroke-dasharray:251.3; stroke-dashoffset:251.3; transition:stroke-dashoffset 1.6s var(--ig-ease) .4s;}
.ig_mini_ring b {position:absolute; inset:0; display:grid; place-items:center; font-size:1.625rem; font-weight:900; color:var(--color-heading);}
.ig_bars {display:flex; align-items:flex-end; gap:.5rem; height:5rem; margin-top:1rem;}
.ig_bars span {flex:1; height:var(--h); border-radius:.375rem .375rem .125rem .125rem; background:var(--color-grad); opacity:.9; transform:scaleY(0); transform-origin:bottom; transition:transform 1s var(--ig-ease);}
.ig_bars span.is-mid {background:linear-gradient(180deg, #ffd27a, #f0a400);}
.ig_bars span:nth-child(2) {transition-delay:.08s;}
.ig_bars span:nth-child(3) {transition-delay:.16s;}
.ig_bars span:nth-child(4) {transition-delay:.24s;}
.ig_bars span:nth-child(5) {transition-delay:.32s;}
.ig_bars span:nth-child(6) {transition-delay:.4s;}
.ig_score_chips {display:flex; gap:.375rem; flex-wrap:wrap;}
.ig_score_chip {display:inline-flex; align-items:baseline; gap:.375rem; padding:.375rem .625rem; border-radius:.5rem; background:var(--color-bg-soft); font-size:.6875rem; font-weight:800; color:var(--color-sub);}
.ig_score_chip b {font-size:1rem; color:var(--color-heading);}
.ig_check {display:flex; align-items:center; gap:.5rem; font-size:.8125rem; color:var(--color-text);}
.ig_check + .ig_check {margin-top:.375rem;}
.ig_check::before {content:""; flex:none; width:1rem; height:1rem; border-radius:.25rem; background:#0aa58a no-repeat center / .625rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E"); transform:scale(0); transition:transform .45s cubic-bezier(.3, 1.6, .5, 1);}

/* ---------- 결과지 목업 (메인 · 제공 내용) ---------- */
.ig_report {aspect-ratio:4 / 5; padding:2rem;}
.ig_report .ig_pill {top:2rem; right:2rem;}
.ig_report_back {position:absolute; left:2rem; top:5.5rem; width:62%;}
.ig_report_score {position:absolute; right:2rem; top:12.5rem; width:60%; display:flex; gap:1rem; align-items:center;}
.ig_report_score p {font-size:.75rem; font-weight:700; color:var(--color-sub);}
.ig_report_score strong {display:block; margin:.25rem 0 .5rem; font-size:1rem; font-weight:800; color:var(--color-heading);}
.ig_report_prio {position:absolute; left:2rem; right:4rem; bottom:5.75rem;}
.ig_report_prio .ig_label {margin-bottom:.75rem;}
.ig_report_pdf {position:absolute; right:2rem; bottom:2rem; display:flex; align-items:center; gap:.75rem; padding:.875rem 1.125rem;}
.ig_report_pdf b {display:grid; place-items:center; width:2.5rem; height:2.5rem; border-radius:.625rem; background:var(--color-grad); color:#fff; font-size:.6875rem; font-weight:900;}
.ig_report_pdf span {font-size:.8125rem; font-weight:700; color:var(--color-heading); line-height:1.4;}
.ig_report_pdf small {display:block; font-weight:500; color:var(--color-muted);}

/* ---------- 검사 스캔 목업 (진단 항목 비주얼) ---------- */
.ig_scan {aspect-ratio:4 / 3; padding:2rem;}
.ig_scan .ig_pill {top:1.5rem; left:50%; transform:translateX(-50%);}
.ig_scan_browser {position:absolute; left:2rem; top:4.75rem; width:66%; padding:1rem 1.125rem 1.25rem; overflow:hidden;}
.ig_scan_browser_top {display:flex; align-items:center; gap:.75rem; margin-bottom:1rem;}
.ig_scan_browser_top .ig_url {flex:1; min-width:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis;}
.ig_scan_line {position:absolute; left:0; right:0; top:3.75rem; height:2.75rem; background:linear-gradient(180deg, transparent, rgba(15, 118, 110, .16) 60%, rgba(15, 118, 110, .55) 100%); border-bottom:2px solid var(--color-blue); pointer-events:none; opacity:0;}
.ig_scan_stat {position:absolute; right:2rem; bottom:2rem; width:38%;}

/* ---------- 진행 방식 목업 (상담) ---------- */
.ig_flow {aspect-ratio:4 / 5; padding:2rem; display:flex; flex-direction:column; justify-content:center; gap:1.25rem;}
.ig_flow .ig_pill {position:relative; align-self:center;}
.ig_flow_list {position:relative; display:grid; gap:1.25rem;}
.ig_flow_list::before {content:""; position:absolute; left:1.0625rem; top:1.25rem; bottom:1.25rem; width:2px; background:repeating-linear-gradient(180deg, var(--color-blue) 0 6px, transparent 6px 12px); background-size:2px 24px; animation:igDash 1.2s linear infinite; opacity:.6;}
.ig_flow_step {position:relative; display:flex; gap:1rem; align-items:flex-start;}
.ig_flow_no {position:relative; z-index:1; flex:none; display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--color-grad); color:#fff; font-size:.75rem; font-weight:900; box-shadow:0 0 0 4px var(--ig-card);}
.ig_flow_step .ig_card {flex:1; padding:1rem 1.125rem;}
.ig_flow_title {font-size:.9375rem; font-weight:800; color:var(--color-heading); margin-bottom:.625rem;}
.ig_flow_counts {display:flex; gap:.375rem; flex-wrap:wrap;}
.ig_flow_counts .status {font-size:.6875rem; padding:.1875rem .5rem;}

/* ---------- 인입 CTA (몇 점일까요 · 상담) ---------- */
.ig_cta_sec {padding:6rem 0;}
.ig_cta {display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.05fr); gap:3rem; align-items:center; padding:4rem; border-radius:2rem; background:var(--ig-panel); position:relative; overflow:hidden; isolation:isolate;}
.ig_cta::before {content:""; position:absolute; inset:-30%; z-index:-1; background:radial-gradient(circle at 80% 20%, rgba(15, 118, 110, .22), transparent 40%), radial-gradient(circle at 20% 90%, rgba(27, 240, 176, .2), transparent 40%); animation:igAurora 16s ease-in-out infinite alternate;}
[data-theme="dark"] .ig_cta {border:1px solid rgba(15, 118, 110, .18);}
.ig_cta_title {font-size:2.5rem; font-weight:800; line-height:1.3; letter-spacing:-.03em; color:var(--color-heading); text-wrap:balance;}
.ig_cta_text {margin-top:1.25rem; font-size:1.0625rem; line-height:1.75; color:var(--color-sub); text-wrap:pretty;}
.ig_cta_btns {display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem;}
.ig_cta_visual {position:relative; min-height:21rem;}
.ig_cta_visual .ig_pill {top:0; left:1.5rem;}
.ig_cta_input {position:absolute; left:0; right:3rem; top:1.75rem; padding:1.5rem;}
.ig_cta_input_row {display:flex; gap:.5rem; margin-top:.875rem;}
.ig_cta_input_row .ig_url {flex:1; min-width:0; overflow:hidden; white-space:nowrap;}
.ig_cta_input_row b {flex:none; display:grid; place-items:center; padding:0 1rem; border-radius:999px; background:var(--color-grad); color:#fff; font-size:.75rem; font-weight:800; animation:igPulse 2.4s ease-in-out infinite;}
.ig_cta_scores {position:absolute; right:0; bottom:0; left:4rem; display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.75rem; padding:1.25rem;}
.ig_cta_score {text-align:center; padding:1rem .5rem; border-radius:.75rem; background:var(--color-bg-soft);}
.ig_cta_score span {display:block; font-size:.6875rem; font-weight:800; letter-spacing:.06em;}
.ig_cta_score b {display:block; margin-top:.25rem; font-size:2rem; font-weight:900; line-height:1.1; font-variant-numeric:tabular-nums;}
.ig_cta_score small {display:block; margin-top:.25rem; font-size:.6875rem; color:var(--color-muted);}
.ig_cta_score_seo span {color:var(--color-blue-deep);}
.ig_cta_score_geo span {color:var(--color-mint-deep);}
.ig_cta_score_aeo span {color:#6a4bd6;}
[data-theme="dark"] .ig_cta_score_aeo span {color:#b4a2ff;}
.ig_q {background:var(--color-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.ig_cta_doc {position:absolute; left:0; top:1.75rem; width:62%; padding:1.5rem;}
.ig_cta_doc_head {display:flex; align-items:center; gap:.75rem; margin-bottom:1rem;}
.ig_cta_doc_head b {display:grid; place-items:center; flex:none; width:2.75rem; height:2.75rem; border-radius:.625rem; background:var(--color-grad); color:#fff; font-size:.75rem; font-weight:900;}
.ig_cta_doc_head span {font-size:.9375rem; font-weight:800; color:var(--color-heading); line-height:1.4;}
.ig_cta_doc_head small {display:block; font-size:.75rem; font-weight:500; color:var(--color-muted);}
.ig_cta_contact {position:absolute; right:0; bottom:0; width:56%; padding:1.25rem 1.375rem;}
.ig_cta_contact .ig_check {font-weight:600;}

/* ---------- 진단 영역 비교 컬럼 ---------- */
.area_card {padding-top:0;}
.area_head {display:flex; align-items:center; justify-content:center; gap:.5rem; height:3.5rem; margin:0 -2.25rem 1.75rem; font-size:1.125rem; font-weight:900; letter-spacing:.06em; color:#fff; background-size:200% 100%; animation:igSlide 6s ease-in-out infinite alternate;}
.area_card_seo .area_head {background-image:linear-gradient(100deg, #0B5F58, #0F766E, #0B5F58);}
.area_card_geo .area_head {background-image:linear-gradient(100deg, #08977e, #1BF0B0, #08977e); color:#00261c;}
.area_card_aeo .area_head {background-image:linear-gradient(100deg, #5a3cc8, #9b85f0, #5a3cc8);}
.area_checks {display:grid; gap:.5rem;}
.area_checks li {display:flex; align-items:center; gap:.625rem; padding:.75rem .875rem; border-radius:.625rem; background:var(--color-bg-soft); font-size:.875rem; font-weight:600; color:var(--color-text); opacity:0; transform:translateX(-.75rem); transition:opacity .5s ease, transform .5s var(--ig-ease);}
.area_checks li::before {content:""; flex:none; width:1.125rem; height:1.125rem; border-radius:.3125rem; background:var(--color-line-strong) no-repeat center / .6875rem url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E");}
.area_card_seo .area_checks li::before {background-color:#0F766E;}
.area_card_geo .area_checks li::before {background-color:#0aa58a;}
.area_card_aeo .area_checks li::before {background-color:#7a5ee0;}
.area_card .area_card_name {margin-top:1.75rem; display:flex; align-items:baseline; gap:.625rem;}
.area_card_num {font-size:1.25rem; font-weight:900; background:var(--color-grad); -webkit-background-clip:text; background-clip:text; color:transparent;}
.area_card.is-in .area_checks li {opacity:1; transform:none;}
.area_card.is-in .area_checks li:nth-child(2) {transition-delay:.08s;}
.area_card.is-in .area_checks li:nth-child(3) {transition-delay:.16s;}
.area_card.is-in .area_checks li:nth-child(4) {transition-delay:.24s;}
.area_card.is-in .area_checks li:nth-child(5) {transition-delay:.32s;}
.area_card.is-in .area_checks li:nth-child(6) {transition-delay:.4s;}

/* ---------- 모션: 화면에 들어오면 시작 ---------- */
.ig_float {animation:igFloat 6s ease-in-out infinite;}
.ig_float_2 {animation:igFloat 7s ease-in-out -2s infinite;}
.ig_float_3 {animation:igFloat 8s ease-in-out -4s infinite;}
.ig_in .ig_mini_ring .v {stroke-dashoffset:var(--off);}
.ig_in .ig_bars span {transform:scaleY(1);}
.ig_in .ig_check::before {transform:scale(1);}
.ig_in .ig_check:nth-child(2)::before {transition-delay:.2s;}
.ig_in .ig_check:nth-child(3)::before {transition-delay:.4s;}
.ig_in .ig_check:nth-child(4)::before {transition-delay:.6s;}
.ig_pop {opacity:0; transform:translateY(.75rem) scale(.96); transition:opacity .6s ease, transform .6s var(--ig-ease);}
.ig_in .ig_pop {opacity:1; transform:none;}
.ig_in .ig_pop:nth-child(2) {transition-delay:.15s;}
.ig_in .ig_pop:nth-child(3) {transition-delay:.3s;}
.ig_in .ig_pop:nth-child(4) {transition-delay:.45s;}
.ig_in .ig_pop:nth-child(5) {transition-delay:.6s;}
.ig_in .ig_scan_line {animation:igScan 3.6s ease-in-out infinite;}
.ig_scan_rows .ig_row .status {opacity:0; transform:scale(.6); transition:opacity .35s ease, transform .35s cubic-bezier(.3, 1.6, .5, 1);}
.ig_in .ig_scan_rows .ig_row .status {opacity:1; transform:none;}
.ig_in .ig_scan_rows .ig_row:nth-child(1) .status {transition-delay:.5s;}
.ig_in .ig_scan_rows .ig_row:nth-child(2) .status {transition-delay:1.1s;}
.ig_in .ig_scan_rows .ig_row:nth-child(3) .status {transition-delay:1.7s;}
.ig_in .ig_scan_rows .ig_row:nth-child(4) .status {transition-delay:2.3s;}

@keyframes igFloat {0%, 100% {transform:translateY(0);} 50% {transform:translateY(-.625rem);}}
@keyframes igShimmer {0% {transform:translateX(-100%);} 60%, 100% {transform:translateX(100%);}}
@keyframes igNudge {0%, 100% {transform:translateX(0);} 50% {transform:translateX(.25rem);}}
@keyframes igCaret {50% {opacity:0;}}
@keyframes igAurora {0% {transform:translate(0, 0) rotate(0);} 100% {transform:translate(4%, -3%) rotate(8deg);}}
@keyframes igScan {0% {transform:translateY(0); opacity:0;} 10% {opacity:1;} 85% {opacity:1;} 100% {transform:translateY(11rem); opacity:0;}}
@keyframes igDash {to {background-position:0 24px;}}
@keyframes igPulse {0%, 100% {box-shadow:0 0 0 0 rgba(15, 118, 110, .45);} 50% {box-shadow:0 0 0 .5rem rgba(15, 118, 110, 0);}}
@keyframes igSlide {0% {background-position:0 0;} 100% {background-position:100% 0;}}

@media (prefers-reduced-motion:reduce) {
  .ig_panel::before, .ig_cta::before, .ig_float, .ig_float_2, .ig_float_3, .ig_skel::after, .ig_pill i, .ig_caret, .ig_cta_input_row b, .ig_flow_list::before, .area_head, .ig_in .ig_scan_line {animation:none;}
  .ig_pop, .ig_bars span, .ig_check::before, .ig_mini_ring .v, .area_checks li, .ig_scan_rows .ig_row .status {transition:none; opacity:1; transform:none;}
  .ig_mini_ring .v {stroke-dashoffset:var(--off);}
}

@media (max-width:1024px) {
  .ig_cta {grid-template-columns:minmax(0, 1fr); padding:3rem 2rem;}
  .ig_report {aspect-ratio:auto; min-height:34rem;}
  .ig_flow {aspect-ratio:auto;}
  .ig_scan {aspect-ratio:auto; min-height:24rem;}
}
@media (max-width:768px) {
  .ig_cta_sec {padding:4rem 0;}
  .ig_cta {padding:2.25rem 1.25rem; border-radius:1.5rem; gap:2rem;}
  .ig_cta_title {font-size:1.75rem;}
  .ig_cta_text {font-size:1rem;}
  .ig_cta_btns .btn {flex:1;}
  .ig_cta_visual {min-height:20rem;}
  .ig_cta_visual .ig_pill {left:1rem;}
  .ig_cta_input {right:0; padding:1.125rem;}
  .ig_cta_scores {left:1rem; padding:1rem; gap:.5rem;}
  .ig_cta_score b {font-size:1.5rem;}
  .ig_cta_doc {width:84%; padding:1.125rem;}
  .ig_cta_contact {width:84%;}
  .ig_report, .ig_scan, .ig_flow {padding:1.25rem;}
  .ig_report {min-height:32rem;}
  .ig_report .ig_pill {top:1.25rem; right:1.25rem;}
  .ig_report_back {left:1.25rem; top:4.5rem; width:78%;}
  .ig_report_score {right:1.25rem; top:11.25rem; width:82%;}
  .ig_report_prio {left:1.25rem; right:1.25rem; bottom:5.25rem;}
  .ig_report_pdf {right:1.25rem; bottom:1.25rem;}
  .ig_scan {min-height:24rem;}
  .ig_scan .ig_pill {font-size:.8125rem;}
  .ig_scan_browser {left:1.25rem; right:1.25rem; width:auto; top:4.25rem;}
  .ig_scan_stat {right:1.25rem; bottom:1.25rem; width:62%; padding:1.125rem;}
  .ig_scan_stat .ig_stat_num {font-size:2.25rem;}
  .area_head {margin:0 -2.25rem 1.5rem;}
}
.ig_skel_gap {margin-top:1rem;}
.ig_label_gap {margin-bottom:.75rem;}

/* =========================================================
   개인정보 처리방침 · 이용약관
   ========================================================= */
.policy_page {padding:4.5rem 0 7rem; background:var(--color-bg-soft);}
.policy_hero {padding:1rem 0 2.5rem;}
.policy_eyebrow {display:inline-flex; align-items:center; gap:.5rem; font-size:.875rem; font-weight:700; color:var(--color-blue-deep);}
.policy_eyebrow::before {content:""; width:.5rem; height:.5rem; border-radius:50%; background:var(--color-grad);}
.policy_hero h1 {margin-top:1rem; font-size:3rem; font-weight:800; letter-spacing:-.035em; color:var(--color-heading);}
.policy_lead {margin-top:1.25rem; max-width:44em; font-size:1.0625rem; line-height:1.75; color:var(--color-sub);}
.policy_meta {display:flex; flex-wrap:wrap; gap:.5rem; margin-top:1.5rem;}
.policy_meta li {padding:.375rem .875rem; border-radius:999px; background:var(--color-surface); border:1px solid var(--color-line); font-size:.8125rem; font-weight:700; color:var(--color-sub);}
.policy_tabs {display:inline-flex; gap:.375rem; margin-top:2rem; padding:.375rem; border-radius:999px; background:var(--color-surface); border:1px solid var(--color-line);}
.policy_tabs a {display:flex; align-items:center; min-height:2.75rem; padding:0 1.375rem; border-radius:999px; font-size:.9375rem; font-weight:700; color:var(--color-sub); white-space:nowrap; transition:var(--transition-base);}
.policy_tabs a.is-on {background:var(--color-panel); color:#fff;}
[data-theme="dark"] .policy_tabs a.is-on {background:var(--color-grad); color:#fff;}
.policy_card {padding:2.25rem 2.5rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line);}
.policy_card + .policy_card {margin-top:1rem;}
.policy_card h2 {display:flex; align-items:center; gap:.875rem; font-size:1.375rem; font-weight:800; color:var(--color-heading); margin-bottom:1rem;}
.policy_card h2 span {display:grid; place-items:center; flex:none; width:2.25rem; height:2.25rem; border-radius:.625rem; background:var(--color-grad); color:#fff; font-size:.8125rem; font-weight:900;}
.policy_card p, .policy_card li {font-size:.9375rem; line-height:1.8; color:var(--color-sub);}
.policy_card p + p, .policy_card p + ul, .policy_card p + ol, .policy_card table + p, .policy_card ul + p, .policy_card ol + p, .policy_card p + table {margin-top:.875rem;}
.policy_card ul > li, .policy_card ol > li {position:relative; padding-left:1.375rem;}
.policy_card ul > li + li, .policy_card ol > li + li {margin-top:.375rem;}
.policy_card ul > li::before {content:""; position:absolute; left:.375rem; top:.75rem; width:.3125rem; height:.3125rem; border-radius:50%; background:var(--color-blue);}
.policy_card ol {counter-reset:pol;}
.policy_card ol > li {counter-increment:pol;}
.policy_card ol > li::before {content:counter(pol) "."; position:absolute; left:0; font-weight:800; color:var(--color-blue-deep);}
.policy_card a {color:var(--color-blue-deep); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere;}
.policy_card strong {color:var(--color-heading);}
.policy_table {width:100%; border-collapse:collapse; border-top:2px solid var(--color-heading);}
.policy_table th, .policy_table td {padding:1rem 1.125rem; border-bottom:1px solid var(--color-line); font-size:.9375rem; line-height:1.7; text-align:left; vertical-align:top;}
.policy_table th {width:9rem; background:var(--color-bg-soft); font-weight:800; color:var(--color-heading); white-space:nowrap;}
.policy_table td {color:var(--color-sub);}
.policy_note {margin-top:1.5rem; padding:1.25rem 1.5rem; border-radius:var(--radius-m); background:var(--color-surface); border:1px dashed var(--color-line-strong); font-size:.9375rem; color:var(--color-sub);}
.policy_note strong {margin-right:.5rem; color:var(--color-heading);}
@media (max-width:768px) {
  .policy_page {padding:2.5rem 0 4.5rem;}
  .policy_hero h1 {font-size:2rem;}
  .policy_lead {font-size:1rem;}
  .policy_tabs {display:flex;}
  .policy_tabs a {flex:1; justify-content:center; padding:0 .75rem;}
  .policy_card {padding:1.5rem 1.25rem;}
  .policy_card h2 {font-size:1.125rem;}
  .policy_table th, .policy_table td {display:block; width:auto; padding:.75rem .875rem;}
  .policy_table th {border-bottom:0; padding-bottom:.25rem;}
}
.ig_scan {aspect-ratio:1 / 1;}
.ig_scan_browser {width:80%;}
.ig_scan_stat {width:46%; padding:1.25rem 1.375rem;}
.ig_scan_stat .ig_stat_num {font-size:2.5rem;}
@media (max-width:1024px) {
  .ig_scan {aspect-ratio:auto; min-height:30rem;}
}
@media (max-width:768px) {
  .ig_scan {min-height:28rem;}
  .ig_scan_stat {width:64%;}
}
.ig_scan .ig_pill {top:1rem;}
.ig_scan_browser {top:3.75rem;}
.ig_scan_stat {right:1.25rem; bottom:1rem; padding:1rem 1.125rem;}
.ig_scan_stat .ig_stat_num {margin-top:.5rem; font-size:2.25rem;}
.ig_scan_stat .ig_stat_text {margin-top:.5rem; font-size:.75rem;}
.ig_flow {aspect-ratio:auto; padding:2.5rem 2rem;}
.ig_flow .ig_pill {position:relative; top:auto; left:auto;}
@media (max-width:768px) {
  .ig_scan_browser {top:3.5rem;}
  .ig_flow {padding:2rem 1.25rem;}
}
/* 모바일: 겹친 카드 → 세로로 쌓기 */
@media (max-width:768px) {
  .ig_report, .ig_scan {min-height:0; display:flex; flex-direction:column; gap:.875rem; padding:4.25rem 1.25rem 1.5rem;}
  .ig_report > .ig_card, .ig_scan > .ig_card, .ig_scan > .ig_stat {position:relative; inset:auto; left:auto; right:auto; top:auto; bottom:auto; width:auto;}
  .ig_report_score {margin:0 0 0 1.5rem;}
  .ig_report_back {margin-right:1.5rem;}
  .ig_report_pdf {align-self:flex-end;}
  .ig_scan_stat {align-self:flex-end; width:72%; margin-top:-1.5rem;}
  .ig_cta_visual {min-height:0; display:flex; flex-direction:column; gap:.75rem; padding-top:3.25rem;}
  .ig_cta_visual > .ig_card {position:relative; inset:auto; left:auto; right:auto; top:auto; bottom:auto; width:auto;}
  .ig_cta_scores, .ig_cta_contact {margin-left:1.25rem;}
  .ig_cta_input, .ig_cta_doc {margin-right:1.25rem;}
}

/* 메인 · 결과 화면 예시 점수 카드 — B 소프트 그레이블루 (라이트 시안) */
:root:not([data-theme="dark"]) .preview_score {background:#eef6fa; border:1px solid #dde9f0; color:var(--color-heading);}
:root:not([data-theme="dark"]) .preview_score .ring {padding:.75rem; border-radius:50%; background:#fff; box-shadow:0 .75rem 2rem rgba(0, 72, 96, .1); width:13.5rem; height:13.5rem;}
:root:not([data-theme="dark"]) .preview_score .ring_center {inset:.75rem;}
:root:not([data-theme="dark"]) .preview_score .ring_track {stroke:#dbe6ec;}
:root:not([data-theme="dark"]) .preview_score .ring_num {color:var(--color-heading);}
:root:not([data-theme="dark"]) .preview_score .ring_label {color:var(--color-muted);}
:root:not([data-theme="dark"]) .preview_score_band {color:var(--color-mint-deep);}
:root:not([data-theme="dark"]) .preview_score_sub div {background:#fff; border-color:transparent; box-shadow:0 .375rem 1rem rgba(0, 72, 96, .06);}
:root:not([data-theme="dark"]) .preview_score_sub span {color:var(--color-blue-deep);}
:root:not([data-theme="dark"]) .preview_score_sub div + div span {color:#6a4bd6;}
:root:not([data-theme="dark"]) .preview_score_sub b {color:var(--color-heading);}
:root:not([data-theme="dark"]) .preview_note {color:var(--color-muted);}

/* =========================================================
   FAQ + 상담 배너 (메인 하단)
   ========================================================= */
.faq_wrap {display:grid; grid-template-columns:minmax(0, 1fr) 28rem; gap:3rem; align-items:start;}
.faq_list {border-top:1px solid var(--color-heading);}
.faq_item {border-bottom:1px solid var(--color-line);}
.faq_q {margin:0;}
.faq_btn {display:flex; align-items:center; justify-content:space-between; gap:1.5rem; width:100%; min-height:5.5rem; padding:1.5rem 0; text-align:left; font-size:1.1875rem; font-weight:700; line-height:1.5; color:var(--color-heading); transition:color .25s ease;}
.faq_btn:hover {color:var(--color-blue-deep);}
.faq_icon {position:relative; flex:none; width:2.5rem; height:2.5rem; border-radius:50%; border:1px solid var(--color-line-strong); transition:background-color .3s ease, border-color .3s ease, transform .3s ease;}
.faq_icon::before, .faq_icon::after {content:""; position:absolute; left:50%; top:50%; width:.875rem; height:2px; border-radius:2px; background:var(--color-heading); transform:translate(-50%, -50%); transition:transform .3s ease, background-color .3s ease;}
.faq_icon::after {transform:translate(-50%, -50%) rotate(90deg);}
.faq_item.is-open .faq_btn {color:var(--color-blue-deep);}
.faq_item.is-open .faq_icon {background:var(--color-grad); border-color:transparent;}
.faq_item.is-open .faq_icon::before, .faq_item.is-open .faq_icon::after {background:#0B0F14;}
.faq_item.is-open .faq_icon::after {transform:translate(-50%, -50%) rotate(0);}
.faq_a {padding:0 4rem 1.75rem 0;}
.faq_a p {font-size:1rem; line-height:1.8; color:var(--color-sub);}
.faq_item.is-open .faq_a {animation:faqIn .35s ease;}
@keyframes faqIn {from {opacity:0; transform:translateY(-.375rem);} to {opacity:1; transform:none;}}

.faq_help {position:sticky; top:calc(var(--header-h) + 1.5rem); min-height:25rem; padding:3.5rem 3rem; border-radius:2rem; background:var(--ig-panel); overflow:hidden; isolation:isolate;}
.faq_help::before {content:""; position:absolute; inset:-30%; z-index:-1; background:radial-gradient(circle at 80% 85%, rgba(15, 118, 110, .22), transparent 40%), radial-gradient(circle at 15% 10%, rgba(27, 240, 176, .2), transparent 40%); animation:igAurora 14s ease-in-out infinite alternate;}
[data-theme="dark"] .faq_help {border:1px solid rgba(15, 118, 110, .2);}
.faq_help_title {font-size:2rem; font-weight:800; line-height:1.3; letter-spacing:-.025em; color:var(--color-heading);}
.faq_help_text {margin:.75rem 0 1.5rem; max-width:17em; font-size:1rem; line-height:1.65; color:var(--color-sub);}
.faq_help .btn {position:relative; z-index:1;}
.faq_help_icon {position:absolute; right:1.5rem; bottom:1.25rem; width:11rem; height:11rem; pointer-events:none; animation:igFloat 6s ease-in-out infinite;}
@media (prefers-reduced-motion:reduce) {
  .faq_help::before, .faq_help_icon, .faq_item.is-open .faq_a {animation:none;}
}
@media (max-width:1200px) {
  .faq_wrap {grid-template-columns:minmax(0, 1fr) 22rem; gap:2rem;}
  .faq_help {padding:2.75rem 2.25rem;}
  .faq_help_title {font-size:1.625rem;}
  .faq_help_icon {width:8.5rem; height:8.5rem;}
}
@media (max-width:1024px) {
  .faq_wrap {grid-template-columns:minmax(0, 1fr);}
  .faq_help {position:relative; top:auto; min-height:0; padding:2.25rem 2rem 2.25rem;}
  .faq_help_text {max-width:24em;}
  .faq_help_icon {width:7.5rem; height:7.5rem; right:1.25rem; bottom:1rem;}
}
@media (max-width:768px) {
  .faq_btn {min-height:4.5rem; padding:1.25rem 0; font-size:1.0625rem; gap:1rem;}
  .faq_icon {width:2.25rem; height:2.25rem;}
  .faq_a {padding:0 0 1.5rem;}
  .faq_a p {font-size:.9375rem;}
  .faq_help {padding:1.75rem 1.5rem; border-radius:1.25rem;}
  .faq_help_title {font-size:1.375rem;}
  .faq_help_text {margin:.5rem 0 1.25rem; max-width:none; padding-right:5.5rem; font-size:.9375rem;}
  .faq_help_icon {width:6rem; height:6rem; right:1rem; bottom:1rem;}
}

/* =========================================================
   그라데이션 제거 — 버튼·배경은 단색 (그래프 선은 유지)
   ========================================================= */
:root {
  --color-grad:#0F766E;
  --ig-panel:#e6f6f3;
}
:root[data-theme="dark"] {
  --color-grad:#0F766E;
  --ig-panel:#0c1a21;
}
/* 배경 장식(빛 번짐) 제거 */
.hero::before, .hero::after, .subvisual::before, .cta_band::after, .result_cta::before,
.ig_panel::before, .ig_cta::before, .faq_help::before, .preview_score::before {content:none; display:none;}
.hero {background:#f4f8fa;}
[data-theme="dark"] .hero {background:#000;}
.btn_primary {box-shadow:none;}
.btn_primary:hover {background:#0B5F58; box-shadow:none;}
/* 카드·패널 단색 */
.ig_stat {background:#0D6B64; box-shadow:0 1rem 2.5rem rgba(15, 118, 110, .2);}
.area_head {animation:none; background-image:none;}
.area_card_seo .area_head {background-color:#0F766E;}
.area_card_geo .area_head {background-color:#12c99a; color:#00261c;}
.area_card_aeo .area_head {background-color:#7a5ee0;}
.bar_low span {background:var(--color-improve);}
.bar_mid span {background:#f0a400;}
.ig_bars span.is-mid {background:#f0a400;}
[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 {background:#0e171c;}
.text_grad, .area_card_num {background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--color-blue-deep);}
.ig_q {background:none; -webkit-background-clip:border-box; background-clip:border-box; color:var(--color-blue-deep);}

/* 브랜드 블루 #0F766E — 블루 위 글자·아이콘은 흰색 */
:root {--color-grad:#0F766E; --color-blue:#0F766E; --color-blue-deep:#0F766E;}
:root[data-theme="dark"] {--color-grad:#0F766E; --color-blue:#2FB3A3; --color-blue-deep:#5FD4C4;}
.btn_primary:hover {background:#0B5F58;}
.faq_item.is-open .faq_icon::before, .faq_item.is-open .faq_icon::after {background:#fff;}
.ig_pill i, [data-theme="dark"] .ig_pill i {background:#fff;}
.ig_pill i::after, [data-theme="dark"] .ig_pill i::after {border-color:#fff;}
.ig_pill, [data-theme="dark"] .ig_pill {background:var(--color-ink); color:#fff;}
[data-theme="dark"] .ig_pill {background:#0F766E;}
[data-theme="dark"] .filter_btn.is-active b {color:#fff;}
.theme_switch_btn.is-active i {border-color:rgba(255, 255, 255, .6);}
[data-theme="dark"] .chip_seo, [data-theme="dark"] .hero_tag_seo strong {background:rgba(15, 118, 110, .18); color:#7fd1c4;}
.input:focus {box-shadow:0 0 0 4px rgba(15, 118, 110, .16);}
:root {--ig-panel:#e6f6f3;}
:root[data-theme="dark"] {--ig-panel:#0b1a19;}
.area_card .area_head {background-image:none; animation:none;}

/* =========================================================
   메인 · 결과 화면 예시 — 미니 결과 대시보드 (A안)
   ========================================================= */
.preview_dash {display:flex; flex-direction:column; gap:1.5rem; padding:2rem 2.25rem; border-radius:var(--radius-l); background:var(--color-surface); border:1px solid var(--color-line);}
.pdash_head {display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; padding-bottom:1.25rem; border-bottom:1px solid var(--color-line);}
.pdash_title {display:flex; align-items:center; gap:.625rem; font-size:1.25rem; font-weight:800; color:var(--color-heading);}
.pdash_url {margin-top:.375rem; font-size:.875rem; color:var(--color-muted); overflow-wrap:anywhere;}
.pdash_mode {flex:none; padding:.375rem .75rem; border-radius:999px; background:var(--color-bg-tint); font-size:.75rem; font-weight:700; color:var(--color-mint-deep); white-space:nowrap;}
.pdash_label {display:flex; align-items:baseline; gap:.625rem; margin-bottom:.875rem; font-size:.875rem; font-weight:800; color:var(--color-heading);}
.pdash_label span {font-size:.75rem; font-weight:500; color:var(--color-muted);}
.pdash_cats {display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:.625rem;}
.pdash_cat {padding:.875rem 1rem; border-radius:var(--radius-s); background:var(--color-bg-soft);}
.pdash_cat_top {display:flex; align-items:baseline; justify-content:space-between; gap:.5rem;}
.pdash_cat_name {font-size:.8125rem; font-weight:600; color:var(--color-sub); overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.pdash_cat_score {font-size:1.125rem; font-weight:900; color:var(--color-heading);}
.pdash_bar {height:.375rem; margin-top:.625rem; border-radius:999px; background:var(--color-line); overflow:hidden;}
.pdash_bar span {display:block; height:100%; width:0; border-radius:inherit; background:var(--color-grad); transition:width 1s var(--ig-ease);}
.pdash_bar.is-mid span {background:#f0a400;}
.pdash_bar.is-low span {background:var(--color-improve);}
.preview_dash.is-play .pdash_bar span {width:var(--w);}
.pdash_prio {display:grid; gap:.5rem;}
.pdash_item {border-radius:var(--radius-m); border:1px solid var(--color-line); background:var(--color-surface); transition:border-color .25s ease, box-shadow .25s ease;}
.pdash_item.is-open {border-color:var(--color-blue-deep); box-shadow:0 .5rem 1.5rem rgba(15, 118, 110, .08);}
.pdash_item_head {display:flex; align-items:center; gap:.625rem; width:100%; padding:.875rem 1rem; text-align:left;}
.pdash_item_no {flex:none; font-size:.75rem; font-weight:900; color:var(--color-blue-deep);}
.pdash_item_title {flex:1; min-width:0; font-size:.9375rem; font-weight:700; color:var(--color-heading);}
.pdash_item_head .status {flex:none;}
.pdash_item_head .priority {flex:none;}
.pdash_item_arrow {flex:none; width:.5rem; height:.5rem; margin:0 .25rem .25rem; border-right:2px solid var(--color-sub); border-bottom:2px solid var(--color-sub); transform:rotate(45deg); transition:transform .3s ease;}
.pdash_item.is-open .pdash_item_arrow {transform:rotate(-135deg); margin-bottom:-.25rem;}
.pdash_item_body {padding:0 1rem 1rem;}
.pdash_item.is-open .pdash_item_body {animation:faqIn .3s ease;}
.pdash_dl {display:grid; grid-template-columns:6.5rem 1fr; gap:.5rem 1rem; padding:1rem 1.125rem; border-radius:var(--radius-s); background:var(--color-bg-soft); font-size:.875rem; line-height:1.65;}
.pdash_dl dt {font-weight:700; color:var(--color-heading);}
.pdash_dl dd {color:var(--color-sub);}
.pdash_evidence {display:flex; flex-wrap:wrap; gap:.375rem;}
.pdash_evidence .evidence {background:var(--color-surface); border:1px solid var(--color-line);}
@media (prefers-reduced-motion:reduce) {
  .pdash_bar span {transition:none;}
  .pdash_item.is-open .pdash_item_body {animation:none;}
}
@media (max-width:1200px) {
  .pdash_item_head .priority {display:none;}
}
@media (max-width:768px) {
  .preview_dash {padding:1.25rem; gap:1.25rem;}
  .pdash_head {flex-direction:column; gap:.625rem;}
  .pdash_title {font-size:1.0625rem;}
  .pdash_cats {grid-template-columns:repeat(2, minmax(0, 1fr));}
  .pdash_item_head {flex-wrap:wrap; padding:.875rem;}
  .pdash_item_title {flex-basis:100%; order:3;}
  .pdash_item_arrow {margin-left:auto;}
  .pdash_dl {grid-template-columns:minmax(0, 1fr); gap:.25rem;}
  .pdash_dl dd + dt {margin-top:.5rem;}
}
.pdash_bar.is-mid span {background:#4FB3A6;}
@media (max-width:768px) {
  .pdash_cat_name {white-space:normal; overflow:visible; line-height:1.4;}
  .pdash_cat_top {align-items:flex-start;}
}

/* =========================================================
   진단 범위와 한계 — 행 + 아이콘 박스, 호버 시 박스 채움
   ========================================================= */
.scope_list {display:grid; gap:1rem;}
.scope_row {display:grid; grid-template-columns:minmax(0, 1fr) 5.25rem; gap:1rem; align-items:stretch;}
.scope_text {position:relative; z-index:0; justify-self:start; display:flex; flex-direction:column; justify-content:center; gap:.375rem; min-height:5.25rem; padding:1.25rem 2rem; border-radius:1rem; background:var(--color-bg-soft); font-size:.9375rem; line-height:1.7; color:var(--color-sub); transition:color .35s ease, background-color .35s ease;}
.scope_text::before {content:""; position:absolute; z-index:-1; top:0; bottom:0; left:0; width:var(--scope-w, 100%); border-radius:inherit; background:#cdeee8; transform:scaleX(0); transform-origin:left center; transition:transform .45s var(--ig-ease);}
.scope_text strong {font-size:1rem; font-weight:800; color:var(--color-heading);}
.scope_icon {display:grid; place-items:center; border-radius:1rem; background:var(--color-bg-soft); color:var(--color-heading); transition:background-color .35s ease, color .35s ease;}
.scope_icon svg {width:1.875rem; height:1.875rem; transition:transform .35s ease;}
.scope_row:hover .scope_text {background-color:transparent; color:var(--color-text);}
.scope_row:hover .scope_text::before {transform:scaleX(1);}
.scope_row:hover .scope_icon {background:#cdeee8; color:var(--color-blue-deep);}
.scope_row:hover .scope_icon svg {transform:scale(1.08);}
[data-theme="dark"] .scope_text::before, [data-theme="dark"] .scope_row:hover .scope_icon {background:rgba(15, 118, 110, .45);}
[data-theme="dark"] .scope_row:hover .scope_icon {color:#c8f5ee;}
@media (prefers-reduced-motion:reduce) {
  .scope_text::before {transition:none;}
}
@media (max-width:768px) {
  .scope_list {gap:.75rem;}
  .scope_row {grid-template-columns:minmax(0, 1fr) 3.25rem; gap:.5rem;}
  .scope_text {min-height:0; padding:1rem 1.125rem; font-size:.875rem;}
  .scope_text strong {font-size:.9375rem;}
  .scope_icon {border-radius:.75rem; align-self:start; height:3.25rem;}
  .scope_icon svg {width:1.5rem; height:1.5rem;}
}

/* 결과 페이지 점수 요약 카드 — 메인 결과 예시(B 소프트 톤)와 통일 */
:root:not([data-theme="dark"]) .score_box {background:#e6f6f3; border:1px solid #d6ece7; color:var(--color-heading);}
:root:not([data-theme="dark"]) .score_box .ring {padding:.75rem; border-radius:50%; background:#fff; box-shadow:0 .75rem 2rem rgba(15, 118, 110, .1); width:13.5rem; height:13.5rem;}
:root:not([data-theme="dark"]) .score_box .ring_center {inset:.75rem;}
:root:not([data-theme="dark"]) .score_box .ring_track {stroke:#dbe9e6;}
:root:not([data-theme="dark"]) .score_box .ring_num {color:var(--color-heading);}
:root:not([data-theme="dark"]) .score_box .ring_label {color:var(--color-muted);}
:root:not([data-theme="dark"]) .score_band {background:transparent; padding:0; color:var(--color-mint-deep);}
:root:not([data-theme="dark"]) .score_counts {color:var(--color-muted);}
:root:not([data-theme="dark"]) .score_sub {background:#fff; border-color:transparent; box-shadow:0 .375rem 1rem rgba(15, 118, 110, .06); text-align:center;}
:root:not([data-theme="dark"]) .score_sub:hover {background:#fff; box-shadow:0 .5rem 1.25rem rgba(15, 118, 110, .12);}
:root:not([data-theme="dark"]) .score_sub_k {color:var(--color-blue-deep);}
:root:not([data-theme="dark"]) .score_sub + .score_sub .score_sub_k {color:#6a4bd6;}
:root:not([data-theme="dark"]) .score_sub_v {color:var(--color-heading);}
:root:not([data-theme="dark"]) .score_sub_n {color:var(--color-muted);}

/* GEO 영역 컬러 — 앰버 오렌지 (SEO 딥 틸 · AEO 퍼플과 구분) */
:root {--color-geo:#E8853D; --color-geo-text:#B85E1C; --color-geo-bg:#FDF0E6;}
:root[data-theme="dark"] {--color-geo:#E8853D; --color-geo-text:#F5A66A; --color-geo-bg:rgba(232, 133, 61, .16);}
.chip_geo, .hero_tag_geo strong, [data-theme="dark"] .chip_geo, [data-theme="dark"] .hero_tag_geo strong {background:var(--color-geo-bg); color:var(--color-geo-text);}
.area_card_geo .area_card_key, .ready_geo .ready_band, .ig_cta_score_geo span {color:var(--color-geo-text);}
.area_card .area_card_geo .area_head, .area_card_geo .area_head {background-color:var(--color-geo); color:#fff;}
.area_card_geo .area_checks li::before {background-color:var(--color-geo);}
.preview_score_sub div:first-child span, :root:not([data-theme="dark"]) .preview_score_sub div:first-child span {color:var(--color-geo-text);}
.score_sub:first-child .score_sub_k, :root:not([data-theme="dark"]) .score_sub:first-child .score_sub_k {color:var(--color-geo-text);}

/* 진행 방식 그림 — 연결선 제거, 단계 번호가 순서대로 켜지는 모션 */
.ig_flow_list::before {content:none; display:none; animation:none;}
.ig_flow_step .ig_flow_no {animation:igStep 7.5s ease-in-out infinite;}
.ig_flow_step:nth-child(2) .ig_flow_no {animation-delay:1.5s;}
.ig_flow_step:nth-child(3) .ig_flow_no {animation-delay:3s;}
.ig_flow_step:nth-child(4) .ig_flow_no {animation-delay:4.5s;}
.ig_flow_step:nth-child(5) .ig_flow_no {animation-delay:6s;}
@keyframes igStep {
  0%, 22%, 100% {transform:scale(1); box-shadow:0 0 0 4px var(--ig-card);}
  8%, 14% {transform:scale(1.12); box-shadow:0 0 0 4px var(--ig-card), 0 0 0 9px rgba(15, 118, 110, .22);}
}
@media (prefers-reduced-motion:reduce) {
  .ig_flow_step .ig_flow_no {animation:none;}
}

/* 검정 배너 → 웜 피치 (라이트 시안) */
:root:not([data-theme="dark"]) .result_cta, :root:not([data-theme="dark"]) .glossary_item, :root:not([data-theme="dark"]) .contact_card_dark {background:#FDF0E6; border:1px solid #F6DFCC; color:var(--color-heading);}
:root:not([data-theme="dark"]) .result_cta_title {color:var(--color-heading);}
:root:not([data-theme="dark"]) .result_cta_text {color:#5b4a3e;}
:root:not([data-theme="dark"]) .result_cta .btn_ghost_white {background:#fff; border-color:#ecd8c8; color:var(--color-heading);}
:root:not([data-theme="dark"]) .result_cta .btn_ghost_white:hover {border-color:var(--color-heading); background:#fff;}
:root:not([data-theme="dark"]) .pdf_note {background:#fff; border-color:transparent;}
:root:not([data-theme="dark"]) .pdf_note p {color:#5b4a3e;}
:root:not([data-theme="dark"]) .pdf_note strong {color:var(--color-heading);}
:root:not([data-theme="dark"]) .pdf_note_icon {background:#E8853D; color:#fff;}
:root:not([data-theme="dark"]) .glossary_item {color:#5b4a3e;}
:root:not([data-theme="dark"]) .glossary_item strong {color:var(--color-heading);}
:root:not([data-theme="dark"]) .contact_card_dark .contact_card_label {color:#B85E1C;}
:root:not([data-theme="dark"]) .contact_card_dark p {color:#5b4a3e;}
:root:not([data-theme="dark"]) .contact_card_dark strong {color:var(--color-heading);}


/* 상담 페이지 상단 인포그래픽 */
.subvisual_compact .subvisual_grid {grid-template-columns:minmax(0, 1fr) minmax(0, 27rem); gap:3rem;}
.ig_consult {aspect-ratio:5 / 4; padding:1.75rem;}
.ig_consult .ig_pill {top:1.25rem; right:1.5rem;}
.ig_consult_form {position:absolute; left:1.75rem; top:4.5rem; width:58%;}
.ig_consult_field {display:block; padding:.625rem .75rem; margin-bottom:.5rem; border-radius:.5rem; background:var(--color-bg-soft); border:1px solid var(--color-line); font-size:.75rem; color:var(--color-muted);}
.ig_consult_form .ig_check {margin-top:.75rem; font-weight:700;}
.ig_consult_pdf {position:absolute; right:1.75rem; bottom:1.75rem; width:56%;}
.ig_consult_pdf .ig_cta_doc_head {margin-bottom:.5rem;}
.ig_bars_s {height:3.25rem; margin-top:.5rem;}
.ig_consult_call {position:absolute; left:1.75rem; bottom:1.75rem; display:flex; align-items:center; gap:.625rem; padding:.75rem 1rem;}
.ig_consult_call b {display:grid; place-items:center; width:2.25rem; height:2.25rem; border-radius:50%; background:var(--color-geo-bg); color:var(--color-geo-text); font-size:1rem;}
.ig_consult_call span {font-size:.8125rem; font-weight:800; color:var(--color-heading); line-height:1.35;}
.ig_consult_call small {display:block; font-weight:600; color:var(--color-muted);}
@media (max-width:1024px) {
  .subvisual_compact .subvisual_grid {grid-template-columns:minmax(0, 1fr);}
  .ig_consult {max-width:30rem;}
}
@media (max-width:768px) {
  .ig_consult {aspect-ratio:auto; display:flex; flex-direction:column; gap:.75rem; padding:4rem 1.25rem 1.25rem;}
  .ig_consult > .ig_card {position:relative; inset:auto; left:auto; right:auto; top:auto; bottom:auto; width:auto;}
  .ig_consult_form {margin-right:1.5rem;}
  .ig_consult_pdf {margin-left:1.5rem;}
  .ig_consult_call {align-self:flex-start;}
}
.ig_flow_no {color:#fff;}
.ig_flow_no svg {width:1.125rem; height:1.125rem;}

/* 상담 페이지 · 왜 디자인펀치 목록 — 동그라미 번호 대신 숫자 타이포 + 구분선 */
.why_item {align-items:center; gap:1.5rem; padding:1.5rem 1.75rem; transition:background-color .3s ease, border-color .3s ease, transform .3s ease;}
.why_item .process_num {display:block; width:auto; height:auto; padding-right:1.5rem; border-radius:0; border-right:1px solid var(--color-line); background:none; font-size:1.75rem; font-weight:900; line-height:1; letter-spacing:-.02em; color:#9fd3ca; font-variant-numeric:tabular-nums; transition:color .3s ease, border-color .3s ease;}
.why_item:hover {background:#e6f6f3; border-color:#cdeee8; transform:translateX(.25rem);}
.why_item:hover .process_num {color:var(--color-blue-deep); border-color:#b9e3db;}
@media (hover:none) {
  .why_item:hover {transform:none;}
}
@media (max-width:768px) {
  .why_item {gap:1rem; padding:1.25rem;}
  .why_item .process_num {padding-right:1rem; font-size:1.375rem;}
}
.why_item .process_num {padding-right:1.125rem; font-size:1.125rem; font-weight:800;}
.why_item strong, .why_item p {transition:color .3s ease;}
.why_item:hover {background:var(--color-blue-deep); border-color:var(--color-blue-deep);}
.why_item:hover .process_num {color:#9fe3d6; border-color:rgba(255, 255, 255, .3);}
.why_item:hover strong {color:#fff;}
.why_item:hover p {color:rgba(255, 255, 255, .78);}
@media (max-width:768px) {
  .why_item .process_num {padding-right:.875rem; font-size:1rem;}
}

/* 맨 위로 버튼 — 흰 바탕 + 검정 아이콘 */
.top_btn {background:#fff; border:1px solid var(--color-line); box-shadow:0 .5rem 1.5rem rgba(11, 15, 20, .12);}
.top_btn::before {border-left-color:#0B0F14; border-top-color:#0B0F14;}
.top_btn:hover {border-color:var(--color-line-strong);}

/* =========================================================
   팝업 — 개인정보 수집·이용 안내
   ========================================================= */
.pop {position:fixed; inset:0; z-index:200; display:flex; align-items:center; justify-content:center; padding:1.5rem;}
.pop[hidden] {display:none;}
.pop_bg {position:absolute; inset:0; background:rgba(11, 15, 20, .5); opacity:0; transition:opacity .25s ease;}
.pop_inner {position:relative; display:flex; flex-direction:column; width:100%; max-width:36rem; max-height:calc(100vh - 3rem); border-radius:1.5rem; background:#fff; box-shadow:0 1.5rem 4rem rgba(11, 15, 20, .25); opacity:0; transform:translateY(1rem) scale(.98); transition:opacity .25s ease, transform .25s ease;}
.pop.is-open .pop_bg {opacity:1;}
.pop.is-open .pop_inner {opacity:1; transform:none;}
.pop_head {display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.75rem 2rem 1.25rem; border-bottom:1px solid var(--color-line);}
.pop_title {font-size:1.25rem; font-weight:800; color:var(--color-heading);}
.pop_close {position:relative; flex:none; width:2.5rem; height:2.5rem; border-radius:50%; background:var(--color-bg-soft); transition:background-color .2s ease;}
.pop_close:hover {background:var(--color-line);}
.pop_close::before, .pop_close::after {content:""; position:absolute; left:50%; top:50%; width:1rem; height:2px; border-radius:2px; background:var(--color-heading); transform:translate(-50%, -50%) rotate(45deg);}
.pop_close::after {transform:translate(-50%, -50%) rotate(-45deg);}
.pop_body {padding:1.5rem 2rem; overflow-y:auto;}
.pop_body .info_dl {grid-template-columns:6rem 1fr; gap:.875rem 1.25rem; font-size:.9375rem; line-height:1.7;}
.pop_body .consent_link {margin-top:1.25rem;}
.pop_foot {display:flex; gap:.625rem; padding:1.25rem 2rem 1.75rem; border-top:1px solid var(--color-line);}
.pop_foot .btn {flex:1;}
.pop_foot .btn_line {flex:0 0 auto; padding:0 1.5rem;}
body.is-pop {overflow:hidden;}
@media (prefers-reduced-motion:reduce) {
  .pop_bg, .pop_inner {transition:none;}
}
@media (max-width:768px) {
  .pop {align-items:flex-end; padding:0;}
  .pop_inner {max-width:none; max-height:88vh; border-radius:1.25rem 1.25rem 0 0; transform:translateY(2rem);}
  .pop_head {padding:1.25rem 1.25rem 1rem;}
  .pop_title {font-size:1.0625rem;}
  .pop_body {padding:1.25rem;}
  .pop_body .info_dl {grid-template-columns:minmax(0, 1fr); gap:.25rem; font-size:.875rem;}
  .pop_body .info_dl dd + dt {margin-top:.75rem;}
  .pop_foot {padding:1rem 1.25rem 1.25rem;}
}

/* 줄바꿈 재검수 보정 */
td, .policy_table td, .info_dl dd {text-wrap:pretty;}
.flow_step .dot_list > li, .proposal_summary, .pdash_dl dd, .scope_text, .faq_help_text, .ig_stat_text, .why_item p {text-wrap:pretty;}
.ig_row, .ig_check, .ig_consult_field, .pdash_cat_name, .area_checks li, .ig_flow_title {text-wrap:balance;}
.band_table td {text-wrap:balance;}
@media (max-width:768px) {
  .band_table td:nth-child(2) {white-space:nowrap;}
  .band_table th, .band_table td {padding:.75rem .5rem;}
}
.flow_step .dot_list > li {text-wrap:balance;}
@media (max-width:768px) {
  .band_table th {white-space:nowrap;}
  .band_table td:first-child {white-space:normal; width:3.5rem;}
}

