/* Join the Flock pop-up */
html.abj-open { overflow: hidden; }
.abj { width: min(600px, calc(100vw - 24px)); max-height: calc(100dvh - 24px); padding: 0; border: 0; border-radius: 28px; background: #FBF6EC; color: #13284D; box-shadow: 0 40px 90px -30px rgba(19, 40, 77, .65); font-family: 'Figtree', system-ui, sans-serif; overflow: hidden; }
.abj::backdrop { background: rgba(19, 40, 77, .55); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
.abj[open] { display: flex; flex-direction: column; animation: abj-in .35s cubic-bezier(.2, .7, .2, 1); }
@keyframes abj-in { from { opacity: 0; transform: translateY(24px) scale(.98); } to { opacity: 1; transform: none; } }
.abj-body { overflow-y: auto; padding: 40px 36px 32px; display: flex; flex-direction: column; gap: 22px; }
.abj-body[aria-busy="true"] .abj-form { opacity: .6; }
.abj-close { position: absolute; top: 14px; right: 14px; width: 44px; height: 44px; border-radius: 50%; border: 0; background: #FFFFFF; color: #13284D; font-size: 26px; line-height: 1; cursor: pointer; box-shadow: 0 4px 12px -6px rgba(19, 40, 77, .5); z-index: 1; }
.abj-close:hover { background: #F3E8D3; }
.abj-intro, .abj-thanks { display: flex; flex-direction: column; gap: 8px; padding-right: 36px; }
.abj-intro[hidden], .abj-thanks[hidden], .abj-form[hidden], .abj-field[hidden], .abj-req[hidden] { display: none !important; }
.abj-eyebrow { margin: 0; font-weight: 700; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: #D13D23; }
.abj-title { margin: 0; font-family: 'Fraunces', Georgia, serif; font-weight: 600; font-variation-settings: 'SOFT' 100, 'opsz' 72; font-size: clamp(28px, 5vw, 36px); line-height: 1.1; color: #13284D; }
.abj-sub, .abj-thanks-text { margin: 0; font-size: 16px; line-height: 1.55; color: #4A5876; white-space: pre-line; }
.abj-thanks-text { font-size: 18px; color: #13284D; }
.abj-form { display: flex; flex-direction: column; gap: 18px; }
.abj-row { display: flex; flex-wrap: wrap; gap: 18px; }
.abj-row > .abj-field { flex: 1 1 200px; min-width: 0; }
.abj-field { display: flex; flex-direction: column; gap: 6px; }
.abj-field fieldset { margin: 0; padding: 0; border: 0; min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.abj-field legend { padding: 0; margin-bottom: 4px; }
.abj-label { font-weight: 700; font-size: 15px; color: #13284D; }
.abj-req { color: #B5321B; }
.abj input[type=text], .abj input[type=email], .abj input[type=tel], .abj input[type=date], .abj textarea, .abj select { font: inherit; font-size: 17px; color: #13284D; background: #FFFFFF; border: 1.5px solid rgba(19, 40, 77, .22); border-radius: 14px; padding: 12px 16px; min-height: 50px; box-sizing: border-box; width: 100%; transition: border-color .2s ease, box-shadow .2s ease; }
.abj input[type=date] { -webkit-appearance: none; appearance: none; display: block; }
.abj textarea { min-height: 110px; resize: vertical; line-height: 1.5; }
.abj input:focus, .abj textarea:focus, .abj select:focus { outline: none; border-color: #2A6FCB; box-shadow: 0 0 0 4px rgba(42, 111, 203, .18); }
.abj [aria-invalid="true"] { border-color: #B5321B !important; }
.abj-choices { display: flex; flex-direction: column; gap: 8px; }
.abj-choice { display: flex; align-items: flex-start; gap: 12px; padding: 10px 14px; border-radius: 12px; background: #FFFFFF; border: 1.5px solid rgba(19, 40, 77, .12); cursor: pointer; font-size: 16px; line-height: 1.4; min-height: 44px; box-sizing: border-box; }
.abj-choice:hover { border-color: rgba(19, 40, 77, .3); }
.abj-choice input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: #D13D23; cursor: pointer; }
.abj-choice:has(input:checked) { border-color: #2A6FCB; background: #F2F7FF; }
.abj-consent { background: transparent; border-color: transparent; padding: 4px 0; }
.abj-consent:hover { border-color: transparent; }
.abj-consent:has(input:checked) { background: transparent; border-color: transparent; }
.abj-desc { margin: 0; font-size: 14px; color: #4A5876; }
.abj-err { margin: 0; min-height: 0; font-size: 14px; font-weight: 600; color: #B5321B; }
.abj-err:empty { display: none; }
.abj-status { margin: 0; font-size: 15px; font-weight: 600; color: #B5321B; }
.abj-status:empty { display: none; }
.abj-submit { font-family: 'Figtree', system-ui, sans-serif; font-weight: 700; font-size: 18px; border: 0; border-radius: 999px; padding: 15px 28px; min-height: 54px; background: #D13D23; color: #FFFFFF; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease; align-self: stretch; }
.abj-submit:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -12px rgba(19, 40, 77, .6); }
.abj-submit:disabled { opacity: .6; cursor: progress; transform: none; }
.abj-note { margin: -6px 0 0; text-align: center; font-size: 13px; color: #4A5876; }
@media (max-width: 480px) { .abj-body { padding: 32px 20px 24px; } }
@media (prefers-reduced-motion: reduce) { .abj[open] { animation: none; } }