@charset "UTF-8";
:root {
  --colour-white: #fff;
  --colour-black: #000;
  --colour-indigo: #1D0F25;
  --colour-vivid-orange: #EBB100;
  --colour-emerald-green: #0C3237;
  --colour-mulberry: #772F4D;
  --colour-grape: #46256A;
  --colour-mild-orange: #F0A300;
  --colour-emerald-2: #0C4937;
  --colour-mauve-2: #9B2F4D;
  --colour-heather: #905CA5;
  --colour-marigold: #F6C866;
  --colour-sage: #6D9287;
  --colour-damson: #AE5871;
  --colour-dark-red: #BD3D1F;
  --colour-light-red: #E7B8B3;
  --colour-wild: #F2F2F2;
  --colour-mercury: #E9E9E9;
  --colour-linen: #E1DED0;
  --background-light-gradient-1: linear-gradient(270deg, #F6EEF5 14.93%, #FFF 50%, #F1E9F4 85%);
  --background-light-gradient-2: linear-gradient(82deg, #EFEFEF 3.17%, #DEDDF3 19.04%, #ECDCEF 31.06%, #FFEBFF 44.03%, #F7ECE5 57.49%, #F6ECEA 69.99%, #F4E7EC 84.41%);
  --background-dark-gradient-1: linear-gradient(90deg, #241231 0%, #2B173D 50%, #1D0F25 90%);
  --background-dark-gradient-2: linear-gradient(263deg, #2A163C 0%, #3A1F56 100%);
  --background-light-solid: #F7F2F8;
  --background-dark-solid: var(--colour-indigo);
  --gradient-line: linear-gradient(90deg, #6622B1 0%, #F983E9 50%, #EBB100 100%);
  --gradient-dark-text: linear-gradient(90deg, #46256A 0%, #AE5871 50%, #000 100%);
  --gradient-light-text: linear-gradient(90deg, #F0A300 0.06%, #F983E9 52.5%, #F0A300 99.94%);
  --gradient-dark-hover: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(234, 234, 234, 0.05) 50%, rgba(255, 255, 255, 0) 100%);
  --gradient-light-hover: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #F7F2F8 30%, #F7F2F8 70%, rgba(255, 255, 255, 0) 100%);
  --breakpoint-xxxs: 0;
  --breakpoint-xxs: 319px;
  --breakpoint-xs: 479px;
  --breakpoint-sm: 567px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 1024px;
  --breakpoint-xl: 1280px;
  --breakpoint-xxl: 1440px;
  --breakpoint-xxxl: 1620px;
  --spacing-xxxl: 60px;
  --spacing-xxl: 40px;
  --spacing-xl: 40px;
  --spacing-l: 40px;
  --spacing-m: 40px;
  --spacing-s: 32px;
  --spacing-xs: 24px;
  --spacing-xxs: 16px;
  --spacing-xxxs: 8px;
  --spacing-heading: var(--spacing-xs);
  --spacing-typography: var(--spacing-xxs);
  --spacing-block-top: var(--spacing-xxxl);
  --spacing-block-bottom: var(--spacing-xxxl);
  --spacing-gutter: 24px;
  --spacing-margin: 24px;
  --container-max-width: 1440px;
  --container-padding: 24px;
  --border-radius-small: 10px;
  --border-radius-soft: 20px;
  --border-radius-rounded: 40px;
  --border-radius-content: 80px;
  --border-radius-image: 100px;
  --font-family-base: "AktivGrotesk", "serif";
  --font-family-alt: "Degular", "serif";
  --transition-time: 0.2s;
  --transition-all: all var(--transition-time) ease-in-out;
  --scale-default: 1.05;
  --component-video-max-width: var(--block-reduced-max-width-offset);
  --component-video-aspect-ratio: 1.7777777778;
  --component-video-play-icon-background: var(--colour-vivid-orange);
  --component-video-play-icon-colour: var(--colour-white);
}

@media (min-width: 1024px) {
  :root {
    --spacing-xxxl: 120px;
  }
}
@media (min-width: 1024px) {
  :root {
    --spacing-xxl: 80px;
  }
}
@media (min-width: 1024px) {
  :root {
    --spacing-xl: 56px;
  }
}
@media (min-width: 1024px) {
  :root {
    --spacing-l: 48px;
  }
}
@media (min-width: 1024px) {
  :root {
    --spacing-gutter: 48px;
  }
}
@media (min-width: 1024px) {
  :root {
    --spacing-margin: 96px;
  }
}
@media (min-width: 768px) {
  :root {
    --container-padding: 40px;
  }
}
@media (min-width: 1024px) {
  :root {
    --container-padding: 96px;
  }
}
@media (min-width: 1024px) {
  :root {
    --border-radius-image: 150px;
  }
}
@font-face {
  font-family: AktivGrotesk;
  src: url(../../dist/fonts/AktivGrotesk.eot?148c4b3fcfdabff6beebbc935c7e79a5);
  src: local("☺︎"), url(../../dist/fonts/AktivGrotesk.eot?148c4b3fcfdabff6beebbc935c7e79a5?#iefix) format("embedded-opentype"), url(../../dist/fonts/AktivGrotesk.woff2?d343e110ca75f9bafceb5814b9ecf187) format("woff2"), url(../../dist/fonts/AktivGrotesk.woff?2c864aa981e1a321f8ee177e09aa1659) format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: AktivGrotesk;
  src: url(../../dist/fonts/AktivGroteskItalic.eot?e462425b91600347bc7fbf954a0c82b8);
  src: local("☺︎"), url(../../dist/fonts/AktivGroteskItalic.eot?e462425b91600347bc7fbf954a0c82b8?#iefix) format("embedded-opentype"), url(../../dist/fonts/AktivGroteskItalic.woff2?80e68ad80265ab2439057c862b72a6be) format("woff2"), url(../../dist/fonts/AktivGroteskItalic.woff?f0c3a82bff1bccd493358cdbda018352) format("woff");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: AktivGrotesk;
  src: url(../../dist/fonts/AktivGroteskLight.eot?6dbc2c9378e5be3e031da19835632785);
  src: local("☺︎"), url(../../dist/fonts/AktivGroteskLight.eot?6dbc2c9378e5be3e031da19835632785?#iefix) format("embedded-opentype"), url(../../dist/fonts/AktivGroteskLight.woff2?8a77f4d0449bfa26b70b108180ed5806) format("woff2"), url(../../dist/fonts/AktivGroteskLight.woff?399aefb0f266bbee6f42cb4b6765410e) format("woff");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: AktivGrotesk;
  src: url(../../dist/fonts/AktivGroteskMedium.eot?46b8def217d4d757ea179cd10b8063c3);
  src: local("☺︎"), url(../../dist/fonts/AktivGroteskMedium.eot?46b8def217d4d757ea179cd10b8063c3?#iefix) format("embedded-opentype"), url(../../dist/fonts/AktivGroteskMedium.woff2?9d365d9fdcfbaffc33e86820f9b4209c) format("woff2"), url(../../dist/fonts/AktivGroteskMedium.woff?a91d163f301cafbdb6870e2a3dffb192) format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: AktivGrotesk;
  src: url(../../dist/fonts/AktivGroteskMediumItalic.eot?b1f21c876edb4ef0205174c32110f884);
  src: local("☺︎"), url(../../dist/fonts/AktivGroteskMediumItalic.eot?b1f21c876edb4ef0205174c32110f884?#iefix) format("embedded-opentype"), url(../../dist/fonts/AktivGroteskMediumItalic.woff2?560811e6f7ef8f683363eb1d792ae84e) format("woff2"), url(../../dist/fonts/AktivGroteskMediumItalic.woff?b2786df66aa47726df21b1df2814b606) format("woff");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: Degular;
  src: url(../../dist/fonts/Degular.eot?4846438b375e6329162a44c02bb8faaa);
  src: local("☺︎"), url(../../dist/fonts/Degular.eot?4846438b375e6329162a44c02bb8faaa?#iefix) format("embedded-opentype"), url(../../dist/fonts/Degular.woff2?66070c708350a816c9566a0f021cb046) format("woff2"), url(../../dist/fonts/Degular.woff?89bf4995d0ee8e7a5dad2ce246f23155) format("woff");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Degular;
  src: url(../../dist/fonts/DegularItalic.eot?bf5dbedea0d23fbe74cc01ff8a955790);
  src: local("☺︎"), url(../../dist/fonts/DegularItalic.eot?bf5dbedea0d23fbe74cc01ff8a955790?#iefix) format("embedded-opentype"), url(../../dist/fonts/DegularItalic.woff2?52178a0b99b56125437eddfbf76d1ce5) format("woff2"), url(../../dist/fonts/DegularItalic.woff?39b4c5212be57dd840721a15241bcb3d) format("woff");
  font-weight: 400;
  font-style: italic;
}
@font-face {
  font-family: Degular;
  src: url(../../dist/fonts/DegularMedium.eot?7f7ccaf06e6c3a24f85eeed7bac1aaac);
  src: local("☺︎"), url(../../dist/fonts/DegularMedium.eot?7f7ccaf06e6c3a24f85eeed7bac1aaac?#iefix) format("embedded-opentype"), url(../../dist/fonts/DegularMedium.woff2?625020a5ada0dbc8b44cd20a557f46b2) format("woff2"), url(../../dist/fonts/DegularMedium.woff?9677c35cd3258903d7af6ad5ddf70a1e) format("woff");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: Degular;
  src: url(../../dist/fonts/DegularMediumItalic.eot?914751143f55e738da4ff618184cc5ec);
  src: local("☺︎"), url(../../dist/fonts/DegularMediumItalic.eot?914751143f55e738da4ff618184cc5ec?#iefix) format("embedded-opentype"), url(../../dist/fonts/DegularMediumItalic.woff2?44809c6a57e3bba63dc2b4a9485d8f18) format("woff2"), url(../../dist/fonts/DegularMediumItalic.woff?8b8c6004e4c311bb57110361f89a1758) format("woff");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: Degular;
  src: url(../../dist/fonts/DegularMediumItalic.eot?914751143f55e738da4ff618184cc5ec);
  src: local("☺︎"), url(../../dist/fonts/DegularMediumItalic.eot?914751143f55e738da4ff618184cc5ec?#iefix) format("embedded-opentype"), url(../../dist/fonts/DegularMediumItalic.woff2?44809c6a57e3bba63dc2b4a9485d8f18) format("woff2"), url(../../dist/fonts/DegularMediumItalic.woff?8b8c6004e4c311bb57110361f89a1758) format("woff");
  font-weight: 500;
  font-style: italic;
}
@font-face {
  font-family: Degular;
  src: url(../../dist/fonts/DegularSemiBold.eot?8871a83b795ac0d1a0fdd09864e41a7a);
  src: local("☺︎"), url(../../dist/fonts/DegularSemiBold.eot?8871a83b795ac0d1a0fdd09864e41a7a?#iefix) format("embedded-opentype"), url(../../dist/fonts/DegularSemiBold.woff2?414d99996af3ecbc668916dbdc37a76a) format("woff2"), url(../../dist/fonts/DegularSemiBold.woff?e27d61f7373b0c069e1b2af918f13deb) format("woff");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: Degular;
  src: url(../../dist/fonts/DegularBold.eot?4aac3e83fa6131072fffddde37e89277);
  src: local("☺︎"), url(../../dist/fonts/DegularBold.eot?4aac3e83fa6131072fffddde37e89277?#iefix) format("embedded-opentype"), url(../../dist/fonts/DegularBold.woff2?82fcca27a3d09282cc50e345345b065e) format("woff2"), url(../../dist/fonts/DegularBold.woff?d3d3df0d8bb02f940c2b470d336d79f8) format("woff");
  font-weight: 700;
  font-style: normal;
}
body {
  background: var(--background-light-solid);
  -webkit-font-smoothing: antialiased;
  margin: 0;
}

body * {
  box-sizing: border-box;
}

body #content {
  transition: var(--transition-all);
}

body.mega-menu-active #content {
  filter: brightness(50%);
}

.skip-link {
  align-content: center;
  background-color: var(--colour-mild-orange);
  color: var(--colour-black);
  display: flex;
  justify-content: center;
  left: 1px;
  outline: none;
  outline-offset: 0;
  padding: 0.5rem 1rem 1rem;
  position: absolute;
  right: 1px;
  text-decoration: none;
  top: -100%;
  width: calc(100% - 2px);
  z-index: 2000;
}

.skip-link:focus {
  color: var(--colour-black);
  position: fixed;
  text-decoration: underline;
  top: 1px;
  transition: var(--transition-all);
}

.skip-link:visited {
  color: var(--colour-black);
}

.container {
  margin: 0 auto;
  max-width: calc(var(--container-max-width) + 2 * var(--container-padding));
  padding: 0 var(--container-padding);
}

img {
  display: block;
  height: auto;
  max-width: 100%;
}

button {
  background: none;
  border: none;
  color: inherit;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  margin: 0;
  padding: 0;
}

body {
  font-size: 18px;
  line-height: 150%;
  font-weight: 300;
  font-family: var(--font-family-base);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--font-family-alt);
}

h1 {
  font-size: 30px;
  line-height: 120%;
  font-weight: 400;
}

h2 {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
}

h3 {
  font-size: 20px;
  line-height: 120%;
  font-weight: 400;
}

h4,
h5,
h6 {
  font-size: 20px;
  line-height: 150%;
  font-weight: 400;
}

.heading-display {
  font-size: 42px;
  line-height: 120%;
  font-weight: 500;
}

@media (min-width: 1024px) {
  .heading-display {
    font-size: 60px;
  }
}
.heading-large {
  font-size: 36px;
  line-height: 120%;
  font-weight: 500;
}

@media (min-width: 1024px) {
  .heading-large {
    font-size: 40px;
  }
}
.heading-medium {
  font-size: 30px;
  line-height: 120%;
  font-weight: 400;
}

.heading-small {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
}

.heading-xsmall {
  font-size: 20px;
  line-height: 120%;
  font-weight: 400;
}

.body-xlarge {
  font-size: 20px;
  line-height: 150%;
  font-weight: 400;
}

.body-large {
  font-size: 18px;
  line-height: 150%;
  font-weight: 300;
}

.body-medium {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
}

.body-small {
  font-size: 14px;
  line-height: 150%;
  font-weight: 300;
}

.quote {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
}

@media (min-width: 1024px) {
  .quote {
    font-size: 30px;
  }
}
h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

.base-font {
  font-family: var(--font-family-base);
}

.alt-font {
  font-family: var(--font-family-alt);
}

.light-text-gradient {
  background: var(--gradient-light-text);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

.dark-text-gradient {
  background: var(--gradient-dark-text);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}

a {
  text-decoration: none;
  color: inherit;
}

strong,
b {
  font-weight: 700;
}

.screen-reader-text {
  border: 0;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  word-wrap: normal !important;
}

.intro,
.lead {
  background: var(--background-dark-gradient-2);
  padding: var(--spacing-xs);
  border-radius: 0 var(--border-radius-soft);
  color: var(--colour-wild);
  margin: 0 0 var(--spacing-s);
  display: block;
}

pre {
  border: 1px solid var(--colour-indigo);
  background: var(--colour-wild);
  padding: var(--spacing-xs);
  border-radius: var(--border-radius-small);
  margin: 0 0 var(--spacing-s);
  overflow: auto;
}

blockquote:not(.tiktok-embed) {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  background: var(--gradient-dark-text);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  display: flex;
  gap: var(--spacing-gutter);
  margin: 0;
}

@media (min-width: 1024px) {
  blockquote:not(.tiktok-embed) {
    font-size: 30px;
  }
}
blockquote:not(.tiktok-embed)::before, blockquote:not(.tiktok-embed)::after {
  -webkit-mask-image: url(../../dist/images/quote.svg?3385b1e10a24f3d39a954f609acd4a08);
          mask-image: url(../../dist/images/quote.svg?3385b1e10a24f3d39a954f609acd4a08);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  content: "";
  display: block;
  flex: 0 0 36px;
  width: 36px;
  height: 26px;
  background-color: var(--colour-mild-orange);
}

blockquote:not(.tiktok-embed)::after {
  transform: rotate(180deg);
  margin-top: auto;
}

blockquote:not(.tiktok-embed) p {
  margin: 0;
}

.wp-caption {
  max-width: 100%;
  margin: 0;
}

.wp-caption .wp-caption-text {
  font-size: 14px;
  line-height: 150%;
  font-weight: 300;
  margin: var(--spacing-xxs) 0 0;
}

.mce-content-body h1,
.mce-content-body h2,
.mce-content-body h3,
.mce-content-body h4,
.mce-content-body h5,
.mce-content-body h6,
.wysiwyg h1,
.wysiwyg h2,
.wysiwyg h3,
.wysiwyg h4,
.wysiwyg h5,
.wysiwyg h6 {
  margin: 0 0 var(--spacing-heading);
}

.mce-content-body img,
.wysiwyg img {
  border-radius: var(--border-radius-soft);
}

.mce-content-body .wp-caption,
.mce-content-body blockquote,
.wysiwyg .wp-caption,
.wysiwyg blockquote {
  margin: var(--spacing-s) 0;
}

.mce-content-body pre,
.mce-content-body > p:not(.intro),
.wysiwyg pre,
.wysiwyg > p:not(.intro) {
  margin: 0 0 var(--spacing-typography);
}

.mce-content-body pre > img,
.mce-content-body > p:not(.intro) > img,
.wysiwyg pre > img,
.wysiwyg > p:not(.intro) > img {
  margin: var(--spacing-s) 0;
}

.mce-content-body ul,
.mce-content-body ol,
.wysiwyg ul,
.wysiwyg ol {
  margin-bottom: var(--spacing-typography);
}

.mce-content-body ul > :first-child,
.mce-content-body ol > :first-child,
.wysiwyg ul > :first-child,
.wysiwyg ol > :first-child {
  margin-top: 0 !important;
}

.mce-content-body ul > :last-child,
.mce-content-body ol > :last-child,
.wysiwyg ul > :last-child,
.wysiwyg ol > :last-child {
  margin-bottom: 0 !important;
}

.mce-content-body ul li,
.mce-content-body ol li,
.wysiwyg ul li,
.wysiwyg ol li {
  margin: 0 0 var(--spacing-xxxs);
}

.mce-content-body a:not(.btn),
.wysiwyg a:not(.btn) {
  text-decoration: underline;
  text-underline-position: from-font;
}

.mce-content-body > :first-child,
.wysiwyg > :first-child {
  margin-top: 0 !important;
}

.mce-content-body > :last-child,
.wysiwyg > :last-child {
  margin-bottom: 0 !important;
}

body:not(.wp-admin) section:first-of-type {
  --spacing-block-top: calc(var(--spacing-xxxl) + 80px);
}

body:not(.wp-admin) section:last-of-type {
  --spacing-block-bottom: calc(var(--spacing-xxxl) + var(--border-radius-image));
}

section.standard-spacing:not(section.standard-spacing--bg) {
  margin: var(--spacing-block-top) 0 var(--spacing-block-bottom);
}

section.standard-spacing--bg {
  padding: var(--spacing-block-top) 0 var(--spacing-block-bottom);
}

section.standard-spacing--bg--light-solid + section.standard-spacing--bg--light-solid {
  padding-top: 0;
}

section.standard-spacing--bg--light-gradient-1 {
  background: var(--background-light-gradient-1);
}

section.standard-spacing--bg--light-gradient-1 + section.standard-spacing--bg--light-gradient-1 {
  padding-top: 0;
}

section.standard-spacing--bg--light-gradient-2 {
  background: var(--background-light-gradient-2);
}

section.standard-spacing--bg--light-gradient-2 + section.standard-spacing--bg--light-gradient-2 {
  padding-top: 0;
}

section.standard-spacing--bg--aurora-main {
  background-image: url(../../dist/images/aurora-1.webp?e5e68e97780237f1905dcc8a7ffac0e6);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

section.standard-spacing--bg--aurora-main + section.standard-spacing--bg--aurora-main {
  padding-top: 0;
}

section.standard-spacing--bg--aurora-secondary {
  background-image: url(../../dist/images/aurora-2.webp?7b8b169dc42823e05cd7dbd2bea10b59);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

section.standard-spacing--bg--aurora-secondary + section.standard-spacing--bg--aurora-secondary {
  padding-top: 0;
}

section.standard-spacing--bg--dark-gradient-1 {
  background: var(--background-dark-gradient-1);
}

section.standard-spacing--bg--dark-gradient-1 + section.standard-spacing--bg--dark-gradient-1 {
  padding-top: 0;
}

section.standard-spacing--bg--dark-gradient-2 {
  background: var(--background-dark-gradient-2);
}

section.standard-spacing--bg--dark-gradient-2 + section.standard-spacing--bg--dark-gradient-2 {
  padding-top: 0;
}

section.standard-spacing--bg--dark-solid {
  background-color: var(--background-dark-solid);
}

section.standard-spacing--bg--dark-solid + section.standard-spacing--bg--dark-solid {
  padding-top: 0;
}

section.standard-spacing--bg--animated-gradient {
  background: linear-gradient(-45deg, var(--colour-mulberry), var(--colour-indigo), var(--colour-emerald-green), var(--colour-grape));
  background-size: 400% 400%;
  animation: animated-gradient 15s ease infinite;
  position: relative;
}

section.standard-spacing--bg--animated-gradient + section.standard-spacing--bg--animated-gradient {
  padding-top: 0;
}

.icon {
  --icon-color: var(--colour-indigo);
  --icon-width: 20px;
  --icon-height: 20px;
  display: inline-flex;
  align-items: center;
  gap: var(--spacing-xxxs);
}

.icon::after {
  content: "";
  display: inline-block;
  flex: 0 0 var(--icon-width);
  width: var(--icon-width);
  height: var(--icon-height);
  background-color: var(--icon-color);
  transition: var(--transition-all);
}

.icon--arrow::after, .icon--arrow--left::after, .icon--arrow--down::after {
  -webkit-mask-image: url(../../dist/images/arrow.svg?3bbbe78bc3921181d45f65eea30fe273);
          mask-image: url(../../dist/images/arrow.svg?3bbbe78bc3921181d45f65eea30fe273);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.icon--chevron::after, .icon--chevron--left::after, .icon--chevron--down::after {
  -webkit-mask-image: url(../../dist/images/chevron.svg?f414c6c057e593d783ef109d61f38574);
          mask-image: url(../../dist/images/chevron.svg?f414c6c057e593d783ef109d61f38574);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.icon--arrow--left::after, .icon--chevron--left::after {
  transform: rotate(180deg);
}

.icon--arrow--down::after, .icon--chevron--down::after {
  transform: rotate(90deg);
}

.icon--cross {
  --icon-width: 13px;
  --icon-height: 13px;
}

.icon--cross::after {
  -webkit-mask-image: url(../../dist/images/cross.svg?5dc73c3dafe8cbe91ac53612ee891854);
          mask-image: url(../../dist/images/cross.svg?5dc73c3dafe8cbe91ac53612ee891854);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.icon--new-tab::after {
  -webkit-mask-image: url(../../dist/images/new-tab.svg?f54d2844c0b9a599e6501670a5debb2a);
          mask-image: url(../../dist/images/new-tab.svg?f54d2844c0b9a599e6501670a5debb2a);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}

.icon--spaced {
  display: flex;
  justify-content: space-between;
}

.icon--first::after {
  order: -1;
}

.btn {
  --button-text-color: var(--colour-indigo);
  --icon-color: var(--button-text-color);
  --button-bg-color: transparent;
  --button-border-color: var(--button-bg-color);
  --button-outline-color: var(--colour-vivid-orange);
  --button-border-radius: var(--border-radius-rounded);
  --button-height: 52px;
  --button-padding: 0 var(--spacing-m);
  font-size: 20px;
  line-height: 120%;
  font-weight: 500;
  font-family: var(--font-family-alt);
  display: inline-flex;
  align-items: center;
  outline-offset: 2px;
  padding: var(--button-padding);
  font-family: var(--font-family-alt);
  height: var(--button-height);
  border-radius: var(--button-border-radius);
  color: var(--button-text-color);
  border: 2px solid var(--button-border-color);
  background-color: var(--button-bg-color);
  transition: var(--transition-all);
}

.btn:focus {
  outline: 2px solid var(--button-outline-color);
}

.btn--primary {
  --button-bg-color: var(--colour-mild-orange);
}

.btn--primary:focus, .btn--primary:hover {
  --button-bg-color: var(--colour-vivid-orange);
}

.btn--secondary {
  --button-border-color: var(--colour-mild-orange);
}

.btn--secondary:focus, .btn--secondary:hover {
  --button-bg-color: var(--colour-mild-orange);
}

.btn--secondary.btn--dark {
  --button-border-color: var(--colour-mild-orange);
  --button-text-color: var(--colour-wild);
}

.btn--secondary.btn--dark:focus, .btn--secondary.btn--dark:hover {
  --button-bg-color: var(--colour-vivid-orange);
  --button-text-color: var(--colour-indigo);
}

.btn--tertiary {
  --button-border-color: var(--colour-indigo);
  --button-outline-color: var(--colour-white);
}

.btn--tertiary:focus, .btn--tertiary:hover {
  --button-bg-color: var(--colour-indigo);
  --button-text-color: var(--colour-white);
}

.btn--link {
  --button-padding: 0;
  --button-border-radius: 0;
  --button-outline-color: var(--colour-indigo);
  position: relative;
  border-top: 0;
  border-left: 0;
  border-right: 0;
}

.btn--link::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background-color: var(--button-outline-color);
  bottom: -6px;
  opacity: 0;
  transition: var(--transition-all);
}

.btn--link:hover, .btn--link:focus {
  --button-border-color: var(--colour-mild-orange);
}

.btn--link:focus {
  outline: 0;
}

.btn--link:focus::before {
  opacity: 1;
}

.btn--link--gradient {
  --button-border-color: transparent;
}

.btn--link--gradient::before {
  content: "";
  position: absolute;
  width: 100%;
  height: 2px;
  background: var(--gradient-line);
  bottom: -2px;
  opacity: 0;
  transition: var(--transition-all);
}

.btn--link--gradient:hover::before, .btn--link--gradient:focus::before {
  opacity: 1;
}

.btn--link.btn--dark {
  --button-text-color: var(--colour-wild);
  --button-outline-color: var(--colour-wild);
}

.header {
  align-items: center;
  background-color: var(--colour-indigo);
  border-radius: 60px;
  display: flex;
  justify-content: flex-end;
  left: var(--container-padding);
  padding-bottom: var(--spacing-xxs);
  padding-top: var(--spacing-xxs);
  position: fixed;
  right: var(--container-padding);
  top: var(--spacing-xs);
  z-index: 1000;
}

@media (max-width: 1023.98px) {
  .header {
    padding-left: var(--spacing-xs);
    padding-right: var(--spacing-xs);
  }
}
@media (min-width: 1024px) {
  .header {
    --container-padding: var(--spacing-l);
    left: var(--spacing-l);
    right: var(--spacing-l);
  }
}
@media (min-width: 1280px) {
  .header {
    padding-bottom: 0;
    padding-top: 0;
  }
}
.header__logo {
  margin-right: auto;
}

.header__logo img {
  display: block;
}

@media (max-width: 1279.98px) {
  .header__logo img {
    height: 30px;
    width: auto;
  }
}
.header__nav {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 1280px) {
  .header__nav {
    display: flex;
    gap: var(--spacing-m);
  }
}
.header__nav li {
  align-items: center;
  display: flex;
  height: 76px;
}

.header__nav li > a {
  font-size: 20px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  color: var(--colour-white);
}

.header__mega-menu-anchor {
  align-items: center;
  display: inline-flex;
  gap: var(--spacing-xxxs);
}

.header__mega-menu-anchor::after {
  -webkit-mask-image: url(../../dist/images/chevron.svg?f414c6c057e593d783ef109d61f38574);
          mask-image: url(../../dist/images/chevron.svg?f414c6c057e593d783ef109d61f38574);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: var(--colour-mild-orange);
  content: "";
  display: block;
  height: 20px;
  transform: rotate(90deg);
  transition: var(--transition-all);
  width: 20px;
}

.header__mega-menu-anchor--active::after {
  transform: rotate(-90deg);
}

.header__nav-hover-bar {
  background: var(--gradient-line);
  bottom: 0;
  display: none;
  height: 0;
  left: 0;
  position: absolute;
}

@media (min-width: 1280px) {
  .header__nav-hover-bar {
    display: block;
  }
}
.header__nav-hover-bar--active {
  height: 4px;
  transition: var(--transition-all);
}

.header__button {
  --button-height: 44px;
  margin-left: 24px;
}

@media (max-width: 1279.98px) {
  .header__button {
    display: none;
  }
}
@media (min-width: 1280px) {
  .header__button {
    margin-left: var(--spacing-l);
  }
}
.header__search {
  display: grid;
  height: 30px;
  margin-right: var(--spacing-xs);
}

@media (min-width: 1280px) {
  .header__search {
    height: 40px;
    margin-left: var(--spacing-xs);
    margin-right: 0;
  }
}
.header__search svg {
  grid-column: 1;
  grid-row: 1;
  height: 30px;
  transition: var(--transition-all);
  width: 30px;
}

@media (min-width: 1280px) {
  .header__search svg {
    height: 40px;
    width: 40px;
  }
}
.header__search svg:last-of-type {
  opacity: 0;
  padding: 6px;
}

@media (min-width: 1280px) {
  .header__search svg:last-of-type {
    height: 40px;
    width: 40px;
  }
}
.header__search path {
  fill: var(--colour-white);
}

.header__search--active svg:first-of-type {
  opacity: 0;
}

.header__search--active svg:last-of-type {
  opacity: 1;
}

@media (min-width: 1280px) {
  .header__burger-wrapper {
    display: none;
  }
}
.header__burger {
  display: flex;
  flex-direction: column;
  gap: 7px;
  height: 20px;
  position: relative;
  width: 24px;
}

.header__burger-bar {
  background-color: var(--colour-mild-orange);
  height: 2px;
  transition: var(--transition-all);
  width: 100%;
}

.header__burger--active .header__burger-bar:nth-of-type(1) {
  transform: translateY(9px) rotate(45deg);
}

.header__burger--active .header__burger-bar:nth-of-type(2) {
  opacity: 0;
}

.header__burger--active .header__burger-bar:nth-of-type(3) {
  transform: translateY(-9px) rotate(-45deg);
}

.footer {
  position: relative;
  background: var(--background-dark-gradient-2);
  color: var(--colour-wild);
  padding: var(--spacing-xxl) 0 var(--spacing-xs);
  border-top-right-radius: var(--border-radius-image);
  margin-top: calc(var(--border-radius-image) * -1);
}

.footer__locations-title {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  margin: 0 0 var(--spacing-l);
}

.footer__locations-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-xxs);
  padding-bottom: var(--spacing-m);
  border-bottom: 1px solid var(--colour-wild);
  margin-bottom: var(--spacing-m);
}

@media (min-width: 768px) {
  .footer__locations-list {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (min-width: 1280px) {
  .footer__locations-list {
    grid-template-columns: repeat(6, 1fr);
  }
}
.footer__location {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
  padding: var(--spacing-xxs);
  background-color: var(--colour-grape);
  border-radius: var(--border-radius-small);
}

.footer__top-row {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
  display: flex;
  gap: var(--spacing-l);
  padding-bottom: var(--spacing-xxxl);
  position: relative;
  flex-direction: column;
}

@media (min-width: 1024px) {
  .footer__top-row {
    flex-flow: wrap;
    padding-bottom: var(--spacing-xxl);
    flex-direction: row;
  }
  .footer__top-row > * {
    flex: 1;
  }
}
.footer__top-row::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: var(--container-padding);
  right: var(--container-padding);
  height: 1px;
  background-color: var(--colour-wild);
}

.footer__contact-details a, .footer__careers a, .footer__menu a, .footer__form-desc a {
  position: relative;
  border-bottom: 2px solid transparent;
  transition: var(--transition-all);
  display: inline-block;
}

.footer__contact-details a::before, .footer__careers a::before, .footer__menu a::before, .footer__form-desc a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  opacity: 0;
  transition: var(--transition-all);
  bottom: -6px;
  background-color: var(--colour-indigo);
}

.footer__contact-details a:hover, .footer__contact-details a:focus, .footer__careers a:hover, .footer__careers a:focus, .footer__menu a:hover, .footer__menu a:focus, .footer__form-desc a:hover, .footer__form-desc a:focus {
  border-color: var(--colour-mild-orange);
}

.footer__contact-details a:focus, .footer__careers a:focus, .footer__menu a:focus, .footer__form-desc a:focus {
  outline: none;
}

.footer__contact-details a:focus::before, .footer__careers a:focus::before, .footer__menu a:focus::before, .footer__form-desc a:focus::before {
  opacity: 1;
}

@media (min-width: 1024px) {
  .footer__newsletter, .footer__contact-details {
    order: 3;
  }
}
@media (min-width: 1440px) {
  .footer__newsletter, .footer__contact-details {
    flex: 1;
    max-width: 324px;
    order: unset;
  }
}
@media (min-width: 1024px) {
  .footer__contact-details {
    flex: 0 0 324px;
  }
}
.footer__socials, .footer__careers {
  flex: 0 0 33%;
}

@media (min-width: 1440px) {
  .footer__socials, .footer__careers {
    flex: 1;
  }
}
@media (min-width: 1440px) {
  .footer__logo, .footer__socials {
    max-width: 200px;
  }
}
@media (min-width: 1024px) {
  .footer__careers {
    max-width: 125px;
  }
}
@media (min-width: 1620px) {
  .footer__careers {
    max-width: 200px;
  }
}
@media (min-width: 1024px) {
  .footer__logo {
    flex: 0 0 325px;
  }
}
.footer__logo img {
  max-width: 160px;
}

.footer__title {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  margin: 0 0 var(--spacing-xxs);
}

.footer__email {
  display: inline-block;
  margin: 0 0 var(--spacing-xs);
}

.footer__phones {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
}

.footer__phone {
  display: flex;
  gap: var(--spacing-xxs);
}

.footer__phone span {
  flex: 0 0 106px;
}

.footer__form-message {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  margin: var(--spacing-xs) 0;
}

.footer__form {
  margin: var(--spacing-xs) 0;
}

.footer__form--submitting {
  filter: blur(2px);
}

.footer__form__label {
  font-size: 14px;
  line-height: 150%;
  font-weight: 300;
  display: block;
}

.footer__form__input-wrapper {
  position: relative;
  --input-focus-colour: var(--colour-wild);
}

.footer__form__input-wrapper input:focus,
.footer__form__input-wrapper textarea:focus,
.footer__form__input-wrapper select:focus,
.footer__form__input-wrapper label:focus {
  outline: 0;
}

.footer__form__input-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -4px;
  width: 100%;
  height: 2px;
  background-color: transparent;
  transition: var(--transition-all);
}

.footer__form__input-wrapper:has(*:focus)::after {
  background-color: var(--input-focus-colour, var(--colour-indigo));
}

.footer__form__input {
  --input-text-colour: var(--colour-wild);
  --input-border-colour: var(--colour-wild);
  font-size: 18px;
  line-height: 150%;
  font-weight: 300;
  font-family: var(--font-family-base);
  display: block;
  color: var(--input-text-colour, var(--colour-indigo));
  width: 100%;
  height: 48px;
  border: 0;
  border-bottom: 2px solid var(--input-border-colour, var(--colour-indigo));
  background-color: transparent;
  transition: var(--transition-all);
  margin: 0 0 var(--spacing-xs);
}

.footer__form__input::-moz-placeholder {
  color: var(--input-text-colour, var(--colour-indigo));
}

.footer__form__input::placeholder {
  color: var(--input-text-colour, var(--colour-indigo));
}

.footer__form__input:focus, .footer__form__input:hover {
  --input-border-colour: var(--colour-mild-orange);
}

.footer__form__button {
  cursor: pointer;
}

.footer__bottom-row {
  display: flex;
  flex-flow: wrap;
  gap: var(--spacing-l);
  row-gap: var(--spacing-xxs);
  flex-direction: column;
  margin-top: var(--spacing-xxxl);
}

@media (min-width: 1024px) {
  .footer__bottom-row {
    margin-top: var(--spacing-xs);
    justify-content: space-between;
    flex-direction: row;
  }
}
.footer__menu {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  gap: var(--spacing-xs);
  flex-direction: column;
}

@media (min-width: 1024px) {
  .footer__menu {
    flex-direction: row;
  }
}
.footer__tagline {
  order: 2;
  text-align: center;
  margin-top: 20px;
  flex: 0 0 100%;
}

@media (min-width: 1440px) {
  .footer__tagline {
    flex: unset;
    margin-top: 0;
    order: unset;
    text-align: left;
  }
}
.mega-menu {
  position: absolute;
  top: 93px;
  left: 0;
  right: 0;
  z-index: 999;
  max-width: 1564px;
  max-height: 0;
  margin: 0 auto;
  overflow: hidden;
  transition: var(--transition-all);
  height: auto;
  display: none;
  visibility: hidden;
}

@media (min-width: 1280px) {
  .mega-menu {
    display: block;
  }
}
.mega-menu--active {
  max-height: 1000px;
  visibility: visible;
}

.mega-menu__close {
  position: absolute;
  top: 40px;
  right: 32px;
}

.mega-menu__close::after {
  transition: var(--transition-all);
}

.mega-menu__close:hover::after, .mega-menu__close:focus-visible::after {
  background-color: var(--colour-mild-orange);
}

.mega-menu__inner {
  display: flex;
  align-items: stretch;
  margin-top: var(--spacing-xxxs);
  background-color: var(--colour-white);
  border-top-left-radius: var(--border-radius-rounded);
  border-top-right-radius: var(--border-radius-rounded);
  border-bottom-right-radius: var(--border-radius-content);
  overflow: hidden;
}

.mega-menu__sidebar {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: var(--spacing-xs) var(--spacing-l) var(--spacing-xs) 46px;
  flex: 0 0 340px;
}

@media (min-width: 1440px) {
  .mega-menu__sidebar {
    padding: var(--spacing-xs) var(--spacing-l) var(--spacing-xs) 70px;
  }
}
.mega-menu__sidebar-item {
  flex: none;
  text-transform: capitalize;
}

.mega-menu__sidebar-item--active::before {
  opacity: 1;
}

.mega-menu__content {
  flex: 1;
}

.mega-menu__tab {
  display: none;
  height: 100%;
  max-height: 100%;
}

.mega-menu__tab--active {
  display: flex;
}

.mega-menu__column {
  padding: var(--spacing-xs);
}

.mega-menu__column--upsell {
  display: none;
  padding-left: var(--spacing-l);
  padding-right: 70px;
}

@media (min-width: 1440px) {
  .mega-menu__column--upsell {
    max-width: 394px;
    display: block;
  }
}
.mega-menu__column--upsell .btn {
  margin-top: var(--spacing-xs);
}

.mega-menu__column--upsell:has(.btn:hover) img {
  scale: var(--scale-default);
}

.mega-menu__column--services {
  background-color: var(--background-light-solid);
  flex: 1;
  overflow: hidden auto;
  scrollbar-gutter: stable;
}

.mega-menu__upsell-image-wrapper {
  border-radius: var(--border-radius-soft);
  overflow: hidden;
  margin: 0 0 var(--spacing-xs);
}

.mega-menu__upsell-image {
  transition: var(--transition-all);
}

.mega-menu__upsell-title {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  margin: 0 0 var(--spacing-xxs);
}

.mega-menu__header {
  margin: 0 0 var(--spacing-xs);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxs);
  align-items: flex-start;
}

@media (min-width: 1280px) {
  .mega-menu__header {
    margin-top: var(--spacing-xxxs);
    padding: 0 var(--spacing-xxs);
  }
}
@media (min-width: 1440px) {
  .mega-menu__header {
    margin-bottom: var(--spacing-m);
  }
}
.mega-menu__header__title {
  font-size: 30px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  background: var(--gradient-dark-text);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  position: relative;
  border-bottom: 2px solid transparent;
  transition: var(--transition-all);
  --icon-color: transparent;
  text-transform: capitalize;
  padding-bottom: 8px;
}

.mega-menu__header__title::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 2px;
  opacity: 0;
  transition: var(--transition-all);
  bottom: -6px;
  background-color: var(--colour-indigo);
}

.mega-menu__header__title:hover, .mega-menu__header__title:focus {
  border-color: var(--colour-mild-orange);
}

.mega-menu__header__title:focus {
  outline: none;
}

.mega-menu__header__title:focus::before {
  opacity: 1;
}

.mega-menu__header__title:hover, .mega-menu__header__title:focus-visible {
  --icon-color: var(--colour-indigo);
}

.mega-menu__services {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--spacing-xs) var(--spacing-xxxs);
}

@media (min-width: 1440px) {
  .mega-menu__services {
    -moz-column-gap: var(--spacing-l);
         column-gap: var(--spacing-l);
  }
}
.mega-menu__service {
  display: flex;
  flex-direction: column;
  padding: var(--spacing-xxs);
  border-radius: var(--border-radius-small);
  transition: var(--transition-all);
  text-decoration: none;
}

@media (min-width: 1440px) {
  .mega-menu__service {
    gap: var(--spacing-xxxs);
  }
}
.mega-menu__service__title {
  font-size: 20px;
  line-height: 120%;
  font-weight: 500;
  font-family: var(--font-family-alt);
  --icon-color: transparent;
  text-transform: capitalize;
}

.mega-menu__service__desc {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
}

.mega-menu__service:hover {
  background-color: var(--colour-white);
}

.mega-menu__service:hover .mega-menu__service__title {
  --icon-color: var(--colour-indigo);
}

.mega-menu__cards {
  display: grid;
  gap: var(--spacing-xs);
}

@media (min-width: 1280px) {
  .mega-menu__cards {
    margin: 0 0 var(--spacing-xxs);
    padding: 0 var(--spacing-xxs);
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-l);
  }
}
.mega-menu__card > :first-child {
  margin-top: 0 !important;
}

.mega-menu__card > :last-child {
  margin-bottom: 0 !important;
}

.mega-menu__card:hover .mega-menu__card__title {
  --icon-color: var(--colour-indigo);
}

.mega-menu__card:hover .mega-menu__card__image-wrapper img {
  scale: var(--scale-default);
}

.mega-menu__card__title {
  font-size: 20px;
  line-height: 120%;
  font-weight: 500;
  font-family: var(--font-family-alt);
  margin: 0 0 var(--spacing-xxs);
}

@media (min-width: 1280px) {
  .mega-menu__card__title {
    --icon-color: transparent;
  }
}
.mega-menu__card__desc {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
}

.mega-menu__card__image-wrapper {
  border-radius: var(--border-radius-small);
  overflow: hidden;
  margin: 0 0 var(--spacing-xs);
  display: block;
}

.mega-menu__card__image {
  width: 100%;
  transition: var(--transition-all);
}

.mobile-menu {
  position: fixed;
  inset: 0;
  overflow: hidden;
  transform: translateX(-100%);
  transition: var(--transition-all);
  z-index: 999;
  background-color: var(--background-light-solid);
  padding-top: 130px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 1280px) {
  .mobile-menu {
    display: none;
  }
}
.mobile-menu--active {
  transform: translateX(0);
}

.mobile-menu__steps {
  display: grid;
  overflow: hidden;
  flex: 1;
}

.mobile-menu__step {
  grid-column: 1;
  grid-row: 1;
  padding: 0 var(--container-padding);
  transform: translateX(100%);
  transition: var(--transition-all);
  display: flex;
  flex-direction: column;
  visibility: hidden;
  overflow: hidden scroll;
}

.mobile-menu__step--active {
  transform: translateX(0);
  visibility: visible;
}

.mobile-menu__step--parent-open {
  transform: translateX(-100%);
}

.mobile-menu__step ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxs);
}

.mobile-menu__step li a {
  font-size: 20px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  display: flex;
}

.mobile-menu__nav-title {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  padding: 0 0 var(--spacing-xxs);
  margin: 0 0 var(--spacing-xs);
  border-bottom: 2px solid;
  -o-border-image: var(--gradient-line);
     border-image: var(--gradient-line);
  border-image-slice: 2;
}

.mobile-menu__back {
  font-size: 20px;
  line-height: 120%;
  font-weight: 500;
  font-family: var(--font-family-alt);
  margin: 0 0 var(--spacing-s);
}

.mobile-menu__cta {
  margin-top: auto;
  text-align: center;
  padding: var(--spacing-xs) 0;
}

.search {
  position: fixed;
  inset: 0;
  background: var(--background-light-solid);
  z-index: 999;
  padding-top: 105px;
  transform: translateY(-100%);
  transition: var(--transition-all);
  overflow: hidden;
  visibility: hidden;
}

@media (min-width: 1024px) {
  .search {
    padding-top: 140px;
  }
}
.search--active {
  transform: translateY(0);
  visibility: visible;
}

.search__inner {
  --container-max-width: 944px;
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
}

.search__input-wrapper {
  position: relative;
  margin: 0 0 var(--spacing-l);
}

.search__input-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--gradient-line);
}

.search__input-wrapper:has(input:focus)::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;
  height: 2px;
  background: var(--colour-indigo);
}

.search__search-icon, .search__search-clear {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.search__search-icon svg, .search__search-clear svg {
  display: block;
}

.search__search-icon {
  left: 0;
}

.search__search-icon path {
  fill: var(--colour-grape);
}

.search__search-clear {
  right: 0;
}

.search__search-clear path {
  fill: var(--colour-indigo);
}

.search__input {
  font-size: 30px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  width: 100%;
  border: 0;
  background-color: transparent;
  border-bottom: 1px solid;
  height: 72px;
  padding-left: 56px;
  color: var(--colour-grape);
}

.search__input:focus {
  outline: none;
}

.search__search-tabs {
  display: flex;
  gap: var(--spacing-l);
  margin: 0 0 var(--spacing-l);
}

@media (max-width: 1023.98px) {
  .search__search-tabs {
    overflow-y: scroll;
  }
}
.search__search-tabs--hide {
  display: none;
}

.search__search-tab-wrapper {
  position: relative;
}

.search__search-tab {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.search__search-tab:focus + label::after {
  background: var(--colour-indigo);
}

.search__search-tab:checked + label {
  border-color: var(--colour-indigo);
}

.search__search-tab-label {
  display: block;
  padding: var(--spacing-xxs) 0;
  transition: var(--transition-all);
  border-bottom: 4px solid var(--background-light-solid);
  white-space: nowrap;
  position: relative;
}

.search__search-tab-label::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -8px;
  height: 2px;
  transition: var(--transition-all);
}

.search__search-results {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-m);
  overflow-y: auto;
  flex: 1 1 0;
}

.search__search-results--hide {
  display: none;
}

.search__search-item {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-xxxs);
}

.search__search-item__type {
  font-size: 14px;
  line-height: 150%;
  font-weight: 300;
  text-transform: uppercase;
  font-weight: 400;
}

.search__search-item__title {
  font-size: 24px;
  line-height: 120%;
  font-weight: 400;
  font-family: var(--font-family-alt);
  --icon-color: transparent;
}

.search__search-item__excerpt {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
}

.search__search-item:hover .search__search-item__title {
  --icon-color: var(--colour-indigo);
}

.search__suggested-searches {
  display: grid;
  gap: var(--spacing-gutter);
  overflow-y: auto;
  grid-auto-rows: min-content;
  padding: 0 0 var(--spacing-l);
}

@media (min-width: 768px) {
  .search__suggested-searches {
    grid-template-columns: repeat(3, 1fr);
  }
}
.search__suggested-searches--hide {
  display: none;
}

.search__no-results--hide {
  display: none;
}

.search__pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: var(--spacing-xxxs);
  margin: var(--spacing-m) 0;
  color: var(--pagination-text-colour, var(--colour-indigo));
}

.search__pagination--hide {
  display: none;
}

.search__pagination-button {
  font-size: 16px;
  line-height: 150%;
  font-weight: 300;
  width: 30px;
  height: 30px;
  position: relative;
  text-align: center;
}

.search__pagination-button.disabled {
  pointer-events: none;
}

.search__pagination-button--text {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 52px;
  height: 52px;
  border: 2px solid var(--pagination-border-colour, var(--colour-mild-orange));
  border-radius: 50%;
  margin: 0 var(--spacing-xxs);
  font-size: 0;
  transition: var(--transition-all);
}

.search__pagination-button--text::before {
  -webkit-mask-image: url(../../dist/images/arrow.svg?3bbbe78bc3921181d45f65eea30fe273);
          mask-image: url(../../dist/images/arrow.svg?3bbbe78bc3921181d45f65eea30fe273);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  content: "";
  display: block;
  background-color: var(--pagination-icon-colour, var(--colour-indigo));
  width: 20px;
  height: 20px;
}

.search__pagination-button--text:first-of-type::before {
  transform: rotate(180deg);
}

.search__pagination-button--text.disabled {
  opacity: 0.5;
}

.search__pagination-button--text:hover {
  background-color: var(--pagination-hover-colour, var(--colour-mild-orange));
}

.search__pagination-button--text:hover::before {
  background-color: var(--pagination-hover-icon-colour, var(--colour-indigo));
}

.search__pagination-button--active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 2px;
  background: var(--gradient-line);
}

.search__close-wrapper {
  display: flex;
  justify-content: center;
  padding-top: var(--spacing-m);
  margin: auto 0 var(--spacing-m);
}

.search__close-wrapper--hide {
  display: none;
}

.search .wp-component-card:has(a:focus-visible) {
  border: 2px solid var(--colour-vivid-orange);
}

.search .wp-component-card a:focus-visible {
  outline: none;
  box-shadow: none;
}

/**
 * Swiper 10.3.1 (custom minified version)
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2023 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: September 28, 2023
 */
/* stylelint-disable */
.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  overflow: clip;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: var(--slide-width, 100%);
  height: var(--slide-height, 100%);
  position: relative;
  transition-property: transform;
  display: var(--slide-display, block);
}

/* stylelint-enable */
@keyframes fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fade-in {
  opacity: 0;
  transform: translateY(10px);
}

.fade-in.active {
  animation-name: fade-in;
  animation-duration: var(--transition-time);
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.slide-in-left {
  opacity: 0;
  transform: translateX(40px);
  transition: all var(--transition-time);
}

.slide-in-left.active {
  transform: translateX(0);
  opacity: 1;
}

.slide-in-right {
  opacity: 0;
  transform: translateX(-40px);
  transition: all var(--transition-time);
}

.slide-in-right.active {
  transform: translateX(0);
  opacity: 1;
}

.row-load > * {
  opacity: 0;
  transform: translateY(10px);
}

.row-load > *.active {
  animation-name: fade-in;
  animation-duration: var(--transition-time);
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes slide-in {
  from {
    transform: translateX(500px);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotate-counter-clockwise {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(-360deg);
  }
}
@keyframes animated-gradient {
  0% {
    background-position: 0 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}
