*, *::before, *::after { box-sizing: border-box; }

    body {
      margin: 0;
      padding: 0;
      background: var(--background-background, #F7F3F3);
      <!--background-color: var(--p-color-background);-->
      color: var(--p-color-text-primary);
      font-family: 'Storebrand Text', sans-serif;
      font-size: 1rem;
      line-height: 1.375rem;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }

    @media (min-width: 600px) {
      body { font-size: 1.125rem; line-height: 1.625rem; }
    }

    .form-page {
      background-color: white;
      max-width: 600px;
      margin: 0 auto;
      padding: var(--p-spacing-24) var(--p-spacing-16);
      border-radius: 12px;
    }

    @media (min-width: 600px) {
      .form-page { padding: var(--p-spacing-48) var(--p-spacing-24); }
    }

    h1 {
      font-family: 'Storebrand Display', sans-serif;
      font-weight: 600;
      font-size: 1.5rem;
      line-height: 2rem;
      color: var(--p-color-text-primary);
      margin: 0 0 var(--p-spacing-08) 0;
    }

    @media (min-width: 600px) {
      h1 { font-size: 2rem; line-height: 2.625rem; }
    }

    h2 {
      font-family: 'Storebrand Display', sans-serif;
      font-weight: 600;
      font-size: 1.125rem;
      line-height: 1.5rem;
      color: var(--p-color-text-primary);
      margin: 0 0 var(--p-spacing-04) 0;
    }

    @media (min-width: 600px) {
      h2 { font-size: 1.25rem; line-height: 1.75rem; }
    }

    .subtitle {
      color: var(--p-color-text-secondary);
      margin-bottom: var(--p-spacing-16);
    }

    .description {
      color: var(--p-color-text-secondary);
      font-size: 0.875rem;
      line-height: 1.25rem;
      margin-bottom: var(--p-spacing-08);
    }

    @media (min-width: 600px) {
      .description { font-size: 1rem; line-height: 1.375rem; }
    }

    .form-section { margin-bottom: var(--p-spacing-24); }
    .form-section:last-of-type { margin-bottom: var(--p-spacing-32); }

    .form-field { margin-bottom: var(--p-spacing-16); }

    .form-field label {
      display: block;
      font-family: 'Storebrand Text', sans-serif;
      font-weight: 500;
      font-size: 0.875rem;
      line-height: 1.25rem;
      color: var(--p-color-text-primary);
      margin-bottom: var(--p-spacing-04);
    }

    @media (min-width: 600px) {
      .form-field label { font-size: 1rem; line-height: 1.375rem; }
    }

    .form-input {
      display: block;
      width: 100%;
      padding: var(--p-spacing-12) var(--p-spacing-16);
      font-family: 'Storebrand Text', sans-serif;
      font-size: 1rem;
      line-height: 1.375rem;
      color: var(--p-color-text-primary);
      background-color: var(--p-color-background);
      border: var(--p-border-small) solid var(--p-color-stroke);
      border-radius: var(--p-corner-radius-small);
      outline: none;
      transition: border-color 0.15s ease;
      appearance: none;
      -webkit-appearance: none;
    }

    .form-input::placeholder { color: var(--p-color-text-placeholder); }
    .form-input:hover { border-color: var(--p-color-stroke-hover); }

    .form-input:focus {
      border-color: var(--p-color-stroke-strong);
      outline: var(--p-outline);
      outline-offset: var(--p-outline-offset);
    }

    .form-input.input-error { border-color: var(--p-color-stroke-error); }

    .error-msg {
      color: var(--p-color-text-error);
      font-size: 0.75rem;
      line-height: 1rem;
      margin-top: var(--p-spacing-04);
    }

    @media (min-width: 600px) {
      .error-msg { font-size: 0.875rem; line-height: 1.125rem; }
    }

    .inputhidden { display: none; }

    .checkbox-wrapper {
      display: flex;
      align-items: flex-start;
      gap: var(--p-spacing-12);
      padding: var(--p-spacing-16) 0;
    }

    .checkbox-wrapper input[type="checkbox"] {
      appearance: none;
      -webkit-appearance: none;
      width: 24px;
      height: 24px;
      min-width: 24px;
      border: var(--p-border-small) solid var(--p-color-stroke-strong);
      border-radius: 4px;
      background: var(--p-color-background);
      cursor: pointer;
      position: relative;
      margin: 0;
      transition: background-color 0.15s ease, border-color 0.15s ease;
    }

    .checkbox-wrapper input[type="checkbox"]:hover {
      border-color: var(--p-color-stroke-strong-hover);
      background-color: var(--p-color-background-hover);
    }

    .checkbox-wrapper input[type="checkbox"]:focus-visible {
      outline: var(--p-outline);
      outline-offset: var(--p-outline-offset);
    }

    .checkbox-wrapper input[type="checkbox"]:checked {
      background-color: var(--p-color-background-selected);
      border-color: var(--p-color-background-selected);
    }

    .checkbox-wrapper input[type="checkbox"]:checked::after {
      content: '';
      position: absolute;
      top: 3px;
      left: 7px;
      width: 6px;
      height: 12px;
      border: solid var(--p-color-text-on-color);
      border-width: 0 2px 2px 0;
      transform: rotate(45deg);
    }

    .checkbox-wrapper label {
      font-family: 'Storebrand Text', sans-serif;
      font-size: 1rem;
      line-height: 1.375rem;
      color: var(--p-color-text-primary);
      cursor: pointer;
      padding-top: 1px;
    }

    @media (min-width: 600px) {
      .checkbox-wrapper label { font-size: 1.125rem; line-height: 1.625rem; }
    }

    .form-actions {
      display: flex;
      flex-direction: column;
      gap: var(--p-spacing-12);
      margin-top: var(--p-spacing-32);
    }

    @media (min-width: 600px) {
      .form-actions { flex-direction: row; }
    }

    .btn {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      font-family: 'Storebrand Text', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      line-height: 1.375rem;
      border-radius: var(--p-corner-radius-extreme);
      padding: var(--p-spacing-12) var(--p-spacing-32);
      cursor: pointer;
      text-decoration: none;
      border: none;
      transition: background-color 0.15s ease;
      min-height: 48px;
    }

    @media (min-width: 600px) {
      .btn { font-size: 1.125rem; line-height: 1.625rem; }
    }

    .btn:focus-visible {
      outline: var(--p-outline);
      outline-offset: var(--p-outline-offset);
    }

    .btn-brand {
      background-color: var(--p-color-button-brand-fill);
      color: var(--p-color-text-on-color);
    }

    .btn-brand:hover { background-color: var(--p-color-button-brand-fill-hover); }
    .btn-brand:active { background-color: var(--p-color-button-brand-fill-pressed); }

    .btn-secondary {
      background-color: transparent;
      color: var(--p-color-text-interactive);
      border: var(--p-border-small) solid var(--p-color-stroke-interactive);
    }

    .btn-secondary:hover {
      background-color: var(--p-color-background-hover);
      border-color: var(--p-color-stroke-interactive-hover);
      color: var(--p-color-text-primary);
    }

    .btn-secondary:active { background-color: var(--p-color-background-pressed); }

    .info-text {
      background-color: var(--p-color-surface-1);
      border-radius: var(--p-corner-radius-small);
      padding: var(--p-spacing-16);
      color: var(--p-color-text-secondary);
      font-size: 0.875rem;
      line-height: 1.25rem;
      margin-bottom: var(--p-spacing-16);
    }

    @media (min-width: 600px) {
      .info-text { font-size: 1rem; line-height: 1.375rem; }
    }

.visually-hidden {
      position: absolute;
      width: 1px;
      height: 1px;
      padding: 0;
      margin: -1px;
      overflow: hidden;
      clip: rect(0, 0, 0, 0);
      white-space: nowrap;
      border: 0;
}

.form-contactme-line{ 
 border-bottom: 2px solid #da291c;
 margin-bottom: 20px;
 padding-bottom: 3px;
}

.stbImage img.center {
  display: block;
  margin-right: auto;
  width: 30%;
}

.TopImage {
  margin-left: calc(-1 * var(--p-spacing-16));
  margin-right: calc(-1 * var(--p-spacing-16));
  margin-top: calc(-1 * var(--p-spacing-24));
  width: calc(100% + 2 * var(--p-spacing-16));
}

@media (min-width: 600px) {
  .TopImage {
    margin-left: calc(-1 * var(--p-spacing-24));
    margin-right: calc(-1 * var(--p-spacing-24));
    margin-top: calc(-1 * var(--p-spacing-48));
    width: calc(100% + 2 * var(--p-spacing-24));
  }
}

.TopImage img {
  display: block;
  width: 100%;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 550px) {
  .TopImage img {
    max-width: 100%;
  }
}

.form-heading {
  max-width: 600px;
  margin: 0 auto;
  padding: var(--p-spacing-56) var(--p-spacing-16) 0 var(--p-spacing-16);
}

@media (min-width: 600px) {
  .form-heading {
    padding: var(--p-spacing-56) var(--p-spacing-24) 0 var(--p-spacing-24);
  }
}

.form-heading h1 {
  margin: 0 0 var(--p-spacing-08) 0;
}

.dotlist {
      margin-left: 20px;
    }

a:not(.btn) {
  color: var(--p-color-text-primary);
}

a:not(.btn):visited {
  color: var(--p-color-text-primary);
}

a:not(.btn):hover {
  color: var(--p-color-text-primary);
}

a:not(.btn):active {
  color: var(--p-color-text-primary);
}