/* 더함 내 사업 노출 진단 — 원본 도구와 같은 화면 구조·리듬을 우리 CSS로 다시 쓴 것.
   어두운 숯색 띠 + 종이색 띠를 번갈아 쓰고, 강조색은 더함 구리색 하나만 쓴다.
   글꼴: Pretendard (OFL-1.1, static/fonts에 포함 · 외부 요청 없음) */
@font-face {
  font-family: "Pretendard Variable";
  src: url("/static/fonts/PretendardVariable.woff2") format("woff2-variations"), url("/static/fonts/PretendardVariable.woff2") format("woff2");
  font-weight: 45 920; font-style: normal; font-display: swap;
}
:root {
  /* 종이 */
  --paper: #fafaf8; --ink: #1f1d1a; --body: #3b3833; --mute: #57524b; --hint: #8a8479;
  --line: #ddd8cd; --line-2: #ebe7df; --track: #ebe7df; --gray: #b0aca3; --sand: #efeae0;
  /* 숯 */
  --dark: #141311; --dark-2: #1c1a17; --dark-3: #131210; --dline: #2a2824; --dline-2: #26241f;
  --inv: #efede6; --inv-sub: #d8d3c8; --inv-mute: #8f8a80;
  /* 더함 구리색 (강조 한 가지) */
  --acc: #d29c7c;        /* 어두운 바탕 위 글자·버튼 */
  --acc-hi: #e2b89c;
  --acc-ink: #8c4f30;    /* 종이 위 글자 */
  --acc-soft: #f4e6dc;
  --acc-grad: linear-gradient(90deg, #e6c0a6, #b9764f);
  /* 의미 색 */
  --green: #2f6b45; --red: #b4493d; --warn: #e3a07a;
  --f: "Pretendard Variable", Pretendard, -apple-system, "Apple SD Gothic Neo", "Noto Sans KR", system-ui, sans-serif;
  --wrap: 1296px; --gutter: clamp(20px, 6vw, 86px); --doc: 895px;
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
body { margin: 0; background: var(--dark); color: var(--inv); font-family: var(--f); font-size: 15px; line-height: 1.6; letter-spacing: -0.01em; word-break: keep-all; overflow-wrap: anywhere; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, p, ul, ol, dl, dd, figure, blockquote, table { margin: 0; }
ul, ol { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; }
img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
b, strong { font-weight: 700; }
:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; border-radius: 3px; }
.num { font-variant-numeric: tabular-nums; }
.wrap { width: 100%; max-width: calc(var(--wrap) + var(--gutter) * 2); margin: 0 auto; padding: 0 var(--gutter); }
.doc { width: 100%; max-width: calc(var(--doc) + 40px); margin: 0 auto; padding: 0 20px; }
.only-m { display: none; }

/* ---------------------------------------------------------------- 머리 (고정) */
.hd { position: sticky; top: 0; z-index: 50; background: rgba(20, 19, 17, 0.94); border-bottom: 1px solid rgba(239, 237, 230, 0.08); backdrop-filter: blur(10px); }
.hd__in { display: flex; align-items: center; justify-content: space-between; gap: 32px; height: 72px; }
.hd__brand { display: flex; align-items: center; gap: 11px; flex: none; }
.hd__word { font-size: 21px; font-weight: 800; letter-spacing: -0.04em; color: var(--inv); }
.hd__word i { font-style: normal; color: var(--acc); }
.hd__bar { width: 1px; height: 14px; background: rgba(239, 237, 230, 0.3); }
.hd__tag { font-size: 13px; font-weight: 500; color: var(--acc); }
.hd__nav { display: flex; align-items: center; gap: 40px; }
.hd__menu { font-size: 16px; font-weight: 500; color: #b9b4aa; white-space: nowrap; transition: color 180ms; }
.hd__menu:hover, .hd__menu.is-on { color: var(--inv); }
.hd__menu.is-on { font-weight: 700; }
.hd__right { display: flex; align-items: center; gap: 22px; flex: none; }
.hd__btn { display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 6px; background: var(--inv); font-size: 13px; font-weight: 700; color: #211f1c; white-space: nowrap; transition: background 180ms; }
.hd__btn:hover { background: #fff; }

/* ---------------------------------------------------------------- 공통 버튼 */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 58px; padding: 0 28px; border: 1px solid transparent; border-radius: 8px; font-size: 16px; font-weight: 700; white-space: nowrap; transition: background 180ms, border-color 180ms; }
.btn--acc { background: var(--acc); color: #1f150f; }
.btn--acc:hover { background: var(--acc-hi); }
.btn--acc.btn--arrow::after { content: "→"; font-weight: 400; }
.btn--ivory { background: var(--inv); color: #211f1c; }
.btn--ivory:hover { background: #fff; }
.btn--ghost { border-color: rgba(239, 237, 230, 0.18); background: rgba(239, 237, 230, 0.08); color: var(--inv); }
.btn--ghost:hover { border-color: rgba(239, 237, 230, 0.35); }
.btn--dark { width: 100%; background: #221f1c; color: var(--paper); border-color: #221f1c; }
.btn--dark:hover { background: #1d1b18; }
.btn--line { border-color: var(--ink); background: none; color: var(--ink); font-weight: 500; }
.btn--line:hover { background: rgba(26, 26, 26, 0.04); }
.btn[disabled] { opacity: 0.55; cursor: default; }

/* ---------------------------------------------------------------- 홈: 첫 화면 */
.hero { position: relative; overflow: hidden; padding: 62px 0 96px; background:
  radial-gradient(ellipse 55% 60% at 70% 75%, rgba(210, 156, 124, 0.10), transparent 70%),
  radial-gradient(ellipse 50% 50% at 15% 10%, rgba(239, 237, 230, 0.05), transparent 70%), var(--dark-2); }
.hero__grid { display: grid; grid-template-columns: minmax(0, 640px) minmax(0, 540px); justify-content: space-between; align-items: start; gap: 48px; }
.hero__h { font-size: 52px; font-weight: 250; line-height: 1.32; letter-spacing: -0.045em; color: var(--inv); }
.hero__h b { font-weight: 800; }
.hero__h em { font-style: normal; font-weight: 800; color: var(--acc); }
.hero__sub { margin-top: 22px; font-size: 17px; line-height: 1.7; color: var(--inv-sub); opacity: 0.9; }
.engines { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 26px; }
.engines span { display: inline-flex; align-items: center; height: 30px; padding: 0 12px; border: 1px solid rgba(239, 237, 230, 0.16); border-radius: 99px; font-size: 13px; font-weight: 600; color: var(--inv-sub); }
.engines small { margin-left: 6px; font-size: 13px; color: var(--inv-mute); }

/* 진단 신청 카드 (한 화면에 질문 하나) */
.qf { position: relative; margin-top: 30px; border-radius: 16px; background: var(--paper); color: var(--ink); box-shadow: 0 30px 70px rgba(10, 9, 8, 0.55), 0 0 0 1px rgba(210, 156, 124, 0.35); overflow: hidden; }
.qf__head { padding: 22px 24px 0; }
.qf__row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 24px; }
.qf__name { font-size: 15px; font-weight: 700; color: var(--ink); }
.qf__back { padding: 4px 0; border: 0; background: none; font-size: 14px; font-weight: 500; color: var(--mute); }
.qf__back:hover { color: var(--ink); }
.qf__count { font-size: 15px; letter-spacing: 0.04em; color: var(--hint); font-variant-numeric: tabular-nums; }
.qf__count b { font-weight: 600; color: var(--ink); }
.qf__bar { height: 3px; margin-top: 14px; border-radius: 2px; background: #ebe5d9; overflow: hidden; }
.qf__bar i { display: block; height: 100%; width: 100%; background: var(--acc-ink); transform: scaleX(0.25); transform-origin: left; transition: transform 700ms var(--ease); }
.qf__note { margin-top: 14px; padding: 10px 12px; border-radius: 8px; background: #f3ece4; font-size: 13px; line-height: 1.55; color: var(--body); }
.qf__stage { display: flex; flex-direction: column; min-height: 380px; padding: 28px 24px 24px; }
.qf__step { display: flex; flex: 1; flex-direction: column; animation: qfin 320ms var(--ease); }
.qf__step[hidden] { display: none; }
@keyframes qfin { from { opacity: 0; transform: translateX(14px); } to { opacity: 1; transform: none; } }
.qf__q { font-size: 28px; font-weight: 300; line-height: 1.38; letter-spacing: -0.04em; color: var(--ink); }
.qf__q b { font-weight: 700; }
.qf__help { margin-top: 10px; font-size: 14px; line-height: 1.6; color: var(--mute); }
.qf__body { display: grid; gap: 12px; margin-top: 24px; }
.qf__pick { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qf__opt { display: flex; align-items: center; gap: 12px; min-height: 62px; padding: 0 16px; border: 1px solid #ddd5c6; border-radius: 10px; background: var(--paper); font-size: 17px; font-weight: 500; color: var(--ink); text-align: left; transition: border-color 180ms; }
.qf__opt:hover { border-color: #b9ad97; }
.qf__opt::before { content: ""; flex: none; width: 20px; height: 20px; border: 1.5px solid #b9ad97; border-radius: 50%; background: #fff; }
.qf__opt[aria-checked="true"] { border-color: var(--acc-ink); background: var(--acc-soft); box-shadow: inset 0 0 0 1px var(--acc-ink); }
.qf__opt[aria-checked="true"]::before { border-color: var(--acc-ink); box-shadow: inset 0 0 0 4.5px #fff, inset 0 0 0 10px var(--acc-ink); }
.qf__lab { display: grid; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--mute); }
.qf__in { width: 100%; height: 58px; padding: 0 16px; border: 1px solid #ddd5c6; border-radius: 10px; background: #fff; font-size: 17px; font-weight: 400; color: var(--ink); }
.qf__in::placeholder { color: #a39d92; }
.qf__in:focus { outline: none; border-color: var(--acc-ink); box-shadow: 0 0 0 3px rgba(140, 79, 48, 0.12); }
.qf__ex { font-size: 13.5px; line-height: 1.6; color: var(--hint); }
.qf__chk { font-size: 13.5px; line-height: 1.6; color: var(--body); }
.qf__chk.is-ok { color: var(--green); }
.qf__chk.is-bad { color: var(--red); }
.qf__chk button { margin-top: 8px; min-height: 40px; padding: 0 14px; border: 1px solid var(--acc-ink); border-radius: 8px; background: var(--acc-soft); font-size: 14px; font-weight: 600; color: var(--acc-ink); }
.qf__two { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.qf__agree { display: flex; align-items: flex-start; gap: 10px; font-size: 13.5px; line-height: 1.55; color: var(--body); cursor: pointer; }
.qf__agree input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: #221f1c; }
.qf__sees { padding-top: 16px; border-top: 1px solid #e3dccf; }
.qf__sees p { font-size: 13.5px; font-weight: 700; color: var(--ink); }
.qf__sees ul { display: grid; gap: 8px; margin-top: 10px; }
.qf__sees li { position: relative; padding-left: 22px; font-size: 14.5px; line-height: 1.55; color: var(--body); }
.qf__sees li::before { content: ""; position: absolute; left: 3px; top: 7px; width: 9px; height: 5px; border: solid var(--acc-ink); border-width: 0 0 1.8px 1.8px; transform: rotate(-45deg); }
.qf__foot { margin-top: auto; padding-top: 28px; }
.qf__time { margin-top: 12px; font-size: 13px; color: var(--hint); text-align: center; }
.qf__err { margin-top: 12px; padding: 12px 14px; border: 1px solid rgba(180, 73, 61, 0.35); border-radius: 8px; background: #fbefec; font-size: 14px; font-weight: 600; color: var(--red); }
.qf__err[hidden] { display: none; }

/* 예시 결과 카드 */
.ex { margin-top: 0; padding: 30px 30px 26px; border-radius: 18px; background: var(--paper); color: var(--ink); box-shadow: 0 30px 70px rgba(10, 9, 8, 0.45); }
.ex__top { display: flex; align-items: center; justify-content: space-between; }
.ex__top b { font-size: 15px; }
.ex__tag { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--green); }
.ex__tag::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.ex__q { margin-top: 18px; padding: 11px 16px; border-radius: 8px; background: #efe8de; font-size: 13.5px; color: var(--body); }
.ex table { width: 100%; margin-top: 22px; border-collapse: collapse; table-layout: fixed; font-size: 14px; }
.ex th, .ex td { height: 52px; padding: 0 9px; border-bottom: 1px solid #e6e1d7; text-align: center; }
.ex thead th { height: 44px; font-size: 12.5px; font-weight: 600; color: var(--mute); }
.ex tbody th { text-align: left; font-weight: 500; }
.ex tr.is-us { background: #f3e9df; }
.ex tr.is-us th { font-weight: 700; }
.ex td.x { font-weight: 700; color: var(--red); }
.ex td.o { color: var(--acc-ink); }
.ex__call { margin-top: 18px; padding: 18px 20px; border-radius: 10px; background: #221f1c; color: var(--inv); }
.ex__call b { display: block; font-size: 15px; }
.ex__call span { display: block; margin-top: 4px; font-size: 12.5px; color: var(--inv-mute); }
.ex__foot { margin-top: 12px; font-size: 12px; color: var(--hint); }

/* ---------------------------------------------------------------- 홈: 섹션 공통 (어두운 띠) */
.band { position: relative; padding: 140px 0; background: var(--dark); }
.band--alt { background: var(--dark-2); }
.band--glow { background: radial-gradient(ellipse 60% 70% at 20% 40%, rgba(210, 156, 124, 0.09), transparent 70%), var(--dark-2); }
.kick { font-size: 13px; font-weight: 700; line-height: 1.6; color: var(--acc); }
.big { margin-top: 12px; font-size: 46px; font-weight: 250; line-height: 1.36; letter-spacing: -0.04em; color: var(--inv); }
.big b { font-weight: 800; }
.big em { font-style: normal; font-weight: 800; color: var(--acc); }
.big--c { text-align: center; }
.sub { margin-top: 20px; font-size: 17px; line-height: 1.75; color: var(--inv-sub); opacity: 0.85; }
.sub--c { text-align: center; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 80px; align-items: start; }

/* 고객 질문 말풍선 */
.asks { display: grid; gap: 18px; padding: 28px 26px; border: 1px solid #2e2c29; border-radius: 16px; background: #1e1c19; }
.asks__k { font-size: 13px; color: var(--inv-mute); }
.ask { justify-self: end; max-width: 92%; padding: 12px 18px; border-radius: 22px; background: var(--acc); font-size: 15px; font-weight: 600; color: #1f150f; }
.ask-a { display: flex; align-items: center; gap: 10px; font-size: 12.5px; color: var(--inv-mute); }
.ask-a i { display: inline-flex; gap: 4px; padding: 6px 12px; border-radius: 99px; background: #2a2824; }
.ask-a i::before, .ask-a i::after, .ask-a i span { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #8f8a80; }
.ask-a b { font-weight: 600; color: var(--inv-sub); }

/* 두 가지 홈페이지 비교 */
.cmp { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 56px; }
.cmp__c { padding: 30px 28px 18px; border: 1px solid #2e2c29; border-radius: 16px; background: #1e1c19; }
.cmp__c.is-good { border-color: rgba(210, 156, 124, 0.45); background: linear-gradient(#211d19, #1c1a17); }
.cmp__c h3 { font-size: 18px; font-weight: 700; color: var(--inv); }
.cmp__c > p { margin-top: 6px; font-size: 14px; color: var(--inv-mute); }
.cmp__mock { height: 120px; margin-top: 20px; border-radius: 8px; background: repeating-linear-gradient(90deg, #2c2a26 0 46px, #26241f 46px 92px); filter: blur(1.5px); }
.cmp__c.is-good .cmp__mock { filter: none; background: linear-gradient(#26231f, #26231f) 18px 20px / 60% 10px no-repeat, linear-gradient(#3a332c, #3a332c) 18px 42px / 80% 8px no-repeat, linear-gradient(#3a332c, #3a332c) 18px 58px / 70% 8px no-repeat, linear-gradient(var(--acc), var(--acc)) 18px 84px / 70px 18px no-repeat, #1a1815; border: 1px solid #34302b; }
.cmp__k { margin-top: 20px; font-size: 12.5px; color: var(--inv-mute); }
.cmp ul { margin-top: 6px; }
.cmp li { display: flex; justify-content: space-between; gap: 16px; padding: 13px 0; border-bottom: 1px solid #2e2c29; font-size: 15px; color: var(--inv); }
.cmp li:last-child { border-bottom: 0; }
.cmp li span { font-size: 14px; color: var(--inv-mute); white-space: nowrap; }
.cmp li span::before { content: "✕ "; }
.cmp__c.is-good li span { color: var(--acc); }
.cmp__c.is-good li span::before { content: "✓ "; }

/* 진단 순서 (단계 아코디언) */
.flow { position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); margin-top: 64px; padding-top: 34px; }
.flow::before { content: ""; position: absolute; top: 5px; left: 0; right: 0; height: 1px; background: rgba(239, 237, 230, 0.16); }
.flow li { position: relative; padding: 0 16px 0 0; }
.flow li::before { content: ""; position: absolute; top: -34px; left: 0; width: 11px; height: 11px; border-radius: 50%; background: #3a3833; box-shadow: 0 0 0 4px var(--dark); }
.flow li:last-child::before { background: var(--acc); }
.flow__w { font-size: 12.5px; font-weight: 600; color: var(--acc); }
.flow b { display: block; margin-top: 4px; font-size: 18px; color: var(--inv); }
.flow p { margin-top: 8px; font-size: 14px; line-height: 1.65; color: #b9b4aa; }
.acc { display: none; }

/* 자주 묻는 질문 */
.faq { margin-top: 48px; border-top: 1px solid rgba(239, 237, 230, 0.16); }
.faq details { border-bottom: 1px solid rgba(239, 237, 230, 0.1); }
.faq summary { display: grid; grid-template-columns: 56px minmax(0, 1fr) 24px; align-items: center; gap: 8px; padding: 28px 0; list-style: none; cursor: pointer; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary i { font-style: normal; font-size: 13px; color: var(--inv-mute); font-variant-numeric: tabular-nums; }
.faq summary b { font-size: 19px; font-weight: 500; color: var(--inv); }
.faq summary::after { content: "+"; font-size: 22px; font-weight: 300; color: var(--acc); text-align: right; }
.faq details[open] summary::after { content: "−"; }
.faq__a { padding: 0 32px 32px 64px; }
.faq__a small { display: block; font-size: 11px; font-weight: 600; letter-spacing: 0.2em; color: var(--inv-mute); }
.faq__a strong { display: block; margin-top: 10px; font-size: 22px; font-weight: 700; line-height: 1.45; color: var(--acc); }
.faq__a p { margin-top: 14px; font-size: 15px; line-height: 1.8; color: var(--inv-sub); opacity: 0.85; }

/* 마지막 안내 (홈·리포트 공통) */
.close { position: relative; overflow: hidden; padding: 150px 0 140px; background: var(--dark-2); text-align: center; }
.close::before { content: ""; position: absolute; inset: 0; background: radial-gradient(ellipse 60% 70% at 50% 100%, rgba(210, 156, 124, 0.16), transparent 70%), radial-gradient(ellipse at 30% 20%, rgba(239, 237, 230, 0.05), transparent 60%); }
.close > * { position: relative; }
.close__h { font-size: clamp(38px, 4.8vw, 66px); font-weight: 250; line-height: 1.32; letter-spacing: -0.045em; color: var(--inv); }
.close__h b { font-weight: 800; }
.close__sub { margin-top: 22px; font-size: 17px; line-height: 1.7; color: var(--inv); opacity: 0.72; }
.close__btns { display: flex; justify-content: center; gap: 12px; margin-top: 36px; }
.close__btns .btn { min-width: 280px; height: 60px; }
.close__after { margin-top: 16px; font-size: 14px; line-height: 1.7; color: var(--inv); opacity: 0.65; }

/* 바닥글 */
.ft { padding: 56px 0 64px; border-top: 1px solid rgba(239, 237, 230, 0.06); background: var(--dark); }
.ft__in { display: flex; justify-content: space-between; gap: 32px; }
.ft__word { font-size: 22px; font-weight: 800; letter-spacing: -0.04em; color: var(--inv); }
.ft__word i { font-style: normal; color: var(--acc); }
.ft__k { margin-top: 18px; font-size: 13px; font-weight: 600; color: var(--acc); }
.ft__links { display: flex; gap: 22px; margin-top: 8px; font-size: 14px; color: #b9b4aa; }
.ft__r { font-size: 12.5px; line-height: 2; color: var(--inv-mute); text-align: right; }

/* ---------------------------------------------------------------- 진행 화면 */
.watch { min-height: calc(100vh - 72px); padding: 72px 0 96px; background: radial-gradient(ellipse 60% 60% at 50% 0%, rgba(210, 156, 124, 0.08), transparent 70%), var(--dark); }
.mp { width: min(520px, 100%); margin: 0 auto; padding: 34px 36px 32px; border: 1px solid #33312d; border-radius: 14px; background: #14130f; box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45); }
.mp__eyebrow { font-size: 12px; font-weight: 600; letter-spacing: 0.04em; color: var(--acc); }
.mp__title { margin-top: 6px; font-size: 22px; font-weight: 700; line-height: 1.4; color: var(--inv); }
.mp__p { margin-top: 12px; font-size: 14px; line-height: 1.6; color: var(--gray); }
.mp__who { margin-top: 18px; padding: 12px 14px; border-radius: 8px; background: #1d1b18; font-size: 13.5px; color: var(--inv-sub); }
.mp__who b { color: var(--inv); }
.mp__barrow { display: flex; align-items: center; gap: 12px; margin-top: 22px; }
.mp__bar { flex: 1; height: 5px; border-radius: 99px; background: #26241f; overflow: hidden; }
.mp__bar i { display: block; height: 100%; width: 100%; background: var(--acc); transform: scaleX(0.02); transform-origin: left; transition: transform 600ms var(--ease); }
.mp__pct { flex: none; width: 42px; font-size: 13px; font-weight: 600; color: var(--acc); text-align: right; font-variant-numeric: tabular-nums; }
.mp__steps { display: grid; gap: 14px; margin-top: 22px; }
.mp__steps li { display: grid; grid-template-columns: 22px 1fr auto; align-items: center; gap: 12px; color: #615e59; }
.mp__steps li > i { width: 20px; height: 20px; border: 1.5px solid #3a3833; border-radius: 50%; transition: all 320ms; }
.mp__steps b { font-size: 14.5px; font-weight: 500; }
.mp__steps em { font-style: normal; font-size: 12px; }
.mp__steps li.is-now, .mp__steps li.is-done { color: var(--inv); }
.mp__steps li.is-now > i { border-color: var(--acc); animation: pulse 1.2s infinite; }
.mp__steps li.is-now em, .mp__steps li.is-done em { color: var(--acc); }
.mp__steps li.is-done > i { border-color: var(--acc); background: var(--acc) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5.5 10.5l3 3 6-7' fill='none' stroke='%23141311' stroke-width='2'/%3E%3C/svg%3E") center / 14px no-repeat; }
@keyframes pulse { 50% { opacity: 0.3; } }
.mp__live { margin-top: 22px; padding-top: 14px; border-top: 1px solid var(--dline); }
.mp__live-h { display: flex; justify-content: space-between; font-size: 12px; color: var(--inv-mute); }
.mp__live-h b { font-weight: 600; color: var(--inv); font-variant-numeric: tabular-nums; }
.mp__msg { margin-top: 10px; font-size: 14.5px; color: var(--inv); }
.mp__note { margin-top: 16px; padding: 12px 14px; border-radius: 6px; background: #1d1b18; font-size: 12.5px; line-height: 1.65; color: var(--gray); }
.mp__err { margin-top: 16px; padding: 12px 14px; border: 1px solid rgba(217, 139, 95, 0.45); border-radius: 6px; background: rgba(217, 139, 95, 0.08); font-size: 13.5px; color: #f0c0a4; }
.mp__err[hidden] { display: none; }

/* ---------------------------------------------------------------- 리포트: 표지 (어두운) */
.rp-doc { padding: 28px 0 96px; background: var(--dark); color: var(--inv); }
.rp-doc__bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid rgba(239, 237, 230, 0.14); }
.rp-doc__bar p { font-size: 13px; line-height: 1.6; color: var(--inv-mute); }
.chip { flex: none; padding: 0; border: 0; background: none; font-size: 13px; font-weight: 500; color: var(--inv); text-decoration: underline; text-underline-offset: 3px; }
.chip:hover { color: var(--acc); }
.rp-hero { padding-top: 64px; }
.rp-meta { font-size: 13px; font-weight: 700; line-height: 1.6; color: var(--acc); }
.rp-title { margin-top: 20px; font-size: 46px; font-weight: 300; line-height: 1.38; letter-spacing: -0.03em; color: var(--inv); }
.rp-title b { font-weight: 700; }
.rp-who { margin-top: 12px; font-size: 14px; color: var(--inv-mute); }
.rp-sum { margin-top: 48px; border: 1px solid var(--dline); border-radius: 12px; background: var(--dark-3); }
.rp-sum li { display: flex; gap: 24px; padding: 24px 28px; }
.rp-sum li + li { border-top: 1px solid var(--dline-2); }
.rp-sum__k { flex: none; width: 96px; font-size: 13px; font-weight: 500; line-height: 2; color: var(--inv-mute); }
.rp-sum li.is-warn .rp-sum__k { color: var(--warn); }
.rp-sum__v { font-size: 16px; line-height: 1.75; color: var(--inv); }
.rp-sum__v span { display: block; }
.rp-sum__note { margin-top: 14px; font-size: 12px; line-height: 1.6; color: #77726a; }
.rp-sum__note a { text-decoration: underline; text-underline-offset: 3px; }

/* 리포트: 종이 섹션 공통 */
.rp-sec { padding: 88px 0; border-top: 1px solid var(--line); background: var(--paper); color: var(--body); }
.rp-doc + .rp-sec { border-top: 0; }
.lab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.lab p { font-size: 13px; font-weight: 700; line-height: 1.6; color: var(--acc-ink); }
.lab span { font-size: 13px; font-weight: 500; color: var(--mute); }
.h { margin-top: 8px; font-size: 28px; font-weight: 400; line-height: 1.38; letter-spacing: -0.035em; color: var(--ink); }
.h b { font-weight: 700; }
.lead { margin-top: 10px; font-size: 15px; line-height: 1.7; color: var(--body); }
.note { margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--mute); }
.note a { text-decoration: underline; text-underline-offset: 3px; }
.note.is-warn { color: var(--red); }
.note--end { margin-top: 20px; }

/* 숫자 칸 줄 */
.led { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: 28px; border-top: 1px solid var(--ink); }
.led__c { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 18px 18px 6px 20px; border-left: 1px solid var(--line); }
.led__c:first-child { padding-left: 0; border-left: 0; }
.led__c h3 { font-size: 13px; font-weight: 400; line-height: 1.6; color: var(--mute); }
.n { font-size: 40px; font-weight: 300; line-height: 1.1; color: #211f1c; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.n small { margin-left: 2px; font-size: 15px; font-weight: 400; color: var(--body); }
.n.is-up { color: var(--green); }
.n.is-down { color: var(--red); }
.n--txt { font-size: 24px; line-height: 1.83; color: var(--body); }
.led__s { font-size: 13px; line-height: 1.6; color: var(--mute); }
.mini { display: grid; gap: 6px; }
.mini p { display: flex; align-items: center; gap: 10px; }
.mini span { flex: none; width: 46px; font-size: 13px; color: var(--mute); }
.mini i { position: relative; flex: 1; max-width: 70px; height: 6px; border-radius: 3px; background: var(--track); overflow: hidden; }
.mini i b { position: absolute; inset: 0 auto 0 0; border-radius: 3px; background: var(--gray); }
.mini i b.is-us { background: var(--acc-grad); }
.mini em { flex: none; width: 30px; margin-left: auto; font-style: normal; font-size: 13px; font-weight: 700; color: #3a3833; text-align: right; }
.track { position: relative; display: block; height: 6px; border-radius: 3px; background: var(--track); overflow: hidden; }
.track i { position: absolute; inset: 0 auto 0 0; border-radius: 3px; background: var(--acc-grad); }

/* 경쟁사 막대 표 */
.bars { margin-top: 28px; border-top: 1px solid var(--ink); }
.bars__th, .bars li { display: grid; grid-template-columns: 304px minmax(0, 1fr) 72px; align-items: center; gap: 12px; border-bottom: 1px solid var(--line); }
.bars__th { padding: 11px 0; }
.bars__th span { font-size: 13px; font-weight: 500; color: var(--mute); }
.bars__th span:last-child { text-align: right; }
.bars li { min-height: 56px; padding: 14px 0; }
.bar__n { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.bar__n b { font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--ink); }
.bar__n small { font-size: 13px; line-height: 1.5; color: var(--mute); }
.bar__n .tag { display: inline-block; margin-left: 6px; padding: 0 7px; border: 1px solid #cfc8bb; border-radius: 99px; font-size: 11.5px; font-weight: 500; color: var(--mute); vertical-align: 2px; }
.bar__t { position: relative; display: block; height: 10px; border-radius: 5px; background: var(--track); overflow: hidden; }
.bar__t i { position: absolute; inset: 0 auto 0 0; border-radius: 5px; background: var(--gray); }
.bar__v { font-size: 16px; color: var(--ink); text-align: right; font-variant-numeric: tabular-nums; }
.bars li.is-us .bar__n b { font-weight: 700; color: var(--acc-ink); }
.bars li.is-us .bar__t i { background: var(--acc-grad); }
.bars li.is-us .bar__v { font-weight: 600; color: var(--acc-ink); }
.facts { margin-top: 16px; font-size: 14px; line-height: 1.7; color: var(--body); }

/* AI 답변 */
.qs { margin-top: 28px; border-top: 1px solid var(--ink); }
.qs li { display: flex; gap: 24px; padding: 16px 0; border-bottom: 1px solid var(--line); }
.qs span { flex: none; width: 150px; font-size: 13px; font-weight: 700; line-height: 1.85; color: var(--acc-ink); }
.qs p { font-size: 15px; font-weight: 500; line-height: 1.65; color: var(--ink); }
.aim { margin-top: 40px; border-top: 1px solid var(--ink); }
.aim__th, .aim li { display: grid; grid-template-columns: minmax(0, 1fr) calc(150px * var(--n, 3)) 110px; align-items: center; border-bottom: 1px solid var(--line); }
.aim__th { padding: 11px 0; font-size: 13px; font-weight: 500; color: var(--mute); }
.aim__engs { display: grid; grid-template-columns: repeat(var(--n, 3), minmax(0, 1fr)); align-items: center; }
.aim__c { text-align: right; }
.aim li { padding: 16px 0; }
.aim__h { font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--ink); }
.aim li .aim__c { font-size: 16px; color: var(--ink); font-variant-numeric: tabular-nums; }
.aim li.is-us .aim__h { font-weight: 700; color: var(--acc-ink); }
.aim li.is-us .aim__c { font-weight: 600; color: var(--acc-ink); }
.eng { display: inline-flex; align-items: center; gap: 6px; }
.eng i { flex: none; width: 16px; height: 16px; border-radius: 4px; background: #3a3833; }
.eng .eng__i { flex: none; width: 18px; height: 18px; }
.eng--sm .eng__i { width: 16px; height: 16px; }
.eng i.e-chatgpt { background: #6f9e8f; }
.eng i.e-claude { border-radius: 50%; background: #c98a6c; }
.eng i.e-gemini { background: linear-gradient(135deg, #7b9cd6, #b48ad1); transform: rotate(45deg) scale(0.8); border-radius: 3px; }
.dots { display: flex; gap: 6px; }
.dots i { width: 8px; height: 8px; border-radius: 50%; background: #e3dfd6; }
.dots i.is-on { background: var(--gray); }
.dots i.is-us { background: var(--acc); }
.dots i.is-na { background: none; box-shadow: inset 0 0 0 1px #d6d0c5; }
.quote { display: flex; flex-direction: column; gap: 10px; margin-top: 40px; padding: 24px 28px; border-radius: 14px; background: var(--sand); }
.quote__k { display: flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; color: var(--acc-ink); }
.quote__t { font-size: 15px; line-height: 1.75; color: #3a3631; }
.quote__src { font-size: 13px; line-height: 1.6; color: var(--mute); }

/* 검색어 표 */
.key { margin: 28px 0 20px; padding: 14px 16px; border-radius: 12px; background: #efede8; }
.key > p { font-size: 13px; font-weight: 700; color: var(--ink); }
.key ul { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 7px 20px; margin-top: 8px; }
.key li { display: grid; grid-template-columns: 50px minmax(0, 1fr); align-items: center; gap: 8px; font-size: 13px; line-height: 1.4; color: var(--mute); }
.key li > :first-child { justify-self: center; }
.key__note { margin-top: 10px; padding-top: 10px; border-top: 1px solid rgba(28, 25, 22, 0.08); font-size: 13px; font-weight: 700; color: var(--ink); }
.kt { width: 100%; border-collapse: collapse; table-layout: fixed; border-top: 1px solid var(--ink); }
.kt .c-cr { width: 104px; } .kt .c-vol { width: 92px; } .kt .c-rk { width: 72px; } .kt .c-ai { width: 84px; }
.kt th, .kt td { padding: 14px 0; border-bottom: 1px solid var(--line); text-align: center; vertical-align: middle; }
.kt thead th { padding: 11px 0; font-size: 13px; font-weight: 500; line-height: 1.6; color: var(--mute); white-space: nowrap; }
.kt thead tr:first-child th:first-child { text-align: left; }
.kt .kt__g th { padding-bottom: 6px; }
.kt th.is-g, .kt td.is-g { box-shadow: -1px 0 0 var(--line); }
.kt .kt__g th.is-g { font-weight: 700; color: #57524b; }
.kt tbody tr { height: 56px; }
.kt tbody th { padding-right: 12px; text-align: left; }
.kt tbody th button, .kw button { padding: 0; border: 0; background: none; font-size: 15px; font-weight: 500; line-height: 1.5; color: var(--ink); text-align: left; }
.kt tbody th button:hover, .kw button:hover { text-decoration: underline; text-underline-offset: 3px; }
.kt tbody th span { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: var(--mute); }
.kt td { font-size: 14px; color: #3a3631; }
.kt td.vol { font-size: 15px; font-variant-numeric: tabular-nums; }
.kt tr.is-more, .kw li.is-more { display: none; }
.tbl.is-open .kt tr.is-more { display: table-row; }
.tbl.is-open .kw li.is-more { display: grid; }
.crowd, .yes { display: inline-flex; align-items: center; height: 26px; padding: 0 11px; border: 1px solid #b9b2a6; border-radius: 99px; font-size: 12.5px; font-weight: 500; color: #5a554d; white-space: nowrap; }
.crowd--open { border-color: var(--green); background: var(--green); color: var(--paper); font-weight: 700; }
.crowd--hard { border-color: var(--ink); background: var(--ink); color: var(--inv); font-weight: 700; }
.crowd--own { border-color: var(--acc); background: var(--acc); color: #1f150f; font-weight: 700; }
.rk { font-size: 15px; font-weight: 600; color: var(--ink); white-space: nowrap; font-variant-numeric: tabular-nums; }
.rk small { margin-left: 1px; font-size: 10.5px; font-weight: 500; color: var(--mute); }
.m-miss, .m-cite, .m-out, .m-unk { font-style: normal; display: inline-flex; align-items: center; justify-content: center; height: 22px; padding: 0 7px; border-radius: 6px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.m-miss { background: #f2e3df; color: #9a4b41; }
.m-out { box-shadow: inset 0 0 0 1px #d9b8b1; color: #9a4b41; }
.m-cite { background: var(--acc); color: #1f150f; }
.m-unk { box-shadow: inset 0 0 0 1px #d6d0c5; color: #8a8478; font-weight: 500; }
.m-na { font-style: normal; font-size: 14px; color: #b9b2a6; }
.more { display: flex; align-items: center; justify-content: center; width: 100%; height: 52px; margin-top: 24px; border: 1px solid var(--ink); border-radius: 6px; background: none; font-size: 15px; font-weight: 500; color: var(--ink); transition: background 180ms; }
.more:hover { background: rgba(26, 26, 26, 0.04); }
.legend { display: flex; flex-wrap: wrap; gap: 10px 24px; margin-top: 24px; }
.legend > span { display: inline-flex; align-items: center; gap: 8px; font-size: 13px; color: var(--mute); }
.kw, .kw__head { display: none; }

/* 홈페이지 점수 */
.road { display: grid; gap: 8px; margin-top: 32px; }
.road__out { display: none; }
.road__bar { display: flex; height: 32px; border-radius: 99px; background: var(--track); overflow: hidden; }
.road__bar > div { display: flex; align-items: center; justify-content: center; min-width: 0; font-size: 12px; font-weight: 700; color: var(--ink); white-space: nowrap; }
.road__bar .s0 { background: #2a2825; color: var(--inv); }
.road__bar .s1 { background: #dcb79e; }
.road__scale { display: flex; justify-content: space-between; font-size: 13px; color: var(--mute); font-variant-numeric: tabular-nums; }
.steps { display: grid; gap: 20px; margin-top: 48px; }
.step { border: 1px solid #e3ded3; border-radius: 14px; background: var(--paper); overflow: hidden; }
.step__h { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 18px 24px; border-bottom: 1px solid #e3ded3; }
.step__h b { font-size: 16px; color: var(--ink); }
.step__h span { font-size: 13px; font-weight: 700; color: var(--acc-ink); white-space: nowrap; }
.fix { display: flex; align-items: center; gap: 24px; padding: 20px 24px; border-bottom: 1px solid #ece8df; }
.fix:last-child { border-bottom: 0; }
.fix > div { display: flex; flex: 1; flex-direction: column; gap: 4px; min-width: 0; }
.fix p { font-size: 15px; font-weight: 500; line-height: 23px; color: var(--ink); }
.fix small { font-size: 13px; line-height: 21px; color: var(--mute); }
.fix .tech { font-size: 12px; color: var(--hint); }
.step__more { border-top: 1px solid #ece8df; }
.step__more > summary { display: flex; align-items: center; justify-content: space-between; padding: 16px 24px; list-style: none; cursor: pointer; font-size: 14px; font-weight: 500; color: var(--mute); }
.step__more > summary::-webkit-details-marker { display: none; }
.step__more > summary::after { content: "+"; font-size: 18px; font-weight: 400; }
.step__more[open] > summary::after { content: "−"; }
.step__more[open] > summary { border-bottom: 1px solid #ece8df; }
.sev { flex: none; display: inline-flex; align-items: center; height: 24px; padding: 0 10px; border-radius: 99px; font-size: 12.5px; font-weight: 600; white-space: nowrap; }
.sev--critical { background: var(--red); color: #fff; }
.sev--high { background: #f6e2d4; color: #9a4a1c; }
.sev--medium { background: var(--acc-soft); color: var(--acc-ink); }
.sev--low { box-shadow: inset 0 0 0 1px #d6d0c5; color: #8a8478; font-weight: 500; }
.auto { display: flex; gap: 10px; align-items: flex-start; margin-top: 18px; padding: 12px 14px; border: 1px solid rgba(140, 79, 48, 0.3); border-radius: 8px; background: #f7eee7; font-size: 13.5px; line-height: 1.6; color: var(--body); }
.auto b { color: var(--acc-ink); }
.auto a { text-decoration: underline; text-underline-offset: 3px; }

/* 홈페이지 없음: 큰 숫자 줄 */
.nos { margin-top: 28px; border-top: 1px solid var(--ink); }
.nos li { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: baseline; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--line); }
.nos__n { font-size: 44px; font-weight: 300; line-height: 1.05; color: #211f1c; font-variant-numeric: tabular-nums; }
.nos__n small { margin-left: 2px; font-size: 17px; color: var(--mute); }
.nos__l { font-size: 16px; line-height: 1.5; color: var(--body); }
.nos__l b { display: block; color: var(--ink); }
.nos__l span { display: block; margin-top: 4px; font-size: 14px; color: var(--mute); }
.nos__end { margin-top: 24px; font-size: 16px; line-height: 1.7; color: var(--body); }
.nos__end b { color: var(--ink); }
/* 용어 한 줄 설명 (SEO·AEO·GEO) */
.term { margin-top: 10px; font-size: 13px; line-height: 1.6; color: var(--mute); }
.term b { margin-right: 6px; font-weight: 700; color: var(--body); }
.led__c .term { margin-top: 8px; }
/* 답변별 웹 검색 사용 여부 */
.webs { margin-top: 12px; font-size: 13px; line-height: 1.6; color: var(--mute); }
.webs li { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 6px 0; border-bottom: 1px solid var(--line); }
.webs li > b { min-width: 72px; color: var(--body); }
.webs .is-on { color: var(--body); }
.found { margin-top: 28px; border-top: 1px solid var(--ink); }
.found li { display: grid; grid-template-columns: 150px minmax(0, 1fr); gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--line); font-size: 15px; }
.found b { font-size: 13px; font-weight: 700; color: var(--mute); }
.found a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.found small { display: block; font-size: 13px; color: var(--mute); }

/* 기회 지도 (4분면) */
.mx { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--ink); }
.mx svg { width: 100%; height: auto; overflow: visible; }
.mx__zone { fill: #f4ece3; }
.mx__half { stroke: #e6e2d9; stroke-dasharray: 3 4; }
.mx__zl { font-size: 12px; font-weight: 700; fill: var(--acc-ink); }
.mx__ql { font-size: 12px; fill: #a39d92; }
.mx__ax { stroke: #d6d1c7; }
.mx__tk, .mx__lab { font-size: 12px; fill: var(--mute); }
.mx__pt circle { stroke: var(--paper); stroke-width: 2; }
.mx__pt--now circle, i.mx__pt--now { fill: #b9764f; background: #b9764f; }
.mx__pt--mid circle, i.mx__pt--mid { fill: #e2bea6; background: #e2bea6; }
.mx__pt--later circle, i.mx__pt--later { fill: #c9c3b8; background: #c9c3b8; }
.mx__num { font-size: 10px; font-weight: 700; fill: #fff; pointer-events: none; }
.mx__side h4 { font-size: 13px; font-weight: 700; color: var(--acc-ink); }
.mx__names { margin-top: 10px; border-top: 1px solid var(--line); }
.mx__names li { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 8px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--ink); }
.mx__names li b { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: #b9764f; font-size: 11px; color: #fff; }
.mx__names small { display: block; font-size: 12.5px; color: var(--mute); }
.mx__leg { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-top: 16px; font-size: 13px; color: var(--mute); }
.mx__leg li { display: inline-flex; align-items: center; gap: 6px; }
.mx__leg i { width: 10px; height: 10px; border-radius: 50%; }

/* 점검 항목 전체 (아코디언) */
.ck { margin-top: 28px; border-top: 1px solid var(--ink); }
.ck li { border-bottom: 1px solid var(--line); }
.ck summary { display: grid; grid-template-columns: 56px minmax(0, 1fr) auto 20px; align-items: center; gap: 12px; padding: 14px 0; list-style: none; cursor: pointer; }
.ck summary::-webkit-details-marker { display: none; }
.ck summary::after { content: "+"; font-size: 18px; color: var(--mute); text-align: right; }
.ck details[open] summary::after { content: "−"; }
.ck__st { justify-self: start; display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px; font-size: 12px; font-weight: 700; }
.ck--pass .ck__st { background: #e3efe6; color: var(--green); }
.ck--partial .ck__st { background: var(--acc-soft); color: var(--acc-ink); }
.ck--fail .ck__st { background: #f2e3df; color: #9a4b41; }
.ck__lab { font-size: 15px; font-weight: 500; color: var(--ink); }
.ck__grp { font-size: 12.5px; color: var(--hint); white-space: nowrap; }
.ck__body { padding: 0 0 18px 68px; font-size: 14px; line-height: 1.7; color: var(--body); }
.ck__body p + p { margin-top: 6px; }
.ck__tech { font-size: 12.5px; color: var(--hint); }
.ck__basis { font-size: 12.5px; color: var(--mute); }
.ck li.is-more { display: none; }
.ck.is-open li.is-more { display: block; }
.csv { margin-top: 32px; }
.csv .btn { min-height: 52px; font-size: 15px; }

/* 리포트: 어두운 제안 띠 (해결 3단계 · 월간 리포트) */
.cx { padding: 112px 0; background: var(--dark); color: var(--inv); }
.cx--alt { background: var(--dark-2); }
.cx__k { font-size: 13px; font-weight: 700; color: var(--acc); }
.cx__t { margin-top: 12px; font-size: 46px; font-weight: 300; line-height: 1.32; letter-spacing: -0.04em; color: var(--inv); }
.cx__t b { font-weight: 700; }
.cx__h { margin-top: 10px; font-size: 30px; font-weight: 300; line-height: 1.4; letter-spacing: -0.035em; color: var(--inv); }
.cx__h b { font-weight: 700; }
.cx__note { margin-top: 14px; font-size: 13.5px; line-height: 1.7; color: var(--inv-mute); }
.scope { margin-top: 36px; border-top: 1px solid rgba(239, 237, 230, 0.32); }
.scope > li { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 32px; padding: 32px 0; border-bottom: 1px solid rgba(239, 237, 230, 0.12); }
.scope__ph { font-size: 21px; font-weight: 700; line-height: 1.4; color: var(--inv); }
.scope__ph span { display: block; margin-bottom: 10px; font-size: 46px; font-weight: 200; line-height: 1; letter-spacing: -0.02em; color: var(--acc); font-variant-numeric: tabular-nums; }
.scope__sh { font-size: 18px; font-weight: 500; line-height: 1.6; color: var(--inv); }
.scope__ss { margin-top: 10px; font-size: 15px; line-height: 1.7; color: var(--inv-sub); }
.pages { margin-top: 18px; border-top: 1px solid rgba(210, 156, 124, 0.3); }
.pages li { position: relative; padding: 12px 0 12px 18px; border-bottom: 1px solid rgba(210, 156, 124, 0.14); font-size: 15px; line-height: 1.6; color: var(--inv); }
.pages li::before { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; margin-top: -3px; background: var(--acc); }
.spec { margin-top: 22px; padding: 20px 26px 16px; border: 1px solid #e3dccf; border-radius: 10px; background: var(--paper); }
.spec__k { padding-bottom: 14px; border-bottom: 1px solid var(--line); font-size: 12px; font-weight: 700; letter-spacing: 0.14em; color: var(--acc-ink); }
.spec__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 40px; }
.spec__g { padding-top: 18px; }
.spec__h { margin-bottom: 4px; font-size: 14px; font-weight: 700; color: var(--ink); }
.spec__g li { position: relative; padding: 7px 0 7px 14px; border-bottom: 1px solid var(--line-2); font-size: 14px; line-height: 1.55; color: var(--body); }
.spec__g li:last-child { border-bottom: 0; }
.spec__g li::before { content: ""; position: absolute; left: 0; top: 17px; width: 6px; height: 1px; background: #b9764f; }
.spec__more { display: none; }
.terms { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); margin: 28px 0 0; border-top: 1px solid rgba(210, 156, 124, 0.35); border-bottom: 1px solid rgba(210, 156, 124, 0.35); }
.terms div { padding: 20px 4px; }
.terms div + div { padding-left: 24px; border-left: 1px solid rgba(210, 156, 124, 0.25); }
.terms dt { font-size: 13px; color: var(--acc); }
.terms dd { margin-top: 6px; font-size: 18px; font-weight: 700; line-height: 1.45; color: var(--inv); }
.cx .btn--acc { min-width: 280px; height: 60px; margin-top: 36px; font-size: 17px; }

/* 월간 리포트 (종이 카드) */
.mrc { margin-top: 28px; padding: 0 44px 36px; border-radius: 4px; background: var(--paper); color: var(--body); box-shadow: 0 0 0 1px rgba(210, 156, 124, 0.18); }
.mrc__top { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 22px 0 18px; border-bottom: 1px solid var(--ink); }
.mrc__top div { display: flex; flex-direction: column; gap: 2px; }
.mrc__top b { font-size: 17px; line-height: 26px; color: var(--ink); }
.mrc__top div span { font-size: 13px; color: var(--mute); }
.mrc__ex { flex: none; font-size: 13px; font-weight: 500; color: var(--acc-ink); }
.led--mrc { margin-top: 0; border-top: 0; }
.led--mrc .led__c { padding: 18px 16px 6px 18px; }
.led--mrc .led__c:first-child { padding-left: 0; }
.mrc__grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 40px; margin-top: 18px; padding-top: 30px; border-top: 1px solid var(--line); }
.mrc__chart { display: flex; flex-direction: column; gap: 14px; }
.mrc__label { font-size: 13px; font-weight: 700; color: var(--acc-ink); }
.mrc__hint { font-size: 13px; line-height: 1.6; color: var(--mute); }
.trend__grid line { stroke: #e6e2d9; stroke-dasharray: 3 4; }
.trend__grid line.is-base { stroke: #d6d1c7; stroke-dasharray: none; }
.trend__grid text, .trend__x text { font-size: 13px; fill: var(--mute); }
.trend__area { fill: url(#trendFill); }
.trend__line { fill: none; stroke: #c98f6c; stroke-width: 2.2; stroke-dasharray: 6 5; }
.trend__pt { fill: var(--paper); stroke: #c98f6c; stroke-width: 1.5; }
.trend__now { fill: #c98f6c; fill-opacity: 0.25; }
.trend__tag rect { fill: #f3e8df; }
.trend__tag text { font-size: 13px; font-weight: 500; fill: var(--acc-ink); }
.fill { width: 100%; margin-top: 14px; border-collapse: collapse; table-layout: fixed; border-top: 1px solid var(--ink); }
.fill th, .fill td { padding: 12px 0; line-height: 21px; border-bottom: 1px solid var(--line); text-align: center; }
.fill thead th { padding: 9px 0; font-size: 13px; font-weight: 500; color: var(--mute); }
.fill thead th:first-child, .fill tbody th { width: 46%; text-align: left; }
.fill tbody th { font-size: 14px; font-weight: 500; color: var(--ink); }
.st { font-size: 13px; font-weight: 500; color: var(--acc-ink); }
.mrc__vs { margin-top: 34px; padding-top: 30px; border-top: 1px solid var(--line); }
.bars--mini { margin-top: 14px; }
.bars--mini li { grid-template-columns: 200px minmax(0, 1fr) 64px; }
.bars--mini .bar__n b { font-size: 14px; }
.bars--mini .bar__v { font-size: 15px; }

/* 진단 기준 (접기) */
.basis { padding: 72px 0; background: var(--paper); color: var(--body); }
.basis details > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; list-style: none; cursor: pointer; }
.basis details > summary::-webkit-details-marker { display: none; }
.basis details > summary::after { content: "+"; flex: none; font-size: 22px; font-weight: 300; color: var(--ink); }
.basis details[open] > summary::after { content: "−"; }
.basis__k { font-size: 13px; font-weight: 700; color: var(--acc-ink); }
.basis__h { margin-top: 8px; font-size: 26px; font-weight: 400; line-height: 1.4; letter-spacing: -0.035em; color: var(--ink); }
.basis dl { margin-top: 24px; border-top: 1px solid var(--ink); }
.basis dl > div { display: flex; gap: 24px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.basis dt { flex: none; width: 150px; font-size: 13px; font-weight: 700; line-height: 1.75; color: #3a3631; }
.basis dd { font-size: 14px; line-height: 1.7; color: var(--body); }
.basis dd.is-warn { color: var(--red); }

/* 검색어 상세 창 */
.kd { width: min(1040px, 100vw); max-width: 100vw; height: 100vh; max-height: 100vh; margin: 0 0 0 auto; padding: 0; border: 0; background: var(--paper); color: var(--body); box-shadow: -1px 0 0 var(--line); }
.kd::backdrop { background: rgba(28, 25, 22, 0.55); backdrop-filter: blur(4px); }
.kd__in { padding: 36px 40px 72px; }
.fd-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; padding-bottom: 24px; border-bottom: 1px solid var(--ink); }
.fd-eyebrow { font-size: 13px; font-weight: 700; color: var(--acc-ink); }
.fd-title { margin-top: 8px; font-size: 30px; font-weight: 700; line-height: 1.35; letter-spacing: -0.02em; color: var(--ink); }
.fd-vol { margin-top: 6px; font-size: 14px; color: var(--mute); font-variant-numeric: tabular-nums; }
.fd-close { flex: none; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 4px; background: none; color: var(--body); font-size: 15px; }
.fd-close:hover { border-color: var(--acc-ink); color: var(--acc-ink); }
.fd-now { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 1px solid var(--line); }
.fd-now > div { padding: 20px 20px 20px 0; }
.fd-now > div + div { padding-left: 20px; border-left: 1px solid var(--line); }
.fd-now dt { font-size: 13px; font-weight: 700; color: var(--mute); }
.fd-now dd { margin-top: 6px; font-size: 24px; font-weight: 700; line-height: 1.3; color: var(--ink); }
.fd-act { margin-top: 20px; padding-left: 12px; border-left: 2px solid var(--acc-ink); font-size: 15px; font-weight: 600; color: var(--ink); }
.fd-act li + li { margin-top: 6px; }
.fd-page { margin-top: 16px; font-size: 14px; }
.fd-page a { color: var(--acc-ink); text-decoration: underline; text-underline-offset: 3px; }
.fd-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-top: 36px; }
.fd-col h4 { margin-top: 24px; padding-bottom: 10px; border-bottom: 1px solid var(--ink); font-size: 18px; font-weight: 700; color: var(--ink); }
.fd-col h4:first-child { margin-top: 0; }
.fd-layout { margin-top: 10px; font-size: 13px; line-height: 1.6; color: var(--mute); }
.fd-none { margin-top: 14px; font-size: 14px; color: var(--mute); }
.fd-list li { display: grid; grid-template-columns: 26px 1fr auto; gap: 10px; align-items: baseline; padding: 11px 0; border-bottom: 1px solid var(--line-2); }
.fd-rank { font-size: 13px; font-weight: 700; color: var(--gray); font-variant-numeric: tabular-nums; }
.fd-t { min-width: 0; font-size: 14.5px; line-height: 1.5; color: var(--ink); }
.fd-t a:hover { text-decoration: underline; }
.fd-t small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--inv-mute); }
.fd-who { font-size: 12.5px; font-weight: 700; color: var(--mute); white-space: nowrap; }
.fd-list li.is-us .fd-rank, .fd-list li.is-us .fd-who { color: var(--acc-ink); }
.fd-list li.is-us .fd-t a { font-weight: 700; }

/* ---------------------------------------------------------------- 1360 이하: 머리 외부 링크 줄이기 */
@media (max-width: 1180px) {
  .hero__grid { grid-template-columns: minmax(0, 1fr); justify-items: center; }
  .hero__l, .ex { width: 100%; max-width: 640px; }
  .split { gap: 48px; }
}

/* ---------------------------------------------------------------- 휴대폰 (860 이하) */
@media (max-width: 860px) {
  .only-d { display: none !important; }
  .only-m { display: block; }
  .hd__in { flex-wrap: wrap; height: auto; padding-top: 14px; row-gap: 0; }
  .hd__tag, .hd__bar { display: none; }
  .hd__right { margin-left: auto; }
  .hd__nav { order: 3; width: 100%; gap: 22px; height: 44px; overflow-x: auto; }
  .hd__menu { font-size: 15px; }
  .hd__word { font-size: 20px; }

  .hero { padding: 48px 0 72px; }
  .hero__h { font-size: 34px; line-height: 1.36; }
  .hero__sub { font-size: 15.5px; }
  .qf { margin-top: 24px; }
  .qf__head { padding: 18px 18px 0; }
  .qf__stage { min-height: 350px; padding: 24px 18px 20px; }
  .qf__q { font-size: 25px; }
  .qf__opt { min-height: 58px; padding: 0 14px; font-size: 16px; }
  .qf__in { height: 56px; font-size: 16px; }
  .qf__two { grid-template-columns: 1fr; }
  .ex { padding: 22px 20px 20px; border-radius: 14px; }
  .ex th, .ex td { height: 48px; padding: 0 4px; font-size: 13px; }
  .ex thead th { font-size: 11.5px; }

  .band { padding: 88px 0; }
  .big { font-size: 30px; line-height: 1.4; }
  .sub { font-size: 15.5px; }
  .split { grid-template-columns: 1fr; gap: 36px; }
  .cmp { grid-template-columns: 1fr; gap: 16px; margin-top: 36px; }
  .cmp__c { padding: 22px 20px 10px; }
  .flow { display: none; }
  .acc { display: grid; gap: 12px; margin-top: 36px; }
  .acc details { border: 1px solid #2e2c29; border-radius: 14px; background: #1e1c19; }
  .acc summary { display: grid; grid-template-columns: 1fr 20px; align-items: center; padding: 18px 20px; list-style: none; cursor: pointer; }
  .acc summary::-webkit-details-marker { display: none; }
  .acc summary::after { content: ""; width: 9px; height: 9px; border: solid var(--inv-mute); border-width: 0 1.5px 1.5px 0; transform: rotate(45deg); justify-self: end; }
  .acc details[open] summary::after { transform: rotate(-135deg); }
  .acc summary small { display: block; font-size: 12px; color: var(--acc); }
  .acc summary b { font-size: 18px; color: var(--inv); }
  .acc p { padding: 0 20px 20px; font-size: 14.5px; line-height: 1.7; color: #b9b4aa; }
  .faq summary { grid-template-columns: 40px minmax(0, 1fr) 20px; padding: 22px 0; }
  .faq summary b { font-size: 16.5px; }
  .faq__a { padding: 0 0 26px 0; }
  .faq__a strong { font-size: 19px; }
  .close { padding: 96px 0 88px; }
  .close__h { font-size: 32px; letter-spacing: -0.03em; }
  .close__sub { margin-top: 16px; font-size: 15.5px; }
  .close__btns { flex-direction: column; align-items: stretch; }
  .close__btns .btn { min-width: 0; height: 56px; }
  .ft__in { flex-direction: column; }
  .ft__r { text-align: left; }

  .watch { padding: 32px 0 64px; }
  .mp { padding: 26px 20px 24px; }

  .rp-doc { padding: 24px 0 64px; }
  .rp-doc__bar { align-items: flex-start; }
  .rp-hero { padding-top: 40px; }
  .rp-title { margin-top: 14px; font-size: 30px; }
  .rp-sum { margin-top: 32px; }
  .rp-sum li { flex-direction: column; gap: 6px; padding: 20px; }
  .rp-sum__k { width: auto; }
  .rp-sum__v { font-size: 15px; }
  .rp-sec { padding: 56px 0; }
  .h { font-size: 24px; line-height: 1.4; }
  .led { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .led__c { padding: 16px 0 16px 14px; }
  .led__c:nth-child(odd) { padding: 16px 12px 16px 0; border-left: 0; }
  .led__c:nth-child(n + 3) { border-top: 1px solid var(--line); }
  .mini span { width: 40px; }
  .bars__th { grid-template-columns: 60px minmax(0, 1fr) 40px; }
  .bars li { grid-template-columns: minmax(0, 1fr) auto; gap: 10px 12px; }
  .bars li .bar__t { grid-column: 1 / -1; grid-row: 2; }
  .bars--mini li { grid-template-columns: minmax(84px, max-content) minmax(0, 1fr) 52px; gap: 12px; }
  .bars--mini li .bar__t { grid-column: auto; grid-row: auto; }
  .bars--mini .bar__n b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 9em; }
  .qs li { flex-direction: column; gap: 4px; }
  .qs span { width: auto; }
  .aim__th, .aim li { grid-template-columns: minmax(0, 1fr) auto; row-gap: 10px; }
  .aim__engs { grid-column: 1 / -1; grid-row: 2; }
  .aim li { row-gap: 12px; padding: 14px 0 16px; }
  .quote { padding: 20px; }
  .key { margin: 20px 0 18px; }
  .key ul { grid-template-columns: minmax(0, 1fr); }
  .kt { display: none; }
  .kw__head, .kw li { display: grid; grid-template-columns: minmax(0, 1fr) repeat(var(--cols, 3), 50px); align-items: center; }
  .kw__head { border-top: 1px solid var(--ink); border-bottom: 1px solid var(--line); font-size: 11.5px; line-height: 1.3; color: var(--mute); text-align: center; }
  .kw__head > span { padding: 6px 0 8px; }
  .kw__head .g { grid-column: span 2; padding: 10px 0 5px; border-bottom: 1px solid var(--line); font-weight: 700; color: #57524b; }
  .kw__head .g0 { grid-row: span 2; align-self: end; padding: 0 0 8px; text-align: left; font-size: 12px; }
  .kw__head .is-ai, .kw__c.is-ai { box-shadow: -1px 0 0 var(--line); }
  .kw { display: block; }
  .kw li { min-height: 58px; border-bottom: 1px solid var(--line); }
  .kw__k { display: grid; gap: 2px; min-width: 0; padding: 10px 4px 10px 0; }
  .kw button { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 15px; font-weight: 700; line-height: 1.4; }
  .kw li.is-seen button { color: var(--acc-ink); }
  .kw__k > span { display: flex; align-items: center; gap: 6px; font-size: 12px; color: var(--mute); white-space: nowrap; font-variant-numeric: tabular-nums; }
  .kw__k em { font-style: normal; font-weight: 600; color: #6c675f; }
  .kw__k em.is-open { color: var(--green); }
  .kw__k em.is-hard { color: var(--ink); }
  .kw__k em.is-own { color: var(--acc-ink); }
  .kw__c { display: grid; place-items: center; align-self: stretch; padding: 10px 0; }
  .kw__c .m-unk { width: 44px; height: auto; padding: 3px 0; white-space: normal; line-height: 1.25; font-size: 11px; text-align: center; }
  .legend { flex-direction: column; align-items: flex-start; gap: 10px; }
  .road__out { display: flex; justify-content: flex-end; gap: 8px; font-size: 13px; font-weight: 700; color: var(--acc-ink); }
  .road__bar { height: 28px; border-radius: 16px; }
  .road__bar > div { font-size: 13px; }
  .steps { gap: 16px; }
  .step__h { flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 18px; }
  .fix { flex-direction: column; align-items: flex-start; gap: 10px; padding: 16px 18px 18px; }
  .step__more > summary { padding: 14px 18px; }
  .nos li, .found li { grid-template-columns: 104px minmax(0, 1fr); gap: 14px; padding: 16px 0; }
  .nos__n { font-size: 34px; }
  .nos__n small { font-size: 14px; }
  .nos__l { font-size: 15px; }
  .nos__end { margin-top: 20px; font-size: 15px; }
  .mx { grid-template-columns: 1fr; gap: 20px; }
  .mx svg text { font-size: 20px; }
  .mx svg .mx__num { font-size: 15px; }
  .ck summary { grid-template-columns: 48px minmax(0, 1fr) 16px; gap: 10px; }
  .ck__grp { display: none; }
  .ck__body { padding-left: 58px; }

  .cx { padding: 72px 0; }
  .cx__t { font-size: 29px; line-height: 1.4; letter-spacing: -0.035em; }
  .cx__h { font-size: 23px; }
  .scope { margin-top: 24px; }
  .scope > li { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
  .scope__ph { font-size: 19px; }
  .scope__ph span { display: inline; margin: 0 10px 0 0; font-size: 34px; }
  .scope__sh { font-size: 16px; }
  .scope__ss, .pages li { font-size: 14px; }
  .spec { padding: 16px 16px 12px; }
  .spec__grid { grid-template-columns: 1fr; }
  .spec__g { padding-top: 14px; }
  .spec__g li { font-size: 13.5px; }
  .spec:not(.is-open) .spec__g li:nth-child(n + 4) { display: none; }
  .spec__more { display: block; width: 100%; margin-top: 12px; padding: 12px 0 4px; border: 0; border-top: 1px solid var(--line); background: none; font-size: 13.5px; font-weight: 700; color: var(--acc-ink); }
  .terms { grid-template-columns: 1fr; }
  .terms div + div { padding-left: 4px; border-left: 0; border-top: 1px solid rgba(210, 156, 124, 0.25); }
  .terms dd { font-size: 16px; }
  .cx .btn--acc { display: flex; width: 100%; min-width: 0; height: 58px; margin-top: 28px; }
  .mrc { padding: 0 16px 24px; }
  .mrc__top { align-items: flex-start; }
  .led--mrc .led__c { padding: 16px 0 14px 14px; }
  .led--mrc .led__c:nth-child(odd) { padding: 16px 10px 14px 0; }
  .mrc__grid { grid-template-columns: 1fr; gap: 28px; padding-top: 24px; }
  .fill thead th:first-child, .fill tbody th { width: 49%; }

  .basis { padding: 56px 0; }
  .basis__h { font-size: 22px; }
  .basis dl > div { flex-direction: column; gap: 6px; padding: 16px 0; }
  .basis dt { width: auto; }
  .kd { width: 100vw; }
  .kd__in { padding: 20px 20px 56px; }
  .fd-title { font-size: 24px; }
  .fd-cols { grid-template-columns: 1fr; gap: 32px; margin-top: 28px; }
  .fd-now > div { padding: 16px 10px 16px 0; }
  .fd-now > div + div { padding-left: 10px; }
  .fd-now dd { font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }
@media print { .hd, .close, .cx, .kd { display: none; } .rp-doc { background: #fff; color: #000; } }
