* {
  box-sizing: border-box;
}

/* =========================================
   BLOG ARTICLE
========================================= */

.article {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 70px 5vw 100px;

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);
  color: var(--e-global-color-text);
}

/* Main content width */

.article > p,
.article > ul,
.article > ol,
.article > h2,
.article > h3,
.article > h4,
.article > aside {
  width: 100%;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
}

/* =========================================
   GLOBAL CONTENT TYPOGRAPHY
========================================= */

.article p,
.article li,
.article aside,
.steps span,
.closing p {
  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;
}

/* =========================================
   PARAGRAPHS
========================================= */

.article p {
  margin-top: 0;
  margin-bottom: 24px;

  font-family: var(--e-global-typography-text-font-family);
  font-weight: var(--e-global-typography-text-font-weight);

  color: var(--e-global-color-text);
}

/* =========================================
   H2
========================================= */

.article h2 {
  width: 100%;
  max-width: 1000px;

  margin-top: 70px;
  margin-bottom: 22px;
  margin-left: auto;
  margin-right: auto;

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);

  font-size: clamp(30px, 1.8vw + 16px, 42px);
  line-height: 1.15;
  letter-spacing: -0.02em;

  color: var(--e-global-color-secondary);
}

/* =========================================
   H3
========================================= */

.article h3 {
  width: 100%;
  max-width: 1000px;

  margin-top: 48px;
  margin-bottom: 17px;
  margin-left: auto;
  margin-right: auto;

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);

  font-size: clamp(24px, 1.5vw + 14px, 32px);
  line-height: 1.25;

  color: var(--e-global-color-secondary);
}

/* =========================================
   H4
========================================= */

.article h4 {
  width: 100%;
  max-width: 1000px;

  margin-top: 32px;
  margin-bottom: 9px;
  margin-left: auto;
  margin-right: auto;

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);

  font-size: clamp(19px, 1vw + 13px, 24px);
  line-height: 1.4;

  color: var(--e-global-color-secondary);
}

/* =========================================
   LISTS
========================================= */

.article ul,
.article ol {
  padding-left: 25px;
  margin-top: 0;
  margin-bottom: 30px;
}

.article li {
  padding-left: 8px;
  margin: 8px 0;

  color: var(--e-global-color-text);
}

.article li::marker {
  color: var(--e-global-color-primary);
}

/* =========================================
   TL;DR
========================================= */

.tldr {
  width: 100%;
  max-width: 1150px !important;

  margin: 0 auto 55px !important;
  padding: 40px 48px;

  background: var(--e-global-color-21910be);

  border-top: 4px solid var(--e-global-color-primary);

  box-shadow: 0 15px 38px rgba(34, 34, 34, 0.08);

  position: relative;
}

.tldr::after {
  content: 'GUIDE';

  position: absolute;
  right: 32px;
  top: 20px;

  color: var(--e-global-color-primary);
  opacity: 0.15;

  font-size: 10px;
  letter-spacing: 0.2em;
  font-weight: 800;
}

.tldr h2 {
  width: auto;
  max-width: none;

  margin: 0 0 15px !important;

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);

  font-size: clamp(26px, 1.5vw + 14px, 34px);
  line-height: 1.15;

  color: var(--e-global-color-secondary);
}

.tldr ul {
  margin-bottom: 0;
}

.tldr li {
  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;
}

/* =========================================
   IMAGES
========================================= */

.article-image {
  display: block;

  width: 90%;
  max-width: 1150px;

  height: auto;

  margin: 45px auto;

  border-radius: 4px;

  box-shadow: 15px 16px 0 rgba(56, 182, 255, 0.12);
}

/* =========================================
   TWO COLUMN LIST
========================================= */

.two-column {
  width: 100%;
  max-width: 1000px !important;

  columns: 2;
  column-gap: 80px;
}

.two-column li {
  break-inside: avoid;
}

/* =========================================
   BENEFITS
========================================= */

.benefits {
  width: 100%;
  max-width: 1000px !important;

  list-style: none;
  padding: 0 !important;
}

.benefits li {
  border-top: 1px solid rgba(26, 45, 80, 0.15);

  padding: 20px 0 20px 35px;

  position: relative;

  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;
}

.benefits li::before {
  content: '↗';

  position: absolute;
  left: 0;
  top: 20px;

  color: var(--e-global-color-primary);

  font-weight: 800;
}

.benefits li:last-child {
  border-bottom: 1px solid rgba(26, 45, 80, 0.15);
}

/* =========================================
   EXPERT INSIGHT
========================================= */

.article aside {
  width: 100%;
  max-width: 1000px;

  margin-top: 42px !important;
  margin-bottom: 42px !important;

  padding: 32px 38px;

  background: rgba(56, 182, 255, 0.08);

  border-left: 4px solid var(--e-global-color-primary);

  color: var(--e-global-color-text);

  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;

  position: relative;
}

.article aside::before {
  content: '“';

  position: absolute;

  top: 38px;
  left: 14px;

  font-family: Georgia, serif;
  font-size: 84px;
  line-height: 0;

  color: var(--e-global-color-primary);

  opacity: 0.2;
}

.article aside strong {
  color: var(--e-global-color-secondary);

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);
}

/* =========================================
   CLAIM STEPS
========================================= */

.steps {
  width: 100%;
  max-width: 1000px !important;

  list-style: none;

  counter-reset: steps;

  padding: 0 !important;
}

.steps li {
  counter-increment: steps;

  padding: 22px 0 25px 85px;

  position: relative;

  border-top: 1px solid rgba(26, 45, 80, 0.15);

  min-height: 78px;

  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;
}

.steps li::before {
  content: '0' counter(steps);

  position: absolute;

  left: 0;
  top: 21px;

  color: var(--e-global-color-primary);

  font-weight: 800;
  font-size: 17px;
}

.steps li strong {
  display: block;

  color: var(--e-global-color-secondary);
}

.steps span {
  display: block;

  margin-top: 5px;

  color: var(--e-global-color-text);
  opacity: 0.7;

  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;
}

/* =========================================
   LINKS
========================================= */

.article a {
  color: var(--e-global-color-primary);

  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.article a:hover {
  color: var(--e-global-color-secondary);
}

/* =========================================
   STRONG TEXT
========================================= */

.article strong {
  color: var(--e-global-color-secondary);

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);
}

/* =========================================
   CLOSING CTA
========================================= */

.closing {
  width: 100%;
  max-width: 1150px;

  margin: 90px auto 0;

  padding: 60px 70px;

  background: var(--e-global-color-secondary);

  color: var(--e-global-color-21910be);

  position: relative;
  overflow: hidden;
}

.closing::after {
  content: '';

  position: absolute;

  width: 380px;
  height: 380px;

  border: 1px solid rgba(255, 255, 255, 0.15);

  border-radius: 50%;

  right: -170px;
  top: -210px;
}

.closing h2 {
  width: 100%;
  max-width: 800px;

  margin: 0 0 20px !important;

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);

  font-size: clamp(30px, 2vw + 14px, 42px);
  line-height: 1.15;

  color: var(--e-global-color-21910be);

  position: relative;
  z-index: 1;
}

.closing p {
  max-width: 850px;

  color: var(--e-global-color-21910be);

  font-family: var(--e-global-typography-text-font-family);
  font-weight: var(--e-global-typography-text-font-weight);

  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;

  position: relative;
  z-index: 1;
}

.closing strong{
    color: #fff !important;
}

.closing .cta {
  position: relative;
  z-index: 1;
}

/* =========================================
   CTA BUTTON
========================================= */

.cta {
  display: inline-block;

  background-color: var(--e-global-color-primary);

  font-family: "Roboto", Sans-serif;
  font-size: clamp(16px, 0.5vw + 14px, 18px);
  font-weight: 600;

  fill: var(--e-global-color-21910be);
  color: var(--e-global-color-21910be) !important;

  border-style: solid;
  border-width: 1px;
  border-color: var(--e-global-color-primary);

  border-radius: 10px;

  padding: 1em 2em;

  text-decoration: none !important;

  transition:
    background-color 0.3s ease,
    color 0.3s ease,
    border-color 0.3s ease;
}

.cta:hover {
  background-color: var(--e-global-color-secondary);

  color: var(--e-global-color-21910be) !important;

  border-color: var(--e-global-color-21910be) !important;
}

/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1200px) {

  .article {
    padding-left: 4vw;
    padding-right: 4vw;
  }

  .article > p,
  .article > ul,
  .article > ol,
  .article > h2,
  .article > h3,
  .article > h4,
  .article > aside {
    max-width: 900px;
  }

  .tldr,
  .closing {
    max-width: 1050px !important;
  }

  .article-image {
    width: 92%;
  }
}

@media (max-width: 900px) {

  .article {
    padding: 60px 30px 85px;
  }

  .article h2 {
    margin-top: 60px;
  }

  .two-column {
    columns: 2;
    column-gap: 45px;
  }

  .tldr {
    padding: 34px 35px;
  }

  .closing {
    padding: 50px 45px;
  }
}

@media (max-width: 620px) {

  .article {
    padding: 45px 20px 65px;
  }

  .article h2 {
    margin-top: 50px;
  }

  .tldr {
    padding: 27px 22px;
  }

  .tldr::after {
    display: none;
  }

  .two-column {
    columns: 1;
  }

  .article-image {
    width: 100%;
    margin: 35px auto;

    box-shadow: 8px 9px 0 rgba(56, 182, 255, 0.12);
  }

  .article aside {
    padding: 28px 25px;
  }

  .steps li {
    padding-left: 65px;
  }

  .closing {
    padding: 40px 25px;
    margin-top: 65px;
  }

  .closing h2 {
    font-size: 32px !important;
  }
}

/* =========================================
   REVIEW COMPARISON TABLE
========================================= */

.comparison-table {
  width: 100%;
  max-width: 1000px;
  margin: 35px auto;

  border-collapse: collapse;
  border-spacing: 0;

  table-layout: fixed;
}

.comparison-table th,
.comparison-table td {
  width: 50%;
  padding: 18px 25px;

  text-align: left;
  vertical-align: top;

  border: 1px solid rgba(26, 45, 80, 0.12);
}

.comparison-table th {
  background: transparent;

  font-family: var(--e-global-typography-primary-font-family);
  font-weight: var(--e-global-typography-primary-font-weight);

  font-size: clamp(22px, 1vw + 16px, 28px);
  line-height: 1.25;

  color: var(--e-global-color-secondary);
}

/* IMPORTANT:
   Reset global article list positioning
*/

.comparison-table ul {
  display: block;

  width: 100%;
  max-width: none;

  margin: 0 !important;
  padding: 0 0 0 25px !important;

  list-style-position: outside;
}

.comparison-table li {
  display: list-item;

  width: auto;
  max-width: none;

  margin: 8px 0 !important;
  padding: 0 !important;

  font-size: clamp(16px, 0.8vw + 14px, 20px);
  line-height: 1.7;

  color: var(--e-global-color-text);
}

/* Keep bullets INSIDE the table cell */

.comparison-table li::marker {
  color: var(--e-global-color-primary);
}

/* Remove any custom benefit/list pseudo elements */

.comparison-table li::before {
  content: none !important;
}

/* Mobile */

@media (max-width: 767px) {

  .comparison-table {
    display: block;
    overflow-x: auto;

    width: 100%;
  }

  .comparison-table table {
    width: 100%;
  }

  .comparison-table th,
  .comparison-table td {
    min-width: 280px;

    padding: 16px 18px;
  }

}

/* =========================================
   FIX TABLE BOTTOM BORDER
========================================= */

.comparison-table {
  border-collapse: collapse !important;
  border-spacing: 0 !important;

  border-bottom: 1px solid rgba(26, 45, 80, 0.12) !important;
}

.comparison-table tr:last-child td {
  border-bottom: 1px solid rgba(26, 45, 80, 0.12) !important;
}

.comparison-table tr:last-child th {
  border-bottom: 1px solid rgba(26, 45, 80, 0.12) !important;
}

body.blog-category-press-release .article {
  padding-top: 35px;
  padding-bottom: 50px;
}

.article-image {
      display: block;
    width: 100%;
    max-width: 910px !important;
    margin: 40px auto;
    border-radius: 2px !important;
    box-shadow: 15px 16px 0 #dcebf0 !important;
}