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 {
  margin-bottom: 60px;
}

.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;
}

/* ===== RelayEQ marketing site ===== */
html { scroll-behavior: smooth; }
.relay-body { margin-bottom: 0; }

.relay-nav { background: rgba(255, 255, 255, .92); backdrop-filter: blur(8px); border-bottom: 1px solid #eef0f4; }
.relay-nav .nav-link { color: #3b4252; font-weight: 500; }
.relay-nav .nav-link:hover { color: #1466ff; }

.relay-hero { background: linear-gradient(135deg, #1466ff 0%, #29b6ff 100%); color: #fff; padding: 5rem 0 6rem; }
.relay-hero .opacity-90 { opacity: .92; }
.relay-badge { background: rgba(255, 255, 255, .18); color: #fff; font-weight: 600; letter-spacing: .04em; padding: .5rem .9rem; border-radius: 2rem; }
.relay-underline { text-decoration: underline; text-decoration-color: rgba(255, 255, 255, .5); text-underline-offset: 6px; }
.relay-herocard { background: #fff; color: #1b2330; border-radius: 1rem; padding: 1.5rem; box-shadow: 0 30px 60px rgba(8, 33, 86, .35); }
.relay-bigscore { font-size: 2.4rem; font-weight: 800; line-height: 1; color: #1466ff; }

/* Hero "candidate writing" typewriter panel */
.relay-write { background: #f6f8fc; border: 1px solid #e6eaf2; border-radius: .75rem; padding: .85rem 1rem; }
.relay-write-text { min-height: 3.4em; font-size: .98rem; line-height: 1.45; color: #26303f; }
.relay-caret { display: inline-block; width: 2px; height: 1.05em; background: #1466ff; margin-left: 2px; vertical-align: -2px; animation: relayBlink 1s steps(1) infinite; }
@keyframes relayBlink { 50% { opacity: 0; } }

.relay-section { padding: 5rem 0; }
.relay-section-alt { padding: 5rem 0; background: #f6f8fc; }

.relay-feature { background: #fff; border: 1px solid #eef0f4; border-radius: 1rem; padding: 1.75rem; transition: transform .15s ease, box-shadow .15s ease; }
.relay-feature:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8, 33, 86, .10); }
.relay-icon { width: 54px; height: 54px; border-radius: 14px; display: flex; align-items: center; justify-content: center; color: #fff; background: linear-gradient(135deg, #1466ff, #29b6ff); }

.relay-step { background: #fff; border: 1px solid #eef0f4; border-radius: 1rem; padding: 1.5rem; }
.relay-step-num { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: 800; color: #fff; background: linear-gradient(135deg, #1466ff, #29b6ff); margin-bottom: .75rem; }

.relay-checks li { position: relative; padding-left: 2rem; margin-bottom: .6rem; }
.relay-checks li::before { content: "\2713"; position: absolute; left: 0; top: 0; width: 1.4rem; height: 1.4rem; background: #e6f0ff; color: #1466ff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 700; }

.relay-stat { background: #fff; border: 1px solid #eef0f4; border-radius: 1rem; padding: 1.25rem; text-align: center; height: 100%; }
.relay-statnum { font-size: 2rem; font-weight: 800; color: #1466ff; line-height: 1; }

.relay-cta { background: linear-gradient(135deg, #1466ff, #29b6ff); color: #fff; padding: 4.5rem 0; }

.relay-footer { background: #0f1b33; color: #fff; padding: 1.5rem 0; }
.relay-footer a { color: #cdd8ee; text-decoration: none; }
.relay-footer a:hover { color: #fff; }

/* Legal/content pages */
.relay-legal { max-width: 820px; }
.relay-legal h2 { margin-top: 2rem; }