@charset "UTF-8";
:root {
  --ff-base: var(--ff-artex-var);
  --ff-artex: "Artex", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --ff-artex-var: "Artex Var", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --fz-html: 62.5%;
  --fz-base: 1.6rem;
  --fw-base: 400;
  --lh-base: 1.2;
}
:root {
  --c-white: #fff;
  --c-black: #000;
  --c-blue: #0047b8;
  --c-gray: #6f6f6f;
  --c-body-bg: #fff;
  --c-body-text: #000;
}
:root {
  --z-index-section: 1;
  --z-index-header: 2;
}
:root {
  --t-duration: 0.3s;
}
* {
  padding: 0;
  margin: 0;
  outline: 0;
  box-sizing: border-box;
}
*:before,
*:after {
  box-sizing: inherit;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
main {
  display: block;
}
template {
  display: none;
}
html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-size-adjust: none;
}
img,
iframe,
video,
audio,
object {
  max-width: 100%;
}
img,
iframe {
  border: 0 none;
}
img {
  height: auto;
  display: inline-block;
  vertical-align: middle;
}
img,
[style*=background-image] {
  image-rendering: -webkit-optimize-contrast;
}
b,
strong {
  font-weight: bold;
}
address {
  font-style: normal;
}
svg:not(:root) {
  overflow: hidden;
}
a,
button,
input[type=submit],
input[type=button],
input[type=reset],
input[type=file],
input[type=image],
label[for] {
  cursor: pointer;
}
a[href^=tel],
button[disabled],
input[disabled],
textarea[disabled],
select[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
input[type=button],
input[type=text],
input[type=password],
input[type=date],
input[type=datetime],
input[type=datetime-local],
input[type=month],
input[type=week],
input[type=email],
input[type=number],
input[type=search],
input[type=tel],
input[type=time],
input[type=url],
input[type=color],
textarea,
a[href^=tel] {
  appearance: none;
}
input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration {
  appearance: none;
}
textarea {
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  overflow-scrolling: touch;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  color: inherit;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
button,
select {
  text-transform: none;
}
table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
nav ul,
nav ol {
  list-style: none outside none;
}
input::placeholder {
  color: inherit;
  opacity: 1;
}
textarea::placeholder {
  color: inherit;
  opacity: 1;
}
input:-webkit-autofill {
  -webkit-text-fill-color: inherit;
  -webkit-box-shadow: 0 0 0 1000px #fff inset;
}
@media (prefers-reduced-motion: no-preference) {
  :root {
    scroll-behavior: smooth;
  }
}
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
}
/* LEGAL DISCLAIMER
 *
 * These Fonts are licensed only for use on these domains and their subdomains:
 * www.bluebyadco.com
 *
 * It is illegal to download or use them on other websites.
 *
 * While the @font-face statements below may be modified by the client, this
 * disclaimer may not be removed.
 *
 * Optimo webfonts are protected by copyright law and provided under license. To modify, alter, translate, convert, decode or reverse engineer in any manner whatsoever, including converting the Font Software into a different format is strictly prohibited. The webfont files are not to be used for anything other than web font use.
 *
 * optimo.ch
 */
/* INSTRUCTIONS
 *
 * Copy the Legal Disclaimer, the domains name and the @font-faces statements to your regular CSS file. The fonts folder(s) should be placed relative to the regular CSS file.
 */
@font-face {
  font-family: "Artex";
  src: url("../assets/fonts/Artex-Regular.woff2") format("woff2"), url("../assets/fonts/Artex-Regular.woff") format("woff"), url("../assets/fonts/Artex-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Artex Var";
  src: url("../assets/fonts/Artex-Var-Normal.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
html {
  font-size: var(--fz-html);
}
body {
  min-width: 320px;
  background-color: var(--c-body-bg);
  color: var(--c-body-text);
  font-family: var(--ff-base);
  font-weight: var(--fw-base);
  font-size: var(--fz-base);
  line-height: var(--lh-base);
  font-smooth: antialiased;
  font-feature-settings: "ss01", "ss02", "ss03", "ss04", "ss05", "liga", "kern";
}
a {
  color: inherit;
  text-decoration: underline;
}
@media (hover: hover) {
  a:where(:hover, :focus-visible) {
    text-decoration: none;
  }
}
a[href^=tel] {
  text-decoration: none;
}
.level-1,
h1,
.level-2,
h2,
.level-3,
h3,
.level-4,
h4,
.level-5,
h5,
.level-6,
h6 {
  margin-bottom: calc(var(--lh-base) * 0.5em);
}
.level-1,
h1 {
  font-weight: 400;
  font-size: 8.4rem;
  line-height: 1.075;
  letter-spacing: -0.017em;
  font-variation-settings: "wght" 400;
}
@media (max-width: 1023px) {
  .level-1,
  h1 {
    font-size: 6.6rem;
  }
}
@media (max-width: 767px) {
  .level-1,
  h1 {
    font-size: 3.6rem;
  }
}
@media (max-width: 374px) {
  .level-1,
  h1 {
    font-size: 3rem;
  }
}
.level-2,
h2 {
  font-weight: 400;
  font-size: 5.4rem;
  line-height: 1.0741;
  letter-spacing: -0.005em;
  font-variation-settings: "wght" 400;
}
@media (max-width: 1023px) {
  .level-2,
  h2 {
    font-size: 4.2rem;
  }
}
@media (max-width: 767px) {
  .level-2,
  h2 {
    font-size: 2.4rem;
  }
}
@media (max-width: 374px) {
  .level-2,
  h2 {
    font-size: 2rem;
  }
}
.level-3,
h3 {
  font-weight: 400;
  font-size: 3.6rem;
  line-height: 1.0741;
  letter-spacing: -0.005em;
  font-variation-settings: "wght" 400;
}
@media (max-width: 1023px) {
  .level-3,
  h3 {
    font-size: 2.8rem;
  }
}
@media (max-width: 767px) {
  .level-3,
  h3 {
    font-size: 2rem;
  }
}
@media (max-width: 374px) {
  .level-3,
  h3 {
    font-size: 1.8rem;
  }
}
.level-4,
h4 {
  font-weight: 400;
  font-size: 2.4rem;
  line-height: 1.15;
  letter-spacing: -0.005em;
  font-variation-settings: "wght" 400;
}
@media (max-width: 1023px) {
  .level-4,
  h4 {
    font-size: 2rem;
  }
}
@media (max-width: 767px) {
  .level-4,
  h4 {
    font-size: 1.8rem;
  }
}
@media (max-width: 374px) {
  .level-4,
  h4 {
    font-size: 1.6rem;
  }
}
.level-5,
h5 {
  font-weight: 400;
  font-size: 1.8rem;
  line-height: 1.15;
  letter-spacing: -0.005em;
  font-variation-settings: "wght" 400;
}
@media (max-width: 1023px) {
  .level-5,
  h5 {
    font-size: 1.6rem;
  }
}
@media (max-width: 767px) {
  .level-5,
  h5 {
    font-size: 1.4rem;
  }
}
.level-6,
h6 {
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 1.8125;
  letter-spacing: 0.04em;
  font-variation-settings: "wght" 500;
}
@media (max-width: 1023px) {
  .level-6,
  h6 {
    font-size: 1.4rem;
  }
}
@media (max-width: 767px) {
  .level-6,
  h6 {
    font-size: 1.2rem;
  }
}
p,
ul,
ol,
dl,
hr,
table,
blockquote {
  margin-bottom: calc(var(--lh-base) * 0.5em);
}
h1[class],
h2[class],
h3[class],
h4[class],
h5[class],
h6[class],
h1:last-child,
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child,
ul:last-child,
ol:last-child,
dl:last-child,
table:last-child,
blockquote:last-child {
  margin-bottom: 0;
}
.header .header__links a, .footer a {
  text-decoration: underline;
  text-decoration-color: transparent;
  transition: text-decoration-color var(--t-duration);
}
@media (hover: hover) {
  .header .header__links a:where(:hover, :focus-visible), .footer a:where(:hover, :focus-visible) {
    text-decoration-color: currentColor;
  }
}
@media (hover: none) {
  .header .header__links a:where(:active, .is-hover, .hover), .footer a:where(:active, .is-hover, .hover) {
    text-decoration-color: currentColor;
  }
}
.uppercase {
  text-transform: uppercase;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
[hidden],
.hidden {
  display: none !important;
}
[disabled],
.disabled {
  cursor: default;
}
@media (max-width: 767px) {
  .hidden-mob {
    display: none !important;
  }
}
@media (min-width: 767.02px) and (max-width: 1023px) {
  .hidden-tab {
    display: none !important;
  }
}
@media (min-width: 1023.02px) {
  .hidden-desk {
    display: none !important;
  }
}
.btn {
  display: inline-flex;
  vertical-align: middle;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  text-decoration: none;
  appearance: none;
}
.btn--block {
  display: block;
  padding-inline: 0;
}
.footer {
  padding-block: 4.2rem 4rem;
  background-color: var(--c-blue);
  color: var(--c-white);
  line-height: 1.225;
  letter-spacing: -0.003em;
}
@media (max-width: 1023px) {
  .footer {
    padding-block: 3.2rem 2.4rem;
  }
}
@media (max-width: 767px) {
  .footer {
    padding-block: 2.4rem 1.6rem;
  }
}
.footer a {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 3px;
}
.footer .footer__inner {
  padding-right: 1.8rem;
}
@media (max-width: 1023px) {
  .footer .footer__inner {
    padding-right: 0;
  }
}
.footer .footer__content {
  margin-bottom: 8.4rem;
  letter-spacing: -0.0025em;
}
.footer .footer__content:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .footer .footer__content {
    margin-bottom: 5rem;
    letter-spacing: -0.01em;
  }
  .footer .footer__content:last-child {
    margin-bottom: 0;
  }
}
.footer .footer__bar {
  display: flex;
  flex-wrap: wrap-reverse;
  align-items: center;
  justify-content: space-between;
  gap: 3rem 4rem;
}
.footer .footer__copy {
  margin-bottom: 0;
}
.footer .footer__copy:last-child {
  margin-bottom: 0;
}
@media (max-width: 374px) {
  .footer .footer__copy {
    letter-spacing: -0.025em;
  }
}
.footer .footer__socials {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 0;
  list-style: none;
}
.footer .footer__socials li:not(:first-child):before {
  content: " | ";
}
.grid-flex {
  --grid-gutter: 2rem;
  display: flex;
  flex-flow: row wrap;
  margin-inline: calc(var(--grid-gutter) / 2 * -1);
}
.grid-flex .grid__col {
  --grid-cols: 1;
  padding-inline: calc(var(--grid-gutter) / 2);
  max-width: calc(100% / var(--grid-cols));
  flex: 0 0 calc(100% / var(--grid-cols));
}
.grid-flex .grid__col--1of2 {
  --grid-cols: 2;
}
.grid-flex .grid__col--1of3 {
  --grid-cols: 3;
}
.grid-flex .grid__col--1of4 {
  --grid-cols: 4;
}
.grid-flex .grid__col--1of5 {
  --grid-cols: 5;
}
.grid-flex .grid__col--1of6 {
  --grid-cols: 6;
}
.grid {
  --grid-cols: 1;
  --grid-gutter: 2rem;
  display: grid;
  grid-template-columns: repeat(var(--grid-cols), 1fr);
  gap: var(--grid-gutter);
}
.grid--size-1of2 {
  --grid-cols: 2;
}
.grid--size-1of3 {
  --grid-cols: 3;
}
.grid--size-1of4 {
  --grid-cols: 4;
}
.grid--size-1of5 {
  --grid-cols: 5;
}
.grid--size-1of6 {
  --grid-cols: 6;
}
.header {
  position: fixed;
  top: 3.5rem;
  left: 0;
  z-index: var(--z-index-header);
  width: 100%;
}
@media (max-width: 1023px) {
  .header {
    top: 2.4rem;
  }
}
@media (max-width: 767px) {
  .header {
    top: 1.6rem;
  }
}
.header .header__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  border-radius: 11px;
  padding: 1.6rem 2.7rem 1.7rem;
  background-color: var(--c-blue);
  color: var(--c-white);
}
@media (max-width: 1023px) {
  .header .header__inner {
    padding: 1.4rem 2rem;
  }
}
@media (max-width: 767px) {
  .header .header__inner {
    padding: 1.2rem 1.6rem;
  }
}
.header .header__logo {
  display: inline-block;
  max-width: 10rem;
}
@media (max-width: 767px) {
  .header .header__logo {
    max-width: 7rem;
  }
}
.header .header__links {
  margin-block: 0.2rem -0.2rem;
  list-style: none;
}
@media (max-width: 1023px) {
  .header .header__links {
    margin-block: 0;
  }
}
.header .header__links a {
  font-weight: 500;
  font-size: 1.8rem;
  line-height: 1.2;
  letter-spacing: -0.005em;
}
@media (max-width: 767px) {
  .header .header__links a {
    font-size: 1.6rem;
  }
}
.hero {
  position: relative;
  isolation: isolate;
  z-index: var(--z-index-section);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  height: 100svh;
  min-height: 50rem;
  padding-block: 10rem 3.3rem;
  color: var(--c-white);
}
@media (max-width: 1023px) {
  .hero {
    padding-bottom: 2.4rem;
  }
}
@media (max-width: 767px) {
  .hero {
    padding-bottom: 1.6rem;
  }
}
.hero .hero__background {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.hero .hero__background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.section {
  padding-block: 3.6rem 10.7rem;
  color: var(--c-gray);
}
@media (max-width: 1023px) {
  .section {
    padding-block: 3.2rem 9.2rem;
  }
}
@media (max-width: 767px) {
  .section {
    padding-block: 2.4rem 3.2rem;
  }
}
.section .section__highlight {
  color: var(--c-blue);
}
.section .section__highlight:before {
  content: "";
  display: inline-block;
  width: 1em;
  height: 1em;
  margin-inline: 0.1em 1em;
  border-radius: 0.2em;
  font-size: 0.8125em;
  background-color: currentColor;
}
.section .section__inner {
  padding-left: 0.5rem;
}
@media (max-width: 1023px) {
  .section .section__inner {
    padding-left: 0;
  }
}
.section .section__bar {
  margin-bottom: 9.8rem;
}
.section .section__bar:last-child {
  margin-bottom: 0;
}
@media (max-width: 1023px) {
  .section .section__bar {
    margin-bottom: 7.4rem;
  }
  .section .section__bar:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  .section .section__bar {
    margin-bottom: 3.2rem;
  }
  .section .section__bar:last-child {
    margin-bottom: 0;
  }
}
.section .section__head {
  margin-bottom: 10.3rem;
}
.section .section__head:last-child {
  margin-bottom: 0;
}
@media (max-width: 1023px) {
  .section .section__head {
    margin-bottom: 8.2rem;
  }
  .section .section__head:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 767px) {
  .section .section__head {
    margin-bottom: 6rem;
  }
  .section .section__head:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 374px) {
  .section .section__head {
    margin-bottom: 4.2rem;
  }
  .section .section__head:last-child {
    margin-bottom: 0;
  }
}
.section .section__content {
  column-gap: 4.2rem;
  padding-inline: 0.1rem 2.6rem;
  font-weight: 500;
  letter-spacing: -0.0025em;
  font-variation-settings: "wght" 500;
  display: grid;
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 1023px) {
  .section .section__content {
    column-gap: 3rem;
    padding-inline: 0;
  }
}
@media (max-width: 767px) {
  .section .section__content {
    grid-template-columns: 1fr;
  }
  .section .section__content .column + .column {
    margin-top: 1.75em;
  }
  .section .section__content .column + .column:first-child {
    margin-top: 0;
  }
}
.section .section__content p {
  margin-top: 1.25em;
  margin-bottom: 0;
  break-inside: avoid;
}
.section .section__content p:first-child {
  margin-top: 0;
}
@media (max-width: 767px) {
  .section .section__content p {
    margin-top: 1.75em;
    letter-spacing: -0.01em;
  }
  .section .section__content p:first-child {
    margin-top: 0;
  }
}
.section .section__content p span {
  display: inline-block;
}
.shell {
  --shell-max-width: 142.8rem;
  --shell-gutter: 4rem;
  max-width: calc(var(--shell-max-width) + var(--shell-gutter) * 2);
  padding-inline: var(--shell-gutter);
  margin-inline: auto;
  width: 100%;
}
@media (max-width: 1023px) {
  .shell {
    --shell-gutter: 2.4rem;
  }
}
@media (max-width: 767px) {
  .shell {
    --shell-gutter: 1.6rem;
  }
}
.shell.shell--fluid {
  max-width: none;
}
.shell.shell--lg {
  --shell-max-width: 147rem;
}
.shell.shell--md {
  --shell-max-width: 141.6rem;
}
.wrapper {
  position: relative;
  min-height: 100svh;
}