
  body{
    background:#eef2f5;
    font-family:'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
    color:#111827;
  }

  /* ---------- top bar ---------- */
  .site-header{
    background:#fff;
    border-bottom:1px solid #eef1f4;
    padding: 0.9rem 0;
  }
  .brand{
    font-weight:800;
    font-size:1.3rem;
    color:#1f2937;
  }
  .brand span{ color:#e0398a; }

  /* ---------- hero strip ---------- */
  .apply-hero{
    background: linear-gradient(120deg,#0A3D91 0%, #0A3D91 45%, #38bdf8 100%);
    color:#fff;
    padding: 2.6rem 0 3.2rem;
  }
  .apply-hero h1{
    font-weight:800;
    font-size:2rem;
    margin-bottom:0.4rem;
  }
  .apply-hero p{
    opacity:0.92;
    margin-bottom:0;
  }
  .apply-hero .badge-loc{
    background:rgba(255,255,255,0.18);
    border:1px solid rgba(255,255,255,0.35);
    padding:0.35rem 0.9rem;
    border-radius:999px;
    font-weight:600;
    font-size:0.9rem;
  }

  /* ---------- form card ---------- */
  .form-card{
    background:#fff;
    border-radius: 22px;
    box-shadow: 0 20px 50px rgba(17,24,39,0.12);
    padding: 2.4rem;
    margin-top: 2rem;
    margin-bottom: 2rem;
    position:relative;
    z-index:2;
  }

  .section-title{
    font-weight:800;
    font-size:1.05rem;
    color:#0A3D91;
    text-transform:uppercase;
    letter-spacing:0.04em;
    margin-bottom:1.1rem;
    margin-top: 1.6rem;
  }
  .section-title:first-of-type{ margin-top:0; }

  .form-label{
    font-weight:600;
    color:#374151;
    font-size:0.92rem;
  }
  .form-control, .form-select{
    border-radius: 12px;
    border:1.5px solid #e5e9ee;
    padding: 0.6rem 0.9rem;
  }
  .form-control:focus, .form-select:focus{
    border-color:#0A3D91;
    box-shadow: 0 0 0 4px rgba(45,212,191,0.15);
  }

  .upload-box{
    border: 2px dashed #cbd5e1;
    border-radius: 16px;
    padding: 1.6rem;
    text-align:center;
    color:#6b7280;
    background:#f9fafb;
    cursor:pointer;
    transition: all .15s ease;
  }
  .upload-box:hover{
    border-color:#0A3D91;
    background:#f0fdfa;
  }
  .upload-box.has-file{
    border-color:#0A3D91;
    background:#f0fdfa;
    color:#0A3D91;
  }
  .upload-box svg{ width:34px; height:34px; margin-bottom:0.4rem; }

  .btn-submit{
    background:#0A3D91;
    border:none; color:#fff; font-weight:700;
    padding:0.75rem 2.6rem; border-radius:999px;
    font-size:1.05rem;
  }
  .btn-submit:hover{ background:#0A3D91; color:#fff; }

  .btn-back{
    background:#fbdcec;
    border:none; color:#e0398a; font-weight:700;
    padding:0.75rem 1.8rem; border-radius:999px;
  }
  .btn-back:hover{ background:#f8c7e2; color:#e0398a; }

  .req{ color:#e0398a; }

  /* success overlay */
  .success-screen{
    display:none;
    text-align:center;
    padding: 3rem 1rem;
  }
  .success-screen.show{ display:block; }
  .success-icon{
    width:76px; height:76px;
    border-radius:50%;
    background:#f0fdfa;
    display:flex; align-items:center; justify-content:center;
    margin: 0 auto 1.2rem;
  }