/**
 * WEB-P10 — Insights / Knowledge Center family.
 * Editorial journal + consultancy publication.
 * Do not clone Industries diagonals, Client Solutions cream heroes, or Capability memo rules.
 */

.vc-insights-hub-v1,
.vc-insight-v1 {
  --vc-ins-navy: #0b1f3a;
  --vc-ins-gold: #c4a35a;
  --vc-ins-ink: #1a2330;
  --vc-ins-muted: #4a5563;
  --vc-ins-rule: #d7dde3;
  --vc-ins-paper: #ffffff;
  --vc-ins-measure: 760px;
}

.vc-insights-hub-v1 .vc-h1,
.vc-insight-v1 .vc-h1 {
  color: var(--vc-ins-navy);
  font-size: clamp(36px, 4.6vw, 56px);
  line-height: 1.12;
  letter-spacing: -0.03em;
  font-weight: 700;
  max-width: 18ch;
}

.vc-insights-hub-v1 .vc-h2,
.vc-insight-v1 .vc-h2 {
  color: var(--vc-ins-navy);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.25;
  letter-spacing: -0.015em;
}

.vc-insights-hub-v1 .vc-kicker,
.vc-insight-v1 .vc-kicker,
.vc-insight-card .vc-insight-meta,
.vc-insight-featured .vc-insight-meta {
  color: var(--vc-ins-gold);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}

.vc-insight-measure,
.vc-insights-hub-v1 .vc-ins-wrap {
  width: min(100% - 2 * var(--vc-gutter, 24px), var(--vc-container-site, 1280px));
  margin-inline: auto;
}

.vc-insight-v1 .vc-insight-measure {
  width: min(100% - 2 * var(--vc-gutter, 24px), var(--vc-ins-measure));
}

/* Hub hero — paper, not navy graphic. */
.vc-insights-hub-v1.vc-ins-hero,
body.vc-insights-hub-v1 .elementor-section.vc-ins-hero {
  background: var(--vc-ins-paper) !important;
  border-bottom: 1px solid var(--vc-ins-rule);
  padding: 64px 20px 48px !important;
}

.vc-insights-hub-v1.vc-ins-hero .vc-h1 {
  max-width: 16ch;
}

.vc-insights-hub-v1.vc-ins-hero .vc-hero-lead,
.vc-insights-hub-v1.vc-ins-hero .vc-hero-lead p {
  max-width: 62ch;
  color: var(--vc-ins-muted);
  font-size: 20px;
  line-height: 1.5;
}

body.vc-insights-hub-v1 .elementor-section.vc-section {
  padding-top: 56px !important;
  padding-bottom: 56px !important;
}

body.vc-insights-hub-v1 .elementor-section.vc-section--paper {
  background: var(--vc-ins-paper) !important;
}

body.vc-insights-hub-v1 .elementor-section.vc-section--rule {
  background: #fafbfc !important;
  border-top: 1px solid var(--vc-ins-rule);
  border-bottom: 1px solid var(--vc-ins-rule);
}

body.vc-insights-hub-v1 .elementor-section.vc-section--navy {
  background: var(--vc-ins-navy) !important;
}

body.vc-insights-hub-v1 .elementor-section.vc-section--navy .vc-h2,
body.vc-insights-hub-v1 .elementor-section.vc-section--navy .vc-lead,
body.vc-insights-hub-v1 .elementor-section.vc-section--navy .vc-lead p {
  color: #ffffff;
}

/* Featured story — asymmetric, typography-led. */
.vc-insight-featured {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 24px;
  padding: 8px 0 12px;
  border-top: 2px solid var(--vc-ins-navy);
}

.vc-insight-featured__title {
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.15;
  letter-spacing: -0.025em;
  margin: 8px 0 12px;
}

.vc-insight-featured__title a,
.entry-content .vc-insight-featured__title a,
.entry-content h3.vc-insight-card__title a {
  color: var(--vc-ins-navy);
  text-decoration: none;
}

.vc-insight-featured__title a:hover,
.vc-insight-card__title a:hover {
  text-decoration: underline;
}

.vc-insight-featured__summary {
  font-size: 18px;
  line-height: 1.55;
  color: var(--vc-ins-muted);
  max-width: 62ch;
}

.vc-insight-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin: 0 0 8px;
}

.vc-insight-meta span,
.vc-insight-meta a {
  color: var(--vc-ins-gold);
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 600;
  text-decoration: none;
}

.vc-insight-byline {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  color: var(--vc-ins-muted);
  font-size: 14px;
  margin: 12px 0 0;
}

.vc-insight-list {
  display: grid;
  gap: 0;
}

.vc-insight-card {
  padding: 28px 0;
  border-top: 1px solid var(--vc-ins-rule);
}

.vc-insight-card__title {
  font-size: 22px;
  line-height: 1.3;
  margin: 4px 0 8px;
  color: var(--vc-ins-navy);
}

.entry-content .vc-insight-card__title,
.entry-content h3.vc-insight-card__title {
  color: var(--vc-ins-navy);
}

.vc-insight-card__summary {
  color: var(--vc-ins-muted);
  font-size: 16px;
  line-height: 1.55;
  max-width: 62ch;
  margin: 0;
}

.vc-insight-list--home .vc-insight-card {
  padding: 20px 0;
}

.vc-insight-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.vc-insight-topics__item {
  display: inline-block;
  padding: 8px 14px;
  border: 1px solid var(--vc-ins-navy);
  color: var(--vc-ins-navy);
  text-decoration: none;
  font-size: 14px;
  line-height: 1.2;
}

.vc-insight-topics__item:hover,
.vc-insight-topics__item.is-active {
  background: var(--vc-ins-navy);
  color: #ffffff;
}

.vc-insight-formats {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 18px;
}

.vc-insight-formats li {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--vc-ins-rule);
}

.vc-insight-formats strong {
  display: block;
  color: var(--vc-ins-navy);
  font-size: 16px;
  margin-bottom: 4px;
}

.vc-insight-formats span {
  display: block;
  color: var(--vc-ins-muted);
  font-size: 15px;
  line-height: 1.5;
}

.vc-insight-formats a {
  display: inline-block;
  margin-top: 6px;
  color: var(--vc-ins-navy);
}

/* Detail */
.vc-insight-header {
  background: var(--vc-ins-paper);
  border-bottom: 1px solid var(--vc-ins-rule);
  padding: 56px 0 40px;
}

.vc-insight-standfirst {
  font-size: 20px;
  line-height: 1.5;
  color: var(--vc-ins-muted);
  margin: 16px 0 0;
}

.vc-insight-v1 .vc-c02,
.vc-insight-v1 .vc-c03,
.vc-insight-v1 .vc-c05,
.vc-insight-v1 .vc-c06,
.vc-insight-v1 .vc-c07,
.vc-insight-v1 .vc-c08 {
  padding: 28px 0;
}

.vc-insight-v1 .vc-c02 {
  border-bottom: 1px solid var(--vc-ins-rule);
}

.vc-insight-body {
  font-size: 18px;
  line-height: 1.7;
  color: var(--vc-ins-ink);
}

.vc-insight-body h2 {
  color: var(--vc-ins-navy);
  font-size: 26px;
  line-height: 1.25;
  margin: 2em 0 0.6em;
}

.vc-insight-body h3 {
  color: var(--vc-ins-navy);
  font-size: 20px;
  line-height: 1.3;
  margin: 1.6em 0 0.5em;
}

.vc-insight-body p,
.vc-insight-body li {
  max-width: 100%;
}

.vc-insight-body ul,
.vc-insight-body ol {
  padding-left: 1.2em;
}

.vc-insight-body table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  margin: 1.5em 0;
}

.vc-insight-body th,
.vc-insight-body td {
  border-bottom: 1px solid var(--vc-ins-rule);
  padding: 10px 12px 10px 0;
  text-align: left;
  vertical-align: top;
}

.vc-insight-body thead th {
  border-bottom: 2px solid var(--vc-ins-navy);
  color: var(--vc-ins-navy);
}

.vc-insight-callout {
  margin: 1.6em 0;
  padding: 16px 18px;
  border-left: 3px solid var(--vc-ins-navy);
  background: #f7f9fb;
}

.vc-insight-related {
  list-style: none;
  margin: 0;
  padding: 0;
}

.vc-insight-related li {
  padding: 8px 0;
  border-bottom: 1px solid var(--vc-ins-rule);
}

.vc-insight-related a {
  color: var(--vc-ins-navy);
}

.vc-insight-v1 .vc-c09 {
  margin-top: 24px;
  padding: 40px 0 64px;
  border-top: 2px solid var(--vc-ins-navy);
}

.vc-insight-v1 .vc-c09 .vc-btn-primary {
  margin-right: 18px;
}

.vc-cap-related-insight {
  width: min(100% - 2 * var(--vc-gutter, 24px), var(--vc-container-site, 1280px));
  margin: 0 auto 32px;
  padding: 24px 0 8px;
  border-top: 1px solid #d5dee6;
}

.vc-home-insights .vc-insight-list--home {
  margin-top: 8px;
}

.vc-insight-topics__item:focus-visible,
.vc-insight-card a:focus-visible,
.vc-insight-featured a:focus-visible,
.vc-insight-related a:focus-visible {
  outline: 2px solid var(--vc-ins-navy);
  outline-offset: 3px;
}

@media (max-width: 1024px) {
  .vc-insights-hub-v1.vc-ins-hero,
  body.vc-insights-hub-v1 .elementor-section.vc-ins-hero {
    padding: 42px 20px 34px !important;
  }
}

@media (max-width: 767px) {
  .vc-insights-hub-v1 .vc-h1,
  .vc-insight-v1 .vc-h1 {
    font-size: 32px;
    max-width: none;
  }

  .vc-insight-featured__title {
    font-size: 26px;
  }

  .vc-insight-body {
    font-size: 17px;
  }

  .vc-insight-body {
    overflow-x: auto;
  }

  .vc-insight-header {
    padding: 36px 0 28px;
  }

  body.vc-insights-hub-v1 .elementor-section.vc-ins-hero {
    padding-top: 32px !important;
    padding-bottom: 28px !important;
  }

  .vc-insight-v1 .vc-c09 .vc-btn-primary {
    display: inline-block;
    margin: 0 0 16px;
  }
}
