@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        : 8/11/2026, 2:29:24 PM
 * Rules            : 207
 * ============================================== */
/* 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 */
.container-1680 {
  width: 100%;
  max-width: 105rem;
  margin-left: auto;
  margin-right: auto;
}

.overflow-hidden {
  overflow: hidden;
}

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

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

.flex {
  display: flex;
}

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

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

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

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

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

.overflow-visible {
  overflow: visible;
}

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

.hidden {
  display: none;
}

.grid {
  display: grid;
}

.fixed {
  position: fixed;
}

.relative {
  position: relative;
}

.absolute {
  position: absolute;
}

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

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

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

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

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

.block {
  display: block;
}

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

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

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

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

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

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

:where(.stack-24-40) > * + * {
  margin-top: clamp(1.5rem, 1.4815vw + 1.1667rem, 2.5rem);
}

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

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

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

.maxw-780 {
  /* fixed at 780px */
  max-width: 48.75rem;
}

:where(.stack-16-24) > * + * {
  margin-top: clamp(1rem, 0.7407vw + 0.8333rem, 1.5rem);
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.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-18 {
  /* fixed at 18px */
  width: 1.125rem;
}

.h-18 {
  /* fixed at 18px */
  height: 1.125rem;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.h-auto {
  height: auto;
}

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

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

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

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

.h-94 {
  /* fixed at 94px */
  height: 5.875rem;
}

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

.radius-9 {
  /* fixed at 9px */
  border-radius: 0.5625rem;
}

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

.h-12 {
  /* fixed at 12px */
  height: 0.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;
}

.pt-16 {
  /* fixed at 16px */
  padding-top: 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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* sm — min-width: 576px */
@media (min-width: 576px) {
  .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;
  }
  .block-md {
    display: block;
  }
  .align-center-md {
    align-items: center;
  }
  .justify-start-md {
    justify-content: flex-start;
  }
  .grid-md {
    display: grid;
  }
  .text-start-md {
    text-align: start;
  }
  .hidden-md {
    display: none;
  }
  .lh-md-1\.15 {
    line-height: 1.15;
  }
  .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;
  }
  .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;
  }
  .w-md-auto {
    width: auto;
  }
  .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;
  }
  .gap-md-50 {
    /* fixed at 50px */
    gap: 3.125rem;
  }
  .gap-md-24 {
    /* fixed at 24px */
    gap: 1.5rem;
  }
}
/* lg — min-width: 992px */
@media (min-width: 992px) {
  .block-lg {
    display: block;
  }
  .hidden-lg {
    display: none;
  }
  .flex-row-lg {
    flex-direction: row;
  }
  .ratio-lg-1057\/453 {
    aspect-ratio: 1057/453;
  }
  .cols-lg-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .gap-lg-20 {
    /* fixed at 20px */
    gap: 1.25rem;
  }
  .mt-lg-0 {
    /* fixed at 0px */
    margin-top: 0rem;
  }
  .cols-lg-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .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;
  }
}
/* 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;
  }
}
/* xxxl — min-width: 1600px */
@media (min-width: 1600px) {
  .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);
}

.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;
  }
}
@media (prefers-reduced-motion: reduce) {
  .menu.menu-level-0 > li.menu-item > .menu-dropdown-0 {
    transition: none;
  }
}
@media (min-width: 992px) {
  .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:focus-within > .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: 991px) {
  .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-navy-deep-rgb: 0 46 67;
  --bio-teal: #00a092;
  --bio-error: #dc3232;
  --bio-surface-blue: #f1f6fb;
  --bio-white: #fff;
  --bio-white-70: rgb(255 255 255 / 0.7);
  --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-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-button {
  border: 0.0625rem solid transparent;
  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-home .bio-button--primary {
  color: var(--bio-white);
}

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

.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);
  }
}
:root {
  --menu-drawer-top: var(--header-h);
}

.menu-level-0 {
  list-style: none;
  margin: 0;
  padding: 0;
}
.menu-level-0 > .menu-item > a {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  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-glass);
    backdrop-filter: blur(1.5rem);
    -webkit-backdrop-filter: blur(1.5rem);
    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: var(--header-h);
    height: calc(100dvh - var(--header-h));
    overflow-x: hidden;
    background: var(--bio-glass);
    backdrop-filter: blur(1.5rem);
    -webkit-backdrop-filter: blur(1.5rem);
  }
  .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;
    background: var(--bio-glass);
    backdrop-filter: blur(1.5rem);
    -webkit-backdrop-filter: blur(1.5rem);
  }
  .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;
    min-height: 4.25rem;
    padding: 0 1.5rem;
    font-size: 0.875rem;
    font-weight: 700;
  }
}
.menu-banner {
  height: 16.4375rem;
  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 {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

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

.menu-banner__overlay {
  background: var(--bio-white);
  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:not(.home) {
  padding-top: var(--header-h);
}

.site-header__bar {
  height: var(--header-h);
  background: var(--bio-glass);
  backdrop-filter: blur(1.5rem);
  -webkit-backdrop-filter: blur(1.5rem);
  transition: height 0.25s ease;
}

.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;
  }
}
.bio-page-header {
  height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - var(--header-fixed-h) - var(--contact-rail-mobile-h, 0px));
  color: var(--bio-white);
  background: var(--bio-primary-dark);
}

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

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

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

.bio-page-header__content {
  pointer-events: none;
}

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

@media (min-width: 768px) {
  .bio-page-header {
    height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - var(--header-fixed-h));
  }
}
@media (min-width: 992px) {
  .bio-page-header-offset {
    margin-top: 0;
  }
  .bio-page-header {
    height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px));
  }
  .bio-page-header-offset--with-quick-actions .bio-page-header {
    height: calc(100dvh - var(--wp-admin--admin-bar--height, 0px) - 9.375rem);
  }
}
.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-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;
}

.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 {
  color: var(--bio-primary);
  background: var(--bio-blue-200);
}

.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: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__legal-links {
  width: max-content;
}

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

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

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

.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-offer-single {
  color: var(--bio-primary);
}

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

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

@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-home-tag {
  color: var(--bio-primary);
  text-decoration: none;
  border: 0.0625rem solid var(--bio-ink-10);
  background: var(--bio-white-70);
}

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

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

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

.bio-home-consent .wpcf7-list-item {
  margin: 0;
}

.bio-home-consent label {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

.bio-home-consent input[type=checkbox] {
  flex-shrink: 0;
  margin-top: 0.125rem;
  accent-color: var(--bio-primary);
}

.bio-home-field {
  overflow: visible;
  color: var(--bio-primary);
  border: 0.0625rem solid var(--bio-blue-200);
  background: var(--bio-white);
}

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

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

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

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

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

.bio-home-field__submit {
  border: 0;
  color: var(--bio-blue-200);
  background: var(--bio-primary);
  cursor: pointer;
}

.bio-home-field .wpcf7-form-control-wrap {
  position: static;
  flex: 1 1 auto;
  min-width: 0;
}

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

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

.bio-home-contact-rail {
  --bio-contact-stop-offset: 0px;
  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);
  transform: translateY(var(--bio-contact-stop-offset));
  will-change: transform;
}

@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(calc(-50% + var(--bio-contact-stop-offset)));
    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;
  }
}
