.apply-form{display:grid;grid-template-columns:1fr 1fr;gap:16px 18px}
.apply-form .full{grid-column:1/-1}
.apply-form label{display:grid;gap:7px;align-content:start;font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.06em;text-transform:uppercase;color:#27362e}
.apply-form input:not([type=checkbox]),.apply-form select,.apply-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cfd4cd;background:#fff;font:14px 'IBM Plex Sans',sans-serif;color:#27362e;text-transform:none;letter-spacing:0}
.apply-form input:focus-visible,.apply-form select:focus-visible,.apply-form textarea:focus-visible,.rec-btn:focus-visible{outline:2px solid #c2a365;outline-offset:1px}
.apply-form .help{font:400 12px/1.45 'IBM Plex Sans',sans-serif;color:#59645f;text-transform:none;letter-spacing:0}
.apply-form .err{font:600 12px 'IBM Plex Sans',sans-serif;color:#a33a24;text-transform:none;letter-spacing:0}
.apply-form .has-error input,.apply-form .has-error select,.apply-form .has-error textarea{border-color:#c0462f}
.apply-section{grid-column:1/-1;margin:14px 0 0;padding-top:16px;border-top:1px solid #e6e6df;font:700 13px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#102e29}
.apply-section small{display:block;margin-top:4px;font:400 13px 'IBM Plex Sans',sans-serif;text-transform:none;color:#59645f}
.apply-note{border-left:3px solid #c2a365;background:#fbf6ea;padding:12px 14px;font-size:13px;color:#3b3523;margin:0 0 20px}
.apply-note.bad{border-color:#c0462f;background:#fbeae6;color:#5a2117}
.apply-errors{grid-column:1/-1;margin:0;padding:12px 14px;border-left:3px solid #c0462f;background:#fbeae6;color:#5a2117;font-size:13px}
.photo-row{display:flex;gap:16px;align-items:center}
.photo-preview{width:88px;height:88px;flex:none;border:1px solid #d8d9d0;background:#f3f1e9 center/cover no-repeat;display:grid;place-items:center;color:#9aa39d;font-size:28px}
.statement{grid-column:1/-1;background:#102e29;color:#f8f6f0;padding:22px 24px;border-left:4px solid #c2a365}
.statement .micro{font:600 10px 'IBM Plex Mono',monospace;letter-spacing:.08em;text-transform:uppercase;color:#dfc487}
.statement blockquote{margin:10px 0 0;font:500 17px/1.65 'IBM Plex Sans',sans-serif}
.recorder{grid-column:1/-1;display:grid;gap:12px;padding:18px;border:1px dashed #c2a365;background:#fffdf7}
.rec-controls{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.rec-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #102e29;background:#102e29;color:#fff;font:600 12px 'IBM Plex Mono',monospace;text-transform:uppercase;padding:12px 18px;cursor:pointer}
.rec-btn.alt{background:transparent;color:#102e29}
.rec-btn.is-recording{background:#b3261e;border-color:#b3261e}
.rec-dot{width:10px;height:10px;border-radius:50%;background:#ff5a4f}
.rec-btn.is-recording .rec-dot{animation:recblink 1s infinite}
@keyframes recblink{50%{opacity:.25}}
.rec-time{font:600 13px 'IBM Plex Mono',monospace;color:#27362e}
.rec-status{font-size:13px;color:#285646;margin:0}
.rec-status.bad{color:#a33a24}
.recorder audio{width:100%;max-width:420px}
.upload-alt{font-size:12px;color:#59645f}
.upload-alt input{margin-top:6px}
.consent-row{grid-column:1/-1;display:flex;gap:10px;align-items:flex-start;font:400 13px/1.5 'IBM Plex Sans',sans-serif !important;text-transform:none !important;letter-spacing:0 !important}
.consent-row input{margin-top:3px}
.apply-actions{grid-column:1/-1;display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:6px}
@media(max-width:640px){.apply-form{grid-template-columns:1fr}.statement blockquote{font-size:15px}}
.rec-btn[hidden],.recorder audio[hidden]{display:none}
.apply-form .consent-row{display:flex}
/* Landing flow (ad traffic): steps + OTP first */
.tc-steps{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;padding:0;margin:20px 0 0;font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase;color:#7b857f}
.tc-steps li{display:flex;align-items:center;gap:8px}
.tc-steps b{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;border:1px solid #c9cdc5;background:#fff;color:#7b857f}
.tc-steps .is-current{color:#102e29}.tc-steps .is-current b{background:#102e29;border-color:#102e29;color:#fff}
.tc-steps .is-done{color:#285646}.tc-steps .is-done b{background:#c2a365;border-color:#c2a365;color:#102e29}
.tc-otp{max-width:620px;border-top:4px solid #c2a365}
.tc-otp h2{margin:6px 0 8px}
.tc-otp [hidden]{display:none!important}
.tc-otp-row{display:grid;grid-template-columns:84px minmax(0,1fr) auto;gap:8px;margin-top:16px}
.tc-otp input{width:100%;box-sizing:border-box;padding:14px 12px;border:1px solid #cfd4cd;background:#fff;font:16px 'IBM Plex Sans',sans-serif;color:#27362e}
.tc-otp input:focus-visible{outline:2px solid #c2a365;outline-offset:1px}
.tc-otp .btn{white-space:nowrap}
.tc-code-label{display:grid;gap:8px;margin-top:16px;font:600 11px 'IBM Plex Mono',monospace;text-transform:uppercase}
.tc-code-label input{font-size:22px;letter-spacing:.45em;text-align:center}
.tc-otp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.tc-otp-actions [data-otp-verify]{grid-column:1/-1}
.tc-otp-actions .btn,.tc-otp-actions .btn-outline{width:100%;box-sizing:border-box;margin:0}
.tc-otp-error{color:#a33a24}
.tc-otp-foot{margin:16px 0 0;font-size:13px;color:#59645f}.tc-otp-foot a{color:#285646}
.apply-form input[readonly]{background:#f3f1e9;color:#285646;font-weight:600}
@media(max-width:640px){
  .tc-hero{padding-top:22px;padding-bottom:22px}
  .tc-hero h1{font-size:32px;line-height:1.08}
  .tc-hero .lead{font-size:15px}
  .tc-otp-row{grid-template-columns:72px minmax(0,1fr)}.tc-otp-row .btn{grid-column:1/-1}
  .tc-otp-actions{grid-template-columns:1fr}
}
/* Ad landing on phones: the mobile-number box must be visible without scrolling */
@media(max-width:640px){
  .tc-hero.is-landing{padding:16px 0 4px;border-bottom:0}
  .tc-hero.is-landing .lead,.tc-hero.is-landing .tc-steps{display:none}
  .tc-hero.is-landing h1{font-size:28px;margin:6px 0 0}
  .tc-hero.is-landing + .content{padding-top:12px}
  .tc-otp{padding:20px 18px}
  .tc-otp h2{font-size:24px}
  .tc-otp .note{margin:0}
}
/* Recording locked until the details above are complete */
.rec-locked{grid-column:1/-1;margin:0;padding:12px 14px;border-left:3px solid #c2a365;background:#fbf6ea;font-size:13px;color:#3b3523}
.rec-locked a{color:#285646}
.recorder.is-locked{opacity:.55}
.recorder.is-locked .rec-btn,.recorder.is-locked input[type=file]{cursor:not-allowed}
.rec-btn:disabled{cursor:not-allowed}
