@font-face {
  font-family: "Rubik";
  src: url("login/fonts/Rubik-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
@font-face {
  font-family: "Rubik";
  src: url("login/fonts/Rubik-500.ttf") format("truetype");
  font-style: normal;
  font-weight: 500;
  font-display: swap;
}
@font-face {
  font-family: "Vollkorn";
  src: url("login/fonts/Vollkorn-400.ttf") format("truetype");
  font-style: normal;
  font-weight: 400;
  font-display: swap;
}
.fav-auth {
  --fav-green: #377681;
  --fav-gold: #ffbd59;
  --fav-ink: #183e44;
  --fav-white: #fff;
  --fav-scene-muted: #516c70;
  --fav-field-fill: #2d626b;
  --fav-field-border: #79a4ab;
  --fav-field-placeholder: #bbd7dc;
  margin: 0;
  color: var(--fav-ink);
  background: var(--fav-white);
  color-scheme: light;
  font: 400 16px/1.5 "Rubik", sans-serif;
  -webkit-font-smoothing: antialiased;
}
.fav-auth *, .fav-auth *::before, .fav-auth *::after { box-sizing: border-box; }
.fav-auth h1, .fav-auth h2, .fav-auth p { margin: 0; }
.fav-login-page { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); min-height: max(677px, 100svh); }
.fav-login-scene { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 15px; padding: 42px 34px 38px; text-align: center; }
.fav-scene-intro { max-width: 400px; }
.fav-eyebrow { display: block; margin-bottom: 13px; color: var(--fav-scene-muted); font-size: 12px; font-weight: 500; letter-spacing: .13em; text-transform: uppercase; }
.fav-scene-intro h2 { font-family: "Vollkorn", Georgia, serif; font-size: clamp(27px, 3.1vw, 38px); font-weight: 400; line-height: 1.15; letter-spacing: -.025em; text-wrap: balance; }
.fav-illustration-frame { width: 100%; max-width: 392px; min-width: 0; aspect-ratio: 1; }
.fav-illustration { display: block; width: 100%; height: 100%; object-fit: contain; }
.fav-scene-caption { max-width: 350px; color: var(--fav-scene-muted); font-size: 14px; line-height: 1.65; text-wrap: balance; }
.fav-login-access { display: flex; min-width: 0; align-items: flex-start; justify-content: center; padding: 0 42px 38px; color: var(--fav-white); background: var(--fav-green); }
.fav-access-inner { width: 70%; max-width: 232.4px; min-width: 0; padding-top: var(--fav-login-top, 240px); }
.fav-login-fields { display: grid; min-width: 0; gap: 16px; margin: 0; }
.fav-field { display: grid; min-width: 0; gap: 6px; }
.fav-field label { font-size: 13px; font-weight: 400; }
.fav-field input { display: block; width: 100%; min-width: 0; min-height: 40px; margin: 0; padding: 8px 12px; border: 1px solid var(--fav-field-border); border-radius: 7px; color: var(--fav-white); background: var(--fav-field-fill); font: 400 14px/1.5 "Rubik", sans-serif; }
.fav-field input::placeholder { color: var(--fav-field-placeholder); opacity: 1; }
.fav-enter { display: block; width: 100%; min-width: 0; min-height: 40px; margin-top: 4px; padding: 8px 12px; border: 1px solid var(--fav-gold); border-radius: 7px; color: var(--fav-ink); background: var(--fav-gold); font: 500 14px/1.5 "Rubik", sans-serif; text-align: center; cursor: pointer; }
.fav-enter:hover { background: #ffd08a; border-color: #ffd08a; }
.fav-enter:active { background: #efad48; border-color: #efad48; }
.fav-field input:focus-visible, .fav-enter:focus-visible { outline: 2px solid var(--fav-gold); outline-offset: 3px; }
.fav-logo-crop { position: relative; width: min(100%, 99.28px); aspect-ratio: 1381/802; margin: 72px auto 0; overflow: hidden; }
.fav-logo-crop img { position: absolute; top: -19.201995%; left: -14.120203%; display: block; width: 128.312817%; max-width: none; height: auto; }
.fav-screen-reader { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.fav-login-error { padding: 10px 12px; border-left: 3px solid #a83a2b; border-radius: 4px; color: #76271e; background: #fff2f0; font-size: 13px; overflow-wrap: anywhere; }
@media (max-width: 767px) {
  .fav-login-page { display: flex; flex-direction: column; min-height: 100svh; }
  .fav-login-scene { padding: 14.4px 22px 16px; gap: 6.4px; justify-content: flex-start; }
  .fav-eyebrow { margin-bottom: 6px; font-size: 11px; }
  .fav-scene-intro h2 { max-width: 330px; font-size: 19.2px; }
  .fav-illustration-frame { max-width: 201.6px; }
  .fav-scene-caption, .fav-desktop-break { display: none; }
  .fav-login-access { flex: 1; min-height: 305px; align-items: center; padding: 24px 24px 28px; }
  .fav-access-inner { width: 64%; max-width: 212.48px; padding-top: 0; }
  .fav-login-fields { gap: 7.68px; }
  .fav-field { gap: 0; }
  .fav-field label { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
  .fav-field input { min-height: 44px; padding: 9px 12px; font-size: 16px; }
  .fav-field input::placeholder { font-size: 13px; }
  .fav-enter { min-height: 44px; margin-top: 0; padding: 10px 14px; }
  .fav-logo-crop { width: 72px; margin: 28.8px auto 0; }
}
@media (max-width: 380px) { .fav-illustration-frame { max-width: 177.6px; } }
