/* The login is one reading/form column, independent of editor/theme form grids. */
.client-login {
  padding: clamp(28px, 6vw, 64px) 24px;
  gap: 36px;
}
.client-login .login-brand {
  width: min(100%, 460px);
  justify-content: flex-start;
  gap: 12px;
  min-width: 0;
}
.client-login .login-brand img { width: 152px; }
.client-login .login-brand strong { font-size: 18px; overflow-wrap: anywhere; }
.client-login #client-login-form {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  width: min(100%, 460px);
  max-width: 460px;
  min-width: 0;
  gap: 0;
  margin: 0;
  text-align: start;
}
.client-login #client-login-form .login-eyebrow { display: block; margin: 0; line-height: 1.5; }
.client-login #client-login-form h1 {
  width: 100%;
  max-width: none;
  margin: 16px 0 !important;
  font: 400 clamp(32px, 3.5vw, 44px)/1.1 Haffer, Arial, sans-serif !important;
  letter-spacing: -.04em !important;
  text-align: start;
  text-wrap: balance;
}
.client-login #client-login-form > p:not(#login-status) { width: 100%; max-width: none; margin: 0 0 8px; font-size: 16px; line-height: 1.6; }
.client-login #client-login-form label { display: grid; grid-template-columns: minmax(0,1fr); width: 100%; margin: 20px 0 0; gap: 8px; }
.client-login #client-login-form input { display: block; width: 100%; min-width: 0; min-height: 50px; margin: 0; border-radius: 8px; font-size: 16px; }
.client-login #client-login-form button { width: 100%; min-height: 50px; margin: 24px 0 0; padding: 14px 18px; border-radius: 8px; align-items: center; }
.client-login #client-login-form #login-status { width: 100%; margin: 12px 0 0; min-height: 0; }
.client-login #client-login-form #login-status:empty { display: none; }
.client-login #client-login-form > a { display: inline-flex; align-self: flex-start; align-items: center; min-height: 44px; margin-top: 12px; }
body[data-page=proposal] .offer-pricing { margin: 36px 0; }
body[data-page=proposal] .offer-fees-heading { display: grid; gap: 10px; margin: 0 0 24px; }
body[data-page=proposal] .offer-fees-heading h2 { margin: 0; font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.15; }
body[data-page=proposal] .offer-fees-heading h3 { margin: 0; font: 400 16px/1.5 Haffer, sans-serif; color: var(--muted); }
body[data-page=proposal] #offer-selection-status:empty { display: none; }
@media (max-width:600px) {
  .client-login { padding: 28px 20px; gap: 28px; justify-content: flex-start; }
  .client-login .login-brand { gap: 10px; }
  .client-login .login-brand img { width: 136px; }
  .client-login .login-brand strong { font-size: 16px; }
  body[data-page=proposal] .offer-pricing { margin: 28px 0; }
}
