:root {
  --size-1: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
  --size-2: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  --size-3: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  --size-4: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  --size-5: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
  --size-6: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
  --size-7: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
  --size-8: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
  --size-9: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
  --size-10: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

@font-face {
  font-family: "authenia";
  src: url("/fonts/authenia/font.woff2") format("woff2"), url("fonts/authenia/font.woff") format("woff");
}
:root {
  --neutral-100: white;
  --neutral-200: #F7F7F7;
  --neutral-900: black;
  --accent-400: #002654;
  --primary-400: #66C6C1;
  --white-opacity-100: rgba(255, 255, 255, 0.1);
  --white-opacity-200: rgba(255, 255, 255, 0.2);
  --white-opacity-300: rgba(255, 255, 255, 0.3);
  --white-opacity-400: rgba(255, 255, 255, 0.4);
  --white-opacity-500: rgba(255, 255, 255, 0.5);
  --white-opacity-600: rgba(255, 255, 255, 0.6);
  --white-opacity-700: rgba(255, 255, 255, 0.7);
  --white-opacity-800: rgba(255, 255, 255, 0.8);
  --white-opacity-900: rgba(255, 255, 255, 0.9);
  --black-opacity-50: rgba(0, 0, 0, 0.05);
  --black-opacity-100: rgba(0, 0, 0, 0.1);
  --black-opacity-200: rgba(0, 0, 0, 0.2);
  --black-opacity-300: rgba(0, 0, 0, 0.3);
  --black-opacity-400: rgba(0, 0, 0, 0.4);
  --black-opacity-500: rgba(0, 0, 0, 0.5);
  --black-opacity-600: rgba(0, 0, 0, 0.6);
  --black-opacity-700: rgba(0, 0, 0, 0.7);
  --black-opacity-800: rgba(0, 0, 0, 0.8);
  --black-opacity-900: rgba(0, 0, 0, 0.9);
  --danger-400: #FF1100;
  --success-400: #51cb00;
}

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=list],
ol[role=list] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
  font-weight: unset;
  font-size: unset;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

svg {
  overflow: visible;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

body {
  font-family: "elza", sans-serif;
  font-weight: 400;
  font-size: clamp(1.00rem, calc(0.96rem + 0.19vw), 1.13rem);
  color: var(--neutral-900);
  background-color: var(--neutral-100);
}

main {
  min-height: 100vh;
  min-height: 100svh;
  padding-top: 85px;
}
main.has-hero {
  padding-top: 0;
}

h1, h2, h3, h4 {
  text-wrap: balance;
}

p {
  line-height: 1.4;
  text-wrap: pretty;
}

a {
  display: inline-block;
  color: inherit;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}
ul[data-type=list] {
  margin: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) 0;
  padding-left: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
ul[data-type=list] li {
  line-height: 1.6;
  list-style: disc;
}

ol {
  margin: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem) 0;
  padding-left: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
ol li {
  line-height: 1.6;
}

table {
  width: 100%;
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  border-collapse: collapse;
}
table th {
  font-weight: 700;
}
table td, table th {
  border-bottom: 1px solid #000;
  border-right: 1px solid #000;
  padding: 10px;
  text-align: center;
  display: grid;
  place-content: center;
  min-width: 150px;
}
table tr {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 1fr;
}

#main-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 90;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.8));
  opacity: 0;
  pointer-events: none;
  backdrop-filter: blur(0.1em);
  -webkit-backdrop-filter: blur(0.1em);
}

.lenis {
  height: auto;
}
.lenis.lenis-smooth {
  scroll-behavior: auto;
}
.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}
.lenis.lenis-stopped {
  overflow: hidden;
}
.lenis.lenis-scrolling iframe {
  pointer-events: none;
}

.button {
  line-height: 1.2;
  text-decoration: none;
  display: flex;
  justify-self: start;
  justify-content: start;
  align-self: start;
  cursor: pointer;
}
.button .btn-content {
  border-radius: 0.2em;
  padding: 0.8em 1em;
  position: relative;
  overflow: hidden;
}
.button .btn-content .btn-mask {
  z-index: 1;
  display: flex;
  position: relative;
  overflow: hidden;
}
.button .btn-content .btn-mask .btn-text {
  color: #fff;
  --text-duplicate-distance: 1.5em;
  text-shadow: 0px var(--text-duplicate-distance) currentColor;
  transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  font-weight: 500;
}
.button .btn-content .btn-bg {
  z-index: 0;
  width: 120%;
  height: 100%;
  position: absolute;
  bottom: 0%;
  left: -10%;
  transform: translate(0, 175%) rotate(15deg);
  transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
}
.button[data-icon] .btn-content {
  display: flex;
  align-items: center;
  gap: 0.7em;
}
.button[data-icon] .btn-content svg {
  position: relative;
  z-index: 1;
}
.button[data-icon] .btn-content svg path {
  stroke-width: 1.5;
  vector-effect: non-scaling-stroke;
  transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
}
.button[data-type=primary] .btn-content {
  background-color: var(--primary-400);
}
.button[data-type=primary] .btn-content .btn-mask .btn-text {
  color: var(--neutral-900);
}
.button[data-type=primary] .btn-content .btn-bg {
  background-color: var(--accent-400);
}
.button[data-type=primary] .btn-content svg path {
  stroke: var(--neutral-100);
}
.button[data-type=primary-white] .btn-content {
  background-color: var(--primary-400);
}
.button[data-type=primary-white] .btn-content .btn-mask .btn-text {
  color: var(--neutral-900);
}
.button[data-type=primary-white] .btn-content .btn-bg {
  background-color: var(--neutral-100);
}
.button[data-type=primary-white] .btn-content svg path {
  stroke: var(--neutral-100);
}
.button[data-type=white] .btn-content {
  background-color: var(--neutral-100);
}
.button[data-type=white] .btn-content .btn-mask .btn-text {
  color: var(--neutral-900);
}
.button[data-type=white] .btn-content .btn-bg {
  background-color: var(--primary-400);
}
.button[data-type=white] .btn-content svg path {
  stroke: var(--neutral-900);
}
@media (hover: hover) and (pointer: fine) {
  .button:hover .btn-content .btn-mask .btn-text {
    transform: translate(0px, calc(-1 * var(--text-duplicate-distance)));
  }
  .button:hover .btn-content .btn-bg {
    transform: translate(0px, 0%) rotate(0deg);
  }
  .button:hover[data-type=primary] .btn-content .btn-mask .btn-text {
    color: var(--neutral-100);
  }
  .button:hover[data-type=primary-white] .btn-content .btn-mask .btn-text {
    color: var(--neutral-900);
  }
}

.underline-link {
  color: inherit;
  line-height: 1.5;
  text-decoration: none;
  position: relative;
}
.underline-link::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.08em;
  background-color: var(--neutral-900);
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
}
.underline-link:hover::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
}
.underline-link.alt::before, .underline-link.alt::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.08em;
  background-color: var(--neutral-900);
  transition: transform 0.735s cubic-bezier(0.625, 0.05, 0, 1);
}
.underline-link.alt::before {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}
.underline-link.alt::after {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}
.underline-link.alt:hover::before {
  transform-origin: right;
  transform: scaleX(0) rotate(0.001deg);
  transition-delay: 0s;
}
.underline-link.alt:hover::after {
  transform-origin: left;
  transform: scaleX(1) rotate(0.001deg);
  transition-delay: 0.3s;
}

.case-study-card div.image {
  aspect-ratio: 3/2;
  overflow: hidden;
  position: relative;
}
.case-study-card div.image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 48em) {
  .case-study-card div.image {
    aspect-ratio: 1;
  }
}

[data-scrolling-started=true][data-scrolling-direction=down] header {
  transform: translateY(-101%) rotate(0.001deg);
}

header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  height: 80px;
  display: grid;
  align-items: center;
  background-color: var(--neutral-100);
  transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
}
header div.nav-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
header a.logo {
  width: 100%;
  max-width: 10rem;
  margin-top: 5px;
  transition: 0.5s cubic-bezier(0.625, 0.05, 0, 1);
}
header a.logo path.text {
  transition: 0.5s cubic-bezier(0.625, 0.05, 0, 1);
}
header ul {
  display: none;
}
header button.nav-menu-toggle {
  pointer-events: auto;
  cursor: pointer;
  background-color: #0000;
  justify-content: center;
  align-items: center;
  width: 2.5em;
  height: 2.5em;
  padding: 0;
  display: flex;
  position: relative;
  border: 0;
}
header button.nav-menu-toggle .menu-bar {
  transition: all 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  background-color: #131313;
  width: 1.875em;
  height: 0.125em;
  position: absolute;
  transition: transform 0.6s cubic-bezier(0.65, 0, 0, 1);
  transform: translateY(-0.25em) rotate(0.001deg);
}
header button.nav-menu-toggle .menu-bar:nth-child(2) {
  transform: translateY(0.15em) rotate(0.001deg);
}
header.hero ul {
  color: var(--neutral-100);
}
header.hero .underline-link::before {
  background-color: var(--neutral-100);
}
header.hero .underline-link.alt::before, header.hero .underline-link.alt::after {
  background-color: var(--neutral-100);
}
header.background {
  background-color: var(--neutral-100);
}
header.background a.logo path.text {
  fill: var(--neutral-900);
}
header.background ul {
  color: var(--neutral-900);
}
header.background .underline-link::before {
  background-color: var(--neutral-900);
}
header.background .underline-link.alt::before, header.background .underline-link.alt::after {
  background-color: var(--neutral-900);
}
header[data-navigation-status=active] button.nav-menu-toggle .menu-bar {
  transform: translateY(0em) rotate(45deg);
}
header[data-navigation-status=active] button.nav-menu-toggle .menu-bar:nth-child(2) {
  transform: translateY(0em) rotate(-45deg);
}
@media (min-width: 850px) {
  header {
    height: 85px;
  }
  header button.nav-menu-toggle {
    display: none;
  }
  header.hero {
    background-color: transparent;
  }
  header.hero a.logo path.text {
    fill: var(--neutral-100);
  }
  header.hero.background {
    background-color: var(--neutral-100);
  }
  header.hero.background a.logo path.text {
    fill: var(--neutral-900);
  }
  header a.logo {
    max-width: 12rem;
  }
  header ul {
    display: flex;
    gap: 1.2em;
    transition: 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  }
}

:root {
  --menu-padding: 2em;
}

.nav {
  z-index: 100;
  width: 100%;
  height: 100vh;
  height: 100svh;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: fixed;
  inset: 0%;
  top: 80px;
}
.nav .overlay {
  z-index: 0;
  cursor: pointer;
  background-color: #13131366;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}
.nav nav.menu {
  display: flex;
  grid-column-gap: 5em;
  grid-row-gap: 5em;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  margin-left: auto;
  position: relative;
  overflow: auto;
}
.nav nav.menu .menu-bg {
  z-index: 0;
  position: absolute;
  inset: 0%;
}
.nav nav.menu .menu-bg .bg-panel {
  z-index: 0;
  background-color: var(--neutral-200);
  position: absolute;
  inset: 0%;
}
.nav nav.menu .menu-bg .bg-panel.first {
  background-color: var(--primary-400);
}
.nav nav.menu .menu-bg .bg-panel.second {
  background-color: var(--accent-400);
}
.nav nav.menu .menu-inner {
  padding-block: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
  z-index: 1;
  align-items: center;
  height: 100%;
  display: grid;
  position: relative;
  overflow: auto;
}
.nav nav.menu .menu-inner .menu-list {
  margin-top: -15%;
  width: 100%;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav nav.menu .menu-inner .menu-list .menu-list-item {
  position: relative;
  overflow: hidden;
}
.nav nav.menu .menu-inner .menu-list .menu-list-item.active a.menu-link p.menu-link-heading {
  color: var(--primary-400);
}
.nav nav.menu .menu-inner .menu-list .menu-list-item a.menu-link {
  padding: 0.5em 5%;
  width: 100%;
  text-decoration: none;
}
.nav nav.menu .menu-inner .menu-list .menu-list-item p.menu-link-heading {
  font-size: clamp(2.07rem, calc(1.84rem + 1.01vw), 2.75rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}
@media (hover: hover) and (pointer: fine) {
  .nav nav.menu .menu-inner .menu-list > li {
    transition: opacity 0.2s ease;
  }
  .nav nav.menu .menu-inner .menu-list:hover > li:not(:hover) {
    opacity: 0.2;
  }
}
.nav nav.menu .menu-details {
  padding-left: var(--menu-padding);
  grid-column-gap: 1.25em;
  grid-row-gap: 1.25em;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}
.nav nav.menu .menu-details .socials-row {
  grid-column-gap: 1.5em;
  grid-row-gap: 1.5em;
  flex-flow: row;
  display: flex;
}
.nav nav.menu .menu-details .socials-row a.text-link {
  text-decoration: none;
  position: relative;
}

footer div.logo {
  max-width: 12rem;
}
footer h4 {
  padding-bottom: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  color: var(--white-opacity-600);
}
footer ul {
  display: grid;
  gap: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
footer ul li {
  line-height: 1.4;
}
footer a {
  text-decoration: none;
}

.input-wrapper {
  display: grid;
  margin-bottom: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.input-wrapper label {
  padding-bottom: 0.8em;
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
}
.input-wrapper input, .input-wrapper select, .input-wrapper textarea {
  background-color: var(--neutral-100);
  border: 1px solid var(--black-opacity-100);
  outline: none;
  padding: 0.8em 1em;
  border-radius: 0.15em;
}
.input-wrapper input:focus, .input-wrapper select:focus, .input-wrapper textarea:focus {
  border: 1px solid var(--black-opacity-300);
}
.input-wrapper textarea {
  resize: vertical;
}
.input-wrapper.required label::after {
  content: "*";
  color: var(--danger-400);
  padding-left: 0.1em;
}
.input-wrapper.required .error-text {
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
  color: var(--danger-400);
  padding-top: 0.6em;
}
.input-wrapper.required.error input, .input-wrapper.required.error select, .input-wrapper.required.error textarea {
  border: 1px solid var(--danger-400);
  background-image: url("data:image/svg+xml,%3Csvg width='21' height='21' viewBox='0 0 21 21' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.5 20.5C16.0228 20.5 20.5 16.0228 20.5 10.5C20.5 4.97715 16.0228 0.5 10.5 0.5C4.97715 0.5 0.5 4.97715 0.5 10.5C0.5 16.0228 4.97715 20.5 10.5 20.5Z' fill='%23FFF2F1' stroke='%23FF1100' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M10.5 5.5V12.8846' stroke='%23FF1100'/%3E%3Cpath d='M10.5 15.7314V14.1929' stroke='%23FF1100' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-position: calc(100% - 1em) 50%;
}

.title-grid {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.title-grid .count {
  display: grid;
  align-items: center;
  gap: 0.5em;
  color: var(--black-opacity-300);
  user-select: none;
  padding-top: 0.2em;
  grid-column: 2/3;
  grid-row: 1/2;
}
.title-grid .count .next-button, .title-grid .count .previous-button {
  display: none;
  background-color: transparent;
  border: none;
  cursor: pointer;
  padding: 0.45em 0.3em 0.3em 0.3em;
}
.title-grid .count .next-button svg, .title-grid .count .previous-button svg {
  width: 1.3rem;
}
.title-grid .count .next-button svg path, .title-grid .count .previous-button svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 1.5;
}
.title-grid .count .next-button.disabled, .title-grid .count .previous-button.disabled {
  pointer-events: none;
  opacity: 0.3;
}

#work-carousel {
  --f-carousel-slide-width: calc((100% - 15px) / 1.01);
  --f-carousel-gap: 15px;
}
#work-carousel .f-carousel__viewport {
  overflow: visible;
}
#work-carousel .f-carousel__slide {
  text-decoration: none;
  background-color: var(--neutral-100);
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  display: flex;
  flex-direction: column;
}
#work-carousel .f-carousel__slide div.bottom {
  margin-top: auto;
  padding-top: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
  display: flex;
  flex-wrap: wrap;
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  justify-content: space-between;
  align-items: center;
}
#work-carousel .f-carousel__slide div.bottom p {
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
}

@media (min-width: 550px) {
  .title-grid .count {
    padding-top: 0;
    justify-items: center;
    grid-template-columns: 2rem 6ch 2rem;
  }
  .title-grid .count .next-button, .title-grid .count .previous-button {
    display: block;
  }
}
@media screen and (min-width: 48em) {
  #work-carousel {
    --f-carousel-slide-width: calc((100% - 25px) / 2);
    --f-carousel-gap: 25px;
  }
}
@media screen and (min-width: 62em) {
  #work-carousel {
    --f-carousel-slide-width: calc((100% - 50px) / 3);
  }
}
.radial-text-marquee {
  width: 100%;
  position: relative;
}

.radial-text-marquee__text {
  text-align: center;
  white-space: nowrap;
  user-select: none;
  font-size: clamp(3em, 8vw, 5em);
  font-weight: 700;
}

.video {
  aspect-ratio: 16/9;
  background-color: black;
  max-width: 720px;
  margin-inline: auto;
  margin-block: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
  position: relative;
}
.video video {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.video a.watch {
  text-decoration: none;
  padding: 0.5em 1em 0.5em 0.5em;
  background-color: var(--black-opacity-100);
  backdrop-filter: blur(1em);
  border: 1px solid var(--white-opacity-100);
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 2;
  color: var(--neutral-100);
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: 1em;
  gap: 2em;
}
.video a.watch .left {
  display: flex;
  align-items: center;
  gap: 0.8em;
}
.video a.watch .thumbnail {
  aspect-ratio: 16/9;
  background-color: red;
  width: 80px;
}
.video a.watch svg {
  width: 0.6em;
}
@media (hover: hover) and (pointer: fine) {
  .video a.watch:hover {
    border: 1px solid var(--white-opacity-300);
  }
}
.video .arrow {
  display: none;
}
@media screen and (min-width: 62em) {
  .video .arrow {
    display: grid;
    position: absolute;
    top: 50%;
    right: 0%;
    z-index: 2;
    transform: translate(110%, -100%);
    align-items: start;
    gap: 0.5em;
  }
  .video .arrow p {
    text-align: center;
    font-size: clamp(1.44rem, calc(1.33rem + 0.48vw), 1.76rem);
    font-family: "authenia";
    line-height: 0.9;
    text-wrap: balance;
  }
}
@media screen and (min-width: 75em) {
  .video .arrow {
    transform: translate(140%, -100%);
  }
}

ul[data-type=shield] {
  display: grid;
  gap: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
  padding-top: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
ul[data-type=shield] li {
  display: grid;
  grid-template-columns: 1.3rem 1fr;
  gap: 0.3em;
  align-items: center;
}
ul[data-type=shield] li::before {
  content: "";
  display: block;
  width: 1.3rem;
  height: 1.3rem;
  background-image: url('data:image/svg+xml,%3Csvg width="637" height="713" viewBox="0 0 637 713" fill="none" xmlns="http://www.w3.org/2000/svg"%3E%3Cpath d="M628.189 118.526C628.189 118.526 548.132 97.7319 468.075 65.5012C396.335 36.3896 337.073 0 337.073 0C337.073 0 278.849 37.4293 206.07 65.5012C127.053 97.7319 46.9958 117.486 45.9561 118.526C39.7179 153.876 36.5988 191.305 36.5988 228.734C36.5988 237.052 36.5988 241.211 37.6385 249.528C41.7973 294.235 120.815 272.402 148.887 262.005C152.006 260.965 156.164 258.886 159.284 257.846C169.681 253.687 180.078 249.528 191.514 244.33C213.348 234.973 236.221 223.536 260.135 211.059C294.445 192.345 329.795 171.551 359.946 147.638C315.239 207.94 219.586 279.68 112.497 325.427C85.4648 336.863 48.0355 351.419 22.043 350.379C-9.14805 349.34 1.24895 354.538 3.32836 355.578C36.5988 372.213 55.3134 396.126 64.6707 417.96C70.9089 432.516 92.7427 455.389 210.229 395.087C276.77 360.776 362.025 311.91 448.321 243.29C451.44 241.211 454.559 238.092 457.678 236.012C476.392 220.417 496.147 204.821 514.861 188.186C470.154 278.64 344.35 383.65 192.554 461.627C144.728 486.58 132.251 489.699 111.457 496.977C83.3854 506.335 56.3531 502.176 56.3531 507.374C55.3134 514.652 91.703 521.93 129.132 559.359C163.442 593.669 249.738 554.161 286.127 534.407C326.675 511.533 399.455 465.786 448.321 423.158C457.678 414.841 465.995 406.523 474.313 398.206C437.924 484.501 359.946 546.883 257.015 605.106C231.023 619.662 187.355 632.138 168.641 637.337C163.442 639.416 156.164 639.416 156.164 642.535C156.164 648.774 197.753 652.932 224.785 667.488C262.214 687.243 288.207 697.64 297.564 700.759C310.04 705.957 323.556 709.076 337.073 712.195C515.901 672.687 636.507 467.866 636.507 227.695C637.546 191.305 634.427 153.876 628.189 118.526Z" fill="url(%23paint0_linear_39_5)"/%3E%3Cdefs%3E%3ClinearGradient id="paint0_linear_39_5" x1="0" y1="0" x2="636.704" y2="0" gradientUnits="userSpaceOnUse"%3E%3Cstop stop-color="%23147D6C"/%3E%3Cstop offset="1" stop-color="%231EFFFF"/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E%0A');
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.accordion-tag {
  border-radius: 0.25rem 0.25rem 0 0;
  padding: 0.25em 1em;
  backdrop-filter: blur(10px);
  margin: 0 2rem;
  display: grid;
  justify-self: start;
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
  width: max-content;
}

.accordion {
  position: relative;
}
.accordion ul.accordion-list {
  grid-column-gap: 0.5em;
  grid-row-gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  flex-flow: column;
  display: flex;
  position: static;
}
.accordion ul.accordion-list li.accordion-item {
  background-color: var(--neutral-100);
  list-style: none;
}
.accordion ul.accordion-list li.accordion-item .accordion-item-top {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  cursor: pointer;
  justify-content: space-between;
  align-items: center;
  padding: 1em 1em 1em 1.5em;
  display: flex;
}
.accordion ul.accordion-list li.accordion-item .accordion-item-top h3 {
  line-height: 1.3;
}
.accordion ul.accordion-list li.accordion-item .accordion-item-top .accordion-item-icon {
  transition: transform 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  background-color: var(--neutral-200);
  border-radius: 50%;
  flex-shrink: 0;
  justify-content: center;
  align-items: center;
  width: 2em;
  height: 2em;
  display: flex;
  transform: rotate(180deg);
}
.accordion ul.accordion-list li.accordion-item .accordion-item-top .accordion-item-icon .accordion-item-icon-svg {
  width: 1em;
}
.accordion ul.accordion-list li.accordion-item .accordion-item-bottom {
  transition: grid-template-rows 0.5s cubic-bezier(0.625, 0.05, 0, 1);
  grid-template-rows: 0fr;
  display: grid;
  position: relative;
  overflow: hidden;
}
.accordion ul.accordion-list li.accordion-item .accordion-item-bottom .accordion-item-bottom-inner {
  flex-flow: column;
  height: 100000%;
  display: flex;
  position: relative;
  overflow: hidden;
}
.accordion ul.accordion-list li.accordion-item .accordion-item-bottom .accordion-item-bottom-inner .accordion-item-bottom-content {
  padding-bottom: 1.5em;
  padding-left: 1.5em;
  padding-right: 1.5em;
}
.accordion ul.accordion-list li.accordion-item .accordion-item-bottom .accordion-item-bottom-inner .accordion-item-bottom-content p {
  max-width: 90%;
}
@media (hover) {
  .accordion ul.accordion-list li.accordion-item:hover .accordion-item-top .accordion-item-icon {
    background-color: var(--primary-400);
  }
  .accordion ul.accordion-list li.accordion-item:hover .accordion-item-top .accordion-item-icon .accordion-item-icon-svg path {
    stroke: var(--neutral-100);
  }
}
.accordion ul.accordion-list li.accordion-item[data-accordion-status=active] .accordion-item-top .accordion-item-icon {
  transform: rotate(0.001deg);
  background-color: var(--primary-400);
}
.accordion ul.accordion-list li.accordion-item[data-accordion-status=active] .accordion-item-top .accordion-item-icon .accordion-item-icon-svg path {
  stroke: var(--neutral-100);
}
.accordion ul.accordion-list li.accordion-item[data-accordion-status=active] .accordion-item-bottom {
  grid-template-rows: 1fr;
}

.image {
  position: relative;
}
.image.landscape {
  aspect-ratio: 3/2;
}
.image.portrait {
  aspect-ratio: 1/1.05;
}
.image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.auto-columns {
  display: grid;
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  grid-template-columns: repeat(auto-fit, minmax(min(250px, 100%), 1fr));
}

.even-columns {
  display: grid;
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
@media screen and (min-width: 62em) {
  .even-columns {
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
  }
}

/**
 * AUTO-GRID LAYOUT
 *
 * This CSS utility creates a responsive grid layout that automatically adjusts the number of columns
 * based on the available space and specified constraints. It aims to fit as many cells as possible
 * in a single row, while respecting minimum cell width and maximum columns constraints.
 *
 * Customizable Properties:
 * --auto-grid-min-size: Sets the minimum width for each cell in the grid.
 *                       Default is 10rem.
 * --auto-grid-max-columns: Sets the maximum number of columns in the grid.
 *                          Default is 'infinity' (as many as can fit).
 * --auto-grid-gap: Sets the horizontal gap between grid cells. It also sets
 *                  the vertical gap if --auto-grid-gap-vertical is not defined.
 *                  Default is 1rem.
 * --auto-grid-gap-vertical: Specifically sets the vertical gap between rows
 *                           of cells. If not set, it falls back to the value
 *                           of '--auto-grid-gap'.
 *
 * The grid utilizes CSS 'display: grid' with the 'auto-fit' feature and the 'minmax()'
 * function to ensure that cells expand to fill available space while maintaining
 * the set minimum size.
 *
 * Example Usage:
 * <div class="auto-grid" style="--auto-grid-min-size: 10rem; --auto-grid-max-columns: 3; --auto-grid-gap: 0.5rem;">
 *   <!-- grid items here -->
 * </div>
 *
 * The above example will create a grid with a minimum cell width of 10rem, a maximum
 * of 3 columns, and a gap of 0.5rem between both rows and columns.
 */
.auto-grid {
  --auto-grid-max-column-width: 100% / var(--auto-grid-max-columns, infinity) - var(--auto-grid-gap);
  --auto-grid-column-width: max(
      var(--auto-grid-max-column-width),
      min(var(--auto-grid-min-size, 10rem), 100%)
  );
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(var(--auto-grid-column-width), 1fr));
  /* vertical gap falls back to general gap then falls back to 1rem*/
  gap: var(--auto-grid-gap-vertical, var(--auto-grid-gap, 1rem)) var(--auto-grid-gap, 1rem);
}
@media screen and (min-width: 48em) {
  .auto-grid[data-type=reverse] div:last-of-type {
    order: -1;
  }
}

.flex {
  display: flex;
  flex-wrap: wrap;
  column-gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
  width: fit-content;
  align-items: center;
}
.flex.justify-space-between {
  width: 100%;
  justify-content: space-between;
}

.grid {
  display: grid;
}

.justify-self-end {
  justify-self: end;
}

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

.pile {
  display: grid;
  grid-template-areas: "pile";
  place-content: center;
}
.pile > * {
  grid-area: pile;
}

.clr-neutral-100 {
  color: var(--neutral-100);
}

.bg-neutral-100 {
  background-color: var(--neutral-100);
}

.clr-neutral-200 {
  color: var(--neutral-200);
}

.bg-neutral-200 {
  background-color: var(--neutral-200);
}

.clr-neutral-900 {
  color: var(--neutral-900);
}

.bg-neutral-900 {
  background-color: var(--neutral-900);
}

.clr-accent-400 {
  color: var(--accent-400);
}

.bg-accent-400 {
  background-color: var(--accent-400);
}

.clr-primary-400 {
  color: var(--primary-400);
}

.bg-primary-400 {
  background-color: var(--primary-400);
}

.clr-white-opacity-100 {
  color: var(--white-opacity-100);
}

.bg-white-opacity-100 {
  background-color: var(--white-opacity-100);
}

.clr-white-opacity-200 {
  color: var(--white-opacity-200);
}

.bg-white-opacity-200 {
  background-color: var(--white-opacity-200);
}

.clr-white-opacity-300 {
  color: var(--white-opacity-300);
}

.bg-white-opacity-300 {
  background-color: var(--white-opacity-300);
}

.clr-white-opacity-400 {
  color: var(--white-opacity-400);
}

.bg-white-opacity-400 {
  background-color: var(--white-opacity-400);
}

.clr-white-opacity-500 {
  color: var(--white-opacity-500);
}

.bg-white-opacity-500 {
  background-color: var(--white-opacity-500);
}

.clr-white-opacity-600 {
  color: var(--white-opacity-600);
}

.bg-white-opacity-600 {
  background-color: var(--white-opacity-600);
}

.clr-white-opacity-700 {
  color: var(--white-opacity-700);
}

.bg-white-opacity-700 {
  background-color: var(--white-opacity-700);
}

.clr-white-opacity-800 {
  color: var(--white-opacity-800);
}

.bg-white-opacity-800 {
  background-color: var(--white-opacity-800);
}

.clr-white-opacity-900 {
  color: var(--white-opacity-900);
}

.bg-white-opacity-900 {
  background-color: var(--white-opacity-900);
}

.clr-black-opacity-50 {
  color: var(--black-opacity-50);
}

.bg-black-opacity-50 {
  background-color: var(--black-opacity-50);
}

.clr-black-opacity-100 {
  color: var(--black-opacity-100);
}

.bg-black-opacity-100 {
  background-color: var(--black-opacity-100);
}

.clr-black-opacity-200 {
  color: var(--black-opacity-200);
}

.bg-black-opacity-200 {
  background-color: var(--black-opacity-200);
}

.clr-black-opacity-300 {
  color: var(--black-opacity-300);
}

.bg-black-opacity-300 {
  background-color: var(--black-opacity-300);
}

.clr-black-opacity-400 {
  color: var(--black-opacity-400);
}

.bg-black-opacity-400 {
  background-color: var(--black-opacity-400);
}

.clr-black-opacity-500 {
  color: var(--black-opacity-500);
}

.bg-black-opacity-500 {
  background-color: var(--black-opacity-500);
}

.clr-black-opacity-600 {
  color: var(--black-opacity-600);
}

.bg-black-opacity-600 {
  background-color: var(--black-opacity-600);
}

.clr-black-opacity-700 {
  color: var(--black-opacity-700);
}

.bg-black-opacity-700 {
  background-color: var(--black-opacity-700);
}

.clr-black-opacity-800 {
  color: var(--black-opacity-800);
}

.bg-black-opacity-800 {
  background-color: var(--black-opacity-800);
}

.clr-black-opacity-900 {
  color: var(--black-opacity-900);
}

.bg-black-opacity-900 {
  background-color: var(--black-opacity-900);
}

.clr-danger-400 {
  color: var(--danger-400);
}

.bg-danger-400 {
  background-color: var(--danger-400);
}

.clr-success-400 {
  color: var(--success-400);
}

.bg-success-400 {
  background-color: var(--success-400);
}

.fs-200 {
  font-size: clamp(0.69rem, calc(0.69rem + 0.04vw), 0.72rem);
}

.fs-300 {
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
}

.fs-400 {
  font-size: clamp(1.00rem, calc(0.96rem + 0.19vw), 1.13rem);
}

.fs-500 {
  font-size: clamp(1.20rem, calc(1.13rem + 0.31vw), 1.41rem);
}

.fs-600 {
  font-size: clamp(1.44rem, calc(1.33rem + 0.48vw), 1.76rem);
}

.fs-700 {
  font-size: clamp(1.73rem, calc(1.56rem + 0.71vw), 2.20rem);
  line-height: 1.2;
}

.fs-800 {
  font-size: clamp(2.07rem, calc(1.84rem + 1.01vw), 2.75rem);
  line-height: 1.2;
}

.fs-900 {
  font-size: clamp(2.49rem, calc(2.16rem + 1.42vw), 3.43rem);
  line-height: 1.2;
}

.section-padding {
  padding-block: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.mx-auto {
  margin-inline: auto;
}

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

.margin-1 {
  margin: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-top-1 {
  margin-block-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-bottom-1 {
  margin-block-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-block-1 {
  margin-block: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-left-1 {
  margin-inline-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-right-1 {
  margin-inline-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.margin-inline-1 {
  margin-inline: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.padding-1 {
  padding: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-top-1 {
  padding-block-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-bottom-1 {
  padding-block-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-block-1 {
  padding-block: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-left-1 {
  padding-inline-start: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-right-1 {
  padding-inline-end: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}
.padding-inline-1 {
  padding-inline: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.margin-2 {
  margin: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-top-2 {
  margin-block-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-bottom-2 {
  margin-block-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-block-2 {
  margin-block: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-left-2 {
  margin-inline-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-right-2 {
  margin-inline-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.margin-inline-2 {
  margin-inline: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.padding-2 {
  padding: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-top-2 {
  padding-block-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-bottom-2 {
  padding-block-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-block-2 {
  padding-block: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-left-2 {
  padding-inline-start: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-right-2 {
  padding-inline-end: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}
.padding-inline-2 {
  padding-inline: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.margin-3 {
  margin: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-top-3 {
  margin-block-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-bottom-3 {
  margin-block-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-block-3 {
  margin-block: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-left-3 {
  margin-inline-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-right-3 {
  margin-inline-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.margin-inline-3 {
  margin-inline: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.padding-3 {
  padding: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-top-3 {
  padding-block-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-bottom-3 {
  padding-block-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-block-3 {
  padding-block: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-left-3 {
  padding-inline-start: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-right-3 {
  padding-inline-end: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
.padding-inline-3 {
  padding-inline: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.margin-4 {
  margin: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-top-4 {
  margin-block-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-bottom-4 {
  margin-block-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-block-4 {
  margin-block: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-left-4 {
  margin-inline-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-right-4 {
  margin-inline-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.margin-inline-4 {
  margin-inline: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.padding-4 {
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-top-4 {
  padding-block-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-bottom-4 {
  padding-block-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-block-4 {
  padding-block: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-left-4 {
  padding-inline-start: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-right-4 {
  padding-inline-end: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
.padding-inline-4 {
  padding-inline: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.margin-5 {
  margin: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-top-5 {
  margin-block-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-bottom-5 {
  margin-block-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-block-5 {
  margin-block: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-left-5 {
  margin-inline-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-right-5 {
  margin-inline-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.margin-inline-5 {
  margin-inline: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.padding-5 {
  padding: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-top-5 {
  padding-block-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-bottom-5 {
  padding-block-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-block-5 {
  padding-block: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-left-5 {
  padding-inline-start: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-right-5 {
  padding-inline-end: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}
.padding-inline-5 {
  padding-inline: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.margin-6 {
  margin: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-top-6 {
  margin-block-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-bottom-6 {
  margin-block-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-block-6 {
  margin-block: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-left-6 {
  margin-inline-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-right-6 {
  margin-inline-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.margin-inline-6 {
  margin-inline: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.padding-6 {
  padding: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-top-6 {
  padding-block-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-bottom-6 {
  padding-block-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-block-6 {
  padding-block: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-left-6 {
  padding-inline-start: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-right-6 {
  padding-inline-end: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
.padding-inline-6 {
  padding-inline: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.margin-7 {
  margin: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-top-7 {
  margin-block-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-bottom-7 {
  margin-block-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-block-7 {
  margin-block: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-left-7 {
  margin-inline-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-right-7 {
  margin-inline-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.margin-inline-7 {
  margin-inline: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.padding-7 {
  padding: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-top-7 {
  padding-block-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-bottom-7 {
  padding-block-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-block-7 {
  padding-block: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-left-7 {
  padding-inline-start: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-right-7 {
  padding-inline-end: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}
.padding-inline-7 {
  padding-inline: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.margin-8 {
  margin: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-top-8 {
  margin-block-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-bottom-8 {
  margin-block-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-block-8 {
  margin-block: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-left-8 {
  margin-inline-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-right-8 {
  margin-inline-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.margin-inline-8 {
  margin-inline: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.padding-8 {
  padding: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-top-8 {
  padding-block-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-bottom-8 {
  padding-block-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-block-8 {
  padding-block: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-left-8 {
  padding-inline-start: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-right-8 {
  padding-inline-end: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}
.padding-inline-8 {
  padding-inline: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.margin-9 {
  margin: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-top-9 {
  margin-block-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-bottom-9 {
  margin-block-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-block-9 {
  margin-block: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-left-9 {
  margin-inline-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-right-9 {
  margin-inline-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.margin-inline-9 {
  margin-inline: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.padding-9 {
  padding: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-top-9 {
  padding-block-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-bottom-9 {
  padding-block-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-block-9 {
  padding-block: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-left-9 {
  padding-inline-start: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-right-9 {
  padding-inline-end: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}
.padding-inline-9 {
  padding-inline: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.margin-10 {
  margin: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-top-10 {
  margin-block-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-bottom-10 {
  margin-block-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-block-10 {
  margin-block: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-left-10 {
  margin-inline-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-right-10 {
  margin-inline-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.margin-inline-10 {
  margin-inline: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.padding-10 {
  padding: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-top-10 {
  padding-block-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-bottom-10 {
  padding-block-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-block-10 {
  padding-block: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-left-10 {
  padding-inline-start: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-right-10 {
  padding-inline-end: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}
.padding-inline-10 {
  padding-inline: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.container {
  --max-width: 90rem;
  width: min(90%, var(--max-width));
  margin-inline: auto;
}

.container[data-type=small] {
  --max-width: 70rem;
}

.container[data-type=large] {
  --max-width: 90%;
}

.container[data-type=full-bleed] {
  --max-width: 100%;
}

.fw-100 {
  font-weight: 100;
}

.fw-200 {
  font-weight: 200;
}

.fw-300 {
  font-weight: 300;
}

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

.fw-500 {
  font-weight: 500;
}

.fw-600 {
  font-weight: 600;
}

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

.fw-800 {
  font-weight: 800;
}

.fw-900 {
  font-weight: 900;
}

.gap-1 {
  gap: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.gap-2 {
  gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.gap-3 {
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.gap-4 {
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.gap-5 {
  gap: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.gap-6 {
  gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.gap-7 {
  gap: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.gap-8 {
  gap: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.gap-9 {
  gap: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.gap-10 {
  gap: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.gap-y-1 {
  row-gap: clamp(0.38rem, calc(0.24rem + 0.56vw), 0.75rem);
}

.gap-y-2 {
  row-gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem);
}

.gap-y-3 {
  row-gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.gap-y-4 {
  row-gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}

.gap-y-5 {
  row-gap: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
}

.gap-y-6 {
  row-gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}

.gap-y-7 {
  row-gap: clamp(2.94rem, calc(1.90rem + 4.41vw), 5.88rem);
}

.gap-y-8 {
  row-gap: clamp(4.38rem, calc(2.83rem + 6.57vw), 8.75rem);
}

.gap-y-9 {
  row-gap: clamp(6.56rem, calc(4.25rem + 9.86vw), 13.13rem);
}

.gap-y-10 {
  row-gap: clamp(8.75rem, calc(5.67rem + 13.15vw), 17.50rem);
}

.standard-gap {
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

:root {
  --standard-gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}

.ff-base {
  font-family: "elza", sans-serif;
}

.ff-accent {
  font-family: "authenia";
}

.text-uppercase {
  text-transform: uppercase;
}

.text-underline {
  text-decoration: underline;
}

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

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

.box-shadow-1 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.012), 0px 22px 18px rgba(0, 0, 0, 0.018), 0px 100px 80px rgba(0, 0, 0, 0.03);
}

.box-shadow-2 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.016), 0px 22px 18px rgba(0, 0, 0, 0.024), 0px 100px 80px rgba(0, 0, 0, 0.04);
}

.box-shadow-3 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.02), 0px 22px 18px rgba(0, 0, 0, 0.03), 0px 100px 80px rgba(0, 0, 0, 0.05);
}

.box-shadow-4 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.03), 0px 22px 18px rgba(0, 0, 0, 0.042), 0px 100px 80px rgba(0, 0, 0, 0.07);
}

.box-shadow-5 {
  box-shadow: 0px 6px 5px rgba(0, 0, 0, 0.04), 0px 22px 18px rgba(0, 0, 0, 0.06), 0px 100px 80px rgba(0, 0, 0, 0.1);
}

.heading-1 {
  font-size: clamp(2.49rem, calc(2.16rem + 1.42vw), 3.43rem);
  font-weight: 700;
  line-height: 1.2;
}

.heading-2 {
  font-size: clamp(2.07rem, calc(1.84rem + 1.01vw), 2.75rem);
  font-weight: 700;
  line-height: 1.2;
}

.heading-3 {
  font-size: clamp(1.73rem, calc(1.56rem + 0.71vw), 2.20rem);
  font-weight: 700;
  line-height: 1.1;
}

.heading-4 {
  font-size: clamp(1.44rem, calc(1.33rem + 0.48vw), 1.76rem);
  font-weight: 700;
  line-height: 1.1;
}

.round {
  border-radius: 50%;
  aspect-ratio: 1/1;
}

main#home-page section.hero-section {
  position: relative;
  height: 100svh;
  color: var(--neutral-100);
}
main#home-page section.hero-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: var(--black-opacity-500);
}
main#home-page section.hero-section video {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main#home-page section.hero-section div.container {
  position: relative;
  z-index: 3;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
  gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
main#home-page section.hero-section div.hero-grid {
  align-self: flex-end;
  display: grid;
  justify-items: start;
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  align-items: start;
}
main#home-page section.hero-section div.hero-grid h1 {
  font-size: clamp(2.49rem, calc(2.16rem + 1.42vw), 3.43rem);
  font-weight: 700;
}
main#home-page section.hero-section div.hero-grid h1 span {
  display: inline-block;
  color: var(--accent-400);
  background-color: var(--primary-400);
  padding: 0.1em 0.2em;
  transform: skewX(-10deg);
}
main#home-page section.hero-section div.hero-grid a.watch {
  text-decoration: none;
  padding: 0.5em 1em 0.5em 0.5em;
  background-color: var(--black-opacity-100);
  backdrop-filter: blur(1em);
  border: 1px solid var(--white-opacity-100);
  color: var(--neutral-100);
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
  cursor: pointer;
}
main#home-page section.hero-section div.hero-grid a.watch div.left {
  display: flex;
  align-items: center;
  gap: 0.8em;
}
main#home-page section.hero-section div.hero-grid a.watch div.thumbnail {
  aspect-ratio: 16/9;
  width: 80px;
}
main#home-page section.hero-section div.hero-grid a.watch span {
  white-space: pre;
}
main#home-page section.hero-section div.hero-grid a.watch svg {
  width: 0.6em;
}
@media (hover: hover) and (pointer: fine) {
  main#home-page section.hero-section div.hero-grid a.watch:hover {
    border: 1px solid var(--white-opacity-300);
  }
}
main#home-page section.hero-section div.bottom {
  margin-bottom: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
  align-self: flex-end;
  display: flex;
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  align-items: end;
}
main#home-page section.hero-section div.bottom p {
  max-width: 45ch;
}
main#home-page section.hero-section div.bottom div.link {
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
main#home-page section.hero-section div.bottom div.link svg {
  width: 0.8em;
}
main#home-page section.hero-section div.bottom div.link svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 1.5;
}
@media screen and (min-width: 48em) {
  main#home-page section.hero-section div.container {
    gap: 0;
  }
  main#home-page section.hero-section div.hero-grid {
    align-self: center;
    padding-top: 1.5em;
    border-top: 1px solid var(--white-opacity-200);
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
    transform: translateY(60%);
  }
  main#home-page section.hero-section div.hero-grid h1 {
    grid-row: 1/2;
  }
  main#home-page section.hero-section div.hero-grid p, main#home-page section.hero-section div.hero-grid h1 {
    grid-column: 1/8;
  }
  main#home-page section.hero-section div.hero-grid a.watch {
    justify-self: end;
    grid-row: 1/2;
    grid-column: 8/13;
  }
  main#home-page section.hero-section div.bottom div.link {
    margin-left: auto;
  }
}
@media screen and (min-width: 75em) {
  main#home-page section.hero-section div.hero-grid p {
    grid-column: 1/4;
  }
  main#home-page section.hero-section div.hero-grid h1 {
    grid-column: 4/10;
  }
  main#home-page section.hero-section div.hero-grid a.watch {
    grid-column: 10/13;
  }
}
main#home-page section.about-section div.grid {
  display: grid;
  gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
main#home-page section.about-section div.stats {
  border-top: 1px solid var(--black-opacity-200);
}
main#home-page section.about-section div.stats div.stat {
  padding-block: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  display: grid;
  grid-template-columns: 11ch 1fr;
  gap: 1em;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--black-opacity-200);
}
main#home-page section.about-section div.stats div.stat div {
  display: flex;
}
main#home-page section.about-section div.stats div.stat span {
  font-size: clamp(2.49rem, calc(2.16rem + 1.42vw), 3.43rem);
  color: var(--primary-400);
  font-weight: 700;
}
main#home-page section.about-section div.stats div.stat p {
  text-align: right;
  max-width: 25ch;
  justify-self: end;
}
main#home-page section.about-section div.image {
  position: relative;
  aspect-ratio: 16/9;
}
main#home-page section.about-section div.image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main#home-page section.about-section div.title {
  position: relative;
  max-width: max-content;
  margin-inline: auto;
}
main#home-page section.about-section div.title div.arrow {
  display: none;
}
main#home-page section.about-section div.logos div {
  display: grid;
  justify-items: center;
  align-items: center;
}
main#home-page section.about-section div.logos div img {
  width: 100%;
  max-width: 70%;
  object-fit: contain;
}
@media screen and (min-width: 48em) {
  main#home-page section.about-section div.grid {
    grid-template-columns: repeat(2, 1fr);
    gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
  }
  main#home-page section.about-section div.image {
    grid-column: 1/3;
    grid-row: 1/2;
  }
}
@media screen and (min-width: 62em) {
  main#home-page section.about-section div.grid {
    grid-template-columns: repeat(3, 1fr);
    gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  }
  main#home-page section.about-section div.image {
    aspect-ratio: unset;
    grid-row: unset;
    grid-column: unset;
  }
  main#home-page section.about-section div.title div.arrow {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    gap: 0.5em;
    align-items: start;
    transform: translate(120%, -80%);
  }
  main#home-page section.about-section div.title div.arrow p {
    text-align: center;
    font-size: clamp(1.44rem, calc(1.33rem + 0.48vw), 1.76rem);
    font-family: "authenia";
    transform: translateY(-0.9em);
    line-height: 0.9;
    text-wrap: balance;
  }
  main#home-page section.about-section div.logos div img {
    max-width: 50%;
  }
}
main#home-page div.list-card {
  background-color: var(--neutral-100);
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
  position: relative;
}
main#home-page div.list-card h3 {
  border-bottom: 1px solid var(--black-opacity-200);
  padding-bottom: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
main#home-page div.list-card .arrow {
  position: absolute;
  bottom: 0;
  right: 10%;
  transform: translate(0%, 45%);
  display: flex;
  align-items: end;
  gap: 0.5em;
}
main#home-page div.list-card .arrow p {
  order: -1;
  text-align: center;
  color: var(--neutral-100);
  font-size: clamp(1.44rem, calc(1.33rem + 0.48vw), 1.76rem);
  font-family: "authenia";
  transform: translateY(0.9em);
  line-height: 0.9;
  text-wrap: balance;
}
main#home-page div.list-card .arrow svg {
  transform: scaleX(-1);
}
@media screen and (min-width: 62em) {
  main#home-page div.list-card .arrow {
    transform: translate(0%, 60%);
    right: 0;
  }
  main#home-page div.list-card .arrow p {
    order: unset;
  }
  main#home-page div.list-card .arrow svg {
    transform: unset;
  }
}

main#service-page section.hero-section {
  position: relative;
  height: 100svh;
  color: var(--neutral-100);
}
main#service-page section.hero-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background-color: var(--black-opacity-500);
}
main#service-page section.hero-section video, main#service-page section.hero-section img {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main#service-page section.hero-section div.container {
  position: relative;
  z-index: 3;
  height: 100%;
  display: grid;
  grid-template-rows: 1fr auto;
}
main#service-page section.hero-section div.hero-grid {
  padding-top: 1.5em;
  align-self: center;
  display: grid;
  justify-items: start;
  gap: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  align-items: start;
  border-top: 1px solid var(--white-opacity-200);
  transform: translateY(20%);
}
main#service-page section.hero-section div.hero-grid h1 {
  font-size: clamp(2.49rem, calc(2.16rem + 1.42vw), 3.43rem);
  font-weight: 700;
}
main#service-page section.hero-section div.hero-grid h1 span {
  display: inline-block;
  color: var(--accent-400);
  background-color: var(--primary-400);
  padding: 0.1em 0.2em;
  transform: skewX(-10deg);
}
main#service-page section.hero-section div.hero-grid div.watch {
  padding: 0.5em 1em 0.5em 0.5em;
  background-color: var(--black-opacity-100);
  backdrop-filter: blur(1em);
  border: 1px solid var(--white-opacity-100);
  color: var(--neutral-100);
  font-size: clamp(0.83rem, calc(0.81rem + 0.10vw), 0.90rem);
  text-transform: uppercase;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2em;
}
main#service-page section.hero-section div.hero-grid div.watch div.left {
  display: flex;
  align-items: center;
  gap: 0.8em;
}
main#service-page section.hero-section div.hero-grid div.watch span {
  white-space: pre;
}
main#service-page section.hero-section div.hero-grid div.watch div.thumbnail {
  aspect-ratio: 16/9;
  width: 80px;
}
main#service-page section.hero-section div.hero-grid div.watch svg {
  width: 0.6em;
}
main#service-page section.hero-section div.bottom {
  margin-bottom: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
  align-self: flex-end;
  display: flex;
  gap: clamp(1.44rem, calc(0.91rem + 2.25vw), 2.94rem);
  flex-wrap: wrap;
  justify-content: space-between;
  width: 100%;
  align-items: end;
}
main#service-page section.hero-section div.bottom p {
  max-width: 47ch;
}
main#service-page section.hero-section div.bottom div.link {
  margin-left: auto;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.5em;
}
main#service-page section.hero-section div.bottom div.link svg {
  width: 0.8em;
}
main#service-page section.hero-section div.bottom div.link svg path {
  vector-effect: non-scaling-stroke;
  stroke-width: 1.5;
}
@media screen and (min-width: 48em) {
  main#service-page section.hero-section div.hero-grid {
    grid-template-columns: repeat(12, 1fr);
    gap: clamp(0.56rem, calc(0.36rem + 0.85vw), 1.13rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
    transform: translateY(60%);
  }
  main#service-page section.hero-section div.hero-grid h1 {
    grid-row: 1/2;
  }
  main#service-page section.hero-section div.hero-grid p, main#service-page section.hero-section div.hero-grid h1 {
    grid-column: 1/13;
  }
  main#service-page section.hero-section div.hero-grid div.watch {
    justify-self: end;
    grid-row: 1/2;
    grid-column: 8/13;
  }
}
@media screen and (min-width: 75em) {
  main#service-page section.hero-section div.hero-grid p {
    grid-column: 1/4;
  }
  main#service-page section.hero-section div.hero-grid h1 {
    grid-column: 4/13;
  }
  main#service-page section.hero-section div.hero-grid div.watch {
    grid-column: 10/13;
  }
}
main#service-page section.section-approach {
  /* Show only 1st items on live site */
  /* Show only 1st items on live site */
}
main#service-page section.section-approach .sticky-features__wrap {
  width: 100%;
  position: relative;
}
main#service-page section.section-approach .sticky-features__scroll {
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  display: flex;
}
main#service-page section.section-approach .sticky-features__container {
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  justify-content: center;
  align-items: stretch;
  width: 100%;
  display: flex;
}
main#service-page section.section-approach .text-column {
  position: relative;
  height: 100%;
}
main#service-page section.section-approach .image-column {
  position: relative;
  overflow: hidden;
}
main#service-page section.section-approach .sticky-features__progress-w {
  position: absolute;
  left: 0em;
  right: 0em;
  bottom: 0em;
  height: 0.25em;
  background-color: var(--white-opacity-200);
}
main#service-page section.section-approach .sticky-features__progress-bar {
  width: 100%;
  height: 100%;
  background-color: var(--primary-400);
  transform: scale3d(0, 1, 1);
  transform-origin: 0% 50%;
}
main#service-page section.section-approach .sticky-features__img-collection {
  width: 100%;
}
main#service-page section.section-approach .sticky-features__img-list {
  aspect-ratio: 1/1;
  width: 100%;
  position: relative;
}
main#service-page section.section-approach .sticky-features__img-item {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0%;
}
main#service-page section.section-approach [data-sticky-feature-visual-wrap]:first-of-type {
  clip-path: inset(0% round 0.75em);
}
main#service-page section.section-approach .sticky-features__img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
main#service-page section.section-approach .sticky-features__text-collection {
  height: 100%;
}
main#service-page section.section-approach .sticky-features__text-list {
  display: grid;
  grid-template-areas: "pile";
  height: 100%;
}
main#service-page section.section-approach .sticky-features__text-item {
  display: grid;
  justify-items: start;
  grid-area: pile;
  grid-row-gap: 1.5em;
  visibility: hidden;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
}
main#service-page section.section-approach .sticky-features__text-item div.middle-text {
  align-self: center;
}
main#service-page section.section-approach .sticky-features__text-item div.button {
  align-self: flex-end;
}
main#service-page section.section-approach [data-sticky-feature-item]:first-of-type {
  visibility: visible;
}
main#service-page section.section-approach .sticky-features__p.is--link {
  color: #fff;
  text-decoration: underline;
}
main#service-page section.section-approach .tag-wrapper {
  display: flex;
  align-items: center;
  gap: 0.8em;
  color: var(--neutral-100);
}
main#service-page section.section-approach .tag-wrapper .tag {
  background-color: var(--neutral-100);
  color: var(--neutral-900);
  aspect-ratio: 1;
  border-radius: 0.2em;
  padding: 0.5em;
  line-height: 1;
  display: grid;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 62em) {
  main#service-page section.section-approach .sticky-features__scroll {
    justify-content: center;
    align-items: center;
    height: auto;
    min-height: 100svh;
  }
  main#service-page section.section-approach .sticky-features__container {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
  }
  main#service-page section.section-approach .sticky-features__img-list {
    aspect-ratio: 3/2;
  }
  main#service-page section.section-approach .sticky-features__text-list {
    max-height: none;
  }
  main#service-page section.section-approach .sticky-features__text-item {
    max-width: none;
    align-content: flex-start;
  }
  main#service-page section.section-approach .sticky-features__tag {
    margin-bottom: 0;
  }
}
@media screen and (min-width: 62em) {
  main#service-page section.section-approach .sticky-features__container {
    display: grid;
    align-items: start;
    grid-template-columns: repeat(12, 1fr);
  }
  main#service-page section.section-approach .text-column {
    grid-column: 8/13;
  }
  main#service-page section.section-approach .image-column {
    grid-column: 1/7;
  }
}
main#service-page section.section-help div.grid {
  display: grid;
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
main#service-page section.section-help div.grid div:not(.image) {
  background-color: var(--neutral-100);
  padding: clamp(1.13rem, calc(0.75rem + 1.60vw), 2.19rem);
}
main#service-page section.section-help div.grid div.image {
  display: none;
  position: relative;
}
main#service-page section.section-help div.grid div.image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 70%;
}
@media screen and (min-width: 48em) {
  main#service-page section.section-help div.grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (min-width: 62em) {
  main#service-page section.section-help div.grid {
    grid-template-columns: repeat(3, 1fr);
  }
  main#service-page section.section-help div.grid div.image {
    display: block;
    grid-column: 2/4;
  }
}
main#service-page section.section-services .three-block-animation {
  display: grid;
  gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem) clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
  align-items: start;
}
main#service-page section.section-services .three-block-animation .navigation h2 {
  border-bottom: 1px solid var(--black-opacity-200);
  padding-bottom: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
main#service-page section.section-services .three-block-animation .navigation ul {
  padding: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem) 0 0 0;
  list-style: none;
  counter-reset: item;
  display: grid;
  gap: 0.5rem;
}
main#service-page section.section-services .three-block-animation .navigation ul li.list-item {
  color: var(--black-opacity-400);
  border-radius: 0.2em;
  padding: 0.8em 1em;
  font-weight: 500;
  cursor: pointer;
  background-color: var(--black-opacity-50);
}
main#service-page section.section-services .three-block-animation .navigation ul li.list-item[data-three-block-status=active] {
  background-color: var(--primary-400);
  color: var(--neutral-900);
}
main#service-page section.section-services .three-block-animation .images {
  display: grid;
  grid-template-areas: "pile";
  place-content: center;
  overflow: hidden;
}
main#service-page section.section-services .three-block-animation .images .image-item {
  grid-area: pile;
  position: relative;
  overflow: hidden;
  order: 1;
}
main#service-page section.section-services .three-block-animation .images .image-item img {
  aspect-ratio: 16/10;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
main#service-page section.section-services .three-block-animation .text {
  display: grid;
  grid-template-areas: "pile";
}
main#service-page section.section-services .three-block-animation .text .text-item {
  grid-area: pile;
  pointer-events: none;
}
main#service-page section.section-services .three-block-animation .text .text-item a {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  main#service-page section.section-services .three-block-animation .text .text-item a:hover .btn-bubble-arrow__arrow {
    transform: scale(1) rotate(0.001deg);
  }
  main#service-page section.section-services .three-block-animation .text .text-item a:hover .btn-bubble-arrow__arrow.is--duplicate {
    transform: scale(0) rotate(0.001deg);
  }
  main#service-page section.section-services .three-block-animation .text .text-item a:hover .btn-bubble-arrow__arrow-svg {
    transform: rotate(-45deg);
  }
}
main#service-page section.section-services .three-block-animation .text .btn-group {
  opacity: 0;
  pointer-events: none;
}
main#service-page section.section-services .three-block-animation .text .line {
  height: 1px;
  background-color: var(--black-opacity-200);
  width: 100%;
  opacity: 0;
  margin-top: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
main#service-page section.section-services .three-block-animation .text span, main#service-page section.section-services .three-block-animation .text p, main#service-page section.section-services .three-block-animation .text ul {
  opacity: 0;
  transform: translateY(20px);
  transition: 0.6s cubic-bezier(0.625, 0.05, 0, 1);
}
main#service-page section.section-services .three-block-animation .text h3 {
  overflow: hidden;
  font-size: clamp(1.44rem, calc(1.33rem + 0.48vw), 1.76rem);
  font-weight: 600;
  display: flex;
  gap: 0.2em 0.35em;
  align-items: center;
  flex-wrap: wrap;
}
main#service-page section.section-services .three-block-animation .text h3 span {
  display: inline-block;
  line-height: 1.3;
}
main#service-page section.section-services .three-block-animation .text h3 span {
  transform: translateY(40px) rotate(8deg);
}
main#service-page section.section-services .three-block-animation .text p {
  color: var(--black-opacity-900);
}
main#service-page section.section-services .three-block-animation .text .text-item {
  height: 0;
}
main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] {
  height: auto;
  pointer-events: all;
}
main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] .btn-group {
  pointer-events: all;
  opacity: 1;
}
main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] a {
  pointer-events: all;
}
main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] h3, main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] p, main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] span, main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] ul {
  opacity: 1;
  transform: none;
}
main#service-page section.section-services .three-block-animation .text .text-item[data-three-block-status=active] .line {
  opacity: 1;
}
@media (min-width: 500px) {
  main#service-page section.section-services .three-block-animation .navigation ul {
    grid-template-columns: repeat(2, 1fr);
  }
  main#service-page section.section-services .three-block-animation .navigation ul li {
    text-align: center;
  }
}
@media screen and (min-width: 48em) {
  main#service-page section.section-services .three-block-animation {
    grid-template-columns: repeat(2, 1fr);
  }
  main#service-page section.section-services .three-block-animation .navigation {
    grid-column: 1/3;
  }
  main#service-page section.section-services .three-block-animation .navigation ol {
    grid-template-columns: repeat(3, 1fr);
  }
  main#service-page section.section-services .three-block-animation .images .image-item img {
    aspect-ratio: 1/1.1;
  }
}
@media screen and (min-width: 62em) {
  main#service-page section.section-services .three-block-animation {
    grid-template-columns: repeat(3, 1fr);
  }
  main#service-page section.section-services .three-block-animation .navigation {
    grid-column: 1/2;
  }
  main#service-page section.section-services .three-block-animation .navigation ul {
    grid-template-columns: 1fr;
  }
  main#service-page section.section-services .three-block-animation .navigation ul li {
    text-align: left;
  }
}
main#service-page section.section-case-studies div.title {
  position: relative;
}
main#service-page section.section-case-studies div.title div.arrow {
  position: absolute;
  top: 0;
  left: 65%;
  display: none;
  gap: 0.5em;
  align-items: start;
  transform: translate(0%, -50%);
}
main#service-page section.section-case-studies div.title div.arrow p {
  text-align: center;
  color: var(--neutral-100);
  font-size: clamp(1.44rem, calc(1.33rem + 0.48vw), 1.76rem);
  font-family: "authenia";
  transform: translateY(-0.9em);
  line-height: 0.9;
  text-wrap: balance;
}
@media screen and (min-width: 48em) {
  main#service-page section.section-case-studies div.title div.arrow {
    display: flex;
  }
}
@media screen and (min-width: 62em) {
  main#service-page section.section-case-studies div.title div.arrow {
    left: 50%;
  }
}
main#service-page section.section-quote form input, main#service-page section.section-quote form textarea {
  background-color: var(--white-opacity-100);
  color: var(--neutral-100);
  border: 1px solid transparent;
}
main#service-page section.section-quote form input:focus, main#service-page section.section-quote form textarea:focus {
  border: 1px solid var(--white-opacity-200);
}
main#service-page section.section-quote form button {
  background-color: transparent;
  margin: 0;
  padding: 0;
  border: 0;
}
main#service-page section.section-faq div.grid {
  display: grid;
  gap: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
}
@media screen and (min-width: 48em) {
  main#service-page section.section-faq div.grid {
    gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
    grid-template-columns: repeat(2, 1fr);
    align-items: start;
  }
  main#service-page section.section-faq div.stick {
    position: sticky;
    top: 10%;
  }
}
@media screen and (min-width: 62em) {
  main#service-page section.section-faq div.stick {
    padding-right: clamp(2.19rem, calc(1.42rem + 3.29vw), 4.38rem);
  }
  main#service-page section.section-faq div.stick h2 {
    max-width: 400px;
  }
  main#service-page section.section-faq div.stick p {
    max-width: 30ch;
  }
}

main#contact-page div.line {
  width: 100%;
  height: 1px;
  background-color: var(--black-opacity-200);
}
main#contact-page ul.contact-links {
  display: grid;
  justify-items: start;
  gap: clamp(0.75rem, calc(0.51rem + 1.03vw), 1.44rem);
}
main#contact-page ul.contact-links a {
  text-decoration: none;
}
@media (hover: hover) and (pointer: fine) {
  main#contact-page ul.contact-links a:hover {
    color: var(--primary-400);
  }
}
main#contact-page ul.contact-links svg {
  width: 1.5rem;
}
@media (hover: hover) and (pointer: fine) {
  main#contact-page ul.contact-links svg:hover path {
    fill: var(--primary-400);
  }
}

/*# sourceMappingURL=main.css.map */
