:root{--colour-black:#000;--colour-white:#fff;--colour-accent:#9f0a18;--colour-accent-hover:#7a0712;--colour-muted:#666;--colour-border:#e5e5e5;--colour-surface:#f5f5f5;--colour-surface-dark:#111;--font-sans:var(--font-poppins), sans-serif;--text-display:clamp(2.5rem, 5vw, 4rem);--text-h1:clamp(2rem, 4vw, 3.25rem);--text-h2:clamp(1.5rem, 3vw, 2.25rem);--text-h3:clamp(1.2rem, 2vw, 1.5rem);--text-body:1.0625rem;--text-small:.875rem;--leading-tight:1.15;--leading-body:1.65;--space-2xs:.25rem;--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4.5rem;--space-4xl:6rem;--container:72rem;--container-narrow:42rem;--header-height:4.5rem;--radius:0;--ease:cubic-bezier(.22, 1, .36, 1);--duration:.4s}
*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;height:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{min-height:100%;font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-body);color:var(--colour-black);background:var(--colour-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;display:flex}img,svg,video{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}ul,ol{list-style:none}h1,h2,h3,h4{line-height:var(--leading-tight);letter-spacing:-.02em;font-weight:600}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{max-width:65ch}.skip-link{left:var(--space-md);z-index:1000;padding:var(--space-sm) var(--space-md);background:var(--colour-accent);color:var(--colour-white);position:absolute;top:-100%}.skip-link:focus{top:var(--space-md)}.site-main{flex:1}.container{width:min(100% - 2 * var(--space-lg), var(--container));margin-inline:auto}.container--narrow{width:min(100% - 2 * var(--space-lg), var(--container-narrow))}.section{padding-block:var(--space-3xl)}.section--dark{background:var(--colour-black);color:var(--colour-white)}.section--surface{background:var(--colour-surface)}.section__eyebrow{margin:0 0 var(--space-sm);color:var(--colour-accent);font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase;font-weight:600;line-height:1.3;display:block}.sectionHead{max-width:40rem}.sectionHead h2:not(.section__eyebrow){font-size:var(--text-h2);letter-spacing:-.02em;font-weight:600;line-height:var(--leading-tight);margin:0}h2.section__eyebrow{margin:0 0 var(--space-sm);color:var(--colour-accent);font-size:var(--text-small);letter-spacing:.08em;text-transform:uppercase;font-weight:600;line-height:1.3}.section__intro{margin-top:var(--space-md);font-size:var(--text-body);line-height:var(--leading-body);color:var(--colour-muted);max-width:50ch;margin-bottom:0}.section--dark .section__intro,.sectionHead--onDark .section__intro{color:#ffffffbf}.section--dark .section__eyebrow,.sectionHead--onDark .section__eyebrow{color:var(--colour-white);font-weight:700}.prose p+p{margin-top:var(--space-md)}.prose h1{margin:var(--space-xl) 0 var(--space-2xl);letter-spacing:-.03em;font-size:clamp(2rem,4vw,2.75rem);font-weight:700;line-height:1.15}.prose h2{margin-top:var(--space-xl);margin-bottom:var(--space-md);letter-spacing:-.02em;font-size:clamp(1.35rem,2.2vw,1.65rem);font-weight:700}.prose h3{margin-top:var(--space-lg);margin-bottom:var(--space-sm);letter-spacing:-.015em;font-size:clamp(1.1rem,1.6vw,1.25rem);font-weight:700}.prose ul{margin-top:var(--space-md);padding-left:1.1rem;list-style:outside}.prose li+li{margin-top:var(--space-xs)}.prose figure{margin:var(--space-lg) 0}.prose figure img{width:100%;height:auto}.prose figcaption{margin-top:var(--space-xs);font-size:var(--text-small);color:var(--colour-muted)}@keyframes fade-up{0%{opacity:0;transform:translateY(1rem)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.motion-fade-up{animation:fade-up var(--duration) var(--ease) both}.motion-fade-in{animation:fade-in calc(var(--duration) * 1.25) var(--ease) both}.motion-delay-1{animation-delay:.1s}.motion-delay-2{animation-delay:.2s}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
