/* ============ NUVORA Ingenieur-Prinzip — Blaupause-Sektion (final, T1) ============ */
.lp{background:#0C1329;position:relative;overflow:hidden;padding:74px 0 84px}
.lp::before{content:"";position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(122,150,225,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(122,150,225,.1) 1px,transparent 1px),
    linear-gradient(rgba(122,150,225,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(122,150,225,.05) 1px,transparent 1px);
  background-size:220px 220px,220px 220px,44px 44px,44px 44px;
  mask-image:radial-gradient(85% 80% at 50% 30%,#000 25%,transparent 100%);-webkit-mask-image:radial-gradient(85% 80% at 50% 30%,#000 25%,transparent 100%)}
.lp .wrap{position:relative;z-index:1}
/* Zeichenblatt-Ecken */
.sheetmark{position:absolute;width:26px;height:26px;border:2px solid rgba(140,168,240,.4);pointer-events:none}
.sheetmark.tl{left:22px;top:22px;border-right:0;border-bottom:0}
.sheetmark.tr{right:22px;top:22px;border-left:0;border-bottom:0}
.sheetmark.bl{left:22px;bottom:22px;border-right:0;border-top:0}
.sheetmark.br{right:22px;bottom:22px;border-left:0;border-top:0}
.sheetno{position:absolute;right:34px;top:30px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;letter-spacing:.22em;color:rgba(143,176,255,.5);text-transform:uppercase}
.lp-rail{position:relative;display:grid;grid-template-columns:repeat(4,1fr);margin:26px 0 10px}
.lp-line{position:absolute;left:12.5%;right:12.5%;top:27px;height:0;border-top:2px dashed rgba(143,176,255,.28)}
.lp-line i{position:absolute;left:0;top:-2px;height:2px;width:0;background:linear-gradient(90deg,#3C63D6,#7EA0F5);box-shadow:0 0 16px rgba(110,145,245,.8);transition:width .6s var(--ee)}
.lp-st{position:relative;background:none;border:0;font:inherit;color:inherit;cursor:pointer;text-align:center;padding:0 8px}
.lp-st .ring{position:relative;z-index:1;width:56px;height:56px;border-radius:50%;margin:0 auto;display:grid;place-items:center;
  font-weight:600;font-size:16px;color:#8FA2D8;background:#0C1329;border:2px solid rgba(255,255,255,.18);transition:all .4s var(--eo)}
.lp-st .ring::after{content:"";position:absolute;inset:-8px;border-radius:50%;border:1.5px dashed rgba(143,176,255,0);transition:border-color .4s}
.lp-st.on .ring::after{border-color:rgba(143,176,255,.5);animation:spin 14s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.lp-st b{display:block;margin-top:16px;font-weight:500;font-size:15.5px;color:#8FA2D8;transition:color .3s}
.lp-st span{display:block;font-size:12.5px;color:#5F6FA0;margin-top:3px}
.lp-st:hover:not(.on) .ring{border-color:rgba(255,255,255,.4);color:#C6CFE8}
.lp-st.done .ring{border-color:rgba(110,145,245,.55);color:#9FB6F5}
.lp-st.on .ring{background:linear-gradient(135deg,#3C63D6,#5E85EE);border-color:transparent;color:#fff;transform:scale(1.1);
  box-shadow:0 0 0 7px rgba(90,130,255,.12),0 0 30px rgba(90,130,255,.5)}
.lp-st.on b{color:#fff}
.lp-desc{text-align:center;max-width:62ch;margin:26px auto 34px;color:#AEB8D6;font-size:15.5px;min-height:48px}
/* Verantwortlichen-Zeile: Beschreibung + Signatur-Karte */
.phrow{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch;margin:26px 0 34px}
.phrow .lp-desc{text-align:left;margin:0;max-width:none;align-self:center}
.who2{position:relative;display:flex;gap:18px;align-items:center;background:rgba(255,255,255,0);border-radius:16px;padding:18px 22px;transition:background .5s .5s}
.who2.in{background:rgba(255,255,255,.04)}
.who2 .draw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.who2 .draw rect{x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);rx:15px;fill:none;stroke:rgba(143,176,255,.55);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;pathLength:1}
.who2.in .draw rect{transition:stroke-dashoffset 1s var(--ee);stroke-dashoffset:0}
.who2 .cross{position:absolute;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:rgba(143,176,255,.6);line-height:1;opacity:0;transition:opacity .4s .7s}
.who2.in .cross{opacity:1}
.who2 .cross.c1{left:-5px;top:-7px}
.who2 .cross.c2{right:-5px;bottom:-7px}
.who2 .pic{position:relative;flex:none;width:86px;height:104px;border-radius:12px;overflow:hidden;opacity:0;transition:opacity .5s .35s}
.who2.in .pic{opacity:1}
.who2 .pic img{width:100%;height:100%;object-fit:cover;display:block}
.who2 .pic::after{content:"";position:absolute;inset:0;border-radius:12px;border:1px solid rgba(143,176,255,.4);pointer-events:none}
.who2 .tx{opacity:0;transform:translateY(6px);transition:opacity .5s .45s,transform .5s .45s;min-width:0}
.who2.in .tx{opacity:1;transform:none}
.who2 .kick{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:600;letter-spacing:.22em;color:#8FB0FF;text-transform:uppercase}
.who2 .nm{display:block;font-size:18px;font-weight:600;color:#fff;margin-top:5px;letter-spacing:-.01em}
.who2 .rl{display:block;font-size:12.5px;color:#8FA2D8;margin-top:1px}
.who2 .sz{display:block;font-size:13px;color:#AEB8D6;line-height:1.55;margin-top:9px}
@media(max-width:900px){.phrow{grid-template-columns:1fr;gap:16px}.phrow .lp-desc{text-align:center}}
/* Bemaßung über dem Grid */
.dim{position:relative;height:26px;margin-bottom:18px;opacity:0;transition:opacity .5s .3s}
.dim.in{opacity:1}
.dim::before{content:"";position:absolute;left:0;right:0;top:13px;border-top:1px solid rgba(143,176,255,.45)}
.dim::after{content:"";position:absolute;left:0;top:6px;bottom:5px;border-left:1px solid rgba(143,176,255,.45)}
.dim .r{position:absolute;right:0;top:6px;bottom:5px;border-right:1px solid rgba(143,176,255,.45)}
.dim b{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#0C1329;padding:0 16px;
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10.5px;font-weight:600;letter-spacing:.22em;color:#8FB0FF;text-transform:uppercase;white-space:nowrap}
.lp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));gap:16px}
/* Karten zeichnen sich als Blaupause */
.lp-card{position:relative;text-align:left;background:rgba(255,255,255,0);border:0;border-radius:16px;
  padding:22px 22px 18px;cursor:pointer;font:inherit;color:inherit;transition:background .5s .55s,transform .3s var(--eo),box-shadow .3s}
.lp-card.in{background:rgba(255,255,255,.04)}
.lp-card:hover{transform:translateY(-5px);box-shadow:0 24px 54px -22px rgba(40,70,180,.5)}
.lp-card .draw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible}
.lp-card .draw rect{x:1px;y:1px;width:calc(100% - 2px);height:calc(100% - 2px);rx:15px;fill:none;
  stroke:rgba(143,176,255,.55);stroke-width:1.5;stroke-dasharray:1;stroke-dashoffset:1;pathLength:1}
.lp-card.in .draw rect{transition:stroke-dashoffset 1s var(--ee);stroke-dashoffset:0}
.lp-card .cross{position:absolute;font-family:ui-monospace,Menlo,monospace;font-size:13px;color:rgba(143,176,255,.6);line-height:1;opacity:0;transition:opacity .4s .7s}
.lp-card.in .cross{opacity:1}
.lp-card .cross.c1{left:-5px;top:-7px}
.lp-card .cross.c2{right:-5px;bottom:-7px}
.lp-card .cbody{display:block;opacity:0;transform:translateY(6px);transition:opacity .5s .4s,transform .5s .4s}
.lp-card.in .cbody{opacity:1;transform:none}
.lp-card .code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;font-weight:700;letter-spacing:.12em;color:#8FB0FF}
.lp-card h4{font-size:16.5px;font-weight:500;color:#fff;margin:9px 0 4px;letter-spacing:-.01em}
.lp-card .kz{font-size:13.5px;color:#AAB8D8;line-height:1.5;display:block}
.lp-card .art{display:flex;gap:8px;align-items:flex-start;margin-top:15px;padding-top:13px;border-top:1px dashed rgba(255,255,255,.14);
  font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11.5px;color:#C6D2F0;line-height:1.55}
.lp-card .art::before{content:"→";color:#7EA0F5;font-weight:700;flex:none}
.lp-foot{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:52px;padding-top:30px;border-top:1px solid rgba(255,255,255,.1)}
.lp-foot .num{font-size:64px;font-weight:200;letter-spacing:-.04em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.lp-foot .cl{max-width:40ch;font-size:14.5px;color:#AEB8D6}
.lp-foot .cl b{display:block;color:#fff;font-weight:600;font-size:15px}
.lp-foot .sigs{margin-left:auto;display:grid;gap:9px}
.lp-foot .sig{display:flex;align-items:center;gap:9px;font-size:13px;color:#8FA2D8}
.lp-foot .sig svg{width:16px;height:16px;stroke:#5ec283;fill:none;stroke-width:2.4}
@media(max-width:900px){
  .lp{padding:50px 0 60px}
  .sheetmark,.sheetno{display:none}
  .lp-line{left:13%;right:13%;top:21px}
  .lp-st .ring{width:44px;height:44px;font-size:14px}
  .lp-st b{font-size:12px;margin-top:12px}
  .lp-st span{display:none}
  .lp-grid{grid-template-columns:1fr}
  .lp-foot .num{font-size:48px}
  .lp-foot .sigs{margin-left:0}
}
