/* ====== RESET ====== */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --navy:#0f2545;
  --navy-soft:#1b3a63;
  --accent:#c9a227;        /* subtle gold */
  --bg:#eef1f6;
  --card:#ffffff;
  --text:#1a2233;
  --muted:#6b7688;
  --line:#e2e7ef;
  --radius:14px;
  --shadow:0 10px 40px rgba(15,37,69,.10);
}

body{
  font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  background:
    radial-gradient(1200px 600px at 50% -10%, #ffffff 0%, transparent 60%),
    linear-gradient(180deg,#eef1f6 0%, #e6ebf3 100%);
  color:var(--text);
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:32px 16px;
  -webkit-font-smoothing:antialiased;
}

/* ====== CARD ====== */
.page-wrap{width:100%;max-width:520px}

.card{
  background:var(--card);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:40px 36px 28px;
  border:1px solid rgba(15,37,69,.06);
  position:relative;
  overflow:hidden;
}
.card::before{
  content:"";
  position:absolute;top:0;left:0;right:0;height:5px;
  background:linear-gradient(90deg,var(--navy) 0%,var(--navy-soft) 50%,var(--accent) 100%);
}

/* ====== BRAND ====== */
.brand{display:flex;align-items:center;gap:14px;margin-bottom:28px}
.brand-mark{
  width:48px;height:48px;border-radius:12px;
  background:linear-gradient(135deg,var(--navy),var(--navy-soft));
  color:#fff;font-weight:700;font-size:18px;
  display:flex;align-items:center;justify-content:center;
  letter-spacing:.5px;
  box-shadow:0 6px 16px rgba(15,37,69,.25);
}
.brand-text h1{font-size:17px;font-weight:700;color:var(--navy);letter-spacing:.2px}
.brand-text p{font-size:12.5px;color:var(--muted);margin-top:2px;letter-spacing:.3px;text-transform:uppercase}

/* ====== INTRO ====== */
.intro{margin-bottom:26px}
.intro h2{font-size:22px;font-weight:700;color:var(--navy);margin-bottom:6px;letter-spacing:-.2px}
.intro p{font-size:14px;color:var(--muted);line-height:1.5}

/* ====== FORM ====== */
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:480px){.row{grid-template-columns:1fr}}

.field{margin-bottom:16px;display:flex;flex-direction:column}
.field label{
  font-size:12.5px;font-weight:600;color:var(--navy);
  margin-bottom:7px;letter-spacing:.2px;text-transform:uppercase;
}
.field input{
  width:100%;
  padding:13px 15px;
  border:1.5px solid var(--line);
  border-radius:10px;
  font-size:15px;
  font-family:inherit;
  color:var(--text);
  background:#fbfcfe;
  transition:border-color .18s, box-shadow .18s, background .18s;
}
.field input::placeholder{color:#a4adbd}
.field input:hover{border-color:#cfd7e3}
.field input:focus{
  outline:none;
  border-color:var(--navy);
  background:#fff;
  box-shadow:0 0 0 4px rgba(15,37,69,.08);
}

/* Honeypot */
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* ====== DISCLAIMER ====== */
.disclaimer{
  font-size:12.5px;
  color:var(--muted);
  line-height:1.6;
  background:#f5f7fb;
  border-left:3px solid var(--accent);
  padding:12px 14px;
  border-radius:8px;
  margin:6px 0 20px;
}
.disclaimer strong{color:var(--navy)}

/* ====== BUTTON ====== */
.btn-submit{
  width:100%;
  padding:15px 20px;
  background:linear-gradient(135deg,var(--navy) 0%,var(--navy-soft) 100%);
  color:#fff;
  border:none;
  border-radius:10px;
  font-size:15.5px;
  font-weight:600;
  letter-spacing:.3px;
  cursor:pointer;
  transition:transform .12s, box-shadow .18s, opacity .18s;
  box-shadow:0 8px 20px rgba(15,37,69,.22);
}
.btn-submit:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(15,37,69,.28)}
.btn-submit:active{transform:translateY(0)}
.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}

/* ====== FOOTER ====== */
.foot{
  text-align:center;
  font-size:12px;
  color:#9aa4b6;
  margin-top:22px;
  padding-top:18px;
  border-top:1px solid var(--line);
}