:root {
  --deranged-text: #eaf1f7;
  --deranged-light-background: #ecf0f1;
  --deranged-light-blue: #455d75;
  --deranged-dark-blue: #2c3e50;
  --deranged-dark-link: #0e3661; }

.hello-section {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
  background-color: #2c3e50;
  background-image: linear-gradient(40deg, #2c3e50 30%, #455d75 90%);
  color: #eaf1f7;
  position: relative;
  min-height: calc(100vh + 63px);
  height: 650px;
  padding: 30px 100px 100px; }
  @media (max-width: 1000px) {
    .hello-section {
      padding: 100px 50px; } }
  @media (max-width: 600px) {
    .hello-section {
      padding: 100px 30px;
      font-size: 0.95em;
      height: auto; } }
  .hello-section .logo {
    color: inherit;
    text-decoration: inherit;
    font-weight: 200;
    position: relative;
    z-index: 11;
    font-size: 1.3em; }
  .hello-section .big-greeting {
    text-align: left;
    font-size: 2.5em; }
    @media (max-width: 1200px) {
      .hello-section .big-greeting {
        font-size: 2em; } }
    @media (max-width: 900px) {
      .hello-section .big-greeting {
        font-size: 1.6em; } }
    .hello-section .big-greeting h1 {
      font-size: 2em;
      margin: 0; }
      @media (max-width: 400px) {
        .hello-section .big-greeting h1 {
          margin: 15px 0; } }
    .hello-section .big-greeting h2 {
      font-size: 1.3em;
      margin: 0; }
      @media (max-width: 400px) {
        .hello-section .big-greeting h2 {
          margin: 0 0 15px; } }
  .hello-section .quick-intro {
    text-align: left;
    line-height: 150%;
    position: relative;
    max-width: 892.5px;
    font-size: 27.5px;
    font-size: 1.05em;
    max-width: 40%; }
    @media (min-width: 2250px) {
      .hello-section .quick-intro {
        font-size: 1.3em; } }
    @media (max-width: 1300px) {
      .hello-section .quick-intro {
        max-width: 500px; } }
    @media (max-width: 400px) {
      .hello-section .quick-intro {
        margin-bottom: 25px; } }
    .hello-section .quick-intro .quick-intro-icon {
      position: absolute;
      left: -1.5em;
      top: 0;
      -webkit-user-select: none;
      -moz-user-select: none;
      -ms-user-select: none;
      user-select: none; }
  .hello-section .more-button {
    background-color: transparent;
    background-image: url("/img/expand_more_white.png");
    background-size: cover;
    position: absolute;
    border: none;
    cursor: pointer;
    bottom: 100px;
    right: 100px;
    height: 48px;
    width: 48px;
    animation: upanddown 2.5s linear infinite alternate; }
    @media (max-width: 1400px) {
      .hello-section .more-button {
        bottom: 100px;
        right: 100px;
        height: 48px;
        width: 48px; } }
    @media (max-width: 1000px) {
      .hello-section .more-button {
        right: 50px; } }
    @media (max-width: 600px) {
      .hello-section .more-button {
        right: 30px; } }
  @media screen and (max-width: 768px) {
    .hello-section .big-greeting {
      font-size: 1.2em; }
    .hello-section .more-button {
      bottom: 30px;
      right: 30px; } }

@keyframes upanddown {
  from {
    transform: translateY(0); }
  to {
    transform: translateY(-18px); } }
.differentiation-section {
  display: grid;
  background: #2c3e50;
  background-image: linear-gradient(-220deg, #2c3e50 0%, #2c3e50 200px, #ecf0f1 201px, #ecf0f1 100%);
  grid-template-rows: repeat(11, 1fr);
  grid-template-columns: repeat(5, 20vw);
  width: 100%;
  overflow-x: hidden;
  padding: 56.25px 0;
  margin: -56.25px 0; }
  @media (max-width: 2500px) {
    .differentiation-section {
      padding: 32px 0;
      margin: -32px 0; } }
  .differentiation-section .point-of-devops {
    grid-column: 2 / 6;
    grid-row: 1 / 4;
    z-index: 1; }
  .differentiation-section .point-of-counsel {
    grid-column: 1 / 5;
    grid-row: 5 / 8;
    z-index: 1; }
  .differentiation-section .point-of-play {
    grid-column: 2 / 6;
    grid-row: 9 / 12;
    z-index: 1; }
  .differentiation-section .image-of-differentiation {
    position: relative;
    overflow: hidden; }
    .differentiation-section .image-of-differentiation:before {
      position: absolute;
      content: '';
      top: -2px;
      left: -100%;
      right: -100%;
      bottom: -2px;
      opacity: 0.5;
      filter: blur(1px);
      background-size: cover;
      background-position: center;
      z-index: 1;
      transition: opacity 2s, filter 2s; }
    .differentiation-section .image-of-differentiation:hover:before {
      filter: blur(0);
      opacity: 0.9; }
  .differentiation-section .image-of-devops {
    grid-column: 2 / 6;
    grid-row: 1 / 5;
    background: #8d7f4e;
    transform: skewX(-45deg) translateX(80vw);
    transform-origin: top center; }
  .differentiation-section .image-of-devops:before {
    transform: skew(45deg);
    background-image: url("/img/image-of-devops.jpg"); }
  .differentiation-section .image-of-counsel {
    grid-column: 2 / 6;
    grid-row: 1 / 5;
    background: #4e8d7b;
    transform: skewX(-45deg);
    transform-origin: top center; }
  .differentiation-section .image-of-counsel:before {
    transform: skew(45deg);
    background-image: url("/img/image-of-counsel.jpg"); }
  .differentiation-section .image-of-play {
    grid-column: 1 / 5;
    grid-row: 6 / 10;
    background: #4e748d;
    transform: skewX(45deg);
    transform-origin: top center; }
  .differentiation-section .image-of-play:before {
    transform: skew(-45deg);
    background-image: url("/img/image-of-play.jpg"); }
  .differentiation-section .image-of-extra {
    grid-column: 1 / 5;
    grid-row: 6 / 10;
    background: #8d674e;
    transform: skewX(45deg) translateX(-80vw);
    transform-origin: top center; }
  .differentiation-section .image-of-extra:before {
    transform: skew(-45deg);
    background-image: url("/img/image-of-extra.jpg"); }
  .differentiation-section .point-of-differentiation {
    background: white;
    padding: 0 15px 15px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.4); }
    .differentiation-section .point-of-differentiation h1 {
      font-weight: 900;
      font-size: 2.1em;
      margin: 0;
      margin-top: 0.25rem; }
    .differentiation-section .point-of-differentiation p {
      text-align: left;
      line-height: 1.5; }
  .differentiation-section .point-of-differentiation__icon {
    background-color: rgba(7, 13, 20, 0.9);
    background-image: linear-gradient(45deg, rgba(7, 13, 20, 0.9), rgba(30, 49, 73, 0.85));
    border-radius: 100%;
    object-fit: contain;
    box-sizing: border-box;
    height: 112.5px;
    width: 112.5px;
    padding: 17.85px;
    box-shadow: 0 0 3.57px rgba(0, 0, 0, 0.3), 0 3.57px 7.14px rgba(0, 0, 0, 0.5);
    margin-top: -53.58px; }
    @media (max-width: 2500px) {
      .differentiation-section .point-of-differentiation__icon {
        height: 63px;
        width: 63px;
        padding: 10px;
        box-shadow: 0 0 2px rgba(0, 0, 0, 0.3), 0 2px 4px rgba(0, 0, 0, 0.5);
        margin-top: -30px; } }

@media (min-width: 600px) {
  .differentiation-section {
    grid-template-rows: repeat(11, 20vw);
    background-image: linear-gradient(-220deg, #2c3e50 0%, #2c3e50 30.09%, #ecf0f1 30.1%, #ecf0f1 100%); }
    .differentiation-section .image-of-differentiation:before {
      left: -50%;
      right: -50%; }
    .differentiation-section .point-of-differentiation {
      padding: 0 20px 20px; }
    .differentiation-section .point-of-devops {
      grid-column: 2 / 6;
      grid-row: 1 / 4; }
    .differentiation-section .point-of-counsel {
      grid-column: 1 / 5;
      grid-row: 5 / 8; }
    .differentiation-section .point-of-play {
      grid-column: 2 / 6;
      grid-row: 9 / 12; }
    .differentiation-section .image-of-devops {
      grid-column: 1 / 5;
      grid-row: 2 / 6;
      transform: skewX(-45deg);
      transform-origin: bottom center; }
    .differentiation-section .image-of-counsel {
      grid-column: 2 / 6;
      grid-row: 1 / 5; }
    .differentiation-section .image-of-play {
      grid-column: 1 / 5;
      grid-row: 6 / 10; }
    .differentiation-section .image-of-extra {
      grid-column: 2 / 6;
      grid-row: 8 / 11;
      transform: skewX(45deg);
      transform-origin: bottom center; } }
@media (min-width: 800px) {
  .differentiation-section {
    grid-template-rows: repeat(8, 20vw); }
    .differentiation-section .point-of-devops {
      grid-column: 2 / 6;
      grid-row: 1 / 3; }
    .differentiation-section .point-of-counsel {
      grid-column: 1 / 5;
      grid-row: 4 / 6; }
    .differentiation-section .point-of-play {
      grid-column: 2 / 6;
      grid-row: 7 / 9; }
    .differentiation-section .image-of-devops {
      grid-column: 1 / 4;
      grid-row: 2 / 5;
      transform: skewX(-45deg); }
    .differentiation-section .image-of-devops:before {
      transform: skew(45deg); }
    .differentiation-section .image-of-counsel {
      grid-column: 2 / 5;
      grid-row: 1 / 4;
      transform: skewX(-45deg); }
    .differentiation-section .image-of-counsel:before {
      transform: skew(45deg); }
    .differentiation-section .image-of-play {
      grid-column: 1 / 4;
      grid-row: 4 / 7;
      transform: skewX(45deg); }
    .differentiation-section .image-of-play:before {
      transform: skew(-45deg); }
    .differentiation-section .image-of-extra {
      grid-column: 3 / 6;
      grid-row: 6 / 9;
      transform: skewX(45deg); }
    .differentiation-section .image-of-extra:before {
      transform: skew(-45deg); } }
@media (min-width: 850px) {
  .differentiation-section .point-of-devops {
    grid-column: 3 / 6;
    grid-row: 1 / 3; }
  .differentiation-section .point-of-counsel {
    grid-column: 1 / 4;
    grid-row: 4 / 6; }
  .differentiation-section .point-of-play {
    grid-column: 3 / 6;
    grid-row: 7 / 9; } }
@media (min-width: 1000px) {
  .differentiation-section .point-of-devops {
    grid-column: 4 / 6;
    grid-row: 1 / 3; }
  .differentiation-section .point-of-counsel {
    grid-column: 1 / 3;
    grid-row: 4 / 6; }
  .differentiation-section .point-of-play {
    grid-column: 4 / 6;
    grid-row: 7 / 9; } }
@media (min-width: 1200px) {
  .differentiation-section {
    grid-template-rows: repeat(8, 14.2857vw);
    grid-template-columns: repeat(7, 14.2857vw); }
    .differentiation-section .image-of-devops {
      grid-column: 5 / 8;
      grid-row: 3 / 6;
      transform-origin: top center; }
    .differentiation-section .image-of-counsel {
      grid-column: 1 / 4;
      grid-row: 1 / 4;
      transform-origin: bottom center; }
    .differentiation-section .image-of-play {
      grid-column: 4 / 7;
      grid-row: 4 / 7;
      transform-origin: bottom center; }
    .differentiation-section .image-of-extra {
      grid-column: 3 / 6;
      grid-row: 6 / 9;
      transform-origin: bottom center; }
    .differentiation-section .point-of-devops {
      grid-column: 5 / 8;
      grid-row: 1 / 3;
      z-index: 1; }
    .differentiation-section .point-of-counsel {
      grid-column: 1 / 4;
      grid-row: 4 / 6;
      z-index: 1; }
    .differentiation-section .point-of-play {
      grid-column: 4 / 7;
      grid-row: 7 / 9;
      z-index: 1; } }
@media (min-width: 1325px) {
  .differentiation-section .point-of-differentiation {
    font-size: 1.1em; } }
@media (min-width: 1600px) {
  .differentiation-section {
    grid-template-rows: repeat(8, 8.3333vw);
    grid-template-columns: repeat(12, 8.3333vw); }
    .differentiation-section .point-of-differentiation {
      font-size: 1.0em; }
    .differentiation-section .image-of-counsel {
      grid-column: 1 / 5;
      grid-row: 1 / 6;
      transform-origin: bottom center;
      transform: skewX(-45deg);
      z-index: 3; }
    .differentiation-section .image-of-devops {
      grid-column: 5 / 9;
      grid-row: 1 / 6;
      transform: skewX(-45deg);
      transform-origin: bottom center; }
    .differentiation-section .image-of-play {
      grid-column: 4 / 8;
      grid-row: 4 / 8;
      transform: skewX(45deg);
      transform-origin: top center;
      z-index: 2; }
    .differentiation-section .image-of-extra {
      grid-column: 5 / 9;
      grid-row: 5 / 10;
      transform: skewX(45deg);
      transform-origin: bottom center;
      z-index: 3; }
    .differentiation-section .point-of-devops {
      grid-column: 3 / 7;
      grid-row: 1 / 4;
      z-index: 3; }
    .differentiation-section .point-of-counsel {
      grid-column: 1 / 5;
      grid-row: 5 / 8;
      z-index: 3; }
    .differentiation-section .point-of-play {
      grid-column: 9 / 13;
      grid-row: 6 / 9;
      z-index: 3; } }
@media (min-width: 1900px) {
  .differentiation-section .point-of-differentiation {
    font-size: 1.1em; } }
@media (min-width: 2000px) {
  .differentiation-section .point-of-differentiation {
    font-size: 1.2em; } }
@media (min-width: 2150px) {
  .differentiation-section .point-of-differentiation {
    font-size: 1.0em; }
  .differentiation-section .point-of-devops {
    grid-row: 2 / 4; }
  .differentiation-section .point-of-counsel {
    grid-row: 5 / 7; }
  .differentiation-section .point-of-play {
    grid-row: 6 / 8; } }
@media (min-width: 2400px) {
  .differentiation-section .point-of-differentiation {
    font-size: 1.1em; } }
@media (min-width: 2575px) {
  .differentiation-section {
    grid-template-rows: repeat(8, 214.57px);
    grid-template-columns: repeat(12, 214.57px); }
    .differentiation-section .point-of-differentiation {
      font-size: 1.0em; }
    .differentiation-section .point-of-devops {
      grid-column: 4 / 7;
      grid-row: 2 / 4;
      z-index: 3; }
    .differentiation-section .point-of-counsel {
      grid-column: 1 / 4;
      grid-row: 5 / 7;
      z-index: 3; }
    .differentiation-section .point-of-play {
      grid-column: 9 / 12;
      grid-row: 6 / 8;
      z-index: 3; } }
.spacedark {
  background-color: #070d14;
  background-image: linear-gradient(200deg, #070d14 50%, #2c3e50);
  min-height: 300px; }
  .spacedark--alternate {
    background-image: linear-gradient(20deg, #070d14 50%, #2c3e50); }

.products {
  background-color: #2c3e50;
  background-image: linear-gradient(315deg, #2c3e50 15%, #455d75 95%);
  color: #ecf0f1;
  padding: 100px;
  padding-top: 175px;
  position: relative;
  z-index: 0;
  overflow: hidden; }
  @media (max-width: 767px) {
    .products {
      padding: 3em 1.5em;
      padding-top: 100px;
      overflow: hidden; } }
  .products:before, .products:after {
    content: '';
    position: absolute;
    top: 0;
    left: 50%;
    width: 100vw;
    height: 100vw;
    background-color: #ecf0f1;
    transform: rotate(170deg);
    transform-origin: top left; }
  .products:after {
    transform: rotate(280deg); }

.products__title {
  font-size: 3em; }
  @media (max-width: 767px) {
    .products__title {
      font-size: 2.5em; } }

.segment {
  display: flex;
  flex-direction: column;
  position: relative;
  max-width: 2000px;
  width: 100%;
  text-align: start;
  margin: 3em auto; }
  @media (max-width: 767px) {
    .segment {
      margin: 5em 0; } }

.segment__item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-self: start;
  max-width: 600px;
  width: 100%;
  padding: 1.8em 0 0 1.8em;
  z-index: 1;
  line-height: 1.6em; }
  @media (max-width: 539px) {
    .segment__item {
      padding: 1em 0 0; } }
  .segment__item:after {
    content: "";
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0%;
    left: 0%;
    transform: skew(8deg);
    z-index: -1; }

.segment__item--problem:after {
  background-image: linear-gradient(330deg, transparent 70%, #572944 100%); }

.segment__item--solution {
  justify-content: end;
  align-self: end;
  padding-top: 0; }
  @media (min-width: 768px) {
    .segment__item--solution {
      padding: 0 1.8em 1.8em 0; } }
  .segment__item--solution:after {
    background-image: linear-gradient(150deg, transparent 70%, #295737 100%); }

.segment__cta {
  color: inherit;
  text-decoration: rgba(236, 240, 241, 0.7) wavy underline;
  margin: 1em 0;
  align-self: flex-end;
  display: none; }

.segment__cta-icon {
  display: inline-block;
  margin-left: 10px;
  transition: 200ms; }
  .segment__cta:hover .segment__cta-icon {
    transform: translatex(5px); }

.segment__quote {
  align-self: center;
  max-width: 700px;
  margin-top: 2em;
  margin-bottom: 3em; }
  @media (max-width: 539px) {
    .segment__quote {
      padding: 0; } }
  .segment__quote .quote-text {
    font-size: 1.2em; }
    @media (max-width: 539px) {
      .segment__quote .quote-text {
        font-size: 1.3em; } }

.segment__icon {
  position: absolute;
  color: #253545;
  font-size: 20em;
  opacity: 0.3;
  user-select: none; }
  @media (max-width: 1150px) {
    .segment__icon {
      display: none; } }

.segment__icon--top {
  top: -0.2em;
  right: 0.3em; }

.segment__icon--bottom {
  top: 1em;
  left: -0.2em; }

.segment__icon--arrow-1 {
  transform: scaleY(-1) rotate(-135deg); }

.segment__icon--arrow-2 {
  transform: scaleY(-1) rotate(-30deg); }

.segment__icon--arrow-3 {
  right: 0.1em;
  transform: rotate(180deg); }

.segment__icon--arrow-4 {
  top: 1.2em;
  left: 0.2em;
  transform: scaleY(-1); }

.segment__icon--arrow-5 {
  transform: scaleY(-1); }

.segment__icon--arrow-6 {
  top: 0.8em;
  left: 0.5em;
  transform: scaleY(-1) rotate(-40deg); }

.certification-section {
  transform: skewY(4deg);
  padding: 12rem 6rem;
  text-align: left; }
  @media (max-width: 1200px) {
    .certification-section {
      padding-top: 6rem;
      padding-bottom: 6rem; } }
  @media (max-width: 539px) {
    .certification-section {
      padding: 4rem 2rem 2rem; } }

.certification-section__content {
  margin: auto;
  max-width: 1800px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
  gap: 4rem; }
  .certification-section__content div {
    max-width: 500px;
    transform: skewY(-4deg); }
  @media screen and (min-width: 539px) {
    .certification-section__content div.square-logo {
      display: grid;
      grid-template-columns: 120px 1fr;
      column-gap: 1.6rem;
      margin-top: 1rem; } }
  @media (max-width: 539px) {
    .certification-section__content {
      row-gap: 1rem;
      grid-template-columns: 1fr; } }

.certification-section__content-logo {
  max-height: 120px;
  max-width: min(340px, 100%);
  margin-bottom: 0.5rem; }
  @media (max-width: 539px) {
    .certification-section__content-logo {
      max-height: 80px;
      transform: scale(0.8);
      transform-origin: left; } }

.who-we-are-section__title {
  font-size: 1.8em;
  font-weight: 200;
  margin: 0; }

.who-we-are-section {
  padding: 0 6rem;
  margin-left: auto;
  margin-right: auto;
  max-width: 1380px;
  display: grid;
  grid-template-columns: 500px 1fr 480px; }
  .who-we-are-section .team-photos {
    display: grid;
    grid-column: 3;
    grid-template-columns: 160px 160px 160px;
    grid-auto-rows: 1fr; }
    .who-we-are-section .team-photos div {
      min-height: 120px; }
    .who-we-are-section .team-photos img {
      object-fit: cover;
      height: 100%;
      width: 100%;
      box-shadow: 0 6px 5px rgba(0, 0, 0, 0.2), 0 4px 3px rgba(0, 0, 0, 0.05);
      transition: all 1s ease; }
  @media screen and (max-width: 1200px) {
    .who-we-are-section {
      padding: 0;
      display: block; }
      .who-we-are-section .who-we-are-content {
        padding: 6rem;
        padding-bottom: 0;
        margin-bottom: 25px;
        max-width: none; }
      .who-we-are-section .team-photos {
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
        grid-auto-rows: 1fr 1fr;
        margin-left: 0; }
        .who-we-are-section .team-photos img {
          box-shadow: none; } }
  @media screen and (max-width: 539px) {
    .who-we-are-section .who-we-are-content {
      padding: 2rem;
      padding-bottom: 0; } }
  @media screen and (max-width: 400px) {
    .who-we-are-section .team-photos {
      grid-template-columns: 1fr 1fr 1fr; } }

.who-we-are-content {
  text-align: left;
  padding-top: 6rem;
  padding-bottom: 6rem;
  max-width: 500px; }
  .who-we-are-content p {
    max-width: 500px;
    line-height: 1.5; }

.content {
  padding: 3rem 1rem;
  text-align: left; }
  @media (min-width: 768px) {
    .content {
      padding: 5rem 2rem; } }
  .content a:not(.content--blue a, a.button) {
    color: #0e3661; }

.content--markdown {
  line-height: 1.6;
  font-size: 1.1rem;
  /*
  8. Avoid text overflows
  */ }
  .content--markdown h2,
  .content--markdown h3,
  .content--markdown h4 {
    margin-bottom: 1rem;
    font-weight: 600;
    line-height: 1.2; }
  .content--markdown p,
  .content--markdown h1,
  .content--markdown h2,
  .content--markdown h3,
  .content--markdown h4,
  .content--markdown h5,
  .content--markdown h6 {
    word-wrap: break-word;
    hyphens: auto;
    word-break: break-word; }
  .content--markdown h2 {
    font-size: 1.6rem; }

.content--blue {
  color: #eaf1f7;
  background-color: #2c3e50;
  background-image: linear-gradient(235deg, #2c3e50 30%, #455d75 90%); }
  .content--blue figcaption {
    color: #eaf1f7; }

.content__container {
  max-width: 900px;
  margin: auto; }

.content__container:has(.request-contact--standalone) {
  position: relative; }

.content__container--wide {
  max-width: 1200px; }
