.gl-page {
  background:#fbfcfd;
  color:var(--text)}
.gl-page a {
  color:var(--primary)}
.gl-page .nav-logo {
  color:var(--primary)}
.gl-header {
  position:relative;
  background:var(--bg);
  border-bottom:1px solid var(--border)}
.gl-header::before {
  content:'';
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:repeating-linear-gradient(90deg,var(--base-a) 0 34px,var(--base-c) 34px 55px,var(--base-t) 55px 89px,var(--base-g) 89px 110px,var(--base-c) 110px 131px,var(--base-a) 131px 152px,var(--base-g) 152px 186px,var(--base-t) 186px 207px);
  opacity:.85}
.gl-header-inner {
  max-width:1160px;
  min-height:76px;
  margin:auto;
  padding:12px 32px;
  display:flex;
  align-items:center;
  gap:28px}
.gl-header .nav-logo {
  flex-shrink:0}
.gl-nav {
  position:static;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex:1;
  gap:26px;
  background:none;
  backdrop-filter:none;
  box-shadow:none;
  border:0;
  width:auto;
  padding:0}
.gl-nav::before {
  content:none}
.gl-page .gl-nav a {
  color:var(--text-light);
  font-size:14px;
  font-weight:650;
  padding:10px 0;
  text-decoration:none}
.gl-page .gl-nav a:hover {
  color:var(--primary);
  text-decoration:underline;
  text-underline-offset:7px}
.gl-nav a[aria-current] {
  text-decoration:underline;
  text-underline-offset:7px}
.gl-main {
  max-width:1160px;
  margin:auto;
  padding:0 32px 70px}
.gl-hero {
  max-width:820px;
  padding:72px 0 35px}
.gl-eyebrow {
  font-family:var(--mono);
  font-size:11px;
  letter-spacing:.11em;
  font-weight:600;
  color:var(--text-lighter);
  margin-bottom:19px}
.gl-eyebrow span {
  color:var(--text-lighter)}
.gl-page h1 {
  font-weight:650;
  line-height:1.09;
  letter-spacing:-.045em;
  font-size:clamp(36px,5.8vw,70px);
  color:var(--primary);
  overflow-wrap:anywhere}
.gl-lead {
  font-size:19px;
  line-height:1.7;
  max-width:720px;
  color:var(--text-light);
  margin-top:23px}
.gl-trust-line {
  display:flex;
  gap:25px;
  margin:25px 0 4px;
  font-size:12px;
  color:var(--text-lighter)}
.gl-trust-line span:before {
  content:'•';
  color:var(--accent);
  margin-right:8px}
.gl-search {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:12px;
  padding:28px;
  box-shadow:var(--shadow-sm)}
.gl-page h2 {
  font-size:22px;
  line-height:1.35;
  letter-spacing:-.025em;
  font-weight:650;
  margin:0 0 16px;
  color:var(--primary)}
.gl-search h2 {
  font-size:18px}
.gl-search label {
  display:block;
  font-size:13px;
  font-weight:650;
  color:var(--text-light);
  margin-bottom:8px}
.gl-search-row {
  display:flex;
  gap:10px}
.gl-search input {
  width:100%;
  min-width:0;
  border:1px solid var(--ink-300);
  background:var(--bg);
  padding:15px 17px;
  border-radius:6px;
  font:inherit;
  font-size:17px;
  color:var(--primary)}
.gl-search input:focus {
  outline:3px solid var(--accent);
  outline-offset:2px}
.gl-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:22px;
  background:var(--primary);
  color:var(--white)!important;
  padding:12px 22px;
  font:600 14px var(--sans);
  border:1px solid var(--primary);
  border-radius:6px;
  text-decoration:none;
  cursor:pointer;
  white-space:nowrap}
.gl-buy {
  background:var(--primary);
  border-color:var(--primary);
  min-height:44px;
  gap:12px}
.gl-buy:hover {
  background:var(--ink-800);
  border-color:var(--ink-800)}
.gl-search-filters {
  display:flex;
  gap:12px;
  align-items:center;
  flex-wrap:wrap;
  margin:14px 0}
.gl-search-filters label {
  margin:0}
.gl-search select {
  padding:7px 26px 7px 10px;
  border:1px solid var(--border);
  border-radius:5px;
  background:var(--white);
  color:var(--text-light);
  font:inherit;
  font-size:12px}
.gl-small,.gl-source-note {
  font-size:12px!important;
  line-height:1.7;
  color:var(--text-lighter)}
.gl-search-results {
  list-style:none;
  padding:0}
.gl-search-results li {
  border-top:1px solid var(--border-light);
  padding:13px 0;
  display:grid;
  grid-template-columns:minmax(140px,1fr) 2fr;
  gap:16px}
.gl-search-results a {
  font-weight:700;
  text-decoration:none}
.gl-search-results span {
  font-size:13px;
  color:var(--text-light)}
.gl-more {
  background:var(--bg-alt);
  color:var(--primary);
  padding:10px 18px;
  border:1px solid var(--border);
  border-radius:5px;
  font:inherit;
  cursor:pointer}
.gl-more[hidden] {
  display:none}
#search-status {
  font-size:13px;
  margin-top:14px}
.gl-directory-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin:28px 0 76px}
.gl-directory-cards>a {
  display:block;
  padding:30px;
  border:1px solid var(--border);
  border-radius:10px;
  text-decoration:none;
  background:var(--bg-alt);
  transition:border-color .15s}
.gl-directory-cards>a:hover {
  border-color:var(--ink-300)}
.gl-directory-cards>a:nth-child(2) {
  background:var(--ice-100)}
.gl-directory-cards strong {
  font-family:var(--mono);
  font-size:42px;
  font-weight:500;
  color:var(--primary);
  display:block;
  margin:10px 0 24px;
  letter-spacing:-.035em}
.gl-directory-cards h2 {
  display:flex;
  justify-content:space-between;
  font-size:21px}
.gl-directory-cards p {
  color:var(--text-light);
  font-size:14px;
  max-width:355px}
.gl-methodology {
  display:grid;
  grid-template-columns:1fr 1.35fr;
  gap:50px;
  align-items:start;
  margin:20px 0 35px}
.gl-methodology h2 {
  font-size:32px;
  line-height:1.2}
.gl-methodology p {
  font-size:14px;
  color:var(--text-light);
  margin-bottom:15px}
.gl-source-cards {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px}
.gl-source-cards article {
  border-top:1px solid var(--border);
  padding-top:14px}
.gl-source-cards article>span {
  font:11px var(--mono);
  color:var(--text-lighter)}
.gl-source-cards h3 {
  font-size:16px;
  margin:10px 0}
.gl-source-cards a {
  text-decoration:none}
.gl-source-cards p {
  font-size:13px}
.gl-panel {
  background:var(--white);
  border:1px solid var(--border);
  border-radius:10px;
  padding:28px;
  margin-bottom:23px}
.gl-panel p {
  font-size:15px;
  color:var(--text-light);
  margin:0 0 16px;
  line-height:1.85}
.gl-panel p:last-child {
  margin-bottom:0}
.gl-panel h3 {
  font-size:14px;
  margin:20px 0 8px}
.gl-prose p {
  font-size:16px}
.gl-source-note {
  border-top:1px solid var(--border-light);
  padding-top:15px;
  margin-top:24px}
.gl-breadcrumbs {
  font-size:12px;
  color:var(--text-lighter);
  padding-top:28px;
  overflow-wrap:anywhere}
.gl-breadcrumbs a {
  text-decoration:none}
.gl-record-hero {
  padding:40px 0 34px;
  max-width:900px}
.gl-record-hero .gl-gene-title {
  font-family:var(--mono);
  font-size:clamp(46px,8vw,88px);
  letter-spacing:-.045em;
  font-weight:500}
.gl-record-hero h1 {
  font-size:clamp(30px,4.8vw,53px)}
.gl-record-subtitle {
  font-size:18px;
  line-height:1.6;
  color:var(--text-light);
  margin-top:13px}
.gl-tags {
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:22px}
.gl-tags span {
  background:var(--bg-alt);
  border:1px solid var(--border);
  color:var(--text-light);
  border-radius:4px;
  padding:4px 9px;
  font-size:11px;
  font-family:var(--mono)}
.gl-record-grid {
  display:grid;
  grid-template-columns:minmax(0,2.1fr) minmax(235px,1fr);
  gap:28px;
  align-items:start}
.gl-record-content,.gl-sidebar {
  min-width:0}
.gl-facts {
  margin:0}
.gl-facts>div {
  padding:13px 0;
  border-bottom:1px solid var(--border-light)}
.gl-facts>div:first-child {
  padding-top:0}
.gl-facts>div:last-child {
  border:0;
  padding-bottom:0}
.gl-facts dt {
  font-size:11px;
  color:var(--text-lighter);
  margin-bottom:3px}
.gl-facts dd {
  font-size:14px;
  margin:0;
  overflow-wrap:anywhere}
.gl-mono {
  font-family:var(--mono)}
.gl-sidebar .gl-panel {
  padding:23px}
.gl-aliases {
  font-size:12px!important;
  color:var(--text-light);
  overflow-wrap:anywhere}
.gl-aside-note {
  padding:3px 20px;
  font-size:13px;
  color:var(--text-light)}
.gl-aside-note strong {
  font-weight:650;
  color:var(--primary)}
.gl-aside-note p {
  margin-top:9px;
  line-height:1.85}
.gl-related,.gl-simple-list {
  list-style:none;
  padding:0;
  margin:0}
.gl-related li {
  border-top:1px solid var(--border-light);
  padding:12px 0;
  display:flex;
  flex-direction:column;
  gap:2px}
.gl-related a {
  font-size:15px;
  font-weight:600;
  text-decoration:none}
.gl-related span {
  font-size:12px;
  color:var(--text-lighter)}
.gl-simple-list li {
  padding-bottom:7px}
.gl-table-wrap {
  overflow-x:auto;
  margin:18px 0}
.gl-table-wrap table {
  border-collapse:collapse;
  width:100%;
  font-size:13px;
  text-align:left;
  min-width:430px}
.gl-table-wrap th {
  font-size:10px;
  text-transform:uppercase;
  letter-spacing:.06em;
  background:var(--bg-alt);
  color:var(--text-light);
  padding:12px 10px}
.gl-table-wrap td {
  border-bottom:1px solid var(--border-light);
  padding:15px 10px;
  vertical-align:top}
.gl-table-wrap td a {
  font-weight:600;
  text-decoration:none}
.gl-table-wrap small {
  display:block;
  font-size:10px;
  color:var(--text-lighter);
  line-height:1.5;
  margin-top:7px}
.gl-evidence {
  background:var(--bg-alt);
  padding:3px 6px;
  border-radius:4px;
  display:inline-block;
  font-size:11px}
.gl-counts>div {
  display:flex;
  justify-content:space-between;
  gap:18px;
  padding:12px 0;
  border-bottom:1px solid var(--border-light)}
.gl-counts dt {
  font-size:13px;
  color:var(--text-light);
  max-width:80%}
.gl-counts dd {
  font:14px var(--mono);
  color:var(--primary);
  margin:0;
  white-space:nowrap}
.gl-counts {
  margin-bottom:20px}
.gl-context {
  background:var(--bg-alt);
  border-color:var(--border)}
.gl-context .gl-eyebrow {
  font-size:10px}
.gl-actions {
  display:flex;
  align-items:center;
  gap:18px;
  flex-wrap:wrap}
.gl-actions>a:not(.gl-button) {
  font-size:13px;
  font-weight:600}
.gl-source-list details {
  border-top:1px solid var(--border-light);
  padding:12px 0}
.gl-source-list summary {
  cursor:pointer;
  font-size:14px;
  font-weight:650;
  color:var(--primary)}
.gl-source-list summary span {
  font-size:11px;
  font-weight:400;
  color:var(--text-lighter);
  margin-left:10px}
.gl-source-list details p {
  font-size:12px;
  margin:12px 0}
.gl-hash {
  overflow-wrap:anywhere;
  font:10px var(--mono)!important}
.gl-browse {
  margin:35px 0}
.gl-alphabet {
  display:flex;
  gap:6px;
  flex-wrap:wrap}
.gl-alphabet>* {
  display:grid;
  place-items:center;
  min-width:33px;
  height:36px;
  border:1px solid var(--border);
  border-radius:4px;
  background:var(--white);
  text-decoration:none;
  font:12px var(--mono)}
.gl-alphabet>span {
  color:var(--ink-300);
  background:var(--bg-alt)}
.gl-record-list {
  list-style:none}
.gl-record-list li {
  display:grid;
  grid-template-columns:minmax(120px,1fr) 2fr;
  gap:25px;
  padding:13px 0;
  border-bottom:1px solid var(--border-light)}
.gl-record-list a {
  font-size:14px;
  font-weight:600;
  text-decoration:none}
.gl-record-list span {
  font-size:13px;
  color:var(--text-lighter)}
.gl-pagination {
  display:flex;
  justify-content:space-between;
  gap:15px;
  font-size:13px;
  padding-top:28px}
.gl-footer {
  margin:0;
  padding:48px 0 28px}
.gl-footer-inner {
  max-width:1160px;
  margin:auto;
  padding:0 32px;
  display:grid;
  grid-template-columns:1.2fr .8fr 1.2fr;
  gap:28px 32px}
.gl-footer p {
  font-size:13px;
  color:rgba(255,255,255,.75);
  margin-top:13px;
  max-width:540px}
.gl-page .gl-footer a {
  color:rgba(255,255,255,.85)}
.gl-page .gl-footer .nav-logo,
.gl-page .gl-footer a:hover {
  color:var(--white)}
.gl-footer-links {
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:flex-start;
  font-size:13px}
.gl-footer-links a:hover,
.gl-footer-sources a:hover,
.gl-footer-sample:hover {
  text-decoration:underline;
  text-underline-offset:4px}
.gl-footer-product h2 {
  font-size:20px;
  color:var(--white);
  margin-bottom:10px}
.gl-footer-product p {
  margin:0 0 18px}
.gl-footer .gl-buy {
  color:var(--primary)!important;
  background:var(--white);
  border-color:var(--white)}
.gl-footer .gl-buy:hover {
  background:var(--bg-alt);
  border-color:var(--bg-alt)}
.gl-footer-sample {
  display:block;
  width:fit-content;
  margin-top:15px;
  font-size:13px}
.gl-footer-sources {
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:12px 24px;
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:23px;
  font-size:12px}
.gl-footer .gl-disclaimer {
  grid-column:1/-1;
  max-width:none;
  margin:0}
.gl-copyright {
  grid-column:1/-1;
  margin:0!important}
.gl-skip {
  position:absolute;
  top:-100px;
  left:20px;
  padding:10px;
  background:var(--white);
  z-index:100}
.gl-skip:focus {
  top:12px}
.gl-page :focus-visible {
  outline:3px solid var(--accent);
  outline-offset:4px}
.gl-footer :focus-visible {
  outline-color:var(--white)}
.gl-notice {
  margin-top:23px;
  border:1px solid #d6ceab;
  background:#fffbea;
  padding:15px;
  font-size:14px;
  border-radius:6px}

@media(max-width:760px) {
  .gl-header-inner {
  padding:16px 20px 8px;
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 12px}
.gl-header .gl-buy {
  grid-column:2;
  grid-row:1;
  padding:10px 12px;
  font-size:13px;
  gap:8px}
.gl-nav {
  grid-column:1/-1;
  grid-row:2;
  justify-content:flex-start;
  gap:24px;
  flex-wrap:wrap}
.gl-page .gl-nav a {
  font-size:13px}
.gl-main {
  padding:0 20px 40px}
.gl-hero {
  padding-top:45px}
.gl-lead {
  font-size:16px}
.gl-trust-line {
  gap:14px;
  font-size:10px}
.gl-search {
  padding:20px}
.gl-search-row {
  gap:8px}
.gl-search input {
  font-size:14px;
  padding:13px 10px}
.gl-search-row .gl-button {
  padding:12px;
  font-size:12px;
  gap:5px}
.gl-search-filters {
  gap:8px}
.gl-search-filters label {
  font-size:11px}
.gl-search select {
  max-width:160px}
.gl-directory-cards {
  gap:13px;
  margin-bottom:42px}
.gl-directory-cards>a {
  padding:20px}
.gl-directory-cards strong {
  font-size:30px}
.gl-directory-cards h2 {
  font-size:17px}
.gl-directory-cards p {
  font-size:12px}
.gl-directory-cards .gl-eyebrow {
  font-size:9px}
.gl-methodology {
  grid-template-columns:1fr;
  gap:15px}
.gl-methodology h2 {
  font-size:28px}
.gl-record-grid {
  grid-template-columns:1fr;
  gap:0}
.gl-sidebar {
  display:grid;
  grid-template-columns:1fr;
  gap:0}
.gl-panel {
  padding:21px}
.gl-panel p,.gl-prose p {
  font-size:14px}
.gl-record-hero {
  padding-top:30px}
.gl-record-subtitle {
  font-size:16px}
.gl-page h2 {
  font-size:20px}
.gl-source-cards {
  gap:20px}
.gl-record-list li,.gl-search-results li {
  grid-template-columns:1fr;
  gap:3px}
.gl-footer {
  padding:32px 0 24px}
.gl-footer-inner {
  padding:0 20px;
  grid-template-columns:1fr}
.gl-footer-links {
  flex-direction:row;
  flex-wrap:wrap;
  gap:14px}
.gl-footer-product {
  border-top:1px solid rgba(255,255,255,.15);
  padding-top:24px}
.gl-counts dt {
  max-width:75%}
.gl-counts dd {
  font-size:12px}
.gl-source-list summary span {
  display:block;
  margin:5px 0 0 17px}
.gl-actions .gl-button {
  width:100%}
}
.gl-context .gl-table-wrap th {
  background:var(--white)}
