/* Net Census — research-publication styling.
 * The entire product is being citable, so this reads like a lab report, not a
 * landing page. Serif body, hairline rules, tabular figures, no marketing chrome.
 */

:root{
  --bg:#fcfbf9; --ink:#151412; --muted:#5d5c55; --dim:#8d8c84;
  --line:#e5e3dc; --rule:#d8d5cc; --accent:#0f5c4a; --card:#fff; --tint:#f3f1ea;
  --warn:#8a5a12; --warnbg:#fbf4e6;
}
@media (prefers-color-scheme:dark){
  :root{ --bg:#0e0e0d; --ink:#eeece6; --muted:#a09e96; --dim:#6c6a63;
         --line:#24241f; --rule:#2e2d27; --accent:#4fbb9c; --card:#151513; --tint:#191917;
         --warn:#e0b165; --warnbg:#1e1a12; }
}
:root[data-theme="dark"]{ --bg:#0e0e0d; --ink:#eeece6; --muted:#a09e96; --dim:#6c6a63;
  --line:#24241f; --rule:#2e2d27; --accent:#4fbb9c; --card:#151513; --tint:#191917;
  --warn:#e0b165; --warnbg:#1e1a12; }
:root[data-theme="light"]{ --bg:#fcfbf9; --ink:#151412; --muted:#5d5c55; --dim:#8d8c84;
  --line:#e5e3dc; --rule:#d8d5cc; --accent:#0f5c4a; --card:#fff; --tint:#f3f1ea;
  --warn:#8a5a12; --warnbg:#fbf4e6; }

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.68 ui-serif,Georgia,"Iowan Old Style","Times New Roman",serif}
a{color:var(--accent)}
.sans{font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}

/* masthead */
header{border-bottom:2px solid var(--ink)}
.bar{max-width:52rem;margin:0 auto;padding:1.1rem 1.25rem;display:flex;align-items:baseline;gap:.9rem;flex-wrap:wrap}
.logo{font-family:ui-sans-serif,system-ui,sans-serif;font-weight:700;font-size:1.05rem;letter-spacing:-.02em;text-decoration:none;color:var(--ink)}
.logo span{color:var(--accent)}
.tag{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.76rem;color:var(--dim)}
nav{margin-left:auto;display:flex;gap:1.1rem}
nav a{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.82rem;text-decoration:none;color:var(--muted)}
nav a:hover{color:var(--ink)}

.wrap{max-width:46rem;margin:0 auto;padding:2.5rem 1.25rem 4rem}
.wide{max-width:52rem}

/* article head */
.kicker{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem;letter-spacing:.15em;
  text-transform:uppercase;color:var(--accent);font-weight:600;margin:0 0 .9rem}
h1{font-size:clamp(1.75rem,5.2vw,2.6rem);line-height:1.16;letter-spacing:-.02em;margin:0 0 1rem;font-weight:600}
.standfirst{font-size:1.14rem;line-height:1.6;color:var(--muted);margin:0 0 1.5rem}
.byline{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.8rem;color:var(--dim);
  border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:.7rem 0;margin:0 0 2.25rem}

h2{font-size:1.35rem;letter-spacing:-.012em;margin:2.75rem 0 .8rem;font-weight:600}
h3{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.95rem;margin:1.9rem 0 .5rem;font-weight:600}
p{margin:0 0 1.15rem}
ul,ol{padding-left:1.25rem;margin:0 0 1.15rem}
li{margin-bottom:.45rem}

/* key figure block */
.keyfig{background:var(--card);border:1px solid var(--line);border-radius:2px;padding:1.5rem 1.5rem;margin:1.75rem 0}
.keyfig .n{font-family:ui-sans-serif,system-ui,sans-serif;font-size:clamp(2.4rem,9vw,3.4rem);
  font-weight:700;letter-spacing:-.035em;line-height:1;color:var(--accent);font-variant-numeric:tabular-nums}
.keyfig .c{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.92rem;color:var(--muted);margin:.6rem 0 0;line-height:1.55}

.figures{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));
  gap:1px;background:var(--rule);border:1px solid var(--rule);margin:1.5rem 0}
.fig{background:var(--card);padding:.95rem 1rem}
.fig .n{font-family:ui-sans-serif,system-ui,sans-serif;font-size:1.45rem;font-weight:700;
  letter-spacing:-.03em;color:var(--accent);line-height:1.1;font-variant-numeric:tabular-nums}
.fig .l{font-family:ui-sans-serif,system-ui,sans-serif;font-size:.72rem;color:var(--dim);margin-top:.25rem;line-height:1.35}

/* tables */
.tablewrap{overflow-x:auto;margin:1.25rem 0 1.6rem;-webkit-overflow-scrolling:touch}
table{width:100%;border-collapse:collapse;font-family:ui-sans-serif,system-ui,sans-serif;font-size:.86rem}
th,td{text-align:left;padding:.58rem .7rem;border-bottom:1px solid var(--line);vertical-align:top}
thead th{font-weight:600;color:var(--muted);font-size:.72rem;letter-spacing:.06em;
  text-transform:uppercase;white-space:nowrap;border-bottom:1px solid var(--rule)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
tbody tr:last-child td{border-bottom:0}
caption{caption-side:bottom;text-align:left;font-family:ui-sans-serif,system-ui,sans-serif;
  font-size:.76rem;color:var(--dim);padding-top:.6rem;line-height:1.5}

/* callouts */
.note{background:var(--tint);border-left:3px solid var(--accent);padding:1rem 1.2rem;margin:1.6rem 0;
  font-family:ui-sans-serif,system-ui,sans-serif;font-size:.9rem;line-height:1.65;color:var(--muted)}
.note strong{color:var(--ink)}
.caveat{background:var(--warnbg);border-left:3px solid var(--warn);padding:1rem 1.2rem;margin:1.6rem 0;
  font-family:ui-sans-serif,system-ui,sans-serif;font-size:.9rem;line-height:1.65;color:var(--warn)}
.caveat strong{color:var(--warn)}

code{background:var(--tint);padding:.12em .38em;border-radius:3px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}
pre{background:var(--tint);padding:1rem;border-radius:3px;overflow-x:auto;font-size:.8rem;line-height:1.55;margin:1.25rem 0}
pre code{background:none;padding:0}

footer{border-top:1px solid var(--rule);margin-top:3.5rem}
.fwrap{max-width:52rem;margin:0 auto;padding:1.5rem 1.25rem 3rem;
  font-family:ui-sans-serif,system-ui,sans-serif;font-size:.78rem;color:var(--dim);line-height:1.7}
.fwrap a{color:var(--muted)}
.fill{background:#2a1f00;color:#ffd479;padding:.05em .35em;border-radius:2px;white-space:nowrap}
