/* Requisition board: shared by the home page and /jobs. */
.board-band { padding-block: 0 clamp(4rem, 8vw, 6.5rem); }
.board { background: linear-gradient(180deg, var(--panel), var(--bg-2)); border: 1px solid var(--line-2); border-radius: 26px; overflow: hidden; box-shadow: 0 50px 100px -50px var(--shadow); }
.board-head { display: grid; gap: 1.1rem; padding: 1.6rem clamp(1.1rem, 3vw, 2rem) 1.2rem; border-bottom: 1px solid var(--line); }
@media (min-width: 900px) { .board-head { grid-template-columns: 1fr auto; align-items: end; } }
.board-head h2, .board-head h1 { font-size: var(--s2); font-weight: 600; }
.board-head p { color: var(--dim); font-size: var(--s-1); display: inline-flex; align-items: center; gap: .55rem; margin-top: .35rem; }
.pulse { width: 8px; height: 8px; border-radius: 50%; background: var(--open); animation: pulse 2.4s ease-out infinite; flex: none; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--open) 60%, transparent); } 70%, 100% { box-shadow: 0 0 0 10px transparent; } }
.filters { display: flex; flex-wrap: wrap; gap: .45rem; }
.filters a, .filters button { min-height: 44px; padding: 0 1rem; border-radius: 999px; border: 1px solid var(--line-2); background: transparent; color: var(--dim); font: 500 var(--s-1)/1 var(--body); cursor: pointer; text-decoration: none; display: inline-flex; align-items: center; }
.filters a:hover, .filters button:hover { color: var(--fg); border-color: var(--dim); }
.filters [aria-current] { background: var(--fg); color: var(--bg); border-color: var(--fg); }
.reqs { list-style: none; margin: 0; padding: 0; display: grid; }
@media (min-width: 1100px) { .reqs { grid-template-columns: 1fr 1fr; } .reqs li:nth-child(odd) .req { border-right: 1px solid var(--line); } }
.req { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .2rem 1.25rem; padding: 1.15rem clamp(1.1rem, 3vw, 2rem); border-bottom: 1px solid var(--line); text-decoration: none; transition: background-color .2s; font-variant-numeric: tabular-nums; }
.req:hover { background: color-mix(in oklab, var(--fg) 4%, transparent); }
.req-title { font-family: var(--display); font-size: 1.18rem; font-weight: 550; letter-spacing: -.02em; line-height: 1.25; }
.req-meta { grid-column: 1; color: var(--dim); font-size: var(--s-1); display: flex; flex-wrap: wrap; gap: .1rem .9rem; }
.req-rate { grid-row: 1; grid-column: 2; text-align: right; font-family: var(--display); font-size: 1.18rem; font-weight: 550; }
.req-rate small { font-family: var(--body); font-size: .78rem; color: var(--dim); font-weight: 400; }
.req .chip { grid-column: 2; justify-self: end; }
.req-closed { opacity: .72; }
.reqs li[hidden] { display: none; }
.board-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: .75rem 1.5rem; padding: 1.1rem clamp(1.1rem, 3vw, 2rem) 1.3rem; }
.board-foot p { color: var(--dim); font-size: var(--s-1); }
.req { animation: rise .7s cubic-bezier(.2,.7,.2,1) backwards; }
.reqs li:nth-child(2) .req{animation-delay:.06s}.reqs li:nth-child(3) .req{animation-delay:.12s}.reqs li:nth-child(4) .req{animation-delay:.18s}.reqs li:nth-child(5) .req{animation-delay:.24s}.reqs li:nth-child(6) .req{animation-delay:.3s}.reqs li:nth-child(7) .req{animation-delay:.36s}.reqs li:nth-child(8) .req{animation-delay:.42s}
@keyframes rise { from { clip-path: inset(0 0 100% 0); } to { clip-path: inset(0 0 0 0); } }
.board-empty { padding: clamp(2rem, 5vw, 3.5rem) clamp(1.1rem, 3vw, 2rem); display: grid; gap: 1rem; justify-items: start; }
.board-empty h3 { font-size: var(--s2); font-weight: 600; }
.board-empty p { color: var(--dim); max-width: 46ch; }
.board-empty .actions { display: flex; flex-wrap: wrap; gap: .75rem 1.5rem; align-items: center; margin-top: .5rem; }
