/* NEXUS Impressum V3.0 – Ergänzung zu ../../startseite/assets/style.css
   Akzent: NEXUS-Blau. Signature: Das Firmenschild wird montiert, verschraubt und Zeile für Zeile eingraviert. */
:root{--im-blue:#0A6CF0;--im-blue-light:#5CA3FF;--im-blue-dark:#075BCB;--im-night:#0E1826;--im-ease:var(--ease,cubic-bezier(.2,.7,.2,1))}
.footer a[aria-current="page"]{color:#fff}
.im-eyebrow{color:var(--im-blue-light)}
.im-eyebrow-d{color:var(--im-blue-dark)}
.im-section{padding:clamp(84px,10vw,130px) 0}
.im-section h2{overflow-wrap:break-word;hyphens:auto}
.im-section h2 em{font-style:normal;color:var(--im-blue-dark)}
.im-body{color:var(--schiefer);line-height:1.8;font-size:1.02rem}
.im-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:9%;align-items:end;margin-bottom:48px}
.im-btn{background:linear-gradient(135deg,var(--im-blue-light),var(--im-blue));color:#FFFFFF}
.im-btn:hover{filter:brightness(1.06)}
.im-textlink{display:inline-block;color:#CFE3FF;font-weight:650;padding:8px 0;border-bottom:1.5px solid rgba(92,163,255,.5)}
.im-textlink:hover{color:#fff;border-color:#fff}
.im-link{display:inline-flex;align-items:center;gap:8px;margin-top:26px;font-weight:650;color:var(--im-blue-dark);border-bottom:1.5px solid rgba(7,91,203,.35);padding-bottom:3px}
.im-link svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s var(--im-ease)}
.im-link:hover svg{transform:translate(2px,-2px)}

/* ================= HERO ================= */
.im-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(ellipse at 74% 48%,rgba(10,108,240,.2) 0%,rgba(14,24,38,0) 46%),radial-gradient(ellipse at 95% 100%,#1B2F4A 0%,rgba(14,24,38,0) 55%),linear-gradient(150deg,#0F1B2C,#080F1A)}
.im-crumb{display:flex;flex-wrap:wrap;gap:12px;padding-top:34px;font-size:.9rem;color:#8DA6C3}
.im-crumb a:hover{color:#fff}
.im-crumb [aria-current]{color:#CFE0F5}
.im-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(24px,4vw,60px);align-items:center;padding:24px 0 64px}
.im-hero .eyebrow{animation:imRise .8s var(--im-ease) .1s both}
.im-hero h1{font-size:clamp(2.4rem,4.2vw,4rem);line-height:1.05;letter-spacing:-.04em;margin:6px 0 24px;animation:imRise 1s var(--im-ease) .18s both}
.im-hero h1 em{font-style:normal;display:block;background:linear-gradient(90deg,#DCEAFF,var(--im-blue));-webkit-background-clip:text;background-clip:text;color:transparent}
.im-lead{color:#C9D3DE;font-size:clamp(1.02rem,1.25vw,1.15rem);line-height:1.75;max-width:31em;animation:imRise .9s var(--im-ease) .4s both}
.im-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;margin-top:32px;animation:imRise .9s var(--im-ease) .52s both}
.im-small{margin-top:40px;font-size:.88rem;color:#A5B4C6;animation:imRise .9s var(--im-ease) .64s both}

.im-stage{margin:0;display:grid;justify-items:center;gap:14px;animation:imFade 1s ease .2s both}
.im-wall{position:relative;width:100%;max-width:560px;padding:clamp(22px,4vw,44px) clamp(14px,3vw,30px);border-radius:26px;background:radial-gradient(ellipse at 50% 42%,rgba(92,163,255,.13),rgba(255,255,255,0) 62%),repeating-linear-gradient(0deg,rgba(255,255,255,.018) 0 1px,transparent 1px 58px),repeating-linear-gradient(90deg,rgba(255,255,255,.014) 0 1px,transparent 1px 118px),linear-gradient(160deg,#1A2638,#111A28);border:1px solid rgba(255,255,255,.07);box-shadow:inset 0 1px 0 rgba(255,255,255,.05);perspective:1100px}
.im-plate3d{transform-origin:50% 60%;transform:rotateX(24deg) rotateY(-16deg) translateY(26px) scale(.94);opacity:0;transition:transform 1.1s cubic-bezier(.3,1.25,.45,1),opacity .6s ease;filter:drop-shadow(0 26px 34px rgba(0,0,0,.5)) drop-shadow(0 4px 6px rgba(0,0,0,.35))}
.im-stage.is-mounted .im-plate3d{transform:none;opacity:1}
.im-plate{display:block;width:100%;height:auto;overflow:visible}
.im-plate text{font-family:var(--sans)}
.im-t1{font-size:46px;font-weight:750;letter-spacing:1.5px}
.im-t2{font-size:17px;font-weight:600;letter-spacing:4px}
.im-t3{font-size:27px;font-weight:650}
.im-t4{font-size:16px;font-weight:500}
.im-t5{font-size:21px;font-weight:700;letter-spacing:1px}
.im-hl{fill:#EAF2FE;opacity:.55}
.im-cut{fill:#0D1A2B;opacity:.82}
.im-stylus{fill:#F6F9FE;opacity:0;transition:opacity .2s}
.im-stylus.is-on{opacity:1}
.im-screw{transform-box:fill-box;transform-origin:center;transform:rotate(-300deg);opacity:0;transition:transform .8s cubic-bezier(.2,.8,.2,1) var(--d),opacity .3s var(--d)}
.im-stage.is-screwed .im-screw{transform:none;opacity:1}
.im-sheen{opacity:0}
.im-stage.is-sheen .im-sheen{animation:imSheen 1.5s cubic-bezier(.4,0,.2,1) forwards}
.im-checks{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.im-checks li{display:flex;align-items:center;gap:9px;padding:7px 14px 7px 10px;border-radius:999px;border:1px solid rgba(92,163,255,.2);background:rgba(255,255,255,.03);font-size:.86rem;color:#A9B7C8;transition:border-color .4s,background .4s,color .4s}
.im-dot{width:18px;height:18px;border-radius:50%;border:1.5px solid rgba(92,163,255,.4);display:grid;place-items:center;transition:background .4s,border-color .4s}
.im-checks li.is-set{color:#DCEAFF;border-color:rgba(92,163,255,.55);background:rgba(10,108,240,.12)}
.im-checks li.is-set .im-dot{background:var(--im-blue);border-color:var(--im-blue)}
.im-checks li.is-set .im-dot::after{content:"";width:4px;height:8px;border:solid #FFFFFF;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.im-state{min-height:1.5em;font-weight:600;color:#C7D8EC;text-align:center;font-size:.95rem}
.im-replay{padding:8px 16px;border-radius:999px;border:1px solid rgba(92,163,255,.4);background:transparent;color:#CFE3FF;font-size:.86rem;cursor:pointer;opacity:0;pointer-events:none;transition:opacity .4s,border-color .2s}
.im-stage.is-done .im-replay{opacity:1;pointer-events:auto}
.im-replay:hover{border-color:#fff}

.im-strip{background:rgba(4,10,18,.5);border-top:1px solid rgba(255,255,255,.1)}
.im-strip .container{display:flex;justify-content:space-between;gap:20px;padding:20px 0}
.im-strip span{display:flex;align-items:center;gap:12px;font-size:.95rem;color:#C9D3DE}
.im-strip span::before{content:"";width:8px;height:8px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#EAF2FE,var(--im-blue) 60%,var(--im-blue-dark))}

/* ================= ANGABEN ================= */
.im-facts{background:var(--porzellan,#F3F5F8)}
.im-bento{display:grid;grid-template-columns:1.25fr 1fr 1fr;grid-template-rows:auto auto;gap:18px}
.im-card{position:relative;padding:30px 28px;border-radius:22px;background:#fff;border:1px solid #DCE3EB;box-shadow:0 1px 0 rgba(20,34,58,.03);overflow:hidden;transition:transform .35s var(--im-ease),box-shadow .35s,border-color .35s}
.im-card::before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:linear-gradient(90deg,var(--im-blue-light),var(--im-blue),var(--im-blue-dark));transform:scaleX(0);transform-origin:left;transition:transform .6s var(--im-ease)}
.im-card:hover{transform:translateY(-4px);box-shadow:0 26px 54px rgba(14,34,57,.1);border-color:#C9DBF6}
.im-card:hover::before,.im-card.is-in::before{transform:scaleX(1)}
.im-card-main{grid-row:span 2;background:linear-gradient(165deg,#fff 0%,#F3F7FC 100%)}
.im-card-main h3{font-size:clamp(1.8rem,2.6vw,2.3rem);margin:4px 0 22px;letter-spacing:-.03em}
.im-card:nth-child(4){grid-column:2 / span 2}
.im-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:linear-gradient(150deg,#EAF2FE,#CFE3FF);color:var(--im-blue-dark);margin-bottom:18px}
.im-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.im-k{font-weight:650;color:var(--im-blue-dark);font-size:.95rem}
.im-dl{margin:10px 0 0;display:grid;gap:14px}
.im-dl div{display:grid;gap:2px;padding-top:14px;border-top:1px solid #E1EAF5}
.im-dl div:first-child{border-top:0;padding-top:4px}
.im-dl dt{font-size:.82rem;color:var(--schiefer)}
.im-dl dd{margin:0;font-weight:600;color:var(--tinte);line-height:1.6;overflow-wrap:anywhere}
.im-card:nth-child(4) .im-dl div{padding-top:4px}
.im-mailrow{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.im-mail{border-bottom:1.5px solid rgba(7,91,203,.35)}
.im-mail:hover{color:var(--im-blue-dark)}
.im-copybtn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:999px;border:1px solid #C9DBF6;background:#F6F9FE;color:var(--im-blue-dark);font-size:.78rem;font-weight:650;cursor:pointer;transition:background .2s,border-color .2s}
.im-copybtn svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.im-copybtn:hover{background:#EAF2FE;border-color:var(--im-blue)}
.im-copybtn.is-done{background:var(--im-blue);color:#FFFFFF;border-color:var(--im-blue)}
.im-inline{color:var(--im-blue-dark);border-bottom:1.5px solid rgba(7,91,203,.35)}
.im-todo{display:inline-block;padding:0 8px;margin:2px 0;border:1.5px dashed rgba(7,91,203,.55);border-radius:6px;background:rgba(92,163,255,.14);color:#3C5475;font-weight:550;font-style:italic;line-height:1.55}
.im-dark .im-todo{border-color:rgba(92,163,255,.5);background:rgba(92,163,255,.08);color:#5CA3FF}

/* ================= HINWEISE ================= */
.im-dark{background:radial-gradient(ellipse at 15% 0%,rgba(10,108,240,.12),rgba(14,24,38,0) 55%),var(--im-night);color:#fff}
.im-dark h2 em{color:var(--im-blue-light)}
.im-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.im-notes article{padding:30px 26px;border-radius:22px;background:rgba(255,255,255,.035);border:1px solid rgba(92,163,255,.16);transition:border-color .3s,background .3s}
.im-notes article:hover{border-color:rgba(92,163,255,.45);background:rgba(255,255,255,.055)}
.im-notes h3{font-size:1.3rem;margin:0 0 12px;hyphens:auto}
.im-notes p{color:#BFCBD8;font-size:.97rem;line-height:1.7}
.im-icon-d{background:rgba(10,108,240,.14);color:var(--im-blue-light)}
.im-credit{margin-top:14px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1);font-size:.88rem!important;color:#9FB0C3!important}

/* ================= ABSCHLUSS ================= */
.im-bottom{background:#fff}
.im-bottom-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(40px,8vw,110px);align-items:center}
.im-bottom h2{margin-bottom:22px}
.im-contact{padding:clamp(28px,4vw,42px);border-radius:24px;background:var(--im-night);color:#fff;box-shadow:0 40px 80px rgba(13,26,43,.2)}
.im-contact-k{font-weight:650;color:var(--im-blue-light)}
.im-contact h3{font-size:clamp(1.6rem,2.4vw,2.1rem);margin:12px 0 20px}
.im-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)}
.im-person img{width:56px;height:56px;border-radius:50%;border:2px solid rgba(92,163,255,.75)}
.im-person strong,.im-person span{display:block}
.im-person span{font-size:.88rem;color:#AFBDCD}
.im-contact .btn{width:100%}

/* Einblenden */
.im-reveal{opacity:0;transform:translateY(22px);transition:opacity .8s var(--im-ease),transform .8s var(--im-ease)}
.im-reveal.is-in{opacity:1;transform:none}

@keyframes imRise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes imFade{from{opacity:0}to{opacity:1}}
@keyframes imSheen{0%{opacity:1;transform:skewX(-18deg) translateX(0)}100%{opacity:1;transform:skewX(-18deg) translateX(820px)}}

@media(max-width:1100px){.im-bento{grid-template-columns:1fr 1fr}.im-card-main{grid-row:auto;grid-column:1 / span 2}.im-card:nth-child(4){grid-column:auto}}
@media(max-width:960px){
  .im-grid,.im-head,.im-bottom-grid{grid-template-columns:minmax(0,1fr)}
  .im-head{gap:18px}
  .im-notes{grid-template-columns:1fr}
}
@media(max-width:600px){
  .container{width:calc(100% - 40px)}
  .im-bento{grid-template-columns:1fr}.im-card-main{grid-column:auto}
  .im-hero h1{font-size:2.3rem}
  .im-strip .container{flex-direction:column;gap:8px}
  .im-card,.im-notes article{padding:26px 22px}
}
@media(prefers-reduced-motion:reduce){
  .im-hero *,.im-plate3d,.im-screw,.im-card,.im-card::before,.im-reveal{animation:none!important;transition:none!important}
  .im-plate3d{transform:none;opacity:1}.im-screw{transform:none;opacity:1}.im-reveal{opacity:1;transform:none}
}
