/**
 * Global Reset of all HTML Elements
 *
 * Resetting all of our HTML Elements ensures a smoother
 * visual transition between browsers. If you don't believe me,
 * try temporarily commenting out this block of code, then go
 * and look at Mozilla versus Safari, both good browsers with
 * a good implementation of CSS. The thing is, all browser CSS
 * defaults are different and at the end of the day if visual
 * consistency is what we're shooting for, then we need to
 * make sure we're resetting all spacing elements.
 *
 */
/**
 * Session 7: Figma color token migration (raw CSS — no LESS vars).
 *   #e2080a                 → #e2080a          (red)
 *   #151a27                 → #151a27          (black)
 *   rgba(21, 26, 39, …)     → rgba(21, 26, 39, …)   (black shadows)
 *   rgba(226, 8, 10, 0.8)  → rgba(226, 8, 10, 0.8) (red overlay)
 *   rgba(245, 245, 245, …)  → rgba(238, 238, 238, …) (grey-light bg)
 * Preserved: #ffffff/#fff, rgba(255, 255, 255, …),
 * #666666/#999999/#d6d6d6/rgba(153, 153, 153, …) legacy greys.
 */
/* html,
body {
  border: 0;
  line-height: 1.5;
  margin: 0;
  padding: 0;
}
div,
span,
object,
iframe,
img,
table,
caption,
thead,
tbody,
tfoot,
tr,
tr,
td,
article,
aside,
canvas,
details,
figure,
hgroup,
menu,
nav,
footer,
header,
section,
summary,
mark,
audio,
video {
  border: 0;
  margin: 0;
  padding: 0;
}
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
address,
cit,
code,
del,
dfn,
em,
ins,
q,
samp,
small,
strong,
sub,
sup,
b,
i,
hr,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
legend,
label {
  border: 0;
  font-size: 100%;
  vertical-align: baseline;
  margin: 0;
  padding: 0;
}
article,
aside,
canvas,
figure,
figure img,
figcaption,
hgroup,
footer,
header,
nav,
section,
audio,
video {
  display: block;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
table caption,
table th,
table td {
  text-align: left;
  vertical-align: middle;
}
a img {
  border: 0;
}
:focus {
  outline: 0;
} */
.d-flex {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.align-items-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.align-items-start {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.align-items-end {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
.justify-content-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.justify-content-end {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.justify-content-start {
  -webkit-box-pack: start !important;
      -ms-flex-pack: start !important;
          justify-content: flex-start !important;
}
.justify-content-between {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.justify-content-around {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
.flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.transition {
  -webkit-transition: all 0.35s linear;
  transition: all 0.35s linear;
}
.order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
/* 
* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 100.01%;
  overflow-x: hidden;
  scroll-behavior: smooth;
}
body {
  font-family: var(--font-family-sans);
  background-color: #ffffff;
  overflow-x: hidden;
  color: #151a27;
  min-height: 100vh;
  line-height: 32px;
  font-weight: 300;
  font-size: 18px;
}
@media screen and (max-width: 991px) {
  body {
    font-size: 16px;
    line-height: 28px;
  }
}
input,
button,
select,
textarea {
  font-family: var(--font-family-sans);
} */
.container {
  width: 100%;
  margin: auto;
  max-width: 1340px;
  padding-left: 15px;
  padding-right: 15px;
}
.container-xxl {
  max-width: 1680px;
}
.container-md {
  max-width: 1160px;
}
.container-sm {
  max-width: 940px;
}
strong {
  font-weight: 700;
}
small {
  font-size: 90%;
}
a,
.btn {
  outline: none !important;
}
a,
.btn {
  transition: all 0.35s linear;
  -webkit-transition: all 0.35s linear;
  -moz-transition: all 0.35s linear;
  -ms-transition: all 0.35s linear;
  -o-transition: all 0.35s linear;
}
a {
  color: #151a27;
  text-decoration: none !important;
}
a:hover {
  color: #e2080a;
}
p {
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  p {
    margin-bottom: 16px;
  }
}
p:last-child {
  margin-bottom: 0;
}
p a {
  text-decoration: underline !important;
}
p strong {
  font-weight: 700; /* Session 6: 600→700 per Figma bold weight rule */
}
p small {
  /* Session 6: 14/-/22 → caption size with local 22 leading */
  font-size: var(--type-caption-size);
  font-weight: var(--type-caption-weight);
  line-height: 22px;
  color: #666666;
}
h1,
.h1 {
  /* Session 6: 56/600/64 → hero token */
  font-size: var(--type-hero-size);
  font-weight: var(--type-hero-weight);
  line-height: var(--type-hero-line-height);
  margin-bottom: 32px;
}
@media screen and (max-width: 767px) {
  h1,
  .h1 {
    /* Session 6: was 46/-/54 → nearest h2 48/700/56 */
    font-size: var(--type-h2-size);
    font-weight: var(--type-h2-weight);
    line-height: var(--type-h2-line-height);
    margin-bottom: 26px;
  }
  h1 br,
  .h1 br {
    display: none;
  }
}
@media screen and (max-width: 575px) {
  h1,
  .h1 {
    /* Session 6: was 36/-/34 → nearest h3 32/700/36 */
    font-size: var(--type-h3-size);
    font-weight: var(--type-h3-weight);
    line-height: var(--type-h3-line-height);
    margin-bottom: 22px;
  }
}
h2 {
  /* Session 6: 56/600/1.14 → hero 56/700/64 */
  font-size: var(--type-hero-size);
  font-weight: var(--type-hero-weight);
  line-height: var(--type-hero-line-height);
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  h2 {
    /* Session 6: was 32/-/40 → h3 token 32/700/36 */
    margin-bottom: 20px;
    font-size: var(--type-h3-size);
    font-weight: var(--type-h3-weight);
    line-height: var(--type-h3-line-height);
  }
}
h3 {
  /* Session 6: was 40/600/1.2 → display 40/700/normal */
  font-size: var(--type-display-size);
  font-weight: var(--type-display-weight);
  line-height: normal;
  margin-bottom: 24px;
}
h3.text-sm {
  /* Session 6: was 32/- → h3 32/700/36 */
  font-size: var(--type-h3-size);
  font-weight: var(--type-h3-weight);
  line-height: var(--type-h3-line-height);
}
@media screen and (max-width: 991px) {
  h3.text-sm {
    font-size: 24px; /* Session 6: was 26 → nearest Figma scale 24 */
  }
}
h3 span {
  color: #e2080a;
}
@media screen and (max-width: 991px) {
  h3 {
    font-size: var(--type-h3-size); /* Session 6: 32 matches h3 token */
    font-weight: var(--type-h3-weight);
    line-height: var(--type-h3-line-height);
  }
}
@media screen and (max-width: 767px) {
  h3 {
    font-size: 24px; /* Session 6: was 26 → nearest Figma scale 24 */
    line-height: 32px;
    margin-bottom: 16px;
  }
}
h4 {
  /* Session 6: was 24/600/1.33 → h4 22/700/normal (size shift 24→22 to match Figma) */
  font-size: var(--type-h4-size);
  font-weight: var(--type-h4-weight);
  line-height: normal;
  margin-bottom: 16px;
}
@media (max-width: 1440px) {
  h4 {
    font-size: 22px; /* matches h4 base; kept for explicitness */
  }
}
@media screen and (max-width: 767px) {
  h4 {
    font-size: 20px; /* Session 6: matches h5 size; weight 700 inherited */
  }
}
h5 {
  /* Session 6: was 20/600/1.4 → h5 20/700/normal */
  font-size: var(--type-h5-size);
  font-weight: var(--type-h5-weight);
  line-height: normal;
  margin-bottom: 0.4em;
}
@media screen and (max-width: 991px) {
  h5 {
    font-size: 18px; /* Session 6: mobile shrink; body-m size, weight 700 inherited */
  }
}
h6 {
  /* Session 6: was 16/600/24 → button 16/600, leading-sm 24 */
  margin-bottom: 24px;
  line-height: var(--leading-sm);
  font-weight: var(--type-button-weight);
  font-size: var(--type-button-size);
}
ul,
ol {
  list-style-type: none;
}
.img-fluid {
  max-width: 100%;
}
.text-right {
  text-align: right !important;
}
.text-white {
  color: #ffffff;
}
.text-center {
  text-align: center;
}
.text-center .slick-dots {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.text-primary {
  color: #151a27 !important;
}
.text-red {
  color: #e2080a !important;
}
.text-blur {
  -webkit-filter: blur(10px);
  filter: blur(10px);
}
a.text-primary:hover {
  color: #151a27 !important;
}
.bg-white {
  background-color: #ffffff;
}
.bg-red {
  background-position: center center;
  background-blend-mode: multiply;
  background-repeat: no-repeat;
  background-color: #e2080a;
  background-size: cover;
}
hr {
  border-top: 1px solid #d6d6d6;
}
.w-100 {
  width: 100%;
}
.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.mb-32 {
  margin-bottom: 32px;
}
@media screen and (max-width: 1199px) {
  .mb-32 {
    margin-bottom: 18px;
  }
}
.mb-40 {
  margin-bottom: 40px;
}
@media screen and (max-width: 1199px) {
  .mb-40 {
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 767px) {
  .mb-40 {
    margin-bottom: 20px;
  }
}
.mb-130 {
  margin-bottom: 130px;
}
@media screen and (max-width: 1199px) {
  .mb-130 {
    margin-bottom: 90px;
  }
}
.mb-160 {
  margin-bottom: 160px;
}
@media screen and (max-width: 1199px) {
  .mb-160 {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 767px) {
  .mb-160 {
    margin-bottom: 60px;
  }
}
.mb-180 {
  margin-bottom: 180px;
}
@media screen and (max-width: 1199px) {
  .mb-180 {
    margin-bottom: 140px;
  }
}
.mb-80 {
  margin-bottom: 80px;
}
@media screen and (max-width: 1199px) {
  .mb-80 {
    margin-bottom: 50px;
  }
}
.py-40 {
  padding-top: 40px;
  padding-bottom: 40px;
}
@media screen and (max-width: 1199px) {
  .py-40 {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.pt-0 {
  padding-top: 0 !important;
}
.pt-40 {
  padding-top: 40px;
}
@media screen and (max-width: 1199px) {
  .pt-40 {
    padding-top: 25px;
  }
}
.pt-200 {
  padding-top: 200px;
}
@media screen and (max-width: 1199px) {
  .pt-200 {
    padding-top: 140px;
  }
}
@media screen and (max-width: 767px) {
  .pt-200 {
    padding-top: 120px;
  }
}
/* Session 10 + fix: when .page-content's first content block is a Figma-spec'd
   hero, drop .pt-200 from 200 to 88 (just the absolute-positioned header height).
   Heroes carry their own `padding: 100 0` to produce the Figma 100-breathing
   below the header. Total: 88 + 100 = 188 = Figma hero content top-y.
   Homepage's .single-slick wrapper (.mb-130) has no block-level padding, so a
   separate rule below adds `padding-top: 100` when it contains .single-slick.
   Accepts :has() browser-support regression on pre-Chrome-105 / pre-Firefox-121
   / pre-Safari-15.4 engines per session spec. */
.page-content.pt-200:has(> .mb-130:first-child .single-slick),
.page-content.pt-200:has(> .container.main-content:first-child > .wp-block-crib-subpage-top-section),
.page-content.pt-200:has(> .container.main-content:first-child > .wp-block-crib-subpage-top-section2) {
  padding-top: 88px; /* header height; hero's own padding provides Figma breathing */
}
/* Homepage hero: .mb-130 is only a bottom-margin utility by default; when it's
   the hero wrapper (first child of .page-content, containing .single-slick),
   add 100 top-padding to match Figma hero section padding. */
.page-content.pt-200 > .mb-130:first-child:has(.single-slick) {
  padding-top: 100px;
}
@media screen and (max-width: 767px) {
  .page-content.pt-200:has(> .mb-130:first-child .single-slick) {
    padding-top: 72px;
  }
  .page-content.pt-200 > .mb-130:first-child:has(.single-slick) {
    padding-top: 24px;
  }
}

.wp-block-crib-subpage-top-section,
.wp-block-crib-subpage-top-section2 {
  padding-bottom: var(--space-8);
  margin-bottom: var(--space-8) !important;
}
@media screen and (max-width: 991px) {
  .wp-block-crib-subpage-top-section,
  .wp-block-crib-subpage-top-section2 {
    padding-bottom: var(--space-5);
    margin-bottom: var(--space-5) !important;
  }
}
@media screen and (max-width: 767px) {
  .wp-block-crib-subpage-top-section,
  .wp-block-crib-subpage-top-section2 {
    padding-bottom: var(--space-4);
    margin-bottom: var(--space-4) !important;
  }
}
.mt-80 {
  margin-top: 80px;
}
@media screen and (max-width: 1199px) {
  .mt-80 {
    margin-top: 50px;
  }
}
@media screen and (min-width: 768px) {
  .hide-above-mobile {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .hide-mobile {
    display: none !important;
  }
}
.btn {
  /* Session 9: Figma button compound — 8x16 padding, radius 40, SemiBold 16, gap 16, sentence-case.
     Pre-Session-9: 14/700/1.57, 10x28x9, radius 24, uppercase.
     Mirrors the LESS compound at inc/styles/less/style.less:18-31. */
  border: none;
  cursor: pointer;
  font-family: var(--font-family-sans);
  font-size: 16px; /* Session 9: was 14 → Figma 16 */
  font-weight: 600; /* Session 9: was 700 → Figma SemiBold */
  line-height: normal; /* Session 9: was 1.57 → Figma normal */
  border-radius: 40px; /* Session 9: was 24 → Figma 40 */
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex; /* Session 9: was inline-block → icon-friendly flex */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px; /* Session 9: new — trailing-icon spacing */
  padding: 8px 16px; /* Session 9: was 10px 28px 9px → Figma 8x16 */
}
.btn-red {
  color: #ffffff;
  background-color: #e2080a;
}
.btn-red:hover {
  color: #ffffff;
  background-color: #151a27;
}
.btn-white {
  color: #e2080a;
  background-color: #ffffff;
}
.btn-white:hover {
  color: #ffffff;
  background-color: #151a27;
}
/* Session 9: outline-text variant — Figma node 1788:41816. */
.btn-outline {
  color: #151a27;
  background-color: transparent;
  border: 1px solid #a6a7ab;
  font-weight: 400;
}
.btn-outline:hover {
  color: #ffffff;
  background-color: #151a27;
  border-color: #151a27;
}
/* Session 9: text-only link variant with red chevron
   (Figma scratch §17 — product-card "Read more" CTAs). */
.btn-link {
  color: #e2080a;
  background-color: transparent;
  border: none;
  padding: 0;
  font-weight: 600;
}
.btn-link::after {
  content: '';
  display: inline-block;
  width: 16px;
  height: 16px;
  background: transparent url("../../image/arrow-right-long-red.svg") no-repeat center / 16px 16px;
  vertical-align: middle;
  flex-shrink: 0;
}
.btn-link:hover {
  color: #151a27;
  background-color: transparent;
}
.btn-link:hover::after {
  -webkit-filter: brightness(0) saturate(100%);
          filter: brightness(0) saturate(100%);
}
.btn-reset {
  padding: 0;
  border: none;
  background-color: transparent;
}
.btn-pill {
  font-size: var(--type-meta-size); /* Session 6: 16 matches meta/button token size */
  color: #e2080a;
  padding: 8px 16px;
  margin-bottom: 8px;
  border-radius: 16px;
  text-transform: none;
  background-color: #ffffff;
  -webkit-box-shadow: 0 4px 8px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 4px 8px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
}
.btn-pill img {
  display: inline-block;
  vertical-align: sub;
  margin-left: 12px;
  max-height: 16px;
  width: 16px;
}
.btn-pill:hover,
.btn-pill.active {
  background-color: #e2080a;
  color: #ffffff;
}
.btn-pill:hover img,
.btn-pill.active img {
  -webkit-filter: brightness(50);
          filter: brightness(50);
}
/* Session 9.5: Session 9's scoped overrides for .wp-block-crib-box
   and .wp-block-crib-button-box are removed. crib/box + crib/button
   save.js now emit `.btn btn-link` natively via [v3, v2, v1]
   deprecations — see redesign-docs/09.5-save-js-migration-playbook.md.
   The .btn-link utility above covers both surfaces uniformly now. */
/* Session 18 (C6): removed stale pre-Session-8 `.header`,
   `.header-inner`, `.header .container`, `.header-controls`,
   `.header-controls > *`, `.header-controls img`, `.header ul`,
   `.header ul > li ...` rules. This block was a hand-maintained
   mirror from creditinfo2022 which Session 8's header refresh
   did NOT update. It was effectively inert — the block editor
   iframe never renders `<header>` (header is theme chrome,
   not block content), and on the frontend `inc/styles/css/style.css`
   loads after `blocks.css` so Session 8's newer LESS-compiled
   rules won the source-order cascade. Deleting avoids future
   drift where a reader of `blocks.css` expects current values.
   `.header-mobile*` rules below are kept — they cover mobile
   chrome which is out of scope for Session 18. */
.header-mobile {
  top: 0;
  left: 0;
  width: 100%;
  z-index: 888;
  position: fixed;
  padding: 20px 16px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.header-mobile-nav {
  background-color: #ffffff;
  padding: 85px 0 50px;
  position: fixed;
  overflow: auto;
  height: 100vh;
  z-index: 777;
  width: 100%;
  top: -100%;
  left: 0;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
.header-mobile-nav.show {
  top: 0;
}
.header-mobile-bottom {
  /* Session 6: 14/400/22 → caption 14/400 with local 22 leading */
  padding: 24px 16px;
  line-height: 22px;
  font-weight: var(--type-caption-weight);
  font-size: var(--type-caption-size);
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.header-mobile-bottom a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #e2080a;
}
.header-mobile-bottom a img {
  margin-right: 8px;
}
.header-mobile-bottom .dropdown {
  margin-left: auto;
}
.nav {
  /* Session 6: 16/600 → button token */
  font-size: var(--type-button-size);
  font-weight: var(--type-button-weight);
}
.nav > li {
  padding: 18px 16px;
}
.nav li {
  position: relative;
  border-bottom: 1px solid #d6d6d6;
}
.nav li > a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.nav li.show .nav-dropdown {
  display: block;
}
.nav-btn {
  top: 20px;
  right: 16px;
  width: 24px;
  height: 24px;
  cursor: pointer;
  margin-left: auto;
  position: absolute;
  display: inline-block;
}
.nav-dropdown {
  padding-top: 5px;
  display: none;
}
.nav-dropdown > ul > li a {
  font-size: var(--type-caption-size); /* Session 6: 14 matches caption size */
}
.nav-dropdown > ul > li > a {
  padding: 8px 0;
}
.nav-dropdown > ul > li > a img {
  margin-left: 8px;
}
.nav-dropdown > ul > li ul {
  padding-left: 16px;
  margin-bottom: 15px;
  display: none;
}
.nav-dropdown > ul > li ul li {
  border: none;
}
.nav-dropdown > ul > li ul li a {
  padding: 3px 0;
  font-weight: 400; /* Session 6: softer sub-nav weight — Figma caption weight */
}
.logo img {
  display: block;
}
@media (max-width: 767px) {
  .logo img {
    max-width: 115px;
  }
}
.dropdown {
  position: relative;
}
.dropdown:hover .dropdown-menu {
  display: block;
}
.dropdown .dropdown-menu {
  right: 0;
  left: auto;
  min-width: 10em;
  padding: 10px 15px;
}
.dropdown .dropdown-menu li {
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .dropdown .dropdown-menu ul {
    display: block;
  }
  .dropdown .dropdown-menu ul li {
    margin: 0;
  }
  .dropdown .dropdown-menu ul li a {
    padding: 8px 0;
    border: none;
  }
}
.dropdown.show .dropdown-menu {
  display: block;
}
.dropdown-arrow {
  padding-right: 24px;
}
.dropdown-menu {
  -webkit-box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
  background-color: #ffffff;
  position: absolute;
  display: none;
  z-index: 88;
  width: 100%;
  top: 100%;
  left: 0;
}
.dropdown-menu ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.dropdown-row {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 15px;
}
.dropdown-links {
  max-width: 66%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 66%;
          flex: 0 0 66%;
}
.dropdown-links > ul {
  width: 50%;
  position: relative;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  padding-right: 40px;
}
.dropdown-links ul {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.dropdown-links ul li {
  margin-left: 0 !important;
}
.dropdown-links ul a {
  white-space: nowrap;
  padding: 0 !important;
  border: none !important;
}
.dropdown-links > ul > li {
  margin-top: 16px;
}
.dropdown-links > ul > li > a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.dropdown-links > ul > li > a img {
  margin-left: 8px;
}
.dropdown-links > ul > li:hover > a,
.dropdown-links > ul > li.active > a {
  color: #e2080a;
}
.dropdown-links > ul > li:hover ul,
.dropdown-links > ul > li.active ul {
  display: block;
}
.dropdown-links > ul ul {
  border-left: 1px solid #d6d6d6;
  padding-bottom: 20px;
  padding-left: 40px;
  position: absolute;
  padding-top: 10px;
  font-weight: 400; /* Session 6: softer sub-nav weight — Figma caption weight */
  display: none;
  left: 100%;
  top: 0;
}
.dropdown-links > ul ul li {
  margin-bottom: 12px;
}
.dropdown-links > ul ul a {
  color: #151a27;
}
.dropdown-links > ul ul a:hover {
  text-decoration: underline !important;
}
.dropdown-access {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (min-width: 768px) {
  .dropdown-access {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 34%;
            flex: 0 0 34%;
    max-width: 34%;
    min-height: 210px;
    padding-top: 22px;
    padding-left: 40px;
    border-left: 1px solid #d6d6d6;
  }
}
@media (max-width: 767px) {
  .dropdown-access {
    font-size: var(--type-caption-size); /* Session 6: 14 matches caption size */
    padding-top: 10px;
  }
}
.dropdown-access a {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 16px;
}
@media (max-width: 767px) {
  .dropdown-access a {
    margin-bottom: 0;
    margin-top: 12px;
  }
}
.dropdown-access a img {
  margin-right: 8px;
}
.dropdown-access a:last-child img {
  margin-right: 10px;
  margin-left: 2px;
}
@media screen and (max-width: 767px) {
  .banner-fullImage {
    position: relative;
    padding-bottom: 45%;
    margin-top: 64px;
  }
}
.banner-fullImage img {
  display: block;
}
@media screen and (max-width: 767px) {
  .banner-fullImage img {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
}
/* Session 10: banner-row / -cell / -image* rewritten to Figma 2-col hero spec.
   Was: align-items center + space-between, banner-cell 0 0 48%, banner-image
   rotated 45° with 38% radius + padding-bottom aspect-ratio hack, image
   counter-rotated. Now: flex gap 32 align flex-start justify center,
   banner-cell flex 1 1 0, banner-image plain 8px-radius rect, image natural
   flow object-fit cover.
   Mobile @media blocks preserved; they continue to size the image cell for
   narrow viewports (visual tweaks to rotation/padding-bottom are a cascade
   consequence of removing them from the desktop default — explicitly scoped-
   out per session doc but flagged in Phase D mobile-preservation check). */
.banner-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 32px;
}
@media screen and (max-width: 991px) {
  .banner-row {
    display: block;
    text-align: center;
  }
  .banner-row .slick-dots {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.banner-cell {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0;
          flex: 1 1 0;
  min-width: 0; /* allow cells to shrink below content min-size */
  max-width: none;
}
@media (max-width: 1300px) {
  .banner-cell {
    max-width: calc((100% - 32px) / 2);
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc((100% - 32px) / 2);
            flex: 0 1 calc((100% - 32px) / 2);
  }
}
@media screen and (max-width: 991px) {
  .banner-cell {
    max-width: 100%;
    -ms-flex-preferred-size: auto;
        flex-basis: auto;
  }
}
.banner-cell p {
  font-size: var(--type-intro-size); /* Session 10: was 20 (h5) -> Figma Intro 24 */
  line-height: var(--type-intro-line-height, normal);
}
@media screen and (max-width: 991px) {
  .banner-cell p {
    font-size: var(--type-body-m-size); /* Session 6: 18 matches body-m token size */
  }
}
@media screen and (max-width: 767px) {
  .banner-cell p {
    font-size: var(--type-meta-size); /* Session 6: 16 matches meta token size */
  }
}
.banner-image {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding-bottom: 0;
  max-width: none;
  border: none;
  border-radius: 8px;
  overflow: clip;
  -webkit-transform: none;
          transform: none;
}
@media (max-width: 1300px) {
  .banner-image {
    margin-right: 0;
  }
}
@media screen and (max-width: 991px) {
  .banner-image {
    margin: auto;
    margin-top: 0;
    max-width: 640px;
    margin-bottom: 32px;
    padding-bottom: 0;
  }
}
@media screen and (max-width: 575px) {
  .banner-image {
    margin-top: 0;
    max-width: 100%;
    margin-bottom: 24px;
    padding-bottom: 0;
  }
}
.banner-image-inner {
  position: static;
  top: auto;
  left: auto;
  width: auto;
  height: auto;
  overflow: hidden;
  border-radius: inherit;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.banner-image img {
  position: static;
  top: auto;
  left: auto;
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transform: none;
          transform: none;
}
/* Session 10: Homepage .single-slick hero text-stack spacing to Figma.
   h1->p gap 24, p->CTA gap 40. Uses margin-bottom per legacy pattern; flex
   gap can't do per-child spacing. */
.single-slick .slick-slide h1,
.single-slick .slick-slide h2 {
  margin: 0 0 24px;
}
.single-slick .slick-slide p {
  margin: 0 0 40px;
}
.single-slick .slick-slide .btn {
  margin-bottom: 0;
}
/* Session 10: dropped `main { background-attachment: fixed }` — conflicted
   with the scroll-anchored radial-gradient balls introduced in style.less
   this session. `scroll` is the default and is set explicitly on the main
   rule in style.less. */
.page-header .container {
  max-width: 1312px; /* Session 10: was 1080 -> Figma Sample 1 hero container width */
}
.content-slider .container {
  max-width: 660px;
  width: 100%;
}
.slick-dots {
  list-style-type: none;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.slick-dots li + li {
  margin-left: 4px;
}

.slick-dots button {
  /* Session 6: 14/600/32 — 14 matches caption, 32 local leading; weight 600→700 */
  width: 32px;
  border: none;
  height: 32px;
  color: #ffffff;
  cursor: pointer;
  font-family: var(--font-family-sans);
  font-size: var(--type-caption-size);
  font-weight: 700;
  line-height: 32px;
  text-align: center;
}
.slick-arrow {
  top: 50%;
  padding: 0;
  z-index: 5;
  border: none;
  cursor: pointer;
  position: absolute;
  background-color: transparent;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .slick-arrow {
    top: auto;
    bottom: 0;
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
}
.slick-arrow img {
  display: block;
}
.slick-arrow.prev-arrow {
  left: 0;
}
@media screen and (max-width: 767px) {
  .slick-arrow.prev-arrow {
    left: 48%;
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.slick-arrow.next-arrow {
  right: -5%;
}
@media screen and (max-width: 1440px) {
  .slick-arrow.next-arrow {
    right: 0;
  }
}
@media screen and (max-width: 767px) {
  .slick-arrow.next-arrow {
    right: 48%;
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
.grid-cards {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.grid-cards-3 .grid-card {
  min-width: 33.33%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 33.33%;
          flex: 0 0 33.33%;
}
@media screen and (max-width: 1199px) {
  .grid-cards-3 .grid-card {
    min-width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
}
@media screen and (max-width: 767px) {
  .grid-cards-3 .grid-card {
    min-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.grid-cards-2 .grid-card {
  min-width: 50%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  margin-bottom: 40px;
}
.grid-cards-2 .grid-card p {
  min-height: auto;
}
@media screen and (max-width: 767px) {
  .grid-cards-2 .grid-card {
    min-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.grid-card {
  padding: 0 20px;
  min-width: 25%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
}
.grid-card p {
  width: 100%;
  display: block;
  max-width: 550px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 1440px) {
  .grid-card {
    padding: 0 15px;
  }
}
@media screen and (max-width: 1199px) {
  .grid-card {
    min-width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
}
@media screen and (max-width: 767px) {
  .grid-card {
    min-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.card-info {
  /* Session 6: 16/-/28 — meta size + local 28 leading */
  font-family: var(--font-family-sans);
  font-size: var(--type-meta-size);
  margin-top: 80px;
  line-height: 28px;
  padding: 0 20px 40px;
  border-radius: 16px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
}
@media screen and (max-width: 1199px) {
  .card-info {
    margin-bottom: 30px;
  }
}
.card-info h4 {
  color: #e2080a;
}
.card-info p {
  min-height: 120px;
}
@media screen and (max-width: 1199px) {
  .card-info p {
    min-height: auto;
  }
}
.card-image {
  top: -75px;
  width: 160px;
  height: 160px;
  display: block;
  position: relative;
  border-radius: 60px;
  margin: 0 auto -50px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border: 1px solid rgba(153, 153, 153, 0.25);
}
.card-image img:not(.shape-icon) {
  border-radius: inherit;
  position: relative;
  max-width: 100%;
  display: block;
  left: -14px;
  top: 3px;
}
.card-image svg {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  height: 64px;
  width: 64px;
  z-index: 2;
  left: 28px;
  top: 46px;
}
.section-heading h2 {
  margin-bottom: 8px;
}
.service-grid {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .service-grid {
    display: block;
  }
}
.service-grid-image {
  max-width: 50%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}
@media screen and (max-width: 767px) {
  .service-grid-image {
    max-width: 100%;
  }
}
.service-grid-content {
  max-width: 50%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}
@media screen and (max-width: 767px) {
  .service-grid-content {
    max-width: 100%;
    text-align: center;
  }
}
.service-grid-content ul {
  margin-bottom: 28px;
}
.service-grid-content ul li {
  text-align: left;
  padding-left: 32px;
}
.service-grid-content ul li + li {
  margin-top: 5px;
}
.service-image {
  border: 1px solid rgba(153, 153, 153, 0.2);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  padding-bottom: 64.064%;
  position: relative;
  border-radius: 35%;
  max-width: 410px;
  width: 80%;
}
@media screen and (max-width: 1440px) {
  .service-image {
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 1199px) {
  .service-image {
    max-width: 360px;
    padding-bottom: 72.064%;
  }
}
@media screen and (max-width: 991px) {
  .service-image {
    max-width: 240px;
    padding-bottom: 240px;
  }
}
@media screen and (max-width: 767px) {
  .service-image {
    max-width: 150px;
    margin-bottom: 35px;
    padding-bottom: 150px;
  }
}
.service-image-inner {
  top: 2%;
  left: -15%;
  width: 98%;
  height: 98%;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  border-radius: inherit;
  -webkit-box-shadow: 40px 0 80px 0 rgba(21, 26, 39, 0.25);
          box-shadow: 40px 0 80px 0 rgba(21, 26, 39, 0.25);
}
.service-image img {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transform: rotate(-45deg) scale(1.2);
  transform: rotate(-45deg) scale(1.2);
}
.services > div:nth-child(2n+2) .service-grid-image {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2;
}
.services > div:nth-child(2n+2) .service-image {
  margin-left: auto;
}
.services > div:nth-child(2n+2) .service-image-inner {
  top: -15%;
  left: 2%;
  -webkit-box-shadow: -40px 0 80px 0 rgba(21, 26, 39, 0.25);
          box-shadow: -40px 0 80px 0 rgba(21, 26, 39, 0.25);
}
.services > div:not(:last-child) {
  margin-bottom: 180px;
}
@media screen and (max-width: 1199px) {
  .services > div:not(:last-child) {
    margin-bottom: 90px;
  }
}
.case-study {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .case-study {
    display: block;
    text-align: center;
    padding-bottom: 65px;
  }
}
.case-study-image {
  max-width: 40%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 40%;
          flex: 0 0 40%;
}
@media screen and (max-width: 767px) {
  .case-study-image {
    max-width: 100%;
  }
}
.case-study-content {
  max-width: 60%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 60%;
          flex: 0 0 60%;
}
@media screen and (max-width: 1440px) {
  .case-study-content {
    padding-right: 50px;
  }
}
@media screen and (max-width: 767px) {
  .case-study-content {
    padding-right: 0;
    max-width: 100%;
  }
}
.case-study-content ul {
  margin-bottom: 28px;
}
.case-study-content ul li {
  padding-left: 32px;
}
.case-study-content ul li + li {
  margin-top: 5px;
}
.case-image {
  border: 1px solid rgba(153, 153, 153, 0.2);
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  padding-bottom: 210px;
  position: relative;
  border-radius: 35%;
  max-width: 210px;
  margin: auto;
  width: 80%;
}
@media screen and (max-width: 767px) {
  .case-image {
    max-width: 150px;
    padding-bottom: 150px;
    margin-bottom: 35px;
    margin-top: 20px;
  }
}
.case-image-inner {
  top: 2%;
  left: -15%;
  width: 98%;
  height: 98%;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  border-radius: inherit;
  -webkit-box-shadow: 20px 0 40px 0 rgba(21, 26, 39, 0.25);
          box-shadow: 20px 0 40px 0 rgba(21, 26, 39, 0.25);
}
.case-image img {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  -webkit-transform: rotate(-45deg) scale(1.2);
  transform: rotate(-45deg) scale(1.2);
}
/*
 * Session 11 C.6: `.signup-newsletter` is PHP-template markup styled via
 * inc/styles/less/style.less (Prepros → inc/styles/css/style.css). It
 * does NOT render inside the block editor iframe, so no blocks.css
 * mirror is needed — REMOVED the duplicated rules here.
 *
 * `.testimonial` / `.testimonial-inner` / `.testimonial-row` /
 * `.testimonial-image` are the crib/testimonial Gutenberg block's
 * save.js class surface. Per CLAUDE.md surface-category rules, block-
 * scoped styling lives in per-block SCSS (`src/blocks/block13/style.scss`
 * + editor.scss). Those rules have moved there — REMOVED the legacy
 * testimonial rules from this file to kill the cross-surface coupling
 * Session 11 inherited from pre-redesign Creditinfo 2022.1 CSS.
 */
/*
 * Session 11 C.6: legacy `.testimonial-row` / `.testimonial-image`
 * block13-scoped rules removed from this file and relocated to
 * `src/blocks/block13/style.scss` + `editor.scss` per CLAUDE.md surface-
 * category rules. The block13 SCSS bundle enqueues into both frontend
 * and editor iframe, so this location is redundant for a Gutenberg
 * block's save.js markup.
 */
.blog-grid {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-left: -20px;
  margin-right: -20px;
}
@media screen and (max-width: 1199px) {
  .blog-grid {
    margin-left: -15px;
    margin-right: -15px;
  }
}
.blog-grid-list .blog-post {
  display: block !important;
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .blog-grid-list .blog-post {
    margin-bottom: 30px;
  }
}
.blog-grid .blog-post {
  padding: 0 20px;
  max-width: 25%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
}
@media screen and (max-width: 1199px) {
  .blog-grid .blog-post {
    max-width: 33.33%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33.33%;
            flex: 0 0 33.33%;
    padding: 0 15px;
  }
  .blog-grid .blog-post:last-child {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .blog-grid .blog-post {
    max-width: 50%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
  }
}
@media screen and (max-width: 575px) {
  .blog-grid .blog-post {
    max-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    text-align: center;
  }
  .blog-grid .blog-post:not(:first-child) {
    display: none;
  }
}
.blog-post-image {
  position: relative;
  border-radius: 16px;
  padding-bottom: 66.5%;
}
.blog-post-image img {
  border-radius: inherit;
  position: absolute;
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  left: 0px;
  top: 0px;
}
.blog-post-content {
  padding: 16px 16px 5px;
}
@media screen and (max-width: 991px) {
  .blog-post-content {
    padding: 15px 10px 5px;
  }
}
.blog-post-content h5 {
  color: #e2080a;
  margin-bottom: 5px;
}
.blog-post-content h5:hover {
  color: #151a27;
}
.blog-post-content h5 a {
  color: inherit;
}
@media screen and (max-width: 575px) {
  .blog-post .cat-pill {
    left: 50%;
    white-space: nowrap;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.blog-post > .cat-pill {
  position: relative;
  margin-bottom: 3px;
}
.blog-categories {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.blog-categories li {
  margin-right: 8px;
}
.blog-main {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 50px;
}
@media screen and (max-width: 767px) {
  .blog-main {
    display: block;
  }
}
.blog-main-image,
.blog-main-content {
  max-width: 48.5%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48.5%;
          flex: 0 0 48.5%;
}
@media screen and (max-width: 767px) {
  .blog-main-image,
  .blog-main-content {
    max-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.blog-main-image {
  position: relative;
}
@media screen and (max-width: 767px) {
  .blog-main-image {
    margin-bottom: 25px;
  }
}
.blog-main-image img {
  width: 100%;
  display: block;
  border-radius: 16px;
}
.blog-main-content h3 {
  color: #e2080a;
  margin-bottom: 12px;
}
.blog-single {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .blog-single {
    display: block;
  }
}
.blog-detail {
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  max-width: 100%;
}
.blog-detail .blog-main-image {
  margin-bottom: 40px;
  max-width: 100%;
  width: 100%;
}
@media screen and (max-width: 575px) {
  .blog-detail .blog-main-image {
    margin-bottom: 25px;
  }
}
.blog-detail .blog-main-image .cat-pill {
  left: 72px;
}
@media screen and (max-width: 1199px) {
  .blog-detail .blog-main-image .cat-pill {
    left: 25px;
  }
}
@media screen and (max-width: 575px) {
  .blog-detail .blog-main-image .cat-pill {
    left: 15px;
  }
}
.blog-detail-content {
  padding: 0 72px;
}
@media screen and (max-width: 1199px) {
  .blog-detail-content {
    padding: 0 25px;
  }
}
@media screen and (max-width: 767px) {
  .blog-detail-content {
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 575px) {
  .blog-detail-content {
    padding: 0 15px;
  }
}
.blog-detail-content h5 {
  margin-bottom: 32px;
  line-height: 1.6; /* Session 6: kept unitless — intentional expanded leading for intro h5 */
}
@media screen and (max-width: 575px) {
  .blog-detail-content h5 {
    margin-bottom: 26px;
  }
}
.blog-detail-content p {
  margin-bottom: 40px;
}
@media screen and (max-width: 575px) {
  .blog-detail-content p {
    margin-bottom: 28px;
  }
}
.blog-detail-content p a {
  color: #e2080a;
}
.blog-detail-content h4 {
  margin-bottom: 16px;
}
.blog-detail-content > img {
  width: 100%;
  border-radius: 16px;
  margin-bottom: 32px;
}
@media screen and (max-width: 575px) {
  .blog-detail-content > img {
    margin-bottom: 26px;
  }
}
.blog-detail-header h3 {
  margin-bottom: 8px;
}
.blog-bottom h6 {
  margin-bottom: 16px;
}
.blog-sidebar {
  margin-left: 40px;
  min-width: 300px;
  max-width: 300px;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 300px;
          flex: 0 0 300px;
}
@media screen and (max-width: 991px) {
  .blog-sidebar {
    min-width: 240px;
    max-width: 240px;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 240px;
            flex: 0 0 240px;
    margin-left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .blog-sidebar {
    margin-left: 0;
    min-width: 100%;
    max-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 25px;
  }
}
@media screen and (max-width: 575px) {
  .blog-sidebar {
    padding: 0 15px;
  }
  .blog-sidebar .cat-pill {
    left: 10px;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.blog-sidebar > div > h5 {
  margin-bottom: 16px;
}
.blog-sidebar .blog-post {
  border-bottom: 1px solid #d6d6d6;
  padding-bottom: 6px;
}
.date {
  /* Session 6: was 14/600/1.5 → caption size + 700 weight per Figma rule */
  font-family: var(--font-family-sans);
  font-size: var(--type-caption-size);
  font-weight: 700;
  line-height: 1.5;
  color: #666666;
}
@media screen and (max-width: 767px) {
  .our-partners {
    padding-top: 100px;
  }
}
.our-partners h3 {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .our-partners h3 {
    font-size: var(--type-h3-size); /* Session 6: 32 matches h3 token size */
  }
}
.our-partners p {
  margin: 0 auto 80px;
  max-width: 880px;
  display: block;
}
@media screen and (max-width: 767px) {
  .our-partners p {
    margin-bottom: 40px;
  }
}
.our-partners-logos {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-radius: 16px;
  background-color: #ffffff;
  padding: 40px 44px 40px 45px;
  -webkit-box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
}
@media screen and (max-width: 767px) {
  .our-partners-logos {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 991px) {
  .our-partners-logos {
    padding: 30px 35px;
  }
}
.our-partners-logos div {
  max-width: calc(20% - 60px);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(20% - 60px);
          flex: 0 0 calc(20% - 60px);
}
@media screen and (max-width: 991px) {
  .our-partners-logos div {
    max-width: calc(20% - 20px);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(20% - 20px);
            flex: 0 0 calc(20% - 20px);
  }
}
@media screen and (max-width: 767px) {
  .our-partners-logos div {
    max-width: calc(100% - 20px);
    -webkit-box-flex: 0;
        -ms-flex: 0 0 calc(100% - 20px);
            flex: 0 0 calc(100% - 20px);
    padding: 15px 0;
  }
  .our-partners-logos div img {
    max-width: 80%;
  }
}
.our-partners-logos img {
  max-width: 100%;
}
.footer {
  /* Session 6: 14/400 → caption token */
  padding-bottom: 40px;
  text-align: center;
  font-weight: var(--type-caption-weight);
  font-size: var(--type-caption-size);
}
.footer hr {
  margin-top: 24px;
  margin-bottom: 24px;
}
.footer-content {
  padding: 40px 72px;
  border-radius: 16px;
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .footer-content {
    padding: 40px 20px;
  }
}
.footer-content h6 {
  color: #666666;
}
.footer-address {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 22px; /* Session 6: local tight leading for address block; no token */
}
@media screen and (max-width: 767px) {
  .footer-address {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer-address img {
  width: 32px;
  margin-bottom: 16px;
}
.footer-address-cell {
  max-width: 240px;
  margin: 0 20px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .footer-address-cell {
    margin-bottom: 32px;
  }
}
.footer-address a {
  color: #e2080a;
}
.footer ul {
  list-style-type: none;
  padding: 0;
  margin: 0;
}
.footer ul li {
  margin: 0 12px 2px;
  display: inline-block;
}
.footer ul li a {
  color: #e2080a;
}
.footer ul li a:hover {
  text-decoration: underline !important;
}
.social-media {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.social-media a + a {
  margin-left: 8px;
}
.social-media img {
  display: block;
}
.copyright {
  /* Session 6: 12/18 — 12 not in Figma semantic scale; raw retained for tiny-footer copy */
  font-family: var(--font-family-sans);
  font-size: 12px;
  line-height: 18px;
  color: #666666;
}
.copyright p {
  margin-bottom: 24px;
}
.copyright img {
  max-width: 103px;
}
.search {
  padding: 40px;
  border-radius: 16px;
  background-color: #ffffff;
  -webkit-box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
}
@media screen and (max-width: 1199px) {
  .search {
    padding: 25px;
  }
}
@media screen and (max-width: 991px) {
  .search {
    padding: 30px;
  }
}
@media screen and (max-width: 767px) {
  .search {
    padding: 20px;
  }
}
.search form {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 575px) {
  .search form {
    display: block;
  }
}
.search form input {
  /* Session 6: 14/400/22 → caption 14/400 + local 22 leading */
  width: 100%;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  height: 40px;
  font-family: var(--font-family-sans);
  font-size: var(--type-caption-size);
  font-weight: var(--type-caption-weight);
  line-height: 22px;
  margin-right: 8px;
  border-radius: 20px;
  padding: 9px 34px 9px 17px;
  border: 1px solid #d6d6d6;
}
@media screen and (max-width: 575px) {
  .search form input {
    margin-right: 0;
    margin-bottom: 10px;
  }
}
.search form .btn {
  min-width: 130px;
}
.breadcrumb {
  text-transform: uppercase;
  margin-bottom: 16px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.breadcrumb a {
  color: #e2080a;
}
.breadcrumb li {
  /* Session 6: 12/600/12 eyebrow — 12 not in Figma scale; weight 600→700 */
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: var(--font-family-sans);
  line-height: 12px;
  font-weight: 700;
  font-size: 12px;
}
.breadcrumb li + li:before {
  width: 16px;
  content: "";
  height: 16px;
  margin: 0 8px;
  display: inline-block;
}
.feature-row {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 991px) {
  .feature-row {
    display: block;
  }
}
.feature-cell {
  max-width: 48%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48%;
          flex: 0 0 48%;
}
@media screen and (max-width: 991px) {
  .feature-cell {
    max-width: 100%;
  }
  .feature-cell + div {
    margin-top: 25px;
  }
}
/* Session 15: legacy .block-content / .block-item / .block-content-image
   rules for the crib/features-with-icons + crib/iconic-feature pair
   were removed here and relocated/restyled in src/blocks/block4/style.scss
   + src/blocks/block5/style.scss per CLAUDE.md surface discipline (these
   classes are emitted only by block4's save.js). Figma 1788:42191 shows
   a flat 2-col grid with plain red line icons — no card chrome, no
   rotated diamond, no dot connector, no zigzag. */
.collapse {
  font-size: var(--type-meta-size); /* Session 6: 16 matches meta token size */
}
@media screen and (max-width: 991px) {
  .collapse {
    font-size: var(--type-caption-size); /* Session 6: 14 matches caption size */
  }
}
.wp-block-crib-questions .collapse-btn {
  flex: 0 0 auto;
  width: 30px;
  height: 30px;
  border: none;
  border-radius: var(--radius-sm);
  background: var(--color-grey-light);
  cursor: pointer;
  opacity: 1;
  position: relative;
  -webkit-transition: background-color 0.2s ease;
  transition: background-color 0.2s ease;
}
.wp-block-crib-questions .collapse-btn.active {
  background: var(--color-red);
}
.wp-block-crib-questions .collapse-btn::before,
.wp-block-crib-questions .collapse-btn::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--color-black);
  -webkit-transition: background-color 0.2s ease, -webkit-transform 0.2s ease;
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.wp-block-crib-questions .collapse-btn::before {
  width: 12px;
  height: 2px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.wp-block-crib-questions .collapse-btn::after {
  width: 2px;
  height: 12px;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.wp-block-crib-questions .collapse-btn.active::before,
.wp-block-crib-questions .collapse-btn.active::after {
  background: var(--color-white);
}
.wp-block-crib-questions .collapse-btn.active::after {
  -webkit-transform: translate(-50%, -50%) scaleY(0);
          transform: translate(-50%, -50%) scaleY(0);
}
.wp-block-crib-questions .collapse-item {
  margin-bottom: 16px;
  background: var(--color-white);
  border: none;
  border-radius: var(--radius-md);
  box-shadow: var(--shadow-card-faq);
  padding: var(--space-4);
}
.wp-block-crib-questions .collapse-heading {
  display: flex;
  align-items: flex-start;
  gap: var(--space-2);
  padding: 0;
  font-family: var(--font-family-sans);
  font-weight: var(--type-h5-weight);
  font-size: var(--type-h5-size);
  line-height: var(--type-h5-line-height);
  color: var(--color-black);
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
}
.wp-block-crib-questions .collapse-heading > span {
  flex: 1 1 auto;
  min-width: 0;
}
.wp-block-crib-questions .collapse-heading > svg,
.wp-block-crib-questions .collapse-heading > img {
  display: none;
}
.wp-block-crib-questions:has(.collapse-btn.active) .collapse-heading > span {
  background: var(--gradient-red-vertical);
  -webkit-background-clip: text;
          background-clip: text;
  color: transparent;
}
@media screen and (max-width: 767px) {
  .wp-block-crib-questions .collapse-heading {
    line-height: 20px;
  }
}
.wp-block-crib-questions .collapse-body {
  display: none;
  padding: 0;
  margin-top: var(--space-3);
  font-family: var(--font-family-sans);
  font-weight: var(--type-body-m-weight);
  font-size: var(--type-body-m-size);
  line-height: var(--leading-sm);
  color: var(--color-black);
}
.wp-block-crib-questions .collapse-item .collapse-body p,
.wp-block-crib-questions .collapse-item .collapse-body p:last-child {
  margin: 0 !important;
}
.images-slider .slick-slide img {
  display: block;
  max-width: 84%;
  border-radius: 16px;
  margin: 80px auto 80px;
  background-color: #fff;
  -webkit-box-shadow: 0 16px 80px 0 rgba(21, 26, 39, 0.25), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 16px 80px 0 rgba(21, 26, 39, 0.25), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
}
@media screen and (max-width: 767px) {
  .images-slider .slick-slide img {
    max-width: 90%;
    margin: 40px auto;
    -webkit-box-shadow: 0 12px 30px 0 rgba(21, 26, 39, 0.25), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
            box-shadow: 0 12px 30px 0 rgba(21, 26, 39, 0.25), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
  }
}
.slide-dots .slick-dots {
  margin-top: -48px;
}
@media screen and (max-width: 767px) {
  .slide-dots .slick-dots {
    margin-top: 0px;
  }
}
.slide-dots .slick-dots li + li {
  margin-left: 8px;
}
.slide-dots .slick-dots button {
  width: 12px;
  height: 12px;
  font-size: 0;
  border-radius: 12px;
  background: #999999;
}
.slide-dots .slick-dots .slick-active button {
  background: #e2080a;
}
.slide-arrow {
  opacity: 0.6;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
.slide-arrow:hover {
  opacity: 1;
}
.slide-arrows .slick-arrow.next-arrow {
  right: 0;
}
@media screen and (max-width: 767px) {
  .slide-arrows .slick-arrow {
    bottom: 10px;
  }
  .slide-arrows .slick-arrow.prev-arrow {
    left: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .slide-arrows .slick-arrow.next-arrow {
    right: 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
.embed-video {
  position: relative;
}
.embed-video .video {
  width: 100%;
}
.embed-video .playpause {
  top: 50%;
  left: 50%;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 5;
  width: 80px;
  height: 80px;
  color: #ffffff;
  cursor: pointer;
  border-radius: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background-color: rgba(226, 8, 10, 0.8);
}
.embed-video .playpause svg {
  margin: auto;
}
.business-card {
  max-width: 336px;
  font-size: var(--type-meta-size); /* Session 6: 16 matches meta token size */
  width: 100%;
}
@media screen and (max-width: 575px) {
  .business-card {
    max-width: 100%;
  }
}
.business-card-image {
  width: 160px;
  height: 160px;
  display: block;
  margin-left: 15px;
  position: relative;
  border-radius: 60px;
  margin-bottom: 22px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  border: 1px solid rgba(153, 153, 153, 0.25);
}
.business-card-image img:not(.shape-icon) {
  border-radius: inherit;
  position: relative;
  max-width: 100%;
  display: block;
  left: -14px;
  top: 3px;
}
.business-card-image .shape-icon {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  height: 64px;
  width: 64px;
  z-index: 2;
  left: 28px;
  top: 46px;
}
.business-card-image svg {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  height: 64px;
  width: 64px;
  z-index: 2;
  left: 28px;
  top: 46px;
}
/* Session 14: .wp-block-crib-management-profile grid container. Replaces
   the legacy creditinfo2022.less rule (which had inter-card margin-bottom
   and a p !important override) with a responsive grid that reflects
   Figma section 1788:42544 (4 cards × 308px with 32px gap on desktop).
   Single-child wrappers render their card in column 1 left-aligned.
   Lives in blocks.css so the editor iframe inherits the same layout. */
.wp-block-crib-management-profile {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-4);
  padding-top: 32px;
}
@media screen and (max-width: 991px) {
  .wp-block-crib-management-profile {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 767px) {
  .wp-block-crib-management-profile {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

/* Session 14: rewrote .team-* compound from rotated-diamond/zigzag-flex-row
   (images rotated 45deg, border-radius 35%, 30/70 split, nth-child(2n+2) zigzag)
   to vertical-stacked Figma card (1788:42548). Scoped to .wp-block-crib-profile
   so the compound cannot leak to non-block consumers. Session 6 typography
   tokens kept; .designation eyebrow retokenized to meta (16/400/normal/black).
   Mirror of the LESS compound in inc/styles/less/style.less. */
.wp-block-crib-profile.team-member {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: 0;
}
.wp-block-crib-profile .team-member-image {
  width: 100%;
  max-width: none;
}
.wp-block-crib-profile .team-member-content {
  width: 100%;
  max-width: none;
}
.wp-block-crib-profile .team-member-content h4 {
  /* Session 14: was 22/700 legacy → team-name token 24/700 */
  font-family: var(--font-family-sans);
  font-size: var(--type-team-name-size);
  font-weight: var(--type-team-name-weight);
  line-height: normal;
  color: var(--color-black);
  margin: 0;
}
.wp-block-crib-profile .team-member-content .designation {
  /* Session 14: was Session-6's 12/700/18 uppercase red eyebrow →
     meta token 16/400/normal black per Figma card (1788:42548). */
  font-family: var(--font-family-sans);
  font-size: var(--type-meta-size);
  font-weight: var(--type-meta-weight);
  line-height: normal;
  color: var(--color-black);
  margin: 0;
  text-transform: none;
}
.wp-block-crib-profile .team-image {
  /* Session 14: was 45deg-rotated diamond (border-radius 35%, rotate(45deg),
     padding-bottom 210px, box-shadow) → clean 1:1 square with 8px radius. */
  position: relative;
  width: 100%;
  aspect-ratio: 1 / 1;
  border: 0;
  border-radius: var(--radius-sm);
  overflow: hidden;
  transform: none;
  padding-bottom: 0;
  margin: 0;
  max-width: none;
}
.wp-block-crib-profile .team-image-inner {
  position: absolute;
  inset: 0;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  box-shadow: none;
  border-radius: inherit;
}
.wp-block-crib-profile .team-image img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: none;
}
/* Session 14: hide bio paragraph and social icon row per Figma 1788:42548
   (photo + name + title only). Attributes remain in save.js — this is a
   CSS-only hide, no save.js migration and no deprecation. Scoped to
   .wp-block-crib-profile so it cannot affect other blocks. */
.wp-block-crib-profile .team-member-content > p {
  display: none;
}
.wp-block-crib-profile .social {
  display: none;
}
@media screen and (max-width: 767px) {
  .wp-block-crib-profile.team-member {
    flex-direction: row;
    align-items: center;
    gap: var(--space-2);
  }
  .wp-block-crib-profile .team-member-image {
    flex: 0 0 96px;
    width: 96px;
  }
  .wp-block-crib-profile .team-member-content {
    min-width: 0;
  }
  .wp-block-crib-profile .team-member-content h4 {
    font-family: var(--font-family-sans);
    font-size: var(--type-h5-size);
    font-weight: var(--type-h5-weight);
    line-height: normal;
    margin-bottom: var(--space-1);
  }
  .wp-block-crib-profile .team-member-content .designation {
    font-family: var(--font-family-sans);
    font-size: var(--type-caption-size);
    font-weight: var(--type-caption-weight);
    line-height: normal;
  }
  .wp-block-crib-profile .team-image {
    width: 96px;
    max-width: 96px;
    margin: 0;
  }
}
.social img {
  width: 32px;
}
.social a {
  margin-right: 4px;
}
.cat-pill {
  /* Session 6: 12/600/12 eyebrow — 12 not in Figma scale; weight kept at 600 (Figma button weight) */
  font-family: var(--font-family-sans);
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
  padding: 4px 8px;
  line-height: 12px;
  border-radius: 10px;
  text-transform: uppercase;
  background-color: #e2080a;
  position: absolute;
  bottom: -10px;
  z-index: 5;
  left: 16px;
}
a.cat-pill:hover {
  background-color: #151a27;
  color: #ffffff;
}
blockquote {
  margin-bottom: 40px;
  padding-left: 110px;
  position: relative;
}
@media screen and (max-width: 575px) {
  blockquote {
    margin-bottom: 28px;
    padding-left: 46px;
    background-size: 32px;
  }
}
blockquote h6 {
  /* Session 6: was 14/600/22 → caption size, keep 600 weight for eyebrow emphasis */
  text-transform: uppercase;
  color: #666666;
  line-height: 22px;
  font-weight: 600;
  font-size: var(--type-caption-size);
}
.tags {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.tags li {
  display: inline-block;
  margin-right: 8px;
  margin-bottom: 5px;
}
.tags .cat-pill {
  position: static;
  display: block;
  bottom: 0;
}
.price-cards {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 991px) {
  .price-cards {
    display: block;
  }
}
.price-card {
  max-width: calc(33.33% - 25px);
  -webkit-box-flex: 0;
      -ms-flex: 0 0 calc(33.33% - 25px);
          flex: 0 0 calc(33.33% - 25px);
  padding: 40px;
  font-size: var(--type-meta-size); /* Session 6: 16 matches meta token size */
  margin-bottom: 40px;
  border-radius: 16px;
  border: 2px solid #ffffff;
  background-color: #ffffff;
  -webkit-box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
          box-shadow: 0 16px 40px 0 rgba(21, 26, 39, 0.1), 0 2px 4px 0 rgba(21, 26, 39, 0.1);
}
@media screen and (max-width: 991px) {
  .price-card {
    width: 100%;
    display: block;
    max-width: 360px;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 1199px) {
  .price-card {
    line-height: var(--leading-sm); /* Session 6: was 28 → leading-sm token */
    font-size: var(--type-caption-size); /* Session 6: 14 matches caption size */
    padding: 20px;
  }
}
.price-card:nth-child(2) {
  border-color: #e2080a;
}
.price-card:nth-child(2) .price-btn {
  background-color: #e2080a;
  color: #ffffff;
}
.price-card:nth-child(2) .price-btn h4 {
  color: inherit;
}
.price-card:hover {
  border-color: #e2080a;
}
.price-card ul {
  margin-bottom: 40px;
  min-height: 200px;
}
@media screen and (max-width: 1199px) {
  .price-card ul {
    min-height: 260px;
  }
}
@media screen and (max-width: 991px) {
  .price-card ul {
    min-height: auto;
  }
}
.price-card ul li {
  text-align: left;
  padding-left: 32px;
}
.price-card ul li + li {
  margin-top: 10px;
}
.price-title {
  margin-bottom: 16px;
  text-align: center;
  color: #e2080a;
}
.price-btn {
  background-color: rgba(238, 238, 238, 0.49);
  text-align: center;
  border-radius: 8px;
  color: #666666;
  font-size: var(--type-caption-size); /* Session 6: 14 matches caption size */
  display: block;
  padding: 10px 5px 6px;
}
.price-btn h4 {
  color: #151a27;
  margin: 0;
}
.price-btn:hover {
  color: #ffffff;
  background-color: #e2080a;
}
.price-btn:hover h4 {
  color: inherit;
}
.price-table {
  /* Session 6: was 16/-/28 → meta size + leading-sm */
  font-size: var(--type-meta-size);
  line-height: var(--leading-sm);
  padding: 35px 40px;
  border-radius: 16px;
  background-color: #ffffff;
  border: solid 1px #d6d6d6;
}
@media screen and (max-width: 767px) {
  .price-table {
    padding: 22px 15px 20px;
    font-size: var(--type-caption-size); /* Session 6: 14 matches caption size */
  }
}
.price-table-overflow {
  overflow: auto;
}
.price-table-list table {
  margin-bottom: 0 !important;
}
.price-table-list table tr:last-child td {
  border-bottom: none;
}
.price-table table {
  margin-bottom: 16px;
  width: 100%;
}
.price-table table th,
.price-table table td {
  text-align: center;
  padding: 8px 5px 8px 0;
  white-space: nowrap;
  border-bottom: 1px solid #d6d6d6;
}
.price-table table th:first-child,
.price-table table td:first-child {
  white-space: normal;
  text-align: left;
  min-width: 240px;
}
label {
  /* Session 6: 12/600/12 label — 12 not in Figma scale; weight 600 retained for eyebrow */
  font-family: var(--font-family-sans);
  font-size: 12px;
  font-weight: 600;
  line-height: 12px;
  margin-bottom: 8px;
  text-transform: uppercase;
}
.form-row {
  margin: 0 -8px;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 575px) {
  .form-row {
    display: block;
  }
}
.form-row .form-group {
  margin-bottom: 16px;
  padding: 0 8px;
  max-width: 50%;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
}
@media screen and (max-width: 575px) {
  .form-row .form-group {
    max-width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
  }
}
.form-group input,
.form-group select {
  height: 64px;
}
@media screen and (max-width: 575px) {
  .form-group input,
  .form-group select {
    height: 52px;
  }
}
.form-group input,
.form-group select,
.form-group textarea {
  /* Session 6: was 16/400/22 → meta token size + weight, 22 kept as local form-field leading */
  width: 100%;
  font-family: var(--font-family-sans);
  font-size: var(--type-meta-size);
  font-weight: var(--type-meta-weight);
  line-height: 22px;
  padding: 10px 15px;
  border-radius: 16px;
  background-color: #ffffff;
  border: 1px solid #d6d6d6;
}
@media screen and (max-width: 575px) {
  .form-group input,
  .form-group select,
  .form-group textarea {
    border-radius: 14px;
  }
}
.form-group select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.plan-categories {
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.plan-categories li {
  margin-right: 8px;
}
/* Session 9: gradient-red clipped-text utility for accent headings
   (Figma scratch §10, §11 — features-with-image row titles). */
.gradient-title,
.wp-block-crib-features-with-image h3 {
  background: var(--gradient-red);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
  color: transparent;
}
