/* "Contact us" pop-up (see contact.js). Light by default; dark too when the page opts in (data-dark="auto"). */
.fpc { --fpc-bg: #fff; --fpc-text: #0f172a; --fpc-muted: #475569; --fpc-soft: #64748b; --fpc-border: #cbd5e1; --fpc-surface: #f6f8fc;
  --fpc-brand: #2563eb; --fpc-brand-dark: #1d4ed8; --fpc-brand-soft: #eef4ff; --fpc-ok: #10b981; --fpc-ok-soft: #e7f8ef; --fpc-err: #b42318; --fpc-err-soft: #fef3f2;
  border: 0; padding: 0; margin: auto; width: min(520px, calc(100% - 24px)); max-height: calc(100% - 24px); border-radius: 22px; background: var(--fpc-bg); color: var(--fpc-text);
  box-shadow: 0 30px 80px rgba(15, 23, 42, .3); font: 15px/1.55 -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif; overflow: auto; }
.fpc::backdrop { background: rgba(15, 23, 42, .5); backdrop-filter: blur(3px); }
.fpc[open] { animation: fpc-rise .2s ease-out; }
@keyframes fpc-rise { from { transform: translateY(10px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .fpc[open] { animation: none; } }
@media (prefers-color-scheme: dark) {
  .fpc.fpc-auto { --fpc-bg: #121821; --fpc-text: #eef2f7; --fpc-muted: #aab4c3; --fpc-soft: #8a96a8; --fpc-border: #334155; --fpc-surface: #1a2230;
    --fpc-brand: #5b8cff; --fpc-brand-dark: #7aa2ff; --fpc-brand-soft: #16213a; --fpc-ok-soft: #0f2a1d; --fpc-err: #f97066; --fpc-err-soft: #3b1614; }
}
.fpc * { box-sizing: border-box; }
.fpc-card { padding: 18px 26px 26px; }
.fpc-top { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.fpc-apply { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border-radius: 999px; background: var(--fpc-brand-soft); color: var(--fpc-brand-dark);
  font-size: 13.5px; font-weight: 500; text-decoration: none; }
.fpc-apply strong { font-weight: 700; }
.fpc-apply:hover { background: var(--fpc-brand); color: #fff; text-decoration: none; }
.fpc-x { margin-left: auto; width: 40px; height: 40px; border: 0; border-radius: 10px; background: none; color: var(--fpc-soft); cursor: pointer; display: flex; align-items: center; justify-content: center; flex: none; }
.fpc-x:hover { background: var(--fpc-surface); color: var(--fpc-text); }
.fpc-title { margin: 0 0 4px; font: 800 26px/1.15 "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; letter-spacing: -.03em; color: var(--fpc-text); }
.fpc-sub { margin: 0 0 18px; color: var(--fpc-muted); }
.fpc-form { display: flex; flex-direction: column; gap: 14px; }
.fpc-row { display: flex; flex-wrap: wrap; gap: 14px; }
.fpc-row > .fpc-field { flex: 1 1 180px; }
.fpc-field { display: flex; flex-direction: column; gap: 6px; font-size: 14px; font-weight: 650; color: var(--fpc-text); min-width: 0; }
.fpc-field small { font-weight: 400; color: var(--fpc-soft); font-size: 13px; }
.fpc input, .fpc select, .fpc textarea { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--fpc-border); border-radius: 11px; background: var(--fpc-bg); color: var(--fpc-text);
  font: inherit; font-weight: 400; }
.fpc textarea { resize: vertical; min-height: 104px; }
.fpc input:focus, .fpc select:focus, .fpc textarea:focus { outline: none; border-color: var(--fpc-brand); box-shadow: 0 0 0 4px rgba(37, 99, 235, .16); }
.fpc-trap { position: absolute !important; left: -10000px; width: 1px; height: 1px; opacity: 0; }
.fpc-error { margin: 0; padding: 10px 12px; border-radius: 10px; background: var(--fpc-err-soft); color: var(--fpc-err); font-size: 14px; font-weight: 600; }
.fpc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px; border: 0; border-radius: 12px; background: var(--fpc-brand); color: #fff;
  font: inherit; font-weight: 650; font-size: 15.5px; cursor: pointer; box-shadow: 0 8px 20px rgba(37, 99, 235, .22); }
.fpc-btn:hover:not(:disabled) { background: var(--fpc-brand-dark); }
.fpc-btn:disabled { opacity: .7; cursor: progress; }
.fpc-form .fpc-btn { align-self: flex-start; }
.fpc-done { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 14px 0 4px; }
.fpc-tick { width: 56px; height: 56px; border-radius: 50%; background: var(--fpc-ok-soft); color: var(--fpc-ok); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.fpc-done h3 { margin: 0; font: 800 22px "Plus Jakarta Sans", -apple-system, sans-serif; letter-spacing: -.02em; color: var(--fpc-text); }
.fpc-done p { margin: 0 0 12px; color: var(--fpc-muted); }
@media (max-width: 520px) {
  .fpc { width: 100%; max-height: 100%; height: 100%; margin: 0; border-radius: 0; }
  .fpc-card { padding: 14px 18px 24px; }
  .fpc-form .fpc-btn { align-self: stretch; }
}
