/* Content Engine article theme. Colors come from inline --ce-* vars on .ce-article. */
.ce-article{
	--ce-primary:#1c244b; --ce-accent:#e67e22; --ce-ink:#1c244b;
	--ce-bg:#ffffff; --ce-soft:#f5f7fb; --ce-muted:#5b6270;
	color:var(--ce-ink);
	font-size:1.06rem; line-height:1.7;
	max-width:820px; margin-inline:auto;
}
.ce-article :where(h2,h3,h4){color:var(--ce-primary);line-height:1.25;}
.ce-article h2{font-size:1.6rem;margin:2em 0 .6em;padding-top:.2em;}
.ce-article h3{font-size:1.28rem;margin:1.6em 0 .5em;}
.ce-article h4{font-size:1.08rem;margin:1.2em 0 .4em;}
.ce-article p{margin:0 0 1.1em;}
.ce-article a{color:var(--ce-accent);text-underline-offset:2px;}
.ce-article ul,.ce-article ol{margin:0 0 1.2em 1.3em;}
.ce-article li{margin:.35em 0;}

/* Lead / standfirst */
.ce-lead{border-left:4px solid var(--ce-accent);padding:.2em 0 .2em 1em;margin:0 0 1.8em;}
.ce-lead .ce-deck{font-size:1.28rem;line-height:1.45;color:var(--ce-ink);font-weight:500;margin:0 0 .35em;}
.ce-lead .ce-metaline{font-size:.85rem;letter-spacing:.03em;text-transform:uppercase;color:var(--ce-muted);margin:0;}

/* Key-fact panel */
.ce-article .ce-key{background:var(--ce-soft);border:1px solid color-mix(in srgb,var(--ce-primary) 14%,transparent);
	border-radius:12px;padding:16px 20px;margin:1.6em 0;}
.ce-article .ce-key h4{margin-top:0;color:var(--ce-primary);}
.ce-article .ce-key p:last-child{margin-bottom:0;}

/* Tables */
.ce-article .ce-table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:.98rem;overflow:hidden;border-radius:10px;}
.ce-article .ce-table th,.ce-article .ce-table td{padding:11px 14px;text-align:left;border-bottom:1px solid #e7e9ee;}
.ce-article .ce-table thead th{background:var(--ce-primary);color:#fff;font-weight:600;}
.ce-article .ce-table tbody tr:nth-child(even){background:var(--ce-soft);}

/* Count-up stat */
.ce-article .ce-countup{color:var(--ce-accent);font-weight:800;font-variant-numeric:tabular-nums;}

/* Bar chart */
.ce-article .ce-bars{display:flex;flex-direction:column;gap:12px;margin:1.6em 0;}
.ce-article .ce-bar{position:relative;background:var(--ce-soft);border-radius:8px;overflow:hidden;height:38px;display:flex;align-items:center;}
.ce-article .ce-bar::before{content:"";position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--ce-primary),var(--ce-accent));transition:width 1.1s cubic-bezier(.22,1,.36,1);}
.ce-article .ce-bar.in::before{width:calc(var(--v,50)*1%);}
.ce-article .ce-bar-label{position:relative;z-index:1;padding-left:12px;font-weight:600;color:#fff;mix-blend-mode:difference;}
.ce-article .ce-bar-val{position:relative;z-index:1;margin-left:auto;padding-right:12px;font-weight:700;color:var(--ce-ink);}

/* Timeline */
.ce-article .ce-timeline{list-style:none;margin:1.6em 0;padding:0;position:relative;}
.ce-article .ce-timeline::before{content:"";position:absolute;left:15px;top:6px;bottom:6px;width:2px;background:color-mix(in srgb,var(--ce-primary) 25%,transparent);}
.ce-article .ce-timeline li{position:relative;padding:0 0 1.3em 46px;counter-increment:cestep;}
.ce-article .ce-timeline li::before{content:counter(cestep);position:absolute;left:0;top:0;width:32px;height:32px;border-radius:50%;background:var(--ce-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;}
.ce-article .ce-timeline{counter-reset:cestep;}
.ce-article .ce-timeline h4{margin:.1em 0 .3em;}
.ce-article .ce-timeline p{margin:0;color:var(--ce-muted);}

/* SVG figures */
.ce-article figure{margin:1.6em 0;text-align:center;}
.ce-article figure svg{max-width:100%;height:auto;color:var(--ce-primary);}
.ce-article figcaption{font-size:.85rem;color:var(--ce-muted);margin-top:.5em;}

/* FAQ */
.ce-faq{margin:2.2em 0 1em;}
.ce-faq h2{margin-bottom:.4em;}
.ce-faq-item{border:1px solid #e7e9ee;border-radius:10px;margin:.6em 0;padding:0 16px;background:#fff;}
.ce-faq-item summary{cursor:pointer;font-weight:600;padding:14px 0;color:var(--ce-primary);list-style:none;position:relative;padding-right:28px;}
.ce-faq-item summary::-webkit-details-marker{display:none;}
.ce-faq-item summary::after{content:"+";position:absolute;right:2px;top:12px;font-size:1.3rem;color:var(--ce-accent);}
.ce-faq-item[open] summary::after{content:"–";}
.ce-faq-a{padding:0 0 14px;color:var(--ce-ink);}

/* CTA */
.ce-cta{background:var(--ce-primary);color:#fff;border-radius:16px;padding:26px 28px;margin:2.4em 0;}
.ce-cta h3{color:#fff;margin:0 0 .4em;font-size:1.35rem;}
.ce-cta p{margin:0 0 1.1em;opacity:.92;}
.ce-cta-btn{display:inline-block;background:var(--ce-accent);color:#fff;font-weight:700;text-decoration:none;padding:13px 26px;border-radius:10px;transition:transform .15s ease,filter .15s ease;}
.ce-cta-btn:hover{transform:translateY(-1px);filter:brightness(1.06);color:#fff;}

/* Sources */
.ce-sources{margin:2em 0 1em;font-size:.95rem;}
.ce-sources h2{font-size:1.15rem;}
.ce-sources ol{margin-left:1.2em;color:var(--ce-muted);}
.ce-sources a{word-break:break-word;}

@media(max-width:600px){
	.ce-article{font-size:1rem;}
	.ce-article h2{font-size:1.4rem;}
	.ce-cta{padding:20px;}
}
