/*
 * Home page layout. Grid placement, sizes, margins and fluid type sizes are ported from the
 * original Wix Studio page (14-column section grids, same breakpoints).
 */

.hero {
  display: grid;
  height: 926.89px;
  min-height: 107.74vh;
  grid-template-rows: minmax(904.86px,max-content);
  grid-template-columns: repeat(14, 1fr);
}
.hero__title {
  display: flex;
  width: 100%;
  height: max-content;
  margin-top: 247.11px;
  grid-area: 1/5/2/11;
  align-self: start;
  justify-self: end;
  flex-direction: column;
}
.hero__kicker {
  width: 72.23%;
  margin-bottom: 1.61px;
  align-self: center;
  order: 1;
  color: #ffffff;
  font-weight: normal;
  --fs-min: 10;
  --fs-max: 40;
  text-align: center;
}
.hero__line1 {
  width: 72.07%;
  margin-bottom: 0.22px;
  align-self: flex-start;
  order: 2;
  color: #ffffff;
  --fs-min: 20;
  --fs-max: 80;
  text-align: left;
}
.hero__line2 {
  width: 82.15%;
  margin-right: 0.56%;
  align-self: flex-end;
  order: 3;
  color: #ffffff;
  --fs-min: 20;
  --fs-max: 80;
  text-align: right;
}
.about {
  display: grid;
  height: 1145.03px;
  min-height: 1146px;
  grid-template-rows: minmax(1128.88px,max-content);
  grid-template-columns: repeat(14, 1fr);
}
.about__box {
  display: flex;
  width: 97.7%;
  height: max-content;
  margin-top: 70.92px;
  grid-area: 1/3/2/14;
  align-self: start;
  justify-self: end;
  flex-direction: column;
}
.about__heading {
  width: 55.06%;
  margin-bottom: 78.27px;
  align-self: flex-end;
  order: 1;
  color: #ffffff;
  --fs-min: 28;
  --fs-max: 75;
  text-align: right;
}
.about__body {
  display: flex;
  width: 91.16%;
  height: max-content;
  margin-left: -8.84%;
  align-self: center;
  order: 2;
  flex-direction: column;
}
.about__text1 {
  width: 77.62%;
  margin-bottom: 50px;
  align-self: center;
  order: 1;
  color: #ffffff;
  --fs-min: 10;
  --fs-max: 23;
}
.about__dots {
  display: flex;
  width: 5.04%;
  height: max-content;
  margin-bottom: 44px;
  margin-left: -6.32px;
  align-self: center;
  order: 2;
  flex-direction: column;
}
.about__dot--1 {
  width: 100.28%;
  margin-bottom: 30px;
  align-self: flex-start;
  order: 1;
  aspect-ratio: 1 / 1;
}
.about__dot--2 {
  width: 100.28%;
  margin-bottom: 30px;
  align-self: flex-start;
  order: 2;
  aspect-ratio: 1 / 1;
}
.about__dot--3 {
  width: 100.28%;
  align-self: flex-start;
  order: 3;
  aspect-ratio: 1 / 1;
}
.about__text2 {
  width: 77.02%;
  margin-left: -7.56px;
  align-self: center;
  order: 3;
  color: #ffffff;
  --fs-min: 10;
  --fs-max: 23;
}
.solutions {
  display: grid;
  min-height: 2099.07px;
  grid-template-rows: minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.92px,max-content) minmax(149.92px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content) minmax(149.93px,max-content);
  grid-template-columns: repeat(14, 1fr);
}
.solutions__intro {
  display: flex;
  width: 85.78%;
  height: max-content;
  margin-top: -13.3px;
  grid-area: 1/1/6/15;
  align-self: center;
  justify-self: center;
  flex-direction: column;
}
.solutions__heading {
  width: 838.2px;
  margin-right: 1.6%;
  margin-bottom: 170px;
  align-self: flex-end;
  order: 1;
  color: #ffffff;
  --fs-min: 28;
  --fs-max: 75;
  text-align: right;
}
.engine {
  display: flex;
  width: 100%;
  height: max-content;
  align-self: center;
  order: 2;
  flex-direction: column;
}
.engine__logo {
  width: 25.31%;
  margin-bottom: 50px;
  align-self: flex-start;
  order: 1;
  aspect-ratio: 1 / 0.18;
}
.engine__text {
  display: flex;
  width: 35.06%;
  height: max-content;
  align-self: flex-start;
  order: 2;
  flex-direction: column;
}
.engine__p1 {
  width: 95.93%;
  margin-bottom: 20px;
  margin-left: -25.67px;
  align-self: center;
  order: 1;
  color: #ffffff;
  --fs-min: 10;
  --fs-max: 23;
}
.engine__p2 {
  width: 92.66%;
  margin-left: -48.65px;
  align-self: center;
  order: 2;
  color: #ffffff;
  --fs-min: 10;
  --fs-max: 23;
}
.contact {
  display: grid;
  width: 89.71%;
  min-width: 650px;
  min-height: 684.72px;
  grid-area: 10/4/15/12;
  align-self: start;
  justify-self: center;
  grid-template-rows: 1fr;
  grid-template-columns: minmax(0, 1fr);
}
.contact__form {
  display: grid;
  grid-area: 1/1/2/2;
  align-self: stretch;
  justify-self: stretch;
  grid-template-rows: minmax(100px,max-content) minmax(99px,max-content) repeat(4, minmax(100px,max-content));
  grid-template-columns: 1fr 1fr;
}
.contact__title {
  width: 100%;
  grid-area: 1/1/2/3;
  align-self: start;
  justify-self: start;
  color: #ffffff;
  font-family: var(--ff);
  font-weight: bold;
  --fs-min: 10;
  --fs-max: 30;
}
.contact__first {
  width: 100%;
  min-height: 60px;
  grid-area: 2/1/3/2;
  align-self: start;
  justify-self: start;
}
.contact__last {
  width: 100%;
  min-height: 60px;
  grid-area: 2/2/3/3;
  align-self: start;
  justify-self: end;
}
.contact__email {
  width: 99.89%;
  min-height: 60px;
  grid-area: 3/1/4/3;
  align-self: start;
  justify-self: start;
}
.contact__message {
  width: 100%;
  min-height: 80px;
  grid-area: 4/1/5/3;
  align-self: start;
  justify-self: center;
}
.contact__submit {
  width: 140px;
  min-height: 50px;
  grid-area: 5/2/6/3;
  align-self: start;
  justify-self: end;
}
.contact__status {
  width: 100%;
  margin-top: 55px;
  grid-area: 5/1/6/3;
  align-self: start;
  justify-self: center;
  color: #e1bf33;
  font-family: var(--ff);
  font-size: 18px;
  text-align: right;
}
.modules {
  display: grid;
  width: 98.89%;
  height: 88.29%;
  max-width: 98.89%;
  max-height: 100%;
  margin-top: 7.64px;
  margin-right: 0.25%;
  grid-area: 2/6/8/15;
  align-self: start;
  justify-self: end;
  grid-template-rows: minmax(495.73px,max-content) minmax(497.5px,max-content);
  grid-template-columns: 1fr 1fr;
}
.modules__art {
  grid-area: 1/1/3/3;
  align-self: stretch;
  justify-self: stretch;
  aspect-ratio: auto;
}
.module--sumla {
  display: flex;
  width: 74%;
  height: max-content;
  min-width: 29%;
  margin-top: 1.14%;
  margin-right: 8.87%;
  grid-area: 1/2/3/3;
  align-self: center;
  justify-self: center;
  flex-direction: column;
}
.module--sumla .module__head {
  display: flex;
  width: 50%;
  height: max-content;
  margin-bottom: 3%;
  align-self: flex-start;
  order: 1;
  flex-direction: column;
}
.module--sumla .module__logo {
  width: 98.73%;
  margin-left: -2.13%;
  align-self: center;
  order: 1;
  aspect-ratio: 1 / 0.19;
}
.module--sumla .module__soon {
  width: 79.01%;
  align-self: flex-start;
  order: 2;
  color: #c7c7c7;
  font-family: var(--ff-light-italic);
  font-weight: normal;
  --fs-min: 10;
  --fs-max: 24;
  font-style: italic;
  text-align: left;
}
.module--sumla .module__text {
  width: 98.02%;
  margin-left: -1.98%;
  align-self: center;
  order: 2;
  --fs-min: 10;
  --fs-max: 18;
  font-style: normal;
  text-align: left;
  line-height: 1.5;
}
.module--ova {
  display: flex;
  width: 75.06%;
  height: max-content;
  min-width: 36%;
  margin-top: 5.52%;
  margin-right: 2.33%;
  grid-area: 2/1/3/2;
  align-self: center;
  justify-self: end;
  flex-direction: column;
}
.module--ova .module__head {
  display: flex;
  width: 48.05%;
  height: max-content;
  margin-bottom: 3%;
  margin-left: -2.24%;
  align-self: flex-start;
  order: 1;
  flex-direction: column;
}
.module--ova .module__logo {
  width: 80.27%;
  margin-bottom: 5px;
  margin-left: -19.73%;
  align-self: center;
  order: 1;
  aspect-ratio: 1 / 0.24;
}
.module--ova .module__soon {
  width: 95.14%;
  margin-left: 4.86%;
  align-self: center;
  order: 2;
  color: #c7c7c7;
  font-family: var(--ff-light-italic);
  font-weight: normal;
  --fs-min: 10;
  --fs-max: 24;
  font-style: italic;
  text-align: left;
}
.module--ova .module__text {
  width: 97.53%;
  margin-right: 2.47%;
  align-self: flex-end;
  order: 2;
  --fs-min: 10;
  --fs-max: 18;
  font-style: normal;
  text-align: left;
  line-height: 1.5;
}
.module--basla {
  display: flex;
  width: 72.41%;
  height: max-content;
  margin-top: 41.09px;
  margin-right: 5.36%;
  grid-area: 1/1/2/2;
  align-self: center;
  justify-self: end;
  flex-direction: column;
}
.module--basla .module__logo {
  width: 50.5%;
  margin-bottom: 20px;
  margin-left: -0.69%;
  align-self: flex-start;
  order: 1;
  aspect-ratio: 1 / 0.19;
}
.module--basla .module__text {
  width: 100%;
  margin-left: -0.38%;
  align-self: center;
  order: 2;
  --fs-min: 10;
  --fs-max: 18;
  font-style: normal;
  text-align: left;
  line-height: 1.5;
}
.module__actions {
  display: grid;
  width: 52.95%;
  min-width: 259.56px;
  min-height: 40.07px;
  margin-right: 96.64px;
  margin-bottom: 7.59%;
  grid-area: 1/1/2/2;
  align-self: end;
  justify-self: end;
  grid-template-rows: minmax(40.07px,max-content);
  grid-template-columns: 0.92fr 1.08fr;
}
.pill--try {
  display: grid;
  min-width: 90px;
  min-height: 40px;
  max-width: 113.48px;
  max-height: 17.77%;
  margin-right: 12.27%;
  margin-left: 12.27%;
  grid-area: 1/1/2/2;
  align-self: end;
  justify-self: stretch;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
}
.pill--try .pill__label {
  width: 89.83%;
  grid-area: 1/1/2/2;
  align-self: center;
  justify-self: center;
  color: #e1bf33;
  font-family: var(--ff-semibold);
  font-weight: normal;
  --fs-min: 8;
  --fs-max: 18;
  font-style: normal;
  text-align: center;
}
.pill--key {
  display: grid;
  width: 95.37%;
  min-width: 30px;
  min-height: 40px;
  max-width: 159.28px;
  max-height: 60px;
  grid-area: 1/2/2/3;
  align-self: center;
  justify-self: center;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
  row-gap: 0px;
  column-gap: 0px;
}
.pill--key .pill__label {
  width: 98.91%;
  grid-area: 1/1/2/2;
  align-self: center;
  justify-self: center;
  color: #85a4e1;
  font-family: var(--ff-semibold);
  --fs-min: 8;
  --fs-max: 18;
  font-style: normal;
  text-align: center;
}
.also-at {
  display: none;
  width: 50.83%;
  min-height: 35.44px;
  margin-top: -34.93px;
  margin-left: 4.57%;
  grid-area: 1/1/3/2;
  align-self: center;
  justify-self: center;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
}
.also-at__logo {
  width: 35.48%;
  grid-area: 1/1/2/2;
  align-self: start;
  justify-self: end;
  aspect-ratio: 1 / 0.44;
}
.also-at__text {
  width: 56.28%;
  margin-top: 2.06px;
  grid-area: 1/1/2/2;
  align-self: center;
  justify-self: start;
  color: #ffffff;
  --fs-min: 10;
  --fs-max: 18;
  font-style: normal;
}
.meeting {
  width: 84.8%;
  margin-top: 40.26px;
  margin-left: 1.66%;
  grid-area: 13/4/14/12;
  align-self: start;
  justify-self: center;
  color: #ffffff;
  --fs-min: 10;
  --fs-max: 18;
  font-style: normal;
}

@media (max-width: 1000px) {
  .hero {
    height: 903.05px;
    min-height: 903.05px;
    grid-template-rows: minmax(903.05px,max-content);
    grid-template-columns: repeat(14, 1fr);
  }
  .hero__title {
    width: 83.31%;
    margin-top: 332.26px;
    margin-right: 0;
    margin-left: 0;
    grid-area: 1/4/2/12;
    align-self: start;
    justify-self: center;
  }
  .about {
    height: 684.04px;
    min-height: 681.04px;
    grid-template-rows: minmax(681.05px,max-content);
  }
  .about__text1 {
    margin-bottom: 0;
    margin-left: 0;
  }
  .about__dots {
    margin-bottom: 0;
    margin-left: 0;
  }
  .about__dot--1 {
    width: 100%;
    margin-bottom: 10px;
    margin-left: 0;
    align-self: center;
  }
  .about__dot--2 {
    width: 100%;
    margin-bottom: 10px;
    margin-left: 0;
    align-self: center;
  }
  .about__dot--3 {
    width: 100%;
    margin-left: 0;
    align-self: center;
  }
  .about__text2 {
    margin-left: 0;
  }
  .solutions {
    height: 1690.28px;
    min-height: 1638.02px;
    grid-template-rows: minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content) minmax(120.73px,max-content);
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }
  .solutions__intro {
    width: 90.01%;
    margin-top: -22.76px;
    margin-right: 0;
    margin-left: 0;
    grid-area: 1/1/6/11;
    align-self: center;
  }
  .solutions__heading {
    width: 238.22px;
    margin-right: 0;
    margin-bottom: 90px;
    --fs-min: 28;
    --fs-max: 40;
    --vp-min: 320;
    --vp-max: 1000;
  }
  .engine {
    margin-right: 0;
    margin-left: 0;
  }
  .engine__logo {
    width: 28.57%;
    margin-bottom: 0;
    margin-left: 0;
    aspect-ratio: 1 / 0.18;
  }
  .engine__text {
    margin-right: 0;
    margin-left: 0;
  }
  .engine__p1 {
    margin-bottom: 58.22px;
    margin-left: -9.64px;
    --fs-min: 10;
    --fs-max: 12;
    --vp-min: 320;
    --vp-max: 1000;
  }
  .engine__p2 {
    margin-left: -17.41px;
    --fs-min: 10;
    --fs-max: 12;
    --vp-min: 320;
    --vp-max: 1000;
  }
  .contact {
    width: 38%;
    height: 599px;
    min-width: 650px;
    min-height: 200px;
    max-width: 99999px;
    margin-top: 111.95px;
    margin-right: 0;
    margin-left: 0;
    grid-area: 8/1/14/11;
  }
  .contact__title {
    --fs-min: 10;
    --fs-max: 40;
    --vp-min: 320;
    --vp-max: 1000;
  }
  .modules {
    width: auto;
    height: auto;
    min-width: 0px;
    min-height: 0px;
    max-height: 99999px;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    grid-area: 3/4/7/11;
    align-self: stretch;
    justify-self: stretch;
    grid-template-rows: minmax(240.82px,max-content) minmax(241.63px,max-content);
  }
  .modules__art {
    width: 90%;
    margin-top: -0.75px;
    margin-left: 5%;
    align-self: center;
    justify-self: start;
    aspect-ratio: 1 / 0.9;
  }
  .module--sumla {
    width: 64.97%;
    min-width: 0px;
    margin-top: 0;
    margin-right: 0;
    margin-left: 14.12%;
    grid-area: 1/2/3/3;
    align-self: center;
    justify-self: start;
  }
  .module--sumla .module__head {
    width: 16vw;
    margin-top: 0;
    margin-bottom: 3.94%;
    margin-left: 0;
    align-self: flex-start;
  }
  .module--sumla .module__logo {
    width: 87.6%;
    margin-left: -12.85%;
    aspect-ratio: 1 / 0.2;
  }
  .module--sumla .module__soon {
    width: 98.96%;
    margin-left: -1.03px;
    align-self: center;
  }
  .module--sumla .module__text {
    margin-top: 0;
    margin-bottom: 0;
    margin-left: -1.98%;
    --fs-min: 6;
    --fs-max: 12;
    --vp-min: 320;
    --vp-max: 1000;
  }
  .module--ova {
    width: auto;
    min-width: 0px;
    margin-top: 19.57px;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 30.63%;
    grid-area: 2/1/3/2;
    align-self: center;
    justify-self: stretch;
  }
  .module--ova .module__head {
    width: 15vw;
    margin-top: 0;
    margin-bottom: 6.45%;
    margin-left: 0;
  }
  .module--ova .module__logo {
    width: 69.91%;
    margin-left: -5.25%;
    align-self: flex-start;
    aspect-ratio: 1 / 0.24;
  }
  .module--ova .module__soon {
    margin-left: -8.35%;
    align-self: center;
  }
  .module--ova .module__text {
    margin-top: 0;
    margin-right: 2.47%;
    margin-bottom: 0;
    margin-left: 0;
    align-self: flex-end;
    --fs-min: 6;
    --fs-max: 12;
    --vp-min: 320;
    --vp-max: 1000;
  }
  .module--basla {
    width: 36.2%;
    margin-top: -1.74px;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 14.56%;
    grid-area: 1/1/2/3;
    align-self: center;
    justify-self: start;
  }
  .module--basla .module__logo {
    width: 53.51%;
    margin-bottom: 3%;
    margin-left: 0;
    aspect-ratio: 1 / 0.19;
  }
  .module--basla .module__text {
    width: 113.85%;
    margin-left: 13.95%;
    --fs-min: 7;
    --fs-max: 12;
    --vp-min: 320;
    --vp-max: 1000;
  }
  .module__actions {
    width: 63.92%;
    min-width: 188.39px;
    min-height: 28.41px;
    margin-top: 0;
    margin-right: -22.73%;
    margin-bottom: 21.33px;
    margin-left: 0;
    grid-area: 1/1/2/2;
    align-self: end;
    justify-self: center;
    grid-template-rows: minmax(28.41px,max-content);
    grid-template-columns: 0.95fr 1.05fr;
  }
  .pill--try {
    display: none;
    width: 91%;
    height: 99.83%;
    min-width: 75.52%;
    min-height: 25px;
    max-width: 80px;
    margin-right: 0;
    margin-left: 0;
    align-self: center;
    justify-self: center;
  }
  .pill--key {
    width: 38.1%;
    min-width: 100%;
    min-height: 25px;
    max-width: 70px;
  }
  .also-at__text {
    margin-top: 11.37px;
    margin-left: 1.66%;
    grid-area: 4/3/5/11;
    align-self: start;
    justify-self: center;
  }
  .meeting {
    grid-area: 13/3/14/11;
  }
}

@media (max-width: 750px) {
  .hero {
    height: 539.85px;
    min-height: 714.84px;
    grid-template-rows: minmax(703.81px,max-content);
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  }
  .hero__title {
    width: 97.61%;
    margin-top: -35.89px;
    margin-right: 0;
    margin-left: 0;
    grid-area: 1/3/2/13;
    align-self: center;
    justify-self: center;
  }
  .hero__kicker {
    width: 100%;
    margin-left: 0;
    --fs-min: 10;
    --fs-max: 35;
    --vp-min: 320;
    --vp-max: 750;
  }
  .hero__line1 {
    --fs-min: 23;
    --fs-max: 50;
    --vp-min: 320;
    --vp-max: 750;
  }
  .hero__line2 {
    --fs-min: 23;
    --fs-max: 50;
    --vp-min: 320;
    --vp-max: 750;
  }
  .about {
    height: auto;
    min-height: calc((0% + 0px));
    grid-template-rows: minmax(82.62px,max-content) minmax(82.62px,max-content) minmax(82.62px,max-content) minmax(82.62px,max-content) minmax(82.62px,max-content) minmax(82.62px,max-content) minmax(82.62px,max-content) minmax(82.62px,max-content);
  }
  .about__box {
    width: 97.7%;
    margin-top: 9.84px;
    margin-right: 0;
    margin-left: 0;
    grid-area: 2/3/8/14;
  }
  .about__heading {
    --fs-min: 28;
    --fs-max: 60;
    --vp-min: 320;
    --vp-max: 750;
  }
  .about__text1 {
    width: 99.6%;
    margin-bottom: 20px;
    margin-left: -0.82px;
    --fs-min: 12;
    --fs-max: 20;
    --vp-min: 320;
    --vp-max: 750;
  }
  .about__dots {
    width: 9%;
    margin-bottom: 20px;
    margin-left: 0;
  }
  .about__dot--1 {
    margin-bottom: 15px;
    margin-left: 0;
    align-self: center;
  }
  .about__dot--2 {
    margin-bottom: 15px;
    margin-left: 0;
    align-self: center;
  }
  .about__dot--3 {
    margin-left: 0;
    align-self: center;
  }
  .about__text2 {
    width: 99.48%;
    margin-left: -1.02px;
    --fs-min: 12;
    --fs-max: 20;
    --vp-min: 320;
    --vp-max: 750;
  }
  .solutions {
    height: 1860.27px;
    min-height: 1142.68px;
    grid-template-rows: minmax(53.82px,max-content) minmax(213.07px,max-content) minmax(213.07px,max-content) minmax(83.93px,max-content) minmax(83.87px,max-content) minmax(218.69px,max-content) minmax(90.55px,max-content) minmax(90.55px,max-content) minmax(83.85px,max-content) minmax(154.87px,max-content) minmax(99.87px,max-content) minmax(99.96px,max-content) minmax(93.19px,max-content) minmax(93.21px,max-content) minmax(155.73px,max-content) minmax(31.98px,max-content);
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1.02fr 0.98fr 1fr 1fr 1fr 1fr 1fr;
  }
  .solutions__intro {
    width: 97.51%;
    margin-top: 50.58px;
    margin-right: 0;
    margin-left: 0.92%;
    grid-area: 2/2/4/14;
    align-self: start;
  }
  .solutions__heading {
    width: 321.47px;
    margin-right: 0;
    margin-bottom: 35.02px;
    --fs-min: 28;
    --fs-max: 60;
    --vp-min: 320;
    --vp-max: 750;
  }
  .engine {
    margin-right: 0;
    margin-left: -0.33%;
  }
  .engine__logo {
    width: 51.16%;
    margin-bottom: 20px;
    margin-left: 0.23%;
    aspect-ratio: 1 / 0.18;
  }
  .engine__text {
    width: 95.57%;
    margin-right: 0;
    margin-left: 0.17%;
  }
  .engine__p1 {
    width: 99.52%;
    margin-bottom: 20px;
    margin-left: -1.51px;
    --fs-min: 12;
    --fs-max: 20;
    text-align: left;
    --vp-min: 320;
    --vp-max: 750;
  }
  .engine__p2 {
    width: 99.28%;
    margin-left: -1.93px;
    --fs-min: 12;
    --fs-max: 20;
    text-align: left;
    --vp-min: 320;
    --vp-max: 750;
  }
  .contact {
    width: 87.41%;
    height: 72.75%;
    min-width: 300px;
    min-height: 481.41px;
    max-width: 600px;
    margin-top: 58.02px;
    margin-right: 0;
    margin-left: 0;
    grid-area: 10/1/16/15;
  }
  .contact__title {
    --fs-min: 19;
    --fs-max: 40;
    --vp-min: 320;
    --vp-max: 750;
  }
  .contact__first {
    width: 99.99%;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    justify-self: end;
  }
  .contact__last {
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    justify-self: start;
  }
  .contact__email {
    width: 100.85%;
    margin-top: 0;
    margin-left: 0;
  }
  .contact__message {
    width: 100.01%;
    min-height: 100.09px;
    margin-left: 0;
    justify-self: start;
  }
  .contact__status {
    margin-top: 0;
    align-self: center;
    justify-self: start;
    font-size: 13px;
  }
  .modules {
    width: 99.03%;
    height: auto;
    min-width: 0px;
    min-height: 442.8px;
    max-width: 98.89%;
    max-height: 99999px;
    margin-top: -14.09px;
    margin-right: 0;
    margin-left: 0;
    grid-area: 4/1/9/15;
    align-self: center;
    justify-self: center;
  }
  .modules__art {
    width: 100.99%;
    margin-top: -10.44px;
    margin-left: 0.16px;
    align-self: start;
    justify-self: center;
    aspect-ratio: 1 / 1.3;
  }
  .module--sumla {
    width: 87%;
    min-width: 29%;
    margin-top: 44.33%;
    margin-right: 0;
    margin-left: 0;
    grid-area: 1/1/3/3;
    align-self: start;
    justify-self: center;
  }
  .module--sumla .module__head {
    width: 80.45%;
    margin-top: -0.98px;
    margin-bottom: 20px;
    margin-left: -57.81px;
    align-self: center;
  }
  .module--sumla .module__logo {
    width: 85.67%;
    margin-left: -35.91px;
    aspect-ratio: 1 / 0.24;
  }
  .module--sumla .module__soon {
    width: 81.74%;
    margin-left: -42.78px;
    align-self: center;
    --fs-min: 14;
    --fs-max: 21;
    --vp-min: 320;
    --vp-max: 750;
  }
  .module--sumla .module__text {
    width: 99.9%;
    margin-top: 0;
    margin-bottom: 0;
    margin-left: 1.06px;
    --fs-min: 11;
    --fs-max: 20;
    --vp-min: 320;
    --vp-max: 750;
  }
  .module--ova {
    width: 87%;
    min-width: 36%;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: -2.34%;
    margin-left: 0;
    grid-area: 2/1/3/3;
    align-self: end;
    justify-self: center;
  }
  .module--ova .module__head {
    width: 56.61%;
    margin-top: 0;
    margin-bottom: 10px;
    margin-left: 0;
  }
  .module--ova .module__logo {
    width: 89.06%;
    margin-left: -28.99px;
    align-self: center;
    aspect-ratio: 1 / 0.27;
  }
  .module--ova .module__soon {
    width: 63.74%;
    margin-left: -0.73px;
    align-self: flex-start;
    --fs-min: 14;
    --fs-max: 21;
    --vp-min: 320;
    --vp-max: 750;
  }
  .module--ova .module__text {
    width: 97.89%;
    margin-top: 0;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: -2.47%;
    align-self: center;
    --fs-min: 11;
    --fs-max: 20;
    --vp-min: 320;
    --vp-max: 750;
  }
  .module--basla {
    width: 87%;
    margin-top: -34.52px;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    grid-area: 1/1/2/3;
    align-self: start;
    justify-self: center;
  }
  .module--basla .module__logo {
    width: 67.59%;
    margin-bottom: 20px;
    margin-left: 0;
    aspect-ratio: 1 / 0.24;
  }
  .module--basla .module__text {
    width: 99.81%;
    margin-left: -0.45%;
    --fs-min: 8;
    --fs-max: 20;
    --vp-min: 320;
    --vp-max: 750;
  }
  .module__actions {
    width: 54.93%;
    min-width: 188.39px;
    min-height: 40.07px;
    margin-top: -7.16px;
    margin-right: 0;
    margin-bottom: 0;
    margin-left: 0;
    grid-area: 1/1/2/3;
    align-self: center;
    justify-self: center;
    grid-template-rows: minmax(40.07px,max-content);
    grid-template-columns: 0.95fr 1.05fr;
  }
}

/* ---------- Home: colours, media and details ---------- */
.hero, .about, .solutions { background: var(--black); }
.hero { overflow: hidden; }
.hero__media { position: absolute; inset: 0; }
.hero__video { width: 100%; height: 100%; object-fit: cover; object-position: center; }
.hero__title { font-weight: 400; }
.hero__line1, .hero__line2 { font-weight: 700; }

.about__heading, .solutions__heading { font-weight: 700; }
.about__dot { height: auto; }
.about__dot--1 { fill: var(--yellow); }
.about__dot--2 { fill: var(--mint); }
.about__dot--3 { fill: var(--blue); }

.solutions { overflow: hidden; }
.engine__logo, .module__logo { height: auto; object-fit: cover; }
.modules__art { display: block; }
.modules__art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.module { color: var(--white); }
.module__soon { line-height: normal; }
.pill { border-radius: 122px; background: var(--black); }
.pill__label a { display: inline; }
.pill__label a:hover { text-decoration: underline; }
.contact__title { line-height: normal; }
.meeting a { text-decoration: underline; }
.meeting a:hover { color: var(--yellow); }

/* Contact form */
.contact__first, .contact__last, .contact__email { --label-size: 28px; --input-size: 28px; }
.contact__message { --label-size: 28px; --input-size: 28px; }
.contact__email { --req-color: var(--yellow); }
.contact__submit { display: grid; }
.contact__submit button { justify-content: flex-end; font-size: 26px; line-height: 1.4; color: var(--white); text-align: right; }
.contact__submit button:hover span { color: var(--blue); }
.contact__status { line-height: normal; }
@media (max-width: 1000px) {
  .contact__first, .contact__last, .contact__email { --label-size: 20px; --input-size: 20px; }
  .contact__message { --label-size: 20px; }
}
@media (max-width: 750px) {
  .contact__first, .contact__last, .contact__email, .contact__message { --label-size: 16px; --input-size: 16px; }
  .contact__submit { display: grid; }
.contact__submit button { font-size: 16px; }
}

/* Layout fix: on mobile the original puts "Want to appoint a meeting? click here" on top of the
   Message field. Here it is moved down so it sits below the Submit button. */
@media (max-width: 750px) {
  .meeting { margin-top: 165px; }
}
.module__logo-pic { display: contents; }
