/* /opportunities (public pages). Uses the site's variables; nothing here changes other pages. */
.opp-page .lede{max-width:62ch; color:var(--mut2); margin:6px 0 4px}
.opp-filters{display:flex; flex-wrap:wrap; gap:14px 18px; margin-top:18px; align-items:flex-end}
.opp-filters label{font-family:var(--mono); font-size:12px; color:var(--mut2); text-transform:uppercase; letter-spacing:.06em; display:flex; align-items:center; gap:8px}
.opp-filters select{background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:9px; padding:8px 10px; font-size:13px; text-transform:none; letter-spacing:0}
.opp-filters input[type=checkbox]{accent-color:var(--ink); width:16px; height:16px}
.opp-filters input[type=search]{background:var(--card); color:var(--ink); border:1px solid var(--line); border-radius:9px; padding:8px 10px; font-size:13px; text-transform:none; letter-spacing:0; min-width:160px}
.opp-count{margin:18px 0 6px; font-size:14px}
.opp-hint{display:block; color:var(--mut2); font-size:12.5px; margin-top:2px}
.opp-list{list-style:none; padding:0; margin:14px 0; display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px}
.opp-card{background:var(--card); border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; display:flex; flex-direction:column; gap:8px}
.opp-card:hover{border-color:var(--acc-soft)}
.opp-card h3{margin:0; font-size:16px; line-height:1.3}
.opp-card h3 a{text-decoration:none}
.opp-top{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:0}
.opp-pill{font-family:var(--mono); font-size:11px; text-transform:uppercase; letter-spacing:.06em; padding:3px 8px; border-radius:999px; border:1px solid var(--line); color:var(--mut2)}
.opp-unc{font-size:12px; padding:3px 8px; border-radius:999px; background:var(--acc-soft); color:var(--ink)}
.opp-close{font-size:12px; color:var(--mut2)}
.opp-close.soon{color:var(--acc); font-weight:600}
.opp-meta{margin:0; font-size:13px; color:var(--mut2)}
.opp-blurb{margin:0; font-size:14px; line-height:1.5}
.opp-blurb.big{font-size:16px; max-width:62ch}
.opp-dl{display:grid; grid-template-columns:max-content 1fr; gap:8px 18px; margin:20px 0; max-width:62ch}
.opp-dl dt{font-family:var(--mono); font-size:12px; text-transform:uppercase; letter-spacing:.06em; color:var(--mut2)}
.opp-dl dd{margin:0}
.opp-actions{display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:22px 0}
.opp-warn{background:var(--acc-soft); border-radius:var(--r); padding:10px 14px; max-width:62ch}
.opp-preview{background:var(--acc-soft); border:1px dashed var(--acc); border-radius:var(--r); padding:10px 14px; margin:0 0 16px}
@media (max-width:560px){.opp-filters label{width:100%; justify-content:space-between} .opp-filters input[type=search]{min-width:0; flex:1; max-width:60%} .opp-list{grid-template-columns:1fr} .opp-dl{grid-template-columns:1fr; gap:2px} .opp-dl dd{margin-bottom:10px}}
