* =========================================
   Campaign Landing Page (campaign-2026-form-above-fold.html) – Hero
   ========================================= */

/* =========================================
   IBM Plex Sans – FONT DECLARATIONS
   ========================================= */
  @font-face {
      font-family: "IBM Plex Sans";
      src: url("../fonts/ibm-plex-sans-regular.ttf") format("truetype");
      font-weight: 400;
      font-style: normal;
      font-display: swap;
  }
  @font-face {
      font-family: "IBM Plex Sans";
      src: url("../fonts/ibm-plex-sans-medium.ttf") format("truetype");
      font-weight: 500;
      font-style: normal;
      font-display: swap;
  }
  @font-face {
      font-family: "IBM Plex Sans";
      src: url("../fonts/ibm-plex-sans-semibold.ttf") format("truetype");
      font-weight: 600;
      font-style: normal;
      font-display: swap;
  }
  @font-face {
      font-family: "IBM Plex Sans";
      src: url("../fonts/ibm-plex-sans-bold.ttf") format("truetype");
      font-weight: 700;
      font-style: normal;
      font-display: swap;
  }
  @font-face {
      font-family: "IBM Plex Sans - Condensed";
      src: url("../fonts/ibm-plex-sans-condensed-regular.ttf") format("truetype");
      font-weight: 700;
      font-style: normal;
      font-display: swap;
  }
  @font-face {
      font-family: "IBM Plex Sans - Condensed Bold";
      src: url("../fonts/ibm-plex-sans-condensed-bold.ttf") format("truetype");
      font-weight: 700;
      font-style: normal;
      font-display: swap;
  }
  html {
    scroll-behavior: smooth;
  }
  body,
  .campaign-landing,
  .campaign-landing *,
  .campaign-landing h1,
  .campaign-landing h2,
  .campaign-landing h3,
  .campaign-landing h4,
  .campaign-landing h5,
  .campaign-landing h6,
  .campaign-landing p,
  .campaign-landing input,
  .campaign-landing textarea,
  .campaign-landing select,
  .campaign-landing button {
      font-family: "IBM Plex Sans - Condensed",
      -apple-system,
      BlinkMacSystemFont,
      "Segoe UI",
      Helvetica,
      Arial,
      sans-serif !important;
  }
  .campaign-landing h1 {
      font-family: "IBM Plex Sans - Condensed", sans-serif !important;
  }
/* =========================================
   IBM Plex Sans – END FONT DECLARATIONS
   ========================================= */

/* =========================================
   GRAIDENT DECLARATIONS
   ========================================= */
    .campaign-gradient-soft { background: linear-gradient( 180deg, #f5faff 0%, #ffffff 100% ); }
    .campaign-landing .campaign-hero__outer { background: linear-gradient( 180deg, #f9fcff 0%, #eef6fc 100% ); }
    .campaign-landing .campaign-hero__form-inner { background: linear-gradient( 180deg, #6cb7f2 0%, #7cc3f4 55%, #8fd1f6 100% ); }
    .campaign-capabilities::before { background:  /* Slats overlay */ repeating-linear-gradient( 90deg, rgba(255,255,255,0.06) 0px, rgba(0,0,0,0.06) 2px, rgba(255,255,255,0.0) 20px, rgba(0,0,0,0.0) 65px ), 
                                          /* Base gradient */ linear-gradient( 180deg, #1e2f5c 0%, #273f7d 45%, #3f5ea6 100% ); }

    body::before { background: linear-gradient( 180deg, #0f0439 0%, /* deep purple */ #3f3ca8 40%, /* indigo */ #4e73c9 70%, /* blue */ #ffffff 100% ); } 
/* =========================================
   END GRAIDENT DECLARATIONS
   ========================================= */

/* =========================================
   FORM STYLES
   ========================================= */
  input.hs-input, select.hs-input, textarea.hs-input {
      width: 90%;
      padding: 10px;
      border-radius: 6px;
      border: 0;
  }
  select.hs-input {
      width: 99.5%;
  }
  label span {
      font-size: 14px;
      padding: 0 0 0 5px;
      margin: 0 0 10px 0;
      display: inline-block;
  }
  span.hs-form-required {
      display: inline-block;
      width: auto;
  }
  .hs-fieldtype-textarea label span {
      width: 95%
  }
  .hs_submit.hs-submit input[type="submit"] {
      width: auto;
      margin: 15px auto 0;
      padding: 10px 30px;
      border-radius: 6px;
      font-size: 16px;
      text-transform: uppercase;
      border: 1px solid rgba(255,255,255,0.5);
      display: block;
      color: #ffffff;
      background: #2289CF;
      background: linear-gradient( 210deg,rgba(34, 137, 207, 1) 0%, rgba(68, 161, 224, 1) 100% );
      filter: drop-shadow( 1px 5px 10px rgba(4, 104, 175, 0.75) );
      overflow: visible;
      transition: background 2s ease;
  }
  .hs_submit.hs-submit input[type="submit"]:hover {
      background: #673AB7 !important;
      background: linear-gradient(210deg,rgba(103, 58, 183, 1) 0%, rgba(174, 151, 214, 1) 100%) !important;
      cursor: pointer;
      transition: background 2s ease;
  }

    /*TO ENABLE LENS FLARE*/
    .hs_submit.hs-submit {
        position: relative;
        z-index: 2; /* sits above the glow */
    }
    .hs_submit.hs-submit:hover::after {
        opacity: 1;
        filter: blur(2.5px);
    }
    .hs_submit.hs-submit::before {
        content: "";
        position: absolute;
        bottom: 1px;
        left: 40%;
        width: 30%;
        height: 2px;
        background: linear-gradient(
          90deg,
          rgba(255,255,255,0),
          rgba(255,255,255,0.6),
          rgba(255,255,255,0)
        );
        opacity: 0.8;
        z-index: 1;
    }
    .hs_submit.hs-submit::after {
        content: "";
        position: absolute;
        bottom: -6px; /* sits slightly below border */
        left: 56%;
        /*transform: translateX(-50%);*/
        transform: translateX(-50%) scaleY(0.85);
        width: 10%;
        height: 16px;
        background: radial-gradient(
        ellipse at center,
        rgba(255,255,255,1) 0%,
        rgba(255,255,255,0.85) 12%,
        rgba(255,255,255,0.45) 28%,
        rgba(255,255,255,0.15) 42%,
        rgba(255,255,255,0) 55% );
        filter: blur(2px);
        opacity: 0.95;
        pointer-events: none;
        z-index: 1;
    }
    /*END ENABLE LENS FLARE*/
/* =========================================
   END FORM STYLES
   ========================================= */

  body {
      position: relative;
      margin: 0;
      /*background: #ffffff;*/
  }
  body::before {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 725px; /* controls how tall the purple area is */
      z-index: -1;
  }
  .campaign-landing {
      color: #243746; /* base body text */
      overflow-x: hidden;
      font-family: "IBM Plex Sans",
        -apple-system,
        BlinkMacSystemFont,
        "Segoe UI",
        Helvetica,
        Arial,
        sans-serif !important;
  }
  .campaign-landing .campaign-hero {
      padding: 95px 0 90px;
  }
  .campaign-landing .campaign-hero__outer {
      max-width: 1280px;
      margin: 0 auto;
      border-radius: 28px;
      box-shadow: 0 30px 60px rgba(7, 11, 44, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.6);
      padding: 10px;
  }
  .campaign-landing .campaign-hero__inner {
      display: grid !important;
      /*grid-template-columns: 1.25fr 1fr !important;*/
      grid-template-columns: 1fr 1fr !important;
      gap: 50px;
  }
  .campaign-hero__content { 
      padding: 50px 0 0 40px; 
  }
  .campaign-hero__content #hs_cos_wrapper_hero_subhead span#hs_cos_wrapper_hero_subhead_ span {
      line-height: 1.35 !important;
      font-size: 24px !important;
      color: #1b415a !important;
  }
  .campaign-landing .campaign-hero__form {
      max-width: 600px;
      width: 100%;
      margin-left: auto;
  }
  .campaign-landing .campaign-hero__form-inner {
      border-radius: 20px;
      padding: 36px;
      /*box-shadow: 0 20px 40px rgba(7, 11, 44, 0.25);*/
  }
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header *,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header h1,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header h2,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header h3,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header h4,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header h5,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header h6,
  .campaign-landing .campaign-hero__form-inner #hs_cos_wrapper_form_header p {
      font-size: 30px;
      color: #ffffff;
      font-weight: 500;
      line-height: 1;
      padding: 0 0 0 0;
      margin: 10px 0 20px 0;
  }
  .campaign-landing .hs-form-field {
      margin-bottom: 14px;
  }
  .campaign-landing .hs-button {
      width: 100%;
      margin-top: 16px;
  }

/* =========================================
   Problem / Proof Section
   ========================================= */
  .campaign-proof {
      padding: 0;
      background: #ffffff;
  }
  .campaign-proof__inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 64px;
      align-items: center;
  }

  /* LEFT SIDE */
  .campaign-proof__visual {
      position: relative;
  }
  .campaign-proof__image {
      width: 100%;
      max-width: 420px;
      border-radius: 16px;
      box-shadow: 0 20px 40px rgba(0,0,0,0.15);
  }
  /* Proof pills */
  .campaign-proof__stats {
      position: absolute;
      top: 20%;
      left: 60%;
      display: flex;
      flex-direction: column;
      gap: 12px;
  }
  .proof-pill {
      background: #ffffff;
      border-radius: 12px;
      padding: 12px 16px;
      box-shadow: 0 10px 24px rgba(0,0,0,0.15);
  }
  .proof-pill__title {
      font-weight: 700;
      font-size: 16px;
      color: #1b8fe3;
      display: block;
  }
  .proof-pill__sub {
      font-size: 13px;
      color: #334e68;
  }
  /* RIGHT SIDE */
  .campaign-proof__content h2 {
      margin-bottom: 16px;
  }
  .campaign-proof__lead {
      font-weight: 600;
      color: #1b8fe3;
      margin-top: 16px;
  }
  .campaign-proof__point {
      margin-bottom: 20px;
  }
  .campaign-proof__point--1 {}
  .campaign-proof__point--2 {}
  .campaign-proof__point--3 {}

/* =========================================
   END Problem / Proof Section
   ========================================= */

/* =========================================
   Value Pillars Section
   ========================================= */
  .campaign-pillars {
      padding: 96px 32px;
      background: #ffffff;
  }
  .campaign-pillars__inner {
      max-width: 1200px;
      margin: 0 auto;
  }
  /* Section heading (editable via module) */
  .campaign-pillars__heading {
      text-align: center;
      margin-bottom: 56px;
  }
  /* GRID */
  .campaign-pillars__grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 32px;
  }
  /* PILLAR CARD */
  .campaign-pillar {
      background: linear-gradient(
        180deg,
        #ffffff 0%,
        #f3f9fe 100%
      );
      border-radius: 20px;
      padding: 32px 28px;
      box-shadow: 0 20px 40px rgba(0,0,0,0.12);
      text-align: center;
      position: relative;
      transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
  }
  /* Optional hover polish */
  .campaign-pillar:hover {
      transform: translateY(-4px);
      box-shadow: 0 28px 56px rgba(0,0,0,0.18);
  }
  /* IMAGE */
  .campaign-pillar-image {
      position: relative;
      height: 220px;
      margin: -32px -28px 24px; /* pull image to card edges */
      border-radius: 20px 20px 0 0;
      overflow: hidden;
  }
  .campaign-pillar-image img {
      width: 100% !important;
      height: auto; /* adjust to taste */
      object-fit: cover;
      display: block;
  }
  .campaign-pillar-image::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 90px;
      background: linear-gradient(
        to bottom,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,0.6) 40%,
        #ffffff 100%
      );
      pointer-events: none;
  }
  /* HEADING */
  .campaign-pillar-heading {
      margin-bottom: 12px;
  }
  /* Robust against editor changes (h2, h3, h4, etc.) */
  .campaign-pillar-heading h1,
  .campaign-pillar-heading h2,
  .campaign-pillar-heading h3,
  .campaign-pillar-heading h4 {
      margin: 0;
      font-weight: 600;
      color: #102a43;
      line-height: 1.3;
  }

  /* PILLAR BODY COPY */
  .campaign-pillar-body {
      font-size: 15px;
      line-height: 1.6;
      color: #334e68;
  }
  .campaign-pillar-body p {
     margin: 0;
  }
/* =========================================
   END Value Pillars Section
   ========================================= */


/* =========================================================
   CAPABILITIES SECTION
   ========================================================= */
  .campaign-capabilities {
      padding: 55px 30px 60px;
      position: relative;
      overflow: hidden;
  }
  .campaign-capabilities::before {
      content: "";
      position: absolute;
      inset: 0;
      top: 0;
      left: 0;
      width: 100%;
      height: 600px; /* controls how tall the purple area is */
      z-index: -1;
  }
  .campaign-capabilities::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 400px; /* controls fade depth */
      z-index: -1;
      background: linear-gradient( 180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.4) 25%, rgba(255,255,255,0.75) 45%, rgba(255,255,255,0.9) 55%, #ffffff 100% );
      pointer-events: none;
  }
  .campaign-capabilities__inner {
      max-width: 1200px;
      margin: 0 auto;
  }
  .campaign-capabilities__heading {
      text-align: center;
      padding: 0 0 10px;
      margin-bottom: 55px;
      color: #ffffff;
  }
  /* GRID */
  .campaign-capabilities__grid {
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 15px;
  }
  /* CARD */
  .campaign-capability {
      background: #edf6fc;
      border-radius: 20px;
      padding: 35px 25px 45px;
      text-align: center;
      box-shadow: 0 20px 40px rgba(0,0,0,0.35);
      transition:
        transform 0.3s ease,
        box-shadow 0.3s ease;
  }
  .campaign-capability:hover {
      transform: translateY(-4px);
      box-shadow: 0 28px 56px rgba(0,0,0,0.45);
  }
  /* CAPABILITY ICON BADGE */
  .campaign-capability-icon {
      width: 125px;
      height: 125px;
      margin: -70px auto 16px;
      background: #44A1E0;
      border-radius: 50%;
      display: flex;
      align-items: center;
      justify-content: center;
      box-shadow: 0 16px 32px rgba(0,0,0,0.25);
  }
  .campaign-capability-icon img {
      width: 72px;
      height: 72px;
      object-fit: contain;
      display: block;
      margin: 0 auto;
      filter: brightness(0) invert(1); /* MAKE ICONS WHITE */
  }
  /* HEADING */
  .campaign-capability-heading {
      margin-bottom: 10px;
  }
  .campaign-capability-heading h1,
  .campaign-capability-heading h2,
  .campaign-capability-heading h3,
  .campaign-capability-heading h4 {
      margin: 0;
      font-weight: 600;
      color: #1b8fe3;
  }
  /* BODY */
  .campaign-capability-body {
      font-size: 14px;
      line-height: 1.6;
      color: #334e68;
  }
  .campaign-capability-body p {
      margin: 0;
  }
/* =========================================================
   END CAPABILITIES SECTION
   ========================================================= */


/* =========================================================
   TESTIMONIALS SECTION
   ========================================================= */
  .campaign-testimonials {
      position: relative;
      padding: 96px 0;
      background: #ffffff;
  }

  .campaign-testimonials__outer {
      position: relative;
      width: 100vw;                 /* full viewport width */
      transform: translateX(-50%);  /* break out of centered layout */
      left: 50%;
      background: #edf6fc;
  }
  /* INNER WRAPPER */
  .campaign-testimonials__inner {
      max-width: 1200px;
      margin: 0 auto;
      padding: 0 32px;
  }

  /* SECTION HEADING */
  .campaign-testimonials__heading {
      text-align: center;
      margin-bottom: 45px;
  }
  .campaign-testimonials__heading h1,
  .campaign-testimonials__heading h2,
  .campaign-testimonials__heading h3 {
      margin: 0;
      color: #44a1e0;
      font-weight: 600;
  }

  /* GRID (3 INLINE QUOTES) */
  .campaign-testimonials__grid {
      position: relative;
      padding: 48px 40px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 45px;
      overflow: visible;
  }

  /* INDIVIDUAL TESTIMONIAL BLOCK (NO CARD, NO BACKGROUND) */
  .campaign-testimonial {
      background: none;
      box-shadow: none;
      padding: 0;
      text-align: center;
  }

  /* QUOTE TEXT */
  .campaign-testimonial-quote {
      font-size: 18px;
      line-height: 1.6;
      color: #243746;
  }
  .campaign-testimonial-quote p {
      margin: 0;
  }

  /* DECORATIVE QUOTATION MARKS */
  /* Opening quote (left) */
  .campaign-testimonials__grid::before {
      content: "“";
      position: absolute;
      left: -50px;
      top: -55px;
      font-size: 200px;
      line-height: 1;
      font-weight: 700;
      font-family: auto;
      font-style: italic;
      color: #44a1e0;
  }
  /* Closing quote (right) */
  .campaign-testimonials__grid::after {
      content: "”";
      position: absolute;
      right: -50px;
      bottom: -135px;
      font-size: 200px;
      line-height: 1;
      font-weight: 700;
      font-family: auto;
      font-style: italic;
      color: #ffffff;
      text-shadow: 0 16px 32px rgba(0,0,0,0.25);
  }
/* =========================================================
   END TESTIMONIALS SECTION
   ========================================================= */


/* =========================================================
   CONTACT CTA SECTION
   ========================================================= */
  .campaign-final-cta {
      padding: 20px 30px 110px;
      background: #ffffff;
  }
  .campaign-final-cta__inner {
      max-width: 1200px;
      margin: 0 auto;
      display: grid;
      grid-template-columns: 260px 1fr;
      gap: 64px;
      align-items: center;
  }
  /* IMAGE */
  /* OUTER RING */
  .campaign-final-cta__image::before {
      content: "";
      position: absolute;
  }

  /* RING WRAPPER */
  .campaign-final-cta__image {
      display: flex;
      justify-content: center;
      align-items: center;
  }
  /* INNER PHOTO */
  .campaign-final-cta__image img {
      display: block;
      max-width: 350px;
      width: 100%;
      height: auto;
      object-fit: contain; /* critical */
      /*box-shadow: 0 24px 48px rgba(0,0,0,0.25);*/
  }

  /* CONTENT */
  .campaign-final-cta__content {
      max-width: 720px;
  }
  .campaign-final-cta__content h1,
  .campaign-final-cta__content h2,
  .campaign-final-cta__content h3 {
      color: #44a1e0;
      font-weight: 600;
      margin-bottom: 16px;
  }
  .campaign-final-cta__content p {
      font-size: 18px;
      line-height: 1.6;
      color: #334e68;
      margin-bottom: 32px;
  }

  /* CTA BUTTON (SCROLL) */
  .campaign-final-cta__button {
      text-align: left;
      max-width: 250px;
  }
  .campaign-final-cta__button a.hs-button {
      width: auto;
      display: inline-block !important;
      margin: 0 auto 0;
      padding: 10px 30px;
      border-radius: 6px;
      text-transform: uppercase;
      text-decoration: none;
      border: 1px solid rgba(255,255,255,0.5);
      display: block;
      color: #ffffff;
      background: #2289CF;
      background: linear-gradient( 210deg,rgba(34, 137, 207, 1) 0%, rgba(68, 161, 224, 1) 100% );
      filter: drop-shadow( 1px 5px 10px rgba(4, 104, 175, 0.75) );
      overflow: visible;
      transition: background 2s ease;
  }
  .campaign-final-cta__button a.hs-button:hover {
      background: #673AB7 !important;
      background: linear-gradient(210deg,rgba(103, 58, 183, 1) 0%, rgba(174, 151, 214, 1) 100%) !important;
      cursor: pointer;
      transition: background 2s ease;
  }
/* =========================================================
   END CONTACT CTA SECTION
   ========================================================= */

/* =========================================
   SCROLL INDICATOR (CARROT)
   ========================================= */

  .campaign-scroll-indicator {
      position: relative;
      bottom: 20px;
      left: 50%;
      transform: translateX(-50%);
      z-index: 3;
  }
  /* clickable area */
  .scroll-down {
      display: inline-block;
      width: 32px;
      height: 32px;
      text-decoration: none;
  }
  /* chevron arrow */
  .chevron {
      position: absolute;
      left: 50%;
      display: block;
      width: 16px;
      height: 16px;
      margin: 50px 0 0;
      border-right: 3px solid rgba(193,190,190,0.85);
      border-bottom: 3px solid rgba(193,190,190,0.85);
      transform: rotate(45deg);
      animation: scroll-bounce 1.6s infinite;
  }
  /* animation */
  @keyframes scroll-bounce {
    0%, 100% {
      transform: translateY(0) rotate(45deg);
      opacity: 0.6;
    }
    50% {
      transform: translateY(8px) rotate(45deg);
      opacity: 1;
    }
  }

/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 1100px) {
    .campaign-capabilities__grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media (max-width: 900px) {
    /*--- HERO SECTION ---*/
    .campaign-hero__inner {
        gap: 30px;
    }
    .campaign-hero__content {
        padding: 20px 20px 0;
        text-align: center;
    }
    .campaign-hero__form {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 auto;
    }
    .campaign-hero__form-inner {
        padding: 24px;
    }

    /*--- PROOF SECTION ---*/
    .campaign-proof__inner {
        grid-template-columns: 1fr !important;
        gap: 30px;
        padding: 0 20px;
    }
    .campaign-proof__stats {
        position: static;
        margin-top: 24px;
        flex-direction: row;
        flex-wrap: wrap;
    }
    .campaign-proof__visual {
        text-align: center;
    }
    .campaign-proof__visual img {
        width: 100%;
        max-width: 100%;
        height: auto;
        margin: auto;
        text-align: center;
    }
    .campaign-proof__content {
        text-align: left;
    }

    /*--- PILLARS SECTION ---*/
    .campaign-capabilities::before {
        height: 1300px;
    }
    .campaign-capabilities::after {
        height: 400px;
        linear-gradient( 180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 30%, rgba(255,255,255,1), #ffffff 100% );
    }
    .campaign-pillars {
        padding: 72px 24px;
    }
    .campaign-pillars__heading {
        text-align: left;
    }
    .campaign-pillars__grid {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .campaign-pillar {
        padding: 28px 24px;
    }
    .campaign-pillar-image img {
        height: 180px;
    }
    .campaign-capability {
        margin: 0 auto 55px;
    }

    /*--- TESTIMONIALS SECTION ---*/
    .campaign-testimonials {
        padding: 72px 0;
    }
    .campaign-testimonials__grid {
        grid-template-columns: 1fr;
        padding: 40px 25px;
        gap: 25px;
    }
    .campaign-testimonials {
        padding: 72px 24px;
    }
    /* Remove decorative quotes on mobile */
    .campaign-testimonials__grid::before,
    .campaign-testimonials__grid::after {
        display: none;
    }

    /*--- FINAL CTA SECTION ---*/
    .campaign-final-cta {
        padding: 10px 24px 50px;
    }
    .campaign-final-cta__inner {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
        text-align: center;
    }
    .campaign-final-cta__image {
        margin: 0 auto 10px;
    }  
    .campaign-final-cta__image img {
        max-width: 450px;
        width: 100%;
    }
    .campaign-final-cta__content {
        margin-top: 0;
    }
    .campaign-final-cta__content h1,
    .campaign-final-cta__content h2,
    .campaign-final-cta__content h3 {
        margin-top: 0;
    }
    .campaign-final-cta__content {
        text-align: left;
    }
    .campaign-final-cta__button {
        text-align: left;
        margin: 20px auto 0;
        max-width: 100%;
    }
    .campaign-final-cta__button a.hs-button {
        display: inline-block;
    }
}
@media (max-width: 885px) {
    .campaign-landing .campaign-hero {
        width: 98%;
        margin: 0 auto;
    }
    .campaign-landing .campaign-hero__form-inner {
        padding: 15px;
        border-radius: 15px;
    }
    .campaign-landing .campaign-hero__form .hs-form-field {
        width: 100% !important;
    }
    /* prevent overflow from form fields */
    .campaign-hero__form *,
    .campaign-hero__form input,
    .campaign-hero__form select,
    .campaign-hero__form textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }  
    input.hs-input,
    select.hs-input,
    textarea.hs-input {
        width: 100% !important;
    }
    textarea.hs-input {
        padding: 10px;
        height: 70px;
    }
    .campaign-hero__form fieldset label, .campaign-hero__form fieldset label span {
        width: auto !important;
        max-width: initial !important;
        display: inline-block !important;
    }
    .campaign-hero__form fieldset label, .campaign-hero__form fieldset label span {
        width: auto !important;
        max-width: initial !important;
        display: inline-block !important;
    }
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(1) label, 
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(2) label {
        display: none !important;
    }
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(1) ul.hs-error-msgs li label, 
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(2) ul.hs-error-msgs li label {
        display: block !important;
    }  
}
@media (max-width: 640px) {  
    body {
        overflow-x: hidden;
    }
    body::before {
        height: 525px;
    }
    /*--- HERO SECTION ---*/
    .campaign-landing h1, .campaign-landing h1 span {
        font-size: 35px;
        line-height: 35px !important;
    }
    .campaign-landing .campaign-hero {
        width: 96%;
        margin: 0 auto;
        padding: 60px 0 50px;
    }
    .campaign-landing .campaign-hero__outer {
        padding: 0 10px 10px;
        border-radius: 20px;
    }
    .campaign-hero__inner {
        display: block !important;
        grid-template-columns: 1fr !important;
        flex-direction: column !important;
        gap: 24px;
    }
    .campaign-landing .campaign-hero__inner {
        display: block !important;
    }
    /* CONTENT */
    .campaign-landing .campaign-hero__content {
        width: 100% !important;
        max-width: 100% !important;
        padding: 20px 0 0;
        text-align: left;
        /*text-align: center;*/
    }
    div#hs_cos_wrapper_hero_logo {
        text-align: center;
    }
    /* FORM WRAPPER */
    /* prevent inherited right alignment */
    .campaign-landing .campaign-hero__form {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 0 !important;
        padding: 0;
        display: block;
    }
    .campaign-landing .campaign-hero__form form {
        width: 100% !important;
    }
    .campaign-landing .campaign-hero__form-inner {
        padding: 15px;
        border-radius: 15px;
    }
    .campaign-landing .campaign-hero__form .hs-form-field {
        width: 100% !important;
    }
    /* prevent overflow from form fields */
    .campaign-hero__form *,
    .campaign-hero__form input,
    .campaign-hero__form select,
    .campaign-hero__form textarea {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }  
    input.hs-input,
    select.hs-input,
    textarea.hs-input {
        width: 100% !important;
    }
    textarea.hs-input {
        padding: 10px;
        height: 70px;
    }
    .campaign-hero__form fieldset label, .campaign-hero__form fieldset label span {
        width: auto !important;
        max-width: initial !important;
        display: inline-block !important;
    }
    .campaign-hero__form fieldset label, .campaign-hero__form fieldset label span {
        width: auto !important;
        max-width: initial !important;
        display: inline-block !important;
    }
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(1) label, 
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(2) label {
        display: none !important;
    }
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(1) ul.hs-error-msgs li label, 
    .campaign-hero__form .campaign-hero__form-inner form.hs-custom-form fieldset.form-columns-2:nth-of-type(2) ul.hs-error-msgs li label {
        display: block !important;
    }

    /*--- PILLARS SECTION ---*/
    .campaign-capabilities::before {
        height: 1700px;
    }
    .campaign-capabilities::after {
        height: 1700px;
        linear-gradient( 180deg, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 30%, rgba(255,255,255,1), #ffffff 100% );
    }
    .campaign-capabilities {
        padding: 72px 24px;
    }
    .campaign-capabilities__grid {
        grid-template-columns: 1fr;
    }
  
    /*--- FINAL CTA SECTION ---*/
    .campaign-final-cta__inner {
        grid-template-columns: 1fr;
    }
    .campaign-final-cta__image img {
        max-width: 220px;
        width: 100%;
    }
    .campaign-final-cta__button {
        text-align: center;
    }
}