:root{--bg:#f6f7fb;--card:#fff;--text:#111;--muted:#667085;--ring:#e5e7eb;--brand:#4f46e5;--chip:#eef2ff;--chip-border:#c7d2fe}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Ubuntu}
.container{max-width:1080px;margin:0 auto;padding:16px}
@media (max-width:480px){.container{padding:12px}}
h1{margin:0 0 .5rem;font-weight:800;line-height:1.25;font-size:clamp(22px,4.8vw,36px)}
h2{margin:0 0 .75rem;font-weight:700;font-size:clamp(17px,3.5vw,22px)}
.muted{color:var(--muted)}
.breadcrumbs{font-size:.95rem;margin:.25rem 0 .75rem;color:var(--muted)}
.breadcrumbs a{color:inherit;text-decoration:none;border-bottom:1px dotted transparent}
.breadcrumbs a:hover{border-bottom-color:var(--muted)}
.back-btn{display:inline-block;background:#eef2ff;color:#1e1b4b;border:1px solid var(--ring);border-radius:10px;padding:8px 12px;text-decoration:none}
.card{background:var(--card);border:1px solid var(--ring);border-radius:16px;padding:16px;margin:14px 0;box-shadow:0 1px 2px rgba(0,0,0,.04)}
figure.card{padding:0}
.img-full{display:block;width:100%;height:auto;object-fit:contain;background:#eaecef;border-radius:12px}
figcaption{color:var(--muted);font-size:.9rem;padding:8px 12px 12px}
.keyfacts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px 16px}
@media (max-width:700px){.keyfacts{grid-template-columns:1fr}}
.actions{display:flex;gap:8px;flex-wrap:wrap}
.btn{display:inline-block;text-decoration:none;cursor:pointer;background:var(--brand);color:#fff;border:0;border-radius:10px;padding:10px 14px;font-weight:600}
.btn:hover{opacity:.95}
.btn.ghost{background:#fff;color:#000;border:1px solid var(--ring)}
.btn-census{background:#f5f6ff;color:#2f2bff;border:1px solid #dfe1ff}
.btn-census:hover{background:#ebedff}
.tags{display:flex;flex-wrap:wrap;gap:8px}
.tag{display:inline-flex;align-items:center;gap:4px;padding:5px 10px;border-radius:999px;background:var(--chip);border:1px solid var(--chip-border);font-size:12px;color:var(--text);text-decoration:none;white-space:nowrap}
.tag:hover{border-color:#a5b4fc}
p,li{word-break:break-word}

/* desktop: force 2-column layout with sidebar on the right */
@media (min-width: 992px){
  main.section.container{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 340px;
    gap:24px;
    align-items:start;
  }
  .content-col{grid-column:1;}
  .extras-sidebar{
    grid-column:2;
    position:sticky;
    top:16px;
  }
}
