/* VLLF Featured Insights — scoped, theme-first editorial styling. No global selectors. */
.vllf-fi {
  --vllf-fi-ink: var(--vllf-featured-ink, currentColor);
  --vllf-fi-line: color-mix(in srgb, currentColor 20%, transparent);
  --vllf-fi-subtle: color-mix(in srgb, currentColor 76%, transparent);
  --vllf-fi-hover: color-mix(in srgb, currentColor 4%, transparent);
  position: relative;
  box-sizing: border-box;
  width: 100%;
  color: inherit;
  background: transparent;
  font-family: inherit;
  isolation: isolate;
}
.vllf-fi *, .vllf-fi *::before, .vllf-fi *::after { box-sizing: border-box; }
.vllf-fi__wrap { width: min(100% - 48px, var(--vllf-featured-max-width, 1320px)); margin-inline: auto; padding-block: clamp(56px, 7vw, 108px); }
.vllf-fi__header { max-width: 960px; margin-bottom: clamp(32px, 4vw, 56px); }
.vllf-fi__overline { display: flex; justify-content: space-between; align-items: center; gap: 18px; margin-bottom: 24px; font-size: 0.74rem; font-weight: 600; letter-spacing: 0.10em; text-transform: uppercase; line-height: 1.5; }
.vllf-fi__period { white-space: nowrap; font-weight: 400; letter-spacing: 0.06em; }
.vllf-fi .vllf-fi__title { margin: 0 0 20px; padding: 0; font-family: var(--vllf-featured-display-font, inherit); font-size: clamp(2.2rem, 4.65vw, 4.2rem); font-weight: 500; line-height: 1.08; letter-spacing: -.035em; text-transform: none; color: inherit; }
.vllf-fi .vllf-fi__lead { max-width: 78ch; margin: 0; font-size: clamp(1rem, 1.35vw, 1.2rem); line-height: 1.7; font-weight: 400; color: inherit; opacity: .83; }
.vllf-fi__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(22px, 3vw, 56px); row-gap: 0; border-top: 1px solid var(--vllf-fi-line); }
.vllf-fi__card { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 30px 0 36px; border-bottom: 1px solid var(--vllf-fi-line); background: transparent; transition: background-color .2s ease; }
.vllf-fi__card-top { display: flex; align-items: center; gap: 18px; margin-bottom: 28px; }
.vllf-fi__index { flex: none; min-width: 27px; font-size: .84rem; line-height: 1.2; letter-spacing: .06em; font-variant-numeric: tabular-nums; }
.vllf-fi__rule { height: 1px; flex: 1; background: var(--vllf-fi-line); }
.vllf-fi .vllf-fi__card-title { margin: 0 0 17px; padding: 0; font-size: clamp(1.28rem, 1.6vw, 1.75rem); line-height: 1.28; font-weight: 500; letter-spacing: -.025em; color: inherit; text-transform: none; }
.vllf-fi .vllf-fi__link, .vllf-fi .vllf-fi__cta, .vllf-fi .vllf-fi__all { color: inherit; text-decoration: none; box-shadow: none; border: none; background: none; }
.vllf-fi .vllf-fi__link { display: inline; text-underline-offset: .18em; }
.vllf-fi .vllf-fi__link:hover, .vllf-fi .vllf-fi__link:focus-visible { text-decoration: underline; }
.vllf-fi__arrow { font-size: .77em; margin-left: .3em; display: inline-block; transition: transform .2s ease; }
.vllf-fi__link:hover .vllf-fi__arrow { transform: translate(2px,-2px); }
.vllf-fi .vllf-fi__dek { margin: 0 0 15px; font-size: 1.01rem; line-height: 1.5; font-weight: 500; color: inherit; }
.vllf-fi .vllf-fi__summary { margin: 0 0 26px; font-size: .94rem; line-height: 1.7; font-weight: 400; color: inherit; opacity: .77; }
.vllf-fi .vllf-fi__cta { display: inline-flex; gap: 12px; align-items: center; margin-top: auto; padding: 5px 0; align-self: flex-start; font-size: .77rem; text-transform: uppercase; letter-spacing: .075em; font-weight: 600; text-underline-offset: 5px; }
.vllf-fi .vllf-fi__cta:hover, .vllf-fi .vllf-fi__cta:focus-visible, .vllf-fi .vllf-fi__all:hover { text-decoration: underline; }
.vllf-fi a:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.vllf-fi__footer { display: flex; justify-content: flex-end; padding-top: 30px; }
.vllf-fi .vllf-fi__all { font-size: .81rem; letter-spacing: .06em; font-weight: 600; text-transform: uppercase; padding: 5px 0; text-underline-offset: 5px; }
@media (max-width: 1060px) {
  .vllf-fi__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 32px; }
}
@media (max-width: 640px) {
  .vllf-fi__wrap { width: min(100% - 36px, 1320px); padding-block: 54px 62px; }
  .vllf-fi__grid { grid-template-columns: minmax(0, 1fr); }
  .vllf-fi__overline { gap: 12px; font-size: .68rem; }
  .vllf-fi__card { padding-block: 25px 29px; }
  .vllf-fi__card-top { margin-bottom: 19px; }
  .vllf-fi__header { margin-bottom: 28px; }
  .vllf-fi__footer { padding-top: 25px; }
}
@media (prefers-reduced-motion: reduce) { .vllf-fi *, .vllf-fi *::before, .vllf-fi *::after { transition: none !important; } }
