:root{--blue-primary:#165ef0;--blue-deep:#104885;--navy:#0a315a;--accent-yellow:#ffba00;--colour-text:#172b4d;--colour-text-muted:#667085;--colour-background:#fff;--colour-border:#e5ecf4;--colour-app-bg:#f5f8fd;--colour-success:#0e8257;--colour-error:#d92d20;--colour-surface:#f0f3f8;--navy-raised:#154873;--progress-track:#ebeef3;--tint-blue:#ecf2ff;--tint-green:#ebf7f3;--tint-yellow:#fff8dc;--tint-red:#fdeceb;--tint-grey:#f0f3f8;--brand-light:#9cc0fb;--brand:#2e6fe8;--brand-deep:var(--blue-primary);--colour-accent:var(--blue-primary);--font-sans:Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-hero:clamp(2.375rem, 1.55rem + 3.4vw, 3.75rem);--text-page-title:clamp(1.4375rem, 1.15rem + 1.2vw, 2.25rem);--text-section:clamp(1.875rem, 1.53rem + 1.4vw, 2.75rem);--text-card:clamp(.9375rem, .82rem + .5vw, 1.5rem);--text-body:clamp(.9375rem, .92rem + .1vw, 1rem);--text-small:.875rem;--text-label:clamp(.625rem, .6rem + .1vw, .75rem);--space:1rem;--gutter:clamp(.875rem, .4rem + 1.4vw, 1.5rem);--radius:6px;--radius-card:14px;--radius-button:10px;--radius-pill:999px;--shadow-card:0 1px 2px #092a500a, 0 10px 28px #092a500f;--shadow-raised:0 2px 4px #092a500f, 0 18px 40px #092a501a;--max-width:62rem;--content-max:1280px;--sidebar-width:15rem;--rail-width:82px;--topbar-height:4.25rem;--topbar-height-mobile:3.75rem;--bottomnav-height:4rem}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--colour-background);color:var(--colour-text);font-family:var(--font-sans);font-size:16px;line-height:1.55;overflow-x:hidden}h1,h2,h3{color:var(--colour-text);letter-spacing:-.015em;margin:0 0 .5em;line-height:1.2}a{color:var(--colour-accent)}:focus-visible{outline:2px solid var(--blue-primary);outline-offset:2px;border-radius:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.page{max-width:var(--max-width);padding:calc(var(--space) * 2) var(--space);margin:0 auto}.pageWide{max-width:var(--content-max);padding:clamp(1rem, .6rem + 1.2vw, 2rem) var(--gutter);margin:0 auto}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
