/**
 * Modern CSS Reset
 *
Version: 3.3
 * Inspired by Jake Lazaroff (https://jakelazaroff.com/words/my-modern-css-reset/)
 * with WordPress-specific adjustments.
 *
 * @package Base_Theme
 * @since   1.0.0
 */

@layer reset {

	/* Use a better box model. */
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	/* Remove default margin and padding from everything. */
	* {
		margin: 0;
		padding: 0;
	}

	/* Enable animating to/from intrinsic sizing keywords (e.g. height: auto). */
	:root {
		interpolate-size: allow-keywords;
	}

	/* Sensible body defaults. */
	body {
		-webkit-text-size-adjust: 100%;
		-webkit-font-smoothing: antialiased;
		-moz-osx-font-smoothing: grayscale;
	}

	/* Media elements: block-level, responsive by default. */
	:where(img, picture, video, canvas, svg) {
		display: block;
		max-inline-size: 100%;
	}

	/* Form controls inherit font and colour from parent. */
	:where(input, button, textarea, select) {
		font: inherit;
		letter-spacing: inherit;
		word-spacing: inherit;
		color: currentColor;
	}

	/* Prevent long words from overflowing containers. */
	:where(p, h1, h2, h3, h4, h5, h6) {
		overflow-wrap: break-word;
	}

	/* Remove default list styles. */
	:where(ol, ul) {
		list-style: none;
	}

}

/* -----------------------------------------------
 * Lists (content area only)
 * --------------------------------------------- */
main :where(ul, ol) {
	padding-left: 1.5em;
	list-style: revert;
}

/**
 * Base Theme - Utility classes.
 *
 * Minimal set of reusable helpers. Add project-specific utilities
 * in the child theme.
 *
 * @package Base_Theme
 * @since   1.0.0
 */

/* -----------------------------------------------
 * Screen-reader only (visually hidden)
 * --------------------------------------------- */
.screen-reader-text,
.sr-only {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.sr-only:focus {
	clip: auto;
	clip-path: none;
	display: block;
	height: auto;
	width: auto;
	position: static;
	overflow: visible;
	background: #fff;
	color: #1d2327;
	padding: 0.75em 1em;
	font-size: 1rem;
	z-index: 100000;
}

/* -----------------------------------------------
 * Skip link
 * --------------------------------------------- */
.skip-link {
	position: absolute;
	top: -100%;
	left: 50%;
	transform: translateX(-50%);
	background: #1d2327;
	color: #fff;
	padding: 0.5em 1em;
	z-index: 100000;
	text-decoration: none;
	border-radius: 0 0 4px 4px;
	transition: top 0.15s ease;
}

.skip-link:focus {
	top: 0;
}

/* -----------------------------------------------
 * Text alignment
 * --------------------------------------------- */
.text-left   { text-align: left; }
.text-center { text-align: center; }
.text-right  { text-align: right; }

/* -----------------------------------------------
 * Reduced motion (accessibility)
 * --------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	html:focus-within {
		scroll-behavior: auto;
	}

	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

/* -----------------------------------------------
 * Forced colors / high contrast (accessibility)
 * --------------------------------------------- */
@media (forced-colors: active) {
	:focus-visible,
	.skip-link:focus {
		outline-color: CanvasText;
	}
}

/* -----------------------------------------------
 * Scroll reveal animations
 * --------------------------------------------- */
.has-scroll-animations [data-animate] {
	--animate-duration: 700ms;
	--animate-delay: 0ms;
	--animate-translate-x: 0px;
	--animate-translate-y: 0px;
	--animate-scale: 1;
	opacity: 0;
	transform: translate3d(var(--animate-translate-x), var(--animate-translate-y), 0) scale(var(--animate-scale));
	transition-property: opacity, transform;
	transition-duration: var(--animate-duration);
	transition-delay: var(--animate-delay);
	transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	will-change: opacity, transform;
}

.has-scroll-animations [data-animate-duration="400"] {
	--animate-duration: 400ms;
}

.has-scroll-animations [data-animate-duration="1200"] {
	--animate-duration: 1200ms;
}

.has-scroll-animations [data-animate-delay="100"] {
	--animate-delay: 100ms;
}

.has-scroll-animations [data-animate-delay="200"] {
	--animate-delay: 200ms;
}

.has-scroll-animations [data-animate-delay="400"] {
	--animate-delay: 400ms;
}

.has-scroll-animations [data-animate].is-animated {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale(1);
}

.has-scroll-animations [data-animate="fade-up"] {
	--animate-translate-y: 30px;
}

.has-scroll-animations [data-animate="fade-down"] {
	--animate-translate-y: -30px;
}

.has-scroll-animations [data-animate="fade-left"] {
	--animate-translate-x: 30px;
}

.has-scroll-animations [data-animate="fade-right"] {
	--animate-translate-x: -30px;
}

.has-scroll-animations [data-animate="zoom-in"] {
	--animate-scale: 0.92;
}

.has-scroll-animations [data-animate="blur-in"] {
	filter: blur(8px);
	transition-property: opacity, transform, filter;
	will-change: opacity, transform, filter;
}

.has-scroll-animations [data-animate="blur-in"].is-animated {
	filter: blur(0);
}

@media (prefers-reduced-motion: reduce) {
	.has-scroll-animations [data-animate] {
		opacity: 1;
		transform: none;
		filter: none;
		transition: none;
		will-change: auto;
	}
}

:root {
    --text-wrap-headings: balance;
    --text-wrap-body: pretty;
    --leading-heading: clamp(1.2em, calc(1em + 0.55rem), 1.5em);
    --leading-body: clamp(1.3em, calc(1em + 0.55rem), 1.75em);
    --font-headings-color: var(--color-primary);
    --font-preheading-color: var(--color-primary);
    --font-body-color: var(--color-primary);
    --font-preheading-weight: 500;
    --max-content-width-heading-xs: 19ch;
    --max-content-width-heading-s: 25ch;
    --max-content-width-heading-m: 45ch;
    --max-content-width-heading-l: 45ch;
    --max-content-width-heading-xl: 56ch;
    --max-content-width-body-xs: 42ch;
    --max-content-width-body-s: 54ch;
    --max-content-width-body-m: 65ch;
    --max-content-width-body-l: 76ch;
    --max-content-width-body-xl: 88ch;
    --max-content-width-heading-default: var(--max-content-width-heading-m);
    --max-content-width-body-default: var(--max-content-width-body-m);
    --font-headings-family: 'Inter', serif;
    --font-headings-weight: 500;
    --font-body-family: 'Inter', sans-serif;
    --font-body-weight: 300;
    --font-buttons-family: 'Inter', sans-serif;
    --font-buttons-weight: 400;
    --font-h1-size: clamp(1.9438rem, calc(1.271vw + 1.6578rem), 2.9606rem);
    --font-h1-margin-bottom: 0.5lh;
    --font-h2-size: clamp(1.62rem, calc(0.7516vw + 1.4509rem), 2.2213rem);
    --font-h2-margin-bottom: 0.5lh;
    --font-h3-size: clamp(1.35rem, calc(0.3954vw + 1.261rem), 1.6663rem);
    --font-h3-margin-bottom: 0.5lh;
    --font-h4-size: clamp(1.125rem, calc(0.1563vw + 1.0898rem), 1.25rem);
    --font-h4-margin-bottom: 0.5lh;
    --font-h5-size: 0.9375rem;
    --font-h5-margin-bottom: 0.4lh;
    --font-h6-size: clamp(0.7038rem, calc(-0.0969vw + 0.8031rem), 0.7813rem);
    --font-h6-margin-bottom: 0.35lh;
    --font-body-size: clamp(1rem, calc(0.1563vw + 0.9648rem), 1.125rem);
    --font-size-xxl: clamp(1.728rem, calc(0.5866vw + 1.596rem), 2.1973rem);
    --font-size-xl: clamp(1.44rem, calc(0.3973vw + 1.3506rem), 1.7578rem);
    --font-size-l: clamp(1.2rem, calc(0.2579vw + 1.142rem), 1.4063rem);
    --font-size-m: clamp(1rem, calc(0.1563vw + 0.9648rem), 1.125rem);
    --font-size-s: clamp(0.8333rem, calc(0.0834vw + 0.8145rem), 0.9rem);
    --font-size-xs: clamp(0.6944rem, calc(0.032vw + 0.6872rem), 0.72rem);
    --font-size-xxs: clamp(0.576rem, calc(-0.0034vw + 0.5795rem), 0.5787rem);
}
html {
    font-size: 100%;
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    text-wrap: var(--text-wrap-headings);
    color: var(--font-headings-color);
}
.font-family-body {
    font-family: var(--font-body-family);
}
.normal-case {
    text-transform: none;
}
.font-family-body {
    font-family: var(--font-body-family);
}
.uppercase {
    text-transform: uppercase;
}
.font-family-body {
    font-family: var(--font-body-family);
}
.lowercase {
    text-transform: lowercase;
}
.font-family-body {
    font-family: var(--font-body-family);
}
.capitalize {
    text-transform: capitalize;
}
body {
    text-wrap: var(--text-wrap-body);
    color: var(--font-body-color);
}
.preheading {
    font-size: var(--font-size-s);
    line-height: var(--leading-body);
    color: var(--font-preheading-color);
    font-weight: var(--font-preheading-weight);
    text-transform: uppercase;
    letter-spacing: 0.12em;
}
.max-content-width-heading-default {
    max-width: var(--max-content-width-heading-default);
}
.max-content-width-heading-xs {
    max-width: var(--max-content-width-heading-xs);
}
.max-content-width-heading-s {
    max-width: var(--max-content-width-heading-s);
}
.max-content-width-heading-m {
    max-width: var(--max-content-width-heading-m);
}
.max-content-width-heading-l {
    max-width: var(--max-content-width-heading-l);
}
.max-content-width-heading-xl {
    max-width: var(--max-content-width-heading-xl);
}
.max-content-width-body-default {
    max-width: var(--max-content-width-body-default);
}
.max-content-width-body-xs {
    max-width: var(--max-content-width-body-xs);
}
.max-content-width-body-s {
    max-width: var(--max-content-width-body-s);
}
.max-content-width-body-m {
    max-width: var(--max-content-width-body-m);
}
.max-content-width-body-l {
    max-width: var(--max-content-width-body-l);
}
.max-content-width-body-xl {
    max-width: var(--max-content-width-body-xl);
}
.entry__header .entry__title, .entry--empty .entry__title, .entry__content :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-default);
}
.entry__content :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-default) + 10ch));
}
.entry__content :where(p, li, blockquote), .entry--empty p, .wp-block .block-body-copy, .wp-block .block-body-copy :where(p, li, blockquote) {
    max-width: var(--max-content-width-body-default);
}
.base-core-block-layout.core-max-content-width-heading-default > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-default);
}
.base-core-block-layout.core-max-content-width-heading-default > .block__inner > :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-default) + 10ch));
}
.base-core-block-layout.core-max-content-width-heading-xs > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-xs);
}
.base-core-block-layout.core-max-content-width-heading-xs > .block__inner > :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-xs) + 10ch));
}
.base-core-block-layout.core-max-content-width-heading-s > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-s);
}
.base-core-block-layout.core-max-content-width-heading-s > .block__inner > :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-s) + 10ch));
}
.base-core-block-layout.core-max-content-width-heading-m > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-m);
}
.base-core-block-layout.core-max-content-width-heading-m > .block__inner > :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-m) + 10ch));
}
.base-core-block-layout.core-max-content-width-heading-l > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-l);
}
.base-core-block-layout.core-max-content-width-heading-l > .block__inner > :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-l) + 10ch));
}
.base-core-block-layout.core-max-content-width-heading-xl > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-xl);
}
.base-core-block-layout.core-max-content-width-heading-xl > .block__inner > :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-xl) + 10ch));
}
.base-core-block-layout.core-max-content-width-body-default > .block__inner > :where(p, blockquote, ul, ol), .base-core-block-layout.core-max-content-width-body-default > .block__inner > :where(ul, ol) > li {
    max-width: var(--max-content-width-body-default);
}
.base-core-block-layout.core-max-content-width-body-xs > .block__inner > :where(p, blockquote, ul, ol), .base-core-block-layout.core-max-content-width-body-xs > .block__inner > :where(ul, ol) > li {
    max-width: var(--max-content-width-body-xs);
}
.base-core-block-layout.core-max-content-width-body-s > .block__inner > :where(p, blockquote, ul, ol), .base-core-block-layout.core-max-content-width-body-s > .block__inner > :where(ul, ol) > li {
    max-width: var(--max-content-width-body-s);
}
.base-core-block-layout.core-max-content-width-body-m > .block__inner > :where(p, blockquote, ul, ol), .base-core-block-layout.core-max-content-width-body-m > .block__inner > :where(ul, ol) > li {
    max-width: var(--max-content-width-body-m);
}
.base-core-block-layout.core-max-content-width-body-l > .block__inner > :where(p, blockquote, ul, ol), .base-core-block-layout.core-max-content-width-body-l > .block__inner > :where(ul, ol) > li {
    max-width: var(--max-content-width-body-l);
}
.base-core-block-layout.core-max-content-width-body-xl > .block__inner > :where(p, blockquote, ul, ol), .base-core-block-layout.core-max-content-width-body-xl > .block__inner > :where(ul, ol) > li {
    max-width: var(--max-content-width-body-xl);
}
.entry__content p {
    margin-bottom: 1lh;
}
.wp-block .block-body-copy p {
    margin-bottom: 1lh;
}
.entry__content :where(ul, ol) {
    padding-left: 3ch;
}
.wp-block .block-body-copy :where(ul, ol) {
    padding-left: 3ch;
}
.entry__content li + li {
    margin-top: 0.5lh;
}
.wp-block .block-body-copy li + li {
    margin-top: 0.5lh;
}
.entry__content a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']), .wp-block .block-body-copy a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']) {
    color: var(--font-body-color);
    text-decoration-line: underline;
    transition: color 160ms ease-out, text-decoration-color 160ms ease-out;
}
.entry__content a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):hover, .entry__content a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):focus-visible, .wp-block .block-body-copy a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):hover, .wp-block .block-body-copy a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):focus-visible {
    color: var(--font-body-color);
}
@media (prefers-reduced-motion: reduce) {
    .entry__content a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']), .wp-block .block-body-copy a:not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']) {
        transition: none;
    }
}
.block-link-hover-underline-from-left a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']),
.block-link-hover-underline-from-center a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']),
.block-link-hover-underline-fade a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']) {
    position: relative;
    text-decoration: none;
}
.block-link-hover-underline-from-left a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after,
.block-link-hover-underline-from-center a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after,
.block-link-hover-underline-fade a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: -0.08em;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    pointer-events: none;
    transition: transform 220ms ease-out, opacity 220ms ease-out;
}
.block-link-hover-underline-from-left a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after {
    transform: scaleX(0);
    transform-origin: bottom right;
}
.block-link-hover-underline-from-left a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):hover::after,
.block-link-hover-underline-from-left a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):focus-visible::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
.block-link-hover-underline-from-center a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after {
    transform: scaleX(0);
    transform-origin: center;
}
.block-link-hover-underline-from-center a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):hover::after,
.block-link-hover-underline-from-center a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):focus-visible::after {
    transform: scaleX(1);
}
.block-link-hover-underline-fade a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after {
    transform: scaleX(1);
    opacity: 0;
}
.block-link-hover-underline-fade a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):hover::after,
.block-link-hover-underline-fade a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button']):focus-visible::after {
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .block-link-hover-underline-from-left a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after,
    .block-link-hover-underline-from-center a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after,
    .block-link-hover-underline-fade a:not(:has(img)):not(:has(picture)):not(.button):not(.wp-block-button__link):not(.wp-element-button):not(.btn):not([role='button'])::after {
        transition: none;
    }
}
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 {
    font-family: var(--font-headings-family);
    font-weight: var(--font-headings-weight);
}
body {
    font-family: var(--font-body-family);
    font-weight: var(--font-body-weight);
    font-optical-sizing: auto;
}
button, input[type='submit'], .btn {
    font-family: var(--font-buttons-family);
    font-weight: var(--font-buttons-weight);
}
h1, .h1 {
    font-size: var(--font-h1-size);
    line-height: var(--leading-heading);
    margin-bottom: var(--font-h1-margin-bottom);
}
h2, .h2 {
    font-size: var(--font-h2-size);
    line-height: var(--leading-heading);
    margin-bottom: var(--font-h2-margin-bottom);
}
h3, .h3 {
    font-size: var(--font-h3-size);
    line-height: var(--leading-heading);
    margin-bottom: var(--font-h3-margin-bottom);
}
h4, .h4 {
    font-size: var(--font-h4-size);
    line-height: var(--leading-heading);
    margin-bottom: var(--font-h4-margin-bottom);
}
h5, .h5 {
    font-size: var(--font-h5-size);
    line-height: var(--leading-heading);
    margin-bottom: var(--font-h5-margin-bottom);
}
h6, .h6 {
    font-size: var(--font-h6-size);
    line-height: var(--leading-heading);
    margin-bottom: var(--font-h6-margin-bottom);
}
.text-xxl {
    font-size: var(--font-size-xxl);
    line-height: var(--leading-body);
}
.text-xl {
    font-size: var(--font-size-xl);
    line-height: var(--leading-body);
}
.text-l {
    font-size: var(--font-size-l);
    line-height: var(--leading-body);
}
.text-m {
    font-size: var(--font-size-m);
    line-height: var(--leading-body);
}
.text-s {
    font-size: var(--font-size-s);
    line-height: var(--leading-body);
}
.text-xs {
    font-size: var(--font-size-xs);
    line-height: var(--leading-body);
}
.text-xxs {
    font-size: var(--font-size-xxs);
    line-height: var(--leading-body);
}
body {
    font-size: var(--font-body-size);
    line-height: var(--leading-body);
}
:where(p, li, dd, dt, td, th, blockquote, figcaption, label, legend, address) {
    line-height: var(--leading-body);
}
:root {
    --img-min-height: 275px;
    --img-ratio-fullwidth: 16 / 9;
    --img-ratio-tallcard: 4 / 5;
    --img-ratio-widecard: 7 / 4;
}
:root {
    --box-shadow-s: 0 1px 2px rgba(0, 0, 0, 0.08);
    --box-shadow-m: 0 4px 10px rgba(0, 0, 0, 0.12);
    --box-shadow-l: 0 10px 25px rgba(0, 0, 0, 0.14);
    --box-shadow-xl: 0 20px 50px rgba(0, 0, 0, 0.18);
}
:root {
    --breakpoint-xxl: 1640px;
    --breakpoint-xl: 1440px;
    --breakpoint-l: 1280px;
    --breakpoint-m: 1024px;
    --breakpoint-s: 768px;
    --breakpoint-xs: 480px;
    --breakpoint-xxs: 360px;
    --container-width-xs: 640px;
    --container-width-s: 840px;
    --container-width-m: 960px;
    --container-width-l: 1200px;
    --container-width-xl: 1360px;
    --container-width-xxl: 1600px;
    --container-width-default: var(--container-width-xl);
    --container-alignment-reference-width: var(--container-width-xl);
    --block-gutter-inline: clamp(16px, 4vw, 48px);
    --container-alignment-reference-edge: max(var(--block-gutter-inline), calc((100vw - var(--container-alignment-reference-width)) / 2));
}
.block__inner {
    margin-inline: auto;
    width: max(0px, calc(100% - (2 * var(--block-gutter-inline))));
}
.block-container-width-xs > .block__inner {
    max-width: var(--container-width-xs);
}
.block-container-width-s > .block__inner {
    max-width: var(--container-width-s);
}
.block-container-width-m > .block__inner {
    max-width: var(--container-width-m);
}
.block-container-width-l > .block__inner {
    max-width: var(--container-width-l);
}
.block-container-width-xl > .block__inner {
    max-width: var(--container-width-xl);
}
.block-container-width-xxl > .block__inner {
    max-width: var(--container-width-xxl);
}
.block-container-width-full > .block__inner {
    max-width: none;
}
.block-container-align-center > .block__inner {
    margin-inline: auto;
}
.block-container-align-left > .block__inner {
    margin-inline-start: var(--container-alignment-reference-edge);
    margin-inline-end: auto;
}
.block-container-align-right > .block__inner {
    margin-inline-start: auto;
    margin-inline-end: var(--container-alignment-reference-edge);
}
@media (min-width: 1024px) {
    .block-visibility-hide-desktop {
        display: none !important;
    }
}
@media (min-width: 768px) and (max-width: 1023px) {
    .block-visibility-hide-tablet {
        display: none !important;
    }
}
@media (max-width: 767px) {
    .block-visibility-hide-mobile {
        display: none !important;
    }
}
:root {
    --section-space-top-xxs: 16px;
    --section-space-bottom-xxs: 16px;
    --section-space-top-xs: 32px;
    --section-space-bottom-xs: 32px;
    --section-space-top-s: 48px;
    --section-space-bottom-s: 48px;
    --section-space-top-m: 72px;
    --section-space-bottom-m: 72px;
    --section-space-top-l: 96px;
    --section-space-bottom-l: 96px;
    --section-space-top-xl: 128px;
    --section-space-bottom-xl: 128px;
}
@media (min-width: 768px) {
    :root {
        --section-space-top-xxs: 24px;
        --section-space-bottom-xxs: 24px;
        --section-space-top-xs: 40px;
        --section-space-bottom-xs: 40px;
        --section-space-top-s: 56px;
        --section-space-bottom-s: 56px;
        --section-space-top-m: 92px;
        --section-space-bottom-m: 92px;
        --section-space-top-l: 120px;
        --section-space-bottom-l: 120px;
        --section-space-top-xl: 152px;
        --section-space-bottom-xl: 152px;
    }
}
@media (min-width: 1024px) {
    :root {
        --section-space-top-xxs: 32px;
        --section-space-bottom-xxs: 32px;
        --section-space-top-xs: 48px;
        --section-space-bottom-xs: 48px;
        --section-space-top-s: 72px;
        --section-space-bottom-s: 72px;
        --section-space-top-m: 112px;
        --section-space-bottom-m: 112px;
        --section-space-top-l: 144px;
        --section-space-bottom-l: 144px;
        --section-space-top-xl: 184px;
        --section-space-bottom-xl: 184px;
    }
}
.block-section-space-top-xxs {
    padding-top: var(--section-space-top-xxs);
}
.block-section-space-bottom-xxs {
    padding-bottom: var(--section-space-bottom-xxs);
}
.block-section-space-top-xs {
    padding-top: var(--section-space-top-xs);
}
.block-section-space-bottom-xs {
    padding-bottom: var(--section-space-bottom-xs);
}
.block-section-space-top-s {
    padding-top: var(--section-space-top-s);
}
.block-section-space-bottom-s {
    padding-bottom: var(--section-space-bottom-s);
}
.block-section-space-top-m {
    padding-top: var(--section-space-top-m);
}
.block-section-space-bottom-m {
    padding-bottom: var(--section-space-bottom-m);
}
.block-section-space-top-l {
    padding-top: var(--section-space-top-l);
}
.block-section-space-bottom-l {
    padding-bottom: var(--section-space-bottom-l);
}
.block-section-space-top-xl {
    padding-top: var(--section-space-top-xl);
}
.block-section-space-bottom-xl {
    padding-bottom: var(--section-space-bottom-xl);
}
.block-section-space-top-none {
    padding-top: 0;
}
.block-section-space-bottom-none {
    padding-bottom: 0;
}
:root {
    --color-colour-1773843647318-1: #0f0f0f;
    --color-charcoal-black: var(--color-colour-1773843647318-1);
    --color-colour-1773843658650-2: #ffffff;
    --color-white: var(--color-colour-1773843658650-2);
    --color-colour-1773843726926-3: #f2f2f3;
    --color-pale-grey: var(--color-colour-1773843726926-3);
    --color-colour-1773843760811-4: #a4a4ab;
    --color-stone-grey: var(--color-colour-1773843760811-4);
    --color-colour-1773843779496-5: #767678;
    --color-slate-grey: var(--color-colour-1773843779496-5);
    --color-colour-1774618318852-1: #000000;
    --color-black: var(--color-colour-1774618318852-1);
    --color-primary: var(--color-charcoal-black);
    --color-secondary: var(--color-white);
    --color-tertiary: #d1d5db;
}
.block-background-charcoal-black {
    background-color: var(--color-charcoal-black);
}
.block-font-colour-charcoal-black {
    color: var(--color-charcoal-black);
}
.text-colour-charcoal-black {
    color: var(--color-charcoal-black);
}
.block-background-white {
    background-color: var(--color-white);
}
.block-font-colour-white {
    color: var(--color-white);
}
.text-colour-white {
    color: var(--color-white);
}
.block-background-pale-grey {
    background-color: var(--color-pale-grey);
}
.block-font-colour-stone-grey {
    color: var(--color-stone-grey);
}
.text-colour-stone-grey {
    color: var(--color-stone-grey);
}
.block-font-colour-slate-grey {
    color: var(--color-slate-grey);
}
.text-colour-slate-grey {
    color: var(--color-slate-grey);
}
.block-background-black {
    background-color: var(--color-black);
}
:focus-visible, .skip-link:focus {
    outline: 2px solid #00a0d2;
    outline-offset: 2px;
}
