
/* =========================================
   BEST-TECH EDUCATIONAL ARTICLE PAGES
   ========================================= */

.article-topbar {
  background: #0B1B3F;
  color: #FFFFFF;
}

.article-topbar-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  min-height: 76px;
}

.article-wordmark {
  color: #FFFFFF;
  font-family: "Saira", sans-serif;
  font-style: italic;
  font-weight: 800;
  font-size: 23px;
  text-decoration: none;
}

.article-wordmark small {
  display: block;
  font-family: "IBM Plex Mono", monospace;
  font-style: normal;
  font-weight: 500;
  font-size: 10px;
  letter-spacing: 2px;
}

.article-topbar nav {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.article-topbar nav a {
  color: #FFFFFF;
  text-decoration: none;
  font-family: "Barlow", sans-serif;
  font-size: 13px;
  font-weight: 500;
}

/* MAIN ARTICLE */

.bt-article {
  background: #FFFFFF;
  color: #0B1B3F;
  padding: 26px 0 85px;
  font-family: "Barlow", sans-serif;
}

.article-breadcrumb {
  font-size: 13px;
  line-height: 1.6;
  color: #536078;
  margin-bottom: 22px;
}

.article-breadcrumb a {
  color: #1C4585;
}

/* HERO IMAGE */

.article-hero {
  margin: 0 0 42px;
  overflow: hidden;
  background: #EEF3FA;
}

.article-hero img {
  display: block;
  width: 100%;
  height: clamp(230px, 42vw, 480px);
  object-fit: cover;
}

/* READING CONTENT */

.article-reading {
  max-width: 790px;
  margin: 0 auto;
}

.article-eyebrow {
  color: #1C4585;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 1.2px;
  text-transform: uppercase;
}

.article-reading h1,
.article-reading h2 {
  font-family: "Saira", sans-serif;
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  line-height: 1.22;
}

.article-reading h1 {
  font-size: clamp(30px, 4.2vw, 49px);
  margin: 14px 0 22px;
}

.article-reading h2 {
  font-size: clamp(23px, 3vw, 31px);
  margin: 0 0 18px;
}

.article-lead {
  font-size: 20px !important;
  font-weight: 500;
  color: #263951;
}

.article-reading p {
  font-size: 17px;
  line-height: 1.8;
  margin: 0 0 17px;
}

.article-reading > section:not(.article-conversion) {
  margin-top: 48px;
}

/* SECOND IMAGE */

.article-secondary {
  margin: 48px 0 0;
}

.article-secondary img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 390px;
  object-fit: cover;
}

/* FAQ */

.article-faq details {
  border-bottom: 1px solid #D9E2ED;
  padding: 17px 0;
}

.article-faq summary {
  font-weight: 700;
  font-size: 17px;
  cursor: pointer;
}

.article-faq details p {
  margin: 12px 0 0;
}

/* RELATED CATEGORY */

.article-related {
  margin: 32px 0 !important;
}

.article-related a {
  color: #1C4585;
  font-weight: 700;
}

/* CTA */

.article-conversion {
  margin-top: 44px;
  background: #EEF3FA;
  padding: 35px;
  border-left: 5px solid #1C4585;
}

.article-conversion h2 {
  margin-top: 10px;
}

.article-search label {
  display: block;
  font-weight: 700;
  margin: 20px 0 10px;
}

.article-search-row {
  display: flex;
  gap: 10px;
}

.article-search input {
  min-width: 0;
  flex: 1;
  padding: 14px 15px;
  border: 1px solid #AABBD1;
  font-family: "Barlow", sans-serif;
  font-size: 16px;
}

.article-search button {
  border: 0;
  background: #1C4585;
  color: #FFFFFF;
  padding: 14px 19px;
  font-family: "IBM Plex Mono", monospace;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}

.article-search button:hover {
  background: #0B1B3F;
}

.article-search button:focus-visible,
.article-search input:focus-visible,
.article-topbar a:focus-visible {
  outline: 3px solid #1C4585;
  outline-offset: 3px;
}

/* FOOTER */

.article-footer {
  padding: 30px 0;
  background: #0B1B3F;
  color: #FFFFFF;
  font-family: "Barlow", sans-serif;
  font-size: 14px;
}

.article-footer a {
  color: #FFFFFF;
}

/* MOBILE */

@media (max-width: 600px) {

  .article-topbar-inner {
    min-height: 70px;
  }

  .article-topbar nav {
    gap: 10px;
  }

  .article-topbar nav a {
    font-size: 11px;
  }

  .article-wordmark {
    font-size: 18px;
  }

  .bt-article {
    padding-top: 18px;
    padding-bottom: 55px;
  }

  .article-hero {
    margin-bottom: 30px;
  }

  .article-reading p {
    font-size: 16px;
  }

  .article-lead {
    font-size: 18px !important;
  }

  .article-reading > section:not(.article-conversion) {
    margin-top: 36px;
  }

  .article-conversion {
    padding: 22px;
  }

  .article-search-row {
    flex-direction: column;
  }

  .article-search button {
    min-height: 48px;
  }
}
