.ccn-editorial{max-width:900px;padding-top:3rem;padding-bottom:4rem}
.ccn-article-heading{margin-bottom:2rem;border-bottom:1px solid #dce5df;padding-bottom:1.5rem}
.ccn-article-heading h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;max-width:24ch}
.ccn-editorial-article p,.ccn-editorial-article li{font-size:1.0625rem;line-height:1.8}
.ccn-article-body h2{margin-top:2.3rem;font-size:1.6rem;line-height:1.35}
.ccn-article-body a,.ccn-author-profile a{text-decoration:underline;text-underline-offset:.18em}
.ccn-article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.5rem 0}
.ccn-article-body table.ccn-comparison{display:table;table-layout:fixed;width:100%;overflow-wrap:anywhere}
.ccn-article-body caption{text-align:left;font-weight:700;padding:.7rem 0}
.ccn-article-body td,.ccn-article-body th{padding:.9rem;border:1px solid #dce5df;vertical-align:top;text-align:left;min-width:10rem;line-height:1.6}
.ccn-article-body thead{background:#e7f1eb}.ccn-article-body tbody th{font-weight:600}
.ccn-author-profile{margin-top:2rem;padding:1.4rem;border:1px solid #dce5df;border-radius:1rem;background:#edf5ef}
.ccn-author-profile h2{font-size:1.25rem}.ccn-draft-note{background:#edf5ef;padding:.5rem .8rem;border-radius:.4rem}
.ccn-author-profile{display:flex;align-items:flex-start;gap:1.25rem}.ccn-author-profile .ccn-author-portrait{width:96px;height:96px;flex:0 0 96px;border-radius:50%;object-fit:cover}.ccn-author-profile p{margin-block:.75rem}.ccn-author-profile>div{min-width:0}
@media(max-width:480px){.ccn-author-profile{display:block}.ccn-author-profile .ccn-author-portrait{margin-bottom:1rem}}
@media(max-width:600px){.ccn-editorial{padding-top:2rem}.ccn-article-body td,.ccn-article-body th{padding:.45rem;font-size:.875rem;min-width:0}}
.mobile-cta>span{max-width:46%;font-size:.75rem;line-height:1.3;white-space:normal;overflow-wrap:anywhere}

/* Article video captions: compact desktop text and readable mobile text. */
video::cue { font-size: 16px; line-height: 1.25; }
@media (max-width: 600px) {
  video::cue { font-size: 12px; }
  video { aspect-ratio: 4 / 3; object-fit: contain; background: #0f2025; }
}
