/* BRAINS. — brains-site.css (Elementor Free + Hello + Header & Footer Builder)
   Loaded site-wide by the brains-endpoints plugin (also inside the Elementor preview, so the editor shows the real look).
   Rules: selectors by class only (bx-*), no content is created here, nothing starts hidden unless JS (html.bx-js) is present,
   except the closed mobile menu, which has a no-JS fallback (:target).
   Texts, links, images, icons, colours and fonts that the panel can hold stay in the Elementor panel. */

:root {
  --bx-ease: cubic-bezier(.2, .7, .2, 1);
  --bx-wipe: cubic-bezier(.76, 0, .24, 1);
  --bx-yellow: var(--e-global-color-accent, #FFD000);
  --bx-ink: var(--e-global-color-secondary, #0A0A0B);
  --bx-light: var(--e-global-color-primary, #F5F3EC);
  --bx-fill: #F5F3EC; /* colour of the hover wipe on yellow buttons (.bx-btn) */
}

/* ---------- Global focus (README: outline 2px yellow, offset 2px, dark ring) ---------- */
:root :focus-visible {
  outline: 2px solid #FFD000;
  outline-offset: 2px;
  box-shadow: 0 0 0 6px #0A0A0B;
}

/* ---------- Utility: text kept as the accessible name of an icon-only button ---------- */
.bx-burger .elementor-button-text,
.bx-totop .elementor-button-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}

/* ---------- Signature button: yellow pill, fill wipes in from the right on hover ---------- */
.bx-btn .elementor-button {
  background-image: linear-gradient(var(--bx-fill), var(--bx-fill));
  background-repeat: no-repeat;
  background-position: 100% 0;
  background-size: 0% 100%;
  transition: background-size 450ms var(--bx-ease), color 300ms, box-shadow 300ms, scale 160ms;
}
.bx-btn .elementor-button:hover,
.bx-btn .elementor-button:focus-visible { background-size: 100% 100%; }
.bx-btn .elementor-button:active { scale: .96; }

/* =====================================================================
   HEADER  (template "Header — BRAINS")
   ===================================================================== */
.bx-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 60;
  pointer-events: none;
  transition: padding 450ms var(--bx-ease);
}
.admin-bar .bx-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .bx-header { top: 46px; } }

/* scrolled state (JS adds .is-solid after 24px) — beats Elementor's per-element variables */
.bx-header.is-solid.e-con.e-parent { --padding-top: 12px; }
@media (max-width: 767px) { .bx-header.is-solid.e-con.e-parent { --padding-top: 10px; } }

/* skip link: off-screen until focused. The theme's own skip link is dropped only when this header is on the page */
:root:has(.bx-skip) .skip-link.screen-reader-text,
:root:has(.bx-skip) .hfe-skip-link { display: none; }
.bx-skip {
  position: absolute;
  top: -90px;
  right: 16px;
  z-index: 3;
  pointer-events: auto;
  transition: top 200ms;
}
.bx-skip:focus-within { top: 12px; }

/* glass bar — the glass lives on ::before so the mobile menu (position:fixed child) is measured from the viewport */
.bx-hbar {
  --bx-glass: rgba(16, 16, 18, .32);
  --bx-shadow-a: .2;
  position: relative;
  z-index: 2;
  pointer-events: auto;
  transition: min-height 400ms var(--bx-ease);
}
.bx-hbar::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: 999px;
  border: 1px solid rgba(245, 243, 236, .16);
  pointer-events: none;
  background:
    linear-gradient(#FFD000, #FFD000) right bottom / calc(var(--bx-prog, 0) * 100%) 2px no-repeat,
    linear-gradient(180deg, rgba(255, 255, 255, .09), rgba(255, 255, 255, 0) 55%),
    var(--bx-glass);
  -webkit-backdrop-filter: blur(20px) saturate(1.6);
  backdrop-filter: blur(20px) saturate(1.6);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .25), 0 18px 50px rgba(0, 0, 0, var(--bx-shadow-a));
  transition: box-shadow 400ms;
}
.bx-header.is-solid .bx-hbar { --bx-glass: rgba(16, 16, 18, .55); --bx-shadow-a: .45; }
@media (min-width: 768px) { .bx-header.is-solid .bx-hbar.e-con.e-child { --min-height: 66px; } }

/* brand */
.bx-ai-badge .elementor-heading-title {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #0A0A0B;
  border: 1px solid rgba(255, 208, 0, .55);
  box-shadow: 0 0 18px rgba(255, 208, 0, .18);
  direction: ltr;
}
.bx-logo.elementor-widget-image a { display: flex; align-items: center; min-height: 44px; transition: opacity 200ms; }
.bx-logo a:hover { opacity: .85; }
.bx-logo img,
.bx-flogo img { width: auto; }

/* WhatsApp CTA: icon only under 768px (the text stays as the accessible name) */
@media (max-width: 767px) {
  .bx-cta-wa .elementor-button-text {
    position: absolute !important;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
  }
  .bx-cta-wa .elementor-button { min-height: 46px; }
}
.bx-cta-wa .elementor-button-icon svg { width: 19px; height: 19px; }

/* burger (shown under 1100px) — two lines drawn here, they turn into an X when open */
.bx-burger .elementor-button {
  position: relative;
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: background-color 200ms, scale 160ms;
}
.bx-burger .elementor-button::before,
.bx-burger .elementor-button::after {
  content: "";
  position: absolute;
  left: 14px;
  right: 14px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform 350ms var(--bx-ease);
}
.bx-burger .elementor-button::before { top: 18px; }
.bx-burger .elementor-button::after { top: 26px; }
.bx-burger .elementor-button:active { scale: .94; }
.bx-header.is-open .bx-burger .elementor-button::before { transform: translateY(4px) rotate(45deg); }
.bx-header.is-open .bx-burger .elementor-button::after { transform: translateY(-4px) rotate(-45deg); }

/* ---------- Main navigation: one Icon List, desktop pills ≥1100px / full-screen menu <1100px ---------- */
.bx-nav .elementor-icon-list-item > a {
  display: flex;
  align-items: center;
  border-radius: 999px;
  transition: color 300ms, background-color 300ms, box-shadow 300ms, opacity 450ms ease, transform 600ms var(--bx-ease);
}
.bx-nav .elementor-icon-list-text { transition: color 300ms; }

@media (min-width: 1100px) {
  .bx-burger { display: none; }
  .bx-navwrap.e-con { background-image: none !important; }
  .bx-navwrap.e-con::before { display: none !important; }
  .bx-nav .elementor-icon-list-items { flex-wrap: nowrap; }
  .bx-nav .elementor-icon-list-item > a { min-height: 44px; padding: 0 18px; }
  .bx-nav .elementor-icon-list-icon { display: none !important; }
  .bx-nav .elementor-icon-list-item.is-active > a { background-color: #FFD000; box-shadow: 0 6px 24px rgba(255, 208, 0, .35); }
  .bx-nav .elementor-icon-list-item.is-active .elementor-icon-list-text { color: #0A0A0B !important; }
}

@media (max-width: 1099px) {
  .bx-navwrap.e-con {
    position: fixed;
    inset: 0;
    z-index: -2;
    width: auto;
    max-width: none;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
    padding: 120px 24px 36px;
    overflow: hidden;
    pointer-events: none;
    visibility: hidden;
    clip-path: circle(0px at var(--bx-bx, 44px) var(--bx-by, 42px));
    transition: clip-path 700ms var(--bx-wipe), visibility 0s linear 700ms;
  }
  .bx-header.is-open .bx-navwrap.e-con,
  .bx-navwrap.e-con:target {
    pointer-events: auto;
    visibility: visible;
    clip-path: circle(150% at var(--bx-bx, 44px) var(--bx-by, 42px));
    transition: clip-path 700ms var(--bx-wipe), visibility 0s;
  }
  .bx-nav { width: 100%; }
  .bx-nav .elementor-icon-list-items { flex-direction: column; flex-wrap: nowrap; counter-reset: bxm; }
  .bx-nav .elementor-icon-list-items .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; counter-increment: bxm; }
  .bx-nav .elementor-icon-list-items .elementor-icon-list-item::after { display: none !important; }
  .bx-nav .elementor-icon-list-item > a {
    justify-content: space-between;
    align-items: baseline;
    gap: 16px;
    padding: 16px 0;
    border-radius: 0;
    border-bottom: 1px solid rgba(245, 243, 236, .14);
  }
  .bx-nav .elementor-icon-list-item > a,
  .bx-nav .elementor-icon-list-text { font-size: clamp(28px, 8.5vw, 42px) !important; font-weight: 800 !important; line-height: 1.1 !important; }
  .bx-nav .elementor-icon-list-item > a::after {
    content: counter(bxm, decimal-leading-zero);
    order: 3;
    font: 500 14px/1 'Rubik', sans-serif;
    color: #FFD000;
  }
  .bx-nav .elementor-icon-list-item:last-child > a { border-bottom: 0; align-items: center; }
  .bx-nav .elementor-icon-list-item:last-child > a::after { content: none; }
  .bx-nav .elementor-icon-list-item:last-child .elementor-icon-list-text { color: #FFD000 !important; }
  .bx-nav .elementor-icon-list-item:last-child .elementor-icon-list-icon { order: 2; }
  /* staggered entrance — only when JS runs; without JS the links are simply visible */
  .bx-js .bx-nav .elementor-icon-list-item > a { opacity: 0; transform: translateY(30px); }
  .bx-js .bx-header.is-open .bx-nav .elementor-icon-list-item > a { opacity: 1; transform: none; }
  .bx-header.is-open .bx-nav .elementor-icon-list-item:nth-child(1) > a { transition-delay: 200ms; }
  .bx-header.is-open .bx-nav .elementor-icon-list-item:nth-child(2) > a { transition-delay: 250ms; }
  .bx-header.is-open .bx-nav .elementor-icon-list-item:nth-child(3) > a { transition-delay: 300ms; }
  .bx-header.is-open .bx-nav .elementor-icon-list-item:nth-child(4) > a { transition-delay: 350ms; }
  .bx-header.is-open .bx-nav .elementor-icon-list-item:nth-child(5) > a { transition-delay: 400ms; }
}

/* Elementor editor: keep the mobile menu in the flow so it can be clicked and edited */
.elementor-editor-active .bx-header { position: relative; top: 0; }
@media (max-width: 1099px) {
  .elementor-editor-active .bx-navwrap.e-con {
    position: relative;
    inset: auto;
    z-index: 0;
    visibility: visible;
    pointer-events: auto;
    clip-path: none;
    margin-top: 12px;
    padding: 40px 24px 24px;
    border-radius: 24px;
  }
  .elementor-editor-active .bx-hbar { flex-wrap: wrap; }
  .elementor-editor-active .bx-hbar::before { border-radius: 32px; }
}

/* =====================================================================
   FOOTER  (template "Footer — BRAINS")
   ===================================================================== */
.bx-flist .elementor-icon-list-items .elementor-icon-list-item { padding: 0 !important; margin: 0 !important; }
.bx-flist .elementor-icon-list-item > a { padding: 11px 0; transition: color 200ms, translate 250ms; }
.bx-flist .elementor-icon-list-items .elementor-icon-list-item:not(:has(> a)) { padding-block: 11px !important; }
.bx-fnav .elementor-icon-list-item > a:hover { translate: -4px 0; }

.bx-linkbtn .elementor-button { min-height: 0; text-align: right; transition: color 200ms; }

.bx-totop .elementor-button {
  width: 52px;
  height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition: scale 160ms;
}
.bx-totop .elementor-button:active { scale: .94; }

.bx-brandmark .elementor-heading-title {
  direction: ltr;
  unicode-bidi: isolate;
  white-space: nowrap;
  user-select: none;
  pointer-events: none;
}
.bx-brandmark .bx-y { color: #FFD000; -webkit-text-stroke: 0; }

/* =====================================================================
   SECTIONS (shared)
   ===================================================================== */
/* Hello underlines every link inside .page-content — widget links (buttons, lists, images) keep the panel's own decoration */
.page-content .elementor-button,
.page-content .elementor-icon-list-item > a,
.page-content .elementor-widget-image a,
.page-content .elementor-social-icon { text-decoration: none; }
[class*="bx-sec-"] { scroll-margin-top: 96px; }

/* entrance (hero): hidden only when <html> has bx-motion; revealed by brains-site.js (.is-in),
   and by CSS after 4s whatever happens (failsafe) */
@keyframes bxShow { to { opacity: 1; transform: none; filter: none; } }
@media (prefers-reduced-motion: no-preference) {
  .bx-motion .bx-enter:not(.is-in),
  .bx-motion .bx-words:not(.is-split) .elementor-heading-title,
  .bx-motion .bx-words .bx-w:not(.is-in) {
    opacity: 0;
    transform: translateY(.45em);
    filter: blur(8px);
    animation: bxShow 0s linear 4s forwards;
  }
  .bx-motion .bx-enter,
  .bx-motion .bx-words .bx-w { transition: opacity 700ms ease, transform 900ms var(--bx-ease), filter 700ms ease; }
}
.bx-w { display: inline-block; }

/* =====================================================================
   HOME › #top  (Hero)
   ===================================================================== */
.bx-hero.e-con { isolation: isolate; }
/* shade + mouse spotlight (--mx/--my come from brains-motion.js, data-spot) */
.bx-hero.e-con::before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  z-index: 1;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  pointer-events: none;
  background:
    radial-gradient(560px circle at var(--mx, -999px) var(--my, -999px), rgba(255, 208, 0, .11), transparent 60%),
    linear-gradient(0deg, #0A0A0B 0%, rgba(10, 10, 11, .92) 46%, rgba(10, 10, 11, .35) 78%, rgba(10, 10, 11, .25) 100%);
}
@media (min-width: 1025px) {
  .bx-hero.e-con::before {
    background:
      radial-gradient(560px circle at var(--mx, -999px) var(--my, -999px), rgba(255, 208, 0, .11), transparent 60%),
      linear-gradient(90deg, rgba(10, 10, 11, .96) 0%, rgba(10, 10, 11, .84) 34%, rgba(10, 10, 11, .25) 58%, rgba(10, 10, 11, 0) 76%),
      linear-gradient(0deg, #0A0A0B 0%, rgba(10, 10, 11, 0) 28%);
  }
}
/* faint grid */
.bx-hero.e-con::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background-image: linear-gradient(rgba(245, 243, 236, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(245, 243, 236, .045) 1px, transparent 1px);
  background-size: 64px 64px;
  -webkit-mask-image: radial-gradient(ellipse at 25% 50%, #000 10%, transparent 65%);
  mask-image: radial-gradient(ellipse at 25% 50%, #000 10%, transparent 65%);
}
/* background photo (Image widget) — taller than the section so the parallax never shows an edge */
.bx-hero-media.e-con {
  position: absolute;
  inset: -8% 0;
  z-index: 0;
  width: auto;
  max-width: none;
  padding: 0;
}
.bx-hero-img.elementor-widget-image { width: 100%; height: 100%; }
.bx-hero-img.elementor-widget-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: 74% 30%;
}
@media (min-width: 1025px) { .bx-hero-img.elementor-widget-image img { object-position: 62% 50%; } }
.bx-hero-col.e-con { max-width: 100%; }

/* eyebrow: blinking square drawn here (decoration only) */
.bx-eyebrow .elementor-heading-title::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -1px;
  width: 9px;
  height: 9px;
  margin-inline-end: 12px;
  vertical-align: middle;
  border-radius: 2px;
  background: #FFD000;
  animation: bxBlink 1.6s ease-in-out infinite;
}
@keyframes bxBlink { 0%, 100% { opacity: 1; } 50% { opacity: .2; } }

/* title: the yellow "AI" chip is <span class="bx-hl"> inside the Heading text */
.bx-hero-title .elementor-heading-title { text-wrap: balance; }
.bx-hl {
  display: inline-block;
  padding: 0 .16em;
  border-radius: .14em;
  background: #FFD000;
  color: #0A0A0B;
  rotate: -3deg;
}
.bx-hero .bx-hero-col.e-con > .bx-hero-value.elementor-widget { max-width: 540px; }
.bx-hero-value p { margin: 0; text-wrap: pretty; }

/* CTAs */
.bx-cta-primary .elementor-button { min-height: 58px; display: inline-flex; align-items: center; }
.bx-cta-primary .elementor-button:hover,
.bx-cta-primary .elementor-button:focus-visible { box-shadow: 0 14px 50px rgba(255, 208, 0, .4) !important; }
.bx-cta-primary .elementor-button:active { scale: .97; }
.bx-cta-link .elementor-button {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  text-decoration-color: rgba(255, 208, 0, .7) !important;
  text-decoration-thickness: 2px !important;
  text-underline-offset: 7px;
  transition: color 200ms;
}

/* scroll cue (desktop only — hidden on tablet/mobile in the panel) */
.bx-cue.elementor-widget {
  position: absolute;
  bottom: 28px;
  left: 50%;
  translate: -50% 0;
  z-index: 3;
  width: auto;
}
.bx-cue .elementor-button { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.bx-cue .elementor-button::after {
  content: "";
  display: block;
  width: 1px;
  height: 46px;
  background: linear-gradient(#FFD000, #FFD000) 0 -51px / 100% 100% no-repeat, rgba(245, 243, 236, .2);
  animation: bxCue 1.9s cubic-bezier(.6, 0, .2, 1) infinite;
}
@keyframes bxCue { from { background-position: 0 -51px, 0 0; } to { background-position: 0 97px, 0 0; } }

/* ---------- Reduced motion: everything instant ---------- */
@media (prefers-reduced-motion: reduce) {
  .bx-header,
  .bx-header *,
  .bx-header *::before,
  .bx-header *::after,
  .bx-footer *,
  .bx-btn .elementor-button,
  .bx-hero *,
  .bx-hero *::before,
  .bx-hero *::after {
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
    animation: none !important;
  }
}

/* =====================================================================
   SECTIONS — shared parts (bx-sec, bx-bg, bx-inner, eyebrow, titles, notes)
   Every section container: .bx-sec .bx-sec-<id> (+ CSS ID = <id>)
   ===================================================================== */
.bx-sec.e-con { position: relative; isolation: isolate; }
/* ::before = shade over the photo, ::after = texture (grid/dots/spotlight). Both decoration only. */
.bx-sec.e-con::before,
.bx-sec.e-con::after,
.bx-ovl.e-con::before,
.bx-ovl.e-con::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  z-index: 1;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  pointer-events: none;
  background: none;
  transform: none;
}
.bx-sec .bx-inner.e-con { position: relative; z-index: 2; }
.bx-sec .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.bx-sec .elementor-widget-text-editor p { text-wrap: pretty; }
.bx-sec .elementor-heading-title { text-wrap: balance; }

/* background photo / video, taller than the section so the parallax never shows an edge */
.bx-bg.e-con {
  position: absolute;
  inset: -12% 0;
  z-index: 0;
  width: auto;
  max-width: none;
  padding: 0;
  pointer-events: none;
}
.bx-bg.bx-bg-tall.e-con { inset: -18% 0; }
.bx-bg.bx-bg-half.e-con { inset: -12% auto -12% 0; width: 58%; }
.bx-bg-img.elementor-widget-image { width: 100%; height: 100%; }
.bx-bg-img.elementor-widget-image img,
.bx-cover-img.elementor-widget-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}
.bx-pos-3050 img { object-position: 30% 50% !important; }
.bx-pos-4060 img { object-position: 40% 60% !important; }
.bx-pos-6030 img { object-position: 60% 30% !important; }
.bx-pos-45 img { object-position: 50% 45% !important; }
.bx-pos-6035 img { object-position: 60% 35% !important; }
.bx-bg-video .elementor-background-video-container { opacity: .6; filter: saturate(.85); }

/* big outlined number (decoration; JS marks it aria-hidden) */
.bx-bignum.elementor-widget {
  position: absolute;
  left: clamp(-20px, 1vw, 40px);
  top: clamp(30px, 5vw, 80px);
  z-index: 1;
  width: auto;
  max-width: none;
  margin: 0;
  pointer-events: none;
  user-select: none;
}
.bx-bignum .elementor-heading-title { direction: ltr; color: transparent !important; -webkit-text-stroke: 1.5px rgba(245, 243, 236, .1); white-space: nowrap; }
.bx-bignum.bx-bignum-dark .elementor-heading-title { -webkit-text-stroke-color: rgba(10, 10, 11, .14); }

/* eyebrow: square drawn here */
.bx-eye .elementor-heading-title::before {
  content: "";
  display: inline-block;
  position: relative;
  top: -1px;
  width: 8px;
  height: 8px;
  margin-inline-end: 10px;
  vertical-align: middle;
  border-radius: 2px;
  background: currentColor;
}
.bx-eye.bx-eye-blink .elementor-heading-title::before { animation: bxBlink 1.6s ease-in-out infinite; }

/* inline marks inside Heading texts */
.bx-y { color: #FFD000; }
.bx-uline { background: linear-gradient(#FFD000, #FFD000) no-repeat 100% 86% / 100% .32em; }
.bx-mark {
  color: #0A0A0B;
  background: #FFD000;
  padding: 0 .14em;
  border-radius: .12em;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

/* small bold line with the yellow square (disclaimers) */
.bx-note p { position: relative; padding-inline-start: 18px; }
.bx-note p::before {
  content: "";
  position: absolute;
  inset-inline-start: 0;
  top: .5em;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  background: #FFD000;
}

/* head row: titles | body text. Two columns when there is room (like the design's auto-fit grid) */
.bx-split.e-con > .e-con,
.bx-split.e-con > .elementor-widget { flex: 1 1 420px; min-width: 0; }
@media (min-width: 1000px) { .bx-split.e-con > .e-con { max-width: calc(50% - 32px); } }
.bx-head-narrow.e-con { max-width: 760px; }

/* light (paper) sections */
.bx-light .bx-eye .elementor-heading-title::before { background: #0A0A0B; }

/* buttons (variants of .bx-btn) */
.bx-btn-dark { --bx-fill: #FFD000; }
.bx-btn-ghost { --bx-fill: #FFD000; }
.bx-btn-ghost .elementor-button:hover,
.bx-btn-ghost .elementor-button:focus-visible { border-color: #FFD000 !important; }
.bx-btn-light .elementor-button { transition: background-color 250ms; }
.bx-btn-light .elementor-button:hover { background-color: #FFD000 !important; }
.bx-sec .elementor-button { min-height: 48px; display: inline-flex; align-items: center; }
.bx-sec .elementor-button .elementor-button-icon svg { width: 1em; height: 1em; }

/* section entrance "curtain" (brains-motion data-curtain) needs the clip on the section box */
.bx-curtain.e-con { will-change: clip-path; }

/* =====================================================================
   HOME › ticker (rotated bands under the Hero)
   ===================================================================== */
.bx-ticker.e-con {
  position: relative;
  z-index: 4;
  height: clamp(150px, 15vw, 210px);
  margin-top: -56px;
  overflow: hidden;
  padding: 0;
}
.bx-tk-back.e-con,
.bx-tk-front.e-con {
  position: absolute;
  left: -6%;
  right: -6%;
  top: 50%;
  width: auto;
  max-width: none;
  overflow: hidden;
  flex-direction: row;
  flex-wrap: nowrap;
}
.bx-tk-back.e-con {
  transform: translateY(-50%) rotate(2.4deg);
  background: #141416;
  border-block: 1px solid rgba(255, 208, 0, .3);
  padding: 16px 0;
  min-height: calc(clamp(20px, 2.4vw, 32px) + 34px);
}
.bx-tk-front.e-con {
  transform: translateY(-50%) rotate(-2.4deg);
  background: #FFD000;
  padding: 18px 0;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .55);
}
.bx-tk-list.elementor-widget { width: auto; max-width: none; flex: none; }
.bx-tk-list .elementor-icon-list-items {
  display: flex;
  flex-wrap: nowrap !important;
  width: max-content;
  margin: 0 !important;
}
.bx-tk-list .elementor-icon-list-item {
  display: flex;
  align-items: center;
  gap: 28px;
  margin: 0 !important;
  padding: 0 !important;
  padding-inline-start: 28px !important;
  white-space: nowrap;
}
.bx-tk-list .elementor-icon-list-item::after { display: none !important; }
.bx-tk-list .elementor-icon-list-icon { order: 2; padding: 0 !important; }
.bx-tk-list .elementor-icon-list-icon svg { width: .6em !important; height: .6em !important; }
.bx-tk-list .elementor-icon-list-text { padding: 0 !important; }
/* back band = a copy of the front list made by brains-site.js (aria-hidden), drawn as outlined text */
.bx-tk-back .elementor-icon-list-text { color: transparent !important; -webkit-text-stroke: 1px rgba(255, 208, 0, .6); }
.bx-tk-back .elementor-icon-list-icon svg { fill: rgba(255, 208, 0, .6) !important; }

/* =====================================================================
   HOME › #engine (Nested Tabs: one tab = one illustrated process)
   ===================================================================== */
.bx-sec-engine.e-con::before {
  background:
    radial-gradient(ellipse at 50% 64%, rgba(255, 208, 0, .12), rgba(10, 10, 11, 0) 55%),
    linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, .5) 30%, rgba(10, 10, 11, .5) 70%, #0A0A0B 100%);
}
.bx-sec.bx-spot.e-con::after { background: radial-gradient(600px circle at var(--mx, -999px) var(--my, -999px), rgba(255, 208, 0, .08), transparent 60%); }

.bx-eng .e-n-tabs {
  position: relative;
  gap: 0 !important;
  border-radius: 28px;
  background: rgba(20, 20, 22, .72);
  border: 1px solid rgba(245, 243, 236, .12);
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  overflow: hidden;
}
.bx-eng .e-n-tabs-heading {
  display: flex;
  flex-wrap: wrap;
  gap: 8px !important;
  justify-content: flex-start !important;
  padding: clamp(22px, 3vw, 36px) clamp(22px, 3vw, 36px) 0;
}
.bx-eng.elementor-widget .e-n-tab-title {
  position: relative;
  overflow: hidden;
  flex: none !important;
  width: auto !important;
  min-height: 44px;
  padding: 0 16px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(245, 243, 236, .22) !important;
  background: transparent !important;
  color: #B5B3AA !important;
  font: 500 14px/1 'Rubik', sans-serif !important;
  transition: color 250ms, border-color 250ms;
}
.bx-eng.elementor-widget .e-n-tab-title:hover { color: #F5F3EC !important; border-color: rgba(245, 243, 236, .5) !important; }
.bx-eng.elementor-widget .e-n-tab-title[aria-selected="true"] { color: #F5F3EC !important; border-color: #FFD000 !important; }
.bx-eng .e-n-tab-title-text { font: inherit !important; color: inherit !important; }
/* autoplay progress on the active tab (JS adds .is-auto while it cycles) */
.bx-eng .e-n-tab-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  height: 2px;
  width: 0;
  background: #FFD000;
}
.bx-eng.is-auto .e-n-tab-title[aria-selected="true"]::after { animation: bxTabProg var(--bx-eng-dur, 7s) linear forwards; }
@keyframes bxTabProg { from { width: 0; } to { width: 100%; } }
.bx-eng .e-n-tabs-content { padding: 0 !important; border: 0 !important; }
.bx-eng .e-n-tabs-content > .e-con { padding: 0; border: 0; }
.bx-eng-panel.e-con { flex-direction: column; }
@media (min-width: 768px) {
  .bx-eng .e-n-tabs-heading {
    position: absolute;
    z-index: 3;
    bottom: clamp(22px, 3vw, 36px);
    right: clamp(22px, 3vw, 36px);
    width: calc(50% - 2 * clamp(22px, 3vw, 36px));
    padding: 0;
  }
  .bx-eng-panel.e-con { flex-direction: row; }
  .bx-eng-panel.e-con > .e-con { flex: 1 1 50%; min-width: 0; }
  .bx-eng-q.e-con { border-inline-end: 1px solid rgba(245, 243, 236, .1); padding-bottom: calc(clamp(22px, 3vw, 36px) + 104px) !important; }
}
/* no JS: every example is shown, one under the other */
html:not(.bx-js) .bx-eng .e-n-tabs-heading { display: none; }
html:not(.bx-js) .bx-eng .e-n-tabs-content > .e-con { display: flex !important; }
html:not(.bx-js) .bx-eng .e-n-tabs-content > .e-con + .e-con { border-top: 1px solid rgba(245, 243, 236, .1); }

.bx-eng-dot .elementor-heading-title::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-inline-end: 10px;
  vertical-align: middle;
  border-radius: 50%;
  background: #FFD000;
  box-shadow: 0 0 0 4px rgba(255, 208, 0, .18);
}
.bx-eng-quote .elementor-heading-title { min-height: 3.9em; }
/* the three steps: square marker + vertical line */
.bx-eng-step.e-con { position: relative; padding-inline-start: 36px; padding-bottom: 26px; }
.bx-eng-step.bx-eng-last.e-con { padding-bottom: 0; }
.bx-eng-step.e-con::before {
  content: "";
  position: absolute;
  inset-inline-start: 4px;
  top: 3px;
  width: 11px;
  height: 11px;
  box-sizing: border-box;
  border-radius: 3px;
  border: 1.5px solid #FFD000;
  background: #FFD000;
  transition: background-color 400ms, border-color 400ms;
}
.bx-eng-step.e-con:not(.bx-eng-last)::after {
  content: "";
  position: absolute;
  inset-inline-start: 9px;
  top: 16px;
  bottom: -2px;
  width: 1px;
  background: linear-gradient(180deg, #FFD000, rgba(245, 243, 236, .12));
}
.bx-eng-opt.e-con {
  padding: 11px 14px;
  border-radius: 14px;
  border: 1px solid rgba(245, 243, 236, .12);
  background: rgba(245, 243, 236, .02);
  transition: background-color 500ms, border-color 500ms, opacity 500ms;
}
.bx-eng-opt.e-con:not(.bx-win) { opacity: .6; }
.bx-eng-opt.bx-win.e-con { border-color: #FFD000; background: rgba(255, 208, 0, .1); }
.bx-eng-otext.e-con { flex: 1 1 auto; min-width: 0; }
.bx-eng-tag.elementor-widget,
.bx-eng-oic.elementor-widget { flex: none; width: auto; }
.bx-eng-tag .elementor-heading-title {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid rgba(245, 243, 236, .25);
  color: #D2D0C8;
  white-space: nowrap;
}
.bx-win .bx-eng-tag .elementor-heading-title { background: #FFD000; border-color: #FFD000; color: #0A0A0B; }
.bx-eng-opt:not(.bx-win) .bx-eng-otitle .elementor-heading-title { text-decoration: line-through; text-decoration-color: rgba(245, 243, 236, .5); }
.bx-eng-oic .elementor-icon { display: flex; }
/* step-by-step play (only with motion; JS adds .is-play to the shown panel) */
@media (prefers-reduced-motion: no-preference) {
  .bx-motion .bx-eng-step.e-con { opacity: .22; transform: translateY(10px); transition: opacity 600ms, transform 600ms var(--bx-ease); }
  .bx-motion .bx-eng-step.e-con::before { background: transparent; border-color: rgba(245, 243, 236, .3); }
  .bx-motion .is-play .bx-eng-step.e-con { opacity: 1; transform: none; }
  .bx-motion .is-play .bx-eng-step.e-con::before { background: #FFD000; border-color: #FFD000; }
  .bx-motion .is-play .bx-eng-step.e-con:nth-child(2),
  .bx-motion .is-play .bx-eng-step.e-con:nth-child(2)::before { transition-delay: 700ms; }
  .bx-motion .is-play .bx-eng-step.e-con:nth-child(3),
  .bx-motion .is-play .bx-eng-step.e-con:nth-child(3)::before { transition-delay: 1500ms; }
}

/* =====================================================================
   HOME › #opportunities (fit box + 4-panel accordion)
   ===================================================================== */
.bx-sec-opportunities.e-con::before { background: linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, .88) 30%, rgba(10, 10, 11, .82) 70%, #0A0A0B 100%); }
.bx-fit.e-con {
  background: rgba(18, 18, 20, .62);
  -webkit-backdrop-filter: blur(14px);
  backdrop-filter: blur(14px);
  border: 1px solid rgba(245, 243, 236, .12);
}
.bx-fit-item.e-con { flex: 1 1 360px; min-width: 0; }
.bx-fit-ic.elementor-widget { flex: none; width: 22px; margin-top: 4px; }
.bx-fit-txt.elementor-widget { flex: 1 1 auto; min-width: 0; }
.bx-fit-txt strong { font-weight: 600; color: #FFD000; }

.bx-opp-acc.e-con { flex-direction: column; }
.bx-opp.e-con {
  position: relative;
  min-width: 0;
  min-height: 460px;
  justify-content: flex-end;
  border-radius: clamp(24px, 2.6vw, 36px);
  background: #141416;
  border: 1px solid rgba(245, 243, 236, .12);
  overflow: hidden;
  padding: 0;
  transition: flex 750ms cubic-bezier(.7, 0, .2, 1), height 650ms cubic-bezier(.7, 0, .2, 1), border-color 400ms;
}
.bx-opp.e-con::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(10, 10, 11, .96) 0%, rgba(10, 10, 11, .55) 42%, rgba(10, 10, 11, .12) 100%);
}
.bx-opp-img.elementor-widget-image { position: absolute; inset: 0; z-index: 0; width: auto; max-width: none; margin: 0; }
.bx-opp-img.elementor-widget-image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  transition: filter 700ms ease, scale 1200ms var(--bx-ease);
}
.bx-opp-num.elementor-widget { position: absolute; top: clamp(18px, 2vw, 28px); right: clamp(18px, 2vw, 28px); z-index: 2; width: auto; margin: 0; pointer-events: none; }
.bx-opp-num .elementor-heading-title { direction: ltr; color: transparent !important; -webkit-text-stroke: 1.5px #FFD000; transition: -webkit-text-stroke-color 400ms; }
.bx-opp-body.e-con { position: relative; z-index: 2; width: min(560px, 100%); padding: clamp(22px, 3vw, 40px); }
.bx-opp-body.e-con::before {
  content: "";
  display: block;
  position: static;
  flex: none;
  width: 150px;
  height: 2px;
  opacity: 1;
  border-radius: 0;
  mix-blend-mode: normal;
  background: linear-gradient(#FFD000, #FFD000) 100% 0 / var(--bx-bar, 100%) 100% no-repeat, rgba(245, 243, 236, .2);
  transition: background-size 900ms cubic-bezier(.6, 0, .2, 1) 350ms;
}
.bx-opp-tag .elementor-heading-title { display: inline-block; padding: 7px 14px; border-radius: 999px; border: 1px solid rgba(255, 208, 0, .6); }
.bx-opp-grid.e-con { width: 100%; }
.bx-opp-qa.e-con { flex: 1 1 190px; min-width: 0; }
.bx-opp-link .elementor-button { padding: 0 20px 0 8px !important; gap: 12px; }
.bx-opp-link .elementor-button-icon {
  width: 34px;
  height: 34px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #0A0A0B;
  color: #F5F3EC;
  fill: #F5F3EC;
}
.bx-opp-link .elementor-button-icon svg { fill: #F5F3EC; }
/* collapsed label (a Button): hidden without JS, where every panel is open */
.bx-opp-toggle.elementor-widget { display: none; }
.bx-js .bx-opp-toggle.elementor-widget {
  display: block;
  position: absolute;
  inset: 0;
  z-index: 3;
  width: auto;
  max-width: none;
  margin: 0;
  transition: opacity 350ms ease 300ms;
}
.bx-opp-toggle .elementor-button-wrapper,
.bx-opp-toggle .elementor-button { width: 100%; height: 100%; }
.bx-opp-toggle .elementor-button {
  display: flex !important;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: clamp(18px, 2vw, 26px) !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #F5F3EC !important;
  text-align: start;
}
.bx-opp-toggle .elementor-button-content-wrapper { flex-direction: column !important; align-items: flex-start; gap: 14px; }
.bx-opp-toggle .elementor-button-icon {
  order: -1;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1.5px solid rgba(245, 243, 236, .7);
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 250ms, color 250ms, border-color 250ms;
}
.bx-opp-toggle .elementor-button-icon svg { width: 14px; height: 14px; fill: currentColor; }
.bx-opp-toggle .elementor-button:hover .elementor-button-icon,
.bx-opp-toggle .elementor-button:focus-visible .elementor-button-icon { background: #FFD000; border-color: #FFD000; color: #0A0A0B; }
.bx-opp-toggle .elementor-button-text { font: 800 clamp(18px, 1.5vw, 22px)/1.2 'Rubik', sans-serif; text-wrap: balance; white-space: normal; }
/* accordion behaviour (JS: .bx-js + .is-active on one panel) */
.bx-js .bx-opp.e-con { min-height: 0; }
.bx-js .bx-opp.is-active.e-con { border-color: rgba(255, 208, 0, .55); }
.bx-js .bx-opp.is-active .bx-opp-toggle { opacity: 0; pointer-events: none; transition-delay: 0ms; }
.bx-js .bx-opp-body.e-con { position: absolute; right: 0; bottom: 0; }
.bx-js .bx-opp:not(.is-active) .bx-opp-body {
  opacity: 0;
  visibility: hidden;
  translate: 0 24px;
  --bx-bar: 0%;
  transition: opacity 250ms, translate 400ms, visibility 0s linear 250ms;
}
.bx-js .bx-opp.is-active .bx-opp-body { opacity: 1; visibility: visible; translate: 0 0; transition: opacity 500ms ease 300ms, translate 700ms var(--bx-ease) 300ms, visibility 0s; }
.bx-js .bx-opp:not(.is-active) .bx-opp-img img { filter: grayscale(1) brightness(.75); }
.bx-js .bx-opp.is-active .bx-opp-img img { scale: 1.04; }
.bx-js .bx-opp:not(.is-active) .bx-opp-num .elementor-heading-title { -webkit-text-stroke-color: rgba(245, 243, 236, .55); }
@media (min-width: 900px) {
  .bx-js .bx-opp-acc.e-con { flex-direction: row; height: clamp(520px, 68vh, 660px); }
  .bx-js .bx-opp.e-con { flex: 1 1 0; height: 100%; }
  .bx-js .bx-opp.is-active.e-con { flex: 4.2 1 0; }
}
@media (max-width: 899px) {
  .bx-js .bx-opp.e-con { height: 96px; flex: none; }
  .bx-js .bx-opp.is-active.e-con { height: min(520px, 78vh); }
  .bx-js .bx-opp-toggle .elementor-button { flex-direction: row; align-items: center; justify-content: flex-start; }
  .bx-js .bx-opp-toggle .elementor-button-content-wrapper { flex-direction: row !important; align-items: center; }
}

/* =====================================================================
   HOME › #example (before / after)
   ===================================================================== */
.bx-sec-example.e-con::before { background: linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, .35) 30%, rgba(10, 10, 11, .55) 65%, #0A0A0B 100%); }
.bx-sec-example.bx-spot.e-con::after { background: radial-gradient(700px circle at var(--mx, -999px) var(--my, -999px), rgba(255, 208, 0, .07), transparent 60%); }
.bx-sec-example .bx-bg.e-con { inset: -15% 0; }
.bx-ex-grid.e-con { flex-direction: column; }
@media (min-width: 1025px) {
  .bx-ex-grid.e-con { flex-direction: row; }
  .bx-ex-before.e-con { flex: .85 1 0; min-width: 0; }
  .bx-ex-flow.e-con { flex: 1.15 1 0; min-width: 0; }
}
.bx-ex-before.e-con { background: rgba(245, 243, 236, .03); border: 1px dashed rgba(245, 243, 236, .28); }
.bx-ex-item.elementor-widget { padding: 16px; border-radius: 16px; background: #141416; border: 1px dashed rgba(245, 243, 236, .24); }
.bx-rot-1 { rotate: -1.2deg; }
.bx-rot-2 { rotate: 1deg; }
.bx-rot-3 { rotate: -.6deg; }
.bx-ex-flow.e-con { background: #121214; border: 1px solid rgba(255, 208, 0, .28); box-shadow: 0 30px 90px rgba(0, 0, 0, .45); }
.bx-ex-lbl .elementor-icon-list-icon svg { width: 14px; }
.bx-ex-steps.e-con { position: relative; }
.bx-ex-steps.e-con::before,
.bx-ex-steps.e-con::after {
  content: "";
  position: absolute;
  right: 17px;
  top: 18px;
  bottom: 18px;
  left: auto;
  width: 2px;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  background: rgba(245, 243, 236, .1);
}
.bx-ex-steps.e-con::after { background: #FFD000; transform-origin: top; transform: scaleY(var(--bx-rail, 1)); transition: transform 600ms var(--bx-ease); }
.bx-ex-step.e-con { position: relative; z-index: 1; transition: opacity 400ms; }
.bx-ex-num.elementor-widget {
  flex: none;
  width: 36px;
  height: 36px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 11px;
  border: 1.5px solid #FFD000;
  background: #FFD000;
  color: #0A0A0B;
  transition: background-color 300ms, color 300ms, border-color 300ms, scale 300ms;
}
.bx-ex-num .elementor-heading-title,
.bx-ex-num .elementor-icon { color: inherit !important; }
.bx-ex-num .elementor-icon svg { fill: currentColor !important; width: 13px; height: 13px; }
.bx-ex-check .bx-ex-num.elementor-widget { border-style: dashed; background: rgba(255, 208, 0, .15); color: #FFD000; }
.bx-ex-num .elementor-icon { display: flex; }
.bx-ex-tx.e-con { flex: 1 1 auto; min-width: 0; padding-top: 6px; }
.bx-ex-check .bx-ex-tx.e-con { padding: 12px 14px; border-radius: 14px; border: 1px dashed rgba(255, 208, 0, .6); background: rgba(255, 208, 0, .08); }
@media (prefers-reduced-motion: no-preference) {
  .bx-motion .bx-ex-step.e-con { opacity: .35; }
  .bx-motion .bx-ex-step:not(.is-on) .bx-ex-num.elementor-widget { background: #1C1C1F; border-color: rgba(245, 243, 236, .25); color: #F5F3EC; }
  .bx-motion .bx-ex-step.is-on.e-con { opacity: 1; }
  .bx-motion .bx-ex-step.is-now .bx-ex-num.elementor-widget { scale: 1.12; }
}
.bx-ex-replay .elementor-button { padding: 0 16px !important; min-height: 44px; }

/* =====================================================================
   HOME › #zoom ("AI." window into the video, opens on scroll)
   ===================================================================== */
.bx-sec-zoom.e-con { overflow: visible; padding: 0; }
.bx-motion .bx-sec-zoom.e-con { height: 260vh; }
.bx-zoom-stage.e-con {
  position: sticky;
  top: 0;
  height: 100vh;
  height: 100svh;
  overflow: hidden;
  isolation: isolate;
  padding: 0;
}
.bx-zoom-stage .elementor-background-video-container { z-index: 0; }
.bx-zoom-stage .elementor-background-video-hosted { filter: saturate(1.25) contrast(1.1); }
.bx-zoom-stage.e-con::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  width: auto;
  height: auto;
  border-radius: 0;
  mix-blend-mode: normal;
  pointer-events: none;
  background: radial-gradient(ellipse at center, rgba(10, 10, 11, .45) 0%, rgba(10, 10, 11, .92) 75%);
  opacity: var(--bx-zs, 1);
}
.bx-zoom-cover.e-con {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: #0A0A0B;
  mix-blend-mode: multiply;
  transform-origin: var(--bx-ox, 50%) var(--bx-oy, 50%);
  will-change: transform;
  pointer-events: none;
}
.bx-motion .bx-zoom-cover.e-con { display: flex; }
.bx-zoom-word.elementor-widget { width: auto; max-width: none; }
.bx-zoom-word .elementor-heading-title { direction: ltr; white-space: nowrap; color: #FFFFFF; }
.bx-zoom-cue.elementor-widget { display: none; }
.bx-motion .bx-zoom-cue.elementor-widget { display: block; position: absolute; left: 0; right: 0; bottom: clamp(28px, 6vh, 56px); z-index: 3; margin: 0; text-align: center; pointer-events: none; }
.bx-zoom-cue .elementor-heading-title { display: flex; flex-direction: column; align-items: center; gap: 12px; }
.bx-zoom-cue .elementor-heading-title::after {
  content: "";
  display: block;
  width: 1px;
  height: 42px;
  background: linear-gradient(#FFD000, #FFD000) 0 -46px / 100% 100% no-repeat, rgba(245, 243, 236, .2);
  animation: bxCue2 1.9s cubic-bezier(.6, 0, .2, 1) infinite;
}
@keyframes bxCue2 { from { background-position: 0 -46px, 0 0; } to { background-position: 0 88px, 0 0; } }
.bx-zoom-final.e-con { position: relative; z-index: 3; min-height: 100svh; text-align: center; }
.bx-motion .bx-zoom-final.e-con { position: absolute; inset: 0; min-height: 0; }
.bx-zoom-tag .elementor-heading-title { display: inline-block; padding: 8px 16px; border-radius: 999px; border: 1px solid rgba(255, 208, 0, .6); background: rgba(10, 10, 11, .5); }
.bx-zoom-title.elementor-widget { max-width: 980px; }
.bx-zoom-title .elementor-heading-title { text-shadow: 0 10px 60px rgba(0, 0, 0, .6); }
.bx-zoom-title .bx-mark { text-shadow: none; }
.bx-zoom-body.elementor-widget { max-width: 600px; }
.bx-zoom-cta .elementor-button { min-height: 56px; }

/* =====================================================================
   HOME › #how-it-works (paper)
   ===================================================================== */
.bx-sec-how-it-works .bx-bg.e-con { mix-blend-mode: multiply; }
.bx-sec-how-it-works.e-con::before {
  background:
    linear-gradient(90deg, rgba(243, 241, 234, 0) 0%, rgba(243, 241, 234, .7) 40%, #F3F1EA 62%),
    linear-gradient(180deg, #F3F1EA 0%, rgba(243, 241, 234, 0) 22%, rgba(243, 241, 234, 0) 78%, #F3F1EA 100%);
}
.bx-sec-how-it-works.e-con::after {
  background-image: linear-gradient(rgba(10, 10, 11, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(10, 10, 11, .05) 1px, transparent 1px);
  background-size: 60px 60px;
  -webkit-mask-image: radial-gradient(ellipse at 75% 30%, #000 10%, transparent 65%);
  mask-image: radial-gradient(ellipse at 75% 30%, #000 10%, transparent 65%);
}
.bx-how-ring.e-con {
  position: absolute;
  left: 6%;
  top: 52%;
  z-index: 1;
  width: clamp(220px, 24vw, 360px);
  aspect-ratio: 1;
  height: auto;
  padding: 0;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.bx-how-ring.e-con::before,
.bx-how-ring.e-con::after,
.bx-faq-graphic.e-con::after {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 50%;
  animation: bxSpin 22s linear infinite;
}
.bx-how-ring.e-con::before { border: 1.5px dashed rgba(10, 10, 11, .3); background: none; }
.bx-how-ring.e-con::after { background: radial-gradient(circle at 50% 0, #FFD000 0 7px, #F3F1EA 7px 11px, transparent 11px); }
@keyframes bxSpin { to { rotate: 360deg; } }
.bx-ring-txt.elementor-widget {
  position: relative;
  z-index: 1;
  width: 56%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #0A0A0B;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 30px 70px rgba(10, 10, 11, .25);
}
.bx-ring-txt .elementor-heading-title { direction: ltr; }
.bx-how-line.e-con { position: relative; height: 2px; min-height: 0; padding: 0; background: rgba(10, 10, 11, .12); }
.bx-how-line.e-con::before {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  background: #0A0A0B;
  transform-origin: right;
  scale: var(--bx-p, 1) 1;
}
.bx-how-card.e-con { color: #0A0A0B; border: 1px solid rgba(10, 10, 11, .08); transition: background-color 350ms, color 350ms, translate 450ms var(--bx-ease); }
.bx-how-card.e-con:hover { color: #F5F3EC; translate: 0 -6px; }
.bx-how-card .elementor-heading-title,
.bx-how-card .elementor-widget-text-editor { color: inherit !important; }
.bx-how-b.elementor-widget { opacity: .8; }
.bx-how-num.elementor-widget { width: auto; }
.bx-how-num .elementor-heading-title {
  width: 54px;
  height: 54px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid #FFD000;
  background: #FFD000;
  color: #0A0A0B !important;
  transition: background-color 450ms, border-color 450ms, color 450ms;
}
@media (prefers-reduced-motion: no-preference) {
  .bx-motion .bx-how-card:not(.is-on) .bx-how-num .elementor-heading-title { background: transparent; border-color: rgba(10, 10, 11, .28); color: inherit !important; }
  .bx-motion .bx-how-card:not(.is-on):hover .bx-how-num .elementor-heading-title { border-color: rgba(245, 243, 236, .4); }
}
.bx-how-out.e-con { margin-top: auto; padding-top: 16px; border-top: 1px dashed currentColor; }
.bx-chip-y .elementor-heading-title { display: inline-block; padding: 4px 10px; border-radius: 999px; background: #FFD000; color: #0A0A0B !important; }
.bx-how-cta .elementor-button { min-height: 56px; }

/* =====================================================================
   HOME › #about
   ===================================================================== */
.bx-sec-about.e-con::before {
  background:
    linear-gradient(90deg, rgba(10, 10, 11, .75), rgba(10, 10, 11, .95) 55%),
    linear-gradient(180deg, #0A0A0B, rgba(10, 10, 11, 0) 25%, rgba(10, 10, 11, 0) 75%, #0A0A0B);
}
.bx-about-grid.e-con { flex-wrap: wrap; }
.bx-about-media.e-con { position: relative; flex: 1 1 380px; max-width: 440px; margin-inline: auto; padding: 0; }
.bx-about-media.e-con::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  transform: translate(-24px, 24px);
  border-radius: 32px;
  background: #FFD000;
}
.bx-about-card.e-con {
  position: relative;
  z-index: 1;
  aspect-ratio: 4 / 5;
  height: auto;
  border-radius: 32px;
  overflow: hidden;
  background: #141416;
  border: 1px solid rgba(245, 243, 236, .14);
  padding: 0;
}
.bx-about-card.e-con::before,
.bx-about-card.e-con::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  width: auto;
  height: auto;
  border-radius: 0;
  pointer-events: none;
}
.bx-about-card.e-con::before { background: #FFD000; mix-blend-mode: multiply; opacity: .55; }
.bx-about-card.e-con::after { background: linear-gradient(180deg, rgba(10, 10, 11, .15) 0%, rgba(10, 10, 11, .35) 55%, rgba(10, 10, 11, .85) 100%); opacity: 1; mix-blend-mode: normal; }
.bx-about-img.elementor-widget-image { position: absolute; inset: 0; width: auto; max-width: none; margin: 0; }
.bx-about-img.elementor-widget-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 60% 55%; }
.bx-about-dock.e-con {
  position: absolute;
  top: -42px;
  left: -42px;
  z-index: 2;
  width: 124px;
  height: 124px;
  border-radius: 50%;
  background: #0A0A0B;
  border: 1px solid rgba(255, 208, 0, .4);
  align-items: center;
  justify-content: center;
  padding: 0;
}
.bx-about-dock.e-con::before {
  content: "";
  position: absolute;
  inset: 8px;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 50%;
  border: 1.5px dashed rgba(255, 208, 0, .75);
  background: none;
  animation: bxSpin 22s linear infinite;
}
.bx-about-logo.elementor-widget-image { width: auto; }
.bx-about-logo.elementor-widget-image img { width: 74px; height: auto; display: block; }
@media (max-width: 767px) { .bx-about-dock.e-con { left: -14px; top: -30px; width: 100px; height: 100px; } .bx-about-logo img { width: 60px !important; } }
.bx-about-text.e-con { flex: 1 1 380px; max-width: 560px; }
.bx-ghost-btn .elementor-button { min-height: 56px; }

/* =====================================================================
   HOME › #proof (built, hidden in the panel until real testimonials are approved)
   ===================================================================== */
.bx-quote.e-con { border: 1px solid rgba(245, 243, 236, .12); }
.bx-q-cap.e-con { margin-top: auto; }
.bx-avatar.e-con { flex: none; width: 48px; height: 48px; min-height: 0; border-radius: 50%; background: #2A2A2E; border: 1px dashed rgba(245, 243, 236, .35); padding: 0; }

/* =====================================================================
   HOME › #faq
   ===================================================================== */
.bx-sec-faq.e-con { overflow: clip; }
.bx-sec-faq.e-con::before {
  background:
    linear-gradient(90deg, rgba(10, 10, 11, 0) 0%, rgba(10, 10, 11, .75) 50%, #0A0A0B 75%),
    linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, 0) 18%, rgba(10, 10, 11, 0) 82%, #0A0A0B 100%);
}
.bx-sec-faq.e-con::after {
  background-image: radial-gradient(rgba(245, 243, 236, .09) 1px, transparent 1.2px);
  background-size: 26px 26px;
  -webkit-mask-image: radial-gradient(ellipse at 20% 50%, #000, transparent 70%);
  mask-image: radial-gradient(ellipse at 20% 50%, #000, transparent 70%);
}
.bx-faq-grid.e-con { flex-wrap: wrap; }
.bx-faq-grid.e-con > .e-con,
.bx-faq-grid.e-con > .elementor-widget { flex: 1 1 400px; min-width: 0; }
@media (min-width: 1025px) { .bx-faq-head.e-con { position: sticky; top: 110px; } }
.bx-faq-graphic.e-con {
  position: relative;
  width: clamp(220px, 26vw, 340px);
  aspect-ratio: 1;
  height: auto;
  margin-top: clamp(12px, 2vw, 28px);
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(245, 243, 236, .14);
}
.bx-faq-graphic.e-con::after { background: radial-gradient(circle at 50% 0, #FFD000 0 7px, transparent 7.5px), radial-gradient(circle at 12% 84%, #F5F3EC 0 5px, transparent 5.5px); border: 1.5px dashed rgba(255, 208, 0, .55); box-shadow: none; }
.bx-faq-qwrap.e-con { position: absolute; inset: 0; align-items: center; justify-content: center; padding: 0; }
.bx-faq-qwrap.e-con::before {
  content: "";
  position: absolute;
  inset: 16%;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 50%;
  border: 1px solid rgba(245, 243, 236, .1);
  background: radial-gradient(circle, rgba(255, 208, 0, .1), transparent 70%);
}
.bx-faq-q.elementor-widget { width: auto; position: relative; }
.bx-faq-q .elementor-heading-title { color: transparent !important; -webkit-text-stroke: 2px #F5F3EC; }
.bx-faq-chip1.e-con,
.bx-faq-chip2.e-con { position: absolute; width: auto; padding: 0; z-index: 2; }
.bx-faq-chip1.e-con { right: -8%; top: 14%; }
.bx-faq-chip2.e-con { left: -6%; bottom: 12%; }
.bx-faq-chip .elementor-icon-list-item {
  padding: 9px 14px !important;
  border-radius: 999px;
  background: rgba(20, 20, 22, .85);
  border: 1px solid rgba(245, 243, 236, .16);
  white-space: nowrap;
}
.bx-faq-acc.elementor-widget { border-top: 1.5px solid rgba(245, 243, 236, .5); }
.bx-faq-acc .e-n-accordion { gap: 0 !important; }
.bx-faq-acc .e-n-accordion-item { border-bottom: 1px solid rgba(245, 243, 236, .14); }
.bx-faq-acc.elementor-widget .e-n-accordion-item-title {
  min-height: 76px;
  padding: 20px 0 !important;
  border: 0 !important;
  background: transparent !important;
  justify-content: space-between !important;
  align-items: center;
  gap: 20px;
  cursor: pointer;
}
.bx-faq-acc .e-n-accordion-item-title-text {
  font: 500 clamp(18px, 1.6vw, 22px)/1.35 'Rubik', sans-serif !important;
  color: #F5F3EC !important;
  margin: 0;
}
.bx-faq-acc .e-n-accordion-item-title-icon {
  flex: none;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1.5px solid rgba(245, 243, 236, .45);
  display: flex !important;
  align-items: center;
  justify-content: center;
  color: #F5F3EC;
  transition: background-color 300ms, color 300ms, rotate 350ms var(--bx-ease), border-color 300ms;
}
.bx-faq-acc .e-n-accordion-item-title-icon span { display: flex; }
.bx-faq-acc .e-n-accordion-item-title-icon svg { width: 14px !important; height: 14px !important; fill: currentColor !important; }
.bx-faq-acc .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-icon { background: #FFD000; border-color: #FFD000; color: #0A0A0B; rotate: 45deg; }
.bx-faq-acc .e-n-accordion-item > .e-con { padding: 0 0 26px !important; border: 0 !important; background: transparent !important; }
.bx-faq-a.elementor-widget { max-width: 600px; }

/* =====================================================================
   HOME › #contact (paper)
   ===================================================================== */
.bx-hands.e-con {
  position: relative;
  height: clamp(170px, 26vw, 380px);
  margin: 0 calc(-1 * clamp(20px, 5vw, 64px));
  width: auto;
  max-width: none;
  overflow: hidden;
  direction: ltr;
  padding: 0;
  background: #F3F1EA;
}
.bx-hand.e-con { height: 100%; padding: 0; mix-blend-mode: multiply; }
.bx-hand-robot.e-con { width: 52%; flex: none; }
.bx-hand-human.e-con { width: 48%; flex: none; }
.bx-hand-img.elementor-widget-image { width: 100%; height: 100%; }
.bx-hand-img.elementor-widget-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; }
.bx-hand-robot img { object-position: 100% 30%; }
.bx-hand-human img { object-position: 0% 60%; }
.bx-spark.e-con {
  position: absolute;
  left: 52%;
  top: 42%;
  width: 140px;
  height: 140px;
  min-height: 0;
  margin: -70px 0 0 -70px;
  padding: 0;
  border-radius: 50%;
  background: radial-gradient(circle, #FFFFFF 0%, rgba(255, 255, 255, .7) 14%, rgba(255, 255, 255, 0) 66%);
  opacity: 0;
  transition: opacity 500ms;
  pointer-events: none;
}
html:not(.bx-motion) .bx-spark.e-con { opacity: 1; }
.bx-sec-contact .bx-inner.e-con { margin-top: clamp(20px, 3vw, 40px); }
.bx-contact-grid.e-con { flex-wrap: wrap; }
.bx-contact-grid.e-con > .e-con { flex: 1 1 440px; min-width: 0; }
.bx-cbox.e-con { max-width: 500px; background: rgba(10, 10, 11, .06); border: 1px solid rgba(10, 10, 11, .14); }
.bx-checks .elementor-icon-list-icon {
  flex: none;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  background: #0A0A0B;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-inline-end: 12px;
}
.bx-checks .elementor-icon-list-icon svg { width: 12px !important; height: 12px !important; }
.bx-cform.e-con { grid-column: 1 / -1; border: 1px solid rgba(10, 10, 11, .12); box-shadow: 0 24px 60px rgba(10, 10, 11, .08); }
.bx-cnote.elementor-widget { grid-column: 1 / -1; }
.bx-ccard.e-con { min-height: 180px; }
.bx-cc-ic.elementor-widget {
  width: 50px;
  height: 50px;
  flex: none;
  border-radius: 50%;
  background: #FFD000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bx-cc-ic .elementor-icon { display: flex; }
.bx-cc-lbl .elementor-heading-title { opacity: .75; }
.bx-cc-bottom.e-con { margin-top: auto; }

/* Fluent Forms inside the contact card */
.bx-ff .fluentform .ff-el-group { margin-bottom: 18px; }
.bx-ff .fluentform .ff-el-input--label { margin-bottom: 8px; }
.bx-ff .fluentform .ff-el-input--label label { font: 500 15px/1.2 'Rubik', sans-serif; color: #0A0A0B; }
.bx-ff .fluentform .ff-el-is-required.asterisk-right label::after { color: inherit; margin-inline-start: 3px; }
.bx-ff .fluentform .ff-el-form-control {
  min-height: 54px;
  padding: 0 16px;
  border-radius: 14px;
  border: 1.5px solid rgba(10, 10, 11, .22);
  background: #F3F1EA;
  font: 400 17px/1.4 'Assistant', sans-serif;
  color: #0A0A0B;
  box-shadow: none;
  transition: border-color 200ms, box-shadow 200ms;
}
.bx-ff .fluentform textarea.ff-el-form-control { min-height: 120px; padding: 14px 16px; line-height: 1.55; resize: vertical; }
.bx-ff .fluentform .ff-el-form-control::placeholder { color: #8A887F; }
.bx-ff .fluentform .ff-el-form-control:focus { border-color: #0A0A0B; box-shadow: 0 0 0 4px rgba(255, 208, 0, .6); outline: none; }
.bx-ff .fluentform .bx-ltr,
.bx-ff .fluentform input.bx-ltr { direction: ltr; text-align: right; }
.bx-ff .fluentform .ff-el-is-error .ff-el-form-control { border-color: #B42318; }
.bx-ff .fluentform .error.text-danger { font: 600 14px/1.3 'Assistant', sans-serif; color: #B42318; margin-top: 6px; }
.bx-ff .fluentform .bx-via .ff-el-input--content { display: flex; flex-wrap: wrap; gap: 8px; }
.bx-ff .fluentform .bx-via .ff-el-form-check { margin: 0; }
.bx-ff .fluentform .bx-via .ff-el-form-check-label {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1.5px solid #0A0A0B;
  background: transparent;
  color: #0A0A0B;
  font: 500 15px/1 'Rubik', sans-serif;
  cursor: pointer;
  transition: background-color 200ms, color 200ms;
}
.bx-ff .fluentform .bx-via .ff-el-form-check-input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.bx-ff .fluentform .bx-via .ff-el-form-check-label:has(input:checked) { background: #0A0A0B; color: #FFD000; }
.bx-ff .fluentform .bx-via .ff-el-form-check-label:has(input:focus-visible) { outline: 2px solid #FFD000; outline-offset: 2px; box-shadow: 0 0 0 6px #0A0A0B; }
.bx-ff .fluentform .bx-consent .ff-el-form-check-label { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: 12px; align-items: start; font: 400 15px/1.55 'Assistant', sans-serif; color: #1F1E1C; }
.bx-ff .fluentform .bx-consent input[type="checkbox"] { width: 22px; height: 22px; margin: 1px 0 0; accent-color: #0A0A0B; }
.bx-ff .fluentform .bx-consent a { color: #0A0A0B; text-decoration: underline; text-underline-offset: 3px; font-weight: 600; }
.bx-ff .fluentform .ff_submit_btn_wrapper { margin-top: 4px; text-align: start; }
.bx-ff .fluentform .ff-btn-submit {
  min-height: 58px;
  padding: 0 30px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: #0A0A0B !important;
  background-image: linear-gradient(#FFD000, #FFD000) !important;
  background-repeat: no-repeat !important;
  background-position: 100% 0 !important;
  background-size: 0% 100% !important;
  color: #F5F3EC !important;
  font: 500 17px/1 'Rubik', sans-serif !important;
  transition: background-size 450ms var(--bx-ease), color 300ms, scale 160ms !important;
}
.bx-ff .fluentform .ff-btn-submit:hover,
.bx-ff .fluentform .ff-btn-submit:focus-visible { background-size: 100% 100% !important; color: #0A0A0B !important; opacity: 1 !important; }
.bx-ff .ff-message-success { border: 0; box-shadow: none; padding: 0; font: 400 17px/1.6 'Assistant', sans-serif; color: #1F1E1C; }
.bx-ff .ff-message-success strong { display: block; font: 800 clamp(24px, 2.2vw, 30px)/1.15 'Rubik', sans-serif; color: #0A0A0B; margin-bottom: 12px; }
.bx-cform-after.elementor-widget { margin-top: -10px; }

/* =====================================================================
   HOME › #advisor (hidden in the panel until the Anthropic key is connected)
   ===================================================================== */
.bx-sec-advisor.e-con { border-top: 1px solid rgba(245, 243, 236, .08); }
.bx-sec-advisor.e-con::before { background: linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, .55) 28%, rgba(10, 10, 11, .7) 62%, #0A0A0B 100%), linear-gradient(90deg, rgba(10, 10, 11, .85) 0%, rgba(10, 10, 11, 0) 55%); }
.bx-sec-advisor.e-con::after { background: radial-gradient(ellipse 70% 55% at 50% 0%, rgba(255, 208, 0, .12), rgba(255, 208, 0, 0) 70%); }
.bx-pos-5035 img { object-position: 50% 35% !important; }
.bx-adv.e-con { border: 1px solid rgba(255, 208, 0, .35); box-shadow: 0 30px 80px rgba(0, 0, 0, .5), 0 0 0 6px rgba(255, 208, 0, .05); }
.bx-adv-label .elementor-icon-list-item,
.bx-adv-privacy .elementor-icon-list-item { gap: 10px; }
.bx-adv-ff .fluentform .ff-el-group { margin-bottom: 0; }
.bx-adv-ff .fluentform textarea.ff-el-form-control {
  min-height: 110px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  resize: none;
  font: 400 clamp(19px, 1.8vw, 24px)/1.5 'Assistant', sans-serif;
  color: #F5F3EC;
  caret-color: #FFD000;
}
.bx-adv-ff .fluentform textarea.ff-el-form-control::placeholder { color: #8A887F; }
.bx-adv-ff .fluentform .ff_submit_btn_wrapper { text-align: end; margin-top: 12px; }
.bx-adv-ff .fluentform .ff-btn-submit {
  min-height: 54px;
  padding: 0 26px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background-color: #FFD000 !important;
  color: #0A0A0B !important;
  font: 500 17px/1 'Rubik', sans-serif !important;
  box-shadow: 0 10px 40px rgba(255, 208, 0, .25);
}
.bx-adv-bar.e-con { padding-top: 16px; border-top: 1px solid rgba(245, 243, 236, .1); }
.bx-adv-count.elementor-widget { width: auto; font-variant-numeric: tabular-nums; }
.bx-adv-out.e-con { display: none; padding: 0; }
.bx-adv-out.is-shown.e-con { display: flex; flex-direction: column; border-top: 1px solid rgba(245, 243, 236, .1); background: #101012; padding: clamp(20px, 3vw, 32px); gap: 22px; }
.bx-adv-out p { margin: 0; }
.bx-adv-steps { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; font: 500 16px/1.3 'Rubik', sans-serif; color: #8A887F; }
.bx-adv-steps .is-now { color: #F5F3EC; }
.bx-adv-steps .is-done { color: #B5B3AA; }
.bx-adv-msg { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 14px; font: 400 17px/1.5 'Assistant', sans-serif; color: #F5F3EC; }
.bx-adv-tolink, .bx-adv-go { font: 500 15px/1 'Rubik', sans-serif; color: #FFD000; text-decoration: underline; text-underline-offset: 5px; }
.bx-adv-k { display: block; font: 500 13px/1.2 'Rubik', sans-serif; color: #B5B3AA; margin-bottom: 6px; }
.bx-adv-summary { font: 600 clamp(19px, 1.6vw, 22px)/1.5 'Assistant', sans-serif; color: #F5F3EC; outline: none; }
:root .bx-adv-summary:focus, :root .bx-adv-summary:focus-visible { outline: none; box-shadow: none; }
.bx-adv-dirs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 270px), 1fr)); gap: 14px; }
.bx-adv-dirs li { display: flex; flex-direction: column; gap: 14px; padding: 22px; border-radius: 20px; background: #0A0A0B; border: 1px solid rgba(245, 243, 236, .14); }
.bx-adv-dirs h3 { margin: 0; font: 500 clamp(19px, 1.6vw, 22px)/1.25 'Rubik', sans-serif; color: #F5F3EC; }
.bx-adv-dirs p { font: 400 16px/1.55 'Assistant', sans-serif; color: #D2D0C8; }
.bx-adv-check { margin-top: auto; padding-top: 12px; border-top: 1px dashed rgba(245, 243, 236, .2); }
.bx-adv-tag { align-self: flex-start; padding: 6px 12px; border-radius: 999px; font: 500 13px/1 'Rubik', sans-serif; border: 1px solid rgba(245, 243, 236, .3); color: #F5F3EC; }
.bx-adv-tag.is-ai { background: #FFD000; border-color: #FFD000; color: #0A0A0B; }
.bx-adv-tag.is-auto { border-color: #FFD000; color: #FFD000; }
.bx-adv-tag.is-int { background: #F5F3EC; border-color: #F5F3EC; color: #0A0A0B; }
.bx-adv-q { padding: 16px 18px; border-radius: 16px; border: 1px dashed rgba(255, 208, 0, .5); font: 400 16px/1.55 'Assistant', sans-serif; color: #F5F3EC; }
.bx-adv-q strong { font-weight: 600; color: #FFD000; }
.bx-adv-foot { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 24px; font: 400 14px/1.5 'Assistant', sans-serif; color: #B5B3AA; }
.bx-adv-acts { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; }
.bx-adv-again { min-height: 48px; padding: 0 6px; border: 0; background: transparent; color: #F5F3EC; font: 500 15px/1 'Rubik', sans-serif; text-decoration: underline; text-underline-offset: 6px; cursor: pointer; }

/* ---------- Reduced motion: section decorations stop ---------- */
@media (prefers-reduced-motion: reduce) {
  .bx-sec *,
  .bx-sec *::before,
  .bx-sec *::after,
  .bx-ticker * {
    transition-duration: 0ms !important;
    transition-delay: 0ms !important;
    animation: none !important;
  }
}

/* =====================================================================
   INNER PAGES — shared (page hero, bands, rings, glows)
   ===================================================================== */
.bx-phero.e-con { justify-content: flex-end; }
.bx-phero.e-con::before { background: linear-gradient(270deg, rgba(10, 10, 11, .97) 0%, rgba(10, 10, 11, .86) 40%, rgba(10, 10, 11, .35) 75%, rgba(10, 10, 11, .2) 100%), linear-gradient(0deg, #0A0A0B 0%, rgba(10, 10, 11, 0) 35%); }
.bx-phero.bx-spot.e-con::after { background: radial-gradient(520px circle at var(--mx, -999px) var(--my, -999px), rgba(255, 208, 0, .12), transparent 60%); }
.bx-phero .bx-bg.e-con { inset: -10% 0; }
.bx-phero-inner.e-con { width: 100%; }
.bx-phero-col.e-con { max-width: 100%; }
.bx-ptitle .elementor-heading-title { text-wrap: balance; }
.bx-hl.bx-hl-s { padding: 0 .14em; border-radius: .12em; rotate: -1.5deg; }
.bx-center-y.e-con { justify-content: center; }
.bx-center .elementor-heading-title,
.bx-center.elementor-widget-text-editor { text-align: center; }
.bx-pos-4040 img { object-position: 40% 40% !important; }
.bx-pos-5030 img { object-position: 50% 30% !important; }
.bx-pos-3030 img { object-position: 30% 30% !important; }
.bx-pos-5040 img { object-position: 50% 40% !important; }
.bx-pos-5055 img { object-position: 50% 55% !important; }
.bx-pos-3040 img { object-position: 30% 40% !important; }
.bx-pos-10040 img { object-position: 100% 40% !important; }
.bx-bg.bx-bg-60.e-con { width: 60%; }
.bx-bg.bx-bg-55.e-con { width: 55%; }
.bx-bg.bx-bg-50.e-con { width: 50%; }
.bx-light .bx-bg.bx-bg-half.e-con { mix-blend-mode: multiply; }
/* light sections with a half photo: paper fades over it */
.bx-light.e-con:not(.bx-sec-how-it-works):not(.bx-sec-contact)::before {
  background:
    linear-gradient(90deg, rgba(243, 241, 234, 0) 0%, rgba(243, 241, 234, .72) 42%, #F3F1EA 62%),
    linear-gradient(180deg, #F3F1EA 0%, rgba(243, 241, 234, 0) 22%, rgba(243, 241, 234, 0) 78%, #F3F1EA 100%);
}
.bx-sec-about-cta.e-con::before { background: linear-gradient(90deg, rgba(243, 241, 234, 0) 0%, rgba(243, 241, 234, .7) 45%, #F3F1EA 65%); }
.bx-small.elementor-widget p { margin: 0; }

/* image bands with a looping outlined line (track cloned by brains-site.js, aria-hidden) */
.bx-band.e-con { position: relative; isolation: isolate; padding: 0; }
.bx-band .bx-bg.bx-bg-band.e-con { inset: -25% 0; }
.bx-band.bx-band-shade.e-con::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  pointer-events: none;
  background: linear-gradient(0deg, rgba(10, 10, 11, .9) 0%, rgba(10, 10, 11, .2) 60%, rgba(10, 10, 11, .5) 100%);
}
.bx-band-track.e-con {
  position: absolute;
  bottom: 24px;
  right: 0;
  z-index: 2;
  width: max-content;
  max-width: none;
  flex-direction: row;
  flex-wrap: nowrap;
  padding: 0;
}
.bx-band-text.elementor-widget { flex: none; width: auto; max-width: none; padding-inline-start: 40px; }
.bx-band-text .elementor-heading-title { white-space: nowrap; color: transparent !important; -webkit-text-stroke: 1.5px #F5F3EC; }

/* decorative ring / glow */
.bx-ring2.e-con {
  position: absolute;
  z-index: 1;
  width: clamp(260px, 30vw, 460px);
  aspect-ratio: 1;
  height: auto;
  padding: 0;
  border-radius: 50%;
  border: 1px solid rgba(245, 243, 236, .1);
  pointer-events: none;
}
.bx-ring2.e-con::before {
  content: "";
  position: absolute;
  inset: 10%;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 50%;
  border: 1.5px dashed rgba(255, 208, 0, .35);
  background: radial-gradient(circle at 50% 0, #FFD000 0 6px, transparent 6.5px);
  animation: bxSpin 22s linear infinite;
}
.bx-ring2.e-con::after {
  content: "";
  position: absolute;
  inset: 28%;
  border-radius: 50%;
  border: 1px solid rgba(245, 243, 236, .08);
  background: radial-gradient(circle, rgba(255, 208, 0, .08), transparent 70%);
}
.bx-ring2-br.e-con { right: -6%; bottom: -8%; }
.bx-ring2-tl.e-con { left: -5%; top: 6%; }
.bx-glow.e-con {
  position: absolute;
  left: 18%;
  top: 30%;
  z-index: 1;
  width: clamp(320px, 40vw, 620px);
  aspect-ratio: 1;
  height: auto;
  margin: -20% 0 0 -20%;
  padding: 0;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 208, 0, .12), rgba(255, 208, 0, 0) 65%);
  pointer-events: none;
}
.bx-glow.bx-glow-br.e-con { left: 80%; top: 70%; }

/* =====================================================================
   SERVICE › #steps (vertical progress)
   ===================================================================== */
.bx-sec-steps.e-con::before {
  background:
    linear-gradient(90deg, rgba(10, 10, 11, .2) 0%, rgba(10, 10, 11, .85) 45%, #0A0A0B 65%),
    linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, 0) 15%, rgba(10, 10, 11, 0) 85%, #0A0A0B 100%);
}
.bx-sec-steps.e-con::after,
.bx-sec-fit.e-con::after {
  background-image: radial-gradient(rgba(245, 243, 236, .08) 1px, transparent 1.2px);
  background-size: 28px 28px;
  -webkit-mask-image: radial-gradient(ellipse at 30% 40%, #000, transparent 70%);
  mask-image: radial-gradient(ellipse at 30% 40%, #000, transparent 70%);
}
.bx-steps-grid.e-con { flex-direction: column; }
@media (min-width: 1025px) {
  .bx-steps-grid.e-con { flex-direction: row; }
  .bx-steps-head.e-con { flex: .9 1 0; min-width: 0; position: sticky; top: 110px; }
  .bx-vsteps.e-con { flex: 1.1 1 0; min-width: 0; }
  .bx-sec-steps.e-con { overflow: clip; }
}
.bx-vcard.e-con {
  position: relative;
  margin-top: 12px;
  aspect-ratio: 4 / 5;
  height: auto;
  max-width: 420px;
  border-radius: 28px;
  overflow: hidden;
  background-color: #0B4F8A;
}
.bx-vsteps.e-con { position: relative; padding-right: clamp(64px, 7vw, 96px); }
.bx-vsteps.e-con::before,
.bx-vsteps.e-con::after {
  content: "";
  position: absolute;
  right: clamp(26px, 3vw, 40px);
  left: auto;
  top: 0;
  bottom: 0;
  width: 2px;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  background: rgba(245, 243, 236, .1);
}
.bx-vsteps.e-con::after { background: #FFD000; transform-origin: top; scale: 1 var(--bx-p, 1); }
.bx-vstep.e-con { position: relative; }
.bx-vnum.elementor-widget {
  position: absolute;
  right: calc(-1 * clamp(64px, 7vw, 96px) + clamp(26px, 3vw, 40px) - 25px);
  top: -6px;
  width: 52px;
  margin: 0;
  z-index: 1;
}
.bx-vnum .elementor-heading-title {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFD000;
  color: #0A0A0B !important;
  border: 1.5px solid #FFD000;
  transition: background-color 400ms, color 400ms, border-color 400ms;
}
@media (prefers-reduced-motion: no-preference) {
  .bx-motion .bx-vstep:not(.is-on) .bx-vnum .elementor-heading-title { background: #0A0A0B; color: #F5F3EC !important; border-color: rgba(245, 243, 236, .3); }
}
.bx-vstep-out.e-con { margin-top: 6px; }
.bx-vstep-out .bx-chip-y.elementor-widget { flex: none; width: auto; }

/* SERVICE › #paths cards */
.bx-pcard.e-con { min-height: 250px; color: #0A0A0B; border: 1px solid rgba(10, 10, 11, .08); transition: background-color 350ms, color 350ms, translate 450ms var(--bx-ease); }
.bx-pcard.e-con:hover { color: #F5F3EC; translate: 0 -8px; }
.bx-pcard.bx-pcard-inv.e-con { color: #F5F3EC; border-color: #0A0A0B; }
.bx-pcard.bx-pcard-inv.e-con:hover { color: #0A0A0B; }
.bx-pcard .elementor-heading-title,
.bx-pcard .elementor-widget-text-editor { color: inherit !important; }
.bx-pc-t.elementor-widget { margin-top: auto; }
.bx-pc-b.elementor-widget { opacity: .82; }
.bx-pc-ic.elementor-widget {
  width: 56px;
  height: 56px;
  flex: none;
  border-radius: 18px;
  background: #FFD000;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bx-pcard-inv .bx-pc-ic.elementor-widget { box-shadow: 0 0 0 1.5px #0A0A0B; }
.bx-pc-ic .elementor-icon { display: flex; }

/* SERVICE › #responsibility */
.bx-sec-responsibility.e-con::before { background: linear-gradient(270deg, #0A0A0B 0%, rgba(10, 10, 11, .92) 40%, rgba(10, 10, 11, .6) 100%), linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, 0) 20%, rgba(10, 10, 11, 0) 80%, #0A0A0B 100%); }
.bx-sec-responsibility.e-con::after { inset: 0 45% auto 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 208, 0, .5), transparent); animation: bxScan 5.5s linear infinite; }
@keyframes bxScan { from { top: -4%; } to { top: 104%; } }
.bx-resp-grid.e-con { flex-wrap: wrap; }
.bx-resp-grid.e-con > .e-con { flex: 1 1 420px; min-width: 0; }
.bx-duo.e-con { position: relative; aspect-ratio: 4 / 3; height: auto; border-radius: 28px; overflow: hidden; background: #141416; padding: 0; }
.bx-duo.e-con::after {
  content: "";
  position: absolute;
  inset: 0;
  width: auto;
  height: auto;
  opacity: 1;
  mix-blend-mode: normal;
  border-radius: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(10, 10, 11, .05), rgba(10, 10, 11, .45));
  transition: opacity 650ms ease;
}
.bx-duo.e-con:hover::after { opacity: 0; }
.bx-duo-img.elementor-widget-image { position: absolute; inset: 0; width: auto; max-width: none; margin: 0; }
.bx-duo-img.elementor-widget-image img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 60% 25%; transition: filter 650ms ease, scale 1100ms var(--bx-ease); }
.bx-duo.e-con:hover .bx-duo-img img { filter: none !important; scale: 1.07; }
.bx-rlist .elementor-icon-list-items { border-top: 1px solid rgba(245, 243, 236, .12); }
.bx-rlist .elementor-icon-list-item {
  gap: 16px;
  padding: 16px 0 !important;
  margin: 0 !important;
  border-bottom: 1px solid rgba(245, 243, 236, .12);
  transition: color 250ms, padding 300ms var(--bx-ease);
}
.bx-rlist .elementor-icon-list-item::after { display: none !important; }
.bx-rlist .elementor-icon-list-icon {
  flex: none;
  width: 40px;
  height: 40px;
  border-radius: 12px;
  background: rgba(255, 208, 0, .12);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 !important;
}
.bx-rlist .elementor-icon-list-text { padding: 0 !important; transition: color 250ms; }
.bx-rlist .elementor-icon-list-item:hover { padding-right: 10px !important; }
.bx-rlist .elementor-icon-list-item:hover .elementor-icon-list-text { color: #FFD000 !important; }

/* SERVICE › #measure */
.bx-mcard.e-con { transition: translate 450ms var(--bx-ease), rotate 450ms; }
.bx-mcard.e-con:hover { translate: 0 -8px; rotate: -1deg; }
.bx-mcard.e-con:nth-child(2):hover { rotate: 1deg; }
.bx-mc-ic.elementor-widget { width: auto; flex: none; }
.bx-mc-l.elementor-widget { width: auto; }

/* SERVICE › CTA */
.bx-sec-cta.e-con::before { background: radial-gradient(ellipse at center, rgba(10, 10, 11, .75), rgba(10, 10, 11, .95) 70%); }
.bx-bg.bx-bg-cta.e-con { inset: -20% 0; }
.bx-sec-cta .bx-bg-video .elementor-background-video-container { opacity: .7; filter: none; }
.bx-cta-big .elementor-button { min-height: 62px; }
.bx-cta-big.bx-btn:not(.bx-btn-dark) .elementor-button:hover { box-shadow: 0 14px 60px rgba(255, 208, 0, .4) !important; }
.bx-btn-dark.bx-cta-big { --bx-fill: #F5F3EC; }

/* =====================================================================
   ABOUT
   ===================================================================== */
.bx-phero-about.e-con::before { background: linear-gradient(270deg, rgba(10, 10, 11, .97) 0%, rgba(10, 10, 11, .82) 45%, rgba(10, 10, 11, .35) 100%); }
.bx-phero-about .bx-about-grid.e-con { flex-wrap: wrap; }
.bx-phero-about .bx-about-grid.e-con > .bx-phero-col { flex: 1 1 380px; }
.bx-about-media-l.e-con { max-width: 470px; }
.bx-about-media-l.e-con::before { transform: translate(-26px, 26px); border-radius: 34px; }
.bx-about-media-l .bx-about-card.e-con { border-radius: 34px; }
.bx-dock-br.e-con { top: auto; left: auto; bottom: -40px; right: -34px; width: 128px; height: 128px; }
@media (max-width: 767px) { .bx-dock-br.e-con { right: -10px; bottom: -30px; width: 100px; height: 100px; } }
.bx-draftbox.elementor-widget { padding: 16px 18px; border-radius: 14px; border: 1px dashed rgba(245, 243, 236, .35); }
.bx-plist.e-con { border-top: 1.5px solid #0A0A0B; }
.bx-prow.e-con { color: #0A0A0B; border-bottom: 1px solid rgba(10, 10, 11, .18); transition: background-color 350ms, color 350ms, padding 400ms var(--bx-ease); }
.bx-prow.e-con:hover { color: #F5F3EC; padding-right: clamp(16px, 2.4vw, 36px); }
.bx-prow .elementor-heading-title { color: inherit !important; }
.bx-prow-n.elementor-widget { flex: none; width: clamp(56px, 7vw, 110px); opacity: .35; }
.bx-prow-t.elementor-widget { flex: 1 1 auto; min-width: 0; }
.bx-prow-ic.elementor-widget { flex: none; width: 40px; }
.bx-fcard.e-con {
  min-height: 250px;
  background: radial-gradient(380px circle at var(--mx, -999px) var(--my, -999px), rgba(255, 208, 0, .14), transparent 50%), #121214;
  border: 1px solid rgba(245, 243, 236, .1);
  transition: border-color 300ms, translate 450ms var(--bx-ease);
}
.bx-fcard.e-con:hover { border-color: rgba(255, 208, 0, .55); }
.bx-fc-t.elementor-widget { margin-top: auto; }
.bx-sec-fit.e-con::before { background: linear-gradient(270deg, #0A0A0B 0%, rgba(10, 10, 11, .85) 45%, rgba(10, 10, 11, .5) 100%), linear-gradient(180deg, #0A0A0B 0%, rgba(10, 10, 11, 0) 25%, rgba(10, 10, 11, 0) 75%, #0A0A0B 100%); }
.bx-acta-text.e-con { max-width: 720px; }

/* =====================================================================
   LEGAL (Nested Tabs: #privacy / #accessibility)
   ===================================================================== */
.bx-sec-legal.e-con::after {
  background-image: linear-gradient(rgba(245, 243, 236, .05) 1px, transparent 1px), linear-gradient(90deg, rgba(245, 243, 236, .05) 1px, transparent 1px);
  background-size: 56px 56px;
  -webkit-mask-image: radial-gradient(ellipse at 70% 30%, #000 10%, transparent 70%);
  mask-image: radial-gradient(ellipse at 70% 30%, #000 10%, transparent 70%);
}
.bx-draftchip.elementor-widget { align-self: flex-start; width: auto; }
.bx-draftchip .elementor-icon-list-item { padding: 10px 16px !important; border-radius: 999px; background: #FFD000; gap: 10px; }
.bx-ltabs.elementor-widget { margin-top: 20px; }
.bx-ltabs .e-n-tab-title { scroll-margin-top: 120px; }
.bx-ltabs .e-n-tabs { gap: 0 !important; }
.bx-ltabs .e-n-tabs-heading { gap: 6px !important; justify-content: flex-start !important; border-bottom: 1px solid rgba(245, 243, 236, .14); flex-wrap: wrap; }
.bx-ltabs.elementor-widget .e-n-tab-title {
  flex: none !important;
  width: auto !important;
  min-height: 56px;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #B5B3AA !important;
  box-shadow: inset 0 -3px 0 transparent;
  transition: color 200ms, box-shadow 300ms;
}
.bx-ltabs.elementor-widget .e-n-tab-title[aria-selected="true"] { color: #FFD000 !important; box-shadow: inset 0 -3px 0 #FFD000; }
.bx-ltabs .e-n-tab-title-text { font: 500 17px/1 'Rubik', sans-serif !important; color: inherit !important; }
/* the panels sit on paper, full width */
.bx-ltabs .e-n-tabs-content {
  background: #F3F1EA;
  box-shadow: 0 0 0 100vmax #F3F1EA;
  clip-path: inset(0 -100vmax);
  padding: clamp(56px, 7vw, 100px) 0 clamp(80px, 10vw, 140px) !important;
  border: 0 !important;
}
.bx-ltabs .e-n-tabs-content > .e-con { padding: 0; border: 0; background: transparent; }
.bx-lg-block.e-con { padding-top: 26px; border-top: 1px solid rgba(10, 10, 11, .15); }
html:not(.bx-js) .bx-ltabs .e-n-tabs-content > .e-con { display: flex !important; }
html:not(.bx-js) .bx-ltabs .e-n-tabs-content > .e-con + .e-con { margin-top: 64px; }
html:not(.bx-js) .bx-ltabs .e-n-tabs-heading { display: none; }

/* =====================================================================
   404
   ===================================================================== */
.bx-phero-404.e-con::before { background: linear-gradient(270deg, rgba(10, 10, 11, .97) 0%, rgba(10, 10, 11, .88) 45%, rgba(10, 10, 11, .3) 80%); }
.bx-404num.elementor-widget { width: auto; }
.bx-404num .elementor-heading-title { direction: ltr; text-align: right; color: transparent !important; -webkit-text-stroke: 2px #FFD000; animation: bxGlitch 5s steps(1) infinite; }
@keyframes bxGlitch { 0%, 92%, 100% { transform: none; opacity: 1; } 93% { transform: translate(-4px, 2px); opacity: .8; } 95% { transform: translate(5px, -2px); } 97% { transform: translate(-2px, 0); opacity: .9; } }
body .bx-404-main.site-main { display: block; max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }

/* =====================================================================
   MOBILE / TABLET corrections (Elementor wraps every row container under 768px)
   ===================================================================== */
.bx-eng-opt.e-con, .bx-fit-item.e-con, .bx-ex-step.e-con, .bx-ex-flowhead.e-con, .bx-cc-top.e-con, .bx-mc-top.e-con,
.bx-prow.e-con, .bx-vstep-out.e-con, .bx-q-cap.e-con, .bx-hands.e-con, .bx-band-track.e-con { flex-wrap: nowrap; }
.bx-eng-opt.e-con > .e-con, .bx-ex-step.e-con > .e-con, .bx-q-cap.e-con > .e-con { width: auto; }
.bx-nw { white-space: nowrap; }
.bx-ex-item .elementor-icon-box-wrapper { display: flex !important; flex-direction: row !important; align-items: flex-start; gap: 14px; text-align: start !important; }
.bx-ex-item .elementor-icon-box-icon { margin: 0 !important; flex: none; }
.bx-ex-item .elementor-icon-box-content { flex: 1 1 auto; min-width: 0; }
.bx-cside.e-con.e-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
@media (max-width: 767px) {
  .bx-about-media.e-con { margin-bottom: 26px; }
  .bx-ccard.e-con { min-height: 160px; padding: 18px !important; }
}
.bx-ff .fluentform .ff_submit_btn_wrapper .ff-btn-submit.ff-btn-submit { background-color: #0A0A0B !important; color: #F5F3EC !important; }
.bx-ff .fluentform .ff_submit_btn_wrapper .ff-btn-submit.ff-btn-submit:hover,
.bx-ff .fluentform .ff_submit_btn_wrapper .ff-btn-submit.ff-btn-submit:focus-visible { color: #0A0A0B !important; }
.bx-adv-ff .fluentform .ff_submit_btn_wrapper .ff-btn-submit.ff-btn-submit { background-color: #FFD000 !important; color: #0A0A0B !important; }

@media (prefers-reduced-motion: reduce) {
  .bx-band *, .bx-phero *, .bx-phero *::before, .bx-phero *::after { animation: none !important; transition-duration: 0ms !important; }
}
