/* ====== Brand palette (unchanged) ====== */
:root{
  --bg:#0b0b0b; --fg:#f5f5f5; --muted:#9aa0a6;
  --gv-cyan:#2de2ff; --gv-blue:#3a7dff; --gv-violet:#8a58ff; --gv-magenta:#ff2db1;
  --gv-grad: linear-gradient(90deg,var(--gv-cyan),var(--gv-blue) 35%,var(--gv-violet) 65%,var(--gv-magenta));
  --input-bg:#121212; --stroke:#2a2a2a; --radius:.65rem;
}

*{box-sizing:border-box}
html,body{margin:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  background:var(--bg); color:var(--fg);
}

/* ====== Header / Brand (center everything) ====== */
.brand-header{
  max-width:980px;
  margin:2rem auto 0;
  padding:0 1rem;
  display:flex;
  flex-direction:column;        /* stack logo + lockup */
  align-items:center;           /* center horizontally */
  text-align:center;            /* center text inside */
}
.brand-logo{
  height:150px; width:auto; display:block;
  border-radius:.5rem;
  margin:0 auto .5rem;          /* center the image */
}
.brand-lockup{display:flex; flex-direction:column; align-items:center}
.brand-name{
  font-weight:800; font-size:1.25rem; line-height:1.1;
  background:var(--gv-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
  letter-spacing:.3px;
}
.brand-tagline{color:var(--muted); font-size:.9rem}

/* ====== Layout ====== */
.container{
  max-width:860px; margin:2rem auto 4rem; padding:0 1rem;
  text-align:center;            /* center h1 + intro text */
}
p{color:var(--muted); margin:.5rem 0 1.25rem}

.gradient-title{
  font-size:1.75rem; margin:0 0 .25rem; font-weight:800;
  background:var(--gv-grad); -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* ====== Form ====== */
form{
  display:grid; gap:1rem;
  max-width:860px; margin:0 auto;    /* center the form block */
  text-align:left;                    /* keep fields/labels readable */
}
.grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem}
@media (max-width:720px){ .grid{grid-template-columns:1fr} }

label{display:grid; gap:.5rem; font-size:.95rem}
input, textarea{
  padding:.85rem .9rem; border:1px solid var(--stroke); border-radius:var(--radius);
  background:var(--input-bg); color:var(--fg); outline:0; transition:box-shadow .15s, border-color .15s;
}
input::placeholder, textarea::placeholder{color:#6d6d6d}
input:focus, textarea:focus{
  border-color:transparent;
  background:linear-gradient(var(--input-bg),var(--input-bg)) padding-box, var(--gv-grad) border-box;
  border:1px solid transparent;
}

/* Center the submit button inside the grid */
.btn-primary{
  padding:1rem 1.1rem; border:none; border-radius:var(--radius);
  font-weight:700; cursor:pointer; color:#fff;
  background:var(--gv-grad);
  transition:transform .06s ease, box-shadow .15s ease, opacity .15s ease;
  box-shadow:0 8px 24px rgba(90,0,120,.25);
  justify-self:center;                 /* <-- centers button */
}
.btn-primary:hover{transform:translateY(-1px); box-shadow:0 10px 28px rgba(90,0,120,.3)}
.btn-primary:active{transform:translateY(0); opacity:.9}

/* Honeypot */
.hp{position:absolute; left:-9999px; visibility:hidden}
