body{ font-feature-settings:"cv02","cv03","cv04","cv11"; }

.card{
  background:#fff;
  border:1px solid #e2e8f0;
  border-radius:1rem;
  box-shadow:0 1px 2px rgba(15,23,42,.04);
}

.input{
  width:100%;
  border:1px solid #cbd5e1;
  border-radius:.65rem;
  padding:.65rem .9rem;
  font-size:.925rem;
  transition:.15s;
  background:#fff;
}
.input:focus{
  outline:none;
  border-color:#3b82f6;
  box-shadow:0 0 0 3px rgba(59,130,246,.15);
}

.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  background:#2563eb;color:#fff;font-weight:600;
  padding:.7rem 1.2rem;border-radius:.7rem;
  box-shadow:0 4px 14px rgba(37,99,235,.35);
  transition:.15s;
}
.btn-primary:hover{ background:#1d4ed8; transform:translateY(-1px); }

.btn-secondary{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  background:#fff;color:#0f172a;font-weight:600;border:1px solid #cbd5e1;
  padding:.7rem 1.2rem;border-radius:.7rem;transition:.15s;
}
.btn-secondary:hover{ background:#f8fafc; }

#map{ height:320px; border-radius:.75rem; border:1px solid #cbd5e1; }

.hero-grid{
  background-image: radial-gradient(circle at 1px 1px, #cbd5e1 1px, transparent 0);
  background-size: 24px 24px;
}

.dropzone{
  border:2px dashed #cbd5e1;border-radius:.9rem;padding:2rem;text-align:center;
  transition:.15s;cursor:pointer;background:#f8fafc;
}
.dropzone.dragover{ border-color:#3b82f6; background:#eff6ff; }
