.job-application { --ja-ink:#172332; --ja-muted:#647180; --ja-border:#dce2e8; --ja-accent:#a78236; --ja-red:#b8283e; color:var(--ja-ink); background:#f5f6f7; }
.job-application [hidden] { display:none !important; }
.ja-intro { background:#172332; color:#fff; }
.ja-intro-inner { max-width:1180px; margin:auto; padding:52px 32px 46px; position:relative; }
.ja-eyebrow { color:var(--ja-accent); font-size:11px; font-weight:700; letter-spacing:.16em; margin:0 0 14px; }
.ja-intro h1 { color:#fff; font-size:clamp(36px,4.1vw,58px); line-height:1.08; font-weight:600; margin:0 0 20px; letter-spacing:-.035em; }
.ja-intro-copy { font-size:15px; color:#d3d9df; line-height:1.8; margin:0; }
.ja-intro-meta { display:flex; gap:28px; position:absolute; right:32px; bottom:48px; font-size:12px; color:#d3d9df; }
.ja-intro-meta i { color:#c9b27b; margin-right:8px; }
.ja-layout { max-width:1180px; padding:44px 32px 72px; margin:auto; display:grid; grid-template-columns:242px minmax(0,1fr); gap:42px; align-items:start; }
.ja-sidebar { position:sticky; top:105px; padding:14px 0; }
.ja-sidebar-heading { font-size:10px; font-weight:700; letter-spacing:.15em; color:var(--ja-muted); margin:0 0 22px 14px; }
.ja-step-list { list-style:none; margin:0; padding:0; }
.ja-step-list li { margin:0 0 6px; }
.ja-step-list button { width:100%; text-align:left; background:transparent; border:0; border-radius:5px; padding:13px 14px; display:flex; align-items:center; gap:12px; color:var(--ja-muted); font:inherit; font-size:12px; line-height:1.5; }
.ja-step-number { font-size:11px; letter-spacing:.04em; font-weight:600; color:#87929d; }
.ja-step-list button[aria-current="step"] { background:#fff; color:var(--ja-ink); box-shadow:inset 3px 0 var(--ja-accent); font-weight:700; }
.ja-step-list button[aria-current="step"] .ja-step-number { color:var(--ja-accent); }
.ja-step-list button:hover { color:var(--ja-ink); background:#e9ecef; }
.ja-step-check { display:none; margin-left:auto; color:#37734e; }
.ja-step-list .ja-visited .ja-step-check { display:inline; }
.ja-sidebar-note { display:flex; gap:11px; border-top:1px solid var(--ja-border); margin:26px 14px 0; padding-top:22px; }
.ja-sidebar-note i { color:#7c8997; padding-top:4px; font-size:11px; }
.ja-sidebar-note p { color:var(--ja-muted); font-size:11px; line-height:1.8; margin:0; }
.ja-form-wrap { min-width:0; }
.ja-progress { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; margin:0 0 23px; font-size:11px; color:var(--ja-muted); }
.ja-progress-track { width:100%; height:3px; background:#dde2e7; }
.ja-progress-track span { display:block; width:100%; height:100%; background:var(--ja-accent); transition:width .2s ease; }
#ja-form { background:#fff; border:1px solid var(--ja-border); border-radius:8px; }
.ja-section { padding:36px; scroll-margin-top:90px; }
.ja-section + .ja-section { border-top:1px solid var(--ja-border); }
.ja-section-heading { margin-bottom:28px; }
.ja-section-heading .ja-eyebrow { margin-bottom:9px; font-size:10px; }
.ja-section h2 { color:var(--ja-ink); font-size:28px; font-weight:600; line-height:1.2; margin:0 0 10px; letter-spacing:-.025em; }
.ja-section-heading > p:last-child { color:var(--ja-muted); font-size:12px; line-height:1.8; margin:0; max-width:540px; }
.ja-role-photo { display:grid; grid-template-columns:minmax(0,1fr) 156px; gap:28px; align-items:start; }
.ja-field { min-width:0; }
.ja-field label,.ja-photo-field > label { display:block; color:#384554; font-size:11px; font-weight:600; line-height:1.5; margin-bottom:8px; }
.ja-required { color:var(--ja-red); }
.ja-optional { color:var(--ja-muted); font-size:10px; font-weight:400; margin-left:5px; }
.ja-field input { width:100%; min-width:0; min-height:44px; padding:11px 12px; border:1px solid #cfd7df; border-radius:4px; color:var(--ja-ink); background:#fff; font:inherit; font-size:12px; line-height:1.5; transition:border-color .15s; }
.ja-field input:focus { outline:3px solid #e9dfc8; outline-offset:0; border-color:var(--ja-accent); }
.ja-field input[aria-invalid="true"] { border-color:var(--ja-red); }
.ja-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 24px; }
.ja-wide { grid-column:1/-1; }
.ja-hint { color:var(--ja-muted); font-size:10px; line-height:1.8; margin:7px 0 0; }
.ja-photo-box { background:#faf9f5; border:1px dashed #c8b78e; border-radius:4px; min-height:136px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; position:relative; overflow:hidden; }
.ja-photo-box i { color:#a59163; font-size:23px; }
.ja-photo-box span { font-size:10px; color:#8a784f; max-width:90%; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; }
.ja-photo-box input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.ja-photo-box:focus-within { outline:3px solid #e9dfc8; border-color:var(--ja-accent); }
.ja-photo-box img { width:100%; height:136px; object-fit:cover; }
.ja-divider { border-top:1px solid #edf0f3; margin:28px 0; }
.ja-entry { position:relative; margin:0 0 22px; padding:23px 0 25px; border:0; border-bottom:1px solid var(--ja-border); min-width:0; }
.ja-entry legend { float:none; width:auto; font-size:13px; font-weight:600; margin:0 0 17px; padding:0; }
.ja-remove { position:absolute; top:23px; right:0; border:0; background:transparent; color:var(--ja-muted); font:inherit; font-size:10px; text-decoration:underline; text-underline-offset:3px; }
.ja-section-note { color:var(--ja-muted); font-size:11px; line-height:1.8; border-left:2px solid #dfd1af; padding-left:13px; margin:26px 0 0; }
.ja-button { display:inline-flex; align-items:center; justify-content:center; gap:13px; border:1px solid transparent; border-radius:4px; padding:13px 18px; min-height:44px; font:inherit; font-size:11px; font-weight:600; text-decoration:none; line-height:1.5; cursor:pointer; }
.ja-button-primary { color:#fff; background:var(--ja-ink); }
.ja-button-primary:hover { background:#2a3b50; color:#fff; }
.ja-button-add { background:#faf9f5; border-color:#d8cbaa; color:#685626; }
.ja-button-add:hover { background:#f1ecdf; }
.ja-button-back { background:#fff; border-color:var(--ja-border); color:var(--ja-muted); }
.ja-button:disabled { opacity:.5; cursor:default; }
.ja-actions { border-top:1px solid var(--ja-border); display:flex; align-items:center; justify-content:flex-end; gap:16px; padding:23px 36px; background:#fcfcfc; border-radius:0 0 8px 8px; }
.ja-actions > span { margin-right:auto; font-size:10px; color:var(--ja-muted); max-width:210px; }
.ja-footnote { font-size:10px; color:#8a929b; margin:19px 0 0; text-align:center; }
.ja-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.ja-error-summary { margin:0 0 20px; padding:22px; border:1px solid #d68590; background:#fff7f8; border-radius:5px; font-size:12px; }
.ja-error-summary h2 { font-size:17px; margin:0 0 10px; }
.ja-error-summary ul { margin:0; padding-left:19px; line-height:1.9; }
.ja-error-summary a { color:#982a3c; }
.ja-error-text { font-size:11px; color:var(--ja-red); margin:7px 0 0; line-height:1.7; }
.ja-salary { max-width:400px; }
.ja-money { display:flex; align-items:center; border:1px solid #cfd7df; border-radius:4px; background:#fafbfc; overflow:hidden; }
.ja-money > span { flex-shrink:0; padding:0 10px; color:var(--ja-muted); font-size:11px; white-space:nowrap; }
.ja-money input { border:0; border-radius:0; flex:1; width:0; }
.ja-money:focus-within { outline:3px solid #e9dfc8; border-color:var(--ja-accent); }
.ja-money input:focus { outline:none; }
.ja-field-error .ja-money { border-color:var(--ja-red); }
.ja-sign-title { color:var(--ja-ink); font-size:16px; margin:0 0 8px; }
.ja-sign-help { margin:0 0 20px; }
.ja-typed-signature input { font-family:Georgia,serif; font-style:italic; font-size:19px; }
.ja-declaration { display:flex; align-items:flex-start; gap:12px; font-size:11px; color:var(--ja-muted); line-height:1.9; margin:26px 0 0; padding:18px; border:1px solid #e3e6e8; background:#fafbfc; border-radius:4px; }
.ja-declaration input { margin:4px 0 0; width:16px; height:16px; flex-shrink:0; accent-color:var(--ja-ink); }
.ja-official-note { margin-top:23px; font-size:10px; line-height:1.8; color:var(--ja-muted); }
.ja-official-note summary { cursor:pointer; font-weight:600; }
.ja-official-note p { margin:9px 0 0; }
.ja-received { padding:75px 24px 90px; text-align:center; }
.ja-received-inner { max-width:550px; margin:auto; }
.ja-received-mark { width:56px; height:56px; margin:0 auto 25px; border:1px solid #ccb783; border-radius:50%; color:var(--ja-accent); display:flex; align-items:center; justify-content:center; }
.ja-received h1 { font-size:38px; margin:0 0 18px; }
.ja-received-inner > p:not(.ja-eyebrow) { font-size:14px; line-height:1.9; color:var(--ja-muted); }
.ja-reference { border-top:1px solid var(--ja-border); border-bottom:1px solid var(--ja-border); padding:23px; margin:30px 0; }
.ja-reference span { display:block; font-size:10px; letter-spacing:.12em; color:var(--ja-muted); margin-bottom:10px; }
.ja-reference strong { font-size:20px; letter-spacing:.04em; }
.job-application button:focus-visible,.job-application a:focus-visible,.job-application input:focus-visible,.job-application summary:focus-visible { outline:3px solid #b59a59; outline-offset:3px; }
@media(max-width:991px) { .ja-layout { grid-template-columns:190px minmax(0,1fr); gap:24px; padding:30px 24px 60px; } .ja-section { padding:28px; } .ja-step-list button { padding:12px 9px; font-size:11px; gap:9px; } .ja-actions { padding:20px 28px; } .ja-actions > span { display:none; } .ja-role-photo { grid-template-columns:minmax(0,1fr) 128px; gap:20px; } }
@media(max-width:767px) { .ja-intro-inner { padding:34px 22px; } .ja-intro h1 { font-size:38px; } .ja-intro-copy { font-size:13px; } .ja-intro-meta { position:static; margin-top:23px; font-size:11px; gap:24px; } .ja-layout { display:block; padding:24px 16px 42px; } .ja-sidebar { position:static; padding:0; margin-bottom:23px; } .ja-sidebar-heading,.ja-sidebar-note { display:none; } .ja-step-list { display:flex; gap:8px; overflow-x:auto; padding:0 0 9px; } .ja-step-list li { flex-shrink:0; margin:0; } .ja-step-list button { width:auto; padding:10px 12px; border:1px solid var(--ja-border); background:#fff; font-size:11px; gap:8px; } .ja-step-list button[aria-current="step"] { border-color:var(--ja-accent); box-shadow:none; background:#faf7ee; } .ja-step-check { display:none !important; } .ja-section { padding:26px 21px; } .ja-section h2 { font-size:25px; } .ja-role-photo { grid-template-columns:minmax(0,1fr) 112px; gap:17px; } .ja-photo-box { min-height:116px; } .ja-photo-box img { height:116px; } .ja-fields { grid-template-columns:1fr; gap:19px; } .ja-wide { grid-column:auto; } .ja-role-photo .ja-hint { font-size:9px; } .ja-field input { font-size:16px; } .ja-actions { padding:19px 21px; justify-content:space-between; } .ja-button { font-size:11px; padding:12px 15px; } .ja-progress { margin-bottom:17px; } .ja-received h1 { font-size:31px; } }
@media(prefers-reduced-motion:reduce) { .job-application * { transition:none !important; } }
@media print { .top-utility-bar,.navbar-modern,.footer-modern,.ja-sidebar,.ja-actions,.ja-progress,.ja-intro-meta,.ja-remove,.ja-button-add,.ja-footnote,.ja-official-note { display:none !important; } .ja-intro { background:white; color:#172332; } .ja-intro-inner { padding:0 0 20px; } .ja-intro h1 { color:#172332; font-size:28px; } .ja-intro-copy { display:none; } .ja-layout { display:block; padding:0; } #ja-form { border:0; } .job-application [data-step][hidden] { display:block !important; } .ja-section { padding:20px 0; break-inside:avoid; } .ja-field input { border:0; border-bottom:1px solid #aaa; } .ja-fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
