/* ============================================================
   BRAND TOKENS — TSPH BRAND.md v2.9
   Default: trustINSIGHT / Vision Score (Insight gradient).
   Other product pages override these in their own
   Settings → Advanced Options → Head HTML.
   ============================================================ */

:root {
  --brand-1: #0276F1;            /* Trusting Blue */
  --brand-2: #C79DE2;            /* Lavender */
  --brand-tint: #E7F2FE;         /* Frost */

  /* RGB triplets, for rgba() fills that need transparency */
  --brand-1-rgb: 2, 118, 241;
  --brand-2-rgb: 199, 157, 226;
}

/* Theme base styles */

/* Tools
Any animations, or functions used throughout the project.
Note: _macros.css needs to be imported into each stylesheet where macros are used and not included here
*/

/* Generic
This is where reset, normalize & box-sizing styles go.
*/

*, *:before, *:after {
  box-sizing: border-box;
}
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
  line-height: 1.15; /* 1 */
  -webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * Add the correct box sizing in Firefox.
 */

hr {
  box-sizing: content-box;
  height: 0;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, Opera, and Safari.
 */

abbr[title] {
  border-bottom: none; /* 1 */
  text-decoration: underline; /* 2 */
  text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family: monospace, monospace; /* 1 */
  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
  font-family: inherit; /* 1 */
  font-size: 100%; /* 1 */
  line-height: 1.15; /* 1 */
  margin: 0; /* 2 */
}

/**
 * Remove the inheritance of text transform in Edge and Firefox.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select { /* 1 */
  text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Remove the padding so developers are not caught out when they zero out `fieldset` elements in all browsers.
 */

legend {
  padding: 0;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  vertical-align: baseline;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge and Firefox.
 */

details {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Objects
Non-cosmetic design patterns including grid and layout classes)
*/



/* CSS variables */

:root {
  --column-gap: 2.13%;
  --column-width-multiplier: 8.333;
}

body {
  overflow-x: clip;
}

/* Mobile layout */

.row-fluid {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.mask-overlay {
  position: fixed;
  inset: 0;
  background: rgba(15, 23, 42, 0.3);
  opacity: 1;
  visibility: hidden;
  z-index: 999;
  pointer-events: none;
  transition: all 0.3s ease;
}

.show-overlay .mask-overlay {
  opacity: 1;
  visibility: visible;
  pointer-events: none;
}

.show-overlay {
  overflow: hidden;
}


  .row-fluid .span1,
  .row-fluid .span2,
  .row-fluid .span3,
  .row-fluid .span4,
  .row-fluid .span5,
  .row-fluid .span6,
  .row-fluid .span7,
  .row-fluid .span8,
  .row-fluid .span9,
  .row-fluid .span10,
  .row-fluid .span11,
  .row-fluid .span12{
  min-height: 1px;
  width: 100%;
}

/* Desktop layout */

@media (min-width: 768px) {
  .row-fluid {
    flex-wrap: nowrap;
    justify-content: space-between;
  }
  
  .show-overlay {
    overflow: auto;
  }

  
    .row-fluid .span1 {
      width: calc(var(--column-width-multiplier) * 1% * 1 - var(--column-gap) * (11 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span2 {
      width: calc(var(--column-width-multiplier) * 1% * 2 - var(--column-gap) * (10 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span3 {
      width: calc(var(--column-width-multiplier) * 1% * 3 - var(--column-gap) * (9 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span4 {
      width: calc(var(--column-width-multiplier) * 1% * 4 - var(--column-gap) * (8 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span5 {
      width: calc(var(--column-width-multiplier) * 1% * 5 - var(--column-gap) * (7 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span6 {
      width: calc(var(--column-width-multiplier) * 1% * 6 - var(--column-gap) * (6 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span7 {
      width: calc(var(--column-width-multiplier) * 1% * 7 - var(--column-gap) * (5 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span8 {
      width: calc(var(--column-width-multiplier) * 1% * 8 - var(--column-gap) * (4 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span9 {
      width: calc(var(--column-width-multiplier) * 1% * 9 - var(--column-gap) * (3 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span10 {
      width: calc(var(--column-width-multiplier) * 1% * 10 - var(--column-gap) * (2 * var(--column-width-multiplier) / 100));
    }
  
    .row-fluid .span11 {
      width: calc(var(--column-width-multiplier) * 1% * 11 - var(--column-gap) * (1 * var(--column-width-multiplier) / 100));
    }
  
}
.content-wrapper {
  margin: 0 auto;
  padding: 0 1rem;
}

@media screen and (min-width: 1380px) {
  .content-wrapper {
    padding: 0;
  }
}

.dnd-section > .row-fluid {
  margin: 0 auto;
}

.dnd-section .dnd-column {
  padding: 0 1rem;
}

@media (max-width: 767px) {
  .dnd-section .dnd-column {
    padding: 0;
  }
}

/* Elements
Base HTML elements are styled in this section (<body>, <h1>, <a>, <p>, <button> etc.)
*/

/* The overflow-wrap is meant to prevent long/large words from breaking the mobile responsiveness of a page (e.g. horizontal scrolling). It is preferred to reduce font sizes on mobile to address this, with this CSS specifically helping with extreme scenarios where a reduction in font size is not possible. */

body {
  line-height: 1.4;
  overflow-wrap: break-word;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
}

/* Handles word breaking for a few specific languages which handle breaks in words differently. If your content is not translated into these languages, you can safely remove this.  */

html[lang^="ja"] body,
html[lang^="zh"] body,
html[lang^="ko"] body {
  line-break: strict;
  overflow-wrap: normal;
  word-break: break-all;
}

/* Paragraphs */

p {
  font-size: 16px;
  margin: 0 0 1.4rem;
}

ul li {
  font-size: 16px;
}

/* Anchors */

a {
  cursor: pointer;
  text-decoration: none;
}

/* Headings */

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 1.4rem;
}

/* Lists */

ul,
ol {
  margin: 0 0 1.4rem;
}

ul ul,
ol ul,
ul ol,
ol ol {
  margin: 0;
}

ul.no-list {
  list-style: none;
  margin: 0;
  padding-left: 0;
}

/* Code blocks */

pre {
  overflow: auto;
}

code {
  vertical-align: bottom;
}

/* Blockquotes */

blockquote {
  border-left: 2px solid;
  margin: 0 0 1.4rem;
  padding-left: 0.7rem;
}

/* Horizontal rules */

hr {
  border: none;
  border-bottom: 1px solid #CCC;
}

/* Image alt text */

img {
  font-size: 0.583rem;
  word-break: normal;
}

h1,
.h1 {
  font-size: 64px;
  font-weight: 700;
  letter-spacing: -3.2px;
  line-height: 1.15;
}

h2,
.h2 {
  font-size: 56px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.01em;
}

h3,
.h3 {
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -0.05em;
}

h4,
.h4 {
  font-size: 40px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -2px;
}

h5,
.h5 {
  font-size: 32px;
  font-weight: 700;
  letter-spacing: -1.6px;
  line-height: 1.15;
}

h6,
.h6 {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.15;
}

.accent-text {
  display: inline-block;
  padding-right: 0.06em;
  background: linear-gradient(90deg, #0276F1 0%, #C79DE2 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.accent-text--trustvision {
  display: inline-block;
  padding-right: 0.06em;
  background: linear-gradient(90deg, #4CC9F0 42.79%, #FCA8CE 86.06%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.accent-text--sophia {
  display: inline-block;
  padding-right: 0.06em;
  background: linear-gradient(90deg, #7209B7 0%, #4CC9F0 76.44%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.light-text {
  color: #fff;
}

.dark-text {
  color: #000 !important;
}

.title-badge {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: #0276F1;
  padding: 10px 20px;
  background: rgba(2, 118, 241, 0.08);
  border: 2px solid rgba(2, 118, 241, 0.15);
  border-radius: 999px;
  width: fit-content;
}

/* Small desktop */
@media (max-width: 1200px) {
  h1, .h1 { font-size: 56px; }
  h2, .h2 { font-size: 48px; }
  h3, .h3 { font-size: 40px; }
  h4, .h4 { font-size: 34px; }
  h5, .h5 { font-size: 28px; }
  h6, .h6 { font-size: 22px; }
  p {
    font-size: 15.5px;
    line-height: 1.5;
  }
  
  ul li {
    font-size: 15.5px;
    line-height: 1.5;
  }
}

/* Tablet landscape */
@media (max-width: 1024px) {
  h1, .h1 { font-size: 48px; letter-spacing: -2.4px; }
  h2, .h2 { font-size: 40px; }
  h3, .h3 { font-size: 34px; }
  h4, .h4 { font-size: 28px; letter-spacing: -1.8px; }
  h5, .h5 { font-size: 24px; letter-spacing: -1.2px; }
  h6, .h6 { font-size: 20px; }
  p {
    font-size: 15px;
    line-height: 1.5;
  }
  
  ul li {
    font-size: 15px;
    line-height: 1.5;
  }
}

/* Tablet / Large mobile */
@media (max-width: 768px) {
  h1, .h1 {
    font-size: 40px;
    letter-spacing: -2px;
    line-height: 1.2;
  }

  h2, .h2 { font-size: 32px; }
  h3, .h3 { font-size: 28px; }
  h4, .h4 { font-size: 24px; letter-spacing: -1.3px; }
  h5, .h5 { font-size: 20px; letter-spacing: -1px; }
  h6, .h6 { font-size: 18px; }
  p {
    font-size: 14.75px;
    line-height: 1.55; /* tiny bump helps on smaller screens */
  }
  
  ul li {
    font-size: 14.75px;
    line-height: 1.55;
  }
}

/* Small mobile */
@media (max-width: 480px) {
  h1, .h1 {
    font-size: 34px;
    letter-spacing: -1.5px;
  }
  h2, .h2 { font-size: 28px; }
  h3, .h3 { font-size: 24px; }
  h4, .h4 { font-size: 22px; letter-spacing: -1px; }
  h5, .h5 { font-size: 18px; letter-spacing: -0.8px; }
  h6, .h6 { font-size: 16px; }
  p {
    font-size: 14.5px;
    line-height: 1.55;
  }
  
  ul li {
    font-size: 14.5px;
    line-height: 1.55;
  }
}
.button,
.hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

.button:disabled,
.hs-button:disabled {
  background-color: #D0D0D0;
  border-color: #D0D0D0;
  color: #E6E6E6;
}

/* No button */

.no-button,
.no-button:hover,
.no-button:focus,
.no-button:active {
  background: none;
  border: none;
  border-radius: 0;
  color: initial;
  font-family: inherit;
  font-size: inherit;
  font-style: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  margin-bottom: 0;
  padding: 0;
  text-align: left;
  text-decoration: none;
  transition: none;
}
/* Fields */

.hs-form-field {
  margin-bottom: 1.4rem;
}

/* Labels */

form label {
  display: block;
  font-size: 0.875rem;
  margin-bottom: 0.35rem;
}

/* Form Title */
.form-title {
  margin-bottom: 0;
}

/* Help text */

form legend {
  font-size: 0.875rem;
}

/* Inputs */

form input[type=text],
form input[type=search],
form input[type=email],
form input[type=password],
form input[type=tel],
form input[type=number],
form input[type=file],
form select,
form textarea {
  display: inline-block;
  font-size: 0.875rem;
  padding: 0.7rem;
  width: 100%;
}

form textarea {
  resize: vertical;
}

form fieldset {
  max-width: 100% !important;
}

/* Inputs - checkbox/radio */

form .inputs-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

form .inputs-list > li {
  display: block;
  margin: 0.7rem 0;
}

form .inputs-list input,
form .inputs-list span {
  vertical-align: middle;
}

form input[type=checkbox],
form input[type=radio] {
  cursor: pointer;
  margin-right: 0.35rem;
}

/* Inputs - date picker */

.hs-dateinput {
  position: relative;
}

.hs-dateinput:before {
  content:'\01F4C5';
  position: absolute;
  right: 10%;
  top: 50%;
  transform: translateY(-50%);
}

.fn-date-picker .pika-table thead th {
  color: #FFF;
}

.fn-date-picker td.is-selected .pika-button {
  border-radius: 0;
  box-shadow: none;
}

.fn-date-picker td .pika-button:hover,
.fn-date-picker td .pika-button:focus {
  border-radius: 0 !important;
  color: #FFF;
}

/* Inputs - file picker */

form input[type=file] {
  background-color: transparent;
  border: initial;
  padding: initial;
}

/* Headings and text */

form .hs-richtext,
form .hs-richtext p {
  font-size: 0.875rem;
  margin: 0 0 1.4rem;
}

form .hs-richtext img {
  max-width: 100% !important;
}

/* GDPR */

.legal-consent-container .hs-form-booleancheckbox-display > span,
.legal-consent-container .hs-form-booleancheckbox-display > span p {
  margin-left: 1rem !important;
}

/* Validation */

.hs-form-required {
  color: #EF6B51;
}

.hs-input.invalid.error {
  border-color: #EF6B51;
}

.hs-error-msg {
  color: #EF6B51;
  margin-top: 0.35rem;
}

/* Submit button */

form input[type=submit],
form .hs-button {
  cursor: pointer;
  display: inline-block;
  text-align: center;
  transition: all 0.15s linear;
  white-space: normal;
}

/* Captcha */

.grecaptcha-badge {
  margin: 0 auto;
}


  /* Search button input field and suggestions */
  .body-container-wrapper .hs-search-field__button {
    padding: 15px;
  }

  .body-container-wrapper .hs-search-field__bar--button-inline .hs-search-field__button {
    margin-left: 6px;
    margin-bottom: 0;
  }

  .body-container-wrapper .hs-search-field__button svg {
    height: 15px;
    fill: #fff;
  }

  .body-container-wrapper .hs-search-field__bar > form > .hs-search-field__input {
    padding: 10px;
  }

  .body-container-wrapper .hs-search-field__suggestions li a {
    color: #494A52;
    padding: 0.35rem 0.7rem;
    text-decoration: none;
    transition: background-color 0.3s;
  }

/* Table */

table {
  border-collapse: collapse;
  margin-bottom: 1.4rem;
  overflow-wrap: break-word;
}

/* Table cells */

td,
th {
  vertical-align: top;
}

/* Table header */

thead th {
  vertical-align: bottom;
}
.header-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 48px;
}

.header-nav-item_label {
  font-size: 15px;
  font-weight: 400;
  position: relative;
  padding: 8px 4px;
  color: #1a1a1a !important;
  transition: color 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: default;
}

a.header-nav-item_label {
  cursor: pointer;
}

.header-nav-item_label:hover {
  font-weight: 600;
}

.header-nav-item_label::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 2.5px;
  background: linear-gradient(135deg, #0276f1, #9AC8F9);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 2px;
}

.header-nav-item_label:hover::after {
  transform: scaleX(1);
}

.header-nav-item--has-submenu {
  position: relative;
}

.header-nav-item--has-submenu::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 100%;
  height: 24px;
}

.header-nav-item_submenu-wrapper {
  position: absolute;
  top: calc(100% + 16px);
  left: 50%;
  transform: translateX(-50%) translateY(16px) scale(0.96);
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-nav-item--has-submenu:hover .header-nav-item_submenu-wrapper,
.header-nav-item_submenu-wrapper:hover {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(-50%) translateY(0) scale(1);
}

.header-nav-item_submenu-container {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 30px 28px;
  border-radius: 24px;
  min-width: 250px;
  background: rgba(255, 255, 255, 0.98);
  backdrop-filter: blur(24px);
  -webkit-backdrop-filter: blur(22px);

  border: 1px solid rgba(2, 118, 241, 0.14);

  box-shadow:
    0 20px 48px rgba(15, 23, 42, 0.10),
    0 8px 20px rgba(15, 23, 42, 0.06),
    inset 0 1px 0 rgba(255, 255, 255, 0.5);

  position: relative;
}

.header-nav-item_submenu-container::before {
  content: "";
  position: absolute;
  inset: 0;

  background-size: 200% 200%;
  background-position: 0% 50%;

  opacity: 0;
  transform: scale(0.96);
  transition:
    opacity 0.35s ease,
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    background-position 0.6s ease;

  pointer-events: none;
  border-radius: inherit;
}

/* .header-nav-item_submenu-container:has(
  .submenu-category--TrustInsight 
  .header-nav-item_submenu-category-item-label:hover
)::before {
  background: linear-gradient(
    120deg,
    rgba(2, 118, 241, 0.08),
    rgba(199, 157, 226, 0.08),
    rgba(2, 118, 241, 0.02)
  );

  opacity: 1;
  transform: scale(1);
  background-position: 100% 50%;
} */

/* .header-nav-item_submenu-container:has(
  .submenu-category--TrustVision 
  .header-nav-item_submenu-category-item-label:hover
)::before {
  background: linear-gradient(
    120deg,
    rgba(76, 201, 240, 0.08),
    rgba(252, 168, 206, 0.08),
    rgba(76, 201, 240, 0.02)
  );

  opacity: 1;
  transform: scale(1);
  background-position: 100% 50%;
} */

/* .header-nav-item_submenu-container:has(
  .submenu-category--Sophia 
  .header-nav-item_submenu-category-item-label:hover
)::before {
  background: linear-gradient(
    120deg,
    rgba(114, 9, 183, 0.08),
    rgba(76, 201, 240, 0.08),
    rgba(114, 9, 183, 0.02)
  );

  opacity: 1;
  transform: scale(1);
  background-position: 100% 50%;
} */

.header-nav-item--1 .header-nav-item_submenu-container {
  min-width: 580px;
  flex-direction: row;
  gap: 30px;
  padding: 36px 42px;
}

.header-nav-item_submenu-category {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.header-nav-item_submenu-category-items {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.header-nav-item_submenu-category-label,
.header-nav-item_submenu-category-item-label {
  font-size: 15px;
  font-weight: 400;
  color: #334155 !important;
  padding: 8px 10px;
  border-radius: 10px 10px 0 0;
  transition: all 0.25s ease;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: default;
  min-height: 44px;
  width: fit-content;
}

a.header-nav-item_submenu-category-label,
a.header-nav-item_submenu-category-item-label {
  cursor: pointer;
}

.header-nav-item_submenu-category-label:hover {
  color: #0276F1 !important;
}

.header-nav-item_submenu-category-item-label:hover {
  color: #000 !important;
  font-weight: 500;
  transform: translateX(4px);
}

.header-nav-item_submenu-category-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 2px;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  border-radius: 2px;
  background-size: 200% 100%;
  background-position: left;
  background: linear-gradient(135deg, #0276f1, #9AC8F9);
}

.header-nav-item_submenu-category-item-label:hover::before {
  transform: scaleX(1);
  background-position: right;
  transition:
    transform 0.25s cubic-bezier(0.4, 0, 0.2, 1),
    background-position 0.35s ease;
}

.header-nav-item_submenu-category-item-label-icon {
  background: rgba(235, 245, 255, 0.97);
  width: 30px;
  height: 30px;
  min-width: 30px;
  min-height: 30px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.submenu-category--TrustInsight {
  min-width: 200px;
}

.submenu-category--TrustInsight .header-nav-item_submenu-category-item-label::before {
  background: linear-gradient(90deg, #0276f1, #c79de2);
}

.submenu-category--TrustInsight .header-nav-item_submenu-category-item-label:hover {
  font-weight: 600;
  color: #000 !important;
}

.submenu-category--TrustInsight .header-nav-item_submenu-category-item-label-icon {
  background: rgba(235, 245, 255, 0.97);
}

.submenu-category--TrustVision {
  min-width: 235px;
}

.submenu-category--TrustVision .header-nav-item_submenu-category-item-label::before {
  background: linear-gradient(
    90deg,
    #4CC9F0 0%,
    #FCA8CE 100%
  );
}

.submenu-category--TrustVision .header-nav-item_submenu-category-item-label:hover {
  font-weight: 600;
  color: #000 !important;
}

.submenu-category--TrustVision .header-nav-item_submenu-category-item-label-icon {
  background: rgba(183, 233, 249, 0.5)
}

.submenu-category--Sophia {
  min-width: 285px;
}

.submenu-category--Sophia .header-nav-item_submenu-category-item-label::before {
  background: linear-gradient(
    90deg,
    #7209B7 0%,
    #4CC9F0 100%
  );
}

.submenu-category--Sophia .header-nav-item_submenu-category-item-label:hover {
  font-weight: 600;
  color: #000 !important;
}

.submenu-category--Sophia .header-nav-item_submenu-category-item-label-icon {
  background: rgba(224, 219, 245, 0.5);
}

@media (max-width: 1200px) {
  .header-nav-item--1 .header-nav-item_submenu-container {
    gap: 20px;
    padding: 30px 24px;
  }
}

@media (max-width: 1024px) {
  .header-nav-item_submenu-container {
    padding: 24px;
  }
   
  .header-nav-item--1 .header-nav-item_submenu-container {
    gap: 20px;
    flex-direction: column;
    min-width: 340px;
    padding: 30px 24px;
  }
}

/* Components
Specific pieces of UI that are stylized. Typically used for global partial styling
*/

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 10000;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(204, 204, 204, 0.6);
  box-shadow: 0 2px 8px rgba(15, 23, 42, 0.02);
  transform: translateY(0);
  will-change: transform;
  transition:
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    backdrop-filter 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header.is-hidden {
  transform: translateY(-100%);
}

.site-header.scrolled {
  background:
    linear-gradient(
      180deg,
      rgba(2, 118, 241, 0.08),
      rgba(199, 157, 226, 0.06)
    ),
    rgba(255, 255, 255, 0.78);

  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);

  border-bottom-color: rgba(2, 118, 241, 0.14);

  box-shadow:
    0 10px 28px rgba(15, 23, 42, 0.08),
    0 4px 12px rgba(15, 23, 42, 0.04);
}

.site-header .header-wrapper {
  transition: padding 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.site-header .header-logo {
  transform-origin: left center;
  transform: scale(1);
  transition:
    transform 0.35s cubic-bezier(0.4, 0, 0.2, 1),
    opacity 0.25s ease;
  will-change: transform;
}
.site-header.scrolled .header-wrapper {
  padding: 12px 24px;
}
.site-header.scrolled .header-logo {
  transform: scale(0.94);
}

.header-wrapper {
  max-width: 1280px;
  margin: auto;
  padding: 16px 32px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
}

.header-logo {
  display: flex;
  align-items: center;
  height: 32px;
  position: relative;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.header-logo img {
  height: 32px !important;
  width: auto !important;
  display: block;
  transform-origin: left center;
  transform: scale(1);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
}

.site-header.scrolled .header-logo img {
  transform: scale(0.875);
}

.header-menu-icon {
  display: none;
  width: 28px;
  height: 28px;
  position: relative;
  cursor: pointer;
  z-index: 10001;
  transition: all 0.3s ease;
}

.header-menu-icon:hover {
  transform: scale(1.1);
}

.header-menu-icon span {
  position: absolute;
  left: 50%;
  width: 20px;
  height: 2px;
  background: #1a1a1a;
  border-radius: 2px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  transform-origin: center;
}

.header-menu-icon span:nth-child(1) {
  top: 8px;
  transform: translateX(-50%);
}

.header-menu-icon span:nth-child(2) {
  top: 50%;
  transform: translate(-50%, -50%);
}

.header-menu-icon span:nth-child(3) {
  bottom: 8px;
  transform: translateX(-50%);
}

.site-header.nav-open .header-menu-icon span {
  background: #0276F1;
}

.site-header.nav-open .header-menu-icon span:nth-child(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.site-header.nav-open .header-menu-icon span:nth-child(2) {
  opacity: 0;
  transform: translate(-50%, -50%) scaleX(0);
}

.site-header.nav-open .header-menu-icon span:nth-child(3) {
  bottom: 50%;
  transform: translate(-50%, 50%) rotate(-45deg);
}

.header-mobile-drawer {
  position: fixed;
  top: 0;
  right: 0;
  width: min(380px, 85vw);
  height: 100vh;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(22px);
  -webkit-backdrop-filter: blur(20px);
  border-left: 1px solid rgba(2, 118, 241, 0.16);
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
  z-index: 999;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transform: translateX(100%);
  transition:
    transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1),
    background 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.site-header.nav-open .header-mobile-drawer {
  transform: translateX(0);
  box-shadow:
    -12px 0 36px rgba(15, 23, 42, 0.14),
    -4px 0 12px rgba(15, 23, 42, 0.06);
}

.header-mobile-drawer-inner {
  padding: 0 32px;
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow-y: scroll;
}

@media (min-width: 769px) and (max-width: 1024px) {
  .header-nav {
    gap: 32px;
  }

  .header-nav .header-nav-item_label,
  .header-nav .header-nav-item_submenu-category-item-label {
    font-size: 14px;
  }

  .header-wrapper {
    padding: 20px 28px;
  }

  .header-logo img {
    height: 28px !important;
  }

  .site-header.scrolled .header-logo img {
    transform: scale(0.93);
  }
}

@media (max-width: 768px) {
  .header-nav {
    display: none;
  }
  
  .header-menu-icon {
    display: block;
    margin-left: auto;
  }
  
  .header-wrapper .header-actions {
    display: none;
  }
  
  .header-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 24px;
  }

  .header-logo img {
    height: 26px !important;
  }
  
  .header-menu-icon-wrapper {
    height: 70px;
    border-bottom: 1px solid rgba(204, 204, 204, 0.6);
  }
  
  .scrolled .header-menu-icon-wrapper {
    height: 56px;
  }
}

@media (max-width: 480px) {
  .header-wrapper {
    padding: 16px 20px;
  }

  .header-logo img {
    height: 24px !important;
  }

  .site-header.scrolled .header-wrapper {
    padding: 12px 20px;
  }
}
.footer-nav {
  color: #fff;
}

.footer-nav ul {
  margin: 0;
  list-style: none;
  padding: 0;
  display: flex;
  gap: 80px;
  flex-wrap: wrap;
  justify-content: space-between;
}

.footer-nav ul li.hs-menu-depth-1 {
  padding-bottom: 24px;
  
}

.footer-nav ul li.hs-menu-depth-1 {
  flex: 1 1 145px;
}

.footer-nav ul li.hs-menu-depth-1,
.footer-nav ul li.hs-menu-depth-1 a {
  color: rgba(255,255,255,0.9);
  font-weight: 700;
  font-size: 24px;
  letter-spacing: -1.2px;
  line-height: 1.5;
  cursor: default;
}

.footer-nav ul li.hs-menu-depth-1 ul {
  border-top: 1px solid rgba(255,255,255,0.3);
  display: flex;
  flex-direction: column;
  margin-top: 24px;
  padding: 24px 0;
  gap: 0;
}

.footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2 {
  margin-bottom: 24px;
}

.footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2,
.footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2 a {
  font-size: 16px;
  font-weight: 400;
  letter-spacing: 0;
  cursor: pointer;
}

.footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2 a:hover {
  color: rgba(2, 118, 241, 0.75);
}

.footer-branding {
  display: flex;
  align-items: center;
  gap: 7%;
}

.footer-logo {
  width: 20%;
  max-width: 240px;
}

.footer-logo img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.footer-text {
  flex: 1;
  margin: 0;
}

@media (max-width: 1200px) {
  .footer-nav ul {
    gap: 60px;
  }
}

@media (max-width: 1024px) {
  .footer-nav ul {
    gap: 40px;
  }
  
  .footer-nav ul li.hs-menu-depth-1 ul {
    margin-top: 20px;
  }
  
  .footer-nav ul li.hs-menu-depth-1,
  .footer-nav ul li.hs-menu-depth-1 a {
    font-size: 20px;
    letter-spacing: -1px;
  }
  
  .footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2, .footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2 a {
    font-size: 15px;
  }
  
  .footer-branding {
    gap: 5%;
  }
}


@media (max-width: 768px) {  
  .footer-nav ul {
    gap: 0 40px;
  }
  
  .footer-nav ul li.hs-menu-depth-1 ul {
    margin-top: 18px;
    max-width: 200px;
  }
  
  .footer-nav ul li.hs-menu-depth-1 {
    flex-basis: 45%;
    margin: 0;
    padding: 0;
  }
  
  .footer-nav ul li.hs-menu-depth-1,
  .footer-nav ul li.hs-menu-depth-1 a {
    font-size: 18px;
    letter-spacing: -0.9px;
  }
  
  .footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2, .footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2 a {
    font-size: 14.75px;
  }
  
  .footer-branding {
    flex-direction: column;
    gap: 16px;
    margin-bottom: 16px;
  }
  
  .footer-logo {
    min-width: 150px; 
  }
  
  .footer .social-links {
    justify-content: center !important;
  }
}

@media (max-width: 480px) {
  .footer-nav ul {
    gap: 0 40px;
  }
  
  .footer-nav ul li.hs-menu-depth-1 ul {
    margin-top: 16px;
    max-width: 100%;
  }
  
  .footer-nav ul li.hs-menu-depth-1,
  .footer-nav ul li.hs-menu-depth-1 a {
    font-size: 16px;
    letter-spacing: 0;
  }
  
  .footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2, .footer-nav ul li.hs-menu-depth-1 ul li.hs-menu-depth-2 a {
    font-size: 14.5px;
  }
}
/* Cookie banner wrapper */
#hs-eu-cookie-confirmation {
  position: fixed !important;
  bottom: 16px !important;
  right: 16px !important;

  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid rgba(0,0,0,0.04) !important;
  border-radius: 12px !important;

  box-shadow: 0 6px 20px rgba(0,0,0,0.08) !important;
  backdrop-filter: blur(6px) !important;

  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;

  transition: 
    opacity 0.25s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;

  will-change: transform, opacity;
}

/* Text */
#hs-eu-cookie-confirmation p {
  color: #667085 !important;
  font-size: 14px !important;
  transition: opacity 0.2s ease;
}

/* Inner layout */
#hs-eu-cookie-confirmation-inner {
  width: 100% !important;
  gap: 0px !important;
}

/* Button alignment */
#hs-eu-cookie-confirmation-inner > div:last-child {
  display: flex;
  justify-content: flex-end;
}

/* Accept button */
#hs-eu-confirmation-button {
  background: rgba(46, 107, 255, 0.08) !important;
  border: none !important;
  color: #2E6BFF !important;

  padding: 0 12px !important;
  height: 40px !important;

  border-radius: 999px !important;
  font-weight: 500 !important;
  cursor: pointer !important;

  transition: background 0.2s ease;
}

#hs-eu-confirmation-button:hover {
  background: rgba(46, 107, 255, 0.14) !important;
}


/* =========================
   COLLAPSING STAGE
   ========================= */

#hs-eu-cookie-confirmation.is-collapsing p {
  opacity: 0;
}


/* =========================
   COLLAPSED (PILL)
   ========================= */

#hs-eu-cookie-confirmation.is-collapsed {
  border-radius: 999px !important;

  transform: scale(0.96) translateY(2px);
  opacity: 0.95;

  padding: 8px 12px !important;
  width: auto !important;
  max-width: none !important;

  cursor: pointer;
}

/* Remove text */
#hs-eu-cookie-confirmation.is-collapsed p,
#hs-eu-cookie-confirmation.is-collapsed a {
  display: none !important;
}

/* Button becomes icon container */
#hs-eu-cookie-confirmation.is-collapsed #hs-eu-confirmation-button {
  width: 32px !important;
  height: 32px !important;
  padding: 0 !important;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 0 !important;
}

/* 🍪 icon */
#hs-eu-cookie-confirmation.is-collapsed #hs-eu-confirmation-button::before {
  content: "🍪";
  font-size: 16px;
}

#hs-eu-cookie-confirmation.is-collapsed #hs-eu-cookie-confirmation-inner {
  padding: 0px !important;
}


/* =========================
   TOOLTIP
   ========================= */

#hs-eu-cookie-confirmation.is-collapsed::after {
  content: "Manage cookies";
  position: absolute;
  bottom: 120%;
  right: 0;

  background: #101828;
  color: #fff;
  font-size: 12px;

  padding: 6px 8px;
  border-radius: 6px;

  white-space: nowrap;

  opacity: 0;
  transform: translateY(4px);
  pointer-events: none;

  transition: opacity 0.2s ease, transform 0.2s ease;
}

#hs-eu-cookie-confirmation.is-collapsed:hover::after {
  opacity: 1;
  transform: translateY(0);
}


/* =========================
   HOVER (MAGNET FEEL)
   ========================= */

#hs-eu-cookie-confirmation.is-collapsed:hover {
  transform: scale(1.05) translateY(-2px);
  box-shadow: 0 10px 28px rgba(0,0,0,0.12);
}


/* Sections
Specific sections of the site, typically used for global partial styling
*/
/* Section background */
.products-section {
  position: relative;
  overflow: hidden;
  background: linear-gradient(
    180deg,
    #267CFC -21.49%,
    #AB97E4 124.85%
  );
}

/* Heading */
.products-heading {
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 16px;
  opacity: 0.9;
}

/* Title & description */
.products-title {
  font-size: 40px;
  line-height: 1.2;
  font-weight: 700;
  margin-bottom: 24px;
}

.products-description {
  font-size: 18px;
  line-height: 1.6;
  opacity: 0.95;
}

/* Cards grid */
.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}

@media (max-width: 1024px) {
  .products-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .products-grid {
    grid-template-columns: 1fr;
  }
}

/* Card */
.product-card {
  background: #ffffff;
  color: #0f172a;
  border-radius: 20px;
  padding: 32px;
  display: flex;
  flex-direction: column;
  height: 100%;
}

.product-card__icon {
  width: 40px;
  height: auto;
  margin-bottom: 20px;
}

.product-card__title {
  font-size: 20px;
  font-weight: 700;
  margin-bottom: 12px;
}

.product-card__description {
  font-size: 16px;
  line-height: 1.6;
  margin-bottom: 24px;
  flex-grow: 1;
}

/* Gradient button */
.product-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 12px 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 600;
  color: #ffffff;
  text-decoration: none;
  background: linear-gradient(135deg, #267CFC, #7C5CFF);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.product-card__button:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 30px rgba(38, 124, 252, 0.35);
}
.book-a-demo-section {
  position: relative;
  background: rgba(236, 236, 236, 0.5);
  transition: background-color 0.6s cubic-bezier(.4,0,.2,1);
  overflow: hidden;
}

.book-a-demo-section::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: min(45vw, 687.5px);
  aspect-ratio: 1 / 1;
  background-image: url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/raw_assets/public/ts-ph-theme-2026/images/demo-form-bg.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: bottom left;
  pointer-events: none;
}

@media (max-width: 700px) {
  .book-a-demo-section::after {
    width: min(55vw, 687.5px);
  }
}

@media (max-width: 500px) {
  .book-a-demo-section::after {
    width: min(65vw, 687.5px);
  }
}
.contact-banner {
  position: relative;
  overflow: hidden;
  background:
    url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 45vw) no-repeat,
    linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
}


.contact-banner .section-text--title {
  max-width: 100%;
}

@media (max-width: 930px) {
  .contact-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 55vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
  
  .contact-banner .section-text--title {
    max-width: 400px;
  }
}

@media (max-width: 768px) {
  .contact-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 60vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
  
  .contact-banner .section-text--title {
    max-width: 100%;
  }
}

@media (max-width: 650px) {
  .contact-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 70vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
}

@media (max-width: 500px) {
  .contact-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 80vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
  
}

@media (max-width: 450px) {
  .contact-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 90vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
}
.resources-banner {
  position: relative;
  overflow: hidden;
  background:
    url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 45vw) no-repeat,
    linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
}


.resources-banner .section-text--title {
  max-width: 100%;
}

@media (max-width: 930px) {
  .resources-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/contact-banner-2.png") bottom right / min(547px, 55vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
  
  .resources-banner .section-text--title {
    max-width: 400px;
  }
}

@media (max-width: 768px) {
  .resources-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/resources-bg%20%281%29.png") bottom right / min(547px, 60vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
  
  .cresources-banner .section-text--title {
    max-width: 100%;
  }
}

@media (max-width: 650px) {
  .resources-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/resources-bg%20%281%29.png") bottom right / min(547px, 70vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
}

@media (max-width: 500px) {
  .resources-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/resources-bg%20%281%29.png") bottom right / min(547px, 80vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
  
}

@media (max-width: 450px) {
  .resources-banner {
    background:
      url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/resources-bg%20%281%29.png") bottom right / min(547px, 90vw) no-repeat,
      linear-gradient(111deg, #0276F1 0%, #C79DE2 117.5%);
  }
}
.leadership-section {
  position: relative;
  background:
    url("https://241996756.fs1.hubspotusercontent-na2.net/hubfs/241996756/white-pattern.png") top right / min(366px, 40vw) no-repeat,
    radial-gradient(
      900px 500px at 15% -20%,
      rgba(38, 124, 252, 0.35),
      transparent 65%
    ),
    radial-gradient(
      800px 450px at 85% 10%,
      rgba(171, 151, 228, 0.35),
      transparent 65%
    ),
    linear-gradient(
      180deg,
      #267CFC -20%,
      #AB97E4 120%
    );
}

@media (max-width: 1000px) {
  .leadership-section {
    background:
      radial-gradient(
        900px 500px at 15% -20%,
        rgba(38, 124, 252, 0.35),
        transparent 65%
      ),
      radial-gradient(
        800px 450px at 85% 10%,
        rgba(171, 151, 228, 0.35),
        transparent 65%
      ),
      linear-gradient(
        180deg,
        #267CFC -20%,
        #AB97E4 120%
      );
  }
}
.mission-section {
  background: linear-gradient(180deg, #0f0f0f 0%, #1a1a1a 100%);
  position: relative;
  overflow: hidden;
}

.mission-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: radial-gradient(
    circle at 25% 30%,
    rgba(2, 118, 241, 0.12) 0%,
    transparent 45%
  ),
    radial-gradient(
      circle at 75% 70%,
      rgba(199, 157, 226, 0.1) 0%,
      transparent 45%
    );
  pointer-events: none;
}

.mission-section::after {
  content: "";
  position: absolute;
  top: 0;
  left: -50%;
  width: 200%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(2, 118, 241, 0.02) 25%,
    rgba(199, 157, 226, 0.02) 50%,
    rgba(2, 118, 241, 0.02) 75%,
    transparent 100%
  );
  animation: shimmer 8s linear infinite;
  pointer-events: none;
}
.whats-new-banner-section {
  min-height: 450px;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 18%, rgba(2, 118, 241, 0.1) 0%, transparent 26%),
    radial-gradient(circle at 84% 22%, rgba(199, 157, 226, 0.08) 0%, transparent 30%),
    radial-gradient(circle at 70% 70%, rgba(2, 118, 241, 0.05) 0%, transparent 32%),
    linear-gradient(145deg, #000104 0%, #03050a 46%, #060c16 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.whats-new-banner-section::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.012) 0%, transparent 28%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.01) 0%, transparent 45%),
    radial-gradient(circle at 24% 78%, rgba(199, 157, 226, 0.06) 0%, transparent 40%);
  opacity: 0.6;
  pointer-events: none;
}

.whats-new-banner-section::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.05) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(circle at center, black 45%, transparent 100%);
  opacity: 0.025;
  pointer-events: none;
}

.product-updates-section {
  background:linear-gradient(
    180deg,
    #ffffff 0%,
    rgba(2,118,241,0.035) 40%,
    rgba(199,157,226,0.045) 100%
    );
}

@media (max-width: 1024px) {
  .whats-new-banner-section {
    min-height: 400px;
  }
}

@media (max-width: 768px) {
  .whats-new-banner-section {
    min-height: 350px;
    text-align: center;
  }
}

/* Utilities
Helper classes with ability to override anything that comes before it
*/

.full-width {
  width: 100%;
}

/* For content that needs to be visually hidden but stay visible for screenreaders */
.show-for-sr {
  border: 0 !important;
  clip: rect(0, 0, 0, 0) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  white-space: nowrap !important;
  width: 1px !important;
}

@media (max-width: 767px) {
  .show-for-sr--mobile {
    border: 0 !important;
    clip: rect(0, 0, 0, 0) !important;
    height: 1px !important;
    overflow: hidden !important;
    padding: 0 !important;
    position: absolute !important;
    white-space: nowrap !important;
    width: 1px !important;
  }
}

/* ============================================================
   SITE WIDTH

   Drops a stock HubSpot module (video, form, rich text) into the
   same 1288px content box the custom modules use, so it lines up
   with the sections above and below it.

   The custom modules escape the page container with
   width:100vw + negative margins and re-centre themselves at
   1320px with 16px padding. Stock modules can't be edited, so
   this does the same thing from the outside.

   To use: open the module in the page editor → Styles tab →
   Advanced → CSS classes → add  u-site-width

   ↓↓ LOWER 1288px TO MAKE THE MODULE NARROWER BUT STILL CENTRED ↓↓
   ============================================================ */

.u-site-width {
  display: block;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0 16px;
  box-sizing: border-box;
}

.u-site-width > * {
  max-width: 1288px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 1024px) { .u-site-width { padding: 0 32px; } }
@media (max-width: 768px)  { .u-site-width { padding: 0 24px; } }
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: .9s cubic-bezier(.2,.8,.2,1);
}

.reveal.visible {
  opacity: 1;
  transform: translateY(0);
}

@keyframes shimmer {
  0% {
    transform: translateX(-25%);
  }
  100% {
    transform: translateX(25%);
  }
}


/* ============================================================
   Google reCAPTCHA badge: hidden site-wide (TSPH Marketing, 1 Nov 2026)
   Spam protection still runs. Google requires its short notice
   to stay visible near each form instead; that line lives in each
   form or module. To undo, delete this block and publish.
   ============================================================ */
/* Badge inside new-style HubSpot forms (also removes its empty row) */
.hsfc-Row:has(> .hsfc-ReCaptchaV3){position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;margin:0!important;padding:0!important}
/* Badge that older HubSpot forms (e.g. the product-page brochure pop-up) add below the footer */
body > div > .grecaptcha-badge{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;margin:0!important;box-shadow:none!important}
.grecaptcha-badge{visibility:hidden!important}