

.kq-blog{
  --ink:#180533; --ink-soft:#574f6e; --link:#7a28c9; --lila:#cd70ff; --lila-soft:#e6b1ff;
  --lila-tint:#f2e7fb; --olive:#9da64c; --coral:#d94f57; --coral-line:#f0c3c6; --coral-bg:#fdecee;
  --line:#e8e4f2; --panel:#f2f1f9;
  max-width:760px; margin:0 auto; padding:8px 4px 24px;
  font-family:"Lato",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:18px; line-height:1.75; color:var(--ink);
  -webkit-font-smoothing:antialiased; text-align:left;
}
.kq-blog *{box-sizing:border-box}
.kq-blog p{margin:0 0 20px; color:var(--ink)}
.kq-blog a{color:var(--link); text-underline-offset:2px; text-decoration-color:var(--lila-soft)}
.kq-blog a:hover{text-decoration-color:var(--link)}
.kq-blog strong{color:var(--ink); font-weight:700}
.kq-blog .eyebrow{font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--link); font-weight:700; margin:0 0 14px}
.kq-blog h2{font-family:"Fraunces",Georgia,serif; font-weight:600; font-size:clamp(1.4rem,3.6vw,1.75rem); line-height:1.2; margin:52px 0 14px; color:var(--ink); letter-spacing:-.01em}
.kq-blog h3{font-size:1.06rem; font-weight:700; margin:30px 0 8px; color:var(--ink)}
.kq-blog .lede{font-size:1.18rem; color:var(--ink-soft); margin:0 0 8px}
.kq-blog .answer{background:var(--lila-tint); border:1px solid var(--line); border-left:4px solid var(--lila); border-radius:12px; padding:20px 24px; margin:26px 0; box-shadow:0 1px 2px rgba(24,5,51,.04)}
.kq-blog .answer p{margin:0}
.kq-blog .byline{font-size:.9rem; color:var(--ink-soft); margin:22px 0 0; padding-top:18px; border-top:1px solid var(--line)}
.kq-blog .byline strong{color:var(--ink)}
.kq-blog ul{margin:0 0 20px; padding-left:0; list-style:none}
.kq-blog ul li{position:relative; padding-left:26px; margin-bottom:11px}
.kq-blog ul li::before{content:""; position:absolute; left:6px; top:12px; width:8px; height:8px; border-radius:50%; background:var(--olive)}
.kq-blog .pull{font-family:"Fraunces",Georgia,serif; font-weight:500; font-style:italic; font-size:1.24rem; line-height:1.4; color:var(--ink); border-left:3px solid var(--lila); padding:4px 0 4px 22px; margin:34px 0}
.kq-blog .stats{background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:26px 26px 12px; margin:30px 0 8px; box-shadow:0 1px 3px rgba(24,5,51,.05)}
.kq-blog .stats h3{margin:0 0 18px; color:var(--ink); font-size:.82rem; letter-spacing:.14em; text-transform:uppercase}
.kq-blog .stats h2.kq-stats-heading{font-family:"Lato",sans-serif;font-weight:700;line-height:1.3;margin:0 0 18px;color:var(--ink);font-size:.82rem;letter-spacing:.14em;text-transform:uppercase}
.kq-blog .stat-grid{display:grid; grid-template-columns:1fr 1fr; gap:22px 26px}
.kq-blog .stat .num{font-family:"Fraunces",serif; font-size:1.9rem; font-weight:600; color:var(--link); line-height:1}
.kq-blog .stat .lab{font-size:.9rem; color:var(--ink-soft); margin-top:6px; display:block}
.kq-blog .src{font-size:.78rem; color:var(--ink-soft); margin:16px 0 0; line-height:1.5}
.kq-blog .src a{color:var(--ink-soft)}
.kq-blog figure{margin:34px 0; padding:0}
.kq-blog .tbl-wrap{border:1px solid var(--line); border-radius:14px; overflow-x:auto; overflow-y:hidden; box-shadow:0 1px 3px rgba(24,5,51,.05)}
.kq-blog table{width:100%; border-collapse:collapse; font-size:1rem; margin:0}
.kq-blog caption{caption-side:top; text-align:left; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-soft); font-weight:700; padding:16px 18px 0}
.kq-blog thead th{background:var(--ink); color:#fff; font-weight:700; text-align:left; padding:12px 18px; font-size:.92rem}
.kq-blog tbody td{padding:12px 18px; border-top:1px solid var(--line); color:var(--ink)}
.kq-blog tbody tr:nth-child(even){background:var(--panel)}
.kq-blog tbody td:first-child{font-weight:700}
.kq-blog tbody td.k{color:var(--link); font-family:"Fraunces",serif; font-weight:600}
.kq-blog figcaption{font-size:.85rem; color:var(--ink-soft); margin-top:10px; text-align:center}
.kq-blog .diagram{width:100%; height:auto; display:block; border:1px solid var(--line); border-radius:14px; background:#fdfcff; padding:12px}
.kq-blog .alert{background:var(--coral-bg); border:1px solid var(--coral-line); border-left:4px solid var(--coral); border-radius:12px; padding:22px 24px; margin:26px 0}
.kq-blog .alert h3{color:var(--coral); margin-top:0}
.kq-blog .alert p:last-child{margin-bottom:0}
.kq-blog .midcta{text-align:center; margin:34px 0}
.kq-blog .midcta a{display:inline-block; background:var(--lila-tint); border:1px solid var(--lila); color:var(--ink); font-weight:800; text-decoration:none; padding:13px 26px; border-radius:999px}
.kq-blog .faq details{border-bottom:1px solid var(--line); padding:6px 0}
.kq-blog .faq summary{cursor:pointer; font-weight:700; font-size:1.05rem; padding:14px 0; list-style:none; color:var(--ink)}
.kq-blog .faq summary::-webkit-details-marker{display:none}
.kq-blog .faq summary::after{content:"+"; float:right; color:var(--link); font-weight:700; font-size:1.3rem; line-height:1}
.kq-blog .faq details[open] summary::after{content:"\2212"}
.kq-blog .faq details p{margin:0 0 16px; color:var(--ink-soft)}
.kq-blog .cta{background:var(--ink); color:#e9def7; border-radius:16px; padding:32px 28px; margin:44px 0 0; position:relative; overflow:hidden}
.kq-blog .cta::before{content:"KQ"; position:absolute; right:-8px; top:-14px; font-family:"Fraunces",serif; font-weight:600; font-size:6rem; color:rgba(205,112,255,.14); letter-spacing:-.04em}
.kq-blog .cta h3{color:#fff; margin:0 0 10px; font-size:1.3rem; font-family:"Fraunces",serif; position:relative}
.kq-blog .cta p{color:#cdbde6; margin:0 0 8px; position:relative}
.kq-blog .cta .btn{display:inline-block; background:var(--lila); color:#180533; font-weight:800; text-decoration:none; padding:14px 28px; border-radius:999px; margin-top:14px; position:relative}
.kq-blog .cta .brand{color:#fff; font-weight:700; margin-top:16px}
.kq-blog .contact{position:relative; margin:18px 0 0; padding-top:16px; border-top:1px solid rgba(205,112,255,.28); display:grid; gap:8px}
.kq-blog .contact a{color:#fff; text-decoration:none; font-weight:700; display:inline-flex; align-items:center; gap:10px}
.kq-blog .contact a:hover{color:var(--lila-soft)}
.kq-blog .contact .ico{color:var(--lila); font-weight:700; min-width:78px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase}
.kq-blog .disclaimer{font-size:.82rem; color:var(--ink-soft); line-height:1.6; margin:34px 0 0; padding-top:20px; border-top:1px solid var(--line)}
