/* NEXUS Datenschutz & Sicherheit V2.9 – Ergänzung zu ../../startseite/assets/style.css
   Signature: der Tresor. Vier Ringe (Daten, Zugriff, Betrieb, Nachweise) rasten nacheinander ein –
   erst dann schließt das Schloss. */
:root{--ds-sky:#7DD3FC;--ds-steel:#C9D6E3;--ds-night:#0B1727;--ds-ok:#35C78A;--ds-ease:var(--ease,cubic-bezier(.2,.7,.2,1))}
.nav-link.is-current{color:#fff;position:relative}
.nav-link.is-current::after{content:"";position:absolute;left:0;right:0;bottom:2px;height:2px;border-radius:2px;background:var(--ds-sky)}
.ds-eyebrow{color:var(--ds-sky)}
.ds-section{padding:clamp(84px,10vw,130px) 0}
.ds-section h2{overflow-wrap:break-word;hyphens:auto}
.ds-section h2 em{color:#1F6FB8}
.ds-body{color:var(--schiefer);line-height:1.8;font-size:1.02rem}
.ds-on-dark{color:#B8C8DA}
.ds-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:9%;align-items:end;margin-bottom:48px}
.ds-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(40px,7vw,96px);align-items:center}
.ds-btn{background:linear-gradient(135deg,#BFE9FF,var(--ds-sky));color:#062238}
.ds-btn:hover{filter:brightness(1.06)}
.ds-textlink{display:inline-block;color:#DDF2FF;font-weight:650;padding:8px 0;border-bottom:1.5px solid rgba(125,211,252,.5)}
.ds-textlink:hover{color:#fff;border-color:#fff}
.ds-link{display:inline-block;margin-top:24px;font-weight:650;color:#1F6FB8;border-bottom:1.5px solid rgba(31,111,184,.35)}

/* ================= HERO ================= */
.ds-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(ellipse at 72% 50%,rgba(125,211,252,.18) 0%,rgba(11,23,39,0) 46%),radial-gradient(ellipse at 90% 100%,#16365A 0%,rgba(11,23,39,0) 55%),linear-gradient(150deg,#0C1828,#08111D)}
.ds-crumb{display:flex;flex-wrap:wrap;gap:12px;padding-top:34px;font-size:.9rem;color:#8DA6C3}
.ds-crumb a:hover{color:#fff}
.ds-crumb [aria-current]{color:#DCE8F6}
.ds-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(24px,4vw,60px);align-items:center;padding:24px 0 64px}
.ds-hero .eyebrow{animation:dsRise .8s var(--ds-ease) .1s both}
.ds-hero h1{font-size:clamp(2.4rem,4vw,3.9rem);line-height:1.06;letter-spacing:-.04em;font-weight:700;margin:6px 0 24px;animation:dsRise 1s var(--ds-ease) .18s both}
.ds-hero h1 em{font-style:normal;background:linear-gradient(90deg,#E8F1FA,var(--ds-sky));-webkit-background-clip:text;background-clip:text;color:transparent}
.ds-lead{color:#C6D2DF;font-size:clamp(1.02rem,1.25vw,1.15rem);line-height:1.75;max-width:33em;animation:dsRise .9s var(--ds-ease) .4s both}
.ds-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;animation:dsRise .9s var(--ds-ease) .52s both}
.ds-small{margin-top:40px;font-size:.88rem;color:#9FB6CF;animation:dsRise .9s var(--ds-ease) .64s both}

.ds-vault{margin:0;display:grid;grid-template-columns:minmax(0,1fr) 190px;grid-template-areas:"stage legend" "state state" "replay replay" "cap cap";gap:10px 24px;align-items:center;animation:dsFade 1s ease .2s both}
.ds-vault-stage{grid-area:stage;position:relative;aspect-ratio:1;max-width:440px;width:100%;justify-self:center}
.ds-vault-svg{width:100%;height:100%;overflow:visible}
.ds-bezel{fill:rgba(255,255,255,.02);stroke:url(#dsSteel);stroke-width:2;opacity:.5}
.ds-ring{transform-box:view-box;transform-origin:220px 220px;transition:transform 1.3s cubic-bezier(.34,1.45,.5,1)}
.ds-ring-seg{fill:none;stroke:rgba(201,214,227,.28);stroke-width:14;stroke-dasharray:14 6;transition:stroke .5s}
.ds-ring[data-ring="1"] .ds-ring-seg{stroke-dasharray:8 5;stroke-width:12}
.ds-ring[data-ring="2"] .ds-ring-seg{stroke-dasharray:18 7;stroke-width:12}
.ds-ring[data-ring="3"] .ds-ring-seg{stroke-dasharray:6 4;stroke-width:10}
.ds-notch{fill:#6F87A3;transition:fill .4s,filter .4s}
.ds-ring.is-set .ds-ring-seg{stroke:rgba(125,211,252,.55)}
.ds-ring.is-set .ds-notch{fill:var(--ds-sky);filter:drop-shadow(0 0 8px var(--ds-sky))}
.ds-axis{stroke:rgba(125,211,252,.35);stroke-width:1.5;stroke-dasharray:3 5}
.ds-core{stroke:rgba(201,214,227,.4);stroke-width:1.5}
.ds-shackle{fill:none;stroke:url(#dsSteel);stroke-width:6;stroke-linecap:round;transform:translateY(-9px) rotate(-12deg);transform-origin:15px -4px;transform-box:view-box;transition:transform .6s cubic-bezier(.34,1.5,.5,1)}
.ds-lockbody{fill:url(#dsSteel)}
.ds-key{fill:#0B1727}
.ds-vault.is-locked .ds-shackle{transform:none}
.ds-vault.is-locked .ds-core{stroke:var(--ds-sky);filter:drop-shadow(0 0 16px rgba(125,211,252,.6))}
.ds-pulse{position:absolute;left:50%;top:50%;width:28%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);border:2px solid var(--ds-sky);opacity:0;pointer-events:none}
.ds-vault.is-locked .ds-pulse{animation:dsPulse 1.6s ease-out 2}
.ds-legend{grid-area:legend;list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ds-legend li{display:grid;grid-template-columns:22px 1fr;gap:0 10px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(201,214,227,.16);transition:border-color .4s,background .4s;cursor:default}
.ds-lg-dot{grid-row:span 2;align-self:center;width:22px;height:22px;border-radius:50%;border:2px solid rgba(201,214,227,.35);display:grid;place-items:center;transition:background .4s,border-color .4s}
.ds-legend li.is-set .ds-lg-dot{background:var(--ds-sky);border-color:var(--ds-sky)}
.ds-legend li.is-set .ds-lg-dot::after{content:"";width:5px;height:9px;border:solid #062238;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.ds-legend li.is-set{border-color:rgba(125,211,252,.5);background:rgba(125,211,252,.08)}
.ds-legend b{font-size:.95rem}
.ds-legend small{font-size:.76rem;color:#9FB6CF}
.ds-vault-state{grid-area:state;text-align:center;font-weight:650;color:#DCE8F6;min-height:1.5em;transition:color .4s}
.ds-vault.is-locked .ds-vault-state{color:var(--ds-sky)}
.ds-replay{grid-area:replay;justify-self:center;padding:8px 16px;border-radius:999px;border:1px solid rgba(125,211,252,.4);background:transparent;color:#DDF2FF;font-size:.86rem;cursor:pointer;opacity:0;transition:opacity .4s,border-color .2s}
.ds-vault.is-locked .ds-replay{opacity:1}
.ds-replay:hover{border-color:#fff}
.ds-vault figcaption{grid-area:cap;text-align:center;font-size:.78rem;color:#7A98B9}
.ds-strip{background:rgba(4,12,22,.5);border-top:1px solid rgba(255,255,255,.1)}
.ds-strip .container{display:flex;justify-content:space-between;gap:20px;padding:20px 0}
.ds-strip span{display:flex;align-items:center;gap:12px;font-size:.95rem;color:#C6D2DF}
.ds-strip span::before{content:"";width:8px;height:8px;border-radius:2px;transform:rotate(45deg);border:1.5px solid var(--ds-sky)}

/* ================= PRÜFPUNKTE ================= */
.ds-points{background:#fff}
.ds-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.ds-cards article{padding:30px 26px;border-radius:20px;background:linear-gradient(170deg,#FBFDFF,#EEF5FB);border:1px solid #D9E7F2;transition:transform .3s var(--ds-ease),box-shadow .3s}
.ds-cards article:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(14,34,57,.1)}
.ds-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid #D2E3F1}
.ds-icon svg{width:24px;height:24px;fill:none;stroke:#1F6FB8;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.ds-k{margin-top:20px;font-size:.86rem;font-weight:650;color:#1F6FB8}
.ds-cards h3{font-size:1.28rem;margin:2px 0 8px}
.ds-cards article>p:not(.ds-k){color:var(--schiefer);font-size:.96rem;line-height:1.65}

/* ================= AKTE ================= */
.ds-lab{background:var(--ds-night);color:#fff;position:relative;overflow:hidden}
.ds-lab::before{content:"";position:absolute;width:900px;height:900px;right:-320px;top:-300px;background:radial-gradient(circle,rgba(125,211,252,.14),transparent 62%);pointer-events:none}
.ds-lab h2 em,.ds-next h2 em{color:var(--ds-sky)}
.ds-file{position:relative;max-width:980px}
.ds-tabs{display:flex;gap:4px;padding-left:18px;position:relative;z-index:1}
.ds-tabs button{padding:12px 20px 14px;border:0;border-radius:14px 14px 0 0;background:#1A2D45;color:#AFC2D6;font-weight:650;cursor:pointer;transform:translateY(6px);transition:background .25s,color .25s,transform .25s var(--ds-ease)}
.ds-tabs button:hover{color:#fff}
.ds-tabs button[aria-pressed="true"]{background:#F4F7FA;color:var(--tinte);transform:none}
.ds-sheet{position:relative;overflow:hidden;padding:clamp(24px,3.5vw,40px);border-radius:0 22px 22px 22px;background:#F4F7FA;color:var(--tinte);box-shadow:0 40px 80px rgba(0,0,0,.35)}
.ds-sheet::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 31px,rgba(31,111,184,.06) 31px 32px);pointer-events:none}
.ds-sheet>*{position:relative}
.ds-sheet-top{display:flex;justify-content:space-between;font-size:.84rem;color:var(--schiefer);font-weight:600}
.ds-sheet h3{font-size:clamp(1.5rem,2.4vw,2rem);margin:14px 0 10px;animation:dsRise .4s var(--ds-ease)}
.ds-sheet>p:not(.ds-sheet-foot){color:var(--schiefer);line-height:1.75;max-width:40em;animation:dsRise .4s var(--ds-ease) .05s both}
.ds-flow{display:flex;align-items:center;gap:14px;margin:24px 0;flex-wrap:wrap}
.ds-flow>span{padding:12px 18px;border-radius:12px;background:#fff;border:1px solid #D2E3F1;font-weight:650}
.ds-flow i{position:relative;flex:1;min-width:60px;height:2px;background:#C6D8EA;overflow:hidden}
.ds-flow i b{position:absolute;top:-2px;left:0;width:30%;height:6px;border-radius:3px;background:linear-gradient(90deg,transparent,#1F6FB8,transparent);animation:dsFlow 1.8s linear infinite}
.ds-question{display:flex;gap:14px;align-items:flex-start;padding:18px;border-radius:14px;background:var(--ds-night);color:#fff}
.ds-q-mark{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:800;background:var(--ds-sky);color:#062238}
.ds-question strong{display:block;font-size:.84rem;color:var(--ds-sky)}
.ds-question span:not(.ds-q-mark){font-size:1.02rem;font-weight:600}
.ds-sheet-foot{margin-top:18px;font-size:.8rem;color:var(--schiefer)}
.ds-stamp{position:absolute;right:28px;top:88px;padding:8px 14px;border:2.5px solid rgba(200,60,60,.55);border-radius:8px;color:rgba(200,60,60,.7);font-weight:800;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;transform:rotate(-8deg);animation:dsStamp .5s cubic-bezier(.34,1.6,.5,1) .15s both}

/* ================= KEINE PAUSCHALVERSPRECHEN ================= */
.ds-paper{background:var(--porzellan,#F3F5F8)}
.ds-paper h2{margin-bottom:22px}
.ds-proof{display:grid;gap:12px}
.ds-proof article{display:grid;grid-template-columns:46px 1fr;gap:16px;align-items:center;padding:18px;border-radius:16px;background:#fff;border:1px solid var(--linie);transition:border-color .25s,transform .3s var(--ds-ease)}
.ds-proof article:hover{border-color:#1F6FB8;transform:translateX(4px)}
.ds-p-ic{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:#EAF4FC}
.ds-p-ic svg{width:22px;height:22px;fill:none;stroke:#1F6FB8;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ds-proof b{display:block}
.ds-proof span{font-size:.93rem;color:var(--schiefer)}

/* ================= CHECKLISTE ================= */
.ds-next{background:var(--ds-night);color:#fff}
.ds-next h2{margin-bottom:22px}
.ds-checks{position:relative;display:grid;gap:10px;padding:26px;border-radius:24px;background:rgba(255,255,255,.04);border:1px solid rgba(125,211,252,.25)}
.ds-checks label{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);cursor:pointer;transition:background .25s,border-color .25s}
.ds-checks label:hover{border-color:rgba(125,211,252,.5)}
.ds-checks input{position:absolute;opacity:0;width:1px;height:1px}
.ds-cb{flex:0 0 24px;height:24px;border-radius:7px;border:2px solid rgba(201,214,227,.45);display:grid;place-items:center;transition:background .25s,border-color .25s}
.ds-cb svg{width:14px;height:14px;fill:none;stroke:#062238;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:0;transform:scale(.4);transition:opacity .2s,transform .3s cubic-bezier(.34,1.6,.5,1)}
.ds-checks input:checked+.ds-cb{background:var(--ds-sky);border-color:var(--ds-sky)}
.ds-checks input:checked+.ds-cb svg{opacity:1;transform:none}
.ds-checks input:focus-visible+.ds-cb{outline:2px solid var(--ds-sky);outline-offset:3px}
.ds-checks label:has(input:checked){background:rgba(125,211,252,.08);border-color:rgba(125,211,252,.4)}
.ds-check-bar{height:8px;margin-top:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden}
.ds-check-bar span{display:block;height:100%;width:0;border-radius:8px;background:linear-gradient(90deg,var(--ds-sky),var(--ds-ok));transition:width .5s var(--ds-ease)}
.ds-check-progress{font-size:.86rem;color:#9FB6CF}
.ds-check-progress strong{color:#fff}
.ds-ready{position:absolute;right:22px;bottom:-18px;padding:10px 16px;border-radius:12px;background:var(--ds-ok);color:#07321F;font-weight:800;font-size:.86rem;box-shadow:0 14px 30px rgba(53,199,138,.35);opacity:0;transform:translateY(10px) scale(.9) rotate(-3deg);transition:opacity .4s,transform .5s cubic-bezier(.34,1.6,.5,1)}
.ds-checks.is-done .ds-ready{opacity:1;transform:rotate(-3deg)}

/* ================= ABSCHLUSS ================= */
.ds-bottom{background:#fff}
.ds-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(40px,8vw,110px);align-items:center}
.ds-bottom h2{margin-bottom:22px}
.ds-card{padding:clamp(28px,4vw,42px);border-radius:24px;background:var(--ds-night);color:#fff;box-shadow:0 40px 80px rgba(13,26,43,.2)}
.ds-card-k{font-weight:650;color:var(--ds-sky)}
.ds-card h3{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:12px 0 20px}
.ds-person{display:flex;align-items:center;gap:14px;padding:18px 0;margin-bottom:20px;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.ds-person img{width:56px;height:56px;border-radius:50%;border:2px solid rgba(125,211,252,.7)}
.ds-person strong,.ds-person span{display:block}
.ds-person span{font-size:.88rem;color:#AFBDCD}
.ds-card .btn{width:100%}

@keyframes dsRise{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes dsFade{from{opacity:0}to{opacity:1}}
@keyframes dsPulse{0%{opacity:.9;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.6)}}
@keyframes dsFlow{from{left:-30%}to{left:100%}}
@keyframes dsStamp{from{opacity:0;transform:rotate(-8deg) scale(1.6)}to{opacity:1;transform:rotate(-8deg) scale(1)}}

@media(max-width:1100px){.ds-vault{grid-template-columns:1fr;grid-template-areas:"stage" "legend" "state" "replay" "cap"}.ds-legend{grid-template-columns:1fr 1fr}}
@media(max-width:960px){
  .ds-grid,.ds-head,.ds-split,.ds-bottom-grid{grid-template-columns:minmax(0,1fr)}
  .ds-head{gap:20px}
  .ds-vault{max-width:560px;width:100%;justify-self:center}
  .ds-cards{grid-template-columns:1fr}
}
@media(max-width:600px){
  .ds-hero h1{font-size:clamp(2.2rem,10vw,3rem)}
  .ds-actions{flex-direction:column;align-items:stretch}
  .ds-actions .btn{width:100%}
  .ds-actions .ds-textlink{align-self:flex-start}
  .ds-legend li{padding:8px 10px}
  .ds-legend small{display:none}
  .ds-strip .container{flex-direction:column;gap:8px}
  .ds-tabs{padding-left:0;overflow-x:auto;scrollbar-width:none}
  .ds-tabs button{white-space:nowrap;padding:10px 14px 12px;font-size:.86rem}
  .ds-sheet{border-radius:0 0 18px 18px}
  .ds-stamp{position:static;display:inline-block;margin-bottom:8px}
}
@media(prefers-reduced-motion:reduce){
  .ds-hero *,.ds-vault{animation:none!important}
  .ds-ring,.ds-shackle{transition:none!important}
  .ds-flow i b{animation:none;left:35%}
}
