.cs-topic { --cerli:#01a46c; --green:#087c53; --ink:#25392f; --muted:#536259; --line:#d9e3d6; --paper:#f4f7f1; --page-top:28px; --page-bottom:36px; color:var(--ink); font:16px/1.65 'Campaign Inter',system-ui,sans-serif; overflow-wrap:break-word; }
.cs-topic,.cs-topic * { box-sizing:border-box; }
.cs-topic h1,.cs-topic h2,.cs-topic h3,.cs-topic p,.cs-topic figure { margin:0; }
.cs-topic a { color:var(--green); text-underline-offset:4px; }
.cs-topic a:hover { color:#064f35; }
.cs-topic a:focus-visible,.cs-topic summary:focus-visible { outline:3px solid #075c3e; outline-offset:4px; }
.cs-topic .back-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:14px; font-weight:550; text-decoration:none; }
.cs-topic .back-link:hover { text-decoration:underline; }
.cs-topic .topic-intro { display:flex; align-items:center; justify-content:space-between; gap:28px; margin-top:17px; }
.cs-topic .topic-intro>div { min-width:0; max-width:735px; }
.cs-topic h1 { font-size:clamp(34px,4.8cqw,48px); line-height:1.13; letter-spacing:-.045em; font-weight:650; text-wrap:balance; }
.cs-topic .lead { margin-top:18px; color:var(--muted); font-size:17px; line-height:1.7; max-width:740px; }
.cs-topic .help-button { display:inline-flex; flex-shrink:0; align-items:center; justify-content:center; min-height:52px; padding:12px 20px; border-radius:10px; color:#fff; background:var(--cerli); font-size:19px; line-height:1.4; font-weight:700; text-decoration:none; text-align:center; }
.cs-topic .help-button:hover { background:#008958; color:#fff; }
.cs-topic .jump-nav { display:flex; align-items:center; flex-wrap:wrap; gap:0 24px; margin:26px 0 28px; padding:10px 0; border-block:1px solid var(--line); font-size:13px; }
.cs-topic .jump-nav>span { color:var(--muted); }
.cs-topic .jump-nav a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; }
.cs-topic section,.cs-topic aside { scroll-margin-top:24px; }
.cs-topic h2 { font-size:25px; line-height:1.3; font-weight:620; letter-spacing:-.025em; }
.cs-topic .topic-context { display:grid; grid-template-columns:minmax(180px,.75fr) minmax(0,1.4fr); align-items:start; gap:35px; padding:29px 30px 31px; border:1px solid #e5ece1; border-radius:20px; background:var(--paper); }
.cs-topic .topic-guide { align-self:center; min-width:0; }
.cs-topic .topic-guide img { display:block; width:100%; max-width:255px; height:auto; aspect-ratio:1; object-fit:contain; margin:0 auto; }
.cs-topic .topic-guide figcaption { max-width:250px; margin:15px auto 0; color:var(--green); font-size:15px; font-weight:600; line-height:1.6; }
.cs-topic .context-intro { margin-top:12px; color:var(--muted); font-size:14px; }
.cs-topic .signal-list { margin:4px 0 0; padding:0; list-style:none; }
.cs-topic .signal-list li { padding-top:17px; }
.cs-topic .signal-list li+li { margin-top:17px; border-top:1px solid var(--line); }
.cs-topic .signal-list h3 { font-size:16px; line-height:1.45; font-weight:650; }
.cs-topic .signal-list p { margin-top:5px; color:var(--muted); font-size:14px; line-height:1.7; }
.cs-topic .action-section { margin-top:37px; }
.cs-topic .action-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; counter-reset:action; list-style:none; padding:0; margin:23px 0 0; }
.cs-topic .action-steps li { position:relative; padding-top:40px; counter-increment:action; }
.cs-topic .action-steps li::before { content:counter(action,decimal-leading-zero); position:absolute; top:0; left:0; color:var(--green); font-size:22px; line-height:1.3; font-weight:600; }
.cs-topic .action-steps h3 { font-size:16px; line-height:1.45; font-weight:650; }
.cs-topic .action-steps p { margin-top:9px; color:var(--muted); font-size:14px; line-height:1.7; }
.cs-topic .action-links { display:flex; flex-wrap:wrap; align-items:center; gap:10px 25px; margin-top:24px; }
.cs-topic .inline-link { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:14px; font-weight:600; }
.cs-topic .support-note { margin-top:34px; padding:21px 24px; border-left:3px solid var(--cerli); background:#f3f8f5; border-radius:0 12px 12px 0; }
.cs-topic .support-note h2 { font-size:19px; line-height:1.45; letter-spacing:-.015em; }
.cs-topic .support-note p { margin-top:9px; font-size:14px; color:var(--muted); }
.cs-topic .support-note .inline-link { margin-top:8px; }
.cs-topic .country-section { display:grid; grid-template-columns:175px minmax(0,1fr); align-items:center; gap:30px; margin-top:35px; padding:24px 0; }
.cs-topic .country-section img { width:175px; max-width:100%; height:auto; }
.cs-topic .country-section p { margin-top:12px; font-size:14px; color:var(--muted); }
.cs-topic .country-section .inline-link { margin-top:5px; }
.cs-topic .country-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; padding:0; margin:18px 0 0; list-style:none; }
.cs-topic .country-links a { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:48px; padding:10px 14px; border:1px solid var(--line); border-radius:9px; text-decoration:none; font-size:14px; font-weight:600; }
.cs-topic .country-links a:hover { background:var(--paper); border-color:var(--cerli); }
.cs-topic .topic-sources { margin-top:28px; padding-top:12px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); }
.cs-topic .topic-sources summary { width:fit-content; min-height:44px; padding:11px 4px 11px 0; cursor:pointer; font-size:13px; font-weight:550; }
.cs-topic .topic-sources ul { margin:0 0 10px; padding-left:20px; }
.cs-topic .topic-sources a { display:inline-block; padding:8px 0; }
.cs-topic .topic-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; padding-top:14px; margin-top:15px; border-top:1px solid var(--line); font-size:13px; }
.cs-topic .topic-footer a { display:inline-flex; align-items:center; gap:10px; min-height:44px; }
@container campaign-content (max-width:900px) {
  .cs-topic .topic-intro { display:block; }
  .cs-topic .topic-intro>.help-button { margin-top:20px; }
  .cs-topic .topic-context { gap:26px; padding:25px; grid-template-columns:minmax(155px,.7fr) minmax(0,1.35fr); }
  .cs-topic .action-steps { gap:20px; }
}
@container campaign-content (max-width:650px) {
  .cs-topic { --page-top:18px; --page-bottom:28px; }
  .cs-topic .topic-intro { margin-top:13px; }
  .cs-topic h1 { font-size:36px; }
  .cs-topic .lead { font-size:16px; margin-top:15px; }
  .cs-topic .jump-nav { gap:0 20px; margin:23px 0; padding:8px 0; }
  .cs-topic .jump-nav>span { flex-basis:100%; font-size:12px; }
  .cs-topic .topic-context { display:block; padding:21px 20px 24px; border-radius:17px; }
  .cs-topic .topic-guide { display:flex; align-items:center; gap:17px; margin-bottom:25px; }
  .cs-topic .topic-guide img { width:120px; flex:0 0 120px; margin:0; }
  .cs-topic .topic-guide figcaption { margin:0; max-width:250px; font-size:13px; }
  .cs-topic h2 { font-size:23px; }
  .cs-topic .action-section { margin-top:29px; }
  .cs-topic .action-steps { display:block; margin-top:20px; }
  .cs-topic .action-steps li { padding:0 0 0 42px; }
  .cs-topic .action-steps li+li { margin-top:24px; }
  .cs-topic .action-steps p { margin-top:7px; }
  .cs-topic .action-links { display:block; margin-top:23px; }
  .cs-topic .action-links>.help-button { width:100%; }
  .cs-topic .action-links>.inline-link { margin-top:9px; }
  .cs-topic .support-note { margin-top:27px; padding:18px 19px; }
  .cs-topic .country-section { grid-template-columns:105px minmax(0,1fr); align-items:start; gap:18px; margin-top:27px; padding:15px 0; }
  .cs-topic .country-section img { width:105px; }
  .cs-topic .country-section h2 { font-size:21px; }
  .cs-topic .country-links { grid-template-columns:1fr; }
  .cs-topic .topic-footer { align-items:flex-start; flex-direction:column; }
}
@container campaign-content (max-width:370px) {
  .cs-topic h1 { font-size:32px; }
  .cs-topic .topic-context { padding:19px 17px 23px; }
  .cs-topic .topic-guide { gap:12px; }
  .cs-topic .topic-guide img { width:94px; flex-basis:94px; }
  .cs-topic .topic-guide figcaption { font-size:12px; }
  .cs-topic .country-section { grid-template-columns:80px minmax(0,1fr); gap:14px; }
  .cs-topic .country-section img { width:80px; }
}
@media (forced-colors:active) {
  .cs-topic .help-button { border:1px solid ButtonText; }
  .cs-topic a:focus-visible,.cs-topic summary:focus-visible { outline-color:Highlight; }
}
