.vf-page{max-width:860px;margin:1.25rem auto;padding:0 1rem}
.vf-page h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:.25rem 0 .75rem}
.vf-lead{opacity:.9;margin:0 0 1rem}
.vf-form{display:grid;gap:.9rem}
.vf-field{display:grid;gap:.35rem}
.vf-field label{opacity:.9}
.vf-input, .vf-textarea, .vf-select{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.16);
  color:#eaf2ff;border-radius:10px;padding:.6rem .7rem
}
.vf-textarea{min-height:140px;resize:vertical}
.vf-hint{opacity:.75;font-size:.9rem}
.vf-actions{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.4rem}
.vf-btn--primary{background:#22d3ee;color:#05232a;border:0}
.vf-btn{display:inline-flex;align-items:center;gap:.45rem;padding:.6rem .9rem;border-radius:10px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.16);color:#eaf2ff;text-decoration:none}
.vf-btn:hover{filter:brightness(1.06)}
.vf-note{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.7rem}
.vf-grid{display:grid;gap:.9rem}
@media(min-width:720px){.vf-2{grid-template-columns:1fr 1fr}}
