/* Added fallbacks to help with CLS, feel free to remove if it doesn't help on your project */
/* Colours */
/* Fluid heading sizes - set your min/max sizes and you're done! */
/* Some device sizes to use with min-width */
/* adjusted breakpoints for above */
/* 100% widths look better than "Snapping" IMO */
/* Utility */
/* Additional Spacers -- don't think you'll need more than 7, but if you do -- maybe just use a custom class  :)  */
.intro {
  padding: 75px 0 100px 0; }
  .intro h1 {
    font-size: clamp(2.1875rem, calc(35px + (50 - 35) * ((100vw - 320px) / (1920 - 320))), 3.125rem); }
  .intro h3 {
    color: #BABABA; }
  .intro p a {
    color: #0E5ECC; }
    .intro p a:hover {
      text-decoration: underline; }
  .intro .intro-img {
    position: relative; }
    .intro .intro-img:before {
      content: '';
      position: absolute;
      left: 0;
      top: -12px;
      height: 38px;
      width: 38px;
      border-top: 2px solid #464646;
      border-left: 2px solid #464646; }
    .intro .intro-img:after {
      content: '';
      position: absolute;
      right: 0;
      bottom: -12px;
      height: 38px;
      width: 38px;
      border-bottom: 2px solid #464646;
      border-right: 2px solid #464646; }

.services {
  padding: 0 0 40px 0; }
  .services .top h3 {
    color: #BABABA;
    margin-bottom: 3rem; }
  .services .promo-card {
    position: relative;
    border-radius: 5px;
    overflow: hidden; }
    .services .promo-card::before {
      border-radius: 5px;
      content: '';
      position: absolute;
      left: 0;
      right: 0;
      top: 0;
      bottom: 0;
      mix-blend-mode: multiply;
      background: transparent linear-gradient(180deg, #46464600 0%, #464646 100%) 0% 0% no-repeat padding-box;
      z-index: 1; }
    .services .promo-card .img {
      object-fit: cover;
      width: 100% !important;
      max-width: 100% !important; }
      @media (min-width: 641px) {
        .services .promo-card .img {
          min-height: 450px !important;
          object-fit: cover;
          width: 100% !important;
          max-width: 100% !important; } }
      @media (min-width: 769px) {
        .services .promo-card .img {
          min-height: 350px !important; } }
    .services .promo-card .content {
      position: absolute;
      left: 0;
      right: 0;
      bottom: 10px;
      z-index: 2;
      color: #ffffff;
      padding: 1rem; }
      @media (min-width: 1025px) {
        .services .promo-card .content {
          padding: 1.5rem; } }
      .services .promo-card .content h3 {
        margin-bottom: 1rem;
        font-weight: 700; }
      .services .promo-card .content p {
        line-height: 1.45;
        font-weight: 500;
        font-size: 18px;
        color: #ffffff;
        margin-bottom: 1.5rem; }
        .services .promo-card .content p:last-of-type {
          margin-bottom: 0; }

.services-cta {
  padding: 60px 0 100px 0; }
  .services-cta h3 {
    color: #BABABA;
    max-width: 850px;
    margin: 0 auto 1.5rem auto; }
