.apply-hero{
 padding: 180px var(--pad-x) 100px;
 background: linear-gradient(135deg, #0a1e4a 0%, #1748a3 70%, #2a7de1 100%);
 color: #fff;
 position: relative;
 overflow: hidden;
}
.apply-hero::before{
 content:''; position: absolute; inset: 0;
 background:
 radial-gradient(ellipse 60% 50% at 90% 0%, rgba(0,255,157,.12), transparent 60%),
 radial-gradient(ellipse 50% 80% at 0% 100%, rgba(255,255,255,.08), transparent 60%);
}
.apply-hero-inner{ position: relative; z-index: 2; max-width: 900px; }
.apply-hero .eyebrow{ color: rgba(255,255,255,.7); margin-bottom: 24px; display: inline-block; }
.apply-hero h1{
 font-family: var(--display); font-weight: 700;
 font-size: clamp(48px, 7vw, 84px);
 line-height: 1; letter-spacing: -.04em;
 margin-bottom: 28px;
 color: #fff;
}
.apply-hero h1 .em{
 background: linear-gradient(90deg, #00ff9d, #00a0df);
 -webkit-background-clip: text; -webkit-text-fill-color: transparent;
 background-clip: text;
}
.apply-hero p.lead{
 font-size: 19px; line-height: 1.5;
 color: rgba(255,255,255,.85);
 max-width: 640px;
}

.apply-form-section{
 padding: clamp(80px, 9vw, 120px) var(--pad-x);
 background: var(--paper);
}
.apply-form-wrap{
 max-width: 760px;
 margin: 0 auto;
 background: #fff;
 padding: clamp(36px, 5vw, 56px);
 border-radius: 22px;
 box-shadow: 0 20px 60px rgba(2,6,31,.08);
}
.apply-form h2{
 font-family: var(--display);
 font-size: clamp(26px, 3.5vw, 38px);
 font-weight: 700;
 letter-spacing: -.02em;
 color: var(--ink);
 margin-bottom: 8px;
}
.apply-form .sub{
 color: var(--grey-1);
 margin-bottom: 36px;
 font-size: 15px;
}

.af-row{ display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 18px; }
.af-row .af-field{ flex: 1; min-width: 240px; display: flex; flex-direction: column; gap: 8px; }
.af-row .af-full{ width: 100%; flex-basis: 100%; }
.af-field label{
 font-family: var(--mono);
 font-size: 10px;
 letter-spacing: .14em;
 text-transform: uppercase;
 color: var(--grey-1);
}
/* Contact Form 7 always wraps each field tag in a
   <span class="wpcf7-form-control-wrap"> — same explicit fix as
   .field .wpcf7-form-control-wrap in page-contact.css. */
.af-field .wpcf7-form-control-wrap{ display: block; width: 100%; }
.af-field input,
.af-field select,
.af-field textarea{
 font-family: inherit;
 font-size: 14.5px;
 padding: 13px 18px;
 background: #f4f7fb;
 border: 1.5px solid transparent;
 border-radius: 14px;
 color: var(--ink);
 outline: none;
 transition: all .2s;
 width: 100%;
 resize: vertical;
}
.af-field textarea{ min-height: 110px; }
.af-field input:focus,
.af-field select:focus,
.af-field textarea:focus{
 background: #fff;
 border-color: var(--blue);
 box-shadow: 0 0 0 4px rgba(42,125,225,.10);
}
/* Inline validation feedback */
.af-field.is-invalid input,
.af-field.is-invalid select,
.af-field.is-invalid textarea,
.af-file.is-invalid .af-file-label{
 border-color: #c41818;
 background: #fff6f6;
}
.af-field.is-invalid input:focus,
.af-field.is-invalid select:focus,
.af-field.is-invalid textarea:focus{
 box-shadow: 0 0 0 4px rgba(196,24,24,.12);
}
.field-error{
 color: #c41818;
 font-size: 13px;
 line-height: 1.4;
 margin: 6px 0 0;
}
.af-checkbox.is-invalid{
 border-radius: 10px;
 outline: 2px solid rgba(196,24,24,.4);
 outline-offset: 4px;
}
#afFormError{
 display: none;
 margin-top: 16px;
 padding: 12px 16px;
 border-radius: 12px;
 background: #fdecec;
 color: #c41818;
 font-size: 14px;
 line-height: 1.5;
}
.af-file{
 position: relative;
}
.af-file .wpcf7-form-control-wrap{
 position: absolute;
 inset: 0;
}
.af-file input[type="file"]{
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 opacity: 0;
 cursor: pointer;
}
.af-file-label{
 display: flex; align-items: center; justify-content: space-between; gap: 12px;
 padding: 13px 18px;
 background: #f4f7fb;
 border: 1.5px dashed rgba(0,0,0,.18);
 border-radius: 14px;
 font-size: 14.5px;
 color: var(--grey-1);
 cursor: pointer;
 transition: all .2s;
}
.af-file:hover .af-file-label,
.af-file input[type="file"]:focus + .af-file-label{
 background: #fff;
 border-color: var(--blue);
 color: var(--ink);
}
.af-file-label svg{ width: 22px; height: 22px; color: var(--blue); flex-shrink: 0; }

.af-actions{
 display: flex; gap: 16px;
 align-items: center;
 margin-top: 24px;
 flex-wrap: wrap;
}
.af-checkbox{
 display: flex; gap: 10px; align-items: flex-start;
 margin: 20px 0;
 font-size: 13.5px; color: var(--grey-1);
 line-height: 1.5;
}
.af-checkbox input{
 margin-top: 3px;
 width: 16px; height: 16px;
 accent-color: var(--blue);
}
.af-success{
 display: none;
 padding: 16px 20px;
 background: rgba(13,152,122,.10);
 border-left: 4px solid #0d987a;
 border-radius: 12px;
 margin-top: 18px;
}
.af-success.is-shown{ display: block; }
.af-success b{ color: #054736; }
.af-success p{ color: #054736; margin-top: 4px; font-size: 14px; }

@media(max-width: 600px){
 .af-row .af-field{ min-width: 100%; }
}
