/* Диспетчеризация инженерных систем */

body:has(.dp-hero-full){overflow-x:hidden}
.uni-main:has(.dp-hero-full){padding-top:0}
.uni-main:has(.dp-hero-full) .uni-wrap:first-child{padding-top:0}
.uni-main:has(.dp-hero-full) .uni-title{display:none}
.uni-main .uni-wrap > .dp-hero-full{margin-top:0 !important}

.dp-sec{padding:28px 0}
.dp-h2{margin:0 0 12px;font:700 clamp(22px,3vw,32px)/1.2 'VelaSans',system-ui,sans-serif;color:#EEF0F6}
.dp-sub{margin:0 0 22px;max-width:820px;font:400 clamp(14px,1.6vw,17px)/1.6 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.7)}
.dp-btn{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;font:600 16px/1 'VelaSans',system-ui,sans-serif;color:#fff;border:0;padding:16px 28px;border-radius:14px;background:linear-gradient(90deg,#7F6BFF,#5548AA);box-shadow:0 8px 24px rgba(127,107,255,.35);transition:filter .15s ease,transform .15s ease;text-decoration:none}
.dp-btn:hover{filter:brightness(1.08);transform:translateY(-2px)}
.dp-btn--ghost{background:transparent;border:1px solid rgba(255,255,255,.35);box-shadow:none}
.dp-btn--ghost:hover{background:rgba(255,255,255,.08)}
.dp-btn--sm{padding:11px 18px;font-size:14px;border-radius:12px}

/* ——— Hero ——— */
.dp-hero-full{
  position:relative;left:50%;right:50%;width:100vw;margin-left:-50vw;margin-right:-50vw;
  min-height:640px;display:flex;align-items:center;overflow:hidden;color:#eef0f6;
  background:#080a12 url("../images/kv2.jpg") center / cover no-repeat;
}
.dp-hero-bg{
  position:absolute;inset:0;z-index:0;
  background:
    radial-gradient(ellipse at 20% 30%,rgba(127,107,255,.22),transparent 45%),
    radial-gradient(ellipse at 80% 20%,rgba(80,200,180,.08),transparent 40%),
    radial-gradient(ellipse at 70% 80%,rgba(255,120,80,.06),transparent 42%),
    linear-gradient(125deg,rgba(8,10,18,.78) 0%,rgba(16,19,28,.55) 55%,rgba(10,12,20,.72) 100%);
}
.dp-hero-scan{
  position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.5;
  background:linear-gradient(180deg,transparent 0%,rgba(169,154,255,.08) 48%,transparent 52%);
  background-size:100% 220%;
  animation:dpScan 5.5s linear infinite;
}
@keyframes dpScan{0%{background-position:0 -40%}100%{background-position:0 140%}}
.dp-hero-overlay{position:absolute;inset:0;z-index:2;background:linear-gradient(105deg,rgba(8,10,16,.78) 0%,rgba(8,10,16,.35) 52%,transparent 100%)}
.dp-hero-in{position:relative;z-index:3;width:1600px;max-width:88%;margin:0 auto;padding:100px 20px 80px;display:grid;grid-template-columns:1fr 1.05fr;gap:36px;align-items:center}
@media (max-width:980px){.dp-hero-in{grid-template-columns:1fr;padding:96px 20px 64px}}
.dp-hero-kicker{
  display:inline-flex;align-items:center;gap:8px;margin:0 0 16px;padding:7px 12px;border-radius:999px;
  font:600 12px/1 'VelaSans',system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;
  color:#CFC7FF;background:rgba(127,107,255,.16);border:1px solid rgba(127,107,255,.35);
}
.dp-hero-kicker i{
  width:8px;height:8px;border-radius:50%;background:#7DDBA8;
  box-shadow:0 0 0 0 rgba(125,219,168,.7);animation:dpPulse 1.8s ease infinite;
}
@keyframes dpPulse{0%{box-shadow:0 0 0 0 rgba(125,219,168,.65)}70%{box-shadow:0 0 0 10px rgba(125,219,168,0)}100%{box-shadow:0 0 0 0 rgba(125,219,168,0)}}
.dp-hero-title{margin:0 0 18px;max-width:560px;font:600 clamp(28px,4.6vw,46px)/1.12 'VelaSans',system-ui,sans-serif;letter-spacing:-.5px;color:#fff}
.dp-hero-lead{margin:0 0 28px;max-width:520px;font:400 clamp(16px,1.8vw,19px)/1.45 'VelaSans',system-ui,sans-serif;color:#c8c8d2}
.dp-hero-actions{display:flex;flex-wrap:wrap;gap:14px}
.dp-hero-actions .btn{padding:15px 28px !important;min-width:200px;justify-content:center}
@media (max-width:600px){.dp-hero-actions .btn{min-width:0;width:100%}}

/* Hero live panel */
.dp-panel{
  position:relative;border-radius:24px;padding:18px;overflow:hidden;
  background:rgba(14,16,24,.82);border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(16px);box-shadow:0 28px 70px rgba(0,0,0,.45);
}
.dp-panel::before{
  content:"";position:absolute;inset:-40% -20%;pointer-events:none;opacity:.35;
  background:conic-gradient(from 0deg,transparent 0 70%,rgba(127,107,255,.25) 78%,transparent 88%);
  animation:dpSpin 14s linear infinite;
}
@keyframes dpSpin{to{transform:rotate(360deg)}}
.dp-panel-in{position:relative;z-index:1}
.dp-panel-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}
.dp-panel-top strong{font:700 13px/1.2 'VelaSans',system-ui,sans-serif;color:#EEF0F6;letter-spacing:.02em}
.dp-live{
  display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;
  font:700 11px/1 'VelaSans',system-ui,sans-serif;color:#7DDBA8;background:rgba(125,219,168,.12);border:1px solid rgba(125,219,168,.35);
}
.dp-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#7DDBA8;animation:dpBlink 1.2s ease infinite}
@keyframes dpBlink{0%,100%{opacity:1}50%{opacity:.35}}
.dp-clock{font:600 12px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.55);font-variant-numeric:tabular-nums}

.dp-radar{
  position:relative;height:260px;border-radius:18px;overflow:hidden;margin:0 0 12px;
  background:
    radial-gradient(circle at 50% 55%,rgba(127,107,255,.18),transparent 55%),
    linear-gradient(160deg,#12141e,#0c0e16);
  border:1px solid rgba(255,255,255,.08);
}
.dp-radar-grid{
  position:absolute;inset:0;opacity:.4;pointer-events:none;
  background-image:
    linear-gradient(rgba(169,154,255,.1) 1px,transparent 1px),
    linear-gradient(90deg,rgba(169,154,255,.1) 1px,transparent 1px);
  background-size:28px 28px;
}
.dp-radar-sweep{
  position:absolute;left:50%;top:55%;width:140%;height:140%;transform:translate(-50%,-50%);
  background:conic-gradient(from 0deg,transparent 0deg,rgba 300deg,rgba(127,107,255,.22) 360deg);
  animation:dpSpin 4.5s linear infinite;pointer-events:none;opacity:.7;
  mask-image:radial-gradient(circle,transparent 8%,#000 9%,#000 48%,transparent 49%);
}
.dp-hub{
  position:absolute;left:50%;top:55%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;display:grid;place-items:center;z-index:3;
  background:linear-gradient(145deg,#7F6BFF,#5548AA);color:#fff;
  font:800 11px/1 'VelaSans',system-ui,sans-serif;letter-spacing:.04em;
  box-shadow:0 0 0 0 rgba(127,107,255,.55),0 0 40px rgba(127,107,255,.45);
  animation:dpHub 2.4s ease-in-out infinite;
}
@keyframes dpHub{
  0%,100%{box-shadow:0 0 0 0 rgba(127,107,255,.5),0 0 36px rgba(127,107,255,.4)}
  50%{box-shadow:0 0 0 14px rgba(127,107,255,0),0 0 48px rgba(127,107,255,.55)}
}
.dp-hub span{display:block;text-align:center}
.dp-svg{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none}
.dp-svg path{
  fill:none;stroke:rgba(169,154,255,.45);stroke-width:1.5;stroke-dasharray:6 8;
  animation:dpDash 2.2s linear infinite;
}
@keyframes dpDash{to{stroke-dashoffset:-28}}
.dp-node{
  position:absolute;z-index:2;display:flex;flex-direction:column;align-items:center;gap:4px;
  transform:translate(-50%,-50%);cursor:default;
}
.dp-node-dot{
  width:14px;height:14px;border-radius:50%;background:#A99AFF;
  box-shadow:0 0 0 4px rgba(169,154,255,.2);transition:background .3s ease,box-shadow .3s ease,transform .3s ease;
  animation:dpNodeFloat 3.2s ease-in-out infinite;
}
.dp-node:nth-child(odd) .dp-node-dot{animation-delay:.4s}
.dp-node:nth-child(3n) .dp-node-dot{animation-delay:.9s}
@keyframes dpNodeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.dp-node strong{
  font:600 10px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.85);
  padding:4px 8px;border-radius:8px;background:rgba(10,12,18,.75);border:1px solid rgba(255,255,255,.1);
  white-space:nowrap;
}
.dp-node.is-ok .dp-node-dot{background:#7DDBA8;box-shadow:0 0 0 4px rgba(125,219,168,.22)}
.dp-node.is-warn .dp-node-dot{background:#FFB86B;box-shadow:0 0 0 4px rgba(255,184,107,.25);animation:dpNodeWarn .9s ease infinite}
.dp-node.is-alert .dp-node-dot{background:#FF6B7A;box-shadow:0 0 0 5px rgba(255,107,122,.3);animation:dpNodeWarn .55s ease infinite}
@keyframes dpNodeWarn{0%,100%{transform:scale(1)}50%{transform:scale(1.25)}}

.dp-node--heat{left:18%;top:28%}
.dp-node--vent{left:82%;top:26%}
.dp-node--water{left:14%;top:72%}
.dp-node--power{left:86%;top:70%}
.dp-node--lock{left:50%;top:16%}

.dp-chips{display:flex;flex-wrap:wrap;gap:8px}
.dp-chip{
  display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:12px;
  font:600 11px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.8);
  background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);
  animation:dpChipIn .6s ease both;
}
.dp-chip:nth-child(2){animation-delay:.1s}
.dp-chip:nth-child(3){animation-delay:.2s}
.dp-chip:nth-child(4){animation-delay:.3s}
@keyframes dpChipIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.dp-chip b{color:#CFC7FF;font-variant-numeric:tabular-nums}
.dp-chip--up b{color:#7DDBA8}
.dp-chip--down b{color:#FFB86B}

/* Stats */
.dp-sec--stats{position:relative;z-index:5;margin-top:-48px;padding-top:0;padding-bottom:8px}
@media (max-width:600px){.dp-sec--stats{margin-top:-28px}}
.dp-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:0;padding:22px;border-radius:20px;background:linear-gradient(135deg,rgba(20,22,32,.94),rgba(18,16,28,.9));border:1px solid rgba(127,107,255,.28);backdrop-filter:blur(12px);box-shadow:0 16px 40px rgba(0,0,0,.35)}
.dp-stat{text-align:center;padding:8px;border-radius:14px;transition:transform .25s ease,background .25s ease}
.dp-stat:hover{transform:translateY(-4px);background:rgba(255,255,255,.05)}
.dp-stat-num{font:800 clamp(26px,3.6vw,42px)/1 'VelaSans',system-ui,sans-serif;background:linear-gradient(90deg,#CFC7FF,#7F6BFF);-webkit-background-clip:text;background-clip:text;color:transparent}
.dp-stat-label{margin:8px 0 0;font:500 13px/1.4 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.72)}
@media (max-width:760px){.dp-stats{grid-template-columns:1fr 1fr}}

/* Demo */
.dp-demo{display:grid;grid-template-columns:1.2fr .8fr;gap:22px;align-items:stretch}
@media (max-width:980px){.dp-demo{grid-template-columns:1fr}}
.dp-stage{
  position:relative;overflow:hidden;border-radius:22px;padding:20px;min-height:480px;
  display:flex;flex-direction:column;gap:14px;
  background:linear-gradient(165deg,#141621,#0e1018 55%,#12141c);
  border:1px solid rgba(255,255,255,.1);
  transition:border-color .35s ease,box-shadow .35s ease;
}
.dp-stage[data-mode="alarm"]{border-color:rgba(255,107,122,.45);box-shadow:0 0 40px rgba(255,107,122,.12)}
.dp-stage[data-mode="peak"]{border-color:rgba(255,184,107,.4);box-shadow:0 0 40px rgba(255,184,107,.1)}
.dp-stage-flash{
  position:absolute;inset:0;pointer-events:none;opacity:0;z-index:0;
  background:radial-gradient(ellipse at 50% 30%,rgba(255,107,122,.2),transparent 60%);
  transition:opacity .4s ease;
}
.dp-stage[data-mode="alarm"] .dp-stage-flash{opacity:1;animation:dpFlash 1.4s ease infinite}
@keyframes dpFlash{0%,100%{opacity:.55}50%{opacity:1}}

.dp-stage-top{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dp-status-pill{
  display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;
  font:700 12px/1 'VelaSans',system-ui,sans-serif;color:#7DDBA8;
  background:rgba(125,219,168,.12);border:1px solid rgba(125,219,168,.35);
  transition:color .3s ease,background .3s ease,border-color .3s ease;
}
.dp-status-pill::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;animation:dpBlink 1.4s ease infinite}
.dp-stage[data-mode="alarm"] .dp-status-pill{color:#FF6B7A;background:rgba(255,107,122,.12);border-color:rgba(255,107,122,.4)}
.dp-stage[data-mode="peak"] .dp-status-pill{color:#FFB86B;background:rgba(255,184,107,.12);border-color:rgba(255,184,107,.4)}
.dp-stage[data-mode="night"] .dp-status-pill{color:#A99AFF;background:rgba(127,107,255,.14);border-color:rgba(127,107,255,.35)}
.dp-stage-meta{font:500 12px/1.3 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.55)}

.dp-board{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:14px;flex:1}
@media (max-width:720px){.dp-board{grid-template-columns:1fr}}

.dp-schematic{
  position:relative;border-radius:18px;min-height:280px;overflow:hidden;
  background:
    radial-gradient(ellipse at 50% 40%,rgba(127,107,255,.12),transparent 55%),
    linear-gradient(160deg,#181a24,#101218);
  border:1px solid rgba(255,255,255,.08);
}
.dp-floor{
  position:absolute;left:12%;right:12%;top:18%;bottom:14%;
  border:1px solid rgba(255,255,255,.12);border-radius:12px;
  background:rgba(255,255,255,.02);
}
.dp-floor::before,.dp-floor::after{
  content:"";position:absolute;background:rgba(255,255,255,.08);
}
.dp-floor::before{left:38%;top:0;bottom:0;width:1px}
.dp-floor::after{left:0;right:0;top:48%;height:1px}
.dp-sys{
  position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;
  transform:translate(-50%,-50%);transition:transform .35s ease;
}
.dp-sys:hover{transform:translate(-50%,-50%) scale(1.06)}
.dp-sys-ring{
  width:52px;height:52px;border-radius:50%;display:grid;place-items:center;
  background:rgba(20,22,32,.9);border:2px solid rgba(169,154,255,.35);
  position:relative;transition:border-color .35s ease,box-shadow .35s ease;
}
.dp-sys-ring::before{
  content:"";position:absolute;inset:-5px;border-radius:50%;
  border:1px solid rgba(169,154,255,.2);
  animation:dpRing 2.8s ease-in-out infinite;
}
@keyframes dpRing{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.12);opacity:1}}
.dp-sys.is-ok .dp-sys-ring{border-color:rgba(125,219,168,.55);box-shadow:0 0 20px rgba(125,219,168,.15)}
.dp-sys.is-warn .dp-sys-ring{border-color:rgba(255,184,107,.6);box-shadow:0 0 22px rgba(255,184,107,.2)}
.dp-sys.is-alert .dp-sys-ring{border-color:rgba(255,107,122,.7);box-shadow:0 0 26px rgba(255,107,122,.25);animation:dpShake .5s ease}
@keyframes dpShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-2px)}75%{transform:translateX(2px)}}
.dp-sys-ring svg{width:22px;height:22px;color:#CFC7FF}
.dp-sys.is-ok .dp-sys-ring svg{color:#7DDBA8}
.dp-sys.is-warn .dp-sys-ring svg{color:#FFB86B}
.dp-sys.is-alert .dp-sys-ring svg{color:#FF6B7A}
.dp-sys strong{font:600 11px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.85);text-shadow:0 2px 8px #000}
.dp-sys small{font:500 10px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.5);font-variant-numeric:tabular-nums}
.dp-sys--heat{left:28%;top:30%}
.dp-sys--vent{left:72%;top:30%}
.dp-sys--water{left:28%;top:72%}
.dp-sys--power{left:72%;top:72%}
.dp-sys--core{left:50%;top:50%}
.dp-sys--core .dp-sys-ring{
  width:60px;height:60px;background:linear-gradient(145deg,rgba(127,107,255,.35),rgba(85,72,170,.2));
  border-color:rgba(169,154,255,.6);
}

.dp-flow{
  position:absolute;inset:0;pointer-events:none;z-index:0;
}
.dp-flow path{
  fill:none;stroke:rgba(125,219,168,.35);stroke-width:2;stroke-dasharray:5 10;
  animation:dpDash 1.6s linear infinite;
}
.dp-stage[data-mode="alarm"] .dp-flow path{stroke:rgba(255,107,122,.45)}
.dp-stage[data-mode="peak"] .dp-flow path{stroke:rgba(255,184,107,.4)}
.dp-stage[data-mode="night"] .dp-flow path{stroke:rgba(169,154,255,.4);animation-duration:3s}

.dp-side{display:flex;flex-direction:column;gap:12px}
.dp-gauges{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.dp-gauge{
  border-radius:16px;padding:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
}
.dp-gauge small{display:block;font:500 11px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.5);margin:0 0 8px}
.dp-gauge strong{display:block;font:800 22px/1 'VelaSans',system-ui,sans-serif;color:#EEF0F6;font-variant-numeric:tabular-nums}
.dp-gauge strong span{font-size:13px;font-weight:600;color:rgba(238,240,246,.5);margin-left:4px}
.dp-bar{
  margin-top:10px;height:6px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;
}
.dp-bar i{
  display:block;height:100%;width:var(--w,40%);border-radius:999px;
  background:linear-gradient(90deg,#7F6BFF,#A99AFF);
  transition:width .7s cubic-bezier(.22,1,.36,1);
  box-shadow:0 0 12px rgba(127,107,255,.4);
}
.dp-stage[data-mode="alarm"] .dp-gauge--water .dp-bar i{background:linear-gradient(90deg,#FF6B7A,#FFB86B)}
.dp-stage[data-mode="peak"] .dp-gauge--power .dp-bar i{background:linear-gradient(90deg,#FFB86B,#FF8A5B)}

.dp-feed{
  flex:1;border-radius:16px;padding:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  display:flex;flex-direction:column;min-height:160px;overflow:hidden;
}
.dp-feed-title{font:700 12px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.7);margin:0 0 10px;letter-spacing:.04em;text-transform:uppercase}
.dp-feed-list{display:flex;flex-direction:column;gap:8px;overflow:hidden}
.dp-feed-item{
  display:grid;grid-template-columns:52px 1fr;gap:8px;padding:8px 10px;border-radius:12px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);
  animation:dpFeedIn .45s ease both;
}
@keyframes dpFeedIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:none}}
.dp-feed-item b{font:700 11px/1.3 'VelaSans',system-ui,sans-serif;color:#A99AFF;font-variant-numeric:tabular-nums}
.dp-feed-item span{font:500 12px/1.35 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.78)}
.dp-feed-item.is-alert{border-color:rgba(255,107,122,.35);background:rgba(255,107,122,.08)}
.dp-feed-item.is-alert b{color:#FF6B7A}
.dp-feed-item.is-warn{border-color:rgba(255,184,107,.3);background:rgba(255,184,107,.08)}
.dp-feed-item.is-warn b{color:#FFB86B}

.dp-actions{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (max-width:560px){.dp-actions{grid-template-columns:1fr 1fr}}
.dp-act{
  padding:12px 10px;border-radius:14px;text-align:center;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  font:600 12px/1.2 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.45);
  transition:all .35s ease;
}
.dp-act small{display:block;margin-top:4px;font:500 10px/1 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.4)}
.dp-act.is-on{color:#EEF0F6;border-color:rgba(169,154,255,.45);background:rgba(127,107,255,.16);box-shadow:0 0 20px rgba(127,107,255,.12)}
.dp-act.is-on small{color:#CFC7FF}
.dp-act.is-fire{color:#fff;border-color:rgba(255,107,122,.5);background:rgba(255,107,122,.2);animation:dpPulseAct 1s ease infinite}
@keyframes dpPulseAct{0%,100%{transform:scale(1)}50%{transform:scale(1.03)}}

.dp-panel-modes{
  border-radius:22px;padding:22px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.1);
  display:flex;flex-direction:column;gap:12px;
}
.dp-panel-modes h3{margin:0;font:700 20px/1.3 'VelaSans',system-ui,sans-serif;color:#EEF0F6}
.dp-panel-modes > p{margin:0;font:400 14px/1.5 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.65)}
.dp-modes{display:grid;gap:8px}
.dp-mode{
  text-align:left;cursor:pointer;border:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.03);border-radius:14px;padding:13px 14px;color:#eef0f6;
  transition:border-color .2s ease,background .2s ease,transform .2s ease;
}
.dp-mode:hover,.dp-mode.is-act{
  border-color:rgba(169,154,255,.55);background:rgba(127,107,255,.14);transform:translateX(3px);
}
.dp-mode strong{display:block;font:600 14px/1.3 'VelaSans',system-ui,sans-serif;margin:0 0 3px}
.dp-mode span{display:block;font:400 12px/1.4 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.6)}
.dp-explain{
  margin-top:auto;padding:14px;border-radius:14px;
  background:rgba(127,107,255,.1);border:1px solid rgba(127,107,255,.25);
}
.dp-explain h4{margin:0 0 6px;font:700 14px/1.3 'VelaSans',system-ui,sans-serif;color:#CFC7FF}
.dp-explain p{margin:0;font:400 13px/1.5 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.72)}

/* Systems grid */
.dp-systems{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:900px){.dp-systems{grid-template-columns:1fr}}
.dp-system{
  position:relative;overflow:hidden;border-radius:20px;padding:24px 22px;
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);
  transition:transform .25s ease,border-color .25s ease;
}
.dp-system:hover{transform:translateY(-5px);border-color:rgba(127,107,255,.45)}
.dp-system::after{
  content:"";position:absolute;right:-30px;top:-30px;width:110px;height:110px;border-radius:50%;
  background:radial-gradient(circle,rgba(127,107,255,.2),transparent 70%);
  transition:transform .4s ease;
}
.dp-system:hover::after{transform:scale(1.35)}
.dp-system-ic{
  position:relative;z-index:1;width:44px;height:44px;border-radius:14px;margin:0 0 14px;
  display:grid;place-items:center;background:rgba(127,107,255,.16);border:1px solid rgba(127,107,255,.3);color:#CFC7FF;
}
.dp-system-ic svg{width:22px;height:22px}
.dp-system h3{position:relative;z-index:1;margin:0 0 8px;font:700 18px/1.25 'VelaSans',system-ui,sans-serif;color:#EEF0F6}
.dp-system p{position:relative;z-index:1;margin:0;font:400 14px/1.55 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.7)}

/* Response timeline */
.dp-response{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;counter-reset:dpr}
@media (max-width:900px){.dp-response{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.dp-response{grid-template-columns:1fr}}
.dp-step{
  position:relative;border-radius:18px;padding:22px 18px;background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.08);overflow:hidden;
  transition:transform .25s ease,border-color .25s ease;
}
.dp-step:hover{transform:translateY(-4px);border-color:rgba(127,107,255,.45)}
.dp-step::before{
  counter-increment:dpr;content:"0" counter(dpr);display:block;margin:0 0 12px;
  font:800 24px/1 'VelaSans',system-ui,sans-serif;background:linear-gradient(90deg,#CFC7FF,#7F6BFF);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.dp-step h3{margin:0 0 8px;font:700 16px/1.25 'VelaSans',system-ui,sans-serif;color:#EEF0F6}
.dp-step p{margin:0;font:400 13px/1.5 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.7)}
.dp-step-line{
  position:absolute;left:0;right:0;bottom:0;height:3px;
  background:linear-gradient(90deg,transparent,#7F6BFF,transparent);
  background-size:200% 100%;animation:dpLine 2.8s linear infinite;opacity:.6;
}
@keyframes dpLine{to{background-position:-200% 0}}

/* Benefits strip */
.dp-benefits{
  display:grid;grid-template-columns:1.05fr 1fr;gap:22px;align-items:center;
  border-radius:22px;overflow:hidden;padding:0;
}
@media (max-width:860px){.dp-benefits{grid-template-columns:1fr}}
.dp-benefits-visual{
  min-height:320px;border-radius:20px;background:#14151b center/cover no-repeat;position:relative;overflow:hidden;
}
.dp-benefits-visual::after{
  content:"";position:absolute;inset:0;
  background:
    linear-gradient(180deg,rgba(11,12,15,.2),rgba(11,12,15,.75)),
    radial-gradient(ellipse at 30% 40%,rgba(127,107,255,.25),transparent 50%);
}
.dp-benefits-visual .dp-overlay-card{
  position:absolute;z-index:1;left:20px;right:20px;bottom:20px;padding:16px;border-radius:16px;
  background:rgba(12,14,20,.78);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px);
  animation:dpFloatCard 4s ease-in-out infinite;
}
@keyframes dpFloatCard{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
.dp-overlay-card strong{display:block;font:700 14px/1.3 'VelaSans',system-ui,sans-serif;color:#fff;margin:0 0 4px}
.dp-overlay-card span{font:500 12px/1.4 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.7)}
.dp-checks{margin:0;padding:0;list-style:none;display:grid;gap:12px}
.dp-checks li{
  position:relative;padding:14px 16px 14px 44px;border-radius:14px;
  font:400 15px/1.45 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.85);
  background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);
  transition:border-color .2s ease,transform .2s ease;
}
.dp-checks li:hover{border-color:rgba(127,107,255,.4);transform:translateX(4px)}
.dp-checks li::before{
  content:"";position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:14px;height:14px;border-radius:50%;background:#7DDBA8;
  box-shadow:0 0 0 4px rgba(125,219,168,.18);
}

/* Cases */
.dp-cases{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.dp-cases{grid-template-columns:1fr}}
.dp-case{
  position:relative;overflow:hidden;min-height:240px;border-radius:20px;border:0;
  background:#14151b center/cover no-repeat;transition:transform .2s ease;
}
.dp-case::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(11,12,15,.15) 0%,rgba(11,12,15,.55) 40%,rgba(11,12,15,.94) 100%);
}
.dp-case:hover{transform:translateY(-5px)}
.dp-case-body{position:relative;z-index:1;padding:22px;display:flex;flex-direction:column;justify-content:flex-end;height:100%;min-height:240px}
.dp-case-tag{align-self:flex-start;margin:0 0 12px;font:600 11px/1 'VelaSans',system-ui,sans-serif;color:#CFC7FF;background:rgba(127,107,255,.22);border:1px solid rgba(127,107,255,.4);padding:6px 10px;border-radius:999px}
.dp-case h3{margin:0;font:700 18px/1.3 'VelaSans',system-ui,sans-serif;color:#fff}
.dp-case p{margin:8px 0 0;font:400 13px/1.5 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.82)}

/* FAQ */
.dp-faq{display:grid;gap:10px}
.dp-faq details{
  border-radius:16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.1);padding:0 18px;
  transition:border-color .2s ease,background .2s ease;
}
.dp-faq details[open]{border-color:rgba(127,107,255,.4);background:rgba(127,107,255,.08)}
.dp-faq summary{
  cursor:pointer;list-style:none;padding:18px 0;font:700 16px/1.35 'VelaSans',system-ui,sans-serif;color:#EEF0F6;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.dp-faq summary::-webkit-details-marker{display:none}
.dp-faq summary::after{content:"+";font:700 22px/1 'VelaSans',system-ui,sans-serif;color:#A99AFF}
.dp-faq details[open] summary::after{content:"–"}
.dp-faq details p{margin:0 0 18px;font:400 14px/1.6 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.72);max-width:820px}

.dp-cta{
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:32px;
  border-radius:22px;background:linear-gradient(135deg,rgba(127,107,255,.2),rgba(85,72,170,.08));
  border:1px solid rgba(127,107,255,.3);position:relative;overflow:hidden;
}
.dp-cta::before{
  content:"";position:absolute;width:200px;height:200px;border-radius:50%;right:-40px;top:-60px;
  background:radial-gradient(circle,rgba(169,154,255,.25),transparent 70%);
  animation:dpHub 3s ease-in-out infinite;
}
.dp-cta h3{position:relative;margin:0;font:700 clamp(20px,2.6vw,28px)/1.2 'VelaSans',system-ui,sans-serif;color:#EEF0F6}
.dp-cta p{position:relative;margin:8px 0 0;max-width:560px;font:400 15px/1.55 'VelaSans',system-ui,sans-serif;color:rgba(238,240,246,.74)}
.dp-cta-btns{position:relative;display:flex;flex-wrap:wrap;gap:12px}
@media (max-width:520px){.dp-cta-btns{width:100%}.dp-cta .dp-btn{width:100%}}

/* Reveal on scroll */
.dp-reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.dp-reveal.is-in{opacity:1;transform:none}
.dp-reveal-delay-1{transition-delay:.1s}
.dp-reveal-delay-2{transition-delay:.2s}
.dp-reveal-delay-3{transition-delay:.3s}

@media (prefers-reduced-motion:reduce){
  .dp-hero-scan,.dp-panel::before,.dp-radar-sweep,.dp-hub,.dp-svg path,.dp-node-dot,
  .dp-live::before,.dp-status-pill::before,.dp-sys-ring::before,.dp-flow path,
  .dp-act.is-fire,.dp-step-line,.dp-benefits-visual .dp-overlay-card,.dp-cta::before,
  .dp-scan,.dp-stage-flash{animation:none !important}
  .dp-reveal{opacity:1;transform:none;transition:none}
}
