:root{--navy:#1b2a41;--navy2:#24385a;--amber:#d9a441;--amber-d:#b9862a;--bg:#f4f1ea;--ink:#1d2433;--line:#d8d2c4}
*{box-sizing:border-box}body{margin:0;font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--ink)}
.top{background:var(--navy);padding:14px 16px;text-align:center;border-bottom:4px solid var(--amber)}
.logo{max-height:56px;max-width:80%}
.card{background:#fff;max-width:560px;margin:16px auto;padding:20px 18px 24px;border-radius:14px;box-shadow:0 2px 12px rgba(27,42,65,.1)}
.center{text-align:center}
h1{color:var(--navy);font-size:1.45rem;margin:.2em 0 .3em}.lead{color:#4a5468;margin-top:0}
label{display:block;font-weight:600;color:var(--navy);margin:14px 0 0}
input[type=text],input[type=tel],input[type=email],textarea{display:block;width:100%;margin-top:6px;padding:13px 12px;font:inherit;border:1.5px solid var(--line);border-radius:10px;background:#fff}
input:focus,textarea:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 3px rgba(217,164,65,.25)}
.req{color:#c0392b}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.files{margin-top:16px}.lbl{display:block;font-weight:600;color:var(--navy);margin-bottom:6px}
#files{position:absolute;opacity:0;width:1px;height:1px}
.btn{display:block;width:100%;text-align:center;padding:15px;margin-top:18px;font:600 1.05rem system-ui,sans-serif;color:var(--navy);background:var(--amber);border:0;border-radius:10px;cursor:pointer;text-decoration:none}
.btn:active{background:var(--amber-d)}.btn[disabled]{opacity:.6}
.btn.alt{background:var(--navy);color:#fff;margin-top:0}
.hint{font-size:.85rem;color:#6b7385;margin:.5em 0 0}
#flist{list-style:none;padding:0;margin:10px 0 0}#flist li{display:flex;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;margin-top:6px;font-size:.92rem}
#flist li.bad{border-color:#c0392b;background:#fdecea}#flist button{border:0;background:none;color:#c0392b;font-size:1.1rem}
.alert{background:#fdecea;color:#8e2b20;border:1px solid #f1b8b0;padding:10px 12px;border-radius:8px}
.prog{margin-top:16px}.bar{height:12px;background:#e8e3d8;border-radius:6px;overflow:hidden}.bar span{display:block;height:100%;width:0;background:var(--amber);transition:width .2s}
#ptxt{font-size:.9rem;color:#4a5468;margin:.4em 0 0}
.check{width:64px;height:64px;line-height:64px;margin:6px auto;border-radius:50%;background:var(--amber);color:var(--navy);font-size:2rem;font-weight:700}
.foot{text-align:center;font-size:.82rem;color:#6b7385;padding:8px 16px 28px}.foot a,.card a{color:var(--navy)}
