:root {
  --wheatland-gold: #a47f2f;
  --wheatland-ink: #24303f;
  --wheatland-surface: #f7f3e8;
}

html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
  min-height: 100%;
}

body {
  background: radial-gradient(circle at top right, #f4ead1 0%, #f8f6f1 35%, #ffffff 100%);
  color: var(--wheatland-ink);
  margin-bottom: 60px;
}

.brand-navbar {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(4px);
  font-family: "Oswald", "Roboto", "Futura", sans-serif;
}

.brand-logo {
  width: auto;
  height: 30px;
  max-width: 110px;
  object-fit: contain;
}

.brand-title {
  color: var(--wheatland-ink);
  font-weight: 700;
  letter-spacing: 0.02em;
}

.brand-navbar .nav-link,
.brand-navbar .navbar-brand {
  font-family: "Oswald", "Roboto", "Futura", sans-serif;
}

.coming-soon-shell {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
}

.coming-soon-logo {
  width: min(80vw, 640px);
  height: auto;
  object-fit: contain;
}

.coming-soon-title {
  font-family: "Oswald", "Roboto", "Futura", sans-serif;
  font-size: clamp(2rem, 5vw, 4rem);
  letter-spacing: 0.12em;
  color: var(--wheatland-ink);
  margin: 0;
}

.auth-shell {
  margin-top: 2rem;
}

.auth-card {
  background: #fff;
  border: 1px solid #e6dfcf;
  border-radius: 12px;
  padding: 2rem;
}

.auth-logo {
  width: auto;
  height: 74px;
  max-width: 260px;
  object-fit: contain;
}

.auth-subtitle {
  color: #6d6b63;
  margin-bottom: 1.25rem;
}

.brand-btn {
  background-color: var(--wheatland-gold);
  border-color: var(--wheatland-gold);
}

.brand-btn:hover,
.brand-btn:focus {
  background-color: #8e6f27;
  border-color: #8e6f27;
}

.form-floating > .form-control-plaintext::placeholder, .form-floating > .form-control::placeholder {
  color: var(--bs-secondary-color);
  text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder, .form-floating > .form-control:focus::placeholder {
  text-align: start;
}