/* ============================================================
   스피치설계자 — 디자인 시스템 (레퍼런스: cafe24.com)
   본문 Pretendard · 제목 Cafe24 Ohsquare · 검정/흰색/연회색 + 다크 섹션 + 라임 포인트
   ============================================================ */
@font-face{font-family:'Pretendard';font-weight:400;src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Regular.woff2') format('woff2')}
@font-face{font-family:'Pretendard';font-weight:500;src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Medium.woff2') format('woff2')}
@font-face{font-family:'Pretendard';font-weight:700;src:url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/static/woff2/Pretendard-Bold.woff2') format('woff2')}
@font-face{font-family:'Ohsquare';font-weight:700;src:url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2001@1.1/Cafe24Ohsquare.woff') format('woff');font-display:swap;unicode-range:U+0020-007E,U+AC00-D7A3,U+1100-11FF,U+3130-318F}

:root{
  --ink:#1C1C1C; --ink-2:#333; --muted:#757575; --muted-2:#9A9A9A;
  --bg:#FFFFFF; --gray:#F7F8FA; --gray-2:#F0F2F3; --line:#E6E8EB;
  --dark:#1A1D22; --dark-2:#111318; --lime:#BBF94F; --blue:#084FFF; --blue-bg:#E6EDFF;
  --kakao:#FEE500;
  --r:20px; --pill:9999px; --max:1120px;
  --display:'Ohsquare','Pretendard',sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Pretendard',-apple-system,BlinkMacSystemFont,system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.6;word-break:keep-all;-webkit-font-smoothing:antialiased;font-size:16px}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
h1,h2,h3{font-family:var(--display);font-weight:700;line-height:1.3;letter-spacing:0;margin:0 0 .5em}
h1{font-size:clamp(30px,5vw,52px)}
h2{font-size:clamp(26px,3.6vw,40px)}
h3{font-size:clamp(18px,2.2vw,22px)}
p{margin:0 0 1em}
.lead{font-size:clamp(16px,1.8vw,19px);color:var(--ink-2)}
.muted{color:var(--muted)}
.hl{color:var(--blue);font-weight:700}
.dark .hl,.hero .hl,.tool .hl{color:var(--lime)}
.blank{background:#FFF3B0;color:#6F5A00;padding:0 6px;border-radius:6px;font-weight:700} /* 【 】 자리표시 */
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
section{padding:96px 0}
section.tight{padding:56px 0}
@media(max-width:800px){section{padding:64px 0}section.tight{padding:40px 0}}
.gray,.cream{background:var(--gray)}
.dark,.navy{background:var(--dark);color:#fff}
.dark .muted,.navy .muted{color:rgba(255,255,255,.6)}
.dark .lead,.navy .lead{color:rgba(255,255,255,.85)}
.eyebrow{display:inline-block;font-size:14px;font-weight:700;color:var(--blue);margin-bottom:12px}
.dark .eyebrow,.navy .eyebrow,.tool .eyebrow,.hero .eyebrow{color:var(--lime)}
.center{text-align:center}
.sec-head{text-align:center;max-width:720px;margin:0 auto 48px}
.sec-head p{color:var(--muted);font-size:17px}

/* ---------- 버튼 (알약) ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:52px;padding:0 24px;border-radius:var(--pill);font-weight:700;font-size:16px;border:1px solid transparent;cursor:pointer;transition:.15s;line-height:1;font-family:inherit;white-space:nowrap}
.btn-lg{height:60px;padding:0 32px;font-size:18px}
.btn-primary,.btn-navy{background:var(--ink);color:#fff}
.btn-primary:hover,.btn-navy:hover{background:#000}
.btn-outline{border-color:#D5D8DC;color:var(--ink);background:#fff}
.btn-outline:hover{background:var(--gray)}
.btn-kakao{background:var(--kakao);color:#191919}
.btn-kakao:hover{filter:brightness(.95)}
.btn-block{width:100%}
.btn-row{display:flex;gap:10px;flex-wrap:wrap}
.btn-row.center{justify-content:center}
/* 어두운 배경 위 */
.dark .btn-primary,.navy .btn-primary,.hero .btn-primary,.tool .btn-primary,.cta-band .btn-primary{background:#fff;color:var(--ink)}
.dark .btn-primary:hover,.hero .btn-primary:hover,.tool .btn-primary:hover,.cta-band .btn-primary:hover{background:var(--lime)}
.dark .btn-outline,.navy .btn-outline,.hero .btn-outline,.tool .btn-outline,.cta-band .btn-outline{background:transparent;border-color:rgba(255,255,255,.35);color:#fff}
.dark .btn-outline:hover,.hero .btn-outline:hover,.tool .btn-outline:hover,.cta-band .btn-outline:hover{background:rgba(255,255,255,.1)}
.more{display:inline-flex;align-items:center;gap:4px;font-weight:700;color:var(--ink)}
.more::after{content:'›';font-size:20px;line-height:1}

/* ---------- 헤더 ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.logo{font-family:var(--display);font-weight:700;font-size:20px;color:var(--ink);white-space:nowrap;line-height:1}
.logo small{display:block;font-family:'Pretendard';font-size:11px;font-weight:500;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:2px;align-items:center}
.nav a{padding:8px 14px;border-radius:var(--pill);font-weight:500;font-size:15px;color:var(--ink-2)}
.nav a:hover{background:var(--gray)}
.nav a.active{font-weight:700;color:var(--ink)}
.nav .btn{margin-left:10px;height:40px;padding:0 18px;font-size:14px;background:var(--ink);color:#fff}
.menu-btn{display:none;background:none;border:0;font-size:26px;cursor:pointer;padding:4px 8px;color:var(--ink)}
@media(max-width:900px){
  .nav{display:none;position:absolute;left:0;right:0;top:64px;background:#fff;flex-direction:column;align-items:stretch;padding:8px 20px 20px;border-bottom:1px solid var(--line);box-shadow:0 12px 24px rgba(0,0,0,.08)}
  .nav.open{display:flex}
  .nav a{padding:16px 4px;font-size:18px;border-bottom:1px solid var(--line);border-radius:0;font-weight:700}
  .nav .btn{margin:16px 0 0;height:52px;font-size:16px;border-radius:var(--pill)}
  .menu-btn{display:block}
}

/* ---------- 히어로 (다크 · 중앙 정렬) ---------- */
.hero{position:relative;overflow:hidden;background:var(--dark-2);color:#fff;padding:96px 0 72px;text-align:center}
.hero::before{content:'';position:absolute;inset:-20% -10% auto;height:120%;background:
  radial-gradient(60% 50% at 50% 0%,rgba(8,79,255,.35),transparent 70%),
  radial-gradient(40% 40% at 85% 60%,rgba(187,249,79,.14),transparent 70%),
  radial-gradient(40% 40% at 10% 70%,rgba(120,80,255,.18),transparent 70%);pointer-events:none}
.hero .wrap{position:relative;max-width:820px}
.hero h1{margin-bottom:14px}
.hero .sub{font-family:var(--display);font-size:clamp(18px,2.6vw,26px);color:rgba(255,255,255,.8);margin-bottom:10px}
.hero .lead{color:rgba(255,255,255,.7);margin-bottom:28px;font-size:clamp(15px,1.7vw,18px)}
.hero .btn-row{justify-content:center;margin-bottom:40px}
.hero-grid{display:block}
.hero-img{border-radius:var(--r);overflow:hidden;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);min-height:260px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.5);font-weight:500;margin:0 auto;max-width:720px}
.hero-img img{width:100%;height:100%;object-fit:cover}
.hero .video{max-width:720px;margin:0 auto;border:1px solid rgba(255,255,255,.1)}
@media(max-width:800px){.hero{padding:64px 0 48px}.hero-img{min-height:200px}}

/* ---------- 신뢰 줄 ---------- */
.trust{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:center;font-size:14px;font-weight:500;color:var(--muted);padding:22px 0;border-bottom:1px solid var(--line)}

/* ---------- 카드 ---------- */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.cards.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.cards,.cards.two{grid-template-columns:1fr}}
.card{background:var(--gray);}
.gray .card,.cream .card{background:#fff;}
.card{border-radius:var(--r);padding:32px 28px;display:flex;flex-direction:column;gap:12px;transition:.2s;position:relative;color:var(--ink)}
a.card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.card .num{width:40px;height:40px;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--display);font-size:16px;color:var(--ink)}
.card.featured{background:var(--dark);color:#fff}
.card.featured .num{background:var(--lime);color:var(--ink)}
.card.featured .chips span{background:rgba(255,255,255,.12);color:#fff}
.card.featured .more{color:var(--lime)}
.card h3{margin:4px 0 0;font-size:22px}
.card ul{margin:0;padding:0;list-style:none}
.card ul li{padding:4px 0;color:inherit;opacity:.85;font-size:15px}
.card .arrow,.card .more{margin-top:auto;padding-top:12px}
.card .arrow{font-weight:700}
.badge{position:absolute;top:20px;right:20px;background:var(--lime);color:var(--ink);font-size:12px;font-weight:700;padding:6px 12px;border-radius:var(--pill)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips span,.chips label{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;padding:9px 14px;border-radius:var(--pill);border:1px solid var(--line)}

/* ---------- 사다리 ---------- */
.ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:step}
@media(max-width:800px){.ladder{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.ladder{grid-template-columns:1fr}}
.step{background:#fff;border-radius:var(--r);padding:24px 20px;position:relative;color:var(--ink);border:1px solid var(--line);transition:.15s}
a.step:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,0,0,.06)}
.step::before{counter-increment:step;content:'0' counter(step);display:block;font-family:var(--display);font-size:14px;color:var(--muted-2);margin-bottom:12px}
.step.on{background:var(--dark);color:#fff;border-color:var(--dark)}
.step.on::before{color:var(--lime)}
.step b{display:block;font-family:var(--display);font-size:19px;margin-bottom:6px}
.step .price{font-weight:700;font-size:15px;color:var(--blue)}
.step.on .price{color:var(--lime)}
.step .note{font-size:13px;color:var(--muted);margin-top:4px}
.step.on .note{color:rgba(255,255,255,.6)}
.ladder-vert{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.ladder-vert li{background:var(--gray);border-radius:16px;padding:20px 22px}
.ladder-vert b{font-family:var(--display);font-size:18px}
.ladder-vert .price{color:var(--blue);font-weight:700;margin-left:8px;font-size:15px}

/* ---------- 표 ---------- */
table{width:100%;border-collapse:separate;border-spacing:0;font-size:16px;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
th,td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
tr:last-child td{border-bottom:0}
th{background:var(--gray);font-weight:700;color:var(--ink);font-size:14px}
@media(max-width:600px){table{font-size:14px}th,td{padding:12px 12px}}

/* ---------- 목록 ---------- */
.checks{list-style:none;padding:0;margin:0}
.checks li{padding:8px 0 8px 34px;position:relative}
.checks li::before{content:'✓';position:absolute;left:0;top:8px;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--lime);font-size:13px;font-weight:700;text-align:center;line-height:24px}
.dark .checks li::before,.navy .checks li::before{background:var(--lime);color:var(--ink)}
.checks.x li::before{content:'✕';background:#E6E8EB;color:#999}
.deliver{list-style:none;padding:0;margin:0;counter-reset:d;display:flex;flex-direction:column;gap:8px}
.deliver li{counter-increment:d;padding:14px 16px 14px 56px;position:relative;background:var(--gray);border-radius:14px}
.deliver li::before{content:counter(d);position:absolute;left:14px;top:12px;width:30px;height:30px;border-radius:10px;background:var(--ink);color:var(--lime);font-family:var(--display);font-size:14px;text-align:center;line-height:30px}
.deliver li b{color:var(--ink)}

/* ---------- 2단 ---------- */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:800px){.split{grid-template-columns:1fr;gap:32px}}

/* ---------- 유튜브 ---------- */
.video{position:relative;aspect-ratio:16/9;background:var(--dark);border-radius:var(--r);overflow:hidden}
.video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.video .ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:rgba(255,255,255,.8);gap:10px;font-weight:500;text-align:center;padding:20px;background:radial-gradient(60% 60% at 50% 40%,rgba(8,79,255,.35),transparent 70%)}
.video .ph .play{width:64px;height:64px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-size:22px;color:#fff;border:1px solid rgba(255,255,255,.3)}
.sample-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:700px){.sample-grid{grid-template-columns:1fr}}
.sample-box{background:var(--gray);border-radius:16px;padding:20px;color:var(--ink)}
.sample-box .tag{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--muted)}
.sample-box.after{background:var(--dark);color:#fff}
.sample-box.after .tag{color:var(--lime)}
.sample-box.after .muted{color:rgba(255,255,255,.6)}
audio{width:100%;margin-top:10px}

/* ---------- 60초 도구 (다크 카드) ---------- */
.tool{position:relative;overflow:hidden;background:var(--dark-2);color:#fff;border-radius:28px;padding:48px 40px}
.tool::before{content:'';position:absolute;inset:0;background:radial-gradient(50% 40% at 80% 0%,rgba(8,79,255,.35),transparent 70%),radial-gradient(40% 40% at 0% 100%,rgba(187,249,79,.12),transparent 70%);pointer-events:none}
.tool>*{position:relative}
@media(max-width:600px){.tool{padding:32px 20px;border-radius:22px}}
.tool h2{color:#fff}
.tool .field{margin-bottom:14px}
.tool label{display:block;font-weight:700;margin-bottom:8px;font-size:16px}
.tool label small{display:block;font-weight:400;color:rgba(255,255,255,.55);font-size:13px;margin-top:2px}
.tool input,.tool select,.tool textarea{width:100%;padding:16px;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.07);color:#fff;font-size:17px;font-family:inherit;outline:none}
.tool input:focus,.tool textarea:focus,.tool select:focus{border-color:var(--lime)}
.tool textarea{min-height:84px;resize:vertical}
.tool input::placeholder,.tool textarea::placeholder{color:rgba(255,255,255,.35)}
.tool select option{color:#111}
.tool .progress{display:flex;gap:6px;margin-bottom:24px}
.tool .progress i{flex:1;height:4px;border-radius:2px;background:rgba(255,255,255,.15)}
.tool .progress i.on{background:var(--lime)}
.tool .q-title{font-size:13px;color:var(--lime);font-weight:700;margin-bottom:8px}
.script{background:#fff;color:var(--ink);border-radius:18px;padding:28px;font-size:18px;line-height:1.9;white-space:pre-wrap;margin:16px 0}
.script .breath{color:var(--blue);font-weight:700}
.tool .hint{font-size:14px;color:rgba(255,255,255,.6)}
.tool .note-box{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:20px;margin-top:20px;font-size:15px}
.tool .btn-kakao{color:#191919}

/* ---------- 블로그 ---------- */
.posts{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
@media(max-width:800px){.posts{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.posts{grid-template-columns:1fr}}
.post{border-radius:var(--r);overflow:hidden;background:var(--gray);display:flex;flex-direction:column;transition:.2s}
.post:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(0,0,0,.08)}
.post .thumb{aspect-ratio:16/10;background:var(--gray-2);object-fit:cover;width:100%}
.post .body{padding:18px 20px 20px}
.post b{display:block;font-size:16px;line-height:1.45;margin-bottom:8px}
.post small{color:var(--muted)}

/* ---------- FAQ ---------- */
.faq details{background:var(--gray);border-radius:16px;padding:20px 22px;margin-bottom:10px}
.faq summary{font-weight:700;font-size:17px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:'+';color:var(--muted);font-size:24px;line-height:1;font-weight:300}
.faq details[open] summary::after{content:'−'}
.faq p{margin:14px 0 0;color:var(--ink-2)}

/* ---------- 문의 폼 ---------- */
.form-tabs{display:flex;gap:8px;margin-bottom:20px;background:var(--gray);padding:6px;border-radius:var(--pill)}
.form-tabs button{flex:1;height:48px;border-radius:var(--pill);border:0;background:transparent;font-weight:700;font-size:16px;cursor:pointer;font-family:inherit;color:var(--muted)}
.form-tabs button.on{background:var(--ink);color:#fff}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:32px}
@media(max-width:560px){.form{padding:24px 18px}}
.form .field{margin-bottom:16px}
.form label{display:block;font-weight:700;margin-bottom:8px;font-size:15px}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border-radius:14px;border:1px solid #D5D8DC;font-size:16px;font-family:inherit;background:var(--gray);outline:none}
.form input:focus,.form textarea:focus{border-color:var(--ink);background:#fff}
.form textarea{min-height:96px}
.form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.form .row{grid-template-columns:1fr}}
.form .chips label{cursor:pointer;margin:0;background:var(--gray);font-weight:600;font-size:14px}
.form .chips input{width:auto;margin:0}
.form .chips label:has(input:checked){background:var(--ink);color:#fff;border-color:var(--ink)}
.preview{background:var(--gray);border-radius:14px;padding:16px;white-space:pre-wrap;font-size:15px;margin:16px 0;display:none}

/* ---------- CTA 밴드 ---------- */
.cta-band{position:relative;overflow:hidden;background:var(--dark-2);color:#fff;padding:96px 0;text-align:center}
.cta-band::before{content:'';position:absolute;inset:0;background:radial-gradient(50% 60% at 50% 100%,rgba(8,79,255,.35),transparent 70%);pointer-events:none}
.cta-band .wrap{position:relative}
.cta-band h2{color:#fff}
.cta-band p{color:rgba(255,255,255,.7);margin-bottom:28px}
.cta-band.light{background:var(--gray);color:var(--ink)}
.cta-band.light::before{display:none}
.cta-band.light h2{color:var(--ink)}
.cta-band.light p{color:var(--muted)}
.cta-band.light .btn-primary{background:var(--ink);color:#fff}

/* ---------- 푸터 ---------- */
.site-footer{background:#fff;border-top:1px solid var(--line);color:var(--muted);padding:40px 0 110px;font-size:14px}
.site-footer .wrap{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}
.site-footer b{color:var(--ink);font-family:var(--display);font-weight:700}
.site-footer a:hover{color:var(--ink)}
@media(min-width:901px){.site-footer{padding-bottom:48px}}

/* ---------- 고정 문의 ---------- */
.fab{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(255,255,255,.96);border-top:1px solid var(--line);backdrop-filter:blur(8px)}
.fab .btn{flex:1;height:50px;padding:0 10px;font-size:15px}
@media(max-width:900px){.fab{display:flex}}
.kakao-float{position:fixed;right:24px;bottom:24px;z-index:60;display:none;align-items:center;gap:8px;background:var(--kakao);color:#191919;font-weight:700;height:52px;padding:0 22px;border:0;border-radius:var(--pill);box-shadow:0 10px 30px rgba(0,0,0,.18);cursor:pointer;font-family:inherit;font-size:15px}
@media(min-width:901px){.kakao-float{display:inline-flex}}

/* ---------- 후기 · 숫자 · 책 · 기관 ---------- */
.reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.reviews.two{grid-template-columns:repeat(2,1fr)}
@media(max-width:800px){.reviews,.reviews.two{grid-template-columns:1fr}}
.review{margin:0;background:var(--gray);border-radius:var(--r);padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.dark .review,.navy .review{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}
.review p{margin:0;font-size:17px;line-height:1.7;font-weight:500}
.review cite{font-style:normal;font-size:13px;color:var(--muted);margin-top:auto}
.dark .review cite{color:rgba(255,255,255,.55)}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;text-align:center}
@media(max-width:700px){.stats{grid-template-columns:1fr 1fr}}
.dark .stat{color:#fff}
.dark .stat small{color:rgba(255,255,255,.55)}
.books{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
@media(max-width:700px){.books{grid-template-columns:1fr}}
.books li{background:var(--gray);border-radius:14px;padding:10px 14px 10px 10px;display:flex;align-items:center;gap:12px;font-size:15px}
.books li b{flex:1;font-weight:600}
.books li img,.books li i{width:38px;height:50px;object-fit:cover;border-radius:6px;flex:none;background:#E6E8EB;display:block}
.books li.note{background:transparent;color:var(--muted);font-size:13px;padding:4px 0 0;grid-column:1/-1}
.covers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;align-items:end}
@media(max-width:700px){.covers{grid-template-columns:repeat(2,1fr)}}
.covers img{width:100%;border-radius:12px;box-shadow:0 16px 32px rgba(0,0,0,.14)}
.books .tag{flex:none;background:var(--ink);color:var(--lime);font-size:11px;font-weight:700;padding:4px 9px;border-radius:var(--pill)}
.client-group{margin-bottom:24px}
.client-group h3{font-size:15px;color:var(--muted);margin-bottom:10px;font-family:'Pretendard';font-weight:700}
.stages{list-style:none;padding:0;margin:0}
.stages li{padding:10px 0;border-bottom:1px solid var(--line);font-size:15px}
.stages li:last-child{border:0}

/* ---------- 진단 예시 ---------- */
.diags{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:800px){.diags{grid-template-columns:1fr}}
.diag{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:24px}
.diag-head{font-size:12px;font-weight:700;color:var(--blue);margin-bottom:12px}
.diag p{margin:0 0 12px;font-size:15px;line-height:1.7;color:var(--ink-2)}
.diag p:last-child{margin:0}
.diag b{display:inline-block;background:var(--ink);color:var(--lime);font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--pill);margin-right:8px;vertical-align:1px}
.evidence{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#fff}
.evidence img{width:100%}
.evidence .cap{padding:12px 16px;font-size:13px;color:var(--muted)}

/* ---------- 언론 · 방송 ---------- */
.tv-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:32px}
@media(max-width:800px){.tv-grid{grid-template-columns:1fr 1fr}}
.tv-grid figure{margin:0;background:#fff;border-radius:16px;overflow:hidden;border:1px solid var(--line)}
.tv-grid figure:first-child{grid-column:1/-1}
.tv-grid img{width:100%;object-fit:cover;aspect-ratio:3/2}
.tv-grid figure:first-child img{aspect-ratio:auto}
.tv-grid figcaption{padding:10px 14px;font-size:12px;color:var(--muted);line-height:1.5}
.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:900px){.articles{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.articles{grid-template-columns:1fr}}
.article{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;gap:8px;transition:.2s}
.article:hover{transform:translateY(-3px);box-shadow:0 16px 32px rgba(0,0,0,.06)}
.article .meta{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted)}
.article .meta b{color:var(--ink)}
.article h3{font-size:17px;margin:0}
.article p{font-size:14px;color:var(--ink-2);margin:0;line-height:1.6}
.article .more{margin-top:auto;padding-top:6px;font-size:14px}

/* ---------- MC ---------- */
.mc-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.mc-grid img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px}
.mc-grid img:first-child{grid-column:1/-1}

/* ---------- 출판사 러브콜 ---------- */
.shots{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.shots{grid-template-columns:repeat(2,1fr)}}
.shots figure{margin:0;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.shots img{width:100%;aspect-ratio:650/962;object-fit:cover;object-position:top}
.shots figcaption{padding:12px 14px;font-size:13px;color:var(--ink-2);line-height:1.5}

/* ---------- 기타 ---------- */
.quote{background:var(--gray);border-radius:16px;padding:20px 22px;font-size:clamp(16px,2vw,19px);font-weight:600;color:var(--ink);margin:24px 0}
.quote::before{content:'“';font-family:var(--display);color:var(--blue);font-size:28px;line-height:0;margin-right:6px;vertical-align:-8px}
.warn{background:var(--blue-bg);color:#1E3A8A;border-radius:14px;padding:14px 16px;font-size:14px}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:14px 22px;border-radius:var(--pill);font-weight:600;z-index:99;opacity:0;transition:.2s;pointer-events:none;white-space:nowrap;font-size:14px;max-width:calc(100% - 32px);text-overflow:ellipsis;overflow:hidden}
.toast.show{opacity:1}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:80;display:none;align-items:center;justify-content:center;padding:20px}
.modal.open{display:flex}
.modal .box{background:#fff;border-radius:24px;max-width:560px;width:100%;padding:32px;max-height:90vh;overflow:auto}
.stat{font-family:var(--display);font-size:clamp(28px,4vw,44px);line-height:1;color:var(--ink)}
.stat small{display:block;font-family:'Pretendard';font-size:14px;color:var(--muted);margin-top:8px;font-weight:500}
