/* ---------- APPLICATION FORM ---------- */
#application{
    max-width:560px;
    margin:10rem auto 8rem;
    padding:0 1.25rem;
    font-size:.9rem;
}

#application .intro{
    font-weight:600;
    line-height:1.6;
    margin-bottom:2.5rem;
}

/* field wrapper */
.field-group{ margin-bottom:1.4rem; }

/* labels */
.field-group label{
    display:block;
    margin-bottom:.35rem;
    font-size:.8rem;
    font-weight:500;
    letter-spacing:.02em;
}

/* inputs & select */
#application input,
#application select{
    width:100%;
    padding:.7rem 1rem;
    background:var(--bg);
    border:1px solid var(--fg);
    border-radius:2px;
    font-family:var(--font-body);
    color: var(--fg);
    transition:border-color .25s, box-shadow .25s;
}

#application input::placeholder{ opacity:.5; }

#application input:focus,
#application select:focus{
    outline:none;
    border-color:var(--accent);
    box-shadow:0 0 6px var(--accent);
}

/* select arrow (WebKit) */
#application select{
    -webkit-appearance:none;
    background-image:
      linear-gradient(45deg,transparent 50%,var(--fg) 50%),
      linear-gradient(135deg,var(--fg) 50%,transparent 50%);
    background-position:calc(100% - 18px) center,
                       calc(100% - 13px) center;
    background-size:5px 5px;
    background-repeat:no-repeat;
    cursor:pointer;
}

#applyForm ul{
    padding-right: 2rem;
    padding-bottom: 1rem;
}

/* video guidelines list */
.video-guidelines{
    list-style-type:square;
    padding-left:1.25rem;
    margin:.15rem 0 1rem;
    font-size:.75rem;
    line-height:1.4;
    opacity:.85;
}
.video-guidelines em{ font-style:italic; }

/* small hint */
.hint{
    display:block;
    margin-top:.4rem;
    font-size:.7rem;
    opacity:.6;
}

/* submit button */
.btn-submit{
    width:100%;
    padding:.75rem 0;
    background:transparent;
    border:1px solid var(--fg);
    color: var(--fg);
    font-weight:700;
    font-family:var(--font-display);
    cursor:pointer;
    transition:background .25s,border-color .25s,transform .25s;
}
.btn-submit:hover{
    background:var(--accent);
    color:#000;
    border-color:var(--accent);
    transform:translateY(-2px);
}

/* neon focus for invalid → accent red pulse (optional) */
#applyForm:invalid .btn-submit{
    opacity:.7;
    pointer-events:none;
}

/* mobile tweak */
@media(max-width:640px){
    #application{ margin:10rem auto 6rem; }
}
