/* Solutions phone and tablet layout. Keep Framer's content, reveal transforms,
   tab states and accordion variants below the fixed desktop canvas. */
@media (max-width: 1199px) {
  :is(.framer-1oy88, .framer-9go3z) .framer-117dgmr {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 112px 20px 32px !important;
  }

  :is(.framer-1oy88, .framer-9go3z) :is(.framer-djmkin, .framer-1p5e3r6, .framer-brkup0, .framer-1yhfsth) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    flex: none !important;
  }

  :is(.framer-1oy88, .framer-9go3z) .framer-djmkin { gap: 24px !important; }
  :is(.framer-1oy88, .framer-9go3z) .framer-brkup0 { gap: 14px !important; }
  :is(.framer-1oy88, .framer-9go3z) .framer-1yhfsth { text-align: left; }
  :is(.framer-1oy88, .framer-9go3z) .framer-1f504ud p {
    --framer-font-size: 12px !important;
    font-size: 12px !important;
    --framer-line-height: 1.5em !important;
    line-height: 1.5 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-1r1z831 h1 {
    --framer-font-size: clamp(36px, 10vw, 44px) !important;
    font-size: clamp(36px, 10vw, 44px) !important;
    --framer-line-height: 1em !important;
    line-height: 1 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-1yhfsth p {
    --framer-font-size: 16px !important;
    font-size: 16px !important;
    --framer-line-height: 1.55em !important;
    line-height: 1.55 !important;
    --framer-text-alignment: left !important;
    text-align: left !important;
  }

  /* The empty desktop spacer and empty sticky column have no phone content. */
  :is(.framer-1oy88, .framer-9go3z) .framer-9o2xtu { height: 20px !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-1gbc9n, .framer-1y065dz):empty { display: none !important; }
  :is(.framer-1oy88, .framer-9go3z) .framer-tmlgyz { padding-top: 36px !important; }
  :is(.framer-1oy88, .framer-9go3z) .framer-ksytck-container {
    width: calc(100% - 32px) !important;
    height: auto !important;
    min-height: 72px;
    top: 80px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-D8Ms7 { height: auto !important; }
  :is(.framer-1oy88, .framer-9go3z) .framer-D8Ms7 a {
    box-sizing: border-box !important;
    height: 60px !important;
    min-height: 44px;
    padding: 10px 8px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-D8Ms7 :is(p, h3) {
    --framer-font-size: 13px !important;
    font-size: 13px !important;
  }
  /* The native inactive variant compounds 30% wrapper opacity with 50%
     text alpha. Keep the state distinction without dimming phone labels. */
  :is(.framer-1oy88, .framer-9go3z) .framer-D8Ms7 .framer-sfgcnl { opacity: 1 !important; }
  :is(.framer-1oy88, .framer-9go3z) .framer-D8Ms7 .framer-1sd6sqh h3 {
    --framer-text-color: #9baac0 !important;
    color: #9baac0 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-D8Ms7 .framer-ap3cv2 h3 {
    --framer-text-color: #fff !important;
    color: #fff !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-D8Ms7 h4 {
    --framer-text-color: #76aef7 !important;
    color: #76aef7 !important;
  }

  :is(.framer-1oy88, .framer-9go3z) :is(#human-validation, #physical) {
    scroll-margin-top: 168px;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-1c0unfp, .framer-wwe9ta) { gap: 28px !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-alsh9b, .framer-1yr07j6) { gap: 24px !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#human-validation, #physical) [data-framer-name="Title Wrapper"] { gap: 20px !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#human-validation, #physical) h1 {
    --framer-font-size: clamp(30px, 8.5vw, 36px) !important;
    font-size: clamp(30px, 8.5vw, 36px) !important;
    --framer-line-height: 1.12em !important;
    line-height: 1.12 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-1kl0t6, .framer-iyjq8u) p {
    --framer-font-size: 16px !important;
    font-size: 16px !important;
    --framer-line-height: 1.6em !important;
    line-height: 1.6 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-uxmzi5, .framer-1cedub1) {
    width: 100% !important;
    flex-wrap: wrap !important;
    gap: 12px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-uxmzi5, .framer-1cedub1) a { min-height: 44px; }

  /* A narrow number rail leaves the study content its own flexible column. */
  :is(.framer-1oy88, .framer-9go3z) #timeline {
    box-sizing: border-box !important;
    padding: 4px 0 0 !important;
    gap: 32px !important;
    overflow: visible !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline > div {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px !important;
    align-items: start !important;
    overflow: visible !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline [data-framer-name="Progressbar wrapper"] {
    width: 24px !important;
    min-width: 0 !important;
    height: 100% !important;
    align-self: stretch;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline [data-framer-name="Progressbar wrapper"] p {
    --framer-font-size: 12px !important;
    font-size: 12px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline > div > div:last-child,
  :is(.framer-1oy88, .framer-9go3z) #timeline :is(.framer-1ittai5, .framer-1pp9i7q) {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline [data-framer-name="Image + Text"],
  :is(.framer-1oy88, .framer-9go3z) #timeline [data-framer-name^="Content Stack"] {
    box-sizing: border-box !important;
    gap: 20px !important;
    padding: 0 !important;
    overflow: visible !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline :is(h2, h3) {
    --framer-font-size: clamp(24px, 6.6vw, 30px) !important;
    font-size: clamp(24px, 6.6vw, 30px) !important;
    --framer-line-height: 1.2em !important;
    line-height: 1.2 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline :is(.framer-jpdf1z, .framer-1c36ub6, .framer-1a673sr) p {
    --framer-font-size: 16px !important;
    font-size: 16px !important;
    --framer-line-height: 1.6em !important;
    line-height: 1.6 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-guC8k {
    box-sizing: border-box !important;
    height: auto !important;
    padding: 16px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-guC8k :is(.framer-w74p2c, .framer-24vtig, .framer-s6l91d, .framer-k85pxl) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-guC8k .framer-w74p2c { gap: 12px !important; }
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-guC8k .framer-k85pxl a {
    display: flex;
    align-items: center;
    min-height: 44px;
    text-underline-offset: 4px;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-guC8k .framer-7vo6n5 {
    height: auto !important;
    aspect-ratio: 4 / 3;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-1nf77mj-container {
    width: 100% !important;
    max-width: 315px !important;
    align-self: center;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline [data-framer-name="About"] {
    box-sizing: border-box !important;
    min-height: 0 !important;
    padding: 28px 20px !important;
    gap: 28px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-978l29 { gap: 16px !important; }

  /* Framer controls which panels exist. Their open variants can size to their
     contents instead of keeping the published desktop's 787/1,312 px boxes. */
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) { padding: 0 !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) {
    box-sizing: border-box !important;
    height: auto !important;
    padding: 28px 0 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) :is(.framer-16nyejt, .framer-wdrr0, .framer-5a0xzc, .framer-48kiof, .framer-1k3klfc, .framer-1wt4d1m, .framer-lzbt4n, .framer-nefuyn) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) .framer-16nyejt { gap: 28px !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) .framer-wdrr0 {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px;
    gap: 12px !important;
    align-items: start !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) .framer-5a0xzc {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) .framer-48kiof { gap: 10px !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) .framer-1yx9uuz { flex: 1 1 0 !important; width: 0 !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) :is(.framer-1yx9uuz, h6, h6 a) { white-space: normal !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) h6 {
    --framer-font-size: 25px !important;
    font-size: 25px !important;
    --framer-line-height: 1.2em !important;
    line-height: 1.2 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) h6 a { display: inline-block; min-height: 44px; }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-lzbt4n p {
    --framer-font-size: 16px !important;
    font-size: 16px !important;
    --framer-line-height: 1.6em !important;
    line-height: 1.6 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) .framer-t4km7t {
    box-sizing: border-box !important;
    width: 44px !important;
    height: 44px !important;
    padding: 10px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) :is(.framer-kn16h0, .framer-1p91bna, .framer-a1x1c1, .framer-r236dd) {
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr);
    gap: 12px !important;
    align-items: stretch !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) :is(.framer-ydd884, .framer-1wpq60z, .framer-5ybcux, .framer-19inuou) {
    grid-column: 1;
    grid-row: 1 / span 2;
    width: 24px !important;
    height: 100% !important;
    min-height: 0 !important;
    gap: 12px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) :is(.framer-2nzv0c, .framer-18kcs2e, .framer-1ivialb, .framer-hrqwmc) {
    grid-column: 2;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 0 0 16px !important;
    gap: 12px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) :is(.framer-e8tn77, .framer-1t8azsm, .framer-p66yf9) {
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 24px;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-xFtgs, .framer-pcXCc) :is(.framer-56wwqt, .framer-13v2a2k, .framer-hjeitf) { height: 100% !important; }

  /* The first accordion lazy-loads HowItWorks rather than the Timeline
     component above. Its centered 400 px row let the taller steps overflow
     upward into the summary. Let all four steps determine the panel height. */
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) :is(.framer-t6u6jt-container, .framer-dODvB, .framer-dODvB .framer-1gpcsdq) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-dODvB {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-dODvB .framer-1u241ly { display: none !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-dODvB .framer-1gpcsdq {
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 20px !important;
    overflow: visible !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-dODvB .framer-1gpcsdq > div {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-Bw4Lz {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 12px 0 12px 16px !important;
    gap: 10px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-Bw4Lz .framer-1r828jh {
    display: grid !important;
    grid-template-columns: 25px minmax(0, 1fr);
    align-items: start !important;
    gap: 12px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-Bw4Lz .framer-1m5wxkb {
    box-sizing: border-box !important;
    padding-left: 37px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-Bw4Lz :is(.framer-1u8oyyu, .framer-1k7ukks) {
    width: 100% !important;
    min-width: 0 !important;
    white-space: normal !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-Bw4Lz .framer-1u8oyyu p {
    --framer-font-size: 19px !important;
    font-size: 19px !important;
    --framer-line-height: 1.3em !important;
    line-height: 1.3 !important;
    --framer-text-color: #f1f5f9 !important;
    color: #f1f5f9 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(#services, #solution-physical-link) .framer-Bw4Lz .framer-1k7ukks p {
    --framer-font-size: 15px !important;
    font-size: 15px !important;
    --framer-line-height: 1.6em !important;
    line-height: 1.6 !important;
    --framer-text-color: #b5bfce !important;
    color: #b5bfce !important;
  }

  /* The shared footer is outside the page root. Scope via this document's
     Solutions root so Home and Platform retain their own footer layouts. */
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE {
    box-sizing: border-box !important;
    width: 100% !important;
    padding: 0 20px !important;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE :is(.framer-1tjblt4, .framer-1i7c9mt, .framer-1rsl28f, .framer-47zqw6, .framer-1dx83n5, .framer-1f9j485, .framer-13jojdl, .framer-18nj305, .framer-14hih7d) {
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE .framer-1tjblt4 { padding: 40px 0 28px !important; }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE .framer-47zqw6 { flex-direction: column !important; gap: 32px !important; }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE .framer-1f9j485 { justify-content: space-between !important; gap: 16px !important; flex-wrap: wrap; }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE .framer-13jojdl {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px !important;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE :is(.framer-vh9gf, .framer-1d81cbf, .framer-i7ixqc, .framer-9fhlat) { width: 100% !important; gap: 4px !important; }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE [data-framer-component-type="RichTextContainer"] {
    width: auto !important;
    max-width: 100%;
    height: auto !important;
    white-space: normal !important;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE :is(p, span, a) {
    --framer-font-size: 14px !important;
    font-size: 14px !important;
    --framer-line-height: 1.5em !important;
    line-height: 1.5 !important;
    white-space: normal !important;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE :is(.framer-i7ixqc, .framer-9fhlat) a {
    display: flex;
    align-items: center;
    min-height: 44px;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE :is(.framer-i57su1, .framer-4qsz91) {
    box-sizing: border-box !important;
    min-height: 44px;
    padding: 10px 16px !important;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE .framer-18nj305 { height: 1px !important; }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE .framer-14hih7d {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 20px !important;
  }
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE .framer-16n4ojr :is(p, span) {
    --framer-font-size: 12px !important;
    font-size: 12px !important;
  }

  :is(.framer-1oy88, .framer-9go3z) a:focus-visible,
  :is(.framer-1oy88, .framer-9go3z) [tabindex]:focus-visible,
  body:has(:is(.framer-1oy88, .framer-9go3z)) .framer-K6EcE a:focus-visible {
    outline: 2px solid #96eff3;
    outline-offset: 4px;
    border-radius: 3px;
  }
}

@media (min-width: 480px) and (max-width: 767px) {
  :is(.framer-1oy88, .framer-9go3z) #timeline .framer-1ukrfw5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* The refreshed designer accordion has distinct diagrams for the three topics. */
@media (max-width: 1199px) {
  .framer-9go3z [data-framer-name="Pricing Tab"] {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .framer-9go3z .framer-PzhFh,
  .framer-9go3z .framer-PzhFh .framer-1gpcsdq,
  .framer-9go3z .framer-PzhFh .framer-1gpcsdq > div,
  .framer-9go3z .framer-GEOzd {
    box-sizing: border-box !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
  }
  .framer-9go3z .framer-PzhFh {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 24px !important;
  }
  .framer-9go3z .framer-PzhFh > [data-framer-name="Image Wrapper"] {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 612 / 373;
    flex: none !important;
  }
  .framer-9go3z .framer-PzhFh [data-framer-name="Stats Wrapper"] {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }
  .framer-9go3z .framer-PzhFh [data-framer-name="Stats Wrapper"] > div {
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
  }
  .framer-9go3z .framer-PzhFh img { object-fit: contain !important; }
  .framer-9go3z .framer-PzhFh .framer-1gpcsdq { gap: 16px !important; }
  .framer-9go3z .framer-GEOzd { padding: 12px 0 12px 16px !important; }
  .framer-9go3z .framer-GEOzd [data-framer-component-type="RichTextContainer"] {
    min-width: 0 !important;
    width: 100% !important;
    white-space: normal !important;
  }
  .framer-9go3z .framer-GEOzd .framer-1u8oyyu p { font-size: 19px !important; line-height: 1.3 !important; }
  .framer-9go3z .framer-GEOzd .framer-1k7ukks p { font-size: 15px !important; line-height: 1.6 !important; }
}

@media (max-width: 1199px) {
  .framer-9go3z section[data-framer-name="cta"] {
    box-sizing: border-box !important;
    width: 100% !important;
    height: auto !important;
    padding: 64px 20px !important;
  }
  .framer-9go3z section[data-framer-name="cta"] :is(.framer-851isi, .framer-15yuwf8, .framer-1235qoy),
  .framer-9go3z section[data-framer-name="cta"] [data-framer-component-type="RichTextContainer"] {
    position: relative !important;
    inset: auto !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
  }
  .framer-9go3z section[data-framer-name="cta"] .framer-15yuwf8 { gap: 28px !important; }
  .framer-9go3z section[data-framer-name="cta"] .framer-1235qoy { gap: 20px !important; }
  .framer-9go3z section[data-framer-name="cta"] .framer-1235qoy > div:last-child p {
    font-size: 30px !important;
    --framer-font-size: 30px !important;
    line-height: 1.2 !important;
    --framer-line-height: 1.2em !important;
  }
  .framer-9go3z section[data-framer-name="cta"] p { white-space: normal !important; overflow-wrap: break-word; }
}
@media (max-width: 1199px) {
  .framer-9go3z section[data-framer-name="cta"] :is(.framer-851isi, .framer-15yuwf8, .framer-1235qoy) { transform: none !important; }
}

:is(.framer-1oy88, .framer-9go3z) :is(#human-validation, #physical) :is(h1, h2, h3, h6),
#human-validation [data-anivance-assessment-card] .framer-k85pxl p {
  text-wrap: balance;
  word-break: normal;
}
:is(.framer-1oy88, .framer-9go3z) :is(#human-validation, #physical) p {
  text-wrap: pretty;
}
@media (min-width: 768px) and (max-width: 1199px) {
  :is(.framer-1oy88, .framer-9go3z) .framer-117dgmr {
    height: 420px !important;
    padding: 128px 40px 52px !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-djmkin {
    flex-direction: row !important;
    align-items: flex-end !important;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-1p5e3r6, .framer-1yhfsth) {
    flex: 1 1 0 !important;
    width: 0 !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-1r1z831 h1 {
    --framer-font-size: clamp(48px, 6.3vw, 72px) !important;
    font-size: clamp(48px, 6.3vw, 72px) !important;
  }
  :is(.framer-1oy88, .framer-9go3z) .framer-qm6ejh { padding: 0 40px !important; }
  :is(.framer-1oy88, .framer-9go3z) .framer-ksytck-container { max-width: 640px !important; }
  :is(.framer-1oy88, .framer-9go3z) :is(#human-validation, #physical) h1 {
    --framer-font-size: 40px !important;
    font-size: 40px !important;
    max-width: 25ch;
  }
  :is(.framer-1oy88, .framer-9go3z) :is(.framer-1kl0t6, .framer-iyjq8u) p { max-width: 65ch; }
}

/* Keep timeline labels at their text width instead of clipping their edges. */
#human-validation #timeline :is(.framer-exbubq-container, .framer-c0evej-container, .framer-wy89ol-container, .framer-S9QbP, .framer-m0luq0) {
  width: max-content !important;
  max-width: 100%;
  flex: 0 0 auto !important;
  justify-content: flex-start !important;
  overflow: visible !important;
}
#human-validation #timeline .framer-m0luq0 p {
  white-space: nowrap !important;
}
/* Moving glow, shades and particles must not intercept the CTA on any frame. */
#human-validation [id="3"] .framer-1qevc7u > :not(.framer-ox24bz-container),
#human-validation [id="3"] .framer-1qevc7u > :not(.framer-ox24bz-container) * {
  pointer-events: none !important;
}

/* Short CTAs stay on one line; the action row itself may wrap on phones. */
:is(.framer-1oy88, .framer-9go3z) :is(.framer-uxmzi5, .framer-1cedub1) a {
  width: max-content !important;
  flex: 0 0 auto !important;
}
:is(.framer-1oy88, .framer-9go3z) :is(.framer-uxmzi5, .framer-1cedub1) a p {
  white-space: nowrap !important;
  text-wrap: nowrap;
}
@media (min-width: 768px) and (max-width: 1199px) {
  #human-validation #timeline [data-anivance-assessment-row] {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px !important;
  }
  #human-validation #timeline [data-anivance-assessment-card] { padding: 16px !important; }
}

/* Keep closed, hover and expanded Physical AI variants on the same columns.
   Framer still owns the toggles, reveals and interactive process diagrams. */
.framer-9go3z #solution-physical-link .framer-pcXCc {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  padding: 32px 20px !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc :is(.framer-16nyejt, .framer-wdrr0, .framer-5a0xzc, .framer-48kiof, .framer-1t24vtt, .framer-1k3klfc, .framer-1wt4d1m, .framer-7jnrgx, .framer-eyw8r1, .framer-lzbt4n, .framer-1cle61i, .framer-1mxlcjk, .framer-t6u6jt-container) {
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc .framer-16nyejt {
  gap: 40px !important;
  align-items: stretch !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc .framer-wdrr0 {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 44px;
  align-items: start !important;
  gap: 24px !important;
  padding: 0 !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc .framer-5a0xzc {
  display: grid !important;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  align-items: start !important;
  gap: 32px !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc :is(.framer-48kiof, .framer-1t24vtt) {
  gap: 10px !important;
  overflow: visible !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc :is(.framer-1yx9uuz, .framer-ncg0qh) {
  flex: 1 1 0 !important;
  width: 0 !important;
  min-width: 0 !important;
  white-space: normal !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc :is(h6, h6 a) {
  white-space: normal !important;
  text-wrap: pretty;
  overflow-wrap: normal;
  --framer-font-size: 30px !important;
  font-size: 30px !important;
  --framer-line-height: 1.3em !important;
  line-height: 1.3 !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc :is(.framer-1wt4d1m, .framer-7jnrgx, .framer-eyw8r1) {
  align-items: flex-start !important;
  gap: 14px !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc :is(.framer-pgsadf, .framer-1sll1mm, .framer-1xepbwl) {
  width: 100% !important;
  min-width: 0 !important;
  flex-wrap: wrap !important;
  gap: 8px 0 !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc [data-framer-name="Category"] {
  flex: 0 0 auto !important;
  width: max-content !important;
  max-width: 100% !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc [data-framer-name="Category"] > div {
  width: max-content !important;
}
.framer-9go3z #solution-physical-link .framer-pcXCc [data-framer-name="Category"] :is([data-framer-component-type="RichTextContainer"], p) {
  white-space: nowrap !important;
  text-wrap: nowrap;
}
.framer-9go3z #solution-physical-link .framer-pcXCc .framer-t4km7t {
  box-sizing: border-box !important;
  width: 44px !important;
  height: 44px !important;
  padding: 10px !important;
}
/* Scale the animated connectors with the diagram instead of keeping their
   desktop pixel coordinates over the phone's text boxes. */
.framer-9go3z #solution-physical-link .framer-PzhFh :is(.framer-xgh24o-container, .framer-d1qt2w-container) {
  left: 18% !important;
  top: 50% !important;
  width: 21.4% !important;
  height: auto !important;
  aspect-ratio: 135 / 147;
  transform: translateY(-50%) !important;
  pointer-events: none;
}
@media (min-width: 1200px) {
  .framer-9go3z #solution-physical-link .framer-PzhFh {
    display: grid !important;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    align-items: center !important;
    width: 100% !important;
    height: auto !important;
    gap: 32px !important;
  }
  .framer-9go3z #solution-physical-link .framer-PzhFh > :is(.framer-1sijyen, .framer-1gpcsdq) {
    width: 100% !important;
    min-width: 0 !important;
  }
  .framer-9go3z #solution-physical-link .framer-PzhFh .framer-1n02ak3 {
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .framer-9go3z #solution-physical-link .framer-PzhFh .framer-1gpcsdq {
    height: auto !important;
    align-items: stretch !important;
  }
  .framer-9go3z #solution-physical-link .framer-PzhFh .framer-1gpcsdq > div {
    width: 100% !important;
    max-width: none !important;
  }
}
@media (max-width: 1199px) {
  .framer-9go3z #solution-physical-link .framer-pcXCc { padding: 28px 0 !important; }
  .framer-9go3z #solution-physical-link .framer-pcXCc .framer-wdrr0 { gap: 12px !important; }
  .framer-9go3z #solution-physical-link .framer-pcXCc .framer-16nyejt { gap: 28px !important; }
  .framer-9go3z #solution-physical-link .framer-pcXCc .framer-5a0xzc {
    grid-template-columns: minmax(0, 1fr);
    gap: 16px !important;
  }
  .framer-9go3z #solution-physical-link .framer-pcXCc :is(h6, h6 a) {
    --framer-font-size: 25px !important;
    font-size: 25px !important;
  }
}
