/* software.css — die Seite „Software“ (software.html, en/software.html) */
/* ── Software-Seite ─────────────────────────────────────── */
.sw-hero{padding:calc(var(--nav-h) + 48px) 0 40px;position:relative;overflow:hidden;text-align:center}
.sw-hero::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(79,156,249,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(79,156,249,.04) 1px,transparent 1px);background-size:64px 64px;mask-image:radial-gradient(ellipse 80% 70% at 50% 30%,black 30%,transparent 100%)}
.sw-hero>.wrap{position:relative}
.sw-hero .lead{max-width:760px;margin:22px auto 32px}
.sw-ctas{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}

.sw-frame{position:relative;border-radius:16px;overflow:hidden;background:#06090f;border:1px solid rgba(79,156,249,.22);box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 60px rgba(79,156,249,.08)}
.sw-frame-bar{display:flex;align-items:center;gap:7px;padding:10px 14px;border-bottom:1px solid var(--bd);background:rgba(9,13,24,.9)}
.sw-frame-bar i{width:9px;height:9px;border-radius:50%;background:#1c2d42;display:block}
.sw-frame-bar span{margin-left:8px;font:700 10px var(--MON);letter-spacing:.12em;text-transform:uppercase;color:var(--t3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-frame img{width:100%;height:auto;display:block;background:#06090f}
.sw-cap{font:12.5px/1.6 var(--SAN);color:var(--t3);margin-top:12px}

.sw-hero-media{max-width:1180px;margin:52px auto 0}
.sw-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.sw-chip{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:var(--s2);border:1px solid var(--bd);text-align:left;transition:border-color .3s,background .3s}
.sw-chip b{font:700 12px var(--MON);color:var(--t3);width:26px;height:26px;border-radius:50%;border:1px solid var(--bd);display:grid;place-items:center;flex-shrink:0;transition:all .3s}
.sw-chip span{font:600 13px/1.35 var(--SAN);color:var(--t2)}
.sw-chip.on{border-color:rgba(79,156,249,.45);background:rgba(79,156,249,.08)}
.sw-chip.on b{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 0 16px rgba(79,156,249,.5)}
.sw-chip.on span{color:var(--t1)}

/* vorher / nachher */
.sw-vs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}
.sw-vs-col{border-radius:20px;padding:30px;border:1px solid var(--bd);background:var(--s2)}
.sw-vs-col.good{border-color:rgba(79,156,249,.32);background:linear-gradient(160deg,rgba(79,156,249,.09),var(--s2) 60%)}
.sw-vs-h{font:700 11px var(--MON);letter-spacing:.14em;text-transform:uppercase;color:var(--t3);margin-bottom:20px}
.sw-vs-col.good .sw-vs-h{color:var(--blue)}
.sw-chain{display:flex;flex-direction:column;gap:0}
.sw-link{display:flex;gap:14px;align-items:flex-start;padding:13px 16px;border-radius:12px;background:var(--s3);border:1px solid var(--bd)}
.sw-link .ic{flex-shrink:0;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font:700 13px var(--SAN)}
.sw-link.bad .ic{background:rgba(239,68,68,.12);color:var(--red)}
.sw-link.ok .ic{background:rgba(34,197,94,.14);color:var(--green)}
.sw-link h4{font:600 15px var(--SAN);color:var(--t1)}
.sw-link p{font:13.5px/1.55 var(--SAN);color:var(--t2);margin-top:3px}
.sw-arrow{width:1px;height:14px;margin-left:28px;background:rgba(255,255,255,.12)}
.sw-vs-col.good .sw-link{background:rgba(9,16,31,.8);border-color:rgba(79,156,249,.2)}
.sw-vs-col.good .sw-arrow{background:rgba(79,156,249,.5)}
.sw-vs-note{font:13.5px/1.6 var(--SAN);color:var(--t2);margin-top:18px}

/* schritte */
.sw-step{display:grid;grid-template-columns:1fr 1.25fr;gap:56px;align-items:center;padding:56px 0;border-top:1px solid var(--bd)}
.sw-step.flip{grid-template-columns:1.25fr 1fr}
.sw-step.flip .sw-step-media{order:-1}
.sw-step-n{font-family:var(--DIS);font-size:76px;line-height:.9;color:transparent;-webkit-text-stroke:1px rgba(79,156,249,.55);letter-spacing:.04em}
.sw-step h3{font-family:var(--DIS);font-size:clamp(34px,4vw,52px);line-height:.95;letter-spacing:.03em;margin:8px 0 14px}
.sw-step-txt>p{color:var(--t2);font-size:16px;line-height:1.7;margin-bottom:18px}
.sw-list{list-style:none;display:flex;flex-direction:column;gap:9px}
.sw-list li{display:flex;gap:10px;font:14.5px/1.55 var(--SAN);color:var(--t2)}
.sw-list li::before{content:'';flex-shrink:0;width:7px;height:7px;margin-top:8px;border-radius:2px;background:var(--blue);box-shadow:0 0 8px rgba(79,156,249,.6)}
.sw-list strong{color:var(--t1);font-weight:600}
.sw-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.sw-tab{padding:8px 14px;border-radius:999px;border:1px solid var(--bd);background:transparent;color:var(--t2);font:600 13px var(--SAN);transition:all .2s}
.sw-tab:hover{color:var(--t1);border-color:rgba(79,156,249,.3)}
.sw-tab.on{background:rgba(79,156,249,.14);border-color:rgba(79,156,249,.45);color:var(--t1)}
.sw-stack{position:relative}
.sw-inset{position:absolute;right:-14px;bottom:-26px;width:52%;border-radius:12px;overflow:hidden;border:1px solid rgba(34,197,94,.35);box-shadow:0 18px 50px rgba(0,0,0,.7)}
.sw-inset img{width:100%;height:auto;display:block}

/* mitdenken */
.sw-safe{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:start;margin-top:48px}
.sw-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sw-card{background:var(--s2);border:1px solid var(--bd);border-radius:16px;padding:22px}
.sw-card .em{font-size:24px;display:block;margin-bottom:10px}
.sw-card h4{font:700 16px var(--SAN);color:var(--t1);margin-bottom:6px}
.sw-card p{font:13.5px/1.65 var(--SAN);color:var(--t2)}
.sw-light{display:flex;gap:8px;margin:2px 0 16px}
.sw-light span{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;font:700 11px var(--MON);letter-spacing:.06em;border:1px solid var(--bd);background:var(--s3);color:var(--t2)}
.sw-light span::before{content:'';width:8px;height:8px;border-radius:50%}
.sw-light .g::before{background:var(--green);box-shadow:0 0 8px var(--green)}
.sw-light .y::before{background:var(--amber);box-shadow:0 0 8px var(--amber)}
.sw-light .r::before{background:var(--red);box-shadow:0 0 8px var(--red)}

/* hilfe */
.sw-help{display:grid;grid-template-columns:1.3fr 1fr;gap:48px;align-items:start;margin-top:48px}

/* ökosystem */
.eco{display:grid;grid-template-columns:1fr 150px 1fr;gap:0;align-items:stretch;margin-top:48px}
.eco-side{border-radius:20px;padding:24px;background:var(--s2);border:1px solid rgba(79,156,249,.22)}
.eco-head{display:flex;flex-direction:column;gap:3px;margin-bottom:16px}
.eco-head b{font-family:var(--DIS);font-size:30px;letter-spacing:.05em;color:var(--t1)}
.eco-head span{font:700 10px var(--MON);letter-spacing:.12em;text-transform:uppercase;color:var(--blue)}
.eco-mods{display:flex;flex-wrap:wrap;gap:8px}
.eco-mod{padding:10px 14px;border-radius:10px;border:1px solid var(--bd);background:var(--s3);color:var(--t2);font:600 13.5px var(--SAN);transition:all .2s}
.eco-mod:hover{color:var(--t1);border-color:rgba(79,156,249,.35)}
.eco-mod.on{color:#fff;background:var(--blue);border-color:var(--blue);box-shadow:0 0 22px rgba(79,156,249,.4)}
.eco-shot{margin-top:16px;border-radius:12px;overflow:hidden;border:1px solid var(--bd);aspect-ratio:16/9;background:#06090f}
.eco-shot img{width:100%;height:100%;display:block;object-fit:cover;object-position:left top;transition:opacity .25s}
.eco-shot img.swap{opacity:.25}
.eco-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 10px;text-align:center}
.eco-link .line{width:100%;height:2px;background:linear-gradient(90deg,rgba(79,156,249,.1),var(--blue),rgba(79,156,249,.1));position:relative;overflow:hidden}
.eco-link .line::after{content:'';position:absolute;top:-2px;left:-30%;width:30%;height:6px;border-radius:3px;background:#fff;box-shadow:0 0 12px var(--blue);animation:ecoRun 2.4s linear infinite}
@keyframes ecoRun{to{left:100%}}
.eco-link span{font:700 10px var(--MON);letter-spacing:.1em;text-transform:uppercase;color:var(--blue)}
.eco-info{grid-column:1 / -1;margin-top:14px;border-radius:16px;padding:20px 24px;background:var(--s3);border:1px solid var(--bd);min-height:96px}
.eco-info h4{font:700 16px var(--SAN);color:var(--t1);margin-bottom:5px}
.eco-info p{font:14.5px/1.65 var(--SAN);color:var(--t2)}
.eco-dude{grid-column:1 / -1;margin-top:12px;display:flex;align-items:center;gap:14px;padding:14px 20px;border-radius:14px;border:1px dashed rgba(245,158,11,.35);background:rgba(245,158,11,.05);font:14px/1.5 var(--SAN);color:var(--t2)}
.eco-dude b{color:var(--amber)}

/* kosten */
.sw-price{display:grid;grid-template-columns:1.3fr 1fr;gap:14px;margin-top:40px}
.sw-price-card{border-radius:20px;padding:28px;background:var(--s2);border:1px solid var(--bd);display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.sw-price-card.main{border-color:rgba(79,156,249,.4);background:linear-gradient(150deg,rgba(79,156,249,.1),var(--s2) 65%)}
.sw-price-tag{font:700 10px var(--MON);letter-spacing:.14em;text-transform:uppercase;color:var(--blue)}
.sw-price-val{font-family:var(--DIS);font-size:clamp(44px,5vw,64px);line-height:1;letter-spacing:.02em;color:var(--t1);margin-top:6px}
.sw-price-val small{font:600 15px var(--SAN);color:var(--t2);letter-spacing:0}
.sw-price-sub{font:13px/1.5 var(--MON);color:var(--t2);margin-bottom:12px}
.sw-price-card .sw-list{margin-bottom:18px}
.sw-price-card p{font:14.5px/1.65 var(--SAN);color:var(--t2);margin-bottom:18px}
.sw-price-card .btn{margin-top:auto}
.sw-cost{margin-top:44px;border:1px solid var(--bd);border-radius:20px;overflow:hidden}
.sw-cost-row{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--bd)}
.sw-cost-row:first-child{border-top:none;background:var(--s3)}
.sw-cost-row>div{padding:16px 22px;font:14.5px/1.55 var(--SAN);color:var(--t2)}
.sw-cost-row>div+div{border-left:1px solid var(--bd);color:var(--t1);background:rgba(79,156,249,.04)}
.sw-cost-row:first-child>div{font:700 10px var(--MON);letter-spacing:.12em;text-transform:uppercase;color:var(--t3)}
.sw-cost-row:first-child>div+div{color:var(--blue)}
.sw-cost-row .x{color:var(--red);margin-right:8px}
.sw-cost-row .v{color:var(--green);margin-right:8px}

.sw-who{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:44px}
.sw-retro{display:flex;align-items:center;gap:20px;margin-top:14px;padding:22px 26px;border-radius:20px;border:1px solid rgba(79,156,249,.32);background:linear-gradient(120deg,rgba(79,156,249,.1),var(--s2) 70%)}
.sw-retro .em{font-size:30px;flex-shrink:0}
.sw-retro h4{font:700 18px var(--SAN);color:var(--t1);margin-bottom:4px}
.sw-retro p{font:14.5px/1.6 var(--SAN);color:var(--t2)}
.sw-retro .btn{margin-left:auto;flex-shrink:0}

@media(max-width:1100px){
  .sw-step,.sw-step.flip{grid-template-columns:1fr;gap:28px}
  .sw-step.flip .sw-step-media{order:0}
  .sw-safe,.sw-help{grid-template-columns:1fr}
  .eco{grid-template-columns:1fr}
  .eco-link{padding:14px 0}
  .eco-link .line{width:2px;height:44px;background:linear-gradient(180deg,rgba(79,156,249,.1),var(--blue),rgba(79,156,249,.1))}
  .eco-link .line::after{left:-2px;top:-30%;width:6px;height:30%;animation-name:ecoRunV}
  @keyframes ecoRunV{to{top:100%}}
  .sw-who{grid-template-columns:1fr}
  .sw-price{grid-template-columns:1fr}
  .sw-retro{flex-direction:column;align-items:flex-start}
  .sw-retro .btn{margin-left:0}
}
@media(max-width:768px){
  .sw-chips{grid-template-columns:1fr 1fr}
  .sw-vs{grid-template-columns:1fr}
  .sw-vs-col{padding:22px}
  .sw-cards{grid-template-columns:1fr}
  .sw-inset{position:static;width:auto;margin-top:12px}
  .sw-step{padding:40px 0}
  .sw-step-n{font-size:60px}
  .sw-cost-row>div{padding:13px 14px;font-size:13.5px}
}
@media(prefers-reduced-motion:reduce){.eco-link .line::after{animation:none}}
