@font-face {
  font-family: Zenkakugothicantique;
  src: url('../fonts/ZenKakuGothicAntique-Bold.ttf') format("truetype");
  font-weight: 700;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: Montserrat Variablefont Wght;
  src: url('../fonts/Montserrat-VariableFont_wght.ttf') format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}

@font-face {
  font-family: Robotoslab Variablefont Wght;
  src: url('../fonts/RobotoSlab-VariableFont_wght.ttf') format("truetype");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --platinum: #f4f9fb;
  --darkgreen: #01384b;
  --golden: #dca748;
  --blueslate: #5a6978;
  --aqua: #139ca8;
  --goldenhighlight: #fb0;
  --aquahighlight: #00eaff;
  --_sizes---hero-vid-width: 50vw;
  --_sizes---16-9: calc((50vw * 16) / 9);
  --_sizes---stck-hght: 4em;
}

body {
  background-color: var(--platinum);
  color: var(--darkgreen);
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.5;
}

h2 {
  margin-top: 20px;
  margin-bottom: 10px;
}

h3 {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 24px;
  font-weight: 700;
}

p {
  margin-bottom: 1em;
  font-size: 1em;
}

a {
  text-decoration: underline;
}

ol {
  margin-top: 0;
  margin-bottom: 10px;
  padding-left: 40px;
}

.txt-reg h2 {
  letter-spacing: -.02em;
  margin-top: 1em;
  margin-bottom: .5em;
  font-family: Zenkakugothicantique, Arial, sans-serif;
  font-size: 3em;
  font-weight: 900;
  line-height: 1.25;
}

.txt-reg p {
  letter-spacing: .01em;
  margin-bottom: 1.5em;
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-weight: 400;
  line-height: 1.8;
}

.txt-reg h3 {
  margin-top: 0;
  margin-bottom: .5em;
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.6;
}

.txt-reg ul {
  border-top: 1px solid var(--golden);
  margin-top: 2em;
  margin-bottom: 2em;
  padding-left: 0;
  font-weight: 400;
  list-style-type: none;
}

.txt-reg li {
  border-bottom: 1px solid var(--golden);
  padding: .65em;
}

.txt-reg ol {
  list-style-type: decimal;
}

.areteon {
  background-color: var(--platinum);
  color: var(--darkgreen);
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.6;
}

.sct {
  z-index: 100;
  background-color: var(--platinum);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding: 4em;
  position: relative;
  overflow: hidden;
}

.sct.hero {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  min-height: 100svh;
  margin-bottom: 8em;
  display: flex;
}

.sct.dark {
  background-color: var(--darkgreen);
  color: var(--platinum);
  margin-bottom: 8em;
  margin-right: 4em;
  padding-bottom: 0;
}

.sct.vis {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  max-width: 1640px;
  padding: 12em 0 13em;
  display: flex;
}

.sct.extra {
  margin-top: 8em;
}

.sct.footer {
  background-color: var(--platinum);
  min-height: 60svh;
}

.sct.legal {
  z-index: 500;
  grid-column-gap: 4em;
  grid-row-gap: 4em;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  background-color: #f4f9fbbf;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  inset: 0% 0% auto;
}

.txt-hero {
  z-index: 20;
  text-align: center;
  letter-spacing: -.02em;
  align-self: center;
  margin-top: 0;
  margin-bottom: 0;
  font-family: Zenkakugothicantique, Arial, sans-serif;
  font-size: 1.6em;
  font-weight: 700;
  line-height: 1.25;
}

.img-hero-logo {
  width: 15em;
  display: block;
}

.wrp {
  position: sticky;
}

.bx-team {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  color: var(--platinum);
  flex-flow: row;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
  position: relative;
  overflow: hidden;
}

.crd-team {
  z-index: 50;
  flex-flow: column;
  flex: 0 50%;
  grid-template-rows: auto;
  grid-template-columns: 20em auto;
  grid-auto-columns: 1fr;
  display: flex;
  position: relative;
}

.img-team {
  aspect-ratio: 1;
  object-fit: cover;
  flex: none;
  align-self: flex-start;
  width: 100%;
}

.bx-crd-profile {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.bx-team-detail {
  background-color: var(--darkgreen);
  flex-flow: column;
  flex: 1;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  padding: 2em 2em 6em;
  display: flex;
}

.txt-sct-head {
  z-index: 50;
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 1em;
  font-family: Zenkakugothicantique, Arial, sans-serif;
  font-size: 5.5em;
  font-weight: 700;
  line-height: 1;
  position: relative;
}

.txt-sct-head.small {
  margin-bottom: .5em;
  font-size: 4.2em;
}

.bx-dbcol {
  z-index: 20;
  grid-column-gap: 6em;
  grid-row-gap: 6em;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
  position: relative;
}

.bx-col {
  flex-flow: column;
  align-items: flex-start;
  width: 50%;
  position: relative;
}

.bx-col.footer {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: space-between;
  align-items: stretch;
  display: flex;
}

.txt-sct-intro {
  margin-bottom: 1em;
  font-family: Montserrat Variablefont Wght, Verdana, sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  line-height: 1.6;
}

.txt-sct-intro.work {
  margin-bottom: 4em;
  font-size: 1.2em;
}

.bx-sticky-track {
  grid-column-gap: 0em;
  grid-row-gap: 0em;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: 100%;
  display: flex;
  position: relative;
}

.bx-sticky-item {
  background-color: var(--platinum);
  transition: width .2s;
  position: relative;
  overflow: hidden;
}

.txt-serv-head {
  color: var(--darkgreen);
  margin-top: 0;
  margin-bottom: 0;
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-size: 1.4em;
  font-weight: 400;
  line-height: 1.5;
}

.txt-serv-intro {
  color: var(--darkgreen);
  margin-bottom: 1.5em;
  font-family: Montserrat Variablefont Wght, Verdana, sans-serif;
  font-size: 1em;
  font-weight: 600;
  line-height: 1.6;
}

.txt-serv-p {
  color: var(--blueslate);
  letter-spacing: .01em;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.6;
}

.bx-serv-head {
  color: var(--platinum);
  justify-content: flex-start;
  align-items: flex-start;
  padding-top: 2em;
  padding-left: 6em;
  padding-right: 3em;
  display: flex;
}

.cnt-serv-headvis {
  border-bottom: 1px solid var(--platinum);
  background-color: var(--aqua);
  color: var(--platinum);
  text-align: right;
  letter-spacing: .065em;
  align-self: stretch;
  width: 4em;
  height: 100%;
  padding: .55em .75em;
  font-size: .85em;
  font-weight: 200;
  transition: background-color .4s cubic-bezier(.215, .61, .355, 1);
  position: absolute;
  inset: 0% auto auto 0%;
}

.cnt-serv-headvis.last {
  border-bottom-style: none;
  border-bottom-width: 0;
}

.bx-serv-cnt {
  padding: .5em 3em 2em 6em;
  overflow: hidden;
}

.vis-sct-ai {
  z-index: 0;
  background-color: var(--golden);
  opacity: 1;
  justify-content: flex-start;
  align-items: flex-end;
  margin-bottom: 1em;
  padding: 4em;
  display: flex;
  position: absolute;
  inset: -2em 0 -4em 50%;
  overflow: hidden;
}

.vis-sct-ai.footer {
  background-color: var(--golden);
  color: var(--platinum);
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 0;
  position: absolute;
  inset: 0%;
}

.bx-workstp {
  border-top-style: solid;
  border-top-width: 1px;
  border-top-color: var(--platinum);
  border-left-style: solid;
  border-left-width: 1px;
  border-left-color: var(--platinum);
  background-color: var(--golden);
  color: var(--platinum);
  background-image: none;
  flex-flow: column;
  flex: 1;
  justify-content: flex-start;
  align-items: flex-start;
  max-width: 100cqw;
  padding: 9em 4em 2em 2em;
  display: flex;
  position: relative;
  overflow: hidden;
}

.cnt-work-vis {
  font-family: Zenkakugothicantique, Arial, sans-serif;
  font-size: 6em;
  font-weight: 700;
  position: absolute;
  inset: -.1em auto auto .3em;
}

.bx-vertscr-wrp {
  flex-flow: wrap;
  align-content: stretch;
  margin-top: 4em;
  display: flex;
  container-type: inline-size;
}

.bx-vertscr-list {
  flex-flow: row;
  flex: 1;
  justify-content: flex-start;
  display: flex;
}

.vis-logo-fx {
  z-index: 15;
  aspect-ratio: 1;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
  overflow: hidden;
}

.polygon-2 {
  transform-origin: 50%;
  transform-style: preserve-3d;
  transform: translate3d(0, 0, -115px);
}

.cnt-logo {
  z-index: 30;
  aspect-ratio: 1;
  perspective: 1200px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 66em;
  display: flex;
  position: absolute;
  transform: translate(0);
}

.box-logo {
  z-index: 25;
  aspect-ratio: 1 / 1.15;
  transform-style: preserve-3d;
  justify-content: center;
  align-items: center;
  width: 28%;
  transition: none;
  display: block;
  position: absolute;
}

.box-logo:active {
  transform: none;
}

.polygon {
  transform-style: preserve-3d;
  transform: translate3d(0, 0, 201px);
}

.areteon-logo {
  width: 100%;
  position: absolute;
}

.vis-clickpulse {
  z-index: 8;
  background-image: radial-gradient(circle farthest-side at 50% 50%, #dea71d00 47%, var(--golden) 85%, var(--goldenhighlight) 95%, #fb00);
  opacity: 1;
  mix-blend-mode: normal;
  transition: none;
  position: absolute;
  inset: 0%;
  transform: scale(.25);
}

.vis-chip-mask {
  z-index: 4;
  pointer-events: none;
  flex: 1;
  position: absolute;
  inset: 0%;
}

.vis-logo-blur {
  z-index: 20;
  aspect-ratio: 1 / 1.05;
  background-color: var(--platinum);
  filter: blur(1em);
  border-radius: 15em;
  width: 35%;
  display: block;
  position: absolute;
}

.cnt {
  z-index: 50;
  flex-flow: column;
  max-width: 1900px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}

.cnt.hero {
  z-index: 200;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  height: 9em;
  position: absolute;
  inset: auto 0% 0%;
  overflow: hidden;
}

.cnt.narrow {
  max-width: 1160px;
}

.cnt.logo {
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  pointer-events: none;
  border-bottom-right-radius: 1em;
  border-bottom-left-radius: 1em;
  flex-flow: column;
  justify-content: flex-end;
  align-items: center;
  padding: 4em 2em 2em;
  display: flex;
  position: absolute;
  inset: 0% auto auto;
}

.cnt.legal {
  z-index: 200;
  flex-flow: row;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.box-hero-txt {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  grid-template-rows: minmax(auto, 1fr) 8em;
  grid-template-columns: minmax(200px, 1fr) 16em;
  grid-auto-columns: 1fr;
  grid-auto-flow: row dense;
  place-content: stretch flex-start;
  align-self: center;
  align-items: stretch;
  width: 100%;
  margin-top: .5em;
  display: flex;
}

.cnt-trnst {
  aspect-ratio: 3;
  flex-flow: row;
  justify-content: center;
  align-items: center;
  width: 66em;
  margin-left: auto;
  margin-right: auto;
  display: block;
  position: absolute;
}

.cnt-trnst.left {
  z-index: 10;
  align-self: flex-start;
  top: -5%;
  right: 60%;
}

.vis-trnst-fx {
  z-index: 6;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0%;
  overflow: hidden;
}

.vis-chipbg {
  z-index: 6;
  background-color: #5a697826;
  background-image: radial-gradient(circle farthest-side at 50% 50%, #f4f9fb00 45%, var(--platinum) 50%, var(--platinum) 55%, var(--aqua) 90%, #139ca800);
  filter: blur(20px);
  mix-blend-mode: hard-light;
  transform-style: preserve-3d;
  border-radius: 15em;
  align-self: stretch;
  position: absolute;
  inset: 0%;
  transform: scale3d(2.6, 2, 1);
}

.vis-trnst {
  background-image: linear-gradient(180deg, #5a697826 50%, var(--platinum) 65%, var(--platinum) 75%, var(--golden) 85%, var(--goldenhighlight) 95%, #fff0);
  mix-blend-mode: hard-light;
  height: 200%;
  position: absolute;
  inset: 0%;
  transform: translate(0);
}

.bx {
  z-index: 50;
  position: relative;
}

.bx._75 {
  width: 75%;
}

.bx-sticky {
  z-index: 30;
  float: right;
  max-width: 66.6667%;
  margin-bottom: 4em;
  position: relative;
}

.bx-sticky.dark {
  margin-bottom: 0;
  padding-right: 4em;
}

.mrgn-vert {
  clear: both;
  height: 6em;
  transition: height .4s cubic-bezier(.165, .84, .44, 1);
}

.bx-vis-pulse {
  z-index: 0;
  position: absolute;
  inset: 2px;
  overflow: hidden;
}

.vis-lstg {
  background-color: var(--aqua);
  opacity: 1;
  mix-blend-mode: normal;
  background-image: linear-gradient(#139ca899, #139ca899), url('../images/skyline.jpg');
  background-position: 0 0, 100%;
  background-repeat: repeat, no-repeat;
  background-size: auto, cover;
  background-attachment: scroll, fixed;
  width: calc(50% - 4em);
  max-width: 1900px;
  position: absolute;
  inset: 0 auto 4em;
}

.vis-lstg-grdt {
  background-image: linear-gradient(90deg, var(--golden) 23%, #fff0);
  opacity: 1;
  mix-blend-mode: hard-light;
  position: absolute;
  inset: 0% 20% 0% 0%;
}

.txt-stp-intro {
  margin-bottom: .5em;
  font-family: Montserrat Variablefont Wght, Verdana, sans-serif;
  font-size: 1.2em;
  font-weight: 600;
  line-height: 1.6;
}

.txt-stp-p {
  letter-spacing: .01em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.8;
}

.cnt-prmt-vis {
  z-index: 60;
  background-color: var(--golden);
  color: var(--platinum);
  text-align: left;
  letter-spacing: .075em;
  align-self: stretch;
  width: 0%;
  height: 100%;
  font-size: .75em;
  font-style: italic;
  font-weight: 200;
  line-height: 1.8;
  transition: none;
  position: absolute;
  inset: auto auto 0 0;
  overflow: hidden;
}

.cnt-prmt-vis.left {
  left: auto;
  right: 0;
}

.txt-prmt-vis {
  margin: .55em 1em;
}

.cnt-prmt-sct-vis {
  z-index: 200;
  background-color: var(--platinum);
  color: var(--blueslate);
  text-align: left;
  letter-spacing: .075em;
  align-self: stretch;
  width: 0%;
  height: 100%;
  font-size: .75em;
  font-style: italic;
  font-weight: 200;
  line-height: 1.8;
  transition: none;
  position: absolute;
  inset: auto auto 0 0;
  overflow: hidden;
}

.vis-pulse {
  z-index: 8;
  background-image: radial-gradient(circle farthest-side at 50% 50%, #dea71d00 50%, var(--aquahighlight) 55%, var(--aqua) 57%, #139ca800 89%);
  opacity: 1;
  filter: none;
  mix-blend-mode: hard-light;
  border-radius: 20em;
  position: absolute;
  inset: 0%;
  transform: scale(.2);
}

.vis-pulse.out {
  background-image: radial-gradient(circle farthest-side at 50% 50%, #dea71d00 50%, var(--golden) 85%, var(--goldenhighlight) 95%, #dea71d00);
  transform: scale(.2);
}

.btn {
  background-color: var(--darkgreen);
  color: var(--platinum);
  letter-spacing: .1em;
  text-transform: uppercase;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding: 1em 1.75em;
  font-family: Montserrat Variablefont Wght, Verdana, sans-serif;
  font-size: 1.1em;
  line-height: 1;
  text-decoration: none;
  display: flex;
  position: relative;
}

.btn.career {
  text-align: center;
  width: 100%;
}

.btn.linkedin {
  background-color: var(--golden);
  padding-right: 5em;
  position: absolute;
  inset: auto 0% 0% auto;
}

.btn.langswitch {
  border: 1px solid var(--golden);
  background-color: var(--platinum);
  color: var(--golden);
  padding-left: 1em;
  padding-right: 1em;
}

.txt-slogan {
  color: var(--platinum);
  letter-spacing: -.02em;
  font-family: Zenkakugothicantique, Arial, sans-serif;
  font-size: 3em;
  font-weight: 700;
  line-height: 1.1;
}

.txt-slogan.footer {
  font-size: 1.6em;
}

.div-block-15 {
  background-color: var(--platinum);
  opacity: 1;
  width: 4em;
  position: absolute;
  top: 0%;
  bottom: 0%;
  right: 0%;
}

.vis-contact {
  background-color: #fff;
  flex-flow: column;
  justify-content: space-between;
  height: 100%;
  padding: 4em;
  display: flex;
}

.txt-team-head {
  margin-top: 0;
  margin-bottom: .1em;
  font-family: Montserrat Variablefont Wght, Verdana, sans-serif;
  font-size: 1.4em;
  font-weight: 400;
}

.txt-team-desc {
  margin-bottom: 0;
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-weight: 400;
}

.txt-team-p {
  letter-spacing: .01em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: .9em;
  font-weight: 400;
  line-height: 1.8;
}

.vis-btn-linkedin {
  z-index: 10;
  aspect-ratio: 1;
  background-color: var(--aqua);
  justify-content: center;
  align-items: center;
  height: 100%;
  padding-left: 1.15em;
  padding-right: 1.15em;
  display: flex;
  position: absolute;
  inset: 0% 0% 0% auto;
}

.code-embed {
  flex: 1;
}

.bx-crd-profile-cnt {
  background-color: var(--darkgreen);
  padding: 3em 2em 2em;
}

.cnt-nav {
  z-index: 100;
  grid-column-gap: 1px;
  grid-row-gap: 1px;
  flex-flow: row;
  justify-content: space-between;
  padding: 4em;
  display: flex;
  position: absolute;
  inset: auto 0% 0% auto;
}

.cnt-nav.legal {
  padding: 0;
  position: relative;
  inset: auto;
}

.txt-footerlink {
  color: var(--darkgreen);
  margin-bottom: .5em;
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-weight: 400;
  text-decoration: none;
  display: block;
}

.img-footer-logo {
  width: 50%;
}

.txt-legal {
  grid-column-gap: 1em;
  grid-row-gap: 1em;
  flex-flow: column;
}

.txt-legal h2 {
  letter-spacing: -.03em;
  margin-top: 1.5em;
  margin-bottom: .5em;
  font-family: Zenkakugothicantique, Arial, sans-serif;
  font-size: 3em;
  font-weight: 700;
  line-height: 1.25;
}

.txt-legal p {
  letter-spacing: .015em;
  margin-top: .5em;
  margin-bottom: .5em;
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-size: 1em;
  font-weight: 400;
  line-height: 1.6;
}

.txt-legal h3 {
  margin-top: 1.5em;
  margin-bottom: .5em;
  font-family: Robotoslab Variablefont Wght, Georgia, sans-serif;
  font-size: 1.2em;
  font-weight: 500;
  line-height: 1.5;
}

.txt-legal ul {
  margin-top: 1em;
  margin-bottom: 1em;
  padding-left: 2em;
  font-size: .9em;
  list-style-type: disc;
  overflow: visible;
}

.txt-legal li {
  margin-bottom: .5em;
  padding: 0;
}

.txt-legal ol {
  list-style-type: decimal;
}

.txt-legal h1 {
  letter-spacing: -.03em;
  margin-top: 0;
  margin-bottom: 1em;
  font-family: Zenkakugothicantique, Arial, sans-serif;
  font-size: 5.5em;
  font-weight: 700;
  line-height: 1;
}

.txt-legal a {
  color: var(--darkgreen);
  text-decoration: none;
}

.bx-footer {
  grid-column-gap: 2em;
  grid-row-gap: 2em;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.vis-button {
  z-index: 2;
  background-color: var(--golden);
  width: 0%;
  position: absolute;
  inset: 0% auto 0% 0%;
}

.vis-button.aqua {
  z-index: 1;
  background-color: var(--aqua);
}

.txt-btn {
  z-index: 50;
  position: relative;
}

.uppercase {
  text-transform: uppercase;
}

@media screen and (max-width: 991px) {
  .sct.hero {
    margin-bottom: 4em;
  }

  .sct.vis {
    margin-bottom: 1em;
    padding-top: 11em;
    padding-bottom: 11em;
  }

  .sct.extra {
    margin-top: 4em;
    padding-bottom: 2em;
  }

  .sct.footer {
    min-height: auto;
  }

  .sct.legal {
    margin-bottom: 0;
  }

  .sct.white {
    background-color: #fff;
  }

  .bx-team {
    grid-column-gap: 1em;
    grid-row-gap: 1em;
    flex-flow: row;
  }

  .crd-team {
    flex-flow: column;
    flex: 0 50%;
  }

  .txt-sct-head {
    font-size: 4em;
  }

  .txt-sct-head.small {
    font-size: 3.6em;
  }

  .bx-dbcol {
    grid-column-gap: 0em;
    grid-row-gap: 0em;
    flex-flow: column;
    justify-content: flex-start;
    align-items: stretch;
  }

  .bx-dbcol.footer {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: row;
    justify-content: space-between;
  }

  .bx-col {
    width: auto;
  }

  .bx-col.footer {
    flex: 1;
  }

  .txt-sct-intro {
    font-size: 1.2em;
  }

  .txt-sct-intro.work {
    margin-bottom: 2em;
  }

  .txt-sct-intro.dark {
    padding-right: 4em;
  }

  .vis-sct-ai {
    padding: 5em 3em 3em;
    position: relative;
    inset: auto;
  }

  .vis-sct-ai.footer {
    padding: 2em;
  }

  .bx-workstp {
    border-top-style: solid;
  }

  .bx-vertscr-list {
    flex: 0 auto;
  }

  .cnt-trnst {
    align-self: flex-end;
  }

  .cnt-trnst.left {
    display: none;
    top: -20%;
    right: 0%;
  }

  .cnt-trnst.alt {
    align-self: center;
  }

  .bx._75 {
    width: auto;
  }

  .bx-sticky {
    max-width: none;
  }

  .mrgn-vert {
    height: 4em;
  }

  .vis-lstg {
    width: 50%;
    margin-left: -4em;
  }

  .txt-stp-p {
    line-height: 1.6;
  }

  .txt-slogan {
    font-size: 2.8em;
  }

  .vis-contact.footer {
    padding: 2em;
  }

  .img-footer-logo {
    width: 15em;
    max-width: 70%;
  }

  .txt-legal h1 {
    font-size: 4em;
  }
}

@media screen and (max-width: 767px) {
  .txt-reg p {
    line-height: 1.6;
  }

  .txt-reg h3 {
    font-size: 1em;
  }

  .sct {
    padding: 2em;
  }

  .sct.hero {
    margin-bottom: 2em;
  }

  .sct.dark {
    margin-bottom: 4em;
  }

  .sct.vis {
    margin-bottom: 1em;
    padding-top: 8em;
    padding-bottom: 8em;
  }

  .sct.extra {
    margin-top: 0;
    padding-bottom: 0;
  }

  .img-hero-logo {
    width: 12em;
  }

  .bx-team {
    flex-flow: column;
  }

  .crd-team {
    flex: 0 auto;
  }

  .bx-crd-profile {
    flex: 0 50%;
  }

  .bx-team-detail {
    padding-top: 1em;
    padding-left: 1em;
    padding-right: 1em;
  }

  .txt-sct-head {
    margin-bottom: .5em;
  }

  .bx-dbcol.footer {
    flex-flow: column-reverse;
  }

  .bx-col.footer {
    flex: 0 auto;
    min-height: 12em;
  }

  .txt-sct-intro.dark {
    padding-right: 2em;
  }

  .bx-sticky-item {
    margin-right: -2em;
  }

  .txt-serv-head {
    font-size: 1.3em;
  }

  .bx-serv-head {
    padding-top: 1em;
    padding-left: 4em;
    padding-right: 2em;
  }

  .cnt-serv-headvis {
    width: 3em;
  }

  .bx-serv-cnt {
    padding-left: 4em;
    padding-right: 2em;
  }

  .vis-sct-ai {
    padding: 4em 2em 2em;
  }

  .bx-workstp {
    padding-top: 6em;
    padding-right: 2em;
  }

  .cnt-work-vis {
    font-size: 4em;
    left: .45em;
  }

  .bx-vertscr-wrp {
    margin-top: 2em;
  }

  .bx-vertscr-list {
    flex-flow: column;
  }

  .cnt-logo {
    width: 50em;
  }

  .cnt.legal {
    grid-column-gap: 2em;
    grid-row-gap: 2em;
    flex-flow: column;
    justify-content: space-between;
    align-items: center;
  }

  .box-hero-txt {
    font-size: .8em;
  }

  .cnt-trnst {
    width: 50em;
  }

  .cnt-trnst.left {
    top: 0%;
  }

  .bx-sticky {
    margin-bottom: 2em;
  }

  .bx-sticky.dark {
    padding-right: 2em;
  }

  .mrgn-vert {
    height: 2em;
  }

  .vis-lstg {
    z-index: 5;
    aspect-ratio: 16 / 9;
    background-image: linear-gradient(#139ca899, #139ca899), url('../images/skyline.jpg');
    background-size: auto, cover;
    background-attachment: scroll, scroll;
    width: auto;
    margin-bottom: -2em;
    margin-left: -2em;
    position: relative;
  }

  .div-block-15 {
    width: 2em;
  }

  .vis-contact {
    padding: 2em;
  }

  .txt-team-p {
    line-height: 1.6;
  }

  .bx-crd-profile-cnt {
    padding: 1.5em 1em 1em;
  }

  .cnt-nav {
    padding: 2em;
  }

  .txt-legal h2 {
    font-size: 1.8em;
  }

  .txt-legal p {
    line-height: 1.6;
  }

  .txt-legal h3 {
    font-size: 1em;
  }

  .txt-legal h1 {
    font-size: 2.6em;
  }
}

@media screen and (max-width: 479px) {
  .sct.dark {
    margin-bottom: 3em;
  }

  .sct.vis {
    padding-top: 7em;
    padding-bottom: 7em;
  }

  .txt-sct-head {
    font-size: 3em;
  }

  .txt-sct-head.small {
    font-size: 2.8em;
  }

  .bx-sticky-item {
    margin-right: -2.1em;
  }

  .txt-serv-head {
    font-size: 1.1em;
  }

  .bx-vertscr-wrp {
    margin-top: 0;
  }

  .cnt-logo, .cnt-trnst {
    width: 42em;
  }

  .mrgn-vert {
    height: 0;
  }

  .txt-slogan {
    font-size: 2em;
  }

  .txt-team-p {
    font-size: .95em;
  }

  .txt-legal h2 {
    font-size: 1.4em;
  }

  .txt-legal h1 {
    font-size: 1.8em;
  }

  .bx-footer {
    margin-top: 2em;
  }
}


@font-face {
  font-family: 'Zenkakugothicantique';
  src: url('../fonts/ZenKakuGothicAntique-Bold.ttf') format('truetype');
  font-weight: 700;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Montserrat Variablefont Wght';
  src: url('../fonts/Montserrat-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: block;
}
@font-face {
  font-family: 'Robotoslab Variablefont Wght';
  src: url('../fonts/RobotoSlab-VariableFont_wght.ttf') format('truetype');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}