:focus-visible { outline: 2px solid #98caff; outline-offset: 5px; }
.email-note,.email-status { grid-column: 1 / -1; font-size: 13px; line-height: 1.6; color: #a6a9c3; margin: 12px 0 0; }
.w-webflow-badge { display: none !important; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }

/* Consistent, edge-filling mobile computer-vision tiles. */
@media (max-width: 767px) {
  .inner-container---computer-vision-gifs {
    scroll-margin-top: 90px;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  .inner-container---computer-vision-gifs .grid-3 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    grid-template-areas: none !important;
    height: auto !important;
    grid-auto-flow: row !important;
    gap: 12px !important;
    width: 100% !important;
    align-items: stretch !important;
  }
  .inner-container---computer-vision-gifs .grid-3 > img {
    grid-area: auto !important;
    position: static !important;
    inset: auto !important;
    justify-self: stretch !important;
    align-self: stretch !important;
    display: block;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    aspect-ratio: 4 / 5;
    object-fit: cover;
    margin: 0 !important;
    padding: 0 !important;
    border-radius: 12px;
    transform: none !important;
  }
}
.nb-loader { display: none; }
@media (max-width: 767px) {
  .nb-loading .nb-loader {
    display: flex;
    position: fixed;
    inset: 0;
    z-index: 2147483647;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 30px;
    background: #080719;
    color: #f6f7ff;
    font-family: Arial, sans-serif;
    pointer-events: none;
    transition: opacity 300ms ease, visibility 300ms ease;
  }
  .nb-loader.nb-loader-out { opacity: 0; visibility: hidden; }
  .nb-loader-orbit {
    position: relative;
    width: 94px;
    height: 94px;
    border: 14px solid #1a2450;
    border-top-color: #98caff;
    border-right-color: #6572e9;
    border-bottom-color: #334ba0;
    border-radius: 50%;
    box-shadow: 0 0 45px #607bea40, inset 0 0 25px #607bea30;
    animation: nb-orbit 1.2s cubic-bezier(.6,.15,.3,.85) infinite;
  }
  .nb-loader-orbit::after {
    content: '';
    position: absolute;
    inset: -25px;
    border: 1px solid #98caff30;
    border-radius: 50%;
    animation: nb-pulse 1.6s ease-in-out infinite;
  }
  .nb-loader-wordmark { font-size: 25px; font-weight: 700; letter-spacing: -.7px; }
  .nb-loader-track { width: 112px; height: 2px; background: #23243d; overflow: hidden; border-radius: 4px; }
  .nb-loader-track::after { content: ''; display: block; width: 45%; height: 100%; background: #98caff; animation: nb-scan 1s ease-in-out infinite alternate; }
}
@keyframes nb-orbit { to { transform: rotate(360deg); } }
@keyframes nb-pulse { 50% { transform: scale(1.12); opacity: .35; } }
@keyframes nb-scan { from { transform: translateX(-100%); } to { transform: translateX(230%); } }
@media (prefers-reduced-motion: reduce) {
  .nb-loader-orbit, .nb-loader-orbit::after, .nb-loader-track::after { animation: none !important; }
  .nb-loading .nb-loader { transition: none; }
}
