/* NEXUS Unternehmensseite V1.4 – Ergänzung zu ../startseite/assets/style.css
   Signature-Element: Das X aus dem Logo setzt sich im Hero zusammen („nexus“ = Verbindung). */
:root{--co-ease:var(--ease,cubic-bezier(.2,.7,.2,1));--co-hell:var(--blau-hell,#5CA3FF);--co-zart:var(--blau-zart,#EAF2FE)}
.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(--blau)}

/* ================= HERO ================= */
.co-hero{position:relative;overflow:hidden;isolation:isolate;color:#fff;background:radial-gradient(ellipse at 76% 52%,#143A66 0%,rgba(13,26,43,0) 46%),linear-gradient(125deg,#0D1A2B,#0D213B)}
.co-hero-inner{padding:40px 0 clamp(72px,9vw,120px)}
.co-breadcrumb{display:flex;align-items:center;gap:12px;color:#8DA6C3;font-size:.9rem;margin-bottom:clamp(40px,6vw,72px)}
.co-breadcrumb a:hover{color:#fff}
.co-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,72px);align-items:center}
.co-hero .eyebrow{animation:coRise .8s var(--co-ease) .1s both}
.co-hero h1{font-size:clamp(2.7rem,4.9vw,4.7rem);line-height:1.06;letter-spacing:-.04em;font-weight:700;margin:6px 0 28px;animation:coRise 1s var(--co-ease) .18s both}
.co-hero h1 em{font-style:normal;color:#7AB5FF}
.co-hero-lead{color:#CFD8E4;font-size:clamp(1.05rem,1.4vw,1.2rem);line-height:1.75;max-width:36em;animation:coRise .9s var(--co-ease) .42s both}
.co-hero-bottom{display:flex;flex-wrap:wrap;gap:16px 40px;align-items:center;margin-top:48px;color:#A3B6CE;font-size:.95rem;animation:coRise .9s var(--co-ease) .56s both}
.co-hero-bottom>a{color:#DCEBFF;font-weight:650;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border:1px solid rgba(255,255,255,.22);border-radius:999px;transition:border-color .2s,background .2s}
.co-hero-bottom>a:hover{border-color:#fff;background:rgba(255,255,255,.06)}
.co-hero-bottom>a span{color:var(--co-hell);display:inline-block;transition:transform .25s var(--co-ease)}
.co-hero-bottom>a:hover span{transform:translateY(3px)}

/* Das X */
.co-mark{position:relative;margin:0;justify-self:center;width:100%;max-width:500px}
.co-mark-stage{position:relative;aspect-ratio:600/560}
.co-mark-beam{position:absolute;left:54%;top:49%;width:260%;height:2px;transform:translate(-50%,-50%) rotate(-42.8deg);background:linear-gradient(90deg,transparent 18%,rgba(120,180,255,.55) 50%,transparent 82%);box-shadow:0 0 22px rgba(58,140,255,.55);opacity:0;animation:coFade 1.4s var(--co-ease) 1.25s both;pointer-events:none}
.co-mark-svg{position:relative;width:100%;height:100%;overflow:visible}
.x-part{transition:transform .5s var(--co-ease)}
.x-part polygon{fill:url(#xGlass);stroke:rgba(255,255,255,.55);stroke-width:1.4;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.x-a{animation:coFromTL 1.1s var(--co-ease) .35s both}
.x-b{animation:coFromBR 1.1s var(--co-ease) .5s both}
.x-slash{transform-box:view-box;transform-origin:577px 487px;animation:coSlash 1s cubic-bezier(.7,0,.2,1) .95s both;transition:transform .5s var(--co-ease)}
.x-slash-core{fill:url(#xBlue)}
.x-slash-glow{fill:#1F7BFF;opacity:.75}
.x-node{fill:#fff;transform-box:fill-box;transform-origin:center;animation:coPop .6s var(--co-ease) 1.85s both}
.x-node-ring{fill:none;stroke:#9CC8FF;stroke-width:1.5;vector-effect:non-scaling-stroke;transform-box:fill-box;transform-origin:center;opacity:0;animation:coRing 1.6s ease-out 2.1s both}
.co-mark figcaption{display:flex;align-items:baseline;justify-content:center;gap:12px;margin-top:10px;color:#A3B6CE;font-size:.92rem;animation:coFade 1s ease 2.2s both}
.co-word{font-family:var(--serif);font-style:italic;font-size:1.5rem;color:#fff}

/* ================= IDEE & PRINZIPIEN ================= */
.co-intro{background:#fff}
.co-intro-layout{display:grid;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr);gap:9%;align-items:start}
.co-intro-text{padding-top:44px}
.co-intro-text p{color:var(--schiefer);line-height:1.8}
.co-intro-text p+p{margin-top:16px}
.co-principles{margin-top:64px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;position:relative}
.co-principles article{position:relative;background:var(--porzellan,#F3F5F8);border:1px solid #E0E8F1;border-radius:18px;padding:30px 28px 32px;overflow:hidden}
.co-principles article::after{content:"";position:absolute;right:-60px;bottom:-110px;width:200px;height:200px;border:1px solid #C9DDF5;border-radius:50%;transition:transform .5s var(--co-ease)}
.co-principles article:hover::after{transform:scale(1.12)}
.co-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:14px;background:#fff;border:1px solid #DCE8F7}
.co-icon svg{width:28px;height:28px;fill:none;stroke:var(--blau);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.co-principles h3{font-size:1.38rem;margin:26px 0 10px}
.co-principles p{color:var(--schiefer);font-size:.98rem;line-height:1.7;position:relative}

/* ================= GRÜNDER ================= */
.co-founder{background:var(--porzellan,#F3F5F8)}
.co-founder-shell{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:clamp(34px,7vw,110px);align-items:center}
.co-founder-content h2{margin:0 0 30px;max-width:18em}
.co-founder-content blockquote{position:relative;margin:0;padding:0 0 0 30px;border-left:2px solid var(--blau);max-width:40em;font-family:var(--serif);font-size:clamp(1.12rem,1.5vw,1.32rem);color:#263C56;line-height:1.68}
.co-founder-content blockquote p+p{margin-top:15px}
.co-signature{display:flex;align-items:flex-start;gap:16px;margin:28px 0 0 32px}
.co-signature-line{display:none}
.co-signature strong,.co-signature span{display:block}
.co-signature span{color:var(--schiefer);font-size:.9rem;margin-top:2px}
.co-founder-side{position:relative;margin:0;justify-self:end;width:100%}
.co-founder-side::before{content:"";position:absolute;inset:14px -14px 52px 14px;border:1.5px solid rgba(10,108,240,.35);border-radius:16px}
.co-founder-side img{position:relative;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:50% 16%;border-radius:16px;box-shadow:0 26px 60px rgba(14,34,57,.18)}
.co-founder-side figcaption{margin-top:18px;font-weight:650;line-height:1.4}
.co-founder-side figcaption span{font-weight:400;color:var(--schiefer);font-size:.88rem}

/* ================= ARBEITSWEISE (echte Abfolge) ================= */
.co-work{background:#fff}
.co-work-heading{max-width:840px}
.co-work-heading h2{margin-bottom:22px}
.co-work-heading>p:last-child{max-width:44em;color:var(--schiefer);line-height:1.75}
.co-work-grid{list-style:none;padding:0;margin:52px 0 0;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;position:relative}
.co-work-grid::before{content:"";position:absolute;left:44px;right:44px;top:50px;height:2px;background:linear-gradient(90deg,var(--blau),rgba(10,108,240,.15));z-index:0}
.co-work-card{position:relative;z-index:1;border:1px solid #DCE7F3;border-radius:18px;padding:30px 28px 32px;background:linear-gradient(160deg,#FFFFFF,#F1F6FC);transition:transform .35s var(--co-ease),box-shadow .35s}
.co-work-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(14,34,57,.1)}
.co-card-top{display:flex;align-items:center;gap:12px}
.co-step{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--blau);color:#fff;font-weight:700;box-shadow:0 0 0 6px #fff}
.co-card-index{font-size:.95rem;font-weight:650;color:var(--blau)}
.co-card-symbol{display:grid;place-items:center;width:52px;height:52px;margin-top:28px;border-radius:14px;background:var(--co-zart)}
.co-card-symbol svg{width:28px;height:28px;fill:none;stroke:var(--blau);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.co-work-card h3{font-size:1.35rem;margin:22px 0 9px}
.co-work-card p{color:var(--schiefer);font-size:.98rem;line-height:1.7}

/* ================= PRODUKTWELT ================= */
.co-solutions{background:#0E1D31;color:#fff;position:relative;overflow:hidden}
.co-solutions::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 50%,rgba(10,108,240,.22),transparent 46%);pointer-events:none}
.co-solutions-layout{display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:8%;align-items:center;position:relative}
.co-solutions h2{margin:0 0 26px}
.co-solutions h2 em{color:#83B8FF}
.co-solutions p:not(.eyebrow){color:#B8C8DA;max-width:36em;line-height:1.8;margin-bottom:32px}
.co-solutions-diagram{display:grid;grid-template-columns:auto 1fr;align-items:center}
.co-diagram-hub{position:relative;display:flex;flex-direction:column;align-items:center;gap:10px;padding-right:44px;font-size:.85rem;font-weight:700;letter-spacing:.2em;color:#7AB5FF}
.co-diagram-hub::after{content:"";position:absolute;right:0;top:15px;width:44px;height:2px;background:var(--co-hell);transform-origin:left;transform:scaleX(0);transition:transform .5s var(--co-ease)}
.co-hub-dot{width:30px;height:30px;border-radius:50%;background:radial-gradient(circle,#fff 0 22%,var(--blau) 24%);box-shadow:0 0 0 6px rgba(10,108,240,.18),0 0 36px var(--blau)}
.co-solutions-diagram ul{list-style:none;margin:0;padding:0 0 0 36px;position:relative;display:grid;gap:16px}
.co-solutions-diagram ul::before{content:"";position:absolute;left:0;top:38px;bottom:38px;width:2px;background:linear-gradient(var(--co-hell),var(--blau));transform-origin:center;transform:scaleY(0);transition:transform .6s var(--co-ease) .35s}
.co-solutions-diagram li{position:relative;border:1px solid rgba(126,175,224,.3);background:rgba(255,255,255,.04);padding:18px 22px;border-radius:14px;opacity:0;transform:translateX(12px);transition:opacity .5s var(--co-ease),transform .5s var(--co-ease),border-color .25s,background .25s}
.co-solutions-diagram li::before{content:"";position:absolute;left:-37px;top:50%;width:36px;height:2px;background:var(--co-hell);transform-origin:left;transform:scaleX(0);transition:transform .45s var(--co-ease)}
.co-solutions-diagram li::after{content:"";position:absolute;left:-6px;top:calc(50% - 4px);width:10px;height:10px;border-radius:50%;background:#0E1D31;border:2px solid var(--co-hell)}
.co-solutions-diagram li:hover{border-color:#6FBBFF;background:rgba(255,255,255,.07)}
.co-solutions-diagram li span{display:block;color:#A8C0D9;font-size:.9rem}
.co-solutions-diagram li strong{display:block;font-size:1.2rem;margin-top:2px}
.co-solutions-diagram.is-visible .co-diagram-hub::after{transform:scaleX(1)}
.co-solutions-diagram.is-visible ul::before{transform:scaleY(1)}
.co-solutions-diagram.is-visible li{opacity:1;transform:none}
.co-solutions-diagram.is-visible li::before{transform:scaleX(1)}
.co-solutions-diagram.is-visible li:nth-child(1){transition-delay:.7s,.7s,0s,0s}.co-solutions-diagram.is-visible li:nth-child(1)::before{transition-delay:.6s}
.co-solutions-diagram.is-visible li:nth-child(2){transition-delay:.85s,.85s,0s,0s}.co-solutions-diagram.is-visible li:nth-child(2)::before{transition-delay:.75s}
.co-solutions-diagram.is-visible li:nth-child(3){transition-delay:1s,1s,0s,0s}.co-solutions-diagram.is-visible li:nth-child(3)::before{transition-delay:.9s}

/* ================= FAKTEN ALS UNTERNEHMENSKARTE ================= */
.co-facts{background:var(--porzellan,#F3F5F8)}
.co-facts-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9%;align-items:center}
.co-facts h2{margin:0 0 20px}
.co-facts p:not(.eyebrow){color:var(--schiefer);max-width:34em}
.co-idcard{position:relative;overflow:hidden;border-radius:24px;padding:30px 32px 26px;color:#fff;background:linear-gradient(145deg,#17304F 0%,#0D1A2B 60%,#0A1524 100%);box-shadow:0 40px 80px rgba(13,26,43,.25),inset 0 1px 0 rgba(255,255,255,.12)}
.co-idcard::before{content:"";position:absolute;width:3px;height:180%;left:62%;top:-40%;transform:rotate(42.8deg);background:linear-gradient(transparent,rgba(92,163,255,.65),transparent);box-shadow:0 0 30px rgba(58,140,255,.6);pointer-events:none}
.co-idcard::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.07) 48%,transparent 60%);pointer-events:none}
.co-idcard-top{position:relative;display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.co-idcard-top img{width:150px}
.co-idcard-chip{width:44px;height:34px;border-radius:8px;background:linear-gradient(135deg,#BFD9FF,#5CA3FF 55%,#0A6CF0);box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.co-idcard .co-facts-list{position:relative;margin:0;border:0}
.co-idcard .co-facts-list>div{display:flex;justify-content:space-between;align-items:baseline;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.1)}
.co-idcard dt{color:#9FB3CA;font-size:.9rem}
.co-idcard dd{margin:0;font-weight:650;text-align:right}
.co-idcard-foot{position:relative;display:flex;justify-content:space-between;gap:16px;margin-top:18px;font-size:.84rem;color:#8FA7C2!important;font-variant-numeric:tabular-nums}

/* ================= KONTAKT ================= */
.co-contact{background:#fff}
.co-contact-panel{position:relative;overflow:hidden;background:#0F2138;border-radius:24px;color:#fff;padding:clamp(38px,5vw,64px) clamp(25px,5vw,72px);display:flex;align-items:center;justify-content:space-between;gap:40px}
.co-contact-panel::after{content:"";position:absolute;right:-140px;bottom:-190px;width:420px;height:420px;border:1px solid #3162A2;border-radius:50%;pointer-events:none}
.co-contact-panel h2{margin:0 0 16px;color:#fff}
.co-contact-panel p:not(.eyebrow){color:#B9C8DB;max-width:36em}
.co-contact-action{position:relative;z-index:1;display:flex;flex-direction:column;gap:18px;flex-shrink:0}
.co-contact-person{display:flex;align-items:center;gap:14px}
.co-contact-person img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:50% 18%;border:2px solid rgba(92,163,255,.6)}
.co-contact-person strong,.co-contact-person span{display:block}
.co-contact-person span{font-size:.88rem;color:#AFBDCD}

/* ================= Animationen ================= */
@keyframes coRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes coFade{from{opacity:0}to{opacity:1}}
@keyframes coFromTL{from{opacity:0;transform:translate(-70px,-70px)}to{opacity:1;transform:none}}
@keyframes coFromBR{from{opacity:0;transform:translate(70px,70px)}to{opacity:1;transform:none}}
@keyframes coSlash{from{transform:scale(0)}to{transform:scale(1)}}
@keyframes coPop{from{transform:scale(0)}60%{transform:scale(1.4)}to{transform:scale(1)}}
@keyframes coRing{0%{opacity:.9;transform:scale(.6)}100%{opacity:0;transform:scale(3.2)}}

/* ================= Responsive ================= */
@media(max-width:1000px){
  .co-hero-grid{grid-template-columns:1fr}
  .co-mark{max-width:380px;justify-self:start;order:-1;margin-bottom:8px}
}
@media(max-width:900px){
  .co-intro-layout,.co-solutions-layout,.co-facts-layout{grid-template-columns:1fr;gap:32px}
  .co-intro-text{padding-top:0}
  .co-principles{grid-template-columns:1fr 1fr}
  .co-principles article:last-child{grid-column:1/-1}
  .co-work-grid{grid-template-columns:1fr;gap:18px}
  .co-work-grid::before{left:48px;right:auto;top:40px;bottom:40px;width:2px;height:auto;background:linear-gradient(var(--blau),rgba(10,108,240,.15))}
  .co-founder-shell{grid-template-columns:minmax(0,1fr) 190px;gap:32px}
  .co-contact-panel{flex-direction:column;align-items:flex-start}
  .co-solutions-diagram{max-width:560px}
  .co-idcard{max-width:560px}
}
@media(max-width:600px){
  .co-hero-inner{padding-top:26px}
  .co-breadcrumb{margin-bottom:28px}
  .co-mark{max-width:250px}
  .co-mark figcaption{justify-content:flex-start;flex-wrap:wrap;gap:4px 10px}
  .co-hero h1{font-size:clamp(2.3rem,10vw,3.2rem)}
  .co-hero-bottom{margin-top:34px}
  .co-principles{grid-template-columns:1fr;margin-top:40px}
  .co-principles article:last-child{grid-column:auto}
  .co-founder-shell{grid-template-columns:1fr}
  .co-founder-side{width:170px;justify-self:start;grid-row:1}
  .co-founder-content blockquote{padding-left:20px}
  .co-signature{margin-left:22px}
  .co-solutions-diagram{grid-template-columns:1fr;gap:18px}
  .co-diagram-hub{flex-direction:row;padding-right:0}
  .co-diagram-hub::after{display:none}
  .co-idcard{padding:24px 20px 20px}
  .co-idcard .co-facts-list>div{flex-direction:column;gap:2px}
  .co-idcard dd{text-align:left}
  .co-idcard-foot{flex-direction:column;gap:2px}
  .co-contact-action{width:100%}
  .co-contact-action .btn{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .co-hero *,.co-mark *{animation:none!important}
  .x-node-ring{opacity:0}
  .co-solutions-diagram li,.co-solutions-diagram li::before,.co-solutions-diagram ul::before,.co-diagram-hub::after{transition:none!important}
}
