/* 카솔 블로그 공용 스타일 — index.html 의 디자인 토큰을 그대로 따른다.
   랜딩(index.html)은 자체완결 파일로 두고, 블로그는 글이 계속 늘어나므로
   공용 CSS 한 장을 쓴다. */
:root{
  --ink:#26221b; --ink-soft:#6a6155; --ink-faint:#9c9284;
  --bg:#ffffff; --bg-2:#F6F2EA; --bg-3:#FCFAF5; --line:#ebe3d5; --line-2:#e3dccd;
  --brand:#E8912A; --brand-2:#F5A93C; --brand-soft:#FFF3E0; --gold-deep:#B5761a;
  --green:#2E9E57; --green-soft:#E4F6EC; --blue:#3F74C4; --blue-soft:#e9f0fb;
  --maxw:1160px; --readw:720px;
  --sh-sm:0 1px 2px rgba(38,34,27,.04),0 6px 16px rgba(38,34,27,.05);
  --sh:0 4px 10px rgba(38,34,27,.04),0 28px 56px -22px rgba(38,34,27,.22);
  --sh-brand:0 10px 24px -8px rgba(232,145,42,.45);
  --font:"Pretendard Variable","Pretendard","Apple SD Gothic Neo","Malgun Gothic",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);color:var(--ink);background:var(--bg);line-height:1.75;
     letter-spacing:-.003em;font-size:17px;word-break:keep-all;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}

/* ── 헤더 ── */
header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
nav{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{display:flex;align-items:baseline;gap:7px;font-weight:800;letter-spacing:-.03em}
.logo .mark{font-size:22px;color:var(--brand);font-weight:900}
.logo .tag{font-size:11.5px;color:var(--ink-faint);font-weight:700}
.navcta{display:flex;gap:9px;align-items:center}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:800;font-size:14.5px;
     padding:11px 20px;border-radius:30px;border:0;cursor:pointer;transition:.25s;white-space:nowrap}
.btn-brand{background:linear-gradient(135deg,var(--brand),var(--brand-2));color:#fff;box-shadow:var(--sh-brand)}
.btn-line{background:#fff;color:var(--ink);border:1.5px solid var(--line-2)}
@media(max-width:620px){.navcta .ghost{display:none}}

/* ── 본문 폭 ── */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.read{max-width:var(--readw);margin:0 auto;padding:0 24px}

/* ── 글 머리 ── */
.post-head{padding:52px 0 30px;border-bottom:1px solid var(--line)}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:800;color:var(--gold-deep);
         background:var(--brand-soft);padding:7px 14px;border-radius:30px;border:1px solid rgba(232,145,42,.2)}
.eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand)}
.post-head h1{font-size:34px;font-weight:800;letter-spacing:-.025em;line-height:1.35;margin:18px 0 14px}
.post-meta{font-size:13.5px;color:var(--ink-faint);font-weight:600;display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:620px){.post-head{padding:34px 0 22px}.post-head h1{font-size:26px}}

/* ── 즉답 상자 — GEO 의 핵심. AI 가 여기만 읽어도 답이 되게 ── */
.answer{background:linear-gradient(180deg,var(--brand-soft),#fffdf9);border:1px solid rgba(232,145,42,.28);
        border-radius:18px;padding:22px 24px;margin:30px 0 8px}
.answer .lb{font-size:12px;font-weight:900;color:var(--gold-deep);letter-spacing:.06em;display:block;margin-bottom:8px}
.answer p{font-size:17.5px;font-weight:700;line-height:1.72;color:var(--ink)}
.answer p+p{margin-top:9px}
@media(max-width:620px){.answer{padding:18px 18px;border-radius:15px}.answer p{font-size:16px}}

/* ── 본문 ── */
article{padding:8px 0 60px;font-size:17px}
article h2{font-size:24px;font-weight:800;letter-spacing:-.02em;line-height:1.4;margin:46px 0 14px;padding-top:6px}
article h3{font-size:18.5px;font-weight:800;margin:30px 0 10px}
article p{margin:14px 0;color:#3a352c}
article strong{font-weight:800;color:var(--ink)}
article ul,article ol{margin:14px 0 14px 4px;padding-left:20px;display:flex;flex-direction:column;gap:8px}
article li{color:#3a352c}
article li::marker{color:var(--brand);font-weight:800}
article a{color:var(--gold-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}
@media(max-width:620px){article h2{font-size:20.5px;margin:34px 0 12px}article h3{font-size:17px}body{font-size:16px}article{font-size:16px}}

/* 표 */
.tw{overflow-x:auto;margin:22px 0;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-size:15px;min-width:420px}
th,td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--line)}
th{background:var(--bg-2);font-weight:800;font-size:13.5px;color:var(--ink-soft);white-space:nowrap}
td strong{color:var(--gold-deep)}
tr:last-child td{border-bottom:0}

/* 인용·짚는 상자 */
.note{background:var(--bg-3);border:1px solid var(--line);border-left:3px solid var(--brand);
      border-radius:0 14px 14px 0;padding:16px 20px;margin:24px 0;font-size:15.5px;color:var(--ink-soft)}
.note b{color:var(--ink)}

/* ── 도식 — 이미지가 아니라 코드. 안의 글자가 그대로 읽힌다 ── */
.fig{margin:30px 0;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fffdf9,var(--bg-3));
     padding:24px 22px;box-shadow:var(--sh-sm)}
.fig figcaption{margin-top:14px;font-size:13px;color:var(--ink-faint);font-weight:600;text-align:center}
.fig svg{width:100%;height:auto;display:block}
@media(max-width:620px){.fig{padding:16px 14px;border-radius:14px}}

/* 사분면 도식 */
.quad{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.quad .q{border-radius:14px;padding:16px 15px;border:1px solid var(--line-2);background:#fff}
.quad .q.on{border-color:var(--brand);background:linear-gradient(180deg,var(--brand-soft),#fff);box-shadow:0 0 0 3px rgba(232,145,42,.1)}
.quad .q .t{font-size:12px;font-weight:800;color:var(--ink-faint);margin-bottom:5px}
.quad .q .v{font-size:16px;font-weight:900;letter-spacing:-.02em}
.quad .q.on .v{color:var(--brand)}
.quad .q .d{font-size:13px;color:var(--ink-soft);font-weight:600;margin-top:5px;line-height:1.55}
@media(max-width:520px){.quad{grid-template-columns:1fr}}

/* 단계 카드 */
.steps{display:flex;flex-direction:column;gap:10px}
.steps .s{display:flex;gap:13px;align-items:flex-start;background:#fff;border:1px solid var(--line);
          border-radius:14px;padding:14px 16px;box-shadow:var(--sh-sm)}
.steps .n{flex:0 0 26px;width:26px;height:26px;border-radius:9px;font-size:13px;font-weight:900;color:#fff;
          background:linear-gradient(135deg,var(--brand),var(--brand-2));display:grid;place-items:center}
.steps .tx{font-size:15px;line-height:1.6}
.steps .tx b{display:block;font-weight:800;margin-bottom:2px}
.steps .tx span{color:var(--ink-soft);font-size:14px}

/* ── 글 끝 CTA ── */
.cta-box{background:linear-gradient(135deg,#fff,var(--brand-soft));border:1px solid rgba(232,145,42,.25);
         border-radius:20px;padding:30px 28px;margin:20px 0 10px;text-align:center}
.cta-box h3{font-size:20px;font-weight:800;margin-bottom:8px}
.cta-box p{font-size:15px;color:var(--ink-soft);margin-bottom:18px}
.cta-box .btn{font-size:15.5px;padding:13px 26px}

/* ── 목록 ── */
.list-head{padding:56px 0 30px;text-align:center}
.list-head h1{font-size:34px;font-weight:800;letter-spacing:-.025em;margin:16px 0 10px}
.list-head p{color:var(--ink-soft);font-size:16.5px}
.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding:8px 0 60px}
.card{border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,var(--bg-3));
      padding:24px 24px 22px;transition:.25s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:#e5d6ba}
.card .k{font-size:11.5px;font-weight:800;color:var(--gold-deep);background:var(--brand-soft);
         padding:4px 10px;border-radius:20px;align-self:flex-start}
.card h2{font-size:19px;font-weight:800;line-height:1.45;margin:12px 0 8px;letter-spacing:-.02em}
.card p{font-size:14.5px;color:var(--ink-soft);line-height:1.65;flex:1}
.card .d{font-size:12.5px;color:var(--ink-faint);font-weight:600;margin-top:14px}
@media(max-width:760px){.cards{grid-template-columns:1fr;gap:14px}.list-head{padding:34px 0 22px}.list-head h1{font-size:26px}}

/* ── 다음 글 ── */
.more{border-top:1px solid var(--line);padding:34px 0 0}
.more .h{font-size:13px;font-weight:800;color:var(--ink-faint);margin-bottom:14px}

/* ── 푸터 ── */
footer{background:#fff;border-top:1px solid var(--line);color:var(--ink-soft);padding:38px 0 30px;font-size:14px;margin-top:40px}
.fb{max-width:var(--maxw);margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
footer a{color:var(--ink-soft)}
footer a:hover{color:var(--brand)}

/* 함께 읽으면 좋은 글 */
.more .rel{margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid var(--line)}
.more .rel:last-child{border-bottom:0;padding-bottom:0;margin-bottom:0}
.more .rel a{font-size:16px;font-weight:800;letter-spacing:-.02em;display:block;margin-bottom:5px}
.more .rel span{display:block;font-size:14px;color:var(--ink-soft);line-height:1.6}
