/*
 * Veripass type scale. The inherited theme is set very large (h2 50px, counters 60–80px,
 * footer titles 24px). This sheet loads after main.css and brings every heading and every
 * `fs-N` display utility down to the BSH product-site scale, without touching the theme file.
 * Reference scale = Sommatic / Mi Retail tokens (h1 36–48, h2 28–38, h3 22–26, h4 18–20, body 16,
 * body-sm 14, eyebrow 12). DM Sans has a larger x-height than their Inter, so body sits one step
 * lower here (15px) to read as the same optical size.
 */
h1 { font-size: clamp(34px, 4.2vw, 52px); }
h2 { font-size: clamp(28px, 3.1vw, 38px); line-height: 1.15; }
h3 { font-size: clamp(22px, 2.3vw, 28px); line-height: 1.2; }
h4 { font-size: 19px; line-height: 1.3; }
h5 { font-size: 16px; line-height: 1.35; }
h6 { font-size: 14px; }
body, p { font-size: 15px; line-height: 1.65; }
.fs-16 { font-size: 15px; }
.fs-17 { font-size: 15px; }
.fs-18 { font-size: 16px; line-height: 1.6; }

/* display utilities: ~0.78x, only where the theme is not already stepping down responsively */
@media (min-width: 992px) {
  .fs-19 { font-size: 16px; }
  .fs-20 { font-size: 17px; }
  .fs-21 { font-size: 18px; }
  .fs-22 { font-size: 18px; }
  .fs-23 { font-size: 19px; }
  .fs-24 { font-size: 20px; }
  .fs-25 { font-size: 20px; }
  .fs-26 { font-size: 20px; }
  .fs-27 { font-size: 21px; }
  .fs-28 { font-size: 22px; }
  .fs-29 { font-size: 23px; }
  .fs-30 { font-size: 23px; }
  .fs-31 { font-size: 24px; }
  .fs-32 { font-size: 25px; }
  .fs-33 { font-size: 26px; }
  .fs-34 { font-size: 27px; }
  .fs-35 { font-size: 27px; }
  .fs-36 { font-size: 28px; }
  .fs-37 { font-size: 29px; }
  .fs-38 { font-size: 30px; }
  .fs-39 { font-size: 30px; }
  .fs-40 { font-size: 31px; }
  .fs-41 { font-size: 32px; }
  .fs-42 { font-size: 33px; }
  .fs-43 { font-size: 34px; }
  .fs-44 { font-size: 34px; }
  .fs-45 { font-size: 35px; }
  .fs-46 { font-size: 36px; }
  .fs-47 { font-size: 37px; }
  .fs-48 { font-size: 37px; }
  .fs-49 { font-size: 38px; }
  .fs-50 { font-size: 39px; }
  .fs-51 { font-size: 40px; }
  .fs-52 { font-size: 41px; }
  .fs-53 { font-size: 41px; }
  .fs-54 { font-size: 42px; }
  .fs-55 { font-size: 43px; }
  .fs-56 { font-size: 44px; }
  .fs-57 { font-size: 44px; }
  .fs-58 { font-size: 45px; }
  .fs-59 { font-size: 46px; }
  .fs-60 { font-size: 47px; }
  .fs-61 { font-size: 48px; }
  .fs-62 { font-size: 48px; }
  .fs-63 { font-size: 49px; }
  .fs-64 { font-size: 50px; }
  .fs-65 { font-size: 51px; }
  .fs-66 { font-size: 51px; }
  .fs-67 { font-size: 52px; }
  .fs-68 { font-size: 53px; }
  .fs-69 { font-size: 54px; }
  .fs-70 { font-size: 55px; }
  .fs-71 { font-size: 55px; }
  .fs-72 { font-size: 56px; }
  .fs-73 { font-size: 57px; }
  .fs-74 { font-size: 58px; }
  .fs-75 { font-size: 58px; }
  .fs-76 { font-size: 59px; }
  .fs-77 { font-size: 60px; }
  .fs-78 { font-size: 61px; }
  .fs-79 { font-size: 62px; }
  .fs-80 { font-size: 62px; }
  .fs-81 { font-size: 63px; }
  .fs-82 { font-size: 64px; }
  .fs-83 { font-size: 65px; }
  .fs-84 { font-size: 66px; }
  .fs-85 { font-size: 66px; }
  .fs-86 { font-size: 67px; }
  .fs-87 { font-size: 68px; }
  .fs-88 { font-size: 69px; }
  .fs-89 { font-size: 69px; }
  .fs-90 { font-size: 70px; }
  .fs-91 { font-size: 71px; }
  .fs-92 { font-size: 72px; }
  .fs-93 { font-size: 73px; }
  .fs-94 { font-size: 73px; }
  .fs-95 { font-size: 74px; }
  .fs-96 { font-size: 75px; }
  .fs-97 { font-size: 76px; }
  .fs-98 { font-size: 76px; }
  .fs-99 { font-size: 77px; }
  .fs-100 { font-size: 78px; }
  .fs-101 { font-size: 79px; }
  .fs-102 { font-size: 80px; }
  .fs-103 { font-size: 80px; }
  .fs-104 { font-size: 81px; }
  .fs-105 { font-size: 82px; }
  .fs-106 { font-size: 83px; }
  .fs-107 { font-size: 83px; }
  .fs-108 { font-size: 84px; }
  .fs-109 { font-size: 85px; }
  .fs-110 { font-size: 86px; }
  .fs-111 { font-size: 87px; }
  .fs-112 { font-size: 87px; }
  .fs-113 { font-size: 88px; }
  .fs-114 { font-size: 89px; }
  .fs-115 { font-size: 90px; }
  .fs-116 { font-size: 90px; }
  .fs-117 { font-size: 91px; }
  .fs-118 { font-size: 92px; }
  .fs-119 { font-size: 93px; }
  .fs-120 { font-size: 94px; }
}

/* fixed line-heights tuned for the old sizes */
.lh-30 { line-height: 1.3; }
.lh-32 { line-height: 1.3; }
.lh-34 { line-height: 1.35; }

/* footer: column titles and links at product-site scale */
.tp-footer-widget h5 { font-size: 13px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: rgba(255, 255, 255, 0.6) !important; margin-bottom: 18px; }
.tp-footer-menu ul li a { font-size: 14px; font-weight: 400; }
.tp-footer-menu ul li:not(:last-child) { margin-bottom: 10px; }

/* blog / resource cards */
.tp-blog-2-content h4 { font-size: 18px; line-height: 1.4; }
.tp-blog-2-content p { font-size: 14px; line-height: 1.6; }
.tp-blog-2-cetagory span { font-size: 13px; }

/* counters */
.tp-counter-wrap h2, .tp-chose-work h2 { letter-spacing: -0.03em; }

/* secondary copy: cards, accordions, lists, footer blurb */
.tp-feature-item p, .tp-service-2-content-bottom p, .tp-project-2-content p,
.tp-footer-widget p, .tp-chose-list ul li, .tp-about-2-list ul li,
.accordion-body, .tp-process-2-item p { font-size: 14px; line-height: 1.6; }
.tp-faq-wrapper .accordion-button, .tp-faq-2-wrap .tp-faq-wrapper .accordion-button { font-size: 16px; }
.tp-btn-xl, .tp-btn-lg, .tp-btn-md { font-size: 14px; }

/* simple check mark used in feature lists */
.vp-check { color: var(--tp-theme-primary); flex: 0 0 auto; }
/* same plain check (no ring, no chip) in the other feature lists */
.tp-banner-content ul li i { border: 0; width: 16px; color: var(--tp-theme-primary); font-size: 13px; }
.tp-chose-list ul li i { background: transparent; width: 16px; font-size: 13px; }

/* industry filter pills at product-site scale */
.tp-project-2-tab { padding-top: 22px; padding-bottom: 14px; }
.tp-project-2-tab li { margin: 0 4px 8px; }
.tp-project-2-tab li a { font-size: 13px; padding: 5px 13px; line-height: 1.4; }
.tp-project-2-tab li a span { font-size: 10px; transform: translateY(-4px); margin-left: 2px; opacity: 0.8; }

/* italic accent inside a white heading (dark sections): grey-on-navy fails contrast, use the peach accent */
.tp-text-common-white .tp-text-grey-1,
.tp-text-common-white .tp-text-gr { color: var(--tp-theme-secondary); }
