.charitable-work-page { --cw-navy:#102b52; --cw-ink:#24354b; --cw-muted:#536276; --cw-accent:#a71953; --cw-line:#dbe1e7; color:var(--cw-ink); }
.charitable-work-page main { overflow-wrap:anywhere; }
.charitable-work-page main .wrap { max-width:1200px; }
.charitable-work-page main :is(h1,h2,h3,p) { margin-top:0; }
.charitable-work-page main :is(h1,h2,h3) { color:var(--cw-navy); line-height:1.18; letter-spacing:-.025em; }
.charitable-work-page main h2 { font-size:clamp(1.8rem,2.8vw,2.5rem); }
.charitable-work-page main h3 { font-size:1.3rem; }
.charitable-work-page main p { line-height:1.75; }
.charitable-work-page main a { text-underline-offset:.2em; }
.charitable-work-page main :is(a,summary):focus-visible { outline:3px solid #ffdd00; outline-offset:4px; }
.charitable-work-page main [id] { scroll-margin-top:calc(var(--anchor-offset,140px) + 1rem); }
.cw-hero { position:relative; isolation:isolate; background:#0b203b; color:#fff; overflow:hidden; }
.cw-hero-image { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center 46%; z-index:-2; }
.cw-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,rgba(7,25,48,.97) 0%,rgba(7,25,48,.94) 31%,rgba(7,25,48,.72) 49%,rgba(7,25,48,.05) 78%); }
.cw-hero-inner { padding-block:1.4rem 3.5rem; }
.cw-breadcrumb { display:flex; align-items:center; gap:.7rem; font-size:.8rem; margin-bottom:1.5rem; }
.cw-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; color:#fff; }
.cw-eyebrow { font-size:.75rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; color:var(--cw-accent); margin-bottom:1rem; }
.cw-hero .cw-eyebrow { color:#f8c7d9; }
.charitable-work-page .cw-hero h1 { color:#fff; font-size:clamp(2.4rem,4vw,3.6rem); max-width:620px; margin-bottom:1.2rem; }
.cw-hero-lead { font-size:clamp(1.25rem,2vw,1.6rem); line-height:1.5!important; font-weight:550; margin-bottom:1rem; }
.cw-hero-copy { max-width:460px; font-size:1rem; color:#e7edf4; margin-bottom:1.5rem; }
.cw-button { display:inline-flex; align-items:center; justify-content:space-between; gap:1.8rem; min-height:48px; padding:.8rem 1.25rem; font-weight:700; text-decoration:none; border-radius:5px; transition:background .18s ease,transform .18s ease; }
.cw-button-light { background:#fff; color:var(--cw-navy); }
.cw-button-light:hover { background:#f8dfeb; transform:translateY(-2px); }
.cw-image-note { position:absolute; bottom:.8rem; right:1.2rem; font-size:.65rem; color:#fff; background:#14253bcc; padding:.2rem .4rem; }
.cw-status { background:#f5f2eb; border-bottom:1px solid #e5dfd3; }
.cw-status>.wrap { display:grid; grid-template-columns:240px minmax(0,1fr) 200px; gap:2rem; align-items:center; padding-block:1.5rem; }
.cw-status strong { color:var(--cw-navy); line-height:1.5; }
.cw-status p { font-size:.85rem; margin:0; }
.cw-status a { color:var(--cw-navy); font-size:.85rem; font-weight:650; min-height:44px; display:flex; align-items:center; gap:.5rem; }
.cw-page-nav { display:flex; flex-wrap:wrap; gap:0 1.6rem; padding-block:1rem; border-bottom:1px solid var(--cw-line); }
.cw-page-nav a { min-height:44px; display:inline-flex; align-items:center; font-size:.82rem; font-weight:650; color:var(--cw-navy); }
.cw-section { display:grid; grid-template-columns:300px minmax(0,1fr); gap:5rem; padding-block:4.5rem; }
.cw-section>div:first-child { align-self:start; }
.cw-prose { min-width:0; max-width:790px; }
.cw-prose p { margin-bottom:1.1rem; }
.cw-prose a,.cw-inline-link { color:var(--cw-navy); font-weight:600; }
.cw-prose h3:not(:first-child) { margin-top:2rem; }
.cw-lead { font-size:1.23rem; color:var(--cw-navy); }
.cw-section-deck { color:var(--cw-muted); }
.cw-inline-link { display:inline-flex; min-height:44px; align-items:center; gap:1rem; }
.cw-work { background:#f5f7f9; padding-block:4rem; }
.cw-section-heading { max-width:760px; margin-bottom:2rem; }
.cw-section-heading h2 { margin-bottom:1rem; }
.cw-section-heading>p:last-child { font-size:1.05rem; color:var(--cw-muted); }
.cw-programme { display:grid; grid-template-columns:56px minmax(0,1fr) 260px; gap:2rem; padding-block:2.25rem; border-top:1px solid #cbd4de; }
.cw-programme:last-child { padding-bottom:0; }
.cw-number { font-size:1.45rem; color:var(--cw-accent); font-weight:650; }
.cw-programme h3 { margin-bottom:1rem; }
.cw-programme p { margin-bottom:.9rem; }
.cw-programme .cw-benefit { margin-bottom:0; color:var(--cw-muted); font-size:.9rem; }
.cw-programme-links { display:flex; flex-direction:column; align-items:stretch; }
.cw-programme-links>span { font-size:.78rem; line-height:1.7; color:var(--cw-muted); margin-bottom:1rem; }
.cw-programme-links a { min-height:44px; display:flex; gap:.7rem; justify-content:space-between; align-items:center; color:var(--cw-navy); border-bottom:1px solid var(--cw-line); padding:.65rem 0; text-decoration:none; font-weight:650; font-size:.85rem; transition:color .18s ease,padding .18s ease; }
.cw-programme-links a:hover { color:var(--cw-accent); padding-left:.25rem; }
.cw-small { font-size:.82rem; }
.cw-evidence { background:var(--cw-navy); color:#f2f5fa; padding-block:4rem; }
.cw-evidence .cw-eyebrow { color:#f5bdd2; }
.charitable-work-page .cw-evidence h2 { color:#fff; }
.cw-evidence .cw-section-heading>p:last-child { color:#d5dfea; }
.cw-metrics { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3rem; margin:2.4rem 0 1.5rem; }
.cw-metrics>div { border-top:1px solid #70829a; padding-top:1.1rem; display:flex; flex-direction:column; }
.cw-metrics dt { font-size:.9rem; }
.cw-metrics dd { font-size:clamp(2rem,3.6vw,3.4rem); line-height:1.3; margin:.5rem 0; font-weight:700; letter-spacing:-.025em; }
.cw-metrics .cw-metric-note { font-size:.8rem; color:#d5dfea; margin:0; font-weight:400; line-height:1.75; letter-spacing:0; }
.cw-evidence-footer { display:flex; justify-content:space-between; align-items:center; gap:3rem; border-top:1px solid #70829a; padding-top:1.5rem; margin-top:1.5rem; }
.cw-evidence-footer p { flex:1; max-width:750px; font-size:.87rem; margin:0; }
.cw-evidence-footer a { flex-shrink:0; }
.cw-policy-list { margin-block:1.6rem; }
.cw-policy-list a { display:grid; grid-template-columns:1fr auto; gap:.3rem 1.5rem; border-top:1px solid var(--cw-line); padding:1.1rem 0; text-decoration:none; min-height:60px; }
.cw-policy-list a:last-child { border-bottom:1px solid var(--cw-line); }
.cw-policy-list span { grid-column:1; font-size:.88rem; font-weight:400; color:var(--cw-muted); line-height:1.6; }
.cw-policy-list b { grid-column:2; grid-row:1/3; align-self:center; color:var(--cw-accent); }
.cw-policy-list a:hover strong { text-decoration:underline; text-underline-offset:.2em; }
.cw-funding { background:#f5f2eb; }
.cw-partner { margin-top:2rem; padding-top:2rem; border-top:1px solid #d9d2c6; display:grid; grid-template-columns:190px minmax(0,1fr); gap:2rem; }
.cw-partner-logo { align-self:start; padding:1rem; background:#fff; border-radius:4px; }
.cw-partner-logo img { display:block; width:100%; max-width:240px; height:auto; object-fit:contain; }
.cw-partner p { font-size:.88rem; }
.cw-partner a { display:inline-flex; min-height:44px; align-items:center; gap:.8rem; font-size:.88rem; }
.cw-next { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:4rem; padding-block:4rem; }
.cw-next h2 { font-size:clamp(1.6rem,2.5vw,2.2rem)!important; margin-bottom:0; }
.cw-next-links { display:grid; }
.cw-next-links a { display:flex; justify-content:space-between; gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--cw-line); min-height:48px; color:var(--cw-navy); font-weight:650; text-decoration:none; }
.cw-next-links a:hover { color:var(--cw-accent); }
.cw-updated { font-size:.75rem; color:var(--cw-muted); padding-bottom:2rem; }
@media(min-width:1001px) { .cw-section>div:first-child { position:sticky; top:calc(var(--anchor-offset,140px) + 1rem); } }
@media(max-width:1000px) {
  .cw-section { grid-template-columns:240px minmax(0,1fr); gap:2rem; }
  .cw-status>.wrap { grid-template-columns:1fr 2fr; gap:1rem 2rem; }
  .cw-status a { grid-column:2; }
  .cw-programme { grid-template-columns:40px minmax(0,1fr) 210px; gap:1.25rem; }
  .cw-partner { grid-template-columns:1fr; gap:1.2rem; }
  .cw-partner-logo { width:190px; }
  .cw-evidence-footer { flex-direction:column; align-items:flex-start; gap:1.5rem; }
}
@media(max-width:700px) {
  .charitable-work-page .nav-row { flex-wrap:wrap; }
  .charitable-work-page .header-actions { max-width:100%; flex-wrap:wrap; justify-content:flex-end; }
  .cw-hero-image { object-position:70% center; opacity:.43; }
  .cw-hero::before { background:linear-gradient(90deg,rgba(7,25,48,.9),rgba(7,25,48,.57)); }
  .cw-hero-inner { padding-block:.5rem 2.5rem; }
  .cw-breadcrumb { margin-bottom:.6rem; }
  .charitable-work-page .cw-hero h1 { font-size:clamp(2rem,calc(1.5rem + 3vw),2.8rem); }
  .cw-hero-lead { font-size:1.25rem; }
  .cw-status>.wrap,.cw-section,.cw-next { display:block; }
  .cw-status>.wrap { padding-block:1.3rem; }
  .cw-status p { margin-top:.65rem; }
  .cw-status a { margin-top:.5rem; }
  .cw-page-nav { display:grid; grid-template-columns:1fr 1fr; gap:0 1rem; }
  .cw-page-nav a { font-size:.8rem; line-height:1.4; padding:.5rem 0; }
  .cw-section,.cw-work,.cw-evidence,.cw-next { padding-block:2.5rem; }
  .cw-section>div:first-child { margin-bottom:1.5rem; }
  .cw-section h2 { max-width:20ch; }
  .cw-programme { grid-template-columns:30px minmax(0,1fr); gap:1rem; padding-block:1.8rem; }
  .cw-number { font-size:1.2rem; }
  .cw-programme-links { grid-column:2; }
  .cw-programme-links>span { margin-bottom:.4rem; }
  .cw-metrics { grid-template-columns:1fr; gap:1.2rem; }
  .cw-metrics dd { font-size:2.5rem; }
  .cw-next-links { margin-top:1.5rem; }
  .cw-lead { font-size:1.1rem; }
}
@media(prefers-reduced-motion:reduce) { .charitable-work-page *, .charitable-work-page *::before { scroll-behavior:auto!important; transition:none!important; animation:none!important; } }
@media print {
  .charitable-work-page :is(.site-header,.topbar,.impact-ticker,.site-footer,.one-pound-campaign,.emma-widget,.cw-page-nav,.cw-next,.cw-hero-image,.cw-image-note) { display:none!important; }
  .cw-hero,.cw-evidence,.cw-funding,.cw-status,.cw-work { color:#000!important; background:#fff!important; }
  .cw-hero::before { display:none; }
  .charitable-work-page main :is(h1,h2,h3,p,a,.cw-eyebrow) { color:#000!important; }
  .cw-section,.cw-programme,.cw-partner { display:block; padding-block:1rem; }
  .cw-section>div:first-child { position:static; }
  .cw-programme,.cw-policy-list a { break-inside:avoid; }
  .cw-hero-inner { padding-block:1rem; }
}
