/* ==========================================================================
   mobile.css - minimal safe mobile layer
   ==========================================================================

   THE SITUATION (measured, not assumed)

   These pages are one fixed 980px Wix canvas. Every component is pinned with
   absolute/grid offsets such as
       margin-left: calc((100% - 980px) * 0.5);  left: 155px;
   There is no second mobile DOM.

   Rendering the pages at a true 390px phone viewport (Chrome DevTools
   Protocol) shows:

     * With NO viewport meta tag, the phone uses a ~980px layout viewport and
       scales the whole design down. The page is complete and nothing overlaps,
       but the text is tiny and needs pinch-zoom.
     * With width=device-width, the phone honours a real 390px viewport. Every
       attempt to reflow the fixed grid (including two earlier versions of this
       file) produced overlapping, broken-looking sections.

   A fixed-position 980px design cannot be reflowed safely by a stylesheet
   alone. This file therefore does NOT try. It does the only two things that
   are safe and useful:

     1. never let the page produce a horizontal scrollbar, and
     2. skip the 4.2 MB background video on small screens.

   Desktop is unaffected: every rule is inside a max-width query.
   ========================================================================== */

@media screen and (max-width: 1023px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  body {
    overflow-x: hidden;
  }

  /* Stop oversized media from widening the page. This is the only layout
     property touched, and max-width cannot cause overlap. */
  img,
  video,
  iframe,
  svg {
    max-width: 100%;
  }

  /* 4.2 MB hero video: show the poster image instead on small screens. */
  [id^="videoContainer_"] video,
  [id^="bgVideoposter_"] video {
    display: none !important;
  }
}

@media screen and (max-width: 480px) {
  html {
    -webkit-text-size-adjust: 100%;
  }

  /* Slightly larger hit areas without moving anything. */
  a,
  button,
  [role="button"] {
    min-height: 32px;
  }
}

/* ==========================================================================
   Desktop header stripe fix  (v5)
   ==========================================================================
   Measured at 1440px:
       stripe comp-jkn5bu41   x=-238..1665  w=1903   (240px past the edge)
       #comp-jkn6q7yr         left:1739px            (hardcoded offset)
       "HOW ARE WE DOING?"    x=1501..1665           (cut off)

   The bar is authored 1903px wide and every child carries a pixel offset for
   that width, so it cannot be reflowed. Shifting it either clips the left item
   or pushes the right one off screen: 1903px of content cannot fit a 1425px
   viewport by translation alone.

   Scaling the bar keeps the designed spacing between the menu and the
   right-hand items, and the scale is derived from the viewport width so it
   adapts to any window size. The bar is centred after scaling.
   ========================================================================== */
#comp-jkn5bu41 {
  --hdr-scale: min(1, calc((100vw - 16px) / 1903));
  width: 1903px !important;
  max-width: none !important;
  left: 0 !important;
  margin-left: calc(100% - 1903px) !important;
  transform: scale(var(--hdr-scale));
  transform-origin: left center;
}

/* the menu keeps a small inset from the left edge */
#i0y0742q {
  margin-left: 32px;
}

/* ==========================================================================
   "Own AI" splash  (v5)
   ========================================================================== */
.ownai-splash {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 22px auto 0;
  padding: 12px 24px;
  border-radius: 999px;
  background: #00933C;
  color: #fff !important;
  font-weight: 700;
  font-size: 16px;
  letter-spacing: 0.06em;
  text-decoration: none !important;
  box-shadow: 0 6px 22px rgba(0, 147, 60, 0.35);
  text-align: left;
}

.ownai-splash:hover { background: #007a31; }

.ownai-splash .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #FCCC0A;
  flex: 0 0 auto;
}

.ownai-splash .txt { display: block; }

.ownai-splash .sub {
  display: block;
  font-weight: 400;
  font-size: 12px;
  opacity: 0.92;
  letter-spacing: 0.02em;
}

/* stacked variant used on the mobile pages */
.ownai-splash.mobile {
  display: flex;
  align-items: center;
  margin: 18px 0 0;
  padding: 12px 16px;
  border-radius: 12px;
  width: 100%;
  box-sizing: border-box;
}

/* ==========================================================================
   v6 additions
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. Breathing room between the top menu and the contact details
   --------------------------------------------------------------------------
   The menu sits at a fixed grid offset on the captured canvas, so margins on
   the menu do not move it relative to its siblings (tried, no effect). The
   contact items are relatively positioned, so offsetting them does create the
   space.
   -------------------------------------------------------------------------- */

/* --------------------------------------------------------------------------
   2. "own AI" badge - one large circle, brain + words together
   --------------------------------------------------------------------------
   Measured on the desktop homepage:
       black header stripe   y=0..57
       hero                  y=57..711
       MANHATTAN h1          x=378..1061   y=162..254
   Anchored to the hero so it clears the stripe, and placed just right of the
   heading and slightly above its vertical centre.
   -------------------------------------------------------------------------- */
#comp-jc2ei5zt { position: relative; }

.ownai-badge {
  position: absolute;
  top: 58px;
  right: 96px;
  z-index: 30;
  display: inline-flex;
  text-decoration: none !important;
  color: #fff !important;
}

.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: rgba(10, 14, 18, 0.58);
  border: 1.5px solid rgba(255, 255, 255, 0.5);
  box-shadow: 0 6px 22px rgba(0, 0, 0, 0.45);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.74);
  transform: translateY(-2px);
}

.ownai-brain { width: 34px; height: 34px; display: block; }

.ownai-badge-label {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
}

/* mobile: inline in the header bar, as a pill */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 7px;
  width: auto;
  height: 44px;
  padding: 0 14px;
  border-radius: 999px;
}
.site-header .ownai-brain { width: 22px; height: 22px; }
.site-header .ownai-badge-label { font-size: 11px; }




















[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 461px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 300px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 200px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 120px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 120px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 120px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 461px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 380px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 300px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 240px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 180px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 300px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 240px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 461px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 400px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 360px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 340px !important;
}


[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 320px !important;
}

/* ==========================================================================
   Top menu: position  (v6)
   ==========================================================================
   The captured 1903px stripe cannot hold both the menu (744px of text) and the
   contact block (canvas x~969 to 1903) - together they need ~1939px, so an
   overlap at the authored offset was unavoidable.

   Measured trade-off:
       left   first label   gap to support@
       461        20px          -127px   (authored: overlaps)
       360       -81px           -26px
       340      -101px            -6px   <- chosen
       320      -121px           +14px

   340 closes the overlap (was -127px) while keeping part of the first label on
   screen. Going further left opens a gap but pushes the labels off screen.
   ========================================================================== */
#i0y0742q {
  width: 760px !important;
  max-width: none !important;
}

[data-grid-id=comp-jkn5bu41inlineContent-gridContainer] > [id="i0y0742q"] {
  left: 340px !important;
}


.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  /* more transparent than before, with a lighter ring */
  background: rgba(10, 14, 18, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.45);
  transform: translateY(-2px);
}

/* the brain fills most of the circle */
.ownai-brain {
  width: 62px;
  height: 62px;
  display: block;
}

.ownai-badge-label {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain { width: 26px; height: 26px; }
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-brain {
  width: 112px;
  height: 112px;
  transform: scale(1.42);
  transform-origin: center;
  margin-bottom: -6px;
}

.ownai-badge-label {
  position: relative;
  z-index: 1;
  font-size: 11px;
  letter-spacing: 0.1em;
  padding: 2px 0;
}

/* mobile pill keeps the mark in proportion */
.site-header .ownai-badge-ring {
  width: auto;
  height: 46px;
  padding: 0 14px;
  gap: 6px;
}
.site-header .ownai-brain {
  width: 30px;
  height: 30px;
  transform: none;
  margin-bottom: 0;
}

@media (max-width: 1180px) {
  .ownai-badge-ring { width: 94px; height: 94px; }
  .ownai-brain { width: 94px; height: 94px; transform: scale(1.42); }
}


.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: rgba(10, 14, 18, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.45);
  transform: translateY(-2px);
}

/* the brain fills most of the circle without touching the label */
.ownai-brain {
  width: 104px;
  height: 104px;
  transform: scale(0.99);
  transform-origin: center;
  flex: 0 0 auto;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain {
  width: 30px;
  height: 30px;
  transform: none;
}
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 104px;
  height: 104px;
  border-radius: 50%;
  background: rgba(10, 14, 18, 0.28);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.45);
  transform: translateY(-2px);
}

.ownai-brain {
  width: 66px;
  height: 66px;
  transform: none;
  flex: 0 0 auto;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  border-radius: 999px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain { width: 30px; height: 30px; }
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 82px;
  height: 82px;
  border-radius: 6px;
  background: rgba(10, 14, 18, 0.30);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.30);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.48);
  transform: translateY(-2px);
}

/* the mark fills most of the tile */
.ownai-brain {
  width: 78px;
  height: 78px;
  transform: none;
  flex: 0 0 auto;
  margin-bottom: -22px;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  border-radius: 8px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain {
  width: 30px;
  height: 30px;
  margin-bottom: 0;
}
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 84px;
  height: 84px;
  border-radius: 6px;
  background: rgba(10, 14, 18, 0.30);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.30);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.48);
  transform: translateY(-2px);
}

.ownai-brain {
  width: 56px;
  height: 56px;
  transform: none;
  flex: 0 0 auto;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  border-radius: 8px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain { width: 30px; height: 30px; }
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  width: 84px;
  height: 84px;
  border-radius: 6px;
  background: rgba(10, 14, 18, 0.30);
  border: 1px solid rgba(255, 255, 255, 0.42);
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.30);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease, transform 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.48);
  transform: translateY(-2px);
}

.ownai-brain {
  width: 40px;
  height: 40px;
  transform: none;
  flex: 0 0 auto;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  border-radius: 8px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain { width: 30px; height: 30px; }
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  width: 86px;
  height: 86px;
  border-radius: 0;
  border: 0;
  background: rgba(10, 14, 18, 0.30);
  box-shadow: none;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.48);
}

/* the mark sits above the tile centre, leaving the bottom for the label */
.ownai-brain {
  width: 40px;
  height: 40px;
  transform: none;
  flex: 0 0 auto;
  margin-bottom: -14px;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain { width: 30px; height: 30px; margin-bottom: 0; }
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  padding: 7px 0 9px;
  box-sizing: border-box;
  width: 86px;
  height: 86px;
  border-radius: 0;
  border: 0;
  background: rgba(10, 14, 18, 0.30);
  box-shadow: none;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.48);
}

.ownai-brain {
  width: 46px;
  height: 46px;
  transform: none;
  flex: 0 0 auto;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  justify-content: center;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain { width: 30px; height: 30px; }
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: space-between;
  gap: 0;
  padding: 12px 4px 9px;
  box-sizing: border-box;
  width: 86px;
  height: 86px;
  border-radius: 0;
  border: 0;
  background: rgba(10, 14, 18, 0.30);
  box-shadow: none;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  transition: background 0.2s ease;
}

.ownai-badge:hover .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.48);
}

.ownai-brain {
  width: 55px;
  height: 55px;
  transform: none;
  flex: 0 0 auto;
}

.ownai-badge-label {
  flex: 0 0 auto;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.75);
}

/* mobile: inline pill in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  justify-content: center;
  gap: 6px;
  width: auto;
  height: 46px;
  padding: 0 14px;
  background: rgba(10, 14, 18, 0.35);
}
.site-header .ownai-brain { width: 30px; height: 30px; }
.site-header .ownai-badge-label { font-size: 11px; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 3px 0 0;
  box-sizing: border-box;
  width: auto;
  height: auto;
  border-radius: 0;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.ownai-brain {
  width: 66px;
  height: 66px;
  transform: none;
  flex: 0 0 auto;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.85));
}

.ownai-badge-label {
  flex: 0 0 auto;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.6);
}

/* mobile: inline in the header bar, no background either */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: auto;
  padding: 0;
}
.site-header .ownai-brain { width: 30px; height: 30px; }
.site-header .ownai-badge-label { font-size: 11px; margin-top: 0; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  width: auto;
  height: auto;
  border-radius: 0;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.ownai-brain {
  width: 66px;
  height: 66px;
  transform: none;
  flex: 0 0 auto;
  margin-top: -2px;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.85));
}

.ownai-badge-label {
  flex: 0 0 auto;
  margin-top: 2px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.6);
}

/* mobile: inline in the header bar, no background */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: auto;
  padding: 0;
}
.site-header .ownai-brain { width: 30px; height: 30px; margin-top: 0; }
.site-header .ownai-badge-label { font-size: 11px; margin-top: 0; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 0;
  box-sizing: border-box;
  width: auto;
  height: auto;
  border-radius: 0;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

.ownai-brain {
  width: 66px;
  height: 66px;
  transform: none;
  flex: 0 0 auto;
  margin-top: 28px;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.85));
}

.ownai-badge-label {
  flex: 0 0 auto;
  margin-top: 14px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.6);
}

/* mobile: inline in the header bar, no background */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: auto;
  padding: 0;
}
.site-header .ownai-brain { width: 30px; height: 30px; margin-top: 0; }
.site-header .ownai-badge-label { font-size: 11px; margin-top: 0; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 6px 8px 7px;
  box-sizing: border-box;
  width: auto;
  height: auto;
  border-radius: 3px;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background 0.18s ease;
}

/* the square that appears on hover wraps the icon and the words */
.ownai-badge:hover .ownai-badge-ring,
.ownai-badge:focus-visible .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.42);
}

.ownai-brain {
  width: 76px;
  height: 50px;
  transform: none;
  flex: 0 0 auto;
  margin-top: 0;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.85));
}

.ownai-badge-label {
  flex: 0 0 auto;
  margin-top: 6px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.6);
}

/* mobile: inline in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: auto;
  padding: 2px 4px;
}
.site-header .ownai-brain { width: 32px; height: 22px; margin-top: 0; }
.site-header .ownai-badge-label { font-size: 11px; margin-top: 0; }



.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 6px 8px 7px;
  box-sizing: border-box;
  width: auto;
  height: auto;
  border-radius: 3px;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background 0.18s ease;
}

/* the square that appears on hover wraps the icon and the words */
.ownai-badge:hover .ownai-badge-ring,
.ownai-badge:focus-visible .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.42);
}

.ownai-brain {
  width: 76px;
  height: 82px;
  transform: none;
  flex: 0 0 auto;
  margin-top: 0;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.85));
}

.ownai-badge-label {
  flex: 0 0 auto;
  margin-top: 15px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.6);
}

/* mobile: inline in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: auto;
  padding: 2px 4px;
}
.site-header .ownai-brain { width: 32px; height: 34px; margin-top: 0; }
.site-header .ownai-badge-label { font-size: 11px; margin-top: 0; }


/* ==========================================================================
   Hero video fills the hero  (v7)
   ==========================================================================
   The captured video element is a fixed 1728px wide. At a 1425px viewport it
   overflowed by 303px; at 1905px it stopped 177px short of the right edge,
   leaving a gap. Stretching the media layers to the hero width removes both.
   ========================================================================== */
#comp-jc2ei5zt [id^="bgMedia_"],
#comp-jc2ei5zt [id^="bgLayers_"],
#comp-jc2ei5zt [id^="videoContainer_"],
#comp-jc2ei5zt video,
#comp-jc2ei5zt w-bg-media,
#comp-jc2ei5zt w-video {
  width: 100% !important;
  min-width: 100% !important;
  max-width: none !important;
  left: 0 !important;
  right: 0 !important;
}

#comp-jc2ei5zt video {
  object-fit: cover !important;
  height: 100% !important;
}

/* ==========================================================================
   "own AI" badge  (v7)
   ==========================================================================
   The white-line mark above the words "own AI", no square behind them - both
   float over the hero video.

   Anchored to the wordmark container (i0qiq28j) rather than the hero, so it
   keeps a constant relationship to MANHATTAN however wide the window is. A
   fixed offset from the hero drifted badly: 190px right of the heading centre
   at a 1440px window, 430px at 1920px.

   The mark's viewBox is tightened to the artwork (2.30 1.50 19.40 21.00), so the
   drawing fills its box and the hover square hugs the icon instead of running
   from the top of the picture down past the label.
   ========================================================================== */
#i0qiq28j { position: relative; }

.ownai-badge {
  position: absolute;
  top: -86px;
  right: 0;
  z-index: 30;
  display: inline-flex;
  text-decoration: none !important;
  color: #fff !important;
}

.ownai-badge-ring {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  padding: 6px 8px 7px;
  box-sizing: border-box;
  width: auto;
  height: auto;
  border-radius: 3px;
  border: 0;
  background: none;
  box-shadow: none;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transition: background 0.18s ease;
}

/* the square that appears on hover wraps the icon and the words */
.ownai-badge:hover .ownai-badge-ring,
.ownai-badge:focus-visible .ownai-badge-ring {
  background: rgba(10, 14, 18, 0.42);
}

.ownai-brain {
  width: 76px;
  height: 82px;
  transform: none;
  flex: 0 0 auto;
  margin-top: 0;
  filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.85));
}

.ownai-badge-label {
  flex: 0 0 auto;
  margin-top: 15px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #fff;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.9), 0 0 8px rgba(0, 0, 0, 0.6);
}

/* mobile: inline in the header bar */
.site-header .ownai-badge {
  position: static;
  margin-left: auto;
  margin-right: 8px;
}
.site-header .ownai-badge-ring {
  flex-direction: row;
  gap: 6px;
  width: auto;
  height: auto;
  padding: 2px 4px;
}
.site-header .ownai-brain { width: 32px; height: 34px; margin-top: 0; }
.site-header .ownai-badge-label { font-size: 11px; margin-top: 0; }

@media (max-width: 1180px) {
  .ownai-badge { top: -74px; right: 0; }
  .ownai-brain { width: 64px; height: 69px; }
  .ownai-badge-label { font-size: 10px; }
}
