/* Loonis Sites additions on top of the template stylesheet */

/* hide animated elements until the motion kit runs (removed instantly if it can't) */
html.lx-motion [animate="fade-up"],
html.lx-motion [animate="heading-reveal"],
html.lx-motion [animate="stagger"],
html.lx-motion [animate="image-reveal"],
html.lx-motion [animate="rule-draw"],
html.lx-motion [animate="bar-grow"],
html.lx-motion [animate="bar-segments"] { opacity: 0; }

/* card hover zoom (1.04, 0.6s) */
html:not(.lx-ix) [class*="_card"] img, html:not(.lx-ix) .card-media img { transition: transform var(--motion-slow) var(--ease-1); }
html:not(.lx-ix) [class*="_card"]:hover img:not([class*="icon"]), html:not(.lx-ix) .card-media:hover img { transform: scale(1.04); }
.card-media { overflow: hidden; }

/* lightbox */
.lx-lightbox { position: fixed; inset: 0; z-index: 9999; background: var(--tone-overlay-92); display: flex; align-items: center; justify-content: center; }
.lx-lightbox img { max-width: 86vw; max-height: 86vh; object-fit: contain; border-radius: var(--radius-8); }
.lx-lightbox button { position: absolute; background: none; border: 0; color: var(--role-page); font-size: calc(var(--size-2-5rem) * var(--scale-headings)); cursor: pointer; padding: var(--spacing-1rem); line-height: var(--leading-100); }
.lx-lb-close { top: 1rem; right: 1rem; }
.lx-lb-prev { left: 1rem; top: 50%; transform: translateY(-50%); }
.lx-lb-next { right: 1rem; top: 50%; transform: translateY(-50%); }

/* tabs: Webflow hides inactive panes */
.w-tab-pane { display: none; }
.w-tab-pane.w--tab-active { display: block; }

/* single-page lists: Webflow hides pagination when there is nothing to page */
.w-pagination-wrapper { display: none; }


/* menu links the converter added to templates that only had a demo "Pages" dropdown */
.lx-nav-added { white-space: nowrap; }

/* Mindforge dotted background drawn in code (js/dotfield.js), where the dots video was */
.lx-dotfield { position: absolute; inset: 0; width: 100%; height: 100%; display: block; pointer-events: none; }

/* Mindforge dots follow the design system (Oct 30 2026): in every theme other than Original, and after a
   Style panel colour change (<html data-colours="custom">), the dotted texture is drawn in --role-texture
   and the live dotted grid in --role-dots. In Original both show exactly as the original draws them. */
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) .dots-layer {
  background-image: none;
  background-color: var(--role-texture);
  -webkit-mask: url('https://urkeffdjrlfjconn.public.blob.vercel-storage.com/m/bf8311bf53f46179ca3401bd5d8f42f1749a8140.png') 0 0 / 14px 14px;
  mask: url('https://urkeffdjrlfjconn.public.blob.vercel-storage.com/m/bf8311bf53f46179ca3401bd5d8f42f1749a8140.png') 0 0 / 14px 14px;
}
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) canvas[data-lx-dotfield] {
  --dotfield-color: var(--role-dots);
}
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) .footer_nav-link {
  background-image: radial-gradient(circle closest-side in srgb, var(--role-ink) 96%, transparent); /* lx-fixed: text colour, not a shade: the 6px bullet dot of a footer link follows Ink like the link text */
  background-size: 6px 6px;
}

/* ---- lx-icons: one-colour logo and icons follow the role colours (written by _tools/design-system/icons.mjs) ----
   The template's own one-colour SVG files are drawn as a mask filled with a role colour; the file
   itself is moved out of view. This runs in every theme except Original, and when the Style panel
   has changed a colour (<html data-colours="custom">). In Original the files show as drawn.
   The selectors match the template's own file names only: an owner logo or a replaced image has
   another src, so it shows exactly as uploaded and is never recoloured. */
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2914e089fa2419a51fbb5b_industry1-050b61.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a29157893382754010e8945_industry2-da9fa7.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a291598ace3f3288d3085c1_industry3-1eb077.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2915b589fa2419a5206639_industry4-03ca48.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2915cef8624438149e4dfa_industry5-340f5b.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2915e6c4595d62c5401b26_industry6-4eba80.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Arrow---Down-2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Arrow-Down.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Arrow-Up.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Calendar.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Checkmark.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Close-remove.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Eleanor-Halden.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Left.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Right---4.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Right-4.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Right.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Sphere-glob.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/instagram.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/linkedin.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/linkedin_1.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/menu.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/pages-menu-arrow-down-2.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/twitter.svg"],
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/x_logo.svg"] {
  object-position: -99999px 0;
  -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
  -webkit-mask-position: center; mask-position: center;
  -webkit-mask-size: contain; mask-size: contain;
  -webkit-mask-origin: content-box; mask-origin: content-box;
  -webkit-mask-clip: content-box; mask-clip: content-box;
  background-color: var(--role-ink);
  background-clip: content-box;
}
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2914e089fa2419a51fbb5b_industry1-050b61.svg"] { -webkit-mask-image: url(/_t/mindforge/cms/6a2914e089fa2419a51fbb5b_industry1-050b61.svg); mask-image: url(/_t/mindforge/cms/6a2914e089fa2419a51fbb5b_industry1-050b61.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a29157893382754010e8945_industry2-da9fa7.svg"] { -webkit-mask-image: url(/_t/mindforge/cms/6a29157893382754010e8945_industry2-da9fa7.svg); mask-image: url(/_t/mindforge/cms/6a29157893382754010e8945_industry2-da9fa7.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a291598ace3f3288d3085c1_industry3-1eb077.svg"] { -webkit-mask-image: url(/_t/mindforge/cms/6a291598ace3f3288d3085c1_industry3-1eb077.svg); mask-image: url(/_t/mindforge/cms/6a291598ace3f3288d3085c1_industry3-1eb077.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2915b589fa2419a5206639_industry4-03ca48.svg"] { -webkit-mask-image: url(/_t/mindforge/cms/6a2915b589fa2419a5206639_industry4-03ca48.svg); mask-image: url(/_t/mindforge/cms/6a2915b589fa2419a5206639_industry4-03ca48.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2915cef8624438149e4dfa_industry5-340f5b.svg"] { -webkit-mask-image: url(/_t/mindforge/cms/6a2915cef8624438149e4dfa_industry5-340f5b.svg); mask-image: url(/_t/mindforge/cms/6a2915cef8624438149e4dfa_industry5-340f5b.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/cms/6a2915e6c4595d62c5401b26_industry6-4eba80.svg"] { -webkit-mask-image: url(/_t/mindforge/cms/6a2915e6c4595d62c5401b26_industry6-4eba80.svg); mask-image: url(/_t/mindforge/cms/6a2915e6c4595d62c5401b26_industry6-4eba80.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Arrow---Down-2.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Arrow---Down-2.svg); mask-image: url(/_t/mindforge/images/Arrow---Down-2.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Arrow-Down.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Arrow-Down.svg); mask-image: url(/_t/mindforge/images/Arrow-Down.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Arrow-Up.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Arrow-Up.svg); mask-image: url(/_t/mindforge/images/Arrow-Up.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Calendar.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Calendar.svg); mask-image: url(/_t/mindforge/images/Calendar.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Checkmark.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Checkmark.svg); mask-image: url(/_t/mindforge/images/Checkmark.svg); background-color: var(--role-ink-soft); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Close-remove.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Close-remove.svg); mask-image: url(/_t/mindforge/images/Close-remove.svg); background-color: var(--role-page); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Eleanor-Halden.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Eleanor-Halden.svg); mask-image: url(/_t/mindforge/images/Eleanor-Halden.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Left.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Left.svg); mask-image: url(/_t/mindforge/images/Left.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Right---4.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Right---4.svg); mask-image: url(/_t/mindforge/images/Right---4.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Right-4.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Right-4.svg); mask-image: url(/_t/mindforge/images/Right-4.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Right.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Right.svg); mask-image: url(/_t/mindforge/images/Right.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/Sphere-glob.svg"] { -webkit-mask-image: url(/_t/mindforge/images/Sphere-glob.svg); mask-image: url(/_t/mindforge/images/Sphere-glob.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/instagram.svg"] { -webkit-mask-image: url(/_t/mindforge/images/instagram.svg); mask-image: url(/_t/mindforge/images/instagram.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/linkedin.svg"] { -webkit-mask-image: url(/_t/mindforge/images/linkedin.svg); mask-image: url(/_t/mindforge/images/linkedin.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/linkedin_1.svg"] { -webkit-mask-image: url(/_t/mindforge/images/linkedin_1.svg); mask-image: url(/_t/mindforge/images/linkedin_1.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/menu.svg"] { -webkit-mask-image: url(/_t/mindforge/images/menu.svg); mask-image: url(/_t/mindforge/images/menu.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/pages-menu-arrow-down-2.svg"] { -webkit-mask-image: url(/_t/mindforge/images/pages-menu-arrow-down-2.svg); mask-image: url(/_t/mindforge/images/pages-menu-arrow-down-2.svg); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/twitter.svg"] { -webkit-mask-image: url(/_t/mindforge/images/twitter.svg); mask-image: url(/_t/mindforge/images/twitter.svg); background-color: var(--role-ink-black); }
:is(html[data-theme]:not([data-theme="original"]), html[data-colours="custom"]) img[src$="/_t/mindforge/images/x_logo.svg"] { -webkit-mask-image: url(/_t/mindforge/images/x_logo.svg); mask-image: url(/_t/mindforge/images/x_logo.svg); }
/* logos and icons drawn in several greys: in dark themes they are inverted so they stay readable */
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Bot.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Bot.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Building-office.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Building-office.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Cube.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Cube.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Cube4.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Cube4.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Cylindrical.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Cylindrical.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Diamond2.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Diamond2.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Git-Pull.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Git-Pull.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Hemisphere.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Hemisphere.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Loading-circle.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Loading-circle.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Pause.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Pause.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Stars-6.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Stars-6.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Stars.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Stars.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/Triangle2.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/Triangle2.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/email-3.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/email-3.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/logo1.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/logo1.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/logo2.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/logo2.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/logo3.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/logo3.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/logo4.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/logo4.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/logo5.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/logo5.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/mindforge-logo.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/mindforge-logo.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/pages-menu-email-3.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/pages-menu-email-3.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/pages-menu-grid-interface.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/pages-menu-grid-interface.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/pages-menu-home.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/pages-menu-home.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/play.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/play.svg"],
html[data-theme="night-shift"] img[src$="/_t/mindforge/images/pyramid-1.svg"],
html[data-theme="inverted"] img[src$="/_t/mindforge/images/pyramid-1.svg"] { filter: invert(1); }
/* ---- end lx-icons ---- */
