/* BEGIN VOCAVERA BLOG STAGE2 1.0.5 */
body:has(.vv-blog-page),
body:has(.vv-blog-page) > .wp-site-blocks {
  margin: 0;
  padding: 0;
}

.vv-blog-page {
  --vv-blog-bg: #f8fbff;
  --vv-blog-text: #07142f;
  --vv-blog-text-2: #50607f;
  --vv-blog-text-3: #63738f;
  --vv-blog-blue: #245fe8;
  --vv-blog-blue-2: #2686ea;
  --vv-blog-cyan: #1fb3c2;
  --vv-blog-green: #0f9f45;
  --vv-blog-violet: #795fff;
  --vv-blog-border: rgba(71, 105, 160, .16);
  --vv-blog-shadow-xs: 0 5px 18px rgba(21, 58, 122, .05);
  --vv-blog-shadow-sm: 0 12px 34px rgba(20, 56, 120, .08);
  --vv-blog-shadow-md: 0 22px 58px rgba(20, 56, 120, .12);
  --vv-blog-max: 1424px;
  --vv-blog-reading: 820px;
  --vv-blog-ease: cubic-bezier(.2, .8, .2, 1);
  margin: 0;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  color: var(--vv-blog-text);
  background:
    radial-gradient(850px 520px at 72% 19%, rgba(68, 135, 255, .13), transparent 65%),
    radial-gradient(620px 460px at 35% 34%, rgba(46, 201, 210, .055), transparent 72%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 49%, #ffffff 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
  overflow-x: hidden;
}

.vv-blog-page,
.vv-blog-page * {
  box-sizing: border-box;
}

.vv-blog-page :where(a) {
  color: inherit;
  text-decoration: none;
}

.vv-blog-page :where(img) {
  max-width: 100%;
}

.vv-blog-page :where(button, input, textarea, select) {
  font: inherit;
}

.vv-blog-page :where(a, button, summary):focus-visible {
  outline: 3px solid rgba(47, 164, 255, .44);
  outline-offset: 4px;
  border-radius: 12px;
}

.vv-blog-page > :where(*) {
  margin-block-start: 0;
  margin-block-end: 0;
}

.vv-blog-skip {
  position: fixed;
  top: -90px;
  left: 16px;
  z-index: 1000;
  padding: 11px 16px;
  border-radius: 12px;
  background: var(--vv-blog-text);
  color: #fff;
  font-size: 14px;
  font-weight: 750;
  transition: top .2s var(--vv-blog-ease);
}

.vv-blog-skip:focus {
  top: 14px;
}

.vv-blog-header {
  position: sticky;
  top: 0;
  z-index: 50;
  border-bottom: 1px solid rgba(59, 93, 151, .12);
  background: rgba(255, 255, 255, .72);
  -webkit-backdrop-filter: blur(22px) saturate(140%);
  backdrop-filter: blur(22px) saturate(140%);
}

.admin-bar .vv-blog-header {
  top: 32px;
}

.vv-blog-header__inner {
  width: min(var(--vv-blog-max), calc(100% - 96px));
  height: 84px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr) 398px;
  align-items: center;
  gap: 24px;
}

.vv-blog-brand {
  display: inline-flex;
  align-items: center;
  width: 196px;
  transition: transform .22s var(--vv-blog-ease), opacity .22s var(--vv-blog-ease);
}

.vv-blog-brand:hover {
  transform: translateY(-1px);
  opacity: .96;
}

.vv-blog-brand img {
  display: block;
  width: 196px;
  height: auto;
}

.vv-blog-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(20px, 2.4vw, 38px);
  min-width: 0;
  color: #0c1731;
  font-size: 16px;
  font-weight: 650;
  letter-spacing: -.012em;
}

.vv-blog-nav a {
  white-space: nowrap;
}

.vv-blog-nav a,
.vv-blog-login {
  position: relative;
  color: #0c1731;
  transition: color .18s var(--vv-blog-ease);
}

.vv-blog-nav a::after,
.vv-blog-login::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -8px;
  left: 0;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--vv-blog-blue), var(--vv-blog-cyan));
  transform: scaleX(0);
  transform-origin: center;
  transition: transform .22s var(--vv-blog-ease);
}

.vv-blog-login::after {
  bottom: 2px;
}

.vv-blog-nav a:hover,
.vv-blog-login:hover {
  color: var(--vv-blog-blue);
}

.vv-blog-nav a:hover::after,
.vv-blog-login:hover::after {
  transform: scaleX(1);
}

.vv-blog-header__actions,
.vv-blog-top-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.vv-blog-header__actions {
  gap: 16px;
  color: #0c1731;
  font-size: 16px;
  font-weight: 650;
}

.vv-blog-top-actions {
  min-width: 0;
  gap: 16px;
  order: 1;
}

.vv-blog-login {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  font-weight: 650;
}

.vv-blog-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 58px;
  padding: 0 30px;
  border: 1px solid transparent;
  border-radius: 14px;
  font-size: 17px;
  font-weight: 760;
  letter-spacing: -.015em;
  line-height: 1.1;
  white-space: nowrap;
  user-select: none;
  transition:
    transform .24s var(--vv-blog-ease),
    box-shadow .24s var(--vv-blog-ease),
    border-color .24s var(--vv-blog-ease),
    background .24s var(--vv-blog-ease);
}

.vv-blog-button:hover {
  transform: translateY(-2px);
}

.vv-blog-button:active {
  transform: translateY(0);
}

.vv-blog-button--primary {
  color: #fff;
  background: linear-gradient(135deg, #2457e6 0%, #2870ea 52%, #1b78c7 100%);
  box-shadow: 0 14px 32px rgba(36, 95, 232, .23), inset 0 1px 0 rgba(255, 255, 255, .30);
}

.vv-blog-button--primary:hover {
  box-shadow: 0 19px 40px rgba(36, 95, 232, .29), inset 0 1px 0 rgba(255, 255, 255, .32);
}

.vv-blog-button--secondary {
  color: var(--vv-blog-text);
  border-color: rgba(64, 97, 156, .18);
  background: rgba(255, 255, 255, .76);
  box-shadow: var(--vv-blog-shadow-xs), inset 0 1px 0 rgba(255, 255, 255, .96);
}

.vv-blog-button--secondary:hover {
  border-color: rgba(36, 95, 232, .28);
  box-shadow: var(--vv-blog-shadow-sm);
}

.vv-blog-arrow {
  font-size: 20px;
  line-height: 1;
  transform: translateY(-1px);
  transition: transform .24s var(--vv-blog-ease);
}

.vv-blog-button--primary:hover .vv-blog-arrow {
  transform: translate(4px, -1px);
}

.vv-blog-header__start {
  order: 2;
}

.vv-blog-menu {
  display: none;
  position: relative;
  z-index: 80;
  order: 3;
}

.vv-blog-menu-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(64, 97, 156, .16);
  border-radius: 13px;
  color: var(--vv-blog-text);
  background: rgba(255, 255, 255, .78);
  box-shadow: var(--vv-blog-shadow-xs), inset 0 1px 0 rgba(255, 255, 255, .95);
  cursor: pointer;
  list-style: none;
  transition: transform .22s var(--vv-blog-ease), border-color .22s var(--vv-blog-ease), box-shadow .22s var(--vv-blog-ease), color .22s var(--vv-blog-ease);
}

.vv-blog-menu-button::-webkit-details-marker {
  display: none;
}

.vv-blog-menu-button:hover {
  transform: translateY(-1px);
  border-color: rgba(36, 95, 232, .26);
  color: var(--vv-blog-blue);
  box-shadow: var(--vv-blog-shadow-sm), inset 0 1px 0 rgba(255, 255, 255, .96);
}

.vv-blog-burger-lines {
  width: 18px;
  height: 14px;
  display: flex;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: space-between;
}

.vv-blog-burger-lines span {
  display: block;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
  transition: transform .22s var(--vv-blog-ease), opacity .22s var(--vv-blog-ease);
}

.vv-blog-menu[open] .vv-blog-burger-lines span:nth-child(1) {
  transform: translateY(6px) rotate(45deg);
}

.vv-blog-menu[open] .vv-blog-burger-lines span:nth-child(2) {
  opacity: 0;
}

.vv-blog-menu[open] .vv-blog-burger-lines span:nth-child(3) {
  transform: translateY(-6px) rotate(-45deg);
}

.vv-blog-menu__panel {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  width: min(286px, calc(100vw - 28px));
  padding: 9px;
  display: block;
  border: 1px solid rgba(63, 98, 156, .16);
  border-radius: 20px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 24px 70px rgba(20, 56, 120, .16), inset 0 1px 0 rgba(255, 255, 255, .96);
  -webkit-backdrop-filter: blur(18px) saturate(140%);
  backdrop-filter: blur(18px) saturate(140%);
}

.vv-blog-menu__panel a {
  min-height: 46px;
  padding: 0 13px;
  display: flex;
  align-items: center;
  border-radius: 13px;
  color: var(--vv-blog-text);
  font-size: 15px;
  font-weight: 720;
  letter-spacing: -.015em;
  transition: background .18s var(--vv-blog-ease), color .18s var(--vv-blog-ease), transform .18s var(--vv-blog-ease);
}

.vv-blog-menu__panel a:hover {
  color: var(--vv-blog-blue);
  background: rgba(36, 95, 232, .07);
  transform: translateX(2px);
}

.vv-blog-main {
  position: relative;
  flex: 1 0 auto;
  margin: 0;
}

.vv-blog-main > :where(*) {
  margin-block-start: 0;
  margin-block-end: 0;
}

.vv-blog-hero {
  width: min(var(--vv-blog-max), calc(100% - 96px));
  min-height: 590px;
  margin: 0 auto;
  padding: 70px 0 62px;
  display: grid;
  grid-template-columns: minmax(0, .96fr) minmax(520px, 1.04fr);
  align-items: center;
  gap: clamp(52px, 6vw, 92px);
}

.vv-blog-hero__copy {
  max-width: 700px;
}

.vv-blog-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 9px;
  margin-bottom: 30px;
}

.vv-blog-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 36px;
  padding: 0 14px;
  border: 1px solid rgba(36, 95, 232, .18);
  border-radius: 13px;
  color: var(--vv-blog-blue);
  background: rgba(255, 255, 255, .76);
  box-shadow: 0 8px 24px rgba(38, 100, 219, .05), inset 0 1px 0 rgba(255, 255, 255, .92);
  font-size: 15px;
  font-weight: 760;
}

.vv-blog-chip--blue {
  color: #245fe8;
  border-color: rgba(36, 95, 232, .18);
  background: #f4f8ff;
}

.vv-blog-chip--violet {
  color: #6650c9;
  border-color: rgba(102, 80, 201, .18);
  background: #f4f0ff;
}

.vv-blog-chip--green {
  color: var(--vv-blog-green);
  border-color: rgba(15, 159, 69, .18);
  background: #effaf3;
}

.vv-blog-accent {
  color: var(--vv-blog-blue);
  background: linear-gradient(103deg, #2457e6 0%, #2a73ed 55%, #1aa7bc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
}

.vv-blog-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--vv-blog-text);
  font-size: clamp(46px, 4.3vw, 65px);
  font-weight: 820;
  line-height: 1.02;
  letter-spacing: -.052em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.vv-blog-hero__copy > p {
  max-width: 660px;
  margin: 27px 0 0;
  color: var(--vv-blog-text-2);
  font-size: 20px;
  line-height: 1.52;
  letter-spacing: -.018em;
  font-weight: 500;
}

.vv-blog-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 28px;
  margin-top: 34px;
}

.vv-blog-hero__visual {
  position: relative;
  min-height: 420px;
  display: grid;
  place-items: center;
}

.vv-blog-preview-card {
  position: relative;
  z-index: 2;
  width: min(100%, 590px);
  padding: 26px;
  border: 1px solid rgba(71, 105, 160, .14);
  border-radius: 28px;
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 30px 80px rgba(32, 76, 150, .13), inset 0 1px 0 rgba(255, 255, 255, .92);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}

.vv-blog-preview-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 17px;
  color: #31415f;
  font-size: 14px;
  font-weight: 760;
}

.vv-blog-preview-card__time {
  padding: 7px 10px;
  border-radius: 10px;
  color: var(--vv-blog-blue);
  background: rgba(36, 95, 232, .07);
}

.vv-blog-preview-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 15px;
  min-height: 88px;
  padding: 14px 13px;
  border-top: 1px solid rgba(71, 105, 160, .10);
}

.vv-blog-preview-row > div {
  min-width: 0;
}

.vv-blog-preview-row strong,
.vv-blog-preview-row small {
  display: block;
}

.vv-blog-preview-row strong {
  color: #0d1a34;
  font-size: 16px;
  line-height: 1.3;
}

.vv-blog-preview-row small {
  margin-top: 4px;
  color: var(--vv-blog-text-2);
  font-size: 13px;
  line-height: 1.45;
}

.vv-blog-preview-row > span:last-child {
  color: #98a7c1;
  font-size: 20px;
}

.vv-blog-preview-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #fff;
  font-size: 15px;
  font-weight: 820;
  box-shadow: 0 10px 24px rgba(27, 74, 154, .14);
}

.vv-blog-preview-icon--blue {
  background: linear-gradient(135deg, #245fe8, #2686ea);
}

.vv-blog-preview-icon--cyan {
  background: linear-gradient(135deg, #1da9c8, #35d1c6);
}

.vv-blog-preview-icon--violet {
  background: linear-gradient(135deg, #6b5bf5, #9e78ff);
}

.vv-blog-orbit {
  position: absolute;
  border-radius: 999px;
  filter: blur(.2px);
  pointer-events: none;
}

.vv-blog-orbit--one {
  top: 22px;
  right: 14px;
  width: 190px;
  height: 190px;
  background: radial-gradient(circle at 35% 32%, rgba(38, 134, 234, .36), rgba(36, 95, 232, .06) 58%, transparent 72%);
}

.vv-blog-orbit--two {
  bottom: 24px;
  left: 10px;
  width: 150px;
  height: 150px;
  background: radial-gradient(circle at 45% 45%, rgba(31, 179, 194, .26), rgba(121, 95, 255, .05) 60%, transparent 74%);
}

.vv-blog-listing {
  width: min(var(--vv-blog-max), calc(100% - 96px));
  margin: 0 auto;
  padding: 54px 0 88px;
  scroll-margin-top: 104px;
}

.vv-blog-section-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 520px);
  align-items: end;
  gap: 50px;
  margin-bottom: 32px;
}

.vv-blog-eyebrow {
  display: inline-block;
  margin-bottom: 10px;
  color: var(--vv-blog-blue);
  font-size: 13px;
  font-weight: 820;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.vv-blog-section-head h2,
.vv-blog-bottom-cta h2,
.vv-blog-article__cta h2 {
  margin: 0;
  color: var(--vv-blog-text);
  font-size: clamp(30px, 3vw, 46px);
  font-weight: 810;
  line-height: 1.08;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.vv-blog-section-head > p {
  margin: 0 0 3px;
  color: var(--vv-blog-text-2);
  font-size: 17px;
  line-height: 1.65;
}

.vv-blog-query,
.vv-blog-query > :where(*) {
  margin-block-start: 0;
  margin-block-end: 0;
}

.vv-blog-page ul.vv-blog-grid.wp-block-post-template,
.vv-blog-page .vv-blog-grid {
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
  list-style: none;
  list-style-type: none;
}

.vv-blog-page ul.vv-blog-grid.wp-block-post-template > li,
.vv-blog-page .vv-blog-grid > li {
  min-width: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  list-style-type: none;
}

.vv-blog-page ul.vv-blog-grid.wp-block-post-template > li::marker,
.vv-blog-page .vv-blog-grid > li::marker {
  content: none;
  font-size: 0;
}

.vv-blog-card {
  position: relative;
  min-width: 0;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid rgba(71, 105, 160, .14);
  border-radius: 22px;
  background: rgba(255, 255, 255, .88);
  box-shadow: var(--vv-blog-shadow-xs);
  transition: transform .25s var(--vv-blog-ease), box-shadow .25s var(--vv-blog-ease), border-color .25s var(--vv-blog-ease);
}

.vv-blog-card:hover {
  transform: translateY(-4px);
  border-color: rgba(36, 95, 232, .22);
  box-shadow: 0 20px 48px rgba(20, 56, 120, .11);
}

.vv-blog-card__media-shell {
  aspect-ratio: 16 / 9;
  min-height: 0;
  margin: 0;
  overflow: hidden;
  border-bottom: 1px solid rgba(71, 105, 160, .10);
  background:
    radial-gradient(circle at 76% 25%, rgba(38, 134, 234, .55), transparent 31%),
    radial-gradient(circle at 29% 68%, rgba(31, 179, 194, .26), transparent 33%),
    linear-gradient(135deg, #edf5ff 0%, #f9fcff 52%, #eef7ff 100%);
}

.vv-blog-card__media {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.vv-blog-card__media a,
.vv-blog-card__media img {
  display: block;
  width: 100%;
  height: 100%;
}

.vv-blog-card__media img {
  object-fit: cover;
  transition: transform .45s var(--vv-blog-ease);
}

.vv-blog-card:hover .vv-blog-card__media img {
  transform: scale(1.025);
}

.vv-blog-card__body {
  flex: 1 1 auto;
  min-width: 0;
  padding: 23px 24px 24px;
  display: flex;
  flex-direction: column;
}

.vv-blog-card__body > :where(*) {
  margin-block-start: 0;
  margin-block-end: 0;
}

.vv-blog-card__meta {
  min-height: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 15px;
}

.vv-blog-card__label {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 0 9px;
  border-radius: 9px;
  color: var(--vv-blog-blue);
  background: rgba(36, 95, 232, .07);
  font-size: 12px;
  font-weight: 790;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.vv-blog-card__date {
  color: var(--vv-blog-text-3);
  font-size: 12.5px;
  font-weight: 620;
  white-space: nowrap;
}

.vv-blog-page .vv-blog-card__title {
  margin: 0;
  color: #0b1731;
  font-size: clamp(20px, 1.7vw, 25px);
  font-weight: 790;
  line-height: 1.18;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}

.vv-blog-page .vv-blog-card__title a {
  color: inherit;
}

.vv-blog-page .vv-blog-card__title a:hover {
  color: var(--vv-blog-blue);
}

.vv-blog-page .vv-blog-card__excerpt {
  margin-top: 13px;
  color: var(--vv-blog-text-2);
  font-size: 15px;
  line-height: 1.62;
}

.vv-blog-page .vv-blog-card__excerpt > :where(*) {
  margin: 0;
}

.vv-blog-page .vv-blog-card__link {
  margin-top: auto;
  padding-top: 20px;
  color: var(--vv-blog-blue);
  font-size: 15px;
  font-weight: 780;
}

.vv-blog-page .vv-blog-card__link:hover {
  color: #154fc7;
}

.vv-blog-pagination {
  gap: 8px;
  margin-top: 42px;
}

.vv-blog-pagination .page-numbers,
.vv-blog-pagination .wp-block-query-pagination-previous,
.vv-blog-pagination .wp-block-query-pagination-next {
  min-width: 42px;
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid rgba(71, 105, 160, .15);
  border-radius: 11px;
  color: #233351;
  background: rgba(255, 255, 255, .84);
  font-size: 14px;
  font-weight: 720;
  box-shadow: var(--vv-blog-shadow-xs);
}

.vv-blog-pagination .current,
.vv-blog-pagination a:hover {
  color: #fff;
  border-color: transparent;
  background: var(--vv-blog-blue);
}

.vv-blog-empty {
  padding: 64px 28px;
  text-align: center;
  border: 1px solid var(--vv-blog-border);
  border-radius: 24px;
  background: rgba(255, 255, 255, .82);
  box-shadow: var(--vv-blog-shadow-xs);
}

.vv-blog-empty__icon {
  width: 52px;
  height: 52px;
  margin: 0 auto 17px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  background: linear-gradient(135deg, var(--vv-blog-blue), var(--vv-blog-blue-2));
  box-shadow: 0 14px 32px rgba(36, 95, 232, .22);
  font-size: 22px;
}

.vv-blog-empty h3 {
  margin: 0;
  font-size: 27px;
  font-weight: 800;
  letter-spacing: -.03em;
}

.vv-blog-empty p {
  max-width: 610px;
  margin: 10px auto 23px;
  color: var(--vv-blog-text-2);
}

.vv-blog-bottom-cta {
  width: min(var(--vv-blog-max), calc(100% - 96px));
  margin: 0 auto 92px;
  padding: 40px 44px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 40px;
  overflow: hidden;
  border: 1px solid rgba(36, 95, 232, .14);
  border-radius: 26px;
  background:
    radial-gradient(480px 250px at 95% 10%, rgba(38, 134, 234, .13), transparent 72%),
    linear-gradient(135deg, rgba(255, 255, 255, .94), rgba(245, 250, 255, .91));
  box-shadow: var(--vv-blog-shadow-sm);
}

.vv-blog-bottom-cta p,
.vv-blog-article__cta p {
  max-width: 740px;
  margin: 12px 0 0;
  color: var(--vv-blog-text-2);
  font-size: 16px;
  line-height: 1.62;
}

.vv-blog-bottom-cta__actions,
.vv-blog-article__cta-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.vv-blog-footer {
  margin-top: auto;
  border-top: 0;
  background: rgba(255, 255, 255, .52);
}

.vv-blog-footer__inner {
  width: min(var(--vv-blog-max), calc(100% - 96px));
  margin: 0 auto;
  padding: 18px 0 22px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 26px;
}

.vv-blog-footer__inner--mobile {
  display: none;
}

.vv-blog-footer__note {
  min-width: 250px;
  display: flex;
  align-items: baseline;
  gap: 13px;
  color: #63738f;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
}

.vv-blog-copyright {
  white-space: nowrap;
}

.vv-blog-footer__note p {
  margin: 0;
  color: #63738f;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: 0;
  white-space: nowrap;
}

.vv-blog-footer__links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px 22px;
  color: var(--vv-blog-text-2);
  font-size: 13px;
  font-weight: 650;
}

.vv-blog-footer__links a {
  transition: color .2s var(--vv-blog-ease), transform .2s var(--vv-blog-ease);
}

.vv-blog-footer__links a:hover {
  color: var(--vv-blog-blue);
  transform: translateY(-1px);
}

.vv-blog-socials {
  margin: 0;
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 10px;
}

.vv-blog-social-icon {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(63, 98, 156, .12);
  border-radius: 12px;
  color: #31415f;
  background: rgba(255, 255, 255, .62);
  box-shadow: none;
  transition: transform .22s var(--vv-blog-ease), color .22s var(--vv-blog-ease), border-color .22s var(--vv-blog-ease), background .22s var(--vv-blog-ease);
}

.vv-blog-social-icon:hover {
  transform: translateY(-2px);
  color: var(--vv-blog-blue);
  border-color: rgba(36, 95, 232, .24);
  background: rgba(255, 255, 255, .86);
}

.vv-blog-social-icon svg {
  display: block;
}

/* Article */
.vv-blog-page--article {
  background:
    radial-gradient(760px 430px at 50% 4%, rgba(68, 135, 255, .09), transparent 67%),
    linear-gradient(180deg, #ffffff 0%, #f9fcff 42%, #ffffff 100%);
}

.vv-blog-article {
  width: min(var(--vv-blog-max), calc(100% - 96px));
  margin: 0 auto;
  padding: 54px 0 88px;
}

.vv-blog-article > :where(*) {
  margin-block-start: 0;
  margin-block-end: 0;
}

.vv-blog-article__top {
  width: min(100%, 980px);
  margin: 0 auto;
  text-align: center;
}

.vv-blog-back {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 28px;
  color: var(--vv-blog-text-2);
  font-size: 14px;
  font-weight: 700;
}

.vv-blog-back:hover {
  color: var(--vv-blog-blue);
}

.vv-blog-chips--article {
  justify-content: center;
  margin-bottom: 19px;
}

.vv-blog-page .vv-blog-article__title {
  width: min(100%, 1030px);
  margin: 0 auto;
  color: var(--vv-blog-text);
  text-align: center;
  font-size: clamp(38px, 5vw, 70px);
  font-weight: 830;
  line-height: 1.045;
  letter-spacing: -.052em;
  text-wrap: balance;
  overflow-wrap: anywhere;
}

.vv-blog-page .vv-blog-article__meta {
  margin-top: 21px;
  color: var(--vv-blog-text-3);
  font-size: 14px;
  font-weight: 640;
}

.vv-blog-article__dot {
  opacity: .65;
}

.vv-blog-article__cover-shell {
  position: relative;
  width: min(100%, 1120px);
  aspect-ratio: 16 / 9;
  min-height: 0;
  margin: 40px auto 0;
  overflow: hidden;
  border: 1px solid rgba(71, 105, 160, .12);
  border-radius: 26px;
  background:
    radial-gradient(circle at 76% 25%, rgba(38, 134, 234, .46), transparent 31%),
    radial-gradient(circle at 29% 68%, rgba(31, 179, 194, .22), transparent 33%),
    linear-gradient(135deg, #edf5ff 0%, #f9fcff 52%, #eef7ff 100%);
  box-shadow: 0 24px 62px rgba(24, 60, 124, .10);
}

.vv-blog-page .vv-blog-article__cover {
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.vv-blog-article__cover a,
.vv-blog-article__cover img {
  width: 100%;
  height: 100%;
  display: block;
}

.vv-blog-article__cover img {
  object-fit: cover;
}

.vv-blog-article__content-shell {
  width: min(100%, var(--vv-blog-reading));
  margin: 46px auto 0;
}

.vv-blog-article__content,
.vv-blog-article__content > :where(*) {
  margin-block-start: 0;
  margin-block-end: 0;
}

.vv-blog-page .vv-blog-article__content {
  color: #182642;
  font-size: clamp(17px, 1.4vw, 19px);
  line-height: 1.82;
}

.vv-blog-article__content > :where(p, ul, ol, blockquote, figure, table, pre) + :where(p, ul, ol, blockquote, figure, table, pre) {
  margin-top: 1.35em;
}

.vv-blog-article__content > :where(h2, h3, h4) {
  color: var(--vv-blog-text);
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -.032em;
  text-wrap: balance;
}

.vv-blog-article__content > h2 {
  margin-top: 2.05em;
  font-size: clamp(28px, 3vw, 38px);
}

.vv-blog-article__content > h3 {
  margin-top: 1.8em;
  font-size: clamp(23px, 2.4vw, 30px);
}

.vv-blog-article__content > h4 {
  margin-top: 1.65em;
  font-size: 21px;
}

.vv-blog-article__content > :where(h2, h3, h4) + :where(p, ul, ol, blockquote, figure, table, pre, .wp-block-table, .wp-block-embed) {
  margin-top: .72em;
}

.vv-blog-article__content :where(p, li, a) {
  overflow-wrap: anywhere;
}

.vv-blog-article__content :where(a) {
  color: #175bdc;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: .18em;
}

.vv-blog-article__content :where(a:hover) {
  color: #0c45b6;
}

.vv-blog-article__content :where(ul, ol) {
  padding-left: 1.25em;
}

.vv-blog-article__content :where(li) + li {
  margin-top: .44em;
}

.vv-blog-article__content blockquote {
  padding: 18px 22px;
  border-left: 4px solid var(--vv-blog-blue);
  border-radius: 0 16px 16px 0;
  color: #223553;
  background: rgba(36, 95, 232, .055);
}

.vv-blog-article__content blockquote > :where(*) {
  margin: 0;
}

.vv-blog-article__content figure {
  margin-right: 0;
  margin-left: 0;
}

.vv-blog-article__content :where(.wp-block-table) {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.vv-blog-article__content :where(.alignwide, .alignfull) {
  max-width: 100%;
  margin-right: 0;
  margin-left: 0;
}

.vv-blog-article__content :where(iframe, video) {
  max-width: 100%;
}

.vv-blog-article__content :where(img) {
  border-radius: 18px;
}

.vv-blog-article__content figcaption {
  margin-top: 8px;
  color: var(--vv-blog-text-3);
  font-size: 13px;
  line-height: 1.45;
  text-align: center;
}

.vv-blog-article__content :where(table) {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}

.vv-blog-article__content :where(th, td) {
  padding: 12px 14px;
  border: 1px solid var(--vv-blog-border);
  text-align: left;
  vertical-align: top;
  overflow-wrap: anywhere;
}

.vv-blog-article__content th {
  background: rgba(36, 95, 232, .055);
  font-weight: 750;
}

.vv-blog-article__content :where(pre) {
  overflow-x: auto;
  padding: 18px;
  border-radius: 16px;
  color: #eaf2ff;
  background: #0d1b34;
  font-size: 14px;
  line-height: 1.62;
}

.vv-blog-article__content :where(code) {
  padding: .12em .36em;
  border-radius: 6px;
  background: rgba(36, 95, 232, .07);
  font-size: .92em;
}

.vv-blog-article__content pre code {
  padding: 0;
  background: transparent;
}

.vv-blog-article__cta {
  width: min(100%, 980px);
  margin: 64px auto 0;
  padding: 34px 36px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 34px;
  border: 1px solid rgba(36, 95, 232, .15);
  border-radius: 24px;
  background:
    radial-gradient(420px 200px at 100% 0%, rgba(38, 134, 234, .13), transparent 72%),
    rgba(248, 251, 255, .90);
  box-shadow: var(--vv-blog-shadow-sm);
}

.vv-blog-article__cta h2 {
  font-size: clamp(27px, 2.8vw, 38px);
}

.vv-blog-article-nav {
  width: min(100%, 980px);
  margin: 26px auto 0;
  padding-top: 26px;
  border-top: 1px solid rgba(71, 105, 160, .13);
  gap: 18px;
}

.vv-blog-article-nav :where(a) {
  max-width: 430px;
  color: #243552;
  font-size: 14px;
  font-weight: 720;
  line-height: 1.45;
}

.vv-blog-article-nav :where(a:hover) {
  color: var(--vv-blog-blue);
}

@media (min-width: 1261px) {
  .vv-blog-header__start {
    width: 138px;
    min-width: 138px;
    min-height: 52px;
    padding: 0 18px;
    gap: 12px;
    border-radius: 14px;
    font-size: 16px;
  }
}

/* Current public-header v1.0.3 medium-desktop contract: keep the full
   six-link navigation visible without colliding with logo/actions. */
@media (min-width: 1261px) and (max-width: 1519px) {
  .vv-blog-header__inner {
    width: min(100% - 40px, var(--vv-blog-max));
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
  }

  .vv-blog-nav {
    gap: clamp(18px, 2.6vw, 40px);
  }

  .vv-blog-header__actions {
    justify-self: end;
    gap: 16px;
  }
}

@media (max-width: 1360px) {
  .vv-blog-hero,
  .vv-blog-listing,
  .vv-blog-bottom-cta,
  .vv-blog-article {
    width: min(100% - 48px, var(--vv-blog-max));
  }

  .vv-blog-hero {
    min-height: 0;
    padding: 58px 0 50px;
    grid-template-columns: 1fr;
    gap: 42px;
  }

  .vv-blog-hero__copy {
    max-width: 780px;
  }

  .vv-blog-hero__visual {
    min-height: 370px;
  }

  .vv-blog-preview-card {
    width: min(100%, 680px);
  }
}

@media (max-width: 1260px) {
  .vv-blog-header__inner {
    width: min(100% - 40px, var(--vv-blog-max));
    height: 72px;
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
  }

  .vv-blog-brand,
  .vv-blog-brand img {
    width: 164px;
  }

  .vv-blog-nav {
    display: none;
  }

  .vv-blog-header__actions {
    justify-self: end;
    gap: 12px;
    font-size: 15px;
  }

  .vv-blog-top-actions {
    gap: 8px;
  }

  .vv-blog-header__start {
    display: none;
  }

  .vv-blog-login {
    min-height: 44px;
    font-size: 15px;
  }

  .vv-blog-menu {
    display: block;
  }


  .vv-blog-footer__inner {
    width: min(100% - 40px, var(--vv-blog-max));
  }
}

@media (max-width: 1080px) {
  .vv-blog-section-head {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .vv-blog-page .vv-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .vv-blog-bottom-cta,
  .vv-blog-article__cta {
    grid-template-columns: 1fr;
  }

  .vv-blog-bottom-cta__actions,
  .vv-blog-article__cta-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .vv-blog-footer__inner--desktop {
    display: none;
  }

  .vv-blog-footer__inner--mobile {
    width: min(100% - 28px, 720px);
    padding: 22px 0 26px;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    gap: 16px;
  }

  .vv-blog-footer__inner--mobile .vv-blog-footer__note {
    min-width: 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  .vv-blog-footer__inner--mobile .vv-blog-footer__note p {
    white-space: normal;
    line-height: 1.35;
  }

  .vv-blog-footer__links {
    justify-content: flex-start;
  }
}

@media (max-width: 782px) {
  .admin-bar .vv-blog-header {
    top: 46px;
  }
}

@media (max-width: 760px) {
  .vv-blog-hero,
  .vv-blog-listing,
  .vv-blog-bottom-cta,
  .vv-blog-article {
    width: calc(100% - 28px);
  }

  .vv-blog-hero {
    padding: 44px 0 40px;
  }

  .vv-blog-chips {
    margin-bottom: 22px;
  }

  .vv-blog-chip {
    min-height: 32px;
    padding: 0 11px;
    font-size: 12.5px;
  }

  .vv-blog-hero h1 {
    font-size: clamp(34px, 8.4vw, 47px);
    line-height: 1.04;
  }

  .vv-blog-hero__copy > p {
    margin-top: 20px;
    font-size: 17px;
  }

  .vv-blog-hero__actions,
  .vv-blog-bottom-cta__actions,
  .vv-blog-article__cta-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .vv-blog-button {
    width: 100%;
    min-height: 50px;
    padding-right: 20px;
    padding-left: 20px;
    font-size: 16px;
  }

  .vv-blog-hero__visual {
    min-height: 0;
  }

  .vv-blog-preview-card {
    padding: 18px;
    border-radius: 22px;
  }

  .vv-blog-preview-row {
    grid-template-columns: 44px minmax(0, 1fr) 20px;
    gap: 12px;
    min-height: 82px;
    padding: 12px 8px;
  }

  .vv-blog-preview-icon {
    width: 42px;
    height: 42px;
  }

  .vv-blog-orbit {
    display: none;
  }

  .vv-blog-listing {
    padding: 42px 0 64px;
  }

  .vv-blog-page .vv-blog-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .vv-blog-card {
    border-radius: 19px;
  }

  .vv-blog-card__body {
    padding: 20px;
  }

  .vv-blog-page .vv-blog-card__title {
    font-size: 22px;
  }

  .vv-blog-bottom-cta {
    margin-bottom: 64px;
    padding: 28px 22px;
    border-radius: 22px;
  }

  .vv-blog-article {
    padding: 38px 0 64px;
  }

  .vv-blog-back {
    margin-bottom: 22px;
  }

  .vv-blog-page .vv-blog-article__title {
    font-size: clamp(34px, 11vw, 50px);
  }

  .vv-blog-page .vv-blog-article__meta {
    margin-top: 16px;
  }

  .vv-blog-article__cover-shell {
    margin-top: 30px;
    border-radius: 20px;
  }

  .vv-blog-article__content-shell {
    margin-top: 34px;
  }

  .vv-blog-page .vv-blog-article__content {
    font-size: 17px;
    line-height: 1.76;
  }

  .vv-blog-article__cta {
    margin-top: 48px;
    padding: 27px 22px;
    border-radius: 21px;
  }

  .vv-blog-page .vv-blog-article-nav {
    align-items: stretch;
    flex-direction: column;
  }
}

@media (max-width: 700px) {
  .vv-blog-header {
    transition: padding-bottom .24s var(--vv-blog-ease);
  }

  .vv-blog-menu {
    position: static;
  }

  .vv-blog-header:has(.vv-blog-menu[open]) {
    padding-bottom: 442px;
  }

  .vv-blog-menu__panel {
    position: absolute;
    top: 82px;
    right: 14px;
    left: 14px;
    z-index: 70;
    width: auto;
    padding: 0;
    display: none;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .vv-blog-menu[open] .vv-blog-menu__panel {
    display: grid;
    gap: 10px;
  }

  .vv-blog-menu__panel a {
    min-height: 50px;
    padding: 0 18px;
    border: 1px solid rgba(63, 98, 156, .16);
    border-radius: 18px;
    color: var(--vv-blog-text-2);
    background: rgba(255, 255, 255, .96);
    box-shadow: var(--vv-blog-shadow-xs), inset 0 1px 0 rgba(255, 255, 255, .96);
    font-size: 17px;
    font-weight: 760;
  }

  .vv-blog-menu__panel a:hover {
    color: var(--vv-blog-blue);
    background: rgba(248, 251, 255, .98);
    transform: translateX(0);
  }
}

@media (max-width: 600px) {
  .admin-bar .vv-blog-header {
    top: 0;
  }
}

@media (max-width: 560px) {
  .vv-blog-hero__visual {
    display: none;
  }

  .vv-blog-header__inner {
    width: calc(100% - 20px);
    height: 64px;
    gap: 8px;
  }

  .vv-blog-brand,
  .vv-blog-brand img {
    width: 132px;
  }

  .vv-blog-header__actions,
  .vv-blog-top-actions {
    gap: 6px;
  }

  .vv-blog-login {
    min-height: 36px;
    font-size: 13.5px;
    line-height: 1;
  }

  .vv-blog-menu {
    margin-right: -4px;
  }

  .vv-blog-menu-button {
    width: 38px;
    min-width: 38px;
    height: 38px;
    min-height: 38px;
    border-radius: 12px;
  }

  .vv-blog-burger-lines {
    width: 17px;
    height: 13px;
  }

  .vv-blog-menu__panel {
    top: 72px;
  }

  .vv-blog-header:has(.vv-blog-menu[open]) {
    padding-bottom: 424px;
  }
}

@media (max-width: 420px) {
  .vv-blog-hero,
  .vv-blog-listing,
  .vv-blog-bottom-cta,
  .vv-blog-article {
    width: calc(100% - 22px);
  }

  .vv-blog-hero h1 {
    font-size: 36px;
  }

  .vv-blog-preview-card__top {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .vv-blog-card__meta {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}

@media (max-width: 380px) {
  .vv-blog-header__inner {
    width: calc(100% - 18px);
    height: 62px;
    gap: 6px;
  }

  .vv-blog-brand,
  .vv-blog-brand img {
    width: 118px;
  }

  .vv-blog-header__actions,
  .vv-blog-top-actions {
    gap: 5px;
  }

  .vv-blog-login {
    min-height: 34px;
    font-size: 13px;
  }

  .vv-blog-menu {
    margin-right: -5px;
  }

  .vv-blog-menu-button {
    width: 36px;
    min-width: 36px;
    height: 36px;
    min-height: 36px;
    border-radius: 11px;
  }

  .vv-blog-menu__panel {
    top: 68px;
    right: 10px;
    left: 10px;
  }

  .vv-blog-header:has(.vv-blog-menu[open]) {
    padding-bottom: 420px;
  }
}

@media (max-width: 340px) {
  .vv-blog-brand,
  .vv-blog-brand img {
    width: 106px;
  }

  .vv-blog-login {
    min-height: 32px;
    font-size: 12.5px;
  }

  .vv-blog-menu-button {
    width: 34px;
    min-width: 34px;
    height: 34px;
    min-height: 34px;
  }

  .vv-blog-burger-lines {
    width: 16px;
    height: 12px;
  }

  .vv-blog-menu__panel {
    top: 64px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .vv-blog-page *,
  .vv-blog-page *::before,
  .vv-blog-page *::after {
    scroll-behavior: auto;
    transition-duration: .001ms;
    animation-duration: .001ms;
    animation-iteration-count: 1;
  }
}

/* Current VocaVera external-page title scale. */
@media (min-width: 1441px) {
  .vv-blog-hero h1 { font-size: clamp(56px, 3.85vw, 65px); }
}

@media (min-width: 1381px) and (max-width: 1440px) {
  .vv-blog-hero h1 { font-size: 57px; }
}

/* Public homepage CTA sizing: exact desktop/intermediate button geometry. */
.vv-blog-hero__actions .vv-blog-button {
  width: 248px;
  flex: 0 0 248px;
}

@media (min-width: 701px) and (max-width: 1320px) {
  .vv-blog-hero__actions .vv-blog-button {
    width: 236px;
    flex-basis: 236px;
  }
}

@media (min-width: 1361px) and (max-width: 1380px) {
  .vv-blog-hero h1 { font-size: clamp(48px, 4.09vw, 55px); }
}

@media (min-width: 761px) and (max-width: 1360px) {
  .vv-blog-hero h1 { font-size: clamp(48px, 6.2vw, 60px); }
}

@media (min-width: 561px) and (max-width: 760px) {
  .vv-blog-hero h1 { font-size: clamp(44px, 7.2vw, 54px); }
}

@media (max-width: 560px) {
  .vv-blog-hero h1 { font-size: clamp(32px, 8.4vw, 47px); }
}



/* VOCAVERA BLOG 1.0.5 — exact public-shell / responsive parity hardening.
   These declarations intentionally come last so WordPress Core block CSS and
   earlier blog component rules cannot override the production VocaVera shell. */
.vv-blog-page {
  line-height: normal;
}

.vv-blog-skip {
  top: -80px;
  z-index: 100;
  padding: 12px 16px;
}

.vv-blog-nav {
  align-items: normal;
  color: inherit;
}

.vv-blog-header__actions {
  color: inherit;
}

.vv-blog-button {
  cursor: pointer;
  line-height: normal;
  will-change: transform;
}

.vv-blog-button--primary {
  background: linear-gradient(135deg, #2457e6 0%, #2870ea 52%, #1d8fd4 100%);
  box-shadow: 0 14px 32px rgba(36,95,232,.23), inset 0 1px 0 rgba(255,255,255,.30);
}

.vv-blog-button--primary:hover {
  box-shadow: 0 19px 40px rgba(36,95,232,.29), inset 0 1px 0 rgba(255,255,255,.32);
}

.vv-blog-button--secondary {
  background: rgba(255,255,255,.72);
}

.vv-blog-menu-button {
  gap: 0;
  user-select: none;
  font-weight: 760;
  font-size: 15px;
  letter-spacing: -.015em;
}

.vv-blog-menu-button:hover {
  border-color: rgba(36,104,242,.26);
}

.vv-blog-menu__panel a:hover {
  background: rgba(36,104,242,.07);
}

/* Homepage hero geometry/typography follows the current external VocaVera
   contract. Blog-specific copy/visual remains content-owned. */
.vv-blog-hero {
  min-height: 650px;
  padding: 34px 0 28px;
  grid-template-columns: minmax(540px, .9fr) minmax(670px, 1.1fr);
  gap: 48px;
}

.vv-blog-hero__copy {
  min-width: 0;
  max-width: 680px;
  padding: 14px 0 0;
}

.vv-blog-chips {
  gap: 10px;
  margin-bottom: 42px;
}

.vv-blog-chip {
  gap: 9px;
  min-height: 36px;
  padding: 0 14px;
  color: var(--vv-blog-blue);
  border-color: rgba(36,104,242,.20);
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 24px rgba(38,100,219,.055), inset 0 1px 0 rgba(255,255,255,.90);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -.01em;
  white-space: nowrap;
}

.vv-blog-chip--blue {
  color: var(--vv-blog-blue);
  border-color: rgba(36,104,242,.20);
  background: rgba(255,255,255,.72);
}

.vv-blog-chip--violet {
  color: var(--vv-blog-violet);
  border-color: rgba(121,95,255,.16);
  background: rgba(247,245,255,.82);
}

.vv-blog-chip--green {
  color: #138040;
  border-color: rgba(15,159,69,.16);
  background: rgba(240,252,245,.82);
}

.vv-blog-accent {
  background: linear-gradient(103deg, #2457e6 0%, #2a73ed 55%, #1aa7bc 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  letter-spacing: -.052em;
  /* Safari can clip the right edge of the last glyph when gradient text
     is combined with negative letter-spacing. Give the inline paint box a
     tiny compensated guard without changing the visible layout width. */
  padding-right: .08em;
  margin-right: -.08em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.vv-blog-hero h1 {
  max-width: 720px;
  font-weight: 830;
  line-height: 1.06;
  letter-spacing: -.062em;
}

.vv-blog-hero__copy > p {
  max-width: clamp(410px, 30vw, 440px);
  margin-top: 26px;
}

.vv-blog-hero__actions {
  margin-top: 26px;
}

/* Cards use the same surface language as VocaVera's public route cards. */
.vv-blog-card {
  border-color: rgba(63,98,156,.15);
  border-radius: 20px;
  background: rgba(255,255,255,.78);
  box-shadow: var(--vv-blog-shadow-xs), inset 0 1px 0 rgba(255,255,255,.92);
}

.vv-blog-card:hover {
  transform: translateY(-3px);
  border-color: rgba(36,104,242,.25);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 42px rgba(20,56,120,.10), inset 0 1px 0 rgba(255,255,255,.95);
}

/* WordPress post-template is a UL/LI. Keep CSS authoritative so Core's grid
   block output cannot freeze the desktop column count on tablets/phones. */
.vv-blog-page ul.vv-blog-grid.wp-block-post-template,
.vv-blog-page .vv-blog-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* Footer shell mirrors the public pages byte-for-byte in visual values. */
.vv-blog-footer__note {
  color: var(--vv-blog-text-2);
  font-size: inherit;
  line-height: normal;
  font-weight: inherit;
}

.vv-blog-copyright {
  color: #6f7f9b;
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  white-space: nowrap;
}

.vv-blog-footer__note p {
  color: #6f7f9b;
}

.vv-blog-footer__links {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

.vv-blog-footer__links a {
  color: var(--vv-blog-text-2);
  font-size: 13px;
  font-weight: 650;
}

.vv-blog-social-icon:hover {
  border-color: rgba(36,104,242,.24);
}

@media (min-width: 1261px) and (max-width: 1519px) {
  .vv-blog-header__inner {
    width: min(100% - 40px, var(--vv-blog-max));
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 16px;
  }

  .vv-blog-nav {
    gap: clamp(18px, 2.6vw, 40px);
  }

  .vv-blog-header__actions {
    justify-self: end;
    gap: 16px;
  }
}

@media (min-width: 1361px) and (max-width: 1380px) {
  .vv-blog-hero {
    grid-template-columns: minmax(560px, .94fr) minmax(650px, 1.06fr);
    gap: 36px;
  }

  .vv-blog-hero__copy {
    max-width: 620px;
  }

  .vv-blog-hero h1 {
    max-width: 590px;
  }

  .vv-blog-hero__copy > p {
    max-width: 540px;
  }
}

@media (min-width: 1381px) and (max-width: 1440px) {
  .vv-blog-hero {
    grid-template-columns: minmax(590px, .94fr) minmax(650px, 1.06fr);
    gap: 40px;
  }

  .vv-blog-hero h1 {
    max-width: 620px;
  }
}

@media (max-width: 1360px) {
  .vv-blog-hero,
  .vv-blog-listing,
  .vv-blog-bottom-cta,
  .vv-blog-article {
    width: min(100% - 48px, var(--vv-blog-max));
  }

  .vv-blog-hero {
    min-height: auto;
    padding: 42px 0 28px;
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 38px;
  }

  .vv-blog-hero__copy {
    width: 100%;
    max-width: min(720px, 100%);
    margin-inline: auto;
    padding-top: 14px;
    justify-self: center;
    text-align: center;
  }

  .vv-blog-hero h1,
  .vv-blog-hero__copy > p {
    margin-left: auto;
    margin-right: auto;
  }

  .vv-blog-hero__copy > p {
    max-width: 620px;
  }

  .vv-blog-chips,
  .vv-blog-hero__actions {
    justify-content: center;
  }

  .vv-blog-hero__visual {
    width: 100%;
    min-height: 370px;
  }

  .vv-blog-preview-card {
    width: min(100%, 680px);
  }
}

@media (max-width: 1260px) {
  /* Footer intentionally stays on the desktop public-page width here; the
     public footer switches only at 900px. */
  .vv-blog-footer__inner {
    width: min(var(--vv-blog-max), calc(100% - 96px));
  }
}

@media (max-width: 1120px) {
  /* Matches the current external-page cascade: the historical 1120px rule
     leaves only flex-direction in effect after the later public-shell base. */
  .vv-blog-footer__inner--desktop {
    flex-direction: column;
  }
}

@media (max-width: 1080px) {
  .vv-blog-page ul.vv-blog-grid.wp-block-post-template,
  .vv-blog-page .vv-blog-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .vv-blog-hero,
  .vv-blog-listing,
  .vv-blog-bottom-cta,
  .vv-blog-article {
    width: min(100% - 28px, 720px);
  }

  .vv-blog-hero {
    padding: 30px 0 24px;
  }

  .vv-blog-hero__copy {
    padding-top: 0;
  }

  .vv-blog-chips {
    margin-bottom: 28px;
    gap: 8px;
  }

  .vv-blog-chip {
    min-height: 34px;
    padding: 0 12px;
    font-size: 14px;
  }

  .vv-blog-hero__copy > p {
    max-width: 520px;
    font-size: 18px;
  }

  .vv-blog-hero__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 560px);
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
    gap: 14px;
  }

  .vv-blog-hero__actions .vv-blog-button {
    width: 100%;
    flex: 0 1 auto;
    min-width: 0;
    min-height: 54px;
    padding: 0 16px;
    font-size: 16px;
  }

  .vv-blog-footer__inner--mobile {
    width: min(100% - 28px, 720px);
  }

  .vv-blog-footer__inner--mobile .vv-blog-footer__note p {
    line-height: 1;
  }
}

@media (max-width: 760px) {
  .vv-blog-hero {
    padding-top: 28px;
  }

  .vv-blog-page ul.vv-blog-grid.wp-block-post-template,
  .vv-blog-page .vv-blog-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 700px) {
  .vv-blog-hero__actions {
    grid-template-columns: 1fr;
    width: min(100%, 420px);
    max-width: 420px;
    gap: 12px;
  }
}

@media (max-width: 560px) {
  .vv-blog-page,
  .vv-blog-page--article {
    background: linear-gradient(180deg, #fff 0%, #f7fbff 56%, #fff 100%);
  }

  .vv-blog-hero__visual {
    display: none;
  }

  .vv-blog-footer__note {
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
  }

  .vv-blog-footer__note p {
    white-space: normal;
    line-height: 1.35;
  }

  .vv-blog-footer__links {
    gap: 9px 16px;
  }
}

@media (min-width: 1441px) {
  .vv-blog-hero h1 { font-size: clamp(56px, 3.85vw, 65px); }
}

@media (min-width: 1381px) and (max-width: 1440px) {
  .vv-blog-hero h1 { font-size: 57px; }
}

@media (min-width: 1361px) and (max-width: 1380px) {
  .vv-blog-hero h1 { font-size: clamp(48px, 4.09vw, 55px); }
}

@media (min-width: 561px) and (max-width: 1360px) {
  .vv-blog-hero h1 { font-size: clamp(48px, 8.2vw, 64px); }
}

@media (max-width: 560px) {
  .vv-blog-hero h1 { font-size: clamp(27px, 8.4vw, 47px); }
}

@media (max-width: 430px) {
  .vv-blog-hero h1 {
    line-height: 1.08;
    letter-spacing: -.058em;
  }
}


/* Final VocaVera public-page content rhythm parity. The blog keeps its own
   subject matter, but uses the same responsive geometry and typography. */
.vv-blog-hero__actions {
  align-items: center;
  flex-wrap: nowrap;
}

@media (min-width: 1381px) and (max-width: 1400px) {
  .vv-blog-hero h1 {
    line-height: 1.06;
  }

  .vv-blog-hero__copy > p {
    max-width: 500px;
  }
}

@media (min-width: 1361px) and (max-width: 1380px) {
  .vv-blog-hero h1 {
    line-height: 1.06;
  }
}

@media (min-width: 1321px) and (max-width: 1380px) {
  .vv-blog-hero__actions {
    gap: 18px;
  }

  .vv-blog-hero__actions .vv-blog-button {
    min-height: 56px;
    padding-left: 24px;
    padding-right: 24px;
    font-size: 16px;
  }
}

@media (min-width: 901px) and (max-width: 1360px) {
  .vv-blog-hero {
    gap: 34px;
    padding-top: 34px;
  }

  .vv-blog-hero h1 {
    line-height: 1.06;
  }

  .vv-blog-hero__copy > p {
    max-width: 620px;
    font-size: 19px;
  }
}

@media (max-width: 900px) {
  .vv-blog-hero h1 {
    line-height: 1.08;
    letter-spacing: -.058em;
  }
}

@media (max-width: 760px) {
  .vv-blog-hero {
    gap: 26px;
  }

  .vv-blog-chips {
    margin-bottom: 26px;
  }
}

@media (max-width: 560px) {
  .vv-blog-hero h1 {
    line-height: 1.08;
  }

  .vv-blog-chip {
    font-size: 13px;
    letter-spacing: -.01em;
  }

  .vv-blog-hero__copy > p {
    max-width: 340px;
    margin-top: 22px;
    font-size: 17px;
    line-height: 1.52;
  }
}

@media (max-width: 430px) {
  .vv-blog-hero__copy > p {
    max-width: 100%;
  }

  .vv-blog-hero h1 {
    line-height: 1.08;
    letter-spacing: -.058em;
  }
}

@media (max-width: 380px) {
  .vv-blog-hero__actions .vv-blog-button {
    min-height: 52px;
    padding-left: 14px;
    padding-right: 14px;
    font-size: 15.5px;
  }
}

@media (max-width: 340px) {
  .vv-blog-chip {
    padding-left: 11px;
    padding-right: 11px;
    font-size: 12.5px;
  }
}



/* VocaVera Blog 1.0.5 — article navigation composition polish.
   Public header/footer/background remain identical to the external-page shell;
   only blog-owned article navigation is refined. */
.vv-blog-article__top {
  text-align: left;
}

.vv-blog-article__breadcrumb {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}

.vv-blog-back {
  margin-bottom: 0;
  padding: 4px 0;
  gap: 7px;
  color: #667796;
  font-size: 13px;
  font-weight: 680;
  line-height: 1.4;
  letter-spacing: -.006em;
  transition: color .18s var(--vv-blog-ease), transform .18s var(--vv-blog-ease);
}

.vv-blog-back:hover {
  color: var(--vv-blog-blue);
  transform: translateX(-2px);
}

.vv-blog-chips--article {
  margin-top: 18px;
  margin-bottom: 18px;
}

.vv-blog-article-nav {
  width: min(100%, 980px);
  margin: 20px auto 0;
  padding-top: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: 14px;
  border-top: 0;
}

.vv-blog-article-nav > .wp-block-post-navigation-link {
  min-width: 0;
  margin: 0;
}

.vv-blog-article-nav__prev {
  grid-column: 1;
}

.vv-blog-article-nav__next {
  grid-column: 2;
}

.vv-blog-article-nav > .wp-block-post-navigation-link:empty {
  display: none;
}

.vv-blog-article-nav :where(a) {
  width: 100%;
  max-width: none;
  min-height: 112px;
  padding: 18px 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  gap: 7px;
  overflow: hidden;
  border: 1px solid rgba(71, 105, 160, .15);
  border-radius: 18px;
  color: var(--vv-blog-text);
  background: rgba(255, 255, 255, .78);
  box-shadow: 0 8px 24px rgba(20, 56, 120, .055), inset 0 1px 0 rgba(255, 255, 255, .94);
  font-size: 15px;
  font-weight: 720;
  line-height: 1.42;
  text-align: left;
  transition: transform .2s var(--vv-blog-ease), border-color .2s var(--vv-blog-ease), box-shadow .2s var(--vv-blog-ease), background .2s var(--vv-blog-ease);
}

.vv-blog-article-nav__next :where(a) {
  align-items: flex-end;
  text-align: right;
}

.vv-blog-article-nav :where(.post-navigation-link__label) {
  display: block;
  color: #63738f;
  font-size: 12px;
  font-weight: 760;
  line-height: 1.35;
  letter-spacing: .018em;
}

.vv-blog-article-nav :where(.post-navigation-link__title) {
  display: block;
  max-width: 100%;
  color: #172746;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.38;
  letter-spacing: -.012em;
  overflow-wrap: anywhere;
}

.vv-blog-article-nav :where(a:hover) {
  color: var(--vv-blog-text);
  border-color: rgba(36, 95, 232, .30);
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 13px 32px rgba(20, 56, 120, .085), inset 0 1px 0 rgba(255, 255, 255, .98);
  transform: translateY(-2px);
}

@media (max-width: 760px) {
  .vv-blog-article__top {
    width: min(100%, var(--vv-blog-reading));
  }

  .vv-blog-back {
    font-size: 12.5px;
  }

  .vv-blog-chips--article {
    margin-top: 15px;
    margin-bottom: 16px;
  }

  .vv-blog-page .vv-blog-article-nav {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin-top: 16px;
  }

  .vv-blog-article-nav__prev,
  .vv-blog-article-nav__next {
    grid-column: 1;
  }

  .vv-blog-article-nav :where(a),
  .vv-blog-article-nav__next :where(a) {
    min-height: 0;
    padding: 16px 17px;
    align-items: flex-start;
    text-align: left;
  }

  .vv-blog-article-nav :where(.post-navigation-link__title) {
    font-size: 15px;
  }
}

/* END VOCAVERA BLOG STAGE2 1.0.5 */


/* VocaVera Blog 1.1.0 — category navigation and archive pages. */
a.vv-blog-preview-row {
  color: inherit;
  text-decoration: none;
  border-radius: 16px;
  transition: background .18s var(--vv-blog-ease), transform .18s var(--vv-blog-ease), box-shadow .18s var(--vv-blog-ease);
}

a.vv-blog-preview-row:hover {
  color: inherit;
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 0 0 1px rgba(36,104,242,.08);
  transform: translateX(2px);
}

a.vv-blog-preview-row:focus-visible {
  outline: 2px solid rgba(36,104,242,.58);
  outline-offset: 2px;
}

.vv-blog-category {
  padding-top: 52px;
}

.vv-blog-category-head {
  max-width: 860px;
  margin-bottom: 32px;
}

.vv-blog-category-head .vv-blog-back {
  margin-bottom: 22px;
}

.vv-blog-category-head .vv-blog-eyebrow {
  display: block;
}

.vv-blog-category-head h1 {
  margin: 0;
  color: var(--vv-blog-text);
  font-size: clamp(36px, 4.4vw, 58px);
  font-weight: 830;
  line-height: 1.06;
  letter-spacing: -.052em;
  text-wrap: balance;
}

@media (max-width: 760px) {
  .vv-blog-category {
    padding-top: 34px;
  }

  .vv-blog-category-head {
    margin-bottom: 24px;
  }

  .vv-blog-category-head h1 {
    font-size: clamp(32px, 9vw, 46px);
    line-height: 1.08;
  }
}

/* END VOCAVERA BLOG 1.1.0 */

/* Public header Stage 2 v1.0.1: seven-link wide-desktop capacity. */
@media (min-width: 1520px) {
  .vv-blog-header__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
  }
}
