/* Knowledge Centre article layout and typography. Loaded after knowledge-centre.css on article pages only. */
.kc-article-wrap{max-width:72rem;padding-top:1.5rem;padding-bottom:5rem}
.kc-article{max-width:none;margin:0}
/* overflow:hidden on the page wrapper makes it a scroll container, which stops position:sticky working. clip gives the same clipping without that side effect. */
@supports (overflow:clip){.kc-page{overflow:clip}}

/* ---------- header ---------- */
.kc-article-header{max-width:56rem;padding:1.2rem 0 1.4rem}
.kc-article-header:after{display:none}
.kc-article-header .kc-card-category{display:inline-flex;align-items:center;gap:.55rem;margin:0 0 1.1rem;padding:.42rem .85rem;border:1px solid rgba(97,208,232,.4);border-radius:99px;background:rgba(97,208,232,.08);font-size:.68rem}
.kc-article-header h1{max-width:22ch;margin:0 0 1.5rem;font-size:clamp(2.3rem,5.2vw,4.3rem);line-height:1.04;letter-spacing:-.018em}
.kc-byline{display:block;width:fit-content;max-width:100%;margin:0;padding:.6rem 1.1rem;border:1px solid var(--kc-line);border-radius:18px;background:rgba(255,255,255,.03);color:#aab4b2;font-size:.78rem;line-height:1.6}
.kc-byline time{color:var(--kc-chalk);font-weight:500}
.kc-byline a{color:var(--kc-blue)}

/* ---------- quick answer (the lead summary) ---------- */
.kc-quick-answer{position:relative;max-width:56rem;margin:1.4rem 0 2.2rem;padding:1.5rem 1.7rem 1.55rem 2rem;border:1px solid rgba(97,208,232,.38);border-radius:12px;background:radial-gradient(120% 150% at 0 0,rgba(97,208,232,.18),transparent 60%),linear-gradient(135deg,#102329,#0b141a);box-shadow:0 22px 44px -28px rgba(97,208,232,.5)}
.kc-quick-answer:before{position:absolute;left:0;top:1.3rem;bottom:1.3rem;width:4px;border-radius:0 4px 4px 0;background:linear-gradient(var(--kc-blue),var(--kc-copper));content:""}
.kc-quick-answer .kc-eyebrow{margin:0 0 .6rem;font-size:.68rem}
.kc-quick-answer p:last-child{color:#f3f6f2;font-size:clamp(1.1rem,1.7vw,1.3rem);line-height:1.65}

/* ---------- feature image ---------- */
.kc-feature-image{width:100%;max-width:56rem;margin:0 0 2.4rem;border:0;border-radius:12px;overflow:hidden;background:#111b20;box-shadow:0 28px 60px -32px rgba(0,0,0,.9)}
.kc-feature-image img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1200/630;object-fit:cover}

/* ---------- author card ---------- */
.kc-author-note{max-width:56rem;margin:0 0 2.8rem;padding:1.05rem 1.3rem;border:1px solid var(--kc-line);border-radius:12px;background:rgba(255,255,255,.025);color:#aab4b2;font-size:.85rem;line-height:1.7}
.kc-author-note strong{display:block;margin:0 0 .3rem;color:var(--kc-copper);font:600 .7rem 'Oswald',sans-serif;letter-spacing:.17em;text-transform:uppercase}
.kc-author-note a{color:var(--kc-blue);text-underline-offset:3px}

/* ---------- two column body: prose + sticky rail ---------- */
.kc-article-body{display:grid;grid-template-columns:minmax(0,44rem) 17rem;justify-content:space-between;align-items:start;gap:4rem}
.kc-prose{max-width:none;color:#d3dad8;font-size:1.0625rem;line-height:1.85;counter-reset:kc-sec}
.kc-prose section{margin:0;padding:2.7rem 0 .5rem;border-top:1px solid var(--kc-line);counter-increment:kc-sec;scroll-margin-top:7.5rem}
.kc-prose section:first-child{padding-top:0;border-top:0}
.kc-prose p{margin:0 0 1.15rem}
.kc-prose section:first-child>p:first-of-type{color:#f3f6f2;font-size:1.22rem;line-height:1.75}

/* ---------- headings: numbered sections with an accent rule ---------- */
.kc-prose h2{margin:0 0 1.2rem;color:#fff;font:500 clamp(1.7rem,3vw,2.25rem)/1.2 'Oswald',system-ui,sans-serif;letter-spacing:.012em;text-transform:uppercase}
.kc-prose h2:before{content:counter(kc-sec,decimal-leading-zero);display:block;margin-bottom:.65rem;color:var(--kc-copper);font:600 .8rem 'Oswald',sans-serif;letter-spacing:.3em}
.kc-prose h2:after{content:"";display:block;width:3.4rem;height:3px;margin-top:.95rem;border-radius:2px;background:linear-gradient(90deg,var(--kc-blue),rgba(97,208,232,0))}

/* ---------- inline emphasis ---------- */
.kc-prose strong{padding:0 .14em;margin:0 -.14em;color:#fff;font-weight:600;background:linear-gradient(transparent 58%,rgba(97,208,232,.3) 58%);-webkit-box-decoration-break:clone;box-decoration-break:clone}
.kc-prose em{color:#eef3ee}
.kc-prose a{color:var(--kc-blue);text-decoration:underline;text-decoration-thickness:1px;text-decoration-color:rgba(97,208,232,.45);text-underline-offset:4px;transition:color .15s,text-decoration-color .15s}
.kc-prose a:hover{color:#fff;text-decoration-color:var(--kc-blue)}

/* ---------- lists ---------- */
.kc-prose ul,.kc-prose ol{margin:1.2rem 0 1.6rem;padding:0;list-style:none;counter-reset:kc-li}
.kc-prose li{position:relative;margin:.5rem 0;padding:.1rem 0 .1rem 2.2rem;counter-increment:kc-li}
.kc-prose ul>li:before{position:absolute;left:.4rem;top:.82rem;width:.5rem;height:.5rem;background:var(--kc-blue);transform:rotate(45deg);content:""}
.kc-prose ol>li:before{position:absolute;left:0;top:.28rem;display:grid;place-items:center;width:1.55rem;height:1.55rem;border:1px solid var(--kc-copper);border-radius:50%;color:var(--kc-copper);font:600 .72rem 'Oswald',sans-serif;content:counter(kc-li)}

/* ---------- disclaimer note ---------- */
.kc-note{margin:2.9rem 0 0;padding:1.2rem 1.4rem;border:1px solid rgba(227,156,114,.35);border-radius:12px;background:rgba(227,156,114,.06);color:#cdbfb3;font-size:.9rem;line-height:1.75}
.kc-note strong{display:block;margin:0 0 .35rem;padding:0;background:none;color:var(--kc-copper);font:600 .72rem 'Oswald',sans-serif;letter-spacing:.17em;text-transform:uppercase}
.kc-note p{margin:0}

/* ---------- sticky rail: contents + quote card ---------- */
.kc-rail{position:sticky;top:7.5rem;display:grid;gap:1.2rem}
.kc-toc{padding:1.25rem 1.3rem;border:1px solid var(--kc-line);border-radius:12px;background:var(--kc-panel)}
.kc-toc-title{margin:0 0 .8rem;color:var(--kc-muted);font:600 .68rem 'Oswald',sans-serif;letter-spacing:.22em;text-transform:uppercase}
.kc-toc ol{margin:0;padding:0;list-style:none;counter-reset:kc-toc}
.kc-toc li{margin:0;counter-increment:kc-toc}
.kc-toc a{display:grid;grid-template-columns:1.9rem 1fr;gap:.25rem;margin:0 -.5rem;padding:.55rem .5rem;border-left:2px solid transparent;border-radius:0 6px 6px 0;color:#b9c3c1;font-size:.86rem;line-height:1.4;text-decoration:none;transition:color .15s,background .15s,border-color .15s}
.kc-toc a:before{padding-top:.12rem;color:var(--kc-copper);font:600 .72rem 'Oswald',sans-serif;letter-spacing:.1em;content:counter(kc-toc,decimal-leading-zero)}
.kc-toc a:hover,.kc-toc a.is-active{border-left-color:var(--kc-blue);background:rgba(97,208,232,.07);color:#fff}
.kc-rail-cta{padding:1.35rem 1.3rem 1.4rem;border-radius:12px;background:linear-gradient(145deg,var(--kc-blue),#2a93b4);color:#04161c}
.kc-rail-cta strong{display:block;font:500 1.3rem/1.15 'Oswald',sans-serif;letter-spacing:.01em;text-transform:uppercase}
.kc-rail-cta p{margin:.55rem 0 1rem;color:#06303c;font-size:.84rem;line-height:1.6}
.kc-rail-cta a{display:inline-flex;align-items:center;gap:.5rem;padding:.7rem 1rem;border-radius:6px;background:#04161c;color:#fff;font:600 .72rem 'Oswald',sans-serif;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:background .15s,color .15s}
.kc-rail-cta a:hover{background:#fff;color:#04161c}

/* ---------- previous / next ---------- */
.kc-article-nav{margin-top:3.6rem;padding-top:2.2rem}
.kc-article-nav h2{font-size:clamp(1.4rem,2.4vw,1.85rem)}
.kc-article-nav-list a{gap:.5rem;padding:1.25rem 1.35rem;border-radius:12px;background:linear-gradient(145deg,#111a1e,#0c1215);transition:border-color .2s,transform .2s}
.kc-article-nav-list a:hover{border-color:var(--kc-blue);transform:translateY(-2px)}

/* ---------- share ---------- */
.kc-share{margin-top:2.6rem;padding-top:1.6rem}
.kc-share h2{font-size:1.1rem;letter-spacing:.08em}
.kc-share-actions a,.kc-share-actions button{padding:.6rem 1.05rem;border-radius:99px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.kc-share-actions a:hover,.kc-share-actions button:hover{background:rgba(97,208,232,.08)}

/* ---------- closing call to action ---------- */
.kc-article-cta{position:relative;overflow:hidden;margin-top:3.6rem;padding:clamp(1.8rem,4vw,3.1rem);border:0;border-radius:16px;background:linear-gradient(120deg,var(--kc-blue) 0%,#3aa9c9 55%,#2a8bb0 100%);color:#04161c}
.kc-article-cta:before{position:absolute;inset:0;opacity:.16;background-image:linear-gradient(rgba(0,0,0,.55) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.55) 1px,transparent 1px);background-size:36px 36px;-webkit-mask-image:linear-gradient(90deg,transparent,#000);mask-image:linear-gradient(90deg,transparent,#000);pointer-events:none;content:""}
.kc-article-cta>*{position:relative}
.kc-article-cta h2{max-width:20ch;margin:0;color:#04161c;font:500 clamp(1.7rem,3.4vw,2.7rem)/1.1 'Oswald',sans-serif;text-transform:uppercase}
.kc-article-cta p{max-width:34rem;margin:.85rem 0 0;color:#06303c;font-size:1rem;line-height:1.7}
.kc-article-cta .kc-button{margin-top:1.5rem;background:#04161c;color:#fff}
.kc-article-cta .kc-button:hover{background:#fff;color:#04161c}

/* ---------- reading progress (browsers with scroll-driven animations) ---------- */
@supports (animation-timeline:scroll()){
  .kc-article-wrap:before{position:fixed;z-index:60;top:4rem;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--kc-blue),var(--kc-copper));transform:scaleX(0);transform-origin:0 50%;animation:kc-progress linear both;animation-timeline:scroll(root block);pointer-events:none;content:""}
  @media(min-width:768px){.kc-article-wrap:before{top:6rem}}
  @keyframes kc-progress{to{transform:scaleX(1)}}
}

/* ---------- responsive ---------- */
@media(max-width:1020px){
  .kc-article-body{grid-template-columns:minmax(0,1fr);gap:2rem}
  .kc-rail{position:static;order:-1}
  .kc-rail-cta{display:none}
}
@media(max-width:640px){
  .kc-article-header h1{font-size:2.3rem}
  .kc-quick-answer{padding:1.25rem 1.2rem 1.3rem 1.5rem}
  .kc-prose{font-size:1.02rem}
  .kc-prose h2{font-size:1.6rem}
  .kc-prose section:first-child>p:first-of-type{font-size:1.1rem}
  .kc-article-cta{padding:1.7rem 1.3rem}
}
@media(prefers-reduced-motion:reduce){.kc-article-wrap:before{display:none}}
