/* ---- generated by build.py — do not edit ---- */

/* hover states (style-hover). !important because the source
   keeps its base styles inline, which otherwise always win. */
.hv1:hover { color: #0C1710 !important; }
.hv2:hover { background: #1F6B33 !important; color: #FFFFFF !important; }
.hv3:hover { border-color: #1F6B33 !important; }
.hv4:hover { background: #1F6B33 !important; }
.hv5:hover { color: #123D21 !important; }
.hv6:hover { background: #3FA65B !important; color: #06110A !important; }
.hv7:hover { color: #7FCB95 !important; }

/* visibility (hidden bindings), likewise !important */
.v-burgerHidden { display: none !important; }
@media (max-width: 760px) { .v-burgerHidden { display: block !important; } }
.v-desktopNavHidden { display: block !important; }
@media (max-width: 760px) { .v-desktopNavHidden { display: none !important; } }
.v-distrifyHidden { display: none !important; }
body[data-tab="distrify"] .v-distrifyHidden { display: block !important; }
.v-distrifyTabFillHidden { display: none !important; }
body[data-tab="distrify"] .v-distrifyTabFillHidden { display: block !important; }
.v-mlinkHidden { display: none !important; }
body[data-tab="mlink"] .v-mlinkHidden { display: block !important; }
.v-mlinkTabFillHidden { display: none !important; }
body[data-tab="mlink"] .v-mlinkTabFillHidden { display: block !important; }
.v-mobileNavHidden { display: none !important; }
@media (max-width: 760px) { body.nav-open .v-mobileNavHidden { display: block !important; } }
.v-navClosed { display: none !important; }
body.nav-open .v-navClosed { display: block !important; }
.v-navOpen { display: block !important; }
body.nav-open .v-navOpen { display: none !important; }
.v-timelineStackHidden { display: none !important; }
@media (max-width: 760px) { .v-timelineStackHidden { display: block !important; } }
.v-timelineWideHidden { display: block !important; }
@media (max-width: 760px) { .v-timelineWideHidden { display: none !important; } }

/* The design sets its font stack on an inner wrapper only, leaving <body>
   itself on the browser default (Times). Nothing renders there today, but any
   stray text would look wrong — so anchor it to the same stack. */
body { font-family: Manrope, system-ui, sans-serif; color: #0C1710; }


/* Motion-sensitive visitors: the source animates the hero entrance and runs
   three WebGL loops. site.js renders a single static frame instead. */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}