@charset "UTF-8";
@font-face {
  font-family: Averta;
  src: url("../assets/fonts/averta/Averta-Regular.woff2") format("woff2");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: Averta;
  src: url("../assets/fonts/averta/Averta-Bold.woff2") format("woff2");
  font-style: normal;
  font-weight: 700;
  font-display: swap;
}
body {
  font-family: Averta, "Helvetica Neue", Arial, sans-serif;
}

/* ================================================
 * Generated by Dopamine Fluid
 *
 * Default viewport : 360px – 1440px
 * Breakpoints      : sm: 576px, md: 768px, lg: 992px, xl: 1200px, menu: 1370px, xxl: 1400px, xxxl: 1600px, xxxxl: 1920px
 * Generated        : 10/16/2026, 12:28:17 PM
 * Rules            : 381
 * ============================================== */
/* Reset */
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

body {
  min-height: 100vh;
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

/* Grid */
.flex {
  display: flex;
}

.flex-col {
  flex-direction: column;
}

.fw-bold {
  font-weight: 700;
}

.block {
  display: block;
}

.align-center {
  align-items: center;
}

.overflow-hidden {
  overflow: hidden;
}

.justify-center {
  justify-content: center;
}

.self-start {
  align-self: flex-start;
}

.inline-flex {
  display: inline-flex;
}

.relative {
  position: relative;
}

.container-1680 {
  width: 100%;
  max-width: 105rem;
  margin-left: auto;
  margin-right: auto;
}

.align-stretch {
  align-items: stretch;
}

.justify-between {
  justify-content: space-between;
}

.align-start {
  align-items: flex-start;
}

.overflow-visible {
  overflow: visible;
}

.absolute {
  position: absolute;
}

.grid {
  display: grid;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.text-center {
  text-align: center;
}

.flex-wrap {
  flex-wrap: wrap;
}

.justify-end {
  justify-content: flex-end;
}

.fw-normal {
  font-weight: 400;
}

.hidden {
  display: none;
}

.object-cover {
  object-fit: cover;
}

.justify-start {
  justify-content: flex-start;
}

.fixed {
  position: fixed;
}

.container-951 {
  width: 100%;
  max-width: 59.4375rem;
  margin-left: auto;
  margin-right: auto;
}

.align-end {
  align-items: flex-end;
}

.object-contain {
  object-fit: contain;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

.overflow-auto {
  overflow: auto;
}

.text-start {
  text-align: start;
}

/* Base */
.gap-32 {
  /* fixed at 32px */
  gap: 2rem;
}

:where(.stack-16) > * + * {
  /* fixed at 16px */
  margin-top: 1rem;
}

.maxw-1083 {
  /* fixed at 1083px */
  max-width: 67.6875rem;
}

.fs-32-54 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(2rem, 2.037vw + 1.5417rem, 3.375rem);
}

.lh-1\.148 {
  line-height: 1.148;
}

.mt-24 {
  /* fixed at 24px */
  margin-top: 1.5rem;
}

.fs-16 {
  /* fixed at 16px */
  font-size: 1rem;
}

.maxw-680 {
  /* fixed at 680px */
  max-width: 42.5rem;
}

.lh-1\.25 {
  line-height: 1.25;
}

.gap-12 {
  /* fixed at 12px */
  gap: 0.75rem;
}

.w-48 {
  /* fixed at 48px */
  width: 3rem;
}

.h-48 {
  /* fixed at 48px */
  height: 3rem;
}

.shrink-0 {
  flex-shrink: 0;
}

.w-100\% {
  width: 100%;
}

.h-100\% {
  height: 100%;
}

.fs-20 {
  /* fixed at 20px */
  font-size: 1.25rem;
}

:where(.stack-12) > * + * {
  /* fixed at 12px */
  margin-top: 0.75rem;
}

.lh-1 {
  line-height: 1;
}

.fs-12 {
  /* fixed at 12px */
  font-size: 0.75rem;
}

.w-193 {
  /* fixed at 193px */
  width: 12.0625rem;
}

.px-20 {
  /* fixed at 20px */
  padding-left: 1.25rem;
  padding-right: 1.25rem;
}

.gap-16 {
  /* fixed at 16px */
  gap: 1rem;
}

.radius-4 {
  /* fixed at 4px */
  border-radius: 0.25rem;
}

.fs-14 {
  /* fixed at 14px */
  font-size: 0.875rem;
}

.pt-100-140 {
  padding-top: clamp(6.25rem, 3.7037vw + 5.4167rem, 8.75rem);
}

.pb-112-144 {
  padding-bottom: clamp(7rem, 2.963vw + 6.3333rem, 9rem);
}

.pb-40-80 {
  padding-bottom: clamp(2.5rem, 3.7037vw + 1.6667rem, 5rem);
}

.z-1 {
  z-index: 1;
}

.px-20-80 {
  padding-left: clamp(1.25rem, 5.5556vw, 5rem);
  padding-right: clamp(1.25rem, 5.5556vw, 5rem);
}

.gap-32-48 {
  gap: clamp(2rem, 1.4815vw + 1.6667rem, 3rem);
}

.pt-40-80 {
  padding-top: clamp(2.5rem, 3.7037vw + 1.6667rem, 5rem);
}

.gap-8 {
  /* fixed at 8px */
  gap: 0.5rem;
}

.maxw-1090 {
  /* fixed at 1090px */
  max-width: 68.125rem;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.radius-8 {
  /* fixed at 8px */
  border-radius: 0.5rem;
}

.py-40-80 {
  padding-top: clamp(2.5rem, 3.7037vw + 1.6667rem, 5rem);
  padding-bottom: clamp(2.5rem, 3.7037vw + 1.6667rem, 5rem);
}

.maxw-840 {
  /* fixed at 840px */
  max-width: 52.5rem;
}

.pb-56-80 {
  padding-bottom: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
}

.p-24 {
  /* fixed at 24px */
  padding: 1.5rem;
}

:where(.stack-24) > * + * {
  /* fixed at 24px */
  margin-top: 1.5rem;
}

.gap-24 {
  /* fixed at 24px */
  gap: 1.5rem;
}

.w-96 {
  /* fixed at 96px */
  width: 6rem;
}

.h-96 {
  /* fixed at 96px */
  height: 6rem;
}

.grow-1 {
  flex-grow: 1;
}

:where(.stack-8) > * + * {
  /* fixed at 8px */
  margin-top: 0.5rem;
}

.ls-1 {
  letter-spacing: 0.01em;
}

.h-1 {
  /* fixed at 1px */
  height: 0.0625rem;
}

.h-30 {
  /* fixed at 30px */
  height: 1.875rem;
}

.py-56-80 {
  padding-top: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
  padding-bottom: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
}

.gap-16-24 {
  gap: clamp(1rem, 0.7407vw + 0.8333rem, 1.5rem);
}

.fs-28-36 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(1.75rem, 0.7407vw + 1.5833rem, 2.25rem);
}

.lh-1\.11 {
  line-height: 1.11;
}

.mt-40 {
  /* fixed at 40px */
  margin-top: 2.5rem;
}

.h-auto {
  height: auto;
}

.w-44 {
  /* fixed at 44px */
  width: 2.75rem;
}

.h-44 {
  /* fixed at 44px */
  height: 2.75rem;
}

.radius-32 {
  /* fixed at 32px */
  border-radius: 2rem;
}

.gap-4 {
  /* fixed at 4px */
  gap: 0.25rem;
}

:where(.stack-40-64) > * + * {
  margin-top: clamp(2.5rem, 2.2222vw + 2rem, 4rem);
}

.maxw-65ch {
  max-width: 65ch;
}

.cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}

.gapx-24 {
  /* fixed at 24px */
  column-gap: 1.5rem;
}

.gapy-64-120 {
  row-gap: clamp(4rem, 5.1852vw + 2.8333rem, 7.5rem);
}

.minh-100dvh {
  min-height: 100dvh;
}

.py-40 {
  /* fixed at 40px */
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
}

.maxw-640 {
  /* fixed at 640px */
  max-width: 40rem;
}

.fs-96-200 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(6rem, 9.6296vw + 3.8333rem, 12.5rem);
}

.ls-n2 {
  letter-spacing: -0.02em;
}

.lh-1\.15 {
  line-height: 1.15;
}

.lh-1\.5 {
  line-height: 1.5;
}

.pt-16 {
  /* fixed at 16px */
  padding-top: 1rem;
}

.px-24 {
  /* fixed at 24px */
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.w-16 {
  /* fixed at 16px */
  width: 1rem;
}

.h-13 {
  /* fixed at 13px */
  height: 0.8125rem;
}

.py-28-40 {
  padding-top: clamp(1.75rem, 1.1111vw + 1.5rem, 2.5rem);
  padding-bottom: clamp(1.75rem, 1.1111vw + 1.5rem, 2.5rem);
}

.mb-28-40 {
  margin-bottom: clamp(1.75rem, 1.1111vw + 1.5rem, 2.5rem);
}

.p-24-40 {
  padding: clamp(1.5rem, 1.4815vw + 1.1667rem, 2.5rem);
}

.py-24-40 {
  padding-top: clamp(1.5rem, 1.4815vw + 1.1667rem, 2.5rem);
  padding-bottom: clamp(1.5rem, 1.4815vw + 1.1667rem, 2.5rem);
}

.maxw-890 {
  /* fixed at 890px */
  max-width: 55.625rem;
}

.gap-40-80 {
  gap: clamp(2.5rem, 3.7037vw + 1.6667rem, 5rem);
}

.gap-24-40 {
  gap: clamp(1.5rem, 1.4815vw + 1.1667rem, 2.5rem);
}

.m-0 {
  /* fixed at 0px */
  margin: 0rem;
}

.fs-32-44 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(2rem, 1.1111vw + 1.75rem, 2.75rem);
}

.lh-1\.136 {
  line-height: 1.136;
}

.ps-16 {
  /* fixed at 16px */
  padding-inline-start: 1rem;
}

.fs-18-24 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(1.125rem, 0.5556vw + 1rem, 1.5rem);
}

.lh-1\.3 {
  line-height: 1.3;
}

.pt-20 {
  /* fixed at 20px */
  padding-top: 1.25rem;
}

.pb-28-40 {
  padding-bottom: clamp(1.75rem, 1.1111vw + 1.5rem, 2.5rem);
}

.pt-24-50 {
  padding-top: clamp(1.5rem, 2.4074vw + 0.9583rem, 3.125rem);
}

.ps-0-80 {
  padding-inline-start: clamp(0rem, 7.4074vw - 1.6667rem, 5rem);
}

.ps-33 {
  /* fixed at 33px */
  padding-inline-start: 2.0625rem;
}

.fs-24 {
  /* fixed at 24px */
  font-size: 1.5rem;
}

.fs-32-36 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(2rem, 0.3704vw + 1.9167rem, 2.25rem);
}

.lh-1\.111 {
  line-height: 1.111;
}

.mt-40-80 {
  margin-top: clamp(2.5rem, 3.7037vw + 1.6667rem, 5rem);
}

.p-8 {
  /* fixed at 8px */
  padding: 0.5rem;
}

.h-67 {
  /* fixed at 67px */
  height: 4.1875rem;
}

.p-0 {
  /* fixed at 0px */
  padding: 0rem;
}

.gap-19-24 {
  gap: clamp(1.1875rem, 0.463vw + 1.0833rem, 1.5rem);
}

.fs-44-54 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(2.75rem, 0.9259vw + 2.5417rem, 3.375rem);
}

.gap-64 {
  /* fixed at 64px */
  gap: 4rem;
}

.lh-1\.028 {
  line-height: 1.028;
}

.cols-fill-335 {
  grid-template-columns: repeat(auto-fill, minmax(min(20.9375rem, 100%), 1fr));
}

.gap-41 {
  /* fixed at 41px */
  gap: 2.5625rem;
}

.gap-40 {
  /* fixed at 40px */
  gap: 2.5rem;
}

.mt-20 {
  /* fixed at 20px */
  margin-top: 1.25rem;
}

.my-28-40 {
  margin-top: clamp(1.75rem, 1.1111vw + 1.5rem, 2.5rem);
  margin-bottom: clamp(1.75rem, 1.1111vw + 1.5rem, 2.5rem);
}

.gap-32-40 {
  gap: clamp(2rem, 0.7407vw + 1.8333rem, 2.5rem);
}

.fs-20-24 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(1.25rem, 0.3704vw + 1.1667rem, 1.5rem);
}

.w-34 {
  /* fixed at 34px */
  width: 2.125rem;
}

.h-34 {
  /* fixed at 34px */
  height: 2.125rem;
}

.radius-44 {
  /* fixed at 44px */
  border-radius: 2.75rem;
}

.w-20 {
  /* fixed at 20px */
  width: 1.25rem;
}

.h-20 {
  /* fixed at 20px */
  height: 1.25rem;
}

.pb-24 {
  /* fixed at 24px */
  padding-bottom: 1.5rem;
}

.minw-0 {
  /* fixed at 0px */
  min-width: 0rem;
}

.px-16 {
  /* fixed at 16px */
  padding-left: 1rem;
  padding-right: 1rem;
}

.h-16 {
  /* fixed at 16px */
  height: 1rem;
}

.ps-20-80 {
  padding-inline-start: clamp(1.25rem, 5.5556vw, 5rem);
}

.pe-20 {
  /* fixed at 20px */
  padding-inline-end: 1.25rem;
}

.ms-auto {
  margin-inline-start: auto;
}

.w-50 {
  /* fixed at 50px */
  width: 3.125rem;
}

.h-50 {
  /* fixed at 50px */
  height: 3.125rem;
}

.radius-16 {
  /* fixed at 16px */
  border-radius: 1rem;
}

.p-16 {
  /* fixed at 16px */
  padding: 1rem;
}

.w-120 {
  /* fixed at 120px */
  width: 7.5rem;
}

.h-120 {
  /* fixed at 120px */
  height: 7.5rem;
}

.h-64 {
  /* fixed at 64px */
  height: 4rem;
}

.px-12 {
  /* fixed at 12px */
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}

.py-8 {
  /* fixed at 8px */
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

.w-6 {
  /* fixed at 6px */
  width: 0.375rem;
}

.h-6 {
  /* fixed at 6px */
  height: 0.375rem;
}

.radius-6 {
  /* fixed at 6px */
  border-radius: 0.375rem;
}

.h-70svh {
  height: 70svh;
}

.fs-40-54 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(2.5rem, 1.2963vw + 2.2083rem, 3.375rem);
}

.lh-1\.409 {
  line-height: 1.409;
}

.pt-0 {
  /* fixed at 0px */
  padding-top: 0rem;
}

.pb-0 {
  /* fixed at 0px */
  padding-bottom: 0rem;
}

.pb-20 {
  /* fixed at 20px */
  padding-bottom: 1.25rem;
}

.end-0 {
  /* fixed at 0px */
  inset-inline-end: 0rem;
}

.bottom-0 {
  /* fixed at 0px */
  bottom: 0rem;
}

.z-50 {
  z-index: 50;
}

.h-42 {
  /* fixed at 42px */
  height: 2.625rem;
}

.w-17 {
  /* fixed at 17px */
  width: 1.0625rem;
}

.mt-50 {
  /* fixed at 50px */
  margin-top: 3.125rem;
}

.minh-583 {
  /* fixed at 583px */
  min-height: 36.4375rem;
}

.inset-0 {
  /* fixed at 0px */
  inset: 0rem;
}

.start-0 {
  /* fixed at 0px */
  inset-inline-start: 0rem;
}

.minh-48 {
  /* fixed at 48px */
  min-height: 3rem;
}

.maxw-100\% {
  max-width: 100%;
}

.py-12 {
  /* fixed at 12px */
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
}

.py-6 {
  /* fixed at 6px */
  padding-top: 0.375rem;
  padding-bottom: 0.375rem;
}

.pt-28-40 {
  padding-top: clamp(1.75rem, 1.1111vw + 1.5rem, 2.5rem);
}

.gapy-12 {
  /* fixed at 12px */
  row-gap: 0.75rem;
}

.pb-20-40 {
  padding-bottom: clamp(1.25rem, 1.8519vw + 0.8333rem, 2.5rem);
}

.gap-4-8 {
  gap: clamp(0.25rem, 0.3704vw + 0.1667rem, 0.5rem);
}

.p-0-8 {
  padding: clamp(0rem, 0.7407vw - 0.1667rem, 0.5rem);
}

.minh-72 {
  /* fixed at 72px */
  min-height: 4.5rem;
}

.w-40 {
  /* fixed at 40px */
  width: 2.5rem;
}

.h-40 {
  /* fixed at 40px */
  height: 2.5rem;
}

.lh-1\.35 {
  line-height: 1.35;
}

.pt-56-80 {
  padding-top: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
}

.pb-104 {
  /* fixed at 104px */
  padding-bottom: 6.5rem;
}

.fs-24-36 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(1.5rem, 1.1111vw + 1.25rem, 2.25rem);
}

.lh-1\.05 {
  line-height: 1.05;
}

.ratio-328\/263 {
  aspect-ratio: 328/263;
}

.maxw-1020 {
  /* fixed at 1020px */
  max-width: 63.75rem;
}

.my-0 {
  /* fixed at 0px */
  margin-top: 0rem;
  margin-bottom: 0rem;
}

.ratio-1\/1 {
  aspect-ratio: 1/1;
}

.top-0 {
  /* fixed at 0px */
  top: 0rem;
}

.z-100 {
  z-index: 100;
}

.maxw-1920 {
  /* fixed at 1920px */
  max-width: 120rem;
}

.h-8 {
  /* fixed at 8px */
  height: 0.5rem;
}

.px-16-80 {
  padding-left: clamp(1rem, 5.9259vw - 0.3333rem, 5rem);
  padding-right: clamp(1rem, 5.9259vw - 0.3333rem, 5rem);
}

.pb-40 {
  /* fixed at 40px */
  padding-bottom: 2.5rem;
}

.pt-40 {
  /* fixed at 40px */
  padding-top: 2.5rem;
}

.gap-10 {
  /* fixed at 10px */
  gap: 0.625rem;
}

.w-36 {
  /* fixed at 36px */
  width: 2.25rem;
}

.h-36 {
  /* fixed at 36px */
  height: 2.25rem;
}

.radius-12 {
  /* fixed at 12px */
  border-radius: 0.75rem;
}

.mt-40-64 {
  margin-top: clamp(2.5rem, 2.2222vw + 2rem, 4rem);
}

.minh-76 {
  /* fixed at 76px */
  min-height: 4.75rem;
}

.py-20 {
  /* fixed at 20px */
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.px-8 {
  /* fixed at 8px */
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.w-28 {
  /* fixed at 28px */
  width: 1.75rem;
}

.h-28 {
  /* fixed at 28px */
  height: 1.75rem;
}

.fs-18 {
  /* fixed at 18px */
  font-size: 1.125rem;
}

.lh-1\.389 {
  line-height: 1.389;
}

.pb-16 {
  /* fixed at 16px */
  padding-bottom: 1rem;
}

.lh-1\.143 {
  line-height: 1.143;
}

.w-5 {
  /* fixed at 5px */
  width: 0.3125rem;
}

.h-5 {
  /* fixed at 5px */
  height: 0.3125rem;
}

.radius-5 {
  /* fixed at 5px */
  border-radius: 0.3125rem;
}

.lh-1\.333 {
  line-height: 1.333;
}

.py-16 {
  /* fixed at 16px */
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.lh-1\.4 {
  line-height: 1.4;
}

.mb-16 {
  /* fixed at 16px */
  margin-bottom: 1rem;
}

.mt-16 {
  /* fixed at 16px */
  margin-top: 1rem;
}

.px-20-24 {
  padding-left: clamp(1.25rem, 0.3704vw + 1.1667rem, 1.5rem);
  padding-right: clamp(1.25rem, 0.3704vw + 1.1667rem, 1.5rem);
}

.mb-24-40 {
  margin-bottom: clamp(1.5rem, 1.4815vw + 1.1667rem, 2.5rem);
}

.py-24 {
  /* fixed at 24px */
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
}

.maxw-896 {
  /* fixed at 896px */
  max-width: 56rem;
}

.top-n16 {
  /* fixed at -16px */
  top: -1rem;
}

.minh-251 {
  /* fixed at 251px */
  min-height: 15.6875rem;
}

.maxw-354 {
  /* fixed at 354px */
  max-width: 22.125rem;
}

.lh-1\.375 {
  line-height: 1.375;
}

.maxw-880 {
  /* fixed at 880px */
  max-width: 55rem;
}

.px-16-24 {
  padding-left: clamp(1rem, 0.7407vw + 0.8333rem, 1.5rem);
  padding-right: clamp(1rem, 0.7407vw + 0.8333rem, 1.5rem);
}

.fs-32 {
  /* fixed at 32px */
  font-size: 2rem;
}

.minh-163 {
  /* fixed at 163px */
  min-height: 10.1875rem;
}

.p-12 {
  /* fixed at 12px */
  padding: 0.75rem;
}

.minh-296 {
  /* fixed at 296px */
  min-height: 18.5rem;
}

.fs-36 {
  /* fixed at 36px */
  font-size: 2.25rem;
}

.minh-222 {
  /* fixed at 222px */
  min-height: 13.875rem;
}

.lh-1\.2 {
  line-height: 1.2;
}

.gapx-40 {
  /* fixed at 40px */
  column-gap: 2.5rem;
}

.maxw-1057 {
  /* fixed at 1057px */
  max-width: 66.0625rem;
}

.minh-0 {
  /* fixed at 0px */
  min-height: 0rem;
}

.ratio-16\/9 {
  aspect-ratio: 16/9;
}

.maxw-465 {
  /* fixed at 465px */
  max-width: 29.0625rem;
}

.px-64 {
  /* fixed at 64px */
  padding-left: 4rem;
  padding-right: 4rem;
}

.pt-24 {
  /* fixed at 24px */
  padding-top: 1.5rem;
}

.ratio-103\/119 {
  aspect-ratio: 103/119;
}

.gap-48 {
  /* fixed at 48px */
  gap: 3rem;
}

.px-11 {
  /* fixed at 11px */
  padding-left: 0.6875rem;
  padding-right: 0.6875rem;
}

.py-5 {
  /* fixed at 5px */
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
}

.w-50\% {
  width: 50%;
}

.ps-19 {
  /* fixed at 19px */
  padding-inline-start: 1.1875rem;
}

.pe-23 {
  /* fixed at 23px */
  padding-inline-end: 1.4375rem;
}

.ratio-220\/147 {
  aspect-ratio: 220/147;
}

.ratio-353\/235 {
  aspect-ratio: 353/235;
}

.w-240-290 {
  width: clamp(15rem, 4.6296vw + 13.9583rem, 18.125rem);
}

.ratio-29\/37 {
  aspect-ratio: 29/37;
}

.minh-116 {
  /* fixed at 116px */
  min-height: 7.25rem;
}

.z-2 {
  z-index: 2;
}

.bottom-16 {
  /* fixed at 16px */
  bottom: 1rem;
}

.h-60 {
  /* fixed at 60px */
  height: 3.75rem;
}

.h-4 {
  /* fixed at 4px */
  height: 0.25rem;
}

.my-auto {
  margin-top: auto;
  margin-bottom: auto;
}

.w-100 {
  /* fixed at 100px */
  width: 6.25rem;
}

.h-66 {
  /* fixed at 66px */
  height: 4.125rem;
}

.maxw-520 {
  /* fixed at 520px */
  max-width: 32.5rem;
}

.h-90\% {
  height: 90%;
}

.w-auto {
  width: auto;
}

.h-24 {
  /* fixed at 24px */
  height: 1.5rem;
}

.ms-16 {
  /* fixed at 16px */
  margin-inline-start: 1rem;
}

.gapx-12 {
  /* fixed at 12px */
  column-gap: 0.75rem;
}

.gapy-24 {
  /* fixed at 24px */
  row-gap: 1.5rem;
}

.h-140 {
  /* fixed at 140px */
  height: 8.75rem;
}

.px-48 {
  /* fixed at 48px */
  padding-left: 3rem;
  padding-right: 3rem;
}

.mt-8-12 {
  margin-top: clamp(0.5rem, 0.3704vw + 0.4167rem, 0.75rem);
}

.p-12-24 {
  padding: clamp(0.75rem, 1.1111vw + 0.5rem, 1.5rem);
}

.fs-16-20 {
  /* viewport: 360px–1440px [prefix-config] */
  font-size: clamp(1rem, 0.3704vw + 0.9167rem, 1.25rem);
}

/* sm — min-width: 576px */
@media (min-width: 576px) {
  .flex-row-sm {
    flex-direction: row;
  }
  .cols-sm-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* md — min-width: 768px */
@media (min-width: 768px) {
  .flex-row-md {
    flex-direction: row;
  }
  .align-end-md {
    align-items: flex-end;
  }
  .flex-md-row {
    flex-direction: row;
  }
  .align-center-md {
    align-items: center;
  }
  .block-md {
    display: block;
  }
  .justify-start-md {
    justify-content: flex-start;
  }
  .grid-md {
    display: grid;
  }
  .text-start-md {
    text-align: start;
  }
  .hidden-md {
    display: none;
  }
  .align-stretch-md {
    align-items: stretch;
  }
  .self-stretch-md {
    align-self: stretch;
  }
  .cols-md-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .py-md-56-80 {
    padding-top: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
    padding-bottom: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
  }
  .mb-md-56-80 {
    margin-bottom: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
  }
  .pt-md-40 {
    /* fixed at 40px */
    padding-top: 2.5rem;
  }
  .pb-md-56-80 {
    padding-bottom: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
  }
  .w-md-auto {
    width: auto;
  }
  .w-md-147 {
    /* fixed at 147px */
    width: 9.1875rem;
  }
  .lh-md-1\.15 {
    line-height: 1.15;
  }
  .mt-md-40 {
    /* fixed at 40px */
    margin-top: 2.5rem;
  }
  .my-md-56-80 {
    margin-top: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
    margin-bottom: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
  }
  .pb-md-40 {
    /* fixed at 40px */
    padding-bottom: 2.5rem;
  }
  .w-md-60 {
    /* fixed at 60px */
    width: 3.75rem;
  }
  .h-md-54 {
    /* fixed at 54px */
    height: 3.375rem;
  }
  .mt-md-0 {
    /* fixed at 0px */
    margin-top: 0rem;
  }
  .minh-md-800 {
    /* fixed at 800px */
    min-height: 50rem;
  }
  .bottom-md-30 {
    /* fixed at 30px */
    bottom: 1.875rem;
  }
  .h-md-60 {
    /* fixed at 60px */
    height: 3.75rem;
  }
  .pt-md-56-80 {
    padding-top: clamp(3.5rem, 2.2222vw + 3rem, 5rem);
  }
  .mt-md-n30 {
    /* fixed at -30px */
    margin-top: -1.875rem;
  }
  .pt-md-0 {
    /* fixed at 0px */
    padding-top: 0rem;
  }
  .minh-md-88 {
    /* fixed at 88px */
    min-height: 5.5rem;
  }
  .p-md-8 {
    /* fixed at 8px */
    padding: 0.5rem;
  }
  .px-md-24 {
    /* fixed at 24px */
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .pb-md-80 {
    /* fixed at 80px */
    padding-bottom: 5rem;
  }
  .cols-md-1\.1 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  }
  .pb-md-30 {
    /* fixed at 30px */
    padding-bottom: 1.875rem;
  }
  .pb-md-24 {
    /* fixed at 24px */
    padding-bottom: 1.5rem;
  }
  .w-md-400 {
    /* fixed at 400px */
    width: 25rem;
  }
  .cols-md-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .mt-md-64 {
    /* fixed at 64px */
    margin-top: 4rem;
  }
  .cols-md-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .gap-md-40 {
    /* fixed at 40px */
    gap: 2.5rem;
  }
  .fs-md-16 {
    /* fixed at 16px */
    font-size: 1rem;
  }
  .lh-md-1\.375 {
    line-height: 1.375;
  }
  .px-md-0 {
    /* fixed at 0px */
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .pb-md-0 {
    /* fixed at 0px */
    padding-bottom: 0rem;
  }
  .pt-md-24 {
    /* fixed at 24px */
    padding-top: 1.5rem;
  }
  .lh-md-1\.333 {
    line-height: 1.333;
  }
  .mx-md-0 {
    /* fixed at 0px */
    margin-left: 0rem;
    margin-right: 0rem;
  }
  .gap-md-50 {
    /* fixed at 50px */
    gap: 3.125rem;
  }
  .gap-md-24 {
    /* fixed at 24px */
    gap: 1.5rem;
  }
  .span-md-2 {
    grid-column: span 2;
  }
  .minh-md-196 {
    /* fixed at 196px */
    min-height: 12.25rem;
  }
  .w-md-1 {
    /* fixed at 1px */
    width: 0.0625rem;
  }
  .h-md-auto {
    height: auto;
  }
  .minw-md-240 {
    /* fixed at 240px */
    min-width: 15rem;
  }
  .gapy-md-40 {
    /* fixed at 40px */
    row-gap: 2.5rem;
  }
}
/* lg — min-width: 992px */
@media (min-width: 992px) {
  .hidden-lg {
    display: none;
  }
  .overflow-visible-lg {
    overflow: visible;
  }
  .block-lg {
    display: block;
  }
  .flex-lg {
    display: flex;
  }
  .justify-between-lg {
    justify-content: space-between;
  }
  .flex-wrap-lg {
    flex-wrap: wrap;
  }
  .flex-row-lg {
    flex-direction: row;
  }
  .justify-self-end-lg {
    justify-self: end;
  }
  .cols-lg-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .cols-lg-1\:2 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
  .cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gap-lg-20 {
    /* fixed at 20px */
    gap: 1.25rem;
  }
  .grow-lg-1 {
    flex-grow: 1;
  }
  .mt-lg-0 {
    /* fixed at 0px */
    margin-top: 0rem;
  }
  .px-lg-24 {
    /* fixed at 24px */
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  .pe-lg-0 {
    /* fixed at 0px */
    padding-inline-end: 0rem;
  }
  .cols-lg-1\:4\:1 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 4fr) minmax(0, 1fr);
  }
  .gapx-lg-16-20 {
    column-gap: clamp(1rem, 0.3704vw + 0.9167rem, 1.25rem);
  }
  .cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .p-lg-40 {
    /* fixed at 40px */
    padding: 2.5rem;
  }
  .px-lg-0 {
    /* fixed at 0px */
    padding-left: 0rem;
    padding-right: 0rem;
  }
  .w-lg-150 {
    /* fixed at 150px */
    width: 9.375rem;
  }
  .ratio-lg-3\/2 {
    aspect-ratio: 3/2;
  }
  .minh-lg-0 {
    /* fixed at 0px */
    min-height: 0rem;
  }
  :where(.stack-lg-12) > * + * {
    /* fixed at 12px */
    margin-top: 0.75rem;
  }
  .cols-lg-3\:2 {
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  }
  .gap-lg-16 {
    /* fixed at 16px */
    gap: 1rem;
  }
}
/* xl — min-width: 1200px */
@media (min-width: 1200px) {
  .cols-xl-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
/* menu — min-width: 1370px */
@media (min-width: 1370px) {
  .flex-menu {
    display: flex;
  }
  .gap-menu-40 {
    /* fixed at 40px */
    gap: 2.5rem;
  }
  .gap-menu-80 {
    /* fixed at 80px */
    gap: 5rem;
  }
  .p-menu-24 {
    /* fixed at 24px */
    padding: 1.5rem;
  }
  .px-menu-8 {
    /* fixed at 8px */
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
}
/* xxxl — min-width: 1600px */
@media (min-width: 1600px) {
  .cols-xxxl-1\:2 {
    grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
  }
  .maxw-xxxl-480 {
    /* fixed at 480px */
    max-width: 30rem;
  }
}
.menu__toggle {
  cursor: pointer;
  background: none;
  border: none;
  line-height: 1;
}

.menu__overlay {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: var(--menu-backdrop, rgba(0, 0, 0, 0.5));
  visibility: hidden;
  opacity: 0;
  transition: visibility 0.3s, opacity 0.3s ease;
}

.menu--open .menu__overlay {
  visibility: visible;
  opacity: 1;
}

.menu__drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000;
  overflow-y: auto;
  visibility: hidden;
  transform: translateX(-100%);
  transition: transform 0.3s ease, visibility 0.3s;
}

.menu--open .menu__drawer {
  visibility: visible;
  transform: translateX(0);
}

.df-no-anim .menu__drawer,
.df-no-anim .menu__overlay {
  transition: none !important;
}

.menu__close {
  position: absolute;
  top: 0;
  right: 0;
  cursor: pointer;
  background: none;
  border: none;
  line-height: 1;
}

@media (min-width: 1370px) {
  .menu__toggle {
    display: none;
  }
  .menu__overlay {
    display: none;
  }
  .menu__close {
    display: none;
  }
  .menu__drawer {
    position: static;
    width: auto;
    height: auto;
    overflow-y: visible;
    visibility: visible;
    transform: none;
    transition: none;
  }
}
.df-no-anim .menu.menu-level-0 > li.menu-item > .menu-dropdown-0 {
  transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .menu.menu-level-0 > li.menu-item > .menu-dropdown-0 {
    transition: none;
  }
}
@media (min-width: 1370px) {
  .menu.menu-level-0 > li.menu-item {
    position: relative;
  }
  .menu.menu-level-0 > li.menu-item > .menu-dropdown-0 {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 100;
    visibility: hidden;
    opacity: 0;
    transition: visibility 0.15s, opacity 0.15s ease;
  }
  .menu.menu-level-0 > li.menu-item.menu-drawer--open > .menu-dropdown-0 {
    visibility: visible;
    opacity: 1;
  }
  .menu.menu-level-0.menu-drawer-hover > li.menu-item:hover > .menu-dropdown-0,
  .menu.menu-level-0.menu-drawer-hover > li.menu-item:has(:focus-visible) > .menu-dropdown-0 {
    visibility: visible;
    opacity: 1;
  }
  .menu.menu-level-0 > li.menu-item > .menu-dropdown-0.menu-dropdown-mega {
    position: fixed;
    top: var(--menu-mega-top, 0);
    left: 0;
    right: 0;
    width: 100vw;
  }
  .menu-drawer-header {
    display: none;
  }
}
@media (max-width: 1369px) {
  .menu.menu-level-0 > li.menu-item > .menu-dropdown-0 {
    position: fixed;
    top: var(--menu-drawer-top, 0);
    right: 0;
    width: 100%;
    height: var(--menu-drawer-height, 100%);
    z-index: 1001;
    overflow-y: auto;
    visibility: hidden;
    transform: translateX(100%);
    transition: transform 0.3s ease, visibility 0.3s;
  }
  .menu.menu-level-0 > li.menu-item.menu-drawer--open > .menu-dropdown-0 {
    visibility: visible;
    transform: translateX(0);
  }
  .menu-drawer-header {
    position: sticky;
    top: 0;
    z-index: 1;
    display: flex;
    align-items: center;
    padding: 0.75rem 1rem;
  }
  .menu-drawer-back-btn {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
    background: none;
    border: none;
    line-height: 1;
    font: inherit;
    color: inherit;
  }
}
.accordion__title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  cursor: pointer;
  list-style: none;
}
.accordion__title::-webkit-details-marker {
  display: none;
}
.accordion__title::after {
  content: "+";
  flex-shrink: 0;
  transition: transform 0.3s ease;
}

.accordion__item[open] .accordion__title::after {
  content: "−";
}

.accordion__body {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.3s ease;
}
.accordion__body > * {
  overflow: hidden;
  min-height: 0;
}

.accordion__item[open] .accordion__body {
  grid-template-rows: 1fr;
}

:root {
  --bio-primary: #004d71;
  --bio-primary-dark: #00415f;
  --bio-primary-hover: #0e5a7d;
  --bio-ink: #173a4b;
  --bio-blue-400: #74aadc;
  --bio-blue-200: #b4cbe1;
  --bio-field-placeholder: #90a7bd;
  --bio-navy-deep-rgb: 0 46 67;
  --bio-teal: #00a092;
  --bio-error: #dc3232;
  --bio-red: #ab2135;
  --bio-surface-blue: #f1f6fb;
  --bio-white: #fff;
  --bio-white-70: rgb(255 255 255 / 0.7);
  --bio-white-50: rgb(255 255 255 / 0.5);
  --bio-white-30: rgb(255 255 255 / 0.3);
  --bio-ink-10: rgb(23 58 75 / 0.1);
  --bio-ink-30: rgb(23 58 75 / 0.3);
  --bio-glass: rgb(255 255 255 / 0.8);
  --bio-primary-15: rgb(0 77 113 / 0.15);
  --bio-card-tint: rgb(47 87 147 / 0.1);
  --bio-glow:
    rgb(116 170 220 / 0.269) 0,
    rgb(116 170 220 / 0.263) 80px,
    rgb(116 170 220 / 0.244) 160px,
    rgb(116 170 220 / 0.213) 240px,
    rgb(116 170 220 / 0.172) 320px,
    rgb(116 170 220 / 0.126) 400px,
    rgb(116 170 220 / 0.083) 480px,
    rgb(116 170 220 / 0.048) 560px,
    rgb(116 170 220 / 0.024) 640px,
    rgb(116 170 220 / 0.011) 720px,
    rgb(116 170 220 / 0.004) 800px,
    rgb(116 170 220 / 0.001) 880px,
    rgb(116 170 220 / 0) 960px;
  --bio-band-bg:
    radial-gradient(circle 960px at calc(100% - 74.5px) calc(100% + 250.5px), var(--bio-glow)),
    var(--bio-primary);
}

@media (max-width: 767.98px) {
  #primary:has(.bio-widgets):has(~ .bio-home-newsletter) {
    padding-bottom: clamp(1.75rem, 1.1111111111vw + 1.5rem, 2.5rem);
  }
}
@media (min-width: 768px) {
  #primary:has(~ .bio-home-newsletter) {
    padding-bottom: 5rem;
  }
}
#primary:has(> .bio-widgets:last-child > .bio-faqs:last-child):has(~ .bio-home-newsletter) {
  padding-bottom: 0;
}
#primary:has(> .bio-widgets:last-child > .bio-faqs:last-child):has(~ .bio-home-newsletter) > .bio-widgets:last-child > .bio-faqs:last-child {
  margin-bottom: 0;
}

.bio-home,
.bio-footer,
.bio-home-contact-rail {
  color: var(--bio-primary);
}

.bio-home a,
.bio-footer a,
.bio-home-contact-rail {
  color: inherit;
  text-decoration: none;
}

.bio-home button {
  color: inherit;
}

.bio-home :focus-visible,
.bio-home-newsletter :focus-visible,
.bio-footer :focus-visible,
.bio-home-contact-rail:focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.1875rem;
}

.skip-link:focus {
  position: fixed;
  top: 0.5rem;
  inset-inline-start: 0.5rem;
  z-index: 1002;
  width: auto;
  height: auto;
  margin: 0;
  padding: 0.75rem 1rem;
  overflow: visible;
  clip-path: none;
  color: var(--bio-white);
  background: var(--bio-primary);
  border-radius: 0.25rem;
}

.bio-home-section {
  background: var(--bio-white);
}

.bio-home-section__title {
  color: var(--bio-primary);
}

.bio-home-text-link {
  color: var(--bio-primary);
  padding-bottom: 0.25rem;
  border-bottom: 0.0625rem solid transparent;
}

.bio-home-text-link:hover {
  border-color: currentColor;
}

.bio-home-text-link::before,
.bio-personnel-card__profile::before {
  content: "";
  width: 1rem;
  height: 0.8125rem;
  flex: 0 0 auto;
  background-color: currentColor;
  -webkit-mask: url("../assets/images/btn-arrow.svg") center/contain no-repeat;
  mask: url("../assets/images/btn-arrow.svg") center/contain no-repeat;
}

@media (pointer: coarse) {
  :is(input:not([type]),
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=url],
  input[type=search],
  input[type=password],
  input[type=number],
  input[type=date],
  input[type=time],
  input[type=datetime-local],
  input[type=month],
  input[type=week],
  textarea,
  select) {
    font-size: 1rem;
  }
}
form input[type=checkbox] {
  appearance: none;
  display: inline-block;
  box-sizing: border-box;
  width: 0.875rem;
  height: 0.875rem;
  min-width: 0.875rem;
  flex: 0 0 0.875rem;
  margin: 0;
  border: 0.0625rem solid var(--bio-blue-200);
  border-radius: 0.0625rem;
  background-color: var(--bio-white);
  vertical-align: middle;
  cursor: pointer;
}

form input[type=checkbox]:checked {
  border-color: var(--bio-primary);
  background-color: var(--bio-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='8' viewBox='0 0 10 8'%3E%3Cpath d='M1.25 4.25 3.75 6.75 8.75 1.25' fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 0.625rem 0.5rem;
}

form input[type=checkbox]:focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.1875rem;
}

form input[type=checkbox]:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.wpcf7-acceptance .wpcf7-list-item,
.wpcf7-checkbox .wpcf7-list-item {
  margin: 0;
}

.wpcf7-acceptance label,
.wpcf7-checkbox label,
.comment-form-cookies-consent {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.wpcf7-acceptance .wpcf7-list-item-label,
.wpcf7-checkbox .wpcf7-list-item-label,
.comment-form-cookies-consent label {
  font-weight: 700;
}

.wpcf7-acceptance .wpcf7-list-item-label a, .wpcf7-acceptance .wpcf7-list-item-label a:visited, .wpcf7-acceptance .wpcf7-list-item-label a:hover, .wpcf7-acceptance .wpcf7-list-item-label a:focus,
.wpcf7-checkbox .wpcf7-list-item-label a,
.wpcf7-checkbox .wpcf7-list-item-label a:visited,
.wpcf7-checkbox .wpcf7-list-item-label a:hover,
.wpcf7-checkbox .wpcf7-list-item-label a:focus,
.comment-form-cookies-consent a,
.comment-form-cookies-consent a:visited,
.comment-form-cookies-consent a:hover,
.comment-form-cookies-consent a:focus {
  color: inherit;
  text-decoration: underline;
}

.wpcf7-acceptance input[type=checkbox],
.wpcf7-checkbox input[type=checkbox],
.comment-form-cookies-consent input[type=checkbox] {
  margin-block-start: 0.0625rem;
  margin-block-start: calc((1lh - 0.875rem) / 2);
}

.bio-button {
  border: 0.0625rem solid transparent;
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, border-color 180ms ease;
}

.bio-button--outline-light {
  color: var(--bio-white);
  border-color: var(--bio-white);
  background: transparent;
  backdrop-filter: blur(0.75rem);
}

.bio-button--primary {
  color: var(--bio-white);
  background: var(--bio-primary);
}

.bio-button--ghost {
  color: var(--bio-primary);
  border-color: var(--bio-primary);
  background: transparent;
}

.bio-home .bio-button--primary {
  color: var(--bio-white);
}

.bio-button:hover {
  color: var(--bio-ink);
  border-color: transparent;
  background: var(--bio-blue-400);
}

.bio-buttons-widget__external-icon {
  background-color: currentColor;
  mask: url("../assets/images/footer-external-link.svg") center/contain no-repeat;
}

@media (min-width: 992px) {
  .bio-buttons-widget--small .bio-buttons-widget__row {
    grid-column: 2;
  }
}
.swiper {
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden !important;
  overflow-x: clip !important;
}

@supports (overflow: clip) {
  .site-main {
    overflow-x: clip;
  }
  .swiper.overflow-visible {
    overflow-x: visible !important;
  }
  @media (min-width: 992px) {
    .swiper.overflow-visible-lg {
      overflow-x: visible !important;
    }
  }
}
.bio-home-slider__arrow {
  border: 0;
  color: currentColor;
  background: transparent;
  cursor: pointer;
}

.bio-home-slider-controls--light {
  color: var(--bio-white);
}

.bio-home-slider-controls--ink {
  color: var(--bio-primary);
}

.bio-home-slider__arrow.swiper-button-lock,
.bio-home-slider__pagination.swiper-pagination-lock {
  display: none;
}

.bio-home-slider__pagination.swiper-pagination-horizontal {
  position: static;
  width: auto;
}

.bio-home-slider__pagination .swiper-pagination-bullet {
  display: flex;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
  border: 0.0625rem solid transparent;
  border-radius: 50%;
  opacity: 1;
  background: transparent;
}

.bio-home-slider__pagination .swiper-pagination-bullet::before {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: 0.35;
}

.bio-home-slider__pagination .swiper-pagination-bullet-active {
  border-color: currentColor;
}

.bio-home-slider__pagination .swiper-pagination-bullet-active::before {
  opacity: 1;
}

@media (max-width: 767.98px) {
  .bio-home-slider-controls--hero {
    color: var(--bio-primary);
    background: var(--bio-white);
  }
}
.menu-level-0 {
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu-level-0 > .menu-item > a {
  display: flex;
  align-items: center;
  font-size: 0.875rem;
  font-weight: 700;
}

.menu-level-1 {
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 1370px) {
  .site-header .menu__drawer {
    align-self: stretch;
    display: flex;
  }
  .menu-level-0 > .menu-item {
    display: flex;
    align-items: center;
    align-self: stretch;
  }
  .site-header .menu.menu-level-0 > li.menu-item > .menu-dropdown-0 {
    top: calc(100% + 1px);
    background: var(--bio-white-70);
    backdrop-filter: blur(1.6875rem);
    -webkit-backdrop-filter: blur(1.6875rem);
    border-radius: 0 0 0.25rem 0.25rem;
    border-inline-start: 3px solid var(--bio-blue-400);
  }
  .menu-level-1 {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    padding: 0.5rem 0;
    min-width: 11.25rem;
  }
  .menu-level-1 a {
    font-size: 0.875rem;
    font-weight: 700;
    white-space: nowrap;
  }
  .menu-level-1 a:hover {
    text-decoration: underline;
  }
}
@media (max-width: 1369.98px) {
  .site-header .menu__drawer {
    top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h));
    height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - var(--header-h));
    overflow-x: hidden;
    background: var(--bio-white);
  }
  .site-header .menu__close {
    display: none;
  }
  .site-header .menu__overlay {
    display: none;
  }
  .menu-level-0 {
    background: var(--bio-white);
  }
  .menu-level-0 > .menu-item {
    border-bottom: 1px solid var(--bio-primary-15);
  }
  .menu-item__chevron {
    transform: rotate(-90deg);
  }
  .site-header .menu.menu-level-0 > li.menu-item > .menu-dropdown-0 {
    top: 0;
    height: 100%;
    background: var(--bio-white);
  }
  .menu-drawer-header {
    background: var(--bio-primary);
    min-height: 4.25rem;
  }
  .menu-drawer-header .menu-drawer-back-btn {
    font-size: 0.875rem;
    font-weight: 700;
    color: var(--bio-white);
    padding: 0 0.5rem;
    gap: 0.75rem;
  }
  .menu-level-1 {
    background: var(--bio-white);
  }
  .menu-level-1 > li {
    border-bottom: 1px solid var(--bio-primary-15);
  }
  .menu-level-0 > .menu-item > a,
  .menu-level-1 > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    min-height: 4.25rem;
    padding: 0 1.5rem;
    font-size: 0.875rem;
    font-weight: 700;
  }
}
.menu-banner {
  justify-content: flex-end;
  color: var(--bio-primary);
  text-decoration: none;
}
.menu-banner:hover .menu-banner__media, .menu-banner:focus-visible .menu-banner__media {
  transform: scale(1.06);
}
.menu-banner:hover .menu-banner__title, .menu-banner:focus-visible .menu-banner__title {
  background-size: 100% 1px;
}
.menu-banner:focus-visible {
  outline: 2px solid var(--bio-blue-400);
  outline-offset: 2px;
}

@media (max-width: 1369.98px) {
  .menu-banner {
    margin: 1.5rem 1.25rem;
  }
}
@media (min-width: 1370px) {
  .menu-banner {
    width: 20.5rem;
  }
}
.menu-banner__media-wrap {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.menu-banner__media {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 350ms ease;
}

.menu-banner__overlay {
  position: relative;
  background: var(--bio-white-70);
  backdrop-filter: blur(1.71875rem);
  -webkit-backdrop-filter: blur(1.71875rem);
  color: var(--bio-primary);
}

.menu-banner__title {
  width: fit-content;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-repeat: no-repeat;
  background-size: 0 1px;
  transition: background-size 250ms ease;
}

.menu-banner__cta {
  width: 2.75rem;
  height: 2.75rem;
  flex-shrink: 0;
  color: var(--bio-primary);
}

@media (prefers-reduced-motion: reduce) {
  .menu-banner__media,
  .menu-banner__title {
    transition: none;
  }
}
:root {
  --header-h: 50px;
  --header-fixed-h: 50px;
}

.site-header {
  color: var(--bio-primary);
}
.site-header a {
  color: inherit;
  text-decoration: none;
}
.site-header button {
  background: none;
  border: none;
  cursor: pointer;
  color: inherit;
  font: inherit;
}

body.admin-bar .site-header {
  top: var(--wp-admin--admin-bar--height, 0px);
}

body.admin-bar #wpadminbar {
  position: fixed;
}

body:not(.home) {
  padding-top: var(--header-h);
}

.site-header__bar {
  position: relative;
  isolation: isolate;
  height: var(--header-h);
  transition: height 0.25s ease;
}
.site-header__bar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  background: var(--bio-glass);
  backdrop-filter: blur(1.5rem);
  -webkit-backdrop-filter: blur(1.5rem);
}

.site-logo {
  position: relative;
  align-self: stretch;
}

.site-logo__box {
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  padding: 0.625rem 1.5rem;
  background: var(--bio-primary);
  border-inline-end: 3px solid var(--bio-blue-400);
  border-radius: 0.5rem 0 0 0.5rem;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s;
}

.site-logo__wordmark {
  transition: opacity 0.25s ease, visibility 0.25s;
}

.site-header__actions {
  align-self: stretch;
}

.site-header__icon-btn,
.site-header__lang,
.menu__toggle {
  color: var(--bio-primary);
  padding: clamp(0.5rem, 0.3703703704vw + 0.4166666667rem, 0.75rem);
}

.site-header__cta {
  background: var(--bio-blue-400);
  align-self: stretch;
  padding: 0 clamp(1rem, 0.7407407407vw + 0.8333333333rem, 1.5rem);
}

.site-header__cta-label {
  display: none;
}

.site-header__icon-close {
  display: none;
}

.menu--open .site-header__icon-open {
  display: none;
}
.menu--open .site-header__icon-close {
  display: block;
}

@media (min-width: 1370px) {
  :root {
    --header-h: 72px;
    --header-fixed-h: 72px;
  }
  .site-header {
    padding: 0.625rem 0.5rem 0;
  }
  .site-header.is-scrolled {
    --header-h: 51px;
  }
  .site-header__bar {
    border-radius: 0.5rem;
  }
  .site-header__cta {
    border-radius: 0 0.5rem 0.5rem 0;
  }
  .site-header__cta-label {
    display: inline;
  }
  .site-header__cta-icon {
    display: none;
  }
  .site-logo {
    width: 12.5rem;
  }
  .site-header.is-scrolled .site-logo__box {
    opacity: 1;
    visibility: visible;
  }
  .site-header.is-scrolled .site-logo__wordmark {
    opacity: 0;
    visibility: hidden;
  }
  .site-logo__wordmark {
    margin-inline-start: clamp(1rem, 0.7407407407vw + 0.8333333333rem, 1.5rem);
    width: 10.75rem;
    height: auto;
  }
}
@media (max-width: 1369.98px) {
  .site-logo__box {
    display: none;
  }
  .site-logo__wordmark {
    margin-inline-start: 1rem;
  }
}
body:has(.bio-page-header--small),
body:has(.bio-page-header--band) {
  padding-top: 0;
}

.bio-page-header {
  height: calc(var(--bio-hero-viewport-height, 100svh) - var(--wp-admin--admin-bar--height, 0px) - var(--header-fixed-h) - var(--contact-rail-mobile-h, 0px) - var(--bio-page-header-peek, 0px));
  min-height: 37.5rem;
  color: var(--bio-white);
  background: var(--bio-band-bg);
  border-bottom: 0.25rem solid var(--bio-blue-400);
}

.bio-page-header-offset {
  margin-top: var(--header-fixed-h);
}

.bio-page-header-offset--with-quick-actions {
  --bio-page-header-peek: 7.5rem;
}

img.bio-page-header__media {
  object-position: center top;
}

img.bio-page-header__youtube-poster,
img.bio-page-header__vimeo-poster {
  object-position: center;
}

.bio-page-header__picture,
.bio-page-header > .bio-page-header__media,
.bio-page-header__slide > .bio-page-header__media {
  position: absolute;
  inset: 0;
}

.bio-page-header--whole-image .bio-page-header__picture {
  background-color: var(--bio-header-fill, var(--bio-band-bg));
}

.bio-page-header--whole-image .bio-page-header__picture > .bio-page-header__media {
  object-fit: contain;
  object-position: center;
}

@media (max-width: 991.98px) {
  .bio-page-header--whole-image .bio-page-header__picture {
    background-color: var(--bio-header-fill-mobile, var(--bio-header-fill, var(--bio-band-bg)));
  }
}
.bio-page-header__media--youtube,
.bio-page-header__media--vimeo {
  overflow: hidden;
  opacity: 0;
  transition: opacity 300ms ease-out;
  pointer-events: none;
}
.bio-page-header__media--youtube > iframe,
.bio-page-header__media--vimeo > iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  aspect-ratio: 16/9;
  border: 0;
  transform: translate(-50%, -50%);
}
.bio-page-header__media--youtube.is-playing,
.bio-page-header__media--vimeo.is-playing {
  opacity: 1;
}

.bio-page-header--image.bio-page-header--has-media::after,
.bio-page-header__slide--image.bio-page-header--has-media::after {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(0, 0, 0, 0.2);
  content: "";
  pointer-events: none;
}

.bio-page-header__content {
  position: relative;
  inset: auto;
  min-height: 100%;
  padding-block: clamp(4.5rem, 3.7037037037vw + 3.6666666667rem, 7rem);
  padding-inline: clamp(1rem, 5.9259259259vw - 0.3333333333rem, 5rem);
  pointer-events: none;
}

.bio-page-header__breadcrumbs {
  max-width: 67.6875rem;
  font-size: 0.875rem;
  pointer-events: auto;
}
.bio-page-header__breadcrumbs a {
  color: inherit;
  text-decoration: none;
}
.bio-page-header__breadcrumbs a:hover {
  text-decoration: underline;
}

.bio-page-header__breadcrumbs-sep {
  display: inline-block;
  width: 0.25rem;
  height: 0.25rem;
  vertical-align: middle;
  border-radius: 50%;
  background: var(--bio-blue-400);
}

.bio-page-header__button {
  pointer-events: auto;
}

.bio-page-header__content--start .bio-page-header__inner,
.bio-page-header__content--start .bio-page-header__main {
  align-items: flex-start;
  text-align: start;
}

.bio-page-header__content--start .bio-page-header__inner {
  gap: 4rem;
}

.bio-page-header__content--start .bio-page-header__subtitle {
  padding-inline-start: 0.5625rem;
  border-inline-start: 0.125rem solid var(--bio-blue-400);
}

.bio-page-header__swiper,
.bio-page-header__swiper > .swiper-wrapper,
.bio-page-header__slide {
  min-height: inherit;
}

.bio-page-header--slider .bio-page-header__content {
  padding-bottom: clamp(7rem, 2.962962963vw + 6.3333333333rem, 9rem);
}

@media (min-width: 768px) {
  .bio-page-header {
    height: calc(var(--bio-hero-viewport-height, 100svh) - var(--wp-admin--admin-bar--height, 0px) - var(--header-fixed-h) - var(--bio-page-header-peek, 0px));
  }
}
@media (min-width: 992px) {
  body:has(.bio-page-header--full) {
    padding-top: 0;
  }
  .bio-page-header-offset {
    margin-top: 0;
  }
  .bio-page-header {
    height: calc(var(--bio-hero-viewport-height, 100svh) - var(--wp-admin--admin-bar--height, 0px) - var(--bio-page-header-peek, 0px));
  }
  .bio-page-header-offset--with-quick-actions {
    --bio-page-header-peek: 9.375rem;
  }
}
.bio-page-header.bio-page-header--small,
.bio-page-header.bio-page-header--band {
  height: auto;
}

.bio-page-header.bio-page-header--small,
.bio-page-header--small .bio-page-header__swiper,
.bio-page-header--small .bio-page-header__swiper > .swiper-wrapper,
.bio-page-header--small .bio-page-header__slide,
.bio-page-header--small .bio-page-header__content {
  min-height: 25rem;
}

.bio-page-header.bio-page-header--small.bio-page-header--has-media:is(.bio-page-header--image, .bio-page-header--video) {
  min-height: 32.5rem;
}

.bio-page-header.bio-page-header--small.bio-page-header--has-media.bio-page-header--video > .bio-page-header__content {
  min-height: 30rem;
}

.bio-page-header--small .bio-page-header__content {
  padding-block: 4.5rem 0;
  padding-inline: clamp(1rem, 5.9259259259vw - 0.3333333333rem, 5rem);
}

.bio-page-header.bio-page-header--small:not(.bio-page-header--has-media):is(.bio-page-header--image, .bio-page-header--video) {
  min-height: 27.625rem;
}

.bio-page-header.bio-page-header--small:not(.bio-page-header--has-media):is(.bio-page-header--image, .bio-page-header--video) > .bio-page-header__content {
  min-height: 27.375rem;
}

.bio-page-header.bio-page-header--small.bio-page-header--has-media.bio-page-header--image > .bio-page-header__content {
  min-height: 32.25rem;
}

.bio-page-header.bio-page-header--small:not(.bio-page-header--has-media):is(.bio-page-header--image, .bio-page-header--video) > .bio-page-header__content,
.bio-page-header.bio-page-header--small.bio-page-header--has-media.bio-page-header--image > .bio-page-header__content {
  padding-block: calc(var(--header-fixed-h) + 2.5rem) 2.5rem;
}

@media (min-width: 1370px) {
  .bio-page-header.bio-page-header--small:not(.bio-page-header--has-media):is(.bio-page-header--image, .bio-page-header--video) > .bio-page-header__content,
  .bio-page-header.bio-page-header--small.bio-page-header--has-media.bio-page-header--image > .bio-page-header__content {
    padding-block-start: calc(var(--header-fixed-h) + 3.125rem);
  }
}
.bio-page-header__arrow {
  border: 0;
  color: currentColor;
  background: transparent;
  cursor: pointer;
}

.bio-page-header__arrow.swiper-button-lock,
.bio-page-header__pagination.swiper-pagination-lock {
  display: none;
}

.bio-page-header__pagination.swiper-pagination-horizontal {
  position: static;
  width: auto;
}

.bio-page-header__pagination .swiper-pagination-bullet {
  display: flex;
  width: 0.75rem;
  height: 0.75rem;
  margin: 0 !important;
  align-items: center;
  justify-content: center;
  border: 0.0625rem solid transparent;
  border-radius: 50%;
  opacity: 1;
  background: transparent;
}

.bio-page-header__pagination .swiper-pagination-bullet::before {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: currentColor;
  content: "";
  opacity: 0.35;
}

.bio-page-header__pagination .swiper-pagination-bullet-active {
  border-color: currentColor;
}

.bio-page-header__pagination .swiper-pagination-bullet-active::before {
  opacity: 1;
}

.bio-video-controls {
  top: 1rem;
  inset-inline-start: clamp(1rem, 5.9259259259vw - 0.3333333333rem, 5rem);
  color: var(--bio-white);
  opacity: 0;
  visibility: hidden;
  transition: opacity 200ms ease-out, visibility 200ms;
}

.is-video-ready > .bio-video-controls {
  opacity: 1;
  visibility: visible;
}

.bio-page-header--small .bio-video-controls {
  top: calc(var(--header-fixed-h) + 1rem);
}

@media (min-width: 992px) {
  .bio-page-header--full .bio-video-controls {
    top: calc(var(--header-fixed-h) + 1rem);
  }
}
@media (min-width: 1370px) {
  .bio-page-header--small .bio-video-controls,
  .bio-page-header--full .bio-video-controls {
    top: calc(var(--header-fixed-h) + 0.625rem + 1rem);
  }
}
.bio-video-controls__button {
  border: 0;
  color: inherit;
  background: transparent;
  opacity: 0.85;
  filter: drop-shadow(0 0.0625rem 0.125rem rgba(0, 0, 0, 0.5));
  cursor: pointer;
  transition: opacity 150ms ease-out;
}
.bio-video-controls__button:hover, .bio-video-controls__button:focus-visible {
  opacity: 1;
}
.bio-video-controls__button:focus-visible {
  outline: 0.125rem solid currentColor;
  outline-offset: 0.125rem;
}

.bio-video-controls__icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  fill: currentColor;
}

.bio-video-controls__icon--play,
.bio-video-controls__icon--sound-off,
.is-video-paused .bio-video-controls__icon--pause,
.is-video-muted .bio-video-controls__icon--sound-on {
  display: none;
}

.is-video-paused .bio-video-controls__icon--play,
.is-video-muted .bio-video-controls__icon--sound-off {
  display: block;
}

.bio-header-contact-info--overlap-small-header {
  position: relative;
  z-index: 1;
  margin-top: -2.5rem;
}

.bio-header-contact-info__panel {
  background: var(--bio-white);
}

.bio-header-contact-info__card {
  color: var(--bio-white);
  background: var(--bio-primary);
}

.bio-header-contact-info__phone {
  color: inherit;
  text-decoration: none;
}

.bio-header-contact-info__phone:hover {
  text-decoration: underline;
}

@media (min-width: 768px) {
  .bio-header-contact-info__panel {
    box-shadow: 0 0.4375rem 1.3125rem rgba(30, 78, 146, 0.06);
  }
}
@media (min-width: 992px) {
  .bio-header-contact-info__panel[data-contact-info-count="1"] {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .bio-header-contact-info__panel[data-contact-info-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.bio-centre-header__tag {
  color: var(--bio-white);
  background: var(--bio-white-50);
  text-transform: uppercase;
}

.bio-centre-header__icon {
  color: var(--bio-white-30);
}

.bio-centre-header__card {
  background: rgba(116, 170, 220, 0.12);
}

.bio-centre-header__divider {
  background: var(--bio-blue-200);
}

.bio-centre-header__link,
.bio-centre-header__map {
  color: inherit;
  text-decoration: none;
}

.bio-centre-header__link:hover {
  text-decoration: underline;
}

.bio-centre-header__email {
  color: var(--bio-blue-200);
}

.bio-centre-header__map-thumb {
  box-shadow: 0 0 0 0.1875rem var(--bio-white-30);
  transition: box-shadow 150ms ease-out;
}

.bio-centre-header__map:hover .bio-centre-header__map-thumb,
.bio-centre-header__map:focus-visible .bio-centre-header__map-thumb {
  box-shadow: 0 0 0 0.1875rem var(--bio-white-70);
}

.bio-centre-header__map:focus-visible {
  outline: 0.125rem solid var(--bio-white);
  outline-offset: 0.375rem;
}

.bio-centre-header__figure--empty {
  display: none;
  background: transparent;
}

@media (min-width: 992px) {
  .bio-centre-header__figure--empty {
    display: flex;
  }
}
.bio-centre-header__rule {
  background: var(--bio-blue-400);
}

body.error404 {
  padding-top: 0;
}

.bio-404 {
  color: var(--bio-ink);
  background: var(--bio-white);
}

.bio-404__code {
  color: var(--bio-primary);
}

.bio-404 a {
  text-decoration: none;
}

.bio-404 :focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.1875rem;
}

.bio-quoted-text {
  color: var(--bio-white);
  background: var(--bio-primary);
}

.bio-quoted-text__content {
  line-height: normal;
}

.bio-quoted-text__content::before {
  position: absolute;
  top: 0;
  bottom: 0;
  inset-inline-start: 0.6875rem;
  width: 0.125rem;
  background: var(--bio-blue-400);
  content: "";
}

.bio-quoted-text__content a {
  color: inherit;
}

.bio-quoted-text__content ul,
.bio-quoted-text__content ol {
  padding-inline-start: 1.25em;
}

.bio-text-sections {
  color: var(--bio-primary);
  background: var(--bio-white);
}

.bio-text-section {
  border-bottom: 0.0625rem solid var(--bio-blue-200);
}

.bio-text-section__title {
  margin: 0;
  font-weight: 700;
  line-height: 1.111;
}

.bio-text-section__content {
  min-width: 0;
  font-weight: 400;
}

.bio-text-section__content--background {
  background: var(--bio-surface-blue);
}

.bio-text-section__content > * {
  margin-block: 0;
}

.bio-text-section__content > * + * {
  margin-block-start: 1.5rem;
}

.bio-text-section__content h3,
.bio-text-section__content h4 {
  font-size: clamp(1.25rem, 0.3703703704vw + 1.1666666667rem, 1.5rem);
  font-weight: 700;
  line-height: normal;
}

.bio-text-section__content p + h3,
.bio-text-section__content p + h4 {
  margin-block-start: clamp(1.5rem, 1.4814814815vw + 1.1666666667rem, 2.5rem);
}

.bio-text-section__content h3 + p,
.bio-text-section__content h4 + p {
  margin-block-start: 1rem;
}

.bio-text-section__content ul {
  padding: 0;
  list-style: none;
}
.bio-text-section__content ul > li + li {
  margin-top: 1.5rem;
}
.bio-text-section__content ul > li {
  position: relative;
  padding-inline-start: 2rem;
}

.bio-text-section__content ol {
  padding-inline-start: 2rem;
}

.bio-text-section__content ol > li + li {
  margin-top: 1.5rem;
}

.bio-text-section__content ol > li::marker {
  color: var(--bio-blue-400);
}

.bio-text-section__content--regular ul > li::before {
  position: absolute;
  top: 0.4375rem;
  inset-inline-start: 0.5625rem;
  width: 0.375rem;
  height: 0.375rem;
  background: var(--bio-blue-400);
  border-radius: 50%;
  content: "";
}

.bio-text-section__content--check ul > li::before {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 1.5rem;
  height: 1.25rem;
  background: url("../assets/images/check.svg") center/1rem no-repeat;
  content: "";
}

.bio-text-section__content--info ul > li::before {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 1.5rem;
  height: 1.25rem;
  background: url("../assets/images/info.svg") center/0.875rem no-repeat;
  content: "";
}

.bio-text-section__content a:not(.bio-button) {
  color: inherit;
}

.bio-text-section__content img {
  max-width: 100%;
  height: auto;
}

.bio-text-section__content iframe:is([src*="youtube.com/embed/"],
[src*="youtube-nocookie.com/embed/"],
[data-cookieblock-src*="youtube.com/embed/"],
[data-cookieblock-src*="youtube-nocookie.com/embed/"]) {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
  border: 0;
}

.bio-text-sections--band-light {
  background: var(--bio-surface-blue);
}

.bio-text-sections--band-light .bio-text-section__content--background {
  background: var(--bio-white-70);
}

.bio-text-sections--band-dark {
  color: var(--bio-white);
  background: var(--bio-primary);
}

.bio-text-sections--band-light .bio-text-section,
.bio-text-sections--band-dark .bio-text-section {
  border-bottom: 0;
}

@media (min-width: 992px) {
  .bio-text-section--centered {
    grid-template-columns: minmax(0, 1fr) minmax(0, 4fr) minmax(0, 1fr);
    column-gap: clamp(1rem, 0.3703703704vw + 0.9166666667rem, 1.25rem);
  }
  .bio-text-section--centered > .bio-text-section__title,
  .bio-text-section--centered > .bio-text-section__content {
    grid-column: 2;
  }
  .bio-text-section > .bio-text-section__content:first-child {
    grid-column: 2;
  }
}
.bio-personnel-section {
  color: var(--bio-primary);
}

.bio-personnel-section::before {
  position: absolute;
  top: 3.625rem;
  left: 50%;
  width: 19rem;
  height: 30.625rem;
  background: url("../assets/images/exams-overview-mark.svg") center/contain no-repeat;
  content: "";
  transform: translateX(-50%);
}

.bio-personnel-card {
  color: var(--bio-primary);
  background: var(--bio-card-tint);
  backdrop-filter: blur(1.859375rem);
}

.bio-personnel-card a {
  color: inherit;
  text-decoration: none;
}

.bio-personnel-card__avatar {
  border-radius: 50%;
  background: var(--bio-surface-blue);
}

.bio-personnel-card__image {
  transition: transform 300ms ease;
}

.bio-personnel-card:hover .bio-personnel-card__image {
  transform: scale(1.04);
}

.bio-personnel-card__fallback {
  color: var(--bio-white);
  background: var(--bio-blue-400);
}

.bio-personnel-card__manager {
  top: 6.75rem;
  left: 50%;
  color: var(--bio-white);
  background: var(--bio-primary);
  white-space: nowrap;
  transform: translateX(-50%);
}

.bio-personnel-card__manager-dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--bio-blue-400);
}

.bio-personnel-card__details {
  text-align: center;
}

.bio-personnel-card__job {
  text-transform: uppercase;
}

.bio-personnel-card__divider {
  background: var(--bio-blue-200);
}

.bio-personnel-card__profile {
  padding-bottom: 0.25rem;
  border-bottom: 0.0625rem solid transparent;
}

.bio-personnel-card__profile:hover {
  border-color: currentColor;
}

.bio-faqs {
  color: var(--bio-primary);
  background: var(--bio-surface-blue);
}

.bio-faqs__title {
  margin: 0;
  line-height: 1.111;
}

.bio-faqs__item {
  border-bottom: 0.0625rem solid var(--bio-blue-200);
}

.bio-faqs__summary {
  align-items: flex-start;
  padding-block: 1.5rem;
  color: var(--bio-primary);
}

.bio-faqs__item:first-child .bio-faqs__summary {
  padding-block-start: 0;
}

.bio-faqs__summary::after {
  display: none;
}

.bio-faqs__question {
  min-width: 0;
  line-height: normal;
}

.bio-faqs__toggle {
  color: var(--bio-primary);
  border: 0.0625rem solid currentColor;
  -webkit-backdrop-filter: blur(0.4375rem);
  backdrop-filter: blur(0.4375rem);
  transition: color 180ms ease, background-color 180ms ease;
}

.bio-faqs__toggle img {
  display: block;
  transition: clip-path 180ms ease, filter 180ms ease;
}

.bio-faqs__item[open] .bio-faqs__toggle img {
  clip-path: inset(47.5% 0);
}

.bio-faqs__summary:hover .bio-faqs__toggle {
  color: var(--bio-white);
  background: var(--bio-primary);
}

.bio-faqs__summary:hover .bio-faqs__toggle img {
  filter: brightness(0) invert(1);
}

.bio-faqs__summary:focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.1875rem;
}

.bio-faqs__answer {
  font-weight: 400;
}

.bio-faqs__answer > * {
  margin-block: 0;
}

.bio-faqs__answer > * + *,
.bio-faqs__answer :where(ul, ol) > li + li {
  margin-block-start: 1.5rem;
}

.bio-faqs__answer br + span[data-contrast] {
  display: block;
  margin-block-start: 1.5rem;
}

.bio-faqs__answer > p:has(> span[data-ccp-props]:only-child) {
  display: none;
}

.bio-faqs__answer a {
  color: inherit;
}

.bio-faqs--gradient {
  color: var(--bio-white);
  background: radial-gradient(circle 960px at calc(100% - 74.5px) 720px, var(--bio-glow)), var(--bio-primary);
}

.bio-faqs--gradient .bio-faqs__item {
  border-block-end-color: var(--bio-white-30);
}

.bio-faqs--gradient .bio-faqs__summary {
  color: var(--bio-white);
}

.bio-faqs--gradient .bio-faqs__toggle {
  border-color: var(--bio-white-30);
}

.bio-faqs--gradient .bio-faqs__toggle img {
  filter: brightness(0) invert(1);
}

.bio-faqs--gradient .bio-faqs__summary:hover .bio-faqs__toggle {
  color: var(--bio-primary);
  background: var(--bio-white);
}

.bio-faqs--gradient .bio-faqs__summary:hover .bio-faqs__toggle img {
  filter: none;
}

@media (prefers-reduced-motion: reduce) {
  .bio-faqs__toggle,
  .bio-faqs__toggle img {
    transition: none;
  }
}
div.bio-exam-teaser:hover .bio-exam-teaser__image {
  transform: scale(1.04);
}

.bio-exam-teaser:focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.1875rem;
}

@media (prefers-reduced-motion: reduce) {
  .bio-exam-teaser__image {
    transition: none;
  }
}
.bio-exam-promos {
  background: var(--bio-white);
}

.bio-exam-promos__panel {
  max-width: 46.28125rem;
  color: var(--bio-primary);
  background: rgba(47, 87, 147, 0.1);
}

.bio-exam-promos__panel::before {
  position: absolute;
  top: 7.4375rem;
  left: 13.4375rem;
  width: 51.0625rem;
  height: 51.0625rem;
  background: url("../assets/images/exam-promos-glow.svg") center/contain no-repeat;
  content: "";
  pointer-events: none;
}

.bio-exam-promos__items {
  display: grid;
  gap: 2rem;
}

.bio-exam-promo__title,
.bio-exam-promo__text {
  max-width: 28.125rem;
}

.bio-exam-promo__text > :first-child {
  margin-top: 0;
}

.bio-exam-promo__text > :last-child {
  margin-bottom: 0;
}

.bio-exam-promo__button {
  align-self: flex-start;
  color: var(--bio-white);
  letter-spacing: 0.01em;
  text-decoration: none;
}

.bio-exam-promo__icon {
  background-color: currentColor;
  mask: var(--bio-promo-icon) center/contain no-repeat;
  -webkit-mask: var(--bio-promo-icon) center/contain no-repeat;
}

.bio-exam-promos__logo {
  width: 5.625rem;
  height: 9.0625rem;
  margin-inline: auto;
}

@media (min-width: 992px) {
  .bio-exam-promos__panel--double {
    max-width: 80rem;
  }
  .bio-exam-promos__panel--single .bio-exam-promos__items {
    grid-template-columns: minmax(0, 31.21875rem) 7.5625rem;
  }
  .bio-exam-promos__panel--double .bio-exam-promos__items {
    grid-template-columns: repeat(2, minmax(0, 1fr)) 7.5625rem;
  }
  .bio-exam-promos__items {
    gap: 2.5rem;
  }
  .bio-exam-promo {
    min-height: 12.1875rem;
  }
  .bio-exam-promo--2 .bio-exam-promo__title {
    max-width: 18rem;
  }
  .bio-exam-promos__logo {
    width: 7.5625rem;
    height: 12.1875rem;
    margin-inline: 0;
  }
}
.bio-footer {
  color: var(--bio-white-70);
  background: var(--bio-primary);
}

.bio-footer__accent {
  background: var(--bio-blue-400);
}

.bio-footer__logo {
  display: block;
  color: var(--bio-white);
}

.bio-social {
  color: var(--bio-blue-200);
  border: 0;
  background: transparent;
  transition: background-color 180ms ease;
}

.bio-social__icon {
  background-color: currentColor;
  mask: var(--bio-social-icon) center/contain no-repeat;
  -webkit-mask: var(--bio-social-icon) center/contain no-repeat;
}

.bio-social:hover {
  background: var(--bio-primary-dark);
}

.bio-footer__rule {
  background: var(--bio-white-30);
}

.bio-contact-card {
  color: var(--bio-blue-200);
  background: var(--bio-primary-hover);
  transition: background-color 180ms ease;
}

.bio-contact-card strong {
  color: var(--bio-white);
}

.bio-contact-card__line {
  text-box-edge: cap alphabetic;
  text-box-trim: trim-both;
}

.bio-contact-card__value--link {
  text-decoration: underline;
  text-decoration-skip-ink: none;
  text-underline-position: from-font;
}

.bio-contact-card:hover {
  background: var(--bio-primary-dark);
}

.bio-footer__link {
  color: var(--bio-white-70);
}

.bio-footer__link-dot {
  background: var(--bio-blue-400);
}

.bio-footer__link:hover {
  color: var(--bio-white);
}

@media (min-width: 768px) {
  .bio-footer__link {
    gap: 0;
    transition: gap 180ms ease, color 180ms ease;
  }
  .bio-footer__link-dot {
    width: 0;
    opacity: 0;
    transition: width 180ms ease, opacity 180ms ease;
  }
  .bio-footer__link:hover {
    gap: 0.5rem;
  }
  .bio-footer__link:hover .bio-footer__link-dot {
    width: 0.3125rem;
    opacity: 1;
  }
}
.bio-footer__accordion > summary {
  color: var(--bio-blue-200);
  border-bottom: 0.0625rem solid var(--bio-white-30);
}

@media (min-width: 768px) {
  .bio-footer__accordion > summary {
    pointer-events: none;
    border-bottom: 0;
  }
  .bio-footer__accordion > summary::after {
    display: none;
  }
  .bio-footer__accordion > .accordion__body {
    grid-template-rows: 1fr;
  }
  .bio-footer__accordion::details-content {
    content-visibility: visible;
  }
}
.bio-footer__legal-links {
  width: max-content;
}

.bio-footer__legal {
  color: var(--bio-blue-200);
  background: var(--bio-primary-dark);
}

.bio-footer__legal-link {
  color: var(--bio-blue-200);
  transition: color 180ms ease;
}

.bio-footer__legal-link:hover {
  color: var(--bio-white);
}

.bio-footer__heart {
  font-family: "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji", sans-serif;
  font-style: normal;
  line-height: 1;
}

.bio-home-hero {
  color: var(--bio-white);
  background: var(--bio-primary-dark);
}

.bio-home-hero__overlay {
  background: linear-gradient(90deg, rgb(var(--bio-navy-deep-rgb)/0.94) 0%, rgba(0, 77, 113, 0.74) 50%, rgba(0, 77, 113, 0.26) 100%);
}

@media (min-width: 768px) {
  .bio-home-hero {
    border-bottom: 0.25rem solid var(--bio-blue-400);
  }
  .bio-home-hero-swiper .swiper-slide:nth-child(5) {
    display: none;
  }
}
.bio-home-quick-actions__inner {
  background: var(--bio-white);
}

@media (min-width: 768px) {
  .bio-home-quick-actions__inner {
    box-shadow: 0 0.4375rem 1.3125rem rgba(30, 78, 146, 0.06);
  }
}
@media (min-width: 576px) {
  .bio-home-quick-actions__inner[data-quick-actions-count="1"] {
    grid-template-columns: minmax(0, 1fr);
  }
}
@media (min-width: 992px) {
  .bio-home-quick-actions__inner[data-quick-actions-count="1"] {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }
  .bio-home-quick-actions__inner[data-quick-actions-count="2"] {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .bio-home-quick-actions__inner[data-quick-actions-count="3"] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
.bio-home-quick-action {
  color: var(--bio-primary);
  background: var(--bio-surface-blue);
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.bio-home-quick-action__icon img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  transition: filter 180ms ease;
}

.bio-home-quick-action:hover {
  color: var(--bio-white);
  background: var(--bio-primary);
  transform: translateY(-0.125rem);
}

.bio-home-quick-action:hover .bio-home-quick-action__icon img {
  filter: brightness(0) invert(1);
}

.bio-exams-overview {
  padding-top: clamp(1.75rem, 1.1111111111vw + 1.5rem, 2.5rem);
  color: var(--bio-primary);
  background: var(--bio-white);
  isolation: isolate;
}

.bio-exams-overview--with-search {
  padding-top: 0.625rem;
}

@media (min-width: 768px) {
  .bio-exams-overview {
    padding-top: clamp(3.5rem, 2.2222222222vw + 3rem, 5rem);
  }
  .bio-exams-overview--with-search {
    padding-top: 0;
  }
  .bio-exams-overview--with-search .bio-exams-overview__search-shell {
    margin-bottom: -1.25rem;
    transform: translateY(-1.25rem);
  }
}
.bio-exams-overview__background {
  z-index: 0;
  inset-block-start: clamp(5rem, 1.8518518519vw + 4.5833333333rem, 6.25rem);
  inset-inline-start: 50%;
  width: auto;
  max-width: none;
  height: calc(100% - clamp(5rem, 1.8518518519vw + 4.5833333333rem, 6.25rem));
  max-height: 31rem;
  pointer-events: none;
  transform: translateX(-50%);
}

@media (max-width: 767.98px) {
  .bio-exams-overview--with-search .bio-exams-overview__background {
    inset-block-start: 11.25rem;
    height: calc(100% - 11.25rem);
    max-height: 18rem;
  }
}
.bio-exams-overview__search-shell {
  width: 100%;
  max-width: 55.375rem;
  background: var(--bio-white);
  box-shadow: 0 0.4375rem 1.3125rem rgba(30, 78, 146, 0.06);
  -webkit-backdrop-filter: blur(1.6875rem);
  backdrop-filter: blur(1.6875rem);
}

.bio-exams-overview__search-card {
  color: var(--bio-primary);
  background: var(--bio-surface-blue);
}

.bio-exams-overview__search-shell + .bio-exams-overview__accordion {
  margin-top: clamp(2.5rem, 3.7037037037vw + 1.6666666667rem, 5rem);
}

.bio-exams-overview__search-input {
  color: var(--bio-ink);
  background: var(--bio-white);
  border: 0.0625rem solid var(--bio-blue-200);
  outline: 0;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.bio-exams-overview__search-input::placeholder {
  color: var(--bio-ink-30);
  opacity: 1;
}

.bio-exams-overview__search-input:hover,
.bio-exams-overview__search-input:focus {
  border-color: var(--bio-primary);
  box-shadow: 0 0 0 0.1875rem rgba(0, 77, 113, 0.12);
}

.bio-exams-overview__search-button {
  color: var(--bio-white);
  background: var(--bio-primary);
  border: 0;
  cursor: pointer;
  transition: background-color 180ms ease;
}

.bio-exams-overview__search-button:hover {
  background: var(--bio-primary-hover);
}

.bio-exams-overview__category {
  border-top: 0.0625rem solid var(--bio-blue-200);
}

.bio-exams-overview__category:last-child {
  border-bottom: 0.0625rem solid var(--bio-blue-200);
}

.bio-exams-overview__summary {
  color: var(--bio-primary);
}

.bio-exams-overview__summary::after {
  display: none;
}

.bio-exams-overview__toggle {
  color: var(--bio-primary);
  border: 0.0625rem solid currentColor;
  transition: color 180ms ease, background-color 180ms ease;
}

.bio-exams-overview__toggle svg {
  transition: transform 300ms ease;
}

.bio-exams-overview__summary:hover .bio-exams-overview__toggle {
  color: var(--bio-white);
  background: var(--bio-primary);
}

.bio-exams-overview__category[open] .bio-exams-overview__toggle svg {
  transform: rotate(180deg);
}

.bio-exams-overview__exam {
  color: var(--bio-primary);
  background: rgba(180, 203, 225, 0.3);
  -webkit-backdrop-filter: blur(1.5rem);
  backdrop-filter: blur(1.5rem);
  text-decoration: none;
  transition: color 180ms ease, background-color 180ms ease, transform 180ms ease;
}

.bio-exams-overview__grid {
  margin: 0;
  padding: 0;
  list-style: none;
}

.bio-exams-overview__exam-icon img {
  display: block;
  width: 100%;
  height: 100%;
  transition: filter 180ms ease;
}

.bio-exams-overview__exam:hover {
  color: var(--bio-white);
  background: var(--bio-primary);
  transform: translateY(-0.125rem);
}

.bio-exams-overview__exam:hover .bio-exams-overview__exam-icon img {
  filter: brightness(0) invert(1);
}

.bio-exams-overview__empty,
.bio-exams-overview__no-results {
  color: var(--bio-ink);
}

.bio-exam-prep {
  padding-top: 0.625rem;
  color: var(--bio-primary);
  background: var(--bio-white);
  isolation: isolate;
}

@media (min-width: 768px) {
  .bio-exam-prep {
    padding-top: 0;
  }
  .bio-exam-prep__shell {
    margin-bottom: -1.5rem;
    transform: translateY(-1.5rem);
  }
}
.bio-exam-prep__shell {
  background: var(--bio-white);
  box-shadow: 0 0.4375rem 1.3125rem rgba(30, 78, 146, 0.06);
  -webkit-backdrop-filter: blur(1.6875rem);
  backdrop-filter: blur(1.6875rem);
}

.bio-exam-prep__card {
  background: var(--bio-surface-blue);
}

.bio-exam-prep__select {
  padding-inline-end: 2.5rem;
  color: var(--bio-primary);
  background: var(--bio-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23004d71' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 8 4 4 4-4'/%3E%3C/svg%3E") no-repeat right 1rem center/1rem;
  border: 0.0625rem solid var(--bio-blue-200);
  outline: 0;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.bio-exam-prep__select:invalid,
.bio-exam-prep__select:disabled {
  color: var(--bio-field-placeholder);
}

.bio-exam-prep__select:disabled {
  cursor: not-allowed;
  opacity: 1;
}

.bio-exam-prep__select:hover:not(:disabled),
.bio-exam-prep__select:focus-visible {
  border-color: var(--bio-primary);
  box-shadow: 0 0 0 0.1875rem rgba(0, 77, 113, 0.12);
}

.bio-exam-prep__select option {
  color: var(--bio-primary);
}

.bio-exam-prep__mark {
  z-index: 0;
  inset-inline-start: 50%;
  width: 12.375rem;
  height: auto;
  pointer-events: none;
  transform: translateX(-50%);
}

.bio-exam-prep__empty {
  z-index: 1;
}

.bio-exam-prep__empty[hidden] {
  display: none;
}

.bio-exam-prep__result {
  z-index: 1;
  background: var(--bio-card-tint);
  -webkit-backdrop-filter: blur(1.3125rem);
  backdrop-filter: blur(1.3125rem);
}

.bio-exam-prep__result-title {
  text-transform: uppercase;
}

.bio-exam-prep__text > * {
  margin-block: 0;
}

.bio-exam-prep__text > * + * {
  margin-block-start: 1rem;
}

.bio-exam-prep__text ul {
  padding: 0;
  list-style: none;
}
.bio-exam-prep__text ul > li + li {
  margin-top: 1.5rem;
}
.bio-exam-prep__text ul > li {
  position: relative;
  padding-inline-start: 2rem;
}
.bio-exam-prep__text ul > li::before {
  position: absolute;
  top: 0.4375rem;
  inset-inline-start: 0.5625rem;
  width: 0.375rem;
  height: 0.375rem;
  background: var(--bio-blue-400);
  border-radius: 50%;
  content: "";
}
.bio-exam-prep__text ul > li + li {
  margin-top: 1rem;
}

.bio-exam-prep__text ol {
  padding-inline-start: 2rem;
}
.bio-exam-prep__text ol > li + li {
  margin-top: 1rem;
}
.bio-exam-prep__text ol > li::marker {
  color: var(--bio-blue-400);
}

.bio-exam-prep__text a {
  color: inherit;
  font-weight: 700;
  text-decoration: underline;
}

@media (prefers-reduced-motion: reduce) {
  .bio-exam-prep__select {
    transition: none;
  }
}
.bio-page-header--band {
  min-height: 0;
}

@media (min-width: 768px) {
  .bio-page-header--band {
    min-height: 0;
  }
}
.bio-centres__filters {
  pointer-events: auto;
}

.bio-centres__rule {
  background: var(--bio-blue-400);
}

.bio-centres__filter label {
  color: var(--bio-blue-200);
}

.bio-centres__submit[hidden] {
  display: none;
}

.bio-centres__select {
  appearance: none;
  color: var(--bio-primary);
  background: var(--bio-white) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23004d71' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 1rem center/0.625rem 0.375rem;
  border: 1px solid var(--bio-blue-200);
  padding-inline-end: 2.5rem;
}
.bio-centres__select:focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.125rem;
}

.bio-centres__list ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.bio-centres__title {
  color: var(--bio-primary);
}

.bio-centres__locating {
  color: var(--bio-primary);
}
.bio-centres__locating[hidden] {
  display: none;
}

.bio-centres__spinner {
  border: 2px solid var(--bio-blue-200);
  border-block-start-color: var(--bio-primary);
  animation: bio-centres-spin 0.7s linear infinite;
}

@keyframes bio-centres-spin {
  to {
    transform: rotate(1turn);
  }
}
@media (prefers-reduced-motion: reduce) {
  .bio-centres__spinner {
    animation: none;
  }
}
.bio-centres__card {
  color: var(--bio-primary);
  text-decoration: none;
  background: var(--bio-card-tint);
  transition: background 0.2s ease, color 0.2s ease;
}

.bio-centres__thumb {
  background: var(--bio-white);
}

.bio-centres__thumb--empty {
  background: var(--bio-primary);
}
.bio-centres__thumb--empty img {
  width: auto;
}

.bio-centres__tag {
  color: var(--bio-primary);
  background: var(--bio-white-70);
  border: 1px solid var(--bio-ink-10);
  text-transform: uppercase;
}

.bio-centres__dot {
  background: var(--bio-blue-400);
}

.bio-centres__card:hover,
.bio-centres__card:focus-visible {
  background: rgba(47, 87, 147, 0.18);
}

.bio-centres__card:hover .bio-centres__thumb--empty,
.bio-centres__card:focus-visible .bio-centres__thumb--empty,
[data-centre].is-selected .bio-centres__thumb--empty {
  border: 1px solid var(--bio-blue-400);
}

[data-centre].is-selected .bio-centres__card {
  color: var(--bio-white);
  background: var(--bio-primary);
}
[data-centre].is-selected .bio-centres__card .bio-centres__tag {
  color: var(--bio-blue-200);
  background: var(--bio-primary-dark);
}
[data-centre].is-selected .bio-centres__card .bio-centres__dot {
  background: var(--bio-blue-200);
}
[data-centre].is-selected .bio-centres__card .bio-centres__cta {
  color: var(--bio-white);
}

.bio-centres__tabs {
  background: var(--bio-surface-blue);
}

.bio-centres__tab {
  color: var(--bio-primary);
  cursor: pointer;
  background: transparent;
  border: 0;
  transition: background 0.2s ease;
}
.bio-centres__tab[aria-pressed=true] {
  background: var(--bio-blue-400);
}

@media (max-width: 991.98px) {
  [data-view=map] .bio-centres__list > :not(.bio-centres__head) {
    display: none;
  }
  [data-view=map] .bio-centres__list {
    padding-block-end: 0;
  }
  [data-view=list] .bio-centres__map-col {
    display: none;
  }
}
.bio-centres__peek {
  inset-block-end: clamp(0.75rem, 0.3703703704vw + 0.6666666667rem, 1rem);
  inset-inline-start: 0;
  z-index: 2;
  pointer-events: none;
}
.bio-centres__peek .bio-centres__card {
  background: var(--bio-white);
  box-shadow: 0 0.25rem 1rem rgb(var(--bio-navy-deep-rgb)/0.24);
  pointer-events: auto;
}

.bio-centres__map {
  background: var(--bio-surface-blue);
}

@media (min-width: 992px) {
  .bio-centres__body {
    padding-inline-start: max(0rem, min(clamp(1.25rem, 5.5555555556vw, 5rem), 57.5rem - 50vw));
  }
  .bio-centres__map-col {
    position: sticky;
    align-self: start;
    inset-block-start: calc(var(--header-fixed-h, 0px) + clamp(1rem, 2.2222222222vw + 0.5rem, 2.5rem));
  }
  .bio-centres__map {
    height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - var(--header-fixed-h, 0px) - clamp(2rem, 4.4444444444vw + 1rem, 5rem));
    min-height: 31.25rem;
  }
}
.bio-centres__map .gm-style-cc,
.bio-centres__map .gmnoprint a {
  opacity: 0.6;
}

.bio-opening-hours {
  color: var(--bio-primary);
  background: var(--bio-white);
}

.bio-opening-hours :focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.1875rem;
}

.bio-opening-hours__tabs-shell {
  margin-block-end: clamp(2.5rem, 1.8518518519vw + 2.0833333333rem, 3.75rem);
  transform: translateY(-1.25rem);
}

.bio-opening-hours__tabs {
  max-width: 100%;
  background: var(--bio-white);
  box-shadow: 0 0.4375rem 0.75rem rgba(30, 78, 146, 0.06);
  -webkit-backdrop-filter: blur(1.6875rem);
  backdrop-filter: blur(1.6875rem);
}

.bio-opening-hours__tab {
  color: var(--bio-primary);
  background: var(--bio-surface-blue);
  border: 0;
  cursor: pointer;
  transition: color 180ms ease, background-color 180ms ease;
}
.bio-opening-hours__tab[aria-selected=true] {
  color: var(--bio-white);
  background: var(--bio-primary);
}
.bio-opening-hours__tab:hover:not([aria-selected=true]) {
  background: rgba(180, 203, 225, 0.45);
}

.bio-opening-hours__panel[hidden] {
  display: none;
}

.bio-opening-hours__grid {
  list-style: none;
}

.bio-opening-hours__card {
  color: var(--bio-white);
  background: var(--bio-primary);
}

.bio-opening-hours__detail-copy {
  overflow-wrap: anywhere;
}

.bio-opening-hours__detail-link,
.bio-opening-hours__cta {
  color: inherit;
  text-decoration: none;
}

.bio-opening-hours__detail-link:hover {
  text-decoration: underline;
}

.bio-opening-hours__cta {
  padding-block: 0.25rem;
  border-bottom: 0.0625rem solid transparent;
}

.bio-opening-hours__cta::before {
  width: 1rem;
  height: 0.8125rem;
  flex: 0 0 auto;
  background-color: currentColor;
  content: "";
  -webkit-mask: url("../assets/images/btn-arrow.svg") center/contain no-repeat;
  mask: url("../assets/images/btn-arrow.svg") center/contain no-repeat;
}

.bio-opening-hours__cta:hover {
  border-color: currentColor;
}

a.bio-custom-carousel-card,
div.bio-custom-carousel-card {
  flex: none;
  height: auto;
  aspect-ratio: 29/37;
  color: var(--bio-white);
  text-decoration: none;
  background: var(--bio-primary);
}

.bio-custom-carousel .swiper-wrapper {
  align-items: flex-start;
}

.bio-custom-carousel-card__image {
  transition: transform 300ms ease;
}

a.bio-custom-carousel-card:hover .bio-custom-carousel-card__image {
  transform: scale(1.04);
}

.bio-custom-carousel-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 33%, rgb(var(--bio-navy-deep-rgb)) 100%);
}

.bio-logos {
  color: var(--bio-primary);
  background: var(--bio-white);
}

.bio-logos__inner {
  border-bottom: 0.0625rem solid var(--bio-blue-200);
}

#primary:has(~ .bio-home-newsletter) > .bio-widgets:last-child > .bio-logos:last-child > .bio-logos__inner,
#primary:has(~ .bio-home-newsletter) > .bio-post__body:last-child > .bio-prose > .bio-selected-block:last-child > .bio-logos:last-child > .bio-logos__inner {
  border-bottom: 0;
}

.bio-logos__title {
  margin: 0;
}

.bio-logos__text > * {
  margin-block: 0;
}

.bio-logos__text > * + * {
  margin-block-start: 1rem;
}

.bio-logos__text a {
  color: inherit;
}

.bio-logos__grid {
  grid-template-columns: repeat(auto-fit, 7.5rem);
  list-style: none;
}

.bio-logos__card {
  color: inherit;
  text-decoration: none;
}

.bio-logos__tile {
  background: var(--bio-white);
  border: 0.0625rem solid var(--bio-card-tint);
  transition: border-color 200ms ease;
}

a.bio-logos__card:hover .bio-logos__tile,
a.bio-logos__card:focus-visible .bio-logos__tile {
  border-color: var(--bio-primary);
}

.bio-post__body .bio-selected-block > .bio-logos {
  width: 100cqw;
  margin-inline: calc(50% - 50cqw);
}

.bio-media {
  color: var(--bio-primary);
  background: var(--bio-white);
}

.bio-media__grid {
  list-style: none;
}

.bio-media-card {
  background: var(--bio-card-tint);
}

.bio-media-card__year {
  border: 0.0625rem solid var(--bio-ink-10);
  background: var(--bio-white-70);
}

.bio-media-card__icon {
  background-color: currentColor;
  -webkit-mask: url("../assets/images/media-external-link.svg") center/contain no-repeat;
  mask: url("../assets/images/media-external-link.svg") center/contain no-repeat;
}

.bio-offer-single {
  color: var(--bio-primary);
}

.bio-offer-single__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.bio-tag.bio-offer-status--inactive {
  color: var(--bio-ink-30);
}

.bio-offer-status .bio-tag__dot {
  background: var(--bio-teal);
}

.bio-tag__dot.bio-tag__dot--active {
  background: var(--bio-teal);
}

.bio-tag__dot.bio-tag__dot--inactive {
  background: var(--bio-red);
}

.bio-home-offer__media {
  flex: none;
}

.bio-home-offer {
  container-type: inline-size;
}

.bio-home-offers-swiper {
  overflow: hidden;
}

.bio-home-offer__panel {
  position: relative;
  color: var(--bio-primary);
  border-radius: 0 0 0.5rem 0.5rem;
  background: var(--bio-surface-blue);
}

@container (max-width: 20.625rem) {
  .bio-home-offer__panel {
    gap: 0.5rem;
    padding-block: 0.75rem;
  }
  .bio-home-offer__copy {
    gap: 0.5rem;
  }
  .bio-home-offer__title {
    font-size: 1.25rem;
  }
  .bio-home-offer__description {
    font-size: 0.8125rem;
    line-height: 1.2;
  }
  .bio-home-offer__button {
    height: 2.5rem;
    padding-inline: 0.75rem;
  }
}
@media (min-width: 992px) {
  .bio-home-offer {
    display: block;
  }
  .bio-home-offer__media {
    border-radius: 0.5rem;
  }
  .bio-home-offer__panel {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 59.035%;
    gap: clamp(0.375rem, 2.271cqw, 1.5rem);
    padding: clamp(0.75rem, 2.365cqw, 1.5625rem);
    border-radius: 0.5rem 0 0.5rem 0;
    background: var(--bio-white-70);
    backdrop-filter: blur(3rem);
  }
  .bio-home-offer__copy {
    gap: clamp(0.375rem, 2.271cqw, 1.5rem);
  }
  .bio-home-offer__title {
    font-size: clamp(1.125rem, 3.406cqw, 2.25rem);
  }
  .bio-home-offer__description {
    font-size: clamp(0.6875rem, 1.514cqw, 1rem);
  }
  .bio-home-offer__button {
    flex: none;
    width: clamp(8.75rem, 18.26cqw, 12.0625rem);
    height: clamp(2rem, 4.542cqw, 3rem);
    padding-inline: clamp(0.625rem, 1.893cqw, 1.25rem);
    font-size: clamp(0.625rem, 1.325cqw, 0.875rem);
    white-space: nowrap;
  }
  .bio-home-offers-swiper {
    overflow: visible;
  }
}
.bio-featured-posts {
  color: var(--bio-primary);
}

.bio-featured-posts a {
  color: inherit;
  text-decoration: none;
}

.bio-home-divider {
  background: var(--bio-blue-200);
  border-color: var(--bio-blue-200);
}

.bio-home-article-feature__media,
.bio-home-article-slide__media {
  display: block;
  background-color: var(--bio-surface-blue);
}

.bio-home-article-image {
  transition: transform 300ms ease;
}

.bio-home-article-feature:hover .bio-home-article-image,
.bio-home-article-slide:hover .bio-home-article-image {
  transform: scale(1.03);
}

.bio-home-article-title a {
  text-underline-offset: 0.15em;
}

.bio-home-article-feature:hover .bio-home-article-title a,
.bio-home-article-slide:hover .bio-home-article-title a {
  text-decoration: underline;
}

@media (min-width: 992px) {
  .bio-home-articles-swiper .swiper-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    transform: none !important;
  }
  .bio-home-articles-swiper .swiper-slide {
    width: 100% !important;
    margin-inline-end: 0 !important;
    padding-bottom: 1.25rem;
    border-bottom: 0.0625rem solid var(--bio-blue-200);
  }
}
.bio-tag {
  color: var(--bio-primary);
  text-decoration: none;
  border: 0.0625rem solid var(--bio-ink-10);
  background: var(--bio-white-70);
}

.bio-tag__dot {
  width: 0.375rem;
  height: 0.375rem;
  border-radius: 50%;
  background: var(--bio-blue-400);
}

.bio-archive,
.bio-post {
  color: var(--bio-primary);
}

.bio-archive a,
.bio-post a:not(:where(.bio-button)) {
  color: inherit;
  text-decoration: none;
}

.bio-archive :focus-visible,
.bio-post :focus-visible {
  outline: 0.1875rem solid var(--bio-teal);
  outline-offset: 0.1875rem;
}

.bio-archive__tabs {
  scrollbar-width: none;
}
.bio-archive__tabs::-webkit-scrollbar {
  display: none;
}
@media (max-width: 991.98px) {
  .bio-archive__tabs {
    margin-inline: calc(-1 * clamp(1.25rem, 5.5555555556vw, 5rem));
  }
}

.bio-archive__tab:hover,
.bio-archive__tab[aria-current=page] {
  color: var(--bio-white);
  background: var(--bio-primary);
  border-color: var(--bio-primary);
}

.bio-pager__num {
  color: var(--bio-ink);
  background: var(--bio-ink-10);
  border: 0.0625rem solid var(--bio-ink-10);
}

a.bio-pager__num:hover,
.bio-pager__num--current {
  color: var(--bio-white);
  background: var(--bio-primary);
  border-color: var(--bio-primary);
}

.bio-pager__dots {
  color: var(--bio-primary);
}

.bio-pager__num--arrow {
  color: var(--bio-blue-200);
}

.bio-post__body {
  container-type: inline-size;
}

.bio-post-header.bio-page-header--has-media {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.bio-post-header.bio-page-header--has-media.bio-page-header--small {
  min-height: 32.5rem;
}

.bio-post-header.bio-page-header--has-media.bio-page-header--full {
  min-height: calc(var(--bio-hero-viewport-height, 100svh) - var(--wp-admin--admin-bar--height, 0px) - var(--contact-rail-mobile-h, 0px));
}

.bio-post-header.bio-page-header--slider > .bio-post-header__content {
  pointer-events: none;
}

.bio-post-header__job {
  color: var(--bio-blue-200);
}

.bio-post-header__avatar {
  background: var(--bio-surface-blue);
  border-radius: 50%;
}

.bio-post-header__avatar-fallback {
  color: var(--bio-primary);
}

.bio-post-share {
  color: var(--bio-primary);
  background: var(--bio-surface-blue);
}

.bio-post-share a,
.bio-post-share button {
  display: inline-flex;
  padding: 0;
  color: inherit;
  cursor: pointer;
  background: none;
  border: 0;
  transition: opacity 200ms ease;
}
.bio-post-share a:hover,
.bio-post-share button:hover {
  opacity: 0.7;
}

.bio-post-share [data-copy-link].is-copied {
  color: var(--bio-teal);
  opacity: 1;
}

.bio-post-share__copied {
  top: calc(100% + clamp(0.5rem, 0.3703703704vw + 0.4166666667rem, 0.75rem));
  z-index: 2;
  color: var(--bio-primary);
  white-space: nowrap;
  pointer-events: none;
  background: var(--bio-white);
  box-shadow: 0 4px 16px rgb(var(--bio-navy-deep-rgb)/0.2);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 200ms ease, transform 200ms ease, visibility 0s linear 200ms;
}

.bio-post-share__copy.is-copied .bio-post-share__copied {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}

.bio-prose {
  color: var(--bio-primary);
  font-size: 1rem;
  line-height: 1.25;
}
.bio-prose > * + * {
  margin-top: 1.5rem;
}
.bio-prose > h2 {
  margin-top: clamp(2.5rem, 2.2222222222vw + 2rem, 4rem);
  font-size: clamp(1.75rem, 0.7407407407vw + 1.5833333333rem, 2.25rem);
  font-weight: 700;
  line-height: 1.11;
}
.bio-prose > h3 {
  margin-top: clamp(2rem, 0.7407407407vw + 1.8333333333rem, 2.5rem);
  font-size: clamp(1.25rem, 0.3703703704vw + 1.1666666667rem, 1.5rem);
  font-weight: 700;
  line-height: 1.2;
}
.bio-prose a:not(:where(.bio-selected-block *)) {
  color: inherit;
  text-decoration: underline;
}
.bio-prose img:not(:where(.bio-selected-block *)) {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 0.5rem;
}
.bio-prose > figure,
.bio-prose > .wp-block-image {
  margin-top: clamp(2.5rem, 2.2222222222vw + 2rem, 4rem);
}
.bio-prose :where(p, figure, .wp-block-embed__wrapper):has(> iframe[src*="youtube.com/embed/"],
> iframe[src*="youtube-nocookie.com/embed/"]) {
  position: relative;
  width: 100%;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.bio-prose :where(p, figure, .wp-block-embed__wrapper):has(> iframe[src*="youtube.com/embed/"],
> iframe[src*="youtube-nocookie.com/embed/"]) > iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
.bio-prose figcaption {
  margin-top: 0.75rem;
  font-size: 0.875rem;
}
.bio-prose ul,
.bio-prose ol {
  padding-inline-start: 1.25em;
}
.bio-prose .is-style-check,
.bio-prose .is-style-info {
  padding: 0;
  list-style: none;
}
.bio-prose .is-style-check > li + li,
.bio-prose .is-style-info > li + li {
  margin-top: 1.5rem;
}
.bio-prose .is-style-check > li,
.bio-prose .is-style-info > li {
  position: relative;
  padding-inline-start: 2rem;
}
.bio-prose .is-style-check > li::before {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 1.5rem;
  height: 1.25rem;
  background: url("../assets/images/check.svg") center/1rem no-repeat;
  content: "";
}
.bio-prose .is-style-check {
  padding: clamp(1.5rem, 1.4814814815vw + 1.1666666667rem, 2.5rem) 1.5rem;
  background: var(--bio-surface-blue);
  border-radius: 0.5rem;
}
.bio-prose .is-style-info > li::before {
  position: absolute;
  top: 0;
  inset-inline-start: 0;
  width: 1.5rem;
  height: 1.25rem;
  background: url("../assets/images/info.svg") center/0.875rem no-repeat;
  content: "";
}
.bio-prose blockquote {
  position: relative;
  padding: clamp(2.5rem, 2.2222222222vw + 2rem, 4rem) clamp(1.5rem, 1.4814814815vw + 1.1666666667rem, 2.5rem);
  padding-inline-start: clamp(2.5rem, 2.2222222222vw + 2rem, 4rem);
  margin-top: clamp(2.5rem, 2.2222222222vw + 2rem, 4rem);
  color: var(--bio-white);
  font-size: clamp(1.25rem, 0.3703703704vw + 1.1666666667rem, 1.5rem);
  background: var(--bio-primary);
}
.bio-prose blockquote::before {
  position: absolute;
  top: clamp(2.5rem, 2.2222222222vw + 2rem, 4rem);
  bottom: clamp(2.5rem, 2.2222222222vw + 2rem, 4rem);
  inset-inline-start: clamp(1.5rem, 1.4814814815vw + 1.1666666667rem, 2.5rem);
  width: 0.125rem;
  background: var(--bio-blue-400);
  content: "";
}
.bio-prose blockquote p {
  margin-block: 0;
}
.bio-prose blockquote p + p {
  margin-top: 1rem;
}

@media (min-width: 992px) {
  .bio-related-swiper .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    column-gap: 1.5rem;
    row-gap: 2.5rem;
    transform: none !important;
  }
  .bio-related-swiper .swiper-slide {
    width: 100% !important;
    margin-inline-end: 0 !important;
  }
}
.bio-author-card {
  background: var(--bio-card-tint);
}

.bio-author-card__photo {
  border-radius: 50%;
}

.bio-author-card__divider {
  background: var(--bio-ink-10);
}

.bio-selected-block > section,
.bio-selected-block > .bio-buttons-widget {
  padding: 0;
}
.bio-selected-block > section + section {
  margin-top: 1.5rem;
}

.bio-home-newsletter {
  color: var(--bio-primary);
  background: var(--bio-surface-blue);
}

.bio-home-newsletter .wpcf7 {
  width: 100%;
}

.bio-home-field {
  overflow: visible;
  gap: 0.25rem;
  color: var(--bio-primary);
  border: 0;
  background: transparent;
}

.bio-home-field:has(.wpcf7-not-valid) {
  margin-bottom: 1.5rem;
}

.bio-home-field > p {
  display: contents;
}

.bio-home-field > p > svg[aria-hidden=true] {
  display: none;
}

.bio-home-consent > p {
  margin: 0;
}

.bio-home-field__input {
  width: 100%;
  min-width: 0;
  padding: 0;
  border: 0;
  outline: 0;
  color: var(--bio-primary);
  background: transparent;
}

.bio-home-field__input::placeholder {
  color: var(--bio-field-placeholder);
  opacity: 1;
}

.bio-home-newsletter .bio-home-field__input:focus-visible {
  outline: 0;
}

.bio-home-field .wpcf7-form-control-wrap:has(.bio-home-field__input:focus-visible) {
  border-color: var(--bio-teal);
  box-shadow: 0 0 0 0.125rem var(--bio-teal);
}

.bio-home-field__submit {
  width: 3rem;
  height: 3rem;
  padding: 0;
  flex: 0 0 3rem;
  border: 0;
  border-radius: 0.25rem;
  appearance: none;
  color: transparent;
  background: var(--bio-primary) url("../assets/images/newsletter-arrow.svg") center/1rem 1rem no-repeat;
  backdrop-filter: blur(0.4375rem);
  cursor: pointer;
}

.bio-home-field .wpcf7-form-control-wrap {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 0;
  height: 3rem;
  padding-inline: 1rem;
  border: 0.0625rem solid var(--bio-blue-200);
  border-radius: 0.25rem;
  background: var(--bio-white);
  backdrop-filter: blur(1.71875rem);
}

.bio-home-field .wpcf7-form-control-wrap::before {
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 1.5rem;
  background: url("../assets/images/newsletter-mail.svg") center/contain no-repeat;
}

.bio-home-field .wpcf7-form-control-wrap:has(.wpcf7-not-valid) {
  border-color: var(--bio-error);
}

.bio-home-field .wpcf7-spinner {
  position: absolute;
  inset-inline-end: 3.25rem;
  margin: 0;
}

.bio-home-field .wpcf7-not-valid-tip {
  position: absolute;
  inset-block-start: calc(100% + 0.25rem);
  inset-inline-start: 0;
  width: 100%;
  height: auto;
  padding: 0;
  margin: 0;
  font-size: 0.75rem;
  line-height: 1.35;
  white-space: normal;
  border: 0;
}

.bio-home-newsletter-form .wpcf7-response-output {
  margin: 0;
}

.bio-home-newsletter-form.invalid .wpcf7-response-output,
.bio-home-newsletter-form.unaccepted .wpcf7-response-output {
  display: none;
}

.bio-home-newsletter-form:has(.bio-home-field .wpcf7-not-valid) .bio-home-consent .wpcf7-not-valid-tip {
  display: none;
}

.bio-select-form-widget {
  color: var(--bio-primary);
  background: var(--bio-white);
}

.bio-select-form-widget__title {
  color: var(--bio-primary);
}

.bio-select-form-widget__text {
  border-inline-start: 0.125rem solid var(--bio-blue-400);
}

.bio-select-form-widget__text a {
  color: inherit;
  font: inherit;
  font-weight: 700;
  text-decoration: underline;
}

.bio-select-form-widget__text > * {
  margin-block: 0;
}

.bio-select-form-widget__text > * + * {
  margin-block-start: 1rem;
}

.bio-appointment-form {
  color: var(--bio-primary);
}

.bio-appointment-form__section {
  background: var(--bio-card-tint);
}

.bio-appointment-form__title {
  border-bottom: 0.0625rem solid var(--bio-blue-200);
}

.bio-appointment-form > p,
.bio-appointment-form__section > p,
.bio-appointment-form__grid > p,
.bio-appointment-form__field > p,
.bio-appointment-form__consent > p,
.bio-appointment-form__actions > p {
  display: contents;
}

.bio-appointment-form .wpcf7-form-control-wrap {
  display: block;
  min-width: 0;
}

.bio-appointment-form__field[hidden] {
  display: none;
}

.bio-appointment-form__control {
  width: 100%;
  border: 0.0625rem solid var(--bio-blue-200);
  outline: 0;
  color: var(--bio-primary);
  background-color: var(--bio-white);
  letter-spacing: 0.01em;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.bio-appointment-form__control::placeholder {
  color: var(--bio-field-placeholder);
  opacity: 1;
}

.bio-appointment-form__control:focus {
  border-color: var(--bio-primary);
  box-shadow: 0 0 0 0.1875rem var(--bio-primary-15);
}

.bio-appointment-form__control.wpcf7-not-valid {
  border-color: var(--bio-error);
}

.bio-appointment-form__select {
  appearance: none;
  padding-inline-end: 2.75rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3.667 5.833 4.333 4.334 4.333-4.334' fill='none' stroke='%23004d71' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 1rem center;
  background-size: 1rem;
}

.bio-appointment-form__select:has(option:first-child:checked) {
  color: var(--bio-field-placeholder);
}

.bio-appointment-form__select option {
  color: var(--bio-primary);
}

.bio-appointment-form__date,
.bio-appointment-form__time {
  padding-inline: 2.75rem;
  background-repeat: no-repeat;
  background-position: left 1rem center, right 1rem center;
  background-size: 1.25rem, 1rem;
}

.bio-appointment-form__date {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath transform='translate(3 3) scale(.56)' d='M6.5 15c.39782 0 .77936-.15804 1.06066-.43934C7.84196 14.27936 8 13.89782 8 13.5s-.15804-.77936-.43934-1.06066C7.27936 12.15804 6.89784 12 6.5 12s-.77936.15803-1.06066.43934C5.15804 12.72064 5 13.10218 5 13.5s.15804.77936.43934 1.06066C5.72064 14.84197 6.10218 15 6.5 15zm8-1.5c0 .39782-.15804.77936-.43934 1.06066C13.77936 14.84197 13.39783 15 13 15s-.77936-.15804-1.06066-.43934C11.65804 14.27936 11.5 13.89783 11.5 13.5s.15803-.77936.43934-1.06066C12.22064 12.15804 12.60218 12 13 12s.77936.15803 1.06066.43934C14.34197 12.72064 14.5 13.10218 14.5 13.5zm5 1.5c.39783 0 .77935-.15804 1.06066-.43934C20.84197 14.27936 21 13.89783 21 13.5s-.15804-.77936-.43934-1.06066C20.27936 12.15804 19.89783 12 19.5 12s-.77935.15803-1.06066.43934C18.15803 12.72064 18 13.10218 18 13.5s.15804.77936.43934 1.06066C18.72064 14.84197 19.10217 15 19.5 15zM8 19.5c0 .39783-.15804.77935-.43934 1.06066C7.27936 20.84197 6.89784 21 6.5 21s-.77936-.15804-1.06066-.43934C5.15804 20.27936 5 19.89783 5 19.5s.15804-.77935.43934-1.06066C5.72064 18.15803 6.10218 18 6.5 18s.77936.15804 1.06066.43934C7.84196 18.72064 8 19.10217 8 19.5zM13 21c.39782 0 .77936-.15804 1.06066-.43934C14.34197 20.27936 14.5 19.89783 14.5 19.5s-.15804-.77935-.43934-1.06066C13.77936 18.15803 13.39783 18 13 18s-.77936.15804-1.06066.43934C11.65804 18.72064 11.5 19.10217 11.5 19.5s.15803.77935.43934 1.06066C12.22064 20.84197 12.60218 21 13 21zm13 .5v-17c0-1.19347-.47411-2.33807-1.31802-3.18198C23.83807.47411 22.69347 0 21.5 0h-17C3.30653 0 2.16193.47411 1.31802 1.31802.47411 2.16193 0 3.30653 0 4.5v17c0 1.19347.47411 2.33807 1.31802 3.18198C2.16193 25.52589 3.30653 26 4.5 26h17c1.19347 0 2.33807-.47411 3.18198-1.31802C25.52589 23.83807 26 22.69347 26 21.5zM21.5 1c.92826 0 1.8185.36875 2.47487 1.02513C24.63125 2.68151 25 3.57175 25 4.5V7H1V4.5c0-.92826.36875-1.8185 1.02513-2.47487C2.68151 1.36875 3.57175 1 4.5 1h17zM1 21.5V8h24v13.5c0 .92826-.36875 1.8185-1.02513 2.47487C23.31849 24.63125 22.42825 25 21.5 25h-17c-.92826 0-1.8185-.36875-2.47487-1.02513C1.36875 23.31849 1 22.42825 1 21.5z' fill='%23004d71'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3.667 5.833 4.333 4.334 4.333-4.334' fill='none' stroke='%23004d71' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.bio-appointment-form__date:invalid {
  color: var(--bio-field-placeholder);
}

.bio-appointment-form__date:invalid::-webkit-datetime-edit {
  color: var(--bio-field-placeholder);
}

.bio-appointment-form__date:valid::-webkit-datetime-edit {
  color: var(--bio-primary);
}

.bio-appointment-form__date::-webkit-calendar-picker-indicator {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  padding: 0;
  cursor: pointer;
  opacity: 0;
}

.bio-appointment-form__time {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath transform='translate(1 1) scale(1.058823529)' d='M16 8.5c0-1.98912-.78977-3.89719-2.19629-5.30371C12.39719 1.78977 10.48912 1 8.5 1S4.60281 1.78977 3.19629 3.19629C1.78977 4.60281 1 6.51088 1 8.5c0 .98491.19438 1.96018.57129 2.87012.37691.90989.92859 1.73719 1.625 2.43359.69641.69641 1.5237 1.24809 2.43359 1.625C6.53982 15.80562 7.51509 16 8.5 16s1.96018-.19438 2.87012-.57129c.90989-.37691 1.73719-.92859 2.43359-1.625.69641-.6964 1.24809-1.5237 1.625-2.43359C15.80562 10.46018 16 9.48491 16 8.5zm-8-4.44434c0-.27614.22386-.5.5-.5s.5.22386.5.5v4.23731l2.52051 2.52051c.19494.19529.19515.51188 0 .70703s-.51174.19494-.70703 0l-2.667-2.66699A.5.5 0 018 8.5V4.05566zM17 8.5c0 1.11624-.2203 2.22166-.64746 3.25293-.42716 1.03117-1.05256 1.96858-1.8418 2.75781-.78923.78923-1.72665 1.41463-2.75781 1.8418C10.72166 16.77971 9.61624 17 8.5 17s-2.22166-.2203-3.25293-.64746c-1.03117-.42716-1.96858-1.05256-2.75781-1.8418C1.70003 13.72151 1.07463 12.7841.64746 11.75293.2203 10.72166 0 9.61624 0 8.5 0 6.24566.8952 4.08332 2.48926 2.48926 4.08332.8952 6.24566 0 8.5 0s4.41668.8952 6.01074 2.48926C16.1048 4.08332 17 6.24566 17 8.5z' fill='%23004d71'/%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m3.667 5.833 4.333 4.334 4.333-4.334' fill='none' stroke='%23004d71' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.bio-appointment-form__textarea {
  min-height: 8.75rem;
  overflow: hidden;
  resize: none;
}

.bio-appointment-form .wpcf7-not-valid-tip {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  line-height: 1.35;
}

.bio-appointment-form__actions .wpcf7-spinner {
  margin: 0;
}

.bio-appointment-form .wpcf7-submit {
  cursor: pointer;
}

.wpcf7-form:has(.bio-appointment-form) .wpcf7-response-output {
  margin: 1rem 0 0;
}

.bio-appointment-form__date.flatpickr-input + input {
  cursor: pointer;
}

.flatpickr-calendar.bio-appointment-calendar {
  box-sizing: border-box;
  padding: clamp(0.5rem, 0.3703703704vw + 0.4166666667rem, 0.75rem);
  border: 0.0625rem solid var(--bio-blue-200);
  border-radius: 0.25rem;
  background: var(--bio-white);
  color: var(--bio-primary);
  box-shadow: 0 0.5rem 1.5rem var(--bio-primary-15);
  font-family: inherit;
  font-size: 0.875rem;
}
.flatpickr-calendar.bio-appointment-calendar::before, .flatpickr-calendar.bio-appointment-calendar::after {
  display: none;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-innerContainer,
.flatpickr-calendar.bio-appointment-calendar .flatpickr-rContainer,
.flatpickr-calendar.bio-appointment-calendar .flatpickr-days,
.flatpickr-calendar.bio-appointment-calendar .dayContainer {
  width: 100%;
  min-width: 0;
  max-width: none;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-months {
  position: relative;
  padding-block: 0.25rem 0.75rem;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-month,
.flatpickr-calendar.bio-appointment-calendar .flatpickr-current-month,
.flatpickr-calendar.bio-appointment-calendar .flatpickr-weekday {
  color: var(--bio-primary);
  fill: var(--bio-primary);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-current-month {
  font-size: 1rem;
  font-weight: 700;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-monthDropdown-months,
.flatpickr-calendar.bio-appointment-calendar input.cur-year {
  font: inherit;
  border-radius: 0.25rem;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-prev-month,
.flatpickr-calendar.bio-appointment-calendar .flatpickr-next-month {
  color: var(--bio-primary);
  fill: var(--bio-primary);
  border-radius: 0.25rem;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-prev-month:hover,
.flatpickr-calendar.bio-appointment-calendar .flatpickr-next-month:hover {
  background: var(--bio-surface-blue);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-prev-month:hover svg,
.flatpickr-calendar.bio-appointment-calendar .flatpickr-next-month:hover svg {
  fill: var(--bio-teal);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-weekdays {
  height: 2rem;
  margin-block-end: 0.25rem;
  border-radius: 0.25rem;
  background: var(--bio-surface-blue);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-weekday {
  font-size: 0.75rem;
  font-weight: 700;
}
.flatpickr-calendar.bio-appointment-calendar .dayContainer {
  padding: 0;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-day {
  flex-basis: 14.2857142857%;
  max-width: none;
  height: clamp(2.25rem, 0.3703703704vw + 2.1666666667rem, 2.5rem);
  line-height: clamp(2.25rem, 0.3703703704vw + 2.1666666667rem, 2.5rem);
  border-radius: 0.25rem;
  color: var(--bio-primary);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-day:hover, .flatpickr-calendar.bio-appointment-calendar .flatpickr-day:focus {
  border-color: var(--bio-blue-200);
  background: var(--bio-surface-blue);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-day.today {
  border-color: var(--bio-teal);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-day.selected {
  border-color: var(--bio-primary);
  background: var(--bio-primary);
  color: var(--bio-white);
  font-weight: 700;
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-day.prevMonthDay, .flatpickr-calendar.bio-appointment-calendar .flatpickr-day.nextMonthDay {
  color: var(--bio-field-placeholder);
}
.flatpickr-calendar.bio-appointment-calendar .flatpickr-day.flatpickr-disabled {
  border-color: transparent;
  background: transparent;
  color: var(--bio-field-placeholder);
  opacity: 0.55;
}

:root {
  --contact-rail-mobile-h: 42px;
}

.bio-home-contact-rail {
  border-bottom: 0.0625rem solid var(--bio-white-30);
  color: var(--bio-white);
  background: var(--bio-primary);
  box-shadow: 0 -0.25rem 1rem rgb(var(--bio-navy-deep-rgb)/0.18);
  will-change: transform;
}

.bio-home-contact-rail[data-contact-rail-docked] {
  position: absolute;
  top: var(--bio-contact-docked-top);
  bottom: auto;
  transform: none;
  will-change: auto;
}

@media (min-width: 768px) {
  .bio-home-contact-rail {
    top: 50%;
    bottom: auto;
    border: 0.0625rem solid var(--bio-white-30);
    border-inline-end: 0;
    border-radius: 0.125rem 0 0 0.125rem;
    gap: 0;
    transform: translateY(-50%);
    transition: width 220ms ease, gap 220ms ease, background-color 180ms ease;
  }
  .bio-home-contact-rail__label {
    width: 0;
    overflow: hidden;
    opacity: 0;
    white-space: nowrap;
    transition: width 220ms ease, opacity 160ms ease;
  }
  .bio-home-contact-rail:hover,
  .bio-home-contact-rail:focus-visible {
    width: 9.4375rem;
    gap: 0.5rem;
  }
  .bio-home-contact-rail:hover .bio-home-contact-rail__label,
  .bio-home-contact-rail:focus-visible .bio-home-contact-rail__label {
    width: 5.6875rem;
    opacity: 1;
  }
}
