.dsec-page{--dsp-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
    --dsp-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
    --dsp-ink:#1c1b22; --dsp-muted:#6b6a76; --dsp-line:#e2e1ea;
    --dsp-bg:#fafafa; --dsp-card:#ffffff; --dsp-tint:#f4f4fa; --dsp-panel:#fbfbfe;
    --dsp-blue:#3B82F6; --dsp-violet:#8B5CF6; --dsp-cyan:#06B6D4; --dsp-green:#0f9e75;
    --dsp-red:#dc2626;
    --dsp-data:#2f6fd0; --dsp-data-tint:#eaf1fb;
    --dsp-hub:#5b53c9;  --dsp-hub-tint:#f4f3fe;
    --dsp-ai:#0f9e75;   --dsp-ai-tint:#e2f5ee;
    --dsp-shadow:0 1px 2px rgba(15,23,42,.08);
    --dsp-shadow-lift:0 10px 30px rgba(15,23,42,.10);}
@media (prefers-color-scheme: dark){.dsec-page{--dsp-ink:#ecebf3; --dsp-muted:#a6a4b2; --dsp-line:#343342;
      --dsp-bg:#131220; --dsp-card:#1b1a29; --dsp-tint:#201f30; --dsp-panel:#17161f;
      --dsp-blue:#7aadf2; --dsp-violet:#a9a1f2; --dsp-cyan:#5ad4e6; --dsp-green:#5cd0a4;
      --dsp-red:#f27a7a;
      --dsp-data:#7aadf2; --dsp-data-tint:#172234;
      --dsp-hub:#a9a1f2;  --dsp-hub-tint:#1f1d31;
      --dsp-ai:#5cd0a4;   --dsp-ai-tint:#0e3128;
      --dsp-shadow:0 1px 2px rgba(0,0,0,.35);
      --dsp-shadow-lift:0 10px 30px rgba(0,0,0,.45);}}
.dsec-page{margin:0;background:var(--dsp-bg);color:var(--dsp-ink);font-family:var(--dsp-font);line-height:1.6}
.dsec-page .dsp-page{overflow-x:hidden}
.dsec-page .dsp-page a{color:inherit}
.dsec-page .dsp-wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.dsec-page .dsp-narrow{max-width:760px;margin:0 auto}
@media (prefers-reduced-motion: no-preference){.dsec-page{scroll-behavior:smooth}}
.dsec-page /* ================= section scaffolding ================= */
  .dsp-sec{padding:74px 0}
.dsec-page .dsp-sec.dsp-alt{background:var(--dsp-tint)}
.dsec-page .dsp-kicker{display:flex;align-items:center;justify-content:center;gap:10px;
    font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--dsp-muted);margin:0 0 12px}
.dsec-page .dsp-kicker::before, .dsec-page .dsp-kicker::after{content:"";width:22px;height:2px;border-radius:2px;
    background:linear-gradient(90deg,#3B82F6,#8B5CF6)}
.dsec-page .dsp-h2{font-size:clamp(25px,3.6vw,34px);font-weight:800;letter-spacing:-.02em;line-height:1.2;
    text-align:center;margin:0 0 10px}
.dsec-page .dsp-lede{text-align:center;color:var(--dsp-muted);font-size:16px;max-width:660px;margin:0 auto 38px}
.dsec-page .dsp-lede b{color:var(--dsp-ink);font-weight:650}
.dsec-page .dsp-seclink{text-align:center;margin-top:32px;font-size:14.5px}
.dsec-page .dsp-seclink a{font-weight:700;color:var(--dsp-blue);text-decoration:none}
.dsec-page .dsp-seclink a:hover{text-decoration:underline}
.dsec-page .dsp-seclink .note{color:var(--dsp-muted);font-weight:400}
.dsec-page /* ================= brand lockup ================= */
  .dsp-lockup{display:inline-flex;align-items:center;gap:9px;font-weight:800;letter-spacing:-.02em;
    text-decoration:none;background:linear-gradient(90deg,#3B82F6,#8B5CF6,#06B6D4);
    -webkit-background-clip:text;background-clip:text;color:transparent}
.dsec-page .dsp-lockup svg{display:block;flex-shrink:0}
.dsec-page /* ================= ① compact dark header band (uniform site chrome) ================= */
  .dsp-hero{position:relative;background:#0a0e1f;color:#ecebf3;overflow:hidden;
    padding:26px 0 54px;isolation:isolate}
.dsec-page .dsp-hero::before, .dsec-page .dsp-hero::after{content:"";position:absolute;border-radius:50%;
    filter:blur(90px);z-index:-1;pointer-events:none}
.dsec-page .dsp-hero::before{width:540px;height:540px;left:-160px;top:-220px;
    background:radial-gradient(circle,rgba(59,130,246,.32),transparent 70%)}
.dsec-page .dsp-hero::after{width:600px;height:600px;right:-200px;top:120px;
    background:radial-gradient(circle,rgba(139,92,246,.24),transparent 70%)}
.dsec-page .dsp-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px 16px;
    flex-wrap:wrap;margin-bottom:52px}
.dsec-page .dsp-topbar .dsp-lockup{font-size:18px}
.dsec-page .dsp-nav{display:flex;align-items:center;gap:4px;row-gap:8px;flex-wrap:wrap;justify-content:flex-end}
.dsec-page .dsp-nav a{font-size:13.5px;font-weight:600;color:rgba(236,235,243,.72);text-decoration:none;
    padding:8px 12px;border-radius:9px;transition:color .15s,background .15s,filter .15s}
.dsec-page .dsp-nav a:hover{color:#fff;background:rgba(255,255,255,.07)}
.dsec-page .dsp-nav .sep{width:1px;height:18px;background:rgba(255,255,255,.18);margin:0 8px;flex-shrink:0}
.dsec-page .dsp-nav a.dsp-nav-login{color:rgba(236,235,243,.58)}
.dsec-page .dsp-nav a.dsp-nav-login:hover{color:#fff;background:none;text-decoration:underline}
.dsec-page .dsp-nav a.dsp-nav-start{color:#fff;font-weight:700;border-radius:999px;padding:9px 18px;margin-left:6px;
    background:linear-gradient(120deg,#3B82F6,#8B5CF6 55%,#06B6D4);box-shadow:0 6px 18px rgba(89,91,246,.32)}
.dsec-page .dsp-nav a.dsp-nav-start:hover{filter:brightness(1.08);
    background:linear-gradient(120deg,#3B82F6,#8B5CF6 55%,#06B6D4)}
.dsec-page .dsp-hero-copy{text-align:center;max-width:820px;margin:0 auto}
.dsec-page .dsp-eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;color:rgba(236,235,243,.75);
    border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.05);
    border-radius:999px;padding:7px 16px;margin:0 0 20px}
.dsec-page .dsp-eyebrow .dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;
    background:linear-gradient(135deg,#3B82F6,#06B6D4)}
.dsec-page .dsp-h1{font-size:clamp(30px,5.2vw,48px);font-weight:800;letter-spacing:-.03em;line-height:1.1;margin:0 0 18px}
.dsec-page .dsp-grad{background:linear-gradient(90deg,#3B82F6,#8B5CF6,#06B6D4);
    -webkit-background-clip:text;background-clip:text;color:transparent}
.dsec-page .dsp-sub{font-size:clamp(15px,1.9vw,17px);line-height:1.7;color:rgba(236,235,243,.78);
    max-width:720px;margin:0 auto 26px;text-align:left}
.dsec-page .dsp-sub b{color:#fff;font-weight:650}
.dsec-page .dsp-sub .lead-in{display:block;text-align:center;font-size:12px;font-weight:800;letter-spacing:.12em;
    text-transform:uppercase;color:rgba(236,235,243,.55);margin-bottom:10px}
.dsec-page .dsp-quartet{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:6px}
.dsec-page .dsp-qpill{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:600;
    color:rgba(236,235,243,.88);border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.04);
    border-radius:999px;padding:8px 16px}
.dsec-page .dsp-qpill .dot{width:6px;height:6px;border-radius:50%;flex-shrink:0;background:#5cd0a4}
.dsec-page /* staggered blur-rise reveal — static state fully visible; motion only adds the entrance */
  @media (prefers-reduced-motion: no-preference){@keyframes dspRise{
      from{opacity:0;filter:blur(10px);transform:translateY(18px)}
      to{opacity:1;filter:blur(0);transform:none}
    }
    .dsp-rise{animation:dspRise .9s cubic-bezier(.2,.7,.3,1) both}
    .dsp-rise.d1{animation-delay:.08s}
    .dsp-rise.d2{animation-delay:.2s}
    .dsp-rise.d3{animation-delay:.34s}
    .dsp-rise.d4{animation-delay:.46s}}
.dsec-page /* ================= ② three-ways figure ================= */
  .dsp-t-fig{max-width:800px;margin:0 auto;padding:0}
.dsec-page .dsp-t-fig svg{display:block;width:100%;height:auto}
.dsec-page .dsp-t-panel{fill:var(--dsp-panel);stroke:var(--dsp-line);stroke-width:1}
.dsec-page .dsp-t-card rect.box{transition:filter .2s ease;filter:drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-t-card:hover rect.box{filter:brightness(1.03) drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-t-chip{fill:var(--dsp-card);stroke:var(--dsp-line);stroke-width:1.25;filter:drop-shadow(0 1px 2px rgba(15,23,42,.08))}
.dsec-page .dsp-t-title{font-size:16px;font-weight:600;fill:var(--dsp-ink)}
.dsec-page .dsp-t-brand{font-size:15px;font-weight:800;letter-spacing:-0.02em}
.dsec-page .dsp-t-sub{font-size:12px;font-weight:400}
.dsec-page .dsp-t-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dsp-muted)}
.dsec-page .dsp-t-chiptext{font-size:11.5px;font-weight:500;fill:var(--dsp-muted)}
.dsec-page .dsp-t-conn{fill:none;stroke:var(--dsp-line);stroke-width:1.5;stroke-linecap:round}
.dsec-page .dsp-t-conn.primary{stroke:url(#dspTLG);stroke-width:1.75}
.dsec-page .dsp-t-ahead{fill:none;stroke:#06B6D4;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.dsec-page .dsp-t-qline{fill:none;stroke:var(--dsp-line);stroke-width:1.25;stroke-dasharray:4 6;stroke-linecap:round}
.dsec-page .dsp-t-dot{opacity:0;transform-box:fill-box;transform-origin:center}
.dsec-page .dsp-t-glow{opacity:0}
.dsec-page .dsp-t-pop{opacity:0;fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
@media (prefers-color-scheme: dark){.dsec-page .dsp-t-card rect.box{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.dsec-page .dsp-t-card:hover rect.box{filter:brightness(1.06) drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.dsec-page .dsp-t-chip{filter:none}}
@media (prefers-reduced-motion: no-preference){@keyframes dspTFile{
      0%{transform:translateX(0);opacity:0}
      8%{opacity:1}
      52%{transform:translateX(282px);opacity:1}
      58%{transform:translateX(282px);opacity:0}
      100%{transform:translateX(282px);opacity:0}
    }
@keyframes dspTGlow{
      0%,45%{opacity:0}
      60%{opacity:.7}
      85%,100%{opacity:0}
    }
@keyframes dspTQuery{
      0%{transform:translateX(0);opacity:0;fill:var(--dsp-hub)}
      7%{opacity:1}
      40%{transform:translateX(-284px);fill:var(--dsp-hub)}
      48%{transform:translateX(-284px);fill:var(--dsp-ai)}
      90%{transform:translateX(0);opacity:1;fill:var(--dsp-ai)}
      96%,100%{transform:translateX(0);opacity:0;fill:var(--dsp-ai)}
    }
@keyframes dspTPopV{
      0%,50%{opacity:0;transform:scale(.9)}
      55%{opacity:.55;transform:scale(1.05)}
      74%,100%{opacity:0;transform:scale(1.6)}
    }
@keyframes dspTPopA{
      0%,86%{opacity:0;transform:scale(.9)}
      90%{opacity:.55;transform:scale(1.05)}
      100%{opacity:0;transform:scale(1.6)}
    }
.dsec-page .dsp-t-dot.file{animation:dspTFile 4s ease-in-out infinite}
.dsec-page .dsp-t-glow{animation:dspTGlow 4s ease-in-out infinite}
.dsec-page .dsp-t-dot.query{animation:dspTQuery 4s ease-in-out infinite;animation-delay:.6s}
.dsec-page .dsp-t-pop.vault{animation:dspTPopV 4s ease-in-out infinite}
.dsec-page .dsp-t-pop.answer{animation:dspTPopA 4s ease-in-out infinite;animation-delay:.6s}
.dsec-page .dsp-t-dot.query.q3{animation-delay:2.1s}
.dsec-page .dsp-t-pop.answer.a3{animation-delay:2.1s}}
.dsec-page .dsp-t-cap{margin:14px auto 0;max-width:600px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dsp-muted)}
.dsec-page .dsp-t-cap b{color:var(--dsp-ink);font-weight:500}
.dsec-page .dsp-t-cap a{color:var(--dsp-blue);font-weight:600;text-decoration:none}
.dsec-page .dsp-t-cap a:hover{text-decoration:underline}
.dsec-page /* ================= ③ validation-gate figure ================= */
  .dsp-g-fig{max-width:880px;margin:0 auto;padding:0}
.dsec-page .dsp-g-fig svg{display:block;width:100%;height:auto}
.dsec-page .dsp-g-panel{fill:var(--dsp-panel);stroke:var(--dsp-line);stroke-width:1}
.dsec-page .dsp-g-card rect.box{transition:filter .2s ease;filter:drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-g-card:hover rect.box{filter:brightness(1.03) drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-g-title{font-size:14.5px;font-weight:600;fill:var(--dsp-ink)}
.dsec-page .dsp-g-sub{font-size:11px;font-weight:400}
.dsec-page .dsp-g-label{font-size:9.5px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;fill:var(--dsp-muted)}
.dsec-page .dsp-g-mono{font-family:var(--dsp-mono);font-size:10px;font-weight:500}
.dsec-page .dsp-g-conn{fill:none;stroke:url(#dspGLG);stroke-width:1.75;stroke-linecap:round}
.dsec-page .dsp-g-ahead{fill:none;stroke:#06B6D4;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.dsec-page .dsp-g-return{fill:none;stroke:var(--dsp-line);stroke-width:1.25;stroke-dasharray:4 6;stroke-linecap:round}
.dsec-page .dsp-g-dot{opacity:0;transform-box:fill-box;transform-origin:center}
.dsec-page .dsp-g-pop{opacity:0;fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
@media (prefers-color-scheme: dark){.dsec-page .dsp-g-card rect.box{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.dsec-page .dsp-g-card:hover rect.box{filter:brightness(1.06) drop-shadow(0 1px 2px rgba(0,0,0,.35))}}
@media (prefers-reduced-motion: no-preference){@keyframes dspGQ{
      0%{transform:translateX(0);opacity:0}
      6%{opacity:1}
      44%{transform:translateX(560px);opacity:1}
      50%,100%{transform:translateX(560px);opacity:0}
    }
@keyframes dspGPop1{
      0%,24%{opacity:0;transform:scale(.9)}
      29%{opacity:.55;transform:scale(1.05)}
      40%,100%{opacity:0;transform:scale(1.6)}
    }
@keyframes dspGA{
      0%,54%{transform:translateX(0);opacity:0}
      60%{opacity:1}
      88%{transform:translateX(-660px);opacity:1}
      94%,100%{transform:translateX(-660px);opacity:0}
    }
@keyframes dspGPop2{
      0%,86%{opacity:0;transform:scale(.9)}
      91%{opacity:.55;transform:scale(1.05)}
      100%{opacity:0;transform:scale(1.6)}
    }
.dsec-page .dsp-g-dot.q{animation:dspGQ 6.4s ease-in-out infinite}
.dsec-page .dsp-g-pop.gate{animation:dspGPop1 6.4s ease-in-out infinite}
.dsec-page .dsp-g-dot.a{animation:dspGA 6.4s ease-in-out infinite}
.dsec-page .dsp-g-pop.home{animation:dspGPop2 6.4s ease-in-out infinite}}
.dsec-page .dsp-g-chips{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:22px}
.dsec-page .dsp-g-chip{font-size:12.5px;font-weight:650;color:var(--dsp-ink);border:1px solid var(--dsp-line);
    background:var(--dsp-card);border-radius:999px;padding:7px 15px;box-shadow:var(--dsp-shadow)}
.dsec-page .dsp-g-chip .tick{color:var(--dsp-green);font-weight:800;margin-right:5px}
.dsec-page /* ================= ④ do / never table ================= */
  .dsp-dono{display:grid;grid-template-columns:repeat(auto-fit,minmax(310px,1fr));gap:18px;max-width:920px;margin:0 auto}
.dsec-page .dsp-dcol{background:var(--dsp-card);border-radius:16px;box-shadow:var(--dsp-shadow);padding:26px 28px}
.dsec-page .dsp-dcol.do{border:1.5px solid rgba(16,185,129,.35)}
.dsec-page .dsp-dcol.never{border:1.5px solid rgba(220,38,38,.35)}
.dsec-page .dsp-dcol h3{font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px}
.dsec-page .dsp-dcol.do h3{color:var(--dsp-green)}
.dsec-page .dsp-dcol.never h3{color:var(--dsp-red)}
.dsec-page .dsp-dcol ul{list-style:none;margin:0;padding:0}
.dsec-page .dsp-dcol li{display:flex;gap:11px;align-items:flex-start;font-size:14px;color:var(--dsp-muted);
    padding:10px 0;border-bottom:1px dashed var(--dsp-line)}
.dsec-page .dsp-dcol li:last-child{border-bottom:0;padding-bottom:0}
.dsec-page .dsp-dcol li b{color:var(--dsp-ink);font-weight:650}
.dsec-page .dsp-dcol li .m{flex-shrink:0;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;
    justify-content:center;font-size:11px;font-weight:800;margin-top:2px}
.dsec-page .dsp-dcol.do li .m{color:var(--dsp-green);background:rgba(16,185,129,.12)}
.dsec-page .dsp-dcol.never li .m{color:var(--dsp-red);background:rgba(220,38,38,.1)}
.dsec-page /* ================= ⑤ access-control cards ================= */
  .dsp-access{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.dsec-page .dsp-acard{background:var(--dsp-card);border:1px solid var(--dsp-line);border-radius:14px;
    box-shadow:var(--dsp-shadow);padding:22px;transition:transform .18s,box-shadow .18s}
.dsec-page .dsp-acard:hover{transform:translateY(-3px);box-shadow:var(--dsp-shadow-lift)}
.dsec-page .dsp-acard .ico{width:36px;height:36px;border-radius:10px;display:flex;align-items:center;
    justify-content:center;background:rgba(59,130,246,.1);border:1px solid rgba(59,130,246,.25);margin-bottom:12px}
.dsec-page .dsp-acard .ico svg{stroke:var(--dsp-blue)}
.dsec-page .dsp-acard h3{font-size:15px;font-weight:800;letter-spacing:-.01em;margin:0 0 6px}
.dsec-page .dsp-acard p{font-size:13.5px;color:var(--dsp-muted);margin:0}
.dsec-page .dsp-acard b{color:var(--dsp-ink);font-weight:650}
.dsec-page .dsp-access-note{text-align:center;font-size:13.5px;color:var(--dsp-muted);max-width:640px;margin:26px auto 0}
.dsec-page .dsp-access-note b{color:var(--dsp-ink);font-weight:650}
.dsec-page /* ================= ⑤b table-exposure figure (toggles → only what you expose) ================= */
  .dsp-tx-expose{max-width:780px;margin:0 auto 34px;padding:0}
.dsec-page .dsp-tx-expose svg{display:block;width:100%;height:auto}
.dsec-page .dsp-tx-panelbg{fill:var(--dsp-panel);stroke:var(--dsp-line);stroke-width:1}
.dsec-page .dsp-tx-card rect.box{transition:filter .2s ease;filter:drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-tx-card:hover rect.box{filter:brightness(1.03) drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-tx-chip{fill:var(--dsp-card);stroke:var(--dsp-line);stroke-width:1.25;filter:drop-shadow(0 1px 2px rgba(15,23,42,.08))}
.dsec-page .dsp-tx-ghost{fill:none;stroke:var(--dsp-line);stroke-width:1.25;stroke-dasharray:4 4}
.dsec-page .dsp-tx-brand{font-size:13.5px;font-weight:800;letter-spacing:-0.02em}
.dsec-page .dsp-tx-sub{font-size:12px;font-weight:400}
.dsec-page .dsp-tx-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dsp-muted)}
.dsec-page .dsp-tx-chiptext{font-size:11.5px;font-weight:500;fill:var(--dsp-muted)}
.dsec-page .dsp-tx-row{font-size:13px;font-weight:600;fill:var(--dsp-ink)}
.dsec-page .dsp-tx-row.off{fill:var(--dsp-muted);font-weight:500}
.dsec-page .dsp-tx-mcp{font-size:11px;font-weight:700;letter-spacing:.04em;fill:var(--dsp-hub)}
.dsec-page .dsp-tx-lane{fill:none;stroke:url(#dspTxLaneGrad);stroke-width:1.75;stroke-linecap:round}
.dsec-page .dsp-tx-head{fill:none;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.dsec-page .dsp-tx-trackoff{fill:var(--dsp-line);opacity:.55}
.dsec-page /* static state = fully readable: three toggles ON, .dsec-page three chips visible */
  .dsp-tx-trackon{fill:var(--dsp-ai);opacity:1}
.dsec-page .dsp-tx-knob{fill:var(--dsp-card);stroke:var(--dsp-line);stroke-width:1;filter:drop-shadow(0 1px 1px rgba(15,23,42,.18))}
.dsec-page .dsp-tx-knob.k1, .dsec-page .dsp-tx-knob.k2, .dsec-page .dsp-tx-knob.k3{transform:translateX(18px)}
.dsec-page .dsp-tx-aichip{opacity:1;transform-box:fill-box;transform-origin:center}
.dsec-page .dsp-tx-ring{opacity:0;fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
@media (prefers-color-scheme: dark){.dsec-page .dsp-tx-card rect.box{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.dsec-page .dsp-tx-card:hover rect.box{filter:brightness(1.06) drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.dsec-page .dsp-tx-chip{filter:none}
.dsec-page .dsp-tx-knob{filter:none}}
@media (prefers-reduced-motion: no-preference){.dsec-page /* toggle knobs slide ON one by one, .dsec-page everything softly resets at ~86–92% */
    @keyframes dspTxSlide1{0%,4%{transform:translateX(0)}
      7%{transform:translateX(18px)}
      86%{transform:translateX(18px)}
      92%,100%{transform:translateX(0)}}
@keyframes dspTxSlide2{
      0%,16%{transform:translateX(0)}
      19%{transform:translateX(18px)}
      86%{transform:translateX(18px)}
      92%,100%{transform:translateX(0)}
    }
@keyframes dspTxSlide3{
      0%,28%{transform:translateX(0)}
      31%{transform:translateX(18px)}
      86%{transform:translateX(18px)}
      92%,100%{transform:translateX(0)}
    }
.dsec-page /* the green fill washes into each track as its knob lands */
    @keyframes dspTxOn1{0%,4%{opacity:0} 7%{opacity:1} 86%{opacity:1} 92%,100%{opacity:0}}
@keyframes dspTxOn2{
      0%,16%{opacity:0} 19%{opacity:1} 86%{opacity:1} 92%,100%{opacity:0}
    }
@keyframes dspTxOn3{
      0%,28%{opacity:0} 31%{opacity:1} 86%{opacity:1} 92%,100%{opacity:0}
    }
.dsec-page /* matching chip pops in on the AI side just after its toggle flips */
    @keyframes dspTxChip1{0%,8%{opacity:0;transform:scale(.92)}
      11%{opacity:1;transform:scale(1.04)}
      14%{opacity:1;transform:scale(1)}
      84%{opacity:1;transform:scale(1)}
      90%,100%{opacity:0;transform:scale(.92)}}
@keyframes dspTxChip2{
      0%,20%{opacity:0;transform:scale(.92)}
      23%{opacity:1;transform:scale(1.04)}
      26%{opacity:1;transform:scale(1)}
      84%{opacity:1;transform:scale(1)}
      90%,100%{opacity:0;transform:scale(.92)}
    }
@keyframes dspTxChip3{
      0%,32%{opacity:0;transform:scale(.92)}
      35%{opacity:1;transform:scale(1.04)}
      38%{opacity:1;transform:scale(1)}
      84%{opacity:1;transform:scale(1)}
      90%,100%{opacity:0;transform:scale(.92)}
    }
.dsec-page /* quiet arrival ring, .dsec-page once per chip per loop (staggered via delay) */
    @keyframes dspTxRing{0%,8%{opacity:0;transform:scale(.9)}
      12%{opacity:.5;transform:scale(1.15)}
      19%,100%{opacity:0;transform:scale(1.5)}}
.dsec-page .dsp-tx-knob.k1{animation:dspTxSlide1 12s ease-in-out infinite}
.dsec-page .dsp-tx-knob.k2{animation:dspTxSlide2 12s ease-in-out infinite}
.dsec-page .dsp-tx-knob.k3{animation:dspTxSlide3 12s ease-in-out infinite}
.dsec-page .dsp-tx-trackon.t1{animation:dspTxOn1 12s ease-in-out infinite}
.dsec-page .dsp-tx-trackon.t2{animation:dspTxOn2 12s ease-in-out infinite}
.dsec-page .dsp-tx-trackon.t3{animation:dspTxOn3 12s ease-in-out infinite}
.dsec-page .dsp-tx-aichip.c1{animation:dspTxChip1 12s ease-in-out infinite}
.dsec-page .dsp-tx-aichip.c2{animation:dspTxChip2 12s ease-in-out infinite}
.dsec-page .dsp-tx-aichip.c3{animation:dspTxChip3 12s ease-in-out infinite}
.dsec-page .dsp-tx-ring.r1{animation:dspTxRing 12s ease-in-out infinite}
.dsec-page .dsp-tx-ring.r2{animation:dspTxRing 12s ease-in-out infinite;animation-delay:1.44s}
.dsec-page .dsp-tx-ring.r3{animation:dspTxRing 12s ease-in-out infinite;animation-delay:2.88s}}
.dsec-page .dsp-tx-cap{margin:14px auto 0;max-width:560px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dsp-muted)}
.dsec-page .dsp-tx-cap b{color:var(--dsp-ink);font-weight:500}
.dsec-page /* ================= ⑥ audit window + log specimen ================= */
  .dsp-win{max-width:860px;margin:0 auto;background:var(--dsp-card);border:1.25px solid var(--dsp-line);
    border-radius:14px;box-shadow:0 2px 4px rgba(15,23,42,.10);overflow:hidden}
@media (prefers-color-scheme: dark){.dsec-page .dsp-win{box-shadow:0 2px 4px rgba(0,0,0,.35)}}
.dsec-page .dsp-winchrome{display:flex;align-items:center;gap:7px;padding:11px 14px;border-bottom:1px solid var(--dsp-line)}
.dsec-page .dsp-windot{width:9px;height:9px;border-radius:50%;background:var(--dsp-line)}
.dsec-page .dsp-wintitle{font-size:11.5px;font-weight:500;color:var(--dsp-muted);margin-left:6px}
.dsec-page .dsp-logwrap{overflow-x:auto}
.dsec-page .dsp-log{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}
.dsec-page .dsp-log th{font-size:10px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--dsp-muted);
    text-align:left;padding:10px 14px;border-bottom:1px solid var(--dsp-line);background:var(--dsp-tint)}
.dsec-page .dsp-log td{padding:11px 14px;border-bottom:1px solid var(--dsp-line);color:var(--dsp-muted);vertical-align:top}
.dsec-page .dsp-log tr:last-child td{border-bottom:0}
.dsec-page .dsp-log .t{font-family:var(--dsp-mono);font-size:11.5px;white-space:nowrap}
.dsec-page .dsp-log .u{font-family:var(--dsp-mono);font-size:11.5px;white-space:nowrap}
.dsec-page .dsp-log .q{color:var(--dsp-ink);font-style:italic}
.dsec-page .dsp-log .q .att{font-style:normal;font-family:var(--dsp-mono);font-size:11.5px;color:var(--dsp-red)}
.dsec-page .dsp-log .tool{font-family:var(--dsp-mono);font-size:11px;white-space:nowrap}
.dsec-page .dsp-pill{display:inline-block;font-size:10.5px;font-weight:700;border-radius:999px;padding:3px 10px;white-space:nowrap}
.dsec-page .dsp-pill.ok{color:var(--dsp-green);background:rgba(16,185,129,.12)}
.dsec-page .dsp-pill.no{color:var(--dsp-red);background:rgba(220,38,38,.1)}
.dsec-page .dsp-logcap{text-align:center;font-size:13px;color:var(--dsp-muted);max-width:640px;margin:16px auto 0}
.dsec-page .dsp-logcap b{color:var(--dsp-ink);font-weight:650}
.dsec-page /* ================= ⑥b audit-flow figure (question → logged → Tool Calls) ================= */
  .dsp-au-fig{max-width:780px;margin:0 auto 34px;padding:0}
.dsec-page .dsp-au-fig svg{display:block;width:100%;height:auto}
.dsec-page .dsp-au-panel{fill:var(--dsp-panel);stroke:var(--dsp-line);stroke-width:1}
.dsec-page .dsp-au-card .box{transition:filter .2s ease;filter:drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-au-card:hover .box{filter:brightness(1.03) drop-shadow(0 1px 2px rgba(15,23,42,.10))}
.dsec-page .dsp-au-title{font-size:16px;font-weight:600;fill:var(--dsp-ink)}
.dsec-page .dsp-au-brand{font-size:15px;font-weight:800;letter-spacing:-0.02em}
.dsec-page .dsp-au-sub{font-size:12px;font-weight:400}
.dsec-page .dsp-au-label{font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;fill:var(--dsp-muted)}
.dsec-page .dsp-au-conn{fill:none;stroke:var(--dsp-line);stroke-width:1.5;stroke-linecap:round}
.dsec-page .dsp-au-conn.in{stroke:url(#dspAuConnIn)}
.dsec-page .dsp-au-conn.out{stroke:url(#dspAuConnOut)}
.dsec-page .dsp-au-divider{stroke:var(--dsp-line);stroke-width:1;opacity:.8}
.dsec-page .dsp-au-barmain{fill:var(--dsp-line);opacity:.85}
.dsec-page .dsp-au-bartime{fill:var(--dsp-line);opacity:.5}
.dsec-page .dsp-au-check{fill:none;stroke:var(--dsp-ai);stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.dsec-page .dsp-au-dot{opacity:0;transform-box:fill-box;transform-origin:center}
.dsec-page .dsp-au-pop{opacity:0;fill:none;stroke-width:1.5;transform-box:fill-box;transform-origin:center}
.dsec-page .dsp-au-enter{opacity:0}
@media (prefers-color-scheme: dark){.dsec-page .dsp-au-card .box{filter:drop-shadow(0 1px 2px rgba(0,0,0,.35))}
.dsec-page .dsp-au-card:hover .box{filter:brightness(1.06) drop-shadow(0 1px 2px rgba(0,0,0,.35))}}
@media (prefers-reduced-motion: no-preference){.dsec-page /* one question→log cycle = 1.8s; the log-table timeline runs 3 cycles = 5.4s */
    @keyframes dspAuAsk{0%{transform:translateX(0);opacity:0}
      8%{opacity:1}
      27%{opacity:1}
      33%,100%{transform:translateX(82px);opacity:0}}
@keyframes dspAuPopHub{
      0%,31%{opacity:0;transform:scale(.9)}
      36%{opacity:.55;transform:scale(1.05)}
      52%,100%{opacity:0;transform:scale(1.6)}
    }
@keyframes dspAuLog{
      0%,36%{transform:translateX(0);opacity:0}
      42%{opacity:1}
      62%{opacity:1}
      69%,100%{transform:translateX(82px);opacity:0}
    }
@keyframes dspAuPopTbl{
      0%,66%{opacity:0;transform:scale(.9)}
      71%{opacity:.55;transform:scale(1.05)}
      86%,100%{opacity:0;transform:scale(1.6)}
    }
.dsec-page .dsp-au-dot.ask{animation:dspAuAsk 1.8s ease-in-out infinite}
.dsec-page .dsp-au-dot.log{animation:dspAuLog 1.8s ease-in-out infinite}
.dsec-page .dsp-au-pop.hub{animation:dspAuPopHub 1.8s ease-in-out infinite}
.dsec-page .dsp-au-pop.tbl{animation:dspAuPopTbl 1.8s ease-in-out infinite}
.dsec-page /* rows: three insertions per 5.4s loop; end state mirrors start state so the loop is seamless */
    @keyframes dspAuRowA{0%,23%{transform:translateY(0);opacity:1}
      27.5%,56.3%{transform:translateY(22px);opacity:1}
      60.8%,89.6%{transform:translateY(44px);opacity:1}
      94.2%,100%{transform:translateY(58px);opacity:0}}
@keyframes dspAuRowB{
      0%,23%{transform:translateY(0);opacity:1}
      27.5%,56.3%{transform:translateY(22px);opacity:1}
      60.8%,100%{transform:translateY(36px);opacity:0}
    }
@keyframes dspAuRowC{
      0%,23%{transform:translateY(0);opacity:1}
      27.5%,100%{transform:translateY(14px);opacity:0}
    }
@keyframes dspAuRowD{
      0%,23%{transform:translateY(-14px);opacity:0}
      27.5%,56.3%{transform:translateY(0);opacity:1}
      60.8%,89.6%{transform:translateY(22px);opacity:1}
      94.2%,100%{transform:translateY(44px);opacity:1}
    }
@keyframes dspAuRowE{
      0%,56.3%{transform:translateY(-14px);opacity:0}
      60.8%,89.6%{transform:translateY(0);opacity:1}
      94.2%,100%{transform:translateY(22px);opacity:1}
    }
@keyframes dspAuRowF{
      0%,89.6%{transform:translateY(-14px);opacity:0}
      94.2%,100%{transform:translateY(0);opacity:1}
    }
.dsec-page .dsp-au-rA{animation:dspAuRowA 5.4s ease-in-out infinite}
.dsec-page .dsp-au-rB{animation:dspAuRowB 5.4s ease-in-out infinite}
.dsec-page .dsp-au-rC{animation:dspAuRowC 5.4s ease-in-out infinite}
.dsec-page .dsp-au-rD{animation:dspAuRowD 5.4s ease-in-out infinite}
.dsec-page .dsp-au-rE{animation:dspAuRowE 5.4s ease-in-out infinite}
.dsec-page .dsp-au-rF{animation:dspAuRowF 5.4s ease-in-out infinite}}
.dsec-page .dsp-au-cap{margin:14px auto 0;max-width:560px;text-align:center;font-size:13.5px;line-height:1.5;color:var(--dsp-muted)}
.dsec-page .dsp-au-cap b{color:var(--dsp-ink);font-weight:500}
.dsec-page /* ================= ⑦ honest posture note ================= */
  .dsp-honest{max-width:720px;margin:0 auto;background:var(--dsp-card);border:1.5px solid transparent;
    border-radius:16px;box-shadow:var(--dsp-shadow);padding:34px 36px;text-align:center;
    background:linear-gradient(var(--dsp-card),var(--dsp-card)) padding-box,
               linear-gradient(120deg,#3B82F6,#8B5CF6,#06B6D4) border-box}
.dsec-page .dsp-honest h3{font-size:20px;font-weight:800;letter-spacing:-.02em;margin:0 0 10px}
.dsec-page .dsp-honest p{font-size:14.5px;color:var(--dsp-muted);margin:0 0 8px}
.dsec-page .dsp-honest p b{color:var(--dsp-ink);font-weight:650}
.dsec-page .dsp-honest p:last-child{margin-bottom:0}
.dsec-page /* ================= ⑧ share callout ================= */
  .dsp-share{max-width:640px;margin:0 auto;text-align:center;background:var(--dsp-card);
    border:1px dashed var(--dsp-line);border-radius:16px;padding:32px 30px;box-shadow:var(--dsp-shadow)}
.dsec-page .dsp-share .ico{width:44px;height:44px;border-radius:12px;margin:0 auto 14px;display:flex;
    align-items:center;justify-content:center;background:rgba(139,92,246,.1);border:1px solid rgba(139,92,246,.25)}
.dsec-page .dsp-share .ico svg{stroke:var(--dsp-violet)}
.dsec-page .dsp-share h3{font-size:19px;font-weight:800;letter-spacing:-.01em;margin:0 0 8px}
.dsec-page .dsp-share p{font-size:14px;color:var(--dsp-muted);margin:0 0 18px}
.dsec-page .dsp-share-url{display:block;font-family:var(--dsp-mono);font-size:14px;font-weight:500;color:var(--dsp-blue);
    background:var(--dsp-tint);border:1px solid var(--dsp-line);border-radius:10px;
    padding:12px 16px;word-break:break-all;user-select:all;-webkit-user-select:all}
.dsec-page .dsp-share-hint{font-size:12px;color:var(--dsp-muted);margin:10px 0 0}
.dsec-page /* ================= ⑨ FAQ ================= */
  .dsp-faq{border-top:1px solid var(--dsp-line)}
.dsec-page .dsp-faq details{border-bottom:1px solid var(--dsp-line);padding:4px 0}
.dsec-page .dsp-faq summary{cursor:pointer;font-weight:700;font-size:15.5px;padding:15px 0;list-style:none;
    display:flex;justify-content:space-between;align-items:center;gap:16px}
.dsec-page .dsp-faq summary::-webkit-details-marker{display:none}
.dsec-page .dsp-faq summary::after{content:"+";color:var(--dsp-muted);font-weight:400;font-size:20px;flex-shrink:0}
.dsec-page .dsp-faq details[open] summary::after{content:"–"}
.dsec-page .dsp-faq .a{color:var(--dsp-muted);font-size:14px;padding:0 0 16px;max-width:640px}
.dsec-page .dsp-faq .a b{color:var(--dsp-ink);font-weight:650}
.dsec-page .dsp-faq .a code{font-family:var(--dsp-mono);font-size:12.5px;color:var(--dsp-blue)}
.dsec-page .dsp-faq .a a{color:var(--dsp-blue);font-weight:600;text-decoration:none}
.dsec-page .dsp-faq .a a:hover{text-decoration:underline}
.dsec-page /* ================= ⑩ final CTA band (always dark) ================= */
  .dsp-btn{display:inline-block;border-radius:999px;text-decoration:none;font-weight:700;
    font-size:16.5px;padding:15px 30px;transition:transform .15s,filter .15s,background .15s}
.dsec-page .dsp-btn-primary{color:#fff;background:linear-gradient(120deg,#3B82F6,#8B5CF6 55%,#06B6D4);
    box-shadow:0 8px 24px rgba(89,91,246,.35)}
.dsec-page .dsp-btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}
.dsec-page .dsp-micro{font-size:13px;color:rgba(236,235,243,.62);margin:16px 0 0}
.dsec-page .dsp-micro b{color:rgba(236,235,243,.9);font-weight:650}
.dsec-page .dsp-final{position:relative;background:#0a0e1f;color:#ecebf3;text-align:center;
    padding:84px 22px 72px;overflow:hidden;isolation:isolate}
.dsec-page .dsp-final::before, .dsec-page .dsp-final::after{content:"";position:absolute;border-radius:50%;
    filter:blur(90px);z-index:-1;pointer-events:none}
.dsec-page .dsp-final::before{width:520px;height:520px;left:-160px;bottom:-260px;
    background:radial-gradient(circle,rgba(59,130,246,.3),transparent 70%)}
.dsec-page .dsp-final::after{width:520px;height:520px;right:-160px;top:-260px;
    background:radial-gradient(circle,rgba(139,92,246,.26),transparent 70%)}
.dsec-page .dsp-final .dsp-lockup{font-size:19px;margin-bottom:22px}
.dsec-page .dsp-final h2{font-size:clamp(26px,4.4vw,40px);font-weight:800;letter-spacing:-.025em;
    line-height:1.15;margin:0 0 12px}
.dsec-page .dsp-final p{color:rgba(236,235,243,.75);font-size:16px;max-width:540px;margin:0 auto 28px}
.dsec-page .dsp-final .also{margin-top:26px;font-size:13.5px}
.dsec-page .dsp-final .also a{color:rgba(236,235,243,.75);font-weight:600}
.dsec-page .dsp-final .also a:hover{color:#fff}
.dsec-page /* ================= ⑪ site footer (4 columns + bottom bar, always dark) ================= */
  .dsp-sitefoot{background:#070a17;color:rgba(236,235,243,.6);padding:54px 0 0;font-size:13.5px}
.dsec-page .dsp-sitefoot .dsp-lockup{font-size:17px}
.dsec-page .dsp-foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.15fr;gap:36px 28px;padding-bottom:42px}
@media (max-width:860px){.dsec-page .dsp-foot-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.dsec-page .dsp-foot-grid{grid-template-columns:1fr}}
.dsec-page .dsp-foot-brand p{color:rgba(236,235,243,.55);font-size:13.5px;line-height:1.6;
    margin:12px 0 0;max-width:250px}
.dsec-page .dsp-foot-col h4{font-size:10.5px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;
    color:rgba(236,235,243,.42);margin:4px 0 12px}
.dsec-page .dsp-foot-col a{display:block;color:rgba(236,235,243,.7);font-size:13.5px;font-weight:500;
    text-decoration:none;padding:5px 0;transition:color .15s}
.dsec-page .dsp-foot-col a:hover{color:#fff;text-decoration:underline}
.dsec-page .dsp-foot-bar{display:flex;align-items:center;justify-content:space-between;gap:10px 18px;
    flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.08);padding:18px 0 24px;
    font-size:12.5px;color:rgba(236,235,243,.48)}

/* ============================================================
 * DataAssist-IO — security page: light-black / dark-black bands,
 * gradients flattened to solid blue (or the section's own accent).
 * ========================================================== */
.dsec-page{
  --dsp-ink:#ecebf3; --dsp-muted:#a6a4b2; --dsp-line:#26262f;
  --dsp-bg:#000; --dsp-card:#0e0e15; --dsp-tint:#0a0a10; --dsp-panel:#0c0c13;
  --dsp-blue:#7aadf2; --dsp-violet:#a9a1f2; --dsp-cyan:#5ad4e6; --dsp-green:#5cd0a4;
  --dsp-red:#f27a7a;
  --dsp-data:#7aadf2; --dsp-data-tint:#0f1826;
  --dsp-hub:#a9a1f2;  --dsp-hub-tint:#161428;
  --dsp-ai:#5cd0a4;   --dsp-ai-tint:#0b241d;
  background:#000; color:var(--dsp-ink);
}
.dsec-page > .e-con-inner, .dsec-page{ padding-left:0;padding-right:0;gap:0; }
/* Elementor drives the container flex-gap via its --gap var; that 20px gap
   shows the black container between sections and reads as a black strip
   between two light bands. Zero it so the bands butt together (the 1px
   light borders on each light section give the seam). */
.dsec-page{ --gap:0px !important; gap:0 !important; row-gap:0 !important; }
.dsec-page .elementor-widget:not(:last-child){ margin-bottom:0; }
/* section bands: default = pure black, alt = "light black" lift */
.dsec-page .dsp-sec{ background:#000; }
.dsec-page .dsp-sec.dsp-alt{ background:#0a0a10; border-top:1px solid #1a1a22; border-bottom:1px solid #1a1a22; }
/* hero + final: keep them as the deepest "dark black" band, drop the coloured glows */
.dsec-page .dsp-hero, .dsec-page .dsp-final{ background:#050507; }
.dsec-page .dsp-hero::before, .dsec-page .dsp-hero::after,
.dsec-page .dsp-final::before, .dsec-page .dsp-final::after{ display:none; }
/* headings in the HTML-widget sections inherit the theme's dark heading colour;
   force them back to the page ink so they read on the dark bands. */
.dsec-page h1, .dsec-page h2, .dsec-page h3, .dsec-page h4, .dsec-page h5, .dsec-page h6{ color:var(--dsp-ink) !important; }
/* ---- flatten every gradient to a solid accent ---- */
.dsec-page .dsp-grad{ background:none !important;-webkit-text-fill-color:var(--dsp-blue) !important;color:var(--dsp-blue) !important; }
.dsec-page .dsp-kicker::before, .dsec-page .dsp-kicker::after{ background:var(--dsp-blue); }
.dsec-page .dsp-eyebrow .dot, .dsec-page .dsp-qpill .dot{ background:#7aadf2; }
.dsec-page .dsp-nav a.dsp-nav-start{ background:#3b82f6; box-shadow:0 6px 18px rgba(59,130,246,.32); }
.dsec-page .dsp-final .dsp-btn, .dsec-page .dsp-final a.dsp-cta,
.dsec-page a.dsp-btn-primary{ background:#3b82f6 !important; }

/* Access-control + Audit animation figures lost their .dsec-page prefix in the
   CSS port, so a lower-specificity theme rule left them left-aligned. Re-center
   them (this also centers each figure's inner <figcaption> text). Plus a little
   breathing room under the audit figure before the Tool Calls specimen table. */
.dsec-page .dsp-tx-expose,
.dsec-page .dsp-au-fig { margin-left:auto !important; margin-right:auto !important; }
.dsec-page .dsp-au-fig { margin-bottom:54px !important; }

/* ============================================================
 * WHITE / LIGHT sections — Architecture, The blunt version,
 * Access control, Audit. Re-scope the source LIGHT palette onto
 * each section id; because every text node, card and SVG figure
 * reads the --dsp-* vars, the content + animations adapt to the
 * near-white band automatically (headings flip dark via the
 * var(--dsp-ink) force rule above; accents use var(--dsp-blue)).
 * Bands alternate near-white / white for separation.
 * ========================================================== */
.dsec-page #dsp-architecture,
.dsec-page #dsp-do-never,
.dsec-page #dsp-access,
.dsec-page #dsp-audit{
  --dsp-ink:#1c1b22; --dsp-muted:#6b6a76; --dsp-line:#e2e1ea;
  --dsp-bg:#fafafa; --dsp-card:#ffffff; --dsp-tint:#f4f4fa; --dsp-panel:#fbfbfe;
  --dsp-blue:#3B82F6; --dsp-violet:#8B5CF6; --dsp-cyan:#06B6D4; --dsp-green:#0f9e75;
  --dsp-red:#dc2626;
  --dsp-data:#2f6fd0; --dsp-data-tint:#eaf1fb;
  --dsp-hub:#5b53c9;  --dsp-hub-tint:#f4f3fe;
  --dsp-ai:#0f9e75;   --dsp-ai-tint:#e2f5ee;
  --dsp-shadow:0 1px 2px rgba(15,23,42,.08);
  --dsp-shadow-lift:0 10px 30px rgba(15,23,42,.10);
  color:var(--dsp-ink);
  border-top:1px solid #e6e8ee !important;
  border-bottom:1px solid #e6e8ee !important;
}
/* alternating near-white band shades so the four white sections read apart */
.dsec-page #dsp-architecture,
.dsec-page #dsp-access{ background:#f1f3f7 !important; }
.dsec-page #dsp-do-never,
.dsec-page #dsp-audit{ background:#ffffff !important; }
