html,
body {
  margin: 0;
  min-height: 100%;
  font-family: var(--font);
  color: var(--text);
  background: #0d6e8a;
}

.hw-page-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, #e6f3f1 0%, #eef3f8 46%, #f7f9fc 100%);
}

.hw-page-loader-brand {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--text);
}

.hw-page-loader-brand .hw-brand-mark {
  width: 28px;
  height: 28px;
  border-radius: 8px;
}

.hw-page-loader-brand .kicker {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent-strong);
}

.hw-page-loader-spinner {
  width: 28px;
  height: 28px;
  margin: 16px auto 0;
  border-radius: 50%;
  border: 3px solid rgba(13, 159, 144, 0.2);
  border-top-color: var(--accent);
  animation: hw-spin 0.8s linear infinite;
}

@keyframes hw-spin {
  to {
    transform: rotate(360deg);
  }
}
