@layer reset, framework, base, layout, components, utilities;
@layer framework {
  /* Bulma Utilities */
  :root {
    --bulma-control-radius: var(--bulma-radius);
    --bulma-control-radius-small: var(--bulma-radius-small);
    --bulma-control-border-width: 1px;
    --bulma-control-height: 2.5em;
    --bulma-control-line-height: 1.5;
    --bulma-control-padding-vertical: calc(0.5em - 1px);
    --bulma-control-padding-horizontal: calc(0.75em - 1px);
    --bulma-control-size: var(--bulma-size-normal);
    --bulma-control-focus-shadow-l: 50%;
  }
}
:root {
  --spacing-xs: 0.25rem;
  --spacing-s: 0.5rem;
  --spacing-m: 1rem;
  --spacing-l: 1.25rem;
  --spacing-xl: 1.5rem;
  --spacing-xxl: 2rem;
  --spacing-xxxl: 3rem;
  --spacing-hxl: 4rem;
}

@media only screen and (width <= 380px) {
  :root {
    --spacing-xs: 0.25rem;
    --spacing-s: 0.25rem;
    --spacing-m: 0.5rem;
    --spacing-l: 0.75rem;
    --spacing-xl: 1rem;
    --spacing-xxl: 1.5rem;
    --spacing-xxxl: 2rem;
    --spacing-hxl: 3rem;
  }
}
@media only screen and (width >= 769px) {
  :root {
    --spacing-xs: 0.25rem;
    --spacing-s: 0.75rem;
    --spacing-m: 1rem;
    --spacing-l: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-xxl: 3rem;
    --spacing-xxxl: 4rem;
    --spacing-hxl: 6rem;
  }
}
@media only screen and (width >= 1024px) {
  :root {
    --spacing-xs: 0.25rem;
    --spacing-s: 0.75rem;
    --spacing-m: 1rem;
    --spacing-l: 1.5rem;
    --spacing-xl: 2rem;
    --spacing-xxl: 3rem;
    --spacing-xxxl: 4rem;
    --spacing-hxl: 6rem;
  }
}
:root {
  --font-brand: "Brown", sans-serif;
  --font-ui: "Inter", system-ui, sans-serif;
  --text-heading-font: var(--font-brand);
  --text-body-font: var(--font-ui);
  --text-data-font: var(--font-ui);
  --text-label-font: var(--font-ui);
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-ui-strong: 580;
  --weight-semibold: 650;
  --weight-bold: 700;
  --type-hero-font-size: 3rem;
  --type-hero-line-height: 3.9rem;
  --type-hero-font-weight: var(--weight-bold);
  --type-hero-letter-spacing: 0;
  --type-h1-font-size: 2rem;
  --type-h1-line-height: 2.6rem;
  --type-h1-font-weight: var(--weight-bold);
  --type-h1-letter-spacing: 0;
  --type-h2-font-size: 1.75rem;
  --type-h2-line-height: 2.275rem;
  --type-h2-font-weight: var(--weight-bold);
  --type-h2-letter-spacing: 0;
  --type-h3-font-size: 1.5rem;
  --type-h3-line-height: 1.95rem;
  --type-h3-font-weight: var(--weight-bold);
  --type-h3-letter-spacing: 0;
  --type-h4-font-size: 1.375rem;
  --type-h4-line-height: 1.7875rem;
  --type-h4-font-weight: var(--weight-bold);
  --type-h4-letter-spacing: 0;
  --type-h5-font-size: 1.125rem;
  --type-h5-line-height: 1.4625rem;
  --type-h5-font-weight: var(--weight-bold);
  --type-h5-letter-spacing: 0;
  --type-body-font-size: 1rem;
  --type-body-line-height: 1.6rem;
  --type-body-font-weight: var(--weight-regular);
  --type-body-letter-spacing: 0;
  --type-button-font-size: 1rem;
  --type-button-line-height: 1.6rem;
  --type-button-font-weight: var(--weight-bold);
  --type-button-letter-spacing: 0;
  --type-body-bold-font-size: 1rem;
  --type-body-bold-line-height: 1.6rem;
  --type-body-bold-font-weight: var(--weight-bold);
  --type-body-bold-letter-spacing: 0;
  --type-body-semibold-font-size: 1rem;
  --type-body-semibold-line-height: 1.6rem;
  --type-body-semibold-font-weight: var(--weight-semibold);
  --type-body-semibold-letter-spacing: 0;
  --type-small-font-size: 0.8rem;
  --type-small-line-height: 1.2813rem;
  --type-small-font-weight: var(--weight-regular);
  --type-small-letter-spacing: 0;
  --type-small-semibold-font-size: 0.8rem;
  --type-small-semibold-line-height: 1.2813rem;
  --type-small-semibold-font-weight: var(--weight-semibold);
  --type-small-semibold-letter-spacing: 0;
  --type-tiny-font-size: 0.6938rem;
  --type-tiny-line-height: 1.1125rem;
  --type-tiny-font-weight: var(--weight-regular);
  --type-tiny-letter-spacing: 0;
  --type-eyebrow-l-font-size: 1rem;
  --type-eyebrow-l-line-height: 1.6rem;
  --type-eyebrow-l-font-weight: var(--weight-bold);
  --type-eyebrow-l-letter-spacing: 0.04em;
  --type-eyebrow-m-font-size: 0.8rem;
  --type-eyebrow-m-line-height: 1.2813rem;
  --type-eyebrow-m-font-weight: var(--weight-bold);
  --type-eyebrow-m-letter-spacing: 0.04em;
}

@media only screen and (width < 400px) {
  :root {
    --type-hero-font-size: 2.25rem;
    --type-hero-line-height: 2.625rem;
    --type-hero-font-weight: var(--weight-bold);
    --type-hero-letter-spacing: 0;
    --type-h1-font-size: 1.75rem;
    --type-h1-line-height: 2.125rem;
    --type-h1-font-weight: var(--weight-bold);
    --type-h1-letter-spacing: 0;
    --type-h2-font-size: 1.5rem;
    --type-h2-line-height: 1.875rem;
    --type-h2-font-weight: var(--weight-bold);
    --type-h2-letter-spacing: 0;
    --type-h3-font-size: 1.375rem;
    --type-h3-line-height: 1.75rem;
    --type-h3-font-weight: var(--weight-bold);
    --type-h3-letter-spacing: 0;
    --type-h4-font-size: 1.25rem;
    --type-h4-line-height: 1.625rem;
    --type-h4-font-weight: var(--weight-bold);
    --type-h4-letter-spacing: 0;
    --type-h5-font-size: 1.125rem;
    --type-h5-line-height: 1.5rem;
    --type-h5-font-weight: var(--weight-bold);
    --type-h5-letter-spacing: 0;
    --type-body-font-size: 1rem;
    --type-body-line-height: 1.5rem;
    --type-body-font-weight: var(--weight-regular);
    --type-body-letter-spacing: 0;
    --type-button-font-size: 1rem;
    --type-button-line-height: 1.5rem;
    --type-button-font-weight: var(--weight-bold);
    --type-button-letter-spacing: 0;
    --type-body-bold-font-size: 1rem;
    --type-body-bold-line-height: 1.5rem;
    --type-body-bold-font-weight: var(--weight-bold);
    --type-body-bold-letter-spacing: 0;
    --type-body-semibold-font-size: 1rem;
    --type-body-semibold-line-height: 1.5rem;
    --type-body-semibold-font-weight: var(--weight-semibold);
    --type-body-semibold-letter-spacing: 0;
    --type-small-font-size: 0.8rem;
    --type-small-line-height: 1.25rem;
    --type-small-font-weight: var(--weight-regular);
    --type-small-letter-spacing: 0;
    --type-small-semibold-font-size: 0.8rem;
    --type-small-semibold-line-height: 1.25rem;
    --type-small-semibold-font-weight: var(--weight-semibold);
    --type-small-semibold-letter-spacing: 0;
    --type-tiny-font-size: 0.6938rem;
    --type-tiny-line-height: 1.125rem;
    --type-tiny-font-weight: var(--weight-regular);
    --type-tiny-letter-spacing: 0;
    --type-eyebrow-l-font-size: 1rem;
    --type-eyebrow-l-line-height: 1.5rem;
    --type-eyebrow-l-font-weight: var(--weight-bold);
    --type-eyebrow-l-letter-spacing: 0.04em;
    --type-eyebrow-m-font-size: 0.8rem;
    --type-eyebrow-m-line-height: 1.25rem;
    --type-eyebrow-m-font-weight: var(--weight-bold);
    --type-eyebrow-m-letter-spacing: 0.04em;
  }
}
@media only screen and (width > 768px) {
  :root {
    --type-hero-font-size: 4rem;
    --type-hero-line-height: 5.2rem;
    --type-hero-font-weight: var(--weight-bold);
    --type-hero-letter-spacing: 0;
    --type-h1-font-size: 2.9875rem;
    --type-h1-line-height: 3.8813rem;
    --type-h1-font-weight: var(--weight-bold);
    --type-h1-letter-spacing: 0;
    --type-h2-font-size: 2.4875rem;
    --type-h2-line-height: 3.2313rem;
    --type-h2-font-weight: var(--weight-bold);
    --type-h2-letter-spacing: 0;
    --type-h3-font-size: 2.075rem;
    --type-h3-line-height: 2.7rem;
    --type-h3-font-weight: var(--weight-bold);
    --type-h3-letter-spacing: 0;
    --type-h4-font-size: 1.725rem;
    --type-h4-line-height: 2.2437rem;
    --type-h4-font-weight: var(--weight-bold);
    --type-h4-letter-spacing: 0;
    --type-h5-font-size: 1.4375rem;
    --type-h5-line-height: 1.8687rem;
    --type-h5-font-weight: var(--weight-bold);
    --type-h5-letter-spacing: 0;
    --type-body-font-size: 1rem;
    --type-body-line-height: 1.6rem;
    --type-body-font-weight: var(--weight-regular);
    --type-body-letter-spacing: 0;
    --type-button-font-size: 1rem;
    --type-button-line-height: 1.6rem;
    --type-button-font-weight: var(--weight-bold);
    --type-button-letter-spacing: 0;
    --type-body-bold-font-size: 1rem;
    --type-body-bold-line-height: 1.6rem;
    --type-body-bold-font-weight: var(--weight-bold);
    --type-body-bold-letter-spacing: 0;
    --type-body-semibold-font-size: 1rem;
    --type-body-semibold-line-height: 1.6rem;
    --type-body-semibold-font-weight: var(--weight-semibold);
    --type-body-semibold-letter-spacing: 0;
    --type-small-font-size: 0.8313rem;
    --type-small-line-height: 1.3313rem;
    --type-small-font-weight: var(--weight-regular);
    --type-small-letter-spacing: 0;
    --type-small-semibold-font-size: 0.8313rem;
    --type-small-semibold-line-height: 1.3313rem;
    --type-small-semibold-font-weight: var(--weight-semibold);
    --type-small-semibold-letter-spacing: 0;
    --type-tiny-font-size: 0.6938rem;
    --type-tiny-line-height: 1.1125rem;
    --type-tiny-font-weight: var(--weight-regular);
    --type-tiny-letter-spacing: 0;
    --type-eyebrow-l-font-size: 1rem;
    --type-eyebrow-l-line-height: 1.6rem;
    --type-eyebrow-l-font-weight: var(--weight-bold);
    --type-eyebrow-l-letter-spacing: 0.04em;
    --type-eyebrow-m-font-size: 0.8rem;
    --type-eyebrow-m-line-height: 1.2813rem;
    --type-eyebrow-m-font-weight: var(--weight-bold);
    --type-eyebrow-m-letter-spacing: 0.04em;
  }
}
@layer components {
  .info-box {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-s);
    padding: var(--spacing-m);
  }
  .info-box .box-content p:not(:last-child) {
    margin-bottom: var(--spacing-m);
  }
  .info-box {
    background: rgb(230, 246, 244);
    border-radius: 0.75rem;
    border-left: 0.25rem solid rgb(51, 175, 158);
  }
  .info-box .info-box-heading-text {
    font-size: 1.125rem;
    line-height: 1.4625rem;
    font-weight: var(--weight-bold);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .info-box .info-box-heading-text {
      font-size: 1.125rem;
      line-height: 1.5rem;
      font-weight: var(--weight-bold);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .info-box .info-box-heading-text {
      font-size: 1.4375rem;
      line-height: 1.8687rem;
      font-weight: var(--weight-bold);
      letter-spacing: 0;
    }
  }
  .info-box .info-box-heading-text {
    color: rgb(65, 81, 201);
  }
  .info-box .info-box-heading:not(:has(*)) {
    display: none;
  }
  .panel-box {
    background: rgb(255, 255, 255);
    border-radius: 0.75rem;
    padding: var(--spacing-xl) var(--spacing-m);
  }
  @media screen and (min-width: 769px), print {
    .panel-box {
      padding: var(--spacing-xl) var(--spacing-l);
    }
  }
  .events-box {
    background: rgb(245, 245, 244);
    padding: var(--spacing-m);
    border-radius: 1.5rem;
  }
  .warning-box {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-s);
    padding: var(--spacing-m);
  }
  .warning-box .box-content p:not(:last-child) {
    margin-bottom: var(--spacing-m);
  }
  .warning-box {
    background: rgb(255, 243, 194);
    border-left: 4px solid rgb(235, 80, 0);
    border-radius: 0.75rem;
    color: rgb(64, 70, 84);
    padding: var(--spacing-l);
  }
  .warning-box-heading {
    margin: 0 0 var(--spacing-xs);
    font-weight: var(--weight-bold);
    color: rgb(64, 70, 84);
  }
}
@layer layout {
  body:has(.referral-page) {
    background-color: rgb(245, 245, 244);
    background-image: none;
  }
  .referral-page {
    padding-top: calc(109px + var(--spacing-xxl));
  }
  @media only screen and (width <= 1024px) {
    .referral-page {
      padding-top: 1px;
    }
  }
  .referral-page {
    position: relative;
    overflow: hidden;
    background-color: rgb(245, 245, 244);
    padding-bottom: var(--spacing-xxl);
  }
  .referral-steps-graphic {
    position: absolute;
    top: 0;
    left: 0;
    width: 430px;
    height: 440px;
    max-width: none;
    pointer-events: none;
  }
  .referral-page-content {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: var(--spacing-xxl);
    width: 100%;
    max-width: 1024px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    padding-top: var(--spacing-xxl);
    padding-inline: var(--spacing-m);
  }
}
@media screen and (min-width: 1025px) {
  @layer layout {
    .referral-steps-graphic {
      top: 109px;
    }
    .referral-page-content {
      padding-top: 0;
    }
  }
}
@layer components {
  .label {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: var(--weight-regular);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .label {
      font-size: 1rem;
      line-height: 1.5rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .label {
      font-size: 1rem;
      line-height: 1.6rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  .label {
    font-weight: 800;
  }
  .text-field {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: var(--weight-regular);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .text-field {
      font-size: 1rem;
      line-height: 1.5rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .text-field {
      font-size: 1rem;
      line-height: 1.6rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  .text-field {
    box-sizing: border-box;
    height: var(--bulma-control-height);
    padding: 0 var(--spacing-m);
    border: 1px solid rgb(202, 202, 200);
    border-radius: 0.5em;
    background-color: rgb(255, 255, 255);
    color: rgb(64, 70, 84);
  }
  .text-field.is-danger {
    border-color: #f14668;
  }
  .text-field {
    width: 100%;
  }
  .text-field::placeholder {
    color: rgb(163, 161, 156);
  }
  .select-field {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: var(--weight-regular);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .select-field {
      font-size: 1rem;
      line-height: 1.5rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .select-field {
      font-size: 1rem;
      line-height: 1.6rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  .select-field {
    box-sizing: border-box;
    height: var(--bulma-control-height);
    padding: 0 var(--spacing-m);
    border: 1px solid rgb(202, 202, 200);
    border-radius: 0.5em;
    background-color: rgb(255, 255, 255);
    color: rgb(64, 70, 84);
  }
  .select-field.is-danger {
    border-color: #f14668;
  }
  .select-field {
    padding-right: var(--spacing-xl);
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23404654' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right var(--spacing-s) center;
    background-size: var(--spacing-m);
    cursor: pointer;
  }
  .checkbox-input {
    appearance: none;
    box-sizing: border-box;
    display: grid;
    flex-shrink: 0;
    place-content: center;
    width: 1.5rem;
    height: 1.5rem;
    margin: 0;
    border: 1px solid rgb(217, 217, 217);
    border-radius: 0.5em;
    background-color: rgb(255, 255, 255);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.75rem;
  }
  .checkbox-input:checked {
    border-color: rgb(51, 175, 158);
    background-color: rgb(51, 175, 158);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M3.5 8.5 6.5 11.5 12.5 4.5'/%3E%3C/svg%3E");
  }
  .checkbox-input:focus-visible {
    outline: 2px solid rgb(65, 81, 201);
    outline-offset: 2px;
  }
  .checkbox-input:not(:disabled) {
    cursor: pointer;
    transition: background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1), border-color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .checkbox-input:disabled:checked {
    border-color: rgb(127, 127, 127);
    background-color: rgb(127, 127, 127);
  }
  .checkbox-input:not(:disabled):hover {
    border-width: 2px;
  }
  .referral-header {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-s);
  }
  .referral-eyebrow {
    margin: 0;
    color: rgb(65, 81, 201);
  }
  .referral-header h1 {
    margin: 0;
  }
  .referral-main {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
  }
  .referral-steps {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
    padding: var(--spacing-xl);
    border-radius: 0.75rem;
    background-color: rgb(255, 255, 255);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  }
  .referral-process-title {
    font-size: 1.125rem;
    line-height: 1.4625rem;
    font-weight: var(--weight-bold);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .referral-process-title {
      font-size: 1.125rem;
      line-height: 1.5rem;
      font-weight: var(--weight-bold);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .referral-process-title {
      font-size: 1.4375rem;
      line-height: 1.8687rem;
      font-weight: var(--weight-bold);
      letter-spacing: 0;
    }
  }
  .referral-process-title {
    margin: 0;
    color: rgb(51, 175, 158);
  }
  .referral-step-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-xl);
  }
  .referral-step {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
    margin: 0;
  }
  .referral-step-heading {
    display: flex;
    align-items: center;
    gap: var(--spacing-m);
  }
  .referral-step-number {
    display: grid;
    flex-shrink: 0;
    place-items: center;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 9999px;
    background-color: rgb(102, 195, 182);
    color: rgb(255, 255, 255);
    font-family: var(--text-heading-font);
    font-weight: var(--weight-bold);
  }
  .referral-step-title {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: var(--weight-bold);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .referral-step-title {
      font-size: 1rem;
      line-height: 1.5rem;
      font-weight: var(--weight-bold);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .referral-step-title {
      font-size: 1rem;
      line-height: 1.6rem;
      font-weight: var(--weight-bold);
      letter-spacing: 0;
    }
  }
  .referral-step-title {
    margin: 0;
    color: rgb(65, 81, 201);
  }
  .referral-step-link {
    color: inherit;
    text-decoration: none;
  }
  .referral-step-link:hover {
    color: rgb(97, 110, 210);
  }
  .referral-step-link:focus-visible {
    outline: 2px solid rgb(65, 81, 201);
    outline-offset: 2px;
  }
  .referral-step-body {
    margin: 0;
    color: rgb(83, 81, 77);
  }
  .referral-step-time {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: var(--weight-semibold);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .referral-step-time {
      font-size: 1rem;
      line-height: 1.5rem;
      font-weight: var(--weight-semibold);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .referral-step-time {
      font-size: 1rem;
      line-height: 1.6rem;
      font-weight: var(--weight-semibold);
      letter-spacing: 0;
    }
  }
  .referral-step-time {
    align-self: flex-start;
    margin: 0;
    padding: var(--spacing-s) var(--spacing-m);
    border-radius: 0.5em;
    background-color: rgb(238, 249, 248);
    color: rgb(48, 166, 150);
  }
  .referral-step-arrow {
    display: flex;
    flex: 0 0 auto;
    padding: 0 0 0 var(--spacing-m);
    color: rgb(51, 175, 158);
  }
  .referral-copy {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
    color: rgb(83, 81, 77);
  }
  .referral-copy p {
    margin: 0;
  }
  .referral-copy a {
    color: rgb(65, 81, 201);
    text-decoration: underline;
    text-underline-offset: 0.12em;
    transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .referral-copy a:hover {
    color: rgb(97, 110, 210);
  }
  .referral-copy a:focus-visible {
    outline: 2px solid rgb(65, 81, 201);
    outline-offset: 2px;
  }
  .referral-card {
    overflow: hidden;
    border-radius: 0.75rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  }
  .referral-fund-header {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
    padding: var(--spacing-xl) var(--spacing-m);
    background-color: rgb(65, 81, 201);
    color: rgb(255, 255, 255);
  }
  .referral-fund-intro {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl);
  }
  .referral-fund-headings {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
  }
  .referral-fund-header p,
  .referral-fund-header h2,
  .referral-fund-header a {
    color: rgb(255, 255, 255);
  }
  .referral-fund-header p {
    margin: 0;
  }
  .referral-fund-name {
    margin: 0;
    font-size: 1.75rem;
    font-weight: var(--weight-bold);
    line-height: 2.275rem;
  }
  .referral-fund-name a {
    text-decoration: underline;
    text-underline-offset: 0.12em;
  }
  .referral-fund-name a:hover {
    opacity: 0.8;
  }
  .referral-fund-name a:focus-visible {
    outline: 2px solid rgb(255, 255, 255);
    outline-offset: 2px;
  }
  .referral-provider-logo {
    width: 100%;
    max-width: 420px;
  }
  .referral-provider-logo-link {
    display: block;
  }
  .referral-provider-logo-link:focus-visible {
    outline: 2px solid rgb(255, 255, 255);
    outline-offset: 2px;
  }
  .referral-provider-logo-image {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
  }
  .referral-overview {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-s);
  }
  .referral-overview-control {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: var(--weight-regular);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .referral-overview-control {
      font-size: 1rem;
      line-height: 1.5rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .referral-overview-control {
      font-size: 1rem;
      line-height: 1.6rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  .referral-overview-control {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: var(--spacing-s);
    padding: 0;
    border: 0;
    background: transparent;
    color: rgb(255, 255, 255);
    cursor: pointer;
  }
  .referral-overview-control:focus-visible {
    outline: 2px solid rgb(255, 255, 255);
    outline-offset: 2px;
  }
  .referral-overview-chevron {
    display: inline-flex;
    transition: transform 0.2s ease;
  }
  .referral-overview-control[aria-expanded=true] .referral-overview-chevron {
    transform: rotate(180deg);
  }
  .referral-overview-panel {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.3s ease;
  }
  .referral-overview-panel.is-open {
    grid-template-rows: 1fr;
  }
  .referral-overview-panel[hidden] {
    display: none;
  }
  .referral-overview-panel-inner {
    overflow: hidden;
  }
  .referral-overview-body {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
    padding-top: var(--spacing-s);
  }
  .referral-form-panel {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
    padding: var(--spacing-xl) var(--spacing-m);
    background-color: rgb(255, 255, 255);
  }
  .referral-form-panel h2 {
    margin: 0;
  }
  .referral-form {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-xl);
    width: 100%;
  }
  .referral-fields {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xxl);
    width: 100%;
  }
  .referral-field-group {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-m);
  }
  .referral-field {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
  }
  .referral-field .label {
    color: rgb(83, 81, 77);
  }
  .referral-field .select-field {
    width: 100%;
  }
  .referral-field.is-invalid .text-field,
  .referral-field.is-invalid .select-field {
    border-color: rgb(219, 25, 15);
  }
  .referral-field .select-field:has(option[value=""]:checked) {
    color: rgb(163, 161, 156);
  }
  .referral-field-error {
    font-size: 1rem;
    line-height: 1.6rem;
    font-weight: var(--weight-regular);
    letter-spacing: 0;
  }
  @media only screen and (width < 400px) {
    .referral-field-error {
      font-size: 1rem;
      line-height: 1.5rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  @media only screen and (width > 768px) {
    .referral-field-error {
      font-size: 1rem;
      line-height: 1.6rem;
      font-weight: var(--weight-regular);
      letter-spacing: 0;
    }
  }
  .referral-field-error {
    margin: 0;
    color: rgb(219, 25, 15);
  }
  .referral-checkbox {
    display: flex;
    align-items: flex-start;
    gap: var(--spacing-s);
    color: rgb(83, 81, 77);
  }
  .referral-checkbox .checkbox-input {
    margin-top: var(--spacing-xs);
  }
  .referral-checkbox a {
    color: rgb(65, 81, 201);
    text-decoration: underline;
    text-underline-offset: 0.12em;
    transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .referral-checkbox a:hover {
    color: rgb(97, 110, 210);
  }
  .referral-checkbox a:focus-visible {
    outline: 2px solid rgb(65, 81, 201);
    outline-offset: 2px;
  }
  .referral-recaptcha:not(.is-visible) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
    border: 0;
  }
  .referral-recaptcha.is-visible {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-s);
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip-path: none;
    white-space: normal;
  }
  .referral-handoff {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-m);
  }
  .referral-handoff p {
    margin: 0;
    color: rgb(83, 81, 77);
  }
  .info-box a {
    color: rgb(65, 81, 201);
    text-decoration: underline;
    text-underline-offset: 0.12em;
    transition: color 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  }
  .info-box a:hover {
    color: rgb(97, 110, 210);
  }
  .info-box a:focus-visible {
    outline: 2px solid rgb(65, 81, 201);
    outline-offset: 2px;
  }
}
@media screen and (min-width: 769px), print {
  @layer components {
    .referral-fund-header,
    .referral-form-panel {
      padding: var(--spacing-xl);
    }
  }
}
@media screen and (min-width: 1024px) {
  @layer components {
    .referral-step-list {
      flex-direction: row;
    }
    .referral-step {
      flex: 1 1 0;
      min-width: 0;
    }
    .referral-step-arrow {
      align-self: flex-start;
      padding: var(--spacing-m) 0 0;
    }
    .referral-step-arrow svg {
      transform: rotate(-90deg);
    }
    .referral-step-link {
      text-decoration: underline;
      text-underline-offset: 0.12em;
    }
    .referral-fields {
      max-width: 640px;
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  @layer components {
    .referral-overview-chevron,
    .referral-overview-panel {
      transition: none;
    }
  }
}
