/* The Academy — sign-in page in the AFA brand (AFA Brand Standards v1.0). */
:root { --crimson: #8C2247; --peacoat: #01304A; --sun: #FFC937; --paper: #FBF7EF; --ink: #1B1B1F; --line: #D9D2C3; }
.login-pf body, body { background: var(--paper) !important; font-family: Inter, system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--ink); }
.login-pf-page { padding-top: 48px; }
#kc-header-wrapper { font-size: 0; line-height: 0; padding: 0 0 24px; }
#kc-header-wrapper::before { content: ""; display: block; height: 96px; background: url("../img/afa-lockup.svg") center / contain no-repeat; }
.card-pf { border: 1px solid var(--line); border-top: 4px solid var(--crimson); border-radius: 10px; box-shadow: none; max-width: 460px; }
#kc-page-title { font-family: "Newsreader", Georgia, serif; font-weight: 500; color: var(--peacoat); font-size: 28px; }
.pf-c-button.pf-m-primary, .btn-primary, #kc-login { background: var(--peacoat) !important; border-color: var(--peacoat) !important; border-radius: 6px; font-weight: 600; letter-spacing: .04em; }
.pf-c-button.pf-m-primary:hover, .btn-primary:hover, #kc-login:hover { background: var(--crimson) !important; border-color: var(--crimson) !important; }
a, .pf-c-button.pf-m-link { color: var(--crimson); }
a:hover { color: var(--peacoat); }
.form-control, .pf-c-form-control { border-radius: 6px; border-color: var(--line); }
.form-control:focus { border-color: var(--peacoat); box-shadow: 0 0 0 3px rgba(1,48,74,.15); }
.alert-error, .pf-c-alert.pf-m-danger { border-left-color: var(--crimson); }

/* Round 4 Phase 2 (L1): the Academy's halls beside the sign-in card (resources/js/academy.js adds them). */
.afa-halls { position: fixed; z-index: 0; left: 0; top: 0; bottom: 0; width: 56vw; display: grid; grid-template-rows: repeat(4, 1fr); gap: 3px; overflow: hidden; background: var(--peacoat); }
.afa-band { background-size: cover; background-repeat: no-repeat; animation: afa-pan 70s ease-in-out infinite alternate; }
.afa-band-rtl { animation-direction: alternate-reverse; }
@keyframes afa-pan { from { background-position: 0% 35%; } to { background-position: 100% 65%; } }
.afa-halls::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(1,48,74,.05) 0%, rgba(1,48,74,.15) 40%, rgba(1,32,50,.86) 100%); pointer-events: none; }
.afa-words { position: absolute; z-index: 1; left: 0; right: 0; bottom: 0; padding: 0 56px 52px; color: #FBF7EF; }
.afa-eyebrow { font: 600 11px/1.4 Inter, system-ui, sans-serif; letter-spacing: .3em; text-transform: uppercase; color: var(--sun); margin: 0 0 10px; }
.afa-welcome { font-family: "Newsreader", Georgia, serif; font-weight: 500; font-size: clamp(44px, 5vw, 76px); line-height: 1; margin: 0; color: #FBF7EF; }
.afa-line { font-family: "Newsreader", Georgia, serif; font-style: italic; font-size: clamp(18px, 1.6vw, 24px); margin: 14px 0 0; color: #F3E9D6; }
.afa-verse { font-size: 14.5px; line-height: 1.6; max-width: 46ch; margin: 18px 0 0; color: #E4DCCB; }
.afa-ref { display: block; margin-top: 4px; font: 600 11px/1.4 Inter, system-ui, sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--sun); }
.afa-new { box-sizing: border-box; width: 100%; max-width: 460px; margin: 16px auto 0; padding: 14px 18px; border: 1px solid var(--line); border-left: 4px solid var(--sun); border-radius: 10px; background: #fff; font-size: 14.5px; }
.afa-new a { font-weight: 600; }
.afa-new-sub { display: block; margin-top: 4px; font-size: 12.5px; color: #5c5a55; }
@media (min-width: 900px) {
  .afa-split .login-pf-page { margin-left: 56vw; width: 44vw; min-height: 100vh; padding: 48px 28px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: center; }
  .afa-split .login-pf-page .card-pf { margin-left: auto; margin-right: auto; width: 100%; }
}
@media (max-width: 899px) {
  .afa-halls { position: relative; width: 100%; height: 300px; grid-template-rows: repeat(2, 1fr); }
  .afa-halls .afa-band:nth-child(n+3) { display: none; }
  .afa-words { padding: 0 22px 18px; }
  .afa-welcome { font-size: 40px; }
  .afa-verse { display: none; }
  .afa-split .login-pf-page { padding: 24px 16px 32px; }
  .afa-line { font-size: 16px; }
  .afa-eyebrow { display: none; }
}
@media (prefers-reduced-motion: reduce) { .afa-band { animation: none; background-position: 50% 50%; } }
