:root { --ink:#142c39; --muted:#4e626c; --paper:#f7f6f1; --teal:#165b56; --lime:#dbed9d; --line:#d7dfd9; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial,Helvetica,sans-serif; line-height:1.65; }
.wrap { width:min(980px,calc(100% - 40px)); margin:auto; }
a { color:var(--teal); text-underline-offset:4px; }
a,button,input,textarea,select { -webkit-tap-highlight-color:transparent; }
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible { outline:3px solid #9a5700; outline-offset:3px; }
.preview { margin:0; padding:12px 20px; background:#fff0d6; color:#61430c; font-size:13px; text-align:center; }
.nav { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:20px; padding:24px 0; border-bottom:1px solid var(--line); }
.brand { color:var(--ink); font-family:Georgia,'Times New Roman',serif; font-weight:700; font-size:clamp(26px,3.6vw,36px); line-height:1.08; letter-spacing:-.8px; text-decoration:none; }
.brand small { display:block; color:var(--teal); font-family:Arial,Helvetica,sans-serif; font-size:14px; font-weight:700; letter-spacing:3px; margin-top:9px; }
nav { display:flex; gap:20px; flex-wrap:wrap; font-size:14px; }
main { padding:40px 0 60px; }
.eyebrow { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:1.8px; color:var(--teal); }
h1 { font-family:Georgia,serif; font-size:clamp(34px,5vw,52px); font-weight:400; letter-spacing:-1px; line-height:1.13; margin:15px 0 20px; }
h2 { font-size:22px; line-height:1.3; }
h3,legend { font-size:17px; font-weight:700; }
.lede,.muted { color:var(--muted); }
.notice { background:#e9eee5; border-left:4px solid var(--teal); padding:18px 22px; margin:24px 0; }
.notice p { margin:5px 0; }
.small { font-size:13px; }
.tag { display:inline-block; padding:5px 10px; color:#61430c; background:#fff0d6; border-radius:4px; font-size:11px; font-weight:700; }
.job-layout { display:grid; grid-template-columns:1.8fr 1fr; gap:30px; align-items:start; }
.card { background:white; border:1px solid var(--line); padding:28px; border-radius:8px; margin:20px 0; }
.card h2:first-child { margin-top:0; }
.card li { margin:9px 0; }
.meta { display:flex; gap:10px 24px; flex-wrap:wrap; color:var(--muted); }
.button,button { display:inline-block; background:var(--teal); color:white; border:1px solid var(--teal); border-radius:5px; padding:12px 20px; font:700 14px/1.5 Arial,Helvetica,sans-serif; text-decoration:none; cursor:pointer; }
.button.secondary,button.secondary { background:white; color:var(--teal); }
.actions { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:24px 0; }
button:disabled { opacity:.6; cursor:not-allowed; }
.application-wrap { max-width:790px; }
fieldset { border:0; padding:0; margin:0; min-width:0; }
.section { padding:24px 0; border-top:1px solid var(--line); }
legend { padding:0; margin-bottom:15px; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.field { margin-bottom:20px; }
label { display:block; font-size:14px; font-weight:700; margin-bottom:7px; }
input:not([type=checkbox]),textarea,select { width:100%; min-width:0; border:1px solid #8a9b9d; background:white; color:var(--ink); border-radius:5px; padding:11px 12px; font:16px/1.4 Arial,Helvetica,sans-serif; }
textarea { resize:vertical; }
input[type=file] { font-size:14px; overflow:hidden; }
input[type=checkbox] { width:18px; height:18px; flex-shrink:0; accent-color:var(--teal); }
.check { display:flex; gap:10px; align-items:flex-start; font-weight:400; }
.check input { margin-top:5px; }
.help { font-size:13px; color:var(--muted); margin:7px 0; }
.error { border-left:4px solid #a12323; background:#fff0ee; padding:15px; color:#7c1d1d; }
.status { min-height:1.4em; font-size:13px; color:var(--teal); }
.review { border-top:1px solid var(--line); padding:14px 0; }
.review dt { color:var(--muted); font-size:13px; }
.review dd { margin:4px 0 0; white-space:pre-wrap; overflow-wrap:anywhere; }
.review dl { margin:0; }
.success-mark { width:48px; height:48px; display:grid; place-items:center; border-radius:50%; background:var(--teal); color:var(--lime); font-size:24px; font-weight:700; }
footer { border-top:1px solid var(--line); padding:24px 0; font-size:12px; color:var(--muted); }
.skip { position:absolute; top:-100px; background:white; padding:12px; }
.skip:focus { top:0; }
@media(max-width:700px) { .job-layout,.grid { grid-template-columns:1fr; gap:0; } .card { padding:22px; } .nav { align-items:flex-start; } }
@media(max-width:400px) { .wrap { width:calc(100% - 28px); } .brand small { font-size:11px; letter-spacing:2.6px; } .card { padding:18px; } .actions > button,.actions > .button { width:100%; text-align:center; } }
