/* Layout: a typed sheet of paper on a paper desk. Form sections separated by dashed rules; the employer card is a second sheet that stays in view. Light only, by request. */
:root{
  --desk:#f3efe6; --sheet:#fffdf8; --ink:#1d1b18; --muted:#6b655b;
  --rule:#d9d2c3; --ribbon:#b8322a; --soft:#f1ebde; --ok:#2f5d3a;
  --mono:"Courier Prime","Courier New",Courier,monospace;
  color-scheme:light;
}
*{box-sizing:border-box}
body{background:var(--desk);color:var(--ink);font:16px/1.6 var(--mono);margin:0}
.wrap{max-width:1120px;margin:0 auto;padding-inline:16px;padding-block:20px 64px}
header.top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-block:6px 18px;border-bottom:1px solid var(--rule)}
.logo{font-family:var(--mono);font-size:15px;letter-spacing:.02em;color:var(--ink);text-decoration:none}
.logo .caret{display:inline-block;width:.55em;height:1.05em;vertical-align:-2px;margin-left:2px;background:var(--ribbon);animation:blink 1.1s steps(1) infinite}
@keyframes blink{50%{opacity:0}}
@media (prefers-reduced-motion:reduce){.logo .caret{animation:none}}
.free{font-size:13px;color:var(--muted)}

.grid{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:28px;align-items:start;margin-top:28px}
@media (max-width:900px){.grid{grid-template-columns:minmax(0,1fr)}}

.page{background:var(--sheet);border:1px solid var(--rule);box-shadow:0 1px 0 var(--rule),0 18px 40px -28px rgba(60,45,20,.35);padding:clamp(20px,5vw,56px);min-width:0}
.intro{max-width:60ch;margin-bottom:8px}
.intro h1{font-size:clamp(24px,3.6vw,32px);line-height:1.2;margin:0 0 8px;font-weight:700;text-wrap:balance}
.intro p{margin:0;color:var(--muted)}

form{display:grid;gap:0;min-width:0}
fieldset{border:0;border-top:1px dashed var(--rule);margin:0;padding:26px 0 28px;min-width:0}
fieldset > *:not(legend){clear:both}
legend{float:left;width:100%;padding:0;margin:0 0 6px;font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.06em}
.hint{color:var(--muted);font-size:14.5px;margin:0 0 6px}
.label{display:block;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:18px 0 8px}
.row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 20px}
input[type=text],input[type=number],input[type=search],select{width:100%;font:inherit;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--ink);border-radius:0;padding:6px 2px}
input:focus-visible,select:focus-visible,button:focus-visible,.chip:focus-within,.check:focus-within,.seg label:focus-within{outline:2px solid var(--ribbon);outline-offset:2px}

.checks{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.check{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--rule);cursor:pointer;background:var(--sheet);min-width:0}
.check input,.seg input{margin-top:5px;accent-color:var(--ink);flex:none}
.check small,.seg small{display:block;color:var(--muted);font-size:13px;line-height:1.4}
.check:has(input:checked),.seg label:has(input:checked){border-color:var(--ink);background:var(--soft)}

.seg{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.seg label{display:flex;gap:10px;align-items:flex-start;padding:8px 10px;border:1px solid var(--rule);cursor:pointer;background:var(--sheet)}

.chips{display:flex;flex-wrap:wrap;gap:6px;max-height:260px;overflow:auto;padding:2px;margin-top:12px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--rule);padding:4px 10px;font-size:14px;cursor:pointer;background:var(--sheet)}
.chip input{position:absolute;opacity:0;pointer-events:none}
.chip .code{font-size:12px;color:var(--muted)}
.chip:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--sheet)}
.chip:has(input:checked) .code{color:var(--sheet);opacity:.75}
.picked{font-size:13px;color:var(--muted);margin-top:8px}

.actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap;border-top:1px dashed var(--rule);padding-top:24px}
button.primary{font:700 16px var(--mono);background:var(--ink);color:var(--sheet);border:0;padding:12px 20px;cursor:pointer;letter-spacing:.02em}
.toast{font-size:13.5px;color:var(--ribbon)}

aside{position:sticky;top:calc(env(safe-area-inset-top,0px) + 16px);min-width:0}
.eyebrow{font-size:12.5px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:0 0 8px}
.card{background:var(--sheet);border:1px solid var(--rule);box-shadow:0 18px 40px -28px rgba(60,45,20,.35)}
.card .head{padding:22px 22px 16px;border-bottom:1px dashed var(--rule)}
.card h2{margin:0;font-size:22px;line-height:1.2}
.card .sub{color:var(--muted);font-size:14px;margin-top:4px}
.status{display:inline-block;margin-top:10px;font-size:12.5px;padding:2px 8px;border:1px solid var(--ok);color:var(--ok)}
.card .body{padding:16px 22px 22px;display:grid;gap:16px}
.item h3{margin:0;font-size:15px;font-weight:700}
.item p{margin:2px 0 0;font-size:13.5px;color:var(--muted);line-height:1.5}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.badge{font-size:13px;border:1px solid var(--rule);padding:1px 7px;background:var(--sheet)}
.badge.avail{background:var(--soft);border-color:var(--ink);font-weight:700}
.stamp{display:inline-flex;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ribbon);border:2px solid var(--ribbon);padding:3px 9px;transform:rotate(-2deg)}
.card .foot{font-size:12px;color:var(--muted);padding:10px 22px;border-top:1px solid var(--rule)}
.sample{color:var(--ribbon)}
nav{display:flex;gap:18px;flex-wrap:wrap}
nav a{color:var(--ink);text-decoration:none;font-size:14.5px;border-bottom:2px solid transparent;padding-bottom:2px}
nav a:hover{border-color:var(--rule)}
nav a[aria-current=page]{border-color:var(--ribbon)}
.brand{display:flex;flex-direction:column;gap:2px}
.tag{font-size:12.5px;color:var(--muted);font-style:italic}
main{display:block}
.hero{max-width:40ch;padding-block:clamp(32px,7vw,72px) 28px}
.hero h1{font-size:clamp(30px,5.5vw,48px);line-height:1.12;margin:0 0 12px;text-wrap:balance}
.lede{font-size:18px;margin:0;color:var(--muted)}
.paths{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}
.path{display:grid;gap:10px;align-content:start;background:var(--sheet);border:1px solid var(--rule);box-shadow:0 18px 40px -28px rgba(60,45,20,.35);padding:28px;color:var(--ink);text-decoration:none;transition:transform .15s,border-color .15s}
.path:hover{border-color:var(--ink);transform:translateY(-2px)}
.path:focus-visible{outline:2px solid var(--ribbon);outline-offset:3px}
.path-key{font-weight:700;color:var(--ribbon)}
.path-text{font-size:clamp(20px,2.6vw,24px);font-weight:700;line-height:1.25}
.path-sub{color:var(--muted);font-size:14.5px}
.path-go{margin-top:6px;font-weight:700;text-decoration:underline;text-underline-offset:4px}
.more{margin-top:28px}
.more a,.res a{color:var(--ink);text-underline-offset:4px}
.intro.wide{padding-block:28px 4px;max-width:60ch}
.hire{display:grid;grid-template-columns:240px minmax(0,1fr);gap:28px;align-items:start;margin-top:20px}
@media (max-width:800px){.hire{grid-template-columns:minmax(0,1fr)}}
.filters{position:sticky;top:calc(env(safe-area-inset-top,0px) + 16px);background:var(--sheet);border:1px solid var(--rule);padding:18px;display:grid;gap:4px}
.filters .label:first-child{margin-top:0}
.fchecks{display:grid;gap:4px}
.fcheck{display:flex;gap:8px;align-items:flex-start;font-size:14px;cursor:pointer}
.fcheck input{margin-top:4px;accent-color:var(--ink)}
.linkbtn{justify-self:start;margin-top:14px;font:inherit;font-size:13.5px;background:none;border:0;padding:0;color:var(--ink);text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.count{margin:0 0 12px;font-size:14px;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.cards .card{display:flex;flex-direction:column}
.cards .card .body{flex:1}
.empty{background:var(--sheet);border:1px dashed var(--rule);padding:24px;color:var(--muted)}
.reading{max-width:760px}
.group{font-size:15px;text-transform:uppercase;letter-spacing:.08em;margin:28px 0 10px;padding-top:18px;border-top:1px dashed var(--rule)}
.group:first-child{margin-top:0;padding-top:0;border-top:0}
.res{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.res li{display:grid;gap:2px}
.res a{font-weight:700;font-size:16.5px;line-height:1.35}
.src{font-size:13px;color:var(--muted)}
.card .foot.act{display:flex;justify-content:space-between;align-items:center;gap:8px}
.card .foot.act button{font:700 13px var(--mono);background:var(--ink);color:var(--sheet);border:0;padding:6px 12px;cursor:pointer}
.site-foot{margin-top:56px;padding-top:18px;border-top:1px solid var(--rule);display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:space-between;font-size:13px;color:var(--muted)}
.site-foot a{color:var(--muted)}
.site-foot nav a{font-size:13px;color:var(--muted)}
.prose{max-width:68ch}
.prose h2{font-size:17px;text-transform:uppercase;letter-spacing:.06em;margin:28px 0 8px}
.prose p,.prose li{font-size:15.5px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.msg{font-size:14.5px;padding:12px 14px;border:1px solid var(--ok);color:var(--ok);background:var(--sheet)}
.msg.err{border-color:var(--ribbon);color:var(--ribbon)}
textarea{width:100%;font:inherit;color:var(--ink);background:transparent;border:1px solid var(--rule);padding:8px;min-height:90px}
.dialog{background:var(--sheet);border:1px solid var(--ink);padding:18px;display:grid;gap:4px;margin-top:10px}
.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:8px;background:var(--sheet);padding:6px 10px;z-index:9}
