/* NEXUS Impressum – Erweiterungen (imx): X-Marke in NEXUS-Blau im Hero, Impressum als Dokument mit Siegel, ruhiges Hinweise-Layout */
:root{--imx-ease:cubic-bezier(.2,.7,.2,1)}

/* ---------- 1) Hero: Text links, X im Hintergrund ---------- */
.im-hero{min-height:0}
.im-grid{grid-template-columns:minmax(0,1fr);padding:40px 0 96px}
.im-copy{max-width:620px;position:relative;z-index:1}
.im-hero h1{font-size:clamp(2.3rem,3.8vw,3.6rem)}
.imx-bg{position:absolute;inset:0;z-index:-1;pointer-events:none;overflow:hidden}
.imx-x{position:absolute;right:max(-40px,calc(50% - 720px));top:50%;height:min(118%,680px);width:auto;aspect-ratio:620/580;transform:translateY(-50%);overflow:visible}
.imx-beam{stroke:url(#imxBeamG);stroke-width:2.2;opacity:0;animation:imxFade 1.6s ease .2s both}
.imx-sh polygon{fill:url(#imxGlass);stroke:rgba(92,163,255,.42);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.imx-slash{fill:url(#imxBlue);opacity:.9}
.imx-glow{fill:#0A6CF0;opacity:.45}
.imx-draw{transform:translateX(-620px);animation:imxDraw 1.5s var(--imx-ease) .35s both}
.imx-sheen{transform:translateX(0);animation:imxSheen 1.6s cubic-bezier(.4,0,.2,1) 2.4s both}
.imx-sh-a{animation:imxInA 1.8s var(--imx-ease) 1.1s both}
.imx-sh-b{animation:imxInB 1.8s var(--imx-ease) 1.1s both}
.imx-pa{animation:imxDriftA 16s ease-in-out 3.4s infinite}
.imx-pb{animation:imxDriftB 16s ease-in-out 3.4s infinite}
.imx-node{fill:#EAF2FE;transform-box:fill-box;transform-origin:center;animation:imxPop .6s var(--imx-ease) 1.8s both}
.imx-ring{fill:none;stroke:#5CA3FF;stroke-width:2;vector-effect:non-scaling-stroke;opacity:0;transform-box:fill-box;transform-origin:center;animation:imxRing 3.6s ease-out 2s infinite}
@keyframes imxFade{from{opacity:0}to{opacity:1}}
@keyframes imxDraw{to{transform:none}}
@keyframes imxSheen{from{transform:translateX(0)}to{transform:translateX(720px)}}
@keyframes imxInA{from{opacity:0;transform:translate(-60px,-60px)}}
@keyframes imxInB{from{opacity:0;transform:translate(60px,60px)}}
@keyframes imxDriftA{50%{transform:translate(-8px,-8px)}}
@keyframes imxDriftB{50%{transform:translate(8px,8px)}}
@keyframes imxPop{from{transform:scale(0)}60%{transform:scale(1.4)}to{transform:scale(1)}}
@keyframes imxRing{0%{opacity:.8;transform:scale(.5)}60%,100%{opacity:0;transform:scale(2.6)}}
/* Text bleibt auf dunklem Grund gut lesbar */
.im-hero::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,rgba(10,18,30,.72) 0%,rgba(10,18,30,.35) 42%,rgba(10,18,30,0) 62%)}

/* ---------- 2) Angaben als Impressum-Dokument ---------- */
.im-facts .im-bento{position:relative;display:block;max-width:980px;margin:0 auto;padding:18px clamp(22px,4vw,54px) 22px;border-radius:24px;background:#fff;border:1px solid #DCE3EB;box-shadow:0 40px 90px rgba(14,34,57,.1),0 2px 0 rgba(20,34,58,.03)}
.im-facts .im-bento::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;border-radius:24px 24px 0 0;background:linear-gradient(90deg,#5CA3FF,#0A6CF0,#075BCB)}
.im-facts .im-card{display:grid;grid-template-columns:46px minmax(0,210px) minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:18px;align-items:start;padding:30px 0;border:0;border-top:1px solid #E1EAF5;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.im-facts .im-card:first-of-type{border-top:0}
.im-facts .im-card::before{display:none}
.im-facts .im-card:hover{transform:none;box-shadow:none}
.im-facts .im-icon{grid-column:1;grid-row:1/span 2;margin:0;width:46px;height:46px}
.im-facts .im-k{grid-column:2;grid-row:1;margin:0;padding-top:2px}
.im-facts .im-card h3{grid-column:2;grid-row:2;font-size:1.55rem;margin:4px 0 0}
.im-facts .im-dl{grid-column:3;grid-row:1/span 3;margin:0;gap:0}
.im-facts .im-dl div{grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:18px;align-items:baseline;padding:11px 0;border-top:1px dashed #E6EDF6}
.im-facts .im-dl div:first-child{border-top:0;padding-top:0}
.im-facts .im-dl dt{font-size:.88rem}
.im-facts .im-card-main{background:transparent}
/* Zeilen erscheinen nacheinander */
.im-facts .im-card.im-reveal{opacity:0;transform:translateY(14px)}
.im-facts .im-card.im-reveal.is-in{opacity:1;transform:none}
/* Siegel */
.imx-seal{position:absolute;right:clamp(14px,3vw,36px);top:-44px;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#EAF2FE,#5CA3FF 45%,#0A6CF0 80%,#075BCB);box-shadow:0 18px 36px rgba(7,91,203,.35),inset 0 2px 3px rgba(255,255,255,.5),inset 0 -4px 8px rgba(13,26,43,.35);transform:scale(1.6) rotate(-24deg);opacity:0;transition:transform .55s cubic-bezier(.3,1.4,.5,1),opacity .3s}
.imx-seal svg{width:100%;height:100%}
.imx-seal-o{fill:none;stroke:rgba(207,227,255,.55);stroke-width:1.5;stroke-dasharray:2 4}
.imx-seal-i{fill:none;stroke:rgba(7,91,203,.35);stroke-width:1.5}
.imx-seal-sh{fill:rgba(220,234,255,.35);stroke:rgba(7,91,203,.45);stroke-width:14;stroke-linejoin:round}
.imx-seal-sl{fill:#064EA6;opacity:.75}
.imx-seal.is-in{transform:rotate(-12deg);opacity:1}

/* ---------- 3) Weitere Hinweise: Überschrift links, Hinweise rechts ---------- */
.im-dark .container{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(40px,7vw,96px);align-items:start}
.im-dark .im-head{display:block;margin:0;position:sticky;top:calc(var(--header-h,80px) + 30px)}
.im-dark .im-notes{grid-template-columns:1fr;gap:0}
.im-dark .im-notes article{display:grid;grid-template-columns:46px minmax(0,1fr);column-gap:20px;padding:28px 0;border:0;border-top:1px solid rgba(92,163,255,.18);border-radius:0;background:transparent}
.im-dark .im-notes article:first-child{border-top:0;padding-top:4px}
.im-dark .im-notes article:hover{background:transparent}
.im-dark .im-notes .im-icon{grid-row:1/span 2;margin:0}
.im-dark .im-notes h3{margin:8px 0 10px}

@media(max-width:960px){
  .imx-x{right:-28%;height:520px;opacity:.55}
  .im-hero::after{background:linear-gradient(180deg,rgba(10,18,30,.55),rgba(10,18,30,.25))}
  .im-facts .im-card{grid-template-columns:46px minmax(0,1fr);grid-template-rows:auto auto auto}
  .im-facts .im-dl{grid-column:1/-1;grid-row:3;margin-top:18px}
  .im-dark .container{grid-template-columns:minmax(0,1fr);gap:28px}
  .im-dark .im-head{position:static}
}
@media(max-width:600px){
  .imx-x{right:-55%;height:440px;opacity:.45}
  .im-facts .im-bento{padding:14px 20px 16px}
  .im-facts .im-dl div{grid-template-columns:minmax(0,1fr);gap:2px}
  .imx-seal{width:78px;height:78px;top:-34px}
  .im-facts .im-card h3{font-size:1.35rem}
}
@media(prefers-reduced-motion:reduce){
  .imx-x *{animation:none!important}
  .imx-sheen{opacity:0}
  .imx-seal{transition:none!important}
  .im-facts .im-card.im-reveal{opacity:1;transform:none}
}
/* Feinschliff: X zurückhaltender, Siegel außerhalb der Angaben */
.imx-slash{opacity:.6}
.imx-glow{opacity:.28}
.imx-sh polygon{stroke:rgba(92,163,255,.3)}
.imx-seal{top:-50px;right:-26px}
@media(max-width:600px){.imx-seal{top:-40px;right:-8px}}
/* X stärker als Hintergrund: größer, angeschnitten, gedämpft */
.imx-x{height:min(135%,780px);right:max(-120px,calc(50% - 800px))}
.imx-slash{opacity:.38}
.imx-glow{opacity:.2}
.imx-sh polygon{stroke:rgba(92,163,255,.24)}
.imx-node{r:5}
.imx-beam{stroke-width:1.6}
/* Siegel: geprägtes X */
.imx-seal-x polygon{fill:rgba(7,91,203,.55)}
.imx-seal-x polygon:last-child{fill:rgba(7,91,203,.85)}
.imx-seal-hi polygon{fill:rgba(207,227,255,.55)}
.imx-seal.is-in{transform:rotate(-4deg)}
/* Kontaktkarte: lesbarer Text auf dunklem Grund, Abstand zum Button */
.im-contact .im-body{color:#B7C4D3}
.im-contact .btn{margin-top:22px}
.im-dark.im-section{padding-block:clamp(70px,8vw,110px)}
.im-facts{overflow-x:clip}
@media(max-width:1100px){.imx-seal{right:-6px}}
