/**
 * 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="900"] {
	--animate-duration: 900ms;
}

.has-scroll-animations [data-animate-duration="1100"] {
	--animate-duration: 1100ms;
}

.has-scroll-animations [data-animate-duration="1300"] {
	--animate-duration: 1300ms;
}

.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="300"] {
	--animate-delay: 300ms;
}

.has-scroll-animations [data-animate-delay="400"] {
	--animate-delay: 400ms;
}

.has-scroll-animations [data-animate-delay="500"] {
	--animate-delay: 500ms;
}

.has-scroll-animations [data-animate-delay="600"] {
	--animate-delay: 600ms;
}

.has-scroll-animations [data-animate-delay="700"] {
	--animate-delay: 700ms;
}

.has-scroll-animations [data-animate="fade"] {
	transform: none;
	transition-property: opacity;
	will-change: opacity;
}

.has-scroll-animations [data-animate].is-animated {
	opacity: 1;
	transform: none;
}

.has-scroll-animations [data-animate="fade-up"] {
	transform: translateY(20px);
	transition-property: opacity, transform;
	will-change: auto;
}

.has-scroll-animations [data-animate="fade-up"].is-animated {
	transform: translateY(0);
}

.has-scroll-animations [data-animate="fade-down"] {
	--animate-translate-y: -20px;
	transform: translateY(var(--animate-translate-y));
	will-change: auto;
}

.has-scroll-animations [data-animate="fade-left"] {
	--animate-translate-x: 20px;
	transform: translateX(var(--animate-translate-x));
	will-change: auto;
}

.has-scroll-animations [data-animate="fade-right"] {
	--animate-translate-x: -20px;
	transform: translateX(var(--animate-translate-x));
	will-change: auto;
}

.has-scroll-animations [data-animate="zoom-in"] {
	transform: scale(0.95);
	transition-property: opacity, transform;
	will-change: auto;
}

.has-scroll-animations [data-animate="blur-in"] {
	filter: blur(5px);
	transition-property: opacity, transform, filter;
	will-change: opacity, transform, filter;
}

.has-scroll-animations [data-animate="blur-in"].is-animated {
	filter: none;
}

.has-scroll-animations [data-animate].is-animation-complete {
	will-change: auto;
}

@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;
    --font-strong-weight: 700;
    --max-content-width-heading-xxs: 14ch;
    --max-content-width-heading-xs: 19ch;
    --max-content-width-heading-s: 25ch;
    --max-content-width-heading-m: 35ch;
    --max-content-width-heading-l: 45ch;
    --max-content-width-heading-xl: 56ch;
    --max-content-width-body-xxs: 32ch;
    --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: 700;
    --font-body-family: 'Inter', sans-serif;
    --font-body-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(1.1709vw + 1.4646rem), 2.6647rem);
    --font-size-xl: clamp(1.44rem, calc(0.6988vw + 1.2828rem), 1.999rem);
    --font-size-l: clamp(1.2rem, calc(0.3745vw + 1.1157rem), 1.4996rem);
    --font-size-m: clamp(1rem, calc(0.1563vw + 0.9648rem), 1.125rem);
    --font-size-s: clamp(0.8333rem, calc(0.0134vw + 0.8303rem), 0.844rem);
    --font-size-xs: clamp(0.6331rem, calc(-0.0766vw + 0.7116rem), 0.6944rem);
    --font-size-xxs: clamp(0.475rem, calc(-0.1296vw + 0.6079rem), 0.5787rem);
    --font-heading-size-hero: clamp(2.6875rem, calc(2.8906vw + 2.0371rem), 5rem);
}
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);
}
strong, b {
    font-weight: var(--font-strong-weight);
}
.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-xxs {
    max-width: var(--max-content-width-heading-xxs);
}
.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-xxs {
    max-width: var(--max-content-width-body-xxs);
}
.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):not(:where(.block-body-copy :where(p, li, blockquote))), .entry--empty p, :where(.wp-block .block-body-copy) {
    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-xxs > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3) {
    max-width: var(--max-content-width-heading-xxs);
}
.base-core-block-layout.core-max-content-width-heading-xxs > .block__inner > :where(h4, .h4, h5, .h5, h6, .h6) {
    max-width: min(120ch, calc(var(--max-content-width-heading-xxs) + 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-xxs > .block__inner > :where(p, blockquote, ul, ol), .base-core-block-layout.core-max-content-width-body-xxs > .block__inner > :where(ul, ol) > li {
    max-width: var(--max-content-width-body-xxs);
}
.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) {
    margin-bottom: 1lh;
    padding-left: 3ch;
}
.wp-block .block-body-copy :where(ul, ol) {
    margin-bottom: 1lh;
    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(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]), .wp-block .block-body-copy a:not(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]) {
    color: var(--font-body-color);
    text-decoration-line: underline;
    transition: color 160ms ease-out, text-decoration-color 160ms ease-out, opacity 160ms ease-out;
}
.entry__content a:not(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]):hover, .entry__content a:not(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]):focus-visible, .wp-block .block-body-copy a:not(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]):hover, .wp-block .block-body-copy a:not(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]):focus-visible {
    color: var(--font-body-color);
    text-decoration-line: underline;
    opacity: 0.82;
}
.entry__content a:where(:has(> img:only-child), :has(> picture:only-child), :has(> span:only-child > img:only-child)):hover,
.entry__content a:where(:has(> img:only-child), :has(> picture:only-child), :has(> span:only-child > img:only-child)):focus-visible,
.wp-block .block-body-copy a:where(:has(> img:only-child), :has(> picture:only-child), :has(> span:only-child > img:only-child)):hover,
.wp-block .block-body-copy a:where(:has(> img:only-child), :has(> picture:only-child), :has(> span:only-child > img:only-child)):focus-visible {
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .entry__content a:not(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]), .wp-block .block-body-copy a:not(.btn):not(.button):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]) {
        transition: none;
    }
}
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded),
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded),
.block-link-hover-underline-fade a:not(.is-link-hover-excluded) {
    position: relative;
    text-decoration: none;
}
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded):where(.btn, .button, .wp-block-button__link, .wp-element-button, [role='button'], :has(> img:only-child), :has(> picture:only-child), :has(> video:only-child), :has(> canvas:only-child), :has(> svg:only-child), :has(> span:only-child > img:only-child), :has(> span:only-child > svg:only-child)),
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):where(.btn, .button, .wp-block-button__link, .wp-element-button, [role='button'], :has(> img:only-child), :has(> picture:only-child), :has(> video:only-child), :has(> canvas:only-child), :has(> svg:only-child), :has(> span:only-child > img:only-child), :has(> span:only-child > svg:only-child)),
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):where(.btn, .button, .wp-block-button__link, .wp-element-button, [role='button'], :has(> img:only-child), :has(> picture:only-child), :has(> video:only-child), :has(> canvas:only-child), :has(> svg:only-child), :has(> span:only-child > img:only-child), :has(> span:only-child > svg:only-child)) {
    position: static;
    text-decoration: inherit;
}
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded)::after,
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded)::after,
.block-link-hover-underline-fade a:not(.is-link-hover-excluded)::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(.is-link-hover-excluded):where(.btn, .button, .wp-block-button__link, .wp-element-button, [role='button'], :has(> img:only-child), :has(> picture:only-child), :has(> video:only-child), :has(> canvas:only-child), :has(> svg:only-child), :has(> span:only-child > img:only-child), :has(> span:only-child > svg:only-child))::after,
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):where(.btn, .button, .wp-block-button__link, .wp-element-button, [role='button'], :has(> img:only-child), :has(> picture:only-child), :has(> video:only-child), :has(> canvas:only-child), :has(> svg:only-child), :has(> span:only-child > img:only-child), :has(> span:only-child > svg:only-child))::after,
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):where(.btn, .button, .wp-block-button__link, .wp-element-button, [role='button'], :has(> img:only-child), :has(> picture:only-child), :has(> video:only-child), :has(> canvas:only-child), :has(> svg:only-child), :has(> span:only-child > img:only-child), :has(> span:only-child > svg:only-child))::after {
    content: none;
}
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded)::after {
    transform: scaleX(0);
    transform-origin: bottom right;
}
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded):hover::after,
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded):focus-visible::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded)::after {
    transform: scaleX(0);
    transform-origin: center;
}
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):hover::after,
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):focus-visible::after {
    transform: scaleX(1);
}
.block-link-hover-underline-fade a:not(.is-link-hover-excluded)::after {
    transform: scaleX(1);
    opacity: 0;
}
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):hover::after,
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):focus-visible::after {
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .block-link-hover-underline-from-left a:not(.is-link-hover-excluded)::after,
    .block-link-hover-underline-from-center a:not(.is-link-hover-excluded)::after,
    .block-link-hover-underline-fade a:not(.is-link-hover-excluded)::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;
}
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);
}
.heading-size-hero {
    font-size: var(--font-heading-size-hero);
    line-height: var(--leading-heading);
}
.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-grayscale: 100%;
    --img-ratio-fullwidth: 16 / 9;
    --img-ratio-tallcard: 4 / 5;
    --img-ratio-widecard: 7 / 4;
}

img[data-img-ratio="fullwidth"] { aspect-ratio: var(--img-ratio-fullwidth); }
img[data-img-ratio="tallcard"] { aspect-ratio: var(--img-ratio-tallcard); }
img[data-img-ratio="widecard"] { aspect-ratio: var(--img-ratio-widecard); }

img[data-img-grayscale="on"] { filter: grayscale(var(--img-grayscale)); }
img[data-img-grayscale="on"][data-img-hover-fade-colour="on"] { transition: filter 300ms ease; }
@media (hover: hover) and (pointer: fine) {
    img[data-img-grayscale="on"][data-img-hover-fade-colour="on"]:hover { filter: grayscale(0%); }
}
: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 {
    width: 100%;
    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__inner > .block-container-align-left > .block__inner {
    margin-inline-start: 0;
}
.block-container-align-left > .block__inner > .block-container-align-center > .block__inner {
    margin-inline-start: 0;
    margin-inline-end: auto;
}
.block-container-align-right > .block__inner {
    margin-inline-start: auto;
    margin-inline-end: var(--container-alignment-reference-edge);
}
.block__inner > .block-container-align-right > .block__inner {
    margin-inline-end: 0;
}
.block-container-align-right > .block__inner > .block-container-align-center > .block__inner {
    margin-inline-start: auto;
    margin-inline-end: 0;
}
@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: 64px;
    --section-space-bottom-m: 64px;
    --section-space-top-l: 80px;
    --section-space-bottom-l: 80px;
    --section-space-top-xl: 112px;
    --section-space-bottom-xl: 112px;
    --space-xxs: 16px;
    --space-xs: 20px;
    --space-s: 26px;
    --space-m: 32px;
    --space-l: 40px;
    --space-xl: 50px;
    --space-xxl: 62px;
}
@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: 80px;
        --section-space-bottom-m: 80px;
        --section-space-top-l: 104px;
        --section-space-bottom-l: 104px;
        --section-space-top-xl: 136px;
        --section-space-bottom-xl: 136px;
    }
}
@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 {
    --btn-asd-bg-color: #ffffff;
    --btn-asd-text-color: #0f0f0f;
    --btn-asd-border-color: #111111;
    --btn-asd-hover-bg-color: #f7f7f8;
    --btn-asd-hover-text-color: #0f0f0f;
    --btn-asd-hover-border-color: #111111;
    --btn-asd-focus-ring-color: #111111;
    --btn-asd-focus-ring-width: 2px;
    --btn-asd-border-width: 1px;
    --btn-asd-border-radius: 0px;
    --btn-asd-font-family: inherit;
    --btn-asd-font-weight: inherit;
    --btn-asd-font-size: inherit;
    --btn-asd-letter-spacing: inherit;
    --btn-asd-text-transform: inherit;
    --btn-asd-padding-top: 12px;
    --btn-asd-padding-right: 20px;
    --btn-asd-padding-bottom: 12px;
    --btn-asd-padding-left: 20px;
    --btn-asd-transition-duration: 200ms;
    --btn-asd-hover-preset: outline-to-solid;
}
.base-theme-button-link {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    line-height: 1.2;
    overflow: hidden;
    isolation: isolate;
    transition-property: color, border-color, background-color, box-shadow, transform;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.base-theme-button-link::before {
    content: "";
    position: absolute;
    inset: 0;
    background: transparent;
    z-index: -1;
    transform: scaleX(0);
    transform-origin: left center;
    pointer-events: none;
    transition-property: transform, opacity;
    transition-timing-function: inherit;
}

@media (prefers-reduced-motion: reduce) {
    .base-theme-button-link,
    .base-theme-button-link::before {
        transition-duration: 0.01ms !important;
    }
    .base-theme-button-link:where(:hover, :focus-visible) {
        transform: none !important;
        box-shadow: none !important;
    }
}

.base-theme-button-link--asd {
    background-color: var(--btn-asd-bg-color);
    color: var(--btn-asd-text-color);
    border-color: var(--btn-asd-border-color);
    border-width: var(--btn-asd-border-width);
    border-style: solid;
    border-radius: var(--btn-asd-border-radius);
    font-family: var(--btn-asd-font-family);
    font-weight: var(--btn-asd-font-weight);
    font-size: var(--btn-asd-font-size);
    letter-spacing: var(--btn-asd-letter-spacing);
    text-transform: var(--btn-asd-text-transform);
    padding-top: var(--btn-asd-padding-top);
    padding-right: var(--btn-asd-padding-right);
    padding-bottom: var(--btn-asd-padding-bottom);
    padding-left: var(--btn-asd-padding-left);
    transition-duration: var(--btn-asd-transition-duration);
}

.base-theme-button-link--asd:focus-visible {
    outline: var(--btn-asd-focus-ring-width) solid var(--btn-asd-focus-ring-color);
    outline-offset: 2px;
}

.base-theme-button-link--asd::before {
    background: var(--btn-asd-hover-bg-color);
    transform: none;
    opacity: 0;
    transition-duration: var(--btn-asd-transition-duration);
}

.base-theme-button-link--asd:focus-visible {
    color: var(--btn-asd-hover-text-color);
    border-color: var(--btn-asd-hover-border-color);
}

@media (hover: hover) and (pointer: fine) {
    .base-theme-button-link--asd:hover {
        color: var(--btn-asd-hover-text-color);
        border-color: var(--btn-asd-hover-border-color);
    }
}

.base-theme-button-link--asd:focus-visible::before {
    opacity: 1;
}

@media (hover: hover) and (pointer: fine) {
    .base-theme-button-link--asd:hover::before {
        opacity: 1;
    }
}

:root {
    --color-colour-1773745367484-1: #0f0f0f;
    --color-charcoal-black: var(--color-colour-1773745367484-1);
    --color-colour-1773746087576-2: #f7f7f8;
    --color-ash-grey: var(--color-colour-1773746087576-2);
    --color-colour-1773761734723-1: #ffffff;
    --color-white: var(--color-colour-1773761734723-1);
    --color-colour-1773761802645-2: #a4a4ab;
    --color-stone-grey: var(--color-colour-1773761802645-2);
    --color-colour-1773761835113-3: #767678;
    --color-slate-grey: var(--color-colour-1773761835113-3);
    --color-primary: var(--color-charcoal-black);
    --color-secondary: var(--color-stone-grey);
    --color-tertiary: #d1d5db;
}
.block-background-charcoal-black {
    background-color: var(--color-charcoal-black);
}
.block-font-colour-charcoal-black {
    color: var(--color-charcoal-black);
}
.block-headings-colour-charcoal-black :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-charcoal-black);
}
.block-headings-colour-charcoal-black :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-charcoal-black {
    color: var(--color-charcoal-black);
}
.block-background-ash-grey {
    background-color: var(--color-ash-grey);
}
.block-background-white {
    background-color: var(--color-white);
}
.block-font-colour-white {
    color: var(--color-white);
}
.block-headings-colour-white :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-white);
}
.block-headings-colour-white :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-white {
    color: var(--color-white);
}
.block-font-colour-stone-grey {
    color: var(--color-stone-grey);
}
.block-headings-colour-stone-grey :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-stone-grey);
}
.block-headings-colour-stone-grey :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-stone-grey {
    color: var(--color-stone-grey);
}
.block-font-colour-slate-grey {
    color: var(--color-slate-grey);
}
.block-headings-colour-slate-grey :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-slate-grey);
}
.block-headings-colour-slate-grey :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-slate-grey {
    color: var(--color-slate-grey);
}
:focus-visible, .skip-link:focus {
    outline: 2px solid #00a0d2;
    outline-offset: 2px;
}
