/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-400-italic-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-400-italic-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-400-italic-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-400-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-400-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-400-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-500-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-500-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-500-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* vietnamese */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-600-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-600-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Barlow';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-600-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* vietnamese */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-condensed-600-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-condensed-600-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-condensed-600-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* vietnamese */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-condensed-700-vietnamese.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}

/* latin-ext */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-condensed-700-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* latin */
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  font-display: swap;
  src: url("/fonts/barlow-condensed-700-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Roots design system: tokens, base and components. Width queries are standard media queries. */

/* tokens.css */
/* Roots design system tokens. Stage 1 approved, 30 September 2026, 30 September 2026.
   Values from the 17 September system and the approved Poster design.
   Palette values feed the roles; build with the role tokens. */
:root{
/* Palette: brand, from the logo */
--palette-forest:#2A6130;
--palette-forest-deep:#1C3F21;
--palette-leaf:#80C037;
--palette-ink:#222020;
--palette-sage:#8BA86D;
/* Palette: chosen, not from the logo */
--palette-sun:#F2C230;
--palette-sun-hover:#E0AD17;
--palette-cream:#F1EDE0;
/* Palette: surfaces and neutrals */
--palette-surface:#FBF9F3;
--palette-surface-tint:#E4EFD8;
--palette-ink-muted:#555049;
--palette-line:#D8D2C0;
--palette-border-strong:#857D6C;
--palette-white:#FFFFFF;
--palette-mist:#C9D4C3;
/* Palette: programmes, from the Poster design */
--palette-water:#1F6391;
--palette-digital:#8A6100;
--palette-environment:#2A6130;
--palette-food:#A8472A;
/* Palette: status and verify */
--palette-error:#B3261E;
--palette-error-tint:#F8E2DF;
--palette-success-tint:#DDE9F2;
--palette-verify-text:#8A1846;
--palette-verify-border:#C2487D;
--palette-verify-bg:#FBE4EE;

/* Backgrounds */
--bg-page:var(--palette-surface);
--bg-alt:var(--palette-cream);
--bg-soft:var(--palette-surface-tint);
--bg-inverse:var(--palette-forest-deep);
--bg-surface:var(--palette-surface);
--plate-cream:var(--palette-cream);
--plate-forest:var(--palette-forest);
--logo-plate:var(--palette-white);

/* Text */
--text-primary:var(--palette-ink);
--text-muted:var(--palette-ink-muted);
--text-inverse:var(--palette-surface);
--text-inverse-muted:var(--palette-mist);
--text-on-programme:var(--palette-white);
--text-figure:var(--palette-forest);
--text-figure-inverse:var(--palette-leaf);

/* Primary action */
--action-primary:var(--palette-forest);
--action-primary-hover:var(--palette-forest-deep);
--text-on-primary:var(--palette-white);
--action-disabled-bg:var(--palette-cream);
--action-disabled-text:var(--palette-ink-muted);
--action-disabled-border:var(--palette-line);

/* Giving money: the only yellow in the system */
--accent-give:var(--palette-sun);
--accent-give-hover:var(--palette-sun-hover);
--text-on-give:var(--palette-ink);
--border-give-secondary:var(--palette-ink);

/* Links, borders, focus */
--link:var(--palette-forest);
--link-hover:var(--palette-forest-deep);
--link-inverse:var(--palette-surface);
--border-hairline:var(--palette-line);
--border-control:var(--palette-border-strong);
--border-inverse:var(--palette-mist);
--focus-ring:var(--palette-water);
--focus-ring-inverse:var(--palette-sun); /* forest deep bands only */
--focus-ring-programme:var(--palette-surface);

/* Programmes: outline tag, icon or rule on the page, or full strength with white text. Never a pale wash. */
--programme-water:var(--palette-water);
--programme-digital:var(--palette-digital);
--programme-environment:var(--palette-environment);
--programme-food:var(--palette-food);
--programme-number-opacity:0.32; /* @kind other */

/* Status: always with an icon and words */
--status-success:var(--palette-water);
--status-success-bg:var(--palette-success-tint);
--status-error:var(--palette-error);
--status-error-bg:var(--palette-error-tint);

/* Decorative: never carries text */
--deco-sage:var(--palette-sage);
--deco-leaf:var(--palette-leaf);
--deco-tint:var(--palette-surface-tint);

/* Verify tag: internal editor's note, switched off per figure at build */
--verify-text:var(--palette-verify-text);
--verify-bg:var(--palette-verify-bg);
--verify-border:var(--palette-verify-border);

/* Type families */
--font-display:"Barlow Condensed","Arial Narrow",sans-serif;
--font-body:"Barlow",Arial,sans-serif;

/* Type styles, desktop 1440: size, line height, weight, tracking. Confirmed 30 September 2026. */
--type-poster-size:208px;--type-poster-lh:172px;--type-poster-weight:700;--type-poster-track:-4px;
--type-verb-size:260px;--type-verb-lh:230px;--type-verb-weight:700;--type-verb-track:-4px;
--type-programme-number-size:220px;--type-programme-number-lh:176px;--type-programme-number-weight:700;--type-programme-number-track:-4px;
--type-figure-xl-size:190px;--type-figure-xl-lh:170px;--type-figure-xl-weight:700;--type-figure-xl-track:-3px;
--type-footer-email-size:132px;--type-footer-email-lh:124px;--type-footer-email-weight:700;--type-footer-email-track:-2px;
--type-page-hero-size:120px;--type-page-hero-lh:108px;--type-page-hero-weight:700;--type-page-hero-track:-2px;
--type-statement-size:118px;--type-statement-lh:106px;--type-statement-weight:700;--type-statement-track:-2px;
--type-programme-heading-size:84px;--type-programme-heading-lh:80px;--type-programme-heading-weight:700;--type-programme-heading-track:-1px;
--type-figure-label-size:42px;--type-figure-label-lh:46px;--type-figure-label-weight:600;--type-figure-label-track:0px;
--type-h2-size:44px;--type-h2-lh:46px;--type-h2-weight:700;--type-h2-track:-0.5px;
--type-h3-size:32px;--type-h3-lh:36px;--type-h3-weight:700;--type-h3-track:0px;
--type-h4-size:24px;--type-h4-lh:28px;--type-h4-weight:600;--type-h4-track:0px;
--type-eyebrow-size:18px;--type-eyebrow-lh:22px;--type-eyebrow-weight:600;--type-eyebrow-track:1.2px;
--type-button-size:20px;--type-button-lh:20px;--type-button-weight:600;--type-button-track:0.2px;
--type-button-sm-size:17px;--type-button-sm-lh:17px;
--type-figure-grid-size:84px;--type-figure-grid-lh:80px;--type-figure-grid-weight:700;--type-figure-grid-track:-1px;
--type-donate-main-size:40px;--type-donate-main-lh:40px;--type-donate-once-size:28px;--type-donate-once-lh:28px;--donate-target-min:48px;
--type-programme-fact-size:36px;--type-programme-fact-lh:40px;
--type-standfirst-size:20px;--type-standfirst-lh:32px;--type-standfirst-weight:400;--type-standfirst-track:0px;
--type-body-size:17px;--type-body-lh:28px;--type-body-weight:400;--type-body-track:0px;
--type-emphasis-weight:600;
--type-medium-weight:500;
--type-small-size:15px;--type-small-lh:22px;--type-small-weight:400;--type-small-track:0px;
--type-caption-size:13px;--type-caption-lh:18px;--type-caption-weight:400;--type-caption-track:0.1px;

/* Line lengths */
--measure-body:68ch;
--measure-standfirst:48ch;
--measure-heading:18ch;
--text-column-max:720px;
--i18n-allowance:1.25; /* @kind other */

/* Spacing */
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;
--space-7:48px;--space-8:64px;--space-9:96px;--space-10:128px;--space-11:160px;
--section-pad-y:var(--space-10);
--section-pad-y-compact:var(--space-8);
--stack-heading:var(--space-5);
--stack-paragraph:var(--space-4);
--gap-grid:var(--space-6);

/* Radius */
--radius-none:0;
--radius-button:4px;
--radius-input:4px;
--radius-tag:2px;
--radius-card:6px;
--radius-panel:12px;
--radius-leaf:64px;
--radius-leaf-mobile:32px;

/* Borders and shadow */
--border-width-hairline:1px;
--border-width-control:2px;
--focus-ring-width:3px;
--focus-ring-offset:2px;
--shadow-card-hover:0 6px 18px rgba(34,32,32,0.12);
--shadow-header-sticky:0 1px 0 rgba(34,32,32,0.10),0 4px 12px rgba(34,32,32,0.08);

/* Layout */
--container-max:1200px;
--container-pad:32px;
--container-full:100%;
--header-height:104px;
--donate-bar-height:96px;
--target-min:44px;
--bp-tablet:1024px;
--bp-mobile:767px;
--z-header:100; /* @kind other */
--z-donate-bar:90; /* @kind other */
--z-overlay:200; /* @kind other */

/* Motion: colour, border and shadow only */
--motion-fast:120ms; /* @kind other */
--motion-base:180ms; /* @kind other */
--ease-standard:cubic-bezier(0.2,0,0,1); /* @kind other */

/* Photo crops */
--ratio-hero:4/3; /* @kind other */
--ratio-poster:3/4; /* @kind other */
--ratio-card:16/9; /* @kind other */
--ratio-person:1/1; /* @kind other */
}

/* 1024px tablet. Confirmed 30 September 2026. */
@media (max-width:1024px){:root{
--type-poster-size:140px;--type-poster-lh:118px;--type-poster-track:-3px;
--type-verb-size:170px;--type-verb-lh:152px;--type-verb-track:-3px;
--type-programme-number-size:160px;--type-programme-number-lh:130px;--type-programme-number-track:-3px;
--type-figure-xl-size:130px;--type-figure-xl-lh:116px;--type-figure-xl-track:-2px;
--type-footer-email-size:88px;--type-footer-email-lh:84px;--type-footer-email-track:-1.5px;
--type-page-hero-size:88px;--type-page-hero-lh:80px;--type-page-hero-track:-1.5px;
--type-statement-size:84px;--type-statement-lh:76px;--type-statement-track:-1.5px;
--type-programme-heading-size:64px;--type-programme-heading-lh:62px;
--type-figure-label-size:34px;--type-figure-label-lh:38px;
--type-figure-grid-size:64px;--type-figure-grid-lh:62px;
--type-h2-size:40px;--type-h2-lh:42px;--type-h3-size:30px;--type-h3-lh:34px;
--donate-bar-height:88px;--type-donate-main-size:32px;--type-donate-main-lh:32px;--type-donate-once-size:24px;--type-donate-once-lh:24px;
--section-pad-y:var(--space-9);--radius-leaf:48px;
}}
/* 767px mobile, designed at 390. Confirmed 30 September 2026. */
@media (max-width:767px){:root{
--type-poster-size:82px;--type-poster-lh:72px;--type-poster-track:-1.5px;
--type-verb-size:88px;--type-verb-lh:80px;--type-verb-track:-1.5px;
--type-programme-number-size:110px;--type-programme-number-lh:92px;--type-programme-number-track:-2px;
--type-figure-xl-size:88px;--type-figure-xl-lh:80px;--type-figure-xl-track:-1.5px;
--type-footer-email-size:40px;--type-footer-email-lh:40px;--type-footer-email-track:-0.5px;
--type-page-hero-size:56px;--type-page-hero-lh:52px;--type-page-hero-track:-1px;
--type-statement-size:52px;--type-statement-lh:48px;--type-statement-track:-1px;
--type-programme-heading-size:46px;--type-programme-heading-lh:44px;--type-programme-heading-track:-0.5px;
--type-figure-label-size:26px;--type-figure-label-lh:30px;
--type-figure-grid-size:46px;--type-figure-grid-lh:44px;--type-programme-fact-size:26px;--type-programme-fact-lh:30px;--type-figure-grid-track:-0.5px;
--type-donate-main-size:26px;--type-donate-main-lh:26px;--type-donate-once-size:20px;--type-donate-once-lh:20px;
--type-h2-size:32px;--type-h2-lh:34px;--type-h2-track:0px;--type-h3-size:26px;--type-h3-lh:30px;--type-h4-size:22px;--type-h4-lh:26px;
--type-eyebrow-size:14px;--type-eyebrow-lh:18px;--type-eyebrow-track:1px;
--type-standfirst-size:17px;--type-standfirst-lh:27px;
--section-pad-y:var(--space-8);--section-pad-y-compact:var(--space-7);--gap-grid:var(--space-5);
--container-pad:16px;--header-height:96px;--donate-bar-height:76px;--radius-leaf:var(--radius-leaf-mobile);
}}

/* Dark theme: defined for completeness. The website launches in light only. */
[data-theme="dark"]{
--bg-page:#141A15;--bg-alt:#1B231C;--bg-soft:#1C2A1F;--bg-inverse:#0D120E;--bg-surface:#1B231C;
--plate-cream:#1B231C;--plate-forest:var(--palette-forest-deep);
--text-primary:#F1EDE0;--text-muted:#B9B3A5;--text-inverse:#F1EDE0;--text-inverse-muted:#B9B3A5;
--text-figure:var(--palette-leaf);
--action-primary:var(--palette-leaf);--action-primary-hover:#96D152;--text-on-primary:var(--palette-ink);
--link:#9CD35E;--link-hover:#B8E386;--border-hairline:#343D35;--border-control:#8E887B;
--focus-ring:var(--palette-sun);--focus-ring-programme:#F1EDE0;--status-success:#8FC2E6;--status-success-bg:#162633;--status-error:#F08C80;--status-error-bg:#2E1A18;
--action-disabled-bg:#1B231C;--action-disabled-text:#B9B3A5;--action-disabled-border:#343D35;
}

/* Phase 4 token additions, 1 October 2026 (STYLE-SYNC 1) */
:root{
  --hero-poster-media-width:440px;
  --hero-poster-min-height:844px;
  --programme-block-media-width:520px;
  --programme-block-min-height:880px;
  --programme-block-gap:72px;
  --programme-block-pad-inline:80px;
  --programme-block-media-ratio:var(--ratio-card);
  --row-min-height:300px;
  --row-body-width:460px;
  --row-circle-size:108px;
  --ticker-min-height:64px;
  --ticker-item-size:20px;
  --ticker-item-lh:24px;
  --ticker-dot-size:8px;
  --ticker-dot:var(--deco-leaf);
  --cta-compact-bg:var(--bg-alt);
  --cta-compact-pad:var(--space-7);
  --cta-compact-radius:var(--radius-panel);
  --cta-compact-margin-top:var(--space-8);
  --cta-compact-margin-bottom:var(--section-pad-y-compact);
  --menu-bg:var(--bg-inverse);
  --menu-columns:5; /* @kind other */
  --menu-group-rule-width:4px;
  --menu-group-rule:var(--text-figure-inverse);
  --menu-link-size:var(--type-h3-size);
  --menu-link-lh:var(--type-h3-lh);
  --menu-email-size:var(--type-programme-heading-size);
  --menu-email-lh:var(--type-programme-heading-lh);
  --person-initials-size:96px;
  --person-initials-thumb:112px;
}
@media (max-width:1024px){:root{--row-body-width:360px;--row-circle-size:80px;--menu-columns:2; /* @kind other */}}
@media (max-width:767px){:root{--programme-block-gap:16px;--programme-block-pad-inline:var(--container-pad);--row-circle-size:56px;--cta-compact-pad:var(--space-5);--menu-columns:1; /* @kind other */--menu-link-size:var(--type-h4-size);--menu-link-lh:var(--type-h4-lh);--menu-email-size:var(--type-h3-size);--menu-email-lh:var(--type-h3-lh);--person-initials-size:44px}}

/* base.css */
/* Roots base styles: element defaults and type classes. Components arrive in stage 2. */
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--type-body-size);line-height:var(--type-body-lh);font-weight:var(--type-body-weight);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,.t-poster,.t-verb,.t-programme-number,.t-figure-xl,.t-footer-email,.t-statement,.t-page-hero,.t-programme-heading,.t-h2,.t-figure-label,.t-h3,.t-h4,.t-eyebrow,.t-button{font-family:var(--font-display);margin:0;text-wrap:balance}
.t-poster{font-size:var(--type-poster-size);line-height:var(--type-poster-lh);font-weight:var(--type-poster-weight);letter-spacing:var(--type-poster-track)}
.t-verb{font-size:var(--type-verb-size);line-height:var(--type-verb-lh);font-weight:var(--type-verb-weight);letter-spacing:var(--type-verb-track)}
.t-programme-number{font-size:var(--type-programme-number-size);line-height:var(--type-programme-number-lh);font-weight:var(--type-programme-number-weight);letter-spacing:var(--type-programme-number-track);font-variant-numeric:lining-nums tabular-nums;color:rgb(255 255 255 / var(--programme-number-opacity))}
.t-footer-email{font-size:var(--type-footer-email-size);line-height:var(--type-footer-email-lh);font-weight:var(--type-footer-email-weight);letter-spacing:var(--type-footer-email-track);overflow-wrap:anywhere}
.t-statement{font-size:var(--type-statement-size);line-height:var(--type-statement-lh);font-weight:var(--type-statement-weight);letter-spacing:var(--type-statement-track)}
.t-programme-heading{font-size:var(--type-programme-heading-size);line-height:var(--type-programme-heading-lh);font-weight:var(--type-programme-heading-weight);letter-spacing:var(--type-programme-heading-track)}
.t-figure-label{font-size:var(--type-figure-label-size);line-height:var(--type-figure-label-lh);font-weight:var(--type-figure-label-weight);letter-spacing:var(--type-figure-label-track)}
.t-page-hero,h1{font-size:var(--type-page-hero-size);line-height:var(--type-page-hero-lh);font-weight:var(--type-page-hero-weight);letter-spacing:var(--type-page-hero-track)}
.t-figure-xl{font-size:var(--type-figure-xl-size);line-height:var(--type-figure-xl-lh);font-weight:var(--type-figure-xl-weight);letter-spacing:var(--type-figure-xl-track);font-variant-numeric:lining-nums tabular-nums;color:var(--text-figure)}
.on-dark .t-figure-xl{color:var(--text-figure-inverse)}
.t-h2,h2{font-size:var(--type-h2-size);line-height:var(--type-h2-lh);font-weight:var(--type-h2-weight);letter-spacing:var(--type-h2-track)}
.t-h3,h3{font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:var(--type-h3-weight);letter-spacing:var(--type-h3-track)}
.t-h4,h4{font-size:var(--type-h4-size);line-height:var(--type-h4-lh);font-weight:var(--type-h4-weight);letter-spacing:var(--type-h4-track)}
.t-eyebrow{font-size:var(--type-eyebrow-size);line-height:var(--type-eyebrow-lh);font-weight:var(--type-eyebrow-weight);letter-spacing:var(--type-eyebrow-track);text-transform:uppercase}
.t-standfirst{font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);font-weight:var(--type-standfirst-weight);max-width:var(--measure-standfirst);text-wrap:pretty}
.t-body,p{font-size:var(--type-body-size);line-height:var(--type-body-lh);max-width:var(--measure-body);text-wrap:pretty}
p{margin:0 0 var(--stack-paragraph)}
strong,.t-emphasis{font-weight:var(--type-emphasis-weight)}
.t-small{font-size:var(--type-small-size);line-height:var(--type-small-lh)}
.t-caption{font-size:var(--type-caption-size);line-height:var(--type-caption-lh);letter-spacing:var(--type-caption-track);color:var(--text-muted)}
.t-button{font-size:var(--type-button-size);line-height:var(--type-button-lh);font-weight:var(--type-button-weight);letter-spacing:var(--type-button-track)}
.t-button-sm{font-family:var(--font-display);font-size:var(--type-button-sm-size);line-height:var(--type-button-sm-lh);font-weight:var(--type-button-weight);letter-spacing:var(--type-button-track)}
a{color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em;transition:color var(--motion-fast) var(--ease-standard)}
a:hover{color:var(--link-hover);text-decoration-thickness:2px}
:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.on-dark :focus-visible{outline-color:var(--focus-ring-inverse)}
.on-programme :focus-visible{outline-color:var(--focus-ring-programme)}
.on-dark a,.on-programme a{color:var(--link-inverse)}
.container{max-width:calc(var(--container-max) + 2 * var(--container-pad));margin:0 auto;padding:0 var(--container-pad)}
.container-full{width:var(--container-full)}
.r-plate--cream{background:var(--plate-cream);color:var(--text-primary)}
.r-plate--forest{background:var(--plate-forest);color:var(--text-inverse)}
.leaf{border-radius:var(--radius-leaf) 0 var(--radius-leaf) 0;overflow:hidden}
.verify{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-body);font-size:13px;line-height:1.3;font-weight:600;letter-spacing:0;color:var(--verify-text);background:var(--verify-bg);border:1px dashed var(--verify-border);border-radius:var(--radius-tag);padding:2px 6px;vertical-align:middle;text-transform:none}
.verify::before{content:"Verify";font-family:var(--font-display);font-size:12px;letter-spacing:0.08em;text-transform:uppercase}
html.verify-off .verify{display:none}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}

/* STYLE-SYNC 2 */
.t-page-hero,.t-statement{text-wrap:balance}

/* components/components.css */
/* Roots components, stage 2. Class names double as Elementor custom CSS classes. */
.r-icon{flex:none;display:block}
.r-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.r-bg--water{background:var(--programme-water)}.r-bg--digital{background:var(--programme-digital)}.r-bg--environment{background:var(--programme-environment)}.r-bg--food{background:var(--programme-food)}
.on-programme{color:var(--text-on-programme)}
.r-media-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:var(--space-4);background:var(--bg-soft);text-align:center}

/* Buttons */
.r-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;font-family:var(--font-display);font-size:var(--type-button-size);line-height:var(--type-button-lh);font-weight:var(--type-button-weight);letter-spacing:var(--type-button-track);border:var(--border-width-control) solid transparent;border-radius:var(--radius-button);background:none;color:inherit;text-decoration:none;text-align:center;cursor:pointer;transition:background-color var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard),border-color var(--motion-fast) var(--ease-standard)}
.r-btn:hover{text-decoration:none}
.r-btn--sm{min-height:var(--target-min);padding:0 18px;gap:8px;font-size:var(--type-button-sm-size);line-height:var(--type-button-sm-lh)}
.r-btn--full{width:100%}
.r-btn--primary{background:var(--action-primary);border-color:var(--action-primary);color:var(--text-on-primary)}
.r-btn--primary:hover,.r-btn--primary:active{background:var(--action-primary-hover);border-color:var(--action-primary-hover);color:var(--text-on-primary)}
.r-btn--donate{background:var(--accent-give);border-color:var(--accent-give);color:var(--text-on-give)}
.r-btn--donate:hover,.r-btn--donate:active{background:var(--accent-give-hover);border-color:var(--accent-give-hover);color:var(--text-on-give)}
.r-btn--secondary{border-color:var(--action-primary);color:var(--action-primary)}
.r-btn--secondary:hover,.r-btn--secondary:active{background:var(--action-primary);color:var(--text-on-primary)}
.r-btn--on-dark{border-color:var(--text-inverse);color:var(--text-inverse)}
.r-btn--on-dark:hover,.r-btn--on-dark:active{background:var(--text-inverse);color:var(--text-primary)}
.r-btn--give-outline{border-color:var(--border-give-secondary);color:var(--text-on-give)}
.r-btn--give-outline:hover,.r-btn--give-outline:active{background:var(--accent-give-hover);color:var(--text-on-give)}
.r-btn:disabled,.r-btn[aria-disabled="true"]{background:var(--action-disabled-bg);border-color:var(--action-disabled-border);color:var(--action-disabled-text);cursor:not-allowed}
.r-btn:focus-visible,.r-arrow-link:focus-visible,.r-tag:focus-visible,.r-cat:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.on-dark .r-btn:focus-visible,.on-dark .r-arrow-link:focus-visible{outline-color:var(--focus-ring-inverse)}
.on-programme .r-btn:focus-visible,.on-programme .r-arrow-link:focus-visible{outline-color:var(--focus-ring-programme)}
.r-arrow-link{display:inline-flex;align-items:center;gap:8px;min-height:var(--target-min);font-family:var(--font-display);font-size:var(--type-button-size);line-height:1.2;font-weight:600;color:var(--link);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.2em}
.r-arrow-link:hover{color:var(--link-hover);text-decoration-thickness:3px}
.on-dark .r-arrow-link,.on-programme .r-arrow-link,.on-dark .r-arrow-link:hover,.on-programme .r-arrow-link:hover{color:var(--link-inverse)}

/* Tags */
.r-tag{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 10px;border:1px solid currentColor;border-radius:var(--radius-tag);background:var(--bg-page);font-family:var(--font-display);font-size:16px;line-height:20px;font-weight:600;text-decoration:none;transition:box-shadow var(--motion-fast) var(--ease-standard)}
.r-tag--sm{min-height:26px;padding:2px 8px;gap:5px;font-size:14px;line-height:18px}
.r-tag--water{color:var(--programme-water)}.r-tag--digital{color:var(--programme-digital)}.r-tag--environment{color:var(--programme-environment)}.r-tag--food{color:var(--programme-food)}
a.r-tag{min-height:var(--target-min)}a.r-tag:hover{box-shadow:inset 0 0 0 1px currentColor}
.r-icon-holder{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;color:var(--text-on-programme)}
.r-icon-holder--water{background:var(--programme-water)}.r-icon-holder--digital{background:var(--programme-digital)}.r-icon-holder--environment{background:var(--programme-environment)}.r-icon-holder--food{background:var(--programme-food)}
.r-icon-holder--outline{background:none;border:var(--border-width-control) solid var(--text-on-programme)}
.r-cat{display:inline-flex;align-items:center;min-height:32px;padding:4px 10px;border:1px solid var(--border-hairline);border-radius:var(--radius-tag);background:var(--bg-page);color:var(--text-primary);font-family:var(--font-display);font-size:16px;line-height:20px;font-weight:600;text-decoration:none;transition:border-color var(--motion-fast) var(--ease-standard)}
a.r-cat{min-height:var(--target-min);padding:4px 14px}a.r-cat:hover{border-color:var(--border-control);color:var(--text-primary)}
.r-cat--active{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-inverse)}a.r-cat--active:hover{color:var(--text-inverse)}

/* Forms */
.r-field{display:grid;gap:8px;max-width:560px;margin:0}
.r-label{font-family:var(--font-body);font-size:17px;line-height:24px;font-weight:600;color:var(--text-primary)}
.r-req{font-weight:400;color:var(--text-muted)}
.r-help{margin:0;font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted);max-width:none}
.r-input{width:100%;min-height:52px;padding:12px 14px;font-family:var(--font-body);font-size:17px;line-height:24px;color:var(--text-primary);background:var(--bg-surface);border:var(--border-width-control) solid var(--border-control);border-radius:var(--radius-input);transition:border-color var(--motion-fast) var(--ease-standard)}
.r-input::placeholder{color:var(--text-muted)}
.r-input:hover{border-color:var(--text-primary)}
.r-input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-color:var(--text-primary)}
textarea.r-input{min-height:160px;resize:vertical}
.r-select{position:relative}.r-select select{appearance:none;-webkit-appearance:none;padding-right:48px;cursor:pointer}.r-select__icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-primary)}
.r-field--error .r-input{border-color:var(--status-error)}
.r-field--success .r-input{border-color:var(--status-success)}
.r-input:disabled{background:var(--action-disabled-bg);border-color:var(--action-disabled-border);color:var(--action-disabled-text);cursor:not-allowed}
.r-msg{display:flex;gap:6px;align-items:flex-start;margin:0;font-size:15px;line-height:22px;font-weight:600;max-width:none}
.r-msg .r-icon{margin-top:1px}
.r-msg--error{color:var(--status-error)}.r-msg--success{color:var(--status-success)}
.r-fieldset{border:0;padding:0;min-width:0;gap:0}.r-fieldset legend{padding:0;margin-bottom:8px}
.r-check{display:flex;gap:12px;align-items:flex-start;min-height:var(--target-min);padding:10px 0;font-size:17px;line-height:24px;cursor:pointer}
.r-check input{width:24px;height:24px;margin:0;flex:none;accent-color:var(--action-primary);cursor:pointer}
.r-check input:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-check input:disabled+span{color:var(--action-disabled-text)}
.r-field--error .r-check input{outline:2px solid var(--status-error);outline-offset:1px}
.r-check__d{margin-left:36px}
.r-file{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.r-file__input{position:absolute;width:1px;height:1px;opacity:0;overflow:hidden}
.r-file__input:focus-visible+.r-file__btn{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-file__name{font-size:var(--type-small-size);color:var(--text-muted)}
.r-field--error .r-file__btn{border-color:var(--status-error);color:var(--status-error)}
.r-status{display:flex;gap:12px;align-items:flex-start;padding:16px 20px;border:var(--border-width-control) solid;border-radius:var(--radius-card);max-width:560px}
.r-status .r-icon{margin-top:2px}
.r-status--success{background:var(--status-success-bg);border-color:var(--status-success);color:var(--status-success)}
.r-status--error{background:var(--status-error-bg);border-color:var(--status-error);color:var(--status-error)}
.r-status__title{margin:0;font-family:var(--font-display);font-size:22px;line-height:26px;font-weight:700}
.r-status__text{color:var(--text-primary);font-size:var(--type-small-size);line-height:var(--type-small-lh);margin-top:4px}

/* Cards */
.r-card{position:relative;display:flex;flex-direction:column;min-width:0;background:var(--bg-alt);border:1px solid var(--border-hairline);border-radius:var(--radius-card);overflow:hidden;transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}
.r-card--link:hover{border-color:var(--border-control);box-shadow:var(--shadow-card-hover)}
.r-card--link:has(a:focus-visible){outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-card__media{aspect-ratio:var(--ratio-card);overflow:hidden;background:var(--bg-soft)}
.r-card__media--square{aspect-ratio:var(--ratio-person)}
.r-card__media img{display:block;width:100%;height:100%;object-fit:cover}
.r-card__body{display:flex;flex-direction:column;gap:12px;flex:1;padding:24px}
.r-card__title{margin:0;font-family:var(--font-display);font-size:var(--type-h4-size);line-height:var(--type-h4-lh);font-weight:var(--type-h4-weight);color:var(--text-primary)}
.r-card__title--sm{font-size:20px;line-height:24px}
.r-card__title a{color:inherit;text-decoration:none}
.r-card__title a::after{content:"";position:absolute;inset:0}
.r-card__title a:focus-visible{outline:none}
.r-card--link:hover .r-card__title a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.15em}
.r-card__text{margin:0;font-size:var(--type-body-size);line-height:var(--type-body-lh);color:var(--text-primary)}
.r-card__role{margin:-4px 0 0;font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted);font-weight:500}
.r-card__meta{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted)}
.r-card__facts{list-style:none;margin:0;padding:0;display:grid;gap:6px;font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted)}
.r-card__facts li{display:flex;gap:8px;align-items:flex-start}.r-card__facts .r-icon{margin-top:2px}
.r-card__foot{margin-top:auto;padding-top:8px;display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:18px;line-height:22px;font-weight:600;color:var(--link)}
.r-card--plain{background:var(--bg-page)}
.r-card--doc{flex-direction:row;align-items:center;gap:16px;padding:16px 20px;background:var(--bg-page)}
.r-card__doc-icon{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;flex:none;border:1px solid var(--border-hairline);border-radius:var(--radius-button);background:var(--bg-alt);color:var(--text-primary)}
.r-card__doc-body{display:grid;gap:4px;flex:1;min-width:0}
.r-card__doc-dl{color:var(--link);flex:none}
.r-partner{display:flex;align-items:center;justify-content:center;aspect-ratio:3/2;padding:24px;background:var(--logo-plate);border:1px solid var(--border-hairline);border-radius:var(--radius-card);transition:border-color var(--motion-base) var(--ease-standard)}
.r-partner img{max-width:100%;max-height:100%;object-fit:contain}
a.r-partner:hover{border-color:var(--border-control)}
a.r-partner:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-partner__name{display:grid;gap:8px;justify-items:center;text-align:center;font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--text-primary)}

/* Heroes */
.r-hero__eyebrow{margin:0 0 var(--space-4);color:var(--text-muted)}
.on-programme .r-hero__eyebrow,.on-dark .r-hero__eyebrow{color:inherit}
.r-hero__actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--space-6)}
.r-hero__figure{margin:0;display:grid;gap:var(--space-2)}
.r-hero-poster{padding:var(--space-8) 0 var(--space-9);background:var(--bg-page)}
.r-hero-poster__title{margin:0 0 var(--space-7);max-width:11ch}
.r-hero-poster__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,4fr);gap:var(--space-7);align-items:end}
.r-hero-poster__media{aspect-ratio:var(--ratio-poster);background:var(--bg-soft)}
.r-hero-poster__media img,.r-hero-page__media img{display:block;width:100%;height:100%;object-fit:cover}
.r-hero-page{padding:var(--space-8) 0 var(--space-9);background:var(--bg-page)}
.r-hero-page__crumbs{margin-bottom:var(--space-6)}
.r-hero-page__grid{display:grid;gap:var(--space-7);align-items:end}
.r-hero-page--image .r-hero-page__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.r-hero-page__standfirst{margin:var(--space-5) 0 0}
.r-hero-page__media{aspect-ratio:var(--ratio-hero);background:var(--bg-soft)}
.r-hero-programme{padding:var(--space-8) 0 var(--space-9)}
.r-hero-programme__grid{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:var(--space-7);align-items:start}
.r-hero-programme__label{display:flex;align-items:center;gap:12px;margin:0 0 var(--space-5)}
.r-hero-programme__verify{margin:var(--space-3) 0 0}
.t-programme-number{color:rgb(255 255 255 / var(--programme-number-opacity))}
@media (max-width:1024px){.r-hero-poster__grid,.r-hero-page--image .r-hero-page__grid{grid-template-columns:1fr}.r-hero-poster__media{max-width:480px}.r-hero-page__media{max-width:640px}}
@media (max-width:767px){.r-hero-programme__grid{grid-template-columns:1fr;gap:var(--space-4)}}

/* Programme block */
.r-programme{padding:var(--space-9) 0}
.r-programme__grid{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);gap:var(--space-7);align-items:start}
.r-programme__body{display:grid;gap:var(--space-5);justify-items:start;max-width:var(--text-column-max)}
.r-programme__fact{margin:0;font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);max-width:48ch}
.r-programme__body p{margin:0}
@media (max-width:767px){.r-programme{padding:var(--space-8) 0}.r-programme__grid{grid-template-columns:1fr;gap:var(--space-3)}}

/* Figures */
.r-impact{padding:var(--space-9) 0}
.r-impact--dark{background:var(--bg-inverse);color:var(--text-inverse)}
.r-impact--soft{background:var(--bg-soft);color:var(--text-primary)}
.r-impact__eyebrow{margin:0 0 var(--space-6)}
.r-impact--dark .r-impact__eyebrow{color:var(--text-inverse-muted)}.r-impact--soft .r-impact__eyebrow{color:var(--text-muted)}
.r-impact__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:var(--space-8) var(--space-7)}
.r-impact__item{display:grid;gap:var(--space-2);justify-items:start}
.r-impact__value{display:block}
.r-impact--dark .r-impact__value{color:var(--text-figure-inverse)}.r-impact--soft .r-impact__value{color:var(--text-figure)}
.r-impact__label{display:block;max-width:16ch}
.r-impact__period{font-family:var(--font-display);font-size:var(--type-eyebrow-size);line-height:var(--type-eyebrow-lh);letter-spacing:var(--type-eyebrow-track);font-weight:600;text-transform:uppercase}
.r-impact--dark .r-impact__period{color:var(--text-inverse-muted)}.r-impact--soft .r-impact__period{color:var(--text-muted)}
.r-figgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(var(--r-figgrid-cols,3),minmax(0,1fr));gap:var(--space-6)}
.r-figgrid__item{display:grid;gap:6px;align-content:start;justify-items:start;padding-top:var(--space-4);border-top:var(--border-width-control) solid var(--text-primary)}
.r-figgrid__item--water{border-top-color:var(--programme-water)}.r-figgrid__item--digital{border-top-color:var(--programme-digital)}.r-figgrid__item--environment{border-top-color:var(--programme-environment)}.r-figgrid__item--food{border-top-color:var(--programme-food)}
.r-figgrid__value,.t-figure-grid{font-family:var(--font-display);font-size:var(--type-figure-grid-size);line-height:var(--type-figure-grid-lh);letter-spacing:var(--type-figure-grid-track);font-weight:700;color:var(--text-figure);font-variant-numeric:lining-nums tabular-nums}
.r-figgrid__label{font-size:var(--type-body-size);line-height:var(--type-body-lh);font-weight:600}
@media (max-width:1024px){.r-figgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.r-figgrid{grid-template-columns:1fr}}
.r-inline-figure strong{font-weight:700;color:var(--text-primary)}

/* Donate bar */
.r-donate-bar{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-donate-bar);height:var(--donate-bar-height);background:var(--accent-give);color:var(--text-on-give)}
.r-donate-bar--static{position:relative}
.r-donate-bar__inner{height:100%;display:flex;align-items:center;gap:var(--space-5)}
.r-donate-bar__copy{margin:0;flex:0 1 34ch;font-size:var(--type-body-size);line-height:24px;font-weight:500}
.r-donate-bar__main{flex:1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:var(--donate-target-min);padding:0 var(--space-5);border-radius:var(--radius-button);color:var(--text-on-give);font-family:var(--font-display);font-size:var(--type-donate-main-size);line-height:var(--type-donate-main-lh);font-weight:700;letter-spacing:-0.5px;text-decoration:none;transition:background-color var(--motion-fast) var(--ease-standard)}
.r-donate-bar__main:hover,.r-donate-bar__main:active{background:var(--accent-give-hover);color:var(--text-on-give)}
.r-donate-bar__main:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-donate-bar__once{flex:none;min-height:var(--donate-target-min);padding:0 20px;font-size:var(--type-donate-once-size);line-height:var(--type-donate-once-lh);font-weight:600}
.has-donate-bar{padding-bottom:var(--donate-bar-height)}
.r-donate-bar__arrow{width:1em;height:1em}
.no-donate-bar .r-donate-bar{display:none}.has-donate-bar.no-donate-bar{padding-bottom:0}
@media (max-width:1024px){.r-donate-bar__copy{display:none}}
@media (max-width:767px){.r-donate-bar__inner{gap:var(--space-3)}.r-donate-bar__main{padding:0 var(--space-2)}.r-donate-bar__once{padding:0 14px}}

/* Header, skip link and menu */
.r-skip{position:absolute;left:var(--space-4);top:-100px;z-index:calc(var(--z-overlay) + 1);padding:12px 18px;background:var(--text-primary);color:var(--text-inverse);font-family:var(--font-display);font-weight:600;font-size:18px;text-decoration:none;border-radius:var(--radius-button)}
.r-skip:focus{top:var(--space-2);outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);color:var(--text-inverse)}
.r-header{position:sticky;top:0;z-index:var(--z-header);height:var(--header-height);background:var(--bg-page);transition:box-shadow var(--motion-base) var(--ease-standard)}
.r-header--static{position:relative}
.r-header--scrolled{box-shadow:var(--shadow-header-sticky)}
.r-header__inner{height:100%;display:flex;align-items:center;gap:var(--space-6)}
.r-header__logo{display:block;flex:none;background:var(--logo-plate)}
.r-header__logo img{display:block;height:80px;width:auto}
.r-header__logo:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-header__nav{margin-left:auto}
.r-header__nav ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.r-header__nav a{display:flex;align-items:center;min-height:var(--target-min);padding:0 12px;font-family:var(--font-display);font-size:19px;line-height:1;font-weight:600;color:var(--text-primary);text-decoration:none;text-underline-offset:0.35em}
.r-header__nav a:hover{text-decoration:underline;text-decoration-thickness:2px;color:var(--text-primary)}
.r-header__nav a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--action-primary)}
.r-header__nav a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:0}
.r-header__actions{display:flex;align-items:center;gap:12px;flex:none}
.r-header__nav:empty+.r-header__actions,.r-header__nav:has(ul:empty)+.r-header__actions{margin-left:auto}
@media (max-width:1024px){.r-header__nav{display:none}.r-header__actions{margin-left:auto}}
@media (max-width:767px){.r-header__logo img{height:88px}.r-header__actions{gap:8px}.r-header__menu{padding:0 12px}.r-header__menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}
.r-menu{position:fixed;inset:0;z-index:var(--z-overlay);overflow-y:auto;background:var(--bg-inverse);color:var(--text-inverse);padding-bottom:var(--space-8)}
.r-menu--static{position:relative;inset:auto}
.r-menu__top{height:var(--header-height);display:flex;align-items:center;justify-content:space-between}
.r-menu__groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-6);padding-top:var(--space-8);padding-bottom:var(--space-7)}
.r-menu__title{margin:0 0 var(--space-4);color:var(--text-inverse-muted)}
.r-menu__group ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}.r-menu__group li{display:grid;justify-items:start;gap:4px}
.r-menu__group a{display:inline-flex;align-items:center;min-height:var(--target-min);font-family:var(--font-display);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:700;color:var(--text-inverse);text-decoration:none;text-underline-offset:0.15em}
.r-menu__group a:hover{text-decoration:underline;text-decoration-thickness:3px;color:var(--text-inverse)}
.r-menu a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-inverse);outline-offset:var(--focus-ring-offset)}
.r-menu__foot{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6);padding-top:var(--space-6);border-top:1px solid var(--border-inverse)}
.r-menu__email{font-family:var(--font-display);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:700;color:var(--text-inverse)}
.r-menu__email:hover{color:var(--text-inverse)}



/* Footer */
.r-footer{background:var(--bg-inverse);color:var(--text-inverse);padding:var(--space-9) 0 var(--space-7)}
.r-footer__eyebrow{margin:0 0 var(--space-4);color:var(--text-inverse-muted)}
.r-footer__email{display:inline-block;color:var(--text-inverse);text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:0.12em;overflow-wrap:anywhere;max-width:100%}
.r-footer__email:hover{color:var(--text-figure-inverse);text-decoration-thickness:6px}
.r-footer__email:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-inverse);outline-offset:4px}
.r-footer__cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6);margin-top:var(--space-9);padding-top:var(--space-6);border-top:1px solid var(--border-inverse)}
.r-footer__title{margin:0 0 var(--space-3);font-family:var(--font-display);font-size:var(--type-eyebrow-size);line-height:var(--type-eyebrow-lh);letter-spacing:var(--type-eyebrow-track);font-weight:600;text-transform:uppercase;color:var(--text-inverse-muted)}
.r-footer__col ul{list-style:none;margin:0;padding:0;display:grid;gap:2px}
.r-footer__col a{display:inline-flex;align-items:center;min-height:var(--target-min);color:var(--text-inverse);text-decoration:none}
.r-footer__col a:hover{text-decoration:underline;color:var(--text-inverse)}
.r-footer__col a:focus-visible,.r-footer__legal a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-inverse);outline-offset:var(--focus-ring-offset)}
.r-footer__content{font-size:var(--type-body-size);line-height:var(--type-body-lh)}
.r-footer__content p{margin:0 0 var(--space-2)}
.r-footer__legal{margin-top:var(--space-8);font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-inverse-muted);display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-5)}
.r-footer__legal p{margin:0}.r-footer__legal a{color:var(--text-inverse-muted)}

/* Call to action band */
.r-cta{padding:var(--space-10) 0}
.r-cta--forest{background:var(--bg-inverse);color:var(--text-inverse)}
.r-cta--soft{background:var(--bg-soft);color:var(--text-primary)}
.r-cta__eyebrow{margin:0 0 var(--space-4)}
.r-cta--forest .r-cta__eyebrow{color:var(--text-inverse-muted)}.r-cta--soft .r-cta__eyebrow{color:var(--text-muted)}
.r-cta__title{max-width:14ch}
.r-cta__text{margin:var(--space-5) 0 0}

.r-cta-compact{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-6);align-items:center;padding:var(--cta-compact-pad);background:var(--cta-compact-bg);border:1px solid var(--border-hairline);border-radius:var(--cta-compact-radius)}
.r-cta-compact__text{margin:var(--space-3) 0 0;max-width:52ch}
.r-cta-compact__actions{margin-top:0}
@media (max-width:767px){.r-cta{padding:var(--space-8) 0}.r-cta-compact{grid-template-columns:1fr}}

/* STYLE-SYNC 3 */
main#main{display:flow-root}
.r-cta-compact-wrap{display:block;margin:var(--cta-compact-margin-top) auto var(--cta-compact-margin-bottom)}
.r-cta-compact{padding:var(--cta-compact-pad);background:var(--cta-compact-bg);border-radius:var(--cta-compact-radius)}
.r-footer__email{min-height:var(--target-min)}
@media (min-width:768px) and (max-width:1024px){.r-hero-page--image .r-hero-page__grid{grid-template-columns:minmax(0,1fr) minmax(0,400px)}.r-hero-page__media{max-width:none}}

/* Menu overlay, phase 4. Replaces the existing .r-menu block where they overlap. */
html.r-menu-open{overflow:hidden}
html.r-menu-open body{position:fixed;left:0;right:0;overflow:hidden}
.r-menu{background:var(--menu-bg);padding-bottom:var(--space-8)}
.r-menu__top{border-bottom:1px solid var(--border-inverse)}
.r-menu .r-header__logo{background:var(--logo-plate);padding:var(--space-1)}
.r-menu .r-header__logo img{height:72px}
.r-menu__actions{display:flex;align-items:center;gap:var(--space-4)}
.r-menu .r-lang a{color:var(--text-inverse)}
.r-menu .r-lang a[aria-current]{text-decoration-color:var(--text-figure-inverse)}
.r-menu .r-lang a:hover{color:var(--text-inverse);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.35em}
.r-menu .r-lang a:focus-visible{outline-color:var(--focus-ring-inverse)}
.r-menu__groups{grid-template-columns:repeat(var(--menu-columns),minmax(0,1fr));padding-top:var(--space-8);padding-bottom:var(--space-8);gap:var(--space-7) var(--space-6)}
.r-menu__group{border-top:var(--menu-group-rule-width) solid var(--menu-group-rule);padding-top:var(--space-4)}
.r-menu__title{margin:0 0 var(--space-3);font-size:var(--type-eyebrow-size);line-height:var(--type-eyebrow-lh)}
.r-menu__group a{font-size:var(--menu-link-size);line-height:var(--menu-link-lh);padding:var(--space-1) 0}
.r-menu__group li .verify{margin-bottom:var(--space-2)}
.r-menu__donate{margin-top:var(--space-5)}
.r-menu__group .r-menu__donate a{color:var(--text-on-give);font-size:var(--type-button-size);line-height:var(--type-button-lh);padding:0 var(--space-5)}
.r-menu__group .r-menu__donate a:hover{text-decoration:none;color:var(--text-on-give)}
.r-menu__foot{justify-content:space-between;gap:var(--space-5) var(--space-6)}
.r-menu__email{font-size:var(--menu-email-size);line-height:var(--menu-email-lh);letter-spacing:var(--type-programme-heading-track);text-decoration:underline;text-decoration-thickness:3px;text-underline-offset:0.12em;overflow-wrap:anywhere}
.r-menu__socials{margin:0}
@media (max-width:767px){.r-menu .r-header__logo img{height:80px}.r-menu__actions{gap:var(--space-2)}.r-menu__groups{gap:var(--space-6);padding-top:var(--space-6);padding-bottom:var(--space-6)}.r-menu__donate .r-btn{width:100%;justify-content:center}}

/* components/stage3.css */
/* Roots components, stage 3 */

/* Accordion */
.r-accordion{border-top:1px solid var(--border-hairline);max-width:var(--text-column-max)}
.r-accordion__item{border-bottom:1px solid var(--border-hairline)}
.r-accordion__summary{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:var(--target-min);padding:var(--space-4) 0;cursor:pointer;list-style:none}
.r-accordion__summary::-webkit-details-marker{display:none}
.r-accordion__summary:hover .r-accordion__q{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.15em}
.r-accordion__summary:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-accordion__q{margin:0;font-family:var(--font-display);font-size:var(--type-h4-size);line-height:var(--type-h4-lh);font-weight:var(--type-h4-weight);color:var(--text-primary)}
.r-accordion__icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:var(--border-width-control) solid var(--border-control);border-radius:50%;color:var(--action-primary);transition:border-color var(--motion-fast) var(--ease-standard)}
.r-accordion__summary:hover .r-accordion__icon{border-color:var(--action-primary)}
.r-accordion__minus{display:none}
.r-accordion__item[open] .r-accordion__plus{display:none}.r-accordion__item[open] .r-accordion__minus{display:block}
.r-accordion__a{padding:0 56px var(--space-5) 0;font-size:var(--type-body-size);line-height:var(--type-body-lh)}
.r-accordion__a>*:first-child{margin-top:0}.r-accordion__a>*:last-child{margin-bottom:0}

/* Timeline */
.r-timeline{list-style:none;margin:0;padding:0;max-width:var(--text-column-max)}
.r-timeline__item{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-5);padding:var(--space-5) 0;border-top:var(--border-width-control) solid var(--text-primary)}
.r-timeline__date{font-family:var(--font-display);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:700;color:var(--text-figure);font-variant-numeric:lining-nums tabular-nums}
.r-timeline__body{display:grid;gap:var(--space-2);justify-items:start}
.r-timeline__title{margin:0;font-family:var(--font-display);font-size:var(--type-h4-size);line-height:var(--type-h4-lh);font-weight:var(--type-h4-weight)}
.r-timeline__text{margin:0}
@media (max-width:767px){.r-timeline__item{grid-template-columns:1fr;gap:var(--space-2)}}

/* Pull quote and testimonial */
.r-pullquote{margin:0;padding-top:var(--space-5);border-top:4px solid var(--action-primary);max-width:var(--text-column-max)}
.r-pullquote__q{margin:0}
.r-pullquote__q p{margin:0;max-width:22ch;font-family:var(--font-display);font-size:var(--type-h2-size);line-height:var(--type-h2-lh);font-weight:700;letter-spacing:var(--type-h2-track);color:var(--text-primary);text-wrap:balance}
.r-pullquote__by{display:flex;flex-wrap:wrap;gap:4px 12px;margin-top:var(--space-4);font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted)}
.r-pullquote__name{font-weight:600;color:var(--text-primary)}
.r-testimonial{margin:0;display:grid;gap:var(--space-4);padding:var(--space-6);background:var(--bg-alt);border:1px solid var(--border-hairline);border-radius:var(--radius-panel);max-width:var(--text-column-max)}
.r-testimonial__mark{color:var(--action-primary)}
.r-testimonial__q{margin:0}
.r-testimonial__q p{margin:0;font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);max-width:none}
.r-testimonial__by{display:flex;align-items:center;gap:var(--space-3)}
.r-testimonial__img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.r-testimonial__name{display:block;font-family:var(--font-display);font-size:20px;line-height:24px;font-weight:600}
.r-testimonial__role{display:block;font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted)}

/* Image with caption and credit */
.r-figure{margin:0;display:grid;gap:var(--space-2)}
.r-figure__media{overflow:hidden;background:var(--bg-soft)}
.r-figure__media img{display:block;width:100%;height:100%;object-fit:cover}
.r-figure__media--hero{aspect-ratio:var(--ratio-hero)}.r-figure__media--poster{aspect-ratio:var(--ratio-poster)}.r-figure__media--card{aspect-ratio:var(--ratio-card)}.r-figure__media--person{aspect-ratio:var(--ratio-person)}
.r-figure__cap{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:var(--type-caption-size);line-height:var(--type-caption-lh);letter-spacing:var(--type-caption-track);color:var(--text-muted)}
.r-figure__credit{font-weight:500}

/* Breadcrumbs */
.r-crumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center}
.r-crumbs li{display:inline-flex;align-items:center}
.r-crumbs a,.r-crumbs [aria-current]{display:inline-flex;align-items:center;min-height:var(--target-min);font-size:var(--type-small-size);line-height:var(--type-small-lh)}
.r-crumbs a{color:var(--text-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.2em}
.r-crumbs a:hover{text-decoration-thickness:2px;color:var(--text-primary)}
.r-crumbs [aria-current]{color:var(--text-muted)}
.r-crumbs__sep{margin:0 6px;color:var(--text-muted)}
.r-crumbs--inverse a,.r-crumbs--inverse a:hover,.r-crumbs--inverse [aria-current],.r-crumbs--inverse .r-crumbs__sep{color:var(--text-inverse)}
.r-crumbs--inverse a:focus-visible{outline-color:var(--focus-ring-programme)}

/* Pagination */
.r-pagination{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.r-pagination ol{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.r-pagination__num,.r-pagination__step{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:var(--target-min);min-height:var(--target-min);padding:0 10px;font-family:var(--font-display);font-size:19px;font-weight:600;color:var(--text-primary);text-decoration:none;border:1px solid var(--border-hairline);border-radius:var(--radius-button);background:var(--bg-page);transition:border-color var(--motion-fast) var(--ease-standard)}
a.r-pagination__num:hover,a.r-pagination__step:hover{border-color:var(--border-control);color:var(--text-primary)}
.r-pagination__num--current{background:var(--text-primary);border-color:var(--text-primary);color:var(--text-inverse)}
.r-pagination__step--off{color:var(--action-disabled-text);background:var(--action-disabled-bg)}
.r-pagination__gap{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0 4px;color:var(--text-muted)}
.r-pagination a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}

/* Category filter */
.r-filter{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3)}
.r-filter__label{margin:0;font-family:var(--font-display);font-size:var(--type-eyebrow-size);line-height:var(--type-eyebrow-lh);letter-spacing:var(--type-eyebrow-track);font-weight:600;text-transform:uppercase;color:var(--text-muted)}
.r-filter ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}

/* Share links */
.r-share{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-4)}
.r-share__label{margin:0;font-weight:600}
.r-share ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px var(--space-4)}
.r-share a,.r-share button{display:inline-flex;align-items:center;min-height:var(--target-min);padding:0;border:0;background:none;font:inherit;color:var(--link);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.18em;cursor:pointer}
.r-share a:hover,.r-share button:hover{color:var(--link-hover);text-decoration-thickness:2px}
.r-share button:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}

/* Newsletter box */
.r-newsletter{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-5) var(--space-7);align-items:end;padding:var(--space-7);background:var(--bg-soft);border-radius:var(--radius-panel)}
.r-newsletter__text{margin:var(--space-3) 0 0}
.r-newsletter__form{display:flex;align-items:flex-end;gap:12px}
.r-newsletter__form .r-field{flex:1}
.r-newsletter__form .r-field--error+.r-btn{margin-bottom:30px}
.r-newsletter__privacy{grid-column:1/-1;margin:0;font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted)}
@media (max-width:1024px){.r-newsletter{grid-template-columns:1fr}}
@media (max-width:767px){.r-newsletter{padding:var(--space-5)}.r-newsletter__form{flex-direction:column;align-items:stretch}}

/* Tax relief panel */
.r-tax{display:grid;gap:var(--space-3);justify-items:start;padding:var(--space-6);background:var(--bg-page);border:var(--border-width-control) solid var(--action-primary);border-radius:var(--radius-panel);max-width:var(--text-column-max)}
.r-tax h2{margin:0}
.r-tax__body{font-size:var(--type-body-size);line-height:var(--type-body-lh)}
.r-tax__body p{margin:0 0 var(--space-2)}.r-tax__body p:last-child{margin:0}
.r-tax__actions{margin-top:var(--space-2)}

/* Trust ticker: a static strip. It does not scroll by itself. */
.r-ticker{background:var(--bg-inverse);color:var(--text-inverse);border-top:1px solid var(--border-inverse);border-bottom:1px solid var(--border-inverse);overflow-x:auto;scrollbar-width:none}
.r-ticker::-webkit-scrollbar{display:none}
.r-ticker:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-inverse);outline-offset:calc(-1 * var(--focus-ring-width))}
.r-ticker__list{list-style:none;margin:0 auto;padding:0 var(--container-pad);max-width:calc(var(--container-max) + 2 * var(--container-pad));display:flex;align-items:center;min-height:var(--ticker-min-height);gap:0}
.r-ticker__item{display:flex;align-items:center;gap:8px;flex:none;padding:12px 0;font-family:var(--font-display);font-size:var(--ticker-item-size);line-height:var(--ticker-item-lh);font-weight:600;white-space:nowrap}
.r-ticker__item+.r-ticker__item::before{content:"";width:var(--ticker-dot-size);height:var(--ticker-dot-size);border-radius:50%;background:var(--ticker-dot);margin:0 var(--space-5);flex:none}
.r-ticker .verify{white-space:normal}

/* Logo wall */
.r-logowall{display:grid;gap:var(--space-4)}
.r-logowall h2{margin:0}
.r-logowall__text{margin:0}
.r-logowall__grid{list-style:none;margin:var(--space-4) 0 0;padding:0;display:grid;grid-template-columns:repeat(var(--r-logowall-cols,4),minmax(0,1fr));gap:var(--space-4)}
@media (max-width:1024px){.r-logowall__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.r-logowall__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Cookie notice: sits above the Donate bar */
.r-cookie{position:fixed;left:var(--space-4);bottom:calc(var(--donate-bar-height) + var(--space-4));z-index:calc(var(--z-donate-bar) + 1);max-width:420px;display:grid;gap:var(--space-3);padding:var(--space-5);background:var(--bg-page);color:var(--text-primary);border:var(--border-width-control) solid var(--text-primary);border-radius:var(--radius-panel)}
.r-cookie--static{position:relative;left:auto;bottom:auto}
.r-cookie__text{margin:0;font-size:var(--type-small-size);line-height:var(--type-small-lh)}
.r-cookie__actions{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:767px){.r-cookie{left:var(--space-3);right:var(--space-3);max-width:none}}

/* Long-form text */
.r-prose{max-width:var(--text-column-max);font-size:var(--type-body-size);line-height:var(--type-body-lh)}
.r-prose>*{margin-top:0;margin-bottom:var(--stack-paragraph)}
.r-prose h2{margin-top:var(--space-8);margin-bottom:var(--space-4)}
.r-prose h3{margin-top:var(--space-7);margin-bottom:var(--space-3)}
.r-prose h4{margin-top:var(--space-6);margin-bottom:var(--space-2)}
.r-prose>h2:first-child,.r-prose>h3:first-child{margin-top:0}
.r-prose ul,.r-prose ol{padding-left:1.4em}
.r-prose li{margin-bottom:var(--space-2);padding-left:0.2em}
.r-prose li::marker{color:var(--action-primary);font-weight:700}
.r-prose ol li::marker{font-family:var(--font-display)}
.r-prose a{color:var(--link)}
.r-prose blockquote{margin:var(--space-6) 0;padding:0 0 0 var(--space-5);border-left:var(--border-width-control) solid var(--action-primary)}
.r-prose blockquote p{font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);margin:0 0 var(--space-2)}
.r-prose blockquote cite{font-style:normal;font-size:var(--type-small-size);color:var(--text-muted)}
.r-prose table{width:100%;border-collapse:collapse;font-size:var(--type-small-size);line-height:var(--type-small-lh);font-variant-numeric:tabular-nums}
.r-prose caption{text-align:left;font-weight:600;padding-bottom:var(--space-2);font-size:var(--type-body-size)}
.r-prose th,.r-prose td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--border-hairline);vertical-align:top}
.r-prose thead th{font-family:var(--font-display);font-size:17px;font-weight:600;border-bottom:var(--border-width-control) solid var(--text-primary)}
.r-prose td.num,.r-prose th.num{text-align:right}
.r-prose .r-pullquote{margin:var(--space-8) 0}
.r-prose hr{border:0;border-top:1px solid var(--border-hairline);margin:var(--space-7) 0}
.r-prose .r-table-wrap{overflow-x:auto}

/* components/website.css */
/* Roots components, website additions (phase 1). Loaded after components.css and stage3.css, so rules here override them. */

/* Photo slot: labelled placeholder carrying image number, subject and crop */
.r-photoslot{width:100%;height:100%;min-height:160px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:var(--space-5);text-align:center;background:var(--bg-soft);color:var(--text-muted)}
.r-photoslot__n{font-family:var(--font-display);font-size:15px;line-height:18px;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--text-primary)}
.r-photoslot__subject{font-size:var(--type-small-size);line-height:var(--type-small-lh);max-width:34ch}
.r-photoslot--on-colour{background:rgb(255 255 255 / 0.16);color:var(--text-on-programme)}
.r-photoslot--on-colour .r-photoslot__n{color:var(--text-on-programme)}

/* Poster hero, laid out as the approved artboard: display heading left, tall photo right with standfirst below */
.r-hero-poster{padding:0;background:var(--bg-page)}
.r-hero-poster__grid{display:grid;grid-template-columns:minmax(0,1fr) var(--hero-poster-media-width);gap:var(--space-6);align-items:stretch;min-height:var(--hero-poster-min-height);padding:0 var(--container-pad);max-width:none;margin:0}
.r-hero-poster__text{padding-top:68px}
.r-hero-poster__eyebrow{color:var(--text-figure);margin:0 0 20px}
.r-hero-poster__title{margin:0;max-width:none}
.r-hero-poster__title .r-accent{color:var(--text-figure)}
.r-hero-poster__side{display:flex;flex-direction:column;gap:20px;justify-content:flex-end;padding:52px 0 var(--space-7)}
.r-hero-poster__figure{flex:1;display:flex;flex-direction:column;min-height:0}
.r-hero-poster__media{flex:1;min-height:360px;aspect-ratio:auto;background:var(--bg-soft)}
.r-hero-poster__standfirst{margin:0;max-width:none}
.r-hero-poster__actions{margin-top:0}
@media (max-width:1024px){.r-hero-poster__grid{grid-template-columns:minmax(0,1fr) 360px}.r-hero-poster__media{max-width:none}}
@media (max-width:767px){.r-hero-poster__grid{grid-template-columns:1fr;min-height:0;gap:var(--space-4);padding-bottom:var(--space-6)}.r-hero-poster__text{padding-top:var(--space-5)}.r-hero-poster__eyebrow{margin-bottom:var(--space-4)}.r-hero-poster__side{padding:0;gap:var(--space-4)}.r-hero-poster__media{flex:none;aspect-ratio:4/3;min-height:0}.r-hero-poster__actions .r-btn{width:100%}}

/* Programme block with photo, alternating sides, as the approved artboard */
.r-programme--media{display:grid;grid-template-columns:var(--programme-block-media-width) minmax(0,1fr);grid-template-rows:auto 1fr auto;grid-template-areas:"media top" "media content" "media foot";column-gap:var(--programme-block-gap);min-height:var(--programme-block-min-height);padding:0 var(--programme-block-pad-inline) 0 0}
.r-programme--media-right{grid-template-columns:minmax(0,1fr) var(--programme-block-media-width);grid-template-areas:"top media" "content media" "foot media";padding:0 0 0 var(--programme-block-pad-inline)}
.r-programme__media{grid-area:media;min-height:100%}
.r-programme__media img{display:block;width:100%;height:100%;object-fit:cover}
.r-programme__top{grid-area:top;display:flex;justify-content:space-between;align-items:flex-start;padding-top:72px}
.r-programme__icon{width:72px;height:72px;color:var(--text-on-programme)}
.r-programme__content{grid-area:content;align-self:end;display:flex;flex-direction:column;gap:20px;max-width:620px;padding-top:var(--space-6)}
.r-programme__content p{margin:0}
.r-programme__content .t-eyebrow{color:var(--text-on-programme)}
.r-programme__text{font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);max-width:none}
.r-programme__foot{grid-area:foot;display:flex;flex-direction:column;gap:12px;align-items:flex-start;max-width:620px;padding:20px 0 72px}
.r-programme__foot p{margin:0}
.r-programme__fact{margin:0;padding-top:16px;border-top:var(--border-width-control) solid var(--text-on-programme);font-family:var(--font-display);font-size:var(--type-programme-fact-size);line-height:var(--type-programme-fact-lh);font-weight:700;align-self:stretch;max-width:none}
.r-programme:not(.r-programme--media){display:block}
.r-programme:not(.r-programme--media)>*{max-width:var(--container-max);margin-left:auto;margin-right:auto;padding-left:var(--container-pad);padding-right:var(--container-pad)}
@media (max-width:1024px){.r-programme--media,.r-programme--media-right{grid-template-columns:360px minmax(0,1fr);column-gap:48px;min-height:720px;padding-right:48px;padding-left:0}.r-programme--media-right{grid-template-columns:minmax(0,1fr) 360px;padding-left:48px;padding-right:0}}
@media (max-width:767px){.r-programme--media,.r-programme--media-right{grid-template-columns:1fr;grid-template-areas:"top" "content" "media" "foot";min-height:0;padding:40px var(--container-pad) 44px;row-gap:16px}.r-programme__top{padding-top:0}.r-programme__icon{width:48px;height:48px}.r-programme__content{padding-top:0;gap:16px}.r-programme__text{font-size:var(--type-body-size);line-height:var(--type-body-lh)}.r-programme__media{aspect-ratio:var(--programme-block-media-ratio);min-height:0}.r-programme__foot{padding:0;gap:8px}}

/* Programme hero: number, icon, dated fact and a 4:3 leaf photo */
.r-hero-programme__grid--image{grid-template-columns:minmax(0,1fr) minmax(0,520px);align-items:end}
.r-hero-programme__top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);margin-bottom:var(--space-5)}
.r-hero-programme__icon{width:72px;height:72px;margin-top:var(--space-4)}
.r-hero-programme__eyebrow{margin:0 0 var(--space-4);color:var(--text-on-programme)}
.r-hero-programme__fact{margin-top:var(--space-6);max-width:24ch}
.r-hero-programme__media{aspect-ratio:var(--ratio-hero);overflow:hidden}
.r-hero-programme__media img{display:block;width:100%;height:100%;object-fit:cover}
.r-hero-programme .r-crumbs a,.r-hero-programme .r-crumbs [aria-current],.r-hero-programme .r-crumbs__sep{color:var(--text-on-programme)}
@media (max-width:1024px){.r-hero-programme__grid--image{grid-template-columns:1fr}.r-hero-programme__media{max-width:640px}}
@media (max-width:767px){.r-hero-programme__icon{width:48px;height:48px}.r-hero-programme__fact{margin-top:var(--space-4)}}

/* Impact figures, one per row, as the approved artboard */
.r-impact--light{background:var(--bg-page);color:var(--text-primary)}
.r-impact--light .r-impact__value{color:var(--text-figure)}
.r-impact--light .r-impact__eyebrow,.r-impact--light .r-impact__period,.r-impact--light .r-impact__updated{color:var(--text-muted)}
.r-impact__head{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-5);flex-wrap:wrap;margin-bottom:var(--space-7)}
.r-impact__head .r-impact__eyebrow{margin:0}
.r-impact__meta{display:grid;gap:6px;justify-items:start}
.r-impact__updated{font-size:var(--type-small-size);line-height:var(--type-small-lh)}
.r-impact--dark .r-impact__updated{color:var(--text-inverse-muted)}
.r-impact--rows .r-impact__list{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:0 var(--space-7);border-top:4px solid currentColor}
.r-impact--rows .r-impact__item{display:contents}
.r-impact--rows .r-impact__value,.r-impact--rows .r-impact__meta{padding:20px 0;border-bottom:1px solid var(--border-control)}
.r-impact--rows .r-impact__meta{align-content:center}
.r-impact--rows .r-impact__label{max-width:22ch}
.r-impact__footnote{margin:var(--space-6) 0 0;font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh)}
@media (max-width:767px){.r-impact--rows .r-impact__list{grid-template-columns:1fr}.r-impact--rows .r-impact__value{padding:14px 0 0;border-bottom:0}.r-impact--rows .r-impact__meta{padding:0 0 14px}}

/* Give. Go. Raise. rows */
.r-rows__head{padding-top:var(--section-pad-y);padding-bottom:var(--space-7)}
.r-rows__eyebrow{margin:0 0 var(--space-4);color:var(--text-figure)}
.r-row{display:grid;grid-template-columns:minmax(0,1fr) var(--row-body-width) 130px;gap:var(--space-7);align-items:center;min-height:var(--row-min-height);padding:0 var(--container-pad);text-decoration:none;border-bottom:1px solid rgb(34 32 32 / 0.15);transition:background-color var(--motion-base) var(--ease-standard)}
.r-row--give{background:var(--accent-give);color:var(--text-on-give)}.r-row--give:hover{background:var(--accent-give-hover);color:var(--text-on-give)}
.r-row--go{background:var(--bg-soft);color:var(--palette-forest-deep)}.r-row--go:hover{background:var(--deco-sage);color:var(--palette-forest-deep)}
.r-row--raise{background:var(--bg-inverse);color:var(--text-inverse)}.r-row--raise:hover{background:var(--action-primary);color:var(--text-inverse)}
.r-row:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:calc(-1 * var(--focus-ring-width) - 4px)}
.r-row--raise:focus-visible{outline-color:var(--focus-ring-inverse)}
.r-row__verb{display:block}
.r-row__body{display:flex;flex-direction:column;gap:12px}
.r-row__text{font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh)}
.r-row__figure{font-family:var(--font-display);font-size:var(--type-h4-size);line-height:var(--type-h4-lh);font-weight:700}
.r-row__label{font-family:var(--font-display);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:700;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.r-row__circle{justify-self:end;width:var(--row-circle-size);height:var(--row-circle-size);border-radius:50%;border:3px solid currentColor;display:inline-flex;align-items:center;justify-content:center}
@media (max-width:1024px){.r-row{grid-template-columns:minmax(0,1fr) var(--row-body-width) 96px;gap:var(--space-5)}}
@media (max-width:767px){.r-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"verb circle" "body body";gap:10px;min-height:0;padding:28px var(--container-pad)}.r-row__verb{grid-area:verb}.r-row__circle{grid-area:circle}.r-row__circle .r-icon{width:28px;height:28px}.r-row__body{grid-area:body;gap:10px}.r-row__text{font-size:var(--type-body-size);line-height:26px}}

/* Dated updates list */
.r-updates__head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-5)}
.r-updates__list{list-style:none;margin:0;padding:0}
.r-updates__item{display:grid;grid-template-columns:130px minmax(0,1fr) 48px;gap:var(--space-5);align-items:center;padding:22px 0;border-top:var(--border-width-control) solid var(--text-primary);color:var(--text-primary);text-decoration:none}
.r-updates__item:hover{color:var(--text-primary)}.r-updates__item:hover .r-updates__title{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:0.15em}
.r-updates__item:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-updates__date{font-size:var(--type-caption-size);line-height:var(--type-caption-lh);font-weight:500;color:var(--text-muted)}
.r-updates__main{display:grid;gap:4px}
.r-updates__title{font-family:var(--font-display);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:700}
.r-updates__text{font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted)}
.r-updates__arrow{justify-self:end;color:var(--action-primary)}
@media (max-width:767px){.r-updates__item{grid-template-columns:1fr;gap:4px;padding:16px 0}.r-updates__arrow{display:none}}

/* Giving form */
.r-giving{display:grid;gap:var(--space-4);padding:var(--space-6);background:var(--bg-surface);border:var(--border-width-control) solid var(--text-primary);border-radius:var(--radius-panel);max-width:560px}
.r-giving fieldset{border:0;margin:0;padding:0;min-width:0}
.r-giving input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px}
.r-giving__freq{display:grid;grid-template-columns:1fr 1fr;border:var(--border-width-control) solid var(--text-primary);border-radius:var(--radius-button);overflow:hidden}
.r-giving__seg{display:flex;align-items:center;justify-content:center;min-height:52px;font-family:var(--font-display);font-size:var(--type-button-size);font-weight:600;cursor:pointer}
.r-giving__seg.is-on{background:var(--text-primary);color:var(--text-inverse)}
.r-giving__amounts legend{margin-bottom:8px}
.r-giving__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.r-giving__amt{display:flex;align-items:center;justify-content:center;min-height:56px;border:var(--border-width-control) solid var(--border-control);border-radius:var(--radius-button);font-family:var(--font-display);font-size:24px;font-weight:700;cursor:pointer;transition:border-color var(--motion-fast) var(--ease-standard)}
.r-giving__amt:hover{border-color:var(--text-primary)}
.r-giving__amt.is-on{border-color:var(--text-primary);background:var(--bg-soft);box-shadow:inset 0 0 0 2px var(--text-primary)}
.r-giving label:has(input:focus-visible){outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}
.r-giving__line{margin:0;font-weight:600;min-height:28px}
@media (max-width:767px){.r-giving{padding:var(--space-5)}.r-giving__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Cards: programme variant and role action */
.r-card__prog{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.r-card--programme{background:var(--bg-page);border-top-width:6px}
.r-card--water{border-top-color:var(--programme-water)}.r-card--digital{border-top-color:var(--programme-digital)}.r-card--environment{border-top-color:var(--programme-environment)}.r-card--food{border-top-color:var(--programme-food)}
.r-card__block{display:grid;gap:4px}
.r-card__block-title{margin:0;font-family:var(--font-display);font-size:var(--type-eyebrow-size);line-height:var(--type-eyebrow-lh);letter-spacing:var(--type-eyebrow-track);font-weight:600;text-transform:uppercase;color:var(--text-muted)}
.r-card__action{margin-top:auto;padding-top:var(--space-3)}

/* Header language switch */
.r-lang{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.r-lang a{display:inline-flex;align-items:center;justify-content:center;min-width:var(--target-min);min-height:var(--target-min);font-family:var(--font-display);font-size:17px;font-weight:600;letter-spacing:1.2px;color:var(--text-muted);text-decoration:none}
.r-lang a[aria-current="true"]{color:var(--text-primary);text-decoration:underline;text-decoration-thickness:2px;text-decoration-color:var(--action-primary);text-underline-offset:0.35em}
.r-lang a:hover{color:var(--text-primary)}
.r-lang a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:0}

/* Footer additions */
.r-footer__address{margin-top:var(--space-5);font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);display:grid;gap:8px;justify-items:start}
.r-footer__address p{margin:0}
.r-footer__socials{list-style:none;margin:var(--space-5) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:4px var(--space-5)}
.r-footer__socials a{display:inline-flex;align-items:center;min-height:var(--target-min);font-family:var(--font-display);font-size:var(--type-h4-size);font-weight:600;color:var(--text-inverse);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:0.2em}
.r-footer__socials a:hover{color:var(--text-inverse);text-decoration-thickness:2px}
.r-footer__socials a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-inverse);outline-offset:var(--focus-ring-offset)}
.r-footer__cols--news{grid-template-columns:repeat(4,minmax(0,1fr)) minmax(0,1.6fr)}
.r-footer__news{display:grid;gap:var(--space-3);align-content:start}
.r-footer__news p{margin:0}
.r-footer__news form{display:grid;gap:var(--space-3)}
@media (max-width:1024px){.r-footer__cols--news{grid-template-columns:repeat(2,minmax(0,1fr))}.r-footer__news{grid-column:1/-1}}
.on-dark .r-label,.on-dark .r-help{color:var(--text-inverse)}.on-dark .r-req{color:var(--text-inverse-muted)}
.on-dark .r-input:focus-visible{outline-color:var(--focus-ring-inverse)}

.r-newsletter--stacked{grid-template-columns:1fr;align-items:start;background:var(--bg-page)}
.r-newsletter--stacked .r-newsletter__form{flex-direction:column;align-items:stretch}

/* Header links in small condensed capitals, per the approved artboards */
.r-header__nav a{font-size:17px;letter-spacing:1.2px;text-transform:uppercase}
@media (max-width:767px){.r-hero-poster__media{aspect-ratio:var(--ratio-poster)}}
.r-hero-page__intro{margin:var(--space-5) 0 0;max-width:var(--measure-body);font-size:var(--type-body-size);line-height:var(--type-body-lh)}

/* Keep button text colours inside dark and programme bands (base link colour must not win) */
.on-dark a.r-btn--donate,.on-programme a.r-btn--donate,.on-dark a.r-btn--donate:hover,.on-programme a.r-btn--donate:hover{color:var(--text-on-give)}
.on-dark a.r-btn--primary,.on-programme a.r-btn--primary{color:var(--text-on-primary)}
.on-dark a.r-btn--on-dark:hover,.on-programme a.r-btn--on-dark:hover{color:var(--text-primary)}
.on-dark a.r-btn,.on-programme a.r-btn{text-decoration:none}
.r-card__body>.verify{align-self:flex-start}

/* Figure source line, report cards, route cards */
.r-figgrid__source{color:var(--text-muted)}
.r-card--report{flex-direction:row;background:var(--bg-page)}
.r-card__cover{flex:none;width:200px;aspect-ratio:var(--ratio-poster);background:var(--bg-soft);border-right:1px solid var(--border-hairline)}
.r-card__cover img{display:block;width:100%;height:100%;object-fit:cover}
.r-card__cover .r-photoslot{padding:12px}
.r-card__year{margin:0;font-family:var(--font-display);font-size:var(--type-h3-size);line-height:var(--type-h3-lh);font-weight:700;color:var(--text-figure)}
.r-card--route .r-card__title{font-size:var(--type-h3-size);line-height:var(--type-h3-lh)}
.r-card--route .r-card__body{padding:var(--space-6);min-height:180px}
@media (max-width:767px){.r-card__cover{width:120px}.r-card--report .r-card__body{padding:16px}}

/* Person initials plate, featured news card */
.r-card__initials{display:flex;align-items:center;justify-content:center;background:var(--bg-soft)}
.r-card__initials span{font-family:var(--font-display);font-weight:700;font-size:var(--person-initials-size);line-height:1;color:var(--palette-forest-deep)}
.r-card--featured{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);background:var(--bg-page)}
.r-card--featured .r-card__media{aspect-ratio:var(--ratio-card);height:100%}
.r-card--featured .r-card__body{padding:var(--space-7);justify-content:center}
.r-card--featured .r-card__title{font-size:var(--type-h2-size);line-height:var(--type-h2-lh)}
.r-card--featured .r-card__text{font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh)}
@media (max-width:767px){.r-card--featured{grid-template-columns:1fr}.r-card--featured .r-card__body{padding:var(--space-5)}.r-card--featured .r-card__title{font-size:var(--type-h3-size);line-height:var(--type-h3-lh)}.r-card__initials span{font-size:64px}}

/* STYLE-SYNC 4 */
.r-row__body>.verify{align-self:flex-start}
@media (min-width:768px) and (max-width:1024px){.r-hero-programme__grid--image{grid-template-columns:minmax(0,1fr) minmax(0,400px)}.r-hero-programme__media{max-width:none}}
@media (max-width:767px){.r-card:has(>.r-card__initials){flex-direction:row;align-items:stretch}.r-card>.r-card__initials{flex:none;width:var(--person-initials-thumb);height:auto;min-height:var(--person-initials-thumb);aspect-ratio:auto;border-right:1px solid var(--border-hairline)}.r-card>.r-card__initials span{font-size:var(--person-initials-size)}.r-card:has(>.r-card__initials) .r-card__body{padding:var(--space-4)}}
.r-people{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}
@media (max-width:1024px){.r-people{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:767px){.r-people{grid-template-columns:1fr}}
@media (max-width:767px){.r-card--route .r-card__body{min-height:0;padding:var(--space-5);flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4)}.r-card--route .r-card__body>*{margin-top:0}}
.r-pullquote__q p{text-wrap:balance}
.w-partner-item>.verify,.w-partner-item>p>.verify{justify-self:start}

/* ui_kits/website/kit.css */
/* Website kit page layouts. Section wrappers only; every component comes from the design system. */
.w-section{padding:var(--section-pad-y) 0}
.w-section--compact{padding:var(--section-pad-y-compact) 0}
.w-section--alt{background:var(--bg-alt)}
.w-section--soft{background:var(--bg-soft)}
.w-section--rule{border-top:1px solid var(--border-hairline)}
.w-eyebrow{margin:0 0 var(--space-4);color:var(--text-figure)}
.w-h2{margin:0 0 var(--space-5)}
.w-lead{font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);max-width:var(--text-column-max);margin:0 0 var(--space-4)}
.w-text{max-width:var(--text-column-max)}
.w-text p{margin:0 0 var(--space-4)}
.w-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--space-8);align-items:start}
.w-split--media{align-items:center}
.w-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.w-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-6)}
.w-grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-5)}
.w-checklist{list-style:none;margin:0;padding:0;display:grid;gap:0;max-width:var(--text-column-max);border-top:var(--border-width-control) solid var(--text-primary)}
.w-checklist li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--border-hairline);font-size:var(--type-body-size);line-height:var(--type-body-lh)}
.w-checklist li .r-icon{margin-top:2px}
.w-checklist--water .r-icon{color:var(--programme-water)}.w-checklist--digital .r-icon{color:var(--programme-digital)}.w-checklist--environment .r-icon{color:var(--programme-environment)}.w-checklist--food .r-icon{color:var(--programme-food)}
.w-checklist .verify{margin-top:6px}
.w-partner{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);margin:0}
.w-actions{display:flex;flex-wrap:wrap;gap:12px}
.w-next{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:var(--space-6);padding:var(--space-9) var(--container-pad);text-decoration:none;color:var(--text-on-programme)}
.w-next:hover{color:var(--text-on-programme)}
.w-next:hover .w-next__title{text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:0.12em}
.w-next:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-programme);outline-offset:calc(-1 * var(--focus-ring-width) - 4px)}
.w-next--back{background:var(--bg-soft);color:var(--text-primary)}.w-next--back:hover{color:var(--text-primary)}.w-next--back:focus-visible{outline-color:var(--focus-ring)}
.w-next__label{display:block;margin-bottom:var(--space-3)}
.w-next__title{display:block}
.w-next__circle{width:108px;height:108px;border-radius:50%;border:3px solid currentColor;display:inline-flex;align-items:center;justify-content:center}
.w-cta3{padding:var(--section-pad-y-compact) 0;background:var(--bg-inverse);color:var(--text-inverse)}
.w-cta3 .w-actions{justify-content:flex-start}
.w-quote{display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:var(--space-8);align-items:center}
.w-quote blockquote{margin:0}
.w-quote__text{margin:0;font-family:var(--font-display);font-size:var(--type-programme-heading-size);line-height:var(--type-programme-heading-lh);letter-spacing:var(--type-programme-heading-track);font-weight:700;text-wrap:balance;max-width:none}
.w-quote__by{margin:var(--space-5) 0 0;display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;font-weight:600}
.w-quote__mark{color:var(--action-primary);margin-bottom:var(--space-4)}
.w-photo{aspect-ratio:var(--ratio-person);width:100%;max-width:400px}
.w-updates{display:grid;grid-template-columns:minmax(0,1fr) 520px;gap:var(--space-8);align-items:start}
.w-strip{background:var(--bg-inverse);color:var(--text-inverse);padding:var(--space-7) 0}
.w-strip .container{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-5)}
.w-strip p{margin:0;font-size:var(--type-standfirst-size);line-height:var(--type-standfirst-lh);max-width:60ch}
.w-list{margin:0;padding:0;list-style:none;display:grid;gap:0;border-top:1px solid var(--border-hairline);max-width:var(--text-column-max)}
.w-list li{padding:var(--space-3) 0;border-bottom:1px solid var(--border-hairline)}
.w-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-5) var(--space-6);max-width:880px}
.w-form .r-field{max-width:none}
.w-form__full{grid-column:1/-1}
.w-note{margin:var(--space-5) 0 0;font-size:var(--type-small-size);line-height:var(--type-small-lh);color:var(--text-muted)}
.w-donate-hero{padding:var(--space-8) 0 var(--space-9)}
.w-donate-hero__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:var(--space-8);align-items:start}
.w-donate-hero__media{aspect-ratio:var(--ratio-hero);overflow:hidden;margin-top:var(--space-6)}
.w-sdg{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:8px;margin-top:var(--space-6)}
.w-sdg>div{aspect-ratio:1/1;min-height:0;padding:6px}
.w-sdg .r-photoslot{padding:6px;min-height:0;gap:2px}
.w-sdg .r-photoslot__subject{font-size:12px;line-height:14px}
.w-sdg .r-photoslot .verify{display:none}
.w-tiles-note{margin-top:var(--space-3)}
@media (max-width:1024px){.w-split,.w-quote,.w-updates,.w-donate-hero__grid{grid-template-columns:1fr;gap:var(--space-6)}.w-grid-3,.w-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.w-sdg{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media (max-width:767px){.w-grid-3,.w-grid-2,.w-grid-4,.w-form{grid-template-columns:1fr}.w-next{padding:var(--space-7) var(--container-pad)}.w-next__circle{width:56px;height:56px}.w-quote__text{font-size:40px;line-height:40px}.w-photo{max-width:240px}}
.w-email{display:inline-block;margin-top:var(--space-7);color:var(--text-figure);text-decoration:underline;text-decoration-thickness:4px;text-underline-offset:0.12em;overflow-wrap:anywhere;max-width:100%}
.w-email:hover{color:var(--link-hover)}
.w-reports{display:grid;gap:var(--space-5);max-width:880px}
.w-form--single{grid-template-columns:1fr;max-width:560px}
.w-breakdown{padding:var(--space-6);border:1px dashed var(--border-control);border-radius:var(--radius-panel);min-height:220px}
.w-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-6);border-top:4px solid var(--text-primary);padding-top:var(--space-6)}
.w-values h3{margin:0 0 var(--space-3)}
.w-values p{margin:0}
.w-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-5)}
.w-trio>div{aspect-ratio:1/1}
.w-partners{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-6) var(--space-5)}
.w-partner-item{display:grid;gap:var(--space-3);align-content:start}
.w-partner-item p{margin:0}
.w-post{max-width:var(--text-column-max);margin:0 auto}
.w-post__meta{display:flex;flex-wrap:wrap;gap:8px 20px;margin:var(--space-5) 0 0;color:var(--text-muted);font-weight:500}
.w-post-hero{max-width:1040px;margin:0 auto}
.w-callout{margin:var(--space-6) 0;padding:var(--space-5) 0;border-top:4px solid var(--text-primary);border-bottom:1px solid var(--border-hairline)}
.w-callout__value{display:block;font-family:var(--font-display);font-weight:700;font-size:var(--type-figure-grid-size);line-height:var(--type-figure-grid-lh);color:var(--text-figure)}
.w-callout__label{display:block;margin-top:8px;font-weight:600}
.w-callout__period{display:block;color:var(--text-muted);font-size:var(--type-small-size)}
@media (max-width:1024px){.w-values{grid-template-columns:repeat(2,minmax(0,1fr))}.w-partners{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:767px){.w-values,.w-partners{grid-template-columns:1fr}.w-trio{grid-template-columns:1fr 1fr}.w-trio>div:last-child{grid-column:1/-1;aspect-ratio:16/9}}





/* Header: slim utility strip above a full-width main bar. Donate bar and menu overlay are full width too. */
.r-donate-bar .container,.r-menu__top.container,.r-sitehead .container{max-width:none}
.r-sitehead{position:relative;z-index:var(--z-header);background:var(--bg-page);border-bottom:1px solid var(--border-hairline)}
.r-utility{background:var(--bg-inverse);color:var(--text-inverse)}
.r-utility__inner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);min-height:44px}
.r-utility a{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 12px;font-family:var(--font-display);font-size:16px;line-height:1;font-weight:600;letter-spacing:.04em;color:var(--text-inverse);text-decoration:none}
.r-utility a:hover{text-decoration:underline;text-decoration-thickness:2px;color:var(--text-inverse)}
.r-utility a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-inverse);outline-offset:-3px}
.r-utility a[aria-current="page"]{text-decoration:underline;text-decoration-thickness:3px;text-decoration-color:var(--leaf-accent,#80C037)}
.r-utility__mail{padding-left:0!important}
.r-utility__links{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.r-mainbar__inner{height:96px;display:flex;align-items:center;gap:var(--space-6)}
.r-mainbar__actions{display:flex;align-items:center;gap:12px}
.r-mainbar__menu{display:none}
.r-mainbar__menu .r-header__menu-label{position:static;width:auto;height:auto;clip:auto;overflow:visible}
@media (max-width:1024px){.r-mainbar__volunteer{display:none}.r-mainbar__menu{display:inline-flex}.r-mainbar__actions{margin-left:auto}}
@media (max-width:767px){.r-utility{display:none}.r-mainbar__donate{display:none}.r-mainbar__menu .r-header__menu-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}}

/* Menu: dropdowns and wide panel (the two styles share the same markup; data-menu on the header picks one). */
.r-mainbar{position:relative;border-bottom:1px solid var(--border-hairline)}
.r-sitehead{border-bottom:0}
.r-vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.r-nav3 ul{list-style:none;margin:0;padding:0;display:flex;gap:4px}
.r-nt{position:relative;appearance:none;display:flex;align-items:center;gap:6px;height:48px;padding:0 14px;border:0;border-radius:4px;background:none;color:var(--text-primary);font-family:var(--font-display);font-size:17px;line-height:20px;font-weight:600;letter-spacing:1.2px;text-transform:uppercase;cursor:pointer;transition:background var(--motion-fast) var(--ease-standard),color var(--motion-fast) var(--ease-standard)}
.r-nt:hover{background:var(--bg-alt);color:var(--link-hover)}
.r-nt:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:2px}
.r-nt__chev{transition:transform var(--motion-fast) var(--ease-standard)}
.r-nt[aria-expanded="true"] .r-nt__chev{transform:rotate(180deg)}
.r-nt.is-current::after{content:"";position:absolute;left:14px;right:14px;bottom:-24px;height:4px;background:var(--action-primary)}
.r-nt[aria-expanded="true"]{background:var(--bg-inverse);color:var(--text-inverse);border-radius:4px 4px 0 0}
.r-nt[aria-expanded="true"]::before{content:"";position:absolute;left:0;right:0;top:100%;height:25px;background:var(--bg-inverse)}
.r-nt[aria-expanded="true"]::after{display:none}
.r-mainbar__actions{margin-left:24px}
.r-browse{position:absolute;left:0;right:0;top:100%;z-index:5;background:var(--bg-inverse);color:var(--text-inverse)}
.r-browse :focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-inverse);outline-offset:2px}
.r-browse ul{list-style:none;margin:0;padding:0}
.r-browse p{margin:0}
.r-browse__grid{display:grid;grid-template-columns:300px minmax(0,1fr) 280px;gap:64px;align-items:start;padding-top:44px;padding-bottom:52px;min-height:420px}
.r-bg{position:relative;appearance:none;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:60px;padding:0 8px 0 24px;border:0;border-radius:4px;background:none;color:var(--text-inverse-muted);font-family:var(--font-display);font-size:36px;line-height:40px;font-weight:700;text-align:left;cursor:pointer;transition:color var(--motion-fast) var(--ease-standard)}
.r-bg:hover,.r-bg[aria-expanded="true"]{color:var(--text-inverse)}
.r-bg[aria-expanded="true"]::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:4px;background:var(--menu-group-rule)}
.r-bg__arr{opacity:0;flex:none}
.r-bg[aria-expanded="true"] .r-bg__arr{opacity:1;color:var(--text-figure-inverse)}
.r-browse__links{align-self:stretch;border-left:1px solid var(--action-primary);padding-left:48px}
.r-browse__links a{display:block;padding:12px 0 14px;color:var(--text-inverse);text-decoration:none;border-bottom:1px solid var(--action-primary)}
.r-browse__links li:last-child a{border-bottom:0}
.r-browse__links a:hover .r-bl__t{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}
.r-bl__t{display:block;font-family:var(--font-display);font-size:32px;line-height:36px;font-weight:600}
.r-bl__d{display:block;margin-top:2px;font-size:15px;line-height:22px;color:var(--text-inverse-muted)}
.r-here{display:inline-block;margin-left:10px;padding:0 6px;border:1px solid currentColor;border-radius:2px;font-family:var(--font-body);font-size:13px;line-height:18px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--text-figure-inverse);vertical-align:4px}
.r-ph{display:flex;align-items:center;justify-content:center;aspect-ratio:4/3;margin-bottom:16px;padding:12px;background:#D6D2C8;color:#4A463F;text-align:center;font-size:15px;line-height:22px;border-radius:64px 4px 64px 4px}
.r-ph--cover{aspect-ratio:3/4;width:150px;border-radius:4px}
.r-bf__line{margin-bottom:8px!important;font-family:var(--font-display);font-size:24px;line-height:28px;font-weight:600}
.r-bf__link{display:inline-flex;align-items:center;gap:8px;min-height:44px;font-family:var(--font-display);font-size:20px;line-height:24px;font-weight:600;color:var(--link-inverse);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.r-bf__link:hover{text-decoration-thickness:2px}
@media (prefers-reduced-motion:reduce){.r-nt,.r-nt__chev,.r-bg{transition:none}}
@media (max-width:1024px){.r-nav3,.r-browse{display:none!important}}

.form-unavailable{margin-top:var(--space-3)}
