:root{
  --ig-bg:#fff;
  --ig-ink:#000;
  --ig-text:#212121;
  --ig-muted:#5c5c5c;
  --ig-faint:#9a9a9a;
  --ig-line:#e5e5e5;
  --ig-accent:#0099ff;
  --ig-sans:'Inter',-apple-system,'Segoe UI',sans-serif;
  --ig-mono:'Fragment Mono',ui-monospace,monospace;
  --ig-shell:1280px;
}

.brand-page{background:var(--ig-bg);color:var(--ig-text);font-family:var(--ig-sans);line-height:1.6}
.brand-page ::selection{background:var(--ig-accent);color:#fff}
.brand-shell{width:min(var(--ig-shell),calc(100% - 48px));margin-inline:auto}
.skip-link{position:fixed;z-index:500;top:8px;left:8px;transform:translateY(-160%);padding:9px 12px;background:#000;color:#fff;text-decoration:none;font:12px/1.2 var(--ig-mono)}
.skip-link:focus{transform:none}

.sitebar{position:fixed;z-index:120;inset:0 0 auto;height:62px;border-bottom:1px solid var(--ig-line);background:rgba(255,255,255,.9);backdrop-filter:blur(12px)}
.sitebar-in{width:min(var(--ig-shell),calc(100% - 48px));height:100%;margin:auto;display:flex;align-items:center;gap:24px}
.site-wordmark{color:var(--ig-ink);font-size:17px;font-weight:700;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.site-wordmark i{color:var(--ig-accent);font-style:normal}
.site-nav{display:flex;align-items:stretch;height:100%;margin-left:auto}
.site-nav a{position:relative;display:flex;align-items:center;padding:0 13px;color:var(--ig-muted);font-size:13px;font-weight:500;text-decoration:none;transition:color .2s}
.site-nav a:hover,.site-nav a:focus-visible{color:var(--ig-ink)}
.site-nav a[aria-current="page"]{color:var(--ig-ink)}
.site-nav a[aria-current="page"]:after{content:"";position:absolute;inset:auto 13px -1px;height:2px;background:var(--ig-accent)}
.site-nav a.site-nav-cta{align-self:center;height:38px;margin-left:8px;padding:0 17px;background:#000;color:#fff;font-weight:600}
.site-nav a.site-nav-cta:hover,.site-nav a.site-nav-cta:focus-visible{background:var(--ig-accent);color:#fff}

.brand-hero{padding:144px 0 72px;border-bottom:1px solid var(--ig-line);background:#fff}
.brand-kicker{margin:0 0 17px;color:var(--ig-accent);font:11px/1.4 var(--ig-mono);letter-spacing:.12em;text-transform:uppercase}
.brand-hero h1{max-width:13ch;margin:0;color:var(--ig-ink);font-size:clamp(44px,7.2vw,92px);font-weight:700;letter-spacing:-.05em;line-height:.98}
.brand-lead{max-width:66ch;margin:27px 0 0;color:var(--ig-muted);font-size:17px;line-height:1.7}
.brand-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.brand-button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:11px 18px;border:1px solid var(--ig-ink);border-radius:2px;background:#fff;color:var(--ig-ink);font:500 14px/1 var(--ig-sans);text-decoration:none;cursor:pointer;transition:.2s}
.brand-button.primary{background:#000;color:#fff}
.brand-button:hover,.brand-button:focus-visible{border-color:var(--ig-accent);background:var(--ig-accent);color:#fff}

.brand-data{border-bottom:1px solid var(--ig-line);background:#000;color:#fff}
.brand-data .brand-shell{min-height:62px;display:flex;align-items:center;gap:16px 32px;flex-wrap:wrap;padding-block:14px}
.brand-data-item{display:flex;align-items:center;gap:8px;color:#bdbdbd;font:11px/1.45 var(--ig-mono)}
.brand-data-item b{color:#fff;font-weight:400}
.brand-live{width:7px;height:7px;border-radius:50%;background:var(--ig-accent);box-shadow:0 0 0 3px rgba(0,153,255,.22)}

.feature-link{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 34px;padding:20px 22px;border:1px solid var(--ig-line);border-radius:2px;color:inherit;text-decoration:none;transition:.2s}
.feature-link:hover{border-color:#000;background:#fafafa}
.feature-link strong{display:block;color:#000;font-size:15px}
.feature-link small{display:block;margin-top:3px;color:var(--ig-muted);font-size:12px}
.feature-link .arrow{color:var(--ig-accent);font:16px var(--ig-mono)}

.site-footer{margin-top:80px;background:#000;color:#fff}
.site-footer .brand-shell{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-block:54px}
.site-footer h2{margin:0;color:#fff;font-size:22px;letter-spacing:-.03em}
.site-footer h3{margin:0 0 12px;color:#fff;font:11px/1.4 var(--ig-mono);letter-spacing:.12em;text-transform:uppercase}
.site-footer p{max-width:48ch;margin:12px 0 0;color:#a8a8a8;font-size:13px;line-height:1.7}
.site-footer a{display:block;width:max-content;margin:7px 0;color:#c7c7c7;font-size:13px;text-decoration:none}
.site-footer a:hover{color:var(--ig-accent)}
.site-footer-bottom{border-top:1px solid #272727}
.site-footer-bottom .brand-shell{display:flex;justify-content:space-between;gap:18px;padding-block:16px;color:#828282;font:10px/1.5 var(--ig-mono)}

.brand-page :focus-visible{outline:2px solid var(--ig-accent);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Page-level normalization: the public tools keep their own layouts while sharing one voice. */
.brand-page main{background:#fff}
.brand-page .card,.brand-page .stat,.brand-page .upcoming-card{border-radius:2px;box-shadow:none}
.brand-page .card:hover,.brand-page .upcoming-card:hover{transform:none;box-shadow:none;border-color:#000;background:#fafafa}
.institutions-page .stats{margin-top:0;gap:0;border-left:1px solid var(--ig-line)}
.institutions-page .stat{border:0;border-right:1px solid var(--ig-line);border-bottom:1px solid var(--ig-line);padding:22px 24px}
.institutions-page .stat b{font-family:var(--ig-mono);font-size:24px;font-weight:400}
.institutions-page .stat span{color:var(--ig-muted);font-size:11px}
.institutions-page .eyebrow{color:var(--ig-accent)!important;font-family:var(--ig-mono);font-weight:400}
.institutions-page .search{border-radius:2px}
.institutions-page .icon,.institutions-page .count,.institutions-page .status-pill{border-radius:2px}
.institutions-page .icon{background:#f3f3f3;color:#000}
.institutions-page .open,.institutions-page .navlinks a{color:var(--ig-accent)}
.institutions-page .upcoming-card{background:#fff}
.institutions-page .modal{border-radius:2px}
.institutions-page .mhead{background:#fff}
.institutions-page .mhead h2{color:#000}
.institutions-page .mhead .msub{color:var(--ig-muted)}
.institutions-page .close{width:36px;height:36px;border:1px solid var(--ig-line);border-radius:2px;background:#fff;color:#000;font:20px/1 var(--ig-sans)}
.institutions-page .editions{background:#fafafa}
.institutions-page .edition{border:1px solid transparent;border-radius:2px;color:var(--ig-muted)}
.institutions-page .edition:hover{border-color:var(--ig-line);background:#f2f2f2;color:#000}
.institutions-page .edition.on{border-color:#000;background:#000;color:#fff}
.institutions-page .edition.on span{color:#bdbdbd}
.institutions-page .report{color:var(--ig-text)}
.institutions-page .institution-report-head{margin:0 0 26px;padding:0 0 22px;border-bottom:1px solid var(--ig-line)}
.institutions-page .institution-report-head p{margin:0 0 9px;color:var(--ig-accent);font:10.5px/1.4 var(--ig-mono);letter-spacing:.12em;text-transform:uppercase}
.institutions-page .institution-report-head h1{max-width:16ch;margin:0;color:#000;font-size:clamp(30px,5vw,46px);line-height:1;letter-spacing:-.04em}
.institutions-page .provenance{font-family:var(--ig-mono);color:var(--ig-faint)}
.institutions-page .brand-data .stats{width:min(var(--ig-shell),calc(100% - 48px));min-height:76px;margin:auto;border-left:1px solid #292929}
.institutions-page .brand-data .stat{display:flex;flex-direction:column;justify-content:center;border-right:1px solid #292929;border-bottom:0;background:#000}
.institutions-page .brand-data .stat b{color:#fff}.institutions-page .brand-data .stat span{color:#9a9a9a}
.flows-page .brand-data .brand-shell{display:block}
.flows-page .brand-data .statusline{max-width:none;margin:0;padding:0;display:flex;gap:14px 28px;flex-wrap:wrap;color:#aaa;font:11px/1.5 var(--ig-mono)}
.flows-page .brand-data .statusline b{color:#fff;font-weight:400}
.flows-page main{padding-top:46px}
.local-page main{padding:52px 0 88px}
.local-page .map{margin-top:4px}

@media(max-width:760px){
  .brand-shell,.sitebar-in{width:min(100% - 28px,var(--ig-shell))}
  .sitebar-in{gap:10px}.site-nav a{padding-inline:8px;font-size:12px}.site-nav a:first-child{display:none}
  .brand-hero{padding:118px 0 52px}.brand-hero h1{font-size:clamp(40px,14vw,66px)}.brand-lead{font-size:15px}
  .site-footer .brand-shell{grid-template-columns:1fr;gap:28px;padding-block:42px}
  .site-footer-bottom .brand-shell{flex-direction:column}
}
@media(max-width:980px){.site-nav .site-nav-extra{display:none}}
