@font-face{font-family:KGI-Nunito;src:url(fonts/Nunito-600.woff) format('woff');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:KGI-Nunito;src:url(fonts/Nunito-700.woff) format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:KGI-OpenSans;src:url(fonts/OpenSans-400.woff) format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:KGI-OpenSans;src:url(fonts/OpenSans-600.woff) format('woff');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:KGI-OpenSans;src:url(fonts/OpenSans-700.woff) format('woff');font-style:normal;font-weight:700;font-display:swap}

.kgi-discovery-app {
  --ink:#203646;
  --muted:#596976;
  --brand:#005984;
  --brand-hover:#004869;
  --accent:#ea690b;
  --lime:#b0c700;
  --paper:#fff;
  --soft:#f3f7f8;
  --sand:#fff5e9;
  --line:#dfe6ea;
  --radius:12px;
  --max:1224px;
  background:var(--paper);
  color:var(--ink);
  font:16px/1.52 KGI-OpenSans,Arial,sans-serif;
  min-height:100vh
}

.kgi-discovery-app * {
  box-sizing:border-box
}

.kgi-discovery-app a {
  color:inherit;
  text-decoration:none
}

.kgi-discovery-app button,.kgi-discovery-app input,.kgi-discovery-app select {
  font:inherit
}

.kgi-discovery-app button {
  cursor:pointer
}

.kgi-discovery-app img {
  max-width:100%
}

.kgi-discovery-app h1,.kgi-discovery-app h2,.kgi-discovery-app h3 {
  font-family:KGI-Nunito,Arial,sans-serif;
  line-height:1.15;
  margin:0
}

.kgi-discovery-app h1 {
  font-size:clamp(2.4rem,4.4vw,4rem);
  letter-spacing:-.04em
}

.kgi-discovery-app h2 {
  font-size:clamp(1.55rem,2.8vw,2.15rem);
  letter-spacing:-.025em
}

.kgi-discovery-app h3 {
  font-size:1.15rem
}

.kgi-discovery-app p {
  margin:0
}

.kgi-discovery-app :is(a,button,input,select):focus-visible {
  outline:3px solid var(--accent);
  outline-offset:3px
}

.kgi-discovery-app .kgi-icon {
  width:22px;
  height:22px;
  object-fit:contain;
  display:inline-block;
  vertical-align:middle
}

.kgi-wrap {
  max-width:var(--max);
  margin:0 auto;
  padding-left:28px;
  padding-right:28px
}

.kgi-sr {
  position:absolute;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0)
}

.kgi-skip {
  position:absolute;
  top:-100px;
  left:20px;
  background:var(--brand);
  color:white!important;
  padding:10px;
  z-index:100
}

.kgi-skip:focus {
  top:12px
}

.kgi-note,.kgi-caption {
  color:var(--muted);
  font-size:.9rem
}

.kgi-button {
  min-height:46px;
  border:1px solid var(--line);
  border-radius:9px;
  background:white;
  color:var(--brand)!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:10px 19px;
  font:700 .9rem KGI-Nunito,Arial,sans-serif;
  text-align:center
}

.kgi-button:hover {
  background:var(--soft)
}

.kgi-button.kgi-primary {
  background:var(--brand);
  color:#fff!important;
  border-color:var(--brand)
}

.kgi-button.kgi-primary:hover {
  background:var(--brand-hover)
}

.kgi-text-link {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--brand)!important;
  font-weight:700;
  text-decoration:underline!important;
  text-underline-offset:4px
}

.kgi-text-link .kgi-icon {
  width:17px;
  height:17px
}

.kgi-header {
  background:white;
  border-bottom:1px solid var(--line);
  position:sticky;
  top:0;
  z-index:50
}

.kgi-header-top {
  height:82px;
  display:flex;
  align-items:center;
  gap:34px
}

.kgi-logo {
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--brand)!important;
  font:800 1.16rem/1.08 KGI-Nunito,Arial,sans-serif;
  min-width:232px
}

.kgi-logo>span:last-child span {
  display:block;
  font-weight:600
}

.kgi-logo-icon {
  width:42px;
  height:42px;
  border-radius:10px;
  background:var(--soft);
  display:grid;
  place-items:center
}

.kgi-logo-icon .kgi-icon {
  width:30px;
  height:30px
}

.kgi-search {
  height:46px;
  border:1px solid #bfced7;
  background:#f8fafb;
  border-radius:9px;
  display:flex;
  flex:1;
  max-width:550px;
  padding:4px 4px 4px 15px
}

.kgi-search:focus-within {
  outline:2px solid var(--brand)
}

.kgi-search input {
  border:0;
  outline:0;
  background:transparent;
  min-width:0;
  width:100%;
  color:var(--ink);
  font-size:.9rem
}

.kgi-search button {
  width:40px;
  border:0;
  background:var(--brand);
  border-radius:7px;
  display:grid;
  place-items:center;
  flex-shrink:0
}

.kgi-search button .kgi-icon {
  filter:brightness(0) invert(1)
}

.kgi-saved-link {
  display:flex;
  align-items:center;
  gap:8px;
  margin-left:auto;
  font-size:.9rem;
  font-weight:700;
  white-space:nowrap
}

.kgi-saved-link b,.kgi-bottom b {
  display:inline-grid;
  place-items:center;
  min-width:22px;
  height:22px;
  border-radius:50%;
  background:var(--soft);
  font-size:.72rem
}

.kgi-menu-toggle {
  display:none
}

.kgi-nav {
  height:46px;
  display:flex;
  align-items:center;
  gap:22px;
  font:700 .9rem KGI-Nunito,Arial,sans-serif
}

.kgi-nav-primary {
  display:flex;
  align-items:center;
  gap:30px
}

.kgi-nav a:hover {
  color:var(--brand);
  text-decoration:underline
}

.kgi-price-filter {
  position:relative;
  z-index:2
}

.kgi-price-trigger {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:29px;
  padding:4px 11px;
  border:1px solid #d1e1e8;
  border-radius:999px;
  background:#eef5f7;
  color:var(--brand);
  font-family:KGI-Nunito,Arial,sans-serif!important;
  font-weight:700;
  font-size:.78rem;
  white-space:nowrap
}

.kgi-price-trigger:hover,.kgi-price-filter.is-open .kgi-price-trigger {
  background:#e2f0f4;
  border-color:#abcbd9
}

.kgi-price-trigger .kgi-icon {
  width:15px;
  height:15px
}

.kgi-price-trigger .kgi-icon:last-child {
  width:13px;
  height:13px;
  margin-left:2px;
  transition:transform .15s
}

.kgi-price-filter.is-open .kgi-price-trigger .kgi-icon:last-child {
  transform:rotate(180deg)
}

.kgi-price-menu {
  display:none;
  position:absolute;
  left:0;
  top:calc(100% + 8px);
  min-width:190px;
  padding:6px;
  border:1px solid #d4e2e8;
  border-radius:12px;
  background:#fff;
  box-shadow:0 14px 36px #163e5529
}

.kgi-price-filter.is-open .kgi-price-menu {
  display:flex;
  flex-direction:column
}

.kgi-price-menu a {
  display:block;
  padding:9px 11px;
  border-radius:7px;
  color:var(--ink);
  font-size:.82rem;
  white-space:nowrap
}

.kgi-price-menu a:hover,.kgi-price-menu a:focus-visible,.kgi-price-menu a[aria-current="true"] {
  background:#eef5f7;
  color:var(--brand);
  text-decoration:none
}

.kgi-nav-note {
  margin-left:auto;
  font:400 .72rem KGI-OpenSans,Arial,sans-serif;
  color:var(--muted)
}

.kgi-hero {
  background:#f8fafb;
  border-bottom:1px solid var(--line);
  padding:54px 0
}

.kgi-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(250px,.75fr);
  gap:80px;
  align-items:center
}

.kgi-hero h1 {
  max-width:750px;
  color:var(--brand)
}

.kgi-hero p {
  font-size:1.08rem;
  max-width:670px;
  color:var(--muted);
  margin-top:19px
}

.kgi-hero-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:29px
}

.kgi-hero-aside {
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  padding:30px;
  box-shadow:0 16px 42px #1232460c
}

.kgi-hero-aside .kgi-aside-icon {
  width:54px;
  height:54px;
  border-radius:13px;
  background:#e8f3f7;
  display:grid;
  place-items:center;
  margin-bottom:18px
}

.kgi-hero-aside .kgi-icon {
  width:32px;
  height:32px
}

.kgi-hero-aside strong {
  font:800 1.25rem KGI-Nunito,Arial,sans-serif
}

.kgi-hero-aside p {
  font-size:.9rem;
  margin-top:9px
}

.kgi-hero-byline {
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:18px;
  color:var(--brand);
  font:700 .84rem KGI-Nunito,Arial,sans-serif
}

.kgi-hero-byline .kgi-icon { width:18px; height:18px }

.kgi-hero-search {
  display:flex;
  align-items:center;
  gap:14px;
  max-width:690px;
  margin:32px 0 26px;
  padding:7px 7px 7px 20px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:0 10px 30px #12324612
}

.kgi-hero-search>.kgi-icon { width:21px; height:21px; flex:none }
.kgi-hero-search input {
  flex:1;
  min-width:0;
  border:0;
  outline:0;
  font:500 1rem KGI-OpenSans,Arial,sans-serif
}
.kgi-hero-search button {
  border:0;
  border-radius:8px;
  padding:13px 24px;
  color:#fff;
  background:var(--brand);
  font:800 .9rem KGI-Nunito,Arial,sans-serif;
  cursor:pointer
}
.kgi-hero-search:focus-within { outline:2px solid var(--brand); outline-offset:2px }

.kgi-hero-finder {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto;
  gap:16px;
  align-items:end;
  padding:22px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px;
  box-shadow:0 14px 36px #12324610
}
.kgi-hero-finder label {
  display:grid;
  gap:8px;
  color:var(--brand);
  font:800 .85rem KGI-Nunito,Arial,sans-serif
}
.kgi-hero-finder select {
  width:100%;
  min-height:46px;
  border:1px solid var(--line);
  border-radius:8px;
  padding:0 12px;
  background:#fff;
  color:var(--ink)
}
.kgi-hero-finder .kgi-button { min-height:46px; white-space:nowrap }
.kgi-hero-foot { margin:15px 0 0!important; font-size:.83rem!important }

.kgi-newsletter {
  padding:48px 0;
  background:var(--sand);
  border-top:1px solid var(--line)
}
.kgi-newsletter-grid {
  display:grid;
  grid-template-columns:1fr minmax(300px,.8fr);
  gap:60px;
  align-items:center
}
.kgi-newsletter h2 { margin:10px 0; color:var(--brand) }
.kgi-newsletter p { color:var(--muted) }
.kgi-newsletter form label { display:block; margin-bottom:8px; font-weight:700 }
.kgi-newsletter form>div { display:flex; gap:8px }
.kgi-newsletter input {
  min-width:0;
  flex:1;
  min-height:46px;
  padding:0 12px;
  border:1px solid var(--line);
  border-radius:8px
}
.kgi-newsletter [role=status] { margin-top:8px; font-size:.84rem }

.kgi-section {
  padding-top:50px;
  padding-bottom:54px
}

.kgi-section-head {
  display:flex;
  justify-content:space-between;
  align-items:end;
  margin-bottom:25px
}

.kgi-section-head p {
  margin-top:8px;
  color:var(--muted)
}

.kgi-discovery-tabs {
  display:flex;
  gap:8px;
  border-bottom:1px solid var(--line);
  margin-bottom:22px
}

.kgi-discovery-tabs button {
  border:0;
  border-bottom:3px solid transparent;
  background:transparent;
  padding:13px 20px;
  color:var(--muted);
  font-weight:700
}

.kgi-discovery-tabs button[aria-selected=true] {
  border-color:var(--brand);
  color:var(--brand)
}

.kgi-tiles {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px
}

.kgi-tiles a {
  min-height:105px;
  display:flex;
  align-items:center;
  gap:13px;
  border:1px solid var(--line);
  border-radius:10px;
  padding:16px;
  background:white
}

.kgi-tiles a:hover {
  border-color:var(--brand);
  box-shadow:0 8px 20px #16425b13
}

.kgi-tiles strong {
  flex:1;
  font:800 1rem KGI-Nunito,Arial,sans-serif
}

.kgi-tiles a>.kgi-icon {
  width:18px;
  height:18px
}

.kgi-tile-icon {
  width:44px;
  height:44px;
  background:var(--soft);
  border-radius:10px;
  display:grid;
  place-items:center;
  flex-shrink:0
}

.kgi-caption {
  margin-top:18px
}

.kgi-soft {
  background:var(--soft)
}

.kgi-carousel {
  display:flex;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scrollbar-width:thin;
  padding:0 2px 18px
}

.kgi-carousel .kgi-card {
  flex:0 0 calc(25% - 12px);
  scroll-snap-align:start
}

.kgi-carousel-controls {
  display:flex;
  gap:8px;
  justify-content:flex-end;
  margin:-55px 0 21px
}

.kgi-carousel-controls button {
  width:40px;
  height:40px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:8px
}

.kgi-soft .kgi-text-link {
  margin-top:8px
}

.kgi-steps {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px
}

.kgi-steps article {
  padding:24px;
  border:1px solid var(--line);
  border-radius:10px
}

.kgi-steps b {
  display:grid;
  place-items:center;
  background:var(--brand);
  color:white;
  border-radius:50%;
  width:32px;
  height:32px;
  margin-bottom:17px
}

.kgi-steps h3 {
  margin-bottom:9px
}

.kgi-steps p {
  color:var(--muted)
}

.kgi-page {
  padding-top:25px;
  padding-bottom:76px
}

.kgi-crumbs {
  font-size:.8rem;
  color:var(--muted);
  margin-bottom:34px
}

.kgi-crumbs a {
  text-decoration:underline
}

.kgi-page-heading {
  margin-bottom:28px
}

.kgi-page-heading h1 {
  color:var(--brand);
  font-size:clamp(2.2rem,4vw,3.1rem)
}

.kgi-page-heading p {
  color:var(--muted);
  max-width:790px;
  margin-top:11px
}

.kgi-filter-form {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  align-items:end;
  padding:22px;
  background:var(--soft);
  border:1px solid var(--line);
  border-radius:12px;
  margin-bottom:27px
}

.kgi-filter-form label {
  font-size:.8rem;
  font-weight:700;
  color:var(--ink)
}

.kgi-filter-form select,.kgi-filter-form input {
  display:block;
  width:100%;
  height:46px;
  margin-top:7px;
  padding:0 12px;
  border:1px solid #b9c8d1;
  border-radius:8px;
  background:#fff;
  color:var(--ink);
  font-size:.9rem
}

.kgi-filter-form .kgi-wide {
  grid-column:span 2
}

.kgi-filter-form button {
  width:100%
}

.kgi-result-bar {
  display:flex;
  justify-content:space-between;
  color:var(--muted);
  font-size:.88rem;
  margin-bottom:18px
}

.kgi-result-bar strong {
  color:var(--ink)
}

.kgi-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px
}

.kgi-card {
  position:relative;
  background:white;
  border:1px solid var(--line);
  border-radius:11px;
  overflow:hidden;
  min-width:0;
  box-shadow:0 4px 15px #173d5210
}

.kgi-card:hover {
  box-shadow:0 14px 31px #173d521b
}

.kgi-card-media {
  display:grid;
  place-items:center;
  aspect-ratio:1.23;
  background:#ecf3f5;
  overflow:hidden
}

.kgi-card-media img {
  width:100%;
  height:100%;
  object-fit:cover
}

.kgi-product-placeholder .kgi-icon {
  width:64px;
  height:64px;
  opacity:.5
}

.kgi-save {
  position:absolute;
  right:10px;
  top:10px;
  background:white;
  border:1px solid var(--line);
  border-radius:50%;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  box-shadow:0 3px 11px #132f441f
}

.kgi-save.is-saved {
  background:#fff0e5;
  border-color:var(--accent)
}

.kgi-card-body {
  padding:17px
}

.kgi-card-meta {
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--brand);
  font-weight:700;
  margin-bottom:8px!important
}

.kgi-card h3 {
  min-height:2.5em
}

.kgi-card h3 a:hover {
  text-decoration:underline
}

.kgi-card-claim {
  font-size:.87rem;
  color:var(--muted);
  min-height:3.2em;
  margin-top:10px!important
}

.kgi-card-meta {
  border-top:1px solid var(--line);
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:8px;
  margin-top:18px;
  padding-top:13px;
  font-size:.79rem
}

.kgi-card-meta span {
  color:var(--muted)
}

.kgi-card-meta strong {
  white-space:nowrap;
  color:var(--brand);
  font-size:.9rem
}

.kgi-empty {
  text-align:center;
  max-width:570px;
  margin:36px auto 60px;
  padding:40px 25px;
  border:1px solid var(--line);
  border-radius:12px;
  background:var(--soft)
}

.kgi-empty-icon {
  display:inline-grid;
  place-items:center;
  width:62px;
  height:62px;
  background:white;
  border-radius:50%;
  margin-bottom:17px
}

.kgi-empty-icon .kgi-icon {
  width:34px;
  height:34px
}

.kgi-empty p {
  color:var(--muted);
  margin:12px 0 22px
}

.kgi-pagination {
  display:flex;
  gap:8px;
  justify-content:center;
  margin-top:32px
}

.kgi-pagination a {
  padding:8px 13px;
  border:1px solid var(--line);
  border-radius:6px
}

.kgi-pagination a[aria-current=page] {
  background:var(--brand);
  color:white
}

.kgi-finder-results {
  margin-top:35px
}

.kgi-saved-actions {
  display:flex;
  align-items:center;
  gap:15px;
  margin:0 0 25px
}

.kgi-saved-actions span {
  color:var(--muted)
}

.kgi-compare-toggle {
  display:flex;
  gap:8px;
  align-items:center;
  padding:13px;
  border:1px solid var(--line);
  border-top:0;
  border-radius:0 0 10px 10px;
  font-size:.84rem
}

.kgi-saved-item .kgi-card {
  border-radius:10px 10px 0 0
}

.kgi-detail-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:50px;
  margin:40px 0
}

.kgi-detail-media {
  min-height:400px;
  background:var(--soft);
  border-radius:12px;
  display:grid;
  place-items:center;
  overflow:hidden
}

.kgi-detail-media img {
  width:100%;
  height:100%;
  object-fit:cover
}

.kgi-detail-media>.kgi-icon {
  width:96px;
  height:96px
}

.kgi-detail-grid h1 {
  color:var(--brand);
  font-size:clamp(2.2rem,4vw,3.3rem)
}

.kgi-detail-grid p {
  margin-top:18px
}

.kgi-lead {
  font-size:1.1rem;
  color:var(--muted)
}

.kgi-caveat {
  background:var(--sand);
  border-left:4px solid var(--accent);
  padding:15px;
  margin:22px 0
}

.kgi-caveat p {
  margin-top:5px
}

.kgi-detail-copy {
  max-width:760px
}

.kgi-compare-scroll {
  overflow-x:auto
}

.kgi-compare {
  width:100%;
  border-collapse:collapse;
  min-width:670px
}

.kgi-compare th,.kgi-compare td {
  border:1px solid var(--line);
  padding:15px;
  text-align:left;
  vertical-align:top
}

.kgi-compare thead th {
  background:var(--soft);
  min-width:170px
}

.kgi-compare thead img {
  display:block;
  width:110px;
  height:85px;
  object-fit:cover;
  margin-bottom:12px
}

.kgi-compare tbody th {
  background:#f8fafb
}

.kgi-page>.kgi-note {
  margin-top:17px
}

.kgi-loading {
  text-align:center;
  padding:120px 20px;
  color:var(--muted)
}

.kgi-footer {
  background:#eaf1f4;
  border-top:1px solid var(--line);
  padding:48px 0;
  color:var(--ink)
}

.kgi-footer-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr 1.4fr;
  gap:40px
}

.kgi-footer strong {
  display:block;
  font:800 1.05rem KGI-Nunito,Arial,sans-serif;
  margin-bottom:12px
}

.kgi-footer p,.kgi-footer a {
  font-size:.87rem;
  color:var(--muted)
}

.kgi-footer a {
  display:block;
  margin:7px 0
}

.kgi-bottom {
  display:none
}

@media(max-width:1050px) {
  .kgi-wrap {
    padding-left:24px;
    padding-right:24px
  }
  .kgi-header-top {
    gap:18px
  }
  .kgi-logo {
    min-width:200px
  }
  .kgi-nav {
    gap:19px
  }
  .kgi-nav-primary {
    gap:19px
  }
  .kgi-hero-grid {
    gap:35px
  }
  .kgi-grid,.kgi-tiles {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
  .kgi-carousel .kgi-card {
    flex-basis:calc(33.333% - 11px)
  }
}

@media(max-width:834px) {
  .kgi-header-top {
    height:72px
  }
  .kgi-logo {
    min-width:0
  }
  .kgi-search {
    max-width:none
  }
  .kgi-saved-link span {
    display:none
  }
  .kgi-nav-note {
    display:none
  }
  .kgi-hero-grid {
    grid-template-columns:1fr
  }
  .kgi-hero-finder {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .kgi-newsletter-grid { grid-template-columns:1fr; gap:22px }
  .kgi-hero-aside {
    max-width:520px
  }
  .kgi-grid,.kgi-tiles {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .kgi-carousel .kgi-card {
    flex-basis:calc(50% - 8px)
  }
  .kgi-filter-form {
    grid-template-columns:repeat(2,1fr)
  }
  .kgi-filter-form .kgi-wide {
    grid-column:span 2
  }
  .kgi-detail-grid {
    gap:25px
  }
  .kgi-steps {
    gap:10px
  }
  .kgi-footer-grid {
    gap:20px
  }
}

@media(max-width:600px) {
  .kgi-discovery-app {
    padding-bottom:70px
  }
  .kgi-wrap {
    padding-left:18px;
    padding-right:18px
  }
  .kgi-header-top {
    height:64px;
    gap:8px
  }
  .kgi-logo {
    font-size:1rem;
    flex:1
  }
  .kgi-logo-icon {
    width:34px;
    height:34px
  }
  .kgi-logo-icon .kgi-icon {
    width:25px;
    height:25px
  }
  .kgi-search {
    display:none
  }
  .kgi-saved-link {
    display:none
  }
  .kgi-menu-toggle {
    display:grid;
    place-items:center;
    background:white;
    border:0;
    width:40px;
    height:40px
  }
  .kgi-nav {
    display:none;
    height:auto;
    padding-top:8px;
    padding-bottom:16px;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }
  .kgi-nav.is-open {
    display:flex
  }
  .kgi-nav-primary {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:0
  }
  .kgi-nav-primary a {
    padding:12px;
    border-bottom:1px solid var(--line)
  }
  .kgi-price-filter {
    align-self:flex-start;
    margin:12px 0 0 12px
  }
  .kgi-price-trigger {
    padding:7px 12px
  }
  .kgi-price-menu {
    position:static;
    min-width:210px;
    margin-top:8px;
    box-shadow:0 7px 20px #163e5519
  }
  .kgi-hero {
    padding:40px 0
  }
  .kgi-hero h1 {
    font-size:2.45rem
  }
  .kgi-hero p {
    font-size:1rem
  }
  .kgi-hero-aside {
    padding:20px
  }
  .kgi-hero-actions {
    align-items:stretch
  }
  .kgi-hero-actions .kgi-button {
    width:100%
  }
  .kgi-hero-search { margin:24px 0 18px; gap:8px; padding-left:12px }
  .kgi-hero-search button { padding:12px 14px }
  .kgi-hero-finder { grid-template-columns:1fr; gap:13px; padding:17px }
  .kgi-hero-finder .kgi-button { width:100% }
  .kgi-newsletter form>div { flex-direction:column }
  .kgi-section {
    padding-top:37px;
    padding-bottom:40px
  }
  .kgi-section-head {
    margin-bottom:20px
  }
  .kgi-tiles,.kgi-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px
  }
  .kgi-tiles a {
    min-height:112px;
    padding:12px;
    flex-direction:column;
    align-items:flex-start;
    gap:6px;
    position:relative
  }
  .kgi-tiles a>.kgi-icon {
    position:absolute;
    right:10px;
    bottom:10px
  }
  .kgi-tile-icon {
    width:36px;
    height:36px
  }
  .kgi-tile-icon .kgi-icon {
    width:21px;
    height:21px
  }
  .kgi-tiles strong {
    font-size:.87rem;
    padding-right:18px
  }
  .kgi-discovery-tabs button {
    flex:1;
    padding:11px 7px;
    font-size:.86rem
  }
  .kgi-carousel .kgi-card {
    flex-basis:74%
  }
  .kgi-carousel-controls {
    margin:-54px 0 20px
  }
  .kgi-steps {
    grid-template-columns:1fr
  }
  .kgi-page {
    padding-top:20px
  }
  .kgi-crumbs {
    margin-bottom:25px
  }
  .kgi-page-heading h1 {
    font-size:2.1rem
  }
  .kgi-filter-form {
    padding:14px;
    gap:11px
  }
  .kgi-filter-form label {
    font-size:.72rem
  }
  .kgi-filter-form select,.kgi-filter-form input {
    font-size:.82rem;
    padding:0 8px
  }
  .kgi-filter-form button {
    grid-column:span 2
  }
  .kgi-card-media {
    aspect-ratio:1.12
  }
  .kgi-card-body {
    padding:11px
  }
  .kgi-card h3 {
    font-size:.95rem
  }
  .kgi-card-meta {
    font-size:.65rem
  }
  .kgi-card-claim {
    font-size:.76rem;
    min-height:3.6em
  }
  .kgi-card-meta {
    display:block;
    font-size:.72rem;
    margin-top:12px
  }
  .kgi-card-meta strong {
    display:block;
    margin-top:5px
  }
  .kgi-save {
    width:33px;
    height:33px;
    right:6px;
    top:6px
  }
  .kgi-save .kgi-icon {
    width:19px;
    height:19px
  }
  .kgi-detail-grid {
    grid-template-columns:1fr;
    margin:25px 0
  }
  .kgi-detail-media {
    min-height:290px
  }
  .kgi-footer {
    padding:35px 0
  }
  .kgi-footer-grid {
    grid-template-columns:1fr;
    gap:20px
  }
  .kgi-bottom {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    position:fixed;
    bottom:0;
    left:0;
    right:0;
    height:68px;
    background:white;
    border-top:1px solid var(--line);
    z-index:60;
    padding-bottom:env(safe-area-inset-bottom)
  }
  .kgi-bottom a {
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:2px;
    font:700 .67rem KGI-Nunito,Arial,sans-serif
  }
  .kgi-bottom .kgi-icon {
    width:24px;
    height:24px
  }
  .kgi-bottom b {
    display:inline;
    font-size:.6rem;
    padding:2px 5px
  }
}

@media(max-width:380px) {
  .kgi-wrap {
    padding-left:14px;
    padding-right:14px
  }
  .kgi-hero h1 {
    font-size:2.2rem
  }
  .kgi-card-body {
    padding:9px
  }
  .kgi-card h3 {
    font-size:.88rem
  }
  .kgi-grid {
    gap:8px
  }
}

@media(prefers-reduced-motion:reduce) {
  .kgi-discovery-app * {
    scroll-behavior:auto!important;
    transition:none!important
  }
}

body:has(> .kgi-discovery-app) {
  margin: 0;
}

/* Prototype v12 header, editorial sections and footer. */
.kgi-logo{min-width:0;flex:none;width:250px;line-height:0}
.kgi-logo img{display:block;width:100%;height:auto;max-height:45px;object-fit:contain;object-position:left center}
.kgi-search{border-radius:999px;align-items:center;gap:11px;padding:0 4px 0 17px;background:#f8fafb;height:44px}
.kgi-search>.kgi-icon{width:20px;height:20px;flex:none}
.kgi-search button{height:38px;width:41px;border-radius:999px}
.kgi-search-open{display:none;border:0;background:none;width:42px;height:42px;place-items:center}
.kgi-saved-link{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:999px}
.kgi-search-suggestions{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:-8px 0 25px;color:var(--muted);font-size:.8rem}
.kgi-search-suggestions a,.kgi-quick-links a{border:1px solid var(--line);border-radius:999px;padding:5px 11px;background:white;color:var(--brand);font-weight:700}
.kgi-curation-note{display:flex;gap:9px;align-items:center;margin-top:20px!important;padding:15px 18px;background:#fff;border:1px solid var(--line);border-radius:8px;color:var(--muted);font-size:.85rem}
.kgi-curation-note .kgi-icon{width:20px;height:20px;flex:none}
.kgi-guide-section{background:#f2f5f6;border-block:1px solid var(--line);padding:46px 0 54px}
.kgi-guide-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}
.kgi-guide{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:11px;padding:22px;min-width:0}
.kgi-guide:hover{border-color:#9ab7c8;box-shadow:0 10px 22px #12324614}
.kgi-guide-icon{width:43px;height:43px;flex:none;display:grid;place-items:center;border-radius:9px;background:var(--sand)}
.kgi-guide-icon .kgi-icon{width:25px;height:25px}
.kgi-guide strong{display:block;font:800 1.04rem KGI-Nunito,Arial,sans-serif;margin-bottom:7px}
.kgi-guide small{display:block;color:var(--muted);line-height:1.5}
.kgi-guide em{display:inline-flex;align-items:center;gap:7px;margin-top:12px;color:var(--brand);font-style:normal;font-size:.78rem;font-weight:700}
.kgi-guide em .kgi-icon{width:16px;height:16px}
.kgi-trust{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px;border-top:1px solid var(--line);padding-top:33px;padding-bottom:35px}
.kgi-trust>div{display:flex;gap:12px;align-items:flex-start}
.kgi-trust .kgi-icon{width:23px;height:23px;flex:none}
.kgi-trust strong{display:block;font:800 .95rem KGI-Nunito,Arial,sans-serif}
.kgi-trust small{display:block;color:var(--muted);line-height:1.5;margin-top:6px}
.kgi-trust-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:50px;padding-top:40px;padding-bottom:40px}
.kgi-trust-cards>div{min-width:0;background:#fff;border:1px solid #dce5e8;border-radius:12px;padding:22px}
.kgi-trust-cards .kgi-icon{width:23px;height:23px;display:block;margin-bottom:10px}
.kgi-trust-cards strong{display:block;font:800 .95rem KGI-Nunito,Arial,sans-serif}
.kgi-trust-cards p{margin:9px 0 0;color:var(--muted);font-size:.88rem;line-height:1.55}
.kgi-highlights{padding:38px 0 62px;background:#f6f7f2;border-top:1px solid var(--line)}
.kgi-highlights-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}
.kgi-highlights-head p{color:var(--muted);font-size:15px;margin-top:8px}
.kgi-highlights-head>div:last-child{display:flex;gap:9px;flex:none}
.kgi-highlights-head button{width:46px;height:46px;background:#fff;border:1px solid #b8c9bd;border-radius:50%;color:var(--brand)}
.kgi-highlight-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;scroll-behavior:smooth;padding:5px 2px 30px}
.kgi-highlight-rail::-webkit-scrollbar{display:none}
.kgi-highlight{flex:0 0 calc((100% - 32px)/3);min-width:0;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:13px;background:#fff;color:inherit;scroll-snap-align:start}
.kgi-highlight img{width:100%;aspect-ratio:1.7;object-fit:cover;display:block}
.kgi-highlight-copy{padding:17px 18px 19px;display:flex;flex-direction:column;gap:8px;flex:1}
.kgi-highlight small,.kgi-highlight strong,.kgi-highlight em{display:block}
.kgi-highlight small{text-transform:uppercase;font-size:12px;font-weight:700;letter-spacing:.06em;color:var(--brand)}
.kgi-highlight strong{font:800 18px/1.28 KGI-Nunito,Arial,sans-serif}
.kgi-highlight em{margin-top:auto;padding-top:7px;color:var(--brand);font-style:normal;font-size:14px;font-weight:700}
.kgi-highlight-status{font-size:13px;color:var(--muted);margin:13px 0 0}
.kgi-article{max-width:850px}
.kgi-article h1{margin:0 0 28px;color:var(--brand)}
.kgi-article h2{margin:24px 0 10px}
.kgi-article p{color:var(--muted);margin:0 0 18px}
.kgi-article-intro{font-size:1.1rem}
.kgi-article-content h2{margin:24px 0 10px}
.kgi-article-panel{padding:22px;background:var(--soft);border-radius:12px;margin-top:26px}
.kgi-article-panel strong{display:block;margin-bottom:8px}
.kgi-article-panel .kgi-button{margin-top:5px}
.kgi-footer{background:#fff;padding:0;border-top:1px solid var(--line)}
.kgi-footer-newsletter{display:grid;grid-template-columns:1fr .85fr;gap:65px;align-items:center;padding:38px 0;border-bottom:1px solid var(--line)}
.kgi-footer-newsletter h2{margin:0 0 11px;color:var(--brand)}
.kgi-footer-newsletter p{color:var(--muted)}
.kgi-footer-newsletter label{display:block;font-size:.83rem;font-weight:700;margin-bottom:8px}
.kgi-newsletter-entry{display:flex;border:1px solid #b8cbd5;border-radius:9px;overflow:hidden;min-height:47px}
.kgi-newsletter-entry input{flex:1;min-width:0;padding:0 13px;border:0;background:white}
.kgi-newsletter-entry button{padding:0 16px;border:0;background:var(--brand);color:#fff;font-weight:700}
.kgi-footer-newsletter .kgi-newsletter-note,.kgi-footer-newsletter [role=status]{margin-top:8px;font-size:.74rem}
.kgi-footer-grid{grid-template-columns:2fr repeat(3,1fr);gap:35px;padding:38px 0 32px}
.kgi-footer-brand img{display:block;width:245px;height:auto;max-width:100%;margin:0 0 12px}
.kgi-footer-brand p{max-width:320px;line-height:1.6}
.kgi-footer-brand span{display:block;margin-top:14px;color:var(--muted);font-size:.78rem}
.kgi-footer-grid nav strong{font-size:.91rem}
.kgi-footer-grid nav a,.kgi-footer-grid nav button,.kgi-footer-grid nav .kgi-footer-placeholder{display:block;margin:10px 0;padding:0;border:0;background:none;color:var(--muted);font-size:.83rem;text-align:left}
.kgi-footer-grid nav a:hover,.kgi-footer-grid nav button:hover{text-decoration:underline;color:var(--brand)}
.kgi-footer-bottom{display:flex;gap:25px;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0 25px;color:var(--muted);font-size:.75rem}
.kgi-dialog{width:min(620px,calc(100vw - 26px));max-height:calc(100dvh - 30px);padding:0;border:0;border-radius:15px;color:var(--ink);box-shadow:0 25px 70px #102d3b52}
.kgi-dialog::backdrop{background:#102d3b85;backdrop-filter:blur(2px)}
.kgi-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:18px 23px;border-bottom:1px solid var(--line)}
.kgi-dialog-head h2{font-size:1.3rem}
.kgi-dialog-head button{width:38px;height:38px;border:0;background:none;font-size:1.8rem}
.kgi-dialog-body{padding:20px 23px 25px}
.kgi-dialog-body form{display:flex;gap:8px}
.kgi-dialog-body input{flex:1;min-width:0;padding:0 13px;border:1px solid var(--line);border-radius:8px}
.kgi-dialog-body>p{margin:22px 0 12px;color:var(--muted)}
.kgi-quick-links{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:1050px){.kgi-logo{width:210px}.kgi-footer-grid{gap:18px}}
@media(max-width:834px){.kgi-logo{width:190px}.kgi-guide-grid{grid-template-columns:1fr}.kgi-guide{align-items:center}.kgi-trust{gap:15px}.kgi-trust-cards{gap:20px}.kgi-highlight{flex-basis:calc((100% - 16px)/2)}.kgi-footer-newsletter{gap:25px}.kgi-footer-grid{grid-template-columns:1.5fr repeat(3,1fr)}}
@media(max-width:600px){.kgi-header-top{height:66px;gap:7px}.kgi-logo{width:min(52vw,205px);flex:1}.kgi-search-open{display:grid}.kgi-saved-link{display:flex;min-width:38px;width:38px;height:38px;padding:0;justify-content:center;border:0;margin-left:0}.kgi-saved-link span{display:none}.kgi-saved-link b{position:absolute;transform:translate(13px,-13px);min-width:16px;width:16px;height:16px;font-size:.58rem}.kgi-search-suggestions{margin-top:-6px}.kgi-guide-section{padding:32px 0}.kgi-guide{padding:17px}.kgi-trust{grid-template-columns:1fr;gap:20px}.kgi-trust-cards{grid-template-columns:1fr;gap:20px;padding:29px 20px}.kgi-trust-cards>div{padding:18px}.kgi-highlight{flex-basis:82%}.kgi-highlights{padding:30px 0 45px}.kgi-highlights-head{align-items:center}.kgi-highlights-head p{font-size:13px}.kgi-highlights-head button{width:42px;height:42px}.kgi-footer-newsletter{grid-template-columns:1fr;padding:30px 0;gap:18px}.kgi-footer-grid{grid-template-columns:repeat(2,1fr);gap:24px;padding:30px 0}.kgi-footer-brand{grid-column:1/-1}.kgi-footer-bottom{flex-direction:column;gap:8px}.kgi-bottom a,.kgi-bottom button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:white;border:0;font:700 .67rem KGI-Nunito,Arial,sans-serif}.kgi-bottom button .kgi-icon{width:24px;height:24px}.kgi-dialog-body form{flex-direction:column}.kgi-dialog-body input{min-height:45px}.kgi-dialog-body .kgi-button{width:100%}}
.kgi-detail-tags{display:flex;gap:7px;flex-wrap:wrap;margin:20px 0}
.kgi-detail-tags :is(span,a){padding:6px 9px;border-radius:5px;background:var(--soft);font-size:.76rem}
.kgi-catalog-layout{display:grid;grid-template-columns:225px minmax(0,1fr);gap:30px;align-items:start}
.kgi-catalog-layout .kgi-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.kgi-filter-sidebar{position:sticky;top:148px;display:block;background:white;border:1px solid var(--line);padding:19px;margin:0;border-radius:11px}
.kgi-filter-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:17px}
.kgi-filter-head strong{font:800 .95rem KGI-Nunito,Arial,sans-serif}
.kgi-filter-head a{font-size:.73rem;text-decoration:underline!important;color:var(--muted)}
.kgi-filter-sidebar fieldset{border:0;padding:0;margin:0 0 19px;min-width:0}
.kgi-filter-sidebar legend{font-size:.78rem;font-weight:800;margin-bottom:8px}
.kgi-filter-sidebar select,.kgi-filter-sidebar input[type=search]{width:100%;height:44px;margin:0;font-size:.85rem}
.kgi-filter-sidebar .kgi-check{display:flex;align-items:center;gap:9px;min-height:36px;font-size:.8rem;font-weight:500;color:var(--ink)}
.kgi-filter-sidebar .kgi-check input{width:17px;height:17px;margin:0;accent-color:var(--brand)}
.kgi-filter-sidebar .kgi-button{width:100%}
.kgi-filter-help{border-top:1px solid var(--line);padding-top:12px;margin-top:15px!important;font-size:.71rem;color:var(--muted)}
.kgi-catalog-toolbar{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:17px;font-size:.85rem}
.kgi-catalog-toolbar label{display:flex;align-items:center;gap:8px;margin-left:auto}
.kgi-catalog-toolbar select{min-height:43px;padding:0 11px;border:1px solid var(--line);border-radius:7px;background:white;max-width:215px}
.kgi-catalog-toolbar button{display:none;align-items:center;gap:7px;border:1px solid var(--line);border-radius:7px;background:white;padding:8px 11px}
.kgi-catalog-toolbar button .kgi-icon{width:19px;height:19px}
.kgi-filter-chips{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 17px}
.kgi-filter-chips button{border:1px solid #c6d9e0;background:var(--soft);border-radius:6px;padding:5px 8px;font-size:.75rem}
.kgi-active-budget{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-top:18px}
.kgi-active-budget>span{font-size:.8rem;font-weight:700;color:var(--muted)}
.kgi-active-budget button{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:5px 11px;border:1px solid #c8dde6;border-radius:999px;background:#eaf4f7;color:var(--brand);font-size:.8rem;font-weight:700}
.kgi-active-budget button:hover{background:#dceef4}
.kgi-active-budget .kgi-icon{width:16px;height:16px}
.kgi-filter-dialog{margin:12px 12px 12px auto;max-width:440px;max-height:calc(100dvh - 24px)}
.kgi-filter-dialog .kgi-dialog-body{max-height:calc(100dvh - 90px);overflow:auto}
.kgi-filter-dialog .kgi-filter-sidebar{border:0;padding:0;position:static}
@media(max-width:1050px){.kgi-catalog-layout{grid-template-columns:195px minmax(0,1fr);gap:20px}.kgi-catalog-layout .kgi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.kgi-catalog-layout{display:block}.kgi-desktop-filters{display:none}.kgi-catalog-toolbar{display:grid;grid-template-columns:1fr auto;gap:10px}.kgi-catalog-toolbar strong{grid-column:1/-1}.kgi-catalog-toolbar button{display:inline-flex;grid-column:1;justify-self:start}.kgi-catalog-toolbar label{grid-column:2;margin-left:0}.kgi-catalog-toolbar select{max-width:180px}.kgi-catalog-layout .kgi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.kgi-button:disabled{opacity:.5;cursor:default}
.kgi-compare-help{color:var(--muted);font-size:.85rem;margin:0 0 16px!important}
.kgi-dialog-body #kgi-dialog-search{display:flex;gap:8px}
.kgi-filter-dialog .kgi-filter-sidebar{display:block;width:100%}
.kgi-filter-dialog .kgi-filter-sidebar fieldset{width:100%}
.kgi-filter-dialog .kgi-check{width:100%}
.kgi-filter-dialog .kgi-check input[type=checkbox]{flex:0 0 17px!important;width:17px!important;height:17px!important;min-height:17px!important;margin:0!important;padding:0!important}
@media(max-width:600px){.kgi-dialog-body #kgi-dialog-search{flex-direction:column}}
@media(min-width:761px) and (max-width:834px){.kgi-hero-grid{grid-template-columns:1.08fr .92fr;gap:26px}.kgi-hero h1{font-size:2.7rem}.kgi-hero p{margin-top:0;font-size:1rem}.kgi-hero-finder{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:9px;padding:16px}.kgi-hero-finder label{font-size:.74rem}.kgi-hero-finder .kgi-button{padding-inline:10px;font-size:.78rem}}

/* KGI controls replace the parent theme's mouse :focus outline; keyboard focus remains explicit. */
.kgi-discovery-app :is(a,button,input,select,textarea,[tabindex]):focus:not(:focus-visible){outline:none}
.kgi-discovery-app :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #005984;outline-offset:4px}
.kgi-discovery-app a:not([class]),.kgi-footer :is(a,button){border-radius:5px}
.kgi-dialog-head{gap:16px}
.kgi-dialog-head h2{margin:0;min-width:0}
.kgi-dialog-head button{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;padding:0;border:1px solid #cbdce3;border-radius:50%;background:#f1f6f8;color:#005984;cursor:pointer;transition:background-color .15s,border-color .15s,box-shadow .15s}
.kgi-dialog-head button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
@media(hover:hover){.kgi-dialog-head button:hover{background:#e1eef3;border-color:#88afc0;box-shadow:0 2px 7px #123f591a}}
.kgi-dialog-head button:active{background:#d5e7ef}
.kgi-dialog-head button:focus-visible{outline:3px solid #005984;outline-offset:4px}
@media(max-width:600px){.kgi-dialog-head{padding:16px;gap:12px}.kgi-dialog-body{padding:18px 16px 22px}.kgi-dialog-head h2{font-size:1.3rem}}
@media(prefers-reduced-motion:reduce){.kgi-dialog-head button{transition:none}}

/* Legacy editorial breadcrumbs share the text-page gutter without browser list margins. */
main.kgi-editorial-page .breadcrumb{margin:0 0 14px}
main.kgi-editorial-page .breadcrumb ol{display:flex;flex-wrap:wrap;gap:6px 10px;list-style:none;margin:0;padding:0}
main.kgi-editorial-page .breadcrumb li{display:inline-flex;align-items:baseline;gap:10px;margin:0}
main.kgi-editorial-page .breadcrumb li+li::before{content:"/";color:#596976}
