/* unnanu.css: the single site stylesheet (v52). Sections keep the original cascade order. */
/* ==== v52 tokens: type scale 12/14/16/18/22/28/40/56/80, radii 6/12/999, spacing on a 4px base ==== */
:root{--fs-12:12px;--fs-14:14px;--fs-16:16px;--fs-18:18px;--fs-22:22px;--fs-28:28px;--fs-40:40px;--fs-56:56px;--fs-80:80px;--r-6:6px;--r-12:12px;--r-pill:999px;--r-sm:6px;--r-md:12px;--r-lg:12px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--sp-20:80px;--sp-24:96px;--fs-display:76px;--fs-h1:56px;--fs-h2:40px;--fs-cta:52px;--fs-big:56px;--fs-mid:40px;--fs-post:40px;--fs-t28:28px;--fs-t22:22px;--fs-t18:18px;--fs-t16:16px;}@media (max-width:1023px){:root{--fs-display:56px;--fs-h1:40px;--fs-h2:40px;--fs-cta:40px;--fs-big:40px;--fs-mid:28px;--fs-post:28px;--fs-t28:22px;--fs-t22:18px;--fs-t18:16px;--fs-t16:14px;}}@media (max-width:640px){:root{--fs-display:40px;--fs-h1:40px;--fs-h2:28px;--fs-cta:40px;--fs-big:40px;--fs-mid:28px;--fs-post:28px;--fs-t28:22px;--fs-t22:18px;--fs-t18:16px;--fs-t16:14px;}}

/* ==== fonts.css ==== */
@font-face{font-family: 'Fraunces';font-style: normal;font-weight: 100 900;font-display: swap;src: url(../fonts/Fraunces-normal-400.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'Inter Tight';font-style: normal;font-weight: 100 900;font-display: swap;src: url(../fonts/InterTight-normal-400.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family: 'JetBrains Mono';font-style: normal;font-weight: 400 800;font-display: swap;src: url(../fonts/JetBrainsMono-normal-400.woff2) format('woff2');unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Inter Tight Fallback';src:local('Arial'),local('Liberation Sans'),local('Helvetica');size-adjust:96%}@font-face{font-family:'Fraunces Fallback';src:local('Times New Roman'),local('Liberation Serif'),local('Times');size-adjust:93.6%}

/* ==== site.css ==== */
:root{--paper:#ffffff;--paper-2:#eef3fd;--card:#ffffff;--ink:#0f172a;--ink-2:#475569;--ink-3:#5a697f;--rule:#e2e8f0;--blue:#266adc;--blue-ink:#1a56b8;--hl:#f7dc8a;--green:#2f6b45;--green-bg:#e6efe6;--serif:'Fraunces','Fraunces Fallback',serif;--sans:'Inter Tight','Inter Tight Fallback',system-ui,sans-serif;--mono:'JetBrains Mono',ui-monospace,monospace;--doc:'Fraunces','Fraunces Fallback',serif;--ease:cubic-bezier(.2,.7,.2,1);--hero:#eef2ff;--band-ink:#0f172a;--band-navy:#1a3f6f;--foot:#111827;--on-dark:#f8fafc;--on-dark-2:#d6deea;--on-dark-3:#b7c3d4}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:var(--fs-18);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}.wrap{max-width:1200px;margin:0 auto;padding:0 32px}.eyebrow{font-family:var(--sans);font-size:13px;color:var(--ink-2);font-weight:600}.eyebrow b{color:var(--blue);font-weight:500}h1,h2,h3{font-weight:400}h1{font-family:var(--serif);font-size:var(--fs-h1);line-height:1.02;letter-spacing:-.025em;margin:20px 0 24px}h1 em,h2 em{font-style:normal;background:none}h2{font-family:var(--serif);font-size:var(--fs-h2);line-height:1.06;letter-spacing:-.02em;margin:16px 0 20px}.body{color:var(--ink-2);font-size:var(--fs-18);max-width:52ch}.btn{display:inline-flex;align-items:center;gap:12px;padding:12px 20px;border-radius:var(--r-6);text-decoration:none;font:500 var(--fs-16) var(--sans);border:0;cursor:pointer;transition:transform .2s var(--ease),background .2s,border-color .2s}.btn.primary{background:var(--ink);color:var(--paper)}.btn.primary:hover{background:#000;transform:translateY(-1px)}.btn.ghost{background:transparent;border:1px solid var(--rule);color:var(--ink)}.btn.ghost:hover{border-color:var(--ink)}.play-i{width:22px;height:22px;border-radius:var(--r-pill);background:var(--blue);display:inline-grid;place-items:center}.play-i::before{content:"";border-left:7px solid #fff;border-top:4.5px solid transparent;border-bottom:4.5px solid transparent;margin-left:2px}nav.topnav{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.94);border-bottom:1px solid var(--rule)}nav .wrap{display:flex;align-items:center;gap:36px;height:64px}.brand{font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:12px;text-decoration:none}.brand i{width:22px;height:22px;border:2px solid var(--blue);border-radius:var(--r-pill) var(--r-pill) var(--r-pill) var(--r-6)}nav ul{display:flex;gap:28px;list-style:none;font-size:var(--fs-16);color:var(--ink-2)}nav ul a{text-decoration:none}nav ul a:hover{color:var(--ink)}.navcta{margin-left:auto;display:flex;gap:16px;align-items:center;font-size:var(--fs-16)}.navcta>a:first-child{text-decoration:none;color:var(--ink-2)}.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--rule);min-height:min(calc(100vh - 64px),860px);display:flex;align-items:center}.hero>.wrap{width:100%}.hero-bg{position:absolute;inset:0;z-index:0}.hero-bg video{width:100%;height:100%;object-fit:contain;object-position:center center;opacity:.12;filter:grayscale(.3);background:transparent}.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--hero) 42%,transparent) 0%,color-mix(in srgb,var(--hero) 72%,transparent) 58%,var(--hero) 100%)}.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1.02fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:84px}.lede{font-size:var(--fs-18);color:var(--ink-2);max-width:46ch}.actions{display:flex;gap:12px;margin-top:32px;flex-wrap:wrap}.hero-meta{display:flex;gap:36px;margin-top:44px;padding-top:24px;border-top:1px solid var(--rule);font-size:var(--fs-14);color:var(--ink-2)}.hero-meta strong{display:block;font:500 var(--fs-16) var(--sans);color:var(--ink);margin-bottom:2px}.demo{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 1px 0 #fff inset,0 30px 60px -30px rgba(15,23,42,.25);overflow:hidden;position:relative}.demo-top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--rule);background:var(--paper)}.demo-top .lbl{font:600 var(--fs-12) var(--sans);color:var(--ink-3)}.dots{display:flex;gap:8px;margin-left:auto}.dots span{width:7px;height:7px;border-radius:var(--r-pill);background:var(--rule);transition:background .3s}.dots span.on{background:var(--ink)}.pp{width:28px;height:28px;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--card);cursor:pointer;display:grid;place-items:center;color:var(--ink)}.pp:hover{border-color:var(--ink)}.pp:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.pp svg{width:10px;height:10px}.qbar{margin:16px 16px 0;display:flex;align-items:center;gap:12px;border:1px solid var(--rule);border-radius:var(--r-6);padding:12px 16px;font-size:var(--fs-16);min-height:48px;background:#fff}.qbar svg{flex:none;color:var(--ink-3)}.caret{display:inline-block;width:1.5px;height:18px;background:var(--blue);vertical-align:-3px;margin-left:1px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}.status{margin:12px 16px 0;font:var(--fs-12) var(--sans);color:var(--ink-3);height:16px;transition:opacity .3s}.doc{margin:12px 16px 0;border:1px solid var(--rule);border-radius:var(--r-6);padding:16px 16px 12px;background:#fff;font-family:var(--doc);font-size:var(--fs-14);line-height:1.5;color:#222;height:178px;overflow:hidden;position:relative}.doc .dh{display:flex;justify-content:space-between;font:500 var(--fs-12) var(--mono);color:var(--ink-3);margin-bottom:8px}.doc p{margin-bottom:8px;transition:opacity .4s}.doc b{font-weight:700}.doc.scan p{opacity:.35}.doc .scanline{position:absolute;left:0;right:0;height:38px;top:-40px;background:linear-gradient(180deg,transparent,rgba(35,80,214,.08),transparent);pointer-events:none}.doc.scan .scanline{animation:scan 1.6s var(--ease) 1}@keyframes scan{to{top:180px}}mark.s{background:linear-gradient(90deg,var(--hl) 0 0) no-repeat 0 0/0% 100%;color:inherit;transition:background-size .9s var(--ease);padding:1px 0}mark.s.on{background-size:100% 100%}.ans{margin:12px 16px 16px;border:1px solid var(--rule);border-left:3px solid var(--green);border-radius:var(--r-6);padding:12px 16px;min-height:112px;opacity:0;transform:translateY(8px) scale(.985);transition:opacity .45s var(--ease),transform .45s var(--ease)}.ans.on{opacity:1;transform:none}.ans.no{border-left-color:var(--ink-2)}.badge{display:inline-flex;align-items:center;gap:8px;font:500 var(--fs-12) var(--sans);color:var(--green);background:var(--green-bg);border-radius:var(--r-12);padding:4px 12px}.ans.no .badge{color:var(--ink-2);background:var(--paper-2)}.ans .meta{font-size:var(--fs-12);color:var(--ink-3);margin-left:8px}.ans .t{font-family:var(--serif);font-size:var(--fs-16);line-height:1.38;margin:8px 0 8px}.ans .src{font:var(--fs-12) var(--mono);color:var(--ink-2)}.ans .src span{color:var(--blue)}section{padding:120px 0;border-bottom:1px solid var(--rule)}.sec-head{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:end;margin-bottom:56px}.tour{padding:0;background:var(--ink);color:var(--paper);border:0}.tour .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;padding-top:72px;padding-bottom:72px}.tour .eyebrow{color:#a9aeb6}.tour h2{color:var(--paper)}.tour .body{color:#c3c6cc}.poster{position:relative;border-radius:var(--r-12);overflow:hidden;cursor:pointer;border:1px solid #2b313b;aspect-ratio:16/9;background:#000;display:block;padding:0;width:100%}.poster img{width:100%;height:100%;object-fit:contain;display:block;background:transparent}.poster:hover img{transform:none}.poster .pl{position:absolute;left:20px;bottom:20px;display:flex;align-items:center;gap:12px;background:var(--paper);color:var(--ink);padding:12px 16px 12px 12px;border-radius:var(--r-pill);font:500 var(--fs-16) var(--sans)}.poster .pl .play-i{width:32px;height:32px}.pipe{padding:0;border-bottom:1px solid var(--rule)}.pipe-track{height:260vh;position:relative}.pipe-sticky{position:sticky;top:64px;height:calc(100vh - 64px);display:flex;align-items:center}.pipe-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:64px;align-items:center;width:100%}.steps{position:relative;padding-left:44px}.steps .rail{position:absolute;left:15px;top:14px;bottom:14px;width:2px;background:var(--rule)}.steps .rail i{position:absolute;left:0;top:0;width:2px;height:var(--p,0%);background:var(--blue)}.step{position:relative;padding:16px 0 16px 8px;border-bottom:1px solid var(--rule);opacity:.38;transition:opacity .3s var(--ease)}.step:last-of-type{border-bottom:0}.step::before{content:attr(data-n);position:absolute;left:-44px;top:16px;width:32px;height:32px;border-radius:var(--r-pill);background:var(--paper);border:1.5px solid var(--rule);display:grid;place-items:center;font:500 var(--fs-12) var(--sans);color:var(--ink-3);transition:all .24s var(--ease)}.step.on{opacity:1}.step.on::before{border-color:var(--blue);color:#fff;background:var(--blue)}.step .row{display:flex;justify-content:space-between;align-items:baseline;gap:16px}.step h3{font:500 var(--fs-22) var(--sans);letter-spacing:-.01em}.step p{color:var(--ink-2);font-size:var(--fs-16);max-width:46ch;margin-top:2px}.tag{font:var(--fs-12) var(--mono);color:var(--green);background:var(--green-bg);padding:4px 8px;border-radius:var(--r-12);white-space:nowrap;transform:translateY(4px);opacity:0;transition:all .24s var(--ease) .06s}.step.on .tag{opacity:1;transform:none}.verified{margin-top:16px;margin-left:8px;font:500 var(--fs-14) var(--sans);color:var(--green);background:var(--green-bg);border-radius:var(--r-6);padding:12px 16px;opacity:0;transition:opacity .3s}.verified.on{opacity:1}.pipe-note{font:var(--fs-12) var(--sans);color:var(--ink-3);margin-top:24px}.frame{border:1px solid var(--rule);border-radius:var(--r-12);overflow:hidden;box-shadow:0 30px 60px -30px rgba(15,23,42,.3);background:#fff}.frame img{width:100%;display:block}.caption{display:flex;justify-content:space-between;font:var(--fs-12) var(--sans);color:var(--ink-3);margin-top:16px}.shots{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.flist{border-top:1px solid var(--ink)}.frow{display:grid;grid-template-columns:70px 1fr 1.3fr;gap:24px;padding:28px 0;border-bottom:1px solid var(--rule);align-items:baseline}.frow .n{font:var(--fs-12) var(--sans);color:var(--ink-3)}.frow h3{font:500 var(--fs-22) var(--sans);letter-spacing:-.01em}.frow p{color:var(--ink-2)}.decline{background:var(--paper-2)}.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.nocard{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--ink-2);border-radius:var(--r-12);padding:28px 28px}.nocard .q{font:var(--fs-14) var(--sans);color:var(--ink-3);margin-bottom:16px}.nocard .t{font-family:var(--serif);font-size:var(--fs-28);line-height:1.2;margin:12px 0 12px}.nocard p{color:var(--ink-2);font-size:var(--fs-16)}.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.pcard{border-top:1px solid var(--ink);padding:24px 0 32px}.pcard .no{font:500 var(--fs-22) var(--mono);color:var(--blue);display:block}.pcard .st{display:inline-block;font:600 13px var(--sans);color:var(--ink-2);margin:8px 0 12px}.pcard p{color:var(--ink-2)}.pcard a{color:var(--blue-ink)}.igrid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rule);border-left:1px solid var(--rule)}.icell{border-right:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:32px 28px 32px;background:var(--paper);transition:background .3s}.icell:hover{background:var(--card)}.icell h3{font:500 var(--fs-18) var(--sans);margin-bottom:12px}.icell .ex{font-family:var(--serif);font-size:var(--fs-18);line-height:1.35;display:block;margin-bottom:16px}.icell .m{font:var(--fs-12) var(--sans);color:var(--ink-3);line-height:1.6}.icell .m b{color:var(--ink-2);font-weight:500}.cta{text-align:center;border-bottom:0}.cta h2{font-size:var(--fs-cta);max-width:16ch;margin:16px auto 20px}.cta .body{margin:0 auto 36px}footer{border-top:1px solid var(--rule);padding:32px 0;font:var(--fs-12) var(--sans);color:var(--ink-3)}footer .wrap{display:flex;justify-content:space-between}.reveal{opacity:0;transform:translateY(18px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}.modal{position:fixed;inset:0;z-index:100;background:rgba(15,23,42,.86);display:none;align-items:center;justify-content:center;padding:4vw}.modal.open{display:flex}.modal .box{width:min(1200px,100%);position:relative}.modal video{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;border-radius:var(--r-6);background:transparent;display:block}.modal .x{position:absolute;top:-46px;right:0;background:none;border:1px solid #5a606a;color:var(--paper);border-radius:var(--r-6);padding:8px 12px;font:500 var(--fs-14) var(--sans);cursor:pointer}.modal .x:hover{border-color:var(--paper)}@media (max-width:900px){.hero .wrap,.sec-head,.pipe-grid,.dgrid,.pgrid,.tour .wrap,.shots{grid-template-columns:1fr}.igrid{grid-template-columns:1fr}.frow{grid-template-columns:40px 1fr}.frow p{grid-column:2}nav ul{display:none}.pipe-track{height:auto}.pipe-sticky{position:static;height:auto;padding:92px 0}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}.hero-bg video{display:none}.pipe-track{height:auto}.pipe-sticky{position:static;height:auto;padding:112px 0}}.forceall .reveal{opacity:1!important;transform:none!important}.forceall .step,.forceall .tag,.forceall .verified{opacity:1!important;transform:none!important}.forceall .pipe-track{height:auto}.forceall .pipe-sticky{position:static;height:auto;padding:112px 0}nav ul a.cur{color:var(--ink)}.ph{display:inline-block;border:1.5px dashed #b0884a;background:repeating-linear-gradient(135deg,rgba(247,220,138,.18) 0 8px,transparent 8px 16px);color:#7a5a1e;font:500 var(--fs-14) var(--sans);padding:2px 8px;border-radius:var(--r-6);letter-spacing:.02em}.ph.block{display:block;padding:20px 20px;font-size:var(--fs-14);line-height:1.5}.proof{padding:0;border-bottom:1px solid var(--rule);background:var(--paper)}.proof .wrap{display:grid;grid-template-columns:repeat(5,1fr);gap:0}.proof .pi{padding:28px 24px;border-left:1px solid var(--rule)}.proof .pi:first-child{border-left:0;padding-left:0}.proof .pi strong{display:block;font:500 var(--fs-18) var(--sans);color:var(--ink);margin-bottom:8px}.proof .pi span{font-size:var(--fs-14);color:var(--ink-2)}.why .wgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--ink)}.why .wc{padding:28px 28px 8px 0}.why .wc+.wc{padding-left:28px;border-left:1px solid var(--rule)}.why .wc .n{font:var(--fs-12) var(--sans);color:var(--blue)}.why .wc h3{font:500 var(--fs-22) var(--sans);margin:12px 0 8px;letter-spacing:-.01em}.why .wc p{color:var(--ink-2)}.crumb{font:var(--fs-12) var(--sans);color:var(--ink-3);margin-bottom:8px}.crumb a{text-decoration:none}.crumb a:hover{color:var(--ink)}.howg{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}.howg .hc{padding:28px 24px 12px 0}.howg .hc+.hc{padding-left:24px;border-left:1px solid var(--rule)}.howg .n{font:var(--fs-12) var(--sans);color:var(--blue)}.howg h3{font:500 var(--fs-22) var(--sans);margin:12px 0 8px}.howg p{color:var(--ink-2);font-size:var(--fs-16)}.seeg{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:start}.seel{list-style:none;border-top:1px solid var(--ink)}.seel li{display:grid;grid-template-columns:200px 1fr;gap:20px;padding:16px 0;border-bottom:1px solid var(--rule)}.seel b{font-weight:500}.seel span{color:var(--ink-2)}.pilot{list-style:none;counter-reset:p;border-top:1px solid var(--ink)}.pilot li{counter-increment:p;display:grid;grid-template-columns:60px 1fr;padding:20px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-18)}.pilot li::before{content:"0" counter(p);font:var(--fs-14) var(--sans);color:var(--blue);padding-top:4px}.rel{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.rel a{display:block;text-decoration:none;border:1px solid var(--rule);border-radius:var(--r-12);padding:24px;background:var(--card);transition:border-color .2s,transform .3s var(--ease)}.rel a:hover{border-color:var(--ink);transform:translateY(-2px)}.rel .k{font:600 13px var(--sans);color:var(--ink-3)}.rel h3{font:500 var(--fs-22) var(--sans);margin:8px 0 8px}.rel p{color:var(--ink-2);font-size:var(--fs-16)}.frow{text-decoration:none}.frow:hover h3{color:var(--blue-ink)}.frow .go{font:var(--fs-12) var(--sans);color:var(--blue);grid-column:3;margin-top:-16px}a.icell{text-decoration:none;display:block}.icell .go{font:var(--fs-12) var(--sans);color:var(--blue);margin-top:16px;display:block}.samp{font:500 var(--fs-12) var(--sans);letter-spacing:.06em;color:var(--blue);border:1px solid rgba(35,80,214,.35);border-radius:var(--r-6);padding:2px 8px}.mx{padding:16px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 16px 0}.chip{font:var(--fs-12) var(--sans);border:1px solid var(--rule);border-radius:var(--r-12);padding:4px 12px;background:#fff;color:var(--ink-2);transition:all .45s var(--ease)}.chip.on{border-color:var(--blue);color:var(--blue);background:#eef3fd}.chip .en{display:none}.chip.tr .orig{display:none}.chip.tr .en{display:inline}.rows{margin:12px 16px 0;border:1px solid var(--rule);border-radius:var(--r-6);background:#fff;overflow:hidden}.rowi{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--rule);font-size:var(--fs-14);transition:opacity .5s,background .5s,max-height .6s var(--ease),padding .6s;max-height:60px}.rowi:last-child{border-bottom:0}.rowi .ic{font:500 var(--fs-12) var(--mono);color:#b23b2e;border:1px solid #e3c2bd;border-radius:var(--r-6);padding:1px 4px}.rowi .st{margin-left:auto;font:var(--fs-12) var(--sans);color:var(--ink-3)}.rowi.ok .st{color:var(--green)}.rowi.lock{opacity:.4;background:var(--paper-2)}.rowi.lock .st{color:#8a5a2b}.rowi.gone{max-height:0;padding-top:0;padding-bottom:0;opacity:0;border-bottom:0}.bar{height:6px;border-radius:var(--r-6);background:var(--paper-2);overflow:hidden;flex:0 0 120px;margin-left:auto}.bar i{display:block;height:100%;width:0;background:var(--blue);transition:width .9s var(--ease)}.rowi.done .bar i{background:var(--green)}.counter{margin:12px 16px 16px;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--rule);padding-top:12px}.counter b{font:500 var(--fs-28) var(--sans)}.counter span{font:var(--fs-12) var(--sans);color:var(--ink-3)}.chat{margin:12px 16px 16px;display:flex;flex-direction:column;gap:12px;min-height:250px}.bub{max-width:88%;padding:12px 12px;border-radius:var(--r-12);font-size:var(--fs-14);opacity:0;transform:translateY(6px);transition:all .4s var(--ease)}.bub.on{opacity:1;transform:none}.bub.sys{background:var(--paper-2);color:var(--ink-2)}.bub.me{align-self:flex-end;background:#2a303a;color:#fff}.bub.ai{background:var(--paper-2);border:1px solid var(--rule)}.bub.ai .c{display:inline-block;margin-top:8px;font:var(--fs-12) var(--mono);border:1px solid var(--rule);background:#fff;border-radius:var(--r-12);padding:2px 8px;color:var(--ink-2)}.wbtn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--rule);border-radius:var(--r-6);padding:4px 12px;font:500 var(--fs-14) var(--sans);background:#fff;transition:all .3s}.wbtn.on{border-color:var(--blue);color:var(--blue);background:#eef3fd;transform:scale(.96)}.flow{position:relative;height:430px;margin:8px}.flow svg{position:absolute;inset:0;width:100%;height:100%}.flow .src{position:absolute;left:8px;font:500 var(--fs-12) var(--sans);background:#fff;border:1px solid var(--rule);border-radius:var(--r-6);padding:4px 8px;white-space:nowrap;opacity:.35;transition:opacity .4s,border-color .4s}.flow .src.on{opacity:1;border-color:var(--blue)}.flow .hub{position:absolute;right:14px;top:50%;transform:translateY(-50%);background:var(--ink);color:var(--paper);border-radius:var(--r-12);padding:20px 20px;text-align:center;width:150px}.flow .hub b{font:400 var(--fs-22) var(--serif);display:block}.flow .hub span{font:var(--fs-12) var(--sans);color:var(--hl)}.flow .hub em{font:var(--fs-12) var(--sans);font-style:normal;display:block;margin-top:8px;color:#c3c6cc}.igr{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}.igr .g{padding:24px 24px 28px 0;border-bottom:1px solid var(--rule)}.igr .g:nth-child(3n+2),.igr .g:nth-child(3n){padding-left:24px;border-left:1px solid var(--rule)}.igr .g h3{font:600 13px var(--sans);color:var(--ink-3);margin-bottom:12px}.igr .g ul{list-style:none}.igr .g li{font:500 var(--fs-18) var(--sans);padding:4px 0}.igr .g li small{font:var(--fs-12) var(--sans);color:var(--ink-3);margin-left:8px}.notfound{font:var(--fs-14) var(--mono);color:var(--ink-3)}.inv-sec{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}.inv-sec h2{font-size:var(--fs-mid)}.kv{list-style:none;border-top:1px solid var(--ink)}.kv li{padding:16px 0;border-bottom:1px solid var(--rule);display:grid;grid-template-columns:220px 1fr;gap:16px}.kv b{font-weight:500}.kv span{color:var(--ink-2)}.team{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.team .m{border:1.5px dashed #b0884a;border-radius:var(--r-12);padding:24px;background:repeating-linear-gradient(135deg,rgba(247,220,138,.12) 0 8px,transparent 8px 16px)}.team .m .av{width:56px;height:56px;border-radius:var(--r-pill);border:1.5px dashed #b0884a;margin-bottom:16px}@media (max-width:900px){.proof .wrap,.why .wgrid,.howg,.seeg,.rel,.igr,.inv-sec,.team{grid-template-columns:1fr}.why .wc+.wc,.howg .hc+.hc{padding-left:0;border-left:0}.seel li,.kv li{grid-template-columns:1fr}}.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:var(--paper);padding:8px 12px;border-radius:var(--r-6);z-index:200}.skip:focus{left:8px}:focus-visible{outline:2px solid var(--blue);outline-offset:2px}#menu{display:none;margin-left:auto;background:none;border:1px solid var(--rule);border-radius:var(--r-6);padding:8px 12px;font:500 var(--fs-14) var(--sans);color:var(--ink)}.stickycta{position:fixed;left:50%;bottom:18px;transform:translate(-50%,140%);z-index:40;display:flex;align-items:center;gap:16px;background:var(--ink);color:var(--paper);padding:8px 8px 8px 20px;border-radius:var(--r-pill);box-shadow:0 14px 40px -12px rgba(15,23,42,.5);transition:transform .45s var(--ease);font-size:var(--fs-14)}.stickycta.show{transform:translate(-50%,0)}.stickycta .btn.primary{background:var(--paper);color:var(--ink);padding:8px 16px;border-radius:var(--r-pill)}.stickycta button{background:none;border:0;color:#c3c6cc;font:500 var(--fs-14) var(--sans);cursor:pointer}.audience{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px;max-width:600px}.audience div{border-left:2px solid var(--blue);padding:2px 0 2px 16px;font-size:var(--fs-16);color:var(--ink-2)}.audience b{display:block;font:600 13px var(--sans);color:var(--ink);margin-bottom:4px}.tgrid{display:grid;grid-template-columns:300px 1fr 330px;gap:24px;align-items:start}.tq{display:block;width:100%;text-align:left;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-6);padding:12px 16px;margin-bottom:12px;font:500 var(--fs-16) var(--sans);color:var(--ink);cursor:pointer;transition:all .2s}.tq:hover{border-color:var(--ink)}.tq.on{border-color:var(--blue);background:#eef3fd;color:var(--blue-ink)}.tq small{display:block;font:var(--fs-12) var(--sans);color:var(--ink-3);margin-top:4px}.tdoc{background:#fff;border:1px solid var(--rule);border-radius:var(--r-12);padding:24px 24px;height:470px;overflow:auto;font-family:var(--doc);font-size:var(--fs-14);line-height:1.55}.tdoc :is(h3,h4){font:600 var(--fs-16) var(--doc);margin:16px 0 4px}.tdoc .tt{font:700 var(--fs-18) var(--sans);color:#1d4ea8;text-align:center;margin-bottom:8px}mark.t{background:transparent;color:inherit;transition:background .5s;padding:1px 0}mark.t.on{background:var(--hl)}.tans{border:1px solid var(--rule);border-left:3px solid var(--green);border-radius:var(--r-12);background:var(--card);padding:16px 20px;opacity:.2;transition:opacity .4s}.tans.on{opacity:1}.tans.no{border-left-color:var(--ink-2)}.tans.no .badge{color:var(--ink-2);background:var(--paper-2)}.tans .t{font-family:var(--serif);font-size:var(--fs-18);line-height:1.35;margin:12px 0 8px}.tans .src{font:var(--fs-12) var(--mono);color:var(--blue)}.tsteps{list-style:none;margin-top:16px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card);padding:8px 16px}.tstep{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-14);color:var(--ink-3);transition:color .3s}.tstep:last-child{border-bottom:0}.tstep.on{color:var(--ink)}.tstep em{font:var(--fs-12) var(--mono);font-style:normal;color:var(--green)}.tstep.fail em{color:#8a5a2b}.tstep.fail{color:var(--ink)}.note{font:var(--fs-12) var(--sans);color:var(--ink-3);margin-top:16px}.cmp{width:100%;border-collapse:collapse;font-size:var(--fs-16)}.cmp th,.cmp td{text-align:left;padding:16px 16px;border-bottom:1px solid var(--rule);vertical-align:top}.cmp thead th{font:600 13px var(--sans);color:var(--ink-2);border-bottom:1px solid var(--ink)}.cmp thead th.us{color:var(--blue)}.cmp td.us{background:#e0eaff;font-weight:500}.cmp td small{display:block;color:#526175;font-size:var(--fs-14);font-weight:400}.y{color:var(--green)}.n{color:#8a5a2b}.roig{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}.roi-in label{display:grid;grid-template-columns:1fr 120px;align-items:center;gap:16px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-16)}.roi-in label small{display:block;font:var(--fs-12) var(--sans);color:var(--ink-3)}.roi-in input{font:500 var(--fs-16) var(--mono);padding:8px 12px;border:1px solid var(--rule);border-radius:var(--r-6);background:#fff;width:100%;color:var(--ink)}.roi-in .asm{font:var(--fs-12) var(--sans);color:#7a5a1e;border:1px dashed #b0884a;border-radius:var(--r-6);padding:0 4px;margin-left:8px}.roi-out{background:var(--ink);color:var(--paper);border-radius:var(--r-12);padding:32px}.roi-out .big{font:400 var(--fs-56) var(--serif);letter-spacing:-.02em;line-height:1}.roi-out .lbl{font:600 13px var(--sans);color:#a9aeb6;margin:8px 0 24px}.roi-out .f{font:var(--fs-12) var(--mono);color:#c3c6cc;border-top:1px solid #2b313b;padding-top:16px;line-height:1.7}.tl{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:2px solid var(--ink);position:relative}.tl .w{padding:28px 28px 0 0;position:relative}.tl .w+.w{padding-left:28px;border-left:1px solid var(--rule)}.tl .w::before{content:"";position:absolute;top:-8px;left:0;width:14px;height:14px;border-radius:var(--r-pill);background:var(--blue);border:3px solid var(--paper)}.tl .w+.w::before{left:26px}.tl .wk{font:600 13px var(--sans);color:var(--blue)}.tl h3{font:500 var(--fs-22) var(--sans);margin:8px 0 12px}.tl ul{list-style:none;color:var(--ink-2)}.tl li{padding:4px 0;border-bottom:1px dashed var(--rule)}.press{padding:44px 0}.press .row{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.press .lab{font:600 13px var(--sans);color:var(--ink-3);margin-right:12px}.logo-ph{flex:1;min-width:140px;height:58px;border:1.5px dashed #b0884a;border-radius:var(--r-6);display:grid;place-items:center;font:var(--fs-12) var(--sans);color:#7a5a1e;background:repeating-linear-gradient(135deg,rgba(247,220,138,.14) 0 8px,transparent 8px 16px)}.quote-ph{margin-top:24px;border:1.5px dashed #b0884a;border-radius:var(--r-12);padding:28px;font:400 var(--fs-22) var(--serif);color:#7a5a1e;background:repeating-linear-gradient(135deg,rgba(247,220,138,.1) 0 8px,transparent 8px 16px)}.quote-ph small{display:block;font:var(--fs-12) var(--sans);margin-top:12px}.faq details{border-bottom:1px solid var(--rule)}.faq{border-top:1px solid var(--ink)}.faq summary{cursor:pointer;list-style:none;padding:20px 40px 20px 0;font:500 var(--fs-18) var(--sans);position:relative}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:16px;font:400 var(--fs-28) var(--sans);color:var(--ink-3);transition:transform .3s}.faq details[open] summary::after{transform:rotate(45deg)}.faq details p{color:var(--ink-2);padding:0 0 24px;max-width:70ch}.twocol{display:grid;grid-template-columns:.8fr 1.2fr;gap:56px}.demo .doc{height:auto;min-height:150px;max-height:200px}.demo .rows{max-height:240px}.trust{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid var(--ink)}.trust .c{padding:28px 28px 28px 0;border-bottom:1px solid var(--rule)}.trust .c:nth-child(2n){padding-left:28px;border-left:1px solid var(--rule)}.trust h3{font:500 var(--fs-22) var(--sans);margin-bottom:8px}.trust p{color:var(--ink-2);font-size:var(--fs-16)}.trust code{font:var(--fs-12) var(--mono);color:var(--ink-3);display:block;margin-top:8px}@media (max-width:900px){nav ul,.navcta>a:first-child{display:none}#menu{display:block}.navcta{margin-left:12px}body.navopen nav ul{display:flex;flex-direction:column;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:20px 32px;border-bottom:1px solid var(--rule);gap:16px}.tgrid,.roig,.tl,.twocol,.trust,.audience{grid-template-columns:1fr}.tl .w+.w{padding-left:0;border-left:0}.tl .w+.w::before{left:0}.trust .c:nth-child(2n){padding-left:0;border-left:0}.cmp{font-size:var(--fs-14)}.cmp th,.cmp td{padding:12px 8px}.cmpwrap{overflow-x:auto}.tdoc{height:320px}section{padding:80px 0}.hero .wrap{padding-top:40px}.proof .pi{border-left:0;padding-left:0;border-top:1px solid var(--rule)}.stickycta{width:calc(100% - 24px);justify-content:space-between}h1{font-size:var(--fs-40)}.wrap{padding:0 20px}}.forceall .stickycta{display:none}.flow .hub{width:170px}.flow .hub b{font-size:var(--fs-18)}:root{--s1:8px;--s2:16px;--s3:24px;--s4:32px;--s5:40px;--s6:48px;--s8:64px;--s10:80px;--s12:96px;--s15:120px}body{font-size:var(--fs-18);line-height:1.55}h1{font-family:var(--serif);font-weight:400;font-size:var(--fs-display);line-height:1.0;letter-spacing:-.025em;margin:24px 0 24px;max-width:13ch}h1 em,h2 em{font-style:normal;color:inherit;background:none}h2{font-family:var(--serif);font-weight:400;font-size:var(--fs-h2);line-height:1.05;letter-spacing:-.02em;margin:16px 0 24px}.cta h2{font-size:var(--fs-cta);max-width:16ch}.step h3{font-family:var(--serif);font-weight:500;font-size:var(--fs-28);letter-spacing:-.01em}.frow h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-28);letter-spacing:-.01em}.icell h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-22)}.howg h3,.tl h3,.rel h3,.trust h3,.why .wc h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-22);letter-spacing:-.01em}.eyebrow{font-family:var(--sans);font-size:13px;color:var(--ink-2);font-weight:600}.lede{font-size:var(--fs-22);color:#2c313a;max-width:56ch}.hero .wrap>div:first-child{max-width:60ch}.hero-bg::after{background:linear-gradient(90deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.86) 45%,rgba(255,255,255,.6) 100%),linear-gradient(180deg,transparent 70%,var(--paper))}.body,p.body{font-size:var(--fs-18);color:#3f454f}.step p,.howg p,.trust p,.rel p,.tl li,.faq details p,.seel span,.audience div,.frow p,.why .wc p,.kv span,.icell .m{font-size:var(--fs-18);line-height:1.55}.icell .m{font-family:var(--sans)}.btn{min-height:48px;padding:12px 24px}.pp{width:44px;height:44px}nav ul a,.navcta>a:first-child{display:inline-flex;align-items:center;min-height:44px}.tq{min-height:48px}.faq summary{min-height:48px}#menu{min-height:44px;min-width:56px}.roi-in input{min-height:44px}.stickycta{display:none!important}:focus-visible{outline:3px solid var(--blue);outline-offset:3px;border-radius:var(--r-6)}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue);outline-offset:3px}.reveal{transition:opacity .5s var(--ease),transform .5s var(--ease);transform:translateY(8px)}mark.s{transition:background-size .5s var(--ease)}.doc.scan .scanline{animation-duration:.6s}.bar i{transition:width .45s var(--ease)}.step,.tag,.verified{transition-duration:.24s!important}.ans,.bub,.chip,.rowi,.tans,mark.t,.tstep{transition-duration:.4s!important}nav ul{gap:8px;align-items:center}nav li{position:relative}nav ul>li>a,nav .dd>button{padding:0 12px;border-radius:var(--r-6)}nav .dd>button{background:none;border:0;font:inherit;color:var(--ink-2);cursor:pointer;min-height:44px;display:inline-flex;align-items:center;gap:8px}nav .dd>button::after{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}nav .dd>button:hover,nav .dd.open>button{color:var(--ink)}nav .menu{position:absolute;top:100%;left:0;min-width:300px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 20px 40px -20px rgba(15,23,42,.3);padding:8px;display:none;flex-direction:column;z-index:50}nav .dd.open .menu,nav .dd:focus-within .menu{display:flex}@media (hover:hover){nav .dd:hover .menu{display:flex}}nav .menu a{display:block;padding:12px 12px;border-radius:var(--r-6);text-decoration:none;color:var(--ink);min-height:44px}nav .menu a:hover,nav .menu a:focus-visible{background:var(--paper)}nav .menu a small{display:block;color:var(--ink-3);font-size:var(--fs-14)}nav .menu .sep{border-top:1px solid var(--rule);margin:8px 0}.crumbs{font:var(--fs-14) var(--sans);color:var(--ink-3);margin-bottom:16px}.crumbs ol{list-style:none;display:flex;gap:8px;flex-wrap:wrap}.crumbs li+li::before{content:"/";margin-right:8px}.crumbs a{text-decoration:none;color:var(--ink-2);display:inline-block;padding:12px 0;margin:-12px 0}.crumbs a:hover{color:var(--ink)}@media (max-width:900px){body.navopen nav ul{gap:0}body.navopen nav .menu{position:static;display:flex;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0;background:none}h1{font-size:var(--fs-40);max-width:none}.lede{font-size:var(--fs-18)}.hero-bg::after{background:rgba(255,255,255,.9)}}.crumbs~main h1{font-size:var(--fs-h1);max-width:15ch}.crumbs~main .hero .wrap{padding-top:32px}.btn{white-space:nowrap}@media (max-width:900px){html,body{overflow-x:hidden}.brand .bt{display:none}nav .wrap{gap:12px}.navcta .btn{padding:12px 16px;min-height:44px;font-size:var(--fs-14)}#menu{margin-left:0}.navcta{margin-left:auto}}:root{--ink-3:#5a697f}::selection{background:var(--hl);color:var(--ink)}html{caret-color:var(--blue);scrollbar-color:#cbd5e1 var(--paper)}a{text-underline-offset:3px;text-decoration-thickness:1px}.roi-out .big,.counter b,.proof .pi strong,.cmp td,.tag,.tstep em{font-variant-numeric:tabular-nums}.reveal,.reveal.in{opacity:1;transform:none;transition:none}.ans,.tans,.nocard{border-left:1px solid var(--rule)!important}.ans .badge,.tans .badge{margin-bottom:2px}.audience div{border-left:1px solid var(--rule);padding-left:16px}.rel{gap:0;border-top:1px solid var(--ink)}.rel a{border:0;border-radius:0;background:none;padding:24px 24px 24px 0;border-bottom:1px solid var(--rule)}.rel a+a{padding-left:24px;border-left:1px solid var(--rule)}.rel a:hover{transform:none}.rel a:hover h3{color:var(--blue-ink)}.ico{width:12px;height:12px;vertical-align:-1px;display:inline-block}@media (max-width:900px){.rel a+a{padding-left:0;border-left:0}}.diagwrap{margin:0;background:#fff;border:1px solid var(--rule);border-radius:var(--r-12);padding:24px}.diag{width:100%;height:auto;display:block}.secgrid{display:grid;gap:40px}.secgrp>h3{margin:0 0 16px}.secgrp{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.secgrp>h3{grid-column:1/-1}.secitem{background:#fff;border:1px solid var(--rule);border-radius:var(--r-12);padding:24px}.secitem :is(h3,h4){font-family:var(--serif);font-weight:400;font-size:var(--fs-22);line-height:1.2;margin:0 0 8px}.secitem p{margin:0 0 12px;color:var(--ink-2);font-size:var(--fs-16)}.secitem .ref{font-size:var(--fs-14);margin:0;color:var(--ink-3)}.secitem .ref span{font-family:var(--sans);font-size:13px;display:block;margin-bottom:4px;font-weight:600}.secitem code{font-family:var(--mono);font-size:var(--fs-12);color:var(--blue-ink);word-break:break-word}.ans .t sup,.bub sup,#at sup{font:600 var(--fs-12) var(--sans);color:var(--blue);background:#eef3fd;border-radius:var(--r-6);padding:0 4px;margin-left:1px}.doc p b{font-family:var(--mono);font-size:var(--fs-12);font-weight:500;color:var(--ink-3)}@media(max-width:640px){.diagwrap{padding:8px;overflow-x:auto}.diag{min-width:640px}}.prose{max-width:760px;padding-top:var(--s10);padding-bottom:var(--s10)}.prose h2{margin:8px 0 24px}.prose p,.prose li{font-size:var(--fs-18);line-height:1.55;color:var(--ink-2)}.prose li{margin-bottom:8px}.hero-simple{min-height:auto!important;padding:var(--s12) 0 var(--s10)}.hero-simple .wrap{display:block}.pvbar{position:sticky;top:0;z-index:100;background:var(--hl);color:var(--ink);font:500 var(--fs-14) var(--sans);padding:8px 16px;text-align:center}.wph1{font-size:var(--fs-big);max-width:20ch}.wplist{display:grid;gap:16px;max-width:900px}.wpcard{display:grid;grid-template-columns:64px 1fr;gap:24px;background:#fff;border:1px solid var(--rule);border-radius:var(--r-12);padding:32px}.wpcard .n{font:500 var(--fs-14) var(--sans);color:var(--blue-ink)}.wpcard h2{font-size:var(--fs-28);margin:0 0 8px;line-height:1.15}.wpcard h2 a{color:var(--ink);text-decoration:none}.wpcard h2 a:hover{color:var(--blue-ink)}.wpcard p{margin:0 0 8px;color:var(--ink-2)}.wpcard .links{font-size:var(--fs-16);margin-top:12px}.wp{max-width:720px;margin:0 auto}.wp h2{font-size:var(--fs-28);margin:56px 0 16px;line-height:1.15}.wp p,.wp li{font-size:var(--fs-18);line-height:1.65;color:#2a2f38}.wp li{margin-bottom:12px}.wp ol,.wp ul{padding-left:24px}.wp code{font-family:var(--mono);font-size:var(--fs-14);background:var(--paper-2);padding:1px 4px;border-radius:var(--r-6)}.wpfig{margin:40px -80px;background:#fff;border:1px solid var(--rule);border-radius:var(--r-12);padding:24px}.wpfig img{width:100%;height:auto;display:block;border-radius:var(--r-6);border:1px solid var(--rule)}.wpfig figcaption{font:500 var(--fs-12)/1.5 var(--sans);color:var(--ink-3);margin-top:12px;letter-spacing:.02em}@media(max-width:1000px){.wpfig{margin:32px 0}}@media(max-width:640px){.wpcard{grid-template-columns:1fr;gap:8px;padding:24px}.wpfig{padding:8px;overflow-x:auto}.wpfig .diag{min-width:600px}}.brand .brand-logo{height:26px;width:auto;display:block}.brand .bt{font:600 13px var(--sans);color:var(--ink-3);padding-left:12px;border-left:1px solid var(--rule)}footer .flogo{display:inline-block;vertical-align:-4px;margin-right:12px}footer .flogo img{height:18px;width:auto;display:block}@media (max-width:900px){.brand .brand-logo{height:22px}}.hero-simple .wrap.has-vis{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}.wphero-vis{margin:0;background:#fff;border:1px solid var(--rule);border-radius:var(--r-12);padding:20px;box-shadow:0 1px 0 rgba(15,23,42,.03),0 18px 40px -24px rgba(15,23,42,.18)}.wphero-vis svg,.wphero-vis img{width:100%;height:auto;display:block}.wphero-vis figcaption,.wpthumb-vis figcaption{font:600 13px var(--sans);color:var(--ink-3);margin-top:12px}.wpcard.has-thumb{grid-template-columns:200px 48px 1fr;align-items:start}.wpthumb{display:block;border:1px solid var(--rule);border-radius:var(--r-12);background:#ffffff;padding:8px;overflow:hidden}.wpthumb-vis{margin:0}.wpthumb-vis svg{width:100%;height:auto;display:block}@media (max-width:1000px){.hero-simple .wrap.has-vis{grid-template-columns:1fr;gap:32px}}@media (max-width:640px){.wpcard.has-thumb{grid-template-columns:1fr}.wpthumb{max-width:320px}}.modal .verr{margin:12px 0 0;padding:12px 16px;border:1.5px dashed #b0884a;border-radius:var(--r-6);background:#fdf3d6;color:#5a4208;font:var(--fs-14) var(--sans)}.modal .verr a{color:inherit}#tv.err{display:none}nav.crumbs{position:relative;z-index:1;background:none;border:0}nav.topnav .menu{z-index:70}nav.topnav,nav.topnav .wrap{isolation:isolate}.frame img,.prose img,figure img{max-width:100%;height:auto;object-fit:contain}.screen-sec .seel-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 28px;margin:24px 0 32px;list-style:none}.screen-sec .seel-row li{display:block;border-top:1px solid var(--rule);padding:16px 0}.screen-sec .seel-row li b{display:block;font-weight:600;margin-bottom:4px}.screen-sec .seel-row li span{color:var(--ink-2);font-size:var(--fs-16)}.screen-sec h2{margin-bottom:8px}.ans .own{display:flex;align-items:center;gap:12px;margin-top:12px;padding-top:12px;border-top:1px solid var(--rule);font-size:var(--fs-14);color:var(--ink-2)}.ans .own img{width:28px;height:28px;border-radius:var(--r-6);object-fit:contain;flex:none;background:var(--paper-2)}.ans .own b{color:var(--ink);font-weight:600}.ans .own .sp{margin-left:auto;font:500 var(--fs-12) var(--mono);color:#7a5a00;background:#fdf3d6;border:1px solid #ecd38a;border-radius:var(--r-6);padding:2px 4px;white-space:nowrap}.ans .parts{margin:8px 0 2px}.ans .part{border-top:1px solid var(--rule);padding:8px 0;font-size:var(--fs-14)}.ans .part .pq{font-size:var(--fs-14);color:var(--ink-2)}.ans .part .vchip{font:500 var(--fs-12) var(--mono);color:var(--green);background:var(--green-bg);border-radius:var(--r-pill);padding:1px 8px;margin-left:8px;white-space:nowrap}.ans .rec{font-size:var(--fs-12);color:#5c4a12;background:#fbf7ea;border:1px dashed #e0c97a;border-radius:var(--r-6);padding:8px 8px;margin-top:8px}footer.sitefoot{padding:56px 0 28px;font:var(--fs-14) var(--sans);color:#e5e7eb;background:var(--foot);border-top:0}footer.sitefoot .wrap{display:block}.fgrid{display:grid;grid-template-columns:1.4fr repeat(5,1fr);gap:32px}.fbrand p{margin:16px 0 12px;max-width:30ch;font-size:var(--fs-14);line-height:1.5}.fbrand a{color:var(--ink-2)}.flogo2 img{height:28px;width:auto;display:block}.fcol h4{font:600 13px var(--sans);color:var(--ink-3);margin-bottom:12px}.fcol ul{list-style:none}.fcol li{margin:0 0 8px}.fcol a{text-decoration:none;color:var(--ink-2)}.fcol a:hover{color:var(--ink);text-decoration:underline}.fbase{display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--rule);margin-top:40px;padding-top:20px;font:var(--fs-12) var(--sans);color:var(--ink-3);flex-wrap:wrap}@media (max-width:1000px){.fgrid{grid-template-columns:1fr 1fr 1fr}.fbrand{grid-column:1/-1}}@media (max-width:560px){.fgrid{grid-template-columns:1fr 1fr}}nav.topnav .menu.mega{width:min(860px,calc(100vw - 48px));left:0;padding:20px 20px 12px}nav.topnav .mgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px 24px}nav.topnav .mcol :is(h6,.mh){font:600 var(--fs-12)/1 var(--mono);letter-spacing:.12em;color:var(--blue,#266adc);margin:8px 12px 8px;padding-bottom:8px;border-bottom:1px solid var(--rule,#e2e8f0)}nav.topnav .mcol a{display:block}@media (max-width:900px){nav.topnav .mgrid{grid-template-columns:1fr}nav.topnav .menu.mega{width:auto}}.demo-top .uc.uc-inhead{position:relative;--uc-w:46px;flex:none;margin:-4px 4px -4px 0;opacity:1}.demo-top .uc-inhead .uc-say{right:auto;left:calc(100% + 8px);bottom:50%;transform:translate(-4px,50%);color:var(--blue);background:var(--paper);padding:4px 8px;border-radius:var(--r-6)}.demo-top .uc-inhead.uc-saying .uc-say{transform:translate(0,50%)}.demo-top:has(.uc-saying) .lbl{opacity:0;transition:opacity .3s}.demo-top .lbl{transition:opacity .3s}.demo{border-top:3px solid var(--blue)}.demo .qbar{transition:border-color .3s,box-shadow .3s}.demo .qbar:has(#q:not(:empty)){border-color:rgba(35,80,214,.55);box-shadow:0 0 0 3px rgba(35,80,214,.12)}#badge .ico,.ans .vchip{color:var(--blue)}@media (max-width:600px){.demo-top .uc.uc-inhead{--uc-w:36px}}.pipe-track.auto{height:auto}.pipe-track.auto .pipe-sticky{position:static;height:auto;padding:96px 0}.steps .rail i{transition:height 1.2s cubic-bezier(.2,.7,.2,1)}.step{cursor:pointer}.step.cur h3{color:var(--blue)}.step.cur::before{box-shadow:0 0 0 5px rgba(35,80,214,.15)}.pipe-track.paused .rail i{background:var(--ink-3)}@media (prefers-reduced-motion:reduce){.pipe-track .step{opacity:1}.steps .rail i{height:100%!important}}.pricing{padding:72px 0 96px}.pricing .lede{max-width:60ch;color:var(--ink-2);font-size:var(--fs-18);margin-top:12px}.pr-h{font:400 var(--fs-big)/1.05 var(--serif);letter-spacing:-.02em;margin-top:12px}.pr-h em{color:var(--blue)}.pr-toggle{display:inline-flex;margin:28px 0 32px;border:1px solid var(--rule);border-radius:var(--r-pill);padding:4px;background:#fff}.pr-toggle button{border:0;background:none;border-radius:var(--r-pill);padding:8px 20px;font:500 var(--fs-14) var(--sans);color:var(--ink-2);cursor:pointer}.pr-toggle button[aria-pressed=true]{background:var(--ink);color:#fff}.pr-toggle small{color:var(--blue);font-weight:600}.pr-toggle button[aria-pressed=true] small{color:#c9d6ff}.pr-cards{display:grid;grid-template-columns:repeat(var(--n),1fr);gap:20px;align-items:stretch}.pr-card{position:relative;background:var(--card,#fff);border:1px solid var(--rule);border-radius:var(--r-12);padding:28px 24px;display:flex;flex-direction:column}.pr-card.feat{border:2px solid var(--blue);box-shadow:0 24px 50px -30px rgba(35,80,214,.45)}.pr-badge{position:absolute;top:-12px;left:22px;background:var(--blue);color:#fff;font:600 13px var(--sans);border-radius:var(--r-pill);padding:4px 12px}.pr-card h3{font:500 var(--fs-22) var(--serif)}.pr-blurb{color:var(--ink-2);font-size:var(--fs-16);min-height:44px;margin-top:4px}.pr-price{display:flex;align-items:baseline;gap:4px;margin-top:16px}.pr-cur{font:500 var(--fs-22) var(--sans)}.pr-amt{font:500 var(--fs-40)/1 var(--sans);letter-spacing:-.02em}.pr-unit{color:var(--ink-3);font-size:var(--fs-14);margin-left:8px}.pr-note{color:var(--ink-3);font:var(--fs-12) var(--sans);min-height:16px;margin-top:8px}.pr-cta{margin-top:20px;justify-content:center;text-align:center}.pr-min{color:var(--ink-3);font-size:var(--fs-12);margin-top:8px;text-align:center}.pr-feats{list-style:none;margin:20px 0 0;padding:16px 0 0;border-top:1px solid var(--rule);display:grid;gap:8px;font-size:var(--fs-14)}.pr-feats li{padding-left:24px;position:relative}.pr-feats li::before{content:"";position:absolute;left:2px;top:6px;width:11px;height:6px;border-left:2px solid var(--blue);border-bottom:2px solid var(--blue);transform:rotate(-45deg)}.pr-fine{color:var(--ink-3);font-size:var(--fs-14);margin-top:16px}.pr-h2{font:400 var(--fs-40) var(--serif);margin:72px 0 20px}.pr-tablewrap{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r-12);background:#fff}.pr-table{width:100%;border-collapse:collapse;font-size:var(--fs-14);min-width:640px}.pr-table th,.pr-table td{padding:12px 16px;border-bottom:1px solid var(--rule);text-align:left}.pr-table thead th{font:500 var(--fs-16) var(--serif);background:var(--paper)}.pr-table td{color:var(--ink-2)}.pr-table tbody th{font-weight:500}.pr-grp th{font:600 13px var(--sans)!important;color:var(--blue);background:#f8fafc}.pr-faqs{display:grid;gap:12px;max-width:820px}.pr-faq{border:1px solid var(--rule);border-radius:var(--r-12);background:#fff;padding:16px 20px}.pr-faq summary{cursor:pointer;font-weight:500}.pr-faq p{color:var(--ink-2);margin-top:8px}.pr-teaser{padding:72px 0;border-top:1px solid var(--rule)}.pr-teaser .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}.pr-teaser h2{font:400 var(--fs-mid)/1.1 var(--serif);margin:8px 0 12px}.pr-teaser p{color:var(--ink-2);margin-bottom:20px;max-width:52ch}.pr-chips{list-style:none;display:grid;gap:12px;padding:0}.pr-chips li{display:flex;justify-content:space-between;border:1px solid var(--rule);background:#fff;border-radius:var(--r-12);padding:16px 20px}.pr-chips b{font:500 var(--fs-18) var(--serif)}.pr-chips span{font:var(--fs-14) var(--sans);color:var(--blue)}@media (max-width:900px){.pr-cards{grid-template-columns:1fr}.pr-teaser .wrap{grid-template-columns:1fr}}.hanim{background:#0f1420;color:#e8ecf4;border:1px solid #232b3b;border-top:3px solid var(--blue);border-radius:var(--r-12);box-shadow:0 30px 60px -30px rgba(15,23,42,.45);overflow:hidden;font:var(--fs-14)/1.35 var(--sans);min-height:430px}.ha-top{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #232b3b;background:#121929}.ha-logo{height:19px;width:auto;filter:brightness(0) invert(1);flex:none}.ha-t{font-weight:600;font-size:var(--fs-14)}.ha-samp{margin-left:auto;font:600 var(--fs-12) var(--sans);letter-spacing:.1em;color:#9fb4ff;border:1px solid #3a4a7a;border-radius:var(--r-6);padding:2px 8px}.ha-body{padding:16px;display:grid;gap:12px}.ha-card{background:#151c2c;border:1px solid #232b3b;border-radius:var(--r-12);padding:12px 16px}.ha-card>small,.ha-rank>small{display:block;color:#8a94a8;font-size:var(--fs-12);margin-bottom:8px}.ha-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ha-kpi{background:#151c2c;border:1px solid #232b3b;border-radius:var(--r-12);padding:12px 12px}.ha-kpi small{display:block;color:#8a94a8;font-size:var(--fs-12)}.ha-kpi b{font:600 var(--fs-22) var(--sans);color:#8fa8ff}.ha-bars{display:flex;align-items:flex-end;gap:4px;height:96px}.ha-bars i{flex:1;height:var(--t);border-radius:var(--r-6) var(--r-6) 0 0;transform-origin:bottom;transform:scaleY(0);transition:transform .7s cubic-bezier(.2,.7,.2,1) var(--d)}.ha-bars i{background:linear-gradient(to top,#5b7cfa 0 var(--r),#e0b25c var(--r))}.hanim.go .ha-bars i{transform:none}.ha-list{list-style:none;padding:0;display:grid;gap:8px}.ha-list li{display:grid;grid-template-columns:1fr 90px 34px;gap:8px;align-items:center;opacity:0;transform:translateY(6px);transition:opacity .4s var(--d),transform .4s var(--d)}.ha-list li i{height:6px;border-radius:var(--r-6);background:#5b7cfa;width:0;transition:width .8s var(--d)}.ha-list b{text-align:right;color:#8a94a8;font-weight:500}.ha-list span{overflow-wrap:anywhere}.hanim.go .ha-list li{opacity:1;transform:none}.hanim.go .ha-list li i{width:var(--w)}.ha-oig{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.ha-areas{list-style:none;padding:0;display:grid;gap:8px}.ha-areas li{display:grid;grid-template-columns:1fr;gap:4px}.ha-areas span{color:#c8d0e0;font-size:var(--fs-12)}.ha-areas i{height:8px;border-radius:var(--r-6);background:var(--c);width:0;transition:width .9s cubic-bezier(.2,.7,.2,1) var(--d)}.ha-areas b{display:none}.hanim.go .ha-areas i{width:var(--w)}.ha-ics{position:relative;height:calc(var(--n)*96px)}.ha-ic{position:absolute;left:0;right:0;height:88px;top:calc(var(--from)*96px);background:#151c2c;border:1px solid #232b3b;border-radius:var(--r-12);padding:8px 12px 8px 60px;transition:top .9s cubic-bezier(.3,.7,.2,1),opacity .5s,transform .6s}.ha-ic p{font-size:var(--fs-12);font-weight:600;margin:2px 0}.ha-ic em{font-style:normal;color:#3ad19a;font-size:var(--fs-12)}.ha-k{font:600 var(--fs-12) var(--sans);color:#8a94a8}.ha-sc{position:absolute;left:12px;top:12px;font:600 var(--fs-16) var(--mono);color:#f08a8a}.hanim.ranked .ha-ic{top:calc(var(--to)*96px)}.hanim.ranked .ha-ic:first-child{border-color:#5b7cfa}.ha-ic.ha-dec{opacity:0;transform:translateX(40px)}.ha-ic.ha-dec em{color:#e0b25c}.hanim.dec .ha-ic.ha-dec{opacity:1;transform:none}.ha-uqs{list-style:none;padding:0;position:relative;height:calc(var(--n)*80px)}.ha-uq{position:absolute;left:0;right:0;top:calc(var(--from)*80px);height:72px;display:grid;grid-template-columns:28px 1fr auto;gap:8px;background:#151c2c;border:1px solid #232b3b;border-radius:var(--r-12);padding:8px 12px;transition:top .9s cubic-bezier(.3,.7,.2,1)}.hanim.ranked .ha-uq{top:calc(var(--to)*80px)}.ha-rk{color:#8a94a8;font:var(--fs-12) var(--mono)}.ha-uq p{font-weight:600;font-size:var(--fs-12);overflow-wrap:anywhere}.ha-uq small{color:#8a94a8;font-size:var(--fs-12)}.ha-uq small b{color:#e8ecf4}.ha-score{align-self:start;font:600 var(--fs-12) var(--mono);background:#e8ecf4;color:#0f1420;border-radius:var(--r-pill);padding:2px 8px}.ha-acts{display:flex;align-items:center;gap:12px;margin-top:4px;font-size:var(--fs-12)}.ha-req{border:1px solid #3a4a7a;border-radius:var(--r-6);padding:1px 8px;color:#c8d0e0;transition:background .3s,color .3s}.ha-see{color:#9fb4ff}.ha-wait{color:#e0b25c}.hanim.req .ha-first .ha-req{background:var(--blue);border-color:var(--blue);color:#fff}.ha-ppl{margin-left:auto;display:flex;gap:4px}.ha-ppl img{width:22px;height:22px;border-radius:var(--r-6);object-fit:contain;border:1.5px solid #0f1420;opacity:0;transform:scale(.6);transition:opacity .4s var(--d),transform .4s var(--d);background:var(--paper-2)}.hanim.ppl .ha-ppl img{opacity:1;transform:none}.ha-preview{background:#151c2c;border:1px dashed #3a4a7a;border-radius:var(--r-12);padding:12px 12px;opacity:0;transform:translateY(10px);transition:opacity .5s,transform .5s}.ha-preview small{color:#9fb4ff;font-size:var(--fs-12)}.ha-preview p{font-size:var(--fs-12);color:#c8d0e0;margin-top:2px}.hanim.see .ha-preview{opacity:1;transform:none}@media (max-width:600px){.ha-oig{grid-template-columns:1fr}.ha-kpis{grid-template-columns:1fr 1fr 1fr}.ha-kpi b{font-size:var(--fs-18)}.ha-list li{grid-template-columns:1fr 50px 30px}.hanim{min-height:0}}@media (prefers-reduced-motion:reduce){.hanim *{transition:none!important}}.flow .src.tinted{opacity:1;border-color:color-mix(in srgb,var(--c) 70%,#fff);border-width:1.5px;box-shadow:inset 3px 0 0 var(--c)}.flow .src.tinted.on{border-color:var(--c);box-shadow:inset 3px 0 0 var(--c),0 0 0 3px color-mix(in srgb,var(--c) 14%,transparent)}.flow .hub{transition:box-shadow .2s}.flow .hub.pulse{animation:hubpulse .7s ease-out}@keyframes hubpulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--pc,#266adc) 55%,transparent)}100%{box-shadow:0 0 0 14px transparent}}@media (prefers-reduced-motion:reduce){.flow .hub.pulse{animation:none}}.demo-top .demo-logo{width:28px;height:28px;flex:none;margin-right:2px}#docbody p[data-c]{border-left:3px solid var(--cc);padding-left:8px}#docbody p[data-c] b{color:var(--cc)}#ans sup[data-c]{color:var(--cc);font-weight:600}[data-c="1"]{--cc:#266adc}[data-c="2"]{--cc:#1a6b64}[data-c="3"]{--cc:#8a5d0f}[data-c="4"]{--cc:#7a3e8a}[data-c="5"]{--cc:#a3402f}.rowi.ok{box-shadow:inset 3px 0 0 var(--green)}.rowi.lock{box-shadow:inset 3px 0 0 #8a5a2b}.chips .chip:nth-child(5n+1){--lc:#266adc}.chips .chip:nth-child(5n+2){--lc:#1f7a72}.chips .chip:nth-child(5n+3){--lc:#8a5d0f}.chips .chip:nth-child(5n+4){--lc:#7a3e8a}.chips .chip:nth-child(5n+5){--lc:#a3402f}.chips .chip::before{content:"";display:inline-block;width:7px;height:7px;border-radius:var(--r-pill);background:var(--lc);margin-right:8px;vertical-align:1px}.ha-ic{box-shadow:inset 3px 0 0 var(--ac,#5b7cfa)}.demo-top .uc-inhead .uc-say{left:0;right:auto;bottom:auto;top:calc(100% + 6px);transform:translateY(-4px);z-index:5;box-shadow:0 2px 8px rgba(0,0,0,.08);white-space:nowrap}.demo-top .uc-inhead.uc-saying .uc-say{transform:translateY(0)}:root{--logo-blue:#266ADC;--logo-blue-hover:#2f72e1;--logo-blue-active:#1a56b8}.btn.demo,.navcta .btn.primary,a.btn.primary[href$="/demo"],.stickycta a.btn.primary[href$="/demo"]{background:var(--logo-blue);color:#fff;border:0}.btn.demo:hover,.navcta .btn.primary:hover,a.btn.primary[href$="/demo"]:hover,.stickycta a.btn.primary[href$="/demo"]:hover{background:var(--logo-blue-hover);color:#fff}.btn.demo:active,.navcta .btn.primary:active,a.btn.primary[href$="/demo"]:active{background:var(--logo-blue-active);transform:none}.btn.demo:focus-visible,.navcta .btn.primary:focus-visible,a.btn.primary[href$="/demo"]:focus-visible{outline:2px solid var(--ink);outline-offset:3px;box-shadow:0 0 0 2px #fff inset}.dm{padding:56px 0 96px}.dm-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:72px;align-items:start}.dm-copy{padding-top:24px}.dm-h{font-size:var(--fs-big);max-width:14ch}.dm-list{list-style:none;margin-top:36px;border-top:1px solid var(--ink)}.dm-list li{padding:16px 0 16px 36px;border-bottom:1px solid var(--rule);position:relative;font-size:var(--fs-18);color:#2c313a;line-height:1.5}.dm-list li::before{content:"";position:absolute;left:4px;top:23px;width:14px;height:8px;border-left:2px solid var(--logo-blue);border-bottom:2px solid var(--logo-blue);transform:rotate(-45deg)}.dm-list li b{color:var(--ink);font-weight:600}.dm-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:36px;box-shadow:0 1px 0 rgba(15,23,42,.04),0 24px 48px -32px rgba(15,23,42,.25)}.dm-ft{font:400 var(--fs-28)/1.15 var(--serif);letter-spacing:-.01em;margin-bottom:8px}.dm-form label{display:block;font:500 var(--fs-14) var(--sans);color:var(--ink-2);margin:20px 0 8px}.dm-form input,.dm-form select,.dm-form textarea{width:100%;font:var(--fs-16) var(--sans);color:var(--ink);background:#fff;border:1px solid var(--rule);border-radius:var(--r-6);padding:12px 12px;min-height:46px}.dm-form textarea{resize:vertical;min-height:96px}.dm-form input:focus,.dm-form select:focus,.dm-form textarea:focus{outline:2px solid var(--logo-blue);outline-offset:0;border-color:var(--logo-blue)}.dm-phone{display:grid;grid-template-columns:132px 1fr;gap:8px}.dm-row .dm-phone{grid-template-columns:minmax(92px,40%) 1fr}.dm-submit{width:100%;justify-content:center;margin-top:28px;padding:16px 20px;font-size:var(--fs-16)}.dm-priv{font:var(--fs-12)/1.5 var(--sans);color:var(--ink-3);margin-top:12px}.dm-err{display:none;margin-top:12px;padding:12px 12px;border-radius:var(--r-6);background:#fbeaea;color:#8a1f1f;font-size:var(--fs-14)}.dm-err[data-err="1"]{display:block}.dm-hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}.dm-thanks{display:none;text-align:left;padding:8px 0}.dm-card[data-state="sent"] .dm-form{display:none}.dm-card[data-state="sent"] .dm-thanks{display:block}.dm-thanks h2{font:400 var(--fs-40)/1.1 var(--serif);margin:20px 0 12px}.dm-thanks p{color:var(--ink-2);font-size:var(--fs-18);margin-bottom:24px;max-width:42ch}.dm-thanks .dm-cal{margin:0 8px 12px 0}.dm-thanks h2:focus{outline:none}.dm-tick{width:48px;height:48px;border-radius:var(--r-pill);background:var(--logo-blue);position:relative}.dm-tick::after{content:"";position:absolute;left:15px;top:14px;width:18px;height:10px;border-left:3px solid #fff;border-bottom:3px solid #fff;transform:rotate(-45deg)}@media (max-width:900px){.dm{padding:24px 0 64px}.dm-grid{grid-template-columns:1fr;gap:36px}.dm-copy{padding-top:0}.dm-card{padding:24px 20px}.dm-phone{grid-template-columns:116px 1fr}}.pt-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.pt-g{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:28px 28px 12px}.pt-n{font:500 var(--fs-12) var(--sans);color:var(--blue)}.pt-g h3{font:400 var(--fs-28)/1.15 var(--serif);margin:8px 0 16px}.pt-g ul{list-style:none}.pt-g li{padding:16px 0;border-top:1px solid var(--rule)}.pt-g li b{display:block;font:600 var(--fs-16) var(--sans);color:var(--ink);margin-bottom:4px}.pt-g li span{display:block;font-size:var(--fs-16);color:var(--ink-2);line-height:1.55}.pt-note{margin-top:24px;font:var(--fs-12)/1.6 var(--sans);color:var(--ink-3);max-width:90ch}@media (max-width:900px){.pt-grid{grid-template-columns:1fr}}:root{--navh:65px}.dm-row{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.dm-row>div{min-width:0}@media (min-width:901px){.dm{min-height:calc(100vh - var(--navh));min-height:calc(100dvh - var(--navh));display:flex;align-items:center;padding:clamp(12px,2.2vh,32px) 0;scroll-margin-top:var(--navh)}.dm>.wrap{width:100%}.dm-grid{gap:clamp(32px,4.5vw,72px);align-items:center}.dm-copy{padding-top:0}.dm-h{font-size:var(--fs-big);line-height:1.04}.dm-copy .lede{font-size:var(--fs-t18);margin-top:clamp(12px,1.8vh,20px)}.dm-list{margin-top:clamp(16px,2.6vh,32px)}.dm-list li{padding:clamp(8px,1.25vh,16px) 0 clamp(8px,1.25vh,16px) 32px;font-size:var(--fs-t16);line-height:1.4}.dm-list li::before{top:calc(clamp(7px,1.25vh,14px) + 5px)}.dm-card{padding:clamp(20px,3vh,32px) clamp(20px,2.4vw,32px)}.dm-ft{font-size:var(--fs-t28);margin-bottom:0}.dm-form label{margin:clamp(8px,1.4vh,16px) 0 4px;font-size:var(--fs-12)}.dm-form input,.dm-form select{min-height:clamp(38px,5.4vh,44px);padding:8px 12px;font-size:var(--fs-16)}.dm-form textarea{min-height:clamp(52px,8vh,80px);padding:8px 12px;font-size:var(--fs-16)}.dm-submit{margin-top:clamp(12px,2vh,20px);padding:clamp(12px,1.6vh,16px) 20px}.dm-priv{margin-top:8px;font-size:var(--fs-12)}}@media (max-width:600px){.dm-row{grid-template-columns:1fr}}@media (min-width:901px){body:has(.dm) main{padding-top:0;margin-top:0}.dm{min-height:calc(100vh - 122px);min-height:calc(100dvh - 122px);scroll-margin-top:72px}}[data-rv]{transition:opacity .62s cubic-bezier(.2,.7,.2,1) var(--rvd,0ms),transform .62s cubic-bezier(.2,.7,.2,1) var(--rvd,0ms),filter .62s cubic-bezier(.2,.7,.2,1) var(--rvd,0ms)}[data-rv]:not(.rv-in){opacity:0;transform:translate3d(0,10px,0)}[data-rv="h"]:not(.rv-in){transform:translate3d(0,14px,0);filter:blur(5px)}[data-rv="t"].eyebrow:not(.rv-in){transform:translate3d(-8px,0,0)}.cardfx{position:relative;transition:transform .2s cubic-bezier(.2,.7,.2,1),box-shadow .2s ease,border-color .2s ease;will-change:transform}.cardfx::after{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;pointer-events:none;opacity:0;transition:opacity .2s ease;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(38,106,220,.75),rgba(38,106,220,.12) 45%,transparent 70%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}.cardfx:hover,.cardfx:focus-within{transform:translate3d(0,-3px,0);box-shadow:0 2px 4px rgba(15,23,42,.04),0 18px 36px -18px rgba(15,23,42,.28)}.cardfx:hover::after,.cardfx:focus-within::after{opacity:1}.cardfx :is(.ico,svg,.pt-n){transition:transform .2s cubic-bezier(.2,.7,.2,1)}.cardfx:hover :is(.ico,.pt-n),.cardfx:focus-within :is(.ico,.pt-n){transform:translate3d(2px,-1px,0)}html[data-theme="dark"] .cardfx:hover,html[data-theme="dark"] .cardfx:focus-within{box-shadow:0 18px 36px -18px rgba(0,0,0,.6)}@media (prefers-reduced-motion:reduce){[data-rv]{opacity:1!important;transform:none!important;filter:none!important}.cardfx,.cardfx:hover{transform:none!important}}img,video{-webkit-user-drag:none;user-drag:none}.demo .doc{max-height:none}.doc.nomatch #docbody{opacity:.35}.demo .uc .uc-clip{overflow:visible}.demo .uc-rest .uc-fig{transform:none;opacity:1}.secbento{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.secbento .secitem{display:flex;flex-direction:column;margin:0}.secbento .sgrp{font-family:var(--sans);font-size:13px;color:var(--ink-3);margin:2px 0 8px;font-weight:600}.sico{width:36px;height:36px;border-radius:var(--r-12);display:grid;place-items:center;color:var(--logo-blue);background:color-mix(in srgb,var(--logo-blue) 10%,transparent);margin-bottom:16px}.sico svg{width:22px;height:22px;overflow:visible}@media (max-width:1099px){.secbento{grid-template-columns:repeat(2,minmax(0,1fr))}.secbento .secitem:first-child{grid-column:1/-1}}@media (max-width:699px){.secbento{grid-template-columns:1fr}.secbento .secitem:first-child{grid-column:auto}}@media (prefers-reduced-motion:no-preference){.secitem.ico-play .a-shackle{animation:ico-lock .7s cubic-bezier(.3,.7,.2,1) both}@keyframes ico-lock{0%{transform:translateY(-3px)}60%{transform:translateY(.6px)}100%{transform:none}}.secitem.ico-play .a-draw{stroke-dasharray:30;animation:ico-draw .8s .15s ease-out both}@keyframes ico-draw{from{stroke-dashoffset:30}to{stroke-dashoffset:0}}.secitem.ico-play .a-turn{transform-origin:8px 12px;animation:ico-turn .8s cubic-bezier(.3,.7,.2,1) both}@keyframes ico-turn{from{transform:rotate(-70deg)}to{transform:none}}.secitem.ico-play .a-l1,.secitem.ico-play .a-l2,.secitem.ico-play .a-l3{stroke-dasharray:10;animation:ico-draw2 .35s ease-out both}.secitem.ico-play .a-l2{animation-delay:.2s}.secitem.ico-play .a-l3{animation-delay:.4s}@keyframes ico-draw2{from{stroke-dashoffset:10}to{stroke-dashoffset:0}}.secitem.ico-play .a-drop{animation:ico-drop .7s ease-in both}@keyframes ico-drop{from{transform:translateY(-3px);opacity:0}to{transform:translateY(6px);opacity:0}50%{opacity:1}}.secitem.ico-play .a-hand{transform-origin:12px 12px;animation:ico-turn2 .9s cubic-bezier(.3,.7,.2,1) both}@keyframes ico-turn2{from{transform:rotate(-180deg)}to{transform:none}}.secitem.ico-play .a-blink{animation:ico-blink .9s steps(2) 2 both}.secitem.ico-play .a-blink2{animation:ico-blink .9s .2s steps(2) 2 both}@keyframes ico-blink{50%{opacity:.15}}}html[data-theme="dark"] .sico{color:#9cbcff;background:rgba(156,188,255,.12)}.doc.scan p{opacity:1;color:var(--ink-3)}.doc.scan p[data-c] b{color:#5a6f9e}.doc.nomatch #docbody{opacity:1;color:var(--ink-3)}.doc.nomatch #docbody b{color:var(--ink-3)}.rowi.lock{opacity:1;color:var(--ink-2)}.rowi.lock .ic{color:#8f3226}.notfound{color:var(--ink-2)}html[data-theme="dark"] .doc.scan p[data-c] b{color:#8fa4d6}html[data-theme="dark"] .rowi.lock .ic{color:#f0a196;border-color:#6b3a33}.v23-tm{margin:0;align-self:center;padding:20px 20px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card);display:grid;gap:12px}.v23-tm .tm-top{display:flex;justify-content:space-between;gap:12px;font:600 var(--fs-12) var(--sans);color:var(--ink-3)}.v23-tm .tm-line{display:grid;grid-template-columns:auto 1fr;gap:12px;font-size:var(--fs-16);line-height:1.5;color:var(--ink-2)}.v23-tm time{font:500 var(--fs-12) var(--mono);color:var(--ink-3);padding-top:4px;white-space:nowrap}.v23-tm b{color:var(--ink);font-weight:600;margin-right:4px}.v23-tm mark{background:var(--hl);color:var(--ink);padding:1px 2px;border-radius:var(--r-6)}.v23-tm .tm-tag{display:inline-block;margin-left:8px;font:600 var(--fs-12) var(--sans);color:#1a56b8;background:#e8edfb;border:1px solid #c3cff3;border-radius:var(--r-6);padding:1px 8px;vertical-align:1px}html[data-theme="dark"] .v23-tm .tm-tag{color:#c4d4ff;background:#1f2a44;border-color:#34466f}.v23-tm .tm-meta{font-size:var(--fs-12);color:var(--ink-3)}body.home main>section:not(.cta){content-visibility:auto;contain-intrinsic-size:auto 900px}@media print{main>section{content-visibility:visible}}.pf-sec .pf-row{display:flex;gap:16px 28px;align-items:center;flex-wrap:wrap}.pf-sec .pf-row+.pf-row{margin-top:28px;padding-top:24px;border-top:1px solid var(--rule)}.pf-sec h2.lab{font:600 13px var(--sans);color:var(--ink-3);margin:0 12px 0 0;min-width:150px}/* v24: Trusted by */.pf-logos{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;--pf-g:18px 48px;gap:var(--pf-g);flex:1}.pf-logos li{display:flex;align-items:center;height:56px}.pf-logos img{height:var(--h);width:auto;display:block}.pf-logos .pf-k{display:none}html[data-theme="dark"] .pf-dk .pf-c{display:none}html[data-theme="dark"] .pf-dk .pf-k{display:block}html[data-theme="dark"] .pf-sec .pf-logos img{filter:none}html[data-theme="dark"] .pf-logos:not(.pf-dk) li{background:#eef3fd;border-radius:var(--r-12);padding:8px 16px;box-shadow:0 0 0 1px rgba(255,255,255,.06)}.pf-awards{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:12px 28px;flex:1}.pf-awards li{flex:1 1 320px;display:flex;gap:12px;align-items:flex-start;font:500 var(--fs-16)/1.45 var(--sans);color:var(--ink)}.pf-awards .pf-ic{flex:none;width:22px;height:22px;margin-top:1px;color:var(--blue)}.pf-quotes{margin-top:32px;display:grid;gap:20px;grid-template-columns:minmax(0,1fr)}.pf-quotes.pf-q2{grid-template-columns:repeat(2,minmax(0,1fr))}.pf-quote{margin:0;padding:28px 32px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card);max-width:none;display:flex;flex-direction:column;justify-content:space-between}.pf-q2 .pf-quote p{font-size:var(--fs-t22)}.pf-quote blockquote{margin:0}.pf-quote p{font:400 var(--fs-t28)/1.4 var(--serif);color:var(--ink);margin:0}.pf-quote figcaption{margin-top:16px;font:var(--fs-14) var(--sans);color:var(--ink-3)}.pf-quote figcaption{margin-top:20px}.pf-quote figcaption b{font-weight:600;color:var(--ink-2);margin-right:8px}@media (max-width:860px){.pf-quotes.pf-q2{grid-template-columns:minmax(0,1fr)}}@media (max-width:640px){.pf-quote{padding:24px 20px}.pf-awards li{flex-basis:100%}.pf-logos{--pf-g:16px 30px}.pf-logos li{height:48px}.pf-logos img{height:calc(var(--h)*.82)}.pf-sec h2.lab{min-width:0;width:100%}}/* v26: */body.home header.hero>.wrap{align-items:stretch;column-gap:clamp(40px,4.5vw,64px);row-gap:16px}body.home header.hero>.wrap>div:first-child{display:flex;flex-direction:column;min-width:0}body.home .hero .deploy-line{margin:20px 0 24px;flex-wrap:wrap;row-gap:8px;line-height:1.4}body.home .hero h1{margin-bottom:0}body.home .hero .lede{margin:0 0 auto}body.home .hero .actions{margin-top:32px}body.home .hero .audience{margin-top:auto;padding-top:28px}body.home .hero-rc{min-width:0}@media (min-width:1001px){body.home header.hero>.wrap{grid-template-areas:"l d" ". v";grid-template-rows:auto auto}body.home header.hero>.wrap>div:first-child{grid-area:l}body.home .hero-rc{display:contents}body.home .hero-rc>#demo{grid-area:d;min-height:var(--demo-min,760px);align-self:stretch}body.home .hero-rc>.vn-mini{grid-area:v;margin-top:0;min-height:240px}}@media (min-width:1001px) and (max-width:1279px){body.home .hero-rc>#demo{--demo-min:800px}}@media (max-width:1000px){body.home header.hero>.wrap{grid-template-columns:minmax(0,1fr);row-gap:44px}body.home header.hero>.wrap>*{width:100%;max-width:760px}body.home .hero .audience{margin-top:0}body.home .hero .lede{margin-bottom:0}}@media (max-width:480px){body.home .hero .deploy-line{margin:16px 0 20px}}.hero .actions .hero-cta{order:-1}h1.h1-two{display:flex;flex-direction:column;gap:16px;margin-bottom:24px}h1.h1-two .h1-cat{font:500 var(--fs-t18)/1.35 var(--sans);letter-spacing:0;color:var(--ink-2);max-width:none}h1.h1-two .h1-disp{display:block}body.home .hero .deploy-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}body.home .hero .deploy-line .dl-i{white-space:nowrap}@media (max-width:480px){body.home .hero .deploy-line .dl-k{flex-basis:100%}}.pbar{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--paper-2);padding:16px 0}.pb-list{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px 36px}.pb-list li{display:flex;flex-direction:column;gap:4px;min-width:0;font:500 var(--fs-14)/1.4 var(--sans);color:var(--ink)}.pb-k{font:600 13px var(--sans);color:var(--ink-2);white-space:nowrap}.pb-t a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}@media (max-width:760px){.pb-list{grid-template-columns:1fr;gap:12px}.pb-list li{flex-direction:column;gap:2px}}.traction{padding:clamp(64px,8vw,104px) 0}.tr-line{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:0;position:relative;margin-top:36px!important}.tr-line::before{content:"";position:absolute;left:0;right:0;top:7px;height:1px;background:var(--rule)}.tr-m{position:relative;padding:32px 24px 0 0}.tr-dot{position:absolute;top:0;left:0;width:15px;height:15px;border-radius:var(--r-pill);background:var(--paper);border:2px solid var(--blue)}.tr-m h3,.tr-n h3{font:600 var(--fs-18)/1.3 var(--sans);margin:0 0 8px;color:var(--ink)}.tr-m p,.tr-n p{margin:0;font:400 var(--fs-16)/1.55 var(--sans);color:var(--ink-2)}.tr-next{margin-top:56px;padding:32px 32px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card)}.tr-nh{font:600 13px var(--sans)!important;color:var(--ink-3)!important;margin:0 0 20px!important}.tr-nl{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:24px 32px}.tr-link{margin-top:28px}.tr-link a{font:500 var(--fs-16) var(--sans);color:var(--blue)}@media (max-width:760px){.tr-line{grid-template-columns:minmax(0,1fr)}.tr-line::before{left:7px;right:auto;top:0;bottom:0;width:1px;height:auto}.tr-m{padding:0 0 28px 36px}.tr-next{padding:24px 20px}}.fcontact{margin-top:16px}.ct-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font:var(--fs-14)/1.45 var(--sans);color:var(--ink-2)}.ct-list li{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}.ct-k{font:600 13px var(--sans);color:var(--ink-2);min-width:52px}.ct-list a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}.ct-soc{display:flex;gap:8px;margin-top:12px}.ct-soc a.soc{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--rule);border-radius:var(--r-12);color:var(--ink-2)}.ct-soc a.soc:hover,.ct-soc a.soc:focus-visible{color:var(--blue);border-color:var(--blue)}.ctsec .ct-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:40px;align-items:start}.ctcard{border:1px solid var(--rule);border-radius:var(--r-12);padding:24px;background:var(--paper)}.ctcard .ct-list{font-size:var(--fs-16);gap:12px}.jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:28px}.job{border:1px solid var(--rule);border-radius:var(--r-12);padding:24px;background:var(--paper)}.job h3{margin:0 0 4px;font:600 var(--fs-22)/1.3 var(--sans)}.job-loc{margin:0 0 12px;font:600 13px var(--sans);color:var(--ink-2)}.job p{color:var(--ink-2)}.job .btn{margin-top:8px}.job-note{margin-top:24px;color:var(--ink-2)}.smgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:32px}.smg h2{font:600 var(--fs-16) var(--sans);margin:0 0 12px;letter-spacing:0}.smg ul{list-style:none;margin:0;padding:0}.smg li a{display:inline-flex;align-items:center;min-height:36px;color:var(--ink)}.legal-sec{padding-top:60px}.legal-sec .legal-body{width:min(720px,100%);max-width:720px;margin-inline:auto;text-align:left;font:var(--fs-16)/1.7 var(--sans);color:var(--ink)}.legal-body p{margin:0 0 1em}.legal-body p:last-child{margin-bottom:0}.legal-body p,.legal-body li{color:var(--ink)}.legal-body h2{font:600 var(--fs-22)/1.3 var(--sans);margin:36px 0 12px}.legal-body h3,.legal-body h4{font:600 var(--fs-18)/1.35 var(--sans);margin:28px 0 8px}.legal-body ul{padding-left:24px}.legal-body table{width:100%;border-collapse:collapse;margin:16px 0;font-size:var(--fs-14);display:block;overflow-x:auto}.legal-body th,.legal-body td{border:1px solid var(--rule);padding:8px 12px;text-align:left;vertical-align:top}.legal-body a{color:var(--blue);overflow-wrap:anywhere}.legal-body{overflow-wrap:break-word}main:has(.legal-sec)>header.hero.hero-simple{padding:56px 0 0}main:has(.legal-sec)>header.hero .wrap{display:block;padding-top:0;padding-bottom:52px}main:has(.legal-sec)>header.hero .wrap>div{width:min(720px,100%);max-width:720px;margin-inline:auto;text-align:left}main:has(.legal-sec)>header.hero h1{max-width:none}nav.crumbs:has(+ main .legal-sec){width:min(1200px,100%);max-width:1200px}nav.crumbs:has(+ main .legal-sec) ol{width:min(720px,100%);max-width:720px;margin-inline:auto;justify-content:flex-start}@media (max-width:760px){.ctsec .ct-grid{grid-template-columns:1fr;gap:20px}}.tsr-pic .tm-ph{width:64px;height:64px;border-radius:var(--r-6);object-fit:contain;background:var(--paper-2)}.tm-li{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:8px;vertical-align:middle;border-radius:var(--r-6);color:var(--ink-2);border:1px solid var(--rule)}.tm-li:hover,.tm-li:focus-visible{color:var(--blue);border-color:var(--blue)}.pf-quote figcaption:has(.pf-ph){display:flex;align-items:center;gap:12px}.pf-quote .pf-who b,.pf-quote .pf-who span{display:block}.pf-ph{flex:none;border:1px solid var(--rule)}@media (max-width:520px){.tsr-pic .tm-ph{width:52px;height:52px}}.pbar-l{padding:16px 0 16px}.pb-logos{display:flex;align-items:center;gap:20px;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--rule)}.pb-lab{margin:0;flex:none;font-weight:400}.pb-row{flex:1;min-width:0;justify-content:center;gap:12px 48px!important}.pb-row li{display:flex;align-items:center;min-height:48px;flex:none;transition:transform .18s ease}.pb-row img{height:var(--h);width:auto;display:block}.pb-a{display:flex;align-items:center;border-radius:var(--r-6);color:inherit;text-decoration:none;outline-offset:6px}.pb-row li:has(.pb-a:hover),.pb-row li:has(.pb-a:focus-visible){transform:translateY(-2px)}.pb-a:focus-visible{outline:2px solid var(--blue);outline-offset:6px}.pb-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}html[data-theme="dark"] .pbar .pf-logos img{filter:none}html[data-theme="dark"] .pbar .pb-row:not(.pf-dk) li{box-shadow:none}@media (prefers-reduced-motion:reduce){.pb-row li{transition:none}.pb-row li:has(.pb-a:hover),.pb-row li:has(.pb-a:focus-visible){transform:none}}@media (max-width:760px){.pb-logos{flex-wrap:wrap;gap:8px 12px}.pb-lab{flex-basis:100%;text-align:center}.pb-row{flex-basis:100%;gap:12px 28px!important}.pb-row li{min-height:42px}.pb-row img{height:calc(var(--h)*.85)}}@media (min-width:1001px){.hero-simple .wrap.has-vis:has(.va-vis[data-va="careers"]){grid-template-columns:1fr 1.1fr;gap:40px}}.demo:has(.flow){background:none;border:0;border-top:0;border-radius:0;box-shadow:none;overflow:visible}html[data-theme="dark"] .demo:has(.flow){background:none;box-shadow:none}.demo:has(.flow) .demo-top{background:none;border-bottom:0;padding:4px 0 8px}.demo:has(.flow) .flow{margin:8px 0;-webkit-mask:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent);mask:linear-gradient(90deg,transparent,#000 3%,#000 97%,transparent)}.demo:has(.flow) .samp{border-color:transparent;padding-left:0}.demo:has(.flow) .pp{width:44px;height:44px;border:1px solid transparent;background:none;color:var(--ink-3);opacity:.75;border-radius:var(--r-pill)}.demo:has(.flow) .pp:hover,.demo:has(.flow) .pp:focus-visible{opacity:1;color:var(--ink);border-color:var(--rule)}.demo:has(.flow) .dots{display:none}.flow .hub em{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.18);color:#e6e8ec;line-height:1.35;min-height:2.7em}.flow .hub em::before{content:"Now reading";display:block;font-size:13px;color:#aab0ba;margin-bottom:4px;font-weight:600}main>header.band-hero,main>section.band-hero,main>article.band-hero{background:var(--hero)}main>header.band-paper,main>section.band-paper,main>article.band-paper{background:var(--paper)}main>header.band-mist,main>section.band-mist,main>article.band-mist{background:var(--paper-2)}main>section.band-ink{background:var(--band-ink);color:var(--on-dark)}main>section.band-navy{background:var(--band-navy);color:var(--on-dark)}footer.band-foot,footer.sitefoot.band-foot{background:var(--foot);color:#e5e7eb}.cta .eyebrow b{color:#1a56b8}main>section.band-ink h1,main>section.band-ink h2,main>section.band-navy h1,main>section.band-navy h2,main>section.band-ink .tr-m h3,main>section.band-navy .tr-m h3,main>section.band-ink .tr-n h3,main>section.band-navy .tr-n h3{color:#fff}main>section.band-ink .body,main>section.band-navy .body,main>section.band-ink .tr-m p,main>section.band-navy .tr-m p,main>section.band-ink .tr-n p,main>section.band-navy .tr-n p,main>section.band-ink .eyebrow,main>section.band-navy .eyebrow,main>section.band-ink .eyebrow b,main>section.band-navy .eyebrow b,main>section.band-navy .pt-note{color:var(--on-dark-2)}main>section.band-ink .tr-nh,main>section.band-navy .tr-nh{color:var(--on-dark-3)!important}main>section.band-ink .tr-dot,main>section.band-navy .tr-dot{background:transparent;border-color:#9cbcff}main>section.band-ink .tr-line::before,main>section.band-navy .tr-line::before{background:rgba(255,255,255,.28)}main>section.band-ink .tr-next,main>section.band-navy .tr-next{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.16)}main>section.band-ink .tr-link a,main>section.band-navy .tr-link a{color:#fff}main>section.proof.band-ink{border-bottom:0}main>section.proof.band-ink .pi{border-left-color:rgba(255,255,255,.18)}main>section.proof.band-ink .pi strong{color:#fff}main>section.proof.band-ink .pi span{color:var(--on-dark-2)}main>section.band-navy .pt-g,main>section.band-ink .pt-g,main>section.band-navy .pt-g h3,main>section.band-ink .pt-g h3{color:var(--ink)}main>section.band-navy .btn.ghost,main>section.band-ink .btn.ghost{color:#f8fafc;border-color:#f8fafc}main>section.band-navy h2 em,main>section.band-ink h2 em,main>section.band-navy h1 em,main>section.band-ink h1 em{color:inherit}main>section.band-navy .note,main>section.band-ink .note,main>section.band-navy .note a,main>section.band-ink .note a{color:var(--on-dark-2)}main>header.band-hero .eyebrow b,main>section.band-hero .eyebrow b{color:var(--blue-ink)}main>section.band-navy .btn.primary,main>section.band-ink .btn.primary{border:2px solid #fff}main>section.band-navy :focus-visible,main>section.band-ink :focus-visible{outline-color:#fff}main.miss{padding:0}header.hero{background:var(--hero)}footer.sitefoot .fgrid{grid-template-columns:minmax(196px,1.15fr) minmax(180px,2.05fr) repeat(4,minmax(0,1fr));gap:32px 16px;align-items:start}footer.sitefoot .fbrand p,footer.sitefoot .ct-list,footer.sitefoot .ct-list a{color:#e5e7eb}footer.sitefoot .fcol h4,footer.sitefoot .ct-k,footer.sitefoot .fbase,footer.sitefoot .fbase span{color:#9ca3af}footer.sitefoot .fcol a,footer.sitefoot .fbase a,footer.sitefoot .flegal a{color:#fff;text-decoration:none}footer.sitefoot .fcol a:hover,footer.sitefoot .fbase a:hover,footer.sitefoot .flegal a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}footer.sitefoot .fgroup{font:600 13px/16px var(--sans);color:#9ca3af;margin:0 0 16px;min-height:16px}footer.sitefoot .fsub .fgroup:first-child,footer.sitefoot .fgroup-slot{margin-top:0}footer.sitefoot .fsub .fgroup:not(:first-child){margin-top:16px}footer.sitefoot .fsplit-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px;align-items:start}footer.sitefoot .fbase{border-top-color:rgba(255,255,255,.16);align-items:center}footer.sitefoot .flegal{display:flex;flex-wrap:wrap;gap:8px 16px}footer.sitefoot .soc{color:#f8fafc;border-color:rgba(255,255,255,.35);background:transparent}footer.sitefoot .soc:hover,footer.sitefoot .soc:focus-visible{color:#111827;background:#fff;border-color:#fff}footer.sitefoot a:focus-visible,footer.sitefoot button:focus-visible{outline:3px solid #fff;outline-offset:3px}@media (max-width:699px){footer.sitefoot .fgrid{grid-template-columns:1fr 1fr;gap:32px 24px}footer.sitefoot .fbrand,footer.sitefoot .fsplit{grid-column:1 / -1}}@media (max-width:560px){footer.sitefoot .fgrid,footer.sitefoot .fsplit-grid{grid-template-columns:1fr}footer.sitefoot .fbase{flex-direction:column;align-items:flex-start}}footer.sitefoot .fbrand{align-self:start}footer.sitefoot a.flogo2{display:flex;align-items:flex-start;line-height:0;margin:0;min-height:0}footer.sitefoot .flogo2 .foot-logo{height:28px;width:auto;display:block;margin:0}@media (max-width:760px),(pointer:coarse){footer.sitefoot a.flogo2{min-height:44px;align-items:flex-start}}footer.sitefoot{margin:0}footer.sitefoot .fbrand{grid-column:auto;align-self:start}footer.sitefoot .fcol h4{font:600 13px/16px var(--sans);color:#9ca3af;margin:0 0 16px;min-height:16px}footer.sitefoot .fcol li{margin:0 0 8px;line-height:24px}footer.sitefoot .fcol li:last-child{margin-bottom:0}footer.sitefoot .fcol a{display:inline;min-height:0;padding:0;line-height:24px;font-size:var(--fs-14);font-weight:400}footer.sitefoot .fbrand p{margin:16px 0 8px}footer.sitefoot .ct-list{gap:8px}@media (max-width:699px){footer.sitefoot .fgrid{grid-template-columns:1fr 1fr;gap:32px 24px}footer.sitefoot .fbrand,footer.sitefoot .fsplit{grid-column:1 / -1}}@media (max-width:560px){footer.sitefoot .fgrid,footer.sitefoot .fsplit-grid{grid-template-columns:1fr}footer.sitefoot .fbase{flex-direction:column;align-items:flex-start}}footer.sitefoot details.fcol{margin:0;min-width:0;background:transparent}footer.sitefoot details.fcol>summary{display:block;list-style:none;background:transparent;border:0;color:inherit;text-align:left;padding:0}footer.sitefoot details.fcol>summary::-webkit-details-marker{display:none}footer.sitefoot details.fcol>summary::marker{content:none}footer.sitefoot .fsum{font:600 13px/16px var(--sans);color:#9ca3af}footer.sitefoot .fchev{display:none;flex:none}footer.sitefoot .fcopy{margin:0}footer.sitefoot .fcopy span+span::before{content:" "}footer.sitefoot summary:focus-visible{outline:3px solid #fff;outline-offset:2px}@media (min-width:700px){  footer.sitefoot details.fcol>summary{margin:0 0 16px;min-height:16px;padding:0;font:500 var(--fs-12)/16px var(--sans);line-height:16px;pointer-events:none}  footer.sitefoot details.fcol::details-content{display:block;content-visibility:visible}  footer.sitefoot details.fcol:not([open])>:not(summary){display:block}  footer.sitefoot details.fcol:not([open])>.fsplit-grid{display:grid}}@media (max-width:699px){  footer.sitefoot .fgrid{display:flex;flex-direction:column;align-items:stretch;gap:0}  footer.sitefoot .fbrand{margin:0 0 16px}  footer.sitefoot .fbrand p{max-width:none;margin:16px 0;font-size:var(--fs-16);line-height:24px}  footer.sitefoot .fcontact{margin-top:0}  footer.sitefoot .ct-list{gap:0}  footer.sitefoot .ct-list li{display:grid;grid-template-columns:72px minmax(0,1fr);column-gap:12px;align-items:center;min-height:44px}  footer.sitefoot .ct-k{min-width:0}  footer.sitefoot .ct-list a{display:inline-flex;align-items:center;min-height:44px}  footer.sitefoot .ct-soc{margin-top:16px}  footer.sitefoot details.fcol{width:100%;border-top:1px solid rgba(255,255,255,.16)}  footer.sitefoot details.fcol>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;margin:0;width:100%;cursor:pointer}  footer.sitefoot .fchev{display:block}  footer.sitefoot details.fcol[open]>.fchev,footer.sitefoot details.fcol[open]>summary .fchev{transform:rotate(180deg)}  footer.sitefoot details.fcol[open]{padding-bottom:8px}  footer.sitefoot .fgroup-slot{display:none}  footer.sitefoot .fbase{flex-direction:column;align-items:flex-start;gap:16px;margin-top:0;padding-top:16px}  footer.sitefoot .fcopy{display:flex;flex-direction:column;gap:4px;font:var(--fs-14)/20px var(--sans)}  footer.sitefoot .fcopy span+span::before{content:none}  footer.sitefoot .flegal{flex-wrap:nowrap;gap:16px}  footer.sitefoot .flegal a{display:inline;min-height:0;padding:0;white-space:nowrap;font:var(--fs-12)/16px var(--sans)}}@media (max-width:560px){  footer.sitefoot .fsub+.fsub{margin-top:16px}}
main>section.band-blue,html[data-theme="dark"] main>section.band-blue{background:#266ADC;color:#fff;border-bottom:0}@media (min-width:700px){  footer.sitefoot details.fsplit>summary{display:block;width:100%;box-sizing:border-box;margin:0 0 16px;padding:0 0 8px;border-bottom:1px solid #374151}  footer.sitefoot details.fsplit>summary .fsum{color:#e5e7eb}  footer.sitefoot details.fcol:not(.fsplit)>summary{margin-top:40px}}
footer.sitefoot .fcontact .ct-list{gap:8px}
footer.sitefoot .fcontact .ct-list li.ct-office{display:grid;grid-template-columns:minmax(0,1fr);justify-items:start;align-items:start;row-gap:4px;column-gap:0;min-height:0}
footer.sitefoot .fcontact .ct-office .ct-k{min-width:0;width:auto;line-height:16px;height:auto}
footer.sitefoot .fcontact .ct-v{white-space:nowrap}
footer.sitefoot .fcontact .ct-office .ct-v{display:block;font-size:var(--fs-14);line-height:20px;height:20px}
footer.sitefoot .fcontact .ct-list li.ct-pair{display:grid;grid-template-columns:52px max-content;column-gap:12px;align-items:center;justify-content:start;min-height:0}
footer.sitefoot .fcontact .ct-pair .ct-k,footer.sitefoot .fcontact .ct-pair .ct-v{display:flex;align-items:center;box-sizing:border-box;height:auto;min-height:0;margin:0;line-height:20px;white-space:nowrap;padding:0}
footer.sitefoot .fcontact .ct-pair .ct-k{width:52px;min-width:52px;justify-content:flex-start}
footer.sitefoot .fcontact .ct-soc{justify-content:flex-start;align-self:start}
@media (max-width:381px){footer.sitefoot .flegal{flex-wrap:wrap;row-gap:8px}}
body{min-height:100vh;display:flex;flex-direction:column}body>main{flex:1 0 auto}

/* v45 QA: nav never wraps, tablet footer is three columns, touch targets, type */
nav.topnav .wrap>ul>li>a,nav.topnav .wrap>ul>li>button,nav.topnav .navcta>a,nav.topnav .brand,nav.topnav #menu{white-space:nowrap}
@media (max-width:1179px){nav.topnav .brand .bt{display:none}}
@media (min-width:1024px){
 nav.topnav #menu{display:none}
 nav.topnav .brand{flex:0 0 auto}
 nav.topnav .wrap{gap:12px}
 nav.topnav ul{display:flex;gap:2px;flex:0 0 auto;min-width:0}
 nav.topnav ul li>a,nav.topnav ul li>button{padding-left:8px!important;padding-right:8px!important;white-space:nowrap}
 nav.topnav .navcta{margin-left:auto;gap:8px;flex:0 0 auto}
 nav.topnav .navcta .theme-sw{margin-right:0}
 nav.topnav .navcta .theme-sw button{width:26px;height:26px}
 nav.topnav .navcta .btn{padding:12px 12px}
}
@media (min-width:1180px){
 nav.topnav .wrap{gap:16px}
 nav.topnav ul{gap:8px}
 nav.topnav ul li>a,nav.topnav ul li>button{padding-left:8px!important;padding-right:8px!important}
}
@media (max-width:1023px){
 nav.topnav ul{display:none}
 nav.topnav #menu{display:inline-flex;align-items:center;justify-content:center;margin-left:0;flex:0 0 auto}
 nav.topnav .brand{flex:0 0 auto}
 nav.topnav .brand .brand-logo{width:auto;max-width:none}
 nav.topnav .wrap{display:flex;align-items:center;justify-content:flex-start;gap:12px;height:64px}
 nav.topnav .navcta{margin-left:auto;display:flex;align-items:center;gap:12px;flex:0 0 auto}
 nav.topnav .navcta .theme-sw{display:inline-flex;margin-right:0;flex:0 0 auto}
 nav.topnav .navcta .btn{white-space:nowrap}
 nav.topnav .theme-li{display:none}
 body.navopen nav.topnav ul{display:flex;flex-direction:column;align-items:stretch;position:absolute;top:64px;left:0;right:0;background:var(--paper);padding:8px 32px 20px;border-bottom:1px solid var(--rule);gap:0;z-index:70}
 body.navopen nav.topnav ul>li{width:100%}
 body.navopen nav.topnav .menu{position:static;display:flex;width:100%;box-shadow:none;border:0;padding:0 0 8px 12px;min-width:0;background:none}
 body.navopen nav.topnav .theme-li{display:flex;align-items:center;justify-content:space-between;gap:12px;order:-1;box-sizing:border-box;margin:0;padding:16px 0 16px 12px;border-top:0;border-bottom:1px solid var(--rule);font:500 var(--fs-16) var(--sans);color:var(--ink-2)}
 body.navopen nav.topnav .theme-li .theme-sw{margin:0;flex:0 0 auto}
 body.navopen nav.topnav .theme-li .theme-sw button{width:44px;height:44px}
}
@media (max-width:900px){
 body.navopen nav.topnav ul{padding-left:20px;padding-right:20px}
}
@media (min-width:901px) and (max-width:1023px){
 body.navopen nav.topnav .theme-li{padding-left:8px}
}
@media (max-width:559px){
 nav.topnav .navcta .theme-sw{display:none}
 nav.topnav .wrap{gap:16px}
 nav.topnav .navcta{gap:0}
 nav.topnav .brand{flex:0 0 auto}
 nav.topnav .brand .brand-logo{height:22px;width:auto;max-width:none}
 nav.topnav .navcta .btn,nav.topnav #menu{
  box-sizing:border-box;height:44px;min-height:44px;padding:0 12px;border-radius:var(--r-6);
  font:500 var(--fs-14) var(--sans);line-height:1;gap:0;flex:0 0 auto;align-items:center;justify-content:center
 }
}
@media (max-width:359px){
 nav.topnav .navcta .btn{font-size:0}
 nav.topnav .navcta .btn::after{content:"Demo";font:500 var(--fs-14) var(--sans)}
}
@media (min-width:700px) and (max-width:1023px){
 footer.sitefoot .fgrid{display:grid;grid-template-columns:minmax(196px,1.15fr) minmax(220px,1.35fr) minmax(168px,1fr);gap:36px 28px;align-items:start}
 footer.sitefoot .fbrand,footer.sitefoot .fsplit{grid-column:auto}
 footer.sitefoot details.fcol:not(.fsplit)>summary{margin-top:0}
 footer.sitefoot .fgrid>details.fcol:nth-child(3)>summary{margin-top:40px}
}
@media (min-width:1024px){
 footer.sitefoot .fgrid{display:grid;grid-template-columns:minmax(196px,1.15fr) minmax(180px,2.05fr) repeat(4,minmax(0,1fr));gap:32px 16px;align-items:start}
}
p.body+p.body{margin-top:16px}
.twocol>.v23-tm{align-self:start}
.cmp .n{color:#4a3014}
.job{display:flex;flex-direction:column;height:100%}
.job .btn{margin-top:auto}
h1,h2,h3,h4,h5,h6{text-wrap:balance}
p{text-wrap:pretty}
footer.sitefoot .fcol li>a{display:inline-block;box-sizing:border-box;line-height:24px;min-height:24px;padding:0;margin:0}
footer.sitefoot .flegal a{display:inline-flex;align-items:center;box-sizing:border-box;min-height:24px;padding:4px 0;margin:-4px 0;line-height:16px}
@media (max-width:699px){
 footer.sitefoot .flegal{align-items:center}
 footer.sitefoot .flegal a{min-height:44px;padding:0 2px;margin:0}
 footer.sitefoot details.fcol>summary{min-height:44px}
}

/* v45: home sections paint so contrast is measured on the real background */
body.home main>section:not(.cta){content-visibility:visible}
/* v45: citation 1 stays above 4.5:1 on its tint; dark chips keep pastel ink on a dark ground */
[data-c="1"]{--cc:#1a56b8}
html[data-theme="dark"] #at sup,html[data-theme="dark"] .ans .t sup,html[data-theme="dark"] .bub sup{background:#111a2e;color:var(--cc,#9cbcff)}
@media (max-width:640px){main:has(.legal-sec)>header.hero.hero-simple{padding:40px 0 0}main:has(.legal-sec)>header.hero .wrap{padding-top:0;padding-bottom:40px}.legal-sec{padding-top:40px}}

/* ==== character.css ==== */
.uc{--uc-blue:#266ADC;--uc-w:64px;position:relative;width:var(--uc-w);display:inline-block;pointer-events:none;color:var(--ink-2,#475569)}.uc-clip{overflow:hidden;width:100%;aspect-ratio:53.6/45.3;position:relative}.uc-svg{display:block;width:100%;height:100%;overflow:visible}.uc-svg *{transform-box:fill-box;transform-origin:50% 50%}.uc-fig{transform-origin:50% 100%;transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .9s}.uc-arm,.uc-dot{fill:var(--uc-blue);fill-opacity:0;stroke:var(--uc-blue);stroke-width:.7;stroke-dasharray:1;stroke-dashoffset:1;stroke-linejoin:round}.uc-lens{fill:var(--paper,#eef3fd);opacity:0;transition:opacity .5s .2s,transform .14s}.uc-ping{fill:none;stroke:var(--uc-blue);stroke-width:.6;opacity:0}.uc-draw .uc-l{transition:stroke-dashoffset 1s cubic-bezier(.5,0,.2,1),fill-opacity .5s .85s}.uc-draw .uc-r{transition:stroke-dashoffset 1s cubic-bezier(.5,0,.2,1) .18s,fill-opacity .5s 1s}.uc-draw .uc-dot{transition:stroke-dashoffset .8s cubic-bezier(.5,0,.2,1) .45s,fill-opacity .45s 1.1s}.uc-draw .uc-arm,.uc-draw .uc-dot{stroke-dashoffset:0;fill-opacity:1}.uc-drawn .uc-arm,.uc-drawn .uc-dot{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0;transition:stroke-opacity .4s}.uc-drawn .uc-lens{opacity:.92}.uc-drawn .uc-body{transform-origin:50% 100%;animation:uc-breathe 5.6s ease-in-out infinite}.uc-drawn .uc-headg{animation:uc-float 5.6s ease-in-out infinite}.uc-rest .uc-fig{transform:translateY(34%);opacity:.8}.uc-blink .uc-lens{transform:scaleY(.12)}@keyframes uc-breathe{50%{transform:scale(1.012,1.022)}}@keyframes uc-float{50%{transform:translateY(-.55px)}}.uc-arrive .uc-fig{animation:uc-rise .85s cubic-bezier(.2,.8,.25,1.05) both}.uc-arrive .uc-ping{animation:uc-ping 1.3s .45s cubic-bezier(.2,.6,.3,1) both}@keyframes uc-rise{0%{transform:translateY(62%);opacity:.5}100%{transform:none;opacity:1}}@keyframes uc-ping{0%{opacity:.55;transform:scale(1)}100%{opacity:0;transform:scale(2.1)}}.uc-say{position:absolute;right:calc(100% + 10px);bottom:30%;white-space:nowrap;font:600 var(--fs-12)/1 var(--sans);opacity:0;transform:translateX(6px);transition:opacity .5s,transform .7s cubic-bezier(.2,.7,.2,1)}.uc-saying .uc-say{opacity:1;transform:none;transition-delay:.35s}.uc-listen .uc-lens{transform:translateY(-.6px) scale(1.08)}.uc-search .uc-lens{animation:uc-read 1.15s ease-in-out infinite}.uc-search .uc-body{animation:uc-gather 1.15s ease-in-out infinite}.uc-search .uc-headg{animation:uc-lean 1.15s ease-in-out infinite}@keyframes uc-read{0%,100%{transform:translate(-3.4px,1px)}50%{transform:translate(3.4px,1px)}}@keyframes uc-gather{50%{transform:scale(.975,1)}}@keyframes uc-lean{50%{transform:translateY(.6px)}}.uc-found .uc-headg{animation:uc-nod .9s cubic-bezier(.3,.6,.3,1) 1}.uc-found .uc-ping{animation:uc-ping 1.1s .1s ease-out both}@keyframes uc-nod{30%{transform:translateY(1.8px)}55%{transform:translateY(-.3px)}75%{transform:translateY(.9px)}}.uc-none .uc-headg{animation:uc-shake 1.1s ease-in-out 1}.uc-none .uc-lens{opacity:.55;transform:translateY(1px)}@keyframes uc-shake{20%{transform:translateX(-1.4px)}45%{transform:translateX(1.4px)}70%{transform:translateX(-.7px)}}.uc[data-anchor]{position:absolute;z-index:3;opacity:0;transition:opacity .4s}.uc[data-anchor].uc-placed{opacity:1}@media (max-width:900px){.uc{--uc-w:52px}.uc-say{display:none}}.uc-rm *,.uc-rm .uc-fig{animation:none!important;transition:none!important}.uc-rm .uc-arm,.uc-rm .uc-dot{stroke-dashoffset:0;fill-opacity:1;stroke-opacity:0}.uc-rm .uc-ping{display:none}@media (prefers-reduced-motion:reduce){.uc *{animation:none!important;transition:none!important}.uc-say{display:none}}

/* ==== pui.css ==== */
.pui-fit{margin:0;max-width:100%;overflow:hidden}.pui-fit>figcaption{font:var(--fs-12) var(--sans);color:var(--ink-3);margin-top:12px}.pui{width:1320px;transform-origin:0 0;border:1px solid #e2e8f0;border-radius:var(--r-12);overflow:hidden;box-shadow:0 30px 60px -30px rgba(15,23,42,.35);text-align:left}.pui *{box-sizing:border-box;margin:0;padding:0}.pui-light{background:#f8fafc;font:var(--fs-14)/1.45 var(--sans);color:#1d2330}.pui .u-samp{font:600 var(--fs-12) var(--mono);letter-spacing:.06em;color:#266adc;border:1px solid #9fb3ee;border-radius:var(--r-6);padding:4px 8px;margin-left:12px;vertical-align:2px;background:#fff}.pui-light .top{height:66px;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:16px;padding:0 24px}.pui-light .top .lg{height:24px;width:auto}.pui-light .top .u-ai{font-weight:600;font-size:var(--fs-18);color:#3a4352;margin-right:8px;white-space:nowrap}.pui-light .sbox{flex:0 0 330px;height:40px;border:1.5px solid #c9ccd3;border-radius:var(--r-12);display:flex;align-items:center;padding:0 12px;gap:8px;color:#3a4352;font-size:var(--fs-14);overflow:hidden;white-space:nowrap}.pui-light .sbox .u-q{overflow-wrap:anywhere;flex:1}.pui .b{height:36px;border-radius:var(--r-6);padding:0 16px;display:inline-flex;align-items:center;font-size:var(--fs-12);font-weight:600;border:1px solid #c9ccd3;background:#fff;color:#2a3242;white-space:nowrap}.pui .b.blue{background:#2a5bd7;border-color:#2a5bd7;color:#fff;padding:0 24px}.pui-light .ws{margin-left:auto;font-weight:700;font-size:var(--fs-18);color:#1d2330;white-space:nowrap}.pui-light .main{display:flex;min-height:860px}.pui-light.tall .main{min-height:980px}.pui-light .left{width:560px;padding:48px 24px 24px;flex:none}.pui-light .right{flex:1;background:#fff;border-left:1px solid #e2e8f0;display:flex;flex-direction:column;min-width:0}.pui-light .card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--r-12);padding:20px 20px 16px;box-shadow:0 2px 6px rgba(0,0,0,.04);position:relative}.pui-light .card::before{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;background:#2f6b45;border-radius:var(--r-6)}.pui-light .pill{display:inline-flex;align-items:center;gap:8px;background:#e7f1e9;color:#2f6b45;border-radius:var(--r-12);padding:4px 12px;font-weight:600;font-size:var(--fs-12)}.pui-light .pill.comb{background:#eef3fd;color:#1a56b8}.pui-light .u-meta{color:#6b7280;font-size:var(--fs-12);margin-left:8px}.pui-light .atext{font-family:var(--doc);font-size:var(--fs-16);line-height:1.5;margin:12px 0 12px}.pui-light sup{font:600 var(--fs-12) var(--sans);color:#2a5bd7;background:#eef3fd;border-radius:var(--r-6);padding:1px 4px;margin-left:2px}.pui-light .u-parts{margin:12px 0 8px}.pui-light .u-part{border-top:1px solid #eeeeea;padding:12px 0}.pui-light .u-ph{display:flex;align-items:center;gap:8px;font-size:var(--fs-12)}.pui-light .u-ph b{flex:1;font-weight:600}.pui-light .pn{font:600 var(--fs-12) var(--mono);color:#6b7280;border:1px solid #d6d8dd;border-radius:var(--r-6);padding:2px 4px}.pui-light .u-vchip{font-size:var(--fs-12);font-weight:600;color:#2f6b45;background:#e7f1e9;border-radius:var(--r-12);padding:2px 8px;white-space:nowrap}.pui-light .nchip{font-size:var(--fs-12);font-weight:600;color:#9b2c1f;background:#f6e8e5;border-radius:var(--r-12);padding:2px 8px}.pui-light .u-pq{font-family:var(--doc);font-size:var(--fs-14);margin-top:8px}.pui-light .u-pq.u-g{color:#6b7280;font-family:inherit;font-size:var(--fs-12)}.pui-light .u-rec{background:#fbf7ea;border:1px dashed #e0c97a;border-radius:var(--r-6);padding:8px 12px;font-size:var(--fs-12);color:#5c4a12;margin:8px 0}.pui-light .cites{border-top:1px solid #eeeeea;padding-top:8px}.pui-light .cite{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:var(--fs-12)}.pui-light .cite .u-n{font:600 var(--fs-12) var(--sans);color:#2a5bd7;background:#eef3fd;border-radius:var(--r-6);padding:2px 4px}.pui .pdf{font:700 var(--fs-12) var(--sans);color:#fff;background:#c0392b;border-radius:var(--r-6);padding:2px 4px}.pui-light .cite b{font-weight:600}.pui-light .cite .u-s{color:#6b7280}.pui-light .acc{color:#6b7280;font-size:var(--fs-12);margin:8px 0 8px}.pui-light .owners{border-top:1px solid #eeeeea;padding:8px 0 12px}.pui-light .oh{font:600 var(--fs-12) var(--sans);color:#6b7280;margin-bottom:4px}.pui-light .u-own{display:flex;align-items:center;gap:12px;padding:4px 0;font-size:var(--fs-12)}.pui-light .u-own img{width:26px;height:26px;border-radius:var(--r-6);object-fit:contain;flex:none;background:#fff}.pui-light .u-own small{display:block;color:#6b7280;font-size:var(--fs-12)}.pui-light .u-own .u-sp{margin-left:auto;font:600 var(--fs-12) var(--mono);color:#7a5a00;background:#fdf3d6;border:1px solid #ecd38a;border-radius:var(--r-6);padding:2px 4px;white-space:nowrap}.pui-light .btns{display:flex;gap:8px;padding-top:12px;border-top:1px solid #eeeeea;align-items:center}.pui-light .btns .b{height:32px;font-size:var(--fs-12);padding:0 12px}.pui-light .btns .b.blue{padding:0 16px}.pui-light .thumbs{margin-left:auto;font-size:var(--fs-14);letter-spacing:6px}.pui-light .u-why{color:#4b5563;font-size:var(--fs-12);margin:16px 0 24px}.pui-light .srch{display:flex;align-items:center;justify-content:space-between;color:#6b7280;font-size:var(--fs-12);margin-bottom:8px}.pui-light .srch .u-f{display:flex;gap:8px}.pui-light .srch .u-f span{border:1px solid #d6d8dd;border-radius:var(--r-6);padding:4px 12px;color:#374151}.pui-light .u-src{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #eeeeea}.pui-light .u-src .u-ic{width:26px;height:32px;border:1px solid #e3b4ae;border-radius:var(--r-6);display:grid;place-items:center;font:700 var(--fs-12) var(--sans);color:#c0392b;flex:none}.pui-light .u-src :is(h3,h4){font-size:var(--fs-14);font-weight:600}.pui-light .u-src .u-tag{font-size:var(--fs-12);color:#2f6b45;background:#e7f1e9;border-radius:var(--r-6);padding:2px 8px;margin-left:8px;font-weight:600}.pui-light .u-src p{color:#6b7280;font-size:var(--fs-12);margin-top:2px}.pui-light .tabs{display:flex;gap:28px;padding:0 24px;border-bottom:1px solid #e2e8f0;height:46px;align-items:center;font-size:var(--fs-14);color:#4b5563;flex:none}.pui-light .tabs span{height:46px;display:flex;align-items:center;border-bottom:2px solid transparent}.pui-light .tabs span.u-on{color:#1d2330;font-weight:600;border-color:#2a5bd7}.pui-light .tabs .u-x{margin-left:auto;color:#6b7280}.pui-light .vh{display:flex;align-items:center;gap:8px;padding:12px 24px;font-weight:600;font-size:var(--fs-14);border-bottom:1px solid #eeeeea}.pui-light .vh .z{margin-left:auto;display:flex;gap:8px;font-weight:400;color:#4b5563;font-size:var(--fs-12)}.pui-light .vh .z span{border:1px solid #d6d8dd;border-radius:var(--r-6);padding:4px 8px}.pui-light .page{margin:16px 28px 28px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.18);flex:1;padding:36px 48px;font-family:var(--doc);font-size:var(--fs-16);line-height:1.45;color:#111;border-left:4px solid #2f6b45}.pui-light .org{display:flex;align-items:center;gap:12px;justify-content:center;margin-bottom:12px}.pui-light .olg{color:#fff;font:700 var(--fs-22) var(--sans);padding:8px 16px;letter-spacing:.04em}.pui-light .org small{font:600 var(--fs-12) var(--sans);line-height:1.2}.pui-light .ptitle{text-align:center;font:700 var(--fs-18) var(--sans);margin:8px 0 4px}.pui-light .psub{text-align:center;font:var(--fs-12) var(--sans);color:#555;margin-bottom:12px;border-bottom:2px solid #9bbf8a;padding-bottom:12px}.pui-light .page :is(h4,h5){font:700 var(--fs-16) var(--doc);margin:12px 0 4px}.pui-light .page mark{background:#fbe39b;outline:2px solid #f2c94c;padding:1px 0;color:inherit}.pui-light .page p.u-g{color:#333}.pui-light .rs{padding:0 0 20px;overflow:hidden}.pui-light .ab{margin:20px 24px 0;border:1px solid #e2e8f0;border-radius:var(--r-12);padding:16px 20px;background:#fff}.pui-light .ab :is(h2,h3){font-size:var(--fs-14)}.pui-light .ab .sub{color:#6b7280;font-size:var(--fs-12);margin:2px 0 12px;border-bottom:1px solid #eeeeea;padding-bottom:12px}.pui-light .u-bub{background:#f0f0ec;border-radius:var(--r-12);padding:12px 16px;font-size:var(--fs-14);color:#374151;margin-bottom:12px}.pui-light .u-faq{display:flex;justify-content:space-between;font-weight:600;margin:0 0 12px}.pui-light .u-me{background:#3b4250;color:#fff;border-radius:var(--r-12);padding:12px 16px;font-size:var(--fs-14);margin:0 0 12px auto;width:fit-content;max-width:80%}.pui-light .aians{background:#f0f0ec;border:1px solid #e2e8f0;border-radius:var(--r-12);padding:16px;font-size:var(--fs-14);font-weight:600;line-height:1.45;max-width:92%}.pui-light .aians .u-chip{display:inline-block;margin-top:12px;font-weight:500;font-size:var(--fs-12);border:1px solid #d6d8dd;background:#fff;border-radius:var(--r-12);padding:4px 12px}.pui-light .aians .ev{display:block;font-weight:500;color:#4b5563;font-size:var(--fs-12);margin-top:8px}.pui-light .inp{margin-top:16px;border:1px solid #d6d8dd;border-radius:var(--r-12);padding:12px 16px;color:#9ca3af;font-size:var(--fs-14);display:flex;justify-content:space-between}.pui-light .uw{padding:0}.pui-light .uhd{display:flex;align-items:center;gap:12px;padding:16px 20px;border-bottom:1px solid #eeeeea;font-size:var(--fs-14)}.pui-light .uhd b{flex:1}.pui-light .cnt{background:#3b4250;color:#fff;border-radius:var(--r-12);padding:2px 8px;font:600 var(--fs-12) var(--mono)}.pui-light .ur{padding:12px 20px;border-bottom:1px solid #eeeeea}.pui-light .uh{display:flex;align-items:center;gap:8px;font-size:var(--fs-14)}.pui-light .uh b{flex:1;font-weight:600}.pui-light .ix{color:#6b7280;font-size:var(--fs-12)}.pui-light .sc{background:#3b4250;color:#fff;border-radius:var(--r-12);padding:2px 8px;font:600 var(--fs-12) var(--mono)}.pui-light .um{color:#4b5563;font-size:var(--fs-12);margin:4px 0 4px}.pui-light .ua{display:flex;align-items:center;gap:16px;font-size:var(--fs-12);color:#4b5563}.pui-light .ua .rq{color:#1d2330}.pui-light .ua u{color:#2a5bd7}.pui-light .ua .sw{color:#6b7280}.pui-light .pw{margin-left:auto;display:flex;align-items:center;gap:4px;color:#6b7280}.pui-light .pw img{width:22px;height:22px;border-radius:var(--r-6);object-fit:contain;border:2px solid #fff;margin-left:-8px;background:#fff}.pui-light .ysub{padding:12px 20px;font-size:var(--fs-12);color:#4b5563;border-bottom:1px solid #eeeeea;display:flex;justify-content:space-between;background:#fafaf8}.pui-light .how{padding:20px 24px}.pui-light .how :is(h2,h3){font-size:var(--fs-16)}.pui-light .how .sub{color:#6b7280;font-size:var(--fs-12);margin:4px 0 16px}.pui-light .u-st{display:flex;gap:16px;padding:12px 0;position:relative}.pui-light .u-st .dot{width:28px;height:28px;border-radius:var(--r-pill);background:#e7f1e9;border:1px solid #b9d6c0;flex:none;display:grid;place-items:center;color:#2f6b45;font:700 var(--fs-12) var(--sans);z-index:1}.pui-light .u-st::after{content:"";position:absolute;left:13.5px;top:38px;bottom:-12px;width:2px;background:#2a5bd7;opacity:.5}.pui-light .u-st:last-of-type::after{display:none}.pui-light .u-st :is(h3,h4){font-size:var(--fs-14);font-weight:600}.pui-light .u-st p{color:#6b7280;font-size:var(--fs-12)}.pui-light .u-st .cnt{margin-left:auto;align-self:flex-start;background:#e7f1e9;color:#2f6b45;border:1px solid #b9d6c0;border-radius:var(--r-12);padding:4px 12px;font-size:var(--fs-12);font-weight:600;white-space:nowrap;font-family:inherit}.pui-light .vbar{margin-top:12px;background:#e7f1e9;border:1px solid #b9d6c0;color:#2f6b45;border-radius:var(--r-6);padding:12px 16px;font-weight:600;font-size:var(--fs-12)}.pui-dark{width:1240px;background:#0e1424;color:#e8ecf4;font:var(--fs-14)/1.45 var(--sans);padding:28px 32px 32px;border-color:#1e2740}.pui-dark .u-samp{background:transparent;color:#8fb0ff;border-color:#3a4f8f}.pui-dark .u-dh{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.pui-dark :is(h2,h3){font-size:var(--fs-22);font-weight:700}.pui-dark .u-dh p{color:#9aa4b8;font-size:var(--fs-12);margin-top:4px}.pui-dark .dctl{display:flex;gap:8px}.pui-dark .dctl span{background:#1a2238;border:1px solid #2a3552;border-radius:var(--r-6);padding:8px 12px;font-size:var(--fs-12);color:#d6dcea}.pui-dark .dsec{font:600 var(--fs-12) var(--sans);color:#8b93a7;margin:24px 0 12px;border-bottom:1px solid #222c45;padding-bottom:8px}.pui-dark .dsec small{text-transform:none;letter-spacing:0;font-weight:400}.pui-dark .dc,.pui-dark .dk{background:#151d31;border:1px solid #243050;border-radius:var(--r-12);padding:16px 16px}.pui-dark .dl{color:#aab3c5;font-size:var(--fs-12)}.pui-dark i{font-style:normal;display:inline-grid;place-items:center;width:13px;height:13px;border:1px solid #4a5675;border-radius:var(--r-pill);font-size:var(--fs-12);color:#8b93a7;vertical-align:1px}.pui-dark .lg2 i,.pui-dark .u-bar i{border:0;border-radius:var(--r-6);width:10px;height:10px}.pui-dark .dv{font-size:var(--fs-28);font-weight:700;margin:4px 0 2px;letter-spacing:-.01em}.pui-dark .ds{color:#8b93a7;font-size:var(--fs-12)}.pui-dark .dg4{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.pui-dark .dg5{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:16px 0}.pui-dark .dg3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pui-dark .dg2{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.pui-dark .dg21{display:grid;grid-template-columns:1.9fr 1fr;gap:12px;margin-top:12px}.pui-dark .dt{font-weight:600;font-size:var(--fs-14);margin-bottom:12px}.pui-dark .dt small{color:#8b93a7;font-weight:400}.pui-dark .don{display:grid;place-items:center;padding:8px 0}.pui-dark .lg2{display:flex;gap:16px;justify-content:center;color:#aab3c5;font-size:var(--fs-12);margin-top:8px;flex-wrap:wrap}.pui-dark .lg2 span{display:flex;align-items:center;gap:8px}.pui-dark .lg2.wr{justify-content:flex-start}.pui-dark table{width:100%;border-collapse:collapse;font-size:var(--fs-12)}.pui-dark th{font:600 var(--fs-12) var(--sans);color:#8b93a7;text-align:left;padding:8px 8px;border-bottom:1px solid #243050}.pui-dark td{padding:8px 8px;border-bottom:1px solid #1f2842;color:#dfe5f1}.pui-dark td.mut{color:#8b93a7}.pui-dark .hit{background:#1e2c57;color:#9db6ff;border-radius:var(--r-12);padding:1px 8px;font:600 var(--fs-12) var(--mono)}.pui-dark .hit.o{background:#3b2a12;color:#f1b75c}.pui-dark .win{border-radius:var(--r-12);padding:1px 8px;font:600 var(--fs-12) var(--mono)}.pui-dark .win.u-g{background:#12372a;color:#4fd69c}.pui-dark .win.r{background:#3a1a1c;color:#ef6b6b}.pui-dark .abs{background:#3b2a12;color:#f1b75c;border-radius:var(--r-12);padding:1px 8px;font:600 var(--fs-12) var(--mono)}.pui-dark .u-tr{background:#1a2850;color:#8fb0ff;border-radius:var(--r-12);padding:1px 8px;font-size:var(--fs-12)}.pui-dark .u-tr.rise{background:#3a1a1c;color:#ef6b6b}.pui-dark .rqb{border:1px solid #3a4666;border-radius:var(--r-6);padding:4px 8px;font-size:var(--fs-12);white-space:nowrap}.pui-dark.oi .u-note{border:1px dashed #33406a;border-radius:var(--r-12);padding:12px 16px;color:#b8c1d4;font-size:var(--fs-12)}.pui-dark.oi .u-note b{color:#7ea2ff}.pui-dark.oi .dk .dv{font-size:var(--fs-28)}.pui-dark .up{font-size:var(--fs-12);font-weight:600}.pui-dark .oig{display:grid;grid-template-columns:300px 1fr;gap:16px;align-items:start}.pui-dark .ar{display:grid;grid-template-columns:110px 1fr 34px;gap:8px;align-items:center;font-size:var(--fs-12);color:#aab3c5;margin:8px 0}.pui-dark .u-bar{height:14px;background:#1b2440;border-radius:var(--r-6);overflow:hidden}.pui-dark .u-bar i{display:block;height:14px;width:auto}.pui-dark .ar em{font-style:normal;color:#8b93a7;font-size:var(--fs-12)}.pui-dark .gh{font:600 var(--fs-12) var(--sans);color:#8b93a7;margin:4px 0 8px;border-bottom:1px solid #222c45;padding-bottom:8px}.pui-dark .gh small{text-transform:none;color:#cfd6e6;margin-left:8px}.pui-dark .u-ic{background:#151d31;border:1px solid #243050;border-radius:var(--r-12);padding:12px 16px;margin-bottom:12px}.pui-dark .ich{display:flex;align-items:center;gap:12px}.pui-dark .ich b{font-size:var(--fs-14);flex:1}.pui-dark .scr{color:#f1b75c;font-weight:700;font-size:var(--fs-14)}.pui-dark .scr.hi{color:#ef6b6b}.pui-dark .kd{border:1px solid #3a4666;border-radius:var(--r-12);padding:1px 8px;font-size:var(--fs-12);color:#b8c1d4}.pui-dark .conf{font-size:var(--fs-12);color:#4fd69c}.pui-dark .u-ic p{color:#b8c1d4;font-size:var(--fs-12);margin:8px 0 4px}.pui-dark .ev{color:#8b93a7;font-size:var(--fs-12);margin-bottom:8px}.pui-dark .ib{display:flex;gap:8px}.pui-dark .ib span{border:1px solid #3a4666;border-radius:var(--r-6);padding:4px 8px;font-size:var(--fs-12);color:#d6dcea}.pui-light .card.nf::before{background:#9b2c1f}.pui-light .pill.nfp{background:#f6e8e5;color:#9b2c1f}.pui-light .ws{overflow-wrap:anywhere}

/* ==== theme-dark.css ==== */
html[data-theme="dark"] .btn.primary:hover{background:#162033}html[data-theme="dark"] .play-i::before{border-left:7px solid #1e293b}html[data-theme="dark"] nav.topnav{background:rgba(11,18,32,0.94)}html[data-theme="dark"] .hero-bg::after{background:linear-gradient(180deg,rgba(11,18,32,0.5) 0%,rgba(11,18,32,0.62) 60%,var(--paper) 100%)}html[data-theme="dark"] .demo{box-shadow:0 1px 0 rgba(255,255,255,0.04) inset,0 30px 60px -30px rgba(0,0,0,0.4)}html[data-theme="dark"] .qbar{background:#111a2e}html[data-theme="dark"] .doc{background:#111a2e;color:#dadada}html[data-theme="dark"] .poster{border:1px solid #b8bbc2;background:#162033}html[data-theme="dark"] .frame{box-shadow:0 30px 60px -30px rgba(0,0,0,0.48);background:#111a2e}html[data-theme="dark"] .modal{background:rgba(39,43,50,0.86)}html[data-theme="dark"] .modal video{background:#162033}html[data-theme="dark"] .modal .x{border:1px solid #a6a9ad}html[data-theme="dark"] .ph{border:1.5px dashed #3d5278;background:repeating-linear-gradient(135deg,rgba(15,23,42,0.18) 0 8px,transparent 8px 16px);color:#cbd5e1}html[data-theme="dark"] .samp{border:1px solid rgba(58,99,223,0.35)}html[data-theme="dark"] .chip{background:#111a2e}html[data-theme="dark"] .chip.on{background:#111a2e}html[data-theme="dark"] .rows{background:#111a2e}html[data-theme="dark"] .rowi .ic{color:#e8bab5;border:1px solid #57423e}html[data-theme="dark"] .rowi.lock .st{color:#cbd5e1}html[data-theme="dark"] .bub.me{background:#32363d}html[data-theme="dark"] .bub.ai .c{background:#111a2e}html[data-theme="dark"] .wbtn{background:#111a2e}html[data-theme="dark"] .wbtn.on{background:#111a2e}html[data-theme="dark"] .flow .src{background:#111a2e}html[data-theme="dark"] .team .m{border:1.5px dashed #3d5278;background:repeating-linear-gradient(135deg,rgba(15,23,42,0.12) 0 8px,transparent 8px 16px)}html[data-theme="dark"] .team .m .av{border:1.5px dashed #3d5278}html[data-theme="dark"] .stickycta{box-shadow:0 14px 40px -12px rgba(0,0,0,0.8)}html[data-theme="dark"] .tq.on{background:#111a2e}html[data-theme="dark"] .tdoc{background:#111a2e}html[data-theme="dark"] .tdoc .tt{color:#b4c9ee}html[data-theme="dark"] .tstep.fail em{color:#cbd5e1}html[data-theme="dark"] .cmp td.us{background:#111a2e}html[data-theme="dark"] .n{color:#cbd5e1}html[data-theme="dark"] .roi-in input{background:#111a2e}html[data-theme="dark"] .roi-in .asm{color:#cbd5e1;border:1px dashed #3d5278}html[data-theme="dark"] .roi-out .f{border-top:1px solid #b8bbc2}html[data-theme="dark"] .logo-ph{border:1.5px dashed #3d5278;color:#cbd5e1;background:repeating-linear-gradient(135deg,rgba(15,23,42,0.14) 0 8px,transparent 8px 16px)}html[data-theme="dark"] .quote-ph{border:1.5px dashed #3d5278;color:#cbd5e1;background:repeating-linear-gradient(135deg,rgba(15,23,42,0.1) 0 8px,transparent 8px 16px)}html[data-theme="dark"] .lede{color:#cfd0d4}html[data-theme="dark"] .hero-bg::after{background:linear-gradient(90deg,rgba(11,18,32,0.94) 0%,rgba(11,18,32,0.86) 45%,rgba(11,18,32,0.6) 100%),linear-gradient(180deg,transparent 70%,var(--paper))}html[data-theme="dark"] .body,html[data-theme="dark"] p.body{color:#c4c5c9}html[data-theme="dark"] nav .menu{box-shadow:0 20px 40px -20px rgba(0,0,0,0.48)}@media (max-width:900px){html[data-theme="dark"] .hero-bg::after{background:rgba(11,18,32,0.9)}}html[data-theme="dark"] .secitem{background:#111a2e}html[data-theme="dark"] .ans .t sup,html[data-theme="dark"] .bub sup{background:#111a2e}html[data-theme="dark"] .wpcard{background:#111a2e}html[data-theme="dark"] .wp p,html[data-theme="dark"] .wp li{color:#d0d1d5}html[data-theme="dark"] .modal .verr{border:1.5px dashed #3d5278;background:#292415;color:#f4dfaf}html[data-theme="dark"] .ans .own .sp{color:#fae5a8;background:#292415}html[data-theme="dark"] .ans .rec{color:#eddfb5;background:#201d14}html[data-theme="dark"] nav.topnav .mcol :is(h6,.mh){color:var(--blue,#9bafea);border-bottom:1px solid var(--rule,#243044)}html[data-theme="dark"] .demo .qbar:has(#q:not(:empty)){border-color:rgba(58,99,223,0.55);box-shadow:0 0 0 3px rgba(0,0,0,0.192)}html[data-theme="dark"] .step.cur::before{box-shadow:0 0 0 5px rgba(0,0,0,0.24)}html[data-theme="dark"] .pr-toggle{background:#111a2e}html[data-theme="dark"] .pr-card{background:var(--card,#111a2e)}html[data-theme="dark"] .pr-card.feat{box-shadow:0 24px 50px -30px rgba(0,0,0,0.72)}html[data-theme="dark"] .pr-tablewrap{background:#111a2e}html[data-theme="dark"] .pr-grp th{background:#0f172a}html[data-theme="dark"] .pr-faq{background:#111a2e}html[data-theme="dark"] .pr-chips li{background:#111a2e}html[data-theme="dark"] .hanim{background:#222835;border:1px solid #b6bcc7;box-shadow:0 30px 60px -30px rgba(0,0,0,0.72)}html[data-theme="dark"] .ha-top{border-bottom:1px solid #b6bcc7;background:#242a39}html[data-theme="dark"] .ha-samp{border:1px solid #6378b5}html[data-theme="dark"] .ha-card{background:#262c3a;border:1px solid #b6bcc7}html[data-theme="dark"] .ha-kpi{background:#262c3a;border:1px solid #b6bcc7}html[data-theme="dark"] .ha-ic{background:#262c3a;border:1px solid #b6bcc7}html[data-theme="dark"] .ha-ic em{color:#92e0c4}html[data-theme="dark"] .ha-sc{color:#e87d7d}html[data-theme="dark"] .ha-ic.ha-dec em{color:#e1c184}html[data-theme="dark"] .ha-uq{background:#262c3a;border:1px solid #b6bcc7}html[data-theme="dark"] .ha-score{background:#191b20;color:#c2cbe0}html[data-theme="dark"] .ha-req{border:1px solid #6378b5}html[data-theme="dark"] .ha-wait{color:#e1c184}html[data-theme="dark"] .ha-ppl img{border:1.5px solid #bec4d2}html[data-theme="dark"] .ha-preview{background:#262c3a;border:1px dashed #6378b5}html[data-theme="dark"] .flow .src.tinted{border-color:color-mix(in srgb,var(--c) 70%,#1e293b)}html[data-theme="dark"] .rowi.lock{box-shadow:inset 3px 0 0 rgba(0,0,0,1)}html[data-theme="dark"] .ha-ic{box-shadow:inset 3px 0 0 var(--ac,rgba(255,255,255,0.04))}html[data-theme="dark"] .demo-top .uc-inhead .uc-say{box-shadow:0 2px 8px rgba(0,0,0,0.128)}html[data-theme="dark"] .dm-list li{color:#cfd0d4}html[data-theme="dark"] .dm-card{box-shadow:0 1px 0 rgba(0,0,0,0.064),0 24px 48px -32px rgba(0,0,0,0.4)}html[data-theme="dark"] .dm-form input,html[data-theme="dark"] .dm-form select,html[data-theme="dark"] .dm-form textarea{background:#111a2e}html[data-theme="dark"] .dm-err{background:#201414;color:#ebb7b7}html[data-theme="dark"] .pui{border:1px solid #243044;box-shadow:0 30px 60px -30px rgba(0,0,0,0.56)}html[data-theme="dark"] .pui-light{background:#0f172a;color:#d4d7dc}html[data-theme="dark"] .pui .u-samp{color:#9bafea;border:1px solid #394465;background:#111a2e}html[data-theme="dark"] .pui-light .top{background:#111a2e;border-bottom:1px solid #243044}html[data-theme="dark"] .pui-light .top .u-ai{color:#c3c6cb}html[data-theme="dark"] .pui-light .sbox{border:1.5px solid #484a4f;color:#c3c6cb}html[data-theme="dark"] .pui .b{border:1px solid #484a4f;background:#111a2e;color:#cbced4}html[data-theme="dark"] .pui .b.blue{border-color:#3e6adb}html[data-theme="dark"] .pui-light .ws{color:#d4d7dc}html[data-theme="dark"] .pui-light .right{background:#111a2e;border-left:1px solid #243044}html[data-theme="dark"] .pui-light .card{background:#111a2e;border:1px solid #243044;box-shadow:0 2px 6px rgba(0,0,0,0.064)}html[data-theme="dark"] .pui-light .pill{background:#1b201c;color:#c1e1cd}html[data-theme="dark"] .pui-light .pill.comb{background:#111a2e;color:#b3c2ef}html[data-theme="dark"] .pui-light .u-meta{color:#aaacaf}html[data-theme="dark"] .pui-light sup{color:#96ade6;background:#111a2e}html[data-theme="dark"] .pui-light .u-part{border-top:1px solid #1e293b}html[data-theme="dark"] .pui-light .pn{color:#aaacaf;border:1px solid #434548}html[data-theme="dark"] .pui-light .u-vchip{color:#c1e1cd;background:#1b201c}html[data-theme="dark"] .pui-light .nchip{color:#edbbb6;background:#221a18}html[data-theme="dark"] .pui-light .u-pq.u-g{color:#aaacaf}html[data-theme="dark"] .pui-light .u-rec{background:#201d14;color:#eddfb5}html[data-theme="dark"] .pui-light .cites{border-top:1px solid #1e293b}html[data-theme="dark"] .pui-light .cite .u-n{color:#96ade6;background:#111a2e}html[data-theme="dark"] .pui-light .cite .u-s{color:#aaacaf}html[data-theme="dark"] .pui-light .acc{color:#aaacaf}html[data-theme="dark"] .pui-light .owners{border-top:1px solid #1e293b}html[data-theme="dark"] .pui-light .oh{color:#aaacaf}html[data-theme="dark"] .pui-light .u-own small{color:#aaacaf}html[data-theme="dark"] .pui-light .u-own .u-sp{color:#fae5a8;background:#292415}html[data-theme="dark"] .pui-light .btns{border-top:1px solid #1e293b}html[data-theme="dark"] .pui-light .u-why{color:#babdc1}html[data-theme="dark"] .pui-light .srch{color:#aaacaf}html[data-theme="dark"] .pui-light .srch .u-f span{border:1px solid #434548;color:#c4c7cc}html[data-theme="dark"] .pui-light .u-src{border-bottom:1px solid #1e293b}html[data-theme="dark"] .pui-light .u-src .u-ic{border:1px solid #5d423f;color:#e8b0ab}html[data-theme="dark"] .pui-light .u-src .u-tag{color:#c1e1cd;background:#1b201c}html[data-theme="dark"] .pui-light .u-src p{color:#aaacaf}html[data-theme="dark"] .pui-light .tabs{border-bottom:1px solid #243044;color:#babdc1}html[data-theme="dark"] .pui-light .tabs span.u-on{color:#d4d7dc;border-color:#3e6adb}html[data-theme="dark"] .pui-light .tabs .u-x{color:#aaacaf}html[data-theme="dark"] .pui-light .vh{border-bottom:1px solid #1e293b}html[data-theme="dark"] .pui-light .vh .z{color:#babdc1}html[data-theme="dark"] .pui-light .vh .z span{border:1px solid #434548}html[data-theme="dark"] .pui-light .page{background:#111a2e;box-shadow:0 1px 4px rgba(0,0,0,0.288);color:#e4e4e4;border-left:4px solid #60b980}html[data-theme="dark"] .pui-light .psub{color:#bebebe;border-bottom:2px solid #5c6c55}html[data-theme="dark"] .pui-light .page mark{background:#3f3720}html[data-theme="dark"] .pui-light .page p.u-g{color:#d1d1d1}html[data-theme="dark"] .pui-light .ab{border:1px solid #243044;background:#111a2e}html[data-theme="dark"] .pui-light .ab .sub{color:#aaacaf;border-bottom:1px solid #1e293b}html[data-theme="dark"] .pui-light .u-bub{background:#0f172a;color:#c4c7cc}html[data-theme="dark"] .pui-light .u-me{background:#3b3e46}html[data-theme="dark"] .pui-light .aians{background:#0f172a;border:1px solid #243044}html[data-theme="dark"] .pui-light .aians .u-chip{border:1px solid #434548;background:#111a2e}html[data-theme="dark"] .pui-light .aians .ev{color:#babdc1}html[data-theme="dark"] .pui-light .inp{border:1px solid #434548}html[data-theme="dark"] .pui-light .uhd{border-bottom:1px solid #1e293b}html[data-theme="dark"] .pui-light .cnt{background:#3b3e46}html[data-theme="dark"] .pui-light .ur{border-bottom:1px solid #1e293b}html[data-theme="dark"] .pui-light .ix{color:#aaacaf}html[data-theme="dark"] .pui-light .sc{background:#3b3e46}html[data-theme="dark"] .pui-light .um{color:#babdc1}html[data-theme="dark"] .pui-light .ua{color:#babdc1}html[data-theme="dark"] .pui-light .ua .rq{color:#d4d7dc}html[data-theme="dark"] .pui-light .ua u{color:#96ade6}html[data-theme="dark"] .pui-light .ua .sw{color:#aaacaf}html[data-theme="dark"] .pui-light .pw{color:#aaacaf}html[data-theme="dark"] .pui-light .pw img{border:2px solid #1e293b}html[data-theme="dark"] .pui-light .ysub{color:#babdc1;border-bottom:1px solid #1e293b;background:#0b1220}html[data-theme="dark"] .pui-light .how .sub{color:#aaacaf}html[data-theme="dark"] .pui-light .u-st .dot{background:#1b201c;border:1px solid #47574a;color:#c1e1cd}html[data-theme="dark"] .pui-light .u-st p{color:#aaacaf}html[data-theme="dark"] .pui-light .u-st .cnt{background:#1b201c;color:#c1e1cd;border:1px solid #47574a}html[data-theme="dark"] .pui-light .vbar{background:#1b201c;border:1px solid #47574a;color:#c1e1cd}html[data-theme="dark"] .pui-dark{background:#212738;border-color:#b3b9ca}html[data-theme="dark"] .pui-dark .u-samp{border-color:#5c74bd}html[data-theme="dark"] .pui-dark .dctl span{background:#282e3f;border:1px solid #adb3c4}html[data-theme="dark"] .pui-dark .dsec{border-bottom:1px solid #b1b8c8}html[data-theme="dark"] .pui-dark .dc,html[data-theme="dark"] .pui-dark .dk{background:#252c3d;border:1px solid #adb4c7}html[data-theme="dark"] .pui-dark i{border:1px solid #a1a7b4}html[data-theme="dark"] .pui-dark th{border-bottom:1px solid #adb4c7}html[data-theme="dark"] .pui-dark td{border-bottom:1px solid #b2b8c9}html[data-theme="dark"] .pui-dark .hit{background:#2a334d}html[data-theme="dark"] .pui-dark .hit.o{background:#433522;color:#ecbf79}html[data-theme="dark"] .pui-dark .win.u-g{background:#224136;color:#88ddb9}html[data-theme="dark"] .pui-dark .win.r{background:#40282a;color:#ea7b7b}html[data-theme="dark"] .pui-dark .abs{background:#433522;color:#ecbf79}html[data-theme="dark"] .pui-dark .u-tr{background:#28314a}html[data-theme="dark"] .pui-dark .u-tr.rise{background:#40282a;color:#ea7b7b}html[data-theme="dark"] .pui-dark .rqb{border:1px solid #a6acbc}html[data-theme="dark"] .pui-dark.oi .u-note{border:1px dashed #6477b4}html[data-theme="dark"] .pui-dark.oi .u-note b{color:#6e94f7}html[data-theme="dark"] .pui-dark .u-bar{background:#292f43}html[data-theme="dark"] .pui-dark .gh{border-bottom:1px solid #b1b8c8}html[data-theme="dark"] .pui-dark .u-ic{background:#252c3d;border:1px solid #adb4c7}html[data-theme="dark"] .pui-dark .scr{color:#ecbf79}html[data-theme="dark"] .pui-dark .scr.hi{color:#ea7b7b}html[data-theme="dark"] .pui-dark .kd{border:1px solid #a6acbc}html[data-theme="dark"] .pui-dark .conf{color:#88ddb9}html[data-theme="dark"] .pui-dark .ib span{border:1px solid #a6acbc}html[data-theme="dark"] .pui-light .pill.nfp{background:#221a18;color:#edbbb6}html[data-theme="dark"] .uc{color:var(--ink-2,#bebfc3)}html[data-theme="dark"] .uc-lens{fill:var(--paper,#0b1220)}

/* ==== theme.css ==== */
html{color-scheme:light}html[data-theme="dark"]{color-scheme:dark;--paper:#0b1220;--paper-2:#111a2e;--card:#0f172a;--ink:#e2e8f0;--ink-2:#cbd5e1;--ink-3:#94a3b8;--rule:#243044;--blue:#9cbcff;--blue-ink:#c5d4ff;--hl:#6b5418;--green:#7fc79a;--green-bg:#16271d;--logo-blue:#266adc;--logo-blue-hover:#2f72e1;--logo-blue-active:#1a56b8;--hero:#152033;--band-ink:#020617;--band-navy:#1a3f6f;--foot:#000000;--on-dark:#f8fafc;--on-dark-2:#d6deea;--on-dark-3:#c5d0de}html[data-theme="dark"] body{background:var(--paper);color:var(--ink)}html[data-theme="dark"] .tour,html[data-theme="dark"] .roi-out,html[data-theme="dark"] .flow .hub,html[data-theme="dark"] .skip{background:#111a2e;color:#e2e8f0}html[data-theme="dark"] main>section.tour{background:var(--band-ink)}html[data-theme="dark"] .tour h2{color:#e2e8f0}html[data-theme="dark"] .tour .body{color:#c3c6cc}html[data-theme="dark"] .tour .eyebrow{color:#a9aeb6}html[data-theme="dark"] .btn.primary{background:#e2e8f0;color:#0f172a}html[data-theme="dark"] .btn.primary:hover{background:#fff}html[data-theme="dark"] .btn.ghost{color:var(--ink);border-color:#3a4252}html[data-theme="dark"] .btn.ghost:hover{border-color:var(--ink)}html[data-theme="dark"] .stickycta{background:#111a2e;color:#e2e8f0;border:1px solid #2c3341}html[data-theme="dark"] .play-i::before{border-left-color:#fff}html[data-theme="dark"] h1 em,html[data-theme="dark"] h2 em{color:inherit}html[data-theme="dark"] nav.topnav{background:rgba(11,18,32,.92);border-bottom-color:var(--rule)}html[data-theme="dark"] nav .menu{background:var(--card);border-color:var(--rule)}html[data-theme="dark"] .hero-bg video,html[data-theme="dark"] .hero-bg img{opacity:.35}html[data-theme="dark"] .hero-bg::after{background:linear-gradient(180deg,color-mix(in srgb,var(--hero) 70%,transparent) 0%,color-mix(in srgb,var(--hero) 88%,transparent) 60%,var(--hero) 100%)}html[data-theme="dark"] img[src$="brand/unnanu-logo.svg"]{content:url(../brand/unnanu-logo-dark.svg)}html[data-theme="dark"] img[src$="favicon.svg"].demo-logo{content:url(../brand/unnanu-mark-dark.svg)}html[data-theme="dark"] .wphero-vis,html[data-theme="dark"] .wpfig,html[data-theme="dark"] .diagwrap{background:#eef3fd;color:#0f172a;border-color:#3a4252}html[data-theme="dark"] .wphero-vis figcaption,html[data-theme="dark"] .wpfig figcaption{color:#475569}html[data-theme="dark"] img:not([src$=".svg"]){filter:brightness(.92)}html[data-theme="dark"] .dm-form input,html[data-theme="dark"] .dm-form select,html[data-theme="dark"] .dm-form textarea{background:#0b1220;color:var(--ink);border-color:#3a4252}html[data-theme="dark"] .dm-form ::placeholder{color:#8a909b}html[data-theme="dark"] .dm-err{background:#3a1717;color:#ffc9c9}html[data-theme="dark"] .dm-card{box-shadow:0 24px 48px -32px rgba(0,0,0,.8)}html[data-theme="dark"] .btn.demo:focus-visible,html[data-theme="dark"] .navcta .btn.primary:focus-visible,html[data-theme="dark"] a.btn.primary[href$="/demo"]:focus-visible{outline-color:#fff}html[data-theme="dark"] .navcta .btn.primary,html[data-theme="dark"] a.btn.primary[href$="/demo"]{background:var(--logo-blue);color:#fff}html[data-theme="dark"] .navcta .btn.primary:hover,html[data-theme="dark"] a.btn.primary[href$="/demo"]:hover{background:var(--logo-blue-hover)}.theme-sw{display:inline-flex;align-items:center;gap:2px;border:1px solid var(--rule);border-radius:var(--r-pill);padding:2px;margin-right:12px;background:transparent}.theme-sw button{display:grid;place-items:center;width:30px;height:30px;border:0;border-radius:var(--r-pill);background:transparent;color:var(--ink-2);cursor:pointer}.theme-sw button svg{width:16px;height:16px}.theme-sw button:hover{color:var(--ink)}.theme-sw button[aria-checked="true"]{background:var(--ink);color:var(--paper)}.theme-sw button:focus-visible{outline:2px solid var(--logo-blue);outline-offset:1px}.theme-li{display:none}@media (max-width:900px){.navcta .theme-sw{display:none}.theme-li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 0;border-top:1px solid var(--rule);font:500 var(--fs-16) var(--sans);color:var(--ink-2)}.theme-li .theme-sw{margin:0}.theme-li .theme-sw button{width:44px;height:44px}}.fcol h4{color:#475569}.pui .inp,.pui .inp span{color:#6b7280}html[data-theme="dark"] .fcol h4{color:var(--ink-3)}html[data-theme="dark"] [data-c="1"]{--cc:#8fb0ff}html[data-theme="dark"] [data-c="2"]{--cc:#5cc7bb}html[data-theme="dark"] [data-c="3"]{--cc:#e0ae5a}html[data-theme="dark"] [data-c="4"]{--cc:#d39be2}html[data-theme="dark"] [data-c="5"]{--cc:#f0907e}html[data-theme="dark"] .diagwrap .note,html[data-theme="dark"] .diagwrap figcaption,html[data-theme="dark"] figcaption.note{color:#475569}html[data-theme="dark"] .hanim.req .ha-first .ha-req{background:var(--logo-blue);border-color:var(--logo-blue);color:#fff}html[data-theme="dark"] .pui .org small{color:#c3c6e0!important}html[data-theme="dark"] .flow .hub span{color:#f7dc8a}.sitefoot .fbase,.sitefoot .fbase span{color:#475569}html[data-theme="dark"] .sitefoot .fbase,html[data-theme="dark"] .sitefoot .fbase span{color:var(--ink-3)}html[data-theme="dark"] .pui .inp,html[data-theme="dark"] .pui .inp span{color:#9aa1ad}html[data-theme="dark"] .btn.demo{background:var(--logo-blue);color:#fff}html[data-theme="dark"] .btn.demo:hover{background:var(--logo-blue-hover)}html[data-theme="dark"] .hero-bg video,html[data-theme="dark"] .hero-bg img{opacity:.12}@media (min-width:1180px){nav.topnav ul>li>a,nav.topnav ul>li>button{white-space:nowrap}}@media (max-width:1240px) and (min-width:901px){.theme-sw button{width:26px;height:26px}.theme-sw{margin-right:8px}}@media (min-width:901px){nav.topnav .brand{flex-shrink:0}nav.topnav .wrap{gap:12px}nav.topnav ul{gap:8px}nav.topnav ul li>a,nav.topnav ul li>button{padding-left:8px!important;padding-right:8px!important}.navcta{gap:8px;flex-shrink:0}.navcta .btn{padding:12px 12px}}@media (min-width:901px) and (max-width:999px){.brand .bt{display:none}}:root{--flow-req:#266ADC;--flow-id:#7B4FD6;--flow-src:#C9821A;--flow-aud:#2A7F86;--flow-ans:#2F8A4E}.flowdots circle{transition:none;stroke:#fff;stroke-width:1.6;filter:drop-shadow(0 0 3px rgba(0,0,0,.18))}.flow-legend{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:16px;font:var(--fs-12) var(--sans);color:#475569}.flow-legend span{display:inline-flex;align-items:center;gap:8px}.flow-legend i{width:9px;height:9px;border-radius:var(--r-pill);display:inline-block}html[data-theme="dark"] .flow-legend{color:#475569}.flowhl .fhl{fill:none;stroke-width:3;opacity:0;filter:drop-shadow(0 0 6px currentColor)}.flow-step{min-height:22px;margin-top:12px;font:var(--fs-14) var(--sans,inherit);color:#2b2f36;display:flex;align-items:center;gap:8px}.flow-step b{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:var(--r-pill);color:#fff;font:600 var(--fs-12) var(--sans)}html[data-theme="dark"] .flow-step{color:#2b2f36}.steps .rail i::after{content:"";position:absolute;left:-4px;bottom:-5px;width:10px;height:10px;border-radius:var(--r-pill);background:var(--flow-req);box-shadow:0 0 0 4px rgba(38,106,220,.18)}.pipe-track.static .rail i::after{display:none}.steps .rail i{transition:height 1.9s cubic-bezier(.45,0,.25,1)!important}.step.cur{border-radius:var(--r-12);box-shadow:0 0 0 1px rgba(38,106,220,.35),0 0 18px -4px rgba(38,106,220,.45);transition:box-shadow .5s}.ha-cap{position:absolute;left:14px;bottom:10px;right:14px;font:var(--fs-12) var(--sans,inherit);color:#c8d0e0;display:flex;gap:8px;align-items:center;pointer-events:none}.ha-cap b{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:var(--r-pill);background:#266ADC;color:#fff;font:600 var(--fs-12) var(--sans)}.hanim{position:relative}.flow svg .fdot{filter:drop-shadow(0 0 3px rgba(0,0,0,.25))}@media (prefers-reduced-motion:reduce){.step.cur{box-shadow:none}.ha-cap{position:static;padding:0 16px 12px;display:block}}.hanim:has(.ha-cap) .ha-body{padding-bottom:36px}html[data-theme="dark"] .cta .eyebrow b{color:#9cbcff}html[data-theme="dark"] .dm-list li{color:var(--on-dark-2)}html[data-theme="dark"] main>section.band-hero .dm-list{border-top-color:rgba(255,255,255,.22)}html[data-theme="dark"] main>section.band-hero .dm-list li{border-bottom-color:rgba(255,255,255,.16)}html[data-theme="dark"] footer.sitefoot .fcol h4,html[data-theme="dark"] footer.sitefoot .ct-k,html[data-theme="dark"] footer.sitefoot .fbase,html[data-theme="dark"] footer.sitefoot .fbase span{color:#9ca3af}html[data-theme="dark"] footer.sitefoot .fgroup{color:#9ca3af}html[data-theme="dark"] footer.sitefoot .fcol a,html[data-theme="dark"] footer.sitefoot .fbase a{color:#fff}html[data-theme="dark"] .cmp td.us{background:#18233f}html[data-theme="dark"] .tm-mono{background:#111a2e}html[data-theme="dark"] .tm-mono span{color:#e2e8f0}

/* ==== mm.css ==== */
.mm{--mm-acc:#1a56b8;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);overflow:hidden;box-shadow:0 30px 60px -34px rgba(15,23,42,.28);text-align:left;font-size:var(--fs-14);color:var(--ink)}.mm-top{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--rule);background:var(--paper)}.mm-lbl{font-size:var(--fs-12);color:var(--ink-3)}.mm-pp.paused svg{opacity:.45}.mm-body{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);min-height:600px}.mm-main{padding:24px 24px;min-width:0}.mm-h{display:block;font-family:inherit;font-size:var(--fs-22);font-weight:600;letter-spacing:-.01em;margin:0 0 12px}.mm-box{position:relative;display:flex;align-items:center;gap:8px;border:1.5px solid var(--rule);border-radius:var(--r-12);padding:0 12px;background:var(--paper)}.mm-box:focus-within{border-color:var(--logo-blue)}.mm-box svg{width:16px;height:16px;flex:none;color:var(--ink-3)}.mm-box input{flex:1;min-width:0;border:0;background:transparent;font:inherit;font-size:var(--fs-16);padding:12px 0;color:var(--ink);outline:none}.mm-ac{position:absolute;left:-1px;right:-1px;top:calc(100% + 4px);z-index:5;list-style:none;margin:0;padding:8px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 18px 40px -18px rgba(15,23,42,.35)}.mm-ac li{padding:8px 12px;border-radius:var(--r-6);cursor:pointer}.mm-ac li[aria-selected=true],.mm-ac li:hover{background:color-mix(in srgb,var(--logo-blue) 12%,transparent)}.mm-meta{margin:12px 0 0;font-size:var(--fs-12);color:var(--ink-3)}.mm-meta a{color:var(--mm-acc)}.mm-tabs{display:flex;gap:4px;margin:20px 0 16px;border-bottom:1px solid var(--rule)}.mm-tabs button,.mm-stabs button,.mm-sub button{font:inherit;background:none;border:0;color:var(--ink-3);cursor:pointer;padding:8px 12px;border-bottom:2px solid transparent;margin-bottom:-1px}.mm-tabs [aria-selected=true],.mm-stabs [aria-selected=true]{color:var(--ink);border-bottom-color:var(--logo-blue);font-weight:600}.mm button:focus-visible{outline:2px solid var(--logo-blue);outline-offset:2px;border-radius:var(--r-6)}.mm-land{display:grid;grid-template-columns:1fr 1fr;gap:20px}.mm h4{font-size:var(--fs-12);color:var(--ink-3);margin:16px 0 8px;font-weight:600}.mm-land ul,.mm-ocr ul,.mm-clips,.mm-ppl{list-style:none;margin:0;padding:0}.mm-land li{padding:8px 0;border-bottom:1px solid var(--rule);cursor:pointer}.mm mark{background:#ffe766;color:#0f172a;padding:0 2px;border-radius:var(--r-6)}.mm-ans{display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--paper);margin-bottom:12px}.mm-ans p{margin:0;line-height:1.5}.mm-b{flex:none;font-size:var(--fs-12);font-weight:600;padding:4px 8px;border-radius:var(--r-pill);white-space:nowrap}.mm-b-v{background:#dcf3e4;color:#11603a}.mm-b-l{background:#fff1cc;color:#7a5200}.mm-b-r{background:#e9eaee;color:#3b4049}.mm-vid{position:relative;border-radius:var(--r-6);overflow:hidden;background:var(--paper-2);padding-bottom:4px}.mm-vid video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:transparent}.mm-bar{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.18)}.mm-bar i{position:absolute;top:0;bottom:0;background:#ffe766}.mm-segs{list-style:none;margin:12px 0 0;padding:0;max-height:200px;overflow:auto}.mm-segs li{display:grid;grid-template-columns:28px 76px 1fr;gap:8px;align-items:start;padding:8px 4px;border-bottom:1px solid var(--rule)}.mm-segs li.mm-on{background:color-mix(in srgb,#ffe766 22%,transparent)}.mm-segs p{margin:2px 0 0;font-size:var(--fs-14);color:var(--ink-3);line-height:1.45}.mm-segs li.mm-a p{color:var(--ink)}.mm-segs .mm-en span,.mm-lang{font-size:var(--fs-12);font-weight:600;color:var(--mm-acc);margin-right:4px}.mm-tr{font-variant-numeric:tabular-nums;font-size:var(--fs-12);color:var(--ink-3);padding-top:4px}.mm-play{width:26px;height:26px;border-radius:var(--r-pill);border:1px solid var(--rule);background:var(--card);color:var(--ink);cursor:pointer;font-size:var(--fs-12);line-height:1;padding:0}.mm-aud{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid var(--rule);border-radius:var(--r-6)}.mm-big{width:38px;height:38px;font-size:var(--fs-14);flex:none}.mm-wave{position:relative;flex:1;height:64px;display:flex;align-items:center;gap:2px}.mm-wave span{flex:1;background:color-mix(in srgb,var(--ink) 22%,transparent);border-radius:var(--r-6)}.mm-wave span.in{background:#e3b800}.mm-ph{position:absolute;top:-4px;bottom:-4px;width:2px;background:var(--logo-blue)}.mm-time{font-variant-numeric:tabular-nums;font-size:var(--fs-12);color:var(--ink-3);min-width:76px}.mm-imgs{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:start}.mm-img{position:relative;margin:0;border-radius:var(--r-6);overflow:hidden}.mm-img img{display:block;width:100%;height:auto}.mm-img figcaption{font-size:var(--fs-12);color:var(--ink-3);padding-top:8px}.mm-hl{position:absolute;border:3px solid #ffd400;background:rgba(255,231,102,.28);border-radius:var(--r-6);box-shadow:0 0 0 2px rgba(0,0,0,.25);animation:mmhl .6s ease-out}@keyframes mmhl{from{opacity:0;transform:scale(1.08)}to{opacity:1;transform:none}}.mm-ocr li{padding:8px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-14)}.mm-sub{display:flex;gap:8px;margin-top:12px}.mm-sub button{border:1px solid var(--rule);border-radius:var(--r-pill);padding:4px 12px;margin:0;font-size:var(--fs-12)}.mm-sub [aria-pressed=true]{color:var(--ink);border-color:var(--logo-blue)}.mm-side{border-left:1px solid var(--rule);padding:20px 20px;background:var(--paper);min-width:0}.mm-stabs{display:flex;border-bottom:1px solid var(--rule)}.mm-stabs button{padding:8px 8px;font-size:var(--fs-12)}.mm-sp p{margin:12px 0 0;line-height:1.5;font-size:var(--fs-14)}.mm-cite{font-variant-numeric:tabular-nums}.mm-clips li{display:flex;gap:8px;align-items:center;padding:8px 0;font-size:var(--fs-14)}.mm-clips .mm-tr{margin-left:auto;padding:0}.mm-ppl li{display:flex;gap:12px;align-items:center;padding:8px 0}.mm-ppl small{display:block;color:var(--ink-3);font-size:var(--fs-12)}.mm-av{width:30px;height:30px;border-radius:var(--r-pill);display:grid;place-items:center;background:color-mix(in srgb,var(--logo-blue) 16%,transparent);color:var(--mm-acc);font-size:var(--fs-12);font-weight:700}.mmsec .mm{margin-top:32px}@media (max-width:900px){.mm-body{grid-template-columns:1fr}.mm-side{border-left:0;border-top:1px solid var(--rule)}.mm-imgs,.mm-land{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.mm-hl{animation:none}}.mm [hidden]{display:none!important}.mm-imgw{position:relative;line-height:0}.howg.h5{grid-template-columns:repeat(5,minmax(0,1fr))}@media (max-width:900px){.howg.h5{grid-template-columns:1fr 1fr}}.mm-chip{display:inline-block;font-size:var(--fs-12);font-weight:600;padding:2px 8px;border-radius:var(--r-pill);background:color-mix(in srgb,var(--logo-blue) 13%,transparent);color:var(--mm-acc);margin-bottom:2px}.mm-scope{display:inline-block;font-size:var(--fs-12);font-weight:600;padding:2px 8px;border-radius:var(--r-6);border:1px solid var(--rule);margin-right:8px;color:var(--ink-3)}html[data-theme="dark"] .mm{--mm-acc:#9cbcff}@media (prefers-color-scheme:dark){html:not([data-theme="light"]) .mm{--mm-acc:#9cbcff}}.mm-ans .mm-ts{display:inline;width:auto;height:auto;margin:0 0 0 2px;padding:0 1px;border:0;border-radius:var(--r-6);background:none;color:var(--mm-acc);font:500 var(--fs-12)/1 var(--mono);text-decoration:underline dotted;text-underline-offset:3px;cursor:pointer;white-space:nowrap;vertical-align:baseline}.mm-ans .mm-ts:hover{text-decoration-style:solid;background:color-mix(in srgb,var(--mm-acc) 10%,transparent)}.mm-ans .mm-ts:focus-visible{outline:2px solid var(--mm-acc);outline-offset:2px}.mm-srt{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.mm-vid video::cue{font:500 var(--fs-16)/1.35 var(--sans);background:rgba(10,12,16,.72);color:#fff}.mm .mm-ans .mm-ts{min-height:0;min-width:0;position:relative}.mm .mm-ans .mm-ts::after{content:"";position:absolute;inset:-12px -4px}
.mm .mm-ans .mm-ts{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:24px;padding:2px 8px;margin:0 1px;vertical-align:baseline}
.mm .mm-ans .mm-ts::after{inset:-10px -8px}
html[data-theme="dark"] .mm-segs li.mm-on .mm-tr{color:#f8fafc}

/* ==== v19.css ==== */
.v19{--amb-bg:#fbf1dc;--amb-bd:#ecd6a6;--amb-ink:#7a4f0c;--ok-bg:#e6efe6;--ok-ink:#2f6b45;--acc:#266adc}html[data-theme="dark"] .v19{--amb-bg:#2b2416;--amb-bd:#5a4724;--amb-ink:#f0cf8a;--ok-bg:#1d2b22;--ok-ink:#8fd0a5;--acc:#9cbcff}.v19 [hidden]{display:none!important}.ds-ui{display:grid;grid-template-columns:270px minmax(0,1fr);gap:24px;align-items:start}.ds-rl{font-family:var(--sans);font-size:var(--fs-12);color:var(--ink-3);margin:0 0 12px;font-weight:600}.ds-rail{display:flex;flex-direction:column;gap:16px;position:sticky;top:calc(var(--navh) + 16px)}.ds-types{display:flex;flex-direction:column;gap:8px}.ds-type{display:flex;gap:12px;align-items:flex-start;text-align:left;font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:12px 16px;cursor:pointer;transition:border-color .2s,box-shadow .2s}.ds-type:hover{border-color:color-mix(in srgb,var(--acc) 45%,var(--rule))}.ds-type[aria-selected="true"]{border-color:var(--acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 16%,transparent)}.ds-type b{display:block;font-weight:600;font-size:var(--fs-16)}.ds-type small{display:block;color:var(--ink-3);font-size:var(--fs-12);line-height:1.35;margin-top:2px}.ds-ti{flex:none;width:30px;height:30px;border-radius:var(--r-6);display:grid;place-items:center;color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}.ds-ti svg{width:18px;height:18px}.ds-box{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:12px 16px;font-size:var(--fs-14)}.ds-box p{margin:0 0 4px;color:var(--ink-2)}.ds-qq{font-family:var(--doc)}.ds-sl{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ds-sl li{display:grid;grid-template-columns:22px 1fr;column-gap:8px;font-size:var(--fs-14);line-height:1.3}.ds-sl small{grid-column:2;color:var(--ink-3);font-size:var(--fs-12)}.ds-n{display:inline-grid;place-items:center;min-width:20px;height:20px;border-radius:var(--r-6);font-family:var(--sans);font-size:var(--fs-12);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}.ds-aud{font-size:var(--fs-14);color:var(--ink-3);display:flex;gap:8px;align-items:center}.ds-aud select{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--rule);border-radius:var(--r-6);padding:4px 8px}.ds-main{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:28px 32px;min-width:0;box-shadow:0 30px 60px -44px rgba(15,23,42,.35)}.ds-banner{display:flex;gap:12px;align-items:center;background:var(--amb-bg);border:1px solid var(--amb-bd);color:var(--amb-ink);border-radius:var(--r-12);padding:12px 16px;font-size:var(--fs-14);font-weight:500}.ds-kick{font-family:var(--sans);font-size:var(--fs-12);color:var(--ink-3);margin:20px 0 4px;font-weight:600}.ds-title{font-family:var(--serif);font-weight:400;font-size:var(--fs-28);line-height:1.15;margin:0 0 16px}.ds-acts{display:flex;flex-wrap:wrap;gap:8px}.ds-acts .btn{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-14);padding:8px 16px}.ds-counts{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 4px;padding-bottom:16px;border-bottom:1px solid var(--rule)}.ds-counts span{font-size:var(--fs-12);padding:4px 12px;border-radius:var(--r-pill);background:var(--paper-2);color:var(--ink-2);border:1px solid var(--rule)}.ds-counts .ok{background:var(--ok-bg);color:var(--ok-ink);border-color:transparent;font-weight:600}.ds-sec{padding:20px 0 4px}.ds-sec :is(h2,h3,h4){font-family:var(--sans);font-size:var(--fs-12);color:var(--ink-3);font-weight:600;margin:0 0 8px}.ds-sec p{margin:0;font-size:var(--fs-16);line-height:1.65;color:var(--ink)}.ds-cite{display:inline-flex;gap:4px;align-items:center;vertical-align:1px;font-family:var(--mono);font-size:var(--fs-12);line-height:1;padding:4px 8px;margin:0 1px;border-radius:var(--r-6);border:1px solid color-mix(in srgb,var(--acc) 35%,var(--rule));background:color-mix(in srgb,var(--acc) 8%,transparent);color:var(--acc);cursor:pointer}.ds-cite span{opacity:.75}.ds-cite:hover,.ds-cite.on{background:var(--acc);color:var(--card);border-color:var(--acc)}.ds-srcs{margin-top:24px;padding-top:16px;border-top:1px solid var(--rule);scroll-margin-top:calc(var(--navh) + 20px);outline:0}.ds-srcs :is(h2,h3,h4){font-family:var(--sans);font-size:var(--fs-12);color:var(--ink-3);font-weight:600;margin:0 0 12px}.ds-srcs ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.ds-srcs li{display:grid;grid-template-columns:26px 1fr;gap:8px;padding:8px 12px;border-radius:var(--r-12);border:1px solid transparent;transition:background .2s,border-color .2s}.ds-srcs li.on{background:var(--paper-2);border-color:var(--rule)}.ds-srcs b{font-weight:600;font-size:var(--fs-14)}.ds-srcs small{display:block;color:var(--ink-3);font-size:var(--fs-12)}.ds-pv{margin:8px 0 2px;font-size:var(--fs-14);line-height:1.55}.ds-pv mark{background:var(--hl);color:#0f172a;padding:1px 2px;border-radius:var(--r-6);box-decoration-break:clone;-webkit-box-decoration-break:clone}.ds-pg{display:block;font-family:var(--mono);font-size:var(--fs-12);color:var(--ink-3);margin-bottom:2px}.ds-prin{margin:20px 0 0;font-size:var(--fs-14);color:var(--ink-3);display:flex;gap:8px}@media (prefers-reduced-motion:no-preference){.ds-main.gen .ds-sec{animation:ds-in .5s calc(var(--d)*110ms) var(--ease) both}.ds-main.gen .ds-counts .ok{animation:ds-in .4s .1s both}}@keyframes ds-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@media (max-width:900px){.ds-ui{grid-template-columns:1fr}.ds-rail{position:static}.ds-types{flex-direction:row;overflow-x:auto;padding-bottom:4px}.ds-type{min-width:210px}.ds-main{padding:20px}.ds-box,.ds-aud{display:none}}.vn-tabs{display:inline-flex;gap:4px;padding:4px;border-radius:var(--r-pill);background:var(--paper-2);border:1px solid var(--rule);margin-bottom:16px}.vn-tabs button{font:inherit;font-size:var(--fs-14);border:0;background:none;color:var(--ink-2);padding:8px 16px;border-radius:var(--r-pill);cursor:pointer}.vn-tabs button[aria-selected="true"]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12);font-weight:600}.vn-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:stretch}.vn-card{background:var(--card);border:1px solid var(--rule);border-left:3px solid var(--ok-ink);border-radius:var(--r-12);padding:24px 24px}.vn-qq{display:flex;gap:12px;font-size:var(--fs-14);color:var(--ink-2);margin-bottom:16px}.vn-qq span{font-family:var(--sans);font-size:var(--fs-12);color:var(--ink-3);padding-top:4px}.vn-vh{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.vn-badge{font-size:var(--fs-14);font-weight:600;color:var(--ok-ink);background:var(--ok-bg);padding:4px 12px;border-radius:var(--r-pill)}.vn-vm{font-size:var(--fs-14);color:var(--ink-3)}.vn-card blockquote{font-family:var(--serif);font-size:var(--fs-22);line-height:1.35;margin:16px 0 12px}.vn-doc{font-size:var(--fs-14);color:var(--ink-2);display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.vn-dn{font-weight:600;color:var(--ink);text-decoration:underline dotted;text-underline-offset:3px}.vn-ad{color:var(--ink-3)}.vn-age{font-size:var(--fs-12);font-weight:600;color:var(--amb-ink);background:var(--amb-bg);border:1px solid var(--amb-bd);border-radius:var(--r-pill);padding:1px 8px}.vn-note{margin:12px 0 8px;background:var(--amb-bg);border:1px solid var(--amb-bd);border-radius:var(--r-12);padding:12px 16px;color:var(--amb-ink);font-size:var(--fs-14);line-height:1.45;display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}.vn-note>div:first-child{flex:1 1 240px}.vn-nb{display:flex;gap:8px;flex-wrap:wrap}.vn-flagged{flex-basis:100%;margin:0;font-size:var(--fs-12)}.vn-btn{font:inherit;font-size:var(--fs-14);font-weight:500;padding:8px 12px;border-radius:var(--r-6);border:1px solid var(--rule);background:var(--card);color:var(--ink);cursor:pointer}.vn-btn:hover{border-color:var(--ink-3)}.vn-btn:disabled{opacity:.6;cursor:default}.vn-btn.pri{background:var(--logo-blue);border-color:var(--logo-blue);color:#fff}.vn-btn.pri:hover{background:var(--logo-blue-hover)}.vn-btn[aria-pressed="true"]{border-color:var(--acc);color:var(--acc)}.vn-acc{font-size:var(--fs-12);color:var(--ink-3);margin:0 0 12px}.vn-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding-top:12px;border-top:1px solid var(--rule)}.vn-th{margin-left:auto;display:flex;gap:8px}.vn-th button{width:32px;height:30px;border-radius:var(--r-6);border:1px solid var(--rule);background:var(--card);color:var(--ink-2);cursor:pointer;display:grid;place-items:center}.vn-th svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round}.vn-th button[aria-pressed="true"]{color:var(--acc);border-color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}.vn-toast{min-height:1.3em;margin:8px 0 0;font-size:var(--fs-12);color:var(--ok-ink);opacity:0;transition:opacity .25s}.vn-toast.on{opacity:1}.vn-prev{background:var(--paper-2);border:1px solid var(--rule);border-radius:var(--r-12);overflow:hidden;display:flex;flex-direction:column}.vn-ph{padding:12px 16px;border-bottom:1px solid var(--rule);font-size:var(--fs-14);font-weight:600;background:var(--card)}.vn-page{margin:16px;background:#fff;color:#1d2129;border-radius:var(--r-6);box-shadow:0 8px 24px -14px rgba(0,0,0,.35);padding:24px 28px;flex:1;font-family:var(--doc);font-size:var(--fs-14);line-height:1.6;border-left:3px solid #2f6b45}.vn-page p{margin:0 0 12px}.vn-page mark{background:#f7dc8a;color:inherit;padding:1px 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.vn-plab{font-family:var(--mono);font-size:var(--fs-12);color:#2f6b45;margin:-8px 0 12px}@media (prefers-reduced-motion:no-preference){.vn-body.in .vn-card,.vn-body.in .vn-prev{animation:ds-in .4s var(--ease) both}.vn-body.in .vn-prev{animation-delay:.08s}.vn-prev.flash .vn-page mark{animation:vn-fl 1s ease}}@keyframes vn-fl{0%{background:#ffd34d}100%{background:#f7dc8a}}@media (max-width:900px){.vn-grid{grid-template-columns:1fr}.vn-card blockquote{font-size:var(--fs-18)}}.vn-mini{margin-top:12px}.vn-mini .vn-tabs{margin-bottom:8px}.vn-mini .vn-tabs button{font-size:var(--fs-12);padding:4px 12px}.vn-mini .vn-card{padding:12px 16px;border-radius:var(--r-12)}.vn-mini .vn-note{font-size:var(--fs-12);padding:8px 12px;margin:8px 0 8px}.vn-mini .vn-btn{font-size:var(--fs-12);padding:4px 8px}.vn-mini .vn-acts{padding-top:8px}.vn-mini .vn-acc{margin-bottom:8px;font-size:var(--fs-12)}.vn-mini .vn-doc{font-size:var(--fs-12)}.vn-mini .vn-toast{margin-top:4px;font-size:var(--fs-12)}.sl-mini{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;margin-top:36px;padding:20px 24px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card)}.sl-mini .sl-ic{width:44px;height:44px;border-radius:var(--r-12);display:grid;place-items:center;color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent)}.sl-mini .sl-ic svg{width:24px;height:24px}.sl-mini h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-22);margin:0 0 4px}.sl-mini p{margin:0;color:var(--ink-2);font-size:var(--fs-16)}.sl-mini a{font-size:var(--fs-14);white-space:nowrap}@media (prefers-reduced-motion:no-preference){.sl-mini .sl-ic svg .spin{transform-origin:12px 12px;animation:sl-spin 8s linear infinite}}@keyframes sl-spin{to{transform:rotate(360deg)}}@media (max-width:700px){.sl-mini{grid-template-columns:auto 1fr}.sl-mini a{grid-column:2}}.sl-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:0;margin:8px 0 0;position:relative}.sl-step{position:relative;padding:20px 20px 20px 0;opacity:.35;transition:opacity .4s}.sl-step .sl-dot{width:40px;height:40px;border-radius:var(--r-pill);display:grid;place-items:center;border:1.5px solid var(--rule);background:var(--card);color:var(--ink-3);position:relative;z-index:1;transition:border-color .4s,color .4s,background .4s}.sl-step .sl-dot svg{width:20px;height:20px}.sl-step h3{font-size:var(--fs-16);font-weight:600;margin:16px 0 4px}.sl-step p{margin:0;font-size:var(--fs-14);color:var(--ink-2);line-height:1.5}.sl-step:not(:last-child)::after{content:"";position:absolute;left:48px;right:10px;top:38px;height:1.5px;background:var(--rule)}.sl-step:not(:last-child)::before{content:"";position:absolute;right:8px;top:34px;border:5px solid transparent;border-left:7px solid var(--rule);border-right:0}.sl-step.sl-ver .sl-doc{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:var(--fs-12);font-family:var(--mono);color:var(--ink-3);border:1px dashed var(--rule);border-radius:var(--r-6);padding:4px 8px}.sl.done .sl-step,.sl.play .sl-step{opacity:1}.sl.done .sl-dot,.sl.play .sl-dot{border-color:var(--acc);color:var(--acc)}.sl.done .sl-step:last-child .sl-dot,.sl.play .sl-step:last-child .sl-dot{background:color-mix(in srgb,var(--acc) 12%,var(--card))}@media (prefers-reduced-motion:no-preference){.sl.play .sl-step{animation:sl-on .5s calc(var(--i)*450ms) var(--ease) both}.sl.play .sl-dot{animation:sl-dot .5s calc(var(--i)*450ms) both}}@keyframes sl-on{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes sl-dot{from{border-color:var(--rule);color:var(--ink-3)}to{border-color:var(--acc);color:var(--acc)}}.sl-foot{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:center;margin-top:20px;font-size:var(--fs-14);color:var(--ink-3)}.sl-replay{font:inherit;font-size:var(--fs-14);border:1px solid var(--rule);background:var(--card);color:var(--ink-2);border-radius:var(--r-6);padding:4px 12px;cursor:pointer}@media (prefers-reduced-motion:reduce){.sl-replay{display:none}}@media (max-width:900px){.sl-steps{grid-template-columns:1fr}.sl-step{display:grid;grid-template-columns:40px 1fr;column-gap:16px;padding:12px 0}.sl-step h3{margin-top:2px}.sl-step p,.sl-step .sl-doc{grid-column:2}.sl-step:not(:last-child)::after{left:19px;right:auto;top:54px;bottom:-10px;width:1.5px;height:auto}.sl-step:not(:last-child)::before{display:none}}.fx4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.fx4 article{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:20px}.fx4 .k{width:34px;height:34px;border-radius:var(--r-6);display:grid;place-items:center;color:var(--acc);background:color-mix(in srgb,var(--acc) 10%,transparent);margin-bottom:12px}.fx4 .k svg{width:19px;height:19px}.fx4 h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-22);line-height:1.2;margin:0 0 8px}.fx4 p{margin:0;font-size:var(--fs-14);color:var(--ink-2);line-height:1.5}@media (max-width:1099px){.fx4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){.fx4{grid-template-columns:1fr}}.ds-feature{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}@media (max-width:900px){.ds-feature{grid-template-columns:1fr}}.hero-rc{min-width:0}.hero-rc .vn-mini{margin-top:16px}.vn-mini .vn-card{box-shadow:0 20px 40px -32px rgba(15,23,42,.35)}.vn-mini .vn-acc{display:none}.vn-mini .vn-note{gap:8px 12px}.vn-mini .vn-toast{min-height:0}.vn-mini .vn-toast:empty{display:none}@media (max-width:900px){.ds-ui{grid-template-columns:minmax(0,1fr)}.ds,.ds-main{min-width:0;max-width:100%}.ds-title{font-size:var(--fs-22)}.ds-acts .btn{padding:8px 12px;font-size:var(--fs-14)}}.ds-rail,.ds-types{min-width:0;max-width:100%}

/* ==== v20.css ==== */
.lf{--up:#2f7a4c;--down:#b06d12;--miss:#7d838c;--flag:#7a3e8a;--text:#266adc;--edge:#94a3b8;--acc:#266adc}html[data-theme="dark"] .lf{--up:#6cc490;--down:#f0b25a;--miss:#a3a9b3;--flag:#c79ad6;--text:#9cbcff;--edge:#4a5263;--acc:#9cbcff}.lf-bar{display:flex;justify-content:flex-end;margin:0 0 12px}.lf-replay{font:inherit;font-size:var(--fs-14);border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:var(--r-pill);padding:8px 16px;cursor:pointer}.lf-fig{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:20px 20px 0;margin:0;position:relative;overflow:hidden}.lf svg{display:block;width:100%;height:auto}.lf .node rect{fill:var(--card);stroke:var(--rule);stroke-width:1.2;transition:stroke .35s,fill .35s}.lf .node .t{font-family:var(--serif);font-size:var(--fs-18);fill:var(--ink)}.lf .node .s{font-family:var(--sans);font-size:var(--fs-12);fill:var(--ink-3)}.lf .node .k{font-family:var(--sans);font-size:var(--fs-12);letter-spacing:.06em;fill:var(--ink-3)}.lf .node.on rect{stroke:var(--c,var(--ink));stroke-width:2;fill:color-mix(in srgb,var(--c,var(--ink)) 7%,var(--card))}.lf .node.on .s{fill:var(--ink-2)}.lf .node.human rect{stroke-dasharray:4 3}.lf .edge{fill:none;stroke:var(--edge);stroke-width:1.5;transition:stroke .3s}.lf .edge.on{stroke:var(--c);stroke-width:2.2}.lf .edge.dash{stroke-dasharray:5 4}.lf .mk{fill:var(--edge)}.lf .chip rect{fill:var(--paper-2);stroke:var(--rule)}.lf .chip text{font-family:var(--sans);font-size:var(--fs-12);fill:var(--ink-2)}.lf .chip.on rect{fill:color-mix(in srgb,var(--c) 14%,var(--card));stroke:var(--c)}.lf .chip.on text{fill:var(--ink)}.lf .lab{font-family:var(--sans);font-size:var(--fs-12);letter-spacing:.05em;fill:var(--ink-3)}.lf .cyc rect{fill:none;stroke:var(--rule);stroke-dasharray:2 5;stroke-width:1.5}.lf .cyc.on rect{stroke:var(--acc)}.lf .cyc .spin{transform-box:fill-box;transform-origin:center}.lf .cyc.on .spin{animation:lf-spin 2.4s linear infinite}@keyframes lf-spin{to{transform:rotate(360deg)}}.lf .dot{filter:drop-shadow(0 0 5px var(--c))}.lf-cap{display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;border-top:1px solid var(--rule);margin:8px -20px 0;padding:16px 24px;background:var(--paper-2);min-height:74px}.lf-cap .n{font-family:var(--sans);font-size:var(--fs-12);color:var(--ink-2);white-space:nowrap}.lf-cap .n b{display:inline-block;width:10px;height:10px;border-radius:var(--r-pill);background:var(--ink-3);margin-right:8px}.lf-cap .x{font-size:var(--fs-18);line-height:1.4}.lf-cap .x strong{font-family:var(--serif);font-weight:400;font-size:var(--fs-18);margin-right:8px}.lf-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:var(--fs-12);color:var(--ink-2)}.lf-legend i{display:inline-block;width:9px;height:9px;border-radius:var(--r-pill);margin-right:8px}.lf-stages{list-style:none;counter-reset:s;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}.lf-stages li{counter-increment:s;padding:16px 20px 16px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-14);color:var(--ink-2);line-height:1.45}.lf-stages li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--sans);font-size:var(--fs-12);color:var(--ink-3);margin-bottom:4px}.lf-stages li b{display:block;color:var(--ink);font-family:var(--serif);font-weight:400;font-size:var(--fs-18);margin-bottom:2px}.lf-stages li.on b{color:var(--acc)}.lf-stages .m{display:none}@media (max-width:760px){.lf-fig{display:none}.lf-bar{display:none}.lf-stages{grid-template-columns:1fr;border-top:0}.lf-stages li{position:relative;padding:12px 0 24px 44px;border:0}.lf-stages li::before{position:absolute;left:0;top:10px;width:30px;height:30px;border-radius:var(--r-pill);border:1.5px solid var(--rule);display:grid;place-items:center;margin:0;background:var(--card)}.lf-stages li:not(:last-child)::after{content:"";position:absolute;left:15px;top:42px;bottom:2px;border-left:1.5px solid var(--rule)}.lf-stages .m{display:block;margin-top:8px;font-size:var(--fs-14);color:var(--ink-3)}}@media (prefers-reduced-motion:reduce){.lf .dot{display:none}.lf .cyc .spin{animation:none!important}.lf-replay{display:none}}

/* ==== v21.css ==== */
.qa{border-top:1px solid var(--ink)}.qa-i{padding:20px 0;border-bottom:1px solid var(--rule)}.qa-i h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-22);line-height:1.3;margin:0 0 8px;color:var(--ink)}.qa-i p{margin:0;color:var(--ink-2);font-size:var(--fs-16);line-height:1.55}.tgrid6{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px}.tm h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-22);margin:16px 0 2px;color:var(--ink)}.tm-role{margin:0;font-family:var(--sans);font-size:13px;color:var(--ink-3);font-weight:600}.tm-tag{margin:8px 0 0;font-family:var(--sans);font-size:var(--fs-18);color:var(--ink-2)}.tm-ph{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;border-radius:var(--r-12);border:1px solid var(--rule);background:var(--paper-2)}.tm-mono{display:flex;align-items:center;justify-content:center;background:var(--mono-bg,var(--paper-2))}.tm-mono span{font-family:var(--serif);font-size:var(--fs-56);letter-spacing:.02em;color:#0f172a;opacity:.85}html[data-theme="dark"] .tm-mono{background:color-mix(in srgb,var(--mono-bg) 14%,var(--card))}html[data-theme="dark"] .tm-mono span{color:var(--ink-2)}@media (max-width:900px){.tgrid6{grid-template-columns:repeat(2,1fr)}}@media (max-width:520px){.tgrid6{grid-template-columns:1fr 1fr;gap:20px 16px}.tm-mono span{font-size:var(--fs-40)}}.screen-text .ex{margin-top:28px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:28px 28px;max-width:900px}.ex-k{margin:0 0 12px;font-family:var(--sans);font-size:var(--fs-12);letter-spacing:.06em;color:var(--ink-3)}.ex-q{font-family:var(--serif);font-weight:400;font-size:var(--fs-22);line-height:1.3;margin:0 0 12px;color:var(--ink)}.ex-a{margin:0 0 16px;font-size:var(--fs-18);line-height:1.55;color:var(--ink)}.ex-badge{display:inline-block;margin-right:12px;padding:2px 8px;border-radius:var(--r-pill);background:var(--green-bg);color:var(--green);font-size:var(--fs-12);font-weight:500;vertical-align:2px}.ex-cites{list-style:none;margin:0;padding:0;border-top:1px solid var(--rule)}.ex-cites li{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--rule);font-size:var(--fs-14);color:var(--ink-2)}.ex-cites .n{font-family:var(--mono);font-size:var(--fs-12);color:var(--ink-3);padding-top:2px}.ex-cites q{display:block;margin-top:4px;font-family:var(--doc);color:var(--ink-2)}.ex-how{margin:12px 0 0;font-size:var(--fs-14);color:var(--ink-2)}.ex-src{color:var(--ink-3)}.v21-icons{list-style:none;margin:28px 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.v21-icons li{display:flex;gap:16px;align-items:flex-start;padding:20px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card)}.v21-icons h3{font-size:var(--fs-16);font-weight:600;margin:0 0 4px;color:var(--ink)}.v21-icons p{margin:0;font-size:var(--fs-14);color:var(--ink-2);line-height:1.5}.v21-ic{flex:none;display:inline-flex;width:36px;height:36px;border-radius:var(--r-12);align-items:center;justify-content:center;background:var(--paper-2);color:var(--blue)}.v21-ic svg{width:20px;height:20px}.v21-note{display:flex;gap:16px;align-items:flex-start;align-self:center;padding:20px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card)}.v21-note p{margin:0;color:var(--ink-2);font-size:var(--fs-16);line-height:1.55}.figtext{border-left:2px solid var(--rule);padding-left:16px}.cmp2{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:28px}.c2{border:1px solid var(--rule);border-radius:var(--r-12);padding:24px 24px;background:var(--card)}.c2-k{margin:0 0 12px;font-family:var(--sans);font-size:13px;color:var(--ink-3);font-weight:600}.c2.cat .c2-k{color:var(--green)}.c2 ol{margin:0;padding-left:20px;color:var(--ink);line-height:1.8}.c2-sum{margin:12px 0 0;font-size:var(--fs-14);color:var(--ink-2)}@media (max-width:760px){.cmp2{grid-template-columns:1fr}}.deploy-line{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin:12px 0 0;font-size:var(--fs-14);color:var(--ink-2)}.deploy-line .dl-k{font-weight:500;color:var(--ink)}.dl-i{display:inline-flex;align-items:center;gap:8px}.dl-i svg{width:16px;height:16px;color:var(--blue)}.dcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}.dcards article{border:1px solid var(--rule);border-radius:var(--r-12);padding:24px;background:var(--card)}.dcards h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-22);margin:16px 0 8px;color:var(--ink)}.dcards p{margin:0;color:var(--ink-2);font-size:var(--fs-16);line-height:1.5}@media (max-width:760px){.dcards{grid-template-columns:1fr}}.hrq{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.hrq article,.cap4 article{border:1px solid var(--rule);border-radius:var(--r-12);padding:24px;background:var(--card)}.hrq .k{margin:0 0 8px;font-family:var(--sans);font-size:13px;color:var(--ink-3);font-weight:600}.hrq h3{font-family:var(--serif);font-weight:400;font-size:var(--fs-18);line-height:1.35;margin:0 0 8px;color:var(--ink)}.hrq p{margin:0;color:var(--ink-2);font-size:var(--fs-16);line-height:1.5}.hrq .src{margin-top:12px;font-size:var(--fs-14);color:var(--ink-3)}.cap4{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.cap4 h3{font-size:var(--fs-18);font-weight:600;margin:0 0 8px;color:var(--ink)}.cap4 p{margin:0;color:var(--ink-2);line-height:1.55}@media (max-width:900px){.hrq{grid-template-columns:1fr 1fr}}@media (max-width:620px){.hrq,.cap4{grid-template-columns:1fr}}.hrv{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:20px;box-shadow:0 30px 60px -40px rgba(15,23,42,.35);min-height:420px}.hrv-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-family:var(--sans);font-size:var(--fs-12);letter-spacing:.05em;color:var(--ink-3)}.hrv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.hrv-tabs button,.hrv-seg button{font:inherit;font-size:var(--fs-14);border:1px solid var(--rule);background:transparent;color:var(--ink-2);border-radius:var(--r-pill);padding:8px 12px;cursor:pointer}.hrv-tabs button[aria-selected="true"],.hrv-seg button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.hrv-q{display:flex;gap:8px;align-items:center;border:1px solid var(--rule);border-radius:var(--r-12);padding:12px 12px;font-size:var(--fs-16);color:var(--ink);margin-bottom:12px}.hrv-q svg{width:16px;height:16px;flex:none;color:var(--ink-3)}.hrv-seg{display:flex;gap:8px;align-items:center;margin-bottom:12px;font-size:var(--fs-12);color:var(--ink-3)}.hrv-a{border-top:1px solid var(--rule);padding-top:12px}.hrv-a .t{font-size:var(--fs-16);line-height:1.55;color:var(--ink);margin:8px 0 12px}.hrv-b{display:inline-block;padding:2px 8px;border-radius:var(--r-pill);background:var(--green-bg);color:var(--green);font-size:var(--fs-12);font-weight:500}.hrv-src{list-style:none;margin:0;padding:0}.hrv-src li{font-size:var(--fs-14);color:var(--ink-2);padding:8px 0;border-top:1px dashed var(--rule)}.hrv-src q{display:block;font-family:var(--doc);color:var(--ink-3);margin-top:2px}.hrv-chip{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:var(--r-pill);font-size:var(--fs-12);border:1px solid var(--rule);color:var(--ink-3)}.hrv-acc{margin:12px 0 0;font-size:var(--fs-12);color:var(--ink-3)}.hrv-n{margin:12px 0 0;border:1px solid color-mix(in srgb,#b06d12 45%,var(--rule));background:color-mix(in srgb,#b06d12 8%,var(--card));border-radius:var(--r-12);padding:12px 12px;font-size:var(--fs-14);color:var(--ink)}.hrv-n b{display:block;margin-bottom:2px}.hrv-n button{font:inherit;font-size:var(--fs-12);margin-top:8px;border:1px solid var(--rule);background:var(--card);color:var(--ink);border-radius:var(--r-pill);padding:4px 12px;cursor:pointer}.hrv-draft h4{font-family:var(--serif);font-weight:400;font-size:var(--fs-18);margin:4px 0 8px;color:var(--ink)}.hrv-draft dl{margin:0}.hrv-draft dt{font-family:var(--sans);font-size:13px;color:var(--ink-3);margin-top:8px;font-weight:600}.hrv-draft dd{margin:2px 0 0;font-size:var(--fs-14);color:var(--ink)}.hrv-foot{margin-top:12px;font-size:var(--fs-12);color:var(--green)}.hrv-pane{animation:hrvIn .28s ease both}@keyframes hrvIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.hrv-pane{animation:none}}:root{--sh-1:0 1px 2px rgba(15,23,42,.06),0 8px 24px -16px rgba(15,23,42,.18);--dur:.2s}h1,h2,h3,h4{text-wrap:balance}p,li,dd,summary{text-wrap:pretty}.body{max-width:64ch}.lede{max-width:56ch}.qa-i p,.cap4 p,.ex-a{max-width:70ch}.btn{border-radius:var(--r-sm);min-height:44px;padding:12px 20px;transition:background var(--dur) var(--ease),border-color var(--dur) var(--ease),transform var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}.btn.primary,.btn.demo,.cta .btn.primary,html[data-theme="dark"] .btn.primary{background:var(--logo-blue);color:#fff;border:0}.btn.primary:hover,.btn.demo:hover,html[data-theme="dark"] .btn.primary:hover{background:var(--logo-blue-hover);transform:translateY(-1px)}.btn.primary:active,.btn.demo:active{background:var(--logo-blue-active);transform:none}.btn.ghost:active{transform:none;background:var(--paper-2)}:focus-visible{outline:2px solid var(--logo-blue);outline-offset:3px;border-radius:var(--r-6)}.btn:focus-visible{outline-offset:3px}html[data-theme="dark"] :focus-visible{outline-color:#8fb4ff}.rel a,.icell,.hrq article,.cap4 article,.dcards article,.v21-icons li,.c2,.v21-note,.screen-text .ex{border-radius:var(--r-md);border:1px solid var(--rule);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}a.icell:hover,.rel a:hover{border-color:color-mix(in srgb,var(--ink) 35%,var(--rule));box-shadow:var(--sh-1)}@media (pointer:coarse){.btn,.hrv-tabs button,.hrv-seg button,.lf-replay,.theme-sw button,nav.topnav a,nav.topnav button,.faq summary,.crumbs a,.sitefoot a{min-height:44px}.hrv-tabs button,.hrv-seg button{padding:12px 16px}.sitefoot li a,.crumbs a{display:inline-flex;align-items:center}}html,body{overflow-x:clip}img,video,svg,table{max-width:100%}@media (max-width:620px){.body,.lede{font-size:var(--fs-18)}.ex-q,.qa-i h3{font-size:var(--fs-18)}.screen-text .ex{padding:20px}}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.pipe-track .step{opacity:.66}.ds-cite span{opacity:1}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}@media (max-width:760px){main button,main [role=tab],main summary,.btn,.theme-sw button{min-height:44px}.vn button,.hrv button,.lf-replay,.mm button,.ds button,.tq{min-height:44px}.sitefoot li a,.crumbs a,.fcol a{display:inline-flex;align-items:center;min-height:44px}.crumbs ol{flex-wrap:wrap}}.pipe-track .step{opacity:1}.skip{min-height:44px;display:inline-flex;align-items:center}@media (max-width:760px),(pointer:coarse){.fbase a,.fbrand a,.crumbs a,.crumb a,nav[aria-label="Breadcrumb"] a,a.more,a.link,.lede a,p>a:only-child{display:inline-flex;align-items:center;min-height:44px}.fbrand>a:first-child{min-height:44px}}@media (max-width:760px),(pointer:coarse){.crumb a,.eyebrow a{display:inline-flex;align-items:center;min-height:44px}}@media (max-width:900px){body.navopen nav.topnav>.wrap>ul,body.navopen nav.topnav ul:has(.theme-li){max-height:calc(100dvh - 72px);overflow-y:auto;overscroll-behavior:contain}}.tsr-panel{max-width:1040px;margin:40px auto 0;border:1px solid var(--rule);border-radius:var(--r-lg,18px);background:var(--card);padding:24px;box-shadow:var(--sh-1,0 1px 2px rgba(15,23,42,.06))}.tsr-q{display:flex;align-items:center;gap:12px;min-height:52px;padding:0 20px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--paper);font:500 var(--fs-18) var(--sans);color:var(--ink)}.tsr-q svg{color:var(--ink-3);flex:none}.tsr-caret{width:2px;height:22px;background:var(--logo-blue,#266ADC);margin-left:-8px;opacity:0}.tsr.typing .tsr-caret{opacity:1;animation:tsrblink 1s steps(1) infinite}@keyframes tsrblink{50%{opacity:0}}.tsr-meta{margin:16px 2px 20px;font:var(--fs-12) var(--sans);color:var(--ink-3);letter-spacing:.02em}.tsr-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}.tsr-card{display:flex;gap:16px;padding:16px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card);transition:border-color .2s var(--ease),box-shadow .2s var(--ease),opacity .45s var(--ease),transform .45s var(--ease);outline-offset:3px}.tsr-card:hover,.tsr-card:focus-visible{border-color:color-mix(in srgb,var(--logo-blue,#266ADC) 45%,var(--rule));box-shadow:0 6px 18px -10px rgba(15,23,42,.25)}.tsr-pic{flex:none;width:64px}.tsr-pic .tm-ph{width:64px;height:80px;aspect-ratio:auto;border-radius:var(--r-12)}.tsr-pic .tm-mono span{font-size:var(--fs-22)}.tsr-body{min-width:0;flex:1}.tsr-top{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:24px}.tsr-v{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--r-pill);background:var(--green-bg);color:var(--green);font:500 var(--fs-12) var(--sans)}.tsr-src{font:var(--fs-12) var(--mono);color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--r-pill);padding:2px 8px;opacity:0;transform:translateY(-2px);transition:opacity .2s var(--ease),transform .2s var(--ease);white-space:nowrap}.tsr-card:hover .tsr-src,.tsr-card:focus-within .tsr-src{opacity:1;transform:none}@media (hover:none),(max-width:520px){.tsr-src{opacity:1;transform:none}}.tsr-card h3{margin:8px 0 2px;font:500 var(--fs-22)/1.25 var(--serif)}.tsr-a{margin:8px 0 0;font-size:var(--fs-16);line-height:1.55;color:var(--ink-2);max-width:60ch}mark.tsr-hl{background:var(--hl);color:var(--ink);padding:0 2px;border-radius:var(--r-6);box-decoration-break:clone;-webkit-box-decoration-break:clone}html[data-theme="dark"] mark.tsr-hl{color:#fff6dc}.tsr.anim .tsr-card{opacity:0;transform:translateY(10px)}.tsr.anim .tsr-card.in{opacity:1;transform:none}.tsr.anim .tsr-meta{opacity:0;transition:opacity .3s}.tsr.anim.done .tsr-meta{opacity:1}@media (max-width:860px){.tsr-list{grid-template-columns:1fr}}@media (max-width:520px){.tsr-panel{padding:16px;margin-top:28px;border-radius:var(--r-12)}.tsr-q{font-size:var(--fs-16);min-height:48px;padding:0 16px}.tsr-card{padding:16px;gap:12px}.tsr-pic,.tsr-pic .tm-ph{width:52px}.tsr-pic .tm-ph{height:65px}.tsr-pic .tm-mono span{font-size:var(--fs-22)}.tsr-card h3{font-size:var(--fs-18)}.tsr-src{font-size:var(--fs-12)}}@media (prefers-reduced-motion:reduce){.tsr-card,.tsr-src{transition:none}.tsr-caret{display:none}}@media (max-width:760px),(pointer:coarse){a[href$="#learning"]{display:inline-flex;align-items:center;min-height:44px}}

/* ==== va.css ==== */
.va-vis{--chip-bg:#e8edfb;--chip-fg:#1a56b8;--chip-bd:#c3cff3;--ok-bg:var(--green-bg);--ok-fg:#2a5f3d;--warn-bg:#fbf1d6;--warn-fg:#6b4a06;--warn-bd:#ecd59a;--bad-bg:#f9e7e3;--bad-fg:#8a2a1f;--bad-bd:#efc5bc;--hlc:var(--hl);--soft:var(--paper);width:100%;max-width:440px;min-width:0;justify-self:end;font-family:var(--sans);color:var(--ink);display:grid;grid-template-columns:minmax(0,1fr);gap:12px;transition:opacity .6s}html[data-theme="dark"] .va-vis{--chip-bg:#1f2a44;--chip-fg:#c4d4ff;--chip-bd:#34466f;--ok-fg:#8fd3a8;--warn-bg:#2a2312;--warn-fg:#f0cf7d;--warn-bd:#4d3f1c;--bad-bg:#2c1a18;--bad-fg:#f4a99e;--bad-bd:#55302a}.va-vis.s-out{opacity:0}.va-card{background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);padding:16px 20px;box-shadow:0 1px 0 rgba(15,23,42,.03),0 18px 40px -26px rgba(15,23,42,.22);min-width:0}.va-top{display:flex;justify-content:space-between;gap:12px;align-items:center;font:600 var(--fs-12) var(--sans);color:var(--ink-3);margin-bottom:12px}.va-sub{font:600 var(--fs-12) var(--sans);color:var(--ink-3);margin:12px 0 8px}.va-search{display:flex;align-items:center;gap:12px;border:1px solid var(--rule);border-radius:var(--r-12);padding:12px 12px;background:var(--soft);font-size:var(--fs-14);min-height:44px;min-width:0}.va-search svg{flex:none;color:var(--ink-3)}.va-q{overflow-wrap:anywhere;min-width:0}.va-caret{display:inline-block;flex:none;width:1.5px;height:17px;background:var(--blue);margin-left:-8px;animation:va-blink 1s steps(1) infinite}.va-search.va-typed .va-caret{display:none}.va-q{border-right:1.5px solid transparent;padding-right:1px}.va-vis.va-js .va-search:not(.va-typed) .va-q{animation:va-cblink 1s steps(1) infinite}@keyframes va-cblink{0%{border-right-color:var(--blue)}50%{border-right-color:transparent}}@keyframes va-blink{50%{opacity:0}}.va-ans{font:400 var(--fs-16)/1.5 var(--serif);margin-top:12px}.va-chip{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:19px;padding:0 8px;margin-left:4px;border-radius:var(--r-6);font:600 var(--fs-12) var(--mono);background:var(--chip-bg);color:var(--chip-fg);border:1px solid var(--chip-bd);vertical-align:2px;white-space:nowrap;transition:box-shadow .3s,transform .3s}.va-chip.act{box-shadow:0 0 0 3px color-mix(in srgb,var(--chip-fg) 22%,transparent);transform:translateY(-1px)}.va-badge{display:inline-flex;align-items:center;gap:8px;padding:4px 12px 4px 8px;border-radius:var(--r-pill);background:var(--ok-bg);color:var(--ok-fg);font:600 var(--fs-12) var(--sans);white-space:nowrap}.va-badge.va-warn{background:var(--warn-bg);color:var(--warn-fg)}.va-badge.va-bad{background:var(--bad-bg);color:var(--bad-fg)}.va-badge.va-plain{background:var(--soft);color:var(--ink-2);border:1px solid var(--rule)}.va-note{display:flex;gap:12px;align-items:flex-start;padding:8px 12px;border-radius:var(--r-12);background:var(--warn-bg);border:1px solid var(--warn-bd);color:var(--warn-fg);font-size:var(--fs-12);line-height:1.4}.va-note.va-bad{background:var(--bad-bg);border-color:var(--bad-bd);color:var(--bad-fg)}.va-note.va-ok{background:var(--ok-bg);border-color:transparent;color:var(--ok-fg)}.va-note svg{flex:none;margin-top:1px}.va-note b{display:block;font-weight:600}.va-muted{color:var(--ink-3)}.va-s{font-size:var(--fs-12);line-height:1.45;color:var(--ink-2)}.va-hl{color:var(--ink);background:linear-gradient(var(--hlc),var(--hlc)) no-repeat 0 0/0% 100%;transition:background-size .8s var(--ease);padding:1px 0;border-radius:var(--r-6)}.va-hl.on{background-size:100% 100%}.va-mono{width:30px;height:30px;flex:none;border-radius:var(--r-pill);display:inline-grid;place-items:center;font:600 var(--fs-12) var(--sans);background:var(--chip-bg);color:var(--chip-fg);border:1px solid var(--chip-bd);transition:box-shadow .3s}.va-mono.act{box-shadow:0 0 0 3px color-mix(in srgb,var(--chip-fg) 25%,transparent)}.va-row{display:flex;gap:12px;align-items:center;padding:8px 12px;border-radius:var(--r-12);border:1px solid var(--rule);background:var(--card);transition:background .4s,border-color .4s,opacity .4s}.va-row.act{border-color:var(--chip-bd);background:var(--chip-bg)}.va-stack{display:grid;gap:8px}.va-vis.va-js [data-at]{opacity:0;transform:translateY(6px);transition:opacity .5s var(--ease),transform .5s var(--ease),background .4s,border-color .4s,box-shadow .3s}.va-vis.va-js [data-at].on{opacity:1;transform:none}.va-vis.va-js .va-hl[data-at]{opacity:1;transform:none}.va-vis.va-js .va-bar[data-at]{opacity:1;transform:scaleY(0);transform-origin:50% 100%;transition:transform .7s var(--ease)}.va-vis.va-js .va-bar[data-at].on{transform:none}.va-vis.va-js .va-draw[data-at]{opacity:1;transform:none;stroke-dasharray:600;stroke-dashoffset:600;transition:stroke-dashoffset 1.4s var(--ease)}.va-vis.va-js .va-draw[data-at].on{stroke-dashoffset:0}.va-vis.va-js .va-pop[data-at]{transform:scale(.9)}.va-vis.va-js .va-slide[data-at]{transform:translateX(-70px)}.va-vis.va-js .va-drop[data-at]{transform:translateY(-16px)}.va-vis.va-js .va-pop[data-at].on,.va-vis.va-js .va-slide[data-at].on,.va-vis.va-js .va-drop[data-at].on{transform:none}@media (max-width:1000px){.va-vis{justify-self:start}}@media (prefers-reduced-motion:no-preference){.va-vis.va-pre [data-at]{opacity:0}.va-vis.va-pre .va-q{visibility:hidden}}@media (prefers-reduced-motion:reduce){.va-vis,.va-vis *{transition:none!important;animation:none!important}}.va-vis.va-js .va-w[data-at]{transform:none}.va-dh{display:flex;justify-content:space-between;gap:12px;align-items:baseline;border-bottom:1px solid var(--rule);padding-bottom:8px;margin-bottom:12px}.va-dh b{font:600 var(--fs-14) var(--sans)}.va-dh span{font:500 var(--fs-12) var(--mono);color:var(--ink-3);white-space:nowrap}.va-docp{margin:0 0 8px;font-size:var(--fs-12);line-height:1.5;color:var(--ink-2)}.va-docp.va-h{font:600 var(--fs-12) var(--mono);color:var(--ink-3);letter-spacing:.04em}.va-docp .va-chip{margin:0 4px 0 0}.va-meta{display:flex;align-items:center;gap:12px;margin-top:12px;min-height:24px}.va-kpis{display:grid;grid-template-columns:1fr 1fr;gap:12px}.va-kpi{border:1px solid var(--rule);border-radius:var(--r-12);padding:12px 12px;background:var(--soft)}.va-kpi small{display:block;font-size:var(--fs-12);color:var(--ink-2)}.va-kpi b{display:block;font:500 var(--fs-28)/1.15 var(--serif);margin:2px 0}.va-kpi i{display:block;font-style:normal;font-size:var(--fs-12);color:var(--ink-3)}.va-kpi i.va-up{color:var(--ok-fg)}.va-bars{display:flex;gap:8px;align-items:flex-end;height:92px}.va-bc{flex:1;height:100%;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;gap:4px}.va-bc .va-bar{width:100%;border-radius:var(--r-6) var(--r-6) var(--r-6) var(--r-6);background:color-mix(in srgb,var(--blue) 70%,var(--card))}.va-bc em{font:500 var(--fs-12) var(--mono);font-style:normal;color:var(--ink-3)}.va-mix{display:flex;height:10px;border-radius:var(--r-pill);overflow:hidden;margin-top:12px}.va-mix span{display:block}.va-legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:var(--fs-12);color:var(--ink-2);margin-top:8px}.va-legend i{display:inline-block;width:8px;height:8px;border-radius:var(--r-6);margin-right:4px}.va-fq{display:flex;justify-content:space-between;gap:8px;font-size:var(--fs-14);padding:8px 12px;border-radius:var(--r-6);transition:background .4s,color .4s}.va-fq span:last-child{font:500 var(--fs-12) var(--mono);color:var(--ink-3);white-space:nowrap}.va-fq.act{background:var(--warn-bg);color:var(--warn-fg)}.va-fq.act span:last-child{color:var(--warn-fg)}.va-tag{display:inline-block;font:600 var(--fs-12) var(--sans);color:var(--chip-fg);background:var(--chip-bg);border-radius:var(--r-6);padding:4px 8px}.va-h4{font:500 var(--fs-22)/1.25 var(--serif);margin:8px 0 2px}.va-h4 b{color:var(--ok-fg);font-weight:500}.va-ev{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.va-ev .va-chip{margin:0;height:22px;font-size:var(--fs-12)}.va-cf{display:grid;grid-template-columns:1fr 26px 1fr;align-items:center;margin-top:12px}.va-cf .va-row{flex-direction:column;align-items:flex-start;gap:4px;font-size:var(--fs-12)}.va-cf .va-row b{font-weight:600;font-size:var(--fs-12)}.va-cf .va-row em{font-style:normal;font:500 var(--fs-12) var(--mono);color:var(--ink-3)}.va-cf svg{width:26px;height:20px;color:var(--warn-fg)}.va-uq{flex-direction:column;align-items:stretch;gap:4px}.va-uq b{font-weight:600;font-size:var(--fs-14)}.va-uq span{font-size:var(--fs-12);color:var(--ink-2)}.va-btns{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.va-btn{font:600 var(--fs-12) var(--sans);padding:8px 12px;border-radius:var(--r-6);border:1px solid var(--rule);background:var(--card);color:var(--ink);transition:background .3s,color .3s,border-color .3s}.va-btn.act{background:var(--chip-fg);color:var(--card);border-color:var(--chip-fg)}.va-own{display:flex;align-items:center;gap:12px;font-size:var(--fs-12);margin-top:8px}.va-own small{display:block;color:var(--ink-3);font-size:var(--fs-12)}.va-own .va-chip{margin-left:auto}.va-vid{position:relative;border-radius:var(--r-12);overflow:hidden;background:linear-gradient(135deg,#1c2433,#2a3346);color:#eef0f4;height:150px;margin-top:12px}.va-vid .va-vt{position:absolute;left:12px;top:10px;font:600 var(--fs-12) var(--sans);color:#c9cfdb}.va-vid .va-play{position:absolute;left:50%;top:44%;width:44px;height:44px;margin:-24px 0 0 -24px;border-radius:var(--r-pill);background:rgba(255,255,255,.14);display:grid;place-items:center}.va-vid .va-tl{position:absolute;left:12px;right:12px;bottom:14px;height:4px;border-radius:var(--r-6);background:rgba(255,255,255,.22)}.va-vid .va-ph{position:absolute;top:-4px;left:0;width:12px;height:12px;margin-left:-8px;border-radius:var(--r-pill);background:#fff;transition:left 1s var(--ease)}.va-vid .va-ph.on{left:38%}.va-vid .va-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:#8fb0ff;border-radius:var(--r-6);transition:width 1s var(--ease)}.va-vid .va-fill.on{width:38%}.va-vid .va-ts{position:absolute;bottom:24px;left:calc(38% + 12px);transform:translateX(-50%);font:600 var(--fs-12) var(--mono);background:#fff;color:#0f172a;padding:2px 8px;border-radius:var(--r-6)}.va-vis.va-js .va-vid .va-ts[data-at]{transform:translate(-50%,4px)}.va-vis.va-js .va-vid .va-ts[data-at].on{transform:translateX(-50%)}.va-tr{display:grid;grid-template-columns:44px 1fr;gap:4px 8px;font-size:var(--fs-12);line-height:1.45;color:var(--ink-2);margin-bottom:8px}.va-tr time{font:500 var(--fs-12) var(--mono);color:var(--ink-3);padding-top:2px}.va-tr b{color:var(--ink);font-weight:600}.va-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.va-own2{display:flex;gap:8px;align-items:center;margin-bottom:8px}.va-own2 b{display:block;font-size:var(--fs-12)}.va-own2 small{font-size:var(--fs-12);color:var(--ink-3)}.va-pa{font:400 var(--fs-14)/1.45 var(--serif);margin-bottom:8px}.va-srcl{display:grid;gap:4px}.va-srcl div{font-size:var(--fs-12);color:var(--ink-2);display:flex;gap:8px;align-items:center}.va-srcl .va-chip{margin:0}.va-deny{display:flex;gap:8px;align-items:center;font-size:var(--fs-12);font-weight:600;padding:4px 8px;border-radius:var(--r-6);background:var(--bad-bg);color:var(--bad-fg);border:1px solid var(--bad-bd)}.va-log{display:flex;gap:8px;align-items:center;font:500 var(--fs-12) var(--mono);color:var(--ink-2)}@media (max-width:480px){.va-two{grid-template-columns:1fr}}.va-steps{display:flex;gap:4px;margin:12px 0 2px;flex-wrap:wrap}.va-step{font:600 var(--fs-12) var(--sans);padding:4px 8px;border-radius:var(--r-pill);border:1px solid var(--rule);color:var(--ink-3);transition:all .35s}.va-step.act{background:var(--chip-bg);color:var(--chip-fg);border-color:var(--chip-bd)}.va-cat{padding:4px 12px}.va-cat b{font-size:var(--fs-12);font-weight:600}.va-cat small{font-size:var(--fs-12);color:var(--ink-3);margin-left:8px}.va-cat.va-dimr.act{background:var(--card);border-color:var(--rule)}.va-cat.act:not(.va-dimr) small{color:var(--ink-2)}.va-cat.va-dimr.act b,.va-cat.va-dimr.act small{color:var(--ink-3)}.va-rk{width:20px;height:20px;flex:none;display:grid;place-items:center;font:600 var(--fs-12) var(--mono);color:var(--chip-fg)}.va-cit{font:400 var(--fs-16)/1.5 var(--serif);margin-top:12px}.va-split{display:grid;grid-template-columns:1fr 1fr;gap:12px}.va-fz{font-size:var(--fs-12);line-height:1.4;color:var(--ink-2);padding:8px;border:1px dashed var(--rule);border-radius:var(--r-6);filter:blur(.4px)}.va-fz em{display:block;font:500 var(--fs-12) var(--sans);font-style:normal;color:var(--ink-3);margin-top:4px}.va-ex{font-size:var(--fs-12);line-height:1.45;padding:8px;border:1px solid var(--chip-bd);border-radius:var(--r-6)}.va-ex b{display:block;font-size:var(--fs-12);margin-bottom:4px}@media (max-width:480px){.va-split{grid-template-columns:1fr}}.va-qin{margin-top:12px;padding:12px 12px;border-left:3px solid var(--chip-fg);background:var(--soft);border-radius:0 var(--r-6) var(--r-6) 0;font-size:var(--fs-12);line-height:1.45}.va-qin small{display:block;font:500 var(--fs-12) var(--mono);color:var(--ink-3);margin-bottom:4px}.va-two{display:grid;grid-template-columns:1fr 1fr;gap:12px}.va-own2{display:flex;gap:8px;align-items:center;margin-bottom:8px}.va-own2 b{display:block;font-size:var(--fs-12)}.va-own2 small{font-size:var(--fs-12);color:var(--ink-3)}.va-pa{font:400 var(--fs-14)/1.45 var(--serif);margin-bottom:8px}.va-srcl{display:grid;gap:4px}.va-srcl div{font-size:var(--fs-12);color:var(--ink-2);display:flex;gap:8px;align-items:center}.va-srcl .va-chip{margin:0}.va-deny{display:flex;gap:8px;align-items:center;font-size:var(--fs-12);font-weight:600;padding:4px 8px;border-radius:var(--r-6);background:var(--bad-bg);color:var(--bad-fg);border:1px solid var(--bad-bd)}.va-log{display:flex;gap:8px;align-items:center;font:500 var(--fs-12) var(--mono);color:var(--ink-2)}@media (max-width:480px){.va-two{grid-template-columns:1fr}}.va-pr{display:flex;align-items:center;gap:12px;font-size:var(--fs-12)}.va-pr div{flex:1}.va-pr b{display:block;font-size:var(--fs-12)}.va-pr small{color:var(--ink-3);font-size:var(--fs-12)}.va-files{display:grid;gap:8px}.va-file{display:flex;gap:8px;align-items:center;font-size:var(--fs-12);padding:8px 12px;border:1px solid var(--rule);border-radius:var(--r-6);transition:opacity .5s,transform .5s}.va-file .va-chip{margin:0;min-width:44px}.va-file span:last-child{margin-left:auto;font:500 var(--fs-12) var(--sans);color:var(--ink-3)}.va-file.act{opacity:1}.va-file.act,.va-file.act *{color:var(--ink-3)!important}.va-file.act .va-chip{background:transparent!important}.va-rec{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-top:12px;padding:8px 12px;border-radius:var(--r-12);background:var(--ok-bg);color:var(--ok-fg);font-size:var(--fs-14);font-weight:600}.va-es{font:400 var(--fs-14)/1.45 var(--serif)}.va-tl{list-style:none;margin:8px 0 0;padding:0 0 0 2px;position:relative;display:grid;gap:12px}.va-tl::before{content:"";position:absolute;left:7px;top:8px;bottom:10px;width:2px;background:var(--rule)}.va-ms{display:grid;grid-template-columns:16px minmax(0,1fr);gap:12px;align-items:start;position:relative}.va-ms b{display:block;font:600 var(--fs-14)/1.35 var(--sans);color:var(--ink)}.va-ms .va-s{display:block;margin-top:2px}.va-msk{display:block;font:600 var(--fs-12) var(--sans);color:var(--chip-fg)}.va-dot{width:16px;height:16px;margin-top:2px;border-radius:var(--r-pill);background:var(--card);border:2px solid var(--chip-fg);position:relative;z-index:1;transition:box-shadow .3s,background .3s}.va-dot.act{background:var(--chip-fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--chip-fg) 22%,transparent)}.va-team{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.va-ab-meta{display:flex;align-items:center;gap:12px;margin-top:16px;flex-wrap:wrap}.va-vis[data-va="careers"]{padding:0;background:none;border:0;box-shadow:none}.va-art{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 1px 0 rgba(15,23,42,.04),0 18px 40px -28px rgba(15,23,42,.45)}.va-bg.va-dk{display:none}html[data-theme="dark"] .va-bg.va-dk{display:block}html[data-theme="dark"] .va-bg.va-lt{display:none}html[data-theme="dark"] .va-nd{filter:brightness(.92)}.va-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:transparent}.va-nd{position:absolute;height:auto;aspect-ratio:1;border-radius:var(--r-6);object-fit:contain}.va-orb{position:absolute;left:50%;top:47.2%;width:78%;aspect-ratio:2/1;translate:-50% -50%;border-radius:var(--r-pill);pointer-events:none;opacity:0;background:conic-gradient(from 0deg,transparent 0 82%,rgba(120,170,255,.45) 90%,transparent 92%);-webkit-mask:radial-gradient(closest-side,transparent 94%,#000 96%,#000 99%,transparent 100%);mask:radial-gradient(closest-side,transparent 94%,#000 96%,#000 99%,transparent 100%)}.va-orb.va-o2{width:56%;aspect-ratio:1.6/1}.va-sweep{position:absolute;inset:0;pointer-events:none;opacity:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.12) 48%,rgba(150,195,255,.08) 52%,transparent 65%);background-size:250% 100%;background-position:120% 0;mix-blend-mode:screen}.va-flow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}.va-ln{fill:none;stroke:rgba(70,130,235,.22);stroke-width:2}.va-dt{fill:none;stroke:#3b82f6;stroke-width:13;stroke-linecap:round;stroke-dasharray:0 100;opacity:0;filter:drop-shadow(0 0 4px rgba(80,150,255,.9))}.va-dt2{stroke:#f2b84b;filter:drop-shadow(0 0 4px rgba(255,200,90,.9))}.va-pulse{position:absolute;left:49.84%;top:47.8%;width:8.6%;aspect-ratio:1;translate:-50% -50%;border-radius:var(--r-pill);pointer-events:none;box-shadow:0 0 0 0 rgba(38,106,220,0)}@media (prefers-reduced-motion:no-preference){.va-vis[data-va="careers"]{opacity:1!important;transition:none}.va-nd{animation:va-bob var(--b) ease-in-out var(--d) infinite alternate}.va-orb{opacity:.45;animation:va-spin 26s linear infinite}.va-orb.va-o2{opacity:.3;animation:va-spin 34s linear infinite reverse}.va-ln{stroke:rgba(70,130,235,.45);stroke-width:2.5;stroke-dasharray:1.2 2.4;animation:va-march 6s linear infinite}.va-dt{stroke-dasharray:.01 100;animation:va-travel var(--fs) cubic-bezier(.45,0,.55,1) var(--fd) infinite}.va-sweep{opacity:1;animation:va-sw 9s ease-in-out 2s infinite}.va-pulse{animation:va-pl 3.2s ease-out 1.6s infinite}}@keyframes va-travel{0%{stroke-dashoffset:-6;opacity:0}12%{opacity:1}82%{opacity:1}100%{stroke-dashoffset:-90;opacity:0}}@keyframes va-march{to{stroke-dashoffset:-36}}@keyframes va-kb{from{transform:scale(1)}to{transform:scale(1.04)}}@keyframes va-ndin{from{opacity:0;transform:scale(.6)}to{opacity:1;transform:none}}@keyframes va-bob{from{translate:0 0}to{translate:0 -4px}}@keyframes va-spin{to{rotate:360deg}}@keyframes va-sw{0%{background-position:120% 0}60%,100%{background-position:-20% 0}}@keyframes va-pl{0%{box-shadow:0 0 0 0 rgba(38,106,220,.28),0 0 18px 2px rgba(38,106,220,.12)}70%{box-shadow:0 0 0 16px rgba(38,106,220,0),0 0 26px 6px rgba(38,106,220,0)}100%{box-shadow:0 0 0 0 rgba(38,106,220,0)}}.va-vis[data-va="careers"]{max-width:none;justify-self:stretch;min-width:0}

/* ==== blog.css ==== */
header.bp-index-hero.hero{overflow:visible}
header.bp-index-hero.hero-simple{padding:64px 0;align-items:stretch}
.crumbs~main header.bp-index-hero.hero .wrap{padding-top:0;padding-bottom:0}
header.bp-index-hero .wrap.has-vis{display:flex;flex-direction:column;align-items:stretch;gap:28px}
.bp-hero-copy{min-width:0}
.bp-eyebrow{margin:0 0 12px;font:600 13px/1.3 var(--sans);color:var(--blue-ink)}
.crumbs~main header.bp-index-hero h1{margin:0;max-width:14em;font:400 var(--fs-h1)/1.12 var(--serif);color:var(--ink)}
header.bp-index-hero .lede{margin:20px 0 0;max-width:36em;font-size:var(--fs-18);line-height:1.45;color:var(--ink-2)}
.bp-search{position:relative;z-index:4;margin:28px 0 0}
.bp-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bp-search-field{display:flex;align-items:center;gap:8px;min-height:52px;padding:0 8px 0 16px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 1px 0 rgba(15,23,42,.04)}
.bp-search-field:focus-within{border-color:var(--blue);outline:2px solid var(--blue);outline-offset:2px}
.bp-search-icon{flex:none;color:var(--ink-3)}
.bp-search input{flex:1;min-width:0;min-height:44px;border:0;margin:0;padding:0;background:transparent;font:500 var(--fs-16)/1.3 var(--sans);color:var(--ink);outline:none;-webkit-appearance:none;appearance:none}
.bp-search input::placeholder{color:var(--ink-3);opacity:1}
.bp-search input[type="search"]::-webkit-search-decoration,.bp-search input[type="search"]::-webkit-search-cancel-button,.bp-search input[type="search"]::-webkit-search-results-button{display:none}
.bp-kbd{flex:none;font:500 var(--fs-12)/1 var(--mono);color:var(--ink-3);border:1px solid var(--rule);border-radius:var(--r-6);padding:4px 8px}
.bp-search-field:focus-within .bp-kbd,.bp-search input:not(:placeholder-shown)~.bp-kbd{display:none}
.bp-clear{display:inline-flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:var(--r-12);background:transparent;color:var(--ink-2);cursor:pointer}
.bp-clear[hidden]{display:none}
.bp-clear:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.bp-results{position:absolute;z-index:5;top:calc(100% + 6px);left:0;right:0;max-height:min(360px,50vh);margin:0;padding:8px;overflow:auto;list-style:none;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 16px 40px -24px rgba(15,23,42,.55)}
.bp-results[hidden]{display:none}
.bp-results a.bp-hit{display:flex;flex-direction:column;justify-content:center;gap:2px;min-height:44px;padding:8px 12px;border-radius:var(--r-6);color:inherit;text-decoration:none}
.bp-results a.bp-hit[aria-selected="true"],.bp-results a.bp-hit:hover{background:color-mix(in srgb,var(--blue) 12%,var(--card))}
.bp-results a.bp-hit:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.bp-opt-t{font:500 var(--fs-16)/1.35 var(--sans);color:var(--ink)}
.bp-opt-m{font:500 var(--fs-12)/1.35 var(--sans);color:var(--ink-3)}
.bp-empty{padding:12px 16px;font:400 var(--fs-16)/1.45 var(--sans);color:var(--ink-2)}
.bp-results .bp-empty a{display:inline;min-height:0;padding:0;border-radius:0;background:none;color:var(--blue-ink);text-decoration:underline;text-underline-offset:2px}
.bp-topics{display:flex;flex-wrap:wrap;gap:8px;min-width:0;max-width:100%;margin:24px 0 0;padding:2px 2px 8px}
.bp-chip{flex:none;min-height:44px;margin:0;padding:0 16px;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--card);color:var(--ink);font:500 var(--fs-14)/1 var(--sans);cursor:pointer}
.bp-chip[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.bp-chip:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.bp-feature-slot{min-width:0}
.bp-feature{display:flex;flex-direction:column;align-items:stretch;min-width:0;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);overflow:hidden;color:inherit;text-decoration:none;box-shadow:0 1px 0 rgba(15,23,42,.04),0 18px 40px -28px rgba(15,23,42,.45)}
.bp-feature:hover{border-color:var(--blue)}
.bp-feature:hover .bp-feature-t{color:var(--blue-ink)}
.bp-feature:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.bp-feature-tx{display:flex;flex-direction:column;justify-content:flex-start;gap:12px;min-width:0;padding:20px 20px 20px}
.bp-kicker{font:600 13px var(--sans);color:var(--blue-ink)}
.bp-feature-t{margin:0;font:400 var(--fs-t28)/1.22 var(--serif);color:var(--ink);}
.bp-feature .bp-meta,.bp-card-m{margin:0;font:500 var(--fs-14)/1.45 var(--sans);color:var(--ink-3)}
.bp-list{padding:64px 0 var(--s12)}
.bp-bar{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 28px;margin:0 0 24px;scroll-margin-top:88px}
.bp-latest{margin:0;font:400 var(--fs-mid)/1.15 var(--serif);color:var(--ink)}
.bp-count{margin:0;font:600 13px var(--sans);color:var(--ink-3)}
.bp-count.is-query{text-transform:none;letter-spacing:0;font-size:var(--fs-14)}
.bp-count-clear{margin-left:8px;color:var(--blue-ink);text-decoration:underline;text-underline-offset:2px}
.bp-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;row-gap:0}
.bp-card{display:contents}
.bp-card[hidden]{display:none}
.bp-card-a{display:grid;grid-template-rows:subgrid;grid-row:span 5;min-width:0;margin:0 0 24px;background:var(--card);border:1px solid var(--rule);border-radius:var(--r-12);overflow:hidden;color:inherit;text-decoration:none}
.bp-card-a:hover{border-color:var(--blue)}
.bp-card-a:hover .bp-card-t{color:var(--blue-ink)}
.bp-card-a:focus-visible,.bp-pg:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.bp-card-img,.bp-feature-img{position:relative;display:block;overflow:hidden;background:transparent}
.bp-card-img{aspect-ratio:16/9}
.bp-feature-img{aspect-ratio:16/9;height:auto;min-height:0;flex:none}
.bp-card-img img,.bp-feature-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center center;display:block}
.bp-fit-contain{background:color-mix(in srgb,var(--blue) 8%,var(--paper-2))}
.bp-fit-contain img{object-fit:contain}
.bp-cat{align-self:start;padding:16px 20px 0;font:600 13px/1.3 var(--sans);color:var(--blue-ink)}
.bp-cat:empty{padding:0}
.bp-card-t{align-self:start;margin:0;padding:8px 20px 0;font:400 var(--fs-22)/1.3 var(--serif);color:var(--ink)}
.bp-card-t span,.bp-ex span{display:block}
.bp-ex{margin:0;font:400 var(--fs-16)/1.45 var(--sans);color:var(--ink-2)}
.bp-card-a .bp-ex{align-self:start;padding:8px 20px 0}
.bp-card-m{align-self:start;padding:16px 20px 20px}
.bp-pages{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:var(--s5)}
.bp-pg{font:500 var(--fs-14) var(--mono);min-width:44px;min-height:44px;padding:0 8px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card);color:var(--ink-2);cursor:pointer}
.bp-pg[aria-current="page"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
header.bp-head.hero-simple{padding:56px 0 0}header.bp-head .wrap{display:grid;grid-template-columns:minmax(0,1fr);justify-items:center;gap:var(--s5)}.crumbs~main header.bp-head.hero .wrap{padding-top:0;padding-bottom:52px}
header.bp-head .wrap>.bp-hwrap{width:min(720px,100%);max-width:720px;margin-inline:auto;text-align:left}
.crumbs~main header.bp-head h1{font-size:var(--fs-post);line-height:1.08;max-width:none}
header.bp-head .lede{margin-top:var(--s2);max-width:none}
nav.crumbs:has(+ main header.bp-head){width:min(1200px,100%);max-width:1200px}nav.crumbs:has(+ main header.bp-head) ol{width:min(720px,100%);max-width:720px;margin-inline:auto;justify-content:flex-start}
.bp-head .eyebrow a{color:inherit;text-decoration:none}
.bp-head .eyebrow a:hover{text-decoration:underline}
.bp-head .bp-meta{font:500 var(--fs-14) var(--sans);color:var(--ink-3);margin:var(--s2) 0 0}
header.bp-head .bp-hero{display:flex;align-items:center;justify-content:center;width:min(880px,100%);max-width:880px;margin-inline:auto;border-radius:var(--r-12);overflow:hidden;border:1px solid var(--rule);background:var(--paper-2)}
.bp-hero img{display:block;width:auto;max-width:100%;height:auto;max-height:520px;object-fit:contain;margin:0 auto}
.bp-body{padding:60px 0 var(--s10)}
.bp-body .bp-prose{width:min(720px,100%);max-width:720px;margin-inline:auto;text-align:left;font-size:var(--fs-18);line-height:1.65;color:var(--ink-2);overflow-wrap:anywhere}
.bp-prose p,.bp-prose li{font-size:var(--fs-18);line-height:1.65;color:var(--ink-2)}
.bp-prose p{margin:0 0 1.1em}
.bp-prose h2{font:400 var(--fs-28)/1.15 var(--serif);color:var(--ink);margin:1.6em 0 .5em}
.bp-prose h3{font:400 var(--fs-28)/1.2 var(--serif);color:var(--ink);margin:1.4em 0 .4em}
.bp-prose h4{font:600 var(--fs-18)/1.3 var(--sans);color:var(--ink);margin:1.3em 0 .4em}
.bp-prose a{color:var(--blue-ink);text-decoration:underline;text-underline-offset:2px}
.bp-prose strong,.bp-prose b{color:var(--ink);font-weight:600}
.bp-prose ul,.bp-prose ol{padding-left:1.3em;margin:0 0 1.2em}
.bp-prose li{margin-bottom:.4em}
.bp-prose blockquote{margin:1.4em 0;padding:4px 0 4px 20px;border-left:3px solid var(--blue);color:var(--ink)}
.bp-prose blockquote p{color:var(--ink)}
.bp-prose img{max-width:100%;height:auto;border-radius:var(--r-12)}
.bp-prose figure{margin:1.4em 0}
.bp-prose table{border-collapse:collapse;width:100%;font-size:var(--fs-16);margin:0 0 1.2em}
.bp-prose th,.bp-prose td{border:1px solid var(--rule);padding:8px 12px;text-align:left}
.bp-prose>:first-child{margin-top:0}
.bp-yt a{display:block;position:relative;max-width:640px;border-radius:var(--r-12);overflow:hidden;border:1px solid var(--rule);background:var(--paper-2);text-decoration:none!important;color:var(--ink)!important}
.bp-yt img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:0}
.bp-yt span{display:inline-flex;align-items:center;gap:8px;font:500 var(--fs-14) var(--sans);padding:12px 16px}
.bp-yt span::before{content:"";width:0;height:0;border-left:11px solid currentColor;border-top:7px solid transparent;border-bottom:7px solid transparent}
.bp-next{padding:var(--s8) 0 var(--s12);border-top:1px solid var(--rule)}
.bp-next .eyebrow{margin-bottom:var(--s3)}
.bp-next p{margin-top:var(--s4)}
@media (min-width:1001px){header.bp-index-hero .wrap.has-vis{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:48px}.crumbs~main header.bp-index-hero h1{font-size:var(--fs-h1);line-height:1.08}}
@media (min-width:1001px) and (max-width:1180px){header.bp-index-hero .bp-topics{gap:8px}header.bp-index-hero .bp-chip{padding:0 8px;font-size:var(--fs-14)}}
@media (max-width:1000px){.bp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.bp-kbd{display:none}}
@media (max-width:640px){header.bp-head.hero-simple{padding:40px 0 0}.crumbs~main header.bp-head.hero .wrap{padding-bottom:40px}.bp-body{padding-top:40px}header.bp-index-hero.hero-simple{padding:40px 0}header.bp-index-hero .lede{font-size:var(--fs-16)}.bp-topics{flex-wrap:nowrap;overflow-x:auto;overscroll-behavior-x:contain;scrollbar-width:thin;padding-right:32px;--fade:48px}.bp-topics.is-scroll{-webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - var(--fade)),rgba(0,0,0,.28) calc(100% - var(--fade) + 6px),transparent calc(100% - 8px));mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - var(--fade)),rgba(0,0,0,.28) calc(100% - var(--fade) + 6px),transparent calc(100% - 8px))}.bp-list{padding-top:40px}.bp-grid{grid-template-columns:1fr}.bp-feature-tx{padding:16px 16px 20px}.bp-prose,.bp-prose p,.bp-prose li{font-size:var(--fs-18)}.bp-prose h2{font-size:var(--fs-28)}.bp-card-t{font-size:var(--fs-22)}}
@media (max-width:480px){.bp-bar{flex-direction:column;align-items:flex-start;gap:8px}}
@media (prefers-reduced-motion:reduce){.bp-card-a,.bp-feature{transition:none}}

/* ==== v36.css ==== */
:root{--bl-tint:color-mix(in srgb,#266ADC 8%,transparent);--bl-lift:rgba(255,255,255,.55);--bl-surf:color-mix(in srgb,var(--card) 72%,transparent);--bl-surf-2:color-mix(in srgb,var(--card) 48%,transparent);--bl-line:color-mix(in srgb,var(--rule) 55%,transparent);--bl-fade:radial-gradient(closest-side,#000 0,#000 42%,rgba(0,0,0,.62) 64%,rgba(0,0,0,.2) 84%,transparent 100%)}html[data-theme="dark"]{--bl-tint:color-mix(in srgb,#9cbcff 11%,transparent);--bl-lift:rgba(255,255,255,.035);--bl-surf:color-mix(in srgb,#fff 4.5%,transparent);--bl-surf-2:color-mix(in srgb,#fff 2.5%,transparent);--bl-line:color-mix(in srgb,var(--rule) 70%,transparent)}.demo:not(.btn):not(:has(.flow)),.va-vis:not([data-va="careers"]),.hrv,.lf-fig,.vn-grid,.vn-mini,.mm,.tsr-panel,.diagwrap,.wpfig,.wphero-vis,.dsh,.ds-main,.pui-fit,.tgrid{position:relative;isolation:isolate}.demo:not(.btn):not(:has(.flow))::before,.va-vis:not([data-va="careers"])::before,.hrv::before,.lf-fig::before,.vn-grid::before,.vn-mini::before,.mm::before,.tsr-panel::before,.diagwrap::before,.wpfig::before,.wphero-vis::before,.dsh::before,.ds-main::before,.pui-fit::before,.tgrid::before{content:"";position:absolute;inset:-56px -64px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 60% 55% at 38% 30%,var(--bl-lift),transparent 72%),var(--bl-tint);-webkit-mask-image:var(--bl-fade);mask-image:var(--bl-fade)}.demo:not(.btn):not(:has(.flow)),html[data-theme="dark"] .demo:not(.btn):not(:has(.flow)){background:none;border:0;border-top:0;border-radius:0;box-shadow:none;overflow:visible}.hrv,.lf-fig,.mm,.tsr-panel,.ds-main,.dsh,html[data-theme="dark"] .mm{background:none;border:0;border-radius:0;box-shadow:none}.diagwrap,.wpfig,.wphero-vis,html[data-theme="dark"] .wphero-vis,html[data-theme="dark"] .wpfig,html[data-theme="dark"] .diagwrap{background:none;border:0;border-radius:0;box-shadow:none;color:inherit}.lf-fig,.mm{overflow:visible}.demo:not(.btn):not(:has(.flow)) .demo-top,html[data-theme="dark"] .demo:not(.btn):not(:has(.flow)) .demo-top{background:none;border-bottom:0;padding:4px 2px 8px}.demo:not(.btn):not(:has(.flow)) .samp{border-color:transparent;padding-left:0}.demo .qbar,html[data-theme="dark"] .demo .qbar{background:var(--bl-surf);border-color:transparent;box-shadow:0 1px 0 var(--bl-line)}.demo .qbar:has(#q:not(:empty)),html[data-theme="dark"] .demo .qbar:has(#q:not(:empty)){border-color:transparent;box-shadow:0 0 0 1.5px color-mix(in srgb,var(--blue) 42%,transparent)}.demo .doc,html[data-theme="dark"] .demo .doc{background:var(--bl-surf);border-color:transparent}.demo .ans,html[data-theme="dark"] .demo .ans{background:var(--bl-surf-2);border:0!important;border-radius:var(--r-12)}.demo .rows .rowi,.demo .bub{border-color:var(--bl-line)}.demo .rows,html[data-theme="dark"] .demo .rows{border-color:transparent;background:none}.demo:not(.btn):not(:has(.flow)) .pp,.mm .mm-pp{width:44px;height:44px;border:1px solid transparent;background:none;color:var(--ink-3);opacity:.7;border-radius:var(--r-pill);box-shadow:none}.demo:not(.btn):not(:has(.flow)) .pp:hover,.demo:not(.btn):not(:has(.flow)) .pp:focus-visible,.mm .mm-pp:hover,.mm .mm-pp:focus-visible{opacity:1;color:var(--ink);border-color:var(--bl-line)}.demo:not(.btn):not(:has(.flow)) .pp svg{width:9px;height:9px}.va-vis:not([data-va="careers"]) .va-card,html[data-theme="dark"] .va-vis:not([data-va="careers"]) .va-card{background:var(--bl-surf-2);border:0;box-shadow:none;border-radius:var(--r-12)}.va-vis .va-search{background:var(--bl-surf);border-color:transparent}.va-vis .va-row{border-color:transparent;background:var(--bl-surf-2)}.va-vis .va-row.act{border-color:var(--chip-bd);background:var(--chip-bg)}.va-vis .va-badge.va-plain{border-color:transparent}.hrv{padding:8px 2px}.hrv-q{border-color:transparent;background:var(--bl-surf)}.hrv-a{border-top-color:var(--bl-line)}.vn .vn-card{background:var(--bl-surf-2);border:0;border-left:3px solid var(--ok-ink);border-radius:var(--r-12);box-shadow:none}.vn-mini .vn-card{box-shadow:none}.vn .vn-prev{background:var(--bl-surf-2);border:0}.vn .vn-ph{background:none;border-bottom-color:var(--bl-line)}.vn .vn-page{box-shadow:0 6px 18px -14px rgba(0,0,0,.35)}.vn .vn-acts{border-top-color:var(--bl-line)}.vn .vn-tabs{border-color:transparent;background:var(--bl-surf)}.vn-grid::before{inset:-64px -80px}.lf-fig{padding:8px 0 0}.lf-cap{background:none;border-top-color:var(--bl-line);margin:8px 0 0;padding:16px 8px}.mm-top{background:none;border-bottom-color:var(--bl-line)}.tsr-panel{padding:16px 4px}.tsr-panel .tsr-card{border-color:transparent;background:var(--bl-surf-2)}.tsr-panel .tsr-q{border-color:transparent;background:var(--bl-surf);box-shadow:0 1px 0 var(--bl-line)}.tgrid .tdoc,html[data-theme="dark"] .tgrid .tdoc{background:var(--bl-surf);border-color:transparent}.tgrid .tsteps,.tgrid .tans{background:var(--bl-surf-2);border-color:transparent!important}.tgrid::before{inset:-64px -90px}.dsh{padding:20px 20px}.ds-main{padding:24px 28px}.ds-ui .ds-box,.ds-ui .ds-type{border-color:transparent;background:var(--bl-surf-2)}.ds-ui .ds-type[aria-selected="true"]{border-color:var(--blue);background:var(--bl-surf)}.ds-srcs{border-top-color:var(--bl-line)}.pui,html[data-theme="dark"] .pui{border:0;box-shadow:0 18px 40px -36px rgba(15,23,42,.4)}.pui-fit::before{inset:-64px -90px}.diagwrap{padding:12px 0}.wpfig{padding:12px 0}.wphero-vis{padding:8px}.wpfig img{border-color:var(--bl-line)}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#fff"],html[data-theme="dark"] .wphero-vis .wpv .t,html[data-theme="dark"] .wphero-vis [fill="#fff"],html[data-theme="dark"] .wphero-vis [fill="#ffffff"]{fill:#111a2e}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#e2e8f0"],html[data-theme="dark"] .wphero-vis .wpv .t,html[data-theme="dark"] .wphero-vis [stroke="#e2e8f0"]{stroke:#334155}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#0f172a"],html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag text:not([fill]),html[data-theme="dark"] .wphero-vis .wpv text{fill:#e2e8f0}html[data-theme="dark"] .wphero-vis rect[fill="#0f172a"]{fill:#34405a}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#0f172a"]{stroke:#e2e8f0}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#475569"],html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#5a697f"]{fill:#cbd5e1}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#475569"],html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#5a697f"]{stroke:#94a3b8}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#5a697f"]{fill:#94a3b8}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#eef3fd"]{fill:#18233f}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#1a56b8"]{fill:#c5d4ff}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#266adc"]{stroke:#9cbcff}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#e6efe6"]{fill:#16271d}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#b9d6c0"]{stroke:#2f5a3e}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#2f6b45"]{fill:#8fd3a8}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#2f6b45"]{stroke:#6fbf8c}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#f7e6e1"],html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#f6e8e5"]{fill:#2c1a18}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#e3b4ae"]{stroke:#6a3a33}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#7a2e22"],html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [fill="#9b2c1f"]{fill:#f4a99e}html[data-theme="dark"] :is(.diagwrap,.wpfig) .diag [stroke="#9b2c1f"]{stroke:#e0796b}html[data-theme="dark"] .diagwrap .note,html[data-theme="dark"] .diagwrap figcaption,html[data-theme="dark"] .wphero-vis figcaption,html[data-theme="dark"] .wpfig figcaption{color:var(--ink-3)}html[data-theme="dark"] .wphero-vis [fill="#eef3fd"],html[data-theme="dark"] .wphero-vis [fill="#e0eaff"]{fill:#162033}html[data-theme="dark"] .wphero-vis .wpv .mono{fill:#94a3b8}.pipe .fresh-sec{padding:8px 0 clamp(72px,9vw,112px)}.fresh-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px);gap:clamp(40px,6vw,88px);align-items:center}.fresh-h{font-family:var(--serif);font-weight:400;font-size:var(--fs-mid);line-height:1.08;letter-spacing:-.02em;margin:16px 0 0}.fresh-h em{font-style:normal;color:inherit;background:none}.fresh-txt .body{margin-top:16px;max-width:46ch}.fresh-vis .vn-mini{margin-top:0}@media (max-width:900px){.fresh-grid{grid-template-columns:minmax(0,1fr);gap:28px}.pipe .fresh-sec{padding-top:0}}body.home .hero-rc{min-width:0}body.home .hero #demo .demo-top{min-height:26px;padding:0 0 2px;gap:8px}body.home .hero #demo .demo-logo{width:20px;height:20px}body.home .hero #demo .demo-top .uc.uc-inhead{--uc-w:32px}body.home .hero #demo .pp{margin:-8px -12px -8px 0}body.home .hero #demo .qbar{margin:4px 0 0;padding:8px 12px;min-height:40px;font-size:var(--fs-14);line-height:1.32;gap:8px}body.home .hero #demo .status{margin:4px 2px 0;font-size:var(--fs-12);line-height:1.3}body.home .hero #demo .doc{margin:8px 0 0;padding:8px 12px 4px;font-size:var(--fs-12);line-height:1.36;height:auto;min-height:0;max-height:none}body.home .hero #demo .doc .dh{margin-bottom:4px;font-size:var(--fs-12)}body.home .hero #demo .doc p{margin-bottom:4px}body.home .hero #demo .doc p b{display:block;overflow-wrap:anywhere;font-size:var(--fs-12);line-height:1.5}body.home .hero #demo .doc p b+br{display:none}body.home .hero #demo .ans{margin:8px 0 0;padding:8px 12px 8px;min-height:0}body.home .hero #demo .ans .badge{font-size:var(--fs-12)}body.home .hero #demo .ans .meta{font-size:var(--fs-12)}body.home .hero #demo .ans .t{font-size:var(--fs-14);line-height:1.32;margin:4px 0 2px}body.home .hero #demo .ans .src{display:none}body.home .hero #demo .ans .own{margin-top:4px;padding-top:4px;font-size:var(--fs-12);gap:8px;border-top-color:var(--bl-line)}body.home .hero #demo .ans .own img{width:20px;height:20px}body.home .hero #demo .ans .own+.own{border-top:0;margin-top:0;padding-top:2px}body.home .hero #demo>*{flex-shrink:0}body.home .hero #demo::before{inset:-64px -72px}@media (min-width:1001px){body.home header.hero>.wrap{grid-template-columns:minmax(0,55fr) minmax(0,45fr);grid-template-areas:none;grid-template-rows:repeat(6,auto);row-gap:0;align-items:start;column-gap:clamp(48px,5vw,72px)}body.home header.hero>.wrap>div:first-child{grid-column:1;grid-row:1/7;display:grid;grid-template-rows:subgrid;align-content:start;max-width:none}body.home .hero .eyebrow{margin-bottom:20px}body.home .hero h1{margin-top:0}body.home .hero .deploy-line{margin-bottom:0}body.home .hero .audience{margin-top:0;padding-top:48px}body.home .hero .lede{margin:0;max-width:60ch}body.home .hero-rc{display:contents}body.home .hero-rc>.uc:not(.uc-inhead){grid-column:2;grid-row:1}body.home .hero-rc>#demo{grid-column:2;grid-row:2/6;align-self:stretch;min-height:0;contain:size;overflow:hidden;overflow:clip;overflow-clip-margin:40px;display:flex;flex-direction:column}body.home .hero #demo .doc{flex:0 1 auto;overflow:hidden}}@media (min-width:1001px) and (max-width:1199px){body.home .hero #demo .ans .own+.own{display:none}}@supports not (grid-template-rows:subgrid){@media (min-width:1001px){body.home header.hero>.wrap{grid-template-rows:auto;align-items:center}body.home header.hero>.wrap>div:first-child{grid-row:auto;display:flex}body.home .hero-rc>#demo{grid-row:auto;contain:none;min-height:0}}}@media (max-width:1000px){body.home .hero-rc>#demo{max-width:560px;min-height:var(--demo-min-s,560px)}body.home .hero-rc>#demo::before{inset:-20px -16px}}@media (max-width:480px){body.home .hero-rc>#demo{--demo-min-s:540px}}html[data-theme="dark"] :is(.diagwrap,.wpfig) .flow-legend{color:var(--ink-2)}html[data-theme="dark"] :is(.diagwrap,.wpfig) .flow-step{color:var(--ink)}@media (min-width:1001px){body.home .hero-rc>#demo{grid-row:1/7;--hb-glow:#266ADC}body.home .hero #demo .demo-top{min-height:30px;padding:0 0 4px}body.home .hero #demo .demo-top .lbl{font-size:var(--fs-12)}body.home .hero #demo .qbar{margin:12px 0 0;padding:12px 16px;min-height:56px;font-size:var(--fs-16);line-height:1.38;border-radius:var(--r-12)}body.home .hero #demo .status{margin:12px 2px 0;font-size:var(--fs-12);min-height:16px}body.home .hero #demo .doc{flex:1 1 0;margin:12px 0 0;padding:16px 16px 12px;font-size:var(--fs-14);line-height:1.5;display:flex;flex-direction:column;border-radius:var(--r-12);position:relative}body.home .hero #demo .doc .dh{margin-bottom:12px;font-size:var(--fs-12)}body.home .hero #demo .doc #docbody{flex:1 1 auto;display:flex;flex-direction:column;justify-content:space-evenly;gap:12px}body.home .hero #demo .doc p{margin:0;padding:4px 0 4px 12px;border-radius:0 var(--r-6) var(--r-6) 0;transition:background-color .5s,opacity .6s,filter .6s}body.home .hero #demo .doc p b{font-size:var(--fs-12);margin-bottom:4px}body.home .hero #demo .ans{flex:none;margin:12px 0 0;padding:16px 16px 12px;min-height:var(--ans-h,214px);border-radius:var(--r-12);position:relative}body.home .hero #demo .ans .badge{font-size:var(--fs-14);padding:4px 12px}body.home .hero #demo .ans .meta{font-size:var(--fs-12)}body.home .hero #demo .ans .t{font-size:var(--fs-18);line-height:1.42;margin:12px 0 8px}body.home .hero #demo .ans .t sup{font-size:var(--fs-12);padding:1px 4px;margin-left:2px;border-radius:var(--r-6);display:inline-block;background:color-mix(in srgb,var(--cc,#266ADC) 13%,transparent)}body.home .hero #demo .ans:not(.no) .src{display:none}body.home .hero #demo .ans .own{margin-top:12px;padding-top:12px;font-size:var(--fs-12)}body.home .hero #demo .ans .own img{width:26px;height:26px}body.home .hero #demo .ans .own+.own{display:flex}body.home .hero #demo .ans.no .badge{color:var(--paper);background:var(--ink)}body.home .hero #demo .ans.no .t{font-size:var(--fs-22);line-height:1.28;margin:16px 0 12px;letter-spacing:-.01em}body.home .hero #demo .ans.no .src{display:block;font-size:var(--fs-12);color:var(--ink-2)}body.home .hero #demo .ans.on.no{display:grid;grid-template-columns:auto 1fr;align-items:center;align-content:center;column-gap:0}body.home .hero #demo .ans.on.no>.t,body.home .hero #demo .ans.on.no>.src{grid-column:1/-1}body.home .hero #demo .ans.on.no .t{font-size:var(--fs-28)}body.home .hero #demo .doc.nomatch #docbody p{opacity:.42;filter:grayscale(1)}body.home .hero #demo .doc.nomatch .dh #docpg{color:var(--ink);font-weight:600}body.home .hero #demo .ans:not(.on){opacity:1;transform:none}body.home .hero #demo .ans:not(.on)>*{visibility:hidden}body.home .hero #demo .ans:not(.on)::before{content:"";position:absolute;inset:16px 16px auto;height:150px;opacity:.9;background:linear-gradient(var(--bl-line) 0 0) 0 0/84px 20px no-repeat,linear-gradient(var(--bl-line) 0 0) 0 40px/96% 14px no-repeat,linear-gradient(var(--bl-line) 0 0) 0 66px/88% 14px no-repeat,linear-gradient(var(--bl-line) 0 0) 0 92px/62% 14px no-repeat,linear-gradient(var(--bl-line) 0 0) 0 126px/46% 12px no-repeat}body.home .hero #demo::after{content:"";position:absolute;inset:-12% -14% -8%;z-index:-1;pointer-events:none;opacity:.8;background:radial-gradient(42% 34% at 72% 22%,color-mix(in srgb,var(--hb-glow) 30%,transparent),transparent 70%),radial-gradient(38% 30% at 22% 78%,color-mix(in srgb,#5cc7bb 18%,transparent),transparent 70%);-webkit-mask-image:var(--bl-fade);mask-image:var(--bl-fade);transition:opacity 1.2s}html[data-theme="dark"] body.home .hero #demo::after{opacity:1}body.home .hero #demo:has(#ans.on.no)::after{opacity:.45}}@media (min-width:1001px) and (max-width:1199px){body.home .hero #demo .qbar{font-size:var(--fs-16)}body.home .hero #demo .doc{font-size:var(--fs-12)}body.home .hero #demo .ans .t{font-size:var(--fs-16)}body.home .hero #demo .ans.no .t{font-size:var(--fs-22)}body.home .hero #demo .ans{--ans-h:206px}body.home .hero #demo .doc #docbody{gap:4px}body.home .hero #demo .doc p{padding-top:2px;padding-bottom:2px}}@media (min-width:1001px) and (prefers-reduced-motion:no-preference){body.home .hero #demo::after{animation:hb-drift 16s ease-in-out infinite alternate}body.home .hero #demo .ans:not(.on)::before{animation:hb-breathe 1.6s ease-in-out infinite alternate}body.home .hero #demo .ans.on:not(.no) .badge{animation:hb-ring 1.1s ease-out .15s 1 both}body.home .hero #demo .ans.on .t sup{animation:hb-pop .5s cubic-bezier(.2,.9,.3,1.4) both}body.home .hero #demo .ans.on .t sup[data-c="1"],body.home .hero #demo:has(#ans.on:not(.no)) #docbody p[data-c="1"]{animation-delay:.5s}body.home .hero #demo .ans.on .t sup[data-c="2"],body.home .hero #demo:has(#ans.on:not(.no)) #docbody p[data-c="2"]{animation-delay:1s}body.home .hero #demo .ans.on .t sup[data-c="3"],body.home .hero #demo:has(#ans.on:not(.no)) #docbody p[data-c="3"]{animation-delay:1.5s}body.home .hero #demo:has(#ans.on:not(.no)) #docbody p[data-c]{animation-name:hb-link;animation-duration:1.4s;animation-timing-function:ease-out;animation-fill-mode:both}body.home .hero #demo:has(#pp[aria-pressed="true"]) *,body.home .hero #demo:has(#pp[aria-pressed="true"])::after{animation-play-state:paused!important}}@media (min-width:1001px) and (prefers-reduced-motion:reduce){body.home .hero #demo #docbody p[data-c]{background:color-mix(in srgb,var(--cc) 7%,transparent)}}@keyframes hb-drift{0%{transform:translate3d(-2%,1%,0) scale(1)}100%{transform:translate3d(3%,-2%,0) scale(1.06)}}@keyframes hb-breathe{from{opacity:.45}to{opacity:.95}}@keyframes hb-ring{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--green) 45%,transparent);transform:scale(.92)}35%{transform:scale(1.04)}100%{box-shadow:0 0 0 14px transparent;transform:none}}@keyframes hb-pop{0%{transform:scale(.4) translateY(4px);opacity:0}100%{transform:none;opacity:1}}@keyframes hb-link{0%{background-color:transparent}30%{background-color:color-mix(in srgb,var(--cc) 18%,transparent);box-shadow:-3px 0 14px -4px var(--cc)}100%{background-color:color-mix(in srgb,var(--cc) 6%,transparent);box-shadow:none}}html[data-theme="dark"] .wphero-vis .wpv :is(.card,.chunk,.doc,.blk,.t){stroke:#334155}html[data-theme="dark"] .wphero-vis .wpv :is(.card,.chunk,.doc,.blk){fill:#111a2e}html[data-theme="dark"] .wphero-vis .wpv text{fill:#e2e8f0!important}html[data-theme="dark"] .wphero-vis .wpv .mono{fill:#94a3b8!important}html[data-theme="dark"] .wphero-vis .wpv text[style*="#266adc"]{fill:#9cbcff!important}html[data-theme="dark"] .wphero-vis .wpv [style*="stroke:#266adc"]{stroke:#9cbcff!important}main>section.band-blue,html[data-theme="dark"] main>section.band-blue{background:#266ADC;color:#fff;border-bottom:0}main>section.band-blue :is(h1,h2,h3,h4),html[data-theme="dark"] main>section.band-blue :is(h1,h2,h3,h4){color:#fff}main>section.band-blue :is(h1,h2) em,html[data-theme="dark"] main>section.band-blue :is(h1,h2) em{color:inherit;background:none;font-style:normal}main>section.band-blue :is(p,.body,li,dd,.note),html[data-theme="dark"] main>section.band-blue :is(p,.body,li,dd,.note){color:#f4f8ff}main>section.band-blue .eyebrow,main>section.band-blue .eyebrow b,html[data-theme="dark"] main>section.band-blue .eyebrow,html[data-theme="dark"] main>section.band-blue .eyebrow b{color:#f4f8ff}main>section.band-blue a:not(.btn),html[data-theme="dark"] main>section.band-blue a:not(.btn){color:#fff;text-decoration:underline;text-underline-offset:3px}main>section.band-blue a:focus-visible,html[data-theme="dark"] main>section.band-blue a:focus-visible{outline:3px solid #fff;outline-offset:3px}main>section.band-blue .howg,main>section.band-blue .why .wgrid{border-top-color:rgba(255,255,255,.4)}main>section.band-blue .howg .hc+.hc,main>section.band-blue .why .wc+.wc,main>section.band-blue .proof .pi{border-left-color:rgba(255,255,255,.4)}main>section.band-blue .howg .n,main>section.band-blue .why .wc .n,main>section.band-blue .proof .pi strong,html[data-theme="dark"] main>section.band-blue .proof .pi strong{color:#fff}main>section.band-blue .proof .pi span,html[data-theme="dark"] main>section.band-blue .proof .pi span{color:#f4f8ff}main>section.band-blue a.btn.primary,main>section.band-blue a.btn.primary[href$="/demo"],html[data-theme="dark"] main>section.band-blue a.btn.primary,html[data-theme="dark"] main>section.band-blue a.btn.primary[href$="/demo"]{background:#fff;color:#266ADC;border:0;text-decoration:none}main>section.band-blue a.btn.primary:hover,html[data-theme="dark"] main>section.band-blue a.btn.primary:hover,html[data-theme="dark"] main>section.band-blue a.btn.primary[href$="/demo"]:hover{background:#f4f8ff;color:#1a56b8;transform:none}main>section.band-blue a.btn.primary:focus-visible,html[data-theme="dark"] main>section.band-blue a.btn.primary:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:none}main>section.band-blue .btn.ghost,html[data-theme="dark"] main>section.band-blue .btn.ghost{color:#fff;border-color:#fff;background:transparent;text-decoration:none}main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article),html[data-theme="dark"] main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article){background:#fff;color:#0f172a;border-color:#e2e8f0}main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(h1,h2,h3,h4),html[data-theme="dark"] main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(h1,h2,h3,h4){color:#0f172a}main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(p,li,ol,ul,.body,.c2-sum,.src),html[data-theme="dark"] main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(p,li,ol,ul,.body,.c2-sum,.src){color:#334155}main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(a,.c2-k,.k,.pt-n),html[data-theme="dark"] main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(a,.c2-k,.k,.pt-n){color:#1a56b8;text-decoration:underline;text-underline-offset:3px}main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(.c2-k,.k,.pt-n),html[data-theme="dark"] main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(.c2-k,.k,.pt-n){text-decoration:none}main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(.v21-ic,.sl-ic),html[data-theme="dark"] main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(.v21-ic,.sl-ic){color:#266ADC;background:color-mix(in srgb,#266ADC 10%,#fff)}main>section.band-blue :is(.pt-g,.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) a:focus-visible{outline-color:#266ADC}
main>section.band-blue .pt-g li b,html[data-theme="dark"] main>section.band-blue .pt-g li b{color:#0f172a}
main>section.band-blue .pt-g li span,html[data-theme="dark"] main>section.band-blue .pt-g li span{color:#334155}
main>section.band-blue :is(.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(b,strong,span),html[data-theme="dark"] main>section.band-blue :is(.dcards article,.c2,.sl-mini,.hrq article,.cap4 article) :is(b,strong,span){color:#334155}html[data-theme="light"] .samp{color:#1a56b8}

/* ==== ingest.css ==== */
/* Ingestion hero: a solid card and a slow source-to-step flow. */
.ig-card{position:relative;background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 1px 0 rgba(15,23,42,.04),0 18px 40px -28px rgba(15,23,42,.45);min-width:0;width:100%;max-width:100%}
html[data-theme="dark"] .ig-card{box-shadow:0 1px 0 rgba(255,255,255,.05),0 22px 44px -28px rgba(0,0,0,.65)}
.ig-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--rule)}
.ig-kicker{margin:0;min-width:0;font:600 var(--fs-12)/1.35 var(--sans);color:var(--ink-2)}
.ig-card .samp{font:600 var(--fs-12)/1.2 var(--sans);letter-spacing:.08em;color:var(--blue-ink);border:1px solid color-mix(in srgb,var(--blue) 42%,var(--rule));border-radius:var(--r-6);padding:4px 8px;background:color-mix(in srgb,var(--blue) 10%,var(--card))}
.ig-sep{margin:0 8px;color:var(--ink-3)}
.ig-card .pp{width:32px;height:32px;flex:none;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--card);color:var(--ink);opacity:1}
.ig-card .pp svg{width:10px;height:10px}
.ig-card .pp:hover{border-color:var(--ink)}
.ig-card .pp:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.ig-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ig-body{padding:16px 16px 16px}
.ig-h{margin:0 0 8px;font:600 var(--fs-12)/1.2 var(--sans);color:var(--ink-2)}
.ig-sources{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0}
.ig-src{display:flex;align-items:center;gap:8px;max-width:100%;padding:8px 12px;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--paper);color:var(--ink-2);font:600 var(--fs-14)/1.25 var(--sans)}
.ig-src svg,.ig-join svg{width:16px;height:16px;flex:none;display:block}
.ig-join{display:flex;justify-content:center;color:var(--ink-3);padding:8px 0 2px}
.ig-steps{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column;align-items:stretch}
.ig-step{display:flex;flex-direction:column;align-items:center;min-width:0}
.ig-row{display:flex;align-items:center;gap:12px;width:100%;min-width:0;padding:12px 12px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--paper);color:var(--ink-2)}
.ig-name{min-width:0;font:600 var(--fs-16)/1.3 var(--sans);color:inherit}
.ig-dot{width:8px;height:8px;border-radius:var(--r-pill);flex:none;background:var(--ink-3)}
.ig-step:not(:last-child)::after{content:"";width:8px;height:8px;margin:4px 0 4px;border-right:1.6px solid currentColor;border-bottom:1.6px solid currentColor;transform:rotate(45deg);color:var(--ink-3)}
.ig-a1.ig-src,.ig-a1 .ig-row{animation:ig-on 15s linear infinite}
.ig-a2.ig-src,.ig-a2 .ig-row{animation:ig-on 15s linear infinite;animation-delay:-12s}
.ig-a3.ig-src,.ig-a3 .ig-row{animation:ig-on 15s linear infinite;animation-delay:-9s}
.ig-a4.ig-src,.ig-a4 .ig-row{animation:ig-on 15s linear infinite;animation-delay:-6s}
.ig-a5.ig-src,.ig-a5 .ig-row{animation:ig-on 15s linear infinite;animation-delay:-3s}
.ig-a1 .ig-dot{animation:ig-dot 15s linear infinite}
.ig-a2 .ig-dot{animation:ig-dot 15s linear infinite;animation-delay:-12s}
.ig-a3 .ig-dot{animation:ig-dot 15s linear infinite;animation-delay:-9s}
.ig-a4 .ig-dot{animation:ig-dot 15s linear infinite;animation-delay:-6s}
.ig-a5 .ig-dot{animation:ig-dot 15s linear infinite;animation-delay:-3s}
.ig-a1.ig-step::after{animation:ig-arr 15s linear infinite}
.ig-a2.ig-step::after{animation:ig-arr 15s linear infinite;animation-delay:-12s}
.ig-a3.ig-step::after{animation:ig-arr 15s linear infinite;animation-delay:-9s}
.ig-a4.ig-step::after{animation:ig-arr 15s linear infinite;animation-delay:-6s}
.ig-join{animation:ig-pulse 15s linear infinite}
@keyframes ig-on{
  0%,18%{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 14%,var(--card));color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 16%,transparent)}
  24%,100%{border-color:var(--rule);background:var(--paper);color:var(--ink-2);box-shadow:none}
}
@keyframes ig-dot{
  0%,18%{background:var(--blue)}
  24%,100%{background:var(--ink-3)}
}
@keyframes ig-arr{
  0%,18%{color:var(--blue)}
  24%,100%{color:var(--ink-3)}
}
@keyframes ig-pulse{
  0%,16%,20%,36%,40%,56%,60%,76%,80%,96%{color:var(--blue)}
  18%,38%,58%,78%,98%,100%{color:var(--ink-3)}
}
.ig-card.ig-paused .ig-src,
.ig-card.ig-paused .ig-row,
.ig-card.ig-paused .ig-dot,
.ig-card.ig-paused .ig-step::after,
.ig-card.ig-paused .ig-join{animation-play-state:paused}
@media (prefers-reduced-motion:reduce){
  .ig-src,.ig-row,.ig-dot,.ig-step::after,.ig-join{animation:none}
  .ig-src,.ig-row{border-color:var(--blue);background:color-mix(in srgb,var(--blue) 14%,var(--card));color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 16%,transparent)}
  .ig-dot{background:var(--blue)}
  .ig-step::after,.ig-join{color:var(--blue)}
}
@media (max-width:390px){
  .ig-body{padding:12px}
  .ig-name{font-size:var(--fs-14)}
}

/* ==== v51.css ==== */
/* v51: one button system (filled primary + text link), closing-band primary, initials avatars, heading punctuation */
:is(.btn.primary,.btn.ghost):not(.navcta *):not(.stickycta *):not(.ds-acts *){min-height:48px;padding:0 24px;font:600 var(--fs-16)/1.2 var(--sans);justify-content:center;text-align:center}
nav.topnav .navcta .btn{font-weight:600}
.tlink{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:0 2px;margin:0;background:none;border:0;border-radius:var(--r-6);font:600 var(--fs-16)/1.2 var(--sans);color:var(--blue-ink);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tlink .arr{display:inline-block;transition:transform .2s var(--ease,ease)}
.tlink:hover{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.tlink:hover .arr{transform:translateX(3px)}
.tlink[href^="#"]:hover .arr{transform:translateY(2px)}
.tlink:focus-visible{outline:2px solid var(--blue-ink);outline-offset:3px}
main>section:is(.band-navy,.band-ink) .tlink{color:#fff}
main>section:is(.band-navy,.band-ink) .tlink:focus-visible{outline-color:#fff}
.actions.hero-acts{align-items:center;gap:12px 28px}
@media (max-width:640px){
  .actions.hero-acts{flex-direction:column;align-items:stretch;gap:8px}
  .actions.hero-acts .btn.primary{width:100%}
  .actions.hero-acts .tlink{justify-content:center}
}
/* closing CTA band: bright primary on navy, full strength in both themes */
html main>section.cta:is(.band-navy,.band-ink) a.btn.primary,
html main>section.cta:is(.band-navy,.band-ink) a.btn.primary[href$="/demo"],
html[data-theme="dark"] main>section.cta:is(.band-navy,.band-ink) a.btn.primary,
html[data-theme="dark"] main>section.cta:is(.band-navy,.band-ink) a.btn.primary[href$="/demo"]{background:#fff;color:#14305e;border:0;opacity:1;box-shadow:0 1px 2px rgba(2,6,23,.25)}
html main>section.cta:is(.band-navy,.band-ink) a.btn.primary:hover,
html[data-theme="dark"] main>section.cta:is(.band-navy,.band-ink) a.btn.primary:hover,
html main>section.cta:is(.band-navy,.band-ink) a.btn.primary[href$="/demo"]:hover,
html[data-theme="dark"] main>section.cta:is(.band-navy,.band-ink) a.btn.primary[href$="/demo"]:hover{background:#e8f0fe;color:#0f2a52}
html main>section.cta:is(.band-navy,.band-ink) a.btn.primary:focus-visible,
html[data-theme="dark"] main>section.cta:is(.band-navy,.band-ink) a.btn.primary:focus-visible{outline:3px solid #fff;outline-offset:3px;box-shadow:none}
/* sample people: initials on brand-tinted circles (no photos) */
.av{display:inline-grid;place-items:center;flex:none;box-sizing:border-box;border-radius:var(--r-pill);font:600 var(--fs-12)/1 var(--sans);letter-spacing:.02em;user-select:none;vertical-align:middle}
.av-t0{background:#dbe7fb;color:#1a56b8}.av-t1{background:#266adc;color:#fff}.av-t2{background:#1b3d6e;color:#fff}.av-t3{background:#e3ecfb;color:#14305e}
.ans .own .av{width:28px;height:28px;font-size:var(--fs-12)}
body.home .hero #demo .ans .own .av{width:26px;height:26px;font-size:var(--fs-12)}
.pui-light .u-own .av{width:26px;height:26px;font-size:var(--fs-12)}
.pui-light .pw .av{width:24px;height:24px;font-size:var(--fs-12);border:2px solid #fff;margin-left:-8px}
.pui-light .pw .av:first-of-type{margin-left:4px}
html[data-theme="dark"] .pui-light .pw .av{border-color:#1e293b}
/* same filled primary everywhere (404, retired and utility pages load fewer patch sheets) */
.btn.primary{background:var(--logo-blue,#266adc);color:#fff;border:0}
.btn.primary:hover{background:var(--logo-blue-hover,#2f72e1);color:#fff}
html[data-theme="dark"] .btn.primary{background:var(--logo-blue,#266adc);color:#fff}
html[data-theme="dark"] .btn.primary:hover{background:var(--logo-blue-hover,#2f72e1)}
html[data-theme="dark"] .cmp td small{color:#a9b6ca}

/* ==== v52 typography system (last: wins over the patch sections above) ==== */
h1,h1.h1-two .h1-disp,.crumbs~main h1,.crumbs~main header.bp-head h1,.crumbs~main header.bp-index-hero h1,.dm-h,.pr-h,.wph1{line-height:1.08}
main h1:has(+ p){margin-bottom:0}
body.home .hero h1+.lede,main h1+p,main h1+p.lede,.crumbs~main h1+p.lede,.crumbs~main header h1+p{margin-top:24px}
.pui-dark .dsec small,.pui-dark .gh small,.pui-dark .dt small{font-size:var(--fs-12)}
sup,sub{font-size:var(--fs-12)}
.legal-body sup{font-size:var(--fs-12)}
.crumbs~main header.bp-head h1+.bp-meta{margin-top:20px}
/* v52: home hero demo tall enough for its longest sample (no clipped passages at any width) */
@media (min-width:1280px){body.home .hero-rc>#demo{min-height:716px}}
/* v52: 12px initials need a larger chip (was 9.5px in 24px) */
.pui-light .pw .av{width:28px;height:28px;margin-left:-4px;letter-spacing:0}
.pui-light .pw .av:first-of-type{margin-left:4px}

/* v52: blog post heading hierarchy (h1 > h2 > h3 at every width) */
.bp-prose h2{font-size:var(--fs-t28)}.bp-prose h3{font-size:var(--fs-t22)}
/* v52: links inside running text keep a 44px hit area via inline padding instead of inflating the line box */
@media (max-width:760px),(pointer:coarse){p>a:only-child:not(.more):not(.link){display:inline;min-height:0;padding-block:11px;-webkit-box-decoration-break:clone;box-decoration-break:clone}}
/* v52 r2: guard: plain links inside running text never change the line box (any width) */
@media (max-width:760px),(pointer:coarse){:is(p,dd,blockquote,figcaption,.bp-prose li,.lede) a:not([class]){display:inline;min-height:0;padding-block:11px;-webkit-box-decoration-break:clone;box-decoration-break:clone}}
/* v52 r2: blog prose steps down on mobile again (v51 was 18 -> 17 at <=640; 17 is off-scale, so the scale step 18 -> 16) */
.bp-prose,.bp-prose p,.bp-prose li{font-size:var(--fs-t18)}
@media (max-width:640px){body{font-size:var(--fs-16)}.seel li,.hc,.rel a,.faq details,.wp,.body,p.body,.step p,.howg p,.hc p,.trust p,.rel p,.tl li,.faq details p,.seel span,.audience div,.frow p,.why .wc p,.wc p,.kv span,.icell .m,.pilot li,.prose p,.prose li,.wp p,.wp li,.dm-list li,.dm-thanks p,.ex-a,.lf-cap .x,.qa-i p,.ig-sr,.pb-sr{font-size:var(--fs-16);line-height:1.65}.lede,p.lede,.dm-copy .lede,header.bp-index-hero .lede,.pricing .lede{font-size:var(--fs-18);line-height:1.55}.bp-hero-copy .lede{font-size:var(--fs-16);line-height:1.45}}
/* v53: industry hero visuals (one per industry page; existing palette and scale only) */
.ihv{--ok-bg:var(--green-bg);--ok-fg:#2a5f3d;--warn-bg:#fbf1d6;--warn-fg:#6b4a06;--warn-bd:#ecd59a;--bad-bg:#f9e7e3;--bad-fg:#8a2a1f;--bad-bd:#efc5bc;--chip-bg:#e8edfb;--chip-fg:#1a56b8;--chip-bd:#c3cff3;margin:0;min-width:0;width:100%;max-width:600px;justify-self:end;box-sizing:border-box;background:var(--card);color:var(--ink);border:1px solid var(--rule);border-radius:var(--r-12);box-shadow:0 30px 60px -30px rgba(15,23,42,.25);padding:24px;display:grid;gap:16px;font-size:var(--fs-14);line-height:1.5}
html[data-theme="dark"] .ihv{--ok-fg:#8fd3a8;--warn-bg:#2a2312;--warn-fg:#f0cf7d;--warn-bd:#4d3f1c;--bad-bg:#2c1a18;--bad-fg:#f4a99e;--bad-bd:#55302a;--chip-bg:#1f2a44;--chip-fg:#c4d4ff;--chip-bd:#34466f;box-shadow:0 30px 60px -30px rgba(0,0,0,.4)}
.ihv *{box-sizing:border-box;min-width:0}
.ihv-top{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;justify-content:space-between;font:600 var(--fs-12)/1.4 var(--sans);color:var(--ink-3)}
.ihv-top .samp{border-color:transparent;padding-left:0}
.ihv-q{margin:0;display:flex;gap:12px;align-items:flex-start;padding:12px 16px;border:1px solid var(--rule);border-radius:var(--r-6);background:var(--paper);font:500 var(--fs-16)/1.45 var(--sans);color:var(--ink)}
.ihv-q svg{flex:none;margin-top:4px;color:var(--ink-3)}
.ihv-k{display:block;font:600 var(--fs-12)/1.4 var(--sans);color:var(--ink-3)}
.ihv-src{display:block;font:400 var(--fs-12)/1.45 var(--mono);color:var(--ink-3);overflow-wrap:anywhere}
.ihv b{font-weight:600}
.ihv mark{background:var(--hl);color:inherit;padding:0 2px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.ihv sup{font:500 var(--fs-12)/0 var(--mono);color:var(--blue);margin-left:2px}
.ihv-pill{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;font:500 var(--fs-12)/1.2 var(--sans);padding:4px 8px;border-radius:var(--r-pill);border:1px solid var(--chip-bd);background:var(--chip-bg);color:var(--chip-fg)}
.ihv-pill.ok{background:var(--ok-bg);color:var(--ok-fg);border-color:color-mix(in srgb,var(--ok-fg) 30%,transparent)}
.ihv-pill.warn{background:var(--warn-bg);color:var(--warn-fg);border-color:var(--warn-bd)}
.ihv-pill.bad{background:var(--bad-bg);color:var(--bad-fg);border-color:var(--bad-bd)}
.ihv-pill.mute{background:transparent;color:var(--ink-3);border-color:var(--rule)}
.ihv-ans{border:1px solid var(--rule);border-left:3px solid var(--green);border-radius:var(--r-6);padding:12px 16px;background:var(--paper)}
.ihv-ans p{margin:8px 0 0;font:400 var(--fs-16)/1.5 var(--serif);color:var(--ink)}
.ihv-ans .ihv-src{margin-top:8px}
.ihv-card{border:1px solid var(--rule);border-radius:var(--r-6);padding:12px 16px;background:var(--paper);display:grid;gap:8px;align-content:start}
.ihv-card .q{margin:0;font:400 var(--fs-14)/1.55 var(--serif);color:var(--ink)}
.ihv-h{display:flex;flex-wrap:wrap;gap:4px 12px;justify-content:space-between;align-items:baseline}
.ihv-h b{font:600 var(--fs-14)/1.35 var(--sans);color:var(--ink)}
/* public sector: rule vs record */
.ps-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ps-tbl{width:100%;border-collapse:collapse;font:400 var(--fs-12)/1.4 var(--sans);color:var(--ink-2)}
.ps-tbl th{font:500 var(--fs-12)/1.3 var(--sans);text-align:left;color:var(--ink-3);padding:4px 4px 4px 0;border-bottom:1px solid var(--rule)}
.ps-tbl td{padding:8px 4px 8px 0;border-bottom:1px solid var(--rule);vertical-align:top}
.ps-tbl tr.flag td{background:color-mix(in srgb,var(--hl) 45%,transparent);color:var(--ink)}
.ps-tbl tr.flag td:first-child{box-shadow:inset 3px 0 0 var(--warn-fg)}
.ps-tbl :is(td,th):first-child{padding-left:8px}
.ps-tbl td:last-child{white-space:nowrap}
/* procurement: response review */
.pr-list{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.pr-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:12px 16px;border:1px solid var(--rule);border-radius:var(--r-6);background:var(--paper)}
.pr-row b{font:600 var(--fs-14)/1.35 var(--sans)}
.pr-row p{grid-column:1/-1;margin:0;font:400 var(--fs-14)/1.5 var(--sans);color:var(--ink-2)}
.pr-row .ihv-src{grid-column:1/-1}
.pr-foot{margin:0;font:400 var(--fs-12)/1.45 var(--sans);color:var(--ink-3)}
/* legal: one clause across agreements */
.lg-rows{display:grid;gap:8px;margin:0;padding:0;list-style:none}
.lg-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:12px;padding:12px 16px;border:1px solid var(--rule);border-radius:var(--r-6);background:var(--paper)}
.lg-row .who b{display:block;font:600 var(--fs-14)/1.35 var(--sans)}
.lg-row .who .ihv-src{margin-top:4px}
.lg-row .what{display:grid;gap:8px;justify-items:start}
.lg-row .what q{font:400 var(--fs-14)/1.55 var(--serif);color:var(--ink);quotes:"“" "”"}
.lg-row.none{border-style:dashed;background:transparent}
.lg-row.none .what span.nf{font:400 var(--fs-14)/1.5 var(--sans);color:var(--ink-2)}
/* healthcare: two facilities, one question */
.hc-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:relative}
.hc-diff{justify-self:center;margin-top:-4px}
.hc-note{display:flex;gap:8px;align-items:flex-start;margin:0;padding:8px 12px;border:1px solid var(--warn-bd);background:var(--warn-bg);color:var(--warn-fg);border-radius:var(--r-6);font:400 var(--fs-12)/1.5 var(--sans)}
/* financial services: figure trace */
.fs-eq{display:grid;gap:0;border:1px solid var(--rule);border-radius:var(--r-6);background:var(--paper);overflow:hidden}
.fs-r{display:grid;grid-template-columns:32px 96px minmax(0,1fr);gap:12px;align-items:center;padding:12px 16px;border-top:1px solid var(--rule)}
.fs-r:first-child{border-top:0}
.fs-r .op{font:400 var(--fs-22)/1 var(--mono);color:var(--ink-3);text-align:center}
.fs-r .v{font:400 var(--fs-22)/1.1 var(--mono);color:var(--ink);font-variant-numeric:tabular-nums}
.fs-r .d b{display:block;font:600 var(--fs-14)/1.35 var(--sans)}
.fs-r.res{background:color-mix(in srgb,var(--green-bg) 70%,transparent);border-top:2px solid var(--ink)}
.fs-r.res .v{color:var(--ok-fg)}
.fs-tab{width:100%;border-collapse:collapse;font:400 var(--fs-12)/1.4 var(--sans);color:var(--ink-2)}
.fs-tab td{padding:4px 0;border-bottom:1px dashed var(--rule)}
.fs-tab td:last-child{text-align:right;font-variant-numeric:tabular-nums}
.fs-tab tr.hit td{color:var(--ink);background:color-mix(in srgb,var(--hl) 55%,transparent)}
/* manufacturing: foreign-language manual -> cited English answer */
.mf-flow{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:8px;align-items:center}
.mf-page{position:relative;padding:16px;border:1px solid #d9d3c4;border-radius:var(--r-6);background:#fbf8f1;color:#2a2722;transform:rotate(-.6deg);box-shadow:0 1px 0 rgba(0,0,0,.03),0 12px 24px -18px rgba(60,45,20,.45);background-image:repeating-linear-gradient(0deg,rgba(60,45,20,.025) 0 1px,transparent 1px 3px)}
html[data-theme="dark"] .mf-page{background-color:#1c1e24;border-color:#3a3d46;color:#e2e0da;background-image:repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0 1px,transparent 1px 3px);box-shadow:0 12px 24px -18px rgba(0,0,0,.8)}
.mf-page .ihv-k{color:inherit;opacity:.75}
.mf-page .mf-h{margin:8px 0 8px;font:400 var(--fs-16)/1.3 var(--serif)}
.mf-page p{margin:0 0 8px;font:400 var(--fs-12)/1.55 var(--serif)}
.mf-page p:last-child{margin-bottom:0}
.mf-page .pg{position:absolute;right:12px;bottom:8px;font:400 var(--fs-12)/1 var(--mono);opacity:.7}
.mf-arrow{display:grid;place-items:center;color:var(--blue)}
.mf-ans{display:grid;gap:8px}
.mf-ans ol{margin:0;padding-left:20px;font:400 var(--fs-14)/1.5 var(--sans);color:var(--ink)}
.mf-ans ol li{padding-left:4px}
.mf-ans ol li+li{margin-top:4px}
.mf-revs{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.mf-revs .old{text-decoration:line-through;text-decoration-thickness:1px}
@media (max-width:1023px){.ihv{justify-self:stretch;max-width:none}}
@media (max-width:560px){
 .ihv{padding:16px;gap:12px}
 .ps-pair,.hc-pair{grid-template-columns:1fr}
 .lg-row{grid-template-columns:1fr;gap:8px}
 .fs-r{grid-template-columns:24px 72px minmax(0,1fr);gap:8px;padding:12px}
 .fs-r .op,.fs-r .v{font-size:var(--fs-18)}
 .mf-flow{grid-template-columns:1fr}
 .mf-arrow svg{transform:rotate(90deg)}
 .mf-page{transform:none}
}
.howg.h3s{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.howg.h3s{grid-template-columns:1fr}}
.igrid .icell.wide{grid-column:span 2}
@media (max-width:900px){.igrid .icell.wide{grid-column:auto}}
html[data-theme="dark"] .ihv-top .samp{border-color:transparent}
q:lang(ja),q:lang(zh),q:lang(ko){font-style:normal}
/* v53.1: industry hero animations (ihv.js). Final state is the default; hidden states apply only with html.ihv-js (set in the head when motion is allowed). */
.ihv-top:has(>.ihv-rp){display:grid;grid-template-columns:auto 1fr auto;column-gap:16px;row-gap:6px}
.ihv-top:has(>.ihv-rp)>span:nth-child(2){margin-left:0;text-align:right}
@media (max-width:560px){.ihv-top:has(>.ihv-rp){grid-template-columns:1fr auto}.ihv-top:has(>.ihv-rp)>span:nth-child(2){grid-row:2;grid-column:1/-1;text-align:left}}
.ihv-rp{visibility:hidden;flex:none;display:inline-grid;place-items:center;width:28px;height:28px;margin:-4px 0;padding:0;border:1px solid var(--rule);border-radius:var(--r-pill);background:transparent;color:var(--ink-2);cursor:pointer}
.ihv-rp svg{width:13px;height:13px}
.ihv-rp:hover{color:var(--ink);border-color:var(--ink-3)}
.ihv-rp:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
html.ihv-js .ihv-rp{visibility:visible}
.hrv{position:relative}
.hrv>.ihv-rp{position:absolute;top:14px;right:14px}
.hrv.has-rp .hrv-top{padding-right:40px}
.ps-st{font:500 var(--fs-12)/1.3 var(--sans);white-space:nowrap}
.ps-st.ok{color:var(--ok-fg)}
.ps-st.bad{color:var(--bad-fg)}
.ihv .scan{box-shadow:inset 0 0 0 1px var(--blue),0 0 0 3px color-mix(in srgb,var(--blue) 16%,transparent)}
.ps-tbl tr.scan{box-shadow:none}
.ps-tbl tr.scan td{background:color-mix(in srgb,var(--blue) 8%,transparent)}
.pr-row,.lg-row,.hc-pair .ihv-card,.ps-tbl td{transition:box-shadow .35s var(--ease),background-color .35s var(--ease),border-color .35s var(--ease)}
.hc-pair .ihv-card.diff{border-color:var(--warn-bd);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn-bd) 45%,transparent)}
.hc-ne{position:absolute;left:50%;top:50%;width:28px;height:28px;margin:-14px 0 0 -14px;display:grid;place-items:center;border-radius:var(--r-pill);background:var(--warn-bg);color:var(--warn-fg);border:1px solid var(--warn-bd);font:500 var(--fs-16)/1 var(--sans)}
@media (max-width:560px){.hc-ne{display:none}}
.ihv .fs-n,.ihv sup{transition:background-color .4s var(--ease),box-shadow .4s var(--ease)}
.ihv .fs-n.hit,.ihv sup.hit{background-color:var(--hl);box-shadow:0 0 0 2px var(--hl);color:var(--ink)}
.tw-off{visibility:hidden}
.tw-on.car{box-shadow:2px 0 0 var(--blue)}
html.ihv-js :is(.ihv,.hrv,.pm):not(.final) [data-st]{transition:opacity .5s var(--ease),transform .5s var(--ease),background-size .9s var(--ease),box-shadow .35s var(--ease),background-color .35s var(--ease),border-color .35s var(--ease)}
html.ihv-js :is(.ihv,.hrv,.pm):not(.final) [data-st]:not(.on){opacity:0;transform:translateY(6px)}
html.ihv-js :is(.ihv,.hrv,.pm):not(.final) .pop[data-st]:not(.on){transform:scale(.8)}
html.ihv-js :is(.ihv,.hrv,.pm):not(.final) [data-type]:not(.on){opacity:1;transform:none;visibility:hidden}
html.ihv-js .ihv:not(.final) mark[data-st]{background-color:transparent;background-image:linear-gradient(var(--hl),var(--hl));background-repeat:no-repeat;background-size:0 100%}
html.ihv-js .ihv:not(.final) mark[data-st]:not(.on){opacity:1;transform:none}
html.ihv-js .ihv:not(.final) mark[data-st].on{background-size:100% 100%}
html.ihv-js :is(.ihv,.hrv,.pm).nt,html.ihv-js :is(.ihv,.hrv,.pm).nt *{transition:none!important}
html.ihv-js :is(.ihv,.hrv,.pm):not(.wait):not(.final) [data-st]{animation:ihvsafe 1ms 4s forwards}
@keyframes ihvsafe{to{opacity:1;transform:none;visibility:visible;background-size:100% 100%}}

/* v53.2: product mock heroes (.pm). Same markup and tokens as the product screens in the videos (app/cms/pui.py, .pui/.pui-light above), made fluid: no fixed 1320px width, no scaling. Internal layout follows the mock's own width (container queries). */
/* v53.3: same hero grid as /features/source-highlight (1fr 1.02fr, 56px gap, side by side down to 901px); text and mock both top-aligned */
header.hero>.wrap:has(>.pm){align-items:start}
.pm{margin:0;min-width:0;container-type:inline-size;border:1px solid #e2e8f0;border-radius:var(--r-12);overflow:hidden;box-shadow:0 30px 60px -30px rgba(15,23,42,.35),0 2px 8px rgba(15,23,42,.06);background:#f8fafc;text-align:left}
.pm-bar{display:flex;align-items:center;gap:12px;min-height:38px;padding:4px 10px 4px 14px;background:#eef1f5;border-bottom:1px solid #e2e8f0}
.pm-dots{display:flex;gap:6px;flex:none}
.pm-dots i{width:10px;height:10px;border-radius:var(--r-pill);background:#cfd5dd}
.pm-title{flex:1;min-width:0;text-align:center;font:500 var(--fs-12)/1.3 var(--sans);color:#4b5563;overflow-wrap:anywhere}
.pm-bar .ihv-rp{margin:0;background:#fff}
.pm .pui{width:auto;border:0;border-radius:0;box-shadow:none;overflow:visible}
.pm .pui .lg-d{display:none}
.pm .pui-light .top{height:auto;min-height:58px;padding:10px 16px;gap:8px 12px;flex-wrap:wrap}
.pm .pui-light .top .u-ai{font-size:var(--fs-16);margin-right:0}
.pm .pui-light .sbox{flex:1 1 240px;height:auto;min-height:38px;padding:8px 12px;white-space:normal;line-height:1.35}
.pm .pui-light .sbox svg{flex:none}
.pm .pui .top .b{height:34px;padding:0 16px}
.pm .pui-light .ws{font-size:var(--fs-14);display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:4px 0}
.pm .pui .u-samp{margin-left:10px;vertical-align:0}
.pm .pui-light .main{min-height:0}
.pm .pui-light .left{width:auto;flex:0 0 43%;min-width:0;padding:20px 16px 16px}
.pm .pui-light .card{padding:16px 16px 12px}
.pm-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px}
.pm .pui-light .u-meta{margin-left:0}
.pm .pui-light .atext{margin:10px 0}
.pm .pui-light .cite{flex-wrap:wrap;gap:4px 8px;padding:4px 6px;margin:0 -6px;border-radius:var(--r-6);transition:background-color .35s var(--ease),box-shadow .35s var(--ease)}
.pm .pui-light .cite b{min-width:0;overflow-wrap:anywhere}
.pm[data-v="1"] .cite[data-d="1"],.pm[data-v="2"] .cite[data-d="2"],.pm[data-v="3"] .cite[data-d="3"],.pm[data-v="4"] .cite[data-d="4"]{background:#eef3fd;box-shadow:inset 0 0 0 1px #c9d6f6}
.pm .pui-light sup{transition:background-color .35s var(--ease),color .35s var(--ease)}
.pm[data-v="1"] sup[data-c="1"],.pm[data-v="2"] sup[data-c="2"],.pm[data-v="3"] sup[data-c="3"],.pm[data-v="4"] sup[data-c="4"]{background:#2a5bd7;color:#fff}
.pm .pui-light .cite.pm-nf .nchip{margin-left:auto}
.pm .pui-light .u-own>span:nth-child(2){min-width:0}
.pm .pui-light .btns{flex-wrap:wrap}
.pm .pui-light .u-why{margin:12px 0 16px}
.pm .pui-light .srch{flex-wrap:wrap;gap:8px}
.pm .pui-light .srch .u-f{flex-wrap:wrap}
.pm .pui-light .u-src{padding:10px 0}
.pm .pui-light .u-src>div:last-child{min-width:0}
.pm .pui-light .u-src .pm-h{font-size:var(--fs-14);font-weight:600;overflow-wrap:anywhere}
.pm .pui-light .u-src .u-tag{display:inline-block}
.pm .pui-light .u-src .u-tag.nf{color:#9b2c1f;background:#f6e8e5}
.pm .pui-light .u-src .u-tag.old{color:#4b5563;background:#f0f0ec}
.pm-extra{margin:0 0 10px}
.pm-calc{display:inline-block;font:600 var(--fs-12)/1.4 var(--mono);color:#2f6b45;background:#e7f1e9;border-radius:var(--r-6);padding:4px 8px}
.pm .pui-light .tabs{gap:20px;padding:0 16px;height:44px}
.pm .pui-light .tabs span{height:44px;white-space:nowrap}
.pm .pui-light .vh{flex-wrap:wrap;padding:10px 16px;row-gap:6px}
.pm-fn{min-width:0;overflow-wrap:anywhere}
.pm .pui .pdf.pm-xl{background:#1f7a45}
.pm .pui-light .u-src .u-ic.pm-xl{color:#1f7a45;border-color:#a9d3b8}
html[data-theme="dark"] .pm .pui-light .u-src .u-ic.pm-xl{color:#9fd7b4;border-color:#2f5a40}
.pm-view{display:grid;flex:1}
.pm-doc{grid-area:1/1;display:flex;flex-direction:column;min-width:0;visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s .35s}
.pm[data-v="1"] .pm-doc[data-d="1"],.pm[data-v="2"] .pm-doc[data-d="2"],.pm[data-v="3"] .pm-doc[data-d="3"],.pm[data-v="4"] .pm-doc[data-d="4"],.pm[data-v="0"] .pm-doc[data-d="1"]{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}
.pm .pui-light .page{margin:12px 16px 16px;padding:24px 28px;font-size:var(--fs-14)}
.pm .pui-light .olg{font-size:var(--fs-18);padding:6px 12px}
.pm .pui-light .page .pm-h{font-weight:700;font-family:var(--doc);margin:12px 0 4px}
.pm .pui-light .page.pm-sheet{padding:16px;font-family:var(--sans)}
.pm-tbl{width:100%;border-collapse:collapse;font-size:var(--fs-14);margin:4px 0}
.pm-tbl :is(th,td){text-align:left;padding:6px 8px;border-bottom:1px solid #e2e8f0;vertical-align:top}
.pm-tbl th{font:600 var(--fs-12) var(--sans);color:#4b5563;border-bottom-color:#c9ccd3}
.pm-sheet .pm-tbl :is(th,td){border:1px solid #e2e8f0}
.pm-sheet .pm-tbl th{background:#f3f5f8}
.pm-sheet .pm-tbl td:first-child{font:500 var(--fs-12) var(--mono);color:#6b7280}
.pm-note{font-size:var(--fs-12);color:#555;margin-top:8px}
html.ihv-js .pm.wait:not(.final) .pm-doc mark{background-color:transparent;background-image:linear-gradient(var(--pm-mk,#fbe39b),var(--pm-mk,#fbe39b));background-repeat:no-repeat;background-size:0 100%;outline-color:transparent;transition:background-size .9s var(--ease) .35s,outline-color .3s var(--ease) 1.1s}
html.ihv-js .pm.wait:not(.final)[data-v="1"] .pm-doc[data-d="1"] mark,html.ihv-js .pm.wait:not(.final)[data-v="2"] .pm-doc[data-d="2"] mark,html.ihv-js .pm.wait:not(.final)[data-v="3"] .pm-doc[data-d="3"] mark,html.ihv-js .pm.wait:not(.final)[data-v="4"] .pm-doc[data-d="4"] mark{background-size:100% 100%;outline-color:#f2c94c}
html.ihv-js .pm.nt .pm-doc mark{transition:none}
html.ihv-js .pm:not(.final) .w[data-st]:not(.on){transform:none}
@container (max-width:1099px){.pm .pm-x2{display:none!important}}
@container (max-width:899px){.pm .pui-light .vh .z{display:none}}
@container (max-width:720px){.pm .pui-light .main{flex-direction:column}.pm .pui-light .left{flex:none}.pm .pui-light .right{border-left:0;border-top:1px solid #e2e8f0}.pm .pui-light .vh .z{display:flex}}
@container (max-width:560px){.pm .pm-x{display:none!important}.pm .pui-light .top .u-ai{display:none}.pm .pui-light .sbox{flex-basis:100%;order:3}.pm .pui-light .top>.b.blue{order:4}.pm .pui-light .ws{margin-left:auto}.pm .pui-light .vh .z{display:none}.pm .pui-light .page{margin:12px;padding:18px 16px}.pm .pui-light .tabs{gap:16px;padding:0 12px}.pm .pui-light .left{padding:16px 12px 12px}.pm .pui-light .card{padding:14px 12px 10px}}
@container (max-width:400px){.pm .pui-light .tabs{gap:0 14px;flex-wrap:wrap;height:auto;min-height:44px}.pm .pui-light .tabs .u-x{display:none}}
/* v53.2 legibility: mock text 14px+ at desktop widths (12px only when the mock itself is phone-narrow), secondary text at --ink-2, no transforms on the mock (crisp text), stronger dark highlight */
.pm .pm-ui{--pm-s:var(--fs-14);--pm-p:var(--fs-16)}
@container (max-width:440px){.pm .pm-ui{--pm-s:var(--fs-12);--pm-p:var(--fs-14)}}
.pm .pm-ui :is(.u-samp,.b,.btns .b,.pill,.u-meta,sup,.cite,.cite .u-n,.pdf,.acc,.oh,.u-own,.u-own small,.u-own .u-sp,.u-why,.srch,.srch .u-f span,.u-src .u-tag,.u-src p,.u-src .u-ic,.vh .z,.org small,.psub,.nchip,.pm-calc,.pm-tbl th,.pm-note,.pm-sheet .pm-tbl td:first-child){font-size:var(--pm-s)}
.pm-title{font-size:var(--fs-14);color:var(--ink-2)}
.pm .pm-ui .atext sup{line-height:0;vertical-align:.3em}
.pm .pui-light .cite{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:baseline;column-gap:8px;row-gap:2px}
.pm .pui-light .cite .u-s{grid-column:3}
.pm .pui-light .cite.pm-nf .nchip{grid-column:3;justify-self:start;margin-left:0}
.pm .pm-ui .u-own .av{width:30px;height:30px;font-size:var(--pm-s);flex:none}
@container (max-width:560px){.pm-title{font-size:var(--fs-12)}}
.pm .pui-light .page{font-size:var(--pm-p)}
.pm .pui-light .page .pm-h{font-size:var(--pm-p)}
html .pm .pm-ui :is(.u-meta,.cite .u-s,.acc,.u-own small,.oh,.u-why,.srch,.srch .u-f span,.u-src p,.tabs,.tabs .u-x,.vh .z,.psub,.pm-note,.pm-tbl th,.pm-sheet .pm-tbl td:first-child,.u-ai){color:var(--ink-2)}
html .pm .pm-ui .tabs span.u-on{color:var(--ink)}
html.ihv-js .pm:not(.final) [data-st]:not(.on),html.ihv-js .pm:not(.final) .pop[data-st]:not(.on){transform:none}
html[data-theme="dark"] .pm{--pm-mk:#6b5410}
html[data-theme="dark"] .pm .pui-light .page mark{background-color:#6b5410;color:#fff;outline:2px solid #f2c94c}
html.ihv-js[data-theme="dark"] .pm.wait:not(.final) .pm-doc mark{background-color:transparent}
html[data-theme="dark"] .pm{border-color:#243044;background:#0b1220;box-shadow:0 30px 60px -30px rgba(0,0,0,.6)}
html[data-theme="dark"] .pm-bar{background:#0f1626;border-bottom-color:#1e293b}
html[data-theme="dark"] .pm-dots i{background:#334155}
html[data-theme="dark"] .pm-title{color:#aaacaf}
html[data-theme="dark"] .pm-bar .ihv-rp{background:transparent}
html[data-theme="dark"] .pm .pui .lg-l{display:none}
html[data-theme="dark"] .pm .pui .lg-d{display:inline}
html[data-theme="dark"] .pm[data-v="1"] .cite[data-d="1"],html[data-theme="dark"] .pm[data-v="2"] .cite[data-d="2"],html[data-theme="dark"] .pm[data-v="3"] .cite[data-d="3"],html[data-theme="dark"] .pm[data-v="4"] .cite[data-d="4"]{background:#16213a;box-shadow:inset 0 0 0 1px #2c3f6b}
html[data-theme="dark"] .pm[data-v="1"] sup[data-c="1"],html[data-theme="dark"] .pm[data-v="2"] sup[data-c="2"],html[data-theme="dark"] .pm[data-v="3"] sup[data-c="3"],html[data-theme="dark"] .pm[data-v="4"] sup[data-c="4"]{background:#3e6adb;color:#fff}
html[data-theme="dark"] .pm .pui-light .u-src .u-tag.nf{color:#edbbb6;background:#221a18}
html[data-theme="dark"] .pm .pui-light .u-src .u-tag.old{color:#c4c7cc;background:#1b1f27}
html[data-theme="dark"] .pm-calc{color:#c1e1cd;background:#1b201c}
html[data-theme="dark"] .pm-tbl :is(th,td){border-color:#243044}
html[data-theme="dark"] .pm-tbl th{color:#c4c7cc}
html[data-theme="dark"] .pm-sheet .pm-tbl th{background:#16203a}
html[data-theme="dark"] .pm-sheet .pm-tbl td:first-child{color:#aaacaf}
html[data-theme="dark"] .pm-note{color:#bebebe}
html[data-theme="dark"] .pm{--pm-mk:#3f3720}
@container (max-width:720px){html[data-theme="dark"] .pm .pui-light .right{border-top-color:#1e293b}}
/* v53.2 view tabs: one radio group (#pm-va Answer, #pm-vs Source, #pm-vx Ask Assist) drives the mock, so it works without JS and the tabs stay clickable after the animation. Desktop: the right pane shows Source (a or s) or Ask Assist (x); both share one grid cell so switching never shifts layout. When the mock container is ≤800px (phones, portrait tablets) Answer | Source | Assist become a segmented control over one shared cell, and owners, Why this answer and the Sources list are left out. Ask Assist styling follows the app's Assist tab (warm-gray bubbles, slate question bubble). */
.pm-vr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.pm .tabs label{cursor:pointer;display:flex}
html .pm .pm-ui .tabs span[data-t="s"]{color:var(--ink);font-weight:600;border-color:#2a5bd7}
.pm:has(#pm-vh:checked) .pm-ui .tabs span[data-t="s"],.pm:has(#pm-vx:checked) .pm-ui .tabs span[data-t="s"]{color:var(--ink-2)!important;font-weight:400!important;border-color:transparent!important}
.pm:has(#pm-vh:checked) .pm-ui .tabs span[data-t="h"],.pm:has(#pm-vx:checked) .pm-ui .tabs span[data-t="x"]{color:var(--ink)!important;font-weight:600;border-color:#2a5bd7!important}
.pm:has(#pm-vs:focus-visible) label[for="pm-vs"] span,.pm:has(#pm-vx:focus-visible) label[for="pm-vx"] span,.pm:has(#pm-vh:focus-visible) label[for="pm-vh"] span,.pm:has(#pm-va:focus-visible) label[for="pm-va"] span{outline:2px solid var(--blue);outline-offset:2px}
.pm .pm-rb{display:grid;grid-template-columns:minmax(0,1fr);flex:1 1 auto;min-height:0}
.pm .pm-rb>*{grid-area:1/1;min-width:0}
.pm:not(:has(#pm-vx:checked)) .pm-rb>.pm-ask,.pm:not(:has(#pm-vx:checked)) .pm-rb>.pm-ask *,.pm:not(:has(#pm-vh:checked)) .pm-rb>.pm-how,.pm:not(:has(#pm-vh:checked)) .pm-rb>.pm-how *,.pm:has(#pm-vx:checked) .pm-rb>.pm-view,.pm:has(#pm-vx:checked) .pm-rb>.pm-view *,.pm:has(#pm-vh:checked) .pm-rb>.pm-view,.pm:has(#pm-vh:checked) .pm-rb>.pm-view *{visibility:hidden!important}
.pm .pm-ask{padding:16px}
.pm .ak-card{display:flex;flex-direction:column;gap:14px;padding:16px 18px;border:1px solid #e2e8f0;border-radius:var(--r-12);background:#fff;font-size:var(--pm-s);line-height:1.5;color:#1d2330}
.pm .ak-h{font-weight:700;font-size:var(--fs-16);line-height:1.3}
.pm .ak-sub{margin-top:-12px;padding-bottom:14px;border-bottom:1px solid #e2e8f0;color:var(--ink-2)}
.pm .ak-sys{padding:10px 14px;border:1px solid #e4e1d8;border-radius:var(--r-12);background:#f1efe9;color:#1d2330}
.pm .ak-q{align-self:flex-end;max-width:88%;display:flex;gap:10px;align-items:baseline;padding:10px 16px;border-radius:var(--r-12);background:#4b5563;color:#fff}
.pm .ak-cv{flex:none;font-size:var(--fs-14);line-height:1}
.pm .ak-a{max-width:92%;padding:14px 16px 10px;border:1px solid #e4e1d8;border-radius:var(--r-12);background:#f1efe9;color:#1d2330}
.pm .ak-a p{margin:0;font-weight:600}
.pm .ak-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pm .ak-chip{display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border:1px solid #d4d0c6;border-radius:var(--r-pill);background:#fff;font-weight:600;font-size:var(--pm-s)}
.pm .ak-ev{margin-top:8px;padding-bottom:8px;border-bottom:1px solid #dcd8ce;color:#374151;font-weight:500}
.pm .ak-th{display:flex;gap:8px;margin-top:8px}
.pm .ak-th span{display:inline-grid;place-items:center;width:36px;height:30px;border:1px solid #d4d0c6;border-radius:var(--r-6);background:#fff}
.pm .ak-in{display:flex;align-items:center;gap:10px;padding:4px 6px 4px 4px;border:2px solid #2a5bd7;border-radius:var(--r-12)}
.pm .ak-in>span:first-child{flex:1;min-width:0;padding:8px 12px;border:1px solid #2a5bd7;border-radius:var(--r-6);color:var(--ink-2)}
.pm .ak-go{color:#4b5563;padding:0 6px}
html[data-theme="dark"] .pm .ak-card{background:#111a2e;border-color:#243044;color:#e2e8f0}
html[data-theme="dark"] .pm .ak-sub{border-bottom-color:#243044}
html[data-theme="dark"] .pm .ak-sys,html[data-theme="dark"] .pm .ak-a{background:#1f2533;border-color:#343c4d;color:#e2e8f0}
html[data-theme="dark"] .pm .ak-q{background:#475569;color:#fff}
html[data-theme="dark"] .pm .ak-chip,html[data-theme="dark"] .pm .ak-th span{background:#111a2e;border-color:#475569;color:#e2e8f0}
html[data-theme="dark"] .pm .ak-ev{color:#cbd5e1;border-bottom-color:#343c4d}
html[data-theme="dark"] .pm .ak-in{border-color:#3e6adb}
html[data-theme="dark"] .pm .ak-in>span:first-child{border-color:#3e6adb}
html[data-theme="dark"] .pm .ak-go{color:#cbd5e1}
.pm-seg{display:none}
@container (max-width:800px){
.pm-seg{display:flex;justify-content:center;padding:8px 12px;background:#f8fafc;border-bottom:1px solid #e2e8f0}
.pm-seg label{display:inline-flex;cursor:pointer}
.pm-seg label+label span{margin-left:-1px}
.pm-seg label:first-child span{border-radius:var(--r-pill) 0 0 var(--r-pill)}
.pm-seg label:last-child span{border-radius:0 var(--r-pill) var(--r-pill) 0}
.pm-seg span{display:inline-flex;align-items:center;justify-content:center;min-height:36px;min-width:72px;padding:0 12px;border:1px solid #cbd5e1;background:#fff;color:#334155;font-size:var(--fs-14);font-weight:600;line-height:1.2}
.pm:has(#pm-va:checked) .pm-seg label[for="pm-va"] span,.pm:has(#pm-vs:checked) .pm-seg label[for="pm-vs"] span,.pm:has(#pm-vx:checked) .pm-seg label[for="pm-vx"] span,.pm:has(#pm-vh:checked) .pm-seg label[for="pm-vh"] span{background:#2a5bd7;border-color:#2a5bd7;color:#fff;position:relative}
.pm .pui-light .main{display:grid;grid-template-columns:minmax(0,1fr)}
.pm .pui-light .main>.left,.pm .pui-light .main>.right{grid-area:1/1;min-width:0}
.pm .pui-light .right{border-top:0;border-left:0}
.pm:has(#pm-va:checked) .pui-light .main>.right,.pm:has(#pm-va:checked) .pui-light .main>.right *,.pm:not(:has(#pm-va:checked)) .pui-light .main>.left,.pm:not(:has(#pm-va:checked)) .pui-light .main>.left *{visibility:hidden!important}
.pm .pui-light .left>.u-why,.pm .pui-light .left>.srch,.pm .pui-light .left>.u-src,.pm .pui-light .card .owners{display:none!important}
.pm .pm-ask{padding:12px}
.pm .ak-card{padding:14px 12px;gap:12px}
.pm .ak-sub{margin-top:-10px;padding-bottom:12px}
.pm .ak-q,.pm .ak-a{max-width:100%}
}
@container (max-width:800px){
html[data-theme="dark"] .pm-seg{background:#0b1220;border-bottom-color:#1e293b}
html[data-theme="dark"] .pm-seg span{background:#111a2e;border-color:#334155;color:#cbd5e1}
html[data-theme="dark"] .pm:has(#pm-va:checked) .pm-seg label[for="pm-va"] span,html[data-theme="dark"] .pm:has(#pm-vs:checked) .pm-seg label[for="pm-vs"] span,html[data-theme="dark"] .pm:has(#pm-vx:checked) .pm-seg label[for="pm-vx"] span,html[data-theme="dark"] .pm:has(#pm-vh:checked) .pm-seg label[for="pm-vh"] span{background:#3e6adb;border-color:#3e6adb;color:#fff}
}
/* v53.2 How it was found: five-step stepper (Understand, Route, Rank, Verify, Cite) with count pills, the Verified banner and the admin details, after the app's tab */
.pm .pm-how{padding:16px 18px;font-size:var(--pm-s);line-height:1.5;color:#1d2330}
.pm .hw-h{font-weight:700;font-size:var(--fs-16);line-height:1.3}
.pm .hw-sub{margin-top:4px;color:var(--ink-2)}
.pm .hw-steps{list-style:none;margin:14px 0 0;padding:0}
.pm .hw-steps li{position:relative;display:grid;grid-template-columns:34px minmax(0,1fr) auto;column-gap:14px;align-items:start;padding-bottom:14px}
.pm .hw-steps li:not(:last-child)::before{content:"";position:absolute;left:16px;top:34px;bottom:0;width:2px;background:#2a5bd7}
.pm .hw-ic{display:grid;place-items:center;width:34px;height:34px;border-radius:999px;border:1px solid #b7d7bf;background:#e8f3ea;color:#24563a}
.pm .hw-steps b{display:block;font-weight:600;line-height:1.4}
.pm .hw-steps p{margin:2px 0 0;color:var(--ink-2)}
.pm .hw-n{white-space:nowrap;padding:2px 10px;border:1px solid #b7d7bf;border-radius:var(--r-pill);background:#e8f3ea;color:#1f5133;font-weight:600}
.pm .hw-ok{margin-top:2px;padding:10px 14px;border:1px solid #b7d7bf;border-radius:var(--r-6);background:#e8f3ea;color:#1f5133;font-weight:600}
.pm .hw-det{margin-top:14px;padding-top:12px;border-top:1px solid #e2e8f0;color:#374151}
.pm .hw-det summary{cursor:pointer;font-weight:600;color:#1d2330;margin-bottom:6px}
.pm .hw-det>div{overflow-wrap:anywhere}
.pm.wait:not(.final) .hw-steps li:not(.on) .hw-ic{background:#f1f5f9;border-color:#e2e8f0;color:#94a3b8}
html[data-theme="dark"] .pm .pm-how{color:#e2e8f0}
html[data-theme="dark"] .pm .hw-ic,html[data-theme="dark"] .pm .hw-n,html[data-theme="dark"] .pm .hw-ok{background:#163222;border-color:#2f6b45;color:#bfe6cb}
html[data-theme="dark"] .pm .hw-steps li:not(:last-child)::before{background:#3e6adb}
html[data-theme="dark"] .pm .hw-det{border-top-color:#243044;color:#cbd5e1}
html[data-theme="dark"] .pm .hw-det summary{color:#e2e8f0}
@container (max-width:800px){.pm .pm-how{padding:14px 12px}}
@container (max-width:560px){.pm .hw-steps li{grid-template-columns:34px minmax(0,1fr) auto;grid-template-areas:"i b n" "i p p";column-gap:10px;padding-bottom:10px}.pm .hw-ic{grid-area:i}.pm .hw-steps li>div{display:contents}.pm .hw-steps b{grid-area:b;align-self:center}.pm .hw-steps p{grid-area:p}.pm .hw-n{grid-area:n;align-self:center}.pm .hw-steps li:not(:last-child)::before{top:34px}.pm .hw-sub{margin-top:2px}.pm .hw-steps{margin-top:10px}.pm .hw-det{margin-top:10px;padding-top:10px}}
@container (max-width:800px){.pm .pui-light .right>.tabs{display:none}.pm-seg{padding:6px 12px}}
@container (max-width:560px){.pm .pm-how{padding:12px}.pm .hw-steps li{padding-bottom:6px}.pm .hw-steps li:last-child{padding-bottom:10px}.pm .hw-ok{padding:8px 12px}}
.pm .hw-det summary{min-height:28px;padding:0;margin-bottom:2px;line-height:1.5}
/* v53.3 hero-size mock: search field and SEARCH share one row */
@container (min-width:401px) and (max-width:560px){.pm .pui-light .sbox{flex:1 1 calc(100% - 112px);min-width:0}}
/* v53.3 hero-size trims (mock ≤560px wide: desktop hero and phones): drop the Assist intro line and the How subline */
@container (max-width:560px){.pm .ak-sys,.pm .hw-sub{display:none}.pm-seg{padding:6px 12px}}
/* v53.3 narrow phones (mock ≤400px): drop the meta line, the access line and the Watch button so the mock stays ≤900px */
@container (max-width:400px){.pm .card .u-meta,.pm .card .acc,.pm .card .btns>.b:nth-child(3){display:none}}
/* v53.3 320px phones (mock ≤300px): smaller logo so SAMPLE CONTENT shares its row; one action button */
@container (max-width:300px){.pm .pui-light .top .lg{width:92px;height:auto}.pm .pui-light .top{padding:10px 12px;column-gap:8px}.pm .card .btns>.b:nth-child(2){display:none}}
/* v53.3 hero-size doc page: drop a trailing filler section (heading + unhighlighted paragraph) and tighten the stepper */
@container (max-width:560px){.pm .page>.pm-h:has(+p.u-g:last-child),.pm .page>p.u-g:last-child{display:none}.pm .page .org{margin-bottom:8px}.pm .hw-det{display:none}}
/* v53.3 HR page uses the simple hero shell: give its mock hero the same grid as the other industry pages */
@media (min-width:901px){header.hero-simple>.wrap.has-vis:has(>.pm){grid-template-columns:1fr 1.02fr;gap:56px}}
header.hero.hero-simple:has(>.wrap>.pm){padding:0}
/* v54: feature-page product mocks. Watch -> Watching (final markup = watched), freshness notice inside the answer card */
.pm .pui .b.pm-wb{gap:4px;background:#eef3fd;color:#1a56b8;border-color:#2a5bd7;transition:background-color .35s var(--ease),color .35s var(--ease),border-color .35s var(--ease)}
html[data-theme="dark"] .pm .pui .b.pm-wb{background:#111a2e;color:#b3c2ef;border-color:#3e6adb}
.pm .pm-wb .w0{display:none}
html.ihv-js .pm:not(.final) .pm-wb:not(.pm-on) .w0{display:inline}
html.ihv-js .pm:not(.final) .pm-wb:not(.pm-on) .w1{display:none}
html.ihv-js .pm:not(.final) .pui .b.pm-wb:not(.pm-on){background:#fff;color:#2a3242;border-color:#c9ccd3}
html[data-theme="dark"].ihv-js .pm:not(.final) .pui .b.pm-wb:not(.pm-on){background:#111a2e;color:#cbced4;border-color:#484a4f}
.pm .card .btns>.b.pm-wb.pm-wb{display:inline-flex}
.pm .card .acc.pm-wn{display:block;margin:8px 0 0}
.pm .pm-fresh{font-size:var(--pm-s);margin:0}
/* v55 */
@media(max-width:640px){.hero .audience{display:none}.icell .ex,.icell .m{display:none}.icell{padding:20px 20px}.icell h3{margin-bottom:4px}.icell .go{margin-top:8px}}
.team-line .sec-head{align-items:end}.team-line .body a{color:var(--blue-ink);font-weight:500;white-space:nowrap}
.abt-team{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.abt-team li{display:flex;gap:16px;align-items:flex-start;padding:20px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card);min-width:0}
.abt-team li>div{min-width:0}
.abt-ph{width:80px;height:80px;flex:none;border-radius:var(--r-12);object-fit:contain;background:var(--paper-2)}
.abt-team h3{font:500 var(--fs-18)/1.3 var(--sans);margin:0 0 4px;color:var(--ink)}
.abt-role{display:flex;align-items:center;flex-wrap:wrap;margin:0 0 8px;font-size:var(--fs-14);color:var(--ink-2)}
.abt-bio{margin:0;font-size:var(--fs-16);line-height:1.5;color:var(--ink-2)}
@media(max-width:1024px){.abt-team{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.abt-team{grid-template-columns:1fr}}
.wpc-vis{padding:8px}
.wpc{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:16px}
.wpc-c a{display:flex;flex-direction:column;gap:12px;min-height:220px;height:100%;padding:20px;border:1px solid var(--rule);border-top:4px solid var(--blue);border-radius:var(--r-12);background:var(--card);color:var(--ink);text-decoration:none;box-shadow:0 18px 40px -28px rgba(15,23,42,.35);animation:wpc-lift 8s var(--ease,ease) infinite}
.wpc-1 a{animation-delay:2s}.wpc-2 a{animation-delay:4s}.wpc-3 a{animation-delay:6s}
.wpc-c a:hover,.wpc-c a:focus-visible{border-color:var(--blue)}
.wpc-k{font:600 13px/1.4 var(--sans);color:var(--ink-3)}
.wpc-k b{color:var(--blue-ink);font-weight:500;margin-right:8px}
.wpc-t{font-family:var(--serif);font-size:var(--fs-18);line-height:1.3}
.wpc-f{margin-top:auto;font:500 var(--fs-12)/1.4 var(--sans);color:var(--ink-3)}
@keyframes wpc-lift{0%,30%,100%{transform:none}10%,20%{transform:translateY(-8px)}}
@media(prefers-reduced-motion:reduce){.wpc-c a{animation:none}}
@media(max-width:640px){.wpc{gap:12px}.wpc-c a{min-height:0;padding:16px;gap:8px}.wpc-t{font-size:var(--fs-16)}}
@media(max-width:360px){.wpc{grid-template-columns:1fr}}
.nf-search{margin-top:32px;max-width:560px}
.nf-search label{display:block;font:500 var(--fs-14) var(--sans);color:var(--ink);margin-bottom:8px}
.nf-row{display:flex;gap:8px}
.nf-row input{flex:1;min-width:0;font:var(--fs-16) var(--sans);padding:12px 14px;border:1px solid var(--ink-3);border-radius:var(--r-6);background:var(--card);color:var(--ink)}
.nf-res{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:4px;font-size:var(--fs-16)}
.nf-res a{color:var(--blue-ink)}
.nf-links{list-style:none;margin:24px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.nf-links li{padding:16px;border:1px solid var(--rule);border-radius:var(--r-12);background:var(--card);display:flex;flex-direction:column;gap:4px}
.nf-links a{font:500 var(--fs-18) var(--sans);color:var(--blue-ink)}
.nf-links span{font-size:var(--fs-14);color:var(--ink-2)}
@media(max-width:1024px){.nf-links{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.nf-links{grid-template-columns:1fr}}
/* v55.1 duration tag */
.dur{display:inline-block;margin-left:4px;padding:2px 8px;font:500 var(--fs-12)/1.4 var(--mono);letter-spacing:.04em;color:var(--ink-3);border:1px solid var(--rule);border-radius:var(--r-pill);text-decoration:none;white-space:nowrap}
main>section:is(.band-navy,.band-ink) .dur{color:var(--on-dark-2);border-color:rgba(255,255,255,.28)}
.poster .pl .dur{color:inherit;border-color:currentColor;margin-left:8px}
/* v55.1 phone heroes */
@media(max-width:640px){
.lede .lede-x{display:none}
html body main>header.hero.hero-simple{padding-top:0;padding-bottom:0}
html body main>header.hero>.wrap,html body .crumbs~main>header.hero>.wrap{padding-top:24px;padding-bottom:28px;row-gap:28px;gap:28px}
html body main>header.hero h1{margin-top:12px}
html body main>header.hero h1+p.lede,html body .crumbs~main>header.hero h1+p.lede,html body.home main>header.hero h1+.lede{margin-top:20px}
html body main>header.hero .actions.hero-acts{margin-top:24px;gap:4px}
html body main>header.hero .actions.hero-acts .tlink{min-height:44px}
body.home header.hero>.wrap{row-gap:28px}
}
@media(max-width:640px){
body:not(.home) main>header.hero #demo .demo-top{min-height:32px}
body:not(.home) main>header.hero #demo .qbar{margin:8px 0 0;padding:10px 12px;min-height:44px;font-size:var(--fs-14);line-height:1.4}
body:not(.home) main>header.hero #demo .status{margin:6px 2px 0;font-size:var(--fs-12)}
body:not(.home) main>header.hero #demo .doc{margin:8px 0 0;padding:10px 12px 6px;font-size:var(--fs-12);line-height:1.45;min-height:0}
body:not(.home) main>header.hero #demo .doc .dh{margin-bottom:6px}
body:not(.home) main>header.hero #demo .doc p{margin-bottom:6px}
body:not(.home) main>header.hero #demo .ans{margin:8px 0 0;padding:10px 12px;min-height:0}
body:not(.home) main>header.hero #demo .ans .t{font-size:var(--fs-14);line-height:1.4;margin:6px 0 4px}
body:not(.home) main>header.hero #demo .ans .own{margin-top:6px;padding-top:6px;font-size:var(--fs-12)}
}
@media(max-width:640px){
.crumbs~main>header.hero>.wrap>div:first-child>.eyebrow{display:none}
.crumbs~main>header.hero>.wrap>div:first-child>h1{margin-top:0}
.va-vis[data-va="about"] .va-ms .va-s,.va-vis[data-va="about"] .va-ab-meta{display:none}
.va-vis[data-va="technology"] .va-dimr{display:none}
.va-vis[data-va="security"] .va-srcl{display:none}
.wpc{grid-template-columns:1fr;gap:8px}
.wpc-c a{min-height:0;padding:12px 16px;gap:4px;border-top-width:1px;border-left:4px solid var(--blue)}
.wpc-f{display:none}
main>header.hero .demo:has(.flow) .flow{height:356px}
main>header.hero .flow .src:nth-of-type(1){top:4px!important}
main>header.hero .flow .src:nth-of-type(2){top:33px!important}
main>header.hero .flow .src:nth-of-type(3){top:62px!important}
main>header.hero .flow .src:nth-of-type(4){top:91px!important}
main>header.hero .flow .src:nth-of-type(5){top:120px!important}
main>header.hero .flow .src:nth-of-type(6){top:149px!important}
main>header.hero .flow .src:nth-of-type(7){top:178px!important}
main>header.hero .flow .src:nth-of-type(8){top:207px!important}
main>header.hero .flow .src:nth-of-type(9){top:236px!important}
main>header.hero .flow .src:nth-of-type(10){top:265px!important}
main>header.hero .flow .src:nth-of-type(11){top:294px!important}
main>header.hero .flow .src:nth-of-type(12){top:323px!important}
}
@media(max-width:640px){
main>header.hero .va-vis{gap:8px}
main>header.hero .va-vis .va-card{padding:12px 14px!important}
main>header.hero .va-vis .va-top{letter-spacing:.02em;margin-bottom:8px}
main>header.hero .va-vis .va-search{padding:8px 12px;min-height:40px}
main>header.hero .va-vis .va-steps{margin-top:8px}
main>header.hero .va-vis .va-two{gap:8px}
body.home header.hero .wrap>div:first-child>.eyebrow{display:none}
body.home header.hero h1{margin-top:0}
body.home .hero #demo .ans .own{display:none}
body.home .hero #demo .demo-top .lbl{letter-spacing:.02em}
}
@media(max-width:640px){
.va-vis[data-va="technology"] .va-cat small{display:none}
.va-vis[data-va="technology"] .va-steps{display:none}
.va-vis[data-va="security"] .va-own2>div{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:8px}
}
@media(max-width:640px){
html body main>header.hero .actions.hero-acts{margin-top:20px;gap:0}
html body main>header.hero .actions.hero-acts .tlink{min-height:40px}
body.home .hero #demo .lbl-x{display:none}
}
/* v55.1 blog typographic covers */
.bp-card-img.bp-card-cv,.bp-feature-img.bp-card-cv{display:flex;overflow:visible;aspect-ratio:16/9;height:auto;background:none}
.bp-cover{--cv-bg:#eef3fd;--cv-ink:#0f172a;--cv-k:#1a4fa8;--cv-f:#475569;--cv-line:rgba(38,106,220,.14);position:relative;flex:1;display:flex;flex-direction:column;gap:12px;min-width:0;padding:20px 22px 18px;background:var(--cv-bg);color:var(--cv-ink);border-left:4px solid var(--cv-k);isolation:isolate}
.bp-cover::before{content:"";position:absolute;z-index:-1;top:18px;right:18px;bottom:18px;width:30%;background:repeating-linear-gradient(180deg,transparent 0 13px,var(--cv-line) 13px 15px);-webkit-mask:linear-gradient(90deg,transparent,#000 60%);mask:linear-gradient(90deg,transparent,#000 60%)}
.bp-cv-k{font:600 var(--fs-12)/1.3 var(--sans);color:var(--cv-k)}
.bp-cv-t{font:400 var(--fs-22)/1.22 var(--serif);letter-spacing:-.01em;max-width:22ch;overflow-wrap:break-word}
.bp-cv-f{margin-top:auto;font:600 var(--fs-12)/1.3 var(--sans);color:var(--cv-f)}
.bp-cv--security-governance{--cv-bg:#14233f;--cv-ink:#fff;--cv-k:#9cbcff;--cv-f:#c5d0de;--cv-line:rgba(156,188,255,.16)}
.bp-cv--ai-models{--cv-bg:#266ADC;--cv-ink:#fff;--cv-k:#fff;--cv-f:#fff;--cv-line:rgba(255,255,255,.18);border-left-color:#0f172a}
.bp-cv--enterprise-ai{--cv-bg:#f1f4f9;--cv-ink:#0f172a;--cv-k:#1f5bc4;--cv-f:#475569;--cv-line:rgba(15,23,42,.08)}
html[data-theme="dark"] .bp-cv--search{--cv-bg:#162033;--cv-ink:#e2e8f0;--cv-k:#9cbcff;--cv-f:#94a3b8;--cv-line:rgba(156,188,255,.14)}
html[data-theme="dark"] .bp-cv--enterprise-ai{--cv-bg:#111a2e;--cv-ink:#e2e8f0;--cv-k:#9cbcff;--cv-f:#94a3b8;--cv-line:rgba(226,232,240,.08)}
.bp-cv-lg .bp-cv-t{font-size:var(--fs-28)}
.bp-cv-lg{padding:28px 32px 24px;gap:16px}
header.bp-head .bp-hero.bp-hero-cv{display:flex;align-items:stretch;aspect-ratio:12/5;background:none}@media(max-width:640px){header.bp-head .bp-hero.bp-hero-cv{aspect-ratio:16/9}}
.bp-cv-xl{padding:40px 48px 32px;gap:20px}
.bp-cv-xl .bp-cv-k,.bp-cv-xl .bp-cv-f{font-size:var(--fs-14)}
.bp-cv-xl .bp-cv-t{font-size:var(--fs-40);line-height:1.15;max-width:20ch}
@media(max-width:640px){.bp-cv-t{font-size:var(--fs-18)}.bp-cover{padding:16px 18px 14px;gap:8px}.bp-cv-lg .bp-cv-t{font-size:var(--fs-22)}.bp-cv-xl{padding:20px 22px 18px;gap:12px}.bp-cv-xl .bp-cv-t{font-size:var(--fs-28)}.bp-cv-xl .bp-cv-k,.bp-cv-xl .bp-cv-f{font-size:var(--fs-12)}}
@media(max-width:400px){html body main>header.hero .va-vis[data-va="security"],html body main>header.hero .va-vis[data-va="security"] .va-two{gap:6px}}
/* v55.2 desktop hero top alignment: visual top = text top (eyebrow) */
@media(min-width:1001px){html body:not(.home) main>header.hero>.wrap,html body:not(.home) main>header.hero>.wrap.has-vis,html body main>header.bp-index-hero>.wrap.has-vis,html body main>section.dm>.wrap.dm-grid{align-items:start}}
.lede-m{display:none}
@media(max-width:640px){.lede .lede-m{display:inline}
body.pg-sh main>header.hero #demo .lbl-x,body.pg-sh main>header.hero #demo .ans .own,body.pg-sh main>header.hero #demo .ans .src,body.pg-sh main>header.hero #demo .ans .meta{display:none}}
@media(max-width:640px){html body.pg-sh main>header.hero #demo .status{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html body.pg-sh main>header.hero #demo .demo-top{padding:0 2px 4px}}
@media(max-width:640px){html body.pg-sh .crumbs~main>header.hero>.wrap,html body.pg-sh main>header.hero>.wrap{padding-top:20px;padding-bottom:24px}}
/* ==== v55.3 first-viewport fit (desktop) ==== */
@media(min-width:1001px){
html body main>header.hero,html body main>header.band-hero{min-height:0;padding-top:0;padding-bottom:0}
html body main>header.hero>.wrap,html body .crumbs~main>header.hero>.wrap{padding-top:clamp(24px,4.5vh,64px);padding-bottom:clamp(32px,5.5vh,72px)}
html body nav.crumbs{padding-top:8px!important;margin-bottom:0}
}
@media(min-width:1001px) and (max-height:820px){
html body main>header.hero>.wrap,html body .crumbs~main>header.hero>.wrap{padding-top:20px;padding-bottom:24px}
html body main>header.hero figure.pm .pm-bar{min-height:32px;padding-top:2px;padding-bottom:2px}
html body main>header.hero figure.pm .pm-seg{padding-top:4px;padding-bottom:4px}
html body main>header.hero figure.pm .pui-light .top{padding-top:8px;padding-bottom:8px;row-gap:6px}
html body main>header.hero figure.pm .main>.left{padding-top:10px;padding-bottom:8px}
html body main>header.hero figure.pm .main>.left>.card{padding-top:12px;padding-bottom:8px}
html body main>header.hero figure.pm .atext{margin-top:8px;margin-bottom:8px}
html body main>header.hero figure.pm .pm-how{padding-top:8px;padding-bottom:8px}
html body main>header.hero figure.pm .hw-steps{margin-top:6px}
html body main>header.hero figure.pm .hw-steps>li{padding-bottom:4px}
}
/* v55.3 answer-demo stage: one state at a time, fixed height = tallest state (set by site.js Z()). !important only on these JS-set state classes so older per-page demo rules cannot resize the stage */
#demo.stg{height:var(--stg-h)!important;min-height:0!important;max-height:none!important;display:flex;flex-direction:column}
#demo.stg>.doc{flex:1 1 auto!important;min-height:0!important}
#demo.stg>.ans{flex:none!important;min-height:var(--stg-a)!important}
#demo.stg.msr{height:auto!important}
#demo.stg.msr>.doc{flex:none!important;height:auto!important;max-height:none!important}
#demo.stg.msr>.ans{min-height:0!important}
#demo>.qbar #q,#demo>.status,#demo>.doc>.dh,#demo>.doc>#docbody,#demo>.ans{transition:opacity .26s ease}
#demo.xf>.qbar #q,#demo.xf>.status,#demo.xf>.doc>.dh,#demo.xf>.doc>#docbody,#demo.xf>.ans{opacity:0}
#doc:not(.nomatch) .nf .nm{visibility:hidden}
html body main #demo #doc #docbody:has(>p.nf){justify-content:flex-start}
html body main #demo #doc.doc.nomatch #docbody p.nf,html body main #demo #doc #docbody p.nf{opacity:1;filter:none;border-left-color:var(--rule)}
html body main #demo #doc #docbody p.nf b{color:var(--ink-2)}
html body main #demo #doc #docbody p.nf .nm{color:var(--ink-2)}
@media(min-width:1001px){
html body.home main>header.hero>.wrap{grid-template-rows:auto;align-items:start}
html body.home main>header.hero>.wrap>div:first-child{grid-row:1;grid-column:1;display:flex;flex-direction:column}
html body.home main>header.hero .hero-rc>#demo{grid-row:1;grid-column:2;align-self:start;contain:none;min-height:0;overflow:visible}
html body.home main>header.hero #demo .doc{min-height:0;max-height:none;margin-top:8px;padding:12px 14px 8px}
html body.home main>header.hero>.wrap{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:clamp(48px,4.5vw,64px)}
html body.home main>header.hero #demo .qbar{margin-top:8px;padding:10px 14px;min-height:48px}
html body.home main>header.hero #demo .status{position:absolute;width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html body.home main>header.band-hero.hero #demo #doc #docbody{gap:8px}
html body.home main>header.band-hero.hero #demo #ans .own{margin-top:8px;padding-top:8px}
html body.home main>header.hero #demo .ans{margin-top:8px;padding:12px 14px 10px}
html body.home main>header.hero .audience{margin-top:0;padding-top:32px;gap:24px;max-width:600px}
html body.home main>header.hero .audience div{font-size:var(--fs-14);line-height:1.45;padding-top:0;padding-bottom:0}
html body.home main>header.hero .audience b{margin-bottom:4px}
html body.home main>header.band-hero.hero #demo #ans.ans .own~.own{display:none}
}
@media(min-width:1001px){
html body.pg-sh main>header.hero #demo .status{position:absolute;width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
html body.pg-sh main>header.hero #demo .ans .src{display:none}
}
@media(min-width:1001px){
html body.pg-sh main>header.hero #demo .demo-top{min-height:32px;padding:0 0 4px}
html body.pg-sh main>header.hero #demo .qbar{margin-top:8px}
html body.pg-sh main>header.hero #demo .ans{margin-bottom:0}
html body .crumbs~main>header.bp-index-hero.hero.hero-simple,html body main>header.bp-index-hero.hero.hero-simple{padding-top:clamp(24px,4.5vh,64px);padding-bottom:clamp(32px,5.5vh,72px)}
}
@media(min-width:1001px) and (max-height:820px){
html body .crumbs~main>header.bp-index-hero.hero.hero-simple,html body main>header.bp-index-hero.hero.hero-simple{padding-top:20px;padding-bottom:24px}
}
/* v55.3 ≤740px-tall desktop: mock tabs sit in the window toolbar row; hero padding 16/20 */
@media(min-width:1001px) and (max-height:740px){
html body main>header.hero figure.pm{display:grid;grid-template-columns:minmax(0,1fr)}
html body main>header.hero figure.pm>.pm-bar{grid-row:1;grid-column:1;min-height:44px}
html body main>header.hero figure.pm>.pm-bar .pm-title{visibility:hidden}
html body main>header.hero figure.pm>.pm-seg{grid-row:1;grid-column:1;align-self:center;justify-self:center;padding:0;background:none;border:0;position:relative;z-index:1}
html body main>header.hero figure.pm>.pm-vr{grid-row:2;grid-column:1}
html body main>header.hero figure.pm>.pui{grid-row:3;grid-column:1}
html body main>header.hero>.wrap,html body .crumbs~main>header.hero>.wrap{padding-top:16px;padding-bottom:20px}
html body .crumbs~main>header.bp-index-hero.hero.hero-simple,html body main>header.bp-index-hero.hero.hero-simple{padding-top:16px;padding-bottom:20px}
}
@media(min-width:1001px) and (max-height:740px){
html body main>section.dm .dm-list{margin-top:12px}
html body main>section.dm .dm-list li{padding-top:6px;padding-bottom:6px}
html body main>section.dm .dm-list li::before{top:11px}
}
@media(min-width:1001px){html body main>header.hero .va-vis .va-search{min-height:48px}}
/* ==== v55.3 product-mock reading pace: reveals and highlights ~1.7x slower, hold progress line on the active view tab ==== */
html.ihv-js .pm:not(.final) [data-st]{transition:opacity .85s var(--ease),transform .85s var(--ease),background-size 1.5s var(--ease),box-shadow .6s var(--ease),background-color .6s var(--ease),border-color .6s var(--ease)}
html.ihv-js .pm.wait:not(.final) .pm-doc mark{transition:background-size 1.5s var(--ease) .6s,outline-color .5s var(--ease) 1.9s}
html.ihv-js .pm:not(.final) .pm-doc{transition:opacity .6s var(--ease),visibility 0s .6s}
html.ihv-js .pm:not(.final)[data-v="1"] .pm-doc[data-d="1"],html.ihv-js .pm:not(.final)[data-v="2"] .pm-doc[data-d="2"],html.ihv-js .pm:not(.final)[data-v="3"] .pm-doc[data-d="3"],html.ihv-js .pm:not(.final)[data-v="4"] .pm-doc[data-d="4"],html.ihv-js .pm:not(.final)[data-v="0"] .pm-doc[data-d="1"]{transition:opacity .6s var(--ease)}
html.ihv-js .pm:not(.final) .pui-light .cite,html.ihv-js .pm:not(.final) .pui-light sup{transition-duration:.6s}
html.ihv-js .pm.nt .pm-doc mark,html.ihv-js .pm.nt [data-st],html.ihv-js .pm.nt .pm-doc{transition:none!important}
.pm-seg span{position:relative}
html.ihv-js .pm.hold:has(#pm-va:checked) .pm-seg label[for="pm-va"] span::after,html.ihv-js .pm.hold:has(#pm-vs:checked) .pm-seg label[for="pm-vs"] span::after,html.ihv-js .pm.hold:has(#pm-vh:checked) .pm-seg label[for="pm-vh"] span::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:rgba(255,255,255,.75);transform:scaleX(0);transform-origin:left center;animation:pmhold var(--pm-hold,3600ms) linear forwards;pointer-events:none}
@keyframes pmhold{to{transform:scaleX(1)}}
@media (prefers-reduced-motion:reduce){html.ihv-js .pm.hold .pm-seg span::after{display:none}}

/* v55.4 SOC 2 trust panel (security) + 4-up proof bar (home) */
section.soc2{background:var(--paper-2);border-bottom:1px solid var(--rule);padding:24px 0}
.soc2-in{display:flex;align-items:center;justify-content:space-between;gap:16px 40px;flex-wrap:wrap}
.soc2-l{display:flex;align-items:center;gap:12px 24px;flex:1 1 560px;min-width:0;flex-wrap:wrap}
section.soc2 h2.soc2-chip{display:inline-flex;align-items:center;gap:8px;margin:0;padding:6px 14px;border:1px solid var(--logo-blue);border-radius:var(--r-pill);background:var(--paper);font:600 var(--fs-14)/1.2 var(--sans);letter-spacing:0;text-transform:none;color:var(--ink);white-space:nowrap;max-width:none}
section.soc2 h2.soc2-chip svg{color:var(--logo-blue);flex:none}
.soc2-t{margin:0;flex:1 1 380px;min-width:0;max-width:72ch;font:400 var(--fs-16)/1.5 var(--sans);color:var(--ink-2)}
.soc2-cta{flex:none}
@media (max-width:760px){section.soc2{padding:20px 0}.soc2-cta{width:100%;justify-content:center;text-align:center}}
.pb-list.pb4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1000px){.pb-list.pb4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.pb-list.pb4{grid-template-columns:1fr}}
footer.sitefoot .fbase .fcopy a{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}

/* v55.4: home hero status caption is visually hidden at every width (it wrapped under the doc card on phones); still announced via aria-live */
html body.home main>header.hero #demo .status{position:absolute;width:1px;height:1px;min-height:0;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* v55.5: the hero fills the first viewport on every page, so no following band peeks in below it; content is centred in the space.
   --herotop is the hero's top edge (nav + breadcrumb), measured by site.js; the fallbacks match the measured layout */
:root{--herotop:65px}
html body main>header.band-hero:first-child,html body main>section.band-hero:first-child{min-height:calc(100vh - var(--herotop))!important;min-height:calc(100svh - var(--herotop))!important;display:flex;flex-direction:column;justify-content:center;box-sizing:border-box}
html body main>header.band-hero:first-child>.wrap,html body main>section.band-hero:first-child>.wrap{width:100%}
html:has(nav.crumbs){--herotop:91px}
@media(max-width:1000px){html:has(nav.crumbs){--herotop:125px}}
@media(max-width:400px){html:has(nav.crumbs){--herotop:151px}}
html:not(:has(nav.topnav)){--herotop:0px}
/* v55.5: no empty stage in any animation state. While the answer card and the Assist reply are still to come, their slot shows a quiet
   skeleton of text lines, so the space each view reserves is never blank; the content replaces it in place (no layout change). */
html.ihv-js .pm:not(.final) .main>.left>.card[data-st]:not(.on),html.ihv-js .pm:not(.final) .ak-q.on~.ak-a[data-st]:not(.on){opacity:1;position:relative}
html.ihv-js .pm:not(.final) .main>.left>.card[data-st]:not(.on)>*,html.ihv-js .pm:not(.final) .ak-q.on~.ak-a[data-st]:not(.on)>*{visibility:hidden}
html.ihv-js .pm:not(.final) .main>.left>.card[data-st]:not(.on)::after,html.ihv-js .pm:not(.final) .ak-q.on~.ak-a[data-st]:not(.on)::after{content:"";position:absolute;left:16px;right:16px;top:16px;bottom:12px;max-height:150px;--sk:#e6e9ef;background:linear-gradient(var(--sk),var(--sk)) 0 0/34% 10px no-repeat,linear-gradient(var(--sk),var(--sk)) 0 26px/96% 10px no-repeat,linear-gradient(var(--sk),var(--sk)) 0 46px/88% 10px no-repeat,linear-gradient(var(--sk),var(--sk)) 0 66px/72% 10px no-repeat,linear-gradient(var(--sk),var(--sk)) 0 96px/46% 10px no-repeat,linear-gradient(var(--sk),var(--sk)) 0 116px/58% 10px no-repeat;border-radius:4px;animation:pmsk 1.6s ease-in-out infinite alternate}
html.ihv-js .pm:not(.final) .ak-q.on~.ak-a[data-st]:not(.on)::after{--sk:#dedad0;max-height:60px}
html[data-theme="dark"].ihv-js .pm:not(.final) .main>.left>.card[data-st]:not(.on)::after{--sk:#243044}
html[data-theme="dark"].ihv-js .pm:not(.final) .ak-q.on~.ak-a[data-st]:not(.on)::after{--sk:#343c4d}
@keyframes pmsk{from{opacity:.55}to{opacity:1}}
@media (prefers-reduced-motion:reduce){html.ihv-js .pm:not(.final) [data-st]:not(.on)::after{animation:none}}
html.ihv-js .pm:not(.final) .main>.left>.card[data-st]:not(.on)::after{max-height:none;background:linear-gradient(var(--sk),var(--sk)) 0 0/34% 10px no-repeat,repeating-linear-gradient(var(--sk) 0 10px,transparent 10px 24px) 0 30px/94% calc(100% - 30px) no-repeat}
/* v55.5: quiet way back from /demo to the page the visitor came from (shown only when that page is known and on this site) */
.dm-back{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0 0 8px;font:500 var(--fs-14)/1.3 var(--sans);color:var(--ink-2);text-decoration:none}
.dm-back:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dm-back[hidden]{display:none}
.dm-thanks .dm-home{margin:0 8px 12px 0}
html[data-theme="dark"] .dm-back{color:var(--on-dark-2)}
html[data-theme="dark"] .dm-back:hover{color:#fff}
/* v55.5: the mascot's "Unnanu: My Presence" caption sits beside the mascot, in the slot of the label it replaces, never over the question bar */
html body .demo-top .uc-inhead .uc-say{left:calc(100% + 8px);right:auto;top:50%;bottom:auto;transform:translate(-4px,-50%);box-shadow:none;background:none;padding:0}
html body .demo-top .uc-inhead.uc-saying .uc-say{transform:translate(0,-50%)}
html body .demo-top:not(:has(.uc-saying)) .lbl{transition:opacity .3s ease .35s}
html body .demo-top .uc-inhead:not(.uc-saying) .uc-say{transition:opacity .3s,transform .3s}
/* v55.5: suggestions open inside the search box (it grows), instead of floating over the tabs below */
html body .mm-box{flex-wrap:wrap}
html body .mm-box>.mm-ac{position:static;flex:0 0 calc(100% + 24px);margin:0 -12px;padding:6px;border:0;border-top:1px solid var(--rule);border-radius:0 0 var(--r-12) var(--r-12);box-shadow:none;background:transparent}
html body .mm-box>.mm-ac[hidden]{display:none}
/* v55.5: right-aligned chips slide in from the right edge, so they never pass over the owner's name and title */
.va-vis.va-js .va-own .va-slide[data-at]:not(.on){transform:translateX(12px)}
/* v55.5: phones. The longest source label (SQL databases, read-only query) ran under the catalog card. Below 480px the card is
   narrower and labels wrap inside the space left of it; the rows after a two-line label move down so nothing overlaps. */
@media(max-width:480px){
.flow .hub{width:150px;right:10px;padding:16px 14px}
.flow .src{white-space:normal;max-width:calc(100% - 178px);line-height:1.3;text-wrap:balance}
}
@media(max-width:440px){
main>header.hero .demo:has(.flow) .flow{height:372px}
main>header.hero .flow .src:nth-of-type(9){top:252px!important}
main>header.hero .flow .src:nth-of-type(10){top:281px!important}
main>header.hero .flow .src:nth-of-type(11){top:310px!important}
main>header.hero .flow .src:nth-of-type(12){top:339px!important}
}
@media(max-width:340px){.flow .hub{width:132px;padding:14px 10px}.flow .src{max-width:calc(100% - 158px)}}

/* v55.6: short desktop windows. The hero steps down the type scale so the headline, lede and CTA finish above the fold
   (≤700px tall: lede 22→18; ≤620px tall: headline 56→40, display 80→56, lede 16). Widths ≤1000px stack and are untouched. */
@media (min-width:1001px) and (max-height:700px){
html body main>.band-hero:first-child .lede{font-size:var(--fs-18)!important;line-height:1.5!important}
html body main>.band-hero:first-child .hero-acts{margin-top:24px!important}
}
@media (min-width:1001px) and (max-height:620px){
html body main>.band-hero:first-child h1{font-size:var(--fs-40)!important}
html:not(:has(nav.crumbs)) body main>.band-hero:first-child h1{font-size:var(--fs-56)!important}
html body main>.band-hero:first-child .lede{font-size:var(--fs-16)!important}
}

/* v55.6: blog post heroes. The cover card takes the room left under the title (up to its 12:5 size), so title and cover
   read as one composition that ends at the fold; when the room is too small for the card it steps down, then stands aside. */
@media (min-width:641px){
html body main>header.bp-head.band-hero:first-child>.wrap{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center}
html body main>header.bp-head.band-hero:first-child>.wrap>.bp-hwrap{flex:0 0 auto}
header.bp-head .bp-hero.bp-hero-cv{aspect-ratio:auto;flex:1 1 0;min-height:0;max-height:min(367px,calc((min(880px,100vw - 48px))*5/12));width:min(880px,100%);container-type:size;border:0;border-radius:0;background:none}
header.bp-head .bp-hero.bp-hero-cv>.bp-cover{border:1px solid var(--rule);border-left:4px solid var(--cv-k);border-radius:var(--r-12)}
@container (max-height:290px){.bp-cv-xl{padding:24px 32px 20px;gap:12px}.bp-cv-xl .bp-cv-t{font-size:var(--fs-28)}.bp-cv-xl .bp-cv-k,.bp-cv-xl .bp-cv-f{font-size:var(--fs-12)}}
@container (max-height:200px){.bp-cv-xl{padding:16px 24px 14px;gap:8px}.bp-cv-xl .bp-cv-t{font-size:var(--fs-22);max-width:36ch}}
@container (max-height:128px){.bp-cover{display:none!important}}
}

/* v55.6: breadcrumbs span the content column, so the trail starts on the same left edge as the hero copy.
   (Inside the flex body, margin:auto had shrunk short trails to their text width and centred them; long trails wrapped flush left.) */
html body nav.crumbs.wrap{width:100%;box-sizing:border-box}
/* v55.6: the same fit on phones (cover up to 4:3, title 28→22px when the room is short) */
@media (max-width:640px){
html body main>header.bp-head.band-hero:first-child>.wrap{flex:1 1 auto;display:flex;flex-direction:column;align-items:stretch;justify-content:center}
html body main>header.bp-head.band-hero:first-child>.wrap>.bp-hwrap{flex:0 0 auto}
header.bp-head .bp-hero.bp-hero-cv{aspect-ratio:auto;flex:1 1 0;min-height:0;max-height:calc((100vw - 40px)*3/4);width:100%;container-type:size;border:0;border-radius:0;background:none}
header.bp-head .bp-hero.bp-hero-cv>.bp-cover{border:1px solid var(--rule);border-left:4px solid var(--cv-k);border-radius:var(--r-12)}
@container (max-height:230px){.bp-cv-xl{padding:14px 16px 12px;gap:8px}.bp-cv-xl .bp-cv-t{font-size:var(--fs-22)}}
@container (max-height:140px){.bp-cover{display:none!important}}
}

/* v55.6: Home runs two columns from 1001px like every other hero (it used to stack at 1001–1024px, leaving the right half empty).
   On short desktop windows (≤700px tall) the demo card uses its compact rhythm so it finishes inside the first screen. */
@media (min-width:1001px) and (max-height:700px){
html body.home main>header.hero #demo .doc #docbody{gap:4px}
html body.home main>header.hero #demo .doc p{padding-top:2px;padding-bottom:2px}
html body.home main>header.hero #demo .ans .t{font-size:var(--fs-16)}
html body.home main>header.hero #demo .ans{--ans-h:176px}
}
@media (min-width:1001px) and (max-height:620px){html body.home main>header.hero .audience{padding-top:24px!important}}
/* v55.6 r4: short desktop windows (<=700px tall). The whole home hero fits the first screen in every animation state:
   the demo is a fixed stage sized to the window, the answer / not-found card replaces the document list in place
   (one state at a time), and the For teams / Ranking notes (repeated further down the page) are dropped. */
@media (min-width:1001px) and (max-height:700px){
html body.home .hero .audience{display:none!important}
html body.home .hero #demo{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto minmax(0,1fr);height:calc(100vh - var(--herotop) - 48px)!important;height:calc(100svh - var(--herotop) - 48px)!important;min-height:0!important;max-height:none!important;align-self:start}
html body.home .hero #demo>.doc,html body.home .hero #demo>.ans{grid-row:4;grid-column:1;min-height:0!important;height:auto!important;max-height:none!important;margin:8px 0 0!important;align-self:stretch}
html body.home .hero #demo>.doc{transition:opacity .3s ease}
html body.home .hero #demo:has(>.ans.on)>.doc{opacity:0}
html body.home .hero #demo>.ans{display:flex;flex-wrap:wrap;align-items:baseline;align-content:center;column-gap:0;padding:16px 20px!important;overflow:hidden}
html body.home .hero #demo>.ans>.t,html body.home .hero #demo>.ans>.src,html body.home .hero #demo>.ans>.own,html body.home .hero #demo>.ans>.parts,html body.home .hero #demo>.ans>.rec{flex:0 0 100%}
}
/* v55.6 r4: short desktop windows (<=700px tall): hero product mocks are a fixed stage that fits the first screen in every view.
   The window bar carries the view tabs (left) and the SAMPLE CONTENT label (right); the search row stays on the Answer view;
   Source, How and Assist use the full stage. Citations sit on one line; the access note and action buttons are dropped. */
@media (min-width:1001px) and (max-height:700px){
html body main>header.hero figure.pm{position:relative}
html body main>header.hero figure.pm>.pm-bar .pm-dots{visibility:hidden}
html body main>header.hero figure.pm>.pm-seg{justify-self:start!important;margin-left:12px!important}
html body main>header.hero figure.pm .pui-light .top .ws{position:absolute!important;top:11px;right:48px;margin:0!important;z-index:2}
html body main>header.hero figure.pm .pui-light .top .u-samp{display:block;margin:0!important;padding:1px 6px;line-height:18px}
html body main>header.hero figure.pm .pui-light .top .lg,html body main>header.hero figure.pm .pui-light .top .u-ai,html body main>header.hero figure.pm .pui-light .top>.b{display:none!important}
html body main>header.hero figure.pm .pui-light .top{min-height:0!important;padding-top:8px!important;padding-bottom:8px!important}
html body main>header.hero figure.pm .pui-light .top .sbox{flex:1 1 100%!important;min-height:0!important;padding-top:6px!important;padding-bottom:6px!important}
html body main>header.hero figure.pm:has(.pm-vr input:not([value="a"]):checked) .pui-light .top{padding:0!important;border:0!important;height:0!important}
html body main>header.hero figure.pm:has(.pm-vr input:not([value="a"]):checked) .pui-light .top .sbox{display:none!important}
html body main>header.hero figure.pm .pui-light .acc,html body main>header.hero figure.pm .pui-light .btns{display:none!important}
html body main>header.hero figure.pm .pui-light .cite{display:flex!important;flex-wrap:wrap;align-items:baseline;column-gap:6px;row-gap:0;padding-top:2px!important;padding-bottom:2px!important}
html body main>header.hero figure.pm .pui-light .page .org{display:none!important}
html body main>header.hero figure.pm .pui-light .page{padding-top:14px!important;padding-bottom:12px!important;margin-top:8px!important;margin-bottom:8px!important}
html body main>header.hero figure.pm .hw-steps>li{padding-bottom:2px!important}
html body main>header.hero figure.pm .hw-steps>li small,html body main>header.hero figure.pm .hw-steps>li p,html body main>header.hero figure.pm .hw-steps>li span:not([class]){font-size:var(--fs-12)!important;line-height:1.35!important}
}
@media (min-width:1001px) and (max-height:700px){
html body main>header.hero figure.pm{height:calc(100vh - var(--herotop) - 36px)!important;height:calc(100svh - var(--herotop) - 36px)!important;min-height:0!important;max-height:none!important;grid-template-rows:44px 0 minmax(0,1fr)!important;align-self:start}
html body main>header.hero figure.pm>.pui{display:flex!important;flex-direction:column;min-height:0!important;height:auto!important;max-height:none!important}
html body main>header.hero figure.pm>.pui>.main{flex:1 1 0!important;min-height:0!important;height:auto!important;max-height:none!important;grid-template-rows:minmax(0,1fr)!important}
html body main>header.hero figure.pm>.pui>.main>.left,html body main>header.hero figure.pm>.pui>.main>.right{min-height:0!important;max-height:100%}
html body main>header.hero figure.pm .pm-rb{min-height:0!important}
html body main>header.hero figure.pm>.pm-seg label span{padding-left:8px!important;padding-right:8px!important}
html body main>header.hero figure.pm .pui-light .top .ws{right:44px}
}
@media (min-width:1001px) and (max-height:700px){
html body main>header.hero figure.pm>.pm-seg label span{min-width:0!important;padding-left:9px!important;padding-right:9px!important}
html body main>header.hero figure.pm .pui-light .top .u-samp{letter-spacing:0!important;padding:1px 5px!important}
html body main>header.hero figure.pm .pui-light .atext{font-size:var(--fs-14)!important;line-height:1.4!important;margin-top:6px!important;margin-bottom:6px!important}
html body main>header.hero figure.pm .main>.left>.card{padding-top:10px!important;padding-bottom:6px!important}
html body main>header.hero figure.pm .main>.left{padding-top:8px!important}
}
@media (min-width:1001px) and (max-height:700px){
html body main>header.hero .va-vis:not([data-va="careers"]){gap:8px;align-self:start}
html body main>header.hero .va-vis:not([data-va="careers"]) .va-card{padding:12px 16px}
html body main>header.hero .va-vis .va-top{margin-bottom:8px}
html body main>header.hero .va-vis .va-sub{margin:8px 0 6px}
html body main>header.hero .va-vis .va-steps{margin:8px 0 0}
html body main>header.hero .va-vis .va-search{padding:8px 12px;min-height:40px}
html body main>header.hero .va-vis .va-stack{gap:6px!important}
html body main>header.hero .va-vis .va-row{padding:6px 12px}
html body main>header.hero .va-vis .va-vid{height:112px;margin-top:8px}
html body main>header.hero .va-vis .va-bars{height:60px}
html body main>header.hero .va-vis .va-kpi{padding:8px 12px}
html body main>header.hero .va-vis .va-fq{padding:6px 12px}
html body main>header.hero .va-vis .va-tr{margin-bottom:4px}
html body main>header.hero .va-vis .va-cf{margin-top:8px}
html body main>header.hero .va-vis .va-btns{margin-top:8px}
html body main>header.hero .va-vis .va-own{margin-top:6px}
html body main>header.hero .va-vis[data-va="technology"]>.va-card[data-at]{grid-row:2;grid-column:1;align-self:start}
html body main>header.hero .va-vis[data-va="technology"]>.va-card[data-at]:has(~.va-card.on){opacity:0!important;visibility:hidden}
}
@media (min-width:1001px) and (max-height:700px){
html body main>header.hero .actions.hero-acts{column-gap:12px}
html body main>header.hero .va-vis[data-va="unanswered"]>.va-card{grid-row:1;grid-column:1;align-self:start}
html body main>header.hero .va-vis[data-va="unanswered"]>.va-card:has(~.va-card.on){opacity:0!important;visibility:hidden}
}
@media (min-width:1001px) and (max-height:700px){
html body main>section.dm .dm-h{max-width:none}
}
@media (min-width:1001px) and (max-height:640px){
html body main>section.dm .dm-list .dm-d{display:none}
html body main>section.dm .dm-card{padding-top:20px;padding-bottom:16px}
html body main>section.dm .dm-form label{margin-top:6px}
html body main>section.dm .dm-form textarea{min-height:44px;height:44px}
html body main>section.dm .dm-form .dm-submit{margin-top:12px}
html body main>header.hero .flow{height:366px}
html body main>header.hero .flow .src:nth-of-type(1){top:6px!important}
html body main>header.hero .flow .src:nth-of-type(2){top:36px!important}
html body main>header.hero .flow .src:nth-of-type(3){top:66px!important}
html body main>header.hero .flow .src:nth-of-type(4){top:96px!important}
html body main>header.hero .flow .src:nth-of-type(5){top:126px!important}
html body main>header.hero .flow .src:nth-of-type(6){top:156px!important}
html body main>header.hero .flow .src:nth-of-type(7){top:186px!important}
html body main>header.hero .flow .src:nth-of-type(8){top:216px!important}
html body main>header.hero .flow .src:nth-of-type(9){top:246px!important}
html body main>header.hero .flow .src:nth-of-type(10){top:276px!important}
html body main>header.hero .flow .src:nth-of-type(11){top:306px!important}
html body main>header.hero .flow .src:nth-of-type(12){top:336px!important}
html body main>header.bp-index-hero .bp-feature .bp-ex{display:none}
html body main>header.bp-index-hero .bp-feature-t{font-size:var(--fs-22)}
}
@media (min-width:1001px) and (max-height:700px){
html body main>header.hero .wpc-c a{min-height:0;gap:8px;padding:16px}
}
@media (min-width:1001px) and (max-height:700px){
html body main>section.dm .dm-h{font-size:var(--fs-40)}
}
@media (min-width:1001px) and (max-height:640px){
html body main>section.dm .dm-form .dm-ft{margin-top:0}
}
@media (min-width:1001px) and (max-height:700px){
html body.pg-sh main>header.hero #demo{display:grid!important;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);height:calc(100vh - var(--herotop) - 28px)!important;height:calc(100svh - var(--herotop) - 28px)!important;min-height:0!important;max-height:none!important;align-self:start}
html body.pg-sh main>header.hero #demo>.doc,html body.pg-sh main>header.hero #demo>.ans{grid-row:3;grid-column:1;min-height:0!important;max-height:none!important;margin-top:8px!important;margin-bottom:0!important;align-self:start}
html body.pg-sh main>header.hero #demo>.doc{transition:opacity .3s ease}
html body.pg-sh main>header.hero #demo:has(>.ans.on)>.doc{opacity:0}
}
@media (min-width:1001px) and (max-height:700px){
html body.home main>header.hero #demo:has(>.ans.on)>.doc,html body.pg-sh main>header.hero #demo:has(>.ans.on)>.doc{visibility:hidden}
html body.home main>header.hero #demo>.ans:not(.on),html body.pg-sh main>header.hero #demo>.ans:not(.on){visibility:hidden}
html body main>header.hero .va-vis[data-va="technology"]>.va-card[data-at]:not(.on),html body main>header.hero .va-vis[data-va="unanswered"]>.va-card[data-at]:not(.on){visibility:hidden}
}
/* v55.7 looping hero mocks: clean fade between passes, pause, faster Industries/Product pacing (about 0.65x the v55.3 transitions) */
html.ihv-js .pm:not(.final)>:not(.pm-bar){transition:opacity .36s var(--ease)}
html.ihv-js .pm.xf:not(.final)>:not(.pm-bar){opacity:0}
html.ihv-js .pm.paused *,html.ihv-js .pm.paused *::before,html.ihv-js .pm.paused *::after{animation-play-state:paused!important}
.pm-bar .ihv-pp{margin-right:-6px}
html.ihv-js .pm:not(.final) [data-st]{transition:opacity .55s var(--ease),transform .55s var(--ease),background-size 1s var(--ease),box-shadow .4s var(--ease),background-color .4s var(--ease),border-color .4s var(--ease)}
html.ihv-js .pm.wait:not(.final) .pm-doc mark{transition:background-size 1s var(--ease) .4s,outline-color .35s var(--ease) 1.25s}
html.ihv-js .pm:not(.final) .pm-doc{transition:opacity .4s var(--ease),visibility 0s .4s}
html.ihv-js .pm:not(.final)[data-v="1"] .pm-doc[data-d="1"],html.ihv-js .pm:not(.final)[data-v="2"] .pm-doc[data-d="2"],html.ihv-js .pm:not(.final)[data-v="3"] .pm-doc[data-d="3"],html.ihv-js .pm:not(.final)[data-v="4"] .pm-doc[data-d="4"],html.ihv-js .pm:not(.final)[data-v="0"] .pm-doc[data-d="1"]{transition:opacity .4s var(--ease)}
html.ihv-js .pm:not(.final) .pui-light .cite,html.ihv-js .pm:not(.final) .pui-light sup{transition-duration:.4s}
html.ihv-js .pm.nt .pm-doc mark,html.ihv-js .pm.nt [data-st],html.ihv-js .pm.nt .pm-doc,html.ihv-js .pm.nt>*{transition:none!important}
html.ihv-js .pm.hold:has(#pm-vx:checked) .pm-seg label[for="pm-vx"] span::after{content:"";position:absolute;left:12px;right:12px;bottom:5px;height:2px;border-radius:2px;background:rgba(255,255,255,.75);transform:scaleX(0);transform-origin:left center;animation:pmhold var(--pm-hold,3600ms) linear forwards;pointer-events:none}
/* v55.7 looping catalog-learning workflow: pause control, fade between passes */
.lf-bar{gap:8px}
.lf .lf-fig{transition:opacity .36s var(--ease)}
.lf.lf-xf .lf-fig{opacity:0}
.lf.lf-paused *,.lf.lf-paused *::before,.lf.lf-paused *::after{animation-play-state:paused!important}
/* v55.7 va visuals: pause control over the first card's top bar; the between-loop fade skips the control */
.va-vis.has-pp{position:relative}
.va-pp{position:absolute;top:6px;right:8px;z-index:2;display:inline-grid;place-items:center;width:28px;height:28px;padding:0;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--card);color:var(--ink-2);cursor:pointer}
.va-pp svg{width:12px;height:12px}
.va-pp:hover{color:var(--ink);border-color:var(--ink-3)}
.va-pp:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.va-vis.has-pp>.va-card:first-child .va-top{padding-right:26px}
.va-vis.has-pp>:not(.va-pp){transition:opacity .6s}
.va-vis.has-pp.s-out{opacity:1}
.va-vis.has-pp.s-out>:not(.va-pp){opacity:0}
.va-vis.va-paused *,.va-vis.va-paused *::before,.va-vis.va-paused *::after{animation-play-state:paused!important}
.va-pp{min-height:28px!important;min-width:28px!important;max-height:28px}
.va-pp::after{content:"";position:absolute;inset:-8px;border-radius:50%}
/* v55.7 pause controls for the looping flow diagrams and the Security control icons */
.flow-row{display:flex;align-items:center;gap:12px;margin-top:12px}
.flow-row>.flow-step{flex:1;min-width:0;margin-top:0}
.flow-pp{flex:none;display:inline-grid;place-items:center;width:28px;height:28px;min-height:28px!important;min-width:28px;padding:0;border:1px solid var(--rule);border-radius:var(--r-pill);background:var(--card);color:var(--ink-2);cursor:pointer;position:relative}
.flow-pp svg{width:12px;height:12px}
.flow-pp:hover{color:var(--ink);border-color:var(--ink-3)}
.flow-pp:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.flow-pp::after{content:"";position:absolute;inset:-8px;border-radius:50%}
.secbento-ctl{display:flex;justify-content:flex-end;margin-top:12px}
.secbento.ico-paused *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.flow-pp,.va-pp{display:none!important}.flow-row{display:block}}
html.demo-paused :is(#demo,.flow,.hero) *,html.demo-paused :is(#demo,.flow,.hero) *::before,html.demo-paused :is(#demo,.flow,.hero) *::after{animation-play-state:paused!important}

/* v55.7 lighter product frame: pm, va-vis, lf and flow diagrams (not the Home hero). One shade off the section, faint edge, small soft shadow, no edge-fade halo. */
:root{--fr-bg:rgba(15,23,42,.035);--fr-bd:rgba(15,23,42,.13);--fr-in:rgba(15,23,42,.09);--fr-sh:0 1px 2px rgba(15,23,42,.05),0 8px 20px -14px rgba(15,23,42,.18)}
html[data-theme="dark"]{--fr-bg:rgba(255,255,255,.04);--fr-bd:rgba(255,255,255,.14);--fr-in:rgba(255,255,255,.09);--fr-sh:0 1px 2px rgba(0,0,0,.3),0 8px 20px -14px rgba(0,0,0,.45)}
html[data-theme] figure.pm{background:var(--fr-bg);border-color:var(--fr-bd);box-shadow:var(--fr-sh)}
html[data-theme] figure.pm .pm-bar{background:transparent;border-bottom-color:var(--fr-in)}
html[data-theme] figure.pm .pm-seg{background:transparent;border-bottom-color:var(--fr-in)}
html[data-theme] figure.pm .pui.pui-light,html[data-theme] figure.pm .pui-light .top,html[data-theme] figure.pm .pui-light .right{background:transparent;box-shadow:none}
html[data-theme] figure.pm .pui-light .card{box-shadow:0 1px 2px rgba(15,23,42,.05)}
html[data-theme] .va-vis:not([data-va="careers"])::before,html[data-theme] .lf-fig::before,html[data-theme] .diagwrap::before,html[data-theme] .wpfig::before{content:none}
html[data-theme] .va-vis:not([data-va="careers"]) .va-card{background:var(--fr-bg);box-shadow:inset 0 0 0 1px var(--fr-bd),var(--fr-sh)}
html[data-theme] .lf-fig,html[data-theme] .diagwrap,html[data-theme] .wpfig{background:var(--fr-bg);border:1px solid var(--fr-bd);border-radius:var(--r-12);box-shadow:var(--fr-sh)}
html[data-theme] .lf-fig{padding:16px 16px 4px}
html[data-theme] .diagwrap,html[data-theme] .wpfig{padding:20px 24px}
@media (max-width:1000px){html[data-theme] .wpfig{padding:8px}}
@media (max-width:640px){html[data-theme] .diagwrap{padding:8px}}
/* v55.7 doc switch: fade out, then fade in (no stacked crossfade, so two documents never show at once) */
html.ihv-js .pm:not(.final) .pm-doc{transition:opacity .2s var(--ease),visibility 0s .2s}
html.ihv-js .pm:not(.final)[data-v="1"] .pm-doc[data-d="1"],html.ihv-js .pm:not(.final)[data-v="2"] .pm-doc[data-d="2"],html.ihv-js .pm:not(.final)[data-v="3"] .pm-doc[data-d="3"],html.ihv-js .pm:not(.final)[data-v="4"] .pm-doc[data-d="4"],html.ihv-js .pm:not(.final)[data-v="0"] .pm-doc[data-d="1"]{transition:opacity .28s var(--ease) .2s}
/* ==== v55.12 typography system: Direction B, "current fonts, refined" (last: wins over the patch sections above) ====
   Fraunces for headings and quoted document text (optical sizing on), Inter Tight for UI, labels and body,
   JetBrains Mono only for real data (citations, file names, page/section refs, counts). Sentence case labels, no tracking,
   no italic or coloured headline accents. Scale tokens --fs-* unchanged except display 76 and featured/CTA 52 (desktop). */
:root{--fw-hero:440;--fw-h2:470;--fw-card:500;--fs-card:22px;--fs-lead:21px;--fs-body:18px;--fs-label:13px;--fs-label-l:14px;--body-ink:#1e2633}
html[data-theme="dark"]{--fw-hero:480;--fw-h2:480;--fw-card:520;--body-ink:#dbe3ee}
@media (max-width:640px){:root{--fs-card:20px;--fs-lead:18px}}
body{font-kerning:normal}
h1,h2,h3,h4,.fresh-h,.h1-disp{text-wrap:balance}
p,li,blockquote,dd,figcaption,.body,.lede{text-wrap:pretty}
/* headings: one serif voice */
h1,h2,h3,.fresh-h{font-optical-sizing:auto}
h1{font-weight:var(--fw-hero);letter-spacing:-.025em}
h1 .h1-disp{font-weight:var(--fw-hero)}
h1 .h1-cat{font-family:var(--sans);font-weight:600;letter-spacing:0;text-transform:none}
h2{font-weight:var(--fw-h2);letter-spacing:-.02em}
h1 em,h2 em,h3 em,.fresh-h em{font-style:normal;color:inherit;background:none;font-weight:inherit;font-family:inherit;-webkit-text-fill-color:currentColor}
:is(h1,h2,h3,h4) strong{font-weight:inherit}
.cta h2,#why h2,main>section>.wrap.reveal>h2:only-child{line-height:1.04}
#why h2{font-size:var(--fs-cta)}
.fresh-h{font-size:var(--fs-h2);font-weight:var(--fw-h2);letter-spacing:-.02em;line-height:1.08}
/* long-form section heads (white papers, blog posts, legal) */
.wp h2,.bp-prose h2,.wpcard h2,.legal-body h2{font-family:var(--serif);font-weight:var(--fw-h2);letter-spacing:-.015em}
.legal-body h2{font-size:var(--fs-t28);line-height:1.2}
/* every card title / H3: Fraunces 22/500, one style */
main h3:not(:is(.pm,.pui,.demo,.tdoc,.doc,.va-vis,.lf,.lf-fig,.ds,.ds-main,.ds-sec,.ds-srcs,.vn,.mm,.ihv,.diagwrap,.wpfig,.dsdemo) *):not(.igr .g h3,.tr-nh,.fresh-h),
.legal-body h3,.job h3,.abt-team h3,.tr-m h3,.tr-n h3,.bp-card-t{font-family:var(--serif);font-size:var(--fs-card);font-weight:var(--fw-card);letter-spacing:-.01em;line-height:1.22;text-transform:none;font-optical-sizing:auto}
.bp-prose h3{font-family:var(--serif);font-size:var(--fs-card);font-weight:var(--fw-card);letter-spacing:-.01em}
.bp-prose h4,.legal-body h4{font:600 var(--fs-18)/1.35 var(--sans);letter-spacing:0}
/* lead + body */
header.hero .lede,main>header .lede,.lede{font-size:var(--fs-lead);line-height:1.45}
main :is(p.body,.body){font-size:var(--fs-body)}
html main :is(p,li,dd,td,summary,.body,.lede):not(:is(.pm,.pui,.demo,.tdoc,.doc,.va-vis,.lf,.lf-fig,.ds,.vn,.mm,.ihv,.diagwrap,.wpfig,.band-ink,.band-navy,.band-blue,.cta,.tour,.pf-quote,.cmp,.ex,.roi-out) *):not(.note,.pt-note,.pipe-note,.crumbs *,.bp-meta,.job-loc){color:var(--body-ink)}
/* labels: Inter Tight 13-14/600, sentence case, no tracking */
.eyebrow,p.eyebrow,.bp-eyebrow,.bp-kicker,.pb-k,h2.pb-lab,.pf-sec h2.lab,.audience b,.ct-k,.c2-k,.hrq .k,.rel .k,.pcard .st,.igr .g h3,.tr-nh,.job-loc,.wpc-k,.bp-cat,.bp-count,.secbento .sgrp,.secitem .ref span,.press .lab,.roi-out .lbl,.tl .wk,.tm-role,.hrv-draft dt,.va-msk,.ig-kicker,.ig-h,.wphero-vis figcaption,.wpthumb-vis figcaption,
footer.sitefoot .fgroup,footer.sitefoot .fsum,footer.sitefoot .fcol h4,.fcol h4,nav.topnav .mcol :is(h6,.mh),.brand .bt,.dur,.cmp thead th,.pr-grp th,.pr-badge{font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600}
.eyebrow,p.eyebrow,.bp-eyebrow,footer.sitefoot .fgroup,footer.sitefoot .fsum,footer.sitefoot .fcol h4,.cmp thead th,.audience b{font-size:var(--fs-label-l)}
.pb-k,h2.pb-lab,.ct-k,.c2-k,.hrq .k,.rel .k,.pcard .st,.igr .g h3,.tr-nh,.job-loc,.wpc-k,.bp-cat,.bp-count,.bp-kicker,.secbento .sgrp,nav.topnav .mcol :is(h6,.mh),.brand .bt,.dur{font-size:var(--fs-label)}
.eyebrow b{font-weight:600}
nav.topnav .mcol :is(h6,.mh){color:var(--ink-3)}
.dur{font-variant-numeric:tabular-nums}
/* small UI labels inside the product mocks stay 12px, same family/case rules */
.lf .node .k,.samp,.u-samp,.lbl-x,.uc-say,.demo-top .lbl,.va-top,.va-sub,.va-tag,.va-vid .va-vt,.ihv-top,.ihv-k,.v23-tm .tm-top,.ds-rl,.ds-kick,.pui-light .oh,.pui-dark .dsec,.pui-dark th,.pui-dark .gh,.pui-dark .up,.mm h4,.pui-light .org small,.ha-k{font-family:var(--sans)!important;text-transform:none!important;letter-spacing:0!important;font-weight:600}
/* footer, breadcrumbs and notes: sans */
footer.sitefoot .flegal a,footer.sitefoot .fbase,footer.sitefoot .fbase span,.crumbs,.crumbs a,.note,p.note,.pipe-note,.pt-note,.tq small,.pf-quote figcaption,.pf-quote figcaption *{font-family:var(--sans);letter-spacing:0;text-transform:none}
.note,p.note,.pt-note,.pipe-note,footer.sitefoot .flegal a,footer.sitefoot .fbase,footer.sitefoot .fbase span{font-size:var(--fs-14)}
/* real data stays mono, with tabular figures */
.ans .src,.tans .src,.notfound,.tdoc .notfound,.doc .dh,.doc .dh span,.tag,.tstep em,.vn-plab,.ds-cite,.ds-pg,.ex-cites .n,.va-chip,.va-rk,.va-tr time,.va-vid .va-ts,.va-log,.va-qin small,.va-bc em,.va-cf .va-row em,.v23-tm time,.mm-ans .mm-ts,.pcard .no,.roi-out .f,.roi-in input,.ihv-src,.ihv sup,.tsr-src,.mf-page .pg,.bp-kbd,code{font-family:var(--mono);text-transform:none;letter-spacing:0;font-variant-numeric:tabular-nums}
/* quoted document text inside product mocks: Fraunces at text optical size (replaces Georgia/Times) */
.doc,.doc p,.doc mark,.tdoc,.tdoc p,.tdoc mark,.pui-light .atext,.pui-light .page,.pui-light .u-pq,.vn-page,.nf .nm{font-family:var(--doc);font-optical-sizing:auto}
.tdoc :is(h3,h4),.pui-light .page :is(h4,h5),.pm .pui-light .page .pm-h{font-family:var(--doc);font-weight:600;letter-spacing:0}
/* numerals */
table,.cmp,.counter,.stat,.traction,.proof,.pi strong,.pm-tbl,.ps-tbl,.roi-out{font-variant-numeric:tabular-nums lining-nums}
/* headings that set their weight through the font shorthand */
.crumbs~main header.bp-index-hero h1,.bp-hero-copy h1{font-weight:var(--fw-hero)}
.bp-feature-t,.bp-latest,.dm-ft,.dm-thanks h2,.pr-teaser h2,.pr-h{font-weight:var(--fw-h2)}
.ds-sec :is(h2,h3,h4),.ds-srcs :is(h2,h3,h4){letter-spacing:0}
.ex-k,.wpfig figcaption,.lf text,.lf .lab,.lf .node .k{letter-spacing:0}
.va-chip.va-slide,.va-qin2 .va-s{font-family:var(--sans)}
/* Fraunces runs about 6% wider than Georgia (16% wider than Times) at the same size. Matching Georgia's x-height keeps every mock line on the measure it had, so no mock box grows. */
.doc,.tdoc,.pui-light .atext,.pui-light .u-pq,.pui-light .page,.vn-page,.ds-qq,.ex-cites q,.hrv-src q,.nf .nm{font-size-adjust:.46}
.vn-page{font-size-adjust:.45}

/* v55.13 */
.h1-disp .h1-l{display:block}

/* v55.14 */
/* real cover photos restored; featured 1200x630 photo shown whole, no letterbox band */
.bp-feature-img.bp-fit-contain{aspect-ratio:40/21;background:none}
/* post hero photo: fits the remaining fold height (like the v55.1 cover did) without cropping or letterboxing */
.bp-ar-a{--ar:.525}.bp-ar-b{--ar:.5625}.bp-ar-c{--ar:.7234}
header.bp-head .bp-hero.bp-hero-ph{flex:1 1 0;min-height:96px;max-height:calc(min(880px,100vw - 48px)*var(--ar));width:min(880px,100%);border:0;border-radius:0;background:none;overflow:visible}
header.bp-head .bp-hero.bp-hero-ph img{width:auto;height:auto;max-width:100%;max-height:100%;margin:0 auto;border:1px solid var(--rule);border-radius:var(--r-12)}
@media(max-width:640px){header.bp-head .bp-hero.bp-hero-ph{max-height:calc((100vw - 40px)*var(--ar));width:100%}}
/* v55.16 Option 1: light closing CTA bands (unnanu.com style), logo-blue primary */
main>section.cta.band-mist{background:#eef3fd;color:var(--ink)}
main>section.cta.band-paper{background:var(--paper);color:var(--ink)}
main>section.cta:is(.band-mist,.band-paper) h2{color:var(--ink)}
main>section.cta:is(.band-mist,.band-paper) :is(.body,.eyebrow,.eyebrow b,p){color:var(--ink-2)}
html main>section.cta:is(.band-mist,.band-paper) a.btn.primary,
html[data-theme="dark"] main>section.cta:is(.band-mist,.band-paper) a.btn.primary{background:#266ADC;color:#fff;border:0;opacity:1}
html main>section.cta:is(.band-mist,.band-paper) a.btn.primary:hover,
html[data-theme="dark"] main>section.cta:is(.band-mist,.band-paper) a.btn.primary:hover{background:#1a56b8;color:#fff}
html main>section.cta:is(.band-mist,.band-paper) a.btn.primary:focus-visible{outline:3px solid #266ADC;outline-offset:3px;box-shadow:none}
html[data-theme="dark"] main>section.cta.band-mist{background:var(--paper-2)}
