
@font-face{font-family:"Public Sans";font-style:normal;font-weight:400 700;
 font-display:swap;src:url(/fonts/PublicSans-Variable.woff2) format("woff2")}

body{margin:0;background:#f6f7f9;color:#14181f;
 font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.wrap{max-width:660px;margin:0 auto;background:#fff;padding:32px 28px}
h1{font-size:23px;line-height:1.25;margin:0 0 4px;letter-spacing:-.02em}
h2{font-size:13px;text-transform:uppercase;letter-spacing:.09em;color:#6b7280;
 margin:34px 0 14px;padding-bottom:7px;border-bottom:1px solid #e5e7eb}
h3{font-size:17px;margin:0 0 5px;line-height:1.3}
p{margin:0 0 13px}
a{color:#1b4dd8}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.11em;color:#8a93a0;margin:0 0 18px}
.lede{font-size:16px;color:#374151;border-left:3px solid #14181f;padding-left:14px;margin:0 0 8px}
.stats{width:100%;border-collapse:collapse;margin:18px 0 6px}
.stats td{padding:11px 12px;border:1px solid #e5e7eb;font-size:14px;width:50%}
.stats .n{font-size:21px;font-weight:650;display:block;letter-spacing:-.02em}
.stats .k{color:#6b7280;font-size:12px;text-transform:uppercase;letter-spacing:.06em}
.deal{border:1px solid #e5e7eb;padding:16px 17px;margin:0 0 13px}
.deal.top{border-color:#14181f;border-width:2px}
.meta{font-size:13px;color:#6b7280;margin:0 0 9px}
.figs{font-size:14px;margin:0 0 9px}
.figs b{font-variant-numeric:tabular-nums}
.desc{font-size:14px;color:#4b5563;margin:0 0 10px}
.credits{font-size:13px;color:#14181f;background:#f3f4f6;padding:8px 10px;margin:0 0 10px}
.cite{font-size:12px;color:#6b7280;margin:0}
.tag{display:inline-block;font-size:11px;background:#eef1f5;color:#374151;
 padding:3px 7px;margin:0 4px 4px 0;letter-spacing:.01em}
.event{float:right;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:#6b7280}
table.rows{width:100%;border-collapse:collapse;font-size:13px;margin:0 0 8px}
table.rows th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.06em;
 color:#6b7280;border-bottom:1px solid #e5e7eb;padding:7px 8px;font-weight:600}
table.rows td{border-bottom:1px solid #f1f2f4;padding:8px;vertical-align:top}
.corr{margin:0 0 13px;padding-left:20px;font-size:14px;color:#4b5563}
.corr li{margin:0 0 6px}
.corrnote{border-left:3px solid #b45309;background:#fffbeb;padding:13px 15px;
 margin:22px 0 0;font-size:14px;color:#4b5563}
.corrnote .k{display:block;font-size:11px;text-transform:uppercase;
 letter-spacing:.08em;color:#b45309;font-weight:650;margin:0 0 7px}
.corrnote ul{margin:0;padding-left:19px}
.corrnote li{margin:0 0 5px}
.gate{border:2px dashed #c9ced6;padding:22px;margin:22px 0}
.gate .big{font-size:19px;font-weight:650;margin:0 0 8px;letter-spacing:-.01em}
.gate p{font-size:14px;color:#4b5563;margin:0 0 15px}
.gate ul{margin:0 0 16px;padding-left:20px;font-size:14px;color:#374151}
.gate li{margin:0 0 5px}
.btn{display:inline-block;background:#14181f;color:#fff!important;text-decoration:none;
 padding:12px 26px;font-weight:600;font-size:15px}
.foot{margin-top:34px;padding-top:16px;border-top:1px solid #e5e7eb;
 font-size:12px;color:#8a93a0}
.foot p{margin:0 0 7px}
@media(prefers-color-scheme:dark){
 body{background:#0e1116;color:#e6e8ec}.wrap{background:#151a21}
 h2{color:#9aa3b0;border-color:#262c36}.lede{color:#c3c9d2;border-color:#e6e8ec}
 .stats td{border-color:#262c36}.deal{border-color:#262c36}.deal.top{border-color:#e6e8ec}
 .desc{color:#a8b0bc}.credits{background:#1c222b;color:#e6e8ec}.tag{background:#1c222b;color:#c3c9d2}
 table.rows td{border-color:#1c222b}table.rows th{border-color:#262c36}
 .gate{border-color:#39414d}.gate p,.gate ul{color:#a8b0bc}
 .corr{color:#a8b0bc}
 .corrnote{background:#231c10;border-color:#d97706;color:#c3c9d2}
 .corrnote .k{color:#f59e0b}
 .btn{background:#e6e8ec;color:#0e1116!important}a{color:#7aa2ff}
}

:root{--ink:#16191d;--muted:#565d66;--faint:#78808a;--rule:#d4d8dd;
 --surface:#fff;--accent:#0b4ea2;--measure:660px}
.masthead,.hero,.signup,.sample-head,.listing,.sitefoot{
 font-family:"Public Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
.masthead{background:var(--surface);border-bottom:1px solid var(--ink)}
.masthead-in{max-width:var(--measure);margin:0 auto;padding:16px 28px;
 display:flex;justify-content:space-between;align-items:baseline;gap:14px;
 flex-wrap:wrap}
.masthead .brand{font-weight:700;font-size:17px;letter-spacing:-.01em;
 text-decoration:none;color:var(--ink)}
.masthead a.link{font-size:13px;color:var(--muted);text-decoration:none;
 margin-left:18px;text-transform:uppercase;letter-spacing:.07em}
.masthead a.link:hover{color:var(--ink)}
.masthead a.link.on{color:var(--ink);font-weight:700}
.hero{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:40px 28px 6px}
.hero h1{font-size:36px;line-height:1.1;letter-spacing:-.022em;margin:0 0 14px;
 font-weight:700;max-width:19ch}
.hero .sub{font-size:18px;line-height:1.5;color:var(--muted);margin:0 0 26px;
 max-width:46ch}
.eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.13em;
 color:var(--faint);font-weight:700;margin:0 0 12px}
/* The coverage block: a labelled list read as a spec sheet, not bullets. */
.cover{list-style:none;padding:0;margin:0;border-top:1px solid var(--rule)}
.cover li{font-size:14px;line-height:1.5;color:var(--ink);padding:11px 0;
 border-bottom:1px solid var(--rule)}
.who{font-size:13px;color:var(--faint);margin:16px 0 0}
.signup{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:26px 28px 34px}
.signup .box{border:1px solid var(--ink);padding:22px 22px 18px}
.signup h2{margin:0 0 10px;border:0;padding:0;font-size:13px;
 text-transform:uppercase;letter-spacing:.09em;color:var(--ink)}
.signup p{font-size:14px;color:var(--muted)}
.signup .note{font-size:12px;color:var(--faint);margin:12px 0 0}
.unwired{border:1px solid var(--accent);border-left-width:4px;padding:16px 18px;
 font-size:14px;color:var(--muted)}
.unwired b{color:var(--ink)}
.sample-head{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:8px 28px 0}
.sample-head .label{font-size:11px;text-transform:uppercase;letter-spacing:.13em;
 color:var(--faint);font-weight:700;margin:0 0 6px;padding-top:22px;
 border-top:1px solid var(--ink)}
.sample-head p{font-size:13px;color:var(--muted);margin:0}
/* The archive: a register table. The company names in it are the SEO channel
   (2e), so they stay on the page rather than being summarised away. */
.listing{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:4px 28px 30px}
.reg{width:100%;border-collapse:collapse;font-size:14px;
 font-variant-numeric:tabular-nums}
.reg caption{text-align:left;font-size:11px;text-transform:uppercase;
 letter-spacing:.13em;color:var(--faint);font-weight:700;padding:0 0 10px}
.reg th{text-align:left;font-size:11px;text-transform:uppercase;
 letter-spacing:.09em;color:var(--muted);font-weight:700;padding:0 12px 8px 0;
 border-bottom:1px solid var(--ink);white-space:nowrap}
.reg td{padding:13px 12px 13px 0;border-bottom:1px solid var(--rule);
 vertical-align:top;color:var(--ink)}
.reg td:last-child,.reg th:last-child{padding-right:0}
.reg .num{white-space:nowrap;font-weight:700}
.reg .when{white-space:nowrap;color:var(--muted)}
.reg a{color:var(--accent);text-decoration:none;font-weight:700}
.reg a:hover{text-decoration:underline}
.reg .names{color:var(--muted);font-size:13px;line-height:1.45;
 margin:5px 0 0;display:block}
.empty{font-size:14px;color:var(--muted)}
/* The correction note sits outside the published fragment by design, so it
   needs the measure applied to it here — see `issue_page`. */
.corrbox{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:0 28px 30px}
.corrbox .corrnote{margin-top:0}
.sitefoot{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:22px 28px 44px;font-size:12px;line-height:1.6;color:var(--faint);
 border-top:1px solid var(--rule)}
.sitefoot a{color:var(--muted)}
@media(max-width:520px){
 .hero{padding:28px 20px 6px}.hero h1{font-size:29px}
 .masthead-in,.signup,.sample-head,.listing,.sitefoot{padding-left:20px;
  padding-right:20px}
 .masthead a.link{margin:0 18px 0 0}
 /* A four-column register does not fit a phone: the header row is dropped and
    each row reads as a stacked record. Same markup, so the table is still a
    table to a crawler and to a screen reader. */
 .reg thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .reg td{display:block;border:0;padding:0 0 4px}
 .reg tr{display:block;padding:14px 0;border-bottom:1px solid var(--rule)}
}
@media(prefers-color-scheme:dark){
 :root{--ink:#e8eaed;--muted:#a6adb6;--faint:#828a94;--rule:#272c33;
  --surface:#151a21;--accent:#7fb0ff}
}

.facets{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:0 28px 18px}
.facets .grid{display:flex;flex-wrap:wrap;gap:22px;
 border-top:1px solid var(--rule);padding-top:16px}
.facets .col{min-width:150px}
.facets h2{margin:0 0 8px;border:0;padding:0;font-size:11px;
 text-transform:uppercase;letter-spacing:.11em;color:var(--faint);font-weight:700}
.facets ul{list-style:none;margin:0;padding:0}
.facets li{font-size:13px;line-height:1.7}
.facets a{color:var(--accent);text-decoration:none}
.facets a:hover{text-decoration:underline}
.facets .n{color:var(--faint);font-variant-numeric:tabular-nums}
.crumb{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:14px 28px 0;font-size:12px;color:var(--faint)}
.crumb a{color:var(--muted);text-decoration:none}
.terms{display:block;font-size:12px;color:var(--faint);margin:5px 0 0}
.reg .full{display:block;margin:7px 0 0;font-size:13px;color:var(--ink);
 font-variant-numeric:tabular-nums}
.pager{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:0 28px 40px;font-size:13px;display:flex;gap:18px;align-items:baseline;
 border-top:1px solid var(--rule)}
.pager a{color:var(--accent);text-decoration:none;font-weight:700;padding-top:14px}
.pager .of{color:var(--faint);padding-top:14px}
/* A transaction's own page. The record is a ruled definition list rather than a
   set of boxes — the same reference class as the archive table. */
.rec{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:4px 28px 10px}
.rec dl{margin:0;border-top:1px solid var(--rule)}
.rec dt{font-size:11px;text-transform:uppercase;letter-spacing:.09em;
 color:var(--faint);font-weight:700;padding:12px 0 0}
.rec dd{margin:0;padding:2px 0 12px;font-size:15px;color:var(--ink);
 border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}
.rec dd .q{display:block;font-size:13px;color:var(--muted);line-height:1.5;
 margin:5px 0 0}
.rec dd .basis{color:var(--faint);font-size:13px}
.rec ul.docs{list-style:none;margin:0;padding:0}
.rec ul.docs li{font-size:14px;line-height:1.6;padding:0 0 5px}
.rec .none{color:var(--faint);font-size:14px;margin:0}
.rec .gate{margin:20px 0 6px}
/* The league tables (TODO 17). ⚠⚠★★★ **In this sheet and not in a third one, and
   that is a correctness rule rather than tidiness.** `site.stylesheet_path` is
   content-addressed on its `extra_css` (TODO 15, S038), so a page passing
   `BROWSE_CSS + LEAGUE_CSS` links `/assets/site-<hash of both>.css` — a URL
   `site.build` never writes, because it emits exactly two sheets. The first
   version of this shipped four **unstyled** pages, found by resolving the href
   against the build tree rather than by looking at the markup. A test now asserts
   every page's sheet exists. */
.lg{max-width:var(--measure);margin:0 auto;background:var(--surface);
 padding:0 28px 8px}
.lg table{width:100%;border-collapse:collapse;margin:0 0 6px}
.lg caption{text-align:left;font-size:12px;color:var(--faint);padding:0 0 8px}
.lg th{text-align:left;font-size:11px;text-transform:uppercase;
 letter-spacing:.09em;color:var(--faint);font-weight:700;
 border-bottom:1px solid var(--rule);padding:0 0 6px}
.lg td{font-size:15px;color:var(--ink);padding:7px 0;
 border-bottom:1px solid var(--rule);font-variant-numeric:tabular-nums}
.lg td.rank,.lg th.rank{width:2.6em;color:var(--faint);font-size:13px}
.lg td.num,.lg th.num{text-align:right;width:7em}
.lg .note{font-size:13px;color:var(--muted);line-height:1.55;margin:0 0 18px}
.lg .more{font-size:13px;margin:0 0 30px}
.lg .more a{color:var(--accent);text-decoration:none;font-weight:700}
.lg h2{font-size:19px;margin:26px 0 4px;border:0;padding:0}
@media(max-width:520px){
 .facets,.crumb,.pager,.rec,.lg{padding-left:20px;padding-right:20px}
 .facets .grid{gap:16px}
}
