/* Opportunity and topic pages (built by scripts/seo-build.mjs). Uses the colours from pages.css. */
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.crumbs{font-size:.9rem;color:var(--muted);margin:0 0 20px}
.crumbs a{display:inline-block;min-height:24px;line-height:24px}
.badge{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:.02em;color:var(--green);background:var(--green-soft);border-radius:999px;padding:3px 10px;margin-bottom:10px}
.who{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:4px 18px 12px;margin:0 0 24px}
.who h2{font-size:1.1rem;margin:14px 0 4px}
.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin:0 0 24px}
.facts div{background:var(--paper);padding:12px 16px}
.facts dt{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.facts dd{margin:2px 0 0;font-weight:600}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 8px}
.btn{display:inline-block;background:var(--green);color:var(--paper);font-weight:600;text-decoration:none;border-radius:8px;padding:12px 20px}
.btn.alt{background:var(--paper);color:var(--green);border:1px solid var(--green)}
.small{font-size:.9rem;color:var(--muted)}
.count{color:var(--muted);margin:-16px 0 20px}
.opps{list-style:none;padding:0;margin:0 0 24px;display:grid;gap:12px}
.opp{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:0;max-width:none}
.opp .badge{margin-bottom:6px}
.opp h3{font-family:var(--serif);font-size:1.1rem;font-weight:600;line-height:1.35;margin:0 0 4px}
.opp p{margin:0;font-size:.95rem;color:var(--muted)}
.opp .dl{color:var(--ink);font-weight:600;margin-top:4px}
.hubs{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.hubs li{margin:0}
.hubs a{display:inline-block;border:1px solid var(--line);background:var(--paper);border-radius:999px;padding:6px 14px;text-decoration:none}
.hubs span{color:var(--muted);font-size:.85rem}
.more a{display:inline-block;min-height:24px;line-height:24px}
footer .browse{padding-bottom:0;font-size:.9rem}
.unconfirmed{background:#fffbeb;border:1px solid #fde68a;color:#78350f;border-radius:8px;padding:10px 14px}
@media (prefers-color-scheme:dark){.unconfirmed{background:#2a2212;border-color:#6b5317;color:#fde68a}}
.checked{color:var(--green)}
.update{border-bottom:1px solid var(--line);padding-bottom:8px}
.update h2{margin-top:4px}
.flag{font-size:2.5rem;margin:0}
.alert{background:#fef2f2;border:1px solid #fecaca;border-left:4px solid #b91c1c;color:#7f1d1d;border-radius:0 8px 8px 0;padding:12px 16px;margin:0 0 20px}
.alert strong{display:block}
@media (prefers-color-scheme:dark){.alert{background:#2b1414;border-color:#6b2020;color:#fecaca}}
.route{background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:4px 18px 8px;margin:0 0 18px}
.route h2{font-size:1.2rem;margin:16px 0 4px}
.alert-badge{color:#991b1b;background:#fef2f2}
