/* Founder story popup */
.fp-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,20,.65);opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease;overflow-y:auto}
.fp-overlay.open{opacity:1;visibility:visible}
.fp-box{position:relative;width:100%;max-width:520px;margin:auto;background:var(--paper);color:var(--text);box-shadow:0 20px 60px rgba(0,0,0,.5);font-family:inherit;transform:translateY(24px) scale(.97);transition:transform .35s ease}
.fp-overlay.open .fp-box{transform:none}
.fp-head{background:linear-gradient(135deg,#0b1250,#0a1a8f);color:#fff;padding:30px 32px 24px;text-align:center}
.fp-brand{display:block;font-size:12px;font-weight:700;letter-spacing:.18em;color:#b9c3ff;margin-bottom:10px}
.fp-head h2{margin:0 0 10px;font-size:clamp(21px,4.6vw,26px);line-height:1.25;font-weight:700}
.fp-head p{margin:0;font-size:14px;color:#d6dbf5}
.fp-form{padding:26px 32px 8px;display:grid;gap:14px}
.fp-form label{display:grid;gap:6px;font-size:12.5px;font-weight:600;color:var(--muted)}
.fp-form input,.fp-form textarea{font:inherit;font-size:14px;padding:12px 14px;border:1px solid var(--line);border-radius:0;background:var(--bg);color:var(--text);width:100%}
.fp-form textarea{min-height:104px;resize:vertical}
.fp-form input:focus-visible,.fp-form textarea:focus-visible{outline:2px solid var(--navy);outline-offset:1px;border-color:var(--navy)}
.fp-form .btn{width:100%;padding:14px 26px;font-size:14px;margin-top:2px}
.fp-form .btn:disabled{opacity:.6;cursor:default}
.fp-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.fp-msg{margin:0;min-height:1.3em;font-size:13px;text-align:center}
.fp-msg.ok{color:#1a7a3c}.fp-msg.err{color:#c0392b}
.fp-foot{margin:0;padding:6px 32px 26px;text-align:center;font-size:13px;color:var(--muted);font-style:italic}
.fp-close{position:absolute;top:8px;right:8px;width:36px;height:36px;border:0;background:transparent;color:#fff;font-size:26px;line-height:1;cursor:pointer;border-radius:50%}
.fp-close:hover,.fp-close:focus-visible{background:rgba(255,255,255,.18);outline:2px solid #8fa0ff}
@media (max-width:520px){.fp-head{padding:28px 22px 20px}.fp-form{padding:22px 22px 6px}.fp-foot{padding:6px 22px 22px}}
@media (prefers-reduced-motion:reduce){.fp-overlay,.fp-box{transition:none}}
