*{
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family:Arial,sans-serif;
}

body{
  min-height:100vh;
  background:linear-gradient(135deg,#082f6f,#1688df);
  display:flex;
  justify-content:center;
  align-items:center;
  padding:35px 15px;
}

.form-container{
  background:#fff;
  width:100%;
  max-width:1050px;
  padding:45px;
  border-radius:18px;
  box-shadow:0 18px 45px rgba(0,0,0,.25);
}

.ns-header{
  text-align:center;
  margin-bottom:30px;
  padding-bottom:20px;
  border-bottom:2px solid #e8e8e8;
}

.ns-header h1{
  font-size:42px;
  color:#0a3d91;
  font-weight:800;
}

.ns-header h1 span{
  color:#ff7c00;
}

.ns-header h2{
  font-size:24px;
  margin-top:8px;
  color:#000;
}

.grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}

label{
  display:block;
  font-weight:700;
  color:#111;
  margin-bottom:8px;
  font-size:16px;
}

input,
select{
  width:100%;
  padding:15px 16px;
  border:1.5px solid #d4d4d4;
  border-radius:10px;
  font-size:15px;
  background:#fff;
  outline:none;
}

input:focus,
select:focus{
  border-color:#0a3d91;
  box-shadow:0 0 0 3px rgba(10,61,145,.15);
}

.section-title{
  grid-column:1/-1;
  background:linear-gradient(135deg,#d9eeff,#f1f9ff);
  color:#0a3d91;
  padding:14px 20px;
  border-radius:12px;
  font-size:20px;
  font-weight:800;
  margin:18px 0 5px;
  box-shadow:0 6px 16px rgba(185,220,255,0.25);
  border-left:6px solid #7dbbff;
}

.section-title::before{
  content:"● ";
  color:#4a9fff;
}

button{
  width:100%;
  margin-top:30px;
  padding:17px;
  border:none;
  border-radius:10px;
  background:linear-gradient(135deg,#ff7a00,#ff9800);
  color:#fff;
  font-size:20px;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 10px 25px rgba(255,124,0,.35);
}

button:disabled{
  opacity:0.6;
  cursor:not-allowed;
}

@media(max-width:768px){
  .form-container{
    max-width:96%;
    padding:22px 16px;
  }

  .grid{
    grid-template-columns:1fr;
    gap:14px;
  }

  .ns-header h1{
    font-size:30px;
  }

  .ns-header h2{
    font-size:20px;
  }
}