
body{margin:0;background:#fff}
a{color:#165bd8}a:hover{color:#0d46ad}
.d{--navy:#071a36;--deep:#040c1b;--blue:#165bd8;--blue-d:#0f49b4;--sky:#91bbff;--ink:#0b1626;--muted:#4a586c;--line:#dde3eb;--paper:#f4f6f9;--on-dark:#b9c7dc;font-family:'IBM Plex Sans',system-ui,-apple-system,'Segoe UI',sans-serif;color:var(--ink);font-size:18px;line-height:1.6;background:#fff;-webkit-font-smoothing:antialiased}
.d *,.d *::before,.d *::after{box-sizing:border-box}
.d :where(h1,h2,h3,p,ul,ol,dl,dd){margin:0}
.d :where(ul,ol){padding:0;list-style:none}
.d img{display:block;max-width:100%}
.d svg{flex:none}
.d [id]{scroll-margin-top:96px}
.d [tabindex="-1"]:focus{outline:none}
.d a:focus-visible,.d button:focus-visible{outline:3px solid #2a6ef0;outline-offset:3px;border-radius:4px}
.d .dark a:focus-visible,.d .dark button:focus-visible{outline-color:#91bbff}
.wrap{max-width:1200px;margin:0 auto;padding:0 40px}
.disp{font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-stretch:106%;font-weight:640;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
.label{display:block;font-size:16px;font-weight:600;color:var(--blue);margin-bottom:16px}
.dark .label{color:var(--sky)}
.h2{font-size:clamp(34px,4vw,52px)}
.intro{font-size:20px;line-height:1.55;color:var(--muted);max-width:640px}
.dark .intro{color:var(--on-dark)}
.sec{padding:112px 0}
.skip{position:absolute;left:16px;top:-80px;z-index:100;background:#fff;color:var(--navy);padding:12px 16px;border-radius:4px}
.skip:focus{top:12px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:600;font-size:17px;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color .2s,color .2s;white-space:nowrap}
.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:var(--blue-d);color:#fff}
.more{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:17px;font-weight:600;text-decoration:none}
.more:hover{text-decoration:underline;text-underline-offset:4px}
.dark .more{color:var(--sky)}
.hdr{position:sticky;top:0;z-index:60;background:rgba(4,12,27,.92);backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid rgba(145,187,255,.12)}
.hdr-in{display:flex;align-items:center;gap:24px;height:64px}
.logo{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:'Archivo',Arial,sans-serif;font-stretch:110%;font-weight:700;font-size:20px;letter-spacing:-.02em;min-height:44px}
.logo:hover{color:#fff}.logo b{color:var(--sky)}
.snav{display:flex;gap:4px;margin-left:auto}
.snav a{color:#c9d6ea;text-decoration:none;font-size:15px;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;border-radius:6px}
.snav a:hover,.snav a[aria-current="page"]{color:#fff}
.hdr .btn{min-height:44px;padding:0 18px;font-size:15px}
.ftr{background:var(--deep);color:#b9c7dc;padding:64px 0 0}
.ftr-top{display:grid;grid-template-columns:minmax(0,1.3fr) repeat(3,minmax(0,.6fr));gap:48px;padding-bottom:48px}
.ftr-top p{margin-top:16px !important;font-size:15px;max-width:320px;line-height:1.6}
.ftr .fh{margin:0 0 12px;color:#fff;font-family:inherit;font-size:15px;font-weight:600;letter-spacing:0;line-height:1.4}
.ftr-col{display:flex;flex-direction:column}
.ftr-col a{color:#b9c7dc;text-decoration:none;font-size:15px;min-height:36px;display:flex;align-items:center}
.ftr-col a:hover{color:#fff}
.ftr-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;padding:24px 0 32px;border-top:1px solid rgba(145,187,255,.12);font-size:14px;color:#8fa1bb}
.qbtn{width:100%;display:flex;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:16px 0;background:none;border:0;border-top:1px solid var(--line);font:inherit;font-size:18px;font-weight:600;color:var(--ink);text-align:left;cursor:pointer}
.qbtn:hover{color:var(--blue)}
.qbtn .pm{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;border:1px solid var(--line);color:var(--blue);transition:transform .25s}
.q.open .qbtn .pm{transform:rotate(45deg)}
.qa{padding:0 48px 24px 0;font-size:16.5px;color:var(--muted)}
.qlist{border-bottom:1px solid var(--line)}
.chans{border-top:1px solid var(--line)}
.chan{display:grid;grid-template-columns:52px minmax(0,1fr) 24px;align-items:center;gap:16px;min-height:84px;border-bottom:1px solid var(--line);color:var(--ink);text-decoration:none}
.chan:hover{color:var(--blue)}
.chan .ci{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#eaf1ff;color:var(--blue)}
.chan small{display:block;font-size:14px;color:var(--muted)}
.chan strong{display:block;font-family:'Archivo',Arial,sans-serif;font-stretch:104%;font-size:24px;font-size:min(24px,8.3cqi);font-weight:620;letter-spacing:-.02em;line-height:1.2;overflow-wrap:anywhere}
.chan > span:nth-child(2){min-width:0;container-type:inline-size}
.chan .go{color:var(--blue)}
.ftr-contact a::after{content:'›';margin-left:auto;padding-left:16px;color:#6f84a3}
.ftr-contact a{gap:8px}
@media (min-width:921px){.ftr-contact a::after{display:none}}
@media (max-width:920px){.ftr-top{row-gap:40px}.ftr-contact{grid-column:1 / -1;padding-top:32px;border-top:1px solid rgba(145,187,255,.12)}.ftr-contact .fl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 24px}.ftr-contact a{min-height:52px;border-bottom:1px solid rgba(145,187,255,.12);color:#fff}}
@media (max-width:640px){.ftr-top{gap:32px 20px}.ftr-col a{min-height:44px;line-height:1.35}.ftr-contact .fl{grid-template-columns:minmax(0,1fr)}.ftr-contact a{min-height:56px;font-size:16px}}
@media (prefers-reduced-motion: reduce){.d *,.d *::before,.d *::after{animation:none !important;transition:none !important}}
@media (max-width:920px){.wrap{padding-left:24px;padding-right:24px}.sec{padding:80px 0}.ftr-top{grid-template-columns:repeat(2,minmax(0,1fr))}.ftr-top > div:first-child{grid-column:1 / -1}}
@media (max-width:640px){.d{font-size:17px}.wrap{padding-left:16px;padding-right:16px}.sec{padding:64px 0}.hdr-in{height:60px;gap:8px}.snav a.opt{display:none}.hdr .btn .long{display:none}.h2{font-size:32px}.intro{font-size:17px}.label{font-size:15px;margin-bottom:12px}.qbtn{font-size:17px;min-height:64px}.qa{padding-right:0}.chan{min-height:76px;grid-template-columns:44px minmax(0,1fr) 20px;gap:12px}.chan .ci{width:44px;height:44px}.chan strong{font-size:20px;font-size:min(20px,8.3cqi)}.ftr{padding-top:48px}.ftr-col a{min-height:44px}}
/* DataproTS design system v37 (shared) */
.d{--navy:#0a1c3a;--deep:#040d1f;--blue:#165bd8;--blue-d:#0f49b4;--sky:#91bbff;--ink:#0a1424;--muted:#4a586c;--line:#dce3ec;--paper:#f3f6fb;--on-dark:#b9c7dc;--mono:'IBM Plex Mono',ui-monospace,SFMono-Regular,Menlo,monospace}
.disp{font-family:'Archivo','Helvetica Neue',Arial,sans-serif;font-stretch:100%;font-weight:620;letter-spacing:-.035em;line-height:1.02;text-wrap:balance}
.label{display:flex;align-items:center;gap:12px;font-family:var(--mono);font-size:14px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}
.label::before{content:'';flex:none;width:28px;height:1px;background:currentColor;opacity:.7}
.label b{font-weight:500;color:var(--ink)}
.dark .label{color:var(--sky)}
.dark .label b{color:#fff}
.btn{border-radius:999px;font-weight:600;letter-spacing:-.005em}
.btn-blue{background:var(--blue);color:#fff;box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 24px -10px rgba(22,91,216,.8)}
.btn-blue:hover{background:var(--blue-d);color:#fff}
.btn-white{background:#fff;color:var(--navy)}.btn-white:hover{background:#e6eefc;color:var(--navy)}
.hdr{background:rgba(4,13,31,.94);border-bottom:1px solid rgba(145,187,255,.14)}
.hdr-in{height:68px}
.logo{font-stretch:108%}
.ftr{background:var(--deep)}
@media (max-width:640px){.hdr-in{height:60px}.label{font-size:13px;margin-bottom:14px}.label::before{width:20px}}
.d :is(a,button){scroll-margin-top:88px}
/* shared public header */
.hdr{position:sticky;top:0;z-index:60;backdrop-filter:saturate(1.4) blur(14px);-webkit-backdrop-filter:saturate(1.4) blur(14px)}
.hdr-in{display:flex;align-items:center;gap:32px}
.logo{display:inline-flex;align-items:center;gap:10px;color:#fff;text-decoration:none;font-family:'Archivo',Arial,sans-serif;font-weight:700;font-size:20px;letter-spacing:-.02em;min-height:44px}
.logo:hover{color:#fff}.logo b{color:var(--sky)}
.nav{display:flex;gap:2px;margin-left:auto}
.nav a{color:#c9d6ea;text-decoration:none;font-size:15px;font-weight:400;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;border-radius:6px}
.nav a:hover,.nav a[aria-current="page"]{color:#fff}
.nav a[aria-current="page"]{box-shadow:inset 0 -2px 0 var(--sky)}
.hdr .btn{min-height:44px;padding:0 18px;font-size:15px}
.menu-btn{display:none;align-items:center;gap:8px;margin-left:auto;min-height:44px;padding:0 16px;background:transparent;border:1px solid rgba(185,199,220,.35);border-radius:999px;color:#fff;font:inherit;font-size:15px;font-weight:600;cursor:pointer}
.mnav{padding-top:8px;padding-bottom:20px;border-top:1px solid rgba(145,187,255,.12)}
.mnav a{display:flex;align-items:center;min-height:52px;color:#fff;text-decoration:none;font-size:19px;border-bottom:1px solid rgba(145,187,255,.1)}
.mnav a[aria-current="page"]{color:var(--sky)}
.mnav .btn{margin-top:16px;width:100%;border:0}
@media (max-width:1060px){.nav,.hdr .hdr-in > .btn{display:none}.menu-btn{display:inline-flex}}
.ptop{padding:88px 0 40px;border-bottom:1px solid var(--line)}
.ptop h1{font-size:clamp(40px,5vw,64px)}
.ptop .intro{margin-top:16px}
.layout{display:grid;grid-template-columns:240px minmax(0,1fr);gap:80px;padding-top:56px;padding-bottom:112px}
.rail{position:sticky;top:96px;align-self:start;display:flex;flex-direction:column;gap:36px}
.rail-t{display:block;margin:0 0 8px 16px;font-size:13px;font-weight:600;color:var(--muted)}
.otp-btn{display:none}
.otp-list{display:flex;flex-direction:column;border-left:1px solid var(--line);margin-left:16px}
.otp-list a{display:flex;align-items:center;min-height:40px;padding:6px 0 6px 16px;margin-left:-1px;border-left:2px solid transparent;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.35}
.otp-list a{transition:color .15s,border-color .15s}
.otp-list a:hover{border-left-color:#b9c6d8}
.otp-list a[aria-current="location"]{border-left-color:var(--blue);color:var(--blue-d)}
.otp-list a:focus-visible{outline-offset:-1px;border-radius:6px}
.toc{display:flex;flex-direction:column;gap:4px}
.toc-m{display:none}
.toc a{min-height:44px;display:flex;align-items:center;padding:0 16px;border-radius:999px;text-decoration:none;color:var(--ink);font-size:15px;font-weight:500}
.toc a:hover{background:var(--paper)}
.toc a.cur{background:var(--navy);color:#fff;font-weight:600}
.doc{max-width:720px}
.pol{display:flex;flex-direction:column;gap:16px}
.pol h2{font-size:32px;margin-bottom:4px !important}
.pol h3{font-size:19px;font-weight:600;margin-top:16px !important}
.pol p,.pol li{color:#2b394d;font-size:17px}
.pol ul{display:flex;flex-direction:column;gap:8px}
.pol ul li{position:relative;padding-left:20px}
.pol ul li::before{content:'';position:absolute;left:2px;top:12px;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.id{display:grid;grid-template-columns:200px minmax(0,1fr);border-top:1px solid var(--line);margin-top:8px}
.id dt,.id dd{margin:0;padding:14px 0;border-bottom:1px solid var(--line);font-size:16.5px}
.id dt{color:var(--muted)}
.pol h3 + .id{margin-top:0}
@media (max-width:920px){.layout{grid-template-columns:minmax(0,1fr);gap:32px;padding-top:28px}.rail{display:contents}.toc-d{display:none !important}.toc-m{display:flex}.toc{flex-direction:row;flex-wrap:wrap;gap:8px;padding-top:24px}.toc .rail-t{width:100%;margin:0 0 4px}.toc a{border:1px solid var(--line)}.toc a.cur{border-color:var(--navy)}
.otp{border:1px solid var(--line);border-radius:16px;background:var(--paper)}.otp > .rail-t{display:none}.otp-btn{display:flex;width:100%;justify-content:space-between;align-items:center;min-height:52px;padding:0 18px;background:none;border:0;border-radius:16px;font:inherit;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer}.otp-btn svg{transition:transform .2s}.otp.open .otp-btn svg{transform:rotate(180deg)}
.otp-list{display:none;margin:0;border-left:0;border-top:1px solid var(--line);padding:6px 0}.otp.open .otp-list{display:flex}.otp-list a{min-height:44px;padding:8px 18px;margin:0;border-left:0}}
@media (max-width:640px){.ptop{padding:44px 0 28px}.ptop h1{font-size:36px}.ptop .intro{margin-top:12px}.id{grid-template-columns:minmax(0,1fr)}.id dt{border-bottom:0;padding:14px 0 2px;font-size:14px;font-weight:600}.id dd{padding:0 0 14px}.pol{gap:14px}.pol h2{font-size:26px;line-height:1.15}.pol h3{font-size:18px;margin-top:20px !important}.pol p,.pol li{font-size:16.5px;line-height:1.65}.layout{padding-bottom:72px;gap:28px}}

/* ---- DataproTS identity v5 (v46) ---- */
.d{--navy:#08162f;--deep:#08162f;--brand-blue:#165bd8}
.d .lg{display:block;flex:none;height:auto;max-width:none}
.logo{gap:0;font-size:0;line-height:0}
/* header: v45 dark bar on brand navy, supplied white horizontal logo */
.hdr{background:rgba(8,22,47,.96)}
.hdr .lg-h{width:210.4px;margin-left:-9px}
.d .hdr a:focus-visible,.d .hdr button:focus-visible{outline-color:#91bbff}
/* footer: brand navy, white signature */
.ftr{background:#08162f}
.ftr .logo{display:inline-flex}
.ftr .lg-hw{width:210.4px;margin-left:-9px;margin-top:-8px;margin-bottom:-4px}
/* homepage reused the diagram-label class .fl (max-width:150px) for footer contacts; reset it there */
.ftr-contact .fl{max-width:none;font-size:inherit;font-weight:inherit;color:inherit;line-height:inherit}
@media (max-width:640px){.hdr .lg-h{width:182.9px;margin-left:-7.9px}}
@media (max-width:359px){.hdr .lg-h{width:171.5px;margin-left:-7.4px}}
