/**
 * Shared first-party site presentation.
 *
 * Loaded immediately after the direct component-owner sequence and before
 * fc-shared-components.css.
 * Rules remain byte-for-byte semantic copies in their original global source order.
 */

/* Shared typography, section and page-shell primitives */

.body {
  font-family: Poppins, Tahoma, sans-serif;
}

.heading {
  font-weight: 700;
  line-height: 3.6rem;
}

.heading.white {
  color: var(--white);
}

.heading.home {
  margin-top: 0;
  margin-bottom: 20px;
}

.heading.landing {
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 2.8rem;
}

.text-span {
  color: var(--forensic-orange-soft);
}

.large-paragraph {
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
}

.large-paragraph.white {
  color: var(--white);
}

.large-paragraph.margin {
  margin-bottom: 25px;
}

.large-paragraph.off-white, .large-paragraph.stone {
  color: var(--stone);
}

.buttons-div {
  margin-top: 35px;
  display: flex;
}

.buttons-div.middle {
  z-index: 999;
  justify-content: center;
  align-items: center;
  position: relative;
}

.buttons-div.middle.package {
  margin-top: 20px;
}

.buttons-div.middle.package.vertical {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  flex-flow: column;
  align-items: stretch;
}

.buttons-div.middle.case-study, .buttons-div.middle.services, .buttons-div.services.no-margin {
  margin-top: 0;
}

.page-data {
  z-index: 2;
  background-color: var(--white);
  position: relative;
}

.page-data.home {
  margin-top: -3%;
}

.page-data.default {
  margin-top: 82px;
  padding: 100px 40px;
}

.intro {
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  overflow: hidden;
}

.cyber-essentials {
  background-color: var(--core-teal);
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  overflow: hidden;
}

.digital-services {
  border-bottom: 1px solid var(--stone);
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 1336px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.resources {
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  overflow: hidden;
}

.tagline {
  opacity: .75;
  color: var(--black);
  letter-spacing: 2px;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 700;
}

.tagline.white {
  color: var(--white);
}

.tagline.orange {
  opacity: 1;
  color: var(--forensic-orange-soft);
}

.heading-3 {
  color: var(--black);
  text-align: center;
  margin-top: 0;
}

.heading-3.orange {
  color: var(--forensic-orange);
  text-align: left;
}

.heading-3.left-align {
  text-align: left;
}

.heading-3.no-margin {
  margin-bottom: 0;
}

.title-wrapper-center {
  text-align: center;
  flex-direction: column;
  grid-template-rows: auto auto auto auto;
  grid-template-columns: 1fr;
  grid-auto-columns: 1fr;
  grid-auto-flow: row;
  place-items: center stretch;
  margin-bottom: 76px;
  padding-left: 35px;
  padding-right: 35px;
  display: flex;
}

.title-wrapper-center.no-bottom-margin {
  max-width: 1200px;
  margin-bottom: 0;
}

._1336 {
  min-width: 952px;
  max-width: 1200px;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

._1336.vertical {
  flex-flow: column;
}

._1336.vertical.getintouch {
  padding-top: 50px;
  padding-bottom: 67px;
}

._1336.vertical.no-bottom {
  padding-bottom: 0;
}

._1336.vertical.hero.no-bottom-image.small {
  padding-top: 35px;
  padding-bottom: 35px;
}

._1336.timeline2.getintouch {
  padding-top: 50px;
  padding-bottom: 67px;
}

._1336.timeline2.no-bottom {
  padding-bottom: 0;
}

.title-wrapper {
  text-align: center;
  flex-direction: column;
  align-items: center;
  max-width: 858px;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 50px;
  display: flex;
}

.title-wrapper.no-margin {
  padding-bottom: 0;
}

.icon-x-large {
  color: var(--forensic-orange);
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  display: flex;
}

.icon-x-large.team {
  width: 22px;
  height: 22px;
}

.icon-x-large.team.linkedin {
  width: 24px;
  height: 24px;
}

.paragraph-regular {
  margin-bottom: 0;
  font-size: 14px;
  line-height: 28px;
}

.paragraph-regular.white {
  color: var(--white);
}

.heading-2 {
  letter-spacing: -2px;
  margin-top: 20px;
  margin-bottom: 30px;
  font-size: 2.9rem;
  font-weight: 600;
  line-height: 3.2rem;
}

.heading-2.white {
  color: var(--white);
}

.heading-2.white.no-gaps {
  margin-top: 0;
  margin-bottom: 0;
}

.heading-2.orange-copy {
  color: var(--forensic-orange);
}

/* Shared feature-card family */

.feature-grid-wrapper {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.feature-card-grid-top {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: 1.5fr 1fr 1.25fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  display: grid;
}

.feature-card-grid-top.landing.cyber {
  grid-template-columns: 1fr 1fr 1fr;
}

.feature-card-grid-top.landing.cyber._4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.feature-card {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  border-style: solid;
  border-width: .5px;
  border-color: var(--border) #d5d9e2 #d5d9e2;
  border-radius: 16px;
  flex-direction: column;
  height: 100%;
  padding: 32px;
  transition: background-color .2s;
  display: flex;
  position: relative;
  box-shadow: 0 1px 2px #23272e14;
}

.feature-card:hover {
  background-color: var(--stone);
}

.feature-card.left-aligned {
  text-align: left;
}

.feature-card.stone {
  background-color: var(--stone);
  justify-content: center;
  align-items: center;
}

.feature-card.stone:hover {
  background-color: var(--white);
}

.feature-card.stone.small {
  padding: 15px 15px 9px;
}

.feature-card.stone.left {
  justify-content: flex-start;
  align-items: stretch;
}

.feature-card.small {
  padding: 10px 14px 5px;
}

.feature-card.ce {
  background-color: var(--stone);
  text-align: left;
}

.feature-card.ce:hover {
  background-color: var(--white);
}

.feature-card.ce.landing {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  text-align: left;
}

.feature-card.ce.small {
  padding: 15px;
}

.feature-card-grid-bottom {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: 1fr .75fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  display: grid;
}

/* Testimonials, News cards, client logos and late media safeguards */

.f-container-regular {
  width: 100%;
  position: relative;
}

.f-testimonial-star-wrapper {
  grid-column-gap: 4px;
  margin-bottom: 16px;
  display: flex;
}

.f-testimonial-author {
  grid-column-gap: 16px;
  justify-content: flex-start;
  align-items: center;
  text-decoration: none;
  display: flex;
}

.paragraph-small {
  color: var(--black-65);
  letter-spacing: -.01em;
  margin-bottom: 0;
  line-height: 1.8;
}

.paragraph-small.white {
  color: var(--white);
}

.f-testimonial-card {
  color: var(--black);
  border-radius: 12px;
  flex-flow: column;
  align-items: flex-start;
  padding: 32px;
  display: flex;
}

.f-paragraph-regular {
  letter-spacing: -.02em;
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.8;
}

.f-paragraph-regular.f-text-weight-medium {
  color: var(--black);
  font-weight: 500;
}

.f-testimonial-avatar-small {
  background-color: #f3f5fb;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  width: 48px;
  min-width: 48px;
  height: 48px;
  min-height: 48px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.f-icon-regular {
  color: var(--forensic-orange);
  justify-content: center;
  align-items: center;
  width: 24px;
  height: 24px;
  transition: color .2s;
  display: flex;
}

.f-icon-regular.white {
  color: var(--white);
}

.f-icon-regular.yellow {
  color: #ffc800;
}

.f-icon-regular.green {
  filter: hue-rotate(68deg);
  margin-left: 20px;
}

.f-avatar-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* Case Studies and Event fallback cards */

.paragraph-small-2 {
  letter-spacing: -.02em;
  margin-bottom: 0;
  line-height: 1.8;
}

/* Testimonials, News cards, client logos and late media safeguards */

.f-margin-bottom-49 {
  margin-bottom: 16px;
}

.f-testimonial-right-a {
  background-color: var(--forensic-orange);
  color: #fff;
  border: 1px solid #e4e6f1;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 6px;
  transition: all .3s;
  display: flex;
  inset: -60px 0% auto auto;
}

.f-testimonial-right-a:hover {
  background-color: var(--secure-slate);
  color: #fff;
  border-color: #160042;
}

.f-testimonial-right-a.none {
  display: none;
}

.f-testimonial-slide {
  margin-right: 32px;
}

.f-testimonial-slide.news {
  margin-right: 80px;
}

.f-testimonial-slide.news.cyber-essential {
  padding-top: 0;
}

.f-testimonial-slider-cards {
  background-color: #fff;
  height: auto;
}

.f-testimonial-left-a {
  color: #393b6a;
  background-color: #0000;
  border: 1px solid #e4e6f1;
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  width: 40px;
  height: 40px;
  padding: 6px;
  transition: all .3s;
  display: flex;
  inset: -60px 60px auto auto;
}

.f-testimonial-left-a:hover {
  background-color: var(--secure-slate);
  color: #fff;
}

.f-testimonial-left-a.none {
  display: none;
}

.f-text-weight-medium {
  font-weight: 500;
}

.f-slide-nav-hidden {
  display: none;
  bottom: -50px;
}

.f-h6-heading {
  color: var(--black);
  letter-spacing: -.02em;
  margin-top: 0;
  margin-bottom: 0;
  line-height: 1.5;
}

.f-testimonial-slider-grid-large {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
  overflow: visible;
}

.f-testimonial-slider-grid-large.hidden {
  display: none;
}

.f-margin-bottom-32 {
  margin-bottom: 32px;
}

.news-image {
  object-fit: cover;
  background-color: #ebebeb;
  border-radius: 16px 16px 0 0;
  aspect-ratio: 16 / 10;
  display: block;
  width: 100%;
  min-height: auto;
  max-height: none;
}

.news-image.cover {
  object-fit: cover;
}

.newsarticle {
  border: 1px solid var(--border);
  color: #160042;
  border-radius: 16px;
  height: 100%;
  padding: 0;
  transition: background-color .2s;
}

.newsarticle:hover {
  background-color: var(--stone);
}

.mask {
  padding: 21px 0;
  overflow: hidden;
}

.companies-slider {
  z-index: 10;
  background-color: var(--secure-slate);
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.wrapper-clients {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.block-clients {
  flex: none;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  margin-top: 40px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.gradient-clients {
  z-index: 50;
  background-image: linear-gradient(90deg, var(--secure-slate) 5%, #00262600 20%, #00262600 80%, var(--secure-slate) 95%);
  flex: none;
  display: flex;
  position: absolute;
  inset: 0%;
}

.clients {
  flex-flow: row;
  flex: none;
  justify-content: flex-start;
  align-items: center;
}

.logo-client {
  flex: none;
  max-height: 4.5em;
  margin-left: 2.5rem;
  margin-right: 2.5rem;
}

.logo-client.smaller {
  max-height: 3em;
}

.logo-client.smaller.invisible {
  width: 60px;
}

.logo-client.invisible {
  opacity: 0;
}

.icon-wrap {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 9% 6% auto auto;
}

.text-block {
  color: var(--white);
  margin-top: 10px;
}

.gradient-testimonials {
  z-index: 50;
  background-image: linear-gradient(90deg, var(--stone) 5%, #00262600 20%, #00262600 80%, var(--stone) 95%);
  display: none;
  position: absolute;
  inset: 0%;
}

.f-margin-bottom-40 {
  margin-bottom: 40px;
}

.div-block-2 {
  flex-flow: row;
  order: 1;
  justify-content: flex-end;
  align-self: center;
  align-items: flex-end;
  margin-bottom: 0;
  display: flex;
  position: absolute;
  inset: auto 20px 20px auto;
}

.image-3 {
  width: 65px;
}

/* Pricing cards, insight panels and category modifiers */

.background-container.white {
  background-color: var(--white);
  position: relative;
  overflow: hidden;
}

.background-container.secure-slate {
  background-color: var(--secure-slate);
}

.background-container.orange.hidden {
  display: none;
}

.background-container.stone {
  background-color: var(--stone);
  position: relative;
  overflow: hidden;
}

.background-container.teal {
  background-color: var(--core-teal);
}

.pricing-plan-item {
  border: 1px solid var(--border);
  background-color: var(--stone);
  text-align: center;
  border-radius: 16px;
  flex-flow: column;
  justify-content: space-between;
  align-items: stretch;
  height: 100%;
  padding: 50px 15px;
  display: flex;
  position: relative;
}

.icon-image {
  filter: brightness(145%) hue-rotate(14deg);
  object-fit: cover;
  width: 24px;
  height: 24px;
}

.pricing-plans-wrapper {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  place-items: center stretch;
  display: grid;
}

.text-white {
  color: #fff;
}

.price-icon {
  background-color: #fff;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: absolute;
  inset: -24px 0 auto;
  box-shadow: 0 0 54px -16px #101828;
}

.price {
  color: var(--forensic-orange);
  margin-top: 0;
  margin-bottom: -12px;
}

.price.white {
  color: var(--white);
}

.icon-description {
  font-size: 18px;
  font-weight: 500;
}

.icon-description.white {
  color: var(--white);
}

.insight-wrapper {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.big-number-wrapper {
  position: relative;
}

.big-number-wrapper.horizontal {
  display: flex;
}

.bottom-content-raight-column {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  text-align: left;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.big-number {
  margin-right: 40px;
  font-size: 76px;
  font-weight: 500;
  line-height: 1em;
}

.big-number.white {
  color: var(--white);
  margin-top: 20px;
}

.icon-image-wrapper-small {
  background-color: #fff;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
  box-shadow: 0 0 54px -16px #101828;
}

/* Testimonials, News cards, client logos and late media safeguards */

.left-node.white {
  filter: contrast(0%) brightness(200%);
}

.right-node.white {
  filter: contrast(0%) brightness(200%);
}

/* Pricing cards, insight panels and category modifiers */

.category._2 {
  background-color: var(--core-teal);
  text-transform: uppercase;
}

.category._3 {
  background-color: var(--secure-slate);
}

/* About and service presentation shells */

.orange-block-wrapper {
  z-index: 3;
  background-color: var(--forensic-orange);
  color: var(--white);
  border-radius: 20px;
  flex-flow: column;
  width: 400px;
  margin-bottom: -130px;
  padding: 40px 30px 40px 40px;
  display: flex;
  position: relative;
}

.orange-block-wrapper.slate {
  background-color: var(--secure-slate);
}

.orange-block-wrapper.teal {
  background-color: #006163;
}

.orange-block-wrapper.no-margin-intro {
  color: var(--white);
  margin-bottom: 0;
}

.banner-about-us-top-content {
  justify-content: flex-start;
  align-items: flex-end;
  display: flex;
}

.title-banner-about-us {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  flex-flow: column;
  flex: 1;
  padding-right: 10%;
  display: flex;
}

.image-banner-about-us {
  object-fit: cover;
  object-position: 50% 50%;
  width: 100vw;
  height: 600px;
  position: relative;
}

.image-banner-about-us.lower {
  object-position: 50% 30%;
}

.image-banner-about-us.lowest {
  object-position: 50% 20%;
}

.about-us-banner-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.name-wrapper-orange-card {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.image-card {
  border-radius: 50%;
  width: 52px;
  height: 52px;
}

.position-testimonials {
  font-size: 14px;
  font-weight: 500;
}

.name-testimonials {
  font-size: 18px;
  font-weight: 500;
}

.paragraph-orange-block {
  color: #fff;
  margin-top: 30px;
  margin-bottom: 30px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3em;
}

.paragraph-orange-block.margin-right {
  margin-right: 10px;
  font-size: 14px;
}

.image-logo-white {
  object-fit: cover;
  width: 64px;
}

.image-team {
  object-fit: cover;
  object-position: 70% 50%;
  border-radius: 100%;
  width: 250px;
  max-width: none;
  height: 250px;
}

.team-title-wrapper {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 60%;
  margin-bottom: 50px;
  display: flex;
}

.team-description {
  flex-flow: column;
  justify-content: space-between;
  align-items: flex-start;
  padding-top: 30px;
  display: flex;
}

.slider-team-wrapper {
  overflow: hidden;
}

.position-team {
  font-size: 14px;
  font-weight: 500;
}

.team-name-wrapper {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  display: flex;
}

.about-us-intro {
  z-index: 99;
  background-color: var(--white);
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding-top: 93px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  position: relative;
  overflow: visible;
}

.meet-the-team {
  background-color: var(--white);
  justify-content: center;
  align-items: center;
  width: 100%;
  max-width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  overflow: hidden;
}

.section-3 {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}

.section-3.services-inner-banner {
  background-color: var(--secure-slate);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 150px;
  padding-bottom: 270px;
  display: flex;
  overflow: hidden;
}

.base-container-2 {
  flex-direction: column;
  align-items: center;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
}

.base-container-2.bottom-margin-100 {
  margin-bottom: 75px;
}

.services-banner-wrapper {
  z-index: 1;
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  position: relative;
}

.image-background-cta {
  opacity: .05;
  background-image: radial-gradient(circle, #000, #fff 85%);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0% 0% auto;
}

/* Native parent-service fallback presentation */

.section-4 {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}

.section-4.image-section {
  margin-top: -197px;
  padding-top: 0;
  padding-bottom: 0;
}

.section-5 {
  padding-top: 80px;
  padding-bottom: 55px;
  position: relative;
}

.section-5.section-post {
  padding-top: 55px;
}

/* About and service presentation shells */

.image-check {
  color: var(--forensic-orange);
  width: 24px;
  height: 24px;
}

.fc-service-child-page .fc-native-icon-mask {
  background-color: var(--fc-native-icon-color, var(--forensic-orange));
  flex: none;
  display: inline-block;
  -webkit-mask: var(--fc-native-icon-url) center / contain no-repeat;
  mask: var(--fc-native-icon-url) center / contain no-repeat;
}

.grid-benefits {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.section-6 {
  position: relative;
}

.benefits-service-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.title-benefit {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 10px;
  display: flex;
}

/* Native parent-service fallback presentation */

.title-benefits-wrapper {
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 50px;
  display: flex;
}

/* About and service presentation shells */

.news {
  padding-top: 80px;
  padding-bottom: 80px;
  position: relative;
}

/* Native parent-service fallback presentation */

.div-block-6 {
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  flex-flow: column;
  display: flex;
}

/* About and service presentation shells */

.cta-section {
  z-index: 3;
  background-color: var(--stone);
  text-align: center;
  border: 1px solid #2e2f2f12;
  border-radius: 20px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 30px;
  padding-left: 30px;
  padding-right: 30px;
  display: flex;
  position: relative;
}

.cta-content-wrapper {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0;
  display: flex;
}

.black-background-absolute {
  z-index: 2;
  background-color: var(--black);
  height: 300px;
  position: absolute;
  inset: auto 0% 0%;
}

.get-in-touch-new {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  position: relative;
}

.title-with-buttons {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  border-bottom: 1px solid var(--stone);
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  margin-bottom: 0;
  padding-bottom: 15px;
  display: grid;
}

/* Case Studies and Event fallback cards */

.date-line {
  background-color: #e0e0e0;
  width: 24px;
  height: 1px;
}

.blog-detail {
  grid-column-gap: 24px;
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.paragraph-large {
  letter-spacing: -.015em;
  margin-bottom: 0;
  font-size: 18px;
  line-height: 1.8;
}

.wrap-h-x-small {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  flex-direction: row;
  display: flex;
}

.wrap-h-x-small.align-c {
  justify-content: flex-start;
  align-items: center;
}

.blog-card {
  grid-row-gap: 24px;
  background-color: var(--stone);
  text-align: left;
  border-radius: 20px;
  flex-direction: column;
  padding: 20px;
  display: flex;
}

.blog-badge {
  color: #000;
  letter-spacing: .16em;
  text-transform: uppercase;
  background-color: #fff;
  border-radius: 4px;
  padding: 8px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.4;
  position: absolute;
  inset: 16px 14px auto auto;
  box-shadow: 0 24px 64px #d9d9d97a;
}

.blog-image {
  border-radius: 16px;
  height: 356px;
  position: relative;
  overflow: hidden;
}

.icon-link {
  color: #141414;
  border: 1px solid #e0e0e0;
  border-radius: 99px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 48px;
  height: 48px;
  display: flex;
}

.grid-three-column {
  grid-column-gap: 24px;
  grid-row-gap: 24px;
  grid-template-rows: auto;
  grid-template-columns: 1fr 1fr 1fr;
  grid-auto-columns: 1fr;
  display: grid;
}

.image-cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.button-link {
  grid-column-gap: 16px;
  color: #000;
  letter-spacing: -.02em;
  align-items: center;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  text-decoration: none;
  display: flex;
}

.icon-x-small-2 {
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  display: flex;
}

.wrap-v-x-small {
  grid-column-gap: 8px;
  grid-row-gap: 8px;
  text-align: left;
  flex-direction: column;
  display: flex;
}

/* Testimonials, News cards, client logos and late media safeguards */

.f-testimonial-logo {
  justify-content: center;
  align-items: center;
  min-width: 48px;
  height: 48px;
  min-height: 48px;
  display: flex;
  position: relative;
  overflow: hidden;
}

.f-avatar-logo {
  object-fit: contain;
  width: 100%;
  height: 100%;
}

.trusted-by-you-v3 {
  width: 100%;
  max-width: none;
  padding-top: 100px;
  padding-bottom: 100px;
  position: relative;
  overflow: hidden;
}

.list {
  display: flex;
}

.item {
  padding-left: 1rem;
  padding-right: 1rem;
}

.card {
  border: 1px solid var(--border);
  background-color: #fff;
  border-radius: 12px;
  padding: 32px;
  position: relative;
}

.card.testimonials {
  flex-flow: column;
  justify-content: flex-end;
  align-items: stretch;
  height: 100%;
  display: flex;
  position: relative;
}

/* About and service presentation shells */

.linkedin {
  margin-left: 5px;
}

.cta-section .link {
  color: var(--core-teal);
}

/* Native parent-service fallback presentation */

.buttons-div-services {
  grid-column-gap: 12px;
  grid-row-gap: 12px;
  flex-flow: column;
  margin-top: 35px;
  display: flex;
}

.service-price-div {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

/* Testimonials, News cards, client logos and late media safeguards */

.testimonial {
  color: #000;
  padding-top: 8rem;
  padding-bottom: 8rem;
}

/* Archive pagination alignment */

.pagination {
  justify-content: flex-end;
  margin-bottom: 50px;
}

/* About and service presentation shells */

.slide-title-and-link {
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: absolute;
  inset: 0% 0% auto;
}

.image-banner-block {
  position: relative;
}

.image-banner-block.none {
  display: none;
}

/* Shared mouse-scroll base */

.mouse-scroll {
  height: 50px;
}

/* Contact LinkedIn link alignment */

.link-block {
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

/* Shared certification layout */

.certifications {
  align-self: flex-start;
  display: flex;
  max-width: 176px;
  width: 100%;
}

.certifications.mobile {
  display: none;
}

/* Cyber Essentials regular badge presentation */

.badge-regular {
  color: var(--white);
  text-align: center;
  font-size: .85em;
  font-weight: 500;
  line-height: 100%;
}

.badge-regular.black {
  color: var(--secure-slate);
}

/* Native parent-service fallback presentation */

.why-choose {
  margin-bottom: 0;
}

.end-of-services {
  z-index: 999;
  padding-top: 0;
  padding-bottom: 100px;
  position: relative;
}

.services-testimonial {
  justify-content: center;
  align-items: center;
  margin-left: 13%;
  margin-right: 13%;
  display: flex;
}

@media screen and (min-width: 1280px) {
  /* About and service presentation shells */

  .orange-block-wrapper {
      margin-bottom: 0;
    }
}

@media screen and (max-width: 991px) {
  /* Shared typography, section and page-shell primitives */

  .buttons-div.services.no-margin {
      margin-top: 0;
    }

  .page-data.home, .page-data.landing {
      margin-top: 0%;
    }

  ._1336 {
      min-width: 730px;
      max-width: 990px;
    }

  ._1336.vertical.hero {
      padding-top: 50px;
    }

  ._1336.vertical.hero.no-bottom-image {
      padding-bottom: 0;
    }

  ._1336.timeline2.hero {
      padding-top: 50px;
    }

  ._1336.timeline2.hero.no-bottom-image {
      padding-bottom: 0;
    }

  /* Shared feature-card family */

  .feature-card-grid-top {
      grid-template-rows: auto auto auto;
      grid-template-columns: 1fr;
    }

  .feature-card-grid-top.landing.cyber {
      grid-template-rows: auto auto auto;
      grid-template-columns: 1fr;
      margin-top: 0;
    }

  .feature-card-grid-top.landing.cyber._4 {
      grid-template-rows: auto;
      margin-top: 2em;
    }

  .feature-card-grid-bottom {
      grid-template-columns: 1fr 1fr;
    }

  /* Testimonials, News cards, client logos and late media safeguards */

  .f-testimonial-slider-grid-large {
      grid-template-columns: 1fr;
    }

  .wrapper-clients {
      max-width: 100%;
    }

  .block-clients {
      width: 100%;
    }

  /* Pricing cards, insight panels and category modifiers */

  .pricing-plan-item {
      width: 65%;
    }

  .pricing-plans-wrapper {
      grid-row-gap: 50px;
      flex-wrap: wrap;
      grid-template-rows: auto auto auto;
      grid-template-columns: 1fr 1fr;
      place-items: start center;
    }

  .bottom-content-raight-column {
      margin-top: 60px;
    }

  .big-number {
      font-size: 60px;
    }

  /* About and service presentation shells */

  .orange-block-wrapper {
      justify-content: flex-start;
      align-items: flex-start;
      width: 80%;
      margin-bottom: -130px;
      margin-left: auto;
      margin-right: auto;
      padding: 30px;
    }

  .orange-block-wrapper.slate {
      margin-bottom: -130px;
    }

  .banner-about-us-top-content {
      flex-flow: column;
      justify-content: space-between;
      align-items: stretch;
    }

  .title-banner-about-us {
      grid-column-gap: 12px;
      grid-row-gap: 12px;
      justify-content: flex-start;
      align-items: stretch;
      width: 100%;
      margin-bottom: 0;
      padding-left: 30px;
      padding-right: 30px;
    }

  .image-banner-about-us.lowest {
      object-position: 10% 20%;
    }

  .paragraph-orange-block {
      margin-top: 20px;
      margin-bottom: 20px;
    }

  .image-logo-white {
      width: 48px;
    }

  .team-title-wrapper {
      width: 70%;
    }

  .meet-the-team {
      padding-top: 40px;
    }

  .section-3.services-inner-banner {
      padding-top: 140px;
      padding-bottom: 180px;
    }

  .base-container-2 {
      max-width: 100%;
    }

  .services-banner-wrapper {
      width: 70%;
    }

  /* Native parent-service fallback presentation */

  .section-4.image-section {
      margin-top: -100px;
    }

  /* About and service presentation shells */

  .grid-benefits {
      grid-column-gap: 20px;
      grid-row-gap: 20px;
    }

  .section-6 {
      padding-top: 0;
      padding-bottom: 0;
    }

  .cta-section {
      max-width: 100vw;
      margin-left: 20px;
      margin-right: 20px;
      padding-top: 60px;
      padding-left: 20px;
      padding-right: 20px;
    }

  .cta-content-wrapper {
      width: 90%;
    }

  .title-with-buttons {
      grid-template-columns: 1.75fr 1fr;
    }

  /* Case Studies and Event fallback cards */

  .grid-three-column {
      grid-template-columns: 1fr 1fr;
    }

  /* About and service presentation shells */

  .linkedin {
      margin-left: 0;
    }

  /* Testimonials, News cards, client logos and late media safeguards */

  .testimonial {
      padding-top: 7rem;
      padding-bottom: 7rem;
    }

  /* Native parent-service fallback presentation */

  .services-testimonial {
      margin-left: 5%;
      margin-right: 5%;
    }

  .div-block-13 {
      margin-bottom: 40px;
    }
}

@media screen and (max-width: 767px) {
  /* Shared typography, section and page-shell primitives */

  ._1336 {
      min-width: auto;
      max-width: 100vw;
    }

  ._1336.vertical {
      min-width: auto;
      max-width: 100%;
      padding-top: 50px;
      padding-bottom: 50px;
    }

  ._1336.vertical.hero {
      padding-top: 25px;
    }

  ._1336.timeline2.hero {
      padding-top: 25px;
    }

  /* Shared feature-card family */

  .feature-card-grid-top, .feature-card-grid-bottom {
      grid-template-columns: 1fr;
    }

  /* Testimonials, News cards, client logos and late media safeguards */

  .mask {
      padding-bottom: 0;
    }

  .wrapper-clients.landing.cyber {
      text-align: center;
    }

  /* Pricing cards, insight panels and category modifiers */

  .pricing-plan-item {
      width: 90%;
      max-width: 500px;
    }

  .pricing-plans-wrapper {
      grid-column-gap: 20px;
      grid-row-gap: 50px;
      flex-flow: column;
      grid-template-rows: auto auto auto;
      grid-template-columns: 1fr;
      grid-auto-columns: 1fr;
      justify-content: center;
      align-items: center;
      display: grid;
    }

  .bottom-content-raight-column {
      margin-top: 40px;
    }

  /* About and service presentation shells */

  .orange-block-wrapper, .orange-block-wrapper.slate {
      margin-bottom: -80px;
    }

  .title-banner-about-us {
      width: 100%;
    }

  .image-banner-about-us {
      object-position: 40% 50%;
    }

  .image-team {
      object-position: 60% 50%;
    }

  .team-title-wrapper {
      grid-column-gap: 10px;
      grid-row-gap: 10px;
      margin-bottom: 40px;
    }

  .team-name-wrapper {
      grid-column-gap: 8px;
      grid-row-gap: 8px;
      margin-bottom: 20px;
    }

  .section-3 {
      padding-top: 60px;
      padding-bottom: 60px;
    }

  .section-3.services-inner-banner {
      padding-top: 130px;
      padding-bottom: 170px;
    }

  .services-banner-wrapper {
      grid-column-gap: 20px;
      grid-row-gap: 20px;
      width: 90%;
    }

  /* Native parent-service fallback presentation */

  .section-4 {
      padding-top: 60px;
      padding-bottom: 60px;
    }

  .section-5 {
      padding-top: 60px;
      padding-bottom: 60px;
    }

  .section-5.section-post {
      padding-top: 35px;
    }

  /* About and service presentation shells */

  .grid-benefits {
      grid-template-columns: 1fr;
    }

  /* Native parent-service fallback presentation */

  .title-benefits-wrapper {
      grid-column-gap: 10px;
      grid-row-gap: 10px;
    }

  /* About and service presentation shells */

  .news {
      padding-top: 60px;
      padding-bottom: 60px;
    }

  .cta-content-wrapper {
      margin-bottom: 50px;
    }

  .get-in-touch-new {
      padding-top: 60px;
      padding-bottom: 0;
    }

  .title-with-buttons {
      grid-template-rows: auto auto;
      grid-template-columns: 1fr;
    }

  /* Testimonials, News cards, client logos and late media safeguards */

  .trusted-by-you-v3 {
      padding-top: 50px;
      padding-bottom: 50px;
    }

  .testimonial {
      padding-top: 6rem;
      padding-bottom: 6rem;
    }

  /* Shared certification layout */

  .certifications {
      max-width: 176px;
    }

  .certifications.mobile {
      grid-column-gap: 16px;
      grid-row-gap: 16px;
      flex-flow: row;
      grid-template-rows: auto;
      grid-template-columns: auto auto;
      grid-auto-columns: 1fr;
      max-width: none;
      display: grid;
    }

  /* Native parent-service fallback presentation */

  .end-of-services {
      padding-bottom: 50px;
    }
}

@media screen and (max-width: 479px) {
  /* Shared typography, section and page-shell primitives */

  .heading {
      font-size: 2.8rem;
    }

  .heading.home, .heading.landing {
      margin-top: 40px;
    }

  .buttons-div {
      grid-column-gap: 5px;
      grid-row-gap: 5px;
      flex-flow: row;
    }

  .title-wrapper-center {
      padding-left: 0;
      padding-right: 0;
    }

  ._1336 {
      min-width: auto;
      max-width: 100vw;
      padding-top: 50px;
      padding-bottom: 50px;
    }

  ._1336.vertical {
      max-width: 100%;
      padding-top: 50px;
      padding-bottom: 50px;
    }

  .icon-x-large {
      color: var(--forensic-orange);
      flex: none;
      min-width: 32px;
      min-height: 32px;
    }

  .heading-2 {
      font-size: 2.5rem;
    }

  .heading-2.no-bottom-margin {
      margin-bottom: 0;
    }

  /* Shared feature-card family */

  .feature-card-grid-top.landing.cyber._4 {
      grid-template-columns: 1fr;
    }

  /* Testimonials, News cards, client logos and late media safeguards */

  .f-testimonial-author {
      flex-flow: column;
      grid-template-rows: auto auto auto;
      grid-template-columns: 1fr;
      grid-auto-columns: 1fr;
      justify-content: space-between;
      place-items: flex-start start;
    }

  .f-testimonial-avatar-small {
      margin-bottom: 16px;
      margin-right: 0;
    }

  .companies-slider {
      z-index: 2;
    }

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

  /* Pricing cards, insight panels and category modifiers */

  .pricing-plan-item {
      width: 100%;
      padding-top: 40px;
      padding-bottom: 40px;
    }

  .pricing-plans-wrapper {
      grid-column-gap: 20px;
      grid-row-gap: 50px;
      flex-flow: column;
      grid-template-rows: auto auto auto;
      grid-template-columns: 1fr;
      grid-auto-columns: 1fr;
      justify-content: flex-start;
      align-items: center;
    }

  /* About and service presentation shells */

  .orange-block-wrapper {
      background-image: none;
      width: 100%;
      padding-left: 30px;
    }

  .orange-block-wrapper.slate {
      margin-bottom: -90px;
    }

  .title-banner-about-us {
      padding-left: 0;
      padding-right: 0;
    }

  .image-banner-about-us {
      object-position: 0% 50%;
    }

  .image-card {
      width: 48px;
      height: 48px;
    }

  .team-title-wrapper, .services-banner-wrapper {
      width: 100%;
    }

  .cta-section {
      margin-left: 0;
      margin-right: 0;
      padding-top: 40px;
      padding-left: 17px;
      padding-right: 17px;
    }

  .cta-content-wrapper {
      width: 100%;
      margin-bottom: 40px;
    }

  .get-in-touch-new {
      padding-bottom: 0;
    }

  /* Testimonials, News cards, client logos and late media safeguards */

  .f-testimonial-logo {
      object-fit: contain;
      justify-content: flex-start;
      align-items: center;
      margin-bottom: 16px;
      margin-right: 0;
      display: block;
    }

  .f-avatar-logo {
      text-align: left;
      width: auto;
      min-width: 0;
      max-width: none;
    }

  /* Native parent-service fallback presentation */

  .buttons-div-services {
      grid-column-gap: 20px;
      grid-row-gap: 20px;
      flex-flow: column;
    }

  /* Testimonials, News cards, client logos and late media safeguards */

  .testimonial {
      padding-top: 5rem;
      padding-bottom: 5rem;
    }

  /* About and service presentation shells */

  .slide-title-and-link {
      grid-column-gap: 20px;
      grid-row-gap: 20px;
      flex-flow: column;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 25px;
      position: relative;
    }

  /* Shared certification layout */

  .certifications.mobile {
      grid-template-rows: auto auto;
      place-items: center;
      max-width: 100vw;
    }

  /* Cyber Essentials regular badge presentation */

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

/* Testimonials, News cards, client logos and late media safeguards */

.logo-client,
.image-3,
.f-avatar-image,
.f-avatar-logo,
.footer-logo img,
.left-node,
.right-node,
.news-image {
  height: auto;
}

.logo-client,
.image-3,
.f-avatar-image,
.f-avatar-logo,
.footer-logo img,
.left-node,
.right-node {
  object-fit: contain;
}

.logo-client {
  display: inline-block;
  width: auto;
  max-width: min(240px, 32vw);
}

.logo-client.smaller {
  max-width: min(180px, 28vw);
}

.card.testimonials .f-testimonial-logo {
  flex: 0 0 auto;
  height: 48px;
  max-width: 120px;
  min-height: 48px;
  min-width: 48px;
  overflow: hidden;
  width: auto;
}

.card.testimonials .f-testimonial-logo .f-avatar-logo {
  display: block;
  height: 100%;
  max-width: 120px;
  object-fit: contain;
  width: auto;
}
