
      body {
        margin: 0;
        font-family: 'Trebuchet MS', Helvetica, Arial, sans-serif;
        background: linear-gradient(120deg, #fef6f0 0%, #f3f8ff 50%, #f7fbee 100%);
        background-attachment: fixed;
        color: #545354;
        display: flex;
        flex-direction: column;
        min-height: 100vh;
      }

      .accessibility-link {
        display: flex;
        align-items: center;
        gap: 0.25rem;
        text-decoration: none;
        color: rgb(222, 51, 45);
      }
      
      .accessibility-link svg {
        width: 1em;
        height: 1em;
        vertical-align: text-bottom;
      }

      .external-icon {
        width: 1rem;   
        height: 1rem;  
        stroke-width: 2px;
      }

      header {
        padding: 1rem 2rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
      }

      header .logo {
        display: flex;
        align-items: center;
        gap: 1rem;
        font-family: 'Museo Slab', 'Trebuchet MS', Helvetica, Arial, sans-serif;
        font-weight: bold;
        color: #27415C;
        font-size: 1.25rem;
      }

      .logo svg {
        width: 100%;
        max-width: 323px;
      }

      @media (min-width: 768px) {
        .logo svg {
          max-width: 250px;
        }
      }

      @media (min-width: 1024px) {
        .logo svg {
          max-width: 323px;
        }
      }

      .footer {
        margin-top: auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: space-between;
        gap: 2rem;
        padding-left: 0.5rem;
        padding-right: 0.5rem;
        padding-top: 1.5rem;
        padding-bottom: 2.5rem;
        color: #545354; 
        font-size: 0.875rem;
        width: 100%;
      }

      @media (min-width: 640px) {
        .footer {
          flex-direction: row;
        }
      }

      @media (min-width: 768px) {
        .footer {
          padding-left: 0;
          padding-right: 0;
        }
      }

      .main-container {
        padding: 0.5rem;
        width: 100%;
        max-width: none;
        display: flex;
        flex-direction: column;
        gap: 2.5rem;
        align-items: center;
        margin-left: auto;
        margin-right: auto;
        flex: 1;
      }

      @media (min-width: 768px) {
        .main-container {
          padding: 1rem;
          max-width: 72rem;
        }
      }

    .site-footer {
      display: flex;
      align-items: center;
      justify-content: center;
      gap: 1rem;
      padding: 1rem 2rem;
      font-size: 0.875rem;
      color: #545354;
      border-top: 1px solid #EFEEEF;
      background-color: #fff;
      width: 100%;
    }

    .logo-container {
      width: 11rem;
      height: auto;
    }

    .footer-text {
      white-space: nowrap;
    }

      .login-box {
        background-color: #fff;
        border-radius: 0.5rem;
        box-shadow: 0px 3px 0px 0px rgba(211, 226, 247, 0.66);
        padding: 2rem;
        width: 100%;
        max-width: 400px;
        box-sizing: border-box;
      }

      h1 {
        font-family: 'Museo Slab', 'Trebuchet MS', Helvetica, Arial, sans-serif;
        font-size: 1.5rem;
        font-weight: bold;
        color: #27415C;
        text-align: left;
        margin-bottom: 1.5rem;
      }

      button {
        display: block;
        width: 100%;
        padding: 0.75rem;
        font-size: 1rem;
        font-weight: bold;
        border: none;
        border-radius: 0.375rem;
        cursor: pointer;
        margin-bottom: 1rem;
        font-family: 'Museo Slab', 'Trebuchet MS', Helvetica, Arial, sans-serif;
        transition: background-color 0.2s ease-in-out;
      }

      .provider-button {
        display: flex;
        flex-direction: column;
        gap: 1rem;
        border: 1px solid #d4d4d8; /* neutral-30 */
        border-radius: 0.5rem;
        padding: 1rem;
        width: 100%;
        background-color: white;
        cursor: pointer;
        transition: background-color 0.2s ease-in-out, border-color 0.2s ease-in-out;
      }

      .provider-button:hover {
        border-color: #2a66b7;
        background-color: #eaf1fb;
      }

      .provider-button:focus-visible {
        outline: 2px solid #2a66b7;
        outline-offset: 2px;
      }

      .provider-button h2 {
        color: rgb(84, 83, 84);
        text-align: left;
        font-size: 1rem;
        margin: 0;
      }

      .login-content {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        width: 100%;
      }

      .arrow-icon {
        width: 1.5rem;
        height: 1.5rem;
        color: #2a66b7;
        transition: transform 0.2s ease-in-out;
      }

      .provider-button:hover .arrow-icon {
        transform: translateX(0.25rem);
      }