/* Jobs desk. Layout only; colour and type come from the Calm tokens in assets/site.css. */

.desk-jobs{padding:8px 0 28px}
.desk-jobs-hero{margin:0}
.desk-jobs-hero img{
  width:100%;height:min(46vw,420px);object-fit:cover;object-position:center 42%;
  border-radius:var(--radius-lg);background:var(--bg-2);
}
.desk-jobs-hero figcaption,.desk-jobs-card figcaption{
  margin:8px 0 0;font-size:13px;line-height:1.45;color:var(--muted);
}
.desk-jobs-hero figcaption a,.desk-jobs-card figcaption a,.desk-jobs-foot a{
  color:var(--accent);text-decoration:underline;text-underline-offset:2px;
}
.desk-jobs-copy{max-width:40rem;margin:22px 0 0}
.desk-jobs-copy h1{font-size:clamp(40px,5vw,62px);margin:6px 0 12px}
.desk-jobs-lede{font-size:clamp(18px,2vw,21px);line-height:1.5;color:var(--ink-2);margin:0 0 10px}
.desk-jobs-aside{font-size:15px;color:var(--muted);margin:0}

.desk-jobs-filters{
  display:flex;flex-wrap:wrap;gap:14px 16px;align-items:flex-end;
  margin:26px 0 18px;padding:16px 18px;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
}
.desk-jobs-filters label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:650;color:var(--ink-2)}
.desk-jobs-filters label.desk-jobs-check{flex-direction:row;align-items:center;gap:8px;padding-bottom:11px;font-weight:600}
.desk-jobs-filters input[type="search"]{
  font:inherit;font-size:16px;font-weight:500;color:var(--ink);
  background:var(--bg);border:1px solid var(--line-2);border-radius:12px;
  padding:10px 12px;min-width:min(100%,280px);
}
.desk-jobs-filters .btn{padding:12px 18px;font-size:15.5px}

.desk-jobs-count{margin:0 0 14px;color:var(--ink-2);font-size:16px}
.desk-jobs-empty{
  margin:22px 0 0;padding:18px 20px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-2);
}
.desk-jobs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px}
.desk-jobs-card{
  display:flex;flex-direction:column;min-width:0;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);
  box-shadow:var(--shadow);overflow:hidden;transition:transform .3s,box-shadow .3s;
}
.desk-jobs-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.desk-jobs-card figure{margin:0}
.desk-jobs-card img{
  width:100%;aspect-ratio:16/10;height:auto;object-fit:cover;object-position:center 30%;
  background:var(--bg-2);
}
.desk-jobs-card figcaption{padding:8px 16px 0}
.desk-jobs-body{display:flex;flex-direction:column;gap:8px;flex:1;padding:12px 16px 18px}
.desk-jobs-kicker{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0}
.desk-jobs-pill{
  display:inline-flex;align-items:center;font-size:13px;font-weight:700;line-height:1.2;
  border-radius:999px;padding:3px 10px;background:var(--accent-soft);color:var(--accent-2);
}
.desk-jobs-pill.is-site{background:var(--bg-3);color:var(--ink-2)}
.desk-jobs-where,.desk-jobs-when,.desk-jobs-src{margin:0;color:var(--ink-2);font-size:15px}
.desk-jobs-src{font-size:13px;color:var(--muted)}
.desk-jobs-card h2{font-size:1.35rem;margin:0}
.desk-jobs-co{margin:0;font-weight:650;color:var(--ink);font-size:16px}
.desk-jobs-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
.desk-jobs-tags li{
  font-size:12.5px;font-weight:650;line-height:1.3;color:var(--ink-2);
  background:color-mix(in srgb,var(--accent) 10%,var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 28%,var(--line));
  border-radius:999px;padding:3px 8px;
}
.desk-jobs-go{
  margin-top:auto;padding-top:6px;font-weight:650;color:var(--accent);
  text-decoration:underline;text-underline-offset:3px;
}
.desk-jobs-foot{margin:28px 0 0;font-size:14.5px;line-height:1.55;color:var(--muted)}

@media (max-width:700px){
  .desk-jobs-hero img{height:220px}
  .desk-jobs-filters .btn{width:100%}
}
@media (prefers-reduced-motion:reduce){
  .desk-jobs-card{transition:none}
  .desk-jobs-card:hover{transform:none}
}
