/* Bootstrap handles layout and controls; these rules retain the auth branding. */
@font-face {
    font-family: 'Helvetica Neue';
    src: url("HelveticaNeueRoman.258453ba503b.otf") format('opentype');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: 'Helvetica Neue';
    src: url("HelveticaNeueMedium.3de700a4650f.otf") format('opentype');
    font-weight: 500;
    font-display: swap;
}
.auth-page {
    --bs-body-font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    --bs-body-font-size: 14px;
    --bs-body-color: #111110;
    --bs-secondary-color: #6b6b66;
    --bs-border-color: #d1d1cc;
    --bs-border-radius: 8px;
    --bs-link-color-rgb: 107, 107, 102;
    font-family: var(--bs-body-font-family);
    font-size: var(--bs-body-font-size);
    -webkit-font-smoothing: antialiased;
}
.auth-page a { text-decoration: none; }
.auth-page a:not(.btn):hover { text-decoration: underline; }
.auth-page .btn, .auth-page .form-control { font-size: 13px; }
.auth-page .btn-dark { --bs-btn-bg: #111110; --bs-btn-border-color: #111110; }
/* Keep the provider button outlined in every interaction state. */
.auth-page .btn-outline-secondary {
    --bs-btn-border-color: var(--bs-border-color);
    --bs-btn-color: #111110;
    --bs-btn-bg: #fff;
    --bs-btn-hover-border-color: #92928c;
    --bs-btn-hover-bg: #f5f5f2;
    --bs-btn-hover-color: #111110;
    --bs-btn-active-border-color: #92928c;
    --bs-btn-active-bg: #ecece9;
    --bs-btn-active-color: #111110;
    --bs-btn-focus-shadow-rgb: 88, 66, 244;
}
.auth-page .form-control:focus { border-color: #5842f4; box-shadow: 0 0 0 .2rem rgb(88 66 244 / 12%); }
.auth-page .errorlist { list-style: none; padding: 0; margin: 0; }
.signin-main { padding: 44px clamp(24px, 4vw, 64px) 40px; }
.logo { height: 30px; max-width: 60%; width: auto; }
.signin-content { max-width: 410px; }
.auth-title { font-size: 36px; line-height: 1.1; letter-spacing: -.025em; }
.visual { background: #dce6e9; }
.map-shade { background: linear-gradient(0deg, #dce6e9 0%, transparent 65%); }
.sweep {
    left: -40%; top: -20%; width: 1200px; height: 1200px;
    background: conic-gradient(from 0deg, transparent 0deg, transparent 300deg, rgba(140,177,150,.15) 350deg, rgba(140,177,150,.35) 360deg);
    animation: radar 9s linear infinite;
}
.marker { left: 45%; top: 24%; width: 14px; height: 14px; background: #3e744e; box-shadow: 0 0 0 12px rgba(61,116,78,.12); }
.signal { left: 16%; right: 23%; top: 33%; background: #ffffffe6; backdrop-filter: blur(12px); }
.pitch { bottom: 80px; left: 64px; right: 64px; }
.eyebrow { letter-spacing: .14em; color: #607275; }
.pitch h2 { font-size: clamp(36px, 3.2vw, 52px); line-height: 1.05; letter-spacing: -.025em; }
.pitch li img { flex-shrink: 0; }
@keyframes radar { to { transform: rotate(360deg); } }
@media (max-height: 760px) {
    .signal { top: 12%; }
    .pitch { bottom: 32px; left: 32px; right: 32px; }
}
@media (max-height: 560px) { .signal { display: none; } }
@media (prefers-reduced-motion: reduce) { .sweep { animation: none; } }
@font-face {
    font-family: 'Helvetica Neue';
    src: url("HelveticaNeueBold.b3ac1bd5e427.otf") format('opentype');
    font-weight: 700;
    font-display: swap;
}
