/* hide original header */
.o-header,.top-bar,.js--header-sentinel{display:none!important}
#page.site{margin-left:0}
body{padding-top:148px!important}
/* skip link + keyboard focus visibility (a11y) */
.v17-skip{position:absolute;left:-9999px;top:0;z-index:9999;background:#010347;color:#fff;font:700 14px/1 "Nunito",system-ui,sans-serif;padding:12px 18px;border-radius:0 0 10px 0;text-decoration:none}
.v17-skip:focus-visible{left:0}
a:focus-visible,button:focus-visible,.v17-pill:focus-visible,.v17-drop-link:focus-visible,.v17-m-link:focus-visible,.v17-link:focus-visible,.v17-m-dot:focus-visible,.v17-login:focus-visible,.v17-scan:focus-visible,.v17-demo:focus-visible,.v17-m-demo:focus-visible{outline:2px solid #7c3aed;outline-offset:2px;border-radius:6px}
/* ── Shared floating island base ── */
.v17-island{position:fixed;left:50%;transform:translateX(-50%);z-index:200;background:#fff;border-radius:99px;box-shadow:0 4px 28px rgba(1,3,71,.11),0 1px 4px rgba(1,3,71,.06);border:1.5px solid rgba(236,231,251,.9);display:flex;align-items:center;font-family:"Nunito","Figtree",system-ui,sans-serif;white-space:nowrap;transition:opacity .32s cubic-bezier(.4,0,.2,1),transform .32s cubic-bezier(.4,0,.2,1)}
/* ── Marketing island ── */
#v17-mbar{top:16px;padding:9px 28px 9px 28px;gap:4px;height:56px;box-sizing:border-box}
#v17-mbar .v17-logo{display:flex;align-items:center;flex-shrink:0;text-decoration:none;margin-right:10px}
#v17-mbar .v17-logo svg{height:30px;width:auto;display:block}
#v17-mbar .v17-sep{width:1px;height:22px;background:#e8e4f6;margin:0 8px;flex-shrink:0}
#v17-mbar .v17-link{font-size:14.5px;font-weight:700;color:#2a1a55;text-decoration:none;padding:7px 13px;border-radius:99px;transition:background .15s,color .15s}
#v17-mbar .v17-link:hover{background:#f3eefe;color:#7c3aed}
#v17-mbar .v17-login{font-size:14.5px;font-weight:700;color:#2a1a55;text-decoration:none;padding:7px 13px;border-radius:99px;transition:background .15s;margin-left:6px}
#v17-mbar .v17-login:hover{background:#f3eefe}
#v17-mbar .v17-demo{font-size:14.5px;font-weight:800;color:#fff;background:#010347;text-decoration:none;padding:10px 22px;border-radius:99px;box-shadow:0 3px 0 #00021f;transition:transform .12s,box-shadow .12s;margin-left:4px}
#v17-mbar .v17-demo:hover{transform:translateY(-1px);box-shadow:0 4px 0 #00021f}
/* ── Tools island ── */
#v17-tbar{top:84px;padding:8px 28px;gap:10px;height:44px;box-sizing:border-box}
#v17-tbar .v17-tlabel{font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#64748b;flex-shrink:0;margin-right:2px}
#v17-tbar .v17-tsep{width:1px;height:20px;background:#e8e4f6;flex-shrink:0}
/* ── Merged island, invisible at page top ── */
#v17-merged{top:16px;padding:9px 10px 9px 16px;gap:6px;height:56px;box-sizing:border-box;opacity:0;pointer-events:none;transform:translateX(-50%) scale(0.88)}
/* ── Scroll state ── */
body.v17-scrolled #v17-mbar{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(-52px)}
body.v17-scrolled #v17-tbar{opacity:0;pointer-events:none;transform:translateX(-50%) translateY(32px)}
body.v17-scrolled #v17-merged{opacity:1;pointer-events:auto;transform:translateX(-50%) scale(1)}
/* ── Product pills (tools island) ── */
.v17-pill-wrap{position:relative;display:inline-flex}
.v17-pill{display:inline-flex;align-items:center;gap:5px;border-radius:99px;padding:5px 13px;font-size:13px;font-weight:700;text-decoration:none;transition:background .15s;border-width:1.5px;border-style:solid}
.v17-pill-dx{border-color:#7c40d4;color:#7c40d4}.v17-pill-dx:hover{background:#f3eefe}
.v17-pill-pg{border-color:#1e6bc4;color:#1e6bc4}.v17-pill-pg:hover{background:#eff6ff}
.v17-pill-dc{border-color:#8b5cf6;color:#8b5cf6}.v17-pill-dc:hover{background:#faf5ff}
.v17-pill-co{border-color:#d97706;color:#d97706}.v17-pill-co:hover{background:#fffbeb}
.v17-pill-rl{border-color:#059669;color:#059669}.v17-pill-rl:hover{background:#ecfdf5}
/* ── Tooltip cards ── */
.v17-tip{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);width:360px;background:#fff;border:1.5px solid #ede9fe;border-radius:16px;box-shadow:0 12px 40px rgba(1,3,71,.14),0 2px 8px rgba(1,3,71,.06);padding:18px;z-index:300;opacity:0;pointer-events:none;transition:opacity .18s;white-space:normal}
.v17-pill-wrap:hover .v17-tip{opacity:1;pointer-events:auto}
.v17-tip-name{font-size:13px;font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:6px}
.v17-tip-desc{font-size:12px;color:#64748b;line-height:1.5;margin-bottom:8px}
.v17-tip-link{font-size:12px;font-weight:700;text-decoration:none;display:block;text-align:right}
.v17-tip-hdr{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.v17-tip-icon{width:44px;height:44px;border-radius:50%;background:#f3eefe;display:grid;place-items:center;color:#7c40d4;flex:none}
.v17-tip-ttl{font-size:17px;font-weight:900;color:#010347;flex:1;letter-spacing:-.01em}
.v17-tip-arr{width:34px;height:34px;border-radius:50%;background:#ede9fe;display:grid;place-items:center;color:#7c40d4;flex:none;text-decoration:none;font-size:16px;font-weight:700;transition:background .15s}
.v17-tip-arr:hover{background:#ddd6fe}
.v17-tip-body{font-size:13.5px;color:#475569;line-height:1.6;margin:0 0 14px}
.v17-tip-tags{display:flex;flex-wrap:wrap;gap:7px}
.v17-tip-tag{font-size:12px;font-weight:600;color:#1e1b4b;background:#f5f3ff;border:1px solid #ede9fe;border-radius:99px;padding:5px 12px;display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
/* ── Merged island internals ── */
#v17-merged .v17-m-logo{display:flex;align-items:center;text-decoration:none;flex-shrink:0}
#v17-merged .v17-m-logo svg{height:22px;width:auto}
#v17-merged .v17-m-sep{width:1px;height:18px;background:#e8e4f6;flex-shrink:0;margin:0 2px}
#v17-merged .v17-m-nav{display:flex;align-items:center;gap:1px}
#v17-merged .v17-m-link{font-size:12.5px;font-weight:700;color:#2a1a55;text-decoration:none;padding:5px 9px;border-radius:99px;transition:background .15s}
#v17-merged .v17-m-link:hover{background:#f3eefe;color:#7c3aed}
#v17-merged .v17-m-tools{display:flex;align-items:center;gap:4px}
#v17-merged .v17-m-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;text-decoration:none;border:1.5px solid;transition:transform .15s,box-shadow .15s;position:relative}
#v17-merged .v17-m-dot:hover{transform:scale(1.18);box-shadow:0 2px 8px rgba(0,0,0,.12)}
#v17-merged .v17-m-dot-dx{border-color:#7c40d4;color:#7c40d4;background:#f9f5ff}
#v17-merged .v17-m-dot-pg{border-color:#1e6bc4;color:#1e6bc4;background:#eff6ff}
#v17-merged .v17-m-dot-dc{border-color:#8b5cf6;color:#8b5cf6;background:#faf5ff}
#v17-merged .v17-m-dot-co{border-color:#d97706;color:#d97706;background:#fffbeb}
#v17-merged .v17-m-dot-rl{border-color:#059669;color:#059669;background:#ecfdf5}
#v17-merged .v17-m-demo{font-size:12.5px;font-weight:800;color:#fff;background:#010347;text-decoration:none;padding:7px 15px;border-radius:99px;box-shadow:0 2px 0 #00021f;transition:transform .12s,box-shadow .12s;white-space:nowrap;margin-left:4px}
#v17-merged .v17-m-demo:hover{transform:translateY(-1px);box-shadow:0 3px 0 #00021f}
/* ── Dot tooltips on merged island ── */
#v17-merged .v17-m-dot .v17-tip{left:50%;transform:translateX(-50%)}
/* ── Dropdown nav ── */
/* lift marketing island above tools so the hover bridge works */
#v17-mbar{z-index:202!important}
.v17-nav-item{position:relative;display:inline-flex;align-items:center}
/* transparent bridge covers gap between island bottom and dropdown top */
.v17-nav-item::after{content:'';position:absolute;bottom:-20px;left:-12px;right:-12px;height:20px;pointer-events:auto}
.v17-caret{font-size:9px;margin-left:4px;transition:transform .22s ease;display:inline-block;opacity:.5}
.v17-nav-item:hover>.v17-link .v17-caret{transform:rotate(180deg);opacity:1}
/* dropdown panel */
.v17-drop{position:absolute;top:calc(100% + 20px);left:50%;transform:translateX(-50%) translateY(-8px);background:#fff;border-radius:16px;border:1.5px solid #ece7fb;box-shadow:0 12px 48px rgba(1,3,71,.13),0 2px 8px rgba(1,3,71,.05);padding:8px;z-index:400;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .22s cubic-bezier(.4,0,.2,1);min-width:210px;white-space:normal;text-align:left}
.v17-nav-item:hover>.v17-drop{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
/* arrow pointing up from dropdown */
.v17-drop::before{content:'';position:absolute;top:-6px;left:50%;transform:translateX(-50%);border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid #ece7fb}
.v17-drop::after{content:'';position:absolute;top:-4.5px;left:50%;transform:translateX(-50%);border-left:5.5px solid transparent;border-right:5.5px solid transparent;border-bottom:5.5px solid #fff}
/* inner list links */
.v17-drop-link{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:#1e1b4b;text-decoration:none;padding:9px 12px;border-radius:10px;line-height:1.3;transition:background .14s,color .14s}
.v17-drop-link:hover{background:#f5f3ff;color:#7c3aed}
/* section header inside dropdown */
.v17-drop-hdr{font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#64748b;padding:10px 12px 6px;margin-top:4px}
.v17-drop-hdr:first-child{margin-top:0}
/* divider */
.v17-drop-div{height:1px;background:#f1eefb;margin:6px 8px}
/* featured CTA inside dropdown */
.v17-drop-cta{display:flex;align-items:center;justify-content:space-between;background:#f5f3ff;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:800;color:#7c3aed;text-decoration:none;margin:8px 0 0;transition:background .15s}
.v17-drop-cta:hover{background:#ede9fe}
/* mega menu (Solutions) */
.v17-drop-mega{min-width:800px;padding:20px 8px 8px;left:50%;transform:translateX(-50%) translateY(-8px)}
.v17-nav-item:hover>.v17-drop-mega{transform:translateX(-50%) translateY(0)}
.v17-drop-mega::before,.v17-drop-mega::after{display:none} /* no arrow on wide panel */
.v17-mega-grid{display:grid;grid-template-columns:210px 190px 1fr;gap:0;padding:0 4px}
.v17-mega-col{padding:4px 20px 8px}
.v17-mega-col:first-child{padding-left:8px;border-right:1.5px solid #f1eefb}
.v17-mega-col:nth-child(2){border-right:1.5px solid #f1eefb}
.v17-mega-col:last-child{padding-right:8px}
.v17-mega-use{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}
.v17-mega-note{font-size:11.5px;color:#64748b;padding:6px 12px 2px;font-style:italic}
/* ── Animated gradient text ── */
@keyframes v17-grad-shift{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.v17-grad{background:linear-gradient(to right,#5c27ff,#7c3aed,#a855f7,#c084fc,#a855f7,#7c3aed,#5c27ff);background-size:300% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;animation:v17-grad-shift 5s ease infinite;display:inline}
/* ===================== V17 RESPONSIVE / MOBILE ===================== */
html{overflow-x:clip}
body{overflow-x:clip}
#v17-hero img,section img{max-width:100%}
/* mobile chrome hidden on desktop */
#v17-mobilebar,#v17-drawer,#v17-drawer-backdrop,#v17dash-mobile{display:none}

/* ===== Tablet & below: replace double-decker islands with a single bar + drawer ===== */
@media (max-width:1024px){
  #v17-mbar,#v17-tbar,#v17-merged{display:none!important}
  body{padding-top:62px!important}

  #v17-mobilebar{display:flex;align-items:center;justify-content:space-between;gap:10px;
    position:fixed;top:0;left:0;right:0;z-index:300;height:62px;padding:0 16px;background:#fff;
    border-bottom:1.5px solid #ece7fb;box-shadow:0 2px 14px rgba(1,3,71,.07);
    font-family:"Nunito","Figtree",system-ui,sans-serif}
  .v17-mb-logo{display:flex;align-items:center;text-decoration:none}
  .v17-mb-logo svg{height:27px;width:auto;display:block}
  .v17-mb-right{display:flex;align-items:center;gap:9px}
  .v17-mb-demo{font-size:13.5px;font-weight:800;color:#fff;background:#010347;text-decoration:none;
    padding:9px 16px;border-radius:99px;white-space:nowrap}
  .v17-mb-toggle{width:44px;height:44px;display:grid;place-items:center;border:1.5px solid #ece7fb;
    background:#fff;border-radius:12px;cursor:pointer;color:#010347;padding:0}
  .v17-mb-toggle svg{width:24px;height:24px;display:block}

  #v17-drawer-backdrop{display:block;position:fixed;inset:0;z-index:340;background:rgba(1,3,71,.45);
    opacity:0;pointer-events:none;transition:opacity .25s ease}
  #v17-drawer{display:flex;flex-direction:column;position:fixed;top:0;right:0;z-index:350;
    width:min(88vw,360px);height:100%;background:#fff;box-shadow:-14px 0 44px rgba(1,3,71,.20);
    transform:translateX(102%);transition:transform .3s cubic-bezier(.4,0,.2,1);
    font-family:"Nunito","Figtree",system-ui,sans-serif;overflow-y:auto;overscroll-behavior:contain}
  body.v17-drawer-open #v17-drawer{transform:translateX(0)}
  body.v17-drawer-open #v17-drawer-backdrop{opacity:1;pointer-events:auto}
  body.v17-drawer-open{overflow:hidden}

  .v17-dw-head{display:flex;align-items:center;justify-content:space-between;padding:15px 16px;
    border-bottom:1px solid #f1eefb;position:sticky;top:0;background:#fff;z-index:1}
  .v17-dw-head .v17-mb-logo svg{height:26px}
  .v17-dw-close{width:42px;height:42px;display:grid;place-items:center;border:none;background:#f5f3ff;
    border-radius:11px;color:#010347;cursor:pointer}
  .v17-dw-close svg{width:20px;height:20px}
  .v17-dw-body{padding:8px 12px 0}
  .v17-dw-link{display:flex;align-items:center;font-size:16px;font-weight:700;color:#1e1b4b;
    text-decoration:none;padding:13px 12px;border-radius:10px;min-height:48px}
  .v17-dw-link:hover,.v17-dw-link:active{background:#f5f3ff;color:#7c3aed}
  .v17-dw-label{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
    color:#7c7c95;padding:18px 14px 6px}
  .v17-dw-prod{display:flex;align-items:center;gap:11px;font-size:15px;font-weight:700;
    text-decoration:none;padding:10px 12px;border-radius:10px;min-height:46px;color:#1e1b4b}
  .v17-dw-prod:hover,.v17-dw-prod:active{background:#f5f3ff}
  .v17-dw-prod .dot{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;
    border:1.5px solid;flex:none}
  .v17-dw-prod .dot svg{width:15px;height:15px}
  .v17-dw-actions{display:flex;flex-direction:column;gap:10px;padding:18px;margin-top:14px;
    border-top:1px solid #f1eefb}
  .v17-dw-login{font-size:15px;font-weight:700;color:#1e1b4b;text-decoration:none;text-align:center;padding:9px}
  .v17-dw-scan{font-size:15px;font-weight:800;color:#7c3aed;text-decoration:none;text-align:center;
    padding:13px;border:1.5px solid #c4b5fd;border-radius:99px}
  .v17-dw-demo{font-size:15px;font-weight:800;color:#fff;background:#010347;text-decoration:none;
    text-align:center;padding:13px;border-radius:99px;box-shadow:0 3px 0 #00021f}

  /* flagship product panels: stack to one column */
  #v17-panel-dxcomply,#v17-panel-paymentguard,#v17-panel-dxsecure{
    grid-template-columns:1fr!important;gap:30px!important;padding:30px!important}
  #v17-panel-paymentguard>*:first-child{order:2} /* show headline before the demo */
}
@media (max-width:400px){ .v17-mb-demo{display:none} }

/* ===== Phone refinements ===== */
@media (max-width:768px){
  #v17-panel-dxcomply,#v17-panel-paymentguard,#v17-panel-dxsecure{padding:24px!important;gap:24px!important}
  /* swap the scaled desktop dashboard for a legible summary card */
  #v17dash-frame{display:none!important}
  #v17dash-mobile{display:block}
  /* DXComply consent widget: let the two columns shrink to fit instead of overflowing (higher specificity to beat the widget's own later <style>) */
  #v17c-wrap .v17c-cols{gap:10px}
  #v17c-wrap .v17c-col{flex:1 1 0;min-width:0;width:auto}
  /* interactive demo: stack the URL bar */
  .idemo__bar{flex-wrap:wrap}
  .idemo__bar-prefix{display:none}
  .idemo__input{flex:1 1 100%;min-width:0;width:100%;padding:15px 16px}
  .idemo__btn{flex:1 1 100%;margin:6px;justify-content:center}
  .idemo__frame-wrap{height:440px!important}
  .idemo__scan-panel{left:12px!important;right:12px!important;width:auto!important;bottom:12px!important;top:auto!important}
}

/* keyboard parity: open hover dropdowns/tooltips on focus too (a11y) */
.v17-nav-item:focus-within>.v17-drop{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}
.v17-pill-wrap:focus-within .v17-tip{opacity:1;pointer-events:auto}

/* honor users who prefer reduced motion */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}
/* ── Wide dropdowns: keep contained within the island pill nav (never spill behind the sidebar). JS pins exact left/width; these are the pre-JS fallback. ── */
.v17-drop-platform,.v17-drop-mega{left:0;right:auto;transform:translateY(-8px)}
.v17-nav-item:hover>.v17-drop-platform,.v17-nav-item:hover>.v17-drop-mega,.v17-nav-item:focus-within>.v17-drop-platform,.v17-nav-item:focus-within>.v17-drop-mega{transform:translateY(0)}
