/* Prime Assist — shared site styles. Loaded on every page. */
  body { margin: 0; background: #F8F7FB; font-family: Inter, ui-sans-serif, system-ui, sans-serif; -webkit-font-smoothing: antialiased; }
  * { box-sizing: border-box; }
  [hidden] { display: none !important; }
  html { scroll-behavior: smooth; }
  ::selection { background: #8030C5; color: #FFFFFF; }
  a { color: #8030C5; }
  a:hover { color: #6A23A8; }
  @keyframes pa-wf { 0%, 100% { transform: scaleY(0.22); } 50% { transform: scaleY(1); } }
  @keyframes pa-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.3; } }
  @keyframes pa-drift-a { from { transform: translate3d(-4%, -6%, 0) scale(1); } to { transform: translate3d(6%, 7%, 0) scale(1.18); } }
  @keyframes pa-drift-b { from { transform: translate3d(5%, 6%, 0) scale(1.12); } to { transform: translate3d(-6%, -5%, 0) scale(0.94); } }
  @keyframes pa-rule { from { transform: scaleX(0); } to { transform: scaleX(1); } }
  @keyframes pa-flow { 0% { left: -18%; opacity: 0; } 12% { opacity: 1; } 88% { opacity: 1; } 100% { left: 100%; opacity: 0; } }
  @media (prefers-reduced-motion: reduce) { [data-pa-flow] { animation: none !important; opacity: 0 !important; } }
  @keyframes pa-ring { 0% { transform: scale(0.34); opacity: 0; } 12% { opacity: 0.85; } 100% { transform: scale(1); opacity: 0; } }
  @media (prefers-reduced-motion: reduce) { [data-pa-ring] { animation: none !important; opacity: 0.28 !important; } }
  a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible, summary:focus-visible { outline: 3px solid #8030C5; outline-offset: 3px; }
  #roi a:focus-visible, #roi button:focus-visible, #roi input:focus-visible { outline: 3px solid #2CBBF2; outline-offset: 2px; }
  summary { list-style: none; cursor: pointer; }
  summary::-webkit-details-marker { display: none; }
  input::placeholder, textarea::placeholder { color: #887DA2; opacity: 1; }
  /* ---- hover affordance on the main nav ---- */
  header[role="banner"] nav[aria-label="Main"] .pa-desktop > a,
  header[role="banner"] nav[aria-label="Main"] .pa-desktop > div > button {
    position: relative;
    flex: none;
    white-space: nowrap;
    padding: 9px 12px;
    border-radius: 10px;
    transition: background-color 0.18s ease, color 0.18s ease;
  }
  header[role="banner"] nav[aria-label="Main"] .pa-desktop { flex: none; }
  header[role="banner"] nav[aria-label="Main"] > div:last-of-type { flex: none; }
  header[role="banner"] nav[aria-label="Main"] .pa-desktop > a:hover,
  header[role="banner"] nav[aria-label="Main"] .pa-desktop > div > button:hover,
  header[role="banner"] nav[aria-label="Main"] .pa-desktop > div > button[aria-expanded="true"] {
    background: rgba(248, 247, 251, 0.09);
    color: #FFFFFF;
  }
  /* mobile drawer rows */
  header[role="banner"] .pa-mobile a { transition: background-color 0.18s ease, padding-left 0.18s ease; }
  header[role="banner"] .pa-mobile a:hover { background: rgba(248, 247, 251, 0.06); }
  /* buttons and pill links across the site */
  a[href="/book-a-demo/"], a[href="/book-a-consultation/"], a[href="/pricing/"] {
    transition: transform 0.2s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.2s ease, background-color 0.2s ease, border-color 0.2s ease;
  }
  a[href="/book-a-demo/"]:hover, a[href="/book-a-consultation/"]:hover { transform: translateY(-2px); filter: brightness(1.08); }
  a[href="/book-a-demo/"]:active, a[href="/book-a-consultation/"]:active { transform: translateY(0) scale(0.98); }
  /* the same highlight on the header CTA pair, site-wide */
  header[role="banner"] nav[aria-label="Main"] > div:last-of-type > a,
  header[role="banner"] nav[aria-label="Main"] > div:last-of-type > button {
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease, transform 0.2s cubic-bezier(0.22, 1, 0.36, 1);
  }
  header[role="banner"] nav[aria-label="Main"] > div:last-of-type > a:hover,
  header[role="banner"] nav[aria-label="Main"] > div:last-of-type > button:hover {
    background-color: rgba(248, 247, 251, 0.09);
  }
  footer[role="contentinfo"] a { transition: color 0.16s ease; }
  /* ---- declared hover / focus intents (ported from the design's style-hover attributes) ---- */
  .skip-link:focus { left: 0 !important; }
  .hv-white:hover { color: #FFFFFF !important; }
  .hv-lift:hover { transform: translateY(-2px) !important; box-shadow: 0 18px 52px rgba(248, 247, 251, 0.22) !important; }
  .hv-ghost:hover { border-color: rgba(248, 247, 251, 0.5) !important; background-color: rgba(248, 247, 251, 0.05) !important; }
  .hv-pad:hover { padding-left: 12px !important; }
  .hv-cyan:hover { border-color: #2CBBF2 !important; }
  .hv-violet:hover { background: #6A23A8 !important; }
  .hv-menu:hover { background: rgba(128, 48, 197, 0.26) !important; }
  .hv-faint:hover { background: rgba(248, 247, 251, 0.08) !important; }
  .hv-gw:hover { opacity: 1 !important; transform: translateY(-2px) !important; }
  .hv-vborder:hover { border-color: #8030C5 !important; }
  .hv-reset:hover { border-color: rgba(248, 247, 251, 0.45) !important; color: #F8F7FB !important; }
  /* ---- hero scenario tabs and transcript bubbles ---- */
  .pa-tab { background: transparent; border: 1px solid rgba(248,247,251,0.16); color: #8E82AB; font-size: 12.5px; font-weight: 400; font-family: inherit; padding: 7px 14px; border-radius: 999px; cursor: pointer; transition: color 0.2s ease, border-color 0.2s ease; }
  .pa-tab[aria-selected="true"] { background: rgba(248,247,251,0.09); border-color: rgba(248,247,251,0.42); color: #F8F7FB; font-weight: 500; }
  .pa-bub-in { margin: 0; align-self: flex-start; background: rgba(248,247,251,0.07); color: #E6E1F0; font-weight: 300; font-size: 14.5px; line-height: 1.55; border-radius: 14px 14px 14px 4px; padding: 11px 15px; max-width: 92%; }
  .pa-bub-out { margin: 0; align-self: flex-end; background: rgba(128,48,197,0.22); color: #F3EEFA; font-weight: 300; font-size: 14.5px; line-height: 1.55; border-radius: 14px 14px 4px 14px; padding: 11px 15px; max-width: 92%; }
  .pa-tr-in { margin: -3px 0 0; align-self: flex-start; font-size: 12px; font-weight: 300; font-style: italic; line-height: 1.45; color: #7A6F98; padding: 0 4px; max-width: 92%; }
  .pa-tr-out { margin: -3px 0 0; align-self: flex-end; font-size: 12px; font-weight: 300; font-style: italic; line-height: 1.45; color: #8B7FA8; padding: 0 4px; max-width: 92%; text-align: right; }
  /* ---- ROI calculator industry chips ---- */
  .roi-chip { background: transparent; border: 1px solid rgba(248,247,251,0.18); color: #B7ADCE; font-family: inherit; font-size: 13.5px; font-weight: 400; padding: 9px 15px; border-radius: 999px; cursor: pointer; transition: border-color 0.2s ease, color 0.2s ease, background-color 0.2s ease; }
  .roi-chip[aria-pressed="true"] { background: rgba(128,48,197,0.28); border: 1px solid #A15FDB; color: #FFFFFF; font-weight: 500; }
  /* ---- cross-document page transitions (parsed before navigation) ---- */
  @media (prefers-reduced-motion: no-preference) {
    @view-transition { navigation: auto; }
  }
  @media (prefers-reduced-motion: no-preference) {
    ::view-transition-old(root) { animation: pa-vt-leave 150ms cubic-bezier(0.4,0,1,1) both; }
    ::view-transition-new(root) { animation: pa-vt-enter 340ms cubic-bezier(0.22,1,0.36,1) both; }
  }
  @keyframes pa-vt-leave { to { opacity: 0; transform: translateY(-8px); } }
  @keyframes pa-vt-enter { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
  @media (max-width: 1180px) { .pa-desktop { display: none !important; } .pa-cookie { bottom: 96px !important; } .pa-fcols { grid-template-columns: repeat(2, 1fr) !important; } }
  @media (min-width: 1181px) { .pa-mobile { display: none !important; } }
  @media (max-width: 560px) { .pa-fcols { grid-template-columns: 1fr !important; } }
  /* below ~420px the logo wordmark, the demo CTA and the menu button no longer
     fit on one row; the mark alone carries the brand and the link keeps its
     aria-label, so drop the wordmark rather than let the page scroll sideways */
  @media (max-width: 419px) { .pa-wordmark { display: none !important; } }
  [data-pa-idle="1"] *, [data-pa-idle="1"] { animation-play-state: paused !important; }
  @media (prefers-reduced-motion: reduce) { * { animation: none !important; transition: none !important; } html { scroll-behavior: auto; } }
