  /* ── Wrapper — matches the grey Pardot container ── */
  .hs-form-wrapper *,
  .hs-form-wrapper *::before,
  .hs-form-wrapper *::after {
    box-sizing: border-box; margin: 0; padding: 0;
    font-family: "Open Sans",sans-serif !important;
}
  .hs-form-wrapper {
    background: #E2E2E2;
    padding: 24px 28px 20px;
    max-width: 900px;
    margin: 0 auto;
    font-size: 14px;
    color: #333;
  }


  /* ── Heading ── */
  .form-heading {
    font-size: 22px;
    font-weight: bold;
    color: #8b1a2a;
    text-align: center;
    margin-bottom: 16px;
    line-height: 1.3;
  }

  /* ── Sub-copy ── */
  .form-subcopy {
    font-size: 13px;
    color: #666666;
    margin-bottom: 14px;
    line-height: 1.5;
  }
  .form-subcopy a {
    color: #8b1a2a;
    text-decoration: none;
  }
  .form-subcopy a:hover { text-decoration: underline; }

  /* ────────────────────────────────────────────────
     HubSpot overrides — make it look like Pardot
  ──────────────────────────────────────────────── */

  /* Remove HubSpot's default outer padding/margin */
  #hsDownloadForm .hbspt-form,
  #hsDownloadForm form.hs-form {
    margin: 0 !important;
    padding: 0 !important;
  }

  /* Two-column grid that mirrors the Pardot layout */
  #hsDownloadForm .hs-form-booleancheckbox-display,
  #hsDownloadForm fieldset {
    max-width: 100% !important;
  }

  #hsDownloadForm .form-columns-2 {
    display: flex !important;
    gap: 10px !important;
    margin-bottom: 10px !important;
  }

  #hsDownloadForm .form-columns-2 .hs-form-field {
    flex: 1 !important;
    min-width: 0 !important;
  }

  #hsDownloadForm .form-columns-1 {
    margin-bottom: 10px !important;
  }

  /* Hide labels — Pardot used placeholder-only inputs */
  #hsDownloadForm .hs-form-field > label,
  #hsDownloadForm .hs-field-desc {
    display: none !important;
  }

  /* Inputs & textareas */
  #hsDownloadForm input[type="text"],
  #hsDownloadForm input[type="email"],
  #hsDownloadForm input[type="tel"],
  #hsDownloadForm textarea {
    width: 100% !important;
    height: 44px !important;
    padding: 0px 10px !important;
    font-size: 18px !important;
    color: #a7a7a7 !important;
    background: #fdfdfd !important;
    border: 1px solid #aaaaaa !important;
    border-radius: 0 !important;
    outline: none !important;
    box-shadow: none !important;
    -webkit-appearance: none !important;
  }

  #hsDownloadForm input[type="text"]:focus,
  #hsDownloadForm input[type="email"]:focus,
  #hsDownloadForm input[type="tel"]:focus {
    border-color: #aaaaaa !important;
    color: #333333 !important;
  }

  /* Validation error state — red border + icon like Pardot */
  #hsDownloadForm .hs-input.invalid.error,
  #hsDownloadForm .hs-input.error {
    border-color: #c0002a !important;
    color: #c0002a !important;
  }
#hsDownloadForm .hs-input.invalid,
        #hsDownloadForm .hs-input.error {
            border-color: #c0002a !important;
            background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%23c0002a'/%3E%3Ctext x='10' y='15' text-anchor='middle' fill='white' font-size='13' font-family='Arial' font-weight='bold'%3E!%3C/text%3E%3C/svg%3E") !important;
            background-repeat: no-repeat !important;
            background-position: right 6px center !important;
            background-size: 18px 18px !important;
            padding-right: 30px !important;
        }
  /* Hide default HubSpot error messages under fields */
  #hsDownloadForm .hs-error-msgs {
    display: none !important;
  }

  /* Global error message (Pardot's "Please complete all required fields") */
  #hsDownloadForm .hs_error_rollup {
    margin-bottom: 8px !important;
  }
  #hsDownloadForm .hs_error_rollup .hs-error-msgs {
    display: block !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  #hsDownloadForm .hs_error_rollup .hs-error-msgs label {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    font-size: 13px !important;
    font-weight: bold;
    color: #c0002a !important;
  }
  #hsDownloadForm .hs_error_rollup .hs-error-msgs label::before {
    content: "⚠" !important;
    font-size: 16px !important;
    line-height: 1 !important;
    flex-shrink: 0 !important;
  }

  /* Checkbox row */
  #hsDownloadForm .hs-form-booleancheckbox {
    list-style: none !important;
    margin-bottom: 10px !important;
  }
  #hsDownloadForm .hs-form-booleancheckbox label {
    display: flex !important;
    align-items: flex-start !important;
    gap: 6px !important;
    font-size: 13px !important;
    color: #830024 !important;
    cursor: pointer !important;
    line-height: 1.4 !important;
    font-weight: 400;
  }
  #hsDownloadForm .hs-form-booleancheckbox input[type="checkbox"] {
    width: 14px !important;
    height: 14px !important;
    margin-top: 2px !important;
    flex-shrink: 0 !important;
  }

  /* Submit button */
  #hsDownloadForm input[type="submit"],
  #hsDownloadForm .hs-button {
    margin: 0;
    padding: 0;
    border: 2px solid #b8103d;
    color: #ffffff;
    background-color: #b8103d;
    color: #fff !important;
    font-size: 22px !important;
    border: none !important;
    height: 57px;
    width: 100%;
    max-width: 460px;
    font-weight: 400;
    border-radius: 10px !important;
    padding: 0 !important;
    cursor: pointer !important;
    min-width: 220px !important;
    display: block !important;
    margin: 0 !important;
    -webkit-appearance: none !important;
    letter-spacing: 0.01em !important;
  }
  #hsDownloadForm input[type="submit"]:hover,
  #hsDownloadForm .hs-button:hover {
    background-color: #d11d4d !important;
  }

  /* Comments / textarea */
  #hsDownloadForm textarea {
    height: 80px !important;
    resize: vertical !important;
  }

  #hsDownloadForm .submitted-message {
    background: #e4e5f1;
    padding: 16px;
    border-radius: 8px;
  }
  #hsDownloadForm .submitted-message > p > a:has(> strong > span > code > span)
  {
    padding: 0 28px !important;
    margin: 20px 0 !important;

    background-color: #b8103d;
    border-radius: 10px !important;
    color: #fff !important;
    font-size: 22px !important;
    font-weight: 400;
    border: none !important;

    display: flex !important;
    align-items: center;
    justify-content: center;
    width: fit-content;
    max-width: 100%;
    min-width: 220px;
    min-height: 57px;
    height: 57px;
    box-sizing: border-box;
   
    cursor: pointer !important;
    -webkit-appearance: none !important;
    letter-spacing: 0.01em !important;
    text-decoration: none;
  }
  #hsDownloadForm .submitted-message > p > a:has(> strong > span > code > span):hover
  {
    background-color: #d11d4d !important;
  }

  #hsDownloadForm .submitted-message a {
    color: #000080;
  }

  /* ── Privacy line ── */
  .form-privacy {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    color: #8e8c8c;
    font-size: 14px;
    font-style: italic;
    font-style: italic;
  }
  .form-privacy svg {
    flex-shrink: 0;
    width: 28px;
    height: 34px;
  }
  .form-privacy a {
    color: #8b1a2a;
    text-decoration: underline;
  }
  .form-privacy-text { line-height: 1.4; }

  /* Hide content after submission to remove distractions */
  .hs-form-wrapper:has(.submitted-message) .form-heading,
  .hs-form-wrapper:has(.submitted-message) .form-subcopy,
  .hs-form-wrapper:has(.submitted-message) .form-privacy
  {
    display: none;
  }
  .hs-form-wrapper:has(.submitted-message) {
    background: transparent;
  }