@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-weight:400 900;font-stretch:62% 125%;font-display:swap;src:url(fonts/archivo-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{
  --band:#0D2136;--band2:#132C47;--on-band:#EAF1F7;--on-band-muted:#9FB3C6;
  --paper:#EEF2F5;--card:#FFFFFF;--ink:#0D2136;--muted:#566779;--rule:#D3DCE4;
  --none:#D8E0E8;--mild:#E3A033;--strong:#2E55C4;--link:#2449B0;--focus:#E3A033
}
@media (prefers-color-scheme:dark){:root{
  --paper:#0B1622;--card:#112130;--ink:#E4ECF3;--muted:#93A6B8;--rule:#22364A;
  --none:#26394C;--mild:#E9AE48;--strong:#6E91F0;--link:#8FB0FF;--band:#07111C;--band2:#0D1C2B}}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font:400 16px/1.6 "Archivo",system-ui,sans-serif;font-variant-numeric:tabular-nums}
a{color:var(--link);text-underline-offset:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.wrap{max-width:68rem;margin:0 auto;padding:0 1rem}
.notice{background:var(--mild);color:#1B1405;font-size:.85rem;text-align:center;padding:.4rem 1rem}
.notice a{color:inherit;font-weight:600}
.band{background:var(--band);color:var(--on-band);background-image:linear-gradient(var(--band2) 1px,transparent 1px),linear-gradient(90deg,var(--band2) 1px,transparent 1px);background-size:28px 28px}
.top{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;align-items:center;justify-content:space-between;padding-top:1.1rem;padding-bottom:1.1rem}
.home{font-weight:800;font-stretch:125%;font-size:1.05rem;color:var(--on-band);text-decoration:none;letter-spacing:.01em}
.top nav{display:flex;flex-wrap:wrap;gap:1.2rem}
.top nav a{color:var(--on-band-muted);text-decoration:none}
.top nav a:hover{color:var(--on-band)}
.hero{padding-top:2.2rem;padding-bottom:2.8rem}
.hero h1{font-weight:850;font-stretch:118%;font-size:clamp(2rem,5.4vw,3.6rem);line-height:1.02;letter-spacing:-.02em;margin:0 0 1.1rem;max-width:18ch}
.hero.co h1{max-width:24ch}
.hero .lede{font-size:1.12rem;color:var(--on-band);max-width:60ch;margin:0 0 .8rem}
.hero .small,.hero .meta,.hero .sub,.hero .crumb{color:var(--on-band-muted);font-size:.92rem;max-width:64ch;margin:.3rem 0}
.hero .crumb a{color:var(--on-band-muted)}
.hero a{color:#BFD3FF}
main{padding-top:2rem;padding-bottom:3rem}
h2{font-weight:800;font-stretch:112%;font-size:1.35rem;letter-spacing:-.01em;margin:2.4rem 0 1rem}
h3{font-weight:600;font-size:1rem;margin:0}
p{max-width:70ch}
.small{color:var(--muted);font-size:.9rem}
.lede{font-size:1.05rem}
.note{border-left:4px solid var(--mild);background:var(--card);padding:.7rem 1rem;border-radius:0 4px 4px 0}

/* cells: the one visual idea, used everywhere */
.cell{display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;border-radius:3px;background:var(--none);flex:none;font-size:.62rem;font-weight:700;color:transparent}
.cell.r1{background:var(--mild)}
.cell.r2{background:var(--strong)}
.cell.rn{background:repeating-linear-gradient(135deg,var(--none) 0 2px,transparent 2px 5px);outline:1px solid var(--none);outline-offset:-1px}
.cell.big{width:2.1rem;height:2.1rem;border-radius:5px;font-size:.8rem;color:var(--muted)}
.band .cell{background:#21384F}
.band .cell.big{color:#8EA5BA}
.band .cell.r1{background:var(--mild);color:#2B1C02}
.band .cell.r2{background:#4C74E6;color:#F2F6FF}
.band .cell.rn{background:repeating-linear-gradient(135deg,#21384F 0 2px,transparent 2px 5px);outline-color:#21384F}
.sep{display:inline-block;width:.7rem;flex:none}

/* index */
.filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:.8rem;margin:0 0 1.6rem}
.filters label{display:flex;flex-direction:column;gap:.3rem;font-size:.85rem;color:var(--muted)}
.filters input,.filters select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:.55rem .65rem}
.matrix{background:var(--card);border:1px solid var(--rule);border-radius:8px;padding:.6rem 1rem 1rem;overflow:hidden}
.mhead,.list li a{display:grid;grid-template-columns:minmax(12rem,1fr) auto 6rem;gap:1.2rem;align-items:center}
.mhead{font-size:.8rem;color:var(--muted);padding:.35rem .4rem 0}
.mhead.nums{padding-bottom:.5rem;border-bottom:2px solid var(--ink)}
.strip{display:flex;gap:.3rem;align-items:center}
.groups .g{display:block;font-weight:600;color:var(--ink);border-bottom:3px solid var(--rule);padding-bottom:.15rem}
.groups .g1{width:calc(6*1.05rem + 5*.3rem)}
.groups .g2{width:calc(4*1.05rem + 3*.3rem)}
.groups .g3{width:calc(6*1.05rem + 5*.3rem)}
.hcell{width:1.05rem;text-align:center;font-size:.7rem}
.sc{text-align:right;font-weight:700;font-size:1.05rem}
.sc em{font-style:normal;font-weight:500;font-size:.85rem;color:var(--muted)}
.list{list-style:none;margin:0;padding:0}
.list li a{padding:.7rem .4rem;border-bottom:1px solid var(--rule);color:var(--ink);text-decoration:none;border-radius:4px}
.list li:last-child a{border-bottom:0}
.list li a:hover{background:var(--paper)}
.co-name{font-weight:650}
.co-name small{display:block;font-weight:400;font-size:.82rem;color:var(--muted)}
.legend{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;margin:1rem 0 0;font-size:.88rem;color:var(--muted)}
.legend>span{display:flex;align-items:center;gap:.45rem}
.key{columns:2 18rem;padding-left:0;list-style:none;margin:0}
.key li{display:flex;gap:.7rem;padding:.3rem 0;break-inside:avoid}
.kno{font-weight:700;min-width:1.6rem;color:var(--muted)}
@media (max-width:44rem){
  .mhead{display:none}
  .list li a{grid-template-columns:1fr auto;gap:.4rem 1rem}
  .list .strip{grid-column:1/-1;grid-row:2}
  .list .sc{grid-column:2;grid-row:1}
  .matrix{padding:.4rem .6rem}
  .list .strip{gap:.18rem}
  .list .cell{width:.95rem;height:.95rem}
  .list .sep{width:.35rem}
}
@media (prefers-reduced-motion:no-preference){
  .list .cell{animation:in .5s both}
  .list li:nth-child(n) .cell{animation-delay:calc(var(--d,0)*1ms)}
  @keyframes in{from{opacity:0;transform:scale(.4)}to{opacity:1;transform:none}}
}

/* company page */
.cohead{display:flex;flex-wrap:wrap;gap:1.5rem 2.5rem;align-items:center;margin:1.4rem 0 .8rem}
.num .big{display:block;font-size:clamp(3.2rem,8vw,4.6rem);font-weight:900;font-stretch:112%;line-height:.9;letter-spacing:-.03em}
.num .of{display:block;font-size:.85rem;color:var(--on-band-muted);margin-top:.4rem}
.cells{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}
.grp h2{display:flex;align-items:baseline;gap:.8rem}
.checks{display:grid;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr));gap:.9rem}
.chk{background:var(--card);border:1px solid var(--rule);border-left:6px solid var(--none);border-radius:6px;padding:1rem 1.1rem}
.chk.r1{border-left-color:var(--mild)}
.chk.r2{border-left-color:var(--strong)}
.chk.rn{border-left-style:dashed}
.chk-top{display:flex;gap:.6rem;align-items:baseline}
.chk-top h3{flex:1;font-size:.95rem;line-height:1.35}
.no{font-weight:800;color:var(--muted);font-size:.9rem;min-width:1.3rem}
.res{font-size:.8rem;font-weight:600;color:var(--muted);white-space:nowrap}
.chk.r1 .res{color:#9A6510}
.chk.r2 .res{color:var(--strong)}
@media (prefers-color-scheme:dark){.chk.r1 .res{color:var(--mild)}}
.val{font-size:1.45rem;font-weight:750;font-stretch:108%;margin:.55rem 0 .3rem;line-height:1.2;max-width:none}
.th,.src{font-size:.86rem;color:var(--muted);margin:.25rem 0 0}
.nt{font-size:.9rem;margin:.5rem 0 0}
.src{margin-top:.6rem}
.zbox{display:flex;gap:1.5rem;align-items:center;background:var(--card);border:1px solid var(--rule);border-radius:6px;padding:1rem 1.2rem}
.zbox .z{font-size:2.2rem;font-weight:850;font-stretch:112%}
.zbox p{margin:0}
.prose{max-width:46rem}
.prose h2{margin-top:2.2rem}
footer{border-top:1px solid var(--rule);padding:1.6rem 0 3rem;font-size:.84rem;color:var(--muted)}
footer p{max-width:none}

.count{margin:0 0 .6rem}
.pager{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.8rem;margin:2.5rem 0 0;padding-top:1.2rem;border-top:1px solid var(--rule);font-size:.92rem}
