@font-face {
  font-family: "Paralucent";
  src: url("../fonts/paralucent/Paralucent-Light.otf") format("opentype");
  font-style: normal;
  font-weight: 300;
  font-display: swap;
}

@font-face {
  font-family: "Paralucent";
  src: url("../fonts/paralucent/Paralucent-Medium.otf") format("opentype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}

@font-face {
  font-family: "Paralucent";
  src: url("../fonts/paralucent/Paralucent-DemiBold.otf") format("opentype");
  font-style: normal;
  font-weight: 600;
  font-display: swap;
}

:root {
  --ln-container: 1400px;
  --ln-page-gutter: clamp(20px, 3.7037vw, 56px);
  --ln-grid-gutter-x: clamp(20px, 1.852vw, 28px);
  --ln-grid-gutter-y: 0px;
  --ln-color-navy: #002237;
  --ln-color-burgundy: #40202c;
  --ln-color-background: #d7e1f2;
  --ln-color-sky: #bae4ff;
  --ln-color-yellow: #f8feb3;
  --ln-color-orange: #ff5c2b;
  --ln-color-green: #5f6832;
  --ln-color-olive: #a9a019;
  --ln-color-sage: #b4c0a9;
  --ln-color-white: #fff;
  --ln-color-ink: #242424;
  --ln-font-primary: "Paralucent", "Helvetica Neue", Arial, sans-serif;
  --ln-font-secondary: "Hedvig Letters Sans", "Helvetica Neue", Arial, sans-serif;
  --ln-ease-standard: cubic-bezier(.2, .7, .2, 1);
  --ln-z-sticky-header: 30;
  --ln-z-mobile-menu: 50;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-width: 320px;
  scroll-behavior: smooth;
}

body.ln-site {
  min-width: 320px;
  margin: 0;
  overflow-x: clip;
  background: var(--ln-color-background);
  color: var(--ln-color-navy);
  font-family: var(--ln-font-primary);
  font-size: 16px;
  line-height: 1.4;
}

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

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

a {
  color: inherit;
}

:focus-visible {
  outline: 3px solid var(--ln-color-orange);
  outline-offset: 4px;
}

.ln-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ln-skip-link {
  position: fixed;
  z-index: 100;
  inset: 12px auto auto 12px;
  padding: 10px 14px;
  background: var(--ln-color-orange);
  color: var(--ln-color-burgundy);
  font-weight: 600;
  transform: translateY(-180%);
}

.ln-skip-link:focus {
  transform: translateY(0);
}

.ln-section {
  position: relative;
  isolation: isolate;
  padding-top: var(--ln-section-padding-top, clamp(72px, 8.466vw, 128px));
  padding-bottom: var(--ln-section-padding-bottom, clamp(72px, 8.466vw, 128px));
  border: var(--ln-section-border-width, 0) solid var(--ln-section-border-color, transparent);
  border-radius: var(--ln-section-border-radius, 0);
  background: var(--ln-section-background, transparent);
}

.ln-section--spacing-compact {
  padding-block: clamp(40px, 5.291vw, 80px);
}

.ln-section--spacing-none {
  padding-block: 0;
}

.ln-section--background-image {
  background-image: var(--ln-section-background-image);
  background-position: var(--ln-section-background-position, 50% 50%);
  background-size: cover;
}

.ln-section--has-overlay::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-radius: inherit;
  background: var(--ln-section-overlay-color, #000);
  content: "";
  opacity: var(--ln-section-overlay-opacity, .35);
  pointer-events: none;
}

.ln-motion-fade-up,
.ln-motion-fade-down,
.ln-motion-fade-left,
.ln-motion-fade-right,
.ln-motion-zoom-in {
  transition: opacity var(--ln-motion-duration, 700ms) var(--ln-ease-standard) var(--ln-motion-delay, 0ms),
    transform var(--ln-motion-duration, 700ms) var(--ln-ease-standard) var(--ln-motion-delay, 0ms);
}

.js .ln-motion-fade-up:not(.is-in-view) { opacity: 0; transform: translateY(var(--ln-motion-distance, 24px)); }
.js .ln-motion-fade-down:not(.is-in-view) { opacity: 0; transform: translateY(calc(var(--ln-motion-distance, 24px) * -1)); }
.js .ln-motion-fade-left:not(.is-in-view) { opacity: 0; transform: translateX(var(--ln-motion-distance, 24px)); }
.js .ln-motion-fade-right:not(.is-in-view) { opacity: 0; transform: translateX(calc(var(--ln-motion-distance, 24px) * -1)); }
.js .ln-motion-zoom-in:not(.is-in-view) { opacity: 0; transform: scale(.96); }

@media (max-width: 47.999rem) {
  .ln-section--background-image {
    background-image: var(--ln-section-background-image-mobile, var(--ln-section-background-image));
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
