/*
 * VLF Magic Circle Editorial Campaign v2.4.0
 * 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(4rem, 7.15vw, 8.65rem);
  line-height: .84;
  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(320px, .82fr) minmax(0, 1.18fr); gap: clamp(52px, 9vw, 160px); align-items: start; }
.vlf-campaign--defensibility .vlf-eyebrow { grid-column: 1 / -1; }
.vlf-word-stack { grid-column: 1; grid-row: 2 / span 3; position: sticky; top: clamp(90px, 11vh, 150px); display: flex; flex-direction: column; align-self: start; margin: 0; }
.vlf-word-stack span { font-size: clamp(2.8rem, 6vw, 7.6rem); line-height: .80; opacity: .16; transition: opacity .45s var(--vlf-ease), transform .45s var(--vlf-ease); }
.vlf-word-stack span:nth-child(2) { transform: translateX(3%); }
.vlf-word-stack span:nth-child(3) { transform: translateX(6%); }
.vlf-word-stack span:nth-child(4) { transform: translateX(9%); }
.vlf-word-stack span:nth-child(5) { transform: translateX(12%); }
.vlf-campaign--defensibility.is-inview .vlf-word-stack span { opacity: .88; transform: translateX(0); }
.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(6, minmax(210px, 1fr)); margin-top: clamp(72px, 9vw, 130px); border-top: 1px solid var(--vlf-line-current); overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-width: thin; scroll-snap-type: x proximity; }
.vlf-step { position: relative; min-width: 210px; min-height: 390px; padding: 30px 30px 36px 0; border-right: 1px solid var(--vlf-line-current); scroll-snap-align: start; }
.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(300px, .75fr) minmax(0, 1.25fr); gap: clamp(50px, 10vw, 170px); align-items: start; }
.vlf-campaign--decision-room .vlf-eyebrow { grid-column: 1 / -1; }
.vlf-campaign--decision-room .vlf-h2 { grid-column: 1; position: sticky; top: clamp(86px, 11vh, 150px); }
.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(22px, 3vw, 38px) 0; border-bottom: 1px solid var(--vlf-line-current); font-size: clamp(1.6rem, 3vw, 3.5rem); line-height: 1.06; opacity: .48; transition: opacity .35s ease, transform .35s var(--vlf-ease); }
.vlf-question-stream li:hover { opacity: 1; transform: translateX(8px); }
.vlf-quote { grid-column: 1 / -1; margin: clamp(110px, 14vw, 210px) 0 0; max-width: 14ch; font-size: clamp(3rem, 7.3vw, 8.5rem); line-height: .88; }

/* 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); }
.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; }
.vlf-vpr__item:first-child { padding-left: 0; }
.vlf-vpr__item:last-child { border-right: 0; }
.vlf-vpr__label { margin: 0 0 auto; text-transform: uppercase; letter-spacing: .15em; font-size: .7rem; font-weight: 650; }
.vlf-vpr__item h3 { margin: clamp(80px, 10vw, 150px) 0 1.6rem; 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.25rem, 1.6vw, 1.65rem); 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(70px, 10vw, 140px); max-width: 13ch; font-size: clamp(3.2rem, 7.5vw, 9rem); line-height: .85; }
.vlf-final__title { max-width: 10ch; text-transform: uppercase; }
.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: 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; }
}


/* v2.4.0 — margin containment and copy-neutral refinements */
@media (min-width: 1101px) {
  .vlf-steps {
    grid-template-columns: repeat(6, minmax(0, 1fr));
    overflow: hidden;
  }
  .vlf-step {
    min-height: 290px;
    padding: 26px 18px 30px;
  }
  .vlf-trends {
    grid-auto-flow: row;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    overflow: hidden;
    margin-inline: 0;
  }
  .vlf-trend {
    min-height: 540px;
    padding: 26px 22px 28px;
  }
  .vlf-trend h3 {
    font-size: clamp(2rem, 2.7vw, 3.5rem);
    line-height: .88;
    overflow-wrap: anywhere;
    word-break: normal;
    hyphens: auto;
  }
  .vlf-trend p,
  .vlf-trend strong {
    max-width: none;
  }
}

@media (max-width: 720px) {
  :root {
    --vlf-page-width: calc(100vw - 18px);
    --vlf-shell: calc(100% - 24px);
  }
}
