/* Application form. Depends on brand.css and site.css. */
.apply { max-width:860px; }
.apply fieldset { border:0; border-top:2px solid var(--ink); margin:44px 0 0; padding:26px 0 0; }
.apply legend { font:500 27px/1.1 var(--display); padding:0 14px 0 0; float:left; width:100%; margin-bottom:18px; }
.apply legend b { font:italic 400 30px/1 var(--display); color:var(--green); margin-right:12px; }
.apply legend + * { clear:both; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:18px 22px; }
.f { display:block; }
.f.wide { grid-column:1 / -1; margin-bottom:18px; }
.f > span, .f.file > span { display:block; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-soft); margin-bottom:6px; }
.f > span i { text-transform:none; letter-spacing:0; font-style:normal; color:var(--ink-faint); margin-left:6px; }
.f input[type=text], .f input[type=email], .f input[type=tel], .f input[type=date], .f input[type=password], .f select, .f textarea {
  width:100%; padding:12px 13px; border:1px solid rgba(16,38,31,.45); border-radius:2px; background:#fff; color:var(--ink); font:400 16px/1.3 var(--body); }
.f textarea { resize:vertical; }
.f input:focus, .f select:focus, .f textarea:focus { outline:2px solid var(--green); outline-offset:1px; border-color:var(--green); }
.f small { display:block; color:var(--ink-faint); font-size:13px; margin-top:5px; line-height:1.4; }
.f em, em.solo { display:block; color:var(--stamp); font-style:normal; font-size:13.5px; margin-top:5px; }
.f.bad input, .f.bad select, .f.bad textarea { border-color:var(--stamp); background:#fff7f4; }
.f.file { padding:16px 0; border-bottom:1px dashed var(--rule); }
.f.file input { font:14px var(--body); }
.checks { display:flex; flex-wrap:wrap; gap:10px 24px; padding:6px 0; }
.checks label { display:flex; align-items:center; gap:8px; font-size:16px; }
.apply input[type=checkbox] { accent-color:var(--green); width:17px; height:17px; flex:0 0 auto; }
.agree { display:flex; gap:12px; align-items:flex-start; background:var(--mint) url(/static/safety.svg); border:1px solid var(--ink); padding:16px; margin-bottom:20px; font-size:15px; line-height:1.5; }
.agree.bad { border-color:var(--stamp); }
.agree input { margin-top:3px; }
.alert { border:1px solid var(--stamp); border-left-width:4px; background:#fff7f4; padding:14px 16px; margin:24px 0 0; color:#7a2413; }
.apply .btn { border:0; cursor:pointer; margin:26px 0 18px; }
.apply .muted { color:var(--ink-faint); font-size:14px; }
.hp { position:absolute; left:-9999px; width:1px; height:1px; opacity:0; }
@media (max-width:640px) { .grid2 { grid-template-columns:1fr; } }
.f.file label { display:block; }
.cam { margin-top:12px; }
.cam video, .cam canvas { display:block; width:100%; max-width:380px; border:1px solid var(--ink); background:#000; margin-bottom:10px; }
.camb { background:var(--ink); color:var(--paper); border:0; border-radius:2px; padding:11px 16px; font:500 12px var(--mono); letter-spacing:.14em; text-transform:uppercase; cursor:pointer; margin-right:8px; }
.camb.ghost { background:none; color:var(--ink); border:1px solid var(--ink); }
