/* VLF MAGIC CIRCLE EDITORIAL 12.14.29 — LIGHT LUXURY / HIGH CONTRAST
   Inspired by the clarity, accessibility and editorial white space of international
   professional services websites; entirely original color/typography system.
   Loaded AFTER vlf-blocks.css. Only homepage elements within .vlf-page,
   plus WordPress theme footer/sidebar across public pages, are affected. */
.vlf-page{
  --ink:#251c29;--plum:#64336d;--plum2:#7b447d;--muted:#554b58;
  --line:#ded4dd;--paper:#fffdfc;--soft:#f7f2f6;
  --vlf-luxe-ink:#251c29;--vlf-luxe-body:#4c4150;--vlf-luxe-purple:#62366c;
  --vlf-luxe-copper:#98602e;--vlf-luxe-border:#dfd4dd;
  background:#fffdfc!important;color:#251c29!important;
  -webkit-font-smoothing:antialiased;
}
.vlf-page .vlf-section{color:#251c29!important;border-color:#dfd4dd!important}
.vlf-page .vlf-section :is(h1,h2,h3,h4){color:#251c29!important}
.vlf-page .vlf-section :is(p,li,dd){color:#4c4150!important}
.vlf-page .vlf-section .vlf-kicker{color:#62366c!important;letter-spacing:.17em}
.vlf-page .vlf-section :is(.vlf-lead,.vlf-lead-small,.vlf-section-head>p,.vlf-mini-head>p){color:#4c4150!important}
.vlf-page :is(.vlf-text-link,.vlf-text-link:visited){color:#62366c!important}
.vlf-page .vlf-section :is(a,button,summary):focus-visible{outline:2px solid #62366c!important;outline-offset:3px}
/* The 28-section rhythm: ivory, porcelain and barely-there blush, never dark strips. */
.vlf-page :is(.vlf-hero,.vlf-solutions,.vlf-three-lines,.vlf-journey,.vlf-why,.vlf-crossborder,
  .vlf-board,.vlf-purpose,.vlf-perspective,.vlf-transition,.vlf-architecture,.vlf-legal-domains,
  .vlf-about,.vlf-commitment,.vlf-final,.vlf-contact,.vlf-industries,.vlf-investigation,
  .vlf-insights-dynamic,.vlf-strategic,.vlf-cap-lines,.vlf-purpose17,.vlf-purpose-hero,
  .vlf-es-campaign,.vlf-useful-links,.vlf-b03,.vlf-privacy-data-cybersecurity,
  .vlf-administrative-supervision-enforcement,.vlf-internal-external-investigations){
  background:#fffdfc!important;color:#251c29!important;
}
.vlf-page :is(.vlf-solutions,.vlf-three-lines,.vlf-journey,.vlf-why,.vlf-crossborder,
  .vlf-board,.vlf-architecture,.vlf-transition,.vlf-industries,.vlf-about,
  .vlf-insights-dynamic,.vlf-purpose,.vlf-b03,.vlf-purpose-hero){
  background:linear-gradient(165deg,#faf6f9 0%,#fffdfc 60%,#fffaf4 100%)!important;
}
.vlf-page :is(.vlf-card,.vlf-card-large,.vlf-step,.vlf-line,.vlf-cap-row,
  .vlf-industry-card,.vlf-architecture-item,.vlf-board-item,.vlf-why-item,
  .vlf-journey-step,.vlf-crossborder-item,.vlf-perspective-item,
  .vlf-purpose17-card,.vlf-transition-card,.vlf-about-item,
  .vlf-legal-group,.vlf-commitment-group){
  background:linear-gradient(180deg,#fff 0%,#fcf8fa 100%)!important;
  color:#251c29!important;border-color:#ded4dd!important;
}
.vlf-page :is(.vlf-card,.vlf-card-large,.vlf-step,.vlf-line,.vlf-cap-row,
 .vlf-industry-card,.vlf-architecture-item,.vlf-board-item,.vlf-why-item,
 .vlf-journey-step,.vlf-crossborder-item,.vlf-perspective-item,
 .vlf-transition-card,.vlf-about-item){
 transition:background .24s ease,box-shadow .24s ease,transform .24s ease;
}
.vlf-page :is(.vlf-card,.vlf-card-large,.vlf-step,.vlf-line,.vlf-cap-row,
 .vlf-industry-card,.vlf-architecture-item,.vlf-board-item,.vlf-why-item,
 .vlf-journey-step,.vlf-crossborder-item,.vlf-perspective-item,
 .vlf-transition-card,.vlf-about-item):hover{
  background:#f8f1f7!important;box-shadow:0 12px 28px rgba(49,25,52,.07)!important;
}
.vlf-page .vlf-section :is(.vlf-card,.vlf-step,.vlf-line,.vlf-architecture-item,
 .vlf-board-item,.vlf-why-item,.vlf-journey-step,.vlf-crossborder-item,
 .vlf-transition-card,.vlf-legal-group) :is(h2,h3,p,span,em,li,b){
 color:inherit!important;
}
.vlf-page .vlf-section :is(.vlf-card,.vlf-step,.vlf-line,.vlf-architecture-item,
 .vlf-board-item,.vlf-why-item,.vlf-journey-step,.vlf-crossborder-item) :is(h2,h3,b){color:#291f2d!important}
.vlf-page .vlf-section :is(.vlf-card,.vlf-step,.vlf-line,.vlf-architecture-item,
 .vlf-board-item,.vlf-why-item,.vlf-journey-step,.vlf-crossborder-item) p{color:#4c4150!important}
.vlf-page :is(.vlf-card,.vlf-step,.vlf-line,.vlf-architecture-item,.vlf-board-item,.vlf-why-item,.vlf-journey-step)>span{
 color:#713f70!important;
}
.vlf-page .vlf-section-head h2::after,.vlf-page .vlf-mini-head h2::after{
 content:"";display:block;width:110px;height:2px;margin-top:24px;
 background:linear-gradient(90deg,#b27b42 0%,#82548a 76%,transparent 100%);
}
.vlf-page .vlf-btn-primary,.vlf-page .vlf-btn-light{
 background:#f5eef5!important;border:1px solid #8b648e!important;
 color:#4e2558!important;box-shadow:none!important;
}
.vlf-page .vlf-btn-primary:hover,.vlf-page .vlf-btn-light:hover{
 background:#ede0ed!important;color:#351d3d!important;
}
/* 06 & 19 — purpose/perspective both reuse .vlf-perspective-heading. */
.vlf-page .vlf-perspective,.vlf-page .vlf-perspective-hero,
.vlf-page .vlf-purpose-as-perspective{background:#fffdfc!important}
.vlf-page .vlf-perspective-heading{
  color:#251c29!important;
  background:linear-gradient(125deg,#f3eaf2 0%,#f9f2f7 50%,#fffaf4 100%)!important;
  border-right:1px solid #ded4dd;
}
.vlf-page .vlf-perspective-heading :is(h2,.vlf-kicker,.vlf-perspective-subtitle){color:#2c2130!important}
.vlf-page .vlf-perspective-heading .vlf-kicker{color:#62366c!important}
.vlf-page .vlf-perspective-year{color:rgba(117,70,113,.12)!important}
.vlf-page .vlf-perspective-heading::after{border-color:rgba(117,70,113,.16)!important}
.vlf-page .vlf-perspective-copy,.vlf-page .vlf-perspective-grid{background:#fffdfc!important}
.vlf-page .vlf-perspective-item{background:transparent!important;box-shadow:none!important}
.vlf-page .vlf-perspective-item :is(h3,p){color:#2b222e!important}
.vlf-page .vlf-perspective-item p{color:#4c4150!important}
/* 08 — services: explicitly undo edition-B white-on-white text. */
.vlf-page .vlf-solutions,.vlf-page .vlf-solutions .vlf-process{
 color:#251c29!important;background:#fcf8fb!important;
}
.vlf-page .vlf-solutions :is(h2,h3,.vlf-kicker){color:#2b2030!important}
.vlf-page .vlf-solutions :is(p,.vlf-step p){color:#4c4150!important}
.vlf-page .vlf-solutions .vlf-step{background:#fff!important}
.vlf-page .vlf-solutions .vlf-step span{color:#62366c!important}
/* 09 — three lines: same high-contrast porcelain cards. */
.vlf-page .vlf-three-lines,.vlf-page .vlf-three-lines .vlf-lines{
 background:#f7f1f6!important;color:#251c29!important;
}
.vlf-page .vlf-three-lines :is(h2,h3,.vlf-kicker){color:#2b2030!important}
.vlf-page .vlf-three-lines :is(p,.vlf-line p){color:#4c4150!important}
.vlf-page .vlf-three-lines .vlf-line{background:#fff!important}
.vlf-page .vlf-three-lines .vlf-line span{color:#62366c!important}
.vlf-page .vlf-three-lines .vlf-lines-accent{color:#62366c!important}
/* 15 — risk/transition: image converted to very soft watermark, dark overlay removed. */
.vlf-page .vlf-transition{
 background:#fbf7fa!important;background-image:none!important;color:#251c29!important;
}
.vlf-page .vlf-transition::before{background:linear-gradient(90deg,#ab7541,#bfa0b9,transparent)!important;opacity:.65}
.vlf-page .vlf-transition :is(h2,h3,p,.vlf-kicker,.vlf-transition-subtitle,
 .vlf-transition-lead,.vlf-transition-intro,.vlf-transition-title,
 .vlf-transition-summary-copy em,.vlf-transition-analysis p,.vlf-transition-topics li){color:#302435!important}
.vlf-page .vlf-transition :is(.vlf-transition-lead,.vlf-transition-intro p,
 .vlf-transition-summary-copy em,.vlf-transition-analysis p,.vlf-transition-topics li){color:#554857!important}
.vlf-page .vlf-transition-directory{border-color:#d9cbd8!important}
.vlf-page .vlf-transition-card,.vlf-page .vlf-transition-card[open]{background:#fff!important;border-color:#d9cbd8!important}
.vlf-page .vlf-transition-card summary{background:#fff!important;color:#251c29!important}
.vlf-page .vlf-transition-card summary :is(span,em,b){color:#2d2231!important}
.vlf-page .vlf-transition-card .vlf-transition-body{background:#fffdfc!important;color:#302435!important}
.vlf-page .vlf-transition-toggle,.vlf-page .vlf-transition-no{color:#62366c!important}
/* 01 — introductory campaign remains image-led, but textual panels are always light. */
.vlf-page .vlf-purpose-hero,.vlf-page .vlf-purpose-hero-inner{
 background:linear-gradient(120deg,#fffdfc 0%,#f6eff6 65%,#fffaf3 100%)!important;
 color:#251c29!important;
}
.vlf-page .vlf-purpose-hero :is(h1,h2,.vlf-purpose-hero-title,.vlf-purpose-hero-title span,
 .vlf-purpose-hero-promise,.vlf-purpose-hero-link,.vlf-kicker){color:#251c29!important}
.vlf-page .vlf-purpose-hero-link{border-color:#b18b9f!important}
.vlf-page .vlf-purpose-hero-motion{background:#e2cbdc!important}
.vlf-page .vlf-es-campaign,.vlf-page .vlf-es-campaign-track,
.vlf-page .vlf-es-campaign-slide,.vlf-page .vlf-es-campaign-copy,
.vlf-page .vlf-es-campaign-copy-inner{
 background:#f8f2f7!important;color:#251c29!important;
}
.vlf-page .vlf-es-campaign-copy{border-top:2px solid #b7854c!important}
.vlf-page .vlf-es-campaign-copy::before{background:linear-gradient(90deg,#b7854c,#8a538e)!important}
.vlf-page .vlf-es-campaign-copy :is(h2,h3,p,.vlf-es-campaign-label,
 .vlf-es-campaign-text,.vlf-es-campaign-meta,.vlf-es-campaign-link,
 .vlf-es-campaign-count,.vlf-es-campaign-count *, .vlf-es-campaign-prev,
 .vlf-es-campaign-next){color:#2c2131!important}
.vlf-page .vlf-es-campaign-link{border-color:#b18b9f!important}
.vlf-page .vlf-es-campaign-prev,.vlf-page .vlf-es-campaign-next{background:#fff!important;border-color:#d5c4d3!important}
.vlf-page .vlf-es-campaign-progress{background:#e8dce7!important}
.vlf-page .vlf-es-campaign-progress>span{background:#805184!important}
.vlf-page .vlf-es-campaign-media{background-color:#eee8eb!important}
.vlf-page .vlf-es-campaign-media-shade{background:linear-gradient(180deg,transparent 55%,rgba(32,23,36,.30) 100%)!important}
.vlf-page .vlf-es-campaign-media :is(.vlf-es-campaign-media-caption,.vlf-es-campaign-media-caption *){color:#fff!important}
/* Other originally dark editorial components: lighten them without changing geometry. */
.vlf-page .vlf-purpose17-heading,.vlf-page .vlf-approach-panel,
.vlf-page .vlf-final,.vlf-page .vlf-purpose-band,.vlf-page .vlf-home-campaign-hero,
.vlf-page .vlf-home-campaign-hero .vlf-hero-copy,
.vlf-page .vlf-insights-dynamic-aside,.vlf-page .vlf-campaign-feature-panels{
 background:linear-gradient(125deg,#f2e9f2,#fffaf6)!important;color:#251c29!important;
}
.vlf-page :is(.vlf-purpose17-heading,.vlf-approach-panel,.vlf-final,.vlf-purpose-band,
 .vlf-insights-dynamic-aside) :is(h2,h3,p,a,.vlf-kicker,.vlf-lead){color:#251c29!important}
.vlf-page .vlf-insights-dynamic-main{background:#fff!important;color:#251c29!important}
.vlf-page .vlf-insights-dynamic :is(.vlf-insights-dynamic-tab,.vlf-insights-dynamic-tab span,
 .vlf-insights-dynamic-tab p){color:#2e2232!important}
/* Keep block 02 shadow-root presentation as installed; non-NL templates receive same light identity. */
.vlf-page .vlf-b02,.vlf-page .vlf-b03{background:#fffdfc!important}
.vlf-page .vlf-b03__article,.vlf-page .vlf-b03__domain{
 background:#fff!important;color:#251c29!important;border-color:#ded4dd!important;
}
.vlf-page .vlf-b03__article :is(h3,p,a,span),
.vlf-page .vlf-b03__domain :is(h3,p,a,span){color:inherit!important}
.vlf-page .vlf-b03__article :is(h3,a),.vlf-page .vlf-b03__domain :is(h3,a){color:#34253a!important}
.vlf-page .vlf-b03__article p,.vlf-page .vlf-b03__domain p{color:#4c4150!important}
/* WordPress THEME footer/sidebar on public pages. No admin bar or main content sections. */
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer,.footer-widgets,.footer-main,.footer-bottom,.ast-footer-overlay,
 .site-info,.site-footer .widget,.site-footer .footer-widget){
 background:#f7f2f5!important;color:#29202e!important;border-color:#ded4dd!important;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) :is(h2,h3,h4,p,li,small,strong,span){color:#302536!important}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) a{
 color:#5a2f65!important;text-decoration-thickness:1px;text-underline-offset:3px;
}
body:not(.wp-admin) :is(.site-footer,#colophon,.elementor-location-footer) a:hover{color:#854c2b!important}
body:not(.wp-admin) :is(#secondary,.widget-area,.site-sidebar,.sidebar-primary,.elementor-widget-sidebar){
 background:#fbf8fa!important;color:#302536!important;border-color:#e2d7e0!important;
}
body:not(.wp-admin) :is(#secondary,.widget-area,.site-sidebar,.sidebar-primary,.elementor-widget-sidebar) :is(h2,h3,h4,p,li,span,small){color:#302536!important}
body:not(.wp-admin) :is(#secondary,.widget-area,.site-sidebar,.sidebar-primary,.elementor-widget-sidebar) a{color:#5a2f65!important}
body:not(.wp-admin) :is(#secondary,.widget-area,.site-sidebar,.sidebar-primary,.elementor-widget-sidebar) .widget{
 background:#fff!important;border:1px solid #e2d7e0!important;padding:clamp(16px,2vw,26px);
}
/* Accessibility: do not rely on motion to reveal important text. */
@media(prefers-reduced-motion:reduce){
 .vlf-page :is(.vlf-card,.vlf-step,.vlf-line,.vlf-journey-step,.vlf-transition-card){transition:none!important}
}
@media(max-width:700px){
 .vlf-page .vlf-perspective-heading{border-right:0;border-bottom:1px solid #ded4dd}
 .vlf-page .vlf-transition-card summary{overflow-wrap:anywhere}
}


/* 12.14.29 — Campaign banner: dark text on light background.
   Fixes legacy -webkit-text-fill-color:#fff overrides that persisted
   after the 12.14.27 light theme and caused invisible headings. 
   Scoped to the active Block 01 campaign only: no changes to the
   other 27 blocks, sidebar, footer or any of the 8 content languages. */
.vlf-page .vlf-es-campaign .vlf-es-campaign-track,
.vlf-page .vlf-es-campaign .vlf-es-campaign-slide,
.vlf-page .vlf-es-campaign .vlf-es-campaign-copy,
.vlf-page .vlf-es-campaign .vlf-es-campaign-copy-inner {
  background:#f8f2f7!important;
  color:#281c2b!important;
}
/* All textual descendants are dark, including WebKit text fills. */
.vlf-page .vlf-es-campaign .vlf-es-campaign-copy,
.vlf-page .vlf-es-campaign .vlf-es-campaign-copy * {
  color:#281c2b!important;
  -webkit-text-fill-color:#281c2b!important;
  text-shadow:none!important;
}
/* A compact, intentional hierarchy in burgundy/ink. */
.vlf-page .vlf-es-campaign .vlf-es-campaign-copy h2,
.vlf-page .vlf-es-campaign .vlf-es-campaign-copy h2 a,
.vlf-page .vlf-es-campaign .vlf-es-campaign-title {
  color:#251b2a!important;
  -webkit-text-fill-color:#251b2a!important;
  opacity:1!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-label,
.vlf-page .vlf-es-campaign .vlf-es-campaign-meta,
.vlf-page .vlf-es-campaign .vlf-es-campaign-meta span {
  color:#762a43!important;
  -webkit-text-fill-color:#762a43!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-text {
  color:#493c4c!important;
  -webkit-text-fill-color:#493c4c!important;
  opacity:1!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-meta b,
.vlf-page .vlf-es-campaign .vlf-es-campaign-link,
.vlf-page .vlf-es-campaign .vlf-es-campaign-link span,
.vlf-page .vlf-es-campaign .vlf-es-campaign-link b,
.vlf-page .vlf-es-campaign .vlf-es-campaign-count strong {
  color:#762a43!important;
  -webkit-text-fill-color:#762a43!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-link {
  border-bottom:1px solid #a96578!important;
  background:transparent!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-prev,
.vlf-page .vlf-es-campaign .vlf-es-campaign-next,
.vlf-page .vlf-es-campaign .vlf-es-campaign-prev span,
.vlf-page .vlf-es-campaign .vlf-es-campaign-next span {
  color:#762a43!important;
  -webkit-text-fill-color:#762a43!important;
  background:#f2e7ed!important;
  border-color:#caaeba!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-prev:hover,
.vlf-page .vlf-es-campaign .vlf-es-campaign-next:hover {
  background:#e8d4df!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-meta {
  border-bottom-color:#cbb7c7!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-count,
.vlf-page .vlf-es-campaign .vlf-es-campaign-count span,
.vlf-page .vlf-es-campaign .vlf-es-campaign-count em {
  color:#675465!important;
  -webkit-text-fill-color:#675465!important;
}
.vlf-page .vlf-es-campaign .vlf-es-campaign-progress {background:#deccd9!important;}
.vlf-page .vlf-es-campaign .vlf-es-campaign-progress>span {background:#762a43!important;}
.vlf-page .vlf-es-campaign .vlf-es-campaign-copy::before {
  background:linear-gradient(90deg,#762a43 0%,#b9804f 75%,transparent 100%)!important;
}
