[hidden]{display:none !important}
:root{
  --navy:#102A43; --ink:#243B53; --muted:#5B6B7F; --line:#D9E2EC;
  --paper:#FFFFFF; --wash:#F0F4F8; --sign:#FFD23F; --sign-dark:#F2C100;
  --ok:#1F7A4D; --bad:#B42318;
  --head:"Bricolage Grotesque", "Segoe UI", system-ui, sans-serif;
  --body:"Figtree", "Segoe UI", system-ui, sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{font-family:var(--body);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.55}
a{color:var(--navy)}
.wrap{max-width:960px;margin:0 auto;padding:0 24px}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--navy);outline-offset:2px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:2px solid var(--navy);
  background:var(--sign);color:var(--navy);font-weight:700;padding:10px 20px;border-radius:999px;cursor:pointer;white-space:nowrap;text-decoration:none}
.btn:hover{background:var(--sign-dark)}
.btn.ghost{background:transparent}
.btn.ghost:hover{background:var(--wash)}
.btn.small{padding:6px 14px;font-size:15px}
.btn.danger{border-color:var(--bad);color:var(--bad);background:transparent}
.btn:disabled{opacity:.55;cursor:wait}

/* fields */
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}
.field label{font-weight:600;font-size:15px;color:var(--navy)}
.field .hint{font-weight:400;color:var(--muted)}
.field input,.field select{height:48px}
.field input[type=file]{height:auto}
.field input,.field select,.field textarea{border:1.5px solid var(--line);border-radius:10px;padding:11px 12px;background:#fff;width:100%}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--navy);outline:none;box-shadow:0 0 0 3px rgba(16,42,67,.15)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
@media (max-width:600px){.row2{grid-template-columns:1fr}}
.error{background:#FEF3F2;color:var(--bad);border-radius:10px;padding:10px 12px;margin-bottom:16px;font-size:15px}
.error:empty{display:none}
