/* Homepage-only styles, moved out of index.html (2026-10-05) so the HTML stays
   small and the CSS is cached. Order matches the old inline blocks. */

    /* Icons are inline SVG (Font Awesome removed 2026-10-05); 1em keeps the old glyph sizing. */
    .ico { display:inline-block; width:1em; height:1em; vertical-align:-0.125em; flex-shrink:0; }
    .tm-cat-arrow.is-open { transform: rotate(90deg); }
    .testimonial-stars .ico { font-size:0.78rem; color:#F59E0B; }
    .btn .ico { font-size:0.8rem; } .svc-img-icon .ico { color:#fff; font-size:19px; }
    .scale-cta-btn .ico { font-size:14px; transition:transform .25s; } .scale-cta-btn:hover .ico { transform:translateX(4px); }
    .insight-card-meta .ico, .insight-card-views .ico { font-size:0.62rem; } .insight-card-views .ico { color:#4d8fff; }
    .insight-no-img .ico { font-size:2rem; color:rgba(255,255,255,0.1); }
    /* ── AI capability explorer (2026-10-05): replaces the nine-card grid ── */
    .cx-radio{position:absolute;opacity:0;pointer-events:none;width:0;height:0}
    .cx-wrap{display:grid;grid-template-columns:300px minmax(0,1fr);gap:22px;align-items:stretch}
    .cx-tabs{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015));border:1px solid rgba(255,255,255,.08)}
    .cx-tab{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;border:1px solid transparent;cursor:pointer;font-size:15px;font-weight:600;color:#97a5ba;transition:color .2s,background .2s,border-color .2s}
    .cx-tab:hover{color:#e6ecf5;background:rgba(255,255,255,.04)}
    .cx-tab-ic{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;flex-shrink:0;color:#7fb0ff;background:rgba(59,130,246,.12);border:1px solid rgba(127,176,255,.22);transition:background .2s,color .2s,border-color .2s}
    .cx-tab-ic svg{width:18px;height:18px}
    .cx-panels{min-width:0}
    .cx-panel{display:none;grid-template-rows:auto 1fr;height:100%;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 30px 80px -30px rgba(0,0,0,.7)}
    .cx-body{padding:28px 32px 30px}
    .cx-tag{display:inline-block;margin-bottom:10px;font-size:11.5px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:#1d4ed8}
    .cx-body h3{margin:0 0 10px;font-size:24px;font-weight:700;color:#0f172a}
    .cx-body p{margin:0 0 16px;font-size:15px;line-height:1.7;color:#475569}
    .cx-list{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:9px}
    .cx-list li{display:flex;align-items:flex-start;gap:10px;font-size:14.5px;line-height:1.55;color:#334155}
    .cx-list svg{flex-shrink:0;margin-top:2px;color:#1d4ed8}
    .cx-link{font-size:14.5px;font-weight:700;color:#1d4ed8;text-decoration:none}
    .cx-link:hover{color:#1e3a8a}
    .cx-v{position:relative;height:250px;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:14px;padding:24px;
      background:radial-gradient(420px 220px at 85% 0%,rgba(59,130,246,.35),transparent 70%),linear-gradient(150deg,#0b1a3a,#081226)}
    .cx-pill{position:absolute;right:16px;bottom:14px;font-size:11.5px;font-weight:700;color:#dbeafe;padding:6px 11px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(147,197,253,.3)}
    .cx-pill--ok{color:#a7f3d0;border-color:rgba(52,211,153,.4);background:rgba(16,185,129,.12)}
    .cx-pill--warn{color:#fed7aa;border-color:rgba(251,146,60,.45);background:rgba(249,115,22,.12)}
    .cx-road{width:100%;max-width:440px;display:flex;flex-direction:column;gap:12px}
    .cx-ph{display:grid;grid-template-columns:56px 1fr;gap:4px 12px;align-items:center;color:#fff}
    .cx-ph small{grid-row:span 2;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#93c5fd}
    .cx-ph b{font-size:14px}
    .cx-ph i{display:block;height:8px;border-radius:99px;background:linear-gradient(90deg,#3b82f6,#60a5fa)}
    .cx-ph--1 i{opacity:.75}.cx-ph--2 i{opacity:.5}
    .cx-v--flow{flex-wrap:wrap}
    .cx-node{padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(147,197,253,.3);font-size:13.5px;font-weight:700;color:#e2e8f0}
    .cx-node--ai{background:#2563eb;border-color:#93c5fd;color:#fff;box-shadow:0 10px 30px rgba(37,99,235,.45)}
    .cx-node--ok{color:#a7f3d0;border-color:rgba(52,211,153,.45);background:rgba(16,185,129,.12)}
    .cx-arw{width:26px;height:2px;background:rgba(147,197,253,.6);position:relative}
    .cx-arw:after{content:"";position:absolute;right:-1px;top:-4px;border:5px solid transparent;border-left-color:rgba(147,197,253,.8);border-right:0}
    .cx-v--chat{flex-direction:column;align-items:stretch;padding:26px 40px}
    .cx-msg{max-width:78%;padding:11px 14px;border-radius:14px;font-size:13.5px;line-height:1.5}
    .cx-msg--q{align-self:flex-end;background:#2563eb;color:#fff;border-bottom-right-radius:4px}
    .cx-msg--a{align-self:flex-start;background:#fff;color:#0f172a;border-bottom-left-radius:4px}
    .cx-msg small{display:block;margin-top:6px;font-size:11px;font-weight:700;color:#1d4ed8}
    .cx-wave{display:flex;align-items:center;gap:4px;height:60px}
    .cx-wave i{width:5px;border-radius:4px;background:linear-gradient(180deg,#93c5fd,#2563eb)}
    @media(prefers-reduced-motion:no-preference){.cx-wave i{animation:cxw 1.4s ease-in-out infinite}.cx-wave i:nth-child(2n){animation-delay:-.4s}.cx-wave i:nth-child(3n){animation-delay:-.8s}}
    @keyframes cxw{0%,100%{transform:scaleY(.55)}50%{transform:scaleY(1)}}
    .cx-call{padding:14px 16px;border-radius:14px;background:#fff;color:#0f172a;display:flex;flex-direction:column;gap:3px;box-shadow:0 14px 30px rgba(0,0,0,.4)}
    .cx-call small{font-size:11px;color:#64748b}.cx-call b{font-size:15px;color:#047857}.cx-call span{font-size:12.5px;color:#334155}
    .cx-v--chart{flex-direction:column;align-items:stretch}
    .cx-v--chart svg{width:100%;height:150px}
    .cx-v--chart .act{fill:none;stroke:#93c5fd;stroke-width:3}
    .cx-v--chart .fc{fill:none;stroke:#fcd34d;stroke-width:3;stroke-dasharray:6 5}
    .cx-v--chart .band{fill:rgba(252,211,77,.14)}
    .cx-v--chart circle{fill:#fcd34d}
    .cx-legend{display:flex;gap:16px;align-items:center;font-size:12px;color:#cbd5e1}
    .cx-legend span{display:inline-flex;align-items:center;gap:6px}
    .cx-legend i{width:14px;height:3px;border-radius:2px}.cx-legend i.a{background:#93c5fd}.cx-legend i.f{background:#fcd34d}
    .cx-legend .cx-pill{position:static;margin-left:auto}
    .cx-frame{position:relative;width:240px;height:170px;border-radius:12px;background:repeating-linear-gradient(135deg,#1e293b 0 14px,#243247 14px 28px);border:1px solid rgba(147,197,253,.3);overflow:hidden}
    .cx-box{position:absolute;border:2px solid #fb923c;border-radius:6px}
    .cx-box em{position:absolute;left:-2px;top:-20px;font-style:normal;font-size:10.5px;font-weight:800;padding:2px 6px;border-radius:4px;background:#fb923c;color:#1f1300;white-space:nowrap}
    .cx-box--1{left:28px;top:44px;width:70px;height:52px}
    .cx-box--2{left:132px;top:86px;width:80px;height:58px;border-color:#34d399}.cx-box--2 em{background:#34d399;color:#022c22}
    .cx-scan{position:absolute;left:0;right:0;height:2px;background:#60a5fa;box-shadow:0 0 12px #60a5fa;top:20%}
    @media(prefers-reduced-motion:no-preference){.cx-scan{animation:cxs 2.6s ease-in-out infinite}}
    @keyframes cxs{0%,100%{top:8%}50%{top:90%}}
    .cx-cvside{display:flex;flex-direction:column;gap:10px}
    .cx-cvside .cx-pill{position:static}
    .cx-v--kpi{display:grid;grid-template-columns:repeat(2,minmax(0,170px));gap:12px}
    .cx-kpi{padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.07);border:1px solid rgba(147,197,253,.25);color:#fff}
    .cx-kpi small{display:block;font-size:11px;color:#94a3b8}.cx-kpi b{display:block;font-size:20px;margin:2px 0}
    .cx-kpi em{font-style:normal;font-size:12px;font-weight:700}.cx-kpi .up{color:#34d399}.cx-kpi .down{color:#93c5fd}
    .cx-v--hub svg{width:100%;max-width:400px;height:auto}
    .cx-v--hub .ln line{stroke:rgba(147,197,253,.5);stroke-width:1.5;stroke-dasharray:4 5}
    .cx-v--hub .nd rect{fill:rgba(255,255,255,.07);stroke:rgba(147,197,253,.45)}
    .cx-v--hub .core{fill:#2563eb;stroke:#93c5fd}
    .cx-v--hub text{fill:#e2e8f0;font-size:11px;font-weight:700;text-anchor:middle;font-family:Montserrat,sans-serif}
    .cx-v--hub text.c{fill:#fff;font-size:12px}
    @media(max-width:980px){
      .cx-wrap{grid-template-columns:1fr}
      .cx-tabs{flex-direction:row;overflow-x:auto;scrollbar-width:none;padding:10px}
      .cx-tabs::-webkit-scrollbar{display:none}
      .cx-tab{flex-shrink:0;white-space:nowrap}
    }
    @media(max-width:600px){
      .cx-v{height:220px;padding:18px}
      .cx-v--chat{padding:18px}
      .cx-body{padding:22px 20px 24px}
      .cx-body h3{font-size:21px}
      .cx-arw{width:14px}
      .cx-node{padding:10px 12px;font-size:12px}
      .cx-frame{width:180px;height:140px}
      .cx-cvside .cx-pill:last-child{display:none}
    }

    /* ── Industries: the row's own proof number, on hover (desktop) or always (touch) ── */
    .iws-stat{flex-shrink:0;font-size:15px;font-weight:800;color:#6FA0FF;white-space:nowrap}
    @media(min-width:1024px){
      .iws-stat{font-size:24px;letter-spacing:-.01em;max-width:0;opacity:0;overflow:hidden;transform:translateX(8px);transition:max-width .35s,opacity .3s,transform .3s}
      .iws-row.is-active .iws-stat{max-width:120px;opacity:1;transform:none}
      .iws-row.is-active .iws-tag{display:none}
    }
    #cx-1:checked ~ .cx-wrap .cx-panel--1{display:grid}#cx-1:checked ~ .cx-wrap .cx-tab[for="cx-1"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-1:checked ~ .cx-wrap .cx-tab[for="cx-1"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-1:focus-visible ~ .cx-wrap .cx-tab[for="cx-1"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-2:checked ~ .cx-wrap .cx-panel--2{display:grid}#cx-2:checked ~ .cx-wrap .cx-tab[for="cx-2"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-2:checked ~ .cx-wrap .cx-tab[for="cx-2"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-2:focus-visible ~ .cx-wrap .cx-tab[for="cx-2"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-3:checked ~ .cx-wrap .cx-panel--3{display:grid}#cx-3:checked ~ .cx-wrap .cx-tab[for="cx-3"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-3:checked ~ .cx-wrap .cx-tab[for="cx-3"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-3:focus-visible ~ .cx-wrap .cx-tab[for="cx-3"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-4:checked ~ .cx-wrap .cx-panel--4{display:grid}#cx-4:checked ~ .cx-wrap .cx-tab[for="cx-4"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-4:checked ~ .cx-wrap .cx-tab[for="cx-4"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-4:focus-visible ~ .cx-wrap .cx-tab[for="cx-4"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-5:checked ~ .cx-wrap .cx-panel--5{display:grid}#cx-5:checked ~ .cx-wrap .cx-tab[for="cx-5"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-5:checked ~ .cx-wrap .cx-tab[for="cx-5"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-5:focus-visible ~ .cx-wrap .cx-tab[for="cx-5"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-6:checked ~ .cx-wrap .cx-panel--6{display:grid}#cx-6:checked ~ .cx-wrap .cx-tab[for="cx-6"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-6:checked ~ .cx-wrap .cx-tab[for="cx-6"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-6:focus-visible ~ .cx-wrap .cx-tab[for="cx-6"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-7:checked ~ .cx-wrap .cx-panel--7{display:grid}#cx-7:checked ~ .cx-wrap .cx-tab[for="cx-7"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-7:checked ~ .cx-wrap .cx-tab[for="cx-7"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-7:focus-visible ~ .cx-wrap .cx-tab[for="cx-7"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-8:checked ~ .cx-wrap .cx-panel--8{display:grid}#cx-8:checked ~ .cx-wrap .cx-tab[for="cx-8"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-8:checked ~ .cx-wrap .cx-tab[for="cx-8"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-8:focus-visible ~ .cx-wrap .cx-tab[for="cx-8"]{outline:2px solid #93c5fd;outline-offset:2px}
    #cx-9:checked ~ .cx-wrap .cx-panel--9{display:grid}#cx-9:checked ~ .cx-wrap .cx-tab[for="cx-9"]{color:#fff;background:linear-gradient(90deg,rgba(46,107,230,.32),rgba(46,107,230,.08));border-color:rgba(111,160,255,.45)}#cx-9:checked ~ .cx-wrap .cx-tab[for="cx-9"] .cx-tab-ic{background:#2E6BE6;color:#fff;border-color:#2E6BE6}#cx-9:focus-visible ~ .cx-wrap .cx-tab[for="cx-9"]{outline:2px solid #93c5fd;outline-offset:2px}
    /* Hero title copy (2026-09-25) is one word longer than the design's two lines,
       so it runs as three staggered lines; the third takes the next step in the
       existing reveal sequence. Kept here so the shared stylesheet, and the eleven
       pages that version it, stay untouched. */
    .hero-line.hl-3 { animation-delay: 0.49s; }
    /* Under the shared 600px rule the title is clamp(1.7rem, 8vw, 2.4rem); at that
       size the third line, "your business workflows", measures 375px against a
       354px column and orphans its last word. 7.3vw fits it from 390px up, and a
       1.45rem floor (instead of 1.7rem) keeps it on one line down to 320px. */
    @media (max-width: 600px) { .hero-title { font-size: clamp(1.45rem, 7.3vw, 2.4rem); } }

  /* revamped-index.css ships .clients-marquee at 92px 0; the hero above and the
     section below both carry their own padding, so the band only needs enough
     room to keep the logos off its edges. Page-local: the shared spacing still
     applies everywhere else that uses this component. */
  .clients-marquee { padding: 24px 0; }
  .cm-header { padding-bottom: 18px; }

  /* Eight partners, four to a row, on smaller cards than the shared
     .partner-card default. Flex rather than grid so a row that does not fill
     centres its cards instead of leaving them hard left. */
  .partners-grid--3 { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
  .partners-grid--3 .partner-card {
    flex: 0 1 calc(25% - 12px);
    padding: 22px 16px 18px;
    gap: 12px;
    border-radius: 14px;
  }
  .partners-grid--3 .partner-card img { height: 38px; }
  @media (max-width: 1024px) { .partners-grid--3 .partner-card { flex-basis: calc(33.333% - 11px); } }
  /* The shared .section-header p caps at 520px, which left this lede running
     to six short lines. Widened here only, so other sections keep their measure. */
  .partners-section .section-header p { max-width: 820px; }
  /* FAQ answers now carry internal links. They inherited a grey that was
     dimmer than the body text around them, so they did not read as links. */
  .idx-faq-a a { color: #60A5FA; text-decoration: none;
                 border-bottom: 1px solid rgba(96,165,250,0.4);
                 transition: color .18s ease, border-color .18s ease; }
  .idx-faq-a a:hover, .idx-faq-a a:focus-visible { color: #93C5FD; border-bottom-color: #93C5FD; }
  @media (prefers-reduced-motion: reduce) { .idx-faq-a a { transition: none; } }
  /* The button already lifts on hover; the chevron did not move with it. */
  .idx-faq-section .btn-primary i { transition: transform .22s ease; }
  .idx-faq-section .btn-primary:hover i,
  .idx-faq-section .btn-primary:focus-visible i { transform: translateX(4px); }
  @media (prefers-reduced-motion: reduce) {
    .idx-faq-section .btn-primary i { transition: none; }
    .idx-faq-section .btn-primary:hover i,
    .idx-faq-section .btn-primary:focus-visible i { transform: none; }
  }
  /* Two-line heading from 768px up; below that it wraps on its own. */
  .ph-break { display: none; }
  @media (min-width: 768px) { .ph-break { display: inline; } }
  @media (max-width: 720px) { .partners-grid--3 .partner-card { flex-basis: calc(50% - 8px); } }
