/* Public knowledgebase only. Member guides retain their own layout. */
.kb-page { box-sizing:border-box; display:block; width:100%; max-width:none; margin:0; color:#2b2039; background:#fcf9ff; font:17px/1.65 'Nunito Sans',sans-serif; text-align:left; }
.kb-page *, .kb-page *::before, .kb-page *::after { box-sizing:border-box; }
.kb-page h1,.kb-page h2,.kb-page h3 { color:#2d1744; text-align:left; line-height:1.25; }
.kb-page h1,.kb-page h2 { font-family:'Nasalization','Nunito Sans',sans-serif; letter-spacing:-.025em; }
.kb-page h2 { font-size:29px; margin:0 0 20px; }
.kb-page h3 { font-family:'Nunito Sans',sans-serif; font-size:21px; margin:12px 0; }
.kb-page a { text-underline-offset:4px; }
.kb-page a:hover { text-decoration:underline; }
.kb-page :focus-visible { outline:3px solid #2978c9; outline-offset:4px; }
.kb-page .kb-kicker { margin:0 0 14px; font-size:11px; font-weight:800; letter-spacing:.13em; text-transform:uppercase; color:#7c398e; }
.kb-header { background:linear-gradient(115deg,#261a45,#48306c); color:#eee5fa; padding:45px max(24px,calc((100vw - 1120px)/2)); border-top:4px solid #f083c7; }
.kb-header h1 { color:#fff; font-size:clamp(30px,4vw,48px); margin:0 0 20px; }
.kb-header h1 span { color:#ffa1d9; }
.kb-header>p { max-width:680px; }
.kb-header .kb-kicker { color:#d9c2f1; }
.kb-search { max-width:690px; margin:25px 0 18px; }
.kb-search label { display:block; font-weight:800; font-size:14px; margin-bottom:8px; }
.kb-search>div { display:flex; gap:10px; }
.kb-search input { border:1px solid #d4bfe4; border-radius:9px; background:#fff; color:#2b2039; flex:1; min-width:0; width:100%; margin:0; padding:13px; font:16px 'Nunito Sans',sans-serif; }
.kb-search button,.kb-next-button { border:0; border-radius:9px; background:#f69ed8; color:#30193e; padding:13px 19px; font:800 15px/1.5 'Nunito Sans',sans-serif; cursor:pointer; text-align:center; }
.kb-search button:hover,.kb-next-button:hover { background:#ffb8e4; text-decoration:none !important; }
.kb-header .kb-help { font-size:12px; color:#ded0ec; margin:0; }
.kb-help a { color:#c2e7ff; text-decoration:underline; font-weight:700; }
.kb-directory { max-width:1120px; margin:auto; padding:44px 0; }
.kb-section-title { display:flex; gap:20px; justify-content:space-between; align-items:baseline; }
.kb-section-title>a { font-size:14px; font-weight:800; color:#6f3593; }
.kb-topic-grid,.kb-article-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.kb-topic,.kb-article-card { display:flex; flex-direction:column; padding:25px; border:1px solid #e2d2ed; border-radius:14px; background:#fff; color:#392946; transition:border-color .15s,box-shadow .15s; min-width:0; }
.kb-topic { border-top:4px solid #a481d1; background:#f7f1ff; }
.kb-topic:nth-child(3n+1) { border-top-color:#e781bd; }
.kb-topic:nth-child(3n+3) { border-top-color:#76bce8; }
.kb-topic:hover,.kb-article-card:hover { border-color:#af7bbd; box-shadow:0 6px 20px #3929460a; text-decoration:none !important; }
.kb-topic p,.kb-article-card p { font-size:15px; line-height:1.6; margin:0 0 20px; }
.kb-tag { font-size:11px; color:#745384; font-weight:800; }
.kb-card-link { font-weight:800; color:#693994; font-size:13px; margin-top:auto; padding-top:5px; }
.kb-topic-nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:35px; }
.kb-topic-nav a { border:1px solid #decaed; border-radius:20px; padding:7px 12px; font-size:12px; font-weight:700; background:white; }
.kb-topic-nav a[aria-current] { color:white; background:#694190; border-color:#694190; }
.kb-results-section { margin:0 0 40px; }
.kb-results-section>p { margin-top:-8px; color:#695575; }
.kb-draft { border-style:dashed; background:#f1eef4; }
.kb-editor-note,.kb-notice { background:#f4ebd6; color:#594427; padding:16px 20px; border-left:3px solid #bc9445; border-radius:0 8px 8px 0; font-size:14px; }
.kb-notice p { margin:0 0 10px; }
.kb-notice a { font-weight:800; text-decoration:underline; }
.kb-empty { min-height:280px; }
.kb-empty>a { display:inline-block; }
.kb-reading { padding:26px 20px 45px; }
.kb-article { max-width:780px; margin:auto; }
.kb-breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:12px; margin-bottom:30px; color:#764492; }
.kb-breadcrumbs a { text-decoration:underline; }
.kb-edit-link { display:inline-block; font-size:13px; margin-bottom:20px; }
.kb-article-header h1 { font-size:clamp(27px,3.3vw,41px); margin:0 0 20px; overflow-wrap:anywhere; }
.kb-standfirst { font-size:20px; color:#6e507d; margin:0 0 18px; }
.kb-date { font-size:12px; color:#75647d; margin-bottom:25px; }
.kb-article-media { display:block; width:100%; max-height:330px; object-fit:contain; background:#f0e9f6; border-radius:10px; margin:24px 0; }
video.kb-article-media { object-fit:contain; }
.kb-article-body { margin:28px 0 38px; overflow-wrap:anywhere; }
.kb-article-body .info-article { font:18px/1.8 'Nunito Sans',sans-serif; text-align:left; margin:0 0 21px; }
.kb-article-body .info-heading { display:block; font:800 25px/1.35 'Nunito Sans',sans-serif; color:#673e87; margin:26px 0 12px; }
.kb-article-body .info-list { color:#2b2039; font:18px/1.8 'Nunito Sans',sans-serif; padding-left:26px; margin:18px 0 24px; }
.kb-article-body li { padding-left:3px; margin:6px 0; }
.kb-article-body a { color:#63388f; text-decoration:underline; }
.kb-article-body img,.kb-article-body video { max-width:100%; height:auto; }
.kb-next { background:linear-gradient(120deg,#f2e5fb,#eaf4ff); border:1px solid #dac5e8; border-left:4px solid #c06aa9; border-radius:12px; padding:28px; margin:40px 0 28px; }
.kb-next h2 { font-size:27px; margin-bottom:13px; }
.kb-next>p { font-size:16px; margin:0 0 18px; }
.kb-next-actions { display:flex; align-items:center; flex-wrap:wrap; gap:16px 22px; }
.kb-next-button { display:inline-block; }
.kb-next-secondary { font-size:13px; font-weight:800 !important; color:#683b8b; text-decoration:underline; }
.kb-next .kb-next-note { font-size:12px; color:#6c5677; margin:18px 0 0; }
.kb-share { font-size:13px; color:#735981; margin:25px 0 40px; }
.kb-related { max-width:1000px; margin:40px auto 0; padding-top:32px; border-top:1px solid #e4d5ed; }
.kb-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.kb-related-grid>a { padding:20px; border:1px solid #e1d0ec; border-radius:10px; background:white; }
.kb-related-grid h3 { font-size:18px; }
.kb-related-grid p { font-size:14px; }
.kb-related-grid span { font-size:12px; font-weight:800; color:#6c3b8f; }
@media(max-width:1180px) { .kb-directory { padding:35px 24px; } }
@media(max-width:850px) { .kb-topic-grid,.kb-article-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) {
 .kb-header { padding:28px 20px; }
 .kb-header h1 { font-size:30px; }
 .kb-header>p { font-size:15px; }
 .kb-header .kb-help { font-size:12px; }
 .kb-search>div { flex-direction:column; }
 .kb-search button { align-self:flex-start; }
 .kb-directory { padding:28px 20px; }
 .kb-section-title { display:block; margin-bottom:20px; }
 .kb-topic-grid,.kb-article-grid,.kb-related-grid { grid-template-columns:1fr; }
 .kb-topic,.kb-article-card { padding:22px; }
 .kb-reading { padding:22px 18px 35px; }
 .kb-standfirst { font-size:18px; }
 .kb-article-media { max-height:220px; }
 .kb-article-body .info-article,.kb-article-body .info-list { font-size:17px; line-height:1.75; }
 .kb-article-body .info-heading { font-size:22px; }
 .kb-next { padding:22px 18px; }
 .kb-next h2 { font-size:24px; }
 .kb-next-button { max-width:100%; font-size:14px; }
 .kb-next-actions { align-items:flex-start; flex-direction:column; }
 .kb-breadcrumbs { margin-bottom:24px; }
}
@media(prefers-reduced-motion:reduce) { .kb-page * { transition:none !important; } }
