/*********************************************/
/* =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= */
/*                                           */
/* CUSTOM STYLE OVERWRITES                   */
/*                                           */
/* Deleted example styles in V25             */
/* File will be deleted in V27               */
/* Please use your child.css for custom      */
/* style definitions.                        */
/*                                           */
/* =^..^= =^..^= =^..^= =^..^= =^..^= =^..^= */
/*********************************************/
/* ============================================================
   POV Landing Page — shared module styles
   Used by: pov_hero, pov_cards_grid, pov_checklist, pov_timeline,
            pov_outcomes_grid, pov_faq
   Brand: Catalyst BI 2025 (Montserrat, brand green #00B050)
   ============================================================ */

:root {
  --pov-dark:    #2B2A27;
  --pov-dark-2:  #363B3E;
  --pov-grey-1:  #57565D;
  --pov-grey-2:  #BAB9B9;
  --pov-grey-3:  #E6E6E6;
  --pov-grey-bg: #F4F4F4;
  --pov-green:   #00B050;
  --pov-green-d: #009244;
  --pov-white:   #FFFFFF;
}

/* Sections */
.pov-section { padding: 5rem 0; background: #FFFFFF; }
.pov-section--tight { padding: 3.5rem 0; }
.pov-section--dark { background: var(--pov-dark); color: var(--pov-grey-2); }
.pov-section--grey { background: var(--pov-grey-bg); }
.pov-section--dark .pov-section__title,
.pov-section--dark h2,
.pov-section--dark h3 { color: var(--pov-white); }

/* Section intros */
.pov-section__intro { max-width: 720px; margin: 0 0 2.5rem; }

/* Eyebrow */
.pov-eyebrow {
  display: inline-block;
  font-family: Montserrat, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.125em;
  text-transform: uppercase;
  color: var(--pov-green);
  margin-bottom: 1rem;
}
.pov-section--dark .pov-eyebrow { color: #5FB801; }

/* Headings */
.pov-section h2 {
  font-family: Montserrat, sans-serif;
  font-size: 1.875rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--pov-dark);
  margin: 0 0 1rem;
  letter-spacing: 0.03em;
}
.pov-section h3 {
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--pov-dark);
  margin: 0 0 0.75rem;
}
.pov-section p { line-height: 1.55; color: var(--pov-dark-2); }
.pov-section--dark p { color: var(--pov-grey-2); }

/* Shared button styles */
.pov-btn {
  display: inline-block;
  padding: 0.9rem 1.8rem;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.03em;
  border-radius: 4px;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
}
.pov-btn--primary { background: var(--pov-green); color: var(--pov-white); }
.pov-btn--primary:hover { background: var(--pov-green-d); color: var(--pov-white); }
.pov-btn--secondary { background: transparent; color: var(--pov-white); border-color: var(--pov-white); }
.pov-btn--secondary:hover { background: var(--pov-white); color: var(--pov-dark); }

/* Card primitive — used by cards grid, outcomes, timeline */
.pov-card {
  background: var(--pov-white);
  border: 1px solid var(--pov-grey-3);
  border-radius: 8px;
  padding: 2rem;
}
.pov-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 8px;
  background: rgba(0,176,80,0.08);
  color: var(--pov-green);
  font-family: Montserrat, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* Grid */
.pov-grid { display: grid; gap: 1.5rem; }
.pov-grid--3 { grid-template-columns: repeat(3, 1fr); }
.pov-grid--2 { grid-template-columns: repeat(2, 1fr); }

/* Mobile */
@media (max-width: 768px) {
  .pov-section { padding: 3rem 0; }
  .pov-section h2 { font-size: 1.5rem; }
  .pov-grid--3,
  .pov-grid--2 { grid-template-columns: 1fr; }
}
/* ============================================================
   POV Form Section — restyle HubSpot form to match brand
   Apply by giving the row containing the form module a
   Custom CSS class of "pov-form-section" in the page editor.
   ============================================================ */

.pov-form-section { padding: 5rem 0; }

.pov-form-section .hs_cos_wrapper_type_form,
.pov-form-section form.hs-form {
  background: #FFFFFF;
  border: 1px solid #E6E6E6;
  border-radius: 8px;
  padding: 3rem;
  max-width: 640px;
  margin: 0 auto;
}

.pov-form-section .hs-form-field > label,
.pov-form-section .hs-form-field label {
  display: block;
  font-family: Montserrat, sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  color: #2B2A27;
  margin-bottom: 0.375rem;
}

.pov-form-section .hs-input,
.pov-form-section input[type="text"],
.pov-form-section input[type="email"],
.pov-form-section input[type="tel"],
.pov-form-section select,
.pov-form-section textarea {
  width: 100% !important;
  padding: 0.75rem 0.875rem !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 1rem !important;
  border: 1px solid #BAB9B9 !important;
  border-radius: 4px !important;
  background: #FFFFFF !important;
  color: #2B2A27 !important;
  margin-bottom: 1rem !important;
  box-sizing: border-box !important;
}

.pov-form-section .hs-input:focus,
.pov-form-section input:focus,
.pov-form-section select:focus,
.pov-form-section textarea:focus {
  outline: none !important;
  border-color: #00B050 !important;
  box-shadow: 0 0 0 3px rgba(0,176,80,0.15) !important;
}

.pov-form-section textarea {
  min-height: 6rem !important;
  resize: vertical !important;
}

.pov-form-section .hs-button,
.pov-form-section input[type="submit"] {
  display: block !important;
  width: 100% !important;
  background: #00B050 !important;
  color: #FFFFFF !important;
  padding: 1rem 2rem !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  letter-spacing: 0.03em !important;
  border: 2px solid #00B050 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  margin-top: 0.5rem !important;
  text-transform: none !important;
}

.pov-form-section .hs-button:hover,
.pov-form-section input[type="submit"]:hover {
  background: #009244 !important;
  border-color: #009244 !important;
}

.pov-form-section .hs-form-required { color: #00B050; margin-left: 0.25rem; }

.pov-form-section .hs-error-msgs {
  list-style: none;
  margin: -0.5rem 0 0.5rem 0;
  padding: 0;
  color: #C53030;
  font-size: 0.875rem;
}
.pov-form-section .hs-error-msgs label { color: #C53030; font-weight: 400; }
.pov-form-section .hs-input.invalid,
.pov-form-section .hs-input.error { border-color: #C53030 !important; }

.pov-form-section .hs-richtext,
.pov-form-section .legal-consent-container {
  font-size: 0.8125rem;
  color: #57565D;
  line-height: 1.5;
  margin-top: 1rem;
}

.pov-form-section .hs-form-booleancheckbox label {
  font-weight: 400;
  color: #363B3E;
}

/* Power Theme wrapper override (if Maka adds a card style around the form) */
.pov-form-section .pwr-form,
.pov-form-section .pwr-form__container {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border: none !important;
}

@media (max-width: 768px) {
  .pov-form-section .hs_cos_wrapper_type_form,
  .pov-form-section form.hs-form { padding: 2rem 1.5rem; }
}
/* ============================================================
   POV form labels — stronger left-align override
   Wins against Power Theme parent containers
   ============================================================ */

body.pov-landing-page form.hs-form,
body.pov-landing-page form.hs-form fieldset,
body.pov-landing-page form.hs-form .hs-form-field,
body.pov-landing-page form.hs-form .hs-form-field > div,
body.pov-landing-page form.hs-form .input,
body.pov-landing-page .hs_cos_wrapper_type_form,
body.pov-landing-page .pwr-form,
body.pov-landing-page .pwr-form__container {
  text-align: left !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
}

body.pov-landing-page form.hs-form label,
body.pov-landing-page form.hs-form .hs-form-field > label,
body.pov-landing-page form.hs-form .hs-form-field label,
body.pov-landing-page form.hs-form fieldset label {
  display: block !important;
  text-align: left !important;
  width: auto !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  padding-left: 0 !important;
}

/* ============================================================
   POV form — override Power Theme's .pwr--align-c centering
   and clean up the empty card / border above the form
   ============================================================ */

/* Force everything inside the form widget to left-align */
body.pov-landing-page form.hs-form,
body.pov-landing-page form.hs-form *,
body.pov-landing-page .hs_cos_wrapper_type_form > form,
body.pov-landing-page .hs_cos_wrapper_type_form > form * {
  text-align: left !important;
}

/* Strip any background / border / shadow Power Theme adds around the form section */
body.pov-landing-page .pwr-sec-form,
body.pov-landing-page .pwr-sec-form__content,
body.pov-landing-page .pwr-sec-form__form,
body.pov-landing-page .pwr-form {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

/* ============================================================
   POV form — final overrides
   Targets .pwr--align-c directly and removes Power Theme
   form-section dividers above and below the form.
   ============================================================ */

/* Strip the centre alignment from Power Theme's .pwr--align-c
   wherever it lives inside the form section, then force all
   descendants of the form widget to inherit left. */
body.pov-landing-page .pwr-sec-form,
body.pov-landing-page .pwr-sec-form .pwr--align-c,
body.pov-landing-page .pwr-sec-form__content,
body.pov-landing-page .pwr-sec-form__form,
body.pov-landing-page .pwr-form,
body.pov-landing-page .hs_cos_wrapper_type_form,
body.pov-landing-page form.hs-form,
body.pov-landing-page form.hs-form fieldset,
body.pov-landing-page form.hs-form .hs-form-field,
body.pov-landing-page form.hs-form .hs-form-field > div,
body.pov-landing-page form.hs-form .input,
body.pov-landing-page form.hs-form label {
  text-align: left !important;
}

/* Kill the dividers / borders above and below the form section */
body.pov-landing-page .pwr-sec-form,
body.pov-landing-page .pwr-sec-form__content,
body.pov-landing-page .pwr-sec-form__intro-sec,
body.pov-landing-page .pwr-sec-form__form,
body.pov-landing-page .pwr-sec-form > *,
body.pov-landing-page .pwr-form {
  border-top: none !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  box-shadow: none !important;
  outline: none !important;
}

/* If Power Theme adds a separator pseudo-element, hide it */
body.pov-landing-page .pwr-sec-form::before,
body.pov-landing-page .pwr-sec-form::after,
body.pov-landing-page .pwr-form::before,
body.pov-landing-page .pwr-form::after,
body.pov-landing-page .pwr-sec-form__intro-sec::after,
body.pov-landing-page .pwr-sec-form__form::before {
  display: none !important;
  content: none !important;
}

/* Neutralise any borders or dividers on sections adjacent to the form */
body.pov-landing-page .pwr-anchor,
body.pov-landing-page .pwr-anchor + *,
body.pov-landing-page .pwr-sec-form,
body.pov-landing-page .pwr-sec-form > *,
body.pov-landing-page .pwr-sec-form > * > *,
body.pov-landing-page .pwr-sec,
body.pov-landing-page .pwr-sec-form-wrapper {
  border-top: 0 !important;
  border-bottom: 0 !important;
  border-image: none !important;
  background-image: none !important;
}

/* Power Theme sometimes uses a thin gradient at section boundaries.
   This kills any horizontal-rule visual on the form section's edges. */
body.pov-landing-page .pwr-sec-form::before,
body.pov-landing-page .pwr-sec-form::after,
body.pov-landing-page .pwr-anchor::before,
body.pov-landing-page .pwr-anchor::after {
  content: none !important;
  display: none !important;
  background: transparent !important;
  border: 0 !important;
  height: 0 !important;
}

/* If the FAQ section above has a bottom border, kill it too */
body.pov-landing-page .pov-faq-section,
body.pov-landing-page .pov-faq-section + *,
body.pov-landing-page .pwr-sec-form-faq + .pwr-sec-form {
  border-bottom: 0 !important;
  border-top: 0 !important;
  box-shadow: none !important;
}

/* ============================================================
   POV form — kill the card outline (was rendering as floating
   lines above and below the form because the wrapper is a span)
   and apply the v3 form styling that the new HubSpot form needs.
   ============================================================ */

/* Remove the old card outline that was creating the floating lines */
body.pov-landing-page .hs_cos_wrapper_type_form,
body.pov-landing-page form.hs-form,
body.pov-landing-page form.hsfc-Form,
body.pov-landing-page .hsfc-FormWrapper,
body.pov-landing-page .hsfc-Renderer {
  display: block !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 auto !important;
  max-width: 640px !important;
}

/* v3 form labels — match the look the v2 CSS gave us */
body.pov-landing-page .hsfc-FieldLabel,
body.pov-landing-page .hsfc-FieldLabel span {
  font-family: Montserrat, sans-serif !important;
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  color: #2B2A27 !important;
  text-align: left !important;
  display: block !important;
  margin-bottom: 0.375rem !important;
}

/* v3 form inputs */
body.pov-landing-page .hsfc-TextInput,
body.pov-landing-page .hsfc-TextareaInput {
  width: 100% !important;
  padding: 0.75rem 0.875rem !important;
  font-family: Montserrat, sans-serif !important;
  font-size: 1rem !important;
  border: 1px solid #BAB9B9 !important;
  border-radius: 4px !important;
  background: #FFFFFF !important;
  color: #2B2A27 !important;
  box-sizing: border-box !important;
  box-shadow: none !important;
}
body.pov-landing-page .hsfc-TextInput:focus,
body.pov-landing-page .hsfc-TextareaInput:focus {
  outline: none !important;
  border-color: #00B050 !important;
  box-shadow: 0 0 0 3px rgba(0,176,80,0.15) !important;
}
body.pov-landing-page .hsfc-TextareaInput {
  min-height: 6rem !important;
  resize: vertical !important;
}

/* v3 submit button */
body.pov-landing-page .hsfc-Button {
  width: 100% !important;
  background: #00B050 !important;
  background-color: #00B050 !important;
  color: #FFFFFF !important;
  padding: 1rem 2rem !important;
  font-family: Montserrat, sans-serif !important;
  font-weight: 700 !important;
  font-size: 1rem !important;
  letter-spacing: 0.03em !important;
  border: 2px solid #00B050 !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  text-transform: none !important;
  box-shadow: none !important;
}
body.pov-landing-page .hsfc-Button:hover {
  background: #009244 !important;
  background-color: #009244 !important;
  border-color: #009244 !important;
}

/* Required asterisk */
body.pov-landing-page .hsfc-FieldLabel__RequiredIndicator {
  color: #00B050 !important;
  margin-left: 0.25rem !important;
}

/* Strip the v3 form's own step background outline too */
body.pov-landing-page .hsfc-Step {
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Force left-align on every v3 form descendant */
body.pov-landing-page .hsfc-Form,
body.pov-landing-page .hsfc-Form *,
body.pov-landing-page .hsfc-FormWrapper,
body.pov-landing-page .hsfc-FormWrapper * {
  text-align: left !important;
}
/* Fix required-indicator asterisk — keep it inline with the label text */
body.pov-landing-page .hsfc-FieldLabel > span,
body.pov-landing-page .hsfc-FieldLabel > span > span,
body.pov-landing-page .hsfc-FieldLabel__RequiredIndicator {
  display: inline !important;
}
body.pov-landing-page .hsfc-FieldLabel__RequiredIndicator {
  color: #00B050 !important;
  margin-left: 0.25rem !important;
  font-weight: 600 !important;
}
/* Centre the submit button text (the form-wide left-align was catching it too) */
body.pov-landing-page .hsfc-Button {
  text-align: center !important;
}

/* ============================================================
   Partner Pages — shared module styles
   Used by: partner_hero, partner_logo_strip, partner_bigstat,
            partner_cards, partner_twocol, partner_usecases,
            partner_faq, partner_cta
   Brand: Catalyst BI 2025 (Montserrat, brand green #00B050)
   Reusable across Coalesce, Snowflake, Qlik, DataOps.live, Talend
   ============================================================ */
:root {
  --partner-dark:        #2B2A27;
  --partner-dark-2:      #363B3E;
  --partner-grey-1:      #57565D;
  --partner-grey-2:      #BAB9B9;
  --partner-grey-3:      #E6E6E6;
  --partner-grey-bg:     #F4F4F4;
  --partner-green:       #00B050;
  --partner-green-d:     #009244;
  --partner-green-light: #60B801;
  --partner-white:       #FFFFFF;
}

/* Sections */
.partner-section { padding: 5rem 0; background: var(--partner-white); }
.partner-section--tight { padding: 3.5rem 0; }
.partner-section--tight-top { padding-top: 2rem; }
.partner-section--dark { background: var(--partner-dark); color: var(--partner-grey-2); }
.partner-section--grey { background: var(--partner-grey-bg); }
.partner-section--dark h2,
.partner-section--dark h3 { color: var(--partner-white); }

.partner-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 1.5rem;
}

/* Section intros */
.partner-section__intro { max-width: 720px; margin: 0 0 2.5rem; }

/* Eyebrow */
.partner-eyebrow {
  display: inline-block;
  font-family: Montserrat, sans-serif;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.125em;
  text-transform: uppercase;
  color: var(--partner-green);
  margin-bottom: 1rem;
}
.partner-section--dark .partner-eyebrow { color: var(--partner-green-light); }

/* Headings */
.partner-section h2 {
  font-family: Montserrat, sans-serif;
  font-size: 1.875rem;
  line-height: 1.2;
  font-weight: 700;
  color: var(--partner-dark);
  margin: 0 0 1rem;
  letter-spacing: 0.03em;
}
.partner-section h3 {
  font-family: Montserrat, sans-serif;
  font-size: 1.25rem;
  line-height: 1.3;
  font-weight: 600;
  color: var(--partner-dark);
  margin: 0 0 0.75rem;
}
.partner-section p { line-height: 1.55; color: var(--partner-dark-2); }
.partner-section--dark p { color: var(--partner-grey-2); }

/* Accent span inside headings */
.partner-section h2 .accent,
.partner-section h2 .partner-accent { color: var(--partner-green); }
.partner-section--dark h2 .accent,
.partner-section--dark h2 .partner-accent { color: var(--partner-green-light); }

/* Buttons */
.partner-btn {
  display: inline-block;
  padding: 0.9rem 1.8rem;
  font-family: Montserrat, sans-serif;
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.03em;
  border-radius: 4px;
  text-decoration: none;
  border: 2px solid transparent;
  cursor: pointer;
}
.partner-btn--primary { background: var(--partner-green); color: var(--partner-white); }
.partner-btn--primary:hover { background: var(--partner-green-d); color: var(--partner-white); }
.partner-btn--secondary { background: transparent; color: var(--partner-white); border-color: var(--partner-white); }
.partner-btn--secondary:hover { background: var(--partner-white); color: var(--partner-dark); }

/* Card primitive — used by cards grid, results, twocol tile */
.partner-card {
  background: var(--partner-white);
  border: 1px solid var(--partner-grey-3);
  border-radius: 8px;
  padding: 2rem;
}
.partner-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 8px;
  background: rgba(0,176,80,0.08);
  color: var(--partner-green);
  font-family: Montserrat, sans-serif;
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1rem;
}

/* Grid */
.partner-grid { display: grid; gap: 1.5rem; }
.partner-grid--2 { grid-template-columns: repeat(2, 1fr); }
.partner-grid--3 { grid-template-columns: repeat(3, 1fr); }
.partner-grid--4 { grid-template-columns: repeat(4, 1fr); }

/* Mobile */
@media (max-width: 768px) {
  .partner-section { padding: 3rem 0; }
  .partner-section h2 { font-size: 1.5rem; }
  .partner-grid--2,
  .partner-grid--3,
  .partner-grid--4 { grid-template-columns: 1fr; }
}
.content-section { padding: 5rem 0; background: var(--partner-white); }
.content-eyebrow { color: var(--partner-green); text-transform: uppercase; letter-spacing: 0.125em; font-size: 0.8125rem; font-weight: 700; }
.content-container {
  max-width: 1140px;
  margin: 0 auto;
  padding: 0 2.5rem;
}
.content-faq h2 {
  margin-bottom: 2.5rem;
}
.content-faq .content-container {
  background: var(--partner-white, #FFFFFF);
  border: 1px solid #D8DAD5;
  border-radius: 16px;
  padding: 3rem;
  box-shadow: 0 4px 16px rgba(43,42,39,0.04);
}

@media (max-width: 768px) {
  .content-faq .content-container {
    padding: 2rem 1.5rem;
    border-radius: 12px;
  }
}
css.content-faq {
  padding: 2.5rem 0;
}

section.content-faq {
  padding: 0rem 0;
  background: transparent;
}
..blog-post-content ul li::before,
.hs-blog-post ul li::before,
article ul li::before {
  content: none !important;
  display: none !important;