/**
 * 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;
	}
}

.base-theme-google-map__canvas {
	inline-size: 100%;
	min-block-size: 20rem;
}

.base-theme-google-map__markers {
	margin-top: 1rem;
	padding-left: 1.25rem;
}

.base-theme-google-map__marker + .base-theme-google-map__marker {
	margin-top: 0.5rem;
}

.base-theme-google-map__marker-label,
.base-theme-google-map__marker-address,
.base-theme-google-map__marker-coordinates {
	display: block;
}

: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-preheading-margin-bottom: var(--space-xxs);
    --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: 45ch;
    --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-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(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-large-hero: clamp(2.5rem, calc(2.3438vw + 1.9727rem), 4.375rem);
}
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);
    margin-bottom: var(--font-preheading-margin-bottom);
    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:not(.preheading) {
    margin-bottom: 1lh;
}
.wp-block .block-body-copy p:not(.preheading) {
    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(.base-theme-button-link):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]), .wp-block .block-body-copy a:not(.btn):not(.button):not(.base-theme-button-link):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(.base-theme-button-link):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]):hover, .entry__content a:not(.btn):not(.button):not(.base-theme-button-link):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(.base-theme-button-link):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]):hover, .wp-block .block-body-copy a:not(.btn):not(.button):not(.base-theme-button-link):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]):focus-visible {
    color: var(--font-body-color);
    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(.base-theme-button-link):not(.wp-block-button__link):not(.wp-element-button):not([role="button"]), .wp-block .block-body-copy a:not(.btn):not(.button):not(.base-theme-button-link):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):not(.base-theme-button-link),
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):not(.base-theme-button-link),
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):not(.base-theme-button-link) {
    position: relative;
    text-decoration: none;
}
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded):not(.base-theme-button-link):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):not(.base-theme-button-link):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):not(.base-theme-button-link):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):not(.base-theme-button-link)::after,
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):not(.base-theme-button-link)::after,
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):not(.base-theme-button-link)::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    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):not(.base-theme-button-link):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):not(.base-theme-button-link):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):not(.base-theme-button-link):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):not(.base-theme-button-link)::after {
    transform: scaleX(0);
    transform-origin: bottom right;
}
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded):not(.base-theme-button-link):hover::after,
.block-link-hover-underline-from-left a:not(.is-link-hover-excluded):not(.base-theme-button-link):focus-visible::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):not(.base-theme-button-link)::after {
    transform: scaleX(0);
    transform-origin: center;
}
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):not(.base-theme-button-link):hover::after,
.block-link-hover-underline-from-center a:not(.is-link-hover-excluded):not(.base-theme-button-link):focus-visible::after {
    transform: scaleX(1);
}
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):not(.base-theme-button-link)::after {
    transform: scaleX(1);
    opacity: 0;
}
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):not(.base-theme-button-link):hover::after,
.block-link-hover-underline-fade a:not(.is-link-hover-excluded):not(.base-theme-button-link):focus-visible::after {
    opacity: 1;
}
@media (prefers-reduced-motion: reduce) {
    .block-link-hover-underline-from-left a:not(.is-link-hover-excluded):not(.base-theme-button-link)::after,
    .block-link-hover-underline-from-center a:not(.is-link-hover-excluded):not(.base-theme-button-link)::after,
    .block-link-hover-underline-fade a:not(.is-link-hover-excluded):not(.base-theme-button-link)::after {
        transition: none;
    }
}
button, input[type='submit'], .btn {
    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);
}
.heading-size-large-hero {
    font-size: var(--font-heading-size-large-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);
}

/* Non-preloaded @font-face */
@font-face {
    font-family: 'Inter';
    src: url('https://telljane.lsbwebdesign.uk/wp-content/themes/base-child/fonts/inter.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
:root {
    --img-min-height: 275px;
    --img-grayscale: 100%;
    --img-ratio-fullwidth: 16 / 9;
    --img-ratio-square: 1 / 1;
    --img-ratio-tallcard: 4 / 5;
    --img-ratio-widecard: 7 / 4;
    --img-ratio-team-member: 342 / 360;
}

img[data-img-ratio="fullwidth"] { aspect-ratio: var(--img-ratio-fullwidth); }
img[data-img-ratio="square"] { aspect-ratio: var(--img-ratio-square); }
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-ratio="team-member"] { aspect-ratio: var(--img-ratio-team-member); }

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: 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;
    --space-xxs: 8px;
    --space-xs: 12px;
    --space-s: 16px;
    --space-m: 20px;
    --space-l: 26px;
    --space-xl: 36px;
    --space-xxl: 48px;
}
@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;
}

.block-media-stack {
    --block-media-stack-gap: var(--space-xl);
}

@media (min-width: 1024px) {
    .block-media-stack {
        --block-media-stack-gap: var(--space-xl);
    }
}

.block-media-stack.block-media-stack > * + * {
    margin-top: var(--block-media-stack-gap);
    margin-block-start: var(--block-media-stack-gap);
}

.block-column-gap.block-column-gap {
    --block-column-gap: var(--space-s);
    gap: var(--block-column-gap);
}

@media (min-width: 1024px) {
    .block-column-gap.block-column-gap {
        --block-column-gap: var(--space-m);
    }
}

.block-card-stack {
    --block-card-stack-gap: var(--space-s);
    display: grid;
    row-gap: var(--block-card-stack-gap);
    gap: var(--block-card-stack-gap);
}

@media (min-width: 1024px) {
    .block-card-stack {
        --block-card-stack-gap: var(--space-m);
    }
}

.block-card-stack.block-card-stack > * {
    margin-top: 0;
    margin-bottom: 0;
    margin-block-start: 0;
    margin-block-end: 0;
}

.block-content-buttons {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-s);
}

@media (max-width: 479px) {
    .block-content-buttons {
        flex-direction: column;
        align-items: flex-start;
    }
}

.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-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.base-theme-button-link:not([data-animate]),
.base-theme-button-link.is-animation-complete {
    transition-property: color, border-color, background-color, box-shadow, transform;
}

.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;
    }
}

.has-scroll-animations .base-theme-button-link[data-animate]:not(.is-animation-complete) {
    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);
}

.has-scroll-animations .base-theme-button-link[data-animate="fade"]:not(.is-animation-complete) {
    transition-property: opacity;
}

.has-scroll-animations .base-theme-button-link[data-animate="blur-in"]:not(.is-animation-complete) {
    transition-property: opacity, transform, filter;
}

.has-scroll-animations .base-theme-button-link[data-animate="fade-up"]:not(.is-animated):not(.is-animation-complete) {
    transform: translateY(20px);
}

.has-scroll-animations .base-theme-button-link[data-animate="fade-down"]:not(.is-animated):not(.is-animation-complete) {
    transform: translateY(-20px);
}

.has-scroll-animations .base-theme-button-link[data-animate="fade-left"]:not(.is-animated):not(.is-animation-complete) {
    transform: translateX(20px);
}

.has-scroll-animations .base-theme-button-link[data-animate="fade-right"]:not(.is-animated):not(.is-animation-complete) {
    transform: translateX(-20px);
}

.has-scroll-animations .base-theme-button-link[data-animate="zoom-in"]:not(.is-animated):not(.is-animation-complete) {
    transform: scale(0.95);
}

.has-scroll-animations .base-theme-button-link[data-animate="blur-in"]:not(.is-animated):not(.is-animation-complete) {
    filter: blur(5px);
}

.has-scroll-animations .base-theme-button-link[data-animate].is-animated:not(.is-animation-complete) {
    opacity: 1;
    transform: none;
}

.has-scroll-animations .base-theme-button-link[data-animate="blur-in"].is-animated:not(.is-animation-complete) {
    filter: none;
}

:root {
    --color-colour-1777750087431-1: #0c2840;
    --color-midnight-blue: var(--color-colour-1777750087431-1);
    --color-colour-1777750206432-2: #f5f5f5;
    --color-soft-white: var(--color-colour-1777750206432-2);
    --color-colour-1777750234406-3: #f35608;
    --color-ginger: var(--color-colour-1777750234406-3);
    --color-colour-1777750249327-4: #030d0f;
    --color-dark-slate: var(--color-colour-1777750249327-4);
    --color-colour-1777750261081-5: #d9d9d9;
    --color-grey: var(--color-colour-1777750261081-5);
    --color-colour-1777750274666-6: #04bf7b;
    --color-teal: var(--color-colour-1777750274666-6);
    --color-primary: var(--color-midnight-blue);
    --color-secondary: var(--color-ginger);
    --color-tertiary: #d1d5db;
}
.block-background-midnight-blue {
    background-color: var(--color-midnight-blue);
}
.block-font-colour-midnight-blue {
    color: var(--color-midnight-blue);
}
.block-headings-colour-midnight-blue :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-midnight-blue);
}
.block-headings-colour-midnight-blue :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-midnight-blue {
    color: var(--color-midnight-blue);
}
.block-background-soft-white {
    background-color: var(--color-soft-white);
}
.block-font-colour-soft-white {
    color: var(--color-soft-white);
}
.block-headings-colour-soft-white :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-soft-white);
}
.block-headings-colour-soft-white :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-soft-white {
    color: var(--color-soft-white);
}
.block-background-ginger {
    background-color: var(--color-ginger);
}
.block-font-colour-ginger {
    color: var(--color-ginger);
}
.block-headings-colour-ginger :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-ginger);
}
.block-headings-colour-ginger :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-ginger {
    color: var(--color-ginger);
}
.block-background-dark-slate {
    background-color: var(--color-dark-slate);
}
.block-font-colour-dark-slate {
    color: var(--color-dark-slate);
}
.block-headings-colour-dark-slate :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-dark-slate);
}
.block-headings-colour-dark-slate :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-dark-slate {
    color: var(--color-dark-slate);
}
.block-background-grey {
    background-color: var(--color-grey);
}
.block-font-colour-grey {
    color: var(--color-grey);
}
.block-headings-colour-grey :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-grey);
}
.block-headings-colour-grey :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-grey {
    color: var(--color-grey);
}
.block-background-teal {
    background-color: var(--color-teal);
}
.block-font-colour-teal {
    color: var(--color-teal);
}
.block-headings-colour-teal :is(h1, h2, h3, h4, h5, h6) {
    color: var(--color-teal);
}
.block-headings-colour-teal :where(.wp-block :is(h1, h2, h3, h4, h5, h6)) {
    color: inherit;
}
.text-colour-teal {
    color: var(--color-teal);
}
/* Style rule: adjacent_same_background_trim_spacing */
.wp-block.block-background-midnight-blue + .wp-block.block-background-midnight-blue[class*="block-section-space-top-"],
.wp-block.block-background-soft-white + .wp-block.block-background-soft-white[class*="block-section-space-top-"],
.wp-block.block-background-ginger + .wp-block.block-background-ginger[class*="block-section-space-top-"],
.wp-block.block-background-dark-slate + .wp-block.block-background-dark-slate[class*="block-section-space-top-"],
.wp-block.block-background-grey + .wp-block.block-background-grey[class*="block-section-space-top-"],
.wp-block.block-background-teal + .wp-block.block-background-teal[class*="block-section-space-top-"] {
    padding-top: 0;
}
/* Style rule: adjacent_no_background_trim_spacing */
.wp-block[class*="wp-block-base-theme-"]:not([class*="block-background-"]) + .wp-block[class*="wp-block-base-theme-"]:not([class*="block-background-"])[class*="block-section-space-top-"] {
    padding-top: 0;
}
/* Style rule: background_edge_default_core_spacing */
.wp-block.block-background-midnight-blue + .base-core-block-layout,
.wp-block.block-background-soft-white + .base-core-block-layout,
.wp-block.block-background-ginger + .base-core-block-layout,
.wp-block.block-background-dark-slate + .base-core-block-layout,
.wp-block.block-background-grey + .base-core-block-layout,
.wp-block.block-background-teal + .base-core-block-layout {
    padding-top: var(--section-space-top-m);
}

.base-core-block-layout:has(+ .wp-block.block-background-midnight-blue),
.base-core-block-layout:has(+ .wp-block-base-theme-block-pattern > .base-pattern-selector__content > .wp-block.block-background-midnight-blue:first-child),
.base-core-block-layout:has(+ .wp-block.block-background-soft-white),
.base-core-block-layout:has(+ .wp-block-base-theme-block-pattern > .base-pattern-selector__content > .wp-block.block-background-soft-white:first-child),
.base-core-block-layout:has(+ .wp-block.block-background-ginger),
.base-core-block-layout:has(+ .wp-block-base-theme-block-pattern > .base-pattern-selector__content > .wp-block.block-background-ginger:first-child),
.base-core-block-layout:has(+ .wp-block.block-background-dark-slate),
.base-core-block-layout:has(+ .wp-block-base-theme-block-pattern > .base-pattern-selector__content > .wp-block.block-background-dark-slate:first-child),
.base-core-block-layout:has(+ .wp-block.block-background-grey),
.base-core-block-layout:has(+ .wp-block-base-theme-block-pattern > .base-pattern-selector__content > .wp-block.block-background-grey:first-child),
.base-core-block-layout:has(+ .wp-block.block-background-teal),
.base-core-block-layout:has(+ .wp-block-base-theme-block-pattern > .base-pattern-selector__content > .wp-block.block-background-teal:first-child) {
    padding-bottom: var(--section-space-bottom-m);
}
/* Style rule: trailing_prose_margin_trim */
.entry__content > :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, blockquote, ul, ol):last-child,
.entry__content .base-core-block-layout:last-child > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, blockquote, ul, ol):last-child,
.entry__content .base-core-block-layout:has(+ .wp-block[class*="wp-block-base-theme-"]) > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, blockquote, ul, ol):last-child,
.entry__content .base-core-block-layout:has(+ .wp-block-base-theme-block-pattern > .base-pattern-selector__content > .wp-block[class*="wp-block-base-theme-"]:first-child) > .block__inner > :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, blockquote, ul, ol):last-child,
.wp-block .block-body-copy:last-child > :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, p, blockquote, ul, ol):last-child {
    margin-bottom: 0;
}
/* Style rule: managed_block_content_stack_rhythm */
.block-content-stack {
    --block-content-flow-gap: var(--space-m);
    --block-content-flow-gap-before-buttons: var(--space-xl);
}

.block-content-stack > :not(.preheading) {
    margin-top: 0;
    margin-bottom: 0;
    margin-block-start: 0;
    margin-block-end: 0;
}

.block-content-stack > :not(.preheading) + * {
    margin-top: var(--block-content-flow-gap);
    margin-block-start: var(--block-content-flow-gap);
}

.block-content-stack > :not(.preheading) + .block-content-buttons {
    margin-top: var(--block-content-flow-gap-before-buttons);
    margin-block-start: var(--block-content-flow-gap-before-buttons);
}

.block-content-stack > .block-body-copy > :first-child {
    margin-top: 0;
    margin-block-start: 0;
}

.wp-block .block-content-stack > .block-body-copy > :where(h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6, blockquote, ul, ol):last-child, .wp-block .block-content-stack > .block-body-copy > p:not(.preheading):last-child {
    margin-bottom: 0;
    margin-block-end: 0;
}
:focus-visible, .skip-link:focus {
    outline: 2px solid #00a0d2;
    outline-offset: 2px;
}
