/* Kansa Artikel - style bersama arsip, slider, dan detail artikel */

.ks{--ks-primary:#277CB3;--ks-primary-dark:#1F6897;--ks-accent:#46A2C8;--ks-accent-dark:#358DB3;--ks-heading:#0F1B2A;--ks-text:#4B5563;--ks-muted:#6B7280;--ks-border:#E6E8EB;--ks-orange:#FF7F27;
  position:relative;font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif;color:var(--ks-text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.ks *,.ks *::before,.ks *::after{box-sizing:border-box}
.ks img{display:block;max-width:100%;height:auto;border:0}
.ks a{text-decoration:none}
.ks .ks-container{width:100%;max-width:1200px;margin-left:auto;margin-right:auto;padding-left:20px;padding-right:20px}
.ks .ks-hl{color:var(--ks-primary)}
.ks .ks-hl-accent{color:var(--ks-accent)}
.ks .ks-section-title{margin:0;font-family:inherit;font-size:clamp(24px,1.6vw + 14px,34px);font-weight:700;line-height:1.3;letter-spacing:-.01em;color:#000;text-align:center;text-transform:none}
.ks .ks-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:12px 28px;border-radius:2px;font-family:inherit;font-size:15px;font-weight:500;line-height:1.2;letter-spacing:0;text-align:center;text-transform:none;cursor:pointer;box-shadow:none;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}
.ks .ks-btn:focus-visible{outline:2px solid var(--ks-primary);outline-offset:3px}
.ks .ks-btn svg{flex:0 0 auto}
.ks .ks-btn-primary{background:var(--ks-primary);color:#fff;border:0;box-shadow:0 10px 24px rgba(39,124,179,.35)}
.ks .ks-btn-primary:hover{background:var(--ks-primary-dark);color:#fff}
.ks .ks-btn-accent{background:var(--ks-accent);color:#fff;border:0}
.ks .ks-btn-accent:hover{background:var(--ks-accent-dark);color:#fff}
.ks .ks-btn-outline{background:transparent;color:var(--ks-accent);border:1.5px solid var(--ks-accent);border-radius:4px;font-weight:600}
.ks .ks-btn-outline:hover{background:var(--ks-accent);color:#fff}
.ks [hidden]{display:none !important}

.ks .ks-track{position:relative;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;cursor:grab}
.ks .ks-track::-webkit-scrollbar{display:none}
.ks .ks-track>*{flex:0 0 auto}
.ks .ks-track img{-webkit-user-drag:none;user-select:none}
.ks .ks-track.is-dragging{scroll-snap-type:none;cursor:grabbing}
.ks .ks-track.is-dragging *{pointer-events:none}
.ks .ks-dots{display:flex;align-items:center;justify-content:center;gap:10px}
.ks .ks-dots[hidden]{display:none}
.ks .ks-dot{appearance:none;-webkit-appearance:none;display:block;width:10px;height:10px;min-width:0;min-height:0;margin:0;padding:0;border:0;border-radius:50%;background:#E5E7EB;box-shadow:none;cursor:pointer;transition:background-color .2s ease,transform .2s ease}
.ks .ks-dot:hover{background:#C9CED6}
.ks .ks-dot.is-active{background:var(--ks-primary);transform:scale(1.25)}
.ks .ks-dot:focus-visible{outline:2px solid var(--ks-primary);outline-offset:3px}

.ks.ks-articles{background:#fff;padding:40px 0 70px}
.ks.ks-articles .ks-articles-title{margin:0 0 40px;font-family:inherit;font-size:clamp(22px,1vw + 14px,26px);font-weight:700;line-height:1.3;color:#000;text-align:center;text-transform:none}
.ks.ks-articles .ks-articles-slider{--item:clamp(280px,27vw,364px);--edge:max(20px,calc((100% - 1160px) / 2))}
.ks.ks-articles .ks-track{gap:33px;padding:4px var(--edge,20px) 8px;scroll-padding-left:var(--edge,20px);scroll-padding-right:var(--edge,20px)}
.ks.ks-articles .ks-article{display:flex;flex-direction:column;width:var(--item);overflow:hidden;background:#fff;border:1px solid var(--ks-border);border-radius:8px;scroll-snap-align:start;transition:box-shadow .2s ease}
.ks.ks-articles .ks-article:hover{box-shadow:0 12px 30px rgba(15,27,42,.08)}
.ks.ks-articles .ks-article-media{position:relative;display:block;aspect-ratio:364 / 212;overflow:hidden;background:#EEF2F5}
.ks.ks-articles .ks-article-media img{width:100%;height:100%;object-fit:cover}
.ks.ks-articles .ks-article-cat{position:absolute;top:10px;left:14px;padding:4px 12px;border-radius:999px;background:var(--ks-orange);font-size:13px;font-weight:400;line-height:1.35;letter-spacing:.06em;color:#0D1D29}
.ks.ks-articles .ks-article-body{display:flex;flex:1 1 auto;flex-direction:column;padding:22px 22px 22px 23px}
.ks.ks-articles .ks-article-date{display:block;margin:0 0 8px;font-size:13px;line-height:1.4;letter-spacing:.08em;color:var(--ks-muted)}
.ks.ks-articles .ks-article-title{margin:0 0 8px;font-family:inherit;font-size:18px;font-weight:700;line-height:1.5;text-transform:none}
.ks.ks-articles .ks-article-title a{color:var(--ks-heading);transition:color .2s ease}
.ks.ks-articles .ks-article-title a:hover{color:var(--ks-primary)}
.ks.ks-articles .ks-article-excerpt{flex:1 1 auto;margin:0 0 24px;font-size:15px;line-height:1.4;color:var(--ks-text)}
.ks.ks-articles .ks-btn-outline{width:100%}
.ks.ks-articles .ks-dots{margin-top:48px}
@media (max-width:1024px){
  .ks.ks-articles{padding-bottom:80px}
  .ks.ks-articles .ks-articles-slider{--item:clamp(280px,42vw,364px);--edge:20px}
  .ks.ks-articles .ks-track{gap:20px}
  .ks.ks-articles .ks-dots{margin-top:36px}
}
@media (max-width:767px){
  .ks.ks-articles{padding:32px 0 56px}
  .ks.ks-articles .ks-articles-title{margin-bottom:24px}
  .ks.ks-articles .ks-articles-slider{--item:82vw;--edge:16px}
  .ks.ks-articles .ks-track{gap:14px}
  .ks.ks-articles .ks-article-body{padding:18px}
  .ks.ks-articles .ks-article-title{font-size:17px}
  .ks.ks-articles .ks-dots{margin-top:26px}
}

.ks.ks-blog{background:#fff;padding:36px 0 70px}
.ks.ks-blog .ks-tabs{display:flex;gap:6px;margin:0 0 40px;padding:0;overflow-x:auto;border-bottom:1px solid var(--ks-border);scrollbar-width:none}
.ks.ks-blog .ks-tabs::-webkit-scrollbar{display:none}
.ks.ks-blog .ks-tab{position:relative;flex:1 0 auto;min-width:130px;min-height:0;margin:0;padding:14px 12px;border:0;border-radius:0;background:transparent;box-shadow:none;font-family:inherit;font-size:16.5px;font-weight:500;line-height:1.3;color:#9CA3AF;text-align:center;white-space:nowrap;cursor:pointer;transition:color .2s ease}
.ks.ks-blog .ks-tab:hover{color:#4B5563;background:transparent}
.ks.ks-blog .ks-tab.is-active{color:#111;font-weight:600}
.ks.ks-blog .ks-tab.is-active::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--ks-primary)}
.ks.ks-blog .ks-blog-grid{display:grid;grid-template-columns:repeat(var(--ks-cols,3),minmax(0,1fr));gap:26px}
.ks.ks-blog .ks-post{display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--ks-border);border-radius:8px;background:#fff;transition:box-shadow .2s ease}
.ks.ks-blog .ks-post:hover{box-shadow:0 12px 30px rgba(15,27,42,.08)}
.ks.ks-blog .ks-post-media{position:relative;display:block;aspect-ratio:364 / 212;overflow:hidden;background:#EEF2F5}
.ks.ks-blog .ks-post-media img{width:100%;height:100%;object-fit:cover}
.ks.ks-blog .ks-post-cat{position:absolute;top:10px;left:14px;padding:4px 12px;border-radius:999px;background:var(--ks-orange);font-size:13px;line-height:1.35;letter-spacing:.06em;color:#0D1D29}
.ks.ks-blog .ks-post-body{display:flex;flex:1 1 auto;flex-direction:column;padding:22px}
.ks.ks-blog .ks-post-date{display:block;margin:0 0 8px;font-size:13px;line-height:1.4;letter-spacing:.08em;color:var(--ks-muted)}
.ks.ks-blog .ks-post-title{margin:0 0 8px;font-family:inherit;font-size:18px;font-weight:700;line-height:1.5;text-transform:none}
.ks.ks-blog .ks-post-title a{color:var(--ks-heading);transition:color .2s ease}
.ks.ks-blog .ks-post-title a:hover{color:var(--ks-primary)}
.ks.ks-blog .ks-post-excerpt{flex:1 1 auto;margin:0 0 24px;font-size:15px;line-height:1.4;color:var(--ks-text)}
.ks.ks-blog .ks-post .ks-btn-outline{width:100%}
.ks.ks-blog .ks-blog-empty{margin:30px 0 0;font-size:15px;color:var(--ks-muted);text-align:center}
.ks.ks-blog .ks-blog-action{display:flex;justify-content:center;margin-top:34px}
.ks.ks-blog .ks-blog-action .ks-btn{min-width:191px}
@media (max-width:1024px){
  .ks.ks-blog{padding:28px 0 56px}
  .ks.ks-blog .ks-tabs{margin-bottom:30px}
  .ks.ks-blog .ks-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
}
@media (max-width:767px){
  .ks.ks-blog{padding:24px 0 44px}
  .ks.ks-blog .ks-tab{min-width:120px;padding:12px 10px;font-size:15px}
  .ks.ks-blog .ks-blog-grid{grid-template-columns:1fr;gap:16px}
  .ks.ks-blog .ks-post-body{padding:18px}
  .ks.ks-blog .ks-blog-action .ks-btn{width:100%}
}

/* ---------- detail single post ---------- */
.ks.ks-single{background:#fff;padding:40px 0 70px}
.ks.ks-single .ks-single-grid{display:grid;grid-template-columns:minmax(0,1fr) 290px;gap:100px;align-items:start}
.ks.ks-single .ks-single-grid.is-full{grid-template-columns:minmax(0,1fr);max-width:900px}
.ks.ks-single .ks-single-title{margin:0 0 14px;font-family:inherit;font-size:clamp(23px,1.2vw + 14px,31px);font-weight:700;line-height:1.45;letter-spacing:-.01em;color:#0F1B2A;text-transform:none}
.ks.ks-single .ks-single-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 22px;font-size:13.5px;line-height:1.5;color:#6B7280}
.ks.ks-single .ks-single-sep{color:#D1D5DB}
.ks.ks-single .ks-single-author{display:inline-flex;align-items:center;gap:8px}
.ks.ks-single .ks-single-author img{width:24px;height:24px;object-fit:contain;border-radius:4px}
.ks.ks-single .ks-single-author b{font-weight:700;color:#111}
.ks.ks-single .ks-single-thumb{display:block;margin:0 0 48px;padding:0;aspect-ratio:16 / 9;overflow:hidden;border-radius:10px;background:#EEF2F5}
.ks.ks-single .ks-single-thumb img{display:block;width:100%;max-width:100%;height:100%;margin:0;object-fit:cover;object-position:center;border-radius:0;image-rendering:auto}
.ks.ks-single .ks-single-content{font-size:15px;line-height:1.75;color:#4B5563;text-align:justify;text-justify:inter-word}
.ks.ks-single .ks-single-content>*:first-child{margin-top:0}
.ks.ks-single .ks-single-content p{margin:0 0 20px}
.ks.ks-single .ks-single-content h2,.ks.ks-single .ks-single-content h3,.ks.ks-single .ks-single-content h4{margin:34px 0 16px;font-family:inherit;font-weight:700;line-height:1.5;color:#0F1B2A;text-align:left;text-transform:none}
.ks.ks-single .ks-single-content h2{font-size:clamp(19px,.8vw + 14px,22px)}
.ks.ks-single .ks-single-content h3{font-size:19px}
.ks.ks-single .ks-single-content h4{font-size:17px}
.ks.ks-single .ks-single-content ul,.ks.ks-single .ks-single-content ol{margin:0 0 20px;padding-left:22px;text-align:left}
.ks.ks-single .ks-single-content li{margin-bottom:8px}
.ks.ks-single .ks-single-content img{height:auto;margin:0 0 20px;border-radius:8px}
.ks.ks-single .ks-single-content a{color:var(--ks-primary);text-decoration:underline}
.ks.ks-single .ks-single-content blockquote{margin:0 0 22px;padding:16px 22px;border-left:4px solid var(--ks-accent);background:#F1F8FC}
.ks .ks-bacajuga{display:block;margin:6px 0 28px;padding:0;border:0;background:none;text-align:left}
.ks .ks-bacajuga .ks-bacajuga-link{display:flex;align-items:center;gap:16px;padding:14px 18px 14px 14px;border:1px solid #D6E7F2;border-left:4px solid var(--ks-accent);border-radius:0 10px 10px 0;background:#F3F9FC;color:#0F1B2A;text-decoration:none !important;transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease}
.ks .ks-bacajuga:not(.has-thumb) .ks-bacajuga-link{padding-left:20px}
.ks .ks-bacajuga .ks-bacajuga-link:hover{background:#E8F3FA;border-color:#BFDAEA;box-shadow:0 6px 18px rgba(15,27,42,.06)}
.ks .ks-bacajuga .ks-bacajuga-link:focus-visible{outline:2px solid var(--ks-primary);outline-offset:2px}
.ks .ks-bacajuga .ks-bacajuga-thumb{flex:0 0 auto;width:112px;height:72px;margin:0;object-fit:cover;border-radius:6px;background:#E5EEF4}
.ks .ks-bacajuga .ks-bacajuga-body{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-width:0}
.ks .ks-bacajuga .ks-bacajuga-label{margin:0;font-size:12.5px;font-weight:700;line-height:1.3;letter-spacing:.04em;color:var(--ks-primary)}
.ks .ks-bacajuga .ks-bacajuga-title{font-size:15px;font-weight:600;line-height:1.45;color:#0F1B2A;text-decoration:none !important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ks .ks-bacajuga .ks-bacajuga-link:hover .ks-bacajuga-title{color:var(--ks-primary)}
.ks .ks-bacajuga .ks-bacajuga-arrow{flex:0 0 auto;display:inline-flex;color:var(--ks-primary)}
@media (max-width:767px){
  .ks .ks-bacajuga .ks-bacajuga-link{gap:12px;padding:12px}
  .ks .ks-bacajuga .ks-bacajuga-thumb{width:84px;height:60px}
  .ks .ks-bacajuga .ks-bacajuga-title{font-size:14px}
  .ks .ks-bacajuga .ks-bacajuga-arrow{display:none}
}
.ks.ks-single .ks-share{display:flex;flex-wrap:wrap;align-items:center;gap:14px 18px;margin-top:44px;padding-top:24px;border-top:1px solid var(--ks-border)}
.ks.ks-single .ks-share-label{font-size:15px;font-weight:700;color:#0F1B2A}
.ks.ks-single .ks-share-list{display:flex;flex-wrap:wrap;gap:10px}
.ks.ks-single .ks-share .ks-share-btn{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px 0 13px;border:0;border-radius:999px;background:#1877F2;color:#fff !important;font-size:14px;font-weight:600;line-height:1;text-decoration:none !important;box-shadow:0 2px 6px rgba(15,27,42,.12);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
.ks.ks-single .ks-share .ks-share-btn svg,.ks.ks-single .ks-share .ks-share-btn i{flex:0 0 auto;color:#fff}
.ks.ks-single .ks-share .ks-share-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,27,42,.18);filter:brightness(.95);color:#fff !important}
.ks.ks-single .ks-share .ks-share-btn:focus-visible{outline:2px solid #0F1B2A;outline-offset:2px}
.ks.ks-single .ks-share .ks-share-btn.is-fb{background:#1877F2}
.ks.ks-single .ks-share .ks-share-btn.is-tw{background:#000}
.ks.ks-single .ks-share .ks-share-btn.is-li{background:#0A66C2}
.ks.ks-single .ks-share .ks-share-btn.is-wa{background:#128C7E}
.ks.ks-single .ks-share .ks-share-btn.is-tg{background:#0A7BBF}
@media (max-width:600px){
  .ks.ks-single .ks-share .ks-share-btn{width:44px;height:44px;min-height:0;padding:0;justify-content:center}
  .ks.ks-single .ks-share .ks-share-name{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
}
@media (prefers-reduced-motion:reduce){.ks.ks-single .ks-share .ks-share-btn,.ks .ks-bacajuga .ks-bacajuga-link{transition:none}}
.ks.ks-single .ks-single-side{display:grid;gap:30px}
.ks.ks-single .ks-side-box{padding:24px 26px;background:#F4F7F9}
.ks.ks-single .ks-side-title{margin:0 0 18px;font-family:inherit;font-size:15px;font-weight:700;line-height:1.4;color:var(--ks-accent);text-transform:none}
.ks.ks-single .ks-side-list{display:grid;gap:16px;margin:0;padding-left:18px}
.ks.ks-single .ks-side-list li{margin:0;color:#9CA3AF}
.ks.ks-single .ks-side-list a{font-size:13.5px;line-height:1.6;color:var(--ks-accent);text-decoration:underline}
.ks.ks-single .ks-side-list a:hover{color:var(--ks-primary)}
.ks.ks-single .ks-side-heading{margin:0 0 20px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.4;color:#0F1B2A;text-align:center;text-transform:none}
.ks.ks-single .ks-rec{display:grid;gap:26px}
.ks.ks-single .ks-rec-item img{width:100%;aspect-ratio:300 / 170;object-fit:cover;border-radius:8px;background:#EEF2F5}
.ks.ks-single .ks-rec-title{margin:12px 0 6px;font-family:inherit;font-size:14.5px;font-weight:400;line-height:1.45;color:#111;text-transform:none}
.ks.ks-single .ks-rec-item a:hover .ks-rec-title{color:var(--ks-primary)}
.ks.ks-single .ks-rec-date{display:block;font-size:13px;line-height:1.4;color:#6B7280}
@media (max-width:1024px){
  .ks.ks-single{padding:32px 0 56px}
  .ks.ks-single .ks-single-grid{grid-template-columns:minmax(0,1fr);gap:44px}
  .ks.ks-single .ks-single-thumb{margin-bottom:36px}
  .ks.ks-single .ks-rec{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:767px){
  .ks.ks-single{padding:24px 0 44px}
  .ks.ks-single .ks-single-content{text-align:left}
  .ks.ks-single .ks-single-meta{gap:8px;font-size:13px}
  .ks.ks-single .ks-share{gap:12px;margin-top:32px}
  .ks.ks-single .ks-side-box{padding:20px}
  .ks.ks-single .ks-rec{grid-template-columns:1fr;gap:22px}
}

/* ---------- status muat data ---------- */
.ks .ks-blog-grid.is-loading{opacity:.5;transition:opacity .2s ease}
.ks .ks-btn.is-loading{pointer-events:none;opacity:.7}

/* ---------- banner CTA ---------- */
.ks.ks-cta{background:#fff;padding:50px 0 80px}
.ks.ks-cta .ks-cta-box{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:400px;padding-left:80px;overflow:hidden;border-radius:20px;background:linear-gradient(90deg,#2B80B5 0%,#3A92C3 55%,#48A3CB 100%);color:#fff}
.ks.ks-cta .ks-cta-guides{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1}
.ks.ks-cta .ks-cta-guide-h{position:absolute;left:0;right:0;top:37px;height:0;border-top:1px dashed rgba(255,255,255,.55);-webkit-mask-image:linear-gradient(90deg,#000 55%,transparent 85%);mask-image:linear-gradient(90deg,#000 55%,transparent 85%)}
.ks.ks-cta .ks-cta-guide-v{position:absolute;top:0;bottom:0;left:43px;width:0;border-left:1px dashed rgba(255,255,255,.55)}
.ks.ks-cta .ks-cta-cross{position:absolute;left:43px;top:37px;width:22px;height:22px;margin:-11px 0 0 -11px}
.ks.ks-cta .ks-cta-cross::before,.ks.ks-cta .ks-cta-cross::after{content:"";position:absolute;background:#fff}
.ks.ks-cta .ks-cta-cross::before{left:0;right:0;top:50%;height:2px;margin-top:-1px}
.ks.ks-cta .ks-cta-cross::after{top:0;bottom:0;left:50%;width:2px;margin-left:-1px}
.ks.ks-cta .ks-cta-content{position:relative;z-index:2;align-self:center;padding:64px 0}
.ks.ks-cta .ks-cta-title{max-width:460px;margin:0 0 8px;font-family:inherit;font-size:clamp(26px,1.4vw + 16px,36px);font-weight:700;line-height:1.65;color:#fff;text-transform:none}
.ks.ks-cta .ks-cta-desc{max-width:440px;margin:0 0 26px;font-size:clamp(16px,.5vw + 12px,20px);line-height:1.7;color:rgba(255,255,255,.95)}
.ks.ks-cta .ks-btn-outline-white{width:100%;max-width:416px;background:transparent;color:#fff;border:1.5px solid #fff;border-radius:4px;font-weight:600}
.ks.ks-cta .ks-btn-outline-white:hover{background:#fff;color:var(--ks-primary)}
.ks.ks-cta .ks-btn-outline-white:focus-visible{outline-color:#fff}
.ks.ks-cta .ks-cta-media{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:flex-end;padding:30px 70px 0 0}
.ks.ks-cta .ks-cta-media img{width:100%;max-width:410px}
@media (max-width:1024px){
  .ks.ks-cta .ks-cta-box{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);min-height:0;padding-left:56px}
  .ks.ks-cta .ks-cta-content{padding:56px 0}
  .ks.ks-cta .ks-cta-title{line-height:1.35;margin-bottom:12px}
  .ks.ks-cta .ks-cta-media{padding-right:24px}
}
@media (max-width:767px){
  .ks.ks-cta{padding:32px 0 56px}
  .ks.ks-cta .ks-cta-box{grid-template-columns:1fr;padding:0 24px;border-radius:16px}
  .ks.ks-cta .ks-cta-guide-h{top:20px}
  .ks.ks-cta .ks-cta-guide-v{left:14px}
  .ks.ks-cta .ks-cta-cross{left:14px;top:20px}
  .ks.ks-cta .ks-cta-content{padding:52px 0 8px 6px}
  .ks.ks-cta .ks-cta-media{justify-content:center;padding:16px 0 0}
  .ks.ks-cta .ks-cta-media img{max-width:300px}
  .ks.ks-cta .ks-btn-outline-white{max-width:none}
}

/* ---------- daftar isi ---------- */
.ks.ks-single .ks-toc{margin:0 0 36px;padding:22px 26px;border:1px solid var(--ks-border);border-left:4px solid var(--ks-accent);border-radius:0 8px 8px 0;background:#F7FBFD}
.ks.ks-single .ks-toc-title{margin:0 0 14px;font-family:inherit;font-size:16px;font-weight:700;line-height:1.3;color:#0F1B2A;text-align:left;text-transform:none}
.ks.ks-single .ks-toc-list{display:grid;gap:10px;margin:0;padding:0;list-style:none}
.ks.ks-single .ks-toc-list li{margin:0;font-size:14.5px;line-height:1.5}
.ks.ks-single .ks-toc-list li::before{content:"";display:inline-block;width:5px;height:5px;margin:0 10px 3px 0;border-radius:50%;background:var(--ks-accent)}
.ks.ks-single .ks-toc-l3{padding-left:20px}
.ks.ks-single .ks-toc-list a{color:var(--ks-primary);text-decoration:none}
.ks.ks-single .ks-toc-list a:hover{text-decoration:underline}
.ks.ks-single .ks-toc-list li.is-active>a{font-weight:600}
.ks.ks-single .ks-single-content h2,.ks.ks-single .ks-single-content h3{scroll-margin-top:110px}

/* ---------- author box ---------- */
.ks.ks-single .ks-authorbox{display:flex;align-items:flex-start;gap:22px;margin-top:36px;padding:26px 28px;border:1px solid var(--ks-border);border-radius:12px;background:#F7FBFD}
.ks.ks-single .ks-authorbox-avatar{flex:0 0 auto;width:80px;height:80px;max-width:none;padding:6px;border:1px solid var(--ks-border);border-radius:50%;object-fit:contain;background:#fff}
.ks.ks-single .ks-authorbox-label{display:block;margin-bottom:4px;font-size:13px;line-height:1.4;letter-spacing:.06em;color:var(--ks-muted)}
.ks.ks-single .ks-authorbox-name{margin:0 0 10px;font-family:inherit;font-size:19px;font-weight:700;line-height:1.3;color:#0F1B2A;text-align:left;text-transform:none}
.ks.ks-single .ks-authorbox-name a{color:#0F1B2A;text-decoration:none !important}
.ks.ks-single .ks-authorbox-name a:hover{color:var(--ks-primary)}
.ks.ks-single .ks-authorbox-bio{margin:0 0 14px;font-size:14.5px;line-height:1.7;color:var(--ks-text);text-align:left}
.ks.ks-single .ks-authorbox-cta{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:0 16px;border-radius:999px;background:linear-gradient(45deg,#F58529,#DD2A7B 55%,#8134AF);color:#fff !important;font-size:13.5px;font-weight:600;line-height:1;text-decoration:none !important;transition:filter .15s ease}
.ks.ks-single .ks-authorbox-cta:hover{filter:brightness(.93);color:#fff !important}
.ks.ks-single .ks-authorbox-cta:focus-visible{outline:2px solid #0F1B2A;outline-offset:2px}

/* ---------- sidebar sticky ---------- */
@media (min-width:1025px){
  .ks.ks-single .ks-single-grid.is-sticky .ks-single-side{position:sticky;top:100px;max-height:calc(100vh - 120px);overflow-y:auto;scrollbar-width:thin}
  .ks.ks-single .ks-single-grid.is-sticky .ks-single-side::-webkit-scrollbar{width:6px}
  .ks.ks-single .ks-single-grid.is-sticky .ks-single-side::-webkit-scrollbar-thumb{border-radius:3px;background:#D7DBE0}
}
@media (max-width:767px){
  .ks.ks-single .ks-toc{padding:18px 20px;margin-bottom:24px}
  .ks.ks-single .ks-authorbox{flex-direction:column;gap:14px;padding:20px}
  .ks.ks-single .ks-authorbox-avatar{width:64px;height:64px}
}
