/* Page-wide moving three-colour gradient (same palette as hero), mesh only in top section */
body.home-page::after{content:"";position:fixed;inset:-15%;z-index:2147483000;pointer-events:none;mix-blend-mode:multiply;opacity:.16;filter:blur(60px);
  background:
    radial-gradient(38% 45% at 20% 25%, oklch(0.9 0.05 355), transparent 70%),
    radial-gradient(40% 48% at 80% 30%, oklch(0.72 0.13 268), transparent 70%),
    radial-gradient(42% 46% at 50% 85%, oklch(0.74 0.13 250), transparent 70%);
  background-size:140% 140%;animation:homeFlow 24s ease-in-out infinite alternate}
@keyframes homeFlow{0%{background-position:0% 0%,100% 0%,50% 100%}50%{background-position:60% 40%,30% 60%,10% 30%}100%{background-position:100% 100%,0% 100%,90% 0%}}
@media (prefers-reduced-motion:reduce){body.home-page::after{animation:none}}
/* hide every mesh below the top hero */
body.home-page canvas.ai-mesh,body.home-page .tvx-mesh,body.home-page #homepage-suite>canvas,body.home-page section:not(.tvl-hero)>canvas{display:none!important}

/* v2: animated hero gradient is the background of the whole home page (footer keeps its own) */
body.home-page::after{display:none}
html:has(body.home-page),body.home-page{background:#fff!important}
body.home-page::before{content:"";position:fixed;inset:-20%;z-index:-1;pointer-events:none;filter:blur(70px);opacity:.38;
  background:
    radial-gradient(30% 38% at 20% 25%, oklch(0.9 0.05 355), transparent 70%),
    radial-gradient(32% 40% at 80% 25%, oklch(0.72 0.13 268), transparent 70%),
    radial-gradient(34% 40% at 50% 80%, oklch(0.74 0.13 250), transparent 70%);
  background-size:150% 150%;animation:homeFlow 22s ease-in-out infinite alternate}
@media (prefers-reduced-motion:reduce){body.home-page::before{animation:none}}
body.home-page main,body.home-page section:not(footer *),body.home-page .section,body.home-page .tvl-hero,body.home-page main>div,body.home-page hr.home-silk-divider{background:transparent!important;background-image:none!important}
body.home-page .tvl-hero .tvl-flow{display:none}
body.home-page section::before,body.home-page section::after{background:transparent!important;background-image:none!important}
body.home-page .home-section-outline{display:none}

/* v3: every box on the home page is see-through so the animated gradient shows everywhere (footer, menu, buttons, illustrations untouched) */
body.home-page::before{opacity:.5}
body.home-page :where(section,.section,.wrap,main) :not(footer):not(footer *):not(header *):not(nav *):not(button):not(a.btn):not(.btn):not(.tvx):not(.tvx *):not(.tvt-share-menu):not(.tvt-share-menu *):not(img):not(svg):not(svg *):not(canvas):not(input):not(select):not(textarea):not([class*="pill"]):not([class*="badge"]):not([class*="dot"]):not(i):not(b){background-color:transparent!important;background-image:none!important;box-shadow:none!important;backdrop-filter:none!important}
body.home-page :where(section,.section) [class*="card"],body.home-page :where(section,.section) [class*="panel"],body.home-page :where(section,.section) [class*="box"],body.home-page :where(section,.section) [class*="tile"]{border-color:rgba(60,40,110,.16)!important}
/* v4: force section fills off (high specificity to beat id-based rules) */
html body.home-page section:is(.section,#z#z#z),html body.home-page section:is(.section,#z#z#z)>.wrap,html body.home-page section:is(.section,#z#z#z)::before,html body.home-page section:is(.section,#z#z#z)::after{background-color:transparent!important;background-image:none!important;box-shadow:none!important}
html body.home-page section:is(.section,#z#z#z) :is([class*="card"],[class*="panel"],[class*="box"],[class*="tile"],[class*="row"],[class*="grid"],[class*="list"],[class*="col"],li,article,div,#z#z#z):not(.tvx):not(.tvx *):not(.tvt-share-menu):not(.tvt-share-menu *):not(button){background-color:transparent!important;background-image:none!important;box-shadow:none!important}
body.home-page::before{opacity:.75;background:
    radial-gradient(45% 50% at 15% 20%, oklch(0.9 0.05 355), transparent 70%),
    radial-gradient(45% 55% at 85% 30%, oklch(0.72 0.13 268), transparent 70%),
    radial-gradient(50% 50% at 45% 85%, oklch(0.74 0.13 250), transparent 70%);background-size:140% 140%}
/* v6: remove the old static colour wash laid over the whole page */
html body.home-page main.tv-home-bg::before,html body.home-page main.tv-home-bg::after{display:none!important}
html body.home-page main.tv-home-bg{background:transparent!important}
