.spk-egp {
  --spk-egp-brand: #14566d;
  --spk-egp-brand-dark: #0b3341;
  --spk-egp-brand-deep: #072731;
  --spk-egp-brand-tint: #e9f3f5;
  --spk-egp-gold: #c79a42;
  --spk-egp-ink: #172d35;
  --spk-egp-muted: #587079;
  --spk-egp-subtle: #587079;
  --spk-egp-border: #d7e0e3;
  --spk-egp-surface: #fff;
  --spk-egp-page: #f5f7f7;
  max-width: 1280px;
  margin: 1.5rem auto;
  color: var(--spk-egp-ink);
  font-family: inherit;
  font-size: 15px;
  line-height: 1.55;
}
.spk-egp, .spk-egp * { box-sizing: border-box; }
.spk-egp a { color: var(--spk-egp-brand); }
.spk-egp .is-filtered-out { display: none !important; }
.spk-egp__filter-empty { margin: .35rem .45rem; padding: .7rem; color: var(--spk-egp-muted); background: var(--spk-egp-page); border-radius: 6px; font-size: 13px; text-align: center; }
.spk-egp :focus-visible { outline: 3px solid rgba(20, 86, 109, .28); outline-offset: 2px; }

.spk-egp__search-panel { margin-bottom: 1.25rem; padding: 1rem; background: var(--spk-egp-surface); border: 1px solid var(--spk-egp-border); border-radius: 10px; box-shadow: 0 5px 18px rgba(7, 39, 49, .055); }
.spk-egp__search-row { display: flex; flex-wrap: wrap; align-items: end; gap: .65rem; }
.spk-egp__query { display: block; flex: 1 1 420px; min-width: 220px; margin: 0; }
.spk-egp__query-field { position: relative; display: block; min-width: 0; }
.spk-egp__query-field input { padding-left: 2.35rem !important; }
.spk-egp__search-icon {
  position: absolute;
  left: .75rem;
  top: 50%;
  z-index: 2;
  width: 17px;
  height: 17px;
  transform: translateY(-50%);
  fill: none;
  stroke: var(--spk-egp-muted);
  stroke-width: 1.8;
  stroke-linecap: round;
  pointer-events: none;
}
.spk-egp__search-panel input:not([type="checkbox"]), .spk-egp__search-panel select, .spk-egp__choice-search, .spk-egp__view-options select {
  min-width: 0;
  height: 40px;
  padding: .45rem .7rem;
  color: var(--spk-egp-ink);
  background: #fff;
  border: 1px solid #adbec4;
  border-radius: 7px;
  font: inherit;
  font-size: 14px;
}
.spk-egp__search-panel input:not([type="checkbox"]) { width: 100%; }
.spk-egp__search-panel input:focus, .spk-egp__search-panel select:focus, .spk-egp__choice-search:focus, .spk-egp__view-options select:focus { border-color: var(--spk-egp-brand); outline: 3px solid rgba(20, 86, 109, .12); }
.spk-egp__submit, .spk-egp__filter-apply, .spk-egp__view-submit {
  min-height: 40px;
  padding: .45rem 1rem;
  color: #fff;
  background: var(--spk-egp-brand);
  border: 1px solid var(--spk-egp-brand);
  border-radius: 7px;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}
.spk-egp__submit:hover, .spk-egp__filter-apply:hover, .spk-egp__view-submit:hover { background: var(--spk-egp-brand-dark); }
.spk-egp__clear { min-height: 40px; padding: .45rem .45rem; display: inline-flex; align-items: center; white-space: nowrap; font-size: 13.5px; font-weight: 700; text-decoration: none; }
.spk-egp__clear:hover { text-decoration: underline; }

.spk-egp__advanced-toggle {
  position: relative;
  flex: 0 0 auto;
  min-height: 40px;
  padding: .45rem 1.75rem .45rem .55rem;
  color: var(--spk-egp-brand);
  background: transparent;
  border: 0;
  border-radius: 7px;
  cursor: pointer;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.spk-egp__advanced-toggle::after {
  content: "▾";
  position: absolute;
  right: .45rem;
  top: 50%;
  transform: translateY(-50%);
  color: currentColor;
  font-size: 13px;
  line-height: 1;
}
.spk-egp__advanced-toggle[aria-expanded="true"]::after { content: "▴"; }
.spk-egp__advanced-toggle:hover { color: var(--spk-egp-brand-dark); background: var(--spk-egp-brand-tint); }
.spk-egp__advanced-panel {
  margin-top: .75rem;
  padding-top: .75rem;
  border-top: 1px solid var(--spk-egp-border);
}
.spk-egp__advanced-panel[hidden] { display: none !important; }
.spk-egp__advanced-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; margin-top: .8rem; align-items: start; }
.spk-egp__advanced-select { position: relative; min-width: 0; margin: 0; }
.spk-egp__advanced-select > summary {
  position: relative;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: .6rem;
  min-height: 42px;
  padding: .48rem 2.1rem .48rem .7rem;
  color: var(--spk-egp-ink);
  background: #fff;
  border: 1px solid #adbec4;
  border-radius: 7px;
  cursor: pointer;
  list-style: none;
}
.spk-egp__advanced-select > summary::-webkit-details-marker { display: none; }
.spk-egp__advanced-select > summary::after {
  content: "▾";
  position: absolute;
  right: .7rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--spk-egp-muted);
  font-size: 12px;
}
.spk-egp__advanced-select[open] > summary { border-color: var(--spk-egp-brand); box-shadow: 0 0 0 3px rgba(20, 86, 109, .1); }
.spk-egp__advanced-select[open] > summary::after { content: "▴"; }
.spk-egp__advanced-label { color: var(--spk-egp-brand-dark); font-size: 13px; font-weight: 700; white-space: nowrap; }
.spk-egp__advanced-value { min-width: 0; overflow: hidden; color: var(--spk-egp-muted); font-size: 13px; font-weight: 500; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.spk-egp__advanced-menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 5px);
  left: 0;
  right: 0;
  padding: .35rem;
  background: #fff;
  border: 1px solid var(--spk-egp-border);
  border-radius: 8px;
  box-shadow: 0 10px 28px rgba(7, 39, 49, .14);
}
.spk-egp__advanced-options { display: grid; max-height: 260px; overflow-y: auto; }
.spk-egp__advanced-options--agency { max-height: 320px; }
.spk-egp__advanced-select .spk-egp__choice { border-radius: 5px; }
.spk-egp__date-field { display: grid; gap: .3rem; min-width: 0; color: var(--spk-egp-ink); font-size: 13.5px; font-weight: 700; }
.spk-egp__date-field input { width: 100%; }

.spk-egp__layout { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 1.25rem; align-items: start; }
.spk-egp__sidebar { display: grid; gap: .75rem; min-width: 0; }
.spk-egp__facet { overflow: hidden; margin: 0; background: var(--spk-egp-surface); border: 1px solid var(--spk-egp-border); border-radius: 9px; }
.spk-egp__facet > summary {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .5rem;
  min-height: 44px;
  padding: .65rem 2rem .65rem .8rem;
  color: var(--spk-egp-brand-dark);
  background: var(--spk-egp-page);
  cursor: pointer;
  font-size: 14px;
  font-weight: 700;
  list-style: none;
}
.spk-egp__facet > summary::-webkit-details-marker { display: none; }
.spk-egp__facet > summary::after { content: "▾"; position: absolute; right: .8rem; top: 50%; transform: translateY(-50%); color: var(--spk-egp-subtle); font-size: 12px; }
.spk-egp__facet[open] > summary { border-bottom: 1px solid var(--spk-egp-border); }
.spk-egp__facet[open] > summary::after { content: "▴"; }
.spk-egp__facet-summary { max-width: 126px; overflow: hidden; color: var(--spk-egp-muted); font-size: 12px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.spk-egp__facet-body { max-height: 285px; overflow-y: auto; padding: .25rem 0; }
.spk-egp__facet-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-height: 44px; padding: .65rem .8rem; background: var(--spk-egp-page); border-bottom: 1px solid var(--spk-egp-border); }
.spk-egp .spk-egp__facet-heading h3 { margin: 0; color: var(--spk-egp-brand-dark); font-size: 14px; font-weight: 700; line-height: 1.4; }
.spk-egp__facet-heading > span { color: var(--spk-egp-muted); font-size: 12px; font-weight: 600; }

.spk-egp__choice-list { display: grid; gap: 0; min-width: 0; }
.spk-egp__facet-option {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: .55rem;
  min-width: 0;
  padding: .5rem .7rem;
  color: var(--spk-egp-ink) !important;
  border-left: 3px solid transparent;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none !important;
}
.spk-egp__facet-option:hover { background: #f1f6f7; }
.spk-egp__facet-option.is-active {
  color: var(--spk-egp-brand-dark) !important;
  background: var(--spk-egp-brand-tint);
  border-left-color: var(--spk-egp-brand);
  font-weight: 700;
}
.spk-egp__facet-option > span:first-child { min-width: 0; overflow-wrap: anywhere; }

.spk-egp__choice {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr) auto;
  align-items: start;
  gap: .45rem;
  min-width: 0;
  margin: 0;
  padding: .46rem .65rem;
  color: var(--spk-egp-ink);
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  line-height: 1.45;
}
.spk-egp__choice:hover { background: #f1f6f7; }
.spk-egp__choice input[type="checkbox"] { width: 16px; height: 16px; margin: 2px 0 0; accent-color: var(--spk-egp-brand); }
.spk-egp__choice > span:not(.spk-egp__option-count) { min-width: 0; overflow-wrap: anywhere; }
.spk-egp__option-count { align-self: start; color: var(--spk-egp-subtle); font-size: 12px; font-variant-numeric: tabular-nums; }
.spk-egp__agency-search-wrap { padding: .6rem .65rem .35rem; }
.spk-egp__list-search { position: relative; min-width: 0; }
.spk-egp__list-search .spk-egp__choice-search { width: 100%; height: 38px; padding-right: 2.1rem; font-size: 14px; }
.spk-egp__search-clear {
  position: absolute;
  right: .28rem;
  top: 50%;
  width: 30px;
  height: 30px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--spk-egp-muted);
  background: transparent;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  font: inherit;
  font-size: 20px;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-50%);
}
.spk-egp__search-clear.is-visible { opacity: 1; pointer-events: auto; }
.spk-egp__search-clear:hover { color: var(--spk-egp-brand-dark); background: var(--spk-egp-brand-tint); }
.spk-egp__advanced-menu .spk-egp__list-search { margin-bottom: .35rem; }
.spk-egp__facet--agencies .spk-egp__agency-list { max-height: 600px; overflow-y: auto; padding: .05rem 0 .35rem; }

.spk-egp__content { min-width: 0; }
.spk-egp__results-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .8rem 1rem; margin-bottom: .7rem; min-height: 42px; }
.spk-egp__count { margin: 0; color: var(--spk-egp-muted); font-size: 14px; }
.spk-egp__count strong { color: var(--spk-egp-ink); font-size: 15px; font-variant-numeric: tabular-nums; }
.spk-egp__view-options { display: flex; flex-wrap: wrap; align-items: end; justify-content: flex-end; gap: .45rem .6rem; margin: 0; }
.spk-egp__view-options label { display: flex; align-items: center; gap: .35rem; margin: 0; color: var(--spk-egp-muted); font-size: 13.5px; font-weight: 600; white-space: nowrap; }
.spk-egp__view-options select { width: auto; height: 36px; padding: .3rem 1.8rem .3rem .55rem; font-size: 13.5px; }
.spk-egp__view-submit { min-height: 36px; padding: .32rem .7rem; font-size: 13px; }
.spk-egp__view-options.is-js .spk-egp__view-submit { display: none; }
.spk-egp__results { display: grid; gap: .7rem; }
.spk-egp__empty { margin: .75rem 0; padding: 1rem; background: #fff; border: 1px dashed var(--spk-egp-border); border-radius: 8px; font-size: 14px; }

.spk-egp__item {
  position: relative;
  display: block;
  padding: .9rem 1rem;
  overflow-wrap: anywhere;
  background: var(--spk-egp-surface);
  border: 1px solid var(--spk-egp-border);
  border-radius: 9px;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.spk-egp__item:hover { border-color: #afc2c8; box-shadow: 0 5px 16px rgba(7, 39, 49, .06); }
.spk-egp__item-topline {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .6rem 1rem;
  margin-bottom: .45rem;
}
.spk-egp__item-tags { display: flex; flex-wrap: wrap; align-items: center; gap: .35rem .55rem; min-width: 0; }
.spk-egp__type {
  display: inline-flex;
  align-items: center;
  gap: .32rem;
  min-height: 22px;
  padding: 0;
  border: 0;
  background: transparent;
  font-size: 12.5px;
  font-weight: 700;
  line-height: 1.4;
}
.spk-egp__type-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.spk-egp__type--p0 { color: #1f5f99; }
.spk-egp__type--15 { color: #15706a; }
.spk-egp__type--b0 { color: #7250a8; }
.spk-egp__type--d0 { color: #a45b13; }
.spk-egp__type--w0 { color: #2f7a47; }
.spk-egp__type--d1 { color: #b23c3c; }
.spk-egp__type--w1 { color: #963232; }
.spk-egp__type--d2 { color: #976e10; }
.spk-egp__type--w2 { color: #4e579b; }
.spk-egp__method-text {
  display: inline-flex;
  align-items: baseline;
  gap: .1rem;
  color: var(--spk-egp-muted);
  font-size: 12.5px;
  font-weight: 500;
  line-height: 1.45;
}
.spk-egp__method-text strong {
  margin-right: .25rem;
  color: var(--spk-egp-subtle);
  font-size: 11.5px;
  font-weight: 600;
}
.spk-egp__item-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;
  gap: .5rem 1rem;
  margin-top: .58rem;
  padding-top: .52rem;
  border-top: 1px solid #edf1f2;
}
.spk-egp__item-reference {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: .25rem 1.5rem;
  min-width: 0;
}
.spk-egp__project-link {
  color: var(--spk-egp-muted) !important;
  font-size: 12.5px;
  font-weight: 400;
  font-variant-numeric: tabular-nums;
  text-decoration: none !important;
}
.spk-egp__project-link > span {
  margin-right: .22rem;
  color: var(--spk-egp-subtle);
  font-size: 11.5px;
  font-weight: 600;
}
.spk-egp__project-link:hover { color: var(--spk-egp-brand) !important; text-decoration: underline !important; }
.spk-egp .spk-egp__item h3 { margin: 0 0 .42rem; color: var(--spk-egp-brand-deep); font-size: 16px; font-weight: 700; line-height: 1.48; }
.spk-egp__meta { display: flex; flex-wrap: wrap; gap: .2rem .85rem; color: var(--spk-egp-muted); font-size: 13.5px; line-height: 1.5; }
.spk-egp__meta span { display: inline-flex; gap: .25rem; }
.spk-egp__meta strong { color: #657a82; font-weight: 500; }
.spk-egp__detail-link {
  display: inline-flex;
  align-items: center;
  gap: .3rem;
  color: var(--spk-egp-brand) !important;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
}
.spk-egp__external-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.spk-egp__detail-link:hover { color: var(--spk-egp-brand-dark) !important; text-decoration: underline !important; }


.spk-egp__back-to-top {
  position: fixed;
  right: max(18px, calc((100vw - 1280px) / 2 + 18px));
  bottom: 22px;
  z-index: 20;
  min-height: 40px;
  padding: .45rem .75rem;
  color: #fff;
  background: var(--spk-egp-brand-dark);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 7px 22px rgba(7, 39, 49, .2);
  cursor: pointer;
  font: inherit;
  font-size: 13px;
  font-weight: 700;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .16s ease, transform .16s ease;
}
.spk-egp__back-to-top.is-visible { opacity: .95; pointer-events: auto; transform: translateY(0); }
.spk-egp__back-to-top:hover { opacity: 1; }

.spk-egp__pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: .35rem; margin-top: 1.25rem; }
.spk-egp__pagination a { min-width: 38px; min-height: 38px; padding: .35rem .6rem; display: inline-flex; align-items: center; justify-content: center; color: var(--spk-egp-brand); background: #fff; border: 1px solid var(--spk-egp-border); border-radius: 7px; font-size: 13px; text-decoration: none; }
.spk-egp__pagination a:hover { background: var(--spk-egp-brand-tint); border-color: var(--spk-egp-brand); }
.spk-egp__pagination a[aria-current="page"] { color: #fff; background: var(--spk-egp-brand); border-color: var(--spk-egp-brand); }
.spk-egp__page-gap { display: inline-flex; align-items: center; min-height: 38px; color: var(--spk-egp-subtle); font-size: 13px; }

@media (max-width: 980px) {
  .spk-egp__layout { grid-template-columns: 270px minmax(0, 1fr); gap: 1rem; }
  .spk-egp__results-toolbar { align-items: flex-start; flex-direction: column; }
  .spk-egp__view-options { justify-content: flex-start; }
}
@media (max-width: 780px) {
  .spk-egp { margin: .75rem auto 1rem; }
  .spk-egp__layout { grid-template-columns: 1fr; }
  .spk-egp__sidebar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spk-egp__facet--agencies { grid-column: 1 / -1; }
  .spk-egp__facet--agencies .spk-egp__agency-list { max-height: 360px; }
  .spk-egp__back-to-top { right: 14px; bottom: 14px; }
}
@media (max-width: 620px) {
  .spk-egp__item-topline { align-items: stretch; flex-direction: column; gap: .35rem; }
  .spk-egp__item-actions { align-items: flex-start; flex-direction: column; gap: .35rem; }
  .spk-egp__advanced-grid { grid-template-columns: 1fr; }
  .spk-egp__advanced-menu { position: static; margin-top: .35rem; box-shadow: 0 6px 18px rgba(7, 39, 49, .1); }

  .spk-egp__search-row { align-items: stretch; flex-direction: column; }
  .spk-egp__query { flex-basis: auto; min-width: 0; }
  .spk-egp__submit, .spk-egp__clear, .spk-egp__advanced-toggle { justify-content: center; width: 100%; }
  .spk-egp__advanced-toggle { text-align: center; }
  .spk-egp__view-options { width: 100%; align-items: stretch; display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: .45rem; }
  .spk-egp__view-options label { align-items: stretch; flex-direction: column; gap: .2rem; }
  .spk-egp__view-options select { width: 100%; }
  .spk-egp__view-submit { grid-column: 1 / -1; }
}
@media (max-width: 500px) {
  .spk-egp { font-size: 14px; }
  .spk-egp__sidebar { grid-template-columns: 1fr; }
  .spk-egp__facet--agencies { grid-column: auto; }
  .spk-egp__item { padding: .8rem .85rem; }
  .spk-egp__view-options { grid-template-columns: minmax(0, 1.55fr) minmax(0, .9fr); }
  .spk-egp__view-submit { grid-column: 1 / -1; }
}
