/* Careers module (/career) */
.career-why .card { padding: 26px; }
.career-why .card h3 { font-size: 18px; }
.career-why .card p { margin: 0; }

.job-list { display: grid; gap: 18px; }
.job-card { display: flex; align-items: center; gap: 28px; padding: 28px 32px; color: inherit; }
.job-card-main { flex: 1; min-width: 0; }
.job-card h3 { font-size: 22px; margin-bottom: 8px; overflow-wrap: anywhere; }
.job-card p { margin: 0 0 12px; }
.job-card .link-arrow { flex-shrink: 0; }
.job-meta { display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--muted); font-size: 14px; }
.job-meta span { display: inline-flex; align-items: center; gap: 6px; }
.job-meta .ic { color: var(--brand); }
.job-initiative { display: flex; align-items: center; gap: 22px; padding: 28px 32px; border-style: dashed; border-color: rgba(94, 159, 31, .35); background: rgba(94, 159, 31, .04); }
.job-initiative:hover { transform: none; }
.job-initiative .card-icon { margin: 0; flex-shrink: 0; }
.job-initiative > div:nth-child(2) { flex: 1; }
.job-initiative h3 { margin-bottom: 4px; }
.job-initiative p { margin: 0; }

.job-layout { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 48px; align-items: start; }
.job-block { margin-bottom: 40px; }
.job-block h2 { font-size: 24px; }
.job-block .check-list { margin-top: 16px; }
.job-aside { position: sticky; top: 100px; }
.job-facts { padding: 26px; }
.job-facts:hover { transform: none; box-shadow: none; }
.job-facts dl { display: grid; gap: 4px; margin: 6px 0 22px; }
.job-facts dt { font-size: 12px; text-transform: uppercase; letter-spacing: .06em; font-weight: 600; color: var(--muted); margin-top: 10px; }
.job-facts dd { margin: 0; font-weight: 600; overflow-wrap: anywhere; }

.career-narrow { max-width: 860px; }
.apply-form { padding: 40px; }
.apply-form:hover, .apply-done:hover { transform: none; box-shadow: none; }
.apply-form h2 { font-size: 28px; }
.apply-form > .muted { margin-bottom: 26px; }
.apply-form textarea.input-sm { min-height: 0; height: auto; }
.field-hint { font-size: 13px; color: var(--muted); margin-top: 6px; }
.field-error { font-size: 13px; color: var(--danger); margin-top: 6px; font-weight: 600; }
.file-drop { position: relative; display: flex; align-items: center; min-height: 58px; padding: 12px 16px; border: 1.5px dashed var(--line-2); border-radius: var(--radius-sm); background: var(--bg-2); cursor: pointer; font-weight: 500; color: var(--muted); margin: 0; transition: .2s; }
.file-drop:hover, .file-drop:focus-within { border-color: var(--brand); color: var(--text); }
.file-drop.has-file { border-style: solid; border-color: var(--brand); background: rgba(94, 159, 31, .06); color: var(--text); }
.file-drop input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; }
.file-drop-text { display: flex; align-items: center; gap: 10px; font-size: 14px; overflow-wrap: anywhere; min-width: 0; }
.file-drop-text .ic { color: var(--brand); transform: rotate(180deg); }
.apply-done { text-align: center; padding: 50px 30px; }
.apply-done-icon { width: 72px; height: 72px; border-radius: 50%; margin: 0 auto 18px; display: grid; place-items: center; background: rgba(94, 159, 31, .12); color: var(--brand); }

@media (max-width: 960px) {
    .job-layout { grid-template-columns: 1fr; gap: 10px; }
    .job-aside { position: static; order: -1; margin-bottom: 20px; }
}
@media (max-width: 640px) {
    .job-card { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; }
    .job-initiative { flex-direction: column; align-items: flex-start; padding: 22px; }
    .apply-form { padding: 24px 18px; }
    .apply-form h2 { font-size: 24px; }
}
