/*
 * VLF Magic Circle Editorial Campaign v3.1.0 CLEAN REBUILD
 * Width alignment refinement: the editorial text shell now aligns more closely
 * with the site navigation/container width while keeping the campaign full-bleed.
 */

:root {
  --vlf-ink: #111214;
  --vlf-ink-soft: #1b1d20;
  --vlf-paper: #f2f0ea;
  --vlf-paper-soft: #f8f7f3;
  --vlf-white: #fff;
  --vlf-muted: #696a6c;
  --vlf-line: rgba(17, 18, 20, .20);
  --vlf-line-dark: rgba(248, 247, 243, .20);
  --vlf-accent: #8b755f;
  --vlf-serif: var(--vlf-font-display, "Iowan Old Style", "Baskerville", "Times New Roman", serif);
  --vlf-sans: var(--vlf-font-sans, Inter, "Helvetica Neue", Arial, sans-serif);
  --vlf-page-width: min(calc(100vw - 48px), 1120px);
  --vlf-shell: min(calc(100% - 48px), 1048px);
  --vlf-inner-gutter: clamp(18px, 2.1vw, 26px);
  --vlf-gutter: clamp(20px, 3vw, 52px);
  --vlf-section-y: clamp(96px, 12vw, 190px);
  --vlf-ease: cubic-bezier(.2,.7,.2,1);
}


/* WordPress / page-builder integration ------------------------------------ */
.vlf-campaign-page {
  position: relative !important;
  left: auto !important;
  width: var(--vlf-page-width) !important;
  max-width: var(--vlf-page-width) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  overflow: clip;
  background: var(--vlf-white);
  color: var(--vlf-ink);
  clear: both;
}

body .vlf-campaign-page > .vlf-campaign {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

body .vlf-campaign-page .vlf-shell {
  width: var(--vlf-shell) !important;
  max-width: var(--vlf-shell) !important;
  margin-inline: auto !important;
}

body .vlf-campaign-page .vlf-theme--light { background: var(--vlf-white) !important; color: var(--vlf-ink) !important; }
body .vlf-campaign-page .vlf-theme--paper { background: var(--vlf-paper) !important; color: var(--vlf-ink) !important; }
body .vlf-campaign-page .vlf-theme--dark { background: var(--vlf-ink) !important; color: var(--vlf-paper-soft) !important; }
body .vlf-campaign-page .vlf-theme--ink { background: var(--vlf-ink-soft) !important; color: var(--vlf-paper-soft) !important; }

body .vlf-campaign-page :where(h1,h2,h3,p,ul,ol,li,blockquote) {
  margin-block-start: 0;
  text-indent: 0;
}

body .vlf-campaign-page :where(h1,h2,h3) {
  color: inherit !important;
  font-style: normal !important;
}

body .vlf-campaign-page :where(p,li,span,strong,a) {
  color: inherit;
}

/* Prevent Gutenberg/theme constrained-layout rules from shrinking the campaign. */
body .entry-content > .vlf-campaign-page,
body .wp-block-post-content > .vlf-campaign-page,
body .elementor-widget-container > .vlf-campaign-page,
body .et_pb_text_inner > .vlf-campaign-page {
  width: var(--vlf-page-width) !important;
  max-width: var(--vlf-page-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.vlf-campaign,
.vlf-campaign * { box-sizing: border-box; }

.vlf-campaign {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding: var(--vlf-section-y) 0;
  background: var(--vlf-white);
  color: var(--vlf-ink);
  font-family: var(--vlf-sans);
  font-size: clamp(15px, .15vw + 14.5px, 18px);
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.vlf-campaign :where(h1,h2,h3,p,blockquote,ul,li) { color: inherit; }
.vlf-campaign :where(h1,h2,h3) { text-transform: none; }
.vlf-campaign :where(a) { color: inherit; }

.vlf-campaign::selection,
.vlf-campaign *::selection { background: var(--vlf-ink); color: var(--vlf-paper-soft); }

.vlf-theme--light { background: var(--vlf-white); color: var(--vlf-ink); --vlf-line-current: var(--vlf-line); --vlf-muted-current: var(--vlf-muted); }
.vlf-theme--paper { background: var(--vlf-paper); color: var(--vlf-ink); --vlf-line-current: var(--vlf-line); --vlf-muted-current: var(--vlf-muted); }
.vlf-theme--dark { background: var(--vlf-ink); color: var(--vlf-paper-soft); --vlf-line-current: var(--vlf-line-dark); --vlf-muted-current: rgba(248,247,243,.62); }
.vlf-theme--ink { background: var(--vlf-ink-soft); color: var(--vlf-paper-soft); --vlf-line-current: var(--vlf-line-dark); --vlf-muted-current: rgba(248,247,243,.62); }

.vlf-shell { width: var(--vlf-shell); margin-inline: auto; position: relative; z-index: 2; }

.vlf-eyebrow {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 clamp(34px, 5vw, 72px);
  font: 650 clamp(.67rem, .58vw, .78rem)/1.25 var(--vlf-sans);
  letter-spacing: .16em;
  text-transform: uppercase;
}
.vlf-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; opacity: .65; flex: none; }

.vlf-display,
.vlf-h2,
.vlf-statement strong,
.vlf-must-stand__card h3,
.vlf-word-stack span,
.vlf-endline,
.vlf-story h3,
.vlf-question-stream li,
.vlf-quote,
.vlf-trend h3,
.vlf-vpr__item h3,
.vlf-outcome strong,
.vlf-insight h3,
.vlf-final__prelude {
  font-family: var(--vlf-serif);
  font-weight: 400;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.vlf-display { margin: 0; font-size: clamp(4.2rem, 9.6vw, 11.5rem); line-height: .80; }
.vlf-h2 { margin: 0; max-width: 12.8ch; font-size: clamp(3rem, 6.3vw, 7.3rem); line-height: .91; }
.vlf-h2--wide { max-width: 18ch; }
.vlf-lead { margin: 0; max-width: 46rem; font-size: clamp(1.08rem, 1.35vw, 1.45rem); line-height: 1.58; letter-spacing: -.015em; }
.vlf-intro-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: clamp(42px, 8vw, 150px); align-items: end; }
.vlf-number { display: inline-flex; align-items: center; gap: 10px; font: 650 .7rem/1 var(--vlf-sans); letter-spacing: .16em; text-transform: uppercase; }
.vlf-number::after { content: ""; width: 24px; height: 1px; background: currentColor; opacity: .45; }

/* Editorial micro-grid shared by most sections. */
.vlf-campaign:not(.vlf-campaign--hero)::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  opacity: .32;
  background-image: linear-gradient(to right, transparent calc(25% - .5px), var(--vlf-line-current) 25%, transparent calc(25% + .5px), transparent calc(50% - .5px), var(--vlf-line-current) 50%, transparent calc(50% + .5px), transparent calc(75% - .5px), var(--vlf-line-current) 75%, transparent calc(75% + .5px));
  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
  mask-image: linear-gradient(to bottom, transparent 0, #000 12%, #000 88%, transparent 100%);
}

/* Buttons */
.vlf-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
  min-width: min(100%, 255px);
  padding: 17px 19px;
  border: 1px solid currentColor;
  color: inherit;
  text-decoration: none !important;
  font-size: .88rem;
  line-height: 1.2;
  overflow: hidden;
  transition: color .35s var(--vlf-ease), background .35s var(--vlf-ease), transform .35s var(--vlf-ease);
}
.vlf-button span { position: relative; z-index: 2; }
.vlf-button::before { content: ""; position: absolute; inset: 0; background: currentColor; transform: translateY(102%); transition: transform .35s var(--vlf-ease); }
.vlf-button:hover { transform: translateY(-2px); }
.vlf-button:hover::before { transform: translateY(0); }
.vlf-theme--dark .vlf-button:hover span,
.vlf-theme--ink .vlf-button:hover span { color: var(--vlf-ink); }
.vlf-theme--light .vlf-button:hover span,
.vlf-theme--paper .vlf-button:hover span { color: var(--vlf-paper-soft); }
.vlf-button--primary::before { display: none; }
.vlf-theme--dark .vlf-button--primary,
.vlf-theme--ink .vlf-button--primary { color: var(--vlf-ink); background: var(--vlf-paper-soft); border-color: var(--vlf-paper-soft); }
.vlf-theme--light .vlf-button--primary,
.vlf-theme--paper .vlf-button--primary { color: var(--vlf-paper-soft); background: var(--vlf-ink); border-color: var(--vlf-ink); }
.vlf-theme--dark .vlf-button--primary:hover,
.vlf-theme--ink .vlf-button--primary:hover { background: #fff; }
.vlf-theme--light .vlf-button--primary:hover,
.vlf-theme--paper .vlf-button--primary:hover { background: #000; }

/* 01 — Cinematic hero */
.vlf-campaign--hero {
  min-height: clamp(620px, calc(100svh - 138px), 860px);
  display: grid;
  align-items: stretch;
  padding: 0;
  overflow: hidden;
  --vlf-hero-progress: 0;
  --vlf-hero-x: 0%;
  --vlf-hero-y-pct: 0%;
  --vlf-hero-scale: 1;
  --vlf-hero-title-y: 0px;
}
.vlf-campaign--hero::before {
  content: "";
  position: absolute;
  inset: -12%;
  z-index: 0;
  background:
    radial-gradient(circle at calc(72% - var(--vlf-hero-x)) calc(28% + var(--vlf-hero-y-pct)), rgba(139,117,95,.23), transparent 32%),
    linear-gradient(115deg, transparent 0 48%, rgba(255,255,255,.032) 48% 49%, transparent 49% 100%),
    linear-gradient(90deg, transparent 0 24.9%, rgba(255,255,255,.07) 25%, transparent 25.1% 49.9%, rgba(255,255,255,.07) 50%, transparent 50.1% 74.9%, rgba(255,255,255,.07) 75%, transparent 75.1%);
  transform: scale(var(--vlf-hero-scale));
  transition: transform .1s linear;
}
.vlf-campaign--hero::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 1px;
  background: rgba(255,255,255,.18);
}
.vlf-hero__inner {
  min-height: inherit;
  padding-block: clamp(64px, 7.4vh, 96px) clamp(46px, 6vh, 72px);
  display: grid;
  grid-template-columns: minmax(0, 1.02fr) minmax(280px, .72fr);
  grid-template-rows: auto 1fr auto auto;
  gap: 0 clamp(34px, 4.4vw, 68px);
  align-items: start;
}
.vlf-hero__inner .vlf-eyebrow { grid-column: 1 / -1; margin-bottom: clamp(34px, 4.5vh, 54px); }
.vlf-hero__title {
  grid-column: 1 / -1;
  align-self: center;
  max-width: none;
  font-size: clamp(3.55rem, 6.35vw, 7.65rem);
  line-height: .85;
  letter-spacing: -.052em;
  text-transform: uppercase;
  transform: translateY(var(--vlf-hero-title-y));
}
.vlf-hero__promise { grid-column: 1; margin: clamp(36px, 4.5vh, 52px) 0 0; max-width: 29rem; font-size: clamp(1.12rem, 1.35vw, 1.48rem); line-height: 1.42; letter-spacing: -.02em; }
.vlf-hero__text { grid-column: 2; justify-self: end; margin-top: clamp(36px, 4.5vh, 52px); max-width: 25rem; align-self: start; color: rgba(248,247,243,.72); font-size: clamp(.98rem, .7vw + .76rem, 1.12rem); line-height: 1.62; }
.vlf-hero__actions { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 30px; margin-top: clamp(34px, 4.5vh, 52px); }
.vlf-kicker { grid-column: 1 / -1; margin: clamp(36px, 5vh, 58px) 0 0; padding-top: 16px; border-top: 1px solid rgba(248,247,243,.18); color: rgba(248,247,243,.66); font: 650 clamp(.65rem, .56vw, .75rem)/1.5 var(--vlf-sans); letter-spacing: .15em; text-transform: uppercase; }


/* Hero CTA refinement: quieter editorial links instead of boxed buttons. */
.vlf-campaign--hero .vlf-button {
  min-width: 0;
  padding: 9px 0 11px;
  border: 0;
  border-bottom: 1px solid rgba(248,247,243,.44);
  background: transparent !important;
  color: var(--vlf-paper-soft) !important;
  gap: 18px;
  font-size: .82rem;
}
.vlf-campaign--hero .vlf-button::before { display: none !important; }
.vlf-campaign--hero .vlf-button:hover {
  transform: none;
  border-bottom-color: rgba(248,247,243,.95);
}
.vlf-campaign--hero .vlf-button:hover span { color: var(--vlf-paper-soft) !important; }

/* 02 — Reality */
.vlf-reality__grid { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: clamp(70px, 9vw, 130px); border-top: 1px solid var(--vlf-line-current); }
.vlf-reality__item { position: relative; min-height: 250px; padding: 28px clamp(24px, 2.5vw, 42px) 42px 0; border-right: 1px solid var(--vlf-line-current); }
.vlf-reality__item + .vlf-reality__item { padding-left: clamp(24px, 2.5vw, 42px); }
.vlf-reality__item:last-child { border-right: 0; }
.vlf-reality__item::before { content: ""; position: absolute; left: 0; top: -1px; width: 0; height: 2px; background: var(--vlf-accent); transition: width .6s var(--vlf-ease); }
.vlf-reality__item:hover::before { width: 100%; }
.vlf-reality__item p { margin: 0; line-height: 1.68; }
.vlf-statement { display: grid; grid-template-columns: .55fr 1.45fr; gap: clamp(36px, 8vw, 150px); border-top: 1px solid var(--vlf-line-current); margin-top: clamp(52px, 7vw, 94px); padding-top: 30px; }
.vlf-statement span { text-transform: uppercase; letter-spacing: .15em; font-size: .7rem; font-weight: 650; }
.vlf-statement strong { max-width: 16ch; font-size: clamp(2.6rem, 5.5vw, 6.4rem); line-height: .94; }

/* 03 — What must stand. Mirrors VLF two-column editorial architecture. */
.vlf-must-stand__grid { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: clamp(72px, 9vw, 132px); border-top: 1px solid var(--vlf-line-current); border-left: 1px solid var(--vlf-line-current); counter-reset: vlf-card; }
.vlf-must-stand__card { position: relative; isolation: isolate; min-height: clamp(430px, 42vw, 650px); padding: clamp(30px, 4vw, 68px); border-right: 1px solid var(--vlf-line-current); border-bottom: 1px solid var(--vlf-line-current); display: flex; flex-direction: column; overflow: hidden; transition: background .45s var(--vlf-ease), color .45s var(--vlf-ease); }
.vlf-must-stand__card::after { content: ""; position: absolute; inset: auto 0 0; height: 0; background: var(--vlf-ink); z-index: -1; transition: height .55s var(--vlf-ease); }
.vlf-must-stand__card:hover { color: var(--vlf-paper-soft); }
.vlf-must-stand__card:hover::after { height: 100%; }
.vlf-must-stand__card h3 { margin: clamp(28px, 4vw, 64px) 0 0; font-size: clamp(2.7rem, 5.4vw, 6.4rem); line-height: .86; }
.vlf-card__subtitle { margin: 1.6rem 0 1.4rem; font-weight: 650; font-size: 1.02rem; }
.vlf-must-stand__card > p:not(.vlf-card__subtitle):not(.vlf-card__statement) { max-width: 36rem; line-height: 1.68; }
.vlf-card__statement { margin: auto 0 0; padding-top: 3rem; font-family: var(--vlf-serif); font-size: clamp(1.1rem, 1.5vw, 1.45rem); font-style: italic; }

/* 04 — Defensibility: sticky left axis + scrolling proof. */
.vlf-campaign--defensibility { overflow: visible; }
.vlf-campaign--defensibility .vlf-shell { display: grid; grid-template-columns: minmax(220px, .62fr) minmax(0, 1.38fr); gap: clamp(44px, 7vw, 118px); align-items: start; }
.vlf-campaign--defensibility .vlf-eyebrow { grid-column: 1 / -1; }
.vlf-word-stack { grid-column: 1; grid-row: 2 / span 3; position: relative; top: auto; display: flex; flex-direction: column; align-self: start; margin: 0; max-width: 100%; overflow: hidden; }
.vlf-word-stack span { font-size: clamp(1.45rem, 2.2vw, 2.7rem); line-height: .94; opacity: .78; transition: opacity .35s var(--vlf-ease); transform: none !important; }
.vlf-word-stack span:nth-child(2), .vlf-word-stack span:nth-child(3), .vlf-word-stack span:nth-child(4), .vlf-word-stack span:nth-child(5) { transform: none !important; }
.vlf-campaign--defensibility.is-inview .vlf-word-stack span { opacity: .9; transform: none !important; }
.vlf-campaign--defensibility .vlf-intro-grid { grid-column: 2; display: block; }
.vlf-campaign--defensibility .vlf-intro-grid .vlf-h2 { margin-bottom: 38px; }
.vlf-dimensions { grid-column: 2; list-style: none; padding: 0; margin: clamp(60px, 8vw, 110px) 0 0; border-top: 1px solid var(--vlf-line-current); }
.vlf-dimensions li { display: grid; grid-template-columns: .72fr 1.28fr; gap: 30px; padding: 28px 0; border-bottom: 1px solid var(--vlf-line-current); }
.vlf-dimensions strong { font-size: 1rem; }
.vlf-dimensions span { color: var(--vlf-muted-current); line-height: 1.6; }
.vlf-campaign--defensibility .vlf-endline { grid-column: 2; }
.vlf-endline { margin: clamp(62px, 8vw, 112px) 0 0; max-width: 17ch; font-size: clamp(2.4rem, 4.4vw, 5.2rem); line-height: .95; }

/* 05 — Signal to action */
.vlf-steps { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: clamp(72px, 9vw, 130px); border-top: 1px solid var(--vlf-line-current); overflow: hidden; }
.vlf-step { position: relative; min-width: 0; min-height: 320px; padding: 30px 30px 36px 0; border-right: 1px solid var(--vlf-line-current); }
.vlf-step + .vlf-step { padding-left: 30px; }
.vlf-step::before { content: ""; position: absolute; left: 0; top: -1px; width: 0; height: 2px; background: currentColor; transition: width .8s var(--vlf-ease); }
.vlf-step.is-visible::before { width: 100%; }
.vlf-step h3 { margin: clamp(36px, 5vw, 72px) 0 1.4rem; font-size: clamp(1.7rem, 2.4vw, 2.5rem); letter-spacing: -.03em; }
.vlf-step strong { display: block; margin-bottom: .9rem; }
.vlf-step p { margin: 0; color: var(--vlf-muted-current); line-height: 1.6; }
.vlf-process-line { margin: 52px 0 0; font: 650 clamp(.72rem, .82vw, .88rem)/1.55 var(--vlf-sans); letter-spacing: .12em; text-transform: uppercase; }

/* 06 — Critical matters */
.vlf-stories { margin-top: clamp(72px, 10vw, 140px); border-top: 1px solid var(--vlf-line-current); counter-reset: story; }
.vlf-story { position: relative; display: grid; grid-template-columns: 72px minmax(260px, .95fr) minmax(300px, .8fr) minmax(160px, .3fr); gap: clamp(22px, 3vw, 54px); padding: clamp(38px, 5vw, 72px) 0; border-bottom: 1px solid var(--vlf-line-current); align-items: start; transition: padding-left .4s var(--vlf-ease); counter-increment: story; }
.vlf-story::before { content: counter(story, decimal-leading-zero); font: 650 .7rem/1 var(--vlf-sans); letter-spacing: .16em; opacity: .54; padding-top: 6px; }
.vlf-story::after { content: ""; position: absolute; inset: 0 auto 0 0; width: 0; background: rgba(139,117,95,.08); transition: width .55s var(--vlf-ease); z-index: -1; }
.vlf-story:hover::after { width: 100%; }
.vlf-story__label { margin: 0; font-size: .69rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 650; }
.vlf-story h3 { margin: 0; font-size: clamp(2.1rem, 3.8vw, 4.7rem); line-height: .95; }
.vlf-story > p:not(.vlf-story__label) { margin: 0; color: var(--vlf-muted-current); line-height: 1.66; }
.vlf-text-link { color: inherit; text-decoration: none !important; border-bottom: 1px solid currentColor; padding-bottom: 5px; width: fit-content; font-size: .84rem; transition: opacity .25s ease; }
.vlf-text-link:hover { opacity: .55; }

/* 07 — Decision room */
.vlf-campaign--decision-room { overflow: visible; }
.vlf-campaign--decision-room .vlf-shell { display: grid; grid-template-columns: minmax(220px, .68fr) minmax(0, 1.32fr); gap: clamp(42px, 8vw, 118px); align-items: start; }
.vlf-campaign--decision-room .vlf-eyebrow { grid-column: 1 / -1; }
.vlf-campaign--decision-room .vlf-h2 { grid-column: 1; position: relative; top: auto; font-size: clamp(2.6rem, 4.2vw, 4.6rem); line-height: .92; }
.vlf-campaign--decision-room > .vlf-shell > .vlf-lead { grid-column: 1; margin-top: clamp(38px, 5vw, 64px); color: var(--vlf-muted-current); }
.vlf-question-stream { grid-column: 2; grid-row: 2 / span 2; list-style: none; padding: 0; margin: 0; border-top: 1px solid var(--vlf-line-current); }
.vlf-question-stream li { padding: clamp(20px, 2.5vw, 32px) 0; border-bottom: 1px solid var(--vlf-line-current); font-size: clamp(1.15rem, 2.05vw, 2.2rem); line-height: 1.16; opacity: .68; transition: opacity .35s ease; transform: none !important; }
.vlf-question-stream li:hover { opacity: 1; transform: none !important; }
.vlf-quote { grid-column: 1 / -1; margin: clamp(90px, 11vw, 160px) 0 0; max-width: 15ch; font-size: clamp(2.4rem, 5.2vw, 5.8rem); line-height: .94; }

/* 08 — Transition trends */
.vlf-trends { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(350px, 40vw); gap: 0; margin-top: clamp(72px, 10vw, 140px); border-top: 1px solid var(--vlf-line-current); overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.vlf-trend { position: relative; min-height: min(70svh, 660px); padding: 30px clamp(30px, 4vw, 64px); border-right: 1px solid var(--vlf-line-current); scroll-snap-align: start; display: flex; flex-direction: column; overflow: hidden; }
.vlf-trend::after { content: ""; position: absolute; width: clamp(160px, 20vw, 340px); aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; right: -22%; top: 16%; opacity: .055; transform: scale(.75); transition: transform .7s var(--vlf-ease), opacity .7s ease; }
.vlf-trend:hover::after { transform: scale(1.05); opacity: .12; }
.vlf-trend h3 { margin: clamp(44px, 6vw, 80px) 0 2rem; font-size: clamp(3rem, 5.6vw, 6.8rem); line-height: .84; }
.vlf-trend p { max-width: 34rem; color: var(--vlf-muted-current); line-height: 1.66; }
.vlf-trend strong { margin-top: auto; padding-top: 4rem; font-size: 1rem; line-height: 1.5; max-width: 28rem; }

/* 09 — Values / Prosperity / Resilience */
.vlf-vpr__grid { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: clamp(72px, 9vw, 132px); border-top: 1px solid var(--vlf-line-current); align-items: start; }
.vlf-vpr__item { position: relative; min-height: 520px; padding: clamp(30px, 4vw, 62px); border-right: 1px solid var(--vlf-line-current); display: flex; flex-direction: column; justify-content: flex-start; }
.vlf-vpr__item:first-child { padding-left: 0; }
.vlf-vpr__item:last-child { border-right: 0; }
.vlf-vpr__label { margin: 0 0 1.2rem; text-transform: uppercase; letter-spacing: .15em; font-size: .7rem; font-weight: 650; }
.vlf-vpr__item h3 { margin: 0 0 1.6rem; min-height: 3.4em; font-size: clamp(2.2rem, 4.2vw, 4.9rem); line-height: .94; }
.vlf-vpr__item p:last-child { margin: 0; color: var(--vlf-muted-current); line-height: 1.67; }

/* 10 — Client outcomes */
.vlf-outcomes { margin-top: clamp(72px, 10vw, 140px); border-top: 1px solid var(--vlf-line-current); }
.vlf-outcome { display: grid; grid-template-columns: .75fr 1.25fr; gap: clamp(40px, 8vw, 150px); padding: clamp(26px, 3vw, 44px) 0; border-bottom: 1px solid var(--vlf-line-current); align-items: baseline; }
.vlf-outcome span { color: var(--vlf-muted-current); }
.vlf-outcome strong { font-size: clamp(2rem, 3.7vw, 4.4rem); line-height: .95; transition: transform .35s var(--vlf-ease); }
.vlf-outcome:hover strong { transform: translateX(8px); }

/* 11 / 12 — Disciplines and client commitment */
.vlf-disciplines,
.vlf-commitment__grid { display: grid; grid-template-columns: repeat(2, 1fr); margin-top: clamp(72px, 9vw, 132px); border-top: 1px solid var(--vlf-line-current); border-left: 1px solid var(--vlf-line-current); }
.vlf-discipline,
.vlf-commitment__item { position: relative; min-height: 320px; padding: clamp(28px, 4vw, 58px); border-right: 1px solid var(--vlf-line-current); border-bottom: 1px solid var(--vlf-line-current); overflow: hidden; }
.vlf-discipline::before,
.vlf-commitment__item::before { content: ""; position: absolute; left: 0; top: 0; width: 2px; height: 0; background: var(--vlf-accent); transition: height .6s var(--vlf-ease); }
.vlf-discipline:hover::before,
.vlf-commitment__item:hover::before { height: 100%; }
.vlf-discipline h3,
.vlf-commitment__item h3 { margin: 0 0 1.4rem; font-size: clamp(1.55rem, 2.15vw, 2.3rem); letter-spacing: .03em; }
.vlf-discipline p,
.vlf-commitment__item p { margin: 0; max-width: 38rem; color: var(--vlf-muted-current); line-height: 1.67; }
.vlf-commitment__item .vlf-number { margin-bottom: clamp(54px, 6vw, 90px); }
.vlf-triad { display: flex; flex-wrap: wrap; gap: 10px 28px; margin-top: 46px; padding-top: 22px; border-top: 1px solid var(--vlf-line-current); text-transform: uppercase; letter-spacing: .12em; font-size: .7rem; font-weight: 650; }

/* 13 — Perspectives */
.vlf-insights { display: grid; grid-template-columns: 1.28fr .72fr; margin-top: clamp(70px, 9vw, 130px); border-top: 1px solid var(--vlf-line-current); }
.vlf-insight { position: relative; padding: clamp(34px, 4vw, 62px); border-right: 1px solid var(--vlf-line-current); border-bottom: 1px solid var(--vlf-line-current); }
.vlf-insight--featured { grid-row: span 2; padding-left: 0; min-height: 650px; display: flex; flex-direction: column; }
.vlf-insight__label { margin: 0; font-size: .69rem; letter-spacing: .15em; text-transform: uppercase; font-weight: 650; }
.vlf-insight h3 { margin: clamp(42px, 5vw, 78px) 0 2rem; font-size: clamp(2.25rem, 4.6vw, 5.4rem); line-height: .91; }
.vlf-insight:not(.vlf-insight--featured) h3 { margin-top: 32px; font-size: clamp(1.8rem, 3vw, 3.4rem); }
.vlf-insight p:not(.vlf-insight__label) { max-width: 48rem; color: var(--vlf-muted-current); line-height: 1.67; }
.vlf-insight--featured .vlf-text-link { margin-top: auto; }

/* 14 — Final statement */
.vlf-campaign--final-cta { min-height: 100svh; display: grid; align-items: center; padding: clamp(100px, 12vw, 190px) 0; }
.vlf-campaign--final-cta::before { content: ""; position: absolute; inset: 0; pointer-events: none; background: radial-gradient(circle at 80% 70%, rgba(139,117,95,.2), transparent 30%); }
.vlf-final__inner { display: flex; flex-direction: column; align-items: flex-start; }
.vlf-final__prelude { margin: 0 0 clamp(62px, 9vw, 120px); max-width: 13ch; font-size: clamp(2.6rem, 6.2vw, 7.2rem); line-height: .88; }
.vlf-final__title { max-width: 10ch; text-transform: uppercase; font-size: clamp(3.2rem, 6.25vw, 7.1rem); line-height: .86; }
.vlf-final__inner > .vlf-lead { margin-top: clamp(45px, 6vw, 80px); color: var(--vlf-muted-current); }
.vlf-final__promise { margin: 2.5rem 0; font: 650 clamp(.72rem, .85vw, .9rem)/1.5 var(--vlf-sans); text-transform: uppercase; letter-spacing: .14em; }

/* Motion */
[data-vlf-reveal] { opacity: 0; transform: translateY(26px); transition: opacity .85s var(--vlf-ease), transform .85s var(--vlf-ease); transition-delay: var(--vlf-delay, 0ms); }
[data-vlf-reveal].is-visible { opacity: 1; transform: translateY(0); }
.vlf-campaign.is-inview .vlf-eyebrow::before { animation: vlf-line-in .9s var(--vlf-ease) both; }
@keyframes vlf-line-in { from { width: 0; } to { width: 28px; } }

/* Scrollbar refinement for horizontal editorial rails */
.vlf-steps::-webkit-scrollbar,
.vlf-trends::-webkit-scrollbar { height: 4px; }
.vlf-steps::-webkit-scrollbar-track,
.vlf-trends::-webkit-scrollbar-track { background: transparent; }
.vlf-steps::-webkit-scrollbar-thumb,
.vlf-trends::-webkit-scrollbar-thumb { background: var(--vlf-line-current); }

/* Tablet */
@media (max-width: 1100px) {
  .vlf-intro-grid { grid-template-columns: 1fr; gap: 34px; }
  .vlf-hero__inner { grid-template-columns: 1fr; }
  .vlf-hero__title, .vlf-hero__promise, .vlf-hero__text, .vlf-hero__actions, .vlf-kicker { grid-column: 1; }
  .vlf-hero__text { max-width: 52rem; }
  .vlf-reality__grid { grid-template-columns: repeat(2, 1fr); }
  .vlf-reality__item:nth-child(2) { border-right: 0; }
  .vlf-reality__item:nth-child(n+3) { border-top: 1px solid var(--vlf-line-current); }
  .vlf-campaign--defensibility .vlf-shell { grid-template-columns: 1fr; }
  .vlf-word-stack { grid-column: 1; grid-row: auto; position: relative; top: auto; margin-bottom: 64px; }
  .vlf-word-stack span { font-size: clamp(3.2rem, 10vw, 7.5rem); }
  .vlf-campaign--defensibility .vlf-intro-grid,
  .vlf-dimensions,
  .vlf-campaign--defensibility .vlf-endline { grid-column: 1; }
  .vlf-story { grid-template-columns: 54px 1fr 1fr; }
  .vlf-story > .vlf-text-link { grid-column: 2; }
  .vlf-campaign--decision-room .vlf-shell { grid-template-columns: 1fr; }
  .vlf-campaign--decision-room .vlf-eyebrow,
  .vlf-campaign--decision-room .vlf-h2,
  .vlf-campaign--decision-room > .vlf-shell > .vlf-lead,
  .vlf-question-stream,
  .vlf-quote { grid-column: 1; grid-row: auto; position: relative; top: auto; }
  .vlf-question-stream { margin-top: 70px; }
  .vlf-trends { grid-auto-columns: minmax(340px, 62vw); }
  .vlf-vpr__grid { grid-template-columns: 1fr; }
  .vlf-vpr__item { min-height: auto; padding: 42px 0; border-right: 0; border-bottom: 1px solid var(--vlf-line-current); }
  .vlf-vpr__item h3 { margin: 60px 0 1.6rem; max-width: 14ch; }
}

/* Mobile */

@media (max-width: 1100px) and (min-width: 721px) {
  .vlf-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; }
  .vlf-step { min-width: 0; }
  .vlf-trends { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); overflow: hidden; }
  .vlf-trend { min-height: 460px; }
}

@media (max-width: 720px) {
  .vlf-campaign--hero { min-height: 100svh; }
  :root { --vlf-shell: calc(100vw - 36px); --vlf-section-y: 86px; }
  .vlf-campaign { overflow: hidden; }
  .vlf-campaign:not(.vlf-campaign--hero)::after { display: none; }
  .vlf-display { font-size: clamp(3.35rem, 18.5vw, 6.2rem); line-height: .83; }
  .vlf-h2 { font-size: clamp(2.75rem, 13.5vw, 5rem); line-height: .93; }
  .vlf-lead { font-size: 1.02rem; }
  .vlf-eyebrow { margin-bottom: 40px; }
  .vlf-hero__inner { min-height: 100svh; padding-block: 84px 42px; display: flex; flex-direction: column; }
  .vlf-hero__title { margin-top: auto; }
  .vlf-hero__promise { margin-top: 42px; font-size: 1.16rem; }
  .vlf-hero__text { margin-top: 24px; }
  .vlf-hero__actions { width: 100%; margin-top: 38px; flex-direction: column; }
  .vlf-button { width: 100%; }
  .vlf-kicker { margin-top: 44px; }
  .vlf-reality__grid { grid-template-columns: 1fr; }
  .vlf-reality__item,
  .vlf-reality__item + .vlf-reality__item { min-height: auto; border-right: 0; border-top: 0; border-bottom: 1px solid var(--vlf-line-current); padding: 24px 0; }
  .vlf-statement { grid-template-columns: 1fr; gap: 24px; }
  .vlf-statement strong { font-size: clamp(2.4rem, 11vw, 4rem); }
  .vlf-must-stand__grid { grid-template-columns: 1fr; }
  .vlf-must-stand__card { min-height: 410px; }
  .vlf-must-stand__card:hover { color: inherit; }
  .vlf-must-stand__card:hover::after { height: 0; }
  .vlf-word-stack { margin-bottom: 54px; }
  .vlf-word-stack span { font-size: clamp(2.7rem, 12.5vw, 4.5rem); }
  .vlf-dimensions li { grid-template-columns: 1fr; gap: 10px; }
  .vlf-steps { grid-template-columns: repeat(6, 82vw); margin-inline: calc((100vw - var(--vlf-shell)) / -2); padding-left: 18px; }
  .vlf-step { min-width: 0; padding-right: 22px; }
  .vlf-step + .vlf-step { padding-left: 22px; }
  .vlf-story { grid-template-columns: 34px 1fr; gap: 16px 20px; }
  .vlf-story__label { grid-column: 2; }
  .vlf-story h3, .vlf-story > p:not(.vlf-story__label), .vlf-story > .vlf-text-link { grid-column: 2; }
  .vlf-question-stream li { font-size: clamp(1.55rem, 8.5vw, 2.5rem); }
  .vlf-quote { font-size: clamp(2.8rem, 13vw, 5rem); }
  .vlf-trends { grid-auto-columns: 88vw; margin-inline: calc((100vw - var(--vlf-shell)) / -2); padding-left: 18px; }
  .vlf-trend { min-height: 570px; padding-inline: 24px; }
  .vlf-outcome { grid-template-columns: 1fr; gap: 12px; }
  .vlf-disciplines, .vlf-commitment__grid { grid-template-columns: 1fr; }
  .vlf-discipline, .vlf-commitment__item { min-height: 280px; }
  .vlf-insights { grid-template-columns: 1fr; }
  .vlf-insight--featured { grid-row: auto; min-height: 560px; }
  .vlf-insight { padding-left: 0; padding-right: 0; border-right: 0; }
  .vlf-final__prelude { font-size: clamp(3rem, 15vw, 5.5rem); }
}

@media (hover: none) {
  .vlf-must-stand__card:hover { color: inherit; }
  .vlf-must-stand__card:hover::after { height: 0; }
  .vlf-question-stream li { opacity: .86; }
}

@media (prefers-reduced-motion: reduce) {
  [data-vlf-reveal] { opacity: 1 !important; transform: none !important; transition: none !important; }
  .vlf-word-stack span, .vlf-story, .vlf-outcome strong, .vlf-trend::after { transition: none !important; transform: none !important; }
  .vlf-campaign--hero::before { transform: none !important; transition: none !important; }
  * { scroll-behavior: auto !important; }
}


/* ========================================================================
   VLF CAMPAIGN v3.1.0 — CLEAN REBUILD
   One authoritative refinement layer. No stacked historical overrides.
   ======================================================================== */

:root {
  --vlf-page-width: min(calc(100vw - 48px), 1120px);
  --vlf-shell: min(calc(100% - 48px), 1048px);
}

/* Stability ------------------------------------------------------------- */
.vlf-campaign-page { overflow: hidden !important; }
.vlf-campaign :where(h1,h2,h3,p,strong,span,li,blockquote) {
  min-width: 0;
  overflow-wrap: normal;
  word-break: normal;
}
.vlf-endline:empty { display:none !important; }

/* 01 — Hero ------------------------------------------------------------- */
.vlf-campaign--hero .vlf-hero__title {
  font-size: clamp(3.15rem, 5.45vw, 6.2rem) !important;
  line-height: .88 !important;
  letter-spacing: -.048em !important;
  max-width: 9.7ch !important;
}
.vlf-campaign--hero .vlf-hero__promise {
  margin-top: clamp(64px, 7vh, 86px) !important;
  max-width: none !important;
  white-space: nowrap !important;
  font-size: clamp(.98rem, 1.08vw, 1.2rem) !important;
  line-height: 1.35 !important;
}
.vlf-campaign--hero .vlf-hero__text { max-width: 24rem !important; }

/* 03 — What must stand -------------------------------------------------- */
.vlf-must-stand__grid { align-items: stretch !important; }
.vlf-must-stand__card { min-height: 460px !important; }
.vlf-must-stand__card h3 {
  font-size: clamp(2rem, 3.1vw, 3.3rem) !important;
  line-height: .94 !important;
  white-space: nowrap !important;
  letter-spacing: -.035em !important;
}

/* 04 — Defensibility ---------------------------------------------------- */
.vlf-campaign--defensibility { overflow: hidden !important; }
.vlf-campaign--defensibility .vlf-shell {
  display:grid !important;
  grid-template-columns: minmax(170px,.42fr) minmax(0,1.58fr) !important;
  gap: clamp(40px,5vw,76px) !important;
  align-items:start !important;
}
.vlf-campaign--defensibility .vlf-word-stack {
  position:relative !important;
  top:auto !important;
  grid-column:1 !important;
  grid-row:2 / span 3 !important;
  display:flex !important;
  flex-direction:column !important;
  gap:.18em !important;
  overflow:hidden !important;
}
.vlf-campaign--defensibility .vlf-word-stack span {
  font-size: clamp(1.2rem,1.65vw,1.9rem) !important;
  line-height:1 !important;
  opacity:.8 !important;
  transform:none !important;
  transition:none !important;
}
.vlf-campaign--defensibility .vlf-intro-grid,
.vlf-campaign--defensibility .vlf-dimensions,
.vlf-campaign--defensibility .vlf-endline { grid-column:2 !important; }
.vlf-campaign--defensibility [data-vlf-reveal] { transform:none !important; }

/* 05 — Signal to action ------------------------------------------------- */
.vlf-steps {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  overflow:hidden !important;
  border-top:1px solid var(--vlf-line-current) !important;
  border-left:1px solid var(--vlf-line-current) !important;
  scroll-snap-type:none !important;
}
.vlf-step,
.vlf-step + .vlf-step {
  min-width:0 !important;
  min-height:330px !important;
  padding:28px 26px 34px !important;
  border-right:1px solid var(--vlf-line-current) !important;
  border-bottom:1px solid var(--vlf-line-current) !important;
  display:flex !important;
  flex-direction:column !important;
}
.vlf-step:nth-child(3n) { border-right:0 !important; }
.vlf-step h3 { margin:42px 0 1.25rem !important; font-size:clamp(1.55rem,2vw,2.15rem) !important; }
.vlf-step p { margin-top:0 !important; }

/* 07 — Decision room ---------------------------------------------------- */
.vlf-campaign--decision-room { overflow:hidden !important; }
.vlf-campaign--decision-room .vlf-shell {
  display:grid !important;
  grid-template-columns:minmax(210px,.55fr) minmax(0,1.45fr) !important;
  gap:clamp(40px,5.5vw,80px) !important;
  align-items:start !important;
}
.vlf-campaign--decision-room .vlf-h2 {
  position:relative !important;
  top:auto !important;
  grid-column:1 !important;
  font-size:clamp(2.25rem,3.45vw,3.8rem) !important;
  line-height:.95 !important;
  max-width:10.5ch !important;
}
.vlf-campaign--decision-room > .vlf-shell > .vlf-lead { grid-column:1 !important; }
.vlf-campaign--decision-room .vlf-question-stream { grid-column:2 !important; grid-row:2 / span 2 !important; }
.vlf-campaign--decision-room [data-vlf-reveal] { transform:none !important; }
.vlf-campaign--decision-room .vlf-quote {
  grid-column:1 / -1 !important;
  max-width:none !important;
  width:100% !important;
  margin:72px 0 0 !important;
  white-space:nowrap !important;
  font-size:clamp(.68rem,.72vw,.78rem) !important;
  line-height:1.35 !important;
  letter-spacing:-.01em !important;
  font-family:var(--vlf-sans) !important;
  font-style:normal !important;
  font-weight:500 !important;
}

/* 08 — Transition trends ------------------------------------------------ */
.vlf-trends {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-flow:row !important;
  grid-auto-columns:auto !important;
  overflow:hidden !important;
  border-top:1px solid var(--vlf-line-current) !important;
  border-left:1px solid var(--vlf-line-current) !important;
  scroll-snap-type:none !important;
}
.vlf-trend {
  min-height:500px !important;
  padding:28px 24px 30px !important;
  border-right:1px solid var(--vlf-line-current) !important;
  border-bottom:1px solid var(--vlf-line-current) !important;
  scroll-snap-align:none !important;
}
.vlf-trend:nth-child(3n) { border-right:0 !important; }
.vlf-trend h3 {
  margin:46px 0 1.6rem !important;
  font-size:clamp(1.95rem,2.45vw,2.75rem) !important;
  line-height:.92 !important;
}
.vlf-trend strong { padding-top:2.5rem !important; }
.vlf-campaign--transition-trends .vlf-endline {
  margin-top:88px !important;
  max-width:none !important;
  white-space:nowrap !important;
  font-size:clamp(1.65rem,2vw,2.15rem) !important;
  line-height:1 !important;
}

/* 09 — Values / Prosperity / Resilience -------------------------------- */
.vlf-vpr__grid { align-items:stretch !important; }
.vlf-vpr__item {
  min-height:500px !important;
  display:grid !important;
  grid-template-rows:auto minmax(7.2em,auto) 1fr !important;
  align-content:start !important;
}
.vlf-vpr__item h3 { margin-top:0 !important; min-height:0 !important; align-self:start !important; }
.vlf-vpr__item p:last-child { align-self:start !important; }

.vlf-vpr__item h3 {
  font-size:clamp(1.9rem,2.45vw,2.75rem) !important;
  line-height:.96 !important;
  overflow-wrap:break-word !important;
  hyphens:auto;
}
.vlf-campaign--vpr .vlf-endline {
  margin-top:78px !important;
  max-width:none !important;
  white-space:nowrap !important;
  font-size:clamp(1.65rem,2vw,2.15rem) !important;
  line-height:1 !important;
}

/* 10 — Client outcomes -------------------------------------------------- */
.vlf-campaign--client-outcomes .vlf-h2 {
  max-width:none !important;
  font-size:clamp(2.2rem,3.25vw,3.55rem) !important;
  line-height:1.02 !important;
}
.vlf-campaign--client-outcomes .vlf-h2 br { display:block !important; }
.vlf-campaign--client-outcomes .vlf-lead { margin-top:30px !important; }

/* 11 / 12 --------------------------------------------------------------- */
.vlf-discipline h3,
.vlf-commitment__item h3 {
  font-size:clamp(1.7rem,2.25vw,2.4rem) !important;
  line-height:1.02 !important;
  letter-spacing:.01em !important;
}
.vlf-campaign--how-we-work .vlf-h2 { max-width:11ch !important; line-height:.92 !important; }
.vlf-campaign--client-commitment .vlf-h2 {
  font-size:clamp(1.95rem,2.75vw,2.95rem) !important;
  line-height:1.04 !important;
  max-width:20ch !important;
}

/* 13 — Perspectives: true equal matrix --------------------------------- */
.vlf-campaign--perspectives .vlf-insights {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  border-top:1px solid var(--vlf-line-current) !important;
  border-left:1px solid var(--vlf-line-current) !important;
}
.vlf-campaign--perspectives .vlf-insight,
.vlf-campaign--perspectives .vlf-insight--featured {
  grid-row:auto !important;
  min-height:430px !important;
  padding:36px 30px !important;
  border-right:1px solid var(--vlf-line-current) !important;
  border-bottom:1px solid var(--vlf-line-current) !important;
  display:flex !important;
  flex-direction:column !important;
}
.vlf-campaign--perspectives .vlf-insight:nth-child(3n) { border-right:0 !important; }
.vlf-campaign--perspectives .vlf-insight h3,
.vlf-campaign--perspectives .vlf-insight:not(.vlf-insight--featured) h3 {
  margin:30px 0 1.6rem !important;
  font-size:clamp(1.65rem,2.15vw,2.4rem) !important;
  line-height:.98 !important;
}
.vlf-campaign--perspectives .vlf-insight .vlf-text-link { margin-top:auto !important; }

/* 14 — Final CTA -------------------------------------------------------- */
.vlf-final__prelude {
  font-size:clamp(2.4rem,5vw,5.6rem) !important;
  line-height:.9 !important;
}
.vlf-final__title {
  font-size:clamp(2.8rem,5vw,5.4rem) !important;
  line-height:.91 !important;
}
.vlf-campaign--final-cta .vlf-lead {
  color:rgba(248,247,243,.82) !important;
  max-width:42rem !important;
}
.vlf-campaign--final-cta .vlf-final__promise { color:rgba(248,247,243,.96) !important; }

/* Responsive ------------------------------------------------------------ */
@media (max-width:1100px) and (min-width:721px) {
  .vlf-steps,
  .vlf-trends,
  .vlf-campaign--perspectives .vlf-insights { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .vlf-step:nth-child(3n), .vlf-trend:nth-child(3n), .vlf-campaign--perspectives .vlf-insight:nth-child(3n) { border-right:1px solid var(--vlf-line-current) !important; }
  .vlf-step:nth-child(2n), .vlf-trend:nth-child(2n), .vlf-campaign--perspectives .vlf-insight:nth-child(2n) { border-right:0 !important; }
  .vlf-campaign--decision-room .vlf-quote,
  .vlf-campaign--transition-trends .vlf-endline,
  .vlf-campaign--vpr .vlf-endline { white-space:normal !important; }
}

@media (max-width:720px) {
  :root { --vlf-page-width:calc(100vw - 18px); --vlf-shell:calc(100% - 24px); }
  .vlf-campaign--hero .vlf-hero__promise { white-space:normal !important; }
  .vlf-campaign--defensibility .vlf-shell,
  .vlf-campaign--decision-room .vlf-shell { grid-template-columns:1fr !important; }
  .vlf-campaign--defensibility .vlf-word-stack,
  .vlf-campaign--defensibility .vlf-intro-grid,
  .vlf-campaign--defensibility .vlf-dimensions,
  .vlf-campaign--defensibility .vlf-endline,
  .vlf-campaign--decision-room .vlf-h2,
  .vlf-campaign--decision-room > .vlf-shell > .vlf-lead,
  .vlf-campaign--decision-room .vlf-question-stream,
  .vlf-campaign--decision-room .vlf-quote { grid-column:1 !important; grid-row:auto !important; }
  .vlf-steps,
  .vlf-trends,
  .vlf-campaign--perspectives .vlf-insights { grid-template-columns:1fr !important; border-left:0 !important; margin-inline:0 !important; padding-left:0 !important; }
  .vlf-step, .vlf-trend, .vlf-campaign--perspectives .vlf-insight { border-right:0 !important; min-height:auto !important; }
  .vlf-must-stand__card h3 { white-space:normal !important; }
  .vlf-campaign--decision-room .vlf-quote,
  .vlf-campaign--transition-trends .vlf-endline,
  .vlf-campaign--vpr .vlf-endline { white-space:normal !important; }
}


/* v3.1.0 — unified executive typography hierarchy ---------------------- */
:root {
  --vlf-executive-title-size: clamp(3rem, 6.3vw, 7.3rem);
  --vlf-executive-title-line: .91;
  --vlf-executive-statement-size: clamp(1.65rem, 2vw, 2.15rem);
}

/* Blocks 7, 10 and 12 now use the exact same headline scale as block 13. */
.vlf-campaign--decision-room .vlf-h2,
.vlf-campaign--client-outcomes .vlf-h2,
.vlf-campaign--client-commitment .vlf-h2,
.vlf-campaign--perspectives > .vlf-shell > .vlf-h2 {
  font-size: var(--vlf-executive-title-size) !important;
  line-height: var(--vlf-executive-title-line) !important;
  letter-spacing: -.045em !important;
  font-family: var(--vlf-serif) !important;
  font-weight: 400 !important;
  text-wrap: balance;
}

/* Block 7: give the large title the full editorial width, then return to the two-column decision layout. */
.vlf-campaign--decision-room .vlf-shell {
  grid-template-columns: minmax(210px,.55fr) minmax(0,1.45fr) !important;
}
.vlf-campaign--decision-room .vlf-eyebrow {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
}
.vlf-campaign--decision-room .vlf-h2 {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  max-width: 12.8ch !important;
  margin-bottom: clamp(52px, 6vw, 84px) !important;
}
.vlf-campaign--decision-room > .vlf-shell > .vlf-lead {
  grid-column: 1 !important;
  grid-row: 3 !important;
  margin-top: 0 !important;
  max-width: 26rem !important;
}
.vlf-campaign--decision-room .vlf-question-stream {
  grid-column: 2 !important;
  grid-row: 3 !important;
}

/* Block 7 governance statement: exactly the same typographic scale as block 8's endline. */
.vlf-campaign--decision-room .vlf-quote,
.vlf-campaign--transition-trends .vlf-endline {
  font-family: var(--vlf-serif) !important;
  font-size: var(--vlf-executive-statement-size) !important;
  line-height: 1.08 !important;
  letter-spacing: -.035em !important;
  font-weight: 400 !important;
  font-style: normal !important;
}
.vlf-campaign--decision-room .vlf-quote {
  grid-column: 1 / -1 !important;
  grid-row: 4 !important;
  width: 100% !important;
  max-width: none !important;
  margin: clamp(74px, 8vw, 108px) 0 0 !important;
  white-space: normal !important;
  text-wrap: balance;
}
.vlf-campaign--transition-trends .vlf-endline {
  white-space: nowrap !important;
}

/* Block 10: preserve the deliberate two-line sentence while matching block 13 scale. */
.vlf-campaign--client-outcomes .vlf-h2 {
  max-width: 12.8ch !important;
}
.vlf-campaign--client-outcomes .vlf-h2 br {
  display: block !important;
}

/* Block 12: full-width headline at block 13 scale, with the explanatory paragraph aligned editorially below. */
.vlf-campaign--client-commitment .vlf-intro-grid {
  display: grid !important;
  grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  gap: 0 !important;
  align-items: start !important;
}
.vlf-campaign--client-commitment .vlf-intro-grid .vlf-h2 {
  grid-column: 1 / -1 !important;
  max-width: 12.8ch !important;
}
.vlf-campaign--client-commitment .vlf-intro-grid .vlf-lead {
  grid-column: 7 / -1 !important;
  margin-top: clamp(40px, 5vw, 68px) !important;
  max-width: 34rem !important;
}

@media (max-width: 1100px) {
  .vlf-campaign--decision-room .vlf-h2,
  .vlf-campaign--client-outcomes .vlf-h2,
  .vlf-campaign--client-commitment .vlf-h2,
  .vlf-campaign--perspectives > .vlf-shell > .vlf-h2 {
    font-size: clamp(2.85rem, 7.8vw, 5.7rem) !important;
  }
  .vlf-campaign--decision-room .vlf-shell {
    grid-template-columns: 1fr !important;
  }
  .vlf-campaign--decision-room > .vlf-shell > .vlf-lead,
  .vlf-campaign--decision-room .vlf-question-stream,
  .vlf-campaign--decision-room .vlf-quote {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  .vlf-campaign--decision-room .vlf-question-stream {
    margin-top: 44px !important;
  }
  .vlf-campaign--client-commitment .vlf-intro-grid {
    grid-template-columns: 1fr !important;
  }
  .vlf-campaign--client-commitment .vlf-intro-grid .vlf-h2,
  .vlf-campaign--client-commitment .vlf-intro-grid .vlf-lead {
    grid-column: 1 !important;
  }
}

@media (max-width: 720px) {
  .vlf-campaign--decision-room .vlf-h2,
  .vlf-campaign--client-outcomes .vlf-h2,
  .vlf-campaign--client-commitment .vlf-h2,
  .vlf-campaign--perspectives > .vlf-shell > .vlf-h2 {
    font-size: clamp(2.65rem, 12vw, 4.8rem) !important;
    line-height: .94 !important;
  }
  .vlf-campaign--decision-room .vlf-quote,
  .vlf-campaign--transition-trends .vlf-endline {
    white-space: normal !important;
    font-size: clamp(1.45rem, 6.2vw, 1.9rem) !important;
  }
}


/* ======================================================================
   v3.3.0 — SAFE SIGNATURE MOTION
   Non-invasive: no text splitting, no hidden copy, no layout mutation.
   Motion lives exclusively in decorative background layers/pseudo-elements.
   ====================================================================== */

/* Shared motion variables */
.vlf-campaign--hero,
.vlf-campaign--final-cta {
  --vlf-safe-x: 72%;
  --vlf-safe-y: 28%;
  --vlf-safe-scroll: 0;
  isolation: isolate;
}

/* 01 — HERO: architectural light + moving horizon, text remains untouched. */
.vlf-campaign--hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at var(--vlf-safe-x) var(--vlf-safe-y), rgba(165,139,111,.19), transparent 27%),
    linear-gradient(135deg, #101114 0%, #17181d 48%, #101114 100%) !important;
}

.vlf-campaign--hero::before {
  content: "" !important;
  position: absolute !important;
  inset: -14% -8% !important;
  pointer-events: none;
  z-index: 0;
  opacity: .82;
  background:
    radial-gradient(circle at 82% 18%, transparent 0 20%, rgba(248,247,243,.075) 20.15% 20.32%, transparent 20.5% 31%, rgba(248,247,243,.035) 31.15% 31.3%, transparent 31.5%),
    linear-gradient(108deg, transparent 0 44%, rgba(248,247,243,.055) 44.08% 44.16%, transparent 44.24% 100%),
    repeating-linear-gradient(90deg, transparent 0 calc(25% - .5px), rgba(248,247,243,.045) 25%, transparent calc(25% + .5px) 25%);
  transform: translate3d(calc((var(--vlf-safe-x) - 72%) * .035), calc((var(--vlf-safe-y) - 28%) * .025), 0) rotate(.001deg);
  animation: vlf-safe-hero-drift 16s ease-in-out infinite alternate;
}

.vlf-campaign--hero::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  top: auto !important;
  height: 2px !important;
  z-index: 1;
  opacity: .78;
  background: linear-gradient(90deg, transparent 0, rgba(248,247,243,.12) 12%, rgba(170,143,115,.92) 49%, rgba(248,247,243,.12) 88%, transparent 100%) !important;
  background-size: 220% 100% !important;
  animation: vlf-safe-scan 7.5s ease-in-out infinite;
}

.vlf-campaign--hero .vlf-hero__inner {
  position: relative;
  z-index: 2;
}

/* Keep all hero copy fully visible; add only a very restrained depth cue. */
.vlf-campaign--hero .vlf-hero__title {
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateY(calc(var(--vlf-safe-scroll) * -4px)) !important;
  transition: transform .12s linear;
}
.vlf-campaign--hero .vlf-eyebrow,
.vlf-campaign--hero .vlf-hero__promise,
.vlf-campaign--hero .vlf-hero__text,
.vlf-campaign--hero .vlf-hero__actions,
.vlf-campaign--hero .vlf-kicker {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}

.vlf-campaign--hero .vlf-kicker {
  position: relative;
  overflow: hidden;
}
.vlf-campaign--hero .vlf-kicker::after {
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  height: 2px;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(170,143,115,.95), transparent);
  animation: vlf-safe-kicker 6.2s ease-in-out infinite;
}

/* 14 — FINAL: converging architectural field, copy untouched. */
.vlf-campaign--final-cta {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at var(--vlf-safe-x) var(--vlf-safe-y), rgba(165,139,111,.16), transparent 29%),
    linear-gradient(145deg, #0f1013 0%, #17181c 54%, #101114 100%) !important;
}

.vlf-campaign--final-cta::before {
  content: "" !important;
  position: absolute !important;
  inset: -10% !important;
  z-index: 0;
  pointer-events: none;
  opacity: .72;
  background:
    radial-gradient(circle at 88% 82%, transparent 0 21%, rgba(248,247,243,.065) 21.12% 21.28%, transparent 21.45% 32%, rgba(248,247,243,.03) 32.12% 32.26%, transparent 32.45%),
    repeating-linear-gradient(90deg, transparent 0 calc(25% - .5px), rgba(248,247,243,.045) 25%, transparent calc(25% + .5px) 25%);
  animation: vlf-safe-final-drift 18s ease-in-out infinite alternate;
}

.vlf-campaign--final-cta::after {
  content: "" !important;
  position: absolute !important;
  left: 12% !important;
  right: 12% !important;
  top: 36% !important;
  bottom: auto !important;
  height: 1px !important;
  z-index: 1;
  opacity: .7;
  background: linear-gradient(90deg, transparent 0, rgba(248,247,243,.12) 18%, rgba(170,143,115,.86) 50%, rgba(248,247,243,.12) 82%, transparent 100%) !important;
  transform-origin: center;
  animation: vlf-safe-converge 6.8s ease-in-out infinite;
}

.vlf-campaign--final-cta .vlf-final__inner {
  position: relative;
  z-index: 2;
}

/* Explicitly neutralise all former kinetic text behaviour if an old cached rule survives. */
.vlf-campaign--final-cta .vlf-final__prelude,
.vlf-campaign--final-cta .vlf-final__title,
.vlf-campaign--final-cta .vlf-lead,
.vlf-campaign--final-cta .vlf-final__promise,
.vlf-campaign--final-cta .vlf-button {
  opacity: 1 !important;
  visibility: visible !important;
}
.vlf-campaign--final-cta .vlf-final__prelude,
.vlf-campaign--final-cta .vlf-final__title {
  transform: none !important;
}
.vlf-campaign--final-cta .vlf-final__title {
  color: var(--vlf-paper-soft) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

.vlf-campaign--final-cta .vlf-button--primary {
  position: relative;
  transition: transform .3s var(--vlf-ease), border-color .3s ease, background .3s ease;
}
.vlf-campaign--final-cta .vlf-button--primary:hover {
  transform: translateY(-3px);
}

@keyframes vlf-safe-hero-drift {
  0%   { transform: translate3d(-1.5%, -1%, 0) scale(1); }
  100% { transform: translate3d(1.5%, 1%, 0) scale(1.025); }
}
@keyframes vlf-safe-final-drift {
  0%   { transform: translate3d(0, 1%, 0) scale(1.01); }
  100% { transform: translate3d(-1.8%, -1%, 0) scale(1.035); }
}
@keyframes vlf-safe-scan {
  0%,100% { background-position: 100% 50%; opacity: .45; }
  50%     { background-position: 0% 50%; opacity: .92; }
}
@keyframes vlf-safe-kicker {
  0%,100% { transform: translateX(-115%); opacity: .15; }
  42%,58% { opacity: .95; }
  50%     { transform: translateX(350%); }
}
@keyframes vlf-safe-converge {
  0%,100% { transform: scaleX(.28); opacity: .25; }
  50%     { transform: scaleX(1); opacity: .82; }
}

@media (max-width: 720px) {
  .vlf-campaign--hero::before,
  .vlf-campaign--final-cta::before { opacity: .52; }
  .vlf-campaign--final-cta::after { left: 7% !important; right: 7% !important; }
}

@media (prefers-reduced-motion: reduce) {
  .vlf-campaign--hero::before,
  .vlf-campaign--hero::after,
  .vlf-campaign--hero .vlf-kicker::after,
  .vlf-campaign--final-cta::before,
  .vlf-campaign--final-cta::after {
    animation: none !important;
  }
  .vlf-campaign--hero .vlf-hero__title { transform: none !important; }
}


/* v3.3.1 — Block 11: exact three-line title */
.vlf-campaign--how-we-work .vlf-h2 {
  max-width: none !important;
}
.vlf-campaign--how-we-work .vlf-title-line {
  display: block !important;
  white-space: nowrap !important;
}
@media (max-width: 720px) {
  .vlf-campaign--how-we-work .vlf-title-line {
    white-space: normal !important;
  }
}


/* v3.3.3 — Homepage hero alignment ---------------------------------------
   Desktop mirrors the main-page hero logic: display statement left,
   substantive narrative right, secondary promise/actions beneath left. */
@media (min-width: 1101px) {
  .vlf-campaign--hero .vlf-hero__inner {
    display: grid !important;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr) !important;
    grid-template-rows: auto auto auto auto auto !important;
    column-gap: clamp(54px, 6vw, 92px) !important;
    row-gap: 0 !important;
    align-items: start !important;
  }

  .vlf-campaign--hero .vlf-eyebrow {
    grid-column: 1 / -1 !important;
    grid-row: 1 !important;
  }

  .vlf-campaign--hero .vlf-hero__title {
    grid-column: 1 !important;
    grid-row: 2 !important;
    align-self: start !important;
    max-width: 8.9ch !important;
    margin: 0 !important;
  }

  .vlf-campaign--hero .vlf-hero__text {
    grid-column: 2 !important;
    grid-row: 2 / span 3 !important;
    justify-self: stretch !important;
    align-self: start !important;
    width: 100% !important;
    max-width: 34rem !important;
    margin: .55rem 0 0 !important;
    padding: 0 !important;
    font-size: clamp(.94rem, .38vw + .78rem, 1.06rem) !important;
    line-height: 1.62 !important;
    color: rgba(248,247,243,.80) !important;
    text-wrap: pretty;
  }

  .vlf-campaign--hero .vlf-hero__promise {
    grid-column: 1 !important;
    grid-row: 3 !important;
    margin: clamp(44px, 5vh, 64px) 0 0 !important;
    max-width: none !important;
    white-space: nowrap !important;
  }

  .vlf-campaign--hero .vlf-hero__actions {
    grid-column: 1 !important;
    grid-row: 4 !important;
    margin-top: clamp(28px, 3.6vh, 42px) !important;
  }

  .vlf-campaign--hero .vlf-kicker {
    grid-column: 1 / -1 !important;
    grid-row: 5 !important;
    margin-top: clamp(50px, 6vh, 78px) !important;
  }
}

@media (max-width: 1100px) {
  .vlf-campaign--hero .vlf-hero__text {
    max-width: 48rem !important;
    margin-top: 30px !important;
  }
}


/* ========================================================================
   v3.4.0 — VLF homepage hero + aubergine/violet/orange visual system
   ------------------------------------------------------------------------
   Design direction:
   - Block 01 follows the homepage hierarchy: numbered brand line, dominant
     uppercase statement, narrative counter-column, restrained editorial CTA.
   - Page-wide palette shifts from charcoal/beige to deep aubergine, violet,
     magenta-violet, warm orange and soft lilac.
   - Geometry, whitespace and fine rules remain VLF-specific and editorial.
   ======================================================================== */
:root {
  --vlf-ink: #24162C;
  --vlf-ink-soft: #2D1736;
  --vlf-paper: #F7F3F9;
  --vlf-paper-soft: #FFFFFF;
  --vlf-white: #FFFFFF;
  --vlf-muted: #635B67;
  --vlf-line: #D9D0DE;
  --vlf-line-dark: rgba(255,255,255,.20);
  --vlf-accent: #7C378F;
  --vlf-violet: #5C236B;
  --vlf-violet-bright: #7C378F;
  --vlf-magenta: #8A359A;
  --vlf-orange: #F0A032;
  --vlf-aubergine: #24162C;
  --vlf-plum: #2D1736;
  --vlf-lilac: #F7F3F9;
  --vlf-secondary: #635B67;
  --vlf-separator: #D9D0DE;
}

.vlf-campaign-page {
  background: var(--vlf-white) !important;
  color: var(--vlf-aubergine) !important;
}

body .vlf-campaign-page .vlf-theme--light,
.vlf-theme--light {
  background: var(--vlf-white) !important;
  color: var(--vlf-aubergine) !important;
  --vlf-line-current: rgba(92,35,107,.18);
  --vlf-muted-current: var(--vlf-secondary);
}
body .vlf-campaign-page .vlf-theme--paper,
.vlf-theme--paper {
  background: var(--vlf-lilac) !important;
  color: var(--vlf-aubergine) !important;
  --vlf-line-current: rgba(92,35,107,.18);
  --vlf-muted-current: var(--vlf-secondary);
}
body .vlf-campaign-page .vlf-theme--dark,
.vlf-theme--dark {
  background: var(--vlf-aubergine) !important;
  color: var(--vlf-white) !important;
  --vlf-line-current: rgba(255,255,255,.18);
  --vlf-muted-current: rgba(255,255,255,.72);
}
body .vlf-campaign-page .vlf-theme--ink,
.vlf-theme--ink {
  background: var(--vlf-plum) !important;
  color: var(--vlf-white) !important;
  --vlf-line-current: rgba(255,255,255,.18);
  --vlf-muted-current: rgba(255,255,255,.72);
}

.vlf-eyebrow {
  color: var(--vlf-violet-bright);
  font-weight: 700;
  letter-spacing: .145em;
}
.vlf-theme--dark .vlf-eyebrow,
.vlf-theme--ink .vlf-eyebrow { color: var(--vlf-orange); }
.vlf-eyebrow::before { background: currentColor; opacity: 1; }

.vlf-number { color: var(--vlf-violet-bright); font-weight: 700; }
.vlf-theme--dark .vlf-number,
.vlf-theme--ink .vlf-number { color: var(--vlf-orange); }

.vlf-button {
  border-color: rgba(92,35,107,.42);
  font-weight: 650;
}
.vlf-theme--dark .vlf-button,
.vlf-theme--ink .vlf-button { border-color: rgba(255,255,255,.42); }
.vlf-theme--dark .vlf-button--primary,
.vlf-theme--ink .vlf-button--primary {
  color: var(--vlf-aubergine);
  background: var(--vlf-orange);
  border-color: var(--vlf-orange);
}
.vlf-theme--light .vlf-button--primary,
.vlf-theme--paper .vlf-button--primary {
  color: var(--vlf-white);
  background: var(--vlf-violet);
  border-color: var(--vlf-violet);
}
.vlf-theme--dark .vlf-button--primary:hover,
.vlf-theme--ink .vlf-button--primary:hover { background: #F4B04F; }
.vlf-theme--light .vlf-button--primary:hover,
.vlf-theme--paper .vlf-button--primary:hover { background: var(--vlf-magenta); }

/* Block 01 — homepage-aligned hero */
.vlf-campaign--hero {
  min-height: clamp(650px, calc(100svh - 118px), 920px);
  background: var(--vlf-aubergine) !important;
  color: var(--vlf-white) !important;
  border-bottom: 0;
}
.vlf-campaign--hero::before {
  inset: 0;
  background:
    radial-gradient(circle at calc(82% - var(--vlf-hero-x)) calc(18% + var(--vlf-hero-y-pct)), rgba(240,160,50,.20), transparent 26%),
    radial-gradient(circle at 72% 76%, rgba(138,53,154,.30), transparent 34%),
    linear-gradient(118deg, transparent 0 57%, rgba(124,55,143,.18) 57% 72%, transparent 72% 100%),
    linear-gradient(90deg, transparent 0 24.9%, rgba(255,255,255,.055) 25%, transparent 25.1% 49.9%, rgba(255,255,255,.055) 50%, transparent 50.1% 74.9%, rgba(255,255,255,.055) 75%, transparent 75.1%);
  opacity: 1;
}
.vlf-campaign--hero::after {
  height: 5px;
  background: linear-gradient(90deg, var(--vlf-orange) 0 13%, var(--vlf-magenta) 13% 38%, var(--vlf-violet) 38% 100%);
  opacity: 1;
}
.vlf-campaign--hero .vlf-hero__inner {
  padding-block: clamp(56px, 7vh, 88px) clamp(46px, 6vh, 72px);
}
.vlf-campaign--hero .vlf-eyebrow {
  margin-bottom: clamp(52px, 7vh, 86px);
  color: var(--vlf-orange) !important;
}
.vlf-campaign--hero .vlf-hero__title {
  font-family: var(--vlf-sans) !important;
  font-weight: 560 !important;
  font-size: clamp(3.2rem, 5.9vw, 7.1rem) !important;
  line-height: .88 !important;
  letter-spacing: -.058em !important;
  text-transform: uppercase !important;
  text-wrap: balance;
}
.vlf-campaign--hero .vlf-hero__title br { display: block; }
.vlf-campaign--hero .vlf-hero__text {
  color: rgba(255,255,255,.82) !important;
  line-height: 1.72 !important;
}
.vlf-campaign--hero .vlf-hero__promise {
  color: var(--vlf-white);
  font-weight: 550;
  letter-spacing: -.022em;
}
.vlf-campaign--hero .vlf-hero__actions {
  gap: 22px;
}
.vlf-campaign--hero .vlf-button {
  min-width: 0;
  padding: 0 0 10px;
  border: 0;
  border-bottom: 1px solid rgba(255,255,255,.48);
  background: transparent !important;
  color: var(--vlf-white) !important;
  gap: 18px;
  font-size: .84rem;
  letter-spacing: .015em;
}
.vlf-campaign--hero .vlf-button--primary {
  color: var(--vlf-orange) !important;
  border-bottom-color: var(--vlf-orange);
}
.vlf-campaign--hero .vlf-button:hover {
  color: var(--vlf-orange) !important;
  border-bottom-color: var(--vlf-orange);
  transform: none;
}
.vlf-campaign--hero .vlf-kicker {
  color: rgba(255,255,255,.52);
  letter-spacing: .16em;
}

/* Alternating page rhythm — strong but controlled */
.vlf-campaign--reality,
.vlf-campaign--signal-to-action,
.vlf-campaign--transition-trends,
.vlf-campaign--how-we-work,
.vlf-campaign--client-commitment {
  background: var(--vlf-white) !important;
}
.vlf-campaign--what-must-stand,
.vlf-campaign--critical-matters,
.vlf-campaign--vpr,
.vlf-campaign--client-outcomes,
.vlf-campaign--perspectives {
  background: var(--vlf-lilac) !important;
}
.vlf-campaign--defensibility { background: var(--vlf-plum) !important; }
.vlf-campaign--decision-room,
.vlf-campaign--final-cta { background: var(--vlf-aubergine) !important; }

/* Fine-rule hierarchy and restrained violet interaction */
.vlf-campaign:not(.vlf-campaign--hero)::after { opacity: .44; }
.vlf-theme--light a:not(.vlf-button):hover,
.vlf-theme--paper a:not(.vlf-button):hover { color: var(--vlf-magenta); }

.vlf-step::before,
.vlf-story::before,
.vlf-trend::before,
.vlf-insight::before { background: var(--vlf-violet-bright); }
.vlf-theme--dark .vlf-step::before,
.vlf-theme--ink .vlf-step::before,
.vlf-theme--dark .vlf-story::before,
.vlf-theme--ink .vlf-story::before { background: var(--vlf-orange); }

.vlf-must-stand__card,
.vlf-story,
.vlf-trend,
.vlf-vpr__item,
.vlf-outcome,
.vlf-insight {
  border-color: var(--vlf-line-current) !important;
}

.vlf-campaign--final-cta::before {
  background:
    radial-gradient(circle at 82% 68%, rgba(240,160,50,.18), transparent 26%),
    radial-gradient(circle at 24% 22%, rgba(138,53,154,.25), transparent 34%);
}

/* Desktop: reproduce the main homepage's left-statement/right-narrative balance. */
@media (min-width: 1101px) {
  .vlf-campaign--hero .vlf-hero__inner {
    grid-template-columns: minmax(0, 1.14fr) minmax(360px, .86fr) !important;
    column-gap: clamp(70px, 7vw, 118px) !important;
  }
  .vlf-campaign--hero .vlf-hero__title {
    max-width: 8.1ch !important;
  }
  .vlf-campaign--hero .vlf-hero__text {
    max-width: 33rem !important;
    margin-top: .2rem !important;
  }
  .vlf-campaign--hero .vlf-hero__promise {
    margin-top: clamp(50px, 6.2vh, 76px) !important;
  }
}

@media (max-width: 1100px) {
  .vlf-campaign--hero .vlf-hero__title {
    max-width: 10ch !important;
    font-size: clamp(3.15rem, 9vw, 6.4rem) !important;
  }
  .vlf-campaign--hero .vlf-hero__text { color: rgba(255,255,255,.80) !important; }
}

@media (max-width: 720px) {
  .vlf-campaign--hero {
    min-height: auto;
  }
  .vlf-campaign--hero .vlf-hero__inner {
    padding-block: 72px 48px !important;
  }
  .vlf-campaign--hero .vlf-eyebrow {
    margin-bottom: 42px !important;
  }
  .vlf-campaign--hero .vlf-hero__title {
    font-size: clamp(2.85rem, 15vw, 5rem) !important;
    line-height: .88 !important;
  }
  .vlf-campaign--hero .vlf-hero__promise {
    white-space: normal !important;
    margin-top: 34px !important;
  }
  .vlf-campaign--hero .vlf-hero__actions {
    flex-direction: column;
    align-items: flex-start;
    gap: 18px;
  }
  .vlf-campaign--hero .vlf-kicker { margin-top: 42px !important; }
}

/* v3.4.0 — signature-motion recolour: override v3.3 decorative layers */
.vlf-campaign--hero {
  background:
    radial-gradient(circle at var(--vlf-safe-x) var(--vlf-safe-y), rgba(138,53,154,.24), transparent 29%),
    linear-gradient(135deg, #24162C 0%, #2D1736 54%, #24162C 100%) !important;
}
.vlf-campaign--hero::before {
  background:
    radial-gradient(circle at 84% 17%, transparent 0 20%, rgba(240,160,50,.11) 20.15% 20.34%, transparent 20.55% 31%, rgba(124,55,143,.12) 31.15% 31.34%, transparent 31.55%),
    linear-gradient(108deg, transparent 0 44%, rgba(255,255,255,.055) 44.08% 44.16%, transparent 44.24% 100%),
    repeating-linear-gradient(90deg, transparent 0 calc(25% - .5px), rgba(255,255,255,.048) 25%, transparent calc(25% + .5px) 25%) !important;
}
.vlf-campaign--hero::after {
  height: 4px !important;
  opacity: .94 !important;
  background: linear-gradient(90deg, var(--vlf-orange) 0 14%, var(--vlf-magenta) 14% 42%, var(--vlf-violet) 42% 100%) !important;
  background-size: 170% 100% !important;
}
.vlf-campaign--hero .vlf-kicker::after {
  background: linear-gradient(90deg, transparent, var(--vlf-orange), transparent) !important;
}
.vlf-campaign--final-cta {
  background:
    radial-gradient(circle at var(--vlf-safe-x) var(--vlf-safe-y), rgba(138,53,154,.22), transparent 30%),
    linear-gradient(145deg, #24162C 0%, #2D1736 55%, #24162C 100%) !important;
}
.vlf-campaign--final-cta::before {
  background:
    radial-gradient(circle at 88% 82%, transparent 0 21%, rgba(240,160,50,.10) 21.12% 21.30%, transparent 21.48% 32%, rgba(124,55,143,.10) 32.12% 32.28%, transparent 32.48%),
    repeating-linear-gradient(90deg, transparent 0 calc(25% - .5px), rgba(255,255,255,.045) 25%, transparent calc(25% + .5px) 25%) !important;
}
.vlf-campaign--final-cta::after {
  background: linear-gradient(90deg, transparent 0, rgba(255,255,255,.10) 18%, var(--vlf-orange) 50%, rgba(255,255,255,.10) 82%, transparent 100%) !important;
}
.vlf-story::after { background: rgba(124,55,143,.075) !important; }

/* ========================================================================
   v3.6.0 — PRECISION CORRECTION
   Restores VLF proportions and typography discipline. Dynamic behaviour is
   decorative and structural only; it never replaces the site's typographic
   identity or widens the established editorial shell.
   ======================================================================== */

/* Use the actual live VLF site's typography when available. JS populates
   --vlf-live-heading-font / --vlf-live-body-font from neutral theme probes. */
.vlf-campaign-page {
  --vlf-sans: var(--vlf-live-body-font, var(--e-global-typography-text-font-family, "Helvetica Neue", Arial, sans-serif));
  --vlf-serif: var(--vlf-live-heading-font, var(--e-global-typography-primary-font-family, var(--vlf-live-body-font, "Helvetica Neue", Arial, sans-serif)));
  --vlf-page-width: min(calc(100vw - 48px), 1120px);
  --vlf-shell: min(calc(100% - 48px), 1048px);
  --vlf-section-y: clamp(88px, 9.4vw, 148px);
}

/* Global type scale: editorial, controlled, aligned with the live homepage. */
.vlf-campaign {
  font-family: var(--vlf-sans) !important;
  font-size: clamp(15px, .12vw + 14.6px, 17px) !important;
}
.vlf-display,
.vlf-h2,
.vlf-statement strong,
.vlf-must-stand__card h3,
.vlf-word-stack span,
.vlf-endline,
.vlf-story h3,
.vlf-question-stream li,
.vlf-quote,
.vlf-trend h3,
.vlf-vpr__item h3,
.vlf-outcome strong,
.vlf-insight h3,
.vlf-final__prelude,
.vlf-final__title {
  font-family: var(--vlf-serif) !important;
  font-weight: 500 !important;
  letter-spacing: -.032em !important;
  text-wrap: balance;
}
.vlf-h2 {
  max-width: 14.5ch !important;
  font-size: clamp(2.55rem, 4.35vw, 5rem) !important;
  line-height: .96 !important;
}
.vlf-h2--wide { max-width: 19ch !important; }
.vlf-lead {
  max-width: 43rem !important;
  font-size: clamp(1.02rem, .78vw + .72rem, 1.25rem) !important;
  line-height: 1.64 !important;
  letter-spacing: -.012em !important;
}
.vlf-eyebrow {
  margin-bottom: clamp(32px, 4vw, 56px) !important;
  font-size: clamp(.66rem, .52vw, .74rem) !important;
  font-weight: 700 !important;
  letter-spacing: .14em !important;
}
.vlf-number { font-weight: 700 !important; letter-spacing: .14em !important; }

/* Block 01: reproduce homepage hierarchy, not a poster treatment. */
.vlf-campaign--hero {
  min-height: clamp(610px, calc(100svh - 128px), 820px) !important;
}
.vlf-campaign--hero .vlf-hero__inner {
  padding-block: clamp(54px, 6.2vh, 76px) clamp(42px, 5.2vh, 62px) !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .75fr) !important;
  column-gap: clamp(54px, 6vw, 92px) !important;
}
.vlf-campaign--hero .vlf-eyebrow {
  margin-bottom: clamp(42px, 5.2vh, 64px) !important;
}
.vlf-campaign--hero .vlf-hero__title {
  font-family: var(--vlf-serif) !important;
  max-width: 10.2ch !important;
  font-weight: 520 !important;
  font-size: clamp(3rem, 5.05vw, 5.8rem) !important;
  line-height: .92 !important;
  letter-spacing: -.04em !important;
  text-transform: uppercase !important;
}
.vlf-campaign--hero .vlf-hero__text {
  max-width: 28rem !important;
  margin-top: 0 !important;
  font-size: clamp(.95rem, .34vw + .84rem, 1.06rem) !important;
  line-height: 1.67 !important;
  color: rgba(255,255,255,.78) !important;
}
.vlf-campaign--hero .vlf-hero__promise {
  max-width: 31rem !important;
  margin-top: clamp(38px, 4.7vh, 56px) !important;
  font-family: var(--vlf-sans) !important;
  font-size: clamp(1.05rem, .75vw + .76rem, 1.24rem) !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  letter-spacing: -.016em !important;
}
.vlf-campaign--hero .vlf-hero__actions { margin-top: 24px !important; }
.vlf-campaign--hero .vlf-kicker { margin-top: 34px !important; }

/* Remove the oversized diagonal/poster feeling from v3.5: motion remains
   atmospheric and tied to the existing 4-column VLF grid. */
.vlf-campaign--hero {
  background:
    radial-gradient(circle at var(--vlf-safe-x) var(--vlf-safe-y), rgba(138,53,154,.17), transparent 31%),
    linear-gradient(135deg, #24162C 0%, #2D1736 58%, #24162C 100%) !important;
}
.vlf-campaign--hero::before {
  opacity: .74 !important;
  background:
    radial-gradient(circle at 86% 18%, rgba(240,160,50,.09), transparent 22%),
    repeating-linear-gradient(90deg, transparent 0 calc(25% - .5px), rgba(255,255,255,.045) 25%, transparent calc(25% + .5px) 25%) !important;
}
.vlf-campaign--hero::after { height: 3px !important; }

/* Section proportions. Large type is still confident, but no longer distorts
   the 1120px VLF content system. */
.vlf-statement strong { font-size: clamp(2.35rem, 4.25vw, 4.75rem) !important; line-height: .98 !important; }
.vlf-must-stand__card { min-height: clamp(360px, 35vw, 500px) !important; }
.vlf-must-stand__card h3 { font-size: clamp(2.15rem, 3.75vw, 4.15rem) !important; line-height: .94 !important; }
.vlf-word-stack span { font-size: clamp(1.4rem, 2vw, 2.25rem) !important; line-height: 1.02 !important; }
.vlf-endline { font-size: clamp(2.15rem, 3.55vw, 4rem) !important; line-height: .98 !important; }
.vlf-step h3 { font-size: clamp(1.45rem, 1.7vw, 1.95rem) !important; line-height: 1.08 !important; }
.vlf-story h3 { font-size: clamp(1.9rem, 2.85vw, 3.25rem) !important; line-height: 1 !important; }
.vlf-campaign--decision-room .vlf-h2 { font-size: clamp(2.4rem, 3.7vw, 4.15rem) !important; }
.vlf-question-stream li { font-size: clamp(1.15rem, 1.55vw, 1.72rem) !important; line-height: 1.24 !important; }
.vlf-quote { font-size: clamp(2.15rem, 3.85vw, 4.25rem) !important; line-height: .98 !important; }
.vlf-trend { min-height: 470px !important; }
.vlf-trend h3 { font-size: clamp(2.25rem, 3.65vw, 4.1rem) !important; line-height: .94 !important; }
.vlf-vpr__item { min-height: 430px !important; }
.vlf-vpr__item h3 { font-size: clamp(1.95rem, 3.15vw, 3.45rem) !important; line-height: .98 !important; }
.vlf-outcome strong { font-size: clamp(1.85rem, 2.9vw, 3.2rem) !important; line-height: 1 !important; }
.vlf-commitment__item h3 { font-size: clamp(1.45rem, 1.75vw, 1.95rem) !important; line-height: 1.08 !important; letter-spacing: -.018em !important; }
.vlf-insight h3,
.vlf-insight:not(.vlf-insight--featured) h3 { font-size: clamp(1.9rem, 2.95vw, 3.35rem) !important; line-height: .98 !important; }
.vlf-final__prelude { font-size: clamp(2.35rem, 4.1vw, 4.55rem) !important; line-height: .96 !important; }
.vlf-final__title { font-size: clamp(2.75rem, 4.8vw, 5.25rem) !important; line-height: .92 !important; letter-spacing: -.04em !important; }
.vlf-campaign--final-cta { min-height: min(88svh, 820px) !important; }

/* Eversheds-inspired colour choreography, but within VLF's existing geometry. */
.vlf-must-stand__card::after { background: var(--vlf-violet) !important; }
.vlf-must-stand__card:hover { color: var(--vlf-white) !important; }
.vlf-story::after { background: rgba(124,55,143,.065) !important; }
.vlf-outcome:hover strong { color: var(--vlf-magenta) !important; transform: translateX(6px) !important; }
.vlf-commitment__item::before { background: linear-gradient(180deg, var(--vlf-orange), var(--vlf-magenta)) !important; }

/* Values / Prosperity / Resilience: the one deliberately bolder colour moment. */
.vlf-campaign--vpr .vlf-vpr__grid {
  border: 0 !important;
  gap: 1px !important;
  background: var(--vlf-separator) !important;
}
.vlf-campaign--vpr .vlf-vpr__item {
  padding: clamp(30px, 3.4vw, 48px) !important;
  border: 0 !important;
  transition: transform .35s var(--vlf-ease), filter .35s var(--vlf-ease) !important;
}
.vlf-campaign--vpr .vlf-vpr__item:nth-child(1) { background: var(--vlf-aubergine) !important; color: var(--vlf-white) !important; --vlf-muted-current: rgba(255,255,255,.72); }
.vlf-campaign--vpr .vlf-vpr__item:nth-child(2) { background: var(--vlf-violet) !important; color: var(--vlf-white) !important; --vlf-muted-current: rgba(255,255,255,.78); }
.vlf-campaign--vpr .vlf-vpr__item:nth-child(3) { background: var(--vlf-white) !important; color: var(--vlf-aubergine) !important; --vlf-muted-current: var(--vlf-secondary); }
@media (hover:hover) and (pointer:fine) {
  .vlf-campaign--vpr .vlf-vpr__item:hover { transform: translateY(-5px); z-index: 2; }
}

/* Perspectives: retain hierarchy, add restrained asymmetry instead of a mosaic. */
.vlf-campaign--perspectives .vlf-insights {
  grid-template-columns: 1.08fr .92fr !important;
}
.vlf-campaign--perspectives .vlf-insight:first-child {
  background: var(--vlf-white) !important;
}
.vlf-campaign--perspectives .vlf-insight:nth-child(2),
.vlf-campaign--perspectives .vlf-insight:nth-child(3) {
  background: rgba(255,255,255,.42) !important;
}

/* Responsive: proportional typography, no clipped display copy, no horizontal
   layout experiments. */
@media (max-width: 1100px) {
  .vlf-campaign--hero .vlf-hero__inner {
    grid-template-columns: 1fr !important;
  }
  .vlf-campaign--hero .vlf-hero__title {
    max-width: 12ch !important;
    font-size: clamp(3rem, 8.2vw, 5rem) !important;
  }
  .vlf-campaign--hero .vlf-hero__text { max-width: 44rem !important; margin-top: 30px !important; }
}
@media (max-width: 720px) {
  .vlf-campaign-page {
    --vlf-page-width: 100%;
    --vlf-shell: min(calc(100% - 36px), 1048px);
    --vlf-section-y: 76px;
  }
  .vlf-campaign--hero .vlf-hero__inner { padding-block: 58px 42px !important; }
  .vlf-campaign--hero .vlf-hero__title {
    max-width: 11ch !important;
    font-size: clamp(2.55rem, 12.8vw, 4rem) !important;
    line-height: .94 !important;
  }
  .vlf-h2 { font-size: clamp(2.25rem, 10.5vw, 3.65rem) !important; }
  .vlf-must-stand__card h3 { font-size: clamp(2rem, 9.6vw, 3.3rem) !important; }
  .vlf-story h3,
  .vlf-trend h3,
  .vlf-vpr__item h3,
  .vlf-insight h3,
  .vlf-insight:not(.vlf-insight--featured) h3 { font-size: clamp(1.95rem, 8.8vw, 3rem) !important; }
  .vlf-campaign--vpr .vlf-vpr__grid { gap: 1px !important; }
  .vlf-campaign--vpr .vlf-vpr__item { min-height: 0 !important; }
  .vlf-final__title { font-size: clamp(2.6rem, 12vw, 4rem) !important; }
}

/* ========================================================================
   v3.10.0 — SYMMETRIC DYNAMIC CLARITY
   User direction: no asymmetry in Blocks 03, 05, 08, 11, 12 and 13.
   Motion remains in rules, reveal accents and hover states only. Geometry is
   intentionally even, aligned and repeatable. Text stays on open surfaces.
   ======================================================================== */

/* Shared open-field logic for the six dynamic blocks. */
.vlf-campaign--what-must-stand,
.vlf-campaign--signal-to-action,
.vlf-campaign--transition-trends,
.vlf-campaign--how-we-work,
.vlf-campaign--client-commitment,
.vlf-campaign--perspectives {
  overflow: clip;
}
.vlf-campaign--what-must-stand > .vlf-shell,
.vlf-campaign--signal-to-action > .vlf-shell,
.vlf-campaign--transition-trends > .vlf-shell,
.vlf-campaign--how-we-work > .vlf-shell,
.vlf-campaign--client-commitment > .vlf-shell,
.vlf-campaign--perspectives > .vlf-shell {
  position: relative;
  isolation: isolate;
}

/* Open section backgrounds: colour is atmospheric, never a text tile. */
.vlf-campaign--what-must-stand { background: linear-gradient(180deg, var(--vlf-white) 0%, var(--vlf-lilac) 100%) !important; }
.vlf-campaign--signal-to-action { background: var(--vlf-white) !important; }
.vlf-campaign--transition-trends { background: linear-gradient(180deg, var(--vlf-lilac) 0%, var(--vlf-white) 76%) !important; }
.vlf-campaign--how-we-work { background: var(--vlf-white) !important; }
.vlf-campaign--client-commitment { background: linear-gradient(180deg, var(--vlf-lilac), var(--vlf-white)) !important; }
.vlf-campaign--perspectives { background: var(--vlf-white) !important; }

/* 10 — keep “Duidelijkheid verandert wat mogelijk wordt.” visibly lower. */
.vlf-campaign--client-outcomes > .vlf-shell > .vlf-endline {
  margin-top: clamp(132px, 13vw, 190px) !important;
  padding-top: clamp(26px, 3vw, 38px) !important;
  border-top: 1px solid rgba(92,35,107,.22) !important;
}

/* Keep the introductory split balanced wherever these sections use it. */
.vlf-campaign--signal-to-action .vlf-intro-grid,
.vlf-campaign--transition-trends .vlf-intro-grid,
.vlf-campaign--how-we-work .vlf-intro-grid,
.vlf-campaign--client-commitment .vlf-intro-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(44px, 6vw, 76px) !important;
  align-items: start !important;
}

/* Remove off-axis decorative geometry from the six redesigned sections. */
.vlf-campaign--what-must-stand > .vlf-shell::after,
.vlf-campaign--signal-to-action > .vlf-shell::after,
.vlf-campaign--transition-trends > .vlf-shell::after,
.vlf-campaign--how-we-work > .vlf-shell::after,
.vlf-campaign--client-commitment > .vlf-shell::after,
.vlf-campaign--perspectives > .vlf-shell::after {
  display: none !important;
}

/* 03 — strict 2 × 2 matrix. */
.vlf-campaign--what-must-stand .vlf-must-stand__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: clamp(72px, 8vw, 112px) !important;
  padding-top: 0 !important;
  border-top: 1px solid rgba(92,35,107,.22) !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__grid::before {
  left: 0 !important;
  right: auto !important;
  top: -2px !important;
  width: var(--vlf-motion-pct, 18%) !important;
  height: 3px !important;
  transform: none !important;
  background: linear-gradient(90deg, var(--vlf-orange), var(--vlf-violet), var(--vlf-magenta)) !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__card,
.vlf-campaign--what-must-stand .vlf-must-stand__card:nth-child(n) {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 390px !important;
  margin: 0 !important;
  padding: clamp(34px, 4vw, 52px) clamp(30px, 4vw, 54px) clamp(38px, 4.5vw, 60px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(92,35,107,.16) !important;
  border-left: 0 !important;
  background: transparent !important;
  transform: none !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__card:nth-child(odd) {
  padding-right: clamp(34px, 5vw, 68px) !important;
  border-right: 1px solid rgba(92,35,107,.16) !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__card:nth-child(even) {
  padding-left: clamp(34px, 5vw, 68px) !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__card::before {
  left: 0 !important;
  top: -1px !important;
  width: clamp(64px, 8vw, 104px) !important;
  height: 3px !important;
  transform: scaleX(.18) !important;
  transform-origin: left center !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__card.is-visible::before { transform: scaleX(1) !important; }
.vlf-campaign--what-must-stand .vlf-must-stand__card:nth-child(even)::before {
  left: clamp(34px, 5vw, 68px) !important;
}
@media (hover:hover) and (pointer:fine) {
  .vlf-campaign--what-must-stand .vlf-must-stand__card:hover { transform: translateY(-5px) !important; }
}

/* 05 — 3 × 2 equal process grid; no zig-zag or alternating side. */
.vlf-campaign--signal-to-action .vlf-steps {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: clamp(72px, 8vw, 112px) !important;
  padding: 0 !important;
  border-top: 1px solid rgba(92,35,107,.22) !important;
  overflow: hidden !important;
}
.vlf-campaign--signal-to-action .vlf-steps::before {
  left: 0 !important;
  right: auto !important;
  top: -2px !important;
  bottom: auto !important;
  width: var(--vlf-motion-pct, 18%) !important;
  max-width: 100% !important;
  height: 3px !important;
  background: linear-gradient(90deg, var(--vlf-orange), var(--vlf-violet), var(--vlf-magenta)) !important;
}
.vlf-campaign--signal-to-action .vlf-steps::after { display: none !important; }
.vlf-campaign--signal-to-action .vlf-step,
.vlf-campaign--signal-to-action .vlf-step + .vlf-step,
.vlf-campaign--signal-to-action .vlf-step:nth-child(odd),
.vlf-campaign--signal-to-action .vlf-step:nth-child(even) {
  width: auto !important;
  min-height: 360px !important;
  margin: 0 !important;
  padding: clamp(34px, 4vw, 50px) clamp(28px, 3.2vw, 42px) clamp(38px, 4vw, 54px) !important;
  border: 0 !important;
  border-right: 1px solid rgba(92,35,107,.16) !important;
  border-bottom: 1px solid rgba(92,35,107,.16) !important;
  background: transparent !important;
  transform: none !important;
}
.vlf-campaign--signal-to-action .vlf-step:nth-child(3n) { border-right: 0 !important; }
.vlf-campaign--signal-to-action .vlf-step:nth-child(n+4) { border-bottom: 0 !important; }
.vlf-campaign--signal-to-action .vlf-step:nth-child(n)::after { display: none !important; }
.vlf-campaign--signal-to-action .vlf-step::before,
.vlf-campaign--signal-to-action .vlf-step:nth-child(even)::before {
  left: clamp(28px, 3.2vw, 42px) !important;
  top: -1px !important;
  width: clamp(58px, 7vw, 92px) !important;
  height: 3px !important;
  transform: scaleX(.18) !important;
  transform-origin: left center !important;
}
.vlf-campaign--signal-to-action .vlf-step.is-visible::before { transform: scaleX(1) !important; }
.vlf-campaign--signal-to-action .vlf-step .vlf-number { margin-bottom: clamp(30px, 3.5vw, 44px) !important; }
.vlf-campaign--signal-to-action .vlf-process-line {
  margin-top: clamp(54px, 6vw, 80px) !important;
  text-align: center !important;
}
@media (hover:hover) and (pointer:fine) {
  .vlf-campaign--signal-to-action .vlf-step:hover { transform: translateY(-5px) !important; }
}

/* 08 — equal full-width trend rows; no featured trend and no offset module. */
.vlf-campaign--transition-trends .vlf-trends {
  display: block !important;
  margin-top: clamp(72px, 8vw, 112px) !important;
  padding-top: 0 !important;
  border-top: 1px solid rgba(92,35,107,.22) !important;
}
.vlf-campaign--transition-trends .vlf-trend,
.vlf-campaign--transition-trends .vlf-trend:nth-child(n) {
  display: grid !important;
  grid-template-columns: 64px minmax(180px, .62fr) minmax(0, 1.35fr) minmax(190px, .72fr) !important;
  gap: clamp(22px, 3vw, 42px) !important;
  align-items: start !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(34px, 4vw, 52px) 0 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(92,35,107,.16) !important;
  background: transparent !important;
  transform: none !important;
}
.vlf-campaign--transition-trends .vlf-trend::before {
  left: 0 !important;
  top: -1px !important;
  width: clamp(54px, 6vw, 82px) !important;
  height: 3px !important;
  transform: scaleX(.18) !important;
  transform-origin: left center !important;
}
.vlf-campaign--transition-trends .vlf-trend.is-visible::before { transform: scaleX(1) !important; }
.vlf-campaign--transition-trends .vlf-trend .vlf-number {
  grid-column: 1 !important;
  margin: 4px 0 0 !important;
}
.vlf-campaign--transition-trends .vlf-trend h3,
.vlf-campaign--transition-trends .vlf-trend:nth-child(1) h3 {
  grid-column: 2 !important;
  max-width: none !important;
  margin: 0 !important;
  font-size: clamp(1.75rem, 2.35vw, 2.5rem) !important;
  line-height: 1.02 !important;
}
.vlf-campaign--transition-trends .vlf-trend p {
  grid-column: 3 !important;
  max-width: none !important;
  margin: 0 !important;
}
.vlf-campaign--transition-trends .vlf-trend strong {
  grid-column: 4 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}
@media (hover:hover) and (pointer:fine) {
  .vlf-campaign--transition-trends .vlf-trend:hover { transform: translateY(-4px) !important; }
}

/* 11 — exact 3 × 2 discipline grid. */
.vlf-campaign--how-we-work .vlf-disciplines {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
}
.vlf-campaign--how-we-work .vlf-discipline,
.vlf-campaign--how-we-work .vlf-discipline:nth-child(n) {
  min-height: 320px !important;
  padding: clamp(34px, 4vw, 50px) clamp(26px, 3vw, 40px) clamp(38px, 4vw, 54px) !important;
  border: 0 !important;
  border-right: 1px solid rgba(92,35,107,.16) !important;
  border-bottom: 1px solid rgba(92,35,107,.16) !important;
  background: transparent !important;
  transform: none !important;
}
.vlf-campaign--how-we-work .vlf-discipline:nth-child(3n) { border-right: 0 !important; }
.vlf-campaign--how-we-work .vlf-discipline:nth-child(n+4) { border-bottom: 0 !important; }
.vlf-campaign--how-we-work .vlf-discipline::before,
.vlf-campaign--how-we-work .vlf-discipline:nth-child(n)::before {
  left: clamp(26px, 3vw, 40px) !important;
  top: -1px !important;
  width: clamp(54px, 6vw, 84px) !important;
  height: 3px !important;
  transform: scaleX(.18) !important;
  transform-origin: left center !important;
}
.vlf-campaign--how-we-work .vlf-discipline.is-visible::before { transform: scaleX(1) !important; }
.vlf-campaign--how-we-work .vlf-discipline::after {
  right: clamp(24px, 3vw, 38px) !important;
  top: clamp(30px, 3.5vw, 46px) !important;
}
.vlf-campaign--how-we-work .vlf-triad {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  margin-top: clamp(76px, 8vw, 112px) !important;
  text-align: center !important;
}
.vlf-campaign--how-we-work .vlf-triad span,
.vlf-campaign--how-we-work .vlf-triad span:nth-child(2),
.vlf-campaign--how-we-work .vlf-triad span:last-child {
  padding: 24px !important;
}
@media (hover:hover) and (pointer:fine) {
  .vlf-campaign--how-we-work .vlf-discipline:hover { transform: translateY(-5px) !important; }
  .vlf-campaign--how-we-work .vlf-discipline:hover h3 { transform: none !important; }
}

/* 12 — one aligned action table; every row shares the same axis. */
.vlf-campaign--client-commitment .vlf-commitment__grid {
  margin-top: clamp(72px, 8vw, 112px) !important;
}
.vlf-campaign--client-commitment .vlf-commitment__item,
.vlf-campaign--client-commitment .vlf-commitment__item:nth-child(odd),
.vlf-campaign--client-commitment .vlf-commitment__item:nth-child(even) {
  grid-template-columns: 72px minmax(220px, .7fr) minmax(0, 1fr) 32px !important;
  gap: clamp(22px, 3.4vw, 46px) !important;
  width: 100% !important;
  margin: 0 !important;
  padding: clamp(31px, 3.4vw, 46px) 0 !important;
  transform: none !important;
}
.vlf-campaign--client-commitment .vlf-commitment__item[data-vlf-reveal],
.vlf-campaign--client-commitment .vlf-commitment__item:nth-child(even)[data-vlf-reveal],
.vlf-campaign--client-commitment .vlf-commitment__item[data-vlf-reveal].is-visible {
  transform: none !important;
}
.vlf-campaign--client-commitment .vlf-commitment__item::before,
.vlf-campaign--client-commitment .vlf-commitment__item:nth-child(n)::before {
  left: 0 !important;
  background: var(--vlf-violet-bright) !important;
}
.vlf-campaign--client-commitment .vlf-commitment__item:nth-child(1)::before,
.vlf-campaign--client-commitment .vlf-commitment__item:nth-child(4)::before { background: var(--vlf-orange) !important; }

/* 13 — three equal insight columns. No featured story, offsets or spanning. */
.vlf-campaign--perspectives .vlf-insights {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin-top: clamp(72px, 8vw, 112px) !important;
  padding-top: 0 !important;
  border-top: 1px solid rgba(92,35,107,.22) !important;
}
.vlf-campaign--perspectives .vlf-insight,
.vlf-campaign--perspectives .vlf-insight:first-child,
.vlf-campaign--perspectives .vlf-insight:nth-child(2),
.vlf-campaign--perspectives .vlf-insight:nth-child(3),
.vlf-campaign--perspectives .vlf-insight:nth-child(n) {
  grid-column: auto !important;
  grid-row: auto !important;
  min-height: 430px !important;
  margin: 0 !important;
  padding: clamp(34px, 4vw, 50px) clamp(28px, 3.2vw, 42px) clamp(40px, 4vw, 56px) !important;
  border: 0 !important;
  border-right: 1px solid rgba(92,35,107,.16) !important;
  border-bottom: 1px solid rgba(92,35,107,.16) !important;
  background: transparent !important;
  transform: none !important;
}
.vlf-campaign--perspectives .vlf-insight:last-child { border-right: 0 !important; }
.vlf-campaign--perspectives .vlf-insight::before,
.vlf-campaign--perspectives .vlf-insight:first-child::before {
  left: clamp(28px, 3.2vw, 42px) !important;
  top: -1px !important;
  width: clamp(56px, 7vw, 90px) !important;
  height: 3px !important;
  transform: scaleX(.18) !important;
  transform-origin: left center !important;
}
.vlf-campaign--perspectives .vlf-insight.is-visible::before { transform: scaleX(1) !important; }
.vlf-campaign--perspectives .vlf-insight h3,
.vlf-campaign--perspectives .vlf-insight:first-child h3,
.vlf-campaign--perspectives .vlf-insight:not(.vlf-insight--featured) h3 {
  max-width: none !important;
  font-size: clamp(1.85rem, 2.55vw, 2.75rem) !important;
  line-height: 1.02 !important;
}
.vlf-campaign--perspectives .vlf-insight__label { margin-bottom: clamp(30px, 3.5vw, 46px) !important; }
@media (hover:hover) and (pointer:fine) {
  .vlf-campaign--perspectives .vlf-insight:hover { transform: translateY(-5px) !important; }
}

/* Tablet: even two-column matrices. Rows stay aligned; no featured spans. */
@media (max-width: 980px) {
  .vlf-campaign--signal-to-action .vlf-intro-grid,
  .vlf-campaign--transition-trends .vlf-intro-grid,
  .vlf-campaign--how-we-work .vlf-intro-grid,
  .vlf-campaign--client-commitment .vlf-intro-grid { grid-template-columns: 1fr !important; }

  .vlf-campaign--what-must-stand .vlf-must-stand__grid,
  .vlf-campaign--signal-to-action .vlf-steps,
  .vlf-campaign--how-we-work .vlf-disciplines {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .vlf-campaign--signal-to-action .vlf-step:nth-child(3n),
  .vlf-campaign--how-we-work .vlf-discipline:nth-child(3n) { border-right: 1px solid rgba(92,35,107,.16) !important; }
  .vlf-campaign--signal-to-action .vlf-step:nth-child(2n),
  .vlf-campaign--how-we-work .vlf-discipline:nth-child(2n) { border-right: 0 !important; }
  .vlf-campaign--signal-to-action .vlf-step:nth-child(n+4),
  .vlf-campaign--how-we-work .vlf-discipline:nth-child(n+4) { border-bottom: 1px solid rgba(92,35,107,.16) !important; }
  .vlf-campaign--signal-to-action .vlf-step:nth-child(n+5),
  .vlf-campaign--how-we-work .vlf-discipline:nth-child(n+5) { border-bottom: 0 !important; }

  .vlf-campaign--transition-trends .vlf-trend,
  .vlf-campaign--transition-trends .vlf-trend:nth-child(n) {
    grid-template-columns: 56px minmax(180px, .72fr) minmax(0, 1fr) !important;
  }
  .vlf-campaign--transition-trends .vlf-trend strong {
    grid-column: 2 / -1 !important;
    margin-top: 14px !important;
  }
  .vlf-campaign--perspectives .vlf-insights { grid-template-columns: 1fr !important; }
  .vlf-campaign--perspectives .vlf-insight,
  .vlf-campaign--perspectives .vlf-insight:nth-child(n) {
    min-height: 0 !important;
    border-right: 0 !important;
  }
}

/* Mobile: one calm axis. Symmetry becomes consistent single-column rhythm. */
@media (max-width: 680px) {
  .vlf-campaign--what-must-stand .vlf-must-stand__grid,
  .vlf-campaign--signal-to-action .vlf-steps,
  .vlf-campaign--how-we-work .vlf-disciplines,
  .vlf-campaign--perspectives .vlf-insights {
    grid-template-columns: 1fr !important;
  }
  .vlf-campaign--what-must-stand .vlf-must-stand__card,
  .vlf-campaign--what-must-stand .vlf-must-stand__card:nth-child(n),
  .vlf-campaign--signal-to-action .vlf-step,
  .vlf-campaign--signal-to-action .vlf-step:nth-child(n),
  .vlf-campaign--how-we-work .vlf-discipline,
  .vlf-campaign--how-we-work .vlf-discipline:nth-child(n),
  .vlf-campaign--perspectives .vlf-insight,
  .vlf-campaign--perspectives .vlf-insight:nth-child(n) {
    min-height: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    border-right: 0 !important;
    border-bottom: 1px solid rgba(92,35,107,.16) !important;
  }
  .vlf-campaign--what-must-stand .vlf-must-stand__card:nth-child(even)::before,
  .vlf-campaign--signal-to-action .vlf-step::before,
  .vlf-campaign--how-we-work .vlf-discipline::before,
  .vlf-campaign--perspectives .vlf-insight::before { left: 0 !important; }

  .vlf-campaign--transition-trends .vlf-trend,
  .vlf-campaign--transition-trends .vlf-trend:nth-child(n) {
    grid-template-columns: 52px minmax(0, 1fr) !important;
    gap: 14px 18px !important;
  }
  .vlf-campaign--transition-trends .vlf-trend h3,
  .vlf-campaign--transition-trends .vlf-trend:nth-child(1) h3 { grid-column: 2 !important; }
  .vlf-campaign--transition-trends .vlf-trend p,
  .vlf-campaign--transition-trends .vlf-trend strong { grid-column: 2 !important; }

  .vlf-campaign--client-commitment .vlf-commitment__item,
  .vlf-campaign--client-commitment .vlf-commitment__item:nth-child(n) {
    grid-template-columns: 50px 1fr 24px !important;
    margin: 0 !important;
  }
  .vlf-campaign--how-we-work .vlf-triad { grid-template-columns: 1fr !important; }
}

/* ========================================================================
   v3.11.0 — LIGHT EVERSHEDS CLARITY
   User direction: no EY effect, no dark fields. Eversheds influence is
   expressed through clarity, whitespace, strong type hierarchy, fine rules,
   restrained accent colour and symmetric motion — never through dark panels.
   ======================================================================== */

:root {
  --vlf-text-strong: #24162C;
  --vlf-text-body: #4F4654;
  --vlf-text-muted: #635B67;
  --vlf-surface: #FFFFFF;
  --vlf-surface-soft: #F7F3F9;
  --vlf-rule: rgba(92,35,107,.18);
  --vlf-rule-strong: rgba(92,35,107,.32);
}

/* Global light-only surface system. Dark theme class names remain in markup
   for backwards compatibility, but no longer create dark sections. */
body .vlf-campaign-page .vlf-theme--light,
body .vlf-campaign-page .vlf-theme--paper,
body .vlf-campaign-page .vlf-theme--dark,
body .vlf-campaign-page .vlf-theme--ink,
.vlf-theme--light,
.vlf-theme--paper,
.vlf-theme--dark,
.vlf-theme--ink {
  color: var(--vlf-text-strong) !important;
  --vlf-line-current: var(--vlf-rule) !important;
  --vlf-muted-current: var(--vlf-text-muted) !important;
}
body .vlf-campaign-page .vlf-theme--light,
body .vlf-campaign-page .vlf-theme--dark,
.vlf-theme--light,
.vlf-theme--dark { background: var(--vlf-surface) !important; }
body .vlf-campaign-page .vlf-theme--paper,
body .vlf-campaign-page .vlf-theme--ink,
.vlf-theme--paper,
.vlf-theme--ink { background: var(--vlf-surface-soft) !important; }

/* Readability first. */
.vlf-campaign {
  color: var(--vlf-text-strong) !important;
  font-size: clamp(16px, .16vw + 15.2px, 18px) !important;
}
.vlf-campaign :where(p, li) {
  color: var(--vlf-text-body) !important;
  line-height: 1.72 !important;
  text-wrap: pretty;
}
.vlf-campaign :where(h1,h2,h3,strong) { color: var(--vlf-text-strong) !important; }
.vlf-campaign .vlf-lead { color: var(--vlf-text-body) !important; }
.vlf-campaign .vlf-eyebrow,
.vlf-campaign .vlf-number,
.vlf-theme--dark .vlf-eyebrow,
.vlf-theme--ink .vlf-eyebrow,
.vlf-theme--dark .vlf-number,
.vlf-theme--ink .vlf-number {
  color: var(--vlf-violet-bright) !important;
}
.vlf-campaign .vlf-eyebrow::before { background: var(--vlf-orange) !important; }

/* No dark or filled CTA controls. */
.vlf-campaign .vlf-button,
.vlf-campaign .vlf-button--primary,
.vlf-theme--dark .vlf-button,
.vlf-theme--ink .vlf-button,
.vlf-theme--dark .vlf-button--primary,
.vlf-theme--ink .vlf-button--primary,
.vlf-theme--light .vlf-button--primary,
.vlf-theme--paper .vlf-button--primary {
  color: var(--vlf-violet) !important;
  background: transparent !important;
  border-color: rgba(92,35,107,.42) !important;
}
.vlf-campaign .vlf-button::before { background: var(--vlf-surface-soft) !important; }
.vlf-campaign .vlf-button:hover,
.vlf-campaign .vlf-button--primary:hover {
  color: var(--vlf-magenta) !important;
  background: var(--vlf-surface-soft) !important;
  border-color: var(--vlf-magenta) !important;
}
.vlf-campaign .vlf-button:hover span,
.vlf-campaign .vlf-button--primary:hover span { color: var(--vlf-magenta) !important; }

/* 01 — light proposition hero. No dark backdrop. */
.vlf-campaign--hero,
body .vlf-campaign-page .vlf-campaign--hero {
  background:
    radial-gradient(circle at 86% 16%, rgba(240,160,50,.11), transparent 24%),
    radial-gradient(circle at 72% 70%, rgba(124,55,143,.07), transparent 34%),
    linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 72%, #F7F3F9 100%) !important;
  color: var(--vlf-text-strong) !important;
}
.vlf-campaign--hero::before {
  background:
    linear-gradient(90deg, transparent 0 24.9%, rgba(92,35,107,.07) 25%, transparent 25.1% 49.9%, rgba(92,35,107,.07) 50%, transparent 50.1% 74.9%, rgba(92,35,107,.07) 75%, transparent 75.1%),
    linear-gradient(118deg, transparent 0 67%, rgba(240,160,50,.10) 67.1% 67.35%, transparent 67.45%) !important;
  opacity: .82 !important;
}
.vlf-campaign--hero::after {
  height: 3px !important;
  background: linear-gradient(90deg, var(--vlf-orange) 0 18%, var(--vlf-violet) 18% 60%, var(--vlf-magenta) 60% 100%) !important;
}
.vlf-campaign--hero .vlf-eyebrow { color: var(--vlf-violet-bright) !important; }
.vlf-campaign--hero .vlf-hero__title,
.vlf-campaign--hero .vlf-hero__promise { color: var(--vlf-text-strong) !important; }
.vlf-campaign--hero .vlf-hero__text {
  color: var(--vlf-text-body) !important;
  max-width: 30rem !important;
}
.vlf-campaign--hero .vlf-kicker {
  color: var(--vlf-text-muted) !important;
  border-top-color: var(--vlf-rule) !important;
}
.vlf-campaign--hero .vlf-button,
.vlf-campaign--hero .vlf-button--primary {
  color: var(--vlf-violet) !important;
  border-bottom-color: rgba(92,35,107,.48) !important;
}
.vlf-campaign--hero .vlf-button--primary { color: var(--vlf-magenta) !important; border-bottom-color: var(--vlf-magenta) !important; }

/* Entire page rhythm: white / soft lilac only. */
.vlf-campaign--reality,
.vlf-campaign--signal-to-action,
.vlf-campaign--critical-matters,
.vlf-campaign--how-we-work,
.vlf-campaign--perspectives,
.vlf-campaign--final-cta { background: var(--vlf-surface) !important; }
.vlf-campaign--what-must-stand,
.vlf-campaign--defensibility,
.vlf-campaign--decision-room,
.vlf-campaign--transition-trends,
.vlf-campaign--vpr,
.vlf-campaign--client-outcomes,
.vlf-campaign--client-commitment { background: var(--vlf-surface-soft) !important; }

/* Remove any legacy dark atmospheric overlays. */
.vlf-campaign--defensibility::before,
.vlf-campaign--decision-room::before,
.vlf-campaign--final-cta::before {
  background: none !important;
  opacity: 0 !important;
}
.vlf-campaign--final-cta::after {
  background: linear-gradient(90deg, var(--vlf-orange), var(--vlf-violet), var(--vlf-magenta)) !important;
  opacity: 1 !important;
}

/* Block 03 — never flood cards on hover. Dynamics come from rule movement. */
.vlf-campaign--what-must-stand .vlf-must-stand__card::after {
  display: none !important;
  background: transparent !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__card:hover {
  color: var(--vlf-text-strong) !important;
  background: transparent !important;
}
.vlf-campaign--what-must-stand .vlf-must-stand__card:hover h3 { color: var(--vlf-magenta) !important; }

/* Block 04 — defensibility reads like a light institutional framework. */
.vlf-campaign--defensibility .vlf-word-stack span {
  color: rgba(92,35,107,.28) !important;
  -webkit-text-stroke: 0 !important;
}
.vlf-campaign--defensibility .vlf-word-stack span.is-active,
.vlf-campaign--defensibility .vlf-word-stack span:hover { color: var(--vlf-violet) !important; }
.vlf-campaign--defensibility .vlf-endline { color: var(--vlf-text-strong) !important; }

/* Block 07 — decision room without a dark 'war-room' panel. */
.vlf-campaign--decision-room .vlf-question-stream {
  border-top-color: var(--vlf-rule-strong) !important;
  border-bottom-color: var(--vlf-rule) !important;
}
.vlf-campaign--decision-room .vlf-question-stream li {
  color: var(--vlf-text-strong) !important;
  border-color: var(--vlf-rule) !important;
}
.vlf-campaign--decision-room .vlf-quote {
  color: var(--vlf-violet) !important;
  border-color: var(--vlf-orange) !important;
}

/* Block 09 — Values / Prosperity / Resilience: equal light panels with colour
   in the structural rules only, never behind copy. */
.vlf-campaign--vpr .vlf-vpr__grid {
  gap: 0 !important;
  background: transparent !important;
  border-top: 1px solid var(--vlf-rule-strong) !important;
  border-bottom: 1px solid var(--vlf-rule) !important;
}
.vlf-campaign--vpr .vlf-vpr__item,
.vlf-campaign--vpr .vlf-vpr__item:nth-child(1),
.vlf-campaign--vpr .vlf-vpr__item:nth-child(2),
.vlf-campaign--vpr .vlf-vpr__item:nth-child(3) {
  position: relative;
  background: transparent !important;
  color: var(--vlf-text-strong) !important;
  --vlf-muted-current: var(--vlf-text-muted) !important;
  border-right: 1px solid var(--vlf-rule) !important;
}
.vlf-campaign--vpr .vlf-vpr__item:last-child { border-right: 0 !important; }
.vlf-campaign--vpr .vlf-vpr__item::before {
  content: "";
  position: absolute;
  left: clamp(30px, 3.4vw, 48px);
  top: 0;
  width: 72px;
  height: 3px;
  background: var(--vlf-violet);
  transform-origin: left center;
  transition: width .45s var(--vlf-ease);
}
.vlf-campaign--vpr .vlf-vpr__item:nth-child(1)::before { background: var(--vlf-orange); }
.vlf-campaign--vpr .vlf-vpr__item:nth-child(2)::before { background: var(--vlf-violet); }
.vlf-campaign--vpr .vlf-vpr__item:nth-child(3)::before { background: var(--vlf-magenta); }
.vlf-campaign--vpr .vlf-vpr__item:hover {
  transform: none !important;
  background: rgba(255,255,255,.54) !important;
}
.vlf-campaign--vpr .vlf-vpr__item:hover::before { width: 112px; }
.vlf-campaign--vpr .vlf-vpr__item p { color: var(--vlf-text-body) !important; }

/* Block 10 — outcomes stay crisp: no dark hover/reverse states. */
.vlf-campaign--client-outcomes .vlf-outcome,
.vlf-campaign--client-outcomes .vlf-outcome:hover { background: transparent !important; color: var(--vlf-text-strong) !important; }
.vlf-campaign--client-outcomes .vlf-outcome p { color: var(--vlf-text-body) !important; }

/* Block 13 — insights remain equal, white-space driven and readable. */
.vlf-campaign--perspectives .vlf-insight,
.vlf-campaign--perspectives .vlf-insight:first-child,
.vlf-campaign--perspectives .vlf-insight:nth-child(2),
.vlf-campaign--perspectives .vlf-insight:nth-child(3) {
  background: transparent !important;
  color: var(--vlf-text-strong) !important;
}
.vlf-campaign--perspectives .vlf-insight p { color: var(--vlf-text-body) !important; }

/* 14 — light closing statement, not a dark campaign billboard. */
.vlf-campaign--final-cta {
  min-height: clamp(620px, 72svh, 760px) !important;
  color: var(--vlf-text-strong) !important;
  border-top: 1px solid var(--vlf-rule) !important;
}
.vlf-campaign--final-cta .vlf-final__prelude,
.vlf-campaign--final-cta .vlf-final__title,
.vlf-campaign--final-cta .vlf-final__promise { color: var(--vlf-text-strong) !important; }
.vlf-campaign--final-cta .vlf-lead { color: var(--vlf-text-body) !important; }
.vlf-campaign--final-cta .vlf-button,
.vlf-campaign--final-cta .vlf-button--primary {
  color: var(--vlf-violet) !important;
  background: transparent !important;
  border-color: rgba(92,35,107,.42) !important;
}

/* Grid lines are light and editorial rather than 'dashboard' dark. */
.vlf-campaign:not(.vlf-campaign--hero)::after {
  opacity: .22 !important;
  background-image: linear-gradient(to right,
    transparent calc(25% - .5px), rgba(92,35,107,.14) 25%, transparent calc(25% + .5px),
    transparent calc(50% - .5px), rgba(92,35,107,.14) 50%, transparent calc(50% + .5px),
    transparent calc(75% - .5px), rgba(92,35,107,.14) 75%, transparent calc(75% + .5px)) !important;
}

/* Mobile: preserve readability and remove any residual dark/filled impression. */
@media (max-width: 680px) {
  .vlf-campaign--hero {
    background: linear-gradient(180deg, #FFFFFF 0%, #FFFFFF 78%, #F7F3F9 100%) !important;
  }
  .vlf-campaign--vpr .vlf-vpr__item,
  .vlf-campaign--vpr .vlf-vpr__item:nth-child(n) {
    border-right: 0 !important;
    border-bottom: 1px solid var(--vlf-rule) !important;
  }
  .vlf-campaign--vpr .vlf-vpr__item:last-child { border-bottom: 0 !important; }
  .vlf-campaign:not(.vlf-campaign--hero)::after { opacity: .12 !important; }
}

/* ========================================================================
   v3.12.0 — ENLARGED EDITORIAL TYPE SCALE
   User direction: make the text in every block larger while preserving the
   light Eversheds-inspired clarity, symmetric geometry and existing VLF fonts.
   ======================================================================== */

/* Global reading size. */
.vlf-campaign {
  font-size: clamp(17px, .18vw + 16.2px, 20px) !important;
}
.vlf-campaign :where(p, li) {
  font-size: clamp(1.04rem, .20vw + 1rem, 1.18rem) !important;
  line-height: 1.72 !important;
}
.vlf-campaign .vlf-lead {
  font-size: clamp(1.18rem, .92vw + .82rem, 1.48rem) !important;
  line-height: 1.62 !important;
  max-width: 46rem !important;
}
.vlf-campaign .vlf-eyebrow {
  font-size: clamp(.74rem, .55vw, .84rem) !important;
  line-height: 1.3 !important;
}
.vlf-campaign .vlf-number {
  font-size: clamp(.76rem, .55vw, .86rem) !important;
}
.vlf-campaign .vlf-h2 {
  font-size: clamp(2.9rem, 4.85vw, 5.55rem) !important;
  line-height: .95 !important;
}
.vlf-campaign .vlf-button,
.vlf-campaign .vlf-text-link {
  font-size: clamp(.93rem, .18vw + .9rem, 1.05rem) !important;
}

/* 01 — Hero. */
.vlf-campaign--hero .vlf-hero__title {
  font-size: clamp(3.35rem, 5.55vw, 6.35rem) !important;
  line-height: .91 !important;
}
.vlf-campaign--hero .vlf-hero__text {
  font-size: clamp(1.06rem, .42vw + .92rem, 1.2rem) !important;
  line-height: 1.7 !important;
  max-width: 31rem !important;
}
.vlf-campaign--hero .vlf-hero__promise {
  font-size: clamp(1.18rem, .86vw + .84rem, 1.4rem) !important;
  line-height: 1.48 !important;
  max-width: 33rem !important;
}
.vlf-campaign--hero .vlf-kicker {
  font-size: clamp(.74rem, .50vw, .84rem) !important;
  line-height: 1.55 !important;
}

/* 02 — Reality. */
.vlf-campaign--reality .vlf-reality__item p {
  font-size: clamp(1.08rem, .25vw + 1.02rem, 1.22rem) !important;
}
.vlf-campaign--reality .vlf-statement span {
  font-size: clamp(.78rem, .55vw, .88rem) !important;
}
.vlf-campaign--reality .vlf-statement strong {
  font-size: clamp(2.7rem, 4.7vw, 5.25rem) !important;
  line-height: .97 !important;
}

/* 03 — What must stand. */
.vlf-campaign--what-must-stand .vlf-must-stand__card h3 {
  font-size: clamp(2.45rem, 4.05vw, 4.55rem) !important;
  line-height: .93 !important;
}
.vlf-campaign--what-must-stand .vlf-card__subtitle {
  font-size: clamp(1.12rem, .35vw + 1.02rem, 1.3rem) !important;
  line-height: 1.45 !important;
}
.vlf-campaign--what-must-stand .vlf-card__statement {
  font-size: clamp(1.24rem, 1.22vw, 1.58rem) !important;
  line-height: 1.5 !important;
}

/* 04 — Defensibility. */
.vlf-campaign--defensibility .vlf-word-stack span {
  font-size: clamp(1.62rem, 2.25vw, 2.6rem) !important;
}
.vlf-campaign--defensibility .vlf-dimensions strong {
  font-size: clamp(1.1rem, .28vw + 1.02rem, 1.26rem) !important;
}
.vlf-campaign--defensibility .vlf-dimensions span {
  font-size: clamp(1.02rem, .22vw + .98rem, 1.16rem) !important;
  line-height: 1.67 !important;
}
.vlf-campaign--defensibility .vlf-endline {
  font-size: clamp(2.45rem, 3.95vw, 4.45rem) !important;
}

/* 05 — Signal to action. */
.vlf-campaign--signal-to-action .vlf-step h3 {
  font-size: clamp(1.72rem, 1.95vw, 2.25rem) !important;
  line-height: 1.06 !important;
}
.vlf-campaign--signal-to-action .vlf-step p {
  font-size: clamp(1.04rem, .18vw + 1rem, 1.16rem) !important;
}
.vlf-campaign--signal-to-action .vlf-process-line {
  font-size: clamp(.82rem, .62vw, .96rem) !important;
  line-height: 1.58 !important;
}

/* 06 — Critical matters. */
.vlf-campaign--critical-matters .vlf-story__label {
  font-size: clamp(.76rem, .52vw, .86rem) !important;
}
.vlf-campaign--critical-matters .vlf-story h3 {
  font-size: clamp(2.15rem, 3.15vw, 3.65rem) !important;
  line-height: .99 !important;
}
.vlf-campaign--critical-matters .vlf-story > p:not(.vlf-story__label) {
  font-size: clamp(1.04rem, .2vw + 1rem, 1.17rem) !important;
}

/* 07 — Decision room. */
.vlf-campaign--decision-room .vlf-h2 {
  font-size: clamp(2.7rem, 4.15vw, 4.65rem) !important;
}
.vlf-campaign--decision-room .vlf-question-stream li {
  font-size: clamp(1.34rem, 1.75vw, 2rem) !important;
  line-height: 1.22 !important;
}
.vlf-campaign--decision-room .vlf-quote {
  font-size: clamp(2.48rem, 4.25vw, 4.75rem) !important;
  line-height: .97 !important;
}

/* 08 — Transition trends. */
.vlf-campaign--transition-trends .vlf-trend h3,
.vlf-campaign--transition-trends .vlf-trend:nth-child(1) h3 {
  font-size: clamp(2.05rem, 2.7vw, 2.95rem) !important;
  line-height: 1 !important;
}
.vlf-campaign--transition-trends .vlf-trend p {
  font-size: clamp(1.04rem, .2vw + 1rem, 1.17rem) !important;
}
.vlf-campaign--transition-trends .vlf-trend strong {
  font-size: clamp(1.02rem, .24vw + .96rem, 1.16rem) !important;
  line-height: 1.52 !important;
}

/* 09 — Values / Prosperity / Resilience. */
.vlf-campaign--vpr .vlf-vpr__label {
  font-size: clamp(.78rem, .52vw, .88rem) !important;
}
.vlf-campaign--vpr .vlf-vpr__item h3 {
  font-size: clamp(2.25rem, 3.5vw, 3.85rem) !important;
  line-height: .97 !important;
}
.vlf-campaign--vpr .vlf-vpr__item p {
  font-size: clamp(1.05rem, .22vw + 1rem, 1.18rem) !important;
}

/* 10 — Client outcomes. */
.vlf-campaign--client-outcomes .vlf-outcome span {
  font-size: clamp(1.02rem, .22vw + .98rem, 1.16rem) !important;
}
.vlf-campaign--client-outcomes .vlf-outcome strong {
  font-size: clamp(2.12rem, 3.2vw, 3.58rem) !important;
  line-height: .99 !important;
}

/* 11 — Disciplines. */
.vlf-campaign--how-we-work .vlf-discipline h3 {
  font-size: clamp(1.72rem, 2.05vw, 2.28rem) !important;
  line-height: 1.05 !important;
}
.vlf-campaign--how-we-work .vlf-discipline p {
  font-size: clamp(1.04rem, .18vw + 1rem, 1.16rem) !important;
}
.vlf-campaign--how-we-work .vlf-triad {
  font-size: clamp(.78rem, .52vw, .9rem) !important;
  line-height: 1.5 !important;
}

/* 12 — Client commitment. */
.vlf-campaign--client-commitment .vlf-commitment__item h3 {
  font-size: clamp(1.7rem, 2vw, 2.25rem) !important;
  line-height: 1.06 !important;
}
.vlf-campaign--client-commitment .vlf-commitment__item p {
  font-size: clamp(1.04rem, .18vw + 1rem, 1.16rem) !important;
}

/* 13 — Perspectives. */
.vlf-campaign--perspectives .vlf-insight__label {
  font-size: clamp(.77rem, .52vw, .88rem) !important;
}
.vlf-campaign--perspectives .vlf-insight h3,
.vlf-campaign--perspectives .vlf-insight:first-child h3,
.vlf-campaign--perspectives .vlf-insight:not(.vlf-insight--featured) h3 {
  font-size: clamp(2.1rem, 2.85vw, 3.08rem) !important;
  line-height: 1 !important;
}
.vlf-campaign--perspectives .vlf-insight p:not(.vlf-insight__label) {
  font-size: clamp(1.04rem, .2vw + 1rem, 1.17rem) !important;
}

/* 14 — Final statement. */
.vlf-campaign--final-cta .vlf-final__prelude {
  font-size: clamp(2.7rem, 4.55vw, 5.05rem) !important;
  line-height: .95 !important;
}
.vlf-campaign--final-cta .vlf-final__title {
  font-size: clamp(3.05rem, 5.25vw, 5.75rem) !important;
  line-height: .91 !important;
}
.vlf-campaign--final-cta .vlf-final__promise {
  font-size: clamp(.82rem, .6vw, .96rem) !important;
  line-height: 1.55 !important;
}

/* Mobile: still clearly larger, but avoid clipping on long translations. */
@media (max-width: 720px) {
  .vlf-campaign { font-size: 17px !important; }
  .vlf-campaign :where(p, li) { font-size: 1.03rem !important; }
  .vlf-campaign .vlf-lead { font-size: clamp(1.12rem, 5vw, 1.3rem) !important; }
  .vlf-campaign .vlf-h2 { font-size: clamp(2.5rem, 11.2vw, 3.9rem) !important; line-height: .96 !important; }
  .vlf-campaign--hero .vlf-hero__title { font-size: clamp(2.95rem, 13.3vw, 4.35rem) !important; line-height: .92 !important; }
  .vlf-campaign--hero .vlf-hero__text { font-size: 1.05rem !important; }
  .vlf-campaign--hero .vlf-hero__promise { font-size: clamp(1.15rem, 5.4vw, 1.34rem) !important; }
  .vlf-campaign--what-must-stand .vlf-must-stand__card h3 { font-size: clamp(2.2rem, 10.4vw, 3.45rem) !important; }
  .vlf-campaign--defensibility .vlf-endline,
  .vlf-campaign--decision-room .vlf-quote { font-size: clamp(2.3rem, 10.8vw, 3.55rem) !important; }
  .vlf-campaign--critical-matters .vlf-story h3 { font-size: clamp(2rem, 9.6vw, 3.15rem) !important; }
  .vlf-campaign--transition-trends .vlf-trend h3,
  .vlf-campaign--transition-trends .vlf-trend:nth-child(1) h3 { font-size: clamp(1.9rem, 8.4vw, 2.7rem) !important; }
  .vlf-campaign--vpr .vlf-vpr__item h3 { font-size: clamp(2.15rem, 10vw, 3.3rem) !important; }
  .vlf-campaign--client-outcomes .vlf-outcome strong { font-size: clamp(2rem, 9vw, 3rem) !important; }
  .vlf-campaign--how-we-work .vlf-discipline h3,
  .vlf-campaign--client-commitment .vlf-commitment__item h3 { font-size: clamp(1.75rem, 7.8vw, 2.45rem) !important; }
  .vlf-campaign--perspectives .vlf-insight h3,
  .vlf-campaign--perspectives .vlf-insight:first-child h3,
  .vlf-campaign--perspectives .vlf-insight:not(.vlf-insight--featured) h3 { font-size: clamp(2rem, 9vw, 3rem) !important; }
  .vlf-campaign--final-cta .vlf-final__prelude { font-size: clamp(2.45rem, 11vw, 3.8rem) !important; }
  .vlf-campaign--final-cta .vlf-final__title { font-size: clamp(2.8rem, 12.4vw, 4.15rem) !important; }
}

/* ========================================================================
   v3.13.0 — HIGH-READABILITY EDITORIAL TYPE
   User feedback from live screenshots: display headings are sufficiently
   prominent, but narrative copy, row copy, labels and secondary text remain
   too small/light at normal desktop viewing distance. This layer enlarges the
   reading text substantially without changing the accepted light, symmetric
   Eversheds-inspired composition.
   ======================================================================== */

:root {
  --vlf-text-body-readable: #3F3544;
  --vlf-text-muted-readable: #514657;
}

/* Stronger contrast + genuinely larger reading copy across every block. */
.vlf-campaign :where(p, li) {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.16rem, .24vw + 1.10rem, 1.32rem) !important;
  line-height: 1.64 !important;
}
.vlf-campaign .vlf-lead {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.34rem, .76vw + 1.08rem, 1.62rem) !important;
  line-height: 1.56 !important;
  max-width: 49rem !important;
}
.vlf-campaign .vlf-eyebrow {
  font-size: clamp(.84rem, .34vw + .78rem, .96rem) !important;
  line-height: 1.35 !important;
}
.vlf-campaign .vlf-number {
  font-size: clamp(.86rem, .30vw + .82rem, .98rem) !important;
}
.vlf-campaign .vlf-button,
.vlf-campaign .vlf-text-link {
  font-size: clamp(1rem, .18vw + .96rem, 1.12rem) !important;
}

/* Keep major display hierarchy strong, but avoid over-inflating it. */
.vlf-campaign .vlf-h2 {
  font-size: clamp(3rem, 4.9vw, 5.65rem) !important;
}

/* 01 — Hero: specifically enlarge the right-hand narrative from screenshot. */
.vlf-campaign--hero .vlf-hero__text {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.18rem, .34vw + 1.10rem, 1.34rem) !important;
  line-height: 1.66 !important;
  max-width: 35rem !important;
}
.vlf-campaign--hero .vlf-hero__promise {
  font-size: clamp(1.30rem, .58vw + 1.12rem, 1.56rem) !important;
  line-height: 1.48 !important;
}
.vlf-campaign--hero .vlf-kicker {
  color: var(--vlf-text-muted-readable) !important;
  font-size: clamp(.84rem, .30vw + .78rem, .96rem) !important;
}

/* 02 — Reality: four explanatory columns. */
.vlf-campaign--reality .vlf-reality__item p {
  font-size: clamp(1.15rem, .20vw + 1.10rem, 1.30rem) !important;
  line-height: 1.64 !important;
}
.vlf-campaign--reality .vlf-statement span {
  font-size: clamp(.88rem, .26vw + .82rem, 1rem) !important;
}

/* 03 — What must stand. */
.vlf-campaign--what-must-stand .vlf-card__subtitle {
  font-size: clamp(1.22rem, .24vw + 1.16rem, 1.38rem) !important;
}
.vlf-campaign--what-must-stand .vlf-card__statement {
  font-size: clamp(1.34rem, .54vw + 1.18rem, 1.66rem) !important;
  line-height: 1.48 !important;
}

/* 04 — Defensibility: screenshot showed these rows as too small. */
.vlf-campaign--defensibility .vlf-dimensions strong {
  font-size: clamp(1.20rem, .20vw + 1.15rem, 1.34rem) !important;
  line-height: 1.42 !important;
}
.vlf-campaign--defensibility .vlf-dimensions span {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.14rem, .20vw + 1.09rem, 1.29rem) !important;
  line-height: 1.60 !important;
}

/* 05 — Process. */
.vlf-campaign--signal-to-action .vlf-step p {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.13rem, .20vw + 1.08rem, 1.28rem) !important;
  line-height: 1.62 !important;
}
.vlf-campaign--signal-to-action .vlf-process-line {
  font-size: clamp(.92rem, .26vw + .86rem, 1.04rem) !important;
}

/* 06 — Critical matters. */
.vlf-campaign--critical-matters .vlf-story__label {
  font-size: clamp(.84rem, .24vw + .80rem, .96rem) !important;
}
.vlf-campaign--critical-matters .vlf-story > p:not(.vlf-story__label) {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.14rem, .20vw + 1.09rem, 1.29rem) !important;
  line-height: 1.63 !important;
}

/* 07 — Decision room. */
.vlf-campaign--decision-room .vlf-question-stream li {
  font-size: clamp(1.48rem, 1.25vw, 2.08rem) !important;
  line-height: 1.25 !important;
}

/* 08 — Trends: enlarge both explanation and italic/right-hand takeaway. */
.vlf-campaign--transition-trends .vlf-trend p {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.14rem, .20vw + 1.09rem, 1.29rem) !important;
  line-height: 1.60 !important;
}
.vlf-campaign--transition-trends .vlf-trend strong {
  color: var(--vlf-text-strong) !important;
  font-size: clamp(1.10rem, .20vw + 1.05rem, 1.25rem) !important;
  line-height: 1.50 !important;
}

/* 09 — Values / Prosperity / Resilience: screenshot body copy was faint/small. */
.vlf-campaign--vpr .vlf-vpr__label {
  font-size: clamp(.86rem, .26vw + .81rem, .98rem) !important;
}
.vlf-campaign--vpr .vlf-vpr__item p {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.16rem, .20vw + 1.11rem, 1.31rem) !important;
  line-height: 1.62 !important;
}

/* 10 — Client outcomes. */
.vlf-campaign--client-outcomes .vlf-outcome span {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.14rem, .20vw + 1.09rem, 1.29rem) !important;
  line-height: 1.58 !important;
}

/* 11 — Disciplines. */
.vlf-campaign--how-we-work .vlf-discipline p {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.13rem, .20vw + 1.08rem, 1.28rem) !important;
  line-height: 1.62 !important;
}
.vlf-campaign--how-we-work .vlf-triad {
  font-size: clamp(.88rem, .24vw + .83rem, 1rem) !important;
}

/* 12 — Commitments. */
.vlf-campaign--client-commitment .vlf-commitment__item p {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.13rem, .20vw + 1.08rem, 1.28rem) !important;
  line-height: 1.62 !important;
}

/* 13 — Perspectives. */
.vlf-campaign--perspectives .vlf-insight__label {
  font-size: clamp(.86rem, .24vw + .81rem, .98rem) !important;
}
.vlf-campaign--perspectives .vlf-insight p:not(.vlf-insight__label) {
  color: var(--vlf-text-body-readable) !important;
  font-size: clamp(1.14rem, .20vw + 1.09rem, 1.29rem) !important;
  line-height: 1.62 !important;
}

/* 14 — Final statement/supporting text. */
.vlf-campaign--final-cta .vlf-final__promise {
  font-size: clamp(.94rem, .24vw + .89rem, 1.06rem) !important;
}
.vlf-campaign--final-cta .vlf-lead {
  font-size: clamp(1.30rem, .58vw + 1.12rem, 1.56rem) !important;
}

/* Tablet / mobile: noticeably readable, but still safe for long translations. */
@media (max-width: 960px) {
  .vlf-campaign :where(p, li) {
    font-size: clamp(1.10rem, .65vw + 1rem, 1.22rem) !important;
  }
  .vlf-campaign--hero .vlf-hero__text,
  .vlf-campaign--reality .vlf-reality__item p,
  .vlf-campaign--defensibility .vlf-dimensions span,
  .vlf-campaign--signal-to-action .vlf-step p,
  .vlf-campaign--transition-trends .vlf-trend p,
  .vlf-campaign--vpr .vlf-vpr__item p,
  .vlf-campaign--how-we-work .vlf-discipline p,
  .vlf-campaign--client-commitment .vlf-commitment__item p,
  .vlf-campaign--perspectives .vlf-insight p:not(.vlf-insight__label) {
    font-size: clamp(1.10rem, .60vw + 1rem, 1.22rem) !important;
  }
}

@media (max-width: 720px) {
  .vlf-campaign { font-size: 18px !important; }
  .vlf-campaign :where(p, li) {
    font-size: 1.08rem !important;
    line-height: 1.62 !important;
  }
  .vlf-campaign .vlf-lead { font-size: clamp(1.20rem, 5vw, 1.38rem) !important; }
  .vlf-campaign--hero .vlf-hero__text { font-size: 1.08rem !important; line-height: 1.64 !important; }
  .vlf-campaign--hero .vlf-hero__promise { font-size: clamp(1.22rem, 5.2vw, 1.40rem) !important; }
  .vlf-campaign--defensibility .vlf-dimensions strong,
  .vlf-campaign--defensibility .vlf-dimensions span,
  .vlf-campaign--transition-trends .vlf-trend p,
  .vlf-campaign--transition-trends .vlf-trend strong,
  .vlf-campaign--vpr .vlf-vpr__item p { font-size: 1.08rem !important; }
}

/* ========================================================================
   v3.14.0 — PwC-INSPIRED SUPPORTING TYPOGRAPHY
   Large VLF editorial headings retain their serif identity. Supporting UI
   typography adopts PwC's Helvetica Neue logic: cleaner sans-serif forms,
   larger optical size, firmer weight and reduced tracking for readability.
   ======================================================================== */

:root {
  --vlf-pwc-sans: "PwC Helvetica Neue", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Global small editorial signals: labels, numbering, links and actions. */
.vlf-campaign .vlf-eyebrow,
.vlf-campaign .vlf-number,
.vlf-campaign .vlf-kicker,
.vlf-campaign .vlf-button,
.vlf-campaign .vlf-text-link,
.vlf-campaign .vlf-story__label,
.vlf-campaign .vlf-vpr__label,
.vlf-campaign .vlf-insight__label,
.vlf-campaign .vlf-process-line,
.vlf-campaign .vlf-triad,
.vlf-campaign .vlf-statement span {
  font-family: var(--vlf-pwc-sans) !important;
  font-style: normal !important;
  font-weight: 600 !important;
  letter-spacing: .035em !important;
}

.vlf-campaign .vlf-eyebrow {
  font-size: clamp(1rem, .30vw + .94rem, 1.12rem) !important;
  line-height: 1.35 !important;
}
.vlf-campaign .vlf-number {
  font-size: clamp(.98rem, .28vw + .93rem, 1.10rem) !important;
  line-height: 1.15 !important;
}
.vlf-campaign .vlf-kicker,
.vlf-campaign .vlf-story__label,
.vlf-campaign .vlf-vpr__label,
.vlf-campaign .vlf-insight__label,
.vlf-campaign .vlf-statement span {
  font-size: clamp(.98rem, .24vw + .94rem, 1.09rem) !important;
  line-height: 1.45 !important;
}
.vlf-campaign .vlf-button,
.vlf-campaign .vlf-text-link {
  font-family: var(--vlf-pwc-sans) !important;
  font-size: clamp(1.08rem, .22vw + 1.03rem, 1.20rem) !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
}
.vlf-campaign .vlf-process-line,
.vlf-campaign .vlf-triad {
  font-size: clamp(1rem, .24vw + .95rem, 1.12rem) !important;
  line-height: 1.5 !important;
  letter-spacing: .045em !important;
}

/* Numeric counters that are generated in CSS. */
.vlf-campaign .vlf-story::before {
  font-family: var(--vlf-pwc-sans) !important;
  font-size: clamp(.96rem, .22vw + .92rem, 1.06rem) !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: .035em !important;
}

/* 04 — Defensibility support rows: PwC-style clarity, not display serif. */
.vlf-campaign--defensibility .vlf-dimensions strong,
.vlf-campaign--defensibility .vlf-dimensions span {
  font-family: var(--vlf-pwc-sans) !important;
}
.vlf-campaign--defensibility .vlf-dimensions strong {
  font-size: clamp(1.28rem, .24vw + 1.22rem, 1.43rem) !important;
  font-weight: 600 !important;
  letter-spacing: -.01em !important;
  line-height: 1.36 !important;
}
.vlf-campaign--defensibility .vlf-dimensions span {
  font-size: clamp(1.20rem, .22vw + 1.15rem, 1.34rem) !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1.56 !important;
}

/* 05 — Process: entire process language moves to the clean PwC sans system. */
.vlf-campaign--signal-to-action .vlf-step h3,
.vlf-campaign--signal-to-action .vlf-step strong,
.vlf-campaign--signal-to-action .vlf-step p {
  font-family: var(--vlf-pwc-sans) !important;
}
.vlf-campaign--signal-to-action .vlf-step h3 {
  font-size: clamp(2.02rem, 2.15vw, 2.52rem) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}
.vlf-campaign--signal-to-action .vlf-step strong {
  font-size: clamp(1.20rem, .24vw + 1.14rem, 1.34rem) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: -.01em !important;
}
.vlf-campaign--signal-to-action .vlf-step p {
  font-size: clamp(1.20rem, .24vw + 1.14rem, 1.34rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

/* 06 — Matter labels / supporting links. */
.vlf-campaign--critical-matters .vlf-story__label,
.vlf-campaign--critical-matters .vlf-text-link {
  font-family: var(--vlf-pwc-sans) !important;
}

/* 08 — Keep trend headings editorial; make the explanatory strata PwC-clean. */
.vlf-campaign--transition-trends .vlf-trend p,
.vlf-campaign--transition-trends .vlf-trend strong {
  font-family: var(--vlf-pwc-sans) !important;
  letter-spacing: 0 !important;
}
.vlf-campaign--transition-trends .vlf-trend p {
  font-size: clamp(1.20rem, .22vw + 1.15rem, 1.34rem) !important;
  line-height: 1.56 !important;
}
.vlf-campaign--transition-trends .vlf-trend strong {
  font-size: clamp(1.16rem, .22vw + 1.11rem, 1.30rem) !important;
  font-weight: 600 !important;
  line-height: 1.48 !important;
}

/* 09 — VPR small labels and explanatory copy. */
.vlf-campaign--vpr .vlf-vpr__label,
.vlf-campaign--vpr .vlf-vpr__item p {
  font-family: var(--vlf-pwc-sans) !important;
}
.vlf-campaign--vpr .vlf-vpr__item p {
  font-size: clamp(1.20rem, .22vw + 1.15rem, 1.34rem) !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

/* 10 — Client-outcome supporting copy. */
.vlf-campaign--client-outcomes .vlf-outcome span {
  font-family: var(--vlf-pwc-sans) !important;
  font-size: clamp(1.20rem, .22vw + 1.15rem, 1.34rem) !important;
  line-height: 1.55 !important;
  letter-spacing: 0 !important;
}

/* 11 — Disciplines: full module typography becomes PwC Helvetica Neue style. */
.vlf-campaign--how-we-work .vlf-discipline h3,
.vlf-campaign--how-we-work .vlf-discipline p,
.vlf-campaign--how-we-work .vlf-triad,
.vlf-campaign--how-we-work .vlf-triad span {
  font-family: var(--vlf-pwc-sans) !important;
}
.vlf-campaign--how-we-work .vlf-discipline h3 {
  font-size: clamp(2rem, 2vw, 2.42rem) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}
.vlf-campaign--how-we-work .vlf-discipline p {
  font-size: clamp(1.20rem, .22vw + 1.15rem, 1.34rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

/* 12 — Commitments: same clean hierarchy, visibly larger than v3.13. */
.vlf-campaign--client-commitment .vlf-commitment__item h3,
.vlf-campaign--client-commitment .vlf-commitment__item p,
.vlf-campaign--client-commitment .vlf-commitment__item .vlf-number {
  font-family: var(--vlf-pwc-sans) !important;
}
.vlf-campaign--client-commitment .vlf-commitment__item h3 {
  font-size: clamp(2rem, 2vw, 2.42rem) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}
.vlf-campaign--client-commitment .vlf-commitment__item p {
  font-size: clamp(1.20rem, .22vw + 1.15rem, 1.34rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

/* 13 — Perspectives: headings, labels, summaries and link all use the PwC sans. */
.vlf-campaign--perspectives .vlf-insight h3,
.vlf-campaign--perspectives .vlf-insight__label,
.vlf-campaign--perspectives .vlf-insight p:not(.vlf-insight__label),
.vlf-campaign--perspectives .vlf-text-link {
  font-family: var(--vlf-pwc-sans) !important;
}
.vlf-campaign--perspectives .vlf-insight h3,
.vlf-campaign--perspectives .vlf-insight:first-child h3,
.vlf-campaign--perspectives .vlf-insight:not(.vlf-insight--featured) h3 {
  font-size: clamp(2.12rem, 2.45vw, 2.72rem) !important;
  font-weight: 600 !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}
.vlf-campaign--perspectives .vlf-insight p:not(.vlf-insight__label) {
  font-size: clamp(1.20rem, .22vw + 1.15rem, 1.34rem) !important;
  font-weight: 400 !important;
  line-height: 1.58 !important;
  letter-spacing: 0 !important;
}

/* Mobile: keep the PwC-style supporting typography visibly readable. */
@media (max-width: 720px) {
  .vlf-campaign .vlf-eyebrow,
  .vlf-campaign .vlf-number,
  .vlf-campaign .vlf-kicker,
  .vlf-campaign .vlf-story__label,
  .vlf-campaign .vlf-vpr__label,
  .vlf-campaign .vlf-insight__label,
  .vlf-campaign .vlf-process-line,
  .vlf-campaign .vlf-triad,
  .vlf-campaign .vlf-statement span {
    font-size: .98rem !important;
  }
  .vlf-campaign .vlf-button,
  .vlf-campaign .vlf-text-link {
    font-size: 1.08rem !important;
  }
  .vlf-campaign--signal-to-action .vlf-step h3,
  .vlf-campaign--how-we-work .vlf-discipline h3,
  .vlf-campaign--client-commitment .vlf-commitment__item h3,
  .vlf-campaign--perspectives .vlf-insight h3,
  .vlf-campaign--perspectives .vlf-insight:first-child h3,
  .vlf-campaign--perspectives .vlf-insight:not(.vlf-insight--featured) h3 {
    font-size: clamp(1.8rem, 8.2vw, 2.35rem) !important;
  }
  .vlf-campaign--signal-to-action .vlf-step p,
  .vlf-campaign--defensibility .vlf-dimensions span,
  .vlf-campaign--transition-trends .vlf-trend p,
  .vlf-campaign--transition-trends .vlf-trend strong,
  .vlf-campaign--vpr .vlf-vpr__item p,
  .vlf-campaign--client-outcomes .vlf-outcome span,
  .vlf-campaign--how-we-work .vlf-discipline p,
  .vlf-campaign--client-commitment .vlf-commitment__item p,
  .vlf-campaign--perspectives .vlf-insight p:not(.vlf-insight__label) {
    font-size: 1.12rem !important;
    line-height: 1.6 !important;
  }
}

/* ========================================================================
   v3.16.0 — EVERSHEDS-INSPIRED HERO COLOUR HIERARCHY
   Three proposition lines become a clear colour sequence; supporting copy
   sits directly underneath the proposition in one readable editorial flow.
   ======================================================================== */

.vlf-campaign--hero .vlf-hero__inner {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  column-gap: 0 !important;
  align-content: start !important;
}

.vlf-campaign--hero .vlf-eyebrow,
.vlf-campaign--hero .vlf-hero__title,
.vlf-campaign--hero .vlf-hero__support,
.vlf-campaign--hero .vlf-hero__actions,
.vlf-campaign--hero .vlf-kicker {
  grid-column: 1 !important;
}

.vlf-campaign--hero .vlf-hero__title {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  max-width: 15.5ch !important;
  margin: 0 !important;
  gap: .04em !important;
}

.vlf-campaign--hero .vlf-hero__title-line {
  display: block !important;
  color: var(--vlf-text-strong) !important;
  transition: color .35s ease, transform .35s ease !important;
}
.vlf-campaign--hero .vlf-hero__title-line--1 { color: #24162C !important; }
.vlf-campaign--hero .vlf-hero__title-line--2 { color: #5C236B !important; }
.vlf-campaign--hero .vlf-hero__title-line--3 { color: #8A359A !important; }
.vlf-campaign--hero .vlf-hero__title-line:nth-child(n+4) { color: #7C378F !important; }

.vlf-campaign--hero .vlf-hero__support {
  position: relative !important;
  width: min(100%, 64rem) !important;
  max-width: 64rem !important;
  margin-top: clamp(34px, 4.5vw, 58px) !important;
  padding-top: clamp(22px, 2.6vw, 32px) !important;
  border-top: 1px solid rgba(92,35,107,.22) !important;
}
.vlf-campaign--hero .vlf-hero__support::before {
  content: "";
  position: absolute;
  top: -2px;
  left: 0;
  width: clamp(86px, 12vw, 170px);
  height: 3px;
  background: linear-gradient(90deg, #F0A032 0 28%, #7C378F 28% 62%, #8A359A 62% 100%);
}

.vlf-campaign--hero .vlf-hero__promise {
  margin: 0 0 clamp(16px, 1.8vw, 24px) !important;
  max-width: 44rem !important;
  color: #5C236B !important;
  font-family: var(--vlf-pwc-sans, "Helvetica Neue", Helvetica, Arial, sans-serif) !important;
  font-size: clamp(1.28rem, .42vw + 1.18rem, 1.52rem) !important;
  font-weight: 600 !important;
  line-height: 1.42 !important;
  letter-spacing: -.012em !important;
}

.vlf-campaign--hero .vlf-hero__text {
  margin: 0 !important;
  max-width: 64rem !important;
  color: #4F4654 !important;
  font-size: clamp(1.18rem, .26vw + 1.12rem, 1.34rem) !important;
  line-height: 1.68 !important;
}

.vlf-campaign--hero .vlf-hero__actions {
  margin-top: clamp(26px, 3vw, 38px) !important;
}

.vlf-campaign--hero .vlf-kicker {
  margin-top: clamp(30px, 3.6vw, 46px) !important;
}

@media (hover:hover) and (pointer:fine) {
  .vlf-campaign--hero .vlf-hero__title:hover .vlf-hero__title-line--2 {
    color: #7C378F !important;
  }
  .vlf-campaign--hero .vlf-hero__title:hover .vlf-hero__title-line--3 {
    color: #F0A032 !important;
  }
}

@media (max-width: 720px) {
  .vlf-campaign--hero .vlf-hero__title {
    max-width: 12.5ch !important;
    gap: .06em !important;
  }
  .vlf-campaign--hero .vlf-hero__support {
    margin-top: 30px !important;
    padding-top: 24px !important;
  }
  .vlf-campaign--hero .vlf-hero__promise {
    font-size: 1.20rem !important;
  }
  .vlf-campaign--hero .vlf-hero__text {
    font-size: 1.10rem !important;
    line-height: 1.64 !important;
  }
}

/* ========================================================================
   v3.17.0 — DUTCH HERO: ONE PROPOSITION PER LINE
   Keep each of the three Dutch proposition sentences on one line on tablet
   and desktop. Mobile may wrap naturally to protect readability.
   ======================================================================== */

.vlf-campaign--hero[lang="nl"] .vlf-hero__title {
  width: 100% !important;
  max-width: none !important;
  font-size: clamp(2.25rem, 3.8vw, 4rem) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  gap: .09em !important;
}

.vlf-campaign--hero[lang="nl"] .vlf-hero__title-line {
  width: auto !important;
  max-width: none !important;
  white-space: nowrap !important;
}

@media (max-width: 720px) {
  .vlf-campaign--hero[lang="nl"] .vlf-hero__title {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(2.55rem, 12vw, 4.1rem) !important;
    line-height: .94 !important;
    letter-spacing: -.045em !important;
  }
  .vlf-campaign--hero[lang="nl"] .vlf-hero__title-line {
    white-space: normal !important;
  }
}
