/* FLJ engineering library. Theme-owned replacement for archive-design.css.
   Native query, original content and shared header/footer are unchanged. */
body.flj-independent.flj-blog-hub .flj-theme-archive {
  color: var(--flj-color-ink);
  background: var(--flj-color-surface);
}
body.flj-independent.flj-blog-hub .elementor .flj-v2-archive-shell {
  display: grid;
  grid-template-columns: 190px minmax(0, 1fr);
  align-items: start;
  column-gap: 48px;
  row-gap: 0;
  width: min(var(--flj-content-width), calc(100% - var(--flj-gutter) * 2));
  max-width: var(--flj-content-width);
  margin-inline: auto;
  padding: 0 0 80px;
}
body.flj-independent.flj-blog-hub .flj-blog-hero {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .54fr);
  align-items: end;
  gap: 64px;
  padding: 55px 0 54px;
}
body.flj-independent.flj-blog-hub .flj-blog-eyebrow {
  margin: 0 0 15px;
  color: var(--flj-color-primary);
  font: 600 17px/1.5 var(--flj-font-body);
  letter-spacing: 0;
  text-transform: none;
}
body.flj-independent.flj-blog-hub .flj-blog-hero h1 {
  max-width: 820px;
  margin: 0 0 21px;
  color: var(--flj-color-ink);
  font: 600 clamp(55px, 5.3vw, 76px)/1.02 var(--flj-font-display);
  letter-spacing: -.025em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}
body.flj-independent.flj-blog-hub .flj-blog-hero__description {
  max-width: 660px;
  margin: 0;
  color: var(--flj-color-muted);
  font-size: 19px;
  line-height: 1.65;
}
body.flj-independent.flj-blog-hub .flj-blog-search {
  align-self: end;
  min-width: 0;
  margin: 0 0 5px;
  padding: 27px 28px 25px;
  border: 0;
  border-radius: 3px;
  background: var(--flj-color-silver);
  box-shadow: none;
}
body.flj-independent.flj-blog-hub .flj-blog-search label {
  display: block;
  margin: 0 0 15px;
  color: var(--flj-color-ink);
  font: 600 25px/1.2 var(--flj-font-display);
}
body.flj-independent.flj-blog-hub .flj-blog-search__row {
  display: flex;
  align-items: stretch;
  gap: 0;
}
body.flj-independent.flj-blog-hub .flj-blog-search input[type=search] {
  min-width: 0;
  width: 100%;
  height: 52px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #a9b7c9;
  border-right: 0;
  border-radius: 3px 0 0 3px;
  color: var(--flj-color-ink);
  background: #fff;
  font: 400 17px/1.5 var(--flj-font-body);
  box-shadow: none;
}
body.flj-independent.flj-blog-hub .flj-blog-search input[type=search]::placeholder { color: var(--flj-color-muted); opacity: 1; }
body.flj-independent.flj-blog-hub .flj-blog-search button {
  flex: 0 0 auto;
  min-height: 52px;
  margin: 0;
  padding: 11px 19px;
  border: 1px solid var(--flj-color-primary);
  border-radius: 0 3px 3px 0;
  color: #fff;
  background: var(--flj-color-primary);
  font: 600 17px/1.5 var(--flj-font-body);
  text-transform: none;
  letter-spacing: 0;
  cursor: pointer;
}
body.flj-independent.flj-blog-hub .flj-blog-search button:hover { background: var(--flj-color-primary-hover); border-color: var(--flj-color-primary-hover); }
body.flj-independent.flj-blog-hub .flj-blog-search__hint { margin: 12px 0 0; color: var(--flj-color-muted); font-size: 15px; line-height: 1.5; }
body.flj-independent.flj-blog-hub .flj-blog-topics {
  position: sticky;
  top: 155px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-self: start;
  justify-content: flex-start;
  gap: 4px;
  width: 100%;
  min-height: 0;
  max-height: none;
  margin: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
}
body.flj-independent.flj-blog-hub .flj-blog-topics__label {
  display: block;
  margin: 0 0 15px;
  padding: 8px 0 15px;
  border-bottom: 1px solid var(--flj-color-border);
  color: var(--flj-color-ink);
  font: 600 20px/1.4 var(--flj-font-body);
  letter-spacing: 0;
  text-transform: none;
}
body.flj-independent.flj-blog-hub a.flj-blog-topic {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 48px;
  padding: 11px 13px;
  border: 0;
  border-left: 3px solid transparent;
  border-radius: 0 3px 3px 0;
  color: var(--flj-color-muted);
  background: transparent;
  font: 500 17px/1.4 var(--flj-font-body);
  text-decoration: none;
}
body.flj-independent.flj-blog-hub a.flj-blog-topic:hover { color: var(--flj-color-primary); background: var(--flj-color-silver); }
body.flj-independent.flj-blog-hub a.flj-blog-topic.is-current { border-left-color: var(--flj-color-yellow); color: #fff; background: var(--flj-color-primary); font-weight: 600; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts { min-width: 0; }
body.flj-independent.flj-blog-hub .flj-blog-results {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 16px;
  margin: 0 0 26px;
}
body.flj-independent.flj-blog-hub .flj-blog-results__summary { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; flex: 1; gap: 7px 22px; min-width: 0; }
body.flj-independent.flj-blog-hub .flj-blog-results h2 { margin: 0; color: var(--flj-color-ink); font: 600 34px/1.2 var(--flj-font-display); letter-spacing: -.015em; }
body.flj-independent.flj-blog-hub .flj-blog-results p { margin: 0; color: var(--flj-color-muted); font-size: 16px; line-height: 1.55; overflow-wrap: anywhere; }
body.flj-independent.flj-blog-hub .flj-blog-results__clear { flex: 0 0 auto; color: var(--flj-color-primary); font-size: 17px; line-height: 1.6; text-decoration: underline; text-underline-offset: 4px; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-posts-container { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0; align-items: stretch; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts article.elementor-post {
  display: grid;
  grid-template-columns: minmax(220px, .36fr) minmax(0, 1fr);
  align-items: start;
  gap: 32px;
  min-width: 0;
  margin: 0;
  padding: 34px 0;
  border: 0;
  border-bottom: 1px solid var(--flj-color-border);
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  opacity: 1;
  transform: none;
}
body.flj-independent.flj-blog-hub .flj-v2-archive-posts article.elementor-post:first-child { padding-top: 0; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__thumbnail__link { display: block; width: 100%; margin: 0 !important; overflow: hidden; border-radius: 3px; background: var(--flj-color-silver); }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__thumbnail { position: relative; width: 100%; height: auto; padding-bottom: 0 !important; aspect-ratio: 4 / 3; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__thumbnail img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; max-width: 100%; object-fit: contain; transform: none; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__text { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; padding: 0; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts article.elementor-post:not(.has-post-thumbnail) .elementor-post__text { grid-column: 1 / -1; }
body.flj-independent.flj-blog-hub .flj-blog-card-topic { display: inline-block; margin: 0 0 9px; padding: 0; color: var(--flj-color-primary); font: 600 16px/1.5 var(--flj-font-body); letter-spacing: 0; text-transform: none; text-decoration: none; }
body.flj-independent.flj-blog-hub a.flj-blog-card-topic:hover { text-decoration: underline; text-underline-offset: 4px; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__title { width: 100%; max-width: 800px; margin: 0 0 11px; color: var(--flj-color-ink); font: 600 34px/1.15 var(--flj-font-display); letter-spacing: -.012em; overflow-wrap: anywhere; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__title a { color: inherit; text-decoration: none; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__title a:hover { color: var(--flj-color-primary); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__meta-data { margin: 0 0 12px; color: var(--flj-color-muted); font: 400 16px/1.5 var(--flj-font-body); }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__excerpt { width: 100%; max-width: 70ch; margin: 0 0 8px; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__excerpt p { margin: 0; color: var(--flj-color-muted); font: 400 18px/1.65 var(--flj-font-body); }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__read-more { display: inline-flex; align-items: center; min-height: 44px; margin: 0; padding: 5px 0; color: var(--flj-color-primary); font: 600 17px/1.5 var(--flj-font-body); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 5px; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__read-more:hover { text-decoration-thickness: 2px; }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1fr);
  align-items: stretch;
  gap: 0;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  border-radius: 3px;
  overflow: hidden;
  background: var(--flj-color-ink);
}
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__thumbnail__link { display: flex; align-items: center; height: auto; border-radius: 0; background: var(--flj-color-silver); }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__thumbnail { aspect-ratio: 4 / 3; }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__text { justify-content: center; padding: 34px; }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__title { color: #fff; font-size: clamp(34px, 3vw, 44px); line-height: 1.12; }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__title a:hover { color: #fff; }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child :is(.flj-blog-card-topic, .elementor-post__read-more) { color: var(--flj-color-yellow); }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child :is(.elementor-post__meta-data, .elementor-post__excerpt p) { color: #d6e0ed; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts nav.elementor-pagination { display: flex; align-items: center; justify-content: flex-start; flex-wrap: wrap; gap: 8px; margin: 36px 0 0; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 46px; min-height: 46px; margin: 0; padding: 9px 14px; border: 1px solid var(--flj-color-border); border-radius: 3px; color: var(--flj-color-ink); background: #fff; font: 500 17px/1.5 var(--flj-font-body); text-decoration: none; }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-pagination .page-numbers.current { border-color: var(--flj-color-primary); color: #fff; background: var(--flj-color-primary); }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-pagination a.page-numbers:hover { color: var(--flj-color-primary); background: var(--flj-color-silver); }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-pagination span.page-numbers:is(.prev, .next) { color: var(--flj-color-muted); background: var(--flj-color-silver); }
body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-pagination .page-numbers.dots { min-width: 24px; padding-inline: 0; border-color: transparent; }
body.flj-independent.flj-blog-hub .flj-blog-footer-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin: 55px 0 0; padding: 32px; border: 0; border-left: 4px solid var(--flj-color-yellow); border-radius: 0; color: var(--flj-color-ink); background: var(--flj-color-silver); }
body.flj-independent.flj-blog-hub .flj-blog-footer-cta .flj-blog-eyebrow { margin: 0 0 10px; color: var(--flj-color-muted); font-size: 16px; }
body.flj-independent.flj-blog-hub .flj-blog-footer-cta h2 { margin: 0 0 9px; color: var(--flj-color-ink); font: 600 34px/1.15 var(--flj-font-display); }
body.flj-independent.flj-blog-hub .flj-blog-footer-cta p { max-width: 60ch; margin: 0; color: var(--flj-color-muted); font-size: 18px; line-height: 1.6; }
body.flj-independent.flj-blog-hub .flj-blog-footer-cta>a { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; gap: 20px; min-height: 50px; padding: 12px 20px; border: 1px solid var(--flj-color-primary); border-radius: 3px; color: #fff; background: var(--flj-color-primary); font: 600 17px/1.5 var(--flj-font-body); text-decoration: none; }
body.flj-independent.flj-blog-hub .flj-blog-footer-cta>a:hover { background: var(--flj-color-primary-hover); border-color: var(--flj-color-primary-hover); }
body.flj-independent.flj-blog-hub .flj-v2-archive-shell :is(a, button, input):focus-visible { outline: 3px solid var(--flj-color-focus); outline-offset: 4px; }
body.flj-independent.flj-blog-hub .flj-v2-archive-shell .elementor-post__thumbnail__link:focus-visible { outline-offset: -4px; }
body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child a:focus-visible { outline-color: var(--flj-color-yellow); }
@media (max-width: 1150px) {
  body.flj-independent.flj-blog-hub .elementor .flj-v2-archive-shell { grid-template-columns: 170px minmax(0, 1fr); column-gap: 30px; }
  body.flj-independent.flj-blog-hub .flj-blog-hero { gap: 36px; grid-template-columns: minmax(0, 1fr) 350px; }
  body.flj-independent.flj-blog-hub .flj-blog-hero h1 { font-size: 62px; }
  body.flj-independent.flj-blog-hub .flj-blog-search { padding: 24px; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts article.elementor-post { grid-template-columns: minmax(180px, .42fr) minmax(0, 1fr); gap: 26px; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child { display: block; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__thumbnail { aspect-ratio: 16 / 9; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__text { padding: 28px; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__title { font-size: 38px; }
  body.flj-independent.flj-blog-hub .flj-blog-footer-cta { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 850px) {
  body.flj-independent.flj-blog-hub .elementor .flj-v2-archive-shell { display: block; padding-bottom: 56px; }
  body.flj-independent.flj-blog-hub .flj-blog-hero { grid-template-columns: minmax(0, 1fr); gap: 28px; padding: 40px 0 30px; }
  body.flj-independent.flj-blog-hub .flj-blog-hero h1 { max-width: 680px; font-size: 58px; }
  body.flj-independent.flj-blog-hub .flj-blog-search { width: 100%; margin: 0; }
  body.flj-independent.flj-blog-hub .flj-blog-search__row { max-width: 590px; }
  body.flj-independent.flj-blog-hub .flj-blog-topics { position: static; flex-direction: row; flex-wrap: wrap; align-items: stretch; gap: 8px; margin-bottom: 36px; padding: 0 0 28px; border-bottom: 1px solid var(--flj-color-border); }
  body.flj-independent.flj-blog-hub .flj-blog-topics__label { flex-basis: 100%; margin-bottom: 5px; padding: 0; border: 0; font-size: 18px; }
  body.flj-independent.flj-blog-hub a.flj-blog-topic { min-height: 44px; padding: 9px 13px; border: 1px solid var(--flj-color-border); border-radius: 3px; font-size: 16px; }
  body.flj-independent.flj-blog-hub a.flj-blog-topic.is-current { border-color: var(--flj-color-primary); }
  body.flj-independent.flj-blog-hub .flj-blog-results { margin-bottom: 24px; }
  body.flj-independent.flj-blog-hub .flj-blog-results h2 { font-size: 32px; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts article.elementor-post { grid-template-columns: minmax(185px, .4fr) minmax(0, 1fr); }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__title { font-size: 32px; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1fr); }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__title { font-size: 34px; }
  body.flj-independent.flj-blog-hub .flj-blog-footer-cta { padding: 28px; }
}
@media (max-width: 600px) {
  body.flj-independent.flj-blog-hub .flj-blog-hero { gap: 16px; padding: 20px 0 18px; }
  body.flj-independent.flj-blog-hub .flj-blog-eyebrow { margin-bottom: 8px; font-size: 16px; }
  body.flj-independent.flj-blog-hub .flj-blog-hero h1 { margin-bottom: 12px; font-size: clamp(42px, 11.8vw, 58px); line-height: 1.04; }
  body.flj-independent.flj-blog-hub .flj-blog-hero__description { font-size: 18px; line-height: 1.6; }
  body.flj-independent.flj-blog-hub .flj-blog-search { padding: 0; background: transparent; }
  body.flj-independent.flj-blog-hub .flj-blog-search label { margin-bottom: 10px; font-size: 24px; }
  body.flj-independent.flj-blog-hub .flj-blog-search input[type=search] { padding-inline: 11px; font-size: 16px; }
  body.flj-independent.flj-blog-hub .flj-blog-search button { padding-inline: 15px; font-size: 16px; }
  body.flj-independent.flj-blog-hub .flj-blog-search__hint { margin-top: 8px; font-size: 15px; }
  body.flj-independent.flj-blog-hub .flj-blog-topics { gap: 6px; margin-bottom: 20px; padding-bottom: 18px; }
  body.flj-independent.flj-blog-hub .flj-blog-topics__label { margin-bottom: 4px; }
  body.flj-independent.flj-blog-hub a.flj-blog-topic { padding-inline: 11px; font-size: 16px; }
  body.flj-independent.flj-blog-hub .flj-blog-results { flex-wrap: wrap; gap: 10px; margin-bottom: 16px; }
  body.flj-independent.flj-blog-hub .flj-blog-results__summary { display: block; }
  body.flj-independent.flj-blog-hub .flj-blog-results h2 { margin-bottom: 6px; font-size: 31px; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts article.elementor-post { display: block; padding: 28px 0; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__thumbnail__link { margin-bottom: 22px !important; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__thumbnail { aspect-ratio: 3 / 2; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__title { font-size: 31px; line-height: 1.16; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-post__excerpt p { font-size: 18px; line-height: 1.6; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child { display: block; margin-bottom: 2px; padding: 0; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__thumbnail__link { margin-bottom: 0 !important; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__thumbnail { aspect-ratio: 3 / 2; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__text { padding: 23px; }
  body.flj-independent.flj-blog-hub.flj-blog-featured .flj-v2-archive-posts article.elementor-post:first-child .elementor-post__title { font-size: 33px; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts nav.elementor-pagination { gap: 7px; margin-top: 28px; }
  body.flj-independent.flj-blog-hub .flj-v2-archive-posts .elementor-pagination .page-numbers { min-width: 44px; min-height: 44px; padding: 8px 12px; font-size: 16px; }
  body.flj-independent.flj-blog-hub .flj-blog-footer-cta { gap: 23px; margin-top: 38px; padding: 24px; }
  body.flj-independent.flj-blog-hub .flj-blog-footer-cta h2 { font-size: 32px; }
  body.flj-independent.flj-blog-hub .flj-blog-footer-cta p { font-size: 18px; }
}
