/* Mobile editorial type system. Loaded last for every public article route. */
@media (max-width: 767px) {
  :where(.article-shell, .blog-main) {
    --editorial-mobile-gutter: 18px;
    color: #201d1b;
    text-rendering: optimizeLegibility;
  }

  :where(.article-shell, .blog-main) :where(h1, h2, h3, p, a, strong, figcaption) {
    line-break: strict;
    word-break: auto-phrase;
    overflow-wrap: normal;
    text-wrap: pretty;
  }

  .article-shell {
    padding-inline: var(--editorial-mobile-gutter);
  }

  .article-shell .article-breadcrumb {
    min-height: 56px;
    padding: 10px 0;
    gap: 8px;
    font-size: 12px;
    line-height: 1.55;
  }

  .article-shell .article-category,
  .article-shell .article-header time,
  .article-shell figcaption,
  .article-shell .article-body small,
  .article-shell .article-body time,
  .article-shell .decision-eyebrow,
  .article-shell .product-eyebrow,
  .article-shell .decision-cta > p:first-child,
  .article-shell dt {
    font-size: 12px;
    line-height: 1.65;
    letter-spacing: .06em;
  }

  .article-shell .article-header h1 {
    max-width: 100%;
    margin-block: 18px 16px;
    padding: 0;
    font-size: clamp(25px, 7.2vw, 28px);
    font-weight: 400;
    line-height: 1.42;
    letter-spacing: .01em;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .article-shell .article-lead,
  .article-shell .article-header .article-lead {
    max-width: 38em;
    margin-block: 0 28px;
    padding: 0;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: .01em;
  }

  .article-shell .article-body,
  .article-shell .decision-guide-body,
  .article-shell .product-guide-body {
    font-size: 16px;
    line-height: 1.9;
    letter-spacing: .01em;
  }

  .article-shell .article-body :where(p, li),
  .article-shell .decision-guide-body :where(p, li),
  .article-shell .product-guide-body :where(p, li) {
    font-size: 16px;
    line-height: 1.9;
  }

  .article-shell .article-body h2,
  .article-shell .decision-guide-body h2,
  .article-shell .product-guide-body h2,
  .article-shell .article-related-reading h2,
  .article-shell .article-companion-reading h2 {
    margin-top: 52px;
    margin-bottom: 18px;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: .01em;
  }

  .article-shell .article-body h3,
  .article-shell .decision-guide-body h3,
  .article-shell .product-guide-body h3 {
    margin-top: 36px;
    margin-bottom: 12px;
    font-size: 18px;
    line-height: 1.6;
    letter-spacing: .01em;
  }

  .article-shell .decision-cta h2,
  .article-shell .article-cta h2 {
    margin: 0;
    font-size: 21px;
    line-height: 1.5;
  }

  .article-shell .article-end-nav a,
  .article-shell .decision-cta a,
  .article-shell .article-cta a {
    min-height: 48px;
    font-size: 14px;
    line-height: 1.55;
  }

  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) {
    padding-inline: 0;
  }

  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) .article-breadcrumb,
  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) .article-header > :not(.article-hero),
  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) .article-body,
  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) .article-end-nav {
    width: calc(100% - (var(--editorial-mobile-gutter) * 2));
    margin-inline: auto;
  }

  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) .article-header h1 {
    margin-inline: auto;
  }

  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) .article-header .article-lead {
    margin-inline: auto;
  }

  .article-shell:not(.decision-guide-shell):not(.product-guide-shell) .article-body {
    padding-top: 44px;
  }

  .decision-guide-header .article-lead,
  .product-guide-header .article-lead {
    max-width: 32em;
  }

  .decision-guide-header,
  .product-guide-header {
    grid-template-columns: minmax(0, 1fr);
  }

  .decision-guide-header > *,
  .product-guide-header > * {
    min-width: 0;
    width: 100%;
  }

  .decision-views figure {
    grid-template-columns: 42% minmax(0, 1fr);
  }

  .decision-views figcaption {
    min-width: 0;
    word-break: normal;
    overflow-wrap: anywhere;
  }

  .decision-guide-header figcaption,
  .product-guide-header figcaption {
    font-size: 12px;
  }

  .blog-main .blog-intro h1 {
    font-size: clamp(31px, 9.4vw, 38px);
    line-height: 1.34;
    letter-spacing: .01em;
  }

  .blog-main .blog-intro > p:last-child {
    font-size: 15px;
    line-height: 1.8;
  }

  .blog-main .blog-featured strong {
    font-size: 23px;
    line-height: 1.48;
  }

  .blog-main .blog-featured p,
  .blog-main .article-card p {
    font-size: 14px;
    line-height: 1.8;
  }

  .blog-main .blog-featured small,
  .blog-main .blog-featured b,
  .blog-main .article-card small,
  .blog-main .article-card time,
  .blog-main .article-card b,
  .blog-main .decision-guide-card small,
  .blog-main .decision-guide-card b,
  .blog-main .product-guide-links small,
  .blog-main .product-guide-links b {
    font-size: 12px;
    line-height: 1.6;
  }

  .blog-main .article-card h2 {
    font-size: 21px;
    line-height: 1.5;
    letter-spacing: .01em;
  }

  .blog-main .blog-section-heading h2,
  .blog-main .decision-guide-index h2,
  .blog-main .product-guide-index h2 {
    font-size: 26px;
    line-height: 1.42;
  }

  .blog-main .decision-guide-card strong,
  .blog-main .product-guide-links strong {
    font-size: 20px;
    line-height: 1.48;
  }

  .blog-main .blog-library-nav a,
  .blog-main .blog-index-more summary,
  .blog-main .decision-guide-index > p,
  .blog-main .product-guide-index > p,
  .blog-main .decision-guide-index > div > p,
  .blog-main .product-guide-index > div > p {
    font-size: 14px;
    line-height: 1.7;
  }
}
