
    *, *::before, *::after { box-sizing: border-box; }
    html, body {
      margin: 0;
      padding: 0;
      font-family: "Montserrat", "Helvetica Neue", Arial, sans-serif;
      color: #1F1F23;
      background: #FFFFFF;
      font-size: 16px;
      line-height: 1.5;
    }
    body {
      padding: 24px;
      max-width: 640px;
      margin: 0 auto;
      /* Hidden-until-measured: the form fades in once the runtime has
         posted the first resize event to the parent (the Qualia pattern,
         with no flash of mis-sized content). CSS-level fallback animation
         reveals the body after 1.2s even if the runtime fails to load
         (CSP block, network error, etc.) so the form is never stuck
         invisible. The .cms-ready class wins over the keyframe via
         animation:none + opacity:1 when the runtime fires correctly. */
      opacity: 0;
      transition: opacity 0.18s ease-in;
      animation: cms-form-reveal-fallback 0s 1.2s forwards;
    }
    @keyframes cms-form-reveal-fallback {
      to { opacity: 1; }
    }
    body.cms-ready {
      opacity: 1;
      animation: none;
    }
    @media (min-width: 768px) {
      body { padding: 32px; }
    }
    h1.form-heading {
      font-weight: 800;
      font-size: 1.6rem;
      color: #3D1F5C;
      margin: 0 0 0.4rem 0;
      line-height: 1.25;
    }
    p.form-subheading {
      color: #6B6B72;
      margin: 0 0 1.4rem 0;
      font-size: 0.96rem;
    }
    form { display: flex; flex-direction: column; gap: 1rem; }
    .field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
    @media (max-width: 520px) {
      .field-row { grid-template-columns: 1fr; }
    }
    .field { display: flex; flex-direction: column; gap: 0.35rem; }
    fieldset.field { border: 0; padding: 0; margin: 0; }
    fieldset.field legend {
      font-weight: 600;
      font-size: 0.92rem;
      color: #1F1F23;
      padding: 0;
      margin-bottom: 0.35rem;
    }
    .field label {
      font-weight: 600;
      font-size: 0.92rem;
      color: #1F1F23;
    }
    .field .req { color: #C74074; font-weight: 700; }
    .field input,
    .field select,
    .field textarea {
      font: inherit;
      padding: 10px 12px;
      border: 1px solid #E5E7EB;
      border-radius: 8px;
      background: #F9FAFB;
      color: #1F1F23;
      transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }
    .field input:focus,
    .field select:focus,
    .field textarea:focus {
      outline: none;
      border-color: #C74074;
      box-shadow: 0 0 0 2px #C7407433;
      background: #FFFFFF;
    }
    .field-check .check-label {
      display: flex;
      align-items: flex-start;
      gap: 0.6rem;
      font-weight: 400;
      font-size: 0.92rem;
      line-height: 1.45;
      cursor: pointer;
    }
    .field-check input[type="checkbox"] {
      margin-top: 0.18rem;
      width: 18px;
      height: 18px;
      accent-color: #3D1F5C;
    }
    .consent-block,
    .privacy-block {
      font-size: 0.88rem;
      color: #6B6B72;
      line-height: 1.5;
      padding: 0.6rem 0;
    }
    .consent-block strong { color: #1F1F23; }
    .submit-row {
      display: flex;
      justify-content: flex-end;
      margin-top: 0.6rem;
    }
    button.submit {
      font: inherit;
      font-weight: 700;
      font-size: 0.98rem;
      padding: 0.65rem 1.6rem;
      background: #3D1F5C;
      color: #fff;
      border: none;
      border-radius: 9999px;
      cursor: pointer;
      transition: background 0.15s ease, transform 0.05s ease;
    }
    button.submit:hover:not(:disabled) { background: #C74074; }
    button.submit:active:not(:disabled) { transform: translateY(1px); }
    button.submit:disabled { opacity: 0.6; cursor: wait; }
    /* Honeypot: visually + ARIA hidden, off-screen for bot accessibility */
    .honeypot {
      position: absolute;
      left: -9999px;
      top: -9999px;
      width: 1px;
      height: 1px;
      opacity: 0;
      pointer-events: none;
    }
    .form-error {
      color: #962027;
      font-size: 0.9rem;
      padding: 0.6rem 0.8rem;
      background: #96202711;
      border-radius: 8px;
      margin-top: 0.6rem;
    }
    .form-success {
      color: #0F7C4A;
      padding: 1.4rem;
      background: #0F7C4A11;
      border-radius: 8px;
      text-align: center;
      font-size: 1.02rem;
      font-weight: 600;
    }
    .field-required-msg {
      color: #962027;
      font-size: 0.84rem;
      margin-top: 0.2rem;
    }
  
.imi-s1:not(#imi-inline-style-scope){
display:none
}
.imi-s2:not(#imi-inline-style-scope){
margin:0;font-size:0.85rem;color:#6B6B72
}