:root{--sap:#1A3F7A;--sap-d:#0E1B36;--sap-l:#DCE4F0;--gold:#C4A25C;--gold-l:#E6D3A3;--ink:#0E1B36;--mut:#5B6578;--line:#dfe5f1;--bad:#b91c1c;--ok:#3E7D5E;--ivory:#F6F1E7}
*{box-sizing:border-box}
body{margin:0;font-family:"Montserrat",system-ui,"Segoe UI",Arial,sans-serif;color:var(--ink);background:#f7f9fd;font-size:16px;line-height:1.55}
.wrap{max-width:900px;margin:0 auto;padding:0 18px}
.top{background:var(--sap);border-bottom:3px solid var(--gold);position:sticky;top:0;z-index:10}
.top .wrap{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:12px;flex-wrap:wrap}
.logo{display:flex;align-items:center}
.logo img{height:32px;width:auto;display:block}
.tabs{display:flex;gap:6px}
.tabs button{border:none;background:none;font:inherit;font-weight:600;color:#fff;padding:8px 12px;border-radius:999px;cursor:pointer}
.tabs button.on{background:var(--gold);color:var(--ink)}
h1,h2,legend{font-family:"Marcellus",Georgia,serif;font-weight:400}
h1{color:var(--sap-d);font-size:32px;margin:28px 0 6px}
.lead{color:var(--mut);margin:0 0 20px}
.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:22px;margin-bottom:18px}
fieldset{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px 8px;margin:0 0 18px}
legend{color:var(--sap-d);padding:0 8px;font-size:19px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:4px 18px}
.f{margin-bottom:14px}
label{display:block;font-weight:600;font-size:14px;margin-bottom:6px}
input,select{width:100%;padding:11px 12px;border:1.5px solid #cdd6e8;border-radius:10px;font:inherit;background:#fff;color:var(--ink)}
input:focus,select:focus{outline:2px solid var(--gold);border-color:var(--gold)}
input[type=checkbox]{width:auto;margin-top:4px}
input[type=range]{padding:0;border:none;accent-color:var(--sap)}
input[type=file]{padding:8px;font-size:14px}
.chk{display:flex;gap:10px;align-items:flex-start;font-weight:500;margin-bottom:14px}
.btn{display:inline-flex;justify-content:center;align-items:center;border:none;border-radius:999px;padding:14px 28px;font:inherit;font-weight:800;cursor:pointer;background:var(--sap);color:#fff}
.btn.gold{background:var(--gold);color:var(--ink);width:100%;font-size:17px}
.btn:disabled{opacity:.5;cursor:wait}
.calc label b{color:var(--sap);font-size:22px;float:right}
.rng{display:flex;justify-content:space-between;font-size:12px;color:var(--mut);margin-bottom:12px}
.terms{display:flex;flex-wrap:wrap;gap:8px}
.terms button{border:2px solid var(--line);background:#fff;border-radius:10px;padding:7px 13px;font:inherit;font-weight:700;cursor:pointer}
.terms button.on{background:var(--sap);border-color:var(--sap);color:#fff}
.res{background:var(--sap-l);border-radius:14px;padding:16px}
.res .m{font-size:13px;color:var(--mut);font-weight:600}
.res .big{font-size:32px;font-weight:800;color:var(--sap-d)}
.res dl{display:grid;grid-template-columns:1fr auto;gap:4px 10px;margin:8px 0 0;font-size:14px}
.res dt{color:var(--mut)}.res dd{margin:0;font-weight:700;text-align:right}
.fine{font-size:13px;color:var(--mut)}
.err{color:var(--bad);font-weight:600;min-height:22px;margin:8px 0}
.ok{background:#e6f1eb;border:1px solid var(--ok);border-radius:14px;padding:18px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.hidden{display:none!important}
.mt{margin-top:16px}
footer{color:#c9d2e3;background:var(--sap-d);font-size:13px;padding:30px 0 40px;margin-top:30px}
@media(max-width:640px){.grid2{grid-template-columns:1fr}h1{font-size:25px}.card,fieldset{padding:16px}}
